diff --git a/.circleci/config.yml b/.circleci/config.yml index 4706bb5052..cb8c31b22b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -240,10 +240,10 @@ jobs: build_marlin_pio ./ ${TEST_PLATFORM} restore_configs echo testing STM32F1 targets... - export TEST_PLATFORM="-e STM32F1" + export TEST_PLATFORM="-e STM32F103R" restore_configs - echo use_example_configs STM32/STM32F10 - use_example_configs STM32/STM32F10 + echo use_example_configs STM32/STM32F103R + use_example_configs STM32/STM32F103R build_marlin_pio ./ ${TEST_PLATFORM} restore_configs echo use_example_configs STM32/stm32f103ret6 diff --git a/.travis.yml b/.travis.yml index 18f6e22b75..cfd6a67556 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,18 +9,46 @@ notifications: email: false env: - - TEST_PLATFORM="megaatmega2560" + # Base Environments - TEST_PLATFORM="DUE" + - TEST_PLATFORM="esp32" + - TEST_PLATFORM="linux_native" - TEST_PLATFORM="LPC1768" - TEST_PLATFORM="LPC1769" - - TEST_PLATFORM="STM32F1" + - TEST_PLATFORM="megaatmega2560" + - TEST_PLATFORM="STM32F103R" - TEST_PLATFORM="teensy31" - TEST_PLATFORM="teensy35" - - TEST_PLATFORM="linux_native" - - TEST_PLATFORM="esp32" - - TEST_PLATFORM="alfawise_U20" - - TEST_PLATFORM="black_stm32f407ve" - - TEST_PLATFORM="adafruit_grandcentral_m4" + + # Extended AVR Environments + - TEST_PLATFORM="fysetc_f6_13" + - TEST_PLATFORM="megaatmega1280" + - TEST_PLATFORM="rambo" + - TEST_PLATFORM="sanguino_atmega1284p" + - TEST_PLATFORM="sanguino_atmega644p" + + # Extended STM32 Environments + - TEST_PLATFORM="ARMED" + - TEST_PLATFORM="BIGTREE_BTT002" + - TEST_PLATFORM="BIGTREE_SKR_PRO" + - TEST_PLATFORM="STM32F103R_bigtree" + - TEST_PLATFORM="jgaurora_a5s_a1" + - TEST_PLATFORM="STM32F103V_longer" + - TEST_PLATFORM="STM32F407VE_black" + + # Non-working environment tests + #- TEST_PLATFORM="at90usb1286_cdc" + #- TEST_PLATFORM="at90usb1286_dfu" + #- TEST_PLATFORM="malyanm200" + #- TEST_PLATFORM="mks_robin" + #- TEST_PLATFORM="mks_robin_lite" + #- TEST_PLATFORM="mks_robin_mini" + #- TEST_PLATFORM="mks_robin_nano" + #- TEST_PLATFORM="SAMD51_grandcentral_m4" + #- TEST_PLATFORM="STM32F103R_bigtree" + #- TEST_PLATFORM="STM32F103R_fysetc" + #- TEST_PLATFORM="STM32F4" + #- TEST_PLATFORM="STM32F7" before_install: # diff --git a/CR-X_Stock__1.70_Screen.7z b/CR-X_Stock__1.70_Screen.7z deleted file mode 100644 index 7d4c409e61..0000000000 Binary files a/CR-X_Stock__1.70_Screen.7z and /dev/null differ diff --git a/CR10Max_BIL_DW3.hex b/CR10Max_BIL_DW3.hex deleted file mode 100644 index 5184e7d5fe..0000000000 --- a/CR10Max_BIL_DW3.hex +++ /dev/null @@ -1,9606 +0,0 @@ -:100000000C941D1D0C944E1D0C944E1D0C944E1DF5 -:100010000C944E1D0C944E1D0C944E1D0C944E1DB4 -:100020000C944E1D0C944E1D0C944E1D0C944E1DA4 -:100030000C944E1D0C944E1D0C944E1D0C944E1D94 -:100040000C944E1D0C9474880C944E1D0C944E1DF3 -:100050000C944E1D0C944E1D0C941BDD0D94510EF2 -:100060000C944E1D0C94CB5A0C94C15A0C944E1DFA -:100070000C944E1D0C944E1D0C944E1D0C944E1D54 -:100080000C947C520C944E1D0C944E1D0C944E1DE1 -:100090000C944E1D0C944E1D0C944E1D0C944E1D34 -:1000A0000C944E1D0C944E1D0C944E520C944E1DEF -:1000B0000C944E1D0C944E1D0C944E1D0C9420520D -:1000C0000C944E1D0C944E1D0C944E1D0C94705DA2 -:1000D0000C94465D0C944E1D0C944E1D0C944E1DBC -:1000E0000C944E1DFD1E431F491F701F7D1F861F50 -:1000F000911F5527752851298429E134E1349F2A1D -:10010000422B5128E134E134DF2C782EB02EE1343B -:10011000AE30E134E134FF31E134E1348932BC32D4 -:10012000E1343833F433BF2EC72EEB2E0F2F432F7D -:10013000E62FFA2F133020302D304130FE5A045B69 -:10014000165B265B2E5B5B5B325B5B5B365B3A5B15 -:100150005B5B3E5B425B465B4E5B5B5B585B77C6C3 -:1001600099C6B9C6DEC603C7BAC828C74BC76EC78B -:1001700093C7B8C7DDC702C827C8BAC84CC871C87A -:1001800096C848CA4BCA4FCA52CA55CA7FCA59CA2A -:100190005CCA60CA63CA66CA6ACA6DCA70CA7FCAC4 -:1001A00074CA77CA7ACAFBFAFEFAEDFAF1FAF7FADC -:1001B00035FB02FB06FB0CFB10FB14FB1AFB1EFBC2 -:1001C00022FB35FB28FB2CFB30FBFB0113026901F2 -:1001D0004D01EF01D90195017901B1019701E701C5 -:1001E0000D02C901D101D90133019B015701084A10 -:1001F000D73B3BCE016E84BCBFFDC12F3D6C74313B -:100200009ABD56833DDA3D00C77F11BED9E4BB4C91 -:100210003E916BAAAABE000000803F05A84CCDB25B -:10022000D44EB93836A9020C50B9918688083CA63C -:10023000AAAA2ABE000000803F000C94B02E0C94A5 -:10024000701F0C9455CA0C94AE300C94BC320C94B4 -:10025000FE5A0C946ACA0C94DDC70C94365B0C945D -:1002600020300C94585C0D9486000C940CFB0C947C -:1002700028FB0C94B9C60C9428C70C94DEC60C94C9 -:10028000BF2E0C94C15B0C942D300C942CFB0C9461 -:10029000EDFA0C9403C70C94205C0D9421000C948F -:1002A000861F0C9484290C944FCA0C9474CA0D9424 -:1002B0009A000C94422B0C94782E0C9471C80C94D8 -:1002C00006FB0C9413300C94265B0C94FD1E0C94CE -:1002D0000F2F0D9417000C94911F0C94BAC80C9416 -:1002E00070CA0C94EF5B0C94C72E0C94F4330C94EE -:1002F000EB2E0D943D000C94B8C70C9427C80C94B9 -:1003000055270C9438330C94165B0C94491F0C94AD -:1003100093C70C94432F0C94A55C0C9475280C94F3 -:1003200052CA0D94FC170C9463CA0D9435000D94B9 -:100330004F000C94E1340D9490000C949F2A0C947F -:1003400066CA0C9402FB0C9430FB0C942E5B0C944C -:1003500051290C945B5B0C94465B0C94FA2F0C9423 -:10036000FE5B0D9445000C94425B0C941AFB0D94BB -:1003700057170C9460CA0C943A5B0C94FF310C94A0 -:10038000F1FA0C944CC80C941EFB0C9496C80C9477 -:1003900022FB0D9472000C944E5B0C947D1F0C9408 -:1003A00035FB0D947C000C946DCA0C9477CA0C94A8 -:1003B000FEFA0D94A4000C943E5B0C946EC70C9452 -:1003C000585B0C9402C80C94431F0C94325B0D9440 -:1003D00059000C9451280C94045B0C9448CA0D9459 -:1003E0002B000C9477C60C94125C0C94E62F0C94A2 -:1003F00041300C94DF2C0D940D000C945CCA0C94CD -:100400004BC70C9459CA0C947FCA0C944BCA0C94D9 -:1004100089320C9499C60C9414FB0D9463000C94CF -:1004200010FB0C94FBFA0D9412000C94F7FA0C9448 -:100430007ACA4E414E494E495459494E46CDCCCCCC -:100440003D0AD7233C17B7D13877CC2B329595E6A8 -:10045000241FB14F0A000020410000C84200401C88 -:100460004620BCBE4CCA1B0E5AAEC59D7400407AD5 -:1004700010F35A00A0724E18090010A5D4E800002D -:10048000E87648170000E40B54020000CA9A3B00CB -:100490000000E1F505000080969800000040420F42 -:1004A000000000A08601000000102700000000E806 -:1004B00003000000006400000000000A00000000CB -:1004C000000100000000002C76D888DC674F08236C -:1004D000DFC1DFAE59E1B1B796E5E3E453C63AE6D2 -:1004E00051997696E8E6C28426EB898C9B62ED40B2 -:1004F0007C6FFCEFBC9C9F40F2BAA56FA5F4900501 -:100500005A2AF75C936B6CF9676DC11BFCE0E40D34 -:1005100047FEF520E6B500D0ED902E030094357728 -:10052000050080841E080000204E0A000000C80C50 -:10053000333333330F986E12831141EF8D211489B9 -:100540003BE65516CFFEE6DB18D1844B381BF77C13 -:100550001D901DA4BBE424203284725E228100C958 -:10056000F124ECA1E53D274D323520500A4D3234BF -:10057000005072696E742050617573656400526535 -:1005800073756D65005549205061757365004E6F38 -:10059000204D61746368203A004D333033452D316E -:1005A000533635433455004D393939004D353032E5 -:1005B0000A4D353030004D3330334530533231350C -:1005C000433855000A202A2A2A7265636461742E12 -:1005D000646174615B305D203D004732380A473109 -:1005E000204631303030205A313000556E737570EE -:1005F000706F72746564204F7074696F6E205365FC -:100600006C6563746564004D3139305335350A4784 -:1006100032380A4732390A4D3430300A4D313034DD -:10062000533231350A4732380A4D3130395332317D -:10063000350A4D34323053310A4731583130305950 -:1006400031303046353030300A47315A300A4D3576 -:1006500030300A4D31313720536574205A204F66AF -:1006600066736574004731204631303030205A308F -:100670002E30004732380A473120463130303020A2 -:100680005A302E30004D353030005A204F66667398 -:100690006574203A202573004D353030005A204FC4 -:1006A0006666736574203A202573004732385A0A0B -:1006B000473146313530305A302E30004732380A13 -:1006C000473146313530305A302E30004D38340005 -:1006D000473146313030305A302E30004732380AF8 -:1006E000473146313030305A302E30005A204F6674 -:1006F00066736574203A202573004D353030004D07 -:10070000383400426567696E5377697463680072B4 -:1007100065636461742E61646472203D3D0072659E -:10072000636461742E646174615B305D203D3D00E3 -:1007300077616974776179203D3D000A202A2A2A71 -:100740004E6F7A7A6C6554656D705374617475730D -:100750005B325D203D00434F4D4D554E4943415462 -:10076000494F4E0044525952554E004552524F5235 -:100770005300494E464F004543484F0047322F47EC -:10078000332062616420706172616D65746572739B -:100790000A00536C6565702E2E2E005A2050726F21 -:1007A00062652050617374204265640A005A2050CB -:1007B000726F626520506173742042656400486FF7 -:1007C0006D652058592046697273740A00486F6D30 -:1007D00065205859204669727374004D31313720B5 -:1007E00050726F6265206661696C65642E0A4732DB -:1007F000380A0070726F62655F72657769706500B4 -:10080000473239205265747279696E670050726F91 -:1008100062696E67204661696C6564004D313137ED -:1008200020426564206C6576656C696E6720666140 -:10083000696C65642E0A4730205A31300A4D3330D6 -:10084000302050323520533838300A4D3330302084 -:100850005035302053300A4D33303020503235205F -:10086000533838300A4D3330302050353020533033 -:100870000A4D3330302050323520533838300A4D4D -:10088000333030205035302053300A473420533134 -:100890000070726F62655F6661696C6564004D31FE -:1008A000313720426564206C6576656C696E67201F -:1008B000646F6E652E00205A3A200020593A2000BD -:1008C00042656420583A20004D65736820706F6956 -:1008D0006E742063616E6E6F742062652072657342 -:1008E0006F6C7665640A004E6F204D6F76652E0042 -:1008F000456E642066696C65206C6973740A0042F9 -:100900006567696E2066696C65206C6973740A009E -:10091000526573756D6520534400286E6F206669BB -:100920006C65290043757272656E742066696C652A -:100930003A20002E0A0044656C6574696F6E20666B -:1009400061696C65642C2046696C653A20004669D3 -:100950006C652064656C657465643A005072696EFC -:10096000742074696D653A20000A53746174733A97 -:100970002046696C616D656E7420757365643A20FC -:10098000002C204C6F6E67657374206A6F623A208A -:1009900000546F74616C2074696D653A2000537463 -:1009A0006174733A20002C204661696C65643A20BA -:1009B000002C2046696E69736865643A20005072A5 -:1009C000696E74733A200053746174733A20004561 -:1009D00020436F6F6C696E672E2E2E004520486590 -:1009E0006174696E672E2E2E006F6666007707723F -:1009F000076B076407560744454255473A004D3197 -:100A0000313320530042656420436F6F6C696E6719 -:100A10002E2E2E004265642048656174696E672E33 -:100A20002E2E006F6B004348414D4245525F5445A6 -:100A30004D5045524154555245004D4F54494F4E2B -:100A40005F4D4F44455300544845524D414C5F5013 -:100A5000524F54454354494F4E004155544F52450F -:100A6000504F52545F53445F5354415455530050B8 -:100A7000524F4D50545F535550504F525400454DB6 -:100A8000455247454E43595F5041525345520043EA -:100A90004153455F4C494748545F42524947485487 -:100AA0004E45535300544F47474C455F4C494748C8 -:100AB000545300534F4654574152455F504F57458A -:100AC00052004255494C445F50455243454E5400F4 -:100AD0004C4556454C494E475F44415441005A5F8E -:100AE00050524F4245004155544F4C4556454C00DD -:100AF0005052494E545F4A4F420050524F47524560 -:100B00005353004155544F5245504F52545F544532 -:100B10004D5000564F4C554D4554524943004545A4 -:100B200050524F4D0042494E4152595F46494C4543 -:100B30005F5452414E534645520053455249414C31 -:100B40005F584F4E5F584F4646004649524D5741F9 -:100B500052455F4E414D453A4D61726C696E20328F -:100B60002E305F44573320544D33442035534D4489 -:100B7000424220534F555243455F434F44455F55D2 -:100B8000524C3A68747470733A2F2F6769746875A1 -:100B9000622E636F6D2F496E73616E697479417552 -:100BA000746F6D6174696F6E2F4D61726C696E2F19 -:100BB000747265652F437265616C6974795F4D610C -:100BC000726C696E322E302E782050524F544F4343 -:100BD0004F4C5F56455253494F4E3A312E30204DBF -:100BE000414348494E455F545950453A544D33446A -:100BF000204D61782045585452554445525F434F2B -:100C0000554E543A3120555549443A63656465322E -:100C10006132662D343161322D343734382D3962EA -:100C200031322D6335356336326633363766660AC0 -:100C3000002F2F20003F4A206F7574206F662072AE -:100C4000616E67652028302E303120746F20302E81 -:100C500033290A0020466C6F773A200050726F7477 -:100C600065637465642050696E0A00206F75742096 -:100C70006F662072616E67650A00536572766F2039 -:100C8000003A200020536572766F200050726F6228 -:100C900065205A204F66667365743A2000496E7667 -:100CA000616C69642065787472756465720A0020ED -:100CB000643A0020693A0020703A0020643A00202B -:100CC000693A0020703A0064697300656E00432938 -:100CD0000A0061626C656420286D696E2074656D20 -:100CE000702000436F6C642065787472756465735E -:100CF0002061726520004F4646004F4E0046696CE9 -:100D0000616D656E742072756E6F757420646973A1 -:100D100074616E636520286D6D293A200046696C08 -:100D2000616D656E742072756E6F757420004D650F -:100D3000736820706F696E742063616E6E6F7420CB -:100D40006265207265736F6C7665640A004D34329B -:100D50003120696E636F72726563742070617261B5 -:100D60006D657465722075736167650A004F66660C -:100D700073657473204170706C69656400457272AC -:100D80003A20546F6F206661722100546F6F2066A5 -:100D900061722066726F6D207265666572656E6342 -:100DA0006520706F696E740A00454550524F4D20A2 -:100DB0004F4B0A004572726F722077726974696EC8 -:100DC0006720746F20454550524F4D210A00363739 -:100DD00026033C3D380E2E303E131A1C1808440AD8 -:100DE000FF430809070001627573793A2070617545 -:100DF00073656420666F7220696E7075740A006294 -:100E00007573793A2070617573656420666F72201E -:100E1000757365720A00627573793A2070726F6338 -:100E2000657373696E670A007061757365004D368E -:100E30003030200A204D313137200A002066696C9D -:100E4000616D656E745F72756E6F75742000666992 -:100E50006C616D656E745F72756E6F757420540091 -:100E600046696C616D656E7452756E6F7574205451 -:100E70000053544F505045442E20005072696E74F8 -:100E800065722073746F707065642064756520747A -:100E90006F206572726F72732E20466978207468B5 -:100EA00065206572726F7220616E642075736520B3 -:100EB0004D39393920746F20726573746172742EE4 -:100EC000202854656D706572617475726520697350 -:100ED0002072657365742E205365742069742061D7 -:100EE000667465722072657374617274696E6729C5 -:100EF0000A004E6F20436865636B73756D207769D8 -:100F00007468206C696E65206E756D6265722C2048 -:100F10004C617374204C696E653A20004E6F20431B -:100F20006865636B73756D2077697468206C696E92 -:100F300065206E756D6265722C204C617374204C57 -:100F4000696E653A2000636865636B73756D206D2B -:100F500069736D617463682C204C617374204C69F3 -:100F60006E653A20004C696E65204E756D62657243 -:100F7000206973206E6F74204C617374204C696E0D -:100F800065204E756D6265722B312C204C61737437 -:100F9000204C696E653A20004D313130007761692F -:100FA000740A004D313137004D3331005344207203 -:100FB000656164206572726F720A00446F6E65200D -:100FC0007072696E74696E672066696C650A004BA1 -:100FD000494C4C2063617573656420627920746F9D -:100FE0006F206D75636820696E6163746976652032 -:100FF00074696D65202D2063757272656E7420634F -:101000006F6D6D616E643A20002020506C616E6ED1 -:10101000657242756666657242797465733A20003E -:101020002046726565204D656D6F72793A200043E8 -:101030006F6D70696C65643A2053657020203820AC -:10104000323031390A00207C20417574686F723A61 -:101050002054696E794D616368696E657333440A23 -:1010600000323031392D30372D333000204C617350 -:101070007420557064617465643A2000322E305FCC -:101080004457330A004D61726C696E0020536F66DD -:1010900074776172652052657365740A0020576128 -:1010A000746368646F672052657365740A00204238 -:1010B000726F776E206F75742052657365740A00C5 -:1010C0002045787465726E616C2052657365740A90 -:1010D00000506F77657255700A0073746172740AFC -:1010E000006175746F25632E67006572726F7220E0 -:1010F00077726974696E6720746F2066696C650A1F -:1011000000446F6E6520736176696E672066696C56 -:10111000652E0A004D323900205A3A0020593A0013 -:1011200020583A00656E6473746F70732068697438 -:101130003A200047323858590043616E6E6F742070 -:101140006F70656E2073756264697220005344206D -:1011500063617264206F6B0A006F70656E526F6F0F -:1011600074206661696C65640A00766F6C756D65E4 -:101170002E696E6974206661696C65640A00534467 -:1011800020696E6974206661696C0A004D32340012 -:101190004D32332025730057726974696E6720746D -:1011A0006F2066696C653A20002E0A006F70656ECC -:1011B000206661696C65642C2046696C653A200084 -:1011C0002E0A006F70656E206661696C65642C2064 -:1011D00046696C653A200046696C652073656C65EC -:1011E000637465640A002053697A653A2000466991 -:1011F0006C65206F70656E65643A20006672657379 -:101200006800646F696E67002066696C653A20004B -:101210004E6F772000454E4420535542524F55544F -:10122000494E450A002220706F73002220706172BF -:10123000656E743A2200535542524F5554494E45FB -:101240002043414C4C207461726765743A220074EB -:101250007279696E6720746F2063616C6C2073759E -:10126000622D67636F64652066696C6573207769BA -:10127000746820746F6F206D616E79206C6576657F -:101280006C732E204D4158206C6576656C20697317 -:101290003A310A005344207072696E74696E672097 -:1012A0006279746520004E6F742053442070726917 -:1012B0006E74696E670A00496E76616C69642065B8 -:1012C000787472756465720A007C3C3E5E2B3D3F0B -:1012D0002F5B5D3B2C2A225C00486F6D65202573D7 -:1012E00025732573204669727374002046697273F2 -:1012F000740A00486F6D652000220A00556E6B6EFF -:101300006F776E20636F6D6D616E643A20220020EE -:10131000746F6F206C6F6E67206578747275736977 -:101320006F6E2070726576656E7465640A00206366 -:101330006F6C6420657874727573696F6E2070725B -:101340006576656E7465640A004D32383020503021 -:10135000205339300050726F62696E6720506F6998 -:101360006E742025692F2569002E0A002F00507207 -:101370006F62696E67206D65736820706F696E7447 -:101380002000202844525952554E29004732392016 -:101390004175746F20426564204C6576656C696E9A -:1013A00067003F20284C2C522C462C4229206F7578 -:1013B00074206F6620626F756E64732E0A003F287A -:1013C00056296572626F7365206C6576656C20695D -:1013D0007320696D706C61757369626C652028306B -:1013E0002D34292E0A00426164205A2076616C75E2 -:1013F000650A004E6F2062696C696E6561722067D4 -:101400007269640A0046696E6973686564210A003E -:10141000206F662000205A00205900476F696E67D0 -:1014200020746F3A20580043570A00206469723ACA -:101430000020616E676C653A0053746172742072AB -:1014400061646975733A00506F736974696F6E698E -:101450006E67207468652070726F62652E2E2E0A8A -:10146000003F4E756D626572206F66206C65677314 -:1014700020696E206D6F76656D656E74206E6F7479 -:1014800020706C61757369626C652028302D313570 -:10149000292E0A003F2028582C5929206F757420C6 -:1014A0006F6620626F756E64732E0A003F53616D24 -:1014B000706C652073697A65206E6F7420706C6142 -:1014C000757369626C652028342D3530292E0A0029 -:1014D0004D3438205A2D50726F6265205265706508 -:1014E00061746162696C69747920546573740A006F -:1014F0003F2856296572626F7365206C6576656C4E -:1015000020697320696D706C61757369626C652008 -:1015100028302D34292E0A0053544F502063616C1B -:101520006C65642062656361757365206F66204237 -:101530004C546F756368206572726F72202D207233 -:101540006573746172742077697468204D39393914 -:101550000A0053544F502063616C6C6564206265CF -:101560006361757365206F6620424C546F756368C4 -:10157000206572726F72202D2072657374617274AF -:101580002077697468204D3939390A002F2F61633B -:1015900074696F6E3A00627574746F6E00656E6484 -:1015A0000070726F6D70745F0073686F77004D38F4 -:1015B000373620526573706F6E64696E67205052C3 -:1015C0004F4D50545F00554E4B4E4F574E20535485 -:1015D0004154450047434F44455F494E464F004CF8 -:1015E00043445F50415553455F524553554D450067 -:1015F00046494C414D454E545F52554E4F55545FF0 -:10160000434F4E54494E55450046494C414D454E79 -:10161000545F52554E4F5554004D323400436F6E57 -:1016200074696E75650044697361626C6552756EAC -:101630006F7574005075726765204D6F726500504C -:1016400061757365640070617573656400486F74DB -:10165000656E6420746F6F20636F6C640A00506164 -:1016600075736500507265737320627574746F6E64 -:1016700020286F72204D3130382920746F20726518 -:1016800073756D650A00496E736572742066696CC6 -:10169000616D656E7420616E642070726573732075 -:1016A000627574746F6E20286F72204D3130382946 -:1016B0000A00436F6E74696E7565005265686561F6 -:1016C0007420446F6E6500526568656174696E6769 -:1016D0002E2E2E00526568656174696E670048653C -:1016E0006174657254696D656F75740052656865E3 -:1016F00061740048656174657254696D656F7574D5 -:1017000000507265737320627574746F6E20286F59 -:1017100072204D3130382920746F20686561742043 -:101720006E6F7A7A6C650A004E6F7A7A6C6520501B -:1017300061726B656400436F6E74696E7565004E0F -:101740006F7A7A6C65205061726B656400486F74C3 -:10175000656E6420746F6F20636F6C640A0072653D -:1017600073756D656400626567696E00436F6E74C2 -:10177000696E75650044697361626C6552756E6F60 -:1017800075740050757267654D6F726500506175B4 -:10179000736564004C6F61642046696C616D656EB1 -:1017A0007400436F6E74696E7565004C6F616420E0 -:1017B00046696C616D656E74205400496E73657284 -:1017C000742066696C616D656E7420616E64207052 -:1017D0007265737320627574746F6E20286F722047 -:1017E0004D313038290A00526573756D650024F457 -:1017F000D43050C38E20C2A24017828B7011127A4F -:10180000910D816CD90AA861E108C758660761513A -:1018100043061E4B5D05C145A7041A411104093D4D -:101820009803713931034036DB0265339102D430BD -:101830005402802E1D02632CEE01752AC501B028CA -:10184000A001102781018F2564012B244B01E02288 -:101850003401AC211F018D200D01801FFC00841E6E -:10186000ED00971DDF00B81CD200E61BC600201B50 -:10187000BC00641AB200B219A8000A19A0006A18C4 -:101880009900D117910040178B00B51684003116CE -:101890007E00B31579003A157300C7146F00581411 -:1018A0006A00EE1366008813630025135E00C712FA -:1018B0005B006C12570015125400C11151007011D9 -:1018C0004F0021114B00D61049008D1047004610E3 -:1018D000440002104200C00F4000800F3E00420F43 -:1018E0003C00060F3B00CB0E3800930E37005C0E19 -:1018F0003500270E3400F30D3200C10D3100900D7C -:101900003000600D2E00320D2D00050D2C00D90C7D -:101910002B00AE0C2900850C29005C0C2700350C2F -:1019200027000E0C2600E80B2400C40B2400A00B9B -:1019300023007D0B23005A0B2100390B2100180BCB -:101940002000F80A1F00D90A1E00BB0A1E009D0ACB -:101950001D00800A1D00630A1C00470A1B002C0A98 -:101960001B00110A1A00F7091A00DD091900C40941 -:101970001900AB091900920917007B0918006309C7 -:1019800017004C09160036091600200916000A092E -:101990001500F5081500E0081400CC081400B8087C -:1019A0001400A4081400900813007D0812006B08AE -:1019B00013005808120046081200340811002308CA -:1019C00011001208110001081100F0071000E007D3 -:1019D0001000D0071000C0071000B0070F00A107CB -:1019E000100091070E0083070F0074070F006507B2 -:1019F0000E0057070E0049070E003B070D002E078B -:101A00000E0020070D0013070D0006070D00F90654 -:101A10000C00ED060D00E0060C00D4060C00C80614 -:101A20000C00BC060C00B0060C00A4060B009906C6 -:101A30000C008D060B0082060B0077060B006C066F -:101A40000B0061060A0057060B004C060A0042060E -:101A50000A0038060A002E060A0024060A001A06A2 -:101A60000A001006090007060A00FD050900F40532 -:101A70000900EB050900E2050900D9050900D005B8 -:101A80000900C7050900BE050900B5050800AD0538 -:101A90000800A50509009C050800940508008C05B0 -:101AA0000800840508007C050800740508006C0522 -:101AB0000700650508005D050700560508004E058E -:101AC00007004705070040050800380507003105F5 -:101AD00007002A050700230507001C050600160558 -:101AE00007000F0507000805060002050700FB04B4 -:101AF0000600F5040700EE040600E8040600E20410 -:101B00000700DB040600D5040600CF040600C90464 -:101B10000600C3040600BD040600B7040600B104B5 -:101B20000500AC040600A6040600A00405009B0402 -:101B3000060095040500900406008A04050085044B -:101B40000500800406007A04050075040500700491 -:101B500005006B04050066040500610405005C04D3 -:101B6000050057040500520405004D040500480413 -:101B70000500430405003E0404003A040500350452 -:101B80000500300404002C0405002704040023048D -:101B900005001E0404001A040400160405001104C4 -:101BA00004000D04040009040500040404000004FA -:101BB0000400FC030400F8030400F4030400F00331 -:101BC0000400EC030400E8030400E4030400E00361 -:101BD0000400DC030400D8030400D4030400D00391 -:101BE0000400CC030400C8030300C503030024F46D -:101BF00004D9201BC40C5C0E9804C4095F0265075D -:101C00007101F405F900FB04B30048048700C10327 -:101C100069005803550003034500BE023A008402E0 -:101C2000310053022A002902250004022000E401A9 -:101C30001C00C8011900AF011700980114008401AD -:101C40001300710110006101100051010E004301E9 -:101C50000D0036010B002B010B0020010B001501BC -:101C600009000C01090003010800FB000800F30053 -:101C70000800EB000700E4000600DE000600D800C4 -:101C80000600D2000600CC000500C7000500C20017 -:101C90000500BD000400B9000400B5000400B10057 -:101CA0000400AD000400A9000400A5000300A20088 -:101CB00003009F0004009B000300980003009500B0 -:101CC000020093000300900003008D0002008B00CF -:101CD00003008800020086000200840003008100E7 -:101CE00002007F0002007D0002007B0002007900FC -:101CF000020077000100760002007400020072000A -:101D00000100710002006F0002006D0001006C0014 -:101D100002006A000100690002006700010066001D -:101D20000100650001006400020062000100610022 -:101D30000100600001005F0002005D0001005C0026 -:101D400001005B0001005A00010059000100580029 -:101D50000100570001005600010055000100540029 -:101D60000100530000005300010052000100510027 -:101D70000100500001004F0001004E0000004E0025 -:101D800001004D0001004C0001004B0000004B0021 -:101D900001004A000100490001004800000048001D -:101DA0000100470001004600000046000100450018 -:101DB0000000450001004400010043000000430012 -:101DC000010042000000420001004100000041000B -:101DD0000100400001003F0000003F0001003E0004 -:101DE00000003E0001003D0000003D0001003C00FD -:101DF00000003C0000003C0001003B0000003B00F4 -:101E000001003A0000003A000100390000003900EA -:101E100001003800000038000000380001003700E1 -:101E200000003700010036000000360000003600D8 -:101E300001003500000035000000350001003400CD -:101E400000003400000034000100330000003300C3 -:101E500000003300010032000000320000003200B8 -:101E600001003100000031000000310001003000AD -:101E7000000030000000300001002F0000002F00A3 -:101E800000002F0000002F0001002E0000002E0097 -:101E900000002E0001002D0000002D0000002D008C -:101EA00000002D0001002C0000002C0000002C0080 -:101EB00000002C0001002B0000002B0000002B0074 -:101EC00000002B0001002A0000002A0000002A0068 -:101ED00000002A000100290000002900000029005C -:101EE000000029000000290001002800000028004F -:101EF0000000280000002800000028000100270042 -:101F00000000270000002700000027000000270035 -:101F10000100260000002600000026000000260028 -:101F2000000026000100250000002500000025001B -:101F3000000025000000250000002500010024000D -:101F40000000240000002400000024000000240001 -:101F500001002300000023000000230000002300F4 -:101F600000002300000023000000230001002200E5 -:101F700000002200000022000000220000002200D9 -:101F800000002200010021000000210000002100CB -:101F900000002100000021000000210000002100BD -:101FA00001002000000020000000200000002000B0 -:101FB00000002000000020000000200000002000A1 -:101FC00001001F0000001F0000001F0000001F0094 -:101FD00000001F0000001F0000001F0001001E0085 -:101FE00000001E0000001E0000001E00000004375C -:101FF00000001E290000511B0000581000001009AD -:102000000000CC040000780200004101000062657D -:1020100064002C2073797374656D2073746F707015 -:10202000656421204865617465725F49443A200007 -:102030004265642048656174696E67204661696C19 -:1020400065640048656174696E67206661696C65E6 -:10205000640042454420544845524D414C2052555D -:102060004E4157415900546865726D616C2052753C -:102070006E617761790045312048656174696E67EA -:10208000204661696C65640048656174696E67200B -:102090006661696C656400453120544845524D4184 -:1020A0004C2052554E4157415900546865726D613C -:1020B0006C2052756E617761790057616974696E41 -:1020C0006720666F72206865617475702E0A004C17 -:1020D000656176696E6720473236003F53706563ED -:1020E000696669656420582C5920636F6F72646952 -:1020F0006E617465206F7574206F6620626F756EF7 -:1021000064732E0A003F2852296570656174207639 -:10211000616C7565206E6F7420706C617573696297 -:102120006C653B206D757374206265206174206C52 -:102130006561737420312E0A003F2852296570654D -:102140006174206D757374206265207370656369B6 -:1021500066696564207768656E206E6F742075739C -:10216000696E6720616E204C43442E0A003F537015 -:1021700065636966696564206E6F7A7A6C65207440 -:10218000656D7065726174757265206E6F74207014 -:102190006C61757369626C652E0A003F53706563EC -:1021A00069666965642066696C616D656E7420732B -:1021B000697A65206E6F7420706C61757369626CEA -:1021C000652E0A003F537065636966696564207017 -:1021D00072696D65206C656E677468206E6F74201F -:1021E000706C61757369626C652E0A003F5072698C -:1021F0006D65206C656E677468206D757374206200 -:102200006520737065636966696564207768656ECB -:10221000206E6F74207573696E6720616E204C4369 -:10222000442E0A003F537065636966696564206ED9 -:102230006F7A7A6C652073697A65206E6F7420708E -:102240006C61757369626C652E0A003F5265747229 -:10225000616374696F6E204D756C7469706C69652B -:1022600072206D7573742062652073706563696692 -:102270006965642E0A003F53706563696669656429 -:102280002052657472616374696F6E204D756C7451 -:1022900069706C696572206E6F7420706C61757303 -:1022A00069626C652E0A003F5370656369666965F3 -:1022B00064206C6179657220686569676874206E56 -:1022C0006F7420706C61757369626C652E0A0043CF -:1022D000292E0A003F537065636966696564206250 -:1022E00065642074656D7065726174757265206EC9 -:1022F0006F7420706C61757369626C65202834306E -:102300002D00473236207374617274696E672E2E09 -:102310002E0A004F46460A004661646520486569FA -:102320006768742000426564204C6576656C696E50 -:102330006720004661696C656420746F20656E617A -:10234000626C6520426564204C6576656C696E67D9 -:102350000A00496E76616C6964206D6573682E0AA7 -:10236000004469666665723A200046726F6D537468 -:10237000703A00537465707065723A00556E4C6522 -:1023800076656C3A004C6576656C65643A0052611E -:10239000773A20202020000A4C6F676963616C3A0D -:1023A000004361703A004D302F3120427265616BFD -:1023B0002043616C6C656400436F6E74696E756573 -:1023C000004D302F3120427265616B2043616C6C8F -:1023D00065640050726F6265205A204F66667365AF -:1023E000743A200050726F62652059204F66667300 -:1023F00065743A200050726F62652058204F6666FF -:102400007365743A20003F59206F7574206F662001 -:1024100072616E67652028302D34353020746F204E -:10242000343530290A003F58206F7574206F6620BC -:1024300072616E67652028302D34373520746F2027 -:10244000343735290A003F5A206F7574206F662093 -:1024500072616E676520282D323020746F20323013 -:10246000290A00220A00656E7175657565696E67D7 -:102470002022002042002050006F6B006F70656EBC -:1024800000545249474745524544003A2000666986 -:102490006C616D656E74007A5F6D696E00795F6D59 -:1024A000696E00785F6D696E005265706F72746955 -:1024B0006E6720656E6473746F70207374617475D9 -:1024C000730A00205A3A0020593A0020436F756E73 -:1024D0007420583A0020453A00205A3A0020593AD0 -:1024E00000583A0020746F6F206C6F6E672065781B -:1024F00074727573696F6E2070726576656E74653F -:10250000640A0020636F6C64206578747275736967 -:102510006F6E2070726576656E7465640A000000E7 -:102520000000000000000000000000004842000021 -:102530004842000080405761726E696E673A2048D9 -:102540006F6D696E672042756D702044697669739E -:102550006F72203C20310A000202040000A04000FB -:1025600000A040000000400080ED430000E1430077 -:1025700000EB43FFFFFF5A5F53544F505F50494EEB -:10258000005A5F535445505F50494E005A5F4D49C1 -:102590004E5F50494E005A5F454E41424C455F5098 -:1025A000494E005A5F4449525F50494E005A5F43BA -:1025B000535F50494E00595F53544F505F50494E3E -:1025C00000595F535445505F50494E00595F4D4983 -:1025D0004E5F50494E00595F454E41424C455F5059 -:1025E000494E00595F4449525F50494E00595F437C -:1025F000535F50494E00585F53544F505F50494EFF -:1026000000585F535445505F50494E00585F4D4944 -:102610004E5F50494E00585F454E41424C455F5019 -:10262000494E00585F4449525F50494E00585F433D -:10263000535F50494E0053535F50494E005345522B -:10264000564F335F50494E00534552564F325F50FC -:10265000494E00534552564F315F50494E00534545 -:1026600052564F305F50494E005344535300534429 -:102670005F4445544543545F50494E0053434B5FBC -:1026800050494E0052414D50535F44395F50494EBE -:102690000052414D50535F44385F50494E00524103 -:1026A0004D50535F4431305F50494E004D4F5349B8 -:1026B0005F50494E004D4F534645545F445F50496B -:1026C0004E004D49534F5F50494E004D41583636EC -:1026D00037355F53535F50494E004C45445F504976 -:1026E0004E004845415445525F4245445F50494E73 -:1026F000004845415445525F305F50494E004649BD -:102700004C5F52554E4F55545F50494E0046414E16 -:10271000315F50494E0046414E5F50494E004531B1 -:102720005F535445505F50494E0045315F454E411F -:10273000424C455F50494E0045315F4449525F501D -:10274000494E0045315F43535F50494E0045305F6D -:10275000535445505F50494E0045305F454E41420D -:102760004C455F50494E0045305F4449525F5049E7 -:102770004E0045305F43535F50494E00455F4D5515 -:1027800058325F50494E00455F4D5558315F5049B2 -:102790004E00455F4D5558305F50494E00415652EE -:1027A0005F53535F50494E004156525F53434B5F56 -:1027B00050494E004156525F4D4F53495F50494E6C -:1027C000004156525F4D49534F5F50494E005445AA -:1027D0004D505F4245445F50494E0054454D505F57 -:1027E000315F50494E0054454D505F305F50494E67 -:1027F0000046494C57494454485F50494E0054588C -:102800004400525844002054002052004163636544 -:102810006C65726174696F6E3A20500050574D3A82 -:1028200020202534640050574D3A20202534640080 -:1028300050574D3A20202534640050574D3A2020FF -:102840002534640050574D3A2020253464005057F9 -:102850004D3A20202534640050574D3A202025342D -:10286000640050574D3A20202534640050574D3AAB -:1028700020202534640050574D3A20202534640030 -:1028800050574D3A20202534640050574D3A2020AF -:102890002534640050574D3A2020253464005057A9 -:1028A0004D3A20202534640050574D3A20202534DD -:1028B000640050574D3A202025346400433A2000EC -:1028C000423A2000413A200020202020434F4D0072 -:1028D0002020206E6F6E2D7374616E6461726420AF -:1028E00050574D206D6F646500202020636F6D7020 -:1028F00061726520696E7465727275707420656EA0 -:1029000061626C6564002020206F766572666C6F72 -:102910007720696E7465727275707420656E61627D -:102920006C6564003A20002020202054494D534B10 -:1029300000423A2000202020205443435200413AD4 -:1029400020002020202054434352002020202043F8 -:10295000533A20002020202057474D3A200050575E -:102960004D3A20202534640050574D3A202025341C -:10297000640047004800000088008A008C00B30013 -:10298000B400000098009A009C00A800AA00AC00C7 -:1029900028012A012C012020202054494D455200B5 -:1029A000440045006E00800081006F00B000B1005F -:1029B0007000900091007100A000A1007200200141 -:1029C0002101730020697320616C736F2074696545 -:1029D0006420746F20746869732070696E005449B4 -:1029E0004D45523143000A202E0020200020205067 -:1029F0006F72743A200020202000202020416E6158 -:102A00006C6F6720696E203D2025356C64003C7535 -:102A10006E757365642F756E6B6E6F776E3E0020FA -:102A200028412532642920200025336420002573A5 -:102A300050494E3A20004F7574707574203D200047 -:102A4000496E70757420203D2000416E616C6F6787 -:102A500020696E203D2025356C640070726F7465AE -:102A600063746564200020284125326429202000F9 -:102A70002533642000257350494E3A200002280077 -:102A800001FE270101F1273B00E6274300DB274534 -:102A900000CE274400C1273201B4273301A82734D0 -:102AA000019D2735019227280187272A017C272CA1 -:102AB0000172272A0167271C01592718014D271A7F -:102AC0000143272C01382722012A271E011E272413 -:102AD00001162709010D270701FE260201F1260A2A -:102AE00001E2260801DA260D01CB264201C2263278 -:102AF00001B5260701AC2633019E260A019126085E -:102B000001842609017C2634016E263101692635AF -:102B1000015E260B0153260601482605013D2604C9 -:102B200001362635012D26350123263701162626A6 -:102B3000010C26030101263601F6250301ED25319E -:102B400001E3253D01D6253801CC250E01C1253CE8 -:102B500001B6250E01AD252801A325300196253E9D -:102B6000018C25130181252E0176251301526573F1 -:102B7000656E643A200043616E6E6F74206F7065FD -:102B80006E2073756264697220002569730025697F -:102B90006D20256973002569682025696D202569E8 -:102BA0007300256964202569682025696D202569E1 -:102BB00073002569792025696420256968202569C5 -:102BC0006D202569730023646566696E6520444540 -:102BD0004641554C545F0000626564004B64200020 -:102BE0004B6920004B702000504944204175746FA0 -:102BF00074756E652066696E69736865642120501E -:102C0000757420746865206C617374204B702C207F -:102C10004B6920616E64204B6420636F6E73746136 -:102C20006E74732066726F6D2062656C6F772069B9 -:102C30006E746F20436F6E66696775726174696F39 -:102C40006E2E680A00504944204175746F74756E89 -:102C500065206661696C6564212074696D656F75B6 -:102C6000740A00453120544845524D414C2052557C -:102C70004E415741590042454420544845524D4128 -:102C80004C2052554E4157415900546865726D6150 -:102C90006C2052756E61776179004531204865611D -:102CA00074696E67204661696C65640042656420E2 -:102CB00048656174696E67204661696C65640048A7 -:102CC000656174696E67206661696C65640050496E -:102CD00044204175746F74756E65206661696C651A -:102CE00064212054656D706572617475726520741D -:102CF0006F6F20686967680A00204B643A200020E3 -:102D00004B693A2000204B703A20000A20436C6146 -:102D10007373696320504944200A00204B643A20B1 -:102D200000204B693A2000204B703A20000A204EC8 -:102D30006F206F76657273686F6F740A0020547528 -:102D40003A2000204B753A2000206D61783A20002F -:102D5000206D696E3A200020643A2000206269618B -:102D6000733A2000504944204175746F74756E6544 -:102D70002073746172740A00504944204175746F65 -:102D800074756E65206661696C6564212054656D9B -:102D9000706572617475726520746F6F2068696701 -:102DA000680A00504944204175746F74756E65203F -:102DB0006661696C65642120426164206578747283 -:102DC00075646572206E756D6265720A0070012C03 -:102DD0000190012701B0012201C0011D01F001187D -:102DE000011002130130020E016002090190020479 -:102DF00001C002FF000003FA004003F5008003F069 -:102E000000D003EB002004E6007004E100E004DCE5 -:102E1000004005D700C005D2004006CD00D006C84E -:102E2000008007C3003008BE00F008B900C009B434 -:102E300000B00AAF00B00BAA00D00CA500000EA095 -:102E400000500F9B00C01096005012910000148C8F -:102E500000C0158700B0178200B0197D00D01B7824 -:102E600000001E730040206E0090226900F0246470 -:102E70000040275F0090295A00E02B5500102E508B -:102E80000020304B0010324600E033410090353CCA -:102E9000001037370070383200A0392D00B03A28C2 -:102EA00000A03B2300603C1E00103D1900903D1423 -:102EB00000103E0F00703E0A00C03E0500003F00BB -:102EC00000403FFBFF803FF6FFC03FF1FF202D2079 -:102ED000496E76616C696420657874727564657298 -:102EE000206E756D62657220210A001000C9021003 -:102EF000012C014001220170011801B0010E01F006 -:102F00000104015002FA00B002F0003003E600D0E4 -:102F100003DC009004D2007005C800A006BE0000CB -:102F200008B400B009AA00D00BA000600E960060A3 -:102F3000118C000015820020197800C01D6E00A0C1 -:102F4000226400B0275A00902C500000314600E067 -:102F5000343C0010383200903A2800603C1E00A03B -:102F60003D1400803E0A00203F00004531205448B7 -:102F700045524D414C2052554E4157415900424512 -:102F80004420544845524D414C2052554E415741E2 -:102F90005900546865726D616C2052756E6177617D -:102FA00079004531204572723A204D415854454DC3 -:102FB00050004572723A204D415854454D502042C0 -:102FC0004544004D415854454D502074726967671F -:102FD00065726564004531204572723A204D494E54 -:102FE00054454D50004572723A204D494E54454D5E -:102FF0005020424544004D494E54454D5020747276 -:1030000069676765726564000A0A0020205A5F4D8F -:10301000494E3A002020595F4D494E3A0020205831 -:103020005F4D494E3A004D383420582059205A20DF -:103030004500202F002042403A0020403A0020570F -:103040003A0020573A00446F6E652E0A0066616CA4 -:103050007365004641494C3A204E6F20747269678F -:103060006765722064657465637465640A0046412F -:10307000494C3A204E6F69736520646574656374CA -:103080006564202D20706C656173652072652D72FA -:10309000756E20746573740A0020646574656374CA -:1030A00065642E0A003D20424C546F7563682070A1 -:1030B00072652056332E3120286F7220636F6D7039 -:1030C000617469626C6529003D205A2053657276EF -:1030D0006F2050726F6265003D20424C546F7563E3 -:1030E000682056332E310020282B2F2D20346D736D -:1030F000293A20003A2033306D73206F72206D6FB3 -:1031000072650A002E2050756C73652077696474AF -:1031100068002A2A20506C656173652074726967A3 -:103120006765722070726F62652077697468696E76 -:1031300020333020736563202A2A0A004641494C17 -:103140003A20424C544F55434820656E61626C658D -:1031500064202D2053657420757020746869732075 -:1031600064657669636520617320612053657276BA -:103170006F2050726F6265207769746820494E56DF -:10318000455254494E472073657420746F2027744C -:10319000727565272E0A0020204445504C4F594532 -:1031A000442073746174653A204C4F5720286C6F2B -:1031B0006769632030290020204445504C4F594511 -:1031C000442073746174653A204849474820286C4C -:1031D0006F676963203129003D204D656368616E2A -:1031E0006963616C205377697463682064657465F2 -:1031F000637465640A005741524E494E473A20496C -:103200004E56455254494E472073657474696E6733 -:103210002070726F6261626C79206261636B7761AA -:103220007264732E0A002E204465706C6F7920261C -:103230002073746F7720342074696D65730A003DC4 -:1032400020424C546F75636820436C6173736963EB -:1032500020312E322C20312E332C20536D6172748C -:1032600020312E302C20322E302C20322E322C20A9 -:10327000332E302C20332E312064657465637465E1 -:10328000642E0A002E20436865636B20666F7220EF -:10329000424C544F5543480A002E205A5F4D494E28 -:1032A0005F454E4453544F505F494E564552544922 -:1032B0004E473A20002E2050726F6265205A5F4DB3 -:1032C000494E5F50494E3A20002C2073746F77208E -:1032D000616E676C653A202020002C206465706C5C -:1032E0006F7920616E676C653A2000536572766F66 -:1032F0002070726F626520746573740A2E20757376 -:10330000696E6720696E6465783A2020004D343319 -:1033100020576169742043616C6C656400436F6E73 -:1033200074696E7565004D343320576169742043AC -:10333000616C6C6564005761746368696E672070C6 -:10334000696E730A0064697300656E0061626C6582 -:10335000640A00656E6473746F70206D6F6E6974BB -:103360006F722000204500205A00205900204D395E -:1033700032205800205A00205900580020204D616A -:10338000783A2000205A00205900580020204D692A -:103390006E3A2000536F667420656E6473746F70AC -:1033A000733A20004732380020496E76616C6964B8 -:1033B0002065787472756465722000544D33442022 -:1033C0004D61782052656164792E005072696E7487 -:1033D000696E672E2E2E005072696E7420506175D2 -:1033E0007365640063616E63656C005072696E742E -:1033F0002041626F727465640055492041626F72AA -:103400007400726573756D65004D3234000080ED97 -:10341000430000E1430000EB430000000000000017 -:103420000000000000290A002062797465733B20C7 -:10343000637263200053657474696E6773205374FC -:103440006F726564202800454550524F4D206461DD -:10345000746173697A65206572726F722E0A002931 -:103460000A002062797465733B2063726320002038 -:1034700073746F7265642073657474696E6773200A -:10348000726574726965766564202800202863611E -:103490006C63756C6174656429210A0020213D20EC -:1034A00000454550524F4D20435243206D69736D86 -:1034B00061746368202D202873746F7265642920FD -:1034C000002053697A653A2000496E6465783A2095 -:1034D00000204D61726C696E3D563730290A0045F7 -:1034E0004550524F4D2076657273696F6E206D693D -:1034F000736D617463682028454550524F4D3D00FF -:103500000A20696E6974207A70726F62655F7A6FE3 -:103510006666736574203D2000454550524F4D202E -:10352000496E697469616C697A65640A0048617200 -:1035300064636F6465642044656661756C742053D0 -:10354000657474696E6773204C6F616465640A000A -:10355000E8030000BC020000640000004B00000013 -:103560000000FA430000C84300007041000096428A -:103570000000A0420000A0420000C84300000C432D -:103580003A0A0020204D363033200020440020200D -:103590004D34313220530046696C616D656E742084 -:1035A00072756E6F75742073656E736F723A0A0070 -:1035B0002055004C0046696C616D656E74206C6F1F -:1035C00061642F756E6C6F6164206C656E677468E2 -:1035D000733A0A0020204D383531205A0020204D02 -:1035E00038353120590020204D3835312058005AC7 -:1035F0002D50726F6265204F6666736574002044BB -:103600000020490020204D33303420500020440059 -:1036100020490020204D33303120500050494420B3 -:1036200073657474696E67733A0A00204A0020203B -:103630004732392057204900205A0020204D34328B -:10364000302053004175746F20426564204C6576CC -:10365000656C696E673A0A00205A002059002020E4 -:103660004D323036205800486F6D65206F666673A6 -:1036700065743A0A00204A0020540020530020209C -:103680004D323035204200204A3C6A756E635F64DB -:1036900065763E00416476616E6365643A20423C23 -:1036A0006D696E5F7365676D656E745F74696D6576 -:1036B0005F75733E20533C6D696E5F66656564722D -:1036C0006174653E20543C6D696E5F74726176650D -:1036D0006C5F66656564726174653E00205400200D -:1036E000520020204D323034205000416363656C1D -:1036F00065726174696F6E2028756E6974732F73BB -:1037000032293A20503C7072696E745F6163636560 -:103710006C3E20523C726574726163745F616363D6 -:10372000656C3E20543C74726176656C5F616363C6 -:10373000656C3E0A00204500205A002059002020D8 -:103740004D3230312058004D6178696D756D2041E2 -:103750006363656C65726174696F6E2028756E694C -:1037600074732F7332293A0A00204500205A002032 -:10377000590020204D3230332058004D6178696D5A -:10378000756D206665656472617465732028756E59 -:103790006974732F73293A0A00537465707320702B -:1037A000657220756E69743A0A0020204D323030FF -:1037B0002044300A0020204D323030204400204484 -:1037C000697361626C65640A0046696C616D656E5F -:1037D000742073657474696E67733A0020286D6D88 -:1037E00029002020473231202020203B20556E69BF -:1037F000747320696E206D6D00486F6D696E67206F -:103800004661696C65640000002100240027002ADD -:10381000002D003000330001010000040107010AFF -:103820000100002200250028002B002E003100346A -:103830000002010000050108010B01000020002327 -:1038400000260029002C002F003200000100000398 -:103850000106010901050505050705080808080214 -:103860000202020A0A080804040404010101010119 -:103870000101010303030303030303040707070C08 -:103880000C0C0C0C0C0C0C020202020606060606BE -:103890000606060B0B0B0B0B0B0B0B01021020206B -:1038A0000808102040102040800201020108040294 -:1038B000010102040810204080804020100804020A -:1038C0000180040201804020100804020108040263 -:1038D0000101020408102040800102040810204069 -:1038E0008000000A0B02090C0D0E080703040100FA -:1038F00000000000000000000000000000000000C8 -:103900000000000000000000000000000012111084 -:1039100000000000000000000000000000000000A7 -:103920000000000000000050726F62696E67204660 -:1039300061696C65640A0050726F62696E67204647 -:1039400061696C6564002E0A006F70656E206661A7 -:10395000696C65642C2046696C653A2000706F774D -:1039600065726F6666004B494C4C45442E200050F2 -:1039700072696E7465722068616C7465642E206B68 -:10398000696C6C28292063616C6C6564210A0053A2 -:10399000544F505045442E20005072696E74657229 -:1039A0002073746F707065642064756520746F2077 -:1039B0006572726F72732E20466978207468652074 -:1039C0006572726F7220616E6420757365204D3967 -:1039D000393920746F20726573746172742E2028D7 -:1039E00054656D70657261747572652069732072BB -:1039F000657365742E205365742069742061667444 -:103A000065722072657374617274696E67290A0049 -:103A10006563686F3A004572726F723A0042696C72 -:103A2000696E656172204C6576656C696E672047CA -:103A30007269643A0A009101B70111241FBECFEFE9 -:103A4000D1E2DEBFCDBF00E00CBF18E0A0E0B2E0E5 -:103A5000EAE8F1E502E00BBF02C007900D92AA3937 -:103A6000B107D9F72DE1AAE9B8E001C01D92AE3A3D -:103A7000B207E1F71DE1CCE1DDE100E006C02197EE -:103A80000109802FFE010F94EE24CB31D10780E095 -:103A90000807A9F70F949B0E0D94B3280C9400000F -:103AA0002F923F924F925F926F927F928F929F924E -:103AB000AF92BF92CF92DF92EF92FF920F931F933C -:103AC000CF93DF93CDB7DEB7E3970FB6F894DEBFA1 -:103AD0000FBECDBF80910901817091E098272091A0 -:103AE000B908921781F19093B908811116C00E940C -:103AF000485E8091981783FF09C083EA93E00E9493 -:103B0000B55361E080E00F945C0A1DC060E081E085 -:103B10000F945C0A8CEB93E014C00091981703FBA0 -:103B2000002700F90E94D75D80919817877F8093C6 -:103B30009817002341F060E081E00F945C0A85ED66 -:103B400093E00E94B5538091151481FF11C18091BB -:103B50009A1590919B15891B8F70843008F008C1CD -:103B60008CE0E3EEF3E1DE01119601900D928A956F -:103B7000E1F780910D1890910E18A0910F18B09157 -:103B8000101888A799A7AAA7BBA79C01AD016091AF -:103B9000E3137091E4138091E5139091E6130F9471 -:103BA000F6246B017C016093E3137093E41380931C -:103BB000E5139093E6138091111890911218A0913B -:103BC0001318B09114188CA79DA7AEA7BFA79C018E -:103BD000AD016091E7137091E8138091E913909122 -:103BE000EA130F94F62468A379A38AA39BA3609396 -:103BF000E7137093E8138093E9139093EA1380918D -:103C0000151890911618A0911718B091181888AB34 -:103C100099ABAAABBBAB9C01AD016091EB1370916A -:103C2000EC138091ED139091EE130F94F6244B0159 -:103C30005C016093EB137093EC138093ED139093FE -:103C4000EE13A7019601C701B6010F94671E2B0161 -:103C50003C0128A139A14AA15BA1CA01B9010F9475 -:103C6000671E9B01AC01C301B2010F94F7242B0125 -:103C70003C01A5019401C501B4010F94671E9B018D -:103C8000AC01C301B2010F94F7240F94A5279B0147 -:103C9000AC0160E070E080E89FE30F94F125209193 -:103CA00063023091640240916502509166020F9464 -:103CB000671E2DEC3CEC4CEC5DE30F94671E20E09E -:103CC00030E040E85EE30F94671E2B013C0120E0EA -:103CD00030E040E85FE30F94011E87FFF1C3A301CA -:103CE0009201C701B6010F94671E28A539A54AA500 -:103CF0005BA50F94F7246093E3137093E413809310 -:103D0000E5139093E613A301920168A179A18AA11A -:103D10009BA10F94671E2CA53DA54EA55FA50F94F2 -:103D2000F7246093E7137093E8138093E91390935B -:103D3000EA13A3019201C501B4010F94671E28A9DB -:103D400039A94AA95BA90F94F7246093EB137093E8 -:103D5000EC138093ED139093EE130E94B9BE8CE0A8 -:103D6000FE013196A3EEB3E101900D928A95E1F741 -:103D70008091B80881110C9433398091B6089091E4 -:103D8000B7089C012F5F3F4F3093B7082093B608C8 -:103D9000883E934010F40C94333981E08093B80846 -:103DA0001092B7081092B60880911311882309F475 -:103DB00098C30E94ABCD811194C38091B5088F5FE9 -:103DC0008093B5088091B508853620F01092B5082B -:103DD00010921311E09113118E2FEE0F990BAA0B75 -:103DE000BB0BFC013197E730F10508F0A0C0882734 -:103DF000EE58FF4F8F4F0D94EE240E94A3CD8823E1 -:103E000009F495C081E08093290288EE93E00E9436 -:103E1000B55380E190E090931D1680931C1685E0C9 -:103E20008093101602E80093131684E190E1A0E05D -:103E3000B0E08093141690931516A0931616B093C5 -:103E400017160F94800181E09AE590931D168093D8 -:103E50001C1686E390E090931F1680931E1687E051 -:103E6000809310160093131684E890E0A0E0B0E071 -:103E70008093141690931516A0931616B0931716E8 -:103E80000F94800152C00E94A3CD882309F44FC033 -:103E900048C086EF93E00E94B55381E09AE5909385 -:103EA0001D1680931C1680E490E090931F1680935B -:103EB0001E1607E00093101682E88093131684E81C -:103EC00090E0A0E0B0E08093141690931516A093B4 -:103ED0001616B09317160F9480010093131127C084 -:103EE0008091B408882319F10E94A3CD8823F9F0AA -:103EF0000E94ABCD81111BC0F7C20E94A3CD8823C5 -:103F0000B1F00E94ABCD811112C01CC30E94ABCD99 -:103F100081110DC042E060E070E0CB010E94C1CD94 -:103F200004C00E94ABCD811102C010921311809188 -:103F30002902882309F4ACC280910F1190911011CD -:103F4000892B09F08FC18091B1089091B208892B1B -:103F500009F01EC184E096E090931D1680931C1614 -:103F600080EA90E890931F1680931E1617E0109336 -:103F7000101602E80093131680EA90E0A0E0B0E08B -:103F80008093141690931516A0931616B0931716D7 -:103F90000F9480018091060290910702A09108027F -:103FA000B09109020097A105B10511F510921D16F7 -:103FB00010921C1615E010931016009313168AE841 -:103FC00090E1A0E0B0E08093141690931516A093B2 -:103FD0001616B09317160F94800189E090E0909325 -:103FE0001D1680931C16109310160093131640C0D4 -:103FF0000196A11DB11DF5E0B695A79597958795FA -:10400000FA95D1F70197A109B109009731E0A3070B -:10401000B10558F0B0931D16A0931C1690931F166F -:1040200080931E161093101607C090931D16809350 -:104030001C1685E08093101612E8109313168AE878 -:1040400090E1A0E0B0E08093141690931516A09331 -:104050001616B09317160F94800188E090E09093A5 -:104060001D1680931C1685E080931016109313166E -:104070008CE890E1A0E0B0E08093141690931516C0 -:10408000A0931616B09317160F9480018091060224 -:1040900090910702A0910802B09109020097E1E017 -:1040A000AE07B10550F0B0931D16A0931C16909367 -:1040B0001F1680931E1687E005C090931D168093EF -:1040C0001C1685E08093101682E88093131688E80A -:1040D00090E1A0E0B0E08093141690931516A093A1 -:1040E0001616B09317160F948001809106029091D6 -:1040F0000702A0910802B0910902BA2FA92F982FA8 -:1041000088270097F1E0AF07B10550F0B0931D1676 -:10411000A0931C1690931F1680931E1687E005C06F -:1041200090931D1680931C1685E08093101612E85C -:104130001093131681EA90E0A0E0B0E0809314168B -:1041400090931516A0931616B09317160F9480012E -:1041500080912518882319F082E090E002C083E066 -:1041600090E090931D1680931C1685E080931016A6 -:104170001093131685E490E1A0E0B0E0809314164C -:1041800090931516A0931616B09317160F948001EE -:104190000091B1081091B208053611057CF4109316 -:1041A0001D1600931C1685E08093101682E88093FC -:1041B000131680E090E1A0E0B0E011C0C801845681 -:1041C000910990931D1680931C1685E0809310161C -:1041D00082E88093131681E090E1A0E0B0E0809344 -:1041E000141690931516A0931616B09317160F94E5 -:1041F00080010F5F1F4F1093B2080093B108093C74 -:10420000110564F184E094E00E94B55381E090E0F0 -:104210009093101180930F118093290281E09AE509 -:1042200090931D1680931C168DE290E090931F16BC -:1042300080931E1687E08093101682E880931316F1 -:1042400084E890E0A0E0B0E08093141690931516F7 -:10425000A0931616B09317160F9480011092B80809 -:104260000C94333980919A1590919B15891B8F700E -:1042700009F092C10E9448D781118EC18091981790 -:1042800082FD8AC112C384E690E090931D1680934C -:104290001C1610931016009313168EE090E1A0E008 -:1042A000B0E08093141690931516A0931616B09351 -:1042B00017160F948001C60182539048880F991FEA -:1042C00090931D1680931C161093101600931316CE -:1042D0008FE090E1A0E0B0E0809314169093151663 -:1042E000A0931616B09317160F9480010E94C4ED88 -:1042F00090E090931D1680931C1685E08093101615 -:1043000082E88093131686E190E1A0E0B0E080930C -:10431000141690931516A0931616B09317160F94B3 -:10432000800120E030E048EC52E460910714709185 -:1043300008148091091490910A140F94671E0F9429 -:10434000632670931D1660931C1615E010931016CB -:1043500002E80093131686E290E1A0E0B0E08093BB -:10436000141690931516A0931616B09317160F9463 -:10437000800160910E0C70910F0C8091100C909147 -:10438000110C0F94632670931D1660931C161093E6 -:1043900010160093131686E390E1A0E0B0E080933E -:1043A000141690931516A0931616B09317160F9423 -:1043B000800160916509709166098091670990910B -:1043C00068090F94632670931D1660931C16109352 -:1043D0001016009313168CE390E1A0E0B0E08093F8 -:1043E000141690931516A0931616B09317160F94E3 -:1043F00080018091120C9091130C90931D16809364 -:104400001C16109310160093131684E390E1A0E09D -:10441000B0E08093141690931516A0931616B093DF -:1044200017160F9480018091690990916A09909301 -:104430001D1680931C1610931016009313168AE312 -:1044400090E1A0E0B0E08093141690931516A0932D -:104450001616B09317160F9480010091AD08011144 -:104460003CC18091AF08811138C18091B40881119D -:104470008BC18091C4159091C515A091C615B091BE -:10448000C7158C3420E19207A105B10509F0A1C13F -:1044900030E6C32E36E1D32E0AE186E194E10E9494 -:1044A000205CE090A208F090A308181619060CF002 -:1044B00085C38AE1E816F10414F40C94F4347EC345 -:1044C0008CE0FE013196A3EEB3E101900D928A9546 -:1044D000E1F70E94B9BE809115148D7F8093151469 -:1044E00047CC1092B5086ECC86EB95E00E94B55390 -:1044F0008091B30890E0A0E0B0E0895B9F4FAE4FA1 -:10450000B54A21E03AE530931D1620931C1690938E -:104510001F1680931E1687E08093101682E8809302 -:10452000131684E890E0A0E0B0E080931416909316 -:104530001516A0931616B09317160F9480011092BB -:10454000B408F3CC81E0809329021092131184EC1B -:1045500095E00E94B55381E09AE590931D168093F3 -:104560001C168EE490E090931F1680931E1687E031 -:104570008093101682E88093131684E890E0A0E000 -:10458000B0E08093141690931516A0931616B0936E -:1045900017160F948001CBCC8CE090E090931D1601 -:1045A00080931C1605E00093101682E88093131682 -:1045B00084E190E1A0E0B0E080931416909315168A -:1045C000A0931616B09317160F9480010E94A6ECC4 -:1045D00020E13EE040E050E00F94572421153105E2 -:1045E00091E04907510560F050931D1640931C1649 -:1045F00030931F1620931E1687E08093101606C076 -:1046000030931D1620931C160093101602E8009399 -:10461000131680E190E1A0E0B0E08093141690932F -:104620001516A0931616B09317160F9480010E94CA -:10463000A6EC20E13EE040E050E00F9457242CE34C -:1046400030E040E050E00F94572430931D16209343 -:104650001C1615E0109310160093131682E190E1DA -:10466000A0E0B0E08093141690931516A093161650 -:10467000B09317160F9480010E94C4ED882391F027 -:104680000E94C4ED8F5F8093B008C82ED12C833375 -:1046900008F0F9CDC601880F991F90931D168093DD -:1046A0001C1604C010921D1610921C1610931016A2 -:1046B000009313168EE090E1A0E0B0E08093141612 -:1046C00090931516A0931616B09317160F948001A9 -:1046D00010921D1610921C16F7CD20E030E048EC29 -:1046E00052E460910E0C70910F0C8091100C90911F -:1046F000110C0F94671E6B017C016091120C70917C -:10470000130C072E000C880B990B0F94081E9B01AD -:10471000AC01C701B6010F94F1250F946A266436E7 -:10472000710510F064E670E070931D1660931C161E -:1047300045E0A42EA092101652E8B52EB0921316A2 -:1047400084E290E1A0E0B0E08093141690931516F7 -:10475000A0931616B09317160F948001C0900E0CFC -:10476000D0900F0CE090100CF090110C20E030E095 -:1047700040E253E4C701B6010F94572718160CF016 -:104780003AC1011188C137C18091A40801E0080F26 -:104790000093A40890E090931D1680931C1685E06A -:1047A0008093101682E88093131682E490E1A0E0D3 -:1047B000B0E08093141690931516A0931616B0933C -:1047C00017160F9480010A3008F453CE1092A408F3 -:1047D00050CE8A349041A105B10509F459CE80E04C -:1047E0000E949FCE20E030E040E251E40F94671E2B -:1047F0000F94632670931D1660931C1615E010939A -:10480000101602E80093131688E490E1A0E0B0E0EF -:104810008093141690931516A0931616B09317163E -:104820000F94800181E00E949FCE20E030E040E2C2 -:1048300051E40F94671E0F94632670931D166093C6 -:104840001C1610931016009313168AE490E1A0E052 -:10485000B0E08093141690931516A0931616B0939B -:1048600017160F94800182E00E949FCE20E030E076 -:1048700040E251E40F94671E0F94632670931D1657 -:1048800060931C1610931016009313168CE490E19D -:10489000A0E0B0E08093141690931516A09316161E -:1048A000B09317160F948001F3CD80916509909114 -:1048B0006609A0916709B091680988A399A3AAA382 -:1048C000BBA36091690970916A09072E000C880BDF -:1048D000990B0F94081E6B017C0120E030E040E052 -:1048E00050E40F94F62428A139A14AA15BA10F94AA -:1048F0005727181604F140900E0C50900F0C609042 -:10490000100C7090110C6091120C7091130C072E0A -:10491000000C880B990B0F94081E4B015C0120E0E2 -:1049200030E040E251E40F94F624A30192010F9489 -:104930005727181604F58DE090E090931D1680938C -:104940001C1685E08093101682E88093131684E18C -:1049500090E1A0E0B0E08093141690931516A09318 -:104960001616B09317160F948001809112118111C1 -:104970003FC081E03DC020E030E040E050E4C701AE -:10498000B6010F94F72428A139A14AA15BA10F9485 -:10499000011E87FD0EC020E030E040E251E4C50179 -:1049A000B4010F94F724A30192010F94011E87FF15 -:1049B000B8CC84E190E090931D1680931C1685E09E -:1049C0008093101682E88093131684E190E1A0E0B2 -:1049D000B0E08093141690931516A0931616B0931A -:1049E00017160F94800180911211811101C082E08D -:1049F0008093121196CC6091120C7091130C072EBB -:104A0000000C880B990B0F94081E9B01AC01C70189 -:104A1000B6010F9457276091AF0887FDAEC066239B -:104A200009F423CD062E000C770B8BE397E00F944F -:104A3000110A1092AF081092B2081092B10884E0E7 -:104A400090E090931D1680931C1685E080931016BD -:104A500002E8009313168EE890E1A0E0B0E08093A6 -:104A6000141690931516A0931616B09317160F945C -:104A7000800181E09AE590931D1680931C1683E5D2 -:104A800090E090931F1680931E1687E08093101677 -:104A90000093131663C01092AD0820E030E040E2AE -:104AA00051E46091A5087091A6088091A7089091A3 -:104AB000A8080F94671E0F94632670931D166093C9 -:104AC0001C16A0921016B092131684E590E1A0E097 -:104AD000B0E08093141690931516A0931616B09319 -:104AE00017160F94800120E030E040E251E460911D -:104AF000A9087091AA088091AB089091AC080F9416 -:104B0000671E0F94632670931D1660931C16A09267 -:104B10001016B092131688E590E1A0E0B0E0809303 -:104B2000141690931516A0931616B09317160F949B -:104B3000800182ED95E00E94B55381E09AE5909363 -:104B40001D1680931C1681E490E090931F168093AD -:104B50001E1687E080931016B092131684E890E03A -:104B6000A0E0B0E08093141690931516A09316164B -:104B7000B09317160F94800178CC662309F475CC96 -:104B80008091B1089091B2089C012F5F3F4F309304 -:104B9000B2082093B10865E070E00F94DA24909396 -:104BA0001D1680931C1685E08093101682E8809372 -:104BB00013168EE890E1A0E0B0E0D4CF1E141F04DD -:104BC0000CF04CCB9091C11580916016981322C0C7 -:104BD0009091C2158091611698131CC023E0E216D3 -:104BE000F104C4F0909162169093C0158091631601 -:104BF0008093C3159330D1F4982F9D7F9038B1F4F2 -:104C0000909164169F3409F059C0909165169B34B9 -:104C100009F054C08AE1E0E6F6E1DF011D928A95D1 -:104C2000E9F71092A3081092A20818CB833809F074 -:104C300045C080916416909165169827892798271A -:104C4000A0E0B0E08093C4159093C515A093C6155D -:104C5000B093C715C0906616D12CE12CF12CC092F0 -:104C6000C815D092C915E092CA15F092CB15A7E6E7 -:104C7000B6E140E050E0BA014C155D056E057F05D8 -:104C800008F04AC04A015B01B694A79497948794B0 -:104C9000F4013696EE0FFF1FE054FA4E8C9190E02F -:104CA000982F882711962C911197822B91838083BE -:104CB0004E5F5F4F6F4F7F4F1296DECF813861F5A9 -:104CC0008091641690E0A0E0B0E08093C4159093CA -:104CD000C515A093C615B093C71580916516482FCA -:104CE00050E060E070E04093C8155093C9156093A0 -:104CF000CA157093CB15A6E6B6E1ECECF5E190E0B1 -:104D000020E030E02817390739F04D9150E0419309 -:104D100051932F5F3F4FF6CF8AE1E0E6F6E1DF01E6 -:104D20001D928A95E9F71092A3081092A20885E1D6 -:104D300094E00E94B55360911311161664F4062E88 -:104D4000000C770B80E397E00F94110A8AE00E9431 -:104D5000AA520C94E5346091CC157091CD158EE17A -:104D600097E00F94F3098AE00E94AA524091C4157B -:104D70005091C5156091C6157091C7158FE097E0E9 -:104D80000F94E2098AE00E94AA528091C415909182 -:104D9000C515A091C615B091C715E5E7F2E000E092 -:104DA00010E0419151916191719141155105610559 -:104DB0007105D1F1481759076A077B0791F5AC01D6 -:104DC000BD014850504161097109453051056105E7 -:104DD000710568F1AC01BD01477F42335041610567 -:104DE000710541F18433F0E19F07A105B10511F18F -:104DF000AC01BD014654504161097109473051056C -:104E000061057105D0F0AC01BD0144555041610907 -:104E10007109453051056105710588F402E110E022 -:104E20000EC00F5F1F4FBDCF0FEF1FEF08C003E095 -:104E300010E005C008E010E002C00FE010E08A506A -:104E40009042A109B109833D9105A105B10530F05A -:104E50000F3F2FEF120721F40C94E53409E110E025 -:104E6000F6E3CF2EF4E0DF2EF60181916F01882367 -:104E700019F00E94AA52F8CFB801012E000C880B3D -:104E8000990B0E941E530E94AF5383E097E00E944B -:104E9000B5530A31110510F00C94E134F80188275C -:104EA000E758FF4F8F4F0D94EE248091CC159091D1 -:104EB000CD1581309105E1F4109229028FEF809396 -:104EC000841A60E080E00F945C0A04E414E0D801E6 -:104ED0008D918D01882319F00E94AA52F8CF81E0AC -:104EE0009AE590931D1680931C168EE290E0AFC059 -:104EF0008230910509F0C5C081E0809329020E94AB -:104F000035EE8FEF96E090939E0980939D098BE09C -:104F100090E090931D1680931C1605E000931016E8 -:104F200012E81093131680E092E1A0E0B0E08093C5 -:104F3000141690931516A0931616B09317160F9487 -:104F4000800110921D1610921C16009310161093DB -:104F500013168EE090E1A0E0B0E0809314169093D9 -:104F60001516A0931616B09317160F948001109281 -:104F70001D1610921C1600931016109313168FE036 -:104F800090E1A0E0B0E08093141690931516A093E2 -:104F90001616B09317160F94800110921D161092DA -:104FA0001C16009310161093131686E190E1A0E0F2 -:104FB000B0E08093141690931516A0931616B09334 -:104FC00017160F94800162E070E080E090E00E948C -:104FD000B3CE10921D1610921C160093101610934B -:104FE000131680E190E1A0E0B0E080931416909356 -:104FF0001516A0931616B09317160F9480011092F1 -:105000001D1610921C16009310161093131682E1B1 -:1050100090E1A0E0B0E08093141690931516A09351 -:105020001616B09317160F9480010EE614E0F801DF -:1050300081918F01882319F00E94AA52F8CF81E054 -:105040009AE590931D1680931C168DE290E0909344 -:105050001F1680931E1687E08093101682E88093B7 -:10506000131684E890E0A0E0B0E0809314169093CB -:105070001516A0931616B09317160F9480010C9472 -:10508000E5348330910549F581E08093290208E9F0 -:1050900014E0D8018D918D018823C9F00E94AA5295 -:1050A000F8CF8091C4159091C515A091C615B09107 -:1050B000C7158233F0E19F07A105B10509F05BC474 -:1050C0008091CC159091CD15009709F023C4809163 -:1050D0000502882309F40DC31DC3049711F00C9435 -:1050E000E534109229020C94E5348091CC1590910E -:1050F000CD1581309105D1F41092290280910502DD -:10510000882319F082E090E002C083E090E0909361 -:105110001D1680931C1685E08093101682E88093FC -:1051200013168EE190E1A0E0B0E09FCF82309105B0 -:1051300019F502EC14E0F80181918F01882319F030 -:105140000E94AA52F8CF81E0809329028091121127 -:10515000843049F081E09AE590931D1680931C16E7 -:1051600085E390E074CF81E09AE590931D168093DB -:105170001C1686E390E06BCF8330910509F04CC09C -:1051800020910502222319F190931D1680931C167D -:1051900085E08093101682E8809313168EE190E1EB -:1051A000A0E0B0E08093141690931516A093161605 -:1051B000B09317160F94800140E060E070E088EC37 -:1051C00092E40E949CEE109205020C94E53482E079 -:1051D00090E090931D1680931C1685E08093101626 -:1051E00082E8809313168EE190E1A0E0B0E0809316 -:1051F000141690931516A0931616B09317160F94C5 -:10520000800140E060E070E0CB010E949CEE81E014 -:10521000809305020C94E534049711F00C94E53466 -:10522000809178098823F1F082E090E090931D1638 -:1052300080931C1685E08093101682E880931316E5 -:105240008FE190E1A0E0B0E08093141690931516E2 -:10525000A0931616B09317160F9480011092780938 -:105260000C94E53483E090E090931D1680931C1617 -:1052700085E08093101682E8809313168FE190E109 -:10528000A0E0B0E08093141690931516A093161624 -:10529000B09317160F94800181E0809378090C94E5 -:1052A000E5346091CC157091CD1580E090E00F94BD -:1052B000061E6B017C0120E030E04AEF53E40F94BE -:1052C000011E87FF11C020E030E040E251E4C70139 -:1052D000B6010F94572718166CF0C12CD12C70E230 -:1052E000E72E71E4F72E06C0C12CD12CEAEFEE2E8A -:1052F000E3E4FE2EC701B6010F94632670934F02BC -:1053000060934E020C94E5348091C4159091C515BC -:10531000A091C615B091C7158830F0E19F07A1058F -:10532000B10509F050C081E09AE590931D16809375 -:105330001C168DE290E090931F1680931E1687E056 -:105340008093101612E81093131684E890E0A0E002 -:10535000B0E08093141690931516A0931616B09390 -:1053600017160F94800110921D1610921C1605E05E -:10537000009310161093131680E190E1A0E0B0E0C6 -:105380008093141690931516A0931616B0931716C3 -:105390000F94800110921D1610921C160093101687 -:1053A0001093131682E190E1A0E0B0E08093141610 -:1053B00090931516A0931616B09317160F948001AC -:1053C0000E9435EE8FC08A3020E19207A105B10519 -:1053D000E1F58091CC159091CD15813F910511F0AB -:1053E0000C94E53481E09AE590931D1680931C1689 -:1053F00086E390E090931F1680931E1687E08093BB -:10540000101682E88093131684E890E0A0E0B0E0E4 -:105410008093141690931516A0931616B093171632 -:105420000F9480014EE755E065E875E084E00E9446 -:105430007F9560E081E795E00E94F6ED87E695E0D4 -:1054400090939E0980939D094DC08C309041A10599 -:10545000B10509F047C08091CC159091CD15019709 -:1054600009F040C00F94E0171092121181E0809370 -:1054700029028CE090E090931D1680931C1685E025 -:105480008093101612E81093131684E190E1A0E0C7 -:10549000B0E08093141690931516A0931616B0934F -:1054A00017160F94800181E09AE590931D16809362 -:1054B0001C1685E390E090931F1680931E1687E0DC -:1054C000809310161093131684E890E0A0E0B0E0EB -:1054D0008093141690931516A0931616B093171672 -:1054E0000F9480018091C4159091C515A091C615A7 -:1054F000B091C7158C309041A105B10511F00C9405 -:10550000E5348091CC159091CD15029711F00C9453 -:10551000E5340F94E01781E08093AF0810921211E8 -:10552000809329021092B2081092B10881E09AE5A6 -:1055300090931D1680931C1682E590E088CD2091F3 -:10554000CC153091CD15B90180E090E037FF09C04E -:105550000F94061E20E030E040E857E40F94F62454 -:1055600002C00F94061E20E030E048EC52E40F9495 -:10557000F1256B017C0120E030E040EA51EC0F9412 -:10558000572787FD31C020E030E040EA51E4C701F1 -:10559000B6010F94011E18163CF1A7019601609107 -:1055A0000714709108148091091490910A140F94B3 -:1055B000F62420E030E048EC53E40F94671E905846 -:1055C0000F946326CB010F947504C0920714D092F8 -:1055D0000814E0920914F0920A148AEF96E090936E -:1055E0009E0980939D0928C020E030E048EC52E4F9 -:1055F00060910714709108148091091490910A1415 -:105600000F94671E0F94632670931D1660931C16EB -:1056100085E08093101682E88093131686E290E16D -:10562000A0E0B0E08093141690931516A093161680 -:10563000B09317160F9480016091071470910814AD -:105640008091091490910A148E010B5E1F4F23E084 -:1056500041E00F94D9189F938F938CEE96E09F931F -:105660008F93045111091F930F930F94991DC80133 -:105670000E948DCF0F900F900F900F900F900F9072 -:105680000C94E5348091CC159091CD15009729F4B8 -:1056900081E0809329020C94E53481309105B1F4C6 -:1056A00080910502882349F081E09AE590931D16C8 -:1056B00080931C168CE390E0CACC81E09AE590932D -:1056C0001D1680931C168BE390E0C1CC82309105AF -:1056D000F9F28330910539F58091050240E0882385 -:1056E00089F060E070E088EC92E40E949CEE1092F9 -:1056F000050281E09AE590931D1680931C1689E3BC -:1057000090E0A5CC60E070E0CB010E949CEE81E0CF -:105710008093050281E09AE590931D1680931C16F4 -:105720008AE390E094CC8530910559F540E060E043 -:1057300070E084E393E40E9436CD46E060E070E0E0 -:105740008CE892E40E9436CD84EB90E090931D1695 -:1057500080931C1605E00093101612E810931316A0 -:1057600084E390E1A0E0B0E08093141690931516C6 -:10577000A0931616B09317160F94800186E490E05C -:105780002DC08630910599F540E060E070E080E73B -:1057900093E40E9436CD46E060E070E08CED92E448 -:1057A0000E9436CD80EF90E090931D1680931C16DA -:1057B00005E00093101612E81093131684E390E1AD -:1057C000A0E0B0E08093141690931516A0931616DF -:1057D000B09317160F9480018EE690E090931D16FB -:1057E00080931C160093101610931316BFC0813FB0 -:1057F000910511F00C94E53440E060E070E0CB01DD -:105800000E949CEE41E060E070E0CB010E949CEEC3 -:105810001092050240E060E070E0CB010E9436CDBE -:1058200046E060E070E0CB010E9436CD10921D167C -:1058300010921C1605E00093101612E81093131630 -:1058400084E390E1A0E0B0E08093141690931516E5 -:10585000A0931616B09317160F94800161E070E0C4 -:1058600080E090E00E94B3CE10921D1610921C169C -:1058700000931016109313168AE390E1A0E0B0E0B5 -:105880008093141690931516A0931616B0931716BE -:105890000F94800161E070E080E090E00E94B3CE60 -:1058A00084E190E090931D1680931C1600931016CF -:1058B0001093131684E190E1A0E0B0E080931416F9 -:1058C00090931516A0931616B09317160F94800197 -:1058D00081E09AE590931D1680931C1689E390E071 -:1058E00090931F1680931E1687E0809310161093D6 -:1058F000131684E890E0A0E0B0E080931416909333 -:105900001516A0931616B09317160F94800182E017 -:105910000C94DE3481309105A9F440E060E070E041 -:10592000CB010E9436CD10921D1610921C1685E0F8 -:105930008093101682E88093131684E390E1A0E030 -:10594000B0E093CB029711F00C94E53446E060E0B0 -:1059500070E0CB010E9436CD10921D1610921C16DD -:1059600085E08093101682E8809313168AE390E115 -:10597000A0E0B0E07ACB843320E19207A105B10525 -:1059800051F46091CC157091CD1580E090E00F94AA -:10599000061E40E010C08A339041A105B10511F008 -:1059A0000C94E5346091CC157091CD1580E090E0B9 -:1059B0000F94061E46E00E9436CD0C94E53480918B -:1059C000CC159091CD15009709F462CE81309105E8 -:1059D00009F04CC080912518882319F083E090E0ED -:1059E00002C082E090E090931D1680931C1685E023 -:1059F0008093101682E88093131685E490E1A0E06E -:105A0000B0E08093141690931516A0931616B093D9 -:105A100017160F9480018AE090E090931D168093F2 -:105A20001C1685E08093101682E88093131680E0A0 -:105A300092E1A0E0B0E08093141690931516A09325 -:105A40001616B09317160F9480010E94A3CD8111F2 -:105A500003C08CED96E002C080ED96E090939E0925 -:105A600080939D0982E08093131171C1823091056A -:105A700009F0A8C081E08093290288E0E5EAF8E017 -:105A8000DF011D928A95E9F780E090E0A0E2B1E4A1 -:105A90008093A5089093A608A093A708B093A808A0 -:105AA0008093A9089093AA08A093AB08B093AC0880 -:105AB00084E690E090931D1680931C1605E00093F9 -:105AC000101612E81093131684E590E1A0E0B0E000 -:105AD0008093141690931516A0931616B09317166C -:105AE0000F94800120E030E040E251E46091A90889 -:105AF0007091AA088091AB089091AC080F94671E32 -:105B00000F94632670931D1660931C160093101655 -:105B10001093131688E590E1A0E0B0E0809314168E -:105B200090931516A0931616B09317160F94800134 -:105B300060910E0C70910F0C8091100C9091110CD3 -:105B40000F94632670931D1660931C160093101615 -:105B50001093131686E390E1A0E0B0E08093141652 -:105B600090931516A0931616B09317160F948001F4 -:105B70008091120C9091130C90931D1680931C161B -:105B8000009310161093131684E390E1A0E0B0E0A8 -:105B90008093141690931516A0931616B0931716AB -:105BA0000F94800162E070E080E090E00E94B3CE4C -:105BB00081E09AE590931D1680931C1681E490E095 -:105BC0000C9421368330910509F076C01092B30809 -:105BD00080E00E949FCE20E030E040E251E40F944C -:105BE000671E0F94632670931D1660931C1605E0C4 -:105BF0000093101612E81093131688E490E1A0E0C9 -:105C0000B0E08093141690931516A0931616B093D7 -:105C100017160F94800181E00E949FCE20E030E0B3 -:105C200040E251E40F94671E0F94632670931D1693 -:105C300060931C1600931016109313168AE490E1DB -:105C4000A0E0B0E08093141690931516A09316165A -:105C5000B09317160F94800182E00E949FCE20E03F -:105C600030E040E251E40F94671E0F946326709376 -:105C70001D1660931C1600931016109313168CE4D7 -:105C800090E1A0E0B0E08093141690931516A093D5 -:105C90001616B09317160F94800162E070E080E052 -:105CA00090E00E94B3CE81E09AE590931D16809318 -:105CB0001C1687E490E0C5C78430910509F485C6B9 -:105CC0008530910549F44EE750E160E070E089EEDF -:105CD00094E00F942F0179C6069709F076C68CECF4 -:105CE00096E090939E0980939D098BE090E02BC2F3 -:105CF0008091CC159091CD15019711F51092290244 -:105D000081E09AE590931D1680931C168FE390E036 -:105D100090931F1680931E1687E08093101682E8DA -:105D20008093131684E890E0A0E0B0E0809314160E -:105D300090931516A0931616B09317160F94800122 -:105D40008091CC159091CD15029709F03EC681E067 -:105D50009AE590931D1680931C1680E490E077C915 -:105D6000E091CC15F091CD153197EB30F10508F0AD -:105D7000E4C18827ED56FF4F8F4F0D94EE2480919C -:105D8000141480FF5CC6869580FD5CC658C62DEC59 -:105D90003CEC4CEC5DE36091071470910814809129 -:105DA000091490910A140F94F7246B017C0120E0F0 -:105DB00030E040EA51EC0F94572787FDC2C120E044 -:105DC00030E040EA51E4C701B6010F94011E1816F5 -:105DD0000CF03FC6B6C12DEC3CEC4CEC5DE36091A1 -:105DE0000714709108148091091490910A140F946B -:105DF000F6246B017C0120E030E040EA51EC0F9486 -:105E0000572787FD9EC120E030E040EA51E4C701FA -:105E1000B6010F94011E18160CF092C692C180E0D4 -:105E20000F94C2060E94A3CD811103C083E796E0C0 -:105E300002C085E696E090939E0980939D0982E0DA -:105E40008093131181E09AE590931D1680931C16A0 -:105E500084E590E090931F1680931E1687E0809350 -:105E6000101682E88093131684E890E0A0E0B0E07A -:105E70008093141690931516A0931616B0931716C8 -:105E80000F9480015EC183E08093131183E090E062 -:105E900090931D1680931C1685E08093101682E85F -:105EA000809313168DE890E1A0E0B0E08093141683 -:105EB00090931516A0931616B09317160F948001A1 -:105EC000E12CF12C00E0DD24D394AA24A39445E036 -:105ED000942E55E0852E62E8762EDD2031F0CC241C -:105EE000C39435E0B32E10E005C0CC24CA94BB2483 -:105EF000BA9414E0DA24B116D1F1802F90E04897DB -:105F0000A4F50F5FF701919EE00DF11D1124EE0F36 -:105F1000FF1FEE0FFF1FE559FC4E20E030E04AE77F -:105F200054E460817181828193810F94671E0F9484 -:105F3000632670931D1660931C1680921016709243 -:105F40001316802F90E08158974F880F991F092EC4 -:105F5000000CAA0BBB0B8093141690931516A093FC -:105F60001616B09317160F9480011C0DC4CFBFEF07 -:105F7000EB1AFB0AE5E0EE16F10409F0AECF81E082 -:105F80009AE590931D1680931C1685E590E09093FA -:105F90001F1680931E1687E08093101682E8809368 -:105FA000131684E890E0A0E0B0E08093141690937C -:105FB0001516A0931616B09317160F94800187E05C -:105FC00096E090939E0980939D09BBC042E060E0FB -:105FD00070E080E890E40E94C1CD40E060E070E0B5 -:105FE0008DE693E40E94C1CD41E060E070E081E67F -:105FF00093E413C042E060E070E080E890E40E9427 -:10600000C1CD40E060E070E080E292E40E94C1CD4A -:1060100041E060E070E080E292E40E94C1CD86E061 -:10602000809313118EC042E060E070E080E890E45D -:106030000E94C1CD40E060E070E089ED93E4E6CFDE -:1060400042E060E070E080E890E40E94C1CD40E072 -:1060500060E070E089ED93E40CC042E060E070E045 -:1060600080E890E40E94C1CD40E060E070E080E212 -:1060700092E40E94C1CD41E060E070E08DEC93E4D9 -:10608000CCCF8091251881111CC083E090E09093C3 -:106090001D1680931C1685E08093101682E880936D -:1060A000131685E490E1A0E0B0E08093141690937D -:1060B0001516A0931616B09317160F94800181E061 -:1060C0001BC082E090E090931D1680931C1685E023 -:1060D0008093101682E88093131685E490E1A0E087 -:1060E000B0E08093141690931516A0931616B093F3 -:1060F00017160F94800180E00F94C20620E030E074 -:1061000048EC52E4609107147091081480910914CE -:1061100090910A140F94671E0F94632670931D16B6 -:1061200060931C1685E08093101682E88093131606 -:1061300086E290E1A0E0B0E09BCE8BEE95E00E947D -:10614000B5538AE090E090931D1680931C1685E06D -:106150008093101682E8809313164BC184E08093DD -:1061600013118091C4159091C515A091C615B091D9 -:10617000C7156091CC157091CD158834F0E19F075B -:10618000A105B10509F453C08A3420E19207A105A5 -:10619000B10509F456C08C3430E19307A105B1056F -:1061A00009F45AC086349041A105B10509F05EC0DA -:1061B00063307105B9F58AED95E090939E0980935F -:1061C0009D0981E08093B408809329021092A4086D -:1061D00081E09AE590931D1680931C168AE490E066 -:1061E00090931F1680931E1687E08093101612E876 -:1061F0001093131684E890E0A0E0B0E080931416AA -:1062000090931516A0931616B09317160F9480014D -:106210008AE090E090931D1680931C1685E0809391 -:106220001016E5C06093B30810921311CEC380E03E -:1062300090E8ADEEB3E48CA39DA3AEA3BFA3312C35 -:1062400015C080E090E0A1EEB3E48CA39DA3AEA3C3 -:10625000BFA3332433940AC080E090E0ABEEB3E4F4 -:106260008CA39DA3AEA3BFA382E0382E80E090E074 -:106270000F94061E20E030E040E251E40F94F12537 -:106280006B017C0120E030E0A9010F94011E87FF23 -:1062900009C010929E0810929F081092A0081092B8 -:1062A000A1081FC02CA13DA14EA15FA1C701B6014D -:1062B0000F94572718164CF0C0929E08D0929F0852 -:1062C000E092A008F092A1080CC08CA19DA1AEA103 -:1062D000BFA180939E0890939F08A093A008B093BD -:1062E000A10860919E0870919F088091A0089091EC -:1062F000A108432D0E94C1CD61E070E080E090E0F4 -:106300000E94B3CE80E00E949FCE20E030E040E2C9 -:1063100051E40F94671E0F94632670931D166093CB -:106320001C1605E00093101612E81093131688E46B -:1063300090E1A0E0B0E08093141690931516A0931E -:106340001616B09317160F94800181E00E949FCE1D -:1063500020E030E040E251E40F94671E0F94632682 -:1063600070931D1660931C1600931016109313164D -:106370008AE490E1A0E0B0E08093141690931516A3 -:10638000A0931616B09317160F94800182E00E9416 -:106390009FCE20E030E040E251E40F94671E0F945E -:1063A000632670931D1660931C16009310161093AD -:1063B00013168CE490E1A0E0B0E080931416909363 -:1063C0001516A0931616B09317160F94800161E06E -:1063D00070E080E090E00E94B3CE109213118AE04A -:1063E00090E090931D1680931C1600931016109346 -:1063F000131680E092E1A0E0B0E00C943528809183 -:10640000C4159091C515A091C615B091C7158635D4 -:10641000E0E19E07A105B10509F041C020E030E0B0 -:1064200040E253E460910E0C70910F0C8091100CBF -:106430009091110C0F94011E2091CC153091CD1527 -:1064400087FF0AC42530310508F006C480EA90E0D1 -:1064500090931D1680931C1685E08093101612E809 -:106460001093131680E290E1A0E0B0E08093141640 -:1064700090931516A0931616B09317160F948001DB -:1064800065E070E080E090E00E94B3CE81E09AE5A4 -:1064900090931D1680931C1682E490E0D2C384353D -:1064A000F0E19F07A105B105B9F46091CC15709199 -:1064B000CD1580E090E00F94061E20E030E040E231 -:1064C00051E40F94F1256093A5087093A60880937A -:1064D000A7089093A80879C288359041A105B10515 -:1064E00009F073C26091CC157091CD1580E090E0F9 -:1064F0000F94061E20E030E040E251E40F94F125B5 -:106500006093A9087093AA088093AB089093AC0895 -:106510005CC26091CC157091CD1584EC95E00F9420 -:10652000F3098091CC159091CD1582309105A1F0A1 -:1065300038F4009771F00197E1F482E195E043C2ED -:106540008430910579F058F0059799F489E995E040 -:106550000BC08CEF94E037C286EB95E005C08CEA67 -:1065600095E002C087EA95E090939E0980939D098B -:106570002CC286E295E027C285E395E00E94B553E0 -:106580008091CC159091CD158130910519F46499C5 -:10659000C3C41BC2892B09F018C283E495E00E9492 -:1065A000B55380919A08813039F589E595E00E94CC -:1065B000B55381E09AE590931D1680931C168EE2E8 -:1065C00090E090931F1680931E1687E0809310161C -:1065D00082E88093131684E890E0A0E0B0E0809316 -:1065E000141690931516A0931616B09317160F94C1 -:1065F00080011092111135C0823069F48DE695E06A -:106600000E94B55381E09AE590931D1680931C1665 -:1066100086E390E00EC0833031F581E895E00E947A -:10662000B55381E09AE590931D1680931C1681E482 -:1066300090E090931F1680931E1687E080931016AB -:1066400082E88093131684E890E0A0E0B0E08093A5 -:10665000141690931516A0931616B09317160F9450 -:1066600080011092461310929A080E9435EEADC137 -:106670008091CC159091CD158F3F910531F028F088 -:106680008FEF90E0A0E0B0E002C0A0E0B0E0809327 -:10669000060290930702A0930802B093090280912A -:1066A000060290910702A0910802B091090200979A -:1066B000A105B10509F510921D1610921C1605E0F2 -:1066C0000093101612E8109313168AE890E1A0E0E8 -:1066D000B0E08093141690931516A0931616B093FD -:1066E00017160F94800189E090E090931D16809317 -:1066F0001C16009310163DC00196A11DB11D05E0AA -:10670000B695A795979587950A95D1F70197A10911 -:10671000B109009731E0A307B10550F0B0931D1601 -:10672000A0931C1690931F1680931E1687E005C039 -:1067300090931D1680931C1685E08093101612E826 -:10674000109313168AE890E1A0E0B0E0809314164D -:1067500090931516A0931616B09317160F948001F8 -:1067600088E090E090931D1680931C1685E080933E -:106770001016109313168CE890E1A0E0B0E080931F -:10678000141690931516A0931616B09317160F941F -:1067900080018091060290910702A0910802B091B9 -:1067A0000902BA2FA92F982F88270097E1E0AE079A -:1067B000B10550F0B0931D16A0931C1690931F16B0 -:1067C00080931E1687E005C090931D1680931C16BB -:1067D00085E08093101682E88093131681EA90E09A -:1067E000A0E0B0E00C94352885E995E00E94B5530F -:1067F0000E942ACD4091C4155091C5156091C615CF -:106800007091C715882339F0433DF0E25F076105B9 -:10681000710509F4C7C3423D50426105710509F095 -:10682000D4C08091CC159091CD15019709F00CC57D -:106830000E942ACD882309F407C58091841A87FD18 -:10684000C4C0A2E18A02C0011124815C934E0E945F -:10685000F05DC12C90E2D92EE12CF12C05E012E87C -:1068600010921D1610921C160093101610931316FA -:10687000C0921416D0921516E0921616F0921716C2 -:106880000F948001BFEFCB1ADB0AEB0AFB0AEAE0A8 -:10689000CE16E0E2DE06E104F10411F70091841A5D -:1068A000F2E10F02800111240952154EF801019006 -:1068B0000020E9F7C8018E1B9F0B439697FD0196B8 -:1068C0007C01F594E7941E141F040CF0C6C49E01CD -:1068D0002F5F3F4F690184E1D9011D928A95E9F745 -:1068E000A70166EA75E0C9010F946A28B801C601DC -:1068F0008E0D9F1D0F94552840E050E260E070E03F -:10690000C6010F942F0162E070E080E090E00E94E9 -:10691000B3CE40E060E070E08FE793E40E949CEE2D -:1069200041E060E070E08FE793E40E949CEE1092FB -:1069300005028DE090E090931D1680931C1685E073 -:106940008093101612E81093131684E190E1A0E0F2 -:10695000B0E08093141690931516A0931616B0937A -:1069600017160F94800162E070E080E090E00E94D2 -:10697000B3CE81E09AE590931D1680931C1685E3B3 -:1069800090E090931F1680931E1687E08093101658 -:106990001093131684E890E0A0E0B0E08093141602 -:1069A00090931516A0931616B09317160F948001A6 -:1069B00081E0809329028093111183E0809312116A -:1069C00004C08EE895E00E94B55380E5E0ECF5E167 -:1069D000DF011D928A95E9F78AE58093C11585EA62 -:1069E0008093C2150C942E2186E194E10E94FE5BF7 -:1069F000F701E05AF94E8083809160168A3581F064 -:106A00001E141F0414F00C944D22D601E02F1D9289 -:106A1000EA95E9F71092A3081092A2080C944D226F -:106A200062E070E080E090E00E94B3CEFFEFEF1AEA -:106A3000FF0AF092A308E092A2080C944D228CEB7E -:106A400096E002C08BEA96E090939E0980939D09A0 -:106A500055CB88E290E00F9475042DEC3CEC4CECA7 -:106A60005DE360910714709108148091091490916E -:106A70000A140F94F7246B017C0120E030E040EA17 -:106A800051EC0F94572787FD12C020E030E040EA18 -:106A900051E4C701B6010F94011E181644F0C092CC -:106AA0000714D0920814E0920914F0920A1420E01E -:106AB00030E048EC52E46091071470910814809122 -:106AC000091490910A140F94671E0F946326709313 -:106AD0001D1660931C1685E08093101682E8809343 -:106AE000131686E290E1A0E0B0E080931416909334 -:106AF0001516A0931616B09317160F948001609187 -:106B00000714709108148091091490910A148E0151 -:106B10000B5E1F4F23E041E00F94D9189F938F9392 -:106B20008DE996E09F938F93045111091F930F9362 -:106B30000F94991DC8010E948DCF88E996E076C018 -:106B400088ED9FEF0F9475042DEC3CEC4CEC5DE36D -:106B500060910714709108148091091490910A149F -:106B60000F94F6246B017C0120E030E040EA51EC08 -:106B70000F94572787FD12C020E030E040EA51E42F -:106B8000C701B6010F94011E181644F0C0920714F5 -:106B9000D0920814E0920914F0920A1420E030E038 -:106BA00048EC52E460910714709108148091091424 -:106BB00090910A140F94671E0F94632670931D160C -:106BC00060931C1685E08093101682E8809313165C -:106BD00086E290E1A0E0B0E0809314169093151641 -:106BE000A0931616B09317160F94800160910714A6 -:106BF000709108148091091490910A148E010B5E13 -:106C00001F4F23E041E00F94D9189F938F938AE898 -:106C100096E09F938F93045111091F930F930F9444 -:106C2000991DC8010E948DCF85E896E090939E093A -:106C300080939D090F900F900F900F900F900F90E1 -:106C400080CA90931F1680931E1687E080931016BB -:106C5000109313160C9431282430310589F481E007 -:106C60000F94CA172091A9083091AA084091AB0847 -:106C70005091AC080F94F72441E00F94A117B2C0D3 -:106C80002530310508F4F4C02630310509F431C14E -:106C900008F023C181E08093AD0840E060E070E03F -:106CA0008EE393E40E9436CD20E030E048EC52E4DD -:106CB00060910E0C70910F0C8091100C9091110C42 -:106CC0000F94671E6B017C016091120C7091130C84 -:106CD000072E000C880B990B0F94081E9B01AC012A -:106CE000C701B6010F94F1250F946A266436710529 -:106CF00010F064E670E070931D1660931C1605E0BA -:106D00000093101612E81093131684E290E1A0E0AD -:106D1000B0E08093141690931516A0931616B093B6 -:106D200017160F94800160910E0C70910F0C8091DA -:106D3000100C9091110C0F94632670931D166093A4 -:106D40001C16009310161093131686E390E1A0E032 -:106D5000B0E08093141690931516A0931616B09376 -:106D600017160F9480018091120C9091130C909340 -:106D70001D1680931C16009310161093131684E3AF -:106D800090E1A0E0B0E08093141690931516A093C4 -:106D90001616B09317160F94800165E070E080E03E -:106DA00090E00E94B3CE81E09AE590931D16809307 -:106DB0001C1684E490E090931F1680931E1687E0C3 -:106DC000809310161093131684E890E0A0E0B0E0D2 -:106DD0008093141690931516A0931616B093171659 -:106DE0000F94800120E030E040E251E46091A5087A -:106DF0007091A6088091A7089091A8080F94671E2B -:106E00000F94632670931D1660931C1605E0009383 -:106E1000101612E81093131684E590E1A0E0B0E09C -:106E20008093141690931516A0931616B093171608 -:106E30000F94800120E030E040E251E46091A90825 -:106E40007091AA088091AB089091AC080F94671ECE -:106E50000F94632670931D1660931C1600931016F2 -:106E60001093131688E590E1A0E0B0E00C9435286B -:106E70002230310579F480E00F94CA172091A508DB -:106E80003091A6084091A7085091A8080F94F724C4 -:106E900040E0F3CE2330310570F081E00F94CA1743 -:106EA0002091A9083091AA084091AB085091AC08F4 -:106EB0000F94F624E1CE2130310509F093CF80E024 -:106EC0000F94CA172091A5083091A6084091A708F1 -:106ED0005091A8080F94F624DBCF213F310509F02B -:106EE00081CF1092AD0861E070E080E090E00E94F8 -:106EF000B3CE81E09AE590931D1680931C1681E431 -:106F000090E090931F1680931E1687E080931016D2 -:106F100082E88093131658CF83EF95E00E94B55313 -:106F200081E00E9468948DE090E090931D1680931C -:106F30001C1685E08093101612E81093131684E156 -:106F400090E1A0E0B0E08093141690931516A09302 -:106F50001616B09317160F94800183E080931211D8 -:106F600081E09AE590931D1680931C1685E390E0CE -:106F700090931F1680931E1687E08093101610932F -:106F8000131684E890E0A0E0B0E08093141690938C -:106F90001516A0931616B09317160F948001109231 -:106FA0009A0813CD8BE096E00E94B5538091851A24 -:106FB0009091861A99272091CC153091CD15821782 -:106FC000930708F402CD8EE995E00E94B5538091B5 -:106FD000CC1581508093841AA4ED8A2EA0E29A2EBB -:106FE000A12CB12C05E012E810921D1610921C166F -:106FF0000093101610931316809214169092151683 -:10700000A0921616B09217160F9480012FEF821AD5 -:10701000920AA20AB20A3EED831630E29306A10458 -:10702000B10411F78091841AA2E18A02C0011124EF -:10703000FC01E952F54E7F0101900020E9F7C701FC -:107040008E1B9F0B439697FD01968C011595079516 -:1070500010161106FCF49E012F5F3F4F690184E179 -:10706000D9011D928A95E9F7A80166EA75E0C90180 -:107070000F946A28B701C601800F911F0F945528FD -:1070800044ED50E260E070E0C6010F942F0105E08E -:1070900012E806C044ED50E260E070E0C701F5CFB1 -:1070A00010921D1610921C160093101610931316B2 -:1070B0008092141690921516A0921616B09217167A -:1070C0000F948001BFEF8B1A9B0AAB0ABB0AE6EE56 -:1070D0008E16E0E29E06A104B10411F78E010F5F47 -:1070E0001F4F84E1D8011D928A95E9F78091861A95 -:1070F0008F938091851A8F938091CD158F93809176 -:10710000CC158F9380EB95E09F938F931F930F93F4 -:107110000F9484284EED50E260E070E0C8010F94B7 -:107120002F0162E070E080E090E00E94B3CE0FB6E5 -:10713000F894DEBF0FBECDBF31E2C32E32E1D32EB5 -:10714000E12CF12C43E1442E40E6542E612C712CAD -:1071500088248394912CAA24AA94BA2C75E0272E13 -:10716000E2E83E2E0AE010E08091851A9091861A9E -:107170008815990594F1B0921D16A0921C162092C4 -:1071800010163092131640921416509215166092F3 -:107190001616709217160F94800110931D16009307 -:1071A0001C162092101630921316C0921416D0920C -:1071B0001516E0921616F09217160F948001FFEF45 -:1071C0008F1A9F0A20E1420E511C611C711C3FEF77 -:1071D000C31AD30AE30AF30AC7CF8091CC15909162 -:1071E000CD1524E0880F991F2A95E1F78D5F9F49FF -:1071F000A0E0B0E020EF37E830931D1620931C1676 -:1072000005E00093101612E81093131680931416DD -:1072100090931516A0931616B09317160F9480012D -:107220008091CC159091CD15805E9D4EA0E0B0E090 -:1072300026E030E030931D1620931C1600931016A4 -:10724000109313160C9435288091CC159091CD1580 -:10725000892B11F40C94482BB8CB40E050E260E04D -:1072600070E0C8014ECBE3960FB6F894DEBF0FBEB8 -:10727000CDBFDF91CF911F910F91FF90EF90DF90E5 -:10728000CF90BF90AF909F908F907F906F905F90C6 -:107290004F903F902F9008952F923F924F925F9280 -:1072A0006F927F928F929F92AF92BF92CF92DF9216 -:1072B000EF92FF920F931F93CF93DF93CDB7DEB77B -:1072C000C154D1090FB6F894DEBF0FBECDBF2296D0 -:1072D0008FAF2297209145122CAF21E020934512C9 -:1072E000809166128D3409F4B3C4843511F40C9482 -:1072F0003B4B873411F00C94424B80916412909177 -:1073000065128B31910509F420C2B4F484309105E3 -:1073100034F482309105E4F597FF2EC095C4853191 -:10732000910511F40C94444B8A31910509F409C27A -:10733000049709F089C4C6C18A32910509F4B5C31E -:107340004CF48D319105B1F00CF429C24E9709F43B -:1073500065C27AC48B35910509F425C38C35910536 -:1073600009F425C38A35910509F06EC41092CD0841 -:107370000C94444B14E03FC280912F02882311F4F7 -:107380000C94444B0E9443E10E94B9BE0C94444BC0 -:1073900020912F02222311F40C94444B11E0029708 -:1073A00009F010E00E9443E119821A821B821C82BC -:1073B0001D821E821F82188682E50E94EA9388231E -:1073C00009F438C10E946A934B015C0120E030E06F -:1073D000A9010F94011E882309F442C180910D1860 -:1073E00090910E18A0910F18B09110188CA39DA326 -:1073F000AEA3BFA38091111890911218A0911318F9 -:10740000B091141888A799A7AAA7BBA78091E313E6 -:107410009091E413A091E513B091E6138CA79DA77A -:10742000AEA7BFA78091E7139091E813A091E9134D -:10743000B091EA1388AB99ABAAABBBAB2CA53DA529 -:107440004EA55FA56CA17DA18EA19FA10F94011EE9 -:1074500081110DC028A939A94AA95BA968A579A5F8 -:107460008AA59BA50F94011E882309F4F9C020E08A -:1074700030E0A901C501B4010F94011E881F8827BF -:10748000881F181729F080E090E0A0E8BFEB04C047 -:1074900080E090E0A0E8BFE388AF99AFAAAFBBAFB0 -:1074A0002CA13DA14EA15FA16CA57DA58EA59FA598 -:1074B0000F94F6246CAB7DAB8EAB9FAB28A539A5A2 -:1074C0004AA55BA568A979A98AA99BA90F94F62466 -:1074D0006B017C012CA93DA94EA95FA9CA01B90184 -:1074E0000F94671E2B013C01A7019601C701B6014D -:1074F0000F94671E9B01AC01C301B2010F94F724E6 -:107500000F94A5272B013C019B01AC0160E070E0CA -:1075100080E89FE30F94F12521966CAF7DAF8EAF8D -:107520009FAF219720E030E040E05FE3C301B2016C -:107530000F94671E2B013C01A5019401C501B40104 -:107540000F94671E4B015C01A3019201C301B201BC -:107550000F94671E9B01AC01C501B4010F94F62482 -:107560000F94A52728AD39AD4AAD5BAD0F94671ECA -:107570004B015C01C701B601905821962CAD3DAD81 -:107580004EAD5FAD21970F94671EA50194010F9436 -:10759000671E6B017C012CA53DA54EA55FA56CA1C6 -:1075A0007DA18EA19FA10F94F72420E030E040E060 -:1075B0005FE30F94671E9B01AC01C701B6010F94F6 -:1075C000F7242CA13DA14EA15FA10F94F62469835D -:1075D0007A838B839C8328A939A94AA95BA968A5CA -:1075E00079A58AA59BA50F94F72420E030E040E020 -:1075F0005FE30F94671E6B017C0121962CAD3DADBE -:107600004EAD5FAD21976CA97DA98EA99FA90F945E -:10761000671EA50194010F94671E9B01AC01C70171 -:10762000B6010F94F72428A539A54AA55BA50F94A8 -:10763000F62412C089E40E94EA93882331F00E9464 -:107640006A9369837A838B839C838AE40E94EA939A -:10765000882331F00E946A936D837E838F8398879D -:1076600020E030E0A90169817A818B819C810F94AF -:10767000011E81110BC020E030E0A9016D817E81E7 -:107680008F8198850F94011E8823A1F0412FBE01A0 -:107690006F5F7F4F83EE93E10E940EB60F94060159 -:1076A00060930C1470930D1480930E1490930F1428 -:1076B0000C94444B0F94310A8CE797E00F944C09DB -:1076C0000C94444B80E50E94EA93882329F00E94A1 -:1076D0001ACD6B017C0103C0C12CD12C760183E54E -:1076E0000E94EA93882361F00E946A9320E030E0D0 -:1076F0004AE754E40F94671E0F946A266B017C01DD -:107700000E945F8C8091970B811105C060E082E937 -:1077100097E00E94F6ED0F940601C60ED71EE81EF4 -:10772000F91E0F940601DC01CB018C199D09AE09ED -:10773000BF09B7FD02C00C94444B80E00E94D653B1 -:10774000F0CF0E942BAA0C94444B0E94B77C81116D -:107750000C94444B80E090E0A8E4B2E489839A83DF -:10776000AB83BC8380E090E0A0E2B1E48D839E8394 -:10777000AF83B88789879A87AB87BC8780E50E94EB -:10778000EA93882321F00E943293862F01C080E083 -:10779000BE016F5F7F4F0E942EED0C94444B809191 -:1077A000960B8770873011F00C944F4B60E08FE49C -:1077B0000E94F79381110C94444B0C944F4B809191 -:1077C000251881111DC00E9400828823F9F01150F4 -:1077D00011F40C94394D40E050E060E078E085E031 -:1077E0000E94C69461E083EF97E00E940C948BEDB9 -:1077F00097E00E94F1BB0E94B77C882301F306C08A -:1078000060E08FE40E94F7938823E9F20E943094AD -:107810008EE998E00E94F1BB0C94444B2091FF1339 -:1078200030910014409101145091021460910D1890 -:1078300070910E1880910F18909110180F94F724E2 -:10784000AB01BC0188E50E94FCCF6C8F7D8F8E8FD1 -:107850009F8F20910314309104144091051450918E -:10786000061460911118709112188091131890915C -:1078700014180F94F724AB01BC0189E50E94FCCFDA -:1078800069837A838B839C83BE016F5F7F4FCE01B8 -:107890004C960E941CA6882311F40C94444B80E063 -:1078A0000F94C2060E949DC161E085E40E94F79397 -:1078B000182F21E0482FBE016F5F7F4FCE014C96FD -:1078C0000E945BFB6B017C019B01AC010F94E927DB -:1078D00081115FC08C8C9D8CAE8CBF8C20E030E021 -:1078E000A901C501B4010F94011E87FF05C027E15E -:1078F00037EB41E558EB04C027E137EB41E558E3AE -:10790000C501B4010F94F724AB01BC0180EC98E0F1 -:107910000F94000A89809A80AB80BC8020E030E020 -:10792000A901C501B4010F94011E87FF05C027E11D -:1079300037EB41E558EB04C027E137EB41E558E36D -:10794000C501B4010F94F724AB01BC018BEB98E0A7 -:107950000F94000A20E030E0A901C701B6010F949E -:10796000011E87FF05C027E137EB41E558EB04C056 -:1079700027E137EB41E558E3C701B6010F94F7243F -:10798000AB01BC0186EB98E00F94000A8AE00E94EC -:10799000AA520E9484C1113011F40E9471890E9480 -:1079A0007DC40C94444B2093CD080C94444B8DED36 -:1079B000282E82E0382E93E7E92E92E1F92E2DE071 -:1079C00038E13DA32CA323EFC22E23E1D22E00E009 -:1079D00010E0D1018D911D010E94EA93882309F4E2 -:1079E0004BC00E946A932B013C01133049F0F60111 -:1079F00020813181428153810F94F6242B013C0177 -:107A0000ACA1BDA12D913D914D915C91C301B201FD -:107A10000F94F6244B015C012DEB37E346E855EB60 -:107A20000F94572787FD0AC02DEB37E346E855E34F -:107A3000C501B4010F94011E1816F4F4133051F46B -:107A40004092191850921A1860921B1870921C18C4 -:107A500001E012C0A5019401F7016081718182816A -:107A600093810F94F724D7016D937D938D939C930D -:107A70001397812F0E9402BE1F5FB4E0EB0EF11C32 -:107A8000ECA1FDA13496FDA3ECA3F4E0CF0ED11C34 -:107A9000143009F09ECF002321F089E198E10E9483 -:107AA000708C0E947DC40C94444B80912F028823DB -:107AB00011F40C94444B89E40E94EA93082F882324 -:107AC00021F00E946693E82E01C0E12C8AE40E9416 -:107AD000EA93182F882321F00E946693F82E01C0A4 -:107AE000F12C002319F024E02E1528F0112349F081 -:107AF00034E03F1530F488EC98E00F944C090C9476 -:107B0000444B0E9428930023F1F020915F133091A1 -:107B100060134E2D4203B001439F700D11248091DC -:107B2000551390915613680F791F072E000C880B80 -:107B3000990B0F94081E6093E3137093E4138093E2 -:107B4000E5139093E6131123F1F020916113309126 -:107B500062134F2D4203B001439F700D1124809199 -:107B6000571390915813680F791F072E000C880B3C -:107B7000990B0F94081E6093E7137093E81380939A -:107B8000E9139093EA1360E080E50E94F79388235D -:107B9000C1F10023D1F02091FF13309100144091E6 -:107BA0000114509102146091E3137091E4138091D9 -:107BB000E5139091E6130F94F6246093E31370930A -:107BC000E4138093E5139093E6131123D1F02091F1 -:107BD00003143091041440910514509106146091DF -:107BE000E7137091E8138091E9139091EA130F94D1 -:107BF000F6246093E7137093E8138093E91390934E -:107C0000EA1340E050E0BA0186E40E94FCCF6B0129 -:107C10007C0120E030E0A9010F945727181684F466 -:107C200020E030E040E752E4C701B6010F94F125AF -:107C3000609363027093640280936502909366027E -:107C40000E94B9BE0C94444B0E94717C0C94444B2E -:107C500080916412909165128537910509F49AC755 -:107C60000CF053C18934910509F479C40CF06CC04F -:107C70008A31910509F4FEC2B4F58431910509F405 -:107C800073C294F48131910509F44DC244F4029712 -:107C900010F00C94384B0E94D4B90C94444B42978A -:107CA00009F4A6C60C94384B8731910509F486C2B5 -:107CB0008CF48531910509F47DC2469711F00C943E -:107CC000384B0E94D75D80919817877F80939817D3 -:107CD0000C94444B8831910509F488C2499709F402 -:107CE000BEC20C94384B8F31910509F4F1C37CF47A -:107CF0008C31910509F436C30CF4CAC28D3191055B -:107D000009F43AC34E9709F43EC30C94384B8A32B7 -:107D1000910509F4FDC364F48032910509F492C31E -:107D2000819711F00C94384B0E946BD60C94444B05 -:107D30008B32910509F40FC4C09711F00C94384BA5 -:107D40000E94667D0C94444B8836910509F4B0C4BA -:107D5000D4F58135910509F433C6C4F48C3491050A -:107D600009F40CC44CF48B34910511F00C94384B8D -:107D70000E945A8A0C94444B8D34910509F402C434 -:107D80008E34910509F402C40C94384B8435910566 -:107D900009F42EC674F48235910509F426C683359C -:107DA000910511F00C94384B81E08093C7080C9436 -:107DB000444B8535910509F447C68C35910509F486 -:107DC0005CC60C94384B8E36910509F4EBC4D4F4A0 -:107DD0008B36910509F4E4C554F48936910509F40C -:107DE0007DC58A36910509F4B3C50C94384B8C36A1 -:107DF000910511F40C94444B8D36910509F47BC424 -:107E00000C94384B8137910509F422C55CF48F3608 -:107E1000910509F4D8C48037910511F40C94444BB2 -:107E20000C94384B8237910509F4B1C6833791051C -:107E300011F00C94384B8AE49BE00F944C0960E0FD -:107E40008AE39BE00E9465BA60E085E29BE00E94C5 -:107E500065BA61E08EE19BE00E9465BA61E083E172 -:107E60009BE00E9465BA61E083E09BE00E9465BAF6 -:107E700060E08AEF9AE00E9465BA61E080EF9AE0E4 -:107E80000E9465BA61E086EE9AE00E9465BA61E000 -:107E90008EED9AE00E9465BA61E080ED9AE00E9462 -:107EA00065BA61E082EC9AE00E9465BA60E083EB1B -:107EB0009AE00E9465BA60E085EA9AE00E9465BA9D -:107EC00060E08FE89AE00E9465BA61E08EE79AE090 -:107ED0000E9465BA61E08FE69AE00E9465BA61E0AF -:107EE0008AE59AE00E9465BA61E087E49AE00E9420 -:107EF00065BA60E08AE39AE00E9465BA60E086E2D3 -:107F00009AE00E9465BA0C94444B8E32A1E09A0725 -:107F100011F40C9426490CF06FC08B3C910509F4C8 -:107F2000FFC6ACF58D37910509F447C5BCF487371A -:107F3000910509F47AC60CF43EC68837910509F418 -:107F400077C68937910511F00C94384B10928D0942 -:107F500010928C090E94F2C50C94444B8E3B910503 -:107F600009F4AAC454F48C38910509F493C48B39EC -:107F7000910509F4C7C40C94384B883C910509F469 -:107F80005FC6893C910509F4A8C60C94384B8C3D1A -:107F9000910509F417C79CF48D3C910509F4E2C6DC -:107FA0000CF4DDC68E3C910509F4EAC6833D9105CB -:107FB00011F00C94384B0E94F0E30C94444B883140 -:107FC000E1E09E0709F4ADC754F48D3D910509F435 -:107FD00006C7823E910509F458C70C94384B82328B -:107FE00021E0920711F40C9428488D32914011F44D -:107FF0000C9433480C94384B843F41E0940711F4BF -:108000000C94864A0CF043C08239B1E09B0711F40E -:108010000C947049DCF48033F1E09F0711F40C9468 -:10802000B34814F40C946A49803931E0930711F491 -:108030000C946D498139914011F00C94384B81E0DA -:108040000E94B9890E947DC40C94444B843AA1E0FB -:108050009A0711F40C9483496CF48A39E1E09E0785 -:1080600011F40C94444B8C39914011F40C947849E0 -:108070000C94384B853A21E0920711F40C94864910 -:108080008C3A914011F40C94F6490C94384B883595 -:1080900042E0940711F40C94AE4A1CF5873FB1E01E -:1080A0009B0711F40C948C4A7CF4853FF1E09F0708 -:1080B00011F40C94894A863F914011F00C94384B8E -:1080C0000E9485F50C94444B883F31E0930711F4EE -:1080D0000C94954A8C30924011F40C94A64A0C945E -:1080E000384B8C36A3E09A0711F40C94444B7CF483 -:1080F0008B35E2E09E0711F40C94B14A833593402E -:1081000011F00C94384B0E94EAB30C94444B803A23 -:1081100023E0920709F4CCC1873E934011F40C94FC -:108120002A4B0C94384B8091601284FF02C00C944F -:108130004B4D8091621287FF02C00C944B4D809191 -:108140006312837011F00C944B4D60E087EE98E061 -:108150000E94F6ED5F988A98809108018170809363 -:10816000060112980C94444B8FEF98E00F944C0941 -:108170001092910B8CE095E10E947D668BE1ECE022 -:10818000F5E1DE01119601900D928A95E1F740E04C -:1081900050E0BE016F5F7F4F80E090E00E945D5F26 -:1081A000CE0101960E94B36780EF98E00F944C09CE -:1081B0000C94444B0E94485E0C94444BE0911C1379 -:1081C000F0911D138081882329F0803209F41082F8 -:1081D0003196F8CF40E061E080911C1390911D131F -:1081E0000E943361109247130C94444B8091230BEF -:1081F0008823E9F080E090E0A0EAB1E488A399A3A5 -:10820000AAA3BBA31C8E1D8E1E8E1F8E19821A82DE -:108210001B821C8220E0AE01405E5F4FBE01645EA7 -:108220007F4FCE0101960E9486950C94444B0E948C -:1082300048D7882321F00E94E85D0E945A8A40E0D6 -:1082400050E060E179E085E00E947F9561E082E0A6 -:1082500094E30E940C940E947AEE0C94444B80911B -:10826000981782FF03C08B7F809398170E9422E3A8 -:108270000C94444B8091981783FD02C00C94444B9E -:1082800083E50E94EA9381110C94674D0C94444B52 -:1082900083E40E94A1938823D9F184E299E00F94AA -:1082A0004C098091B614882351F1BE016F5F7F4F56 -:1082B00083EB94E10E9444658E010F5F1F4FD8014C -:1082C0008D918D01882319F00E94AA52F8CFBE012A -:1082D0006F5F7F4F80E090E00E94FB608091351AD5 -:1082E000882389F080E20E94AA5205E31AE1F8018E -:1082F00081918F01882339F00E94AA52F8CF8AE138 -:1083000099E00F944C098AE00E94AA520C94444BC5 -:1083100083E50E94EA93882309F10E944293182F73 -:1083200090E0CD970CF01CE31093BE080F9406016B -:108330006B017C01212F30E0A8EEB3E00F94AB2459 -:10834000C60ED71EE81EF91EC092BA08D092BB080E -:10835000E092BC08F092BD080C94444B0E94B05DC2 -:108360000C94444B40E060E080911C1390911D13ED -:108370000E9433610C94444B809198178E7F8093B8 -:1083800098170C94444B8091981783FD02C00C946D -:10839000444B0E9440FD8091981783FD02C00C94CD -:1083A000444B60911C1370911D13CE014C960F9499 -:1083B0008D038C01009711F40C94444B6C8D7D8DD2 -:1083C00019821C8222E0AC01CE0101960E94966BBC -:1083D000811102C0F12C14C0CE0101960F94FB0252 -:1083E0008823C1F361E0CE0101960E9428650097C1 -:1083F00089F325EEDC012C931C820E943767F82E4E -:10840000CE0101960E94B367B801FF2089F08EE487 -:1084100099E00F941E0A8AE00E94AA5210929417C3 -:108420001092951710929617109297170C94444B30 -:1084300086E399E00F941E0A83E399E00F944C09B8 -:108440000C94444B8091981782FD0E945F8C809120 -:10845000981783FD02C00C94444B60E080E50E94B5 -:10846000F793182F482F61E080911C1390911D13F2 -:108470000E94336183E50E94EA93882381F00E9481 -:108480003293AB01BC0140939417509395176093BE -:1084900096177093971783EB94E10E943E640E94B5 -:1084A000E85D11110C94444B0E945A8A0C94444B81 -:1084B00020911C1330911D13909198179260909306 -:1084C000981740E060E0C9010E9433610C94444B6E -:1084D0000E94A6EC6C8F7D8F8E8F9F8FBE016F5F89 -:1084E0007F4FCE014C960E948FD560E0CE01019661 -:1084F0000E9451EE0F94350ABE016F5F7F4F8CE5ED -:1085000099E00F941E0A8AE00E94AA520C94444BF0 -:1085100083E50E94EA93882311F40C94444B0E9453 -:108520004293F82E6DE070E080E50E9451A78C0127 -:1085300097FF02C00C94444BE82E60E089E40E944F -:10854000F79381110C94784D802F0E941B5081115C -:10855000B9C40C94784D0E94E0E40C94444B80E53F -:108560000E94A193882311F40C94444B8091981796 -:1085700082FF02C00C94444B0C94914D0E94F5EC88 -:108580000C94444B0E940A8B0C94444B60E070E0C6 -:1085900083E50E9451A78E34910531F40E94C58B6A -:1085A0000E947AEE0C94444B87EC99E00F944C09AE -:1085B00060917C0970917D098EEB99E00F94F3092D -:1085C00060917E0970917F0981EB99E00F94F30926 -:1085D00060917C0970917D0980917E0990917F095D -:1085E000681B790B80911811815021E030E08230B6 -:1085F00010F020E030E0621B730B86EA99E00F94E4 -:10860000F3098AE00E94AA528EE999E00F944C097E -:108610008091800990918109A0918209B09183098C -:108620008C8F9D8FAE8FBF8FBE016F5F7F4FCE014E -:108630004C960E948FD5BE016F5F7F4F81E999E014 -:108640000F941E0A8091840990918509A091860952 -:10865000B09187098C8F9D8FAE8FBF8FBE016F5FEA -:108660007F4FCE014C960E948FD5BE016F5F7F4F2A -:1086700081E899E00F941E0A20E030E04AE754E4D4 -:10868000609188097091890980918A0990918B097C -:108690000F94F125AB01BC0189E699E00F94000A23 -:1086A0008DE60E94AA528AE00E94AA520C94444B82 -:1086B0008091A31083FF02C00C94444B0E94F2E10E -:1086C00087FF02C00C94444B83E50E94EA93882301 -:1086D00079F00E946A930F9463268B01CB010E946C -:1086E000B0DF0135110524F40E940A8B0E947AEE56 -:1086F0000F947117C9C78091A31083FDC5C70E944D -:10870000F2E1F82E87FDC0C783E50E94EA93082FA7 -:10871000811106C082E50E94EA93182F8823C1F1D7 -:108720000E946A930F946326CB010E94B0DF0E94DF -:108730006A9320E030E040EA52E40F94011E1816DC -:1087400014F40C949C4D0E940A8B0E947AEE609166 -:10875000120C7091130C072E000C880B990B0F94C0 -:10876000081E4B015C0140900E0C50900F0C609065 -:10877000100C7090110CA30192010F94572718163A -:1087800014F40C94AF4D002311F40C94A04D11E09F -:108790000F947117112309F477C7602F8F2D0E9452 -:1087A000BCD972C78EE40E94EA93882309F46CC78F -:1087B0000E943293609318137093191380931A13C5 -:1087C00090931B1361C783E50E94A193882331F026 -:1087D00060E083E50E9460A78093A3100F94350AA0 -:1087E00087EF99E00F944C098091A310882369F1D9 -:1087F0000DEEE02E09E0F02E00E010E020E0809188 -:10880000A31090E0A0E0B0E0002E04C0B695A795BC -:10881000979587950A94D2F780FF0EC0DD24D394F4 -:10882000D20E222319F08CE20E94AA52F701859100 -:1088300094910F944C092D2D0F5F1F4FB2E0EB0E5A -:10884000F11C05301105D9F65ECD89EE99E059CDC0 -:1088500083E50E94EA93882371F00E944293282FB7 -:1088600030E02D3331051CF4809300020DC78CE3FA -:108870008093000209C70F94350A4091000250E02E -:1088800060E070E08EEF99E00F94E2098AE00E94C8 -:10889000AA52FAC68091A31083FDF6C683E50E9412 -:1088A000EA93882309F4F0C60E946A930F94632622 -:1088B000CB010E941A93E8C68091A31083FDE4C601 -:1088C00083E50E94EA93182F81110C94B24D82E542 -:1088D0000E94EA9381110C94B24DD6C60E94F2E137 -:1088E000182F87FD0AC083E29AE00F944C09812F6C -:1088F0000E94CCD78AE00E94AA52ECADE0934512C8 -:108900000C94384F83E50E94EA93882309F4BCC68F -:108910000E944293182F90E0CD970CF01CE3109327 -:10892000C3080F9406016B017C01212F30E0A8EEF3 -:10893000B3E00F94AB24C60ED71EE81EF91EC092FA -:10894000BF08D092C008E092C108F092C2089CC64D -:1089500060E080E50E9460A7F82EF1E0F81708F4C7 -:1089600093C681E40E94A193882321F06091F70BC4 -:10897000062F02C00FEF10E083E50E94EA938823E0 -:1089800049F00E9432938B016F3F710519F010F08E -:108990000FEF10E0EF2DF0E0E950F44F008374C6C4 -:1089A00060E080E50E9460A7823008F06DC6E82F85 -:1089B000F0E0E950F44F108267C60E9422E364C6DB -:1089C0000E94C1DF0E940A8B0E94A08D0E945D5010 -:1089D0001092DB0B1092DA0B1092D90B68EE73E059 -:1089E00080E090E00F941D094FC61092C7084CC656 -:1089F00083E50E94EA93882399F00E946A9320E01D -:108A000030E04AE754E40F94671E0F946A2660939F -:108A1000010270930202809303029093040234C611 -:108A20008091601284FF02C00C94E74D8091621225 -:108A300087FF02C00C94E74D80916312837011F0A0 -:108A40000C94E74D0C94184E83E50E94A193882363 -:108A500009F41AC60E946A9320E030E04AE754E421 -:108A60000F94671E0F946A266093C8087093C90814 -:108A70008093CA089093CB0807C60E94F2E187FD55 -:108A800003C69091601294FD04C09091621297FF0A -:108A90000AC0BDEDCB2EB2E0DB2E14EAE12E10E1D0 -:108AA000F12E10E009C090916312937091F7682F36 -:108AB00081E00E94A5E4E8C5D6018D916D010E9478 -:108AC000EA93882309F459C0133009F04FC00E947B -:108AD0006A934B015C0120E030E040EA51E40F94DE -:108AE000011E87FF3AC0A50194016091C4107091E6 -:108AF000C5108091C6109091C7100F94F1252B01DD -:108B00003C019B01AC016091D4107091D510809113 -:108B1000D6109091D7100F94671E6093D410709365 -:108B2000D5108093D6109093D7106091EF0B709171 -:108B3000F00B8091F10B9091F20B0F94061EA301A4 -:108B400092010F94671E0F946A266093EF0B709347 -:108B5000F00B8093F10B9093F20B8092C4109092E3 -:108B6000C510A092C610B092C71007C00E946A93A9 -:108B7000F701648B758B868B978B1F5FF4E0EF0E8C -:108B8000F11C143009F098CF0E943B8C7DC50E94E7 -:108B90007FBA7AC580911C1390911D13009741F004 -:108BA000DC012C91222321F060E00E9451EE6CC583 -:108BB0000E947AEE69C500911C1310911D1394E078 -:108BC000F12C40E0915021F1F8018081282F2B7F7A -:108BD000213421F421812133D9F407C08035C1F437 -:108BE000818180538A3048F013C0813421F085346C -:108BF00021F441E002C0FF24F39498012E5F3F4F1F -:108C000089012F5F3F4FF80180818032C9F3DACFAD -:108C100041110F94350AFF2021F081E39CE00F946D -:108C20004C09C8010E94B5532FC50E949BC52CC595 -:108C300081E080938D0980938C090E94F2C524C540 -:108C40000E94F2E1182F87FD1FC584E40E94A193C2 -:108C5000882309F43FC00E946A936B017C0101E004 -:108C600020E030E0A9010F94011E811101C000E055 -:108C70000093FD1020E030E0A901C701B6010F9478 -:108C8000011E882339F10E946A9324E01202F00148 -:108C90001124EE5FFE4E608371838283938320E014 -:108CA00030E0A901609102117091031180910411CB -:108CB000909105110F94011E81110CC080E090E08D -:108CC000A0EEBFE38093021190930311A0930411CF -:108CD000B09305110E94CA8ED7C40E94F2E187FDAD -:108CE000D3C4ADEDEA2EA2E0FA2E04EA10E1D701DA -:108CF0008D917D010E94A193882349F00E946A937F -:108D00000F946A26F80160837183828393830C5FDA -:108D10001F4FF0E1043B1F0751F70E94F48BB4C4CE -:108D20000E94F2E187FDB0C4FDEDEF2EF2E0FF2ED0 -:108D300004EA10E1D7018D917D010E94A19388235F -:108D400039F00E946A93F80164A375A386A397A3E0 -:108D50000C5F1F4FF0E1043B1F0761F795C40E94B1 -:108D6000A4CC92C48091601281FD65C7809161128C -:108D700081FD61C7809162128C7009F05CC784C468 -:108D80007DEDC72E72E0D72EE0E9EE2EE9E0FE2E53 -:108D900010E0D6018D916D010E94A193882351F0BE -:108DA0000E946A93F7016083718382839383812F8A -:108DB0000E9402BE1F5FF4E0EF0EF11C133049F772 -:108DC0000C94513D83E50E94EA93882309F45CC426 -:108DD0000E94669390934F0280934E0255C40E9466 -:108DE000F2E1F82E87FD50C483E50E94EA930F2D2F -:108DF0000F2C000C110B882369F10E946693F80177 -:108E0000EE0FFF1FE55EFD4F91838083000F111F62 -:108E1000000F111F98012B5E3D4F7901BC01990F86 -:108E2000880B990B0F94081E2AE037ED43E25CE3B0 -:108E30000F94671EF801E250FF4E2081318142817C -:108E400053810F94671ED7016D937D938D939C93EF -:108E500013971AC40F94350A85E40E94AA5280E33E -:108E60008F0D0E94AA52000F111FF801E55EFD4F01 -:108E70006081718184E59CE00F94110A85E20E9473 -:108E8000AA528AE00E94AA52FFC380E50E94A193E1 -:108E9000882309F4F9C360E070E080E50E9451A7DF -:108EA000F82E6FEF7FEF83E50E9451A78C010196AA -:108EB000039708F0E9C3F7FCE7C38F2D0E941B500E -:108EC000882339F00F94310A8CE59CE00F944C090B -:108ED000DBC30E945F8C60E08F2D0E94A8FF0F3FD4 -:108EE000BFEF1B0731F00130110571F000E010E019 -:108EF0000DC08F2D0E9450FF31E020E0892B09F03A -:108F000030E0032F122F02C001E010E08F2D0E94ED -:108F100050FF8017910709F4B7C380E00E94D65331 -:108F2000F5CF80E50E94A193882309F4ADC30E9488 -:108F300066938C01892B09F07FC083E50E94A19381 -:108F4000882389F00E9466938F3FEFEF9E0729F4F4 -:108F500084E995E10E94625097C3BC0184E995E1E0 -:108F60000E94325191C30F94350A60E070E084E8AA -:108F70009CE00F94110A8091961528E532E0690172 -:108F8000C81AD10887FDD394CC0CDD1CCC0CDD1C99 -:108F90000D2C000CEE08FF088091951528E830E0B4 -:108FA0004901881A910887FD9394880C991C880CB4 -:108FB000991C092C000CAA08BB08809194158F3FBE -:108FC000C1F090E0FC01EE0FFF1F8E0F9F1FFC0110 -:108FD000E95DFA4E2181328183E0220F331F8A95A9 -:108FE000E1F794E0369527959A95E1F72E5F3F4F8C -:108FF00002C020E030E02F5F3F4FC901330FAA0BC2 -:10900000BB0B9C01AD01281939094A095B09A4EB86 -:10901000B0E00F949824A7019601281939094A094C -:109020005B090F947924B90181E89CE00F94110A3F -:109030008AE00E94AA5228C30F94310AB8018AE735 -:109040009CE00F94110A8BE69CE00F944C091CC322 -:109050008AE50E94EA93811147C683E50E94EA935C -:10906000811142C611C360E085E40E9460A78111AE -:1090700073C080E50E94A193882351F00E946A93F7 -:109080006093150C7093160C8093170C9093180C2A -:1090900089E40E94A193882381F00E946A932CEABC -:1090A00035EC47E25EE30F94671E6093190C7093F2 -:1090B0001A0C80931B0C90931C0C84E40E94A193C7 -:1090C000882381F00E946A932CEA35EC47E25EE344 -:1090D0000F94F12560931D0C70931E0C80931F0C50 -:1090E0009093200C0F94350A4091150C5091160C5A -:1090F0006091170C7091180C87EB9CE00F94000A9C -:109100002CEA35EC47E25EE36091190C70911A0C81 -:1091100080911B0C90911C0C0F94F125AB01BC01AC -:1091200083EB9CE00F94000A2CEA35EC47E25EE307 -:1091300060911D0C70911E0C80911F0C9091200C61 -:109140000F94671EAB01BC018FEA9CE00F94000AEC -:109150008AE00E94AA5298C20F94310A8DE99CE0DD -:109160000F944C0991C280E50E94A193882351F08D -:109170000E946A9360936C0970936D0980936E09E5 -:1091800090936F0989E40E94A193882381F00E9443 -:109190006A932CEA35EC47E25EE30F94671E609316 -:1091A000700970937109809372099093730984E434 -:1091B0000E94A193882381F00E946A932CEA35ECE7 -:1091C00047E25EE30F94F12560937409709375098B -:1091D00080937609909377090F94350A40916C0932 -:1091E00050916D0960916E0970916F0983EC9CE05C -:1091F0000F94000A2CEA35EC47E25EE360917009B7 -:109200007091710980917209909173090F94F12501 -:10921000AB01BC018FEB9CE00F94000A2CEA35EC0B -:1092200047E25EE360917409709175098091760957 -:10923000909177090F94671EAB01BC018BEB9CE00A -:109240000F94000A8AE00E94AA521EC283E50E947F -:10925000A193182F882371F00E946A930F946326BC -:1092600070931A026093190221E0672B09F020E045 -:109270002093090C80E50E94A193882359F0209146 -:10928000190230911A02232B11F00E9456938093F9 -:10929000090CFAC11111F8C10F94350A83EE9CE054 -:1092A0000F944C098091090C882319F08BEC9CE0F9 -:1092B00002C087EC9CE00F944C09609119027091F8 -:1092C0001A0282ED9CE00F94110A8EEC9CE00F9440 -:1092D0004C09DAC10E9413D0D7C10E945F8CD4C15F -:1092E00080E00E94B9890E9471890E947DC4CCC12E -:1092F00080916012887809F080C580916212867032 -:1093000009F07BC556C50E946CA7BEC16FEF7FEF09 -:1093100089E40E9451A7F82E6FEF7FEF8AE40E9444 -:1093200051A7E82E8AE50E94A193182F811105C04C -:1093300081E50E94A193B82E01C0B12CF7FC06C0B4 -:10934000E7FC04C0111109C0B11007C00F94310A25 -:109350008DE49DE00F944C0997C1F4E0FF1510F0E7 -:10936000FE1538F40F94310A8EE29DE00F944C09FB -:109370008BC1CF2C0F2C000CDD080E2D0E2C000CF9 -:10938000110B0E946A93BB2099F025E02C9DF001FF -:109390002D9DF00D1124E00FF11FEE0FFF1FEE0FBA -:1093A000FF1FE559FC4E208131814281538103C06A -:1093B00020E030E0A9010F94F7249B01AC0185E087 -:1093C0008C9DF0018D9DF00D1124E00FF11FEE0F2B -:1093D000FF1FEE0FFF1FE559FC4E208331834283B0 -:1093E00053836E2D8F2D0E94CECE4EC10E94B77C2E -:1093F00081114AC10EE115E22DE038E13DA32CA315 -:10940000CE0101965C0143E7842E45E2942E1C01B7 -:10941000F8016591759185919491ACA1BDA1CD9014 -:10942000DD90ED90FD90BDA3ACA3A70196010F9434 -:10943000F6242B013C01F1016083718382839383C5 -:1094400020E030E040EA51EC0F94572787FD0AC036 -:1094500020E030E040EA51E4C301B2010F94011E64 -:1094600018162CF4F401849118160CF4F6C4D101EA -:10947000CD90DD90ED90FD901D0120E030E040EAC0 -:1094800051ECC701B6010F94572787FD0AC020E0B1 -:1094900030E040EA51E4C701B6010F94011E1816EE -:1094A00064F40F94310A8BE89DE00F944C0961E05D -:1094B0008DE79DE00E94F6EDE7C00C5F1F4FBFEF08 -:1094C0008B1A9B0AE5E20A321E0709F0A1CF30E9A8 -:1094D000E32E39E0F32E10E0F50181919191A191F5 -:1094E000B1915F01F70181939193A193B1937F01B2 -:1094F000812F0E9402BE1F5F133071F70E947DC44E -:1095000060E08DE69DE00E94F6EDBEC00E94D1E7CE -:10951000BBC00E94D3F9B8C061E083E50E94F79315 -:1095200091E089270E94CAF6AFC081E080935A1368 -:109530000E94EFEE10925A13882309F4A5C00F94ED -:10954000350A89EA9DE00F944C099EC080919817D6 -:1095500082FF9AC080628093981796C00E941BE297 -:1095600093C00E94F2E1082F87FD8EC085E50E941E -:10957000A1938823B1F1E02E002E000CFF080E9479 -:109580006A934B015C0120E030E0A9010F9457275A -:1095900087FF04C0B7FAB094B7F8B094C70123E0CE -:1095A000880F991F2A95E1F79C012D593C4E7901AE -:1095B000D9018D929D92AD92BC92139720E030E03C -:1095C0004AEF53E4C501B4010F94572718164CF421 -:1095D00080E090E0AAEFB3E4F70180839183A28357 -:1095E000B3838CE40E94A193882309F44DC0002E1C -:1095F000000C110B0E946A936B017C0120E030E0AB -:10960000A9010F94572787FF04C0F7FAF094F7F8E1 -:10961000F09420E030E04AEF53E4C701B6010F9424 -:109620005727980193E0220F331F9A95E1F7F9012C -:10963000ED59FC4E18162CF0C482D582E682F782D2 -:1096400023C080E090E0AAEFB3E484839583A683EF -:10965000B7831AC081E080932F021092D70B60E08D -:1096600083E50E94F79381110FC00E9456D70CC06A -:109670000E94717C09C080916412882329F00E94A5 -:10968000876C02C00E94717C2296FFAD2297F11177 -:1096900002C00E94F3B22CAD20934512E9C30E9490 -:1096A0005F8C309125183CAB80E00F94C2060E947D -:1096B0009DC181E080938D090E94F2C588E50E94DA -:1096C000A193182F89E50E94A193082F8AE50E9493 -:1096D000A1931013C0C1181711F0012FBCC101E0F4 -:1096E00011E091E09CA70E94289382E50E94EA93F2 -:1096F000882361F00E946A936B017C0120E030E0D6 -:10970000A9010F94011E882369F106C0C12CD12C38 -:1097100030E8E32E30E4F32E111103C0002309F4E6 -:10972000FCC0C092EB13D092EC13E092ED13F092D8 -:10973000EE13A7019601609115187091161880918B -:109740001718909118180F94011E87FF0BC01982EB -:109750001A821B821C82BE016F5F7F4F8BEE93E1EA -:109760000E949FC2112309F4D3C0002309F4CDC085 -:1097700010921118109212181092131810921418B7 -:1097800010920D1810920E1810920F1810921018B7 -:109790000E9448C3E3E7F5E2A491A8AFE7E6F5E24B -:1097A000C590D590E590F490EBE6F5E28590959024 -:1097B000A590B490A5019401C701B6010F94572755 -:1097C00018162CF4A7019601C501B40104C0A50127 -:1097D0009401C701B6010F94F1252B013C01EEE283 -:1097E000F5E285919591A591B4918CA39DA3AEA32B -:1097F000BFA3EAE2F5E285919591A591B49188A77E -:1098000099A7AAA7BBA79C01AD016CA17DA18EA1C0 -:109810009FA10F945727181634F428A439A49AA5A9 -:1098200098AB1BA505C02CA03DA0AEA1A8AB1FA165 -:10983000A3019201C301B2010F94671E20E030E042 -:1098400040E85FE30F94F7240F94A527910148A9FE -:10985000512F0F94671E68A379A38AA39BA3E4E703 -:10986000F5E2149120E030E040EC5FE3C501B40183 -:109870000F94671E4B015C01612F110F770B880B52 -:10988000990B0F94081E9B01AC01C501B4010F9404 -:10989000671E69837A838B839C8320E030E040ECF1 -:1098A0005FE3C701B6010F94671E6B017C01B8AD81 -:1098B0006B2FBB0F770B880B990B0F94081E9B0126 -:1098C000AC01C701B6010F94671E6C8F7D8F8E8F20 -:1098D0009F8FAE01405E5F4FBE016F5F7F4FCE0135 -:1098E0004C960E947DC20E947AF510921118109237 -:1098F0001218109213181092141810920D1810923A -:109900000E1810920F181092101880E00E944AC38F -:10991000002319F081E00E944AC3ECA5EE2309F46C -:109920008CC080E00E942199809114148370833050 -:1099300051F060E08DEC97E00E94F6ED0F94350A4F -:109940008EEB97E093C00E9448C3809115189091C8 -:109950001618A0911718B09118188093EB139093D4 -:10996000EC13A093ED13B093EE132091FF133091FD -:109970000014409101145091021460E070E080EAFC -:1099800092E40F94F6246B017C016093E3137093CF -:10999000E4138093E5139093E61320910314309120 -:1099A0000414409105145091061460E070E080EAC0 -:1099B00092E40F94F6244B015C016093E7137093DB -:1099C000E8138093E9139093EA1327E137EB41ED15 -:1099D00058EB0F94572787FD40C023E030E041EE5D -:1099E00053E4C501B4010F94011E1816B4F127E128 -:1099F00037EB41ED58EBC701B6010F94572787FDB0 -:109A00002CC023E030E84DEE53E4C701B6010F94BB -:109A1000011E181614F119821A821B821C82AE01D3 -:109A20004F5F5F4F67EE73E183EE93E10E947DC26B -:109A300082E00E944AC30E9471890E9448C38091BB -:109A40008C0980938D098CA90F94C2060E9484C151 -:109A50000E947DC419CE8CA746CE60E08DEA97E0C7 -:109A60000E94F6ED0F94350A8BE997E00F944C09AC -:109A7000E2CF61E081E998E00E940C948CE198E0EB -:109A80000E94F1BB61E084EE93E30E940C948DE0B0 -:109A900098E00F94260288E50E94A19381115F98B7 -:109AA00089E50E94A19381118A988AE50E94A19379 -:109AB000882329F08091080181708093060185E454 -:109AC0000E94A193882309F4DFCD1298DDCD0E9476 -:109AD0003293AB01BC014093941750939517609358 -:109AE00096177093971783EB94E10E943E64CCCD58 -:109AF00061E0802F0E94A8FF6F2D802F0E9479FFC8 -:109B00006F2D70E0802F0E94E4FF47E0E41203C055 -:109B1000F092F80BB9CD89E0E812B6CDF092F70BD0 -:109B2000B3CD0E94429390E08536910514F084E60F -:109B300090E080934713A8CD0E945A8A0C94A743C3 -:109B4000A3019201C501B4010F94572718163CF0E8 -:109B50008FEC99E060E00E94F6ED0C94C7438CED29 -:109B600099E0F8CF0E946A930F946326CB010E947C -:109B70001A930E946A9320E030E040EA50E40F9488 -:109B80005727181614F40E945A8A60916909709137 -:109B90006A09072E000C880B990B0F94081E209160 -:109BA00065093091660940916709509168090F94E1 -:109BB000572718161CF484E19AE002C085E09AE069 -:109BC00060E00E94F6ED812F0E943ED85DCD0E949C -:109BD0005F8C88E50E94A193882331F05F9A809181 -:109BE00014148E7F8093141489E50E94A193882316 -:109BF00031F08A9A809114148D7F809314148AE531 -:109C00000E94A193882359F080910801809581706A -:109C100080930601809114148B7F8093141485E443 -:109C20000E94A193882309F42FCD0E9419502CCDB6 -:109C30000E94A08D29CD82E40E94A193882351F037 -:109C40000E941ACD6093B4107093B5108093B61033 -:109C50009093B71083E50E94A193882351F00E944E -:109C60006A936093E4107093E5108093E6109093EC -:109C7000E71084E50E94A193882351F00E946A9323 -:109C80006093E8107093E9108093EA109093EB10C2 -:109C90008AE40E94A193882309F4F6CC0E946A9377 -:109CA0006B017C012AE037ED43E25CE30F94572718 -:109CB00087FD13C02AE939E949E95EE3C701B60126 -:109CC0000F94011E18164CF0C092DF0BD092E00BDF -:109CD000E092E10BF092E20BD7CC0F94310A85E3CE -:109CE0009CE00F944C09D0CC0E946A9320E030E0B5 -:109CF00040E050EC0F94011E87FD15C00E946A934E -:109D000020E030E040E050E40F94572718162CF084 -:109D10000E946A936B017C010BC0C12CD12CE12CF9 -:109D200010E4F12E05C0C12CD12CE12CB0ECFB2E9F -:109D30002091C0103091C1104091C2105091C310B9 -:109D4000C701B6010F94671E0F946326CB010F94D1 -:109D5000750480E50E94A193882329F00E94569300 -:109D6000882309F491CCA7019601609107147091A2 -:109D700008148091091490910A140F94F7246093A9 -:109D80000714709308148093091490930A140F9485 -:109D9000350A40910714509108146091091470918C -:109DA0000A148CE89CE00F94000A8AE00E94AA52F0 -:109DB0006BCC0F94350A8DE19DE00F944C09809196 -:109DC0002A02811117C086EF9CE00F944C098AE0AB -:109DD0000E94AA5240915B0250915C0260915D0228 -:109DE00070915E028DEF9CE00F94000A8AE00E9461 -:109DF000AA524ACC8AEF9CE0E8CF88E40E94A19363 -:109E0000882321F00E9456938093CC0882E50E941B -:109E1000A193082F83E50E94A193182F011102C07E -:109E2000882351F010925F090E944050112321F0C5 -:109E30000E94569380932A0284E40E94A19388236F -:109E400009F422CC0E946A9360935B0270935C02D7 -:109E500080935D0290935E0217CCF7FAF094F7F8C6 -:109E6000F094D101CD92DD92ED92FC921397FFCA4E -:109E7000CF5BDF4F0FB6F894DEBF0FBECDBFDF91D3 -:109E8000CF911F910F91FF90EF90DF90CF90BF90F7 -:109E9000AF909F908F907F906F905F904F903F908A -:109EA0002F900895CF92DF92EF92FF920F931F931E -:109EB000CF93DF936C018B017A01EC01CD52D74F28 -:109EC000888187FF04C0FB011182108224C02CE02E -:109ED0002C9DC0012D9D900D11242881AC01420FB5 -:109EE000511D27FD5A952091931530E042175307D5 -:109EF00094F42881AC01420F511D27FD5A959A0117 -:109F0000FA01EE0FFF1F2E0F3F1FF901E95DFA4E18 -:109F1000208127FD19C088818F5F88832CE02C9DCC -:109F2000C0012D9D900D11242881AC01420F511DBF -:109F300027FD5A952091931530E042175307BCF442 -:109F400028812C3044F113C02881820F911D27FDF8 -:109F50009A95FC01EE0FFF1F8E0F9F1FFC01E95D1C -:109F6000FA4E808160E08F770E9479FFD4CFF801AC -:109F700080819181049680349C4918F480E49CE9A6 -:109F800004C0F801808191810496F7019183808358 -:109F90008FEF888345C0F801408151812881BC0141 -:109FA000620F711D27FD7A959B01FB01EE0FFF1FCC -:109FB0002E0F3F1FF901E95DFA4E21813281240FF6 -:109FC000351FF701318320832881AC01420F511DD9 -:109FD00027FD5A959A01FA01EE0FFF1F2E0F3F1F22 -:109FE000F901E95DFA4E208127FF1AC02881820F0E -:109FF000911D27FD9A95FC01EE0FFF1F8E0F9F1FED -:10A00000FC01E95DFA4E808161E08F77DF91CF91AD -:10A010001F910F91FF90EF90DF90CF900C9479FFFC -:10A02000DF91CF911F910F91FF90EF90DF90CF9034 -:10A030000895129A0895FF920F931F93CF93DF9381 -:10A040001F92CDB7DEB7F82E0EEC1DE041E050E0D8 -:10A05000B801CE0101960F943B1D89818F1102C07A -:10A0600081E007C00F5F1F4F8DE0073E180771F7B3 -:10A0700080E00F90DF91CF911F910F91FF90089595 -:10A0800080915B0290915C02A0915D02B0915E02B2 -:10A090008093321190933311A0933411B093351102 -:10A0A00008958091D608811107C00E94D3F98823B2 -:10A0B00019F081E08093D6080895E7EFFBE0108265 -:10A0C00011820895DC01EC91F0E0CF01880F991F17 -:10A0D000E80FF91FE95DFA4E80818F77808308953C -:10A0E0008F929F92AF92BF92CF92DF92EF92FF92A8 -:10A0F0000F93CF93DF931F92CDB7DEB75C016B0157 -:10A100007A014901F501808191810F94312489837D -:10A11000002311F0F6018083BE016F5F7F4FC40101 -:10A120000F941701F50180819181019691838083BD -:10A13000FFEFCF1ADF0A81E0E81AF10819F780E093 -:10A140000F90DF91CF910F91FF90EF90DF90CF9024 -:10A15000BF90AF909F908F9008957F928F929F9223 -:10A16000AF92BF92CF92DF92EF92FF920F931F9325 -:10A17000CF93DF931F92CDB7DEB77C0159018B01DE -:10A180006B01C40ED51E0C151D0559F1F701808019 -:10A190009180F80171908F017982C4010F9431246C -:10A1A000781691F0672DC4010F943924C4010F94DF -:10A1B00031249981891741F00F94350A84EB9DE091 -:10A1C0000F944C0981E00EC0BE016F5F7F4FC50147 -:10A1D0000F941701F701808191810196918380830B -:10A1E000D2CF80E00F90DF91CF911F910F91FF9020 -:10A1F000EF90DF90CF90BF90AF909F908F907F9027 -:10A200000895009781F41092900082E0809391006D -:10A210001092950010929400C19A80917100826012 -:10A220008093710008958130910569F41092A00027 -:10A2300082E08093A1001092A5001092A40089BB37 -:10A24000809372000895029761F41092200182E0D9 -:10A250008093210110922501109224018ABB8093E2 -:10A26000730008957F928F929F92AF92BF92CF9288 -:10A27000DF92EF92FF920F931F93CF93DF93FC0136 -:10A280009081943208F0CEC06B017F01892F90E05D -:10A29000FC01EE0FFF1F8E0F9F1FFC01E95DFA4EC0 -:10A2A000808161E08F770E94A8FFF70111821282FE -:10A2B00080816CE00F94BA24FCE08F9FB0011124E0 -:10A2C00040E050E09B01240F351FF901EE0FFF1F06 -:10A2D0002E0F3F1FF901E95DFA4E908197FD08C0EE -:10A2E0004F5F5F4F4C30510569F790E00E9401517C -:10A2F000F7017080C72DD0E08E01000F111FF8010B -:10A30000EC0FFD1FE95DFA4E80818068808377FC49 -:10A3100089C0F0E2CF16F2E0DF060CF041C0F70191 -:10A32000828128E532E0281B310987FD3395220F11 -:10A33000331F220F331F032E000C440B550B81815A -:10A3400068E870E04B01881A910887FD9394880CA7 -:10A35000991C880C991C092C000CAA08BB08D7FC76 -:10A360000BC0B601653B710514F064EB70E0072E7D -:10A37000000C880B990B03C060E070E0CB0128193A -:10A3800039094A095B090F94472424EB30E040E087 -:10A3900050E00F947924820E931EA41EB51E01C0B6 -:10A3A0004601F3E2F71558F1F701218188E890E0C2 -:10A3B000821B910927FD9395880F991F880F991F7C -:10A3C0008816990684F0F701228188E592E0821BC5 -:10A3D000910927FD9395880F991F880F991F88165B -:10A3E00099060CF4C40102972FB7F894C00FD11F3F -:10A3F000C95DDA4E880F991F9A8389832FBF62E364 -:10A4000070E080E090E0DF91CF911F910F91FF907D -:10A41000EF90DF90CF90BF90AF909F908F907F9004 -:10A420000D941D09DF91CF911F910F91FF90EF9037 -:10A43000DF90CF90BF90AF909F908F907F900895C6 -:10A440001F920F920FB60F9211240BB60F922F93FB -:10A450003F934F935F936F937F938F939F93AF93AC -:10A46000BF93EF93FF9348E251E064E271E082E032 -:10A4700090E00E94524FFF91EF91BF91AF919F9159 -:10A480008F917F916F915F914F913F912F910F909D -:10A490000BBE0F900FBE0F901F9018951F920F923A -:10A4A0000FB60F9211240BB60F922F933F934F9339 -:10A4B0005F936F937F938F939F93AF93BF93EF932C -:10A4C000FF9348EA50E064EA70E081E090E00E9487 -:10A4D000524FFF91EF91BF91AF919F918F917F91DB -:10A4E0006F915F914F913F912F910F900BBE0F9005 -:10A4F0000FBE0F901F9018951F920F920FB60F92DC -:10A5000011240BB60F922F933F934F935F936F934A -:10A510007F938F939F93AF93BF93EF93FF9348E9FC -:10A5200050E064E970E080E090E00E94524FFF91BB -:10A53000EF91BF91AF919F918F917F916F915F91BB -:10A540004F913F912F910F900BBE0F900FBE0F9028 -:10A550001F9018959091C00095FFFCCF8093C60086 -:10A5600008958F929F92AF92BF92EF92FF920F93B6 -:10A570001F93CF93DF93CDB7DEB7A0970FB6F894B4 -:10A58000DEBF0FBECDBF611571058105910591F14B -:10A5900000E0842E912CA12CB12C102FEE24E394FA -:10A5A000F12CEC0EFD1EE00EF11C07FDFA94A50146 -:10A5B00094010F945724F7016083B901CA010F5F1A -:10A5C000611571058105910541F71F3F31F1E1E00A -:10A5D000F0E0EC0FFD1FE10FF11D17FDFA958081F2 -:10A5E0008A3010F097E301C090E3890F0E94AA52CD -:10A5F0001150EBCF80E3A0960FB6F894DEBF0FBEEC -:10A60000CDBFDF91CF911F910F91FF90EF90BF9041 -:10A61000AF909F908F900C94AA52A0960FB6F8948A -:10A62000DEBF0FBECDBFDF91CF911F910F91FF9085 -:10A63000EF90BF90AF909F908F900895CF92DF9250 -:10A64000EF92FF926B017C0197FF0BC08DE20E949D -:10A65000AA52F094E094D094C094C11CD11CE11C87 -:10A66000F11C4AE0C701B601FF90EF90DF90CF9058 -:10A670000C94B1528F929F92AF92BF92CF92DF9281 -:10A68000EF92FF92CF936B017C01B42E20E030E07B -:10A69000A9010F94011E87FF07C08DE20E94AA52F4 -:10A6A000F7FAF094F7F8F094C0E060E070E080E032 -:10A6B0009FE3CB1541F02DEC3CEC4CEC5DE30F94AB -:10A6C000671ECF5FF6CF9B01AC01C701B6010F94A7 -:10A6D000F7246B017C010F946A264B015C014AE070 -:10A6E0000E94B152CC2389F1C501B4010F94061E1A -:10A6F0009B01AC01C701B6010F94F6246B017C01EC -:10A700008EE20E94AA5220E030E040E251E4C7010C -:10A71000B6010F94671E4B015C010F9463266B0119 -:10A72000770FEE08FF08C701B6010E941E53C7014C -:10A73000B6010F94081E9B01AC01C501B4010F9432 -:10A74000F6246B017C01C150F1F6CF91FF90EF90A0 -:10A75000DF90CF90BF90AF909F908F9008958DE045 -:10A760000E94AA528AE00C94AA52CF93DF93EC0184 -:10A770008991882319F00E94AA52FACFDF91CF91D4 -:10A780000C94AF538091941290919512981759F0B0 -:10A79000E92FF0E0EC56FD4E82819F5F9F7790930A -:10A7A000951290E008958FEF9FEF08952F923F92BA -:10A7B0004F925F926F927F928F929F92AF92BF92D1 -:10A7C000CF92DF92EF92FF920F931F93CF93DF937D -:10A7D000CDB7DEB728970FB6F894DEBF0FBECDBF5A -:10A7E000E82E0E94501D0F9406014B015C018091E0 -:10A7F0000002882359F180914512882339F1409154 -:10A80000D7085091D8086091D9087091DA0895015D -:10A810008401041B150B260B370B37FD2AC0833030 -:10A8200079F03CF4813094F00F94350A86E19EE093 -:10A830000BC0843059F40F94350A87EE9DE004C0B4 -:10A840000F94350A8FEF9DE00F944C092091000280 -:10A8500030E0A8EEB3E00F94AB24860E971EA81E3E -:10A86000B91E8092D7089092D808A092D908B092C9 -:10A87000DA0880912A02882319F180915F098111F9 -:10A880001FC08091981782FD08C0809118118130F7 -:10A8900021F08091230B882399F0F894649919C6CC -:10A8A0006091321170913311809134119091351172 -:10A8B000789420E030E0A9010F94011E87FD99C52E -:10A8C0008091200B843008F07EC20F9406014B016A -:10A8D0005C018091200B81111DC080919412909198 -:10A8E0009512891B8F77B1F48091400990914109AD -:10A8F000A0914209B0914309A5019401281B390B8D -:10A900004A0B5B0BDA01C901885E9340A109B109CA -:10A91000B7FFF0C570E6F72E8091200B843008F069 -:10A9200035C18091941290919512891B8F7709F40B -:10A930002DC10E94C253AC0197FDEECF209116139A -:10A94000309117138A3019F08D3009F0ECC0109255 -:10A950003F092115310519F40E94679ADDCFF901ED -:10A96000E152F74F108210921713109216130FED49 -:10A9700018E0F8018191803211F48F01FACF8E3402 -:10A9800009F07AC00115110509F476C068E97FE085 -:10A99000C8010F947F1D6C01892B41F06EE470E0BB -:10A9A000C80104960F944A28009709F4C8014AE0A8 -:10A9B00050E060E070E001960F94F71A6093DB08B6 -:10A9C0007093DC088093DD089093DE0840901813A4 -:10A9D0005090191360901A1370901B133FEF431A95 -:10A9E000530A630A730A641575058605970531F0E5 -:10A9F000CD2821F460E085E69FE051C06AE270E076 -:10AA0000C8010F9479289C01009709F1982F901B99 -:10AA1000D12C992339F09150F801E90FF11D808173 -:10AA2000D826F7CF4AE050E060E070E0C901019617 -:10AA30000F94F71A4D2C512C612C712C641575054F -:10AA40008605970541F060E086E49FE028C060E05D -:10AA50008CE19FE024C08091DB089091DC08A091FC -:10AA6000DD08B091DE088093181390931913A0931A -:10AA70001A13B0931B1316C08091981780FF12C051 -:10AA800064E171E1C8010F947F1D009729F0FC017A -:10AA9000838180538A3030F460E082EF9EE00E9430 -:10AAA00072D774C080912F0281111CC067E470E0DE -:10AAB000C8010F944A280097A9F04AE050E060E0EE -:10AAC00070E001960F94F71A6430710581059105C5 -:10AAD00048F48BE79EE00F944C0960E081E79EE02C -:10AAE0000E94F6ED8092400990924109A09242099D -:10AAF000B09243098091DF088B3309F40DCF809128 -:10AB0000200B843008F008CF80919C09F89EC0018A -:10AB100011246FED78E08156964F0F94552881E00F -:10AB20000E9448B3F9CE2F3531050CF0F5CE8C35A7 -:10AB3000C1F40E94C25397FDEFCE20913F0921112D -:10AB4000EBCE2091161330911713A9014F5F5F4F81 -:10AB50005093171340931613F901E152F74F808376 -:10AB6000DBCE8B3321F481E080933F09D5CE8091F9 -:10AB70003F098111D1CEC90101969093171380939B -:10AB80001613F901E152F74F4083C6CE8091981712 -:10AB900082FF19C18091200B811102C010924509DA -:10ABA000DD24D39440919417509195176091961796 -:10ABB000709197178091901790919117A09192178B -:10ABC000B0919317481759076A077B0708F4D12CEF -:10ABD00000E010E0CC24C39440E6B42E54E6A52E49 -:10ABE00069E6962E8091200B843008F0ECC0D110DD -:10ABF000EAC0809145098111E6C08091BB14909113 -:10AC0000BC14A091BD14B091BE148093941790937E -:10AC10009517A0939617B093971741E050E0BE01A7 -:10AC20006F5F7F4F83EB94E10E942368019719F4D3 -:10AC3000898190E002C08FEF9FEFF82E409094172B -:10AC400050909517609096177090971740919017B5 -:10AC5000509191176091921770919317DD24D394BE -:10AC6000441655066606770608F4D12C4416550698 -:10AC700066067706B0F4019609F461C02AE0F21680 -:10AC800009F46EC03DE0F31609F46AC043E2F4161D -:10AC900019F05AE3F5127CC080914409811178C003 -:10ACA00054C00E945F8C83EB94E10E94AA6780915C -:10ACB0008F17882339F1815080938F17989EC00198 -:10ACC000112441E061E0885D944F0E943361E0917E -:10ACD0008F1764E0E69FF0011124EC5DF44F408192 -:10ACE00051816281738140939417509395176093BB -:10ACF00096177093971783EB94E10E943E640E942D -:10AD0000E85D16C00E94D75D0E94A08D0E940A8B4C -:10AD10000E94A6EC6D3371058105910518F483EA54 -:10AD20009FE002C088EA9FE00E948FB3A092471381 -:10AD30008091981782FD0DC08BEB9FE004C00F94AB -:10AD4000310A8CEA9FE00F944C0973E2F71208C0B5 -:10AD500005C053E2F512DBC300E010E0C0924509E4 -:10AD6000109244090115110519F40E94679A0DC04B -:10AD700080919C09B89E000D111D1124F801E15627 -:10AD8000F64F108280E00E9448B300E010E02ACF26 -:10AD90000F35110508F026CF8BE3F81203C0C092DF -:10ADA000440920CF8091440981111CCF80919C09D6 -:10ADB000F801B89EE00DF11D1124E156F64FF08226 -:10ADC0000F5F1F4F0FCF0F9406014B015C014091A5 -:10ADD000C8085091C9086091CA087091CB08411504 -:10ADE00051056105710529F180910C1490910D14A4 -:10ADF000A0910E14B0910F14840F951FA61FB71FBA -:10AE000095018401081B190B2A0B3B0B37FD11C060 -:10AE10000F94310A6091DD0B7091DE0B8FEC9FE097 -:10AE20000F941E0A8AE00E94AA5280E090E00F94DC -:10AE3000260240910102509102026091030270913A -:10AE40000402411551056105710509F44EC0909148 -:10AE50009A1580919B15981759F00F9406016093ED -:10AE60000C1470930D1480930E1490930F143DC026 -:10AE70008091230B811137C0E11035C080910C14F3 -:10AE800090910D14A0910E14B0910F14840F951F82 -:10AE9000A61FB71FA5019401281B390B4A0B5B0B9A -:10AEA00057FD21C08091560981111FC081E0809318 -:10AEB00056095F9A809114148E7F809314148A9A95 -:10AEC000809114148D7F80931414809108018095D3 -:10AED000817080930601809114148B7F80931414E9 -:10AEE0000E94195002C01092560980915209909107 -:10AEF0005309A0915409B0915509B501A401481B0B -:10AF0000590B6A0B7B0B77FDBCC120919A15909170 -:10AF10009B158091540210915502291317C060911E -:10AF2000F70B869FB0011124660F672F661F770B02 -:10AF30007195062F8091F80B189FB0011124660FB0 -:10AF4000672F661F770B7195162F29C020919B15CF -:10AF500058E4259F900111242F5D334FF901EA5BDE -:10AF6000FF4F6081869FB0011124660F672F661F17 -:10AF7000770B7195062F31968081819FB001112446 -:10AF8000660F672F661F770B7195162F80919B15A3 -:10AF900090919A15981719F08F5F8F70F9CF002351 -:10AFA00031F10F940601C0904A09D0904B09E0900E -:10AFB0004C09F0904D09DC01CB01C114D104E1042E -:10AFC000F10469F48C599F4FAF4FBF4F80934A09EA -:10AFD00090934B09A0934C09B0934D0906C08C196E -:10AFE0009D09AE09BF09B7FF0AC00FEF08C0109254 -:10AFF0004A0910924B0910924C0910924D09602F8A -:10B0000070E089E00E94E4FF112331F10F94060102 -:10B01000C0904E09D0904F09E0905009F09051092E -:10B02000DC01CB01C114D104E104F10469F48C59B1 -:10B030009F4FAF4FBF4F80934E0990934F09A093FE -:10B040005009B093510906C08C199D09AE09BF097A -:10B05000B7FF0AC01FEF08C010924E0910924F09A7 -:10B060001092500910925109612F70E087E00E9400 -:10B07000E4FF80913413882309F4F6C0E0902102A4 -:10B08000F090220200912302109124026091120C90 -:10B090007091130C6E5F7F4F072E000C880B990B7D -:10B0A0000F94081E9701A8010F94011E87FDDCC0B4 -:10B0B00030909B15212C1A821B821C8280919A153C -:10B0C000831509F467C0832D90E068E4689FF00160 -:10B0D000699FF00D1124EF5DF34F4589568967890B -:10B0E000708D452B462B472B89F4418D528D638DF6 -:10B0F000748D452B462B472B49F4458D568D678D16 -:10B1000070A1452B462B472B09F43FC078E4789F6C -:10B110009001799F300D1124C9018F5D934F6C010F -:10B12000FC0161817281838194810F94A5272B0199 -:10B130003C01F60161A172A183A194A10F94061EA6 -:10B140006D837E838F839887F60165A176A187A1A1 -:10B1500090A50F94061E9B01AC016D817E818F81AD -:10B1600098850F94F125A30192010F94671E3B016E -:10B170006C01222D3A814B815C810F945727181660 -:10B1800024F4262C7A82CB82DC8281E0830D8F70BE -:10B19000382E94CF2091250230912602409127022B -:10B1A00050912802622D7A818B819C810F94671EB9 -:10B1B0009701A8010F94F7243B016C0120901D0218 -:10B1C00030901E0240901F02509020029B01AC0163 -:10B1D000B701C8010F94572718166CF09101A2010E -:10B1E000B301C6010F94572718161CF47101820190 -:10B1F00002C0730186014090460950904709609053 -:10B200004809709049099701A801C301B2010F9440 -:10B2100057271816C4F420E037ED43EA5CE3B70182 -:10B22000C8010F94671E6B017C0128E431EE4AE7E8 -:10B230005FE3C301B2010F94671EA70196010F944B -:10B24000F7247B018C01C701D801809346099093B4 -:10B250004709A0934809B0934909B701C8010F9461 -:10B260006326CB010E94B0DFF4E68F0E911CA11C77 -:10B27000B11C8092520990925309A0925409B09245 -:10B2800055090E94679A80911811813009F06EC0AB -:10B290000F9406016B017C0180915B0990915C0920 -:10B2A000A0915D09B0915E0997018601081B190BF9 -:10B2B0002A0B3B0B37FD3AC08090191190901A1160 -:10B2C000A0901B11B0901C110E94A6EC6093191164 -:10B2D00070931A1180931B1190931C110091800997 -:10B2E0001091810920918209309183090819190967 -:10B2F0002A093B09DC01CB01800F911FA21FB31F5C -:10B300008093800990938109A0938209B093830967 -:10B31000D701C601805F984DAF4FBF4F80935B0947 -:10B3200090935C09A0935D09B0935E0980915709E1 -:10B3300090915809A0915909B0915A09A701960115 -:10B34000281B390B4A0B5B0B57FD10C030E8C30EAE -:10B350003EEED31EE11CF11CC0925709D092580951 -:10B36000E0925909F0925A090E94E48A8091C30838 -:10B37000882391F00F9406010091BF081091C00836 -:10B380002091C1083091C208DC01CB01801B910BD8 -:10B39000A20BB30BB7FFBEC00F9406016B017C017B -:10B3A0002091BE08222309F4D3C08091BA0890915D -:10B3B000BB08A091BC08B091BD08B701A601481B0D -:10B3C000590B6A0B7B0B77FDC3C030E0A8EEB3E0EE -:10B3D0000F94AB24C60ED71EE81EF91EC092BA0801 -:10B3E000D092BB08E092BC08F092BD080E94B05D0C -:10B3F000AFC011E010935F098091230B811166C0EB -:10B400008AE196E00E94B55384E08093121182E0B5 -:10B4100080939A0881E09AE590931D1680931C16FC -:10B420008EE490E090931F1680931E1687E0809321 -:10B43000101682E88093131684E890E0A0E0B0E054 -:10B440008093141690931516A0931616B0931716A2 -:10B450000F94800110931D110E94309440E060E62B -:10B460007EE086E697E10E943C9480E30E94AA5227 -:10B470008AE00E94AA520E9424948091CC0860E045 -:10B48000182719F086E496E10DC08EE49EE00E9434 -:10B490000C9480E30E94AA528AE00E94AA5260E0C3 -:10B4A00088E29EE00E940C948CE39EE00F944C098D -:10B4B00080E30E94AA528AE00E94AA52112331F02E -:10B4C0008EE29EE090939E0980939D090E945F8C7E -:10B4D000F7C980915B0290915C02A0915D02B091EE -:10B4E0005E028093321190933311A0933411B09384 -:10B4F0003511D6C98DE99FE00F944C09809240091F -:10B5000090924109A0924209B092430903CA109255 -:10B5100044092BCC0F9406016B017C012091C308D8 -:10B5200030E0A8EEB3E00F94AB24C60ED71EE81EA1 -:10B53000F91EC092BF08D092C008E092C108F092F4 -:10B54000C20880E00E94CCD78AE00E94AA5224CF91 -:10B5500028960FB6F894DEBF0FBECDBFDF91CF9116 -:10B560001F910F91FF90EF90DF90CF90BF90AF9021 -:10B570009F908F907F906F905F904F903F902F9013 -:10B5800008951F920F920FB60F9211240F900FBEC5 -:10B590000F901F9018951F920F920FB60F921124C3 -:10B5A0000BB60F920F931F932F933F934F935F937D -:10B5B0006F937F938F939F93AF93BF93CF93DF93BB -:10B5C000EF93FF9300919512D091941211E01D0F0B -:10B5D0001F77C091C6009091D208492F092E000C08 -:10B5E000550B660B770B4131510508F064C0FA0129 -:10B5F0008827E256FF4F8F4F0D94EE24CD3449F04B -:10B60000CE34B9F481E006C0CA3338F0CD3409F045 -:10B6100043C082E08093D20876C0C03308F073C084 -:10B62000C03209F470C0CD32B9F56DC0C13351F0EC -:10B6300018F4C03289F567C0C43331F0C83361F5FE -:10B640008BE0E8CF83E0E6CF88E0E4CFC03321F0A1 -:10B65000C13311F586E0DECF84E0DCCFC833E1F4FE -:10B6600085E0D8CFC233C1F487E0D4CFC133A1F491 -:10B6700089E0D0CFC03381F48AE0CCCFC73361F406 -:10B680008CE0C8CFC63341F48DE0C4CFC032D9F1CD -:10B69000C33511F48EE0BECF80E1BCCF80ED8C0FBE -:10B6A0008A3088F59FE09093D2088093D1082BC010 -:10B6B000CA3049F526C0CA3031F580917E168823FC -:10B6C00001F1973089F03CF49530D9F410921402CE -:10B6D0001092461316C09A3059F09F3091F4809121 -:10B6E000D1080E9468940DC081E08093541109C074 -:10B6F0000E94F68D0E945F8C8EEF0E94DAC20E943B -:10B7000048C31092D208011731F0ED2FF0E0EC564B -:10B71000FD4EC283D12FD0939412FF91EF91DF9110 -:10B72000CF91BF91AF919F918F917F916F915F91D9 -:10B730004F913F912F911F910F910F900BBE0F9042 -:10B740000FBE0F901F9018958EBD0DB407FEFDCF54 -:10B7500008958FEF8EBD0DB407FEFDCF8EB5089511 -:10B76000909164009B7F90936400982F906A9695C7 -:10B770009CBD80FD03C091E0863009F490E09DBD42 -:10B780000895CF92DF92EF92FF920F931F93CF9382 -:10B79000DF936C017A018B01C0E0D0E0CE15DF05AC -:10B7A00081F0D8016D918D01D601ED91FC91019050 -:10B7B000F081E02DC6011995892B11F02196EECF6D -:10B7C0007E01C701DF91CF911F910F91FF90EF9004 -:10B7D000DF90CF900895089580E090E00895FC01F7 -:10B7E000538D448D252F30E0842F90E0821B930BE6 -:10B7F000541710F0CF96089501970895FC01918D8C -:10B80000828D981761F0828DDF01A80FB11D5D96C2 -:10B810008C91928D9F5F9F73928F90E008958FEF30 -:10B820009FEF0895FC01918D828D981731F0828DE4 -:10B83000E80FF11D858D90E008958FEF9FEF08953B -:10B84000FC01918D228D892F90E0805C9F4F821B9F -:10B8500091098F739927089586E194E10E94205CF5 -:10B8600021E0892B09F420E0822F0895FC01848DCA -:10B87000DF01A80FB11DA35ABF4F2C91848D90E01A -:10B8800001968F739927848FA689B7892C93A089F5 -:10B89000B1898C91837080648C93938D848D98137F -:10B8A00006C00288F389E02D80818F7D8083089512 -:10B8B000EF92FF920F931F93CF93DF93EC0181E000 -:10B8C000888F9B8D8C8D981305C0E889F9898081BC -:10B8D00085FD26C0F62E0B8D10E00F5F1F4F0F73F6 -:10B8E0001127E02E8C8DE8120CC00FB607FCFACFA2 -:10B8F000E889F989808185FFF5CFCE010E94365C09 -:10B90000F1CF8B8DFE01E80FF11DE35AFF4FF0825E -:10B910009FB7F8940B8FEA89FB89808180620AC007 -:10B920009FB7F894EE89FF896083E889F98980815F -:10B930008370806480839FBF81E090E0DF91CF912E -:10B940001F910F91FF90EF900895CF93DF93EC013B -:10B95000888D8823C9F0EA89FB89808185FD05C02F -:10B96000A889B9898C9186FD0FC00FB607FCF5CF69 -:10B97000808185FFF2CFA889B9898C9185FFEDCFB1 -:10B98000CE010E94365CE7CFDF91CF91089580E031 -:10B9900090E0892B41F080E090E0892B21F00E941B -:10B9A0000000811121C080E090E0892B41F080E00F -:10B9B00090E0892B21F00E940000811118C080E0E6 -:10B9C00090E0892B21F00E942C5C811113C080E053 -:10B9D00090E0892BA1F080E090E0892B81F00E941B -:10B9E000000081110AC008950E940000DCCF0E946F -:10B9F0000000E5CF0E940000EACF0C9400000895FB -:10BA0000FC0120E03EE2DB014C91403241F0283065 -:10BA100011F430833196DB014C91408331962F5FD6 -:10BA20006F5F7F4F2B3079F7108208950F940928AC -:10BA30000F931F93CF93DF938B01EA01DB016D918D -:10BA40007C910E944465D801ED91FC911197908101 -:10BA50008881992349F0893638F43196ED93FC9327 -:10BA600088818F5F8883EFCF893658F48FE2808397 -:10BA7000F8018081918101969183808388818F5F15 -:10BA80008883DF91CF911F910F9108951F920F929C -:10BA90000FB60F9211240BB60F922F933F934F9333 -:10BAA0005F936F937F938F939F93AF93BF93EF9326 -:10BAB000FF9386E194E10E94365CFF91EF91BF9184 -:10BAC000AF919F918F917F916F915F914F913F9136 -:10BAD0002F910F900BBE0F900FBE0F901F901895D7 -:10BAE0001F920F920FB60F9211240BB60F922F9345 -:10BAF0008F939F93EF93FF93E0912614F091271477 -:10BB00008081E0912C14F0912D1482FD12C090815F -:10BB100080912F148F5F8F7320913014821751F012 -:10BB2000E0912F14F0E0EA5EFB4E958F80932F1486 -:10BB300001C08081FF91EF919F918F912F910F9084 -:10BB40000BBE0F900FBE0F901F9018958BE1ECE08D -:10BB5000F5E1A1EFB4E101900D928A95E1F7089526 -:10BB60008091981782FF1FC084E992E10F944C09DD -:10BB700060919417709195178091961790919717EF -:10BB80004AE00E94B1528FE20E94AA52609190173F -:10BB90007091911780919217909193174AE00E94AB -:10BBA000B1520C94AF5386EA92E10D944C09109275 -:10BBB000230B809198178F7D8B7F809398170E941D -:10BBC00048D7882321F083EB94E10C94AA67089569 -:10BBD0008091981783FF03C084608093981708951D -:10BBE000CF92DF92EF92FF920F931F93CF93DF9349 -:10BBF000CDB7DEB7EDB6FEB6DC010D900020E9F75B -:10BC00009D01281B390B2C5F3F4F4DB75EB7421B80 -:10BC1000530B0FB6F8945EBF0FBE4DBF0DB71EB7E6 -:10BC20000F5F1F4F9F938F9380E991E19F938F93B5 -:10BC30001F930F930F94991D680154E0C50ED11CFA -:10BC40000F900F900F900F900F900F90F601808142 -:10BC5000882349F0082E000C990B0F940E28F6014A -:10BC600081936F01F3CFC8010E945DB38CE891E12D -:10BC70000E948FB30FB6F894FEBE0FBEEDBEDF91EB -:10BC8000CF911F910F91FF90EF90DF90CF9008958B -:10BC90008F929F92AF92BF92CF92DF92EF92FF92DC -:10BCA000CF9380919817877F8093981780910F1575 -:10BCB000882321F08CE095E10E94AA671092F0148D -:10BCC0001092ED1485E38093EC140F9406016B0140 -:10BCD0007C0120EDC20E27E0D21EE11CF11CA895CC -:10BCE00061E08091EC140E9479FF61E08091EC1496 -:10BCF0000E94A8FF209A289A219A2398229A81E0EC -:10BD00000E94B05B85E08093EE140E94B05BCAE0B5 -:10BD10008FEF0E94A45BC150D9F7A89520E030E0D6 -:10BD2000A90160E08CEE94E10E948A668093EF1492 -:10BD3000813061F00F940601DC01CB018C199D0963 -:10BD4000AE09BF09B7FDEACF81E062C0A8952AEA33 -:10BD500031E040E050E068E08CEE94E10E948A66B9 -:10BD6000853011F481E00AC0C4E00E94A95B809391 -:10BD7000EF14C150D1F78A3A61F482E08093F01455 -:10BD8000A8958091F014823081F0812C912C54017F -:10BD900011C00F940601DC01CB018C199D09AE097D -:10BDA000BF09B7FDD4CF82E033C0812C912CA12CE8 -:10BDB00080E4B82E20E030E0A90167E38CEE94E146 -:10BDC0000E948A66A501940169E28CEE94E10E94CA -:10BDD0008A668093EF14882361F00F940601DC01DA -:10BDE000CB018C199D09AE09BF09B7FDE3CF8AE0ED -:10BDF0000FC08091F014823021F520E030E0A901DD -:10BE00006AE38CEE94E10E948A66882361F088E000 -:10BE10008093ED148CEE94E10E9482660F94350AB3 -:10BE20008EE791E122C00E94A95B807C803C19F4DE -:10BE300083E08093F0140E94A95B0E94A95B0E949A -:10BE4000A95B8CEE94E10E9482661092EE1481E070 -:10BE50000F94680C81110CC080E00F94680C811164 -:10BE600007C00F94310A8AE691E10F944C091AC079 -:10BE70006EEC74E18CE095E10E94D564811105C0FF -:10BE80000F94310A89E591E1F0CF8091981788608D -:10BE9000809398170F94350A8DE491E10F944C0923 -:10BEA0000E945150CF91FF90EF90DF90CF90BF90C4 -:10BEB000AF909F908F900C94A65D2F923F925F92CF -:10BEC0006F927F928F929F92AF92BF92CF92DF92AA -:10BED000EF92FF920F931F93CF93DF93CDB7DEB70F -:10BEE000C356D1090FB6F894DEBF0FBECDBF8C018B -:10BEF0006B014A012DB63EB6512C7E0187E5E80E56 -:10BF0000F11CF6018381823008F41FC18085918580 -:10BF1000A285B3858F719927AA27BB27892B8A2BE6 -:10BF20008B2B09F012C11092351A45E35AE1BE017C -:10BF30006F5F7F4FC6010E943F6918160CF005C164 -:10BF40008C85982F9871903129F42091910B215074 -:10BF5000223078F42981222309F4F7C0253E89F2A2 -:10BF60002E3279F22091351A2E3259F28A7049F622 -:10BF70007CC06DB67EB6BE016F5F7F4FC7010E9469 -:10BF8000005D0115110521F0F8018081811163C068 -:10BF900021E081E090E0F70101900020E9F731977E -:10BFA000EE19FF09E80FF91F32968DB79EB78E1B69 -:10BFB0009F0B0FB6F8949EBF0FBE8DBFEDB7FEB7B7 -:10BFC00031965F01211102C0B80102C060E776E03E -:10BFD000C5010F945528B701C5010F943F2860E7AC -:10BFE00076E0C5010F943F2819A21CA221E0A70109 -:10BFF000B601CE0181960E94966B81110DC0809191 -:10C00000910B811109C00F94350A89E391E10F94D6 -:10C010004C09C7010E94B5538BE1FE01B196DE01C8 -:10C02000DC9601900D928A95E1F740E050E0BE0168 -:10C03000645C7F4FC5010E945D5FCE01CC960E947B -:10C04000B367CE0181960E94B3670FB6F8947EBEA7 -:10C050000FBE6DBE56CFF80101900020E9F7319771 -:10C06000CF01801B910B20E096CF21E0903109F0A9 -:10C0700020E08091981720FB84F9809398179031E5 -:10C0800041F08985873409F03CCF8A858E3709F4E1 -:10C0900038CF8091910B813021F068F08230C1F16E -:10C0A00030CF8091940B9091950B01969093950BC6 -:10C0B0008093940B26CFBE016F5F7F4F87E79AE195 -:10C0C0000E94005D0115110529F487E7A82E8AE179 -:10C0D000B82E09C05801F50181915F018823A9F3A9 -:10C0E0000E94AA52F8CFF50181915F01882319F0CF -:10C0F0000E94AA52F8CF80E20E94AA526D8D7E8DD6 -:10C100008F8D98A14AE00E94B1520E94AF53F9CEA0 -:10C11000BE016F5F7F4F87E79AE10E94005D811447 -:10C12000910441F067E77AE1C4010F942C28892B30 -:10C1300051F40BC0852D90E02091920B3091930B20 -:10C140008217930711F05394DCCE0FB6F8943EBEDD -:10C150000FBE2DBECD59DF4F0FB6F894DEBF0FBE18 -:10C16000CDBFDF91CF911F910F91FF90EF90DF90A6 -:10C17000CF90BF90AF909F908F907F906F905F9087 -:10C180003F902F900895CF93DF93CDB7DEB76B9795 -:10C190000FB6F894DEBF0FBECDBF81E08093910B48 -:10C1A0001092950B1092940B81EF94E10E947D66A2 -:10C1B0008BE1E1EFF4E1DE01119601900D928A9599 -:10C1C000E1F740E050E0BE016F5F7F4F80E090E01C -:10C1D0000E945D5FCE0101960E94B3678091940B2F -:10C1E0009091950B6B960FB6F894DEBF0FBECDBF46 -:10C1F000DF91CF9108950F931F93CF93DF93CDB726 -:10C20000DEB76B970FB6F894DEBF0FBECDBF8B01C4 -:10C2100022E02093910B9093930B8093920B81EFEC -:10C2200094E10E947D668BE1E1EFF4E1DE0111967D -:10C2300001900D928A95E1F7A801BE016F5F7F4FD3 -:10C2400080E090E00E945D5FCE0101960E94B3679E -:10C250006B960FB6F894DEBF0FBECDBFDF91CF91C6 -:10C260001F910F910895DF92EF92FF920F931F930A -:10C27000CF93DF9300D01F92CDB7DEB720919817F0 -:10C2800023FF3DC1F42EE62E8C010E9448D788235F -:10C2900009F481C0FF2009F48CC080918F17882396 -:10C2A00051F00F94310A8FE492E10F944C0980E031 -:10C2B00090E00F94260289E29BE09A8389838FE2C3 -:10C2C0008093280B81E08B83F12C9BE1D92E809108 -:10C2D0008E17F81678F4DF9CC0011124AE014D5F73 -:10C2E0005F4FBE016F5F7F4F8058994E0E94185D6F -:10C2F000F394EDCF8B818B3578F4AE014D5F5F4FBA -:10C30000BE016F5F7F4F83EB94E10E94185D8981CE -:10C310009A8101979A838983E981FA811082E09159 -:10C320008F1784E0E89FF0011124EC5DF44F8091B9 -:10C33000941790919517A0919617B09197178083B5 -:10C340009183A283B3830F94350AB80186E392E107 -:10C350000F941E0A60918F1789E6689FB00111241F -:10C36000685D744F8BE292E10F941E0A409194171E -:10C3700050919517609196177091971785E292E109 -:10C380000F94E2098AE00E94AA5280918F178F5F72 -:10C3900080938F1726C0FF2039F00F94350A85E16E -:10C3A00092E10F944C091DC010928F1782E0F82E75 -:10C3B00002C0FF24F3940F94350A80E192E10F94B8 -:10C3C0004C0981E0F81609F497C08CEF91E10F94C5 -:10C3D0004C09B80188E092E10F941E0A8AE00E949D -:10C3E000AA520E94D75DB801CE0103960F948D0327 -:10C3F0008C01009709F483C06B817C81EE2009F4E5 -:10C4000050C021E0AC0183EB94E10E94966B88233D -:10C4100009F43FC08091C4149091C514A091C61432 -:10C42000B091C7148093901790939117A09392178F -:10C43000B093931710929417109295171092961725 -:10C4400010929717B8018EEE91E10F941E0A409159 -:10C45000901750919117609192177091931786EEF3 -:10C4600091E10F94E2098AE00E94AA5287ED91E1DE -:10C470000F944C09B80180E090E00E94FB6080912D -:10C48000351A811102C0C80102C085E39AE160E05B -:10C4900030C0B80183EC91E10F941E0A80EC91E169 -:10C4A0000FC026E5AC0183EB94E10E94966B8111ED -:10C4B0000AC0B8018CEA91E10F941E0A89EA91E161 -:10C4C0000F944C091CC08091981781608093981735 -:10C4D000B80180E090E00E94FB6010927E16B801E7 -:10C4E00087E991E10F941E0A8AE00E94AA5260E057 -:10C4F000C8010E9451EE03C082E092E168CF0F9024 -:10C500000F900F900F90DF91CF911F910F91FF909F -:10C51000EF90DF900895CF92DF92EF92FF92CF934A -:10C520006B017C01C42F80912A1A90912B1AA09143 -:10C530002C1AB0912D1A8C159D05AE05BF05D1F0B2 -:10C540000E943767811102C080E018C02AE238E1FA -:10C55000B701A6018091331A9091341A0E94B967ED -:10C56000882391F3C0922A1AD0922B1AE0922C1AA7 -:10C57000F0922D1A81E0C1118093321ACF91FF9071 -:10C58000EF90DF90CF9008954F925F926F927F92DD -:10C590008F929F92AF92BF92CF92DF92EF92FF92D3 -:10C5A0000F931F93CF93DF93EC0142305105610548 -:10C5B000710510F480E069C089859A85AB85BC85DA -:10C5C0000196A11DB11D84179507A607B70790F323 -:10C5D0008F89803149F4852E962EA72EBB248B8916 -:10C5E0009C89AD89BE890FC0803221F78B889C88D9 -:10C5F000AD88BE88DB01CA01E7E0B695A79597959F -:10C600008795EA95D1F7880E991EAA1EBB1E2801B0 -:10C6100039016A017B0141E0C501B4010E948B62CE -:10C62000882341F29F89903161F4DD24EE24FF24B8 -:10C630009601220F331FF901E65DF74E51824082C9 -:10C6400011C0E894C7F8DD24EE24FF249601220FE0 -:10C65000331F220F331FF901E65DF74E40825182EE -:10C66000628273829A89923080F04D815E816F81FF -:10C670007885840E951EA61EB71E80922E1A909263 -:10C680002F1AA092301AB092311ADF91CF911F91D8 -:10C690000F91FF90EF90DF90CF90BF90AF909F9061 -:10C6A0008F907F906F905F904F900895CF92DF9220 -:10C6B000EF92FF920F931F93CF93DF93FC0181853D -:10C6C0009285A385B4850196A11DB11D8417950798 -:10C6D000A607B70710F480E061C08789803149F46C -:10C6E000BB27A72F962F852FC388D488E588F68887 -:10C6F0000FC0803281F783899489A589B6896A0140 -:10C700007B01C7E0F694E794D794C794CA95D1F714 -:10C710008C0D9D1DAE1DBF1DE9016A017B018F01BE -:10C7200040912A1A50912B1A60912C1A70912D1A4F -:10C7300084179507A607B70739F040E0BC01CD0183 -:10C740000E948B62882339F2F8018789803179F45D -:10C75000B701A601552766277727440F551FFA0111 -:10C76000E65DF74E80819181A0E0B0E012C0B70194 -:10C77000A6014F77552766277727440F551F440F8B -:10C78000551FFA01E65DF74E80819181A281B38148 -:10C79000BF7088839983AA83BB8381E0DF91CF91A7 -:10C7A0001F910F91FF90EF90DF90CF9008954F92DF -:10C7B0005F926F927F92AF92BF92CF92DF92EF9291 -:10C7C000FF920F931F93CF93DF9300D01F92CDB7AB -:10C7D000DEB78C0149835A836B837C835901C12C5A -:10C7E000D12C7601412C82E0582E612C712C49818C -:10C7F0005A816B817C819E012F5F3F4FC8010E944F -:10C800005663882341F1D301C201F801058404C0B5 -:10C81000880F991FAA1FBB1F0A94D2F7C80ED91EF2 -:10C82000EA1EFB1E49815A816B817C818789803198 -:10C8300039F481E0483F5F4F6105710538F4D7CF87 -:10C8400081E0483F5F4F6F4F7F4088F2F501C08223 -:10C85000D182E282F3820F900F900F900F90DF91C0 -:10C86000CF911F910F91FF90EF90DF90CF90BF90ED -:10C87000AF907F906F905F904F9008958F929F92AE -:10C88000AF92BF92CF92DF92EF92FF920F931F93DE -:10C89000CF93DF93EC018B81811102C080E078C0DF -:10C8A00009891A892B893C89041715072607370738 -:10C8B000A8F36A017B01823029F4C886D986EA860A -:10C8C000FB860DC0C114D104E104F10451F41886B3 -:10C8D00019861A861B861C821D821E821F8281E099 -:10C8E00057C088849984AA84BB84E98DFA8D2585F4 -:10C8F00030E0275F3F4FB501A40141505109610964 -:10C900007109022E04C076956795579547950A944C -:10C91000D2F7D701C6010197A109B10904C0B695A4 -:10C92000A795979587952A95D2F784179507A60717 -:10C93000B70720F089288A288B2871F44D895E89F1 -:10C940006F89788D4C835D836E837F834C015D019D -:10C950008E010C5F1F4F16C0841B950BA60BB70BE7 -:10C96000F5CF4C815D816E817F819801898D9A8D93 -:10C970000E94566391E0891A9108A108B1088823A2 -:10C9800009F48CCF81149104A104B10451F795CF1F -:10C99000DF91CF911F910F91FF90EF90DF90CF909B -:10C9A000BF90AF909F908F9008950F931F93CF9358 -:10C9B000DF93FC012381222311F080E044C08B012E -:10C9C000EC01FB018789803139F18032B1F783E0D6 -:10C9D0008B83F801428D538D648D758D4D8B5E8BED -:10C9E0006F8B788F9E012F5E3F4FC8010E94D763E7 -:10C9F000882319F31A8F098F81E089831886198695 -:10CA00001A861B861C821D821E821F82188A1C8623 -:10CA10001D861E861F8617C082E08B831D8A1E8A94 -:10CA20001F8A188EFB01808D918DA0E0B0E025E07B -:10CA3000880F991FAA1FBB1F2A95D1F7898B9A8B44 -:10CA4000AB8BBC8BD7CFDF91CF911F910F91089506 -:10CA5000CF93DF93EC0141E0611101C040E06C85B0 -:10CA60007D858E859F850E948B62882341F0888911 -:10CA700020E2829FC0011124865D974E02C080E0B3 -:10CA800090E0DF91CF910895CF93DF93EB01FC010C -:10CA90002381211102C080E028C02250223020F4DE -:10CAA0008FE28883198220C060E00E942865009789 -:10CAB00091F3FC0190E080E02EE23081303269F0A9 -:10CAC000883029F4DE01A90FB11D2C939F5FDE0190 -:10CAD000A90FB11D30813C939F5F8F5F31968B30E2 -:10CAE00061F7C90FD11D188281E0DF91CF910895C0 -:10CAF0003F924F925F926F927F928F929F92AF92EE -:10CB0000BF92CF92DF92EF92FF920F931F93CF933A -:10CB1000DF93CDB7DEB72C970FB6F894DEBF0FBE0C -:10CB2000CDBF5C01DC0159968D909C905A97F40121 -:10CB300081859285A385B4859C01AD012F5F3F4F10 -:10CB40004F4F5F4F29873A874B875C87D5011496F3 -:10CB5000CD90DD90ED90FC901797C114D104E104C5 -:10CB6000F10439F0BFEFCB1ADB0AEB0AFB0A312CD8 -:10CB700007C0F401C080D180E280F3803324339475 -:10CB8000260137011D821E821F821886F4018185CD -:10CB90009285A385B4852D813E814F8158852817C4 -:10CBA00039074A075B0708F064C089859A85AB8519 -:10CBB000BC858C159D05AE05BF0550F482E0C82EDE -:10CBC000D12CE12CF12C92E0492E512C612C712CAE -:10CBD0009E012F5F3F4FB701A601C4010E9456631B -:10CBE000882309F446C089819A81AB81BC81892B55 -:10CBF0008A2B8B2B41F0260137019FEF491A590AE6 -:10CC0000690A790A05C0C414D504E604F70491F052 -:10CC10002D813E814F8158852F5F3F4F4F4F5F4F92 -:10CC20002D833E834F8358873FEFC31AD30AE30A0D -:10CC3000F30AACCF0FEF1FEF2FEF3FE0B301A201DC -:10CC4000C4010E94C462F82E882399F0D50114967D -:10CC50004D915D916D917C9117974115510561053D -:10CC6000710549F093018201C4010E94C4628111DF -:10CC700002C0F12C29C0D50114964D925D926D929F -:10CC80007C921797332051F0D301C2010196A11D68 -:10CC9000B11DF40180839183A283B383F50185895B -:10CCA0009689A789B08D892B8A2B8B2B69F4D501A6 -:10CCB00055964D925D926D927C92589711968C91FB -:10CCC0001197806811968C938F2D2C960FB6F8943F -:10CCD000DEBF0FBECDBFDF91CF911F910F91FF90AF -:10CCE000EF90DF90CF90BF90AF909F908F907F900C -:10CCF0006F905F904F903F90089540E050E0BA01F0 -:10CD00000C943E6461E0FC0180810E9479FF8FEF0A -:10CD10000C94A45BEF92FF921F93CF93DF9300D00C -:10CD20001F92CDB7DEB77C01162F29833A834B8340 -:10CD30005C83FC0182810E94B05B60E0F70180812E -:10CD40000E9479FF0F94D702812F80640E94A45B18 -:10CD50008C810E94A45B8B810E94A45B8A810E94CB -:10CD6000A45B89810E94A45B112311F087E801C0B4 -:10CD700085E90E94A45B1C3011F40E94A95B10E0BD -:10CD80000E94A95BF701838387FF04C01F3F11F056 -:10CD90001F5FF6CF0F900F900F900F90DF91CF9104 -:10CDA0001F91FF90EF9008950F931F93CF93DF9300 -:10CDB000EC0189018C81833039F089E0440F551FE3 -:10CDC000661F771F8A95D1F79A01AB0168E1CE0102 -:10CDD0000E948A66811128C08EEF8EBDF801C801BD -:10CDE0009E5F0DB407FEFDCF20812EBD0DB407FE62 -:10CDF000FDCF21812EBD32968E179F0791F70DB47E -:10CE000007FEFDCF8FEF0E94A45B8FEF0E94A45B13 -:10CE10000E94A95B8B838F71853041F083E1898308 -:10CE2000CE010E94826619C086E016C00F94D70218 -:10CE3000882379F020E030E0A9016DE0CE010E9466 -:10CE40008A66811108C00E94A95B811104C011E0AB -:10CE500005C087E101C086E1898310E0CE010E9410 -:10CE60008266812FDF91CF911F910F910895CF930B -:10CE70008091321A8823B9F140912A1A50912B1AC5 -:10CE800060912C1A70912D1A2AE238E18091331AA0 -:10CE90009091341A0E94D466C82F811102C0C0E05C -:10CEA00023C040912E1A50912F1A6091301A709120 -:10CEB000311A411551056105710591F02AE238E1F9 -:10CEC0008091331A9091341A0E94D466882339F3E2 -:10CED00010922E1A10922F1A1092301A1092311AA4 -:10CEE0001092321A01C0C1E08C2FCF910895CF93D8 -:10CEF000DF93EC018B81882339F1898187FF20C082 -:10CF000061E0CE010E942865FC01892BE9F0808157 -:10CF1000853ED1F08B81823040F489899A89AB8932 -:10CF2000BC89848F958FA68FB78F8D899E89AF8995 -:10CF3000B88D938F828FB58BA48B89818F778983EE -:10CF4000DF91CF910C94376781E0888380E0DF9197 -:10CF5000CF910895CF93DF93EC010E9477671B82F6 -:10CF6000DF91CF910895FC01238121110C94AA67D0 -:10CF70000895CF92DF92EF92FF920F931F93CF937A -:10CF8000DF93EC0189018C81833039F089E0440F13 -:10CF9000551F661F771F8A95D1F79A01AB0161E192 -:10CFA000CE010E948A66882339F084E08983CE010D -:10CFB0000E94826680E03EC00F9406016B017C01F6 -:10CFC0002CE2C20E21E0D21EE11CF11C0E94A95BE2 -:10CFD0008B838F3F61F40F940601DC01CB018C1928 -:10CFE0009D09AE09BF09B7FDF1CF81E11DC08E3F9C -:10CFF000D1F48FEF8EBDF801D801A150BE4F0DB412 -:10D0000007FEFDCF9EB591938EBDEA17FB07B9F7DA -:10D010000DB407FEFDCF8EB58C930E94A95B0E94D4 -:10D02000A95B11E003C08FE0898310E0CE010E946C -:10D030008266812FDF91CF911F910F91FF90EF902A -:10D04000DF90CF9008952F923F924F925F926F9210 -:10D050007F928F929F92AF92BF92CF92DF92EF9288 -:10D06000FF920F931F93CF93DF9300D01F92CDB702 -:10D07000DEB79C838B834B015A01DC0113968C91A4 -:10D08000811103C08FEF9FEFE3C0EB81FC818181B1 -:10D0900080FFF8CFEB81FC8181899289A389B489D3 -:10D0A0004085518562857385841B950BA60BB70B54 -:10D0B000A50160E070E084179507A607B70708F49C -:10D0C0005C0175018B819C8104969A838983612C14 -:10D0D00042E0742EE114F10409F48BC0AB81BC81F1 -:10D0E00018964D915D916D917C911B976A01B1E00D -:10D0F000DB22EB81FC812381818D928D1A012B0132 -:10D1000039E056944794379427943A95D1F72230D2 -:10D1100061F4FC01828D938DA48DB58DBC01CD0190 -:10D12000620D731D841D951D4AC0DC0114961C916F -:10D1300011501221C114D10401F511111EC0452B4B -:10D14000462B472B59F4EB81FC8185899689A78969 -:10D15000B08D84839583A683B7830FC0AB81BC81D8 -:10D1600014964D915D916D917C91179729813A812B -:10D170000E945663882309F485CFEB81FC81218DC1 -:10D18000328D84819581A681B7810297A109B10969 -:10D19000F901058404C0880F991FAA1FBB1F0A94B8 -:10D1A000D2F74685578560897189840F951FA61F20 -:10D1B000B71FBC01CD01610F711D811D911D930130 -:10D1C0002C193D0987012E153F0508F48901011529 -:10D1D000F2E01F0779F520912A1A30912B1A40911D -:10D1E0002C1A50912D1A621773078407950719F4AA -:10D1F00021C0C5012DC09401AB01BC018091331A3F -:10D200009091341A0E94B967882309F43BCF800EAD -:10D21000911EEB81FC8180859185A285B385800F6D -:10D22000911FA11DB11D80879187A287B387E01A46 -:10D23000F10A50CF40E00E948B62882309F422CF8C -:10D24000B601665D774EA801C4010F942328DFCF95 -:10D250000F900F900F900F90DF91CF911F910F9132 -:10D26000FF90EF90DF90CF90BF90AF909F908F9006 -:10D270007F906F905F904F903F902F900895DF9236 -:10D28000EF92FF920F931F93CF93DF938C01EB01EB -:10D290007A018DE0D82E40E250E0BE01C8010E9424 -:10D2A00023688032910539F021E0892B09F420E0D0 -:10D2B000822F819544C028812223C9F1253E11F097 -:10D2C0002E3231F4E114F10431F3F7011082E3CF8F -:10D2D000E114F10441F13B853F733F3021F54A8D64 -:10D2E0005B8D452B01F52F713FEF320F3530D8F4B0 -:10D2F00030E021503109D29EC001D39E900D1124FF -:10D30000D701A80FB91FFE0120E0AD01253088F438 -:10D3100031813D932F5F32962D30C1F7288126FF52 -:10D3200002C0FA0115862B8523FDB5CF08C080E029 -:10D3300006C02B3010F43481ECCF3681EACFDF9178 -:10D34000CF911F910F91FF90EF90DF9008954F9232 -:10D350005F926F927F929F92AF92BF92CF92DF9235 -:10D36000EF92FF920F931F93CF93DF931F92CDB74E -:10D37000DEB78C017B015A01C22EDB0159968D91DB -:10D380009C915A97F801928F818FCB010E947D6604 -:10D39000912CF70180859185A285B38541895289B9 -:10D3A0006389748984179507A607B70708F060C0DA -:10D3B00025E0B695A795979587952A95D1F7F82FEB -:10D3C000FF70DF2ED70113968C91823008F460C075 -:10D3D00041E050E0BE016F5F7F4FC7010E942368AC -:10D3E000019719F4898190E002C08FEF9FEF0196B9 -:10D3F00009F44EC0F70180859185A285B3854F96CB -:10D40000A11DB11D80879187A287B387F0E2DF9EBF -:10D41000B0011124665D774E61157105C9F1DB011C -:10D420008C91882319F0853EC1F46CC191100EC017 -:10D4300080912A1A90912B1AA0912C1AB0912D1A32 -:10D44000F80184879587A687B787D08ADB018C91FE -:10D45000882361F0992493949CCF4BE050E0C50160 -:10D460000F941628892B09F094CF14C09924939413 -:10D470008C2D8274823461F4992009F48BC0F801F8 -:10D48000D08861E0C8010E942865009709F00DC1AD -:10D4900080E03BC1C7FCFCCFF0E2DF9EA00111247D -:10D4A0009A01265D374ED9011B968C91817121F02E -:10D4B0008C2D827109F06AC080912A1A90912B1AE2 -:10D4C000A0912C1AB0912D1AF80184879587A68710 -:10D4D000B787D08ACA01865D974E7C01DC015496DD -:10D4E0004D915C91559760E070E0DA0199278827AB -:10D4F000858B968BA78BB08FF701428D538D60E0A3 -:10D5000070E0482B592B6A2B7B2BD80155964D93F5 -:10D510005D936D937C935897F9018385887161F4CD -:10D52000F701848D958DA68DB78DF801818B928B37 -:10D53000A38BB48B81E010C0803141F598012F5E40 -:10D540003F4FD80159968D919C915A970E94D7636D -:10D550008823E1F084E0F80183838C2D8F70D8015B -:10D5600011968C931197F8011482158216821782F6 -:10D5700018961D921D921D921C921B97C4FEB5C059 -:10D58000C8010F94FB028111B0C082CFD80113965D -:10D590001C927ECFD70113968C911397823009F499 -:10D5A00077CF51968D919D910D90BC91A02D803E8D -:10D5B0009F4FAF41B10508F06BCFC7010E9478655E -:10D5C000882309F465CF0E943767882309F460CF68 -:10D5D000D70159962D913C915A9714968D919D9112 -:10D5E0000D90BC91A02D0297A109B109F901058404 -:10D5F00004C0880F991FAA1FBB1F0A94D2F7468444 -:10D60000578460887188480E591E6A1E7B1E81E00F -:10D610008093321A40922A1A50922B1A60922C1A36 -:10D6200070922D1A80E092E0EAE2F8E1DF019C01BD -:10D630001D9221503040E1F7DD24D394D701599653 -:10D64000ED91FC915A978481D81698F42AE238E13A -:10D65000B301A2014D0D511D611D711D8091331A41 -:10D660009091341A0E94D466882309F411CFD39480 -:10D67000E5CF80E092E0A0E0B0E0058404C0880F30 -:10D68000991FAA1FBB1F0A94D2F7F701418952893B -:10D6900063897489840F951FA61FB71F818B928B96 -:10D6A000A38BB48B8AE298E1D12C20E2DC011D929D -:10D6B0002A95E9F72BE0F501DC0101900D922A95FE -:10D6C000E1F721E238E2FC01318B208B40E058E0A9 -:10D6D00057874687338B228B318F208F578B468B12 -:10D6E0000E9437678111D8CED3CEC5FE09C0F8019C -:10D6F0004189528963897489C8010E943E6405C0CA -:10D7000081E003C09110A6CE93CE0F90DF91CF9110 -:10D710001F910F91FF90EF90DF90CF90BF90AF904F -:10D720009F907F906F905F904F9008952F923F92BF -:10D730004F925F926F927F928F929F92AF92BF9221 -:10D74000CF92DF92EF92FF920F931F93CF93DF93CD -:10D75000CDB7DEB7C254D1090FB6F894DEBF0FBE05 -:10D76000CDBF4C015B016A01322E19821C821C8ED6 -:10D770001F8E6115710511F410E0A6C0FC018381B4 -:10D780008111FACFFA0180818F3209F09BC0F50137 -:10D7900083818250823010F485010CC0F501618DC7 -:10D7A000728DCE014C960E94D564882329F38E0198 -:10D7B000045E1F4FC6016C010196F60120812F32D5 -:10D7C000D1F3CE0101967C013C012E019CE1490E72 -:10D7D000511C2396EFAE23972F2C9BE09150E7E34B -:10D7E000F0E0EC0FFD1FE90FF11D80E28083911145 -:10D7F000F5CF960147E0D9018D91882369F18F32E9 -:10D8000059F18E3239F44A3009F4B6CF98E04AE043 -:10D810009D01F1CFE9ECF2E12491222321F0319630 -:10D820008213FACFA9CF491708F4A6CF813208F4A2 -:10D83000A3CF8F3709F4A0CF21E0290FE7E3F0E071 -:10D84000EC0FFD1FE90FF11D9FE9980F9A3108F4C5 -:10D8500080528083922FDCCF8FA9803209F48CCF45 -:10D860006901F90180812F5F3F4F8F32C9F388230F -:10D87000F9F021E0AE01495C5F4FB801C7010E9499 -:10D88000A769882309F478CF0A151B0519F0C80188 -:10D890000E94AA676E147F0441F023969FAD2397E0 -:10D8A000822D8701E92EF82E98CF942D852DF9CF62 -:10D8B000232DAE01495C5F4FB801C4010E94A769E6 -:10D8C000182F02C08B017DCFCE014C960E94B3670A -:10D8D000CE0101960E94B367812FCE5BDF4F0FB65A -:10D8E000F894DEBF0FBECDBFDF91CF911F910F9196 -:10D8F000FF90EF90DF90CF90BF90AF909F908F9070 -:10D900007F906F905F904F903F902F900895CF93AE -:10D91000C82F0F94350A84E50E94AA526C2F70E03C -:10D9200080E090E00E941E5380E20E94AA5287EBA2 -:10D9300092E1CF910D944C092F923F924F925F92BA -:10D940006F927F928F929F92AF92BF92CF92DF920F -:10D95000EF92FF920F931F93CF93DF93CDB7DEB774 -:10D96000CD58D1090FB6F894DEBF0FBECDBF5B0115 -:10D970006A011901E996FFAEEEAEE9972091B81061 -:10D980003091B9104091BA105091BB10DC016D91EB -:10D990007D918D919C910F94671E0F9464272B01AC -:10D9A0003C0125966CAF7DAF8EAF9FAF2597209140 -:10D9B000BC103091BD104091BE105091BF10F501C8 -:10D9C00060817181828193810F94671E0F94642717 -:10D9D0004B015C0129966CAF7DAF8EAF9FAF29974D -:10D9E0002091C0103091C1104091C2105091C310CD -:10D9F000D6016D917D918D919C910F94671E0F942E -:10DA000064276B017C012D966CAF7DAF8EAF9FAF0D -:10DA10002D972091C4103091C5104091C61050919F -:10DA2000C710F10160817181828193810F94671E1B -:10DA30000F94642767966CAF7DAF8EAF9FAF6797EB -:10DA400061966CAF7DAF8EAF9FAF61978091A31051 -:10DA500083FF0EC067962CAD3DAD4EAD5FAD6797B1 -:10DA60002093BC153093BD154093BE155093BF1540 -:10DA70008091A1109091A210892B11F00C948C7AB6 -:10DA8000D801BC91A896BFAFA897F801F181AC96D8 -:10DA9000FFAFAC97D8011296BC91E096BFAFE0976C -:10DAA000F801038180919A1590919B15891B8F70C5 -:10DAB0008F3021F480E00E94D653F4CFF0919A1574 -:10DAC000C557DF4FF883CB58D04080919A15282E48 -:10DAD000312C8091B0159091B115A091B215B091F3 -:10DAE000B315481A590A6A0A7B0A8091B4159091B5 -:10DAF000B515A091B615B091B715A5019401281BD5 -:10DB0000390B4A0B5B0B6B962CAF3DAF4EAF5FAF43 -:10DB10006B978091B8159091B915A091BA15B091F5 -:10DB2000BB15A7019601281B390B4A0B5B0B6F969F -:10DB30002CAF3DAF4EAF5FAF6F978091BC1590910A -:10DB4000BD15A091BE15B091BF156796CCACDDACEC -:10DB5000EEACFFAC6797C81AD90AEA0AFB0A09F4C7 -:10DB600072C08091090C811128C060910E0C7091D7 -:10DB70000F0C8091100C9091110C0F946326209142 -:10DB8000190230911A0262177307BCF467968CADC4 -:10DB90009DADAEADBFAD67978093BC159093BD159D -:10DBA000A093BE15B093BF150F94350A8EE293E192 -:10DBB0000F944C09C12CD12C7601C701B6010F94EA -:10DBC000081E2091150230911602409117025091C3 -:10DBD00018020F94671E4B015C0120E030E0A901A0 -:10DBE0000F94572787FF04C0B7FAB094B7F8B094E2 -:10DBF00020E030E04AEF53E46091C4107091C5100A -:10DC00008091C6109091C7100F94671EA5019401D2 -:10DC10000F94011E87FF17C067962CAD3DAD4EAD2A -:10DC20005FAD67972093BC153093BD154093BE152B -:10DC30005093BF150F94350A8FE093E10F944C0970 -:10DC4000C12CD12C7601D301C2018827B7FD839561 -:10DC50009927AA27BB27182F6B962CAD3DAD4EAD4B -:10DC60005FAD6B9757FD12606F968CAD9DADAEADFD -:10DC7000BFAD6F97B7FD1460F7FC1860C701B60120 -:10DC80000F94081E20911502309116024091170240 -:10DC9000509118020F94671E6B017C0120E030E068 -:10DCA000A9010F94572787FF04C0C701B6019058F8 -:10DCB00002C0C701B60120E030E040E05FE30F940E -:10DCC000F7240F946A26E7966CAF7DAF8EAF9FAFB7 -:10DCD000E79788E4829DF001839DF00D1124EF5DAC -:10DCE000F34F108215AB5301420177FE07C0882421 -:10DCF0009924540184189508A608B70888E4829DE1 -:10DD0000F001839DF00D1124EF5DF34F858A968A13 -:10DD1000A78AB08E6B962CAD3DAD4EAD5FAD6B97C7 -:10DD200067962CAF3DAF4EAF5FAF679757FF0DC003 -:10DD300050954095309521953F4F4F4F5F4F6796D7 -:10DD40002CAF3DAF4EAF5FAF679788E4829DF00187 -:10DD5000839DF00D1124EF5DF34F67968CAD9DAD63 -:10DD6000AEADBFAD6797818F928FA38FB48F6F9643 -:10DD70002CAD3DAD4EAD5FAD6F97A3962CAF3DAFD3 -:10DD80004EAF5FAFA39757FF0DC0509540953095AC -:10DD900021953F4F4F4F5F4FA3962CAF3DAF4EAFF6 -:10DDA0005FAFA39788E4829DF001839DF00D11245D -:10DDB000EF5DF34FA3968CAD9DADAEADBFADA39718 -:10DDC000858F968FA78FB0A3C301B2010F94081E51 -:10DDD0002091F90B3091FA0B4091FB0B5091FC0B09 -:10DDE0000F94671EA7966CAF7DAF8EAF9FAFA797BE -:10DDF00069AB7AAB8BAB9CAB6B966CAD7DAD8EADEE -:10DE00009FAD6B970F94081E2091FD0B3091FE0B78 -:10DE10004091FF0B5091000C0F94671E2B013C01A9 -:10DE20006DAB7EAB8FAB98AF6F966CAD7DAD8EADAD -:10DE30009FAD6F970F94081E2091010C3091020C3A -:10DE40004091030C5091040C0F94671E6B966CAFBD -:10DE50007DAF8EAF9FAF6B9769AF7AAF8BAF9CAF43 -:10DE60002091050C3091060C4091070C5091080C44 -:10DE7000C701B6010F94671E6B017C0121966CAF40 -:10DE80007DAF8EAF9FAF219796E089169104A104D4 -:10DE9000B1041CF567962CAD3DAD4EAD5FAD6797F7 -:10DEA0002630310541055105C4F4A3968CAD9DADD6 -:10DEB000AEADBFADA3970697A105B10574F420E000 -:10DEC00030E0A901C701B6010F94572787FF16C09C -:10DED000F7FAF094F7F8F09411C0E996AEADBFAD43 -:10DEE000E997CD90DD90ED90FC9020E030E0A90125 -:10DEF000C701B6010F94011E882369F088E4829D52 -:10DF0000F001839DF00D1124EF5DF34FC586D68699 -:10DF1000E786F08A38C0A7962CAD3DAD4EAD5FAD1B -:10DF2000A797CA01B9010F94671E6B017C01A30179 -:10DF30009201C301B2010F94671E9B01AC01C7019E -:10DF4000B6010F94F7246B017C016B962CAD3DADAF -:10DF50004EAD5FAD6B97CA01B9010F94671E9B016F -:10DF6000AC01C701B6010F94F7240F94A52728E44C -:10DF7000229DF001239DF00D1124EF5DF34F658785 -:10DF800076878787908B88E4829DF001839DF00DD2 -:10DF90001124EF5DF34FE7962CAD3DAD4EAD5FAD77 -:10DFA000E79721A332A343A354A3582D492D3A2D1B -:10DFB0002B2D67968CAD9DADAEADBFAD6797881626 -:10DFC0009906AA06BB0660F464965FAD64976596F1 -:10DFD0004FAD659766963FAD669767962FAD67978D -:10DFE000852F942FA32FB22FA3962CAD3DAD4EAD10 -:10DFF0005FADA39782179307A407B50710F4DA0162 -:10E00000C901E7962CAD3DAD4EAD5FADE7978217E8 -:10E010009307A407B50710F4DA01C90128E4229D8B -:10E02000F001239DF00D1124EF5DF34F85A396A31E -:10E03000A7A3B0A70697A105B10510F40C941A7B0D -:10E04000DF01AA5BBF4F8091F70B8C93E95BFF4F19 -:10E050008091F80B808389288A288B2809F05F98A3 -:10E0600088E4829DF001839DF00D1124EF5DF34F54 -:10E07000818D928DA38DB48D892B8A2B8B2B09F0EA -:10E080008A9888E4829DF001839DF00D1124EF5D54 -:10E09000F34F858D968DA78DB0A1892B8A2B8B2B65 -:10E0A00029F080910801817080930601E7968CAD7C -:10E0B0009DADAEADBFADE797892B8A2B8B2B11F4AD -:10E0C0000C948E7A8091FC10882319F081508093F3 -:10E0D000FC10129880E28093FC10D090E410E09045 -:10E0E000E510F090E6101091E7102D2D3E2D4F2DEC -:10E0F000512FA8966FADA897AC967FADAC97E096E0 -:10E100008FADE097902F0F94011E87FF0AC0A8964D -:10E11000DFAEA897AC96EFAEAC97E096FFAEE09777 -:10E12000012F88E4829DF001839DF00D1124EF5DA5 -:10E13000F34F2585368547855089EB962CAF3DAF4B -:10E140004EAF5FAFEB9760E070E080E89FE30F9425 -:10E15000F125A7966CAF7DAF8EAF9FAFA797A8961E -:10E160002FADA897AC963FADAC97E0964FADE0973A -:10E17000502F0F94671E4B015C0180919A1590916E -:10E180009815891B8F70EC968FAFEC97A5019401C1 -:10E1900060E074E284E799E40F94F1250F9464271A -:10E1A0006B017C01EC968FADEC9782508630C0F508 -:10E1B0008091B4109091B510A091B610B091B710A5 -:10E1C000C816D906EA06FB0658F58C199D09AE0952 -:10E1D000BF09BC01CD01660F771F881F991FEC9600 -:10E1E0004FADEC97042F10E020E030E0A90198013A -:10E1F0000F945724CA01B9010F94061E0F94642787 -:10E200006C0D7D1D8E1D9F1D0F94061E9B01AC0184 -:10E2100060E074E284E799E40F94F1254B015C011E -:10E22000A5019401EB966CAD7DAD8EAD9FADEB97E6 -:10E230000F94671E9B01AC010F94671EC158DF4FFE -:10E24000688379838A839B83CF57D04088E4829DFB -:10E250008001839D100D11240F5D134FC158DF4FB6 -:10E2600088819981AA81BB81CF57D040F8018183F1 -:10E270009283A383B48325A136A147A150A5AB9671 -:10E280002CAF3DAF4EAF5FAFAB97CA01B9010F9452 -:10E29000061EAF966CAF7DAF8EAF9FAFAF979B0161 -:10E2A000AC01C501B4010F94671E0F94D5250F94DE -:10E2B0006A26CD57DF4F688379838A839B83C3584F -:10E2C000D040F80166AB77AB80AF91AF8E010F5CA9 -:10E2D0001F4F9E012F5D3F4FE1963FAF2EAFE1975D -:10E2E00048EC50E1C757DF4F59834883C958D040A5 -:10E2F000C8014096C457DF4F99838883CC58D040DB -:10E30000C957DF4F39832883C758D04064961FAE62 -:10E31000649768961FAE689790E86C969FAF6C976D -:10E32000AFE3A096AFAFA097F80121913191419151 -:10E3300051918F01C501B4010F94671E6B017C01DF -:10E34000C957DF4FA881B981C758D0406D937D93DD -:10E350008D939D93C957DF4FB983A883C758D04089 -:10E3600020E030E0A9010F94572787FF04C0F7FA97 -:10E37000F094F7F8F094C757DF4FE881F981C95856 -:10E38000D0404190519061907190C757DF4FF98311 -:10E39000E883C958D040A7019601C301B2010F9488 -:10E3A000011E87FF24C0A7019601C301B2010F948B -:10E3B000F1257B016C0164962FAD649768963FADA3 -:10E3C00068976C964FAD6C97A0965FADA0970F9431 -:10E3D000011E87FF0CC06496EFAE64976896FFAE8F -:10E3E00068976C96CFAE6C97A096DFAEA097C45797 -:10E3F000DF4F28813981CC58D0402017310709F0F0 -:10E4000093CF20E030E040E85FE364966FAD64971F -:10E4100068967FAD68976C968FAD6C97A0969FAD10 -:10E42000A0970F94011E87FF7AC08E010F5C1F4FCB -:10E4300064962FAD649768963FAD68976C964FAD24 -:10E440006C97A0965FADA097E196AEADBFADE1979A -:10E450006D917D918D919C910F94671EE196EEAD2B -:10E46000FFADE1976193719381939193E196FFAF33 -:10E47000EEAFE1970E171F07D9F688E4829D800161 -:10E48000839D100D11240F5D134FCD57DF4F688111 -:10E4900079818A819B81C358D0400F94061E64966F -:10E4A0002FAD649768963FAD68976C964FAD6C97AB -:10E4B000A0965FADA0970F94671E0F946A26D801AF -:10E4C000D6966D937D938D939C93D99764962FAD3B -:10E4D000649768963FAD68976C964FAD6C97A09621 -:10E4E0005FADA09764966FAD649768967FAD6897AF -:10E4F0006C968FAD6C97A0969FADA0970F94671EFA -:10E50000C158DF4F288139814A815B81CF57D04084 -:10E510000F94671EF8016183728383839483AF969F -:10E520002CAD3DAD4EAD5FADAF97A7966CAD7DAD5B -:10E530008EAD9FADA7970F94671E67966CAF7DAFAA -:10E540008EAF9FAF679788E4829DF001839DF00DA9 -:10E550001124EF5DF34F85889688A788B08C8114CD -:10E560009104A104B10419F5818D928DA38DB48D10 -:10E57000892B8A2B8B2BD9F4858D968DA78DB0A1F5 -:10E58000892B8A2B8B2B99F42091DC103091DD1094 -:10E590004091DE105091DF1067966CAD7DAD8EAD71 -:10E5A0009FAD67970F94671E0F94D5252BC2E796F2 -:10E5B0002CAD3DAD4EAD5FADE797232B242B252B26 -:10E5C00049F02091D8103091D9104091DA10509133 -:10E5D000DB1008C02091E0103091E1104091E21072 -:10E5E0005091E31067966CAD7DAD8EAD9FAD679792 -:10E5F0000F94671E0F94D5250F946A266B017C013A -:10E600008091F30B9091F40BA091F50BB091F60B68 -:10E61000AB962CAD3DAD4EAD5FADAB97821793077A -:10E62000A407B50708F4D6C081149104A104B1046D -:10E6300011F16091E30B7091E40B8091E50B9091E7 -:10E64000E60B6C157D058E059F05A8F40F944724F5 -:10E650002B013C01A5019401C701B6010F94472489 -:10E66000461657066806790630F4C301B2010F94C6 -:10E67000572469017A0188E4829DF001839DF00DA1 -:10E680001124EF5DF34F818C928CA38CB48C811498 -:10E690009104A104B10441F16091E70B7091E80B82 -:10E6A0008091E90B9091EA0B6C157D058E059F0515 -:10E6B000D8F4AB962CAD3DAD4EAD5FADAB970F949E -:10E6C00047242B013C01A5019401C701B6010F9419 -:10E6D0004724461657066806790630F4C301B2018E -:10E6E0000F94572469017A0188E4829DF001839D8B -:10E6F000F00D1124EF5DF34F858C968CA78CB0A0A4 -:10E7000081149104A104B10441F16091EB0B70916B -:10E71000EC0B8091ED0B9091EE0B6C157D058E0549 -:10E720009F05D8F4AB962CAD3DAD4EAD5FADAB972C -:10E730000F9447242B013C01A5019401C701B601A8 -:10E740000F944724461657066806790630F4C3012D -:10E75000B2010F94572469017A0188E4829DF00187 -:10E76000839DF00D1124EF5DF34F81A092A0A3A033 -:10E77000B4A081149104A104B10409F447C16091CB -:10E78000EF0B7091F00B8091F10B9091F20B6C15E7 -:10E790007D058E059F0508F039C1AB962CAD3DADCA -:10E7A0004EAD5FADAB970F9447242B013C01A50103 -:10E7B0009401C701B6010F94472446165706680610 -:10E7C000790608F023C1C301B2010F9457246901EF -:10E7D0007A011CC181149104A104B104C9F16091B2 -:10E7E000E30B7091E40B8091E50B9091E60B6C15B7 -:10E7F0007D058E059F0560F50F94061EAF962CAD26 -:10E800003DAD4EAD5FADAF970F94671E2B013C0140 -:10E81000C501B4010F94061E4B015C01C701B6018E -:10E820000F94061EA50194010F94671E9B01AC0175 -:10E83000C301B2010F94011E87FF0AC0A501940114 -:10E84000C301B2010F94F1250F946A266B017C017C -:10E8500088E4829DF001839DF00D1124EF5DF34F5C -:10E86000418C528C638C748C41145104610471048A -:10E87000C9F16091E70B7091E80B8091E90B9091E1 -:10E88000EA0B6C157D058E059F0560F50F94061E3D -:10E89000AF962CAD3DAD4EAD5FADAF970F94671EFB -:10E8A0004B015C01C301B2010F94061E2B013C0118 -:10E8B000C701B6010F94061EA30192010F94671EB3 -:10E8C0009B01AC01C501B4010F94011E87FF0AC072 -:10E8D000A3019201C501B4010F94F1250F946A269A -:10E8E0006B017C0188E4829DF001839DF00D112471 -:10E8F000EF5DF34F458C568C678C70A0411451042A -:10E9000061047104C9F16091EB0B7091EC0B809183 -:10E91000ED0B9091EE0B6C157D058E059F0560F556 -:10E920000F94061EAF962CAD3DAD4EAD5FADAF97CB -:10E930000F94671E4B015C01C301B2010F94061EC8 -:10E940002B013C01C701B6010F94061EA3019201E1 -:10E950000F94671E9B01AC01C501B4010F94011E09 -:10E9600087FF0AC0A3019201C501B4010F94F125EC -:10E970000F946A266B017C0188E4829DF001839DDF -:10E98000F00D1124EF5DF34F81A092A0A3A0B4A0DD -:10E9900081149104A104B104C9F16091EF0B70914D -:10E9A000F00B8091F10B9091F20B6C157D058E05AB -:10E9B0009F0560F50F94061EAF962CAD3DAD4EAD94 -:10E9C0005FADAF970F94671E2B013C01C501B401E9 -:10E9D0000F94061E4B015C01C701B6010F94061E81 -:10E9E000A50194010F94671E9B01AC01C301B20104 -:10E9F0000F94011E87FF0AC0A5019401C301B20153 -:10EA00000F94F1250F946A266B017C0188E4829DA6 -:10EA10008001839D100D11240F5D134FF801EE5BF3 -:10EA2000FF4FC082D182E282F382C701B6010F9408 -:10EA3000061E6B017C0167962CAD3DAD4EAD5FAD02 -:10EA400067970F94F125AB966CAF7DAF8EAF9FAFFC -:10EA5000AB97D80151966D937D938D939C9354976A -:10EA60002DEB37E346E051E4C701B6010F94671E72 -:10EA70000F946A26F80161AB72AB83AB94AB29A902 -:10EA80003AA94BA95CA9A7966CAD7DAD8EAD9FADA3 -:10EA9000A7970F94671EAF966CAF7DAF8EAF9FAFF9 -:10EAA000AF97698B7A8B8B8B9C8B2DA93EA94FA935 -:10EAB00058ADA7966CAD7DAD8EAD9FADA7970F9469 -:10EAC000671E4B015C016D8B7E8B8F8B988F29AD00 -:10EAD0003AAD4BAD5CADA7966CAD7DAD8EAD9FAD47 -:10EAE000A7970F94671E6B017C01698F7A8F8B8FBC -:10EAF0009C8F21962CAD3DAD4EAD5FAD2197A79675 -:10EB00006CAD7DAD8EAD9FADA7970F94671EA79698 -:10EB10006CAF7DAF8EAF9FAFA7976D8F7E8F8F8FBE -:10EB200098A3EC96FFADEC97FF2309F4BBC22091AC -:10EB30009C1564962FAF649730919D1568963FAFF2 -:10EB4000689740919E156C964FAF6C9750919F15AA -:10EB5000A0965FAFA0972DEB37E346E855E36496A8 -:10EB60006FAD649768967FAD68976C968FAD6C9724 -:10EB7000A0969FADA0970F94011E87FD93C2809130 -:10EB8000EC109091ED10A091EE10B091EF10E7967F -:10EB90008CAF9DAFAEAFBFAFE7972091F010309133 -:10EBA000F1104091F2105091F310E3962CAF3DAF6D -:10EBB0004EAF5FAFE3978091F4109091F510A09164 -:10EBC000F610B091F710EF968CAF9DAFAEAFBFAF20 -:10EBD000EF972091F8103091F9104091FA10509170 -:10EBE000FB10C158DF4F288339834A835B83CF579B -:10EBF000D040E7966CAD7DAD8EAD9FADE797905858 -:10EC0000AF962CAD3DAD4EAD5FADAF970F94671E87 -:10EC10002B013C01E3962CAD3DAD4EAD5FADE397CE -:10EC2000C501B4010F94671E9B01AC01C301B20181 -:10EC30000F94F6242B013C01EF962CAD3DAD4EAD6B -:10EC40005FADEF97C701B6010F94671E9B01AC0142 -:10EC5000C301B2010F94F6242B013C01C158DF4FD0 -:10EC6000288139814A815B81CF57D040A7966CAD0E -:10EC70007DAD8EAD9FADA7970F94671E9B01AC0134 -:10EC8000C301B2010F94F6242B013C012FEE3FEF9C -:10EC90004FE75FE30F94572718160CF4B2C12FEE1D -:10ECA0003FEF4FE75FEBC301B2010F94011E87FFF7 -:10ECB00008C0EFEE4E2E55245A94EFE76E2EEFEB80 -:10ECC0007E2EE7962CAD3DAD4EAD5FADE797AF968E -:10ECD0006CAD7DAD8EAD9FADAF970F94F62469837B -:10ECE0007A838B839C83E3962CAD3DAD4EAD5FADB7 -:10ECF000E397C501B4010F94F6246D837E838F835F -:10ED00009887EF962CAD3DAD4EAD5FADEF97C70147 -:10ED1000B6010F94F62469877A878B879C87C15840 -:10ED2000DF4F288139814A815B81CF57D040A79638 -:10ED30006CAD7DAD8EAD9FADA7970F94F6246D871A -:10ED40007E878F87988BAE014F5F5F4FA5965FAF31 -:10ED50004EAFA597CE01419663969FAF8EAF639756 -:10ED60008A01C12CD12C7601D8018D909D90AD9057 -:10ED7000BD908D0120E030E0A901C501B4010F94E0 -:10ED8000011E882371F0A5019401C501B4010F94FF -:10ED9000671E9B01AC01C701B6010F94F7246B01FC -:10EDA0007C016396EEADFFAD6397E017F107E1F6E6 -:10EDB000C701B6010F94A5279B01AC0160E070E08C -:10EDC00080E89FE30F94F1256B017C01A5960EADC1 -:10EDD0001FADA597A7019601D8016D917D918D91E9 -:10EDE0009C910F94671EF8016193719381939193A5 -:10EDF0008F0163962EAD3FAD63972E173F0751F7F6 -:10EE000074EAA72E70E1B72EA8963FADA897AC96EE -:10EE10003FAFAC97A9964FADA997E4964FAFE49753 -:10EE2000AA960FADAA97AB961FADAB97A596AEADC0 -:10EE3000BFADA597CD90DD90ED90FD90A596BFAFAD -:10EE4000AEAFA59720E030E0A901C701B6010F944D -:10EE5000011E882361F1F5016081718182819381B6 -:10EE60000F94061EA70196010F94F1256B017C01FA -:10EE700020E030E0A9010F94572787FF04C0F7FA7C -:10EE8000F094F7F8F094AC962FADAC97E4963FADC4 -:10EE9000E497A801C701B6010F94011E87FF07C0C0 -:10EEA000AC96CFAEAC97E496DFAEE4978701F4E082 -:10EEB000AF0EB11C63962EAD3FAD6397A5964EADD8 -:10EEC0005FADA5972417350709F0B0CFA3019201D4 -:10EED00060E070E080E89FE30F94F62420E030E0EB -:10EEE00040E05FE30F94671E0F94A5276B017C0140 -:10EEF0002091DF0B3091E00B4091E10B5091E20B40 -:10EF0000AC966FADAC97E4967FADE497C8010F94D3 -:10EF1000671EA70196010F94671E4B015C01A701B4 -:10EF2000960160E070E080E89FE30F94F6249B0177 -:10EF3000AC01C501B4010F94F1256B017C0120E007 -:10EF400030E040E85FE3EB966CAD7DAD8EAD9FADFC -:10EF5000EB970F94011E87FF5CC0A3019201C301D0 -:10EF6000B2010F94671E23EC38EB42E35FEB0F9482 -:10EF7000671E23EF36E64FE55FE30F94F624A30107 -:10EF800092010F94671E2BED3FE049EC5FE30F9475 -:10EF9000F7242CEE31E548E35EE30F94F6244B01B1 -:10EFA0005C0124EE3BEC46E150E40F945727181621 -:10EFB00084F5A50194016BED7FE089E490E40F9462 -:10EFC000F6249B01AC01EB966CAD7DAD8EAD9FAD93 -:10EFD000EB970F94F125AC962FADAC97E4963FAD2F -:10EFE000E497A8010F94671E5B018C019B01AC01A3 -:10EFF000B601C7010F94572718165CF46501780114 -:10F0000008C03BE0C32E47EDD42E53E2E52E6BE360 -:10F01000F62E88E4829DF001839DF00D1124EF5DB2 -:10F02000F34FA180B280038114819501A8016496F9 -:10F030006FAD649768967FAD68976C968FAD6C974F -:10F04000A0969FADA0970F945727181664F4649666 -:10F05000AFAE64976896BFAE68976C960FAF6C972B -:10F06000A0961FAFA0979601A70164966FAD649715 -:10F0700068967FAD68976C968FAD6C97A0969FADA4 -:10F08000A0970F9457271816CCF46496CFAE6497C8 -:10F090006896DFAE68976C96EFAE6C97A096FFAE61 -:10F0A000A0970CC064961FAE649768961FAE6897D1 -:10F0B0006C961FAE6C97A0961FAEA09780E1FE01E4 -:10F0C0007196ACEEB0E101900D928A95E1F788E47B -:10F0D000829D8001839D100D11240F5D134F649656 -:10F0E0008FAD649768969FAD68976C96AFAD6C973F -:10F0F000A096BFADA097F80181879287A387B487B8 -:10F10000AB966CAD7DAD8EAD9FADAB9790589B012E -:10F11000AC010F94F724D8011D962D913D914D918E -:10F120005C9150970F94671E9B01AC016BE077EDEB -:10F1300083E29BE30F94F6242BE0C22E27EDD22E20 -:10F1400023E2E22E2BE3F22EF801C582D682E7827B -:10F15000F086B080C180D280E380F480A701960160 -:10F160000F94572787FD02C083E001C081E08B29FF -:10F1700098E4929DF001939DF00D1124EF5DF34F03 -:10F18000808380E1FE01B196A0EAB5E101900D9285 -:10F190008A95E1F7C0929C15D0929D15E0929E153C -:10F1A000F0929F1580E1FE01EF5BFF4FA0EBB5E110 -:10F1B00001900D928A95E1F790919A1580919B1597 -:10F1C000981303C084E680939715C557DF4F888155 -:10F1D000CB58D0408F5F8F7080939A1580919A158D -:10F1E0009091991581508F70891709F4ABC0F090F8 -:10F1F0009A158FEF8F0D8F7064968FAF6497E090A4 -:10F20000991580919A15E81609F46BC0C12CD12C80 -:10F210006496FFAD6497FE1509F463C08F2E912CA0 -:10F2200028E4289D8001299D100D11240F5D134FA6 -:10F23000D8018C9183FD32C0A4960FAFA497A896F5 -:10F240001FAFA8971996BC916896BFAF6897F80151 -:10F25000F2856C96FFAF6C97D8011B96BC91A09677 -:10F26000BFAFA097F801F484258036804780508492 -:10F27000A201910168966FAD68976C967FAD6C970F -:10F280008B2F9F2D0F94011E811152C1C114D104E7 -:10F2900059F0D6018C9180FD4BC106C0A496CFAE2B -:10F2A000A497A896DFAEA89764968FAD6497815017 -:10F2B0008F7064968FAF6497809199158E1107C0F7 -:10F2C000A496CFACA497A896DFACA897A1CF6496DC -:10F2D000FFAD6497FE1529F081E08E0D8F70E82E4A -:10F2E000EBCF2091991564962FAF6497C12CD12C48 -:10F2F00080919A1564963FAD6497831719F1832E18 -:10F30000912C48E4489D8001499D100D11240F5D0A -:10F31000134FD8018C9183FD0AC05801C114D10448 -:10F3200039F0C6010E94B39E811102C08AC1560104 -:10F3300064968FAD64978F5F8F7064968FAF64977C -:10F340006501D6CFD0909B1580909A1528E4D814EB -:10F3500069F08FEF880D8F70289FF0011124EF5D09 -:10F36000F34F908193FF02C0882EF1CF212C312CD6 -:10F37000412C512C64961FAE649768961FAE689717 -:10F38000712C612C00E010E0E12CF12C8D1409F4BB -:10F3900081C048E44D9D800111240F5D134FD801B9 -:10F3A0008C9183FD19C015966D917D918D919C91E5 -:10F3B00018970F94A527C62EB72EA82E992EE114C4 -:10F3C000F10409F455C0F701808180FD0EC0D80119 -:10F3D0008C9180FD0AC04CC06496CFAC649768964F -:10F3E000BFAC6897A72C962C48C0F701808181603C -:10F3F0008083C7010E94B39E811136C0F7016181ED -:10F400007281838194810F94A5279B01AC0160E0F8 -:10F4100070E080E89FE30F94F1251B012C019B0114 -:10F42000AC016C2D7B2D8A2D992D0F94671E69835D -:10F430007A838B839C8364962FAD649768963FADE7 -:10F440006897472D562DC201B1010F94671E698B35 -:10F450007A8B8B8B9C8BAE014F5F5F4FBE016F5ED3 -:10F460007F4FC7010E942F8FD7018C918E7F8C9385 -:10F470002C2C3B2C4A2C592C780181E08D0D8F705F -:10F48000D82E6496CFAE64976896BFAE68977A2CF4 -:10F49000692C7CCF0115110509F4CCC0F8018081DD -:10F4A00081608083C7010E94B39E811130C0D80162 -:10F4B00011966D917D918D919C9114970F94A52734 -:10F4C0009B01AC0160E070E080E89FE30F94F125C0 -:10F4D0006B017C012DEC3CEC4CE45DE30F94671E6A -:10F4E00069837A838B839C839101A201C701B60152 -:10F4F0000F94671E698B7A8B8B8B9C8BAE014F5F51 -:10F500005F4FBE016F5E7F4FC8010E942F8FF801D1 -:10F5100080818E7F80838EC080E015C1D090E810FE -:10F52000E090E910F090EA101091EB100C947570D7 -:10F5300028E4289DF001299DF00D1124EF5DF34F83 -:10F54000808181FD45C0C114D10431F0F601A58050 -:10F55000B680C780D08408C08BE0A82E87EDB82E77 -:10F5600083E2C82E8BE3D82E28E4289DF001299D44 -:10F57000F00D1124EF5DF34F81899289A389B4893D -:10F58000BC01CD0190589B01AC010F94F724D80128 -:10F590001D962D913D914D915C9150970F94671E52 -:10F5A0009B01AC01C601B5010F94F6243B015C013F -:10F5B0009B01AC0168966FAD68976C967FAD6C97B8 -:10F5C000A0968FADA0979F2D0F94011E87FF0AC0B4 -:10F5D00068966FAC68976C967FAC6C97A096AFAC52 -:10F5E000A097BF2C9301A501C201B1010F94011E88 -:10F5F000882309F459CEB8E4B89DC001B99D900D97 -:10F600001124FC01EF5DF34F6F01808181608083E5 -:10F61000C8010E94B39E882329F0D6018C918E7F69 -:10F620008C9342CEC301D501F60185839683A783CF -:10F63000B0873ACE80916F00826080936F0081E046 -:10F6400082C0D6018C9181FD58C0D60115962D91AE -:10F650003D914D915C9118976B962CAF3DAF4EAF9D -:10F660005FAF6B971501B5E02B0E311CF80145809B -:10F67000568067807084A30192016B966CAD7DAD5E -:10F680008EAD9FAD6B970F94011E87FF36C0F601BC -:10F6900081899289A389B489BC01CD0190589B01CD -:10F6A000AC010F94F724D6011D962D913D914D91FB -:10F6B0005C9150970F94671E9B01AC016B966CADEB -:10F6C0007DAD8EAD9FAD6B970F94F6246B017C01E1 -:10F6D0009B01AC01C301B2010F94572718166CF4BB -:10F6E000D8018C9181608C93C5010E94B39E8823C0 -:10F6F000F1F0F80180818E7F808328E4289DF0015D -:10F70000299DF00D1124EF5DF34F2185328543854E -:10F71000548565817681878190850F94011E8111C2 -:10F7200007CE64963FAD64973093991501CED10111 -:10F73000CD92DD92ED92FC9213976496BFAD6497E3 -:10F74000B0939915DACFC357DF4F0FB6F894DEBFE9 -:10F750000FBECDBFDF91CF911F910F91FF90EF9022 -:10F76000DF90CF90BF90AF909F908F907F906F90E1 -:10F770005F904F903F902F900895CF92DF92EF923D -:10F78000FF920F931F93CF93DF93CDB7DEB76497AC -:10F790000FB6F894DEBF0FBECDBFC98ADA8AEB8AF6 -:10F7A000FC8AFC0180819181A281B38189839A8343 -:10F7B000AB83BC83FB0180819181A281B3818D8366 -:10F7C0009E83AF83B887FA0180819181A281B38142 -:10F7D00089879A87AB87BC87F90180819181A28153 -:10F7E000B3818D879E87AF87B88BAE01475F5F4F30 -:10F7F000BE016B5F7F4FCE0101960E94548E8091B7 -:10F80000A1109091A210892B81F4CE0141967C0128 -:10F810009E01235F3F4FAE01475F5F4FBE016B5FAD -:10F820007F4F40970E949C6C01C080E064960FB6A9 -:10F83000F894DEBF0FBECDBFDF91CF911F910F9126 -:10F84000FF90EF90DF90CF900895CF93DF93CDB7E7 -:10F85000DEB760970FB6F894DEBF0FBECDBFEDE008 -:10F86000F8E180819181A281B38189839A83AB83FE -:10F87000BC8384819581A681B7818D839E83AF836C -:10F88000B88780859185A285B38589879A87AB875C -:10F89000BC8784859585A685B7858D879E87AF872C -:10F8A000B88BAE01475F5F4FBE016B5F7F4FCE01EC -:10F8B00001960E94548E9E01235F3F4FAE01475F29 -:10F8C0005F4FBE016B5F7F4FCE0101960E94B58CEA -:10F8D00060960FB6F894DEBF0FBECDBFDF91CF911B -:10F8E00008950F94350A6091DD0B7091DE0B8CEF5B -:10F8F00092E10F941E0A89EF92E10D944C099091C8 -:10F90000DB0B9817C9F08093DB0B811109C0809144 -:10F91000D90B8093F70B8091DA0B8093F80B089545 -:10F920008091F70B8093D90B1092F70B8091F80B15 -:10F930008093DA0B1092F80B0895CF93DF93CDB735 -:10F94000DEB78091D70B81110FC09E01275F3F4F1B -:10F950004F8158856FE370E087E99BE00F94C81DE5 -:10F9600087E99BE00E948DCFDF91CF9108951F938F -:10F97000CF93DF938091960BC82FC270D82FD4708D -:10F98000182F117080FF04C0CC2311F0D11145C095 -:10F990000F94350A83EF92E10F944C09111103C0C3 -:10F9A00088E50E94AA52C11103C089E50E94AA52AB -:10F9B000D11103C08AE50E94AA528BEE92E10F9406 -:10F9C0004C09DD2319F04FEA55E002C046E458E047 -:10F9D000CC2319F02FEA35E002C022E736E01123EC -:10F9E00019F08FEA95E002C084E796E05F934F93A9 -:10F9F0003F932F939F938F9389ED92E19F938F93E2 -:10FA00001F920E949D7C8DB79EB709960FB6F89401 -:10FA10009EBF0FBE8DBF81E001C080E0DF91CF911E -:10FA20001F910895AF92BF92CF92DF92EF92FF9213 -:10FA30000F931F93CF93DF93CDB7DEB72C970FB6FD -:10FA4000F894DEBF0FBECDBF2DEDC22E22E0D22E28 -:10FA50005C0170E0CB0183529D4F7C01CE14DF042A -:10FA600009F180E20E94AA52F60181916F010E9481 -:10FA7000AA528AE30E94AA52F50161917191819183 -:10FA800091915F018E010F5F1F4F23E041E00F94C2 -:10FA9000D9188C01F80181918F018823F9F20E9415 -:10FAA000AA52F8CF8AE00E94AA522C960FB6F89478 -:10FAB000DEBF0FBECDBFDF91CF911F910F91FF90A1 -:10FAC000EF90DF90CF90BF90AF9008952F923F922C -:10FAD0004F925F926F927F928F929F92AF92BF925E -:10FAE000CF92DF92EF92FF920F931F93CF93DF930A -:10FAF000CDB7DEB7C154D1090FB6F894DEBF0FBE43 -:10FB0000CDBF2DB73EB73FA72EA70E94B77C81116E -:10FB10004FC461E086E50E9460A78D8B853018F0A8 -:10FB200080EF94E179C03D89332321F080ED94E1A9 -:10FB30000F944C096AE080E50E9460A7182F8CEFB3 -:10FB4000810F8F3218F08CEA94E166C060E085E4A2 -:10FB50000E94F793811103C082E08FA302C091E05D -:10FB60009FA360910D1870910E1880910F189091BD -:10FB700010186D837E838F839887C0901118D09062 -:10FB80001218E0901318F0901418C986DA86EB86E4 -:10FB9000FC862091FF133091001440910114509184 -:10FBA00002140F94F724AB01BC0188E50E94FCCF3E -:10FBB0006D877E878F87988B29853A854B855C85F5 -:10FBC00060910314709104148091051490910614AF -:10FBD0000F94F724AB01BC0189E50E94FCCF698B2F -:10FBE0007A8B8B8B9C8BBE016F5E7F4FCE010D9607 -:10FBF0000E941CA6811103C084E994E10DC08CE42D -:10FC00000E94A193082F882381F00E9442938E8B3B -:10FC1000803128F081E694E10F944C09C9C3AE8984 -:10FC2000A13021F4B2E0BE8B01C01E8A60E083E502 -:10FC30000E94F7938CAB882321F0011102C0E7E00A -:10FC4000EE8BFD89F33020F087E494E10F944C09AA -:10FC5000209125182BAF80E00F94C2060E949DC111 -:10FC6000812F90E09EAB8DABADB7BEB7E4E01E9F99 -:10FC7000A019B10911240FB6F894BEBF0FBEADBFD5 -:10FC80002DB73EB72F5F3F4F3DA72CA72D894FA122 -:10FC9000BE016F5E7F4FCE010D960E945BFB9B0104 -:10FCA000AC010F94E9278111ECC20F940601611594 -:10FCB00071058105910511F00F94921933EF3F8B77 -:10FCC0008FE4888F93EC998F37EC232EA3EFAA8FC4 -:10FCD000BFE4BB8FE3ECEC8FF7E4FD8F1EA233246F -:10FCE0003394412C512C32014AA25BA26CA27DA21A -:10FCF0002E89822F90E0DC0111972296BFAFAEAF24 -:10FD00002297FEA1EF2FF0E0FF8FEE8F2DA93EA9E5 -:10FD1000E217F3070CF0CDC23E89332309F46EC11C -:10FD20000F9444192AE030E040E050E00F94792429 -:10FD30000F94081E20E030E040EA50E40F9457276B -:10FD400018161CF001E010E002C00FEF1FEF0F9437 -:10FD5000441928E631E040E050E00F9479240F94F4 -:10FD6000081E4B015C010F94441923E330E040E08E -:10FD700050E00F9479246B5F7F4F8F4F9F4F0F940C -:10FD8000081E68A779A78AA79BA78D898430E1F40C -:10FD900048A559A56AA57BA589E394E10F94000ABB -:10FDA000B501A40181E394E10F94000A8BE294E190 -:10FDB0000F944C090130110519F483E40E94AA52F2 -:10FDC00087E294E10F944C09312CC801110FAA0B62 -:10FDD000BB0B8FAB98AFA9AFBAAF832D90E0229643 -:10FDE000AEADBFAD22978A179B070CF007C1BCA927 -:10FDF000BB2379F06FA978AD89AD9AAD0F94081E39 -:10FE00009B01AC010F94F72420E030E040E952E47C -:10FE10001AC00F94441924E130E040E050E00F9400 -:10FE20007924675E7F4F8F4F9F4F0F94081E6B01A1 -:10FE30007C016FA978AD89AD9AAD0F94081E9B0126 -:10FE4000AC01C701B6010F94671E9B01AC01C5014F -:10FE5000B4010F94F7244B015C0120E030E044EB47 -:10FE600053E40F94572718164CF420E030E044EB8D -:10FE700053E4C501B4010F94F624EDCF20E030E047 -:10FE8000A901C501B4010F94011E87FF0BC020E03A -:10FE900030E044EB53E4C501B4010F94F7244B0167 -:10FEA0005C01ECCF2BED3FE049E450E4C501B40127 -:10FEB0000F94671E20E030E044E353E40F94F125F3 -:10FEC0006B017C010F94EC2568AB79AB8AAB9BABE3 -:10FED0002091FF13309100144091011450910214AD -:10FEE0006D857E858F8598890F94F6246CAF7DAFE4 -:10FEF0008EAF9FAF28A939A94AA95BA968A579A5A2 -:10FF00008AA59BA50F94671E9B01AC016CAD7DADCE -:10FF10008EAD9FAD0F94F7246D837E838F8398877A -:10FF2000C701B6010F94972768AB79AB8AAB9BAB3F -:10FF3000209103143091041440910514509106143B -:10FF400069897A898B899C890F94F6246B017C01DD -:10FF500028A939A94AA95BA968A579A58AA59BA55D -:10FF60000F94671E9B01AC01C701B6010F94F724E3 -:10FF700069877A878B879C874BED51E060E070E062 -:10FF8000CE0105960E94EA9942EC51E060E070E0F3 -:10FF9000CE0109960E94EA99ED89E430F9F44D8189 -:10FFA0005E816F8178858BE194E10F94000A498529 -:10FFB0005A856B857C8588E194E10F94000A409115 -:10FFC000151850911618609117187091181885E13E -:10FFD00094E10F94000A8AE00E94AA5219821A82C0 -:10FFE0001B821C82AE014F5F5F4FBE01675F7F4F78 -:10FFF000CE0105960E947DC23394EFCE20E04FA142 -:020000021000EC -:10000000BE016F5E7F4FCE010D960E945BFBD62E28 -:10001000E72EF82E192FEE8DFF8DEE0FFF1FEE0F3E -:10002000FF1F2CA53DA5E20FF31F862F9E2DAF2DA0 -:10003000B12F80839183A283B383312C2D2D3E2D4C -:100040004F2D512F6D2D7E2D8F2D912F0F94E92740 -:10005000811102C0332433942D2D3E2D4F2D512F6D -:100060006D2D7E2D8F2D912F0F94E927811121C1A8 -:1000700000E0412C512C3201ECA5FDA534E0039F9A -:10008000E00DF11D11242081318142815381C30192 -:10009000B2010F94F7242B013C010F5F8EA1801752 -:1000A00058F78E8C9F8C9FEF891A990A092C000CA7 -:1000B000AA08BB08C501B4010F94081E6E8F7F8F7C -:1000C00088A399A39B01AC01C301B2010F94F12550 -:1000D0006AA37BA38CA39DA32A8D3B8D4C8D5D8D44 -:1000E0006D2D7E2D8F2D912F0F94011E87FF04C043 -:1000F000DA8EEB8EFC8E1D8F2F89388D498D522D17 -:100100006D2D7E2D8F2D912F0F945727181624F4C7 -:10011000DF8AE88EF98E212EC12C412C512C320120 -:10012000ECA5FDA5A4E0CA9EE00DF11D11242AA1B5 -:100130003BA14CA15DA160817181828193810F946B -:10014000F6249B01AC010F94671E9B01AC01C30117 -:10015000B2010F94F7242B013C01C394BEA1BC153E -:10016000F8F62E8D3F8D48A159A10F94F1250F94DB -:10017000A5272B013C018D8982508E3708F07DC068 -:10018000C501B4010E941E536DA97EA980E194E1CE -:100190000F94110A96E7A92E96E0B92EF5018191E8 -:1001A0005F01882319F00E94AA52F8CF43E06D2D19 -:1001B0007E2D8F2D912F0E943A53FD89F23009F444 -:1001C00059C00CE716E0D8018D918D01882319F0F4 -:1001D0000E94AA52F8CF44E06AA17BA18CA19DA104 -:1001E0000E943A5304E816E0F80181918F018823B8 -:1001F00019F00E94AA52F8CF46E0C301B2010E9452 -:100200003A530DE816E0D8018D918D01882319F03D -:100210000E94AA52F8CF43E06A8D7B8D8C8D9D8D14 -:100220000E943A5304E916E0F80181918F01882376 -:1002300019F00E94AA52F8CF43E06F89788D898D1A -:10024000922D0E943A530BE916E0D8018D918D0151 -:10025000882319F00E94AA52F8CF2A8D3B8D4C8D2D -:100260005D8D6F89788D898D922D0F94F62443E0F2 -:100270000E943A538AE00E94AA52BEA1BF5FBEA369 -:1002800040CDE3EFEF8BFFE4F88F23EC298F87EC71 -:10029000282E33EF3A8F8FE48B8F93EC9C8FA7E45B -:1002A000AD8F312C412C512C32014AA25BA26CA2A1 -:1002B0007DA280E00E94B989332009F46AC085E0FC -:1002C00094E10F944C09BD89BB2309F44DC004EAA5 -:1002D00016E0F80181918F01882319F00E94AA523B -:1002E000F8CF46E06AA17BA18CA19DA10E943A5360 -:1002F0000BEA16E0D8018D918D01882319F00E9438 -:10030000AA52F8CF43E06A8D7B8D8C8D9D8D0E9423 -:100310003A5302EB16E0F80181918F01882319F01E -:100320000E94AA52F8CF43E06F89788D898D922D73 -:100330000E943A5309EB16E0D8018D918D01882374 -:1003400019F00E94AA52F8CF2A8D3B8D4C8D5D8DFD -:100350006F89788D898D922D0F94F62443E00E9449 -:100360003A538AE00E94AA5202EC16E0F801819109 -:100370008F01882319F00E94AA52F8CF46E0C301EA -:10038000B2010E943A538AE00E94AA528AE00E9477 -:10039000AA520E9484C18BAD0F94C2060E947DC4F4 -:1003A0002EA53FA50FB6F8943EBF0FBE2DBF07C0C8 -:1003B0008EA59FA50FB6F8949EBF0FBE8DBFAEA5AC -:1003C000BFA50FB6F894BEBF0FBEADBFCF5BDF4F6A -:1003D0000FB6F894DEBF0FBECDBFDF91CF911F9156 -:1003E0000F91FF90EF90DF90CF90BF90AF909F90D4 -:1003F0008F907F906F905F904F903F902F900895D7 -:100400002F923F924F925F926F927F928F929F9224 -:10041000AF92BF92CF92DF92EF92FF920F931F9312 -:10042000CF93DF93CDB7DEB7E5970FB6F894DEBF75 -:100430000FBECDBF3090251887E50E94A193882379 -:1004400009F4F9C080915F1390916013892B29F40E -:100450000F94310A83EF93E134C08AE50E94EA9356 -:10046000882379F00E946A932091FB133091FC134A -:100470004091FD135091FE130F94F6246B017C0103 -:1004800008C0C0901518D0901618E0901718F0907A -:10049000181820E030E040E251ECC701B6010F949B -:1004A000572787FD0AC020E030E040E251E4C70151 -:1004B000B6010F94011E18163CF40F94310A86EE13 -:1004C00093E10F944C09BFC040E050E060EC7FE73F -:1004D00088E50E94FCCF2091F3133091F4134091F2 -:1004E000F5135091F6130F94F6242B013C0140E0D4 -:1004F00050E060EC7FE789E50E94FCCF2091F71384 -:100500003091F8134091F9135091FA130F94F62497 -:100510004B015C016FEF89E40E9460A7182F6FEF19 -:100520008AE40E9460A7082FA3019201C301B201CF -:100530000F94E927811158C0A5019401C501B401A8 -:100540000F94E927811150C0609155137091561393 -:10055000072E000C880B990B0F94081E9B01AC0111 -:10056000C301B2010F94F62420E030E0A9010F94FA -:10057000F72420E030E0A9010F94F1250F946326C1 -:10058000162F6091571370915813072E000C880B8B -:10059000990B0F94081E9B01AC01C501B4010F9487 -:1005A000F62420E030E0A9010F94F72420E030E0A9 -:1005B000A9010F94F1250F946326062F812F012E98 -:1005C000000C990B97FD04C005971CF014E001C0C6 -:1005D00010E0802F002E000C990B97FD04C00597AA -:1005E0001CF004E001C000E0153068F5063058F555 -:1005F00080E00F94C20625E01202F0011124E00F02 -:10060000F11D07FDFA95EE0FFF1FEE0FFF1FE559D5 -:10061000FC4EC082D182E282F382A7019601602F54 -:10062000812F0E94CECE832D0F94C206332059F025 -:100630000E947DC408C08AE40E94A193182F8823D9 -:1006400021F00E949D9910E0D6C460E070E086E53C -:100650000E9451A79A8F898F059718F08EEB93E12E -:10066000A1C260E084E40E94F793282E40E050E0AD -:10067000BA018AE50E94FCCF6DA77EA78FA798AB31 -:1006800040E050E86BEB75E483E50E94FCCF20E08E -:1006900030E040E752E40F94F12560935F027093DD -:1006A0006002809361029093620288E40E94A193A9 -:1006B000882309F40BC10E946A930F946326698B07 -:1006C0007A8B8B8B9C8B69887A888090FF139090B3 -:1006D0000014A0900114B090021420E030E0A901B1 -:1006E000C501B4010F94F724D62EE72EF82E092F5A -:1006F00020E030E040E450E40F94011E87FF05C085 -:10070000D12CE12CF0E4FF2E00E469897A8977FE90 -:1007100002C06F5F7F4F7595679588279927861B65 -:10072000970B9E8B8D8BBC0163517F4F072E000C66 -:10073000880B990B0F94081E562E672E782EC92E03 -:100740002D2D3E2D4F2D502F0F94572718161CF48A -:10075000D52C73010C2D6D2D7E2D8F2D902F0F9488 -:1007600063266B017C012B0120E030E84DEE53E461 -:10077000C501B4010F94F724962EA72EB82E092F89 -:1007800020E030E84BEE53E40F945727181634F46A -:10079000912C60E8A62E7BEEB72E03E469897A8956 -:1007A0006C0D7D1D072E000C880B990B0F94081EF5 -:1007B0006B017C01292D3A2D4B2D502F0F94011EDA -:1007C00087FF04C09C2CAD2CBE2C0F2D692D7A2DDB -:1007D0008B2D902F0F946326788F6F8B809003144E -:1007E00090900414A0900514B090061420E030E01E -:1007F000A901C501B4010F94F724D62EE72EF82ED7 -:10080000092F20E030E040E450E40F94011E87FF00 -:1008100005C0D12CE12C50E4F52E00E46D897E89D1 -:100820006F517F4F072E000C880B990B0F94081EF9 -:100830006D8B672E782EC92E2D2D3E2D4F2D502FCE -:100840000F94572718161CF4DD8873010C2D6D2D9D -:100850007E2D8F2D902F0F9463266B017C013B0121 -:1008600020E030E041EE53E4C501B4010F94F724D9 -:10087000962EA72EB82E092F20E030E84FED53E436 -:100880000F945727181634F4912C30E8A32E4FED0F -:10089000B42E03E469897A896C0D7D1D072E000C46 -:1008A000880B990B0F94081E6B017C01292D3A2DA2 -:1008B0004B2D502F0F94011E87FF04C09C2CAD2C94 -:1008C000BE2C0F2D692D7A2D8B2D1FC18CE40E941B -:1008D000EA93882369F00E946A932091F313309180 -:1008E000F4134091F5135091F6130F94F6242BC096 -:1008F00020E030E0A9016091FF1370910014809115 -:100900000114909102140F94F7246B017C0120E0F4 -:1009100030E040E450E40F94011E87FD0DC020E05C -:1009200030E0A901C701B6010F94011E87FF09C07D -:10093000C12CD12C760105C0C12CD12C20E4E22E93 -:10094000FE2CC701B6010F9463262B0182E50E949D -:10095000EA93882369F00E946A932091F3133091FF -:10096000F4134091F5135091F6130F94F6243CC004 -:1009700020E030E84DEE53E46091FF1370910014D5 -:1009800080910114909102140F94F724D62EE72E33 -:10099000F82E092F20E030E84BEE53E40F94572750 -:1009A000181634F4D12C80E8E82E9BEEF92E03E4DF -:1009B000B20165527E4F072E000C880B990B0F94E5 -:1009C000081E962EA72EB82EC92E2D2D3E2D4F2D4A -:1009D000502F0F94011E87FF03C0D92C75010C2DD9 -:1009E0006D2D7E2D8F2D902F0F946326788F6F8B1A -:1009F00086E40E94EA93882369F00E946A9320911A -:100A0000F7133091F8134091F9135091FA130F94A2 -:100A1000F6242BC020E030E0A9016091031470910E -:100A2000041480910514909106140F94F7246B011F -:100A30007C0120E030E040E450E40F94011E87FD8B -:100A40000DC020E030E0A901C701B6010F94011EDE -:100A500087FF09C0C12CD12C760105C0C12CD12C37 -:100A600000E4E02EFE2CC701B6010F9463263B0183 -:100A700082E40E94EA93882369F00E946A9320919D -:100A8000F7133091F8134091F9135091FA130F9422 -:100A9000F6243CC020E030E041EE53E460910314C2 -:100AA0007091041480910514909106140F94F7240A -:100AB000D62EE72EF82E092F20E030E84FED53E434 -:100AC0000F945727181634F4D12CA0E8EA2EBFED66 -:100AD000FB2E03E4B3016E537E4F072E000C880BF0 -:100AE000990B0F94081E962EA72EB82EC92E2D2DC9 -:100AF0003E2D4F2D502F0F94011E87FF03C0D92C80 -:100B000075010C2D6D2D7E2D8F2D902F0F9463264A -:100B10007B01B301072C000C880B990B0F94081E66 -:100B20006C8F7D8F8E8F9F8F69837A838B839C835D -:100B3000B201052C000C880B990B0F94081E68A3BA -:100B400079A38AA39BA36D837E838F839887BE013D -:100B50006F5F7F4FCE0105960E941CA6882301F18E -:100B6000B7010F2C000C880B990B0F94081E698796 -:100B70007A878B879C87AF89B88DBD01BB0F880BA7 -:100B8000990B0F94081E6D877E878F87988BBE0107 -:100B9000675F7F4FCE010D960E941CA6813029F021 -:100BA00082EA93E10F944C0926C2298D3A8D232BBA -:100BB00069F08CE893E10F944C09222021F082E83F -:100BC00093E10F944C098AE00E94AA520E945F8C24 -:100BD00080E00F94C20681E00E94B989882321F049 -:100BE000832D0F94C2062FCD0F89188D0419150976 -:100BF00017FF02C00D5F1F4F1595079515950795B7 -:100C0000B801012E000C880B990B0F94081E6CA3E1 -:100C10007DA38EA39FA3E618F708F7FE03C033E079 -:100C2000E30EF11C5701B594A794B594A794B501B0 -:100C30000B2C000C880B990B0F94081E68A779A742 -:100C40008AA79BA70E949DC160915F13709160135A -:100C5000072E000C880B990B0F94081E9B01AC010A -:100C60006CA17DA18EA19FA10F94011E811122C0B4 -:100C70006091611370916213072E000C880B990B21 -:100C80000F94081E9B01AC0168A579A58AA59BA5B8 -:100C90000F94011E81110EC080915513909156132F -:100CA0004816590639F480915713909158136816D5 -:100CB000790699F00E949D991093601300935F1339 -:100CC000B0926213A0926113509256134092551342 -:100CD0007092581360925713312C60E085E40E94A3 -:100CE000F793882319F061E06CA702C082E08CA71B -:100CF00091E09B8FE12CF12C812C912C5401A1E0EF -:100D0000A98BB1E0BD8B25E02F8B10E075E5C72ED8 -:100D100073E1D72EE9AAA989B1E0AB27A98B0B8D86 -:100D2000C7010F2C000CAA0BBB0B8AAB9BABACAB67 -:100D3000BDAB9F89911709F4BEC0612F012E000C35 -:100D4000770B880B990B0F94081E2CA13DA14EA187 -:100D50005FA10F94671E28A139A14AA15BA10F943E -:100D6000F7242B013C016AA97BA98CA99DA90F94AA -:100D7000081E28A539A54AA55BA50F94671E2C8DD2 -:100D80003D8D4E8D5F8D0F94F7244B015C0120E06B -:100D900030E0A901C301B2010F94011E87FF04C016 -:100DA00020E030E0A90104C020E030E040E05FE353 -:100DB000C301B2010F94F7240F94992669837A83B3 -:100DC0008B839C8320E030E0A901C501B4010F941E -:100DD000011E87FF04C020E030E0A90104C020E02C -:100DE00030E040E05FE3C501B4010F94F7240F94B5 -:100DF00099266D837E838F839887A98DBA8DAB2BBF -:100E000081F0602F70E08EE693E10F94110A69E1A2 -:100E100070E08CE693E10F94110A89E693E10F9458 -:100E20004C091F92B9E1BF931F920F93DF92CF92AB -:100E30001F920E949D7C298D4CA5BE016B5F7F4F48 -:100E4000CE0101960E945BFB4B015C010FB6F8944A -:100E5000DEBF0FBECDBF9B01AC010F94E9278823F5 -:100E600021F0832D0F94C20633C0A50194016DA516 -:100E70007EA58FA598A90F94F7249B01AC0165E08E -:100E80001603F0011124EE0DFF1DEE0FFF1FEE0FF4 -:100E9000FF1FE559FC4E208331834283538369A9A8 -:100EA000812F0E94CECE80E00E94D6530F5F8D89A5 -:100EB000180F312C3ECF94E0E916F10449F0A5015A -:100EC0009401C501B4010F94E927882309F47EC079 -:100ED0000E947AEE80E00E94B989882351F0832D28 -:100EE0000F94C206812C912C90ECA92E9FE7B92E6D -:100EF00052C0A5019401C501B4010F94E9278111E5 -:100F00004AC0222001F10F945B090F9408072110B9 -:100F10003FC08DE098E10F94A9049B01AC01609162 -:100F200015187091161880911718909118180F9431 -:100F3000F6246093151870931618809317189093E1 -:100F4000181881E026C012E084E0F82E02E0EF2CB1 -:100F5000E11ADF2CD01A21E041E0602F812F0F949D -:100F6000750721E04FEF602F8E2D0F9475072FEF3F -:100F700041E06D2D812F0F9475072FEF4FEF6D2DF1 -:100F80008E2D0F947507015020F71150F8F6BBCF46 -:100F9000832D809325180E9484C18091251881118A -:100FA0000E9448C30E9471890E945F8C89E493E18A -:100FB0000E94F1BB0E947DC411E0A5019401C5010E -:100FC000B4010F94E927811116C03DCBA989AA234A -:100FD00061F031E03D8B65E06F8B10E08FEFE81A38 -:100FE000F80A9B8D9B5F9B8F95CEBFEFBD8B2FEF3C -:100FF0002F8B14E0F3CF812FE5960FB6F894DEBF68 -:101000000FBECDBFDF91CF911F910F91FF90EF9059 -:10101000DF90CF90BF90AF909F908F907F906F9018 -:101020005F904F903F902F90089580919A159091E6 -:101030009B15891B8F708F3021F480E00E94D6535E -:10104000F4CF80919A158F5F8F70E0919A1598E494 -:101050009E9FF0011124EF5DF34FDF011D929A95E1 -:10106000E9F798E090834091B0155091B1156091E7 -:10107000B2157091B315458B568B678B708F40916D -:10108000B4155091B5156091B6157091B715418F93 -:10109000528F638F748F4091B8155091B91560913C -:1010A000BA157091BB15458F568F678F70A340910D -:1010B000BC155091BD156091BE157091BF1541A32F -:1010C00052A363A374A320919A1590919B152913A1 -:1010D00003C094E69093971580939A1580916F00C2 -:1010E000826080936F0008950F930FB70F93009164 -:1010F0006E000F930B7F00936E0000916F000D7FC9 -:1011000000936F000F930BB70F930CB70F921F92C2 -:101110002F933F934F935F936F937F938F939F93FF -:10112000AF93BF93EF93FF9311240E94C79EFF914B -:10113000EF91BF91AF919F918F917F916F915F914F -:101140004F913F912F911F900F900CBF0F910BBFAC -:101150000F910260F89400936F000F9100936E005E -:101160000F910FBF0F91189580918E0980FF03C0DA -:1011700089988FEF02C0899A81E080932E11809127 -:101180008E09869580FF03C08F9A8FEF02C08F98DB -:1011900081E080932F1180918E098695869580FF3E -:1011A00008C080910B0180958270809309018FEFB8 -:1011B00006C080910B0182708093090181E08093C9 -:1011C000301180918E0986958695869580FF03C0A3 -:1011D00016988FEF02C0169A81E0809331110000BB -:1011E00000000000089580919A1590919B15891B2D -:1011F0008F7019F480E090E00895909197159923ED -:1012000051F0833030F48FEF890F19F080939715E8 -:10121000F1CF10929715E0919B1588E4E89FF001BB -:101220001124EF5DF34F808180FDE4CF80919B1509 -:101230008F5F8F708093981590919B158091991571 -:10124000981304C08091981580939915CF01089543 -:101250001F93CF93DF93CDB7DEB728970FB6F894DF -:10126000DEBF0FBECDBF69837A838B839C832D83C2 -:101270003E834F8358870E94B698882311F081E0FF -:1012800026C081E00E947F7C69E170E080E090E010 -:101290000F941D09BE016B5F7F4FCE0101960E9426 -:1012A0009FC21091210B147080E00E947F7C11235B -:1012B00021F00E9467988111E2CF1092210B82E009 -:1012C0000E94DAC20E9448C381E0111180E0289692 -:1012D0000FB6F894DEBF0FBECDBFDF91CF911F9147 -:1012E0000895CF92DF92EF92FF92CF93DF93CDB725 -:1012F000DEB728970FB6F894DEBF0FBECDBF20E053 -:1013000030E040EA50E46091151870911618809111 -:101310001718909118180F94011E8823E9F01D8268 -:101320001E821F821886C12CD12C80EAE82E80E410 -:10133000F82EC982DA82EB82FC82BE016B5F7F4F9E -:10134000CE0101960E949FC2C0921518D092161825 -:10135000E0921718F092181828960FB6F894DEBF8E -:101360000FBECDBFDF91CF91FF90EF90DF90CF9078 -:101370000895BF92CF92DF92EF92FF920F931F9347 -:10138000CF93DF93CDB7DEB728970FB6F894DEBFC3 -:101390000FBECDBF90918F09981709F47AC0B82E6F -:1013A00080E090E0A0E2B1E48D839E83AF83B887B4 -:1013B000C0900714D0900814E0900914F0900A141B -:1013C00020E030E0A901C701B6010F94011E87FF9C -:1013D0000CC0A701960160E070E080E291E40F94F8 -:1013E000F6246D837E838F83988720E030E04BEE78 -:1013F00053E46D817E818F8198850F94572718164D -:1014000044F480E090E0ABEEB3E48D839E83AF8341 -:10141000B8872D813E814F81588560911518709154 -:10142000161880911718909118180F94011E87FFB5 -:101430000BC019821A821B821C82BE016F5F7F4F14 -:10144000CE0105960E949FC260910D1870910E18F2 -:1014500080910F1890911018209111183091121846 -:10146000409113185091141819821A821B821C8201 -:10147000E0901518F0901618009117181091181890 -:10148000FE0131966F010E94BCC1B0928F090E948B -:10149000F2C580E028960FB6F894DEBF0FBECDBF30 -:1014A000DF91CF911F910F91FF90EF90DF90CF9040 -:1014B000BF900895CF93DF93C091181187ED96E008 -:1014C0000E94B55380911311873009F445C083E021 -:1014D0008093121181E08093290280E190E0909343 -:1014E0001D1680931C1685E080931016D2E8D093C9 -:1014F000131684E190E1A0E0B0E08093141690937D -:101500001516A0931616B09317160F94800161E07C -:1015100070E080E090E00E94B3CE81E09AE5909385 -:101520001D1680931C1685E390E090931F16809300 -:101530001E1687E080931016D093131684E890E06F -:10154000A0E0B0E08093141690931516A0931616A1 -:10155000B09317160F948001C13081F1C23059F455 -:101560000E94A6EC60930A1170930B1180930C11EA -:1015700090930D1102C00E94DAEC81E08093181163 -:101580000F94060160930611709307118093081160 -:1015900090930911C230A1F080917C0990917D094E -:1015A000019690937D0980937C09109219111092F5 -:1015B0001A1110921B1110921C1102C080E001C080 -:1015C00081E0DF91CF910895CF93DF9300D01F92F8 -:1015D000CDB7DEB780917B098823A9F083E390E043 -:1015E0009C838B831A8219829E012F5F3F4F40E1BB -:1015F00050E06CE779E0CE0103960E94AD508FEE8B -:1016000096E00E94B5530F900F900F900F90DF91CE -:10161000CF910895CF92DF92EF92FF920F931F9395 -:10162000809118118150823010F080E0A7C08BE2C9 -:1016300097E00E94B55380911311833009F441C0A3 -:101640008FE097E00E94B5538BE197E00E94B5537D -:1016500040E060E070E0CB010E949CEE41E060E081 -:1016600070E0CB010E949CEE81E080930502109215 -:10167000111121E030E03093101120930F1180936D -:10168000290281E09AE590931D1680931C168DE245 -:1016900090E090931F1680931E1687E0809310169B -:1016A00082E88093131684E890E0A0E0B0E0809395 -:1016B000141690931516A0931616B09317160F9440 -:1016C0008001109218110F94060160931411709309 -:1016D0001511809316119093171180917E099091A6 -:1016E0007F09019690937F0980937E09C09019111C -:1016F000D0901A11E0901B11F0901C110E94A6ECE2 -:101700006093191170931A1180931B1190931C11FF -:1017100000918009109181092091820930918309FB -:101720000C191D092E093F09DC01CB01800F911F07 -:10173000A21FB31F8093800990938109A09382090F -:10174000B09383090E94A6EC009184091091850949 -:10175000209186093091870906171707280739074E -:1017600050F40E94A6EC60938409709385098093DD -:101770008609909387090E94E48A81E01F910F9166 -:10178000FF90EF90DF90CF900895CF93DF9300D03C -:101790001F921F92CDB7DEB781E080937B09ECE703 -:1017A000F9E080E1DF011D928A95E9F70E94E48A61 -:1017B00086E18D8382E390E09C838B831A82198279 -:1017C0009E012F5F3F4F41E050E0BE016B5F7F4FB6 -:1017D000CE0103960E94AD500F900F900F900F9086 -:1017E0000F90DF91CF910895CF92DF92EF92FF9209 -:1017F0000F931F93CF93DF93C4EAD0E103EE1BE076 -:10180000C12CD12C7601C3946991799189919991D8 -:101810000F94061E288939894A895B890F94671EAF -:101820000F946A26F80161937193819391938F01CC -:10183000C616D706E806F90610F46B017C01F0E144 -:10184000C43BDF0709F76FEF7FEFCB01A7019601DC -:101850000F9457242093F30B3093F40B4093F50B24 -:101860005093F60BDF91CF911F910F91FF90EF9066 -:10187000DF90CF9008950F931F93CF93DF9308EBE2 -:1018800010E1C9EFDBE0F8012191319141915191D3 -:101890008F0160E070E080E89FE30F94F125699389 -:1018A000799389939993FCE0C930DF0761F70E942F -:1018B000257CDF91CF911F910F910C94F48B909127 -:1018C0009A1580919B15981306C08091A110909154 -:1018D000A210892B21F080E00E94D653F0CF08950A -:1018E0002091C4103091C5104091C6105091C7107E -:1018F000FC0160817181828193810F94671E0F9436 -:1019000064276093BC157093BD158093BE159093AA -:10191000BF1590919A1580919B1598130C9415887A -:101920000E945F8C80916F00982F927081FF05C09C -:1019300080916F008D7F80936F004091BC15509116 -:10194000BD156091BE157091BF1540935011509315 -:1019500051116093521170935311992329F0809182 -:101960006F00826080936F000895EF92FF920F9353 -:101970001F93CF93DF937B018A01E9012091B81077 -:101980003091B9104091BA105091BB10FC016081A8 -:101990007181828193810F94671E0F9464276093F5 -:1019A000B0157093B1158093B2159093B315209133 -:1019B000BC103091BD104091BE105091BF10F70186 -:1019C00060817181828193810F94671E0F946427D7 -:1019D0006093B4157093B5158093B6159093B715B1 -:1019E0002091C0103091C1104091C2105091C3108D -:1019F000F80160817181828193810F94671E0F9439 -:101A000064276093B8157093B9158093BA159093B5 -:101A1000BB152091C4103091C5104091C610509153 -:101A2000C710688179818A819B810F94671E0F940A -:101A300064276093BC157093BD158093BE15909379 -:101A4000BF1590919A1580919B15981741F0DF91E1 -:101A5000CF911F910F91FF90EF900C9415880E94E9 -:101A60005F8C80916F00982F927081FF05C08091EC -:101A70006F008D7F80936F004091B0155091B1152C -:101A80006091B2157091B315409344115093451174 -:101A900060934611709347114091B4155091B5155C -:101AA0006091B6157091B715409348115093491144 -:101AB00060934A1170934B114091B8155091B9152C -:101AC0006091BA157091BB1540934C1150934D1114 -:101AD00060934E1170934F114091BC155091BD15FC -:101AE0006091BE157091BF154093501150935111E4 -:101AF0006093521170935311992329F080916F00D4 -:101B0000826080936F00DF91CF911F910F91FF90C2 -:101B1000EF900895CF93DF93C82F0E94969E24E004 -:101B2000C29FE0011124C750D44F0F94081E288192 -:101B300039814A815B810F94671EDF91CF910895AF -:101B400090919A1580919B15981306C08091A110D1 -:101B50009091A210892B21F080E00E94D653F0CF03 -:101B60005F9A809114148E7F809314148A9A8091C6 -:101B700014148D7F809314148091080180958170D6 -:101B800080930601809114148B7F809314140C941D -:101B90001950CF93DF9390916F00292F227091FFFE -:101BA00005C090916F009D7F90936F0094E0899F96 -:101BB000A0011124FA01E85CFE4E608171818281EE -:101BC0009381222329F020916F00226020936F00DF -:101BD000EA01C750D44F0F94081E288139814A81E9 -:101BE0005B810F94671EDF91CF91089580916F0004 -:101BF000982F927081FF05C080916F008D7F809338 -:101C00006F0080919B1580939A158093991580930E -:101C1000981584E68093971528EE33E03093A21050 -:101C20002093A110992329F080916F008260809306 -:101C30006F0081E0809337110895CF92DF92EF9289 -:101C4000FF92CF93DF9320912518222331F1EC01ED -:101C500008960E9488BD6B017C0120E030E0A9015C -:101C60000F94011E882361F0CE010F94A9049B01FB -:101C7000AC01C701B6010F94671E9B01AC0103C004 -:101C800020E030E0A901688579858A859B850F94DD -:101C9000F624688779878A879B87DF91CF91FF90A9 -:101CA000EF90DF90CF9008954F925F926F927F9266 -:101CB000AF92BF92CF92DF92EF92FF920F931F935A -:101CC000CF93DF93CDB7DEB72C970FB6F894DEBF76 -:101CD0000FBECDBF20912518222309F446C08A01EA -:101CE0007B016C01CA010E9488BD2B013C01CE0121 -:101CF00001965C018CE0F50111928A95E9F7F601F5 -:101D000080819181A281B38189839A83AB83BC83D3 -:101D1000F70180819181A281B3818D839E83AF83FE -:101D2000B88720E030E0A901C301B2010F94011E81 -:101D3000882361F0C5010F94A9049B01AC01C30184 -:101D4000B2010F94671E9B01AC0103C020E030E09C -:101D5000A901F80160817181828193810F94F72438 -:101D6000F80160837183828393832C960FB6F89475 -:101D7000DEBF0FBECDBFDF91CF911F910F91FF90BE -:101D8000EF90DF90CF90BF90AF907F906F905F907B -:101D90004F900895CF92DF92EF92FF928091FD10C5 -:101DA000882371F1C0900211D0900311E0900411CA -:101DB000F090051120E030E0A901C701B6010F94B1 -:101DC000011E8823E9F020E030E040E05FE3C70136 -:101DD000B6010F94671E9B01AC010F94671E2BED9B -:101DE0003FE049E450E40F94671E9B01AC0160E0C2 -:101DF00070E080E89FE30F94F1256B017C0106C041 -:101E0000C12CD12C80E8E82E8FE3F82EC092FE1072 -:101E1000D092FF10E0920011F092011160911B022C -:101E200070911C02072E000C880B990B0F94081E52 -:101E30002AE037ED43E25CE30F94671EA7019601A9 -:101E40000F94671E60931502709316028093170219 -:101E500090931802FF90EF90DF90CF9008954F92EB -:101E60005F926F927F928F929F92AF92BF92CF922A -:101E7000DF92EF92FF920F931F93CF93DF93CDB733 -:101E8000DEB768970FB6F894DEBF0FBECDBF8C01EA -:101E90005B015A834983DC01D6966D917D918D91CA -:101EA0009C91D9970F94061E6B017C01F50120814E -:101EB0003181428153810F94671E0F94D5250F9471 -:101EC0006A2669877A878B879C87A981BA812D9139 -:101ED0003D914D915C91C701B6010F94671E0F941F -:101EE000D5250F946A266D877E878F87988B2985E5 -:101EF0003A854B855C85283731054105510540F40D -:101F000088E790E0A0E0B0E089879A87AB87BC873C -:101F10002D853E854F855889283731054105510566 -:101F200040F488E790E0A0E0B0E08D879E87AF871F -:101F3000B88BF801EE5BFF4F2081318142815381E4 -:101F400029833A834B835C83CA01B9010F94081E2D -:101F50002B013C0169857A858B859C850F94061E33 -:101F6000698B7A8B8B8B9C8B20E030E0A901C301BD -:101F7000B2010F94011E882329F1A7019601C70120 -:101F8000B6010F94671E4B015C0129893A894B8980 -:101F90005C89CA01B9010F94671E9B01AC01C501A0 -:101FA000B4010F94F6244B015C01A3019201C3011B -:101FB000B2010F94F7249B01AC01C501B4010F9449 -:101FC000F12503C060E070E0CB010F94D5250F949C -:101FD0006A266D837E838F83988769817A818B815E -:101FE0009C8190958095709561957F4F8F4F9F4F05 -:101FF0000F94081E4B015C016D857E858F85988945 -:102000000F94061E69837A838B839C8320E030E0E3 -:10201000A901C501B4010F94011E882349F129814A -:102020003A814B815C81CA01B9010F94671E6D8BA7 -:102030007E8B8F8B988FA7019601C701B6010F94F5 -:10204000671E9B01AC016D897E898F89988D0F94E5 -:10205000F6246B017C01A5019401C501B4010F9424 -:10206000F7249B01AC01C701B6010F94F12503C011 -:1020700060E070E0CB010F949926D80195968D9081 -:102080009D90AD90BC909897750164012D813E8123 -:102090004F815885C21AD30AE40AF50A0F946A26BA -:1020A000C61AD70AE80AF90AF7FE75C020E030E040 -:1020B000A901C301B2010F94011E882309F443C092 -:1020C000C501B4010F94061E6B017C01A3019201AE -:1020D000C301B2010F94F7249B01AC01C701B60103 -:1020E0000F94671E6B017C0129893A894B895C89B1 -:1020F000CA01B9010F94671E9B01AC01C701B6016B -:102100000F94F6246B017C0129813A814B815C811B -:10211000CA01B9010F94671E9B01AC01C701B6014A -:102120000F94F7246B017C0120E030E040E850E49C -:10213000C301B2010F94671E9B01AC01C701B60138 -:102140000F94F12503C060E070E0CB010F94D5251A -:102150007B018D83998320E030E0A9010F945727FC -:10216000181624F0E12CF12C1D821982B7018D8103 -:1021700099810F946A266D837E838F839887861654 -:102180009706A806B90620F48D829E82AF82B88693 -:10219000C12CD12C76018D819E81AF81B885F8014B -:1021A00081A792A7A3A7B4A7C80ED91EEA1EFB1E3B -:1021B000C5A6D6A6E7A6F0AA29853A854B855C85F3 -:1021C00022AF33AF44AF55AFFE962D853E854F8588 -:1021D0005889208331834283538368960FB6F894DD -:1021E000DEBF0FBECDBFDF91CF911F910F91FF904A -:1021F000EF90DF90CF90BF90AF909F908F907F90A7 -:102200006F905F904F9008958091A31083FD0FC051 -:102210008091090C81110BC02091120C3091130C8C -:102220008091190290911A022817390724F061E071 -:1022300080E00C94BCD90F94350A8DE497E10F949B -:102240004C0980E00895CF92DF92EF92FF920F93B6 -:102250001F93CF93DF937C018B0110925F090E9443 -:102260004050CDE0D8E12091150230911602409106 -:10227000170250911802F701608171818281938168 -:102280000F94F1252C853D854E855F850F94F724AD -:102290006C877D878E879F87C12CD12C760129E1A1 -:1022A00038E145E158E161E178E1CE010E94BD7B72 -:1022B000DF91CF911F910F91FF90EF90DF90CF9022 -:1022C0000C945F8CCF92DF92EF92FF92C0906302EA -:1022D000D0906402E0906502F0906602FC0180817B -:1022E0009181A281B3818093630290936402A09351 -:1022F0006502B09366020E94B9BEC0926302D0929A -:102300006402E0926502F0926602FF90EF90DF9027 -:10231000CF9008952F923F924F925F926F927F924B -:102320008F929F92AF92BF92CF92DF92EF92FF92E5 -:102330000F931F93CF93DF93CDB7DEB76F970FB691 -:10234000F894DEBF0FBECDBF9C8F8B8F7E8F6D8FBD -:10235000212C312C2FEF28873FEF3F834FEF488B05 -:102360005FE4598B83EC8A8B97E49B8B21E030E010 -:1023700040E050E0022C04C0220F331F441F551FC1 -:102380000A94D2F72F8B388F498F5A8F40ED51E145 -:102390005B874A8700E010E02F8EAA85BB858D9170 -:1023A0009D91BB87AA87A0E0B0E02F89388D498D29 -:1023B0005A8D82239323A423B523892B8A2B8B2B1D -:1023C00009F0ECC080915F1390916013289EB001DA -:1023D000299E700D389E700D112480915513909197 -:1023E0005613680F791F072E000C880B990B0F945A -:1023F000081E6C877D878E879F87809161139091DF -:102400006213089FB001099F700D189F700D112471 -:102410008091571390915813680F791F072E000C65 -:10242000880B990B0F94081E6B017C012C853D8550 -:102430004E855F85AB8DBC8D6D917D918D919C910D -:102440000F94F6242B013C01A7019601ED8DFE8D22 -:1024500060817181828193810F94F6244B015C012C -:10246000A3019201C301B2010F94671E2B013C012D -:10247000A5019401C501B4010F94671E9B01AC0135 -:10248000C301B2010F94F7240F94A5274B015C01FF -:102490002C853D854E855F856091F4117091F51115 -:1024A0008091F6119091F7110F94F6242B013C01C5 -:1024B000A70196016091F0117091F1118091F211D4 -:1024C0009091F3110F94F6246B017C01A30192010A -:1024D000C301B2010F94671E2B013C01A7019601B5 -:1024E000C701B6010F94671E9B01AC01C301B20185 -:1024F0000F94F7240F94A52720E030E040E751E443 -:102500000F94F125A50194010F94F7246B017C0130 -:102510008090F8119090F911A090FA11B090FB11F1 -:1025200020E030E040E85FE3C501B4010F94572795 -:102530001816FCF4C501B4010F9463264B015C012D -:1025400016161706180619063CF40F944419A5012F -:1025500094010F94792403C060E070E0CB010F94E4 -:10256000081E9B01AC01B601C7010F94F7246B0153 -:102570007C01288939894A895B89B601C7010F9492 -:10258000011E87FF0BC0FF8DF8870F83C986DC8A89 -:10259000ED8AFE8AC88AD98AEA8AFB8A0F5F1F4FB2 -:1025A0000530110509F0F9CE2FEF221A320A35E075 -:1025B0002316310409F0DACE4F81E42FF0E0EE0F5C -:1025C000FF1FE053FE4E81E090E0088402C0880FB8 -:1025D000991F0A94E2F720813181822B932B9183FA -:1025E000808389859C89AD89BE898B839C83AD83DB -:1025F000BE83482F5C816D817E8128853F8180E08C -:1026000090E06F960FB6F894DEBF0FBECDBFDF919E -:10261000CF911F910F91FF90EF90DF90CF90BF90DF -:10262000AF909F908F907F906F905F904F903F9072 -:102630002F9008958C3891051CF02CE880E002C0A2 -:10264000282F892F2093690980936A090C9412DF3F -:1026500080E1EDE0F8E1A3EEB3E101900D928A95FF -:10266000E1F708958091921290919312009731F0C2 -:102670004AE050E060E070E00D94F71A60E070E02E -:10268000CB0108950E94329397FD0CC00E943293B3 -:102690006F3F71058105910509F034F40E94329372 -:1026A000862F089580E008958FEF0895809192120B -:1026B00090919312892B39F00E94429391E08111FD -:1026C00003C090E001C091E0892F08950E943293E9 -:1026D000CB0108950F931F93CF9380919212909105 -:1026E0009312009711F1FC018F01C1912C2F2F7DC6 -:1026F000A9F0C53411F0C536B9F7F801108260E0D1 -:1027000070E080919212909193120F949B19F801AE -:10271000C083562F472F382F292F0BC060E070E061 -:10272000CF911F910F910D949B1950E040E030E044 -:1027300020E0652F742F832F922FCF911F910F913F -:10274000089581548A3108F042C0E82FF0E04091AA -:10275000601250916112609162127091631204C014 -:1027600076956795579547958A95D2F7842F81700E -:1027700040FF2FC0EA5BFD4E9081992309F1E09163 -:10278000DD0BF091DE0BE90FF11D908120ED290F9B -:102790002A3098F09E3211F491810CC09D3211F0D4 -:1027A0009B3271F4918120ED290F2A3030F09E3256 -:1027B00039F4928190539A3018F42E2F9F2F02C033 -:1027C00020E090E02093921290939312089580E07D -:1027D000089508950E94A193882341F081E02091FB -:1027E000921230919312232B09F480E00895CF9335 -:1027F000DF93C82FD62F0E94EA93882321F0DF9120 -:10280000CF910C9456938C2F0E94A193811101C0FB -:102810008D2FDF91CF9108950F931F93CF938C014C -:10282000C62F8CE895E10F944C09C8010F944C0910 -:10283000CC2331F08AE0CF911F910F910C94AA52D2 -:10284000CF911F910F91089560E081EA95E10E9478 -:102850000C9489EA95E10F944C098AE00C94AA52F1 -:1028600060E081EA95E10E940C948DE995E10F9476 -:102870004C098AE00C94AA52EF92FF920F931F9397 -:10288000CF937C018B01C42F60E081EA95E10E9427 -:102890000C94C7010F944C0980E20E94AA52C8010F -:1028A0000F944C09CC2341F08AE0CF911F910F91F6 -:1028B000FF90EF900C94AA52CF911F910F91FF902F -:1028C000EF90089541E0BC0186E995E10C943C94B9 -:1028D000CF93DF93C0911D1110921D11C230B9F139 -:1028E00018F4C13041F041C0C430B1F1C530E9F550 -:1028F000C4EDD5E13FC081111DC00E94309441E07C -:102900006FE376E186E697E10E943C9484E396E1EA -:102910000E94629480915F09882319F086E296E113 -:1029200004C0C0931D118DE196E10E9462940E9443 -:1029300024941EC08130E1F480915F098823C1F0A6 -:1029400010922A0210925F090E94405011C010920A -:102950004613C0EFD5E10EC089E196E190939E0940 -:1029600080939D09CFEDD5E105C0C6ECD5E102C04D -:10297000C9E0D6E18EEA95E10F944C09CE010F949F -:102980004C098AE0DF91CF910C94AA520F931F93C8 -:10299000CF93DF938B01EA0180931D110E94309445 -:1029A00041E0B80186E697E10E943C94209719F037 -:1029B000CE010E946294DF91CF911F910F910C94F0 -:1029C00024940F931F93CF93DF93C82F0F94350A4E -:1029D000C11103C084E696E102C086E896E10F9437 -:1029E0004C090F940601DC01CB0188539045AF4F91 -:1029F000BF4F80932F1390933013A0933113B09354 -:102A00003213109233131091451283E080934512D4 -:102A100081E08093461346E357E16FE377E182E07C -:102A20000E94C69488E297E10E94D2CFCC2319F08D -:102A3000C6E8D6E102C0C4E6D6E101E080914613C3 -:102A4000882309F455C080913313882309F44CC0BE -:102A50000F94350A81E097E10F944C094CEE56E152 -:102A600063EF76E182E00E94C6948EED96E10E94CB -:102A7000D2CF80914613882321F081E00E94D65363 -:102A8000F8CF40E050E064ED76E182E00E94C69429 -:102A900087EC96E10E948DCF0E94E5EE0E940491A2 -:102AA0000F94350ACE010F944C090F940601DC01F6 -:102AB000CB0188539045AF4FBF4F80932F13909316 -:102AC0003013A0933113B09332131092331342EBAF -:102AD00056E16BEB76E182E00E94C69483E497E0D6 -:102AE0000E94D2CF0093461381E00E94D653A6CF16 -:102AF00010934512DF91CF911F910F9108959091FE -:102B00001D11911102C00C94C69408958F929F924A -:102B1000AF92BF92CF92DF92EF92FF920F931F93EB -:102B2000CF93DF9300D01F92CDB7DEB76C017B014E -:102B30008A01B09033130E94E5EEB11016C0809167 -:102B4000090C811112C060910E0C70910F0C8091D4 -:102B5000100C9091110C0F94632620911902309162 -:102B60001A02621773070CF4C2C00E9404918823F2 -:102B700009F4BDC0BB20A1F10F94350A8BEB97E19E -:102B80000F944C09B090451283E08093451281E088 -:102B90008093461382E080931D110E94309440E0A0 -:102BA0006BEA77E186E697E10E943C9480E30E941D -:102BB000AA528AE00E94AA5282EA97E10E94629495 -:102BC0000E94249484E997E10E94D2CF8091461319 -:102BD000882321F081E00E94D653F8CFB0924512AD -:102BE00020E030E0A901F60160817181828193814A -:102BF0000F94011E882371F080E090E0A0ECB0E417 -:102C000089839A83AB83BC83BE016F5F7F4FC6010C -:102C10000E94239120E030E0A901F70160817181D9 -:102C2000828193810F94011E882351F18090DC10E2 -:102C30009090DD10A090DE10B090DF1080E090E06A -:102C4000A8ECB1E48093DC109093DD10A093DE102B -:102C5000B093DF1080E090E0A0EFB1E489839A8325 -:102C6000AB83BC83BE016F5F7F4FC7010E9423917E -:102C70008092DC109092DD10A092DE10B092DF10F6 -:102C800020E030E0A901F8016081718182819381A7 -:102C90000F945727181674F480E090E0A0E4B0E495 -:102CA00089839A83AB83BC83BE016F5F7F4FC8016A -:102CB0000E94239181E080931D110E94309441E095 -:102CC0006DE877E186E697E10E943C9483E897E11E -:102CD0000E94629480915F09882319F085E797E14B -:102CE00002C08CE697E10E9462940E94249420E046 -:102CF00030E0A90160912A1170912B1180912C1163 -:102D000090912D110F94011E87FF0FC080E090E07D -:102D1000A0E7B2E489839A83AB83BC83BE016F5F73 -:102D20007F4F8AE291E10E94239180E090E0A8E445 -:102D3000B2E489839A83AB83BC83AE014F5F5F4F5C -:102D400062E271E18EE191E10E947DC280E090E05B -:102D5000A0EAB0E489839A83AB83BC83BE016F5F32 -:102D60007F4F86E291E10E949FC280912A1190914B -:102D70002B11A0912C11B0912D11809319189093C3 -:102D80001A18A0931B18B0931C188093EF139093FC -:102D9000F013A093F113B093F2138FEE93E10E941E -:102DA000708C61E08EE597E10E940C948091230B7A -:102DB00081508093230B40E050E067EE77E185E09F -:102DC0000E947F958091230B882339F00E94E85D53 -:102DD0008091230B81508093230B80E00E947F7CA5 -:102DE00080911811823011F40E945A8A0E947AEE62 -:102DF0000F900F900F900F90DF91CF911F910F9137 -:102E0000FF90EF90DF90CF90BF90AF909F908F900A -:102E100008958F929F92AF92BF92CF92DF92EF92DE -:102E2000FF921F93CF93DF93CDB7DEB728970FB6EE -:102E3000F894DEBF0FBECDBF2091230B211113C12B -:102E40007A015B016C0161E086E496E10E940C94DA -:102E500040E050E06EE576E185E00E947F9580914C -:102E6000A31083FD22C020E030E0A901F7016081BA -:102E70007181828193810F94011E8823B1F010919A -:102E8000090C111112C02091190230911A0280917F -:102E9000120C9091130C821793073CF40F94350A8F -:102EA0008DE496E10F944C09DFC08091230B91E0F3 -:102EB000980F9093230B9091981792FF06C09B7FD9 -:102EC000909398178E5F8093230B0E94F5EC80E11E -:102ED000EDE0F8E1AEE1B1E101900D928A95E1F704 -:102EE0000E945F8C81E00E947F7C20E030E0A9019D -:102EF000F60160817181828193810F94011E882384 -:102F000019F18091090C811111C060910E0C709122 -:102F10000F0C8091100C9091110C0F94632620914E -:102F2000190230911A026217730774F080E090E082 -:102F3000A0E7B2E489839A83AB83BC83BE016F5F51 -:102F40007F4FC6010E9423910E94B77C811104C06B -:102F5000B50182E00E942EED20E030E0A901F701EA -:102F600060817181828193810F94011E811102C061 -:102F700011E07AC00E940491182F8823C9F380E0E1 -:102F800090E0A0E7B2E48D839E83AF83B88780E0B2 -:102F900090E0A0E8B0EC89839A83AB83BC83BE0148 -:102FA0006B5F7F4FCE0101960E94239168E873E129 -:102FB00080E090E00F941D098091D4109091D5107D -:102FC000A091D610B091D7108D839E83AF83B88720 -:102FD00080E090E0A0E8B0E489839A83AB83BC836F -:102FE000BE016B5F7F4FCE0101960E9423918090BE -:102FF000DC109090DD10A090DE10B090DF1080E02B -:1030000090E0A8ECB1E48093DC109093DD10A093E5 -:10301000DE10B093DF1080E090E0A4E2B2E48D8394 -:103020009E83AF83B887F70180819181A281B381AC -:1030300089839A83AB83BC83BE016B5F7F4FCE01D4 -:1030400001960E9423918092DC109092DD10A09254 -:10305000DE10B092DF10129A64E670E080E090E03B -:103060000F941D0901C010E0812F28960FB6F89427 -:10307000DEBF0FBECDBFDF91CF911F91FF90EF90CC -:10308000DF90CF90BF90AF909F908F900895CF9397 -:10309000DF93EB01682F70E084E995E10E943251E3 -:1030A000688179818A819B81643F21E07207810573 -:1030B000910520F464EF71E080E090E00F941D0929 -:1030C00089B182FB882780F9DF91CF910895CF9253 -:1030D000DF92EF92FF921F93CF93DF9300D01F9266 -:1030E000CDB7DEB78EEEC82E82E0D82EE12CF12CC3 -:1030F000C982DA82EB82FC82BE016F5F7F4F8AE574 -:103100000E944798811102C010E023C084EF91E033 -:10311000A0E0B0E089839A83AB83BC83BE016F5F7C -:103120007F4F80EA0E944798C982DA82EB82FC8254 -:10313000BE016F5F7F4F8AE50E944798182F882352 -:1031400019F30F94310A82E595E10F944C090F941D -:10315000390A812F0F900F900F900F90DF91CF9130 -:103160001F91FF90EF90DF90CF900895CF92DF9264 -:10317000EF92FF92CF93DF9300D01F92CDB7DEB7CF -:103180008EEEC82E82E0D82EE12CF12CC982DA8294 -:10319000EB82FC82BE016F5F7F4F8AE00E944798FE -:1031A000811102C0F12C41C084EF91E0A0E0B0E0B9 -:1031B00089839A83AB83BC83BE016F5F7F4F80EAB4 -:1031C0000E944798C982DA82EB82FC82BE016F5F5F -:1031D0007F4F8AE50E944798C982DA82EB82FC829F -:1031E000BE016F5F7F4F8AE00E944798C982DA82F2 -:1031F000EB82FC82BE016F5F7F4F8AE50E94479899 -:10320000C982DA82EB82FC82BE016F5F7F4F8AE067 -:103210000E944798F82E882329F20F94310A88E1FA -:1032200095E10F944C090F94390A8F2D0F900F9050 -:103230000F900F90DF91CF91FF90EF90DF90CF90A4 -:1032400008958F929F92AF92BF92CF92DF92EF92AA -:10325000FF92CF93DF9300D01F92CDB7DEB7B82E89 -:1032600084EF91E0A0E0B0E089839A83AB83BC83D4 -:10327000BE016F5F7F4F80EA0E9447989EEEC92E85 -:1032800092E0D92EE12CF12CC982DA82EB82FC8209 -:10329000BE016F5F7F4F8AE50E944798809154136B -:1032A00081113CC0BB20D1F1C982DA82EB82FC8261 -:1032B000BE016F5F7F4F8AE00E94479886E9882EA3 -:1032C000912CA12CB12C89829A82AB82BC82BE0146 -:1032D0006F5F7F4F8CE80E94479889829A82AB8209 -:1032E000BC82BE016F5F7F4F82E80E94479889824F -:1032F0009A82AB82BC82BE016F5F7F4F8CE80E94D6 -:103300004798C982DA82EB82FC82BE016F5F7F4FF1 -:103310008AE50E94479881E0809354130F900F90A4 -:103320000F900F90DF91CF91FF90EF90DF90CF90B3 -:10333000BF90AF909F908F9008958F929F92AF9281 -:10334000BF92EF92FF920F931F93CF93DF9380E092 -:103350000F94C206109262131092611310926013C0 -:1033600010925F1310925813109257131092561325 -:10337000109255130BE613E1C0E0812C912C80ECE8 -:10338000A82E8FE7B82EE12CF12CD0E0F801EE0D3D -:10339000FF1D80829182A282B38220E030E0A901E9 -:1033A0006D2F8C2F0E94CECEDF5F84E0E80EF11CE3 -:1033B000D53061F7CF5F0C5E1F4FC53021F7DF912D -:1033C000CF911F910F91FF90EF90BF90AF909F9082 -:1033D0008F9008958F929F92AF92BF92CF92DF927B -:1033E000EF92FF920F931F93CF93DF93EC018A012B -:1033F000C880D980EA80FB80072E000C880B990BCF -:103400000F94081E4B015C019B01AC01C701B60182 -:103410000F94011E87FD10C0B801110F880B990B86 -:103420000F94081E4B015C019B01AC01C701B60162 -:103430000F945727181624F488829982AA82BB8297 -:10344000DF91CF911F910F91FF90EF90DF90CF9080 -:10345000BF90AF909F908F900895EF92FF920F933F -:103460001F93CF93C82F7B018A0180912F0288235D -:10347000D1F00F94310AC7010F944C0982E190E218 -:103480000F944C09C7FD08C06C2FCC0F770B880B2D -:10349000990B0E941E5304C08EE090E20F944C09D9 -:1034A0008AE00E94AA520E94C1DF80919C11811182 -:1034B00008C081E080939C1110922F02C8010F94E4 -:1034C0002602CF911F910F91FF90EF9008952F92B8 -:1034D0003F924F925F926F927F928F929F92AF92A4 -:1034E000BF92CF92DF92EF92FF920F931F93CF93F1 -:1034F000DF93CDB7DEB72F970FB6F894DEBF0FBEC0 -:10350000CDBF8091541181111DC08091351381115F -:103510001DC02F960FB6F894DEBF0FBECDBFDF9152 -:10352000CF911F910F91FF90EF90DF90CF90BF90C0 -:10353000AF909F908F907F906F905F904F903F9053 -:103540002F90089580E090E00F9426020E9426E1DB -:103550000F9406014B015C016091120270911302FD -:10356000072E000C880B990B0F94081E9B01AC01D1 -:1035700060910E0C70910F0C8091100C9091110CB9 -:103580000F94572718163CF447E950E26AEA70E2B4 -:1035900080E00E942D9A80913313882309F404C29D -:1035A0006091120C7091130C072E000C880B990B74 -:1035B0000F94081E69837A838B839C833AE0E32E01 -:1035C000F12C0CE310E020E0AE014F5F5F4F6EE0A6 -:1035D0007CE08BEC91E10E9453DDC0900E0CD0900A -:1035E0000F0CE090100CF090110C60911002709193 -:1035F0001102072E000C880B990B0F94081E9B01DB -:10360000AC01C701B6010F94572718160CF4A0C0DF -:1036100060E06093140C8091201390912113A0918D -:103620002213B09123130097A105B10529F1A5013B -:103630009401281B390B4A0B5B0B57FD1DC0609191 -:103640001E1370911F1380E090E00F94061E9B01E3 -:10365000AC0160910E0C70910F0C8091100C909148 -:10366000110C0F94011E87FF08C346E750E268E87B -:1036700070E280E00E942D9A20E030E046E153E4C1 -:103680006091650970916609809167099091680958 -:103690000F94572718160CF4D7C1809126139091D8 -:1036A0002713A0912813B09129130097A105B10504 -:1036B00029F1A5019401281B390B4A0B5B0B57FD1F -:1036C0001DC0609124137091251380E090E00F9449 -:1036D000061E9B01AC01609165097091660980919D -:1036E0006709909168090F94011E87FFB5C140E3F7 -:1036F00050E263E470E28FEF0E942D9A80912E13C6 -:10370000882309F48AC16091690970916A09072EBA -:10371000000C880B990B0F94081E69837A838B83A6 -:103720009C8392E0E92EF12C02E310E02FEFAE0132 -:103730004F5F5F4F65E679E086EC91E10E9453DDD3 -:1037400080912E13882309F448C110926B09E1CEB1 -:103750006091120270911302072E000C880B990BD6 -:103760000F94081E9B01AC01C701B6010F94011E06 -:1037700087FF4ECF6091120C7091130C611571058B -:1037800009F476C2072E000C880B990B0F94081EC3 -:10379000A70196010F94F6242B013C0120E030E0B4 -:1037A00040E251EC0F94011E87FD62C280913313F9 -:1037B00081115EC220E030E040E251E4C301B20179 -:1037C0000F94572718160CF465C28091C51181110A -:1037D00066C28091BD119091BE11A091BF11B091B0 -:1037E000C0118D839E83AF83B8872091C111309122 -:1037F000C2114091C3115091C41129873A874B8758 -:103800005C87A70196016091B1117091B21180910E -:10381000B3119091B4110F94F62420911D0C3091A6 -:103820001E0C40911F0C5091200C0F94671E2D818F -:103830003E814F8158850F94F62420ED3CEC4CE4FA -:103840005DE30F94671E2D813E814F8158850F9453 -:10385000F7246B017C016093BD117093BE118093BE -:10386000BF119093C0118091190C90911A0CA091E6 -:103870001B0CB0911C0C8D839E83AF83B887298568 -:103880003A854B855C85C301B2010F94F724162F4E -:10389000072F382E292E20E030E0A9010F94011EB9 -:1038A00087FD12C22D813E814F81588560E070E016 -:1038B0008FE793E40F94F12569877D878E879F8733 -:1038C000212F302F432D522D0F94011E87FF04C04E -:1038D00019850D853E842F84812F902FA32DB22D25 -:1038E0008093C1119093C211A093C311B093C411DE -:1038F0002091150C3091160C4091170C5091180C1A -:10390000C301B2010F94671E2B013C016093B511F6 -:103910007093B6118093B7119093B811212F302F67 -:10392000432D522D6D817E818F8198850F94671E66 -:103930009B01AC016093B9117093BA118093BB11D4 -:103940009093BC11C301B2010F94F724A701960113 -:103950000F94F72420E030E0A9010F94F724698345 -:103960007A838B839C834FEF50E060E070E0CE0160 -:1039700001960E94EA99C0900E0CD0900F0CE09036 -:10398000100CF090110C69817A818B819C810F94CD -:10399000632675956795C092B111D092B211E092ED -:1039A000B311F092B41135CE80912F139091301352 -:1039B000A0913113B09132130097A105B10509F41C -:1039C000EFCDA5019401281B390B4A0B5B0B57FD6A -:1039D000E7CD81E080933313E3CDC0906509D090AB -:1039E0006609E0906709F090680920E030E040EA5D -:1039F00050E4C701B6010F94572787FD0AC020E0A5 -:103A000030E046E153E4C701B6010F94011E1816D9 -:103A100034F560E060936B097CCD80912A1390911E -:103A20002B13A0912C13B0912D130097A105B10574 -:103A300009F469CE881A990AAA0ABB0AB7FC63CEB0 -:103A400081E080932E135FCE42E550E266E670E29D -:103A50008FEF0E942D9A21CE0E9412DF4FCE6091EF -:103A6000690970916A096115710509F40AC1072E87 -:103A7000000C880B990B0F94081EA70196010F9458 -:103A8000F6244B015C0120E030E040E251EC0F9461 -:103A9000011E87FDF6C020E030E040E251E4C501A0 -:103AA000B4010F94572718160CF4EFC0409070091A -:103AB0005090710960907209709073098091300282 -:103AC0008111F8C02091AD113091AE114091AF112C -:103AD0005091B0118091A9119091AA11A091AB11B0 -:103AE000B091AC118D839E83AF83B887C501B401BB -:103AF0000F94F724162F072F382E292E20E030E0C0 -:103B0000A9010F94011E87FDE4C0A301920160E0AA -:103B100070E08FE793E40F94F12569877D878E87A6 -:103B20009F87212F302F432D522D0F94011E87FF89 -:103B300004C019850D853E842F84812F902FA32DDD -:103B4000B22D8093AD119093AE11A093AF11B093AD -:103B5000B01120916C0930916D0940916E0950911E -:103B60006F09C501B4010F94671E4B015C0160939E -:103B7000A1117093A2118093A3119093A411212FEE -:103B8000302F432D522DC301B2010F94671E2B011C -:103B90003C016093A5117093A6118093A711909397 -:103BA000A811A701960160919D1170919E118091BD -:103BB0009F119091A0110F94F624209174093091D7 -:103BC000750940917609509177090F94671E2D81F0 -:103BD0003E814F8158850F94F62420ED3CEC4CE457 -:103BE0005DE30F94671E2D813E814F8158850F94B0 -:103BF000F7246D837E838F8398876093A9117093D8 -:103C0000AA118093AB119093AC11C0929D11D092E8 -:103C10009E11E0929F11F092A011A3019201C501A3 -:103C2000B4010F94F7242D813E814F8158850F9464 -:103C3000F72420E030E0A9010F94F7246B017C0108 -:103C400020E030E0A9010F94011E87FDE2CE20E0C4 -:103C500030E04FE753E4C701B6010F945727181619 -:103C6000BCF0C701B6010F94632675956795D2CE57 -:103C700081E08093C51160E08ECE80E00E9461DF1C -:103C8000FBCC81E080933002C4CE81E0809330028F -:103C90006FE7C0CE81E08093C5116FE77CCE1092B4 -:103CA000C51119861A861B861C861D821E821F82DC -:103CB0001886A7CD109230021D821E821F821886A0 -:103CC00020E030E0A90112CF10E000E0312C212CDF -:103CD00003CE10E000E0312C212C2FCF90916F000B -:103CE000292F227091FF05C090916F009D7F9093C6 -:103CF0006F0034E0839FC0011124FC01EC5BFE4E99 -:103D00004081518162817381FC01E85CFE4E4083F9 -:103D100051836283738381E080933711222329F0DA -:103D200080916F00826080936F00089590916F0082 -:103D3000292F227091FF05C090916F009D7F909375 -:103D40006F0094E0899FF0011124EC5BFE4E6081CE -:103D5000718182819381222329F020916F0022605A -:103D600020936F000895BC0120919A1130919B110E -:103D700040919A1150919B112417350711F09A0127 -:103D8000F7CF81E02617370709F080E008952F92DA -:103D90003F924F925F926F927F928F929F92AF92DB -:103DA000BF92CF92DF92EF92FF921F93CF93DF9358 -:103DB00000D01F92CDB7DEB78FEF9FEF90938900B1 -:103DC000809388001AE01A821982BAE02B2EB0E2A2 -:103DD0003B2E78948091961190919711A091981113 -:103DE000B0919911892B8A2B8B2B09F0D7C1809127 -:103DF00037118823D1F01092371180919A11909148 -:103E00009B11892B91F01092361110929B111092F8 -:103E10009A1190919A1580919B15981731F0809185 -:103E20009B158F5F8F7080939B1580919A11909155 -:103E30009B11892B09F4B2C180909211909093113B -:103E4000A0909411B090951140918E1150918F11C6 -:103E50006091901170919111C0908111D12CE12C41 -:103E6000F12CDB01CA0188199909AA09BB09C816F6 -:103E7000D906EA06FB0610F4D701C601382F880DD3 -:103E8000991DAA1DBB1D8093921190939311A0932D -:103E90009411B093951180918400909185004E9675 -:103EA000C0906911D0906A11E0906B11F0906C1184 -:103EB0004091591150915A1160915B1170915C11B0 -:103EC0004C0D5D1D6E1D7F1D4093691150936A114D -:103ED00060936B1170936C1177FD1CC0889AC09031 -:103EE0004411D0904511E0904611F0904711409157 -:103EF0002E11042E000C550B660B770B4C0D5D1D1F -:103F00006E1D7F1D409344115093451160934611DF -:103F100070934711C0906D11D0906E11E0906F11A9 -:103F2000F090701140915D1150915E1160915F11A0 -:103F3000709160114C0D5D1D6E1D7F1D40936D11C4 -:103F400050936E1160936F117093701177FD1CC0C8 -:103F50008E9AC0904811D0904911E0904A11F0908B -:103F60004B1140912F11042E000C550B660B770B53 -:103F70004C0D5D1D6E1D7F1D4093481150934911DE -:103F800060934A1170934B11C0907111D0907211CF -:103F9000E0907311F0907411409161115091621191 -:103FA00060916311709164114C0D5D1D6E1D7F1D3C -:103FB0004093711150937211609373117093741147 -:103FC00077FD21C020910B012095287020930901D5 -:103FD000C0904C11D0904D11E0904E11F0904F11C7 -:103FE00040913011042E000C550B660B770B4C0DD5 -:103FF0005D1D6E1D7F1D40934C1150934D116093BC -:104000004E1170934F11C0907511D0907611E090C1 -:104010007711F0907811409165115091661160917F -:104020006711709168114C0D5D1D6E1D7F1D4093D1 -:10403000751150937611609377117093781177FD15 -:104040001CC0149AC0905011D0905111E0905211A0 -:10405000F090531140913111042E000C550B660B5A -:10406000770B4C0D5D1D6E1D7F1D409350115093BD -:1040700051116093521170935311409184005091EB -:10408000850048175907C8F34091691150916A118A -:1040900060916B1170916C1177FD15C0C090551136 -:1040A000D0905611E0905711F09058114C195D09BD -:1040B0006E097F094093691150936A1160936B11E7 -:1040C00070936C11889840916D1150916E116091B0 -:1040D0006F117091701177FD15C0C0905511D0907F -:1040E0005611E0905711F09058114C195D096E0966 -:1040F0007F0940936D1150936E1160936F1170930F -:1041000070118E98409171115091721160917311DC -:104110007091741177FD19C0C0905511D09056114F -:10412000E0905711F09058114C195D096E097F0904 -:1041300040937111509372116093731170937411C5 -:1041400020910B0128702093090140917511509125 -:104150007611609177117091781177FD15C0C0903C -:104160005511D0905611E0905711F09058114C19FC -:104170005D096E097F094093751150937611609324 -:104180007711709378111498315041F04091840068 -:104190005091850048175907C8F381CE8091961138 -:1041A00090919711A0919811B0919911892B8A2B18 -:1041B0008B2B09F074C3E0919A11F0919B11309709 -:1041C00009F4F4C48091921190919311A0919411EB -:1041D000B091951140918E1150918F116091901175 -:1041E0007091911184179507A607B70708F46BC063 -:1041F00080912A02882309F44CC085899689A78971 -:10420000B08D892B8A2B8B2BA1F4818D928DA38D60 -:10421000B48D892B8A2B8B2B61F4858D968DA78D80 -:10422000B0A1892B8A2B8B2B21F48091230B88231F -:1042300081F161A172A183A194A1C0903211D090AB -:104240003311E0903411F090351125A923FF07C0F8 -:1042500090958095709561957F4F8F4F9F4F0F94EC -:10426000081E2091050C3091060C4091070C5091CE -:10427000080C0F94671E9B01AC01C701B6010F9497 -:10428000F62460933211709333118093341190931C -:1042900035111092361110929B1110929A11909133 -:1042A0009A1580919B15981709F480C480919B15ED -:1042B0008F5F8F7080939B15A0EDCA2EA7E0DA2E3A -:1042C000E12CF12C4EC140918A1150918B116091DB -:1042D0008C1170918D11481759076A077B0708F4F4 -:1042E00067C040918611509187116091881170913B -:1042F000891181A992A9A3A9B4A9FF24499FE12CFE -:104300005A9F90016A9F300D699F200D311D4A9F71 -:10431000E00C211D3F1D599FE00C211D3F1D689F92 -:10432000E00C211D3F1D589FE10C2F1D3F1DE69401 -:104330002F1D3F1DB49F200D311DB59F300D112441 -:1043400082AD93ADA4ADB5AD820F931FA11DB11D7C -:104350008093821190938311A0938411B09385115F -:10436000C6A8D7A8E0ACF1ACC816D906EA06FB0689 -:1043700040F4C0928211D0928311E0928411F092A5 -:1043800085118090821190908311A0908411B0903B -:1043900085118EEE9FE121E0FC01C590D590E5905E -:1043A000F490C814D904EA04FB0408F4C9C2D3C2C7 -:1043B00040917D1150917E1160917F11709180111B -:1043C000481759076A077B0708F063C040917911C5 -:1043D00050917A1160917B1170917C1181A992A901 -:1043E000A3A9B4A9FF24499FE12C5A9F90016A9F79 -:1043F000300D699F200D311D4A9FE00C211D3F1D8E -:10440000599FE00C211D3F1D689FE00C211D3F1DA1 -:10441000589FE10C2F1D3F1DE6942F1D3F1DB49F9B -:10442000200D311DB59F300D1124C901A0E0B0E071 -:104430008090821190908311A0908411B09085118A -:10444000FE9688159905AA05BB0580F4C080D18029 -:10445000E280F380881A990AAA0ABB0A8C149D0488 -:10446000AE04BF0438F44601570104C08080918037 -:10447000A280B3808EEE9FE121E0FC01C590D59033 -:10448000E590F490C814D904EA04FB0408F4CBC204 -:10449000D5C280912B0290912C02A0912D02B09157 -:1044A0002E02B7FF56C086A997A9A0ADB1AD2EEEDA -:1044B0003FE141E0F901C590D590E590F490C81630 -:1044C000D906EA06FB0658F4B695A7959795879501 -:1044D000440F2C5F3F4F50E22A30350759F7409385 -:1044E000811180329105A105B10508F432C380978E -:1044F000A109B109811528E09207A105B10508F4C9 -:1045000005C344E0949F900111242251344EF901D7 -:10451000329645915491EE27859FB001849F610D9D -:104520007E1F06946E1F7E1F1124CB01A0E0B0E019 -:10453000F9014591549160E070E0481B590B6A0BFA -:104540007B0B40932B0250932C0260932D027093AF -:104550002E02C0902B02D0902C02E0902D02F09001 -:104560002E0280919A1190919B11892B09F08FC195 -:104570000E94F38890939B1180939A11892B09F4E0 -:1045800086C180919A1190919B119C838B83DC0151 -:104590008C9183FF42C055968D919D910D90BC9159 -:1045A000A02D8093441190934511A0934611B09390 -:1045B0004711EB81FC81818D928DA38DB48D809309 -:1045C000481190934911A0934A11B0934B11858DD6 -:1045D000968DA78DB0A180934C1190934D11A0930F -:1045E0004E11B0934F1181A192A1A3A1B4A18093C8 -:1045F000501190935111A0935211B0935311909177 -:104600009A1580919B15981709F4B2CF80919B154C -:104610008F5F8F7080939B15ABCFAB81BC8155961C -:104620004D905D906D907C90589781E041145104BD -:104630006104710409F480E0EB81FC81C18CD28CAF -:10464000E38CF48CC114D104E104F10409F082601C -:10465000AB81BC815D964D915D916D917C91909700 -:10466000411551056105710509F08460809336118B -:104670001092791110927A1110927B1110927C1184 -:104680001092861110928711109288111092891140 -:10469000EB81FC8185A196A1A7A1B0A580938E1185 -:1046A00090938F11A0939011B09391118824992425 -:1046B0005401881A990AAA0ABB0A8092751190922D -:1046C0007611A0927711B092781180927111909228 -:1046D0007211A0927311B092741180926D11909228 -:1046E0006E11A0926F11B092701180926911909228 -:1046F0006A11A0926B11B0926C11440C551C661C8F -:10470000771C4092591150925A1160925B1170922D -:104710005C11CC0CDD1CEE1CFF1CC0925D11D09214 -:104720005E11E0925F11F0926011440F551F661FF9 -:10473000771F4093611150936211609363117093DE -:10474000641141A152A163A174A1440F551F661FBA -:10475000771F4093651150936611609367117093B2 -:104760006811880F991FAA1FBB1F80935511909342 -:104770005611A0935711B0935811109292111092A4 -:104780009311109294111092951181A592A5A3A551 -:10479000B4A580938A1190938B11A0938C11B09340 -:1047A0008D1185A596A5A7A5B0A980937D1190939D -:1047B0007E11A0937F11B093801185A990918E09ED -:1047C000891721F080938E090E94B4880E942EC51B -:1047D0002FEF3FEFA90120932B0230932C0240933F -:1047E0002D0250932E02EB81FC8182AD93ADA4ADDE -:1047F000B5AD8093821190938311A0938411B093EF -:1048000085112EEE3FE141E0F901C590D590E5908C -:10481000F490C816D906EA06FB0650F4B695A7959B -:1048200097958795440F2C5F3F4F2216330661F70B -:104830004093811180329105A105B10508F4B1C101 -:104840008097A109B1098115F8E09F07A105B1057D -:1048500008F484C144E0949F900111242251344E05 -:10486000F901329645915491EE27859FB001849FBE -:10487000610D7E1F06946E1F7E1F1124F901C590E5 -:10488000D490E12CF12CC61AD70AE108F108C092A5 -:104890009611D0929711E0929811F092991180910F -:1048A000961190919711A0919811B0919911AC0126 -:1048B000BD010097E1E0AE07B10520F04FEF5FEFDB -:1048C00060E070E0841B950BA60BB70B80939611EC -:1048D00090939711A0939811B0939911F8948091A7 -:1048E0008400909185004096115059F029813A81B9 -:1048F000240F351F3A8329832817390708F469CA1A -:1049000002C09A83898349815A81509389004093D8 -:10491000880078940F900F900F900F90DF91CF91B7 -:104920001F91FF90EF90DF90CF90BF90AF909F903E -:104930008F907F906F905F904F903F902F90089551 -:10494000B694A79497948794220F0496A0E28A3095 -:104950009A0709F021CD20938111B0E28B169104C2 -:10496000A104B10408F459C020E2821A9108A108F8 -:10497000B108811438E09306A104B104F8F0A4E072 -:104980009A9EC00111248251944EFC0132962591C9 -:104990003491F82DEE27F39FD001F29FA10DBE1F99 -:1049A0000694AE1FBE1F1124FC01C590D490E12CCB -:1049B000F12CCA1ADB0AE108F10822C0D501C401B2 -:1049C000B695A79597958795FC01EC7FCF0182510D -:1049D000984EFC01C590D490FC01329625913491FB -:1049E000E82DE770E29FC001E39F900D1124F3E0F2 -:1049F00096958795FA95E1F7C81AD90AE12CF12C1A -:104A00004C0D5D1D6E1D7F1D4093861150938711C7 -:104A10006093881170938911A4CDA0E28A2E912C05 -:104A2000A12CB12CA1CFB694A79497948794220F70 -:104A30000496E0E28A309E0709F01FCD2093811191 -:104A4000F0E28F169104A104B10408F459C020E2E9 -:104A5000821A9108A108B108811438E09306A104D4 -:104A6000B104F8F0A4E09A9EC00111248251944E42 -:104A7000FC01329625913491F82DEE27F39FD00159 -:104A8000F29FA10DBE1F0694AE1FBE1F1124FC0194 -:104A9000C590D490E12CF12CCA1ADB0AE108F10888 -:104AA00022C0D501C401B695A79597958795FC01BD -:104AB000EC7FCF018251984EFC01C590D490FC014F -:104AC000329625913491E82DE770E29FC001E39F73 -:104AD000900D112433E0969587953A95E1F7C81A21 -:104AE000D90AE12CF12C4C0D5D1D6E1D7F1D4093EC -:104AF000791150937A1160937B1170937C1131CDB1 -:104B0000E0E28E2E912CA12CB12CA1CFAC01BD01E5 -:104B10007695679557954795FA01EC7F9F0122514D -:104B2000384EF90145915491F9013296659174918D -:104B30008770869F9001879F300D1124C901F3E093 -:104B400096958795FA95E1F7481B590B60E070E060 -:104B5000F8CC80E290E0A0E0B0E0C9CCAC01BD01AF -:104B60007695679557954795FA01EC7F9F012251FD -:104B7000384EF901C590D490F9013296459154917F -:104B80008770849F9001859F300D1124C90123E017 -:104B9000969587952A95E1F7C81AD90AE12CF12C48 -:104BA00076CE80E290E0A0E0B0E04ACE80EDC82E64 -:104BB00087E0D82EE12CF12CDBCCCF92DF92EF9264 -:104BC000FF92CF93DF93EC016A017B0127E137EB82 -:104BD00041ED58EBC701B6010F94572787FD23C05D -:104BE00023E030E041EE53E4C701B6010F94011E0B -:104BF0001816CCF0C880D980EA80FB8027E137EB1B -:104C000041ED58EBC701B6010F94572787FD0BC044 -:104C1000C1E023E030E84DEE53E4C701B6010F9444 -:104C2000011E18160CF4C0E08C2FDF91CF91FF907D -:104C3000EF90DF90CF9008954F925F926F927F92A6 -:104C40008F929F92AF92BF92CF92DF92EF92FF929C -:104C5000CF93DF93CDB7DEB728970FB6F894DEBFBA -:104C60000FBECDBF9E838D83DB01CD90DD90ED9097 -:104C7000FC908091031490910414A0910514B091BC -:104C8000061489839A83AB83BC839C01AD01C70161 -:104C9000B6010F94F6242B013C01AD81BE818D90AD -:104CA0009D90AD90BC908091FF1390910014A091C5 -:104CB0000114B09102148D839E83AF83B88727E1DE -:104CC00037EB41ED58EBC301B2010F94572787FD35 -:104CD0004FC023E030E041EE53E4C301B2010F9432 -:104CE000011E18160CF444C02D813E814F81588559 -:104CF000C501B4010F94F6242B013C0127E137EBE9 -:104D000041ED58EB0F94572787FD32C023E030E880 -:104D10004DEE53E4C301B2010F94011E181644F185 -:104D200020E030E0A9016D817E818F8198850F940C -:104D3000F7242B013C0120E030E040E450E40F94E4 -:104D4000011E87FF05C0412C512C30E4632E762CC8 -:104D500027E137EB41ED58E3C301B2010F94F6248C -:104D60009B01AC01C501B4010F94572787FF02C016 -:104D7000198281C020E030E84DEE53E46D817E81E0 -:104D80008F8198850F94F7242B013C0120E030E8B7 -:104D90004BEE53E40F94572718163CF4412C20E8AF -:104DA000522E2BEE622E23E4722E27E137EB41EDDB -:104DB00058E3C301B2010F94F7249B01AC01C50174 -:104DC000B4010F94011E18169CF220E030E0A901F6 -:104DD00069817A818B819C810F94F7244B015C015E -:104DE00020E030E040E450E40F94011E87FF05C04E -:104DF000812C912C90E4A92EBA2C27E137EB41EDC0 -:104E000058E3C501B4010F94F6249B01AC01C7011E -:104E1000B6010F94572787FDABCF20E030E041EE7D -:104E200053E469817A818B819C810F94F7244B0133 -:104E30005C0120E030E84FED53E40F94572718163B -:104E40003CF4812C80E8982E8FEDA82E83E4B82EB8 -:104E500027E137EB41ED58E3C501B4010F94F72486 -:104E60009B01AC0191E09983C701B6010F94011E2B -:104E700018160CF47DCF898128960FB6F894DEBF02 -:104E80000FBECDBFDF91CF91FF90EF90DF90CF901D -:104E9000BF90AF909F908F907F906F905F904F905A -:104EA0000895CF93DF93EB010E94EA93882321F0CA -:104EB000DF91CF910C946693CE01DF91CF9108954D -:104EC000CF93C62F0E94EA93882319F0CF910C94B8 -:104ED00042938C2FCF9108952F923F924F925F92E1 -:104EE0006F927F928F929F92AF92BF92CF92DF92FA -:104EF000EF92FF920F931F93CF93DF93CDB7DEB75F -:104F000062970FB6F894DEBF0FBECDBF83E50E9457 -:104F1000A193882349F00E945693182F811106C04F -:104F200080E00F94C20602C01091251880910D18E0 -:104F300090910E18A0910F18B091101889839A8340 -:104F4000AB83BC838091111890911218A091131813 -:104F5000B09114188D839E83AF83B8878091151804 -:104F600090911618A0911718B091181889879A87F0 -:104F7000AB87BC8786E50E94A193682E80915F1362 -:104F800090916013892B09F4B1C083E40E94A1932E -:104F9000882309F4B6C00E946A931B012C01712C6E -:104FA000812C68EC962E72ECA72EB12CC12C28EC2B -:104FB0002F8732E4388B85E08D879D8591509D87C2 -:104FC0009F3FD9F1E5E0EE8735E0399F900111244C -:104FD0003A8B298B3E8531503E873F3F71F3E989FB -:104FE000FA89E30FF11DEE0FFF1FEE0FFF1FE559CA -:104FF000FC4ED080E180F28003812B2D3C2D4F852B -:1050000058896D2D7E2D8F2D902F0F94011E87FFB7 -:1050100004C0BD2CCE2CFF86088B2D2D3E2D4F2D90 -:10502000502F672D782D892D9A2D0F94011E87FF03 -:10503000D1CF7D2C4701A02ECDCF272D382D492D46 -:105040005A2D6B2D7C2D8F8598890F94F72420E0A5 -:1050500030E040E05FE30F94671EA20191010F94DE -:10506000F7241B012C012DEB37E346E855EB0F9499 -:10507000572787FD0AC02DEB37E346E855E3C20109 -:10508000B1010F94011E1816E4F580E00F94C206DA -:1050900005E045E0C42E0150A0F135E0D32EC09EBE -:1050A00050011124DA949FEFD916A9F37501ED0C84 -:1050B000F11CC701880F991F880F991FFC01E55942 -:1050C000FC4E7F01A20191016081718182819381F7 -:1050D0000F94F6249B01AC01F701608371838283F6 -:1050E00093836D2D802F0E94CECEDCCF111102C094 -:1050F000662089F00F94350A82E593E20F944C09FB -:1051000016C0662041F080915F1390916013892B47 -:1051100011F00F945B098AE50E94A193882321F086 -:105120000E946A930F94D40D812F0F94C20611230D -:1051300051F080912518811106C00F94310A83E344 -:1051400093E20F944C090F94350A85E293E20F9491 -:105150004C0980912518811103C086EF9CE002C0A4 -:105160008AEF9CE00F944C098AE00E94AA520F94A7 -:10517000350A88E193E20F944C09C0902618D0902C -:105180002718E0902818F090291820E030E0A901B5 -:10519000C701B6010F945727181644F442E0C7011F -:1051A000B6010E943A530E94AF5304C083E193E2D8 -:1051B0000F944C094CE050E06DE078E1CE0101968F -:1051C0000F941628892BD1F062960FB6F894DEBFA3 -:1051D0000FBECDBFDF91CF911F910F91FF90EF9048 -:1051E000DF90CF90BF90AF909F908F907F906F9007 -:1051F0005F904F903F902F900C947DC462960FB6B5 -:10520000F894DEBF0FBECDBFDF91CF911F910F91FC -:10521000FF90EF90DF90CF90BF90AF909F908F90D6 -:105220007F906F905F904F903F902F9008952F92B6 -:105230003F924F925F926F927F928F929F92AF9226 -:10524000BF92CF92DF92EF92FF920F931F93CF9373 -:10525000DF9300D01F921F92CDB7DEB77C018B0188 -:105260006A01190180900D1890900E18A0900F18E7 -:10527000B0901018A5019401FC01608171818281B8 -:1052800093810F94011EF1E0FD83811112C02091E2 -:105290001118309112184091131850911418F801F8 -:1052A00060817181828193810F94011E811101C0FF -:1052B0001D82F6014080518062807380209131020E -:1052C000309132024091330250913402C301B20155 -:1052D0000F94011E882309F455C040923102509268 -:1052E0003202609233027092340220E030E040E0FB -:1052F0005FE36091D0107091D1108091D2109091A5 -:10530000D3100F94671E69837A838B839C8380926A -:10531000E3139092E413A092E513B092E613809108 -:10532000111890911218A0911318B091141880932D -:10533000E7139093E813A093E913B093EA13F601EF -:1053400080819181A281B3818093EB139093EC13C0 -:10535000A093ED13B093EE138091191890911A1841 -:10536000A0911B18B0911C188093EF139093F01329 -:10537000A093F113B093F213CE0101960E946291B3 -:105380000E942893FD81F1110FC020E030E040EC35 -:105390005FE36091D4107091D5108091D6109091F8 -:1053A000D7100F94F12504C060E070E080EA91E42A -:1053B00069837A838B839C83F70180819181A281A9 -:1053C000B3818093E3139093E413A093E513B09318 -:1053D000E613F80180819181A281B3818093E71364 -:1053E0009093E813A093E913B093EA13F10120819D -:1053F0003181428153816091EF137091F01380915C -:10540000F1139091F2130F94F7246093EF137093BC -:10541000F0138093F1139093F213CE0101960E9442 -:1054200062910E9428930F900F900F900F900F9011 -:10543000DF91CF911F910F91FF90EF90DF90CF9070 -:10544000BF90AF909F908F907F906F905F904F90A4 -:105450003F902F9008952F923F924F925F926F92BC -:105460007F928F929F92AF92BF92CF92DF92EF92F4 -:10547000FF920F931F93CF93DF93CDB7DEB7C35542 -:10548000D1090FB6F894DEBF0FBECDBF82E093E224 -:105490000F944C090E94B77C81110C94D6B284E51C -:1054A0000E94EA93882329F00E94669381110E944A -:1054B000876C80E090E0A0E8BFE38093DB139093DB -:1054C000DC13A093DD13B093DE138093DF1390936E -:1054D000E013A093E113B093E2138DEC9CECACE4E9 -:1054E000BEE38093D7139093D813A093D913B093AE -:1054F000DA1380E090E0A0E2B1E48093411290934F -:105500004212A0934312B09344128CE390E0909324 -:10551000401280933F128DEC90E090933E12809366 -:105520003D1210923C124AE959E969E97EE38FE4A1 -:105530000E94FCCF6BAF7CAF8DAF9EAF60E083E489 -:105540000E94F79360968FAF609760E08BE40E94B3 -:10555000F79361968FAF619782E40E94EA93882364 -:10556000C9F00E946A930F9463267093401260936F -:105570003F126115710571F0685271096536710548 -:1055800048F06CE870E084ED92E20F94110A8FEC21 -:1055900092E2AEC18CE40E94EA93882301F10E945A -:1055A0006A936B017C016093D7137093D813809337 -:1055B000D9139093DA1320E030E0A9010F94572714 -:1055C00087FD0AC020E030E040E050E4C701B601AA -:1055D0000F94011E18161CF487EA92E289C181E536 -:1055E0000E94A193882351F180919212909193127D -:1055F000892B09F10E946A936B017C016093DF1390 -:105600007093E0138093E1139093E2132DEC3CEC44 -:105610004CE45DE30F94572787FD0AC020E030E09B -:1056200040E751E4C701B6010F94011E181634F487 -:1056300086E792E25DC18BE492E25AC183E50E9463 -:10564000EA938823C9F00E946A934B015C012DEC18 -:105650003CEC4CEC5DE30F94572787FD0AC020E03B -:1056600030E040E050E4C501B4010F94011E18166B -:1056700054F484E292E23CC17DEC872E7CEC972EC0 -:10568000A92C7EE3B72E80E50E94A193882371F1B7 -:105690008091921290919312892B19F48CEE91E2E1 -:1056A00027C180913C128F5F80933C120E946A93C5 -:1056B0006B017C01609341127093421280934312FC -:1056C0009093441220E030E0A9010F94572787FD02 -:1056D0000AC020E030E048EC51E4C701B6010F9465 -:1056E000011E18161CF484EC91E202C186E40E94AB -:1056F000EA938823C9F00E946A936B017C0120E041 -:1057000030E040E85FE30F94572787FD0AC020E0B0 -:1057100030E040E850E4C701B6010F94011E1816AE -:105720004CF48BE991E2E4C0C12CD12C60EEE62E62 -:105730006FE3F62EA7019601C701B6010F94671E0D -:105740009B01AC0160E070E084E490E40F94F125EB -:105750002091DB133091DC134091DD135091DE1367 -:105760000F94671E2B013C01A5019401C501B401F2 -:105770000F94671EA70196010F94671E2CEE31E56A -:1057800048EB5DE30F94F1259B01AC01C301B2012D -:105790000F94671E6093DB137093DC138093DD130B -:1057A0009093DE1388E40E94EA93882381F00E949C -:1057B0006A930F94632670933E1260933D12655A6C -:1057C00071096838710518F08DE691E291C085E5A0 -:1057D0000E94A1938823F1F00F94060161157105D1 -:1057E0008105910511F00F94921980919212909178 -:1057F0009312892B19F00E946A9304C060E070E054 -:1058000088E492E46093F8117093F9118093FA118F -:105810009093FB1182E50E94A193811103C089E35B -:1058200091E266C08091921290919312892B61F05F -:105830000E9466932F969FAF8EAF2F97181619066A -:105840004CF085E091E254C02AE130E02F963FAF62 -:105850002EAF2F9788E50E94EA93882369F00E9473 -:105860006A932091F3133091F4134091F513509102 -:10587000F6130F94F62408C060910D1870910E185D -:1058800080910F18909110186093F4117093F51196 -:105890008093F6119093F71189E50E94EA9388238B -:1058A00079F00E946A932091F7133091F813409198 -:1058B000F9135091FA130F94F624AB01BC0108C000 -:1058C000409111185091121860911318709114188A -:1058D0004093F0115093F1116093F2117093F31112 -:1058E00084EF91E10E94DDA5811105C08BED90E26E -:1058F0000F944C095BC684E40E94A19391E0892730 -:105900000F94C20620E030E040EA50E460911518A0 -:105910007091161880911718909118180F94011E05 -:1059200087FF1CC0198A1A8A1B8A1C8A80E090E0B3 -:10593000A0EAB0E489839A83AB83BC83BE016F5E27 -:105940007F4FCE0101960E949FC280E1E3EEF3E11A -:10595000ADE0B8E101900D928A95E1F73091FD102C -:1059600062963FAF62971092FD100E94CA8E8AEB3A -:1059700090E20F944C0980913F12909140128A312D -:1059800091056CF480913D1290913E120E94B0DF1F -:1059900061E080E00E94BCD9811109C05AC50E9413 -:1059A0001A9381E00E943ED88111ECCF52C510922B -:1059B000191810921A1810921B1810921C1889E1CD -:1059C00098E10E94708C80913C128823B1F10E9472 -:1059D00028932091EF133091F0134091F1135091DF -:1059E000F213609141127091421280914312909192 -:1059F00044120F94F7246093EF137093F013809385 -:105A0000F1139093F21320E030E040E751E460910D -:105A1000D4107091D5108091D6109091D7100F941A -:105A2000F12569837A838B839C83CE0101960E9442 -:105A300062910E9428930E945AFD80E2E0EDF1E11C -:105A4000DF01282F1D922A95E9F7ECE1F2E1DF0151 -:105A5000282F1D922A95E9F7ECEFF1E1DF011D9265 -:105A60008A95E9F70E9428938091D7139091D813D3 -:105A7000A091D913B091DA138093EB139093EC13A8 -:105A8000A093ED13B093EE1319821A821B821C822D -:105A90009E012F5F3F4F4BEE53E167EE73E183EEC4 -:105AA00093E10E9417A99E01255C3F4F4BEE53E105 -:105AB00067EE73E183EE93E10E9417A96096BFAD94 -:105AC0006097BB2329F061E178E18DE098E104C0A3 -:105AD00060EF71E184EF91E10E948A91298F3A8F02 -:105AE0004B8F5C8F6D8F7E8F3FAF2D962FAF2D9795 -:105AF0002D96EFAD2D97E7FD95C4FFADF7FD92C450 -:105B000020915F13309160134E2F4203B001439FE9 -:105B1000700D11248091551390915613680F791FC1 -:105B2000072E000C880B990B0F94081E2B013C01CB -:105B3000CB01D3018FAB98AFA9AFBAAF209161135E -:105B4000309162134FAD4203B001439F700D112499 -:105B50008091571390915813680F791F072E000CEE -:105B6000880B990B0F94081E162F072FF82EE92E7D -:105B7000462F572F682F792FCE01C7960E94DDA59B -:105B8000882309F453C420E030E040EA50E4B20135 -:105B9000C3010F94F724D62E272E382EC92E862F18 -:105BA000922DA32DBC2D8BAB9CABADABBEAB812F8F -:105BB000902FAF2DBE2D8FA798ABA9ABBAAB2D966A -:105BC0008FAD2D9781114AC09FAD91111FC020E06C -:105BD00030E040EA50E4612F702F8F2D9E2D0F94FE -:105BE000F72421966FAF219723967FAF23972596B1 -:105BF0008FAF259727969FAF2797AFADD42C252C35 -:105C0000362CC72CAA2309F4C6C023C0C201D30175 -:105C10008BAB9CABADABBEAB20E030E040EA50E4D8 -:105C2000612F702F8F2D9E2D0F94F6246FA778ABC8 -:105C300089AB9AABBFADB43054F221961FAF219718 -:105C400023960FAF23972596FFAE25972796EFAEA5 -:105C50002797EFADE4300CF489C09DC02D96FFADC1 -:105C60002D97F4300CF453C02FAD24305CF020E0BD -:105C700030E040EA50E4B201C3010F94F624362F1D -:105C8000272F03C0342D252DC301432F522FBC01D4 -:105C90004BAB5CAB6DAB7EAB3FAD31117EC420E056 -:105CA00030E040EA50E4B201C3010F94F624D62E4E -:105CB000272E382EC92E20E030E040EA50E4612F34 -:105CC000702F8F2D9E2D0F94F7246FA778AB89AB83 -:105CD0009AAB4FAD442309F452C020E030E040EAD3 -:105CE00050E4612F702F8F2D9E2D0F94F624219656 -:105CF0006FAF219723967FAF239725968FAF259778 -:105D000027969FAF27978FAD843084F144C09FAD15 -:105D100091110FC020E030E040E251E46D2D722D72 -:105D2000832D9C2D0F94F624D62E272E382EC92E87 -:105D300011C0AFADA430C4F120E030E040E251E446 -:105D40006D2D722D832D9C2D0F94F6246BAB7CABA7 -:105D50008DAB9EAB21961FAF219723960FAF239754 -:105D60002596FFAE25972796EFAE279752ED852E05 -:105D700053E5952E5BE7A52E51E4B52E29C021965B -:105D80001FAF219723960FAF23972596FFAE259738 -:105D90002796EFAE279742ED842E43E5942E4BEFE6 -:105DA000A42E40E4B42E14C021961FAF2197239651 -:105DB0000FAF23972596FFAE25972796EFAE27972F -:105DC00032ED832E33E5932E3BEFA32E31E4B32E39 -:105DD0008BA99CA9ADA9BEA92C968CAF9DAFAEAFE7 -:105DE000BFAF2C979C01AD01B201C3010F94F62403 -:105DF000698B7A8B8B8B9C8B4FA458A869A87AA847 -:105E0000A3019201612F702F8F2D9E2D0F94F624E8 -:105E10006D8B7E8B8F8B988F2C962CAD3DAD4EADC0 -:105E20005FAD2C9760910D1870910E1880910F182E -:105E3000909110180F94F6242C966CAF7DAF8EAF16 -:105E40009FAF2C97A30192016091111870911218C5 -:105E500080911318909114180F94F6242B013C0193 -:105E60008D2D922DA32DBC2D89839A83AB83BC836A -:105E700021968FAD219723969FAD23972596AFADA1 -:105E800025972796BFAD27978D839E83AF83B887CD -:105E90008091D7139091D813A091D913B091DA13B0 -:105EA00089879A87AB87BC872DEC3CEC4CEC5CE394 -:105EB000C501B4010F94671E2091DB133091DC13F0 -:105EC0004091DD135091DE130F94671E2091191835 -:105ED00030911A1840911B1850911C180F94F724F8 -:105EE0006D877E878F87988B2C962CAD3DAD4EAD00 -:105EF0005FAD2C97CA01B9010F94671E6B017C013D -:105F0000A3019201C301B2010F94671E9B01AC0172 -:105F1000C701B6010F94F72420E030E040E050E4E0 -:105F20000F94572718160CF047C00E945AFD1BA269 -:105F30001CA21DA21EA220E030E040E05FE36091C1 -:105F400015187091161880911718909118180F94C1 -:105F5000F7246F8F78A389A39AA39E012D5D3F4FED -:105F6000AE01415E5F4F61E178E18DE098E10E9412 -:105F700017A91BA21CA21DA21EA220E030E040E037 -:105F80005FE36091D7137091D8138091D9139091EA -:105F9000DA130F94F7246F8F78A389A39AA39E0135 -:105FA0002D5D3F4FAE01415E5F4FBE01615D7F4F92 -:105FB000CE01C3960E9417A91F8E18A219A21AA279 -:105FC0009E01215E3F4F47ED53E1BE01615D7F4F72 -:105FD000CE01C3960E9417A90E9486FD40906302DD -:105FE000509064026090650270906602E090CC1060 -:105FF000F090CD100091CE101091CF10A090C8104D -:10600000B090C910C090CA10D090CB109501A601D5 -:10601000B701C8010F945727181614F475018601AB -:1060200020E030E040E251E4B701C8010F94F125CF -:10603000609363027093640280936502909366029A -:1060400040E0BE016F5E7F4FCE0101960E940EB60A -:1060500040926302509264026092650270926602FE -:106060000E94289322242394312CD1011197289641 -:10607000BFAFAEAF2897812C912C54018394279603 -:106080000FAC279704C0880C991CAA1CBB1C0A944F -:10609000D2F7412C512C32014394022C04C0440C01 -:1060A000551C661C771C0A94D2F7482859286A2880 -:1060B0007B2881E090E0FC0127960FAC279702C077 -:1060C000EE0FFF1F0A94E2F72A96FFAFEEAF2A9772 -:1060D0002CEF31E126963FAF2EAF269780ED91E170 -:1060E00024969FAF8EAF2497ACE1B2E12296BFAF6A -:1060F000AEAF2297C12CD12C2496EEADFFAD2497E4 -:106100006496FFAFEEAF649780819181A0E0B0E02C -:1061100084219521A621B72184159505A605B705EB -:1061200009F099C02296AEADBFAD22978D919C919A -:10613000A0E0B0E088219921AA21BB21892B8A2BDC -:106140008B2B09F088C00091551310915613E090E5 -:106150005F13F090601328962EAD3FAD28972E9DCB -:10616000B0012F9D700D3E9D700D1124600F711FA9 -:106170006E5F7F4F072E000C880B990B0F94081E43 -:106180006BA77CA78DA79EA72E9CB0012F9C700D9E -:106190003E9C700D1124600F711F62507109072E13 -:1061A000000C880B990B0F94081E6BA37CA38DA386 -:1061B0009EA34AED51E061E070E0CE018B960E9413 -:1061C000EA998091611390916213C89EB001C99EB3 -:1061D000700DD89E700D1124809157139091581313 -:1061E000680F791F161617060CF09BC1623C31E050 -:1061F000730714F061EC71E0072E000C880B990B0B -:106200000F94081E6F8F78A389A39AA36FA378A712 -:1062100089A79AA74AED51E061E070E0CE0183962C -:106220000E94EA994FA158A569A57AA5CE018B963F -:106230000E94DDA581117AC12296AEADBFAD229735 -:106240008D919C9111972A96EEADFFAD2A978E2BDA -:106250009F2B8D939C9324962EAD3FAD24972E5F5C -:106260003F4F24963FAF2EAF24976496AEADBFAD9F -:1062700064978D919C91A0E0B0E088219921AA219A -:10628000BB21892B8A2B8B2B09F4A9C0F9018081B2 -:106290009181A0E0B0E088219921AA21BB21892B1E -:1062A0008A2B8B2B09F49BC02696EEADFFAD26976B -:1062B00080819181A0E0B0E088219921AA21BB21B1 -:1062C000892B8A2B8B2B09F08AC0009157131091D0 -:1062D0005813E0906113F0906213CE9CB001CF9CF4 -:1062E000700DDE9C700D1124600F711F6E5F7F4F6B -:1062F000072E000C880B990B0F94081E6FA378A72C -:1063000089A79AA7C60101968E9DB0018F9D700D39 -:106310009E9D700D1124600F711F62507109072E30 -:10632000000C880B990B0F94081E6F8F78A389A31C -:106330009AA380915F139091601328962EAD3FAD84 -:106340002897289FB001299F700D389F700D112448 -:106350008091551390915613680F791F16161706E2 -:106360000CF0FDC06B3D31E0730714F06AED71E095 -:10637000072E000C880B990B0F94081E6BA37CA3AF -:106380008DA39EA36BA77CA78DA79EA741EC51E090 -:1063900061E070E0CE0187960E94EA9941EC51E0FD -:1063A00061E070E0CE014F960E94EA994FA158A596 -:1063B00069A57AA5CE018B960E94DDA58111D4C076 -:1063C0002696AEADBFAD26978D919C9111972A96DA -:1063D000EEADFFAD2A978E2B9F2B8D939C93FFEFF5 -:1063E000CF1ADF0A26962EAD3FAD26972E5F3F4F80 -:1063F00026963FAF2EAF269722968EAD9FAD229761 -:10640000029622969FAF8EAF229795E0C916D104CF -:1064100009F072CEAFEF2A1A3A0AB6E02B16310411 -:1064200009F023CE80919412809395122F96EEADB1 -:10643000FFAD2F9731972F96FFAFEEAF2F97EF2B32 -:1064400041F02D96FFAD2D97F7FD03C02FAD27FF2F -:1064500035CB6FEF8FEC90E20E94F6ED0E945AFD73 -:1064600080E090E0A0EAB0E48093EB139093EC130B -:10647000A093ED13B093EE1319821A821B821C8233 -:106480009E012F5F3F4F4BEE53E167EE73E183EECA -:1064900093E10E9417A98091F4119091F511A091B8 -:1064A000F611B091F7118093E3139093E413A09346 -:1064B000E513B093E6138091F0119091F111A09142 -:1064C000F211B091F3118093E7139093E813A09326 -:1064D000E913B093EA1319821A821B821C829E016F -:1064E0002F5F3F4F4BEE53E167EE73E183EE93E195 -:1064F0000E9417A962963FAD62973093FD100E94EB -:10650000CA8E61964FAD6197411150C010926A09D1 -:10651000109269090E9412DF80E090E00E94B0DFD3 -:1065200045C060E070E080E89FE36CCE4F8D58A1DD -:1065300069A17AA1CE0183960E94DDA5882309F482 -:106540007BCE9E01215E3F4FAE014D5D5F4FBE0190 -:10655000695D7F4FCE018B960E94B6FD6DCE60E0E7 -:1065600070E080E89FE30ACF4F8D58A169A17AA11E -:10657000CE0183960E94DDA5882309F421CF9E01D8 -:10658000215E3F4FAE014D5D5F4FBE01695D7F4FA4 -:10659000CE018B960E94B6FD13CFFFADD42C252CD7 -:1065A000362CC72CF4300CF098CB85CBCD5ADF4F6E -:1065B0000FB6F894DEBF0FBECDBFDF91CF911F9114 -:1065C0000F91FF90EF90DF90CF90BF90AF909F9092 -:1065D0008F907F906F905F904F903F902F90089595 -:1065E00063E00C94127DCF93DF93E0911F0BF0E0FA -:1065F000E658F94E8081882309F447C089E794E280 -:106600000F944C09C0911F0B80E6C89FE001112434 -:10661000C156D64F88818E3479F480E20E94AA5206 -:1066200089910E94AA52899190ED980F9A30C8F3EF -:106630008D32B9F38B32A9F386E794E20F944C09BB -:1066400080919A1590919B15891B8F706FE070E077 -:10665000681B7109072E000C880B990B0E941E53B2 -:1066600083E794E20F944C098091200B64E070E082 -:10667000681B7109072E000C880B990B0E941E5392 -:106680008AE0DF91CF910C94AA52DF91CF910895C7 -:1066900090919C09E92FF0E0E658F94E80839F5FC6 -:1066A000943018F490939C0902C010929C09809138 -:1066B000200B8F5F8093200B0895CF93DF93EC0125 -:1066C0008881882349F18A3039F18D3029F18B3363 -:1066D000F9F08091200B8430D8F480919C0920E659 -:1066E000829FC0011124BE018156964F0F945528F8 -:1066F00080E00E9448B30F94350ABE0186E694E21A -:106700000F941E0A83E694E2DF91CF910D944C0919 -:1067100080E00E94D653D4CFDF91CF9108955F924D -:106720006F927F928F929F92AF92BF92CF92DF92A1 -:10673000EF92FF920F931F93CF93DF93CDB7DEB706 -:106740006DB67EB67C0100E010E08DB69EB6F70116 -:10675000E00FF11F5490C80101965C01552029F00B -:106760009AE0591611F08501F2CF8DB79EB78A19BC -:106770009B090FB6F8949EBF0FBE8DBF01966C01AA -:10678000A801B7010F943B1DF601E00FF11F108225 -:10679000C6010E945DB3552041F0EA0CFB1C0FB608 -:1067A000F8949EBE0FBE8DBED0CF0FB6F8947EBEBD -:1067B0000FBE6DBEDF91CF911F910F91FF90EF90B3 -:1067C000DF90CF90BF90AF909F908F907F906F9011 -:1067D0005F900895CF92DF92EF92FF928AE50E9438 -:1067E000EA93882321F10E946A936B017C0120E0E7 -:1067F00030E040EA51EC0F94572787FD13C020E0AA -:1068000030E040EA51E4C701B6010F94011E1816AA -:106810004CF0C0920714D0920814E0920914F09240 -:106820000A148FC00F94310A86E494E228C088E5E8 -:106830000E94EA93882349F10E946A936B017C01CC -:1068400020E030E84DEE53EC0F94572787FD13C03E -:1068500020E030E84DEE53E4C701B6010F94011E6D -:1068600018164CF0C092FF13D0920014E09201145D -:10687000F092021466C00F94310A86E294E2FF900F -:10688000EF90DF90CF900D944C0989E50E94EA9338 -:10689000882321F10E946A936B017C0120E030E0A3 -:1068A00041EE53EC0F94572787FD13C020E030E0F2 -:1068B00041EE53E4C701B6010F94011E18164CF0C7 -:1068C000C0920314D0920414E0920514F0920614BE -:1068D00038C00F94310A86E094E2D1CF0F94350A84 -:1068E0004091FF13509100146091011470910214B3 -:1068F00085EF93E20F94000A8AE00E94AA52409129 -:10690000031450910414609105147091061484EEE0 -:1069100093E20F94000A8AE00E94AA524091071461 -:10692000509108146091091470910A1483ED93E258 -:106930000F94000A8AE0FF90EF90DF90CF900C94C4 -:10694000AA52FF90EF90DF90CF9008958F929F9280 -:10695000AF92BF92CF92DF92EF92FF920F931F936D -:10696000CF9310921D1310921C132FE320936612E5 -:1069700010926512109264121092601210926112BD -:1069800010926212109263129C01F90190812F5FA4 -:106990003F4F9032D1F39E34C9F4818190ED980F2E -:1069A0009A3020F08D3211F08B3281F4DF01129693 -:1069B0009D012F5F3F4F8C9180538A3010F4D90195 -:1069C000F7CFFD01119680818032D9F3F093DE0B71 -:1069D000E093DD0B8F010F5F1F4FC0816AE270E013 -:1069E000C8010F944A28009731F0FC01319780814B -:1069F0008032E1F31182CD3429F0C43519F0C73467 -:106A000009F000C1F80180810F5F1F4F8032D1F380 -:106A100080538A3008F0F6C0C09366121092651257 -:106A2000109264124AE08091641290916512489F1E -:106A30009001499F300D1124309365122093641208 -:106A40003196DF0111978C91082E000C990BC0979D -:106A5000820F931F909365128093641220812053BC -:106A60002A3008F3DF0131962C912032D9F3CD344E -:106A7000D1F48E31910591F03CF48731910571F09C -:106A80008C31910581F40AC08537910564F0873710 -:106A9000910524F0803A23E0920729F4B0931D1366 -:106AA000A0931C13AFC010921D1310921C131091D1 -:106AB000DD0BC12CD12C7601C394FD0131964C9194 -:106AC000442309F49FC04132A1F4CD3491F48032C3 -:106AD000910579F4F0931D13E0931C1363E270E0C9 -:106AE000CF010F944A28009709F48CC0FC01108252 -:106AF00089C041544A3108F059C0BF01FB012081CF -:106B00006F5F7F4F2032D1F330ED320F3A3010F10A -:106B10002E3211F421810CC02D3211F02B3259F498 -:106B2000218130ED320F3A30A8F02E3221F422814B -:106B300020532A3078F020911C1330911D13232B01 -:106B400009F05DC09F012150310930931D1320933E -:106B50001C1355C09F01A42FB0E04601570104C08B -:106B6000880C991CAA1CBB1C4A95D2F7B501A4013C -:106B70008090601290906112A0906212B0906312A7 -:106B8000482959296A297B29409360125093611240 -:106B900060936212709363122115310511F0211B6D -:106BA00001C020E0AA5BBD4E2C930AC020911C13AB -:106BB00030911D13232B21F4B0931D13A0931C13AC -:106BC000208121542A3110F4DF0177CFAF01FA017F -:106BD000DA012D912223C1F330ED320F3A3010F457 -:106BE000AD01F5CF33ED320F3230D0F32B32C1F39C -:106BF000FA014F5F5F4F20812032D1F3E5CF20E0D3 -:106C000030E0A9CFCF911F910F91FF90EF90DF90CF -:106C1000CF90BF90AF909F908F9008952F923F920A -:106C20004F925F926F927F928F929F92AF92BF929C -:106C3000CF92DF92EF92FF920F931F93CF93DF9348 -:106C4000CDB7DEB7C454D1090FB6F894DEBF0FBE7E -:106C5000CDBF9AA789A77CAB6BAB142FDB018D90BE -:106C60009D90AD90BC9013972401350177FA7094F4 -:106C700077F870941496CD90DD90ED90FC90179776 -:106C8000A701960150582D8B3E8B4F8B588FA30137 -:106C90009201C301B2010F94671E6D8F7E8F8F8F9B -:106CA00098A32D893E894F89588DCA01B9010F9447 -:106CB000671E9B01AC016D8D7E8D8F8D98A10F9409 -:106CC000F7240F94A5276DAB7EAB8FAB98AF809167 -:106CD0000D1890910E18A0910F18B09110188D8F6B -:106CE0009E8FAF8FB8A39C01AD01C501B4010F9475 -:106CF000F72469AF7AAF8BAF9CAF20911118309118 -:106D0000121840911318509114182DA33EA34FA3AD -:106D100058A7C701B6010F94F72421966CAF7DAF39 -:106D20008EAF9FAF2197A9A5BAA58D919D910D908A -:106D3000BC91A02D89A39AA3ABA3BCA329AD3AAD66 -:106D40004BAD5CADBC01CD010F94F6246B017C0111 -:106D5000A9A5BAA514962D913D914D915C911797D7 -:106D60002BA73CA74DA75EA721962CAD3DAD4EAD00 -:106D70005FAD21976BA57CA58DA59EA50F94F624EC -:106D80004B015C012091151830911618409117188D -:106D90005091181825962CAF3DAF4EAF5FAF259799 -:106DA000A9A5BAA518966D917D918D919C911B977F -:106DB0000F94F624698F7A8F8B8F9C8FA701960191 -:106DC000C301B2010F94671E6FA778AB89AB9AAB72 -:106DD000A50194016D897E898F89988D0F94671E16 -:106DE0009B01AC016FA578A989A99AA90F94F724F2 -:106DF0006FA778AB89AB9AABA5019401C301B2012F -:106E00000F94671E4B015C01A70196016D897E8975 -:106E10008F89988D0F94671E9B01AC01C501B40149 -:106E20000F94F6242FA538A949A95AA90F947625BD -:106E30006B017C0120E030E0A9010F94011E87FF67 -:106E40000AC02BED3FE049EC50E4C701B6010F94B6 -:106E5000F7246B017C012BED3FE049EC50E4C701C6 -:106E6000B6010F94F12520E030E040EC51E40F949E -:106E7000671E0F94D5250F946A261B01672B19F402 -:106E800022242394312C112351F02BED3FE049ECC7 -:106E900050E4C701B6010F94F6246B017C0120E099 -:106EA00030E0A901C701B6010F94011E811123C072 -:106EB00029A13AA14BA15CA16D8D7E8D8F8D98A1EA -:106EC0000F94011E811117C02BA53CA54DA55EA5F1 -:106ED0006DA17EA18FA198A50F94011E81110BC0F9 -:106EE00038E1232E312C4BEDC42E4FE0D42E49EC4B -:106EF000E42E40E4F42E2DA93EA94FA958ADC701B8 -:106F0000B6010F94671E4B015C0120E030E0A9013F -:106F1000698D7A8D8B8D9C8D0F94011E8823D9F0FD -:106F2000A5019401C501B4010F94671E4B015C01DA -:106F3000298D3A8D4B8D5C8DCA01B9010F94671E66 -:106F40009B01AC01C501B4010F94F7240F94A52750 -:106F50004B015C010DC020E030E0A901C501B40186 -:106F60000F94572787FF04C0B7FAB094B7F8B094CE -:106F70002FE632E143E85AE3C501B4010F94011E44 -:106F800087FDF8C12091191830911A1840911B18EB -:106F900050911C1829A33AA34BA35CA3C501B401CB -:106FA0000F9499260F946A267EA36DA3621573052C -:106FB00010F43EA22DA2ADA1BEA1BD0180E090E0E3 -:106FC0000F94061E4B015C019B01AC01C701B60189 -:106FD0000F94F1256D8F7E8F8F8F98A3A50194015B -:106FE000698D7A8D8B8D9C8D0F94F1256DAB7EAB69 -:106FF0008FAB98AF29A13AA14BA15CA1E9A5FAA555 -:1070000064857585868597850F94F624A50194017E -:107010000F94F1256FA778AB89AB9AAB2D8D3E8D80 -:107020004F8D58A1CA01B9010F94671E20E030E0CE -:1070300040E05FE30F94671E9B01AC0160E070E0ED -:1070400080E89FE30F94F6246BA77CA78DA79EA7EB -:1070500025962CAD3DAD4EAD5FAD259729873A877E -:107060004B875C8789A19AA1ABA1BCA18D879E8724 -:10707000AF87B88B60914E0270914F02072E000CC3 -:10708000880B990B0F94081E2091630230916402C3 -:1070900040916502509166020F94671E2AE037ED19 -:1070A00043E25CE30F94671E698B7A8B8B8B9C8B1E -:1070B0000F9406019B01AC0128533F4F4F4F5F4F88 -:1070C00029A33AA34BA35CA322242394312C39E1B6 -:1070D000398F4DA15EA12416350608F01FC10E940C -:1070E000679A0F940601DC01CB0129A13AA14BA1BB -:1070F0005CA1821B930BA40BB50BB7FD0FC00F94C3 -:1071000006019B01AC0128533F4F4F4F5F4F29A30E -:107110003AA34BA35CA380E00E94D653398D315033 -:10712000398F3323E9F12BA53CA54DA55EA56D89CB -:107130007E898F89988D0F94671E6B017C012D8D40 -:107140003E8D4F8D58A1C301B2010F94671EA70158 -:1071500096010F94F7246B017C012BA53CA54DA54E -:107160005EA5C301B2010F94671E4B015C012D8D1A -:107170003E8D4F8D58A16D897E898F89988D0F9492 -:10718000671E9B01AC01C501B4010F94F6242B01CD -:107190003C01C601D7018D8B9E8BAF8BB88F66C02B -:1071A000B10180E090E00F94061E2D8D3E8D4F8D35 -:1071B00058A10F94671E6B017C010F94EC256D8B19 -:1071C0007E8B8F8B988FC701B6010F9497274B0149 -:1071D0005C01ABA9BCA9CD90DD90ED90FC9013971C -:1071E000F7FAF094F7F8F09414962D913D914D91A3 -:1071F0005C911797298F3A8F4B8F5C8FA70196016F -:107200006D897E898F89988D0F94671E2B013C01B3 -:10721000298D3A8D4B8D5C8DC501B4010F94671E8D -:107220009B01AC01C301B2010F94F7242B013C0177 -:10723000A7019601C501B4010F94671E6B017C0183 -:10724000298D3A8D4B8D5C8D6D897E898F89988DC6 -:107250000F94671E9B01AC01C701B6010F94F62481 -:107260006D8B7E8B8F8B988FB9E1B98F29AD3AAD3D -:107270004BAD5CADC301B2010F94F72469837A83EF -:107280008B839C8321962CAD3DAD4EAD5FAD219798 -:107290006D897E898F89988D0F94F7246D837E8305 -:1072A0008F8398872DA93EA94FA958AD69857A8506 -:1072B0008B859C850F94F72469877A878B879C87B9 -:1072C0002FA538A949A95AA96D857E858F859889EA -:1072D0000F94F7246D877E878F87988BCE01019658 -:1072E0000E9422BEC12CD12C90E8E92E9FE3F92EFA -:1072F0008E010F5E1F4F9E01235F3F4FAE01475F20 -:107300005F4FBE016B5F7F4FCE0101960E94BD7B38 -:10731000882321F0EFEF2E1A3E0ADBCE80E1E9A5AB -:10732000FAA5DE01119601900D928A95E1F7CE0142 -:1073300001960E9422BEC12CD12C80E8E82E8FE35A -:10734000F82E8E010F5E1F4F9E01235F3F4FAE014F -:10735000475F5F4FBE016B5F7F4FCE0101960E947A -:10736000BD7B80E1FE013196ADE0B8E101900D9268 -:107370008A95E1F7CC5BDF4F0FB6F894DEBF0FBE06 -:10738000CDBFDF91CF911F910F91FF90EF90DF90D4 -:10739000CF90BF90AF909F908F907F906F905F90B5 -:1073A0004F903F902F900895CF92DF92EF92FF92EF -:1073B0001F93CF93DF93C0911C13D0911D1380E5D1 -:1073C0000E94EA93882359F00E941ACD6B017C0138 -:1073D00011E0672B682B692B31F410E004C010E03A -:1073E000C12CD12C760183E50E94EA93882309F40D -:1073F00065C00E946A9320E030E04AE754E40F94AD -:10740000671E0F946A266B017C01111109C0672B5E -:10741000682B692B29F4209719F08881811102C00B -:1074200010E001C011E00E945F8C112311F0CE0129 -:1074300002C084E597E00E94D2CFC091451283E05C -:107440008093451281E08093461348EB53E261EC50 -:1074500073E282E00E94C69486EA93E20E94D2CF51 -:10746000C114D104E104F104A9F00F940601C60E81 -:10747000D71EE81EF91E0F940601DC01CB018C1902 -:107480009D09AE09BF09B7FF0DC080914613811158 -:1074900018C008C080914613882321F080E00E9424 -:1074A000D653F8CF10924613C0934512DF91CF9177 -:1074B0001F91FF90EF90DF90CF9008951111B0CF02 -:1074C000AACF80E00E94D653D6CF0F931F93CF93BD -:1074D0008C01C62F81EA93E20F944C09C8010F94E6 -:1074E0004C098AE30E94AA526C2F70E080E090E081 -:1074F0000E941E53CF911F910F910C94AF53EF92A6 -:10750000FF921F93CF93DF93CDB7DEB7C454D10959 -:107510000FB6F894DEBF0FBECDBF84E40E94A193E6 -:10752000882309F44DC187E993E20F944C09209117 -:10753000F3133091F4134091F5135091F6136091C9 -:107540000D1870910E1880910F18909110180F94CB -:10755000F72469AF7AAF8BAF9CAF2091F7133091CE -:10756000F8134091F9135091FA136091111870912A -:10757000121880911318909114180F94F7242196E3 -:107580006CAF7DAF8EAF9FAF21972091FB133091F1 -:10759000FC134091FD135091FE13609115187091EA -:1075A000161880911718909118180F94F7242596A3 -:1075B0006CAF7DAF8EAF9FAF2597CE01C9960E946D -:1075C000F0B28EE893E20F944C098DE098E10E94AE -:1075D000F0B280910D1890910E18A0910F18B091F3 -:1075E00010188DA79EA7AFA7B8AB809111189091E6 -:1075F0001218A0911318B091141889AB9AABABABC9 -:10760000BCAB8091151890911618A0911718B091E5 -:1076100018188DAB9EABAFABB8AF85E893E20F9473 -:107620004C09AE014B5C5F4FBE016F5C7F4FCE01DA -:107630008D960E94548ECE018D960E94F0B28CE7FA -:1076400093E20F944C098DA59EA5AFA5B8A989A377 -:107650009AA3ABA3BCA389A99AA9ABA9BCA98DA3E2 -:107660009EA3AFA3B8A78DA99EA9AFA9B8AD89A7BE -:107670009AA7ABA7BCA7CE0181960E941D8ECE0112 -:1076800081960E94F0B20E945F8C83E793E20F9490 -:107690004C098DEDE82E82E0F82E10E080E20E9489 -:1076A000AA52F70181917F010E94AA528AE30E94A7 -:1076B000AA52812F0E94969E0E941E531F5F143073 -:1076C00069F78AE00E94AA528AE693E20F944C0975 -:1076D0000E94BEC28091671290916812A0916912B7 -:1076E000B0916A12898B9A8BAB8BBC8B80916B1299 -:1076F00090916C12A0916D12B0916E128D8B9E8B39 -:10770000AF8BB88F80916F1290917012A09171120F -:10771000B0917212898F9A8FAB8FBC8F83E00E94D9 -:107720008A8D6D8F7E8F8F8F98A364E0CE014196F6 -:107730000E94127D2DA53EA54FA558A969897A8979 -:107740008B899C890F94F62469837A838B839C832D -:1077500029A93AA94BA95CA96D897E898F89988D41 -:107760000F94F6246D837E838F8398872DA93EA97D -:107770004FA958AD698D7A8D8B8D9C8D0F94F62411 -:1077800069877A878B879C872091191830911A18FE -:1077900040911B1850911C186D8D7E8D8F8D98A176 -:1077A0000F94F6246D877E878F87988B81E693E20E -:1077B0000F944C0964E0CE0101960E94127D04C032 -:1077C0000E945F8C0E947DC4CC5BDF4F0FB6F894A3 -:1077D000DEBF0FBECDBFDF91CF911F91FF90EF9025 -:1077E00008954F925F926F927F928F929F92AF9285 -:1077F000BF92CF92DF92EF92FF920F931F93CF939E -:10780000DF93CDB7DEB77C014DB65EB66090DD0B81 -:107810007090DE0B8DB69EB66AE070E0C7010F94E3 -:10782000441D6C01009721F08C010E191F0904C042 -:10783000C7010F944F1D8C01C80101962DB73EB7AB -:10784000281B390B0FB6F8943EBF0FBE2DBF8DB766 -:107850009EB701965C01A801B7010F94701DF50158 -:10786000E00FF11F1082C5010E94A6B481E00E94C2 -:107870004C39C114D10451F076019FEFE91AF90A8D -:107880000FB6F8949EBE0FBE8DBEC4CF0FB6F8944F -:107890009EBE0FBE8DBEC3010E94A6B40FB6F89463 -:1078A0005EBE0FBE4DBEDF91CF911F910F91FF9035 -:1078B000EF90DF90CF90BF90AF909F908F907F9090 -:1078C0006F905F904F900895CF93DF93C0911F0BFF -:1078D00080E6C89FE0011124C156D64F8091A310C5 -:1078E00080FF05C00F94350ACE010E94B553CE012A -:1078F0000E94A6B480E0DF91CF910C944C394F9256 -:107900005F926F927F928F929F92AF92BF92CF922F -:10791000DF92EF92FF920F931F93CF93DF93CDB738 -:10792000DEB768970FB6F894DEBF0FBECDBFC82E86 -:107930002A013B015901E82EF12CF701ED58FA4DCF -:10794000E491992493941E160CF4912CDD24D39485 -:1079500020E030E0A901C301B2010F9457271816A7 -:107960000CF0D12CD92461F082E0C81209C081E06A -:107970000E947F7C69E170E080E090E00F941D0937 -:1079800080E00E948A8D69837A838B839C8381E067 -:107990000E948A8D6D837E838F83988782E00E9408 -:1079A0008A8D69877A878B879C8783E00E948A8D7E -:1079B0006D877E878F87988BEE0CFF1CEE0CFF1C6B -:1079C00088248394912C8C0E9D1E8E0C9F1CF40198 -:1079D00010821182128213829E01235F3F4FAE01FB -:1079E000475F5F4FBE016B5F7F4FCE0101960E94E4 -:1079F000B58CF40140825182628273821D8A1E8A94 -:107A00001F8A188E20E030E0A901B801C5010F944B -:107A1000011E811109C0F701E65DFA4D859195912E -:107A2000A591B4918C015D01C801D501898B9A8B18 -:107A3000AB8BBC8B8091A1109091A210892B91F4FB -:107A4000CE0145967C018E010F5E1F4F9E01235F84 -:107A50003F4FAE01475F5F4FBE016B5F7F4F449763 -:107A60000E949C6C0E945F8CDD2041F092E0C91264 -:107A700003C080E00E947F7C0E947AF568960FB672 -:107A8000F894DEBF0FBECDBFDF91CF911F910F9154 -:107A9000FF90EF90DF90CF90BF90AF909F908F902E -:107AA0007F906F905F904F900895CF92DF92EF920A -:107AB000FF920F931F93C12CD12C76018C0129E1E9 -:107AC00038E145E158E161E178E18DE098E10E941B -:107AD000BD7B1F910F91FF90EF90DF90CF900895A5 -:107AE000CF93C82FCB01009711F00F944C098BE86E -:107AF00094E20F944C09C11103C08CE794E202C0D8 -:107B000081E894E20F944C098AE0CF910C94AA5238 -:107B10008F929F92AF92BF92CF92DF92EF92FF929D -:107B2000CF93DF93EC018090261890902718A090B7 -:107B30002818B090291820E030E0A901C501B4014F -:107B40000F94011E882309F44AC0C880D980EA80B6 -:107B5000FB80A7019601C501B4010F94011E181600 -:107B60000CF042C020911D1830911E1840911F1832 -:107B700050912018C701B6010F94011E882331F1DE -:107B8000C0921D18D0921E18E0921F18F092201873 -:107B900020912118309122184091231850912418D7 -:107BA000688179818A819B810F94671E9B01AC015A -:107BB00060E070E080E89FE30F94F6246093500249 -:107BC000709351028093520290935302609150023D -:107BD00070915102809152029091530208C060E06E -:107BE00070E080E89FE303C060E070E0CB01DF91CC -:107BF000CF91FF90EF90DF90CF90BF90AF909F908C -:107C00008F900895CF93DF9324E0829FC0011124C9 -:107C1000EC01CD50DC4EFC01E057F64FDC01AD58D5 -:107C2000BD4E2D913D914D915C916081718182811C -:107C300093810F94F724688379838A839B83DF91F0 -:107C4000CF910895CF92DF92EF92FF92CF93DF937F -:107C500020914D02222309F485C0EC01C090350229 -:107C6000D0903602E0903702F090380228813981B6 -:107C70004A815B81C701B6010F945727181624F477 -:107C8000C882D982EA82FB82C0903902D0903A023F -:107C9000E0903B02F0903C02288139814A815B816F -:107CA000C701B6010F94011E87FF04C0C882D982A4 -:107CB000EA82FB82C0903D02D0903E02E0903F02FB -:107CC000F09040022C813D814E815F81C701B60159 -:107CD0000F945727181624F4CC82DD82EE82FF829F -:107CE000C0904102D0904202E0904302F0904402E2 -:107CF0002C813D814E815F81C701B6010F94011E29 -:107D000087FF04C0CC82DD82EE82FF82C0904502F4 -:107D1000D0904602E0904702F090480228853985CD -:107D20004A855B85C701B6010F945727181624F4BE -:107D3000C886D986EA86FB86C0904902D0904A025E -:107D4000E0904B02F0904C02288539854A855B858E -:107D5000C701B6010F94011E87FF04C0C886D986EB -:107D6000EA86FB86DF91CF91FF90EF90DF90CF9076 -:107D700008952F923F924F925F926F927F928F92CF -:107D80009F92AF92BF92CF92DF92EF92FF920F93AA -:107D90001F93CF93DF93CDB7DEB7E4970FB6F89478 -:107DA000DEBF0FBECDBF83EE93E10E9422BE809165 -:107DB000A31083FD7DC0C090EF13D090F013E0902E -:107DC000F113F090F2132091191830911A18409184 -:107DD0001B1850911C18C701B6010F94011E88236F -:107DE00009F466C08091090C81111FC060910E0CCE -:107DF00070910F0C8091100C9091110C0F946326D0 -:107E00002091190230911A026217730774F4C0921C -:107E10001918D0921A18E0921B18F0921C180F949F -:107E2000350A83E095E20F944C098090EF1390900F -:107E3000F013A090F113B090F21320911918309123 -:107E40001A1840911B1850911C18C501B4010F94C9 -:107E5000F6246B017C0120E030E0A9010F94572744 -:107E600087FF04C0F7FAF094F7F8F0942091150218 -:107E7000309116024091170250911802C701B601C5 -:107E80000F94671E20E030E04AEF53E40F94572729 -:107E9000181674F48092191890921A18A0921B1850 -:107EA000B0921C180F94350A84EE94E20F944C099A -:107EB00080912518E0904E02F0904F02882309F13E -:107EC0008090261890902718A0902818B090291814 -:107ED00020E030E0A901C501B4010F94011E882300 -:107EE00009F45BC02091EB133091EC134091ED133A -:107EF0005091EE13C501B4010F94572718160CF4D6 -:107F00004CC0B701FF0C880B990B0F94081E2091F1 -:107F100063023091640240916502509166020F94B1 -:107F2000671E2AE037ED43E25CE30F94671E698326 -:107F30007A838B839C83C12CD12C76018E010F5FB9 -:107F40001F4F2FEE33E14BEE53E167EE73E183EE0B -:107F500093E10E94BD7B80E1E3EEF3E1ADE0B8E1A7 -:107F600001900D928A95E1F7E4960FB6F894DEBF82 -:107F70000FBECDBFDF91CF911F910F91FF90EF907A -:107F8000DF90CF90BF90AF909F908F907F906F9039 -:107F90005F904F903F902F900895B701FF0C880B92 -:107FA000990B0F94081E2091630230916402409156 -:107FB0006502509166020F94671E2AE037ED43E296 -:107FC0005CE30F94671E69A37AA38BA39CA3209103 -:107FD0000D1830910E1840910F18509110186091A3 -:107FE000E3137091E4138091E5139091E6130F94DD -:107FF000F62469A77AA78BA79CA720911118309126 -:10800000121840911318509114186091E713709151 -:10801000E8138091E9139091EA130F94F6242B0151 -:108020003C0120E030E0A90169A57AA58BA59CA5BB -:108030000F94011E81110DC020E030E0A901C301A1 -:10804000B2010F94011E811104C0C12CD12C760104 -:10805000E5C02091151830911618409117185091CD -:1080600018186091EB137091EC138091ED139091BF -:10807000EE130F94F6246DA77EA78FA798AB2091DF -:10808000191830911A1840911B1850911C186091C2 -:10809000EF137091F0138091F1139091F2130F94FC -:1080A000F6246DA37EA38FA398A729A53AA54BA577 -:1080B0005CA5CA01B9010F94671E6B017C01A30185 -:1080C0009201C301B2010F94671E9B01AC01C7016D -:1080D000B6010F94F7246B017C012DA53EA54FA599 -:1080E00058A9CA01B9010F94671E9B01AC01C701D1 -:1080F000B6010F94F7240F94A5276B017C012DEB9B -:1081000037E346E855E30F94011E87FF13C020E0D4 -:1081100030E0A9016DA17EA18FA198A50F945727EA -:10812000CDA0DEA0EFA0F8A487FF04C0F7FAF0947A -:10813000F7F8F0942DEB37E346E855E3C701B601B5 -:108140000F94011E87FD07CF20E030E040EA51E4A4 -:10815000C701B6010F94F1250F946A261B01672B06 -:1081600019F422242394312CB10180E090E00F9483 -:10817000061E9B01AC0160E070E080E89FE30F9475 -:10818000F1254B015C019B01AC01C701B6010F94C5 -:10819000671E69AB7AAB8BAB9CABA501940169A55B -:1081A0007AA58BA59CA50F94671E698B7A8B8B8B08 -:1081B0009C8BA5019401C301B2010F94671E6D8BC6 -:1081C0007E8B8F8B988FA50194016DA57EA58FA5C1 -:1081D00098A90F94671E698F7A8F8B8F9C8FA5014A -:1081E00094016DA17EA18FA198A50F94671E6D8F3C -:1081F0007E8F8F8F98A380E1EDE0F8E1DE0111968C -:1082000001900D928A95E1F79924939481E0281AC0 -:10821000310841F4C9A8DAA8EBA8FCA88E010F5DCB -:108220001F4F8FCE80918A12811112C00F940601C8 -:10823000DC01CB0188539F4FAF4FBF4F8093861215 -:1082400090938712A0938812B093891290928A1209 -:108250000E94679A0F940601C0908612D0908712F0 -:10826000E0908812F0908912DC01CB018C199D09F5 -:10827000AE09BF09B7FD13C00F940601DC01CB01A5 -:1082800088539F4FAF4FBF4F8093861290938712B2 -:10829000A0938812B093891280E00E94D6536E0199 -:1082A00091E1C90ED11CFE0131967F015601F60104 -:1082B00021913191419151916F01F701608171815B -:1082C000828193810F94F724F701619371938193D5 -:1082D00091937F01AE16BF0651F7C9A8DAA8EBA8A3 -:1082E000FCA88E010F5D1F4F9E01235F3F4FAE0123 -:1082F000475F5F4FBE016B5F7F4FCE0101960E94CB -:10830000BD7B811183CF86CF8091821290918312A1 -:10831000A0918412B09185128093630290936402BD -:10832000A0936502B09366028091801290918112B1 -:1083300090934F0280934E02089580916302909132 -:108340006402A0916502B0916602809382129093BC -:108350008312A0938412B093851280914E02909163 -:108360004F02909381128093801284E690E0909364 -:108370004F0280934E0208954F925F926F927F92C8 -:108380008F929F92AF92BF92CF92DF92EF92FF9225 -:108390000F931F93CF93DF93CDB7DEB72C970FB614 -:1083A000F894DEBF0FBECDBF2B013C0129873A8771 -:1083B0004B875C8747015801F601E080F18002811C -:1083C000138120E030E0A901B701C8010F94011E1C -:1083D00081110BC0E2E3F5E285919591A591B491ED -:1083E000582F492F3A2F2B2F04C05E2D4F2D302FA1 -:1083F000212F852F942FA32FB22F89839A83AB83AC -:10840000BC8320E030E0A901B701C8010F94011E30 -:10841000811108C0E0905F02F0906002009161025B -:1084200010916202C701D8018D839E83AF83B88704 -:10843000A501940160911518709116188091171874 -:10844000909118180F94011E87FF0CC08092151888 -:1084500090921618A0921718B0921818CE01019693 -:108460000E9455BD40920D1850920E1860920F1840 -:108470007092101889859A85AB85BC8580931118F8 -:1084800090931218A0931318B0931418CE01059668 -:108490000E9455BD2091151830911618409117185B -:1084A00050911818C501B4010F94011E87FF0CC02C -:1084B0008092151890921618A0921718B09218185A -:1084C000CE0101960E9455BD0E945F8C2C960FB67E -:1084D000F894DEBF0FBECDBFDF91CF911F910F91FA -:1084E000FF90EF90DF90CF90BF90AF909F908F90D4 -:1084F0007F906F905F904F900895CF92DF92EF92B0 -:10850000FF920F931F936A01E0901518F0901618D0 -:108510000091171810911818FB01208131814281B8 -:108520005381FC0160817181828193810E94BCC171 -:108530001F910F91FF90EF90DF90CF900895CF9211 -:10854000DF92EF92FF920F931F936B01FC01E0808B -:10855000F18002811381EDE0F8E1248135814681CB -:10856000578160817181828193810E94BCC11F917A -:108570000F91FF90EF90DF90CF900895CF93DF930E -:1085800080E00E948A8DC7E6D2E1688379838A837E -:108590009B8381E00E948A8D6C837D838E839F8381 -:1085A00082E00E948A8D688779878A879B87DF911E -:1085B000CF9108951F93CF93DF93CDB7DEB7609728 -:1085C0000FB6F894DEBF0FBECDBF182F0E94BEC2FB -:1085D0008091671290916812A0916912B0916A120D -:1085E00089839A83AB83BC8380916B1290916C12C8 -:1085F000A0916D12B0916E128D839E83AF83B88768 -:1086000080916F1290917012A0917112B0917212BC -:1086100089879A87AB87BC878091191890911A181F -:10862000A0911B18B0911C188D879E87AF87B88BBF -:10863000CE0101960E941D8E1E3F51F480E1FE0185 -:108640003196ADE0B8E101900D928A95E1F716C040 -:1086500024E0129FC0011124FC01E35FF74EA1E06A -:10866000B0E0AC0FBD1FA80FB91F8D919D910D906B -:10867000BC91A02D80839183A283B38360960FB6B3 -:10868000F894DEBF0FBECDBFDF91CF911F9108954B -:108690000C94257C4F925F926F927F928F929F9263 -:1086A000AF92BF92CF92DF92EF92FF920F931F9300 -:1086B000CF93C82FE82EF12CF701ED58FA4DB49066 -:1086C000823049F481E00E94B989811106C10E947B -:1086D000B698811102C16701CC0CDD1CCC0CDD1CED -:1086E000F601E959FA4D45905590659074906B2DBF -:1086F000BB0C770B880B990B0F94081E4B015C0188 -:1087000020E030E040EC5FE3C301B2010F94671E4C -:10871000A50194010F94671EAB01BC0100E010E0BD -:1087200098018C2F0E947FBCC23009F0CAC00E9401 -:108730006798E0E070E060EA80E42E2F372F462F44 -:10874000582FC501B4010F94671E4B015C0120E056 -:1087500030E0A9010F94011E882309F44EC0C230F5 -:1087600021F000E010E0980104C000E010E020E8F3 -:1087700030E4B501A40170588C2F0E947FBCC23038 -:1087800051F40E94B6988111A8C0412C512C612C43 -:1087900090E4792E21C0F701E85AFA4D64916111F5 -:1087A00007C00F94350A86E395E20F944C096AE0FE -:1087B000F601E65DFA4D459055906590749070E035 -:1087C00080E090E00F94081E9B01AC01C301B20150 -:1087D0000F94F1252B013C01A5019401C501B401C1 -:1087E0000F94F724AB01BC01930182018C2F0E94EE -:1087F0007FBCC23011F40E94679881E090E00C2E9B -:1088000001C0880F0A94EAF790911414982B909362 -:1088100014149091960B892B8093960BF601E25ECF -:10882000FA4D85919591A591B491F601E35FF74ECC -:1088300080839183A283B383C230D1F42091071443 -:10884000309108144091091450910A146091151840 -:108850007091161880911718909118180F94F6249B -:108860006093151870931618809317189093181822 -:1088700010921314109212140E9448C3F601ED5185 -:10888000FC4ED601A35FB74E8D919D910D90BC918A -:10889000A02D80839183A283B383C230F1F480E062 -:1088A000CF911F910F91FF90EF90DF90CF90BF90ED -:1088B000AF909F908F907F906F905F904F900C94AF -:1088C000B989F601E55AFA4D85919591A591B49132 -:1088D000E82F792F6A2F8B2F30CFCF911F910F91D7 -:1088E000FF90EF90DF90CF90BF90AF909F908F90D0 -:1088F0007F906F905F904F9008954F925F926F922C -:108900007F928F929F92AF92BF92CF92DF92EF921F -:10891000FF922091F3133091F4134091F51350918D -:10892000F61360910D1870910E1880910F189091A8 -:1089300010180F94F724AB01BC0181EE94E20F9460 -:10894000000A2091F7133091F8134091F9135091D8 -:10895000FA13609111187091121880911318909168 -:1089600014180F94F724AB01BC018DED94E20F9421 -:10897000000A2091FB133091FC134091FD1350919C -:10898000FE13609115187091161880911718909128 -:1089900018180F94F724AB01BC0189ED94E20F94F1 -:1089A000000A4091191850911A1860911B18709183 -:1089B0001C1885ED94E20F94000A80916F00982FA7 -:1089C000927081FF05C080916F008D7F80936F0052 -:1089D000409044115090451160904611709047119D -:1089E0008090481190904911A0904A11B0904B117D -:1089F000C0904C11D0904D11E0904E11F0904F115D -:108A0000992329F080916F00826080936F008BEC36 -:108A100094E20F944C09C301B2010E941E5387ECEB -:108A200094E20F944C09C501B4010E941E5383ECDB -:108A300094E20F944C09C701B6010E941E538AE0CC -:108A4000FF90EF90DF90CF90BF90AF909F908F906E -:108A50007F906F905F904F900C94AA5280918D09F7 -:108A6000811105C080918F09811101C00895809105 -:108A70007F12659B02C0816001C08E7F80937F1250 -:108A80009091030180917F1291FF02C0826001C02A -:108A90008D7F80937F1280917F124A9B02C08460F9 -:108AA00001C08B7F80937F128091361180FF10C0B0 -:108AB00080918E0980FF0CC080917F1280FF08C0DA -:108AC0008091210B81608093210B80E00E946E9E3B -:108AD00080913611869580FF11C080918E09869510 -:108AE00080FF0CC080917F1281FF08C08091210B14 -:108AF00082608093210B81E00E946E9E80913611EE -:108B00008695869580FF16C080918E0986958695FC -:108B100080FF10C080918F09882361F080917F12BF -:108B200082FF08C08091210B84608093210B82E03A -:108B30000C946E9E0895CF93DF9300D01F92CDB713 -:108B4000DEB784EF91E0A0E0B0E089839A83AB8345 -:108B5000BC83BE016F5F7F4F8CE30E94479889EA18 -:108B600094E20F944C098CB163EA74E285FB882788 -:108B700080F90E9470BD809103016DE974E28695D1 -:108B800081700E9470BD89B167E974E282FB882719 -:108B900080F90E9470BD8CB16EE874E2829581709C -:108BA0000E9470BD8EEE92E0A0E0B0E04A9911C044 -:108BB00089839A83AB83BC83BE016F5F7F4F8AE05A -:108BC0000E9447980F900F900F900F90DF91CF91D8 -:108BD000089589839A83AB83BC83BE016F5F7F4F07 -:108BE0008AE5EECF80918D09811104C080918F09B3 -:108BF000882331F062E070E080E090E00D941D0980 -:108C00000895082E000C990BFC01EB5AF74CE491E7 -:108C1000EE2399F0F0E0EE0FFF1FE55CF74CA59115 -:108C2000B4912C91FC01E556F74C8491822321E00C -:108C300090E009F420E0822F089580E090E008950C -:108C4000082E000C990BFC01EB5AF74CE491F0E074 -:108C5000EE0FFF1FE95FF74CA591B4912C91FC0139 -:108C6000E556F74CE491E22381E009F480E00895B1 -:108C7000CF93DF93C82F8DEE99E20F944C090C2E01 -:108C8000000CDD0BFE01EB5AF74C8491805C0E94D6 -:108C9000AA52FE01E556F74CE49180E3E13021F061 -:108CA000E6958F5F8933D1F7DF91CF910C94AA526B -:108CB0000F931F93CF93DF93CDB7DEB764970FB6B3 -:108CC000F894DEBF0FBECDBFE82FF0E0EF51F74CB8 -:108CD000E4918E2F90E0FC013197E231F10508F02C -:108CE00049C28827E155FF4F8F4F0D94EE2484B57C -:108CF000807C09F43FC287B51F928F9382EB98E284 -:108D00009F938F938E010F5F1F4F1F930F930F94AD -:108D1000991D0F900F900F900F900F900F90F801EA -:108D200081918F01811102C081E025C20E94AA5267 -:108D3000F6CF84B5807309F41DC288B51F928F9356 -:108D400088EA98E29F938F938E010F5F1F4F1F93C6 -:108D50000F930F94991D0F900F900F900F900F90FD -:108D60000F90F80181918F018823F1F20E94AA529D -:108D7000F8CF80918000807C09F4FCC1809188004C -:108D8000909189009F938F938EE998E29F938F93A0 -:108D90008E010F5F1F4F1F930F930F94991D0F901C -:108DA0000F900F900F900F900F90F80181918F010D -:108DB000882309F4B9CF0E94AA52F7CF809180008E -:108DC000807309F4D7C180918A0090918B009F93A2 -:108DD0008F9384E998E29F938F938E010F5F1F4FCB -:108DE0001F930F930F94991D0F900F900F900F905A -:108DF0000F900F90F80181918F01882309F494CF8F -:108E00000E94AA52F7CF809180008C7009F4B2C101 -:108E100080918C0090918D009F938F938AE898E2C7 -:108E20009F938F938E010F5F1F4F1F930F930F948C -:108E3000991D0F900F900F900F900F900F90F801C9 -:108E400081918F01882309F46FCF0E94AA52F7CF36 -:108E50008091B000807C09F48DC18091B3001F9295 -:108E60008F9380E898E29F938F938E010F5F1F4F3F -:108E70001F930F930F94991D0F900F900F900F90C9 -:108E80000F900F90F80181918F01882309F44CCF46 -:108E90000E94AA52F7CF8091B000807309F46AC192 -:108EA0008091B4001F928F9386E798E29F938F93EF -:108EB0008E010F5F1F4F1F930F930F94991D0F90FB -:108EC0000F900F900F900F900F90F80181918F01EC -:108ED000882309F429CF0E94AA52F7CF80919000ED -:108EE000807C09F447C180919800909199009F93EC -:108EF0008F938CE698E29F938F938E010F5F1F4FA5 -:108F00001F930F930F94991D0F900F900F900F9038 -:108F10000F900F90F80181918F01882309F404CFFD -:108F20000E94AA52F7CF80919000807309F422C169 -:108F300080919A0090919B009F938F9382E698E294 -:108F40009F938F938E010F5F1F4F1F930F930F946B -:108F5000991D0F900F900F900F900F900F90F801A8 -:108F600081918F01882309F4DFCE0E94AA52F7CFA6 -:108F7000809190008C7009F4FDC080919C009091CC -:108F80009D009F938F9388E598E29F938F938E0126 -:108F90000F5F1F4F1F930F930F94991D0F900F900A -:108FA0000F900F900F900F90F80181918F018823FF -:108FB00009F4BACE0E94AA52F7CF8091A000807C1B -:108FC00009F4D8C08091A8009091A9009F938F9335 -:108FD0008EE498E29F938F938E010F5F1F4F1F9334 -:108FE0000F930F94991D0F900F900F900F900F906B -:108FF0000F90F80181918F01882309F495CE0E948A -:10900000AA52F7CF8091A000807309F4B3C0809179 -:10901000AA009091AB009F938F9384E498E29F9372 -:109020008F938E010F5F1F4F1F930F930F94991D06 -:109030000F900F900F900F900F900F90F80181916B -:109040008F01882309F470CE0E94AA52F7CF809135 -:10905000A0008C7009F48EC08091AC009091AD009E -:109060009F938F938AE398E29F938F938E010F5F74 -:109070001F4F1F930F930F94991D0F900F900F90F8 -:109080000F900F900F90F80181918F01882309F4C0 -:109090004BCE0E94AA52F7CF80912001807C09F428 -:1090A00069C080912801909129019F938F9380E35B -:1090B00098E29F938F938E010F5F1F4F1F930F9323 -:1090C0000F94991D0F900F900F900F900F900F908D -:1090D000F80181918F01882309F426CE0E94AA52BB -:1090E000F7CF80912001807309F444C080912A0158 -:1090F00090912B019F938F9386E298E29F938F9399 -:109100008E010F5F1F4F1F930F930F94991D0F90A8 -:109110000F900F900F900F900F90F80181918F0199 -:10912000882309F401CE0E94AA52F7CF8091200132 -:109130008C7001F180912C0190912D019F938F9360 -:109140008CE198E29F938F938E010F5F1F4F1F93C7 -:109150000F930F94991D0F900F900F900F900F90F9 -:109160000F90F80181918F01882309F4DDCD0E94D1 -:10917000AA52F7CF80E064960FB6F894DEBF0FBE18 -:10918000CDBFDF91CF911F910F9108954F925F92C4 -:109190006F927F928F929F92AF92BF92CF92DF9207 -:1091A000EF92FF920F931F93CF93DF93CDB7DEB76C -:1091B00064970FB6F894DEBF0FBECDBF082FF62E12 -:1091C000E42E882E912C26E0829FC0011124FC0100 -:1091D000EE55F64D65907490FC01E056F64D5F013A -:1091E00045905490F3018081482F487050E060E032 -:1091F00070E07695679557954795F2011081137049 -:10920000142BF4E0EF1209C0807190E0A0E0B0E010 -:10921000B695A79597958795182B86E999E20F94AF -:109220004C09005D802F0E94AA528F2D0E94AA52E5 -:1092300083E00F944109F401EE0FFF1F8F2D0F2CD7 -:10924000000C990B9E012F5F3F4F690133E0E80D41 -:10925000F91D81549109E80FF91FEE0FFF1FEE5819 -:10926000F64DE3121BC0A591B4918C911F928F9380 -:1092700088E699E29F938F93DF92CF920F94991D86 -:109280000F900F900F900F900F900F90F60181911B -:109290006F01882309F10E94AA52F8CFA591B491D9 -:1092A00011968C9111978F938C918F938EE599E203 -:1092B0009F938F93DF92CF920F94991D0F900F90F1 -:1092C0000F900F900F900F90F60181916F018823FE -:1092D00019F00E94AA52F8CF612F70E084E599E25C -:1092E0000F94110AF501C590D49088EC98E20F9480 -:1092F0004C09802F0E94AA52F2E4FF1691F023E459 -:10930000F216F9F031E4F3122DC0F60140814295D6 -:1093100046954695437050E060E070E084EC98E23A -:109320001FC0F6014081407350E060E070E094E0BF -:1093300076956795579547959A95D1F780EC98E281 -:109340000FC0F60140814C7050E060E070E082E0B8 -:1093500076956795579547958A95D1F78CEB98E266 -:109360000F94E209F3014081477050E060E070E043 -:109370008BE499E20F94E20982E499E20F944C099C -:10938000802F0E94AA52F201608170E08EE399E280 -:109390000F94110A85E399E20F944C09802F0E94E3 -:1093A000AA52F301608170E081E399E20F94110AFF -:1093B00086E0889DF001899DF00D1124EC55F64D55 -:1093C000C590D49087E299E20F944C09802F0E94B7 -:1093D000AA52F601608170E084E299E20F94110ACA -:1093E00000EC0F0DF3E0EF1207C0197F59F480ED88 -:1093F00098E20F944C0906C0812F8B7FC1F31C505B -:109400001230A8F3F601808190E0A0E0B0E004C043 -:10941000B695A795979587950A95D2F780FF04C0D2 -:1094200089EE98E20F944C09F601808180FF04C018 -:1094300086E099E20F944C0964960FB6F894DEBF6B -:109440000FBECDBFDF91CF911F910F91FF90EF9095 -:10945000DF90CF90BF90AF909F908F907F906F9054 -:109460005F904F900895CF93DF93C82FD0E0FE0117 -:10947000EF51F74CE4918E2F90E0FC013197E231EF -:10948000F105E8F58827EF53FF4F8F4F0D94EE2439 -:1094900043E061E402C043E062E480E02EC044E0C7 -:1094A00061E405C044E062E402C044E063E481E0BA -:1094B00024C043E061E402C043E062E482E01DC0F6 -:1094C00044E061E405C044E062E402C044E063E4D7 -:1094D00083E013C044E061E405C044E062E402C0FC -:1094E00044E063E484E009C044E061E405C044E092 -:1094F00062E402C044E063E485E00E94C6C88AEEEC -:1095000099E20F944C09FE01EB5AF74CE491E230DA -:10951000F9F4FE01E556F74CE491E038C9F486EE23 -:1095200099E20F944C0982E10F9441098EED99E282 -:109530000F944C0984EC99E20F944C098EE00F943F -:10954000410944E063E481E0DF91CF910C94C6C807 -:10955000DF91CF9108952F923F924F925F926F9239 -:109560007F928F929F92AF92BF92CF92DF92EF92B3 -:10957000FF920F931F93CF93DF93CDB7DEB7AC97D6 -:109580000FB6F894DEBF0FBECDBF182F6CA7542EB8 -:10959000B22EA32E9DE7692E9AE2792E00E080E09C -:1095A000812E012E000C99082AEC210F2BA7FE0119 -:1095B00031967F01F30132964490242C312C2814EB -:1095C000390409F0A4C081115DC001115BC0AF92E4 -:1095D000BF9225E73AE23F932F93FF92EF920F94C9 -:1095E000991DFAA6E9A60F900F900F900F900F907B -:1095F0000F906701F60181916F01882319F00E9495 -:10960000AA52F8CF1F924F9220E73AE23F932F934E -:10961000FF92EF920F94991D0F900F900F900F9063 -:109620000F900F906701F60181916F01882319F067 -:109630000E94AA52F8CF812F0E9438C6FBA5F7FDE1 -:109640001DC026E3221A31083F922F9286E69AE245 -:109650009F938F93FF92EF920F94991D0F900F900D -:109660000F900F900F900F90E9A5FAA58191FAA79E -:10967000E9A78823B1F00E94AA52F6CF88E00F94A0 -:1096800041090FC08EE20E94AA52EB2DFA2DDF0194 -:109690000D900020E9F78A2F8B19875E0F944109FE -:1096A00001E0F301C590D490412CF6018491811121 -:1096B00007C0312C87E2C82ED12CC418D1080AC0AB -:1096C0000E94AA524394FFEFCF1ADF0A27E2421208 -:1096D000ECCF0AC0832D90E08C159D052CF480E220 -:1096E0000E94AA523394F6CF552069F0812F0E9430 -:1096F0001B50882309F4C9C03CA53111C6C08BE5B5 -:109700009AE20F944C098AE00E94AA5281E0F4E0A8 -:109710006F0E711C2DE662162BE2720609F04ACF1D -:109720008111F9C0AF92BF928EE29AE29F938F931C -:10973000CE0101967C019F938F930F94991D670131 -:109740000F900F900F900F900F900F905701F50111 -:1097500081915F01882319F00E94AA52F8CF9F924D -:109760008F9289E29AE29F938F93FF92EF920F94E8 -:10977000991D0F900F900F900F900F900F90570121 -:10978000F50181915F01882319F00E94AA52F8CF58 -:10979000812F0E9438C60AEC010F07FD1BC0C401CF -:1097A000C6979F938F938FE19AE29F938F93FF9237 -:1097B000EF920F94991D0F900F900F900F900F90B4 -:1097C0000F905701F50181915F01882331F00E94CC -:1097D000AA52F8CF88E00F9441098EE09AE20F94E4 -:1097E0004C09552009F44DC0812F0E9458C68111A3 -:1097F00042C0812F0E9420C6882331F087E10F9458 -:10980000410986E39AE22CC0003128F5802F0F949D -:10981000AD00092E000CAA0BBB0BBF93AF939F9317 -:109820008F938AEF99E29F938F93FF92EF920F9419 -:10983000991D0FB6F894DEBF0FBECDBFF601819122 -:109840006F01882319F00E94AA52F8CF86EF99E29F -:109850000F944C0903C087E10F94410980E49AE218 -:109860000F944C09812F0E9401C6BC01990F880BEF -:10987000990B0E941E5387E10F944109812F0E948A -:1098800033CA8AE00E94AA5246C0F3013396E4919B -:10989000E11121C08BA50F94AD00092E000CAA0B7D -:1098A000BB0BBF93AF939F938F938AE49AE29F93EE -:1098B0008F93FF92EF920F94991D67010FB6F89462 -:1098C000DEBF0FBECDBFF60181916F018823E9F0A5 -:1098D0000E94AA52F8CF812F0E9420C6811103C096 -:1098E00080E49AE207C0812F0E9458C681110DC002 -:1098F00086E39AE20F944C09812F0E9401C6BC01B5 -:10990000990F880B990B0E941E530111FCCE812FD9 -:109910000E9433CAF8CEAC960FB6F894DEBF0FBEE5 -:10992000CDBFDF91CF911F910F91FF90EF90DF900E -:10993000CF90BF90AF909F908F907F906F905F90EF -:109940004F903F902F9008958091611287FD05C040 -:10995000809162128E7009F445C083E50E94EA93FB -:10996000882391F00E946A936093D8107093D91065 -:109970008093DA109093DB106093E0107093E11005 -:109980008093E2109093E31080E50E94EA9388238D -:1099900051F00E946A936093D8107093D91080930D -:1099A000DA109093DB1082E50E94EA93882351F04D -:1099B0000E946A936093DC107093DD108093DE1038 -:1099C0009093DF1084E50E94EA93882391F10E942E -:1099D0006A936093E0107093E1108093E21090938B -:1099E000E31008954091D8105091D9106091DA1089 -:1099F0007091DB108CE098E20F94000A4091DC102B -:109A00005091DD106091DE107091DF1089E098E2D6 -:109A10000F94000A4091E0105091E1106091E21023 -:109A20007091E31086E098E20F94000A8AE00C94AB -:109A3000AA5208958091921290919312009731F05A -:109A40004AE050E060E070E00D94251C60E070E0BA -:109A5000CB0108958091090180FD06C0809198177F -:109A600083FB882780F9089580E008950F931F9362 -:109A7000CF93DF938B01D82FC92F4630C1F41092BA -:109A80002A1310922B1310922C1310922D13109254 -:109A90002E130E9412DF20E030E04CE053E4B801C6 -:109AA0008D2F9C2F0F94011E87FD0FC01DC00E949B -:109AB000E5EE20E030E046E953E4B8018D2F9C2F1D -:109AC0000F94011E87FD20C02EC020E030E0A901C8 -:109AD000B8018D2F9C2F0F94572718164CF000E0DB -:109AE00010E0D0E0C0E004C000E010E0DCE0C3E43F -:109AF000B8018D2F9C2F0F946326CB01DF91CF915E -:109B00001F910F910C941A9320E030E0A901B80145 -:109B10008D2F9C2F0F94572718164CF000E010E063 -:109B2000D0E0C0E004C000E010E0D6E9C3E4B80132 -:109B30008D2F9C2F0F946326CB01DF91CF911F9126 -:109B40000F910C94B0DF90911414977081E09730CE -:109B500009F080E0089580919A1590919B15891BDA -:109B60008F7069F48091200B811109C081E02091F0 -:109B70009D0930919E09232B19F480E0089581E01E -:109B800008953F924F925F926F927F928F929F9231 -:109B9000AF92BF92CF92DF92EF92FF920F931F93FB -:109BA000CF93DF93CDB7DEB762970FB6F894DEBFE1 -:109BB0000FBECDBF2B013C01342E24E0429FC001DB -:109BC00011249A8B898BFC01E35FF74EC080D18012 -:109BD000E280F38020E030E04AE754E4C701B601B8 -:109BE0000F94F6244B015C0120E030E04AE754E496 -:109BF000C701B6010F94F7247B018C0180914D02BF -:109C00008823D1F181E0381639F13816A0F092E0BE -:109C1000391232C08090450290904602A0904702CF -:109C2000B0904802E0904902F0904A0200914B0245 -:109C300010914C0221C08090350290903602A09085 -:109C40003702B0903802E0903902F0903A02009169 -:109C50003B0210913C0210C080903D0290903E0269 -:109C6000A0903F02B0904002E0904102F09042028A -:109C7000009143021091440280E1E1EEF2E0DE0146 -:109C8000119601900D928A95E1F7E1E0F0E0EC0F7A -:109C9000FD1F89899A89E80FF91F20E030E040E72D -:109CA00052E460817181828193810F94F1256093E8 -:109CB00063027093640280936502909366028091C0 -:109CC000151481FF0E9428939201A301B701C801D6 -:109CD0000F945727181614F4720183019701A801F5 -:109CE000B401C5010F94011E87FD02C074018501F6 -:109CF000E989FA89ED51FC4EC701D801808391832F -:109D0000A283B383809115148260809315146296A8 -:109D10000FB6F894DEBF0FBECDBFDF91CF911F917C -:109D20000F91FF90EF90DF90CF90BF90AF909F90FA -:109D30008F907F906F905F904F903F90089520910B -:109D4000151490E0880F991F880F991FFC0121FFBF -:109D500003C0ED51FC4E02C0E35FF74E608171819C -:109D60008281938108952091151420FF14C020E86A -:109D70003EE3629FA001639F500D729F500D11241E -:109D8000CA019695879596958795009731F08A95A3 -:109D90000000E9F708950D941D0908959F92AF9270 -:109DA000BF92CF92DF92EF92FF920F931F93CF93C8 -:109DB000DF9380911311833009F50E94A3CD88238E -:109DC000E9F06091690970916A09072E000C880B0F -:109DD000990B0F94081E20E030E040E85FE30F94F9 -:109DE000F6242091650930916609409167095091E8 -:109DF00068090F94011E18160CF062C0D0E0FF2411 -:109E0000F39400E010E0EE24E39445E0D42EC0E0AB -:109E1000CC24C39455E0B52E65E0A62E72E8972EAB -:109E2000FC24DC16D1F18D2F90E04897A4F5DF5F7C -:109E3000F801BC9EE00DF11D1124EE0FFF1FEE0F87 -:109E4000FF1FE559FC4E20E030E04AE754E4608112 -:109E50007181828193810F94671E0F9463267093A2 -:109E60001D1660931C16A0921016909213168D2F3B -:109E700090E08158974F880F991F092E000CAA0B6C -:109E8000BB0B8093141690931516A0931616B093DF -:109E900017160F948001CE0DC4CF0F5F1F4F0530F2 -:109EA000110579F1F11006C0EE24EA94DD24DA946C -:109EB000C4E0B6CFEE24E39435E0D32EC0E0B0CFBB -:109EC00081E09AE590931D1680931C1680E490E043 -:109ED00090931F1680931E1687E08093101682E8D9 -:109EE0008093131684E890E0A0E0B0E0809314160D -:109EF00090931516A0931616B09317160F94800121 -:109F00007DCFDF91CF911F910F91FF90EF90DF9068 -:109F1000CF90BF90AF909F900895AF92BF92CF9295 -:109F2000DF92EF92FF920F931F93CF93DF93EC0199 -:109F300088EEC82E80E2D82EE12CF12C02E8A12C6C -:109F400090E2B92E15E000931316C0921416D09229 -:109F50001516E0921616F0921716B0921D16A092E2 -:109F60001C16109310160F9480018FEFC81AD80A90 -:109F7000E80AF80A80E1C81681E2D806E104F10493 -:109F800011F748EE50E260E070E0CE01DF91CF9132 -:109F90001F910F91FF90EF90DF90CF90BF90AF9007 -:109FA0000D942F0184E08093121182E080939A082F -:109FB00081E09AE590931D1680931C168EE490E044 -:109FC00090931F1680931E1687E08093101682E8E8 -:109FD0008093131684E890E0A0E0B0E0809314161C -:109FE00090931516A0931616B09317160F94800130 -:109FF00087E697E00C94B553CF92DF92EF92FF92F1 -:10A000006A017B010E94EA93882331F0FF90EF9070 -:10A01000DF90CF900C946A93C701B601FF90EF9048 -:10A02000DF90CF9008952F923F924F925F926F9260 -:10A030007F928F929F92AF92BF92CF92DF92EF92D8 -:10A04000FF920F931F93CF93DF93CDB7DEB7CD541D -:10A05000D1090FB6F894DEBF0FBECDBF60E070E04F -:10A0600085E40E9451A7182F81E0810F823018F0FB -:10A0700083EA9DE254C065E070E083E40E9451A74A -:10A0800089A760E085E50E94F7932C968FAF2C9707 -:10A0900017FF05C040E050E06CE872E404C040E007 -:10A0A00050E066E173E483E50E94FCCF0F946326E1 -:10A0B000072E000C880B990B0F94081E6D837E836E -:10A0C0008F832E969FAF2E970F9406012B013C0194 -:10A0D0001F3F09F409C5E12E012E000CFF08F7010E -:10A0E00083E0EE0FFF1F8A95E1F7E45FFD4F668185 -:10A0F00077816F507109072E000C880B990B0F9414 -:10A10000081E9B01AC016D817E818F812E969FADD3 -:10A110002E970F9457271816ECF488E79DE2C35B3F -:10A12000DF4F0FB6F894DEBF0FBECDBFDF91CF91EA -:10A130001F910F91FF90EF90DF90CF90BF90AF9065 -:10A140009F908F907F906F905F904F903F902F9057 -:10A150000D944C0984E69DE20F944C090E94C1DFE6 -:10A1600087E18E9DF0018F9DF00D1124E65FF34F86 -:10A170008FE7828722E330E0A8EEB3E00F94AB24B0 -:10A180006BA77CA78DA79EA79B01AC01240D351D55 -:10A19000461D571D28AF39AF4AAF5BAF81E08093B2 -:10A1A0001402109256021F3F11F58BEA9AEAAAEAAE -:10A1B000BEE38CAF9DAFAEAFBFAF2DEC3CEC4CE43B -:10A1C0005EE324962CAF3DAF4EAF5FAF249725964C -:10A1D0001FAE25974CEA5CE227965FAF4EAF2797FC -:10A1E00086E79CE229969FAF8EAF299721C020E099 -:10A1F00030E040E05EE32CAF3DAF4EAF5FAF8AE9A9 -:10A2000099E9A9E1BFE324968CAF9DAFAEAFBFAF94 -:10A21000249725961FAF2597AAE9BCE22796BFAFE2 -:10A22000AEAF2797E3E6FCE22996FFAFEEAF2997A2 -:10A2300049A25AA26BA27CA24FA658AA69AA7AAADE -:10A240002FE730E040E050E0288739874A875B8776 -:10A25000188A198A1A8A1B8A1C861D861E861F86E2 -:10A26000C12CD12C76011E8A30E43F8B4CE1488F03 -:10A2700056E4598F1A8E1B8E1C8E1D8E1BAACCAADB -:10A28000DDAAEEAAFFAAFFE78F2E912CA12CB12CFC -:10A290001DA21EA21FA218A681E088A31D8A1C8AE7 -:10A2A000212C312C00E02D961FAE2D97A7E11A022C -:10A2B000C0011124865F934FFC013A962B96FFAFA5 -:10A2C000EEAF2B979C012C5F3F4F3F8F2E8F49A500 -:10A2D000042E000C550B5AA749A78091140288231D -:10A2E00009F454C20F94060169837A838B839C839B -:10A2F00080913513882309F4BAC00E9426E11F3FDC -:10A3000061F42090650930906609009167095091C9 -:10A3100068092D965FAF2D970EC0AE8DBF8D2C9026 -:10A3200011963C90119712960C9112971396BC912E -:10A330002D96BFAF2D972A8D3B8D4C8D5D8DB10134 -:10A34000802F2D969FAD2D970F94572718163CF40C -:10A350002A8E3B8E0C8F2D96EFAD2D97ED8F2E898B -:10A360003F89488D598DB101802F2D969FAD2D9736 -:10A370000F94011E87FF07C02E8A3F8A088F2D96F3 -:10A38000FFAD2D97F98F28A1222309F44DC091012B -:10A39000402F2D965FAD2D976D817E818F812E96FA -:10A3A0009FAD2E970F94011E87FF61C049815A818E -:10A3B0006B817C814419550966097709DB01CA0163 -:10A3C00088589341A109B109B7FD51C08885998585 -:10A3D000AA85BB8588199909AA09BB09B595A795CE -:10A3E000979587951F3F19F480936B0905C02B96AD -:10A3F000EEADFFAD2B9780834DA35EA36FA378A72F -:10A40000FD81FA8F2E812B8F3F813C8F2E964FAD91 -:10A410002E974D8F89819A81AB81BC8189A39AA3A4 -:10A42000ABA3BCA318A223C09101402F2D965FAD12 -:10A430002D976D817E818F812E969FAD2E970F94E3 -:10A4400057271816A4F489819A81AB81BC8129A170 -:10A450003AA14BA15CA1821B930BA40BB50BAC01E1 -:10A46000BD01485853416109710977FFAEC120E031 -:10A4700030E040EA51E46D817E818F812E969FAD60 -:10A480002E970F94F7249101402F2D965FAD2D97B5 -:10A490000F94011E87FF03C08EEC9CE2B9C0898136 -:10A4A0009A81AB81BC812FA538A949A95AA9821BE1 -:10A4B000930BA40BB50BB7FD90C025968FAD2597D8 -:10A4C0000E94CCD78AE00E94AA5289819A81AB81EE -:10A4D000BC818053984FAF4FBF4F8FA798ABA9ABAC -:10A4E000BAAB9BA9911159C02CA93DA94EA95FA94E -:10A4F000B101802F2D969FAD2D970F9457271816D9 -:10A50000BCF520E030E040E050E4B101802F2D9612 -:10A510009FAD2D970F94F7246CAB7DAB8EAB9FABAB -:10A520002BA53CA54DA55EA589819A81AB81BC81F7 -:10A53000280F391F4A1F5B1F28AF39AF4AAF5BAFE7 -:10A5400020E030E040EC50E46D817E818F812E96DA -:10A550009FAD2E970F94F6249101402F2D965FAD5D -:10A560002D970F94011E881F8827881F8BAB35C03D -:10A5700089819A81AB81BC8128AD39AD4AAD5BAD93 -:10A58000821B930BA40BB50BB7FD27C027964EADCE -:10A590005FAD27976FEB7CE21DC020E030E040EA22 -:10A5A00051E46D817E818F812E969FAD2E970F9401 -:10A5B000F6249B01AC01B101802F2D969FAD2D9704 -:10A5C0000F94011E87FF09C029964EAD5FAD2997F4 -:10A5D0006AE87CE2812F0E942D9A89819A81AB8161 -:10A5E000BC81880F991FAA1FBB1F29A13AA14BA1AB -:10A5F0005CA1821B930BA40BB50B84199509A609CA -:10A60000B70981389F44A241B10528F085E49CE256 -:10A610000F944C09BBC049A55AA58C899D89481740 -:10A6200059070CF0B0C003970CF4ADC088EE9BE264 -:10A630000F944C091F3F29F4A8EDBBE2BA83A9830C -:10A6400004C0E7EDFBE2FA83E98386EC9BE20F941A -:10A650004C0989819A810F944C09B701A60184EEB7 -:10A660009BE20F94000A8AE00E94AA5286EC9BE2C9 -:10A670000F944C0989819A810F944C094C855D8512 -:10A680006E857F8580EE9BE20F94000A8AE00E942F -:10A69000AA5286EC9BE20F944C0989819A810F940F -:10A6A0004C09488959896A897B898CED9BE20F9412 -:10A6B000000A8AE00E94AA522C96FFAD2C97FF2335 -:10A6C00009F466C01F3F69F5C0926C09D0926D090C -:10A6D000E0926E09F0926F092CEA35EC47E25EE3F6 -:10A6E0006C857D858E859F850F94671E60937009AC -:10A6F0007093710980937209909373092CEA35EC79 -:10A7000047E25EE3688979898A899B890F94F125FC -:10A710006093740970937509809376099093770913 -:10A7200037C047E1140290011124265F334F3A836A -:10A730002983D9011B96CD92DD92ED92FC921E9752 -:10A740002CEA35EC47E25EE36C857D858E859F853E -:10A750000F94671EE981FA816787708B818B928BDA -:10A760002CEA35EC47E25EE3688979898A899B891E -:10A770000F94F125A981BA8153966D937D938D93A2 -:10A780009C93569705C00E94501DA7CD0E94C1DF23 -:10A7900081E080935602C35BDF4F0FB6F894DEBFB3 -:10A7A0000FBECDBFDF91CF911F910F91FF90EF9022 -:10A7B000DF90CF90BF90AF909F908F907F906F90E1 -:10A7C0005F904F903F902F9008954C895D89452B65 -:10A7D00009F451C14DA05EA06FA078A4480E591E87 -:10A7E0006A1E7B1E2DA13EA14FA158A5281B390B27 -:10A7F0004A0B5B0BC501B4010F944724A3019201DE -:10A800000F94792488849984AA84BB84820E931E31 -:10A81000A41EB51E54E185169104A104B1040CF1E7 -:10A820008CEE88169104A104B1043CF490E88916DA -:10A830009104A104B10434F422C06BEE862E912C55 -:10A84000A12CB12C88869986AA86BB862EEF30E093 -:10A8500040E050E0281939094A095B0949015A01C9 -:10A8600012C084E190E0A0E0B0E088879987AA87D1 -:10A87000BB8754E1852E912CA12CB12C04C0888675 -:10A880009986AA86BB868CE59DE20F944C09688563 -:10A8900079858A859B850E941E5387E59DE20F94EA -:10A8A0004C09C501B4010E941E534E895F89688D11 -:10A8B000798D80E59DE20F94000A4A8D5B8D6C8D49 -:10A8C0007D8D89E49DE20F94000AAC89BD891397C0 -:10A8D0000CF4D1C0C501B4010F94081E20E030E093 -:10A8E00040E850E40F94671E6B017C012E893F897C -:10A8F000488D598D6A8D7B8D8C8D9D8D0F94F6249E -:10A900002BED3FE049E450E40F94671E20E030E077 -:10A9100040E05FE30F94671E9B01AC01C701B601E5 -:10A920000F94F1256B017C01C301B2010F94081E45 -:10A930002FE632E143E85AE30F94671E2B013C01F6 -:10A94000B701A60183E49DE20F94000AB301A201BE -:10A950008DE39DE20F94000A1F3F09F044C02DECE7 -:10A960003CEC4CE45EE3C701B6010F94671E6B013B -:10A970007C019B01AC010F94F724A30192010F9479 -:10A98000F1256C877D878E879F87A7019601C3017C -:10A99000B2010F94671E20E030E040E450E40F94D1 -:10A9A000F125688B798B8A8B9B8B8DE29DE20F94CE -:10A9B0004C09B701A60187E29DE20F94000A4C857D -:10A9C0005D856E857F8581E29DE20F94000A48894E -:10A9D00059896A897B898BE19DE20F94000A8AE09C -:10A9E0000E94AA524AC024962CAD3DAD4EAD5FAD3B -:10A9F0002497C701B6010F94671E6B017C019B0170 -:10AA0000AC01C301B2010F94671E2CAD3DAD4EAD3C -:10AA10005FAD0F94671E688B798B8A8B9B8BA70128 -:10AA20009601C701B6010F94F724A30192010F9478 -:10AA3000F1256C877D878E879F878BE09DE20F9441 -:10AA40004C09B701A60185E09DE20F94000A4C85F0 -:10AA50005D856E857F858FEF9CE20F94000A4889A3 -:10AA600059896A897B8989EF9CE20F94000A8AE000 -:10AA70000E94AA5211C01F3F79F488859985AA8542 -:10AA8000BB85880D991DAA1DBB1DB595A7959795EA -:10AA9000879580936B0911C088859985AA85BB85A8 -:10AAA000880D991DAA1DBB1DB595A79597958795EE -:10AAB0002B96EEADFFAD2B9780832C893D892F5FC0 -:10AAC0003F4F3D8B2C8B3D813E8B4E814F8B5F8169 -:10AAD000588F2E968FAD2E97898F49805A806B8024 -:10AAE0007C8091E098A3C3CC20E030E047E053E4C1 -:10AAF0006D817E818F812E969FAD2E970F94572763 -:10AB000018160CF40ACB84E69DE20F944C090E94BF -:10AB1000C1DF8FE780936B0924EB30E02DCB2F92C0 -:10AB20003F924F925F926F927F928F929F92AF92DD -:10AB3000BF92CF92DF92EF92FF920F931F93CF932A -:10AB4000DF93EB01FC0180809180A280B380C5017E -:10AB5000B40120E831E541E050E00F945724C901E9 -:10AB60006DE671E00F94C6246B017C01C501B40150 -:10AB700020E13EE040E050E00F945724CA01B901C3 -:10AB800028E130E040E050E00F945724362E272E85 -:10AB9000062F172F8CE3482E512C612C712CC501E8 -:10ABA000B401A30192010F945724B62EA72ECA0117 -:10ABB000B901A30192010F945724CB01C114D10410 -:10ABC000D9F0AF92BF927F936F932F923F92FF92F3 -:10ABD000EF92DF92CF9282EB9BE29F938F93DF9372 -:10ABE000CF930F94991D8DB79EB70E960FB6F8941C -:10ABF0009EBF0FBE8DBF5CC0E114F104C9F0AF92DF -:10AC0000BF927F936F932F923F92FF92EF9282EACF -:10AC10009BE29F938F93DF93CF930F94991DEDB792 -:10AC2000FEB73C960FB6F894FEBF0FBEEDBF40C016 -:10AC3000012BB9F0AF92BF927F936F932F923F9207 -:10AC400086E99BE29F938F93DF93CF930F94991D97 -:10AC50008DB79EB70A960FB6F8949EBF0FBE8DBFF4 -:10AC600027C0892BA9F0AF92BF927F936F938EE894 -:10AC70009BE29F938F93DF93CF930F94991DEDB732 -:10AC8000FEB738960FB6F894FEBF0FBEEDBF10C0EA -:10AC9000AF92BF928AE89BE29F938F93DF93CF930B -:10ACA0000F94991D0F900F900F900F900F900F9091 -:10ACB000DF91CF911F910F91FF90EF90DF90CF9098 -:10ACC000BF90AF909F908F907F906F905F904F90CC -:10ACD0003F902F9008958F929F92AF92BF92CF9204 -:10ACE000DF92EF92FF920F931F93CF93DF93CDB735 -:10ACF000DEB7E6970FB6F894DEBF0FBECDBF00916A -:10AD00001C1310911D1382E08093910BF8010190A8 -:10AD10000020E9F731975F01A01AB10AF801CF01CD -:10AD2000801B910B8A159B0534F480818F3209F4C6 -:10AD300010823196F4CF8BE1ECE0F5E1DE015C9618 -:10AD400001900D928A95E1F7E12CF12CEA14FB04B5 -:10AD50000CF084C0F801EE0DFF1D8081811103C04D -:10AD60008FEFE81AF80A6801CE0CDF1CF60180812B -:10AD7000882309F473C0FFEFEF1AFF0AF801EE0D04 -:10AD8000FF1D7F01E01AF10A81918111FACFCE01F6 -:10AD90004C960E947D668BE1FE017C96DE01119649 -:10ADA00001900D928A95E1F7A601BE016F5F7F4F7A -:10ADB00080E090E00E945D5FCE0101960E94B36743 -:10ADC0008FE20E94AA528091351A811103C081E856 -:10ADD00097E002C085E39AE14C01F40181914F01B3 -:10ADE000882319F00E94AA52F8CF8091981784FF07 -:10ADF00035C019821C8221E0A601BE01645E7F4F2E -:10AE0000CE0101960E94966B811116C08AE00E94C5 -:10AE1000AA520F94350A86E79BE20F944C09F6017B -:10AE200081916F01882319F00E94AA52F8CFCE01B8 -:10AE300001960E94B36712C0CE014C960E94AA6789 -:10AE40008BE1FE013196DE015C9601900D928A95B0 -:10AE5000E1F7CE0101960E94B36778CF8AE00E94A5 -:10AE6000AA52CE014C960E94B367E6960FB6F894AC -:10AE7000DEBF0FBECDBFDF91CF911F910F91FF902D -:10AE8000EF90DF90CF90BF90AF909F908F900895FC -:10AE90009091981793FB882780F993FF06C081E073 -:10AEA0009091B614911101C080E00895E4E9F2E1B7 -:10AEB000808181838DE69BE20F944C098091181369 -:10AEC00090911913A0911A13B0911B13BC01CD01DD -:10AED0006F5F7F4F8F4F9F4F0E941E530E94AF5353 -:10AEE0000C94F3B20F931F93CF938C01C62F0F9442 -:10AEF000310AC8010F944C0960911813709119130D -:10AF000080911A1390911B130E941E530E94AF53FD -:10AF1000C11104C00E94C2530196E1F70E9456D7A6 -:10AF2000EC2FEE0FFF0BEA5EFC4E11821082CF91E8 -:10AF30001F910F910895EF92FF920F931F93CF935C -:10AF40007C018B014F3F11F4C2E401C0C4E580E2F3 -:10AF50000E94AA528C2F0E94AA528AE30E94AA52EF -:10AF6000F701608171818281938142E00E943A53AE -:10AF7000F801408151816281738182E390E30F94F3 -:10AF8000000A62E070E080E090E0CF911F910F91A5 -:10AF9000FF90EF900D94CC001F93CF93DF93CDB72C -:10AFA000DEB728970FB6F894DEBF0FBECDBF182FBF -:10AFB0006091120C7091130C072E000C880B990BEA -:10AFC0000F94081E6D837E838F83988780910E0C6B -:10AFD00090910F0CA091100CB091110C89839A8361 -:10AFE000AB83BC834CEFBE016B5F7F4FCE010196FC -:10AFF0000E949BD76091690970916A09072E000C25 -:10B00000880B990B0F94081E6D837E838F8398871E -:10B010008091650990916609A0916709B0916809CE -:10B0200089839A83AB83BC834FEFBE016B5F7F4FF5 -:10B03000CE0101960E949BD71F3F41F087E1180285 -:10B04000F0011124E65FF34F628502C060916B0945 -:10B0500070E08AE390E30F94110A60916B0970E04D -:10B0600085E390E30F94110A28960FB6F894DEBF9B -:10B070000FBECDBFDF91CF911F9108952F923F92C8 -:10B080004F925F926F927F928F929F92AF92BF92F8 -:10B09000CF92DF92EF92FF920F931F93CF93DF93A4 -:10B0A000CDB7DEB763970FB6F894DEBF0FBECDBF46 -:10B0B000898B81E0809314021A821B821C821D827C -:10B0C00019861A861B861C8619821D862CE32E87FC -:10B0D0003CE13F8746E4488B312C212C50E85A8BC9 -:10B0E0008FEB8B8B91E09887812C912C5401609190 -:10B0F000690970916A09072E000C880B990B0F944F -:10B10000081E7B018C019B01AC01632D722D8A8985 -:10B110009B890F94011E882361F1609165097091EC -:10B1200066098091670990916809A989A1110EC0EB -:10B13000B1E0B9839701A8010F94572718160CF0B6 -:10B1400019823E2C2F2C0A8B1B8B13C09701A80150 -:10B150000F945727181644F480911402882309F499 -:10B16000F0C00E947AEEEDC03E2C2F2C0A8B1B8B78 -:10B1700019820F9406016B017C01DC01CB0129854A -:10B180003A854B855C85821B930BA40BB50BB7FDF1 -:10B1900033C0D701C60188519C4FAF4FBF4F89873D -:10B1A0009A87AB87BC8780E00E94CCD782E490E38B -:10B1B0000F944C0981149104A104B104B9F0D50194 -:10B1C000C401805F984DAF4FBF4FBC01CD016C19DA -:10B1D0007D098E099F0928EE33E040E050E00F948E -:10B1E0005724CA01B9010E941E5303C08FE30E9475 -:10B1F000AA528AE00E94AA5280E00E94D6530F947D -:10B20000060160930C1470930D1480930E149093A8 -:10B210000F14909165099E83A0916609AF830091F8 -:10B22000670910916809292F3A2FA801632D722D03 -:10B230008A899B890F94F6242B013C0120E030E0A1 -:10B24000A9010F94572787FF04C077FA709477F805 -:10B25000709481149104A104B104B1F420E030E0B1 -:10B2600040E85FE3C301B2010F94011E87FF18C0DD -:10B27000B88546015701BB2399F020E1820E27E2F1 -:10B28000921EA11CB11C0CC020E030E040E450E450 -:10B29000C301B2010F945727181614F44601570141 -:10B2A00039813323A9F18A819B81AC81BD81892BAE -:10B2B0008A2B8B2B61F0D701C6012A813B814C81FF -:10B2C0005D81821B930BA40BB50BB7FD21C02E81B2 -:10B2D0003F81A8016D857E858F8598890F94F6241E -:10B2E00020E030E040EC5FE30F94011E87FD34CF97 -:10B2F000D701C601805A9541AF4FBF4F8A839B83C8 -:10B30000AC83BD839E819D87AF81AE870F87188BED -:10B3100080911402882309F41FCF81149104A104A1 -:10B32000B10411F41886E3CEB0E1CB1AB7E2DB0A20 -:10B33000E108F108C818D908EA08FB08F7FCF2CFC1 -:10B340000BCF8091140263960FB6F894DEBF0FBE48 -:10B35000CDBFDF91CF911F910F91FF90EF90DF90C4 -:10B36000CF90BF90AF909F908F907F906F905F90A5 -:10B370004F903F902F9008952F923F924F925F925F -:10B380006F927F928F929F92AF92BF92CF92DF92F5 -:10B39000EF92FF920F931F93CF93DF93CDB7DEB75A -:10B3A00064970FB6F894DEBF0FBECDBF898B6A8B52 -:10B3B00081E0809314021A821B821C821D821986EE -:10B3C0001A861B861C8621E0288719821D863CE38D -:10B3D0003E874CE14F8756E4588B312C212C80E876 -:10B3E0008B8B9FEB9C8B812C912C54016091120CC8 -:10B3F0007091130C072E000C880B990B0F94081EEC -:10B400007B018C019B01AC01632D722D8B899C8982 -:10B410000F94011E882361F160910E0C70910F0C46 -:10B420008091100C9091110CAA89A1110EC0B1E06D -:10B43000B9839701A8010F94572718160CF01982A9 -:10B440003E2C2F2C0B8B1C8B13C09701A8010F9443 -:10B450005727181644F480911402882309F4F0C089 -:10B460000E947AEEEDC03E2C2F2C0B8B1C8B198288 -:10B470000F9406016B017C01DC01CB0129853A8523 -:10B480004B855C85821B930BA40BB50BB7FD33C0BA -:10B49000D701C60188519C4FAF4FBF4F89879A870C -:10B4A000AB87BC8789890E94CCD78EE390E30F9449 -:10B4B0004C0981149104A104B104B9F0D501C4016F -:10B4C000805F984DAF4FBF4FBC01CD016C197D0916 -:10B4D0008E099F0928EE33E040E050E00F94572496 -:10B4E000CA01B9010E941E5303C08FE30E94AA52F1 -:10B4F0008AE00E94AA5280E00E94D6530F9406016F -:10B5000060930C1470930D1480930E1490930F1489 -:10B5100090910E0C9E83A0910F0CAF830091100CA4 -:10B520001091110C292F3A2FA801632D722D8B89B0 -:10B530009C890F94F6242B013C0120E030E0A90106 -:10B540000F94572787FF04C077FA709477F87094A8 -:10B5500081149104A104B104B1F420E030E040E88A -:10B560005FE3C301B2010F94011E87FF18C0B885C5 -:10B5700046015701BB2399F020E1820E27E2921E7B -:10B58000A11CB11C0CC020E030E040E450E4C30139 -:10B59000B2010F945727181614F446015701398148 -:10B5A0003323A9F18A819B81AC81BD81892B8A2BB0 -:10B5B0008B2B61F0D701C6012A813B814C815D81D3 -:10B5C000821B930BA40BB50BB7FD21C02E813F81CD -:10B5D000A8016D857E858F8598890F94F62420E0DB -:10B5E00030E040EC5FE30F94011E87FD34CFD701BC -:10B5F000C601805A9541AF4FBF4F8A839B83AC836E -:10B60000BD839E819D87AF81AE870F87188B809108 -:10B610001402882309F41FCF81149104A104B104FA -:10B6200011F41886E3CEB0E1CB1AB7E2DB0AE108E9 -:10B63000F108C818D908EA08FB08F7FCF2CF0BCFCD -:10B640008091140264960FB6F894DEBF0FBECDBF92 -:10B65000DF91CF911F910F91FF90EF90DF90CF90EE -:10B66000BF90AF909F908F907F906F905F904F9022 -:10B670003F902F900895EF92FF920F931F93CF93D7 -:10B68000DF9380915A028F37A0F08F579091140C5E -:10B6900090934513992311F02C9A01C02C98209176 -:10B6A0006B092093441390910201222369F0909535 -:10B6B0000BC090914513891708F02C989091441372 -:10B6C000891728F0909102019072909300018F5F8A -:10B6D00080935A029091431381E08927809343130A -:10B6E0008091590285301CF411E0180F01C010E060 -:10B6F000823009F4B9C054F4882301F1813009F093 -:10B70000E8C088E080937B0085E4C5C0843009F4FC -:10B71000CAC00CF4BCC0853009F0DBC09091421364 -:10B72000911102C080934213809142138150809303 -:10B730004213882309F4CDC015E0CBC08091580294 -:10B740008F5F80311CF480935802C3C0109258025E -:10B7500080913513811113C080910A0C90910B0CCC -:10B7600090930D0C80930C0C80916109909162096B -:10B77000909364098093630981E08093351310925C -:10B780000B0C10920A0C1092620910926109E09061 -:10B790000C0CF0900D0CF194E194F1088091120CD6 -:10B7A0009091130C01E0181619062CF08091140CDE -:10B7B000811101C000E080910E0290910F029195DD -:10B7C000819591098E159F053CF442EA5FE263EC96 -:10B7D0007FE280E00E942D9A002389F080910C0284 -:10B7E00090910D02919581959109E816F9063CF426 -:10B7F00045ED5FE266EF7FE280E00E942D9A809146 -:10B80000690990916A0901E0181619062CF08091D7 -:10B810006B09811101C000E0209163093091640936 -:10B820008091790990917A09821793073CF042EB55 -:10B830005FE263EC7FE28FEF0E942D9A002309F410 -:10B8400048C0209163093091640980910A02909167 -:10B850000B0228173907ECF145EE5FE266EF7FE255 -:10B860008FEF0E942D9A35C080917A0086FD2EC000 -:10B87000809178009091790020910A0C30910B0C06 -:10B88000820F931F90930B0C80930A0C22C088E0C8 -:10B8900080937B0086E480937C0080917A008064B2 -:10B8A00080937A0016C080917A0086FD11C0809145 -:10B8B0007800909179002091610930916209820F9E -:10B8C000931F909362098093610903C012E001C045 -:10B8D00014E0109359022091101430911114211585 -:10B8E000310509F43AC0F894909109019270809161 -:10B8F000080181708093060180910B0112161306D6 -:10B900000CF0809582708093090100000000000017 -:10B9100080910B01809588708093090184E08A955D -:10B920000000E9F780910B018870809309018091F4 -:10B930000B01911180958270809309017894809118 -:10B940001014909111141216130614F4019701C0EB -:10B9500001969093111480931014809136138823CC -:10B9600009F44DC0809157028E5F8F778093570204 -:10B97000811145C08CB185FB882780F9C82F80E0F4 -:10B98000D82F8091030181FDC2604A99C460009163 -:10B990004013109141130C271D270115110579F152 -:10B9A00000FF07C0BE01617077278DE190E30F941F -:10B9B000110A01FF08C06C2F6695617070E084E188 -:10B9C00090E30F94110A02FF08C0C2FB662760F9DA -:10B9D00070E08BE090E30F94110A88E090E30F94FD -:10B9E0004C0910913F13612F70E08DE00E94E4FF3D -:10B9F000109510933F13D0934113C09340130E94AE -:10BA00002EC58091A1109091A210009769F0019726 -:10BA10009093A2108093A110892B31F486E290E3D9 -:10BA200090939E0980939D09DF91CF911F910F9173 -:10BA3000FF90EF9008950F930FB70F9300916E0052 -:10BA40000B7F00936E0078940F930BB70F930CB796 -:10BA50000F921F922F933F934F935F936F937F9318 -:10BA60008F939F93AF93BF93EF93FF9311240E9403 -:10BA70003BDBFF91EF91BF91AF919F918F917F91B0 -:10BA80006F915F914F913F912F911F900F900CBF3D -:10BA90000F910BBF0F910460F89400936E000F910B -:10BAA0000FBF0F9118952F923F924F925F926F9216 -:10BAB0007F928F929F92AF92BF92CF92DF92EF923E -:10BAC000FF920F931F93CF93DF93CDB7DEB72997E4 -:10BAD0000FB6F894DEBF0FBECDBF1C017B836A8317 -:10BAE00029831F830E83FD82EC8227FD10C0022E66 -:10BAF000000C330B39872887398185E03802F00143 -:10BB00001124E15DFC4E84818823E1F008C080911E -:10BB10002E13882399F0E1E0F0E0F987E887F1013E -:10BB20001482E885F985EE0FFF1FEE0FFF1FE95C19 -:10BB3000FC4E10821182128213822EC021E030E06E -:10BB400039872887FA01C080D180E280F380088598 -:10BB50001985000F111F000F111F095C1C4EA70152 -:10BB60009601F80160817181828193810F94011E99 -:10BB7000882391F0F801C082D182E282F38211E041 -:10BB800020E030E0A901C701B6010F94572718162D -:10BB90000CF010E0F1011483F10184818230F9F09E -:10BBA000833009F401C1813009F023C1E885F985AA -:10BBB000EE0FFF1FEE0FFF1FE95CFC4E208131816D -:10BBC00042815381EA81FB8160817181828193810D -:10BBD0000F94011E87FD0DC182E0F10184838091E5 -:10BBE0005602882309F493C0F981F7FD90C08F2F86 -:10BBF000FF0F990B8C011816190614F401E010E0E0 -:10BC0000F801E950F44F2081222371F1EA81FB8190 -:10BC1000C080D180E280F380880F991F880F991F20 -:10BC2000FC01E95CFC4E80809180A280B3802C8175 -:10BC30003D81B90180E090E00F94061E2B013C018C -:10BC400020E030E040E85EE30F94671E9B01AC010A -:10BC5000C501B4010F94F6249B01AC01C701B601E4 -:10BC60000F94572787FD05C0F801EC5AFD4F80E877 -:10BC70001AC023E830EC4AEA5EE3C301B2010F9434 -:10BC8000671E9B01AC01C501B4010F94F6249B0112 -:10BC9000AC01C701B6010F9457270C5A1D4F87FD01 -:10BCA00004C080E6F801808332C020E030E040E04C -:10BCB0005FE3C301B2010F94671E9B01AC01C50194 -:10BCC000B4010F94F6249B01AC01C701B6010F9497 -:10BCD000572787FD02C080E4E5CF2DEC3CEC4CE417 -:10BCE0005FE3C301B2010F94671E9B01AC01C50164 -:10BCF000B4010F94F6249B01AC01C701B6010F9467 -:10BD0000572787FD02C080E2CDCFF8011082088559 -:10BD10001985000F111F000F111F9801295C3C4E5F -:10BD200039872887EC81FD81BF0180E090E00F9486 -:10BD3000061E9B01AC01E885F985608171818281D5 -:10BD400093810F94F6249B01AC01EA81FB81608111 -:10BD50007181828193810F94572787FD14C00F94BE -:10BD600006016B017C012E813F81A8EEB3E00F94A8 -:10BD7000AB24C60ED71EE81EF91EF101C082D18287 -:10BD8000E282F38236C00F940601F1010081118135 -:10BD900022813381DC01CB01801B910BA20BB30B01 -:10BDA000B7FD27C083E08483F981FF3F19F04BE69C -:10BDB0005FE202C04EE75FE262E97FE28981299695 -:10BDC0000FB6F894DEBF0FBECDBFDF91CF911F91AC -:10BDD0000F91FF90EF90DF90CF90BF90AF909F902A -:10BDE0008F907F906F905F904F903F902F900C942A -:10BDF0002D9A29960FB6F894DEBF0FBECDBFDF9106 -:10BE0000CF911F910F91FF90EF90DF90CF90BF9057 -:10BE1000AF909F908F907F906F905F904F903F90EA -:10BE20002F900895CF92DF92EF92FF92609169096F -:10BE300070916A0961157105C1F0C0906509D090D3 -:10BE40006609E0906709F090680966507109072E4D -:10BE5000000C880B990B0F94081E9B01AC01C701C5 -:10BE6000B6010F94011E87FD09C01092261310928F -:10BE7000271310922813109229131EC020E030E0DF -:10BE800040E050E4C701B6010F94F7240F946A26EE -:10BE900070932513609324130F940601DC01CB01EA -:10BEA000805E9044AD4FBF4F80932613909327132D -:10BEB000A0932813B0932913FF90EF90DF90CF90B9 -:10BEC0000895CF92DF92EF92FF926091120C7091E1 -:10BED000130C61157105C1F0C0900E0CD0900F0CC1 -:10BEE000E090100CF090110C66507109072E000CB8 -:10BEF000880B990B0F94081E9B01AC01C701B6017A -:10BF00000F94011E87FD09C0109220131092211377 -:10BF100010922213109223131EC020E030E040E064 -:10BF200050E4C701B6010F94F7240F946A2670936A -:10BF30001F1360931E130F940601DC01CB01805B7D -:10BF40009C43AF4FBF4F8093201390932113A09336 -:10BF50002213B0932313FF90EF90DF90CF900895BA -:10BF600020911202309113022F503109821793074A -:10BF70000CF49C013093130C2093120C80E00C9471 -:10BF800061DFCF93DF931092341380E090E00E9442 -:10BF9000B0DFC1E6D9E0198618860E9412DF80E082 -:10BFA00090E00E94B0DF1092140C2C98198618862D -:10BFB0001A8680910201807280930001DF91CF91F7 -:10BFC00008958F929F92AF92BF92CF92DF92EF929D -:10BFD000FF920F931F93CF93DF93F0E2FF2EE12C9C -:10BFE000AE2DB0E0BD016F0D711D759567956111A6 -:10BFF00003C0EDEEFEE206C06E1511F0F6120BC0A6 -:10C00000E9E6FFE265917491072E000C880B990B0D -:10C010000F94081E62C09B0121503109220F331F6B -:10C02000220F331FF901E551F14D05911491AB0138 -:10C03000440F551F440F551FFA01E551F14DC591AD -:10C04000D4918017910714F4F62ECCCFC817D907D6 -:10C0500014F4E62EC5CFF901E351F14DE590F490CB -:10C06000FA01E351F14DC590D490BC01601B710BF6 -:10C07000072E000C880B990B0F94081E4B015C01D6 -:10C08000B6016E197F09072E000C880B990B0F94CF -:10C09000081E9B01AC01C501B4010F94671E4B0142 -:10C0A0005C01C01BD10BBE01DD0F880B990B0F94F7 -:10C0B000081E9B01AC01C501B4010F94F1254B0191 -:10C0C0005C01B701FF0C880B990B0F94081E9B01B4 -:10C0D000AC01C501B4010F94F724DF91CF911F91FA -:10C0E0000F91FF90EF90DF90CF90BF90AF909F9017 -:10C0F0008F9008958F929F92AF92BF92CF92DF92CE -:10C10000EF92FF920F931F93CF93DF93C62F662377 -:10C1100081F00F94310A6C2F70E080E090E00E9473 -:10C120001E538DEC9EE20F944C0980E090E00F943A -:10C130002602F0E4FF2EE12CAE2DB0E0BD016F0D24 -:10C14000711D75956795611103C0EFECFDE206C0A6 -:10C150006E1511F0F6120BC0EBECFEE265917491D6 -:10C16000072E000C880B990B0F94081E62C09B01D0 -:10C1700021503109220F331F220F331FF901E353DE -:10C18000F24D05911491AB01440F551F440F551FFB -:10C19000FA01E353F24DC591D4918017910714F43D -:10C1A000F62ECCCFC817D90714F4E62EC5CFF90167 -:10C1B000E153F24DE590F490FA01E153F24DC59050 -:10C1C000D490BC01601B710B072E000C880B990BDF -:10C1D0000F94081E4B015C01B6016E197F09072EF2 -:10C1E000000C880B990B0F94081E9B01AC01C50134 -:10C1F000B4010F94671E4B015C01C01BD10BBE0143 -:10C20000DD0F880B990B0F94081E9B01AC01C50133 -:10C21000B4010F94F1254B015C01B701FF0C880BB1 -:10C22000990B0F94081E9B01AC01C501B4010F943A -:10C23000F724DF91CF911F910F91FF90EF90DF9046 -:10C24000CF90BF90AF909F908F900895CF93DF9342 -:10C25000CAE0DCE060E08A819B810E947AE06C8326 -:10C260007D838E839F83C1E6D9E08A819B810E9472 -:10C27000E1DF6C837D838E839F83A89510923513B5 -:10C28000DF91CF9108959F92AF92BF92CF92DF92AC -:10C29000EF92FF920F931F93CF93DF938DEDA82E14 -:10C2A00082E0B82E03EE13E1CDE0D8E193EFC92E82 -:10C2B00093E1D92E24ECE22E28E0F22E912CF50108 -:10C2C00081915F010E94EA93882309F10E946A9399 -:10C2D000F7012081211104C02091CD08222339F0DB -:10C2E000288139814A815B810F94F7240AC0F3E0E9 -:10C2F0009F1639F0F60120813181428153810F94DC -:10C30000F624F801608371838283938309C0888156 -:10C310009981AA81BB81F80180839183A283B38331 -:10C3200093940C5F1F4F2496F4E0CF0ED11C2FEF97 -:10C33000E21AF20A84E09812C2CF40E050E0BA015B -:10C3400086E40E94FCCF20E030E0A9010F9457273B -:10C35000181684F40E946A9320E030E040E752E42B -:10C360000F94F125609363027093640280936502D9 -:10C37000909366028091A31083FD28C080917B0971 -:10C38000882321F12091191830911A1840911B1817 -:10C3900050911C186091EF137091F0138091F1137C -:10C3A0009091F2130F94F624209188093091890915 -:10C3B00040918A0950918B090F94F7246093880962 -:10C3C0007093890980938A0990938B09DF91CF91AB -:10C3D0001F910F91FF90EF90DF90CF90BF90AF90A3 -:10C3E0009F900895CF9384E50E94EA93882301F1FA -:10C3F0000E944293C82F1816E4F40F94350A8DE476 -:10C400000E94AA526091641270916512072E000C6E -:10C41000880B990B0E941E536C2FCC0F770B88EA68 -:10C4200093E30F94110A8AE00E94AA528FEF01C091 -:10C4300080E0CF910895CF92DF92EF92FF92CF9359 -:10C44000DF93CDB7DEB7A0970FB6F894DEBF0FBE6F -:10C45000CDBF80E090E0A8E4B2E489839A83AB8307 -:10C46000BC8380E090E0A0E2B1E48D839E83AF8343 -:10C47000B88789879A87AB87BC870E94F2E187FDDE -:10C48000D4C00E94B77C882321F084EA93E30E9401 -:10C49000F1BB85E40E94A193882381F00E946A93F6 -:10C4A0006B017C0120E030E0A9010F94572787FF42 -:10C4B0000BC0F7FAF094F7F8F09406C0C12CD12C19 -:10C4C00080E8E82E80E4F82EF7FAF094F7F8F0947C -:10C4D000C98ADA8AEB8AFC8A8AE50E94EA93882371 -:10C4E00051F040E050E0BA018AE50E94FCCF698734 -:10C4F0007A878B879C8788E50E94EA93882351F08E -:10C5000040E050E0BA0188E50E94FCCF69837A835D -:10C510008B839C8389E50E94EA93882351F040E055 -:10C5200050E0BA0189E50E94FCCF6D837E838F8342 -:10C53000988785E50E94A193882329F00E946A9339 -:10C540006B017C0108C0C0906313D0906413E0902D -:10C550006513F090661320E030E0A901C701B60131 -:10C560000F94572787FF04C0F7FAF094F7F8F09478 -:10C57000F7FAF094F7F8F094CD8ADE8AEF8AF88E15 -:10C58000198E1A8E1B8E1C8E8CE40E94A193882318 -:10C5900029F00E946A936B017C0108C0C090671368 -:10C5A000D0906813E0906913F0906A1320E030E0B7 -:10C5B000A901C701B6010F94572787FF04C0F7FAF6 -:10C5C000F094F7F8F094CD8EDE8EEF8EF8A262E054 -:10C5D00070E082E40E9451A7F82E21E0AE014B5E8C -:10C5E0005F4FBE016F5F7F4FCE0141960E9409975A -:10C5F0008823D9F06F2D81E00E94E19480E090E0E3 -:10C60000A0EAB1E48D879E87AF87B88B8091230B1A -:10C61000882359F02F2DAE01435F5F4FBE01635E4B -:10C620007F4FCE0149960E948695A0960FB6F8944A -:10C63000DEBF0FBECDBFDF91CF91FF90EF90DF90B7 -:10C64000CF900895CF92DF92EF92FF92CF93DF9336 -:10C65000CDB7DEB76C970FB6F894DEBF0FBECDBF77 -:10C660008CE40E94A193882381F00E946A936B015D -:10C670007C0120E030E0A9010F94572787FF0BC011 -:10C68000F7FAF094F7F8F09406C0C12CD12C80E8AA -:10C69000E82E80E4F82EF7FAF094F7F8F094C98EBB -:10C6A000DA8EEB8EFC8E80E090E0A8E4B2E4898321 -:10C6B0009A83AB83BC8380E090E0A0E2B1E48D83F9 -:10C6C0009E83AF83B88789879A87AB87BC8788E5C5 -:10C6D0000E94EA938823A1F040E050E0BA0188E587 -:10C6E0000E94FCCF2091F3133091F4134091F51385 -:10C6F0005091F6130F94F62469837A838B839C837D -:10C7000089E50E94EA938823A1F040E050E0BA0155 -:10C7100089E50E94FCCF2091F3133091F4134091EE -:10C72000F5135091F6130F94F6246D837E838F8357 -:10C7300098878AE50E94EA93882351F040E050E010 -:10C74000BA018AE50E94FCCF69877A878B879C872C -:10C75000F0909817F2FAFF24F0F81D861E861F86C7 -:10C76000188A20E0AE01435F5F4FBE016F5F7F4FCD -:10C77000CE0149960E940997882329F1F11023C020 -:10C7800060E080E00E94E19480E090E0A0E8B0E406 -:10C790008D8B9E8BAF8BB88F198A1A8A1B8A1C8A45 -:10C7A0001D861E861F86188A8091230B882359F0C8 -:10C7B00020E0AE014B5E5F4FBE016F5E7F4FCE014A -:10C7C0000D960E9486956C960FB6F894DEBF0FBE4C -:10C7D000CDBFDF91CF91FF90EF90DF90CF90089584 -:10C7E0000F94350A84E993E30F944C0983E50E9482 -:10C7F000A193882321F00E94569380934D0280914B -:10C800004D02811103C086EF9CE002C08AEF9CE0DC -:10C810000F944C098CE893E30F944C092091F31387 -:10C820003091F4134091F5135091F6136091350255 -:10C830007091360280913702909138020F94F7245C -:10C84000AB01BC018AE893E30F94000A2091F7132F -:10C850003091F8134091F9135091FA1360913D0211 -:10C8600070913E0280913F02909140020F94F72414 -:10C87000AB01BC0187E893E30F94000A2091FB13FE -:10C880003091FC134091FD135091FE1360914502CD -:10C890007091460280914702909148020F94F724CC -:10C8A000AB01BC0184E893E30F94000A8CE793E3A7 -:10C8B0000F944C092091F3133091F4134091F51328 -:10C8C0005091F6136091390270913A0280913B02C7 -:10C8D00090913C020F94F724AB01BC018AE793E3EB -:10C8E0000F94000A2091F7133091F8134091F91337 -:10C8F0005091FA136091410270914202809143027B -:10C90000909144020F94F724AB01BC0187E793E3B5 -:10C910000F94000A2091FB133091FC134091FD13FA -:10C920005091FE136091490270914A0280914B022E -:10C9300090914C020F94F724AB01BC0184E793E380 -:10C940000F94000A8AE00C94AA52882319F00F94DD -:10C95000350A03C080E20E94AA524091B81050915B -:10C96000B9106091BA107091BB108DE693E30F94EB -:10C97000000A4091BC105091BD106091BE107091A2 -:10C98000BF108AE693E30F94000A4091C0105091C3 -:10C99000C1106091C2107091C31087E693E30F94A9 -:10C9A000000A4091C4105091C5106091C61070915A -:10C9B000C71084E693E30F94000A8AE00C94AA520D -:10C9C0002F923F924F925F926F927F928F929F929F -:10C9D000AF92BF92CF92DF92EF92FF920F931F938D -:10C9E000CF93DF9300D01F92CDB7DEB72DB63EB602 -:10C9F00084E50E94A193882309F441C060E089E4A2 -:10CA00000E94F793082F61E070E082E50E9451A731 -:10CA10006C0160E070E083E50E9451A7182F65E487 -:10CA200070E08CE40E9451A75C0164EF71E087E53F -:10CA30000E9451A72C01990F66087708812F90E07A -:10CA4000A816B906CCF01634A8F4011156C1812FEE -:10CA50000E941B50882309F450C125E837E041E0CB -:10CA600060E0812F0E94ABCA8AE00E94AA528AE04D -:10CA70000E94AA521F5FE2CF86E490E399C085E44A -:10CA80000E94A1938823B1F00E945693809336139D -:10CA900083E593E30F944C0980913613811103C011 -:10CAA00085E493E302C089E493E30F944C098CE49A -:10CAB00093E37EC083E50E94A193882309F47BC0A1 -:10CAC00060E080E50E9460A7082F10E0B8018BEEBF -:10CAD00092E30F94110AF801EE0FFF1FEE0FFF1FF4 -:10CAE000E35BFC4F608171818AED92E30F94F3095F -:10CAF0006AE570E089EC92E30F94F3098AE00E9402 -:10CB0000AA5263E170E085EB92E30F94110A8AE088 -:10CB10000E94AA5289E992E30F944C098DE490E3B4 -:10CB20000F944C098AE00E94AA5252985A9A84E8BB -:10CB300092E30F944C0954EF452E55245394612CE5 -:10CB4000712C49825A826B827C82BE016F5F7F4F5B -:10CB500080EA0E9447986EEE862E62E0962EA12C07 -:10CB6000B12C89829A82AB82BC82BE016F5F7F4FFB -:10CB70008AE50E9447987801EE0CFF1C4A990DC186 -:10CB800049825A826B827C82BE016F5F7F4F8CE349 -:10CB90000E9447984A99E3C000C18FEFE81AF80A4B -:10CBA00098E9E9169AE3F90609F046C183E590E3AE -:10CBB0000F944C09DAC160E070E080E50E9451A753 -:10CBC0008C01F82E80E50E94EA93811107C0E5E40C -:10CBD000E01708F4CAC195E4E92E01C0E02E60E038 -:10CBE00089E40E94F793582E60E087E50E94F7934E -:10CBF000882309F47FC08DB69EB686E393E30F9435 -:10CC00004C096801DD248E2D90E08C199D09019658 -:10CC10002DB73EB7281B390B0FB6F8943EBF0FBE99 -:10CC20002DBF8DB79EB701965C01E01660F006340B -:10CC300040F4511064C1802F0E941B50882309F4D6 -:10CC40005EC10F5FF2CF4090451283E080934512A2 -:10CC500081E0809346134DE153E366E273E382E0A3 -:10CC60000E94C6948DE093E30E94D2CF7F2CE714FC -:10CC700018F195E49715F0F0511005C0872D0E942A -:10CC80001B50811117C0872D0E9450FF682E072D61 -:10CC900010E00C191D090A0D1B1DF8018081681692 -:10CCA00049F02FEA35E040E0652D872D0E94ABCAA0 -:10CCB000F80160827394DBCF80914613882339F0AA -:10CCC00068EC70E080E090E00F941D09CFCF4092B7 -:10CCD00045120FB6F8949EBE0FBE8DBE46C1F5E458 -:10CCE000FF1538F02FEA35E041E0652D8F2D0E94C9 -:10CCF000ABCAF394EF1498F738C1A89520E937E050 -:10CD000041E0602F812F0E94ABCA61E0812F0E9419 -:10CD1000A8FFE12CF12CEC14FD040CF0A8CEA89592 -:10CD200060E0812F0E9479FFC301B2010F941D09B9 -:10CD3000A89561E0812F0E9479FFC301B2010F9491 -:10CD40001D09A89560E0812F0E9479FFC301B201FF -:10CD50000F941D09A8952FEFE21AF20ADCCF898201 -:10CD60009A82AB82BC82BE016F5F7F4F8AE00E94D5 -:10CD700047984A9912C089829A82AB82BC82BE01CE -:10CD80006F5F7F4F8AE50E9447988FE392E30F948D -:10CD90004C09CC24C394D12C36C086E292E30F9484 -:10CDA0004C0984E0B82EC701800F911F9C012C56BE -:10CDB0003A4E69016AE070E0C6010E94325164EFA8 -:10CDC00071E080E090E00F941D09A9B06AE570E081 -:10CDD000C6010E94325164EF71E080E090E00F9450 -:10CDE0001D0989B1BA94B110E5CF8470D82EA2FE86 -:10CDF0009CC086EF91E30F944C09DD2009F4A2C09A -:10CE0000C12CDD24D3940E0D1F1D0C561A4E6AE062 -:10CE100070E0C8010E94325164EF71E080E090E060 -:10CE20000F941D0982E191E30F944C09E12CF12C40 -:10CE300034EFA32EBB24B39462E070E080E090E076 -:10CE40000F941D09C701B5010F94C624892B51F415 -:10CE50000F94060160930C1470930D1480930E14BC -:10CE600090930F1489B182FB882780F98D1509F4FE -:10CE700094CEE12CF12C89B182FB882780F9D81659 -:10CE800069F062E070E080E090E00F941D098FEFA0 -:10CE9000E81AF80A9FE0E916F10469F784E091E3E3 -:10CEA0000F944C093FE0E316F10449F484EF90E35A -:10CEB0000F944C09CC20A9F088ED90E314C0B70181 -:10CEC000660F771F87EE90E30F94F3098AE00E94C4 -:10CED000AA5234E0E316F10408F044C08EE690E371 -:10CEE00006C088EC90E30F944C0989E990E30F9415 -:10CEF0004C096AE570E0C8010E94325136C062E018 -:10CF0000802F0E94A8FF61E070E080E090E00F9425 -:10CF1000CC00602E712C6C187D08802F0E9450FF71 -:10CF2000F501E60DF71D80838CCE882349F088ED4E -:10CF300091E30F944C096BE977E087E991E30AC02C -:10CF4000C12C61CF88ED91E30F944C0966EC77E03A -:10CF500087EB91E30F941E0A8AE00E94AA528CE3A9 -:10CF600091E326CE85EA90E3BECF0FB6F8943EBE9D -:10CF70000FBE2DBE0F900F900F900F90DF91CF91AD -:10CF80001F910F91FF90EF90DF90CF90BF90AF90E7 -:10CF90009F908F907F906F905F904F903F902F90D9 -:10CFA0000895CF92DF92EF92FF920F931F93CF934A -:10CFB000DF93CDB7DEB7CE5AD1090FB6F894DEBFF6 -:10CFC0000FBECDBFCF55DF4F188219821A821B8248 -:10CFD000C15AD0408091040890910508A09106089C -:10CFE000B0910708CB55DF4F88839983AA83BB8311 -:10CFF000C55AD040C755DF4F19821882C95AD04050 -:10D0000084E690E0C555DF4F99838883CB5AD040A2 -:10D01000109259139E0127553F4F44E050E0BE0146 -:10D020006B557F4FCE0185559F4F0E94AD50C55522 -:10D03000DF4F88819981CB5AD0400296C555DF4F8A -:10D0400099838883CB5AD040C755DF4F1982188205 -:10D05000C95AD04081E0C255DF4F8883CE5AD040B4 -:10D060009E0127553F4F41E050E0BE0162557F4F82 -:10D07000CE0185559F4F0E94AD509E0127553F4FD1 -:10D0800048E450E064EA70E1CE0185559F4F0E946C -:10D09000AD508E010F5F1F4F80E1F80111928A950C -:10D0A000E9F780E090E0A0EAB0E489839A83AB835B -:10D0B000BC839E0127553F4F40E150E0B801CE01AF -:10D0C00085559F4F0E94AD509E0127553F4F44E02C -:10D0D00050E06FED7BE0CE0185559F4F0E94AD5033 -:10D0E0009E0127553F4F4CE050E060E979E0CE01CA -:10D0F00085559F4F0E94AD509E0127553F4F41E0FF -:10D1000050E06AE272E0CE0185559F4F0E94AD501B -:10D110009E0127553F4F44E050E06BE572E0CE01A1 -:10D1200085559F4F0E94AD508091261890912718E9 -:10D13000A0912818B091291889839A83AB83BC8366 -:10D140009E0127553F4F44E050E0B801CE01855580 -:10D150009F4F0E94AD50CF55DF4F188219821A821F -:10D160001B82C15AD0407E01FDE6EF0EF11C83E028 -:10D17000F701808389839E0127553F4F44E050E0AB -:10D18000BE016F557F4FCE0185559F4F0E94AD5018 -:10D190009E0127553F4F41E050E0B701CE01855534 -:10D1A0009F4F0E94AD509E0127553F4F41E050E0F8 -:10D1B000B801CE0185559F4F0E94AD502AE0D22E76 -:10D1C000DA949E0127553F4F44E050E0DD2049F0BE -:10D1D000BE016F557F4FCE0185559F4F0E94AD50C8 -:10D1E000EFCF6FEF73E1CE0185559F4F0E94AD5099 -:10D1F0009E0127553F4F44E050E063E074E1CE01CB -:10D2000085559F4F0E94AD509E0127553F4F44E0EA -:10D2100050E067E074E1CE0185559F4F0E94AD500C -:10D22000CF55DF4F188219821A821B82C15AD04013 -:10D230009AE0D92EDA94DD2071F09E0127553F4FF8 -:10D2400044E050E0BE016F557F4FCE0185559F4FA2 -:10D250000E94AD50EFCF85E0F701808389839E0166 -:10D2600027553F4F41E050E0B701CE0185559F4F14 -:10D270000E94AD509E0127553F4F41E050E0B8015C -:10D28000CE0185559F4F0E94AD509E0127553F4FBF -:10D2900044E050E06FE573E1CE0185559F4F0E9459 -:10D2A000AD509E0127553F4F44E050E065E573E1E6 -:10D2B000CE0185559F4F0E94AD509E0127553F4F8F -:10D2C00044E650E06BE673E1CE0185559F4F0E9426 -:10D2D000AD50F70110828FEF89839E0127553F4F94 -:10D2E00041E050E0B701CE0185559F4F0E94AD50FF -:10D2F0009E0127553F4F41E050E0B801CE018555D2 -:10D300009F4F0E94AD509E0127553F4F44E050E093 -:10D310006DE473E0CE0185559F4F0E94AD509E0194 -:10D3200027553F4F41E050E064E573E1CE0185555C -:10D330009F4F0E94AD508091F1029091F202A09116 -:10D34000F302B091F402F70180839183A283B38347 -:10D350008091F5029091F602A091F702B091F80247 -:10D3600089839A83AB83BC83C356DF4F1882CD5920 -:10D37000D040C256DF4F1882CE59D0409E0127556B -:10D380003F4F44E050E0B701CE0185559F4F0E94CA -:10D39000AD509E0127553F4F44E050E0B801CE010B -:10D3A00085559F4F0E94AD509E0127553F4F42E04B -:10D3B00050E0BE0163567F4FCE0185559F4F0E94BE -:10D3C000AD5080E1F80111928A95E9F780E090E094 -:10D3D000A0E8BFE38D879E87AF87B88B8091150C3F -:10D3E0009091160CA091170CB091180C89839A8318 -:10D3F000AB83BC838091190C90911A0CA0911B0CEB -:10D40000B0911C0C8D839E83AF83B88780911D0CD7 -:10D4100090911E0CA0911F0CB091200C89879A87C7 -:10D42000AB87BC879E0127553F4F40E150E0B801D4 -:10D43000CE0185559F4F0E94AD5084E190E09A83C4 -:10D4400089839E0127553F4F42E050E0B801CE014D -:10D4500085559F4F0E94AD509E0127553F4F4CE090 -:10D4600050E06CE679E0CE0185559F4F0E94AD50AB -:10D470008FE790E09A8389839E0127553F4F42E0D2 -:10D4800050E0B801CE0185559F4F0E94AD5081E01C -:10D4900089839E0127553F4F41E050E0B801CE01FE -:10D4A00085559F4F0E94AD5080E2E9EFF2E0D80130 -:10D4B00001900D928A95E1F79E0127553F4F40E27A -:10D4C00050E0B801CE0185559F4F0E94AD50F70145 -:10D4D00010829E0127553F4F41E050E0B701CE0139 -:10D4E00085559F4F0E94AD509E0127553F4F41E00B -:10D4F00050E06DEF70E1CE0185559F4F0E94AD5019 -:10D500009E0127553F4F44E050E062E071E1CE01BB -:10D5100085559F4F0E94AD508AE1F80111928A957E -:10D52000E9F79E0127553F4F4AE150E0B801CE018F -:10D5300085559F4F0E94AD5084E3E9E1F3E0D801A7 -:10D5400001900D928A95E1F79E0127553F4F44E3E4 -:10D5500050E0B801CE0185559F4F0E94AD5088E044 -:10D56000F80111928A95E9F79E0127553F4F48E04F -:10D5700050E0B801CE0185559F4F0E94AD508DE01F -:10D58000F80111928A95E9F79E0127553F4F4DE02A -:10D5900050E0B801CE0185559F4F0E94AD50CF5548 -:10D5A000DF4F188219821A821B82C15AD0409E0115 -:10D5B00027553F4F44E050E0BE016F557F4FCE01ED -:10D5C00085559F4F0E94AD508CE0D82EF8018D2DCF -:10D5D00011928A95E9F79E0127553F4F4CE050E0A4 -:10D5E000B801CE0185559F4F0E94AD508CE6F801E1 -:10D5F00011928A95E9F79E0127553F4F4CE650E07E -:10D60000B801CE0185559F4F0E94AD509E01275510 -:10D610003F4F4CE050E068E473E1CE0185559F4FE9 -:10D620000E94AD509E0127553F4F48E050E063E611 -:10D6300073E1CE0185559F4F0E94AD50F7011192C5 -:10D64000DA94E9F7C355DF4F1882CD5AD04080E015 -:10D6500090E0A0E4B0E4C356DF4F88839983AA83A7 -:10D66000BB83CD59D0409E0127553F4F44E050E049 -:10D67000B701CE0185559F4F0E94AD509E012755A1 -:10D680003F4F44E050E0B7016C5F7F4FCE018555BE -:10D690009F4F0E94AD509E0127553F4F44E050E000 -:10D6A000B701685F7F4FCE0185559F4F0E94AD50F7 -:10D6B0009E0127553F4F41E050E0BE0163557F4F2B -:10D6C000CE0185559F4F0E94AD509E0127553F4F7B -:10D6D00044E050E0BE0163567F4FCE0185559F4F19 -:10D6E0000E94AD5080E3F70111928A95E9F780EF2F -:10D6F00097E00E94B5539E0127553F4F40E350E00D -:10D70000B701CE0185559F4F0E94AD50109159131E -:10D71000111156C0C555DF4FC880D980CB5AD040B3 -:10D72000F4E6CF1AD108C755DF4F88819981C95ACD -:10D73000D040F7019183808384E690E0C555DF4FA8 -:10D7400099838883CB5AD0409E0127553F4F44E0B0 -:10D7500050E061E873E0CE0185559F4F0E94AD50C7 -:10D760009E0127553F4F42E050E0B701CE0185555D -:10D770009F4F0E94AD500F94350AB60185E394E3A4 -:10D780000F94F309F7014081518160E070E088E275 -:10D7900094E30F94E20985E294E30F944C09FCECC6 -:10D7A000CF16F2E0DF0639F00F94310A87E494E3F4 -:10D7B0000F944C0911E080915913182B10935913B1 -:10D7C0008FEE96E00E94B5539091591381E089271E -:10D7D000C255DF4F0FB6F894DEBF0FBECDBFDF914D -:10D7E000CF911F910F91FF90EF90DF90CF90089510 -:10D7F000AF92BF92CF92DF92EF92FF921F93CF939F -:10D80000DF93CDB7DEB760970FB6F894DEBF0FBEDB -:10D81000CDBF80910D1890910E18A0910F18B09166 -:10D82000101889839A83AB83BC83809111189091DF -:10D830001218A0911318B09114188D839E83AF8392 -:10D84000B8878091151890911618A0911718B0916B -:10D85000181889879A87AB87BC878091191890918F -:10D860001A18A0911B18B0911C188D879E87AF873E -:10D87000B88B0E94F48B0E94CA8E89E1A82E84E3A3 -:10D88000B82E95E3E92E92E0F92E2DE0C22E24E386 -:10D89000D22E10E0812F0E9402BEF5018591959154 -:10D8A000A591B491F70180839183A283B383F6019C -:10D8B00085919591A591B491F70184839583A68371 -:10D8C000B7831F5FF4E0AF0EB11C88E0E80EF11CD7 -:10D8D000E4E0CE0ED11C1330E9F660915B13709139 -:10D8E0005C1380915D1390915E130F94D40D0F948F -:10D8F00008070E943B8C40E150E06DE078E1CE01EA -:10D9000001960F941628892B89F060960FB6F8942B -:10D91000DEBF0FBECDBFDF91CF911F91FF90EF9083 -:10D92000DF90CF90BF90AF900C947DC460960FB6FF -:10D93000F894DEBF0FBECDBFDF91CF911F91FF9056 -:10D94000EF90DF90CF90BF90AF9008950F931F930B -:10D9500080911811813019F40F94060108C060916C -:10D960001411709115118091161190911711009159 -:10D970000611109107112091081130910911601BB7 -:10D98000710B820B930B28EE33E040E050E00F94D4 -:10D99000572480910A1190910B11A0910C11B09114 -:10D9A0000D11BC01CD01620F731F841F951F1F91C4 -:10D9B0000F910895109218111092061110920711EC -:10D9C0001092081110920911109214111092151151 -:10D9D000109216111092171110920A1110920B1139 -:10D9E00010920C1110920D11089580911811813030 -:10D9F00099F588E098E00E94B55381E09AE590930C -:10DA00001D1680931C1687E590E090931F16809357 -:10DA10001E1687E08093101682E88093131684E820 -:10DA200090E0A0E0B0E08093141690931516A093B8 -:10DA30001616B09317160F94800182E08093181188 -:10DA40000F940601609314117093151180931611B1 -:10DA50009093171181E0089580E008958F929F922E -:10DA6000AF92BF92CF92DF92EF92FF920F931F93EC -:10DA7000CF93DF93CDB7DEB72C970FB6F894DEBF08 -:10DA80000FBECDBF8B0140E050E068E472E44D83EF -:10DA90005E836F83788740E050E060EA70E44987F6 -:10DAA0005A876B877C87813019F0823039F02AC021 -:10DAB000BE01675F7F4FC801089646C0F801208508 -:10DAC00031854285538560911518709116188091A3 -:10DAD0001718909118180F94F7246B017C0120E01F -:10DAE00030E04BEE53E40F94011E87FD06C0C12CBD -:10DAF000D12C8BEEE82E83E4F82EC982DA82EB82F9 -:10DB0000FC821DC08090151890901618A0901718D0 -:10DB1000B0901818F801C084D184E284F38496018F -:10DB2000A701B401C5010F94011E87FD02C0640165 -:10DB30007501C601D70189839A83AB83BC83BE017B -:10DB4000675F7F4FCE0101960E949FC2B8016C5F54 -:10DB50007F4FAE014B5F5F4FC8010E947DC20E94A4 -:10DB60007DC42C960FB6F894DEBF0FBECDBFDF91FB -:10DB7000CF911F910F91FF90EF90DF90CF90BF90CA -:10DB8000AF909F908F9008958091981782FF2AC040 -:10DB90000E9448D7882319F180919017909191178E -:10DBA000A0919217B09193170097A105B105B9F014 -:10DBB000BC01CD016D597F4F8F4F9F4F24E630E060 -:10DBC00040E050E00F94572460919417709195179E -:10DBD00080919617909197170F94572401C020E0D9 -:10DBE00020934713809147138F7708950F931F93C6 -:10DBF000CF93DF938C0167FF03C01092D70B60E0D7 -:10DC00008091D70B90E0262F062E000C330B28179F -:10DC1000390734F16093D70BC8010F944F1D800F63 -:10DC2000911FEC01C01BD10BC034D1053CF0019712 -:10DC3000FC012491207C2038D1F3F3CFDD27AE0105 -:10DC4000B80187E99BE00F94701DC956D44F188224 -:10DC500087E99BE0DF91CF911F910F910C948DCFBD -:10DC6000DF91CF911F910F9108951092461310925A -:10DC700014028091981780628093981761E084EE77 -:10DC800093E30E940C9440E050E069EF73E385E079 -:10DC90000E947F950E940A8B60E08BEE93E30C94C8 -:10DCA000F6EDCF93DF932091D70B211120C0FC011B -:10DCB00001900020E9F73197EF01C81BD90BC03460 -:10DCC000D1052CF02291207C2038E1F3F5CFBC0166 -:10DCD000DD27AE0187E99BE00F946A28C956D44F2F -:10DCE000188287E99BE0DF91CF910C948DCFDF9173 -:10DCF000CF9108958091981782FD05C080911811E9 -:10DD0000823069F411C08091351A882319F085E3B7 -:10DD10009AE102C087E79AE161E00C9451EE81300C -:10DD200031F48BEC93E305C087ED93E302C08BEBFA -:10DD300093E36FEF0C94F6EDFF920F931F93CF9345 -:10DD4000DF938B01D82FC92FF42E20E030E048EC70 -:10DD500052E40F94011E87FF0FC020E030E0A901BC -:10DD6000B8018D2F9C2F0F94572718164CF000E008 -:10DD700010E0D0E0C0E004C000E010E0D8ECC2E465 -:10DD800081E08F15E0F0B8018D2F9C2F0F94632652 -:10DD90009B01AC01AFEFB0E00F94982424E630E093 -:10DDA00040E050E00F947924EF2DF0E0E950F44F7B -:10DDB0002F3F310519F010F02FEF30E02083DF9175 -:10DDC000CF911F910F91FF900895EFE2F3E1108240 -:10DDD000118212821382148280E00C9461DF2F92F0 -:10DDE0003F924F925F926F927F928F929F92AF92EB -:10DDF000BF92CF92DF92EF92FF920F931F93CF9338 -:10DE0000DF93CDB7DEB7CE59D1090FB6F894DEBF98 -:10DE10000FBECDBF2DB63EB6CB56DF4F198218824E -:10DE2000C559D04084E690E0C956DF4F9983888376 -:10DE3000C759D04001E09E012B563F4F44E050E0CF -:10DE4000BE016F567F4FCE0189569F4F0E94705082 -:10DE50009E012B563F4F42E050E0BE0167567F4F78 -:10DE6000CE0189569F4F0E94705043E050E0BE01A2 -:10DE70006F567F4F81E893E00F945C28892B19F14E -:10DE8000CC56DF4F8881C459D040882359F08FE3A6 -:10DE9000CF56DF4F8883C159D040CE56DF4F18820E -:10DEA000C259D0400F94350ABE016F567F4F8FED97 -:10DEB00094E30F941E0A81ED94E30F944C0981E0E2 -:10DEC00080935913EEC5C357DF4F188219821A8207 -:10DED0001B82CD58D040CB56DF4F19821882C559CE -:10DEE000D04001E09E012B563F4F41E050E0BE0183 -:10DEF00064567F4FCE0189569F4F0E9470504DB699 -:10DF00005EB680E1E1E5F3E0DE01A358BF4F01908A -:10DF10000D928A95E1F780E1E1E6F3E0DE01A35995 -:10DF2000BF4F01900D928A95E1F780E1E1E7F3E0C0 -:10DF30009E012F5F3F4F7901D90101900D928A9583 -:10DF4000E1F7C456DF4F4881CC59D04050E04D5FD7 -:10DF50005F4F440F551F440F551F8DB79EB7841B4D -:10DF6000950B0FB6F8949EBF0FBE8DBFADB7BEB771 -:10DF700011965D0100915A1311E001272C563F4F75 -:10DF8000BD01CE0189569F4F0E94705000915A13D7 -:10DF900001279E012B563F4F44E050E064EB70E1B7 -:10DFA000CE0189569F4F0E947050C456DF4FC880E3 -:10DFB000CC59D040D12CB3E0CB0ED11CCC0CDD1C05 -:10DFC000CC0CDD1CEDB7FEB7EC19FD090FB6F894CB -:10DFD000FEBF0FBEEDBF2DB73EB72F5F3F4F4901CC -:10DFE0004DB75EB74C195D090FB6F8945EBF0FBE12 -:10DFF0004DBF8DB79EB701963C0100915A13012782 -:10E000009E012B563F4FA601B401CE0189569F4F6A -:10E010000E94705000915A1301279E012B563F4FCA -:10E02000A601B301CE0189569F4F0E947050009106 -:10E030005A13002309F44EC011E001279E012B560C -:10E040003F4F44E050E068ED70E1CE0189569F4FAC -:10E050000E94705000915A1301279E012B563F4F8A -:10E0600044E050E06CED70E1CE0189569F4F0E9474 -:10E07000705000915A1301279E012B563F4F44E0E8 -:10E0800050E060EE70E1CE0189569F4F0E947050C3 -:10E0900000915A1301279E012B563F4F44E050E058 -:10E0A00064EE70E1CE0189569F4F0E94705000913E -:10E0B0005A1301279E012B563F4F44E050E068EE73 -:10E0C00070E1CE0189569F4F0E94705015E0DD240B -:10E0D000D39489C0C456DF4F2881CC59D04030E05A -:10E0E0002E5F3F4FE4EAF0E1C356DF4FB982A882CA -:10E0F000CD59D04080E090E0B701281739073CF0B7 -:10E10000C356DF4FA881B981CD59D04012C0AC01B0 -:10E110008430910510F043E050E0440F551F440F48 -:10E12000551FBDE7CB2ED12CCC0EDD1E4C0D5D1D39 -:10E13000DA01AD90BD90CD90DC90A192B192C192E8 -:10E14000D1922817390714F0D40112C0AC018430E1 -:10E15000910510F043E050E0440F551F440F551F48 -:10E160001DE6C12ED12CCC0EDD1E4C0D5D1DDA013D -:10E17000AD90BD90CD90DC90A08AB18AC28AD38A3E -:10E180002817390714F0D3010DC0AC018430910574 -:10E1900010F043E050E0440F551F440F551F460F49 -:10E1A000571FDA01AD90BD90CD90DC90A0A2B1A236 -:10E1B000C2A2D3A20196B4E06B0E711C44E0840E9F -:10E1C000911CC356DF4FA881B981CD59D040149618 -:10E1D000C356DF4FB983A883CD59D0408430910511 -:10E1E00009F08BCF29CF115000915A13112379F0E8 -:10E1F0000D259E012B563F4F44E050E0BE01635772 -:10E200007F4FCE0189569F4F0E947050ECCF11E096 -:10E2100001279E012B563F4F44E050E06FED7BE01D -:10E22000CE0189569F4F0E9470500FB6F8945EBE83 -:10E230000FBE4DBE00915A1301279E012B563F4F32 -:10E240004CE050E060E979E0CE0189569F4F0E9492 -:10E25000705000915A1301279E012B563F4F41E009 -:10E2600050E06AE272E0CE0189569F4F0E947050E2 -:10E2700000915A1301279E012B563F4F44E050E076 -:10E28000BE016F5F7F4FCE0189569F4F0E94705035 -:10E2900000915A1301110CC089819A81AB81BC8114 -:10E2A00080935B0290935C02A0935D02B0935E0248 -:10E2B00011E001279E012B563F4F44E050E06BE5F3 -:10E2C00073E1CE0189569F4F0E94705000915A13FE -:10E2D00001279E012B563F4F44E050E0BE0163579B -:10E2E0007F4FCE0189569F4F0E94705001E09E01E2 -:10E2F0002B563F4F41E050E0BE0163597F4FCE01A6 -:10E3000089569F4F0E9470509E012B563F4F41E00F -:10E3100050E0BE016F5F7F4FCE0189569F4F0E9434 -:10E320007050AE96AFACAE978981A89E5001112473 -:10E33000C12CD12C00915A13CA14DB0491F001278F -:10E340009E012B563F4F44E050E0BE0163577F4F84 -:10E35000CE0189569F4F0E947050BFEFCB1ADB0A47 -:10E36000E9CF11E001279E012B563F4F44E050E0DA -:10E370006FEF73E1CE0189569F4F0E94705000915C -:10E380005A1301279E012B563F4F44E050E063E0B3 -:10E3900074E1CE0189569F4F0E94705000915A132C -:10E3A00001279E012B563F4F44E050E067E074E1A7 -:10E3B000CE0189569F4F0E9470501AE0DD24D394FD -:10E3C000115089F000915A130D259E012B563F4F95 -:10E3D00044E050E0BE0163577F4FCE0189569F4F06 -:10E3E0000E947050EDCF01E09E012B563F4F41E05F -:10E3F00050E0BE0165567F4FCE0189569F4F0E9467 -:10E4000070509E012B563F4F41E050E0BE016358D3 -:10E410007F4FCE0189569F4F0E947050C556DF4FE7 -:10E420008881CB59D04000915A138530C9F5EE96BA -:10E430008FADEE978530A1F5011103C080E00F94F8 -:10E44000C20600915A1311E001279E012B563F4F3F -:10E4500044E050E06FE573E1CE0189569F4F0E9482 -:10E46000705000915A1301279E012B563F4F44E0F4 -:10E4700050E065E573E1CE0189569F4F0E947050D0 -:10E4800000915A1301279E012B563F4F44E650E05E -:10E490006BE673E1CE0189569F4F0E94705043C0D6 -:10E4A00011E001279E012B563F4F44E050E0BE0192 -:10E4B00063597F4FCE0189569F4F0E947050009143 -:10E4C0005A1301279E012B563F4F44E050E0BE01F6 -:10E4D0006F5F7F4FCE0189569F4F0E947050C55687 -:10E4E000DF4FA880CB59D040EE968FADEE97A89E17 -:10E4F00050011124C12CD12CAC14BD04A1F0009109 -:10E500005A1301279E012B563F4F44E050E0BE01B5 -:10E5100063577F4FCE0189569F4F0E947050EFEF97 -:10E52000CE1ADE0AE9CF00915A1311E001279E01AD -:10E530002B563F4F41E050E0BE0163597F4FCE0163 -:10E5400089569F4F0E94705000915A1301279E01D7 -:10E550002B563F4F41E050E0B701CE0189569F4F07 -:10E560000E94705000915A1301279E012B563F4F75 -:10E5700044E050E0B701CE0189569F4F0E94705091 -:10E5800000915A1301279E012B563F4F41E050E066 -:10E5900064E573E1CE0189569F4F0E94705000914F -:10E5A0005A1301279E012B563F4F44E050E0BE0115 -:10E5B00063597F4FCE0189569F4F0E947050009142 -:10E5C0005A1301279E012B563F4F44E050E0B701FC -:10E5D000CE0189569F4F0E94705000915A13012717 -:10E5E0009E012B563F4F42E050E0BE0163587F4FE3 -:10E5F000CE0189569F4F0E94705000915A130127F7 -:10E600009E012B563F4F40E150E0B701CE018956A5 -:10E610009F4F0E94705000915A1301112EC08980A3 -:10E620009A80AB80BC8020E030E84BE355E4C50124 -:10E63000B4010F94011E882301F18092150C909271 -:10E64000160CA092170CB092180C8D819E81AF8190 -:10E65000B8858093190C90931A0CA0931B0CB0935F -:10E660001C0C89859A85AB85BC8580931D0C909385 -:10E670001E0CA0931F0CB093200C11E001279E01EB -:10E680002B563F4F42E050E0BE016F5F7F4FCE01FF -:10E6900089569F4F0E94705000915A1301279E0186 -:10E6A0002B563F4F4CE050E0BE016F5F7F4FCE01D5 -:10E6B00089569F4F0E94705000915A13011115C046 -:10E6C00020E030E84BE355E469817A818B819C81BD -:10E6D0000F94011E882349F08CE0FE013196ACE6D0 -:10E6E000B9E001900D928A95E1F711E001279E01B2 -:10E6F0002B563F4F42E050E0B701CE0189569F4F65 -:10E700000E94705000915A1301279E012B563F4FD3 -:10E7100041E050E0B701CE0189569F4F0E947050F2 -:10E7200000915A1301279E012B563F4F40E250E0C3 -:10E73000B701CE0189569F4F0E94705000915A1325 -:10E7400001279E012B563F4F41E050E0BE01635927 -:10E750007F4FCE0189569F4F0E94705000915A13EF -:10E7600001279E012B563F4F45E050E0B701CE01F7 -:10E7700089569F4F0E94705000915A1301110FC08B -:10E7800089818093FD108A819B81AC81BD818093BA -:10E79000021190930311A0930411B093051111E09D -:10E7A00001279E012B563F4F4AE150E0B701CE01B1 -:10E7B00089569F4F0E94705000915A1301279E0165 -:10E7C0002B563F4F44E350E0B701CE0189569F4F8F -:10E7D0000E94705000915A1301279E012B563F4F03 -:10E7E00048E050E0B701CE0189569F4F0E9470501B -:10E7F00000915A1301279E012B563F4F4DE050E0E8 -:10E80000B701CE0189569F4F0E94705000915A1354 -:10E8100001279E012B563F4F44E050E0B701CE0147 -:10E8200089569F4F0E94705000915A1301279E01F4 -:10E830002B563F4F4CE050E0B701CE0189569F4F19 -:10E840000E94705000915A1301279E012B563F4F92 -:10E850004CE650E0B701CE0189569F4F0E947050A0 -:10E8600019821A821B821C821D821E821F821886B8 -:10E8700019861A861B861C8600915A1301279E0151 -:10E880002B563F4F4CE050E0B701CE0189569F4FC9 -:10E890000E94705000915A1301279E012B563F4F42 -:10E8A00048E050E063E673E1CE0189569F4F0E9435 -:10E8B000705000915A1301279E012B563F4F44E0A0 -:10E8C00050E0B701CE0189569F4F0E9470500091D1 -:10E8D0005A1301279E012B563F4F44E050E0BE01E2 -:10E8E0006B5F7F4FCE0189569F4F0E947050009101 -:10E8F0005A1301279E012B563F4F44E050E0BE01C2 -:10E90000675F7F4FCE0189569F4F0E9470500091E4 -:10E910005A1301279E012B563F4F41E050E0BE01A4 -:10E9200063587F4FCE0189569F4F0E9470500091CF -:10E930005A1301279E012B563F4F44E050E0BE0181 -:10E9400063597F4FCE0189569F4F0E94705080E3DC -:10E95000D7011D928A95E9F700915A1301279E016C -:10E960002B563F4F40E350E0B701CE0189569F4FF1 -:10E970000E94705080915A13811104C08FE198E079 -:10E980000E94B553C956DF4F88819981C759D0403D -:10E990008033934041F00F94310A87E494E30F945D -:10E9A0004C0981E001C080E0809359138823C1F0B5 -:10E9B0000F94350AC956DF4F68817981C759D04015 -:10E9C0006456710989EC94E30F94110A6CEC72E0BF -:10E9D00081EC94E30F94F3098AE00E94AA5257C095 -:10E9E000CB56DF4F28813981C559D040C756DF4FFC -:10E9F00088819981C959D04028173907E1F081E011 -:10EA0000809359130F94310AC756DF4F688179817B -:10EA1000C959D04081EA94E30F94F309CB56DF4FF4 -:10EA200068817981C559D0408CE994E30F94F3094A -:10EA30008CE894E32AC080915A13811128C00F9466 -:10EA4000350A01E813E0F80181918F01882319F05C -:10EA50000E94AA52F8CFC956DF4F68817981C75901 -:10EA6000D040645671098FE694E30F94110ACB5697 -:10EA7000DF4F48815981C559D04060E070E082E69F -:10EA800094E30F94E2098FE594E30F944C0980918D -:10EA90005A13811106C080915913811102C00E943E -:10EAA000F8EB80915A13811102C00E94CAF690912E -:10EAB000591381E089270FB6F8943EBE0FBE2DBED4 -:10EAC000C256DF4F0FB6F894DEBF0FBECDBFDF9149 -:10EAD000CF911F910F91FF90EF90DF90CF90BF905B -:10EAE000AF909F908F907F906F905F904F903F90EE -:10EAF0002F9008958091210B882319F01092210BFB -:10EB0000089589EF97E30F942602A4EAB0E120E08C -:10EB100030E0C9012430310510F083E090E0880F27 -:10EB2000991F880F991FFC01E059FA4C45915591A6 -:10EB30006591749154964D935D936D937C93579723 -:10EB4000FC01E05AFA4C4591559165917491949667 -:10EB50004D935D936D937C939797FC01E05BFA4C2A -:10EB600045915591659174914D935D936D937D930E -:10EB70002F5F3F4F2430310509F0CBCF80E29EE478 -:10EB8000A0E0B0E08093B4109093B510A093B610BD -:10EB9000B093B71080E090E0A8ECB3E48093D81075 -:10EBA0009093D910A093DA10B093DB1080E090E03E -:10EBB000AAE7B4E48093DC109093DD10A093DE10FC -:10EBC000B093DF1080E090E0A6E9B3E48093E0101A -:10EBD0009093E110A093E210B093E3101092E41030 -:10EBE0001092E5101092E6101092E7101092E810C3 -:10EBF0001092E9101092EA101092EB108AE097ED53 -:10EC0000A3EABDE38093DF0B9093E00BA093E10BAD -:10EC1000B093E20B8CE0E0E9F9E0DF011D928A9508 -:10EC2000E9F781E080932A0210925F090E94405028 -:10EC300080E090E0A0EAB0E480935B0290935C02F5 -:10EC4000A0935D02B0935E0282E398E00E94B55308 -:10EC500010925B1310925C1310925D1310925E136E -:10EC60000E949D9980E090E0A8EDB1EC8093FF13A5 -:10EC700090930014A0930114B09302141092031403 -:10EC80001092041410920514109206141092071496 -:10EC9000109208141092091410920A1480E090E067 -:10ECA000AAECB1E48093150C9093160CA093170C6A -:10ECB000B093180C85E698E0A6EBBEE38093190CA0 -:10ECC00090931A0CA0931B0CB0931C0C81E09FE155 -:10ECD000A0EEB3E480931D0C90931E0CA0931F0C28 -:10ECE000B093200C83EC95E9ACE2B4E480936C091A -:10ECF00090936D09A0936E09B0936F0980E29BE138 -:10ED0000A2E9B1E48093700990937109A09372090C -:10ED1000B093730987EF9CEDABECB5E48093740975 -:10ED200090937509A0937609B09377091092FD101E -:10ED300080E090E0A0EEBFE3809302119093031176 -:10ED4000A0930411B093051110928D0910928C09B3 -:10ED50000E94F2C580E090E0A7EDB3E480936313D6 -:10ED600090936413A0936513B09366138093671315 -:10ED700090936813A0936913B0936A130E94F8EB01 -:10ED80000F94350A8DE295E30F944C0982E398E0E5 -:10ED90000C94B5538F929F92AF92BF92CF92DF9215 -:10EDA000EF92FF920F931F93CF93C82F811102C050 -:10EDB0000F94350A82EE97E30F944C098CED97E39C -:10EDC0000F944C098AE00E94AA528AE00E94AA523B -:10EDD000C11114C00F94350A89EC97E30F944C09C4 -:10EDE0008091FD10882321F08AE00E94AA5204C07D -:10EDF0008EEB97E30F944C090F94350A4091021162 -:10EE000050910311609104117091051185EB97E306 -:10EE10000F94000A8AE00E94AA528091FD1081118D -:10EE200008C0C11102C00F94350A8AEA97E30F9413 -:10EE30004C09C11106C00F94350A89E997E30F9474 -:10EE40004C096FEF81E08C270E94A5E4C11108C036 -:10EE50000F94350A8BE797E30F944C090F94350A0A -:10EE60004091C8105091C9106091CA107091CB1098 -:10EE700082E797E30F94000A4091CC105091CD1097 -:10EE80006091CE107091CF108FE697E30F94000A37 -:10EE90004091D0105091D1106091D2107091D31048 -:10EEA0008CE697E30F94000A4091D4105091D5104E -:10EEB0006091D6107091D71089E697E30F94000AFD -:10EEC0008AE00E94AA52C11108C00F94350A87E453 -:10EED00097E30F944C090F94350A6091A410709138 -:10EEE000A5108091A6109091A7100F94061EAB015B -:10EEF000BC018EE397E30F94000A6091A810709113 -:10EF0000A9108091AA109091AB100F94061EAB012E -:10EF1000BC018BE397E30F94000A6091AC107091F1 -:10EF2000AD108091AE109091AF100F94061EAB0102 -:10EF3000BC0188E397E30F94000A6091B0107091D0 -:10EF4000B1108091B2109091B3100F94061EAB01D6 -:10EF5000BC0185E397E30F94000A8AE00E94AA525D -:10EF6000C11108C00F94350A8BEE96E30F944C093B -:10EF70000F94350A4091D8105091D9106091DA1051 -:10EF80007091DB1082EE96E30F94000A4091DC1042 -:10EF90005091DD106091DE107091DF108FED96E3DF -:10EFA0000F94000A4091E0105091E1106091E2103E -:10EFB0007091E3108CED96E30F94000A8AE00E94B2 -:10EFC000AA52C1110FC00F94350A84E996E30F9439 -:10EFD0004C0987E896E30F944C098AE00E94AA52F4 -:10EFE0000F94350A6091B4107091B5108091B610ED -:10EFF0009091B7100F94061EAB01BC018EE796E30B -:10F000000F94000A4091E4105091E5106091E610D1 -:10F010007091E7108BE796E30F94000A4091E81097 -:10F020005091E9106091EA107091EB1088E796E337 -:10F030000F94000A4091DF0B5091E00B6091E10BBF -:10F040007091E20B85E796E30F94000A8AE00E9434 -:10F05000AA52C11108C00F94350A87E696E30F94AF -:10F060004C090F94350A4091900950919109609193 -:10F070009209709193098EE596E30F94000A4091EE -:10F0800094095091950960919609709197098BE5C3 -:10F0900096E30F94000A4091980950919909609164 -:10F0A0009A0970919B0988E596E30F94000A8AE01B -:10F0B0000E94AA52C11108C00F94350A84E496E355 -:10F0C0000F944C090F94350A6091251870E08BE37A -:10F0D00096E30F94110A40912618509127186091D9 -:10F0E00028187091291888E396E30F94000A8AE0A3 -:10F0F0000E94AA5280915F1390916013892B09F4AA -:10F1000043C09BE6C92E93E1D92E00E010E0E12C2C -:10F11000F12CA12CB12CC11102C00F94350AB501FC -:10F120008EE296E30F94110AB8018BE296E30F94F6 -:10F13000110A85E4882E88E0982EF40181914F0110 -:10F14000882319F00E94AA52F8CFF601EE0DFF1D98 -:10F15000608171818281938145E00E943A538AE007 -:10F160000E94AA52FFEFAF1ABF0A84E1E80EF11C19 -:10F17000E4E6EE16F10479F60F5F1F4FF4E0CF0ED0 -:10F18000D11C0530110519F6C11108C00F94350ABC -:10F190008CE196E30F944C090F94350A4091150CBD -:10F1A0005091160C6091170C7091180C83E196E346 -:10F1B0000F94000A2CEA35EC47E25EE36091190CEB -:10F1C00070911A0C80911B0C90911C0C0F94F125DE -:10F1D000AB01BC0180E196E30F94000A2CEA35EC08 -:10F1E00047E25EE360911D0C70911E0C80911F0C34 -:10F1F0009091200C0F94671EAB01BC018DE096E34B -:10F200000F94000A8AE00E94AA52C11102C00F9412 -:10F21000350A40916C0950916D0960916E097091A9 -:10F220006F0984E096E30F94000A2CEA35EC47E27C -:10F230005EE36091700970917109809172099091FB -:10F2400073090F94F125AB01BC0181E096E30F94A3 -:10F25000000A2CEA35EC47E25EE360917409709194 -:10F26000750980917609909177090F94671EAB011B -:10F27000BC018EEF95E30F94000A8AE00E94AA5227 -:10F28000C11110C00F94350A8FEE95E30F944C090D -:10F290008CED97E30F944C0980E895E30F944C09AB -:10F2A0000F94350A4091FF1350910014609101149E -:10F2B0007091021486EE95E30F94000A8AE00E9492 -:10F2C000AA52409103145091041460910514709156 -:10F2D00006148DED95E30F94000A8AE00E94AA526D -:10F2E00040910714509108146091091470910A1408 -:10F2F00084ED95E30F94000A8AE00E94AA52C1119E -:10F3000008C00F94350A85EB95E30F944C090F94D0 -:10F31000350A83E895E30F944C09409167135091A7 -:10F3200068136091691370916A1383EB95E30F94EE -:10F33000000A4091631350916413609165137091BA -:10F34000661380EB95E30F94000A8AE00E94AA52AC -:10F35000C11108C00F94350A87E995E30F944C0951 -:10F360000F94350A60912A0270E08EE895E30F94BD -:10F37000110A40915B0250915C0260915D027091B4 -:10F380005E028BE895E30F94000A8AE0CF911F910B -:10F390000F91FF90EF90DF90CF90BF90AF909F9034 -:10F3A0008F900C94AA528F929F92AF92BF92CF925D -:10F3B000DF92EF92FF920F931F93CF93DF9381E041 -:10F3C00080935A130E94EFEE10925A13882309F487 -:10F3D000DFC00E94EFEED82E88E498E00E94B5537B -:10F3E00080915F1390916013892B09F47BC0EE2408 -:10F3F000E394F12C00E010E0D1E035E0C32EC0E052 -:10F40000BB24B39445E0A42E55E0952E62E8862EE9 -:10F41000EB24CC16D1F18F2D90E04897A4F5F3940E -:10F42000F801AC9EE00DF11D1124EE0FFF1FEE0F51 -:10F43000FF1FE559FC4E20E030E04AE754E46081CC -:10F440007181828193810F94671E0F94632670935C -:10F450001D1660931C1690921016809213164F2D55 -:10F4600050E04158574F440F551F052E000C660BB6 -:10F47000770B4093141650931516609316167093DD -:10F4800017160F948001CD0FC4CF0F5F1F4F0530AB -:10F49000110561F0E11005C0DFEFCC24CA94C4E08F -:10F4A000B7CFD1E025E0C22EC0E0B2CF83E090E03C -:10F4B00090931D1680931C1685E08093101682E8A9 -:10F4C0008093131685E490E1A0E0B0E080931416D9 -:10F4D00090931516A0931616B09317160F948001EB -:10F4E00081E01BC082E090E090931D1680931C1673 -:10F4F00085E08093101682E88093131685E490E1EE -:10F50000A0E0B0E08093141690931516A093161601 -:10F51000B09317160F94800180E00F94C2064091BB -:10F520000714509108146091091470910A1480E036 -:10F5300095E30F94000A8AE00E94AA5220E030E08E -:10F5400048EC52E4609107147091081480910914FA -:10F5500090910A140F94671E0F94632670931D16E2 -:10F5600060931C1685E08093101682E88093131632 -:10F5700086E290E1A0E0B0E0809314169093151617 -:10F58000A0931616B09317160F9480018D2D0BC003 -:10F590000E9485F50E94D1E70F94350A89E195E331 -:10F5A0000F944C0980E0DF91CF911F910F91FF9054 -:10F5B000EF90DF90CF90BF90AF909F908F90089585 -:10F5C00090E0FC013197E231F10508F04EC0882748 -:10F5D000ED52FF4F8F4F0D94EE24809180008F7776 -:10F5E00003C0809180008F7D80938000089580917A -:10F5F0008000877FF9CF84B58F7702C084B58F7D77 -:10F6000084BD08958091B0008F7703C08091B000D1 -:10F610008F7D8093B0000895809190008F7707C010 -:10F62000809190008F7D03C080919000877F8093B0 -:10F63000900008958091A0008F7707C08091A0006E -:10F640008F7D03C08091A000877F8093A0000895E4 -:10F65000809120018F7707C0809120018F7D03C0AA -:10F6600080912001877F8093200108953FB7F8940F -:10F670008091D3139091D413A091D513B091D61348 -:10F6800026B5A89B05C02F3F19F00196A11DB11DFD -:10F690003FBFBA2FA92F982F8827820F911DA11D38 -:10F6A000B11DBC01CD0142E0660F771F881F991F75 -:10F6B0004A95D1F708952F923F924F925F926F92A1 -:10F6C0007F928F929F92AF92BF92CF92DF92EF92F2 -:10F6D000FF920F931F93CF93DF93CDB7DEB7609761 -:10F6E0000FB6F894DEBF0FBECDBF9A8789877C879F -:10F6F0006B87342E222E0E941CA6882309F493C106 -:10F70000E985FA856081718182819381EB85FC8531 -:10F71000C080D180E280F3802091FF1330910014EB -:10F7200040910114509102140F94F6244B015C0196 -:10F730002091031430910414409105145091061443 -:10F74000C701B6010F94F6249B01AC01E090151897 -:10F75000F090161800911718109118184090630235 -:10F7600050906402609065027090660280915F0222 -:10F7700090916002A0916102B09162028093630255 -:10F7800090936402A0936502B093660219821A8274 -:10F790001B821C82CE0101966C01C501B4010E943E -:10F7A000BCC181E00E94B9898111C4C08091141448 -:10F7B00082FF11C020910714309108144091091460 -:10F7C00050910A1460E070E080E490EC0F94F6240D -:10F7D0004B015C0106C0812C912C30E2A32E31EC50 -:10F7E000B32E20E030E040E850E4C501B4010E94AF -:10F7F0002889882329F060E070E080EC9FE753C0FF -:10F80000C0901518D0901618E0901718F09018189E -:10F8100080E090E0A0E8B0E489839A83AB83BC8366 -:10F8200020E030E040EA50E4C701B6010F94F7242D -:10F830006D837E838F839887BE016F5F7F4FCE017C -:10F8400005960E949FC220E030E040E050E4C501F0 -:10F85000B4010E9428898111CECF20E030E040E43D -:10F8600050E46091151870911618809117189091B6 -:10F8700018180F94671E6D877E878F87988BA70156 -:10F880009601C701B6010F94F7249B01AC016D8569 -:10F890007E858F8598890F94F7242DEC3CEC4CE401 -:10F8A0005EE30F94671E2091071430910814409175 -:10F8B000091450910A140F94F7246B018C018EEFF8 -:10F8C000830D823050F580E090E0A0E8B0E48983B9 -:10F8D0009A83AB83BC836091151870911618809140 -:10F8E000171890911818E3E03E1629F020E030E058 -:10F8F00040EA50E404C020E030E048EC51E40F94CA -:10F90000F7246D837E838F839887BE016F5F7F4F5F -:10F91000CE0105960E949FC208C0F1E03F1205C0CB -:10F9200080E00E94B989811105C022E0221508F00B -:10F930005BC008C0F2E0F21508F07AC0C12CD12CEF -:10F9400000EC1FE725E6E22E28E0F22EF701819178 -:10F950007F01882319F00E94AA52F8CF2091F31357 -:10F960003091F4134091F5135091F613E985FA851F -:10F9700060817181828193810F94F72443E00E941A -:10F980003A539DE6E92E98E0F92EF70181917F0127 -:10F99000882319F00E94AA52F8CF2091F7133091D2 -:10F9A000F8134091F9135091FA13EB85FC856081AF -:10F9B0007181828193810F94F72443E00E943A532E -:10F9C00082E7E82E88E0F82EF70181917F018823F5 -:10F9D00019F00E94AA52F8CF43E0B601C8010E9474 -:10F9E0003A538AE00E94AA52409263025092640203 -:10F9F00060926502709266029601A801B601C80184 -:10FA00000F94E927882309F180E00E94B98960E01A -:10FA100087E399E30E94F6ED0F94310A87E299E3B8 -:10FA20000F944C0912C0C12CD12C00EC1FE70DC063 -:10FA30004092630250926402609265027092660284 -:10FA4000C12CD12C00EC1FE7DFCFB601C8016096B6 -:10FA50000FB6F894DEBF0FBECDBFDF91CF911F91DF -:10FA60000F91FF90EF90DF90CF90BF90AF909F905D -:10FA70008F907F906F905F904F903F902F90089560 -:10FA800083EB94E10E94776783EB94E10E94AA677D -:10FA9000809198178D7F8E7F80939817109294177E -:10FAA00010929517109296171092971781E08093F5 -:10FAB0007E160895CF93DF9300D01F92CDB7DEB7A7 -:10FAC00080910B1481111BC081E080930B148091F5 -:10FAD000DF139091E013A091E113B091E213B058BD -:10FAE00089839A83AB83BC839E012F5F3F4F4BEE8C -:10FAF00053E167EE73E183EE93E10E9417A90F9043 -:10FB00000F900F900F90DF91CF910895CF93DF93D7 -:10FB100000D01F92CDB7DEB780910B148823F9F087 -:10FB20002AE939E949E95FE36091DF137091E01355 -:10FB30008091E1139091E2130F94671E69837A8399 -:10FB40008B839C839E012F5F3F4F4BEE53E167EE0B -:10FB500073E183EE93E10E9417A910920B140F90AA -:10FB60000F900F900F90DF91CF9108952F923F92B9 -:10FB70004F925F926F927F928F929F92AF92BF92BD -:10FB8000CF92DF92EF92FF920F931F93CF93DF9369 -:10FB9000CDB7DEB7A0970FB6F894DEBF0FBECDBFCE -:10FBA0001C018B015A8749873C872B87C0900D1811 -:10FBB000D0900E18E0900F18F0901018DC018D9185 -:10FBC0009D910D90BC91A02D8D879E87AF87B88B9E -:10FBD0009C01AD01C701B6010F94F6242B013C0135 -:10FBE0008091111890911218A0911318B0911418C7 -:10FBF000898B9A8BAB8BBC8BD8018D919D910D908D -:10FC0000BC91A02D8D8B9E8BAF8BB88F9C01AD01CD -:10FC100069897A898B899C890F94F6244B015C0150 -:10FC2000A3019201C301B2010F94671E2B013C0195 -:10FC3000A5019401C501B4010F94671E9B01AC019D -:10FC4000C301B2010F94F724698F7A8F8B8F9C8F39 -:10FC5000E985FA854080518062807380A30192011A -:10FC6000C701B6010F94F6246D8F7E8F8F8F98A3F6 -:10FC7000AB85BC858D909D90AD90BC90A501940105 -:10FC800069897A898B899C890F94F6246B017C01A0 -:10FC90002D853E854F855889C301B2010F94F62406 -:10FCA0002B013C012D893E894F89588DC501B40136 -:10FCB0000F94F6244B015C01A3019201C301B20130 -:10FCC0000F94671E2B013C01A5019401C501B401ED -:10FCD0000F94671E9B01AC01C301B2010F94F7247E -:10FCE0000F94A5274B015C012D8D3E8D4F8D58A1A2 -:10FCF000CA01B9010F94671E2B013C01A7019601AF -:10FD0000C701B6010F94671E9B01AC01C301B2018C -:10FD10000F94F7249B01AC01698D7A8D8B8D9C8D9E -:10FD20000F945727181604F520E030E0A901C5010B -:10FD3000B4010F94572787FF04C0C501B401905840 -:10FD400002C0C501B40120E030E040EA50E40F9465 -:10FD5000572718164CF49801A1016B857C8589857D -:10FD60009A850E94B6FD83C020E030E040E050E478 -:10FD7000698D7A8D8B8D9C8D0F94572718160CF0FA -:10FD800044C00E945AFD19821A821B821C8220E004 -:10FD900030E040E05FE36091151870911618809193 -:10FDA0001718909118180F94F7246D837E838F8312 -:10FDB00098879E012F5F3F4FAE014B5F5F4F61E120 -:10FDC00078E18DE098E10E9417A919821A821B82BE -:10FDD0001C8220E030E040E05FE36091D713709137 -:10FDE000D8138091D9139091DA130F94F7246D836F -:10FDF0007E838F8398879E012F5F3F4FAE014B5FBD -:10FE00005F4FB801C1010E9417A919821A821B8293 -:10FE10001C829E012F5F3F4F47ED53E1B801C101A6 -:10FE20000E9417A92DEC3CEC4CEC5CE3C501B4013D -:10FE30000F94671E9B01AC016091DB137091DC1382 -:10FE40008091DD139091DE130F94671E69837A838E -:10FE50008B839C830E9486FD9E012F5F3F4F47ED61 -:10FE600053E16B857C8589859A850E9417A9A096A8 -:10FE70000FB6F894DEBF0FBECDBFDF91CF911F91BB -:10FE80000F91FF90EF90DF90CF90BF90AF909F9039 -:10FE90008F907F906F905F904F903F902F9008953C -:10FEA000CF93DF93282F30E0F901EF51F74C849185 -:10FEB000F901E556F74CD491F901EB5AF74CC4918E -:10FEC000CC2391F081110E94E0FAEC2FF0E0EE0FCC -:10FED000FF1FE55CF74CA591B491EC91ED2381E017 -:10FEE00090E021F480E002C080E090E0DF91CF91CB -:10FEF00008951F93CF93DF93282F30E0F901EF513E -:10FF0000F74C8491F901E556F74CD491F901EB5A7D -:10FF1000F74CC491CC23C1F0162F81110E94E0FA56 -:10FF2000EC2FF0E0EE0FFF1FEF5DF74CA591B491C1 -:10FF30009FB7F894111104C08C91D095D82302C0BA -:10FF4000EC91DE2BDC939FBFDF91CF911F91089541 -:10FF5000CF93DF9390E0FC01E556F74C2491FC0130 -:10FF6000EB5AF74C8491882361F190E0880F991F38 -:10FF7000FC01E95FF74CC591D491FC01EF5DF74CB2 -:10FF8000A591B491611109C09FB7F894888120951B -:10FF900082238883EC912E230BC0623061F49FB7DB -:10FFA000F8948881322F309583238883EC912E2B0F -:10FFB0002C939FBF06C08FB7F894E8812E2B28831F -:10FFC0008FBFDF91CF9108951F93CF93DF93182FA9 -:10FFD000EB0161E00E94A8FF209711F460E004C0EB -:10FFE000CF3FD10539F461E0812FDF91CF911F918F -:10FFF0000C9479FFE12FF0E0EF51F74CE4918E2F54 -:020000022000DC -:1000000090E0FC013197E231F10508F09DC08827AE -:10001000EB51FF4F8F4F0D94EE2484B5806884BD63 -:10002000C7BD97C084B5806284BDC8BD92C08091B1 -:100030008000806880938000D0938900C0938800FE -:1000400088C080918000806280938000D0938B0074 -:10005000C0938A007EC08091800088608093800079 -:10006000D0938D00C0938C0074C08091B0008068E4 -:100070008093B000C093B3006CC08091B0008062E8 -:100080008093B000C093B40064C0809190008068F9 -:1000900080939000D0939900C09398005AC08091AB -:1000A0009000806280939000D0939B00C0939A0050 -:1000B00050C080919000886080939000D0939D0004 -:1000C000C0939C0046C08091A00080688093A000EF -:1000D0008091A0008F7B8093A000D093A900C09353 -:1000E000A80037C08091A00080628093A000D093C8 -:1000F000AB00C093AA002DC08091A00088608093BF -:10010000A000D093AD00C093AC0023C0809120012B -:10011000806880932001D0932901C093280119C0E1 -:1001200080912001806280932001D0932B01C093A5 -:100130002A010FC080912001886080932001D09314 -:100140002D01C0932C0105C0C038D1050CF04BCF58 -:1001500045CFDF91CF911F910895863308F08653E4 -:1001600090917B00282F2870977F922B90937B0093 -:100170008770806480937C0080917A008064809393 -:100180007A0080917A0086FDFCCF809178002091E2 -:10019000790090E0922B08958F929F92AF92BF9238 -:1001A000CF92DF92EF92FF926B017C010E9436FBAF -:1001B0004B015C01C114D104E104F104F1F00E948F -:1001C00036FBDC01CB0188199909AA09BB09883ED5 -:1001D0009340A105B10570F321E0C21AD108E108EE -:1001E000F10888EE880E83E0981EA11CB11CC11492 -:1001F000D104E104F10419F7DDCFFF90EF90DF9017 -:10020000CF90BF90AF909F908F9008952FB7F894A4 -:100210006091CF137091D0138091D1139091D2132C -:100220002FBF089584E08A950000E9F70895FC0146 -:10023000DB018C9120813181382798E0A901440F9E -:10024000551F37FD06C09A019150C1F731832083B5 -:1002500008959A01B1E22B27B0E13B27F5CFEF9249 -:10026000FF920F931F93CF93DF93FC010190002027 -:10027000E9F731979F01281B390B12161306CCF5AD -:100280006AE56093601665EA6093611663E0620F49 -:100290006093621662E8609363165093641640930D -:1002A0006516FC01A6E6B6E1820F931F41914D93BE -:1002B000E817F907D9F780E6E82E86E1F82E00E086 -:1002C00010E0E9012596C017D10764F0D7016D91C0 -:1002D0007D0186E194E10E94585C0F9412010F5F4A -:1002E0001F4FF1CF8AE1E0E6F6E1DF011D928A952A -:1002F000E9F7DF91CF911F910F91FF90EF90089553 -:100300000F931F93CF93DF93209111162A3509F095 -:1003100098C090911216953A09F093C080911016EA -:10032000833008F48EC020936016909361168093FA -:10033000621690911316909363169038B1F49091D1 -:10034000141690936416ECE1F6E1A5E6B6E120E020 -:1003500030E090E00297281739070CF044C0408144 -:1003600032964D932F5F3F4FF6CF833061F4913833 -:1003700009F064C080911416809364168091181659 -:100380008093651630C09238F1F490911416209144 -:1003900015162093641690936516E6E6F6E120E0C4 -:1003A00030E090E0039728173907ECF4D901AE7FCD -:1003B000A45EB94E4C9111965C91508341832E5F9F -:1003C0003F4F3296F0CF843071F4933861F48091CE -:1003D000141690911516909364168093651680916B -:1003E00018168093661600E616E1C0E0D0E0809112 -:1003F000101690E002968C179D075CF0D8016D9165 -:100400008D0186E194E10E94585C0F9412012196BF -:10041000EECF80E5E0E1F6E1DF011D928A95E9F794 -:100420008AE1E0E6F6E1DF011D928A95E9F78AE5C7 -:100430008093111685EA8093121603C0923899F6BC -:10044000A4CFDF91CF911F910F910895CF93DF93A8 -:10045000CDB7DEB7A8970FB6F894DEBF0FBECDBFFD -:100460008C010E94C1DF0F94310A8FE699E30F944B -:100470004C090115110511F406E619E380911514D4 -:1004800080FD75C081608093151487E798E00E9415 -:10049000B553882483948AE5982E90921D168092F5 -:1004A0001C168FE090E090931F1680931E1697E025 -:1004B000A92EA092101622E8B22EB092131634E89C -:1004C000C32ED12CE12CF12CC0921416D09215160B -:1004D000E0921616F09217160F94800190921D1656 -:1004E00080921C1688E590E090931F1680931E164C -:1004F000A0921016B0921316C0921416D092151630 -:10050000E0921616F09217160F94800163E070E0E7 -:1005100080E090E00E94B3CE8AE289838A838B8355 -:100520008C83DE011596F801CE0101969D01281BF2 -:10053000390B44913196442311F04D93F7CFFC01D0 -:10054000E20FF31F2AE2AF01481B590B4832510555 -:1005500011F02193F8CF40E650E160E070E00F9495 -:100560002F016AE070E080E090E00E94B3CE61E08D -:100570008DE599E30E940C9489EE93E030E60197B3 -:1005800029F0232F2A950000E9F7F9CFF89489EE96 -:1005900093E038EE019729F0232F2A950000E9F720 -:1005A000F9CF0E94C1DF0E941950A895FECFCF92CB -:1005B000DF92EF92FF920F9406016B017C0128E518 -:1005C000C20E22E0D21EE11CF11C0E94A95B8F3FEB -:1005D00061F00F940601DC01CB018C199D09AE0975 -:1005E000BF09B7FDF2CF80E001C081E0FF90EF903E -:1005F000DF90CF9008958F929F92AF92BF92CF924B -:10060000DF92EF92FF920F931F93CF93DF9300D06F -:100610001F92CDB7DEB7FC018381813079F58181EE -:1006200081FF2CC081899289A389B489892B8A2B67 -:100630008B2B09F448C07F0140E050E0BA01CF01A4 -:100640000E943E648823D1F0F70185889688A788A8 -:10065000B08CC18CD28C82E090E0A0E0B0E0F601DA -:1006600080839183A283B3839E012F5F3F4FB501A7 -:10067000A401C6010E945663811102C080E03CC003 -:1006800000E010E09801B501A401C6010E94C46217 -:100690008823A1F389809A80AB80BC80F60187898A -:1006A000803141F4F8EF8F16FFEF9F06A104B104EB -:1006B00060F4DACF88EF88168FEF9806A8068FE0EF -:1006C000B80618F4D1CF81E017C0F701158A168A51 -:1006D000178A108E118A128A138A148A818180687F -:1006E0008183C7010E947767882341F240E050E090 -:1006F000BA01C7010E943E640F900F900F900F90B7 -:10070000DF91CF911F910F91FF90EF90DF90CF90ED -:10071000BF90AF909F908F9008952F923F924F92ED -:100720005F926F927F928F929F92AF92BF92CF9281 -:10073000DF92EF92FF920F931F93CF93DF931F925D -:100740001F92CDB7DEB77C012DB73EB73A83298320 -:100750008091D917811107C01092BE171092C1174E -:1007600081E08093D9178091B617811107C010924C -:100770009B1710929E1781E08093B617FB01808132 -:100780008F3259F48CE095E1F701918380831092C8 -:100790008E178B010F5F1F4F06C081EF94E1F701A9 -:1007A000918380838B01F701208031802EEBC22E54 -:1007B00027E1D22E0115110509F479C04DB65EB6B8 -:1007C0006FE270E0C8010F944A284C01081719071E -:1007D00008F06BC03C01601A710A7724C3010196CE -:1007E0002DB73EB7281B390B0FB6F8943EBF0FBE8E -:1007F0002DBF8DB79EB701965C01A301B8010F9480 -:100800006A28F501E60DF71D1082F70160817181FC -:1008100021E0A501C6010E94966B81110FC0B501B0 -:1008200089E499E30F941E0A86E499E30F944C0936 -:100830000FB6F8945EBE0FBE4DBE39C0F701808181 -:1008400091812816390611F00E94AA67F701D1821A -:10085000C082A0918E17AA3080F481E08A0F809325 -:100860008E17FBE1FA9FD0011124A058B94EF60172 -:100870008BE101900D928A95E1F7F70180819181DA -:100880008E5B974129F49BE9C92E97E1D92E04C0CC -:100890008EEBC82E87E1D82E84010F5F1F4F0FB655 -:1008A000F8945EBE0FBE4DBE85CFC80102C080E089 -:1008B00090E029813A810FB6F8943EBF0FBE2DBF5C -:1008C0000F900F90DF91CF911F910F91FF90EF90BC -:1008D000DF90CF90BF90AF909F908F907F906F9060 -:1008E0005F904F903F902F9008952091141426957B -:1008F000269520FF2DC02091991730919A17280F27 -:10090000391F30939A172093991720911214309120 -:100910001314280F391F30931314209312142091AD -:1009200008012170209306012091101430911114B8 -:10093000820F931F90931114809310140F9406014B -:1009400060930C1470930D1480930E1490930F14F5 -:1009500008954F925F926F927F928F929F92AF9283 -:10096000BF92CF92DF92EF92FF920F931F93CF939C -:10097000DF93EC016091551370915613072E000C14 -:10098000880B990B0F94081E9B01AC01688179813B -:100990008A819B810F94F6246B017C01609157132F -:1009A00070915813072E000C880B990B0F94081E9A -:1009B0009B01AC016C817D818E819F810F94F62417 -:1009C0004B015C0120916D0230916E0240916F02EB -:1009D00050917002C701B6010F94011E882309F4DB -:1009E00067C0C0926D02D0926E02E0926F02F092E8 -:1009F0007002209105183091061840910718509107 -:100A00000818C701B6010F94671E2B013C010F9413 -:100A100099266B017C0120E030E0A9010F94011EB2 -:100A200087FD11C020E030E040E850E4C701B60186 -:100A30000F945727181654F4C12CD12CC0E8EC2E73 -:100A4000C0E4FC2E03C0C12CD12C7601A701960175 -:100A5000C301B2010F94F6242B013C0120E030E0E9 -:100A6000A9010F94011E87FD09C040920118509200 -:100A70000218609203187092041808C010920118AE -:100A8000109202181092031810920418C701B601B0 -:100A90000F94632660930018062E000C770B6F5F8F -:100AA0007F4F6430710514F064E070E06093FF17CD -:100AB0002091690230916A0240916B0250916C0260 -:100AC000C501B4010F94011ED09168021091001865 -:100AD000811103C0D11368C028C18092690290922D -:100AE0006A02A0926B02B0926C02209109183091B8 -:100AF0000A1840910B1850910C18C501B4010F94BD -:100B0000671E4B015C010F9499266B017C0120E06C -:100B100030E0A9010F94011E87FD11C020E030E0F4 -:100B200040E850E4C701B6010F945727181654F453 -:100B3000C12CD12CB0E8EB2EB0E4FB2E03C0C12CAD -:100B4000D12C7601A7019601C501B4010F94F624BA -:100B50004B015C0120E030E0A9010F94011E87FDEC -:100B600009C08092FB179092FC17A092FD17B092DB -:100B7000FE1708C01092FB171092FC171092FD1779 -:100B80001092FE17C701B6010F9463266093FA17FF -:100B9000062E000C770B6F5F7F4F6430710514F0E9 -:100BA00064E070E06093F917C091FA17D11305C0A3 -:100BB000809167028C1709F46EC010936802C0938D -:100BC00067020C2E000CDD0B85E0F82E2F2D120392 -:100BD000C0011124FC01EC0FFD1FEE0FFF1FEE0FF3 -:100BE000FF1FE559FC4E20813181428153812093C2 -:100BF000F5173093F6174093F7175093F8170091B5 -:100C0000F917002E000C110BFC01E00FF11FEE0F85 -:100C1000FF1FEE0FFF1FE559FC4E6081718182813D -:100C200093810F94F6246093F1177093F2178093D9 -:100C3000F3179093F4172091FF173F2D2303F00132 -:100C40001124CE0FDF1FCC0FDD1FCC0FDD1FC559C8 -:100C5000DC4E288139814A815B812093ED173093E6 -:100C6000EE174093EF175093F017E00FF11FEE0FC0 -:100C7000FF1FEE0FFF1FE559FC4E608171818281DD -:100C800093810F94F6246093E9177093EA17809389 -:100C9000EB179093EC178090FB179090FC17A090A7 -:100CA000FD17B090FE172091F1173091F217409187 -:100CB000F3175091F417C501B4010F94671E2091EA -:100CC000F5173091F6174091F7175091F8170F94D8 -:100CD000F7246B017C016093E5177093E61780930E -:100CE000E7179093E8172091E9173091EA174091A0 -:100CF000EB175091EC17C501B4010F94671E2091BA -:100D0000ED173091EE174091EF175091F0170F94B7 -:100D1000F724A70196010F94F6246093E1177093CE -:100D2000E2178093E3179093E4172091E117309135 -:100D3000E2174091E3175091E41760910118709108 -:100D4000021880910318909104180F94671E209147 -:100D5000E5173091E6174091E7175091E8170F9487 -:100D6000F724DF91CF911F910F91FF90EF90DF90CB -:100D7000CF90BF90AF909F908F907F906F905F903B -:100D80004F900895CF93DF93CDB7DEB72C970FB672 -:100D9000F894DEBF0FBECDBF882331F020915F13E2 -:100DA00030916013232B59F190912518891739F14F -:100DB0000E945F8C8CE0E7E9F3E0DE011196019080 -:100DC0000D928A95E1F7CE0101960F94A9048091C6 -:100DD0002518882359F045E158E161E178E18DE07B -:100DE00098E10E94548E1092251807C081E08093EC -:100DF00025188DE098E10E941D8E0E9448C32C9614 -:100E00000FB6F894DEBF0FBECDBFDF91CF9108952E -:100E1000CF92DF92EF92FF9260915F137091601317 -:100E2000072E000C880B990B0F94081E6B017C0198 -:100E30002DEB37E346E855EB0F94572787FD0AC0A3 -:100E40002DEB37E346E855E3C701B6010F94011EC9 -:100E500018164CF4A701960160E070E080E89FE36B -:100E60000F94F12503C060E070E0CB01609305189A -:100E70007093061880930718909308186091611377 -:100E800070916213072E000C880B990B0F94081EAB -:100E90006B017C012DEB37E346E855EB0F945727A8 -:100EA00087FD0AC02DEB37E346E855E3C701B601DD -:100EB0000F94011E18164CF4A701960160E070E033 -:100EC00080E89FE30F94F12503C060E070E0CB0160 -:100ED0006093091870930A1880930B1890930C185C -:100EE000FF90EF90DF90CF9008952F923F924F9216 -:100EF0005F926F927F928F929F92AF92BF92CF92AA -:100F0000DF92EF92FF920F931F93CF93DF93CDB7B2 -:100F1000DEB760970FB6F894DEBF0FBECDBF8A87ED -:100F20006B87942EA22E282F30E03D872C8770E00F -:100F30007987688715E0129FC001139F900D1124D7 -:100F40009F878E87FB01E80FF91FEE0FFF1FEE0F43 -:100F5000FF1FE559FC4E60817181828193819B0165 -:100F6000AC010F94E927882309F44EC14A85490D45 -:100F70002B852A0D149FB0011124E885F985E60F11 -:100F8000F71FEE0FFF1FEE0FFF1FE559FC4ED0803D -:100F9000E180F2800381490D149FA0011124E885AE -:100FA000F985E40FF51FEE0FFF1FEE0FFF1FE55948 -:100FB000FC4E1081918082807380822F90E0EE85BC -:100FC000FF85E80FF91FEE0FFF1FEE0FFF1FE5591A -:100FD000FC4E608051803280338139832A0D30E0AD -:100FE000EE85FF85E20FF31FEE0FFF1FEE0FFF1FD1 -:100FF000E559FC4EFF87EE87F081FA83EE85FF8589 -:10100000F181FB83EE85FF85F281FC83EE85FF8510 -:10101000F381FD83FB01E80FF91FEE0FFF1FEE0FB9 -:10102000FF1FE559FC4E60816E83B18072817F8322 -:1010300083818E87FA01E20FF31FEE0FFF1FEE0F81 -:10104000FF1FE559FC4E4080A1809281988B238040 -:10105000212F392D482D572D612F792D882D972D32 -:101060000F94E927882321F010E0912C812C712C1A -:101070002D2D3E2D4F2D502F6D2D7E2D8F2D902FF0 -:101080000F94E927882321F0D12EE92CF82C072D85 -:101090002A813B814C815D816A817B818C819D812C -:1010A0000F94E927882321F01A821B821C821D825B -:1010B000262D352D432D5981662D752D832D998132 -:1010C0000F94E927882329F06A805B803C80ED81BA -:1010D000E983242D3A2D4889522D642D7A2D888953 -:1010E000922D0F94E927882321F0412CA12C188AF6 -:1010F000212C2E813B2D4F815E856E817B2D8F8132 -:101100009E850F94E927882329F04E82BA2CF8890E -:10111000FF832E862D2D3E2D4F2D502F6D2D7E2D94 -:101120008F2D902F0F94F724212F392D482D572DD7 -:101130000F94F6246B017C01262D352D432D59810A -:10114000662D752D832D99810F94F7242A813B817B -:101150004C815D810F94F6249B01AC01C701B6015F -:101160000F94F7243B014C012E813B2D4F815E856E -:101170006E817B2D8F819E850F94F724242D3A2D2F -:101180004889522D0F94F6249B01AC01C401B30190 -:101190000F94F72420E030E040E450E40F94F12570 -:1011A0009B01AC0185E06C857D85869FF001879F62 -:1011B000F00D112488859985E80FF91FEE0FFF1FA8 -:1011C000EE0FFF1FE559FC4E20833183428353838A -:1011D0006B858A8560960FB6F894DEBF0FBECDBFD3 -:1011E000DF91CF911F910F91FF90EF90DF90CF9003 -:1011F000BF90AF909F908F907F906F905F904F9037 -:101200003F902F900C94CECE60960FB6F894DEBF30 -:101210000FBECDBFDF91CF911F910F91FF90EF9047 -:10122000DF90CF90BF90AF909F908F907F906F9006 -:101230005F904F903F902F900895CF92DF92EF9262 -:10124000FF926B017C0183E3C816D104E104F10431 -:1012500070F082E3C81AD108E108F10862E370E097 -:1012600080E090E00F94CC000E94679AECCFC70119 -:10127000B6010F94CC00FF90EF90DF90CF900C94CC -:10128000679ACF93C82FCC2329F080E20E94AA52FC -:10129000C150F9CFCF910895CF93DF93FC01849192 -:1012A000EF012196882321F00E94AA52FE01F7CF78 -:1012B000DF91CF9108958F929F92AF92BF92CF927C -:1012C000DF92EF92FF920F931F93CF93DF938DE105 -:1012D0009AE30F944C09C12CD12C760186E00F942F -:1012E0004109C701B6010E941E538FEFC81AD80AE0 -:1012F000E80AF80A95E0C916D104E104F10471F78F -:101300008AE00E94AA520BE613E1C12CD12C76018F -:1013100080E20E94AA52C701B6010E941E53C0E09B -:10132000D0E080E20E94AA52F801EC0FFD1F8080FD -:101330009180A280B380A5019401C501B4010F94EE -:10134000E927811112C020E030E0A901C501B401F4 -:101350000F94572787FD03C08BE20E94AA5243E0F7 -:10136000C501B4010E943A5309C0B12C80E20E9429 -:10137000AA52B3948DE396E0B912F9CF6496C436BD -:10138000D10579F68AE00E94AA528FEFC81AD80ACE -:10139000E80AF80A0C5F1F4F95E0C916D104E10472 -:1013A000F10409F0B5CF8AE0DF91CF911F910F9141 -:1013B000FF90EF90DF90CF90BF90AF909F908F9075 -:1013C0000C94AA52CF92DF92EF92FF926A017B01B6 -:1013D0000F944C094AE0C701B601FF90EF90DF90EF -:1013E000CF900C94B152CF93DF93EB010F944C0943 -:1013F000BE0180E090E04AE0DF91CF910C94B152C1 -:10140000CF92DF92EF92FF926A017B010F944C0919 -:1014100042E0C701B601FF90EF90DF90CF900C94AF -:101420003A53CF93DF93EB010F944C09BE01DD0FCC -:10143000880B990BDF91CF910C941E530F931F9340 -:10144000CF93DF938B010F944C09E8018991882396 -:1014500019F00E94AA52FACFDF91CF911F910F91FC -:10146000089586E19AE30D944C0980E19AE30D9486 -:101470004C090E94C1DF0E940A8B8091DB0B8823FC -:1014800019F080E00E947F7C80912F02882399F0E0 -:101490000F94310A89E999E30F944C0960E08FE8D1 -:1014A00099E30E94F6ED6EE571E080E090E00F9424 -:1014B0001D0910922F0208952F923F924F925F9232 -:1014C0006F927F928F929F92AF92BF92CF92DF9254 -:1014D000EF92FF920F931F93CF93DF93D82FC62FD6 -:1014E00082E898E00E94B553D1115AC0CC2389F00C -:1014F0000E94C3608C01C12CD12CC0E0D0E0A12C93 -:10150000B12C85E3282E8AE1382E44244394512CB3 -:101510003FC00E942ACD8111EBCF44C0C016D10636 -:1015200008F037C1C5014496C816D90608F031C184 -:101530002FEFC21AD20A0F3F3FEF130709F0C3C1C2 -:101540000E94C3608C018C159D0508F04EC1F1010D -:1015500001900020E9F73197CF0185539A413C0172 -:10156000EE24E394F12C97012B5C354E490146E0C3 -:1015700050E06BE878E0C9010F945C28892B09F0F2 -:10158000F4C0E614F7040CF43FC18FEFA81AB80AB0 -:101590000F3F2FEF120711F60E94C3608C01BECFE0 -:1015A000C111A6CF3AE0C32E30E2D32EE12CF12CAC -:1015B000C5E0D2E8812C912C540110921D16109296 -:1015C0001C16C0931016D0931316D701C601880DB0 -:1015D000991DAA1DBB1D8093141690931516A093F8 -:1015E0001616B09317160F9480018FEF881A980A79 -:1015F000A80AB80A9AE089169104A104B104E9F690 -:101600002AE0C20ED11CE11CF11C32EDC31630E2FF -:10161000D306E104F10471F6C12C20E2D22EE12CB4 -:10162000F12CD5E0C2E810921D1610921C16D09332 -:101630001016C0931316C0921416D0921516E0928D -:101640001616F09217160F94800110921D16109224 -:101650001C16D0931016C0931316D701C6018C52D6 -:101660009F4FAF4FBF4F8093141690931516A093C2 -:101670001616B09317160F9480018FEFC81AD80A68 -:10168000E80AF80A9AE0C91690E2D906E104F104E2 -:1016900051F69EEDC92E90E2D92EE12CF12CD5E029 -:1016A000C2E810921D1610921C16D0931016C0930B -:1016B0001316C0921416D0921516E0921616F092D8 -:1016C00017160F9480012FEFC21AD20AE20AF20A0B -:1016D00036EEC31630E2D306E104F10411F7CC2450 -:1016E000C39482E1D82EE12CF12C0AE010E0D5E081 -:1016F000C2E810931D1600931C16D0931016C093C9 -:101700001316C0921416D0921516E0921616F09287 -:1017100017160F94800110931D1600931C16D0937A -:101720001016C0931316D701C6018096A11DB11DD6 -:101730008093141690931516A0931616B09317164F -:101740000F9480018FEFC81AD80AE80AF80A95E1C9 -:10175000C91692E1D906E104F10459F685ED93E04A -:101760000E94B55382E190E016C046E050E062E985 -:1017700078E0C4010F945C28892B09F402CF3FEF75 -:10178000E31AF30AC7010197861597050CF4EBCE0F -:10179000F8CE81E190E090931D1680931C1685E0B1 -:1017A0008093101682E88093131684E190E1A0E004 -:1017B000B0E08093141690931516A0931616B0936C -:1017C0001716DF91CF911F910F91FF90EF90DF904F -:1017D000CF90BF90AF909F908F907F906F905F90D1 -:1017E0004F903F902F900D9480010F3F8FEF18077F -:1017F00019F40E94C3608C0160E070E0C8018C198C -:101800009D090E94FB60A3CE22E12C9FC0012D9F69 -:10181000900D11249C012952354E4901A7014231F6 -:10182000510514F041E150E065E37AE1C4010F9401 -:101830006A2832E13C9FC0013D9F900D112467E76B -:101840007AE1815C934E0F9455288AE08C9FA00129 -:101850008D9F500D1124465F5F4D052E000C660BC9 -:10186000770BFE01EE0FFF1FEE0FFF1FEC57F54E3B -:101870004383548365837683C4010F942F017E01D3 -:101880009FEFE91AF90AF092861AE092851A5092AF -:101890001D1640921C1625E02093101632E8309356 -:1018A0001316CF5FDD4ECE01DD0FAA0BBB0B80936D -:1018B000141690931516A0931616B09317160F943E -:1018C0008001E70165CE0C151D0508F440CE94CFCC -:1018D0004F925F926F927F928F929F92AF92BF9240 -:1018E000CF92DF92EF92FF921F93CF93DF93C82F97 -:1018F0008CEE94E19093341A8093331A1092E5148D -:1019000082E090E0A0E0B0E08093CE149093CF14FA -:10191000A093D014B093D1141092321A10922E1AB0 -:1019200010922F1A1092301A1092311A8FEF9FEFE7 -:10193000DC0180932A1A90932B1AA0932C1AB0934F -:101940002D1ACC2379F1C53008F001C140E060E0E8 -:1019500070E0CB010E948B62882309F4F8C020E17B -:10196000C29FC0011124865E974EFC01E254FE4FD7 -:1019700020812F7709F0EBC03C9640815181628134 -:101980007381443651056105710508F4E0C0349750 -:10199000C080D180E280F380C114D104E104F1045D -:1019A00021F4D5C0C12CD12C760140E0C701B6018D -:1019B0000E948B62182F882309F4C9C080913518C2 -:1019C000909136188115924009F0C1C0A0913A1843 -:1019D000AA2309F4BCC060913818709139186115B8 -:1019E000710509F4B4C080903718882009F4AFC09D -:1019F000A093E0148092D21480E0912CA12CB12C01 -:101A0000412C512C32014394C82FA3019201082E7E -:101A100004C0220F331F441F551F0A94D2F78216A9 -:101A20009306A406B50639F08F5FC83069F789E0E0 -:101A30008093DB148CC08093DB142091401830918C -:101A400041182115310519F040E050E008C02091FF -:101A50004E1830914F1840915018509151182093C2 -:101A6000D3143093D4144093D5145093D614460114 -:101A70005701860E971EA11CB11C8092E114909212 -:101A8000E214A092E314B092E414E0913B18F091B8 -:101A90003C18F093E714E093E614B0E00F94982418 -:101AA000860E971EA81EB91E8092E8149092E91423 -:101AB000A092EA14B092EB1485E0EE0FFF1F8A9516 -:101AC000E1F7E150FE4FEF2FFF27E6958E0E9F1EA8 -:101AD000A11CB11C8092DC149092DD14A092DE1443 -:101AE000B092DF1420913D1830913E182115310538 -:101AF00021F0A90160E070E008C040914A185091BF -:101B00004B1860914C1870914D18D701C601881977 -:101B10009909AA09BB09840F951FA61FB71F04C006 -:101B2000B695A79597958795CA95D2F78093D714C0 -:101B30009093D814A093D914B093DA14853F2FE072 -:101B40009207A105B10528F48CE08093E51410E01C -:101B50001AC0853F9F4FA105B10510F480E111C067 -:101B60008091561890915718A0915818B091591813 -:101B70008093E8149093E914A093EA14B093EB14C3 -:101B800080E28093E514812FDF91CF911F91FF9028 -:101B9000EF90DF90CF90BF90AF909F908F907F900D -:101BA0006F905F904F900895FF920F931F93CF9384 -:101BB000DF938B01D82FC92F9B01482F592F60919C -:101BC00026187091271880912818909129180F9441 -:101BD000011E882309F45FC0F090251880E00F945F -:101BE000C20620E030E0A901B8018D2F9C2F0F9490 -:101BF0005727181624F000E010E0D0E0C0E0C8013C -:101C0000AD2FBC2F8093261890932718A0932818E7 -:101C1000B09329182DEB37E346E855EBB8018D2F2B -:101C20009C2F0F94572787FD0BC02DEB37E346E819 -:101C300055E3B8018D2F9C2F0F94011E181654F4F4 -:101C400098014D2F5C2F60E070E080E89FE30F94D7 -:101C5000F12503C060E070E0CB0160932118709320 -:101C60002218809323189093241880EF9FEFA9E700 -:101C7000B4EC80931D1890931E18A0931F18B09376 -:101C80002018FF2041F081E0DF91CF911F910F914B -:101C9000FF900D94C206DF91CF911F910F91FF909D -:101CA00008951F920F920FB60F9211242F933F9316 -:101CB0008F939F93AF93BF938091CF139091D01345 -:101CC000A091D113B091D2133091A71D23E0230F1F -:101CD0002D3720F40196A11DB11D05C026E8230F64 -:101CE0000296A11DB11D2093A71D8093CF13909341 -:101CF000D013A093D113B093D2138091D3139091AA -:101D0000D413A091D513B091D6130196A11DB11D86 -:101D10008093D3139093D413A093D513B093D61379 -:101D2000BF91AF919F918F913F912F910F900FBED7 -:101D30000F901F901895CF93DF93CDB7DEB7A9977B -:101D40000FB6F894DEBF0FBECDBF789484B5826025 -:101D500084BD84B5816084BD85B5826085BD85B54F -:101D6000816085BD80916E00816080936E001092CD -:101D70008100809181008260809381008091810048 -:101D800081608093810080918000816080938000D9 -:101D90008091B10084608093B1008091B000816037 -:101DA0008093B00080919100826080939100809137 -:101DB0009100816080939100809190008160809378 -:101DC00090008091A10082608093A1008091A10089 -:101DD00081608093A1008091A00081608093A00029 -:101DE0008091210182608093210180912101816095 -:101DF0008093210180912001816080932001809156 -:101E00007A00846080937A0080917A008260809367 -:101E10007A0080917A00816080937A0080917A00C4 -:101E2000806880937A001092C100259A2D986C9852 -:101E3000749A10925F090E9440501092C0008091E5 -:101E4000C00082608093C0001092C50087E080933C -:101E5000C4008091C10080618093C1008091C10065 -:101E600088608093C1008091C10080688093C10028 -:101E70000F9406018AED90E10F944C090F94350AF6 -:101E800014B710FF04C081ED90E10F944C0911FFCD -:101E900004C080EC90E10F944C0912FF04C08EEA5C -:101EA00090E10F944C0913FF04C08DE990E10F9469 -:101EB0004C0915FF04C08CE890E10F944C0914BE46 -:101EC00085E890E10F944C0980E20E94AA528CE7C9 -:101ED00090E10F944C098AE00E94AA520F94350AAF -:101EE0008CE690E10F944C0981E690E10F944C0947 -:101EF00086E490E10F944C090F94350A8FE290E14B -:101F00000F944C090F94350A8091A81D9091A91D3A -:101F10009E012F5F3F4F7901B901009719F0681BAF -:101F2000790B02C06E5A7D4180E290E10F94110A54 -:101F300060E874E089E090E10F94110A8AE00E9461 -:101F4000AA5280910A018E7F80930A0180910B0131 -:101F50008095817080930901E0912614F0912714F7 -:101F600082E08083E0912214F09123141082E091AA -:101F70002414F091251480E1808310922E14E091B6 -:101F80002A14F0912B1486E08083E0912814F091BC -:101F90002914808180618083E0912814F0912914B4 -:101FA000808188608083E0912814F09129148081D9 -:101FB00080688083E0912814F091291480818F7DBE -:101FC00080838AE5809311168093C11585EA8093FA -:101FD00012168093C2158AE1E0E6F6E1DF011D9258 -:101FE0008A95E9F780E290E0A0E0B0E080930602F5 -:101FF00090930702A0930802B09309028091780998 -:10200000882319F083E090E002C082E090E0909392 -:102010001D1680931C1685E08093101682E880932D -:1020200013168FE190E1A0E0B0E080931416909336 -:102030001516A0931616B09317160F94800184E618 -:1020400090E090931D1680931C1605E000931016E7 -:1020500012E81093131686E090E1A0E0B0E08093C0 -:10206000141690931516A0931616B09317160F9486 -:1020700080018BE090E090931D1680931C160093D6 -:1020800010161093131680E092E1A0E0B0E0809368 -:10209000141690931516A0931616B09317160F9456 -:1020A000800110921D1610921C16009310161093AA -:1020B000131684E390E1A0E0B0E0809314169093AF -:1020C0001516A0931616B09317160F948001109250 -:1020D0001D1610921C1600931016109313168AE307 -:1020E00090E1A0E0B0E08093141690931516A093B1 -:1020F0001616B09317160F94800160910E0C709114 -:102100000F0C8091100C9091110C0F94632670931A -:102110001D1660931C16009310161093131686E379 -:1021200090E1A0E0B0E08093141690931516A09370 -:102130001616B09317160F9480016091650970917F -:10214000660980916709909168090F9463267093DE -:102150001D1660931C1600931016109313168CE333 -:1021600090E1A0E0B0E08093141690931516A09330 -:102170001616B09317160F94800182E090E09093AA -:102180001D1680931C1600931016109313168EE1E3 -:1021900090E1A0E0B0E08093141690931516A09300 -:1021A0001616B09317160F94800181E080930502F4 -:1021B00060E6862E60E1962EA12CB12C75E0C72E2C -:1021C000E2E8DE2E10921D1610921C1605E0C09259 -:1021D000101612E8D09213168092141690921516CB -:1021E000A0921616B09217160F948001BFEF8B1AAB -:1021F0009B0AAB0ABB0AE4E78E16E0E19E06A10447 -:10220000B10401F784E1D7011D928A95E9F781E0D5 -:102210008F9396ED9F938F939BED9F938F9382EC7B -:102220008F938FE296E09F938F93FF92EF920F949C -:10223000842840E650E160E070E08CE396E00F9483 -:102240002F014AE650E160E070E085E496E00F94EB -:102250002F0144E750E160E070E0C7010F942F01C7 -:102260004EE750E160E070E089EE94E00F942F01BA -:1022700010921D1610921C16009310161093131630 -:102280008EE090E1A0E0B0E08093141690931516D4 -:10229000A0931616B09317160F94800110921D1676 -:1022A00010921C1600931016109313168FE090E1F5 -:1022B000A0E0B0E08093141690931516A093161624 -:1022C000B09317160F948001EDB7FEB73A960FB68C -:1022D000F894FEBF0FBEEDBF5AE0852E50E2952E5A -:1022E000A12CB12C15E002E8412C512C32011092A6 -:1022F0001D1610921C161093101600931316D5017C -:10230000C401840D951DA61DB71D809314169093CE -:102310001516A0931616B09317160F948001FFEFB1 -:102320004F1A5F0A6F0A7F0A2AE0421651046104BD -:102330007104E9F63AE0830E911CA11CB11C42ED38 -:10234000841640E29406A104B10471F6812C40E2A7 -:10235000942EA12CB12C05E012E810921D161092BB -:102360001C16009310161093131680921416909258 -:102370001516A0921616B09217160F94800110929F -:102380001D1610921C160093101610931316D501EB -:10239000C4018C529F4FAF4FBF4F80931416909340 -:1023A0001516A0931616B09317160F9480015FEFC1 -:1023B000851A950AA50AB50A8AE0881680E2980669 -:1023C000A104B10451F63EED832E30E2932EA12CF0 -:1023D000B12C05E012E810921D1610921C16009305 -:1023E0001016109313168092141690921516A09240 -:1023F0001616B09217160F9480019FEF891A990A4A -:10240000A90AB90AA6EE8A16A0E29A06A104B104A6 -:1024100011F78824839492E1992EA12CB12C2AE003 -:10242000C22ED12C05E012E8D0921D16C0921C16C7 -:10243000009310161093131680921416909215168E -:10244000A0921616B09217160F948001D0921D1606 -:10245000C0921C160093101610931316D501C401D8 -:102460008096A11DB11D8093141690931516A0930C -:102470001616B09317160F948001BFEF8B1A9B0AA4 -:10248000AB0ABB0AE5E18E16E2E19E06A104B104A7 -:1024900059F689E596E00E94B5530E947AEE0E94B3 -:1024A000515010E9C12E19E0D12E0DE018E189E15B -:1024B000A82E88E1B82ED6012D913D914D915D91C8 -:1024C0006D01F80160817181828193810F94F724FD -:1024D000D8016D937D938D939D938D01AA16BB06B4 -:1024E00051F70E9448C3249A2C9880910101806280 -:1024F000809301018091020180728093000180919C -:1025000001018064809301018091010180618093C9 -:10251000010187ED80937A0010927E0010927D0079 -:1025200080917D00806280937D0080917D00806439 -:1025300080937D0080E888BD80916E0084608093E8 -:102540006E006AEF70E080E090E00F94CC0085E0D0 -:1025500090E0909311028093100200910C02109170 -:102560000D0260E0C8010E947AE020E030E040EA1D -:1025700050E40F94011E87FF07C00051110910930A -:102580000D0200930C02E9CF8BE391E090931302CC -:102590008093120200910E0210910F0260E0C801B8 -:1025A0000E947AE020E030E84DE953E40F94572789 -:1025B00018163CF4005F1F4F10930F0200930E0299 -:1025C000E9CF00910A0210910B02C8010E94E1DFDD -:1025D00020E030E040EA50E40F94011E87FF07C07E -:1025E0000051110910930B0200930A02EACF0091E7 -:1025F000790910917A09C8010E94E1DF20E030E0FA -:1026000046E153E40F94572718163CF4005F1F4F20 -:1026100010937A0900937909EACF0E94DAEC19A69F -:1026200082E390E09AA389A31A8219821E01B1E283 -:102630002B0E311C01E0970141E050E0BE01675DC7 -:102640007F4FC1010E94705089A5863119F00E9408 -:10265000C58B0FC083E390E09AA389A31A821982E5 -:1026600001E0970140E150E06CE779E0C1010E9490 -:10267000705081E080937B096D98759A8091040178 -:102680008D7F8093040180910501809582708093F5 -:10269000030152985A9A10928D0910928C090E9447 -:1026A000F2C5819A879A80910A01826080930A011B -:1026B0000E9A3B9A579A5F9A829A8A9A809107015A -:1026C00081608093070180910801809581708093DB -:1026D00006010A9A129A3F9A479A809A88985F9AB6 -:1026E000809114148E7F80931414869A8E988A9AFF -:1026F000809114148D7F8093141480910A01886056 -:1027000080930A0180910B01887080930901809168 -:1027100008018095817080930601809114148B7F4D -:10272000809314140C9A1498129A809180008C7FD4 -:102730008093800080918100877E886080938100F3 -:10274000809180008F738093800080918100887FCA -:1027500082608093810080E090E490938900809370 -:102760008800109285001092840080916F00826032 -:1027700080936F00789486E080938E090E94B488DD -:10278000E0919415E43208F042C0F0E0CF01880FE8 -:10279000991FE80FF91FE95DFA4E808180788B6000 -:1027A000808361E08BE00E94A8FF10929515109243 -:1027B0009615809194156CE00F94BA2490E0ECE0AB -:1027C0008E9FB001112440E050E09B01240F351F83 -:1027D000F901EE0FFF1F2E0F3F1FF901E95DFA4EC1 -:1027E000208127FD07C04F5F5F4F4C30510569F7CF -:1027F0000E940151E0919415F0E0CF01880F991FDC -:10280000E80FF91FE95DFA4E80818068808384E9D2 -:1028100095E10E9462506AE570E084E995E10E94CA -:10282000325110928F090E94F2C581E00E942199D5 -:1028300098E288E10FB6F894A895809360000FBEE7 -:102840009093600010927F160E94A65D9E012F5FFC -:102850003F4F590180E00E94D65380917F1687FD3B -:1028600041C08091981782FD3DC083FD03C00E9446 -:10287000485E02C00E9451508091981783FF2FC07C -:1028800080917F16082E000C990BC0969F938F9312 -:1028900041EE50E15F934F933F922F920F94991D19 -:1028A0008CE095E10E947D660F900F900F900F9045 -:1028B0000F900F9080910F15823088F08091141541 -:1028C00090911515A0911615B09117158F71992734 -:1028D000AA27BB27892B8A2B8B2B09F467C1FFEF13 -:1028E000F0937F168091981785FF1FC00E94D75DD7 -:1028F0001092200B10929C0910921F0B0E94F68DD3 -:102900000E945F8C8EEF0E94DAC20E9448C30E9430 -:102910000A8B0E94C1DF0E945D501092140223E3D3 -:1029200031E130939E0920939D098DB69EB660914A -:102930009D0970919E096115710581F0E12CF12CC2 -:10294000FB01EE0DFF1D749087010F5F1F4F772075 -:1029500039F03AE0731621F07801F2CF80E02CC014 -:10296000EDB7FEB7E01BF10B0FB6F894FEBF0FBE3C -:10297000EDBF2DB73EB72F5F3F4F6901A701C901DA -:102980000F943B1DF601EE0DFF1D1082772009F418 -:1029900045C180919D0990919E09080F191F1093C0 -:1029A0009E0900939D09EF2831F0C6010E94A6B44C -:1029B00080E00E944C3981E00FB6F8949EBE0FBEB5 -:1029C0008DBE8111C3C08091200B882309F4BEC045 -:1029D0008091981780FF9EC000911F0B40E6409F9A -:1029E000800111240156164F64E171E1C8010F9472 -:1029F0007F1D009739F0DC0113968C9180538A304B -:102A000008F08BC0F80101900020E9F731977F01B1 -:102A1000E01AF10A1092B3146EE470E0C8010F944A -:102A20004A286C01892B09F406C160E270E0C601F6 -:102A30000F944A288C010F5F1F4F6AE270E0C601B5 -:102A40000F944A28FC013197BDE0B1832AE022832C -:102A50001382F80101900020E9F731977F01E01A15 -:102A6000F10A8091B614813009F0E1C08091B4146C -:102A700081FFDDC082FF16C04091C4145091C5147F -:102A80006091C6147091C7148091BB149091BC14CE -:102A9000A091BD14B091BE1484179507A607B7077F -:102AA00009F0BFC04091BB145091BC146091BD149B -:102AB0007091BE14E114F10409F0C4C08091C414F3 -:102AC0009091C514A091C614B091C71484179507AE -:102AD000A607B70768F44093C4145093C5146093D5 -:102AE000C6147093C7148091B41480688093B41492 -:102AF0008091B41483FDB6C18091B314882331F062 -:102B00000F94310A8AEE90E10F944C098091981746 -:102B100081FF09C00E9464BC08C00E9440FD81E0A2 -:102B200091E10F944C090E94F3B28091200B88230D -:102B300069F081508093200B80911F0B8F5F843050 -:102B400018F480931F0B02C010921F0B8091210B71 -:102B5000882339F19091210B8091220B981709F16C -:102B60000F94350A84E291E10F944C098091210B76 -:102B700080FD7FC18091210B84FD7BC18091210B61 -:102B800081FD81C18091210B85FD7DC18091210B4B -:102B900082FD83C18091210B86FD7FC18AE00E9466 -:102BA000AA528091210B8093220B54CE40E050E03A -:102BB000B5018CE095E10E943F6918160CF08FCEAC -:102BC000F50101900020E9F73197FE2EFA18FA94EA -:102BD0009FEFF91669F085010F0D111DF7FC1A958D -:102BE000D8018C9190E00F940E28F8018083EFCFEC -:102BF0008A858E3709F45ECE45E050E0B101C5010B -:102C00000F945C28892B09F055CEC1010E94F05D1C -:102C100080917F168F5F80937F1664CE00E010E076 -:102C2000BECE83EB94E10E943E6481113BCFA1E0D4 -:102C3000A093B31461CF31E0E31AF108F801EE0D6F -:102C4000FF1D02CF8091CC149091CD14DC0114961D -:102C50007C902FEF270D2A013B0139E07694679491 -:102C6000579447943A95D1F7722E74206A01B1E0D7 -:102C7000DB2271104CC0C114D10409F048C040914E -:102C8000B7145091B8146091B9147091BA144115E9 -:102C900051056105710569F48091C8149091C914BA -:102CA000A091CA14B091CB140097A105B10539F5D4 -:102CB0001FC095010E945663882309F4B8CF89810B -:102CC0009A81AB81BC81E091CC14F091CD1427891D -:102CD000203139F4883FEFEF9E07A105B10540F49C -:102CE0000EC0883FFFEF9F07AF07FFE0BF0738F038 -:102CF00083EB94E10E947865811109C098CF80939D -:102D0000B7149093B814A093B914B093BA1480E098 -:102D100092E08C199D0947018E159F0508F44C011E -:102D2000E091CC14F091CD148091B7149091B81427 -:102D3000A091B914B091BA140297A109B109058400 -:102D400004C0880F991FAA1FBB1F0A94D2F746859B -:102D5000578560897189840F951FA61FB71F9C0135 -:102D6000AD01270D311D411D511D29013A0181146D -:102D700032E0930631F580912A1A90912B1AA09196 -:102D80002C1AB0912D1A481659066A067B0669F46A -:102D90001092321A8FEF9FEFDC0180932A1A9093E2 -:102DA0002B1AA0932C1AB0932D1A9801B301A201EB -:102DB0008091331A9091341A0E94D466811139C0DF -:102DC00036CFC114D10431F54091BB145091BC14DD -:102DD0006091BD147091BE148091C4149091C5147B -:102DE000A091C614B091C714481759076A077B070A -:102DF00088F00E943767882309F419CF91E09093F7 -:102E0000321A40922A1A50922B1A60922C1A7092FF -:102E10002D1A08C041E0C301B2010E948B628823D1 -:102E200009F405CFA401B801C601865D974E0F9441 -:102E300023288091BB149091BC14A091BD14B09133 -:102E4000BE14880D991DA11DB11D8093BB149093D4 -:102E5000BC14A093BD14B093BE14080D191DE8183E -:102E6000F90820CE83EB94E10E947767811144CE6C -:102E7000DECE80E00E94C98DAB01BC0180E291E111 -:102E80000F94000A7BCE81E00E94C98DAB01BC018A -:102E90008CE191E10F94000A79CE82E00E94C98D05 -:102EA000AB01BC0188E191E10F94000A77CECF938A -:102EB000DF9383EB94E10E94B367CEE8D7E16B9791 -:102EC000CE010E94B36786E1C038D807C1F781EF11 -:102ED00094E10E94B3678CE095E1DF91CF910C946F -:102EE000B36786E40E94A19380933413882351F042 -:102EF0000E946A93609325027093260280932702B2 -:102F00009093280283E50E94A193882351F00E94A8 -:102F10006A9360932102709322028093230290931C -:102F2000240282E40E94A193882351F00E946A93B4 -:102F300060931D0270931E0280931F0290932002E3 -:102F40000895CF92DF92EF92FF926B017C0180E0B7 -:102F500090E0A0E8BFE38093630290936402A093A3 -:102F60006502B09366028091151481FF0E94289338 -:102F7000C092EF13D092F013E092F113F092F2139B -:102F800080911514826080931514FF90EF90DF906C -:102F9000CF9008958091151481FF09C06091EF13BF -:102FA0007091F0138091F1139091F2130895609154 -:102FB000191870911A1880911B1890911C18089577 -:102FC0000E947AEE10924613109214020E9448D783 -:102FD000882321F08091981782FF07C061E082E08A -:102FE00094E30E940C940C945A8A89E094E39093A1 -:102FF0009E0980939D09F2CF109219141092181413 -:1030000088EE93E0A0E0B0E080931A1490931B1434 -:10301000A0931C14B0931D1489E893E090931714A7 -:103020008093161485ED90E09093231480932214DE -:1030300084ED90E0909325148093241480ED90E02B -:10304000909327148093261481ED90E09093291497 -:103050008093281482ED90E090932B1480932A148F -:1030600086ED90E090932D1480932C1410922F14E1 -:1030700010923014109231141092321410920C15D8 -:1030800010920F151092F1141092F414E0E8F6E18A -:10309000108213827B9627E1EE38F207C9F789E1A7 -:1030A0008093ED141092F0141092E5141092B31462 -:1030B0001092B61480919315843220F08FEF809394 -:1030C000941513C091E0980F9093931580939415E5 -:1030D00090E0FC01EE0FFF1F8E0F9F1FFC01E95DCA -:1030E000FA4E88EB9BE09283818380E1E0EBF5E18F -:1030F000DF01282F1D922A95E9F7E0EAF5E1DF01CB -:103100001D928A95E9F710929C1510929D151092C8 -:103110009E1510929F1510929B1510929A15109261 -:10312000991510929815109297158AE580931116AB -:103130008093C11585EA809312168093C2158AE1A7 -:10314000E0E6F6E1DF011D928A95E9F781E08093E0 -:103150007A1680937B1680937C1680937D168093DD -:103160007E1680919817847F8B7F8093981710929A -:103170009417109295171092961710929717109215 -:103180009017109291171092921710929317109215 -:103190008F1710928E178EE091E0E0E8F6E1DF01E4 -:1031A0009C011D9221503040E1F78FEF80937F16F4 -:1031B0000895EF920F931F93CF93DF93E80147FD9C -:1031C00002C034E001C034E1042E000C550B57FF5F -:1031D00003C0519541955109E32E022F242FAE01D2 -:1031E0000F94DE20CE01DF91CF911F910F91EF90D0 -:1031F00008958F929F92AF92BF92CF92DF92EF92FB -:10320000FF92CF93DF93EC01688179818A819B8162 -:10321000611571058105910521F464E279ED8BE575 -:1032200097E02DE133EF41E050E00F94792449011C -:103230005A019B01AC01A7EAB1E40F9498246B01F9 -:103240007C01ACEEB4EFA50194010F94A624DC013F -:10325000CB018C0D9D1DAE1DBF1DB7FF03C0019797 -:10326000A109B04888839983AA83BB83BC01CD019F -:103270009F77DF91CF91FF90EF90DF90CF90BF903D -:10328000AF909F908F9008958F929F92AF92BF9230 -:10329000CF92DF92EF92FF92609171027091720271 -:1032A00080917302909174026115710581059105F9 -:1032B00021F464E279ED8BE597E02DE133EF41E015 -:1032C00050E00F94792449015A019B01AC01A7EA0F -:1032D000B1E40F9498246B017C01ACEEB4EFA5012E -:1032E00094010F94A624DC01CB018C0D9D1DAE1D15 -:1032F000BF1DB7FF03C00197A109B04880937102B9 -:1033000090937202A0937302B0937402BC01CD013A -:103310009F77FF90EF90DF90CF90BF90AF909F90FE -:103320008F9008956093710270937202809373027C -:103330009093740208958F929F92AF92BF92CF9212 -:10334000DF92EF92FF920F931F93CF93DF93EC01E5 -:103350006B016115710519F0FB01918380837E017A -:10336000FFEFEF1AFF0A0881802F90E00F94321DC3 -:10337000892B11F0E701F3CF0D3239F47E0182E0A1 -:10338000E80EF11C098111E008C00B3229F47E011E -:1033900092E0E90EF11C098110E0E701219743E07A -:1033A00050E06AE374E0CE010F94581D892BC1F4FC -:1033B000239645E050E065E374E0CE010F94581D7C -:1033C000892B09F42596C114D10419F0F601D18393 -:1033D000C0831111F6C060E070E080E89FE7FAC09A -:1033E00043E050E062E374E0CE010F94581D892B56 -:1033F00059F4C114D10409F4E9C0F2E0EF0EF11C54 -:10340000F601F182E082E2C020E030E0A901C0E0F4 -:10341000D0E0F70160EDA62EA00E89E08A1530F10C -:10342000912F9260B92E812F887012FF04C08111F4 -:1034300024C0219622C081112197A5E0B0E00F940D -:103440009824DC01CB01880F991FAA1FBB1F9C0188 -:10345000AD012A0D311D411D511D283989E938075B -:10346000480789E1580748F0166006C09EEFA91288 -:103470000AC013FD40C01860B12E8FEFE81AF80A99 -:1034800000811B2DC6CF802F8F7D8534A1F58081D3 -:103490008D3211F4106106C08B3221F0319661E05B -:1034A00070E004C08181329662E070E080538A301F -:1034B00018F0E61BF70B1FC060E070E060389CE07E -:1034C00079075CF4DB01AA0FBB1FAA0FBB1F6A0FB1 -:1034D0007B1F660F771F680F711D3196DF011197F3 -:1034E0008C9180538A3050F314FF03C0719561951D -:1034F0007109C60FD71F11FF08C0C114D10429F0EC -:10350000CF010197F60191838083CA01B9010F941D -:10351000061E212F2370233019F04B015C0106C0D9 -:103520004B015C01B7FAB094B7F8B09420E030E0FA -:10353000A901C501B4010F94011E882309F43EC0FE -:10354000D7FF06C0D195C195D10901E514E002C0AD -:1035500009E614E06801F8E1CF1AD10890E2E92EFB -:10356000F12CCE15DF0574F0F801259135914591C8 -:103570005491C501B4010F94671E4B015C01CE1933 -:10358000DF09EFCF04501109F594E7940C151D05E0 -:1035900041F78A2D880F8B2D881F8F3F49F020E03F -:1035A00030E0A901C501B4010F94011E811106C0CC -:1035B00082E290E09093AD1D8093AC1DC501B401F3 -:1035C00009C060E070E080E89FEF04C060E070E058 -:1035D00080EC9FE7DF91CF911F910F91FF90EF90CB -:1035E000DF90CF90BF90AF909F908F9008953F92C3 -:1035F0004F925F926F927F928F929F92AF92BF9203 -:10360000CF92DF92EF92FF920F931F93CF93DF93AE -:103610005C016B017A016115710519F0FB01918361 -:103620008083E114F10429F0C7010297839708F021 -:10363000E5C0E5012196F5011081812F90E00F94FE -:10364000321D892B11F05E01F4CF1D3229F4219631 -:10365000F501118101E007C01B3221F4E50122963A -:10366000F501118100E0E114F10409F1F0E1EF1638 -:10367000F10429F43FC010E3E114F10421F128E042 -:10368000E216F10401F154F4E2E0EE16F10421F542 -:10369000812C912CA12CB0E4BB2E3EC0FAE0EF1699 -:1036A000F10439F020E1E216F104B1F430C0103336 -:1036B00019F1FAE0EF2EF12CACEC8A2E982CA82C04 -:1036C000ACE0BA2E29C078E0E72EF12C812C912CA9 -:1036D000A12CE0E1BE2E20C060E070E080E090E828 -:1036E00097010F2C000C440B550B0F9457244901E4 -:1036F0005A0112C0103359F488818F7D883509F042 -:10370000BACF19812296026080E1E82EF12C812C3B -:10371000912CA12C68E0B62E40E060E070E0CB0177 -:1037200027010F2C000C66087708FE0150ED352E9E -:10373000310E29E0231570F42FEB210F2A3118F4F4 -:1037400039EC332E06C02FE9210F2A3118F529EA6A -:10375000322E310E232D30E02E153F05DCF447FDCF -:1037600016C086169706A806B90670F0A301920146 -:103770000F944724630D711D811D911D61307105EA -:10378000810520E8920710F04FEF01C041E021963B -:103790001081CBCF202F2170C114D10471F04423AC -:1037A00029F02197F601D183C08307C001FF19C01A -:1037B0002297F601D183C08314C047FF12C0222391 -:1037C00029F060E070E080E090E804C06FEF7FEFE8 -:1037D0008FEF9FE722E230E03093AD1D2093AC1DC8 -:1037E00009C0222381F090958095709561957F4F57 -:1037F0008F4F9F4F462F372F282F12C040E030E0C9 -:1038000020E090E00DC097FFF5CF82E290E090932A -:10381000AD1D8093AC1D6FEF7FEF8FEF9FE7EACF79 -:10382000642F732F822FDF91CF911F910F91FF9003 -:10383000EF90DF90CF90BF90AF909F908F907F9050 -:103840006F905F904F903F9008953F924F925F929C -:103850006F927F928F929F92AF92BF92CF92DF92A0 -:10386000EF92FF920F931F93CF93DF935C016B0155 -:103870007A016115710519F0FB0191838083E114D0 -:10388000F10429F0C7010297839708F0C9C0E50148 -:103890002196F5011081812F90E00F94321D892B24 -:1038A00011F05E01F4CF1D3229F42196F50111814A -:1038B00001E007C01B3221F4E5012296F5011181D8 -:1038C00000E0E114F104B1F0F0E1EF16F10429F4A5 -:1038D000B0C010E3E114F10401F12AE0E216F104B2 -:1038E000B1F180E1E816F10471F0E8E0EE16F104C0 -:1038F000F1F413C0103341F588818F7D883549F785 -:10390000198122960260F0E1EF2EF12C88248A942E -:10391000982CA82CAFE0BA2E20C078E0E72EF12C2E -:1039200088248A94982CA82CEFE1BE2E16C06FEF45 -:103930007FEFCB0197010F2C000C440B550B0F941C -:10394000572449015A0109C08AE0E82EF12C69E99F -:10395000862E982CA82C69E1B62E40E060E070E03D -:10396000CB0127010F2C000C66087708FE0150EDF3 -:10397000352E310E29E0231570F42FEB210F2A315B -:1039800018F439EC332E06C02FE9210F2A3130F517 -:1039900029EA322E310E232D30E02E153F05F4F4A6 -:1039A0004F3FC9F086169706A806B90688F0A3010E -:1039B00092010F944724232D30E040E050E0620F45 -:1039C000731F841F951F621773078407950710F4F0 -:1039D0004FEF01C041E021961081C8CFC114D1043E -:1039E00051F0442311F0219703C001FF04C0229736 -:1039F000F601D183C08300FF07C090958095709534 -:103A000061957F4F8F4F9F4F4F3F79F482E290E057 -:103A10009093AD1D8093AC1D3FEF2FEF9FEF0DC036 -:103A200040E030E020E090E008C0462F372F282FFC -:103A300004C0103309F067CF5FCF642F732F822F3C -:103A4000DF91CF911F910F91FF90EF90DF90CF907A -:103A5000BF90AF909F908F907F906F905F904F90AE -:103A60003F90089591110D942D23803219F08950C3 -:103A70008550C8F70895FB01DC0102C005900D9246 -:103A800041505040D8F70895FC010590061621F0EA -:103A90000020D9F7C00108953197CF010895FC01A6 -:103AA00005900020E9F7809590958E0F9F1F08954F -:103AB000FB01DC014150504088F08D9181341CF0B5 -:103AC0008B350CF4805E659161341CF06B350CF421 -:103AD000605E861B611171F3990B0895881BFCCF02 -:103AE000FB01DC014150504048F005900D92002050 -:103AF000C9F701C01D9241505040E0F70895FB0105 -:103B000055915523A9F0BF01DC014D914517411195 -:103B1000E1F759F4CD010590002049F04D91401591 -:103B20004111C9F3FB014111EFCF81E090E0019712 -:103B300008950F931F93CF93DF93CDB7DEB72E97E2 -:103B40000FB6F894DEBF0FBECDBF0E891F898EE081 -:103B50008C831A8309838FEF9FE79E838D83AE0149 -:103B6000465E5F4F688D798DCE0101960F94D41E0D -:103B7000EF81F885E00FF11F10822E960FB6F894B2 -:103B8000DEBF0FBECDBFDF91CF911F910F91089582 -:103B90000F931F93CF93DF93CDB7DEB72E970FB65A -:103BA000F894DEBF0FBECDBF8C01FA018EE08C838E -:103BB0001A83098377FF02C060E070E8CB010197A8 -:103BC0009E838D83A901BF01CE0101960F94D41E5F -:103BD0004D815E8157FD0AC02F81388542175307FA -:103BE0000CF49A01F801E20FF31F10822E960FB623 -:103BF000F894DEBF0FBECDBFDF91CF911F910F9123 -:103C000008950F94431E08F481E00895E89409C0D4 -:103C100097FB3EF490958095709561957F4F8F4FFF -:103C20009F4F9923A9F0F92F96E9BB279395F69515 -:103C3000879577956795B795F111F8CFFAF4BB0F93 -:103C400011F460FF1BC06F5F7F4F8F4F9F4F16C0F7 -:103C5000882311F096E911C0772321F09EE8872F81 -:103C6000762F05C0662371F096E8862F70E060E03D -:103C70002AF09A95660F771F881FDAF7880F9695B6 -:103C8000879597F90895990F0008550FAA0BE0E85A -:103C9000FEEF16161706E807F907C0F0121613060E -:103CA000E407F50798F0621B730B840B950B39F44E -:103CB0000A2661F0232B242B252B21F408950A26B4 -:103CC00009F4A140A6958FEF811D811D08950F94E1 -:103CD0007A1E0D94F7230F94E92338F00F94F02304 -:103CE00020F0952311F00D94E0230D94E623112488 -:103CF0000D942B240F94082470F3959FC1F3950F16 -:103D000050E0551F629FF001729FBB27F00DB11D5F -:103D1000639FAA27F00DB11DAA1F649F6627B00DEF -:103D2000A11D661F829F2227B00DA11D621F739FD8 -:103D3000B00DA11D621F839FA00D611D221F749FE6 -:103D40003327A00D611D231F849F600D211D822F2D -:103D5000762F6A2F11249F5750409AF0F1F0882354 -:103D60004AF0EE0FFF1FBB1F661F771F881F915081 -:103D70005040A9F79E3F510580F00D94E0230D942B -:103D80002B245F3FE4F3983ED4F3869577956795AF -:103D9000B795F795E7959F5FC1F7FE2B880F911DAB -:103DA0009695879597F908952F923F924F925F923B -:103DB0006F927F928F929F92AF92BF92CF92DF923B -:103DC000EF92FF920F931F93CF93DF93CDB7DEB7A0 -:103DD0002B970FB6F894DEBF0FBECDBF6C017B01F1 -:103DE0008A01FC0117821682838181FFCCC1CE013A -:103DF00001963C01F6019381F70193FD859193FFB4 -:103E000081917F01882309F4BAC1853239F493FD89 -:103E1000859193FF81917F01853229F4B60190E06D -:103E20000F944623E7CF912C212C312CFFE1F31581 -:103E3000D8F08B3279F038F4803279F08332A1F403 -:103E4000232D20611DC08D3261F0803369F4232D54 -:103E5000216016C0832D8260382EE32DE4603E2E53 -:103E60002AC0F32DF8601DC037FC2DC020ED280FAF -:103E70002A3040F08E32B9F436FC81C1232D206403 -:103E8000322E19C036FE06C08AE0989E200D1124FD -:103E9000922E11C0EAE02E9E200D1124222EF32D29 -:103EA000F0623F2E08C08C3621F4832D8068382EB6 -:103EB00002C0883641F4F70193FD859193FF81910B -:103EC0007F018111B3CF982F9F7D9554933028F4B3 -:103ED0000C5F1F4F9FE399830DC0833631F083370A -:103EE00071F0833509F059C021C0F80180818983C0 -:103EF0000E5F1F4F88248394912C530113C0280117 -:103F0000F2E04F0E511CF801A080B18036FE03C0D4 -:103F1000692D70E002C06FEF7FEFC5010F943B2366 -:103F20004C018201F32DFF773F2E16C0280122E0BD -:103F3000420E511CF801A080B18036FE03C0692DED -:103F400070E002C06FEF7FEFC5010F9430234C018A -:103F5000F32DF0683F2E820133FC1BC0822D90E0D0 -:103F600088169906B0F4B60180E290E00F944623DB -:103F70002A94F4CFF50137FC859137FE81915F01DA -:103F8000B60190E00F94462321102A9421E0821A72 -:103F900091088114910471F7E8C0843611F08936D4 -:103FA00041F5F80137FE07C06081718182819381FC -:103FB0000C5F1F4F08C060817181072E000C880BB9 -:103FC000990B0E5F1F4FF32DFF763F2E97FF09C011 -:103FD00090958095709561957F4F8F4F9F4FF068BA -:103FE0003F2E2AE030E0A3010F948223882E86180A -:103FF00045C0853731F4232D2F7EB22E2AE030E0E4 -:1040000025C0932D997FB92E8F36C1F018F48835CD -:1040100079F0B5C0803719F0883721F0B0C0E92FAA -:10402000E061BE2EB4FE0DC0FB2DF460BF2E09C0B2 -:1040300034FE0AC0292F2660B22E06C028E030E0E8 -:1040400005C020E130E002C020E132E0F801B7FE17 -:1040500007C060817181828193810C5F1F4F06C010 -:104060006081718180E090E00E5F1F4FA3010F948B -:104070008223882E8618FB2DFF773F2E36FE0DC03B -:10408000232D2E7FA22E891458F434FE0BC032FC4F -:1040900009C0832D8E7EA82E05C0B82CA32C03C08A -:1040A000B82C01C0B92CA4FE0FC0FE01E80DF11D13 -:1040B0008081803321F49A2D997EA92E09C0A2FE19 -:1040C00006C0B394B39404C08A2D867809F0B394E3 -:1040D000A3FC11C0A0FE06C0B21488F4280C922CD8 -:1040E0009B180EC0B21460F4B60180E290E00F9409 -:1040F0004623B394F7CFB21418F42B1802C0982CAF -:10410000212CA4FE10C0B60180E390E00F9446235A -:10411000A2FE17C0A1FC03C088E790E002C088E5BA -:1041200090E0B6010CC08A2D867859F0A1FE02C03D -:104130008BE201C080E2A7FC8DE2B60190E00F9413 -:104140004623891438F4B60180E390E00F944623A7 -:104150009A94F7CF8A94F301E80DF11D8081B6019E -:1041600090E00F9446238110F5CF222009F442CE2F -:10417000B60180E290E00F9446232A94F6CFF60130 -:104180008681978102C08FEF9FEF2B960FB6F89430 -:10419000DEBF0FBECDBFDF91CF911F910F91FF907A -:1041A000EF90DF90CF90BF90AF909F908F907F90D7 -:1041B0006F905F904F903F902F9008958F929F92B5 -:1041C000AF92BF92CF92DF92EF92FF920F931F9325 -:1041D000CF93DF93CDB7DEB729970FB6F894DEBF44 -:1041E0000FBECDBF6A01122FB02E2BE3201720F097 -:1041F000FF24F394F00E02C02CE3F22E0F2D27E0E3 -:10420000AE014F5F5F4F0F945522BC014981842F4F -:104210008970813031F0E1FC06C0E0FE06C090E21A -:1042200005C09DE203C09BE201C090E05E2D50718D -:1042300043FF3CC0911102C083E001C084E08117BC -:1042400018F4212F281B01C020E051110BC0F601EA -:10425000822F30E2882319F031938150FBCFC20EB8 -:10426000D11C20E0992329F0D6019C93F6013196C8 -:104270006F01C6010396E2FE0AC03EE4D6013C93FC -:1042800041E411964C93119712963C9306C03EE67A -:10429000F601308341E641833283FC01322F40E254 -:1042A000332309F442C041933150FACF42FF44C056 -:1042B000911102C083E001C084E0811718F4212F1E -:1042C000281B01C020E051110BC0F601822F30E203 -:1042D000882319F031938150FBCFC20ED11C20E00E -:1042E000992329F0D6019C93F60131966F01C601FE -:1042F0000396E2FE0BC039E4D6013C933EE41196EE -:104300003C93119736E412963C9307C039E6F601C8 -:1043100030833EE6318336E63283FC01322F40E2C1 -:10432000332319F041933150FBCFFC01E20FF11D13 -:1043300010828EEF9FEFA6C021E030E0911102C005 -:1043400020E030E0161617061CF4FB01319602C07F -:10435000E1E0F0E02E0F3F1FBB2021F0EB2DF0E05D -:10436000319602C0E0E0F0E02E0F3F1FE12FF0E0B9 -:104370002E173F071CF4121B212F01C020E08E2DA9 -:10438000887159F4F601822F30E2882319F03193B5 -:104390008150FBCFC20ED11C20E0992329F0D60119 -:1043A0009C93F60131966F0151110BC0F601822FDB -:1043B00090E3882319F091938150FBCFC20ED11C5A -:1043C00020E00F2D060F9A81342F307144FF03C077 -:1043D000913309F40150101624F4093018F008E064 -:1043E00001C001E0AB0177FF02C040E050E0FB01FB -:1043F000E41BF50BA1E0B0E0AC0FBD1FEA0FFB1F03 -:104400008EE2A82E4B01801A91080B2D10E0119519 -:10441000019511094F3FBFEF5B0721F4D601AC9224 -:1044200011966D01641775072CF08416950614F427 -:10443000818101C080E3415051093196D601119626 -:104440007D014017510724F0D6018C936701E2CF1C -:104450006417750739F4963320F4953319F4311144 -:1044600001C081E3F6018083F701822F90E2882367 -:1044700019F091938150FBCFF701E20FF11D1082EB -:1044800080E090E029960FB6F894DEBF0FBECDBF56 -:10449000DF91CF911F910F91FF90EF90DF90CF9020 -:1044A000BF90AF909F908F900895283008F027E03C -:1044B0003327DA01990F311D87FD91600096610560 -:1044C000710539F432602E5F3D9330E32A95E1F7B0 -:1044D00008959F3F30F080387105610509F03C5F19 -:1044E0003C5F3D93913008F08068911DDF93CF933E -:1044F0001F930F93FF92EF92192F987F9695E92FB4 -:1045000096959695E90FFF27E953FB4F9927332797 -:10451000EE24FF24A701E70105900894079428F4EE -:10452000360FE71EF81E491F511D660F771F881FA3 -:10453000991F0694A1F70590079428F4E70EF81E3A -:10454000491F561FC11D770F881F991F661F0694AC -:10455000A1F70590079428F4F80E491F561FC71FAE -:10456000D11D880F991F661F771F0694A1F705902C -:10457000079420F4490F561FC71FD81F990F661FB5 -:10458000771F881F0694A9F784911095177041F042 -:10459000D695C79557954795F794E7941A95C1F71F -:1045A000EDE6F4E06894159015913591659195913B -:1045B00005907FE27395E118F10A430B560BC90B86 -:1045C000D009C0F7E10CF11E431F561FC91FD01DB3 -:1045D0007EF4703311F48A95E6CFE894015030F000 -:1045E000080F0AF40027021708F4202F2395022F42 -:1045F0007A3328F079E37D932A95E9F710C07D930B -:104600002A9589F606949795679537951795179487 -:10461000E118F10A430B560BC90BD00998F023950A -:104620007E9173957A3308F070E37C932013B8F78A -:104630007E9170617D9330F0839571E37D9370E39B -:104640002A95E1F71124EF90FF900F911F91CF91E0 -:10465000DF91992787FD90950895992788270895D8 -:10466000FC010590615070400110D8F7809590953D -:104670008E0F9F1F0895FC01615070400190011042 -:10468000D8F7809590958E0F9F1F08950F931F93D5 -:10469000CF93DF93FB01238121FD03C08FEF9FEFB9 -:1046A0002CC022FF16C046815781248135814217D4 -:1046B000530744F4A081B1819D012F5F3F4F3183A7 -:1046C00020838C93268137812F5F3F4F378326834A -:1046D00014C08B01EC01FB010084F185E02D1995DC -:1046E000892BE1F6D80116968D919C91179701962A -:1046F00017969C938E931697CE01DF91CF911F91C1 -:104700000F910895FA01AA27283051F1203181F143 -:10471000E8946F936E7F6E5F7F4F8F4F9F4FAF4FC9 -:10472000B1E03ED0B4E03CD0670F781F891F9A1FDC -:10473000A11D680F791F8A1F911DA11D6A0F711D90 -:10474000811D911DA11D20D009F468943F912AE09C -:10475000269F11243019305D3193DEF6CF01089584 -:10476000462F4770405D4193B3E00FD0C9F7F6CFB5 -:10477000462F4F70405D4A3318F0495D31FD40527D -:10478000419302D0A9F7EACFB4E0A6959795879513 -:1047900077956795BA95C9F70097610571050895F2 -:1047A0009B01AC010A2E069457954795379527959E -:1047B000BA95C9F7620F731F841F951FA01D089536 -:1047C00097F99F6780E870E060E008959FEF80ECC4 -:1047D000089500240A941616170618060906089567 -:1047E00000240A9412161306140605060895092ECD -:1047F0000394000C11F4882352F0BB0F40F4BF2B3C -:1048000011F460FF04C06F5F7F4F8F4F9F4F08957B -:1048100057FD9058440F551F59F05F3F71F0479571 -:10482000880F97FB991F61F09F3F79F08795089556 -:10483000121613061406551FF2CF4695F1DF08C075 -:10484000161617061806991FF1CF86957105610592 -:1048500008940895E894BB2766277727CB0197F93A -:104860000895F999FECF92BD81BDF89A992780B538 -:104870000895262FF999FECF1FBA92BD81BD20BDA4 -:104880000FB6F894FA9AF99A0FBE01960895DB01D3 -:104890008F939F930F949824BF91AF91A29F800D07 -:1048A000911DA39F900DB29F900D11240895A1E238 -:1048B0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F9A -:1048C000FF1FA217B307E407F50720F0A21BB30BE5 -:1048D000E40BF50B661F771F881F991F1A9469F761 -:1048E00060957095809590959B01AC01BD01CF01BD -:1048F0000895052E97FB1EF400940F94902457FD05 -:1049000007D00F94572407FC03D04EF40D94902445 -:1049100050954095309521953F4F4F4F5F4F0895EB -:1049200090958095709561957F4F8F4F9F4F08951B -:104930000F94AB24A59F900DB49F900DA49F800D64 -:10494000911D11240895B7FF0D9498240F94982475 -:10495000821B930B0895A29FB001B39FC001A39F38 -:10496000700D811D1124911DB29F700D811D1124A8 -:10497000911D0895991B79E004C0991F961708F0BE -:10498000961B881F7A95C9F780950895AA1BBB1BB3 -:1049900051E107C0AA1FBB1FA617B70710F0A61B3F -:1049A000B70B881F991F5A95A9F780959095BC0160 -:1049B000CD01089597FB072E16F4009407D077FDDC -:1049C00009D00F94C62407FC05D03EF4909581953C -:1049D0009F4F0895709561957F4F0895EE0FFF1FCB -:1049E000881F8BBF0790F691E02D19945058BB2774 -:1049F000AA270F940E250D94F7230F94E92338F07E -:104A00000F94F02320F039F49F3F19F426F40D940D -:104A1000E6230EF4E095E7FB0D94E023E92F0F94D5 -:104A2000082458F3BA17620773078407950720F024 -:104A300079F4A6F50D942A240EF4E0950B2EBA2FE6 -:104A4000A02D0B01B90190010C01CA01A001112494 -:104A5000FF27591B99F0593F50F4503E68F11A1640 -:104A6000F040A22F232F342F4427585FF3CF4695D1 -:104A700037952795A795F0405395C9F77EF41F16F3 -:104A8000BA0B620B730B840BBAF09150A1F0FF0FBD -:104A9000BB1F661F771F881FC2F70EC0BA0F621FA9 -:104AA000731F841F48F4879577956795B795F79599 -:104AB0009E3F08F0B0CF9395880F08F09927EE0F2E -:104AC0009795879508950F94E92360F080E891E029 -:104AD00009F49EEF0F94F02328F040E851E071F4C0 -:104AE0005EEF0CC00D94E6230D942A24E92FE078A4 -:104AF0000F94082440F3092E052AB1F3261737072F -:104B00004807590738F00E2E07F8E02569F0E02530 -:104B1000E0640AC0EF6307F8009407FADB01B9010B -:104B20009D01DC01CA01AD01EF930F9408260F949B -:104B3000F7230F94A6255F91552339F02BED3FE025 -:104B400049E450FD49EC0D94F7240895DF93DD27E7 -:104B5000B92FBF7740E85FE31616170648075B07D3 -:104B600018F4D92F0F945C279F938F937F936F93A3 -:104B70000F94E527EEEEF1E00F94D9260F94F7237A -:104B80002F913F914F915F910F947A1EDD2351F049 -:104B90009058A2EA2AED3FE049EC5FE3D0785D2728 -:104BA0000F940E25DF910D94F7230F943F2790F07B -:104BB0009F3748F4911116F40D942B2460E070E0B7 -:104BC00080E89FE3089526F01B16611D711D811D6D -:104BD0000D94B0260D94CB260F940227E3950D94E7 -:104BE0002B270F9405260D94F7230F94F02358F0EC -:104BF0000F94E92340F029F45F3F29F00D94E0235E -:104C000051110D942B240D94E6230F94082468F37E -:104C10009923B1F3552391F3951B550BBB27AA2775 -:104C200062177307840738F09F5F5F4F220F331FAF -:104C3000441FAA1FA9F335D00E2E3AF0E0E832D077 -:104C400091505040E695001CCAF72BD0FE2F29D07A -:104C5000660F771F881FBB1F261737074807AB074C -:104C6000B0E809F0BB0B802DBF01FF2793585F4FC1 -:104C70003AF09E3F510578F00D94E0230D942B24DB -:104C80005F3FE4F3983ED4F3869577956795B795A3 -:104C9000F7959F5FC9F7880F911D9695879597F9AE -:104CA0000895E1E0660F771F881FBB1F6217730727 -:104CB0008407BA0720F0621B730B840BBA0BEE1F3C -:104CC00088F7E09508950F946A266894B1110D94C1 -:104CD0002B2408950F94102488F09F5798F0B92F33 -:104CE0009927B751B0F0E1F0660F771F881F991F21 -:104CF0001AF0BA95C9F714C0B13091F00F942A2474 -:104D0000B1E008950D942A24672F782F8827B85F83 -:104D100039F0B93FCCF3869577956795B395D9F778 -:104D20003EF490958095709561957F4F8F4F9F4F82 -:104D300008950F943F2790F09F3748F4911116F093 -:104D40000D942B2460E070E080E89FEB089526F43A -:104D50001B16611D711D811D0D94B0260D94CB266F -:104D6000882371F4772321F09850872B762F07C082 -:104D7000662311F499270DC09051862B70E060E0F6 -:104D80002AF09A95660F771F881FDAF7880F969595 -:104D9000879597F908959F3F31F0915020F48795BA -:104DA00077956795B795880F911D9695879597F993 -:104DB0000895DF93CF931F930F93FF92EF92DF92AB -:104DC0007B018C01689406C0DA2EEF010F947A1EE5 -:104DD000FE01E894A5912591359145915591A6F351 -:104DE000EF010F940E25FE019701A801DA9469F7EF -:104DF000DF90EF90FF900F911F91CF91DF91089579 -:104E00000D94E6230F941024D8F3E894E0E0BB2738 -:104E10009F57F0F02AED3FE049EC06C0EE0FBB0FC4 -:104E2000661F771F881F28F0B23A6207730784074E -:104E300028F0B25A620B730B840BE3959A9572F7C4 -:104E4000803830F49A95BB0F661F771F881FD2F702 -:104E500090480D94CD26EF93E0FF07C0A2EA2AED1B -:104E60003FE049EC5FEB0F940E250F94F7230F9072 -:104E7000039401FC9058EBE1F2E00D94F5270F94B8 -:104E80001024A0F0BEE7B91788F4BB279F3860F460 -:104E90001616B11D672F782F8827985FF7CF869554 -:104EA00077956795B11D93959639C8F308950F943A -:104EB000431E08F48FEF08959B01AC0160E070E0A1 -:104EC00080E89FE30D94F1250F94102458F19E572C -:104ED00060F19851A0F0E9F0983020F5092E99275B -:104EE000660F771F881F991F0A94D1F712C0062EEC -:104EF000672F782F8827985F11F4000C07C0993F1F -:104F0000B4F38695779567959395D9F7611D711DD3 -:104F1000811D3EF490958095709561957F4F8F4FE0 -:104F20009F4F089568940D942B240D942A249F93E9 -:104F30000F9402270F9007FCEE5F0D942B2719F4B6 -:104F400016F40D94E6230D94CB260F941024B8F399 -:104F50009923C9F3B6F39F57550B87FF0F94EE279C -:104F60000024A0E640EA900180585695979528F4D1 -:104F7000805C660F771F881F20F0261737074807C9 -:104F800030F4621B730B840B202931294A2BA69520 -:104F900017940794202531254A2758F7660F771F65 -:104FA000881F20F026173707480730F4620B730B71 -:104FB000840B200D311D411DA09581F7B901842F6F -:104FC0009158880F9695879508959B01AC010D9493 -:104FD000671E0F94431E880B990B08959150504003 -:104FE000660F771F881FD2F708959F938F937F9343 -:104FF0006F93FF93EF939B01AC010F94671EEF91AA -:10500000FF910F94D9262F913F914F915F910D946D -:10501000671E81E090E0F8940D94B32891110895F3 -:1050200081548A5108F4805E855A0895FB01DC01A1 -:1050300004C08D910190801921F441505040C8F76F -:10504000881B990B0895FB01DC0102C001900D92B1 -:1050500041505040D8F70895FB01DC018D91813417 -:105060001CF08B350CF4805E619161341CF06B3563 -:105070000CF4605E861B611189F3990B0895FB01A6 -:10508000DC010D900020E9F7119701900D920020AE -:10509000E1F70895FC018191861721F08823D9F763 -:1050A000992708953197CF010895FB01DC01019004 -:1050B0000D920020E1F70895FB01DC0141505040C2 -:1050C00030F08D910190801919F40020B9F7881BF8 -:1050D000990B0895FB01DC014150504048F00190CC -:1050E0000D920020C9F701C01D9241505040E0F7D9 -:1050F0000895FC0181E090E00190061609F4CF01CB -:105100000020D1F7019708950F931F93CF93DF935A -:10511000CDB7DEB72E970FB6F894DEBF0FBECDBF6A -:105120000E891F8986E08C831A8309838FEF9FE79E -:105130009E838D83AE01465E5F4F688D798DCE0173 -:1051400001960F94D41EEF81F885E00FF11F1082B5 -:105150002E960FB6F894DEBF0FBECDBFDF91CF9174 -:105160001F910F9108951DE1CCE1DDE100E006C043 -:10517000802FFE010F94EE242196011DCD31D10721 -:0A51800080E00807A9F7F894FFCFBC -:10518A0002C0D401000180000000FF3FFF3F000081 -:10519A000000FF3F010000803FA000640000007A89 -:1051AA004300005243CDCCCC3D0101FFFFFFFF017C -:1051BA00015CFF79C4000000000000ED430000001C -:1051CA00000000E143000000000000EB430164001E -:1051DA000000803F80800110FF06010000A040000F -:1051EA0000C8420000C8419D9DF0FF79C4F0FF79D4 -:1051FA00C4010000000210000004100000061000A4 -:10520A0000081000000A1000000C10000026100010 -:10521A00003010000032100000341000003A100074 -:10522A00003E10000040100000441000004610002C -:10523A0000481000004A1000004C100000541000F2 -:10524A000056100000581000005C1000005E1000AC -:10525A00005F100000881000000000000058595A32 -:10526A004500409C4500007A4500007A43000070E2 -:10527A0042B400F00046006E0000004040000034D6 -:10528A004200000000000000000000000000005082 -:10529A0041000000000000004164000000640000BA -:1052AA000003000000640000006400000003000026 -:1052BA0000030000001E0000001E0000001E000087 -:1052CA00001E0000001E0000001E0000000A005A16 -:1052DA0000E8030000BC020000640000004B00006C -:1052EA00000000A0420000A0420000C84300000CD9 -:1052FA00430000FA430000C84300007041000096D2 -:10530A00425637300000000000585CC15BEF5BA5D5 -:10531A005C205CFE5B125CFF3F1CC6FF3F1CC600A4 -:10532A000000002A2A2A496E6974696E672063613F -:10533A007264206973204F4B2A2A2A002A2A2A4992 -:10534A006E6974696E672063617264206661696C54 -:10535A00732A2A2A002A2A2A436172642052656D16 -:10536A006F7665642A2A2A003D3D77616974776100 -:10537A007920313D3D003D3D77616974776179203F -:10538A00333D3D002020737461727470726F6772CE -:10539A00657373200020202A2A2A2A2A2A2A52548C -:1053AA00535F48616E646C65446174612A2A2A2AD3 -:1053BA002A2A2A2A20003D3D20436865636B6B65D3 -:1053CA00793D3D000A2048616E646C652044617431 -:1053DA0061205072696E7446696C6520312053658C -:1053EA007474696E672053637265656E20000A20C3 -:1053FA0048616E646C652044617461205072696E04 -:10540A007446696C6520322053657474696E67202E -:10541A0053637265656E20000A2048616E646C658C -:10542A002044617461205072696E7446696C65200B -:10543A00332053657474696E672053637265656EB1 -:10544A0020000A2048616E646C6520446174612002 -:10545A0041646A75737420322053657474696E6787 -:10546A002053637265656E200074696E796D61639D -:10547A0068696E657333642E636F6D004368696E85 -:10548A00657365204E6F7420537570706F72746502 -:10549A006400456E676C69736820416C726561646B -:1054AA00792053657400496E76616C6964204F7087 -:1054BA0074696F6E000A204E6F2046696C616D65D3 -:1054CA006E74002046696C616D656E742052657356 -:1054DA00706F6E7365204E6F0046696C616D656E04 -:1054EA007420537461742030202D20310046696C79 -:1054FA00616D656E7420537461742030202D2032E2 -:10550A000046696C616D656E742053746174203055 -:10551A00202D20330046696C656E616D6500526509 -:10552A006364617461002020202020202020200054 -:10553A0025642F2564003D3D776169747761792080 -:10554A00343D3D003D3D7761697477617920353D91 -:10555A003D003D3D48656174696E6720446F6E6524 -:10556A00204368616E67652046696C616D656E747B -:10557A003D3D00526573756D6520596573206475EC -:10558A0072696E67207072696E740046696C656E26 -:10559A00616D652D4D65646961003D3D6F6E4669BB -:1055AA006C616D656E7452756E6F75743D3D002544 -:1055BA00642058202564205820256400544D334423 -:1055CA00204D617800322E305F44573320544D33DA -:1055DA00442035534D444242003D3D4477696E2094 -:1055EA00496E697420436F6D706C6574653D3D004A -:1055FA002F00590058003A207A3A2000206D656140 -:10560A006E3A2000207369676D613A2000206D6947 -:10561A006E3A2000206D61783A20002072616E6730 -:10562A00653A20004D65616E3A2000204D696E3A58 -:10563A002000204D61783A20002052616E67653A59 -:10564A0020005374616E64617264204465766961F6 -:10565A0074696F6E3A20003D3D6F6E5072696E74C8 -:10566A0054696D6572537461727465643D3D003DA1 -:10567A003D6F6E436F6E66696775726174696F6EAE -:10568A0053746F72655772697474656E3D3D007329 -:10569A00746F7070696E67203D3D002F2F616374CF -:1056AA00696F6E3A63616E63656C003D3D6F6E5063 -:1056BA0072696E7454696D657253746F7070656443 -:1056CA003D3D005265686561742066696E6973685C -:1056DA0065642E00436C69636B20746F2052657396 -:1056EA00756D652E2E2E003D3D6F6E5573657243A6 -:1056FA006F6E6669726D52657175697265643D3D5A -:10570A00003F3F3F00556E746F7563686564200003 -:10571A0050756C73696E6720202000202053544F07 -:10572A005745442028747269676765726564292041 -:10573A0073746174653A204849474820286C6F673A -:10574A00696320312900202053544F5745442028AB -:10575A007472696767657265642920737461746518 -:10576A003A204C4F5720286C6F6769632030290014 -:10577A003D3D6F6E53746F726553657474696E67DD -:10578A00733D3D00455252003D3D6F6E5072696E49 -:10579A007454696D65725061757365643D3D003D71 -:1057AA003D6F6E4C6F616453657474696E67733DC7 -:1057BA003D003D3D6F6E466163746F727952657349 -:1057CA0065743D3D00205A003D3D6F6E436F6E6625 -:1057DA00696775726174696F6E53746F7265526529 -:1057EA0061643D3D0042656420583A200020593AE0 -:1057FA002000205A3A20002A2A2A6B696C6C2A2A2D -:10580A002A005344557064617465002E67636F649F -:0A581A0065002E47434F444500008F -:00000001FF diff --git a/CR10Max_UBL_DW3.hex b/CR10Max_UBL_DW3.hex deleted file mode 100644 index 6666d54cf7..0000000000 --- a/CR10Max_UBL_DW3.hex +++ /dev/null @@ -1,11403 +0,0 @@ -:100000000C945C300C948D300C948D300C948D30AD -:100010000C948D300C948D300C948D300C948D306C -:100020000C948D300C948D300C948D300C948D305C -:100030000C948D300C948D300C948D300C948D304C -:100040000C948D300C94E18B0C948D300C948D308D -:100050000C948D300C948D300C9421FB0D947A3ED1 -:100060000C948D300C94E86D0C94DE6D0C948D30F6 -:100070000C948D300C948D300C948D300C948D300C -:100080000C9478650C948D300C948D300C948D30DC -:100090000C948D300C948D300C948D300C948D30EC -:1000A0000C948D300C948D300C944A650C948D30EA -:1000B0000C948D300C948D300C948D300C941C6508 -:1000C0000C948D300C948D300C948D300C948D707C -:1000D0000C9463700C948D300C948D300C948D3096 -:1000E0000C948D303C3282328832AF32BC32C53211 -:1000F000D032923AB23B8E3CC13C24482448DC3D8D -:100100007F3E8E3B244824481C40B541ED412448A5 -:10011000F14324482448424524482448CC45FF451F -:1001200024487B463747FC41044228424C428042E7 -:1001300029433D4356436343704384431B6E216E02 -:10014000336E436E4B6E786E4F6E786E536E576E95 -:10015000786E5B6E5F6E636E6B6E786E756E43A8C5 -:100160004AA8D0A8D5A82EAA33AA43AA2F02C9010B -:100170002502A9015B020F02130283013B0249021F -:10018000E101AF01AD0121020F022302F1013502AD -:10019000930187019101EB017701E5012D026701D0 -:1001A000ED01D9014302270289017F01E5014B02DC -:1001B000F301CD016F019B011502FD01B501B301F2 -:1001C0002902950147025F020302E70139028D010E -:1001D000B301D50175016D015102BB01A501F50106 -:1001E000FF01A10141023D028B0169014D02EF01B6 -:1001F0009D01DD01A1011F0207025702084AD73BFA -:100200003BCE016E84BCBFFDC12F3D6C74319ABDE5 -:1002100056833DDA3D00C77F11BED9E4BB4C3E9109 -:100220006BAAAABE000000803F05A84CCDB2D44EF8 -:10023000B93836A9020C50B9918688083CA6AAAAFA -:100240002ABE000000803F07634236B79BD8A71A3A -:1002500039685618AEBAAB558C1D3CB7CC5763BD48 -:100260006DEDFD753EF6177231BF000000803F084E -:10027000000000BE922449123EABAAAA2ABECDCCF1 -:10028000CC4C3E00000080BEABAAAAAA3E000000F3 -:1002900000BF000000803F0000000000084178D34C -:1002A000BB4387D1133D190E3CC3BD4282AD2B3EEB -:1002B00068EC8276BED98FE1A93E4C80EFFFBE018B -:1002C000C4FF7F3F0000000000000C948E3C0D94A2 -:1002D00088380D94B73D0C94AF320D94F13A0D94DB -:1002E000BC3A0C946B6E0C94756F0D94ED3A0D94B2 -:1002F00040380C944C420C94D0320C94536E0D94B4 -:1003000064390C94923A0D9446370C943C320D9417 -:10031000D6370D943F390D94AD3D0D94E33A0C94CE -:1003200080420D94F6370D94B4370D94C73A0C946F -:100330008E3B0C94C5320D94BF3A0D94DA3D0C946B -:10034000C26F0D940C3E0C9433AA0D947F3D0C9417 -:1003500070430D943C370C9463430D9457370D94C0 -:1003600054370C944AA80D94F63A0D94B83A0C946C -:1003700056430C942EAA0D947A3D0D94184E0C946D -:100380003D430C94D5A80C94336E0C9424480C94E3 -:10039000FF450D9435370C9443AA0D94D3390C9432 -:1003A0005F6E0C94216E0C94636E0D94E93A0C947C -:1003B0007F3E0D94D0380C94B23B0D94E43D0C94E8 -:1003C00043A80D9450370C94D0A80D94F7390D9490 -:1003D000DB3A0C942F6F0D941B380D94AB380D94B1 -:1003E000CB3D0D9461370D94AE390D94893D0C943D -:1003F00004420C945B6E0C94CC450D94B23A0D946F -:10040000933D0C94786E0D94D53A0C947B460D94E4 -:10041000F83D0C941B6F0C941C400C9482320D948C -:1004200069370C94576E0D9443370D94AE3A0C9483 -:10043000DC3D0D94BD4E0C94FC410C94DE6E0D948D -:10044000EE3D0D945A370D945E370D9439370D9467 -:100450001A390D94C33A0C94B5410D9465380D9436 -:1004600032370C944B6E0C944F6E0D9464370C9491 -:10047000BC320D94DF3A0D944A370D94A53D0C948F -:10048000756E0D949D3D0D94F5380C9442450D9478 -:10049000CD3A0D944D370D9489390D94C13D0C948E -:1004A0001B6E0D94753D0C94436E0C9429430D9472 -:1004B000023E0C943D6F0D943F370C9484430D9491 -:1004C000D13A0C94C13C0C940C6F0C9437470C94AB -:1004D000F1430C9428420C94ED410C9488324E4127 -:1004E0004E494E495459494E46CDCCCC3D0AD723AE -:1004F0003C17B7D13877CC2B329595E6241FB14FF6 -:100500000A000020410000C84200401C4620BCBE3A -:100510004CCA1B0E5AAEC59D7400407A10F35A00A7 -:10052000A0724E18090010A5D4E80000E87648171C -:100530000000E40B54020000CA9A3B000000E1F501 -:1005400005000080969800000040420F000000A0C7 -:100550008601000000102700000000E803000000F2 -:10056000006400000000000A00000000000100001C -:100570000000002C76D888DC674F0823DFC1DFAE8F -:1005800059E1B1B796E5E3E453C63AE65199769658 -:10059000E8E6C28426EB898C9B62ED407C6FFCEF21 -:1005A000BC9C9F40F2BAA56FA5F490055A2AF75C4F -:1005B000936B6CF9676DC11BFCE0E40D47FEF52001 -:1005C000E6B500D0ED902E030094357705008084C9 -:1005D0001E080000204E0A000000C80C33333333DD -:1005E0000F986E12831141EF8D2114893BE6551649 -:1005F000CFFEE6DB18D1844B381BF77C1D901DA481 -:10060000BBE424203284725E228100C9F124ECA173 -:10061000E53D274D323520500A4D32340050726985 -:100620006E742050617573656400526573756D65F5 -:10063000005549205061757365004E6F204D6174FF -:100640006368203A004D333033452D3153363543FE -:100650003455004D393939004D3530320A4D353079 -:1006600030004D3330334530533231354338550047 -:100670000A202A2A2A7265636461742E6461746197 -:100680005B305D203D004732380A4731204631302B -:100690003030205A313000556E737570706F72743F -:1006A0006564204F7074696F6E2053656C65637468 -:1006B0006564004D3139305335350A4732380A47C1 -:1006C000323950310A47323950330A4732395331BF -:1006D0000A47323953300A47323946302E300A47FA -:1006E0003239410A4D313034533231350A473238CC -:1006F0000A4D313039533231350A473158313530AE -:100700005931353046353030300A47315A300A4D8C -:100710003530300A4D3430300A4D31313720536591 -:1007200074205A204F666673657400473120463145 -:10073000303030205A302E30004732380A473120CE -:100740004631303030205A302E30004D35303000B8 -:100750005A204F6666736574203A202573004D3524 -:100760003030005A204F6666736574203A20257336 -:10077000004732385A0A473146313530305A302E28 -:1007800030004732380A473146313530305A302E42 -:1007900030004D383400473146313030305A302E39 -:1007A00030004732380A473146313030305A302E27 -:1007B00030005A204F6666736574203A2025730016 -:1007C0004D353030004D383400426567696E5377DF -:1007D00069746368007265636461742E6164647235 -:1007E000203D3D007265636461742E646174615BD9 -:1007F000305D203D3D0077616974776179203D3D32 -:10080000000A202A2A2A4E6F7A7A6C6554656D7028 -:100810005374617475735B325D203D00434F4D4DE1 -:10082000554E49434154494F4E0044525952554E3A -:10083000004552524F525300494E464F00454348DF -:100840004F0047322F47332062616420706172612C -:100850006D65746572730A00536C6565702E2E2E7B -:10086000005A2050726F6265205061737420426597 -:10087000640A005A2050726F6265205061737420C0 -:1008800042656400486F6D6520585920466972734F -:10089000740A00486F6D6520585920466972737458 -:1008A00000205A3A200020593A200042656420581E -:1008B0003A20004D65736820706F696E7420636123 -:1008C0006E6E6F74206265207265736F6C766564FE -:1008D0000A004D302F3120427265616B2043616CFC -:1008E0006C656400436F6E74696E7565004D302FE2 -:1008F0003120427265616B2043616C6C6564004E0F -:100900006F204D6F76652E00456E642066696C65BC -:10091000206C6973740A00426567696E2066696CB1 -:1009200065206C6973740A00526573756D65205398 -:100930004400286E6F2066696C65290043757272E9 -:10094000656E742066696C653A20002E0A00446565 -:100950006C6574696F6E206661696C65642C2046F5 -:10096000696C653A200046696C652064656C657445 -:1009700065643A005072696E742074696D653A203E -:10098000000A53746174733A2046696C616D656E38 -:100990007420757365643A20002C204C6F6E676577 -:1009A0007374206A6F623A2000546F74616C207413 -:1009B000696D653A200053746174733A20002C20ED -:1009C0004661696C65643A20002C2046696E697343 -:1009D0006865643A20005072696E74733A2000535F -:1009E000746174733A20004520436F6F6C696E67C1 -:1009F0002E2E2E00452048656174696E672E2E2EBE -:100A0000006F6666003D08380831082A081C084453 -:100A1000454255473A004D31313320530042656419 -:100A200020436F6F6C696E672E2E2E004265642026 -:100A300048656174696E672E2E2E006F6B00434807 -:100A4000414D4245525F54454D50455241545552D7 -:100A500045004D4F54494F4E5F4D4F444553005450 -:100A60004845524D414C5F50524F54454354494FB5 -:100A70004E004155544F5245504F52545F53445FBE -:100A80005354415455530050524F4D50545F535599 -:100A900050504F525400454D455247454E43595FC3 -:100AA00050415253455200434153455F4C494748DA -:100AB000545F4252494748544E45535300544F47A0 -:100AC000474C455F4C494748545300534F46545791 -:100AD0004152455F504F574552004255494C445F83 -:100AE00050455243454E54004C4556454C494E479F -:100AF0005F44415441005A5F50524F4245004155B6 -:100B0000544F4C4556454C005052494E545F4A4F45 -:100B1000420050524F4752455353004155544F5293 -:100B200045504F52545F54454D5000564F4C554D13 -:100B3000455452494300454550524F4D0042494E9D -:100B40004152595F46494C455F5452414E534645C8 -:100B5000520053455249414C5F584F4E5F584F46E3 -:100B600046004649524D574152455F4E414D453A28 -:100B70004D61726C696E20322E305F4457332054C1 -:100B80004D33442035534D44425520534F55524325 -:100B9000455F434F44455F55524C3A6874747073D7 -:100BA0003A2F2F6769746875622E636F6D2F496ED7 -:100BB00073616E6974794175746F6D6174696F6E7C -:100BC0002F4D61726C696E2F747265652F4372656B -:100BD000616C6974795F4D61726C696E322E302E72 -:100BE000782050524F544F434F4C5F564552534913 -:100BF0004F4E3A312E30204D414348494E455F54C7 -:100C00005950453A544D3344204D6178204558544D -:100C100052554445525F434F554E543A3120555535 -:100C200049443A63656465326132662D343161321C -:100C30002D343734382D396231322D6335356336F2 -:100C4000326633363766660A002F2F20003F4A206F -:100C50006F7574206F662072616E67652028302E74 -:100C6000303120746F20302E33290A0020466C6FFB -:100C7000773A200050726F74656374656420506920 -:100C80006E0A00206F7574206F662072616E676552 -:100C90000A00536572766F20003A20002053657277 -:100CA000766F200050726F6265205A204F6666731F -:100CB00065743A2000496E76616C696420657874C9 -:100CC00072756465720A0020643A0020693A002057 -:100CD000703A0020643A0020693A0020703A0064BB -:100CE000697300656E0043290A0061626C656420C7 -:100CF000286D696E2074656D702000436F6C6420F0 -:100D000065787472756465732061726520004F4662 -:100D100046004F4E0046696C616D656E74207275B9 -:100D20006E6F75742064697374616E636520286DDD -:100D30006D293A200046696C616D656E742072758C -:100D40006E6F757420004F66667365747320417012 -:100D5000706C696564004572723A20546F6F20664A -:100D600061722100546F6F206661722066726F6D30 -:100D7000207265666572656E636520706F696E745A -:100D80000A00454550524F4D204F4B0A0024F404B1 -:100D9000D9201BC40C5C0E9804C4095F026507715E -:100DA00001F405F900FB04B30048048700C103699E -:100DB000005803550003034500BE023A0084023187 -:100DC0000053022A002902250004022000E4011C2D -:100DD00000C8011900AF0117009801140084011325 -:100DE00000710110006101100051010E0043010D5E -:100DF0000036010B002B010B0020010B001501092F -:100E0000000C01090003010800FB000800F30008C2 -:100E100000EB000700E4000600DE000600D8000634 -:100E200000D2000600CC000500C7000500C2000586 -:100E300000BD000400B9000400B5000400B10004C6 -:100E400000AD000400A9000400A5000300A20003F7 -:100E5000009F0004009B000300980003009500021F -:100E60000093000300900003008D0002008B00033C -:100E70000088000200860002008400030081000256 -:100E8000007F0002007D0002007B0002007900026A -:100E90000077000100760002007400020072000179 -:100EA00000710002006F0002006D0001006C000282 -:100EB000006A00010069000200670001006600018D -:100EC0000065000100640002006200010061000191 -:100ED00000600001005F0002005D0001005C000195 -:100EE000005B0001005A0001005900010058000198 -:100EF0000057000100560001005500010054000198 -:100F00000053000000530001005200010051000195 -:100F100000500001004F0001004E0000004E000193 -:100F2000004D0001004C0001004B0000004B00018F -:100F3000004A00010049000100480000004800018B -:100F40000047000100460000004600010045000087 -:100F5000004500010044000100430000004300017F -:100F60000042000000420001004100000041000179 -:100F700000400001003F0000003F0001003E000073 -:100F8000003E0001003D0000003D0001003C00006B -:100F9000003C0000003C0001003B0000003B000161 -:100FA000003A0000003A0001003900000039000159 -:100FB0000038000000380000003800010037000051 -:100FC0000037000100360000003600000036000146 -:100FD000003500000035000000350001003400003D -:100FE0000034000000340001003300000033000032 -:100FF0000033000100320000003200000032000126 -:10100000003100000031000000310001003000001C -:101010000030000000300001002F0000002F000011 -:10102000002F0000002F0001002E0000002E000005 -:10103000002E0001002D0000002D0000002D0000FA -:10104000002D0001002C0000002C0000002C0000EE -:10105000002C0001002B0000002B0000002B0000E2 -:10106000002B0001002A0000002A0000002A0000D6 -:10107000002A0001002900000029000000290000CA -:1010800000290000002900010028000000280000BD -:1010900000280000002800000028000100270000B0 -:1010A00000270000002700000027000000270001A3 -:1010B0000026000000260000002600000026000098 -:1010C000002600010025000000250000002500008A -:1010D000002500000025000000250001002400007C -:1010E000002400000024000000240000002400016F -:1010F0000023000000230000002300000023000064 -:101100000023000000230000002300010022000053 -:101110000022000000220000002200000022000047 -:101120000022000100210000002100000021000039 -:10113000002100000021000000210000002100012A -:10114000002000000020000000200000002000001F -:10115000002000000020000000200000002000010E -:10116000001F0000001F0000001F0000001F000003 -:10117000001F0000001F0000001F0001001E0000F3 -:10118000001E0000001E0000001E00000024F4D419 -:101190003050C38E20C2A24017828B7011127A91F8 -:1011A0000D816CD90AA861E108C7586607615143EF -:1011B000061E4B5D05C145A7041A411104093D985F -:1011C00003713931034036DB0265339102D4305468 -:1011D00002802E1D02632CEE01752AC501B028A0E5 -:1011E00001102781018F2564012B244B01E022345B -:1011F00001AC211F018D200D01801FFC00841EED1C -:1012000000971DDF00B81CD200E61BC600201BBCE7 -:1012100000641AB200B219A8000A19A0006A18994D -:1012200000D117910040178B00B516840031167E4F -:1012300000B31579003A157300C7146F0058146A8B -:1012400000EE1366008813630025135E00C7125B6F -:10125000006C12570015125400C111510070114F4B -:101260000021114B00D61049008D10470046104454 -:101270000002104200C00F4000800F3E00420F3CB1 -:1012800000060F3B00CB0E3800930E37005C0E3586 -:1012900000270E3400F30D3200C10D3100900D30E7 -:1012A00000600D2E00320D2D00050D2C00D90C2BE9 -:1012B00000AE0C2900850C29005C0C2700350C279A -:1012C000000E0C2600E80B2400C40B2400A00B2306 -:1012D000007D0B23005A0B2100390B2100180B2035 -:1012E00000F80A1F00D90A1E00BB0A1E009D0A1D35 -:1012F00000800A1D00630A1C00470A1B002C0A1B01 -:1013000000110A1A00F7091A00DD091900C40919A9 -:1013100000AB091900920917007B0918006309172F -:10132000004C09160036091600200916000A091596 -:1013300000F5081500E0081400CC081400B80814E3 -:1013400000A4081400900813007D0812006B081315 -:101350000058081200460812003408110023081132 -:10136000001208110001081100F0071000E007103A -:1013700000D0071000C0071000B0070F00A1071031 -:101380000091070E0083070F0074070F0065070E1A -:101390000057070E0049070E003B070D002E070EF1 -:1013A0000020070D0013070D0006070D00F9060CBD -:1013B00000ED060D00E0060C00D4060C00C8060C7B -:1013C00000BC060C00B0060C00A4060B0099060C2D -:1013D000008D060B0082060B0077060B006C060BD7 -:1013E0000061060A0057060B004C060A0042060A76 -:1013F0000038060A002E060A0024060A001A060A09 -:10140000001006090007060A00FD050900F4050999 -:1014100000EB050900E2050900D9050900D005091E -:1014200000C7050900BE050900B5050800AD05089F -:1014300000A50509009C050800940508008C050816 -:1014400000840508007C050800740508006C050789 -:1014500000650508005D050700560508004E0507F4 -:10146000004705070040050800380507003105075B -:10147000002A050700230507001C050600160507BE -:10148000000F0507000805060002050700FB04061B -:1014900000F5040700EE040600E8040600E2040775 -:1014A00000DB040600D5040600CF040600C90406CC -:1014B00000C3040600BD040600B7040600B104051D -:1014C00000AC040600A6040600A00405009B040668 -:1014D0000095040500900406008A040500850405B3 -:1014E00000800406007A04050075040500700405F8 -:1014F000006B04050066040500610405005C04053A -:101500000057040500520405004D04050048040579 -:1015100000430405003E0404003A040500350405B8 -:1015200000300404002C04050027040400230405F3 -:10153000001E0404001A040400160405001104042B -:10154000000D040400090405000404040000040460 -:1015500000FC030400F8030400F4030400F0030497 -:1015600000EC030400E8030400E4030400E00304C7 -:1015700000DC030400D8030400D4030400D00304F7 -:1015800000CC030400C8030300C5030300726F749A -:101590006174696F6E206D61747269783A0A002413 -:1015A000F404D9201BC40C5C0E9804C4095F0265C6 -:1015B000077101F405F900FB04B30048048700C17A -:1015C0000369005803550003034500BE023A008436 -:1015D00002310053022A002902250004022000E4FF -:1015E000011C00C8011900AF011700980114008404 -:1015F000011300710110006101100051010E004340 -:10160000010D0036010B002B010B0020010B001512 -:101610000109000C01090003010800FB000800F3A8 -:10162000000800EB000700E4000600DE000600D81A -:10163000000600D2000600CC000500C7000500C26D -:10164000000500BD000400B9000400B5000400B1AD -:10165000000400AD000400A9000400A5000300A2DE -:101660000003009F0004009B000300980003009506 -:1016700000020093000300900003008D0002008B25 -:10168000000300880002008600020084000300813D -:101690000002007F0002007D0002007B0002007952 -:1016A0000002007700010076000200740002007260 -:1016B000000100710002006F0002006D0001006C6B -:1016C0000002006A00010069000200670001006674 -:1016D0000001006500010064000200620001006179 -:1016E000000100600001005F0002005D0001005C7D -:1016F0000001005B0001005A000100590001005880 -:10170000000100570001005600010055000100547F -:10171000000100530000005300010052000100517D -:10172000000100500001004F0001004E0000004E7B -:101730000001004D0001004C0001004B0000004B77 -:101740000001004A00010049000100480000004873 -:10175000000100470001004600000046000100456E -:101760000000004500010044000100430000004368 -:101770000001004200000042000100410000004161 -:10178000000100400001003F0000003F0001003E5A -:101790000000003E0001003D0000003D0001003C53 -:1017A0000000003C0000003C0001003B0000003B4A -:1017B0000001003A0000003A000100390000003941 -:1017C0000001003800000038000000380001003738 -:1017D000000000370001003600000036000000362F -:1017E0000001003500000035000000350001003424 -:1017F000000000340000003400010033000000331A -:10180000000000330001003200000032000000320E -:101810000001003100000031000000310001003003 -:1018200000000030000000300001002F0000002FF9 -:101830000000002F0000002F0001002E0000002EED -:101840000000002E0001002D0000002D0000002DE2 -:101850000000002D0001002C0000002C0000002CD6 -:101860000000002C0001002B0000002B0000002BCA -:101870000000002B0001002A0000002A0000002ABE -:101880000000002A000100290000002900000029B2 -:1018900000000029000000290001002800000028A5 -:1018A0000000002800000028000000280001002798 -:1018B000000000270000002700000027000000278C -:1018C000000100260000002600000026000000267F -:1018D0000000002600010025000000250000002572 -:1018E0000000002500000025000000250001002464 -:1018F0000000002400000024000000240000002458 -:10190000000100230000002300000023000000234A -:10191000000000230000002300000023000100223B -:10192000000000220000002200000022000000222F -:101930000000002200010021000000210000002121 -:101940000000002100000021000000210000002113 -:101950000001002000000020000000200000002006 -:1019600000000020000000200000002000000020F7 -:101970000001001F0000001F0000001F0000001FEA -:101980000000001F0000001F0000001F0001001EDB -:101990000000001E0000001E0000001E00000024C9 -:1019A000F4D43050C38E20C2A24017828B70111223 -:1019B0007A910D816CD90AA861E108C75866076160 -:1019C0005143061E4B5D05C145A7041A4111040988 -:1019D0003D9803713931034036DB0265339102D4FF -:1019E000305402802E1D02632CEE01752AC501B011 -:1019F00028A001102781018F2564012B244B01E0D1 -:101A0000223401AC211F018D200D01801FFC0084B8 -:101A10001EED00971DDF00B81CD200E61BC600209B -:101A20001BBC00641AB200B219A8000A19A0006A0F -:101A3000189900D117910040178B00B5168400311A -:101A4000167E00B31579003A157300C7146F00585D -:101A5000146A00EE1366008813630025135E00C746 -:101A6000125B006C12570015125400C11151007026 -:101A7000114F0021114B00D61049008D1047004630 -:101A800010440002104200C00F4000800F3E004290 -:101A90000F3C00060F3B00CB0E3800930E37005C66 -:101AA0000E3500270E3400F30D3200C10D310090C9 -:101AB0000D3000600D2E00320D2D00050D2C00D9CB -:101AC0000C2B00AE0C2900850C29005C0C2700357E -:101AD0000C27000E0C2600E80B2400C40B2400A0E9 -:101AE0000B23007D0B23005A0B2100390B2100181A -:101AF0000B2000F80A1F00D90A1E00BB0A1E009D19 -:101B00000A1D00800A1D00630A1C00470A1B002CE6 -:101B10000A1B00110A1A00F7091A00DD091900C48E -:101B2000091900AB091900920917007B0918006315 -:101B30000917004C09160036091600200916000A7C -:101B4000091500F5081500E0081400CC081400B8C9 -:101B5000081400A4081400900813007D0812006BFC -:101B60000813005808120046081200340811002318 -:101B70000811001208110001081100F0071000E020 -:101B8000071000D0071000C0071000B0070F00A119 -:101B900007100091070E0083070F0074070F006500 -:101BA000070E0057070E0049070E003B070D002ED9 -:101BB000070E0020070D0013070D0006070D00F9A2 -:101BC000060C00ED060D00E0060C00D4060C00C863 -:101BD000060C00BC060C00B0060C00A4060B009915 -:101BE000060C008D060B0082060B0077060B006CBE -:101BF000060B0061060A0057060B004C060A00425D -:101C0000060A0038060A002E060A0024060A001AF0 -:101C1000060A001006090007060A00FD050900F47F -:101C2000050900EB050900E2050900D9050900D006 -:101C3000050900C7050900BE050900B5050800AD86 -:101C4000050800A50509009C050800940508008CFE -:101C5000050800840508007C050800740508006C70 -:101C6000050700650508005D050700560508004EDC -:101C70000507004705070040050800380507003143 -:101C80000507002A050700230507001C05060016A6 -:101C90000507000F0507000805060002050700FB01 -:101CA000040600F5040700EE040600E8040600E25E -:101CB000040700DB040600D5040600CF040600C9B3 -:101CC000040600C3040600BD040600B7040600B104 -:101CD000040500AC040600A6040600A00405009B51 -:101CE00004060095040500900406008A040500859A -:101CF000040500800406007A0405007504050070E0 -:101D00000405006B04050066040500610405005C21 -:101D100004050057040500520405004D0405004861 -:101D2000040500430405003E0404003A04050035A0 -:101D3000040500300404002C0405002704040023DB -:101D40000405001E0404001A040400160405001112 -:101D50000404000D04040009040500040404000048 -:101D6000040400FC030400F8030400F4030400F07E -:101D7000030400EC030400E8030400E4030400E0AF -:101D8000030400DC030400D8030400D4030400D0DF -:101D9000030400CC030400C8030300C503030024AC -:101DA000F404D9201BC40C5C0E9804C4095F0265BE -:101DB000077101F405F900FB04B30048048700C172 -:101DC0000369005803550003034500BE023A00842E -:101DD00002310053022A002902250004022000E4F7 -:101DE000011C00C8011900AF0117009801140084FC -:101DF000011300710110006101100051010E004338 -:101E0000010D0036010B002B010B0020010B00150A -:101E10000109000C01090003010800FB000800F3A0 -:101E2000000800EB000700E4000600DE000600D812 -:101E3000000600D2000600CC000500C7000500C265 -:101E4000000500BD000400B9000400B5000400B1A5 -:101E5000000400AD000400A9000400A5000300A2D6 -:101E60000003009F0004009B0003009800030095FE -:101E700000020093000300900003008D0002008B1D -:101E80000003008800020086000200840003008135 -:101E90000002007F0002007D0002007B000200794A -:101EA0000002007700010076000200740002007258 -:101EB000000100710002006F0002006D0001006C63 -:101EC0000002006A0001006900020067000100666C -:101ED0000001006500010064000200620001006171 -:101EE000000100600001005F0002005D0001005C75 -:101EF0000001005B0001005A000100590001005878 -:101F00000001005700010056000100550001005477 -:101F10000001005300000053000100520001005175 -:101F2000000100500001004F0001004E0000004E73 -:101F30000001004D0001004C0001004B0000004B6F -:101F40000001004A0001004900010048000000486B -:101F50000001004700010046000000460001004566 -:101F60000000004500010044000100430000004360 -:101F70000001004200000042000100410000004159 -:101F8000000100400001003F0000003F0001003E52 -:101F90000000003E0001003D0000003D0001003C4B -:101FA0000000003C0000003C0001003B0000003B42 -:101FB0000001003A0000003A000100390000003939 -:101FC0000001003800000038000000380001003730 -:101FD0000000003700010036000000360000003627 -:101FE000000100350000003500000035000100341C -:101FF0000000003400000034000100330000003312 -:102000000000003300010032000000320000003206 -:1020100000010031000000310000003100010030FB -:1020200000000030000000300001002F0000002FF1 -:102030000000002F0000002F0001002E0000002EE5 -:102040000000002E0001002D0000002D0000002DDA -:102050000000002D0001002C0000002C0000002CCE -:102060000000002C0001002B0000002B0000002BC2 -:102070000000002B0001002A0000002A0000002AB6 -:102080000000002A000100290000002900000029AA -:10209000000000290000002900010028000000289D -:1020A0000000002800000028000000280001002790 -:1020B0000000002700000027000000270000002784 -:1020C0000001002600000026000000260000002677 -:1020D000000000260001002500000025000000256A -:1020E000000000250000002500000025000100245C -:1020F0000000002400000024000000240000002450 -:102100000001002300000023000000230000002342 -:102110000000002300000023000000230001002233 -:102120000000002200000022000000220000002227 -:102130000000002200010021000000210000002119 -:10214000000000210000002100000021000000210B -:1021500000010020000000200000002000000020FE -:1021600000000020000000200000002000000020EF -:102170000001001F0000001F0000001F0000001FE2 -:102180000000001F0000001F0000001F0001001ED3 -:102190000000001E0000001E0000001E00000024C1 -:1021A000F4D43050C38E20C2A24017828B7011121B -:1021B0007A910D816CD90AA861E108C75866076158 -:1021C0005143061E4B5D05C145A7041A4111040980 -:1021D0003D9803713931034036DB0265339102D4F7 -:1021E000305402802E1D02632CEE01752AC501B009 -:1021F00028A001102781018F2564012B244B01E0C9 -:10220000223401AC211F018D200D01801FFC0084B0 -:102210001EED00971DDF00B81CD200E61BC6002093 -:102220001BBC00641AB200B219A8000A19A0006A07 -:10223000189900D117910040178B00B51684003112 -:10224000167E00B31579003A157300C7146F005855 -:10225000146A00EE1366008813630025135E00C73E -:10226000125B006C12570015125400C1115100701E -:10227000114F0021114B00D61049008D1047004628 -:1022800010440002104200C00F4000800F3E004288 -:102290000F3C00060F3B00CB0E3800930E37005C5E -:1022A0000E3500270E3400F30D3200C10D310090C1 -:1022B0000D3000600D2E00320D2D00050D2C00D9C3 -:1022C0000C2B00AE0C2900850C29005C0C27003576 -:1022D0000C27000E0C2600E80B2400C40B2400A0E1 -:1022E0000B23007D0B23005A0B2100390B21001812 -:1022F0000B2000F80A1F00D90A1E00BB0A1E009D11 -:102300000A1D00800A1D00630A1C00470A1B002CDE -:102310000A1B00110A1A00F7091A00DD091900C486 -:10232000091900AB091900920917007B091800630D -:102330000917004C09160036091600200916000A74 -:10234000091500F5081500E0081400CC081400B8C1 -:10235000081400A4081400900813007D0812006BF4 -:102360000813005808120046081200340811002310 -:102370000811001208110001081100F0071000E018 -:10238000071000D0071000C0071000B0070F00A111 -:1023900007100091070E0083070F0074070F0065F8 -:1023A000070E0057070E0049070E003B070D002ED1 -:1023B000070E0020070D0013070D0006070D00F99A -:1023C000060C00ED060D00E0060C00D4060C00C85B -:1023D000060C00BC060C00B0060C00A4060B00990D -:1023E000060C008D060B0082060B0077060B006CB6 -:1023F000060B0061060A0057060B004C060A004255 -:10240000060A0038060A002E060A0024060A001AE8 -:10241000060A001006090007060A00FD050900F477 -:10242000050900EB050900E2050900D9050900D0FE -:10243000050900C7050900BE050900B5050800AD7E -:10244000050800A50509009C050800940508008CF6 -:10245000050800840508007C050800740508006C68 -:10246000050700650508005D050700560508004ED4 -:10247000050700470507004005080038050700313B -:102480000507002A050700230507001C050600169E -:102490000507000F0507000805060002050700FBF9 -:1024A000040600F5040700EE040600E8040600E256 -:1024B000040700DB040600D5040600CF040600C9AB -:1024C000040600C3040600BD040600B7040600B1FC -:1024D000040500AC040600A6040600A00405009B49 -:1024E00004060095040500900406008A0405008592 -:1024F000040500800406007A0405007504050070D8 -:102500000405006B04050066040500610405005C19 -:1025100004050057040500520405004D0405004859 -:10252000040500430405003E0404003A0405003598 -:10253000040500300404002C0405002704040023D3 -:102540000405001E0404001A04040016040500110A -:102550000404000D04040009040500040404000040 -:10256000040400FC030400F8030400F4030400F076 -:10257000030400EC030400E8030400E4030400E0A7 -:10258000030400DC030400D8030400D4030400D0D7 -:10259000030400CC030400C8030300C50303007058 -:1025A000012C0190012701B0012201C0011D01F0A1 -:1025B0000118011002130130020E0160020901909E -:1025C000020401C002FF000003FA004003F500808E -:1025D00003F000D003EB002004E6007004E100E00B -:1025E00004DC004005D700C005D2004006CD00D075 -:1025F00006C8008007C3003008BE00F008B900C05C -:1026000009B400B00AAF00B00BAA00D00CA50000BE -:102610000EA000500F9B00C01096005012910000B9 -:10262000148C00C0158700B0178200B0197D00D04F -:102630001B7800001E730040206E0090226900F09D -:1026400024640040275F0090295A00E02B550010B9 -:102650002E500020304B0010324600E033410090F5 -:10266000353C001037370070383200A0392D00B0EB -:102670003A2800A03B2300603C1E00103D1900904A -:102680003D1400103E0F00703E0A00C03E050000E1 -:102690003F0000403FFBFF803FF6FFC03FF1FF10CF -:1026A00000C90210012C014001220170011801B083 -:1026B000010E01F00104015002FA00B002F00030F6 -:1026C00003E600D003DC009004D2007005C800A02F -:1026D00006BE000008B400B009AA00D00BA000603C -:1026E0000E960060118C000015820020197800C041 -:1026F0001D6E00A0226400B0275A00902C500000EC -:10270000314600E0343C0010383200903A28006036 -:102710003C1E00A03D1400803E0A00203F00002423 -:10272000F404D9201BC40C5C0E9804C4095F026534 -:10273000077101F405F900FB04B30048048700C1E8 -:102740000369005803550003034500BE023A0084A4 -:1027500002310053022A002902250004022000E46D -:10276000011C00C8011900AF011700980114008472 -:10277000011300710110006101100051010E0043AE -:10278000010D0036010B002B010B0020010B001581 -:102790000109000C01090003010800FB000800F317 -:1027A000000800EB000700E4000600DE000600D889 -:1027B000000600D2000600CC000500C7000500C2DC -:1027C000000500BD000400B9000400B5000400B11C -:1027D000000400AD000400A9000400A5000300A24D -:1027E0000003009F0004009B000300980003009575 -:1027F00000020093000300900003008D0002008B94 -:1028000000030088000200860002008400030081AB -:102810000002007F0002007D0002007B00020079C0 -:1028200000020077000100760002007400020072CE -:10283000000100710002006F0002006D0001006CD9 -:102840000002006A000100690002006700010066E2 -:1028500000010065000100640002006200010061E7 -:10286000000100600001005F0002005D0001005CEB -:102870000001005B0001005A0001005900010058EE -:1028800000010057000100560001005500010054EE -:1028900000010053000000530001005200010051EC -:1028A000000100500001004F0001004E0000004EEA -:1028B0000001004D0001004C0001004B0000004BE6 -:1028C0000001004A000100490001004800000048E2 -:1028D00000010047000100460000004600010045DD -:1028E00000000045000100440001004300000043D7 -:1028F00000010042000000420001004100000041D0 -:10290000000100400001003F0000003F0001003EC8 -:102910000000003E0001003D0000003D0001003CC1 -:102920000000003C0000003C0001003B0000003BB8 -:102930000001003A0000003A0001003900000039AF -:1029400000010038000000380000003800010037A6 -:10295000000000370001003600000036000000369D -:102960000001003500000035000000350001003492 -:102970000000003400000034000100330000003388 -:10298000000000330001003200000032000000327D -:102990000001003100000031000000310001003072 -:1029A00000000030000000300001002F0000002F68 -:1029B0000000002F0000002F0001002E0000002E5C -:1029C0000000002E0001002D0000002D0000002D51 -:1029D0000000002D0001002C0000002C0000002C45 -:1029E0000000002C0001002B0000002B0000002B39 -:1029F0000000002B0001002A0000002A0000002A2D -:102A00000000002A00010029000000290000002920 -:102A10000000002900000029000100280000002813 -:102A20000000002800000028000000280001002706 -:102A300000000027000000270000002700000027FA -:102A400000010026000000260000002600000026ED -:102A500000000026000100250000002500000025E0 -:102A600000000025000000250000002500010024D2 -:102A700000000024000000240000002400000024C6 -:102A800000010023000000230000002300000023B9 -:102A900000000023000000230000002300010022AA -:102AA000000000220000002200000022000000229E -:102AB0000000002200010021000000210000002190 -:102AC0000000002100000021000000210000002182 -:102AD0000001002000000020000000200000002075 -:102AE0000000002000000020000000200000002066 -:102AF0000001001F0000001F0000001F0000001F59 -:102B00000000001F0000001F0000001F0001001E49 -:102B10000000001E0000001E0000001E0000002437 -:102B2000F4D43050C38E20C2A24017828B70111291 -:102B30007A910D816CD90AA861E108C758660761CE -:102B40005143061E4B5D05C145A7041A41110409F6 -:102B50003D9803713931034036DB0265339102D46D -:102B6000305402802E1D02632CEE01752AC501B07F -:102B700028A001102781018F2564012B244B01E03F -:102B8000223401AC211F018D200D01801FFC008427 -:102B90001EED00971DDF00B81CD200E61BC600200A -:102BA0001BBC00641AB200B219A8000A19A0006A7E -:102BB000189900D117910040178B00B51684003189 -:102BC000167E00B31579003A157300C7146F0058CC -:102BD000146A00EE1366008813630025135E00C7B5 -:102BE000125B006C12570015125400C11151007095 -:102BF000114F0021114B00D61049008D104700469F -:102C000010440002104200C00F4000800F3E0042FE -:102C10000F3C00060F3B00CB0E3800930E37005CD4 -:102C20000E3500270E3400F30D3200C10D31009037 -:102C30000D3000600D2E00320D2D00050D2C00D939 -:102C40000C2B00AE0C2900850C29005C0C270035EC -:102C50000C27000E0C2600E80B2400C40B2400A057 -:102C60000B23007D0B23005A0B2100390B21001888 -:102C70000B2000F80A1F00D90A1E00BB0A1E009D87 -:102C80000A1D00800A1D00630A1C00470A1B002C55 -:102C90000A1B00110A1A00F7091A00DD091900C4FD -:102CA000091900AB091900920917007B0918006384 -:102CB0000917004C09160036091600200916000AEB -:102CC000091500F5081500E0081400CC081400B838 -:102CD000081400A4081400900813007D0812006B6B -:102CE0000813005808120046081200340811002387 -:102CF0000811001208110001081100F0071000E08F -:102D0000071000D0071000C0071000B0070F00A187 -:102D100007100091070E0083070F0074070F00656E -:102D2000070E0057070E0049070E003B070D002E47 -:102D3000070E0020070D0013070D0006070D00F910 -:102D4000060C00ED060D00E0060C00D4060C00C8D1 -:102D5000060C00BC060C00B0060C00A4060B009983 -:102D6000060C008D060B0082060B0077060B006C2C -:102D7000060B0061060A0057060B004C060A0042CB -:102D8000060A0038060A002E060A0024060A001A5F -:102D9000060A001006090007060A00FD050900F4EE -:102DA000050900EB050900E2050900D9050900D075 -:102DB000050900C7050900BE050900B5050800ADF5 -:102DC000050800A50509009C050800940508008C6D -:102DD000050800840508007C050800740508006CDF -:102DE000050700650508005D050700560508004E4B -:102DF00005070047050700400508003805070031B2 -:102E00000507002A050700230507001C0506001614 -:102E10000507000F0507000805060002050700FB6F -:102E2000040600F5040700EE040600E8040600E2CC -:102E3000040700DB040600D5040600CF040600C921 -:102E4000040600C3040600BD040600B7040600B172 -:102E5000040500AC040600A6040600A00405009BBF -:102E600004060095040500900406008A0405008508 -:102E7000040500800406007A04050075040500704E -:102E80000405006B04050066040500610405005C90 -:102E900004050057040500520405004D04050048D0 -:102EA000040500430405003E0404003A040500350F -:102EB000040500300404002C04050027040400234A -:102EC0000405001E0404001A040400160405001181 -:102ED0000404000D040400090405000404040000B7 -:102EE000040400FC030400F8030400F4030400F0ED -:102EF000030400EC030400E8030400E4030400E01E -:102F0000030400DC030400D8030400D4030400D04D -:102F1000030400CC030400C8030300C50303002519 -:102F20006C642E25696D004D61726C696E20322EC5 -:102F3000305F44573300206D61783A00206D696E30 -:102F40003A004178697320004572726F722077727F -:102F50006974696E6720746F20454550524F4D214A -:102F60000A00363726033C3D380E2E303E131A1C1D -:102F70001808440AFF430809070001627573793A8B -:102F80002070617573656420666F7220696E70755C -:102F9000740A00627573793A2070617573656420F4 -:102FA000666F7220757365720A00627573793A20D4 -:102FB00070726F63657373696E670A007061757311 -:102FC00065004D363030200A204D313137200A005F -:102FD0002066696C616D656E745F72756E6F757475 -:102FE000200066696C616D656E745F72756E6F75D9 -:102FF0007420540046696C616D656E7452756E6F15 -:10300000757420540053544F505045442E200050A6 -:1030100072696E7465722073746F70706564206479 -:10302000756520746F206572726F72732E20466909 -:103030007820746865206572726F7220616E6420FA -:10304000757365204D39393920746F20726573743A -:103050006172742E202854656D706572617475728A -:10306000652069732072657365742E205365742022 -:10307000697420616674657220726573746172741C -:10308000696E67290A004E6F20436865636B73752C -:103090006D2077697468206C696E65206E756D624D -:1030A00065722C204C617374204C696E653A200067 -:1030B0004E6F20436865636B73756D207769746824 -:1030C000206C696E65206E756D6265722C204C6196 -:1030D0007374204C696E653A2000636865636B7396 -:1030E000756D206D69736D617463682C204C61731C -:1030F00074204C696E653A20004C696E65204E75EF -:103100006D626572206973206E6F74204C617374F8 -:10311000204C696E65204E756D6265722B312C20D6 -:103120004C617374204C696E653A20004D3131302A -:1031300000776169740A004D313137004D33310039 -:1031400053442072656164206572726F720A004494 -:103150006F6E65207072696E74696E672066696C47 -:10316000650A004B494C4C206361757365642062AD -:103170007920746F6F206D75636820696E61637468 -:103180006976652074696D65202D2063757272659E -:103190006E7420636F6D6D616E643A200020205064 -:1031A0006C616E6E657242756666657242797465B1 -:1031B000733A20002046726565204D656D6F727907 -:1031C0003A2000436F6D70696C65643A20536570F6 -:1031D00020203820323031390A00207C204175749B -:1031E000686F723A2054696E794D616368696E65E3 -:1031F0007333440A00323031392D30372D333000EB -:10320000204C61737420557064617465643A2000C9 -:10321000322E305F4457330A004D61726C696E0084 -:1032200020536F6674776172652052657365740A06 -:1032300000205761746368646F672052657365741A -:103240000A002042726F776E206F7574205265738A -:1032500065740A002045787465726E616C20526551 -:103260007365740A00506F77657255700A00737445 -:103270006172740A006175746F25632E6700657250 -:10328000726F722077726974696E6720746F20663E -:10329000696C650A00446F6E6520736176696E67BC -:1032A0002066696C652E0A004D323900205A3A00BA -:1032B00020593A0020583A00656E6473746F707339 -:1032C000206869743A200047323858590043616ECB -:1032D0006E6F74206F70656E207375626469722002 -:1032E0000053442063617264206F6B0A006F706545 -:1032F0006E526F6F74206661696C65640A00766F48 -:103300006C756D652E696E6974206661696C6564A3 -:103310000A00534420696E6974206661696C0A0072 -:103320004D3234004D323320257300577269746971 -:103330006E6720746F2066696C653A20002E0A0063 -:103340006F70656E206661696C65642C2046696CDF -:10335000653A20002E0A006F70656E206661696C08 -:1033600065642C2046696C653A200046696C6520CE -:1033700073656C65637465640A002053697A653A05 -:10338000200046696C65206F70656E65643A2000A8 -:10339000667265736800646F696E67002066696CA9 -:1033A000653A20004E6F772000454E442053554229 -:1033B000524F5554494E450A002220706F73002227 -:1033C00020706172656E743A2200535542524F5517 -:1033D00054494E452043414C4C20746172676574DA -:1033E0003A2200747279696E6720746F2063616C91 -:1033F0006C207375622D67636F64652066696C6508 -:1034000073207769746820746F6F206D616E792006 -:103410006C6576656C732E204D4158206C65766521 -:103420006C2069733A310A005344207072696E74DB -:10343000696E67206279746520004E6F7420534472 -:10344000207072696E74696E670A003F556E616222 -:103450006C6520746F2073617665206D65736820DC -:10346000646174612E0A003F556E61626C65207460 -:103470006F206C6F6164206D657368206461746196 -:103480002E0A00E8030000BC020000640000004BAC -:103490000000000000FA430000C843000070410033 -:1034A0000096420000A0420000A0420000C8430075 -:1034B000000C43556E696669656420426564204C62 -:1034C0006576656C696E67003A0A0020204D3630DB -:1034D00033200020440020204D3431322053004658 -:1034E000696C616D656E742072756E6F7574207392 -:1034F000656E736F723A0A002055004C0046696C85 -:10350000616D656E74206C6F61642F756E6C6F6198 -:1035100064206C656E677468733A0A0020204D3829 -:103520003531205A0020204D3835312059002020D7 -:103530004D3835312058005A2D50726F6265204F3A -:1035400066667365740020440020490020204D33D6 -:10355000303420500020440020490020204D3330DA -:10356000312050005049442073657474696E67734C -:103570003A0A00206D65736865732E0A0A00454596 -:1035800050524F4D2063616E20686F6C6420000ABA -:10359000416374697665204D65736820536C6F7460 -:1035A0003A2000205A0020204D3432302053003A77 -:1035B0000A00205A0020590020204D323036205871 -:1035C00000486F6D65206F66667365743A0A002067 -:1035D0004A0020540020530020204D323035204234 -:1035E00000204A3C6A756E635F6465763E00416404 -:1035F00076616E6365643A20423C6D696E5F736507 -:10360000676D656E745F74696D655F75733E205399 -:103610003C6D696E5F66656564726174653E2054D9 -:103620003C6D696E5F74726176656C5F666565643A -:10363000726174653E0020540020520020204D32FB -:103640003034205000416363656C65726174696F4A -:103650006E2028756E6974732F7332293A20503C9E -:103660007072696E745F616363656C3E20523C7278 -:103670006574726163745F616363656C3E20543C82 -:1036800074726176656C5F616363656C3E0A0020ED -:103690004500205A0020590020204D32303120585A -:1036A000004D6178696D756D20416363656C65726D -:1036B0006174696F6E2028756E6974732F73322977 -:1036C0003A0A00204500205A0020590020204D329F -:1036D00030332058004D6178696D756D20666565E1 -:1036E0006472617465732028756E6974732F732911 -:1036F0003A0A0053746570732070657220756E69A4 -:10370000743A0A0020204D3230302044300A002024 -:10371000204D3230302044002044697361626C6572 -:10372000640A0046696C616D656E7420736574741B -:10373000696E67733A0020286D6D2900202047329A -:1037400031202020203B20556E69747320696E2043 -:103750006D6D00486F6D696E67204661696C6564C8 -:10376000006F70656E00545249474745524544000A -:103770003A200066696C616D656E74007A5F6D69F0 -:103780006E00795F6D696E00785F6D696E005265DD -:10379000706F7274696E6720656E6473746F7020E9 -:1037A0007374617475730A00205A3A0020593A0004 -:1037B00020436F756E7420583A0020453A00205A15 -:1037C0003A0020593A00583A002042002050006F39 -:1037D0006B00526573656E643A200043616E6E6FD4 -:1037E00074206F70656E20737562646972200025A5 -:1037F00069730025696D2025697300256968202596 -:10380000696D202569730025696420256968202574 -:10381000696D202569730025697920256964202553 -:1038200069682025696D20256973002364656669D0 -:103830006E652044454641554C545F000062656406 -:10384000004B6420004B6920004B7020005049441D -:10385000204175746F74756E652066696E69736852 -:103860006564212050757420746865206C617374E0 -:10387000204B702C204B6920616E64204B642063C8 -:103880006F6E7374616E74732066726F6D20626503 -:103890006C6F7720696E746F20436F6E6669677511 -:1038A000726174696F6E2E680A0050494420417538 -:1038B000746F74756E65206661696C65642120742F -:1038C000696D656F75740A00453120544845524D45 -:1038D000414C2052554E41574159004245442054D5 -:1038E0004845524D414C2052554E41574159005484 -:1038F0006865726D616C2052756E61776179004503 -:10390000312048656174696E67204661696C656441 -:10391000004265642048656174696E67204661698C -:103920006C65640048656174696E67206661696CE6 -:10393000656400504944204175746F74756E65204C -:103940006661696C6564212054656D70657261748F -:1039500075726520746F6F20686967680A00204B74 -:10396000643A2000204B693A2000204B703A200036 -:103970000A20436C617373696320504944200A0034 -:10398000204B643A2000204B693A2000204B703ACB -:1039900020000A204E6F206F76657273686F6F7417 -:1039A0000A002054753A2000204B753A2000206D03 -:1039B00061783A2000206D696E3A200020643A2038 -:1039C0000020626961733A200050494420417574B7 -:1039D0006F74756E652073746172740A0050494487 -:1039E000204175746F74756E65206661696C6564DD -:1039F000212054656D706572617475726520746FF5 -:103A00006F20686967680A00504944204175746FE7 -:103A100074756E65206661696C656421204261641D -:103A2000206578747275646572206E756D6265725A -:103A30000A0050726F62696E67204661696C656446 -:103A40000A0050726F62696E67204661696C656436 -:103A500000496E76616C696420657874727564657E -:103A6000720A007C3C3E5E2B3D3F2F5B5D3B2C2A67 -:103A7000225C002020207C0A004E414E0020202E97 -:103A800020202000207C004C43443A0A0043535637 -:103A90003A0A0020666F7220003A0A0A000A42655C -:103AA0006420546F706F677261706879205265701E -:103AB0006F727400473238004D3238302050302059 -:103AC00053393000446F6E652E0A003F496E7661AF -:103AD0006C69642073746F7261676520736C6F74B6 -:103AE0002E0A3F557365203020746F20003F4545F6 -:103AF00050524F4D2073746F72616765206E6F7402 -:103B000020617661696C61626C652E0A00446F6E9B -:103B1000652E0A003F496E76616C69642073746F8C -:103B20007261676520736C6F742E0A3F5573652050 -:103B30003020746F20003F454550524F4D20737424 -:103B40006F72616765206E6F7420617661696C6168 -:103B5000626C652E0A003F5034206973206F6E6CD2 -:103B60007920617661696C61626C65207768656E49 -:103B700020616E204C434420697320707265736528 -:103B80006E742E0A003F5032206973206F6E6C797C -:103B900020617661696C61626C65207768656E2072 -:103BA000616E204C43442069732070726573656EAA -:103BB000742E0A00292E0A0A0050726F62696E671D -:103BC0002061726F756E642028004D6573682069EE -:103BD0006E76616C6964617465642E2050726F62E8 -:103BE000696E67206D6573682E0A004D65736820E5 -:103BF0007A65726F65642E0A0044656661756C743F -:103C00002073746F7261676520736C6F742030204D -:103C100073656C65637465642E0A004C6F6164693A -:103C20006E6720746573745F7061747465726E2062 -:103C300076616C7565732E0A0A00496E76616C694F -:103C40006420746573745F7061747465726E20763D -:103C5000616C75652E20282D3120746F2032290A61 -:103C60000A004C6F636174696F6E7320696E7661D0 -:103C70006C6964617465642E0A0A00456E74697229 -:103C800065204D65736820696E76616C6964617446 -:103C900065642E0A0A00220A00556E6B6E6F776EFD -:103CA00020636F6D6D616E643A20220020746F6F27 -:103CB000206C6F6E6720657874727573696F6E2003 -:103CC00070726576656E7465640A0020636F6C645B -:103CD00020657874727573696F6E20707265766591 -:103CE0006E7465640A0020746F6F206C6F6E6720BD -:103CF000657874727573696F6E2070726576656E23 -:103D00007465640A0020636F6C6420657874727552 -:103D100073696F6E2070726576656E7465640A00F3 -:103D2000486F6D652025732573257320466972736E -:103D300074002046697273740A00486F6D65200034 -:103D400000000000000000000000000000004842E9 -:103D500000004842000080405761726E696E673A09 -:103D600020486F6D696E672042756D7020446976DA -:103D700069736F72203C20310A000202040000A027 -:103D8000400000A040000000400080ED430000E142 -:103D9000430000EB43FFFFFF24F4D43050C38E20D8 -:103DA000C2A24017828B7011127A910D816CD90AD0 -:103DB000A861E108C7586607615143061E4B5D05BF -:103DC000C145A7041A411104093D98037139310313 -:103DD0004036DB0265339102D4305402802E1D023E -:103DE000632CEE01752AC501B028A00110278101BE -:103DF0008F2564012B244B01E0223401AC211F01EB -:103E00008D200D01801FFC00841EED00971DDF003A -:103E1000B81CD200E61BC600201BBC00641AB2000E -:103E2000B219A8000A19A0006A189900D1179100C8 -:103E300040178B00B516840031167E00B31579004B -:103E40003A157300C7146F0058146A00EE13660029 -:103E50008813630025135E00C7125B006C125700C5 -:103E600015125400C111510070114F0021114B0067 -:103E7000D61049008D104700461044000210420041 -:103E8000C00F4000800F3E00420F3C00060F3B0079 -:103E9000CB0E3800930E37005C0E3500270E340031 -:103EA000F30D3200C10D3100900D3000600D2E0079 -:103EB000320D2D00050D2C00D90C2B00AE0C290065 -:103EC000850C29005C0C2700350C27000E0C260001 -:103ED000E80B2400C40B2400A00B23007D0B23005F -:103EE0005A0B2100390B2100180B2000F80A1F0083 -:103EF000D90A1E00BB0A1E009D0A1D00800A1D0073 -:103F0000630A1C00470A1B002C0A1B00110A1A0036 -:103F1000F7091A00DD091900C4091900AB091900D5 -:103F2000920917007B091800630917004C09160055 -:103F300036091600200916000A091500F5081500B3 -:103F4000E0081400CC081400B8081400A4081400F9 -:103F5000900813007D0812006B0813005808120027 -:103F6000460812003408110023081100120811003D -:103F700001081100F0071000E0071000D007100042 -:103F8000C0071000B0070F00A107100091070E0036 -:103F900083070F0074070F0065070E0057070E0018 -:103FA00049070E003B070D002E070E0020070D00ED -:103FB00013070D0006070D00F9060C00ED060D00B5 -:103FC000E0060C00D4060C00C8060C00BC060C0071 -:103FD000B0060C00A4060B0099060C008D060B0021 -:103FE00082060B0077060B006C060B0061060A00C8 -:103FF00057060B004C060A0042060A0038060A0063 -:104000002E060A0024060A001A060A0010060900F5 -:1040100007060A00FD050900F4050900EB05090083 -:10402000E2050900D9050900D0050900C705090006 -:10403000BE050900B5050800AD050800A505090085 -:104040009C050800940508008C05080084050800FC -:104050007C050800740508006C050700650508006C -:104060005D050700560508004E05070047050700D7 -:104070004005080038050700310507002A0507003C -:10408000230507001C050600160507000F0507009D -:104090000805060002050700FB040600F5040700FA -:1040A000EE040600E8040600E2040700DB04060054 -:1040B000D5040600CF040600C9040600C3040600A8 -:1040C000BD040600B7040600B1040500AC040600F8 -:1040D000A6040600A00405009B0406009504050044 -:1040E000900406008A04050085040500800406008B -:1040F0007A04050075040500700405006B040500D2 -:1041000066040500610405005C0405005704050011 -:10411000520405004D040500480405004304050051 -:104120003E0404003A040500350405003004040090 -:104130002C04050027040400230405001E040400C9 -:104140001A04040016040500110404000D04040000 -:10415000090405000404040000040400FC03040036 -:10416000F8030400F4030400F0030400EC0304006B -:10417000E8030400E4030400E0030400DC0304009B -:10418000D8030400D4030400D0030400CC030400CB -:10419000C8030300C503030024F404D9201BC40C86 -:1041A0005C0E9804C4095F0265077101F405F9000B -:1041B000FB04B30048048700C1036900580355009D -:1041C00003034500BE023A008402310053022A0074 -:1041D0002902250004022000E4011C00C801190086 -:1041E000AF01170098011400840113007101100041 -:1041F0006101100051010E0043010D0036010B005A -:104200002B010B0020010B00150109000C01090016 -:1042100003010800FB000800F3000800EB000700A2 -:10422000E4000600DE000600D8000600D20006000A -:10423000CC000500C7000500C2000500BD00040059 -:10424000B9000400B5000400B1000400AD00040092 -:10425000A9000400A5000300A20003009F000400C1 -:104260009B000300980003009500020093000300E8 -:10427000900003008D0002008B0003008800020004 -:104280008600020084000300810002007F0002001B -:104290007D0002007B00020079000200770001002F -:1042A000760002007400020072000100710002003A -:1042B0006F0002006D0001006C0002006A00010046 -:1042C000690002006700010066000100650001004E -:1042D0006400020062000100610001006000010052 -:1042E0005F0002005D0001005C0001005B00010056 -:1042F0005A00010059000100580001005700010058 -:104300005600010055000100540001005300000058 -:104310005300010052000100510001005000010053 -:104320004F0001004E0000004E0001004D00010052 -:104330004C0001004B0000004B0001004A0001004E -:10434000490001004800000048000100470001004A -:104350004600000046000100450000004500010045 -:10436000440001004300000043000100420000003F -:104370004200010041000000410001004000010036 -:104380003F0000003F0001003E0000003E00010031 -:104390003D0000003D0001003C0000003C0000002A -:1043A0003C0001003B0000003B0001003A0000001F -:1043B0003A00010039000000390001003800000017 -:1043C000380000003800010037000000370001000D -:1043D0003600000036000000360001003500000005 -:1043E00035000000350001003400000034000000FA -:1043F00034000100330000003300000033000100EE -:1044000032000000320000003200010031000000E4 -:1044100031000000310001003000000030000000D9 -:10442000300001002F0000002F0000002F000000CE -:104430002F0001002E0000002E0000002E000100C1 -:104440002D0000002D0000002D0000002D000100B7 -:104450002C0000002C0000002C0000002C000100AB -:104460002B0000002B0000002B0000002B0001009F -:104470002A0000002A0000002A0000002A00010093 -:104480002900000029000000290000002900000088 -:10449000290001002800000028000000280000007A -:1044A000280000002800010027000000270000006D -:1044B0002700000027000000270001002600000060 -:1044C0002600000026000000260000002600010053 -:1044D0002500000025000000250000002500000048 -:1044E0002500000025000100240000002400000039 -:1044F000240000002400000024000100230000002C -:10450000230000002300000023000000230000001F -:104510002300000023000100220000002200000010 -:104520002200000022000000220000002200010002 -:1045300021000000210000002100000021000000F7 -:1045400021000000210000002100010020000000E7 -:1045500020000000200000002000000020000000DB -:104560002000000020000000200001001F000000CB -:104570001F0000001F0000001F0000001F000000BF -:104580001F0000001F0001001E0000001E000000B0 -:104590001E0000001E000000043700001E2900005D -:1045A000511B00005810000010090000CC0400004E -:1045B0007802000041010000626564002C207379DC -:1045C0007374656D2073746F707065642120486525 -:1045D000617465725F49443A200042656420486511 -:1045E0006174696E67204661696C65640048656145 -:1045F00074696E67206661696C6564004245442099 -:10460000544845524D414C2052554E415741590056 -:10461000546865726D616C2052756E6177617900C6 -:1046200045312048656174696E67204661696C6533 -:10463000640048656174696E67206661696C6564D1 -:1046400000453120544845524D414C2052554E4171 -:1046500057415900546865726D616C2052756E61E6 -:10466000776179005A5F53544F505F50494E005A5A -:104670005F535445505F50494E005A5F4D494E5F5D -:1046800050494E005A5F454E41424C455F50494E9D -:10469000005A5F4449525F50494E005A5F43535F8E -:1046A00050494E00595F53544F505F50494E005986 -:1046B0005F535445505F50494E00595F4D494E5F1E -:1046C00050494E00595F454E41424C455F50494E5E -:1046D00000595F4449525F50494E00595F43535F50 -:1046E00050494E00585F53544F505F50494E005848 -:1046F0005F535445505F50494E00585F4D494E5FDF -:1047000050494E00585F454E41424C455F50494E1E -:1047100000585F4449525F50494E00585F43535F11 -:1047200050494E0053535F50494E00534552564F27 -:10473000335F50494E00534552564F325F50494EF9 -:1047400000534552564F315F50494E005345525623 -:104750004F305F50494E00534453530053445F441D -:1047600045544543545F50494E0053434B5F5049B5 -:104770004E0052414D50535F44395F50494E0052F4 -:10478000414D50535F44385F50494E0052414D50A7 -:10479000535F4431305F50494E004D4F53495F5095 -:1047A000494E004D4F534645545F445F50494E00BB -:1047B0004D49534F5F50494E004D415836363735BD -:1047C0005F53535F50494E004C45445F50494E0083 -:1047D0004845415445525F4245445F50494E004868 -:1047E00045415445525F305F50494E0046494C5F49 -:1047F00052554E4F55545F50494E0046414E315F21 -:1048000050494E0046414E5F50494E0045315F537E -:104810005445505F50494E0045315F454E41424C32 -:10482000455F50494E0045315F4449525F50494E03 -:104830000045315F43535F50494E0045305F53544C -:1048400045505F50494E0045305F454E41424C4512 -:104850005F50494E0045305F4449525F50494E0019 -:1048600045305F43535F50494E00455F4D555832C8 -:104870005F50494E00455F4D5558315F50494E00DD -:10488000455F4D5558305F50494E004156525F5379 -:10489000535F50494E004156525F53434B5F50495E -:1048A0004E004156525F4D4F53495F50494E0041B3 -:1048B00056525F4D49534F5F50494E0054454D503D -:1048C0005F4245445F50494E0054454D505F315F53 -:1048D00050494E0054454D505F305F50494E0046A0 -:1048E000494C57494454485F50494E00545844007D -:1048F0005258440020202000202020416E616C6F1F -:104900006720696E203D2025356C64003C756E750E -:104910007365642F756E6B6E6F776E3E0020284155 -:104920002532642920200025336420002573504956 -:104930004E3A20004F7574707574203D2000496E0A -:1049400070757420203D2000416E616C6F67206996 -:104950006E203D2025356C640070726F7465637441 -:104960006564200020284125326429202000253359 -:10497000642000257350494E3A2000F0480001ECB5 -:10498000480101DF483B00D4484300C9484500BC0A -:10499000484400AF483201A2483301964834018BA5 -:1049A0004835018048280175482A016A482C016071 -:1049B000482A0155481C01474818013B481A013153 -:1049C000482C012648220118481E010C48240104E5 -:1049D000480901FB470701EC470201DF470A01D004 -:1049E000470801C8470D01B9474201B0473201A34A -:1049F0004707019A4733018C470A017F4708017234 -:104A00004709016A4734015C473101574735014C7A -:104A1000470B0141470601364705012B4704012496 -:104A20004735011B4735011147370104472601FA75 -:104A3000460301EF463601E4460301DB463101D16E -:104A4000463D01C4463801BA460E01AF463C01A4BA -:104A5000460E019B4628019146300184463E017A6C -:104A60004613016F462E0164461301446F6E652E96 -:104A70000A0066616C7365004641494C3A204E6FEE -:104A80002074726967676572206465746563746514 -:104A9000640A004641494C3A204E6F6973652064B0 -:104AA00065746563746564202D20706C6561736541 -:104AB0002072652D72756E20746573740A0020640F -:104AC000657465637465642E0A003D20424C546F22 -:104AD000756368207072652056332E3120286F72FE -:104AE00020636F6D70617469626C6529003D205AA6 -:104AF00020536572766F2050726F6265003D2042D0 -:104B00004C546F7563682056332E310020282B2FAC -:104B10002D20346D73293A20003A2033306D7320F4 -:104B20006F72206D6F72650A002E2050756C736570 -:104B3000207769647468002A2A20506C6561736567 -:104B400020747269676765722070726F6265207782 -:104B5000697468696E20333020736563202A2A0ADD -:104B6000004641494C3A20424C544F554348206539 -:104B70006E61626C6564202D205365742075702011 -:104B80007468697320646576696365206173206168 -:104B900020536572766F2050726F6265207769745A -:104BA0006820494E56455254494E4720736574203B -:104BB000746F202774727565272E0A0020204445E3 -:104BC000504C4F5945442073746174653A204C4FE2 -:104BD0005720286C6F6769632030290020204445E6 -:104BE000504C4F5945442073746174653A204849CC -:104BF000474820286C6F676963203129003D204DAC -:104C0000656368616E6963616C205377697463687A -:104C10002064657465637465640A005741524E49A7 -:104C20004E473A20494E56455254494E47207365E7 -:104C30007474696E672070726F6261626C79206251 -:104C400061636B77617264732E0A002E2044657075 -:104C50006C6F7920262073746F7720342074696D0F -:104C600065730A003D20424C546F75636820436CA5 -:104C7000617373696320312E322C20312E332C2046 -:104C8000536D61727420312E302C20322E302C2046 -:104C9000322E322C20332E302C20332E31206465DE -:104CA0007465637465642E0A002E20436865636B27 -:104CB00020666F7220424C544F5543480A002E2004 -:104CC0005A5F4D494E5F454E4453544F505F494ED5 -:104CD00056455254494E473A20002E2050726F627A -:104CE00065205A5F4D494E5F50494E3A20002C20B6 -:104CF00073746F7720616E676C653A202020002CFA -:104D0000206465706C6F7920616E676C653A200075 -:104D1000536572766F2070726F626520746573746C -:104D20000A2E207573696E6720696E6465783A2073 -:104D300020004D343320576169742043616C6C65E9 -:104D40006400436F6E74696E7565004D343320578F -:104D50006169742043616C6C6564005761746368B9 -:104D6000696E672070696E730A0064697300656E0E -:104D70000061626C65640A00656E6473746F702014 -:104D80006D6F6E69746F722000204500205A0020FC -:104D90005900204D3932205800205A00205900581F -:104DA0000020204D61783A2000205A0020590058F8 -:104DB0000020204D696E3A2000536F667420656EA6 -:104DC0006473746F70733A200020496E76616C6969 -:104DD00064206578747275646572200005000006B1 -:104DE00001000400060100060500000006000400A2 -:104DF000EB4DE64DE14DDC4D5D0A00436F756C6493 -:104E0000206E6F7420636F6D706C657465204C53F9 -:104E1000462100436F727265637465645F5A3D009A -:104E200054696C74696E6720506F696E74202569CF -:104E30002F2569000A0A002F0054696C74696E6797 -:104E4000206D65736820706F696E7420003F457235 -:104E5000726F722070726F62696E6720706F696E18 -:104E6000742E2041626F7274696E67206F70657274 -:104E70006174696F6E2E0A00436F727265637465A8 -:104E8000645F5A3D0054696C74696E6720506F69A5 -:104E90006E7420332F330054696C74696E67206D13 -:104EA0006573682028332F33290A00436F727265B7 -:104EB000637465645F5A3D0054696C74696E672061 -:104EC000506F696E7420322F330054696C74696EB0 -:104ED00067206D6573682028322F33290A00436FDD -:104EE000727265637465645F5A3D0054696C7469DD -:104EF0006E6720506F696E7420312F330054696CD7 -:104F000074696E67206D6573682028312F33290A14 -:104F100000646F6E650A00496E7375666669636941 -:104F2000656E7420646174610A00000040409A99C3 -:104F3000B7429A99344334B386439A19B3430080F5 -:104F4000DF4334F3054467261C449A593244CD8C20 -:104F5000484400C05E4434F3744434938544CDAC7B -:104F6000904467C69B4400E0A644000040403333B1 -:104F7000C14233333E4366E68D4333B3BC430080C6 -:104F8000EB4366260D44CD8C244433F33B449959BE -:104F9000534400C06A443313814466C68C449979F3 -:104FA0009844CD2CA44400E0AF44457874726170FD -:104FB0006F6C6174696E67206D6573682E2E2E00AC -:104FC00057616974696E6720666F722068656174E5 -:104FD00075702E0A004C656176696E67204732361F -:104FE000003F53706563696669656420582C5920D9 -:104FF000636F6F7264696E617465206F7574206F82 -:105000006620626F756E64732E0A003F2852296510 -:10501000706561742076616C7565206E6F742070A8 -:105020006C61757369626C653B206D757374206289 -:1050300065206174206C6561737420312E0A003F15 -:105040002852296570656174206D757374206265DE -:1050500020737065636966696564207768656E2092 -:105060006E6F74207573696E6720616E204C4344C7 -:105070002E0A003F537065636966696564206E6F30 -:105080007A7A6C652074656D70657261747572658D -:10509000206E6F7420706C61757369626C652E0A86 -:1050A000003F5370656369666965642066696C6179 -:1050B0006D656E742073697A65206E6F7420706CF4 -:1050C00061757369626C652E0A003F537065636990 -:1050D00066696564207072696D65206C656E6774C1 -:1050E00068206E6F7420706C61757369626C652ED8 -:1050F0000A003F5072696D65206C656E67746820A8 -:105100006D75737420626520737065636966696587 -:1051100064207768656E206E6F74207573696E67A2 -:1051200020616E204C43442E0A003F537065636932 -:1051300066696564206E6F7A7A6C652073697A653A -:10514000206E6F7420706C61757369626C652E0AD5 -:10515000003F52657472616374696F6E204D756CA7 -:105160007469706C696572206D7573742062652056 -:105170007370656369666965642E0A003F537065E4 -:105180006369666965642052657472616374696FEE -:105190006E204D756C7469706C696572206E6F74E9 -:1051A00020706C61757369626C652E0A003F5370E4 -:1051B00065636966696564206C61796572206865FC -:1051C00069676874206E6F7420706C6175736962B2 -:1051D0006C652E0A0043292E0A003F5370656369EF -:1051E00066696564206265642074656D70657261CE -:1051F00074757265206E6F7420706C61757369626E -:105200006C65202834302D0047323620737461726B -:1052100074696E672E2E2E0A0070012C01900127F2 -:1052200001B0012201C0011D01F00118011002139B -:105230000130020E016002090190020401C002FF68 -:10524000000003FA004003F5008003F000D003EBF8 -:10525000002004E6007004E100E004DC004005D713 -:1052600000C005D2004006CD00D006C8008007C3AC -:10527000003008BE00F008B900C009B400B00AAFA1 -:1052800000B00BAA00D00CA500000EA000500F9B90 -:1052900000C01096005012910000148C00C01587B9 -:1052A00000B0178200B0197D00D01B7800001E737B -:1052B0000040206E0090226900F024640040275FC7 -:1052C0000090295A00E02B5500102E500020304B42 -:1052D0000010324600E033410090353C0010373773 -:1052E0000070383200A0392D00B03A2800A03B23CE -:1052F00000603C1E00103D1900903D1400103E0F50 -:1053000000703E0A00C03E0500003F0000403FFB29 -:10531000FF803FF6FFC03FF1FF202D20496E7661F0 -:105320006C6964206578747275646572206E756D41 -:1053300062657220210A001000C90210012C014090 -:1053400001220170011801B0010E01F001040150A9 -:1053500002FA00B002F0003003E600D003DC009057 -:1053600004D2007005C800A006BE000008B400B05A -:1053700009AA00D00BA000600E960060118C0000FE -:1053800015820020197800C01D6E00A0226400B0B4 -:10539000275A00902C500000314600E0343C0010A9 -:1053A000383200903A2800603C1E00A03D14008076 -:1053B0003E0A00203F0000453120544845524D41EF -:1053C0004C2052554E4157415900424544205448C3 -:1053D00045524D414C2052554E4157415900546859 -:1053E00065726D616C2052756E617761790045312F -:1053F000204572723A204D415854454D5000457237 -:10540000723A204D415854454D5020424544004D7C -:10541000415854454D5020747269676765726564E0 -:10542000004531204572723A204D494E54454D5049 -:10543000004572723A204D494E54454D5020424528 -:1054400044004D494E54454D50207472696767655C -:10545000726564000A0A0020205A5F4D494E3A00E6 -:105460002020595F4D494E3A002020585F4D494E4B -:105470003A004D383420582059205A204500202F1A -:10548000002042403A0020403A0020573A0020577E -:105490003A00544D3344204D61782052656164795F -:1054A0002E005072696E74696E672E2E2E00507237 -:1054B000696E74205061757365640063616E636525 -:1054C0006C005072696E742041626F727465640082 -:1054D00055492041626F727400726573756D650085 -:1054E0004D3234000080ED430000E1430000EB4307 -:1054F0000000000000000000000000004E6F20458A -:105500004550524F4D2E0A0053544F502063616C4A -:105510006C65642062656361757365206F66204207 -:105520004C546F756368206572726F72202D207203 -:105530006573746172742077697468204D393939E4 -:105540000A0053544F502063616C6C65642062659F -:105550006361757365206F6620424C546F75636894 -:10556000206572726F72202D20726573746172747F -:105570002077697468204D3939390A002F2F61630B -:1055800074696F6E3A00627574746F6E00656E6454 -:105590000070726F6D70745F0073686F77004D38C4 -:1055A000373620526573706F6E64696E6720505293 -:1055B0004F4D50545F00554E4B4E4F574E20535455 -:1055C0004154450047434F44455F494E464F004CC8 -:1055D00043445F50415553455F524553554D450037 -:1055E00046494C414D454E545F52554E4F55545FC0 -:1055F000434F4E54494E55450046494C414D454E4A -:10560000545F52554E4F5554004D323400436F6E27 -:1056100074696E75650044697361626C6552756E7C -:105620006F7574005075726765204D6F726500501C -:1056300061757365640070617573656400486F74AB -:10564000656E6420746F6F20636F6C640A00506134 -:1056500075736500507265737320627574746F6E34 -:1056600020286F72204D3130382920746F207265E8 -:1056700073756D650A00496E736572742066696C96 -:10568000616D656E7420616E642070726573732045 -:10569000627574746F6E20286F72204D3130382916 -:1056A0000A00436F6E74696E7565005265686561C6 -:1056B0007420446F6E6500526568656174696E6739 -:1056C0002E2E2E00526568656174696E670048650C -:1056D0006174657254696D656F75740052656865B3 -:1056E00061740048656174657254696D656F7574A5 -:1056F00000507265737320627574746F6E20286F2A -:1057000072204D3130382920746F20686561742013 -:105710006E6F7A7A6C650A004E6F7A7A6C652050EB -:1057200061726B656400436F6E74696E7565004EDF -:105730006F7A7A6C65205061726B656400486F7493 -:10574000656E6420746F6F20636F6C640A0072650D -:1057500073756D656400626567696E00436F6E7492 -:10576000696E75650044697361626C6552756E6F30 -:1057700075740050757267654D6F72650050617584 -:10578000736564004C6F61642046696C616D656E81 -:105790007400436F6E74696E7565004C6F616420B0 -:1057A00046696C616D656E74205400496E73657254 -:1057B000742066696C616D656E7420616E64207022 -:1057C0007265737320627574746F6E20286F722017 -:1057D0004D313038290A00526573756D65004F46AA -:1057E000460A004661646520486569676874200060 -:1057F000426564204C6576656C696E672000466181 -:10580000696C656420746F20656E61626C6520420E -:105810006564204C6576656C696E670A00496E7632 -:10582000616C6964206D6573682E0A0076616C692D -:10583000640A53746F7261676520736C6F743A20E9 -:1058400000696E004D65736820697320003F5573D1 -:1058500065203020746F20003F496E76616C69646A -:105860002073746F7261676520736C6F742E0A0009 -:105870003F454550524F4D2073746F7261676520EC -:105880006E6F7420617661696C61626C652E0A00CE -:105890004D65736820706F696E742063616E6E6F02 -:1058A00074206265207265736F6C7665640A004DC2 -:1058B00034323120696E636F727265637420706177 -:1058C00072616D657465722075736167650A004663 -:1058D000696E6973686564210A00206F6620002084 -:1058E0005A00205900476F696E6720746F3A20583C -:1058F0000043570A00206469723A0020616E676CA9 -:10590000653A005374617274207261646975733A08 -:1059100000506F736974696F6E696E672074686593 -:105920002070726F62652E2E2E0A003F4E756D62DA -:105930006572206F66206C65677320696E206D6FDD -:1059400076656D656E74206E6F7420706C61757312 -:1059500069626C652028302D3135292E0A003F20E0 -:1059600028582C5929206F7574206F6620626F7536 -:105970006E64732E0A003F53616D706C652073690D -:105980007A65206E6F7420706C61757369626C65E6 -:105990002028342D3530292E0A004D3438205A2D38 -:1059A00050726F6265205265706561746162696CE6 -:1059B00069747920546573740A003F28562965720A -:1059C000626F7365206C6576656C20697320696D04 -:1059D000706C61757369626C652028302D34292ED6 -:1059E0000A003F4D65736820746F6F2062696720FD -:1059F000666F7220454550524F4D2E0A004E6F2063 -:105A0000454550524F4D2E0A000A20696E69742098 -:105A10007A70726F62655F7A6F6666736574203D37 -:105A20002000454550524F4D20496E697469616CA4 -:105A3000697A65640A004469666665723A200046C0 -:105A4000726F6D5374703A00537465707065723A7A -:105A500000556E4C6576656C3A004C6576656C65F4 -:105A6000643A005261773A20202020000A4C6F6788 -:105A70006963616C3A004361703A0050726F62650D -:105A8000205A204F66667365743A200050726F6228 -:105A9000652059204F66667365743A200050726F16 -:105AA00062652058204F66667365743A20003F593E -:105AB000206F7574206F662072616E6765202830D4 -:105AC0002D34353020746F20343530290A003F588A -:105AD000206F7574206F662072616E6765202830B4 -:105AE0002D34373520746F20343735290A003F5A5A -:105AF000206F7574206F662072616E676520282D97 -:105B0000323020746F203230290A00220A00656E7C -:105B10007175657565696E6720220023206F6620A8 -:105B200073616D706C65733A200050726F62696EBC -:105B30006720506F696E742025692F2569002E0A31 -:105B40000A002F000A50726F62696E67206D6573DC -:105B50006820706F696E742000496E76616C6964AC -:105B6000206D617020747970652E0A0A003F284606 -:105B7000296164652068656967687420666F7220B2 -:105B8000426564204C6576656C20436F7272656374 -:105B900074696F6E206E6F7420706C6175736962CA -:105BA0006C652E0A0A003F43616E2774206163749E -:105BB000697661746520616E6420646561637469EF -:105BC00076617465206174207468652073616D6509 -:105BD0002074696D652E0A0A00426F74682058208F -:105BE000262059206C6F636174696F6E73206D7528 -:105BF0007374206265207370656369666965642EDD -:105C00000A0A003F496E76616C69642067726964B4 -:105C10002073697A6520284A292073706563696654 -:105C20006965642028322D39292E0A0A003F285040 -:105C300029686173652076616C756520696E76618F -:105C40006C69642028302D36292E0A0A003F285618 -:105C5000296572626F7365206C6576656C20697367 -:105C600020696D706C61757369626C652028302DD8 -:105C700034292E0A0A003F28522965706574697418 -:105C8000696F6E20636F756E7420696E76616C69E2 -:105C9000642028312B292E0A0A002E0A006F706515 -:105CA0006E206661696C65642C2046696C653A20DB -:105CB00000706F7765726F6666004B494C4C4544C7 -:105CC0002E20005072696E7465722068616C746574 -:105CD000642E206B696C6C28292063616C6C656490 -:105CE000210A00205400205200416363656C6572F4 -:105CF0006174696F6E3A20500050574D3A2020254C -:105D000034640050574D3A20202534640050574DDC -:105D10003A20202534640050574D3A202025346421 -:105D20000050574D3A20202534640050574D3A20FA -:105D3000202534640050574D3A202025346400500B -:105D4000574D3A20202534640050574D3A202025E5 -:105D500034640050574D3A20202534640050574D8C -:105D60003A20202534640050574D3A2020253464D1 -:105D70000050574D3A20202534640050574D3A20AA -:105D8000202534640050574D3A20202534640050BB -:105D9000574D3A202025346400433A2000423A20EF -:105DA00000413A200020202020434F4D0020202099 -:105DB0006E6F6E2D7374616E646172642050574D06 -:105DC000206D6F646500202020636F6D70617265C7 -:105DD00020696E7465727275707420656E61626C94 -:105DE0006564002020206F766572666C6F7720698D -:105DF0006E7465727275707420656E61626C656434 -:105E0000003A20002020202054494D534B00423AB4 -:105E10002000202020205443435200413A200020FB -:105E200020202054434352002020202043533A2076 -:105E3000002020202057474D3A200050574D3A204F -:105E4000202534640050574D3A2020253464004703 -:105E5000004800000088008A008C00B300B40000F5 -:105E60000098009A009C00A800AA00AC0028012A13 -:105E7000012C012020202054494D4552004400456A -:105E8000006E00800081006F00B000B100700090D3 -:105E90000091007100A000A1007200200121017397 -:105EA0000020697320616C736F20746965642074CD -:105EB0006F20746869732070696E0054494D4552B3 -:105EC0003143000A202E002020002020506F7274E1 -:105ED0003A200000002100240027002A002D003075 -:105EE00000330001010000040107010A0100002243 -:105EF00000250028002B002E003100340002010094 -:105F000000050108010B01000020002300260029E4 -:105F1000002C002F003200000100000301060109DF -:105F20000105050505070508080808020202020A1E -:105F30000A0808040404040101010101010101032C -:105F400003030303030303040707070C0C0C0C0CE7 -:105F50000C0C0C0202020206060606060606060BDA -:105F60000B0B0B0B0B0B0B01021020200808102051 -:105F700040102040800201020108040201010204D5 -:105F80000810204080804020100804020180040294 -:105F900001804020100804020108040201010204EB -:105FA0000810204080010204081020408000000AF0 -:105FB0000B02090C0D0E080703040100000000008D -:105FC00000000000000000000000000000000000D1 -:105FD000000000000000000000121110000000008E -:105FE00000000000000000000000000000000000B1 -:105FF00000000053544F505045442E200050726909 -:106000006E7465722073746F70706564206475655A -:1060100020746F206572726F72732E20466978202B -:10602000746865206572726F7220616E642075738A -:1060300065204D39393920746F207265737461722F -:10604000742E202854656D706572617475726520B8 -:1060500069732072657365742E20536574206974AA -:106060002061667465722072657374617274696E02 -:1060700067290A006563686F3A004572726F723A69 -:1060800000204A0020204D34323120490020204792 -:106090003239204939390A006163746976650A002A -:1060A000696E00002053797374656D2076312E304F -:1060B000312000001902BD0111241FBECFEFD1E233 -:1060C000DEBFCDBF00E00CBF18E0A0E0B2E0E2EC24 -:1060D000F1EC02E00BBF02C007900D92AC3AB107A1 -:1060E000D9F72DE1ACEAB8E001C01D92A53DB20799 -:1060F000E1F710E3CBE5D0E300E006C0219701090A -:10610000802FFE010F94B75BCA35D10780E00807E6 -:10611000A9F70F945C450D94CF600C9400002F926A -:106120003F924F925F926F927F928F929F92AF9227 -:10613000BF92CF92DF92EF92FF920F931F93CF9374 -:10614000DF93CDB7DEB7E3970FB6F894DEBF0FBE8F -:10615000CDBF80910901817091E098272091CB08F3 -:10616000921781F19093CB08811116C00E9465713E -:106170008091F51783FF09C08DE893E00E94C46603 -:1061800061E080E00F94E4411DC060E081E00F9485 -:10619000E44186EA93E014C00091F51703FB002761 -:1061A00000F90E94F4708091F517877F8093F517AE -:1061B000002341F060E081E00F94E4418FEB93E035 -:1061C0000E94C4668091701481FF11C18091F51501 -:1061D0009091F615891B8F70843008F008C18CE00F -:1061E000E2E9FCE0DE01119601900D928A95E1F75B -:1061F0008091A90C9091AA0CA091AB0CB091AC0C21 -:1062000088A799A7AAA7BBA79C01AD016091920C92 -:106210007091930C8091940C9091950C0F94BF5BAE -:106220006B017C016093920C7093930C8093940C9F -:106230009093950C8091AD0C9091AE0CA091AF0C09 -:10624000B091B00C8CA79DA7AEA7BFA79C01AD01D4 -:106250006091960C7091970C8091980C9091990C8C -:106260000F94BF5B68A379A38AA39BA36093960C4A -:106270007093970C8093980C9093990C8091B10C2B -:106280009091B20CA091B30CB091B40C88AB99ABC7 -:10629000AAABBBAB9C01AD0160919A0C70919B0CB9 -:1062A00080919C0C90919D0C0F94BF5B4B015C0105 -:1062B00060939A0C70939B0C80939C0C90939D0C14 -:1062C000A7019601C701B6010F9430552B013C017F -:1062D00028A139A14AA15BA1CA01B9010F94305587 -:1062E0009B01AC01C301B2010F94C05B2B013C01C7 -:1062F000A5019401C501B4010F9430559B01AC0177 -:10630000C301B2010F94C05B0F94BE5E9B01AC0150 -:1063100060E070E080E89FE30F94BA5C20913F0258 -:106320003091400240914102509142020F94305509 -:106330002DEC3CEC4CEC5DE30F94305520E030E06C -:1063400040E85EE30F9430552B013C0120E030E043 -:1063500040E85FE30F94CA5487FFF1C3A3019201A1 -:10636000C701B6010F94305528A539A54AA55BA5EC -:106370000F94C05B6093920C7093930C8093940C79 -:106380009093950CA301920168A179A18AA19BA188 -:106390000F9430552CA53DA54EA55FA50F94C05B6D -:1063A0006093960C7093970C8093980C9093990C33 -:1063B000A3019201C501B4010F94305528A939A950 -:1063C0004AA95BA90F94C05B60939A0C70939B0CD5 -:1063D00080939C0C90939D0C0E94C9C08CE0FE01A0 -:1063E0003196A2E9BCE001900D928A95E1F7809187 -:1063F000CA0881110C94764C8091C8089091C90804 -:106400009C012F5F3F4F3093C9082093C808883EF6 -:10641000934010F40C94764C81E08093CA0810925B -:10642000C9081092C8088091690C882309F498C3A0 -:106430000E949780811194C38091C7088F5F8093D9 -:10644000C7088091C708853620F01092C7081092BF -:10645000690CE091690C8E2FEE0F990BAA0BBB0B08 -:10646000FC013197E730F10508F0A0C08827EE580D -:10647000FF4F8F4F0D94B75B0E948F80882309F4E4 -:1064800095C081E080933E0282ED93E00E94C46655 -:1064900080E190E090937A168093791685E080935E -:1064A0006D1602E80093701684E190E1A0E0B0E080 -:1064B0008093711690937216A0937316B09374160E -:1064C0000F94483281E09AE590937A16809379167A -:1064D00086E390E090937C1680937B1687E0809310 -:1064E0006D160093701684E890E0A0E0B0E0809311 -:1064F000711690937216A0937316B09374160F943E -:10650000483252C00E948F80882309F44FC048C08F -:1065100080EE93E00E94C46681E09AE590937A163B -:106520008093791680E490E090937C1680937B169C -:1065300007E000936D1682E88093701684E890E07F -:10654000A0E0B0E08093711690937216A09373163A -:10655000B09374160F9448320093690C27C0809151 -:10656000C608882319F10E948F808823F9F00E94C1 -:10657000978081111BC0F7C20E948F808823B1F0E1 -:106580000E949780811112C01CC30E9497808111C4 -:106590000DC042E060E070E0CB010E94AD8004C01D -:1065A0000E949780811102C01092690C80913E0276 -:1065B000882309F4ACC28091650C9091660C892BFC -:1065C00009F08FC18091C3089091C408892B09F00C -:1065D0001EC184E096E090937A168093791680EA43 -:1065E00090E890937C1680937B1617E010936D16BD -:1065F00002E80093701680EA90E0A0E0B0E080939B -:10660000711690937216A0937316B09374160F942C -:1066100048328091060290910702A0910802B09141 -:1066200009020097A105B10511F510927A16109292 -:10663000791615E010936D16009370168AE890E1B4 -:10664000A0E0B0E08093711690937216A093731639 -:10665000B09374160F94483289E090E090937A16C4 -:106660008093791610936D160093701640C00196B2 -:10667000A11DB11DF5E0B695A79597958795FA955B -:10668000D1F70197A109B109009731E0A307B1053E -:1066900058F0B0937A16A093791690937C16809355 -:1066A0007B1610936D1607C090937A168093791617 -:1066B00085E080936D1612E8109370168AE890E1D9 -:1066C000A0E0B0E08093711690937216A0937316B9 -:1066D000B09374160F94483288E090E090937A1645 -:1066E0008093791685E080936D16109370168CE870 -:1066F00090E1A0E0B0E08093711690937216A093A1 -:106700007316B09374160F944832809106029091DC -:106710000702A0910802B09109020097E1E0AE07DC -:10672000B10550F0B0937A16A093791690937C1629 -:1067300080937B1687E005C090937A168093791634 -:1067400085E080936D1682E88093701688E890E16A -:10675000A0E0B0E08093711690937216A093731628 -:10676000B09374160F9448328091060290910702FC -:10677000A0910802B0910902BA2FA92F982F88275B -:106780000097F1E0AF07B10550F0B0937A16A093EF -:10679000791690937C1680937B1687E005C09093C2 -:1067A0007A168093791685E080936D1612E810931F -:1067B000701681EA90E0A0E0B0E0809371169093AB -:1067C0007216A0937316B09374160F94483280918A -:1067D0005B0C882319F082E090E002C083E090E037 -:1067E00090937A168093791685E080936D161093B6 -:1067F000701685E490E1A0E0B0E08093711690936C -:106800007216A0937316B09374160F9448320091C9 -:10681000C3081091C408053611057CF410937A164C -:106820000093791685E080936D1682E88093701648 -:1068300080E090E1A0E0B0E011C0C8018456910969 -:1068400090937A168093791685E080936D1682E88E -:106850008093701681E090E1A0E0B0E08093711623 -:1068600090937216A0937316B09374160F944832D7 -:106870000F5F1F4F1093C4080093C308093C110514 -:1068800064F18EEE93E00E94C46681E090E0909304 -:10689000660C8093650C80933E0281E09AE59093AC -:1068A0007A16809379168DE290E090937C1680930F -:1068B0007B1687E080936D1682E88093701684E8DB -:1068C00090E0A0E0B0E08093711690937216A093D0 -:1068D0007316B09374160F9448321092CA080C9431 -:1068E000764C8091F5159091F615891B8F7009F003 -:1068F00092C10E94388A81118EC18091F51782FD64 -:106900008AC112C384E690E090937A168093791638 -:1069100010936D16009370168EE090E1A0E0B0E049 -:106920008093711690937216A0937316B093741699 -:106930000F944832C60182539048880F991F909354 -:106940007A168093791610936D16009370168FE067 -:1069500090E1A0E0B0E08093711690937216A0933E -:106960007316B09374160F9448320F94D30790E0C7 -:1069700090937A168093791685E080936D1682E85D -:106980008093701686E190E1A0E0B0E080937116EC -:1069900090937216A0937316B09374160F944832A6 -:1069A00020E030E048EC52E46091870C7091880C54 -:1069B0008091890C90918A0C0F9430550F942C5D26 -:1069C00070937A166093791615E010936D1602E8AD -:1069D0000093701686E290E1A0E0B0E0809371161B -:1069E00090937216A0937316B09374160F94483256 -:1069F0006091E80C7091E90C8091EA0C9091EB0C9D -:106A00000F942C5D70937A166093791610936D161F -:106A10000093701686E390E1A0E0B0E080937116D9 -:106A200090937216A0937316B09374160F94483215 -:106A30006091020A7091030A8091040A9091050AFC -:106A40000F942C5D70937A166093791610936D16DF -:106A5000009370168CE390E1A0E0B0E08093711693 -:106A600090937216A0937316B09374160F944832D5 -:106A70008091EC0C9091ED0C90937A16809379169E -:106A800010936D160093701684E390E1A0E0B0E0DF -:106A90008093711690937216A0937316B093741628 -:106AA0000F9448328091060A9091070A90937A16C3 -:106AB0008093791610936D16009370168AE390E117 -:106AC000A0E0B0E08093711690937216A0937316B5 -:106AD000B09374160F9448320091BF0801113CC165 -:106AE0008091C108811138C18091C60881118BC184 -:106AF0008091211690912216A0912316B091241610 -:106B00008C3420E19207A105B10509F0A1C13DEB4C -:106B1000C32E36E1D32E0AE181E794E10E943D6F56 -:106B2000E090B408F090B508181619060CF085C36B -:106B30008AE1E816F10414F40C9437487EC38CE023 -:106B4000FE013196A2E9BCE001900D928A95E1F731 -:106B50000E94C9C0809170148D7F8093701447CCBF -:106B60001092C7086ECC80EA95E00E94C4668091BE -:106B7000C50890E0A0E0B0E0895B9F4FAE4FB54AFA -:106B800021E03AE530937A162093791690937C169B -:106B900080937B1687E080936D1682E88093701651 -:106BA00084E890E0A0E0B0E08093711690937216B4 -:106BB000A0937316B09374160F9448321092C608BF -:106BC000F3CC81E080933E021092690C8EEA95E04E -:106BD0000E94C46681E09AE590937A1680937916B4 -:106BE0008EE490E090937C1680937B1687E08093F0 -:106BF0006D1682E88093701684E890E0A0E0B0E023 -:106C00008093711690937216A0937316B0937416B6 -:106C10000F944832CBCC8CE090E090937A1680931E -:106C2000791605E000936D1682E88093701684E172 -:106C300090E1A0E0B0E08093711690937216A0935B -:106C40007316B09374160F9448320F94AA0420E17F -:106C50003EE040E050E00F94205B2115310591E0CB -:106C60004907510560F050937A1640937916309396 -:106C70007C1620937B1687E080936D1606C03093B8 -:106C80007A162093791600936D1602E80093701619 -:106C900080E190E1A0E0B0E08093711690937216CD -:106CA000A0937316B09374160F9448320F94AA04ED -:106CB00020E13EE040E050E00F94205B2CE330E028 -:106CC00040E050E00F94205B30937A1620937916C1 -:106CD00015E010936D160093701682E190E1A0E02C -:106CE000B0E08093711690937216A0937316B093D0 -:106CF00074160F9448320F94D307882391F00F94A1 -:106D0000D3078F5F8093C208C82ED12C833308F03D -:106D1000F9CDC601880F991F90937A168093791642 -:106D200004C010927A161092791610936D16009383 -:106D300070168EE090E1A0E0B0E080937116909321 -:106D40007216A0937316B09374160F944832109273 -:106D50007A1610927916F7CD20E030E048EC52E434 -:106D60006091E80C7091E90C8091EA0C9091EB0C29 -:106D70000F9430556B017C016091EC0C7091ED0C1F -:106D8000072E000C880B990B0F94D1549B01AC017A -:106D9000C701B6010F94BA5C0F94335D6436710578 -:106DA00010F064E670E070937A166093791645E00F -:106DB000A42EA0926D1652E8B52EB092701684E201 -:106DC00090E1A0E0B0E08093711690937216A093CA -:106DD0007316B09374160F944832C090E80CD0909C -:106DE000E90CE090EA0CF090EB0C20E030E040E29F -:106DF00053E4C701B6010F94205E18160CF03AC197 -:106E0000011188C137C18091B60801E0080F0093D5 -:106E1000B60890E090937A168093791685E0809377 -:106E20006D1682E88093701682E490E1A0E0B0E0F5 -:106E30008093711690937216A0937316B093741684 -:106E40000F9448320A3008F453CE1092B60850CE50 -:106E50008A349041A105B10509F459CE80E00E9421 -:106E60008B8120E030E040E251E40F9430550F94E4 -:106E70002C5D70937A166093791615E010936D1659 -:106E800002E80093701688E490E1A0E0B0E08093FF -:106E9000711690937216A0937316B09374160F9494 -:106EA000483281E00E948B8120E030E040E251E4F2 -:106EB0000F9430550F942C5D70937A166093791669 -:106EC00010936D16009370168AE490E1A0E0B0E094 -:106ED0008093711690937216A0937316B0937416E4 -:106EE0000F94483282E00E948B8120E030E040E243 -:106EF00051E40F9430550F942C5D70937A16609383 -:106F0000791610936D16009370168CE490E1A0E052 -:106F1000B0E08093711690937216A0937316B0939D -:106F200074160F944832F3CD8091020A9091030AAF -:106F3000A091040AB091050A88A399A3AAA3BBA3B0 -:106F40006091060A7091070A072E000C880B990BB6 -:106F50000F94D1546B017C0120E030E040E050E41C -:106F60000F94BF5B28A139A14AA15BA10F94205EB9 -:106F7000181604F14090E80C5090E90C6090EA0C6F -:106F80007090EB0C6091EC0C7091ED0C072E000CE6 -:106F9000880B990B0F94D1544B015C0120E030E039 -:106FA00040E251E40F94BF5BA30192010F94205E75 -:106FB000181604F58DE090E090937A168093791678 -:106FC00085E080936D1682E88093701684E190E1ED -:106FD000A0E0B0E08093711690937216A0937316A0 -:106FE000B09374160F9448328091680C81113FC0A1 -:106FF00081E03DC020E030E040E050E4C701B60150 -:107000000F94C05B28A139A14AA15BA10F94CA5477 -:1070100087FD0EC020E030E040E251E4C501B4013C -:107020000F94C05BA30192010F94CA5487FFB8CCA0 -:1070300084E190E090937A168093791685E08093AE -:107040006D1682E88093701684E190E1A0E0B0E0D4 -:107050008093711690937216A0937316B093741662 -:107060000F9448328091680C811101C082E08093B6 -:10707000680C96CC6091EC0C7091ED0C072E000C16 -:10708000880B990B0F94D1549B01AC01C701B60139 -:107090000F94205E6091C10887FDAEC0662309F49D -:1070A00023CD062E000C770B81E098E00F942D4144 -:1070B0001092C1081092C4081092C30884E090E0B6 -:1070C00090937A168093791685E080936D1602E886 -:1070D000009370168EE890E1A0E0B0E08093711606 -:1070E00090937216A0937316B09374160F9448324F -:1070F00081E09AE590937A168093791683E590E083 -:1071000090937C1680937B1687E080936D16009396 -:10711000701663C01092BF0820E030E040E251E4F6 -:107120006091B7087091B8088091B9089091BA0839 -:107130000F9430550F942C5D70937A1660937916E6 -:10714000A0926D16B092701684E590E1A0E0B0E0D8 -:107150008093711690937216A0937316B093741661 -:107160000F94483220E030E040E251E46091BB08E7 -:107170007091BC088091BD089091BE080F94305565 -:107180000F942C5D70937A1660937916A0926D1609 -:10719000B092701688E590E1A0E0B0E0809371169F -:1071A00090937216A0937316B09374160F9448328E -:1071B0008CEB95E00E94C46681E09AE590937A1684 -:1071C0008093791681E490E090937C1680937B16EF -:1071D00087E080936D16B092701684E890E0A0E08E -:1071E000B0E08093711690937216A0937316B093CB -:1071F00074160F94483278CC662309F475CC8091CC -:10720000C3089091C4089C012F5F3F4F3093C4087E -:107210002093C30865E070E00F94A35B90937A1607 -:107220008093791685E080936D1682E880937016BE -:107230008EE890E1A0E0B0E0D4CF1E141F040CF063 -:107240004CCB90911E168091BD16981322C0909140 -:107250001F168091BE1698131CC023E0E216F1049D -:10726000C4F09091BF1690931D168091C016809324 -:1072700020169330D1F4982F9D7F9038B1F49091DF -:10728000C1169F3409F059C09091C2169B3409F081 -:1072900054C08AE1EDEBF6E1DF011D928A95E9F732 -:1072A0001092B5081092B40818CB833809F045C085 -:1072B0008091C1169091C216982789279827A0E03F -:1072C000B0E08093211690932216A0932316B093DA -:1072D0002416C090C316D12CE12CF12CC092251697 -:1072E000D0922616E0922716F0922816A4ECB6E16A -:1072F00040E050E0BA014C155D056E057F0508F0D1 -:107300004AC04A015B01B694A79497948794F4010C -:107310003696EE0FFF1FE35EF94E8C9190E0982FAA -:10732000882711962C911197822B918380834E5F31 -:107330005F4F6F4F7F4F1296DECF813861F580919E -:10734000C11690E0A0E0B0E0809321169093221641 -:10735000A0932316B09324168091C216482F50E0B4 -:1073600060E070E040932516509326166093271630 -:1073700070932816A3ECB6E1E9E2F6E190E020E094 -:1073800030E02817390739F04D9150E0419351937F -:107390002F5F3F4FF6CF8AE1EDEBF6E1DF011D9263 -:1073A0008A95E9F71092B5081092B4088FEF93E030 -:1073B0000E94C4666091690C161664F4062E000CD7 -:1073C000770B86EF97E00F942D418AE00E94A66527 -:1073D0000C9428486091291670912A1684EE97E043 -:1073E0000F940F418AE00E94A665409121165091AA -:1073F0002216609123167091241685ED97E00F9464 -:10740000FE408AE00E94A665809121169091221686 -:10741000A0912316B0912416EBE6F2E000E010E014 -:10742000419151916191719141155105610571052C -:10743000D1F1481759076A077B0791F5AC01BD01E7 -:107440004850504161097109453051056105710588 -:1074500068F1AC01BD01477F4233504161057105C0 -:1074600041F18433F0E19F07A105B10511F1AC01B1 -:10747000BD0146545041610971094730510561050C -:107480007105D0F0AC01BD0144555041610971094D -:10749000453051056105710588F402E110E00EC028 -:1074A0000F5F1F4FBDCF0FEF1FEF08C003E010E0CD -:1074B00005C008E010E002C00FE010E08A509042E2 -:1074C000A109B109833D9105A105B10530F00F3F38 -:1074D0002FEF120721F40C94284809E110E0F0E2A4 -:1074E000CF2EF4E0DF2EF60181916F01882319F091 -:1074F0000E94A665F8CF6AE070E0C8010E94366677 -:107500000E94BE6689EC97E00E94C4660A311105AC -:1075100010F00C942448F8018827E758FF4F8F4F4C -:107520000D94B75B8091291690912A1681309105B0 -:10753000E1F410923E028FEF8093AC1A60E080E09D -:107540000F94E4410EE214E0D8018D918D0188235F -:1075500019F00E94A665F8CF81E09AE590937A161B -:10756000809379168EE290E0AFC08230910509F0E9 -:10757000C5C081E080933E020F94440885EC97E0FB -:1075800090933B0A80933A0A8BE090E090937A16AE -:107590008093791605E000936D1612E8109370162B -:1075A00080E092E1A0E0B0E08093711690937216B3 -:1075B000A0937316B09374160F94483210927A16F3 -:1075C0001092791600936D16109370168EE090E16C -:1075D000A0E0B0E08093711690937216A09373169A -:1075E000B09374160F94483210927A16109279164E -:1075F00000936D16109370168FE090E1A0E0B0E05C -:107600008093711690937216A0937316B0937416AC -:107610000F94483210927A161092791600936D16D4 -:107620001093701686E190E1A0E0B0E080937116AF -:1076300090937216A0937316B09374160F944832F9 -:1076400062E070E080E090E00E949F8110927A16E4 -:107650001092791600936D161093701680E190E1E8 -:10766000A0E0B0E08093711690937216A093731609 -:10767000B09374160F94483210927A1610927916BD -:1076800000936D161093701682E190E1A0E0B0E0D7 -:107690008093711690937216A0937316B09374161C -:1076A0000F94483208E514E0F80181918F01882396 -:1076B00019F00E94A665F8CF81E09AE590937A16BA -:1076C000809379168DE290E090937C1680937B16E0 -:1076D00087E080936D1682E88093701684E890E0CE -:1076E000A0E0B0E08093711690937216A093731689 -:1076F000B09374160F9448320C9428488330910547 -:1077000049F581E080933E0202E814E0D8018D91B2 -:107710008D018823C9F00E94A665F8CF80912116BB -:1077200090912216A0912316B09124168233F0E195 -:107730009F07A105B10509F05BC4809129169091BE -:107740002A16009709F023C480910502882309F4C2 -:107750000DC31DC3049711F00C94284810923E02EB -:107760000C9428488091291690912A168130910511 -:10777000D1F410923E0280910502882319F082E034 -:1077800090E002C083E090E090937A16809379169F -:1077900085E080936D1682E8809370168EE190E10B -:1077A000A0E0B0E09FCF8230910519F50CEA14E01B -:1077B000F80181918F01882319F00E94A665F8CF06 -:1077C00081E080933E028091680C843049F081E032 -:1077D0009AE590937A168093791685E390E074CFBA -:1077E00081E09AE590937A168093791686E390E08B -:1077F0006BCF8330910509F04CC020910502222304 -:1078000019F190937A168093791685E080936D161E -:1078100082E8809370168EE190E1A0E0B0E0809362 -:10782000711690937216A0937316B09374160F94FA -:10783000483240E060E070E088EC92E40F94C808C1 -:10784000109205020C94284882E090E090937A16FA -:107850008093791685E080936D1682E88093701688 -:107860008EE190E1A0E0B0E08093711690937216E3 -:10787000A0937316B09374160F94483240E060E002 -:1078800070E0CB010F94C80881E0809305020C944E -:107890002848049711F00C9428488091150A8823F1 -:1078A000F1F082E090E090937A168093791685E06B -:1078B00080936D1682E8809370168FE190E1A0E0CE -:1078C000B0E08093711690937216A0937316B093E4 -:1078D00074160F9448321092150A0C94284883E0CD -:1078E00090E090937A168093791685E080936D16D8 -:1078F00082E8809370168FE190E1A0E0B0E0809381 -:10790000711690937216A0937316B09374160F9419 -:10791000483281E08093150A0C942848609129161A -:1079200070912A1680E090E00F94CF546B017C0197 -:1079300020E030E04AEF53E40F94CA5487FF11C0AF -:1079400020E030E040E251E4C701B6010F94205E30 -:1079500018166CF0C12CD12C70E2E72E71E4F72ED2 -:1079600006C0C12CD12CEAEFEE2EE3E4FE2EC701B7 -:10797000B6010F942C5D70934A02609349020C94F7 -:1079800028488091211690912216A0912316B0913B -:1079900024168830F0E19F07A105B10509F050C019 -:1079A00081E09AE590937A16809379168DE290E0C3 -:1079B00090937C1680937B1687E080936D1612E877 -:1079C0001093701684E890E0A0E0B0E08093711608 -:1079D00090937216A0937316B09374160F94483256 -:1079E00010927A161092791605E000936D16109396 -:1079F000701680E190E1A0E0B0E080937116909362 -:107A00007216A0937316B09374160F9448321092A6 -:107A10007A161092791600936D161093701682E103 -:107A200090E1A0E0B0E08093711690937216A0935D -:107A30007316B09374160F9448320F9444088FC095 -:107A40008A3020E19207A105B105E1F58091291660 -:107A500090912A16813F910511F00C94284881E0FD -:107A60009AE590937A168093791686E390E0909346 -:107A70007C1680937B1687E080936D1682E8809356 -:107A8000701684E890E0A0E0B0E0809371169093C7 -:107A90007216A0937316B09374160F9448324AE28C -:107AA00056E061E376E084E00F94EC0A60E08DE15B -:107AB00096E00F94050883E196E090933B0A80934B -:107AC0003A0A4DC08C309041A105B10509F047C07C -:107AD0008091291690912A16019709F040C00F94C1 -:107AE000A14E1092680C81E080933E028CE090E001 -:107AF00090937A168093791685E080936D1612E83C -:107B00001093701684E190E1A0E0B0E080937116CC -:107B100090937216A0937316B09374160F94483214 -:107B200081E09AE590937A168093791685E390E048 -:107B300090937C1680937B1687E080936D1610934C -:107B4000701684E890E0A0E0B0E080937116909306 -:107B50007216A0937316B09374160F9448328091E6 -:107B6000211690912216A0912316B09124168C30E4 -:107B70009041A105B10511F00C9428488091291677 -:107B800090912A16029711F00C9428480F94A14E58 -:107B900081E08093C1081092680C80933E0210929D -:107BA000C4081092C30881E09AE590937A168093F6 -:107BB000791682E590E088CD2091291630912A1619 -:107BC000B90180E090E037FF09C00F94CF5420E066 -:107BD00030E040E857E40F94BF5B02C00F94CF54ED -:107BE00020E030E048EC52E40F94BA5C6B017C0179 -:107BF00020E030E040EA51EC0F94205E87FD31C078 -:107C000020E030E040EA51E4C701B6010F94CA54C5 -:107C100018163CF1A70196016091870C7091880CB1 -:107C20008091890C90918A0C0F94BF5B20E030E02A -:107C300048EC53E40F94305590580F942C5DCB01D1 -:107C40000F943D35C092870CD092880CE092890C3D -:107C5000F0928A0C80EC97E090933B0A80933A0A6A -:107C600028C020E030E048EC52E46091870C70912D -:107C7000880C8091890C90918A0C0F9430550F9448 -:107C80002C5D70937A166093791685E080936D165B -:107C900082E88093701686E290E1A0E0B0E08093E5 -:107CA000711690937216A0937316B09374160F9476 -:107CB00048326091870C7091880C8091890C90916A -:107CC0008A0C8E010B5E1F4F23E041E00F94A24F00 -:107CD0009F938F9382EB97E09F938F9304511109A9 -:107CE0001F930F930F946254C8010E947D820F90DE -:107CF0000F900F900F900F900F900C942848809148 -:107D0000291690912A16009729F481E080933E026B -:107D10000C94284881309105B1F4809105028823A4 -:107D200049F081E09AE590937A16809379168CE376 -:107D300090E0CACC81E09AE590937A168093791608 -:107D40008BE390E0C1CC82309105F9F2833091054C -:107D500039F58091050240E0882389F060E070E009 -:107D600088EC92E40F94C8081092050281E09AE52D -:107D700090937A168093791689E390E0A5CC60E021 -:107D800070E0CB010F94C80881E08093050281E088 -:107D90009AE590937A16809379168AE390E094CCD2 -:107DA0008530910559F540E060E070E084E393E4AC -:107DB0000E94228046E060E070E08CE892E40E943D -:107DC000228084EB90E090937A168093791605E0F8 -:107DD00000936D1612E81093701684E390E1A0E012 -:107DE000B0E08093711690937216A0937316B093BF -:107DF00074160F94483286E490E02DC086309105C9 -:107E000099F540E060E070E080E793E40E94228012 -:107E100046E060E070E08CED92E40E94228080EF0A -:107E200090E090937A168093791605E000936D1692 -:107E300012E81093701684E390E1A0E0B0E0809324 -:107E4000711690937216A0937316B09374160F94D4 -:107E500048328EE690E090937A16809379160093DC -:107E60006D1610937016BFC0813F910511F00C94F0 -:107E7000284840E060E070E0CB010F94C80841E082 -:107E800060E070E0CB010F94C8081092050240E05A -:107E900060E070E0CB010E94228046E060E070E08C -:107EA000CB010E94228010927A161092791605E07A -:107EB00000936D1612E81093701684E390E1A0E031 -:107EC000B0E08093711690937216A0937316B093DE -:107ED00074160F94483261E070E080E090E00E94F8 -:107EE0009F8110927A161092791600936D16109356 -:107EF00070168AE390E1A0E0B0E080937116909351 -:107F00007216A0937316B09374160F94483261E002 -:107F100070E080E090E00E949F8184E190E0909387 -:107F20007A168093791600936D161093701684E17B -:107F300090E1A0E0B0E08093711690937216A09348 -:107F40007316B09374160F94483281E09AE59093BB -:107F50007A168093791689E390E090937C1680934B -:107F60007B1687E080936D161093701684E890E07E -:107F7000A0E0B0E08093711690937216A0937316F0 -:107F8000B09374160F94483282E00C9421488130EB -:107F90009105A9F440E060E070E0CB010E942280EE -:107FA00010927A161092791685E080936D1682E809 -:107FB0008093701684E390E1A0E0B0E093CB029749 -:107FC00011F00C94284846E060E070E0CB010E947C -:107FD000228010927A161092791685E080936D16A1 -:107FE00082E8809370168AE390E1A0E0B0E07ACB5B -:107FF000843320E19207A105B10551F4609129165F -:1080000070912A1680E090E00F94CF5440E010C0A9 -:108010008A339041A105B10511F00C942848609174 -:10802000291670912A1680E090E00F94CF5446E014 -:108030000E9422800C9428488091291690912A163B -:10804000009709F462CE8130910509F04CC080910F -:108050005B0C882319F083E090E002C082E090E09E -:1080600090937A168093791685E080936D1682E856 -:108070008093701685E490E1A0E0B0E080937116E3 -:1080800090937216A0937316B09374160F9448329F -:108090008AE090E090937A168093791685E0809339 -:1080A0006D1682E88093701680E092E1A0E0B0E067 -:1080B0008093711690937216A0937316B0937416F2 -:1080C0000F9448320E948F80811103C082EA97E0AA -:1080D00002C086E997E090933B0A80933A0A82E0D7 -:1080E0008093690C71C18230910509F0A8C081E0CC -:1080F00080933E0288E0E7EBF8E0DF011D928A956D -:10810000E9F780E090E0A0E2B1E48093B7089093B3 -:10811000B808A093B908B093BA088093BB089093AD -:10812000BC08A093BD08B093BE0884E690E090938D -:108130007A168093791605E000936D1612E8109375 -:10814000701684E590E1A0E0B0E080937116909302 -:108150007216A0937316B09374160F94483220E0F1 -:1081600030E040E251E46091BB087091BC0880911E -:10817000BD089091BE080F9430550F942C5D7093FC -:108180007A166093791600936D161093701688E531 -:1081900090E1A0E0B0E08093711690937216A093E6 -:1081A0007316B09374160F9448326091E80C709176 -:1081B000E90C8091EA0C9091EB0C0F942C5D70937C -:1081C0007A166093791600936D161093701686E3F5 -:1081D00090E1A0E0B0E08093711690937216A093A6 -:1081E0007316B09374160F9448328091EC0C9091F2 -:1081F000ED0C90937A168093791600936D16109378 -:10820000701684E390E1A0E0B0E080937116909343 -:108210007216A0937316B09374160F94483262E0EE -:1082200070E080E090E00E949F8181E09AE5909369 -:108230007A168093791681E490E00C946449833037 -:10824000910509F076C01092C50880E00E948B81EC -:1082500020E030E040E251E40F9430550F942C5D63 -:1082600070937A166093791605E000936D1612E804 -:108270001093701688E490E1A0E0B0E0809371164E -:1082800090937216A0937316B09374160F9448329D -:1082900081E00E948B8120E030E040E251E40F94C5 -:1082A00030550F942C5D70937A1660937916009375 -:1082B0006D16109370168AE490E1A0E0B0E0809310 -:1082C000711690937216A0937316B09374160F9450 -:1082D000483282E00E948B8120E030E040E251E4AD -:1082E0000F9430550F942C5D70937A166093791625 -:1082F00000936D16109370168CE490E1A0E0B0E04E -:108300008093711690937216A0937316B09374169F -:108310000F94483262E070E080E090E00E949F811C -:1083200081E09AE590937A168093791687E490E03D -:10833000CBC78430910509F48BC68530910549F48B -:108340004EE750E160E070E083ED94E00F94F73188 -:108350007FC6069709F07CC682E997E090933B0AB6 -:1083600080933A0A8BE090E031C280912916909177 -:108370002A16019711F510923E0281E09AE590933A -:108380007A16809379168FE390E090937C16809311 -:108390007B1687E080936D1682E88093701684E8E0 -:1083A00090E0A0E0B0E08093711690937216A093D5 -:1083B0007316B09374160F944832809129169091D9 -:1083C0002A16029709F044C681E09AE590937A163E -:1083D0008093791680E490E077C9E0912916F091B6 -:1083E0002A163197EB30F10508F0EAC18827ED56DF -:1083F000FF4F8F4F0D94B75B80916F1480FF62C663 -:10840000869580FD62C65EC62DEC3CEC4CEC5DE3CF -:108410006091870C7091880C8091890C90918A0CE6 -:108420000F94C05B6B017C0120E030E040EA51EC2E -:108430000F94205E87FDC8C120E030E040EA51E49F -:10844000C701B6010F94CA5418160CF045C6BCC13A -:108450002DEC3CEC4CEC5DE36091870C7091880C4A -:108460008091890C90918A0C0F94BF5B6B017C0109 -:1084700020E030E040EA51EC0F94205E87FDA4C17B -:1084800020E030E040EA51E4C701B6010F94CA543D -:1084900018160CF098C698C180E00F94F93E0E941F -:1084A0008F80811103C089E397E002C08BE297E0DF -:1084B00090933B0A80933A0A82E08093690C81E0B2 -:1084C0009AE590937A168093791684E590E09093DC -:1084D0007C1680937B1687E080936D1682E88093EC -:1084E000701684E890E0A0E0B0E08093711690935D -:1084F0007216A0937316B09374160F94483264C129 -:1085000083E08093690C83E090E090937A168093E7 -:10851000791685E080936D1682E8809370168DE859 -:1085200090E1A0E0B0E08093711690937216A09352 -:108530007316B09374160F944832E12CF12C00E0BE -:10854000DD24D394AA24A39446E0942E55E0852EEE -:1085500062E8762EDD2031F0CC24C39436E0B32ED1 -:1085600010E005C0CC24CA94BB24BA9415E0DA24E8 -:10857000B11609F43FC0802F90E08397CCF51530F9 -:10858000B9F1B5E0EB16A1F10F5FF701919EE00D97 -:10859000F11D1124EE0FFF1FEE0FFF1FE852FE4EDC -:1085A00020E030E04AE754E4608171818281938168 -:1085B0000F9430550F942C5D70937A166093791652 -:1085C00080926D1670927016802F90E08158974FB0 -:1085D000880F991F092E000CAA0BBB0B80937116F4 -:1085E00090937216A0937316B09374160F9448323A -:1085F0001C0DBECFEFEFEE1AFE0AF6E0EF16F10407 -:1086000009F0A8CF81E09AE590937A1680937916C5 -:1086100085E590E090937C1680937B1687E08093AD -:108620006D1682E88093701684E890E0A0E0B0E0D8 -:108630008093711690937216A0937316B09374166C -:108640000F94483283EB96E090933B0A80933A0A6A -:10865000BBC042E060E070E080E890E40E94AD8042 -:1086600040E060E070E08DE693E40E94AD8041E080 -:1086700060E070E081E693E413C042E060E070E007 -:1086800080E890E40E94AD8040E060E070E080E22D -:1086900092E40E94AD8041E060E070E080E292E40C -:1086A0000E94AD8086E08093690C8EC042E060E05D -:1086B00070E080E890E40E94AD8040E060E070E00F -:1086C00089ED93E4E6CF42E060E070E080E890E47A -:1086D0000E94AD8040E060E070E089ED93E40CC062 -:1086E00042E060E070E080E890E40E94AD8040E00D -:1086F00060E070E080E292E40E94AD8041E060E0E2 -:1087000070E08DEC93E4CCCF80915B0C81111CC0A8 -:1087100083E090E090937A168093791685E08093B9 -:108720006D1682E88093701685E490E1A0E0B0E0D9 -:108730008093711690937216A0937316B09374166B -:108740000F94483281E01BC082E090E090937A164B -:108750008093791685E080936D1682E88093701679 -:1087600085E490E1A0E0B0E08093711690937216DA -:10877000A0937316B09374160F94483280E00F9450 -:10878000F93E20E030E048EC52E46091870C7091B3 -:10879000880C8091890C90918A0C0F9430550F941D -:1087A0002C5D70937A166093791685E080936D1630 -:1087B00082E88093701686E290E1A0E0B0E095CE6A -:1087C00087E996E00E94C4668AE090E090937A166A -:1087D0008093791685E080936D1682E880937016F9 -:1087E0004BC184E08093690C8091211690912216F0 -:1087F000A0912316B09124166091291670912A1623 -:10880000883420E19207A105B10509F453C08A34E8 -:1088100030E19307A105B10509F456C08C34E0E1BD -:108820009E07A105B10509F45AC086349041A105FF -:10883000B10509F05EC063307105B9F586E896E0D0 -:1088400090933B0A80933A0A81E08093C608809314 -:108850003E021092B60881E09AE590937A168093D2 -:1088600079168AE490E090937C1680937B1687E0DB -:1088700080936D1612E81093701684E890E0A0E0E3 -:10888000B0E08093711690937216A0937316B09314 -:1088900074160F9448328AE090E090937A16809391 -:1088A000791685E080936D16E5C06093C508109237 -:1088B000690CCEC380E090E8ADEEB3E48CA39DA339 -:1088C000AEA3BFA3312C15C080E090E0A1EEB3E4CD -:1088D0008CA39DA3AEA3BFA3332433940AC080E02E -:1088E00090E0ABEEB3E48CA39DA3AEA3BFA382E064 -:1088F000382E80E090E00F94CF5420E030E040E24A -:1089000051E40F94BA5C6B017C0120E030E0A901D6 -:108910000F94CA5487FF09C01092B0081092B10892 -:108920001092B2081092B3081FC02CA13DA14EA115 -:108930005FA1C701B6010F94205E18164CF0C092DB -:10894000B008D092B108E092B208F092B3080CC01F -:108950008CA19DA1AEA1BFA18093B0089093B10856 -:10896000A093B208B093B3086091B0087091B108B9 -:108970008091B2089091B308432D0E94AD8061E0D0 -:1089800070E080E090E00E949F8180E00E948B81F7 -:1089900020E030E040E251E40F9430550F942C5D1C -:1089A00070937A166093791605E000936D1612E8BD -:1089B0001093701688E490E1A0E0B0E08093711607 -:1089C00090937216A0937316B09374160F94483256 -:1089D00081E00E948B8120E030E040E251E40F947E -:1089E00030550F942C5D70937A166093791600932E -:1089F0006D16109370168AE490E1A0E0B0E08093C9 -:108A0000711690937216A0937316B09374160F9408 -:108A1000483282E00E948B8120E030E040E251E465 -:108A20000F9430550F942C5D70937A1660937916DD -:108A300000936D16109370168CE490E1A0E0B0E006 -:108A40008093711690937216A0937316B093741658 -:108A50000F94483261E070E080E090E00E949F81D6 -:108A60001092690C8AE090E090937A1680937916C0 -:108A700000936D161093701680E092E1A0E0B0E0D4 -:108A80000C94723B8091211690912216A09123168E -:108A9000B09124168635E0E19E07A105B10509F0E5 -:108AA00041C020E030E040E253E46091E80C709176 -:108AB000E90C8091EA0C9091EB0C0F94CA54209130 -:108AC000291630912A1687FF0AC42530310508F08F -:108AD00006C480EA90E090937A168093791685E038 -:108AE00080936D1612E81093701680E290E1A0E07A -:108AF000B0E08093711690937216A0937316B093A2 -:108B000074160F94483265E070E080E090E00E94B7 -:108B10009F8181E09AE590937A168093791682E49A -:108B200090E0D2C38435F0E19F07A105B105B9F407 -:108B30006091291670912A1680E090E00F94CF542E -:108B400020E030E040E251E40F94BA5C6093B70853 -:108B50007093B8088093B9089093BA0879C28835A1 -:108B60009041A105B10509F073C260912916709179 -:108B70002A1680E090E00F94CF5420E030E040E2ED -:108B800051E40F94BA5C6093BB087093BC08809367 -:108B9000BD089093BE085CC26091291670912A1698 -:108BA00080E796E00F940F418091291690912A1644 -:108BB00082309105A1F038F4009771F00197E1F44B -:108BC0008CEF94E043C28430910579F058F005971A -:108BD00099F485E496E00BC086EE94E037C282E615 -:108BE00096E005C088E596E002C083E596E09093A4 -:108BF0003B0A80933A0A2CC280E195E027C28FE1BC -:108C000095E00E94C4668091291690912A168130C1 -:108C1000910519F46499C3C41BC2892B09F018C2C9 -:108C20008DE295E00E94C4668091AC08813039F5F0 -:108C300083E495E00E94C46681E09AE590937A16F9 -:108C4000809379168EE290E090937C1680937B1649 -:108C500087E080936D1682E88093701684E890E038 -:108C6000A0E0B0E08093711690937216A0937316F3 -:108C7000B09374160F9448321092670C35C082304E -:108C800069F487E595E00E94C46681E09AE59093D7 -:108C90007A168093791686E390E00EC0833031F522 -:108CA0008BE695E00E94C46681E09AE590937A167F -:108CB0008093791681E490E090937C1680937B16E4 -:108CC00087E080936D1682E88093701684E890E0C8 -:108CD000A0E0B0E08093711690937216A093731683 -:108CE000B09374160F944832109206141092AC0888 -:108CF0000F944408ADC18091291690912A168F3F98 -:108D0000910531F028F08FEF90E0A0E0B0E002C0D4 -:108D1000A0E0B0E08093060290930702A0930802BF -:108D2000B09309028091060290910702A091080277 -:108D3000B09109020097A105B10509F510927A16C4 -:108D40001092791605E000936D1612E810937016D4 -:108D50008AE890E1A0E0B0E08093711690937216DB -:108D6000A0937316B09374160F94483289E090E084 -:108D700090937A168093791600936D163DC00196F4 -:108D8000A11DB11D05E0B695A795979587950A9504 -:108D9000D1F70197A109B109009731E0A307B10507 -:108DA00050F0B0937A16A093791690937C16809326 -:108DB0007B1687E005C090937A168093791685E03C -:108DC00080936D1612E8109370168AE890E1A0E087 -:108DD000B0E08093711690937216A0937316B093BF -:108DE00074160F94483288E090E090937A1680933E -:108DF000791685E080936D16109370168CE890E1DB -:108E0000A0E0B0E08093711690937216A093731651 -:108E1000B09374160F944832809106029091070225 -:108E2000A0910802B0910902BA2FA92F982F882784 -:108E30000097E1E0AE07B10550F0B0937A16A09329 -:108E4000791690937C1680937B1687E005C09093EB -:108E50007A168093791685E080936D1682E8809368 -:108E6000701681EA90E0A0E0B0E00C94723B8FE7CE -:108E700095E00E94C4660E94168040912116509190 -:108E800022166091231670912416882339F0433DF1 -:108E9000F0E25F076105710509F4C7C3423D504226 -:108EA0006105710509F0D4C08091291690912A16A8 -:108EB000019709F012C50E941680882309F40DC598 -:108EC0008091AC1A87FDC4C0A2E18A02C0011124BE -:108ED0008959934E0E940D71C12C90E2D92EE12C3C -:108EE000F12C05E012E810927A1610927916009390 -:108EF0006D1610937016C0927116D0927216E09291 -:108F00007316F09274160F944832BFEFCB1ADB0A37 -:108F1000EB0AFB0AEAE0CE16E0E2DE06E104F10429 -:108F200011F70091AC1AF2E10F02800111240150F7 -:108F3000154EF80101900020E9F7C8018E1B9F0B28 -:108F4000439697FD01967C01F594E7941E141F0447 -:108F50000CF0BDC49E012F5F3F4F690184E1D90130 -:108F60001D928A95E9F7A70160E975E0C9010F94A0 -:108F70008660B801C6018E0D9F1D0F94716040E0A0 -:108F800050E260E070E0C6010F94F73162E070E0FB -:108F900080E090E00E949F8140E060E070E08FE719 -:108FA00093E40F94C80841E060E070E08FE793E439 -:108FB0000F94C808109205028DE090E090937A1605 -:108FC0008093791685E080936D1612E810937016E1 -:108FD00084E190E1A0E0B0E0809371169093721666 -:108FE000A0937316B09374160F94483262E070E049 -:108FF00080E090E00E949F8181E09AE590937A164C -:109000008093791685E390E090937C1680937B168D -:1090100087E080936D161093701684E890E0A0E0CE -:10902000B0E08093711690937216A0937316B0936C -:1090300074160F94483281E080933E028093670C4F -:1090400083E08093680C04C08AE396E00E94C466C3 -:1090500080E5EDE1F6E1DF011D928A95E9F78AE509 -:1090600080931E1685EA80931F160C946D3481E759 -:1090700094E10E941B6FF701E354F94E80838091C5 -:10908000BD168A3581F01E141F0414F00C948C3523 -:10909000D601E02F1D92EA95E9F71092B5081092DB -:1090A000B4080C948C3562E070E080E090E00E949F -:1090B0009F81FFEFEF1AFF0AF092B508E092B40823 -:1090C0000C948C3582E897E002C081E797E090939A -:1090D0003B0A80933A0A55CB88E290E00F943D35E5 -:1090E0002DEC3CEC4CEC5DE36091870C7091880CAE -:1090F0008091890C90918A0C0F94C05B6B017C016C -:1091000020E030E040EA51EC0F94205E87FD12C071 -:1091100020E030E040EA51E4C701B6010F94CA54A0 -:10912000181644F0C092870CD092880CE092890CFB -:10913000F0928A0C20E030E048EC52E46091870C19 -:109140007091880C8091890C90918A0C0F94305505 -:109150000F942C5D70937A166093791685E0809356 -:109160006D1682E88093701686E290E1A0E0B0E090 -:109170008093711690937216A0937316B093741621 -:109180000F9448326091870C7091880C8091890C03 -:1091900090918A0C8E010B5E1F4F23E041E00F94EB -:1091A000A24F9F938F9383E697E09F938F930451F1 -:1091B00011091F930F930F946254C8010E947D827E -:1091C0008EE597E076C088ED9FEF0F943D352DEC4E -:1091D0003CEC4CEC5DE36091870C7091880C8091C5 -:1091E000890C90918A0C0F94BF5B6B017C0120E08D -:1091F00030E040EA51EC0F94205E87FD12C020E081 -:1092000030E040EA51E4C701B6010F94CA54181681 -:1092100044F0C092870CD092880CE092890CF092B6 -:109220008A0C20E030E048EC52E46091870C7091A9 -:10923000880C8091890C90918A0C0F9430550F9472 -:109240002C5D70937A166093791685E080936D1685 -:1092500082E88093701686E290E1A0E0B0E080930F -:10926000711690937216A0937316B09374160F94A0 -:1092700048326091870C7091880C8091890C909194 -:109280008A0C8E010B5E1F4F23E041E00F94A24F2A -:109290009F938F9380E597E09F938F9304511109DB -:1092A0001F930F930F946254C8010E947D828BE438 -:1092B00097E090933B0A80933A0A0F900F900F909B -:1092C0000F900F900F9080CA90937C1680937B161E -:1092D00087E080936D16109370160C946E3B2430CB -:1092E000310589F481E00F945B4E2091BB083091E9 -:1092F000BC084091BD085091BE080F94C05B41E08E -:109300000F94324EB2C02530310508F4F4C0263037 -:10931000310509F431C108F023C181E08093BF0811 -:1093200040E060E070E08EE393E40E94228020E061 -:1093300030E048EC52E46091E80C7091E90C8091C7 -:10934000EA0C9091EB0C0F9430556B017C0160910D -:10935000EC0C7091ED0C072E000C880B990B0F9400 -:10936000D1549B01AC01C701B6010F94BA5C0F94B4 -:10937000335D6436710510F064E670E070937A1620 -:109380006093791605E000936D1612E8109370163D -:1093900084E290E1A0E0B0E08093711690937216A1 -:1093A000A0937316B09374160F9448326091E80C32 -:1093B0007091E90C8091EA0C9091EB0C0F942C5D6C -:1093C00070937A166093791600936D161093701649 -:1093D00086E390E1A0E0B0E080937116909372165E -:1093E000A0937316B09374160F9448328091EC0CCE -:1093F0009091ED0C90937A168093791600936D16E8 -:109400001093701684E390E1A0E0B0E080937116B1 -:1094100090937216A0937316B09374160F944832FB -:1094200065E070E080E090E00E949F8181E09AE535 -:1094300090937A168093791684E490E090937C164A -:1094400080937B1687E080936D161093701684E8E6 -:1094500090E0A0E0B0E08093711690937216A09314 -:109460007316B09374160F94483220E030E040E257 -:1094700051E46091B7087091B8088091B908909153 -:10948000BA080F9430550F942C5D70937A16609340 -:10949000791605E000936D1612E81093701684E5B6 -:1094A00090E1A0E0B0E08093711690937216A093C3 -:1094B0007316B09374160F94483220E030E040E207 -:1094C00051E46091BB087091BC088091BD089091F7 -:1094D000BE080F9430550F942C5D70937A166093EC -:1094E000791600936D161093701688E590E1A0E050 -:1094F000B0E00C94723B2230310579F480E00F9497 -:109500005B4E2091B7083091B8084091B90850914E -:10951000BA080F94C05B40E0F3CE2330310570F001 -:1095200081E00F945B4E2091BB083091BC084091C4 -:10953000BD085091BE080F94BF5BE1CE21303105CC -:1095400009F093CF80E00F945B4E2091B7083091E3 -:10955000B8084091B9085091BA080F94BF5BDBCFAF -:10956000213F310509F081CF1092BF0861E070E022 -:1095700080E090E00E949F8181E09AE590937A16C6 -:109580008093791681E490E090937C1680937B160B -:1095900087E080936D1682E88093701658CF8DED2A -:1095A00095E00E94C46681E00F94D5098DE090E0BB -:1095B00090937A168093791685E080936D1612E861 -:1095C0001093701684E190E1A0E0B0E080937116F2 -:1095D00090937216A0937316B09374160F9448323A -:1095E00083E08093680C81E09AE590937A168093EB -:1095F000791685E390E090937C1680937B1687E044 -:1096000080936D161093701684E890E0A0E0B0E0AF -:109610008093711690937216A0937316B09374167C -:109620000F9448321092AC0813CD85EF95E00E945C -:10963000C4668091AD1A9091AE1A9927209129168F -:1096400030912A168217930708F402CD88E895E036 -:109650000E94C4668091291681508093AC1AA4EDB3 -:109660008A2EA0E29A2EA12CB12C05E012E81092CD -:109670007A161092791600936D16109370168092D8 -:10968000711690927216A0927316B09274160F947F -:1096900048322FEF821A920AA20AB20A3EED8316CE -:1096A00030E29306A104B10411F78091AC1AA2E153 -:1096B0008A02C0011124FC01E150F54E7F010190A6 -:1096C0000020E9F7C7018E1B9F0B439697FD01967B -:1096D0008C011595079510161106FCF49E012F5F5D -:1096E0003F4F690184E1D9011D928A95E9F7A801EC -:1096F00060E975E0C9010F948660B701C601800F6B -:10970000911F0F94716044ED50E260E070E0C6017B -:109710000F94F73105E012E806C044ED50E260E036 -:1097200070E0C701F5CF10927A1610927916009367 -:109730006D16109370168092711690927216A09208 -:109740007316B09274160F944832BFEF8B1A9B0AAF -:10975000AB0ABB0AE6EE8E16E0E29E06A104B10457 -:1097600011F78E010F5F1F4F84E1D8011D928A957A -:10977000E9F78091AE1A8F938091AD1A8F93809103 -:109780002A168F93809129168F938AE995E09F93EB -:109790008F931F930F930F94A0604EED50E260E003 -:1097A00070E0C8010F94F73162E070E080E090E073 -:1097B0000E949F810FB6F894DEBF0FBECDBF31E28D -:1097C000C32E32E1D32EE12CF12C43E1442E40E6AE -:1097D000542E612C712C88248394912CAA24AA9451 -:1097E000BA2C75E0272EE2E83E2E0AE010E08091C8 -:1097F000AD1A9091AE1A8815990594F1B0927A1627 -:10980000A092791620926D163092701640927116C1 -:109810005092721660927316709274160F944832BA -:1098200010937A160093791620926D163092701666 -:10983000C0927116D0927216E0927316F09274165E -:109840000F944832FFEF8F1A9F0A20E1420E511CFD -:10985000611C711C3FEFC31AD30AE30AF30AC7CF96 -:109860008091291690912A1624E0880F991F2A9535 -:10987000E1F78D5F9F49A0E0B0E020EF37E830933B -:109880007A162093791605E000936D1612E810936E -:1098900070168093711690937216A0937316B093FE -:1098A00074160F9448328091291690912A16805E82 -:1098B0009D4EA0E0B0E026E030E030937A16209391 -:1098C000791600936D16109370160C94723B40E05D -:1098D00050E260E070E0C80157CB8091291690916A -:1098E0002A16892B11F40C94853EB2CBE3960FB661 -:1098F000F894DEBF0FBECDBFDF91CF911F910F91C6 -:10990000FF90EF90DF90CF90BF90AF909F908F909F -:109910007F906F905F904F903F902F9008952F927F -:109920003F924F925F926F927F928F929F92AF92EF -:10993000BF92CF92DF92EF92FF920F931F93CF933C -:10994000DF93CDB7DEB7C154D1090FB6F894DEBFAF -:109950000FBECDBF22968FAF22972091E0082CAF8B -:1099600021E02093E008809150148D3409F465C4FF -:10997000843511F40C94325E873411F00C94395E06 -:1099800080914E1490914F148B31910509F41FC2B0 -:10999000B4F48430910534F482309105DCF597FFFE -:1099A0002DC047C48531910511F40C943B5E8A317A -:1099B000910509F408C2049709F03BC4C5C18A3275 -:1099C000910509F48DC354F48D31910509F43CC21D -:1099D0000CF42AC24E9709F43BC22BC48B35910577 -:1099E00009F4FCC28C35910509F4FCC28A35910555 -:1099F00009F01FC41092DF080C943B5E8091520264 -:109A0000882311F40C943B5E0E94CFD70E94C9C0FA -:109A10000C943B5E20915202222311F40C943B5E85 -:109A200011E0029709F010E00E94CFD719821A8244 -:109A30001B821C821D821E821F82188682E50E9464 -:109A4000779E882309F438C10E94F79D4B015C0181 -:109A500020E030E0A9010F94CA54882309F442C1E0 -:109A60008091A90C9091AA0CA091AB0CB091AC0C78 -:109A70008CA39DA3AEA3BFA38091AD0C9091AE0C1F -:109A8000A091AF0CB091B00C88A799A7AAA7BBA7CB -:109A90008091920C9091930CA091940CB091950CA4 -:109AA0008CA79DA7AEA7BFA78091960C9091970C0D -:109AB000A091980CB091990C88AB99ABAAABBBABB9 -:109AC0002CA53DA54EA55FA56CA17DA18EA19FA152 -:109AD0000F94CA5481110DC028A939A94AA95BA9BC -:109AE00068A579A58AA59BA50F94CA54882309F473 -:109AF000F9C020E030E0A901C501B4010F94CA54B7 -:109B0000881F8827881F181729F080E090E0A0E8B8 -:109B1000BFEB04C080E090E0A0E8BFE388AF99AF5E -:109B2000AAAFBBAF2CA13DA14EA15FA16CA57DA5A5 -:109B30008EA59FA50F94BF5B6CAB7DAB8EAB9FAB2F -:109B400028A539A54AA55BA568A979A98AA99BA9D1 -:109B50000F94BF5B6B017C012CA93DA94EA95FA9A5 -:109B6000CA01B9010F9430552B013C01A7019601A0 -:109B7000C701B6010F9430559B01AC01C301B2017E -:109B80000F94C05B0F94BE5E2B013C019B01AC01A6 -:109B900060E070E080E89FE30F94BA5C21966CAFC0 -:109BA0007DAF8EAF9FAF219720E030E040E05FE3D4 -:109BB000C301B2010F9430552B013C01A501940162 -:109BC000C501B4010F9430554B015C01A301920112 -:109BD000C301B2010F9430559B01AC01C501B40122 -:109BE0000F94BF5B0F94BE5E28AD39AD4AAD5BAD3F -:109BF0000F9430554B015C01C701B6019058219676 -:109C00002CAD3DAD4EAD5FAD21970F943055A50104 -:109C100094010F9430556B017C012CA53DA54EA5F8 -:109C20005FA56CA17DA18EA19FA10F94C05B20E0D8 -:109C300030E040E05FE30F9430559B01AC01C70179 -:109C4000B6010F94C05B2CA13DA14EA15FA10F9462 -:109C5000BF5B69837A838B839C8328A939A94AA92E -:109C60005BA968A579A58AA59BA50F94C05B20E098 -:109C700030E040E05FE30F9430556B017C012196AA -:109C80002CAD3DAD4EAD5FAD21976CA97DA98EA9E0 -:109C90009FA90F943055A50194010F9430559B0155 -:109CA000AC01C701B6010F94C05B28A539A54AA530 -:109CB0005BA50F94BF5B12C089E40E94779E882346 -:109CC00031F00E94F79D69837A838B839C838AE4B9 -:109CD0000E94779E882331F00E94F79D6D837E83DA -:109CE0008F83988720E030E0A90169817A818B8198 -:109CF0009C810F94CA5481110BC020E030E0A9016F -:109D00006D817E818F8198850F94CA548823A1F03C -:109D1000412FBE016F5F7F4F82E99CE00F94AD2021 -:109D20000F946E3E60936714709368148093691467 -:109D300090936A140C943B5E0F944C4182E498E03B -:109D40000F94D0400C943B5E80E50E94779E882360 -:109D500029F00F94913A6B017C0103C0C12CD12CE6 -:109D6000760183E50E94779E882361F00E94F79D2B -:109D700020E030E04AE754E40F9430550F94335D0F -:109D80006B017C010E94BA918091C513811105C0BD -:109D900060E088E598E00F9405080F946E3EC60ECB -:109DA000D71EE81EF91E0F946E3EDC01CB018C1904 -:109DB0009D09AE09BF09B7FD02C00C943B5E80E06F -:109DC0000E94EA66F0CF0E9456ED0C943B5E41E0A3 -:109DD00061E081E00E9459C081110C943B5E80E0FB -:109DE00090E0A8E4B2E489839A83AB83BC8380E0EB -:109DF00090E0A0E2B1E48D839E83AF83B88789872A -:109E00009A87AB87BC8780E50E94779E882321F0E4 -:109E10000E94E39D862F01C080E0BE016F5F7F4FEF -:109E20000F9432050C943B5E8091781287708730D6 -:109E300011F00C945F5E60E08FE40E9441ED8111AF -:109E40000C943B5E0C945F5E0E94EFA30C943B5E0F -:109E500020917F0C3091800C4091810C5091820CAC -:109E60006091A90C7091AA0C8091AB0C9091AC0CF4 -:109E70000F94C05BAB01BC0188E50E94EC826C8F43 -:109E80007D8F8E8F9F8F2091830C3091840C409119 -:109E9000850C5091860C6091AD0C7091AE0C809148 -:109EA000AF0C9091B00C0F94C05BAB01BC0189E585 -:109EB0000E94EC8269837A838B839C83BE016F5FEF -:109EC0007F4FCE014C960E94B5A0882311F40C94CC -:109ED0003B5E80E00F94F93E0E943E7861E085E4AD -:109EE0000E9441ED182F01E021E0482FBE016F5F75 -:109EF0007F4FCE014C960E94BD8D6B017C019B0172 -:109F0000AC010F940D5F81115FC08C8C9D8CAE8C69 -:109F1000BF8C20E030E0A901C501B4010F94CA5400 -:109F200087FF05C027E137EB41E558EB04C027E187 -:109F300037EB41E558E3C501B4010F94C05BAB01B9 -:109F4000BC018BEA98E00F941C4189809A80AB8019 -:109F5000BC8020E030E0A901C501B4010F94CA54CF -:109F600087FF05C027E137EB41E558EB04C027E147 -:109F700037EB41E558E3C501B4010F94C05BAB0179 -:109F8000BC0186EA98E00F941C4120E030E0A90172 -:109F9000C701B6010F94CA5487FF05C027E137EB0C -:109FA00041E558EB04C027E137EB41E558E3C70131 -:109FB000B6010F94C05BAB01BC0181EA98E00F943D -:109FC0001C418AE00E94A6650E942578113011F498 -:109FD0000E94D48C0E949A7C0C943B5E2093DF08F4 -:109FE0000C943B5EB3EE2B2EB2E03B2E1CE6E12E32 -:109FF00012E1F12E29EA3CE03DA32CA303E7C02E99 -:10A000000CE0D02E00E010E0D1018D911D010E94E6 -:10A01000779E882309F44BC00E94F79D2B013C01D9 -:10A02000133049F0F60120813181428153810F9430 -:10A03000BF5B2B013C01ACA1BDA12D913D914D9188 -:10A040005C91C301B2010F94BF5B4B015C012DEB2E -:10A0500037E346E855EB0F94205E87FD0AC02DEBF1 -:10A0600037E346E855E3C501B4010F94CA54181606 -:10A07000F4F4133051F44092B50C5092B60C609247 -:10A08000B70C7092B80C01E012C0A5019401F70161 -:10A0900060817181828193810F94C05BD7016D9340 -:10A0A0007D938D939C931397812F0E9439C01F5FDE -:10A0B000B4E0EB0EF11CECA1FDA13496FDA3ECA3E2 -:10A0C000F4E0CF0ED11C143009F09ECF002321F014 -:10A0D00085EB9CE00E94CB910E949A7C0C943B5EA5 -:10A0E00080915202882311F40C943B5E89E40E9413 -:10A0F000779E082F882321F00E94F39DE82E01C04F -:10A10000E12C8AE40E94779E182F882321F00E9478 -:10A11000F39DF82E01C0F12C002319F025E02E1537 -:10A1200028F0112349F035E03F1530F483EB98E037 -:10A130000F94D0400C943B5E0E94FFEB002359F03B -:10A140008E2D0E94C19E6093920C7093930C80930D -:10A15000940C9093950C112359F08F2D0E94939E8F -:10A160006093960C7093970C8093980C9093990C35 -:10A1700060E080E50E9441ED8823C1F10023D1F029 -:10A1800020917F0C3091800C4091810C5091820C79 -:10A190006091920C7091930C8091940C9091950C1D -:10A1A0000F94BF5B6093920C7093930C8093940C0C -:10A1B0009093950C1123D1F02091830C3091840C55 -:10A1C0004091850C5091860C6091960C7091970C83 -:10A1D0008091980C9091990C0F94BF5B6093960CB2 -:10A1E0007093970C8093980C9093990C40E050E0FA -:10A1F000BA0186E40E94EC826B017C0120E030E031 -:10A20000A9010F94205E181684F420E030E040E7A6 -:10A2100052E4C701B6010F94BA5C60933F02709399 -:10A22000400280934102909342020E94C9C00C9464 -:10A230003B5E0E943EBB0C943B5E80914E1490911D -:10A240004F148537910511F40C942B590CF050C123 -:10A250008934910509F4EDC40CF069C08A31910587 -:10A2600009F472C39CF58431910509F4E7C27CF4CA -:10A270008131910509F4CEC22CF4029708F447C24B -:10A280000C942F5E429709F414C70C942F5E87310B -:10A29000910509F4FDC28CF48531910509F4F4C2ED -:10A2A000469711F00C942F5E0E94F4708091F51780 -:10A2B000877F8093F5170C943B5E8831910509F4F4 -:10A2C000FFC2499709F435C30C942F5E8F31910575 -:10A2D00009F468C47CF48C31910509F4ADC30CF425 -:10A2E00041C38D31910509F4B1C34E9709F4B5C34B -:10A2F0000C942F5E8A32910509F474C464F48032A0 -:10A30000910509F409C4819711F00C942F5E0E9405 -:10A310005B890C943B5E8B32910509F486C4C0972F -:10A3200011F00C942F5E0F946B100C943B5E8836EA -:10A33000910509F426C5D4F58135910509F4A1C626 -:10A34000C4F48C34910509F483C44CF48B34910526 -:10A3500011F00C942F5E0E94B58F0C943B5E8D34EF -:10A36000910509F479C48E34910509F479C40C94EB -:10A370002F5E8435910509F49CC674F482359105ED -:10A3800009F494C68335910511F00C942F5E81E099 -:10A390008093D9080C943B5E8535910509F4B5C6C8 -:10A3A0008C35910509F4CAC60C942F5E8E36910542 -:10A3B00009F45DC5D4F48B36910509F452C654F402 -:10A3C0008936910509F4EFC58A36910509F421C64D -:10A3D0000C942F5E8C36910511F40C943B5E8D36F7 -:10A3E000910509F4EDC40C942F5E8137910509F4B1 -:10A3F00094C55CF48F36910509F44AC58037910500 -:10A4000011F40C943B5E0C942F5E8237910509F495 -:10A410001FC78337910511F00C942F5E82E69BE0F5 -:10A420000F94D04060E082E59BE00F948A2460E0C6 -:10A430008DE39BE00F948A2461E086E39BE00F9418 -:10A440008A2461E08BE29BE00F948A2461E08BE137 -:10A450009BE00F948A2460E082E19BE00F948A24C1 -:10A4600061E088E09BE00F948A2461E08EEF9AE03F -:10A470000F948A2461E086EF9AE00F948A2461E0C9 -:10A4800088EE9AE00F948A2461E08AED9AE00F94B6 -:10A490008A2460E08BEC9AE00F948A2460E08DEBD4 -:10A4A0009AE00F948A2460E087EA9AE00F948A2465 -:10A4B00061E086E99AE00F948A2461E087E89AE0F7 -:10A4C0000F948A2461E082E79AE00F948A2461E085 -:10A4D0008FE59AE00F948A2460E082E59AE00F9479 -:10A4E0008A2460E08EE39AE00F948A240C943B5E09 -:10A4F0008E32A1E09A0711F40C94875C0CF070C0C6 -:10A500008B3C910509F46DC7ACF58D37910509F4C5 -:10A51000B5C5BCF48737910509F4E8C60CF4ACC6A0 -:10A520008837910509F4E5C68937910511F00C9437 -:10A530002F5E10922A0A1092290A0E94AB7A0C947C -:10A540003B5E8E3B910509F41CC554F48C38910593 -:10A5500009F405C58B39910509F435C50C942F5EB6 -:10A56000883C910509F4CDC6893C910509F416C7CC -:10A570000C942F5E8C3D910509F485C79CF48D3CAD -:10A58000910509F450C70CF44BC78E3C910509F4B2 -:10A5900058C7833D910511F00C942F5E0E947ADA22 -:10A5A0000C943B5E8831E1E09E0711F40C94F25A62 -:10A5B00054F48D3D910509F473C7823E910509F469 -:10A5C000C5C70C942F5E823221E0920711F40C94DF -:10A5D000895B8D32914011F40C94945B0C942F5E46 -:10A5E000843FA1E09A0711F40C947D5D0CF043C008 -:10A5F0008239E1E09E0711F40C94D15CDCF48033E5 -:10A6000021E0920711F40C94145C14F40C94CB5CCC -:10A610008039A1E09A0711F40C94CE5C8139914005 -:10A6200011F00C942F5E81E00E941C8D0E949A7C98 -:10A630000C943B5E843AE1E09E0711F40C94E45CD8 -:10A640006CF48A3921E0920711F40C943B5E8C394A -:10A65000914011F40C94D95C0C942F5E853AA1E0E2 -:10A660009A0711F40C94E75C8C3A914011F40C9425 -:10A67000EA5C0C942F5E8835E2E09E0711F40C949E -:10A68000A55D1CF5873F21E0920711F40C94835DD2 -:10A690007CF4853FA1E09A0711F40C94805D863F1D -:10A6A000914011F00C942F5E0E94C57A0C943B5E91 -:10A6B000883FE1E09E0711F40C948C5D8C30924051 -:10A6C00011F40C949D5D0C942F5E8C3623E0920760 -:10A6D00011F40C943B5E7CF48B35A2E09A0711F4E4 -:10A6E0000C94A85D8335934011F00C942F5E0F9469 -:10A6F000891E0C943B5E803AE3E09E0709F442C257 -:10A70000873E934011F40C94215E0C942F5E0091CF -:10A71000590C10915A0C80E50E94779E882361F0B5 -:10A720000F94913A6B017C01BB24B394672B682B87 -:10A73000692B31F4B12C04C0B12CC12CD12C760181 -:10A7400083E50E94779E882311F40C9449600E944F -:10A75000F79D20E030E04AE754E40F9430550F9421 -:10A76000335D6B017C01B1100BC0672B682B692B2B -:10A7700039F40115110521F0D8018C91811102C025 -:10A78000B12C02C0BB24B3940E94BA91B11003C093 -:10A7900084E096E001C0C8010E94C2821091E008E6 -:10A7A00083E08093E00881E08093061444EE58E053 -:10A7B0006DEE78E082E00F94330A82ED98E00E941B -:10A7C000C282C114D104E104F104B1F00F946E3ED1 -:10A7D000C60ED71EE81EF91E0F946E3EDC01CB019B -:10A7E0008C199D09AE09BF09B7FF0EC080910614F0 -:10A7F00081110C944E6008C080910614882321F0CA -:10A8000080E00E94EA66F8CF109206141093E008E8 -:10A810000C943B5E80914A1484FF02C00C945360F8 -:10A8200080914C1487FF02C00C94536080914D14AA -:10A83000837011F00C9453600C946F6087E199E081 -:10A840000F94D04010922E0C87E695E10E9433962B -:10A850008BE1E7E6F5E1DE01119601900D928A9514 -:10A86000E1F740E050E0BE016F5F7F4F80E090E095 -:10A870000E947A72CE0101960E94699788E099E061 -:10A880000F94D0400C943B5E0E9465710C943B5E2B -:10A89000E091590CF0915A0C8081882329F0803284 -:10A8A00009F410823196F8CF40E061E08091590CB4 -:10A8B00090915A0C0E945074109207140C943B5EB5 -:10A8C0008091C00B8823E9F080E090E0A0EAB1E439 -:10A8D00088A399A3AAA3BBA31C8E1D8E1E8E1F8EB8 -:10A8E00019821A821B821C8220E0AE01405E5F4FFB -:10A8F000BE01645E7F4FCE0101960F94F30A0C9463 -:10A900003B5E0E94388A882321F00E9405710E94D4 -:10A91000B58F40E050E068E279E085E00F94EC0A02 -:10A9200061E089ED94E50F9479090F94A6080C94E1 -:10A930003B5E8091F51782FF03C08B7F8093F517F4 -:10A940000E94ACD90C943B5E8091F51783FD02C048 -:10A950000C943B5E83E50E94779E81110C947D6090 -:10A960000C943B5E83E40E942E9E8823D9F18CE3F5 -:10A9700099E00F94D04080911115882351F1BE01C8 -:10A980006F5F7F4F8EE095E10E94FA948E010F5F1A -:10A990001F4FF80181918F01882319F00E94A6654D -:10A9A000F8CFBE016F5F7F4F80E090E00E94187487 -:10A9B00080915D1A882389F080E20E94A6650DE5EA -:10A9C0001AE1D8018D918D01882339F00E94A66586 -:10A9D000F8CF82E399E00F94D0408AE00E94A66508 -:10A9E0000C943B5E83E50E94779E882309F10E94C8 -:10A9F0001DED182F90E0CD970CF01CE31093D008BC -:10AA00000F946E3E6B017C01212F30E0A8EEB3E085 -:10AA10000F94745BC60ED71EE81EF91EC092CC08B8 -:10AA2000D092CD08E092CE08F092CF080C943B5E15 -:10AA30000E94CD700C943B5E40E060E08091590C28 -:10AA400090915A0C0E9450740C943B5E8091F517C3 -:10AA50008E7F8093F5170C943B5E8091F51783FDF4 -:10AA600002C00C943B5E0E9424BB8091F51783FDCD -:10AA700002C00C943B5E6091590C70915A0CCE014F -:10AA80004C960F9455348C01009711F40C943B5E56 -:10AA90006C8D7D8D19821C8222E0AC01CE01019665 -:10AAA0000E944C9B811102C0F12C14C0CE01019672 -:10AAB0000F94C3338823C1F361E0CE0101960E9455 -:10AAC000DE94009789F325EEFC0120831C820E940E -:10AAD000ED96F82ECE0101960E946997B801FF20ED -:10AAE00089F086E699E00F9439418AE00E94A665D4 -:10AAF0001092F1171092F2171092F3171092F417A8 -:10AB00000C943B5E8EE499E00F9439418BE499E01C -:10AB10000F94D0400C943B5E8091F51782FD0E940B -:10AB2000BA918091F51783FD02C00C943B5E60E002 -:10AB300080E50E9441ED182F482F61E08091590C6B -:10AB400090915A0C0E94507483E50E94779E88234E -:10AB500081F00E94E39DAB01BC014093F11750933B -:10AB6000F2176093F3177093F4178EE095E10E944B -:10AB7000F4930E94057111110C943B5E0E94B58FF5 -:10AB80000C943B5E2091590C30915A0C9091F51722 -:10AB900092609093F51740E060E0C9010E94507404 -:10ABA0000C943B5E0F94AA046C8F7D8F8E8F9F8FC9 -:10ABB000BE016F5F7F4FCE014C960E947F8860E0A0 -:10ABC000CE0101960F947D080F945041BE016F5F36 -:10ABD0007F4F84E799E00F9439418AE00E94A6658F -:10ABE0000C943B5E83E50E94779E882311F40C94BD -:10ABF0003B5E0E941DEDF82E6DE070E080E50E9446 -:10AC0000849E8C0197FF02C00C943B5EE82E60E0AE -:10AC100089E40E9441ED81110C948E60802F0E9486 -:10AC200017638111B0C40C948E600E946ADB0C948F -:10AC30003B5E80E50E942E9E882311F40C943B5EBF -:10AC40008091F51782FF02C00C943B5E0C94A760C4 -:10AC50000F94F9040C943B5E0E9465900C943B5E4B -:10AC600060E070E083E50E94849E8E34910531F4AB -:10AC70000E9420910F94A6080C943B5E8FED99E002 -:10AC80000F94D0406091190A70911A0A86ED99E0EC -:10AC90000F940F4160911B0A70911C0A89EC99E096 -:10ACA0000F940F416091190A70911A0A80911B0A42 -:10ACB00090911C0A681B790B80916E0C815021E0E9 -:10ACC00030E0823010F020E030E0621B730B8EEB3E -:10ACD00099E00F940F418AE00E94A66586EB99E007 -:10ACE0000F94D04080911D0A90911E0AA0911F0AD6 -:10ACF000B091200A8C8F9D8FAE8FBF8FBE016F5F8A -:10AD00007F4FCE014C960E947F88BE016F5F7F4FC0 -:10AD100089EA99E00F9439418091210A9091220AA1 -:10AD2000A091230AB091240A8C8F9D8FAE8FBF8F84 -:10AD3000BE016F5F7F4FCE014C960E947F88BE019F -:10AD40006F5F7F4F89E999E00F94394120E030E04F -:10AD50004AE754E46091250A7091260A8091270AF7 -:10AD60009091280A0F94BA5CAB01BC0181E899E08C -:10AD70000F941C418DE60E94A6658AE00E94A6659C -:10AD80007AC780917B1183FD76C70E947ED887FDAC -:10AD900072C783E50E94779E882379F00E94F79D11 -:10ADA0000F942C5D8B01CB010E94529C0135110543 -:10ADB00024F40E9465900F94A6080F94714E5BC70F -:10ADC00080917B1183FD57C70E947ED8F82E87FDA6 -:10ADD00052C783E50E94779E082F811106C082E545 -:10ADE0000E94779E182F8823C1F10E94F79D0F942F -:10ADF0002C5DCB010E94529C0E94F79D20E030E028 -:10AE000040EA52E40F94CA54181614F40C94B26039 -:10AE10000E9465900F94A6086091EC0C7091ED0C67 -:10AE2000072E000C880B990B0F94D1544B015C0139 -:10AE30004090E80C5090E90C6090EA0C7090EB0C9C -:10AE4000A30192010F94205E181614F40C94C560AF -:10AE5000002311F40C94B66011E00F94714E11238D -:10AE600009F409C7602F8F2D0E94C2F704C78EE432 -:10AE70000E94779E882309F4FEC60E94E39D60939A -:10AE8000550C7093560C8093570C9093580CF3C646 -:10AE900083E50E942E9E882331F060E083E50F94C5 -:10AEA0005F1080937B110F9450418FE09AE00F94D4 -:10AEB000D04080917B11882369F1A5E0EA2EAAE0B9 -:10AEC000FA2E00E010E020E080917B1190E0A0E0FD -:10AED000B0E0002E04C0B695A795979587950A9483 -:10AEE000D2F780FF0EC0DD24D394D20E222319F0B6 -:10AEF0008CE20E94A665F701859194910F94D04051 -:10AF00002D2D0F5F1F4FF2E0EF0EF11C05301105E4 -:10AF1000D9F663CD81E09AE05ECD83E50E94779E0D -:10AF2000882371F00E941DED282F30E02D3331056C -:10AF30001CF4809300029FC68CE3809300029BC6A2 -:10AF40000F9450414091000250E060E070E086E1D3 -:10AF50009AE00F94FE408AE00E94A6658CC680911C -:10AF60007B1183FD88C683E50E94779E882309F4C0 -:10AF700082C60E94F79D0F942C5DCB010E94F1EBDD -:10AF80007AC680917B1183FD76C683E50E94779E09 -:10AF9000182F81110C94C86082E50E94779E811160 -:10AFA0000C94C86068C60E947ED8182F87FD6AC6B8 -:10AFB0008BE39AE00F94D040812F0E94D2F58AE073 -:10AFC0000E94A6655FC683E50E94779E882309F4E8 -:10AFD00052C60E941DED182F90E0CD970CF01CE397 -:10AFE0001093D5080F946E3E6B017C01212F30E049 -:10AFF000A8EEB3E00F94745BC60ED71EE81EF91ED0 -:10B00000C092D108D092D208E092D308F092D4082E -:10B0100032C660E080E50F945F10F82E31E03817FB -:10B0200008F429C681E40E942E9E882321F06091B5 -:10B03000D10C062F02C00FEF10E083E50E94779E2F -:10B04000882349F00E94E39D8B016F3F710519F041 -:10B0500010F00FEF10E0EF2DF0E0EF52F34F008310 -:10B060000AC660E080E50F945F10823008F003C6E6 -:10B07000E82FF0E0EF52F34F1082FDC50E94ACD9EB -:10B08000FAC50E9467FD0E9465900E94FB920E9493 -:10B0900059631092A80C1092A70C1092A60C68EE9F -:10B0A00073E080E090E00F946440E5C51092D90809 -:10B0B000E2C583E50E94779E882399F00E94F79D60 -:10B0C00020E030E04AE754E40F9430550F94335DAC -:10B0D0006093010270930202809303029093040232 -:10B0E000CAC580914A1484FF02C00C94FD6080910F -:10B0F0004C1487FF02C00C94FD6080914D14837046 -:10B1000011F00C94FD600C942E6183E50E942E9E3C -:10B11000882309F4B0C50E94F79D20E030E04AE79B -:10B1200054E40F9430550F94335D6093DA087093B4 -:10B13000DB088093DC089093DD089DC50E947ED8D3 -:10B1400087FD99C590914A1494FD04C090914C14C8 -:10B1500097FF0AC0E3EECE2EE2E0DE2EFCE7EF2EF4 -:10B16000F1E1FF2E10E009C090914D14937091F71A -:10B17000682F81E00E942FDB7EC5D6018D916D0185 -:10B180000E94779E882309F459C0133009F04FC0FC -:10B190000E94F79D4B015C0120E030E040EA51E461 -:10B1A0000F94CA5487FF3AC0A501940160919C1185 -:10B1B00070919D1180919E1190919F110F94BA5C96 -:10B1C0002B013C019B01AC016091AC117091AD1160 -:10B1D0008091AE119091AF110F9430556093AC11E6 -:10B1E0007093AD118093AE119093AF116091C90C23 -:10B1F0007091CA0C8091CB0C9091CC0C0F94CF54D1 -:10B20000A30192010F9430550F94335D6093C90CE4 -:10B210007093CA0C8093CB0C9093CC0C80929C11B1 -:10B2200090929D11A0929E11B0929F1107C00E9412 -:10B23000F79DF701648B758B868B978B1F5FF4E00E -:10B24000EF0EF11C143009F098CF0E94969113C5AF -:10B250000F94A42410C58091590C90915A0C00971A -:10B2600041F0DC012C91222321F060E00F947D0855 -:10B2700002C50F94A608FFC40091590C10915A0CF6 -:10B2800094E0F12C40E0915021F1F8018081282FC9 -:10B290002B7F213421F421812133D9F407C080355B -:10B2A000C1F4818180538A3048F013C0813421F089 -:10B2B000853421F441E002C0FF24F39498012E5F0D -:10B2C0003F4F89012F5F3F4FF80180818032C9F3E2 -:10B2D000DACF41110F945041FF2021F089E49CE026 -:10B2E0000F94D040C8010E94C466C5C40E94547A1D -:10B2F000C2C481E080932A0A8093290A0E94AB7A13 -:10B30000BAC40E947ED8182F87FDB5C484E40E9479 -:10B310002E9E882309F43FC00E94F79D6B017C019B -:10B3200001E020E030E0A9010F94CA54811101C06E -:10B3300000E00093791220E030E0A901C701B601D6 -:10B340000F94CA54882339F10E94F79D24E0120219 -:10B35000F0011124E258FD4E608371838283938350 -:10B3600020E030E0A90160917E1270917F128091FF -:10B370008012909181120F94CA5481110CC080E008 -:10B3800090E0A0EEBFE380937E1290937F12A09393 -:10B390008012B09381120E94CCBC6DC40E947ED8F2 -:10B3A00087FD69C473EEE72E72E0F72E0CE711E11A -:10B3B000D7018D917D010E942E9E882349F00E9425 -:10B3C000F79D0F94335DF8016083718382839383CB -:10B3D0000C5F1F4FF1E10C381F0751F70E944F918E -:10B3E0004AC40E947ED887FD46C463EEE62E62E022 -:10B3F000F62E0CE711E1D7018D917D010E942E9E62 -:10B40000882339F00E94F79DF80164A375A386A3F1 -:10B4100097A30C5F1F4FF1E10C381F0761F72BC496 -:10B420000F941B3A28C480914A1481FD1AC7809159 -:10B430004B1481FD16C780914C148C7009F011C714 -:10B440001AC443EEC42E42E0D42E5DE2E52E5AE04B -:10B45000F52E10E0D6018D916D010E942E9E88235D -:10B4600051F00E94F79DF70160837183828393837B -:10B47000812F0E9439C01F5FF4E0EF0EF11C1330E2 -:10B4800049F70C946C5083E50E94779E882309F459 -:10B49000F2C30E94F39D90934A0280934902EBC34A -:10B4A0000E947ED8F82E87FDE6C383E50E94779E32 -:10B4B0000F2D0F2C000C110B882369F10E94F39DB6 -:10B4C000F801EE0FFF1FE55BFD4F91838083000FB6 -:10B4D000111F000F111F98012D5B3D4F7901BC0119 -:10B4E000990F880B990B0F94D1542AE037ED43E262 -:10B4F0005CE30F943055F801E658FD4E2081318110 -:10B50000428153810F943055D7016D937D938D9374 -:10B510009C931397B0C30F94504185E40E94A66595 -:10B5200080E38F0D0E94A665F801EE0FFF1FE55B1B -:10B53000FD4F608171818CE69CE00F942D4185E286 -:10B540000E94A6658AE00E94A66595C380E50E94D8 -:10B550002E9E882309F48FC360E070E080E50E948E -:10B56000849EF82E6FEF7FEF83E50E94849E8C010E -:10B570000196039708F07FC3F7FC7DC38F2D0E94CF -:10B580001763882339F00F944C4184E79CE00F94B3 -:10B59000D04071C30E94BA9160E08F2D0F94103D8E -:10B5A0000F3FBFEF1B0731F00130110571F000E0D4 -:10B5B00010E00DC08F2D0F94B83C31E020E0892BB6 -:10B5C00009F030E0032F122F02C001E010E08F2DB0 -:10B5D0000F94B83C8017910709F44DC380E00E9496 -:10B5E000EA66F5CF80E50E942E9E882309F443C3C6 -:10B5F0000E94F39D8C01892B09F07FC083E50E9496 -:10B600002E9E882389F00E94F39D8F3FEFEF9E07C7 -:10B6100029F48FEE95E10E945E632DC3BC018FEE8D -:10B6200095E10E942E6427C30F94504160E070E0C2 -:10B630008CE99CE00F942D418091F11528E532E0D2 -:10B640006901C81AD10887FDD394CC0CDD1CCC0C41 -:10B65000DD1C0D2C000CEE08FF088091F01528E889 -:10B6600030E04901881A910887FD9394880C991C51 -:10B67000880C991C092C000CAA08BB088091EF15B6 -:10B680008F3FC1F090E0FC01EE0FFF1F8E0F9F1F58 -:10B69000FC01EE57FA4E21813281E3E0220F331F85 -:10B6A000EA95E1F7F4E036952795FA95E1F72E5FF4 -:10B6B0003F4F02C020E030E02F5F3F4FC901330F02 -:10B6C000AA0BBB0B9C01AD01281939094A095B097A -:10B6D000A4EBB0E00F94615BA7019601281939092A -:10B6E0004A095B090F94425BB90189E99CE00F9418 -:10B6F0002D418AE00E94A665BEC20F944C41B8015C -:10B7000082E99CE00F942D4183E89CE00F94D040A7 -:10B71000B2C28AE50E94779E8111FCC583E50E9432 -:10B72000779E8111F7C5A7C260E085E40F945F1092 -:10B73000811173C080E50E942E9E882351F00E94E3 -:10B74000F79D6093EF0C7093F00C8093F10C909345 -:10B75000F20C89E40E942E9E882381F00E94F79DBE -:10B760002CEA35EC47E25EE30F9430556093F30C1E -:10B770007093F40C8093F50C9093F60C84E40E9483 -:10B780002E9E882381F00E94F79D2CEA35EC47E23B -:10B790005EE30F94BA5C6093F70C7093F80C80939F -:10B7A000F90C9093FA0C0F9450414091EF0C50918A -:10B7B000F00C6091F10C7091F20C8FEC9CE00F9406 -:10B7C0001C412CEA35EC47E25EE36091F30C70918A -:10B7D000F40C8091F50C9091F60C0F94BA5CAB01CF -:10B7E000BC018BEC9CE00F941C412CEA35EC47E249 -:10B7F0005EE36091F70C7091F80C8091F90C9091D8 -:10B80000FA0C0F943055AB01BC0187EC9CE00F940F -:10B810001C418AE00E94A6652EC20F944C4185EB24 -:10B820009CE00F94D04027C280E50E942E9E882382 -:10B8300051F00E94F79D6093090A70930A0A809361 -:10B840000B0A90930C0A89E40E942E9E882381F0B3 -:10B850000E94F79D2CEA35EC47E25EE30F943055E9 -:10B8600060930D0A70930E0A80930F0A9093100A4A -:10B8700084E40E942E9E882381F00E94F79D2CEA8A -:10B8800035EC47E25EE30F94BA5C6093110A709363 -:10B89000120A8093130A9093140A0F945041409116 -:10B8A000090A50910A0A60910B0A70910C0A8BEDFB -:10B8B0009CE00F941C412CEA35EC47E25EE360917A -:10B8C0000D0A70910E0A80910F0A9091100A0F9440 -:10B8D000BA5CAB01BC0187ED9CE00F941C412CEAE3 -:10B8E00035EC47E25EE36091110A7091120A809193 -:10B8F000130A9091140A0F943055AB01BC0183EDEB -:10B900009CE00F941C418AE00E94A665B4C183E5C7 -:10B910000E942E9E182F882371F00E94F79D0F948D -:10B920002C5D709348026093470221E0672B09F079 -:10B9300020E02093E30C80E50E942E9E882359F09E -:10B940002091470230914802232B11F00E9431EDE3 -:10B950008093E30C90C111118EC10F9450418BEF75 -:10B960009CE00F94D0408091E30C882319F083EE83 -:10B970009CE002C08FED9CE00F94D04060914702A4 -:10B98000709148028AEE9CE00F942D4186EE9CE077 -:10B990000F94D04070C10E9403836DC10E94BA9180 -:10B9A0006AC180E00E941C8D0E94D48C0E949A7C07 -:10B9B00062C180914A14887809F011C580914C14B5 -:10B9C000867009F00CC53BC50F94BA1554C10F948D -:10B9D000EC1451C141E061E081E00E9459C0811145 -:10B9E0004AC100E41DE329EA3CE03DA32CA3CE01BB -:10B9F00001965C0145E9842E4DE3942E1C01F8016B -:10BA00006591759185919491ACA1BDA1CD90DD908A -:10BA1000ED90FD90BDA3ACA3A70196010F94BF5B71 -:10BA20002B013C01F101608371838283938320E0C9 -:10BA300030E040EA51EC0F94205E87FD0AC020E020 -:10BA400030E040EA51E4C301B2010F94CA54181621 -:10BA50002CF4F401849118160CF415C5D101CD9085 -:10BA6000DD90ED90FD901D0120E030E040EA51ECCA -:10BA7000C701B6010F94205E87FD0AC020E030E0C8 -:10BA800040EA51E4C701B6010F94CA54181664F491 -:10BA90000F944C4184E69DE00F94D04061E086E530 -:10BAA0009DE00F940508E7C00C5F1F4FBFEF8B1A96 -:10BAB0009B0AEDE30C341E0709F0A1CF3DE2E32E13 -:10BAC0003AE0F32E10E0F50181919191A191B191AD -:10BAD0005F01F70181939193A193B1937F01812F2E -:10BAE0000E9439C01F5F133071F70E949A7C60E09A -:10BAF00086E49DE00F940508BEC00E9438FFBBC0DD -:10BB00000F94301DB8C061E083E50E9441ED91E0E3 -:10BB100089270E944B7DAFC081E080932F140F9442 -:10BB20001D1710922F14882309F4A5C00F945041BB -:10BB300082E89DE00F94D0409EC08091F51782FF6F -:10BB40009AC080628093F51796C00E94A5D893C0D2 -:10BB50000E947ED8082F87FD8EC085E50E942E9E0C -:10BB60008823B1F1E02E002E000CFF080E94F79D03 -:10BB70004B015C0120E030E0A9010F94205E87FFBB -:10BB800004C0B7FAB094B7F8B094C70123E0880FA7 -:10BB9000991F2A95E1F79C01295C334F7901D9015E -:10BBA0008D929D92AD92BC92139720E030E04AEFC7 -:10BBB00053E4C501B4010F94205E18164CF480E0E4 -:10BBC00090E0AAEFB3E4F70180839183A283B3836B -:10BBD0008CE40E942E9E882309F44DC0002E000C98 -:10BBE000110B0E94F79D6B017C0120E030E0A90160 -:10BBF0000F94205E87FF04C0F7FAF094F7F8F094F2 -:10BC000020E030E04AEF53E4C701B6010F94205E14 -:10BC1000980193E0220F331F9A95E1F7F901E95C4F -:10BC2000F34F18162CF0C482D582E682F78223C027 -:10BC300080E090E0AAEFB3E484839583A683B78382 -:10BC40001AC081E0809352021092051460E083E5EF -:10BC50000E9441ED81110FC00E949B8A0CC00E947E -:10BC60003EBB09C080914E14882329F00E943D9C60 -:10BC700002C00E943EBB2296FFAD2297F11102C086 -:10BC80000E94468A2CAD2093E008CF5BDF4F0FB6B1 -:10BC9000F894DEBF0FBECDBFDF91CF911F910F9102 -:10BCA000FF90EF90DF90CF90BF90AF909F908F90DC -:10BCB0007F906F905F904F903F902F9008950E94DB -:10BCC000BA9130915B0C3CAB80E00F94F93E0E943E -:10BCD0003E7881E080932A0A0E94AB7A88E50E9430 -:10BCE0002E9E182F89E50E942E9E082F8AE50E941D -:10BCF0002E9E1013BBC1181711F0012FB7C101E020 -:10BD000011E091E09CA70E94FFEB82E50E94779EE4 -:10BD1000882361F00E94F79D6B017C0120E030E0F8 -:10BD2000A9010F94CA54882369F106C0C12CD12CF3 -:10BD300080E8E82E80E4F82E111103C0002309F4F6 -:10BD4000FCC0C0929A0CD0929B0CE0929C0CF0929A -:10BD50009D0CA70196016091B10C7091B20C80917D -:10BD6000B30C9091B40C0F94CA5487FF0BC0198286 -:10BD70001A821B821C82BE016F5F7F4F8AE99CE0A2 -:10BD80000E943C79112309F4D3C0002309F4CDC0EB -:10BD90001092AD0C1092AE0C1092AF0C1092B00C31 -:10BDA0001092A90C1092AA0C1092AB0C1092AC0C31 -:10BDB0000E94E579E5E9FDE3A491A8AFE9E8FDE398 -:10BDC000C590D590E590F490EDE8FDE385909590D1 -:10BDD000A590B490A5019401C701B6010F94205E0F -:10BDE00018162CF4A7019601C501B40104C0A501E1 -:10BDF0009401C701B6010F94BA5C2B013C01E0E548 -:10BE0000FDE385919591A591B4918CA39DA3AEA3DB -:10BE1000BFA3ECE4FDE385919591A591B49188A72A -:10BE200099A7AAA7BBA79C01AD016CA17DA18EA17A -:10BE30009FA10F94205E181634F428A439A49AA563 -:10BE400098AB1BA505C02CA03DA0AEA1A8AB1FA11F -:10BE5000A3019201C301B2010F94305520E030E0FC -:10BE600040E85FE30F94C05B0F94BE5E910148A968 -:10BE7000512F0F94305568A379A38AA39BA3E6E9B9 -:10BE8000FDE3149120E030E040EC5FE3C501B40134 -:10BE90000F9430554B015C01612F110F770B880B0C -:10BEA000990B0F94D1549B01AC01C501B4010F94BF -:10BEB000305569837A838B839C8320E030E040ECAB -:10BEC0005FE3C701B6010F9430556B017C01B8AD3B -:10BED0006B2FBB0F770B880B990B0F94D1549B01E1 -:10BEE000AC01C701B6010F9430556C8F7D8F8E8FDA -:10BEF0009F8FAE01405E5F4FBE016F5F7F4FCE01EF -:10BF00004C960E941A790E94BA7A1092AD0C109247 -:10BF1000AE0C1092AF0C1092B00C1092A90C1092B3 -:10BF2000AA0C1092AB0C1092AC0C80E00E9406BFE1 -:10BF3000002319F081E00E9406BFECA5EE2309F46E -:10BF400087C080E00F94910E80916F1483708330CE -:10BF500051F060E083E998E00F9405080F94504198 -:10BF600084E898E071C00E94E5798091B10C9091CD -:10BF7000B20CA091B30CB091B40C80939A0C909336 -:10BF80009B0CA0939C0CB0939D0C20917F0C309146 -:10BF9000800C4091810C5091820C60E070E080EA4E -:10BFA00092E40F94BF5B6B017C016093920C7093E1 -:10BFB000930C8093940C9093950C2091830C30916A -:10BFC000840C4091850C5091860C60E070E080EA12 -:10BFD00092E40F94BF5B4B015C016093960C7093ED -:10BFE000970C8093980C9093990C27E137EB41EDD7 -:10BFF00058EB0F94205E87FD1EC023E030E041EE39 -:10C0000053E4C501B4010F94CA541816A4F027E1F3 -:10C0100037EB41ED58EBC701B6010F94205E87FD69 -:10C020000AC023E030E84DEE53E4C701B6010F9497 -:10C03000CA541816ECF460E083E798E00F94050802 -:10C040000F94504181E698E00F94D0400E94D48C28 -:10C050000E94E5798091290A80932A0A8CA90F947D -:10C06000F93E0E9425780E949A7C05CE8CA74BCE83 -:10C0700019821A821B821C82AE014F5F5F4F66E9F4 -:10C080007CE082E99CE00E941A7982E00E9406BF6F -:10C09000DDCFB1100C94C0530C94B95380E00E94D2 -:10C0A000EA660C94EC5388E50E942E9E81115F98FD -:10C0B00089E50E942E9E81118A988AE50E942E9E13 -:10C0C000882329F08091080181708093060185E41E -:10C0D0000E942E9E882309F4CECD1298CCCD60E02C -:10C0E0008FEF98E00F9405085F988A988091080177 -:10C0F0008170809306011298BECD0E94E39DAB0132 -:10C10000BC014093F1175093F2176093F3177093AB -:10C11000F4178EE095E10E94F493ADCD61E0802F9D -:10C120000F94103D6F2D802F0F94E13C6F2D70E028 -:10C13000802F0F944C3D87E0E81203C0F092D20CA0 -:10C140009ACD99E0E91297CDF092D10C94CD0E944E -:10C150001DED90E08536910514F084E690E0809323 -:10C16000071489CD0E94B58F0C940C57A30192013E -:10C17000C501B4010F94205E18163CF087EE99E0DB -:10C1800060E00F9405080C942C5784EF99E0F8CFE9 -:10C190000E94F79D0F942C5DCB010E94F1EB0E9451 -:10C1A000F79D20E030E040EA50E40F94205E18163E -:10C1B00014F40E94B58F6091060A7091070A072E49 -:10C1C000000C880B990B0F94D1542091020A3091E6 -:10C1D000030A4091040A5091050A0F94205E181634 -:10C1E0001CF48CE29AE002C08DE19AE060E00F94CA -:10C1F0000508812F0E9444F63ECD0E94BA9188E541 -:10C200000E942E9E882331F05F9A80916F148E7F5A -:10C2100080936F1489E50E942E9E882331F08A9ABC -:10C2200080916F148D7F80936F148AE50E942E9EFB -:10C23000882359F0809108018095817080930601D0 -:10C2400080916F148B7F80936F1485E40E942E9EE3 -:10C25000882309F410CD0E9415630DCD0E94FB9236 -:10C260000ACD82E40E942E9E882351F00F94913AC9 -:10C2700060938C1170938D1180938E1190938F1118 -:10C2800083E50E942E9E882351F00E94F79D6093C3 -:10C29000BC117093BD118093BE119093BF1184E5C2 -:10C2A0000E942E9E882351F00E94F79D6093C0113A -:10C2B0007093C1118093C2119093C3118AE40E94BC -:10C2C0002E9E882309F4D7CC0E94F79D6B017C0138 -:10C2D0002AE037ED43E25CE30F94205E87FD13C054 -:10C2E0002AE939E949E95EE3C701B6010F94CA5466 -:10C2F00018164CF0C092B90CD092BA0CE092BB0C5C -:10C30000F092BC0CB8CC0F944C418DE49CE00F949F -:10C31000D040B1CC0E94F79D20E030E040E050ECEE -:10C320000F94CA5487FD15C00E94F79D20E030E0AD -:10C3300040E050E40F94205E18162CF00E94F79D08 -:10C340006B017C010BC0C12CD12CE12C60E4F62EDA -:10C3500005C0C12CD12CE12C50ECF52E2091981168 -:10C360003091991140919A1150919B11C701B601DA -:10C370000F9430550F942C5DCB010F943D3580E523 -:10C380000E942E9E882329F00E9431ED882309F413 -:10C3900072CCA70196016091870C7091880C8091F6 -:10C3A000890C90918A0C0F94C05B6093870C7093FA -:10C3B000880C8093890C90938A0C0F945041409183 -:10C3C000870C5091880C6091890C70918A0C84EADA -:10C3D0009CE00F941C418AE00E94A6654CCC88E446 -:10C3E0000E942E9E882321F00E9431ED8093DE086A -:10C3F00082E50E942E9E082F83E50E942E9E182F14 -:10C40000011102C0882351F01092FC090E943C6384 -:10C41000112321F00E9431ED80934D0284E40E94AB -:10C420002E9E882309F427CC0E94F79D6093150265 -:10C430007093160280931702909318021CCC0F94ED -:10C44000504185E39DE00F94D04080914D028111D1 -:10C4500017C08EE09DE00F94D0408AE00E94A66550 -:10C4600040911502509116026091170270911802C6 -:10C4700085E19DE00F941C418AE00E94A665FBCBFC -:10C4800082E19DE0E8CFF7FAF094F7F8F094D1015B -:10C49000CD92DD92ED92FC921397E0CACF92DF929B -:10C4A000EF92FF920F931F93CF93DF936C018B0159 -:10C4B0007A01EC01C251D74F888187FF04C0FB018C -:10C4C0001182108224C02CE02C9DC0012D9D900D66 -:10C4D00011242881AC01420F511D27FD5A9520914E -:10C4E000EE1530E04217530794F42881AC01420F57 -:10C4F000511D27FD5A959A01FA01EE0FFF1F2E0FCD -:10C500003F1FF901EE57FA4E208127FD19C088819F -:10C510008F5F88832CE02C9DC0012D9D900D1124F0 -:10C520002881AC01420F511D27FD5A952091EE152F -:10C5300030E042175307BCF428812C3044F113C07B -:10C540002881820F911D27FD9A95FC01EE0FFF1F98 -:10C550008E0F9F1FFC01EE57FA4E808160E08F77AF -:10C560000F94E13CD4CFF80180819181049680340E -:10C570009C4918F480E49CE904C0F8018081918111 -:10C580000496F701918380838FEF888345C0F8017B -:10C59000408151812881BC01620F711D27FD7A9570 -:10C5A0009B01FB01EE0FFF1F2E0F3F1FF901EE57FE -:10C5B000FA4E21813281240F351FF7013183208308 -:10C5C0002881AC01420F511D27FD5A959A01FA01AD -:10C5D000EE0FFF1F2E0F3F1FF901EE57FA4E20817D -:10C5E00027FF1AC02881820F911D27FD9A95FC0113 -:10C5F000EE0FFF1F8E0F9F1FFC01EE57FA4E80813A -:10C6000061E08F77DF91CF911F910F91FF90EF90B5 -:10C61000DF90CF900D94E13CDF91CF911F910F916E -:10C62000FF90EF90DF90CF900895129A0895FF92B7 -:10C630000F931F93CF93DF931F92CDB7DEB7F82EE2 -:10C6400002E61FE241E050E0B801CE0101960F94EE -:10C65000045489818F1102C081E007C00F5F1F4F12 -:10C660008FE20B37180771F780E00F90DF91CF91C1 -:10C670001F910F91FF9008958091150290911602DD -:10C68000A0911702B091180280938612909387129E -:10C69000A0938812B093891208958091F1088111B6 -:10C6A00007C00F94301D882319F081E08093F108B2 -:10C6B0000895E1EDFCE0108211820895DC01EC9117 -:10C6C000F0E0CF01880F991FE80FF91FEE57FA4EDF -:10C6D00080818F77808308958F929F92AF92BF92CF -:10C6E000CF92DF92EF92FF920F93CF93DF931F923F -:10C6F000CDB7DEB75C016B017A014901F50180819C -:10C7000091810F94FA5A8983002311F0F6018083F6 -:10C71000BE016F5F7F4FC4010F94DF31F50180814F -:10C720009181019691838083FFEFCF1ADF0A81E028 -:10C73000E81AF10819F780E00F90DF91CF910F917F -:10C74000FF90EF90DF90CF90BF90AF909F908F9031 -:10C7500008957F928F929F92AF92BF92CF92DF9275 -:10C76000EF92FF920F931F93CF93DF931F92CDB75A -:10C77000DEB77C0159018B016B01C40ED51E0C156F -:10C780001D0559F1F70180809180F80171908F01AA -:10C790007982C4010F94FA5A781691F0672DC4017A -:10C7A0000F94025BC4010F94FA5A9981891741F0E2 -:10C7B0000F94504188E49FE20F94D04081E00EC076 -:10C7C000BE016F5F7F4FC5010F94DF31F70180819C -:10C7D0009181019691838083D2CF80E00F90DF9189 -:10C7E000CF911F910F91FF90EF90DF90CF90BF906E -:10C7F000AF909F908F907F900895009781F4109252 -:10C80000900082E080939100109295001092940025 -:10C81000C19A809171008260809371000895813087 -:10C82000910569F41092A00082E08093A10010921B -:10C83000A5001092A40089BB80937200089502970E -:10C8400061F41092200182E0809321011092250171 -:10C85000109224018ABB8093730008957F928F9277 -:10C860009F92AF92BF92CF92DF92EF92FF920F937F -:10C870001F93CF93DF93FC019081943208F0CEC0D8 -:10C880006B017F01892F90E0FC01EE0FFF1F8E0FDF -:10C890009F1FFC01EE57FA4E808161E08F770F9465 -:10C8A000103DF7011182128280816CE00F94835B4E -:10C8B000FCE08F9FB001112440E050E09B01240F69 -:10C8C000351FF901EE0FFF1F2E0F3F1FF901EE5725 -:10C8D000FA4E908197FD08C04F5F5F4F4C30510575 -:10C8E00069F790E00E94FD63F7017080C72DD0E0EA -:10C8F0008E01000F111FF801EC0FFD1FEE57FA4ECD -:10C9000080818068808377FC89C0F0E2CF16F2E0F6 -:10C91000DF060CF041C0F701828128E532E0281BD8 -:10C92000310987FD3395220F331F220F331F032E4A -:10C93000000C440B550B818168E870E04B01881AAC -:10C94000910887FD9394880C991C880C991C092CDC -:10C95000000CAA08BB08D7FC0BC0B601653B7105EB -:10C9600014F064EB70E0072E000C880B990B03C0E9 -:10C9700060E070E0CB01281939094A095B090F947E -:10C98000105B24EB30E040E050E00F94425B820EFD -:10C99000931EA41EB51E01C04601F3E2F71558F11F -:10C9A000F701218188E890E0821B910927FD93958A -:10C9B000880F991F880F991F8816990684F0F70130 -:10C9C000228188E592E0821B910927FD9395880FCB -:10C9D000991F880F991F881699060CF4C4010297B5 -:10C9E0002FB7F894C00FD11FCE57DA4E880F991F7A -:10C9F0009A8389832FBF62E370E080E090E0DF914B -:10CA0000CF911F910F91FF90EF90DF90CF90BF904B -:10CA1000AF909F908F907F900D946440DF91CF9165 -:10CA20001F910F91FF90EF90DF90CF90BF90AF904C -:10CA30009F908F907F9008951F920F920FB60F9244 -:10CA400011240BB60F922F933F934F935F936F93E5 -:10CA50007F938F939F93AF93BF93EF93FF9348E29E -:10CA600051E064E271E082E090E00E944E62FF914A -:10CA7000EF91BF91AF919F918F917F916F915F9156 -:10CA80004F913F912F910F900BBE0F900FBE0F90C3 -:10CA90001F9018951F920F920FB60F9211240BB68C -:10CAA0000F922F933F934F935F936F937F938F9347 -:10CAB0009F93AF93BF93EF93FF9348EA50E064EAEC -:10CAC00070E081E090E00E944E62FF91EF91BF9193 -:10CAD000AF919F918F917F916F915F914F913F9116 -:10CAE0002F910F900BBE0F900FBE0F901F901895B7 -:10CAF0001F920F920FB60F9211240BB60F922F9325 -:10CB00003F934F935F936F937F938F939F93AF93D5 -:10CB1000BF93EF93FF9348E950E064E970E080E051 -:10CB200090E00E944E62FF91EF91BF91AF919F9173 -:10CB30008F917F916F915F914F913F912F910F90C6 -:10CB40000BBE0F900FBE0F901F9018959091C000D4 -:10CB500095FFFCCF8093C60008958F929F92AF926D -:10CB6000BF92EF92FF920F931F93CF93DF93CDB7B6 -:10CB7000DEB7A0970FB6F894DEBF0FBECDBF61152C -:10CB800071058105910591F100E0842E912CA12C75 -:10CB9000B12C102FEE24E394F12CEC0EFD1EE00ED0 -:10CBA000F11C07FDFA94A50194010F94205BF70195 -:10CBB0006083B901CA010F5F611571058105910597 -:10CBC00041F71F3F31F1E1E0F0E0EC0FFD1FE10F15 -:10CBD000F11D17FDFA9580818A3010F097E301C0AE -:10CBE00090E3890F0E94A6651150EBCF80E3A096D9 -:10CBF0000FB6F894DEBF0FBECDBFDF91CF911F916E -:10CC00000F91FF90EF90BF90AF909F908F900C94FA -:10CC1000A665A0960FB6F894DEBF0FBECDBFDF911C -:10CC2000CF911F910F91FF90EF90BF90AF909F9089 -:10CC30008F900895CF92DF92EF92FF926B017C016B -:10CC400097FF0BC08DE20E94A665F094E094D0940B -:10CC5000C094C11CD11CE11CF11C4AE0C701B60103 -:10CC6000FF90EF90DF90CF900C94AD65AB01672BF8 -:10CC700011F40C94A665BC01990F880B990B4A30EE -:10CC8000510511F40C941A660C94AD658F929F9225 -:10CC9000AF92BF92CF92DF92EF92FF92CF936B0150 -:10CCA0007C01B42E20E030E0A9010F94CA5487FF24 -:10CCB00007C08DE20E94A665F7FAF094F7F8F094A9 -:10CCC000C0E060E070E080E09FE3CB1541F02DEC28 -:10CCD0003CEC4CEC5DE30F943055CF5FF6CF9B01FD -:10CCE000AC01C701B6010F94C05B6B017C010F94CE -:10CCF000335D4B015C014AE00E94AD65CC2391F1AC -:10CD0000C501B4010F94CF549B01AC01C701B6011A -:10CD10000F94BF5B6B017C018EE20E94A66520E050 -:10CD200030E040E251E4C701B6010F9430554B01A9 -:10CD30005C010F942C5D6B017C016AE070E0C60120 -:10CD40000E943666B601DD0C880B990B0F94D15406 -:10CD50009B01AC01C501B4010F94BF5B6B017C0169 -:10CD6000C150E9F6CF91FF90EF90DF90CF90BF9048 -:10CD7000AF909F908F9008950C9446668DE00E942E -:10CD8000A6658AE00C94A665CF93DF93EC018991A8 -:10CD9000882319F00E94A665FACFDF91CF910C94F9 -:10CDA000BE66E6EFF8E08081818308958091F60801 -:10CDB0009091F708981759F0E92FF0E0EA50F74FF3 -:10CDC00082819F5F9F779093F70890E008958FEF9F -:10CDD0009FEF08952F923F924F925F926F927F92B2 -:10CDE0008F929F92AF92BF92CF92DF92EF92FF927B -:10CDF0000F931F93CF93DF93CDB7DEB728970FB66E -:10CE0000F894DEBF0FBECDBFE82E0E948F300F9486 -:10CE10006E3E4B015C0180918B0C81112FC0809183 -:10CE20000002882359F18091E008882339F140916C -:10CE3000F2085091F3086091F4087091F50895019B -:10CE40008401041B150B260B370B37FD2AC08330DA -:10CE500079F03CF4813094F00F9450418AEA9FE2DB -:10CE60000BC0843059F40F9450418BE79FE204C00B -:10CE70000F94504183E99FE20F94D040209100022B -:10CE800030E0A8EEB3E00F94745B860E971EA81EE8 -:10CE9000B91E8092F2089092F308A092F408B09222 -:10CEA000F50880914D02882319F18091FC098111C8 -:10CEB0001FC08091F51782FD08C080916E0C8130F3 -:10CEC00021F08091C00B882399F0F89464991EC6D4 -:10CED00060918612709187128091881290918912C8 -:10CEE000789420E030E0A9010F94CA5487FD9EC5D4 -:10CEF0008091BD0B843008F07FC20F946E3E4B01D1 -:10CF00005C018091BD0B81111DC08091F60890914C -:10CF1000F708891B8F77B1F48091DD099091DE09C4 -:10CF2000A091DF09B091E009A5019401281B390BFC -:10CF30004A0B5B0BDA01C901885E9340A109B10974 -:10CF4000B7FFF5C570E6F72E8091BD0B843008F071 -:10CF500036C18091F6089091F708891B8F7709F404 -:10CF60002EC10E94D666AC0197FDEECF2091530CE6 -:10CF70003091540C8A3019F08D3009F0E8C01092CD -:10CF8000DC092115310519F40E9464CADDCFF901CD -:10CF9000E458F64F10821092540C1092530C0CE788 -:10CFA00019E0F8018191803211F48F01FACF8E34AB -:10CFB00009F07AC00115110509F476C06CE271E33D -:10CFC000C8010F9448546C01892B41F06EE470E065 -:10CFD000C80104960F946660009709F4C8014AE0FE -:10CFE00050E060E070E001960F94C05160937809C2 -:10CFF0007093790980937A0990937B094090550C3E -:10D000005090560C6090570C7090580C3FEF431A9C -:10D01000530A630A730A641575058605970531F08E -:10D02000CD2821F460E089EF90E3C7C06AE270E0A8 -:10D03000C8010F9495609C01009709F1982F901BEF -:10D04000D12C992339F09150F801E90FF11D80811D -:10D05000D826F7CF4AE050E060E070E0C9010196C1 -:10D060000F94C0514D2C512C612C712C64157505F9 -:10D070008605970541F060E08AED90E39EC060E090 -:10D0800080EB90E39AC08091780990917909A09102 -:10D090007A09B0917B098093550C9093560CA0931C -:10D0A000570CB093580C12C08091F51780FF0EC03A -:10D0B00068EA72E3C8010F944854009709F47AC0F3 -:10D0C000FC01838180538A3008F474C0809152023D -:10D0D00081111CC067E470E0C8010F94666000977E -:10D0E000A9F04AE050E060E070E001960F94C05172 -:10D0F000643071058105910548F48FE090E30F9449 -:10D10000D04060E085E090E30F9405088092DD094F -:10D110009092DE09A092DF09B092E00980917C092B -:10D120008B3309F411CF8091BD0B843008F00CCF04 -:10D130008091390AF89EC00111246CE779E0845C83 -:10D14000954F0F94716081E00F94421EFDCE2F35F4 -:10D1500031050CF0F9CE8C35C1F40E94D66697FDEE -:10D16000F3CE2091DC092111EFCE2091530C3091A8 -:10D17000540CA9014F5F5F4F5093540C4093530CD4 -:10D18000F901E458F64F8083DFCE8B3321F481E040 -:10D190008093DC09D9CE8091DC098111D5CEC901FB -:10D1A00001969093540C8093530CF901E458F64F78 -:10D1B0004083CACE60E086E890E30E94B58A809101 -:10D1C000F51782FF19C18091BD0B811102C0109229 -:10D1D000E209DD24D3944091F1175091F217609148 -:10D1E000F3177091F4178091ED179091EE17A091BD -:10D1F000EF17B091F017481759076A077B0708F433 -:10D20000D12C00E010E0CC24C39440E6B42E54E6C8 -:10D21000A52E69E6962E8091BD0B843008F0ECC0F7 -:10D22000D110EAC08091E2098111E6C08091161503 -:10D2300090911715A0911815B09119158093F117B9 -:10D240009093F217A093F317B093F41741E050E0D6 -:10D25000BE016F5F7F4F8EE095E10E94D9970197E5 -:10D2600019F4898190E002C08FEF9FEFF82E409073 -:10D27000F1175090F2176090F3177090F4174091E7 -:10D28000ED175091EE176091EF177091F017DD24B4 -:10D29000D394441655066606770608F4D12C441636 -:10D2A000550666067706B0F4019609F461C02AE0D7 -:10D2B000F21609F46EC03DE0F31609F46AC043E2C9 -:10D2C000F41619F05AE3F5127CC08091E10981113E -:10D2D00078C054C00E94BA918EE095E10E94609798 -:10D2E0008091EC17882339F181508093EC17989E38 -:10D2F000C001112441E061E08B53944F0E945074AF -:10D30000E091EC1764E0E69FF0011124EF53F44F35 -:10D3100040815181628173814093F1175093F217DC -:10D320006093F3177093F4178EE095E10E94F493E5 -:10D330000E94057116C00E94F4700E94FB920E9428 -:10D3400065900F94AA046D3371058105910518F459 -:10D3500087E391E302C08CE391E30E94DE8AA0920E -:10D3600007148091F51782FD0DC08FE491E304C08E -:10D370000F944C4180E491E30F94D04073E2F71294 -:10D3800008C005C053E2F512DFC300E010E0C09210 -:10D39000E2091092E1090115110519F40E9464CA0D -:10D3A0000DC08091390AB89E000D111D1124F8019D -:10D3B000E45CF54F108280E00F94421E00E010E024 -:10D3C0002ACF0F35110508F026CF8BE3F81203C0E2 -:10D3D000C092E10920CF8091E10981111CCF809199 -:10D3E000390AF801B89EE00DF11D1124E45CF54FF7 -:10D3F000F0820F5F1F4F0FCF0F946E3E4B015C0109 -:10D400004091DA085091DB086091DC087091DD08EA -:10D41000411551056105710529F1809167149091BD -:10D420006814A0916914B0916A14840F951FA61F07 -:10D43000B71F95018401081B190B2A0B3B0B37FD05 -:10D4400011C00F944C416091A30C7091A40C83E621 -:10D4500091E30F9439418AE00E94A66580E090E054 -:10D460000F94EE324091010250910202609103024A -:10D4700070910402411551056105710509F44EC012 -:10D480009091F5158091F615981759F00F946E3E0E -:10D4900060936714709368148093691490936A146E -:10D4A0003DC08091C00B811137C0E11035C0809123 -:10D4B000671490916814A0916914B0916A14840F54 -:10D4C000951FA61FB71FA5019401281B390B4A0BF6 -:10D4D0005B0B57FD21C08091F30981111FC081E0D2 -:10D4E0008093F3095F9A80916F148E7F80936F14FD -:10D4F0008A9A80916F148D7F80936F1480910801B8 -:10D50000809581708093060180916F148B7F80934A -:10D510006F140E94156302C01092F3098091EF0905 -:10D520009091F009A091F109B091F209B501A4011F -:10D53000481B590B6A0B7B0B77FDBCC12091F5157D -:10D540009091F6158091580210915902291317C035 -:10D550006091D10C869FB0011124660F672F661F62 -:10D56000770B7195062F8091D20C819FB001112409 -:10D57000660F672F661F770B7195162F29C02091B4 -:10D58000F61558E4259F900111242550334FF901D9 -:10D59000EA5BFF4F6081869FB0011124660F672F01 -:10D5A000661F770B7195062F31968081819FB001A0 -:10D5B0001124660F672F661F770B7195162F8091C8 -:10D5C000F6159091F515981719F08F5F8F70F9CFB8 -:10D5D000002331F10F946E3EC090E709D090E80926 -:10D5E000E090E909F090EA09DC01CB01C114D10413 -:10D5F000E104F10469F48C599F4FAF4FBF4F809302 -:10D60000E7099093E809A093E909B093EA0906C0F5 -:10D610008C199D09AE09BF09B7FF0AC00FEF08C0FA -:10D620001092E7091092E8091092E9091092EA09AC -:10D63000602F70E089E00F944C3D112331F10F947D -:10D640006E3EC090EB09D090EC09E090ED09F090AF -:10D65000EE09DC01CB01C114D104E104F10469F449 -:10D660008C599F4FAF4FBF4F8093EB099093EC09BC -:10D67000A093ED09B093EE0906C08C199D09AE097F -:10D68000BF09B7FF0AC01FEF08C01092EB09109244 -:10D69000EC091092ED091092EE09612F70E087E01D -:10D6A0000F944C3D8091B313882309F4F6C0E090A9 -:10D6B0003602F090370200913802109139026091E1 -:10D6C000EC0C7091ED0C6E5F7F4F072E000C880BF9 -:10D6D000990B0F94D1549701A8010F94CA5487FD58 -:10D6E000DCC03090F615212C1A821B821C8280919E -:10D6F000F515831509F467C0832D90E068E4689FF1 -:10D70000F001699FF00D1124E550F34F45895689CA -:10D710006789708D452B462B472B89F4418D528D9F -:10D72000638D748D452B462B472B49F4458D568DC3 -:10D73000678D70A1452B462B472B09F43FC078E439 -:10D74000789F9001799F300D1124C9018550934F26 -:10D750006C01FC0161817281838194810F94BE5EB2 -:10D760002B013C01F60161A172A183A194A10F9448 -:10D77000CF546D837E838F839887F60165A176A150 -:10D7800087A190A50F94CF549B01AC016D817E8140 -:10D790008F8198850F94BA5CA30192010F94305544 -:10D7A0003B016C01222D3A814B815C810F94205EFC -:10D7B000181624F4262C7A82CB82DC8281E0830D39 -:10D7C0008F70382E94CF20913A0230913B024091D5 -:10D7D0003C0250913D02622D7A818B819C810F9495 -:10D7E00030559701A8010F94C05B3B016C0120905C -:10D7F00032023090330240903402509035029B0147 -:10D80000AC01B701C8010F94205E18166CF09101AD -:10D81000A201B301C6010F94205E18161CF4710119 -:10D82000820102C0730186014090E3095090E4092F -:10D830006090E5097090E6099701A801C301B20163 -:10D840000F94205E1816C4F420E037ED43EA5CE341 -:10D85000B701C8010F9430556B017C0128E431EE0B -:10D860004AE75FE3C301B2010F943055A701960167 -:10D870000F94C05B7B018C01C701D8018093E30941 -:10D880009093E409A093E509B093E609B701C801B4 -:10D890000F942C5DCB010E94529CF4E68F0E911CDC -:10D8A000A11CB11C8092EF099092F009A092F1099D -:10D8B000B092F2090E9464CA80916E0C813009F026 -:10D8C0006EC00F946E3E6B017C018091F8099091BF -:10D8D000F909A091FA09B091FB0997018601081B8B -:10D8E000190B2A0B3B0B37FD3AC080906F0C9090C0 -:10D8F000700CA090710CB090720C0F94AA046093FD -:10D900006F0C7093700C8093710C9093720C00915B -:10D910001D0A10911E0A20911F0A3091200A081931 -:10D9200019092A093B09DC01CB01800F911FA21FB5 -:10D93000B31F80931D0A90931E0AA0931F0AB093F1 -:10D94000200AD701C601805F984DAF4FBF4F80932B -:10D95000F8099093F909A093FA09B093FB09809113 -:10D96000F4099091F509A091F609B091F709A70182 -:10D970009601281B390B4A0B5B0B57FD10C030E892 -:10D98000C30E3EEED31EE11CF11CC092F409D092EE -:10D99000F509E092F609F092F7090E943F90809114 -:10D9A0008B0C8111F2C08091D508882391F00F94DF -:10D9B0006E3E0091D1081091D2082091D308309189 -:10D9C000D408DC01CB01801B910BA20BB30BB7FF7A -:10D9D000BEC00F946E3E6B017C012091D0082223C3 -:10D9E00009F4D3C08091CC089091CD08A091CE08C5 -:10D9F000B091CF08B701A601481B590B6A0B7B0BEE -:10DA000077FDC3C030E0A8EEB3E00F94745BC60EA0 -:10DA1000D71EE81EF91EC092CC08D092CD08E09225 -:10DA2000CE08F092CF080E94CD70AFC011E01093E5 -:10DA3000FC098091C00B811166C087E196E00E94CD -:10DA4000C46684E08093680C82E08093AC0881E037 -:10DA50009AE590937A16809379168EE490E09093ED -:10DA60007C1680937B1687E080936D1682E8809306 -:10DA7000701684E890E0A0E0B0E080937116909377 -:10DA80007216A0937316B09374160F9448321093C5 -:10DA90001C140F949D0940E064EF7FE286E597E552 -:10DAA0000F94A90980E30E94A6658AE00E94A665FA -:10DAB0000F9491098091DE0860E0182719F086E341 -:10DAC00096E50DC082EE9FE20F94790980E30E94F3 -:10DAD000A6658AE00E94A66560E08CEB9FE20F9449 -:10DAE000790980ED9FE20F94D04080E30E94A66503 -:10DAF0008AE00E94A665112331F082EC9FE29093A8 -:10DB00003B0A80933A0A0E94BA91F2C980911502A9 -:10DB100090911602A0911702B0911802809386127C -:10DB200090938712A0938812B0938912D1C981E390 -:10DB300091E30F94D0408092DD099092DE09A0928B -:10DB4000DF09B092E009FEC91092E10927CC0F94D9 -:10DB50006E3E6B017C012091D50830E0A8EEB3E069 -:10DB60000F94745BC60ED71EE81EF91EC092D10832 -:10DB7000D092D208E092D308F092D40880E00E94BC -:10DB8000D2F58AE00E94A66524CF28960FB6F894B5 -:10DB9000DEBF0FBECDBFDF91CF911F910F91FF90E0 -:10DBA000EF90DF90CF90BF90AF909F908F907F903D -:10DBB0006F905F904F903F902F9008951F920F921B -:10DBC0000FB60F9211240F900FBE0F901F90189553 -:10DBD0001F920F920FB60F9211240BB60F920F9354 -:10DBE0001F932F933F934F935F936F937F938F93E5 -:10DBF0009F93AF93BF93CF93DF93EF93FF930091E6 -:10DC0000F708D091F60811E01D0F1F77C091C600EC -:10DC10009091ED08492F092E000C550B660B770BE0 -:10DC20004131510508F064C0FA018827E256FF4FE0 -:10DC30008F4F0D94B75BCD3449F0CE34B9F481E009 -:10DC400006C0CA3338F0CD3409F043C082E0809377 -:10DC5000ED0876C0C03308F073C0C03209F470C05C -:10DC6000CD32B9F56DC0C13351F018F4C03289F529 -:10DC700067C0C43331F0C83361F58BE0E8CF83E08F -:10DC8000E6CF88E0E4CFC03321F0C13311F586E060 -:10DC9000DECF84E0DCCFC833E1F485E0D8CFC233F7 -:10DCA000C1F487E0D4CFC133A1F489E0D0CFC03331 -:10DCB00081F48AE0CCCFC73361F48CE0C8CFC6339F -:10DCC00041F48DE0C4CFC032D9F1C33511F48EE0F8 -:10DCD000BECF80E1BCCF80ED8C0F8A3088F59FE00D -:10DCE0009093ED088093EC082BC0CA3049F526C00C -:10DCF000CA3031F58091DB16882301F1973089F025 -:10DD00003CF49530D9F4109214021092061416C007 -:10DD10009A3059F09F3091F48091EC080F94D50916 -:10DD20000DC081E08093A81209C00E9451930E9407 -:10DD3000BA918EEF0E9477790E94E5791092ED08F2 -:10DD4000011731F0ED2FF0E0EA50F74FC283D12FE9 -:10DD5000D093F608FF91EF91DF91CF91BF91AF91F2 -:10DD60009F918F917F916F915F914F913F912F91F3 -:10DD70001F910F910F900BBE0F900FBE0F901F9031 -:10DD800018958EBD0DB407FEFDCF08958FEF8EBDA3 -:10DD90000DB407FEFDCF8EB50895909164009B7F72 -:10DDA00090936400982F906A96959CBD80FD03C067 -:10DDB00091E0863009F490E09DBD0895CF92DF9206 -:10DDC000EF92FF920F931F93CF93DF936C017A0131 -:10DDD0008B01C0E0D0E0CE15DF0581F0D8016D9158 -:10DDE0008D01D601ED91FC910190F081E02DC601ED -:10DDF0001995892B11F02196EECF7E01C701DF9195 -:10DE0000CF911F910F91FF90EF90DF90CF900895E9 -:10DE1000089580E090E00895FC01538D448D252FF6 -:10DE200030E0842F90E0821B930B541710F0CF96B4 -:10DE3000089501970895FC01918D828D981761F0E6 -:10DE4000828DDF01A80FB11D5D968C91928D9F5F31 -:10DE50009F73928F90E008958FEF9FEF0895FC01DC -:10DE6000918D828D981731F0828DE80FF11D858D8F -:10DE700090E008958FEF9FEF0895FC01918D228D22 -:10DE8000892F90E0805C9F4F821B91098F739927A7 -:10DE9000089581E794E10E943D6F21E0892B09F408 -:10DEA00020E0822F0895FC01848DDF01A80FB11DB1 -:10DEB000A35ABF4F2C91848D90E001968F739927C0 -:10DEC000848FA689B7892C93A089B1898C9183709E -:10DED00080648C93938D848D981306C00288F38997 -:10DEE000E02D80818F7D80830895EF92FF920F93C4 -:10DEF0001F93CF93DF93EC0181E0888F9B8D8C8DF6 -:10DF0000981305C0E889F989808185FD26C0F62E21 -:10DF10000B8D10E00F5F1F4F0F731127E02E8C8DBC -:10DF2000E8120CC00FB607FCFACFE889F9898081A6 -:10DF300085FFF5CFCE010E94536FF1CF8B8DFE018F -:10DF4000E80FF11DE35AFF4FF0829FB7F8940B8F53 -:10DF5000EA89FB89808180620AC09FB7F894EE89C4 -:10DF6000FF896083E889F989808183708064808378 -:10DF70009FBF81E090E0DF91CF911F910F91FF90C3 -:10DF8000EF900895CF93DF93EC01888D8823C9F03B -:10DF9000EA89FB89808185FD05C0A889B9898C91B2 -:10DFA00086FD0FC00FB607FCF5CF808185FFF2CF4D -:10DFB000A889B9898C9185FFEDCFCE010E94536F5E -:10DFC000E7CFDF91CF91089580E090E0892B41F079 -:10DFD00080E090E0892B21F00E940000811121C097 -:10DFE00080E090E0892B41F080E090E0892B21F0E7 -:10DFF0000E940000811118C080E090E0892B21F080 -:10E000000E94496F811113C080E090E0892BA1F03C -:10E0100080E090E0892B81F00E94000081110AC00D -:10E0200008950E940000DCCF0E940000E5CF0E940E -:10E030000000EACF0C9400000895FC0120E03EE2CD -:10E04000DB014C91403241F0283011F4308331969D -:10E05000DB014C91408331962F5F6F5F7F4F2B30F8 -:10E0600079F7108208950F9425600F931F93CF9333 -:10E07000DF938B01EA01DB016D917C910E94FA94A0 -:10E08000D801ED91FC91119790818881992349F0F5 -:10E09000893638F43196ED93FC9388818F5F8883BD -:10E0A000EFCF893658F48FE28083F8018081918127 -:10E0B00001969183808388818F5F8883DF91CF91E0 -:10E0C0001F910F9108951F920F920FB60F92112476 -:10E0D0000BB60F922F933F934F935F936F937F9362 -:10E0E0008F939F93AF93BF93EF93FF9381E794E157 -:10E0F0000E94536FFF91EF91BF91AF919F918F91CC -:10E100007F916F915F914F913F912F910F900BBE37 -:10E110000F900FBE0F901F9018951F920F920FB681 -:10E120000F9211240BB60F922F938F939F93EF931F -:10E13000FF93E0918114F09182148081E091871423 -:10E14000F091881482FD12C0908180918A148F5FB3 -:10E150008F7320918B14821751F0E0918A14F0E0B4 -:10E16000EF58FB4E958F80938A1401C08081FF91F8 -:10E17000EF919F918F912F910F900BBE0F900FBE3B -:10E180000F901F9018958BE1E7E6F5E1ACE4B5E15F -:10E1900001900D928A95E1F708958091F51782FF1D -:10E1A0001FC088E294E30F94D0406091F117709102 -:10E1B000F2178091F3179091F4174AE00E94AD6531 -:10E1C0008FE20E94A6656091ED177091EE17809125 -:10E1D000EF179091F0174AE00E94AD650C94BE666F -:10E1E0008AE394E30D94D0401092C00B8091F51710 -:10E1F0008F7D8B7F8093F5170E94388A882321F0CA -:10E200008EE095E10C94609708958091F51783FF57 -:10E2100003C084608093F5170895CF92DF92EF9248 -:10E22000FF920F931F93CF93DF93CDB7DEB7EDB679 -:10E23000FEB6DC010D900020E9F79D01281B390B8B -:10E240002C5F3F4F4DB75EB7421B530B0FB6F89490 -:10E250005EBF0FBE4DBF0DB71EB70F5F1F4F9F9321 -:10E260008F9384E293E39F938F931F930F930F9465 -:10E270006254680154E0C50ED11C0F900F900F90AE -:10E280000F900F900F90F6018081882349F0082E9F -:10E29000000C990B0F942A60F60181936F01F3CF64 -:10E2A000C8010F94571E80E293E30E94DE8A0FB6E6 -:10E2B000F894FEBE0FBEEDBEDF91CF911F910F917E -:10E2C000FF90EF90DF90CF9008958F929F92AF9242 -:10E2D000BF92CF92DF92EF92FF92CF938091F5178A -:10E2E000877F8093F51780916A15882321F087E650 -:10E2F00095E10E94609710924B151092481585E3A6 -:10E30000809347150F946E3E6B017C0120EDC20E89 -:10E3100027E0D21EE11CF11CA89561E08091471511 -:10E320000F94E13C61E0809147150F94103D209AD5 -:10E33000289A219A2398229A81E00E94CD6E85E046 -:10E34000809349150E94CD6ECAE08FEF0E94C16E86 -:10E35000C150D9F7A89520E030E0A90160E087E43A -:10E3600095E10E94409680934A15813061F00F94A8 -:10E370006E3EDC01CB018C199D09AE09BF09B7FDCA -:10E38000EACF81E062C0A8952AEA31E040E050E09F -:10E3900068E087E495E10E944096853011F481E0C1 -:10E3A0000AC0C4E00E94C66E80934A15C150D1F7DE -:10E3B0008A3A61F482E080934B15A89580914B15C1 -:10E3C000823081F0812C912C540111C00F946E3E4B -:10E3D000DC01CB018C199D09AE09BF09B7FDD4CF73 -:10E3E00082E033C0812C912CA12C80E4B82E20E057 -:10E3F00030E0A90167E387E495E10E944096A5011A -:10E40000940169E287E495E10E94409680934A1561 -:10E41000882361F00F946E3EDC01CB018C199D09BD -:10E42000AE09BF09B7FDE3CF8AE00FC080914B155D -:10E43000823021F520E030E0A9016AE387E495E12C -:10E440000E944096882361F088E08093481587E415 -:10E4500095E10E9438960F94504182E193E322C0E7 -:10E460000E94C66E807C803C19F483E080934B153B -:10E470000E94C66E0E94C66E0E94C66E87E495E139 -:10E480000E9438961092491581E00F94F043811153 -:10E490000CC080E00F94F043811107C00F944C41F1 -:10E4A0008EEF92E30F94D0401AC069E275E187E6DF -:10E4B00095E10E948B94811105C00F944C418DEE23 -:10E4C00092E3F0CF8091F51788608093F5170F9451 -:10E4D000504181EE92E30F94D0400E944D63CF9162 -:10E4E000FF90EF90DF90CF90BF90AF909F908F9074 -:10E4F0000C94C3702F923F925F926F927F928F9293 -:10E500009F92AF92BF92CF92DF92EF92FF920F93C2 -:10E510001F93CF93DF93CDB7DEB7C356D1090FB6A4 -:10E52000F894DEBF0FBECDBF8C016B014A012DB642 -:10E530003EB6512C7E0187E5E80EF11CF601838181 -:10E54000823008F41FC180859185A285B3858F71C3 -:10E550009927AA27BB27892B8A2B8B2B09F012C15D -:10E5600010925D1A4DE55AE1BE016F5F7F4FC60103 -:10E570000E94F59818160CF005C18C85982F98719B -:10E58000903129F420912E0C2150223078F42981E9 -:10E59000222309F4F7C0253E89F22E3279F2209128 -:10E5A0005D1A2E3259F28A7049F67CC06DB67EB67D -:10E5B000BE016F5F7F4FC7010E941D7001151105DD -:10E5C00021F0F8018081811163C021E081E090E0B9 -:10E5D000F70101900020E9F73197EE19FF09E80FE4 -:10E5E000F91F32968DB79EB78E1B9F0B0FB6F8940E -:10E5F0009EBF0FBE8DBFEDB7FEB731965F012111F3 -:10E6000002C0B80102C06DE676E0C5010F947160EA -:10E61000B701C5010F945B606DE676E0C5010F940C -:10E620005B6019A21CA221E0A701B601CE01819670 -:10E630000E944C9B81110DC080912E0C811109C04C -:10E640000F9450418DEC92E30F94D040C7010E948B -:10E65000C4668BE1FE01B196DE01DC9601900D925D -:10E660008A95E1F740E050E0BE01645C7F4FC50150 -:10E670000E947A72CE01CC960E946997CE01819653 -:10E680000E9469970FB6F8947EBE0FBE6DBE56CF3E -:10E69000F80101900020E9F73197CF01801B910B21 -:10E6A00020E096CF21E0903109F020E08091F5172D -:10E6B00020FB84F98093F517903141F089858734E8 -:10E6C00009F03CCF8A858E3709F438CF80912E0C23 -:10E6D000813021F068F08230C1F130CF8091310C6F -:10E6E0009091320C01969093320C8093310C26CF8E -:10E6F000BE016F5F7F4F8FE99AE10E941D70011587 -:10E70000110529F48FE9A82E8AE1B82E09C0580115 -:10E71000F50181915F018823A9F30E94A665F8CFD6 -:10E72000F50181915F01882319F00E94A665F8CF59 -:10E7300080E20E94A6656D8D7E8D8F8D98A14AE046 -:10E740000E94AD650E94BE66F9CEBE016F5F7F4F2D -:10E750008FE99AE10E941D708114910441F06FE9E4 -:10E760007AE1C4010F944860892B51F40BC0852DC8 -:10E7700090E020912F0C3091300C8217930711F00C -:10E780005394DCCE0FB6F8943EBE0FBE2DBECD59CD -:10E79000DF4F0FB6F894DEBF0FBECDBFDF91CF9134 -:10E7A0001F910F91FF90EF90DF90CF90BF90AF90AF -:10E7B0009F908F907F906F905F903F902F900895E3 -:10E7C000CF93DF93CDB7DEB76B970FB6F894DEBF6C -:10E7D0000FBECDBF81E080932E0C1092320C1092B0 -:10E7E000310C8CE495E10E9433968BE1ECE4F5E189 -:10E7F000DE01119601900D928A95E1F740E050E01C -:10E80000BE016F5F7F4F80E090E00E947A72CE0180 -:10E8100001960E9469978091310C9091320C6B9611 -:10E820000FB6F894DEBF0FBECDBFDF91CF91089534 -:10E830000F931F93CF93DF93CDB7DEB76B970FB6D0 -:10E84000F894DEBF0FBECDBF8B0122E020932E0CCB -:10E850009093300C80932F0C8CE495E10E943396BA -:10E860008BE1ECE4F5E1DE01119601900D928A95C1 -:10E87000E1F7A801BE016F5F7F4F80E090E00E944A -:10E880007A72CE0101960E9469976B960FB6F89442 -:10E89000DEBF0FBECDBFDF91CF911F910F910895C5 -:10E8A000DF92EF92FF920F931F93CF93DF9300D0ED -:10E8B0001F92CDB7DEB72091F51723FF3DC1F42E8F -:10E8C000E62E8C010E94388A882309F481C0FF203B -:10E8D00009F48CC08091EC17882351F00F944C41BF -:10E8E00083EE93E30F94D04080E090E00F94EE32FB -:10E8F00086EC9BE09A8389838FE28093C50B81E04D -:10E900008B83F12C9BE1D92E8091EB17F81678F4CC -:10E91000DF9CC0011124AE014D5F5F4FBE016F5FF0 -:10E920007F4F8352994E0E943570F394EDCF8B81C7 -:10E930008B3578F4AE014D5F5F4FBE016F5F7F4F47 -:10E940008EE095E10E94357089819A8101979A83C2 -:10E950008983E981FA811082E091EC1784E0E89FD5 -:10E96000F0011124EF53F44F8091F1179091F217B9 -:10E97000A091F317B091F41780839183A283B3839E -:10E980000F945041B8018AEC93E30F9439416091A0 -:10E99000EC1789E6689FB00111246B53744F8FEB1D -:10E9A00093E30F9439414091F1175091F217609120 -:10E9B000F3177091F41789EB93E30F94FE408AE00C -:10E9C0000E94A6658091EC178F5F8093EC1726C09C -:10E9D000FF2039F00F94504189EA93E30F94D0401F -:10E9E0001DC01092EC1782E0F82E02C0FF24F394B1 -:10E9F0000F94504184EA93E30F94D04081E0F816DD -:10EA000009F497C080E993E30F94D040B8018CE9F2 -:10EA100093E30F9439418AE00E94A6650E94F47046 -:10EA2000B801CE0103960F9455348C01009709F478 -:10EA300083C06B817C81EE2009F450C021E0AC01E1 -:10EA40008EE095E10E944C9B882309F43FC08091A1 -:10EA50001F1590912015A0912115B091221580933A -:10EA6000ED179093EE17A093EF17B093F017109255 -:10EA7000F1171092F2171092F3171092F417B801D1 -:10EA800082E893E30F9439414091ED175091EE17CE -:10EA90006091EF177091F0178AE793E30F94FE40AF -:10EAA0008AE00E94A6658BE693E30F94D040B801FC -:10EAB00080E090E00E94187480915D1A811102C07C -:10EAC000C80102C08DE59AE160E030C0B80187E579 -:10EAD00093E30F94394184E593E30FC026E5AC013D -:10EAE0008EE095E10E944C9B81110AC0B80180E440 -:10EAF00093E30F9439418DE393E30F94D0401CC00E -:10EB00008091F51781608093F517B80180E090E05F -:10EB10000E9418741092DB16B8018BE293E30F94F5 -:10EB200039418AE00E94A66560E0C8010F947D0823 -:10EB300003C086E993E368CF0F900F900F900F907A -:10EB4000DF91CF911F910F91FF90EF90DF9008958B -:10EB5000CF92DF92EF92FF92CF936B017C01C42F93 -:10EB60008091521A9091531AA091541AB091551A4B -:10EB70008C159D05AE05BF05D1F00E94ED96811163 -:10EB800002C080E018C022E538E1B701A6018091FB -:10EB90005B1A90915C1A0E946F97882391F3C09240 -:10EBA000521AD092531AE092541AF092551A81E0F8 -:10EBB000C11180935A1ACF91FF90EF90DF90CF90C0 -:10EBC00008954F925F926F927F928F929F92AF9231 -:10EBD000BF92CF92DF92EF92FF920F931F93CF934A -:10EBE000DF93EC01423051056105710510F480E0BE -:10EBF00069C089859A85AB85BC850196A11DB11D2B -:10EC000084179507A607B70790F38F89803149F4D9 -:10EC1000852E962EA72EBB248B899C89AD89BE8913 -:10EC20000FC0803221F78B889C88AD88BE88DB01BD -:10EC3000CA01E7E0B695A79597958795EA95D1F72C -:10EC4000880E991EAA1EBB1E280139016A017B018C -:10EC500041E0C501B4010E94A875882341F29F8953 -:10EC6000903161F4DD24EE24FF249601220F331F3E -:10EC7000F901EE5AF74E5182408211C0E894C7F86C -:10EC8000DD24EE24FF249601220F331F220F331FB1 -:10EC9000F901EE5AF74E40825182628273829A895C -:10ECA000923080F04D815E816F817885840E951E53 -:10ECB000A61EB71E8092561A9092571AA092581A02 -:10ECC000B092591ADF91CF911F910F91FF90EF9061 -:10ECD000DF90CF90BF90AF909F908F907F906F907C -:10ECE0005F904F900895CF92DF92EF92FF920F9333 -:10ECF0001F93CF93DF93FC0181859285A385B48513 -:10ED00000196A11DB11D84179507A607B70710F43A -:10ED100080E061C08789803149F4BB27A72F962FF7 -:10ED2000852FC388D488E588F6880FC0803281F7A4 -:10ED300083899489A589B6896A017B01C7E0F69425 -:10ED4000E794D794C794CA95D1F78C0D9D1DAE1D3D -:10ED5000BF1DE9016A017B018F014091521A509158 -:10ED6000531A6091541A7091551A84179507A60783 -:10ED7000B70739F040E0BC01CD010E94A875882397 -:10ED800039F2F8018789803179F4B701A601552756 -:10ED900066277727440F551FFA01EE5AF74E8081F8 -:10EDA0009181A0E0B0E012C0B701A6014F775527CE -:10EDB00066277727440F551F440F551FFA01EE5A57 -:10EDC000F74E80819181A281B381BF70888399833E -:10EDD000AA83BB8381E0DF91CF911F910F91FF90B8 -:10EDE000EF90DF90CF9008954F925F926F927F9255 -:10EDF000AF92BF92CF92DF92EF92FF920F931F9349 -:10EE0000CF93DF9300D01F92CDB7DEB78C0149833B -:10EE10005A836B837C835901C12CD12C7601412C00 -:10EE200082E0582E612C712C49815A816B817C8142 -:10EE30009E012F5F3F4FC8010E947376882341F1E6 -:10EE4000D301C201F801058404C0880F991FAA1FCD -:10EE5000BB1F0A94D2F7C80ED91EEA1EFB1E4981B9 -:10EE60005A816B817C818789803139F481E0483F08 -:10EE70005F4F6105710538F4D7CF81E0483F5F4FA0 -:10EE80006F4F7F4088F2F501C082D182E282F38227 -:10EE90000F900F900F900F90DF91CF911F910F91D6 -:10EEA000FF90EF90DF90CF90BF90AF907F906F90EA -:10EEB0005F904F900895CF92DF92EF92FF920F9361 -:10EEC0001F93C12CD12C76018C0125EB3CE041EB4A -:10EED0005CE06DEA7CE089EA9CE00E9464BA1F91E4 -:10EEE0000F91FF90EF90DF90CF900895CF93C82FB0 -:10EEF000CB01009711F00F94D04080E797E30F9477 -:10EF0000D040C11103C081E697E302C086E697E3D3 -:10EF10000F94D0408AE0CF910C94A665CF92DF92F7 -:10EF2000EF92FF92CF93DF9320913102222309F4D5 -:10EF300085C0EC01C0901902D0901A02E0901B022B -:10EF4000F0901C02288139814A815B81C701B6019A -:10EF50000F94205E181624F4C882D982EA82FB82BC -:10EF6000C0901D02D0901E02E0901F02F09020027F -:10EF7000288139814A815B81C701B6010F94CA5447 -:10EF800087FF04C0C882D982EA82FB82C090210236 -:10EF9000D0902202E0902302F09024022C813D8147 -:10EFA0004E815F81C701B6010F94205E181624F4CC -:10EFB000CC82DD82EE82FF82C0902502D0902602B4 -:10EFC000E0902702F09028022C813D814E815F81E4 -:10EFD000C701B6010F94CA5487FF04C0CC82DD82FA -:10EFE000EE82FF82C0902902D0902A02E0902B028C -:10EFF000F0902C02288539854A855B85C701B601CA -:10F000000F94205E181624F4C886D986EA86FB86FB -:10F01000C0902D02D0902E02E0902F02F09030028E -:10F02000288539854A855B85C701B6010F94CA5486 -:10F0300087FF04C0C886D986EA86FB86DF91CF9118 -:10F04000FF90EF90DF90CF90089580914F0C9091BA -:10F05000500CA091510CB091520C80933F029093B0 -:10F060004002A0934102B093420280914D0C9091D6 -:10F070004E0C90934A0280934902089580913F027A -:10F0800090914002A0914102B091420280934F0CB6 -:10F090009093500CA093510CB093520C8091490264 -:10F0A00090914A0290934E0C80934D0C84E690E030 -:10F0B00090934A028093490208954F925F926F9213 -:10F0C0007F928F929F92AF92BF92CF92DF92EF92F8 -:10F0D000FF920F931F93CF93DF93CDB7DEB72C979B -:10F0E0000FB6F894DEBF0FBECDBF2B013C012987C0 -:10F0F0003A874B875C8747015801F601E080F18031 -:10F100000281138120E030E0A901B701C8010F940A -:10F11000CA5481110BC0E4E5FDE385919591A59159 -:10F12000B491582F492F3A2F2B2F04C05E2D4F2D0D -:10F13000302F212F852F942FA32FB22F89839A83CD -:10F14000AB83BC8320E030E0A901B701C8010F9474 -:10F15000CA54811104C0E12CF12C08EC12E4C7015F -:10F16000D8018D839E83AF83B887A50194016091F8 -:10F17000B10C7091B20C8091B30C9091B40C0F94BF -:10F18000CA5487FF0CC08092B10C9092B20CA0922E -:10F19000B30CB092B40CCE0101960E945B77409202 -:10F1A000A90C5092AA0C6092AB0C7092AC0C8985A1 -:10F1B0009A85AB85BC858093AD0C9093AE0CA093E3 -:10F1C000AF0CB093B00CCE0105960E945B772091F6 -:10F1D000B10C3091B20C4091B30C5091B40CC501FC -:10F1E000B4010F94CA5487FF0CC08092B10C909266 -:10F1F000B20CA092B30CB092B40CCE0101960E9456 -:10F200005B770E94BA912C960FB6F894DEBF0FBEC2 -:10F21000CDBFDF91CF911F910F91FF90EF90DF90C5 -:10F22000CF90BF90AF909F908F907F906F905F90A6 -:10F230004F900895CF92DF92EF92FF920F931F931A -:10F240006A01E090B10CF090B20C0091B30C1091F7 -:10F25000B40CFB012081318142815381FC0160812A -:10F260007181828193810E945D781F910F91FF903F -:10F27000EF90DF90CF900895CF92DF92EF92FF92C0 -:10F280000F931F936B01FC01E080F18002811381D9 -:10F29000E9EAFCE0248135814681578160817181F2 -:10F2A000828193810E945D781F910F91FF90EF9072 -:10F2B000DF90CF900895CF93DF9380E00E94E59296 -:10F2C000C0E4DCE0688379838A839B8381E00E94C9 -:10F2D000E5926C837D838E839F8382E00E94E5921A -:10F2E000688779878A879B87DF91CF9108951F93DD -:10F2F000CF93DF93CDB7DEB760970FB6F894DEBF3C -:10F300000FBECDBF182F0E945B798091400C909169 -:10F31000410CA091420CB091430C89839A83AB833A -:10F32000BC838091440C9091450CA091460CB09107 -:10F33000470C8D839E83AF83B8878091480C909152 -:10F34000490CA0914A0CB0914B0C89879A87AB87E6 -:10F35000BC878091B50C9091B60CA091B70CB09180 -:10F36000B80C8D879E87AF87B88BCE0101960E941F -:10F3700078931E3F51F480E1FE013196A9EABCE08A -:10F3800001900D928A95E1F716C024E0129FC0010A -:10F390001124FC01E755F34FA1E0B0E0AC0FBD1F15 -:10F3A000A80FB91F8D919D910D90BC91A02D8083C8 -:10F3B0009183A283B38360960FB6F894DEBF0FBE2D -:10F3C000CDBFDF91CF911F9108950C94BABA80916F -:10F3D0002A0A811105C080912C0A811101C008956B -:10F3E00080914C0C659B02C0816001C08E7F809330 -:10F3F0004C0C9091030180914C0C91FF02C08260F3 -:10F4000001C08D7F80934C0C80914C0C4A9B02C0B4 -:10F41000846001C08B7F80934C0C80918A1280FFA6 -:10F4200010C080912B0A80FF0CC080914C0C80FF93 -:10F4300008C08091BE0B81608093BE0B80E00E946B -:10F440006BCE80918A12869580FF11C080912B0A25 -:10F45000869580FF0CC080914C0C81FF08C0809184 -:10F46000BE0B82608093BE0B81E00E946BCE8091C8 -:10F470008A128695869580FF16C080912B0A869504 -:10F48000869580FF10C080912C0A882361F08091BE -:10F490004C0C82FF08C08091BE0B84608093BE0B31 -:10F4A00082E00C946BCE0895CF93DF9300D01F922F -:10F4B000CDB7DEB784EF91E0A0E0B0E089839A8316 -:10F4C000AB83BC83BE016F5F7F4F8CE30F94B70D9E -:10F4D0008EE897E30F94D0408CB168E877E385FB22 -:10F4E000882780F90E9476778091030162E877E3AC -:10F4F000869581700E94767789B16CE777E382FB0D -:10F50000882780F90E9476778CB163E777E382954C -:10F5100081700E9476778EEE92E0A0E0B0E04A998A -:10F5200011C089839A83AB83BC83BE016F5F7F4F19 -:10F530008AE00F94B70D0F900F900F900F90DF910E -:10F54000CF91089589839A83AB83BC83BE016F5F9B -:10F550007F4F8AE5EECF80912A0A811104C0809105 -:10F560002C0A882331F062E070E080E090E00D9496 -:10F57000644008958091BE0B882319F01092BE0B51 -:10F58000089583E597E30F94EE32ACE7B1E120E014 -:10F5900030E0C9012430310510F083E090E0880F9D -:10F5A000991F880F991FFC01ED55FB4C4591559112 -:10F5B0006591749154964D935D936D937C93579799 -:10F5C000FC01ED56FB4C45915591659174919496D3 -:10F5D0004D935D936D937C939797FC01ED57FB4C96 -:10F5E00045915591659174914D935D936D937D9384 -:10F5F0002F5F3F4F2430310509F0CBCF80E29EE4EE -:10F60000A0E0B0E080938C1190938D11A0938E11A7 -:10F61000B0938F1180E090E0A8ECB3E48093B01138 -:10F620009093B111A093B211B093B31180E090E028 -:10F63000AAE7B4E48093B4119093B511A093B611E6 -:10F64000B093B71180E090E0A6E9B3E48093B811DD -:10F650009093B911A093BA11B093BB111092BC1141 -:10F660001092BD111092BE111092BF111092C011D4 -:10F670001092C1111092C2111092C3118AE097ED3D -:10F68000A3EABDE38093B90C9093BA0CA093BB0C92 -:10F69000B093BC0C8CE0EDE2FAE0DF011D928A959C -:10F6A000E9F781E080934D021092FC090E943C63CF -:10F6B00080E090E0A0EAB0E48093150290931602F7 -:10F6C000A0931702B09318028FE696E00E94C466DA -:10F6D0001092330C1092340C1092350C1092360CA0 -:10F6E00080E00F94F93E0F94213F80E090E0A8ED78 -:10F6F000B1EC80937F0C9093800CA093810CB0931D -:10F70000820C1092830C1092840C1092850C109233 -:10F71000860C1092870C1092880C1092890C109213 -:10F720008A0C80E090E0AAECB1E48093EF0C909317 -:10F73000F00CA093F10CB093F20C85E698E0A6EBE8 -:10F74000BEE38093F30C9093F40CA093F50CB0936C -:10F75000F60C81E09FE1A0EEB3E48093F70C909368 -:10F76000F80CA093F90CB093FA0C83EC95E9ACE299 -:10F77000B4E48093090A90930A0AA0930B0AB09309 -:10F780000C0A80E29BE1A2E9B1E480930D0A909318 -:10F790000E0AA0930F0AB093100A87EF9CEDABEC12 -:10F7A000B5E48093110A9093120AA093130AB093C0 -:10F7B000140A1092791280E090E0A0EEBFE38093EB -:10F7C0007E1290937F12A0938012B09381121092B8 -:10F7D0002A0A1092290A0E94AB7A80E090E0A7EDF5 -:10F7E000B3E48093370C9093380CA093390CB0930A -:10F7F0003A0C80933B0C90933C0CA0933D0CB0933F -:10F800003E0C0F9466038FE696E00C94C4668091DC -:10F810001B1690911C168051934060E970E00F9484 -:10F820008F5BCB010895EF92FF920F931F93CF93BD -:10F83000DF9300D01F92CDB7DEB7182F7B010E9457 -:10F84000077C17FD2FC0212F110F330B2817390705 -:10F850004CF52F5F3F4F80E9829FA001839F500DA1 -:10F86000112480911B1690911C16841B950B9C8370 -:10F870008B831A821982E114F10411F0B70102C0DE -:10F8800068ED71E101E09E012F5F3F4F40E950E0DC -:10F89000CE0103960E946C63882321F087E694E3EF -:10F8A0000F94D0400F900F900F900F90DF91CF9159 -:10F8B0001F910F91FF90EF9008951F93CF93DF93C7 -:10F8C00000D01F92CDB7DEB7182F0E94077C17FD1E -:10F8D00029C0212F110F330B281739071CF52F5F73 -:10F8E0003F4F80E9829FA001839F500D112480919A -:10F8F0001B1690911C16841B950B9C838B831A827C -:10F9000019829E012F5F3F4F40E950E068ED71E1A1 -:10F91000CE0103960E94A963882321F08BE494E32F -:10F920000F94D0400F900F900F900F90DF91CF91D8 -:10F930001F9108954F925F926F927F928F929F9244 -:10F94000AF92BF92CF92DF92EF92FF922091730C11 -:10F950003091740C4091750C5091760C6091A90C0B -:10F960007091AA0C8091AB0C9091AC0C0F94C05B81 -:10F97000AB01BC0186EC97E30F941C412091770CFE -:10F980003091780C4091790C50917A0C6091AD0CCB -:10F990007091AE0C8091AF0C9091B00C0F94C05B45 -:10F9A000AB01BC0182EC97E30F941C4120917B0CCE -:10F9B00030917C0C40917D0C50917E0C6091B10C8B -:10F9C0007091B20C8091B30C9091B40C0F94C05B09 -:10F9D000AB01BC018EEB97E30F941C414091B50C39 -:10F9E0005091B60C6091B70C7091B80C8AEB97E30C -:10F9F0000F941C4180916F00982F927081FF05C079 -:10FA000080916F008D7F80936F004090981250908E -:10FA1000991260909A1270909B1280909C12909014 -:10FA20009D12A0909E12B0909F12C090A012D090F4 -:10FA3000A112E090A212F090A312992329F08091D4 -:10FA40006F00826080936F0080EB97E30F94D0404B -:10FA5000C301B2010E941A668CEA97E30F94D0406A -:10FA6000C501B4010E941A6688EA97E30F94D0405A -:10FA7000C701B6010E941A668AE0FF90EF90DF90FE -:10FA8000CF90BF90AF909F908F907F906F905F903E -:10FA90004F900C94A665CF93C82F811102C00F948C -:10FAA00050418CE397E30F94D04086E397E30F94A3 -:10FAB000D0408AE00E94A6658AE00E94A665C11136 -:10FAC00014C00F94504183E297E30F94D04080918B -:10FAD0007912882321F08AE00E94A66504C088E19B -:10FAE00097E30F94D0400F94504140917E12509173 -:10FAF0007F1260918012709181128FE097E30F94D2 -:10FB00001C418AE00E94A66580917912811108C08B -:10FB1000C11102C00F94504184E097E30F94D0408C -:10FB2000C11106C00F94504183EF96E30F94D0406B -:10FB30006FEF81E08C270E942FDBC11108C00F946A -:10FB4000504185ED96E30F94D0400F945041409181 -:10FB5000A0115091A1116091A2117091A3118CEC90 -:10FB600096E30F941C414091A4115091A51160910E -:10FB7000A6117091A71189EC96E30F941C41409156 -:10FB8000A8115091A9116091AA117091AB1186EC46 -:10FB900096E30F941C414091AC115091AD116091CE -:10FBA000AE117091AF1183EC96E30F941C418AE083 -:10FBB0000E94A665C11108C00F94504181EA96E3E6 -:10FBC0000F94D0400F94504160917C1170917D1141 -:10FBD00080917E1190917F110F94CF54AB01BC01A5 -:10FBE00088E996E30F941C41609180117091811116 -:10FBF00080918211909183110F94CF54AB01BC017D -:10FC000085E996E30F941C416091841170918511F0 -:10FC100080918611909187110F94CF54AB01BC0154 -:10FC200082E996E30F941C416091881170918911CB -:10FC300080918A1190918B110F94CF54AB01BC012C -:10FC40008FE896E30F941C418AE00E94A665C111DB -:10FC500008C00F94504185E496E30F94D0400F9470 -:10FC600050414091B0115091B1116091B211709119 -:10FC7000B3118CE396E30F941C414091B411509161 -:10FC8000B5116091B6117091B71189E396E30F94A5 -:10FC90001C414091B8115091B9116091BA11709105 -:10FCA000BB1186E396E30F941C418AE00E94A6658F -:10FCB000C1110FC00F9450418EEE95E30F94D040C8 -:10FCC00081EE95E30F94D0408AE00E94A6650F94E0 -:10FCD000504160918C1170918D1180918E11909195 -:10FCE0008F110F94CF54AB01BC0188ED95E30F94B5 -:10FCF0001C414091BC115091BD116091BE11709199 -:10FD0000BF1185ED95E30F941C414091C0115091B6 -:10FD1000C1116091C2117091C31182ED95E30F94EE -:10FD20001C414091B90C5091BA0C6091BB0C709180 -:10FD3000BC0C8FEC95E30F941C418AE00E94A665F1 -:10FD4000C11108C00F94504181EC95E30F94D0404D -:10FD50000F94504140912D0A50912E0A60912F0A24 -:10FD60007091300A88EB95E30F941C414091310A61 -:10FD70005091320A6091330A7091340A85EB95E311 -:10FD80000F941C414091350A5091360A6091370A10 -:10FD90007091380A82EB95E30F941C418AE00E942F -:10FDA000A665C1110CC00F94504183EB94E30F94EE -:10FDB000D0408FEA95E30F94D0400F94504160916A -:10FDC0005B0C70E086EA95E30F942D414091681238 -:10FDD0005091691260916A1270916B1283EA95E3F7 -:10FDE0000F941C418AE00E94A665C11124C08AE0DC -:10FDF0000E94A6650F94DF4060913F0C062E000C18 -:10FE0000770B8FE895E30F942D418AE00E94A66559 -:10FE10000E94077CBC018EE795E30F940F4183E7B6 -:10FE200095E30F94D0400F94504184E695E30F94EE -:10FE3000D0400F9450414091EF0C5091F00C6091E4 -:10FE4000F10C7091F20C8BE595E30F941C412CEAB8 -:10FE500035EC47E25EE36091F30C7091F40C809115 -:10FE6000F50C9091F60C0F94BA5CAB01BC0188E5DF -:10FE700095E30F941C412CEA35EC47E25EE3609178 -:10FE8000F70C7091F80C8091F90C9091FA0C0F948A -:10FE90003055AB01BC0185E595E30F941C418AE028 -:10FEA0000E94A665C11102C00F9450414091090AF9 -:10FEB00050910A0A60910B0A70910C0A8CE495E348 -:10FEC0000F941C412CEA35EC47E25EE360910D0A89 -:10FED00070910E0A80910F0A9091100A0F94BA5CEB -:10FEE000AB01BC0189E495E30F941C412CEA35EC8D -:10FEF00047E25EE36091110A7091120A8091130A41 -:10FF00009091140A0F943055AB01BC0186E495E33F -:10FF10000F941C418AE00E94A665C11110C00F9485 -:10FF2000504187E395E30F94D04086E397E30F9425 -:10FF3000D04088EC94E30F94D0400F94504140910E -:10FF40007F0C5091800C6091810C7091820C8EE23C -:10FF500095E30F941C418AE00E94A6654091830CB2 -:10FF60005091840C6091850C7091860C85E295E32C -:10FF70000F941C418AE00E94A6654091870C509125 -:10FF8000880C6091890C70918A0C8CE195E30F9438 -:10FF90001C418AE00E94A665C11108C00F9450411F -:10FFA0008DEF94E30F94D0400F9450418BEC94E389 -:10FFB0000F94D04040913B0C50913C0C60913D0C13 -:10FFC00070913E0C8BEF94E30F941C414091370CE1 -:10FFD0005091380C6091390C70913A0C88EF94E391 -:10FFE0000F941C418AE00E94A665C11108C00F94BD -:10FFF00050418FED94E30F94D0400F9450416091A5 -:020000021000EC -:100000004D0270E086ED94E30F942D41409115026E -:1000100050911602609117027091180283ED94E3DB -:100020000F941C418AE0CF910C94A6658091090140 -:1000300080FD06C08091F51783FB882780F908951D -:1000400080E008950F931F93CF93DF938B01D82FF8 -:10005000C92F4630C1F41092A9131092AA1310921E -:10006000AB131092AC131092AD130E9418FD20E058 -:1000700030E04CE053E4B8018D2F9C2F0F94CA540C -:1000800087FD0FC01DC00F94110920E030E046E944 -:1000900053E4B8018D2F9C2F0F94CA5487FD20C0C4 -:1000A0002EC020E030E0A901B8018D2F9C2F0F94C5 -:1000B000205E18164CF000E010E0D0E0C0E004C074 -:1000C00000E010E0DCE0C3E4B8018D2F9C2F0F941A -:1000D0002C5DCB01DF91CF911F910F910C94F1EB2F -:1000E00020E030E0A901B8018D2F9C2F0F94205EF5 -:1000F00018164CF000E010E0D0E0C0E004C000E0D2 -:1001000010E0D6E9C3E4B8018D2F9C2F0F942C5D2D -:10011000CB01DF91CF911F910F910C94529C909144 -:100120006F14977081E0973009F080E00895809116 -:10013000F5159091F615891B8F7069F48091BD0BB0 -:10014000811109C081E020913A0A30913B0A232BAA -:1001500019F480E0089581E008953F924F925F92F4 -:100160006F927F928F929F92AF92BF92CF92DF92C7 -:10017000EF92FF920F931F93CF93DF93CDB7DEB72C -:1001800062970FB6F894DEBF0FBECDBF2B013C01C6 -:10019000342E24E0429FC00111249A8B898BFC01EC -:1001A000E755F34FC080D180E280F38020E030E05B -:1001B0004AE754E4C701B6010F94BF5B4B015C01F1 -:1001C00020E030E04AE754E4C701B6010F94C05B79 -:1001D0007B018C01809131028823D1F181E03816B6 -:1001E00039F13816A0F092E0391232C0809029021D -:1001F00090902A02A0902B02B0902C02E0902D0249 -:10020000F0902E0200912F021091300221C08090B8 -:10021000190290901A02A0901B02B0901C02E0906C -:100220001D02F0901E0200911F021091200210C0CA -:100230008090210290902202A0902302B09024028C -:10024000E0902502F09026020091270210912802EA -:1002500080E1E3EDF2E0DE01119601900D928A95C6 -:10026000E1F7E1E0F0E0EC0FFD1F89899A89E80FE2 -:10027000F91F20E030E040E752E460817181828123 -:1002800093810F94BA5C60933F0270934002809315 -:100290004102909342028091701481FF0E94FFEB13 -:1002A0009201A301B701C8010F94205E181614F43F -:1002B000720183019701A801B401C5010F94CA54CA -:1002C00087FD02C074018501E989FA89EE56F34F72 -:1002D000C701D80180839183A283B3838091701476 -:1002E00082608093701462960FB6F894DEBF0FBEE2 -:1002F000CDBFDF91CF911F910F91FF90EF90DF90D5 -:10030000CF90BF90AF909F908F907F906F905F90B5 -:100310004F903F9008952091701490E0880F991F9E -:10032000880F991FFC0121FF03C0EE56F34F02C056 -:10033000E755F34F60817181828193810895209107 -:10034000701420FF14C020E83EE3629FA001639F69 -:10035000500D729F500D1124CA0196958795969560 -:100360008795009731F08A950000E9F708950D947C -:10037000644008959F92AF92BF92CF92DF92EF9226 -:10038000FF920F931F93CF93DF938091690C83307B -:1003900009F50E948F808823E9F06091060A709128 -:1003A000070A072E000C880B990B0F94D15420E0FC -:1003B00030E040E85FE30F94BF5B2091020A309188 -:1003C000030A4091040A5091050A0F94CA54181662 -:1003D0000CF066C0D0E000E010E0FF24F394EE24BF -:1003E000E39446E0D42EC0E0CC24C39456E0B52E6E -:1003F00065E0A62E72E8972EFC24DC16F1F18D2F15 -:1004000090E08397C4F5C530B1F10530A1F1DF5F0D -:10041000F801BC9EE00DF11D1124EE0FFF1FEE0F41 -:10042000FF1FE852FE4E20E030E04AE754E46081CE -:100430007181828193810F9430550F942C5D70935C -:100440007A1660937916A0926D16909270168D2F81 -:1004500090E08158974F880F991F092E000CAA0B26 -:10046000BB0B8093711690937216A0937316B09382 -:1004700074160F944832CE0DC0CF0F5F1F4F063059 -:10048000110579F1F11006C0EE24EA94DD24DA9426 -:10049000C5E0B2CFEE24E39436E0D32EC0E0ACCF7B -:1004A00081E09AE590937A168093791680E490E043 -:1004B00090937C1680937B1687E080936D1682E87C -:1004C0008093701684E890E0A0E0B0E0809371160D -:1004D00090937216A0937316B09374160F944832CB -:1004E00079CFDF91CF911F910F91FF90EF90DF9027 -:1004F000CF90BF90AF909F900895AF92BF92CF9250 -:10050000DF92EF92FF920F931F93CF93DF93EC0153 -:1005100088EEC82E80E2D82EE12CF12C02E8A12C26 -:1005200090E2B92E15E000937016C0927116D09229 -:100530007216E0927316F0927416B0927A16A09228 -:10054000791610936D160F9448328FEFC81AD80A97 -:10055000E80AF80A80E1C81681E2D806E104F1044D -:1005600011F748EE50E260E070E0CE01DF91CF91EC -:100570001F910F91FF90EF90DF90CF90BF90AF90C1 -:100580000D94F73184E08093680C82E08093AC088E -:1005900081E09AE590937A16809379168EE490E044 -:1005A00090937C1680937B1687E080936D1682E88B -:1005B0008093701684E890E0A0E0B0E0809371161C -:1005C00090937216A0937316B09374160F944832DA -:1005D00082E896E00C94C466CF92DF92EF92FF928D -:1005E0006A017B010E94779E882331F0FF90EF9093 -:1005F000DF90CF900C94F79DC701B601FF90EF906C -:10060000DF90CF9008952F923F924F925F926F921A -:100610007F928F929F92AF92BF92CF92DF92EF9292 -:10062000FF920F931F93CF93DF93CDB7DEB7CD54D7 -:10063000D1090FB6F894DEBF0FBECDBF60E070E009 -:1006400085E40E94849E182F81E0810F823018F08B -:1006500088E09AE354C065E070E083E40E94849EE1 -:1006600089A760E085E50E9441ED2C968FAF2C971D -:1006700017FF05C040E050E06CE872E404C040E0C1 -:1006800050E066E173E483E50E94EC820F942C5DF8 -:10069000072E000C880B990B0F94D1546D837E8329 -:1006A0008F832E969FAF2E970F946E3E2B013C01A9 -:1006B0001F3F09F409C5E12E012E000CFF08F701C8 -:1006C00083E0EE0FFF1F8A95E1F7E45FFD4F66813F -:1006D00077816F507109072E000C880B990B0F94CE -:1006E000D1549B01AC016D817E818F812E969FAD8F -:1006F0002E970F94205E1816ECF48DED99E3C35BF2 -:10070000DF4F0FB6F894DEBF0FBECDBFDF91CF91A4 -:100710001F910F91FF90EF90DF90CF90BF90AF901F -:100720009F908F907F906F905F904F903F902F9011 -:100730000D94D04089EC99E30F94D0400E9467FD5E -:1007400087E18E9DF0018F9DF00D1124EC51F34F48 -:100750008FE7828722E330E0A8EEB3E00F94745B6A -:100760006BA77CA78DA79EA79B01AC01240D351D0F -:10077000461D571D28AF39AF4AAF5BAF81E080936C -:10078000140210925A021F3F11F58BEA9AEAAAEA64 -:10079000BEE38CAF9DAFAEAFBFAF2DEC3CEC4CE4F5 -:1007A0005EE324962CAF3DAF4EAF5FAF2497259606 -:1007B0001FAE259741E159E327965FAF4EAF2797CC -:1007C0008BED98E329969FAF8EAF299721C020E04B -:1007D00030E040E05EE32CAF3DAF4EAF5FAF8AE963 -:1007E00099E9A9E1BFE324968CAF9DAFAEAFBFAF4F -:1007F000249725961FAF2597AFEFB8E32796BFAF95 -:10080000AEAF2797E8ECF8E32996FFAFEEAF299754 -:1008100049A25AA26BA27CA24FA658AA69AA7AAA98 -:100820002FE730E040E050E0288739874A875B8730 -:10083000188A198A1A8A1B8A1C861D861E861F869C -:10084000C12CD12C76011E8A30E43F8B4CE1488FBD -:1008500056E4598F1A8E1B8E1C8E1D8E1BAACCAA95 -:10086000DDAAEEAAFFAAFFE78F2E912CA12CB12CB6 -:100870001DA21EA21FA218A681E088A31D8A1C8AA1 -:10088000212C312C00E02D961FAE2D97A7E11A02E6 -:10089000C00111248C51934FFC013A962B96FFAF67 -:1008A000EEAF2B979C012C5F3F4F3F8F2E8F49A5BA -:1008B000042E000C550B5AA749A7809114028823D7 -:1008C00009F454C20F946E3E69837A838B839C83B0 -:1008D0008091B413882309F4BAC00E941BFF1F3F04 -:1008E00061F42090020A3090030A0091040A5091AA -:1008F000050A2D965FAF2D970EC0AE8DBF8D2C9043 -:1009000011963C90119712960C9112971396BC91E8 -:100910002D96BFAF2D972A8D3B8D4C8D5D8DB101EE -:10092000802F2D969FAD2D970F94205E18163CF4C6 -:100930002A8E3B8E0C8F2D96EFAD2D97ED8F2E8945 -:100940003F89488D598DB101802F2D969FAD2D97F0 -:100950000F94CA5487FF07C02E8A3F8A088F2D96AE -:10096000FFAD2D97F98F28A1222309F44DC09101E5 -:10097000402F2D965FAD2D976D817E818F812E96B4 -:100980009FAD2E970F94CA5487FF61C049815A8149 -:100990006B817C814419550966097709DB01CA011D -:1009A00088589341A109B109B7FD51C0888599853F -:1009B000AA85BB8588199909AA09BB09B595A79588 -:1009C000979587951F3F19F48093080A05C02B96C9 -:1009D000EEADFFAD2B9780834DA35EA36FA378A7E9 -:1009E000FD81FA8F2E812B8F3F813C8F2E964FAD4C -:1009F0002E974D8F89819A81AB81BC8189A39AA35F -:100A0000ABA3BCA318A223C09101402F2D965FADCC -:100A10002D976D817E818F812E969FAD2E970F949D -:100A2000205E1816A4F489819A81AB81BC8129A12A -:100A30003AA14BA15CA1821B930BA40BB50BAC019B -:100A4000BD01485853416109710977FFAEC120E0EB -:100A500030E040EA51E46D817E818F812E969FAD1A -:100A60002E970F94C05B9101402F2D965FAD2D976F -:100A70000F94CA5487FF03C083E399E3B9C0898107 -:100A80009A81AB81BC812FA538A949A95AA9821B9B -:100A9000930BA40BB50BB7FD90C025968FAD259792 -:100AA0000E94D2F58AE00E94A66589819A81AB8175 -:100AB000BC818053984FAF4FBF4F8FA798ABA9AB66 -:100AC000BAAB9BA9911159C02CA93DA94EA95FA908 -:100AD000B101802F2D969FAD2D970F94205E181693 -:100AE000BCF520E030E040E050E4B101802F2D96CD -:100AF0009FAD2D970F94C05B6CAB7DAB8EAB9FAB66 -:100B00002BA53CA54DA55EA589819A81AB81BC81B1 -:100B1000280F391F4A1F5B1F28AF39AF4AAF5BAFA1 -:100B200020E030E040EC50E46D817E818F812E9694 -:100B30009FAD2E970F94BF5B9101402F2D965FAD17 -:100B40002D970F94CA54881F8827881F8BAB35C0F8 -:100B500089819A81AB81BC8128AD39AD4AAD5BAD4D -:100B6000821B930BA40BB50BB7FD27C027964EAD88 -:100B70005FAD279764E279E31DC020E030E040EAF2 -:100B800051E46D817E818F812E969FAD2E970F94BB -:100B9000BF5B9B01AC01B101802F2D969FAD2D97BE -:100BA0000F94CA5487FF09C029964EAD5FAD2997AF -:100BB0006FEE78E3812F0E942ACA89819A81AB81E6 -:100BC000BC81880F991FAA1FBB1F29A13AA14BA165 -:100BD0005CA1821B930BA40BB50B84199509A60984 -:100BE000B70981389F44A241B10528F08AEA98E309 -:100BF0000F94D040BBC049A55AA58C899D89481740 -:100C000059070CF0B0C003970CF4ADC08DE498E325 -:100C10000F94D0401F3F29F4ADE3B8E3BA83A98312 -:100C200004C0ECE3F8E3FA83E9838BE298E30F94E2 -:100C3000D04089819A810F94D040B701A60189E400 -:100C400098E30F941C418AE00E94A6658BE298E32A -:100C50000F94D04089819A810F94D0404C855D8556 -:100C60006E857F8585E498E30F941C418AE00E949D -:100C7000A6658BE298E30F94D04089819A810F9406 -:100C8000D040488959896A897B8981E498E30F9427 -:100C90001C418AE00E94A6652C96FFAD2C97FF238D -:100CA00009F466C01F3F69F5C092090AD0920A0A8A -:100CB000E0920B0AF0920C0A2CEA35EC47E25EE374 -:100CC0006C857D858E859F850F94305560930D0AC8 -:100CD00070930E0A80930F0A9093100A2CEA35EC59 -:100CE00047E25EE3688979898A899B890F94BA5CB7 -:100CF0006093110A7093120A8093130A9093140A56 -:100D000037C047E11402900111242C51334F3A832C -:100D10002983D9011B96CD92DD92ED92FC921E970C -:100D20002CEA35EC47E25EE36C857D858E859F85F8 -:100D30000F943055E981FA816787708B818B928B94 -:100D40002CEA35EC47E25EE3688979898A899B89D8 -:100D50000F94BA5CA981BA8153966D937D938D935C -:100D60009C93569705C00E948F30A7CD0E9467FDC7 -:100D700081E080935A02C35BDF4F0FB6F894DEBF69 -:100D80000FBECDBFDF91CF911F910F91FF90EF90DC -:100D9000DF90CF90BF90AF909F908F907F906F909B -:100DA0005F904F903F902F9008954C895D89452B1F -:100DB00009F451C14DA05EA06FA078A4480E591E41 -:100DC0006A1E7B1E2DA13EA14FA158A5281B390BE1 -:100DD0004A0B5B0BC501B4010F94105BA301920198 -:100DE0000F94425B88849984AA84BB84820E931EEC -:100DF000A41EB51E54E185169104A104B1040CF1A2 -:100E00008CEE88169104A104B1043CF490E8891694 -:100E10009104A104B10434F422C06BEE862E912C0F -:100E2000A12CB12C88869986AA86BB862EEF30E04D -:100E300040E050E0281939094A095B0949015A0183 -:100E400012C084E190E0A0E0B0E088879987AA878B -:100E5000BB8754E1852E912CA12CB12C04C088862F -:100E60009986AA86BB8681EC99E30F94D040688569 -:100E700079858A859B850E941A668CEB99E30F948D -:100E8000D040C501B4010E941A664E895F89688D01 -:100E9000798D85EB99E30F941C414A8D5B8D6C8DA8 -:100EA0007D8D8EEA99E30F941C41AC89BD8913971F -:100EB0000CF4D1C0C501B4010F94D15420E030E04E -:100EC00040E850E40F9430556B017C012E893F8936 -:100ED000488D598D6A8D7B8D8C8D9D8D0F94BF5B58 -:100EE0002BED3FE049E450E40F94305520E030E032 -:100EF00040E05FE30F9430559B01AC01C701B601A0 -:100F00000F94BA5C6B017C01C301B2010F94D15400 -:100F10002FE632E143E85AE30F9430552B013C01B0 -:100F2000B701A60188EA99E30F941C41B301A2011D -:100F300082EA99E30F941C411F3F09F044C02DEC55 -:100F40003CEC4CE45EE3C701B6010F9430556B01F5 -:100F50007C019B01AC010F94C05BA30192010F9433 -:100F6000BA5C6C877D878E879F87A7019601C30136 -:100F7000B2010F94305520E030E040E450E40F948B -:100F8000BA5C688B798B8A8B9B8B82E999E30F948F -:100F9000D040B701A6018CE899E30F941C414C8521 -:100FA0005D856E857F8586E899E30F941C414889AD -:100FB00059896A897B8980E899E30F941C418AE00A -:100FC0000E94A6654AC024962CAD3DAD4EAD5FADE6 -:100FD0002497C701B6010F9430556B017C019B012A -:100FE000AC01C301B2010F9430552CAD3DAD4EADF7 -:100FF0005FAD0F943055688B798B8A8B9B8BA701E3 -:101000009601C701B6010F94C05BA30192010F9432 -:10101000BA5C6C877D878E879F8780E799E30F9402 -:10102000D040B701A6018AE699E30F941C414C8594 -:101030005D856E857F8584E699E30F941C41488920 -:1010400059896A897B898EE599E30F941C418AE06E -:101050000E94A66511C01F3F79F488859985AA85ED -:10106000BB85880D991DAA1DBB1DB595A7959795A4 -:1010700087958093080A11C088859985AA85BB85C4 -:10108000880D991DAA1DBB1DB595A79597958795A8 -:101090002B96EEADFFAD2B9780832C893D892F5F7A -:1010A0003F4F3D8B2C8B3D813E8B4E814F8B5F8123 -:1010B000588F2E968FAD2E97898F49805A806B80DE -:1010C0007C8091E098A3C3CC20E030E047E053E47B -:1010D0006D817E818F812E969FAD2E970F94205E1D -:1010E00018160CF40ACB89EC99E30F94D0400E94B7 -:1010F00067FD8FE78093080A24EB30E02DCB2F9219 -:101100003F924F925F926F927F928F929F92AF9297 -:10111000BF92CF92DF92EF92FF920F931F93CF93E4 -:10112000DF93EB01FC0180809180A280B380C50138 -:10113000B40120E831E541E050E00F94205BC901A3 -:101140006DE671E00F948F5B6B017C01C501B4010A -:1011500020E13EE040E050E00F94205BCA01B9017D -:1011600028E130E040E050E00F94205B362E272E3F -:10117000062F172F8CE3482E512C612C712CC501A2 -:10118000B401A30192010F94205BB62EA72ECA01D1 -:10119000B901A30192010F94205BCB01C114D104CA -:1011A000D9F0AF92BF927F936F932F923F92FF92AD -:1011B000EF92DF92CF9287E198E39F938F93DF9333 -:1011C000CF930F9462548DB79EB70E960FB6F894D6 -:1011D0009EBF0FBE8DBF5CC0E114F104C9F0AF9299 -:1011E000BF927F936F932F923F92FF92EF9287E08F -:1011F00098E39F938F93DF93CF930F946254EDB74F -:10120000FEB73C960FB6F894FEBF0FBEEDBF40C0D0 -:10121000012BB9F0AF92BF927F936F932F923F92C1 -:101220008BEF97E39F938F93DF93CF930F94625449 -:101230008DB79EB70A960FB6F8949EBF0FBE8DBFAE -:1012400027C0892BA9F0AF92BF927F936F9383EF52 -:1012500097E39F938F93DF93CF930F946254EDB7EF -:10126000FEB738960FB6F894FEBF0FBEEDBF10C0A4 -:10127000AF92BF928FEE97E39F938F93DF93CF93BD -:101280000F9462540F900F900F900F900F900F904B -:10129000DF91CF911F910F91FF90EF90DF90CF9052 -:1012A000BF90AF909F908F907F906F905F904F9086 -:1012B0003F902F9008958F929F92AF92BF92CF92BE -:1012C000DF92EF92FF920F931F93CF93DF93CDB7EF -:1012D000DEB7E6970FB6F894DEBF0FBECDBF009124 -:1012E000590C10915A0C82E080932E0CF801019059 -:1012F0000020E9F731975F01A01AB10AF801CF0188 -:10130000801B910B8A159B0534F480818F3209F480 -:1013100010823196F4CF8BE1E7E6F5E1DE015C96D1 -:1013200001900D928A95E1F7E12CF12CEA14FB046F -:101330000CF084C0F801EE0DFF1D8081811103C007 -:101340008FEFE81AF80A6801CE0CDF1CF6018081E5 -:10135000882309F473C0FFEFEF1AFF0AF801EE0DBE -:10136000FF1D7F01E01AF10A81918111FACFCE01B0 -:101370004C960E9433968BE1FE017C96DE0111961D -:1013800001900D928A95E1F7A601BE016F5F7F4F34 -:1013900080E090E00E947A72CE0101960E946997E7 -:1013A0008FE20E94A66580915D1A811103C08CE9CD -:1013B00096E002C08DE59AE14C01F40181914F0164 -:1013C000882319F00E94A665F8CF8091F51784FF55 -:1013D00035C019821C8221E0A601BE01645E7F4FE8 -:1013E000CE0101960E944C9B811116C08AE00E949A -:1013F000A6650F9450418BED97E30F94D040F60112 -:1014000081916F01882319F00E94A665F8CFCE0163 -:1014100001960E94699712C0CE014C960E94609777 -:101420008BE1FE013196DE015C9601900D928A956A -:10143000E1F7CE0101960E94699778CF8AE00E9479 -:10144000A665CE014C960E946997E6960FB6F89471 -:10145000DEBF0FBECDBFDF91CF911F910F91FF90E7 -:10146000EF90DF90CF90BF90AF909F908F900895B6 -:101470009091F51793FB882780F993FF06C081E0D0 -:1014800090911115911101C080E00895CF93DF93E1 -:10149000E091BC0BF0E0E952F94E8081882309F419 -:1014A00047C08FEC97E30F94D040C091BC0B40E64F -:1014B000C49FE0011124C45CD54F88818E3479F437 -:1014C00080E20E94A66589910E94A665899190EDAF -:1014D000980F9A30C8F38D32B9F38B32A9F38CECA4 -:1014E00097E30F94D0409091F5158091F615981BD5 -:1014F0009F706AE070E02FE030E0A901491B5109BC -:10150000CA010E94366689EC97E30F94D04090910F -:10151000BD0B6AE070E024E030E0A901491B5109ED -:10152000CA010E9436668AE0DF91CF910C94A665CD -:10153000DF91CF9108950E94D16682ED97E30F94D9 -:10154000D0408091550C9091560CA091570CB091C1 -:10155000580CBC01CD016F5F7F4F8F4F9F4F0E9492 -:101560001A660E94BE660C94468A0F931F93CF930F -:101570008C01C62F0F944C41C8010F94D04060914C -:10158000550C7091560C8091570C9091580C0E94FC -:101590001A660E94BE66C11104C00E94D6660196FA -:1015A000E1F70E949B8AEC2FEE0FFF0BED5AF34FF1 -:1015B00011821082CF911F910F9108955F926F92C7 -:1015C0007F928F929F92AF92BF92CF92DF92EF92D3 -:1015D000FF920F931F93CF93DF93CDB7DEB76DB616 -:1015E0007EB67C0100E010E08DB69EB6F701E00FFC -:1015F000F11F5490C80101965C01552029F09AE032 -:10160000591611F08501F2CF8DB79EB78A199B0943 -:101610000FB6F8949EBF0FBE8DBF01966C01A80156 -:10162000B7010F940454F601E00FF11F1082C601B8 -:101630000F94571E552041F0EA0CFB1C0FB6F8948E -:101640009EBE0FBE8DBED0CF0FB6F8947EBE0FBE2D -:101650006DBEDF91CF911F910F91FF90EF90DF90C2 -:10166000CF90BF90AF909F908F907F906F905F9042 -:1016700008951F93CF93DF93CDB7DEB728970FB6AA -:10168000F894DEBF0FBECDBF69837A838B839C83C2 -:101690002D833E834F8358870F94260E882311F0A5 -:1016A00081E026C081E00E9406BB69E170E080E035 -:1016B00090E00F946440BE016B5F7F4FCE010196B6 -:1016C0000E943C791091BE0B147080E00E9406BB12 -:1016D000112321F00F94D70D8111E2CF1092BE0B90 -:1016E00082E00E9477790E94E57981E0111180E023 -:1016F00028960FB6F894DEBF0FBECDBFDF91CF9115 -:101700001F9108958091F5159091F615891B8F70A2 -:101710008F3021F480E00E94EA66F4CF8091F515C5 -:101720008F5F8F70E091F51598E49E9FF001112472 -:10173000E550F34FDF011D929A95E9F798E0908309 -:1017400040910B1650910C1660910D1670910E166B -:10175000458B568B678B708F40910F1650911016EA -:101760006091111670911216418F528F638F748F92 -:10177000409113165091141660911516709116161B -:10178000458F568F678F70A340911716509118168A -:101790006091191670911A1641A352A363A374A302 -:1017A0002091F5159091F615291303C094E69093B6 -:1017B000F2158093F51580916F00826080936F0021 -:1017C00008950F930FB70F9300916E000F930B7F47 -:1017D00000936E0000916F000D7F00936F000F93D8 -:1017E0000BB70F930CB70F921F922F933F934F930A -:1017F0005F936F937F938F939F93AF93BF93EF9379 -:10180000FF9311240E94C4CEFF91EF91BF91AF913D -:101810009F918F917F916F915F914F913F912F9108 -:101820001F900F900CBF0F910BBF0F910260F894A7 -:1018300000936F000F9100936E000F910FBF0F91F7 -:10184000189580912B0A80FF03C089988FEF02C002 -:10185000899A81E08093821280912B0A869580FF7D -:1018600003C08F9A8FEF02C08F9881E0809383121C -:1018700080912B0A8695869580FF08C080910B0188 -:1018800080958270809309018FEF06C080910B01D3 -:1018900082708093090181E08093841280912B0AE9 -:1018A00086958695869580FF03C016988FEF02C0B7 -:1018B000169A81E0809385120000000000000895D0 -:1018C0008091F5159091F615891B8F7019F480E0C1 -:1018D00090E008959091F215992351F0833030F4FF -:1018E0008FEF890F19F08093F215F1CF1092F21556 -:1018F000E091F61588E4E89FF0011124E550F34FDC -:10190000808180FDE4CF8091F6158F5F8F7080938A -:10191000F3159091F6158091F415981304C08091F9 -:10192000F3158093F415CF010895CF92DF92EF92D3 -:10193000FF92CF93DF93EC016A017B0127E137EB44 -:1019400041ED58EBC701B6010F94205E87FD23C01F -:1019500023E030E041EE53E4C701B6010F94CA54CE -:101960001816CCF0C880D980EA80FB8027E137EBDD -:1019700041ED58EBC701B6010F94205E87FD0BC007 -:10198000C1E023E030E84DEE53E4C701B6010F9407 -:10199000CA5418160CF4C0E08C2FDF91CF91FF9041 -:1019A000EF90DF90CF900895CF92DF92EF92FF9269 -:1019B000CF93DF93CDB7DEB728970FB6F894DEBF8D -:1019C0000FBECDBF20E030E040EA50E46091B10CA2 -:1019D0007091B20C8091B30C9091B40C0F94CA54D6 -:1019E0008823E9F01D821E821F821886C12CD12C0B -:1019F00080EAE82E80E4F82EC982DA82EB82FC824B -:101A0000BE016B5F7F4FCE0101960E943C79C09270 -:101A1000B10CD092B20CE092B30CF092B40C2896B8 -:101A20000FB6F894DEBF0FBECDBFDF91CF91FF9010 -:101A3000EF90DF90CF900895BF92CF92DF92EF9218 -:101A4000FF920F931F93CF93DF93CDB7DEB7289705 -:101A50000FB6F894DEBF0FBECDBF90912C0A981739 -:101A600009F47AC0B82E80E090E0A0E2B1E48D8362 -:101A70009E83AF83B887C090870CD090880CE0908D -:101A8000890CF0908A0C20E030E0A901C701B60172 -:101A90000F94CA5487FF0CC0A701960160E070E064 -:101AA00080E291E40F94BF5B6D837E838F83988780 -:101AB00020E030E04BEE53E46D817E818F8198858C -:101AC0000F94205E181644F480E090E0ABEEB3E48F -:101AD0008D839E83AF83B8872D813E814F8158854A -:101AE0006091B10C7091B20C8091B30C9091B40CD8 -:101AF0000F94CA5487FF0BC019821A821B821C8262 -:101B0000BE016F5F7F4FCE0105960E943C796091C8 -:101B1000A90C7091AA0C8091AB0C9091AC0C209107 -:101B2000AD0C3091AE0C4091AF0C5091B00C1982BD -:101B30001A821B821C82E090B10CF090B20C0091D2 -:101B4000B30C1091B40CFE0131966F010E945D78C8 -:101B5000B0922C0A0E94AB7A80E028960FB6F894D7 -:101B6000DEBF0FBECDBFDF91CF911F910F91FF90D0 -:101B7000EF90DF90CF90BF9008952F923F924F92B9 -:101B80005F926F927F928F929F92AF92BF92CF920D -:101B9000DF92EF92FF920F931F93CF93DF93CDB716 -:101BA000DEB764970FB6F894DEBF0FBECDBF9E8739 -:101BB0008D87788B6F87342E222EFC01C080D180D8 -:101BC000E280F380C986DA86EB86FC86FB018080A2 -:101BD0009180A280B380002321F10E94B5A08823C8 -:101BE00009F496C120917F0C3091800C4091810CBA -:101BF0005091820CC701B6010F94BF5B69877A8749 -:101C00008B879C872091830C3091840C4091850CAC -:101C10005091860CC501B4010F94BF5B4B015C0170 -:101C200009C0B501A401CE0109960E94958C8823B4 -:101C300009F46EC1E090B10CF090B20C0091B30CBD -:101C40001091B40C40903F025090400260904102CD -:101C50007090420280E090E0A8ECB2E480933F02F2 -:101C600090934002A0934102B093420219821A82DB -:101C70001B821C8269857A858B859C859E012F5FDE -:101C80003F4F6901A50194010E945D7881E00E94A7 -:101C90001C8D8111C4C080916F1482FF11C02091EE -:101CA000870C3091880C4091890C50918A0C60E02F -:101CB00070E080E490EC0F94BF5B4B015C0106C0C8 -:101CC000812C912C30E2A32E31ECB32E20E030E0B9 -:101CD00040E850E4C501B4010E94398B882329F003 -:101CE00060E070E080EC9FE753C0C090B10CD090F2 -:101CF000B20CE090B30CF090B40C80E090E0A0E85F -:101D0000B0E489839A83AB83BC8320E030E040EA6F -:101D100050E4C701B6010F94C05B6D837E838F834F -:101D20009887BE016F5F7F4FCE0105960E943C7978 -:101D300020E030E040E050E4C501B4010E94398B5E -:101D40008111CECF20E030E040E450E46091B10C4E -:101D50007091B20C8091B30C9091B40C0F943055EB -:101D6000698B7A8B8B8B9C8BA7019601C701B6017F -:101D70000F94C05B9B01AC0169897A898B899C892E -:101D80000F94C05B2DEC3CEC4CE45EE30F943055BB -:101D90002091870C3091880C4091890C50918A0CCD -:101DA0000F94C05B6B018C018EEF830D823050F578 -:101DB00080E090E0A0E8B0E48D839E83AF83B88795 -:101DC0002091B10C3091B20C4091B30C5091B40CF5 -:101DD00083E0381629F060E070E080EA90E404C007 -:101DE00060E070E088EC91E40F94C05B69837A83D3 -:101DF0008B839C83BE016B5F7F4FCE0101960E9457 -:101E00003C7908C0E1E03E1205C080E00E941C8DD4 -:101E1000811105C0F2E0F21508F05BC008C0F2E0E5 -:101E2000F21508F07AC0C12CD12C00EC1FE720EA93 -:101E3000E22E26E0F22EF70181917F01882319F02E -:101E40000E94A665F8CF2091730C3091740C4091DC -:101E5000750C5091760CED85FE85608171818281D3 -:101E600093810F94C05B43E00E94466698EAE92E96 -:101E700096E0F92EF70181917F01882319F00E94E5 -:101E8000A665F8CF2091770C3091780C4091790CB1 -:101E900050917A0CEF85F8896081718182819381FC -:101EA0000F94C05B43E00E9446668DEAE82E86E010 -:101EB000F82EF70181917F01882319F00E94A66511 -:101EC000F8CF43E0B601C8010E9446668AE00E944E -:101ED000A66540923F025092400260924102709289 -:101EE00042029601A801B601C8010F940D5F882334 -:101EF00009F180E00E941C8D60E082E49AE30F9477 -:101F000005080F944C4182E39AE30F94D04012C02D -:101F1000C12CD12C00EC1FE70DC040923F02509223 -:101F200040026092410270924202C12CD12C00EC1E -:101F30001FE7DFCFB601C80164960FB6F894DEBF85 -:101F40000FBECDBFDF91CF911F910F91FF90EF900A -:101F5000DF90CF90BF90AF909F908F907F906F90C9 -:101F60005F904F903F902F900895CF93DF93C09153 -:101F70006E0C82EB96E00E94C4668091690C8730FB -:101F800009F445C083E08093680C81E080933E02B1 -:101F900080E190E090937A168093791685E08093A3 -:101FA0006D16D2E8D093701684E190E1A0E0B0E025 -:101FB0008093711690937216A0937316B093741653 -:101FC0000F94483261E070E080E090E00E949F81D1 -:101FD00081E09AE590937A168093791685E390E0F4 -:101FE00090937C1680937B1687E080936D16D09338 -:101FF000701684E890E0A0E0B0E0809371169093B2 -:102000007216A0937316B09374160F944832C130B1 -:1020100081F1C23059F40F94AA046093600C70935C -:10202000610C8093620C9093630C02C00F94DE04E9 -:1020300081E080936E0C0F946E3E60935C0C709305 -:102040005D0C80935E0C90935F0CC230A1F0809188 -:10205000190A90911A0A019690931A0A8093190A04 -:1020600010926F0C1092700C1092710C1092720CF6 -:1020700002C080E001C081E0DF91CF910895CF934D -:10208000DF9300D01F92CDB7DEB78091180A882366 -:10209000A9F083E390E09C838B831A8219829E01CE -:1020A0002F5F3F4F40E150E069E17AE0CE010396B7 -:1020B0000E94A9638AEC96E00E94C4660F900F907C -:1020C0000F900F90DF91CF910895CF92DF92EF9212 -:1020D000FF920F931F9380916E0C8150823010F00D -:1020E00080E0A7C086E097E00E94C4668091690CFA -:1020F000833009F441C08AEE96E00E94C46686EF00 -:1021000096E00E94C46640E060E070E0CB010F946E -:10211000C80841E060E070E0CB010F94C80881E09E -:10212000809305021092670C21E030E03093660C3A -:102130002093650C80933E0281E09AE590937A1695 -:10214000809379168DE290E090937C1680937B16B5 -:1021500087E080936D1682E88093701684E890E0A3 -:10216000A0E0B0E08093711690937216A09373165E -:10217000B09374160F94483210926E0C0F946E3E0A -:1021800060936A0C70936B0C80936C0C90936D0C45 -:1021900080911B0A90911C0A019690931C0A8093CF -:1021A0001B0AC0906F0CD090700CE090710CF090F6 -:1021B000720C0F94AA0460936F0C7093700C809350 -:1021C000710C9093720C00911D0A10911E0A2091BF -:1021D0001F0A3091200A0C191D092E093F09DC0144 -:1021E000CB01800F911FA21FB31F80931D0A9093F4 -:1021F0001E0AA0931F0AB093200A0F94AA0400910C -:10220000210A1091220A2091230A3091240A0617EC -:1022100017072807390750F40F94AA046093210A7E -:102220007093220A8093230A9093240A0E943F907D -:1022300081E01F910F91FF90EF90DF90CF90089574 -:10224000CF93DF9300D01F921F92CDB7DEB781E00E -:102250008093180AE9E1FAE080E1DF011D928A9596 -:10226000E9F70E943F9086E18D8382E390E09C83B2 -:102270008B831A8219829E012F5F3F4F41E050E00D -:10228000BE016B5F7F4FCE0103960E94A9630F9042 -:102290000F900F900F900F90DF91CF910895CF92F4 -:1022A000DF92EF92FF920F931F93CF93DF93CCE7D0 -:1022B000D1E10DEB1CE0C12CD12C7601C3946991C6 -:1022C0007991899199910F94CF54288939894A89B4 -:1022D0005B890F9430550F94335DF80161937193CE -:1022E000819391938F01C616D706E806F90610F47C -:1022F0006B017C01F1E1CC38DF0709F76FEF7FEF6D -:10230000CB01A70196010F94205B2093CD0C309355 -:10231000CE0C4093CF0C5093D00CDF91CF911F91F6 -:102320000F91FF90EF90DF90CF9008950F931F9340 -:10233000CF93DF9300E911E1C3EDDCE0F8012191D7 -:102340003191419151918F0160E070E080E89FE30D -:102350000F94BA5C6993799389939993FCE0C33E97 -:10236000DF0761F70E94BABADF91CF911F910F91F9 -:102370000C944F919091F5158091F615981306C025 -:102380008091C4119091C511892B21F080E00E94A9 -:10239000EA66F0CF089520919C1130919D114091F3 -:1023A0009E1150919F11FC01608171818281938106 -:1023B0000F9430550F942D5E609317167093181676 -:1023C0008093191690931A169091F5158091F61531 -:1023D00098130C94828B0E94BA9180916F00982F71 -:1023E000927081FF05C080916F008D7F80936F0098 -:1023F00040911716509118166091191670911A167F -:102400004093A4125093A5126093A6127093A71242 -:10241000992329F080916F00826080936F00089566 -:10242000EF92FF920F931F93CF93DF937B018A016B -:10243000E9012091901130919111409192115091A8 -:102440009311FC0160817181828193810F943055D9 -:102450000F942D5E60930B1670930C1680930D16DF -:1024600090930E16209194113091951140919611F0 -:1024700050919711F70160817181828193810F944E -:1024800030550F942D5E60930F1670931016809345 -:102490001116909312162091981130919911409134 -:1024A0009A1150919B11F801608171818281938111 -:1024B0000F9430550F942D5E60931316709314167D -:1024C000809315169093161620919C1130919D11B2 -:1024D00040919E1150919F11688179818A819B81E1 -:1024E0000F9430550F942D5E609317167093181645 -:1024F0008093191690931A169091F5158091F61500 -:10250000981741F0DF91CF911F910F91FF90EF90BD -:102510000C94828B0E94BA9180916F00982F9270D8 -:1025200081FF05C080916F008D7F80936F00409187 -:102530000B1650910C1660910D1670910E1640936B -:1025400098125093991260939A1270939B12409133 -:102550000F1650911016609111167091121640933B -:102560009C1250939D1260939E1270939F12409103 -:10257000131650911416609115167091161640930B -:10258000A0125093A1126093A2127093A3124091D3 -:102590001716509118166091191670911A164093DB -:1025A000A4125093A5126093A6127093A7129923B8 -:1025B00029F080916F00826080936F00DF91CF914E -:1025C0001F910F91FF90EF900895CF93DF93C82F45 -:1025D0000E9493CE24E0C29FE0011124CD52D34F3C -:1025E0000F94D154288139814A815B810F943055F1 -:1025F000DF91CF9108959091F5158091F61598137C -:1026000006C08091C4119091C511892B21F080E002 -:102610000E94EA66F0CF5F9A80916F148E7F80935C -:102620006F148A9A80916F148D7F80936F148091BC -:102630000801809581708093060180916F148B7FD3 -:1026400080936F140C941563CF93DF9390916F0078 -:10265000292F227091FF05C090916F009D7F90936C -:102660006F0094E0899FA0011124FA01E457FD4E08 -:102670006081718182819381222329F020916F00F2 -:10268000226020936F00EA01CD52D34F0F94D154B2 -:10269000288139814A815B810F943055DF91CF9138 -:1026A000089580916F00982F927081FF05C08091EE -:1026B0006F008D7F80936F008091F6158093F515E4 -:1026C0008093F4158093F31584E68093F21528EE39 -:1026D00033E03093C5112093C411992329F08091E0 -:1026E0006F00826080936F0081E080938B12089569 -:1026F000CF92DF92EF92FF92CF93DF9320915B0C0A -:10270000222349F1EC0108960F94DB0F6B017C0149 -:1027100020E030E0A9010F94CA54882379F0BE016B -:102720006C5F7F4FCE010E94EF9E9B01AC01C70101 -:10273000B6010F9430559B01AC0103C020E030E09E -:10274000A901688579858A859B850F94BF5B688719 -:1027500079878A879B87DF91CF91FF90EF90DF90F9 -:10276000CF9008958F929F92AF92BF92EF92FF9277 -:102770000F931F93CF93DF9320915B0C222349F19A -:10278000EA017B018C01CA010F94DB0F4B015C0154 -:1027900020E030E0A9010F94CA54882369F0B70102 -:1027A000C8010E94EF9E9B01AC01C501B4010F94CA -:1027B00030559B01AC0103C020E030E0A9016881E5 -:1027C00079818A819B810F94C05B688379838A8336 -:1027D0009B83DF91CF911F910F91FF90EF90BF905E -:1027E000AF909F908F9008958F929F92AF92BF92DB -:1027F000CF92DF92EF92FF920F931F93CF93DF93CD -:10280000EC018B81811102C080E078C009891A89AE -:102810002B893C890417150726073707A8F36A0197 -:102820007B01823029F4C886D986EA86FB860DC0F2 -:10283000C114D104E104F10451F4188619861A86F2 -:102840001B861C821D821E821F8281E057C08884E5 -:102850009984AA84BB84E98DFA8D258530E0275FB1 -:102860003F4FB501A4014150510961097109022E80 -:1028700004C076956795579547950A94D2F7D70186 -:10288000C6010197A109B10904C0B695A79597950E -:1028900087952A95D2F784179507A607B70720F0E2 -:1028A00089288A288B2871F44D895E896F89788DF3 -:1028B0004C835D836E837F834C015D018E010C5FD1 -:1028C0001F4F16C0841B950BA60BB70BF5CF4C8181 -:1028D0005D816E817F819801898D9A8D0E947376CA -:1028E00091E0891A9108A108B108882309F48CCFD6 -:1028F00081149104A104B10451F795CFDF91CF91D8 -:102900001F910F91FF90EF90DF90CF90BF90AF900D -:102910009F908F9008950F931F93CF93DF93FC01A7 -:102920002381222311F080E044C08B01EC01FB01E4 -:102930008789803139F18032B1F783E08B83F801E8 -:10294000428D538D648D758D4D8B5E8B6F8B788F23 -:102950009E012F5E3F4FC8010E94F476882319F331 -:102960001A8F098F81E08983188619861A861B863B -:102970001C821D821E821F82188A1C861D861E864E -:102980001F8617C082E08B831D8A1E8A1F8A188EBD -:10299000FB01808D918DA0E0B0E025E0880F991FAC -:1029A000AA1FBB1F2A95D1F7898B9A8BAB8BBC8B47 -:1029B000D7CFDF91CF911F910F910895CF93DF93E0 -:1029C000EC0141E0611101C040E06C857D858E85A0 -:1029D0009F850E94A875882341F0888920E2829F04 -:1029E000C00111248E5A974E02C080E090E0DF9122 -:1029F000CF910895CF93DF93EB01FC012381211147 -:102A000002C080E028C02250223020F48FE2888368 -:102A1000198220C060E00E94DE94009791F3FC01CF -:102A200090E080E02EE23081303269F0883029F485 -:102A3000DE01A90FB11D2C939F5FDE01A90FB11D0F -:102A400030813C939F5F8F5F31968B3061F7C90F68 -:102A5000D11D188281E0DF91CF9108953F924F926E -:102A60005F926F927F928F929F92AF92BF92CF921E -:102A7000DF92EF92FF920F931F93CF93DF93CDB727 -:102A8000DEB72C970FB6F894DEBF0FBECDBF5C014A -:102A9000DC0159968D909C905A97F401818592851E -:102AA000A385B4859C01AD012F5F3F4F4F4F5F4F12 -:102AB00029873A874B875C87D5011496CD90DD90A6 -:102AC000ED90FC901797C114D104E104F10439F0A2 -:102AD000BFEFCB1ADB0AEB0AFB0A312C07C0F4016B -:102AE000C080D180E280F380332433942601370103 -:102AF0001D821E821F821886F40181859285A3851E -:102B0000B4852D813E814F815885281739074A07A2 -:102B10005B0708F064C089859A85AB85BC858C15F8 -:102B20009D05AE05BF0550F482E0C82ED12CE12CE6 -:102B3000F12C92E0492E512C612C712C9E012F5FBB -:102B40003F4FB701A601C4010E947376882309F4A0 -:102B500046C089819A81AB81BC81892B8A2B8B2BC2 -:102B600041F0260137019FEF491A590A690A790A8B -:102B700005C0C414D504E604F70491F02D813E810C -:102B80004F8158852F5F3F4F4F4F5F4F2D833E83BF -:102B90004F8358873FEFC31AD30AE30AF30AACCF37 -:102BA0000FEF1FEF2FEF3FE0B301A201C4010E941E -:102BB000E175F82E882399F0D50114964D915D9119 -:102BC0006D917C911797411551056105710549F08B -:102BD00093018201C4010E94E175811102C0F12CB0 -:102BE00029C0D50114964D925D926D927C921797F3 -:102BF000332051F0D301C2010196A11DB11DF40192 -:102C000080839183A283B383F50185899689A789FF -:102C1000B08D892B8A2B8B2B69F4D50155964D925B -:102C20005D926D927C92589711968C911197806865 -:102C300011968C938F2D2C960FB6F894DEBF0FBE95 -:102C4000CDBFDF91CF911F910F91FF90EF90DF905B -:102C5000CF90BF90AF909F908F907F906F905F903C -:102C60004F903F90089540E050E0BA010C94F493E7 -:102C700061E0FC0180810F94E13C8FEF0C94C16E08 -:102C8000EF92FF921F93CF93DF9300D01F92CDB7A7 -:102C9000DEB77C01162F29833A834B835C83FC01CA -:102CA00082810E94CD6E60E0F70180810F94E13C4B -:102CB0000F949F33812F80640E94C16E8C810E948B -:102CC000C16E8B810E94C16E8A810E94C16E898112 -:102CD0000E94C16E112311F087E801C085E90E94AE -:102CE000C16E1C3011F40E94C66E10E00E94C66EC8 -:102CF000F701838387FF04C01F3F11F01F5FF6CFEA -:102D00000F900F900F900F90DF91CF911F91FF9038 -:102D1000EF9008950F931F93CF93DF93EC018901F8 -:102D20008C81833039F089E0440F551F661F771F6F -:102D30008A95D1F79A01AB0168E1CE010E944096D5 -:102D4000811128C08EEF8EBDF801C8019E5F0DB4C1 -:102D500007FEFDCF20812EBD0DB407FEFDCF2181E2 -:102D60002EBD32968E179F0791F70DB407FEFDCF4B -:102D70008FEF0E94C16E8FEF0E94C16E0E94C66EDF -:102D80008B838F71853041F083E18983CE010E946E -:102D9000389619C086E016C00F949F33882379F0C7 -:102DA00020E030E0A9016DE0CE010E944096811143 -:102DB00008C00E94C66E811104C011E005C087E101 -:102DC00001C086E1898310E0CE010E943896812FF0 -:102DD000DF91CF911F910F910895CF9380915A1A4F -:102DE0008823B9F14091521A5091531A6091541AA4 -:102DF0007091551A22E538E180915B1A90915C1A26 -:102E00000E948A96C82F811102C0C0E023C0409161 -:102E1000561A5091571A6091581A7091591A4115C3 -:102E200051056105710591F022E538E180915B1A49 -:102E300090915C1A0E948A96882339F31092561A50 -:102E40001092571A1092581A1092591A10925A1A30 -:102E500001C0C1E08C2FCF910895CF93DF93EC0197 -:102E60008B81882339F1898187FF20C061E0CE0101 -:102E70000E94DE94FC01892BE9F08081853ED1F02F -:102E80008B81823040F489899A89AB89BC89848F8F -:102E9000958FA68FB78F8D899E89AF89B88D938FB7 -:102EA000828FB58BA48B89818F778983DF91CF91B6 -:102EB0000C94ED9681E0888380E0DF91CF910895B6 -:102EC000CF93DF93EC010E942D971B82DF91CF916E -:102ED0000895FC01238121110C9460970895CF92ED -:102EE000DF92EF92FF920F931F93CF93DF93EC014A -:102EF00089018C81833039F089E0440F551F661FAA -:102F0000771F8A95D1F79A01AB0161E1CE010E944A -:102F10004096882339F084E08983CE010E94389658 -:102F200080E03EC00F946E3E6B017C012CE2C20E2D -:102F300021E0D21EE11CF11C0E94C66E8B838F3FE4 -:102F400061F40F946E3EDC01CB018C199D09AE0932 -:102F5000BF09B7FDF1CF81E11DC08E3FD1F48FEFE6 -:102F60008EBDF801D801A150BE4F0DB407FEFDCFB4 -:102F70009EB591938EBDEA17FB07B9F70DB407FE16 -:102F8000FDCF8EB58C930E94C66E0E94C66E11E076 -:102F900003C08FE0898310E0CE010E943896812F14 -:102FA000DF91CF911F910F91FF90EF90DF90CF9025 -:102FB00008952F923F924F925F926F927F928F92DD -:102FC0009F92AF92BF92CF92DF92EF92FF920F93B8 -:102FD0001F93CF93DF9300D01F92CDB7DEB79C83B2 -:102FE0008B834B015A01DC0113968C91811103C034 -:102FF0008FEF9FEFE3C0EB81FC81818180FFF8CFF1 -:10300000EB81FC8181899289A389B48940855185AE -:1030100062857385841B950BA60BB70BA50160E039 -:1030200070E084179507A607B70708F45C017501DF -:103030008B819C8104969A838983612C42E0742E53 -:10304000E114F10409F48BC0AB81BC8118964D9159 -:103050005D916D917C911B976A01B1E0DB22EB8160 -:10306000FC812381818D928D1A012B0139E05694C8 -:103070004794379427943A95D1F7223061F4FC01B4 -:10308000828D938DA48DB58DBC01CD01620D731D14 -:10309000841D951D4AC0DC0114961C91115012210B -:1030A000C114D10401F511111EC0452B462B472B2D -:1030B00059F4EB81FC8185899689A789B08D848339 -:1030C0009583A683B7830FC0AB81BC8114964D91C5 -:1030D0005D916D917C91179729813A810E94737659 -:1030E000882309F485CFEB81FC81218D328D848189 -:1030F0009581A681B7810297A109B109F9010584DB -:1031000004C0880F991FAA1FBB1F0A94D2F74685D7 -:10311000578560897189840F951FA61FB71FBC0151 -:10312000CD01610F711D811D911D93012C193D0968 -:1031300087012E153F0508F489010115F2E01F07EC -:1031400079F52091521A3091531A4091541A5091A6 -:10315000551A621773078407950719F421C0C50132 -:103160002DC09401AB01BC0180915B1A90915C1A57 -:103170000E946F97882309F43BCF800E911EEB814C -:10318000FC8180859185A285B385800F911FA11D4B -:10319000B11D80879187A287B387E01AF10A50CFCB -:1031A00040E00E94A875882309F422CFB6016E5A28 -:1031B000774EA801C4010F943F60DFCF0F900F90AE -:1031C0000F900F90DF91CF911F910F91FF90EF9093 -:1031D000DF90CF90BF90AF909F908F907F906F9037 -:1031E0005F904F903F902F900895DF92EF92FF9263 -:1031F0000F931F93CF93DF938C01EB017A018DE046 -:10320000D82E40E250E0BE01C8010E94D99780321A -:10321000910539F021E0892B09F420E0822F819576 -:1032200044C028812223C9F1253E11F02E3231F409 -:10323000E114F10431F3F7011082E3CFE114F1045A -:1032400041F13B853F733F3021F54A8D5B8D452B26 -:1032500001F52F713FEF320F3530D8F430E02150B7 -:103260003109D29EC001D39E900D1124D701A80F21 -:10327000B91FFE0120E0AD01253088F431813D9376 -:103280002F5F32962D30C1F7288126FF02C0FA0148 -:1032900015862B8523FDB5CF08C080E006C02B30F6 -:1032A00010F43481ECCF3681EACFDF91CF911F91BA -:1032B0000F91FF90EF90DF9008954F925F926F9281 -:1032C0007F929F92AF92BF92CF92DF92EF92FF9246 -:1032D0000F931F93CF93DF931F92CDB7DEB78C016F -:1032E0007B015A01C22EDB0159968D919C915A9710 -:1032F000F801928F818FCB010E943396912CF701B8 -:1033000080859185A285B3854189528963897489B5 -:1033100084179507A607B70708F060C025E0B695A3 -:10332000A795979587952A95D1F7F82FFF70DF2EEF -:10333000D70113968C91823008F460C041E050E0D0 -:10334000BE016F5F7F4FC7010E94D997019719F4A3 -:10335000898190E002C08FEF9FEF019609F44EC083 -:10336000F70180859185A285B3854F96A11DB11D7A -:1033700080879187A287B387F0E2DF9EB001112496 -:103380006E5A774E61157105C9F1DB018C91882366 -:1033900019F0853EC1F46CC191100EC08091521A93 -:1033A0009091531AA091541AB091551AF80184873C -:1033B0009587A687B787D08ADB018C91882361F037 -:1033C000992493949CCF4BE050E0C5010F94326058 -:1033D000892B09F094CF14C0992493948C2D827476 -:1033E000823461F4992009F48BC0F801D08861E03F -:1033F000C8010E94DE94009709F00DC180E03BC136 -:10340000C7FCFCCFF0E2DF9EA00111249A012E5AE6 -:10341000374ED9011B968C91817121F08C2D8271D0 -:1034200009F06AC08091521A9091531AA091541ACF -:10343000B091551AF80184879587A687B787D08AF7 -:10344000CA018E5A974E7C01DC0154964D915C91D5 -:10345000559760E070E0DA0199278827858B968B75 -:10346000A78BB08FF701428D538D60E070E0482B41 -:10347000592B6A2B7B2BD80155964D935D936D93F9 -:103480007C935897F9018385887161F4F701848DE5 -:10349000958DA68DB78DF801818B928BA38BB48B04 -:1034A00081E010C0803141F598012F5E3F4FD80177 -:1034B00059968D919C915A970E94F4768823E1F059 -:1034C00084E0F80183838C2D8F70D80111968C9342 -:1034D0001197F801148215821682178218961D9290 -:1034E0001D921D921C921B97C4FEB5C0C8010F947B -:1034F000C3338111B0C082CFD80113961C927ECF06 -:10350000D70113968C911397823009F477CF519697 -:103510008D919D910D90BC91A02D803E9F4FAF410C -:10352000B10508F06BCFC7010E942E95882309F4DE -:1035300065CF0E94ED96882309F460CFD701599694 -:103540002D913C915A9714968D919D910D90BC911F -:10355000A02D0297A109B109F901058404C0880FC3 -:10356000991FAA1FBB1F0A94D2F74684578460880C -:103570007188480E591E6A1E7B1E81E080935A1A7C -:103580004092521A5092531A6092541A7092551ADD -:1035900080E092E0E2E5F8E1DF019C011D9221501C -:1035A0003040E1F7DD24D394D7015996ED91FC9199 -:1035B0005A978481D81698F422E538E1B301A20124 -:1035C0004D0D511D611D711D80915B1A90915C1A0A -:1035D0000E948A96882309F411CFD394E5CF80E026 -:1035E00092E0A0E0B0E0058404C0880F991FAA1FF4 -:1035F000BB1F0A94D2F7F701418952896389748904 -:10360000840F951FA61FB71F818B928BA38BB48B42 -:1036100082E598E1D12C20E2DC011D922A95E9F7A0 -:103620002BE0F501DC0101900D922A95E1F721E2F2 -:1036300038E2FC01318B208B40E058E05787468709 -:10364000338B228B318F208F578B468B0E94ED96C8 -:103650008111D8CED3CEC5FE09C0F8014189528967 -:1036600063897489C8010E94F49305C081E003C096 -:103670009110A6CE93CE0F90DF91CF911F910F9115 -:10368000FF90EF90DF90CF90BF90AF909F907F9092 -:103690006F905F904F9008952F923F924F925F925C -:1036A0006F927F928F929F92AF92BF92CF92DF9252 -:1036B000EF92FF920F931F93CF93DF93CDB7DEB7B7 -:1036C000C254D1090FB6F894DEBF0FBECDBF4C0176 -:1036D0005B016A01322E19821C821C8E1F8E6115BD -:1036E000710511F410E0A6C0FC0183818111FACFAD -:1036F000FA0180818F3209F09BC0F50183818250ED -:10370000823010F485010CC0F501618D728DCE01FF -:103710004C960E948B94882329F38E01045E1F4FE0 -:10372000C6016C010196F60120812F32D1F3CE0142 -:1037300001967C013C012E019CE1490E511C23960F -:10374000EFAE23972F2C9BE09150E7E3F0E0EC0FD6 -:10375000FD1FE90FF11D80E280839111F5CF9601E5 -:1037600047E0D9018D91882369F18F3259F18E326A -:1037700039F44A3009F4B6CF98E04AE09D01F1CF20 -:10378000E3E6FAE32491222321F031968213FACF63 -:10379000A9CF491708F4A6CF813208F4A3CF8F37F9 -:1037A00009F4A0CF21E0290FE7E3F0E0EC0FFD1FC3 -:1037B000E90FF11D9FE9980F9A3108F48052808338 -:1037C000922FDCCF8FA9803209F48CCF6901F901E7 -:1037D00080812F5F3F4F8F32C9F38823F9F021E0BA -:1037E000AE01495C5F4FB801C7010E945D99882313 -:1037F00009F478CF0A151B0519F0C8010E946097DB -:103800006E147F0441F023969FAD2397822D87018C -:10381000E92EF82E98CF942D852DF9CF232DAE01CA -:10382000495C5F4FB801C4010E945D99182F02C026 -:103830008B017DCFCE014C960E946997CE010196F7 -:103840000E946997812FCE5BDF4F0FB6F894DEBFE1 -:103850000FBECDBFDF91CF911F910F91FF90EF90E1 -:10386000DF90CF90BF90AF909F908F907F906F90A0 -:103870005F904F903F902F900895CF93C82F0F9453 -:10388000504184E50E94A6656AE070E08C2F90E0CC -:103890000E94366680E20E94A66581E59AE3CF9198 -:1038A0000D94D04020911202309113022F50310913 -:1038B000821793070CF49C013093ED0C2093EC0CD1 -:1038C00080E00C9487FD20E030E040E450E40F9469 -:1038D000BF5B2AE939E941E352E40F94C05B27E278 -:1038E00031E848E35CE30F9430550F942C5D66306B -:1038F00010F4862F08958FEF089520E030E040E423 -:1039000050E40F94BF5B23E333E34BE352E40F94A3 -:10391000C05B21EF3AE04FE25CE30F9430550F9427 -:103920002C5D663010F4862F08958FEF08951F9355 -:10393000CF93DF93182F87E00F948840C0E0D0E04A -:1039400080E20E94A6656AE070E0CE010E943666C1 -:10395000812F0F9488402196C630D10589F76AE0FF -:1039600070E080E090E0DF91CF911F910D94644072 -:103970008F929F92AF92BF92CF92DF92EF92FF927F -:103980000F931F93CF93DF93EC017B018A016901B1 -:10399000FB012081318142815381688179818A8153 -:1039A0009B810F94C05B688379838A839B83F80132 -:1039B00020813181428153816C817D818E819F8103 -:1039C0000F94C05B6C837D838E839F83F60120817F -:1039D000318142815381688579858A859B850F94E1 -:1039E000C05B688779878A879B87F70160817181CF -:1039F000828193819B01AC010F9430559B01AC01F6 -:103A00006C857D858E859F850F94C05B6C877D87D7 -:103A10008E879F87F80160817181828193819B01EC -:103A2000AC010F9430559B01AC01688979898A8972 -:103A30009B890F94C05B688B798B8A8B9B8BF6017B -:103A400060817181828193819B01AC010F9430551B -:103A50009B01AC016C897D898E899F890F94C05B25 -:103A60006C8B7D8B8E8B9F8BF80120813181428105 -:103A70005381F70160817181828193810F94305568 -:103A80009B01AC01688D798D8A8D9B8D0F94C05BF5 -:103A9000688F798F8A8F9B8FF601208131814281D7 -:103AA0005381F70160817181828193810F94305538 -:103AB0009B01AC016C8D7D8D8E8D9F8D0F94C05BB5 -:103AC0006C8F7D8F8E8F9F8FF60120813181428197 -:103AD0005381F80160817181828193810F94305507 -:103AE0009B01AC0168A179A18AA19BA10F94C05B45 -:103AF00068A379A38AA39BA38CA09DA0AEA0BFA01E -:103B0000F701C080D180E280F38020E030E0A9019D -:103B1000C701B6010F94205E87FF04C0F7FAF09446 -:103B2000F7F8F094A7019601B401C5010F94CA54A7 -:103B300087FD02C064017501CCA2DDA2EEA2FFA246 -:103B400088A499A4AAA4BBA4F801C080D180E28073 -:103B5000F38020E030E0A901C701B6010F94205E98 -:103B600087FF04C0F7FAF094F7F8F0949401A501E8 -:103B7000C701B6010F94205E181614F06401750198 -:103B8000C8A6D9A6EAA6FBA620E030E040E85FE39D -:103B900068AD79AD8AAD9BAD0F94C05B68AF79AF6E -:103BA0008AAF9BAFDF91CF911F910F91FF90EF9064 -:103BB000DF90CF90BF90AF909F908F90089584EB4F -:103BC0009AE30D94162680913F1890914018009723 -:103BD00031F04AE050E060E070E00D94C05160E0E8 -:103BE00070E0CB0108950E94E39DCB0108950F93EF -:103BF0001F93CF9380913F1890914018009711F137 -:103C0000FC018F01C1912C2F2F7DA9F0C53411F03B -:103C1000C536B9F7F801108260E070E080913F1876 -:103C2000909140180F946450F801C083562F472F8D -:103C3000382F292F0BC060E070E0CF911F910F91BA -:103C40000D94645050E040E030E020E0652F742F88 -:103C5000832F922FCF911F910F91089581548A3114 -:103C600008F042C0E82FF0E040914A1450914B1404 -:103C700060914C1470914D1404C0769567955795DA -:103C800047958A95D2F7842F817040FF2FC0E05D61 -:103C9000FB4E9081992309F1E091A30CF091A40CC3 -:103CA000E90FF11D908120ED290F2A3098F09E3206 -:103CB00011F491810CC09D3211F09B3271F491810D -:103CC00020ED290F2A3030F09E3239F49281905342 -:103CD0009A3018F42E2F9F2F02C020E090E02093FE -:103CE0003F1890934018089580E0089508950E9429 -:103CF0002E9E882341F081E020913F18309140189A -:103D0000232B09F480E00895CF93DF93EB010E9409 -:103D1000779E882321F0DF91CF910C94F39DCE0103 -:103D2000DF91CF910895E82FF0E0863078F4EE0F20 -:103D3000FF1FEE0FFF1FE65DF04B4591559165911A -:103D40007491F42FE52F362F272F16C0BF01FF0FD8 -:103D5000880B990B0F94D1542AE939E941EB52E4CD -:103D60000F94305520E030E040E450E40F94C05B05 -:103D7000F62FE72F382F292F6F2F7E2F832F922F8B -:103D80000895E82FF0E0863078F4EE0FFF1FEE0F75 -:103D9000FF1FE659F04B4591559165917491F42FB1 -:103DA000E52F362F272F16C0BF01FF0F880B990B69 -:103DB0000F94D15423E333E34BEB52E40F9430558B -:103DC00020E030E040E450E40F94C05BF62FE72F92 -:103DD000382F292F6F2F7E2F832F922F08952F9208 -:103DE0003F924F925F926F927F928F929F92AF928B -:103DF000BF92CF92DF92EF92FF920F931F93CF93D8 -:103E0000DF93CDB7DEB762970FB6F894DEBF0FBE73 -:103E1000CDBF9A838983788B6F87FC0180809180E6 -:103E2000A280B38020E030E040E450E4C501B4015A -:103E30000F94205E87FD24C020E030E84BEE53E471 -:103E4000C501B4010F94CA541816D4F0EF85F8894F -:103E5000C080D180E280F38020E030E040E450E494 -:103E6000C701B6010F94205E87FD0AC020E030E84C -:103E70004FED53E4C701B6010F94CA54181624F449 -:103E8000C12CD12C760156C120E030E040E450E452 -:103E9000C501B4010F94BF5B21EF3AE04FE25CE350 -:103EA0000F9430550F942C5D698B66301CF0F5E053 -:103EB000F98B03C0298927FD198A20E030E040E40E -:103EC00050E4C701B6010F94BF5B27E231E848E335 -:103ED0005CE30F9430550F942C5D6A8B66301CF0B8 -:103EE00035E03A8B03C04A8947FD1A8A5989252E45 -:103EF000550F3308C101E5E02E16310414F084E0BB -:103F000090E09C012F5F3F4F3E872D8739893F5FAF -:103F10003D83832F0E94C19E69877A878B879C8708 -:103F200089890E94C19E6B017C0186E0829DF0011F -:103F3000839DF00D11244A89042F440F110BE00FCB -:103F4000F11FEE0FFF1FEE0FFF1FE852FE4E4080E5 -:103F50005180628073802D853E85829FF001839F12 -:103F6000F00D1124E00FF11FEE0FFF1FEE0FFF1FEA -:103F7000E852FE4EA301920160817181828193819A -:103F80000F94BF5B4B015C01A7019601E981FA81A7 -:103F900060817181828193810F94BF5B9B01AC0131 -:103FA000C501B4010F9430554B015C01A701960186 -:103FB00069857A858B859C850F94BF5B9B01AC01DD -:103FC000C501B4010F94BA5CA30192010F94C05BC8 -:103FD00069877A878B879C87C8010530110514F0A3 -:103FE00084E090E05C01FFEFAF1ABF0A8D810E9470 -:103FF000C19E6D837E838F83988789890E94C19E2D -:104000006B017C0126E0229DC001239D900D1124AF -:10401000FC01EA0DFB1DEE0FFF1FEE0FFF1FE85224 -:10402000FE4E40805180628073804D855E85249F66 -:10403000C001259F900D1124FC01EA0DFB1DEE0F20 -:10404000FF1FEE0FFF1FE852FE4EA3019201608199 -:104050007181828193810F94BF5B4B015C01A70149 -:104060009601E981FA8160817181828193810F9447 -:10407000BF5B9B01AC01C501B4010F9430554B01EE -:104080005C01A70196016D817E818F8198850F94D7 -:10409000BF5B9B01AC01C501B4010F94BA5CA301E5 -:1040A00092010F94C05B2B013C018A898F5F0E94B3 -:1040B000939E69837A838B839C838A890E94939ED3 -:1040C0006B017C019B01AC01EF85F88960817181F6 -:1040D000828193810F94BF5B4B015C0129853A85F6 -:1040E0004B855C85C301B2010F94BF5B9B01AC01A2 -:1040F000C501B4010F9430554B015C01A701960135 -:1041000069817A818B819C810F94BF5B9B01AC019B -:10411000C501B4010F94BA5C29853A854B855C854D -:104120000F94C05B6B017C019B01AC010F940D5F90 -:104130008111A6CEC701B60162960FB6F894DEBF14 -:104140000FBECDBFDF91CF911F910F91FF90EF90E8 -:10415000DF90CF90BF90AF909F908F907F906F90A7 -:104160005F904F903F902F9008954F925F926F9283 -:104170007F928F929F92AF92BF92CF92DF92EF92F7 -:10418000FF921F93CF93DF93CDB7DEB72C970FB677 -:10419000F894DEBF0FBECDBFDB01CD90DD90ED907A -:1041A000FC902091830C3091840C4091850C5091AF -:1041B000860C2D833E834F835887DC018D909D9024 -:1041C000AD90BC9020917F0C3091800C4091810C7F -:1041D0005091820C29873A874B875C87C501B401CF -:1041E0000F94BF5B69837A838B839C832D813E818F -:1041F0004F815885C701B6010F94BF5BAB01BC016D -:10420000CE0101960E94958C182F882309F4A9C02D -:1042100020E030E0A90169857A858B859C850F9423 -:10422000C05B2B013C0120E030E040E450E40F94FF -:10423000CA5487FF05C0412C512C30E4632E762CE4 -:1042400027E137EB41ED58E3C301B2010F94BF5BA7 -:104250009B01AC01C501B4010F94205E87FD80C0B5 -:1042600020E030E84DEE53E469857A858B859C85A6 -:104270000F94C05B2B013C0120E030E84BEE53E48F -:104280000F94205E18163CF4412C20E8522E2BEEA1 -:10429000622E23E4722E27E137EB41ED58E3C30190 -:1042A000B2010F94C05B9B01AC01C501B4010F9436 -:1042B000CA5418160CF454C020E030E0A9016D81F6 -:1042C0007E818F8198850F94C05B4B015C0120E05B -:1042D00030E040E450E40F94CA5487FF05C0812CBD -:1042E000912C90E4A92EBA2C27E137EB41ED58E34D -:1042F000C501B4010F94BF5B9B01AC01C701B601BE -:104300000F94205E87FD2CC020E030E041EE53E4A6 -:104310006D817E818F8198850F94C05B4B015C011C -:1043200020E030E84FED53E40F94205E18163CF483 -:10433000812C80E8982E8FEDA82E83E4B82E27E1FB -:1043400037EB41ED58E3C501B4010F94C05B9B010D -:10435000AC0111E0C701B6010F94CA5418160CF451 -:1043600010E0812F2C960FB6F894DEBF0FBECDBFA4 -:10437000DF91CF911F91FF90EF90DF90CF90BF9092 -:10438000AF909F908F907F906F905F904F90089527 -:10439000681779070CF4CB010895861797070CF47A -:1043A000CB0108950F931F93CF93DF93CDB7DEB763 -:1043B0006F970FB6F894DEBF0FBECDBF9F8F8E8F65 -:1043C00081E080938B0C88E08B838EE18C838E8DD3 -:1043D0009F8D8370992721E0892B09F020E02D83A0 -:1043E00021E08E8D9F8D019709F020E02E8321E042 -:1043F0008E8D9F8D029709F020E02F838E8D9F8DEB -:104400008470992721E0892B09F420E028878DE921 -:104410009AE30F94D0408D81882379F189E99AE35A -:104420000F94D04062EC71E08FEB91E00E94C8A144 -:104430008C0160E070E083E090E00E94CDA1A801D3 -:10444000BC0184E00F94934062EC71E08FEB91E04B -:104450000E94C8A18C016BED71E087ED91E00E9494 -:10446000C8A1A801BC018EE10F9493408AE00E948C -:10447000A66586E00E94979C0EC083E99AE30F949C -:10448000D0408E81882319F08DE89AE302C087E836 -:104490009AE30F94D0408091A90C9091AA0CA0911E -:1044A000AB0CB091AC0C20917F0C3091800C409102 -:1044B000810C5091820CBC01CD010F94C05BDC01DA -:1044C000CB018A8F9B8FAC8FBD8F8A8D9B8DAC8DDE -:1044D000BD8DBC01CD010E947D9C082E000C990B66 -:1044E000AA0BBB0BBC01CD010F94D154DC01CB0155 -:1044F00089879A87AB87BC878091AD0C9091AE0C71 -:10450000A091AF0CB091B00C2091830C3091840C31 -:104510004091850C5091860CBC01CD010F94C05B7D -:10452000DC01CB018E8B9F8BA88FB98F8E899F89E1 -:10453000A88DB98DBC01CD010E94639C082E000C92 -:10454000990BAA0BBB0BBC01CD010F94D154DC011C -:10455000CB018D879E87AF87B88B9F8181E08927AC -:10456000882319F08AE00E94A66585E08983898105 -:1045700088230CF4F4C08D81882391F089818A30DE -:104580001CF480E20E94A6658981082E000C990B1C -:104590006AE070E00E94366684E89AE30F94D040A7 -:1045A0001A828A81863008F0BFC08A81882F90E005 -:1045B000092E000CAA0BBB0BBC01CD010F94D154EA -:1045C000DC01CB0129853A854B855C85BC01CD0199 -:1045D0000F94CA548823C1F48981082E000C990BCA -:1045E000AA0BBB0BBC01CD010F94D154DC01CB0154 -:1045F0002D853E854F855889BC01CD010F94CA5445 -:10460000882311F481E001C080E0898B8D818823AB -:1046100041F08989882311F08BE501C080E20E9476 -:10462000A6658A81282F30E08981482F880F550B95 -:10463000C901880F991F820F931F880F991F840F3C -:10464000951F880F991F880F991F88529E4EFC0155 -:1046500080819181A281B3818A8B9B8BAC8BBD8B36 -:104660008F81882309F045C02A893B894C895D895F -:104670006A897B898C899D890F940D5F882359F005 -:104680008D81882319F08DE79AE302C089E79AE3C8 -:104690000F94D0402EC08D81882319F48E818823F9 -:1046A00041F18D818823D9F020E030E0A9016A89A9 -:1046B0007B898C899D890F94205E882384F020E07B -:1046C00030E0A9016A897B898C899D890F94205EDD -:1046D000181614F48BE201C080E20E94A6658A8954 -:1046E0009B89AC89BD8943E050E0BC01CD010E94AB -:1046F000BC668E81882331F08A81853018F489E088 -:104700000E94A6658D81882341F08989882311F054 -:104710008DE501C080E20E94A66580E00E94EA6605 -:104720008A818F5F8A833DCF9F8181E0892788239B -:1047300019F08AE00E94A6658981882361F08D8145 -:10474000882349F0988581E08927882321F083E731 -:104750009AE30F94D04089818150898308CF8D815D -:10476000882381F186E00E94979C8AE00E94A665DA -:1047700060E070E083E090E00E94CDA18C0160E0F9 -:1047800070E083E090E00E94CDA1A801BC0184E02C -:104790000F94934060E070E083E090E00E94CDA130 -:1047A0008C016BED71E087ED91E00E94C8A1A8013A -:1047B000BC018EE10F9493408AE00E94A6658AE0D6 -:1047C0000E94A66510928B0C6F960FB6F894DEBF10 -:1047D0000FBECDBFDF91CF911F910F9108956F92C2 -:1047E0007F928F929F92AF92BF92CF92DF92EF9281 -:1047F000FF920F931F93CF93DF93CDB7DEB7C554CE -:10480000D1090FB6F894DEBF0FBECDBF19820F9449 -:10481000DD2B882309F00CC76FEF7FEF80E50E9446 -:10482000849E8A878A85813059F08A85823041F05A -:104830008A85843029F08AE40E942E9E882311F014 -:1048400081E001C080E08B878B85882359F00E942E -:10485000BA9141E061E081E00E9459C0882311F0E3 -:104860000E94DF9D89E40E942E9E882309F4BFC028 -:104870001A8280913F189091401821E0892B09F409 -:1048800020E0222319F00E94F39D02C081E090E015 -:1048900090935F1480935E1480915E1490915F14E6 -:1048A00084973CF060E070E080EC9FE70F94C43E9A -:1048B0009AC080915E1490915F149C01215031093F -:1048C00030935F1420935E1421E0892B09F420E0DB -:1048D000222309F488C08A81853120F01A8280E081 -:1048E0000E94EA6600E010E020E046E554E16AE557 -:1048F00074E181E00F945F27A22EB32EC42ED52E33 -:10490000E62EF72E082F192F2A2D3B2D4C2D5D2D2D -:104910006E2D7F2D802F912FFE01E05CFF4F2083B5 -:10492000FE01EF5BFF4F3083FE01EE5BFF4F4083E4 -:10493000FE01ED5BFF4F5083FE01EC5BFF4F608398 -:10494000FE01EB5BFF4F7083CE01805C9F4FFC014B -:10495000808188235CF460E070E080EC9FE70F9436 -:10496000C43E8BE79CE30F94D0403DC0CE01805CF9 -:104970009F4FFC018081282F880F330BCE018F5B66 -:104980009F4FFC018081482F880F550BC901880F6C -:10499000991F820F931F880F991F840F951F880FEF -:1049A000991F880F991F9C0128523E4E80E090E08D -:1049B000A0ECBFE7F90180839183A283B383CE018A -:1049C0008F5B9F4FFC018081682FCE01805C9F4FE1 -:1049D000FC01808120E030E0A9010E94BA818A8137 -:1049E0008F5F8A8366CF82E69CE30F94D04081E597 -:1049F0000E942E9E882309F491C280913F189091C5 -:104A0000401821E0892B09F420E0222319F00E94AC -:104A1000F39D02C08DE99FEF9D878C878C859D85D6 -:104A20008F3F9F4F24F08C859D8503972CF08AE360 -:104A30009CE30F94D040FCC58BE19CE30F94D040E5 -:104A40008C859D858130910509F4DDC0823091050A -:104A500009F4E2C1892B09F061C21B828B81863087 -:104A600008F05CC21C828C81863008F0C8C08B8143 -:104A7000882F90E0092E000CAA0BBB0BBC01CD01C6 -:104A80000F94D154DC01CB019C01AD0160E070E0DA -:104A900080E490E40F94BF5BDC01CB018E879F879D -:104AA000A88BB98B8C81882F90E0092E000CAA0B63 -:104AB000BB0BBC01CD010F94D154DC01CB019C0197 -:104AC000AD0160E070E080E490E40F94BF5BDC0136 -:104AD000CB018A8B9B8BAC8BBD8B8B81082F10E01D -:104AE0008C81A82EB12C8B81282F30E08C81482F0F -:104AF00050E0C901880F991F820F931F880F991FDB -:104B0000840F951F880F991F880F991F88529E4EFA -:104B1000FC01C080D180E280F3802E853F854889EA -:104B200059896E857F85888999890F943055DC0174 -:104B3000CB013C014D012A893B894C895D896A89F9 -:104B40007B898C899D890F943055DC01CB019C01B8 -:104B5000AD01C401B3010F94C05BDC01CB01BC010A -:104B6000CD010F94BE5EDC01CB019C01AD01BC0107 -:104B7000CD010F94C05BDC01CB019C01AD01C701ED -:104B8000B6010F94C05BDC01CB019C01AD01C801F3 -:104B9000880F991F800F911F880F991F8A0D9B1DE9 -:104BA000880F991F880F991F88529E4EFC01208301 -:104BB0003183428353838B81282F30E08C81482FAF -:104BC00050E0C901880F991F820F931F880F991F0A -:104BD000840F951F880F991F880F991F88529E4E2A -:104BE000FC0180819181A281B3819C01AD016C8126 -:104BF0008B810E94BA818C818F5F8C8334CF8B81B3 -:104C00008F5F8B832BCF1D828D81863008F086C10C -:104C10008D81082F10E08D81E82EF12C8D81282FB9 -:104C200030E08D81482F50E0C901880F991F820F15 -:104C3000931F880F991F840F951F880F991F880F46 -:104C4000991F88529E4EFC0180819181A281B3817F -:104C500027EE3BEF4FE151E4BC01CD010F94C05B67 -:104C6000DC01CB019C01AD01C801880F991F800FA9 -:104C7000911F880F991F8E0D9F1D880F991F880FF8 -:104C8000991F88529E4EFC012083318342835383B7 -:104C90008D81E82EF12C8D81282F30E081E09D81DF -:104CA000953008F080E0882F90E0820F931F892BC9 -:104CB00019F001E010E002C00FEF1FEF8D81482FC7 -:104CC00050E08D81282F30E081E09D81953008F003 -:104CD00080E0882F90E0820F931F892B19F021E04C -:104CE00030E002C02FEF3FEFCA01880F991F840FF9 -:104CF000951F880F991F820F931F880F991F880F88 -:104D0000991F88529E4EFC0180819181A281B381BE -:104D100027EE3BEF4FE151E4BC01CD010F94C05BA6 -:104D2000DC01CB019C01AD01C701880F991F8E0DDD -:104D30009F1D880F991F800F911F880F991F880F43 -:104D4000991F88529E4EFC012083318342835383F6 -:104D50008D81282F30E08D81482F50E0C901880FC8 -:104D6000991F820F931F880F991F840F951F880F1B -:104D7000991F880F991F88529E4EFC018081918156 -:104D8000A281B3819C01AD016D818D810E94BA81A8 -:104D90008D81482F50E08D81282F30E081E09D816A -:104DA000953008F080E0882F90E0820F931F892BC8 -:104DB00019F021E030E002C02FEF3FEFCA01880F69 -:104DC000991F840F951F880F991F820F931F880FBB -:104DD000991F880F991F88529E4EFC0180819181F6 -:104DE000A281B3812D81422F50E021E03D813530F9 -:104DF00008F020E0222F30E0240F351F232B11F084 -:104E000061E001C06FEF9C01AD018D810E94BA810C -:104E10008D818F5F8D83F8CE82E08E838E8184308A -:104E200008F07CC082E08F838F81843008F072C0EC -:104E300083E40E942E9E882349F0209160143091D3 -:104E40006114409162145091631404C02AE037ED5C -:104E50004FE151E48E81082F10E08F81E82EF12C74 -:104E60008E81682F70E08F81E82FF0E0CB01880FF2 -:104E7000991F860F971F880F991F8E0F9F1F880FEE -:104E8000991F880F991F88529E4EFC018081918145 -:104E9000A281B381BC01CD010F94C05BDC01CB01C9 -:104EA0009C01AD01C801880F991F800F911F880FC9 -:104EB000991F8E0D9F1D880F991F880F991F88526B -:104EC0009E4EFC0120833183428353838E81282FA1 -:104ED00030E08F81482F50E0C901880F991F820F61 -:104EE000931F880F991F840F951F880F991F880F94 -:104EF000991F88529E4EFC0180819181A281B381CD -:104F00009C01AD016F818E810E94BA818F818F5F7C -:104F10008F838ACF8E818F5F8E8380CF8AE40E94B9 -:104F20002E9E882309F47AC080912613909127132E -:104F3000892B41F00F94D62B80E00E94D1E30F948F -:104F4000CE2B07C00F94D62B81E00E94D1E30F94A3 -:104F5000CE2B1AAA1BAA1CAA1DAA62EC71E08FEB29 -:104F600091E00E94C8A18C0160E070E083E090E0D5 -:104F70000E94CDA19801281B390BC901092E000CF4 -:104F8000AA0BBB0BBC01CD010F94D154DC01CB01AA -:104F900020E030E040E05FE3BC01CD010F943055EC -:104FA000DC01CB018EA79FA7A8ABB9AB6BED71E07D -:104FB00087ED91E00E94C8A18C0160E070E083E081 -:104FC00090E00E94CDA1F801E81BF90BCF01092E5A -:104FD000000CAA0BBB0BBC01CD010F94D154DC011A -:104FE000CB0120E030E040E05FE3BC01CD010F9455 -:104FF0003055DC01CB018AA79BA7ACA7BDA7AE01AA -:105000004E5C5F4F9E01225D3F4FCE018A96B901F3 -:105010000E941A790E949A7C81E0898380E50E942F -:105020002E9E882309F433C2809154149091551414 -:10503000992384F08091541490915514029754F45C -:1050400080913F0C8F3F31F410923F0C89EF9BE32E -:105050000F94D0408091541490915514092E000C57 -:10506000AA0BBB0B40E050E026E030E0841B950B20 -:105070002817390708F40BC2FC018827E155FF4FB8 -:105080008F4F0D94B75B0F94213F8BEE9BE30F94F2 -:10509000D040FDC183E40E942E9E982F81E0892795 -:1050A000882331F00F94183F8AEC9BE30F94D04093 -:1050B0008091241390912513029724F180915A1422 -:1050C00090915B14A0915C14B0915D1429EB3BE3CB -:1050D000AC01BD01C9010F941C418CE20E94A66580 -:1050E0008091561490915714A0915814B09159146E -:1050F00042E050E0BC01CD010E94BC6684EB9BE322 -:105100000F94D04085E50E942E9E082F85E40E94D2 -:105110002E9EF82E84E50E942E9E182F8091830CDF -:105120009091840CA091850CB091860C209156141E -:10513000309157144091581450915914BC01CD012D -:105140000F94C05BDC01CB018EA39FA3A8A7B9A7D6 -:1051500080917F0C9091800CA091810CB091820C79 -:1051600020915A1430915B1440915C1450915D145D -:10517000BC01CD010F94C05BDC01CB018AA39BA3D2 -:10518000ACA3BDA3BE016A5D7F4FCE0182962F2DD9 -:10519000412F0F94792F0E949A7C81E0898377C1F7 -:1051A00085E89BE30F94D04043C280915314882339 -:1051B00009F4EDC080915E1490915F1484976CF0B7 -:1051C0008091601490916114A0916214B091631465 -:1051D000BC01CD010F94C43E59C180915E149091E1 -:1051E0005F149C012150310930935F1420935E14A9 -:1051F00021E0892B09F420E0222309F447C100E0D3 -:1052000010E020E046E554E16AE574E180E00F94A7 -:105210005F27A22EB32EC42ED52EE62EF72E082FF2 -:10522000192F2A2D3B2D4C2D5D2D6E2D7F2D802F7E -:10523000912F2AAF3BAF4CAF5DAF6EAF7FAF8AAD62 -:1052400088230CF05AC018868885863008F01EC165 -:1052500019868985863008F04CC08885282F30E073 -:105260008985482F50E0C901880F991F820F931F2D -:10527000880F991F840F951F880F991F880F991FFA -:1052800088529E4EFC0180819181A281B38111E000 -:105290009C01AD01BC01CD010F940D5F882309F481 -:1052A00010E0112311F18885682F70E08985E82FBF -:1052B000F0E020916014309161144091621450919B -:1052C0006314CB01880F991F860F971F880F991FB2 -:1052D0008E0F9F1F880F991F880F991F88529E4E0F -:1052E000FC01208331834283538389858F5F8987C3 -:1052F000B0CF88858F5F8887A7CF8AAD682F880F4A -:10530000770B8BADE82F880FFF0B20916014309145 -:1053100061144091621450916314CB01880F991F5E -:10532000860F971F880F991F8E0F9F1F880F991F39 -:10533000880F991F88529E4EFC012083318342833F -:1053400053838AAD282F880F330B8BAD482F880FDE -:10535000550BC901880F991F820F931F880F991F42 -:10536000840F951F880F991F880F991F88529E4E92 -:10537000FC0180819181A281B3812BAD622F2AAD86 -:10538000722F9C01AD01872F0E94BA8126CF0E9407 -:10539000F79DDC01CB018E8B9F8BA88FB98F20E00E -:1053A00030E040E251E46E897F89888D998D0F94B9 -:1053B0003055DC01CB01BC01CD010F94025FDC0153 -:1053C000CB01BC01CD010F942C5DDC01CB014E97CC -:1053D000019709F040C026E636E646E450E46E89BF -:1053E0007F89888D998D0F94BF5BDC01CB0120E014 -:1053F00030E048EC52E4BC01CD010F943055DC01A3 -:10540000CB018A8F9B8FAC8FBD8F20E030E0A9014C -:105410006A8D7B8D8C8D9D8D0F94CA54882379F075 -:105420008A8D9B8DAC8DBD8D9C01AD0160E070E0DF -:1054300080E291E40F94605EDC01CB0103C080E068 -:1054400090E0DC018EAB9FABA8AFB9AFCE01C696A2 -:105450000E945BDE1CC00E94ECE919C086E59BE35C -:105460000F94D040E5C08091601490916114A09198 -:105470006214B091631420915314AC01BD01822FCA -:105480000F94392E04C00F94EE2D01C000008CE45F -:105490000E942E9E882309F455C080913F18909158 -:1054A000401821E0892B09F420E0222319F00E9402 -:1054B000F39D05C080913F0C082E000C990B909332 -:1054C0008D0C80938C0C0E94077C9F8F8E8F8E8D0D -:1054D0009F8D892B29F486E39BE30F94D040A8C0CD -:1054E00080918C0C90918D0C992364F08E8D9F8D02 -:1054F0009C012150310980918C0C90918D0C2817C2 -:10550000390774F48E8D9F8D9C012150310984E1FF -:105510009BE3B9010F942D418AE00E94A66588C0E3 -:1055200080918C0C90918D0C60E070E00E94137C57 -:1055300080918C0C90918D0C80933F0C8DE09BE3BF -:105540000F94D04083E50E942E9E882309F45CC00E -:1055500080913F189091401821E0892B09F420E0B8 -:10556000222319F00E94F39D05C080913F0C082E64 -:10557000000C990B90938D0C80938C0C80918C0C6B -:1055800090918D0C019619F40F94544151C00E94D2 -:10559000077C99A388A388A199A1892B29F48DEE72 -:1055A0009AE30F94D0403BC080918C0C90918D0C6D -:1055B000992364F088A199A19C012150310980911F -:1055C0008C0C90918D0C2817390774F488A199A13F -:1055D0009C01215031098BEC9AE3B9010F942D41C4 -:1055E0008AE00E94A6651BC080918C0C90918D0C66 -:1055F0000E945D7C80918C0C90918D0C80933F0C6F -:1056000084EC9AE30F94D04084E50E942E9E882378 -:1056100031F080915114909152140E94D2A189814D -:10562000882331F00E94BA9188EB9AE30F941626F2 -:10563000CB5BDF4F0FB6F894DEBF0FBECDBFDF915F -:10564000CF911F910F91FF90EF90DF90CF90BF907F -:10565000AF909F908F907F906F9008952F923F9280 -:105660004F925F926F927F928F929F92AF92BF9272 -:10567000CF92DF92EF92FF920F931F93CF93DF931E -:10568000CDB7DEB7CD58D1090FB6F894DEBF0FBE47 -:10569000CDBFE091C411F091C511EF2B11F00C9426 -:1056A0002DB9E996FFAEEEAEE99719017A016B01CB -:1056B000FC012091901130919111409192115091E3 -:1056C000931160817181828193810F9430550F9481 -:1056D0002D5E2B013C0125966CAF7DAF8EAF9FAF49 -:1056E00025972091941130919511409196115091E8 -:1056F0009711D6016D917D918D919C910F943055AC -:105700000F942D5E4B015C0129966CAF7DAF8EAF7F -:105710009FAF2997209198113091991140919A113A -:1057200050919B11F70160817181828193810F9467 -:1057300030550F942D5E6B017C012D966CAF7DAFC3 -:105740008EAF9FAF2D9720919C1130919D1140916C -:105750009E1150919F11D1016D917D918D919C91E0 -:105760000F9430550F942D5E67966CAF7DAF8EAF62 -:105770009FAF679761966CAF7DAF8EAF9FAF61971C -:1057800080917B1183FF0EC067962CAD3DAD4EAD71 -:105790005FAD67972093171630931816409319162C -:1057A00050931A16D801BC91AC96BFAFAC97F801D4 -:1057B000F181A896FFAFA897D8011296BC91E09608 -:1057C000BFAFE097F80103818091F5159091F61530 -:1057D000891B8F708F3021F480E00E94EA66F4CF3D -:1057E000F091F515C557DF4FF883CB58D040809125 -:1057F000F515282E312C80910B1690910C16A09146 -:105800000D16B0910E16481A590A6A0A7B0A809141 -:105810000F1690911016A0911116B0911216A501B5 -:105820009401281B390B4A0B5B0B6B962CAF3DAFD9 -:105830004EAF5FAF6B978091131690911416A091A5 -:105840001516B0911616A7019601281B390B4A0BA5 -:105850005B0B6F962CAF3DAF4EAF5FAF6F978091F4 -:10586000171690911816A0911916B0911A166796EE -:10587000CCACDDACEEACFFAC6797C81AD90AEA0A2B -:10588000FB0A09F472C08091E30C811128C0609179 -:10589000E80C7091E90C8091EA0C9091EB0C0F945C -:1058A0002C5D209147023091480262177307BCF4C7 -:1058B00067968CAD9DADAEADBFAD67978093171663 -:1058C00090931816A0931916B0931A160F9450417E -:1058D0008BEC9CE30F94D040C12CD12C7601C701F6 -:1058E000B6010F94D154209143023091440240916B -:1058F0004502509146020F9430554B015C0120E067 -:1059000030E0A9010F94205E87FF04C0B7FAB0947D -:10591000B7F8B09420E030E04AEF53E460919C1176 -:1059200070919D1180919E1190919F110F9430550F -:10593000A50194010F94CA5487FF17C067962CAD38 -:105940003DAD4EAD5FAD6797209317163093181697 -:105950004093191650931A160F9450418CEA9CE309 -:105960000F94D040C12CD12C7601D301C2018827DD -:10597000B7FD83959927AA27BB27182F6B962CADC7 -:105980003DAD4EAD5FAD6B9757FD12606F968CAD20 -:105990009DADAEADBFAD6F97B7FD1460F7FC18605D -:1059A000C701B6010F94D1542091430230914402B3 -:1059B00040914502509146020F9430556B017C0195 -:1059C00020E030E0A9010F94205E87FF04C0C701EA -:1059D000B601905802C0C701B60120E030E040E0B7 -:1059E0005FE30F94C05B0F94335DE7966CAF7DAFC0 -:1059F0008EAF9FAFE79788E4829DF001839DF00D05 -:105A00001124E550F34F108215AB5301420177FE8C -:105A100007C088249924540184189508A608B7085B -:105A200088E4829DF001839DF00D1124E550F34F31 -:105A3000858A968AA78AB08E6B962CAD3DAD4EAD09 -:105A40005FAD6B9767962CAF3DAF4EAF5FAF67977B -:105A500057FF0DC050954095309521953F4F4F4FC2 -:105A60005F4F67962CAF3DAF4EAF5FAF679788E44F -:105A7000829DF001839DF00D1124E550F34F679650 -:105A80008CAD9DADAEADBFAD6797818F928FA38F6B -:105A9000B48F6F962CAD3DAD4EAD5FAD6F97A396B5 -:105AA0002CAF3DAF4EAF5FAFA39757FF0DC05095E2 -:105AB0004095309521953F4F4F4F5F4FA3962CAFA8 -:105AC0003DAF4EAF5FAFA39788E4829DF001839D09 -:105AD000F00D1124E550F34FA3968CAD9DADAEAD06 -:105AE000BFADA397858F968FA78FB0A3C301B201D7 -:105AF0000F94D1542091D30C3091D40C4091D50CFB -:105B00005091D60C0F943055A7966CAF7DAF8EAFE9 -:105B10009FAFA79769AB7AAB8BAB9CAB6B966CAD29 -:105B20007DAD8EAD9FAD6B970F94D1542091D70C66 -:105B30003091D80C4091D90C5091DA0C0F9430551B -:105B40002B013C016DAB7EAB8FAB98AF6F966CAD0C -:105B50007DAD8EAD9FAD6F970F94D1542091DB0C2E -:105B60003091DC0C4091DD0C5091DE0C0F943055DF -:105B70006B966CAF7DAF8EAF9FAF6B9769AF7AAF0F -:105B80008BAF9CAF2091DF0C3091E00C4091E10C89 -:105B90005091E20CC701B6010F9430556B017C01A6 -:105BA00021966CAF7DAF8EAF9FAF219796E089169F -:105BB0009104A104B1041CF567962CAD3DAD4EAD2A -:105BC0005FAD67972630310541055105C4F4A396B2 -:105BD0008CAD9DADAEADBFADA3970697A105B10548 -:105BE00074F420E030E0A901C701B6010F94205EF3 -:105BF00087FF16C0F7FAF094F7F8F09411C0E99611 -:105C0000AEADBFADE997CD90DD90ED90FC9020E07A -:105C100030E0A901C701B6010F94CA54882369F086 -:105C200088E4829DF001839DF00D1124E550F34F2F -:105C3000C586D686E786F08A38C0A7962CAD3DADDE -:105C40004EAD5FADA797CA01B9010F9430556B01F6 -:105C50007C01A3019201C301B2010F9430559B0155 -:105C6000AC01C701B6010F94C05B6B017C016B9660 -:105C70002CAD3DAD4EAD5FAD6B97CA01B9010F9430 -:105C800030559B01AC01C701B6010F94C05B0F9466 -:105C9000BE5E28E4229DF001239DF00D1124E55005 -:105CA000F34F658776878787908B88E4829DF00124 -:105CB000839DF00D1124E550F34FE7962CAD3DADDB -:105CC0004EAD5FADE79721A332A343A354A3582D54 -:105CD000492D3A2D2B2D67968CAD9DADAEADBFAD48 -:105CE000679788169906AA06BB0660F464965FADAE -:105CF000649765964FAD659766963FAD66976796D4 -:105D00002FAD6797852F942FA32FB22FA3962CAD7D -:105D10003DAD4EAD5FADA39782179307A407B507BE -:105D200010F4DA01C901E7962CAD3DAD4EAD5FAD83 -:105D3000E79782179307A407B50710F4DA01C901A2 -:105D400028E4229DF001239DF00D1124E550F34F2E -:105D500085A396A3A7A3B0A70697A105B10510F444 -:105D60000C9426B9DF01AA5BBF4F8091D10C8C93B4 -:105D7000E95BFF4F8091D20C808389288A288B2889 -:105D800009F05F9888E4829DF001839DF00D112455 -:105D9000E550F34F818D928DA38DB48D892B8A2B85 -:105DA0008B2B09F08A9888E4829DF001839DF00D89 -:105DB0001124E550F34F858D968DA78DB0A1892BC9 -:105DC0008A2B8B2B29F0809108018170809306012A -:105DD000E7968CAD9DADAEADBFADE797892B8A2B15 -:105DE0008B2B11F40C942FB98091D711882319F0C3 -:105DF00081508093D711129880E28093D711D09070 -:105E0000BC11E090BD11F090BE111091BF112D2D6D -:105E10003E2D4F2D512FAC966FADAC97A8967FAD10 -:105E2000A897E0968FADE097902F0F94CA5487FF04 -:105E30000AC0AC96DFAEAC97A896EFAEA897E096F6 -:105E4000FFAEE097012F88E4829DF001839DF00D65 -:105E50001124E550F34F2585368547855089EB960B -:105E60002CAF3DAF4EAF5FAFEB9760E070E080E8E6 -:105E70009FE30F94BA5CA7966CAF7DAF8EAF9FAFD8 -:105E8000A797AC962FADAC97A8963FADA897E09694 -:105E90004FADE097502F0F9430554B015C0180912E -:105EA000F5159091F315891B8F70EC968FAFEC97D9 -:105EB000A501940160E074E284E799E40F94BA5C70 -:105EC0000F942D5E6B017C01EC968FADEC978250A8 -:105ED0008630C0F580918C1190918D11A0918E111A -:105EE000B0918F11C816D906EA06FB0658F58C1931 -:105EF0009D09AE09BF09BC01CD01660F771F881F40 -:105F0000991FEC964FADEC97042F10E020E030E0A5 -:105F1000A90198010F94205BCA01B9010F94CF54D5 -:105F20000F942D5E6C0D7D1D8E1D9F1D0F94CF5403 -:105F30009B01AC0160E074E284E799E40F94BA5CE1 -:105F40004B015C01A5019401EB966CAD7DAD8EAD6E -:105F50009FADEB970F9430559B01AC010F943055DA -:105F6000C158DF4F688379838A839B83CF57D040A2 -:105F700088E4829D8001839D100D11240550134FEC -:105F8000C158DF4F88819981AA81BB81CF57D0400A -:105F9000F80181839283A383B48325A136A147A10D -:105FA00050A5AF962CAF3DAF4EAF5FAFAF97CA01D4 -:105FB000B9010F94CF54AB966CAF7DAF8EAF9FAF4E -:105FC000AB979B01AC01C501B4010F9430550F9400 -:105FD0009E5C0F94335DCD57DF4F688379838A834E -:105FE0009B83C358D040F80166AB77AB80AF91AFCD -:105FF0008E010F5C1F4F9E012F5D3F4FE1963FAF1B -:106000002EAFE19740EA51E1C757DF4F59834883EC -:10601000C958D040C8014096C457DF4F9983888340 -:10602000CC58D040C957DF4F39832883C758D04058 -:1060300064961FAE649768961FAE689790E86C965A -:106040009FAF6C97AFE3A096AFAFA097F8012191F7 -:106050003191419151918F01C501B4010F94305597 -:106060006B017C01C957DF4FA881B981C758D04067 -:106070006D937D938D939D93C957DF4FB983A8830B -:10608000C758D04020E030E0A9010F94205E87FF80 -:1060900004C0F7FAF094F7F8F094C757DF4FE8819F -:1060A000F981C958D0404190519061907190C75783 -:1060B000DF4FF983E883C958D040A7019601C30197 -:1060C000B2010F94CA5487FF26C0A7019601C301ED -:1060D000B2010F94BA5C7B016C019B01AC01649628 -:1060E0006FAD649768967FAD68976C968FAD6C972F -:1060F000A0969FADA0970F94205E181664F4649646 -:10610000EFAE64976896FFAE68976C96CFAE6C97CB -:10611000A096DFAEA097C457DF4F28813981CC58B5 -:10612000D0402017310709F091CF20E030E040E85F -:106130005FE364966FAD649768967FAD68976C96E1 -:106140008FAD6C97A0969FADA0970F94CA5487FF10 -:106150007AC08E010F5C1F4F64962FAD64976896CE -:106160003FAD68976C964FAD6C97A0965FADA097CA -:10617000E196AEADBFADE1976D917D918D919C9112 -:106180000F943055E196EEADFFADE19761937193B9 -:1061900081939193E196FFAFEEAFE1970E171F0742 -:1061A000D9F688E4829D8001839D100D112405504D -:1061B000134FCD57DF4F688179818A819B81C35806 -:1061C000D0400F94CF5464962FAD649768963FAD3E -:1061D00068976C964FAD6C97A0965FADA0970F94A3 -:1061E00030550F94335DD801D6966D937D938D9382 -:1061F0009C93D99764962FAD649768963FAD689746 -:106200006C964FAD6C97A0965FADA09764966FADFE -:10621000649768967FAD68976C968FAD6C97A096E3 -:106220009FADA0970F943055C158DF4F2881398119 -:106230004A815B81CF57D0400F943055F80161837C -:10624000728383839483AB962CAD3DAD4EAD5FAD31 -:10625000AB97A7966CAD7DAD8EAD9FADA7970F9414 -:10626000305567966CAF7DAF8EAF9FAF679788E470 -:10627000829DF001839DF00D1124E550F34F858838 -:106280009688A788B08C81149104A104B10419F5F3 -:10629000818D928DA38DB48D892B8A2B8B2BD9F474 -:1062A000858D968DA78DB0A1892B8A2B8B2B99F488 -:1062B0002091B4113091B5114091B6115091B711A0 -:1062C00067966CAD7DAD8EAD9FAD67970F943055E1 -:1062D0000F949E5C2BC2E7962CAD3DAD4EAD5FADED -:1062E000E797232B242B252B49F02091B0113091D7 -:1062F000B1114091B2115091B31108C02091B81161 -:106300003091B9114091BA115091BB1167966CADA3 -:106310007DAD8EAD9FAD67970F9430550F949E5C09 -:106320000F94335D6B017C018091CD0C9091CE0C6C -:10633000A091CF0CB091D00CAF962CAD3DAD4EAD31 -:106340005FADAF9782179307A407B50708F4D6C0CF -:1063500081149104A104B10411F16091BD0C7091FC -:10636000BE0C8091BF0C9091C00C6C157D058E0504 -:106370009F05A8F40F94105B2B013C01A50194012B -:10638000C701B6010F94105B4616570668067906DA -:1063900030F4C301B2010F94205B69017A0188E4F3 -:1063A000829DF001839DF00D1124E550F34F818C07 -:1063B000928CA38CB48C81149104A104B10441F19A -:1063C0006091C10C7091C20C8091C30C9091C40C6F -:1063D0006C157D058E059F05D8F4AF962CAD3DADAF -:1063E0004EAD5FADAF970F94105B2B013C01A50143 -:1063F0009401C701B6010F94105B46165706680654 -:10640000790630F4C301B2010F94205B69017A016F -:1064100088E4829DF001839DF00D1124E550F34F37 -:10642000858C968CA78CB0A081149104A104B10432 -:1064300041F16091C50C7091C60C8091C70C909190 -:10644000C80C6C157D058E059F05D8F4AF962CAD54 -:106450003DAD4EAD5FADAF970F94105B2B013C018E -:10646000A5019401C701B6010F94105B46165706AB -:106470006806790630F4C301B2010F94205B69010C -:106480007A0188E4829DF001839DF00D1124E5508E -:10649000F34F81A092A0A3A0B4A081149104A10401 -:1064A000B10409F447C16091C90C7091CA0C809184 -:1064B000CB0C9091CC0C6C157D058E059F0508F0DA -:1064C00039C1AF962CAD3DAD4EAD5FADAF970F94DA -:1064D000105B2B013C01A5019401C701B6010F948B -:1064E000105B461657066806790608F023C1C301FB -:1064F000B2010F94205B69017A011CC181149104DF -:10650000A104B104C9F16091BD0C7091BE0C8091E1 -:10651000BF0C9091C00C6C157D058E059F0560F534 -:106520000F94CF54AB962CAD3DAD4EAD5FADAB9758 -:106530000F9430552B013C01C501B4010F94CF5489 -:106540004B015C01C701B6010F94CF54A501940122 -:106550000F9430559B01AC01C301B2010F94CA5492 -:1065600087FF0AC0A5019401C301B2010F94BA5C70 -:106570000F94335D6B017C0188E4829DF001839D63 -:10658000F00D1124E550F34F418C528C638C748CC8 -:106590004114510461047104C9F16091C10C7091FE -:1065A000C20C8091C30C9091C40C6C157D058E05B6 -:1065B0009F0560F50F94CF54AB962CAD3DAD4EAD1D -:1065C0005FADAB970F9430554B015C01C301B20135 -:1065D0000F94CF542B013C01C701B6010F94CF5447 -:1065E000A30192010F9430559B01AC01C501B40188 -:1065F0000F94CA5487FF0AC0A3019201C501B401D8 -:106600000F94BA5C0F94335D6B017C0188E4829D2A -:10661000F001839DF00D1124E550F34F458C568C0D -:10662000678C70A04114510461047104C9F1609138 -:10663000C50C7091C60C8091C70C9091C80C6C155C -:106640007D058E059F0560F50F94CF54AB962CAD5C -:106650003DAD4EAD5FADAB970F9430554B015C0136 -:10666000C301B2010F94CF542B013C01C701B60105 -:106670000F94CF54A30192010F9430559B01AC01AC -:10668000C501B4010F94CA5487FF0AC0A301920147 -:10669000C501B4010F94BA5C0F94335D6B017C01AA -:1066A00088E4829DF001839DF00D1124E550F34FA5 -:1066B00081A092A0A3A0B4A081149104A104B1046C -:1066C000C9F16091C90C7091CA0C8091CB0C90916A -:1066D000CC0C6C157D058E059F0560F50F94CF548D -:1066E000AB962CAD3DAD4EAD5FADAB970F94305535 -:1066F0002B013C01C501B4010F94CF544B015C0147 -:10670000C701B6010F94CF54A50194010F943055E1 -:106710009B01AC01C301B2010F94CA5487FF0AC0A8 -:10672000A5019401C301B2010F94BA5C0F94335DCB -:106730006B017C0188E4829D8001839D100D1124F2 -:106740000550134FF801EE5BFF4FC082D182E28209 -:10675000F382C701B6010F94CF546B017C01679699 -:106760002CAD3DAD4EAD5FAD67970F94BA5CAF9663 -:106770006CAF7DAF8EAF9FAFAF97D80151966D9341 -:106780007D938D939C9354972DEB37E346E051E432 -:10679000C701B6010F9430550F94335DF80161AB1A -:1067A00072AB83AB94AB29A93AA94BA95CA9A79674 -:1067B0006CAD7DAD8EAD9FADA7970F943055AB9668 -:1067C0006CAF7DAF8EAF9FAFAB97698B7A8B8B8BA6 -:1067D0009C8B2DA93EA94FA958ADA7966CAD7DAD58 -:1067E0008EAD9FADA7970F9430554B015C016D8B1B -:1067F0007E8B8F8B988F29AD3AAD4BAD5CADA79654 -:106800006CAD7DAD8EAD9FADA7970F9430556B01EC -:106810007C01698F7A8F8B8F9C8F21962CAD3DAD3B -:106820004EAD5FAD2197A7966CAD7DAD8EAD9FADA2 -:10683000A7970F943055A7966CAF7DAF8EAF9FAFE3 -:10684000A7976D8F7E8F8F8F98A3EC96FFADEC97F7 -:10685000FF2309F4BBC22091F71564962FAF64970C -:106860003091F81568963FAF68974091F9156C968E -:106870004FAF6C975091FA15A0965FAFA0972DEB94 -:1068800037E346E855E364966FAD649768967FAD4D -:1068900068976C968FAD6C97A0969FADA0970F945C -:1068A000CA5487FD93C28091C7119091C811A091DD -:1068B000C911B091CA11E7968CAF9DAFAEAFBFAF13 -:1068C000E7972091CB113091CC114091CD1150918F -:1068D000CE11E3962CAF3DAF4EAF5FAFE397809103 -:1068E000CF119091D011A091D111B091D211EF960A -:1068F0008CAF9DAFAEAFBFAFEF972091D31130916A -:10690000D4114091D5115091D611C158DF4F288331 -:1069100039834A835B83CF57D040E7966CAD7DAD1A -:106920008EAD9FADE7979058AB962CAD3DAD4EAD7B -:106930005FADAB970F9430552B013C01E3962CAD26 -:106940003DAD4EAD5FADE397C501B4010F94305539 -:106950009B01AC01C301B2010F94BF5B2B013C0151 -:10696000EF962CAD3DAD4EAD5FADEF97C701B601D3 -:106970000F9430559B01AC01C301B2010F94BF5B72 -:106980002B013C01C158DF4F288139814A815B814D -:10699000CF57D040A7966CAD7DAD8EAD9FADA7977C -:1069A0000F9430559B01AC01C301B2010F94BF5B42 -:1069B0002B013C012FEE3FEF4FE75FE30F94205E8A -:1069C00018160CF4B2C12FEE3FEF4FE75FEBC30197 -:1069D000B2010F94CA5487FF08C0EFEE4E2E552423 -:1069E0005A94EFE76E2EEFEB7E2EE7962CAD3DAD81 -:1069F0004EAD5FADE797AB966CAD7DAD8EAD9FAD07 -:106A0000AB970F94BF5B69837A838B839C83E396F8 -:106A10002CAD3DAD4EAD5FADE397C501B4010F9414 -:106A2000BF5B6D837E838F839887EF962CAD3DADE2 -:106A30004EAD5FADEF97C701B6010F94BF5B69879D -:106A40007A878B879C87C158DF4F288139814A819B -:106A50005B81CF57D040A7966CAD7DAD8EAD9FAD1D -:106A6000A7970F94BF5B6D877E878F87988BAE014A -:106A70004F5F5F4FA5965FAF4EAFA597CE01419692 -:106A800063969FAF8EAF63978A01C12CD12C76019C -:106A9000D8018D909D90AD90BD908D0120E030E0AB -:106AA000A901C501B4010F94CA54882371F0A5014E -:106AB0009401C501B4010F9430559B01AC01C7018D -:106AC000B6010F94C05B6B017C016396EEADFFAD28 -:106AD0006397E017F107E1F6C701B6010F94BE5EB8 -:106AE0009B01AC0160E070E080E89FE30F94BA5C2A -:106AF0006B017C01A5960EAD1FADA597A701960170 -:106B0000D8016D917D918D919C910F943055F80134 -:106B100061937193819391938F0163962EAD3FADF5 -:106B200063972E173F0751F77CE7A72E71E1B72E29 -:106B3000AC963FADAC97A8963FAFA897AD964FAD3A -:106B4000AD97E4964FAFE497AE960FADAE97AF9684 -:106B50001FADAF97A596AEADBFADA597CD90DD901B -:106B6000ED90FD90A596BFAFAEAFA59720E030E0C9 -:106B7000A901C701B6010F94CA54882361F1F50138 -:106B800060817181828193810F94CF54A701960116 -:106B90000F94BA5C6B017C0120E030E0A9010F94F6 -:106BA000205E87FF04C0F7FAF094F7F8F094A896F7 -:106BB0002FADA897E4963FADE497A801C701B601B1 -:106BC0000F94CA5487FF07C0A896CFAEA897E49643 -:106BD000DFAEE4978701F4E0AF0EB11C63962EADF3 -:106BE0003FAD6397A5964EAD5FADA59724173507CA -:106BF00009F0B0CFA301920160E070E080E89FE36C -:106C00000F94BF5B20E030E040E05FE30F9430552D -:106C10000F94BE5E6B017C012091B90C3091BA0CCF -:106C20004091BB0C5091BC0CA8966FADA897E49610 -:106C30007FADE497C8010F943055A70196010F94DA -:106C400030554B015C01A701960160E070E080E8DF -:106C50009FE30F94BF5B9B01AC01C501B4010F948E -:106C6000BA5C6B017C0120E030E040E85FE3EB962A -:106C70006CAD7DAD8EAD9FADEB970F94CA5487FF81 -:106C80005CC0A3019201C301B2010F94305523EC03 -:106C900038EB42E35FEB0F94305523EF36E64FE5D8 -:106CA0005FE30F94BF5BA30192010F9430552BED6E -:106CB0003FE049EC5FE30F94C05B2CEE31E548E325 -:106CC0005EE30F94BF5B4B015C0124EE3BEC46E1BD -:106CD00050E40F94205E181684F5A50194016BED25 -:106CE0007FE089E490E40F94BF5B9B01AC01EB96DD -:106CF0006CAD7DAD8EAD9FADEB970F94BA5CA89651 -:106D00002FADA897E4963FADE497A8010F943055B6 -:106D10005B018C019B01AC01B601C7010F94205EA1 -:106D200018165CF46501780108C03BE0C32E47EDFE -:106D3000D42E53E2E52E6BE3F62E88E4829DF0011B -:106D4000839DF00D1124E550F34FA180B2800381A3 -:106D500014819501A80164966FAD649768967FAD24 -:106D600068976C968FAD6C97A0969FADA0970F9487 -:106D7000205E181664F46496AFAE64976896BFAE52 -:106D800068976C960FAF6C97A0961FAFA09796016F -:106D9000A70164966FAD649768967FAD68976C960F -:106DA0008FAD6C97A0969FADA0970F94205E18169C -:106DB000CCF46496CFAE64976896DFAE68976C9615 -:106DC000EFAE6C97A096FFAEA0970CC064961FAE76 -:106DD000649768961FAE68976C961FAE6C97A096E6 -:106DE0001FAEA09780E1FE017196A7ECB1E1019082 -:106DF0000D928A95E1F788E4829D8001839D100DB4 -:106E000011240550134F64968FAD649768969FAD1B -:106E100068976C96AFAD6C97A096BFADA097F80140 -:106E200081879287A387B487AF966CAD7DAD8EAD19 -:106E30009FADAF9790589B01AC010F94C05BD801F8 -:106E40001D962D913D914D915C9150970F94305529 -:106E50009B01AC016BE077ED83E29BE30F94BF5B9A -:106E60002BE0C22E27EDD22E23E2E22E2BE3F22ED0 -:106E7000F801C582D682E782F086B080C180D280D8 -:106E8000E380F480A70196010F94205E87FD02C085 -:106E900083E001C081E08B2998E4929DF001939DED -:106EA000F00D1124E550F34F808380E1FE01B1968F -:106EB000ABEFB5E101900D928A95E1F7C092F7151D -:106EC000D092F815E092F915F092FA1580E1FE01E2 -:106ED000EF5BFF4FABE0B6E101900D928A95E1F7D1 -:106EE0009091F5158091F615981303C084E6809370 -:106EF000F215C557DF4F8881CB58D0408F5F8F7018 -:106F00008093F5158091F5159091F41581508F704F -:106F1000891709F4B3C0F090F5158FEF8F0D8F70BE -:106F200064968FAF6497B090F4158091F515B816FC -:106F300009F473C0C12CD12C6496FFAD6497FB1586 -:106F400009F46BC06F2E712C28E4269D8001279DCB -:106F5000100D11240550134FD8018C9183FD3AC0B8 -:106F6000AC960FAFAC97A8961FAFA8971996BC9197 -:106F70006896BFAF6897F801F2856C96FFAF6C9783 -:106F8000D8011B96BC91A096BFAFA097F801F485DD -:106F9000A496FFAFA497D80115962D903D904D90E3 -:106FA0005C901897A201910168966FAD68976C96F6 -:106FB0007FAD6C97A0968FADA0979F2F0F94CA546A -:106FC000811157C1C114D10459F0F601808180FDAF -:106FD00050C106C0AC96CFAEAC97A896DFAEA897CE -:106FE00064968FAD649781508F7064968FAF64976D -:106FF0008091F4158B1107C0AC96CFACAC97A896D6 -:10700000DFACA89799CF6496FFAD6497FB1529F084 -:1070100081E08B0D8F70B82EEBCF2091F415649624 -:107020002FAF6497C12CD12C8091F51564963FAD9C -:107030006497831719F1832E912C48E4489D8001B1 -:10704000499D100D11240550134FD8018C9183FDDB -:107050000AC05801C114D10439F0C6010E94B0CE53 -:10706000811102C095C1560164968FAD64978F5F00 -:107070008F7064968FAF64976501D6CFD090F61568 -:107080008090F51528E4D81469F08FEF880D8F7083 -:10709000289FF0011124E550F34F908193FF02C027 -:1070A000882EF1CF212C312C412C512C64961FAE0F -:1070B000649768961FAE6897712C612C00E010E011 -:1070C000E12CF12C8D1409F481C048E44D9D800120 -:1070D00011240550134FD8018C9183FD19C01596CA -:1070E0006D917D918D919C9118970F94BE5EC62EE7 -:1070F000B72EA82E992EE114F10409F455C0F7011A -:10710000808180FD0EC0D8018C9180FD0AC04CC0EA -:107110006496CFAC64976896BFAC6897A72C962C02 -:1071200048C0F701808181608083C7010E94B0CE92 -:10713000811136C0F70161817281838194810F943E -:10714000BE5E9B01AC0160E070E080E89FE30F94BD -:10715000BA5C1B012C019B01AC016C2D7B2D8A2D8F -:10716000992D0F94305569837A838B839C83649621 -:107170002FAD649768963FAD6897472D562DC20195 -:10718000B1010F943055698B7A8B8B8B9C8BAE0140 -:107190004F5F5F4FBE016F5E7F4FC7010E9431BDE1 -:1071A000D7018C918E7F8C932C2C3B2C4A2C592C04 -:1071B000780181E08D0D8F70D82E6496CFAE6497E4 -:1071C0006896BFAE68977A2C692C7CCF01151105A3 -:1071D000E9F1F801808181608083C7010E94B0CE0F -:1071E000811130C0D80111966D917D918D919C9146 -:1071F00014970F94BE5E9B01AC0160E070E080E8E4 -:107200009FE30F94BA5C6B017C012DEC3CEC4CE4E9 -:107210005DE30F94305569837A838B839C8391015E -:10722000A201C701B6010F943055698B7A8B8B8B05 -:107230009C8BAE014F5F5F4FBE016F5E7F4FC801F9 -:107240000E9431BDF80180818E7F808380916F0024 -:10725000826080936F0081E01DC180E01BC1D090EF -:10726000C011E090C111F090C2111091C3110C94A3 -:1072700007AF28E4269DF001279DF00D1124E5506D -:10728000F34F808181FD4BC0C114D10441F0D60180 -:107290001596CD90DD90ED90FC90189708C08BE08E -:1072A000C82E87EDD82E83E2E82E8BE3F82EB8E4C3 -:1072B000B69DF001B79DF00D1124E550F34F818983 -:1072C0009289A389B489BC01CD0190589B01AC017E -:1072D0000F94C05BF80125853685478550890F944A -:1072E00030559B01AC01C701B6010F94BF5BE62E80 -:1072F000872E982EA92E262F372F482F592F689684 -:107300006FAD68976C967FAD6C97A0968FADA09788 -:10731000A4969FADA4970F94CA5487FF0CC068969B -:10732000EFAC68976C968FAC6C97A0969FACA097CB -:10733000A496AFACA4972E2D382D492D5A2DC201FD -:10734000B1010F94CA54882309F44ACEF8E4F69D9B -:10735000C001F79D900D11249C012550334F690108 -:10736000D9018C9181608C93C8010E94B0CE882392 -:1073700029F0F60180818E7F808332CE8E2D982D6C -:10738000A92DBA2DF60185839683A783B08728CED1 -:10739000D6018C9181FD58C0D60115962D913D9155 -:1073A0004D915C9118976B962CAF3DAF4EAF5FAF90 -:1073B0006B971501B5E02B0E311CF8014580568006 -:1073C00067807084A30192016B966CAD7DAD8EAD2C -:1073D0009FAD6B970F94CA5487FF36C0F601818921 -:1073E0009289A389B489BC01CD0190589B01AC015D -:1073F0000F94C05BD6011D962D913D914D915C91EE -:1074000050970F9430559B01AC016B966CAD7DADE0 -:107410008EAD9FAD6B970F94BF5B6B017C019B01A1 -:10742000AC01C301B2010F94205E18166CF4D801B0 -:107430008C9181608C93C5010E94B0CE8823F1F0BD -:10744000F80180818E7F808328E4289DF001299DAA -:10745000F00D1124E550F34F218532854385548585 -:1074600065817681878190850F94CA548111FCCD06 -:1074700064963FAD64973093F415F6CDD101CD926B -:10748000DD92ED92FC9213976496BFAD6497B09332 -:10749000F415DACFC357DF4F0FB6F894DEBF0FBE37 -:1074A000CDBFDF91CF911F910F91FF90EF90DF90B3 -:1074B000CF90BF90AF909F908F907F906F905F9094 -:1074C0004F903F902F900895CF92DF92EF92FF92CE -:1074D0000F931F93CF93DF93CDB7DEB764970FB6AB -:1074E000F894DEBF0FBECDBFC98ADA8AEB8AFC8A68 -:1074F000FC0180819181A281B38189839A83AB83CE -:10750000BC83FB0180819181A281B3818D839E83A5 -:10751000AF83B887FA0180819181A281B381898785 -:107520009A87AB87BC87F90180819181A281B38161 -:107530008D879E87AF87B88BCE0141967C019E01D7 -:10754000235F3F4FAE01475F5F4FBE016B5F7F4FD1 -:1075500040970E942EAB64960FB6F894DEBF0FBE24 -:10756000CDBFDF91CF911F910F91FF90EF90DF90F2 -:10757000CF900895CF93DF93CDB7DEB760970FB666 -:10758000F894DEBF0FBECDBFE9EAFCE080819181B7 -:10759000A281B38189839A83AB83BC8384819581E3 -:1075A000A681B7818D839E83AF83B88780859185BF -:1075B000A285B38589879A87AB87BC8784859585A3 -:1075C000A685B7858D879E87AF87B88BAE01475F4D -:1075D0005F4FBE016B5F7F4FCE0101960E94B29359 -:1075E0009E01235F3F4FAE01475F5F4FBE016B5F60 -:1075F0007F4FCE0101960E94109260960FB6F894CC -:10760000DEBF0FBECDBFDF91CF9108959091A80C42 -:107610009817C9F08093A80C811109C08091A60C1D -:107620008093D10C8091A70C8093D20C0895809107 -:10763000D10C8093A60C1092D10C8091D20C809327 -:10764000A70C1092D20C08958EE095E10E942D9720 -:107650008EE095E10E9460978091F5178D7F8E7F77 -:107660008093F5171092F1171092F2171092F317FA -:107670001092F41781E08093DB1608950F94504127 -:107680006091A30C7091A40C89E99CE30F9439419B -:1076900086E99CE30D94D040AF92BF92CF92DF92E7 -:1076A000EF92FF920F931F93CF93DF93CDB7DEB787 -:1076B0002C970FB6F894DEBF0FBECDBF23EEC22EBF -:1076C00022E0D22E5C0170E0CB018D519D4F7C01F8 -:1076D000CE14DF0409F180E20E94A665F6018191D3 -:1076E0006F010E94A6658AE30E94A665F50161917B -:1076F0007191819191915F018E010F5F1F4F23E086 -:1077000041E00F94A24F8C01F80181918F018823F1 -:10771000F9F20E94A665F8CF8AE00E94A6652C9631 -:107720000FB6F894DEBF0FBECDBFDF91CF911F9192 -:107730000F91FF90EF90DF90CF90BF90AF900895A2 -:10774000CF93DF9300D01F92CDB7DEB78091C611E3 -:1077500081111BC081E08093C61180918E0C9091A5 -:107760008F0CA091900CB091910CB05889839A83A2 -:10777000AB83BC839E012F5F3F4F4AE95CE066E923 -:107780007CE082E99CE00E9409EC0F900F900F9042 -:107790000F90DF91CF910895CF93DF9300D01F9288 -:1077A000CDB7DEB78091C6118823F9F02AE939E90F -:1077B00049E95FE360918E0C70918F0C8091900C81 -:1077C0009091910C0F94305569837A838B839C83BD -:1077D0009E012F5F3F4F4AE95CE066E97CE082E969 -:1077E0009CE00E9409EC1092C6110F900F900F9030 -:1077F0000F90DF91CF9108954F925F926F927F9299 -:107800008F929F92AF92BF92CF92DF92EF92FF92B0 -:107810000F931F93CF93DF93CDB7DEB768970FB663 -:10782000F894DEBF0FBECDBFC82E2A013B0159011F -:10783000E82EF12CF701EB56F24CE4919924939445 -:107840001E160CF4912CDD24D39420E030E0A90125 -:10785000C301B2010F94205E18160CF0D12CD9246C -:1078600061F082E0C81209C081E00E9406BB69E1B4 -:1078700070E080E090E00F94644080E00E94E59228 -:1078800069837A838B839C8381E00E94E5926D8378 -:107890007E838F83988782E00E94E59269877A874A -:1078A0008B879C8783E00E94E5926D877E878F8718 -:1078B000988BEE0CFF1CEE0CFF1C88248394912CFB -:1078C0008C0E9D1E8E0C9F1CF40110821182128260 -:1078D00013829E01235F3F4FAE01475F5F4FBE01A2 -:1078E0006B5F7F4FCE0101960E941092F40140829F -:1078F0005182628273821D8A1E8A1F8A188E20E03E -:1079000030E0A901B801C5010F94CA54811109C022 -:10791000F701E45BF24C85919591A591B4918C01AE -:107920005D01C801D501898B9A8BAB8BBC8BCE01D5 -:1079300045967C018E010F5E1F4F9E01235F3F4FD6 -:10794000AE01475F5F4FBE016B5F7F4F44970E9460 -:107950002EAB0E94BA91DD2041F092E0C91203C023 -:1079600080E00E9406BB0E94BA7A68960FB6F8942F -:10797000DEBF0FBECDBFDF91CF911F910F91FF9062 -:10798000EF90DF90CF90BF90AF909F908F907F90BF -:107990006F905F904F900895CF92DF92EF92FF9299 -:1079A00080917912882371F1C0907E12D0907F125D -:1079B000E0908012F090811220E030E0A901C70130 -:1079C000B6010F94CA548823E9F020E030E040E08B -:1079D0005FE3C701B6010F9430559B01AC010F94D2 -:1079E00030552BED3FE049E450E40F9430559B01B6 -:1079F000AC0160E070E080E89FE30F94BA5C6B013B -:107A00007C0106C0C12CD12C80E8E82E8FE3F82E33 -:107A1000C0927A12D0927B12E0927C12F0927D1288 -:107A200060914B0270914C02072E000C880B990B51 -:107A30000F94D1542AE037ED43E25CE30F943055C4 -:107A4000A70196010F94305560934302709344024E -:107A50008093450290934602FF90EF90DF90CF9085 -:107A600008954F925F926F927F928F929F92AF9202 -:107A7000BF92CF92DF92EF92FF920F931F93CF931B -:107A8000DF93CDB7DEB768970FB6F894DEBF0FBEB1 -:107A9000CDBF8C015B015A834983DC01D6966D9181 -:107AA0007D918D919C91D9970F94CF546B017C015E -:107AB000F50120813181428153810F9430550F941B -:107AC0009E5C0F94335D69877A878B879C87A98139 -:107AD000BA812D913D914D915C91C701B6010F94F2 -:107AE00030550F949E5C0F94335D6D877E878F8732 -:107AF000988B29853A854B855C852837310541056A -:107B0000510540F488E790E0A0E0B0E089879A87CB -:107B1000AB87BC872D853E854F8558892837310531 -:107B20004105510540F488E790E0A0E0B0E08D8782 -:107B30009E87AF87B88BF801EE5BFF4F20813181C4 -:107B40004281538129833A834B835C83CA01B90103 -:107B50000F94D1542B013C0169857A858B859C85D6 -:107B60000F94CF54698B7A8B8B8B9C8B20E030E009 -:107B7000A901C301B2010F94CA54882329F1A701B6 -:107B80009601C701B6010F9430554B015C0129895C -:107B90003A894B895C89CA01B9010F9430559B0120 -:107BA000AC01C501B4010F94BF5B4B015C01A301A3 -:107BB0009201C301B2010F94C05B9B01AC01C501EE -:107BC000B4010F94BA5C03C060E070E0CB010F9485 -:107BD0009E5C0F94335D6D837E838F83988769816C -:107BE0007A818B819C8190958095709561957F4F6E -:107BF0008F4F9F4F0F94D1544B015C016D857E8553 -:107C00008F8598890F94CF5469837A838B839C8363 -:107C100020E030E0A901C501B4010F94CA548823C3 -:107C200049F129813A814B815C81CA01B9010F94E4 -:107C300030556D8B7E8B8F8B988FA7019601C70176 -:107C4000B6010F9430559B01AC016D897E898F89F7 -:107C5000988D0F94BF5B6B017C01A5019401C50158 -:107C6000B4010F94C05B9B01AC01C701B6010F9436 -:107C7000BA5C03C060E070E0CB010F94625DD80194 -:107C800095968D909D90AD90BC90989775016401EC -:107C90002D813E814F815885C21AD30AE40AF50A24 -:107CA0000F94335DC61AD70AE80AF90AF7FE75C0C1 -:107CB00020E030E0A901C301B2010F94CA54882327 -:107CC00009F443C0C501B4010F94CF546B017C018A -:107CD000A3019201C301B2010F94C05B9B01AC01EF -:107CE000C701B6010F9430556B017C0129893A898F -:107CF0004B895C89CA01B9010F9430559B01AC01D5 -:107D0000C701B6010F94BF5B6B017C0129813A81E9 -:107D10004B815C81CA01B9010F9430559B01AC01C4 -:107D2000C701B6010F94C05B6B017C0120E030E01D -:107D300040E850E4C301B2010F9430559B01AC01FF -:107D4000C701B6010F94BA5C03C060E070E0CB01DC -:107D50000F949E5C7B018D83998320E030E0A90124 -:107D60000F94205E181624F0E12CF12C1D8219824C -:107D7000B7018D8199810F94335D6D837E838F83ED -:107D8000988786169706A806B90620F48D829E82EB -:107D9000AF82B886C12CD12C76018D819E81AF81B6 -:107DA000B885F80181A792A7A3A7B4A7C80ED91ECA -:107DB000EA1EFB1EC5A6D6A6E7A6F0AA29853A8527 -:107DC0004B855C8522AF33AF44AF55AFFE962D8512 -:107DD0003E854F855889208331834283538368963B -:107DE0000FB6F894DEBF0FBECDBFDF91CF911F91CC -:107DF0000F91FF90EF90DF90CF90BF90AF909F904A -:107E00008F907F906F905F904F9008954F925F9208 -:107E10006F927F928F929F92AF92BF92CF92DF929A -:107E2000EF92FF920F931F93CF93C82FE82EF12C60 -:107E3000F701EB56F24CB490823049F481E00E9495 -:107E40001C8D811106C10F94260E811102C167019C -:107E5000CC0CDD1CCC0CDD1CF601E757F24C459038 -:107E60005590659074906B2DBB0C770B880B990B1C -:107E70000F94D1544B015C0120E030E040EC5FE313 -:107E8000C301B2010F943055A50194010F943055F0 -:107E9000AB01BC0100E010E098018C2F0E94FCBBFC -:107EA000C23009F0CAC00F94D70DE0E070E060EA7C -:107EB00080E42E2F372F462F582FC501B4010F9481 -:107EC00030554B015C0120E030E0A9010F94CA5409 -:107ED000882309F44EC0C23021F000E010E0980180 -:107EE00004C000E010E020E830E4B501A4017058BF -:107EF0008C2F0E94FCBBC23051F40F94260E8111CE -:107F0000A8C0412C512C612C90E4792E21C0F7019E -:107F1000E658F24C6491611107C00F94504188E516 -:107F20009DE30F94D0406AE0F601E45BF24C45908B -:107F300055906590749070E080E090E00F94D1547B -:107F40009B01AC01C301B2010F94BA5C2B013C014F -:107F5000A5019401C501B4010F94C05BAB01BC0144 -:107F6000930182018C2F0E94FCBBC23011F40F944C -:107F7000D70D81E090E00C2E01C0880F0A94EAF73B -:107F800090916F14982B90936F1490917812892B85 -:107F900080937812F601E05CF24C85919591A59161 -:107FA000B491F601E755F34F80839183A283B383A5 -:107FB000C230D1F42091870C3091880C4091890C0B -:107FC00050918A0C6091B10C7091B20C8091B30CFD -:107FD0009091B40C0F94BF5B6093B10C7093B20C92 -:107FE0008093B30C9093B40C10926E1410926D1495 -:107FF0000E94E579F601EE56F34FD601A755B34F2F -:108000008D919D910D90BC91A02D80839183A28331 -:10801000B383C230F1F480E0CF911F910F91FF90B4 -:10802000EF90DF90CF90BF90AF909F908F907F9018 -:108030006F905F904F900C941C8DF601E358F24CBA -:1080400085919591A591B491E82F792F6A2F8B2F67 -:1080500030CFCF911F910F91FF90EF90DF90CF9095 -:10806000BF90AF909F908F907F906F905F904F9058 -:108070000895CF93DF9324E0829FC0011124EC0187 -:10808000CD58D34FFC01E35DF54FDC01A459BD4E43 -:108090002D913D914D915C9160817181828193819F -:1080A0000F94C05B688379838A839B83DF91CF9130 -:1080B00008951F93CF93DF93882329F0D0917812EE -:1080C000D095D17001C0D0E0662339F010917812BC -:1080D0001695117081E0182701C010E0442341F08B -:1080E000C0917812C2FBCC27C0F981E0C82701C03B -:1080F000C0E0D11105C0111103C0CC2309F444C064 -:108100000F9450418AE39DE30F94D040DD2319F092 -:1081100088E50E94A665112319F089E50E94A665ED -:10812000CC2319F08AE50E94A66582E39DE30F94B3 -:10813000D040C11103C049E955E002C042E958E00E -:10814000111103C029E935E002C02EE137E0D11159 -:1081500003C089E995E002C080E297E05F934F9306 -:108160003F932F939F938F9380E29DE39F938F93F1 -:108170001F920F9460088DB79EB709960FB6F894BA -:108180009EBF0FBE8DBFC1E08C2FDF91CF911F919D -:1081900008952F923F924F925F926F927F928F92AB -:1081A0009F92AF92BF92CF92DF92EF92FF920F9386 -:1081B0001F93CF93DF93CDB7DEB7C657D1090FB664 -:1081C000F894DEBF0FBECDBF82E99CE00E948E779F -:1081D00080917B1183FD7DC0C0909E0CD0909F0C40 -:1081E000E090A00CF090A10C2091B50C3091B60C51 -:1081F0004091B70C5091B80CC701B6010F94CA5406 -:10820000882309F466C08091E30C81111FC060913E -:10821000E80C7091E90C8091EA0C9091EB0C0F94B2 -:108220002C5D20914702309148026217730774F465 -:10823000C092B50CD092B60CE092B70CF092B80C8C -:108240000F94504185E09DE30F94D04080909E0CA8 -:1082500090909F0CA090A00CB090A10C2091B50C18 -:108260003091B60C4091B70C5091B80CC501B401D7 -:108270000F94BF5B6B017C0120E030E0A9010F94FB -:10828000205E87FF04C0F7FAF094F7F8F09420918D -:108290004302309144024091450250914602C70189 -:1082A000B6010F94305520E030E04AEF53E40F94CC -:1082B000205E181674F48092B50C9092B60CA092C1 -:1082C000B70CB092B80C0F94504186EE9CE30F941B -:1082D000D04080915B0C0091490210914A028823A2 -:1082E00009F1C0906812D0906912E0906A12F09083 -:1082F0006B1220E030E0A901C701B6010F94CA5407 -:10830000882309F455C020919A0C30919B0C409120 -:108310009C0C50919D0CC701B6010F94205E18165D -:108320000CF446C0B801110F880B990B0F94D1546F -:1083300020913F023091400240914102509142020F -:108340000F9430552AE037ED43E25CE30F9430554B -:1083500069837A838B839C83C12CD12C76018E0117 -:108360000F5F1F4F2EE93CE04AE95CE066E97CE0E4 -:1083700082E99CE00E9464BA0F945510CA58DF4FFE -:108380000FB6F894DEBF0FBECDBFDF91CF911F9126 -:108390000F91FF90EF90DF90CF90BF90AF909F90A4 -:1083A0008F907F906F905F904F903F902F900895A7 -:1083B000B801110F880B990B0F94D15420913F02F3 -:1083C0003091400240914102509142020F94305549 -:1083D0002AE037ED43E25CE30F9430556DA77EA7AA -:1083E0008FA798ABB091A90CBFABE091AA0CEBAFF3 -:1083F000F091AB0CFFAFE090AC0C2196EFAE219763 -:108400000091AD0C1091AE0C2091AF0C3091B00CDE -:1084100025960CAF1DAF2EAF3FAF25978091B10CC5 -:108420009091B20CA091B30CB091B40CA3968CAF08 -:108430009DAFAEAFBFAFA397E090B50CF090B60C78 -:108440000091B70C1091B80CA796ECAEFDAE0EAF34 -:108450001FAFA797C090920CD090930CE090940C13 -:10846000F090950CC982DA82EB82FC828090960CA7 -:108470009090970CA090980CB090990C8D829E8251 -:10848000AF82B88600919A0C10919B0C20919C0CA5 -:1084900030919D0C09AB1AAB2BAB3CAB09871A870B -:1084A0002B873C8740909E0C50909F0C6090A00CB6 -:1084B0007090A10C4D865E866F86788A20E030E051 -:1084C00040E450E46FA97E2F8F2F21969FAD219716 -:1084D0000F94BF5B21EF3AE04FE25CE30F9430551D -:1084E0000F942C5D663014F065E002C067FD60E01B -:1084F000262F660F330B3EAB2DAB20E030E040E47F -:1085000050E425966CAD7DAD8EAD9FAD25970F9453 -:10851000BF5B27E231E848E35CE30F9430550F94EA -:108520002C5D663014F065E002C067FD60E0862FC8 -:10853000660F990B2D969FAF8EAF2D9720E030E000 -:1085400040E450E4C701B6010F94BF5B21EF3AE06D -:108550004FE25CE30F9430550F942C5D29966FAF7A -:10856000299766302CF095E029969FAF299708C08F -:108570002996AFAD2997A7FF03C029961FAE29976B -:108580002996EFAD29970E2E000CFF0B2F96FFAF0B -:10859000EEAF2F9720E030E040E450E4C501B40195 -:1085A0000F94BF5B27E231E848E35CE30F9430555A -:1085B0000F942C5D28966FAF289766302CF0F5E06D -:1085C0002896FFAF289708C028960FAD289707FF79 -:1085D00003C028961FAE289728962FAD2897022E05 -:1085E000000C330B27963FAF2EAF27978DA99EA97E -:1085F0002F96AEADBFAD2F978A179B0709F01CC110 -:108600002D960EAD1FAD2D9727962EAD3FAD27971A -:108610000217130709F010C189809A80AB80BC80D3 -:1086200029968FAD29970E94C19E9B01AC012F9680 -:108630006EAD7FAD2F976F5F7F4FA6E0A69FC00105 -:10864000A79F900D11242796EEADFFAD2797E80F59 -:10865000F91FEE0FFF1FEE0FFF1FE852FE4EE080E6 -:10866000F18002811381EFAAF8AE09AF1AAF2F96FD -:108670000EAD1FAD2F97A09FB001A19F700D1124CB -:108680002796EEADFFAD2797E60FF71FEE0FFF1F02 -:10869000EE0FFF1FE852FE4E4080518062807380D3 -:1086A0002796AEADBFAD27971196FC01EA0FFB1FD1 -:1086B000EE0FFF1FEE0FFF1FE852FE4EE080F1802D -:1086C00002811381EBAEFCAE0DAF1EAFA60FB71F3C -:1086D000AA0FBB1FAA0FBB1FA852BE4ECD90DD90A4 -:1086E000ED90FC9029960FAD2997053089F1C501D1 -:1086F000B4010F94BF5B21EF3AE04FE25CE30F94CB -:1087000030554B015C01A30192016FA978AD89AD91 -:108710009AAD0F94BF5BA50194010F943055A3014E -:1087200092010F94C05B2B013C01A70196016BAD38 -:108730007CAD8DAD9EAD0F94BF5BA50194010F94F0 -:108740003055A70196010F94C05B6B017C0105C0F9 -:10875000C12CD12C7601260137018D809E80AF80FF -:10876000B88428968FAD28970E94939E9B01AC01F8 -:1087700028961FAD2897153059F1C501B4010F9403 -:10878000BF5B27E231E848E35CE30F9430554B01CF -:108790005C01A3019201C701B6010F94BF5B9B016D -:1087A000AC01C501B4010F943055A30192010F949F -:1087B000C05B6B017C01CE0109960F94DB0F9B011E -:1087C000AC01C701B6010F9430556B017C0103C0A9 -:1087D000C12CD12C76011D8A1E8A1F8A188E89848D -:1087E0009A84AB84BC84A7019601C701B6010F949B -:1087F0000D5F882319F0C12CD12C7601A7019601B9 -:10880000C501B4010F94C05B698B7A8B8B8B9C8BF9 -:108810009E012B5E3F4F79018E01035D1F4F285053 -:108820003109AE014F5E5F4FBE016B5F7F4FCE01DE -:1088300001960E942EABA0CD2FA93BAD4FAD219646 -:108840005FAD2197C701B6010F94BF5B6B017C013F -:1088500025962CAD3DAD4EAD5FAD2597C501B4015C -:108860000F94BF5B4B015C0181E090E02B969FAFC2 -:108870008EAF2B9720E030E0A901C501B4010F9421 -:10888000CA5487FD04C02B961FAE1EAE2B9720E066 -:1088900030E0A901C701B6010F94CA5487FF0AC08E -:1088A00097018601305863960CAF1DAF2EAF3FAFD6 -:1088B000639706C06396CCAEDDAEEEAEFFAE6397B7 -:1088C00020E030E0A901C501B4010F94CA5487FF2C -:1088D0000AC0D501C401B05867968CAF9DAFAEAF4A -:1088E000BFAF679706C067968CAE9DAEAEAEBFAE0B -:1088F0006797ADA9BEA92F96EEADFFAD2F97AE1726 -:10890000BF0781F020E030E0A901C701B6010F9454 -:10891000CA5487FF0CC00FEF1FEF6D961FAF0EAF4D -:108920006D970BC06D961FAE1EAE6D9706C021E011 -:1089300030E06D963FAF2EAF6D972D968EAD9FAD0B -:108940002D972796AEADBFAD27978A179B0781F06D -:1089500020E030E0A901C501B4010F94CA5487FF9B -:108960000CC0EFEFFFEF6F96FFAFEEAF6F970BC04E -:108970006F961FAE1EAE6F9706C001E010E06F96B7 -:108980001FAF0EAF6F9767962CAD3DAD4EAD5FAD8F -:10899000679763966CAD7DAD8EAD9FAD63970F9479 -:1089A000205E18161CF01401850102C01601870113 -:1089B000A7962CAD3DAD4EAD5FADA797C301B201FB -:1089C0000F94BF5B69A77AA78BA79CA79101A80109 -:1089D0000F94BA5CAB966CAF7DAF8EAF9FAFAB9789 -:1089E000A3962CAD3DAD4EAD5FADA39769A97AA915 -:1089F0008BA99CA90F94BF5B9101A8010F94BA5C4D -:108A0000E1966CAF7DAF8EAF9FAFE197A701960166 -:108A1000C501B4010F94BA5C6B966CAF7DAF8EAF9D -:108A20009FAF6B979B01AC016FA97BAD8FAD21967A -:108A30009FAD21970F9430559B01AC0125966CADED -:108A40007DAD8EAD9FAD25970F94BF5BE5966CAF66 -:108A50007DAF8EAF9FAFE597AB964CAC5DAC6EAC87 -:108A60007FACAB97E89477F86D962EAD3FAD6D97E0 -:108A7000232B09F038C12D962EAC3FAC2D972B96A9 -:108A80008EAD9FAD2B97280E391E2796AEADBFAD8C -:108A90002797A80FB91F2B96BFAFAEAF2B976B963A -:108AA0000CAD1DAD2EAD3FAD6B973F7709AB1AAB4B -:108AB0002BAB3CAB2B962EAD3FAD2B972215330540 -:108AC00009F463C46F968EAD9FAD6F97280E391E63 -:108AD000122D822D0E94939E6B017C012FEF3FEFA0 -:108AE0004FE75FE769A97AA98BA99CA90F940D5F4D -:108AF00081110CC02FEF3FEF4FE75FE769A97AA91B -:108B00008BA99CA90F94CA541816ACF0E5962CAD0D -:108B10003DAD4EAD5FADE597C701B6010F94BF5BAC -:108B20006B962CAD3DAD4EAD5FAD6B970F94BA5CBF -:108B3000362F272F06C03FA92BAD8FAD21969FADB5 -:108B40002197432F522FBC014D8F5E8F6F8F78A3DB -:108B500096E02916310450F4A1016DA97EA9CE0139 -:108B60004D960F94740F6B017C0103C0C12CD12C66 -:108B70007601CE0109960F94DB0FA70196010F94A1 -:108B800030556B017C019B01AC010F940D5F882374 -:108B900019F0C12CD12C7601812F0E94939E4B019C -:108BA0005C01698F7A8F8B8F9C8F9B01AC0125961E -:108BB0006CAD7DAD8EAD9FAD25970F94CA548823C3 -:108BC00009F478CF2FEF3FEF4FE75FE7C301B20122 -:108BD0000F940D5F81110BC02FEF3FEF4FE75FE761 -:108BE000C301B2010F94CA5418160CF450C0679612 -:108BF0002CAD3DAD4EAD5FAD679763966CAD7DAD71 -:108C00008EAD9FAD63970F94205E18165CF42FA96C -:108C10003BAD4FAD21965FAD21976D8D7E8D8F8DD4 -:108C200098A108C025962CAD3DAD4EAD5FAD259702 -:108C3000C501B4010F94BF5B4B015C019B01AC010A -:108C4000AB966CAD7DAD8EAD9FADAB970F943055AF -:108C5000A7962CAD3DAD4EAD5FADA7970F94C05B11 -:108C600069A77AA78BA79CA7A5019401E1966CAD93 -:108C70007DAD8EAD9FADE1970F943055A3962CAD91 -:108C80003DAD4EAD5FADA3970F94C05B0CC08D851D -:108C90009E85AF85B88989A79AA7ABA7BCA7698528 -:108CA0007A858B859C851D8A1E8A1F8A188EA7014E -:108CB00096010F94C05B698B7A8B8B8B9C8BDE014A -:108CC00055967D018E01035D1F4F9E01275D3F4F2D -:108CD000AE014F5E5F4FBE01675E7F4FCE014D9686 -:108CE0000E942EABE7CEE1E0F0E0FAABE9AB20E08A -:108CF00030E0A901C701B6010F94CA5487FD02C034 -:108D00001AAA19AA2DA83EA8E9A8FAA82E0C3F1C59 -:108D10006F960EAD1FAD6F97012B09F0FDC02F961A -:108D20002EAD3FAD2F972E0D3F1D3AAB29AB89A934 -:108D30009AA98215930509F428C36D96AEADBFAD0F -:108D40006D972A0E3B1E122D822D0E94C19E9B0103 -:108D5000AC016B966CAD7DAD8EAD9FAD6B970F94F6 -:108D60003055E5962CAD3DAD4EAD5FADE5970F941A -:108D7000C05B6D8F7E8F8F8F98A3B6E02B1631046A -:108D800060F42D964EAD5FAD2D97B101CE014D969D -:108D90000F940D0F6B017C0103C0C12CD12C760107 -:108DA000CE0109960F94DB0FA70196010F94305561 -:108DB0006B017C019B01AC010F940D5F882319F0BE -:108DC000C12CD12C7601812F0E94C19E4B015C01E8 -:108DD000698F7A8F8B8F9C8F9B01AC016FA97BADC4 -:108DE0008FAD21969FAD21970F94CA54882309F423 -:108DF0009ECF2FEF3FEF4FE75FE7C301B2010F9424 -:108E00000D5F81110BC02FEF3FEF4FE75FE7C3010D -:108E1000B2010F94CA5418160CF450C067962CADCA -:108E20003DAD4EAD5FAD679763966CAD7DAD8EADDC -:108E30009FAD63970F94205E18164CF42FA93BAD9D -:108E40004FAD21965FAD2197C501B4010AC02596AB -:108E50002CAD3DAD4EAD5FAD25976D8D7E8D8F8D6B -:108E600098A10F94BF5B4B015C019B01AC01AB96D9 -:108E70006CAD7DAD8EAD9FADAB970F943055A79681 -:108E80002CAD3DAD4EAD5FADA7970F94C05B69A70C -:108E90007AA78BA79CA7A5019401E1966CAD7DAD47 -:108EA0008EAD9FADE1970F943055A3962CAD3DAD9F -:108EB0004EAD5FADA3970F94C05B0CC08D859E85B2 -:108EC000AF85B88989A79AA7ABA7BCA769857A851A -:108ED0008B859C851D8A1E8A1F8A188EA701960184 -:108EE0000F94C05B698B7A8B8B8B9C8BFE01759684 -:108EF0007F018E01035D1F4F9E01275D3F4FAE0135 -:108F00004F5E5F4FBE01635E7F4FCE0149960E9468 -:108F10002EAB81110CCF39C22D968EAD9FAD2D9702 -:108F20002796EEACFFAC27978E199F096DA97EA9F5 -:108F30002F960EAD1FAD2F97601B710B77FF03C0EF -:108F4000719561957109E7967FAF6EAFE79797FFCF -:108F500003C0919581959109AD969FAF8EAFAD9766 -:108F60003EAA2DAA2D962EAC3FAC2D972B962EAD5A -:108F70003FAD2B97220E331EE7968EAD9FADE79740 -:108F8000892B39F4AD96AEADBFADAD97AB2B09F4DF -:108F9000FCC18DA96C96BFAD6C978B0F0E94C19ED2 -:108FA0006DA37EA38FA398A76E968FAD6E97820D4B -:108FB0000E94939E4B015C0169A37AA38BA39CA39F -:108FC000CDA0DEA0EFA0F8A4A70196016B966CAD32 -:108FD0007DAD8EAD9FAD6B970F943055E5962CAD62 -:108FE0003DAD4EAD5FADE5970F94C05B6D8F7E8F4D -:108FF0008F8F98A3E5962CAD3DAD4EAD5FADE59757 -:10900000C501B4010F94BF5B6B962CAD3DAD4EAD69 -:109010005FAD6B970F94BA5C9B01AC01698F7A8F3F -:109020008B8F9C8F01E010E0C701B6010F94CA54EA -:1090300087FD02C000E010E0E9A9FAA90E171F079A -:1090400009F0CEC06F96EEACFFAC6F972E0C3F1CB4 -:109050006DA97EA96E1B7F0B6630710560F406E07A -:109060002016310440F4A101CE0149960F94740FEB -:109070006B017C0103C0C12CD12C7601CE01099675 -:109080000F94DB0FA70196010F9430556B017C0103 -:109090009B01AC010F940D5F882319F0C12CD12CDA -:1090A00076012FEF3FEF4FE75FE7C301B2010F9467 -:1090B0000D5F81110BC02FEF3FEF4FE75FE7C3015B -:1090C000B2010F94CA5418160CF452C067962CAD16 -:1090D0003DAD4EAD5FAD679763966CAD7DAD8EAD2A -:1090E0009FAD63970F94205E18165CF42FA93BADDB -:1090F0004FAD21965FAD2197698D7A8D8B8D9C8DBB -:109100000AC025962CAD3DAD4EAD5FAD259769A14A -:109110007AA18BA19CA10F94BF5B4B015C019B01C9 -:10912000AC01AB966CAD7DAD8EAD9FADAB970F94A2 -:109130003055A7962CAD3DAD4EAD5FADA7970F94C2 -:10914000C05B69A77AA78BA79CA7A5019401E196AC -:109150006CAD7DAD8EAD9FADE1970F943055A3966C -:109160002CAD3DAD4EAD5FADA3970F94C05B0CC071 -:109170008D859E85AF85B88989A79AA7ABA7BCA71F -:1091800069857A858B859C851D8A1E8A1F8A188E23 -:10919000A70196010F94C05B698B7A8B8B8B9C8B9C -:1091A0009E012B5E3F4F79018E01035D1F4F2C5EA8 -:1091B0003F4FAE014F5E5F4FBE016F5D7F4FCE01EF -:1091C00049960E942EAB882309F4DFC0AD968EAD80 -:1091D0009FADAD970197AD969FAF8EAFAD97D2C0C3 -:1091E000EDA9FEA96D96EEACFFAC6D97EE0DFF1DDF -:1091F000FEABEDABE630F10590F4A1012B960EAD80 -:109200001FAD2B97401B510B4630510540F4BF0159 -:10921000CE014D960F940D0F6B017C0103C0C12C44 -:10922000D12C7601CE0109960F94DB0FA701960190 -:109230000F9430556B017C019B01AC010F940D5FC5 -:10924000882319F0C12CD12C76012FEF3FEF4FE787 -:109250005FE7C301B2010F940D5F81110BC02FEFC7 -:109260003FEF4FE75FE7C301B2010F94CA541816EE -:109270000CF452C067962CAD3DAD4EAD5FAD679717 -:1092800063966CAD7DAD8EAD9FAD63970F94205E00 -:1092900018165CF42FA93BAD4FAD21965FAD219719 -:1092A0006DA17EA18FA198A50AC025962CAD3DADDC -:1092B0004EAD5FAD25976D8D7E8D8F8D98A10F94EE -:1092C000BF5B4B015C019B01AC01AB966CAD7DAD0E -:1092D0008EAD9FADAB970F943055A7962CAD3DAD9D -:1092E0004EAD5FADA7970F94C05B69A77AA78BA718 -:1092F0009CA7A5019401E1966CAD7DAD8EAD9FADAF -:10930000E1970F943055A3962CAD3DAD4EAD5FADBA -:10931000A3970F94C05B0CC08D859E85AF85B889DF -:1093200089A79AA7ABA7BCA769857A858B859C85F9 -:109330001D8A1E8A1F8A188EA70196010F94C05B92 -:10934000698B7A8B8B8B9C8B9E012B5E3F4F7901B7 -:109350008E01035D1F4F2C5E3F4FAE014F5E5F4F8E -:10936000BE01635E7F4FCE0185960E942EAB88239F -:1093700061F0E7968EAD9FADE7970197E7969FAFB7 -:109380008EAFE797019609F0F7CD29813A814B819D -:109390005C816091A90C7091AA0C8091AB0C9091AA -:1093A000AC0C0F94CA54811137C92D813E814F8175 -:1093B00058856091AD0C7091AE0C8091AF0C90917E -:1093C000B00C0F94CA54811127C90C94BCC18F9260 -:1093D0009F92AF92BF92CF92DF92EF92FF920F9344 -:1093E0001F93CF93DF93EC018A01C880D980EA8074 -:1093F000FB80072E000C880B990B0F94D1544B0166 -:109400005C019B01AC01C701B6010F94CA5487FDF2 -:1094100010C0B801110F880B990B0F94D1544B0158 -:109420005C019B01AC01C701B6010F94205E1816C8 -:1094300024F488829982AA82BB82DF91CF911F9106 -:109440000F91FF90EF90DF90CF90BF90AF909F90E3 -:109450008F900895EF92FF920F931F93CF93C82F91 -:109460007B018A01809152028823D1F00F944C41F4 -:10947000C7010F94D0408CEB95E40F94D040C7FD0A -:1094800008C06AE070E08C2FCC0F990B0E94366602 -:1094900004C088EB95E40F94D0408AE00E94A66552 -:1094A0000E9467FD8091F012811108C081E08093D5 -:1094B000F01210925202C8010F94EE32CF911F9118 -:1094C0000F91FF90EF9008952F923F924F925F92ED -:1094D0006F927F928F929F92AF92BF92CF92DF92C4 -:1094E000EF92FF920F931F93CF93DF93CDB7DEB729 -:1094F0002F970FB6F894DEBF0FBECDBF8091A81294 -:1095000081111DC08091B41381111DC02F960FB61B -:10951000F894DEBF0FBECDBFDF91CF911F910F91A9 -:10952000FF90EF90DF90CF90BF90AF909F908F9083 -:109530007F906F905F904F903F902F90089580E0C4 -:1095400090E00F94EE320E941BFF0F946E3E4B0191 -:109550005C016091120270911302072E000C880BBF -:10956000990B0F94D1549B01AC016091E80C709160 -:10957000E90C8091EA0C9091EB0C0F94205E181688 -:109580003CF441E456E464E576E480E00E942ACAB3 -:109590008091B213882309F404C26091EC0C70919D -:1095A000ED0C072E000C880B990B0F94D154698396 -:1095B0007A838B839C833AE0E32EF12C0CE310E05A -:1095C00020E0AE014F5F5F4F68EE7CE08FE193E1FA -:1095D0000E9459FBC090E80CD090E90CE090EA0C96 -:1095E000F090EB0C6091100270911102072E000CAC -:1095F000880B990B0F94D1549B01AC01C701B601A4 -:109600000F94205E18160CF4A0C060E06093EE0C7E -:1096100080919F139091A013A091A113B091A213D8 -:109620000097A105B10529F1A5019401281B390B6B -:109630004A0B5B0B57FD1DC060919D1370919E13EB -:1096400080E090E00F94CF549B01AC016091E80C56 -:109650007091E90C8091EA0C9091EB0C0F94CA5434 -:1096600087FF08C340E256E462E376E480E00E94AC -:109670002ACA20E030E046E153E46091020A70918A -:10968000030A8091040A9091050A0F94205E18162F -:109690000CF4D7C18091A5139091A613A091A713A4 -:1096A000B091A8130097A105B10529F1A501940176 -:1096B000281B390B4A0B5B0B57FD1DC06091A31390 -:1096C0007091A41380E090E00F94CF549B01AC0103 -:1096D0006091020A7091030A8091040A9091050A30 -:1096E0000F94CA5487FFB5C14AED55E46DEE75E499 -:1096F0008FEF0E942ACA8091AD13882309F48AC192 -:109700006091060A7091070A072E000C880B990BCE -:109710000F94D15469837A838B839C8392E0E92EE2 -:10972000F12C02E310E02FEFAE014F5F5F4F62E0DC -:109730007AE08AE193E10E9459FB8091AD1388237E -:1097400009F448C11092080AE1CE609112027091AA -:109750001302072E000C880B990B0F94D1549B0118 -:10976000AC01C701B6010F94CA5487FF4ECF609178 -:10977000EC0C7091ED0C6115710509F476C2072EA1 -:10978000000C880B990B0F94D154A70196010F94EC -:10979000BF5B2B013C0120E030E040E251EC0F9434 -:1097A000CA5487FD62C28091B21381115EC220E06B -:1097B00030E040E251E4C301B2010F94205E18167C -:1097C0000CF465C280911913811166C28091111346 -:1097D00090911213A0911313B09114138D839E8353 -:1097E000AF83B8872091151330911613409117134A -:1097F0005091181329873A874B875C87A7019601F8 -:1098000060910513709106138091071390910813CE -:109810000F94BF5B2091F70C3091F80C4091F90C3C -:109820005091FA0C0F9430552D813E814F8158850F -:109830000F94BF5B20ED3CEC4CE45DE30F9430559E -:109840002D813E814F8158850F94C05B6B017C0157 -:109850006093111370931213809313139093141346 -:109860008091F30C9091F40CA091F50CB091F60C52 -:109870008D839E83AF83B88729853A854B855C8528 -:10988000C301B2010F94C05B162F072F382E292E6B -:1098900020E030E0A9010F94CA5487FD12C22D8147 -:1098A0003E814F81588560E070E08FE793E40F942C -:1098B000BA5C69877D878E879F87212F302F432D44 -:1098C000522D0F94CA5487FF04C019850D853E841C -:1098D0002F84812F902FA32DB22D80931513909359 -:1098E0001613A0931713B09318132091EF0C309117 -:1098F000F00C4091F10C5091F20CC301B2010F94A5 -:1099000030552B013C016093091370930A13809327 -:109910000B1390930C13212F302F432D522D6D815B -:109920007E818F8198850F9430559B01AC016093A7 -:109930000D1370930E1380930F1390931013C301A4 -:10994000B2010F94C05BA70196010F94C05B20E0A9 -:1099500030E0A9010F94C05B69837A838B839C8379 -:109960004FEF50E060E070E0CE0101960E94E7C941 -:10997000C090E80CD090E90CE090EA0CF090EB0C71 -:1099800069817A818B819C810F942C5D7595679597 -:10999000C0920513D0920613E0920713F0920813B9 -:1099A00035CE8091AE139091AF13A091B013B091CA -:1099B000B1130097A105B10509F4EFCDA5019401FC -:1099C000281B390B4A0B5B0B57FDE7CD81E08093D9 -:1099D000B213E3CDC090020AD090030AE090040ACB -:1099E000F090050A20E030E040EA50E4C701B601FB -:1099F0000F94205E87FD0AC020E030E046E153E48A -:109A0000C701B6010F94CA54181634F560E060938C -:109A1000080A7CCD8091A9139091AA13A091AB1351 -:109A2000B091AC130097A105B10509F469CE881A6D -:109A3000990AAA0ABB0AB7FC63CE81E08093AD13F2 -:109A40005FCE4CEF55E460E176E48FEF0E942ACAC6 -:109A500021CE0E9418FD4FCE6091060A7091070A30 -:109A60006115710509F40AC1072E000C880B990BCA -:109A70000F94D154A70196010F94BF5B4B015C0179 -:109A800020E030E040E251EC0F94CA5487FDF6C06C -:109A900020E030E040E251E4C501B4010F94205EC3 -:109AA00018160CF4EFC040900D0A50900E0A60900A -:109AB0000F0A7090100A809153028111F8C0209112 -:109AC00001133091021340910313509104138091BC -:109AD000FD129091FE12A091FF12B09100138D83A0 -:109AE0009E83AF83B887C501B4010F94C05B162F66 -:109AF000072F382E292E20E030E0A9010F94CA54F8 -:109B000087FDE4C0A301920160E070E08FE793E479 -:109B10000F94BA5C69877D878E879F87212F302FAE -:109B2000432D522D0F94CA5487FF04C019850D850B -:109B30003E842F84812F902FA32DB22D809301136B -:109B400090930213A0930313B09304132091090A76 -:109B500030910A0A40910B0A50910C0AC501B401D8 -:109B60000F9430554B015C016093F5127093F6121F -:109B70008093F7129093F812212F302F432D522DFE -:109B8000C301B2010F9430552B013C016093F912CF -:109B90007093FA128093FB129093FC12A701960126 -:109BA0006091F1127091F2128091F3129091F4127F -:109BB0000F94BF5B2091110A3091120A4091130A51 -:109BC0005091140A0F9430552D813E814F81588554 -:109BD0000F94BF5B20ED3CEC4CE45DE30F943055FB -:109BE0002D813E814F8158850F94C05B6D837E83AC -:109BF0008F8398876093FD127093FE128093FF12FB -:109C000090930013C092F112D092F212E092F312EC -:109C1000F092F412A3019201C501B4010F94C05B4C -:109C20002D813E814F8158850F94C05B20E030E04C -:109C3000A9010F94C05B6B017C0120E030E0A90119 -:109C40000F94CA5487FDE2CE20E030E04FE753E4A2 -:109C5000C701B6010F94205E1816BCF0C701B6010B -:109C60000F942C5D75956795D2CE81E08093191382 -:109C700060E08ECE80E00E9487FDFBCC81E0809387 -:109C80005302C4CE81E0809353026FE7C0CE81E0DF -:109C9000809319136FE77CCE1092191319861A86D8 -:109CA0001B861C861D821E821F821886A7CD1092DD -:109CB00053021D821E821F82188620E030E0A90117 -:109CC00012CF10E000E0312C212C03CE10E000E098 -:109CD000312C212C2FCF90916F00292F227091FFD2 -:109CE00005C090916F009D7F90936F0034E0839F3B -:109CF000C0011124FC01E856FD4E40815181628172 -:109D00007381FC01E457FD4E40835183628373836A -:109D100081E080938B12222329F080916F00826072 -:109D200080936F00089590916F00292F227091FF0A -:109D300005C090916F009D7F90936F0094E0899F84 -:109D4000F0011124E856FD4E60817181828193817A -:109D5000222329F020916F00226020936F00089544 -:109D6000BC012091EE123091EF124091EE12509111 -:109D7000EF122417350711F09A01F7CF81E026176B -:109D8000370709F080E008952F923F924F925F923B -:109D90006F927F928F929F92AF92BF92CF92DF92FB -:109DA000EF92FF921F93CF93DF9300D01F92CDB716 -:109DB000DEB78FEF9FEF90938900809388001AE0C1 -:109DC0001A821982B4EB2B2EB5E43B2E7894809145 -:109DD000EA129091EB12A091EC12B091ED12892B46 -:109DE0008A2B8B2B09F0D7C180918B128823D1F05D -:109DF00010928B128091EE129091EF12892B91F0BC -:109E000010928A121092EF121092EE129091F515A4 -:109E10008091F615981731F08091F6158F5F8F704D -:109E20008093F6158091EE129091EF12892B09F430 -:109E3000B2C18090E6129090E712A090E812B09024 -:109E4000E9124091E2125091E3126091E412709194 -:109E5000E512C090D512D12CE12CF12CDB01CA0106 -:109E600088199909AA09BB09C816D906EA06FB068A -:109E700010F4D701C601382F880D991DAA1DBB1DEE -:109E80008093E6129093E712A093E812B093E91240 -:109E900080918400909185004E96C090BD12D09024 -:109EA000BE12E090BF12F090C0124091AD125091DE -:109EB000AE126091AF127091B0124C0D5D1D6E1D0F -:109EC0007F1D4093BD125093BE126093BF127093DA -:109ED000C01277FD1CC0889AC0909812D090991239 -:109EE000E0909A12F0909B1240918212042E000C86 -:109EF000550B660B770B4C0D5D1D6E1D7F1D409342 -:109F000098125093991260939A1270939B12C0907A -:109F1000C112D090C212E090C312F090C4124091CE -:109F2000B1125091B2126091B3127091B4124C0DF3 -:109F30005D1D6E1D7F1D4093C1125093C212609330 -:109F4000C3127093C41277FD1CC08E9AC0909C12ED -:109F5000D0909D12E0909E12F0909F12409183123B -:109F6000042E000C550B660B770B4C0D5D1D6E1D02 -:109F70007F1D40939C1250939D1260939E1270938C -:109F80009F12C090C512D090C612E090C712F090F8 -:109F9000C8124091B5125091B6126091B7127091EB -:109FA000B8124C0D5D1D6E1D7F1D4093C512509360 -:109FB000C6126093C7127093C81277FD21C020911A -:109FC0000B012095287020930901C090A012D09019 -:109FD000A112E090A212F090A31240918412042EDC -:109FE000000C550B660B770B4C0D5D1D6E1D7F1D18 -:109FF0004093A0125093A1126093A2127093A312E7 -:10A00000C090C912D090CA12E090CB12F090CC123E -:10A010004091B9125091BA126091BB127091BC126A -:10A020004C0D5D1D6E1D7F1D4093C9125093CA12C9 -:10A030006093CB127093CC1277FD1CC0149AC09021 -:10A04000A412D090A512E090A612F090A712409111 -:10A050008512042E000C550B660B770B4C0D5D1D05 -:10A060006E1D7F1D4093A4125093A5126093A612FB -:10A070007093A712409184005091850048175907AA -:10A08000C8F34091BD125091BE126091BF12709101 -:10A09000C01277FD15C0C090A912D090AA12E0900E -:10A0A000AB12F090AC124C195D096E097F09409318 -:10A0B000BD125093BE126093BF127093C012889865 -:10A0C0004091C1125091C2126091C3127091C4129A -:10A0D00077FD15C0C090A912D090AA12E090AB12E3 -:10A0E000F090AC124C195D096E097F094093C112C2 -:10A0F0005093C2126093C3127093C4128E98409111 -:10A10000C5125091C6126091C7127091C81277FDA6 -:10A1100019C0C090A912D090AA12E090AB12F09092 -:10A12000AC124C195D096E097F094093C51250931A -:10A13000C6126093C7127093C81220910B01287049 -:10A14000209309014091C9125091CA126091CB121B -:10A150007091CC1277FD15C0C090A912D090AA12B0 -:10A16000E090AB12F090AC124C195D096E097F09BA -:10A170004093C9125093CA126093CB127093CC12C1 -:10A180001498315041F04091840050918500481757 -:10A190005907C8F381CE8091EA129091EB12A091F9 -:10A1A000EC12B091ED12892B8A2B8B2B09F074C322 -:10A1B000E091EE12F091EF12309709F4F4C480911F -:10A1C000E6129091E712A091E812B091E912409145 -:10A1D000E2125091E3126091E4127091E51284173B -:10A1E0009507A607B70708F46BC080914D02882336 -:10A1F00009F44CC085899689A789B08D892B8A2B53 -:10A200008B2BA1F4818D928DA38DB48D892B8A2BFC -:10A210008B2B61F4858D968DA78DB0A1892B8A2B10 -:10A220008B2B21F48091C00B882381F161A172A155 -:10A2300083A194A1C0908612D0908712E0908812DA -:10A24000F090891225A923FF07C0909580957095FD -:10A2500061957F4F8F4F9F4F0F94D1542091DF0C0A -:10A260003091E00C4091E10C5091E20C0F9430558C -:10A270009B01AC01C701B6010F94BF5B60938612CE -:10A2800070938712809388129093891210928A1289 -:10A290001092EF121092EE129091F5158091F61532 -:10A2A000981709F480C48091F6158F5F8F708093A2 -:10A2B000F615A0EDCA2EA7E0DA2EE12CF12C4EC146 -:10A2C0004091DE125091DF126091E0127091E11224 -:10A2D000481759076A077B0708F467C04091DA12EC -:10A2E0005091DB126091DC127091DD1281A992A96C -:10A2F000A3A9B4A9FF24499FE12C5A9F90016A9F0A -:10A30000300D699F200D311D4A9FE00C211D3F1D1E -:10A31000599FE00C211D3F1D689FE00C211D3F1D32 -:10A32000589FE10C2F1D3F1DE6942F1D3F1DB49F2C -:10A33000200D311DB59F300D112482AD93ADA4AD1C -:10A34000B5AD820F931FA11DB11D8093D6129093BE -:10A35000D712A093D812B093D912C6A8D7A8E0AC50 -:10A36000F1ACC816D906EA06FB0640F4C092D61234 -:10A37000D092D712E092D812F092D9128090D612D1 -:10A380009090D712A090D812B090D91288E995E495 -:10A3900021E0FC01C590D590E590F490C814D90453 -:10A3A000EA04FB0408F4C9C2D3C24091D11250910F -:10A3B000D2126091D3127091D412481759076A07CC -:10A3C0007B0708F063C04091CD125091CE1260918E -:10A3D000CF127091D01281A992A9A3A9B4A9FF2488 -:10A3E000499FE12C5A9F90016A9F300D699F200D73 -:10A3F000311D4A9FE00C211D3F1D599FE00C211D7E -:10A400003F1D689FE00C211D3F1D589FE10C2F1D33 -:10A410003F1DE6942F1D3F1DB49F200D311DB59F9C -:10A42000300D1124C901A0E0B0E08090D6129090C8 -:10A43000D712A090D812B090D912FE96881599051F -:10A44000AA05BB0580F4C080D180E280F380881A21 -:10A45000990AAA0ABB0A8C149D04AE04BF0438F4FE -:10A460004601570104C080809180A280B38088E9B2 -:10A4700095E421E0FC01C590D590E590F490C814D6 -:10A48000D904EA04FB0408F4CBC2D5C280914E0281 -:10A4900090914F02A0915002B0915102B7FF56C067 -:10A4A00086A997A9A0ADB1AD28E935E441E0F9014D -:10A4B000C590D590E590F490C816D906EA06FB063B -:10A4C00058F4B695A79597958795440F2C5F3F4F05 -:10A4D00055E4243B350759F74093D5128032910556 -:10A4E000A105B10508F432C38097A109B10981150E -:10A4F00028E09207A105B10508F405C344E0949F44 -:10A500009001112428563E4BF90132964591549101 -:10A51000EE27859FB001849F610D7E1F06946E1FFC -:10A520007E1F1124CB01A0E0B0E0F90145915491C8 -:10A5300060E070E0481B590B6A0B7B0B40934E02A6 -:10A5400050934F026093500270935102C0904E029C -:10A55000D0904F02E0905002F09051028091EE12A4 -:10A560009091EF12892B09F08FC10E94608C90931B -:10A57000EF128093EE12892B09F486C18091EE12BE -:10A580009091EF129C838B83DC018C9183FF42C0FE -:10A5900055968D919D910D90BC91A02D8093981210 -:10A5A00090939912A0939A12B0939B12EB81FC8125 -:10A5B000818D928DA38DB48D80939C1290939D126A -:10A5C000A0939E12B0939F12858D968DA78DB0A1FA -:10A5D0008093A0129093A112A093A212B093A31201 -:10A5E00081A192A1A3A1B4A18093A4129093A512DA -:10A5F000A093A612B093A7129091F5158091F6152D -:10A60000981709F4B2CF8091F6158F5F8F70809301 -:10A61000F615ABCFAB81BC8155964D905D906D909A -:10A620007C90589781E0411451046104710409F44D -:10A6300080E0EB81FC81C18CD28CE38CF48CC11462 -:10A64000D104E104F10409F08260AB81BC815D9624 -:10A650004D915D916D917C919097411551056105EA -:10A66000710509F0846080938A121092CD121092C5 -:10A67000CE121092CF121092D0121092DA121092C3 -:10A68000DB121092DC121092DD12EB81FC8185A1AD -:10A6900096A1A7A1B0A58093E2129093E312A09394 -:10A6A000E412B093E512882499245401881A990A77 -:10A6B000AA0ABB0A8092C9129092CA12A092CB1227 -:10A6C000B092CC128092C5129092C612A092C7127C -:10A6D000B092C8128092C1129092C212A092C3127C -:10A6E000B092C4128092BD129092BE12A092BF127C -:10A6F000B092C012440C551C661C771C4092AD12DF -:10A700005092AE126092AF127092B012CC0CDD1C5F -:10A71000EE1CFF1CC092B112D092B212E092B312A2 -:10A72000F092B412440F551F661F771F4093B51265 -:10A730005093B6126093B7127093B81241A152A110 -:10A7400063A174A1440F551F661F771F4093B91270 -:10A750005093BA126093BB127093BC12880F991F6A -:10A76000AA1FBB1F8093A9129093AA12A093AB12A9 -:10A77000B093AC121092E6121092E7121092E81207 -:10A780001092E91281A592A5A3A5B4A58093DE122B -:10A790009093DF12A093E012B093E11285A596A5E5 -:10A7A000A7A5B0A98093D1129093D212A093D312EF -:10A7B000B093D41285A990912B0A891721F0809328 -:10A7C0002B0A0E94218C0E94E7792FEF3FEFA9010D -:10A7D00020934E0230934F02409350025093510207 -:10A7E000EB81FC8182AD93ADA4ADB5AD8093D61263 -:10A7F0009093D712A093D812B093D91228E935E4D8 -:10A8000041E0F901C590D590E590F490C816D906BD -:10A81000EA06FB0650F4B695A79597958795440FE1 -:10A820002C5F3F4F2216330661F74093D5128032DA -:10A830009105A105B10508F4B1C18097A109B1093D -:10A840008115F8E09F07A105B10508F484C144E033 -:10A85000949F9001112428563E4BF9013296459160 -:10A860005491EE27859FB001849F610D7E1F069451 -:10A870006E1F7E1F1124F901C590D490E12CF12C9C -:10A88000C61AD70AE108F108C092EA12D092EB1278 -:10A89000E092EC12F092ED128091EA129091EB129C -:10A8A000A091EC12B091ED12AC01BD010097E1E076 -:10A8B000AE07B10520F04FEF5FEF60E070E0841B62 -:10A8C000950BA60BB70B8093EA129093EB12A09313 -:10A8D000EC12B093ED12F894809184009091850071 -:10A8E0004096115059F029813A81240F351F3A833F -:10A8F00029832817390708F469CA02C09A83898313 -:10A9000049815A81509389004093880078940F9030 -:10A910000F900F900F90DF91CF911F91FF90EF90CC -:10A92000DF90CF90BF90AF909F908F907F906F906F -:10A930005F904F903F902F900895B694A79497946E -:10A940008794220F0496A5E4843B9A0709F021CD51 -:10A950002093D512B0E28B169104A104B10408F43F -:10A9600059C020E2821A9108A108B108811438E088 -:10A970009306A104B104F8F0A4E09A9EC00111244A -:10A9800088569E4BFC01329625913491F82DEE2786 -:10A99000F39FD001F29FA10DBE1F0694AE1FBE1FF4 -:10A9A0001124FC01C590D490E12CF12CCA1ADB0AC9 -:10A9B000E108F10822C0D501C401B695A795979585 -:10A9C0008795FC01EC7FCF018856924CFC01C59025 -:10A9D000D490FC01329625913491E82DE770E29FE6 -:10A9E000C001E39F900D1124F3E096958795FA95A9 -:10A9F000E1F7C81AD90AE12CF12C4C0D5D1D6E1D32 -:10AA00007F1D4093DA125093DB126093DC12709337 -:10AA1000DD12A4CDA0E28A2E912CA12CB12CA1CFC5 -:10AA2000B694A79497948794220F0496E5E4843B08 -:10AA30009E0709F01FCD2093D512F0E28F169104E6 -:10AA4000A104B10408F459C020E2821A9108A108B7 -:10AA5000B108811438E09306A104B104F8F0A4E031 -:10AA60009A9EC001112488569E4BFC013296259176 -:10AA70003491F82DEE27F39FD001F29FA10DBE1F58 -:10AA80000694AE1FBE1F1124FC01C590D490E12C8A -:10AA9000F12CCA1ADB0AE108F10822C0D501C40171 -:10AAA000B695A79597958795FC01EC7FCF018856C1 -:10AAB000924CFC01C590D490FC01329625913491C2 -:10AAC000E82DE770E29FC001E39F900D112433E071 -:10AAD000969587953A95E1F7C81AD90AE12CF12C99 -:10AAE0004C0D5D1D6E1D7F1D4093CD125093CE12F7 -:10AAF0006093CF127093D01231CDE0E28E2E912C64 -:10AB0000A12CB12CA1CFAC01BD01769567955795CD -:10AB10004795FA01EC7F9F012856324CF901459187 -:10AB20005491F9013296659174918770869F9001D6 -:10AB3000879F300D1124C901F3E096958795FA950A -:10AB4000E1F7481B590B60E070E0F8CC80E290E040 -:10AB5000A0E0B0E0C9CCAC01BD01769567955795F2 -:10AB60004795FA01EC7F9F012856324CF901C590B8 -:10AB7000D490F9013296459154918770849F900149 -:10AB8000859F300D1124C90123E0969587952A955C -:10AB9000E1F7C81AD90AE12CF12C76CE80E290E0D8 -:10ABA000A0E0B0E04ACE80EDC82E87E0D82EE12CA0 -:10ABB000F12CDBCC2F923F924F925F926F927F925B -:10ABC0008F929F92AF92BF92CF92DF92EF92FF92BD -:10ABD0000F931F93CF93DF93CDB7DEB7AC970FB62C -:10ABE000F894DEBF0FBECDBF182F6CA7542EB22E27 -:10ABF000A32E9BE7692E99E4792E00E080E0812E58 -:10AC0000012E000C99082AEC210F2BA7FE0131968A -:10AC10007F01F30132964490242C312C28143904FE -:10AC200009F0A4C081115DC001115BC0AF92BF9259 -:10AC300023E739E43F932F93FF92EF920F946254EE -:10AC4000FAA6E9A60F900F900F900F900F900F901B -:10AC50006701F60181916F01882319F00E94A665B2 -:10AC6000F8CF1F924F922EE639E43F932F93FF9235 -:10AC7000EF920F9462540F900F900F900F900F90DF -:10AC80000F906701F60181916F01882319F00E94EE -:10AC9000A665F8CF812F0F94DE36FBA5F7FD1DC00A -:10ACA00026E3221A31083F922F9284E699E49F937B -:10ACB0008F93FF92EF920F9462540F900F900F902A -:10ACC0000F900F900F90E9A5FAA58191FAA7E9A737 -:10ACD0008823B1F00E94A665F6CF88E00F948840E3 -:10ACE0000FC08EE20E94A665EB2DFA2DDF010D90BC -:10ACF0000020E9F78A2F8B19875E0F94884001E0C6 -:10AD0000F301C590D490412CF6018491811107C0C4 -:10AD1000312C87E2C82ED12CC418D1080AC00E9459 -:10AD2000A6654394FFEFCF1ADF0A27E24212ECCF69 -:10AD30000AC0832D90E08C159D052CF480E20E94C2 -:10AD4000A6653394F6CF552069F0812F0E941763D2 -:10AD5000882309F4C7C03CA53111C4C089E599E432 -:10AD60000F94D0408AE00E94A66581E0F4E06F0E67 -:10AD7000711C2BE662162AE4720609F04ACF811193 -:10AD8000F5C0AF92BF928CE299E49F938F93CE016E -:10AD900001967C019F938F930F94625467010F90EB -:10ADA0000F900F900F900F900F905701F501819128 -:10ADB0005F01882319F00E94A665F8CF9F928F92B9 -:10ADC00087E299E49F938F93FF92EF920F946254DE -:10ADD0000F900F900F900F900F900F905701F5016B -:10ADE00081915F01882319F00E94A665F8CF812F19 -:10ADF0000F94DE360AEC010F07FD1BC0C401C69795 -:10AE00009F938F938DE199E49F938F93FF92EF929D -:10AE10000F9462540F900F900F900F900F900F901F -:10AE20005701F50181915F01882331F00E94A665E9 -:10AE3000F8CF88E00F9488408CE099E40F94D040DC -:10AE4000552009F44BC0812F0F949537811140C0D4 -:10AE5000812F0F94033A882331F087E10F948840C3 -:10AE600084E399E42CC0003128F5802F0F94153E1F -:10AE7000092E000CAA0BBB0BBF93AF939F938F932C -:10AE800088EF98E49F938F93FF92EF920F94625410 -:10AE90000FB6F894DEBF0FBECDBFF60181916F01F2 -:10AEA000882319F00E94A665F8CF84EF98E40F94E8 -:10AEB000D04003C087E10F9488408EE399E40F945B -:10AEC000D040812F0F94FE366AE070E00E94366613 -:10AED00087E10F948840812F0F941D378AE00E94EC -:10AEE000A66544C0F3013396E491E11121C08BA51E -:10AEF0000F94153E092E000CAA0BBB0BBF93AF930A -:10AF00009F938F9388E499E49F938F93FF92EF929E -:10AF10000F94625467010FB6F894DEBF0FBECDBF29 -:10AF2000F60181916F018823D9F00E94A665F8CFC0 -:10AF3000812F0F94033A811103C08EE399E407C077 -:10AF4000812F0F94953781110BC084E399E40F94FE -:10AF5000D040812F0F94FE366AE070E00E94366682 -:10AF6000011100CF812F0F941D37FCCEAC960FB688 -:10AF7000F894DEBF0FBECDBFDF91CF911F910F912F -:10AF8000FF90EF90DF90CF90BF90AF909F908F9009 -:10AF90007F906F905F904F903F902F9008959F9279 -:10AFA000AF92BF92CF92DF92EF92FF920F931F93D7 -:10AFB000CF93DF9383EEA82E82E0B82E02E91CE047 -:10AFC000C9EADCE093E7C92E9CE0D92E26EDE22EFB -:10AFD00028E0F22E912CF50181915F010E94779E6D -:10AFE000882309F10E94F79DF7012081211104C0F7 -:10AFF0002091DF08222339F0288139814A815B8141 -:10B000000F94C05B0AC0F3E09F1639F0F60120816F -:10B010003181428153810F94BF5BF801608371835A -:10B020008283938309C088819981AA81BB81F801B9 -:10B0300080839183A283B38393940C5F1F4F2496E4 -:10B04000F4E0CF0ED11C2FEFE21AF20A84E098123E -:10B05000C2CF40E050E0BA0186E40E94EC8220E0DA -:10B0600030E0A9010F94205E181684F40E94F79D29 -:10B0700020E030E040E752E40F94BA5C60933F0276 -:10B0800070934002809341029093420280917B1121 -:10B0900083FD28C08091180A882321F12091B50CE6 -:10B0A0003091B60C4091B70C5091B80C60919E0C49 -:10B0B00070919F0C8091A00C9091A10C0F94BF5B9C -:10B0C0002091250A3091260A4091270A5091280A9A -:10B0D0000F94C05B6093250A7093260A8093270A19 -:10B0E0009093280ADF91CF911F910F91FF90EF90DD -:10B0F000DF90CF90BF90AF909F900895CF9384E55D -:10B100000E94779E8823F1F00E941DEDC82F18162B -:10B11000D4F40F9450418DE40E94A6656AE070E07B -:10B1200080914E1490914F140E9436666C2FCC0F74 -:10B13000770B89EC9DE40F942D418AE00E94A6656F -:10B140008FEF01C080E0CF910895CF92DF92EF9210 -:10B15000FF92CF93DF93CDB7DEB7A0970FB6F894E9 -:10B16000DEBF0FBECDBF80E090E0A8E4B2E48983EB -:10B170009A83AB83BC8380E090E0A0E2B1E48D834E -:10B180009E83AF83B88789879A87AB87BC870E94E5 -:10B190007ED887FDD4C041E061E081E00E9459C0C3 -:10B1A00081110E94DF9D85E40E942E9E882381F0FC -:10B1B0000E94F79D6B017C0120E030E0A9010F9413 -:10B1C000205E87FF0BC0F7FAF094F7F8F09406C002 -:10B1D000C12CD12C80E8E82E80E4F82EF7FAF09408 -:10B1E000F7F8F094C98ADA8AEB8AFC8A8AE50E9429 -:10B1F000779E882351F040E050E0BA018AE50E9432 -:10B20000EC8269877A878B879C8788E50E94779E86 -:10B21000882351F040E050E0BA0188E50E94EC82BA -:10B2200069837A838B839C8389E50E94779E882338 -:10B2300051F040E050E0BA0189E50E94EC826D8354 -:10B240007E838F83988785E50E942E9E882329F030 -:10B250000E94F79D6B017C0108C0C090370CD09014 -:10B26000380CE090390CF0903A0C20E030E0A90165 -:10B27000C701B6010F94205E87FF04C0F7FAF0946F -:10B28000F7F8F094F7FAF094F7F8F094CD8ADE8AA4 -:10B29000EF8AF88E198E1A8E1B8E1C8E8CE40E94FB -:10B2A0002E9E882329F00E94F79D6B017C0108C027 -:10B2B000C0903B0CD0903C0CE0903D0CF0903E0CCC -:10B2C00020E030E0A901C701B6010F94205E87FF9E -:10B2D00004C0F7FAF094F7F8F094CD8EDE8EEF8E7E -:10B2E000F8A262E070E082E40E94849EF82E21E0E1 -:10B2F000AE014B5E5F4FBE016F5F7F4FCE01419647 -:10B300000F94760C8823D9F06F2D81E00F944E0AAC -:10B3100080E090E0A0EAB1E48D879E87AF87B88B8C -:10B320008091C00B882359F02F2DAE01435F5F4FF2 -:10B33000BE01635E7F4FCE0149960F94F30AA0963B -:10B340000FB6F894DEBF0FBECDBFDF91CF91FF9057 -:10B35000EF90DF90CF900895CF92DF92EF92FF921F -:10B36000CF93DF93CDB7DEB76C970FB6F894DEBFFF -:10B370000FBECDBF8CE40E942E9E882381F00E94D8 -:10B38000F79D6B017C0120E030E0A9010F94205E65 -:10B3900087FF0BC0F7FAF094F7F8F09406C0C12CC1 -:10B3A000D12C80E8E82E80E4F82EF7FAF094F7F834 -:10B3B000F094C98EDA8EEB8EFC8E80E090E0A8E4EB -:10B3C000B2E489839A83AB83BC8380E090E0A0E2FF -:10B3D000B1E48D839E83AF83B88789879A87AB87D3 -:10B3E000BC8788E50E94779E8823A1F040E050E06A -:10B3F000BA0188E50E94EC822091730C3091740CA4 -:10B400004091750C5091760C0F94BF5B69837A83E1 -:10B410008B839C8389E50E94779E8823A1F040E07E -:10B4200050E0BA0189E50E94EC822091730C3091C2 -:10B43000740C4091750C5091760C0F94BF5B6D832A -:10B440007E838F8398878AE50E94779E882351F0B8 -:10B4500040E050E0BA018AE50E94EC8269877A8771 -:10B460008B879C87F090F517F2FAFF24F0F81D8681 -:10B470001E861F86188A20E0AE01435F5F4FBE0123 -:10B480006F5F7F4FCE0149960F94760C882329F188 -:10B49000F11023C060E080E00F944E0A80E090E05D -:10B4A000A0E8B0E48D8B9E8BAF8BB88F198A1A8A77 -:10B4B0001B8A1C8A1D861E861F86188A8091C00BD7 -:10B4C000882359F020E0AE014B5E5F4FBE016F5EF6 -:10B4D0007F4FCE010D960F94F30A6C960FB6F89439 -:10B4E000DEBF0FBECDBFDF91CF91FF90EF90DF9019 -:10B4F000CF9008950F94504189EB9DE40F94D04074 -:10B5000083E50E942E9E882321F00E9431ED8093D6 -:10B51000310280913102811103C08EE09DE002C0B2 -:10B5200082E19DE00F94D04081EB9DE40F94D040E8 -:10B530002091730C3091740C4091750C5091760CE5 -:10B540006091190270911A0280911B0290911C0265 -:10B550000F94C05BAB01BC018FEA9DE40F941C41CA -:10B560002091770C3091780C4091790C50917A0CA5 -:10B570006091210270912202809123029091240215 -:10B580000F94C05BAB01BC018CEA9DE40F941C419D -:10B5900020917B0C30917C0C40917D0C50917E0C65 -:10B5A0006091290270912A0280912B0290912C02C5 -:10B5B0000F94C05BAB01BC0189EA9DE40F941C4170 -:10B5C00081EA9DE40F94D0402091730C3091740C6B -:10B5D0004091750C5091760C60911D0270911E0285 -:10B5E00080911F02909120020F94C05BAB01BC01BF -:10B5F0008FE99DE40F941C412091770C3091780CD9 -:10B600004091790C50917A0C60912502709126023C -:10B6100080912702909128020F94C05BAB01BC017E -:10B620008CE99DE40F941C4120917B0C30917C0CA3 -:10B6300040917D0C50917E0C60912D0270912E02F4 -:10B6400080912F02909130020F94C05BAB01BC013E -:10B6500089E99DE40F941C418AE00C94A665882337 -:10B6600019F00F94504103C080E20E94A6654091FA -:10B67000901150919111609192117091931182E902 -:10B680009DE40F941C41409194115091951160914B -:10B690009611709197118FE89DE40F941C41409191 -:10B6A00098115091991160919A1170919B118CE8A9 -:10B6B0009DE40F941C4140919C1150919D1160910B -:10B6C0009E1170919F1189E89DE40F941C418AE0BE -:10B6D0000C94A6652F923F924F925F926F927F9249 -:10B6E0008F929F92AF92BF92CF92DF92EF92FF9292 -:10B6F0000F931F93CF93DF9300D01F92CDB7DEB788 -:10B700002DB63EB684E50E942E9E882309F441C0E2 -:10B7100060E089E40E9441ED082F61E070E082E57D -:10B720000E94849E6C0160E070E083E50E94849E2C -:10B73000182F65E470E08CE40E94849E5C0164EF45 -:10B7400071E087E50E94849E2C01990F66087708B6 -:10B75000812F90E0A816B906CCF01634A8F4011198 -:10B7600056C1812F0E941763882309F450C122E239 -:10B7700037E041E060E0812F0E94DAD58AE00E9444 -:10B78000A6658AE00E94A6651F5FE2CF8BE69AE479 -:10B7900099C085E40E942E9E8823B1F00E9431ED6D -:10B7A0008093B51388E79DE40F94D0408091B51342 -:10B7B000811103C08AE69DE402C08EE69DE40F94E9 -:10B7C000D04081E79DE47EC083E50E942E9E8823C1 -:10B7D00009F47BC060E080E50F945F10082F10E053 -:10B7E000B80180E19DE40F942D41F801EE0FFF1F99 -:10B7F000EE0FFF1FED5BFC4F608171818FEF9CE4CA -:10B800000F940F416AE570E08EEE9CE40F940F41B7 -:10B810008AE00E94A66563E170E08AED9CE40F94E3 -:10B820002D418AE00E94A6658EEB9CE40F94D040E7 -:10B8300082E79AE40F94D0408AE00E94A66552986D -:10B840005A9A89EA9CE40F94D04054EF452E55242F -:10B850005394612C712C49825A826B827C82BE0186 -:10B860006F5F7F4F80EA0F94B70D6EEE862E62E019 -:10B87000962EA12CB12C89829A82AB82BC82BE0109 -:10B880006F5F7F4F8AE50F94B70D7801EE0CFF1CB8 -:10B890004A990DC149825A826B827C82BE016F5FD8 -:10B8A0007F4F8CE30F94B70D4A99E3C000C18FEF2F -:10B8B000E81AF80A98E9E9169AE3F90609F046C188 -:10B8C00088E79AE40F94D040DAC160E070E080E548 -:10B8D0000E94849E8C01F82E80E50E94779E811143 -:10B8E00007C0E5E4E01708F4CAC195E4E92E01C0F9 -:10B8F000E02E60E089E40E9441ED582E60E087E58B -:10B900000E9441ED882309F47FC08DB69EB68BE579 -:10B910009DE40F94D0406801DD248E2D90E08C19B9 -:10B920009D0901962DB73EB7281B390B0FB6F89429 -:10B930003EBF0FBE2DBF8DB79EB701965C01E016CE -:10B9400060F0063440F4511064C1802F0E941763E8 -:10B95000882309F45EC10F5FF2CF4090E00883E0D6 -:10B960008093E00881E08093061442E45DE46BE498 -:10B970007DE482E00F94330A82E39DE40E94C28258 -:10B980007F2CE71418F195E49715F0F0511005C0DD -:10B99000872D0E941763811117C0872D0F94B83C23 -:10B9A000682E072D10E00C191D090A0D1B1DF8014A -:10B9B0008081681649F029E935E040E0652D872D42 -:10B9C0000E94DAD5F80160827394DBCF809106146F -:10B9D000882339F068EC70E080E090E00F946440D8 -:10B9E000CFCF4092E0080FB6F8949EBE0FBE8DBE3A -:10B9F00046C1F5E4FF1538F029E935E041E0652D51 -:10BA00008F2D0E94DAD5F394EF1498F738C1A895DA -:10BA10002DE237E041E0602F812F0E94DAD561E00E -:10BA2000812F0F94103DE12CF12CEC14FD040CF04F -:10BA3000A8CEA89560E0812F0F94E13CC301B2012C -:10BA40000F946440A89561E0812F0F94E13CC301FD -:10BA5000B2010F946440A89560E0812F0F94E13CFF -:10BA6000C301B2010F946440A8952FEFE21AF20AC5 -:10BA7000DCCF89829A82AB82BC82BE016F5F7F4F2E -:10BA80008AE00F94B70D4A9912C089829A82AB82DC -:10BA9000BC82BE016F5F7F4F8AE50F94B70D84E6CD -:10BAA0009CE40F94D040CC24C394D12C36C08BE4BA -:10BAB0009CE40F94D04084E0B82EC701800F911F02 -:10BAC0009C0121513A4E69016AE070E0C6010E9472 -:10BAD0002E6464EF71E080E090E00F946440A9B0C0 -:10BAE0006AE570E0C6010E942E6464EF71E080E0B8 -:10BAF00090E00F94644089B1BA94B110E5CF84709E -:10BB0000D82EA2FE9CC08BE19CE40F94D040DD2097 -:10BB100009F4A2C0C12CDD24D3940E0D1F1D0151C8 -:10BB20001A4E6AE070E0C8010E942E6464EF71E072 -:10BB300080E090E00F94644087E39BE40F94D04052 -:10BB4000E12CF12C34EFA32EBB24B39462E070E01F -:10BB500080E090E00F946440C701B5010F948F5BC3 -:10BB6000892B51F40F946E3E6093671470936814A0 -:10BB70008093691490936A1489B182FB882780F9B5 -:10BB80008D1509F494CEE12CF12C89B182FB882724 -:10BB900080F9D81669F062E070E080E090E00F94E0 -:10BBA00064408FEFE81AF80A9FE0E916F10469F79C -:10BBB00089E29BE40F94D0403FE0E316F10449F49E -:10BBC00089E19BE40F94D040CC20A9F08DEF9AE45A -:10BBD00014C0B701660F771F8CE09BE40F940F41F0 -:10BBE0008AE00E94A66534E0E316F10408F044C040 -:10BBF00083E99AE406C08DEE9AE40F94D0408EEB70 -:10BC00009AE40F94D0406AE570E0C8010E942E6467 -:10BC100036C062E0802F0F94103D61E070E080E05C -:10BC200090E00F94343E602E712C6C187D08802FAC -:10BC30000F94B83CF501E60DF71D80838CCE882368 -:10BC400049F08DEF9BE40F94D04068E377E08CEBF4 -:10BC50009BE40AC0C12C61CF8DEF9BE40F94D040D0 -:10BC600063E677E08CED9BE40F9439418AE00E9413 -:10BC7000A66581E69BE426CE8AEC9AE4BECF0FB699 -:10BC8000F8943EBE0FBE2DBE0F900F900F900F90F8 -:10BC9000DF91CF911F910F91FF90EF90DF90CF90A8 -:10BCA000BF90AF909F908F907F906F905F904F90DC -:10BCB0003F902F9008952F923F924F925F926F92F4 -:10BCC0007F928F929F92AF92BF92CF92DF92EF922C -:10BCD000FF920F931F93CF93DF93CDB7DEB7C05B77 -:10BCE000D1090FB6F894DEBF0FBECDBF8C019E0107 -:10BCF000235C3F4F2B963FAF2EAF2B978CE0D901A3 -:10BD00001D928A95E9F78AEA9FE40F94D04023E3D5 -:10BD100033E34BEB52E4F8016081718182819381BE -:10BD20000F943055CA55DF4F688379838A839B838C -:10BD3000C65AD0402DE330E02C0F3D1F245F3F4F0B -:10BD4000C155DF4F39832883CF5AD040AE01435CC1 -:10BD50005F4F6A0198ED892E91E1992E01E010E084 -:10BD60005401E12CF12CD5016D917D918D919D9126 -:10BD70005D019B01AC010F940D5F81110EC0F601B6 -:10BD800020813181C8010E2C02C0880F991F0A94AE -:10BD9000E2F7822B932B91838083FFEFEF1AFF0A48 -:10BDA00026E0E216F104F9F638E1830E911C42E038 -:10BDB000C40ED11CC155DF4F88819981CF5AD04024 -:10BDC000C816D90669F6A8EDB1E1C355DF4FB983AE -:10BDD000A883CD5AD040EAE6FFE4C555DF4FF9838A -:10BDE000E883CB5AD040C655DF4F1882CA5AD0409C -:10BDF0009E012F5F3F4F2D963FAF2EAF2D97C5551C -:10BE0000DF4FE881F981CB5AD04085919591A5917A -:10BE1000B491C456DF4F88839983AA83BB83CC59DE -:10BE2000D040C355DF4FA881B981CD5AD040699623 -:10BE3000BFAFAEAF6997EAE2FFE46C96FFAFEEAF3B -:10BE40006C976A961FAE6A976C96EEADFFAD6C97D5 -:10BE50002591359145915491AC962CAF3DAF4EAFA5 -:10BE60005FAFAC976996AEADBFAD69976D917D91AF -:10BE70008D919C919B01AC010F940D5F811163C06A -:10BE80006A96BFAD6A97BF5F6A96BFAF6A976C96B6 -:10BE9000EEADFFAD6C9734966C96FFAFEEAF6C973E -:10BEA00069962EAD3FAD69972C5F3F4F69963FAFC6 -:10BEB0002EAF6997B63041F6C655DF4F3881CA5A62 -:10BEC000D0403F5FC655DF4F3883CA5AD040C55572 -:10BED000DF4F48815981CB5AD0404C5F5F4FC555E9 -:10BEE000DF4F59834883CB5AD040C355DF4F8881F9 -:10BEF0009981CD5AD0404896C355DF4F99838883A6 -:10BF0000CD5AD040363009F07ACF81E19FE40F94CA -:10BF1000D040C055DF4F0FB6F894DEBF0FBECDBF87 -:10BF2000DF91CF911F910F91FF90EF90DF90CF9015 -:10BF3000BF90AF909F908F907F906F905F904F9049 -:10BF40003F902F9008952D96EEADFFAD2D972CE3E9 -:10BF500011922A95E9F789819A81AB81BC81C457F6 -:10BF6000DF4F88839983AA83BB83CC58D0402D812F -:10BF70003E814F815885C057DF4F288339834A83DC -:10BF80005B83C059D04089859A85AB85BC85C857ED -:10BF9000DF4F88839983AA83BB83C858D0402D85FF -:10BFA0003E854F855889CC57DF4F288339834A8394 -:10BFB0005B83C458D04089899A89AB89BC89C058B1 -:10BFC000DF4F88839983AA83BB83C058D0402D89D3 -:10BFD0003E894F89588DC458DF4F288339834A835F -:10BFE0005B83CC57D040898D9A8DAB8DBC8DEC9600 -:10BFF0008CAF9DAFAEAFBFAFEC972D8D3E8D4F8D0B -:10C0000058A1E8962CAF3DAF4EAF5FAFE89789A13E -:10C010009AA1ABA1BCA1E4968CAF9DAFAEAFBFAF70 -:10C02000E49729AD3AAD4BAD5CADE0962CAF3DAF9A -:10C030004EAF5FAFE0973DA1CC56DF4F3883C45978 -:10C04000D0404EA1CB56DF4F4883C559D0405FA1A9 -:10C05000CA56DF4F5883C659D04088A5C956DF4F0E -:10C060008883C759D04099A5C856DF4F9883C859CF -:10C07000D040AAA5C756DF4FA883C959D040BBA559 -:10C08000C656DF4FB883CA59D040ECA5C556DF4F1E -:10C09000E883CB59D04028ED31E1CC55DF4F3983CF -:10C0A0002883C45AD040AE01435C5F4FC056DF4F77 -:10C0B00059834883C05AD0408AE69FE4CE55DF4F6B -:10C0C00099838883C25AD040CE55DF4FE881F981E9 -:10C0D000C25AD0402591359145915491A0962CAFEC -:10C0E0003DAF4EAF5FAFA097C056DF4FA881B9817B -:10C0F000C05AD0408D919D91C056DF4FB983A8831F -:10C10000C05AD0409C0140E050E0A8962CAF3DAF13 -:10C110004EAF5FAFA897CC55DF4F48815981C45AC5 -:10C12000D0402F965FAF4EAF2F978AE2282E8FE434 -:10C13000382E00E010E0A8968CAD9DADAEADBFAD41 -:10C14000A897002E04C0B695A795979587950A9451 -:10C15000D2F780FFEBC1F10185919591A591B49142 -:10C1600063968CAF9DAFAEAFBFAF63972F96AEAD6A -:10C17000BFAD2F978D909D90AD90BC90C456DF4F72 -:10C18000288139814A815B81CC59D040A0966CAD21 -:10C190007DAD8EAD9FADA0970F94BF5B2B013C0191 -:10C1A000AC962CAD3DAD4EAD5FADAC9763966CAD2E -:10C1B0007DAD8EAD9FAD63970F94BF5B6B017C012E -:10C1C000A3019201C301B2010F9430552B013C0130 -:10C1D000A7019601C701B6010F9430559B01AC0130 -:10C1E000C301B2010F94C05B0F94BE5E9B01AC0112 -:10C1F000CA55DF4F688179818A819B81C65AD040B8 -:10C200000F94BA5C20E030E040E85FE30F94C05B3D -:10C2100067966CAF7DAF8EAF9FAF6797A0962CAD42 -:10C220003DAD4EAD5FADA0970F9430556B017C01D5 -:10C230009B01AC01C457DF4F688179818A819B8162 -:10C24000CC58D0400F94C05BC457DF4F68837983CC -:10C250008A839B83CC58D04063962CAD3DAD4EADC8 -:10C260005FAD639767966CAD7DAD8EAD9FAD679703 -:10C270000F9430552B013C019B01AC01C057DF4F9F -:10C28000688179818A819B81C059D0400F94C05BBD -:10C29000C057DF4F688379838A839B83C059D0401E -:10C2A00067962CAD3DAD4EAD5FAD6797C501B4014E -:10C2B0000F943055A4966CAF7DAF8EAF9FAFA4970F -:10C2C0009B01AC01C857DF4F688179818A819B81CE -:10C2D000C858D0400F94C05BC857DF4F688379833C -:10C2E0008A839B83C858D040A7019601A0966CAD65 -:10C2F0007DAD8EAD9FADA0970F9430559B01AC01E5 -:10C30000CC57DF4F688179818A819B81C458D040A6 -:10C310000F94C05BCC57DF4F688379838A839B83FC -:10C32000C458D040A301920163966CAD7DAD8EAD33 -:10C330009FAD63970F9430559B01AC01C058DF4F00 -:10C34000688179818A819B81C058D0400F94C05BFD -:10C35000C058DF4F688379838A839B83C058D0405D -:10C36000A4962CAD3DAD4EAD5FADA497C501B40113 -:10C370000F9430559B01AC01C458DF4F688179811F -:10C380008A819B81CC57D0400F94C05BC458DF4F4B -:10C39000688379838A839B83CC57D040A701960119 -:10C3A00063966CAD7DAD8EAD9FAD63970F943055A8 -:10C3B0009B01AC01EC966CAD7DAD8EAD9FADEC9765 -:10C3C0000F94C05BEC966CAF7DAF8EAF9FAFEC97D8 -:10C3D000A7019601C501B4010F9430559B01AC0132 -:10C3E000E8966CAD7DAD8EAD9FADE8970F94C05BC8 -:10C3F000E8966CAF7DAF8EAF9FAFE897A301920137 -:10C40000C501B4010F9430559B01AC01E4966CADAD -:10C410007DAD8EAD9FADE4970F94C05BE4966CAF9D -:10C420007DAF8EAF9FAFE49767962CAD3DAD4EAD1F -:10C430005FAD6797E0966CAD7DAD8EAD9FADE0973B -:10C440000F94C05BE0966CAF7DAF8EAF9FAFE0976F -:10C4500020E030E0A901C701B6010F94205E87FDFE -:10C4600098C1CC56DF4F2881C459D040CB56DF4FFE -:10C470003881C559D040CA56DF4F4881C659D0408F -:10C48000C956DF4F5881C759D040C701B6010F9434 -:10C49000205E1816A4F4CC56DF4FC882C459D04091 -:10C4A000CB56DF4FD882C559D040CA56DF4FE882FD -:10C4B000C659D040C956DF4FF882C759D04020E056 -:10C4C00030E0A901C301B2010F94205E87FD5CC179 -:10C4D000C856DF4F2881C859D040C756DF4F388132 -:10C4E000C959D040C656DF4F4881CA59D040C556B9 -:10C4F000DF4F5881CB59D040C301B2010F94205E69 -:10C500001816A4F4C856DF4F4882C859D040C75601 -:10C51000DF4F5882C959D040C656DF4F6882CA598A -:10C52000D040C556DF4F7882CB59D0400F5F1F4FA8 -:10C53000B4E02B0E311C2F96EEADFFAD2F97349645 -:10C540002F96FFAFEEAF2F970630110509F0F3CD10 -:10C55000CE55DF4F28813981C25AD0402C5F3F4FE2 -:10C56000CE55DF4F39832883C25AD040CC55DF4F98 -:10C5700048815981C45AD040485E5F4FCC55DF4F47 -:10C5800059834883C45AD040C056DF4F888199816F -:10C59000C05AD040C155DF4FA881B981CF5AD04091 -:10C5A0008A179B0709F090CDC856DF4F8881C8597C -:10C5B000D040C756DF4F9881C959D040C656DF4F8B -:10C5C000A881CA59D040C556DF4FB881CB59D04059 -:10C5D00089A79AA7ABA7BCA7CC56DF4F8881C459BF -:10C5E000D040CB56DF4F9881C559D040CA56DF4F57 -:10C5F000A881C659D040C956DF4FB881C759D0402D -:10C600008DA39EA3AFA3B8A7C457DF4F288139815C -:10C610004A815B81CC58D04029833A834B835C8329 -:10C62000C057DF4F88819981AA81BB81C059D04012 -:10C630008D839E83AF83B887C857DF4F28813981A8 -:10C640004A815B81C858D04029873A874B875C87ED -:10C65000CC57DF4F88819981AA81BB81C458D040D3 -:10C660008D879E87AF87B88BC058DF4F288139816F -:10C670004A815B81C058D040298B3A8B4B8B5C8BB5 -:10C68000C458DF4F88819981AA81BB81CC57D040A3 -:10C690008D8B9E8BAF8BB88FEC962CAD3DAD4EAD98 -:10C6A0005FADEC97298F3A8F4B8F5C8FE8968CADFE -:10C6B0009DADAEADBFADE8978D8F9E8FAF8FB8A308 -:10C6C000E4962CAD3DAD4EAD5FADE49729A33AA302 -:10C6D0004BA35CA3E0968CAD9DADAEADBFADE09736 -:10C6E00089AF9AAFABAFBCAFCE0101960F94C8052E -:10C6F000892B09F053C0CDA8DEA8EFA8F8ACF7FA53 -:10C70000F094F7F8F0942DA53EA54FA558A9C4566E -:10C71000DF4F688179818A819B81CC59D0400F9409 -:10C7200030559B01AC01C701B6010F94BF5B6B0193 -:10C730007C0129A93AA94BA95CA9AC966CAD7DAD49 -:10C740008EAD9FADAC970F9430559B01AC01C701E6 -:10C75000B6010F94BF5B9B01AC016996AEADBFAD56 -:10C7600069976D937D938D939C9313976A966FADA4 -:10C770006A97C655DF4F8881CA5AD0400E94BA8155 -:10C7800080E00E94EA667CCB77FA709477F8709428 -:10C790009FCEF7FAF094F7F8F09463CE87E19FE428 -:10C7A000B6CB2F923F924F925F926F927F928F9271 -:10C7B0009F92AF92BF92CF92DF92EF92FF920F9330 -:10C7C0001F93CF93DF93CDB7DEB7C359D1090FB60F -:10C7D000F894DEBF0FBECDBF382E80907F0C9090B6 -:10C7E000800CA090810CB090820C20E030E0A90178 -:10C7F000C501B4010F94C05B2B013C0120E030E087 -:10C8000040E450E40F94CA5487FF05C0412C512CDA -:10C81000E0E46E2E762C20E030E84DEE53E4C501C6 -:10C82000B4010F94C05BE9966CAF7DAF8EAF9FAF44 -:10C83000E99720E030E84BEE53E40F94205E1816A1 -:10C8400054F480E090E8ABEEB3E4E9968CAF9DAF92 -:10C85000AEAFBFAFE997C090830CD090840CE0904E -:10C86000850CF090860C20E030E0A901C701B601EC -:10C870000F94C05B4B015C0120E030E040E450E4E9 -:10C880000F94CA5487FF05C0812C912C70E4A72E09 -:10C89000BA2C20E030E041EE53E4C701B6010F941A -:10C8A000C05BED966CAF7DAF8EAF9FAFED9720E094 -:10C8B00030E84FED53E40F94205E181654F480E0F6 -:10C8C00090E8AFEDB3E4ED968CAF9DAFAEAFBFAFE8 -:10C8D000ED970091261310912713DE0111967D012B -:10C8E0008CE3FD0111928A95E9F7332009F4BCC16C -:10C8F0008DEF9EE40F94D0408BEE9EE49F938F9338 -:10C900001F920F94600820912413412C512C52ED5A -:10C91000652E53E4752E2D964CAE5DAE6EAE7FAE99 -:10C920002D97812C912C60EAA62E62E4B62E2196DA -:10C930008CAE9DAEAEAEBFAE219701E042E0BE012F -:10C94000675B7F4FCE01CD960E94BD8DE1966CAFA7 -:10C950007DAF8EAF9FAFE1970F900F900F909B012F -:10C96000AC010F940D5F811150C32D964CAE5DAE9E -:10C970006EAE7FAE2D9721968CAE9DAEAEAEBFAEA5 -:10C980002197BE01675B7F4FCE01CD960E94EF9E3F -:10C990009B01AC01E1966CAD7DAD8EAD9FADE19795 -:10C9A0000F94BF5BE1966CAF7DAF8EAF9FAFE19709 -:10C9B0008091241390912513049784F080E10F94C3 -:10C9C0008840E1964CAD5DAD6EAD7FADE1978EEDEB -:10C9D0009EE40F941C418AE00E94A665812C912C54 -:10C9E00042EDA42E43E4B42E2D968CAE9DAEAEAE99 -:10C9F000BFAE2D9780E090E0A0EAB2E421968CAF24 -:10CA00009DAFAEAFBFAF21979E0123593F4FAE01FF -:10CA1000475B5F4FBE01635C7F4FC7010E94B89CBC -:10CA20008AEC9EE40F94D04088EB9EE49F938F9312 -:10CA30001F920F946008209124132D968CAE9DAE0A -:10CA4000AEAEBFAE2D9721968CAE9DAEAEAEBFAE54 -:10CA5000219701E042E0BE01675B7F4FCE01CD969A -:10CA60000E94BD8DE1966CAF7DAF8EAF9FAFE19719 -:10CA70000F900F900F909B01AC010F940D5F8111EF -:10CA8000C4C22D968CAE9DAEAEAEBFAE2D97219694 -:10CA90008CAE9DAEAEAEBFAE2197BE01675B7F4F41 -:10CAA000CE01CD960E94EF9E9B01AC01E1966CAD4C -:10CAB0007DAD8EAD9FADE1970F94BF5BE1966CAFFE -:10CAC0007DAF8EAF9FAFE197809124139091251396 -:10CAD000049784F080E10F948840E1964CAD5DAD01 -:10CAE0006EAD7FADE1978BEA9EE40F941C418AE026 -:10CAF0000E94A665812C912C22EDA22E23E4B22E59 -:10CB00002D968CAE9DAEAEAEBFAE2D9721968CAE5F -:10CB10009DAEAEAEBFAE21979E0123593F4FAE01F1 -:10CB2000475B5F4FBE01635C7F4FC7010E94B89CAB -:10CB300087E99EE40F94D04085E89EE49F938F930D -:10CB40001F920F94600820912413412C512C30EA3D -:10CB5000632E32E4732E2D964CAE5DAE6EAE7FAE7C -:10CB60002D9721968CAE9DAEAEAEBFAE219701E063 -:10CB700041E0BE01675B7F4FCE01CD960E94BD8D27 -:10CB8000E1966CAF7DAF8EAF9FAFE1970F900F90A6 -:10CB90000F909B01AC010F940D5F811136C22D9651 -:10CBA0004CAE5DAE6EAE7FAE2D9721968CAE9DAE37 -:10CBB000AEAEBFAE2197BE01675B7F4FCE01CD9673 -:10CBC0000E94EF9E9B01AC01E1966CAD7DAD8EADF8 -:10CBD0009FADE1970F94BF5BE1966CAF7DAF8EAFD9 -:10CBE0009FAFE1978091241390912513049784F0CF -:10CBF00080E10F948840E1964CAD5DAD6EAD7FADA8 -:10CC0000E19788E79EE40F941C418AE00E94A665A4 -:10CC100080E090E0A0EAB2E42D968CAF9DAFAEAF7D -:10CC2000BFAF2D9780E090E0A2EDB3E421968CAFEA -:10CC30009DAFAEAFBFAF21979E0123593F4FAE01CD -:10CC4000475B5F4FBE01635C7F4FC7010E94B89C8A -:10CC5000312C80E00E941C8D0E94D48C332009F47A -:10CC6000C6C18DE49EE4D6C1C301B2010F942C5D10 -:10CC7000CE57DF4F79836883C258D040C501B401D5 -:10CC80000F942C5DCC57DF4F79836883C458D04014 -:10CC9000B80161507109072E000C880B990B0F9495 -:10CCA000D1542B013C01009F9001019F300D300DAC -:10CCB0001124EF963FAF2EAFEF97212C31E0CF57E5 -:10CCC000DF4F3883C158D040D12CE2961FAEE29797 -:10CCD000312CCE57DF4F88819981C258D040092E20 -:10CCE000000CAA0BBB0BC657DF4F88839983AA831E -:10CCF000BB83CA58D040CC57DF4F88819981C45834 -:10CD0000D040092E000CAA0BBB0BC257DF4F888303 -:10CD10009983AA83BB83CE58D040CE56DF4FE8829A -:10CD2000C259D040CD56DF4FF882C359D040022DB2 -:10CD300010E08091261390912713081719070CF023 -:10CD400056C1E9966CAD7DAD8EAD9FADE9970F9460 -:10CD50002C5DCE57DF4FA881B981C258D0406A1BE5 -:10CD60007B0B072E000C880B990B0F94D154A30159 -:10CD700092010F94BA5C4B015C01B801110F880B52 -:10CD8000990B0F94D1549B01AC01C501B4010F94D0 -:10CD900030554B015C01C657DF4F688179818A812C -:10CDA0009B81CA58D0400F94D1549B01AC01C5015E -:10CDB000B4010F94C05B2D966CAF7DAF8EAF9FAF6B -:10CDC0002D97CF57DF4FA880C158D040BD2C90E29F -:10CDD000892E9EE4992EFA2CCF57DF4FB881C15887 -:10CDE000D040FB1ACF2C0F2C000CDD08009126132D -:10CDF00010912713C016D1060CF0E9C0C257DF4FBF -:10CE0000688179818A819B81CE58D0400F94D1541A -:10CE1000CA57DF4F688379838A839B83C658D04083 -:10CE2000E296EFADE297EE2351F0B801615071093F -:10CE30006C197D09072E000C880B990B05C06F2D0E -:10CE4000FF0C770B880B990B0F94D1546B017C016D -:10CE5000ED966CAD7DAD8EAD9FADED970F942C5DD5 -:10CE6000CC57DF4F28813981C458D040621B730BE7 -:10CE7000072E000C880B990B0F94D154A30192013B -:10CE80000F94BA5CA70196010F943055CA57DF4F33 -:10CE9000288139814A815B81C658D0400F94C05B9C -:10CEA00021966CAF7DAF8EAF9FAF219731108BC0B5 -:10CEB000B50189E39EE40F940F41EF966EAD7FAD0F -:10CEC000EF9787E39EE40F940F4184E39EE40F9471 -:10CED000D040EF963FADEF973F93EE968FADEE9734 -:10CEE0008F93BF92AF929F928F921F920F94600880 -:10CEF0001091241385E40E942E9E0FB6F894DEBF95 -:10CF00000FBECDBF811102C042E001C041E001E08F -:10CF1000212FBE01635C7F4FCE01875B9F4F0E9434 -:10CF2000BD8DE1966CAF7DAF8EAF9FAFE19733249F -:10CF300033949B01AC010F940D5F811101C0312C22 -:10CF4000BE01635C7F4FCE01875B9F4F0E94EF9EC7 -:10CF50009B01AC01E1966CAD7DAD8EAD9FADE197CF -:10CF60000F94BF5BE1966CAF7DAF8EAF9FAFE19743 -:10CF70008091241390912513049784F080E10F94FD -:10CF80008840E1964CAD5DAD6EAD7FADE19783E13C -:10CF90009EE40F941C418AE00E94A6659E012359DD -:10CFA0003F4FAE01435C5F4FBE01675B7F4FCE5684 -:10CFB000DF4F8881C259D040CD56DF4F9881C35989 -:10CFC000D0400E94B89CBFEFAB1ABB0A04CF81E0EF -:10CFD000E296EFADE297E827E296EFAFE29723946F -:10CFE000CF57DF4FA882C158D040DB2CA0CE80E0C5 -:10CFF0000E941C8D0E94D48C31100AC0CE01019673 -:10D000000F94C805892B21F408C03324339421CE12 -:10D010008BEF9DE40F94D040C5C189A99AA9ABA913 -:10D02000BCA94DA55EA56FA578A9A5964CAF5DAF2F -:10D030006EAF7FAFA597A9968CAF9DAFAEAFBFAFD8 -:10D04000A99780E090E0A0E8BFE3AD968CAF9DAFDC -:10D05000AEAFBFAFAD97CE018F599F4F0F94130462 -:10D06000809124139091251303977CF10DE817E02C -:10D07000D8018D918D01882319F00E94A665F8CF03 -:10D08000A5966CAD7DAD8EAD9FADA59747E00E9496 -:10D0900046668CE20E94A665A9966CAD7DAD8EAD0C -:10D0A0009FADA99747E00E9446668CE20E94A66564 -:10D0B000AD966CAD7DAD8EAD9FADAD9747E00E9456 -:10D0C000466688EF9DE40F94D04089A99AA9ABA940 -:10D0D000BCA9CDA4DEA4EFA4F8A86996CCAEDDAEC1 -:10D0E000EEAEFFAE69976D968CAF9DAFAEAFBFAFA2 -:10D0F0006D97812C912C80E8A82E8FE3B82EA196F5 -:10D100008CAE9DAEAEAEBFAEA197CE018B5A9F4FF7 -:10D110000F9413042D968CAE9DAEAEAEBFAE2D9780 -:10D1200061961CAE1DAE1EAE1FAE6197F7FAF0946D -:10D13000F7F8F0946596CCAEDDAEEEAEFFAE659737 -:10D14000CE01875B9F4F0F94130469968CAD9DAD04 -:10D15000AEADBFAD6997E5968CAF9DAFAEAFBFAF3B -:10D16000E59761968CAD9DADAEADBFAD6197E9968B -:10D170008CAF9DAFAEAFBFAFE9976D964CAC5DACD9 -:10D180006EAC7FAC6D972D968CAD9DADAEADBFAD49 -:10D190002D97ED968CAF9DAFAEAFBFAFED97A1963B -:10D1A0008CAC9DACAEACBFACA1976596CCACDDAC05 -:10D1B000EEACFFAC6597A7019601C301B2010F94D5 -:10D1C0003055C358DF4F688379838A839B83CD575B -:10D1D000D040A5019401E9966CAD7DAD8EAD9FADBB -:10D1E000E9970F9430559B01AC01C358DF4F68811C -:10D1F00079818A819B81CD57D0400F94BF5B219666 -:10D200006CAF7DAF8EAF9FAF2197A5019401ED96D6 -:10D210006CAD7DAD8EAD9FADED970F9430554B014C -:10D220005C01A7019601E5966CAD7DAD8EAD9FAD1D -:10D23000E5970F9430559B01AC01C501B4010F94E3 -:10D24000BF5B25966CAF7DAF8EAF9FAF2597E996FC -:10D250002CAD3DAD4EAD5FADE997E5966CAD7DADC6 -:10D260008EAD9FADE5970F9430556B017C01ED9627 -:10D270002CAD3DAD4EAD5FADED97C301B2010F9446 -:10D2800030559B01AC01C701B6010F94BF5B2996D5 -:10D290006CAF7DAF8EAF9FAF2997CE01CD960F9427 -:10D2A000130465968CAD9DADAEADBFAD6597E996A7 -:10D2B0008CAF9DAFAEAFBFAFE99729968CAD9DAD5A -:10D2C000AEADBFAD2997ED968CAF9DAFAEAFBFAF02 -:10D2D000ED97A196CCACDDACEEACFFACA19708ED20 -:10D2E00011E1212CE3961FAF0EAFE397312C822D75 -:10D2F0000E94C19E4B015C01832D0E94939E2B01D5 -:10D300003C01E9962CAD3DAD4EAD5FADE997C50151 -:10D31000B4010F9430554B015C01ED962CAD3DAD41 -:10D320004EAD5FADED97C301B2010F9430559B0137 -:10D33000AC01C501B4010F94C05B4B015C01E396E5 -:10D34000AEADBFADE3972D913D914D915C91C7017D -:10D35000B6010F9430559B01AC01C501B4010F9487 -:10D36000C05B2DA93EA94FA958AD0F94BF5B9B018F -:10D37000AC01E396EEADFFADE397619371938193BA -:10D380009193E396FFAFEEAFE397632D822D0E945A -:10D39000BA813394F6E03F12AACF2394085E1F4F60 -:10D3A0002F12A0CFCD56DF4F0FB6F894DEBF0FBEC1 -:10D3B000CDBFDF91CF911F910F91FF90EF90DF9044 -:10D3C000CF90BF90AF909F908F907F906F905F9025 -:10D3D0004F903F902F900895AF92BF92CF92DF92DF -:10D3E000EF92FF920F931F93CF93DF9380EFE82E7E -:10D3F0008DE4F82EF70185919491FC01C49032964A -:10D40000D4903197C49132960491319684918823B7 -:10D4100021F1CC161CF0AA24AA9402C0AA24A39439 -:10D42000002E000C110B0C2E000CDD0B8D2D90E04E -:10D4300080179107B1F1BC2C8B2D90E08C179D07C4 -:10D4400051F020E04A2D6D2D8B2D0F94AD268111CA -:10D4500002C0BA0CF1CFD394E9CFD0161CF0AA24A5 -:10D46000AA9402C0AA24A3940C2E000CDD0B002E5B -:10D47000000C110B8C2D90E08C179D0791F0BD2CAA -:10D480008B2D90E08017910751F02A2D40E06B2DF5 -:10D490008C2D0F94AD26811102C0BA0CF1CFC3942C -:10D4A000E9CFF2E0EF0EF11C88EFE8168DE4F80604 -:10D4B00009F0A0CFDF91CF911F910F91FF90EF90D6 -:10D4C000DF90CF90BF90AF900895CF92DF92EF9210 -:10D4D000FF92C0903F02D0904002E0904102F09055 -:10D4E0004202FC0180819181A281B38180933F023D -:10D4F00090934002A0934102B09342020E94C9C09F -:10D50000C0923F02D0924002E0924102F092420269 -:10D51000FF90EF90DF90CF9008952F923F924F921F -:10D520005F926F927F928F929F92AF92BF92CF92B3 -:10D53000DF92EF92FF920F931F93CF93DF93CDB7BC -:10D54000DEB76F970FB6F894DEBF0FBECDBF9C8FCE -:10D550008B8F7E8F6D8F212C312C0FEF2FEF2F8330 -:10D560003FEF3F874FE4488B53EC598B87E48A8B1E -:10D570002E8A21E030E040E050E0022C04C0220F6F -:10D58000331F441F551F0A94D2F72F8B388F498FB2 -:10D590005A8F48E653E15E874D8710E02F8EAD85A8 -:10D5A000BE858D919D91BE87AD87A0E0B0E02F89AB -:10D5B000388D498D5A8D82239323A423B523892B3B -:10D5C0008A2B8B2B09F0C3C08E890E94C19E6B01F0 -:10D5D0007C01812F0E94939E69877A878B879C8725 -:10D5E000A7019601AB8DBC8D6D917D918D919C9124 -:10D5F0000F94BF5B2B013C0129853A854B855C85E7 -:10D60000ED8DFE8D60817181828193810F94BF5B6E -:10D610004B015C01A3019201C301B2010F9430558B -:10D620002B013C01A5019401C501B4010F943055B3 -:10D630009B01AC01C301B2010F94C05B0F94BE5EAD -:10D640004B015C01A701960160918C1370918D13C1 -:10D6500080918E1390918F130F94BF5B6B017C01AF -:10D6600029853A854B855C85609188137091891373 -:10D6700080918A1390918B130F94BF5B2B013C0117 -:10D68000A7019601C701B6010F9430556B017C01CB -:10D69000A3019201C301B2010F9430559B01AC016B -:10D6A000C701B6010F94C05B0F94BE5E20E030E06E -:10D6B00040E751E40F94BA5CA50194010F94C05B5C -:10D6C0006B017C018090901390909113A090921325 -:10D6D000B090931320E030E040E85FE3C501B4016F -:10D6E0000F94205E1816FCF4C501B4010F942C5D54 -:10D6F0004B015C0116161706180619063CF40F9428 -:10D700000D50A50194010F94425B03C060E070E0EE -:10D71000CB010F94D1549B01AC01B601C7010F940A -:10D72000C05B6B017C012F85388949895A89B60114 -:10D73000C7010F94CA5487FF0AC00F8D1F83C88684 -:10D74000DB8AEC8AFD8ACF86D88AE98AFA8A1F5F4B -:10D75000163009F024CFFFEF2F1A3F0A26E02216D9 -:10D76000310409F005CF3F81E32FF0E0EE0FFF1FFA -:10D77000E859FC4E81E090E0002E02C0880F991F0E -:10D780000A94E2F720813181822B932B918380834D -:10D7900088859B89AC89BD898B839C83AD83BE833F -:10D7A000482F5C816D817E81202F3F8180E090E059 -:10D7B0006F960FB6F894DEBF0FBECDBFDF91CF914D -:10D7C0001F910F91FF90EF90DF90CF90BF90AF909F -:10D7D0009F908F907F906F905F904F903F902F9091 -:10D7E00008958C3891051CF02CE880E002C0282FA9 -:10D7F000892F2093060A8093070A0C9418FD80E174 -:10D80000E9EAFCE0A2E9BCE001900D928A95E1F71B -:10D8100008952F923F924F925F926F927F928F92D4 -:10D820009F92AF92BF92CF92DF92EF92FF920F93AF -:10D830001F93CF93DF9300D01F921F92CDB7DEB717 -:10D840007C018B016A0119018090A90C9090AA0CAF -:10D85000A090AB0CB090AC0CA5019401FC016081D0 -:10D860007181828193810F94CA54F1E0FD8381110B -:10D8700012C02091AD0C3091AE0C4091AF0C509184 -:10D88000B00CF80160817181828193810F94CA5438 -:10D89000811101C01D82F601408051806280738039 -:10D8A00020915402309155024091560250915702F6 -:10D8B000C301B2010F94CA54882309F455C04092A1 -:10D8C000540250925502609256027092570220E024 -:10D8D00030E040E05FE36091A8117091A911809160 -:10D8E000AA119091AB110F94305569837A838B8381 -:10D8F0009C838092920C9092930CA092940CB09284 -:10D90000950C8091AD0C9091AE0CA091AF0CB091A4 -:10D91000B00C8093960C9093970CA093980CB093B6 -:10D92000990CF60180819181A281B38180939A0C38 -:10D9300090939B0CA0939C0CB0939D0C8091B50C84 -:10D940009091B60CA091B70CB091B80C80939E0C3E -:10D9500090939F0CA093A00CB093A10CCE010196C4 -:10D960000E9465EA0E94FFEBFD81F1110FC020E0EB -:10D9700030E040EC5FE36091AC117091AD118091AB -:10D98000AE119091AF110F94BA5C04C060E070E0EA -:10D9900080EA91E469837A838B839C83F701808199 -:10D9A0009181A281B3818093920C9093930CA09368 -:10D9B000940CB093950CF80180819181A281B38180 -:10D9C0008093960C9093970CA093980CB093990C1D -:10D9D000F101208131814281538160919E0C7091CF -:10D9E0009F0C8091A00C9091A10C0F94C05B609350 -:10D9F0009E0C70939F0C8093A00C9093A10CCE0171 -:10DA000001960E9465EA0E94FFEB0F900F900F9025 -:10DA10000F900F90DF91CF911F910F91FF90EF909A -:10DA2000DF90CF90BF90AF909F908F907F906F903E -:10DA30005F904F903F902F9008950E94E39D97FD37 -:10DA40000CC00E94E39D6F3F71058105910509F0AF -:10DA500034F40E94E39D862F089580E008958FEFAF -:10DA6000089580913F1890914018892B39F00E94B9 -:10DA70001DED91E0811103C090E001C091E0892F7C -:10DA80000895CF93DF93C82FD62F0E94779E8823C7 -:10DA900021F0DF91CF910C9431ED8C2F0E942E9EBE -:10DAA000811101C08D2FDF91CF9108952F923F9268 -:10DAB0004F925F926F927F928F929F92AF92BF929E -:10DAC000CF92DF92EF92FF920F931F93CF93DF934A -:10DAD000CDB7DEB7C055D1090FB6F894DEBF0FBE83 -:10DAE000CDBF88E092E50F94D04041E061E081E055 -:10DAF0000E9459C081110C9487F584E50E94779E9D -:10DB0000882329F00E94F39D81110E943D9C80E0B2 -:10DB100090E0A0E8BFE38093451890934618A09347 -:10DB20004718B093481880938E0C90938F0CA09355 -:10DB3000900CB093910C8DEC9CECACE4BEE3809324 -:10DB4000411890934218A0934318B093441880E072 -:10DB500090E0A0E2B1E48093991390939A13A0937C -:10DB60009B13B0939C138CE390E090939813809355 -:10DB700097138DEC90E090939613809395131092E9 -:10DB800094134AE959E969E97EE38FE40E94EC8243 -:10DB90006BAF7CAF8DAF9EAF60E083E40E9441ED40 -:10DBA0002F968FAF2F9760E08BE40E9441ED609637 -:10DBB0008FAF609782E40E94779E8823C9F00E940D -:10DBC000F79D0F942C5D70939813609397136115D4 -:10DBD000710571F0685271096536710548F06CE89D -:10DBE00070E08AED91E50F942D4185ED91E5AEC190 -:10DBF0008CE40E94779E882301F10E94F79D6B01BF -:10DC00007C0160934118709342188093431890935D -:10DC1000441820E030E0A9010F94205E87FD0AC07F -:10DC200020E030E040E050E4C701B6010F94CA5450 -:10DC300018161CF48DEA91E589C181E50E942E9E9B -:10DC4000882351F180913F1890914018892B09F158 -:10DC50000E94F79D6B017C0160938E0C70938F0C7A -:10DC60008093900C9093910C2DEC3CEC4CE45DE394 -:10DC70000F94205E87FD0AC020E030E040E751E4C9 -:10DC8000C701B6010F94CA54181634F48CE791E515 -:10DC90005DC181E591E55AC183E50E94779E8823A5 -:10DCA000C9F00E94F79D4B015C012DEC3CEC4CEC63 -:10DCB0005DE30F94205E87FD0AC020E030E040E085 -:10DCC00050E4C501B4010F94CA54181654F48AE202 -:10DCD00091E53CC1EDEC8E2EECEC9E2EA92CEEE3F2 -:10DCE000BE2E80E50E942E9E882371F180913F1800 -:10DCF00090914018892B19F482EF90E527C180910B -:10DD000094138F5F809394130E94F79D6B017C01A5 -:10DD10006093991370939A1380939B1390939C1321 -:10DD200020E030E0A9010F94205E87FD0AC020E0CA -:10DD300030E048EC51E4C701B6010F94CA541816FC -:10DD40001CF48AEC90E502C186E40E94779E882349 -:10DD5000C9F00E94F79D6B017C0120E030E040E8B3 -:10DD60005FE30F94205E87FD0AC020E030E040E8CA -:10DD700050E4C701B6010F94CA5418164CF481EA56 -:10DD800090E5E4C0C12CD12C70EEE72E7FE3F72E96 -:10DD9000A7019601C701B6010F9430559B01AC0154 -:10DDA00060E070E084E490E40F94BA5C2091451840 -:10DDB0003091461840914718509148180F943055AB -:10DDC0002B013C01A5019401C501B4010F9430550C -:10DDD000A70196010F9430552CEE31E548EB5DE339 -:10DDE0000F94BA5C9B01AC01C301B2010F94305592 -:10DDF000609345187093461880934718909348187D -:10DE000088E40E94779E882381F00E94F79D0F94FA -:10DE10002C5D7093961360939513655A7109683859 -:10DE2000710518F083E790E591C085E50E942E9E6C -:10DE30008823F1F00F946E3E6115710581059105FF -:10DE400011F00F945B5080913F1890914018892BEE -:10DE500019F00E94F79D04C060E070E088E492E44D -:10DE600060939013709391138093921390939313F4 -:10DE700082E50E942E9E811103C08FE390E566C06B -:10DE800080913F1890914018892B61F00E94F39D7A -:10DE90002E969FAF8EAF2E97181619064CF08BE07A -:10DEA00090E554C025E230E02E963FAF2EAF2E977E -:10DEB00088E50E94779E882369F00E94F79D209153 -:10DEC000730C3091740C4091750C5091760C0F943A -:10DED000BF5B08C06091A90C7091AA0C8091AB0C3B -:10DEE0009091AC0C60938C1370938D1380938E1370 -:10DEF00090938F1389E50E94779E882379F00E9482 -:10DF0000F79D2091770C3091780C4091790C5091CD -:10DF10007A0C0F94BF5BAB01BC0108C04091AD0C03 -:10DF20005091AE0C6091AF0C7091B00C409388137F -:10DF30005093891360938A1370938B138CE893E149 -:10DF40000E94958C811105C081EE9FE40F94D04012 -:10DF5000DEC584E40E942E9E91E089270F94F93E4D -:10DF600020E030E040EA50E46091B10C7091B20CD6 -:10DF70008091B30C9091B40C0F94CA5487FF15C0D4 -:10DF8000198A1A8A1B8A1C8A80E090E0A0EAB0E411 -:10DF900089839A83AB83BC83BE016F5E7F4FCE01C2 -:10DFA00001960E943C790F94551030917912619638 -:10DFB0003FAF6197109279120E94CCBC80EC9FE435 -:10DFC0000F94D04080919713909198138A319105C6 -:10DFD0006CF480919513909196130E94529C61E08D -:10DFE00080E00E94C2F7811109C0DAC40E94F1EBFF -:10DFF00081E00E9444F68111ECCFD2C41092B50C9E -:10E000001092B60C1092B70C1092B80C85EB9CE0F5 -:10E010000E94CB91809194138823B1F10E94FFEB71 -:10E0200020919E0C30919F0C4091A00C5091A10C1E -:10E030006091991370919A1380919B1390919C1306 -:10E040000F94C05B60939E0C70939F0C8093A00C08 -:10E050009093A10C20E030E040E751E46091AC11D6 -:10E060007091AD118091AE119091AF110F94BA5C87 -:10E0700069837A838B839C83CE0101960E9465EA33 -:10E080000E94FFEB0E94A0BB80E2E8E6F3E1DF0123 -:10E09000282F1D922A95E9F7E8E4F3E1DF01282F04 -:10E0A0001D922A95E9F7E8E2F3E1DF011D928A95D6 -:10E0B000E9F70E94FFEB8091411890914218A091DE -:10E0C0004318B091441880939A0C90939B0CA093A2 -:10E0D0009C0CB0939D0C19821A821B821C829E019B -:10E0E0002F5F3F4F4AE95CE066E97CE082E99CE013 -:10E0F0000E9409EC9E01255C3F4F4AE95CE066E91D -:10E100007CE082E99CE00E9409EC2F96BFAD2F973E -:10E11000BB2329F06DEA7CE089EA9CE004C068E852 -:10E1200073E18CE893E10E948DEA3FAF2C962FAF0C -:10E130002C972C96EFAD2C97E7FD1DC4FFADF7FD96 -:10E140001AC48E2F0E94C19E2B013C01CB01D3012A -:10E150008FAB98AFA9AFBAAF8FAD0E94939E162F29 -:10E16000072FF82EE92E462F572F682F792FCE0133 -:10E17000C7960E94958C882309F4FFC320E030E005 -:10E1800040EA50E4B201C3010F94C05BD62E372E93 -:10E19000282EC92E862F932DA22DBC2D8BAB9CAB88 -:10E1A000ADABBEAB812F902FAF2DBE2D8FA798ABFF -:10E1B000A9ABBAAB2C962FAD2C9721114AC03FAD1D -:10E1C00031111FC020E030E040EA50E4612F702F91 -:10E1D0008F2D9E2D0F94C05B21966FAF21972396B4 -:10E1E0007FAF239725968FAF259727969FAF2797C9 -:10E1F0008FADD42C352C262CC72C882309F4C6C00F -:10E2000023C0C201D3018BAB9CABADABBEAB20E056 -:10E2100030E040EA50E4612F702F8F2D9E2D0F9437 -:10E22000BF5B6FA778AB89AB9AAB9FAD953054F2CB -:10E2300021961FAF219723960FAF23972596FFAE08 -:10E2400025972796EFAE2797AFADA5300CF489C080 -:10E250009DC02C96BFAD2C97B5300CF453C0EFADDC -:10E26000E5305CF020E030E040EA50E4B201C30168 -:10E270000F94BF5B362F272F03C0342D252DC301EC -:10E28000432F522FBC014BAB5CAB6DAB7EABFFADF4 -:10E29000F11134C420E030E040EA50E4B201C3019F -:10E2A0000F94BF5BD62E372E282EC92E20E030E0EB -:10E2B00040EA50E4612F702F8F2D9E2D0F94C05B8C -:10E2C0006FA778AB89AB9AAB2FAD222309F452C06C -:10E2D00020E030E040EA50E4612F702F8F2D9E2D1A -:10E2E0000F94BF5B21966FAF219723967FAF239743 -:10E2F00025968FAF259727969FAF27973FAD35304F -:10E3000084F144C08FAD81110FC020E030E040E2C5 -:10E3100051E46D2D732D822D9C2D0F94BF5BD62E55 -:10E32000372E282EC92E11C09FAD9530C4F120E0A4 -:10E3300030E040E251E46D2D732D822D9C2D0F9421 -:10E34000BF5B6BAB7CAB8DAB9EAB21961FAF2197B8 -:10E3500023960FAF23972596FFAE25972796EFAE0E -:10E36000279762ED862E63E5962E6BE7A62E61E475 -:10E37000B62E29C021961FAF219723960FAF239762 -:10E380002596FFAE25972796EFAE279752ED852E5F -:10E3900053E5952E5BEFA52E50E4B52E14C02196C3 -:10E3A0001FAF219723960FAF23972596FFAE259792 -:10E3B0002796EFAE279742ED842E43E5942E4BEF40 -:10E3C000A42E41E4B42E8BA99CA9ADA9BEA92B967D -:10E3D0008CAF9DAFAEAFBFAF2B979C01AD01B2012B -:10E3E000C3010F94BF5B698B7A8B8B8B9C8B4FA483 -:10E3F00058A869A87AA8A3019201612F702F8F2DC8 -:10E400009E2D0F94BF5B6D8B7E8B8F8B988F2B9681 -:10E410002CAD3DAD4EAD5FAD2B976091A90C7091C9 -:10E42000AA0C8091AB0C9091AC0C0F94BF5B2B9617 -:10E430006CAF7DAF8EAF9FAF2B97A3019201609120 -:10E44000AD0C7091AE0C8091AF0C9091B00C0F940C -:10E45000BF5B2B013C018D2D932DA22DBC2D8983FB -:10E460009A83AB83BC8321968FAD219723969FAD72 -:10E4700023972596AFAD25972796BFAD27978D8318 -:10E480009E83AF83B8878091411890914218A091E4 -:10E490004318B091441889879A87AB87BC8720912D -:10E4A0006302309164024091650250916602C50199 -:10E4B000B4010F9430552091451830914618409181 -:10E4C0004718509148180F9430552091B50C309151 -:10E4D000B60C4091B70C5091B80C0F94C05B6D878F -:10E4E0007E878F87988B2B962CAD3DAD4EAD5FAD63 -:10E4F0002B97CA01B9010F9430556B017C01A30120 -:10E500009201C301B2010F9430559B01AC01C701C8 -:10E51000B6010F94C05B20E030E040E050E40F947F -:10E52000205E18160CF047C00E94A0BB1BA21CA2C4 -:10E530001DA21EA220E030E040E05FE36091B10C3C -:10E540007091B20C8091B30C9091B40C0F94C05B9D -:10E550006F8F78A389A39AA39E012D5D3F4FAE01D3 -:10E56000415E5F4F6DEA7CE089EA9CE00E9409EC25 -:10E570001BA21CA21DA21EA220E030E040E05FE32F -:10E5800060914118709142188091431890914418FD -:10E590000F94C05B6F8F78A389A39AA39E012D5D12 -:10E5A0003F4FAE01415E5F4FBE01615D7F4FCE01C7 -:10E5B000C3960E9409EC1F8E18A219A21AA29E01EE -:10E5C000215E3F4F41E458E1BE01615D7F4FCE01C6 -:10E5D000C3960E9409EC0E94CCBB40903F02509031 -:10E5E00040026090410270904202E090A411F090CD -:10E5F000A5110091A6111091A711A090A011B090A3 -:10E60000A111C090A211D090A3119501A601B7014C -:10E61000C8010F94205E181614F47501860120E0DD -:10E6200030E040E251E4B701C8010F94BA5C609356 -:10E630003F0270934002809341029093420240E077 -:10E64000BE016F5E7F4FCE0101960F94AD204092C8 -:10E650003F025092400260924102709242020E9438 -:10E66000FFEBA1E0B0E02496BFAFAEAF2497212C22 -:10E67000312C022D2396BFAD23972796BFAF279746 -:10E68000C12CD12C7601C394022C04C0CC0CDD1C0F -:10E69000EE1CFF1C0A94D2F7812C912C5401839418 -:10E6A00004C0880C991CAA1CBB1CBA95D2F78C28F4 -:10E6B0009D28AE28BF28E1E0F0E0022C02C0EE0F5A -:10E6C000FF1F0A94E2F72696FFAFEEAF269728E2E7 -:10E6D000622E23E1722E38E6432E33E1532E28E4D6 -:10E6E00033E122963FAF2EAF229710E029965FAE1E -:10E6F0004EAE2997D2018D919C91A0E0B0E0882187 -:10E700009921AA21BB2188159905AA05BB0509F005 -:10E7100077C02296AEADBFAD22978D919C91A0E0BF -:10E72000B0E08C219D21AE21BF21892B8A2B8B2B20 -:10E7300009F066C0802F0E94C19E20E030E040E0DA -:10E7400050E40F94C05B6BA77CA78DA79EA727966C -:10E750008FAD27970E94C19E20E030E040E050E45A -:10E760000F94BF5B6BA37CA38DA39EA34AED51E0E6 -:10E7700061E070E0CE018B960E94E7C9812F0E9474 -:10E78000939E20E030E040E85FE30F94CA5487FD99 -:10E790006FC1812F0E94939E20E030E840EE53E449 -:10E7A0000F94205E18160CF468C1812F0E94939E6E -:10E7B0006F8F78A389A39AA36FA378A789A79AA735 -:10E7C0004AED51E061E070E0CE0183960E94E7C916 -:10E7D0004FA158A569A57AA5CE018B960E94958C6C -:10E7E000811150C12296EEADFFAD229780819181BB -:10E7F00026962EAD3FAD2697822B932B9183808357 -:10E8000032E0430E511C2996AEADBFAD29978D91D4 -:10E810009C91A0E0B0E08C219D21AE21BF21892BED -:10E820008A2B8B2B09F485C0B1E0B10F2896BFAFBE -:10E830002897F20180819181A0E0B0E08C219D2198 -:10E84000AE21BF21892B8A2B8B2B09F472C0F301D7 -:10E8500080819181A0E0B0E08C219D21AE21BF217B -:10E86000892B8A2B8B2B09F064C0812F0E94939EE9 -:10E8700020E030E040E050E40F94C05B6FA378A745 -:10E8800089A79AA728968FAD28970E94939E20E08B -:10E8900030E040E050E40F94BF5B6F8F78A389A312 -:10E8A0009AA3802F0E94C19E20E030E040E85FE301 -:10E8B0000F94CA5487FDFFC0802F0E94C19E20E0A4 -:10E8C00030E04DEE53E40F94205E18160CF4F8C0BF -:10E8D000802F0E94C19E6BA37CA38DA39EA36BA7D8 -:10E8E0007CA78DA79EA741EC51E061E070E0CE01CE -:10E8F00087960E94E7C941EC51E061E070E0CE01EB -:10E900004F960E94E7C94FA158A569A57AA5CE01E7 -:10E910008B960E94958C8111D8C0D3018D919C91CA -:10E9200011972696EEADFFAD26978E2B9F2B8D93DC -:10E930009C931F5FF2E06F0E711C22962EAD3FADCF -:10E9400022972E5F3F4F22963FAF2EAF2297163071 -:10E9500009F0CCCE3FEF231A330A24968EAD9FAD3B -:10E960002497019624969FAF8EAF249796E02916A0 -:10E97000310409F07ECE0E94D1662E96AEADBFADB9 -:10E980002E9711972E96BFAFAEAF2E97AB2B41F0BF -:10E990002C96BFAD2C97B7FD03C0EFADE7FFB5CB0D -:10E9A0006FEF85ED9FE40F9405080E94A0BB80E007 -:10E9B00090E0A0EAB0E480939A0C90939B0CA09313 -:10E9C0009C0CB0939D0C19821A821B821C829E01A2 -:10E9D0002F5F3F4F4AE95CE066E97CE082E99CE01A -:10E9E0000E9409EC80918C1390918D13A0918E134D -:10E9F000B0918F138093920C9093930CA093940CEE -:10EA0000B093950C8091881390918913A0918A13EB -:10EA1000B0918B138093960C9093970CA093980CC5 -:10EA2000B093990C19821A821B821C829E012F5F5F -:10EA30003F4F4AE95CE066E97CE082E99CE00E94A5 -:10EA400009EC6196FFAD6197F09379120E94CCBCFE -:10EA500060962FAD609721115AC01092070A10924C -:10EA6000060A0E9418FD80E090E00E94529C4FC070 -:10EA700060E070E080E89FE39BCE60E070E880EEAD -:10EA800093E496CE4F8D58A169A17AA1CE018396C9 -:10EA90000E94958C882309F4A5CE9E01215E3F4FEC -:10EAA000AE014D5D5F4FBE01695D7F4FCE018B961C -:10EAB0000F941C3B97CE60E070E080E89FE30BCFA3 -:10EAC00060E070E08DEE93E406CF4F8D58A169A110 -:10EAD0007AA1CE0183960E94958C882309F41DCFDC -:10EAE0009E01215E3F4FAE014D5D5F4FBE01695DEE -:10EAF0007F4FCE018B960F941C3B0FCFFFADD42CD4 -:10EB0000352C262CC72CF5300CF0E2CBCFCBC05BDC -:10EB1000DF4F0FB6F894DEBF0FBECDBFDF91CF91B0 -:10EB20001F910F91FF90EF90DF90CF90BF90AF902B -:10EB30009F908F907F906F905F904F903F902F901D -:10EB40000895EF92FF920F931F93CF937C018B0157 -:10EB50004F3F11F4C2E401C0C4E580E20E94A66503 -:10EB60008C2F0E94A6658AE30E94A665F70160814A -:10EB700071818281938142E00E944666F801408162 -:10EB80005181628173818EE794E50F941C4162E0AC -:10EB900070E080E090E0CF911F910F91FF90EF9097 -:10EBA0000D94343E1F93CF93DF93CDB7DEB72897F4 -:10EBB0000FB6F894DEBF0FBECDBF182F6091EC0CDE -:10EBC0007091ED0C072E000C880B990B0F94D1540B -:10EBD0006D837E838F8398878091E80C9091E90CF8 -:10EBE000A091EA0CB091EB0C89839A83AB83BC8330 -:10EBF0004CEFBE016B5F7F4FCE0101960E94A1F5E5 -:10EC00006091060A7091070A072E000C880B990B79 -:10EC10000F94D1546D837E838F8398878091020AED -:10EC20009091030AA091040AB091050A89839A83FE -:10EC3000AB83BC834FEFBE016B5F7F4FCE0101966C -:10EC40000E94A1F51F3F41F087E11802F001112455 -:10EC5000EC51F34F628502C06091080A70E086E8CB -:10EC600094E50F942D416091080A70E081E894E5E5 -:10EC70000F942D4128960FB6F894DEBF0FBECDBF7E -:10EC8000DF91CF911F9108952F923F924F925F9203 -:10EC90006F927F928F929F92AF92BF92CF92DF92AC -:10ECA000EF92FF920F931F93CF93DF93CDB7DEB711 -:10ECB00063970FB6F894DEBF0FBECDBF898B81E09E -:10ECC000809314021A821B821C821D8219861A8666 -:10ECD0001B861C8619821D862CE32E873CE13F870C -:10ECE00046E4488B312C212C50E85A8B8FEB8B8BD0 -:10ECF00091E09887812C912C54016091060A7091C3 -:10ED0000070A072E000C880B990B0F94D1547B0136 -:10ED10008C019B01AC01632D722D8A899B890F9414 -:10ED2000CA54882361F16091020A7091030A8091AC -:10ED3000040A9091050AA989A1110EC0B1E0B98316 -:10ED40009701A8010F94205E18160CF019823E2C32 -:10ED50002F2C0A8B1B8B13C09701A8010F94205EE8 -:10ED6000181644F480911402882309F4F0C00F941B -:10ED7000A608EDC03E2C2F2C0A8B1B8B19820F94FA -:10ED80006E3E6B017C01DC01CB0129853A854B8508 -:10ED90005C85821B930BA40BB50BB7FD33C0D70169 -:10EDA000C60188519C4FAF4FBF4F89879A87AB8769 -:10EDB000BC8780E00E94D2F58EE894E50F94D040A5 -:10EDC00081149104A104B104B9F0D501C401805F9C -:10EDD000984DAF4FBF4FBC01CD016C197D098E0915 -:10EDE0009F0928EE33E040E050E00F94205BCA0119 -:10EDF000B9010E941A6603C08FE30E94A6658AE0EB -:10EE00000E94A66580E00E94EA660F946E3E6093C1 -:10EE10006714709368148093691490936A149091A6 -:10EE2000020A9E83A091030AAF830091040A109105 -:10EE3000050A292F3A2FA801632D722D8A899B89F3 -:10EE40000F94BF5B2B013C0120E030E0A9010F943F -:10EE5000205E87FF04C077FA709477F8709481146D -:10EE60009104A104B104B1F420E030E040E85FE394 -:10EE7000C301B2010F94CA5487FF18C0B885460178 -:10EE80005701BB2399F020E1820E27E2921EA11CBC -:10EE9000B11C0CC020E030E040E450E4C301B201FA -:10EEA0000F94205E181614F446015701398133235C -:10EEB000A9F18A819B81AC81BD81892B8A2B8B2B07 -:10EEC00061F0D701C6012A813B814C815D81821BA3 -:10EED000930BA40BB50BB7FD21C02E813F81A80178 -:10EEE0006D857E858F8598890F94BF5B20E030E02B -:10EEF00040EC5FE30F94CA5487FD34CFD701C601BD -:10EF0000805A9541AF4FBF4F8A839B83AC83BD83AB -:10EF10009E819D87AF81AE870F87188B80911402E9 -:10EF2000882309F41FCF81149104A104B10411F4C2 -:10EF30001886E3CEB0E1CB1AB7E2DB0AE108F108AC -:10EF4000C818D908EA08FB08F7FCF2CF0BCF80916C -:10EF5000140263960FB6F894DEBF0FBECDBFDF91EB -:10EF6000CF911F910F91FF90EF90DF90CF90BF90C6 -:10EF7000AF909F908F907F906F905F904F903F9059 -:10EF80002F9008952F923F924F925F926F927F92AF -:10EF90008F929F92AF92BF92CF92DF92EF92FF92A9 -:10EFA0000F931F93CF93DF93CDB7DEB764970FB660 -:10EFB000F894DEBF0FBECDBF898B6A8B81E0809352 -:10EFC00014021A821B821C821D8219861A861B86D5 -:10EFD0001C8621E0288719821D863CE33E874CE190 -:10EFE0004F8756E4588B312C212C80E88B8B9FEB7C -:10EFF0009C8B812C912C54016091EC0C7091ED0C48 -:10F00000072E000C880B990B0F94D1547B018C01B7 -:10F010009B01AC01632D722D8B899C890F94CA547E -:10F02000882361F16091E80C7091E90C8091EA0C01 -:10F030009091EB0CAA89A1110EC0B1E0B9839701A0 -:10F04000A8010F94205E18160CF019823E2C2F2C6C -:10F050000B8B1C8B13C09701A8010F94205E181610 -:10F0600044F480911402882309F4F0C00F94A60898 -:10F07000EDC03E2C2F2C0B8B1C8B19820F946E3EF7 -:10F080006B017C01DC01CB0129853A854B855C85D0 -:10F09000821B930BA40BB50BB7FD33C0D701C60180 -:10F0A00088519C4FAF4FBF4F89879A87AB87BC87EA -:10F0B00089890E94D2F58AE894E50F94D0408114A2 -:10F0C0009104A104B104B9F0D501C401805F984D49 -:10F0D000AF4FBF4FBC01CD016C197D098E099F094F -:10F0E00028EE33E040E050E00F94205BCA01B90104 -:10F0F0000E941A6603C08FE30E94A6658AE00E9400 -:10F10000A66580E00E94EA660F946E3E60936714E5 -:10F11000709368148093691490936A149091E80C2A -:10F120009E83A091E90CAF830091EA0C1091EB0C47 -:10F13000292F3A2FA801632D722D8B899C890F945A -:10F14000BF5B2B013C0120E030E0A9010F94205E61 -:10F1500087FF04C077FA709477F870948114910453 -:10F16000A104B104B1F420E030E040E85FE3C30162 -:10F17000B2010F94CA5487FF18C0B88546015701E1 -:10F18000BB2399F020E1820E27E2921EA11CB11C44 -:10F190000CC020E030E040E450E4C301B2010F9421 -:10F1A000205E181614F44601570139813323A9F162 -:10F1B0008A819B81AC81BD81892B8A2B8B2B61F04D -:10F1C000D701C6012A813B814C815D81821B930B53 -:10F1D000A40BB50BB7FD21C02E813F81A8016D8521 -:10F1E0007E858F8598890F94BF5B20E030E040ECEE -:10F1F0005FE30F94CA5487FD34CFD701C601805A0C -:10F200009541AF4FBF4F8A839B83AC83BD839E8163 -:10F210009D87AF81AE870F87188B8091140288235A -:10F2200009F41FCF81149104A104B10411F41886CC -:10F23000E3CEB0E1CB1AB7E2DB0AE108F108C81867 -:10F24000D908EA08FB08F7FCF2CF0BCF8091140233 -:10F2500064960FB6F894DEBF0FBECDBFDF91CF919D -:10F260001F910F91FF90EF90DF90CF90BF90AF90E4 -:10F270009F908F907F906F905F904F903F902F90D6 -:10F280000895EF92FF920F931F93CF93DF93809196 -:10F290005E028F37A0F08F579091EE0C9093C413BD -:10F2A000992311F02C9A01C02C982091080A2093E0 -:10F2B000C31390910201222369F090950BC09091A5 -:10F2C000C413891708F02C989091C313891728F05C -:10F2D000909102019072909300018F5F80935E0283 -:10F2E0009091C21381E089278093C21380915D02BF -:10F2F00085301CF411E0180F01C010E0823009F4D1 -:10F30000B9C054F4882301F1813009F0E8C088E0E5 -:10F3100080937B0085E4C5C0843009F4CAC00CF436 -:10F32000BCC0853009F0DBC09091C113911102C0BF -:10F330008093C1138091C11381508093C11388239E -:10F3400009F4CDC015E0CBC080915C028F5F8031A5 -:10F350001CF480935C02C3C010925C028091B413D1 -:10F36000811113C08091E40C9091E50C9093E70C0F -:10F370008093E60C8091FE099091FF099093010A19 -:10F380008093000A81E08093B4131092E50C1092F0 -:10F39000E40C1092FF091092FE09E090E60CF09048 -:10F3A000E70CF194E194F1088091EC0C9091ED0C54 -:10F3B00001E0181619062CF08091EE0C811101C0A5 -:10F3C00000E080910E0290910F0291958195910934 -:10F3D0008E159F053CF44EEE53E56FE074E580E03A -:10F3E0000E942ACA002389F080910C0290910D029C -:10F3F000919581959109E816F9063CF441E254E5AE -:10F4000062E474E580E00E942ACA8091060A909125 -:10F41000070A01E0181619062CF08091080A8111DC -:10F4200001C000E02091000A3091010A8091160A83 -:10F430009091170A821793073CF04EEF53E56FE067 -:10F4400074E58FEF0E942ACA002309F448C0209176 -:10F45000000A3091010A80910A0290910B0228174C -:10F460003907ECF141E354E562E474E58FEF0E9463 -:10F470002ACA35C080917A0086FD2EC0809178001E -:10F48000909179002091E40C3091E50C820F931F4C -:10F490009093E50C8093E40C22C088E080937B007D -:10F4A00086E480937C0080917A00806480937A0067 -:10F4B00016C080917A0086FD11C0809178009091ED -:10F4C00079002091FE093091FF09820F931F9093DC -:10F4D000FF098093FE0903C012E001C014E01093FD -:10F4E0005D0220916B1430916C142115310509F4E3 -:10F4F0003AC0F8949091090192708091080181704E -:10F500008093060180910B01121613060CF0809572 -:10F5100082708093090100000000000080910B01BF -:10F52000809588708093090184E08A950000E9F74E -:10F5300080910B0188708093090180910B019111DA -:10F540008095827080930901789480916B149091DA -:10F550006C141216130614F4019701C001969093CF -:10F560006C1480936B148091B513882309F44DC0FB -:10F5700080915B028E5F8F7780935B02811145C023 -:10F580008CB185FB882780F9C82F80E0D82F809127 -:10F59000030181FDC2604A99C4600091BF131091BC -:10F5A000C0130C271D270115110579F100FF07C0B5 -:10F5B000BE016170772789E694E50F942D4101FF24 -:10F5C00008C06C2F6695617070E080E694E50F943A -:10F5D0002D4102FF08C0C2FB662760F970E087E595 -:10F5E00094E50F942D4184E594E50F94D04010915B -:10F5F000BE13612F70E08DE00F944C3D1095109379 -:10F60000BE13D093C013C093BF130E94E7798091BB -:10F61000C4119091C511009769F001979093C5119D -:10F620008093C411892B31F482E794E590933B0ACF -:10F6300080933A0ADF91CF911F910F91FF90EF9045 -:10F6400008950F930FB70F9300916E000B7F0093F7 -:10F650006E0078940F930BB70F930CB70F921F9215 -:10F660002F933F934F935F936F937F938F939F93CA -:10F67000AF93BF93EF93FF9311240E9441F9FF9141 -:10F68000EF91BF91AF919F918F917F916F915F911A -:10F690004F913F912F911F900F900CBF0F910BBF77 -:10F6A0000F910460F89400936E000F910FBF0F91BB -:10F6B00018952F923F924F925F926F927F928F9206 -:10F6C0009F92AF92BF92CF92DF92EF92FF920F93F1 -:10F6D0001F93CF93DF93CDB7DEB729970FB6F8947A -:10F6E000DEBF0FBECDBF1C017B836A8329831F83CE -:10F6F0000E83FD82EC8227FD10C0022E000C330B1E -:10F7000039872887398185E03802F0011124E255D4 -:10F71000FC4E84818823E1F008C08091AD138823DA -:10F7200099F0E1E0F0E0F987E887F1011482E885DB -:10F73000F985EE0FFF1FEE0FFF1FEA54FC4E1082FB -:10F740001182128213822EC021E030E0398728878F -:10F75000FA01C080D180E280F38008851985000F0E -:10F76000111F000F111F0A541C4EA7019601F8012A -:10F7700060817181828193810F94CA54882391F0B2 -:10F78000F801C082D182E282F38211E020E030E011 -:10F79000A901C701B6010F94205E18160CF010E005 -:10F7A000F1011483F10184818230F9F0833009F48E -:10F7B00001C1813009F023C1E885F985EE0FFF1FF3 -:10F7C000EE0FFF1FEA54FC4E2081318142815381AC -:10F7D000EA81FB8160817181828193810F94CA5497 -:10F7E00087FD0DC182E0F101848380915A02882354 -:10F7F00009F493C0F981F7FD90C08F2FFF0F990B8B -:10F800008C011816190614F401E010E0F801EF520B -:10F81000F34F2081222371F1EA81FB81C080D180E6 -:10F82000E280F380880F991F880F991FFC01EA542A -:10F83000FC4E80809180A280B3802C813D81B901F3 -:10F8400080E090E00F94CF542B013C0120E030E0A9 -:10F8500040E85EE30F9430559B01AC01C501B40153 -:10F860000F94BF5B9B01AC01C701B6010F94205EF2 -:10F8700087FD05C0F801E85AFD4F80E81AC023E86B -:10F8800030EC4AEA5EE3C301B2010F9430559B01AC -:10F89000AC01C501B4010F94BF5B9B01AC01C70172 -:10F8A000B6010F94205E085A1D4F87FD04C080E604 -:10F8B000F801808332C020E030E040E05FE3C30124 -:10F8C000B2010F9430559B01AC01C501B4010F94F6 -:10F8D000BF5B9B01AC01C701B6010F94205E87FDA1 -:10F8E00002C080E4E5CF2DEC3CEC4CE45FE3C301C7 -:10F8F000B2010F9430559B01AC01C501B4010F94C6 -:10F90000BF5B9B01AC01C701B6010F94205E87FD70 -:10F9100002C080E2CDCFF801108208851985000F62 -:10F92000111F000F111F98012A543C4E3987288758 -:10F93000EC81FD81BF0180E090E00F94CF549B01EA -:10F94000AC01E885F98560817181828193810F9492 -:10F95000BF5B9B01AC01EA81FB8160817181828187 -:10F9600093810F94205E87FD14C00F946E3E6B014F -:10F970007C012E813F81A8EEB3E00F94745BC60E2C -:10F98000D71EE81EF91EF101C082D182E282F38205 -:10F9900036C00F946E3EF1010081118122813381C6 -:10F9A000DC01CB01801B910BA20BB30BB7FD27C071 -:10F9B00083E08483F981FF3F19F047EB53E502C0F0 -:10F9C0004AEC53E56EED73E5898129960FB6F894FC -:10F9D000DEBF0FBECDBFDF91CF911F910F91FF9082 -:10F9E000EF90DF90CF90BF90AF909F908F907F90DF -:10F9F0006F905F904F903F902F900C942ACA299659 -:10FA00000FB6F894DEBF0FBECDBFDF91CF911F912F -:10FA10000F91FF90EF90DF90CF90BF90AF909F90AD -:10FA20008F907F906F905F904F903F902F900895B0 -:10FA3000CF92DF92EF92FF926091060A7091070ACF -:10FA400061157105C1F0C090020AD090030AE090E0 -:10FA5000040AF090050A66507109072E000C880B05 -:10FA6000990B0F94D1549B01AC01C701B6010F94BF -:10FA7000CA5487FD09C01092A5131092A6131092C4 -:10FA8000A7131092A8131EC020E030E040E050E41D -:10FA9000C701B6010F94C05B0F94335D7093A4133C -:10FAA0006093A3130F946E3EDC01CB01805E904403 -:10FAB000AD4FBF4F8093A5139093A613A093A713A8 -:10FAC000B093A813FF90EF90DF90CF900895CF935D -:10FAD000DF931092B31380E090E00E94529CCEEF2F -:10FAE000D9E0198618860E9418FD80E090E00E94F7 -:10FAF000529C1092EE0C2C98198618861A868091CA -:10FB00000201807280930001DF91CF910895CF921E -:10FB1000DF92EF92FF926091EC0C7091ED0C611509 -:10FB20007105C1F0C090E80CD090E90CE090EA0CAF -:10FB3000F090EB0C66507109072E000C880B990BA6 -:10FB40000F94D1549B01AC01C701B6010F94CA5464 -:10FB500087FD09C010929F131092A0131092A11359 -:10FB60001092A2131EC020E030E040E050E4C70134 -:10FB7000B6010F94C05B0F94335D70939E13609336 -:10FB80009D130F946E3EDC01CB01805B9C43AF4F15 -:10FB9000BF4F80939F139093A013A093A113B09392 -:10FBA000A213FF90EF90DF90CF9008958F929F92D5 -:10FBB000AF92BF92CF92DF92EF92FF920F931F937B -:10FBC000CF93DF93F0E2FF2EE12CAE2DB0E0BD012C -:10FBD0006F0D711D75956795611103C0E9E3F3E53C -:10FBE00006C06E1511F0F6120BC0E5EBF3E565915A -:10FBF0007491072E000C880B990B0F94D15462C09E -:10FC00009B0121503109220F331F220F331FF901AD -:10FC1000E95CFC4A05911491AB01440F551F440F58 -:10FC2000551FFA01E95CFC4AC591D49180179107F0 -:10FC300014F4F62ECCCFC817D90714F4E62EC5CF8E -:10FC4000F901E75CFC4AE590F490FA01E75CFC4AB4 -:10FC5000C590D490BC01601B710B072E000C880B63 -:10FC6000990B0F94D1544B015C01B6016E197F09B9 -:10FC7000072E000C880B990B0F94D1549B01AC01FB -:10FC8000C501B4010F9430554B015C01C01BD10B71 -:10FC9000BE01DD0F880B990B0F94D1549B01AC0171 -:10FCA000C501B4010F94BA5C4B015C01B701FF0CB4 -:10FCB000880B990B0F94D1549B01AC01C501B40181 -:10FCC0000F94C05BDF91CF911F910F91FF90EF9048 -:10FCD000DF90CF90BF90AF909F908F9008958F92BC -:10FCE0009F92AF92BF92CF92DF92EF92FF920F93CB -:10FCF0001F93CF93DF93C62F662381F00F944C415F -:10FD00006AE070E08C2F90E00E94366689E193E50E -:10FD10000F94D04080E090E00F94EE32F0E4FF2E9C -:10FD2000E12CAE2DB0E0BD016F0D711D759567958D -:10FD3000611103C0EBE1F2E506C06E1511F0F61299 -:10FD40000BC0E7E1F3E565917491072E000C880B79 -:10FD5000990B0F94D15462C09B0121503109220F9D -:10FD6000331F220F331FF901E75EFD4A05911491FD -:10FD7000AB01440F551F440F551FFA01E75EFD4AC2 -:10FD8000C591D4918017910714F4F62ECCCFC817E3 -:10FD9000D90714F4E62EC5CFF901E55EFD4AE590DA -:10FDA000F490FA01E55EFD4AC590D490BC01601B59 -:10FDB000710B072E000C880B990B0F94D1544B013B -:10FDC0005C01B6016E197F09072E000C880B990B98 -:10FDD0000F94D1549B01AC01C501B4010F9430556F -:10FDE0004B015C01C01BD10BBE01DD0F880B990BD1 -:10FDF0000F94D1549B01AC01C501B4010F94BA5CBE -:10FE00004B015C01B701FF0C880B990B0F94D15487 -:10FE10009B01AC01C501B4010F94C05BDF91CF9190 -:10FE20001F910F91FF90EF90DF90CF90BF90AF9018 -:10FE30009F908F900895CF93DF93C4EEDCE060E055 -:10FE40008A819B810E946FFE6C837D838E839F835A -:10FE5000CEEFD9E08A819B810E94D6FD6C837D83A1 -:10FE60008E839F83A8951092B413DF91CF9108954C -:10FE7000CF92DF92EF92FF920F931F93CF93DF9376 -:10FE8000CDB7DEB7CE5AD1090FB6F894DEBF0FBE9C -:10FE9000CDBFCF55DF4F188219821A821B82C15AFB -:10FEA000D0408091B6079091B707A091B807B09164 -:10FEB000B907CB55DF4F88839983AA83BB83C55A83 -:10FEC000D040C755DF4F19821882C95AD04084E606 -:10FED00090E0C555DF4F99838883CB5AD04010926C -:10FEE0002E149E0127553F4F44E050E0BE016B5554 -:10FEF0007F4FCE0185559F4F0E94A963C555DF4FA7 -:10FF000088819981CB5AD0400296C555DF4F99839D -:10FF10008883CB5AD040C755DF4F19821882C95AFF -:10FF2000D04081E0C255DF4F8883CE5AD0409E0139 -:10FF300027553F4F41E050E0BE0162557F4FCE0153 -:10FF400085559F4F0E94A9639E0127553F4F48E466 -:10FF500050E06CE771E1CE0185559F4F0E94A96387 -:10FF60008E010F5F1F4F80E1F80111928A95E9F72A -:10FF700080E090E0A0EAB0E489839A83AB83BC83FD -:10FF80009E0127553F4F40E150E0B801CE01855515 -:10FF90009F4F0E94A9639E0127553F4F44E050E0C8 -:10FFA00069EB7CE0CE0185559F4F0E94A9639E01BD -:10FFB00027553F4F4CE050E06DE27AE0CE01855589 -:10FFC0009F4F0E94A9639E0127553F4F41E050E09B -:10FFD0006DE472E0CE0185559F4F0E94A9639E019A -:10FFE00027553F4F44E050E065E172E0CE01855572 -:10FFF0009F4F0E94A9638091681290916912A0910D -:020000022000DC -:100000006A12B0916B1289839A83AB83BC839E0181 -:1000100027553F4F44E050E0B801CE0185559F4F32 -:100020000E94A963CF55DF4F188219821A821B8262 -:10003000C15AD0407E01FDE6EF0EF11C83E0F701CE -:10004000808389839E0127553F4F44E050E0BE01E5 -:100050006F557F4FCE0185559F4F0E94A9639E012A -:1000600027553F4F41E050E0B701CE0185559F4FE6 -:100070000E94A9639E0127553F4F41E050E0B8011F -:10008000CE0185559F4F0E94A9633AE0D32EDA94A2 -:100090009E0127553F4F44E050E0DD2049F0BE016E -:1000A0006F557F4FCE0185559F4F0E94A963EFCFBB -:1000B0006FE77CE0CE0185559F4F0E94A9639E01AA -:1000C00027553F4F44E050E063E87CE0CE01855582 -:1000D0009F4F0E94A9639E0127553F4F44E050E087 -:1000E00067E87CE0CE0185559F4F0E94A963CF55FC -:1000F000DF4F188219821A821B82C15AD0402AE02F -:10010000D22EDA94DD2071F09E0127553F4F44E056 -:1001100050E0BE016F557F4FCE0185559F4F0E9425 -:10012000A963EFCF83E0C355DF4F8883CD5AD0401A -:10013000C356DF4F8883CD59D040F701108211821A -:100140001282138219821A821B821C82CF55DF4FC2 -:10015000188219821A821B82C15AD0409E012755EB -:100160003F4F41E050E0BE0163557F4FCE018555C2 -:100170009F4F0E94A9639E0127553F4F41E050E0E9 -:10018000BE0163567F4FCE0185559F4F0E94A963E4 -:100190009E0127553F4F44E050E0B801CE01855500 -:1001A0009F4F0E94A9639E0127553F4F44E050E0B6 -:1001B000B701CE0185559F4F0E94A9639AE0C92ED1 -:1001C000D12CF1E0CF1AD1089E0127553F4FC11421 -:1001D000D10459F044E050E0BE016F557F4FCE018D -:1001E00085559F4F0E94A963ECCF41E050E06BE53D -:1001F0007CE0CE0185559F4F0E94A9639E01275543 -:100200003F4F41E050E06FE37CE0CE0185559F4FCA -:100210000E94A9639E0127553F4F44E050E063E4EC -:1002200073E0CE0185559F4F0E94A9639E0127551B -:100230003F4F41E050E06DE274E1CE0185559F4FA4 -:100240000E94A9638091E7029091E802A091E902DF -:10025000B091EA02F70180839183A283B3838091F6 -:10026000EB029091EC02A091ED02B091EE02898335 -:100270009A83AB83BC83C356DF4F1882CD59D040DD -:10028000C256DF4F1882CE59D0409E0127553F4FAE -:1002900044E050E0B701CE0185559F4F0E94A9630D -:1002A0009E0127553F4F44E050E0B801CE018555EF -:1002B0009F4F0E94A9639E0127553F4F42E050E0A7 -:1002C000BE0163567F4FCE0185559F4F0E94A963A3 -:1002D00080E1F80111928A95E9F780E090E0A0E8CA -:1002E000BFE38D879E87AF87B88B8091EF0C90918D -:1002F000F00CA091F10CB091F20C89839A83AB833E -:10030000BC838091F30C9091F40CA091F50CB0910A -:10031000F60C8D839E83AF83B8878091F70C909104 -:10032000F80CA091F90CB091FA0C89879A87AB87E9 -:10033000BC879E0127553F4F40E150E0B801CE01F8 -:1003400085559F4F0E94A96384E190E09A83898339 -:100350009E0127553F4F42E050E0B801CE01855540 -:100360009F4F0E94A9639E0127553F4F4CE050E0EC -:1003700069E07AE0CE0185559F4F0E94A9638FE71F -:1003800090E09A8389839E0127553F4F42E050E0D9 -:10039000B801CE0185559F4F0E94A96381E08983F2 -:1003A0009E0127553F4F41E050E0B801CE018555F1 -:1003B0009F4F0E94A96380E2EFEEF2E0D801019026 -:1003C0000D928A95E1F79E0127553F4F40E250E09C -:1003D000B801CE0185559F4F0E94A963F701108295 -:1003E0009E0127553F4F41E050E0B701CE018555B2 -:1003F0009F4F0E94A9639E0127553F4F41E050E067 -:1004000069E772E1CE0185559F4F0E94A9639E0165 -:1004100027553F4F44E050E06EE772E1CE0185552D -:100420009F4F0E94A9638AE1F80111928A95E9F72A -:100430009E0127553F4F4AE150E0B801CE01855556 -:100440009F4F0E94A96384E3EFE0F3E0D80101909D -:100450000D928A95E1F79E0127553F4F44E350E006 -:10046000B801CE0185559F4F0E94A96388E0F8012D -:1004700011928A95E9F79E0127553F4F48E050E0D9 -:10048000B801CE0185559F4F0E94A9638DE0F80108 -:1004900011928A95E9F79E0127553F4F4DE050E0B4 -:1004A000B801CE0185559F4F0E94A963CF55DF4FFC -:1004B000188219821A821B82C15AD0409E01275588 -:1004C0003F4F44E050E0BE016F557F4FCE01855550 -:1004D0009F4F0E94A9638CE0D82EF8018D2D1192B8 -:1004E0008A95E9F79E0127553F4F4CE050E0B8014F -:1004F000CE0185559F4F0E94A9638CE6F8011192A9 -:100500008A95E9F79E0127553F4F4CE650E0B80128 -:10051000CE0185559F4F0E94A9639E0127553F4FED -:100520004CE050E068E074E1CE0185559F4F0E9499 -:10053000A9639E0127553F4F48E050E067E37CE008 -:10054000CE0185559F4F0E94A963F7011192DA945D -:10055000E9F7C355DF4F1882CD5AD04080E090E0D4 -:10056000A0E4B0E4C356DF4F88839983AA83BB839A -:10057000CD59D0409E0127553F4F44E050E0B70190 -:10058000CE0185559F4F0E94A9639E0127553F4F7D -:1005900044E050E0B7016C5F7F4FCE0185559F4F1F -:1005A0000E94A9639E0127553F4F44E050E0B701E8 -:1005B000685F7F4FCE0185559F4F0E94A9639E01C2 -:1005C00027553F4F41E050E0BE0163557F4FCE01BC -:1005D00085559F4F0E94A9639E0127553F4F44E0D8 -:1005E00050E0BE0163567F4FCE0185559F4F0E945C -:1005F000A96380E3F70111928A95E9F782EA97E00F -:100600000E94C4669E0127553F4F40E350E0B7016A -:10061000CE0185559F4F0E94A96380912E148111B0 -:1006200038C0C555DF4F08811981CB5AD040C75516 -:10063000DF4F88819981C95AD040F7019183808327 -:1006400084E690E0C555DF4F99838883CB5AD0402C -:100650009E0127553F4F44E050E067E773E0CE012D -:1006600085559F4F0E94A9639E0127553F4F42E049 -:1006700050E0B701CE0185559F4F0E94A96381E0EC -:10068000003F124009F480E090912E14892B809352 -:100690002E1480913F0C87FF0E945D7C8AEC96E0CF -:1006A0000E94C46690912E1481E08927C255DF4FC5 -:1006B0000FB6F894DEBF0FBECDBFDF91CF911F9173 -:1006C0000F91FF90EF90DF90CF900895AF92BF927F -:1006D000CF92DF92EF92FF921F93CF93DF93CDB72C -:1006E000DEB760970FB6F894DEBF0FBECDBF809126 -:1006F000A90C9091AA0CA091AB0CB091AC0C898381 -:100700009A83AB83BC838091AD0C9091AE0CA09189 -:10071000AF0CB091B00C8D839E83AF83B88780916E -:10072000B10C9091B20CA091B30CB091B40C89872C -:100730009A87AB87BC878091B50C9091B60CA0913D -:10074000B70CB091B80C8D879E87AF87B88B0E948D -:100750004F910E94CCBC80EFA82E84E5B82E99E181 -:10076000E92E92E0F92E24EEC22E24E5D22E10E0DE -:10077000812F0E9439C0F50185919591A591B49181 -:10078000F70180839183A283B383F60185919591CC -:10079000A591B491F70184839583A683B7831F5FE6 -:1007A000F4E0AF0EB11C88E0E80EF11CE4E0CE0EE0 -:1007B000D11C1330E9F66091330C7091340C8091A8 -:1007C000350C9091360C40E00F94713F0E94969149 -:1007D00040E150E069EA7CE0CE0101960F9432607E -:1007E000892B89F060960FB6F894DEBF0FBECDBF9F -:1007F000DF91CF911F91FF90EF90DF90CF90BF904E -:10080000AF900C949A7C60960FB6F894DEBF0FBE42 -:10081000CDBFDF91CF911F91FF90EF90DF90CF90F0 -:10082000BF90AF9008954F925F926F927F928F9298 -:100830009F92AF92BF92CF92DF92EF92FF92CF93AF -:10084000DF9300D000D0CDB7DEB79E838D83DC016F -:100850004D905D906D907C90139714968D909D9027 -:10086000AD90BC90179718968D919D910D90BC916D -:10087000A02D89839A83AB83BC83A3019201C3011A -:10088000B2010F9430556B017C01A5019401C501A3 -:10089000B4010F9430559B01AC01C701B6010F9410 -:1008A000C05B6B017C0129813A814B815C81CA016B -:1008B000B9010F9430559B01AC01C701B6010F94EB -:1008C000C05B0F94BE5E9B01AC0160E070E080E80D -:1008D0009FE30F94BA5C6B017C019B01AC01C301E7 -:1008E000B2010F943055ED81FE8160837183828364 -:1008F0009383A7019601C501B4010F943055AD81D2 -:10090000BE8114966D937D938D939C931797A70149 -:10091000960169817A818B819C810F943055ED819C -:10092000FE81608771878287938726960FB6F89439 -:10093000DEBF0FBECDBFDF91CF91FF90EF90DF9074 -:10094000CF90BF90AF909F908F907F906F905F906F -:100950004F9008950F931F9380916E0C813019F47E -:100960000F946E3E08C060916A0C70916B0C809180 -:100970006C0C90916D0C00915C0C10915D0C2091B1 -:100980005E0C30915F0C601B710B820B930B28EE99 -:1009900033E040E050E00F94205B8091600C909138 -:1009A000610CA091620CB091630CBC01CD01620F8F -:1009B000731F841F951F1F910F91089510926E0C45 -:1009C00010925C0C10925D0C10925E0C10925F0CF9 -:1009D00010926A0C10926B0C10926C0C10926D0CB1 -:1009E0001092600C1092610C1092620C1092630CC9 -:1009F000089580916E0C813099F58AEB97E00E9402 -:100A0000C46681E09AE590937A168093791687E51B -:100A100090E090937C1680937B1687E080936D1610 -:100A200082E88093701684E890E0A0E0B0E08093C4 -:100A3000711690937216A0937316B09374160F9458 -:100A4000483282E080936E0C0F946E3E60936A0C85 -:100A500070936B0C80936C0C90936D0C81E00895F7 -:100A600080E008958F929F92AF92BF92CF92DF92D3 -:100A7000EF92FF920F931F93CF93DF93CDB7DEB723 -:100A80002C970FB6F894DEBF0FBECDBF8B0140E0B0 -:100A900050E068E472E44D835E836F83788740E0C2 -:100AA00050E060EA70E449875A876B877C87813021 -:100AB00019F0823039F02AC0BE01675F7F4FC8014C -:100AC000089646C0F801208531854285538560919E -:100AD000B10C7091B20C8091B30C9091B40C0F9446 -:100AE000C05B6B017C0120E030E04BEE53E40F94DF -:100AF000CA5487FD06C0C12CD12C8BEEE82E83E4AE -:100B0000F82EC982DA82EB82FC821DC08090B10C83 -:100B10009090B20CA090B30CB090B40CF801C084CB -:100B2000D184E284F3849601A701B401C5010F9436 -:100B3000CA5487FD02C064017501C601D7018983CB -:100B40009A83AB83BC83BE01675F7F4FCE01019662 -:100B50000E943C79B8016C5F7F4FAE014B5F5F4FE5 -:100B6000C8010E941A790E949A7C2C960FB6F894BC -:100B7000DEBF0FBECDBFDF91CF911F910F91FF90D0 -:100B8000EF90DF90CF90BF90AF909F908F9008959F -:100B90004F925F926F927F928F929F92AF92BF928D -:100BA000CF92DF92EF92FF92CF93DF93CDB7DEB774 -:100BB0006E970FB6F894DEBF0FBECDBF9E8F8D8FA0 -:100BC000DC01D896CD90DD90ED90FC90DB9720E095 -:100BD00030E0A901C701B6010F94CA54811103C0C6 -:100BE00081E090E0CBC1A7019601ED8DFE8D608183 -:100BF0007181828193810F94BA5C69837A838B833C -:100C00009C83AD8DBE8D6D937D938D939C93139737 -:100C1000A701960114966D917D918D919C911797E6 -:100C20000F94BA5C6D837E838F839887ED8DFE8DE4 -:100C30006483758386839783A70196016085718598 -:100C4000828593850F94BA5C69877A878B879C87A6 -:100C5000AD8DBE8D18966D937D938D939C931B9750 -:100C6000A70196011C966D917D918D919C911F9786 -:100C70000F94BA5C4B015C0129813A814B815C8104 -:100C8000CA01B9010F9430559B01AC01C501B401F3 -:100C90000F94BF5B6D877E878F87988BED8DFE8D60 -:100CA0006487758786879787A70196016089718910 -:100CB000828993890F94BA5C4B015C012D813E813E -:100CC0004F815885CA01B9010F9430559B01AC0181 -:100CD000C501B4010F94BF5B698B7A8B8B8B9C8BA6 -:100CE000AD8DBE8D50966D937D938D939C93539750 -:100CF000A701960154966D917D918D919C91579786 -:100D00000F94BA5C4B015C0129853A854B855C8563 -:100D1000CA01B9010F9430559B01AC01C501B40162 -:100D20000F94BF5BED8DFE8D648B758B868B978BDF -:100D3000A7019601608D718D828D938D0F94BA5CA1 -:100D40004B015C012D813E814F81588569817A81FB -:100D50008B819C810F9430559B01AC01C501B4017E -:100D60000F94BF5B4B015C01AD8DBE8D58966D93AA -:100D70007D938D939C935B97A701960190966D91BF -:100D80007D918D919C9193970F94BA5C2B013C01BE -:100D900029853A854B855C856D817E818F8198851B -:100DA0000F9430559B01AC01C301B2010F94BF5B9E -:100DB0006D8B7E8B8F8B988FED8DFE8D60A371A3D5 -:100DC00082A393A3A7019601648D758D868D978D5F -:100DD0000F94BA5C6B017C0129853A854B855C8553 -:100DE00069817A818B819C810F9430559B01AC0184 -:100DF000C701B6010F94BF5B698F7A8F8B8F9C8F71 -:100E0000AD8DBE8D5C966D937D938D939C935F9716 -:100E100029893A894B895C896D857E858F8598897A -:100E20000F9430556B017C01A5019401C501B401FB -:100E30000F9430559B01AC01C701B6010F94BF5B05 -:100E40006B017C0120E030E0A9010F94205E2601B7 -:100E5000370187FF04C077FA709477F87094ED8DAE -:100E6000FE8D20A531A542A553A564A175A186A13B -:100E700097A10F94C05B2FEF36EE4BED5EE20F941F -:100E80003055A30192010F94205E87FFA9CE2D89D2 -:100E90003E894F89588DC501B4010F9430552B01FF -:100EA0003C01298D3A8D4B8D5C8D69897A898B89BE -:100EB0009C890F9430559B01AC01C301B2010F9482 -:100EC000BF5BA70196010F94BA5C2B013C01AD8D6D -:100ED000BE8D9C966D937D938D939C939F97298D4A -:100EE0003A8D4B8D5C8DC501B4010F9430554B018B -:100EF0005C012D893E894F89588D6D857E858F8552 -:100F000098890F9430559B01AC01C501B4010F9431 -:100F1000BF5BA70196010F94BA5C6B017C01ED8D5C -:100F2000FE8D60AB71AB82AB93ABA3019201698183 -:100F30007A818B819C810F94305529853A854B8528 -:100F40005C850F94C05B4B015C01A70196016D812C -:100F50007E818F8198850F9430559B01AC01C5012E -:100F6000B4010F94C05BDC01CB01B058ED8DFE8D58 -:100F700084AB95ABA6ABB7AB80E090E06E960FB6B6 -:100F8000F894DEBF0FBECDBFDF91CF91FF90EF9001 -:100F9000DF90CF90BF90AF909F908F907F906F9099 -:100FA0005F904F9008958091F51782FF2AC00E94AC -:100FB000388A882319F18091ED179091EE17A0914E -:100FC000EF17B091F0170097A105B105B9F0BC017A -:100FD000CD016D597F4F8F4F9F4F24E630E040E0A9 -:100FE00050E00F94205B6091F1177091F21780919F -:100FF000F3179091F4170F94205B01C020E0209329 -:101000000714809107148F7708950F931F93CF9340 -:10101000DF938C0167FF03C01092051460E080919C -:10102000051490E0262F062E000C330B28173907E5 -:1010300034F160930514C8010F941854800F911F68 -:10104000EC01C01BD10BC034D1053CF00197FC0171 -:101050002491207C2038D1F3F3CFDD27AE01B801F5 -:1010600085EC93E10F943954CB53DC4E188285EC18 -:1010700093E1DF91CF911F910F910C947D82DF91CD -:10108000CF911F910F91089510920614109214029F -:101090008091F51780628093F51761E08BEB94E502 -:1010A0000F94790940E050E060ED74E585E00F941D -:1010B000EC0A0E94659060E082EC94E50D940508CE -:1010C000CF93DF93CDB7DEB78E819091051489174A -:1010D00088F0809305149E01275F3F4F4F8158850C -:1010E0006FE370E085EC93E10F94915485EC93E10C -:1010F0000E947D82DF91CF910895CF93DF9320915D -:101100000514211120C0FC0101900020E9F731975E -:10111000EF01C81BD90BC034D1052CF02291207CE3 -:101120002038E1F3F5CFBC01DD27AE0185EC93E17A -:101130000F948660CB53DC4E188285EC93E1DF91EF -:10114000CF910C947D82DF91CF9108958091F51716 -:1011500082FD05C080916E0C823069F411C08091CF -:101160005D1A882319F08DE59AE102C08FE99AE1B2 -:1011700061E00D947D08813031F482EA94E505C088 -:101180008EEA94E502C082E994E56FEF0D940508BC -:10119000FF920F931F93CF93DF938B01D82FC92F0B -:1011A000F42E20E030E048EC52E40F94CA5487FF5C -:1011B0000FC020E030E0A901B8018D2F9C2F0F94C3 -:1011C000205E18164CF000E010E0D0E0C0E004C053 -:1011D00000E010E0D8ECC2E481E08F15E0F0B80147 -:1011E0008D2F9C2F0F942C5D9B01AC01AFEFB0E0D5 -:1011F0000F94615B24E630E040E050E00F94425BE6 -:10120000EF2DF0E0EF52F34F2F3F310519F010F0C2 -:101210002FEF30E02083DF91CF911F910F91FF904E -:101220000895EEEAF3E11082118212821382148291 -:1012300080E00C9487FD80917B1183FD0FC080912D -:10124000E30C81110BC02091EC0C3091ED0C8091DE -:101250004702909148022817390724F061E080E0A6 -:101260000C94C2F70F9450418DE397E50F94D04052 -:1012700080E00895CF92DF92EF92FF920F931F9339 -:10128000CF93DF937C018B011092FC090E943C6399 -:10129000C9EADCE0209143023091440240914502CA -:1012A00050914602F70160817181828193810F9490 -:1012B000BA5C2C853D854E855F850F94C05B6C873D -:1012C0007D878E879F87C12CD12C760125EB3CE052 -:1012D00041EB5CE06DEA7CE0CE010E9464BADF91F4 -:1012E000CF911F910F91FF90EF90DF90CF900C94D2 -:1012F000BA910F931F93CF938C01C62F8CE795E57E -:101300000F94D040C8010F94D040CC2331F08AE034 -:10131000CF911F910F910C94A665CF911F910F91C2 -:10132000089560E081E995E50F94790989E995E5EB -:101330000F94D0408AE00C94A66560E081E995E5C1 -:101340000F9479098DE895E50F94D0408AE00C94CC -:10135000A665EF92FF920F931F93CF937C018B01B1 -:10136000C42F60E081E995E50F947909C7010F94D6 -:10137000D04080E20E94A665C8010F94D040CC23E3 -:1013800041F08AE0CF911F910F91FF90EF900C9464 -:10139000A665CF911F910F91FF90EF90089541E0C6 -:1013A000BC0186E895E50D94A909CF93DF93C09120 -:1013B0001C1410921C14C230B9F118F4C13041F061 -:1013C00041C0C430B1F1C530E9F5C4ECD5E53FC04A -:1013D00081111DC00F949D0941E06FE276E586E51D -:1013E00097E50F94A90984E296E50F94CF098091BF -:1013F000FC09882319F086E196E504C0C0931C140B -:101400008DE096E50F94CF090F9491091EC08130AD -:10141000E1F48091FC098823C1F010924D021092F2 -:10142000FC090E943C6311C010920614C0EED5E581 -:101430000EC089E096E590933B0A80933A0ACFEC80 -:10144000D5E505C0C6EBD5E502C0C9EFD5E58EE907 -:1014500095E50F94D040CE010F94D0408AE0DF9103 -:10146000CF910C94A6650F931F93CF93DF938B01BD -:10147000EA0180931C140F949D0941E0B80186E5B0 -:1014800097E50F94A909209719F0CE010F94CF0981 -:10149000DF91CF911F910F910D9491090F931F939D -:1014A000CF93DF93C82F0F945041C11103C084E53F -:1014B00096E502C086E796E50F94D0400F946E3E05 -:1014C000DC01CB0188539045AF4FBF4F8093AE13E3 -:1014D0009093AF13A093B013B093B1131092B213C3 -:1014E0001091E00883E08093E00881E08093061487 -:1014F00046E257E56FE277E582E00F94330A88E130 -:1015000097E50E94C282CC2319F0C6E7D6E502C057 -:10151000C4E5D6E501E080910614882309F455C09E -:101520008091B213882309F44CC00F94504181EF8D -:1015300096E50F94D0404CED56E563EE76E582E0FB -:101540000F94330A8EEC96E50E94C28280910614B5 -:10155000882321F081E00E94EA66F8CF40E050E065 -:1015600064EC76E582E00F94330A87EB96E50E94FF -:101570007D820F9411090F941B090F945041CE01E5 -:101580000F94D0400F946E3EDC01CB018853904500 -:10159000AF4FBF4F8093AE139093AF13A093B01390 -:1015A000B093B1131092B21342EA56E56BEA76E5B6 -:1015B00082E00F94330A81ED97E00E94C28200938B -:1015C000061481E00E94EA66A6CF1093E008DF913E -:1015D000CF911F910F91089590911C14911102C009 -:1015E0000D94330A08958F929F92AF92BF92CF923B -:1015F000DF92EF92FF920F931F93CF93DF9300D070 -:101600001F92CDB7DEB76C017B018A01B090B21397 -:101610000F941109B11016C08091E30C811112C012 -:101620006091E80C7091E90C8091EA0C9091EB0CC0 -:101630000F942C5D20914702309148026217730786 -:101640000CF4C2C00F941B09882309F4BDC0BB2051 -:10165000A1F10F9450418BEA97E50F94D040B090E0 -:10166000E00883E08093E00881E08093061482E044 -:1016700080931C140F949D0940E06BE977E586E5A3 -:1016800097E50F94A90980E30E94A6658AE00E946D -:10169000A66582E997E50F94CF090F94910984E834 -:1016A00097E50E94C28280910614882321F081E090 -:1016B0000E94EA66F8CFB092E00820E030E0A9018D -:1016C000F60160817181828193810F94CA548823CD -:1016D00071F080E090E0A0ECB0E489839A83AB8362 -:1016E000BC83BE016F5F7F4FC6010F943A0920E0B3 -:1016F00030E0A901F70160817181828193810F94AB -:10170000CA54882351F18090B4119090B511A090E3 -:10171000B611B090B71180E090E0A8ECB1E48093EE -:10172000B4119093B511A093B611B093B71180E0A6 -:1017300090E0A0EFB1E489839A83AB83BC83BE01C0 -:101740006F5F7F4FC7010F943A098092B411909256 -:10175000B511A092B611B092B71120E030E0A90106 -:10176000F80160817181828193810F94205E181647 -:1017700074F480E090E0A0E4B0E489839A83AB83C2 -:10178000BC83BE016F5F7F4FC8010F943A0981E0AF -:1017900080931C140F949D0941E06DE777E586E581 -:1017A00097E50F94A90983E797E50F94CF098091F6 -:1017B000FC09882319F085E697E502C08CE597E5DA -:1017C0000F94CF090F94910920E030E0A9016091B6 -:1017D000291470912A1480912B1490912C140F9439 -:1017E000CA5487FF0FC080E090E0A0E7B2E489838D -:1017F0009A83AB83BC83BE016F5F7F4F89E294E124 -:101800000F943A0980E090E0A8E4B2E489839A83D7 -:10181000AB83BC83AE014F5F5F4F61E274E18DE14A -:1018200094E10E941A7980E090E0A0EAB0E4898314 -:101830009A83AB83BC83BE016F5F7F4F85E294E1E7 -:101840000E943C798091291490912A14A0912B1424 -:10185000B0912C148093B50C9093B60CA093B70C58 -:10186000B093B80C80939E0C90939F0CA093A00C07 -:10187000B093A10C8EE99CE00E94CB9161E08EE4D4 -:1018800097E50F9479098091C00B81508093C00B2C -:1018900040E050E067ED77E585E00F94EC0A809139 -:1018A000C00B882339F00E9405718091C00B8150D4 -:1018B0008093C00B80E00E9406BB80916E0C82304A -:1018C00011F40E94B58F0F94A6080F900F900F90FF -:1018D0000F90DF91CF911F910F91FF90EF90DF90CC -:1018E000CF90BF90AF909F908F9008958F929F92CE -:1018F000AF92BF92CF92DF92EF92FF921F93CF935E -:10190000DF93CDB7DEB728970FB6F894DEBF0FBED2 -:10191000CDBF2091C00B211116C17A015B016C0172 -:1019200061E086E396E50F94790940E050E06EE4CB -:1019300076E585E00F94EC0A80917B1183FD22C04F -:1019400020E030E0A901F7016081718182819381FB -:101950000F94CA548823B1F01091E30C111112C0F6 -:1019600020914702309148028091EC0C9091ED0C4F -:10197000821793073CF40F9450418DE396E50F9442 -:10198000D040E2C08091C00B91E0980F9093C00BC3 -:101990009091F51792FF06C09B7F9093F5178E5F8D -:1019A0008093C00B0F94F90480E1E9EAFCE0ADE11B -:1019B000B4E101900D928A95E1F70E94BA9181E01D -:1019C0000E9406BB20E030E0A901F6016081718130 -:1019D000828193810F94CA54882319F18091E30C7A -:1019E000811111C06091E80C7091E90C8091EA0CB2 -:1019F0009091EB0C0F942C5D20914702309148029E -:101A00006217730774F080E090E0A0E7B2E4898386 -:101A10009A83AB83BC83BE016F5F7F4FC6010F9477 -:101A20003A0941E061E081E00E9459C0811104C09F -:101A3000B50182E00F94320520E030E0A901F70102 -:101A400060817181828193810F94CA54811102C097 -:101A500011E07AC00F941B09182F8823C9F380E086 -:101A600090E0A0E7B2E48D839E83AF83B88780E0E7 -:101A700090E0A0E8B0EC89839A83AB83BC83BE017D -:101A80006B5F7F4FCE0101960F943A0968E873E1CE -:101A900080E090E00F9464408091AC119091AD1182 -:101AA000A091AE11B091AF118D839E83AF83B887A3 -:101AB00080E090E0A0E8B0E489839A83AB83BC83A4 -:101AC000BE016B5F7F4FCE0101960F943A09809063 -:101AD000B4119090B511A090B611B090B71180E0FC -:101AE00090E0A8ECB1E48093B4119093B511A09369 -:101AF000B611B093B71180E090E0A4E2B2E48D8318 -:101B00009E83AF83B887F70180819181A281B381E1 -:101B100089839A83AB83BC83BE016B5F7F4FCE0109 -:101B200001960F943A098092B4119092B511A09247 -:101B3000B611B092B711129A64E670E080E090E0BE -:101B40000F94644001C010E0812F28960FB6F894DE -:101B5000DEBF0FBECDBFDF91CF911F91FF90EF9001 -:101B6000DF90CF90BF90AF909F908F900895CF93CC -:101B7000DF93EB01682F70E08FEE95E10E942E64F9 -:101B8000688179818A819B81643F21E072078105A8 -:101B9000910520F464EF71E080E090E00F946440E0 -:101BA00089B182FB882780F9DF91CF910895CF9288 -:101BB000DF92EF92FF921F93CF93DF9300D01F929B -:101BC000CDB7DEB78EEEC82E82E0D82EE12CF12CF8 -:101BD000C982DA82EB82FC82BE016F5F7F4F8AE5A9 -:101BE0000F94B70D811102C010E023C084EF91E083 -:101BF000A0E0B0E089839A83AB83BC83BE016F5FB2 -:101C00007F4F80EA0F94B70DC982DA82EB82FC82A3 -:101C1000BE016F5F7F4F8AE50F94B70D182F8823A1 -:101C200019F30F944C4182E495E50F94D0400F9442 -:101C3000C141812F0F900F900F900F90DF91CF91A6 -:101C40001F91FF90EF90DF90CF900895CF92DF9299 -:101C5000EF92FF92CF93DF9300D01F92CDB7DEB704 -:101C60008EEEC82E82E0D82EE12CF12CC982DA82C9 -:101C7000EB82FC82BE016F5F7F4F8AE00F94B70D4D -:101C8000811102C0F12C41C084EF91E0A0E0B0E0EE -:101C900089839A83AB83BC83BE016F5F7F4F80EAE9 -:101CA0000F94B70DC982DA82EB82FC82BE016F5FAE -:101CB0007F4F8AE50F94B70DC982DA82EB82FC82EE -:101CC000BE016F5F7F4F8AE00F94B70DC982DA8241 -:101CD000EB82FC82BE016F5F7F4F8AE50F94B70DE8 -:101CE000C982DA82EB82FC82BE016F5F7F4F8AE09D -:101CF0000F94B70DF82E882329F20F944C4188E0F9 -:101D000095E50F94D0400F94C1418F2D0F900F9007 -:101D10000F900F90DF91CF91FF90EF90DF90CF90D9 -:101D200008958F929F92AF92BF92CF92DF92EF92DF -:101D3000FF92CF93DF9300D01F92CDB7DEB7B82EBE -:101D400084EF91E0A0E0B0E089839A83AB83BC8309 -:101D5000BE016F5F7F4F80EA0F94B70D9EEEC92ED4 -:101D600092E0D92EE12CF12CC982DA82EB82FC823E -:101D7000BE016F5F7F4F8AE50F94B70D80912D14E0 -:101D800081113CC0BB20D1F1C982DA82EB82FC8296 -:101D9000BE016F5F7F4F8AE00F94B70D86E9882EF2 -:101DA000912CA12CB12C89829A82AB82BC82BE017B -:101DB0006F5F7F4F8CE80F94B70D89829A82AB8258 -:101DC000BC82BE016F5F7F4F82E80F94B70D89829E -:101DD0009A82AB82BC82BE016F5F7F4F8CE80F940A -:101DE000B70DC982DA82EB82FC82BE016F5F7F4F42 -:101DF0008AE50F94B70D81E080932D140F900F901A -:101E00000F900F90DF91CF91FF90EF90DF90CF90E8 -:101E1000BF90AF909F908F9008958F929F92AF92B6 -:101E2000BF92CF92DF92EF92FF920F931F93CF93C7 -:101E3000DF938B01EA01FC01C080D180E280F38056 -:101E4000842F0E94939E9B01AC01C701B6010F94A1 -:101E5000BF5B27E231E848E35CE30F9430554B0168 -:101E60005C0186E0809FF001819FF00D1124EC0F52 -:101E7000FD1FEE0FFF1FEE0FFF1FE852FE4EC0804A -:101E8000D180E280F380C430D10514F0C4E0D0E00A -:101E900026E0209FC001219F900D11242196C80F9C -:101EA000D91FCC0FDD1FCC0FDD1FC852DE4EA7019E -:101EB0009601688179818A819B810F94BF5BA5011E -:101EC00094010F943055A70196010F94C05BDF91E8 -:101ED000CF911F910F91FF90EF90DF90CF90BF9027 -:101EE000AF909F908F9008958F929F92AF92BF92E4 -:101EF000CF92DF92EF92FF920F931F93CF93DF93D6 -:101F0000EB018A01FC01C080D180E280F380862F42 -:101F10000E94C19E9B01AC01C701B6010F94BF5B3B -:101F200021EF3AE04FE25CE30F9430554B015C0146 -:101F300086E08C9FF0018D9FF00D1124E00FF11FC2 -:101F4000EE0FFF1FEE0FFF1FE852FE4EC080D18044 -:101F5000E280F380C430D10514F0C4E0D0E02196D3 -:101F600086E08C9FF0018D9FF00D1124E00FF11F92 -:101F7000EE0FFF1FEE0FFF1FE852FE4EA701960166 -:101F800060817181828193810F94BF5BA50194016F -:101F90000F943055A70196010F94C05BDF91CF914C -:101FA0001F910F91FF90EF90DF90CF90BF90AF9077 -:101FB0009F908F9008958F929F92AF92BF92CF92F1 -:101FC000DF92EF92FF92CF93DF93EC018090681243 -:101FD00090906912A0906A12B0906B1220E030E0ED -:101FE000A901C501B4010F94CA54882309F44AC059 -:101FF000C880D980EA80FB80A7019601C501B401A1 -:102000000F94CA5418160CF042C020911814309145 -:10201000191440911A1450911B14C701B6010F9462 -:10202000CA54882331F1C0921814D0921914E09246 -:102030001A14F0921B14209114143091151440912D -:10204000161450911714688179818A819B810F94AD -:1020500030559B01AC0160E070E080E89FE30F9495 -:10206000BF5B60935F027093600280936102909304 -:10207000620260915F0270916002809161029091B2 -:10208000620208C060E070E080E89FE303C060E0A7 -:1020900070E0CB01DF91CF91FF90EF90DF90CF9078 -:1020A000BF90AF909F908F90089580E1E2E9FCE0AF -:1020B000A9EABCE001900D928A95E1F70895CF93CB -:1020C000C62F0E94779E882319F0CF910C941DEDA6 -:1020D0008C2FCF9108952F923F924F925F926F92E3 -:1020E0007F928F929F92AF92BF92CF92DF92EF92A8 -:1020F000FF920F931F93CF93DF93CDB7DEB7EF9788 -:102100000FB6F894DEBF0FBECDBF2DB73EB73DA7CB -:102110002CA741E061E081E00E9459C0811135C4E3 -:1021200061E086E50F945F108D8B853018F08AEBA7 -:1021300099E579C03D89332321F08AE999E50F9427 -:10214000D0406AE080E50F945F10182F8CEF810F6C -:102150008F3218F086E799E566C060E085E40E945A -:1021600041ED811103C082E08FA302C091E09FA3E3 -:102170006091A90C7091AA0C8091AB0C9091AC0C61 -:102180006D837E838F839887C090AD0CD090AE0C0A -:10219000E090AF0CF090B00CC986DA86EB86FC8636 -:1021A00020917F0C3091800C4091810C5091820CD9 -:1021B0000F94C05BAB01BC0188E50E94EC826D8787 -:1021C0007E878F87988B29853A854B855C856091C2 -:1021D000830C7091840C8091850C9091860C0F94E7 -:1021E000C05BAB01BC0189E50E94EC82698B7A8BF4 -:1021F0008B8B9C8BBE016F5E7F4FCE010D960E9434 -:10220000B5A0811103C08EE599E50DC08CE40E9454 -:102210002E9E082F882381F00E941DED8A8F803129 -:1022200028F08BE299E50F94D040AFC3AA8DA1307E -:1022300021F4B2E0BA8F01C01A8E60E083E50E94FB -:1022400041ED8AAB882321F0011102C0E7E0EA8F5B -:10225000FD89F33020F081E199E50F94D040209181 -:102260005B0C29AF80E00F94F93E0E943E78812FED -:1022700090E09CAB8BABADB7BEB7E4E01E9FA0195E -:10228000B10911240FB6F894BEBF0FBEADBF2DB774 -:102290003EB72F5F3F4F3BA72AA701E02D894FA1F3 -:1022A000BE016F5E7F4FCE010D960E94BD8D9B01DA -:1022B000AC010F940D5F8111D0C20F946E3E611579 -:1022C00071058105910511F00F945B5033EF3B8F41 -:1022D0008FE48C8F93EC9D8F27EC222EA3EFAE8F93 -:1022E000BFE4BF8FE3ECE8A3F7E4F9A31EA221E06B -:1022F0002E8B412C512C32014AA25BA26CA27DA2F2 -:102300003A8D832F90E0DC011197BFAFAEAFFEA1F5 -:10231000EF2FF0E0F9A7E8A72BA93CA9E217F307F4 -:102320000CF0B3C23A8D332309F46CC10F940D50F5 -:102330002AE030E040E050E00F94425B0F94D1542B -:1023400020E030E040EA50E40F94205E18161CF0C4 -:1023500001E010E002C00FEF1FEF0F940D5028E6D0 -:1023600031E040E050E00F94425B0F94D1544B01B8 -:102370005C010F940D5023E330E040E050E00F94F7 -:10238000425B6B5F7F4F8F4F9F4F0F94D1546E8B8B -:102390007F8B888F998F8D898430E1F44E895F8996 -:1023A000688D798D83E099E50F941C41B501A401F6 -:1023B0008BEF98E50F941C4185EF98E50F94D04082 -:1023C0000130110519F483E40E94A66581EF98E5B8 -:1023D0000F94D040312CC801110FAA0BBB0B8DAB51 -:1023E0009EABAFABB8AF832D90E0AEADBFAD8A175B -:1023F0009B070CF007C1BAA9BB2379F06DA97EA990 -:102400008FA998AD0F94D1549B01AC010F94C05B80 -:1024100020E030E040E952E41AC00F940D5024E16E -:1024200030E040E050E00F94425B675E7F4F8F4F9B -:102430009F4F0F94D1546B017C016DA97EA98FA988 -:1024400098AD0F94D1549B01AC01C701B6010F9414 -:1024500030559B01AC01C501B4010F94C05B4B0129 -:102460005C0120E030E044EB53E40F94205E18164A -:102470004CF420E030E044EB53E4C501B4010F9488 -:10248000BF5BEDCF20E030E0A901C501B4010F949E -:10249000CA5487FF0BC020E030E044EB53E4C50191 -:1024A000B4010F94C05B4B015C01ECCF2BED3FE01E -:1024B00049E450E4C501B4010F94305520E030E008 -:1024C00044E353E40F94BA5C6B017C010F94B55C58 -:1024D0006EA77FA788AB99AB20917F0C3091800CC1 -:1024E0004091810C5091820C6D857E858F859889F5 -:1024F0000F94BF5B6AAF7BAF8CAF9DAF2EA53FA59E -:1025000048A959A96E897F89888D998D0F94305576 -:102510009B01AC016AAD7BAD8CAD9DAD0F94C05BF2 -:102520006D837E838F839887C701B6010F94B05E59 -:102530006EA77FA788AB99AB2091830C3091840C58 -:102540004091850C5091860C69897A898B899C8988 -:102550000F94BF5B6B017C012EA53FA548A959A92B -:102560006E897F89888D998D0F9430559B01AC01C0 -:10257000C701B6010F94C05B69877A878B879C87F8 -:102580004BED51E060E070E0CE0105960E94E7C996 -:1025900042EC51E060E070E0CE0109960E94E7C98C -:1025A000ED89E430F9F44D815E816F81788585EEA7 -:1025B00098E50F941C4149855A856B857C8582EE90 -:1025C00098E50F941C414091B10C5091B20C609170 -:1025D000B30C7091B40C8FED98E50F941C418AE018 -:1025E0000E94A66519821A821B821C82AE014F5F6F -:1025F0005F4FBE01675F7F4FCE0105960E941A793B -:102600003394F1CE01E020E04FA1BE016F5E7F4F19 -:10261000CE010D960E94BD8D6B017C01E8A5F9A548 -:10262000EE0FFF1FEE0FFF1F2AA53BA5E20FF31FC2 -:10263000C601D70180839183A283B3831E8A96014A -:10264000A701B601C7010F940D5F811102C031E0EF -:102650003E8B9601A701B601C7010F940D5F811152 -:1026600014C110E0812C912C5401EAA5FBA584E053 -:10267000189FE00DF11D1124208131814281538189 -:10268000C501B4010F94C05B4B015C011F5F9EA1AB -:10269000911758F708A519A50F5F1F4FB801012E14 -:1026A000000C880B990B0F94D1542B013C019B011A -:1026B000AC01C501B4010F94BA5C6AA37BA38CA3DF -:1026C0009DA32E8D3F8D48A159A1B601C7010F943E -:1026D000CA5487FF04C0CE8EDF8EE8A2F9A22B8DEC -:1026E0003C8D4D8D522DB601C7010F94205E1816FA -:1026F00024F4CB8EDC8EED8E2F2C312C812C912C62 -:102700005401EAA5FBA5A4E03A9EE00DF11D1124B9 -:102710002AA13BA14CA15DA160817181828193813D -:102720000F94BF5B9B01AC010F9430559B01AC0132 -:10273000C501B4010F94C05B4B015C013394BEA191 -:10274000B315F8F6A30192010F94BA5C0F94BE5E24 -:102750002B013C018D8982508E3708F07AC06AE0E7 -:1027600070E0C8010E9436666BA97CA98AED98E5E5 -:102770000F942D4102EE17E0F80181918F0188231B -:1027800019F00E94A665F8CF43E0B601C7010E9488 -:102790004666FD89F23009F459C008EE17E0D80109 -:1027A0008D918D01882319F00E94A665F8CF44E031 -:1027B0006AA17BA18CA19DA10E94466600EF17E053 -:1027C000F80181918F01882319F00E94A665F8CF46 -:1027D00046E0C301B2010E94466609EF17E0D80146 -:1027E0008D918D01882319F00E94A665F8CF43E0F2 -:1027F0006E8D7F8D88A199A10E94466600E018E049 -:10280000F80181918F01882319F00E94A665F8CF05 -:1028100043E06B8D7C8D8D8D922D0E94466607E086 -:1028200018E0D8018D918D01882319F00E94A665CA -:10283000F8CF2E8D3F8D48A159A16B8D7C8D8D8D4C -:10284000922D0F94BF5B43E00E9446668AE00E948F -:10285000A665BEA1BF5FBEA35ACDE3EFEB8FFFE439 -:10286000FC8F23EC2D8F87EC282E33EF3E8F8FE4E7 -:102870008F8F93EC98A3A7E4A9A31E8A412C512C17 -:1028800032014AA25BA26CA27DA280E00E941C8D54 -:10289000BE89BB2309F46AC08FEC98E50F94D04041 -:1028A000ED89EE2309F44DC000E118E0D8018D91C7 -:1028B0008D01882319F00E94A665F8CF46E06AA131 -:1028C0007BA18CA19DA10E94466607E118E0F8015A -:1028D00081918F01882319F00E94A665F8CF43E00B -:1028E0006E8D7F8D88A199A10E9446660EE118E049 -:1028F000D8018D918D01882319F00E94A665F8CF2B -:1029000043E06B8D7C8D8D8D922D0E94466605E295 -:1029100018E0F80181918F01882319F00E94A665C3 -:10292000F8CF2E8D3F8D48A159A16B8D7C8D8D8D5B -:10293000922D0F94BF5B43E00E9446668AE00E949E -:10294000A6650EE218E0D8018D918D01882319F05B -:102950000E94A665F8CF46E0C301B2010E94466618 -:102960008AE00E94A6658AE00E94A6650E942578FA -:1029700089AD0F94F93E0E949A7CECA5FDA50FB697 -:10298000F894FEBF0FBEEDBF07C02CA53DA50FB646 -:10299000F8943EBF0FBE2DBF8CA59DA50FB6F89431 -:1029A0009EBF0FBE8DBFEF960FB6F894DEBF0FBE71 -:1029B000CDBFDF91CF911F910F91FF90EF90DF90EE -:1029C000CF90BF90AF909F908F907F906F905F90CF -:1029D0004F903F902F9008958F929F92AF92BF9209 -:1029E000CF92DF92EF92FF920F931F93CF93DF93DB -:1029F00000D000D0CDB7DEB76FEF7FEF89E40E9443 -:102A0000849E882E6FEF7FEF8AE40E94849ED82EEA -:102A100083E40E942E9EC82E8EE40E942E9EA82E35 -:102A20008AE50E942E9E982E811105C081E50E94A4 -:102A30002E9EB82E01C0B12CCC2069F000E010E031 -:102A400020E04DEA5CE069EA7CE081E00F945F27DA -:102A5000F22EE32E02C0ED2CF82C8C2D90E087FC9A -:102A600005C0D094DD1CDD24DD1C01C0D12C8D0DF2 -:102A7000911D019731F4911009C0B11007C0A11048 -:102A800005C00F944C418FEA98E509C085E08F1589 -:102A900010F08E15C0F40F944C4180E998E526960D -:102AA0000FB6F894DEBF0FBECDBFDF91CF911F915F -:102AB0000F91FF90EF90DF90CF90BF90AF909F90DD -:102AC0008F900D94D040CF2C0F2C000CDD080E2DD4 -:102AD0000E2C000C110BA11021C00E94F79D9B0130 -:102AE000AC01BB2099F086E08C9DF0018D9DF00D2E -:102AF0001124E00FF11FEE0FFF1FEE0FFF1FE85232 -:102B0000FE4E608171818281938103C060E070E03C -:102B1000CB010F94C05B9B01AC0104C020E030E00E -:102B200040EC5FE786E08C9DF0018D9DF00D112457 -:102B3000E00FF11FEE0FFF1FEE0FFF1FE852FE4EDA -:102B400020833183428353836E2D8F2D26960FB6BB -:102B5000F894DEBF0FBECDBFDF91CF911F910F91D3 -:102B6000FF90EF90DF90CF90BF90AF909F908F90AD -:102B70000C94BA81CF92DF92EF92FF920F931F9342 -:102B8000CF93DF93CDB7DEB72C970FB6F894DEBFA7 -:102B90000FBECDBF83E50E942E9E882349F00E9480 -:102BA00031ED182F811106C080E00F94F93E02C06C -:102BB00010915B0C8091A90C9091AA0CA091AB0C88 -:102BC000B091AC0C89839A83AB83BC838091AD0CAC -:102BD0009091AE0CA091AF0CB091B00C8D839E8300 -:102BE000AF83B8878091B10C9091B20CA091B30CD7 -:102BF000B091B40C89879A87AB87BC878CE40E941C -:102C00002E9E882309F452C080E00F94F93E8091F3 -:102C10003F1890914018892B21F00E94F39D082FB6 -:102C200002C000913F0C0E94077C7C01892B91F42B -:102C300080E798E52C960FB6F894DEBF0FBECDBFA7 -:102C4000DF91CF911F910F91FF90EF90DF90CF9088 -:102C50000D94D04007FD07C0802F002E000C990B6B -:102C60008E159F05E4F088E598E50F94D040B701F4 -:102C7000615071098DE498E50F942D418AE02C96FE -:102C80000FB6F894DEBF0FBECDBFDF91CF911F917D -:102C90000F91FF90EF90DF90CF900C94A66560E0CD -:102CA00070E0802F0E94137C00933F0C8CE40E9404 -:102CB0002E9E811105C086E50E942E9E8823F9F084 -:102CC00060E084E50F945F1090E00E94D2A184E45C -:102CD00098E50F94D0400F943840811104C081E4EE -:102CE00098E50F94D04060913F0C062E000C770BB6 -:102CF0008CE298E50F942D418AE00E94A66586E556 -:102D00000E942E9E082F0F943840882391F083E470 -:102D10000E942E9E8823C1F00E94F79D6B017C01CA -:102D200080E00F94F93EB701A60181E00F94392E9F -:102D30000BC0111102C0002339F00F9450418DE1F6 -:102D400098E50F94D0400DC08AE50E942E9E8823FE -:102D500029F00E94F79D40E00F94713F812F0F945E -:102D6000F93E112351F080915B0C811106C00F9444 -:102D70004C418EEF97E50F94D0400F94504180EF77 -:102D800097E50F94D04080915B0C811103C08EE0D9 -:102D90009DE002C082E19DE00F94D0408AE00E9455 -:102DA000A6650F94504183EE97E50F94D040C090F4 -:102DB0006812D0906912E0906A12F0906B1220E0D5 -:102DC00030E0A901C701B6010F94205E181644F443 -:102DD00042E0C701B6010E9446660E94BE6604C07A -:102DE0008EED97E50F94D0404CE050E069EA7CE02E -:102DF000CE0101960F943260892B81F02C960FB68C -:102E0000F894DEBF0FBECDBFDF91CF911F910F9120 -:102E1000FF90EF90DF90CF900C949A7C2C960FB699 -:102E2000F894DEBF0FBECDBFDF91CF911F910F9100 -:102E3000FF90EF90DF90CF9008952F923F924F92A6 -:102E40005F926F927F928F929F92AF92BF92CF923A -:102E5000DF92EF92FF920F931F93CF93DF93CDB743 -:102E6000DEB7CE59D1090FB6F894DEBF0FBECDBF85 -:102E70002DB63EB6CB56DF4F19821882C559D040C9 -:102E800084E690E0C956DF4F99838883C759D040C4 -:102E900001E09E012B563F4F44E050E0BE016F56CB -:102EA0007F4FCE0189569F4F0E946C639E012B5627 -:102EB0003F4F42E050E0BE0167567F4FCE0189563A -:102EC0009F4F0E946C6343E050E0BE016F567F4FFE -:102ED00087E793E00F947860892BB1F0CC56DF4FF1 -:102EE0008881C459D040882359F08FE3CF56DF4FF3 -:102EF0008883C159D040CE56DF4F1882C259D04086 -:102F000081E080932E147AC5C357DF4F188219824F -:102F10001A821B82CD58D040CB56DF4F19821882BF -:102F2000C559D04001E09E012B563F4F41E050E093 -:102F3000BE0164567F4FCE0189569F4F0E946C633D -:102F40004DB65EB680E1E7E4F3E0DE01A358BF4F83 -:102F500001900D928A95E1F780E1E7E5F3E0DE016B -:102F6000A359BF4F01900D928A95E1F780E1E7E602 -:102F7000F3E09E012F5F3F4F7901D90101900D923F -:102F80008A95E1F7C456DF4F4881CC59D04050E0D4 -:102F90004D5F5F4F440F551F440F551F8DB79EB7B0 -:102FA000841B950B0FB6F8949EBF0FBE8DBFADB7B7 -:102FB000BEB711965D0100912F1411E001272C5628 -:102FC0003F4FBD01CE0189569F4F0E946C63009117 -:102FD0002F1401279E012B563F4F44E050E06CE830 -:102FE00071E1CE0189569F4F0E946C63C456DF4F3A -:102FF000C880CC59D040D12CB3E0CB0ED11CCC0C26 -:10300000DD1CCC0CDD1CEDB7FEB7EC19FD090FB6CD -:10301000F894FEBF0FBEEDBF2DB73EB72F5F3F4FF9 -:1030200049014DB75EB74C195D090FB6F8945EBF04 -:103030000FBE4DBF8DB79EB701963C0100912F1476 -:1030400001279E012B563F4FA601B401CE018956A0 -:103050009F4F0E946C6300912F1401279E012B56F5 -:103060003F4FA601B301CE0189569F4F0E946C636A -:1030700000912F14002309F44EC011E001279E0196 -:103080002B563F4F44E050E060EB71E1CE01895692 -:103090009F4F0E946C6300912F1401279E012B56B5 -:1030A0003F4F44E050E064EB71E1CE0189569F4F01 -:1030B0000E946C6300912F1401279E012B563F4FF5 -:1030C00044E050E068EB71E1CE0189569F4F0E94C9 -:1030D0006C6300912F1401279E012B563F4F44E053 -:1030E00050E06CEB71E1CE0189569F4F0E946C63FA -:1030F00000912F1401279E012B563F4F44E050E0D2 -:1031000060EC71E1CE0189569F4F0E946C6315E01F -:10311000DD24D39489C0C456DF4F2881CC59D040D8 -:1031200030E02E5F3F4FECE7F1E1C356DF4FB9824D -:10313000A882CD59D04080E090E0B7012817390728 -:103140003CF0C356DF4FA881B981CD59D04012C0A1 -:10315000AC018430910510F043E050E0440F551F5E -:10316000440F551FBDE7CB2ED12CCC0EDD1E4C0DD0 -:103170005D1DDA01AD90BD90CD90DC90A192B19231 -:10318000C192D1922817390714F0D40112C0AC01B2 -:103190008430910510F043E050E0440F551F440F78 -:1031A000551F1DE6C12ED12CCC0EDD1E4C0D5D1D14 -:1031B000DA01AD90BD90CD90DC90A08AB18AC28A30 -:1031C000D38A2817390714F0D3010DC0AC0184301D -:1031D000910510F043E050E0440F551F440F551F78 -:1031E000460F571FDA01AD90BD90CD90DC90A0A2A4 -:1031F000B1A2C2A2D3A20196B4E06B0E711C44E04E -:10320000840E911CC356DF4FA881B981CD59D0409F -:103210001496C356DF4FB983A883CD59D04084306C -:10322000910509F08BCF29CF115000912F14112354 -:1032300079F00D259E012B563F4F44E050E0BE0132 -:1032400063577F4FCE0189569F4F0E946C63ECCF2E -:1032500011E001279E012B563F4F44E050E069EBFF -:103260007CE0CE0189569F4F0E946C630FB6F894A4 -:103270005EBE0FBE4DBE00912F1401279E012B563E -:103280003F4F4CE050E06DE27AE0CE0189569F4F0F -:103290000E946C6300912F1401279E012B563F4F13 -:1032A00041E050E06DE472E0CE0189569F4F0E94EC -:1032B0006C6300912F1401279E012B563F4F44E071 -:1032C00050E0BE016F5F7F4FCE0189569F4F0E9435 -:1032D0006C6300912F1401110CC089819A81AB811C -:1032E000BC818093150290931602A0931702B093AD -:1032F000180211E001279E012B563F4F44E050E099 -:1033000063E37CE0CE0189569F4F0E946C6300917D -:103310002F1401279E012B563F4F44E050E0BE0181 -:1033200063577F4FCE0189569F4F0E946C6301E027 -:103330009E012B563F4F41E050E0BE0163597F4F45 -:10334000CE0189569F4F0E946C639E012B563F4FC2 -:1033500041E050E0BE016F5F7F4FCE0189569F4F25 -:103360000E946C63AE96AFACAE978981A89E500167 -:103370001124C12CD12C00912F14CA14DB0491F01C -:1033800001279E012B563F4F44E050E0BE0163579A -:103390007F4FCE0189569F4F0E946C63BFEFCB1ABF -:1033A000DB0AE9CF11E001279E012B563F4F44E095 -:1033B00050E06FE77CE0CE0189569F4F0E946C631E -:1033C00000912F1401279E012B563F4F44E050E0FF -:1033D00063E87CE0CE0189569F4F0E946C630091A8 -:1033E0002F1401279E012B563F4F44E050E067E821 -:1033F0007CE0CE0189569F4F0E946C631AE0DD2469 -:10340000D394115089F000912F140D259E012B5655 -:103410003F4F44E050E0BE0163577F4FCE018956D5 -:103420009F4F0E946C63EDCF01E09E012B563F4FF2 -:1034300041E050E0BE0165567F4FCE0189569F4F57 -:103440000E946C639E012B563F4F41E050E0BE014D -:1034500063587F4FCE0189569F4F0E946C63009145 -:103460002F1411E001279E012B563F4F44E050E0FE -:10347000BE0163597F4FCE0189569F4F0E946C63F6 -:1034800000912F1401279E012B563F4F44E050E03E -:10349000BE016F5F7F4FCE0189569F4F0E946C63C4 -:1034A000C556DF4FA880CB59D040EE968FADEE9732 -:1034B000A89E50011124C12CD12C00912F14AC14C2 -:1034C000BD0491F001279E012B563F4F44E050E090 -:1034D000BE0163577F4FCE0189569F4F0E946C6398 -:1034E000EFEFCE1ADE0AE9CF11E001279E012B563D -:1034F0003F4F41E050E06BE57CE0CE0189569F4FA5 -:103500000E946C6300912F1401279E012B563F4FA0 -:1035100041E050E06FE37CE0CE0189569F4F0E946E -:103520006C6300912F1401279E012B563F4F44E0FE -:1035300050E0BE016F5F7F4FCE0189569F4F0E94C2 -:103540006C6300912F1401279E012B563F4F41E0E1 -:1035500050E06DE274E1CE0189569F4F0E946C638A -:1035600000912F1401279E012B563F4F44E050E05D -:10357000BE0163597F4FCE0189569F4F0E946C63F5 -:1035800000912F1401279E012B563F4F44E050E03D -:10359000BE016F5F7F4FCE0189569F4F0E946C63C3 -:1035A00000912F1401279E012B563F4F42E050E01F -:1035B000BE0163587F4FCE0189569F4F0E946C63B6 -:1035C00000912F1401279E012B563F4F40E150E000 -:1035D000BE016F5F7F4FCE0189569F4F0E946C6383 -:1035E00000912F1401112EC089809A80AB80BC807D -:1035F00020E030E84BE355E4C501B4010F94CA5410 -:10360000882301F18092EF0C9092F00CA092F10CC3 -:10361000B092F20C8D819E81AF81B8858093F30CBE -:103620009093F40CA093F50CB093F60C89859A85D1 -:10363000AB85BC858093F70C9093F80CA093F90CA4 -:10364000B093FA0C11E001279E012B563F4F42E048 -:1036500050E0BE016F5F7F4FCE0189569F4F0E94A1 -:103660006C6300912F1401279E012B563F4F4CE0B5 -:1036700050E0BE016F5F7F4FCE0189569F4F0E9481 -:103680006C6300912F14011115C020E030E84BE36A -:1036900055E469817A818B819C810F94CA54882377 -:1036A00049F08CE0FE013196A9E0BAE001900D925C -:1036B0008A95E1F711E001279E012B563F4F42E02A -:1036C00050E0BE016F5F7F4FCE0189569F4F0E9431 -:1036D0006C6300912F1401279E012B563F4F41E050 -:1036E00050E0BE016F5F7F4FCE0189569F4F0E9411 -:1036F0006C6300912F1401279E012B563F4F40E22F -:1037000050E0BE016F5F7F4FCE0189569F4F0E94F0 -:103710006C6300912F1401279E012B563F4F41E00F -:1037200050E0BE0163597F4FCE0189569F4F0E94E2 -:103730006C6300912F1401279E012B563F4F45E0EB -:1037400050E0BE016F5F7F4FCE0189569F4F0E94B0 -:103750006C6300912F1401110FC08981809379123D -:103760008A819B81AC81BD8180937E1290937F1270 -:10377000A0938012B093811211E001279E012B5675 -:103780003F4F4AE150E0B701CE0189569F4F0E945A -:103790006C6300912F1401279E012B563F4F44E389 -:1037A00050E0B701CE0189569F4F0E946C63009193 -:1037B0002F1401279E012B563F4F48E050E0B701E0 -:1037C000CE0189569F4F0E946C6300912F140127F0 -:1037D0009E012B563F4F4DE050E0B701CE01895678 -:1037E0009F4F0E946C6300912F1401279E012B565E -:1037F0003F4F44E050E0B701CE0189569F4F0E94F1 -:103800006C6300912F1401279E012B563F4F4CE013 -:1038100050E0B701CE0189569F4F0E946C63009122 -:103820002F1401279E012B563F4F4CE650E0B70165 -:10383000CE0189569F4F0E946C6319821A821B82A7 -:103840001C821D821E821F82188619861A861B867C -:103850001C8600912F1401279E012B563F4F4CE0F0 -:1038600050E0B701CE0189569F4F0E946C630091D2 -:103870002F1401279E012B563F4F48E050E067E38D -:103880007CE0CE0189569F4F0E946C6300912F14FB -:1038900001279E012B563F4F44E050E0B701CE0177 -:1038A00089569F4F0E946C6300912F1401279E013F -:1038B0002B563F4F44E050E0BE016B5F7F4FCE017F -:1038C00089569F4F0E946C6300912F1401279E011F -:1038D0002B563F4F44E050E0BE01675F7F4FCE0163 -:1038E00089569F4F0E946C6300912F1401279E01FF -:1038F0002B563F4F41E050E0BE0163587F4FCE0151 -:1039000089569F4F0E946C6300912F1401279E01DE -:103910002B563F4F44E050E0BE0163597F4FCE012C -:1039200089569F4F0E946C6380E3D7011D928A9550 -:10393000E9F700912F1401279E012B563F4F40E3DA -:1039400050E0B701CE0189569F4F0E946C63809171 -:103950002F14811104C083E498E00E94C466C95604 -:10396000DF4F88819981C759D04021E0803FB2E084 -:103970009B0709F420E020932E14803F924091F49D -:10398000CB56DF4F28813981C559D040C756DF4F0C -:1039900088819981C959D0402817390719F081E0E9 -:1039A00080932E1480912F14811106C080912E14C3 -:1039B000811102C00F94660380912F1481111EC0E3 -:1039C0000F94DF400E94077C892BF9F482EE99E581 -:1039D0000F94D04081E080932E1483EB94E30F94F6 -:1039E000D0400F94213F80913F0C87FD05C060E0DF -:1039F00070E00E94137C02C00F94213F80912F142D -:103A000081110BC00E944B7D08C08AE00E94A66510 -:103A100083EB94E30F94D040E6CF90912E1481E095 -:103A200089270FB6F8943EBE0FBE2DBEC256DF4F9B -:103A30000FB6F894DEBF0FBECDBFDF91CF911F91BF -:103A40000F91FF90EF90DF90CF90BF90AF909F903D -:103A50008F907F906F905F904F903F902F90089540 -:103A60008F929F92AF92BF92CF92DF92EF92FF928E -:103A70000F931F93CF93DF9381E080932F140F94C4 -:103A80001D1710922F14882309F4E1C00F941D17FD -:103A9000D82E86E598E00E94C4660F9438408823AB -:103AA00009F47FC0F12CEE24E39400E010E0D1E0B3 -:103AB00036E0C32EC0E0BB24B39446E0A42E55E00C -:103AC000952E62E8862EEB24CC16F1F18F2D90E036 -:103AD0008397C4F5C530B1F10530A1F1F394F80135 -:103AE000AC9EE00DF11D1124EE0FFF1FEE0FFF1F26 -:103AF000E852FE4E20E030E04AE754E460817181F4 -:103B0000828193810F9430550F942C5D70937A16B7 -:103B10006093791690926D16809270164F2D50E03A -:103B20004158574F440F551F052E000C660B770B5D -:103B300040937116509372166093731670937416B7 -:103B40000F944832CD0FC0CF0F5F1F4F06301105C5 -:103B500061F0E11005C0DFEFCC24CA94C5E0B3CF1B -:103B6000D1E026E0C22EC0E0AECF83E090E090939B -:103B70007A168093791685E080936D1682E880939B -:103B8000701685E490E1A0E0B0E080937116909308 -:103B90007216A0937316B09374160F94483281E096 -:103BA0001BC082E090E090937A168093791685E0AE -:103BB00080936D1682E88093701685E490E1A0E012 -:103BC000B0E08093711690937216A0937316B09321 -:103BD00074160F94483280E00F94F93E4091870CA0 -:103BE0005091880C6091890C70918A0C89E09AE55B -:103BF0000F941C418AE00E94A66520E030E048EC6A -:103C000052E46091870C7091880C8091890C90919E -:103C10008A0C0F9430550F942C5D70937A16609334 -:103C2000791685E080936D1682E88093701686E29F -:103C300090E1A0E0B0E08093711690937216A0938B -:103C40007316B09374160F9448328D2D0BC00E94DA -:103C5000C57A0E9438FF0F94504182E29AE50F9492 -:103C6000D04080E0DF91CF911F910F91FF90EF90B6 -:103C7000DF90CF90BF90AF909F908F90089563E0BA -:103C80000C944CBB9091390AE92FF0E0E952F94EBF -:103C900080839F5F943018F49093390A02C0109289 -:103CA000390A8091BD0B8F5F8093BD0B0895CF9330 -:103CB000DF93EC018881882349F18A3039F18D3016 -:103CC00029F18B33F9F08091BD0B8430D8F48091C9 -:103CD000390A20E6829FC0011124BE01845C954F01 -:103CE0000F94716080E00F94421E0F945041BE010A -:103CF0008EE09BE50F9439418BE09BE5DF91CF91FE -:103D00000D94D04080E00E94EA66D4CFDF91CF913D -:103D10000895CF92DF92EF92FF928AE50E94779EFC -:103D2000882321F10E94F79D6B017C0120E030E0A7 -:103D300040EA51EC0F94205E87FD13C020E030E094 -:103D400040EA51E4C701B6010F94CA5418164CF06A -:103D5000C092870CD092880CE092890CF0928A0C69 -:103D60008FC00F944C418EEE9AE528C088E50E94E2 -:103D7000779E882349F10E94F79D6B017C0120E02A -:103D800030E84DEE53EC0F94205E87FD13C020E029 -:103D900030E84DEE53E4C701B6010F94CA5418162B -:103DA0004CF0C0927F0CD092800CE092810CF0928B -:103DB000820C66C00F944C418EEC9AE5FF90EF9018 -:103DC000DF90CF900D94D04089E50E94779E8823A4 -:103DD00021F10E94F79D6B017C0120E030E041EE73 -:103DE00053EC0F94205E87FD13C020E030E041EEDD -:103DF00053E4C701B6010F94CA5418164CF0C09290 -:103E0000830CD092840CE092850CF092860C38C022 -:103E10000F944C418EEA9AE5D1CF0F9450414091D6 -:103E20007F0C5091800C6091810C7091820C8DE917 -:103E30009AE50F941C418AE00E94A6654091830C8C -:103E40005091840C6091850C7091860C8CE89AE5F9 -:103E50000F941C418AE00E94A6654091870C509106 -:103E6000880C6091890C70918A0C8BE79AE50F940D -:103E70001C418AE0FF90EF90DF90CF900C94A665F4 -:103E8000FF90EF90DF90CF9008958F929F92AF9226 -:103E9000BF92CF92DF92EF92FF920F931F93CF9337 -:103EA00010925A0C1092590C2FE320935014109238 -:103EB0004F1410924E1410924A1410924B141092F8 -:103EC0004C1410924D149C01F90190812F5F3F4FCB -:103ED0009032D1F39E34C9F4818190ED980F9A30DD -:103EE00020F08D3211F08B3281F4DF0112969D01AA -:103EF0002F5F3F4F8C9180538A3010F4D901F7CF58 -:103F0000FD01119680818032D9F3F093A40CE093E7 -:103F1000A30C8F010F5F1F4FC0816AE270E0C801E0 -:103F20000F946660009731F0FC01319780818032F8 -:103F3000E1F31182CD3429F0C43519F0C73409F00A -:103F400000C1F80180810F5F1F4F8032D1F3805391 -:103F50008A3008F0F6C0C093501410924F1410929B -:103F60004E144AE080914E1490914F14489F900156 -:103F7000499F300D112430934F1420934E143196E5 -:103F8000DF0111978C91082E000C990BC097820FBE -:103F9000931F90934F1480934E14208120532A3006 -:103FA00008F3DF0131962C912032D9F3CD34D1F4CE -:103FB0008E31910591F03CF48731910571F08C318F -:103FC000910581F40AC08537910564F08737910522 -:103FD00024F0803A23E0920729F4B0935A0CA0937E -:103FE000590CAFC010925A0C1092590C1091A30C9E -:103FF000C12CD12C7601C394FD0131964C91442300 -:1040000009F49FC04132A1F4CD3491F4803291057E -:1040100079F4F0935A0CE093590C63E270E0CF010D -:104020000F946660009709F48CC0FC01108289C06F -:1040300041544A3108F059C0BF01FB0120816F5F34 -:104040007F4F2032D1F330ED320F3A3010F12E3263 -:1040500011F421810CC02D3211F02B3259F4218141 -:1040600030ED320F3A30A8F02E3221F42281205365 -:104070002A3078F02091590C30915A0C232B09F0FA -:104080005DC09F012150310930935A0C2093590C87 -:1040900055C09F01A42FB0E04601570104C0880C11 -:1040A000991CAA1CBB1C4A95D2F7B501A4018090AB -:1040B0004A1490904B14A0904C14B0904D14482981 -:1040C00059296A297B2940934A1450934B146093D1 -:1040D0004C1470934D142115310511F0211B01C0B2 -:1040E00020E0A05DBB4E2C930AC02091590C30916A -:1040F0005A0C232B21F4B0935A0CA093590C208115 -:1041000021542A3110F4DF0177CFAF01FA01DA012F -:104110002D912223C1F330ED320F3A3010F4AD016E -:10412000F5CF33ED320F3230D0F32B32C1F3FA0139 -:104130004F5F5F4F20812032D1F3E5CF20E030E0A8 -:10414000A9CFCF911F910F91FF90EF90DF90CF906B -:10415000BF90AF909F908F9008952F923F924F9273 -:104160005F926F927F928F929F92AF92BF92CF9207 -:10417000DF92EF92FF920F931F93CF93DF93CDB710 -:10418000DEB7C454D1090FB6F894DEBF0FBECDBF61 -:104190009AA789A77CAB6BAB142FDB018D909D9008 -:1041A000AD90BC9013972401350177FA709477F89D -:1041B00070941496CD90DD90ED90FC901797A70128 -:1041C00096015058298F3A8F4B8F5C8FA301920133 -:1041D000C301B2010F94305569A37AA38BA39CA3AA -:1041E000298D3A8D4B8D5C8DCA01B9010F943055E4 -:1041F0009B01AC0169A17AA18BA19CA10F94C05B2A -:104200000F94BE5E6DAB7EAB8FAB98AF8091B10C5F -:104210009091B20CA091B30CB091B40C89A39AA365 -:10422000ABA3BCA32091A90C3091AA0C4091AB0C7C -:104230005091AC0C2D8B3E8B4F8B588FC501B40128 -:104240000F94C05B21966CAF7DAF8EAF9FAF21976F -:104250008091AD0C9091AE0CA091AF0CB091B00CD0 -:104260008DA39EA3AFA3B8A79C01AD01C701B60162 -:104270000F94C05B25966CAF7DAF8EAF9FAF259737 -:10428000A9A5BAA52D913D914D915C912BA73CA775 -:104290004DA75EA721962CAD3DAD4EAD5FAD2197EC -:1042A0006BA57CA58DA59EA50F94BF5B6B017C01C2 -:1042B000A9A5BAA514962D913D914D915C911797A2 -:1042C0002FA738AB49AB5AAB25962CAD3DAD4EADC3 -:1042D0005FAD25976FA578A989A99AA90F94BF5BAF -:1042E0004B015C0129A13AA14BA15CA1E9A5FAA56A -:1042F00060857185828593850F94BF5B6D8F7E8FFE -:104300008F8F98A3A7019601C301B2010F94305576 -:1043100069AF7AAF8BAF9CAFA5019401698D7A8D9F -:104320008B8D9C8D0F9430559B01AC0169AD7AAD9E -:104330008BAD9CAD0F94C05B69AF7AAF8BAF9CAF78 -:10434000A5019401C301B2010F9430554B015C01EA -:10435000A7019601698D7A8D8B8D9C8D0F943055B8 -:104360009B01AC01C501B4010F94BF5B29AD3AAD0F -:104370004BAD5CAD0F943F5C6B017C0120E030E005 -:10438000A9010F94CA5487FF0AC02BED3FE049EC06 -:1043900050E4C701B6010F94C05B6B017C012BEDAB -:1043A0003FE049EC50E4C701B6010F94BA5C20E04D -:1043B00030E040EC51E40F9430550F949E5C0F9424 -:1043C000335D1B01672B19F422242394312C112314 -:1043D00051F02BED3FE049EC50E4C701B6010F94DA -:1043E000BF5B6B017C0120E030E0A901C701B60191 -:1043F0000F94CA54811123C02BA53CA54DA55EA5E1 -:104400006D897E898F89988D0F94CA54811117C048 -:104410002FA538A949A95AA96DA17EA18FA198A558 -:104420000F94CA5481110BC038E1232E312C4BED6F -:10443000C42E4FE0D42E49ECE42E40E4F42E2DA9F6 -:104440003EA94FA958ADC701B6010F9430554B0195 -:104450005C0120E030E0A9016D8D7E8D8F8D98A1EB -:104460000F94CA548823D9F0A5019401C501B40161 -:104470000F9430554B015C012D8D3E8D4F8D58A111 -:10448000CA01B9010F9430559B01AC01C501B401BB -:104490000F94C05B0F94BE5E4B015C010DC020E029 -:1044A00030E0A901C501B4010F94205E87FF04C06C -:1044B000B7FAB094B7F8B0942FE632E143E85AE384 -:1044C000C501B4010F94CA5487FD0AC22091B50CEE -:1044D0003091B60C4091B70C5091B80C2D8B3E8B9F -:1044E0004F8B588FC501B4010F94625D0F94335DFB -:1044F0007EA36DA36215730510F43EA22DA2ADA19B -:10450000BEA1BD0180E090E00F94CF544B015C014F -:104510009B01AC01C701B6010F94BA5C6D8F7E8F11 -:104520008F8F98A32D893E894F89588DE9A5FAA5CB -:1045300064857585868597850F94BF5BA501940179 -:104540000F94BA5C6DAB7EAB8FAB98AF2D8D3E8D6B -:104550004F8D58A1CA01B9010F94305520E030E0C9 -:1045600040E05FE30F9430559B01AC0160E070E0E8 -:1045700080E89FE30F94BF5B6FA778AB89AB9AABE2 -:1045800029A13AA14BA15CA129873A874B875C8777 -:104590008D899E89AF89B88D8D879E87AF87B88BAF -:1045A0006091490270914A02072E000C880B990B0A -:1045B0000F94D15420913F0230914002409141022A -:1045C000509142020F9430552AE037ED43E25CE30C -:1045D0000F943055698B7A8B8B8B9C8B0F946E3E2E -:1045E0009B01AC0128533F4F4F4F5F4F2BA73CA778 -:1045F0004DA75EA722242394312C39E13D8B4DA198 -:104600005EA12416350608F025C10E9464CA0F94E5 -:104610006E3EDC01CB012BA53CA54DA55EA5821B02 -:10462000930BA40BB50BB7FD0FC00F946E3E9B010F -:10463000AC0128533F4F4F4F5F4F2BA73CA74DA7CF -:104640005EA780E00E94EA663D8931503D8B3323AE -:10465000E9F12FA538A949A95AA9698D7A8D8B8DC1 -:104660009C8D0F9430556B017C012D8D3E8D4F8DAF -:1046700058A1C301B2010F943055A70196010F94C0 -:10468000C05B6B017C012FA538A949A95AA9C301B8 -:10469000B2010F9430554B015C012D8D3E8D4F8D35 -:1046A00058A1698D7A8D8B8D9C8D0F9430559B010F -:1046B000AC01C501B4010F94BF5B2B013C01C601E5 -:1046C000D701898F9A8FAB8FBC8F66C0B10180E014 -:1046D00090E00F94CF542D8D3E8D4F8D58A10F94A7 -:1046E00030556B017C010F94B55C698F7A8F8B8F8D -:1046F0009C8FC701B6010F94B05E4B015C01ABA962 -:10470000BCA9CD90DD90ED90FC901397F7FAF09452 -:10471000F7F8F09414962D913D914D915C91179777 -:104720002D8B3E8B4F8B588FA7019601698D7A8D0B -:104730008B8D9C8D0F9430552B013C012D893E892A -:104740004F89588DC501B4010F9430559B01AC01C0 -:10475000C301B2010F94C05B2B013C01A70196017C -:10476000C501B4010F9430556B017C012D893E8940 -:104770004F89588D698D7A8D8B8D9C8D0F94305516 -:104780009B01AC01C701B6010F94BF5B698F7A8FA3 -:104790008B8F9C8FB9E1BD8B21962CAD3DAD4EAD7D -:1047A0005FAD2197C301B2010F94C05B69837A8327 -:1047B0008B839C8325962CAD3DAD4EAD5FAD25978B -:1047C000698D7A8D8B8D9C8D0F94C05B6D837E83FC -:1047D0008F83988729A13AA14BA15CA129873A87A9 -:1047E0004B875C872DA93EA94FA958AD6D857E8565 -:1047F0008F8598890F94C05B6D877E878F87988B94 -:10480000CE0101960E948E77AE01475F5F4FBE01D9 -:104810006B5F7F4FCE0101960E94B293C12CD12CC9 -:1048200090E8E92E9FE3F92E8E010F5E1F4F9E0147 -:10483000235F3F4FAE01475F5F4FBE016B5F7F4F0E -:10484000CE0101960E9464BA882321F03FEF231A1B -:10485000330AD5CE80E1E9A5FAA5DE0111960190D3 -:104860000D928A95E1F789A19AA1ABA1BCA1898794 -:104870009A87AB87BC87CE0101960E948E77AE01E6 -:10488000475F5F4FBE016B5F7F4FCE0101960E9475 -:10489000B293C12CD12C80E8E82E8FE3F82E8E0144 -:1048A0000F5E1F4F9E01235F3F4FAE01475F5F4F7B -:1048B000BE016B5F7F4FCE0101960E9464BA29A1B1 -:1048C0003AA14BA15CA129873A874B875C8780E19D -:1048D000FE013196A9EABCE001900D928A95E1F7BC -:1048E000CC5BDF4F0FB6F894DEBF0FBECDBFDF91BC -:1048F000CF911F910F91FF90EF90DF90CF90BF90DD -:10490000AF909F908F907F906F905F904F903F906F -:104910002F9008950F931F93CF938C01C62F86E796 -:104920009AE50F94D040C8010F94D0408AE30E94CA -:10493000A6656AE070E08C2F90E00E943666CF9109 -:104940001F910F910C94BE66EF92FF921F93CF932D -:10495000DF93CDB7DEB7C454D1090FB6F894DEBFEC -:104960000FBECDBF84E40E942E9E882309F44DC162 -:104970008CE69AE50F94D0402091730C3091740C22 -:104980004091750C5091760C6091A90C7091AA0C15 -:104990008091AB0C9091AC0C0F94C05B69AF7AAF77 -:1049A0008BAF9CAF2091770C3091780C4091790CB3 -:1049B00050917A0C6091AD0C7091AE0C8091AF0C5F -:1049C0009091B00C0F94C05B21966CAF7DAF8EAF11 -:1049D0009FAF219720917B0C30917C0C40917D0CF6 -:1049E00050917E0C6091B10C7091B20C8091B30C1F -:1049F0009091B40C0F94C05B25966CAF7DAF8EAFD9 -:104A00009FAF2597CE01C9960F943F1E83E69AE586 -:104A10000F94D04089EA9CE00F943F1E8091A90C2E -:104A20009091AA0CA091AB0CB091AC0C8DA79EA755 -:104A3000AFA7B8AB8091AD0C9091AE0CA091AF0C2C -:104A4000B091B00C89AB9AABABABBCAB8091B10C65 -:104A50009091B20CA091B30CB091B40C8DAB9EAB05 -:104A6000AFABB8AF8AE59AE50F94D040AE014B5C8E -:104A70005F4FBE016F5C7F4FCE018D960E94B29357 -:104A8000CE018D960F943F1E81E59AE50F94D0409C -:104A90008DA59EA5AFA5B8A989A39AA3ABA3BCA3D6 -:104AA00089A99AA9ABA9BCA98DA39EA3AFA3B8A7B6 -:104AB0008DA99EA9AFA9B8AD89A79AA7ABA7BCA796 -:104AC000CE0181960E947893CE0181960F943F1E6D -:104AD0000E94BA9188E49AE50F94D04083EEE82EC4 -:104AE00082E0F82E10E080E20E94A665F701819135 -:104AF0007F010E94A6658AE30E94A665812F0E941D -:104B000093CE0E941A661F5F143069F78AE00E94F4 -:104B1000A6658FE39AE50F94D0400E945B7980915F -:104B2000400C9091410CA091420CB091430C898BA8 -:104B30009A8BAB8BBC8B8091440C9091450CA091CF -:104B4000460CB091470C8D8B9E8BAF8BB88F8091AC -:104B5000480C9091490CA0914A0CB0914B0C898F54 -:104B60009A8FAB8FBC8F83E00E94E5926D8F7E8F12 -:104B70008F8F98A364E0CE0141960E944CBB2DA577 -:104B80003EA54FA558A969897A898B899C890F947C -:104B9000BF5B69837A838B839C8329A93AA94BA93C -:104BA0005CA96D897E898F89988D0F94BF5B6D8319 -:104BB0007E838F8398872DA93EA94FA958AD698D13 -:104BC0007A8D8B8D9C8D0F94BF5B69877A878B87DD -:104BD0009C872091B50C3091B60C4091B70C509148 -:104BE000B80C6D8D7E8D8F8D98A10F94BF5B6D87F6 -:104BF0007E878F87988B86E39AE50F94D04064E098 -:104C0000CE0101960E944CBB04C00E94BA910E9442 -:104C10009A7CCC5BDF4F0FB6F894DEBF0FBECDBFE2 -:104C2000DF91CF911F91FF90EF9008954F925F9287 -:104C30006F927F928F929F92AF92BF92CF92DF92AC -:104C4000EF92FF920F931F93CF93DF93CDB7DEB711 -:104C50007C014DB65EB66090A30C7090A40C8DB62E -:104C60009EB66AE070E0C7010F940D546C01009786 -:104C700021F08C010E191F0904C0C7010F941854AC -:104C80008C01C80101962DB73EB7281B390B0FB612 -:104C9000F8943EBF0FBE2DBF8DB79EB701965C0145 -:104CA000A801B7010F943954F501E00FF11F1082EC -:104CB000C5010F94451F81E00E948F4CC114D1049F -:104CC00051F076019FEFE91AF90A0FB6F8949EBEEB -:104CD0000FBE8DBEC4CF0FB6F8949EBE0FBE8DBE64 -:104CE000C3010F94451F0FB6F8945EBE0FBE4DBEB4 -:104CF000DF91CF911F910F91FF90EF90DF90CF90B8 -:104D0000BF90AF909F908F907F906F905F904F90EB -:104D10000895CF93DF93C091BC0B80E6C89FE0015C -:104D20001124C45CD54F80917B1180FF05C00F9486 -:104D30005041CE010E94C466CE010F94451F80E011 -:104D4000DF91CF910C948F4CFC012081318162174F -:104D5000730714F47183608308953F924F925F92BA -:104D60006F927F928F929F92AF92BF92CF92DF927B -:104D7000EF92FF920F931F93CF93DF93D82EC62EFF -:104D8000342E422E062F10E036E0732EE82EF12C42 -:104D9000E801789EC00DD11D1124CC0FDD1FCC0F72 -:104DA000DD1FC852DE4E688179818A819B819B011B -:104DB000AC010F940D5F8823E1F1532C5D0C642C42 -:104DC0006C0C272D352D3203F0011124E60DF11D59 -:104DD00067FCFA95EE0FFF1FEE0FFF1FE852FE4E25 -:104DE00080809180A280B380A5019401C501B401A7 -:104DF0000F940D5F81111DC0232D250D640C372DDF -:104E00002303F0011124E60DF11D67FCFA95EE0F66 -:104E1000FF1FEE0FFF1FE852FE4E40805180628060 -:104E20007380A3019201C301B2010F940D5F882327 -:104E300011F080E032C0A3019201C501B4010F94CA -:104E4000CA5487FF05C088829982AA82BB820EC09D -:104E5000A5019401C501B4010F94C05BA3019201A7 -:104E60000F94BF5B688379838A839B8386E08E9DE2 -:104E7000F0018F9DF00D1124E00FF11FEE0FFF1FC9 -:104E8000EE0FFF1FE852FE4E208131814281538197 -:104E90006C2D8D2D0E94BA8181E0DF91CF911F9101 -:104EA0000F91FF90EF90DF90CF90BF90AF909F90C9 -:104EB0008F907F906F905F904F903F9008952F92CA -:104EC0003F924F925F926F927F928F929F92AF929A -:104ED000BF92CF92DF92EF92FF920F931F93CF93E7 -:104EE000DF93CDB7DEB7EA970FB6F894DEBF0FBEFB -:104EF000CDBF8BA77DA76CA75FA74EA728AB1AAB2A -:104F000009AB8FEF8E8F8E8D8D8F83EF9FE4A3EC97 -:104F1000B7EC8F8F98A3A9A3BAA38CA59DA5FC017C -:104F2000E080F1800281138188A9882349F0809173 -:104F30007F0C9091800CA091810CB091820C03C0E9 -:104F400080E090E0DC019C01AD01C801B7010F9445 -:104F5000C05BDC01CB018F839887A987BA878EA5B8 -:104F60009FA5FC01E080F1800281138188A988233C -:104F700049F08091830C9091840CA091850CB091A4 -:104F8000860C03C080E090E0DC019C01AD01C8010B -:104F9000B7010F94C05BDC01CB018B879C87AD8789 -:104FA000BE878FEF9FE4A3ECB7E489839A83AB833A -:104FB000BC831D828D8186300CF0D3C11E828E8110 -:104FC00086300CF0CAC18BA5882329F58D81282F46 -:104FD000880F330B8E81482F880F550BC901880F1E -:104FE000991F820F931F880F991F840F951F880F99 -:104FF000991F880F991F88529E4EFC0180819181D4 -:10500000A281B3819C01AD01BC01CD010F940D5F64 -:10501000882309F057C08BA5813021F58D81282F79 -:10502000880F330B8E81482F880F550BC901880FCD -:10503000991F820F931F880F991F840F951F880F48 -:10504000991F880F991F88529E4EFC018081918183 -:10505000A281B3819C01AD01BC01CD010F940D5F14 -:10506000882381F18BA5823079F52E813D8189A934 -:105070009AA99A8B898B388B2F878F85882F90E000 -:10508000880F991F29893A89820F931FFC0180811B -:105090009181CC01A0E0B0E02889222F30E004C04B -:1050A000B695A795979587952A95D2F781709927F8 -:1050B000AA27BB2721E0892B8A2B8B2B09F420E020 -:1050C000222311F081E001C080E0882309F441C16E -:1050D0008D810E94C19EDC01CB018BA39CA3ADA35B -:1050E000BEA38E810E94939EDC01CB018FA398A763 -:1050F000A9A7BAA788A9882361F09E01295D3F4F1F -:10510000CE018396B9010E94B5A0982F81E089272E -:105110000FC08FA198A5A9A5BAA59E012D5D3F4FEF -:10512000AC01BD01C9010E94958C982F81E08927AF -:10513000882309F00DC18BA19CA1ADA1BEA19C014A -:10514000AD016F81788589859A850F94BF5BDC01FD -:10515000CB016C017D018BA19CA1ADA1BEA19C01E5 -:10516000AD016F81788589859A850F94BF5BDC01DD -:10517000CB019C01AD01C701B6010F943055DC0194 -:10518000CB016C017D018FA198A5A9A5BAA59C01B1 -:10519000AD016B857C858D859E850F94BF5BDC01A1 -:1051A000CB018BAB9CABADABBEAB8FA198A5A9A53A -:1051B000BAA59C01AD016B857C858D859E850F947C -:1051C000BF5BDC01CB019C01AD016BA97CA98DA962 -:1051D0009EA90F943055DC01CB019C01AD01C701A4 -:1051E000B6010F94C05BDC01CB01BC01CD010F9473 -:1051F000BE5EDC01CB018B8B9C8BAD8BBE8B80911B -:10520000A90C9091AA0CA091AB0CB091AC0C2BA165 -:105210003CA14DA15EA1BC01CD010F94BF5BDC019F -:10522000CB016C017D018091A90C9091AA0CA091F9 -:10523000AB0CB091AC0C2BA13CA14DA15EA1BC016B -:10524000CD010F94BF5BDC01CB019C01AD01C70117 -:10525000B6010F943055DC01CB016C017D018091CA -:10526000AD0C9091AE0CA091AF0CB091B00C2FA1F1 -:1052700038A549A55AA5BC01CD010F94BF5BDC013F -:10528000CB018FAB98AFA9AFBAAF8091AD0C909125 -:10529000AE0CA091AF0CB091B00C2FA138A549A5D0 -:1052A0005AA5BC01CD010F94BF5BDC01CB019C0171 -:1052B000AD016FA978AD89AD9AAD0F943055DC0181 -:1052C000CB019C01AD01C701B6010F94C05BDC01AD -:1052D000CB01BC01CD010F94BE5EDC01CB012DECF6 -:1052E0003CEC4CEC5DE3BC01CD010F943055DC018E -:1052F000CB019C01AD016B897C898D899E890F94BE -:10530000C05BDC01CB018B8B9C8BAD8BBE8B298171 -:105310003A814B815C816B897C898D899E890F9450 -:10532000CA548823B4F48B899C89AD89BE8989834A -:105330009A83AB83BC838D818D8F8E818E8F898183 -:105340009A81AB81BC818F8F98A3A9A3BAA301C016 -:1053500000008E818F5F8E8332CE8D818F5F8D8333 -:1053600029CE86E0FE017D96DE01579601900D92D2 -:105370008A95E1F750E05F8940E0488D30E0398D53 -:1053800020E02A8D90E09B8D80E08C8D252E342EA0 -:10539000432E522E692E782EA22CB32CC42CD52C41 -:1053A000E62CF72C082D192D2A2D3B2D4C2D5D2D8B -:1053B0006E2D7F2D802F912FEA960FB6F894DEBFC9 -:1053C0000FBECDBFDF91CF911F910F91FF90EF9056 -:1053D000DF90CF90BF90AF909F908F907F906F9015 -:1053E0005F904F903F902F9008952F923F924F9251 -:1053F0005F926F927F928F929F92AF92BF92CF9265 -:10540000DF92EF92FF920F931F93CF93DF93CDB76D -:10541000DEB7A4970FB6F894DEBF0FBECDBF1982DA -:105420001A828FEF888F888D8F8B8FEF9FE4A3EC8C -:10543000B7EC898F9A8FAB8FBC8F1B828B818630A4 -:105440000CF054C11C828C8186300CF04BC18B81D6 -:10545000282F880F330B8C81482F880F550BC901DB -:10546000880F991F820F931F880F991F840F951F14 -:10547000880F991F880F991F88529E4EFC018081CA -:105480009181A281B38111E09C01AD01BC01CD01EC -:105490000F940D5F882309F410E0112309F41EC155 -:1054A0008B810E94C19EDC01CB018D8F9E8FAF8FBF -:1054B000B8A38C810E94939EDC01CB0189A39AA39F -:1054C000ABA3BCA39E012F5D3F4FCE014D96B9010A -:1054D0000E94B5A0982F81E08927882309F0FDC09C -:1054E00081E089838FEF8D838FEF8E8383EF9FE43D -:1054F000A3ECB7E48F839887A987BA871B868B852F -:1055000086300CF0C9C01C868C8586300CF0C0C07B -:105510008B85282F880F330B8C85482F880F550BD0 -:10552000C901880F991F820F931F880F991F840F3D -:10553000951F880F991F880F991F88529E4EFC0156 -:1055400080819181A281B38110E09C01AD01BC01F9 -:10555000CD010F940D5F882309F411E0112309F4A4 -:1055600093C081E08A838B81282F880F330B8B8532 -:10557000082E000C990BA901481B590B8B81282F71 -:10558000880F330B8B85082E000C990BB901681B13 -:10559000790BCB01489F9001499F300D589F300DEA -:1055A00011248C81482F880F550B8C85082E000CF8 -:1055B000990BBA01681B790B8C81482F880F550B0A -:1055C0008C85082E000C990B481B590B649FC00159 -:1055D000659F900D749F900D1124820F931F092ECB -:1055E000000CAA0BBB0BBC01CD010F94D154DC0104 -:1055F000CB01BC01CD010F94BE5E6B017C010F9409 -:105600006E3EDC01CB012FE230E040E050E0BC0117 -:10561000CD010F94205BDC01CB010D96A11DB11DC6 -:10562000BC01CD010F94CF54DC01CB019C01AD0135 -:1056300060E070E080E89FE30F94BA5CDC01CB018E -:105640009C01AD01C701B6010F94C05BDC01CB0129 -:105650008D879E87AF87B88B2F81388549855A857E -:105660006D857E858F8598890F94CA54882364F44C -:105670008D859E85AF85B8898F839887A987BA87DE -:105680008B818D838C818E838C858F5F8C873CCFC3 -:105690008B858F5F8B8733CF8A818823F9F08D814B -:1056A0008823E4F0898D9A8DAB8DBC8D2F81388550 -:1056B00049855A85BC01CD010F94CA54882374F4DE -:1056C0008F819885A985BA85898F9A8FAB8FBC8F7A -:1056D0008D818F8B8E81888F01C000008C818F5FC0 -:1056E0008C83B1CE8B818F5F8B83A8CE9A8181E032 -:1056F0008927882379F08981882361F083E08F8B63 -:1057000083E0888F80E090E0A0E8BFE3898F9A8FE4 -:10571000AB8FBC8F86E0FE017796DE01519601903B -:105720000D928A95E1F750E0598940E04A8930E0CE -:105730003B8920E02C8990E09D8980E08E89252E90 -:10574000342E432E522E692E782EA22CB32CC42C2C -:10575000D52CE62CF72C082D192D2A2D3B2D4C2D60 -:105760005D2D6E2D7F2D802F912FA4960FB6F8946E -:10577000DEBF0FBECDBFDF91CF911F910F91FF9084 -:10578000EF90DF90CF90BF90AF909F908F907F90E1 -:105790006F905F904F903F902F90089581E090918F -:1057A0006614911101C080E00D94F93E80915B0C6C -:1057B0008093661480E00D94F93E1F93CF93DF939E -:1057C000CDB7DEB727970FB6F894DEBF0FBECDBFBB -:1057D0001982109260141092611410926214109247 -:1057E000631410925F1410925E1488E50E94779EF5 -:1057F0008093651480916514882329F00E94F79D99 -:10580000DC01CB0108C08091A90C9091AA0CA09159 -:10581000AB0CB091AC0C80935A1490935B14A09392 -:105820005C14B0935D1489E50E94779E80936414A4 -:1058300080916414882329F00E94F79DDC01CB013C -:1058400008C08091AD0C9091AE0CA091AF0CB091BE -:10585000B00C8093561490935714A0935814B0939F -:10586000591482E50E942E9E882331F180913F18C1 -:105870009091401821E0892B09F420E0222319F0AF -:105880000E94F39D02C084E290E090935F148093A5 -:105890005E1464E270E08EE594E10F94A42680919A -:1058A0005E1490915F141816190634F086E79CE593 -:1058B0000F94D04081E088C186E50E942E9E882307 -:1058C00019F00E94F39D02C080E090E090932513B0 -:1058D000809324138091241390912513992334F0FD -:1058E0008091241390912513059734F08DE49CE565 -:1058F0000F94D04081E0898380E50E942E9E88230A -:10590000E1F00E94F39D9B838A838A819B8190931F -:1059100055148093541480915414909155149923E4 -:1059200034F08091541490915514079734F08DE21F -:105930009CE50F94D04081E089838AE40E942E9EEA -:10594000882359F180913F189091401821E0892BCC -:1059500009F420E0222319F00E94F39D02C080E0A8 -:1059600090E09093271380932613809126139091B3 -:105970002713892B91F0809126139091271302977A -:1059800034F080912613909127130A9734F083E026 -:105990009CE50F94D04081E08983909165148091BB -:1059A0006414981731F089ED9BE50F94D04081E0A5 -:1059B000898380915A1490915B14A0915C14B091EA -:1059C0005D1411E020E030E0A901BC01CD010F948D -:1059D000205E88230CF410E081E081278823C1F445 -:1059E00080915A1490915B14A0915C14B0915D1455 -:1059F00011E020E030E04DEE53E4BC01CD010F9406 -:105A0000CA5418160CF410E081E08127882361F055 -:105A100080E090E0ADE6B3E480935A1490935B1479 -:105A2000A0935C14B0935D14809156149091571418 -:105A3000A0915814B091591411E020E030E0A90170 -:105A4000BC01CD010F94205E88230CF410E081E0AE -:105A500081278823C1F48091561490915714A09106 -:105A60005814B091591411E020E030E041EE53E4B5 -:105A7000BC01CD010F94CA5418160CF410E081E05B -:105A80008127882361F080E090E0A1E6B3E4809371 -:105A9000561490935714A0935814B09359148981B5 -:105AA000882311F081E090C081E40E942E9E88231B -:105AB00089F084E40E942E9E882331F086EA9BE5DB -:105AC0000F94D04081E080C081E00F94F93E0F94A4 -:105AD000DF400AC084E40E942E9E882329F080E0E3 -:105AE0000F94F93E0F94DF4083E40E942E9E809332 -:105AF000531480915314882361F00E94F79DDC01B8 -:105B0000CB018093601490936114A0936214B093BE -:105B1000631486E40E94779E8823D1F10E94F79D4A -:105B2000DC01CB018C839D83AE83BF8311E020E039 -:105B300030E0A9016C817D818E819F810F94205E70 -:105B400088230CF410E081E08127882391F411E090 -:105B500020E030E048EC52E46C817D818E819F81B1 -:105B60000F94CA5418160CF410E081E081278823A2 -:105B700031F08DE69BE50F94D04081E025C08C810B -:105B80009D81AE81BF8141E0BC01CD010F94713F89 -:105B900060E070E084E50E94849E909352148093AC -:105BA00051148091511490915214992334F08091A2 -:105BB000511490915214039734F089E59BE50F94AA -:105BC000D04081E001C080E027960FB6F894DEBF98 -:105BD0000FBECDBFDF91CF911F9108958F929F92FD -:105BE000AF92BF92EF92FF920F931F93CF93DF93E9 -:105BF00088EDE82E81E1F82EC0E08701D0E0F801C1 -:105C000080809180A280B380A5019401C501B40178 -:105C10000F940D5F811117C02091601430916114B1 -:105C20004091621450916314C501B4010F94C05B9C -:105C30009B01AC01F80160837183828393836D2F94 -:105C40008C2F0E94BA81DF5F0C5F1F4FD630B9F6F0 -:105C5000CF5FF8E1EF0EF11CC63079F6DF91CF91FE -:105C60001F910F91FF90EF90BF90AF909F908F90FA -:105C700008952F923F924F925F926F927F928F92F0 -:105C80009F92AF92BF92CF92DF92EF92FF920F93CB -:105C90001F93CF93DF93CDB7DEB72A970FB6F89453 -:105CA000DEBF0FBECDBF8C834D835E836F8378874D -:105CB00088ED91E19B838A838C0186E0782E212CEC -:105CC000312CC12CD12C76011A861986E985FA85EA -:105CD000E00FF11F80809180A280B380A501940124 -:105CE000C501B4010F940D5F81110BC0A501940192 -:105CF000C701B6010F94C05B6B017C019FEF291AAD -:105D0000390AE985FA853496FA87E9877897F1F6B2 -:105D10007A94085E1F4F7110D7CFB101032C000C8D -:105D2000880B990B0F94D1549B01AC01C701B601AC -:105D30000F94BA5C6B017C0188ED91E19A878987A9 -:105D400096E09983812C912C540100E010E0E985C4 -:105D5000FA85E00FF11F4080518062807380A301BB -:105D60009201C301B2010F940D5F811112C0A7010E -:105D70009601C301B2010F94BF5B9B01AC010F946C -:105D800030559B01AC01C501B4010F94C05B4B01C0 -:105D90005C010C5F1F4F08311105C9F6E981E15024 -:105DA000E98389859A8548969A878987E111CDCFBD -:105DB000B1018BE19BE50F942D418AE00E94A6651D -:105DC000E3E7F8E0FA87E987E985FA858191FA87C0 -:105DD000E987882319F00E94A665F6CF46E0C7013F -:105DE000B6010E9446668AE00E94A665B1016F5F17 -:105DF0007F4F072E000C880B990B0F94D1549B01F9 -:105E0000AC01C501B4010F94BA5C0F94BE5E4B01A6 -:105E10005C018EE298E09A878987E985FA8581910D -:105E2000FA87E987882319F00E94A665F6CF46E035 -:105E3000C501B4010E9446668AE00E94A665FC8105 -:105E4000FF23F1F110E08A819B819A87898700E026 -:105E5000E985FA8580809180A280B380A5019401B4 -:105E6000C501B4010F940D5F81111AC02D813E81CF -:105E70004F815885C701B6010F94C05B9B01AC01EF -:105E8000C501B4010F94BF5B9B01AC01E985FA85A4 -:105E90006083718382839383602F812F0E94BA81F4 -:105EA0000F5F89859A8504969A878987063081F6DF -:105EB0001F5FEA81FB817896FB83EA83163019F62F -:105EC0002A960FB6F894DEBF0FBECDBFDF91CF91FB -:105ED0001F910F91FF90EF90DF90CF90BF90AF9008 -:105EE0009F908F907F906F905F904F903F902F90FA -:105EF0000895AF92BF92CF92DF92EF92FF920F93ED -:105F00001F93CF93DF93CDB7DEB7A8970FB6F89462 -:105F1000DEBF0FBECDBF9BA38AA37DA36CA34EA300 -:105F20002FA308A70F94D62B81E00E941C8D84E23A -:105F300089838EA1882331F080915114909152145D -:105F40000E94D2A18981882F90E025E230E0A9014A -:105F5000481B590BCA019B838A8384E49BE52A81F1 -:105F60003B81B9010F942D4182E49BE564E270E02E -:105F70000F942D418EE39BE50F94D0408AE29BE580 -:105F80001F9224E22F932B812F932A812F93292F65 -:105F90002F938F931F920F9460088DB79EB707962B -:105FA0000FB6F894DEBF0FBECDBF88A58823C9F019 -:105FB0000F94F529A22EB32EC42ED52EE62EF72E41 -:105FC000082F192F2A2D3B2D4C2D5D2D6E2D7F2D49 -:105FD000802F912F2C8B3D8B4E8B5F8B688F798F11 -:105FE00021C04CA15DA18AA19BA100E010E021E0AD -:105FF000BC0180E00F945F27A22EB32EC42ED52EB5 -:10600000E62EF72E082F192F2A2D3B2D4C2D5D2D16 -:106010006E2D7F2D802F912F2C8B3D8B4E8B5F8B88 -:10602000688F798F8C8988230CF45AC08C890E94E0 -:10603000C19EDC01CB018A8F9B8FAC8FBD8F8D8978 -:106040000E94939EDC01CB018E8F9F8FA8A3B9A3E2 -:106050008091241390912513282F8FA1882311F06C -:1060600031E001C032E0BE01625E7F4FCE014A9650 -:1060700001E0432F0E94BD8DDC01CB018C839D8309 -:10608000AE83BF838C89282F880F330B8D89482FCF -:10609000880F550BC901880F991F820F931F880F16 -:1060A000991F840F951F880F991F880F991F9C01B6 -:1060B00028523E4E8C819D81AE81BF81F901808343 -:1060C0009183A283B3838D89682F8C89782F8C81EB -:1060D0009D81AE81BF819C01AD01872F0E94BA8155 -:1060E0000E94D1668C89882344F0898181508983FC -:1060F0008981882311F081E001C080E0882309F0C4 -:1061000018CF80E00E941C8D0E94D48C0F94CE2B5F -:10611000188A198A1A8A1B8A8CA19DA1FC01808188 -:106120009181A281B3812091830C3091840C4091A4 -:10613000850C5091860CBC01CD010F94BF5BDC0136 -:10614000CB016C017D0160E070E083E090E00E9493 -:10615000CDA1092E000CAA0BBB0BBC01CD010F94E5 -:10616000D154DC01CB019C01AD01C701B6010F94F4 -:10617000CA5488238CF460E070E083E090E00E94D1 -:10618000CDA1092E000CAA0BBB0BBC01CD010F94B5 -:10619000D154DC01CB0155C08CA19DA1FC018081B3 -:1061A0009181A281B3812091830C3091840C409124 -:1061B000850C5091860CBC01CD010F94BF5BDC01B6 -:1061C000CB016C017D0162EC71E08FEB91E00E94EC -:1061D000C8A1092E000CAA0BBB0BBC01CD010F946A -:1061E000D154DC01CB019C01AD01C701B6010F9474 -:1061F000205E18168CF462EC71E08FEB91E00E9447 -:10620000C8A1092E000CAA0BBB0BBC01CD010F9439 -:10621000D154DC01CB0115C08CA19DA1FC01808172 -:106220009181A281B3812091830C3091840C4091A3 -:10623000850C5091860CBC01CD010F94BF5BDC0135 -:10624000CB018C879D87AE87BF878AA19BA1FC016C -:1062500080819181A281B38120917F0C3091800C4B -:106260004091810C5091820CBC01CD010F94BF5B19 -:10627000DC01CB016C017D0160E070E083E090E027 -:106280000E94CDA1092E000CAA0BBB0BBC01CD01B5 -:106290000F94D154DC01CB019C01AD01C701B601C3 -:1062A0000F94CA5488238CF460E070E083E090E09F -:1062B0000E94CDA1092E000CAA0BBB0BBC01CD0185 -:1062C0000F94D154DC01CB0155C08AA19BA1FC01E4 -:1062D00080819181A281B38120917F0C3091800CCB -:1062E0004091810C5091820CBC01CD010F94BF5B99 -:1062F000DC01CB016C017D016BED71E087ED91E07C -:106300000E94C8A1092E000CAA0BBB0BBC01CD0139 -:106310000F94D154DC01CB019C01AD01C701B60142 -:106320000F94205E18168CF46BED71E087ED91E010 -:106330000E94C8A1092E000CAA0BBB0BBC01CD0109 -:106340000F94D154DC01CB0115C08AA19BA1FC01A3 -:1063500080819181A281B38120917F0C3091800C4A -:106360004091810C5091820CBC01CD010F94BF5B18 -:10637000DC01CB0188879987AA87BB87AE01405F84 -:106380005F4F9E01245F3F4FCE010896B9010E94E6 -:106390001A79A8960FB6F894DEBF0FBECDBFDF9175 -:1063A000CF911F910F91FF90EF90DF90CF90BF9012 -:1063B000AF90089584E08A950000E9F70895FC0104 -:1063C000DB018C9120813181382798E0A901440FAD -:1063D000551F37FD06C09A019150C1F731832083C4 -:1063E00008959A01B1E22B27B0E13B27F5CFEF9258 -:1063F000FF920F931F93CF93DF93FC010190002036 -:10640000E9F731979F01281B390B12161306CCF5BB -:106410006AE56093BD1665EA6093BE1663E0620F9D -:106420006093BF1662E86093C0165093C116409304 -:10643000C216FC01A3ECB6E1820F931F41914D936C -:10644000E817F907D9F78DEBE82E86E1F82E00E082 -:1064500010E0E9012596C017D10764F0D7016D91CE -:106460007D0181E794E10E94756F0F94DA310F5F2F -:106470001F4FF1CF8AE1EDEBF6E1DF011D928A9526 -:10648000E9F7DF91CF911F910F91FF90EF90089561 -:106490000F931F93CF93DF9320916E162A3509F047 -:1064A00098C090916F16953A09F093C080916D163F -:1064B000833008F48EC02093BD169093BE1680934F -:1064C000BF16909170169093C0169038B1F49091C9 -:1064D00071169093C116E9E7F6E1A2ECB6E120E06F -:1064E00030E090E00297281739070CF044C0408153 -:1064F00032964D932F5F3F4FF6CF833061F4913842 -:1065000009F064C0809171168093C1168091751650 -:106510008093C21630C09238F1F490917116209198 -:1065200072162093C1169093C216E3ECF6E120E0B8 -:1065300030E090E0039728173907ECF4D901AE7FDB -:10654000A758B94E4C9111965C91508341832E5FB0 -:106550003F4F3296F0CF843071F4933861F48091DC -:106560007116909172169093C1168093C216809105 -:1065700075168093C3160DEB16E1C0E0D0E0809154 -:106580006D1690E002968C179D075CF0D8016D9116 -:106590008D0181E794E10E94756F0F94DA312196A5 -:1065A000EECF80E5EDE6F6E1DF011D928A95E9F791 -:1065B0008AE1EDEBF6E1DF011D928A95E9F78AE5C4 -:1065C00080936E1685EA80936F1603C0923899F611 -:1065D000A4CFDF91CF911F910F910895CF93DF93B7 -:1065E000CDB7DEB7A8970FB6F894DEBF0FBECDBF0C -:1065F0008C010E9467FD0F944C4183EC9CE50F9445 -:10660000D0400115110511F40AEB1CE580917014BE -:1066100080FD75C081608093701486E898E00E94C8 -:10662000C466882483948AE5982E90927A16809284 -:1066300079168FE090E090937C1680937B1697E01C -:10664000A92EA0926D1622E8B22EB092701634E8F0 -:10665000C32ED12CE12CF12CC0927116D09272165F -:10666000E0927316F09274160F94483290927A1654 -:106670008092791688E590E090937C1680937B1643 -:10668000A0926D16B0927016C0927116D0927216CA -:10669000E0927316F09274160F94483263E070E043 -:1066A00080E090E00E949F818AE289838A838B83C5 -:1066B0008C83DE011596F801CE0101969D01281B01 -:1066C000390B44913196442311F04D93F7CFFC01DF -:1066D000E20FF31F2AE2AF01481B590B4832510564 -:1066E00011F02193F8CF40E650E160E070E00F94A4 -:1066F000F7316AE070E080E090E00E949F8161E005 -:1067000081EB9CE50F94790989EE93E030E60197DF -:1067100029F0232F2A950000E9F7F9CFF89489EEA4 -:1067200093E038EE019729F0232F2A950000E9F72E -:10673000F9CF0E9467FD0E941563A895FECFCF9206 -:10674000DF92EF92FF920F946E3E6B017C0128E581 -:10675000C20E22E0D21EE11CF11C0E94C66E8F3FC9 -:1067600061F00F946E3EDC01CB018C199D09AE09DE -:10677000BF09B7FDF2CF80E001C081E0FF90EF904C -:10678000DF90CF9008958F929F92AF92BF92CF9259 -:10679000DF92EF92FF920F931F93CF93DF9300D07E -:1067A0001F92CDB7DEB7FC018381813079F58181FD -:1067B00081FF2CC081899289A389B489892B8A2B76 -:1067C0008B2B09F448C07F0140E050E0BA01CF01B3 -:1067D0000E94F4938823D1F0F70185889688A788D2 -:1067E000B08CC18CD28C82E090E0A0E0B0E0F601E9 -:1067F00080839183A283B3839E012F5F3F4FB501B6 -:10680000A401C6010E947376811102C080E03CC0E1 -:1068100000E010E09801B501A401C6010E94E175F5 -:106820008823A1F389809A80AB80BC80F601878998 -:10683000803141F4F8EF8F16FFEF9F06A104B104F9 -:1068400060F4DACF88EF88168FEF9806A8068FE0FD -:10685000B80618F4D1CF81E017C0F701158A168A5F -:10686000178A108E118A128A138A148A818180688D -:106870008183C7010E942D97882341F240E050E0B8 -:10688000BA01C7010E94F4930F900F900F900F90E0 -:10689000DF91CF911F910F91FF90EF90DF90CF90FC -:1068A000BF90AF909F908F9008952F923F924F92FC -:1068B0005F926F927F928F929F92AF92BF92CF9290 -:1068C000DF92EF92FF920F931F93CF93DF931F926C -:1068D0001F92CDB7DEB77C012DB73EB73A8329832F -:1068E00080913618811107C010921B1810921E1843 -:1068F00081E08093361880911318811107C010929F -:10690000F8171092FB1781E080931318FB01808128 -:106910008F3259F487E695E1F701918380831092D5 -:10692000EB178B010F5F1F4F06C08CE495E1F70159 -:10693000918380838B01F701208031802BE1C22E6F -:1069400028E1D22E0115110509F479C04DB65EB6C5 -:106950006FE270E0C8010F9466604C0108171907D8 -:1069600008F06BC03C01601A710A7724C3010196DC -:106970002DB73EB7281B390B0FB6F8943EBF0FBE9C -:106980002DBF8DB79EB701965C01A301B8010F948E -:106990008660F501E60DF71D1082F70160817181B7 -:1069A00021E0A501C6010E944C9B81110FC0B501D9 -:1069B0008DE99CE50F9439418AE99CE50F94D0401C -:1069C0000FB6F8945EBE0FBE4DBE39C0F701808190 -:1069D00091812816390611F00E946097F701D18243 -:1069E000C082A091EB17AA3080F481E08A0F8093D7 -:1069F000EB17FBE1FA9FD0011124A352B94EF60127 -:106A00008BE101900D928A95E1F7F70180819181E8 -:106A10008B51984129F498EFC92E97E1D92E04C0E3 -:106A20008BE1C82E88E1D82E84010F5F1F4F0FB66F -:106A3000F8945EBE0FBE4DBE85CFC80102C080E097 -:106A400090E029813A810FB6F8943EBF0FBE2DBF6A -:106A50000F900F90DF91CF911F910F91FF90EF90CA -:106A6000DF90CF90BF90AF909F908F907F906F906E -:106A70005F904F903F902F90089520916F1426952E -:106A8000269520FF2DC02091F6173091F717280F7B -:106A9000391F3093F7172093F61720916D1430911A -:106AA0006E14280F391F30936E1420936D142091AB -:106AB000080121702093060120916B1430916C1411 -:106AC000820F931F90936C1480936B140F946E3EFF -:106AD00060936714709368148093691490936A1498 -:106AE00008954F925F926F927F928F929F92AF9292 -:106AF000BF92CF92DF92EF92FF920F931F93CF93AB -:106B0000DF93CDB7DEB764970FB6F894DEBF0FBE44 -:106B1000CDBF082FF62EE42E882E912C26E0829FE2 -:106B2000C0011124FC01E158F14A65907490FC0108 -:106B3000E358F14A5F0145905490F3018081482F5A -:106B4000487050E060E070E07695679557954795FE -:106B5000F20110811370142BF4E0EF1209C0807160 -:106B600090E0A0E0B0E0B695A79597958795182B93 -:106B700083E79EE50F94D040005D802F0E94A665BC -:106B80008F2D0E94A66583E00F948840F401EE0FDC -:106B9000FF1F8F2D0F2C000C990B9E012F5F3F4F75 -:106BA000690133E0E80DF91D81549109E80FF91FDF -:106BB000EE0FFF1FE15BF14AE3121BC0A591B491F8 -:106BC0008C911F928F9385E49EE59F938F93DF9224 -:106BD000CF920F9462540F900F900F900F900F90E0 -:106BE0000F90F60181916F01882309F10E94A6653B -:106BF000F8CFA591B49111968C9111978F938C91A8 -:106C00008F938BE39EE59F938F93DF92CF920F94A8 -:106C100062540F900F900F900F900F900F90F6010D -:106C200081916F01882319F00E94A665F8CF612F2A -:106C300070E081E39EE50F942D41F501C590D4905D -:106C400085EA9DE50F94D040802F0E94A665F2E46E -:106C5000FF1691F023E4F216F9F031E4F3122DC09F -:106C6000F6014081429546954695437050E060E0BC -:106C700070E081EA9DE51FC0F6014081407350E05D -:106C800060E070E094E076956795579547959A9502 -:106C9000D1F78DE99DE50FC0F60140814C7050E0C1 -:106CA00060E070E082E076956795579547958A9504 -:106CB000D1F789E99DE50F94FE40F30140814770CB -:106CC00050E060E070E088E29EE50F94FE408FE1C6 -:106CD0009EE50F94D040802F0E94A665F20160814E -:106CE00070E08BE19EE50F942D4182E19EE50F94CB -:106CF000D040802F0E94A665F301608170E08EE095 -:106D00009EE50F942D4186E0889DF001899DF00D50 -:106D10001124EF57F14AC590D49084E09EE50F947A -:106D2000D040802F0E94A665F601608170E081E06E -:106D30009EE50F942D4100EC0F0DF3E0EF1207C01C -:106D4000197F59F48DEA9DE50F94D04006C0812F3C -:106D50008B7FC1F31C501230A8F3F601808190E0C4 -:106D6000A0E0B0E004C0B695A795979587950A95E1 -:106D7000D2F780FF04C086EC9DE50F94D040F60169 -:106D8000808180FF04C083EE9DE50F94D04064961F -:106D90000FB6F894DEBF0FBECDBFDF91CF911F912C -:106DA0000F91FF90EF90DF90CF90BF90AF909F90AA -:106DB0008F907F906F905F904F900895CF93DF9367 -:106DC000C82F8AEC9EE50F94D0400C2E000CDD0BF2 -:106DD000FE01EF5DF04A8491805C0E94A665FE0191 -:106DE000E959F04AE49180E3E13021F0E6958F5FC4 -:106DF0008933D1F7DF91CF910C94A665082E000C52 -:106E0000990BFC01EF5DF04AE491EE2399F0F0E07C -:106E1000EE0FFF1FE95FF04AA591B4912C91FC01A0 -:106E2000E959F04A8491822321E090E009F420E0BE -:106E3000822F089580E090E00895CF93DF93C82FCC -:106E4000D0E0FE01E355F04AE4918E2F90E0FC0182 -:106E50003197E231F105E8F58827EA54FF4F8F4F6B -:106E60000D94B75B43E061E402C043E062E480E07C -:106E70002EC044E061E405C044E062E402C044E0A6 -:106E800063E481E024C043E061E402C043E062E4E3 -:106E900082E01DC044E061E405C044E062E402C059 -:106EA00044E063E483E013C044E061E405C044E0EF -:106EB00062E402C044E063E484E009C044E061E4C9 -:106EC00005C044E062E402C044E063E485E00F945E -:106ED000713587EC9EE50F94D040FE01EF5DF04ADE -:106EE000E491E230F9F4FE01E959F04AE491E03826 -:106EF000C9F483EC9EE50F94D04082E10F94884062 -:106F00008BEB9EE50F94D04081EA9EE50F94D04034 -:106F10008EE00F94884044E063E481E0DF91CF91FC -:106F20000D947135DF91CF9108950F931F93CF93F7 -:106F3000DF93CDB7DEB764970FB6F894DEBF0FBE10 -:106F4000CDBFE82FF0E0E355F04AE4918E2F90E0BA -:106F5000FC013197E231F10508F049C28827E85376 -:106F6000FF4F8F4F0D94B75B84B5807C09F43FC20F -:106F700087B51F928F938FE89DE59F938F938E0126 -:106F80000F5F1F4F1F930F930F9462540F900F903A -:106F90000F900F900F900F90F80181918F01811148 -:106FA00002C081E025C20E94A665F6CF84B5807339 -:106FB00009F41DC288B51F928F9385E89DE59F93C4 -:106FC0008F938E010F5F1F4F1F930F930F94625487 -:106FD0000F900F900F900F900F900F90F8018191EC -:106FE0008F018823F1F20E94A665F8CF809180007E -:106FF000807C09F4FCC180918800909189009F9366 -:107000008F938BE79DE59F938F938E010F5F1F4FAB -:107010001F930F930F9462540F900F900F900F9047 -:107020000F900F90F80181918F01882309F4B9CF57 -:107030000E94A665F7CF80918000807309F4D7C1C4 -:1070400080918A0090918B009F938F9381E79DE5BB -:107050009F938F938E010F5F1F4F1F930F930F947A -:1070600062540F900F900F900F900F900F90F801B7 -:1070700081918F01882309F494CF0E94A665F7CFF0 -:10708000809180008C7009F4B2C180918C00909145 -:107090008D009F938F9387E69DE59F938F938E013D -:1070A0000F5F1F4F1F930F930F9462540F900F9019 -:1070B0000F900F900F900F90F80181918F0188230E -:1070C00009F46FCF0E94A665F7CF8091B000807C55 -:1070D00009F48DC18091B3001F928F938DE59DE5DA -:1070E0009F938F938E010F5F1F4F1F930F930F94EA -:1070F00062540F900F900F900F900F900F90F80127 -:1071000081918F01882309F44CCF0E94A665F7CFA7 -:107110008091B000807309F46AC18091B4001F921D -:107120008F9383E59DE59F938F938E010F5F1F4F94 -:107130001F930F930F9462540F900F900F900F9026 -:107140000F900F90F80181918F01882309F429CFC6 -:107150000E94A665F7CF80919000807C09F447C11A -:1071600080919800909199009F938F9389E49DE579 -:107170009F938F938E010F5F1F4F1F930F930F9459 -:1071800062540F900F900F900F900F900F90F80196 -:1071900081918F01882309F404CF0E94A665F7CF5F -:1071A00080919000807309F422C180919A0090919F -:1071B0009B009F938F938FE39DE59F938F938E0109 -:1071C0000F5F1F4F1F930F930F9462540F900F90F8 -:1071D0000F900F900F900F90F80181918F018823ED -:1071E00009F4DFCE0E94A665F7CF809190008C70E5 -:1071F00009F4FDC080919C0090919D009F938F9316 -:1072000085E39DE59F938F938E010F5F1F4F1F9323 -:107210000F930F9462540F900F900F900F900F9058 -:107220000F90F80181918F01882309F4BACE0E9452 -:10723000A665F7CF8091A000807C09F4D8C080912A -:10724000A8009091A9009F938F938BE29DE59F9357 -:107250008F938E010F5F1F4F1F930F930F946254F4 -:107260000F900F900F900F900F900F90F801819159 -:107270008F01882309F495CE0E94A665F7CF8091EF -:10728000A000807309F4B3C08091AA009091AB0074 -:107290009F938F9381E29DE59F938F938E010F5F64 -:1072A0001F4F1F930F930F9462540F900F900F90E6 -:1072B0000F900F900F90F80181918F01882309F4AE -:1072C00070CE0E94A665F7CF8091A0008C7009F463 -:1072D0008EC08091AC009091AD009F938F9387E119 -:1072E0009DE59F938F938E010F5F1F4F1F930F9309 -:1072F0000F9462540F900F900F900F900F900F907B -:10730000F80181918F01882309F44BCE0E94A66574 -:10731000F7CF80912001807C09F469C08091280119 -:10732000909129019F938F938DE09DE59F938F937B -:107330008E010F5F1F4F1F930F930F9462540F9096 -:107340000F900F900F900F900F90F80181918F0187 -:10735000882309F426CE0E94A665F7CF80912001EC -:10736000807309F444C080912A0190912B019F936E -:107370008F9383E09DE59F938F938E010F5F1F4F47 -:107380001F930F930F9462540F900F900F900F90D4 -:107390000F900F90F80181918F01882309F401CE9D -:1073A0000E94A665F7CF809120018C7001F1809139 -:1073B0002C0190912D019F938F9389EF9CE59F93D2 -:1073C0008F938E010F5F1F4F1F930F930F94625483 -:1073D0000F900F900F900F900F900F90F8018191E8 -:1073E0008F01882309F4DDCD0E94A665F7CF80E0E8 -:1073F00064960FB6F894DEBF0FBECDBFDF91CF917C -:107400001F910F910895082E000C990BFC01EF5D60 -:10741000F04AE491F0E0EE0FFF1FED52F14AA59122 -:10742000B4912C91FC01E959F04AE491E22381E006 -:1074300009F480E0089580914B1487FD05C0809188 -:107440004C148E7009F445C083E50E94779E882312 -:1074500091F00E94F79D6093B0117093B1118093E9 -:10746000B2119093B3116093B8117093B9118093D6 -:10747000BA119093BB1180E50E94779E882351F04A -:107480000E94F79D6093B0117093B1118093B21177 -:107490009093B31182E50E94779E882351F00E9459 -:1074A000F79D6093B4117093B5118093B6119093CA -:1074B000B71184E50E94779E882391F10E94F79D81 -:1074C0006093B8117093B9118093BA119093BB1166 -:1074D00008954091B0115091B1116091B211709125 -:1074E000B31189EE9CE50F941C414091B411509169 -:1074F000B5116091B6117091B71186EE9CE50F94AD -:107500001C414091B8115091B9116091BA1170911C -:10751000BB1183EE9CE50F941C418AE00C94A66598 -:10752000089580913F1890914018009731F04AE0FB -:1075300050E060E070E00D94EE5260E070E0CB014E -:10754000089590E0FC013197E231F10508F04EC05A -:107550008827E652FF4F8F4F0D94B75B80918000D4 -:107560008F7703C0809180008F7D80938000089585 -:1075700080918000877FF9CF84B58F7702C084B572 -:107580008F7D84BD08958091B0008F7703C0809176 -:10759000B0008F7D8093B0000895809190008F7728 -:1075A00007C0809190008F7D03C080919000877FFD -:1075B0008093900008958091A0008F7707C08091FC -:1075C000A0008F7D03C08091A000877F8093A000E2 -:1075D0000895809120018F7707C0809120018F7DD1 -:1075E00003C080912001877F8093200108953FB7D9 -:1075F000F89480914E1890914F18A0915018B09126 -:10760000511826B5A89B05C02F3F19F00196A11D62 -:10761000B11D3FBFBA2FA92F982F8827820F911D28 -:10762000A11DB11DBC01CD0142E0660F771F881F6F -:10763000991F4A95D1F708952F923F924F925F92EA -:107640006F927F928F929F92AF92BF92CF92DF9272 -:10765000EF92FF920F931F93CF93DF93CDB7DEB7D7 -:10766000A0970FB6F894DEBF0FBECDBF1C018B01F3 -:107670005A8749873C872B87C090A90CD090AA0CC9 -:10768000E090AB0CF090AC0CDC018D919D910D90D5 -:10769000BC91A02D8D879E87AF87B88B9C01AD01D3 -:1076A000C701B6010F94BF5B2B013C018091AD0C6B -:1076B0009091AE0CA091AF0CB091B00C898B9A8BCD -:1076C000AB8BBC8BD8018D919D910D90BC91A02D61 -:1076D0008D8B9E8BAF8BB88F9C01AD0169897A89A8 -:1076E0008B899C890F94BF5B4B015C01A3019201C4 -:1076F000C301B2010F9430552B013C01A501940147 -:10770000C501B4010F9430559B01AC01C301B20116 -:107710000F94C05B698F7A8F8B8F9C8FE985FA8578 -:107720004080518062807380A3019201C701B6013D -:107730000F94BF5B6D8F7E8F8F8F98A3AB85BC85B9 -:107740008D909D90AD90BC90A501940169897A8936 -:107750008B899C890F94BF5B6B017C012D853E85D5 -:107760004F855889C301B2010F94BF5B2B013C01C7 -:107770002D893E894F89588DC501B4010F94BF5B97 -:107780004B015C01A3019201C301B2010F9430557A -:107790002B013C01A5019401C501B4010F943055A2 -:1077A0009B01AC01C301B2010F94C05B0F94BE5E9C -:1077B0004B015C012D8D3E8D4F8D58A1CA01B90141 -:1077C0000F9430552B013C01A7019601C701B6016A -:1077D0000F9430559B01AC01C301B2010F94C05B03 -:1077E0009B01AC01698D7A8D8B8D9C8D0F94205EF1 -:1077F000181604F520E030E0A901C501B4010F948A -:10780000205E87FF04C0C501B401905802C0C501C5 -:10781000B40120E030E040EA50E40F94205E1816F6 -:107820004CF49801A1016B857C8589859A850F941C -:107830001C3B85C020E030E040E050E4698D7A8D4B -:107840008B8D9C8D0F94205E18160CF044C00E9406 -:10785000A0BB19821A821B821C8220E030E040E02B -:107860005FE36091B10C7091B20C8091B30C909178 -:10787000B40C0F94C05B6D837E838F8398879E01C9 -:107880002F5F3F4FAE014B5F5F4F6DEA7CE089EAAF -:107890009CE00E9409EC19821A821B821C8220E063 -:1078A00030E040E05FE360914118709142188091B0 -:1078B0004318909144180F94C05B6D837E838F832F -:1078C00098879E012F5F3F4FAE014B5F5F4FB8011E -:1078D000C1010E9409EC19821A821B821C829E013E -:1078E0002F5F3F4F41E458E1B801C1010E9409EC0C -:1078F00020916302309164024091650250916602CA -:10790000C501B4010F9430552091451830914618A7 -:1079100040914718509148180F94305569837A83E5 -:107920008B839C830E94CCBB9E012F5F3F4F41E421 -:1079300058E16B857C8589859A850E9409ECA09623 -:107940000FB6F894DEBF0FBECDBFDF91CF911F9170 -:107950000F91FF90EF90DF90CF90BF90AF909F90EE -:107960008F907F906F905F904F903F902F900895F1 -:10797000CF93DF93282F30E0F901E355F04A84914B -:10798000F901E959F04AD491F901EF5DF04AC49147 -:10799000CC2391F081110F94A13AEC2FF0E0EE0F7F -:1079A000FF1FE95FF04AA591B491EC91ED2381E0CE -:1079B00090E021F480E002C080E090E0DF91CF9180 -:1079C00008951F93CF93DF93282F30E0F901E355FB -:1079D000F04A8491F901E959F04AD491F901EF5D37 -:1079E000F04AC491CC23C1F0162F81110F94A13A13 -:1079F000EC2FF0E0EE0FFF1FE351F14AA591B49197 -:107A00009FB7F894111104C08C91D095D82302C06F -:107A1000EC91DE2BDC939FBFDF91CF911F910895F6 -:107A2000CF93DF9390E0FC01E959F04A2491FC01E7 -:107A3000EF5DF04A8491882361F190E0880F991FEF -:107A4000FC01ED52F14AC591D491FC01E351F14A98 -:107A5000A591B491611109C09FB7F89488812095D0 -:107A600082238883EC912E230BC0623061F49FB790 -:107A7000F8948881322F309583238883EC912E2BC4 -:107A80002C939FBF06C08FB7F894E8812E2B2883D4 -:107A90008FBFDF91CF9108951F93CF93DF93182F5E -:107AA000EB0161E00F94103D209711F460E004C0F9 -:107AB000CF3FD10539F461E0812FDF91CF911F9144 -:107AC0000D94E13CE12FF0E0E355F04AE4918E2F74 -:107AD00090E0FC013197E231F10508F09DC0882764 -:107AE000E451FF4F8F4F0D94B75B84B5806884BD20 -:107AF000C7BD97C084B5806284BDC8BD92C0809167 -:107B00008000806880938000D0938900C0938800B3 -:107B100088C080918000806280938000D0938B0029 -:107B2000C0938A007EC0809180008860809380002E -:107B3000D0938D00C0938C0074C08091B000806899 -:107B40008093B000C093B3006CC08091B00080629D -:107B50008093B000C093B40064C0809190008068AE -:107B600080939000D0939900C09398005AC0809160 -:107B70009000806280939000D0939B00C0939A0005 -:107B800050C080919000886080939000D0939D00B9 -:107B9000C0939C0046C08091A00080688093A000A4 -:107BA0008091A0008F7B8093A000D093A900C09308 -:107BB000A80037C08091A00080628093A000D0937D -:107BC000AB00C093AA002DC08091A0008860809374 -:107BD000A000D093AD00C093AC0023C080912001E1 -:107BE000806880932001D0932901C093280119C097 -:107BF00080912001806280932001D0932B01C0935B -:107C00002A010FC080912001886080932001D093C9 -:107C10002D01C0932C0105C0C038D1050CF04BCF0D -:107C200045CFDF91CF911F910895863308F0865399 -:107C300090917B00282F2870977F922B90937B0048 -:107C40008770806480937C0080917A008064809348 -:107C50007A0080917A0086FDFCCF80917800209197 -:107C6000790090E0922B08958F929F92AF92BF92ED -:107C7000CF92DF92EF92FF926B017C010F94F73A63 -:107C80004B015C01C114D104E104F104F1F00F9443 -:107C9000F73ADC01CB0188199909AA09BB09883E8A -:107CA0009340A105B10570F321E0C21AD108E108A3 -:107CB000F10888EE880E83E0981EA11CB11CC11447 -:107CC000D104E104F10419F7DDCFFF90EF90DF90CC -:107CD000CF90BF90AF909F908F9008952FB7F8945A -:107CE00060914A1870914B1880914C1890914D18E2 -:107CF0002FBF08951F920F920FB60F9211242F934A -:107D00003F938F939F93AF93BF9380914A18909125 -:107D10004B18A0914C18B0914D183091491823E0A0 -:107D2000230F2D3720F40196A11DB11D05C026E8B3 -:107D3000230F0296A11DB11D2093491880934A1864 -:107D400090934B18A0934C18B0934D1880914E18F7 -:107D500090914F18A0915018B09151180196A11D03 -:107D6000B11D80934E1890934F18A0935018B09364 -:107D70005118BF91AF919F918F913F912F910F908B -:107D80000FBE0F901F9018958F929F92AF92BF9247 -:107D9000EF92FF920F931F93CF93DF934B015C0100 -:107DA00008ED11E1C0E0E12CF12CD0E0F801EE0D7E -:107DB000FF1D80829182A282B382A50194016D2F62 -:107DC0008C2F0E94BA81DF5F84E0E80EF11CD63070 -:107DD00069F7CF5F085E1F4FC63029F7DF91CF915B -:107DE0001F910F91FF90EF90BF90AF909F908F9059 -:107DF000089590915B0C9817D1F00E94BA918091F0 -:107E00005B0C882359F041EB5CE06DEA7CE089EA89 -:107E10009CE00E94B29310925B0C07C081E08093BB -:107E20005B0C89EA9CE00E9478930C94E5790895B4 -:107E300080E00F94F93E60E070E080EC9FE70D94E5 -:107E4000C43E1F93CF93DF9310915B0C80E00F949F -:107E5000F93E8FEF80933F0C80E090E0A0E2B1E428 -:107E60008093681290936912A0936A12B0936B1278 -:107E70008DEC9CECACECBDE3809314149093151442 -:107E8000A0931614B093171480EF9FEFA9E7B4ECFA -:107E90008093181490931914A0931A14B0931B1480 -:107EA00080E9E8EDF1E1DF011D928A95E9F7C0E094 -:107EB000D0E020E030E0A9016D2F8C2F0E94BA8124 -:107EC000DF5FD630B1F7CF5FC63091F7112329F0CD -:107ED000DF91CF911F910C949A7CDF91CF911F91EC -:107EE0000895CF92DF92EF92FF920F931F93CF935B -:107EF000DF93CDB7DEB72C970FB6F894DEBF0FBE79 -:107F0000CDBF7B018C01D42E9B01AC016091681226 -:107F10007091691280916A1290916B120F94CA54F9 -:107F2000882309F496C0C0905B0C80E00F94F93E62 -:107F300020E030E0A901B701C8010F94205E1816B7 -:107F400024F0E12CF12C00E010E0C701D80180936F -:107F5000681290936912A0936A12B0936B122DEB82 -:107F600037E346E855EBB701C8010F94205E87FD63 -:107F70000AC02DEB37E346E855E3B701C8010F947B -:107F8000CA5418164CF49701A80160E070E080E82C -:107F90009FE30F94BA5C03C060E070E0CB01609394 -:107FA000141470931514809316149093171480EF83 -:107FB0009FEFA9E7B4EC8093181490931914A09341 -:107FC0001A14B0931B14CC2009F443C08091A90C5F -:107FD0009091AA0CA091AB0CB091AC0C89839A83C0 -:107FE000AB83BC838091AD0C9091AE0CA091AF0C93 -:107FF000B091B00C8D839E83AF83B8878091B10C14 -:108000009091B20CA091B30CB091B40C89879A876F -:10801000AB87BC8781E00F94F93EDD20D1F04CE0C6 -:1080200050E069EA7CE0CE0101960F943260892B22 -:1080300081F02C960FB6F894DEBF0FBECDBFDF9156 -:10804000CF911F910F91FF90EF90DF90CF900C9404 -:108050009A7C2C960FB6F894DEBF0FBECDBFDF9191 -:10806000CF911F910F91FF90EF90DF90CF900895E7 -:10807000EF92FF921F93CF93DF9388EDE82E81E17B -:10808000F82E16E0C0E0D0E0F701EC0FFD1F608194 -:108090007181828193819B01AC010F940D5F8111ED -:1080A0000CC02496C831D10579F7115088E1E80E4B -:1080B000F11C1111E7CF81E001C080E0DF91CF9189 -:1080C0001F91FF90EF900895CF92DF92EF92FF9271 -:1080D0006B017C0183E3C816D104E104F10470F064 -:1080E00082E3C81AD108E108F10862E370E080E099 -:1080F00090E00F94343E0E9464CAECCFC701B601F1 -:108100000F94343EFF90EF90DF90CF900C9464CAB0 -:10811000CF93C82FCC2329F080E20E94A665C150DE -:10812000F9CFCF9108950F931F93CF93DF938B01D6 -:10813000EA010F94884088E20E94A6650436110582 -:108140004CF480E20E94A6650A3011051CF480E21E -:108150000E94A6656AE070E0C8010E9436668CE263 -:108160000E94A665C436D1054CF480E20E94A66543 -:10817000CA30D1051CF480E20E94A6656AE070E076 -:10818000CE010E94366689E20E94A66565E070E035 -:1081900080E090E0DF91CF911F910F910D946440AA -:1081A000CF93DF93FC018491EF012196882321F086 -:1081B0000E94A665FE01F7CFDF91CF910895CF937E -:1081C00083EB94E30F94D040C0915B0C84EA90E67B -:1081D0000F94D040C11103C080EA90E602C083EA48 -:1081E00090E60F94D04088E990E60F94D04062E387 -:1081F00070E080E090E0CF910D946440CF92DF92E8 -:10820000EF92FF926A017B010F94D0404AE0C701D0 -:10821000B601FF90EF90DF90CF900C94AD65CF93B7 -:10822000DF93EB010F94D040BE0180E090E04AE084 -:10823000DF91CF910C94AD65CF92DF92EF92FF92D8 -:108240006A017B010F94D04042E0C701B601FF9064 -:10825000EF90DF90CF900C944666CF93DF93EB01C5 -:108260000F94D0406AE070E0CE01DF91CF910C9482 -:1082700036660F931F93CF93DF938B010F94D040FB -:10828000E8018991882319F00E94A665FACFDF9151 -:10829000CF911F910F9108958AE790E60D94D040F9 -:1082A00084E790E60D94D040AF92BF92CF92DF92D8 -:1082B000EF92FF920F931F93CF93DF930F94384069 -:1082C000882309F453C00F9450418DE890E60F9431 -:1082D000D04098EDC92E91E1D92EC0E0D0E07601D2 -:1082E00000E010E0F70160817181828193819B0140 -:1082F000AC010F940D5F811129C00F945041BE0154 -:1083000084E890E60F942D41B80181E890E60F943F -:108310002D4181E9A82E88E0B82EF50181915F01F9 -:10832000882319F00E94A665F8CFF701608171815A -:108330008281938144E00E9446668AE00E94A6659D -:108340006BE470E080E090E00F9464400F5F1F4F9B -:10835000F4E0EF0EF11C0630110521F6219688E1BC -:10836000C80ED11CC630D10509F0B9CFDF91CF912D -:108370001F910F91FF90EF90DF90CF90BF90AF9043 -:1083800008950E9467FD0E9465908091A80C882343 -:1083900019F080E00E9406BB80915202882399F078 -:1083A0000F944C418DEF9FE50F94D04060E083EF38 -:1083B0009FE50F9405086EE571E080E090E00F9472 -:1083C00064401092520208952F923F924F925F9212 -:1083D0006F927F928F929F92AF92BF92CF92DF92D5 -:1083E000EF92FF920F931F93CF93DF93D82FC62F57 -:1083F00084E998E00E94C466D1115AC0CC2389F068 -:108400000E94E0738C01C12CD12CC0E0D0E0A12CE3 -:10841000B12C8DE5282E8AE1382E44244394512C2A -:108420003FC00E9416808111EBCF44C0C016D10618 -:1084300008F037C1C5014496C816D90608F031C105 -:108440002FEFC21AD20A0F3F3FEF130709F0C3C143 -:108450000E94E0738C018C159D0508F04EC1F1015E -:1084600001900020E9F73197CF018D559A413C01E9 -:10847000EE24E394F12C9701235A354E490146E04E -:1084800050E06DE978E0C9010F947860892B09F01C -:10849000F4C0E614F7040CF43FC18FEFA81AB80A31 -:1084A0000F3F2FEF120711F60E94E0738C01BECF31 -:1084B000C111A6CF3AE0C32E30E2D32EE12CF12C2D -:1084C000C5E0D2E8812C912C540110927A161092BA -:1084D0007916C0936D16D0937016D701C601880D1A -:1084E000991DAA1DBB1D8093711690937216A093BF -:1084F0007316B09374160F9448328FEF881A980A47 -:10850000A80AB80A9AE089169104A104B104E9F610 -:108510002AE0C20ED11CE11CF11C32EDC31630E280 -:10852000D306E104F10471F6C12C20E2D22EE12C35 -:10853000F12CD5E0C2E810927A1610927916D093F9 -:108540006D16C0937016C0927116D0927216E0929A -:108550007316F09274160F94483210927A16109295 -:108560007916D0936D16C0937016D701C6018C5240 -:108570009F4FAF4FBF4F8093711690937216A09389 -:108580007316B09374160F9448328FEFC81AD80A36 -:10859000E80AF80A9AE0C91690E2D906E104F10463 -:1085A00051F69EEDC92E90E2D92EE12CF12CD5E0AA -:1085B000C2E810927A1610927916D0936D16C09375 -:1085C0007016C0927116D0927216E0927316F092E5 -:1085D00074160F9448322FEFC21AD20AE20AF20A36 -:1085E00036EEC31630E2D306E104F10411F7CC24D1 -:1085F000C39482E1D82EE12CF12C0AE010E0D5E002 -:10860000C2E810937A1600937916D0936D16C09332 -:108610007016C0927116D0927216E0927316F09294 -:1086200074160F94483210937A1600937916D093EB -:108630006D16C0937016D701C6018096A11DB11D9D -:108640008093711690937216A0937316B09374165C -:108650000F9448328FEFC81AD80AE80AF80A95E151 -:10866000C91692E1D906E104F10459F68FEB93E0C3 -:108670000E94C46682E190E016C046E050E064EAE1 -:1086800078E0C4010F947860892B09F402CF3FEFA2 -:10869000E31AF30AC7010197861597050CF4EBCE90 -:1086A000F8CE81E190E090937A168093791685E078 -:1086B00080936D1682E88093701684E190E1A0E0CB -:1086C000B0E08093711690937216A0937316B093D6 -:1086D0007416DF91CF911F910F91FF90EF90DF9073 -:1086E000CF90BF90AF909F908F907F906F905F9052 -:1086F0004F903F902F900D9448320F3F8FEF180707 -:1087000019F40E94E0738C0160E070E0C8018C19DC -:108710009D090E941874A3CE22E12C9FC0012D9FB9 -:10872000900D11249C012150354E4901A701423181 -:10873000510514F041E150E06DE57AE1C4010F9478 -:10874000866032E13C9FC0013D9F900D11246FE98E -:108750007AE18959934E0F9471608AE08C9FA00151 -:108760008D9F500D1124465F5F4D052E000C660B4A -:10877000770BFE01EE0FFF1FEE0FFF1FE455F54EC6 -:108780004383548365837683C4010F94F7317E015C -:108790009FEFE91AF90AF092AE1AE092AD1A5092E0 -:1087A0007A164092791625E020936D1632E83093C0 -:1087B0007016CF5FDD4ECE01DD0FAA0BBB0B809391 -:1087C000711690937216A0937316B09374160F944B -:1087D0004832E70165CE0C151D0508F440CE94CF54 -:1087E0004F925F926F927F928F929F92AF92BF92C1 -:1087F000CF92DF92EF92FF921F93CF93DF93C82F18 -:1088000087E495E190935C1A80935B1A109240156F -:1088100082E090E0A0E0B0E08093291590932A15C3 -:10882000A0932B15B0932C1510925A1A1092561A29 -:108830001092571A1092581A1092591A8FEF9FEFF0 -:10884000DC018093521A9093531AA093541AB09358 -:10885000551ACC2379F1C53008F001C140E060E041 -:1088600070E0CB010E94A875882309F4F8C020E1CC -:10887000C29FC00111248E5B974EFC01E254FE4F53 -:1088800020812F7709F0EBC03C96408151816281B5 -:108890007381443651056105710508F4E0C03497D1 -:1088A000C080D180E280F380C114D104E104F104DE -:1088B00021F4D5C0C12CD12C760140E0C701B6010E -:1088C0000E94A875182F882309F4C9C080915D18EB -:1088D00090915E188115924009F0C1C0A091621874 -:1088E000AA2309F4BCC060916018709161186115E9 -:1088F000710509F4B4C080905F18882009F4AFC0F6 -:10890000A0933B1580922D1580E0912CA12CB12CC9 -:10891000412C512C32014394C82FA3019201082EFF -:1089200004C0220F331F441F551F0A94D2F782162A -:108930009306A406B50639F08F5FC83069F789E061 -:10894000809336158CC0809336152091681830912D -:1089500069182115310519F040E050E008C0209158 -:1089600076183091771840917818509179182093A3 -:108970002E1530932F154093301550933115460125 -:108980005701860E971EA11CB11C80923C15909237 -:108990003D15A0923E15B0923F15E0916318F091FD -:1089A0006418F0934215E0934115B0E00F94615BB9 -:1089B000860E971EA81EB91E8092431590924415EC -:1089C000A0924515B092461585E0EE0FFF1F8A95DF -:1089D000E1F7E150FE4FEF2FFF27E6958E0E9F1E29 -:1089E000A11CB11C8092371590923815A0923915B0 -:1089F000B0923A152091651830916618211531050D -:108A000021F0A90160E070E008C040917218509117 -:108A100073186091741870917518D701C601881980 -:108A20009909AA09BB09840F951FA61FB71F04C087 -:108A3000B695A79597958795CA95D2F780933215E5 -:108A400090933315A0933415B0933515853F2FE0DF -:108A50009207A105B10528F48CE08093401510E041 -:108A60001AC0853F9F4FA105B10510F480E111C0E8 -:108A700080917E1890917F18A0918018B0918118F4 -:108A80008093431590934415A0934515B0934615D4 -:108A900080E280934015812FDF91CF911F91FF904D -:108AA000EF90DF90CF90BF90AF909F908F907F908E -:108AB0006F905F904F900895CF93DF93CDB7DEB75F -:108AC000A9970FB6F894DEBF0FBECDBF789484B5DA -:108AD000826084BD84B5816084BD85B5826085BDBA -:108AE00085B5816085BD80916E00816080936E0048 -:108AF000109281008091810082608093810080913A -:108B000081008160809381008091800081608093EA -:108B100080008091B10084608093B1008091B000AA -:108B200081608093B0008091910082608093910079 -:108B3000809191008160809391008091900081608C -:108B4000809390008091A10082608093A100809129 -:108B5000A10081608093A1008091A000816080933A -:108B6000A0008091210182608093210180912101E8 -:108B70008160809321018091200181608093200198 -:108B800080917A00846080937A0080917A0082607C -:108B900080937A0080917A00816080937A0080913E -:108BA0007A00806880937A001092C100259A2D98EF -:108BB0006C98749A1092FC090E943C631092C00059 -:108BC0008091C00082608093C0001092C50087E051 -:108BD0008093C4008091C10080618093C100809126 -:108BE000C10088608093C1008091C100806880933B -:108BF000C1000F946E3E8EE692E30F94D0400F9426 -:108C0000504114B710FF04C085E692E30F94D040A2 -:108C100011FF04C084E592E30F94D04012FF04C01A -:108C200082E492E30F94D04013FF04C081E392E307 -:108C30000F94D04015FF04C080E292E30F94D0401F -:108C400014BE89E192E30F94D04080E20E94A665B1 -:108C500080E192E30F94D0408AE00E94A6650F94D1 -:108C6000504180E092E30F94D04085EF91E30F9460 -:108C7000D0408AED91E30F94D0400F94504183ECA3 -:108C800091E30F94D0400F9450418091CF1D90916B -:108C9000D01D9E012F5F3F4F7901B901009719F058 -:108CA000681B790B02C0655D7D4184EB91E30F94F5 -:108CB0002D4160E874E08DE991E30F942D418AE045 -:108CC0000E94A66580910A018E7F80930A0180919F -:108CD0000B018095817080930901E0918114F091DE -:108CE000821482E08083E0917D14F0917E141082E2 -:108CF000E0917F14F091801480E1808310928914B8 -:108D0000E0918514F091861486E08083E0918314CD -:108D1000F0918414808180618083E0918314F091CC -:108D20008414808188608083E0918314F09184149E -:108D3000808180688083E0918314F0918414808125 -:108D40008F7D80838AE580936E1680931E1685EA58 -:108D500080936F1680931F168AE1EDEBF6E1DF0139 -:108D60001D928A95E9F780E290E0A0E0B0E0809360 -:108D7000060290930702A0930802B0930902809123 -:108D8000150A882319F083E090E002C082E090E0A9 -:108D900090937A168093791685E080936D1682E819 -:108DA000809370168FE190E1A0E0B0E0809371169F -:108DB00090937216A0937316B09374160F94483262 -:108DC00084E690E090937A168093791605E00093FC -:108DD0006D1612E81093701686E090E1A0E0B0E006 -:108DE0008093711690937216A0937316B0937416B5 -:108DF0000F9448328BE090E090937A168093791626 -:108E000000936D161093701680E092E1A0E0B0E040 -:108E10008093711690937216A0937316B093741684 -:108E20000F94483210927A161092791600936D16AC -:108E30001093701684E390E1A0E0B0E08093711687 -:108E400090937216A0937316B09374160F944832D1 -:108E500010927A161092791600936D161093701670 -:108E60008AE390E1A0E0B0E08093711690937216CF -:108E7000A0937316B09374160F9448326091E80C67 -:108E80007091E90C8091EA0C9091EB0C0F942C5DA1 -:108E900070937A166093791600936D16109370167E -:108EA00086E390E1A0E0B0E0809371169093721693 -:108EB000A0937316B09374160F9448326091020A0F -:108EC0007091030A8091040A9091050A0F942C5D19 -:108ED00070937A166093791600936D16109370163E -:108EE0008CE390E1A0E0B0E080937116909372164D -:108EF000A0937316B09374160F94483282E090E0FA -:108F000090937A168093791600936D1610937016CD -:108F10008EE190E1A0E0B0E080937116909372161C -:108F2000A0937316B09374160F94483281E0809327 -:108F3000050260E6862E60E1962EA12CB12C75E02C -:108F4000C72EE2E8DE2E10927A161092791605E00E -:108F5000C0926D1612E8D09270168092711690929F -:108F60007216A0927316B09274160F944832BFEF27 -:108F70008B1A9B0AAB0ABB0AE4E78E16E0E19E0659 -:108F8000A104B10401F784E1D7011D928A95E9F7A4 -:108F900081E08F9396ED9F938F939BED9F938F939B -:108FA00082EC8F938CE296E09F938F93FF92EF92E7 -:108FB0000F94A06040E650E160E070E089E396E045 -:108FC0000F94F7314AE650E160E070E082E496E009 -:108FD0000F94F73144E750E160E070E0C7010F946F -:108FE000F7314EE750E160E070E083ED94E00F94DC -:108FF000F73110927A161092791600936D1610932D -:1090000070168EE090E1A0E0B0E08093711690932E -:109010007216A0937316B09374160F944832109280 -:109020007A161092791600936D16109370168FE0D1 -:1090300090E1A0E0B0E08093711690937216A09337 -:109040007316B09374160F944832EDB7FEB73A9684 -:109050000FB6F894FEBF0FBEEDBF5AE0852E50E26A -:10906000952EA12CB12C15E002E8412C512C320197 -:1090700010927A161092791610936D16009370164E -:10908000D501C401840D951DA61DB71D80937116D1 -:1090900090937216A0937316B09374160F9448327F -:1090A000FFEF4F1A5F0A6F0A7F0A2AE04216510447 -:1090B00061047104E9F63AE0830E911CA11CB11C15 -:1090C00042ED841640E29406A104B10471F6812CAD -:1090D00040E2942EA12CB12C05E012E810927A16F1 -:1090E0001092791600936D16109370168092711677 -:1090F00090927216A0927316B09274160F94483222 -:1091000010927A161092791600936D1610937016BD -:10911000D501C4018C529F4FAF4FBF4F8093711642 -:1091200090937216A0937316B09374160F944832EE -:109130005FEF851A950AA50AB50A8AE0881680E2CB -:109140009806A104B10451F63EED832E30E2932E31 -:10915000A12CB12C05E012E810927A161092791623 -:1091600000936D161093701680927116909272167D -:10917000A0927316B09274160F9448329FEF891A1A -:10918000990AA90AB90AA6EE8A16A0E29A06A104CB -:10919000B10411F78824839492E1992EA12CB12C6B -:1091A0002AE0C22ED12C05E012E8D0927A16C092A5 -:1091B000791600936D161093701680927116909226 -:1091C0007216A0927316B09274160F944832D09211 -:1091D0007A16C092791600936D1610937016D50109 -:1091E000C4018096A11DB11D8093711690937216D3 -:1091F000A0937316B09374160F944832BFEF8B1A76 -:109200009B0AAB0ABB0AE5E18E16E2E19E06A104C9 -:10921000B10459F686E596E00E94C4660F94A6084C -:109220000E944D631DE2C12E1AE0D12E09EA1CE016 -:1092300085EBA82E8CE0B82ED6012D913D914D9155 -:109240005D916D01F80160817181828193810F943C -:10925000C05BD8016D937D938D939D938D01AA166C -:10926000BB0651F70E94E579249A2C988091010160 -:1092700080628093010180910201807280930001DD -:1092800080910101806480930101809101018061DE -:109290008093010187ED80937A0010927E001092F6 -:1092A0007D0080917D00806280937D0080917D00B3 -:1092B000806480937D0080E888BD80916E0084602A -:1092C00080936E006AEF70E080E090E00F94343E8F -:1092D00085E090E0909311028093100200910C02BF -:1092E00010910D0260E0C8010E946FFE20E030E0A6 -:1092F00040EA50E40F94CA5487FF07C00051110997 -:1093000010930D0200930C02E9CF8BE391E0909350 -:1093100013028093120200910E0210910F0260E07E -:10932000C8010E946FFE20E030E84DE953E40F943D -:10933000205E18163CF4005F1F4F10930F0200933D -:109340000E02E9CF00910A0210910B02C8010E949F -:10935000D6FD20E030E040EA50E40F94CA5487FF85 -:1093600007C00051110910930B0200930A02EACFC3 -:109370000091160A1091170AC8010E94D6FD20E03C -:1093800030E046E153E40F94205E18163CF4005F91 -:109390001F4F1093170A0093160AEACF0F94DE04AA -:1093A00019A682E390E09AA389A31A8219821E016A -:1093B000B1E22B0E311C01E0970141E050E0BE010B -:1093C000675D7F4FC1010E946C6389A5863119F0EA -:1093D0000E9420910FC083E390E09AA389A31A8290 -:1093E000198201E0970140E150E069E17AE0C101B2 -:1093F0000E946C6381E08093180A6D98759A809141 -:1094000004018D7F80930401809105018095827015 -:109410008093030152985A9A10922A0A1092290AAC -:109420000E94AB7A819A879A80910A018260809328 -:109430000A010E9A3B9A579A5F9A829A8A9A809169 -:1094400007018160809307018091080180958170F8 -:10945000809306010A9A129A3F9A479A809A8898AE -:109460005F9A80916F148E7F80936F14869A8E9886 -:109470008A9A80916F148D7F80936F1480910A0176 -:10948000886080930A0180910B01887080930901A4 -:1094900080910801809581708093060180916F14FE -:1094A0008B7F80936F140C9A1498129A809180008D -:1094B0008C7F8093800080918100877E886080937C -:1094C0008100809180008F73809380008091810063 -:1094D000887F82608093810080E090E4909389008F -:1094E00080938800109285001092840080916F0014 -:1094F000826080936F00789486E080932B0A0E94AC -:10950000218CE091EF15E43208F042C0F0E0CF0189 -:10951000880F991FE80FF91FEE57FA4E8081807867 -:109520008B60808361E08BE00F94103D1092F0150A -:109530001092F1158091EF156CE00F94835B90E031 -:10954000ECE08E9FB001112440E050E09B01240F1D -:10955000351FF901EE0FFF1F2E0F3F1FF901EE57C8 -:10956000FA4E208127FD07C04F5F5F4F4C305105F9 -:1095700069F70E94FD63E091EF15F0E0CF01880FDD -:10958000991FE80FF91FEE57FA4E8081806880839B -:109590008FEE95E10E945E636AE570E08FEE95E1E3 -:1095A0000E942E6410922C0A0E94AB7A81E00F94E4 -:1095B000910E98E288E10FB6F894A8958093600028 -:1095C0000FBE909360001092DC160E94C3709E0143 -:1095D0002F5F3F4F590180E00E94EA668091DC16C0 -:1095E00087FD41C08091F51782FD3DC083FD03C01A -:1095F0000E94657102C00E944D638091F51783FF40 -:109600002FC08091DC16082E000C990BC0969F93FA -:109610008F9345E752E35F934F933F922F920F94BE -:10962000625487E695E10E9433960F900F900F9059 -:109630000F900F900F9080916A15823088F0809182 -:109640006F1590917015A0917115B09172158F7171 -:109650009927AA27BB27892B8A2B8B2B09F467C153 -:10966000FFEFF093DC168091F51785FF1FC00E9475 -:10967000F4701092BD0B1092390A1092BC0B0E942C -:1096800051930E94BA918EEF0E9477790E94E579FA -:109690000E9465900E9467FD0E9459631092140217 -:1096A00027EC32E330933B0A20933A0A8DB69EB6FC -:1096B00060913A0A70913B0A6115710581F0E12CC5 -:1096C000F12CFB01EE0DFF1D749087010F5F1F4F02 -:1096D000772039F03AE0731621F07801F2CF80E07C -:1096E0002CC0EDB7FEB7E01BF10B0FB6F894FEBF30 -:1096F0000FBEEDBF2DB73EB72F5F3F4F6901A701EA -:10970000C9010F940454F601EE0DFF1D108277205D -:1097100009F445C180913A0A90913B0A080F191F3C -:1097200010933B0A00933A0AEF2831F0C6010F94D8 -:10973000451F80E00E948F4C81E00FB6F8949EBEDA -:109740000FBE8DBE8111C3C08091BD0B882309F46B -:10975000BEC08091F51780FF9EC00091BC0B40E613 -:10976000409F80011124045C154F68EA72E3C80130 -:109770000F944854009739F0DC0113968C91805374 -:109780008A3008F08BC0F80101900020E9F731978A -:109790007F01E01AF10A10920E156EE470E0C80124 -:1097A0000F9466606C01892B09F406C160E270E0D9 -:1097B000C6010F9466608C010F5F1F4F6AE270E074 -:1097C000C6010F946660FC013197BDE0B1832AE0C9 -:1097D00022831382F80101900020E9F731977F017D -:1097E000E01AF10A80911115813009F0E1C08091F1 -:1097F0000F1581FFDDC082FF16C040911F155091EB -:109800002015609121157091221580911615909167 -:109810001715A0911815B091191584179507A6076B -:10982000B70709F0BFC04091161550911715609108 -:10983000181570911915E114F10409F0C4C0809154 -:109840001F1590912015A0912115B0912215841714 -:109850009507A607B70768F440931F155093201586 -:10986000609321157093221580910F158068809365 -:109870000F1580910F1583FDB6C180910E158823B9 -:1098800031F00F944C418EE792E30F94D0408091D9 -:10989000F51781FF09C00F94892608C00E9424BBD8 -:1098A00085E992E30F94D0400E94468A8091BD0BD7 -:1098B000882369F081508093BD0B8091BC0B8F5F32 -:1098C000843018F48093BC0B02C01092BC0B8091C2 -:1098D000BE0B882339F19091BE0B8091BF0B981776 -:1098E00009F10F94504188EB92E30F94D04080919E -:1098F000BE0B80FD7FC18091BE0B84FD7BC180913A -:10990000BE0B81FD81C18091BE0B85FD7DC1809123 -:10991000BE0B82FD83C18091BE0B86FD7FC18AE0B4 -:109920000E94A6658091BE0B8093BF0B54CE40E091 -:1099300050E0B50187E695E10E94F59818160CF005 -:109940008FCEF50101900020E9F73197FE2EFA182D -:10995000FA949FEFF91669F085010F0D111DF7FCC0 -:109960001A95D8018C9190E00F942A60F8018083B9 -:10997000EFCF8A858E3709F45ECE45E050E0B10125 -:10998000C5010F947860892B09F055CEC1010E9462 -:109990000D718091DC168F5F8093DC1664CE00E041 -:1099A00010E0BECE8EE095E10E94F49381113BCF92 -:1099B000A1E0A0930E1561CF31E0E31AF108F801A0 -:1099C000EE0DFF1D02CF8091271590912815DC0127 -:1099D00014967C902FEF270D2A013B0139E07694F5 -:1099E0006794579447943A95D1F7722E74206A0180 -:1099F000B1E0DB2271104CC0C114D10409F048C0A1 -:109A00004091121550911315609114157091151510 -:109A1000411551056105710569F4809123159091F7 -:109A20002415A0912515B09126150097A105B10523 -:109A300039F51FC095010E947376882309F4B8CFC9 -:109A400089819A81AB81BC81E0912715F09128151D -:109A50002789203139F4883FEFEF9E07A105B10532 -:109A600040F40EC0883FFFEF9F07AF07FFE0BF073E -:109A700038F08EE095E10E942E95811109C098CFB3 -:109A80008093121590931315A0931415B093151588 -:109A900080E092E08C199D0947018E159F0508F41E -:109AA0004C01E0912715F0912815809112159091A5 -:109AB0001315A0911415B09115150297A109B109BC -:109AC000058404C0880F991FAA1FBB1F0A94D2F7F0 -:109AD0004685578560897189840F951FA61FB71F1A -:109AE0009C01AD01270D311D411D511D29013A0178 -:109AF000811432E0930631F58091521A9091531AF5 -:109B0000A091541AB091551A481659066A067B0658 -:109B100069F410925A1A8FEF9FEFDC018093521A6A -:109B20009093531AA093541AB093551A9801B30105 -:109B3000A20180915B1A90915C1A0E948A96811111 -:109B400039C036CFC114D10431F54091161550916A -:109B50001715609118157091191580911F15909126 -:109B60002015A0912115B0912215481759076A07B1 -:109B70007B0788F00E94ED96882309F419CF91E0C5 -:109B800090935A1A4092521A5092531A6092541A51 -:109B90007092551A08C041E0C301B2010E94A87535 -:109BA000882309F405CFA401B801C6018E5A974E47 -:109BB0000F943F608091161590911715A09118157C -:109BC000B0911915880D991DA11DB11D8093161511 -:109BD00090931715A0931815B0931915080D191D1A -:109BE000E818F90820CE8EE095E10E942D978111AA -:109BF00044CEDECE80E00E942493AB01BC0184EB16 -:109C000092E30F941C417BCE81E00E942493AB0130 -:109C1000BC0180EB92E30F941C4179CE82E00E945C -:109C20002493AB01BC018CEA92E30F941C4177CEE4 -:109C3000CF93DF938EE095E10E946997CBEED7E159 -:109C40006B97CE010E94699786E1CD3DD807C1F799 -:109C50008CE495E10E94699787E695E1DF91CF91C9 -:109C60000C946997CF92DF92EF92FF926B017C0187 -:109C700080E090E0A0E8BFE380933F029093400231 -:109C8000A0934102B09342028091701481FF0E9420 -:109C9000FFEBC0929E0CD0929F0CE092A00CF09231 -:109CA000A10C80917014826080937014FF90EF90EB -:109CB000DF90CF9008958091701481FF09C060916A -:109CC0009E0C70919F0C8091A00C9091A10C089516 -:109CD0006091B50C7091B60C8091B70C9091B80C56 -:109CE000089586E40E942E9E8093B313882351F03A -:109CF0000E94F79D60933A0270933B0280933C026E -:109D000090933D0283E50E942E9E882351F00E948D -:109D1000F79D6093360270933702809338029093D8 -:109D2000390282E40E942E9E882351F00E94F79D02 -:109D30006093320270933302809334029093350221 -:109D400008950F94A60810920614109214020E940F -:109D5000388A882321F08091F51782FF07C061E0DF -:109D600089ED94E50F9479090C94B58F80EE94E514 -:109D700090933B0A80933A0AF2CF10927414109297 -:109D8000731488EE93E0A0E0B0E080937514909394 -:109D90007614A0937714B09378148FE793E09093A0 -:109DA00072148093711485ED90E090937E148093EB -:109DB0007D1484ED90E09093801480937F1480ED67 -:109DC00090E0909382148093811481ED90E09093C1 -:109DD00084148093831482ED90E090938614809392 -:109DE000851486ED90E090938814809387141092E8 -:109DF0008A1410928B1410928C1410928D1410925D -:109E0000671510926A1510924C1510924F15EDEDD2 -:109E1000F6E1108213827B9627E1EB3EF207C9F749 -:109E200089E18093481510924B15109240151092BD -:109E30000E15109211158091EE15843220F08FEFDF -:109E40008093EF1513C091E0980F9093EE158093D7 -:109E5000EF1590E0FC01EE0FFF1F8E0F9F1FFC011E -:109E6000EE57FA4E88EB9BE09283818380E1EBE032 -:109E7000F6E1DF01282F1D922A95E9F7EBEFF5E1D6 -:109E8000DF011D928A95E9F71092F7151092F815E7 -:109E90001092F9151092FA151092F6151092F51508 -:109EA0001092F4151092F3151092F2158FE79FE0BF -:109EB00090931C1680931B168AE580936E168093F0 -:109EC0001E1685EA80936F1680931F168AE1EDEBCC -:109ED000F6E1DF011D928A95E9F781E08093D716BC -:109EE0008093D8168093D9168093DA168093DB1668 -:109EF0000F94213F8091F517847F8B7F8093F51716 -:109F00001092F1171092F2171092F3171092F417A3 -:109F10001092ED171092EE171092EF171092F017A3 -:109F20001092EC171092EB178EE091E0EDEDF6E158 -:109F3000DF019C011D9221503040E1F78FEF8093AB -:109F4000DC160895EF920F931F93CF93DF93E801F0 -:109F500047FD02C034E001C034E1042E000C550B73 -:109F600057FF03C0519541955109E32E022F242F2D -:109F7000AE010F94A757CE01DF91CF911F910F91A2 -:109F8000EF9008958F929F92AF92BF92CF92DF92FF -:109F9000EF92FF92CF93DF93EC01688179818A8100 -:109FA0009B81611571058105910521F464E279EDCC -:109FB0008BE597E02DE133EF41E050E00F94425BF9 -:109FC00049015A019B01AC01A7EAB1E40F94615B1E -:109FD0006B017C01ACEEB4EFA50194010F946F5BB3 -:109FE000DC01CB018C0D9D1DAE1DBF1DB7FF03C055 -:109FF0000197A109B04888839983AA83BB83BC01D8 -:10A00000CD019F77DF91CF91FF90EF90DF90CF90C0 -:10A01000BF90AF909F908F9008958F929F92AF9234 -:10A02000BF92CF92DF92EF92FF92609167027091A0 -:10A0300068028091690290916A026115710581053B -:10A04000910521F464E279ED8BE597E02DE133EFA2 -:10A0500041E050E00F94425B49015A019B01AC0181 -:10A06000A7EAB1E40F94615B6B017C01ACEEB4EF45 -:10A07000A50194010F946F5BDC01CB018C0D9D1D3C -:10A08000AE1DBF1DB7FF03C00197A109B048809363 -:10A09000670290936802A0936902B0936A02BC01C0 -:10A0A000CD019F77FF90EF90DF90CF90BF90AF9062 -:10A0B0009F908F90089560936702709368028093D9 -:10A0C000690290936A0208958F929F92AF92BF9215 -:10A0D000CF92DF92EF92FF920F931F93CF93DF9374 -:10A0E000EC016B016115710519F0FB01918380830F -:10A0F0007E01FFEFEF1AFF0A0881802F90E00F9496 -:10A10000FB53892B11F0E701F3CF0D3239F47E01B7 -:10A1100082E0E80EF11C098111E008C00B3229F43D -:10A120007E0192E0E90EF11C098110E0E701219720 -:10A1300043E050E066EE74E0CE010F942154892B89 -:10A14000C1F4239645E050E061EE74E0CE010F9437 -:10A150002154892B09F42596C114D10419F0F60174 -:10A16000D183C0831111F6C060E070E080E89FE702 -:10A17000FAC043E050E06EED74E0CE010F9421543C -:10A18000892B59F4C114D10409F4E9C0F2E0EF0EAF -:10A19000F11CF601F182E082E2C020E030E0A9018A -:10A1A000C0E0D0E0F70160EDA62EA00E89E08A1590 -:10A1B00030F1912F9260B92E812F887012FF04C068 -:10A1C000811124C0219622C081112197A5E0B0E021 -:10A1D0000F94615BDC01CB01880F991FAA1FBB1F85 -:10A1E0009C01AD012A0D311D411D511D283989E900 -:10A1F0003807480789E1580748F0166006C09EEF07 -:10A20000A9120AC013FD40C01860B12E8FEFE81AE2 -:10A21000F80A00811B2DC6CF802F8F7D8534A1F5D4 -:10A2200080818D3211F4106106C08B3221F031969D -:10A2300061E070E004C08181329662E070E080539A -:10A240008A3018F0E61BF70B1FC060E070E0603842 -:10A250009CE079075CF4DB01AA0FBB1FAA0FBB1FB0 -:10A260006A0F7B1F660F771F680F711D3196DF0124 -:10A2700011978C9180538A3050F314FF03C071956D -:10A2800061957109C60FD71F11FF08C0C114D10411 -:10A2900029F0CF010197F60191838083CA01B901AA -:10A2A0000F94CF54212F2370233019F04B015C0100 -:10A2B00006C04B015C01B7FAB094B7F8B09420E047 -:10A2C00030E0A901C501B4010F94CA54882309F4F0 -:10A2D0003EC0D7FF06C0D195C195D1090DEF14E05E -:10A2E00002C005E115E06801F8E1CF1AD10890E25B -:10A2F000E92EF12CCE15DF0574F0F801259135918A -:10A3000045915491C501B4010F9430554B015C0146 -:10A31000CE19DF09EFCF04501109F594E7940C151D -:10A320001D0541F78A2D880F8B2D881F8F3F49F01F -:10A3300020E030E0A901C501B4010F94CA54811195 -:10A3400006C082E290E09093D41D8093D31DC50196 -:10A35000B40109C060E070E080E89FEF04C060E0F5 -:10A3600070E080EC9FE7DF91CF911F910F91FF90FC -:10A37000EF90DF90CF90BF90AF909F908F90089517 -:10A380003F924F925F926F927F928F929F92AF9285 -:10A39000BF92CF92DF92EF92FF920F931F93CF93D2 -:10A3A000DF935C016B017A016115710519F0FB0106 -:10A3B00091838083E114F10429F0C7010297839708 -:10A3C00008F0E5C0E5012196F5011081812F90E0AC -:10A3D0000F94FB53892B11F05E01F4CF1D3229F449 -:10A3E0002196F501118101E007C01B3221F4E5013E -:10A3F0002296F501118100E0E114F10409F1F0E188 -:10A40000EF16F10429F43FC010E3E114F10421F147 -:10A4100028E0E216F10401F154F4E2E0EE16F10452 -:10A4200021F5812C912CA12CB0E4BB2E3EC0FAE08A -:10A43000EF16F10439F020E1E216F104B1F430C076 -:10A44000103319F1FAE0EF2EF12CACEC8A2E982C97 -:10A45000A82CACE0BA2E29C078E0E72EF12C812C94 -:10A46000912CA12CE0E1BE2E20C060E070E080E0E5 -:10A4700090E897010F2C000C440B550B0F94205BB8 -:10A4800049015A0112C0103359F488818F7D8835F3 -:10A4900009F0BACF19812296026080E1E82EF12CF2 -:10A4A000812C912CA12C68E0B62E40E060E070E099 -:10A4B000CB0127010F2C000C66087708FE0150ED38 -:10A4C000352E310E29E0231570F42FEB210F2A31A0 -:10A4D00018F439EC332E06C02FE9210F2A3118F574 -:10A4E00029EA322E310E232D30E02E153F05DCF403 -:10A4F00047FD16C086169706A806B90670F0A30198 -:10A5000092010F94105B630D711D811D911D6130CF -:10A510007105810520E8920710F04FEF01C041E07E -:10A5200021961081CBCF202F2170C114D10471F05E -:10A53000442329F02197F601D183C08307C001FF8E -:10A5400019C02297F601D183C08314C047FF12C0FF -:10A55000222329F060E070E080E090E804C06FEF13 -:10A560007FEF8FEF9FE722E230E03093D41D2093FE -:10A57000D31D09C0222381F0909580957095619537 -:10A580007F4F8F4F9F4F462F372F282F12C040E00D -:10A5900030E020E090E00DC097FFF5CF82E290E040 -:10A5A0009093D41D8093D31D6FEF7FEF8FEF9FE7C4 -:10A5B000EACF642F732F822FDF91CF911F910F91DC -:10A5C000FF90EF90DF90CF90BF90AF909F908F90D3 -:10A5D0007F906F905F904F903F9008953F924F9281 -:10A5E0005F926F927F928F929F92AF92BF92CF9223 -:10A5F000DF92EF92FF920F931F93CF93DF935C0153 -:10A600006B017A016115710519F0FB01918380835B -:10A61000E114F10429F0C7010297839708F0C9C03B -:10A62000E5012196F5011081812F90E00F94FB53F5 -:10A63000892B11F05E01F4CF1D3229F42196F5012A -:10A64000118101E007C01B3221F4E5012296F501DA -:10A65000118100E0E114F104B1F0F0E1EF16F10432 -:10A6600029F4B0C010E3E114F10401F12AE0E2168C -:10A67000F104B1F180E1E816F10471F0E8E0EE16C2 -:10A68000F104F1F413C0103341F588818F7D8835D2 -:10A6900049F7198122960260F0E1EF2EF12C88240F -:10A6A0008A94982CA82CAFE0BA2E20C078E0E72E30 -:10A6B000F12C88248A94982CA82CEFE1BE2E16C089 -:10A6C0006FEF7FEFCB0197010F2C000C440B550B64 -:10A6D0000F94205B49015A0109C08AE0E82EF12C51 -:10A6E00069E9862E982CA82C69E1B62E40E060E03E -:10A6F00070E0CB0127010F2C000C66087708FE01E3 -:10A7000050ED352E310E29E0231570F42FEB210F7B -:10A710002A3118F439EC332E06C02FE9210F2A31E3 -:10A7200030F529EA322E310E232D30E02E153F056B -:10A73000F4F44F3FC9F086169706A806B90688F0CC -:10A74000A30192010F94105B232D30E040E050E014 -:10A75000620F731F841F951F621773078407950785 -:10A7600010F44FEF01C041E021961081C8CFC11411 -:10A77000D10451F0442311F0219703C001FF04C01C -:10A780002297F601D183C08300FF07C09095809582 -:10A79000709561957F4F8F4F9F4F4F3F79F482E2C5 -:10A7A00090E09093D41D8093D31D3FEF2FEF9FEF48 -:10A7B0000DC040E030E020E090E008C0462F372F89 -:10A7C000282F04C0103309F067CF5FCF642F732F99 -:10A7D000822FDF91CF911F910F91FF90EF90DF902B -:10A7E000CF90BF90AF909F908F907F906F905F9031 -:10A7F0004F903F90089591110D94F659803219F0C1 -:10A8000089508550C8F70895FB01DC0102C005900E -:10A810000D9241505040D8F70895FC01059006165E -:10A8200021F00020D9F7C00108953197CF01089594 -:10A83000FC0105900020E9F7809590958E0F9F1FF1 -:10A840000895FB01DC014150504088F08D91813426 -:10A850001CF08B350CF4805E659161341CF06B3517 -:10A860000CF4605E861B611171F3990B0895881BCF -:10A87000FCCFFB01DC014150504048F005900D92A7 -:10A880000020C9F701C01D9241505040E0F70895E3 -:10A89000FB0155915523A9F0BF01DC014D914517EE -:10A8A0004111E1F759F4CD010590002049F04D9197 -:10A8B00040154111C9F3FB014111EFCF81E090E058 -:10A8C000019708950F931F93CF93DF93CDB7DEB712 -:10A8D0002E970FB6F894DEBF0FBECDBF0E891F892D -:10A8E0008EE08C831A8309838FEF9FE79E838D838D -:10A8F000AE01465E5F4F688D798DCE0101960F9453 -:10A900009D55EF81F885E00FF11F10822E960FB64E -:10A91000F894DEBF0FBECDBFDF91CF911F910F9195 -:10A9200008950F931F93CF93DF93CDB7DEB72E9784 -:10A930000FB6F894DEBF0FBECDBF8C01FA018EE0DA -:10A940008C831A83098377FF02C060E070E8CB0133 -:10A9500001979E838D83A901BF01CE0101960F94BB -:10A960009D554D815E8157FD0AC02F813885421764 -:10A9700053070CF49A01F801E20FF31F10822E9690 -:10A980000FB6F894DEBF0FBECDBFDF91CF911F9100 -:10A990000F9108950F940C5508F481E00895E89400 -:10A9A00009C097FB3EF490958095709561957F4F17 -:10A9B0008F4F9F4F9923A9F0F92F96E9BB279395C5 -:10A9C000F695879577956795B795F111F8CFFAF4D5 -:10A9D000BB0F11F460FF1BC06F5F7F4F8F4F9F4F06 -:10A9E00016C0882311F096E911C0772321F09EE864 -:10A9F000872F762F05C0662371F096E8862F70E0CA -:10AA000060E02AF09A95660F771F881FDAF7880FA3 -:10AA10009695879597F90895990F0008550FAA0BF9 -:10AA2000E0E8FEEF16161706E807F907C0F0121661 -:10AA30001306E407F50798F0621B730B840B950B64 -:10AA400039F40A2661F0232B242B252B21F40895B9 -:10AA50000A2609F4A140A6958FEF811D811D089556 -:10AA60000F9443550D94C05A0F94B25A38F00F9476 -:10AA7000B95A20F0952311F00D94A95A0D94AF5AAC -:10AA800011240D94F45A0F94D15A70F3959FC1F389 -:10AA9000950F50E0551F629FF001729FBB27F00D8C -:10AAA000B11D639FAA27F00DB11DAA1F649F6627E1 -:10AAB000B00DA11D661F829F2227B00DA11D621F30 -:10AAC000739FB00DA11D621F839FA00D611D221FEA -:10AAD000749F3327A00D611D231F849F600D211DCE -:10AAE000822F762F6A2F11249F5750409AF0F1F051 -:10AAF00088234AF0EE0FFF1FBB1F661F771F881FBA -:10AB000091505040A9F79E3F510580F00D94A95AED -:10AB10000D94F45A5F3FE4F3983ED4F3869577950D -:10AB20006795B795F795E7959F5FC1F7FE2B880F5F -:10AB3000911D9695879597F908952F923F924F9280 -:10AB40005F926F927F928F929F92AF92BF92CF92BD -:10AB5000DF92EF92FF920F931F93CF93DF93CDB7C6 -:10AB6000DEB72B970FB6F894DEBF0FBECDBF6C01DA -:10AB70007B018A01FC0117821682838181FFCCC18F -:10AB8000CE0101963C01F6019381F70193FD859179 -:10AB900093FF81917F01882309F4BAC1853239F48A -:10ABA00093FD859193FF81917F01853229F4B60150 -:10ABB00090E00F940F5AE7CF912C212C312CFFE11C -:10ABC000F315D8F08B3279F038F4803279F0833293 -:10ABD000A1F4232D20611DC08D3261F0803369F412 -:10ABE000232D216016C0832D8260382EE32DE46072 -:10ABF0003E2E2AC0F32DF8601DC037FC2DC020ED7D -:10AC0000280F2A3040F08E32B9F436FC81C1232D52 -:10AC10002064322E19C036FE06C08AE0989E200DB0 -:10AC20001124922E11C0EAE02E9E200D1124222E16 -:10AC3000F32DF0623F2E08C08C3621F4832D8068FE -:10AC4000382E02C0883641F4F70193FD859193FFB9 -:10AC500081917F018111B3CF982F9F7D95549330BF -:10AC600028F40C5F1F4F9FE399830DC0833631F0AA -:10AC7000833771F0833509F059C021C0F801808114 -:10AC800089830E5F1F4F88248394912C530113C036 -:10AC90002801F2E04F0E511CF801A080B18036FE71 -:10ACA00003C0692D70E002C06FEF7FEFC5010F9404 -:10ACB000045A4C018201F32DFF773F2E16C0280164 -:10ACC00022E0420E511CF801A080B18036FE03C084 -:10ACD000692D70E002C06FEF7FEFC5010F94F95945 -:10ACE0004C01F32DF0683F2E820133FC1BC0822DF6 -:10ACF00090E088169906B0F4B60180E290E00F94D7 -:10AD00000F5A2A94F4CFF50137FC859137FE8191D3 -:10AD10005F01B60190E00F940F5A21102A9421E0B0 -:10AD2000821A91088114910471F7E8C0843611F0F9 -:10AD3000893641F5F80137FE07C060817181828153 -:10AD400093810C5F1F4F08C060817181072E000C3A -:10AD5000880B990B0E5F1F4FF32DFF763F2E97FF49 -:10AD600009C090958095709561957F4F8F4F9F4F4B -:10AD7000F0683F2E2AE030E0A3010F944B5A882E52 -:10AD8000861845C0853731F4232D2F7EB22E2AE058 -:10AD900030E025C0932D997FB92E8F36C1F018F47D -:10ADA000883579F0B5C0803719F0883721F0B0C008 -:10ADB000E92FE061BE2EB4FE0DC0FB2DF460BF2E66 -:10ADC00009C034FE0AC0292F2660B22E06C028E032 -:10ADD00030E005C020E130E002C020E132E0F801BF -:10ADE000B7FE07C060817181828193810C5F1F4F24 -:10ADF00006C06081718180E090E00E5F1F4FA3016B -:10AE00000F944B5A882E8618FB2DFF773F2E36FE67 -:10AE10000DC0232D2E7FA22E891458F434FE0BC0B2 -:10AE200032FC09C0832D8E7EA82E05C0B82CA32C21 -:10AE300003C0B82C01C0B92CA4FE0FC0FE01E80D60 -:10AE4000F11D8081803321F49A2D997EA92E09C0AD -:10AE5000A2FE06C0B394B39404C08A2D867809F08C -:10AE6000B394A3FC11C0A0FE06C0B21488F4280C51 -:10AE7000922C9B180EC0B21460F4B60180E290E0F0 -:10AE80000F940F5AB394F7CFB21418F42B1802C0D2 -:10AE9000982C212CA4FE10C0B60180E390E00F9402 -:10AEA0000F5AA2FE17C0A1FC03C088E790E002C0C1 -:10AEB00088E590E0B6010CC08A2D867859F0A1FE95 -:10AEC00002C08BE201C080E2A7FC8DE2B60190E0F7 -:10AED0000F940F5A891438F4B60180E390E00F9470 -:10AEE0000F5A9A94F7CF8A94F301E80DF11D8081EF -:10AEF000B60190E00F940F5A8110F5CF222009F48B -:10AF000042CEB60180E290E00F940F5A2A94F6CF19 -:10AF1000F6018681978102C08FEF9FEF2B960FB6C7 -:10AF2000F894DEBF0FBECDBFDF91CF911F910F917F -:10AF3000FF90EF90DF90CF90BF90AF909F908F9059 -:10AF40007F906F905F904F903F902F9008958F92D9 -:10AF50009F92AF92BF92CF92DF92EF92FF920F93A8 -:10AF60001F93CF93DF93CDB7DEB729970FB6F89431 -:10AF7000DEBF0FBECDBF6A01122FB02E2BE320170C -:10AF800020F0FF24F394F00E02C02CE3F22E0F2DDC -:10AF900027E0AE014F5F5F4F0F941E59BC014981FE -:10AFA000842F8970813031F0E1FC06C0E0FE06C0DC -:10AFB00090E205C09DE203C09BE201C090E05E2DDF -:10AFC000507143FF3CC0911102C083E001C084E096 -:10AFD000811718F4212F281B01C020E051110BC04C -:10AFE000F601822F30E2882319F031938150FBCF94 -:10AFF000C20ED11C20E0992329F0D6019C93F601C2 -:10B0000031966F01C6010396E2FE0AC03EE4D60106 -:10B010003C9341E411964C93119712963C9306C0D1 -:10B020003EE6F601308341E641833283FC01322F54 -:10B0300040E2332309F442C041933150FACF42FF3A -:10B0400044C0911102C083E001C084E0811718F46C -:10B05000212F281B01C020E051110BC0F601822FC7 -:10B0600030E2882319F031938150FBCFC20ED11CFE -:10B0700020E0992329F0D6019C93F60131966F01C7 -:10B08000C6010396E2FE0BC039E4D6013C933EE4D0 -:10B0900011963C93119736E412963C9307C039E61B -:10B0A000F60130833EE6318336E63283FC01322FEF -:10B0B00040E2332319F041933150FBCFFC01E20F02 -:10B0C000F11D10828EEF9FEFA6C021E030E09111BC -:10B0D00002C020E030E0161617061CF4FB01319682 -:10B0E00002C0E1E0F0E02E0F3F1FBB2021F0EB2D6E -:10B0F000F0E0319602C0E0E0F0E02E0F3F1FE12FBC -:10B10000F0E02E173F071CF4121B212F01C020E096 -:10B110008E2D887159F4F601822F30E2882319F0C0 -:10B1200031938150FBCFC20ED11C20E0992329F02E -:10B13000D6019C93F60131966F0151110BC0F601B7 -:10B14000822F90E3882319F091938150FBCFC20E98 -:10B15000D11C20E00F2D060F9A81342F307144FF4F -:10B1600003C0913309F40150101624F4093018F08B -:10B1700008E001C001E0AB0177FF02C040E050E011 -:10B18000FB01E41BF50BA1E0B0E0AC0FBD1FEA0F23 -:10B19000FB1F8EE2A82E4B01801A91080B2D10E0A8 -:10B1A0001195019511094F3FBFEF5B0721F4D601BF -:10B1B000AC9211966D01641775072CF084169506F4 -:10B1C00014F4818101C080E3415051093196D601C8 -:10B1D00011967D014017510724F0D6018C93670129 -:10B1E000E2CF6417750739F4963320F4953319F4D8 -:10B1F000311101C081E3F6018083F701822F90E2D3 -:10B20000882319F091938150FBCFF701E20FF11DD4 -:10B21000108280E090E029960FB6F894DEBF0FBE52 -:10B22000CDBFDF91CF911F910F91FF90EF90DF90F5 -:10B23000CF90BF90AF909F908F900895283008F0E6 -:10B2400027E03327DA01990F311D87FD91600096C1 -:10B250006105710539F432602E5F3D9330E32A9524 -:10B26000E1F708959F3F30F080387105610509F0DE -:10B270003C5F3C5F3D93913008F08068911DDF9307 -:10B28000CF931F930F93FF92EF92192F987F96956C -:10B29000E92F96959695E90FFF27ED58FA4F9927D4 -:10B2A0003327EE24FF24A701E701059008940794B3 -:10B2B00028F4360FE71EF81E491F511D660F771F31 -:10B2C000881F991F0694A1F70590079428F4E70EAC -:10B2D000F81E491F561FC11D770F881F991F661F33 -:10B2E0000694A1F70590079428F4F80E491F561FFD -:10B2F000C71FD11D880F991F661F771F0694A1F7DE -:10B300000590079420F4490F561FC71FD81F990FA7 -:10B31000661F771F881F0694A9F7849110951770F0 -:10B3200041F0D695C79557954795F794E7941A95A8 -:10B33000C1F7E9E1F5E068941590159135916591B3 -:10B34000959105907FE27395E118F10A430B560B36 -:10B35000C90BD009C0F7E10CF11E431F561FC91FCE -:10B36000D01D7EF4703311F48A95E6CFE894015035 -:10B3700030F0080F0AF40027021708F4202F239555 -:10B38000022F7A3328F079E37D932A95E9F710C0EC -:10B390007D932A9589F60694979567953795179525 -:10B3A0001794E118F10A430B560BC90BD00998F01A -:10B3B00023957E9173957A3308F070E37C93201384 -:10B3C000B8F77E9170617D9330F0839571E37D9342 -:10B3D00070E32A95E1F71124EF90FF900F911F91F0 -:10B3E000CF91DF91992787FD909508959927882718 -:10B3F0000895FC010590615070400110D8F78095C8 -:10B4000090958E0F9F1F0895FC0161507040019030 -:10B410000110D8F7809590958E0F9F1F08950F9378 -:10B420001F93CF93DF93FB01238121FD03C08FEF97 -:10B430009FEF2CC022FF16C04681578124813581A1 -:10B440004217530744F4A081B1819D012F5F3F4F04 -:10B45000318320838C93268137812F5F3F4F378341 -:10B46000268314C08B01EC01FB010084F185E02DE3 -:10B470001995892BE1F6D80116968D919C91179715 -:10B48000019617969C938E931697CE01DF91CF91DC -:10B490001F910F910895FA01AA27283051F1203108 -:10B4A00081F1E8946F936E7F6E5F7F4F8F4F9F4F58 -:10B4B000AF4FB1E03ED0B4E03CD0670F781F891F9A -:10B4C0009A1FA11D680F791F8A1F911DA11D6A0F68 -:10B4D000711D811D911DA11D20D009F468943F911B -:10B4E0002AE0269F11243019305D3193DEF6CF011A -:10B4F0000895462F4770405D4193B3E00FD0C9F7E0 -:10B50000F6CF462F4F70405D4A3318F0495D31FD4C -:10B510004052419302D0A9F7EACFB4E0A69597959F -:10B52000879577956795BA95C9F700976105710575 -:10B5300008959B01AC010A2E0694579547953795BF -:10B540002795BA95C9F7620F731F841F951FA01D19 -:10B55000089597F99F6780E870E060E008959FEF95 -:10B5600080EC089500240A9416161706180609069A -:10B57000089500240A941216130614060506089569 -:10B58000092E0394000C11F4882352F0BB0F40F4F1 -:10B59000BF2B11F460FF04C06F5F7F4F8F4F9F4F31 -:10B5A000089557FD9058440F551F59F05F3F71F0B3 -:10B5B0004795880F97FB991F61F09F3F79F087951A -:10B5C0000895121613061406551FF2CF4695F1DFA3 -:10B5D00008C0161617061806991FF1CF8695710533 -:10B5E000610508940895E894BB2766277727CB0167 -:10B5F00097F90895F999FECF92BD81BDF89A9927E0 -:10B6000080B50895262FF999FECF1FBA92BD81BD4E -:10B6100020BD0FB6F894FA9AF99A0FBE01960895D4 -:10B62000DB018F939F930F94615BBF91AF91A29FBA -:10B63000800D911DA39F900DB29F900D1124089530 -:10B64000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F26 -:10B65000EE1FFF1FA217B307E407F50720F0A21B98 -:10B66000B30BE40BF50B661F771F881F991F1A9405 -:10B6700069F760957095809590959B01AC01BD012F -:10B68000CF010895052E97FB1EF400940F94595B8B -:10B6900057FD07D00F94205B07FC03D04EF40D94A8 -:10B6A000595B50954095309521953F4F4F4F5F4FD7 -:10B6B000089590958095709561957F4F8F4F9F4F1E -:10B6C00008950F94745BA59F900DB49F900DA49F57 -:10B6D000800D911D11240895B7FF0D94615B0F94A7 -:10B6E000615B821B930B0895A29FB001B39FC001C1 -:10B6F000A39F700D811D1124911DB29F700D811D9E -:10B700001124911D0895991B79E004C0991F961783 -:10B7100008F0961B881F7A95C9F780950895AA1B93 -:10B72000BB1B51E107C0AA1FBB1FA617B70710F02C -:10B73000A61BB70B881F991F5A95A9F7809590955E -:10B74000BC01CD01089597FB072E16F4009407D095 -:10B7500077FD09D00F948F5B07FC05D03EF49095E0 -:10B7600081959F4F0895709561957F4F0895EE0FD5 -:10B77000FF1F881F8BBF0790F691E02D199450583A -:10B78000BB27AA270F94D75B0D94C05A0F94B25AC7 -:10B7900038F00F94B95A20F039F49F3F19F426F489 -:10B7A0000D94AF5A0EF4E095E7FB0D94A95AE92FDA -:10B7B0000F94D15A58F3BA17620773078407950795 -:10B7C00020F079F4A6F50D94F35A0EF4E0950B2EC3 -:10B7D000BA2FA02D0B01B90190010C01CA01A001E3 -:10B7E0001124FF27591B99F0593F50F4503E68F13E -:10B7F0001A16F040A22F232F342F4427585FF3CF7F -:10B80000469537952795A795F0405395C9F77EF44F -:10B810001F16BA0B620B730B840BBAF09150A1F098 -:10B82000FF0FBB1F661F771F881FC2F70EC0BA0F1E -:10B83000621F731F841F48F4879577956795B795A6 -:10B84000F7959E3F08F0B0CF9395880F08F09927A1 -:10B85000EE0F9795879508950F94B25A60F080E89F -:10B8600091E009F49EEF0F94B95A28F040E851E0B6 -:10B8700071F45EEF0CC00D94AF5A0D94F35AE92F9A -:10B88000E0780F94D15A40F3092E052AB1F3261718 -:10B8900037074807590738F00E2E07F8E02569F0FA -:10B8A000E025E0640AC0EF6307F8009407FADB01C3 -:10B8B000B9019D01DC01CA01AD01EF930F94D15C88 -:10B8C0000F94C05A0F946F5C5F91552339F02BEDA4 -:10B8D0003FE049E450FD49EC0D94C05B0895DF93CF -:10B8E000DD27B92FBF7740E85FE316161706480734 -:10B8F0005B0718F4D92F0F94255E9F938F937F9346 -:10B900006F930F94FE5EECEFF1E00F94A25D0F9445 -:10B91000C05A2F913F914F915F910F944355DD2372 -:10B9200051F09058A2EA2AED3FE049EC5FE3D0786D -:10B930005D270F94D75BDF910D94C05A0F94085E7A -:10B9400090F09F3748F4911116F40D94F45A60E08A -:10B9500070E080E89FE3089526F01B16611D711DBD -:10B96000811D0D94795D0D94945D0F94CB5DE395ED -:10B970000D94F45D0F94CE5C0D94C05A0F94B95A97 -:10B9800058F00F94B25A40F029F45F3F29F00D941B -:10B99000A95A51110D94F45A0D94AF5A0F94D15ADB -:10B9A00068F39923B1F3552391F3951B550BBB27EE -:10B9B000AA2762177307840738F09F5F5F4F220F33 -:10B9C000331F441FAA1FA9F335D00E2E3AF0E0E82A -:10B9D00032D091505040E695001CCAF72BD0FE2F74 -:10B9E00029D0660F771F881FBB1F26173707480708 -:10B9F000AB07B0E809F0BB0B802DBF01FF279358C0 -:10BA00005F4F3AF09E3F510578F00D94A95A0D947E -:10BA1000F45A5F3FE4F3983ED4F3869577956795A3 -:10BA2000B795F7959F5FC9F7880F911D96958795F4 -:10BA300097F90895E1E0660F771F881FBB1F621713 -:10BA400073078407BA0720F0621B730B840BBA0BD1 -:10BA5000EE1F88F7E09508950F94335D6894B11157 -:10BA60000D94F45A08950F94D95A88F09F5798F07E -:10BA7000B92F9927B751B0F0E1F0660F771F881FF3 -:10BA8000991F1AF0BA95C9F714C0B13091F00F940C -:10BA9000F35AB1E008950D94F35A672F782F882751 -:10BAA000B85F39F0B93FCCF3869577956795B39534 -:10BAB000D9F73EF490958095709561957F4F8F4FA3 -:10BAC0009F4F08950F94085E90F09F3748F49111AE -:10BAD00016F00D94F45A60E070E080E89FEB089552 -:10BAE00026F41B16611D711D811D0D94795D0D9449 -:10BAF000945D882371F4772321F09850872B762F5B -:10BB000007C0662311F499270DC09051862B70E071 -:10BB100060E02AF09A95660F771F881FDAF7880F82 -:10BB20009695879597F908959F3F31F0915020F4AD -:10BB3000879577956795B795880F911D9695879509 -:10BB400097F90895DF93CF931F930F93FF92EF928E -:10BB5000DF927B018C01689406C0DA2EEF010F940E -:10BB60004355FE01E894A591259135914591559154 -:10BB7000A6F3EF010F94D75BFE019701A801DA94B9 -:10BB800069F7DF90EF90FF900F911F91CF91DF91B8 -:10BB900008950D94AF5A0F94D95AD8F3E894E0E081 -:10BBA000BB279F57F0F02AED3FE049EC06C0EE0FAF -:10BBB000BB0F661F771F881F28F0B23A6207730712 -:10BBC000840728F0B25A620B730B840BE3959A95A5 -:10BBD00072F7803830F49A95BB0F661F771F881F65 -:10BBE000D2F790480D94965DEF93E0FF07C0A2EA6C -:10BBF0002AED3FE049EC5FEB0F94D75B0F94C05AFE -:10BC00000F90039401FC9058E9E2F2E00D94535F29 -:10BC10000F94D95AA0F0BEE7B91788F4BB279F3814 -:10BC200060F41616B11D672F782F8827985FF7CF1D -:10BC3000869577956795B11D93959639C8F30895C4 -:10BC40000F940C5508F48FEF08959B01AC0160E050 -:10BC500070E080E89FE30D94BA5C0F94D95A58F1D4 -:10BC60009E5760F19851A0F0E9F0983020F5092E28 -:10BC70009927660F771F881F991F0A94D1F712C062 -:10BC8000062E672F782F8827985F11F4000C07C0C5 -:10BC9000993FB4F38695779567959395D9F7611D8C -:10BCA000711D811D3EF490958095709561957F4F33 -:10BCB0008F4F9F4F089568940D94F45A0D94F35A42 -:10BCC000FA01EE0FFF1F309621053105A1F1611534 -:10BCD000710561F48038BFE39B0749F1689490389F -:10BCE000810561F08038BFEF9B0741F099234AF549 -:10BCF000FF3FE1053105210519F1E8940894E79526 -:10BD0000D901AA2329F4AB2FBE2FF85FD0F310C0BE -:10BD1000FF5F70F4A695E0F7F73950F019F0FF3A9D -:10BD200038F49F779F930DD00F9007FC905808959B -:10BD300046F00D94AF5A60E070E080E89FE308950C -:10BD40004FE79F775F934F933F932F930F94A95F94 -:10BD50002F913F914F915F910F9430550D941A5F41 -:10BD60009F930F94CB5D0F9007FCEE5F0D94F45DF5 -:10BD700019F416F40D94AF5A0D94945D0F94D95A9A -:10BD8000B8F39923C9F3B6F39F57550B87FF0F9468 -:10BD90004C5F0024A0E640EA9001805856959795A4 -:10BDA00028F4805C660F771F881F20F0261737075E -:10BDB000480730F4621B730B840B202931294A2B6E -:10BDC000A69517940794202531254A2758F7660F22 -:10BDD000771F881F20F026173707480730F4620BBB -:10BDE000730B840B200D311D411DA09581F7B90106 -:10BDF000842F9158880F9695879508959B01AC01E3 -:10BE00000D9430550F94085E30F09F3710F40D9468 -:10BE1000F45A0D94795D0D94945D0F940C55880B34 -:10BE2000990B089529F416F00D94A95A0D94F35A1C -:10BE30000D94AF5A0F94D95AA8F39638A0F707F883 -:10BE40000F92E8942BE33AEA48EB5FE70F944655EC -:10BE50000F920F920F924DB75EB70F920F94F15F52 -:10BE6000E7E4F2E00F94A25D4F915F91EF91FF91B3 -:10BE7000E595EE1FFF1F49F0FE57E0684427EE0FDF -:10BE8000441FFA95E1F74195550B0F946B5F0F90A6 -:10BE900007FE0D94255E089591505040660F771F60 -:10BEA000881FD2F708959F938F937F936F93FF938B -:10BEB000EF939B01AC010F943055EF91FF910F94DC -:10BEC000A25D2F913F914F915F910D9430550D944C -:10BED000A95A0D94945D0F94D95AD8F39923C9F3B4 -:10BEE000940F511DA3F39150504094F059F08823C2 -:10BEF00032F0660F771F881F91505040C1F79E3F68 -:10BF000051052CF7880F911D9695879597F90895FF -:10BF10005F3FACF0983E9CF0BB2786957795679580 -:10BF2000B79508F4B1609395C1F7BB0F58F711F4BA -:10BF300060FFE8CF6F5F7F4F8F4F9F4FE3CF0D9430 -:10BF4000F45A16F00D94945D0D94AF5A68940D94C4 -:10BF5000A95A0F94D95AA8F39923C1F3AEF3DF93EA -:10BF6000CF931F930F93FF92C92FDD2788232AF0C9 -:10BF70002197660F771F881FDAF720E030E040E84E -:10BF80005FEB9FE3883920F0803E38F021968F7771 -:10BF90000F94C05BEFE6F2E004C00F94C05BECE9E5 -:10BFA000F2E00F94A25D8B01BE01EC01FB2E6F57F6 -:10BFB00071097595771F880B990B0F94D15428E15F -:10BFC00032E741E35FE30F944355AF2D9801AE0193 -:10BFD000FF900F911F91CF91DF910F94D75B0D943C -:10BFE000C05AFA01DC01AA0FBB1F9B01AC01BF576D -:10BFF00028F4222733274427507820C0B75190F4E3 -:10C00000AB2F0024469537952795011CA395D2F3B5 -:10C01000002071F0220F331F441FB395DAF30ED0C6 -:10C020000D94BF5B61307105A0E88A07B94630F412 -:10C030009B01AC016627772788279078309621F0FE -:10C040002083318342835383089581E090E0F89404 -:10C050000D94CF609111089581548A5108F4805E47 -:10C06000855A0895FB01DC0104C08D91019080196F -:10C0700021F441505040C8F7881B990B0895FB01EB -:10C08000DC0102C001900D9241505040D8F7089554 -:10C09000FB01DC018D9181341CF08B350CF4805E4A -:10C0A000619161341CF06B350CF4605E861B61118C -:10C0B00089F3990B0895FB01DC010D900020E9F74D -:10C0C000119701900D920020E1F70895FC018191F4 -:10C0D000861721F08823D9F7992708953197CF0142 -:10C0E0000895FB01DC0101900D920020E1F7089515 -:10C0F000FB01DC014150504030F08D9101908019DE -:10C1000019F40020B9F7881B990B0895FB01DC0195 -:10C110004150504048F001900D920020C9F701C0F5 -:10C120001D9241505040E0F70895FC0181E090E0FD -:10C130000190061609F4CF010020D1F70197089568 -:10C140000F931F93CF93DF93CDB7DEB72E970FB624 -:10C15000F894DEBF0FBECDBF0E891F8986E08C83A9 -:10C160001A8309838FEF9FE79E838D83AE01465E1E -:10C170005F4F688D798DCE0101960F949D55EF81AB -:10C18000F885E00FF11F10822E960FB6F894DEBFEF -:10C190000FBECDBFDF91CF911F910F91089510E396 -:10C1A000CBE5D0E300E006C0802FFE010F94B75B23 -:10C1B0002196011DCC35D10780E00807A9F7F89436 -:02C1C000FFCFAF -:10C1C20002C0D401000180000000FF3FFF3F0000D9 -:10C1D2000000FF3F010000A040000000000000ED51 -:10C1E20043000000000000E143000000000000EBFB -:10C1F200430100007A4300005243CDCCCC3D010004 -:10C2020000C8410000803FA0006400640001FFFFFD -:10C21200FFFF01015CFF79C480800110FF0601006D -:10C2220000803FCDCCCC3C01000000021000000495 -:10C2320010000006100000081000000A1000000C98 -:10C2420010000026100000301000003210000034F0 -:10C252001000003A1000003E1000004010000044A0 -:10C2620010000046100000481000004A1000004C68 -:10C272001000005410000056100000581000005C1E -:10C282001000005E1000005F100000881000000027 -:10C2920000000000409C4500007A4500007A4300FF -:10C2A20000704258595A45B400F00046006E000032 -:10C2B2000040400000344200000000000000000086 -:10C2C2000000000000504100000000000000416436 -:10C2D200000000640000000300000064000000642D -:10C2E20000000003000000030000001E0000001E0A -:10C2F2000000001E0000001E0000001E0000001EC4 -:10C302000000000A005A00E8030000BC02000064BA -:10C312000000004B0000000000A0420000A042000C -:10C3220000C84300000C430000FA430000C8430069 -:10C332000070410000964256373000000000007540 -:10C342006FDE6E0C6FC26F3D6F1B6F2F6F2A2A2A32 -:10C35200496E6974696E6720636172642069732033 -:10C362004F4B2A2A2A002A2A2A496E6974696E6763 -:10C372002063617264206661696C732A2A2A002A2A -:10C382002A2A436172642052656D6F7665642A2A97 -:10C392002A003D3D7761697477617920313D3D0026 -:10C3A2003D3D7761697477617920333D3D002020FE -:10C3B200737461727470726F677265737320002098 -:10C3C200202A2A2A2A2A2A2A5254535F48616E6452 -:10C3D2006C65446174612A2A2A2A2A2A2A2A2000A0 -:10C3E2003D3D20436865636B6B65793D3D000A20E6 -:10C3F20048616E646C652044617461205072696E9C -:10C402007446696C6520312053657474696E6720C7 -:10C4120053637265656E20000A2048616E646C6524 -:10C422002044617461205072696E7446696C6520A3 -:10C43200322053657474696E672053637265656E4A -:10C4420020000A2048616E646C652044617461209A -:10C452005072696E7446696C65203320536574743A -:10C46200696E672053637265656E20000A20486119 -:10C472006E646C6520446174612041646A757374F2 -:10C4820020322053657474696E6720536372656548 -:10C492006E200074696E796D616368696E657333CD -:10C4A200642E636F6D004368696E657365204E6F1D -:10C4B2007420537570706F7274656400456E676C9A -:10C4C20069736820416C72656164792053657400F8 -:10C4D200496E76616C6964204F7074696F6E000AF0 -:10C4E200204E6F2046696C616D656E74002046694E -:10C4F2006C616D656E7420526573706F6E7365202A -:10C502004E6F0046696C616D656E74205374617480 -:10C512002030202D20310046696C616D656E7420DB -:10C52200537461742030202D20320046696C616D95 -:10C53200656E7420537461742030202D20330046C0 -:10C54200696C656E616D650052656364617461005A -:10C552002020202020202020200025642F25640078 -:10C562003D3D7761697477617920343D3D003D3D01 -:10C572007761697477617920353D3D003D3D4865BD -:10C582006174696E6720446F6E65204368616E67EF -:10C59200652046696C616D656E743D3D0052657340 -:10C5A200756D652059657320647572696E672070B8 -:10C5B20072696E740046696C656E616D652D4D65BC -:10C5C20064696100436C69636B20746F2052657308 -:10C5D200756D652E2E2E003D3D6F6E46696C616D48 -:10C5E200656E7452756E6F75743D3D0025642058FA -:10C5F200202564205820256400544D3344204D6189 -:10C602007800322E305F44573320544D3344203566 -:10C61200534D444255003D3D4477696E20496E6951 -:10C622007420436F6D706C6574653D3D002F003D55 -:10C632003D6F6E466163746F727952657365743DC6 -:10C642003D003D3D6F6E55736572436F6E66697254 -:10C652006D52657175697265643D3D003F3F3F00F3 -:10C6620042656420583A200020593A2000205A3A64 -:10C6720020003D3D6F6E5072696E7454696D657233 -:10C68200537461727465643D3D003D3D6F6E436F4E -:10C692006E66696775726174696F6E53746F7265E5 -:10C6A2005772697474656E3D3D0073746F70706982 -:10C6B2006E67203D3D002F2F616374696F6E3A6390 -:10C6C200616E63656C003D3D6F6E5072696E7454AD -:10C6D200696D657253746F707065643D3D005900F9 -:10C6E2005800556E746F7563686564200050756CF0 -:10C6F20073696E6720202000202053544F57454411 -:10C702002028747269676765726564292073746191 -:10C7120074653A204849474820286C6F676963204E -:10C72200312900202053544F574544202874726900 -:10C73200676765726564292073746174653A204C79 -:10C742004F5720286C6F6769632030290062656447 -:10C7520020706C616E65206E6F726D616C203D2081 -:10C762005B003D3D6F6E53746F72655365747469FF -:10C772006E67733D3D00455252003D3D6F6E5072F3 -:10C78200696E7454696D65725061757365643D3D7F -:10C79200005265686561742066696E6973686564D4 -:10C7A2002E003A207A3A2000206D65616E3A200010 -:10C7B200207369676D613A2000206D696E3A20002E -:10C7C200206D61783A20002072616E67653A200020 -:10C7D2004D65616E3A2000204D696E3A2000204D71 -:10C7E20061783A20002052616E67653A20005374E6 -:10C7F200616E6461726420446576696174696F6E0A -:10C802003A20003D3D6F6E4C6F61645365747469EC -:10C812006E67733D3D003D3D6F6E436F6E666967A7 -:10C8220075726174696F6E53746F7265526561647B -:10C832003D3D004D65616E204D6573682048656918 -:10C842006768743A20002A2A2A6B696C6C2A2A2AA1 -:10C8520000205A005344557064617465002E67636A -:0CC862006F6465002E47434F4445000002 -:00000001FF diff --git a/CR10SPro_BLTouch_BIL_DW3.hex b/CR10SPro_BLTouch_BIL_DW3.hex deleted file mode 100644 index 1fea152be0..0000000000 --- a/CR10SPro_BLTouch_BIL_DW3.hex +++ /dev/null @@ -1,9606 +0,0 @@ -:100000000C94211D0C94521D0C94521D0C94521DE5 -:100010000C94521D0C94521D0C94521D0C94521DA4 -:100020000C94521D0C94521D0C94521D0C94521D94 -:100030000C94521D0C94521D0C94521D0C94521D84 -:100040000C94521D0C9478880C94521D0C94521DE3 -:100050000C94521D0C94521D0C941FDD0D94510EE6 -:100060000C94521D0C94CF5A0C94C55A0C94521DEA -:100070000C94521D0C94521D0C94521D0C94521D44 -:100080000C9480520C94521D0C94521D0C94521DD1 -:100090000C94521D0C94521D0C94521D0C94521D24 -:1000A0000C94521D0C94521D0C9452520C94521DDF -:1000B0000C94521D0C94521D0C94521D0C942452FD -:1000C0000C94521D0C94521D0C94521D0C94745D92 -:1000D0000C944A5D0C94521D0C94521D0C94521DAC -:1000E0000C94521D011F471F4D1F741F811F8A1F33 -:1000F000951F5927792855298829E534E534A32AFD -:10010000462B5528E534E534E32C7C2EB42EE5341B -:10011000B230E534E5340332E534E5348D32C032B3 -:10012000E5343C33F833C32ECB2EEF2E132F472F5D -:10013000EA2FFE2F1730243031304530025B085B48 -:100140001A5B2A5B325B5F5B365B5F5B3A5B3E5BF5 -:100150005F5B425B465B4A5B525B5F5B5C5B7BC6A3 -:100160009DC6BDC6E2C607C7BEC82CC74FC772C76B -:1001700097C7BCC7E1C706C82BC8BEC850C875C85A -:100180009AC84CCA4FCA53CA56CA59CA83CA5DCA0A -:1001900060CA64CA67CA6ACA6ECA71CA74CA83CAA4 -:1001A00078CA7BCA7ECAFBFAFEFAEDFAF1FAF7FAD0 -:1001B00035FB02FB06FB0CFB10FB14FB1AFB1EFBC2 -:1001C00022FB35FB28FB2CFB30FBFB0113026901F2 -:1001D0004D01EF01D90195017901B1019701E701C5 -:1001E0000D02C901D101D90133019B015701084A10 -:1001F000D73B3BCE016E84BCBFFDC12F3D6C74313B -:100200009ABD56833DDA3D00C77F11BED9E4BB4C91 -:100210003E916BAAAABE000000803F05A84CCDB25B -:10022000D44EB93836A9020C50B9918688083CA63C -:10023000AAAA2ABE000000803F000C94B42E0C94A1 -:10024000741F0C9459CA0C94B2300C94C0320C94A4 -:10025000025B0C946ECA0C94E1C70C943A5B0C944C -:1002600024300C945C5C0D9486000C940CFB0C9474 -:1002700028FB0C94BDC60C942CC70C94E2C60C94BD -:10028000C32E0C94C55B0C9431300C942CFB0C9455 -:10029000EDFA0C9407C70C94245C0D9421000C9487 -:1002A0008A1F0C9488290C9453CA0C9478CA0D9414 -:1002B0009A000C94462B0C947C2E0C9475C80C94CC -:1002C00006FB0C9417300C942A5B0C94011F0C94C1 -:1002D000132F0D9417000C94951F0C94BEC80C940A -:1002E00074CA0C94F35B0C94CB2E0C94F8330C94DE -:1002F000EF2E0D943D000C94BCC70C942BC80C94AD -:1003000059270C943C330C941A5B0C944D1F0C949D -:1003100097C70C94472F0C94A95C0C9479280C94E3 -:1003200056CA0D94FC170C9467CA0D9435000D94B1 -:100330004F000C94E5340D9490000C94A32A0C9477 -:100340006ACA0C9402FB0C9430FB0C94325B0C9444 -:1003500055290C945F5B0C944A5B0C94FE2F0C9413 -:10036000025C0D9445000C94465B0C941AFB0D94B2 -:1003700057170C9464CA0C943E5B0C9403320C9493 -:10038000F1FA0C9450C80C941EFB0C949AC80C946F -:1003900022FB0D9472000C94525B0C94811F0C9400 -:1003A00035FB0D947C000C9471CA0C947BCA0C94A0 -:1003B000FEFA0D94A4000C94425B0C9472C70C944A -:1003C0005C5B0C9406C80C94471F0C94365B0D9430 -:1003D00059000C9455280C94085B0C944CCA0D944D -:1003E0002B000C947BC60C94165C0C94EA2F0C9496 -:1003F00045300C94E32C0D940D000C9460CA0C94C1 -:100400004FC70C945DCA0C9483CA0C944FCA0C94C9 -:100410008D320C949DC60C9414FB0D9463000C94C7 -:1004200010FB0C94FBFA0D9412000C94F7FA0C9448 -:100430007ECA4E414E494E495459494E46CDCCCCC8 -:100440003D0AD7233C17B7D13877CC2B329595E6A8 -:10045000241FB14F0A000020410000C84200401C88 -:100460004620BCBE4CCA1B0E5AAEC59D7400407AD5 -:1004700010F35A00A0724E18090010A5D4E800002D -:10048000E87648170000E40B54020000CA9A3B00CB -:100490000000E1F505000080969800000040420F42 -:1004A000000000A08601000000102700000000E806 -:1004B00003000000006400000000000A00000000CB -:1004C000000100000000002C76D888DC674F08236C -:1004D000DFC1DFAE59E1B1B796E5E3E453C63AE6D2 -:1004E00051997696E8E6C28426EB898C9B62ED40B2 -:1004F0007C6FFCEFBC9C9F40F2BAA56FA5F4900501 -:100500005A2AF75C936B6CF9676DC11BFCE0E40D34 -:1005100047FEF520E6B500D0ED902E030094357728 -:10052000050080841E080000204E0A000000C80C50 -:10053000333333330F986E12831141EF8D211489B9 -:100540003BE65516CFFEE6DB18D1844B381BF77C13 -:100550001D901DA4BBE424203284725E228100C958 -:10056000F124ECA1E53D274D323520500A4D3234BF -:10057000005072696E742050617573656400526535 -:1005800073756D65005549205061757365004E6F38 -:10059000204D61746368203A004D333033452D316E -:1005A000533635433455004D393939004D353032E5 -:1005B0000A4D353030004D3330334530533231350C -:1005C000433855000A202A2A2A7265636461742E12 -:1005D000646174615B305D203D004732380A473109 -:1005E000204631303030205A313000556E737570EE -:1005F000706F72746564204F7074696F6E205365FC -:100600006C6563746564004D3139305335350A4784 -:1006100032380A4732390A4D3430300A4D313034DD -:10062000533231350A4732380A4D3130395332317D -:10063000350A4D34323053310A4731583130305950 -:1006400031303046353030300A47315A300A4D3576 -:1006500030300A4D31313720536574205A204F66AF -:1006600066736574004731204631303030205A308F -:100670002E30004732380A473120463130303020A2 -:100680005A302E30004D353030005A204F66667398 -:100690006574203A202573004D353030005A204FC4 -:1006A0006666736574203A202573004732385A0A0B -:1006B000473146313530305A302E30004732380A13 -:1006C000473146313530305A302E30004D38340005 -:1006D000473146313030305A302E30004732380AF8 -:1006E000473146313030305A302E30005A204F6674 -:1006F00066736574203A202573004D353030004D07 -:10070000383400426567696E5377697463680072B4 -:1007100065636461742E61646472203D3D0072659E -:10072000636461742E646174615B305D203D3D00E3 -:1007300077616974776179203D3D000A202A2A2A71 -:100740004E6F7A7A6C6554656D705374617475730D -:100750005B325D203D00434F4D4D554E4943415462 -:10076000494F4E0044525952554E004552524F5235 -:100770005300494E464F004543484F0047322F47EC -:10078000332062616420706172616D65746572739B -:100790000A00536C6565702E2E2E005A2050726F21 -:1007A00062652050617374204265640A005A2050CB -:1007B000726F626520506173742042656400486FF7 -:1007C0006D652058592046697273740A00486F6D30 -:1007D00065205859204669727374004D31313720B5 -:1007E00050726F6265206661696C65642E0A4732DB -:1007F000380A0070726F62655F72657769706500B4 -:10080000473239205265747279696E670050726F91 -:1008100062696E67204661696C6564004D313137ED -:1008200020426564206C6576656C696E6720666140 -:10083000696C65642E0A4730205A31300A4D3330D6 -:10084000302050323520533838300A4D3330302084 -:100850005035302053300A4D33303020503235205F -:10086000533838300A4D3330302050353020533033 -:100870000A4D3330302050323520533838300A4D4D -:10088000333030205035302053300A473420533134 -:100890000070726F62655F6661696C6564004D31FE -:1008A000313720426564206C6576656C696E67201F -:1008B000646F6E652E00205A3A200020593A2000BD -:1008C00042656420583A20004D65736820706F6956 -:1008D0006E742063616E6E6F742062652072657342 -:1008E0006F6C7665640A004E6F204D6F76652E0042 -:1008F000456E642066696C65206C6973740A0042F9 -:100900006567696E2066696C65206C6973740A009E -:10091000526573756D6520534400286E6F206669BB -:100920006C65290043757272656E742066696C652A -:100930003A20002E0A0044656C6574696F6E20666B -:1009400061696C65642C2046696C653A20004669D3 -:100950006C652064656C657465643A005072696EFC -:10096000742074696D653A20000A53746174733A97 -:100970002046696C616D656E7420757365643A20FC -:10098000002C204C6F6E67657374206A6F623A208A -:1009900000546F74616C2074696D653A2000537463 -:1009A0006174733A20002C204661696C65643A20BA -:1009B000002C2046696E69736865643A20005072A5 -:1009C000696E74733A200053746174733A20004561 -:1009D00020436F6F6C696E672E2E2E004520486590 -:1009E0006174696E672E2E2E006F6666007707723F -:1009F000076B076407560744454255473A004D3197 -:100A0000313320530042656420436F6F6C696E6719 -:100A10002E2E2E004265642048656174696E672E33 -:100A20002E2E006F6B004348414D4245525F5445A6 -:100A30004D5045524154555245004D4F54494F4E2B -:100A40005F4D4F44455300544845524D414C5F5013 -:100A5000524F54454354494F4E004155544F52450F -:100A6000504F52545F53445F5354415455530050B8 -:100A7000524F4D50545F535550504F525400454DB6 -:100A8000455247454E43595F5041525345520043EA -:100A90004153455F4C494748545F42524947485487 -:100AA0004E45535300544F47474C455F4C494748C8 -:100AB000545300534F4654574152455F504F57458A -:100AC00052004255494C445F50455243454E5400F4 -:100AD0004C4556454C494E475F44415441005A5F8E -:100AE00050524F4245004155544F4C4556454C00DD -:100AF0005052494E545F4A4F420050524F47524560 -:100B00005353004155544F5245504F52545F544532 -:100B10004D5000564F4C554D4554524943004545A4 -:100B200050524F4D0042494E4152595F46494C4543 -:100B30005F5452414E534645520053455249414C31 -:100B40005F584F4E5F584F4646004649524D5741F9 -:100B500052455F4E414D453A4D61726C696E20328F -:100B60002E305F44573320544D33442053534D446B -:100B7000424220534F555243455F434F44455F55D2 -:100B8000524C3A68747470733A2F2F6769746875A1 -:100B9000622E636F6D2F496E73616E697479417552 -:100BA000746F6D6174696F6E2F4D61726C696E2F19 -:100BB000747265652F437265616C6974795F4D610C -:100BC000726C696E322E302E782050524F544F4343 -:100BD0004F4C5F56455253494F4E3A312E30204DBF -:100BE000414348494E455F545950453A544D33446A -:100BF000203130532050726F20455854525544458F -:100C0000525F434F554E543A3120555549443A634B -:100C1000656465326132662D343161322D3437348A -:100C2000382D396231322D633535633632663336CD -:100C30003766660A002F2F20003F4A206F75742008 -:100C40006F662072616E67652028302E3031207407 -:100C50006F20302E33290A0020466C6F773A20002F -:100C600050726F7465637465642050696E0A002069 -:100C70006F7574206F662072616E67650A00536538 -:100C800072766F20003A200020536572766F200044 -:100C900050726F6265205A204F66667365743A2001 -:100CA00000496E76616C696420657874727564655C -:100CB000720A0020643A0020693A0020703A00204D -:100CC000643A0020693A0020703A00646973006554 -:100CD0006E0043290A0061626C656420286D696EAC -:100CE0002074656D702000436F6C642065787472A9 -:100CF000756465732061726520004F4646004F4E53 -:100D00000046696C616D656E742072756E6F7574E6 -:100D10002064697374616E636520286D6D293A20C3 -:100D20000046696C616D656E742072756E6F7574C6 -:100D300020004D65736820706F696E742063616E6A -:100D40006E6F74206265207265736F6C7665640ADD -:100D5000004D34323120696E636F727265637420A6 -:100D6000706172616D657465722075736167650A83 -:100D7000004F666673657473204170706C696564BA -:100D8000004572723A20546F6F20666172210054E0 -:100D90006F6F206661722066726F6D207265666586 -:100DA00072656E636520706F696E740A0045455008 -:100DB000524F4D204F4B0A004572726F722077726E -:100DC0006974696E6720746F20454550524F4D21FC -:100DD0000A00363726033C3D380E2E303E121A1CD0 -:100DE0001808440AFF430809070001627573793A3D -:100DF0002070617573656420666F7220696E70750E -:100E0000740A00627573793A2070617573656420A5 -:100E1000666F7220757365720A00627573793A2085 -:100E200070726F63657373696E670A0070617573C2 -:100E300065004D363030200A204D313137200A0010 -:100E40002066696C616D656E745F72756E6F757426 -:100E5000200066696C616D656E745F72756E6F758A -:100E60007420540046696C616D656E7452756E6FC6 -:100E7000757420540053544F505045442E20005058 -:100E800072696E7465722073746F7070656420642B -:100E9000756520746F206572726F72732E204669BB -:100EA0007820746865206572726F7220616E6420AC -:100EB000757365204D39393920746F2072657374EC -:100EC0006172742E202854656D706572617475723C -:100ED000652069732072657365742E2053657420D4 -:100EE00069742061667465722072657374617274CE -:100EF000696E67290A004E6F20436865636B7375DE -:100F00006D2077697468206C696E65206E756D62FE -:100F100065722C204C617374204C696E653A200018 -:100F20004E6F20436865636B73756D2077697468D5 -:100F3000206C696E65206E756D6265722C204C6147 -:100F40007374204C696E653A2000636865636B7347 -:100F5000756D206D69736D617463682C204C6173CD -:100F600074204C696E653A20004C696E65204E75A0 -:100F70006D626572206973206E6F74204C617374AA -:100F8000204C696E65204E756D6265722B312C2088 -:100F90004C617374204C696E653A20004D313130DC -:100FA00000776169740A004D313137004D333100EB -:100FB00053442072656164206572726F720A004446 -:100FC0006F6E65207072696E74696E672066696CF9 -:100FD000650A004B494C4C2063617573656420625F -:100FE0007920746F6F206D75636820696E6163741A -:100FF0006976652074696D65202D20637572726550 -:101000006E7420636F6D6D616E643A200020205015 -:101010006C616E6E65724275666665724279746562 -:10102000733A20002046726565204D656D6F7279B8 -:101030003A2000436F6D70696C65643A20536570A7 -:1010400020203820323031390A00207C204175744C -:10105000686F723A2054696E794D616368696E6594 -:101060007333440A00323031392D30372D3330009C -:10107000204C61737420557064617465643A20007B -:10108000322E305F4457330A004D61726C696E0036 -:1010900020536F6674776172652052657365740AB8 -:1010A00000205761746368646F67205265736574CC -:1010B0000A002042726F776E206F7574205265733C -:1010C00065740A002045787465726E616C20526503 -:1010D0007365740A00506F77657255700A007374F7 -:1010E0006172740A006175746F25632E6700657202 -:1010F000726F722077726974696E6720746F2066F0 -:10110000696C650A00446F6E6520736176696E676D -:101110002066696C652E0A004D323900205A3A006B -:1011200020593A0020583A00656E6473746F7073EA -:10113000206869743A200047323858590043616E7C -:101140006E6F74206F70656E2073756264697220B3 -:101150000053442063617264206F6B0A006F7065F6 -:101160006E526F6F74206661696C65640A00766FF9 -:101170006C756D652E696E6974206661696C656455 -:101180000A00534420696E6974206661696C0A0024 -:101190004D3234004D323320257300577269746923 -:1011A0006E6720746F2066696C653A20002E0A0015 -:1011B0006F70656E206661696C65642C2046696C91 -:1011C000653A20002E0A006F70656E206661696CBA -:1011D00065642C2046696C653A200046696C652080 -:1011E00073656C65637465640A002053697A653AB7 -:1011F000200046696C65206F70656E65643A20005A -:10120000667265736800646F696E67002066696C5A -:10121000653A20004E6F772000454E4420535542DA -:10122000524F5554494E450A002220706F730022D8 -:1012300020706172656E743A2200535542524F55C8 -:1012400054494E452043414C4C207461726765748B -:101250003A2200747279696E6720746F2063616C42 -:101260006C207375622D67636F64652066696C65B9 -:1012700073207769746820746F6F206D616E7920B8 -:101280006C6576656C732E204D4158206C657665D3 -:101290006C2069733A310A005344207072696E748D -:1012A000696E67206279746520004E6F7420534424 -:1012B000207072696E74696E670A00496E76616C9F -:1012C00069642065787472756465720A007C3C3EBE -:1012D0005E2B3D3F2F5B5D3B2C2A225C00486F6DEF -:1012E0006520257325732573204669727374002069 -:1012F00046697273740A00486F6D652000220A0007 -:10130000556E6B6E6F776E20636F6D6D616E643AB4 -:1013100020220020746F6F206C6F6E6720657874D8 -:10132000727573696F6E2070726576656E74656430 -:101330000A0020636F6C6420657874727573696F3E -:101340006E2070726576656E7465640A004D323881 -:1013500030205030205339300050726F62696E6710 -:1013600020506F696E742025692F2569002E0A00B0 -:101370002F0050726F62696E67206D657368207010 -:101380006F696E742000202844525952554E29002E -:10139000473239204175746F20426564204C657670 -:1013A000656C696E67003F20284C2C522C462C42FD -:1013B00029206F7574206F6620626F756E64732EBE -:1013C0000A003F2856296572626F7365206C657646 -:1013D000656C20697320696D706C61757369626CEE -:1013E000652028302D34292E0A00426164205A20BD -:1013F00076616C75650A004E6F2062696C696E6576 -:10140000617220677269640A0046696E6973686573 -:1014100064210A00206F662000205A0020590047EE -:101420006F696E6720746F3A20580043570A002096 -:101430006469723A0020616E676C653A00537461AA -:101440007274207261646975733A00506F736974C5 -:10145000696F6E696E67207468652070726F62656F -:101460002E2E2E0A003F4E756D626572206F66202B -:101470006C65677320696E206D6F76656D656E743F -:10148000206E6F7420706C61757369626C652028C2 -:10149000302D3135292E0A003F2028582C5929207B -:1014A0006F7574206F6620626F756E64732E0A000C -:1014B0003F53616D706C652073697A65206E6F743F -:1014C00020706C61757369626C652028342D35302D -:1014D000292E0A004D3438205A2D50726F62652033 -:1014E0005265706561746162696C697479205465D4 -:1014F00073740A003F2856296572626F7365206C09 -:101500006576656C20697320696D706C61757369AF -:10151000626C652028302D34292E0A0053544F5018 -:101520002063616C6C65642062656361757365201E -:101530006F6620424C546F756368206572726F72DB -:10154000202D20726573746172742077697468202D -:101550004D3939390A0053544F502063616C6C6522 -:10156000642062656361757365206F6620424C5428 -:101570006F756368206572726F72202D20726573BB -:10158000746172742077697468204D3939390A00A2 -:101590002F2F616374696F6E3A00627574746F6E99 -:1015A00000656E640070726F6D70745F0073686FB9 -:1015B00077004D38373620526573706F6E64696EF0 -:1015C000672050524F4D50545F00554E4B4E4F5771 -:1015D0004E2053544154450047434F44455F494EC4 -:1015E000464F004C43445F50415553455F5245536D -:1015F000554D450046494C414D454E545F52554E60 -:101600004F55545F434F4E54494E55450046494C43 -:10161000414D454E545F52554E4F5554004D323456 -:1016200000436F6E74696E75650044697361626C26 -:101630006552756E6F7574005075726765204D6FD9 -:1016400072650050617573656400706175736564DF -:1016500000486F74656E6420746F6F20636F6C64F4 -:101660000A0050617573650050726573732062756E -:1016700074746F6E20286F72204D313038292074B9 -:101680006F20726573756D650A00496E73657274BB -:101690002066696C616D656E7420616E6420707285 -:1016A00065737320627574746F6E20286F72204D9D -:1016B000313038290A00436F6E74696E75650052C7 -:1016C000656865617420446F6E6500526568656188 -:1016D00074696E672E2E2E00526568656174696E9E -:1016E000670048656174657254696D656F75740053 -:1016F0005265686561740048656174657254696D0E -:10170000656F757400507265737320627574746FC1 -:101710006E20286F72204D3130382920746F206878 -:10172000656174206E6F7A7A6C650A004E6F7A7A02 -:101730006C65205061726B656400436F6E74696EF6 -:101740007565004E6F7A7A6C65205061726B6564C6 -:1017500000486F74656E6420746F6F20636F6C64F3 -:101760000A00726573756D656400626567696E0075 -:10177000436F6E74696E75650044697361626C6570 -:1017800052756E6F75740050757267654D6F726536 -:1017900000506175736564004C6F61642046696C2C -:1017A000616D656E7400436F6E74696E7565004C93 -:1017B0006F61642046696C616D656E7420540049E8 -:1017C0006E736572742066696C616D656E742061FC -:1017D0006E6420707265737320627574746F6E200E -:1017E000286F72204D313038290A00526573756DAB -:1017F000650024F4D43050C38E20C2A24017828BDF -:101800007011127A910D816CD90AA861E108C7584C -:101810006607615143061E4B5D05C145A7041A4189 -:101820001104093D9803713931034036DB026533F9 -:101830009102D4305402802E1D02632CEE01752AD1 -:10184000C501B028A001102781018F2564012B2438 -:101850004B01E0223401AC211F018D200D01801FBE -:10186000FC00841EED00971DDF00B81CD200E61BB3 -:10187000C600201BBC00641AB200B219A8000A19E5 -:10188000A0006A189900D117910040178B00B51677 -:10189000840031167E00B31579003A157300C71421 -:1018A0006F0058146A00EE13660088136300251356 -:1018B0005E00C7125B006C12570015125400C11174 -:1018C000510070114F0021114B00D61049008D10AE -:1018D00047004610440002104200C00F4000800F35 -:1018E0003E00420F3C00060F3B00CB0E3800930E2B -:1018F00037005C0E3500270E3400F30D3200C10DA9 -:101900003100900D3000600D2E00320D2D00050DC0 -:101910002C00D90C2B00AE0C2900850C29005C0C86 -:101920002700350C27000E0C2600E80B2400C40B02 -:101930002400A00B23007D0B23005A0B2100390B40 -:101940002100180B2000F80A1F00D90A1E00BB0A4C -:101950001E009D0A1D00800A1D00630A1C00470A24 -:101960001B002C0A1B00110A1A00F7091A00DD09D6 -:101970001900C4091900AB091900920917007B0965 -:101980001800630917004C091600360916002009D3 -:1019900016000A091500F5081500E0081400CC0827 -:1019A0001400B8081400A4081400900813007D085F -:1019B00012006B0813005808120046081200340881 -:1019C0001100230811001208110001081100F0078E -:1019D0001000E0071000D0071000C0071000B0078B -:1019E0000F00A107100091070E0083070F00740776 -:1019F0000F0065070E0057070E0049070E003B0752 -:101A00000D002E070E0020070D0013070D0006071E -:101A10000D00F9060C00ED060D00E0060C00D406E2 -:101A20000C00C8060C00BC060C00B0060C00A40696 -:101A30000B0099060C008D060B0082060B00770642 -:101A40000B006C060B0061060A0057060B004C06E3 -:101A50000A0042060A0038060A002E060A0024067A -:101A60000A001A060A001006090007060A00FD050A -:101A70000900F4050900EB050900E2050900D90594 -:101A80000900D0050900C7050900BE050900B50514 -:101A90000800AD050800A50509009C05080094058F -:101AA00008008C050800840508007C050800740502 -:101AB00008006C050700650508005D050700560570 -:101AC00008004E05070047050700400508003805D7 -:101AD0000700310507002A050700230507001C053C -:101AE0000600160507000F05070008050600020599 -:101AF0000700FB040600F5040700EE040600E804F6 -:101B00000600E2040700DB040600D5040600CF044B -:101B10000600C9040600C3040600BD040600B7049D -:101B20000600B1040500AC040600A6040600A004EB -:101B300005009B04060095040500900406008A0435 -:101B4000050085040500800406007A04050075047C -:101B50000500700405006B040500660405006104BF -:101B600005005C04050057040500520405004D04FF -:101B7000050048040500430405003E0404003A043F -:101B8000050035040500300404002C04050027047A -:101B90000400230405001E0404001A0404001604B3 -:101BA0000500110404000D040400090405000404E8 -:101BB000040000040400FC030400F8030400F40320 -:101BC0000400F0030400EC030400E8030400E40351 -:101BD0000400E0030400DC030400D8030400D40381 -:101BE0000400D0030400CC030400C8030300C503B1 -:101BF000030024F404D9201BC40C5C0E9804C4090F -:101C00005F0265077101F405F900FB04B3004804A5 -:101C10008700C10369005803550003034500BE0255 -:101C20003A008402310053022A00290225000402EE -:101C30002000E4011C00C8011900AF011700980141 -:101C400014008401130071011000610110005101A2 -:101C50000E0043010D0036010B002B010B0020018B -:101C60000B00150109000C01090003010800FB002D -:101C70000800F3000800EB000700E4000600DE00A7 -:101C80000600D8000600D2000600CC000500C70000 -:101C90000500C2000500BD000400B9000400B50045 -:101CA0000400B1000400AD000400A9000400A50078 -:101CB0000300A20003009F0004009B0003009800A3 -:101CC00003009500020093000300900003008D00C4 -:101CD00002008B00030088000200860002008400DE -:101CE0000300810002007F0002007D0002007B00F3 -:101CF0000200790002007700010076000200740003 -:101D0000020072000100710002006F0002006D000D -:101D100001006C0002006A00010069000200670017 -:101D2000010066000100650001006400020062001D -:101D3000010061000100600001005F0002005D0021 -:101D400001005C0001005B0001005A000100590025 -:101D50000100580001005700010056000100550025 -:101D60000100540001005300000053000100520024 -:101D7000010051000100500001004F0001004E0021 -:101D800000004E0001004D0001004C0001004B001E -:101D900000004B0001004A0001004900010048001A -:101DA0000000480001004700010046000000460016 -:101DB000010045000000450001004400010043000F -:101DC0000000430001004200000042000100410009 -:101DD000000041000100400001003F0000003F0002 -:101DE00001003E0000003E0001003D0000003D00FB -:101DF00001003C0000003C0000003C0001003B00F2 -:101E000000003B0001003A0000003A0001003900E8 -:101E100000003900010038000000380000003800E0 -:101E200001003700000037000100360000003600D6 -:101E300000003600010035000000350000003500CC -:101E400001003400000034000000340001003300C1 -:101E500000003300000033000100320000003200B7 -:101E600000003200010031000000310000003100AC -:101E700001003000000030000000300001002F00A1 -:101E800000002F0000002F0000002F0001002E0096 -:101E900000002E0000002E0001002D0000002D008B -:101EA00000002D0000002D0001002C0000002C007F -:101EB00000002C0000002C0001002B0000002B0073 -:101EC00000002B0000002B0001002A0000002A0067 -:101ED00000002A0000002A0001002900000029005B -:101EE000000029000000290000002900010028004E -:101EF0000000280000002800000028000000280042 -:101F00000100270000002700000027000000270034 -:101F10000000270001002600000026000000260027 -:101F2000000026000000260001002500000025001A -:101F3000000025000000250000002500000025000D -:101F40000100240000002400000024000000240000 -:101F500000002400010023000000230000002300F3 -:101F600000002300000023000000230000002300E5 -:101F700001002200000022000000220000002200D8 -:101F800000002200000022000100210000002100CA -:101F900000002100000021000000210000002100BD -:101FA00000002100010020000000200000002000AF -:101FB00000002000000020000000200000002000A1 -:101FC0000000200001001F0000001F0000001F0093 -:101FD00000001F0000001F0000001F0000001F0085 -:101FE00001001E0000001E0000001E0000001E0078 -:101FF0000000043700001E290000511B000058108B -:10200000000010090000CC0400007802000041012B -:102010000000626564002C2073797374656D207311 -:10202000746F7070656421204865617465725F49E2 -:10203000443A20004265642048656174696E6720F7 -:102040004661696C65640048656174696E67206605 -:1020500061696C65640042454420544845524D41D5 -:102060004C2052554E4157415900546865726D617C -:102070006C2052756E617761790045312048656149 -:1020800074696E67204661696C65640048656174B7 -:10209000696E67206661696C65640045312054484B -:1020A00045524D414C2052554E41574159005468BC -:1020B00065726D616C2052756E6177617900576150 -:1020C0006974696E6720666F7220686561747570E7 -:1020D0002E0A004C656176696E6720473236003FF4 -:1020E00053706563696669656420582C5920636F75 -:1020F0006F7264696E617465206F7574206F6620FD -:10210000626F756E64732E0A003F285229657065F0 -:1021100061742076616C7565206E6F7420706C61DF -:10212000757369626C653B206D7573742062652000 -:102130006174206C6561737420312E0A003F28524F -:10214000296570656174206D7573742062652073F4 -:102150007065636966696564207768656E206E6F77 -:1021600074207573696E6720616E204C43442E0A9B -:10217000003F537065636966696564206E6F7A7AA3 -:102180006C652074656D7065726174757265206E22 -:102190006F7420706C61757369626C652E0A003F04 -:1021A0005370656369666965642066696C616D6515 -:1021B0006E742073697A65206E6F7420706C61751F -:1021C0007369626C652E0A003F53706563696669C6 -:1021D0006564207072696D65206C656E6774682037 -:1021E0006E6F7420706C61757369626C652E0A0085 -:1021F0003F5072696D65206C656E677468206D75FF -:102200007374206265207370656369666965642014 -:102210007768656E206E6F74207573696E672061D4 -:102220006E204C43442E0A003F5370656369666913 -:102230006564206E6F7A7A6C652073697A65206EAA -:102240006F7420706C61757369626C652E0A003F53 -:1022500052657472616374696F6E204D756C746938 -:10226000706C696572206D7573742062652073707F -:10227000656369666965642E0A003F53706563692A -:10228000666965642052657472616374696F6E205B -:102290004D756C7469706C696572206E6F74207016 -:1022A0006C61757369626C652E0A003F53706563DB -:1022B0006966696564206C61796572206865696723 -:1022C0006874206E6F7420706C61757369626C65E0 -:1022D0002E0A0043292E0A003F5370656369666920 -:1022E0006564206265642074656D706572617475E3 -:1022F0007265206E6F7420706C61757369626C65B5 -:10230000202834302D00473236207374617274698E -:102310006E672E2E2E0A004F46460A0046616465FF -:10232000204865696768742000426564204C6576C2 -:10233000656C696E6720004661696C656420746F26 -:1023400020656E61626C6520426564204C6576652F -:102350006C696E670A00496E76616C6964206D6510 -:1023600073682E0A004469666665723A20004672F8 -:102370006F6D5374703A00537465707065723A00F3 -:10238000556E4C6576656C3A004C6576656C656497 -:102390003A005261773A20202020000A4C6F67698A -:1023A00063616C3A004361703A004D302F31204236 -:1023B0007265616B2043616C6C656400436F6E7481 -:1023C000696E7565004D302F3120427265616B205A -:1023D00043616C6C65640050726F6265205A204FD7 -:1023E00066667365743A200050726F6265205920EA -:1023F0004F66667365743A200050726F62652058AC -:10240000204F66667365743A20003F59206F7574DB -:10241000206F662072616E67652028302D33313061 -:1024200020746F20333130290A003F58206F7574B3 -:10243000206F662072616E67652028302D3331353C -:1024400020746F20333135290A003F5A206F75748C -:10245000206F662072616E676520282D32302074EF -:102460006F203230290A00220A00656E7175657589 -:1024700065696E672022002042002050006F6B00CB -:102480006F70656E00545249474745524544003AC3 -:10249000200066696C616D656E74007A5F6D696EAF -:1024A00000795F6D696E00785F6D696E00526570CE -:1024B0006F7274696E6720656E6473746F702073D9 -:1024C00074617475730A00205A3A0020593A00204A -:1024D000436F756E7420583A0020453A00205A3AEE -:1024E0000020593A00583A0020746F6F206C6F6ECC -:1024F0006720657874727573696F6E207072657687 -:10250000656E7465640A0020636F6C64206578747E -:10251000727573696F6E2070726576656E7465642E -:102520000A000000000000000000000000000000A1 -:10253000484200004842000080405761726E696E58 -:10254000673A20486F6D696E672042756D70204450 -:10255000697669736F72203C20310A000202040020 -:1025600000A0400000A0400000004000809D43000B -:10257000009B430000C843FFFFFF5A5F53544F5076 -:102580005F50494E005A5F535445505F50494E00CA -:102590005A5F4D494E5F50494E005A5F454E414289 -:1025A0004C455F50494E005A5F4449525F50494E76 -:1025B000005A5F43535F50494E00595F53544F5088 -:1025C0005F50494E00595F535445505F50494E008B -:1025D000595F4D494E5F50494E00595F454E41424B -:1025E0004C455F50494E00595F4449525F50494E37 -:1025F00000595F43535F50494E00585F53544F504A -:102600005F50494E00585F535445505F50494E004B -:10261000585F4D494E5F50494E00585F454E41420C -:102620004C455F50494E00585F4449525F50494EF7 -:1026300000585F43535F50494E0053535F50494E1B -:1026400000534552564F335F50494E005345525642 -:102650004F325F50494E00534552564F315F5049FB -:102660004E00534552564F305F50494E005344532D -:10267000530053445F4445544543545F50494E0012 -:1026800053434B5F50494E0052414D50535F4439C4 -:102690005F50494E0052414D50535F44385F50499E -:1026A0004E0052414D50535F4431305F50494E000F -:1026B0004D4F53495F50494E004D4F534645545F6F -:1026C000445F50494E004D49534F5F50494E004DB5 -:1026D0004158363637355F53535F50494E004C45AD -:1026E000445F50494E004845415445525F4245447D -:1026F0005F50494E004845415445525F305F504954 -:102700004E0046494C5F52554E4F55545F50494E0E -:102710000046414E315F50494E0046414E5F5049A0 -:102720004E0045315F535445505F50494E0045318E -:102730005F454E41424C455F50494E0045315F4434 -:1027400049525F50494E0045315F43535F50494EF7 -:102750000045305F535445505F50494E0045305F4F -:10276000454E41424C455F50494E0045305F44491B -:10277000525F50494E0045305F43535F50494E0011 -:10278000455F4D5558325F50494E00455F4D555895 -:10279000315F50494E00455F4D5558305F50494EAE -:1027A000004156525F53535F50494E004156525FAD -:1027B00053434B5F50494E004156525F4D4F534972 -:1027C0005F50494E004156525F4D49534F5F50494B -:1027D0004E0054454D505F4245445F50494E0054B1 -:1027E000454D505F315F50494E0054454D505F306C -:1027F0005F50494E0046494C57494454485F504940 -:102800004E005458440052584400205400205200B6 -:10281000416363656C65726174696F6E3A20500044 -:1028200050574D3A20202534640050574D3A20200F -:102830002534640050574D3A202025346400505709 -:102840004D3A20202534640050574D3A202025343D -:10285000640050574D3A20202534640050574D3ABB -:1028600020202534640050574D3A20202534640040 -:1028700050574D3A20202534640050574D3A2020BF -:102880002534640050574D3A2020253464005057B9 -:102890004D3A20202534640050574D3A20202534ED -:1028A000640050574D3A20202534640050574D3A6B -:1028B00020202534640050574D3A202025346400F0 -:1028C000433A2000423A2000413A200020202020B4 -:1028D000434F4D002020206E6F6E2D7374616E6427 -:1028E0006172642050574D206D6F64650020202078 -:1028F000636F6D7061726520696E74657272757058 -:102900007420656E61626C6564002020206F7665BE -:1029100072666C6F7720696E746572727570742060 -:10292000656E61626C6564003A20002020202054AE -:10293000494D534B00423A2000202020205443436D -:102940005200413A200020202020544343520020CE -:1029500020202043533A20002020202057474D3A82 -:10296000200050574D3A20202534640050574D3AEE -:1029700020202534640047004800000088008A00B9 -:102980008C00B300B400000098009A009C00A800DE -:10299000AA00AC0028012A012C0120202020544943 -:1029A0004D455200440045006E00800081006F00DC -:1029B000B000B1007000900091007100A000A10073 -:1029C000720020012101730020697320616C736F14 -:1029D000207469656420746F20746869732070695D -:1029E0006E0054494D45523143000A202E002020EC -:1029F000002020506F72743A2000202020002020F8 -:102A000020416E616C6F6720696E203D2025356C1A -:102A100064003C756E757365642F756E6B6E6F77B1 -:102A20006E3E002028412532642920200025336491 -:102A30002000257350494E3A20004F75747075740C -:102A4000203D2000496E70757420203D2000416EAD -:102A5000616C6F6720696E203D2025356C640070C5 -:102A6000726F7465637465642000202841253264A8 -:102A7000292020002533642000257350494E3A2038 -:102A8000000628000102280101F5273B00EA274340 -:102A900000DF274500D2274400C5273201B827337D -:102AA00001AC273401A1273501962728018B272A5D -:102AB0000180272C0176272A016B271C015D27182E -:102AC0000151271A0147272C013C2722012E271EDE -:102AD00001222724011A27090111270701022702D1 -:102AE00001F5260A01E6260801DE260D01CF264261 -:102AF00001C6263201B9260701B0263301A2260AF3 -:102B000001952608018826090180263401722631A4 -:102B1000016D26350162260B01572606014C26055C -:102B200001412604013A2635013126350127263791 -:102B3000011A2626011026030105263601FA25036F -:102B400001F1253101E7253D01DA253801D0250EB7 -:102B500001C5253C01BA250E01B1252801A7253064 -:102B6000019A253E019025120185252E017A251214 -:102B700001526573656E643A200043616E6E6F7436 -:102B8000206F70656E20737562646972200025691C -:102B9000730025696D202569730025696820256902 -:102BA0006D202569730025696420256968202569E1 -:102BB0006D202569730025697920256964202569C0 -:102BC000682025696D202569730023646566696E38 -:102BD000652044454641554C545F000062656400E1 -:102BE0004B6420004B6920004B702000504944206A -:102BF0004175746F74756E652066696E697368657A -:102C000064212050757420746865206C6173742091 -:102C10004B702C204B6920616E64204B6420636FE5 -:102C20006E7374616E74732066726F6D2062656C72 -:102C30006F7720696E746F20436F6E666967757277 -:102C40006174696F6E2E680A0050494420417574A2 -:102C50006F74756E65206661696C656421207469A6 -:102C60006D656F75740A00453120544845524D41D9 -:102C70004C2052554E41574159004245442054483A -:102C800045524D414C2052554E41574159005468D0 -:102C900065726D616C2052756E61776179004531A6 -:102CA0002048656174696E67204661696C656400DF -:102CB0004265642048656174696E67204661696C8D -:102CC00065640048656174696E67206661696C655A -:102CD0006400504944204175746F74756E652066B8 -:102CE00061696C6564212054656D706572617475ED -:102CF000726520746F6F20686967680A00204B64F2 -:102D00003A2000204B693A2000204B703A20000AFC -:102D100020436C617373696320504944200A00208A -:102D20004B643A2000204B693A2000204B703A2037 -:102D3000000A204E6F206F76657273686F6F740A99 -:102D4000002054753A2000204B753A2000206D6118 -:102D5000783A2000206D696E3A200020643A200005 -:102D600020626961733A2000504944204175746FB4 -:102D700074756E652073746172740A005049442042 -:102D80004175746F74756E65206661696C65642148 -:102D90002054656D706572617475726520746F6F13 -:102DA00020686967680A00504944204175746F744F -:102DB000756E65206661696C6564212042616420DE -:102DC0006578747275646572206E756D6265720ADD -:102DD0000070012C0190012701B0012201C0011DEA -:102DE00001F00118011002130130020E0160020906 -:102DF0000190020401C002FF000003FA004003F545 -:102E0000008003F000D003EB002004E6007004E132 -:102E100000E004DC004005D700C005D2004006CD2C -:102E200000D006C8008007C3003008BE00F008B913 -:102E300000C009B400B00AAF00B00BAA00D00CA5C6 -:102E400000000EA000500F9B00C010960050129181 -:102E50000000148C00C0158700B0178200B0197DE7 -:102E600000D01B7800001E730040206E0090226985 -:102E700000F024640040275F0090295A00E02B55A1 -:102E800000102E500020304B0010324600E033413D -:102E90000090353C001037370070383200A0392DD3 -:102EA00000B03A2800A03B2300603C1E00103D19F2 -:102EB00000903D1400103E0F00703E0A00C03E0519 -:102EC00000003F0000403FFBFF803FF6FFC03FF1A6 -:102ED000FF202D20496E76616C69642065787472DC -:102EE00075646572206E756D62657220210A00102E -:102EF00000C90210012C014001220170011801B02B -:102F0000010E01F00104015002FA00B002F000309D -:102F100003E600D003DC009004D2007005C800A0D6 -:102F200006BE000008B400B009AA00D00BA00060E3 -:102F30000E960060118C000015820020197800C0E8 -:102F40001D6E00A0226400B0275A00902C50000093 -:102F5000314600E0343C0010383200903A280060DE -:102F60003C1E00A03D1400803E0A00203F000045AA -:102F70003120544845524D414C2052554E41574105 -:102F8000590042454420544845524D414C20525529 -:102F90004E4157415900546865726D616C205275FD -:102FA0006E61776179004531204572723A204D415A -:102FB0005854454D50004572723A204D4158544581 -:102FC0004D5020424544004D415854454D502074C9 -:102FD0007269676765726564004531204572723AAF -:102FE000204D494E54454D50004572723A204D498E -:102FF0004E54454D5020424544004D494E54454D98 -:103000005020747269676765726564000A0A00205F -:10301000205A5F4D494E3A002020595F4D494E3AA3 -:10302000002020585F4D494E3A004D38342058203A -:1030300059205A204500202F002042403A002040CD -:103040003A0020573A0020573A00446F6E652E0A26 -:103050000066616C7365004641494C3A204E6F2012 -:10306000747269676765722064657465637465640A -:103070000A004641494C3A204E6F697365206465E9 -:10308000746563746564202D20706C6561736520C0 -:1030900072652D72756E20746573740A0020646504 -:1030A0007465637465642E0A003D20424C546F754C -:1030B0006368207072652056332E3120286F72208D -:1030C000636F6D70617469626C6529003D205A20E0 -:1030D000536572766F2050726F6265003D20424CDE -:1030E000546F7563682056332E310020282B2F2D06 -:1030F00020346D73293A20003A2033306D73206FED -:1031000072206D6F72650A002E2050756C736520F9 -:103110007769647468002A2A20506C6561736520A1 -:10312000747269676765722070726F626520776973 -:103130007468696E20333020736563202A2A0A0080 -:103140004641494C3A20424C544F55434820656E05 -:1031500061626C6564202D20536574207570207445 -:1031600068697320646576696365206173206120F6 -:10317000536572766F2050726F626520776974684C -:1031800020494E56455254494E4720736574207469 -:103190006F202774727565272E0A00202044455041 -:1031A0004C4F5945442073746174653A204C4F5715 -:1031B00020286C6F67696320302900202044455027 -:1031C0004C4F5945442073746174653A204849470F -:1031D0004820286C6F676963203129003D204D65C8 -:1031E0006368616E6963616C2053776974636820FA -:1031F00064657465637465640A005741524E494EB4 -:10320000473A20494E56455254494E4720736574FB -:1032100074696E672070726F6261626C792062619E -:10322000636B77617264732E0A002E204465706CA4 -:103230006F7920262073746F7720342074696D6550 -:10324000730A003D20424C546F75636820436C61E3 -:103250007373696320312E322C20312E332C20538E -:103260006D61727420312E302C20322E302C2032A1 -:103270002E322C20332E302C20332E3120646574D6 -:1032800065637465642E0A002E20436865636B20B5 -:10329000666F7220424C544F5543480A002E205A04 -:1032A0005F4D494E5F454E4453544F505F494E5613 -:1032B000455254494E473A20002E2050726F6265A5 -:1032C000205A5F4D494E5F50494E3A20002C2073E2 -:1032D000746F7720616E676C653A202020002C2087 -:1032E0006465706C6F7920616E676C653A2000537D -:1032F0006572766F2070726F626520746573740AF0 -:103300002E207573696E6720696E6465783A202097 -:10331000004D343320576169742043616C6C6564DF -:1033200000436F6E74696E7565004D3433205761CC -:1033300069742043616C6C656400576174636869EB -:103340006E672070696E730A0064697300656E00B1 -:1033500061626C65640A00656E6473746F70206DE1 -:103360006F6E69746F722000204500205A0020594A -:1033700000204D3932205800205A002059005800B2 -:1033800020204D61783A2000205A00205900580032 -:1033900020204D696E3A2000536F667420656E647C -:1033A00073746F70733A20004732380020496E768C -:1033B000616C69642065787472756465722000546C -:1033C0004D3344203130532050726F205265616478 -:1033D000792E005072696E74696E672E2E2E005021 -:1033E00072696E74205061757365640063616E6309 -:1033F000656C005072696E742041626F727465640E -:103400000055492041626F727400726573756D6575 -:10341000004D32340000809D4300009B430000C8F3 -:1034200043000000000000000000000000290A0026 -:103430002062797465733B20637263200053657466 -:1034400074696E67732053746F7265642028004539 -:103450004550524F4D206461746173697A652065EF -:1034600072726F722E0A00290A00206279746573E5 -:103470003B2063726320002073746F726564207355 -:10348000657474696E6773207265747269657665B8 -:1034900064202800202863616C63756C6174656426 -:1034A00029210A0020213D2000454550524F4D2042 -:1034B000435243206D69736D61746368202D202829 -:1034C00073746F7265642920002053697A653A200D -:1034D00000496E6465783A2000204D61726C696E17 -:1034E0003D563730290A00454550524F4D207665EC -:1034F0007273696F6E206D69736D617463682028E3 -:10350000454550524F4D3D000A20696E6974207A3E -:1035100070726F62655F7A6F6666736574203D20B6 -:1035200000454550524F4D20496E697469616C6980 -:103530007A65640A0048617264636F64656420445C -:10354000656661756C742053657474696E67732069 -:103550004C6F616465640A00EE020000EE02000038 -:10356000640000003C0000000000FA430000FA4341 -:103570000000204100008C420000A0420000A04258 -:103580000000C84300000C433A0A0020204D3630AA -:1035900033200020440020204D3431322053004697 -:1035A000696C616D656E742072756E6F75742073D1 -:1035B000656E736F723A0A002055004C0046696CC4 -:1035C000616D656E74206C6F61642F756E6C6F61D8 -:1035D00064206C656E677468733A0A0020204D3869 -:1035E0003531205A0020204D383531205900202017 -:1035F0004D3835312058005A2D50726F6265204F7A -:1036000066667365740020440020490020204D3315 -:10361000303420500020440020490020204D333019 -:10362000312050005049442073657474696E67738B -:103630003A0A00204A00202047323920572049000A -:10364000205A0020204D3432302053004175746FD1 -:1036500020426564204C6576656C696E673A0A00A5 -:10366000205A0020590020204D3230362058004882 -:103670006F6D65206F66667365743A0A00204A00B4 -:1036800020540020530020204D32303520420020AD -:103690004A3C6A756E635F6465763E00416476619C -:1036A0006E6365643A20423C6D696E5F7365676D59 -:1036B000656E745F74696D655F75733E20533C6D14 -:1036C000696E5F66656564726174653E20543C6D29 -:1036D000696E5F74726176656C5F66656564726160 -:1036E00074653E0020540020520020204D323034BA -:1036F000205000416363656C65726174696F6E2070 -:1037000028756E6974732F7332293A20503C707299 -:10371000696E745F616363656C3E20523C726574D0 -:10372000726163745F616363656C3E20543C7472C4 -:103730006176656C5F616363656C3E0A00204500DD -:10374000205A0020590020204D3230312058004DA1 -:103750006178696D756D20416363656C6572617434 -:10376000696F6E2028756E6974732F7332293A0A57 -:1037700000204500205A0020590020204D323033CF -:103780002058004D6178696D756D206665656472BD -:10379000617465732028756E6974732F73293A0AF2 -:1037A0000053746570732070657220756E69743A89 -:1037B0000A0020204D3230302044300A0020204DB5 -:1037C0003230302044002044697361626C65640AC1 -:1037D0000046696C616D656E742073657474696E02 -:1037E00067733A0020286D6D290020204732312070 -:1037F0002020203B20556E69747320696E206D6D0A -:1038000000486F6D696E67204661696C65640000F1 -:10381000002100240027002A002D00300033000181 -:10382000010000040107010A010000220025002810 -:10383000002B002E003100340002010000050108B9 -:10384000010B01000020002300260029002C002F7E -:103850000032000001000003010601090105050511 -:1038600005070508080808020202020A0A080804F7 -:103870000404040101010101010101030303030325 -:10388000030303040707070C0C0C0C0C0C0C0C02B4 -:1038900002020206060606060606060B0B0B0B0BBB -:1038A0000B0B0B01021020200808102040102040B4 -:1038B00080020102010804020101020408102040F4 -:1038C0008080402010080402018004020180402012 -:1038D000100804020108040201010204081020403B -:1038E00080010204081020408000000A0B02090C2D -:1038F0000D0E080703040100000000000000000096 -:1039000000000000000000000000000000000000B7 -:103910000000000000121110000000000000000074 -:103920000000000000000000000000000000005047 -:10393000726F62696E67204661696C65640A005047 -:10394000726F62696E67204661696C6564002E0A59 -:10395000006F70656E206661696C65642C20466935 -:103960006C653A2000706F7765726F6666004B4930 -:103970004C4C45442E20005072696E74657220686C -:10398000616C7465642E206B696C6C2829206361FE -:103990006C6C6564210A0053544F505045442E20EE -:1039A000005072696E7465722073746F7070656414 -:1039B0002064756520746F206572726F72732E209B -:1039C00046697820746865206572726F7220616E36 -:1039D0006420757365204D39393920746F20726504 -:1039E00073746172742E202854656D7065726174F1 -:1039F0007572652069732072657365742E20536536 -:103A000074206974206166746572207265737461D4 -:103A10007274696E67290A006563686F3A004572BF -:103A2000726F723A0042696C696E656172204C6512 -:103A300076656C696E6720477269643A0A00910185 -:103A4000B70111241FBECFEFD1E2DEBFCDBF00E032 -:103A50000CBF18E0A0E0B2E0EAE8F1E502E00BBF3D -:103A600002C007900D92AE39B107D9F72DE1AEE94A -:103A7000B8E001C01D92A23BB207E1F71DE1C0E230 -:103A8000DDE100E006C021970109802FFE010F94BF -:103A9000EE24CF31D10780E00807A9F70F949B0EE1 -:103AA0000D94B3280C9400002F923F924F925F9296 -:103AB0006F927F928F929F92AF92BF92CF92DF923E -:103AC000EF92FF920F931F93CF93DF93CDB7DEB7A3 -:103AD000E3970FB6F894DEBF0FBECDBF809109010A -:103AE000817091E098272091BD08921781F1909301 -:103AF000BD08811116C00E944C5E80919C1783FF07 -:103B000009C083EA93E00E94B95361E080E00F941A -:103B10005C0A1DC060E081E00F945C0A8CEB93E0CE -:103B200014C000919C1703FB002700F90E94DB5D85 -:103B300080919C17877F80939C17002341F060E061 -:103B400081E00F945C0A85ED93E00E94B953809167 -:103B5000191481FF11C180919E1590919F15891BA9 -:103B60008F70843008F008C18CE0E7EEF3E1DE01ED -:103B7000119601900D928A95E1F78091111890911C -:103B80001218A0911318B091141888A799A7AAA782 -:103B9000BBA79C01AD016091E7137091E813809180 -:103BA000E9139091EA130F94F6246B017C01609362 -:103BB000E7137093E8138093E9139093EA138091CD -:103BC000151890911618A0911718B09118188CA775 -:103BD0009DA7AEA7BFA79C01AD016091EB137091AB -:103BE000EC138091ED139091EE130F94F62468A3DB -:103BF00079A38AA39BA36093EB137093EC13809338 -:103C0000ED139093EE138091191890911A18A091CA -:103C10001B18B0911C1888AB99ABAAABBBAB9C012D -:103C2000AD016091EF137091F0138091F1139091B9 -:103C3000F2130F94F6244B015C016093EF13709321 -:103C4000F0138093F1139093F213A7019601C7012B -:103C5000B6010F94671E2B013C0128A139A14AA18E -:103C60005BA1CA01B9010F94671E9B01AC01C3019E -:103C7000B2010F94F7242B013C01A5019401C50169 -:103C8000B4010F94671E9B01AC01C301B2010F94F4 -:103C9000F7240F94A5279B01AC0160E070E080E859 -:103CA0009FE30F94F12520916302309164024091CB -:103CB0006502509166020F94671E2DEC3CEC4CECB3 -:103CC0005DE30F94671E20E030E040E85EE30F9470 -:103CD000671E2B013C0120E030E040E85FE30F94D9 -:103CE000011E87FFF1C3A3019201C701B6010F9422 -:103CF000671E28A539A54AA55BA50F94F7246093F4 -:103D0000E7137093E8138093E9139093EA13A301E8 -:103D1000920168A179A18AA19BA10F94671E2CA58D -:103D20003DA54EA55FA50F94F7246093EB13709308 -:103D3000EC138093ED139093EE13A3019201C50150 -:103D4000B4010F94671E28A939A94AA95BA90F9449 -:103D5000F7246093EF137093F0138093F113909313 -:103D6000F2130E94BDBE8CE0FE013196A7EEB3E1D6 -:103D700001900D928A95E1F78091BC0881110C9415 -:103D800037398091BA089091BB089C012F5F3F4F53 -:103D90003093BB082093BA08883E934010F40C94EB -:103DA000373981E08093BC081092BB081092BA08A2 -:103DB00080911711882309F498C30E94AFCD811117 -:103DC00094C38091B9088F5F8093B9088091B90836 -:103DD000853620F01092B90810921711E091171152 -:103DE0008E2FEE0F990BAA0BBB0BFC013197E7301E -:103DF000F10508F0A0C08827EE58FF4F8F4F0D94B3 -:103E0000EE240E94A7CD882309F495C081E0809319 -:103E1000290288EE93E00E94B95380E190E09093EC -:103E200021168093201685E08093141602E80093F3 -:103E3000171684E190E1A0E0B0E08093181690930B -:103E40001916A0931A16B0931B160F94800181E0E7 -:103E50009AE5909321168093201686E390E0909344 -:103E600023168093221687E080931416009317166A -:103E700084E890E0A0E0B0E08093181690931916C3 -:103E8000A0931A16B0931B160F94800152C00E9483 -:103E9000A7CD882309F44FC048C086EF93E00E9465 -:103EA000B95381E09AE5909321168093201680E41F -:103EB00090E0909323168093221607E00093141647 -:103EC00082E88093171684E890E0A0E0B0E0809349 -:103ED000181690931916A0931A16B0931B160F94E8 -:103EE00080010093171127C08091B808882319F129 -:103EF0000E94A7CD8823F9F00E94AFCD81111BC08D -:103F0000F7C20E94A7CD8823B1F00E94AFCD8111E6 -:103F100012C01CC30E94AFCD81110DC042E060E011 -:103F200070E0CB010E94C5CD04C00E94AFCD8111CD -:103F300002C01092171180912902882309F4ACC2A3 -:103F40008091131190911411892B09F08FC18091E8 -:103F5000B5089091B608892B09F01EC184E096E05F -:103F6000909321168093201680EA90E89093231670 -:103F70008093221617E01093141602E80093171688 -:103F800080EA90E0A0E0B0E08093181690931916B4 -:103F9000A0931A16B0931B160F948001809106020D -:103FA00090910702A0910802B09109020097A10523 -:103FB000B10511F5109221161092201615E01093FC -:103FC0001416009317168AE890E1A0E0B0E0809301 -:103FD000181690931916A0931A16B0931B160F94E7 -:103FE000800189E090E09093211680932016109331 -:103FF00014160093171640C00196A11DB11DF5E0DF -:10400000B695A79597958795FA95D1F70197A10948 -:10401000B109009731E0A307B10558F0B09321161C -:10402000A0932016909323168093221610931416B3 -:1040300007C0909321168093201685E08093141674 -:1040400012E8109317168AE890E1A0E0B0E08093A0 -:10405000181690931916A0931A16B0931B160F9466 -:10406000800188E090E0909321168093201685E0EF -:1040700080931416109317168CE890E1A0E0B0E03E -:104080008093181690931916A0931A16B0931B16C6 -:104090000F9480018091060290910702A09108027E -:1040A000B09109020097E1E0AE07B10550F0B0937E -:1040B0002116A0932016909323168093221687E052 -:1040C00005C0909321168093201685E080931416E6 -:1040D00082E88093171688E890E1A0E0B0E0809332 -:1040E000181690931916A0931A16B0931B160F94D6 -:1040F00080018091060290910702A0910802B09180 -:104100000902BA2FA92F982F88270097F1E0AF074F -:10411000B10550F0B0932116A0932016909323166A -:104120008093221687E005C0909321168093201675 -:1041300085E08093141612E81093171681EA90E038 -:10414000A0E0B0E08093181690931916A0931A1669 -:10415000B0931B160F94800180912918882319F0C1 -:1041600082E090E002C083E090E09093211680937B -:10417000201685E0809314161093171685E490E1BD -:10418000A0E0B0E08093181690931916A0931A1629 -:10419000B0931B160F9480010091B5081091B608DA -:1041A000053611057CF4109321160093201685E046 -:1041B0008093141682E88093171680E090E1A0E0C7 -:1041C000B0E011C0C80184569109909321168093E4 -:1041D000201685E08093141682E88093171681E0FC -:1041E00090E1A0E0B0E08093181690931916A09388 -:1041F0001A16B0931B160F9480010F5F1F4F109378 -:10420000B6080093B508093C110564F184E094E018 -:104210000E94B95381E090E09093141180931311A0 -:104220008093290281E09AE59093211680932016CD -:104230008DE290E0909323168093221687E080937E -:10424000141682E88093171684E890E0A0E0B0E0AE -:104250008093181690931916A0931A16B0931B16F4 -:104260000F9480011092BC080C94373980919E15F0 -:1042700090919F15891B8F7009F092C10E944CD7B5 -:1042800081118EC180919C1782FD8AC112C384E680 -:1042900090E09093211680932016109314160093AB -:1042A00017168EE090E1A0E0B0E08093181690938E -:1042B0001916A0931A16B0931B160F948001C6010D -:1042C00082539048880F991F90932116809320164F -:1042D00010931416009317168FE090E1A0E0B0E061 -:1042E0008093181690931916A0931A16B0931B1664 -:1042F0000F9480010E94C8ED90E090932116809366 -:10430000201685E08093141682E88093171686E1C4 -:1043100090E1A0E0B0E08093181690931916A09356 -:104320001A16B0931B160F94800120E030E048EC81 -:1043300052E460910B1470910C1480910D149091C3 -:104340000E140F94671E0F946326709321166093CA -:10435000201615E01093141602E80093171686E253 -:1043600090E1A0E0B0E08093181690931916A09306 -:104370001A16B0931B160F9480016091120C709165 -:10438000130C8091140C9091150C0F94632670936C -:10439000211660932016109314160093171686E3C7 -:1043A00090E1A0E0B0E08093181690931916A093C6 -:1043B0001A16B0931B160F948001609169097091D1 -:1043C0006A0980916B0990916C090F946326709330 -:1043D00021166093201610931416009317168CE381 -:1043E00090E1A0E0B0E08093181690931916A09386 -:1043F0001A16B0931B160F9480018091160C9091A1 -:10440000170C909321168093201610931416009386 -:10441000171684E390E1A0E0B0E080931816909323 -:104420001916A0931A16B0931B160F948001809151 -:104430006D0990916E099093211680932016109328 -:104440001416009317168AE390E1A0E0B0E0809381 -:10445000181690931916A0931A16B0931B160F9462 -:1044600080010091B10801113CC18091B308811114 -:1044700038C18091B80881118BC18091C815909185 -:10448000C915A091CA15B091CB158C3420E19207C3 -:10449000A105B10509F0A1C134E6C32E36E1D32E42 -:1044A0000AE18AE194E10E94245CE090A608F09081 -:1044B000A708181619060CF085C38AE1E816F1045E -:1044C00014F40C94F8347EC38CE0FE013196A7EE10 -:1044D000B3E101900D928A95E1F70E94BDBE8091F3 -:1044E00019148D7F8093191447CC1092B9086ECCA3 -:1044F00086EB95E00E94B9538091B70890E0A0E068 -:10450000B0E0895B9F4FAE4FB54A21E03AE530936A -:10451000211620932016909323168093221687E06D -:104520008093141682E88093171684E890E0A0E048 -:10453000B0E08093181690931916A0931A16B093B2 -:104540001B160F9480011092B808F3CC81E0809381 -:1045500029021092171184EC95E00E94B95381E072 -:104560009AE590932116809320168EE490E0909324 -:1045700023168093221687E08093141682E8809396 -:10458000171684E890E0A0E0B0E0809318169093AE -:104590001916A0931A16B0931B160F948001CBCC5A -:1045A0008CE090E0909321168093201605E0009314 -:1045B000141682E88093171684E190E1A0E0B0E041 -:1045C0008093181690931916A0931A16B0931B1681 -:1045D0000F9480010E94AAEC20E13EE040E050E010 -:1045E0000F9457242115310591E04907510560F0DA -:1045F00050932116409320163093231620932216B1 -:1046000087E08093141606C030932116209320165D -:104610000093141602E80093171680E190E1A0E0E1 -:10462000B0E08093181690931916A0931A16B093C1 -:104630001B160F9480010E94AAEC20E13EE040E0AE -:1046400050E00F9457242CE330E040E050E00F940A -:104650005724309321162093201615E0109314163A -:104660000093171682E190E1A0E0B0E08093181665 -:1046700090931916A0931A16B0931B160F948001ED -:104680000E94C8ED882391F00E94C8ED8F5F80934F -:10469000B408C82ED12C833308F0F9CDC601880F99 -:1046A000991F909321168093201604C01092211612 -:1046B0001092201610931416009317168EE090E1B6 -:1046C000A0E0B0E08093181690931916A0931A16E4 -:1046D000B0931B160F948001109221161092201691 -:1046E000F7CD20E030E048EC52E46091120C70917C -:1046F000130C8091140C9091150C0F94671E6B0194 -:104700007C016091160C7091170C072E000C880B21 -:10471000990B0F94081E9B01AC01C701B6010F94C1 -:10472000F1250F946A266436710510F064E670E096 -:10473000709321166093201645E0A42EA0921416C3 -:1047400052E8B52EB092171684E290E1A0E0B0E0F6 -:104750008093181690931916A0931A16B0931B16EF -:104760000F948001C090120CD090130CE090140CA8 -:10477000F090150C20E030E040E253E4C701B601B0 -:104780000F94572718160CF03AC1011188C137C190 -:104790008091A80801E0080F0093A80890E090938A -:1047A00021168093201685E08093141682E880936A -:1047B000171682E490E1A0E0B0E080931816909381 -:1047C0001916A0931A16B0931B160F9480010A3085 -:1047D00008F453CE1092A80850CE8A349041A10517 -:1047E000B10509F459CE80E00E94A3CE20E030E06C -:1047F00040E251E40F94671E0F94632670932116D4 -:104800006093201615E01093141602E80093171613 -:1048100088E490E1A0E0B0E0809318169093191618 -:10482000A0931A16B0931B160F94800181E00E948A -:10483000A3CE20E030E040E251E40F94671E0F94D5 -:10484000632670932116609320161093141600931C -:1048500017168AE490E1A0E0B0E0809318169093D8 -:104860001916A0931A16B0931B160F94800182E0BC -:104870000E94A3CE20E030E040E251E40F94671E96 -:104880000F946326709321166093201610931416CC -:10489000009317168CE490E1A0E0B0E08093181626 -:1048A00090931916A0931A16B0931B160F948001BB -:1048B000F3CD8091690990916A09A0916B09B0913B -:1048C0006C0988A399A3AAA3BBA360916D097091F9 -:1048D0006E09072E000C880B990B0F94081E6B01B4 -:1048E0007C0120E030E040E050E40F94F62428A161 -:1048F00039A14AA15BA10F945727181604F14090E3 -:10490000120C5090130C6090140C7090150C609168 -:10491000160C7091170C072E000C880B990B0F9436 -:10492000081E4B015C0120E030E040E251E40F94AE -:10493000F624A30192010F945727181604F58DE071 -:1049400090E0909321168093201685E080931416B2 -:1049500082E88093171684E190E1A0E0B0E08093B4 -:10496000181690931916A0931A16B0931B160F944D -:1049700080018091161181113FC081E03DC020E08F -:1049800030E040E050E4C701B6010F94F72428A1BD -:1049900039A14AA15BA10F94011E87FD0EC020E042 -:1049A00030E040E251E4C501B4010F94F724A301C3 -:1049B00092010F94011E87FFB8CC84E190E09093A0 -:1049C00021168093201685E08093141682E8809348 -:1049D000171684E190E1A0E0B0E080931816909360 -:1049E0001916A0931A16B0931B160F94800180918C -:1049F0001611811101C082E08093161196CC60914E -:104A0000160C7091170C072E000C880B990B0F9445 -:104A1000081E9B01AC01C701B6010F945727609196 -:104A2000B30887FDAEC0662309F423CD062E000C23 -:104A3000770B8BE397E00F94110A1092B308109252 -:104A4000B6081092B50884E090E090932116809308 -:104A5000201685E08093141602E8009317168EE85E -:104A600090E1A0E0B0E08093181690931916A093FF -:104A70001A16B0931B160F94800181E09AE590936B -:104A800021168093201683E590E09093231680935F -:104A9000221687E0809314160093171663C01092B5 -:104AA000B10820E030E040E251E46091A908709143 -:104AB000AA088091AB089091AC080F94671E0F94E0 -:104AC00063267093211660932016A0921416B0925C -:104AD000171684E590E1A0E0B0E08093181690935B -:104AE0001916A0931A16B0931B160F94800120E09C -:104AF00030E040E251E46091AD087091AE088091E1 -:104B0000AF089091B0080F94671E0F9463267093BE -:104B1000211660932016A0921416B092171688E5FD -:104B200090E1A0E0B0E08093181690931916A0933E -:104B30001A16B0931B160F94800182ED95E00E9427 -:104B4000B95381E09AE5909321168093201681E471 -:104B500090E0909323168093221687E0809314169A -:104B6000B092171684E890E0A0E0B0E080931816A9 -:104B700090931916A0931A16B0931B160F948001E8 -:104B800078CC662309F475CC8091B5089091B6086D -:104B90009C012F5F3F4F3093B6082093B50865E026 -:104BA00070E00F94DA24909321168093201685E00C -:104BB0008093141682E8809317168EE890E1A0E0A7 -:104BC000B0E0D4CF1E141F040CF04CCB9091C5154F -:104BD00080916416981322C09091C6158091651635 -:104BE00098131CC023E0E216F104C4F090916616FD -:104BF0009093C415809167168093C7159330D1F4B4 -:104C0000982F9D7F9038B1F4909168169F3409F0E9 -:104C100059C0909169169B3409F054C08AE1E4E6CA -:104C2000F6E1DF011D928A95E9F71092A70810922C -:104C3000A60818CB833809F045C08091681690917A -:104C40006916982789279827A0E0B0E08093C815B7 -:104C50009093C915A093CA15B093CB15C0906A164E -:104C6000D12CE12CF12CC092CC15D092CD15E09234 -:104C7000CE15F092CF15ABE6B6E140E050E0BA01B8 -:104C80004C155D056E057F0508F04AC04A015B01C1 -:104C9000B694A79497948794F4013696EE0FFF1F6D -:104CA000EC53FA4E8C9190E0982F882711962C9116 -:104CB0001197822B918380834E5F5F4F6F4F7F4FA1 -:104CC0001296DECF813861F58091681690E0A0E001 -:104CD000B0E08093C8159093C915A093CA15B093FE -:104CE000CB1580916916482F50E060E070E040934A -:104CF000CC155093CD156093CE157093CF15AAE6C1 -:104D0000B6E1E0EDF5E190E020E030E0281739076A -:104D100039F04D9150E0419351932F5F3F4FF6CFC3 -:104D20008AE1E4E6F6E1DF011D928A95E9F7109247 -:104D3000A7081092A60885E194E00E94B9536091FB -:104D40001711161664F4062E000C770B80E397E01B -:104D50000F94110A8AE00E94AE520C94E9346091DB -:104D6000D0157091D1158EE197E00F94F3098AE088 -:104D70000E94AE524091C8155091C9156091CA1554 -:104D80007091CB158FE097E00F94E2098AE00E94C2 -:104D9000AE528091C8159091C915A091CA15B091D5 -:104DA000CB15E5E7F2E000E010E04191519161910F -:104DB00071914115510561057105D1F148175907E8 -:104DC0006A077B0791F5AC01BD014850504161096C -:104DD0007109453051056105710568F1AC01BD01EE -:104DE000477F423350416105710541F18433F0E161 -:104DF0009F07A105B10511F1AC01BD014654504119 -:104E0000610971094730510561057105D0F0AC01A8 -:104E1000BD01445550416109710945305105610595 -:104E2000710588F402E110E00EC00F5F1F4FBDCF87 -:104E30000FEF1FEF08C003E010E005C008E010E02E -:104E400002C00FE010E08A509042A109B109833DF1 -:104E50009105A105B10530F00F3F2FEF120721F4A6 -:104E60000C94E93409E110E0F6E3CF2EF4E0DF2EF4 -:104E7000F60181916F01882319F00E94AE52F8CF9C -:104E8000B801012E000C880B990B0E9422530E943E -:104E9000B35383E097E00E94B9530A31110510F033 -:104EA0000C94E534F8018827E758FF4F8F4F0D9495 -:104EB000EE248091D0159091D11581309105E1F4C7 -:104EC000109229028FEF8093881A60E080E00F949F -:104ED0005C0A04E414E0D8018D918D01882319F057 -:104EE0000E94AE52F8CF81E09AE59093211680930C -:104EF00020168EE290E0AFC08230910509F0C5C067 -:104F000081E0809329020E9439EE8FEF96E0909322 -:104F1000A2098093A1098BE090E0909321168093E1 -:104F2000201605E00093141612E81093171680E07F -:104F300092E1A0E0B0E08093181690931916A09328 -:104F40001A16B0931B160F9480011092211610921E -:104F5000201600931416109317168EE090E1A0E02F -:104F6000B0E08093181690931916A0931A16B09378 -:104F70001B160F9480011092211610922016009398 -:104F80001416109317168FE090E1A0E0B0E0809324 -:104F9000181690931916A0931A16B0931B160F9417 -:104FA000800110922116109220160093141610936F -:104FB000171686E190E1A0E0B0E080931816909378 -:104FC0001916A0931A16B0931B160F94800162E075 -:104FD00070E080E090E00E94B7CE1092211610920F -:104FE0002016009314161093171680E190E1A0E0AC -:104FF000B0E08093181690931916A0931A16B093E8 -:105000001B160F9480011092211610922016009307 -:1050100014161093171682E190E1A0E0B0E080939F -:10502000181690931916A0931A16B0931B160F9486 -:1050300080010EE614E0F80181918F01882319F0B8 -:105040000E94AE52F8CF81E09AE5909321168093AA -:1050500020168DE290E0909323168093221687E02D -:105060008093141682E88093171684E890E0A0E0FD -:10507000B0E08093181690931916A0931A16B09367 -:105080001B160F9480010C94E9348330910549F587 -:1050900081E08093290208E914E0D8018D918D0107 -:1050A0008823C9F00E94AE52F8CF8091C815909124 -:1050B000C915A091CA15B091CB158233F0E19F07B5 -:1050C000A105B10509F05BC48091D0159091D1156F -:1050D000009709F023C480910502882309F40DC3C9 -:1050E0001DC3049711F00C94E934109229020C941A -:1050F000E9348091D0159091D11581309105D1F48A -:105100001092290280910502882319F082E090E034 -:1051100002C083E090E0909321168093201685E0F2 -:105120008093141682E8809317168EE190E1A0E038 -:10513000B0E09FCF8230910519F502EC14E0F80140 -:1051400081918F01882319F00E94AE52F8CF81E03F -:105150008093290280911611843049F081E09AE50C -:10516000909321168093201685E390E074CF81E020 -:105170009AE5909321168093201686E390E06BCFFA -:105180008330910509F04CC020910502222319F1CA -:10519000909321168093201685E08093141682E860 -:1051A000809317168EE190E1A0E0B0E0809318168E -:1051B00090931916A0931A16B0931B160F948001A2 -:1051C00040E060E070E088EC92E40E94A0EE109273 -:1051D00005020C94E93482E090E0909321168093CC -:1051E000201685E08093141682E8809317168EE1CE -:1051F00090E1A0E0B0E08093181690931916A09368 -:105200001A16B0931B160F94800140E060E070E026 -:10521000CB010E94A0EE81E0809305020C94E9345A -:10522000049711F00C94E93480917C098823F1F003 -:1052300082E090E0909321168093201685E0809381 -:10524000141682E8809317168FE190E1A0E0B0E099 -:105250008093181690931916A0931A16B0931B16E4 -:105260000F94800110927C090C94E93483E090E063 -:10527000909321168093201685E08093141682E87F -:10528000809317168FE190E1A0E0B0E080931816AC -:1052900090931916A0931A16B0931B160F948001C1 -:1052A00081E080937C090C94E9346091D015709171 -:1052B000D11580E090E00F94061E6B017C0120E088 -:1052C00030E04AEF53E40F94011E87FF11C020E045 -:1052D00030E040E251E4C701B6010F945727181699 -:1052E0006CF0C12CD12C70E2E72E71E4F72E06C0D1 -:1052F000C12CD12CEAEFEE2EE3E4FE2EC701B6015D -:105300000F94632670934F0260934E020C94E9341D -:105310008091C8159091C915A091CA15B091CB156F -:105320008830F0E19F07A105B10509F050C081E088 -:105330009AE590932116809320168DE290E0909349 -:1053400023168093221687E08093141612E8109398 -:10535000171684E890E0A0E0B0E0809318169093D0 -:105360001916A0931A16B0931B160F948001109271 -:1053700021161092201605E00093141610931716AC -:1053800080E190E1A0E0B0E08093181690931916A8 -:10539000A0931A16B0931B160F9480011092211639 -:1053A00010922016009314161093171682E190E1C4 -:1053B000A0E0B0E08093181690931916A0931A16E7 -:1053C000B0931B160F9480010E9439EE8FC08A3073 -:1053D00020E19207A105B105E1F58091D0159091EA -:1053E000D115813F910511F00C94E93481E09AE5E3 -:1053F000909321168093201686E390E090932316D5 -:105400008093221687E08093141682E88093171603 -:1054100084E890E0A0E0B0E080931816909319160D -:10542000A0931A16B0931B160F9480014EE755E017 -:1054300065E875E084E00E94839560E081E795E08F -:105440000E94FAED87E695E09093A2098093A10966 -:105450004DC08C309041A105B10509F047C0809145 -:10546000D0159091D115019709F040C00F94E01725 -:105470001092161181E0809329028CE090E09093C5 -:1054800021168093201685E08093141612E810935D -:10549000171684E190E1A0E0B0E080931816909395 -:1054A0001916A0931A16B0931B160F94800181E071 -:1054B0009AE5909321168093201685E390E09093CF -:1054C00023168093221687E08093141610931716E4 -:1054D00084E890E0A0E0B0E080931816909319164D -:1054E000A0931A16B0931B160F9480018091C815D3 -:1054F0009091C915A091CA15B091CB158C309041EF -:10550000A105B10511F00C94E9348091D01590916A -:10551000D115029711F00C94E9340F94E01781E053 -:105520008093B30810921611809329021092B60846 -:105530001092B50881E09AE5909321168093201689 -:1055400082E590E088CD2091D0153091D115B90138 -:1055500080E090E037FF09C00F94061E20E030E0A5 -:1055600040E857E40F94F62402C00F94061E20E092 -:1055700030E048EC52E40F94F1256B017C0120E00F -:1055800030E040EA51EC0F94572787FD31C020E00E -:1055900030E040EA51E4C701B6010F94011E18162D -:1055A0003CF1A701960160910B1470910C1480914D -:1055B0000D1490910E140F94F62420E030E048EC86 -:1055C00053E40F94671E90580F946326CB010F94F9 -:1055D0007504C0920B14D0920C14E0920D14F0924A -:1055E0000E148AEF96E09093A2098093A10928C037 -:1055F00020E030E048EC52E460910B1470910C1400 -:1056000080910D1490910E140F94671E0F946326D1 -:10561000709321166093201685E08093141682E81B -:105620008093171686E290E1A0E0B0E08093181610 -:1056300090931916A0931A16B0931B160F9480011D -:1056400060910B1470910C1480910D1490910E14B4 -:105650008E010B5E1F4F23E041E00F94D9189F93FA -:105660008F938CEE96E09F938F93045111091F93B3 -:105670000F930F94991DC8010E9491CF0F900F9026 -:105680000F900F900F900F900C94E9348091D015EB -:105690009091D115009729F481E0809329020C9410 -:1056A000E93481309105B1F480910502882349F0F5 -:1056B00081E09AE590932116809320168CE390E088 -:1056C000CACC81E09AE590932116809320168BE353 -:1056D00090E0C1CC82309105F9F28330910539F523 -:1056E0008091050240E0882389F060E070E088EC5A -:1056F00092E40E94A0EE1092050281E09AE5909358 -:1057000021168093201689E390E0A5CC60E070E03C -:10571000CB010E94A0EE81E08093050281E09AE532 -:1057200090932116809320168AE390E094CC8530E4 -:10573000910559F540E060E070E084E393E40E9455 -:105740003ACD46E060E070E08CE892E40E943ACD09 -:1057500084EB90E0909321168093201605E000934F -:10576000141612E81093171684E390E1A0E0B0E05D -:105770008093181690931916A0931A16B0931B16BF -:105780000F94800186E490E02DC08630910599F554 -:1057900040E060E070E080E793E40E943ACD46E0AC -:1057A00060E070E08CED92E40E943ACD80EF90E0F2 -:1057B000909321168093201605E00093141612E8AA -:1057C0001093171684E390E1A0E0B0E080931816E0 -:1057D00090931916A0931A16B0931B160F9480017C -:1057E0008EE690E090932116809320160093141675 -:1057F00010931716BFC0813F910511F00C94E93446 -:1058000040E060E070E0CB010E94A0EE41E060E08B -:1058100070E0CB010E94A0EE1092050240E060E033 -:1058200070E0CB010E943ACD46E060E070E0CB0131 -:105830000E943ACD109221161092201605E0009396 -:10584000141612E81093171684E390E1A0E0B0E07C -:105850008093181690931916A0931A16B0931B16DE -:105860000F94800161E070E080E090E00E94B7CE8C -:1058700010922116109220160093141610931716EA -:105880008AE390E1A0E0B0E0809318169093191697 -:10589000A0931A16B0931B160F94800161E070E07C -:1058A00080E090E00E94B7CE84E190E090932116D2 -:1058B00080932016009314161093171684E190E13C -:1058C000A0E0B0E08093181690931916A0931A16D2 -:1058D000B0931B160F94800181E09AE590932116F6 -:1058E0008093201689E390E09093231680932216EC -:1058F00087E0809314161093171684E890E0A0E0D8 -:10590000B0E08093181690931916A0931A16B093CE -:105910001B160F94800182E00C94E23481309105D3 -:10592000A9F440E060E070E0CB010E943ACD109213 -:1059300021161092201685E08093141682E8809339 -:10594000171684E390E1A0E0B0E093CB029711F04A -:105950000C94E93446E060E070E0CB010E943ACD5F -:10596000109221161092201685E08093141682E87A -:10597000809317168AE390E1A0E0B0E07ACB8433FD -:1059800020E19207A105B10551F46091D015709105 -:10599000D11580E090E00F94061E40E010C08A33DD -:1059A0009041A105B10511F00C94E9346091D01536 -:1059B0007091D11580E090E00F94061E46E00E94A1 -:1059C0003ACD0C94E9348091D0159091D11500977F -:1059D00009F462CE8130910509F04CC080912918FC -:1059E000882319F083E090E002C082E090E0909379 -:1059F00021168093201685E08093141682E8809308 -:105A0000171685E490E1A0E0B0E08093181690931B -:105A10001916A0931A16B0931B160F9480018AE0F2 -:105A200090E0909321168093201685E080931416C1 -:105A300082E88093171680E092E1A0E0B0E08093C6 -:105A4000181690931916A0931A16B0931B160F945C -:105A500080010E94A7CD811103C08CED96E002C0A9 -:105A600080ED96E09093A2098093A10982E0809353 -:105A7000171171C18230910509F0A8C081E08093AF -:105A8000290288E0E9EAF8E0DF011D928A95E9F74A -:105A900080E090E0A0E2B1E48093A9089093AA0886 -:105AA000A093AB08B093AC088093AD089093AE0878 -:105AB000A093AF08B093B00884E690E090932116CD -:105AC0008093201605E00093141612E81093171621 -:105AD00084E590E1A0E0B0E0809318169093191649 -:105AE000A0931A16B0931B160F94800120E030E0AB -:105AF00040E251E46091AD087091AE088091AF082A -:105B00009091B0080F94671E0F946326709321162E -:105B100060932016009314161093171688E590E1F1 -:105B2000A0E0B0E08093181690931916A0931A166F -:105B3000B0931B160F9480016091120C7091130C9E -:105B40008091140C9091150C0F946326709321167C -:105B500060932016009314161093171686E390E1B5 -:105B6000A0E0B0E08093181690931916A0931A162F -:105B7000B0931B160F9480018091160C9091170C16 -:105B800090932116809320160093141610931716E5 -:105B900084E390E1A0E0B0E080931816909319168A -:105BA000A0931A16B0931B160F94800162E070E068 -:105BB00080E090E00E94B7CE81E09AE590932116B4 -:105BC0008093201681E490E00C9425368330910573 -:105BD00009F076C01092B70880E00E94A3CE20E0C2 -:105BE00030E040E251E40F94671E0F9463267093F7 -:105BF00021166093201605E00093141612E8109306 -:105C0000171688E490E1A0E0B0E080931816909316 -:105C10001916A0931A16B0931B160F94800181E0F9 -:105C20000E94A3CE20E030E040E251E40F94671ED2 -:105C30000F94632670932116609320160093141618 -:105C4000109317168AE490E1A0E0B0E08093181654 -:105C500090931916A0931A16B0931B160F948001F7 -:105C600082E00E94A3CE20E030E040E251E40F94B5 -:105C7000671E0F946326709321166093201600937D -:105C80001416109317168CE490E1A0E0B0E0809316 -:105C9000181690931916A0931A16B0931B160F940A -:105CA000800162E070E080E090E00E94B7CE81E089 -:105CB0009AE5909321168093201687E490E0C5C75B -:105CC0008430910509F485C68530910549F44EE785 -:105CD00050E160E070E089EE94E00F942F0179C606 -:105CE000069709F076C68CEC96E09093A209809313 -:105CF000A1098BE090E02BC28091D0159091D11535 -:105D0000019711F51092290281E09AE590932116EE -:105D1000809320168FE390E09093231680932216B1 -:105D200087E08093141682E88093171684E890E049 -:105D3000A0E0B0E08093181690931916A0931A165D -:105D4000B0931B160F9480018091D0159091D115BE -:105D5000029709F03EC681E09AE590932116809360 -:105D6000201680E490E077C9E091D015F091D1152C -:105D70003197EB30F10508F0E4C18827ED56FF4F6D -:105D80008F4F0D94EE248091181480FF5CC6869589 -:105D900080FD5CC658C62DEC3CEC4CEC5DE360919C -:105DA0000B1470910C1480910D1490910E140F949B -:105DB000F7246B017C0120E030E040EA51EC0F94C5 -:105DC000572787FDC2C120E030E040EA51E4C70117 -:105DD000B6010F94011E18160CF03FC6B6C12DEC8B -:105DE0003CEC4CEC5DE360910B1470910C148091D1 -:105DF0000D1490910E140F94F6246B017C0120E099 -:105E000030E040EA51EC0F94572787FD9EC120E017 -:105E100030E040EA51E4C701B6010F94011E1816A4 -:105E20000CF092C692C180E00F94C2060E94A7CDEA -:105E3000811103C083E796E002C085E696E0909367 -:105E4000A2098093A10982E08093171181E09AE56D -:105E5000909321168093201684E590E0909323166A -:105E60008093221687E08093141682E88093171699 -:105E700084E890E0A0E0B0E08093181690931916A3 -:105E8000A0931A16B0931B160F9480015EC183E095 -:105E90008093171183E090E0909321168093201651 -:105EA00085E08093141682E8809317168DE890E1C0 -:105EB000A0E0B0E08093181690931916A0931A16DC -:105EC000B0931B160F948001E12CF12C00E0DD242F -:105ED000D394AA24A39445E0942E55E0852E62E83D -:105EE000762EDD2031F0CC24C39435E0B32E10E0C3 -:105EF00005C0CC24CA94BB24BA9414E0DA24B116A9 -:105F0000D1F1802F90E04897A4F50F5FF701919EA3 -:105F1000E00DF11D1124EE0FFF1FEE0FFF1FE159E1 -:105F2000FC4E20E030E04AE754E4608171818281D8 -:105F300093810F94671E0F946326709321166093CC -:105F400020168092141670921716802F90E08158B8 -:105F5000974F880F991F092E000CAA0BBB0B80933B -:105F6000181690931916A0931A16B0931B160F9437 -:105F700080011C0DC4CFBFEFEB1AFB0AE5E0EE1663 -:105F8000F10409F0AECF81E09AE590932116809359 -:105F9000201685E590E0909323168093221687E0E3 -:105FA0008093141682E88093171684E890E0A0E0AE -:105FB000B0E08093181690931916A0931A16B09318 -:105FC0001B160F94800187E096E09093A2098093BE -:105FD000A109BBC042E060E070E080E890E40E946C -:105FE000C5CD40E060E070E08DE193E40E94C5CD56 -:105FF00041E060E070E08BE193E413C042E060E0D8 -:1060000070E080E890E40E94C5CD40E060E070E080 -:1060100080E292E40E94C5CD41E060E070E080E261 -:1060200092E40E94C5CD86E0809317118EC042E0B5 -:1060300060E070E080E890E40E94C5CD40E060E060 -:1060400070E089E893E4E6CF42E060E070E080E849 -:1060500090E40E94C5CD40E060E070E089E893E400 -:106060000CC042E060E070E080E890E40E94C5CDA2 -:1060700040E060E070E080E292E40E94C5CD41E043 -:1060800060E070E087E893E4CCCF8091291881111B -:106090001CC083E090E0909321168093201685E049 -:1060A0008093141682E88093171685E490E1A0E0AF -:1060B000B0E08093181690931916A0931A16B09317 -:1060C0001B160F94800181E01BC082E090E090934A -:1060D00021168093201685E08093141682E8809321 -:1060E000171685E490E1A0E0B0E080931816909335 -:1060F0001916A0931A16B0931B160F94800180E016 -:106100000F94C20620E030E048EC52E460910B149A -:1061100070910C1480910D1490910E140F94671EC1 -:106120000F946326709321166093201685E0809368 -:10613000141682E88093171686E290E1A0E0B0E0A2 -:106140009BCE8BEE95E00E94B9538AE090E090934D -:1061500021168093201685E08093141682E88093A0 -:1061600017164BC184E0809317118091C815909148 -:10617000C915A091CA15B091CB156091D015709139 -:10618000D1158834F0E19F07A105B10509F453C08A -:106190008A3420E19207A105B10509F456C08C3478 -:1061A00030E19307A105B10509F45AC08634904146 -:1061B000A105B10509F05EC063307105B9F58AED3E -:1061C00095E09093A2098093A10981E08093B8089B -:1061D000809329021092A80881E09AE590932116F5 -:1061E000809320168AE490E09093231680932216E1 -:1061F00087E08093141612E81093171684E890E055 -:10620000A0E0B0E08093181690931916A0931A1688 -:10621000B0931B160F9480018AE090E090932116B2 -:106220008093201685E080931416E5C06093B7082C -:1062300010921711CEC380E090E8ADE9B3E48CA3CF -:106240009DA3AEA3BFA3312C15C080E090E0ABE9C5 -:10625000B3E48CA39DA3AEA3BFA3332433940AC09D -:1062600080E090E0A8ECB3E48CA39DA3AEA3BFA311 -:1062700082E0382E80E090E00F94061E20E030E0AF -:1062800040E251E40F94F1256B017C0120E030E005 -:10629000A9010F94011E87FF09C01092A208109255 -:1062A000A3081092A4081092A5081FC02CA13DA11C -:1062B0004EA15FA1C701B6010F94572718164CF0E5 -:1062C000C092A208D092A308E092A408F092A50878 -:1062D0000CC08CA19DA1AEA1BFA18093A2089093F8 -:1062E000A308A093A408B093A5086091A208709198 -:1062F000A3088091A4089091A508432D0E94C5CDC4 -:1063000061E070E080E090E00E94B7CE80E00E9403 -:10631000A3CE20E030E040E251E40F94671E0F94DA -:106320006326709321166093201605E000931416DF -:1063300012E81093171688E490E1A0E0B0E0809393 -:10634000181690931916A0931A16B0931B160F9453 -:10635000800181E00E94A3CE20E030E040E251E4E1 -:106360000F94671E0F946326709321166093201676 -:1063700000931416109317168AE490E1A0E0B0E0A1 -:106380008093181690931916A0931A16B0931B16A3 -:106390000F94800182E00E94A3CE20E030E040E232 -:1063A00051E40F94671E0F94632670932116609337 -:1063B000201600931416109317168CE490E1A0E0B9 -:1063C000B0E08093181690931916A0931A16B09304 -:1063D0001B160F94800161E070E080E090E00E9465 -:1063E000B7CE109217118AE090E090932116809317 -:1063F0002016009314161093171680E092E1A0E087 -:10640000B0E00C9439288091C8159091C915A091DD -:10641000CA15B091CB158635E0E19E07A105B105FF -:1064200009F041C020E030E040E253E46091120CFA -:106430007091130C8091140C9091150C0F94011E07 -:106440002091D0153091D11587FF0AC42530310530 -:1064500008F006C480EA90E09093211680932016FD -:1064600085E08093141612E81093171680E290E1ED -:10647000A0E0B0E08093181690931916A0931A1616 -:10648000B0931B160F94800165E070E080E090E00F -:106490000E94B7CE81E09AE5909321168093201652 -:1064A00082E490E0D2C38435F0E19F07A105B105F5 -:1064B000B9F46091D0157091D11580E090E00F94FF -:1064C000061E20E030E040E251E40F94F125609395 -:1064D000A9087093AA088093AB089093AC0879C27E -:1064E00088359041A105B10509F073C26091D015BE -:1064F0007091D11580E090E00F94061E20E030E00E -:1065000040E251E40F94F1256093AD087093AE081A -:106510008093AF089093B0085CC26091D0157091E1 -:10652000D11584EC95E00F94F3098091D0159091EA -:10653000D11582309105A1F038F4009771F00197E0 -:10654000E1F482E195E043C28430910579F058F09E -:10655000059799F489E995E00BC08CEF94E037C278 -:1065600086EB95E005C08CEA95E002C087EA95E0ED -:106570009093A2098093A1092CC286E295E027C2DC -:1065800085E395E00E94B9538091D0159091D11583 -:106590008130910519F46499C3C41BC2892B09F099 -:1065A00018C283E495E00E94B95380919E0881301F -:1065B00039F589E595E00E94B95381E09AE5909319 -:1065C0002116809320168EE290E0909323168093FC -:1065D000221687E08093141682E88093171684E8C9 -:1065E00090E0A0E0B0E08093181690931916A09365 -:1065F0001A16B0931B160F9480011092151135C016 -:10660000823069F48DE695E00E94B95381E09AE505 -:10661000909321168093201686E390E00EC083307D -:1066200031F581E895E00E94B95381E09AE59093B5 -:1066300021168093201681E490E090932316809396 -:10664000221687E08093141682E88093171684E858 -:1066500090E0A0E0B0E08093181690931916A093F4 -:106660001A16B0931B160F94800110924A131092C1 -:106670009E080E9439EEADC18091D0159091D11540 -:106680008F3F910531F028F08FEF90E0A0E0B0E06F -:1066900002C0A0E0B0E08093060290930702A093AE -:1066A0000802B09309028091060290910702A0911E -:1066B0000802B09109020097A105B10509F51092F1 -:1066C00021161092201605E00093141612E810937C -:1066D00017168AE890E1A0E0B0E080931816909336 -:1066E0001916A0931A16B0931B160F94800189E017 -:1066F00090E09093211680932016009314163DC0CD -:106700000196A11DB11D05E0B695A79597958795B2 -:106710000A95D1F70197A109B109009731E0A307C4 -:10672000B10550F0B0932116A09320169093231634 -:106730008093221687E005C090932116809320163F -:1067400085E08093141612E8109317168AE890E1FA -:10675000A0E0B0E08093181690931916A0931A1633 -:10676000B0931B160F94800188E090E0909321165F -:106770008093201685E080931416109317168CE8EA -:1067800090E1A0E0B0E08093181690931916A093C2 -:106790001A16B0931B160F948001809106029091F7 -:1067A0000702A0910802B0910902BA2FA92F982FD1 -:1067B00088270097E1E0AE07B10550F0B0932116AD -:1067C000A0932016909323168093221687E005C08D -:1067D000909321168093201685E08093141682E80A -:1067E0008093171681EA90E0A0E0B0E00C9439287D -:1067F00085E995E00E94B9530E942ECD4091C815BD -:106800005091C9156091CA157091CB15882339F044 -:10681000433DF0E25F076105710509F4C7C3423DDE -:1068200050426105710509F0D4C08091D015909156 -:10683000D115019709F00CC50E942ECD882309F4CB -:1068400007C58091881A87FDC4C0A2E18A02C001F1 -:1068500011248D5B934E0E94F45DC12C90E2D92EE1 -:10686000E12CF12C05E012E810922116109220166E -:106870000093141610931716C0921816D09219167A -:10688000E0921A16F0921B160F948001BFEFCB1AFC -:10689000DB0AEB0AFB0AEAE0CE16E0E2DE06E104E0 -:1068A000F10411F70091881AF2E10F02800111241E -:1068B0000552154EF80101900020E9F7C8018E1B22 -:1068C0009F0B439697FD01967C01F594E7941E1467 -:1068D0001F040CF0C6C49E012F5F3F4F690184E185 -:1068E000D9011D928A95E9F7A70166EA75E0C90109 -:1068F0000F946A28B801C6018E0D9F1D0F9455286C -:1069000040E050E260E070E0C6010F942F0162E0C9 -:1069100070E080E090E00E94B7CE40E060E070E080 -:106920008FE793E40E94A0EE41E060E070E08FE723 -:1069300093E40E94A0EE109205028DE090E0909307 -:1069400021168093201685E08093141612E8109388 -:10695000171684E190E1A0E0B0E0809318169093C0 -:106960001916A0931A16B0931B160F94800162E0BB -:1069700070E080E090E00E94B7CE81E09AE59093CD -:1069800021168093201685E390E090932316809340 -:10699000221687E0809314161093171684E890E06F -:1069A000A0E0B0E08093181690931916A0931A16E1 -:1069B000B0931B160F94800181E08093290280938D -:1069C000151183E08093161104C08EE895E00E94B3 -:1069D000B95380E5E4ECF5E1DF011D928A95E9F712 -:1069E0008AE58093C51585EA8093C6150C943221FB -:1069F0008AE194E10E94025CF701EC59F94E808330 -:106A0000809164168A3581F01E141F0414F00C94D2 -:106A10005122D601E02F1D92EA95E9F71092A708BE -:106A20001092A6080C94512262E070E080E090E0A1 -:106A30000E94B7CEFFEFEF1AFF0AF092A708E0928C -:106A4000A6080C9451228CEB96E002C08BEA96E0EB -:106A50009093A2098093A10955CB88E290E00F940E -:106A600075042DEC3CEC4CEC5DE360910B147091E3 -:106A70000C1480910D1490910E140F94F7246B0157 -:106A80007C0120E030E040EA51EC0F94572787FD6D -:106A900012C020E030E040EA51E4C701B6010F9493 -:106AA000011E181644F0C0920B14D0920C14E09200 -:106AB0000D14F0920E1420E030E048EC52E46091A6 -:106AC0000B1470910C1480910D1490910E140F946E -:106AD000671E0F946326709321166093201685E03D -:106AE0008093141682E88093171686E290E1A0E066 -:106AF000B0E08093181690931916A0931A16B093CD -:106B00001B160F94800160910B1470910C148091EE -:106B10000D1490910E148E010B5E1F4F23E041E087 -:106B20000F94D9189F938F938DE996E09F938F933D -:106B3000045111091F930F930F94991DC8010E94CE -:106B400091CF88E996E076C088ED9FEF0F947504A9 -:106B50002DEC3CEC4CEC5DE360910B1470910C144B -:106B600080910D1490910E140F94F6246B017C010A -:106B700020E030E040EA51EC0F94572787FD12C027 -:106B800020E030E040EA51E4C701B6010F94011E55 -:106B9000181644F0C0920B14D0920C14E0920D140D -:106BA000F0920E1420E030E048EC52E460910B14B7 -:106BB00070910C1480910D1490910E140F94671E17 -:106BC0000F946326709321166093201685E08093BE -:106BD000141682E88093171686E290E1A0E0B0E0F8 -:106BE0008093181690931916A0931A16B0931B163B -:106BF0000F94800160910B1470910C1480910D140E -:106C000090910E148E010B5E1F4F23E041E00F9414 -:106C1000D9189F938F938AE896E09F938F9304519E -:106C200011091F930F930F94991DC8010E9491CFD2 -:106C300085E896E09093A2098093A1090F900F90A8 -:106C40000F900F900F900F9080CA9093231680930F -:106C5000221687E080931416109317160C9435288B -:106C60002430310589F481E00F94CA172091AD08D2 -:106C70003091AE084091AF085091B0080F94F724BE -:106C800041E00F94A117B2C02530310508F4F4C0DB -:106C90002630310509F431C108F023C181E0809329 -:106CA000B10840E060E070E08EE393E40E943ACDEA -:106CB00020E030E048EC52E46091120C7091130C2B -:106CC0008091140C9091150C0F94671E6B017C0140 -:106CD0006091160C7091170C072E000C880B990B05 -:106CE0000F94081E9B01AC01C701B6010F94F1255A -:106CF0000F946A266436710510F064E670E07093B4 -:106D000021166093201605E00093141612E81093E4 -:106D1000171684E290E1A0E0B0E0809318169093FB -:106D20001916A0931A16B0931B160F948001609148 -:106D3000120C7091130C8091140C9091150C0F94FF -:106D400063267093211660932016009314161093F7 -:106D5000171686E390E1A0E0B0E0809318169093B8 -:106D60001916A0931A16B0931B160F9480018091E8 -:106D7000160C9091170C9093211680932016009377 -:106D800014161093171684E390E1A0E0B0E080930E -:106D9000181690931916A0931A16B0931B160F94F9 -:106DA000800165E070E080E090E00E94B7CE81E075 -:106DB0009AE5909321168093201684E490E09093B6 -:106DC00023168093221687E08093141610931716CB -:106DD00084E890E0A0E0B0E0809318169093191634 -:106DE000A0931A16B0931B160F94800120E030E098 -:106DF00040E251E46091A9087091AA088091AB0823 -:106E00009091AC080F94671E0F946326709321161F -:106E10006093201605E00093141612E810931716DD -:106E200084E590E1A0E0B0E08093181690931916E5 -:106E3000A0931A16B0931B160F94800120E030E047 -:106E400040E251E46091AD087091AE088091AF08C6 -:106E50009091B0080F94671E0F94632670932116CB -:106E600060932016009314161093171688E590E18E -:106E7000A0E0B0E00C9439282230310579F480E0AC -:106E80000F94CA172091A9083091AA084091AB0825 -:106E90005091AC080F94F72440E0F3CE2330310535 -:106EA00070F081E00F94CA172091AD083091AE08C0 -:106EB0004091AF085091B0080F94F624E1CE2130F4 -:106EC000310509F093CF80E00F94CA172091A908EB -:106ED0003091AA084091AB085091AC080F94F62469 -:106EE000DBCF213F310509F081CF1092B10861E07D -:106EF00070E080E090E00E94B7CE81E09AE5909348 -:106F000021168093201681E490E0909323168093BD -:106F1000221687E08093141682E88093171658CFC4 -:106F200083EF95E00E94B95381E00E946C948DE05C -:106F300090E0909321168093201685E0809314169C -:106F400012E81093171684E190E1A0E0B0E080937E -:106F5000181690931916A0931A16B0931B160F9437 -:106F6000800183E08093161181E09AE590932116C9 -:106F70008093201685E390E0909323168093221649 -:106F800087E0809314161093171684E890E0A0E031 -:106F9000B0E08093181690931916A0931A16B09328 -:106FA0001B160F94800110929E0813CD8BE096E083 -:106FB0000E94B9538091891A90918A1A9927209139 -:106FC000D0153091D1158217930708F402CD8EE9C0 -:106FD00095E00E94B9538091D01581508093881A12 -:106FE000A4ED8A2EA0E29A2EA12CB12C05E012E885 -:106FF0001092211610922016009314161093171653 -:107000008092181690921916A0921A16B0921B161A -:107010000F9480012FEF821A920AA20AB20A3EED63 -:10702000831630E29306A104B10411F78091881A07 -:10703000A2E18A02C0011124FC01E552F54E7F0154 -:1070400001900020E9F7C7018E1B9F0B439697FD27 -:1070500001968C011595079510161106FCF49E01FA -:107060002F5F3F4F690184E1D9011D928A95E9F7AD -:10707000A80166EA75E0C9010F946A28B701C60144 -:10708000800F911F0F94552844ED50E260E070E0AE -:10709000C6010F942F0105E012E806C044ED50E24E -:1070A00060E070E0C701F5CF109221161092201613 -:1070B00000931416109317168092181690921916B2 -:1070C000A0921A16B0921B160F948001BFEF8B1A74 -:1070D0009B0AAB0ABB0AE6EE8E16E0E29E06A1040E -:1070E000B10411F78E010F5F1F4F84E1D8011D928B -:1070F0008A95E9F780918A1A8F938091891A8F93E4 -:107100008091D1158F938091D0158F9380EB95E06E -:107110009F938F931F930F930F9484284EED50E20B -:1071200060E070E0C8010F942F0162E070E080E041 -:1071300090E00E94B7CE0FB6F894DEBF0FBECDBF71 -:1071400031E2C32E32E1D32EE12CF12C43E1442E67 -:1071500040E6542E612C712C88248394912CAA240F -:10716000AA94BA2C75E0272EE2E83E2E0AE010E041 -:107170008091891A90918A1A8815990594F1B09294 -:107180002116A092201620921416309217164092C3 -:1071900018165092191660921A1670921B160F94B8 -:1071A000800110932116009320162092141630921D -:1071B0001716C0921816D0921916E0921A16F0926D -:1071C0001B160F948001FFEF8F1A9F0A20E1420ED9 -:1071D000511C611C711C3FEFC31AD30AE30AF30A66 -:1071E000C7CF8091D0159091D11524E0880F991FB9 -:1071F0002A95E1F78D5F9F49A0E0B0E020EF37E8E6 -:10720000309321162093201605E00093141612E8FF -:10721000109317168093181690931916A0931A16A8 -:10722000B0931B160F9480018091D0159091D115C9 -:10723000805E9D4EA0E0B0E026E030E03093211665 -:107240002093201600931416109317160C943928C7 -:107250008091D0159091D115892B11F40C944C2B61 -:10726000B8CB40E050E260E070E0C8014ECBE3965E -:107270000FB6F894DEBF0FBECDBFDF91CF911F9147 -:107280000F91FF90EF90DF90CF90BF90AF909F90C5 -:107290008F907F906F905F904F903F902F900895C8 -:1072A0002F923F924F925F926F927F928F929F9216 -:1072B000AF92BF92CF92DF92EF92FF920F931F9304 -:1072C000CF93DF93CDB7DEB7C154D1090FB6F89491 -:1072D000DEBF0FBECDBF22968FAF229720914912FD -:1072E0002CAF21E02093491280916A128D3409F469 -:1072F000B3C4843511F40C943F4B873411F00C94D3 -:10730000464B80916812909169128B31910509F476 -:1073100020C2B4F48430910534F482309105E4F550 -:1073200097FF2EC095C48531910511F40C94484BFC -:107330008A31910509F409C2049709F089C4C6C1CC -:107340008A32910509F4B5C34CF48D319105B1F041 -:107350000CF429C24E9709F465C27AC48B359105A5 -:1073600009F425C38C35910509F425C38A359105A7 -:1073700009F06EC41092D1080C94484B14E03FC23F -:1073800080912F02882311F40C94484B0E9447E10E -:107390000E94BDBE0C94484B20912F02222311F471 -:1073A0000C94484B11E0029709F010E00E9447E16D -:1073B00019821A821B821C821D821E821F821886DD -:1073C00082E50E94EE93882309F438C10E946E93EF -:1073D0004B015C0120E030E0A9010F94011E8823DD -:1073E00009F442C18091111890911218A0911318BC -:1073F000B09114188CA39DA3AEA3BFA380911518C0 -:1074000090911618A0911718B091181888A799A7ED -:10741000AAA7BBA78091E7139091E813A091E91365 -:10742000B091EA138CA79DA7AEA7BFA78091EB13DD -:107430009091EC13A091ED13B091EE1388AB99AB42 -:10744000AAABBBAB2CA53DA54EA55FA56CA17DA1AC -:107450008EA19FA10F94011E81110DC028A939A9E9 -:107460004AA95BA968A579A58AA59BA50F94011EC9 -:10747000882309F4F9C020E030E0A901C501B40176 -:107480000F94011E881F8827881F181729F080E095 -:1074900090E0A0E8BFEB04C080E090E0A0E8BFE38C -:1074A00088AF99AFAAAFBBAF2CA13DA14EA15FA100 -:1074B0006CA57DA58EA59FA50F94F6246CAB7DAB26 -:1074C0008EAB9FAB28A539A54AA55BA568A979A96C -:1074D0008AA99BA90F94F6246B017C012CA93DA9D4 -:1074E0004EA95FA9CA01B9010F94671E2B013C0187 -:1074F000A7019601C701B6010F94671E9B01AC015D -:10750000C301B2010F94F7240F94A5272B013C016E -:107510009B01AC0160E070E080E89FE30F94F125EF -:1075200021966CAF7DAF8EAF9FAF219720E030E00A -:1075300040E05FE3C301B2010F94671E2B013C01E1 -:10754000A5019401C501B4010F94671E4B015C01B4 -:10755000A3019201C301B2010F94671E9B01AC010C -:10756000C501B4010F94F6240F94A52728AD39ADB9 -:107570004AAD5BAD0F94671E4B015C01C701B601BC -:10758000905821962CAD3DAD4EAD5FAD21970F9437 -:10759000671EA50194010F94671E6B017C012CA549 -:1075A0003DA54EA55FA56CA17DA18EA19FA10F94C5 -:1075B000F72420E030E040E05FE30F94671E9B017A -:1075C000AC01C701B6010F94F7242CA13DA14EA137 -:1075D0005FA10F94F62469837A838B839C8328A907 -:1075E00039A94AA95BA968A579A58AA59BA50F9485 -:1075F000F72420E030E040E05FE30F94671E6B016A -:107600007C0121962CAD3DAD4EAD5FAD21976CA9AF -:107610007DA98EA99FA90F94671EA50194010F94BF -:10762000671E9B01AC01C701B6010F94F72428A582 -:1076300039A54AA55BA50F94F62412C089E40E94DF -:10764000EE93882331F00E946E9369837A838B8353 -:107650009C838AE40E94EE93882331F00E946E930B -:107660006D837E838F83988720E030E0A901698154 -:107670007A818B819C810F94011E81110BC020E0C7 -:1076800030E0A9016D817E818F8198850F94011E64 -:107690008823A1F0412FBE016F5F7F4F87EE93E1FA -:1076A0000E9412B60F940601609310147093111487 -:1076B00080931214909313140C94484B0F94310A36 -:1076C0008CE797E00F944C090C94484B80E50E949E -:1076D000EE93882329F00E941ECD6B017C0103C02C -:1076E000C12CD12C760183E50E94EE93882361F0B2 -:1076F0000E946E9320E030E04AE754E40F94671E46 -:107700000F946A266B017C010E94638C80919B0B15 -:10771000811105C060E082E997E00E94FAED0F94C4 -:107720000601C60ED71EE81EF91E0F940601DC01E5 -:10773000CB018C199D09AE09BF09B7FD02C00C949D -:10774000484B80E00E94DA53F0CF0E942FAA0C949D -:10775000484B0E94BB7C81110C94484B80E090E028 -:10776000A8E4B2E489839A83AB83BC8380E090E091 -:10777000A0E2B1E48D839E83AF83B88789879A871F -:10778000AB87BC8780E50E94EE93882321F00E949E -:107790003693862F01C080E0BE016F5F7F4F0E944D -:1077A00032ED0C94484B80919A0B8770873011F022 -:1077B0000C94534B60E08FE40E94FB9381110C9476 -:1077C000484B0C94534B8091291881111DC00E9485 -:1077D00004828823F9F0115011F40C943D4D40E0DF -:1077E00050E060E078E085E00E94CA9461E083EFB9 -:1077F00097E00E9410948BED97E00E94F5BB0E94E9 -:10780000BB7C882301F306C060E08FE40E94FB93F9 -:107810008823E9F20E9434948EE998E00E94F5BB37 -:107820000C94484B2091031430910414409105149A -:1078300050910614609111187091121880911318CC -:10784000909114180F94F724AB01BC0188E50E94B5 -:1078500000D06C8F7D8F8E8F9F8F20910714309179 -:1078600008144091091450910A14609115187091F0 -:10787000161880911718909118180F94F724AB01DF -:10788000BC0189E50E9400D069837A838B839C8345 -:10789000BE016F5F7F4FCE014C960E9420A68823C9 -:1078A00011F40C94484B80E00F94C2060E94A1C1D1 -:1078B00061E085E40E94FB93182F21E0482FBE0170 -:1078C0006F5F7F4FCE014C960E945BFB6B017C018A -:1078D0009B01AC010F94E92781115FC08C8C9D8CBA -:1078E000AE8CBF8C20E030E0A901C501B4010F943B -:1078F000011E87FF05C027E137EB41E558EB04C0C7 -:1079000027E137EB41E558E3C501B4010F94F724B3 -:10791000AB01BC0180EC98E00F94000A89809A804A -:10792000AB80BC8020E030E0A901C501B4010F9418 -:10793000011E87FF05C027E137EB41E558EB04C086 -:1079400027E137EB41E558E3C501B4010F94F72473 -:10795000AB01BC018BEB98E00F94000A20E030E013 -:10796000A901C701B6010F94011E87FF05C027E1D9 -:1079700037EB41E558EB04C027E137EB41E558E32D -:10798000C701B6010F94F724AB01BC0186EB98E068 -:107990000F94000A8AE00E94AE520E9488C1113002 -:1079A00011F40E9475890E9481C40C94484B209365 -:1079B000D1080C94484B8DED282E82E0382E97E7A5 -:1079C000E92E92E1F92E21E138E13DA32CA327EF26 -:1079D000C22E23E1D22E00E010E0D1018D911D01D5 -:1079E0000E94EE93882309F44BC00E946E932B01F2 -:1079F0003C01133049F0F6012081318142815381ED -:107A00000F94F6242B013C01ACA1BDA12D913D9119 -:107A10004D915C91C301B2010F94F6244B015C01BE -:107A20002DEB37E346E855EB0F94572787FD0AC047 -:107A30002DEB37E346E855E3C501B4010F94011E71 -:107A40001816F4F4133051F440921D1850921E1879 -:107A500060921F187092201801E012C0A5019401D5 -:107A6000F70160817181828193810F94F724D7019E -:107A70006D937D938D939C931397812F0E9406BEE7 -:107A80001F5FB4E0EB0EF11CECA1FDA13496FDA349 -:107A9000ECA3F4E0CF0ED11C143009F09ECF0023EC -:107AA00021F08DE198E10E94748C0E9481C40C94B5 -:107AB000484B80912F02882311F40C94484B89E4A1 -:107AC0000E94EE93082F882321F00E946A93E82EEB -:107AD00001C0E12C8AE40E94EE93182F882321F044 -:107AE0000E946A93F82E01C0F12C002319F024E0C3 -:107AF0002E1528F0112349F034E03F1530F488ECBE -:107B000098E00F944C090C94484B0E942C9300234E -:107B1000F1F020916313309164134E2D4203B001B4 -:107B2000439F700D11248091591390915A13680F3F -:107B3000791F072E000C880B990B0F94081E609379 -:107B4000E7137093E8138093E9139093EA131123DA -:107B5000F1F020916513309166134F2D4203B0016F -:107B6000439F700D112480915B1390915C13680FFB -:107B7000791F072E000C880B990B0F94081E609339 -:107B8000EB137093EC138093ED139093EE1360E07E -:107B900080E50E94FB938823C1F10023D1F020915E -:107BA000031430910414409105145091061460910F -:107BB000E7137091E8138091E9139091EA130F9401 -:107BC000F6246093E7137093E8138093E91390937E -:107BD000EA131123D1F02091071430910814409139 -:107BE000091450910A146091EB137091EC13809179 -:107BF000ED139091EE130F94F6246093EB137093B2 -:107C0000EC138093ED139093EE1340E050E0BA0133 -:107C100086E40E9400D06B017C0120E030E0A901E5 -:107C20000F945727181684F420E030E040E752E420 -:107C3000C701B6010F94F12560936302709364024B -:107C400080936502909366020E94BDBE0C94484BDF -:107C50000E94757C0C94484B809168129091691237 -:107C60008537910509F49AC70CF053C18934910501 -:107C700009F479C40CF06CC08A31910509F4FEC294 -:107C8000B4F58431910509F473C294F481319105FE -:107C900009F44DC244F4029710F00C943C4B0E943E -:107CA000D8B90C94484B429709F4A6C60C943C4BA7 -:107CB0008731910509F486C28CF48531910509F468 -:107CC0007DC2469711F00C943C4B0E94DB5D809185 -:107CD0009C17877F80939C170C94484B88319105A3 -:107CE00009F488C2499709F4BEC20C943C4B8F3109 -:107CF000910509F4F1C37CF48C31910509F436C384 -:107D00000CF4CAC28D31910509F43AC34E9709F4B7 -:107D10003EC30C943C4B8A32910509F4FDC364F4D4 -:107D20008032910509F492C3819711F00C943C4B79 -:107D30000E946FD60C94484B8B32910509F40FC406 -:107D4000C09711F00C943C4B0E946A7D0C94484BF8 -:107D50008836910509F4B0C4D4F58135910509F44C -:107D600033C6C4F48C34910509F40CC44CF48B3440 -:107D7000910511F00C943C4B0E945E8A0C94484B88 -:107D80008D34910509F402C48E34910509F402C4BE -:107D90000C943C4B8435910509F42EC674F482355D -:107DA000910509F426C68335910511F00C943C4BDE -:107DB00081E08093CB080C94484B8535910509F4FC -:107DC00047C68C35910509F45CC60C943C4B8E3645 -:107DD000910509F4EBC4D4F48B36910509F4E4C59C -:107DE00054F48936910509F47DC58A36910509F464 -:107DF000B3C50C943C4B8C36910511F40C94484B54 -:107E00008D36910509F47BC40C943C4B8137910568 -:107E100009F422C55CF48F36910509F4D8C4803783 -:107E2000910511F40C94484B0C943C4B823791050E -:107E300009F4B1C68337910511F00C943C4B8AE4E8 -:107E40009BE00F944C0960E08AE39BE00E9469BAD2 -:107E500060E085E29BE00E9469BA61E08EE19BE010 -:107E60000E9469BA61E083E19BE00E9469BA61E027 -:107E700083E09BE00E9469BA60E08AEF9AE00E948A -:107E800069BA61E080EF9AE00E9469BA61E086EE2B -:107E90009AE00E9469BA61E08EED9AE00E9469BAA8 -:107EA00061E080ED9AE00E9469BA61E082EC9AE0BC -:107EB0000E9469BA60E083EB9AE00E9469BA60E0D0 -:107EC00085EA9AE00E9469BA60E08FE89AE00E9431 -:107ED00069BA61E08EE79AE00E9469BA61E08FE6D4 -:107EE0009AE00E9469BA61E08AE59AE00E9469BA64 -:107EF00061E087E49AE00E9469BA60E08AE39AE070 -:107F00000E9469BA60E086E29AE00E9469BA0C9425 -:107F1000484B8E32A1E09A0711F40C942A490CF0D8 -:107F20006FC08B3C910509F4FFC6ACF58D37910508 -:107F300009F447C5BCF48737910509F47AC60CF4F7 -:107F40003EC68837910509F477C68937910511F047 -:107F50000C943C4B10929109109290090E94F6C526 -:107F60000C94484B8E3B910509F4AAC454F48C3808 -:107F7000910509F493C48B39910509F4C7C40C9495 -:107F80003C4B883C910509F45FC6893C910509F496 -:107F9000A8C60C943C4B8C3D910509F417C79CF482 -:107FA0008D3C910509F4E2C60CF4DDC68E3C9105CA -:107FB00009F4EAC6833D910511F00C943C4B0E94F4 -:107FC000F4E30C94484B8831E1E09E0709F4ADC717 -:107FD00054F48D3D910509F406C7823E910509F4DC -:107FE00058C70C943C4B823221E0920711F40C9458 -:107FF0002C488D32914011F40C9437480C943C4B32 -:10800000843F41E0940711F40C948A4A0CF043C079 -:108010008239B1E09B0711F40C947449DCF480338D -:10802000F1E09F0711F40C94B74814F40C946E49D6 -:10803000803931E0930711F40C94714981399140F2 -:1080400011F00C943C4B81E00E94BD890E9481C4D8 -:108050000C94484B843AA1E09A0711F40C94874998 -:108060006CF48A39E1E09E0711F40C94484B8C398A -:10807000914011F40C947C490C943C4B853A21E0DE -:10808000920711F40C948A498C3A914011F40C94A3 -:10809000FA490C943C4B883542E0940711F40C9457 -:1080A000B24A1CF5873FB1E09B0711F40C94904A4B -:1080B0007CF4853FF1E09F0711F40C948D4A863FD4 -:1080C000914011F00C943C4B0E9489F50C94484B64 -:1080D000883F31E0930711F40C94994A8C30924018 -:1080E00011F40C94AA4A0C943C4B8C36A3E09A07EA -:1080F00011F40C94484B7CF48B35E2E09E0711F4AC -:108100000C94B54A8335934011F00C943C4B0E947B -:10811000EEB30C94484B803A23E0920709F4CCC1AB -:10812000873E934011F40C942E4B0C943C4B809161 -:10813000641284FF02C00C944F4D8091661287FF39 -:1081400002C00C944F4D80916712837011F00C9413 -:108150004F4D60E087EE98E00E94FAED5F988A98B4 -:108160008091080181708093060112980C94484B0D -:108170008FEF98E00F944C091092950B80E195E1F8 -:108180000E9481668BE1E0E1F5E1DE01119601904C -:108190000D928A95E1F740E050E0BE016F5F7F4F9E -:1081A00080E090E00E94615FCE0101960E94B76777 -:1081B00080EF98E00F944C090C94484B0E944C5E61 -:1081C0000C94484BE0912013F09121138081882377 -:1081D00029F0803209F410823196F8CF40E061E056 -:1081E00080912013909121130E94376110924B13BC -:1081F0000C94484B8091270B8823E9F080E090E0B5 -:10820000A0EAB1E488A399A3AAA3BBA31C8E1D8EE8 -:108210001E8E1F8E19821A821B821C8220E0AE01E4 -:10822000405E5F4FBE01645E7F4FCE0101960E94AB -:108230008A950C94484B0E944CD7882321F00E94C9 -:10824000EC5D0E945E8A40E050E060E179E085E00C -:108250000E94839561E08AE094E30E9410940E945A -:108260007EEE0C94484B80919C1782FF03C08B7F5D -:1082700080939C170E9426E30C94484B80919C1796 -:1082800083FD02C00C94484B83E50E94EE9381115C -:108290000C946B4D0C94484B83E40E94A593882367 -:1082A000D9F184E299E00F944C098091BA148823A3 -:1082B00051F1BE016F5F7F4F87EB94E10E944865EB -:1082C0008E010F5F1F4FD8018D918D01882319F00A -:1082D0000E94AE52F8CFBE016F5F7F4F80E090E00A -:1082E0000E94FF608091391A882389F080E20E9401 -:1082F000AE5209E31AE1F80181918F01882339F028 -:108300000E94AE52F8CF8AE199E00F944C098AE0BE -:108310000E94AE520C94484B83E50E94EE93882352 -:1083200009F10E944693182F90E0CD970CF01CE3C2 -:108330001093C2080F9406016B017C01212F30E0DD -:10834000A8EEB3E00F94AB24C60ED71EE81EF91EAC -:10835000C092BE08D092BF08E092C008F092C10857 -:108360000C94484B0E94B45D0C94484B40E060E094 -:1083700080912013909121130E9437610C94484BF7 -:1083800080919C178E7F80939C170C94484B809112 -:108390009C1783FD02C00C94484B0E9440FD8091C5 -:1083A0009C1783FD02C00C94484B60912013709180 -:1083B0002113CE014C960F948D038C01009711F47C -:1083C0000C94484B6C8D7D8D19821C8222E0AC018F -:1083D000CE0101960E949A6B811102C0F12C14C04B -:1083E000CE0101960F94FB028823C1F361E0CE0118 -:1083F00001960E942C65009789F325EEDC012C93F1 -:108400001C820E943B67F82ECE0101960E94B7673E -:10841000B801FF2089F08EE499E00F941E0A8AE0EB -:108420000E94AE52109298171092991710929A17B4 -:1084300010929B170C94484B86E399E00F941E0A08 -:1084400083E399E00F944C090C94484B80919C175E -:1084500082FD0E94638C80919C1783FD02C00C9466 -:10846000484B60E080E50E94FB93182F482F61E0A5 -:1084700080912013909121130E94376183E50E941F -:10848000EE93882381F00E943693AB01BC014093A8 -:1084900098175093991760939A1770939B1787EBCF -:1084A00094E10E9442640E94EC5D11110C94484BCF -:1084B0000E945E8A0C94484B209120133091211326 -:1084C00090919C17926090939C1740E060E0C901E6 -:1084D0000E9437610C94484B0E94AAEC6C8F7D8FF0 -:1084E0008E8F9F8FBE016F5F7F4FCE014C960E9493 -:1084F00093D560E0CE0101960E9455EE0F94350AA7 -:10850000BE016F5F7F4F8CE599E00F941E0A8AE0F1 -:108510000E94AE520C94484B83E50E94EE93882350 -:1085200011F40C94484B0E944693F82E6DE070E0D5 -:1085300080E50E9455A78C0197FF02C00C94484B20 -:10854000E82E60E089E40E94FB9381110C947C4D3D -:10855000802F0E941F508111B9C40C947C4D0E9441 -:10856000E4E40C94484B80E50E94A593882311F421 -:108570000C94484B80919C1782FF02C00C94484B8E -:108580000C94954D0E94F9EC0C94484B0E940E8B74 -:108590000C94484B60E070E083E50E9455A78E3450 -:1085A000910531F40E94C98B0E947EEE0C94484BD9 -:1085B00087EC99E00F944C096091800970918109D2 -:1085C0008EEB99E00F94F309609182097091830911 -:1085D00081EB99E00F94F309609180097091810912 -:1085E0008091820990918309681B790B80911C11FD -:1085F000815021E030E0823010F020E030E0621B5A -:10860000730B86EA99E00F94F3098AE00E94AE5258 -:108610008EE999E00F944C09809184099091850925 -:10862000A0918609B09187098C8F9D8FAE8FBF8FE7 -:10863000BE016F5F7F4FCE014C960E9493D5BE0165 -:108640006F5F7F4F81E999E00F941E0A809188093E -:1086500090918909A0918A09B0918B098C8F9D8F87 -:10866000AE8FBF8FBE016F5F7F4FCE014C960E94D1 -:1086700093D5BE016F5F7F4F81E899E00F941E0A8A -:1086800020E030E04AE754E460918C0970918D0954 -:1086900080918E0990918F090F94F125AB01BC0157 -:1086A00089E699E00F94000A8DE60E94AE528AE0B6 -:1086B0000E94AE520C94484B8091A71083FF02C0D9 -:1086C0000C94484B0E94F6E187FF02C00C94484B83 -:1086D00083E50E94EE93882379F00E946E930F94B5 -:1086E00063268B01CB010E94B4DF0135110524F410 -:1086F0000E940E8B0E947EEE0F947117C9C7809165 -:10870000A71083FDC5C70E94F6E1F82E87FDC0C7FC -:1087100083E50E94EE93082F811106C082E50E9436 -:10872000EE93182F8823C1F10E946E930F94632655 -:10873000CB010E94B4DF0E946E9320E030E040EA5B -:1087400052E40F94011E181614F40C94A04D0E94CC -:108750000E8B0E947EEE6091160C7091170C072E06 -:10876000000C880B990B0F94081E4B015C01409084 -:10877000120C5090130C6090140C7090150CA30107 -:1087800092010F945727181614F40C94B34D00233C -:1087900011F40C94A44D11E00F947117112309F4F6 -:1087A00077C7602F8F2D0E94C0D972C78EE40E94B8 -:1087B000EE93882309F46CC70E94369360931C13D0 -:1087C00070931D1380931E1390931F1361C783E54D -:1087D0000E94A593882331F060E083E50E9464A79E -:1087E0008093A7100F94350A87EF99E00F944C09F6 -:1087F0008091A710882369F10DEEE02E09E0F02E9C -:1088000000E010E020E08091A71090E0A0E0B0E050 -:10881000002E04C0B695A795979587950A94D2F730 -:1088200080FF0EC0DD24D394D20E222319F08CE2F7 -:108830000E94AE52F701859194910F944C092D2D11 -:108840000F5F1F4FB2E0EB0EF11C05301105D9F69A -:108850005ECD89EE99E059CD83E50E94EE938823A1 -:1088600071F00E944693282F30E02D3331051CF41F -:10887000809300020DC78CE38093000209C70F9418 -:10888000350A4091000250E060E070E08EEF99E020 -:108890000F94E2098AE00E94AE52FAC68091A710B6 -:1088A00083FDF6C683E50E94EE93882309F4F0C6A3 -:1088B0000E946E930F946326CB010E941E93E8C61C -:1088C0008091A71083FDE4C683E50E94EE93182FE4 -:1088D00081110C94B64D82E50E94EE9381110C94A7 -:1088E000B64DD6C60E94F6E1182F87FD0AC083E276 -:1088F0009AE00F944C09812F0E94D0D78AE00E9401 -:10890000AE52ECADE09349120C943C4F83E50E94CB -:10891000EE93882309F4BCC60E944693182F90E07A -:10892000CD970CF01CE31093C7080F9406016B0160 -:108930007C01212F30E0A8EEB3E00F94AB24C60EEB -:10894000D71EE81EF91EC092C308D092C408E09258 -:10895000C508F092C6089CC660E080E50E9464A746 -:10896000F82EF1E0F81708F493C681E40E94A5936D -:10897000882321F06091FB0B062F02C00FEF10E05F -:1089800083E50E94EE93882349F00E9436938B0181 -:108990006F3F710519F010F00FEF10E0EF2DF0E0D0 -:1089A000E550F44F008374C660E080E50E9464A740 -:1089B000823008F06DC6E82FF0E0E550F44F1082E9 -:1089C00067C60E9426E364C60E94C5DF0E940E8B24 -:1089D0000E94A48D0E9461501092DF0B1092DE0B5A -:1089E0001092DD0B68EE73E080E090E00F941D09BB -:1089F0004FC61092CB084CC683E50E94EE938823A5 -:108A000099F00E946E9320E030E04AE754E40F941E -:108A1000671E0F946A26609301027093020280938E -:108A200003029093040234C68091641284FF02C052 -:108A30000C94EB4D8091661287FF02C00C94EB4DB5 -:108A400080916712837011F00C94EB4D0C941C4EC6 -:108A500083E50E94A593882309F41AC60E946E93A9 -:108A600020E030E04AE754E40F94671E0F946A2632 -:108A70006093CC087093CD088093CE089093CF0874 -:108A800007C60E94F6E187FD03C69091641294FD2B -:108A900004C09091661297FF0AC0BDEDCB2EB2E0E4 -:108AA000DB2E18EAE12E10E1F12E10E009C09091C2 -:108AB0006712937091F7682F81E00E94A9E4E8C5DE -:108AC000D6018D916D010E94EE93882309F459C05F -:108AD000133009F04FC00E946E934B015C0120E0FF -:108AE00030E040EA51E40F94011E87FF3AC0A5012F -:108AF00094016091C8107091C9108091CA10909132 -:108B0000CB100F94F1252B013C019B01AC0160912E -:108B1000D8107091D9108091DA109091DB100F94D9 -:108B2000671E6093D8107093D9108093DA109093D9 -:108B3000DB106091F30B7091F40B8091F50B909129 -:108B4000F60B0F94061EA30192010F94671E0F945B -:108B50006A266093F30B7093F40B8093F50B90935C -:108B6000F60B8092C8109092C910A092CA10B092D1 -:108B7000CB1007C00E946E93F701648B758B868BB8 -:108B8000978B1F5FF4E0EF0EF11C143009F098CFC3 -:108B90000E943F8C7DC50E9483BA7AC580912013C4 -:108BA00090912113009741F0DC012C91222321F0B8 -:108BB00060E00E9455EE6CC50E947EEE69C5009192 -:108BC00020131091211394E0F12C40E0915021F1F9 -:108BD000F8018081282F2B7F213421F4218121333A -:108BE000D9F407C08035C1F4818180538A3048F0C0 -:108BF00013C0813421F0853421F441E002C0FF2408 -:108C0000F39498012E5F3F4F89012F5F3F4FF8018A -:108C100080818032C9F3DACF41110F94350AFF20E9 -:108C200021F085E39CE00F944C09C8010E94B953E0 -:108C30002FC50E949FC52CC581E080939109809328 -:108C400090090E94F6C524C50E94F6E1182F87FD01 -:108C50001FC584E40E94A593882309F43FC00E94A5 -:108C60006E936B017C0101E020E030E0A9010F94DC -:108C7000011E811101C000E00093011120E030E0ED -:108C8000A901C701B6010F94011E882339F10E9482 -:108C90006E9324E01202F0011124EA5FFE4E60831D -:108CA00071838283938320E030E0A90160910611F3 -:108CB0007091071180910811909109110F94011E74 -:108CC00081110CC080E090E0A0EEBFE3809306111C -:108CD00090930711A0930811B09309110E94CE8EB2 -:108CE000D7C40E94F6E187FDD3C4ADEDEA2EA2E021 -:108CF000FA2E08EA10E1D7018D917D010E94A5931B -:108D0000882349F00E946E930F946A26F8016083CD -:108D10007183828393830C5F1F4FF0E1083B1F0731 -:108D200051F70E94F88BB4C40E94F6E187FDB0C4ED -:108D3000FDEDEF2EF2E0FF2E08EA10E1D7018D9154 -:108D40007D010E94A593882339F00E946E93F8015B -:108D500064A375A386A397A30C5F1F4FF0E1083BA4 -:108D60001F0761F795C40E94A8CC92C48091641239 -:108D700081FD65C78091651281FD61C78091661292 -:108D80008C7009F05CC784C47DEDC72E72E0D72ECD -:108D9000E4E9EE2EE9E0FE2E10E0D6018D916D01A2 -:108DA0000E94A593882351F00E946E93F70160837F -:108DB000718382839383812F0E9406BE1F5FF4E03C -:108DC000EF0EF11C133049F70C94553D83E50E94DA -:108DD000EE93882309F45CC40E946A9390934F0237 -:108DE00080934E0255C40E94F6E1F82E87FD50C4D0 -:108DF00083E50E94EE930F2D0F2C000C110B88239E -:108E000069F10E946A93F801EE0FFF1FE55EFD4FC6 -:108E100091838083000F111F000F111F98012B5E9B -:108E20003D4F7901BC01990F880B990B0F94081ED7 -:108E30002AE037ED43E25CE30F94671EF801EE5F32 -:108E4000FE4E20813181428153810F94671ED701EC -:108E50006D937D938D939C9313971AC40F94350A49 -:108E600085E40E94AE5280E38F0D0E94AE52000F47 -:108E7000111FF801E55EFD4F6081718188E59CE07E -:108E80000F94110A85E20E94AE528AE00E94AE520F -:108E9000FFC380E50E94A593882309F4F9C360E02D -:108EA00070E080E50E9455A7F82E6FEF7FEF83E515 -:108EB0000E9455A78C010196039708F0E9C3F7FCBF -:108EC000E7C38F2D0E941F50882339F00F94310A79 -:108ED00080E69CE00F944C09DBC30E94638C60E049 -:108EE0008F2D0E94A8FF0F3FBFEF1B0731F001300D -:108EF000110571F000E010E00DC08F2D0E9450FFB1 -:108F000031E020E0892B09F030E0032F122F02C05E -:108F100001E010E08F2D0E9450FF8017910709F4A7 -:108F2000B7C380E00E94DA53F5CF80E50E94A59395 -:108F3000882309F4ADC30E946A938C01892B09F040 -:108F40007FC083E50E94A593882389F00E946A93DD -:108F50008F3FEFEF9E0729F488E995E10E94665064 -:108F600097C3BC0188E995E10E94365191C30F94E3 -:108F7000350A60E070E088E89CE00F94110A809167 -:108F80009A1528E532E06901C81AD10887FDD39403 -:108F9000CC0CDD1CCC0CDD1C0D2C000CEE08FF08ED -:108FA0008091991528E830E04901881A910887FDD9 -:108FB0009394880C991C880C991C092C000CAA0805 -:108FC000BB08809198158F3FC1F090E0FC01EE0F37 -:108FD000FF1F8E0F9F1FFC01E55DFA4E218132813C -:108FE00083E0220F331F8A95E1F794E036952795A9 -:108FF0009A95E1F72E5F3F4F02C020E030E02F5FEF -:109000003F4FC901330FAA0BBB0B9C01AD012819BF -:1090100039094A095B09A4EBB0E00F949824A70131 -:109020009601281939094A095B090F947924B90175 -:1090300085E89CE00F94110A8AE00E94AE5228C392 -:109040000F94310AB8018EE79CE00F94110A8FE665 -:109050009CE00F944C091CC38AE50E94EE93811199 -:1090600047C683E50E94EE93811142C611C360E0BA -:1090700085E40E9464A7811173C080E50E94A593D6 -:10908000882351F00E946E936093190C70931A0C10 -:1090900080931B0C90931C0C89E40E94A593882359 -:1090A00081F00E946E932CEA35EC47E25EE30F9468 -:1090B000671E60931D0C70931E0C80931F0C909381 -:1090C000200C84E40E94A593882381F00E946E9373 -:1090D0002CEA35EC47E25EE30F94F1256093210C16 -:1090E0007093220C8093230C9093240C0F94350AD8 -:1090F0004091190C50911A0C60911B0C70911C0C32 -:109100008BEB9CE00F94000A2CEA35EC47E25EE31F -:1091100060911D0C70911E0C80911F0C9091200C81 -:109120000F94F125AB01BC0187EB9CE00F94000A82 -:109130002CEA35EC47E25EE36091210C7091220C41 -:109140008091230C9091240C0F94671EAB01BC01FD -:1091500083EB9CE00F94000A8AE00E94AE5298C212 -:109160000F94310A81EA9CE00F944C0991C280E58A -:109170000E94A593882351F00E946E93609370091A -:1091800070937109809372099093730989E40E9426 -:10919000A593882381F00E946E932CEA35EC47E278 -:1091A0005EE30F94671E6093740970937509809352 -:1091B00076099093770984E40E94A593882381F02F -:1091C0000E946E932CEA35EC47E25EE30F94F125A2 -:1091D000609378097093790980937A0990937B0959 -:1091E0000F94350A4091700950917109609172098C -:1091F0007091730987EC9CE00F94000A2CEA35EC1F -:1092000047E25EE360917409709175098091760977 -:10921000909177090F94F125AB01BC0183EC9CE0A0 -:109220000F94000A2CEA35EC47E25EE3609178097E -:109230007091790980917A0990917B090F94671E4A -:10924000AB01BC018FEB9CE00F94000A8AE00E9406 -:10925000AE521EC283E50E94A593182F882371F099 -:109260000E946E930F94632670931A026093190202 -:1092700021E0672B09F020E020930D0C80E50E948F -:10928000A593882359F02091190230911A02232BBB -:1092900011F00E945A9380930D0CFAC11111F8C17C -:1092A0000F94350A87EE9CE00F944C0980910D0CC9 -:1092B000882319F08FEC9CE002C08BEC9CE00F94AB -:1092C0004C096091190270911A0286ED9CE00F948E -:1092D000110A82ED9CE00F944C09DAC10E9417D06C -:1092E000D7C10E94638CD4C180E00E94BD890E94D6 -:1092F00075890E9481C4CCC180916412887809F07C -:1093000080C580916612867009F07BC556C50E94A3 -:1093100070A7BEC16FEF7FEF89E40E9455A7F82EBA -:109320006FEF7FEF8AE40E9455A7E82E8AE50E943E -:10933000A593182F811105C081E50E94A593B82E31 -:1093400001C0B12CF7FC06C0E7FC04C0111109C034 -:10935000B11007C00F94310A81E59DE00F944C09CC -:1093600097C1F4E0FF1510F0FE1538F40F94310AA0 -:1093700082E39DE00F944C098BC1CF2C0F2C000C85 -:10938000DD080E2D0E2C000C110B0E946E93BB20DD -:1093900099F025E02C9DF0012D9DF00D1124E00F9A -:1093A000F11FEE0FFF1FEE0FFF1FE159FC4E208152 -:1093B00031814281538103C020E030E0A9010F9444 -:1093C000F7249B01AC0185E08C9DF0018D9DF00D93 -:1093D0001124E00FF11FEE0FFF1FEE0FFF1FE159E9 -:1093E000FC4E20833183428353836E2D8F2D0E9448 -:1093F000D2CE4EC10E94BB7C81114AC102E215E26D -:1094000021E138E13DA32CA3CE0101965C0147E7A1 -:10941000842E45E2942E1C01F80165917591859189 -:109420009491ACA1BDA1CD90DD90ED90FD90BDA338 -:10943000ACA3A70196010F94F6242B013C01F10186 -:10944000608371838283938320E030E040EA51ECB3 -:109450000F94572787FD0AC020E030E040EA51E42E -:10946000C301B2010F94011E18162CF4F40184916B -:1094700018160CF4F6C4D101CD90DD90ED90FD905E -:109480001D0120E030E040EA51ECC701B6010F9425 -:10949000572787FD0AC020E030E040EA51E4C701C9 -:1094A000B6010F94011E181664F40F94310A8FE868 -:1094B0009DE00F944C0961E081E89DE00E94FAED87 -:1094C000E7C00C5F1F4FBFEF8B1A9B0AE5E20E321D -:1094D0001E0709F0A1CF34E9E32E39E0F32E10E0A6 -:1094E000F50181919191A191B1915F01F701819372 -:1094F0009193A193B1937F01812F0E9406BE1F5FBC -:10950000133071F70E9481C460E081E79DE00E9402 -:10951000FAEDBEC00E94D5E7BBC00E94D3F9B8C027 -:1095200061E083E50E94FB9391E089270E94CAF6DF -:10953000AFC081E080935E130E94F3EE10925E1341 -:10954000882309F4A5C00F94350A8DEA9DE00F9495 -:109550004C099EC080919C1782FF9AC080628093C4 -:109560009C1796C00E941FE293C00E94F6E1082F4C -:1095700087FD8EC085E50E94A5938823B1F1E02E7A -:10958000002E000CFF080E946E934B015C0120E04E -:1095900030E0A9010F94572787FF04C0B7FAB094B1 -:1095A000B7F8B094C70123E0880F991F2A95E1F717 -:1095B0009C0129593C4E7901D9018D929D92AD9221 -:1095C000BC92139720E030E04AEF53E4C501B401A8 -:1095D0000F94572718164CF480E090E0AAEFB3E4FC -:1095E000F70180839183A283B3838CE40E94A593C7 -:1095F000882309F44DC0002E000C110B0E946E93BD -:109600006B017C0120E030E0A9010F94572787FF10 -:1096100004C0F7FAF094F7F8F09420E030E04AEF55 -:1096200053E4C701B6010F945727980193E0220F26 -:10963000331F9A95E1F7F901E959FC4E18162CF001 -:10964000C482D582E682F78223C080E090E0AAEF50 -:10965000B3E484839583A683B7831AC081E08093A3 -:109660002F021092DB0B60E083E50E94FB938111D7 -:109670000FC00E945AD70CC00E94757C09C080910F -:109680006812882329F00E948B6C02C00E94757CAE -:109690002296FFAD2297F11102C00E94F7B22CADC5 -:1096A00020934912E9C30E94638C309129183CAB86 -:1096B00080E00F94C2060E94A1C181E080939109CD -:1096C0000E94F6C588E50E94A593182F89E50E949F -:1096D000A593082F8AE50E94A5931013C0C11817FF -:1096E00011F0012FBCC101E011E091E09CA70E94A4 -:1096F0002C9382E50E94EE93882361F00E946E9382 -:109700006B017C0120E030E0A9010F94011E882349 -:1097100069F106C0C12CD12C30E8E32E30E4F32EE1 -:10972000111103C0002309F4FCC0C092EF13D092C2 -:10973000F013E092F113F092F213A70196016091F9 -:10974000191870911A1880911B1890911C180F9479 -:10975000011E87FF0BC019821A821B821C82BE0168 -:109760006F5F7F4F8FEE93E10E94A3C2112309F434 -:10977000D3C0002309F4CDC010921518109216180A -:10978000109217181092181810921118109212189F -:1097900010921318109214180E944CC3E7E7F5E2D8 -:1097A000A491A8AFEBE6F5E2C590D590E590F490D2 -:1097B000EFE6F5E285909590A590B490A50194010F -:1097C000C701B6010F94572718162CF4A70196016C -:1097D000C501B40104C0A5019401C701B6010F94ED -:1097E000F1252B013C01E2E3F5E285919591A591EC -:1097F000B4918CA39DA3AEA3BFA3EEE2F5E2859145 -:109800009591A591B49188A799A7AAA7BBA79C01F8 -:10981000AD016CA17DA18EA19FA10F9457271816B1 -:1098200034F428A439A49AA598AB1BA505C02CA094 -:109830003DA0AEA1A8AB1FA1A3019201C301B2013B -:109840000F94671E20E030E040E85FE30F94F724B8 -:109850000F94A527910148A9512F0F94671E68A363 -:1098600079A38AA39BA3E8E7F5E2149120E030E016 -:1098700040EC5FE3C501B4010F94671E4B015C012E -:10988000612F110F770B880B990B0F94081E9B010A -:10989000AC01C501B4010F94671E69837A838B8381 -:1098A0009C8320E030E040EC5FE3C701B6010F94F9 -:1098B000671E6B017C01B8AD6B2FBB0F770B880B5C -:1098C000990B0F94081E9B01AC01C701B6010F94C0 -:1098D000671E6C8F7D8F8E8F9F8FAE01405E5F4FB6 -:1098E000BE016F5F7F4FCE014C960E9481C20E94E5 -:1098F0007EF51092151810921618109217181092E3 -:109900001818109211181092121810921318109221 -:10991000141880E00E944EC3002319F081E00E94D9 -:109920004EC3ECA5EE2309F48CC080E00E9425997B -:10993000809118148370833051F060E08DEC97E0D3 -:109940000E94FAED0F94350A8EEB97E093C00E94C7 -:109950004CC38091191890911A18A0911B18B091BE -:109960001C188093EF139093F013A093F113B0930E -:10997000F213209103143091041440910514509176 -:10998000061460E070E088E492E40F94F6246B0122 -:109990007C016093E7137093E8138093E91390932D -:1099A000EA13209107143091081440910914509142 -:1099B0000A1460E070E088E492E40F94F6244B010E -:1099C0005C016093EB137093EC138093ED13909311 -:1099D000EE1327E137EB41ED58EB0F94572787FD46 -:1099E00040C023E030E04BE953E4C501B4010F94DB -:1099F000011E1816B4F127E137EB41ED58EBC70112 -:109A0000B6010F94572787FD2CC023E030E84DE9BD -:109A100053E4C701B6010F94011E181614F1198200 -:109A20001A821B821C82AE014F5F5F4F6BEE73E1A7 -:109A300087EE93E10E9481C282E00E944EC30E94A1 -:109A400075890E944CC380919009809391098CA9DB -:109A50000F94C2060E9488C10E9481C419CE8CA7AF -:109A600046CE60E08DEA97E00E94FAED0F94350A49 -:109A70008BE997E00F944C09E2CF61E081E998E02F -:109A80000E9410948CE198E00E94F5BB61E08CEE9E -:109A900093E30E9410948DE098E00F94260288E5ED -:109AA0000E94A59381115F9889E50E94A593811179 -:109AB0008A988AE50E94A593882329F0809108015D -:109AC00081708093060185E40E94A593882309F4A0 -:109AD000DFCD1298DDCD0E943693AB01BC014093DF -:109AE00098175093991760939A1770939B1787EB69 -:109AF00094E10E944264CCCD61E0802F0E94A8FFD7 -:109B00006F2D802F0E9479FF6F2D70E0802F0E94B3 -:109B1000E4FF47E0E41203C0F092FC0BB9CD89E00A -:109B2000E812B6CDF092FB0BB3CD0E94469390E0C5 -:109B30008536910514F084E690E080934B13A8CD10 -:109B40000E945E8A0C94AB43A3019201C501B4014B -:109B50000F94572718163CF08FEC99E060E00E94B4 -:109B6000FAED0C94CB438CED99E0F8CF0E946E9304 -:109B70000F946326CB010E941E930E946E9320E0F7 -:109B800030E040EA50E40F945727181614F40E946E -:109B90005E8A60916D0970916E09072E000C880B2A -:109BA000990B0F94081E2091690930916A09409120 -:109BB0006B0950916C090F94572718161CF484E117 -:109BC0009AE002C085E09AE060E00E94FAED812F01 -:109BD0000E9442D85DCD0E94638C88E50E94A593C7 -:109BE000882331F05F9A809118148E7F8093181427 -:109BF00089E50E94A593882331F08A9A80911814F0 -:109C00008D7F809318148AE50E94A593882359F0CC -:109C100080910801809581708093060180911814CD -:109C20008B7F8093181485E40E94A593882309F400 -:109C30002FCD0E941D502CCD0E94A48D29CD82E4F1 -:109C40000E94A593882351F00E941ECD6093B81006 -:109C50007093B9108093BA109093BB1083E50E9463 -:109C6000A593882351F00E946E936093E81070933F -:109C7000E9108093EA109093EB1084E50E94A5937D -:109C8000882351F00E946E936093EC107093ED1056 -:109C90008093EE109093EF108AE40E94A59388239E -:109CA00009F4F6CC0E946E936B017C012AE037ED3B -:109CB00043E25CE30F94572787FD13C02AE939E993 -:109CC00049E95EE3C701B6010F94011E18164CF076 -:109CD000C092E30BD092E40BE092E50BF092E60B1E -:109CE000D7CC0F94310A89E39CE00F944C09D0CC77 -:109CF0000E946E9320E030E040E050EC0F94011E93 -:109D000087FD15C00E946E9320E030E040E050E4F3 -:109D10000F94572718162CF00E946E936B017C014C -:109D20000BC0C12CD12CE12C10E4F12E05C0C12CAC -:109D3000D12CE12CB0ECFB2E2091C4103091C51039 -:109D40004091C6105091C710C701B6010F94671E0D -:109D50000F946326CB010F94750480E50E94A593B0 -:109D6000882329F00E945A93882309F491CCA701F3 -:109D7000960160910B1470910C1480910D149091C8 -:109D80000E140F94F72460930B1470930C148093AB -:109D90000D1490930E140F94350A40910B145091AA -:109DA0000C1460910D1470910E1480E99CE00F94D6 -:109DB000000A8AE00E94AE526BCC0F94350A81E211 -:109DC0009DE00F944C0980912A02811117C08AEFFF -:109DD0009CE00F944C098AE00E94AE5240915B02D5 -:109DE00050915C0260915D0270915E0281E09DE0A5 -:109DF0000F94000A8AE00E94AE524ACC8EEF9CE09B -:109E0000E8CF88E40E94A593882321F00E945A930A -:109E10008093D00882E50E94A593082F83E50E94D5 -:109E2000A593182F011102C0882351F010926309E5 -:109E30000E944450112321F00E945A9380932A02D9 -:109E400084E40E94A593882309F422CC0E946E9397 -:109E500060935B0270935C0280935D0290935E025C -:109E600017CCF7FAF094F7F8F094D101CD92DD9287 -:109E7000ED92FC921397FFCACF5BDF4F0FB6F894B9 -:109E8000DEBF0FBECDBFDF91CF911F910F91FF902D -:109E9000EF90DF90CF90BF90AF909F908F907F908A -:109EA0006F905F904F903F902F900895CF92DF92E8 -:109EB000EF92FF920F931F93CF93DF936C018B016F -:109EC0007A01EC01C952D74F888187FF04C0FB019A -:109ED0001182108224C02CE02C9DC0012D9D900D7C -:109EE00011242881AC01420F511D27FD5A95209164 -:109EF000971530E04217530794F42881AC01420FC4 -:109F0000511D27FD5A959A01FA01EE0FFF1F2E0FE2 -:109F10003F1FF901E55DFA4E208127FD19C08881B8 -:109F20008F5F88832CE02C9DC0012D9D900D112406 -:109F30002881AC01420F511D27FD5A95209197159C -:109F400030E042175307BCF428812C3044F113C091 -:109F50002881820F911D27FD9A95FC01EE0FFF1FAE -:109F60008E0F9F1FFC01E55DFA4E808160E08F77C8 -:109F70000E9479FFD4CFF8018081918104968034CA -:109F80009C4918F480E49CE904C0F8018081918127 -:109F90000496F701918380838FEF888345C0F80191 -:109FA000408151812881BC01620F711D27FD7A9586 -:109FB0009B01FB01EE0FFF1F2E0F3F1FF901E55D17 -:109FC000FA4E21813281240F351FF701318320831E -:109FD0002881AC01420F511D27FD5A959A01FA01C3 -:109FE000EE0FFF1F2E0F3F1FF901E55DFA4E208196 -:109FF00027FF1AC02881820F911D27FD9A95FC0129 -:10A00000EE0FFF1F8E0F9F1FFC01E55DFA4E808152 -:10A0100061E08F77DF91CF911F910F91FF90EF90CB -:10A02000DF90CF900C9479FFDF91CF911F910F912A -:10A03000FF90EF90DF90CF900895129A0895FF92CD -:10A040000F931F93CF93DF931F92CDB7DEB7F82EF8 -:10A0500002ED1DE041E050E0B801CE0101960F9401 -:10A060003B1D89818F1102C081E007C00F5F1F4F28 -:10A070008DE00B3E180771F780E00F90DF91CF91D4 -:10A080001F910F91FF90089580915B0290915C0267 -:10A09000A0915D02B0915E028093361190933711CA -:10A0A000A0933811B093391108958091DA08811185 -:10A0B00007C00E94D3F9882319F081E08093DA0861 -:10A0C0000895EBEFFBE0108211820895DC01EC9122 -:10A0D000F0E0CF01880F991FE80FF91FE55DFA4EF8 -:10A0E00080818F77808308958F929F92AF92BF92E5 -:10A0F000CF92DF92EF92FF920F93CF93DF931F9255 -:10A10000CDB7DEB75C016B017A014901F5018081B1 -:10A1100091810F9431248983002311F0F60180830B -:10A12000BE016F5F7F4FC4010F941701F50180815D -:10A130009181019691838083FFEFCF1ADF0A81E03E -:10A14000E81AF10819F780E00F90DF91CF910F9195 -:10A15000FF90EF90DF90CF90BF90AF909F908F9047 -:10A1600008957F928F929F92AF92BF92CF92DF928B -:10A17000EF92FF920F931F93CF93DF931F92CDB770 -:10A18000DEB77C0159018B016B01C40ED51E0C1585 -:10A190001D0559F1F70180809180F80171908F01C0 -:10A1A0007982C4010F943124781691F0672DC4018F -:10A1B0000F943924C4010F9431249981891741F0F7 -:10A1C0000F94350A88EB9DE00F944C0981E00EC096 -:10A1D000BE016F5F7F4FC5010F941701F7018081AA -:10A1E0009181019691838083D2CF80E00F90DF919F -:10A1F000CF911F910F91FF90EF90DF90CF90BF9084 -:10A20000AF909F908F907F900895009781F4109267 -:10A21000900082E08093910010929500109294003B -:10A22000C19A80917100826080937100089581309D -:10A23000910569F41092A00082E08093A100109231 -:10A24000A5001092A40089BB809372000895029724 -:10A2500061F41092200182E0809321011092250187 -:10A26000109224018ABB8093730008957F928F928D -:10A270009F92AF92BF92CF92DF92EF92FF920F9395 -:10A280001F93CF93DF93FC019081943208F0CEC0EE -:10A290006B017F01892F90E0FC01EE0FFF1F8E0FF5 -:10A2A0009F1FFC01E55DFA4E808161E08F770E947F -:10A2B000A8FFF7011182128280816CE00F94BA240A -:10A2C000FCE08F9FB001112440E050E09B01240F7F -:10A2D000351FF901EE0FFF1F2E0F3F1FF901E55D3E -:10A2E000FA4E908197FD08C04F5F5F4F4C3051058B -:10A2F00069F790E00E940551F7017080C72DD0E00A -:10A300008E01000F111FF801EC0FFD1FE55DFA4EE5 -:10A3100080818068808377FC89C0F0E2CF16F2E00C -:10A32000DF060CF041C0F701828128E532E0281BEE -:10A33000310987FD3395220F331F220F331F032E60 -:10A34000000C440B550B818168E870E04B01881AC2 -:10A35000910887FD9394880C991C880C991C092CF2 -:10A36000000CAA08BB08D7FC0BC0B601653B710501 -:10A3700014F064EB70E0072E000C880B990B03C0FF -:10A3800060E070E0CB01281939094A095B090F9494 -:10A39000472424EB30E040E050E00F947924820E13 -:10A3A000931EA41EB51E01C04601F3E2F71558F135 -:10A3B000F701218188E890E0821B910927FD9395A0 -:10A3C000880F991F880F991F8816990684F0F70146 -:10A3D000228188E592E0821B910927FD9395880FE1 -:10A3E000991F880F991F881699060CF4C4010297CB -:10A3F0002FB7F894C00FD11FC55DDA4E880F991F93 -:10A400009A8389832FBF62E370E080E090E0DF9160 -:10A41000CF911F910F91FF90EF90DF90CF90BF9061 -:10A42000AF909F908F907F900D941D09DF91CF91F9 -:10A430001F910F91FF90EF90DF90CF90BF90AF9062 -:10A440009F908F907F9008951F920F920FB60F925A -:10A4500011240BB60F922F933F934F935F936F93FB -:10A460007F938F939F93AF93BF93EF93FF9348E2B4 -:10A4700051E064E271E082E090E00E94564FFF916B -:10A48000EF91BF91AF919F918F917F916F915F916C -:10A490004F913F912F910F900BBE0F900FBE0F90D9 -:10A4A0001F9018951F920F920FB60F9211240BB6A2 -:10A4B0000F922F933F934F935F936F937F938F935D -:10A4C0009F93AF93BF93EF93FF9348EA50E064EA02 -:10A4D00070E081E090E00E94564FFF91EF91BF91B4 -:10A4E000AF919F918F917F916F915F914F913F912C -:10A4F0002F910F900BBE0F900FBE0F901F901895CD -:10A500001F920F920FB60F9211240BB60F922F933A -:10A510003F934F935F936F937F938F939F93AF93EB -:10A52000BF93EF93FF9348E950E064E970E080E067 -:10A5300090E00E94564FFF91EF91BF91AF919F9194 -:10A540008F917F916F915F914F913F912F910F90DC -:10A550000BBE0F900FBE0F901F9018959091C000EA -:10A5600095FFFCCF8093C60008958F929F92AF9283 -:10A57000BF92EF92FF920F931F93CF93DF93CDB7CC -:10A58000DEB7A0970FB6F894DEBF0FBECDBF611542 -:10A5900071058105910591F100E0842E912CA12C8B -:10A5A000B12C102FEE24E394F12CEC0EFD1EE00EE6 -:10A5B000F11C07FDFA94A50194010F945724F701AB -:10A5C0006083B901CA010F5F6115710581059105AD -:10A5D00041F71F3F31F1E1E0F0E0EC0FFD1FE10F2B -:10A5E000F11D17FDFA9580818A3010F097E301C0C4 -:10A5F00090E3890F0E94AE521150EBCF80E3A096FA -:10A600000FB6F894DEBF0FBECDBFDF91CF911F9183 -:10A610000F91FF90EF90BF90AF909F908F900C9410 -:10A62000AE52A0960FB6F894DEBF0FBECDBFDF913D -:10A63000CF911F910F91FF90EF90BF90AF909F909F -:10A640008F900895CF92DF92EF92FF926B017C0181 -:10A6500097FF0BC08DE20E94AE52F094E094D0942C -:10A66000C094C11CD11CE11CF11C4AE0C701B60119 -:10A67000FF90EF90DF90CF900C94B5528F929F9205 -:10A68000AF92BF92CF92DF92EF92FF92CF936B0186 -:10A690007C01B42E20E030E0A9010F94011E87FF59 -:10A6A00007C08DE20E94AE52F7FAF094F7F8F094EA -:10A6B000C0E060E070E080E09FE3CB1541F02DEC5E -:10A6C0003CEC4CEC5DE30F94671ECF5FF6CF9B0133 -:10A6D000AC01C701B6010F94F7246B017C010F9404 -:10A6E0006A264B015C014AE00E94B552CC2389F1F5 -:10A6F000C501B4010F94061E9B01AC01C701B60150 -:10A700000F94F6246B017C018EE20E94AE5220E091 -:10A7100030E040E251E4C701B6010F94671E4B01DF -:10A720005C010F9463266B01770FEE08FF08C701E9 -:10A73000B6010E942253C701B6010F94081E9B0167 -:10A74000AC01C501B4010F94F6246B017C01C1502A -:10A75000F1F6CF91FF90EF90DF90CF90BF90AF9048 -:10A760009F908F9008958DE00E94AE528AE00C94E5 -:10A77000AE52CF93DF93EC018991882319F00E94A8 -:10A78000AE52FACFDF91CF910C94B35380919812CF -:10A7900090919912981759F0E92FF0E0E856FD4E84 -:10A7A00082819F5F9F779093991290E008958FEF39 -:10A7B0009FEF08952F923F924F925F926F927F92F8 -:10A7C0008F929F92AF92BF92CF92DF92EF92FF92C1 -:10A7D0000F931F93CF93DF93CDB7DEB728970FB6B4 -:10A7E000F894DEBF0FBECDBFE82E0E94541D0F941B -:10A7F00006014B015C0180910002882359F1809190 -:10A800004912882339F14091DB085091DC086091AE -:10A81000DD087091DE0895018401041B150B260BE1 -:10A82000370B37FD2AC0833079F03CF4813094F047 -:10A830000F94350A8AE19EE00BC0843059F40F94DE -:10A84000350A8BEE9DE004C00F94350A83E09EE04C -:10A850000F944C092091000230E0A8EEB3E00F9471 -:10A86000AB24860E971EA81EB91E8092DB0890921C -:10A87000DC08A092DD08B092DE0880912A028823CD -:10A8800019F18091630981111FC080919C1782FD8D -:10A8900008C080911C11813021F08091270B882302 -:10A8A00099F0F894649919C6609136117091371136 -:10A8B0008091381190913911789420E030E0A9010D -:10A8C0000F94011E87FD99C58091240B843008F0F8 -:10A8D0007EC20F9406014B015C018091240B811113 -:10A8E0001DC08091981290919912891B8F77B1F4B5 -:10A8F0008091440990914509A0914609B09147097A -:10A90000A5019401281B390B4A0B5B0BDA01C90125 -:10A91000885E9340A109B109B7FFF0C570E6F72E34 -:10A920008091240B843008F035C180919812909169 -:10A930009912891B8F7709F42DC10E94C653AC016F -:10A9400097FDEECF20911A1330911B138A3019F026 -:10A950008D3009F0ECC0109243092115310519F42E -:10A960000E946B9ADDCFF901ED51F74F10821092E2 -:10A970001B1310921A1303EE18E0F8018191803234 -:10A9800011F48F01FACF8E3409F07AC00115110548 -:10A9900009F476C06CE97FE0C8010F947F1D6C015B -:10A9A000892B41F06EE470E0C80104960F944A28A8 -:10A9B000009709F4C8014AE050E060E070E00196B9 -:10A9C0000F94F71A6093DF087093E0088093E10812 -:10A9D0009093E20840901C1350901D1360901E133A -:10A9E00070901F133FEF431A530A630A730A6415EA -:10A9F00075058605970531F0CD2821F460E089E6DC -:10AA00009FE051C06AE270E0C8010F9479289C0170 -:10AA1000009709F1982F901BD12C992339F0915070 -:10AA2000F801E90FF11D8081D826F7CF4AE050E008 -:10AA300060E070E0C90101960F94F71A4D2C512C7B -:10AA4000612C712C641575058605970541F060E051 -:10AA50008AE49FE028C060E080E29FE024C080910B -:10AA6000DF089091E008A091E108B091E20880939E -:10AA70001C1390931D13A0931E13B0931F1316C0A5 -:10AA800080919C1780FF12C068E171E1C8010F94AA -:10AA90007F1D009729F0FC01838180538A3030F4B8 -:10AAA00060E086EF9EE00E9476D774C080912F020E -:10AAB00081111CC067E470E0C8010F944A28009718 -:10AAC000A9F04AE050E060E070E001960F94F71AB8 -:10AAD000643071058105910548F48FE79EE00F947D -:10AAE0004C0960E085E79EE00E94FAED80924409FF -:10AAF00090924509A0924609B09247098091E308D7 -:10AB00008B3309F40DCF8091240B843008F008CFEB -:10AB10008091A009F89EC001112463EE78E08D5564 -:10AB2000964F0F94552881E00E944CB3F9CE2F35F3 -:10AB300031050CF0F5CE8C35C1F40E94C65397FD5B -:10AB4000EFCE209143092111EBCE20911A133091C1 -:10AB50001B13A9014F5F5F4F50931B1340931A13B0 -:10AB6000F901ED51F74F8083DBCE8B3321F481E087 -:10AB700080934309D5CE809143098111D1CEC9017B -:10AB8000019690931B1380931A13F901ED51F74F1F -:10AB90004083C6CE80919C1782FF19C18091240BFF -:10ABA000811102C010924909DD24D3944091981775 -:10ABB0005091991760919A1770919B1780919417F3 -:10ABC00090919517A0919617B0919717481759072C -:10ABD0006A077B0708F4D12C00E010E0CC24C39472 -:10ABE00040E6B42E54E6A52E69E6962E8091240BFD -:10ABF000843008F0ECC0D110EAC08091490981117D -:10AC0000E6C08091BF149091C014A091C114B0917E -:10AC1000C2148093981790939917A0939A17B093A2 -:10AC20009B1741E050E0BE016F5F7F4F87EB94E1DF -:10AC30000E942768019719F4898190E002C08FEF84 -:10AC40009FEFF82E409098175090991760909A17A0 -:10AC500070909B174091941750919517609196179B -:10AC600070919717DD24D39444165506660677062F -:10AC700008F4D12C4416550666067706B0F4019602 -:10AC800009F461C02AE0F21609F46EC03DE0F31643 -:10AC900009F46AC043E2F41619F05AE3F5127CC0D5 -:10ACA00080914809811178C054C00E94638C87EB61 -:10ACB00094E10E94AE6780919317882339F1815007 -:10ACC00080939317989EC001112441E061E0845D58 -:10ACD000944F0E943761E091931764E0E69FF00182 -:10ACE0001124E85DF44F408151816281738140936A -:10ACF00098175093991760939A1770939B1787EB47 -:10AD000094E10E9442640E94EC5D16C00E94DB5DEB -:10AD10000E94A48D0E940E8B0E94AAEC6D337105D7 -:10AD20008105910518F487EA9FE002C08CEA9FE054 -:10AD30000E9493B3A0924B1380919C1782FD0DC08B -:10AD40008FEB9FE004C00F94310A80EB9FE00F94DB -:10AD50004C0973E2F71208C005C053E2F512DBC3D9 -:10AD600000E010E0C0924909109248090115110550 -:10AD700019F40E946B9A0DC08091A009B89E000D35 -:10AD8000111D1124F801ED55F64F108280E00E944C -:10AD90004CB300E010E02ACF0F35110508F026CFA4 -:10ADA0008BE3F81203C0C092480920CF8091480974 -:10ADB00081111CCF8091A009F801B89EE00DF11D12 -:10ADC0001124ED55F64FF0820F5F1F4F0FCF0F94F8 -:10ADD00006014B015C014091CC085091CD08609177 -:10ADE000CE087091CF08411551056105710529F113 -:10ADF0008091101490911114A0911214B091131419 -:10AE0000840F951FA61FB71F95018401081B190BFE -:10AE10002A0B3B0B37FD11C00F94310A6091E10BF7 -:10AE20007091E20B83ED9FE00F941E0A8AE00E946E -:10AE3000AE5280E090E00F942602409101025091C2 -:10AE400002026091030270910402411551056105EF -:10AE5000710509F44EC090919E1580919F15981729 -:10AE600059F00F940601609310147093111480939D -:10AE70001214909313143DC08091270B811137C099 -:10AE8000E11035C08091101490911114A09112140A -:10AE9000B0911314840F951FA61FB71FA50194012D -:10AEA000281B390B4A0B5B0B57FD21C080915A09B7 -:10AEB00081111FC081E080935A095F9A8091181414 -:10AEC0008E7F809318148A9A809118148D7F8093B6 -:10AED00018148091080180958170809306018091FB -:10AEE00018148B7F809318140E941D5002C010927A -:10AEF0005A098091560990915709A0915809B0912B -:10AF00005909B501A401481B590B6A0B7B0B77FD4E -:10AF1000BCC120919E1590919F1580915402109173 -:10AF20005502291317C06091FB0B869FB0011124B5 -:10AF3000660F672F661F770B7195062F8091FC0BAC -:10AF4000189FB0011124660F672F661F770B71954C -:10AF5000162F29C020919F1558E4259F9001112498 -:10AF60002B5D334FF901EA5BFF4F6081869FB00193 -:10AF70001124660F672F661F770B7195062F319688 -:10AF80008081819FB0011124660F672F661F770BA8 -:10AF90007195162F80919F1590919E15981719F015 -:10AFA0008F5F8F70F9CF002331F10F940601C090AD -:10AFB0004E09D0904F09E0905009F0905109DC0102 -:10AFC000CB01C114D104E104F10469F48C599F4F01 -:10AFD000AF4FBF4F80934E0990934F09A0935009F4 -:10AFE000B093510906C08C199D09AE09BF09B7FF7E -:10AFF0000AC00FEF08C010924E0910924F0910922C -:10B00000500910925109602F70E089E00E94E4FF1E -:10B01000112331F10F940601C0905209D0905309C9 -:10B02000E0905409F0905509DC01CB01C114D10422 -:10B03000E104F10469F48C599F4FAF4FBF4F8093E7 -:10B04000520990935309A0935409B093550906C02F -:10B050008C199D09AE09BF09B7FF0AC01FEF08C0D0 -:10B0600010925209109253091092540910925509E6 -:10B07000612F70E087E00E94E4FF809138138823FD -:10B0800009F4F6C0E0902102F09022020091230220 -:10B09000109124026091160C7091170C6E5F7F4F17 -:10B0A000072E000C880B990B0F94081E9701A8011E -:10B0B0000F94011E87FDDCC030909F15212C1A8251 -:10B0C0001B821C8280919E15831509F467C0832D15 -:10B0D00090E068E4689FF001699FF00D1124EB5D3A -:10B0E000F34F458956896789708D452B462B472B31 -:10B0F00089F4418D528D638D748D452B462B472BE2 -:10B1000049F4458D568D678D70A1452B462B472BF5 -:10B1100009F43FC078E4789F9001799F300D1124A5 -:10B12000C9018B5D934F6C01FC0161817281838148 -:10B1300094810F94A5272B013C01F60161A172A116 -:10B1400083A194A10F94061E6D837E838F839887BD -:10B15000F60165A176A187A190A50F94061E9B011B -:10B16000AC016D817E818F8198850F94F125A301BB -:10B1700092010F94671E3B016C01222D3A814B8195 -:10B180005C810F945727181624F4262C7A82CB82E0 -:10B19000DC8281E0830D8F70382E94CF20912502C0 -:10B1A000309126024091270250912802622D7A8127 -:10B1B0008B819C810F94671E9701A8010F94F7243F -:10B1C0003B016C0120901D0230901E0240901F0236 -:10B1D000509020029B01AC01B701C8010F94572782 -:10B1E00018166CF09101A201B301C6010F94572704 -:10B1F00018161CF47101820102C07301860140908F -:10B200004A0950904B0960904C0970904D09970184 -:10B21000A801C301B2010F9457271816C4F420E007 -:10B2200037ED43EA5CE3B701C8010F94671E6B0179 -:10B230007C0128E431EE4AE75FE3C301B2010F94D9 -:10B24000671EA70196010F94F7247B018C01C701AB -:10B25000D80180934A0990934B09A0934C09B0936D -:10B260004D09B701C8010F946326CB010E94B4DFDA -:10B27000F4E68F0E911CA11CB11C8092560990928D -:10B280005709A0925809B09259090E946B9A80916F -:10B290001C11813009F06EC00F9406016B017C0116 -:10B2A00080915F0990916009A0916109B091620954 -:10B2B00097018601081B190B2A0B3B0B37FD3AC07F -:10B2C00080901D1190901E11A0901F11B090201120 -:10B2D0000E94AAEC60931D1170931E1180931F11A0 -:10B2E000909320110091840910918509209186097D -:10B2F00030918709081919092A093B09DC01CB019A -:10B30000800F911FA21FB31F80938409909385091A -:10B31000A0938609B0938709D701C601805F984D35 -:10B32000AF4FBF4F80935F0990936009A09361096D -:10B33000B093620980915B0990915C09A0915D09CD -:10B34000B0915E09A7019601281B390B4A0B5B0BD4 -:10B3500057FD10C030E8C30E3EEED31EE11CF11CB9 -:10B36000C0925B09D0925C09E0925D09F0925E099F -:10B370000E94E88A8091C708882391F00F94060103 -:10B380000091C3081091C4082091C5083091C608E7 -:10B39000DC01CB01801B910BA20BB30BB7FFBEC02E -:10B3A0000F9406016B017C012091C208222309F44D -:10B3B000D3C08091BE089091BF08A091C008B09101 -:10B3C000C108B701A601481B590B6A0B7B0B77FD1F -:10B3D000C3C030E0A8EEB3E00F94AB24C60ED71E76 -:10B3E000E81EF91EC092BE08D092BF08E092C008C5 -:10B3F000F092C1080E94B45DAFC011E010936309E0 -:10B400008091270B811166C08AE196E00E94B953B2 -:10B4100084E08093161182E080939E0881E09AE593 -:10B4200090932116809320168EE490E0909323163B -:10B430008093221687E08093141682E88093171673 -:10B4400084E890E0A0E0B0E080931816909319167D -:10B45000A0931A16B0931B160F948001109321111C -:10B460000E94349440E064E67EE08AE697E10E9420 -:10B47000409480E30E94AE528AE00E94AE520E9445 -:10B4800028948091D00860E0182719F08AE496E1AA -:10B490000DC082E59EE00E94109480E30E94AE52AF -:10B4A0008AE00E94AE5260E08CE29EE00E9410941E -:10B4B00080E49EE00F944C0980E30E94AE528AE043 -:10B4C0000E94AE52112331F082E39EE09093A209D4 -:10B4D0008093A1090E94638CF7C980915B029091CF -:10B4E0005C02A0915D02B0915E0280933611909350 -:10B4F0003711A0933811B0933911D6C981EA9FE072 -:10B500000F944C098092440990924509A0924609F3 -:10B51000B092470903CA109248092BCC0F94060138 -:10B520006B017C012091C70830E0A8EEB3E00F94D6 -:10B53000AB24C60ED71EE81EF91EC092C308D092D7 -:10B54000C408E092C508F092C60880E00E94D0D7F7 -:10B550008AE00E94AE5224CF28960FB6F894DEBF40 -:10B560000FBECDBFDF91CF911F910F91FF90EF9054 -:10B57000DF90CF90BF90AF909F908F907F906F9013 -:10B580005F904F903F902F9008951F920F920FB6AB -:10B590000F9211240F900FBE0F901F9018951F92BD -:10B5A0000F920FB60F9211240BB60F920F931F93A9 -:10B5B0002F933F934F935F936F937F938F939F93BB -:10B5C000AF93BF93CF93DF93EF93FF9300919912C3 -:10B5D000D091981211E01D0F1F77C091C600909175 -:10B5E000D608492F092E000C550B660B770B4131FD -:10B5F000510508F064C0FA018827E256FF4F8F4FCB -:10B600000D94EE24CD3449F0CE34B9F481E006C077 -:10B61000CA3338F0CD3409F043C082E08093D608B5 -:10B6200076C0C03308F073C0C03209F470C0CD32A8 -:10B63000B9F56DC0C13351F018F4C03289F567C057 -:10B64000C43331F0C83361F58BE0E8CF83E0E6CF57 -:10B6500088E0E4CFC03321F0C13311F586E0DECFBE -:10B6600084E0DCCFC833E1F485E0D8CFC233C1F445 -:10B6700087E0D4CFC133A1F489E0D0CFC03381F4C7 -:10B680008AE0CCCFC73361F48CE0C8CFC63341F435 -:10B690008DE0C4CFC032D9F1C33511F48EE0BECFF6 -:10B6A00080E1BCCF80ED8C0F8A3088F59FE09093CD -:10B6B000D6088093D5082BC0CA3049F526C0CA30B9 -:10B6C00031F580918216882301F1973089F03CF49E -:10B6D0009530D9F41092140210924A1316C09A3081 -:10B6E00059F09F3091F48091D5080E946C940DC060 -:10B6F00081E08093581109C00E94FA8D0E94638CEA -:10B700008EEF0E94DEC20E944CC31092D608011731 -:10B7100031F0ED2FF0E0E856FD4EC283D12FD093EB -:10B720009812FF91EF91DF91CF91BF91AF919F91CF -:10B730008F917F916F915F914F913F912F911F91C9 -:10B740000F910F900BBE0F900FBE0F901F9018958A -:10B750008EBD0DB407FEFDCF08958FEF8EBD0DB4E5 -:10B7600007FEFDCF8EB50895909164009B7F909366 -:10B770006400982F906A96959CBD80FD03C091E06F -:10B78000863009F490E09DBD0895CF92DF92EF924C -:10B79000FF920F931F93CF93DF936C017A018B017C -:10B7A000C0E0D0E0CE15DF0581F0D8016D918D01AC -:10B7B000D601ED91FC910190F081E02DC601199523 -:10B7C000892B11F02196EECF7E01C701DF91CF9139 -:10B7D0001F910F91FF90EF90DF90CF900895089503 -:10B7E00080E090E00895FC01538D448D252F30E0DA -:10B7F000842F90E0821B930B541710F0CF9608957E -:10B8000001970895FC01918D828D981761F0828DCA -:10B81000DF01A80FB11D5D968C91928D9F5F9F7384 -:10B82000928F90E008958FEF9FEF0895FC01918D26 -:10B83000828D981731F0828DE80FF11D858D90E093 -:10B8400008958FEF9FEF0895FC01918D228D892F30 -:10B8500090E0805C9F4F821B91098F739927089518 -:10B860008AE194E10E94245C21E0892B09F420E024 -:10B87000822F0895FC01848DDF01A80FB11DA35A0A -:10B88000BF4F2C91848D90E001968F739927848F00 -:10B89000A689B7892C93A089B1898C918370806423 -:10B8A0008C93938D848D981306C00288F389E02DC4 -:10B8B00080818F7D80830895EF92FF920F931F9375 -:10B8C000CF93DF93EC0181E0888F9B8D8C8D981353 -:10B8D00005C0E889F989808185FD26C0F62E0B8D8B -:10B8E00010E00F5F1F4F0F731127E02E8C8DE812B1 -:10B8F0000CC00FB607FCFACFE889F989808185FF73 -:10B90000F5CFCE010E943A5CF1CF8B8DFE01E80F9E -:10B91000F11DE35AFF4FF0829FB7F8940B8FEA892D -:10B92000FB89808180620AC09FB7F894EE89FF8905 -:10B930006083E889F98980818370806480839FBFF8 -:10B9400081E090E0DF91CF911F910F91FF90EF90F8 -:10B950000895CF93DF93EC01888D8823C9F0EA899D -:10B96000FB89808185FD05C0A889B9898C9186FDF8 -:10B970000FC00FB607FCF5CF808185FFF2CFA889F5 -:10B98000B9898C9185FFEDCFCE010E943A5CE7CF5B -:10B99000DF91CF91089580E090E0892B41F080E025 -:10B9A00090E0892B21F00E940000811121C080E0ED -:10B9B00090E0892B41F080E090E0892B21F00E94FB -:10B9C0000000811118C080E090E0892B21F00E94D6 -:10B9D000305C811113C080E090E0892BA1F080E001 -:10B9E00090E0892B81F00E94000081110AC0089527 -:10B9F0000E940000DCCF0E940000E5CF0E94000002 -:10BA0000EACF0C9400000895FC0120E03EE2DB0147 -:10BA10004C91403241F0283011F430833196DB01F3 -:10BA20004C91408331962F5F6F5F7F4F2B3079F7BA -:10BA3000108208950F9409280F931F93CF93DF93DB -:10BA40008B01EA01DB016D917C910E944865D80170 -:10BA5000ED91FC91119790818881992349F0893665 -:10BA600038F43196ED93FC9388818F5F8883EFCF14 -:10BA7000893658F48FE28083F801808191810196A4 -:10BA80009183808388818F5F8883DF91CF911F911D -:10BA90000F9108951F920F920FB60F9211240BB6BB -:10BAA0000F922F933F934F935F936F937F938F9357 -:10BAB0009F93AF93BF93EF93FF938AE194E10E942A -:10BAC0003A5CFF91EF91BF91AF919F918F917F91E0 -:10BAD0006F915F914F913F912F910F900BBE0F90FF -:10BAE0000FBE0F901F9018951F920F920FB60F92D6 -:10BAF00011240BB60F922F938F939F93EF93FF9385 -:10BB0000E0912A14F0912B148081E0913014F0918F -:10BB1000311482FD12C09081809133148F5F8F7336 -:10BB200020913414821751F0E0913314F0E0E65E76 -:10BB3000FB4E958F8093331401C08081FF91EF916C -:10BB40009F918F912F910F900BBE0F900FBE0F9072 -:10BB50001F9018958BE1E0E1F5E1A5EFB4E10190CC -:10BB60000D928A95E1F7089580919C1782FF1FC07E -:10BB700088E992E10F944C09609198177091991798 -:10BB800080919A1790919B174AE00E94B5528FE2DC -:10BB90000E94AE52609194177091951780919617FC -:10BBA000909197174AE00E94B5520C94B3538AEAD9 -:10BBB00092E10D944C091092270B80919C178F7D78 -:10BBC0008B7F80939C170E944CD7882321F087EBB2 -:10BBD00094E10C94AE67089580919C1783FF03C095 -:10BBE000846080939C170895CF92DF92EF92FF922A -:10BBF0000F931F93CF93DF93CDB7DEB7EDB6FEB6AD -:10BC0000DC010D900020E9F79D01281B390B2C5F0A -:10BC10003F4F4DB75EB7421B530B0FB6F8945EBF54 -:10BC20000FBE4DBF0DB71EB70F5F1F4F9F938F9372 -:10BC300084E991E19F938F931F930F930F94991D24 -:10BC4000680154E0C50ED11C0F900F900F900F901B -:10BC50000F900F90F6018081882349F0082E000C88 -:10BC6000990B0F940E28F60181936F01F3CFC80151 -:10BC70000E9461B380E991E10E9493B30FB6F894FA -:10BC8000FEBE0FBEEDBEDF91CF911F910F91FF90D1 -:10BC9000EF90DF90CF9008958F929F92AF92BF92D6 -:10BCA000CF92DF92EF92FF92CF9380919C17877F84 -:10BCB00080939C1780911315882321F080E195E1F2 -:10BCC0000E94AE671092F4141092F11485E38093F1 -:10BCD000F0140F9406016B017C0120EDC20E27E0E9 -:10BCE000D21EE11CF11CA89561E08091F0140E9425 -:10BCF00079FF61E08091F0140E94A8FF209A289AB1 -:10BD0000219A2398229A81E00E94B45B85E0809377 -:10BD1000F2140E94B45BCAE08FEF0E94A85BC1508E -:10BD2000D9F7A89520E030E0A90160E080EF94E128 -:10BD30000E948E668093F314813061F00F940601A7 -:10BD4000DC01CB018C199D09AE09BF09B7FDEACF13 -:10BD500081E062C0A8952AEA31E040E050E068E066 -:10BD600080EF94E10E948E66853011F481E00AC074 -:10BD7000C4E00E94AD5B8093F314C150D1F78A3ABE -:10BD800061F482E08093F414A8958091F4148230D9 -:10BD900081F0812C912C540111C00F940601DC011B -:10BDA000CB018C199D09AE09BF09B7FDD4CF82E044 -:10BDB00033C0812C912CA12C80E4B82E20E030E0FF -:10BDC000A90167E380EF94E10E948E66A5019401CA -:10BDD00069E280EF94E10E948E668093F3148823D9 -:10BDE00061F00F940601DC01CB018C199D09AE09AD -:10BDF000BF09B7FDE3CF8AE00FC08091F414823011 -:10BE000021F520E030E0A9016AE380EF94E10E948F -:10BE10008E66882361F088E08093F11480EF94E1CE -:10BE20000E9486660F94350A82E891E122C00E9442 -:10BE3000AD5B807C803C19F483E08093F4140E9415 -:10BE4000AD5B0E94AD5B0E94AD5B80EF94E10E9410 -:10BE500086661092F21481E00F94680C81110CC078 -:10BE600080E00F94680C811107C00F94310A8EE6B0 -:10BE700091E10F944C091AC062ED74E180E195E103 -:10BE80000E94D964811105C00F94310A8DE591E1BA -:10BE9000F0CF80919C17886080939C170F94350A8F -:10BEA00081E591E10F944C090E945550CF91FF908C -:10BEB000EF90DF90CF90BF90AF909F908F900C94B9 -:10BEC000AA5D2F923F925F926F927F928F929F9284 -:10BED000AF92BF92CF92DF92EF92FF920F931F9398 -:10BEE000CF93DF93CDB7DEB7C356D1090FB6F89421 -:10BEF000DEBF0FBECDBF8C016B014A012DB63EB631 -:10BF0000512C7E0187E5E80EF11CF6018381823019 -:10BF100008F41FC180859185A285B3858F7199270B -:10BF2000AA27BB27892B8A2B8B2B09F012C11092D1 -:10BF3000391A49E35AE1BE016F5F7F4FC6010E9483 -:10BF4000436918160CF005C18C85982F98719031B3 -:10BF500029F42091950B2150223078F42981222355 -:10BF600009F4F7C0253E89F22E3279F22091391A70 -:10BF70002E3259F28A7049F67CC06DB67EB6BE018B -:10BF80006F5F7F4FC7010E94045D0115110521F00D -:10BF9000F8018081811163C021E081E090E0F70128 -:10BFA00001900020E9F73197EE19FF09E80FF91F1A -:10BFB00032968DB79EB78E1B9F0B0FB6F8949EBF1F -:10BFC0000FBE8DBFEDB7FEB731965F01211102C0E4 -:10BFD000B80102C064E776E0C5010F945528B701A7 -:10BFE000C5010F943F2864E776E0C5010F943F2810 -:10BFF00019A21CA221E0A701B601CE0181960E94E0 -:10C000009A6B81110DC08091950B811109C00F941D -:10C01000350A8DE391E10F944C09C7010E94B95391 -:10C020008BE1FE01B196DE01DC9601900D928A95BE -:10C03000E1F740E050E0BE01645C7F4FC5010E9423 -:10C04000615FCE01CC960E94B767CE0181960E94B7 -:10C05000B7670FB6F8947EBE0FBE6DBE56CFF8011F -:10C0600001900020E9F73197CF01801B910B20E070 -:10C0700096CF21E0903109F020E080919C1720FBC1 -:10C0800084F980939C17903141F08985873409F0B9 -:10C090003CCF8A858E3709F438CF8091950B81305B -:10C0A00021F068F08230C1F130CF8091980B9091EF -:10C0B000990B01969093990B8093980B26CFBE0114 -:10C0C0006F5F7F4F8BE79AE10E94045D01151105B8 -:10C0D00029F48BE7A82E8AE1B82E09C05801F50192 -:10C0E00081915F018823A9F30E94AE52F8CFF50138 -:10C0F00081915F01882319F00E94AE52F8CF80E24F -:10C100000E94AE526D8D7E8D8F8D98A14AE00E9467 -:10C11000B5520E94B353F9CEBE016F5F7F4F8BE7DC -:10C120009AE10E94045D8114910441F06BE77AE189 -:10C13000C4010F942C28892B51F40BC0852D90E05D -:10C140002091960B3091970B8217930711F053941F -:10C15000DCCE0FB6F8943EBE0FBE2DBECD59DF4FDC -:10C160000FB6F894DEBF0FBECDBFDF91CF911F9108 -:10C170000F91FF90EF90DF90CF90BF90AF909F9086 -:10C180008F907F906F905F903F902F900895CF9306 -:10C19000DF93CDB7DEB76B970FB6F894DEBF0FBE57 -:10C1A000CDBF81E08093950B1092990B1092980B64 -:10C1B00085EF94E10E9481668BE1E5EFF4E1DE0119 -:10C1C000119601900D928A95E1F740E050E0BE0192 -:10C1D0006F5F7F4F80E090E00E94615FCE0101962B -:10C1E0000E94B7678091980B9091990B6B960FB650 -:10C1F000F894DEBF0FBECDBFDF91CF9108950F93AE -:10C200001F93CF93DF93CDB7DEB76B970FB6F8943C -:10C21000DEBF0FBECDBF8B0122E02093950B909324 -:10C22000970B8093960B85EF94E10E9481668BE1DA -:10C23000E5EFF4E1DE01119601900D928A95E1F7A8 -:10C24000A801BE016F5F7F4F80E090E00E94615FB8 -:10C25000CE0101960E94B7676B960FB6F894DEBFC9 -:10C260000FBECDBFDF91CF911F910F910895DF9247 -:10C27000EF92FF920F931F93CF93DF9300D01F9203 -:10C28000CDB7DEB720919C1723FF3DC1F42EE62EDB -:10C290008C010E944CD7882309F481C0FF2009F447 -:10C2A0008CC080919317882351F00F94310A83E555 -:10C2B00092E10F944C0980E090E00F9426028DE209 -:10C2C0009BE09A8389838FE280932C0B81E08B83A0 -:10C2D000F12C9BE1D92E80919217F81678F4DF9C0F -:10C2E000C0011124AE014D5F5F4FBE016F5F7F4FF4 -:10C2F0008C57994E0E941C5DF394EDCF8B818B354A -:10C3000078F4AE014D5F5F4FBE016F5F7F4F87EBEB -:10C3100094E10E941C5D89819A8101979A838983A7 -:10C32000E981FA811082E091931784E0E89FF0019F -:10C330001124E85DF44F8091981790919917A0917E -:10C340009A17B0919B1780839183A283B3830F9434 -:10C35000350AB8018AE392E10F941E0A609193179F -:10C3600089E6689FB0011124645D744F8FE292E109 -:10C370000F941E0A409198175091991760919A173F -:10C3800070919B1789E292E10F94E2098AE00E9482 -:10C39000AE52809193178F5F8093931726C0FF2032 -:10C3A00039F00F94350A89E192E10F944C091DC0D0 -:10C3B0001092931782E0F82E02C0FF24F3940F949A -:10C3C000350A84E192E10F944C0981E0F81609F4F2 -:10C3D00097C080E092E10F944C09B8018CE092E1A3 -:10C3E0000F941E0A8AE00E94AE520E94DB5DB801E3 -:10C3F000CE0103960F948D038C01009709F483C03E -:10C400006B817C81EE2009F450C021E0AC0187EB08 -:10C4100094E10E949A6B882309F43FC08091C8146C -:10C420009091C914A091CA14B091CB148093941721 -:10C4300090939517A0939617B0939717109298170B -:10C440001092991710929A1710929B17B80182EFC9 -:10C4500091E10F941E0A40919417509195176091A5 -:10C460009617709197178AEE91E10F94E2098AE08E -:10C470000E94AE528BED91E10F944C09B80180E01F -:10C4800090E00E94FF608091391A811102C0C801BA -:10C4900002C089E39AE160E030C0B80187EC91E125 -:10C4A0000F941E0A84EC91E10FC026E5AC0187EBE6 -:10C4B00094E10E949A6B81110AC0B80180EB91E16E -:10C4C0000F941E0A8DEA91E10F944C091CC08091D3 -:10C4D0009C17816080939C17B80180E090E00E94D7 -:10C4E000FF6010928216B8018BE991E10F941E0A49 -:10C4F0008AE00E94AE5260E0C8010E9455EE03C07F -:10C5000086E092E168CF0F900F900F900F90DF912F -:10C51000CF911F910F91FF90EF90DF900895CF92F0 -:10C52000DF92EF92FF92CF936B017C01C42F809139 -:10C530002E1A90912F1AA091301AB091311A8C15A1 -:10C540009D05AE05BF05D1F00E943B67811102C079 -:10C5500080E018C02EE238E1B701A6018091371AB9 -:10C560009091381A0E94BD67882391F3C0922E1AC9 -:10C57000D0922F1AE092301AF092311A81E0C11154 -:10C580008093361ACF91FF90EF90DF90CF9008956F -:10C590004F925F926F927F928F929F92AF92BF92D3 -:10C5A000CF92DF92EF92FF920F931F93CF93DF937F -:10C5B000EC01423051056105710510F480E069C05D -:10C5C00089859A85AB85BC850196A11DB11D84170F -:10C5D0009507A607B70790F38F89803149F4852E18 -:10C5E000962EA72EBB248B899C89AD89BE890FC04E -:10C5F000803221F78B889C88AD88BE88DB01CA0118 -:10C60000E7E0B695A79597958795EA95D1F7880EB7 -:10C61000991EAA1EBB1E280139016A017B0141E057 -:10C62000C501B4010E948F62882341F29F89903135 -:10C6300061F4DD24EE24FF249601220F331FF9015B -:10C64000E25DF74E5182408211C0E894C7F8DD24C4 -:10C65000EE24FF249601220F331F220F331FF9010E -:10C66000E25DF74E40825182628273829A899230F3 -:10C6700080F04D815E816F817885840E951EA61EA7 -:10C68000B71E8092321A9092331AA092341AB09246 -:10C69000351ADF91CF911F910F91FF90EF90DF90AE -:10C6A000CF90BF90AF909F908F907F906F905F9052 -:10C6B0004F900895CF92DF92EF92FF920F931F93C6 -:10C6C000CF93DF93FC0181859285A385B485019684 -:10C6D000A11DB11D84179507A607B70710F480E0C8 -:10C6E00061C08789803149F4BB27A72F962F852FFA -:10C6F000C388D488E588F6880FC0803281F78389A3 -:10C700009489A589B6896A017B01C7E0F694E7940C -:10C71000D794C794CA95D1F78C0D9D1DAE1DBF1D32 -:10C72000E9016A017B018F0140912E1A50912F1A65 -:10C730006091301A7091311A84179507A607B707D0 -:10C7400039F040E0BC01CD010E948F62882339F2AC -:10C75000F8018789803179F4B701A601552766274A -:10C760007727440F551FFA01E25DF74E80819181D2 -:10C77000A0E0B0E012C0B701A6014F7755276627A9 -:10C780007727440F551F440F551FFA01E25DF74EFE -:10C7900080819181A281B381BF7088839983AA83AC -:10C7A000BB8381E0DF91CF911F910F91FF90EF90BC -:10C7B000DF90CF9008954F925F926F927F92AF92E9 -:10C7C000BF92CF92DF92EF92FF920F931F93CF937E -:10C7D000DF9300D01F92CDB7DEB78C0149835A8317 -:10C7E0006B837C835901C12CD12C7601412C82E0D2 -:10C7F000582E612C712C49815A816B817C819E015C -:10C800002F5F3F4FC8010E945A63882341F1D30133 -:10C81000C201F801058404C0880F991FAA1FBB1F1D -:10C820000A94D2F7C80ED91EEA1EFB1E49815A810E -:10C830006B817C818789803139F481E0483F5F4F8B -:10C840006105710538F4D7CF81E0483F5F4F6F4FE6 -:10C850007F4088F2F501C082D182E282F3820F909C -:10C860000F900F900F90DF91CF911F910F91FF903C -:10C87000EF90DF90CF90BF90AF907F906F905F90E0 -:10C880004F9008958F929F92AF92BF92CF92DF9276 -:10C89000EF92FF920F931F93CF93DF93EC018B8165 -:10C8A000811102C080E078C009891A892B893C89EE -:10C8B0000417150726073707A8F36A017B018230A2 -:10C8C00029F4C886D986EA86FB860DC0C114D10436 -:10C8D000E104F10451F4188619861A861B861C821D -:10C8E0001D821E821F8281E057C088849984AA8499 -:10C8F000BB84E98DFA8D258530E0275F3F4FB50178 -:10C90000A4014150510961097109022E04C07695B4 -:10C910006795579547950A94D2F7D701C6010197B5 -:10C92000A109B10904C0B695A795979587952A9551 -:10C93000D2F784179507A607B70720F089288A2819 -:10C940008B2871F44D895E896F89788D4C835D8366 -:10C950006E837F834C015D018E010C5F1F4F16C0FB -:10C96000841B950BA60BB70BF5CF4C815D816E81B7 -:10C970007F819801898D9A8D0E945A6391E0891A6E -:10C980009108A108B108882309F48CCF811491047F -:10C99000A104B10451F795CFDF91CF911F910F9171 -:10C9A000FF90EF90DF90CF90BF90AF909F908F90CF -:10C9B00008950F931F93CF93DF93FC0123812223CC -:10C9C00011F080E044C08B01EC01FB0187898031CC -:10C9D00039F18032B1F783E08B83F801428D538DBA -:10C9E000648D758D4D8B5E8B6F8B788F9E012F5E66 -:10C9F0003F4FC8010E94DB63882319F31A8F098F08 -:10CA000081E08983188619861A861B861C821D82FE -:10CA10001E821F82188A1C861D861E861F8617C0CE -:10CA200082E08B831D8A1E8A1F8A188EFB01808DEF -:10CA3000918DA0E0B0E025E0880F991FAA1FBB1FD1 -:10CA40002A95D1F7898B9A8BAB8BBC8BD7CFDF9193 -:10CA5000CF911F910F910895CF93DF93EC0141E0A7 -:10CA6000611101C040E06C857D858E859F850E94A7 -:10CA70008F62882341F0888920E2829FC0011124BF -:10CA8000825D974E02C080E090E0DF91CF910895E3 -:10CA9000CF93DF93EB01FC012381211102C080E0E1 -:10CAA00028C02250223020F48FE28883198220C0CF -:10CAB00060E00E942C65009791F3FC0190E080E01B -:10CAC0002EE23081303269F0883029F4DE01A90F7E -:10CAD000B11D2C939F5FDE01A90FB11D30813C93E6 -:10CAE0009F5F8F5F31968B3061F7C90FD11D188220 -:10CAF00081E0DF91CF9108953F924F925F926F92C4 -:10CB00007F928F929F92AF92BF92CF92DF92EF92DD -:10CB1000FF920F931F93CF93DF93CDB7DEB72C9780 -:10CB20000FB6F894DEBF0FBECDBF5C01DC01599695 -:10CB30008D909C905A97F40181859285A385B48548 -:10CB40009C01AD012F5F3F4F4F4F5F4F29873A87C1 -:10CB50004B875C87D5011496CD90DD90ED90FC90CD -:10CB60001797C114D104E104F10439F0BFEFCB1AD7 -:10CB7000DB0AEB0AFB0A312C07C0F401C080D1802C -:10CB8000E280F38033243394260137011D821E8214 -:10CB90001F821886F40181859285A385B4852D8135 -:10CBA0003E814F815885281739074A075B0708F0EF -:10CBB00064C089859A85AB85BC858C159D05AE05BD -:10CBC000BF0550F482E0C82ED12CE12CF12C92E06C -:10CBD000492E512C612C712C9E012F5F3F4FB701C4 -:10CBE000A601C4010E945A63882309F446C08981C2 -:10CBF0009A81AB81BC81892B8A2B8B2B41F026013A -:10CC000037019FEF491A590A690A790A05C0C41405 -:10CC1000D504E604F70491F02D813E814F815885BB -:10CC20002F5F3F4F4F4F5F4F2D833E834F8358877A -:10CC30003FEFC31AD30AE30AF30AACCF0FEF1FEF9B -:10CC40002FEF3FE0B301A201C4010E94C862F82E99 -:10CC5000882399F0D50114964D915D916D917C9149 -:10CC60001797411551056105710549F0930182013E -:10CC7000C4010E94C862811102C0F12C29C0D501F3 -:10CC800014964D925D926D927C921797332051F0DD -:10CC9000D301C2010196A11DB11DF40180839183CE -:10CCA000A283B383F50185899689A789B08D892BE5 -:10CCB0008A2B8B2B69F4D50155964D925D926D921E -:10CCC0007C92589711968C911197806811968C934D -:10CCD0008F2D2C960FB6F894DEBF0FBECDBFDF911F -:10CCE000CF911F910F91FF90EF90DF90CF90BF9069 -:10CCF000AF909F908F907F906F905F904F903F90FC -:10CD0000089540E050E0BA010C94426461E0FC01F7 -:10CD100080810E9479FF8FEF0C94A85BEF92FF92C5 -:10CD20001F93CF93DF9300D01F92CDB7DEB77C0166 -:10CD3000162F29833A834B835C83FC0182810E94F6 -:10CD4000B45B60E0F70180810E9479FF0F94D70205 -:10CD5000812F80640E94A85B8C810E94A85B8B81DC -:10CD60000E94A85B8A810E94A85B89810E94A85BBF -:10CD7000112311F087E801C085E90E94A85B1C30EF -:10CD800011F40E94AD5B10E00E94AD5BF70183835C -:10CD900087FF04C01F3F11F01F5FF6CF0F900F9069 -:10CDA0000F900F90DF91CF911F91FF90EF9008951A -:10CDB0000F931F93CF93DF93EC0189018C81833014 -:10CDC00039F089E0440F551F661F771F8A95D1F708 -:10CDD0009A01AB0168E1CE010E948E66811128C0E4 -:10CDE0008EEF8EBDF801C8019E5F0DB407FEFDCF2A -:10CDF00020812EBD0DB407FEFDCF21812EBD3296C0 -:10CE00008E179F0791F70DB407FEFDCF8FEF0E949D -:10CE1000A85B8FEF0E94A85B0E94AD5B8B838F7134 -:10CE2000853041F083E18983CE010E94866619C076 -:10CE300086E016C00F94D702882379F020E030E016 -:10CE4000A9016DE0CE010E948E66811108C00E948A -:10CE5000AD5B811104C011E005C087E101C086E12E -:10CE6000898310E0CE010E948666812FDF91CF91E9 -:10CE70001F910F910895CF938091361A8823B9F1AD -:10CE800040912E1A50912F1A6091301A7091311AD8 -:10CE90002EE238E18091371A9091381A0E94D866B4 -:10CEA000C82F811102C0C0E023C04091321A5091B6 -:10CEB000331A6091341A7091351A41155105610584 -:10CEC000710591F02EE238E18091371A9091381A6D -:10CED0000E94D866882339F31092321A1092331ABE -:10CEE0001092341A1092351A1092361A01C0C1E00D -:10CEF0008C2FCF910895CF93DF93EC018B81882302 -:10CF000039F1898187FF20C061E0CE010E942C6544 -:10CF1000FC01892BE9F08081853ED1F08B81823044 -:10CF200040F489899A89AB89BC89848F958FA68FB3 -:10CF3000B78F8D899E89AF89B88D938F828FB58B7E -:10CF4000A48B89818F778983DF91CF910C943B6784 -:10CF500081E0888380E0DF91CF910895CF93DF93C4 -:10CF6000EC010E947B671B82DF91CF910895FC0149 -:10CF7000238121110C94AE670895CF92DF92EF9236 -:10CF8000FF920F931F93CF93DF93EC0189018C8164 -:10CF9000833039F089E0440F551F661F771F8A954B -:10CFA000D1F79A01AB0161E1CE010E948E66882320 -:10CFB00039F084E08983CE010E94866680E03EC01D -:10CFC0000F9406016B017C012CE2C20E21E0D21EFF -:10CFD000E11CF11C0E94AD5B8B838F3F61F40F94C9 -:10CFE0000601DC01CB018C199D09AE09BF09B7FD13 -:10CFF000F1CF81E11DC08E3FD1F48FEF8EBDF801DE -:10D00000D801A150BE4F0DB407FEFDCF9EB5919340 -:10D010008EBDEA17FB07B9F70DB407FEFDCF8EB53D -:10D020008C930E94AD5B0E94AD5B11E003C08FE06A -:10D03000898310E0CE010E948666812FDF91CF9117 -:10D040001F910F91FF90EF90DF90CF9008952F9256 -:10D050003F924F925F926F927F928F929F92AF9288 -:10D06000BF92CF92DF92EF92FF920F931F93CF93D5 -:10D07000DF9300D01F92CDB7DEB79C838B834B012B -:10D080005A01DC0113968C91811103C08FEF9FEF41 -:10D09000E3C0EB81FC81818180FFF8CFEB81FC81D3 -:10D0A00081899289A389B489408551856285738578 -:10D0B000841B950BA60BB70BA50160E070E08417ED -:10D0C0009507A607B70708F45C0175018B819C8161 -:10D0D00004969A838983612C42E0742EE114F10452 -:10D0E00009F48BC0AB81BC8118964D915D916D9117 -:10D0F0007C911B976A01B1E0DB22EB81FC812381EB -:10D10000818D928D1A012B0139E056944794379402 -:10D1100027943A95D1F7223061F4FC01828D938DEA -:10D12000A48DB58DBC01CD01620D731D841D951DAF -:10D130004AC0DC0114961C9111501221C114D10473 -:10D1400001F511111EC0452B462B472B59F4EB81DD -:10D15000FC8185899689A789B08D84839583A68370 -:10D16000B7830FC0AB81BC8114964D915D916D91D9 -:10D170007C91179729813A810E945A63882309F488 -:10D1800085CFEB81FC81218D328D84819581A681B3 -:10D19000B7810297A109B109F901058404C0880F7C -:10D1A000991FAA1FBB1F0A94D2F74685578560892D -:10D1B0007189840F951FA61FB71FBC01CD01610F98 -:10D1C000711D811D911D93012C193D0987012E159B -:10D1D0003F0508F489010115F2E01F0779F5209158 -:10D1E0002E1A30912F1A4091301A5091311A62172D -:10D1F00073078407950719F421C0C5012DC0940158 -:10D20000AB01BC018091371A9091381A0E94BD671A -:10D21000882309F43BCF800E911EEB81FC81808531 -:10D220009185A285B385800F911FA11DB11D8087B7 -:10D230009187A287B387E01AF10A50CF40E00E949D -:10D240008F62882309F422CFB601625D774EA80170 -:10D25000C4010F942328DFCF0F900F900F900F90F1 -:10D26000DF91CF911F910F91FF90EF90DF90CF90C2 -:10D27000BF90AF909F908F907F906F905F904F90F6 -:10D280003F902F900895DF92EF92FF920F931F939C -:10D29000CF93DF938C01EB017A018DE0D82E40E231 -:10D2A00050E0BE01C8010E9427688032910539F024 -:10D2B00021E0892B09F420E0822F819544C0288148 -:10D2C0002223C9F1253E11F02E3231F4E114F1048C -:10D2D00031F3F7011082E3CFE114F10441F13B8512 -:10D2E0003F733F3021F54A8D5B8D452B01F52F7142 -:10D2F0003FEF320F3530D8F430E021503109D29E63 -:10D30000C001D39E900D1124D701A80FB91FFE01B3 -:10D3100020E0AD01253088F431813D932F5F3296B6 -:10D320002D30C1F7288126FF02C0FA0115862B8512 -:10D3300023FDB5CF08C080E006C02B3010F4348147 -:10D34000ECCF3681EACFDF91CF911F910F91FF9003 -:10D35000EF90DF9008954F925F926F927F929F922D -:10D36000AF92BF92CF92DF92EF92FF920F931F93F3 -:10D37000CF93DF931F92CDB7DEB78C017B015A01AB -:10D38000C22EDB0159968D919C915A97F801928F8C -:10D39000818FCB010E948166912CF7018085918558 -:10D3A000A285B38541895289638974898417950759 -:10D3B000A607B70708F060C025E0B695A795979532 -:10D3C00087952A95D1F7F82FFF70DF2ED701139696 -:10D3D0008C91823008F460C041E050E0BE016F5F84 -:10D3E0007F4FC7010E942768019719F4898190E057 -:10D3F00002C08FEF9FEF019609F44EC0F7018085C0 -:10D400009185A285B3854F96A11DB11D8087918717 -:10D41000A287B387F0E2DF9EB0011124625D774EF0 -:10D4200061157105C9F1DB018C91882319F0853EE6 -:10D43000C1F46CC191100EC080912E1A90912F1AD8 -:10D44000A091301AB091311AF80184879587A68788 -:10D45000B787D08ADB018C91882361F0992493945B -:10D460009CCF4BE050E0C5010F941628892B09F0A2 -:10D4700094CF14C0992493948C2D8274823461F4D7 -:10D48000992009F48BC0F801D08861E0C8010E949E -:10D490002C65009709F00DC180E03BC1C7FCFCCFB3 -:10D4A000F0E2DF9EA00111249A01225D374ED901DE -:10D4B0001B968C91817121F08C2D827109F06AC0CC -:10D4C00080912E1A90912F1AA091301AB091311A92 -:10D4D000F80184879587A687B787D08ACA01825DBD -:10D4E000974E7C01DC0154964D915C91559760E01C -:10D4F00070E0DA0199278827858B968BA78BB08FF0 -:10D50000F701428D538D60E070E0482B592B6A2B58 -:10D510007B2BD80155964D935D936D937C935897D3 -:10D52000F9018385887161F4F701848D958DA68D4D -:10D53000B78DF801818B928BA38BB48B81E010C0E7 -:10D54000803141F598012F5E3F4FD80159968D915A -:10D550009C915A970E94DB638823E1F084E0F801F4 -:10D5600083838C2D8F70D80111968C931197F801BD -:10D57000148215821682178218961D921D921D9292 -:10D580001C921B97C4FEB5C0C8010F94FB02811109 -:10D59000B0C082CFD80113961C927ECFD7011396CC -:10D5A0008C911397823009F477CF51968D919D918C -:10D5B0000D90BC91A02D803E9F4FAF41B10508F06A -:10D5C0006BCFC7010E947C65882309F465CF0E9458 -:10D5D0003B67882309F460CFD70159962D913C9180 -:10D5E0005A9714968D919D910D90BC91A02D029704 -:10D5F000A109B109F901058404C0880F991FAA1F68 -:10D60000BB1F0A94D2F74684578460887188480EFD -:10D61000591E6A1E7B1E81E08093361A40922E1A94 -:10D6200050922F1A6092301A7092311A80E092E074 -:10D63000EEE2F8E1DF019C011D9221503040E1F75C -:10D64000DD24D394D7015996ED91FC915A978481AA -:10D65000D81698F42EE238E1B301A2014D0D511D08 -:10D66000611D711D8091371A9091381A0E94D866F9 -:10D67000882309F411CFD394E5CF80E092E0A0E0B5 -:10D68000B0E0058404C0880F991FAA1FBB1F0A942D -:10D69000D2F7F7014189528963897489840F951FF4 -:10D6A000A61FB71F818B928BA38BB48B8EE298E160 -:10D6B000D12C20E2DC011D922A95E9F72BE0F5013F -:10D6C000DC0101900D922A95E1F721E238E2FC019C -:10D6D000318B208B40E058E057874687338B228B75 -:10D6E000318F208F578B468B0E943B678111D8CE9C -:10D6F000D3CEC5FE09C0F801418952896389748976 -:10D70000C8010E94426405C081E003C09110A6CE0A -:10D7100093CE0F90DF91CF911F910F91FF90EF90DB -:10D72000DF90CF90BF90AF909F907F906F905F9071 -:10D730004F9008952F923F924F925F926F927F92F7 -:10D740008F929F92AF92BF92CF92DF92EF92FF9211 -:10D750000F931F93CF93DF93CDB7DEB7C254D10998 -:10D760000FB6F894DEBF0FBECDBF4C015B016A015E -:10D77000322E19821C821C8E1F8E6115710511F4C8 -:10D7800010E0A6C0FC0183818111FACFFA018081EB -:10D790008F3209F09BC0F50183818250823010F4F2 -:10D7A00085010CC0F501618D728DCE014C960E94F1 -:10D7B000D964882329F38E01045E1F4FC6016C01D2 -:10D7C0000196F60120812F32D1F3CE0101967C0122 -:10D7D0003C012E019CE1490E511C2396EFAE23978C -:10D7E0002F2C9BE09150E7E3F0E0EC0FFD1FE90FD9 -:10D7F000F11D80E280839111F5CF960147E0D901B8 -:10D800008D91882369F18F3259F18E3239F44A3083 -:10D8100009F4B6CF98E04AE09D01F1CFEDECF2E1DA -:10D820002491222321F031968213FACFA9CF4917F0 -:10D8300008F4A6CF813208F4A3CF8F3709F4A0CF24 -:10D8400021E0290FE7E3F0E0EC0FFD1FE90FF11DE8 -:10D850009FE9980F9A3108F480528083922FDCCF91 -:10D860008FA9803209F48CCF6901F90180812F5F83 -:10D870003F4F8F32C9F38823F9F021E0AE01495CB4 -:10D880005F4FB801C7010E94AB69882309F478CFC4 -:10D890000A151B0519F0C8010E94AE676E147F04BB -:10D8A00041F023969FAD2397822D8701E92EF82E14 -:10D8B00098CF942D852DF9CF232DAE01495C5F4F74 -:10D8C000B801C4010E94AB69182F02C08B017DCF43 -:10D8D000CE014C960E94B767CE0101960E94B767B1 -:10D8E000812FCE5BDF4F0FB6F894DEBF0FBECDBFEA -:10D8F000DF91CF911F910F91FF90EF90DF90CF902C -:10D90000BF90AF909F908F907F906F905F904F905F -:10D910003F902F900895CF93C82F0F94350A84E538 -:10D920000E94AE526C2F70E080E090E00E94225383 -:10D9300080E20E94AE528BEB92E1CF910D944C09A4 -:10D940002F923F924F925F926F927F928F929F920F -:10D95000AF92BF92CF92DF92EF92FF920F931F93FD -:10D96000CF93DF93CDB7DEB7CD58D1090FB6F8947A -:10D97000DEBF0FBECDBF5B016A011901E996FFAEA4 -:10D98000EEAEE9972091BC103091BD104091BE10D1 -:10D990005091BF10DC016D917D918D919C910F9400 -:10D9A000671E0F9464272B013C0125966CAF7DAF59 -:10D9B0008EAF9FAF25972091C0103091C11040913C -:10D9C000C2105091C310F5016081718182819381F1 -:10D9D0000F94671E0F9464274B015C0129966CAF6E -:10D9E0007DAF8EAF9FAF29972091C4103091C510A5 -:10D9F0004091C6105091C710D6016D917D918D91C7 -:10DA00009C910F94671E0F9464276B017C012D96E7 -:10DA10006CAF7DAF8EAF9FAF2D972091C810309126 -:10DA2000C9104091CA105091CB10F10160817181F1 -:10DA3000828193810F94671E0F94642767966CAF61 -:10DA40007DAF8EAF9FAF679761966CAF7DAF8EAFA6 -:10DA50009FAF61978091A71083FF0EC067962CAD92 -:10DA60003DAD4EAD5FAD67972093C0153093C115A6 -:10DA70004093C2155093C3158091A5109091A610A4 -:10DA8000892B11F00C94907AD801BC91A896BFAF65 -:10DA9000A897F801F181AC96FFAFAC97D801129628 -:10DAA000BC91E096BFAFE097F801038180919E158D -:10DAB00090919F15891B8F708F3021F480E00E9418 -:10DAC000DA53F4CFF0919E15C557DF4FF883CB584A -:10DAD000D04080919E15282E312C8091B4159091C4 -:10DAE000B515A091B615B091B715481A590A6A0A2A -:10DAF0007B0A8091B8159091B915A091BA15B09193 -:10DB0000BB15A5019401281B390B4A0B5B0B6B96C7 -:10DB10002CAF3DAF4EAF5FAF6B978091BC1590912E -:10DB2000BD15A091BE15B091BF15A7019601281B88 -:10DB3000390B4A0B5B0B6F962CAF3DAF4EAF5FAF0F -:10DB40006F978091C0159091C115A091C215B091A9 -:10DB5000C3156796CCACDDACEEACFFAC6797C81ACA -:10DB6000D90AEA0AFB0A09F472C080910D0C8111EE -:10DB700028C06091120C7091130C8091140C90913C -:10DB8000150C0F9463262091190230911A02621726 -:10DB90007307BCF467968CAD9DADAEADBFAD679716 -:10DBA0008093C0159093C115A093C215B093C3156F -:10DBB0000F94350A82E393E10F944C09C12CD12CC8 -:10DBC0007601C701B6010F94081E2091150230910D -:10DBD000160240911702509118020F94671E4B01D4 -:10DBE0005C0120E030E0A9010F94572787FF04C0B3 -:10DBF000B7FAB094B7F8B09420E030E04AEF53E4BD -:10DC00006091C8107091C9108091CA109091CB108A -:10DC10000F94671EA50194010F94011E87FF17C082 -:10DC200067962CAD3DAD4EAD5FAD67972093C015A7 -:10DC30003093C1154093C2155093C3150F94350A04 -:10DC400083E193E10F944C09C12CD12C7601D301CF -:10DC5000C2018827B7FD83959927AA27BB27182FCC -:10DC60006B962CAD3DAD4EAD5FAD6B9757FD126021 -:10DC70006F968CAD9DADAEADBFAD6F97B7FD146027 -:10DC8000F7FC1860C701B6010F94081E2091150219 -:10DC90003091160240911702509118020F94671E9E -:10DCA0006B017C0120E030E0A9010F94572787FF2A -:10DCB00004C0C701B601905802C0C701B60120E0F8 -:10DCC00030E040E05FE30F94F7240F946A26E79674 -:10DCD0006CAF7DAF8EAF9FAFE79788E4829DF00178 -:10DCE000839DF00D1124EB5DF34F108215AB5301B2 -:10DCF000420177FE07C088249924540184189508AE -:10DD0000A608B70888E4829DF001839DF00D1124D8 -:10DD1000EB5DF34F858A968AA78AB08E6B962CAD01 -:10DD20003DAD4EAD5FAD6B9767962CAF3DAF4EAF3F -:10DD30005FAF679757FF0DC050954095309521957F -:10DD40003F4F4F4F5F4F67962CAF3DAF4EAF5FAF2A -:10DD5000679788E4829DF001839DF00D1124EB5DAF -:10DD6000F34F67968CAD9DADAEADBFAD6797818F1C -:10DD7000928FA38FB48F6F962CAD3DAD4EAD5FAD3E -:10DD80006F97A3962CAF3DAF4EAF5FAFA39757FFF2 -:10DD90000DC050954095309521953F4F4F4F5F4FA7 -:10DDA000A3962CAF3DAF4EAF5FAFA39788E4829DA3 -:10DDB000F001839DF00D1124EB5DF34FA3968CAD24 -:10DDC0009DADAEADBFADA397858F968FA78FB0A346 -:10DDD000C301B2010F94081E2091FD0B3091FE0B80 -:10DDE0004091FF0B5091000C0F94671EA7966CAFEB -:10DDF0007DAF8EAF9FAFA79769AB7AAB8BAB9CAB78 -:10DE00006B966CAD7DAD8EAD9FAD6B970F94081E7C -:10DE10002091010C3091020C4091030C5091040CA4 -:10DE20000F94671E2B013C016DAB7EAB8FAB98AF9F -:10DE30006F966CAD7DAD8EAD9FAD6F970F94081E44 -:10DE40002091050C3091060C4091070C5091080C64 -:10DE50000F94671E6B966CAF7DAF8EAF9FAF6B97C5 -:10DE600069AF7AAF8BAF9CAF2091090C30910A0C4F -:10DE700040910B0C50910C0CC701B6010F94671E1A -:10DE80006B017C0121966CAF7DAF8EAF9FAF219768 -:10DE900096E089169104A104B1041CF567962CAD97 -:10DEA0003DAD4EAD5FAD679726303105410551055B -:10DEB000C4F4A3968CAD9DADAEADBFADA397069750 -:10DEC000A105B10574F420E030E0A901C701B60155 -:10DED0000F94572787FF16C0F7FAF094F7F8F094DD -:10DEE00011C0E996AEADBFADE997CD90DD90ED9054 -:10DEF000FC9020E030E0A901C701B6010F94011E9B -:10DF0000882369F088E4829DF001839DF00D11243F -:10DF1000EB5DF34FC586D686E786F08A38C0A796B4 -:10DF20002CAD3DAD4EAD5FADA797CA01B9010F94C1 -:10DF3000671E6B017C01A3019201C301B2010F9422 -:10DF4000671E9B01AC01C701B6010F94F7246B015A -:10DF50007C016B962CAD3DAD4EAD5FAD6B97CA01AC -:10DF6000B9010F94671E9B01AC01C701B6010F9464 -:10DF7000F7240F94A52728E4229DF001239DF00D9E -:10DF80001124EB5DF34F658776878787908B88E454 -:10DF9000829DF001839DF00D1124EB5DF34FE79618 -:10DFA0002CAD3DAD4EAD5FADE79721A332A343A3AA -:10DFB00054A3582D492D3A2D2B2D67968CAD9DAD30 -:10DFC000AEADBFAD679788169906AA06BB0660F48A -:10DFD00064965FAD649765964FAD659766963FAD65 -:10DFE000669767962FAD6797852F942FA32FB22F33 -:10DFF000A3962CAD3DAD4EAD5FADA39782179307B1 -:10E00000A407B50710F4DA01C901E7962CAD3DADC0 -:10E010004EAD5FADE79782179307A407B50710F4DD -:10E02000DA01C90128E4229DF001239DF00D11249D -:10E03000EB5DF34F85A396A3A7A3B0A70697A10511 -:10E04000B10510F40C941E7BDF01AA5BBF4F8091D9 -:10E05000FB0B8C93E95BFF4F8091FC0B808389283D -:10E060008A288B2809F05F9888E4829DF001839DBF -:10E07000F00D1124EB5DF34F818D928DA38DB48D46 -:10E08000892B8A2B8B2B09F08A9888E4829DF001DA -:10E09000839DF00D1124EB5DF34F858D968DA78D3B -:10E0A000B0A1892B8A2B8B2B29F0809108018170DC -:10E0B00080930601E7968CAD9DADAEADBFADE79701 -:10E0C000892B8A2B8B2B11F40C94927A809100115E -:10E0D000882319F0815080930011129880E2809378 -:10E0E0000011D090E810E090E910F090EA10109143 -:10E0F000EB102D2D3E2D4F2D512FA8966FADA897CB -:10E10000AC967FADAC97E0968FADE097902F0F94D3 -:10E11000011E87FF0AC0A896DFAEA897AC96EFAEA7 -:10E12000AC97E096FFAEE097012F88E4829DF00166 -:10E13000839DF00D1124EB5DF34F258536854785D2 -:10E140005089EB962CAF3DAF4EAF5FAFEB9760E0E1 -:10E1500070E080E89FE30F94F125A7966CAF7DAF48 -:10E160008EAF9FAFA797A8962FADA897AC963FAD5F -:10E17000AC97E0964FADE097502F0F94671E4B0180 -:10E180005C0180919E1590919C15891B8F70EC9677 -:10E190008FAFEC97A501940160E074E284E799E405 -:10E1A0000F94F1250F9464276B017C01EC968FADE1 -:10E1B000EC9782508630C0F58091B8109091B910DC -:10E1C000A091BA10B091BB10C816D906EA06FB069A -:10E1D00058F58C199D09AE09BF09BC01CD01660F28 -:10E1E000771F881F991FEC964FADEC97042F10E016 -:10E1F00020E030E0A90198010F945724CA01B90129 -:10E200000F94061E0F9464276C0D7D1D8E1D9F1D9F -:10E210000F94061E9B01AC0160E074E284E799E470 -:10E220000F94F1254B015C01A5019401EB966CADB7 -:10E230007DAD8EAD9FADEB970F94671E9B01AC013A -:10E240000F94671EC158DF4F688379838A839B834D -:10E25000CF57D04088E4829D8001839D100D11240A -:10E260000B5D134FC158DF4F88819981AA81BB8113 -:10E27000CF57D040F80181839283A383B48325A133 -:10E2800036A147A150A5AB962CAF3DAF4EAF5FAFC7 -:10E29000AB97CA01B9010F94061EAF966CAF7DAF64 -:10E2A0008EAF9FAFAF979B01AC01C501B4010F9436 -:10E2B000671E0F94D5250F946A26CD57DF4F6883CC -:10E2C00079838A839B83C358D040F80166AB77ABD0 -:10E2D00080AF91AF8E010F5C1F4F9E012F5D3F4FAE -:10E2E000E1963FAF2EAFE1974CEC50E1C757DF4FBF -:10E2F00059834883C958D040C8014096C457DF4F5E -:10E3000099838883CC58D040C957DF4F39832883FD -:10E31000C758D04064961FAE649768961FAE689742 -:10E3200090E86C969FAF6C97AFE3A096AFAFA097C5 -:10E33000F80121913191419151918F01C501B401B1 -:10E340000F94671E6B017C01C957DF4FA881B9810B -:10E35000C758D0406D937D938D939D93C957DF4FE0 -:10E36000B983A883C758D04020E030E0A9010F94BA -:10E37000572787FF04C0F7FAF094F7F8F094C757CF -:10E38000DF4FE881F981C958D040419051906190A8 -:10E390007190C757DF4FF983E883C958D040A70170 -:10E3A0009601C301B2010F94011E87FF24C0A7018B -:10E3B0009601C301B2010F94F1257B016C016496B3 -:10E3C0002FAD649768963FAD68976C964FAD6C978C -:10E3D000A0965FADA0970F94011E87FF0CC06496B6 -:10E3E000EFAE64976896FFAE68976C96CFAE6C9769 -:10E3F000A096DFAEA097C457DF4F28813981CC5853 -:10E40000D0402017310709F093CF20E030E040E8FA -:10E410005FE364966FAD649768967FAD68976C967E -:10E420008FAD6C97A0969FADA0970F94011E87FFAC -:10E430007AC08E010F5C1F4F64962FAD649768966B -:10E440003FAD68976C964FAD6C97A0965FADA09767 -:10E45000E196AEADBFADE1976D917D918D919C91AF -:10E460000F94671EE196EEADFFADE1976193719356 -:10E4700081939193E196FFAFEEAFE1970E171F07DF -:10E48000D9F688E4829D8001839D100D11240B5DD7 -:10E49000134FCD57DF4F688179818A819B81C358A3 -:10E4A000D0400F94061E64962FAD649768963FADDA -:10E4B00068976C964FAD6C97A0965FADA0970F9440 -:10E4C000671E0F946A26D801D6966D937D938D931F -:10E4D0009C93D99764962FAD649768963FAD6897E3 -:10E4E0006C964FAD6C97A0965FADA09764966FAD9C -:10E4F000649768967FAD68976C968FAD6C97A09681 -:10E500009FADA0970F94671EC158DF4F28813981B6 -:10E510004A815B81CF57D0400F94671EF801618319 -:10E52000728383839483AF962CAD3DAD4EAD5FADCA -:10E53000AF97A7966CAD7DAD8EAD9FADA7970F94AD -:10E54000671E67966CAF7DAF8EAF9FAF679788E40D -:10E55000829DF001839DF00D1124EB5DF34F8588C2 -:10E560009688A788B08C81149104A104B10419F590 -:10E57000818D928DA38DB48D892B8A2B8B2BD9F411 -:10E58000858D968DA78DB0A1892B8A2B8B2B99F425 -:10E590002091E0103091E1104091E2105091E31091 -:10E5A00067966CAD7DAD8EAD9FAD67970F94671E7E -:10E5B0000F94D5252BC2E7962CAD3DAD4EAD5FAD8A -:10E5C000E797232B242B252B49F02091DC10309149 -:10E5D000DD104091DE105091DF1008C02091E41052 -:10E5E0003091E5104091E6105091E71067966CADC0 -:10E5F0007DAD8EAD9FAD67970F94671E0F94D525A7 -:10E600000F946A266B017C018091F70B9091F80BB7 -:10E61000A091F90BB091FA0BAB962CAD3DAD4EAD80 -:10E620005FADAB9782179307A407B50708F4D6C070 -:10E6300081149104A104B10411F16091E70B709170 -:10E64000E80B8091E90B9091EA0B6C157D058E0526 -:10E650009F05A8F40F9447242B013C01A5019401C8 -:10E66000C701B6010F944724461657066806790677 -:10E6700030F4C301B2010F94572469017A0188E490 -:10E68000829DF001839DF00D1124EB5DF34F818C91 -:10E69000928CA38CB48C81149104A104B10441F137 -:10E6A0006091EB0B7091EC0B8091ED0B9091EE0B68 -:10E6B0006C157D058E059F05D8F4AB962CAD3DAD50 -:10E6C0004EAD5FADAB970F9447242B013C01A501E4 -:10E6D0009401C701B6010F944724461657066806F1 -:10E6E000790630F4C301B2010F94572469017A010D -:10E6F00088E4829DF001839DF00D1124EB5DF34FC2 -:10E70000858C968CA78CB0A081149104A104B104CF -:10E7100041F16091EF0B7091F00B8091F10B9091B2 -:10E72000F20B6C157D058E059F05D8F4AB962CADCC -:10E730003DAD4EAD5FADAB970F9447242B013C012F -:10E74000A5019401C701B6010F9447244616570648 -:10E750006806790630F4C301B2010F9457246901A9 -:10E760007A0188E4829DF001839DF00D1124EB5D18 -:10E77000F34F81A092A0A3A0B4A081149104A1049E -:10E78000B10409F447C16091F30B7091F40B8091CF -:10E79000F50B9091F60B6C157D058E059F0508F025 -:10E7A00039C1AB962CAD3DAD4EAD5FADAB970F947F -:10E7B00047242B013C01A5019401C701B6010F9428 -:10E7C0004724461657066806790608F023C1C30198 -:10E7D000B2010F94572469017A011CC1811491047C -:10E7E000A104B104C9F16091E70B7091E80B80912D -:10E7F000E90B9091EA0B6C157D058E059F0560F580 -:10E800000F94061EAF962CAD3DAD4EAD5FADAF97EC -:10E810000F94671E2B013C01C501B4010F94061E25 -:10E820004B015C01C701B6010F94061EA5019401BE -:10E830000F94671E9B01AC01C301B2010F94011E2E -:10E8400087FF0AC0A5019401C301B2010F94F1250D -:10E850000F946A266B017C0188E4829DF001839D00 -:10E86000F00D1124EB5DF34F418C528C638C748C52 -:10E870004114510461047104C9F16091EB0B709172 -:10E88000EC0B8091ED0B9091EE0B6C157D058E05D8 -:10E890009F0560F50F94061EAF962CAD3DAD4EADB5 -:10E8A0005FADAF970F94671E4B015C01C301B201CE -:10E8B0000F94061E2B013C01C701B6010F94061EE2 -:10E8C000A30192010F94671E9B01AC01C501B40125 -:10E8D0000F94011E87FF0AC0A3019201C501B40174 -:10E8E0000F94F1250F946A266B017C0188E4829DC8 -:10E8F000F001839DF00D1124EB5DF34F458C568C98 -:10E90000678C70A04114510461047104C9F16091D5 -:10E91000EF0B7091F00B8091F10B9091F20B6C1555 -:10E920007D058E059F0560F50F94061EAF962CADF4 -:10E930003DAD4EAD5FADAF970F94671E4B015C01CF -:10E94000C301B2010F94061E2B013C01C701B601A1 -:10E950000F94061EA30192010F94671E9B01AC0148 -:10E96000C501B4010F94011E87FF0AC0A3019201E3 -:10E97000C501B4010F94F1250F946A266B017C0147 -:10E9800088E4829DF001839DF00D1124EB5DF34F2F -:10E9900081A092A0A3A0B4A081149104A104B10409 -:10E9A000C9F16091F30B7091F40B8091F50B90918C -:10E9B000F60B6C157D058E059F0560F50F94061E00 -:10E9C000AF962CAD3DAD4EAD5FADAF970F94671ECA -:10E9D0002B013C01C501B4010F94061E4B015C01E3 -:10E9E000C701B6010F94061EA50194010F94671E7E -:10E9F0009B01AC01C301B2010F94011E87FF0AC045 -:10EA0000A5019401C301B2010F94F1250F946A2668 -:10EA10006B017C0188E4829D8001839D100D11248F -:10EA20000B5D134FF801EE5BFF4FC082D182E28293 -:10EA3000F382C701B6010F94061E6B017C01679635 -:10EA40002CAD3DAD4EAD5FAD67970F94F125AB9604 -:10EA50006CAF7DAF8EAF9FAFAB97D80151966D93E2 -:10EA60007D938D939C9354972DEB37E346E051E4CF -:10EA7000C701B6010F94671E0F946A26F80161ABB7 -:10EA800072AB83AB94AB29A93AA94BA95CA9A79611 -:10EA90006CAD7DAD8EAD9FADA7970F94671EAF9601 -:10EAA0006CAF7DAF8EAF9FAFAF97698B7A8B8B8B3F -:10EAB0009C8B2DA93EA94FA958ADA7966CAD7DADF5 -:10EAC0008EAD9FADA7970F94671E4B015C016D8BB8 -:10EAD0007E8B8F8B988F29AD3AAD4BAD5CADA796F1 -:10EAE0006CAD7DAD8EAD9FADA7970F94671E6B018A -:10EAF0007C01698F7A8F8B8F9C8F21962CAD3DADD9 -:10EB00004EAD5FAD2197A7966CAD7DAD8EAD9FAD3F -:10EB1000A7970F94671EA7966CAF7DAF8EAF9FAF80 -:10EB2000A7976D8F7E8F8F8F98A3EC96FFADEC9794 -:10EB3000FF2309F4BBC22091A01564962FAF649700 -:10EB40003091A11568963FAF68974091A2156C96D9 -:10EB50004FAF6C975091A315A0965FAFA0972DEB88 -:10EB600037E346E855E364966FAD649768967FADEA -:10EB700068976C968FAD6C97A0969FADA0970F94F9 -:10EB8000011E87FD93C28091F0109091F110A09129 -:10EB9000F210B091F310E7968CAF9DAFAEAFBFAF60 -:10EBA000E7972091F4103091F5104091F6105091B4 -:10EBB000F710E3962CAF3DAF4EAF5FAFE397809178 -:10EBC000F8109091F910A091FA10B091FB10EF9607 -:10EBD0008CAF9DAFAEAFBFAFEF972091FC103091DF -:10EBE000FD104091FE105091FF10C158DF4F288357 -:10EBF00039834A835B83CF57D040E7966CAD7DADB8 -:10EC00008EAD9FADE7979058AF962CAD3DAD4EAD14 -:10EC10005FADAF970F94671E2B013C01E3962CADBF -:10EC20003DAD4EAD5FADE397C501B4010F94671ED6 -:10EC30009B01AC01C301B2010F94F6242B013C01EE -:10EC4000EF962CAD3DAD4EAD5FADEF97C701B60170 -:10EC50000F94671E9B01AC01C301B2010F94F6240F -:10EC60002B013C01C158DF4F288139814A815B81EA -:10EC7000CF57D040A7966CAD7DAD8EAD9FADA79719 -:10EC80000F94671E9B01AC01C301B2010F94F624DF -:10EC90002B013C012FEE3FEF4FE75FE30F94572727 -:10ECA00018160CF4B2C12FEE3FEF4FE75FEBC30134 -:10ECB000B2010F94011E87FF08C0EFEE4E2E5524BF -:10ECC0005A94EFE76E2EEFEB7E2EE7962CAD3DAD1E -:10ECD0004EAD5FADE797AF966CAD7DAD8EAD9FADA0 -:10ECE000AF970F94F62469837A838B839C83E39692 -:10ECF0002CAD3DAD4EAD5FADE397C501B4010F94B2 -:10ED0000F6246D837E838F839887EF962CAD3DAD7F -:10ED10004EAD5FADEF97C701B6010F94F62469873A -:10ED20007A878B879C87C158DF4F288139814A8138 -:10ED30005B81CF57D040A7966CAD7DAD8EAD9FADBA -:10ED4000A7970F94F6246D877E878F87988BAE01E7 -:10ED50004F5F5F4FA5965FAF4EAFA597CE0141962F -:10ED600063969FAF8EAF63978A01C12CD12C760139 -:10ED7000D8018D909D90AD90BD908D0120E030E048 -:10ED8000A901C501B4010F94011E882371F0A501EA -:10ED90009401C501B4010F94671E9B01AC01C7012A -:10EDA000B6010F94F7246B017C016396EEADFFADC5 -:10EDB0006397E017F107E1F6C701B6010F94A527A5 -:10EDC0009B01AC0160E070E080E89FE30F94F125C7 -:10EDD0006B017C01A5960EAD1FADA597A70196010D -:10EDE000D8016D917D918D919C910F94671EF801D2 -:10EDF00061937193819391938F0163962EAD3FAD93 -:10EE000063972E173F0751F778EAA72E70E1B72EC8 -:10EE1000A8963FADA897AC963FAFAC97A9964FADDB -:10EE2000A997E4964FAFE497AA960FADAA97AB9631 -:10EE30001FADAB97A596AEADBFADA597CD90DD90BC -:10EE4000ED90FD90A596BFAFAEAFA59720E030E066 -:10EE5000A901C701B6010F94011E882361F1F501D4 -:10EE600060817181828193810F94061EA7019601B2 -:10EE70000F94F1256B017C0120E030E0A9010F9493 -:10EE8000572787FF04C0F7FAF094F7F8F094AC9690 -:10EE90002FADAC97E4963FADE497A801C701B6014A -:10EEA0000F94011E87FF07C0AC96CFAEAC97E496D7 -:10EEB000DFAEE4978701F4E0AF0EB11C63962EAD90 -:10EEC0003FAD6397A5964EAD5FADA5972417350767 -:10EED00009F0B0CFA301920160E070E080E89FE309 -:10EEE0000F94F62420E030E040E05FE30F94671ECB -:10EEF0000F94A5276B017C012091E30B3091E40B6B -:10EF00004091E50B5091E60BAC966FADAC97E49653 -:10EF10007FADE497C8010F94671EA70196010F9477 -:10EF2000671E4B015C01A701960160E070E080E87C -:10EF30009FE30F94F6249B01AC01C501B4010F942B -:10EF4000F1256B017C0120E030E040E85FE3EB96C7 -:10EF50006CAD7DAD8EAD9FADEB970F94011E87FF1D -:10EF60005CC0A3019201C301B2010F94671E23ECA0 -:10EF700038EB42E35FEB0F94671E23EF36E64FE575 -:10EF80005FE30F94F624A30192010F94671E2BED0B -:10EF90003FE049EC5FE30F94F7242CEE31E548E3C2 -:10EFA0005EE30F94F6244B015C0124EE3BEC46E15A -:10EFB00050E40F945727181684F5A50194016BEDC2 -:10EFC0007FE089E490E40F94F6249B01AC01EB967A -:10EFD0006CAD7DAD8EAD9FADEB970F94F125AC96EA -:10EFE0002FADAC97E4963FADE497A8010F94671E50 -:10EFF0005B018C019B01AC01B601C7010F9457273F -:10F0000018165CF46501780108C03BE0C32E47ED9B -:10F01000D42E53E2E52E6BE3F62E88E4829DF001B8 -:10F02000839DF00D1124EB5DF34FA180B28003812D -:10F0300014819501A80164966FAD649768967FADC1 -:10F0400068976C968FAD6C97A0969FADA0970F9424 -:10F050005727181664F46496AFAE64976896BFAEEF -:10F0600068976C960FAF6C97A0961FAFA09796010C -:10F07000A70164966FAD649768967FAD68976C96AC -:10F080008FAD6C97A0969FADA0970F945727181639 -:10F09000CCF46496CFAE64976896DFAE68976C96B2 -:10F0A000EFAE6C97A096FFAEA0970CC064961FAE13 -:10F0B000649768961FAE68976C961FAE6C97A09683 -:10F0C0001FAEA09780E1FE017196A0EFB0E1019024 -:10F0D0000D928A95E1F788E4829D8001839D100D51 -:10F0E00011240B5D134F64968FAD649768969FADA6 -:10F0F00068976C96AFAD6C97A096BFADA097F801DE -:10F1000081879287A387B487AB966CAD7DAD8EADBA -:10F110009FADAB9790589B01AC010F94F724D80199 -:10F120001D962D913D914D915C9150970F94671EC6 -:10F130009B01AC016BE077ED83E29BE30F94F62437 -:10F140002BE0C22E27EDD22E23E2E22E2BE3F22E6D -:10F15000F801C582D682E782F086B080C180D28075 -:10F16000E380F480A70196010F94572787FD02C022 -:10F1700083E001C081E08B2998E4929DF001939D8A -:10F18000F00D1124EB5DF34F808380E1FE01B19619 -:10F19000A4EAB5E101900D928A95E1F7C092A0151D -:10F1A000D092A115E092A215F092A31580E1FE0184 -:10F1B000EF5BFF4FA4EBB5E101900D928A95E1F76B -:10F1C00090919E1580919F15981303C084E68093BB -:10F1D0009B15C557DF4F8881CB58D0408F5F8F700C -:10F1E00080939E1580919E1590919D1581508F70F2 -:10F1F000891709F4ABC0F0909E158FEF8F0D8F70BB -:10F2000064968FAF6497E0909D1580919E15E816E7 -:10F2100009F46BC0C12CD12C6496FFAD6497FE1528 -:10F2200009F463C08F2E912C28E4289D8001299D2C -:10F23000100D11240B5D134FD8018C9183FD32C04A -:10F24000A4960FAFA497A8961FAFA8971996BC9144 -:10F250006896BFAF6897F801F2856C96FFAF6C9720 -:10F26000D8011B96BC91A096BFAFA097F801F4847B -:10F270002580368047805084A201910168966FAD49 -:10F2800068976C967FAD6C978B2F9F2D0F94011E06 -:10F29000811152C1C114D10459F0D6018C9180FD65 -:10F2A0004BC106C0A496CFAEA497A896DFAEA89790 -:10F2B00064968FAD649781508F7064968FAF64971A -:10F2C00080919D158E1107C0A496CFACA497A896E7 -:10F2D000DFACA897A1CF6496FFAD6497FE1529F027 -:10F2E00081E08E0D8F70E82EEBCF20919D156496F6 -:10F2F0002FAF6497C12CD12C80919E1564963FADA1 -:10F300006497831719F1832E912C48E4489D80015E -:10F31000499D100D11240B5D134FD8018C9183FD75 -:10F320000AC05801C114D10439F0C6010E94B79E29 -:10F33000811102C08AC1560164968FAD64978F5FB8 -:10F340008F7064968FAF64976501D6CFD0909F156C -:10F3500080909E1528E4D81469F08FEF880D8F7087 -:10F36000289FF0011124EB5DF34F908193FF02C0C1 -:10F37000882EF1CF212C312C412C512C64961FAEBC -:10F38000649768961FAE6897712C612C00E010E0BE -:10F39000E12CF12C8D1409F481C048E44D9D8001CD -:10F3A00011240B5D134FD8018C9183FD19C0159664 -:10F3B0006D917D918D919C9118970F94A527C62EE4 -:10F3C000B72EA82E992EE114F10409F455C0F701C7 -:10F3D000808180FD0EC0D8018C9180FD0AC04CC098 -:10F3E0006496CFAC64976896BFAC6897A72C962CB0 -:10F3F00048C0F701808181608083C7010E94B79E69 -:10F40000811136C0F70161817281838194810F94EB -:10F41000A5279B01AC0160E070E080E89FE30F94BA -:10F42000F1251B012C019B01AC016C2D7B2D8A2D3C -:10F43000992D0F94671E69837A838B839C836496CE -:10F440002FAD649768963FAD6897472D562DC20142 -:10F45000B1010F94671E698B7A8B8B8B9C8BAE01ED -:10F460004F5F5F4FBE016F5E7F4FC7010E94338FBA -:10F47000D7018C918E7F8C932C2C3B2C4A2C592CB1 -:10F48000780181E08D0D8F70D82E6496CFAE649791 -:10F490006896BFAE68977A2C692C7CCF0115110550 -:10F4A00009F4CCC0F801808181608083C7010E948B -:10F4B000B79E811130C0D80111966D917D918D91CB -:10F4C0009C9114970F94A5279B01AC0160E070E01C -:10F4D00080E89FE30F94F1256B017C012DEC3CEC5F -:10F4E0004CE45DE30F94671E69837A838B839C836E -:10F4F0009101A201C701B6010F94671E698B7A8B37 -:10F500008B8B9C8BAE014F5F5F4FBE016F5E7F4F59 -:10F51000C8010E94338FF80180818E7F80838EC066 -:10F5200080E015C1D090EC10E090ED10F090EE105E -:10F530001091EF100C94797028E4289DF001299D1A -:10F54000F00D1124EB5DF34F808181FD45C0C114A6 -:10F55000D10431F0F601A580B680C780D08408C000 -:10F560008BE0A82E87EDB82E83E2C82E8BE3D82E31 -:10F5700028E4289DF001299DF00D1124EB5DF34F47 -:10F5800081899289A389B489BC01CD0190589B01DE -:10F59000AC010F94F724D8011D962D913D914D910A -:10F5A0005C9150970F94671E9B01AC01C601B50199 -:10F5B0000F94F6243B015C019B01AC0168966FAD92 -:10F5C00068976C967FAD6C97A0968FADA0979F2D96 -:10F5D0000F94011E87FF0AC068966FAC68976C96FF -:10F5E0007FAC6C97A096AFACA097BF2C9301A50100 -:10F5F000C201B1010F94011E882309F459CEB8E469 -:10F60000B89DC001B99D900D1124FC01EB5DF34F35 -:10F610006F01808181608083C8010E94B79E88232A -:10F6200029F0D6018C918E7F8C9342CEC301D501F7 -:10F63000F60185839683A783B0873ACE80916F00C9 -:10F64000826080936F0081E082C0D6018C9181FD41 -:10F6500058C0D60115962D913D914D915C9118970A -:10F660006B962CAF3DAF4EAF5FAF6B971501B5E01A -:10F670002B0E311CF8014580568067807084A301F1 -:10F6800092016B966CAD7DAD8EAD9FAD6B970F9477 -:10F69000011E87FF36C0F60181899289A389B4894A -:10F6A000BC01CD0190589B01AC010F94F724D60109 -:10F6B0001D962D913D914D915C9150970F94671E31 -:10F6C0009B01AC016B966CAD7DAD8EAD9FAD6B9724 -:10F6D0000F94F6246B017C019B01AC01C301B201C4 -:10F6E0000F94572718166CF4D8018C9181608C9375 -:10F6F000C5010E94B79E8823F1F0F80180818E7FBA -:10F70000808328E4289DF001299DF00D1124EB5DF4 -:10F71000F34F2185328543855485658176818781C4 -:10F7200090850F94011E811107CE64963FAD6497BA -:10F7300030939D1501CED101CD92DD92ED92FC92D8 -:10F7400013976496BFAD6497B0939D15DACFC357F6 -:10F75000DF4F0FB6F894DEBF0FBECDBFDF91CF9164 -:10F760001F910F91FF90EF90DF90CF90BF90AF90DF -:10F770009F908F907F906F905F904F903F902F90D1 -:10F780000895CF92DF92EF92FF920F931F93CF9342 -:10F79000DF93CDB7DEB764970FB6F894DEBF0FBE28 -:10F7A000CDBFC98ADA8AEB8AFC8AFC01808191810B -:10F7B000A281B38189839A83AB83BC83FB0180815F -:10F7C0009181A281B3818D839E83AF83B887FA0133 -:10F7D00080819181A281B38189879A87AB87BC8719 -:10F7E000F90180819181A281B3818D879E87AF8746 -:10F7F000B88BAE01475F5F4FBE016B5F7F4FCE019D -:10F8000001960E94588E8091A5109091A610892B88 -:10F8100081F4CE0141967C019E01235F3F4FAE01F2 -:10F82000475F5F4FBE016B5F7F4F40970E94A06CA8 -:10F8300001C080E064960FB6F894DEBF0FBECDBF66 -:10F84000DF91CF911F910F91FF90EF90DF90CF90BC -:10F850000895CF93DF93CDB7DEB760970FB6F894D6 -:10F86000DEBF0FBECDBFE1E1F8E180819181A281D1 -:10F87000B38189839A83AB83BC8384819581A6817C -:10F88000B7818D839E83AF83B88780859185A2855C -:10F89000B38589879A87AB87BC8784859585A6853C -:10F8A000B7858D879E87AF87B88BAE01475F5F4F67 -:10F8B000BE016B5F7F4FCE0101960E94588E9E0164 -:10F8C000235F3F4FAE01475F5F4FBE016B5F7F4FCE -:10F8D000CE0101960E94B98C60960FB6F894DEBFF7 -:10F8E0000FBECDBFDF91CF9108950F94350A60917F -:10F8F000E10B7091E20B80E093E10F941E0A8DEF13 -:10F9000092E10D944C099091DF0B9817C9F0809308 -:10F91000DF0B811109C08091DD0B8093FB0B80917F -:10F92000DE0B8093FC0B08958091FB0B8093DD0B25 -:10F930001092FB0B8091FC0B8093DE0B1092FC0B62 -:10F940000895CF93DF93CDB7DEB78091DB0B8111A4 -:10F950000FC09E01275F3F4F4F8158856FE370E0D6 -:10F960008BE99BE00F94C81D8BE99BE00E9491CF2F -:10F97000DF91CF9108951F93CF93DF9380919A0BDE -:10F98000C82FC270D82FD470182F117080FF04C0F8 -:10F99000CC2311F0D11145C00F94350A87EF92E1C5 -:10F9A0000F944C09111103C088E50E94AE52C11199 -:10F9B00003C089E50E94AE52D11103C08AE50E94BE -:10F9C000AE528FEE92E10F944C09DD2319F04FEA0D -:10F9D00055E002C04AE458E0CC2319F02FEA35E0A4 -:10F9E00002C026E736E0112319F08FEA95E002C045 -:10F9F00088E796E05F934F933F932F939F938F9366 -:10FA00008DED92E19F938F931F920E94A17C8DB701 -:10FA10009EB709960FB6F8949EBF0FBE8DBF81E0CA -:10FA200001C080E0DF91CF911F910895AF92BF9206 -:10FA3000CF92DF92EF92FF920F931F93CF93DF93BA -:10FA4000CDB7DEB72C970FB6F894DEBF0FBECDBF93 -:10FA50002DEDC22E22E0D22E5C0170E0CB0183524C -:10FA60009D4F7C01CE14DF0409F180E20E94AE526A -:10FA7000F60181916F010E94AE528AE30E94AE525C -:10FA8000F50161917191819191915F018E010F5FFB -:10FA90001F4F23E041E00F94D9188C01F8018191A8 -:10FAA0008F018823F9F20E94AE52F8CF8AE00E94BB -:10FAB000AE522C960FB6F894DEBF0FBECDBFDF91CD -:10FAC000CF911F910F91FF90EF90DF90CF90BF905B -:10FAD000AF9008952F923F924F925F926F927F92D4 -:10FAE0008F929F92AF92BF92CF92DF92EF92FF924E -:10FAF0000F931F93CF93DF93CDB7DEB7C154D109D6 -:10FB00000FB6F894DEBF0FBECDBF2DB73EB73FA7EF -:10FB10002EA70E94BB7C81114FC461E086E50E9444 -:10FB200064A78D8B853018F084EF94E179C03D890E -:10FB3000332321F084ED94E10F944C096AE080E5D1 -:10FB40000E9464A7182F8CEF810F8F3218F080EB82 -:10FB500094E166C060E085E40E94FB93811103C0DC -:10FB600082E08FA302C091E09FA360911118709171 -:10FB7000121880911318909114186D837E838F83CF -:10FB80009887C0901518D0901618E0901718F0902C -:10FB90001818C986DA86EB86FC862091031430910A -:10FBA000041440910514509106140F94F724AB01EE -:10FBB000BC0188E50E9400D06D877E878F87988B77 -:10FBC00029853A854B855C856091071470910814EE -:10FBD0008091091490910A140F94F724AB01BC0191 -:10FBE00089E50E9400D0698B7A8B8B8B9C8BBE0140 -:10FBF0006F5E7F4FCE010D960E9420A6811103C03B -:10FC000088E994E10DC08CE40E94A593082F882315 -:10FC100081F00E9446938E8B803128F085E694E136 -:10FC20000F944C09C9C3AE89A13021F4B2E0BE8B58 -:10FC300001C01E8A60E083E50E94FB938CAB8823A1 -:10FC400021F0011102C0E7E0EE8BFD89F33020F0D6 -:10FC50008BE494E10F944C09209129182BAF80E09C -:10FC60000F94C2060E94A1C1812F90E09EAB8DAB84 -:10FC7000ADB7BEB7E4E01E9FA019B10911240FB6BD -:10FC8000F894BEBF0FBEADBF2DB73EB72F5F3F4F3D -:10FC90003DA72CA72D894FA1BE016F5E7F4FCE01DE -:10FCA0000D960E945BFB9B01AC010F94E92781112B -:10FCB000ECC20F940601611571058105910511F0E3 -:10FCC0000F94921933EF3F8B8FE4888F93EC998FC9 -:10FCD00037EC232EA3EFAA8FBFE4BB8FE3ECEC8FAE -:10FCE000F7E4FD8F1EA233243394412C512C3201B2 -:10FCF0004AA25BA26CA27DA22E89822F90E0DC0139 -:10FD000011972296BFAFAEAF2297FEA1EF2FF0E082 -:10FD1000FF8FEE8F2DA93EA9E217F3070CF0CDC29D -:10FD20003E89332309F46EC10F9444192AE030E070 -:10FD300040E050E00F9479240F94081E20E030E05A -:10FD400040EA50E40F94572718161CF001E010E029 -:10FD500002C00FEF1FEF0F94441928E631E040E096 -:10FD600050E00F9479240F94081E4B015C010F940E -:10FD7000441921E230E040E050E00F9479246B5FB9 -:10FD80007F4F8F4F9F4F0F94081E68A779A78AA7B0 -:10FD90009BA78D898430E1F448A559A56AA57BA568 -:10FDA0008DE394E10F94000AB501A40185E394E189 -:10FDB0000F94000A8FE294E10F944C090130110571 -:10FDC00019F483E40E94AE528BE294E10F944C0943 -:10FDD000312CC801110FAA0BBB0B8FAB98AFA9AF89 -:10FDE000BAAF832D90E02296AEADBFAD22978A17B1 -:10FDF0009B070CF007C1BCA9BB2379F06FA978ADB4 -:10FE000089AD9AAD0F94081E9B01AC010F94F724A5 -:10FE100020E030E040E952E41AC00F94441924E194 -:10FE200030E040E050E00F947924675E7F4F8F4FC1 -:10FE30009F4F0F94081E6B017C016FA978AD89ADAF -:10FE40009AAD0F94081E9B01AC01C701B6010F9437 -:10FE5000671E9B01AC01C501B4010F94F7244B014F -:10FE60005C0120E030E044EB53E40F945727181670 -:10FE70004CF420E030E044EB53E4C501B4010F94AE -:10FE8000F624EDCF20E030E0A901C501B4010F94C4 -:10FE9000011E87FF0BC020E030E044EB53E4C501B6 -:10FEA000B4010F94F7244B015C01ECCF2BED3FE044 -:10FEB00049E450E4C501B4010F94671E20E030E02E -:10FEC00044E353E40F94F1256B017C010F94EC257E -:10FED00068AB79AB8AAB9BAB2091031430910414CF -:10FEE00040910514509106146D857E858F85988903 -:10FEF0000F94F6246CAF7DAF8EAF9FAF28A939A9C0 -:10FF00004AA95BA968A579A58AA59BA50F94671E38 -:10FF10009B01AC016CAD7DAD8EAD9FAD0F94F72410 -:10FF20006D837E838F839887C701B6010F949727CF -:10FF300068AB79AB8AAB9BAB209107143091081466 -:10FF40004091091450910A1469897A898B899C8996 -:10FF50000F94F6246B017C0128A939A94AA95BA951 -:10FF600068A579A58AA59BA50F94671E9B01AC0186 -:10FF7000C701B6010F94F72469877A878B879C871E -:10FF80004BE351E060E070E0CE0105960E94EE99EF -:10FF900046E351E060E070E0CE0109960E94EE99E0 -:10FFA000ED89E430F9F44D815E816F8178858FE1D0 -:10FFB00094E10F94000A49855A856B857C858CE114 -:10FFC00094E10F94000A4091191850911A18609109 -:10FFD0001B1870911C1889E194E10F94000A8AE0C3 -:10FFE0000E94AE5219821A821B821C82AE014F5FA0 -:10FFF0005F4FBE01675F7F4FCE0105960E9481C2B1 -:020000021000EC -:100000003394EFCE20E04FA1BE016F5E7F4FCE0153 -:100010000D960E945BFBD62EE72EF82E192FEE8D43 -:10002000FF8DEE0FFF1FEE0FFF1F2CA53DA5E20F6A -:10003000F31F862F9E2DAF2DB12F80839183A28336 -:10004000B383312C2D2D3E2D4F2D512F6D2D7E2D17 -:100050008F2D912F0F94E927811102C033243394FF -:100060002D2D3E2D4F2D512F6D2D7E2D8F2D912F0E -:100070000F94E927811121C100E0412C512C32015C -:10008000ECA5FDA534E0039FE00DF11D11242081B6 -:10009000318142815381C301B2010F94F7242B01B6 -:1000A0003C010F5F8EA1801758F78E8C9F8C9FEFBD -:1000B000891A990A092C000CAA08BB08C501B401C9 -:1000C0000F94081E6E8F7F8F88A399A39B01AC01AC -:1000D000C301B2010F94F1256AA37BA38CA39DA356 -:1000E0002A8D3B8D4C8D5D8D6D2D7E2D8F2D912F0D -:1000F0000F94011E87FF04C0DA8EEB8EFC8E1D8FDD -:100100002F89388D498D522D6D2D7E2D8F2D912F5C -:100110000F945727181624F4DF8AE88EF98E212EC3 -:10012000C12C412C512C3201ECA5FDA5A4E0CA9EA6 -:10013000E00DF11D11242AA13BA14CA15DA160811C -:100140007181828193810F94F6249B01AC010F94FD -:10015000671E9B01AC01C301B2010F94F7242B0170 -:100160003C01C394BEA1BC15F8F62E8D3F8D48A16D -:1001700059A10F94F1250F94A5272B013C018D89DE -:1001800082508E3708F07DC0C501B4010E94225311 -:100190006DA97EA984E194E10F94110A9AE7A92E32 -:1001A00096E0B92EF50181915F01882319F00E9434 -:1001B000AE52F8CF43E06D2D7E2D8F2D912F0E94F2 -:1001C0003E53FD89F23009F459C000E816E0D80129 -:1001D0008D918D01882319F00E94AE52F8CF44E032 -:1001E0006AA17BA18CA19DA10E943E5308E816E064 -:1001F000F80181918F01882319F00E94AE52F8CF47 -:1002000046E0C301B2010E943E5301E916E0D80165 -:100210008D918D01882319F00E94AE52F8CF43E0F2 -:100220006A8D7B8D8C8D9D8D0E943E5308E916E072 -:10023000F80181918F01882319F00E94AE52F8CF06 -:1002400043E06F89788D898D922D0E943E530FE98E -:1002500016E0D8018D918D01882319F00E94AE52CD -:10026000F8CF2A8D3B8D4C8D5D8D6F89788D898D72 -:10027000922D0F94F62443E00E943E538AE00E94A0 -:10028000AE52BEA1BF5FBEA340CDE3EFEF8BFFE454 -:10029000F88F23EC298F87EC282E33EF3A8F8FE4E9 -:1002A0008B8F93EC9C8FA7E4AD8F312C412C512C7C -:1002B00032014AA25BA26CA27DA280E00E94BD89AD -:1002C000332009F46AC089E094E10F944C09BD8998 -:1002D000BB2309F44DC008EA16E0F80181918F01B3 -:1002E000882319F00E94AE52F8CF46E06AA17BA1A4 -:1002F0008CA19DA10E943E530FEA16E0D8018D917A -:100300008D01882319F00E94AE52F8CF43E06A8D28 -:100310007B8D8C8D9D8D0E943E5306EB16E0F8017F -:1003200081918F01882319F00E94AE52F8CF43E0EB -:100330006F89788D898D922D0E943E530DEB16E0CA -:10034000D8018D918D01882319F00E94AE52F8CF0B -:100350002A8D3B8D4C8D5D8D6F89788D898D922D89 -:100360000F94F62443E00E943E538AE00E94AE526E -:1003700006EC16E0F80181918F01882319F00E94A4 -:10038000AE52F8CF46E0C301B2010E943E538AE06C -:100390000E94AE528AE00E94AE520E9488C18BAD8C -:1003A0000F94C2060E9481C42EA53FA50FB6F894F3 -:1003B0003EBF0FBE2DBF07C08EA59FA50FB6F894F8 -:1003C0009EBF0FBE8DBFAEA5BFA50FB6F894BEBF32 -:1003D0000FBEADBFCF5BDF4F0FB6F894DEBF0FBED1 -:1003E000CDBFDF91CF911F910F91FF90EF90DF90E4 -:1003F000CF90BF90AF909F908F907F906F905F90C5 -:100400004F903F902F9008952F923F924F925F927E -:100410006F927F928F929F92AF92BF92CF92DF9214 -:10042000EF92FF920F931F93CF93DF93CDB7DEB779 -:10043000E5970FB6F894DEBF0FBECDBF30902918F8 -:1004400087E50E94A593882309F4F9C0809163137E -:1004500090916413892B29F40F94310A87EF93E16B -:1004600034C08AE50E94EE93882379F00E946E934F -:100470002091FF1330910014409101145091021407 -:100480000F94F6246B017C0108C0C0901918D0901D -:100490001A18E0901B18F0901C1820E030E040E2A1 -:1004A00051ECC701B6010F94572787FD0AC020E021 -:1004B00030E040E251E4C701B6010F94011E181666 -:1004C0003CF40F94310A8AEE93E10F944C09BFC0BB -:1004D00040E050E060EC7FE788E50E9400D020918A -:1004E000F7133091F8134091F9135091FA130F94C8 -:1004F000F6242B013C0140E050E060EC7FE789E509 -:100500000E9400D02091FB133091FC134091FD1309 -:100510005091FE130F94F6244B015C016FEF89E4B8 -:100520000E9464A7182F6FEF8AE40E9464A7082F27 -:10053000A3019201C301B2010F94E927811158C0B0 -:10054000A5019401C501B4010F94E927811150C0A0 -:100550006091591370915A13072E000C880B990B58 -:100560000F94081E9B01AC01C301B2010F94F62445 -:1005700020E030E0A9010F94F72420E030E0A90149 -:100580000F94F1250F946326162F60915B137091E1 -:100590005C13072E000C880B990B0F94081E9B010F -:1005A000AC01C501B4010F94F62420E030E0A901AC -:1005B0000F94F72420E030E0A9010F94F1250F9467 -:1005C0006326062F812F012E000C990B97FD04C086 -:1005D00005971CF014E001C010E0802F002E000CE5 -:1005E000990B97FD04C005971CF004E001C000E0E2 -:1005F000153068F5063058F580E00F94C20625E006 -:100600001202F0011124E00FF11D07FDFA95EE0F23 -:10061000FF1FEE0FFF1FE159FC4EC082D182E28224 -:10062000F382A7019601602F812F0E94D2CE832DE5 -:100630000F94C206332059F00E9481C408C08AE496 -:100640000E94A593182F882321F00E94A19910E001 -:10065000D6C460E070E086E50E9455A79A8F898F26 -:10066000059718F082EC93E1A1C260E084E40E9457 -:10067000FB93282E40E050E0BA018AE50E9400D0AA -:100680006DA77EA78FA798AB40E050E86BEB75E4B1 -:1006900083E50E9400D020E030E040E752E40F9470 -:1006A000F12560935F0270936002809361029093E2 -:1006B000620288E40E94A593882309F40BC10E947A -:1006C0006E930F946326698B7A8B8B8B9C8B6988D6 -:1006D0007A888090031490900414A0900514B09030 -:1006E000061420E030E0A901C501B4010F94F724FD -:1006F000D62EE72EF82E092F20E030E040E450E41B -:100700000F94011E87FF05C0D12CE12CF0E4FF2ED1 -:1007100000E469897A8977FE02C06F5F7F4F759523 -:10072000679588279927861B970B9E8B8D8BBC011D -:1007300063567F4F072E000C880B990B0F94081EF1 -:10074000562E672E782EC92E2D2D3E2D4F2D502F33 -:100750000F94572718161CF4D52C73010C2D6D2DF2 -:100760007E2D8F2D902F0F9463266B017C012B0122 -:1007700020E030E84DE953E4C501B4010F94F724BB -:10078000962EA72EB82E092F20E030E84BE953E42F -:100790000F945727181634F4912C60E8A62E7BE9A5 -:1007A000B72E03E469897A896C0D7D1D072E000C34 -:1007B000880B990B0F94081E6B017C01292D3A2D93 -:1007C0004B2D502F0F94011E87FF04C09C2CAD2C85 -:1007D000BE2C0F2D692D7A2D8B2D902F0F94632613 -:1007E000788F6F8B8090071490900814A090091454 -:1007F000B0900A1420E030E0A901C501B4010F94C3 -:10080000F724D62EE72EF82E092F20E030E040E422 -:1008100050E40F94011E87FF05C0D12CE12C50E459 -:10082000F52E00E46D897E8965567F4F072E000CFA -:10083000880B990B0F94081E6D8B672E782EC92E8E -:100840002D2D3E2D4F2D502F0F94572718161CF489 -:10085000DD8873010C2D6D2D7E2D8F2D902F0F9423 -:1008600063266B017C013B0120E030E04BE953E45F -:10087000C501B4010F94F724962EA72EB82E092F88 -:1008800020E030E849E953E40F945727181634F470 -:10089000912C30E8A32E49E9B42E03E469897A89C2 -:1008A0006C0D7D1D072E000C880B990B0F94081EF4 -:1008B0006B017C01292D3A2D4B2D502F0F94011ED9 -:1008C00087FF04C09C2CAD2CBE2C0F2D692D7A2DDA -:1008D0008B2D1FC18CE40E94EE93882369F00E9447 -:1008E0006E932091F7133091F8134091F9135091C2 -:1008F000FA130F94F6242BC020E030E0A901609198 -:1009000003147091041480910514909106140F94AF -:10091000F7246B017C0120E030E040E450E40F94C8 -:10092000011E87FD0DC020E030E0A901C701B6011E -:100930000F94011E87FF09C0C12CD12C760105C080 -:10094000C12CD12C20E4E22EFE2CC701B6010F945D -:1009500063262B0182E50E94EE93882369F00E94B2 -:100960006E932091F7133091F8134091F913509141 -:10097000FA130F94F6243CC020E030E84DE953E42C -:1009800060910314709104148091051490910614E1 -:100990000F94F724D62EE72EF82E092F20E030E80A -:1009A0004BE953E40F945727181634F4D12C80E800 -:1009B000E82E9BE9F92E03E4B201655C7E4F072E19 -:1009C000000C880B990B0F94081E962EA72EB82E9C -:1009D000C92E2D2D3E2D4F2D502F0F94011E87FF18 -:1009E00003C0D92C75010C2D6D2D7E2D8F2D902FD0 -:1009F0000F946326788F6F8B86E40E94EE93882392 -:100A000069F00E946E932091FB133091FC1340918A -:100A1000FD135091FE130F94F6242BC020E030E01C -:100A2000A9016091071470910814809109149091A4 -:100A30000A140F94F7246B017C0120E030E040E4BD -:100A400050E40F94011E87FD0DC020E030E0A901A5 -:100A5000C701B6010F94011E87FF09C0C12CD12C1C -:100A6000760105C0C12CD12C00E4E02EFE2CC7017C -:100A7000B6010F9463263B0182E40E94EE93882323 -:100A800069F00E946E932091FB133091FC1340910A -:100A9000FD135091FE130F94F6243CC020E030E08B -:100AA0004BE953E460910714709108148091091484 -:100AB00090910A140F94F724D62EE72EF82E092FC2 -:100AC00020E030E849E953E40F945727181634F42E -:100AD000D12CA0E8EA2EB9E9FB2E03E4B3016A5C4D -:100AE0007E4F072E000C880B990B0F94081E962E34 -:100AF000A72EB82EC92E2D2D3E2D4F2D502F0F94E1 -:100B0000011E87FF03C0D92C75010C2D6D2D7E2D84 -:100B10008F2D902F0F9463267B01B301072C000CBF -:100B2000880B990B0F94081E6C8F7D8F8E8F9F8F73 -:100B300069837A838B839C83B201052C000C880B1C -:100B4000990B0F94081E68A379A38AA39BA36D83B6 -:100B50007E838F839887BE016F5F7F4FCE0105969E -:100B60000E9420A6882301F1B7010F2C000C880BEE -:100B7000990B0F94081E69877A878B879C87AF89AA -:100B8000B88DBD01BB0F880B990B0F94081E6D87A4 -:100B90007E878F87988BBE01675F7F4FCE010D9652 -:100BA0000E9420A6813029F086EA93E10F944C0937 -:100BB00026C2298D3A8D232B69F080E993E10F94A9 -:100BC0004C09222021F086E893E10F944C098AE039 -:100BD0000E94AE520E94638C80E00F94C20681E0B6 -:100BE0000E94BD89882321F0832D0F94C2062FCD4A -:100BF0000F89188D0419150917FF02C00D5F1F4FCB -:100C00001595079515950795B801012E000C880BD1 -:100C1000990B0F94081E6CA37DA38EA39FA3E618C7 -:100C2000F708F7FE03C033E0E30EF11C5701B5945B -:100C3000A794B594A794B5010B2C000C880B990BC5 -:100C40000F94081E68A779A78AA79BA70E94A1C135 -:100C50006091631370916413072E000C880B990B3D -:100C60000F94081E9B01AC016CA17DA18EA19FA1D8 -:100C70000F94011E811122C060916513709166135B -:100C8000072E000C880B990B0F94081E9B01AC01DA -:100C900068A579A58AA59BA50F94011E81110EC098 -:100CA0008091591390915A134816590639F480913E -:100CB0005B1390915C136816790699F00E94A199D4 -:100CC0001093641300936313B0926613A09265139C -:100CD00050925A134092591370925C1360925B13B6 -:100CE000312C60E085E40E94FB93882319F061E0D9 -:100CF0006CA702C082E08CA791E09B8FE12CF12CC5 -:100D0000812C912C5401A1E0A98BB1E0BD8B25E091 -:100D10002F8B10E079E5C72E73E1D72EE9AAA989B8 -:100D2000B1E0AB27A98B0B8DC7010F2C000CAA0BD0 -:100D3000BB0B8AAB9BABACABBDAB9F89911709F4E6 -:100D4000BEC0612F012E000C770B880B990B0F94FE -:100D5000081E2CA13DA14EA15FA10F94671E28A1E2 -:100D600039A14AA15BA10F94F7242B013C016AA988 -:100D70007BA98CA99DA90F94081E28A539A54AA571 -:100D80005BA50F94671E2C8D3D8D4E8D5F8D0F944E -:100D9000F7244B015C0120E030E0A901C301B2015E -:100DA0000F94011E87FF04C020E030E0A90104C0B9 -:100DB00020E030E040E05FE3C301B2010F94F7248C -:100DC0000F94992669837A838B839C8320E030E09B -:100DD000A901C501B4010F94011E87FF04C020E0E2 -:100DE00030E0A90104C020E030E040E05FE3C5014D -:100DF000B4010F94F7240F9499266D837E838F831B -:100E00009887A98DBA8DAB2B81F0602F70E082E7B7 -:100E100093E10F94110A69E170E080E793E10F9488 -:100E2000110A8DE693E10F944C091F92B9E1BF932B -:100E30001F920F93DF92CF921F920E94A17C298D67 -:100E40004CA5BE016B5F7F4FCE0101960E945BFBFC -:100E50004B015C010FB6F894DEBF0FBECDBF9B0106 -:100E6000AC010F94E927882321F0832D0F94C2064B -:100E700033C0A50194016DA57EA58FA598A90F94F7 -:100E8000F7249B01AC0165E01603F0011124EE0D7F -:100E9000FF1DEE0FFF1FEE0FFF1FE159FC4E2083D9 -:100EA00031834283538369A9812F0E94D2CE80E08F -:100EB0000E94DA530F5F8D89180F312C3ECF94E0DA -:100EC000E916F10449F0A5019401C501B4010F949C -:100ED000E927882309F47EC00E947EEE80E00E940C -:100EE000BD89882351F0832D0F94C206812C912C4B -:100EF00090ECA92E9FE7B92E52C0A5019401C5011F -:100F0000B4010F94E92781114AC0222001F10F9406 -:100F10005B090F94080721103FC081E198E10F940D -:100F2000A9049B01AC016091191870911A18809165 -:100F30001B1890911C180F94F62460931918709345 -:100F40001A1880931B1890931C1881E026C012E099 -:100F500084E0F82E02E0EF2CE11ADF2CD01A21E019 -:100F600041E0602F812F0F94750721E04FEF602F34 -:100F70008E2D0F9475072FEF41E06D2D812F0F946B -:100F800075072FEF4FEF6D2D8E2D0F9475070150C4 -:100F900020F71150F8F6BBCF832D809329180E94BB -:100FA00088C18091291881110E944CC30E947589C3 -:100FB0000E94638C8DE493E10E94F5BB0E9481C482 -:100FC00011E0A5019401C501B4010F94E927811135 -:100FD00016C03DCBA989AA2361F031E03D8B65E0C5 -:100FE0006F8B10E08FEFE81AF80A9B8D9B5F9B8F49 -:100FF00095CEBFEFBD8B2FEF2F8B14E0F3CF812F5A -:10100000E5960FB6F894DEBF0FBECDBFDF91CF914E -:101010001F910F91FF90EF90DF90CF90BF90AF9016 -:101020009F908F907F906F905F904F903F902F9008 -:10103000089580919E1590919F15891B8F708F3018 -:1010400021F480E00E94DA53F4CF80919E158F5FE7 -:101050008F70E0919E1598E49E9FF0011124EB5D46 -:10106000F34FDF011D929A95E9F798E09083409144 -:10107000B4155091B5156091B6157091B715458BA3 -:10108000568B678B708F4091B8155091B915609150 -:10109000BA157091BB15418F528F638F748F409139 -:1010A000BC155091BD156091BE157091BF15458F4F -:1010B000568F678F70A34091C0155091C1156091F4 -:1010C000C2157091C31541A352A363A374A32091C9 -:1010D0009E1590919F15291303C094E690939B153C -:1010E00080939E1580916F00826080936F000895B9 -:1010F0000F930FB70F9300916E000F930B7F009328 -:101100006E0000916F000D7F00936F000F930BB77F -:101110000F930CB70F921F922F933F934F935F93B0 -:101120006F937F938F939F93AF93BF93EF93FF93AF -:1011300011240E94CB9EFF91EF91BF91AF919F919F -:101140008F917F916F915F914F913F912F911F9060 -:101150000F900CBF0F910BBF0F910260F89400939A -:101160006F000F9100936E000F910FBF0F911895B4 -:101170008091920980FF03C089988FEF02C0899AFD -:1011800081E08093321180919209869580FF03C09F -:101190008F9A8FEF02C08F9881E0809333118091F6 -:1011A00092098695869580FF08C080910B018095F5 -:1011B0008270809309018FEF06C080910B018270CD -:1011C0008093090181E08093341180919209869582 -:1011D0008695869580FF03C016988FEF02C0169AF9 -:1011E00081E0809335110000000000000895809197 -:1011F0009E1590919F15891B8F7019F480E090E0E7 -:10120000089590919B15992351F0833030F48FEF1E -:10121000890F19F080939B15F1CF10929B15E091E7 -:101220009F1588E4E89FF0011124EB5DF34F808166 -:1012300080FDE4CF80919F158F5F8F7080939C1508 -:1012400090919F1580919D15981304C080919C15D5 -:1012500080939D15CF0108951F93CF93DF93CDB752 -:10126000DEB728970FB6F894DEBF0FBECDBF6983F7 -:101270007A838B839C832D833E834F8358870E9480 -:10128000BA98882311F081E026C081E00E94837C17 -:1012900069E170E080E090E00F941D09BE016B5F92 -:1012A0007F4FCE0101960E94A3C21091250B1470AE -:1012B00080E00E94837C112321F00E946B988111B1 -:1012C000E2CF1092250B82E00E94DEC20E944CC346 -:1012D00081E0111180E028960FB6F894DEBF0FBEB2 -:1012E000CDBFDF91CF911F910895CF92DF92EF9202 -:1012F000FF92CF93DF93CDB7DEB728970FB6F89460 -:10130000DEBF0FBECDBF20E030E040EA50E4609188 -:10131000191870911A1880911B1890911C180F942D -:10132000011E8823E9F01D821E821F821886C12CAF -:10133000D12C80EAE82E80E4F82EC982DA82EB8292 -:10134000FC82BE016B5F7F4FCE0101960E94A3C25B -:10135000C0921918D0921A18E0921B18F0921C181B -:1013600028960FB6F894DEBF0FBECDBFDF91CF91A8 -:10137000FF90EF90DF90CF900895BF92CF92DF92D1 -:10138000EF92FF920F931F93CF93DF93CDB7DEB70A -:1013900028970FB6F894DEBF0FBECDBF909193098A -:1013A000981709F47AC0B82E80E090E0A0E2B1E48A -:1013B0008D839E83AF83B887C0900B14D0900C149C -:1013C000E0900D14F0900E1420E030E0A901C70168 -:1013D000B6010F94011E87FF0CC0A701960160E0C3 -:1013E00070E080E291E40F94F6246D837E838F8316 -:1013F000988720E030E048EC53E46D817E818F8156 -:1014000098850F945727181644F480E090E0A8ECD4 -:10141000B3E48D839E83AF83B8872D813E814F8156 -:1014200058856091191870911A1880911B18909125 -:101430001C180F94011E87FF0BC019821A821B8291 -:101440001C82BE016F5F7F4FCE0105960E94A3C232 -:1014500060911118709112188091131890911418BE -:10146000209115183091161840911718509118189E -:1014700019821A821B821C82E0901918F0901A18A7 -:1014800000911B1810911C18FE0131966F010E94EB -:10149000C0C1B09293090E94F6C580E028960FB6AD -:1014A000F894DEBF0FBECDBFDF91CF911F910F919A -:1014B000FF90EF90DF90CF90BF900895CF93DF9390 -:1014C000C0911C118BED96E00E94B95380911711C9 -:1014D000873009F445C083E08093161181E0809342 -:1014E000290280E190E0909321168093201685E0F8 -:1014F00080931416D2E8D093171684E190E1A0E00F -:10150000B0E08093181690931916A0931A16B09312 -:101510001B160F94800161E070E080E090E00E9473 -:10152000B7CE81E09AE5909321168093201685E34B -:1015300090E0909323168093221687E080931416F0 -:10154000D093171684E890E0A0E0B0E080931816DE -:1015500090931916A0931A16B0931B160F9480013E -:10156000C13081F1C23059F40E94AAEC60930E118F -:1015700070930F11809310119093111102C00E946B -:10158000DEEC81E080931C110F94060160930A1138 -:1015900070930B1180930C1190930D11C230A1F038 -:1015A000809180099091810901969093810980939F -:1015B000800910921D1110921E1110921F1110928D -:1015C000201102C080E001C081E0DF91CF91089539 -:1015D000CF93DF9300D01F92CDB7DEB780917F0904 -:1015E0008823A9F083E390E09C838B831A8219827D -:1015F0009E012F5F3F4F40E150E060E879E0CE016F -:1016000003960E94B15083EF96E00E94B9530F9069 -:101610000F900F900F90DF91CF910895CF92DF92AE -:10162000EF92FF920F931F9380911C118150823093 -:1016300010F080E0A7C08FE297E00E94B95380913C -:101640001711833009F441C083E197E00E94B95338 -:101650008FE197E00E94B95340E060E070E0CB0179 -:101660000E94A0EE41E060E070E0CB010E94A0EE9D -:1016700081E0809305021092151121E030E0309353 -:101680001411209313118093290281E09AE590931D -:101690002116809320168DE290E09093231680937C -:1016A000221687E08093141682E88093171684E848 -:1016B00090E0A0E0B0E08093181690931916A093E4 -:1016C0001A16B0931B160F94800110921C110F94E0 -:1016D0000601609318117093191180931A11909359 -:1016E0001B1180918209909183090196909383093F -:1016F00080938209C0901D11D0901E11E0901F119F -:10170000F09020110E94AAEC60931D1170931E119D -:1017100080931F11909320110091840910918509E5 -:1017200020918609309187090C191D092E093F095E -:10173000DC01CB01800F911FA21FB31F809384098E -:1017400090938509A0938609B09387090E94AAEC1B -:10175000009188091091890920918A0930918B099B -:10176000061717072807390750F40E94AAEC609360 -:1017700088097093890980938A0990938B090E9444 -:10178000E88A81E01F910F91FF90EF90DF90CF905A -:101790000895CF93DF9300D01F921F92CDB7DEB78D -:1017A00081E080937F09E0E8F9E080E1DF011D92AC -:1017B0008A95E9F70E94E88A86E18D8382E390E0CA -:1017C0009C838B831A8219829E012F5F3F4F41E0D9 -:1017D00050E0BE016B5F7F4FCE0103960E94B15077 -:1017E0000F900F900F900F900F90DF91CF91089571 -:1017F000CF92DF92EF92FF920F931F93CF93DF93DD -:10180000C8EAD0E107EE1BE0C12CD12C7601C394CD -:1018100069917991899199910F94061E2889398946 -:101820004A895B890F94671E0F946A26F8016193B9 -:101830007193819391938F01C616D706E806F90636 -:1018400010F46B017C01F0E1C83BDF0709F76FEF93 -:101850007FEFCB01A70196010F9457242093F70B3C -:101860003093F80B4093F90B5093FA0BDF91CF9123 -:101870001F910F91FF90EF90DF90CF9008950F93FD -:101880001F93CF93DF930CEB10E1CDEFDBE0F8017A -:1018900021913191419151918F0160E070E080E898 -:1018A0009FE30F94F1256993799389939993FCE0D1 -:1018B000CD30DF0761F70E94297CDF91CF911F9126 -:1018C0000F910C94F88B90919E1580919F15981311 -:1018D00006C08091A5109091A610892B21F080E080 -:1018E0000E94DA53F0CF08952091C8103091C910AA -:1018F0004091CA105091CB10FC01608171818281AE -:1019000093810F94671E0F9464276093C0157093A2 -:10191000C1158093C2159093C31590919E15809127 -:101920009F1598130C9419880E94638C80916F0006 -:10193000982F927081FF05C080916F008D7F8093FA -:101940006F004091C0155091C1156091C215709102 -:10195000C3154093541150935511609356117093D1 -:101960005711992329F080916F00826080936F0056 -:101970000895EF92FF920F931F93CF93DF937B0114 -:101980008A01E9012091BC103091BD104091BE1038 -:101990005091BF10FC0160817181828193810F940D -:1019A000671E0F9464276093B4157093B5158093E8 -:1019B000B6159093B7152091C0103091C110409189 -:1019C000C2105091C310F7016081718182819381AF -:1019D0000F94671E0F9464276093B8157093B91520 -:1019E0008093BA159093BB152091C4103091C51007 -:1019F0004091C6105091C710F801608171818281B9 -:101A000093810F94671E0F9464276093BC157093A5 -:101A1000BD158093BE159093BF152091C8103091CD -:101A2000C9104091CA105091CB10688179818A8188 -:101A30009B810F94671E0F9464276093C015709369 -:101A4000C1158093C2159093C31590919E158091F6 -:101A50009F15981741F0DF91CF911F910F91FF9043 -:101A6000EF900C9419880E94638C80916F00982FDE -:101A7000927081FF05C080916F008D7F80936F0011 -:101A80004091B4155091B5156091B6157091B71588 -:101A9000409348115093491160934A1170934B1130 -:101AA0004091B8155091B9156091BA157091BB1558 -:101AB00040934C1150934D1160934E1170934F1100 -:101AC0004091BC155091BD156091BE157091BF1528 -:101AD00040935011509351116093521170935311D0 -:101AE0004091C0155091C1156091C2157091C315F8 -:101AF00040935411509355116093561170935711A0 -:101B0000992329F080916F00826080936F00DF91AC -:101B1000CF911F910F91FF90EF900895CF93DF9396 -:101B2000C82F0E949A9E24E0C29FE0011124C35056 -:101B3000D44F0F94081E288139814A815B810F940C -:101B4000671EDF91CF91089590919E1580919F150A -:101B5000981306C08091A5109091A610892B21F0B2 -:101B600080E00E94DA53F0CF5F9A809118148E7F44 -:101B7000809318148A9A809118148D7F809318147A -:101B800080910801809581708093060180911814DE -:101B90008B7F809318140C941D50CF93DF939091FA -:101BA0006F00292F227091FF05C090916F009D7FDB -:101BB00090936F0094E0899FA0011124FA01E45CE6 -:101BC000FE4E6081718182819381222329F02091D0 -:101BD0006F00226020936F00EA01C350D44F0F942E -:101BE000081E288139814A815B810F94671EDF912D -:101BF000CF91089580916F00982F927081FF05C05A -:101C000080916F008D7F80936F0080919F158093EE -:101C10009E1580939D1580939C1584E680939B155B -:101C200028EE33E03093A6102093A510992329F0D5 -:101C300080916F00826080936F0081E080933B1100 -:101C40000895CF92DF92EF92FF92CF93DF9320918E -:101C50002918222331F1EC0108960E948CBD6B01FA -:101C60007C0120E030E0A9010F94011E882361F07F -:101C7000CE010F94A9049B01AC01C701B6010F94DA -:101C8000671E9B01AC0103C020E030E0A90168851C -:101C900079858A859B850F94F624688779878A875A -:101CA0009B87DF91CF91FF90EF90DF90CF900895C9 -:101CB0004F925F926F927F92AF92BF92CF92DF92DC -:101CC000EF92FF920F931F93CF93DF93CDB7DEB7C1 -:101CD0002C970FB6F894DEBF0FBECDBF2091291808 -:101CE000222309F446C08A017B016C01CA010E94CB -:101CF0008CBD2B013C01CE0101965C018CE0F5010D -:101D000011928A95E9F7F60180819181A281B381D0 -:101D100089839A83AB83BC83F70180819181A281FF -:101D2000B3818D839E83AF83B88720E030E0A90123 -:101D3000C301B2010F94011E882361F0C5010F9405 -:101D4000A9049B01AC01C301B2010F94671E9B0162 -:101D5000AC0103C020E030E0A901F801608171818D -:101D6000828193810F94F724F801608371838283C9 -:101D700093832C960FB6F894DEBF0FBECDBFDF91D4 -:101D8000CF911F910F91FF90EF90DF90CF90BF9078 -:101D9000AF907F906F905F904F900895CF92DF92B9 -:101DA000EF92FF9280910111882371F1C09006118A -:101DB000D0900711E0900811F090091120E030E078 -:101DC000A901C701B6010F94011E8823E9F020E0A4 -:101DD00030E040E05FE3C701B6010F94671E9B014E -:101DE000AC010F94671E2BED3FE049E450E40F94E3 -:101DF000671E9B01AC0160E070E080E89FE30F94F8 -:101E0000F1256B017C0106C0C12CD12C80E8E82EA5 -:101E10008FE3F82EC0920211D0920311E0920411C8 -:101E2000F092051160911B0270911C02072E000CAC -:101E3000880B990B0F94081E2AE037ED43E25CE310 -:101E40000F94671EA70196010F94671E60931502F9 -:101E5000709316028093170290931802FF90EF90F0 -:101E6000DF90CF9008954F925F926F927F928F9202 -:101E70009F92AF92BF92CF92DF92EF92FF920F9319 -:101E80001F93CF93DF93CDB7DEB768970FB6F89463 -:101E9000DEBF0FBECDBF8C015B015A834983DC01DD -:101EA000D6966D917D918D919C91D9970F94061E38 -:101EB0006B017C01F50120813181428153810F94B6 -:101EC000671E0F94D5250F946A2669877A878B87BA -:101ED0009C87A981BA812D913D914D915C91C7015B -:101EE000B6010F94671E0F94D5250F946A266D874F -:101EF0007E878F87988B29853A854B855C85283727 -:101F000031054105510540F488E790E0A0E0B0E0DC -:101F100089879A87AB87BC872D853E854F855889F1 -:101F2000283731054105510540F488E790E0A0E0ED -:101F3000B0E08D879E87AF87B88BF801EE5BFF4FCF -:101F4000208131814281538129833A834B835C8391 -:101F5000CA01B9010F94081E2B013C0169857A85DD -:101F60008B859C850F94061E698B7A8B8B8B9C8B43 -:101F700020E030E0A901C301B2010F94011E8823C3 -:101F800029F1A7019601C701B6010F94671E4B0105 -:101F90005C0129893A894B895C89CA01B9010F948E -:101FA000671E9B01AC01C501B4010F94F6244B01DF -:101FB0005C01A3019201C301B2010F94F7249B01BC -:101FC000AC01C501B4010F94F12503C060E070E0DD -:101FD000CB010F94D5250F946A266D837E838F8362 -:101FE000988769817A818B819C8190958095709585 -:101FF00061957F4F8F4F9F4F0F94081E4B015C01DF -:102000006D857E858F8598890F94061E69837A83F6 -:102010008B839C8320E030E0A901C501B4010F94BB -:10202000011E882349F129813A814B815C81CA01D3 -:10203000B9010F94671E6D8B7E8B8F8B988FA701D4 -:102040009601C701B6010F94671E9B01AC016D8913 -:102050007E898F89988D0F94F6246B017C01A501F0 -:102060009401C501B4010F94F7249B01AC01C70191 -:10207000B6010F94F12503C060E070E0CB010F942E -:102080009926D80195968D909D90AD90BC9098978B -:10209000750164012D813E814F815885C21AD30A92 -:1020A000E40AF50A0F946A26C61AD70AE80AF90A5A -:1020B000F7FE75C020E030E0A901C301B2010F9422 -:1020C000011E882309F443C0C501B4010F94061E04 -:1020D0006B017C01A3019201C301B2010F94F724AB -:1020E0009B01AC01C701B6010F94671E6B017C0117 -:1020F00029893A894B895C89CA01B9010F94671E05 -:102100009B01AC01C701B6010F94F6246B017C0161 -:1021100029813A814B815C81CA01B9010F94671E04 -:102120009B01AC01C701B6010F94F7246B017C0140 -:1021300020E030E040E850E4C301B2010F94671E94 -:102140009B01AC01C701B6010F94F12503C060E00B -:1021500070E0CB010F94D5257B018D83998320E01E -:1021600030E0A9010F945727181624F0E12CF12C28 -:102170001D821982B7018D8199810F946A266D8322 -:102180007E838F83988786169706A806B90620F463 -:102190008D829E82AF82B886C12CD12C76018D8132 -:1021A0009E81AF81B885F80181A792A7A3A7B4A7A4 -:1021B000C80ED91EEA1EFB1EC5A6D6A6E7A6F0AA23 -:1021C00029853A854B855C8522AF33AF44AF55AF47 -:1021D000FE962D853E854F85588920833183428325 -:1021E000538368960FB6F894DEBF0FBECDBFDF9164 -:1021F000CF911F910F91FF90EF90DF90CF90BF9004 -:10220000AF909F908F907F906F905F904F900895C8 -:102210008091A71083FD0FC080910D0C81110BC020 -:102220002091160C3091170C8091190290911A028E -:102230002817390724F061E080E00C94C0D90F948E -:10224000350A81E597E10F944C0980E00895CF921B -:10225000DF92EF92FF920F931F93CF93DF937C0156 -:102260008B01109263090E944450C1E1D8E1209192 -:102270001502309116024091170250911802F70191 -:1022800060817181828193810F94F1252C853D8538 -:102290004E855F850F94F7246C877D878E879F8797 -:1022A000C12CD12C76012DE138E149E158E165E1FD -:1022B00078E1CE010E94C17BDF91CF911F910F91F8 -:1022C000FF90EF90DF90CF900C94638CCF92DF92D1 -:1022D000EF92FF92C0906302D0906402E09065029A -:1022E000F0906602FC0180819181A281B38180938C -:1022F000630290936402A0936502B09366020E9409 -:10230000BDBEC0926302D0926402E0926502F09278 -:102310006602FF90EF90DF90CF9008952F923F924A -:102320004F925F926F927F928F929F92AF92BF92E5 -:10233000CF92DF92EF92FF920F931F93CF93DF9391 -:10234000CDB7DEB76F970FB6F894DEBF0FBECDBF27 -:102350009C8F8B8F7E8F6D8F212C312C2FEF2887B8 -:102360003FEF3F834FEF488B5FE4598B83EC8A8BC1 -:1023700097E49B8B21E030E040E050E0022C04C069 -:10238000220F331F441F551F0A94D2F72F8B388F0B -:10239000498F5A8F44ED51E15B874A8700E010E096 -:1023A0002F8EAA85BB858D919D91BB87AA87A0E0C2 -:1023B000B0E02F89388D498D5A8D82239323A42331 -:1023C000B523892B8A2B8B2B09F0ECC080916313EA -:1023D00090916413289EB001299E700D389E700D57 -:1023E00011248091591390915A13680F791F072E69 -:1023F000000C880B990B0F94081E6C877D878E87C5 -:102400009F878091651390916613089FB001099F83 -:10241000700D189F700D112480915B1390915C13C7 -:10242000680F791F072E000C880B990B0F94081E5C -:102430006B017C012C853D854E855F85AB8DBC8D08 -:102440006D917D918D919C910F94F6242B013C010F -:10245000A7019601ED8DFE8D60817181828193814E -:102460000F94F6244B015C01A3019201C301B20158 -:102470000F94671E2B013C01A5019401C501B40115 -:102480000F94671E9B01AC01C301B2010F94F724A6 -:102490000F94A5274B015C012C853D854E855F85FA -:1024A0006091F8117091F9118091FA119091FB11DE -:1024B0000F94F6242B013C01A70196016091F411C1 -:1024C0007091F5118091F6119091F7110F94F62407 -:1024D0006B017C01A3019201C301B2010F94671E3D -:1024E0002B013C01A7019601C701B6010F94671E9D -:1024F0009B01AC01C301B2010F94F7240F94A527EF -:1025000020E030E040E751E40F94F125A50194016B -:102510000F94F7246B017C018090FC119090FD11C9 -:10252000A090FE11B090FF1120E030E040E85FE3A2 -:10253000C501B4010F9457271816FCF4C501B40166 -:102540000F9463264B015C01161617061806190630 -:102550003CF40F944419A50194010F94792403C00D -:1025600060E070E0CB010F94081E9B01AC01B60146 -:10257000C7010F94F7246B017C01288939894A89A6 -:102580005B89B601C7010F94011E87FF0BC0FF8D49 -:10259000F8870F83C986DC8AED8AFE8AC88AD98AC1 -:1025A000EA8AFB8A0F5F1F4F0530110509F0F9CE4B -:1025B0002FEF221A320A35E02316310409F0DACE61 -:1025C0004F81E42FF0E0EE0FFF1FEC52FE4E81E052 -:1025D00090E0088402C0880F991F0A94E2F72081D6 -:1025E0003181822B932B9183808389859C89AD894E -:1025F000BE898B839C83AD83BE83482F5C816D81B4 -:102600007E8128853F8180E090E06F960FB6F89438 -:10261000DEBF0FBECDBFDF91CF911F910F91FF9015 -:10262000EF90DF90CF90BF90AF909F908F907F9072 -:102630006F905F904F903F902F9008958C38910548 -:102640001CF02CE880E002C0282F892F20936D0910 -:1026500080936E090C9416DF80E1E1E1F8E1A7EECA -:10266000B3E101900D928A95E1F708958091961259 -:1026700090919712009731F04AE050E060E070E0EE -:102680000D94F71A60E070E0CB0108950E94369334 -:1026900097FD0CC00E9436936F3F7105810591052F -:1026A00009F034F40E943693862F089580E008954F -:1026B0008FEF08958091961290919712892B39F09F -:1026C0000E94469391E0811103C090E001C091E027 -:1026D000892F08950E943693CB0108950F931F937D -:1026E000CF938091961290919712009711F1FC016F -:1026F0008F01C1912C2F2F7DA9F0C53411F0C53663 -:10270000B9F7F801108260E070E080919612909124 -:1027100097120F949B19F801C083562F472F382F1B -:10272000292F0BC060E070E0CF911F910F910D94A5 -:102730009B1950E040E030E020E0652F742F832F9C -:10274000922FCF911F910F91089581548A3108F0F3 -:1027500042C0E82FF0E04091641250916512609100 -:1027600066127091671204C07695679557954795E4 -:102770008A95D2F7842F817040FF2FC0E65BFD4E13 -:102780009081992309F1E091E10BF091E20BE90FBF -:10279000F11D908120ED290F2A3098F09E3211F41E -:1027A00091810CC09D3211F09B3271F4918120ED2A -:1027B000290F2A3030F09E3239F4928190539A30AA -:1027C00018F42E2F9F2F02C020E090E02093961245 -:1027D00090939712089580E0089508950E94A5931C -:1027E000882341F081E02091961230919712232B9B -:1027F00009F480E00895CF93DF93C82FD62F0E946D -:10280000EE93882321F0DF91CF910C945A938C2F73 -:102810000E94A593811101C08D2FDF91CF91089562 -:102820000F931F93CF938C01C62F80E995E10F94EE -:102830004C09C8010F944C09CC2331F08AE0CF91A8 -:102840001F910F910C94AE52CF911F910F9108954B -:1028500060E085EA95E10E9410948DEA95E10F947D -:102860004C098AE00C94AE5260E085EA95E10E9442 -:10287000109481EA95E10F944C098AE00C94AE52D1 -:10288000EF92FF920F931F93CF937C018B01C42F84 -:1028900060E085EA95E10E941094C7010F944C090D -:1028A00080E20E94AE52C8010F944C09CC2341F043 -:1028B0008AE0CF911F910F91FF90EF900C94AE5250 -:1028C000CF911F910F91FF90EF90089541E0BC01CF -:1028D0008AE995E10C944094CF93DF93C091211144 -:1028E00010922111C230B9F118F4C13041F041C049 -:1028F000C430B1F1C530E9F5C8EDD5E13FC0811173 -:102900001DC00E94349441E063E476E18AE697E1D9 -:102910000E94409488E396E10E9466948091630946 -:10292000882319F08AE296E104C0C093211181E264 -:1029300096E10E9466940E9428941EC08130E1F4C2 -:10294000809163098823C1F010922A0210926309D2 -:102950000E94445011C010924A13C4EFD5E10EC03A -:102960008DE196E19093A2098093A109C3EED5E190 -:1029700005C0CAECD5E102C0CDE0D6E182EB95E11D -:102980000F944C09CE010F944C098AE0DF91CF914E -:102990000C94AE520F931F93CF93DF938B01EA01F8 -:1029A000809321110E94349441E0B8018AE697E1B6 -:1029B0000E944094209719F0CE010E946694DF9106 -:1029C000CF911F910F910C9428940F931F93CF9345 -:1029D000DF93C82F0F94350AC11103C088E696E132 -:1029E00002C08AE896E10F944C090F940601DC01BD -:1029F000CB0188539045AF4FBF4F809333139093D3 -:102A00003413A0933513B0933613109237131091EB -:102A1000491283E08093491281E080934A134AE38C -:102A200057E163E477E182E00E94CA948CE297E187 -:102A30000E94D6CFCC2319F0CAE8D6E102C0C8E67E -:102A4000D6E101E080914A13882309F455C08091B2 -:102A50003713882309F44CC00F94350A85E097E1B9 -:102A60000F944C0940EF56E167EF76E182E00E9457 -:102A7000CA9482EE96E10E94D6CF80914A138823B1 -:102A800021F081E00E94DA53F8CF40E050E068ED99 -:102A900076E182E00E94CA948BEC96E10E9491CF8D -:102AA0000E94E9EE0E9408910F94350ACE010F941E -:102AB0004C090F940601DC01CB0188539045AF4FC0 -:102AC000BF4F8093331390933413A0933513B09377 -:102AD00036131092371346EB56E16FEB76E182E046 -:102AE0000E94CA9487E497E00E94D6CF00934A13CD -:102AF00081E00E94DA53A6CF10934912DF91CF9163 -:102B00001F910F91089590912111911102C00C9481 -:102B1000CA9408958F929F92AF92BF92CF92DF9204 -:102B2000EF92FF920F931F93CF93DF9300D01F92EA -:102B3000CDB7DEB76C017B018A01B09037130E94DC -:102B4000E9EEB11016C080910D0C811112C0609198 -:102B5000120C7091130C8091140C9091150C0F9421 -:102B600063262091190230911A02621773070CF440 -:102B7000C2C00E940891882309F4BDC0BB20A1F106 -:102B80000F94350A8FEB97E10F944C09B0904912DE -:102B900083E08093491281E080934A1382E080931E -:102BA00021110E94349440E06FEA77E18AE697E1D0 -:102BB0000E94409480E30E94AE528AE00E94AE528E -:102BC00086EA97E10E9466940E94289488E997E13A -:102BD0000E94D6CF80914A13882321F081E00E9481 -:102BE000DA53F8CFB092491220E030E0A901F601A3 -:102BF00060817181828193810F94011E882371F01D -:102C000080E090E0A0ECB0E489839A83AB83BC833E -:102C1000BE016F5F7F4FC6010E94279120E030E028 -:102C2000A901F70160817181828193810F94011E56 -:102C3000882351F18090E0109090E110A090E21074 -:102C4000B090E31080E090E0A8ECB1E48093E01055 -:102C50009093E110A093E210B093E31080E090E035 -:102C6000A0EFB1E489839A83AB83BC83BE016F5F1D -:102C70007F4FC7010E9427918092E0109092E1104F -:102C8000A092E210B092E31020E030E0A901F80138 -:102C900060817181828193810F945727181674F493 -:102CA00080E090E0A0E4B0E489839A83AB83BC83A6 -:102CB000BE016F5F7F4FC8010E94279181E0809322 -:102CC00021110E94349441E061E977E18AE697E1BD -:102CD0000E94409487E897E10E946694809163097E -:102CE000882319F089E797E102C080E797E10E9405 -:102CF00066940E94289420E030E0A90160912E1192 -:102D000070912F1180913011909131110F94011E0B -:102D100087FF0FC080E090E0A0E7B2E489839A8348 -:102D2000AB83BC83BE016F5F7F4F8EE291E10E9457 -:102D3000279180E090E0A8E4B2E489839A83AB8392 -:102D4000BC83AE014F5F5F4F66E271E182E291E1C9 -:102D50000E9481C280E090E0A0EAB0E489839A8377 -:102D6000AB83BC83BE016F5F7F4F8AE291E10E941B -:102D7000A3C280912E1190912F11A0913011B0918A -:102D8000311180931D1890931E18A0931F18B093B3 -:102D900020188093F3139093F413A093F513B0933A -:102DA000F61383EF93E10E94748C61E082E697E171 -:102DB0000E9410948091270B81508093270B40E054 -:102DC00050E06BEE77E185E00E9483958091270BC0 -:102DD000882339F00E94EC5D8091270B815080930D -:102DE000270B80E00E94837C80911C11823011F4BB -:102DF0000E945E8A0E947EEE0F900F900F900F90BF -:102E0000DF91CF911F910F91FF90EF90DF90CF90C6 -:102E1000BF90AF909F908F9008958F929F92AF92A6 -:102E2000BF92CF92DF92EF92FF921F93CF93DF93E7 -:102E3000CDB7DEB728970FB6F894DEBF0FBECDBF73 -:102E40002091270B211113C17A015B016C0161E014 -:102E50008AE496E10E94109440E050E062E676E158 -:102E600085E00E9483958091A71083FD22C020E019 -:102E700030E0A901F70160817181828193810F9413 -:102E8000011E8823B1F010910D0C111112C0209178 -:102E9000190230911A028091160C9091170C82172A -:102EA00093073CF40F94350A81E596E10F944C09A1 -:102EB000DFC08091270B91E0980F9093270B9091A2 -:102EC0009C1792FF06C09B7F90939C178E5F809308 -:102ED000270B0E94F9EC80E1E1E1F8E1A2E2B1E127 -:102EE00001900D928A95E1F70E94638C81E00E9427 -:102EF000837C20E030E0A901F6016081718182814C -:102F000093810F94011E882319F180910D0C81117A -:102F100011C06091120C7091130C8091140C90915F -:102F2000150C0F9463262091190230911A02621732 -:102F3000730774F080E090E0A0E7B2E489839A839D -:102F4000AB83BC83BE016F5F7F4FC6010E94279198 -:102F50000E94BB7C811104C0B50182E00E9432ED69 -:102F600020E030E0A901F7016081718182819381C5 -:102F70000F94011E811102C011E07AC00E940891D5 -:102F8000182F8823C9F380E090E0A0E7B2E48D8396 -:102F90009E83AF83B88780E090E0A0E8B0EC89839F -:102FA0009A83AB83BC83BE016B5F7F4FCE010196DA -:102FB0000E94279168E873E180E090E00F941D097A -:102FC0008091D8109091D910A091DA10B091DB10B7 -:102FD0008D839E83AF83B88780E090E0A0E8B0E463 -:102FE00089839A83AB83BC83BE016B5F7F4FCE0125 -:102FF00001960E9427918090E0109090E110A0909F -:10300000E210B090E31080E090E0A8ECB1E480938F -:10301000E0109093E110A093E210B093E31080E0F1 -:1030200090E0A4E2B2E48D839E83AF83B887F7017A -:1030300080819181A281B38189839A83AB83BC8390 -:10304000BE016B5F7F4FCE0101960E942791809257 -:10305000E0109092E110A092E210B092E310129A68 -:1030600064E670E080E090E00F941D0901C010E07C -:10307000812F28960FB6F894DEBF0FBECDBFDF912B -:10308000CF911F91FF90EF90DF90CF90BF90AF90C6 -:103090009F908F900895CF93DF93EB01682F70E09E -:1030A00088E995E10E943651688179818A819B8106 -:1030B000643F21E072078105910520F464EF71E01F -:1030C00080E090E00F941D0989B183FB882780F987 -:1030D000DF91CF910895CF92DF92EF92FF921F93ED -:1030E000CF93DF9300D01F92CDB7DEB78EEEC82E00 -:1030F00082E0D82EE12CF12CC982DA82EB82FC82AC -:10310000BE016F5F7F4F8AE50E944B98811102C01C -:1031100010E023C084EF91E0A0E0B0E089839A83BF -:10312000AB83BC83BE016F5F7F4F80EA0E944B98E8 -:10313000C982DA82EB82FC82BE016F5F7F4F8AE533 -:103140000E944B98182F882319F30F94310A86E5B3 -:1031500095E10F944C090F94390A812F0F900F902D -:103160000F900F90DF91CF911F91FF90EF90DF9024 -:10317000CF900895CF92DF92EF92FF92CF93DF939B -:1031800000D01F92CDB7DEB78EEEC82E82E0D82ECB -:10319000E12CF12CC982DA82EB82FC82BE016F5FE6 -:1031A0007F4F8AE00E944B98811102C0F12C41C0F0 -:1031B00084EF91E0A0E0B0E089839A83AB83BC8385 -:1031C000BE016F5F7F4F80EA0E944B98C982DA820E -:1031D000EB82FC82BE016F5F7F4F8AE50E944B98B5 -:1031E000C982DA82EB82FC82BE016F5F7F4F8AE088 -:1031F0000E944B98C982DA82EB82FC82BE016F5F2B -:103200007F4F8AE50E944B98C982DA82EB82FC826A -:10321000BE016F5F7F4F8AE00E944B98F82E882393 -:1032200029F20F94310A8CE195E10F944C090F9427 -:10323000390A8F2D0F900F900F900F90DF91CF9143 -:10324000FF90EF90DF90CF9008958F929F92AF9272 -:10325000BF92CF92DF92EF92FF92CF93DF9300D095 -:103260001F92CDB7DEB7B82E84EF91E0A0E0B0E0BA -:1032700089839A83AB83BC83BE016F5F7F4F80EAF3 -:103280000E944B989EEEC92E92E0D92EE12CF12C93 -:10329000C982DA82EB82FC82BE016F5F7F4F8AE5D2 -:1032A0000E944B988091581381113CC0BB20D1F1F2 -:1032B000C982DA82EB82FC82BE016F5F7F4F8AE0B7 -:1032C0000E944B9886E9882E912CA12CB12C8982E2 -:1032D0009A82AB82BC82BE016F5F7F4F8CE80E94F6 -:1032E0004B9889829A82AB82BC82BE016F5F7F4F0E -:1032F00082E80E944B9889829A82AB82BC82BE018E -:103300006F5F7F4F8CE80E944B98C982DA82EB8214 -:10331000FC82BE016F5F7F4F8AE50E944B9881E07F -:10332000809358130F900F900F900F90DF91CF91D3 -:10333000FF90EF90DF90CF90BF90AF909F908F90D5 -:1033400008958F929F92AF92BF92EF92FF920F9348 -:103350001F93CF93DF9380E00F94C2061092661301 -:1033600010926513109264131092631310925C1301 -:1033700010925B1310925A13109259130FE613E137 -:10338000C0E0812C912C80ECA82E8FE7B82EE12C88 -:10339000F12CD0E0F801EE0DFF1D80829182A28217 -:1033A000B38220E030E0A9016D2F8C2F0E94D2CE95 -:1033B000DF5F84E0E80EF11CD53061F7CF5F0C5E73 -:1033C0001F4FC53021F7DF91CF911F910F91FF90D3 -:1033D000EF90BF90AF909F908F9008958F929F92A3 -:1033E000AF92BF92CF92DF92EF92FF920F931F9313 -:1033F000CF93DF93EC018A01C880D980EA80FB80FB -:10340000072E000C880B990B0F94081E4B015C01D2 -:103410009B01AC01C701B6010F94011E87FD10C0CE -:10342000B801110F880B990B0F94081E4B015C011A -:103430009B01AC01C701B6010F945727181624F45D -:1034400088829982AA82BB82DF91CF911F910F91CE -:10345000FF90EF90DF90CF90BF90AF909F908F90B4 -:103460000895EF92FF920F931F93CF93C82F7B0184 -:103470008A0180912F028823D1F00F94310AC7016D -:103480000F944C0986E190E20F944C09C7FD08C0E7 -:103490006C2FCC0F770B880B990B0E94225304C022 -:1034A00082E190E20F944C098AE00E94AE520E94A1 -:1034B000C5DF8091A011811108C081E08093A01127 -:1034C00010922F02C8010F942602CF911F910F91E5 -:1034D000FF90EF9008952F923F924F925F926F92DC -:1034E0007F928F929F92AF92BF92CF92DF92EF9294 -:1034F000FF920F931F93CF93DF93CDB7DEB72F9734 -:103500000FB6F894DEBF0FBECDBF80915811811168 -:103510001DC08091391381111DC02F960FB6F894EC -:10352000DEBF0FBECDBFDF91CF911F910F91FF90F6 -:10353000EF90DF90CF90BF90AF909F908F907F9053 -:103540006F905F904F903F902F90089580E090E0B3 -:103550000F9426020E942AE10F9406014B015C01A0 -:103560006091120270911302072E000C880B990BC8 -:103570000F94081E9B01AC016091120C7091130C0A -:103580008091140C9091150C0F94572718163CF449 -:103590004BE950E26EEA70E280E00E94319A80913D -:1035A0003713882309F404C26091160C7091170C2C -:1035B000072E000C880B990B0F94081E69837A83E1 -:1035C0008B839C833AE0E32EF12C0CE310E020E0A7 -:1035D000AE014F5F5F4F62E17CE08FEC91E10E94B2 -:1035E00057DDC090120CD090130CE090140CF090AA -:1035F000150C6091100270911102072E000C880BBF -:10360000990B0F94081E9B01AC01C701B6010F94E2 -:10361000572718160CF4A0C060E06093180C809136 -:10362000241390912513A0912613B091271300978E -:10363000A105B10529F1A5019401281B390B4A0BFD -:103640005B0B57FD1DC0609122137091231380E026 -:1036500090E00F94061E9B01AC016091120C7091DA -:10366000130C8091140C9091150C0F94011E87FF80 -:1036700008C34AE750E26CE870E280E00E94319AA9 -:1036800020E030E046E153E46091690970916A09F5 -:1036900080916B0990916C090F94572718160CF4C0 -:1036A000D7C180912A1390912B13A0912C13B09124 -:1036B0002D130097A105B10529F1A5019401281B3F -:1036C000390B4A0B5B0B57FD1DC06091281370919D -:1036D000291380E090E00F94061E9B01AC016091DD -:1036E000690970916A0980916B0990916C090F9436 -:1036F000011E87FFB5C144E350E267E470E28FEF3B -:103700000E94319A80913213882309F48AC1609112 -:103710006D0970916E09072E000C880B990B0F94A0 -:10372000081E69837A838B839C8392E0E92EF12CB7 -:1037300002E310E02FEFAE014F5F5F4F69E679E0E3 -:103740008AEC91E10E9457DD80913213882309F4BD -:1037500048C110926F09E1CE60911202709113027C -:10376000072E000C880B990B0F94081E9B01AC01CF -:10377000C701B6010F94011E87FF4ECF6091160C52 -:103780007091170C6115710509F476C2072E000CB3 -:10379000880B990B0F94081EA70196010F94F6242D -:1037A0002B013C0120E030E040E251EC0F94011E7F -:1037B00087FD62C28091371381115EC220E030E044 -:1037C00040E251E4C301B2010F94572718160CF4DC -:1037D00065C28091C911811166C28091C111909119 -:1037E000C211A091C311B091C4118D839E83AF8388 -:1037F000B8872091C5113091C6114091C7115091E1 -:10380000C81129873A874B875C87A7019601609189 -:10381000B5117091B6118091B7119091B8110F94B4 -:10382000F6242091210C3091220C4091230C5091D0 -:10383000240C0F94671E2D813E814F8158850F9473 -:10384000F62420ED3CEC4CE45DE30F94671E2D81E3 -:103850003E814F8158850F94F7246B017C01609362 -:10386000C1117093C2118093C3119093C4118091C0 -:103870001D0C90911E0CA0911F0CB091200C8D83FB -:103880009E83AF83B88729853A854B855C85C301C4 -:10389000B2010F94F724162F072F382E292E20E07F -:1038A00030E0A9010F94011E87FD12C22D813E81D7 -:1038B0004F81588560E070E08FE793E40F94F12525 -:1038C00069877D878E879F87212F302F432D522D2B -:1038D0000F94011E87FF04C019850D853E842F8437 -:1038E000812F902FA32DB22D8093C5119093C611D7 -:1038F000A093C711B093C8112091190C30911A0CE4 -:1039000040911B0C50911C0CC301B2010F94671E17 -:103910002B013C016093B9117093BA118093BB11D4 -:103920009093BC11212F302F432D522D6D817E811C -:103930008F8198850F94671E9B01AC016093BD1128 -:103940007093BE118093BF119093C011C301B20157 -:103950000F94F724A70196010F94F72420E030E09C -:10396000A9010F94F72469837A838B839C834FEF9B -:1039700050E060E070E0CE0101960E94EE99C090A8 -:10398000120CD090130CE090140CF090150C69817F -:103990007A818B819C810F94632675956795C0927F -:1039A000B511D092B611E092B711F092B81135CEA0 -:1039B0008091331390913413A0913513B091361345 -:1039C0000097A105B10509F4EFCDA5019401281BCD -:1039D000390B4A0B5B0B57FDE7CD81E08093371322 -:1039E000E3CDC0906909D0906A09E0906B09F0902E -:1039F0006C0920E030E040EA50E4C701B6010F94C2 -:103A0000572787FD0AC020E030E046E153E4C701B4 -:103A1000B6010F94011E181634F560E060936F092B -:103A20007CCD80912E1390912F13A0913013B091E3 -:103A300031130097A105B10509F469CE881A990AD6 -:103A4000AA0ABB0AB7FC63CE81E0809332135FCE33 -:103A500046E550E26AE670E28FEF0E94319A21CE8D -:103A60000E9416DF4FCE60916D0970916E0961154D -:103A7000710509F40AC1072E000C880B990B0F94ED -:103A8000081EA70196010F94F6244B015C0120E06B -:103A900030E040E251EC0F94011E87FDF6C020E0BB -:103AA00030E040E251E4C501B4010F9457271816E5 -:103AB0000CF4EFC04090740950907509609076093D -:103AC00070907709809130028111F8C02091B11176 -:103AD0003091B2114091B3115091B4118091AD1158 -:103AE0009091AE11A091AF11B091B0118D839E83D2 -:103AF000AF83B887C501B4010F94F724162F072FA1 -:103B0000382E292E20E030E0A9010F94011E87FDF8 -:103B1000E4C0A301920160E070E08FE793E40F94AA -:103B2000F12569877D878E879F87212F302F432D31 -:103B3000522D0F94011E87FF04C019850D853E8408 -:103B40002F84812F902FA32DB22D8093B1119093AC -:103B5000B211A093B311B093B411209170093091B8 -:103B600071094091720950917309C501B4010F9414 -:103B7000671E4B015C016093A5117093A6118093A1 -:103B8000A7119093A811212F302F432D522DC3013F -:103B9000B2010F94671E2B013C016093A911709331 -:103BA000AA118093AB119093AC11A701960160917B -:103BB000A1117091A2118091A3119091A4110F9461 -:103BC000F624209178093091790940917A09509131 -:103BD0007B090F94671E2D813E814F8158850F947C -:103BE000F62420ED3CEC4CE45DE30F94671E2D8140 -:103BF0003E814F8158850F94F7246D837E838F8398 -:103C000098876093AD117093AE118093AF1190932C -:103C1000B011C092A111D092A211E092A311F09222 -:103C2000A411A3019201C501B4010F94F7242D81C1 -:103C30003E814F8158850F94F72420E030E0A901A0 -:103C40000F94F7246B017C0120E030E0A9010F9470 -:103C5000011E87FDE2CE20E030E04FE753E4C701CC -:103C6000B6010F9457271816BCF0C701B6010F9480 -:103C7000632675956795D2CE81E08093C91160E087 -:103C80008ECE80E00E9465DFFBCC81E08093300225 -:103C9000C4CE81E0809330026FE7C0CE81E0809394 -:103CA000C9116FE77CCE1092C91119861A861B863E -:103CB0001C861D821E821F821886A7CD109230029C -:103CC0001D821E821F82188620E030E0A90112CFDB -:103CD00010E000E0312C212C03CE10E000E0312C6C -:103CE000212C2FCF90916F00292F227091FF05C0BA -:103CF00090916F009D7F90936F0034E0839FC0018F -:103D00001124FC01E85BFE4E408151816281738188 -:103D1000FC01E45CFE4E408351836283738381E047 -:103D200080933B11222329F080916F008260809361 -:103D30006F00089590916F00292F227091FF05C0A8 -:103D400090916F009D7F90936F0094E0899FF001A8 -:103D50001124E85BFE4E6081718182819381222370 -:103D600029F020916F00226020936F000895BC011C -:103D700020919E1130919F1140919E1150919F1161 -:103D80002417350711F09A01F7CF81E0261737077E -:103D900009F080E008952F923F924F925F926F92C8 -:103DA0007F928F929F92AF92BF92CF92DF92EF92CB -:103DB000FF921F93CF93DF9300D01F92CDB7DEB752 -:103DC0008FEF9FEF90938900809388001AE01A820A -:103DD0001982BEE02B2EB0E23B2E789480919A118E -:103DE00090919B11A0919C11B0919D11892B8A2BD0 -:103DF0008B2B09F0D7C180913B118823D1F0109211 -:103E00003B1180919E1190919F11892B91F01092FE -:103E10003A1110929F1110929E1190919E158091CF -:103E20009F15981731F080919F158F5F8F70809349 -:103E30009F1580919E1190919F11892B09F4B2C119 -:103E40008090961190909711A0909811B090991130 -:103E5000409192115091931160919411709195112C -:103E6000C0908511D12CE12CF12CDB01CA018819FD -:103E70009909AA09BB09C816D906EA06FB0610F477 -:103E8000D701C601382F880D991DAA1DBB1D80932F -:103E9000961190939711A0939811B09399118091D6 -:103EA0008400909185004E96C0906D11D0906E1157 -:103EB000E0906F11F090701140915D1150915E1182 -:103EC00060915F11709160114C0D5D1D6E1D7F1D25 -:103ED00040936D1150936E1160936F117093701138 -:103EE00077FD1CC0889AC0904811D0904911E0908D -:103EF0004A11F0904B1140913211042E000C550BD9 -:103F0000660B770B4C0D5D1D6E1D7F1D4093481198 -:103F10005093491160934A1170934B11C0907111E5 -:103F2000D0907211E0907311F09074114091611172 -:103F30005091621160916311709164114C0D5D1D7F -:103F40006E1D7F1D40937111509372116093731118 -:103F50007093741177FD1CC08E9AC0904C11D09054 -:103F60004D11E0904E11F0904F1140913311042EFD -:103F7000000C550B660B770B4C0D5D1D6E1D7F1DE8 -:103F800040934C1150934D1160934E1170934F110B -:103F9000C0907511D0907611E0907711F090781163 -:103FA000409165115091661160916711709168118F -:103FB0004C0D5D1D6E1D7F1D409375115093761144 -:103FC000609377117093781177FD21C020910B01D8 -:103FD0002095287020930901C0905011D090511164 -:103FE000E0905211F090531140913411042E000CC6 -:103FF000550B660B770B4C0D5D1D6E1D7F1D4093A1 -:104000005011509351116093521170935311C090FD -:104010007911D0907A11E0907B11F0907C11409151 -:10402000691150916A1160916B1170916C114C0D76 -:104030005D1D6E1D7F1D4093791150937A11609321 -:104040007B1170937C1177FD1CC0149AC0905411A1 -:10405000D0905511E0905611F090571140913511C4 -:10406000042E000C550B660B770B4C0D5D1D6E1D61 -:104070007F1D4093541150935511609356117093C6 -:104080005711409184005091850048175907C8F393 -:1040900040916D1150916E1160916F11709170117E -:1040A00077FD15C0C0905911D0905A11E0905B1166 -:1040B000F0905C114C195D096E097F0940936D11F8 -:1040C00050936E1160936F117093701188984091A6 -:1040D000711150917211609173117091741177FD8B -:1040E00015C0C0905911D0905A11E0905B11F0901A -:1040F0005C114C195D096E097F0940937111509351 -:10410000721160937311709374118E9840917511B0 -:1041100050917611609177117091781177FD19C0E7 -:10412000C0905911D0905A11E0905B11F0905C1141 -:104130004C195D096E097F094093751150937611F2 -:10414000609377117093781120910B012870209360 -:1041500009014091791150917A1160917B11709110 -:104160007C1177FD15C0C0905911D0905A11E09084 -:104170005B11F0905C114C195D096E097F09409349 -:10418000791150937A1160937B1170937C1114987C -:10419000315041F0409184005091850048175907F3 -:1041A000C8F381CE80919A1190919B11A0919C119E -:1041B000B0919D11892B8A2B8B2B09F074C3E09150 -:1041C0009E11F0919F11309709F4F4C480919611DB -:1041D00090919711A0919811B091991140919211DD -:1041E00050919311609194117091951184179507D6 -:1041F000A607B70708F46BC080912A02882309F448 -:104200004CC085899689A789B08D892B8A2B8B2BE9 -:10421000A1F4818D928DA38DB48D892B8A2B8B2B4C -:1042200061F4858D968DA78DB0A1892B8A2B8B2B60 -:1042300021F48091270B882381F161A172A183A1D0 -:1042400094A1C0903611D0903711E0903811F090C1 -:10425000391125A923FF07C0909580957095619528 -:104260007F4F8F4F9F4F0F94081E2091090C309164 -:104270000A0C40910B0C50910C0C0F94671E9B0183 -:10428000AC01C701B6010F94F62460933611709308 -:104290003711809338119093391110923A1110927E -:1042A0009F1110929E1190919E1580919F159817C5 -:1042B00009F480C480919F158F5F8F7080939F1544 -:1042C000A0EDCA2EA7E0DA2EE12CF12C4EC14091D0 -:1042D0008E1150918F11609190117091911148172A -:1042E00059076A077B0708F467C040918A1150910B -:1042F0008B1160918C1170918D1181A992A9A3A944 -:10430000B4A9FF24499FE12C5A9F90016A9F300D68 -:10431000699F200D311D4A9FE00C211D3F1D599FB3 -:10432000E00C211D3F1D689FE00C211D3F1D589F83 -:10433000E10C2F1D3F1DE6942F1D3F1DB49F200D46 -:10434000311DB59F300D112482AD93ADA4ADB5AD37 -:10435000820F931FA11DB11D809386119093871129 -:10436000A0938811B0938911C6A8D7A8E0ACF1AC8E -:10437000C816D906EA06FB0640F4C0928611D09210 -:104380008711E0928811F0928911809086119090A7 -:104390008711A0908811B090891182EF9FE121E0F0 -:1043A000FC01C590D590E590F490C814D904EA04B6 -:1043B000FB0408F4C9C2D3C240918111509182110B -:1043C0006091831170918411481759076A077B0720 -:1043D00008F063C040917D1150917E1160917F1172 -:1043E0007091801181A992A9A3A9B4A9FF24499F22 -:1043F000E12C5A9F90016A9F300D699F200D311D5D -:104400004A9FE00C211D3F1D599FE00C211D3F1DBF -:10441000689FE00C211D3F1D589FE10C2F1D3F1D83 -:10442000E6942F1D3F1DB49F200D311DB59F300D0B -:104430001124C901A0E0B0E080908611909087110E -:10444000A0908811B0908911FE9688159905AA054B -:10445000BB0580F4C080D180E280F380881A990A7D -:10446000AA0ABB0A8C149D04AE04BF0438F44601AA -:10447000570104C080809180A280B38082EF9FE1C9 -:1044800021E0FC01C590D590E590F490C814D904C2 -:10449000EA04FB0408F4CBC2D5C280912B029091B0 -:1044A0002C02A0912D02B0912E02B7FF56C086A912 -:1044B00097A9A0ADB1AD22EF3FE141E0F901C59070 -:1044C000D590E590F490C816D906EA06FB0658F494 -:1044D000B695A79597958795440F2C5F3F4F50E26F -:1044E0002E30350759F74093851180329105A1058B -:1044F000B10508F432C38097A109B109811528E0FC -:104500009207A105B10508F405C344E0949F90010A -:1045100011242E50344EF901329645915491EE27D4 -:10452000859FB001849F610D7E1F06946E1F7E1FC4 -:104530001124CB01A0E0B0E0F9014591549160E075 -:1045400070E0481B590B6A0B7B0B40932B02509376 -:104550002C0260932D0270932E02C0902B02D090FB -:104560002C02E0902D02F0902E0280919E119091ED -:104570009F11892B09F08FC10E94F78890939F119A -:1045800080939E11892B09F486C180919E11909190 -:104590009F119C838B83DC018C9183FF42C05596D5 -:1045A0008D919D910D90BC91A02D80934811909379 -:1045B0004911A0934A11B0934B11EB81FC81818D7D -:1045C000928DA38DB48D80934C1190934D11A09337 -:1045D0004E11B0934F11858D968DA78DB0A180930C -:1045E000501190935111A0935211B093531181A186 -:1045F00092A1A3A1B4A18093541190935511A093BB -:104600005611B093571190919E1580919F15981750 -:1046100009F4B2CF80919F158F5F8F7080939F15A3 -:10462000ABCFAB81BC8155964D905D906D907C90E9 -:10463000589781E0411451046104710409F480E049 -:10464000EB81FC81C18CD28CE38CF48CC114D1043D -:10465000E104F10409F08260AB81BC815D964D916B -:104660005D916D917C9190974115510561057105A2 -:1046700009F0846080933A1110927D1110927E119E -:1046800010927F111092801110928A1110928B114A -:1046900010928C1110928D11EB81FC8185A196A155 -:1046A000A7A1B0A58093921190939311A093941118 -:1046B000B0939511882499245401881A990AAA0A5A -:1046C000BB0A8092791190927A11A0927B11B092DC -:1046D0007C118092751190927611A0927711B09210 -:1046E00078118092711190927211A0927311B09210 -:1046F000741180926D1190926E11A0926F11B09210 -:104700007011440C551C661C771C40925D11509230 -:104710005E1160925F1170926011CC0CDD1CEE1C7A -:10472000FF1CC0926111D0926211E0926311F0926D -:104730006411440F551F661F771F409365115093F6 -:104740006611609367117093681141A152A163A132 -:1047500074A1440F551F661F771F40936911509332 -:104760006A1160936B1170936C11880F991FAA1FC7 -:10477000BB1F8093591190935A11A0935B11B09372 -:104780005C1110929611109297111092981110923C -:10479000991181A592A5A3A5B4A580938E1190939C -:1047A0008F11A0939011B093911185A596A5A7A5FF -:1047B000B0A98093811190938211A0938311B0933B -:1047C000841185A990919209891721F0809392090B -:1047D0000E94B8880E9432C52FEF3FEFA9012093B5 -:1047E0002B0230932C0240932D0250932E02EB812A -:1047F000FC8182AD93ADA4ADB5AD8093861190934D -:104800008711A0938811B093891122EF3FE141E015 -:10481000F901C590D590E590F490C816D906EA063E -:10482000FB0650F4B695A79597958795440F2C5F96 -:104830003F4F2216330661F7409385118032910570 -:10484000A105B10508F4B1C18097A109B10981158D -:10485000F8E09F07A105B10508F484C144E0949FE6 -:10486000900111242E50344EF90132964591549105 -:10487000EE27859FB001849F610D7E1F06946E1FF9 -:104880007E1F1124F901C590D490E12CF12CC61A99 -:10489000D70AE108F108C0929A11D0929B11E092D8 -:1048A0009C11F0929D1180919A1190919B11A09171 -:1048B0009C11B0919D11AC01BD010097E1E0AE07E4 -:1048C000B10520F04FEF5FEF60E070E0841B950BC7 -:1048D000A60BB70B80939A1190939B11A0939C11F8 -:1048E000B0939D11F894809184009091850040963A -:1048F000115059F029813A81240F351F3A832983B9 -:104900002817390708F469CA02C09A838983498144 -:104910005A81509389004093880078940F900F90AB -:104920000F900F90DF91CF911F91FF90EF90DF904C -:10493000CF90BF90AF909F908F907F906F905F903F -:104940004F903F902F900895B694A7949794879492 -:10495000220F0496A0E28E309A0709F021CD209311 -:104960008511B0E28B169104A104B10408F459C07A -:1049700020E2821A9108A108B108811438E0930658 -:10498000A104B104F8F0A4E09A9EC00111248E5055 -:10499000944EFC01329625913491F82DEE27F39F29 -:1049A000D001F29FA10DBE1F0694AE1FBE1F1124A1 -:1049B000FC01C590D490E12CF12CCA1ADB0AE10865 -:1049C000F10822C0D501C401B695A79597958795A2 -:1049D000FC01EC7FCF018E50984EFC01C590D49025 -:1049E000FC01329625913491E82DE770E29FC001D9 -:1049F000E39F900D1124F3E096958795FA95E1F7E2 -:104A0000C81AD90AE12CF12C4C0D5D1D6E1D7F1DBD -:104A100040938A1150938B1160938C1170938D1178 -:104A2000A4CDA0E28A2E912CA12CB12CA1CFB694BA -:104A3000A79497948794220F0496E0E28E309E0705 -:104A400009F01FCD20938511F0E28F169104A10487 -:104A5000B10408F459C020E2821A9108A108B108F3 -:104A6000811438E09306A104B104F8F0A4E09A9E02 -:104A7000C00111248E50944EFC0132962591349140 -:104A8000F82DEE27F39FD001F29FA10DBE1F0694D3 -:104A9000AE1FBE1F1124FC01C590D490E12CF12C57 -:104AA000CA1ADB0AE108F10822C0D501C401B69593 -:104AB000A79597958795FC01EC7FCF018E50984E76 -:104AC000FC01C590D490FC01329625913491E82DDB -:104AD000E770E29FC001E39F900D112433E09695AB -:104AE00087953A95E1F7C81AD90AE12CF12C4C0DBB -:104AF0005D1D6E1D7F1D40937D1150937E1160934F -:104B00007F117093801131CDE0E28E2E912CA12C7B -:104B1000B12CA1CFAC01BD0176956795579547950E -:104B2000FA01EC7F9F012E50384EF90145915491C6 -:104B3000F9013296659174918770869F9001879FE5 -:104B4000300D1124C901F3E096958795FA95E1F7A8 -:104B5000481B590B60E070E0F8CC80E290E0A0E0E8 -:104B6000B0E0C9CCAC01BD017695679557954795E6 -:104B7000FA01EC7F9F012E50384EF901C590D49078 -:104B8000F9013296459154918770849F9001859FD9 -:104B9000300D1124C90123E0969587952A95E1F7F8 -:104BA000C81AD90AE12CF12C76CE80E290E0A0E080 -:104BB000B0E04ACE80EDC82E87E0D82EE12CF12C53 -:104BC000DBCCCF92DF92EF92FF92CF93DF93EC0199 -:104BD0006A017B0127E137EB41ED58EBC701B601D4 -:104BE0000F94572787FD23C023E030E04BE953E4BF -:104BF000C701B6010F94011E1816CCF0C880D980E9 -:104C0000EA80FB8027E137EB41ED58EBC701B601A5 -:104C10000F94572787FD0BC0C1E023E030E84DE932 -:104C200053E4C701B6010F94011E18160CF4C0E03E -:104C30008C2FDF91CF91FF90EF90DF90CF90089570 -:104C40004F925F926F927F928F929F92AF92BF929C -:104C5000CF92DF92EF92FF92CF93DF93CDB7DEB783 -:104C600028970FB6F894DEBF0FBECDBF9E838D830D -:104C7000DB01CD90DD90ED90FC9080910714909138 -:104C80000814A0910914B0910A1489839A83AB8304 -:104C9000BC839C01AD01C701B6010F94F6242B0122 -:104CA0003C01AD81BE818D909D90AD90BC90809176 -:104CB000031490910414A0910514B09106148D83EF -:104CC0009E83AF83B88727E137EB41ED58EBC301F3 -:104CD000B2010F94572787FD4FC023E030E04BE926 -:104CE00053E4C301B2010F94011E18160CF444C022 -:104CF0002D813E814F815885C501B4010F94F62462 -:104D00002B013C0127E137EB41ED58EB0F9457277E -:104D100087FD32C023E030E84DE953E4C301B2011E -:104D20000F94011E181644F120E030E0A9016D81B6 -:104D30007E818F8198850F94F7242B013C0120E020 -:104D400030E040E450E40F94011E87FF05C0412C81 -:104D5000512C30E4632E762C27E137EB41ED58E3FC -:104D6000C301B2010F94F6249B01AC01C501B4014B -:104D70000F94572787FF02C0198281C020E030E8D6 -:104D80004DE953E46D817E818F8198850F94F724DE -:104D90002B013C0120E030E84BE953E40F94572706 -:104DA00018163CF4412C20E8522E2BE9622E23E405 -:104DB000722E27E137EB41ED58E3C301B2010F94A6 -:104DC000F7249B01AC01C501B4010F94011E181614 -:104DD0009CF220E030E0A90169817A818B819C817D -:104DE0000F94F7244B015C0120E030E040E450E4F4 -:104DF0000F94011E87FF05C0812C912C90E4A92EF1 -:104E0000BA2C27E137EB41ED58E3C501B4010F940B -:104E1000F6249B01AC01C701B6010F94572787FD0B -:104E2000ABCF20E030E04BE953E469817A818B819C -:104E30009C810F94F7244B015C0120E030E849E9A4 -:104E400053E40F94572718163CF4812C80E8982ED1 -:104E500089E9A82E83E4B82E27E137EB41ED58E32A -:104E6000C501B4010F94F7249B01AC0191E0998333 -:104E7000C701B6010F94011E18160CF47DCF89816D -:104E800028960FB6F894DEBF0FBECDBFDF91CF914D -:104E9000FF90EF90DF90CF90BF90AF909F908F905A -:104EA0007F906F905F904F900895CF93DF93EB01C9 -:104EB0000E94EE93882321F0DF91CF910C946A93A6 -:104EC000CE01DF91CF910895CF93C62F0E94EE932C -:104ED000882319F0CF910C9446938C2FCF9108958D -:104EE0002F923F924F925F926F927F928F929F92FA -:104EF000AF92BF92CF92DF92EF92FF920F931F93E8 -:104F0000CF93DF93CDB7DEB762970FB6F894DEBFCD -:104F10000FBECDBF83E50E94A593882349F00E9470 -:104F20005A93182F811106C080E00F94C20602C068 -:104F3000109129188091111890911218A0911318AE -:104F4000B091141889839A83AB83BC838091151820 -:104F500090911618A0911718B09118188D839E8300 -:104F6000AF83B8878091191890911A18A0911B18D7 -:104F7000B0911C1889879A87AB87BC8786E50E9409 -:104F8000A593682E8091631390916413892B09F483 -:104F9000B1C083E40E94A593882309F4B6C00E949F -:104FA0006E931B012C01712C812C68EC962E72ECF7 -:104FB000A72EB12CC12C28EC2F8732E4388B85E04A -:104FC0008D879D8591509D879F3FD9F1E5E0EE87C4 -:104FD00035E0399F900111243A8B298B3E85315061 -:104FE0003E873F3F71F3E989FA89E30FF11DEE0F28 -:104FF000FF1FEE0FFF1FE159FC4ED080E180F280D1 -:1050000003812B2D3C2D4F8558896D2D7E2D8F2DA5 -:10501000902F0F94011E87FF04C0BD2CCE2CFF865D -:10502000088B2D2D3E2D4F2D502F672D782D892D3E -:105030009A2D0F94011E87FFD1CF7D2C4701A02E02 -:10504000CDCF272D382D492D5A2D6B2D7C2D8F85B9 -:1050500098890F94F72420E030E040E05FE30F945C -:10506000671EA20191010F94F7241B012C012DEB67 -:1050700037E346E855EB0F94572787FD0AC02DEB21 -:1050800037E346E855E3C201B1010F94011E18163B -:10509000E4F580E00F94C20605E045E0C42E01501F -:1050A000A0F135E0D32EC09E50011124DA949FEF79 -:1050B000D916A9F37501ED0CF11CC701880F991FD2 -:1050C000880F991FFC01E159FC4E7F01A20191015B -:1050D00060817181828193810F94F6249B01AC01E0 -:1050E000F70160837183828393836D2D802F0E94EB -:1050F000D2CEDCCF111102C0662089F00F94350AA0 -:1051000086E593E20F944C0916C0662041F0809129 -:10511000631390916413892B11F00F945B098AE556 -:105120000E94A593882321F00E946E930F94D40DC2 -:10513000812F0F94C206112351F0809129188111FB -:1051400006C00F94310A87E393E20F944C090F9441 -:10515000350A89E293E20F944C0980912918811154 -:1051600003C08AEF9CE002C08EEF9CE00F944C09D4 -:105170008AE00E94AE520F94350A8CE193E20F94BC -:105180004C09C0902A18D0902B18E0902C18F09061 -:105190002D1820E030E0A901C701B6010F94572770 -:1051A000181644F442E0C701B6010E943E530E9423 -:1051B000B35304C087E193E20F944C094CE050E0F4 -:1051C00061E178E1CE0101960F941628892BD1F088 -:1051D00062960FB6F894DEBF0FBECDBFDF91CF91C0 -:1051E0001F910F91FF90EF90DF90CF90BF90AF9005 -:1051F0009F908F907F906F905F904F903F902F90F7 -:105200000C9481C462960FB6F894DEBF0FBECDBF7A -:10521000DF91CF911F910F91FF90EF90DF90CF9092 -:10522000BF90AF909F908F907F906F905F904F90C6 -:105230003F902F9008952F923F924F925F926F92DE -:105240007F928F929F92AF92BF92CF92DF92EF9216 -:10525000FF920F931F93CF93DF9300D01F921F9263 -:10526000CDB7DEB77C018B016A011901809011185E -:1052700090901218A0901318B0901418A5019401E2 -:10528000FC0160817181828193810F94011EF1E0A4 -:10529000FD83811112C0209115183091161840918C -:1052A000171850911818F8016081718182819381DB -:1052B0000F94011E811101C01D82F60140805180B2 -:1052C000628073802091310230913202409133022A -:1052D00050913402C301B2010F94011E882309F4D6 -:1052E00055C0409231025092320260923302709265 -:1052F000340220E030E040E05FE36091D410709130 -:10530000D5108091D6109091D7100F94671E6983A5 -:105310007A838B839C838092E7139092E813A09208 -:10532000E913B092EA138091151890911618A09184 -:105330001718B09118188093EB139093EC13A09367 -:10534000ED13B093EE13F60180819181A281B381B8 -:105350008093EF139093F013A093F113B093F21393 -:1053600080911D1890911E18A0911F18B0912018BF -:105370008093F3139093F413A093F513B093F61363 -:10538000CE0101960E9466910E942C93FD81F1113D -:105390000FC020E030E040EC5FE36091D8107091E6 -:1053A000D9108091DA109091DB100F94F12504C090 -:1053B00060E070E080EA91E469837A838B839C8368 -:1053C000F70180819181A281B3818093E71390934B -:1053D000E813A093E913B093EA13F8018081918157 -:1053E000A281B3818093EB139093EC13A093ED1300 -:1053F000B093EE13F101208131814281538160919C -:10540000F3137091F4138091F5139091F6130F94A8 -:10541000F7246093F3137093F4138093F513909330 -:10542000F613CE0101960E9466910E942C930F9074 -:105430000F900F900F900F90DF91CF911F910F91D0 -:10544000FF90EF90DF90CF90BF90AF909F908F90A4 -:105450007F906F905F904F903F902F9008952F9284 -:105460003F924F925F926F927F928F929F92AF92F4 -:10547000BF92CF92DF92EF92FF920F931F93CF9341 -:10548000DF93CDB7DEB7C355D1090FB6F894DEBFB1 -:105490000FBECDBF86E093E20F944C090E94BB7C07 -:1054A00081110C94DAB284E50E94EE93882329F0EE -:1054B0000E946A9381110E948B6C80E090E0A0E8CA -:1054C000BFE38093DF139093E013A093E113B093B5 -:1054D000E2138093E3139093E413A093E513B09346 -:1054E000E6138DEC9CECACE4BEE38093DB1390936D -:1054F000DC13A093DD13B093DE1380E090E0A0E214 -:10550000B1E48093451290934612A0934712B09352 -:1055100048128CE390E090934412809343128DECF8 -:1055200090E09093421280934112109240124AE907 -:1055300059E969E97EE38FE40E9400D06BAF7CAF4C -:105540008DAF9EAF60E083E40E94FB9360968FAFC7 -:10555000609760E08BE40E94FB9361968FAF619748 -:1055600082E40E94EE938823C9F00E946E930F9408 -:10557000632670934412609343126115710571F0B4 -:10558000685271096536710548F06CE870E088ED85 -:1055900092E20F94110A83ED92E2AEC18CE40E9474 -:1055A000EE93882301F10E946E936B017C0160935E -:1055B000DB137093DC138093DD139093DE1320E0F4 -:1055C00030E0A9010F94572787FD0AC020E030E0A2 -:1055D00040E050E4C701B6010F94011E18161CF4F8 -:1055E0008BEA92E289C181E50E94A593882351F15B -:1055F0008091961290919712892B09F10E946E93D7 -:105600006B017C016093E3137093E4138093E513C3 -:105610009093E6132DEC3CEC4CE45DE30F9457279C -:1056200087FD0AC020E030E040E751E4C701B60141 -:105630000F94011E181634F48AE792E25DC18FE4DC -:1056400092E25AC183E50E94EE938823C9F00E943A -:105650006E934B015C012DEC3CEC4CEC5DE30F9444 -:10566000572787FD0AC020E030E040E050E4C50144 -:10567000B4010F94011E181654F488E292E23CC162 -:105680007DEC872E7CEC972EA92C7EE3B72E80E54F -:105690000E94A593882371F18091961290919712A0 -:1056A000892B19F480EF91E227C1809140128F5F1E -:1056B000809340120E946E936B017C0160934512AF -:1056C00070934612809347129093481220E030E086 -:1056D000A9010F94572787FD0AC020E030E048EC6D -:1056E00051E4C701B6010F94011E18161CF488EC92 -:1056F00091E202C186E40E94EE938823C9F00E94E1 -:105700006E936B017C0120E030E040E85FE30F9492 -:10571000572787FD0AC020E030E040E850E4C70189 -:10572000B6010F94011E18164CF48FE991E2E4C003 -:10573000C12CD12C60EEE62E6FE3F62EA701960168 -:10574000C701B6010F94671E9B01AC0160E070E0D9 -:1057500084E490E40F94F1252091DF133091E0135D -:105760004091E1135091E2130F94671E2B013C010D -:10577000A5019401C501B4010F94671EA70196010C -:105780000F94671E2CEE31E548EB5DE30F94F12595 -:105790009B01AC01C301B2010F94671E6093DF133C -:1057A0007093E0138093E1139093E21388E40E94D6 -:1057B000EE93882381F00E946E930F94632670937A -:1057C000421260934112655A71096838710518F0E8 -:1057D00081E791E291C085E50E94A5938823F1F0CD -:1057E0000F940601611571058105910511F00F9463 -:1057F00092198091961290919712892B19F00E941C -:105800006E9304C060E070E088E492E46093FC1161 -:105810007093FD118093FE119093FF1182E50E9419 -:10582000A593811103C08DE391E266C08091961229 -:1058300090919712892B61F00E946A932F969FAFE7 -:105840008EAF2F97181619064CF089E091E254C0DC -:105850002AE130E02F963FAF2EAF2F9788E50E94C8 -:10586000EE93882369F00E946E932091F713309194 -:10587000F8134091F9135091FA130F94F62408C0CD -:10588000609111187091121880911318909114184A -:105890006093F8117093F9118093FA119093FB11B2 -:1058A00089E50E94EE93882379F00E946E932091FF -:1058B000FB133091FC134091FD135091FE130F9494 -:1058C000F624AB01BC0108C0409115185091161880 -:1058D00060911718709118184093F4115093F511B6 -:1058E0006093F6117093F71188EF91E10E94E1A5A2 -:1058F000811105C08FED90E20F944C095BC684E4E2 -:105900000E94A59391E089270F94C20620E030E021 -:1059100040EA50E46091191870911A1880911B1890 -:1059200090911C180F94011E87FF1CC0198A1A8AB7 -:105930001B8A1C8A80E090E0A0EAB0E489839A8305 -:10594000AB83BC83BE016F5E7F4FCE0101960E9488 -:10595000A3C280E1E7EEF3E1A1E1B8E101900D928D -:105960008A95E1F73091011162963FAF62971092EC -:1059700001110E94CE8E8EEB90E20F944C09809123 -:105980004312909144128A3191056CF48091411236 -:10599000909142120E94B4DF61E080E00E94C0D981 -:1059A000811109C05AC50E941E9381E00E9442D80D -:1059B0008111ECCF52C510921D1810921E18109232 -:1059C0001F18109220188DE198E10E94748C80912C -:1059D00040128823B1F10E942C932091F31330914F -:1059E000F4134091F5135091F613609145127091A4 -:1059F000461280914712909148120F94F7246093B9 -:105A0000F3137093F4138093F5139093F61320E03F -:105A100030E040E751E46091D8107091D910809146 -:105A2000DA109091DB100F94F12569837A838B83D0 -:105A30009C83CE0101960E9466910E942C930E9445 -:105A40005AFD80E2E4EDF1E1DF01282F1D922A9555 -:105A5000E9F7E0E2F2E1DF01282F1D922A95E9F74C -:105A6000E0E0F2E1DF011D928A95E9F70E942C93B4 -:105A70008091DB139091DC13A091DD13B091DE13C4 -:105A80008093EF139093F013A093F113B093F2135C -:105A900019821A821B821C829E012F5F3F4F4FEE9C -:105AA00053E16BEE73E187EE93E10E941BA99E0127 -:105AB000255C3F4F4FEE53E16BEE73E187EE93E1D0 -:105AC0000E941BA96096BFAD6097BB2329F065E1DA -:105AD00078E181E198E104C064EF71E188EF91E140 -:105AE0000E948E91298F3A8F4B8F5C8F6D8F7E8FA6 -:105AF0003FAF2D962FAF2D972D96EFAD2D97E7FD4C -:105B000095C4FFADF7FD92C42091631330916413E7 -:105B10004E2F4203B001439F700D11248091591301 -:105B200090915A13680F791F072E000C880B990B60 -:105B30000F94081E2B013C01CB01D3018FAB98AF12 -:105B4000A9AFBAAF20916513309166134FAD4203F0 -:105B5000B001439F700D112480915B1390915C13F1 -:105B6000680F791F072E000C880B990B0F94081EE5 -:105B7000162F072FF82EE92E462F572F682F792F33 -:105B8000CE01C7960E94E1A5882309F453C420E002 -:105B900030E040EA50E4B201C3010F94F724D62E5E -:105BA000272E382EC92E862F922DA32DBC2D8BABE0 -:105BB0009CABADABBEAB812F902FAF2DBE2D8FA771 -:105BC00098ABA9ABBAAB2D968FAD2D9781114AC07A -:105BD0009FAD91111FC020E030E040EA50E4612FFA -:105BE000702F8F2D9E2D0F94F72421966FAF219744 -:105BF00023967FAF239725968FAF259727969FAF44 -:105C00002797AFADD42C252C362CC72CAA2309F40A -:105C1000C6C023C0C201D3018BAB9CABADABBEAB46 -:105C200020E030E040EA50E4612F702F8F2D9E2D50 -:105C30000F94F6246FA778AB89AB9AABBFADB430A5 -:105C400054F221961FAF219723960FAF23972596E5 -:105C5000FFAE25972796EFAE2797EFADE4300CF413 -:105C600089C09DC02D96FFAD2D97F4300CF453C024 -:105C70002FAD24305CF020E030E040EA50E4B20187 -:105C8000C3010F94F624362F272F03C0342D252D62 -:105C9000C301432F522FBC014BAB5CAB6DAB7EAB52 -:105CA0003FAD31117EC420E030E040EA50E4B20163 -:105CB000C3010F94F624D62E272E382EC92E20E0AD -:105CC00030E040EA50E4612F702F8F2D9E2D0F940D -:105CD000F7246FA778AB89AB9AAB4FAD442309F497 -:105CE00052C020E030E040EA50E4612F702F8F2D49 -:105CF0009E2D0F94F62421966FAF219723967FAFA8 -:105D0000239725968FAF259727969FAF27978FAD1F -:105D1000843084F144C09FAD91110FC020E030E089 -:105D200040E251E46D2D722D832D9C2D0F94F624AD -:105D3000D62E272E382EC92E11C0AFADA430C4F1F7 -:105D400020E030E040E251E46D2D722D832D9C2D3A -:105D50000F94F6246BAB7CAB8DAB9EAB21961FAF43 -:105D6000219723960FAF23972596FFAE2597279669 -:105D7000EFAE279752ED852E53E5952E5BE7A52EC6 -:105D800051E4B52E29C021961FAF219723960FAF5E -:105D900023972596FFAE25972796EFAE279742EDDE -:105DA000842E43E5942E4BEFA42E40E4B42E14C071 -:105DB00021961FAF219723960FAF23972596FFAE0D -:105DC00025972796EFAE279732ED832E33E5932E56 -:105DD0003BEFA32E31E4B32E8BA99CA9ADA9BEA99C -:105DE0002C968CAF9DAFAEAFBFAF2C979C01AD0191 -:105DF000B201C3010F94F624698B7A8B8B8B9C8B39 -:105E00004FA458A869A87AA8A3019201612F702F06 -:105E10008F2D9E2D0F94F6246D8B7E8B8F8B988FFC -:105E20002C962CAD3DAD4EAD5FAD2C976091111809 -:105E30007091121880911318909114180F94F624F1 -:105E40002C966CAF7DAF8EAF9FAF2C97A3019201C4 -:105E50006091151870911618809117189091181864 -:105E60000F94F6242B013C018D2D922DA32DBC2DDA -:105E700089839A83AB83BC8321968FAD2197239628 -:105E80009FAD23972596AFAD25972796BFAD279752 -:105E90008D839E83AF83B8878091DB139091DC1351 -:105EA000A091DD13B091DE1389879A87AB87BC87F9 -:105EB0002DEC3CEC4CEC5CE3C501B4010F94671E87 -:105EC0002091DF133091E0134091E1135091E213E0 -:105ED0000F94671E20911D1830911E1840911F18B5 -:105EE000509120180F94F7246D877E878F87988BA9 -:105EF0002C962CAD3DAD4EAD5FAD2C97CA01B901CE -:105F00000F94671E6B017C01A3019201C301B201D2 -:105F10000F94671E9B01AC01C701B6010F94F724D3 -:105F200020E030E040E050E40F94572718160CF0C2 -:105F300047C00E945AFD1BA21CA21DA21EA220E067 -:105F400030E040E05FE36091191870911A18809179 -:105F50001B1890911C180F94F7246F8F78A389A3B6 -:105F60009AA39E012D5D3F4FAE01415E5F4F65E1FB -:105F700078E181E198E10E941BA91BA21CA21DA24D -:105F80001EA220E030E040E05FE36091DB137091FF -:105F9000DC138091DD139091DE130F94F7246F8F43 -:105FA00078A389A39AA39E012D5D3F4FAE01415E68 -:105FB0005F4FBE01615D7F4FCE01C3960E941BA95A -:105FC0001F8E18A219A21AA29E01215E3F4F4BED0F -:105FD00053E1BE01615D7F4FCE01C3960E941BA9B4 -:105FE0000E9486FD409063025090640260906502BA -:105FF00070906602E090D010F090D1100091D21015 -:106000001091D310A090CC10B090CD10C090CE10B5 -:10601000D090CF109501A601B701C8010F94572762 -:10602000181614F47501860120E030E040E251E4D6 -:10603000B701C8010F94F125609363027093640265 -:10604000809365029093660240E0BE016F5E7F4FD1 -:10605000CE0101960E9412B64092630250926402F1 -:1060600060926502709266020E942C93222423940F -:10607000312CD10111972896BFAFAEAF2897812C54 -:10608000912C5401839427960FAC279704C0880C59 -:10609000991CAA1CBB1C0A94D2F7412C512C32012A -:1060A0004394022C04C0440C551C661C771C0A94B3 -:1060B000D2F7482859286A287B2881E090E0FC0123 -:1060C00027960FAC279702C0EE0FFF1F0A94E2F746 -:1060D0002A96FFAFEEAF2A9720E032E126963FAF37 -:1060E0002EAF269784ED91E124969FAF8EAF249733 -:1060F000A0E2B2E12296BFAFAEAF2297C12CD12C65 -:106100002496EEADFFAD24976496FFAFEEAF649793 -:1061100080819181A0E0B0E084219521A621B72162 -:1061200084159505A605B70509F099C02296AEAD70 -:10613000BFAD22978D919C91A0E0B0E0882199217C -:10614000AA21BB21892B8A2B8B2B09F088C00091B7 -:10615000591310915A13E0906313F090641328962A -:106160002EAD3FAD28972E9DB0012F9D700D3E9D09 -:10617000700D1124600F711F6E5F7F4F072E000C92 -:10618000880B990B0F94081E6BA77CA78DA79EA761 -:106190002E9CB0012F9C700D3E9C700D1124600F41 -:1061A000711F62507109072E000C880B990B0F9418 -:1061B000081E6BA37CA38DA39EA34AE351E061E07C -:1061C00070E0CE018B960E94EE99809165139091BC -:1061D0006613C89EB001C99E700DD89E700D112423 -:1061E00080915B1390915C13680F791F1616170648 -:1061F0000CF09BC1663331E0730714F065E371E086 -:10620000072E000C880B990B0F94081E6F8F78A334 -:1062100089A39AA36FA378A789A79AA74AE351E015 -:1062200061E070E0CE0183960E94EE994FA158A5DF -:1062300069A57AA5CE018B960E94E1A581117AC14C -:106240002296AEADBFAD22978D919C9111972A9663 -:10625000EEADFFAD2A978E2B9F2B8D939C932496AA -:106260002EAD3FAD24972E5F3F4F24963FAF2EAF0C -:1062700024976496AEADBFAD64978D919C91A0E0DC -:10628000B0E088219921AA21BB21892B8A2B8B2B55 -:1062900009F4A9C0F90180819181A0E0B0E08821D2 -:1062A0009921AA21BB21892B8A2B8B2B09F49BC016 -:1062B0002696EEADFFAD269780819181A0E0B0E0FB -:1062C00088219921AA21BB21892B8A2B8B2B09F0AC -:1062D0008AC000915B1310915C13E0906513F090FD -:1062E0006613CE9CB001CF9C700DDE9C700D112406 -:1062F000600F711F6E5F7F4F072E000C880B990B8C -:106300000F94081E6FA378A789A79AA7C6010196C4 -:106310008E9DB0018F9D700D9E9D700D1124600F9C -:10632000711F62507109072E000C880B990B0F9496 -:10633000081E6F8F78A389A39AA38091631390910D -:10634000641328962EAD3FAD2897289FB001299F52 -:10635000700D389F700D11248091591390915A132C -:10636000680F791F161617060CF0FDC06B3331E06D -:10637000730714F06AE371E0072E000C880B990B89 -:106380000F94081E6BA37CA38DA39EA36BA77CA771 -:106390008DA79EA745E351E061E070E0CE018796AE -:1063A0000E94EE9945E351E061E070E0CE014F9626 -:1063B0000E94EE994FA158A569A57AA5CE018B96AA -:1063C0000E94E1A58111D4C02696AEADBFAD26973F -:1063D0008D919C9111972A96EEADFFAD2A978E2B49 -:1063E0009F2B8D939C93FFEFCF1ADF0A26962EAD3D -:1063F0003FAD26972E5F3F4F26963FAF2EAF269795 -:1064000022968EAD9FAD2297029622969FAF8EAFB9 -:10641000229795E0C916D10409F072CEAFEF2A1A7F -:106420003A0AB6E02B16310409F023CE8091981277 -:10643000809399122F96EEADFFAD2F9731972F963F -:10644000FFAFEEAF2F97EF2B41F02D96FFAD2D97BD -:10645000F7FD03C02FAD27FF35CB6FEF83ED90E243 -:106460000E94FAED0E945AFD80E090E0A0EAB0E4BC -:106470008093EF139093F013A093F113B093F21362 -:1064800019821A821B821C829E012F5F3F4F4FEEA2 -:1064900053E16BEE73E187EE93E10E941BA98091BB -:1064A000F8119091F911A091FA11B091FB1180931C -:1064B000E7139093E813A093E913B093EA13809144 -:1064C000F4119091F511A091F611B091F71180930C -:1064D000EB139093EC13A093ED13B093EE1319828A -:1064E0001A821B821C829E012F5F3F4F4FEE53E1A9 -:1064F0006BEE73E187EE93E10E941BA962963FADBC -:106500006297309301110E94CE8E61964FAD6197D4 -:10651000411150C010926E0910926D090E9416DF51 -:1065200080E090E00E94B4DF45C060E070E080E869 -:106530009FE36CCE4F8D58A169A17AA1CE018396BD -:106540000E94E1A5882309F47BCE9E01215E3F4F86 -:10655000AE014D5D5F4FBE01695D7F4FCE018B96F1 -:106560000E94B6FD6DCE60E070E080E89FE30ACF48 -:106570004F8D58A169A17AA1CE0183960E94E1A511 -:10658000882309F421CF9E01215E3F4FAE014D5D6E -:106590005F4FBE01695D7F4FCE018B960E94B6FDB5 -:1065A00013CFFFADD42C252C362CC72CF4300CF097 -:1065B00098CB85CBCD5ADF4F0FB6F894DEBF0FBE18 -:1065C000CDBFDF91CF911F910F91FF90EF90DF90A2 -:1065D000CF90BF90AF909F908F907F906F905F9083 -:1065E0004F903F902F90089563E00C94167DCF93C9 -:1065F000DF93E091230BF0E0E258F94E808188238D -:1066000009F447C08DE794E20F944C09C091230B25 -:1066100080E6C89FE0011124CD55D64F88818E3485 -:1066200079F480E20E94AE5289910E94AE52899123 -:1066300090ED980F9A30C8F38D32B9F38B32A9F3ED -:106640008AE794E20F944C0980919E1590919F15D2 -:10665000891B8F706FE070E0681B7109072E000CBA -:10666000880B990B0E94225387E794E20F944C0900 -:106670008091240B64E070E0681B7109072E000C08 -:10668000880B990B0E9422538AE0DF91CF910C94E2 -:10669000AE52DF91CF9108959091A009E92FF0E0DB -:1066A000E258F94E80839F5F943018F49093A009CC -:1066B00002C01092A0098091240B8F5F8093240B5D -:1066C0000895CF93DF93EC018881882349F18A30C4 -:1066D00039F18D3029F18B33F9F08091240B84301E -:1066E000D8F48091A00920E6829FC0011124BE0148 -:1066F0008D55964F0F94552880E00E944CB30F940F -:10670000350ABE018AE694E20F941E0A87E694E2F7 -:10671000DF91CF910D944C0980E00E94DA53D4CFE1 -:10672000DF91CF9108955F926F927F928F929F92A7 -:10673000AF92BF92CF92DF92EF92FF920F931F938F -:10674000CF93DF93CDB7DEB76DB67EB67C0100E0A8 -:1067500010E08DB69EB6F701E00FF11F5490C8010E -:1067600001965C01552029F09AE0591611F0850137 -:10677000F2CF8DB79EB78A199B090FB6F8949EBFCA -:106780000FBE8DBF01966C01A801B7010F943B1D90 -:10679000F601E00FF11F1082C6010E9461B355207F -:1067A00041F0EA0CFB1C0FB6F8949EBE0FBE8DBEE6 -:1067B000D0CF0FB6F8947EBE0FBE6DBEDF91CF91E5 -:1067C0001F910F91FF90EF90DF90CF90BF90AF900F -:1067D0009F908F907F906F905F900895CF92DF92FF -:1067E000EF92FF928AE50E94EE93882321F10E94A6 -:1067F0006E936B017C0120E030E040EA51EC0F9495 -:10680000572787FD13C020E030E040EA51E4C7017C -:10681000B6010F94011E18164CF0C0920B14D092C2 -:106820000C14E0920D14F0920E148FC00F94310AE4 -:106830008AE494E228C088E50E94EE93882349F117 -:106840000E946E936B017C0120E030E84DE953EC2F -:106850000F94572787FD13C020E030E84DE953E43B -:10686000C701B6010F94011E18164CF0C092031414 -:10687000D0920414E0920514F092061466C00F94AE -:10688000310A8AE294E2FF90EF90DF90CF900D946E -:106890004C0989E50E94EE93882321F10E946E93B2 -:1068A0006B017C0120E030E04BE953EC0F9457275B -:1068B00087FD13C020E030E04BE953E4C701B60187 -:1068C0000F94011E18164CF0C0920714D0920814B1 -:1068D000E0920914F0920A1438C00F94310A8AE049 -:1068E00094E2D1CF0F94350A4091031450910414CF -:1068F000609105147091061489EF93E20F94000AD9 -:106900008AE00E94AE5240910714509108146091A1 -:10691000091470910A1488EE93E20F94000A8AE039 -:106920000E94AE5240910B1450910C1460910D14C2 -:1069300070910E1487ED93E20F94000A8AE0FF90A5 -:10694000EF90DF90CF900C94AE52FF90EF90DF90DD -:10695000CF9008958F929F92AF92BF92CF92DF9285 -:10696000EF92FF920F931F93CF93109221131092E7 -:1069700020132FE320936A1210926912109268126A -:1069800010926412109265121092661210926712A1 -:106990009C01F90190812F5F3F4F9032D1F39E34DB -:1069A000C9F4818190ED980F9A3020F08D3211F06A -:1069B0008B3281F4DF0112969D012F5F3F4F8C9146 -:1069C00080538A3010F4D901F7CFFD0111968081F0 -:1069D0008032D9F3F093E20BE093E10B8F010F5F6C -:1069E0001F4FC0816AE270E0C8010F944A280097E7 -:1069F00031F0FC01319780818032E1F31182CD3496 -:106A000029F0C43519F0C73409F000C1F8018081BC -:106A10000F5F1F4F8032D1F380538A3008F0F6C0E9 -:106A2000C0936A1210926912109268124AE0809123 -:106A3000681290916912489F9001499F300D11246E -:106A400030936912209368123196DF0111978C916F -:106A5000082E000C990BC097820F931F9093691218 -:106A600080936812208120532A3008F3DF01319689 -:106A70002C912032D9F3CD34D1F48E31910591F09F -:106A80003CF48731910571F08C31910581F40AC095 -:106A90008537910564F08737910524F0803A23E02B -:106AA000920729F4B0932113A0932013AFC0109242 -:106AB0002113109220131091E10BC12CD12C7601DF -:106AC000C394FD0131964C91442309F49FC0413297 -:106AD000A1F4CD3491F48032910579F4F09321132F -:106AE000E093201363E270E0CF010F944A280097EF -:106AF00009F48CC0FC01108289C041544A3108F06D -:106B000059C0BF01FB0120816F5F7F4F2032D1F35D -:106B100030ED320F3A3010F12E3211F421810CC0D9 -:106B20002D3211F02B3259F4218130ED320F3A30F1 -:106B3000A8F02E3221F4228120532A3078F02091BF -:106B4000201330912113232B09F05DC09F012150A8 -:106B50003109309321132093201355C09F01A42F96 -:106B6000B0E04601570104C0880C991CAA1CBB1C4C -:106B70004A95D2F7B501A4018090641290906512F5 -:106B8000A0906612B0906712482959296A297B297A -:106B9000409364125093651260936612709367126B -:106BA0002115310511F0211B01C020E0A65BBD4E6F -:106BB0002C930AC02091201330912113232B21F410 -:106BC000B0932113A0932013208121542A3110F473 -:106BD000DF0177CFAF01FA01DA012D912223C1F352 -:106BE00030ED320F3A3010F4AD01F5CF33ED320F06 -:106BF0003230D0F32B32C1F3FA014F5F5F4F208167 -:106C00002032D1F3E5CF20E030E0A9CFCF911F9122 -:106C10000F91FF90EF90DF90CF90BF90AF909F903B -:106C20008F9008952F923F924F925F926F927F9232 -:106C30008F929F92AF92BF92CF92DF92EF92FF928C -:106C40000F931F93CF93DF93CDB7DEB7C454D10911 -:106C50000FB6F894DEBF0FBECDBF9AA789A77CAB55 -:106C60006BAB142FDB018D909D90AD90BC90139772 -:106C70002401350177FA709477F870941496CD90CA -:106C8000DD90ED90FC901797A701960150582D8B41 -:106C90003E8B4F8B588FA3019201C301B2010F9419 -:106CA000671E6D8F7E8F8F8F98A32D893E894F89A8 -:106CB000588DCA01B9010F94671E9B01AC016D8DFF -:106CC0007E8D8F8D98A10F94F7240F94A5276DAB1F -:106CD0007EAB8FAB98AF8091111890911218A09154 -:106CE0001318B09114188D8F9E8FAF8FB8A39C018D -:106CF000AD01C501B4010F94F72469AF7AAF8BAF32 -:106D00009CAF20911518309116184091171850918A -:106D100018182DA33EA34FA358A7C701B6010F947F -:106D2000F72421966CAF7DAF8EAF9FAF2197A9A5B9 -:106D3000BAA58D919D910D90BC91A02D89A39AA388 -:106D4000ABA3BCA329AD3AAD4BAD5CADBC01CD014D -:106D50000F94F6246B017C01A9A5BAA514962D9178 -:106D60003D914D915C9117972BA73CA74DA75EA72E -:106D700021962CAD3DAD4EAD5FAD21976BA57CA5A9 -:106D80008DA59EA50F94F6244B015C012091191846 -:106D900030911A1840911B1850911C1825962CAF51 -:106DA0003DAF4EAF5FAF2597A9A5BAA518966D91D7 -:106DB0007D918D919C911B970F94F624698F7A8F0A -:106DC0008B8F9C8FA7019601C301B2010F94671EA0 -:106DD0006FA778AB89AB9AABA50194016D897E89C9 -:106DE0008F89988D0F94671E9B01AC016FA578A9C0 -:106DF00089A99AA90F94F7246FA778AB89AB9AABAE -:106E0000A5019401C301B2010F94671E4B015C01FF -:106E1000A70196016D897E898F89988D0F94671ED1 -:106E20009B01AC01C501B4010F94F6242FA538A92C -:106E300049A95AA90F9476256B017C0120E030E026 -:106E4000A9010F94011E87FF0AC02BED3FE049EC1A -:106E500050E4C701B6010F94F7246B017C012BEDC0 -:106E60003FE049EC50E4C701B6010F94F12520E062 -:106E700030E040EC51E40F94671E0F94D5250F9439 -:106E80006A261B01672B19F422242394312C112329 -:106E900051F02BED3FE049EC50E4C701B6010F94EF -:106EA000F6246B017C0120E030E0A901C701B601A6 -:106EB0000F94011E811123C029A13AA14BA15CA10D -:106EC0006D8D7E8D8F8D98A10F94011E811117C03D -:106ED0002BA53CA54DA55EA56DA17EA18FA198A572 -:106EE0000F94011E81110BC038E1232E312C4BED84 -:106EF000C42E4FE0D42E49ECE42E40E4F42E2DA90C -:106F00003EA94FA958ADC701B6010F94671E4B01AA -:106F10005C0120E030E0A901698D7A8D8B8D9C8D1C -:106F20000F94011E8823D9F0A5019401C501B40175 -:106F30000F94671E4B015C01298D3A8D4B8D5C8D42 -:106F4000CA01B9010F94671E9B01AC01C501B401D0 -:106F50000F94F7240F94A5274B015C010DC020E08E -:106F600030E0A901C501B4010F94572787FF04C081 -:106F7000B7FAB094B7F8B0942FE632E143E85AE399 -:106F8000C501B4010F94011E87FDF8C120911D18A1 -:106F900030911E1840911F185091201829A33AA330 -:106FA0004BA35CA3C501B4010F9499260F946A26E4 -:106FB0007EA36DA36215730510F43EA22DA2ADA1B0 -:106FC000BEA1BD0180E090E00F94061E4B015C0164 -:106FD0009B01AC01C701B6010F94F1256D8F7E8F27 -:106FE0008F8F98A3A5019401698D7A8D8B8D9C8DCF -:106FF0000F94F1256DAB7EAB8FAB98AF29A13AA171 -:107000004BA15CA1E9A5FAA5648575858685978560 -:107010000F94F624A50194010F94F1256FA778AB86 -:1070200089AB9AAB2D8D3E8D4F8D58A1CA01B90108 -:107030000F94671E20E030E040E05FE30F94671E8E -:107040009B01AC0160E070E080E89FE30F94F624C0 -:107050006BA77CA78DA79EA725962CAD3DAD4EAD09 -:107060005FAD259729873A874B875C8789A19AA1CD -:10707000ABA1BCA18D879E87AF87B88B60914E0274 -:1070800070914F02072E000C880B990B0F94081E6D -:107090002091630230916402409165025091660232 -:1070A0000F94671E2AE037ED43E25CE30F94671EFE -:1070B000698B7A8B8B8B9C8B0F9406019B01AC01A7 -:1070C00028533F4F4F4F5F4F29A33AA34BA35CA3D5 -:1070D00022242394312C39E1398F4DA15EA124164D -:1070E000350608F01FC10E946B9A0F940601DC015F -:1070F000CB0129A13AA14BA15CA1821B930BA40B4C -:10710000B50BB7FD0FC00F9406019B01AC012853CE -:107110003F4F4F4F5F4F29A33AA34BA35CA380E09F -:107120000E94DA53398D3150398F3323E9F12BA581 -:107130003CA54DA55EA56D897E898F89988D0F949C -:10714000671E6B017C012D8D3E8D4F8D58A1C301B3 -:10715000B2010F94671EA70196010F94F7246B01EB -:107160007C012BA53CA54DA55EA5C301B2010F94E2 -:10717000671E4B015C012D8D3E8D4F8D58A16D8991 -:107180007E898F89988D0F94671E9B01AC01C50184 -:10719000B4010F94F6242B013C01C601D7018D8B5D -:1071A0009E8BAF8BB88F66C0B10180E090E00F94EA -:1071B000061E2D8D3E8D4F8D58A10F94671E6B01BD -:1071C0007C010F94EC256D8B7E8B8F8B988FC70184 -:1071D000B6010F9497274B015C01ABA9BCA9CD90D8 -:1071E000DD90ED90FC901397F7FAF094F7F8F09497 -:1071F00014962D913D914D915C911797298F3A8F5F -:107200004B8F5C8FA70196016D897E898F89988D40 -:107210000F94671E2B013C01298D3A8D4B8D5C8D9F -:10722000C501B4010F94671E9B01AC01C301B201FB -:107230000F94F7242B013C01A7019601C501B4016D -:107240000F94671E6B017C01298D3A8D4B8D5C8DEF -:107250006D897E898F89988D0F94671E9B01AC0183 -:10726000C701B6010F94F6246D8B7E8B8F8B988FA0 -:10727000B9E1B98F29AD3AAD4BAD5CADC301B201F7 -:107280000F94F72469837A838B839C8321962CAD9A -:107290003DAD4EAD5FAD21976D897E898F89988D0B -:1072A0000F94F7246D837E838F8398872DA93EA941 -:1072B0004FA958AD69857A858B859C850F94F724F5 -:1072C00069877A878B879C872FA538A949A95AA9EE -:1072D0006D857E858F8598890F94F7246D877E87CD -:1072E0008F87988BCE0101960E9426BEC12CD12C8F -:1072F00090E8E92E9FE3F92E8E010F5E1F4F9E014D -:10730000235F3F4FAE01475F5F4FBE016B5F7F4F13 -:10731000CE0101960E94C17B882321F0EFEF2E1A47 -:107320003E0ADBCE80E1E9A5FAA5DE0111960190C7 -:107330000D928A95E1F7CE0101960E9426BEC12CDE -:10734000D12C80E8E82E8FE3F82E8E010F5E1F4FC0 -:107350009E01235F3F4FAE01475F5F4FBE016B5FF2 -:107360007F4FCE0101960E94C17B80E1FE013196E4 -:10737000A1E1B8E101900D928A95E1F7CC5BDF4F76 -:107380000FB6F894DEBF0FBECDBFDF91CF911F9136 -:107390000F91FF90EF90DF90CF90BF90AF909F90B4 -:1073A0008F907F906F905F904F903F902F900895B7 -:1073B000CF92DF92EF92FF921F93CF93DF93C09112 -:1073C0002013D091211380E50E94EE93882359F079 -:1073D0000E941ECD6B017C0111E0672B682B692B8D -:1073E00031F410E004C010E0C12CD12C760183E50B -:1073F0000E94EE93882309F465C00E946E9320E0FA -:1074000030E04AE754E40F94671E0F946A266B013C -:107410007C01111109C0672B682B692B29F4209777 -:1074200019F08881811102C010E001C011E00E94B2 -:10743000638C112311F0CE0102C088E597E00E9411 -:10744000D6CFC091491283E08093491281E08093A6 -:107450004A134CEB53E265EC73E282E00E94CA945B -:107460008AEA93E20E94D6CFC114D104E104F10468 -:10747000A9F00F940601C60ED71EE81EF91E0F9440 -:107480000601DC01CB018C199D09AE09BF09B7FFCC -:107490000DC080914A13811118C008C080914A1311 -:1074A000882321F080E00E94DA53F8CF10924A132B -:1074B000C0934912DF91CF911F91FF90EF90DF9021 -:1074C000CF9008951111B0CFAACF80E00E94DA5377 -:1074D000D6CF0F931F93CF938C01C62F85EA93E2EB -:1074E0000F944C09C8010F944C098AE30E94AE52D4 -:1074F0006C2F70E080E090E00E942253CF911F91AA -:107500000F910C94B353EF92FF921F93CF93DF939D -:10751000CDB7DEB7C454D1090FB6F894DEBF0FBEA5 -:10752000CDBF84E40E94A593882309F44DC18BE963 -:1075300093E20F944C092091F7133091F813409186 -:10754000F9135091FA1360911118709112188091EB -:107550001318909114180F94F72469AF7AAF8BAF7A -:107560009CAF2091FB133091FC134091FD1350917F -:10757000FE1360911518709116188091171890914C -:1075800018180F94F72421966CAF7DAF8EAF9FAF84 -:1075900021972091FF1330910014409101145091D4 -:1075A00002146091191870911A1880911B1890910B -:1075B0001C180F94F72425966CAF7DAF8EAF9FAF4C -:1075C0002597CE01C9960E94F4B282E993E20F9406 -:1075D0004C0981E198E10E94F4B2809111189091D8 -:1075E0001218A0911318B09114188DA79EA7AFA7D9 -:1075F000B8AB8091151890911618A0911718B091FA -:10760000181889AB9AABABABBCAB809119189091B1 -:107610001A18A0911B18B0911C188DAB9EABAFAB84 -:10762000B8AF89E893E20F944C09AE014B5C5F4F11 -:10763000BE016F5C7F4FCE018D960E94588ECE01A9 -:107640008D960E94F4B280E893E20F944C098DA5C8 -:107650009EA5AFA5B8A989A39AA3ABA3BCA389A9EA -:107660009AA9ABA9BCA98DA39EA3AFA3B8A78DA9C6 -:107670009EA9AFA9B8AD89A79AA7ABA7BCA7CE0111 -:1076800081960E94218ECE0181960E94F4B20E94C2 -:10769000638C87E793E20F944C098DEDE82E82E02E -:1076A000F82E10E080E20E94AE52F70181917F0136 -:1076B0000E94AE528AE30E94AE52812F0E949A9E8F -:1076C0000E9422531F5F143069F78AE00E94AE5275 -:1076D0008EE693E20F944C090E94C2C280916B1215 -:1076E00090916C12A0916D12B0916E12898B9A8B51 -:1076F000AB8BBC8B80916F1290917012A091711224 -:10770000B09172128D8B9E8BAF8BB88F809173125C -:1077100090917412A0917512B0917612898F9A8F00 -:10772000AB8FBC8F83E00E948E8D6D8F7E8F8F8F8D -:1077300098A364E0CE0141960E94167D2DA53EA53A -:107740004FA558A969897A898B899C890F94F62459 -:1077500069837A838B839C8329A93AA94BA95CA965 -:107760006D897E898F89988D0F94F6246D837E8331 -:107770008F8398872DA93EA94FA958AD698D7A8D21 -:107780008B8D9C8D0F94F62469877A878B879C87D5 -:1077900020911D1830911E1840911F1850912018EB -:1077A0006D8D7E8D8F8D98A10F94F6246D877E87C9 -:1077B0008F87988B85E693E20F944C0964E0CE01A5 -:1077C00001960E94167D04C00E94638C0E9481C4B1 -:1077D000CC5BDF4F0FB6F894DEBF0FBECDBFDF919D -:1077E000CF911F91FF90EF9008954F925F926F920B -:1077F0007F928F929F92AF92BF92CF92DF92EF9241 -:10780000FF920F931F93CF93DF93CDB7DEB77C0129 -:107810004DB65EB66090E10B7090E20B8DB69EB6F1 -:107820006AE070E0C7010F94441D6C01009721F0DD -:107830008C010E191F0904C0C7010F944F1D8C0144 -:10784000C80101962DB73EB7281B390B0FB6F89427 -:107850003EBF0FBE2DBF8DB79EB701965C01A8013C -:10786000B7010F94701DF501E00FF11F1082C501E3 -:107870000E94AAB481E00E945039C114D10451F091 -:1078800076019FEFE91AF90A0FB6F8949EBE0FBE73 -:107890008DBEC4CF0FB6F8949EBE0FBE8DBEC30181 -:1078A0000E94AAB40FB6F8945EBE0FBE4DBEDF9123 -:1078B000CF911F910F91FF90EF90DF90CF90BF90ED -:1078C000AF909F908F907F906F905F904F900895B2 -:1078D000CF93DF93C091230B80E6C89FE001112472 -:1078E000CD55D64F8091A71080FF05C00F94350A63 -:1078F000CE010E94B953CE010E94AAB480E0DF916C -:10790000CF910C9450394F925F926F927F928F92E9 -:107910009F92AF92BF92CF92DF92EF92FF920F931E -:107920001F93CF93DF93CDB7DEB768970FB6F89468 -:10793000DEBF0FBECDBFC82E2A013B015901E82E84 -:10794000F12CF701E958FA4DE491992493941E160D -:107950000CF4912CDD24D39420E030E0A901C30184 -:10796000B2010F94572718160CF0D12CD92461F0CE -:1079700082E0C81209C081E00E94837C69E170E066 -:1079800080E090E00F941D0980E00E948E8D698355 -:107990007A838B839C8381E00E948E8D6D837E83AE -:1079A0008F83988782E00E948E8D69877A878B8784 -:1079B0009C8783E00E948E8D6D877E878F87988B52 -:1079C000EE0CFF1CEE0CFF1C88248394912C8C0E73 -:1079D0009D1E8E0C9F1CF401108211821282138254 -:1079E0009E01235F3F4FAE01475F5F4FBE016B5F5C -:1079F0007F4FCE0101960E94B98CF40140825182E2 -:107A0000628273821D8A1E8A1F8A188E20E030E0EF -:107A1000A901B801C5010F94011E811109C0F70128 -:107A2000E25DFA4D85919591A591B4918C015D012E -:107A3000C801D501898B9A8BAB8BBC8B8091A5102B -:107A40009091A610892B91F4CE0145967C018E0170 -:107A50000F5E1F4F9E01235F3F4FAE01475F5F4F99 -:107A6000BE016B5F7F4F44970E94A06C0E94638CA5 -:107A7000DD2041F092E0C91203C080E00E94837CC7 -:107A80000E947EF568960FB6F894DEBF0FBECDBF9C -:107A9000DF91CF911F910F91FF90EF90DF90CF90EA -:107AA000BF90AF909F908F907F906F905F904F901E -:107AB0000895CF92DF92EF92FF920F931F93C12C04 -:107AC000D12C76018C012DE138E149E158E165E1E5 -:107AD00078E181E198E10E94C17B1F910F91FF90B5 -:107AE000EF90DF90CF900895CF93C82FCB010097F0 -:107AF00011F00F944C098FE894E20F944C09C111D6 -:107B000003C080E894E202C085E894E20F944C0937 -:107B10008AE0CF910C94AE528F929F92AF92BF9217 -:107B2000CF92DF92EF92FF92CF93DF93EC018090A0 -:107B30002A1890902B18A0902C18B0902D1820E0A7 -:107B400030E0A901C501B4010F94011E882309F496 -:107B50004AC0C880D980EA80FB80A7019601C50190 -:107B6000B4010F94011E18160CF042C02091211888 -:107B7000309122184091231850912418C701B60162 -:107B80000F94011E882331F1C0922118D09222183F -:107B9000E0922318F092241820912518309126188D -:107BA0004091271850912818688179818A819B819A -:107BB0000F94671E9B01AC0160E070E080E89FE3DA -:107BC0000F94F624609350027093510280935202F6 -:107BD0009093530260915002709151028091520231 -:107BE0009091530208C060E070E080E89FE303C01A -:107BF00060E070E0CB01DF91CF91FF90EF90DF90DC -:107C0000CF90BF90AF909F908F900895CF93DF93C8 -:107C100024E0829FC0011124EC01C950DC4EFC011C -:107C2000EC56F64FDC01A958BD4E2D913D914D917A -:107C30005C9160817181828193810F94F7246883C4 -:107C400079838A839B83DF91CF910895CF92DF92CE -:107C5000EF92FF92CF93DF9320914D02222309F4FC -:107C600085C0EC01C0903502D0903602E09037021A -:107C7000F0903802288139814A815B81C701B601C1 -:107C80000F945727181624F4C882D982EA82FB82FF -:107C9000C0903902D0903A02E0903B02F0903C0252 -:107CA000288139814A815B81C701B6010F94011E89 -:107CB00087FF04C0C882D982EA82FB82C0903D025D -:107CC000D0903E02E0903F02F09040022C813D8136 -:107CD0004E815F81C701B6010F945727181624F40F -:107CE000CC82DD82EE82FF82C0904102D0904202BF -:107CF000E0904302F09044022C813D814E815F81EF -:107D0000C701B6010F94011E87FF04C0CC82DD823B -:107D1000EE82FF82C0904502D0904602E09047027A -:107D2000F0904802288539854A855B85C701B601F0 -:107D30000F945727181624F4C886D986EA86FB863E -:107D4000C0904902D0904A02E0904B02F0904C0261 -:107D5000288539854A855B85C701B6010F94011EC8 -:107D600087FF04C0C886D986EA86FB86DF91CF915B -:107D7000FF90EF90DF90CF9008952F923F924F9217 -:107D80005F926F927F928F929F92AF92BF92CF92AB -:107D9000DF92EF92FF920F931F93CF93DF93CDB7B4 -:107DA000DEB7E4970FB6F894DEBF0FBECDBF87EE07 -:107DB00093E10E9426BE8091A71083FD7DC0C090F4 -:107DC000F313D090F413E090F513F090F613209194 -:107DD0001D1830911E1840911F1850912018C7018E -:107DE000B6010F94011E882309F466C080910D0C22 -:107DF00081111FC06091120C7091130C8091140CB2 -:107E00009091150C0F9463262091190230911A025B -:107E10006217730774F4C0921D18D0921E18E09276 -:107E20001F18F09220180F94350A87E095E20F94FE -:107E30004C098090F3139090F413A090F513B09038 -:107E4000F61320911D1830911E1840911F18509163 -:107E50002018C501B4010F94F6246B017C0120E0C9 -:107E600030E0A9010F94572787FF04C0F7FAF09478 -:107E7000F7F8F09420911502309116024091170204 -:107E800050911802C701B6010F94671E20E030E040 -:107E90004AEF53E40F945727181674F480921D1874 -:107EA00090921E18A0921F18B09220180F94350AB5 -:107EB00088EE94E20F944C0980912918E0904E02CC -:107EC000F0904F02882309F180902A1890902B1887 -:107ED000A0902C18B0902D1820E030E0A901C50129 -:107EE000B4010F94011E882309F45BC02091EF13A5 -:107EF0003091F0134091F1135091F213C501B40188 -:107F00000F94572718160CF44CC0B701FF0C880BC0 -:107F1000990B0F94081E20916302309164024091E6 -:107F20006502509166020F94671E2AE037ED43E226 -:107F30005CE30F94671E69837A838B839C83C12CD7 -:107F4000D12C76018E010F5F1F4F23EF33E14FEEEF -:107F500053E16BEE73E187EE93E10E94C17B80E118 -:107F6000E7EEF3E1A1E1B8E101900D928A95E1F726 -:107F7000E4960FB6F894DEBF0FBECDBFDF91CF9170 -:107F80001F910F91FF90EF90DF90CF90BF90AF9037 -:107F90009F908F907F906F905F904F903F902F9029 -:107FA0000895B701FF0C880B990B0F94081E2091C0 -:107FB00063023091640240916502509166020F9411 -:107FC000671E2AE037ED43E25CE30F94671E69A366 -:107FD0007AA38BA39CA32091111830911218409181 -:107FE0001318509114186091E7137091E813809161 -:107FF000E9139091EA130F94F62469A77AA78BA747 -:108000009CA720911518309116184091171850917F -:1080100018186091EB137091EC138091ED1390910F -:10802000EE130F94F6242B013C0120E030E0A9016F -:1080300069A57AA58BA59CA50F94011E81110DC081 -:1080400020E030E0A901C301B2010F94011E8111AB -:1080500004C0C12CD12C7601E5C0209119183091B3 -:108060001A1840911B1850911C186091EF137091D1 -:10807000F0138091F1139091F2130F94F6246DA7F1 -:108080007EA78FA798AB20911D1830911E184091A4 -:108090001F18509120186091F3137091F413809180 -:1080A000F5139091F6130F94F6246DA37EA38FA37E -:1080B00098A729A53AA54BA55CA5CA01B9010F94BB -:1080C000671E6B017C01A3019201C301B2010F94F1 -:1080D000671E9B01AC01C701B6010F94F7246B0129 -:1080E0007C012DA53EA54FA558A9CA01B9010F9441 -:1080F000671E9B01AC01C701B6010F94F7240F94D2 -:10810000A5276B017C012DEB37E346E855E30F947F -:10811000011E87FF13C020E030E0A9016DA17EA100 -:108120008FA198A50F945727CDA0DEA0EFA0F8A4AB -:1081300087FF04C0F7FAF094F7F8F0942DEB37E3DB -:1081400046E855E3C701B6010F94011E87FD07CF2E -:1081500020E030E040EA51E4C701B6010F94F12578 -:108160000F946A261B01672B19F422242394312CC7 -:10817000B10180E090E00F94061E9B01AC0160E02D -:1081800070E080E89FE30F94F1254B015C019B01B7 -:10819000AC01C701B6010F94671E69AB7AAB8BAB1C -:1081A0009CABA501940169A57AA58BA59CA50F940C -:1081B000671E698B7A8B8B8B9C8BA5019401C30105 -:1081C000B2010F94671E6D8B7E8B8F8B988FA501EC -:1081D00094016DA57EA58FA598A90F94671E698F40 -:1081E0007A8F8B8F9C8FA50194016DA17EA18FA1A9 -:1081F00098A50F94671E6D8F7E8F8F8F98A380E157 -:10820000E1E1F8E1DE01119601900D928A95E1F726 -:108210009924939481E0281A310841F4C9A8DAA876 -:10822000EBA8FCA88E010F5D1F4F8FCE80918E12A0 -:10823000811112C00F940601DC01CB0188539F4FBE -:10824000AF4FBF4F80938A1290938B12A0938C12E2 -:10825000B0938D1290928E120E946B9A0F94060129 -:10826000C0908A12D0908B12E0908C12F0908D12F8 -:10827000DC01CB018C199D09AE09BF09B7FD13C004 -:108280000F940601DC01CB0188539F4FAF4FBF4FC6 -:1082900080938A1290938B12A0938C12B0938D12BC -:1082A00080E00E94DA536E0191E1C90ED11CFE01FB -:1082B00031967F015601F601219131914191519101 -:1082C0006F01F70160817181828193810F94F7249E -:1082D000F70161937193819391937F01AE16BF066D -:1082E00051F7C9A8DAA8EBA8FCA88E010F5D1F4FB3 -:1082F0009E01235F3F4FAE01475F5F4FBE016B5F43 -:108300007F4FCE0101960E94C17B811183CF86CF22 -:108310008091861290918712A0918812B091891253 -:108320008093630290936402A0936502B093660207 -:10833000809184129091851290934F0280934E0207 -:1083400008958091630290916402A0916502B091BA -:1083500066028093861290938712A0938812B0933E -:10836000891280914E0290914F02909385128093D2 -:10837000841284E690E090934F0280934E02089519 -:108380004F925F926F927F928F929F92AF92BF9225 -:10839000CF92DF92EF92FF920F931F93CF93DF93D1 -:1083A000CDB7DEB72C970FB6F894DEBF0FBECDBFAA -:1083B0002B013C0129873A874B875C87470158018D -:1083C000F601E080F1800281138120E030E0A90114 -:1083D000B701C8010F94011E81110BC0E6E3F5E25D -:1083E00085919591A591B491582F492F3A2F2B2F14 -:1083F00004C05E2D4F2D302F212F852F942FA32FBA -:10840000B22F89839A83AB83BC8320E030E0A9013B -:10841000B701C8010F94011E811108C0E0905F02EE -:10842000F09060020091610210916202C701D801D0 -:108430008D839E83AF83B887A5019401609119183D -:1084400070911A1880911B1890911C180F94011E9E -:1084500087FF0CC08092191890921A18A0921B18CE -:10846000B0921C18CE0101960E9459BD409211187D -:1084700050921218609213187092141889859A8578 -:10848000AB85BC858093151890931618A093171888 -:10849000B0931818CE0105960E9459BD2091191865 -:1084A00030911A1840911B1850911C18C501B40145 -:1084B0000F94011E87FF0CC08092191890921A1811 -:1084C000A0921B18B0921C18CE0101960E9459BDB3 -:1084D0000E94638C2C960FB6F894DEBF0FBECDBF02 -:1084E000DF91CF911F910F91FF90EF90DF90CF9090 -:1084F000BF90AF909F908F907F906F905F904F90C4 -:108500000895CF92DF92EF92FF920F931F936A012B -:10851000E0901918F0901A1800911B1810911C186F -:10852000FB012081318142815381FC016081718195 -:10853000828193810E94C0C11F910F91FF90EF90A3 -:10854000DF90CF900895CF92DF92EF92FF920F933A -:108550001F936B01FC01E080F18002811381E1E156 -:10856000F8E1248135814681578160817181828162 -:1085700093810E94C0C11F910F91FF90EF90DF90F7 -:10858000CF900895CF93DF9380E00E948E8DCBE64D -:10859000D2E1688379838A839B8381E00E948E8DF8 -:1085A0006C837D838E839F8382E00E948E8D68879B -:1085B00079878A879B87DF91CF9108951F93CF9307 -:1085C000DF93CDB7DEB760970FB6F894DEBF0FBE6E -:1085D000CDBF182F0E94C2C280916B1290916C1275 -:1085E000A0916D12B0916E1289839A83AB83BC8384 -:1085F00080916F1290917012A0917112B0917212CD -:108600008D839E83AF83B88780917312909174128B -:10861000A0917512B091761289879A87AB87BC8733 -:1086200080911D1890911E18A0911F18B0912018CC -:108630008D879E87AF87B88BCE0101960E94218ED1 -:108640001E3F51F480E1FE013196A1E1B8E10190B5 -:108650000D928A95E1F716C024E0129FC001112403 -:10866000FC01EF5EF74EA1E0B0E0AC0FBD1FA80F1C -:10867000B91F8D919D910D90BC91A02D8083918308 -:10868000A283B38360960FB6F894DEBF0FBECDBF52 -:10869000DF91CF911F9108950C94297C4F925F92A6 -:1086A0006F927F928F929F92AF92BF92CF92DF9202 -:1086B000EF92FF920F931F93CF93C82FE82EF12CC8 -:1086C000F701E958FA4DB490823049F481E00E94F4 -:1086D000BD89811106C10E94BA98811102C167014A -:1086E000CC0CDD1CCC0CDD1CF601E559FA4D459097 -:1086F0005590659074906B2DBB0C770B880B990B84 -:108700000F94081E4B015C0120E030E040EC5FE379 -:10871000C301B2010F94671EA50194010F94671E57 -:10872000AB01BC0100E010E098018C2F0E9483BCDB -:10873000C23009F0CAC00E946B98E0E070E060EAC5 -:1087400080E42E2F372F462F582FC501B4010F94E8 -:10875000671E4B015C0120E030E0A9010F94011E6F -:10876000882309F44EC0C23021F000E010E09801E7 -:1087700004C000E010E020E830E4B501A401705826 -:108780008C2F0E9483BCC23051F40E94BA98811190 -:10879000A8C0412C512C612C90E4792E21C0F70106 -:1087A000E45AFA4D6491611107C00F94350A8AE3C7 -:1087B00095E20F944C096AE0F601E25DFA4D4590AE -:1087C00055906590749070E080E090E00F94081EE2 -:1087D0009B01AC01C301B2010F94F1252B013C01B7 -:1087E000A5019401C501B4010F94F724AB01BC01AC -:1087F000930182018C2F0E9483BCC23011F40E942D -:108800006B9881E090E00C2E01C0880F0A94EAF783 -:1088100090911814982B9093181490919A0B892B7F -:1088200080939A0BF601EE5DFA4D85919591A59195 -:10883000B491F601EF5EF74E80839183A283B383F8 -:10884000C230D1F420910B1430910C1440910D14CE -:1088500050910E146091191870911A1880911B187C -:1088600090911C180F94F6246093191870931A189D -:1088700080931B1890931C181092171410921614C2 -:108880000E944CC3F601E951FC4ED601AF5EB74ED3 -:108890008D919D910D90BC91A02D80839183A28399 -:1088A000B383C230F1F480E0CF911F910F91FF901C -:1088B000EF90DF90CF90BF90AF909F908F907F9080 -:1088C0006F905F904F900C94BD89F601E15AFA4D7C -:1088D00085919591A591B491E82F792F6A2F8B2FCF -:1088E00030CFCF911F910F91FF90EF90DF90CF90FD -:1088F000BF90AF909F908F907F906F905F904F90C0 -:1089000008954F925F926F927F928F929F92AF9253 -:10891000BF92CF92DF92EF92FF922091F7133091A6 -:10892000F8134091F9135091FA1360911118709156 -:10893000121880911318909114180F94F724AB011A -:10894000BC0185EE94E20F94000A2091FB13309154 -:10895000FC134091FD135091FE1360911518709116 -:10896000161880911718909118180F94F724AB01DE -:10897000BC0181EE94E20F94000A2091FF13309124 -:1089800000144091011450910214609119187091D3 -:108990001A1880911B1890911C180F94F724AB01A2 -:1089A000BC018DED94E20F94000A40911D18509186 -:1089B0001E1860911F187091201889ED94E20F9491 -:1089C000000A80916F00982F927081FF05C08091FE -:1089D0006F008D7F80936F00409048115090491137 -:1089E00060904A1170904B1180904C1190904D11F5 -:1089F000A0904E11B0904F11C0905011D0905111D5 -:108A0000E0905211F0905311992329F080916F005A -:108A1000826080936F008FEC94E20F944C09C30145 -:108A2000B2010E9422538BEC94E20F944C09C501D1 -:108A3000B4010E94225387EC94E20F944C09C701C1 -:108A4000B6010E9422538AE0FF90EF90DF90CF9012 -:108A5000BF90AF909F908F907F906F905F904F905E -:108A60000C94AE5280919109811105C080919309B7 -:108A7000811101C0089580918312659B02C08160BD -:108A800001C08E7F809383129091030180918312A5 -:108A900091FF02C0826001C08D7F8093831280911C -:108AA00083124B9B02C0846001C08B7F8093831232 -:108AB00080913A1180FF10C08091920980FF0CC014 -:108AC0008091831280FF08C08091250B8160809384 -:108AD000250B80E00E94729E80913A11869580FF5E -:108AE00011C080919209869580FF0CC080918312FD -:108AF00081FF08C08091250B82608093250B81E067 -:108B00000E94729E80913A118695869580FF16C0CC -:108B1000809192098695869580FF10C08091930977 -:108B2000882361F08091831282FF08C08091250B19 -:108B300084608093250B82E00C94729E0895CF93FD -:108B4000DF9300D01F92CDB7DEB784EF91E0A0E0B5 -:108B5000B0E089839A83AB83BC83BE016F5F7F4F94 -:108B60008CE30E944B988DEA94E20F944C098CB1EF -:108B700067EA74E285FB882780F90E9474BD8091C2 -:108B8000030161EA74E2869581700E9474BD89B127 -:108B90006BE974E283FB882780F90E9474BD8CB175 -:108BA00062E974E2829581700E9474BD8EEE92E05B -:108BB000A0E0B0E04B9911C089839A83AB83BC835A -:108BC000BE016F5F7F4F8AE00E944B980F900F901D -:108BD0000F900F90DF91CF91089589839A83AB8393 -:108BE000BC83BE016F5F7F4F8AE5EECF8091910914 -:108BF000811104C080919309882331F062E070E014 -:108C000080E090E00D941D090895082E000C990B4A -:108C1000FC01E35AF74CE491EE2399F0F0E0EE0FFB -:108C2000FF1FED5BF74CA591B4912C91FC01ED5524 -:108C3000F74C8491822321E090E009F420E0822F18 -:108C4000089580E090E00895082E000C990BFC0137 -:108C5000E35AF74CE491F0E0EE0FFF1FE15FF74CB1 -:108C6000A591B4912C91FC01ED55F74CE491E223D0 -:108C700081E009F480E00895CF93DF93C82F81EF5E -:108C800099E20F944C090C2E000CDD0BFE01E35A07 -:108C9000F74C8491805C0E94AE52FE01ED55F74C7A -:108CA000E49180E3E13021F0E6958F5F8933D1F7DD -:108CB000DF91CF910C94AE520F931F93CF93DF931C -:108CC000CDB7DEB764970FB6F894DEBF0FBECDBF49 -:108CD000E82FF0E0E751F74CE4918E2F90E0FC0193 -:108CE0003197E231F10508F049C28827E155FF4F7D -:108CF0008F4F0D94EE2484B5807C09F43FC287B574 -:108D00001F928F9386EB98E29F938F938E010F5F54 -:108D10001F4F1F930F930F94991D0F900F900F905B -:108D20000F900F900F90F80181918F01811102C077 -:108D300081E025C20E94AE52F6CF84B5807309F45B -:108D40001DC288B51F928F938CEA98E29F938F93F0 -:108D50008E010F5F1F4F1F930F930F94991D0F905C -:108D60000F900F900F900F900F90F80181918F014D -:108D70008823F1F20E94AE52F8CF80918000807C6F -:108D800009F4FCC180918800909189009F938F9392 -:108D900082EA98E29F938F938E010F5F1F4F1F937C -:108DA0000F930F94991D0F900F900F900F900F90AD -:108DB0000F90F80181918F01882309F4B9CF0E94A7 -:108DC000AE52F7CF80918000807309F4D7C18091B3 -:108DD0008A0090918B009F938F9388E998E29F93EC -:108DE0008F938E010F5F1F4F1F930F930F94991D49 -:108DF0000F900F900F900F900F900F90F8018191AE -:108E00008F01882309F494CF0E94AE52F7CF80914E -:108E100080008C7009F4B2C180918C0090918D001B -:108E20009F938F938EE898E29F938F938E010F5FAD -:108E30001F4F1F930F930F94991D0F900F900F903A -:108E40000F900F900F90F80181918F01882309F402 -:108E50006FCF0E94AE52F7CF8091B000807C09F4B2 -:108E60008DC18091B3001F928F9384E898E29F9305 -:108E70008F938E010F5F1F4F1F930F930F94991DB8 -:108E80000F900F900F900F900F900F90F80181911D -:108E90008F01882309F44CCF0E94AE52F7CF809106 -:108EA000B000807309F46AC18091B4001F928F935F -:108EB0008AE798E29F938F938E010F5F1F4F1F9356 -:108EC0000F930F94991D0F900F900F900F900F908C -:108ED0000F90F80181918F01882309F429CF0E9416 -:108EE000AE52F7CF80919000807C09F447C1809109 -:108EF0009800909199009F938F9380E798E29F93B9 -:108F00008F938E010F5F1F4F1F930F930F94991D27 -:108F10000F900F900F900F900F900F90F80181918C -:108F20008F01882309F404CF0E94AE52F7CF8091BD -:108F30009000807309F422C180919A0090919B0067 -:108F40009F938F9386E698E29F938F938E010F5F96 -:108F50001F4F1F930F930F94991D0F900F900F9019 -:108F60000F900F900F90F80181918F01882309F4E1 -:108F7000DFCE0E94AE52F7CF809190008C7009F442 -:108F8000FDC080919C0090919D009F938F938CE5F4 -:108F900098E29F938F938E010F5F1F4F1F930F9344 -:108FA0000F94991D0F900F900F900F900F900F90AE -:108FB000F80181918F01882309F4BACE0E94AE5244 -:108FC000F7CF8091A000807C09F4D8C08091A800E0 -:108FD0009091A9009F938F9382E598E29F938F933E -:108FE0008E010F5F1F4F1F930F930F94991D0F90CA -:108FF0000F900F900F900F900F90F80181918F01BB -:10900000882309F495CE0E94AE52F7CF8091A0003C -:10901000807309F4B3C08091AA009091AB009F9334 -:109020008F9388E498E29F938F938E010F5F1F4F79 -:109030001F930F930F94991D0F900F900F900F9007 -:109040000F900F90F80181918F01882309F470CE61 -:109050000E94AE52F7CF8091A0008C7009F48EC0B0 -:109060008091AC009091AD009F938F938EE398E236 -:109070009F938F938E010F5F1F4F1F930F930F943A -:10908000991D0F900F900F900F900F900F90F80177 -:1090900081918F01882309F44BCE0E94AE52F7CF05 -:1090A00080912001807C09F469C080912801909111 -:1090B00029019F938F9384E398E29F938F938E016E -:1090C0000F5F1F4F1F930F930F94991D0F900F90D9 -:1090D0000F900F900F900F90F80181918F018823CE -:1090E00009F426CE0E94AE52F7CF80912001807302 -:1090F00009F444C080912A0190912B019F938F9392 -:109100008AE298E29F938F938E010F5F1F4F1F9308 -:109110000F930F94991D0F900F900F900F900F9039 -:109120000F90F80181918F01882309F401CE0E94EC -:10913000AE52F7CF809120018C7001F180912C010B -:1091400090912D019F938F9380E298E29F938F934C -:109150008E010F5F1F4F1F930F930F94991D0F9058 -:109160000F900F900F900F900F90F80181918F0149 -:10917000882309F4DDCD0E94AE52F7CF80E06496DB -:109180000FB6F894DEBF0FBECDBFDF91CF911F9118 -:109190000F9108954F925F926F927F928F929F925C -:1091A000AF92BF92CF92DF92EF92FF920F931F93F5 -:1091B000CF93DF93CDB7DEB764970FB6F894DEBFD9 -:1091C0000FBECDBF082FF62EE42E882E912C26E060 -:1091D000829FC0011124FC01EA55F64D6590749000 -:1091E000FC01EC55F64D5F0145905490F3018081F0 -:1091F000482F487050E060E070E07695679557958D -:109200004795F20110811370142BF4E0EF1209C09E -:10921000807190E0A0E0B0E0B695A795979587950E -:10922000182B8AE999E20F944C09005D802F0E9467 -:10923000AE528F2D0E94AE5283E00F944109F4018B -:10924000EE0FFF1F8F2D0F2C000C990B9E012F5F2F -:109250003F4F690133E0E80DF91D81549109E80F92 -:10926000F91FEE0FFF1FEA58F64DE3121BC0A59140 -:10927000B4918C911F928F938CE699E29F938F9378 -:10928000DF92CF920F94991D0F900F900F900F9037 -:109290000F900F90F60181916F01882309F10E94D0 -:1092A000AE52F8CFA591B49111968C9111978F93EE -:1092B0008C918F9382E699E29F938F93DF92CF9266 -:1092C0000F94991D0F900F900F900F900F900F908B -:1092D000F60181916F01882319F00E94AE52F8CFF8 -:1092E000612F70E088E599E20F94110AF501C590AD -:1092F000D4908CEC98E20F944C09802F0E94AE52CF -:10930000F2E4FF1691F023E4F216F9F031E4F312DF -:109310002DC0F6014081429546954695437050E038 -:1093200060E070E088EC98E21FC0F6014081407375 -:1093300050E060E070E094E076956795579547952A -:109340009A95D1F784EC98E20FC0F60140814C70F9 -:1093500050E060E070E082E076956795579547951C -:109360008A95D1F780EC98E20F94E209F3014081ED -:10937000477050E060E070E08FE499E20F94E209FA -:1093800086E499E20F944C09802F0E94AE52F201BC -:10939000608170E082E499E20F94110A89E399E216 -:1093A0000F944C09802F0E94AE52F301608170E04F -:1093B00085E399E20F94110A86E0889DF001899D6A -:1093C000F00D1124E855F64DC590D4908BE299E24A -:1093D0000F944C09802F0E94AE52F601608170E01C -:1093E00088E299E20F94110A00EC0F0DF3E0EF12FE -:1093F00007C0197F59F484ED98E20F944C0906C018 -:10940000812F8B7FC1F31C501230A8F3F6018081AD -:1094100090E0A0E0B0E004C0B695A7959795879539 -:109420000A95D2F780FF04C08DEE98E20F944C09A4 -:10943000F601808180FF04C08AE099E20F944C0914 -:1094400064960FB6F894DEBF0FBECDBFDF91CF910B -:109450001F910F91FF90EF90DF90CF90BF90AF9052 -:109460009F908F907F906F905F904F900895CF93D3 -:10947000DF93C82FD0E0FE01E751F74CE4918E2F27 -:1094800090E0FC013197E231F105E8F58827EF53D0 -:10949000FF4F8F4F0D94EE2443E061E402C043E0A0 -:1094A00062E480E02EC044E061E405C044E062E490 -:1094B00002C044E063E481E024C043E061E402C010 -:1094C00043E062E482E01DC044E061E405C044E0A2 -:1094D00062E402C044E063E483E013C044E061E47A -:1094E00005C044E062E402C044E063E484E009C0F3 -:1094F00044E061E405C044E062E402C044E063E4A7 -:1095000085E00E94CAC88EEE99E20F944C09FE01D4 -:10951000E35AF74CE491E230F9F4FE01ED55F74CD3 -:10952000E491E038C9F48AEE99E20F944C0982E1A3 -:109530000F94410982EE99E20F944C0988EC99E26C -:109540000F944C098EE00F94410944E063E481E0FC -:10955000DF91CF910C94CAC8DF91CF9108952F92DB -:109560003F924F925F926F927F928F929F92AF92B3 -:10957000BF92CF92DF92EF92FF920F931F93CF9300 -:10958000DF93CDB7DEB7AC970FB6F894DEBF0FBE52 -:10959000CDBF182F6CA7542EB22EA32E91E8692EA2 -:1095A0009AE2792E00E080E0812E012E000C9908CD -:1095B0002AEC210F2BA7FE0131967F01F301329691 -:1095C0004490242C312C2814390409F0A4C08111B2 -:1095D0005DC001115BC0AF92BF9229E73AE23F93B1 -:1095E0002F93FF92EF920F94991DFAA6E9A60F9080 -:1095F0000F900F900F900F900F906701F6018191DF -:109600006F01882319F00E94AE52F8CF1F924F923B -:1096100024E73AE23F932F93FF92EF920F94991D24 -:109620000F900F900F900F900F900F906701F60121 -:1096300081916F01882319F00E94AE52F8CF812FDB -:109640000E943CC6FBA5F7FD1DC026E3221A310887 -:109650003F922F928AE69AE29F938F93FF92EF9226 -:109660000F94991D0F900F900F900F900F900F90E7 -:10967000E9A5FAA58191FAA7E9A78823B1F00E948C -:10968000AE52F6CF88E00F9441090FC08EE20E94DF -:10969000AE52EB2DFA2DDF010D900020E9F78A2F55 -:1096A0008B19875E0F94410901E0F301C590D490B6 -:1096B000412CF6018491811107C0312C87E2C82E1C -:1096C000D12CC418D1080AC00E94AE524394FFEFB7 -:1096D000CF1ADF0A27E24212ECCF0AC0832D90E0B6 -:1096E0008C159D052CF480E20E94AE523394F6CF87 -:1096F000552069F0812F0E941F50882309F4C9C0AA -:109700003CA53111C6C08FE59AE20F944C098AE05E -:109710000E94AE5281E0F4E06F0E711C21E76216E8 -:109720002BE2720609F04ACF8111F9C0AF92BF92C5 -:1097300082E39AE29F938F93CE0101967C019F93DF -:109740008F930F94991D67010F900F900F900F90BA -:109750000F900F905701F50181915F01882319F057 -:109760000E94AE52F8CF9F928F928DE29AE29F9321 -:109770008F93FF92EF920F94991D0F900F900F907F -:109780000F900F900F905701F50181915F01882391 -:1097900019F00E94AE52F8CF812F0E943CC60AEC0D -:1097A000010F07FD1BC0C401C6979F938F9383E2EF -:1097B0009AE29F938F93FF92EF920F94991D0F90CF -:1097C0000F900F900F900F900F905701F50181911E -:1097D0005F01882331F00E94AE52F8CF88E00F94E9 -:1097E000410982E19AE20F944C09552009F44DC0D9 -:1097F000812F0E945CC6811142C0812F0E9424C625 -:10980000882331F087E10F9441098AE39AE22CC062 -:10981000003128F5802F0F94AD00092E000CAA0B03 -:10982000BB0BBF93AF939F938F938EEF99E29F9360 -:109830008F93FF92EF920F94991D0FB6F894DEBFAD -:109840000FBECDBFF60181916F01882319F00E94F0 -:10985000AE52F8CF8AEF99E20F944C0903C087E12A -:109860000F94410984E49AE20F944C09812F0E94DD -:1098700005C6BC01990F880B990B0E94225387E102 -:109880000F944109812F0E9437CA8AE00E94AE528C -:1098900046C0F3013396E491E11121C08BA50F94EA -:1098A000AD00092E000CAA0BBB0BBF93AF939F9387 -:1098B0008F938EE49AE29F938F93FF92EF920F948F -:1098C000991D67010FB6F894DEBF0FBECDBFF6013C -:1098D00081916F018823E9F00E94AE52F8CF812F69 -:1098E0000E9424C6811103C084E49AE207C0812F3C -:1098F0000E945CC681110DC08AE39AE20F944C0964 -:10990000812F0E9405C6BC01990F880B990B0E94FC -:1099100022530111FCCE812F0E9437CAF8CEAC969B -:109920000FB6F894DEBF0FBECDBFDF91CF911F9170 -:109930000F91FF90EF90DF90CF90BF90AF909F90EE -:109940008F907F906F905F904F903F902F900895F1 -:109950008091651287FD05C0809166128E7009F4B2 -:1099600045C083E50E94EE93882391F00E946E9398 -:109970006093DC107093DD108093DE109093DF1005 -:109980006093E4107093E5108093E6109093E710D5 -:1099900080E50E94EE93882351F00E946E936093BD -:1099A000DC107093DD108093DE109093DF1082E561 -:1099B0000E94EE93882351F00E946E936093E01012 -:1099C0007093E1108093E2109093E31084E50E947D -:1099D000EE93882391F10E946E936093E41070934C -:1099E000E5108093E6109093E71008954091DC1005 -:1099F0005091DD106091DE107091DF1080E198E2EF -:109A00000F94000A4091E0105091E1106091E21033 -:109A10007091E3108DE098E20F94000A4091E410F9 -:109A20005091E5106091E6107091E7108AE098E29D -:109A30000F94000A8AE00C94AE5208958091961219 -:109A400090919712009731F04AE050E060E070E0AA -:109A50000D94251C60E070E0CB0108958091090110 -:109A600080FD06C080919C1783FB882780F90895AC -:109A700080E008950F931F93CF93DF938B01D82F2E -:109A8000C92F4630C1F410922E1310922F1310924A -:109A9000301310923113109232130E9416DF20E01F -:109AA00030E04CE053E4B8018D2F9C2F0F94011E41 -:109AB00087FD0FC01DC00E94E9EE20E030E046E9BE -:109AC00053E4B8018D2F9C2F0F94011E87FD20C0F9 -:109AD0002EC020E030E0A901B8018D2F9C2F0F94FB -:109AE000572718164CF000E010E0D0E0C0E004C0AA -:109AF00000E010E0DCE0C3E4B8018D2F9C2F0F9450 -:109B00006326CB01DF91CF911F910F910C941E938F -:109B100020E030E0A901B8018D2F9C2F0F9457272A -:109B200018164CF000E010E0D0E0C0E004C000E007 -:109B300010E0D6E9C3E4B8018D2F9C2F0F94632663 -:109B4000CB01DF91CF911F910F910C94B4DF9091D5 -:109B50001814977081E0973009F080E008958091A3 -:109B60009E1590919F15891B8F7069F48091240B2D -:109B7000811109C081E02091A1093091A209232B14 -:109B800019F480E0089581E008953F924F925F922A -:109B90006F927F928F929F92AF92BF92CF92DF92FD -:109BA000EF92FF920F931F93CF93DF93CDB7DEB762 -:109BB00062970FB6F894DEBF0FBECDBF2B013C01FC -:109BC000342E24E0429FC00111249A8B898BFC0122 -:109BD000EF5EF74EC080D180E280F38020E030E07D -:109BE0004AE754E4C701B6010F94F6244B015C0127 -:109BF00020E030E04AE754E4C701B6010F94F724AF -:109C00007B018C0180914D028823D1F181E03816CF -:109C100039F13816A0F092E0391232C08090450236 -:109C200090904602A0904702B0904802E09049020E -:109C3000F0904A0200914B0210914C0221C080909A -:109C4000350290903602A0903702B0903802E09032 -:109C50003902F0903A0200913B0210913C0210C090 -:109C600080903D0290903E02A0903F02B090400252 -:109C7000E0904102F09042020091430210914402B0 -:109C800080E1E1EEF2E0DE01119601900D928A95FD -:109C9000E1F7E1E0F0E0EC0FFD1F89899A89E80F18 -:109CA000F91F20E030E040E752E460817181828159 -:109CB00093810F94F1256093630270936402809303 -:109CC0006502909366028091191481FF0E942C9383 -:109CD0009201A301B701C8010F945727181614F475 -:109CE000720183019701A801B401C5010F94011EFF -:109CF00087FD02C074018501E989FA89E951FC4EAA -:109D0000C701D80180839183A283B3838091191402 -:109D100082608093191462960FB6F894DEBF0FBE6E -:109D2000CDBFDF91CF911F910F91FF90EF90DF900A -:109D3000CF90BF90AF909F908F907F906F905F90EB -:109D40004F903F9008952091191490E0880F991F2B -:109D5000880F991FFC0121FF03C0E951FC4E02C08E -:109D6000EF5EF74E60817181828193810895209129 -:109D7000191420FF14C020E83EE3629FA001639FF6 -:109D8000500D729F500D1124CA0196958795969596 -:109D90008795009731F08A950000E9F708950D94B2 -:109DA0001D0908959F92AF92BF92CF92DF92EF92DA -:109DB000FF920F931F93CF93DF93809117118330FE -:109DC00009F50E94A7CD8823E9F060916D09709193 -:109DD0006E09072E000C880B990B0F94081E20E0CB -:109DE00030E040E85FE30F94F62420916909309158 -:109DF0006A0940916B0950916C090F94011E181665 -:109E00000CF062C0D0E0FF24F39400E010E0EE24F8 -:109E1000E39445E0D42EC0E0CC24C39455E0B52EA5 -:109E200065E0A62E72E8972EFC24DC16D1F18D2F6A -:109E300090E04897A4F5DF5FF801BC9EE00DF11DAE -:109E40001124EE0FFF1FEE0FFF1FE159FC4E20E023 -:109E500030E04AE754E460817181828193810F94FC -:109E6000671E0F9463267093211660932016A092AC -:109E70001416909217168D2F90E08158974F880FE7 -:109E8000991F092E000CAA0BBB0B809318169093F8 -:109E90001916A0931A16B0931B160F948001CE0DBD -:109EA000C4CF0F5F1F4F0530110579F1F11006C0C7 -:109EB000EE24EA94DD24DA94C4E0B6CFEE24E394F1 -:109EC00035E0D32EC0E0B0CF81E09AE59093211623 -:109ED0008093201680E490E09093231680932216BE -:109EE00087E08093141682E88093171684E890E048 -:109EF000A0E0B0E08093181690931916A0931A165C -:109F0000B0931B160F9480017DCFDF91CF911F91ED -:109F10000F91FF90EF90DF90CF90BF90AF909F9008 -:109F20000895AF92BF92CF92DF92EF92FF920F937C -:109F30001F93CF93DF93EC0188EEC82E80E2D82EDA -:109F4000E12CF12C02E8A12C90E2B92E15E000934F -:109F50001716C0921816D0921916E0921A16F0929F -:109F60001B16B0922116A0922016109314160F946F -:109F700080018FEFC81AD80AE80AF80A80E1C816EB -:109F800081E2D806E104F10411F748EE50E260E006 -:109F900070E0CE01DF91CF911F910F91FF90EF9074 -:109FA000DF90CF90BF90AF900D942F0184E080930D -:109FB000161182E080939E0881E09AE59093211625 -:109FC000809320168EE490E09093231680932216BF -:109FD00087E08093141682E88093171684E890E057 -:109FE000A0E0B0E08093181690931916A0931A166B -:109FF000B0931B160F9480018BE697E00C94B95335 -:10A00000CF92DF92EF92FF926A017B010E94EE9362 -:10A01000882331F0FF90EF90DF90CF900C946E93F7 -:10A02000C701B601FF90EF90DF90CF9008952F9277 -:10A030003F924F925F926F927F928F929F92AF92D8 -:10A04000BF92CF92DF92EF92FF920F931F93CF9325 -:10A05000DF93CDB7DEB7CD54D1090FB6F894DEBF8C -:10A060000FBECDBF60E070E085E40E9455A7182FB9 -:10A0700081E0810F823018F087EA9DE254C065E0EC -:10A0800070E083E40E9455A789A760E085E50E94FF -:10A09000FB932C968FAF2C9717FF05C040E050E044 -:10A0A0006CE872E404C040E050E066E173E483E5EC -:10A0B0000E9400D00F946326072E000C880B990B8A -:10A0C0000F94081E6D837E838F832E969FAF2E97ED -:10A0D0000F9406012B013C011F3F09F409C5E12E35 -:10A0E000012E000CFF08F70183E0EE0FFF1F8A9599 -:10A0F000E1F7E45FFD4F668177816F507109072EAC -:10A10000000C880B990B0F94081E9B01AC016D810C -:10A110007E818F812E969FAD2E970F94572718160C -:10A12000ECF48CE79DE2C35BDF4F0FB6F894DEBF23 -:10A130000FBECDBFDF91CF911F910F91FF90EF9098 -:10A14000DF90CF90BF90AF909F908F907F906F9057 -:10A150005F904F903F902F900D944C0988E69DE2C0 -:10A160000F944C090E94C5DF87E18E9DF0018F9D01 -:10A17000F00D1124E25FF34F8FE7828722E330E096 -:10A18000A8EEB3E00F94AB246BA77CA78DA79EA786 -:10A190009B01AC01240D351D461D571D28AF39AF5D -:10A1A0004AAF5BAF81E080931402109256021F3FCA -:10A1B00011F58BEA9AEAAAEABEE38CAF9DAFAEAF87 -:10A1C000BFAF2DEC3CEC4CE45EE324962CAF3DAFEE -:10A1D0004EAF5FAF249725961FAE259740EB5CE20C -:10A1E00027965FAF4EAF27978AE79CE229969FAFED -:10A1F0008EAF299721C020E030E040E05EE32CAF35 -:10A200003DAF4EAF5FAF8AE999E9A9E1BFE324967C -:10A210008CAF9DAFAEAFBFAF249725961FAF2597EC -:10A22000AEE9BCE22796BFAFAEAF2797E7E6FCE208 -:10A230002996FFAFEEAF299749A25AA26BA27CA242 -:10A240004FA658AA69AA7AAA2FE730E040E050E06A -:10A25000288739874A875B87188A198A1A8A1B8A4E -:10A260001C861D861E861F86C12CD12C76011E8A57 -:10A2700030E43F8B4CE1488F56E4598F1A8E1B8E89 -:10A280001C8E1D8E1BAACCAADDAAEEAAFFAAFFE790 -:10A290008F2E912CA12CB12C1DA21EA21FA218A69C -:10A2A00081E088A31D8A1C8A212C312C00E02D9688 -:10A2B0001FAE2D97A7E11A02C0011124825F934FB0 -:10A2C000FC013A962B96FFAFEEAF2B979C012C5FCB -:10A2D0003F4F3F8F2E8F49A5042E000C550B5AA7D8 -:10A2E00049A780911402882309F454C20F940601EF -:10A2F00069837A838B839C8380913913882309F443 -:10A30000BAC00E942AE11F3F61F420906909309091 -:10A310006A0900916B0950916C092D965FAF2D97DA -:10A320000EC0AE8DBF8D2C9011963C901197129659 -:10A330000C9112971396BC912D96BFAF2D972A8D35 -:10A340003B8D4C8D5D8DB101802F2D969FAD2D974E -:10A350000F94572718163CF42A8E3B8E0C8F2D969F -:10A36000EFAD2D97ED8F2E893F89488D598DB10125 -:10A37000802F2D969FAD2D970F94011E87FF07C04C -:10A380002E8A3F8A088F2D96FFAD2D97F98F28A131 -:10A39000222309F44DC09101402F2D965FAD2D97DA -:10A3A0006D817E818F812E969FAD2E970F94011E19 -:10A3B00087FF61C049815A816B817C8144195509AD -:10A3C00066097709DB01CA0188589341A109B109DF -:10A3D000B7FD51C088859985AA85BB8588199909DB -:10A3E000AA09BB09B595A795979587951F3F19F4BD -:10A3F00080936F0905C02B96EEADFFAD2B97808340 -:10A400004DA35EA36FA378A7FD81FA8F2E812B8FBA -:10A410003F813C8F2E964FAD2E974D8F89819A812B -:10A42000AB81BC8189A39AA3ABA3BCA318A223C010 -:10A430009101402F2D965FAD2D976D817E818F818B -:10A440002E969FAD2E970F9457271816A4F4898146 -:10A450009A81AB81BC8129A13AA14BA15CA1821B4D -:10A46000930BA40BB50BAC01BD01485853416109D6 -:10A47000710977FFAEC120E030E040EA51E46D8120 -:10A480007E818F812E969FAD2E970F94F724910198 -:10A49000402F2D965FAD2D970F94011E87FF03C0AF -:10A4A00082ED9CE2B9C089819A81AB81BC812FA5E4 -:10A4B00038A949A95AA9821B930BA40BB50BB7FD68 -:10A4C00090C025968FAD25970E94D0D78AE00E9434 -:10A4D000AE5289819A81AB81BC818053984FAF4F36 -:10A4E000BF4F8FA798ABA9ABBAAB9BA9911159C02D -:10A4F0002CA93DA94EA95FA9B101802F2D969FAD32 -:10A500002D970F9457271816BCF520E030E040E057 -:10A5100050E4B101802F2D969FAD2D970F94F72415 -:10A520006CAB7DAB8EAB9FAB2BA53CA54DA55EA5C3 -:10A5300089819A81AB81BC81280F391F4A1F5B1F1B -:10A5400028AF39AF4AAF5BAF20E030E040EC50E4D9 -:10A550006D817E818F812E969FAD2E970F94F6246C -:10A560009101402F2D965FAD2D970F94011E881FEE -:10A570008827881F8BAB35C089819A81AB81BC81CC -:10A5800028AD39AD4AAD5BAD821B930BA40BB50B67 -:10A59000B7FD27C027964EAD5FAD279763EC7CE2F1 -:10A5A0001DC020E030E040EA51E46D817E818F8162 -:10A5B0002E969FAD2E970F94F6249B01AC01B1010E -:10A5C000802F2D969FAD2D970F94011E87FF09C0F8 -:10A5D00029964EAD5FAD29976EE87CE2812F0E94EF -:10A5E000319A89819A81AB81BC81880F991FAA1FFA -:10A5F000BB1F29A13AA14BA15CA1821B930BA40B09 -:10A60000B50B84199509A609B70981389F44A24161 -:10A61000B10528F089E49CE20F944C09BBC049A520 -:10A620005AA58C899D89481759070CF0B0C003972B -:10A630000CF4ADC08CEE9BE20F944C091F3F29F443 -:10A64000ACEDBBE2BA83A98304C0EBEDFBE2FA8375 -:10A65000E9838AEC9BE20F944C0989819A810F94DB -:10A660004C09B701A60188EE9BE20F94000A8AE02C -:10A670000E94AE528AEC9BE20F944C0989819A8128 -:10A680000F944C094C855D856E857F8584EE9BE239 -:10A690000F94000A8AE00E94AE528AEC9BE20F946B -:10A6A0004C0989819A810F944C09488959896A8992 -:10A6B0007B8980EE9BE20F94000A8AE00E94AE52F2 -:10A6C0002C96FFAD2C97FF2309F466C01F3F69F558 -:10A6D000C0927009D0927109E0927209F0927309E8 -:10A6E0002CEA35EC47E25EE36C857D858E859F859F -:10A6F0000F94671E609374097093750980937609AF -:10A70000909377092CEA35EC47E25EE36889798912 -:10A710008A899B890F94F125609378097093790950 -:10A7200080937A0990937B0937C047E11402900126 -:10A730001124225F334F3A832983D9011B96CD928E -:10A74000DD92ED92FC921E972CEA35EC47E25EE337 -:10A750006C857D858E859F850F94671EE981FA81C2 -:10A760006787708B818B928B2CEA35EC47E25EE336 -:10A77000688979898A899B890F94F125A981BA8191 -:10A7800053966D937D938D939C93569705C00E942D -:10A79000541DA7CD0E94C5DF81E080935602C35BA4 -:10A7A000DF4F0FB6F894DEBF0FBECDBFDF91CF9164 -:10A7B0001F910F91FF90EF90DF90CF90BF90AF90DF -:10A7C0009F908F907F906F905F904F903F902F90D1 -:10A7D00008954C895D89452B09F451C14DA05EA0B7 -:10A7E0006FA078A4480E591E6A1E7B1E2DA13EA1A3 -:10A7F0004FA158A5281B390B4A0B5B0BC501B401AF -:10A800000F944724A30192010F947924888499849A -:10A81000AA84BB84820E931EA41EB51E54E1851625 -:10A820009104A104B1040CF18CEE88169104A104EA -:10A83000B1043CF490E889169104A104B10434F405 -:10A8400022C06BEE862E912CA12CB12C8886998685 -:10A85000AA86BB862EEF30E040E050E02819390987 -:10A860004A095B0949015A0112C084E190E0A0E065 -:10A87000B0E088879987AA87BB8754E1852E912C01 -:10A88000A12CB12C04C088869986AA86BB8680E656 -:10A890009DE20F944C09688579858A859B850E9485 -:10A8A00022538BE59DE20F944C09C501B4010E942F -:10A8B00022534E895F89688D798D84E59DE20F94DE -:10A8C000000A4A8D5B8D6C8D7D8D8DE49DE20F9429 -:10A8D000000AAC89BD8913970CF4D1C0C501B4013D -:10A8E0000F94081E20E030E040E850E40F94671E0B -:10A8F0006B017C012E893F89488D598D6A8D7B8D36 -:10A900008C8D9D8D0F94F6242BED3FE049E450E4AF -:10A910000F94671E20E030E040E05FE30F94671E75 -:10A920009B01AC01C701B6010F94F1256B017C01BD -:10A93000C301B2010F94081E2FE632E143E85AE347 -:10A940000F94671E2B013C01B701A60187E49DE22D -:10A950000F94000AB301A20181E49DE20F94000A62 -:10A960001F3F09F044C02DEC3CEC4CE45EE3C70112 -:10A97000B6010F94671E6B017C019B01AC010F9423 -:10A98000F724A30192010F94F1256C877D878E87B0 -:10A990009F87A7019601C301B2010F94671E20E0B3 -:10A9A00030E040E450E40F94F125688B798B8A8B7A -:10A9B0009B8B81E39DE20F944C09B701A6018BE2CA -:10A9C0009DE20F94000A4C855D856E857F8585E24A -:10A9D0009DE20F94000A488959896A897B898FE131 -:10A9E0009DE20F94000A8AE00E94AE524AC024966B -:10A9F0002CAD3DAD4EAD5FAD2497C701B6010F94B0 -:10AA0000671E6B017C019B01AC01C301B2010F9475 -:10AA1000671E2CAD3DAD4EAD5FAD0F94671E688BCC -:10AA2000798B8A8B9B8BA7019601C701B6010F9486 -:10AA3000F724A30192010F94F1256C877D878E87FF -:10AA40009F878FE09DE20F944C09B701A60189E032 -:10AA50009DE20F94000A4C855D856E857F8583E0BD -:10AA60009DE20F94000A488959896A897B898DEF94 -:10AA70009CE20F94000A8AE00E94AE5211C01F3F70 -:10AA800079F488859985AA85BB85880D991DAA1DAD -:10AA9000BB1DB595A7959795879580936F0911C0B4 -:10AAA00088859985AA85BB85880D991DAA1DBB1D22 -:10AAB000B595A795979587952B96EEADFFAD2B97FE -:10AAC00080832C893D892F5F3F4F3D8B2C8B3D81AF -:10AAD0003E8B4E814F8B5F81588F2E968FAD2E9778 -:10AAE000898F49805A806B807C8091E098A3C3CC89 -:10AAF00020E030E047E053E46D817E818F812E9627 -:10AB00009FAD2E970F94572718160CF40ACB88E6A2 -:10AB10009DE20F944C090E94C5DF8FE780936F0977 -:10AB200024EB30E02DCB2F923F924F925F926F92A9 -:10AB30007F928F929F92AF92BF92CF92DF92EF92CD -:10AB4000FF920F931F93CF93DF93EB01FC01808063 -:10AB50009180A280B380C501B40120E831E541E0D5 -:10AB600050E00F945724C9016DE671E00F94C6249C -:10AB70006B017C01C501B40120E13EE040E050E002 -:10AB80000F945724CA01B90128E130E040E050E0B9 -:10AB90000F945724362E272E062F172F8CE3482E7E -:10ABA000512C612C712CC501B401A30192010F94A9 -:10ABB0005724B62EA72ECA01B901A30192010F9402 -:10ABC0005724CB01C114D104D9F0AF92BF927F9327 -:10ABD0006F932F923F92FF92EF92DF92CF9286EB8C -:10ABE0009BE29F938F93DF93CF930F94991D8DB723 -:10ABF0009EB70E960FB6F8949EBF0FBE8DBF5CC079 -:10AC0000E114F104C9F0AF92BF927F936F932F923A -:10AC10003F92FF92EF9286EA9BE29F938F93DF939E -:10AC2000CF930F94991DEDB7FEB73C960FB6F894ED -:10AC3000FEBF0FBEEDBF40C0012BB9F0AF92BF9277 -:10AC40007F936F932F923F928AE99BE29F938F931A -:10AC5000DF93CF930F94991D8DB79EB70A960FB6C9 -:10AC6000F8949EBF0FBE8DBF27C0892BA9F0AF926D -:10AC7000BF927F936F9382E99BE29F938F93DF93C1 -:10AC8000CF930F94991DEDB7FEB738960FB6F89491 -:10AC9000FEBF0FBEEDBF10C0AF92BF928EE89BE229 -:10ACA0009F938F93DF93CF930F94991D0F900F90E5 -:10ACB0000F900F900F900F90DF91CF911F910F91F8 -:10ACC000FF90EF90DF90CF90BF90AF909F908F90CC -:10ACD0007F906F905F904F903F902F9008958F924C -:10ACE0009F92AF92BF92CF92DF92EF92FF920F931B -:10ACF0001F93CF93DF93CDB7DEB7E6970FB6F894E7 -:10AD0000DEBF0FBECDBF009120131091211382E052 -:10AD10008093950BF80101900020E9F731975F01CE -:10AD2000A01AB10AF801CF01801B910B8A159B056F -:10AD300034F480818F3209F410823196F4CF8BE1A4 -:10AD4000E0E1F5E1DE015C9601900D928A95E1F774 -:10AD5000E12CF12CEA14FB040CF084C0F801EE0D98 -:10AD6000FF1D8081811103C08FEFE81AF80A680186 -:10AD7000CE0CDF1CF6018081882309F473C0FFEF3D -:10AD8000EF1AFF0AF801EE0DFF1D7F01E01AF10A2C -:10AD900081918111FACFCE014C960E9481668BE1A0 -:10ADA000FE017C96DE01119601900D928A95E1F7E5 -:10ADB000A601BE016F5F7F4F80E090E00E94615F5F -:10ADC000CE0101960E94B7678FE20E94AE52809139 -:10ADD000391A811103C085E897E002C089E39AE13E -:10ADE0004C01F40181914F01882319F00E94AE5269 -:10ADF000F8CF80919C1784FF35C019821C8221E016 -:10AE0000A601BE01645E7F4FCE0101960E949A6B3F -:10AE1000811116C08AE00E94AE520F94350A8AE76B -:10AE20009BE20F944C09F60181916F01882319F080 -:10AE30000E94AE52F8CFCE0101960E94B76712C0B1 -:10AE4000CE014C960E94AE678BE1FE013196DE0189 -:10AE50005C9601900D928A95E1F7CE0101960E94D1 -:10AE6000B76778CF8AE00E94AE52CE014C960E941E -:10AE7000B767E6960FB6F894DEBF0FBECDBFDF9181 -:10AE8000CF911F910F91FF90EF90DF90CF90BF90E7 -:10AE9000AF909F908F90089590919C1793FB882777 -:10AEA00080F993FF06C081E09091BA14911101C01E -:10AEB00080E00895E8E9F2E18081818381E79BE207 -:10AEC0000F944C0980911C1390911D13A0911E1397 -:10AED000B0911F13BC01CD016F5F7F4F8F4F9F4F0C -:10AEE0000E9422530E94B3530C94F7B20F931F9306 -:10AEF000CF938C01C62F0F94310AC8010F944C09CF -:10AF000060911C1370911D1380911E1390911F135B -:10AF10000E9422530E94B353C11104C00E94C65321 -:10AF20000196E1F70E945AD7EC2FEE0FFF0BE65E79 -:10AF3000FC4E11821082CF911F910F910895EF92D4 -:10AF4000FF920F931F93CF937C018B014F3F11F41E -:10AF5000C2E401C0C4E580E20E94AE528C2F0E9480 -:10AF6000AE528AE30E94AE52F70160817181828104 -:10AF7000938142E00E943E53F801408151816281F9 -:10AF8000738186E390E30F94000A62E070E080E052 -:10AF900090E0CF911F910F91FF90EF900D94CC0016 -:10AFA0001F93CF93DF93CDB7DEB728970FB6F894F2 -:10AFB000DEBF0FBECDBF182F6091160C7091170C1D -:10AFC000072E000C880B990B0F94081E6D837E834F -:10AFD0008F8398878091120C9091130CA091140C80 -:10AFE000B091150C89839A83AB83BC834CEFBE016F -:10AFF0006B5F7F4FCE0101960E949FD760916D09D4 -:10B0000070916E09072E000C880B990B0F94081E87 -:10B010006D837E838F8398878091690990916A09F7 -:10B02000A0916B09B0916C0989839A83AB83BC832F -:10B030004FEFBE016B5F7F4FCE0101960E949FD7FD -:10B040001F3F41F087E11802F0011124E25FF34F46 -:10B05000628502C060916F0970E08EE390E30F9407 -:10B06000110A60916F0970E089E390E30F94110A6F -:10B0700028960FB6F894DEBF0FBECDBFDF91CF91FB -:10B080001F9108952F923F924F925F926F927F92FD -:10B090008F929F92AF92BF92CF92DF92EF92FF92E8 -:10B0A0000F931F93CF93DF93CDB7DEB763970FB6A0 -:10B0B000F894DEBF0FBECDBF898B81E08093140270 -:10B0C0001A821B821C821D8219861A861B861C8688 -:10B0D00019821D862CE32E873CE13F8746E4488B8E -:10B0E000312C212C50E85A8B8FEB8B8B91E0988779 -:10B0F000812C912C540160916D0970916E09072E7D -:10B10000000C880B990B0F94081E7B018C019B018E -:10B11000AC01632D722D8A899B890F94011E8823AF -:10B1200061F16091690970916A0980916B09909150 -:10B130006C09A989A1110EC0B1E0B9839701A801DA -:10B140000F94572718160CF019823E2C2F2C0A8BBF -:10B150001B8B13C09701A8010F945727181644F4AE -:10B1600080911402882309F4F0C00E947EEEEDC0A5 -:10B170003E2C2F2C0A8B1B8B19820F9406016B011E -:10B180007C01DC01CB0129853A854B855C85821BDE -:10B19000930BA40BB50BB7FD33C0D701C601885183 -:10B1A0009C4FAF4FBF4F89879A87AB87BC8780E0A2 -:10B1B0000E94D0D786E490E30F944C098114910447 -:10B1C000A104B104B9F0D501C401805F984DAF4F1F -:10B1D000BF4FBC01CD016C197D098E099F0928EE76 -:10B1E00033E040E050E00F945724CA01B9010E94B7 -:10B1F000225303C08FE30E94AE528AE00E94AE52F7 -:10B2000080E00E94DA530F9406016093101470934B -:10B2100011148093121490931314909169099E83D2 -:10B22000A0916A09AF8300916B0910916C09292FD5 -:10B230003A2FA801632D722D8A899B890F94F624D9 -:10B240002B013C0120E030E0A9010F94572787FF34 -:10B2500004C077FA709477F8709481149104A10473 -:10B26000B104B1F420E030E040E85FE3C301B20193 -:10B270000F94011E87FF18C0B88546015701BB23F4 -:10B2800099F020E1820E27E2921EA11CB11C0CC095 -:10B2900020E030E040E450E4C301B2010F945727AE -:10B2A000181614F44601570139813323A9F18A8114 -:10B2B0009B81AC81BD81892B8A2B8B2B61F0D701BF -:10B2C000C6012A813B814C815D81821B930BA40BBB -:10B2D000B50BB7FD21C02E813F81A8016D857E850C -:10B2E0008F8598890F94F62420E030E040EC5FE3EE -:10B2F0000F94011E87FD34CFD701C601805A9541B6 -:10B30000AF4FBF4F8A839B83AC83BD839E819D8754 -:10B31000AF81AE870F87188B80911402882309F4C0 -:10B320001FCF81149104A104B10411F41886E3CE57 -:10B33000B0E1CB1AB7E2DB0AE108F108C818D90876 -:10B34000EA08FB08F7FCF2CF0BCF8091140263965A -:10B350000FB6F894DEBF0FBECDBFDF91CF911F9126 -:10B360000F91FF90EF90DF90CF90BF90AF909F90A4 -:10B370008F907F906F905F904F903F902F900895A7 -:10B380002F923F924F925F926F927F928F929F92F5 -:10B39000AF92BF92CF92DF92EF92FF920F931F93E3 -:10B3A000CF93DF93CDB7DEB764970FB6F894DEBFC7 -:10B3B0000FBECDBF898B6A8B81E0809314021A8205 -:10B3C0001B821C821D8219861A861B861C8621E020 -:10B3D000288719821D863CE33E874CE14F8756E45F -:10B3E000588B312C212C80E88B8B9FEB9C8B812CF4 -:10B3F000912C54016091160C7091170C072E000CC3 -:10B40000880B990B0F94081E7B018C019B01AC01EA -:10B41000632D722D8B899C890F94011E882361F105 -:10B420006091120C7091130C8091140C9091150C7A -:10B43000AA89A1110EC0B1E0B9839701A8010F94A8 -:10B44000572718160CF019823E2C2F2C0B8B1C8BB7 -:10B4500013C09701A8010F945727181644F4809140 -:10B460001402882309F4F0C00E947EEEEDC03E2C49 -:10B470002F2C0B8B1C8B19820F9406016B017C0106 -:10B48000DC01CB0129853A854B855C85821B930BBA -:10B49000A40BB50BB7FD33C0D701C60188519C4F33 -:10B4A000AF4FBF4F89879A87AB87BC8789890E9436 -:10B4B000D0D782E490E30F944C0981149104A10445 -:10B4C000B104B9F0D501C401805F984DAF4FBF4FB3 -:10B4D000BC01CD016C197D098E099F0928EE33E06E -:10B4E00040E050E00F945724CA01B9010E94225352 -:10B4F00003C08FE30E94AE528AE00E94AE5280E009 -:10B500000E94DA530F940601609310147093111483 -:10B5100080931214909313149091120C9E83A09117 -:10B52000130CAF830091140C1091150C292F3A2F96 -:10B53000A801632D722D8B899C890F94F6242B0111 -:10B540003C0120E030E0A9010F94572787FF04C099 -:10B5500077FA709477F8709481149104A104B1047F -:10B56000B1F420E030E040E85FE3C301B2010F94A2 -:10B57000011E87FF18C0B88546015701BB2399F00B -:10B5800020E1820E27E2921EA11CB11C0CC020E01B -:10B5900030E040E450E4C301B2010F94572718167D -:10B5A00014F44601570139813323A9F18A819B8123 -:10B5B000AC81BD81892B8A2B8B2B61F0D701C60111 -:10B5C0002A813B814C815D81821B930BA40BB50BBF -:10B5D000B7FD21C02E813F81A8016D857E858F85B5 -:10B5E00098890F94F62420E030E040EC5FE30F945C -:10B5F000011E87FD34CFD701C601805A9541AF4F58 -:10B60000BF4F8A839B83AC83BD839E819D87AF811F -:10B61000AE870F87188B80911402882309F41FCFFF -:10B6200081149104A104B10411F41886E3CEB0E1B1 -:10B63000CB1AB7E2DB0AE108F108C818D908EA0812 -:10B64000FB08F7FCF2CF0BCF8091140264960FB683 -:10B65000F894DEBF0FBECDBFDF91CF911F910F9148 -:10B66000FF90EF90DF90CF90BF90AF909F908F9022 -:10B670007F906F905F904F903F902F900895EF9242 -:10B68000FF920F931F93CF93DF9380915A028F37CE -:10B69000A0F08F579091180C90934913992311F0B3 -:10B6A0002C9A01C02C9820916F09209348139091F7 -:10B6B0000201222369F090950BC0909149138917DC -:10B6C00008F02C9890914813891728F09091020166 -:10B6D0009072909300018F5F80935A02909147136C -:10B6E00081E08927809347138091590285301CF4AB -:10B6F00011E0180F01C010E0823009F4B9C054F411 -:10B70000882301F1813009F0E8C088E080937B0054 -:10B7100085E4C5C0843009F4CAC00CF4BCC08530CF -:10B7200009F0DBC090914613911102C0809346133B -:10B7300080914613815080934613882309F4CDC02D -:10B7400015E0CBC0809158028F5F80311CF480934C -:10B750005802C3C01092580280913913811113C04E -:10B7600080910E0C90910F0C9093110C8093100C03 -:10B7700080916509909166099093680980936709A3 -:10B7800081E08093391310920F0C10920E0C1092DE -:10B79000660910926509E090100CF090110CF1947C -:10B7A000E194F1088091160C9091170C01E01816A5 -:10B7B00019062CF08091180C811101C000E08091D5 -:10B7C0000E0290910F029195819591098E159F051A -:10B7D0003CF446EA5FE267EC7FE280E00E94319A47 -:10B7E000002389F080910C0290910D029195819532 -:10B7F0009109E816F9063CF449ED5FE26AEF7FE251 -:10B8000080E00E94319A80916D0990916E0901E06B -:10B81000181619062CF080916F09811101C000E003 -:10B82000209167093091680980917D0990917E0986 -:10B83000821793073CF046EB5FE267EC7FE28FEF05 -:10B840000E94319A002309F448C020916709309181 -:10B85000680980910A0290910B0228173907ECF1D0 -:10B8600049EE5FE26AEF7FE28FEF0E94319A35C0C6 -:10B8700080917A0086FD2EC08091780090917900A9 -:10B8800020910E0C30910F0C820F931F90930F0C90 -:10B8900080930E0C22C088E080937B0086E4809326 -:10B8A0007C0080917A00806480937A0016C0809139 -:10B8B0007A0086FD11C080917800909179002091E6 -:10B8C000650930916609820F931F909366098093F2 -:10B8D000650903C012E001C014E0109359022091E1 -:10B8E0001414309115142115310509F43AC0F89457 -:10B8F00090910901927080910801817080930601F6 -:10B9000080910B01121613060CF0809582708093C3 -:10B91000090100000000000080910B0180958870F3 -:10B920008093090184E08A950000E9F780910B017A -:10B9300088708093090180910B019111809582702C -:10B940008093090178948091141490911514121623 -:10B95000130614F4019701C0019690931514809377 -:10B96000141480913A13882309F44DC08091570232 -:10B970008E5F8F7780935702811145C08CB185FB14 -:10B98000882780F9C82F80E0D82F8091030181FD9E -:10B99000C2604B99C46000914413109145130C2769 -:10B9A0001D270115110579F100FF07C0BE01617067 -:10B9B000772781E290E30F94110A01FF08C06C2FF2 -:10B9C0006695617070E088E190E30F94110A02FFC0 -:10B9D00008C0C2FB662760F970E08FE090E30F9427 -:10B9E000110A8CE090E30F944C0910914313612FDE -:10B9F00070E08DE00E94E4FF109510934313D09304 -:10BA00004513C09344130E9432C58091A5109091B4 -:10BA1000A610009769F001979093A6108093A51047 -:10BA2000892B31F48AE290E39093A2098093A109D3 -:10BA3000DF91CF911F910F91FF90EF9008950F9399 -:10BA40000FB70F9300916E000B7F00936E007894F8 -:10BA50000F930BB70F930CB70F921F922F933F9337 -:10BA60004F935F936F937F938F939F93AF93BF9306 -:10BA7000EF93FF9311240E943FDBFF91EF91BF9161 -:10BA8000AF919F918F917F916F915F914F913F9176 -:10BA90002F911F900F900CBF0F910BBF0F9104605F -:10BAA000F89400936E000F910FBF0F9118952F928D -:10BAB0003F924F925F926F927F928F929F92AF923E -:10BAC000BF92CF92DF92EF92FF920F931F93CF938B -:10BAD000DF93CDB7DEB729970FB6F894DEBF0FBE60 -:10BAE000CDBF1C017B836A8329831F830E83FD8264 -:10BAF000EC8227FD10C0022E000C330B39872887FB -:10BB0000398185E03802F0011124ED5CFC4E84811E -:10BB10008823E1F008C080913213882399F0E1E096 -:10BB2000F0E0F987E887F1011482E885F985EE0FE6 -:10BB3000FF1FEE0FFF1FE55CFC4E10821182128288 -:10BB400013822EC021E030E039872887FA01C080B7 -:10BB5000D180E280F38008851985000F111F000F46 -:10BB6000111F055C1C4EA7019601F80160817181CF -:10BB7000828193810F94011E882391F0F801C08285 -:10BB8000D182E282F38211E020E030E0A901C70116 -:10BB9000B6010F94572718160CF010E0F10114832A -:10BBA000F10184818230F9F0833009F401C18130E0 -:10BBB00009F023C1E885F985EE0FFF1FEE0FFF1F87 -:10BBC000E55CFC4E2081318142815381EA81FB8119 -:10BBD00060817181828193810F94011E87FD0DC167 -:10BBE00082E0F101848380915602882309F493C096 -:10BBF000F981F7FD90C08F2FFF0F990B8C0118165C -:10BC0000190614F401E010E0F801E550F44F20812A -:10BC1000222371F1EA81FB81C080D180E280F38030 -:10BC2000880F991F880F991FFC01E55CFC4E8080EE -:10BC30009180A280B3802C813D81B90180E090E0A9 -:10BC40000F94061E2B013C0120E030E040E85EE34B -:10BC50000F94671E9B01AC01C501B4010F94F6243B -:10BC60009B01AC01C701B6010F94572787FD05C0A2 -:10BC7000F801EC5AFD4F80E81AC023E830EC4AEA9C -:10BC80005EE3C301B2010F94671E9B01AC01C501C5 -:10BC9000B4010F94F6249B01AC01C701B6010F94C7 -:10BCA00057270C5A1D4F87FD04C080E6F80180839A -:10BCB00032C020E030E040E05FE3C301B2010F9406 -:10BCC000671E9B01AC01C501B4010F94F6249B01D2 -:10BCD000AC01C701B6010F94572787FD02C080E46D -:10BCE000E5CF2DEC3CEC4CE45FE3C301B2010F94D3 -:10BCF000671E9B01AC01C501B4010F94F6249B01A2 -:10BD0000AC01C701B6010F94572787FD02C080E23E -:10BD1000CDCFF801108208851985000F111F000F83 -:10BD2000111F9801255C3C4E39872887EC81FD81E5 -:10BD3000BF0180E090E00F94061E9B01AC01E885F6 -:10BD4000F98560817181828193810F94F6249B0132 -:10BD5000AC01EA81FB8160817181828193810F94C2 -:10BD6000572787FD14C00F9406016B017C012E81BB -:10BD70003F81A8EEB3E00F94AB24C60ED71EE81E99 -:10BD8000F91EF101C082D182E282F38236C00F94A3 -:10BD90000601F1010081118122813381DC01CB0197 -:10BDA000801B910BA20BB30BB7FD27C083E08483EC -:10BDB000F981FF3F19F04FE65FE202C042E85FE21F -:10BDC00066E97FE2898129960FB6F894DEBF0FBE3F -:10BDD000CDBFDF91CF911F910F91FF90EF90DF903A -:10BDE000CF90BF90AF909F908F907F906F905F901B -:10BDF0004F903F902F900C94319A29960FB6F8945B -:10BE0000DEBF0FBECDBFDF91CF911F910F91FF908D -:10BE1000EF90DF90CF90BF90AF909F908F907F90EA -:10BE20006F905F904F903F902F900895CF92DF9248 -:10BE3000EF92FF9260916D0970916E096115710525 -:10BE4000C1F0C0906909D0906A09E0906B09F09048 -:10BE50006C0966507109072E000C880B990B0F9422 -:10BE6000081E9B01AC01C701B6010F94011E87FD9E -:10BE700009C010922A1310922B1310922C131092B7 -:10BE80002D131EC020E030E040E050E4C701B601B1 -:10BE90000F94F7240F946A26709329136093281344 -:10BEA0000F940601DC01CB01805E9044AD4FBF4F83 -:10BEB00080932A1390932B13A0932C13B0932D13DC -:10BEC000FF90EF90DF90CF900895CF92DF92EF92A6 -:10BED000FF926091160C7091170C61157105C1F0FD -:10BEE000C090120CD090130CE090140CF090150C34 -:10BEF00066507109072E000C880B990B0F94081ED1 -:10BF00009B01AC01C701B6010F94011E87FD09C05A -:10BF100010922413109225131092261310922713B7 -:10BF20001EC020E030E040E050E4C701B6010F94AD -:10BF3000F7240F946A2670932313609322130F94AF -:10BF40000601DC01CB01805B9C43AF4FBF4F809368 -:10BF5000241390932513A0932613B0932713FF90D7 -:10BF6000EF90DF90CF90089520911202309113024C -:10BF70002F503109821793070CF49C013093170C52 -:10BF80002093160C80E00C9465DFCF93DF93109222 -:10BF9000381380E090E00E94B4DFC5E6D9E019864E -:10BFA00018860E9416DF80E090E00E94B4DF1092B5 -:10BFB000180C2C98198618861A86809102018072B6 -:10BFC00080930001DF91CF9108958F929F92AF925D -:10BFD000BF92CF92DF92EF92FF920F931F93CF9376 -:10BFE000DF93F0E2FF2EE12CAE2DB0E0BD016F0D2E -:10BFF000711D75956795611103C0E1EFFEE206C002 -:10C000006E1511F0F6120BC0EDE6FFE2659174912A -:10C01000072E000C880B990B0F94081E62C09B0121 -:10C0200021503109220F331F220F331FF901E15133 -:10C03000F14D05911491AB01440F551F440F551F4D -:10C04000FA01E151F14DC591D4918017910714F493 -:10C05000F62ECCCFC817D90714F4E62EC5CFF901B8 -:10C06000EF50F14DE590F490FA01EF50F14DC5908D -:10C07000D490BC01601B710B072E000C880B990B30 -:10C080000F94081E4B015C01B6016E197F09072E43 -:10C09000000C880B990B0F94081E9B01AC01C50185 -:10C0A000B4010F94671E4B015C01C01BD10BBE0194 -:10C0B000DD0F880B990B0F94081E9B01AC01C50185 -:10C0C000B4010F94F1254B015C01B701FF0C880B03 -:10C0D000990B0F94081E9B01AC01C501B4010F948C -:10C0E000F724DF91CF911F910F91FF90EF90DF9098 -:10C0F000CF90BF90AF909F908F9008958F929F9216 -:10C10000AF92BF92CF92DF92EF92FF920F931F9365 -:10C11000CF93DF93C62F662381F00F94310A6C2FE3 -:10C1200070E080E090E00E94225381ED9EE20F9447 -:10C130004C0980E090E00F942602F0E4FF2EE12C01 -:10C14000AE2DB0E0BD016F0D711D75956795611144 -:10C1500003C0E3EDFDE206C06E1511F0F6120BC050 -:10C16000EFECFEE265917491072E000C880B990BA1 -:10C170000F94081E62C09B0121503109220F331F0A -:10C18000220F331FF901EF52F24D05911491AB01CB -:10C19000440F551F440F551FFA01EF52F24DC59140 -:10C1A000D4918017910714F4F62ECCCFC817D90775 -:10C1B00014F4E62EC5CFF901ED52F24DE590F4905E -:10C1C000FA01ED52F24DC590D490BC01601B710B89 -:10C1D000072E000C880B990B0F94081E4B015C0175 -:10C1E000B6016E197F09072E000C880B990B0F946E -:10C1F000081E9B01AC01C501B4010F94671E4B01E1 -:10C200005C01C01BD10BBE01DD0F880B990B0F9495 -:10C21000081E9B01AC01C501B4010F94F1254B012F -:10C220005C01B701FF0C880B990B0F94081E9B0152 -:10C23000AC01C501B4010F94F724DF91CF911F9198 -:10C240000F91FF90EF90DF90CF90BF90AF909F90B5 -:10C250008F900895CF93DF93CEE0DCE060E08A8199 -:10C260009B810E947EE06C837D838E839F83C5E6E5 -:10C27000D9E08A819B810E94E5DF6C837D838E8378 -:10C280009F83A89510923913DF91CF9108959F92C3 -:10C29000AF92BF92CF92DF92EF92FF920F931F93D4 -:10C2A000CF93DF938DEDA82E82E0B82E07EE13E139 -:10C2B000C1E1D8E197EFC92E93E1D92E28ECE22E07 -:10C2C00028E0F22E912CF50181915F010E94EE93FE -:10C2D000882309F10E946E93F7012081211104C087 -:10C2E0002091D108222339F0288139814A815B814C -:10C2F0000F94F7240AC0F3E09F1639F0F60120816D -:10C300003181428153810F94F624F8016083718357 -:10C310008283938309C088819981AA81BB81F801B6 -:10C3200080839183A283B38393940C5F1F4F2496E1 -:10C33000F4E0CF0ED11C2FEFE21AF20A84E098123B -:10C34000C2CF40E050E0BA0186E40E9400D020E075 -:10C3500030E0A9010F945727181684F40E946E93B9 -:10C3600020E030E040E752E40F94F125609363024F -:10C370007093640280936502909366028091A71087 -:10C3800083FD28C080917F09882321F120911D1809 -:10C3900030911E1840911F18509120186091F3138E -:10C3A0007091F4138091F5139091F6130F94F62485 -:10C3B00020918C0930918D0940918E0950918F09FF -:10C3C0000F94F72460938C0970938D0980938E09E4 -:10C3D00090938F09DF91CF911F910F91FF90EF9074 -:10C3E000DF90CF90BF90AF909F900895CF9384E55A -:10C3F0000E94EE93882301F10E944693C82F1816DD -:10C40000E4F40F94350A8DE40E94AE5260916812F4 -:10C4100070916912072E000C880B990B0E94225311 -:10C420006C2FCC0F770B8CEA93E30F94110A8AE000 -:10C430000E94AE528FEF01C080E0CF910895CF925D -:10C44000DF92EF92FF92CF93DF93CDB7DEB7A09745 -:10C450000FB6F894DEBF0FBECDBF80E090E0A8E439 -:10C46000B2E489839A83AB83BC8380E090E0A0E24E -:10C47000B1E48D839E83AF83B88789879A87AB8722 -:10C48000BC870E94F6E187FDD4C00E94BB7C882354 -:10C4900021F088EA93E30E94F5BB85E40E94A5930E -:10C4A000882381F00E946E936B017C0120E030E0D4 -:10C4B000A9010F94572787FF0BC0F7FAF094F7F8FC -:10C4C000F09406C0C12CD12C80E8E82E80E4F82E30 -:10C4D000F7FAF094F7F8F094C98ADA8AEB8AFC8AC2 -:10C4E0008AE50E94EE93882351F040E050E0BA01C3 -:10C4F0008AE50E9400D069877A878B879C8788E5C8 -:10C500000E94EE93882351F040E050E0BA0188E5A4 -:10C510000E9400D069837A838B839C8389E50E9483 -:10C52000EE93882351F040E050E0BA0189E50E9483 -:10C5300000D06D837E838F83988785E50E94A593C5 -:10C54000882329F00E946E936B017C0108C0C09083 -:10C550006713D0906813E0906913F0906A1320E09D -:10C5600030E0A901C701B6010F94572787FF04C027 -:10C57000F7FAF094F7F8F094F7FAF094F7F8F094EB -:10C58000CD8ADE8AEF8AF88E198E1A8E1B8E1C8E4B -:10C590008CE40E94A593882329F00E946E936B017E -:10C5A0007C0108C0C0906B13D0906C13E0906D13A9 -:10C5B000F0906E1320E030E0A901C701B6010F949E -:10C5C000572787FF04C0F7FAF094F7F8F094CD8E60 -:10C5D000DE8EEF8EF8A262E070E082E40E9455A742 -:10C5E000F82E21E0AE014B5E5F4FBE016F5F7F4FC3 -:10C5F000CE0141960E940D978823D9F06F2D81E0DE -:10C600000E94E59480E090E0A0EAB1E48D879E87E7 -:10C61000AF87B88B8091270B882359F02F2DAE015F -:10C62000435F5F4FBE01635E7F4FCE0149960E941C -:10C630008A95A0960FB6F894DEBF0FBECDBFDF91EE -:10C64000CF91FF90EF90DF90CF900895CF92DF923F -:10C65000EF92FF92CF93DF93CDB7DEB76C970FB613 -:10C66000F894DEBF0FBECDBF8CE40E94A593882353 -:10C6700081F00E946E936B017C0120E030E0A90103 -:10C680000F94572787FF0BC0F7FAF094F7F8F09450 -:10C6900006C0C12CD12C80E8E82E80E4F82EF7FAF1 -:10C6A000F094F7F8F094C98EDA8EEB8EFC8E80E071 -:10C6B00090E0A8E4B2E489839A83AB83BC8380E0F2 -:10C6C00090E0A0E2B1E48D839E83AF83B887898731 -:10C6D0009A87AB87BC8788E50E94EE938823A1F0F8 -:10C6E00040E050E0BA0188E50E9400D02091F713A5 -:10C6F0003091F8134091F9135091FA130F94F624E6 -:10C7000069837A838B839C8389E50E94EE938823D7 -:10C71000A1F040E050E0BA0189E50E9400D02091EC -:10C72000F7133091F8134091F9135091FA130F94C5 -:10C73000F6246D837E838F8398878AE50E94EE932B -:10C74000882351F040E050E0BA018AE50E9400D011 -:10C7500069877A878B879C87F0909C17F2FAFF2471 -:10C76000F0F81D861E861F86188A20E0AE01435F02 -:10C770005F4FBE016F5F7F4FCE0149960E940D97BC -:10C78000882329F1F11023C060E080E00E94E59445 -:10C7900080E090E0A0E8B0E48D8B9E8BAF8BB88FEB -:10C7A000198A1A8A1B8A1C8A1D861E861F86188A69 -:10C7B0008091270B882359F020E0AE014B5E5F4F3C -:10C7C000BE016F5E7F4FCE010D960E948A956C96DA -:10C7D0000FB6F894DEBF0FBECDBFDF91CF91FF90B3 -:10C7E000EF90DF90CF9008950F94350A88E993E396 -:10C7F0000F944C0983E50E94A593882321F00E94A1 -:10C800005A9380934D0280914D02811103C08AEFAB -:10C810009CE002C08EEF9CE00F944C0980E993E30A -:10C820000F944C092091F7133091F8134091F913AC -:10C830005091FA136091350270913602809137025F -:10C84000909138020F94F724AB01BC018EE893E37A -:10C850000F94000A2091FB133091FC134091FD13BB -:10C860005091FE1360913D0270913E0280913F0213 -:10C87000909140020F94F724AB01BC018BE893E345 -:10C880000F94000A2091FF1330910014409101147D -:10C8900050910214609145027091460280914702C6 -:10C8A000909148020F94F724AB01BC0188E893E310 -:10C8B0000F94000A80E893E30F944C092091F7133A -:10C8C0003091F8134091F9135091FA1360913902A5 -:10C8D00070913A0280913B0290913C020F94F724B0 -:10C8E000AB01BC018EE793E30F94000A2091FB1388 -:10C8F0003091FC134091FD135091FE136091410261 -:10C900007091420280914302909144020F94F72467 -:10C91000AB01BC018BE793E30F94000A2091FF1356 -:10C920003091001440910114509102146091490219 -:10C9300070914A0280914B0290914C020F94F7241F -:10C94000AB01BC0188E793E30F94000A8AE00C94E2 -:10C95000AE52882319F00F94350A03C080E20E947A -:10C96000AE524091BC105091BD106091BE107091BC -:10C97000BF1081E793E30F94000A4091C0105091DB -:10C98000C1106091C2107091C3108EE693E30F94B2 -:10C99000000A4091C4105091C5106091C61070916A -:10C9A000C7108BE693E30F94000A4091C810509192 -:10C9B000C9106091CA107091CB1088E693E30F9470 -:10C9C000000A8AE00C94AE522F923F924F925F92EF -:10C9D0006F927F928F929F92AF92BF92CF92DF928F -:10C9E000EF92FF920F931F93CF93DF9300D01F928C -:10C9F000CDB7DEB72DB63EB684E50E94A593882359 -:10CA000009F441C060E089E40E94FB93082F61E0D3 -:10CA100070E082E50E9455A76C0160E070E083E55C -:10CA20000E9455A7182F65E470E08CE40E9455A77A -:10CA30005C0164EF71E087E50E9455A72C01990F16 -:10CA400066087708812F90E0A816B906CCF0163456 -:10CA5000A8F4011156C1812F0E941F50882309F4A8 -:10CA600050C129E837E041E060E0812F0E94AFCA61 -:10CA70008AE00E94AE528AE00E94AE521F5FE2CF6F -:10CA80008AE490E399C085E40E94A5938823B1F0DD -:10CA90000E945A9380933A1387E593E30F944C09CD -:10CAA00080913A13811103C089E493E302C08DE4BD -:10CAB00093E30F944C0980E593E37EC083E50E94E5 -:10CAC000A593882309F47BC060E080E50E9464A7F9 -:10CAD000082F10E0B8018FEE92E30F94110AF801CD -:10CAE000EE0FFF1FEE0FFF1FE35BFC4F60817181B4 -:10CAF0008EED92E30F94F3096AE570E08DEC92E31A -:10CB00000F94F3098AE00E94AE5262E170E089EB73 -:10CB100092E30F94110A8AE00E94AE528DE992E3EB -:10CB20000F944C0981E590E30F944C098AE00E9430 -:10CB3000AE5253985B9A88E892E30F944C0954EFF5 -:10CB4000452E55245394612C712C49825A826B8254 -:10CB50007C82BE016F5F7F4F80EA0E944B986EEE31 -:10CB6000862E62E0962EA12CB12C89829A82AB820D -:10CB7000BC82BE016F5F7F4F8AE50E944B987801AF -:10CB8000EE0CFF1C4B990DC149825A826B827C824C -:10CB9000BE016F5F7F4F8CE30E944B984B99E3C0BF -:10CBA00000C18FEFE81AF80A98E9E9169AE3F90646 -:10CBB00009F046C187E590E30F944C09DAC160E0C3 -:10CBC00070E080E50E9455A78C01F82E80E50E9458 -:10CBD000EE93811107C0E5E4E01708F4CAC195E4BB -:10CBE000E92E01C0E02E60E089E40E94FB93582EFC -:10CBF00060E087E50E94FB93882309F47FC08DB62F -:10CC00009EB68AE393E30F944C096801DD248E2DD0 -:10CC100090E08C199D0901962DB73EB7281B390B62 -:10CC20000FB6F8943EBF0FBE2DBF8DB79EB70196CD -:10CC30005C01E01660F0063440F4511064C1802FAE -:10CC40000E941F50882309F45EC10F5FF2CF40900D -:10CC5000491283E08093491281E080934A1341E2B4 -:10CC600053E36AE273E382E00E94CA9481E193E3B2 -:10CC70000E94D6CF7F2CE71418F195E49715F0F0B9 -:10CC8000511005C0872D0E941F50811117C0872D9C -:10CC90000E9450FF682E072D10E00C191D090A0D87 -:10CCA0001B1DF8018081681649F02FEA35E040E04D -:10CCB000652D872D0E94AFCAF80160827394DBCF87 -:10CCC00080914A13882339F068EC70E080E090E0AE -:10CCD0000F941D09CFCF409249120FB6F8949EBE13 -:10CCE0000FBE8DBE46C1F5E4FF1538F02FEA35E0E2 -:10CCF00041E0652D8F2D0E94AFCAF394EF1498F791 -:10CD000038C1A89524E937E041E0602F812F0E94C7 -:10CD1000AFCA61E0812F0E94A8FFE12CF12CEC1436 -:10CD2000FD040CF0A8CEA89560E0812F0E9479FF49 -:10CD3000C301B2010F941D09A89561E0812F0E94E3 -:10CD400079FFC301B2010F941D09A89560E0812FFE -:10CD50000E9479FFC301B2010F941D09A8952FEF1E -:10CD6000E21AF20ADCCF89829A82AB82BC82BE01CF -:10CD70006F5F7F4F8AE00E944B984B9912C0898267 -:10CD80009A82AB82BC82BE016F5F7F4F8AE50E94B0 -:10CD90004B9883E492E30F944C09CC24C394D12C98 -:10CDA00036C08AE292E30F944C0984E0B82EC701A2 -:10CDB000800F911F9C0128563A4E69016AE070E08D -:10CDC000C6010E94365164EF71E080E090E00F945C -:10CDD0001D09A9B06AE570E0C6010E94365164EFF2 -:10CDE00071E080E090E00F941D0989B1BA94B11010 -:10CDF000E5CF8870D82EA3FE9CC08AEF91E30F94F4 -:10CE00004C09DD2009F4A2C0C12CDD24D3940E0D01 -:10CE10001F1D08561A4E6AE070E0C8010E94365184 -:10CE200064EF71E080E090E00F941D0986E191E3EA -:10CE30000F944C09E12CF12C34EFA32EBB24B394B6 -:10CE400062E070E080E090E00F941D09C701B50139 -:10CE50000F94C624892B51F40F940601609310148B -:10CE600070931114809312149093131489B183FB5F -:10CE7000882780F98D1509F494CEE12CF12C89B125 -:10CE800083FB882780F9D81669F062E070E080E0C3 -:10CE900090E00F941D098FEFE81AF80A9FE0E91659 -:10CEA000F10469F788E091E30F944C093FE0E31641 -:10CEB000F10449F488EF90E30F944C09CC20A9F0D9 -:10CEC0008CED90E314C0B701660F771F8BEE90E3F3 -:10CED0000F94F3098AE00E94AE5234E0E316F104A5 -:10CEE00008F044C082E790E306C08CEC90E30F9416 -:10CEF0004C098DE990E30F944C096AE570E0C80194 -:10CF00000E94365136C062E0802F0E94A8FF61E087 -:10CF100070E080E090E00F94CC00602E712C6C18D3 -:10CF20007D08802F0E9450FFF501E60DF71D8083DC -:10CF30008CCE882349F08CED91E30F944C096FE976 -:10CF400077E08BE991E30AC0C12C61CF8CED91E3CE -:10CF50000F944C096AEC77E08BEB91E30F941E0A77 -:10CF60008AE00E94AE5280E491E326CE89EA90E303 -:10CF7000BECF0FB6F8943EBE0FBE2DBE0F900F90E1 -:10CF80000F900F90DF91CF911F910F91FF90EF9035 -:10CF9000DF90CF90BF90AF909F908F907F906F90D9 -:10CFA0005F904F903F902F900895CF92DF92EF9235 -:10CFB000FF920F931F93CF93DF93CDB7DEB7CE5A77 -:10CFC000D1090FB6F894DEBF0FBECDBFCF55DF4FEE -:10CFD000188219821A821B82C15AD0408091080897 -:10CFE00090910908A0910A08B0910B08CB55DF4F2A -:10CFF00088839983AA83BB83C55AD040C755DF4F26 -:10D0000019821882C95AD04084E690E0C555DF4F96 -:10D0100099838883CB5AD04010925D139E01275587 -:10D020003F4F44E050E0BE016B557F4FCE01855528 -:10D030009F4F0E94B150C555DF4F88819981CB5ACF -:10D04000D0400296C555DF4F99838883CB5AD04094 -:10D05000C755DF4F19821882C95AD04081E0C255A6 -:10D06000DF4F8883CE5AD0409E0127553F4F41E085 -:10D0700050E0BE0162557F4FCE0185559F4F0E9403 -:10D08000B1509E0127553F4F48E450E068EA70E1F7 -:10D09000CE0185559F4F0E94B1508E010F5F1F4FEB -:10D0A00080E1F80111928A95E9F780E090E0A0EA2A -:10D0B000B0E489839A83AB83BC839E0127553F4F9D -:10D0C00040E150E0B801CE0185559F4F0E94B1501C -:10D0D0009E0127553F4F44E050E063EE7BE0CE01D8 -:10D0E00085559F4F0E94B1509E0127553F4F4CE000 -:10D0F00050E064E979E0CE0185559F4F0E94B15020 -:10D100009E0127553F4F41E050E06AE272E0CE01B8 -:10D1100085559F4F0E94B1509E0127553F4F44E0D7 -:10D1200050E06BE572E0CE0185559F4F0E94B150F3 -:10D1300080912A1890912B18A0912C18B0912D183D -:10D1400089839A83AB83BC839E0127553F4F44E07C -:10D1500050E0B801CE0185559F4F0E94B150CF5588 -:10D16000DF4F188219821A821B82C15AD0407E0179 -:10D17000FDE6EF0EF11C83E0F701808389839E01B9 -:10D1800027553F4F44E050E0BE016F557F4FCE0121 -:10D1900085559F4F0E94B1509E0127553F4F41E05A -:10D1A00050E0B701CE0185559F4F0E94B1509E01BE -:10D1B00027553F4F41E050E0B801CE0185559F4FC4 -:10D1C0000E94B1502AE0D22EDA949E0127553F4F9B -:10D1D00044E050E0DD2049F0BE016F557F4FCE01A5 -:10D1E00085559F4F0E94B150EFCF63E074E1CE01AF -:10D1F00085559F4F0E94B1509E0127553F4F44E0F7 -:10D2000050E067E074E1CE0185559F4F0E94B15018 -:10D210009E0127553F4F44E050E06BE074E1CE01A2 -:10D2200085559F4F0E94B150CF55DF4F188219820C -:10D230001A821B82C15AD0409AE0D92EDA94DD209E -:10D2400071F09E0127553F4F44E050E0BE016F55FD -:10D250007F4FCE0185559F4F0E94B150EFCF85E0A3 -:10D26000F701808389839E0127553F4F41E050E0BD -:10D27000B701CE0185559F4F0E94B1509E012755A1 -:10D280003F4F41E050E0B801CE0185559F4F0E94CD -:10D29000B1509E0127553F4F44E050E063E673E1F3 -:10D2A000CE0185559F4F0E94B1509E0127553F4F9B -:10D2B00044E050E069E573E1CE0185559F4F0E943F -:10D2C000B1509E0127553F4F44E650E06FE673E1B1 -:10D2D000CE0185559F4F0E94B150F70110828FEF0C -:10D2E00089839E0127553F4F41E050E0B701CE01B1 -:10D2F00085559F4F0E94B1509E0127553F4F41E0F9 -:10D3000050E0B801CE0185559F4F0E94B1509E015B -:10D3100027553F4F44E050E06DE473E0CE01855562 -:10D320009F4F0E94B1509E0127553F4F41E050E072 -:10D3300068E573E1CE0185559F4F0E94B150809101 -:10D34000F1029091F202A091F302B091F402F70180 -:10D3500080839183A283B3838091F5029091F6023A -:10D36000A091F702B091F80289839A83AB83BC83C2 -:10D37000C356DF4F1882CD59D040C256DF4F1882B6 -:10D38000CE59D0409E0127553F4F44E050E0B701B1 -:10D39000CE0185559F4F0E94B1509E0127553F4FAA -:10D3A00044E050E0B801CE0185559F4F0E94B15036 -:10D3B0009E0127553F4F42E050E0BE0163567F4F2C -:10D3C000CE0185559F4F0E94B15080E1F801119226 -:10D3D0008A95E9F780E090E0A0E8BFE38D879E871B -:10D3E000AF87B88B8091190C90911A0CA0911B0CEF -:10D3F000B0911C0C89839A83AB83BC8380911D0CF4 -:10D4000090911E0CA0911F0CB091200C8D839E83D7 -:10D41000AF83B8878091210C9091220CA091230CAE -:10D42000B091240C89879A87AB87BC879E012755CA -:10D430003F4F40E150E0B801CE0185559F4F0E941B -:10D44000B15084E190E09A8389839E0127553F4F34 -:10D4500042E050E0B801CE0185559F4F0E94B15087 -:10D460009E0127553F4F4CE050E060E779E0CE0148 -:10D4700085559F4F0E94B1508FE790E09A83898332 -:10D480009E0127553F4F42E050E0B801CE0185553F -:10D490009F4F0E94B15081E089839E0127553F4FE5 -:10D4A00041E050E0B801CE0185559F4F0E94B15038 -:10D4B00080E2E9EFF2E0D80101900D928A95E1F760 -:10D4C0009E0127553F4F40E250E0B801CE018555FF -:10D4D0009F4F0E94B150F70110829E0127553F4F88 -:10D4E00041E050E0B701CE0185559F4F0E94B150F9 -:10D4F0009E0127553F4F41E050E061E071E1CE01D0 -:10D5000085559F4F0E94B1509E0127553F4F44E0E3 -:10D5100050E066E071E1CE0185559F4F0E94B15009 -:10D520008AE1F80111928A95E9F79E0127553F4F4C -:10D530004AE150E0B801CE0185559F4F0E94B1509D -:10D5400084E3E9E1F3E0D80101900D928A95E1F7D7 -:10D550009E0127553F4F44E350E0B801CE01855569 -:10D560009F4F0E94B15088E0F80111928A95E9F727 -:10D570009E0127553F4F48E050E0B801CE01855548 -:10D580009F4F0E94B1508DE0F80111928A95E9F702 -:10D590009E0127553F4F4DE050E0B801CE01855523 -:10D5A0009F4F0E94B150CF55DF4F188219821A82C7 -:10D5B0001B82C15AD0409E0127553F4F44E050E0A6 -:10D5C000BE016F557F4FCE0185559F4F0E94B150D0 -:10D5D0008CE0D82EF8018D2D11928A95E9F79E01E5 -:10D5E00027553F4F4CE050E0B801CE0185559F4F85 -:10D5F0000E94B1508CE6F80111928A95E9F79E01DC -:10D6000027553F4F4CE650E0B801CE0185559F4F5E -:10D610000E94B1509E0127553F4F4CE050E06CE412 -:10D6200073E1CE0185559F4F0E94B1509E01275551 -:10D630003F4F48E050E067E673E1CE0185559F4FCC -:10D640000E94B150F7011192DA94E9F7C355DF4F08 -:10D650001882CD5AD04080E090E0A0E4B0E4C356F8 -:10D66000DF4F88839983AA83BB83CD59D0409E0125 -:10D6700027553F4F44E050E0B701CE0185559F4FFD -:10D680000E94B1509E0127553F4F44E050E0B70142 -:10D690006C5F7F4FCE0185559F4F0E94B1509E0118 -:10D6A00027553F4F44E050E0B701685F7F4FCE0100 -:10D6B00085559F4F0E94B1509E0127553F4F41E035 -:10D6C00050E0BE0163557F4FCE0185559F4F0E94AC -:10D6D000B1509E0127553F4F44E050E0BE016356D4 -:10D6E0007F4FCE0185559F4F0E94B15080E3F701D7 -:10D6F00011928A95E9F784EF97E00E94B9539E0151 -:10D7000027553F4F40E350E0B701CE0185559F4F6D -:10D710000E94B15010915D13111156C0C555DF4FD5 -:10D72000C880D980CB5AD040F4E6CF1AD108C7556B -:10D73000DF4F88819981C95AD040F7019183808356 -:10D7400084E690E0C555DF4F99838883CB5AD0405B -:10D750009E0127553F4F44E050E061E873E0CE0161 -:10D7600085559F4F0E94B1509E0127553F4F42E083 -:10D7700050E0B701CE0185559F4F0E94B1500F94E4 -:10D78000350AB6018DE394E30F94F309F701408164 -:10D79000518160E070E080E394E30F94E2098DE250 -:10D7A00094E30F944C09FCECCF16F2E0DF0639F05D -:10D7B0000F94310A8FE494E30F944C0911E08091A7 -:10D7C0005D13182B10935D1383EF96E00E94B953FD -:10D7D00090915D1381E08927C255DF4F0FB6F89411 -:10D7E000DEBF0FBECDBFDF91CF911F910F91FF9094 -:10D7F000EF90DF90CF900895AF92BF92CF92DF92DB -:10D80000EF92FF921F93CF93DF93CDB7DEB7609770 -:10D810000FB6F894DEBF0FBECDBF80911118909166 -:10D820001218A0911318B091141889839A83AB83AE -:10D83000BC838091151890911618A0911718B0917B -:10D8400018188D839E83AF83B887809119189091A3 -:10D850001A18A0911B18B0911C1889879A87AB875A -:10D86000BC8780911D1890911E18A0911F18B0912F -:10D8700020188D879E87AF87B88B0E94F88B0E94F7 -:10D88000CE8E81E2A82E84E3B82E95E3E92E92E0B5 -:10D89000F92E25E1C22E24E3D22E10E0812F0E9422 -:10D8A00006BEF50185919591A591B491F70180830C -:10D8B0009183A283B383F60185919591A591B4914B -:10D8C000F70184839583A683B7831F5FF4E0AF0ECF -:10D8D000B11C88E0E80EF11CE4E0CE0ED11C133040 -:10D8E000E9F660915F1370916013809161139091DC -:10D8F00062130F94D40D0F9408070E943F8C40E1EF -:10D9000050E061E178E1CE0101960F941628892B51 -:10D9100089F060960FB6F894DEBF0FBECDBFDF91E1 -:10D92000CF911F91FF90EF90DF90CF90BF90AF907D -:10D930000C9481C460960FB6F894DEBF0FBECDBFC5 -:10D94000DF91CF911F91FF90EF90DF90CF90BF902C -:10D95000AF9008950F931F9380911C11813019F49B -:10D960000F94060108C060911811709119118091EF -:10D970001A1190911B1100910A1110910B11209115 -:10D980000C1130910D11601B710B820B930B28EE63 -:10D9900033E040E050E00F94572480910E119091B5 -:10D9A0000F11A0911011B0911111BC01CD01620FA6 -:10D9B000731F841F951F1F910F91089510921C11C2 -:10D9C00010920A1110920B1110920C1110920D115D -:10D9D000109218111092191110921A1110921B1115 -:10D9E00010920E1110920F1110921011109211112D -:10D9F000089580911C11813099F58CE098E00E9487 -:10DA0000B95381E09AE5909321168093201687E51B -:10DA100090E0909323168093221687E0809314164B -:10DA200082E88093171684E890E0A0E0B0E080934D -:10DA3000181690931916A0931A16B0931B160F94EC -:10DA4000800182E080931C110F94060160931811ED -:10DA50007093191180931A1190931B1181E008950E -:10DA600080E008958F929F92AF92BF92CF92DF9203 -:10DA7000EF92FF920F931F93CF93DF93CDB7DEB753 -:10DA80002C970FB6F894DEBF0FBECDBF8B0140E0E0 -:10DA900050E068E472E44D835E836F83788740E0F2 -:10DAA00050E060EA70E449875A876B877C87813051 -:10DAB00019F0823039F02AC0BE01675F7F4FC8017C -:10DAC000089646C0F80120853185428553856091CE -:10DAD000191870911A1880911B1890911C180F94A6 -:10DAE000F7246B017C0120E030E048EC53E40F9414 -:10DAF000011E87FD06C0C12CD12C88ECE82E83E4E2 -:10DB0000F82EC982DA82EB82FC821DC0809019183F -:10DB100090901A18A0901B18B0901C18F801C0849F -:10DB2000D184E284F3849601A701B401C5010F9466 -:10DB3000011E87FD02C064017501C601D7018983FA -:10DB40009A83AB83BC83BE01675F7F4FCE01019692 -:10DB50000E94A3C2B8016C5F7F4FAE014B5F5F4F65 -:10DB6000C8010E9481C20E9481C42C960FB6F8940D -:10DB7000DEBF0FBECDBFDF91CF911F910F91FF9000 -:10DB8000EF90DF90CF90BF90AF909F908F900895CF -:10DB900080919C1782FF2AC00E944CD7882319F1DC -:10DBA0008091941790919517A0919617B09197171F -:10DBB0000097A105B105B9F0BC01CD016D597F4FAA -:10DBC0008F4F9F4F24E630E040E050E00F94572401 -:10DBD000609198177091991780919A1790919B175F -:10DBE0000F94572401C020E020934B1380914B13D6 -:10DBF0008F7708950F931F93CF93DF938C0167FF67 -:10DC000003C01092DB0B60E08091DB0B90E0262FCD -:10DC1000062E000C330B2817390734F16093DB0B09 -:10DC2000C8010F944F1D800F911FEC01C01BD10B39 -:10DC3000C034D1053CF00197FC012491207C2038B0 -:10DC4000D1F3F3CFDD27AE01B8018BE99BE00F9450 -:10DC5000701DC556D44F18828BE99BE0DF91CF91A0 -:10DC60001F910F910C9491CFDF91CF911F910F9144 -:10DC7000089510924A131092140280919C178062AA -:10DC800080939C1761E08CEE93E30E94109440E037 -:10DC900050E061E074E385E00E9483950E940E8B62 -:10DCA00060E083EF93E30C94FAEDCF93DF93209140 -:10DCB000DB0B211120C0FC0101900020E9F7319716 -:10DCC000EF01C81BD90BC034D1052CF02291207C68 -:10DCD0002038E1F3F5CFBC01DD27AE018BE99BE0F5 -:10DCE0000F946A28C556D44F18828BE99BE0DF91C8 -:10DCF000CF910C9491CFDF91CF91089580919C1793 -:10DD000082FD05C080911C11823069F411C08091A0 -:10DD1000391A882319F089E39AE102C08BE79AE166 -:10DD200061E00C9455EE813031F483ED93E305C04E -:10DD30008FED93E302C08FEB93E36FEF0C94FAED5A -:10DD4000FF920F931F93CF93DF938B01D82FC92F8F -:10DD5000F42E20E030E048EC52E40F94011E87FFDF -:10DD60000FC020E030E0A901B8018D2F9C2F0F9447 -:10DD7000572718164CF000E010E0D0E0C0E004C0D7 -:10DD800000E010E0D8ECC2E481E08F15E0F0B801CB -:10DD90008D2F9C2F0F9463269B01AC01AFEFB0E059 -:10DDA0000F94982424E630E040E050E00F9479246A -:10DDB000EF2DF0E0E550F44F2F3F310519F010F052 -:10DDC0002FEF30E02083DF91CF911F910F91FF90D3 -:10DDD0000895E3E3F3E11082118212821382148228 -:10DDE00080E00C9465DF2F923F924F925F926F928A -:10DDF0007F928F929F92AF92BF92CF92DF92EF92DB -:10DE0000FF920F931F93CF93DF93CDB7DEB7CE5919 -:10DE1000D1090FB6F894DEBF0FBECDBF2DB63EB60A -:10DE2000CB56DF4F19821882C559D04084E690E066 -:10DE3000C956DF4F99838883C759D04001E09E01BE -:10DE40002B563F4F44E050E0BE016F567F4FCE014E -:10DE500089569F4F0E9474509E012B563F4F42E0BF -:10DE600050E0BE0167567F4FCE0189569F4F0E94FA -:10DE7000745043E050E0BE016F567F4F81E893E05D -:10DE80000F945C28892B19F1CC56DF4F8881C45937 -:10DE9000D040882359F08FE3CF56DF4F8883C15994 -:10DEA000D040CE56DF4F1882C259D0400F94350A69 -:10DEB000BE016F567F4F87EE94E30F941E0A89EDE3 -:10DEC00094E30F944C0981E080935D13EEC5C35732 -:10DED000DF4F188219821A821B82CD58D040CB5650 -:10DEE000DF4F19821882C559D04001E09E012B56A0 -:10DEF0003F4F41E050E0BE0164567F4FCE0189564E -:10DF00009F4F0E9474504DB65EB680E1E1E5F3E0AC -:10DF1000DE01A358BF4F01900D928A95E1F780E191 -:10DF2000E1E6F3E0DE01A359BF4F01900D928A951F -:10DF3000E1F780E1E1E7F3E09E012F5F3F4F7901D8 -:10DF4000D90101900D928A95E1F7C456DF4F4881BF -:10DF5000CC59D04050E04D5F5F4F440F551F440FE8 -:10DF6000551F8DB79EB7841B950B0FB6F8949EBFB7 -:10DF70000FBE8DBFADB7BEB711965D0100915E13A8 -:10DF800011E001272C563F4FBD01CE0189569F4F0E -:10DF90000E94745000915E1301279E012B563F4F43 -:10DFA00044E050E068EB70E1CE0189569F4F0E943B -:10DFB0007450C456DF4FC880CC59D040D12CB3E048 -:10DFC000CB0ED11CCC0CDD1CCC0CDD1CEDB7FEB790 -:10DFD000EC19FD090FB6F894FEBF0FBEEDBF2DB7CB -:10DFE0003EB72F5F3F4F49014DB75EB74C195D09F2 -:10DFF0000FB6F8945EBF0FBE4DBF8DB79EB70196AA -:10E000003C0100915E1301279E012B563F4FA60154 -:10E01000B401CE0189569F4F0E94745000915E1347 -:10E0200001279E012B563F4FA601B301CE01895611 -:10E030009F4F0E94745000915E13002309F44EC05C -:10E0400011E001279E012B563F4F44E050E06CED5C -:10E0500070E1CE0189569F4F0E94745000915E136B -:10E0600001279E012B563F4F44E050E060EE70E1E7 -:10E07000CE0189569F4F0E94745000915E13012774 -:10E080009E012B563F4F44E050E064EE70E1CE011C -:10E0900089569F4F0E94745000915E1301279E0184 -:10E0A0002B563F4F44E050E068EE70E1CE018956B8 -:10E0B0009F4F0E94745000915E1301279E012B56C2 -:10E0C0003F4F44E050E06CEE70E1CE0189569F4F27 -:10E0D0000E94745015E0DD24D39489C0C456DF4FEC -:10E0E0002881CC59D04030E02E5F3F4FE8EAF0E184 -:10E0F000C356DF4FB982A882CD59D04080E090E06E -:10E10000B701281739073CF0C356DF4FA881B98102 -:10E11000CD59D04012C0AC018430910510F043E0DD -:10E1200050E0440F551F440F551FBDE7CB2ED12C97 -:10E13000CC0EDD1E4C0D5D1DDA01AD90BD90CD9075 -:10E14000DC90A192B192C192D1922817390714F0B4 -:10E15000D40112C0AC018430910510F043E050E0CE -:10E16000440F551F440F551F1DE6C12ED12CCC0E58 -:10E17000DD1E4C0D5D1DDA01AD90BD90CD90DC90A3 -:10E18000A08AB18AC28AD38A2817390714F0D3012A -:10E190000DC0AC018430910510F043E050E0440F15 -:10E1A000551F440F551F460F571FDA01AD90BD9004 -:10E1B000CD90DC90A0A2B1A2C2A2D3A20196B4E0FD -:10E1C0006B0E711C44E0840E911CC356DF4FA88176 -:10E1D000B981CD59D0401496C356DF4FB983A88377 -:10E1E000CD59D0408430910509F08BCF29CF115003 -:10E1F00000915E13112379F00D259E012B563F4FA0 -:10E2000044E050E0BE0163577F4FCE0189569F4FD7 -:10E210000E947450ECCF11E001279E012B563F4F16 -:10E2200044E050E063EE7BE0CE0189569F4F0E94B0 -:10E2300074500FB6F8945EBE0FBE4DBE00915E13D3 -:10E2400001279E012B563F4F4CE050E064E979E0F6 -:10E25000CE0189569F4F0E94745000915E13012792 -:10E260009E012B563F4F41E050E06AE272E0CE0142 -:10E2700089569F4F0E94745000915E1301279E01A2 -:10E280002B563F4F44E050E0BE016F5F7F4FCE0101 -:10E2900089569F4F0E94745000915E1301110CC06B -:10E2A00089819A81AB81BC8180935B0290935C02EF -:10E2B000A0935D02B0935E0211E001279E012B56F0 -:10E2C0003F4F44E050E06FE573E1CE0189569F4F28 -:10E2D0000E94745000915E1301279E012B563F4F00 -:10E2E00044E050E0BE0163577F4FCE0189569F4FF7 -:10E2F0000E94745001E09E012B563F4F41E050E0D8 -:10E30000BE0163597F4FCE0189569F4F0E947450C2 -:10E310009E012B563F4F41E050E0BE016F5F7F4FA3 -:10E32000CE0189569F4F0E947450AE96AFACAE9707 -:10E330008981A89E50011124C12CD12C00915E131B -:10E34000CA14DB0491F001279E012B563F4F44E095 -:10E3500050E0BE0163577F4FCE0189569F4F0E9408 -:10E360007450BFEFCB1ADB0AE9CF11E001279E0101 -:10E370002B563F4F44E050E063E074E1CE018956F4 -:10E380009F4F0E94745000915E1301279E012B56EF -:10E390003F4F44E050E067E074E1CE0189569F4F63 -:10E3A0000E94745000915E1301279E012B563F4F2F -:10E3B00044E050E06BE074E1CE0189569F4F0E942B -:10E3C00074501AE0DD24D394115089F000915E134B -:10E3D0000D259E012B563F4F44E050E0BE01635790 -:10E3E0007F4FCE0189569F4F0E947450EDCF01E0C0 -:10E3F0009E012B563F4F41E050E0BE0165567F4FD6 -:10E40000CE0189569F4F0E9474509E012B563F4F5C -:10E4100041E050E0BE0163587F4FCE0189569F4FC7 -:10E420000E947450C556DF4F8881CB59D04000916F -:10E430005E138530C9F5EE968FADEE978530A1F568 -:10E44000011103C080E00F94C20600915E1311E039 -:10E4500001279E012B563F4F44E050E063E673E1F5 -:10E46000CE0189569F4F0E94745000915E13012780 -:10E470009E012B563F4F44E050E069E573E1CE0129 -:10E4800089569F4F0E94745000915E1301279E0190 -:10E490002B563F4F44E650E06FE673E1CE018956BC -:10E4A0009F4F0E94745043C011E001279E012B56DC -:10E4B0003F4F44E050E0BE0163597F4FCE01895683 -:10E4C0009F4F0E94745000915E1301279E012B56AE -:10E4D0003F4F44E050E0BE016F5F7F4FCE01895651 -:10E4E0009F4F0E947450C556DF4FA880CB59D04033 -:10E4F000EE968FADEE97A89E50011124C12CD12C21 -:10E50000AC14BD04A1F000915E1301279E012B56AF -:10E510003F4F44E050E0BE0163577F4FCE01895624 -:10E520009F4F0E947450EFEFCE1ADE0AE9CF0091A0 -:10E530005E1311E001279E012B563F4F41E050E052 -:10E54000BE0163597F4FCE0189569F4F0E94745080 -:10E5500000915E1301279E012B563F4F41E050E092 -:10E56000B701CE0189569F4F0E94745000915E13EF -:10E5700001279E012B563F4F44E050E0B701CE01EA -:10E5800089569F4F0E94745000915E1301279E018F -:10E590002B563F4F41E050E068E573E1CE018956CC -:10E5A0009F4F0E94745000915E1301279E012B56CD -:10E5B0003F4F44E050E0BE0163597F4FCE01895682 -:10E5C0009F4F0E94745000915E1301279E012B56AD -:10E5D0003F4F44E050E0B701CE0189569F4F0E9463 -:10E5E000745000915E1301279E012B563F4F42E06D -:10E5F00050E0BE0163587F4FCE0189569F4F0E9465 -:10E60000745000915E1301279E012B563F4F40E14D -:10E6100050E0B701CE0189569F4F0E94745000917F -:10E620005E1301112EC089809A80AB80BC8020E0EF -:10E6300030E84BE355E4C501B4010F94011E882373 -:10E6400001F18092190C90921A0CA0921B0CB092BE -:10E650001C0C8D819E81AF81B88580931D0C909399 -:10E660001E0CA0931F0CB093200C89859A85AB8556 -:10E67000BC858093210C9093220CA093230CB09323 -:10E68000240C11E001279E012B563F4F42E050E041 -:10E69000BE016F5F7F4FCE0189569F4F0E9474501D -:10E6A00000915E1301279E012B563F4F4CE050E036 -:10E6B000BE016F5F7F4FCE0189569F4F0E947450FD -:10E6C00000915E13011115C020E030E84BE355E4E2 -:10E6D00069817A818B819C810F94011E882349F086 -:10E6E0008CE0FE013196A0E7B9E001900D928A9589 -:10E6F000E1F711E001279E012B563F4F42E050E029 -:10E70000B701CE0189569F4F0E94745000915E134D -:10E7100001279E012B563F4F41E050E0B701CE014B -:10E7200089569F4F0E94745000915E1301279E01ED -:10E730002B563F4F40E250E0B701CE0189569F4F24 -:10E740000E94745000915E1301279E012B563F4F8B -:10E7500041E050E0BE0163597F4FCE0189569F4F83 -:10E760000E94745000915E1301279E012B563F4F6B -:10E7700045E050E0B701CE0189569F4F0E9474508A -:10E7800000915E1301110FC08981809301118A816C -:10E790009B81AC81BD818093061190930711A0935A -:10E7A0000811B093091111E001279E012B563F4F2C -:10E7B0004AE150E0B701CE0189569F4F0E94745044 -:10E7C00000915E1301279E012B563F4F44E350E01A -:10E7D000B701CE0189569F4F0E94745000915E137D -:10E7E00001279E012B563F4F48E050E0B701CE0174 -:10E7F00089569F4F0E94745000915E1301279E011D -:10E800002B563F4F4DE050E0B701CE0189569F4F48 -:10E810000E94745000915E1301279E012B563F4FBA -:10E8200044E050E0B701CE0189569F4F0E947450DA -:10E8300000915E1301279E012B563F4F4CE050E0A4 -:10E84000B701CE0189569F4F0E94745000915E130C -:10E8500001279E012B563F4F4CE650E0B701CE01F9 -:10E8600089569F4F0E94745019821A821B821C8203 -:10E870001D821E821F82188619861A861B861C8698 -:10E8800000915E1301279E012B563F4F4CE050E054 -:10E89000B701CE0189569F4F0E94745000915E13BC -:10E8A00001279E012B563F4F48E050E067E673E199 -:10E8B000CE0189569F4F0E94745000915E1301272C -:10E8C0009E012B563F4F44E050E0B701CE018956E0 -:10E8D0009F4F0E94745000915E1301279E012B569A -:10E8E0003F4F44E050E0BE016B5F7F4FCE01895641 -:10E8F0009F4F0E94745000915E1301279E012B567A -:10E900003F4F44E050E0BE01675F7F4FCE01895624 -:10E910009F4F0E94745000915E1301279E012B5659 -:10E920003F4F41E050E0BE0163587F4FCE01895612 -:10E930009F4F0E94745000915E1301279E012B5639 -:10E940003F4F44E050E0BE0163597F4FCE018956EE -:10E950009F4F0E94745080E3D7011D928A95E9F77A -:10E9600000915E1301279E012B563F4F40E350E07C -:10E97000B701CE0189569F4F0E94745080915E135B -:10E98000811104C083E298E00E94B953C956DF4F59 -:10E9900088819981C759D0408033934041F00F94CA -:10E9A000310A8FE494E30F944C0981E001C080E0C8 -:10E9B00080935D138823C1F00F94350AC956DF4F49 -:10E9C00068817981C759D0406456710981ED94E31B -:10E9D0000F94110A6CEC72E089EC94E30F94F30944 -:10E9E0008AE00E94AE5257C0CB56DF4F2881398152 -:10E9F000C559D040C756DF4F88819981C959D04049 -:10EA000028173907E1F081E080935D130F94310AF4 -:10EA1000C756DF4F68817981C959D04089EA94E3AC -:10EA20000F94F309CB56DF4F68817981C559D040E7 -:10EA300084EA94E30F94F30984E994E32AC0809173 -:10EA40005E13811128C00F94350A01E813E0F80124 -:10EA500081918F01882319F00E94AE52F8CFC956D8 -:10EA6000DF4F68817981C759D0406456710987E7C3 -:10EA700094E30F94110ACB56DF4F48815981C55951 -:10EA8000D04060E070E08AE694E30F94E20987E604 -:10EA900094E30F944C0980915E13811106C080911C -:10EAA0005D13811102C00E94FCEB80915E13811105 -:10EAB00002C00E94CAF690915D1381E089270FB6CB -:10EAC000F8943EBE0FBE2DBEC256DF4F0FB6F8946F -:10EAD000DEBF0FBECDBFDF91CF911F910F91FF9091 -:10EAE000EF90DF90CF90BF90AF909F908F907F90EE -:10EAF0006F905F904F903F902F9008958091250BDD -:10EB0000882319F01092250B089581E098E30F9463 -:10EB10002602A8EAB0E120E030E0C9012430310546 -:10EB200010F083E090E0880F991F880F991FFC0177 -:10EB3000E858FA4C459155916591749154964D93CE -:10EB40005D936D937C935797FC01E859FA4C45917E -:10EB500055916591749194964D935D936D937C93CB -:10EB60009797FC01E85AFA4C45915591659174913B -:10EB70004D935D936D937D932F5F3F4F243031050F -:10EB800009F0CBCF80E29EE4A0E0B0E08093B81023 -:10EB90009093B910A093BA10B093BB1080E090E0AE -:10EBA000A6E9B3E48093DC109093DD10A093DE100F -:10EBB000B093DF1040E050E06AE774E44093E01067 -:10EBC0005093E1106093E2107093E3108093E4108F -:10EBD0009093E510A093E610B093E7101092E81020 -:10EBE0001092E9101092EA101092EB101092EC10B3 -:10EBF0001092ED101092EE101092EF108AE097ED47 -:10EC0000A3EABDE38093E30B9093E40BA093E50BA1 -:10EC1000B093E60B8CE0E4E9F9E0DF011D928A9500 -:10EC2000E9F781E080932A02109263090E94445020 -:10EC300080E090E0A0EAB0E480935B0290935C02F5 -:10EC4000A0935D02B0935E0286E398E00E94B95300 -:10EC500010925F131092601310926113109262135E -:10EC60000E94A19980E090E0A8EDB1EC809303149C -:10EC700090930414A0930514B093061410920714F3 -:10EC8000109208141092091410920A1410920B1486 -:10EC900010920C1410920D1410920E1480E090E05B -:10ECA000AAECB1E48093190C90931A0CA0931B0C5E -:10ECB000B0931C0C85E698E0A6EBBEE380931D0C98 -:10ECC00090931E0CA0931F0CB093200C81E09FE149 -:10ECD000A0EEB3E48093210C9093220CA093230C1C -:10ECE000B093240C83EC95E9ACE2B4E48093700912 -:10ECF00090937109A0937209B093730980E29BE12C -:10ED0000A2E9B1E48093740990937509A093760900 -:10ED1000B093770987EF9CEDABECB5E4809378096D -:10ED200090937909A0937A09B0937B09109201110D -:10ED300080E090E0A0EEBFE380930611909307116E -:10ED4000A0930811B09309111092910910929009A3 -:10ED50000E94F6C580E090E0A7EDB3E480936713CE -:10ED600090936813A0936913B0936A1380936B1305 -:10ED700090936C13A0936D13B0936E130E94FCEBF1 -:10ED80000F94350A85E395E30F944C0986E398E0E8 -:10ED90000C94B9538F929F92AF92BF92CF92DF9211 -:10EDA000EF92FF920F931F93CF93C82F811102C050 -:10EDB0000F94350A8AEE97E30F944C0984EE97E39B -:10EDC0000F944C098AE00E94AE528AE00E94AE5233 -:10EDD000C11114C00F94350A81ED97E30F944C09CB -:10EDE00080910111882321F08AE00E94AE5204C074 -:10EDF00086EC97E30F944C090F94350A4091061165 -:10EE00005091071160910811709109118DEB97E3F2 -:10EE10000F94000A8AE00E94AE5280910111811184 -:10EE200008C0C11102C00F94350A82EB97E30F941A -:10EE30004C09C11106C00F94350A81EA97E30F947B -:10EE40004C096FEF81E08C270E94A9E4C11108C032 -:10EE50000F94350A83E897E30F944C090F94350A11 -:10EE60004091CC105091CD106091CE107091CF1088 -:10EE70008AE797E30F94000A4091D0105091D11087 -:10EE80006091D2107091D31087E797E30F94000A36 -:10EE90004091D4105091D5106091D6107091D71038 -:10EEA00084E797E30F94000A4091D8105091D9104D -:10EEB0006091DA107091DB1081E797E30F94000AFC -:10EEC0008AE00E94AE52C11108C00F94350A8FE447 -:10EED00097E30F944C090F94350A6091A810709134 -:10EEE000A9108091AA109091AB100F94061EAB014F -:10EEF000BC0186E497E30F94000A6091AC10709116 -:10EF0000AD108091AE109091AF100F94061EAB0122 -:10EF1000BC0183E497E30F94000A6091B0107091F4 -:10EF2000B1108091B2109091B3100F94061EAB01F6 -:10EF3000BC0180E497E30F94000A6091B4107091D3 -:10EF4000B5108091B6109091B7100F94061EAB01CA -:10EF5000BC018DE397E30F94000A8AE00E94AE5251 -:10EF6000C11108C00F94350A83EF96E30F944C0942 -:10EF70000F94350A4091DC105091DD106091DE1045 -:10EF80007091DF108AEE96E30F94000A4091E01032 -:10EF90005091E1106091E2107091E31087EE96E3DA -:10EFA0000F94000A4091E4105091E5106091E61032 -:10EFB0007091E71084EE96E30F94000A8AE00E94B5 -:10EFC000AE52C1110FC00F94350A8CE996E30F942D -:10EFD0004C098FE896E30F944C098AE00E94AE52E8 -:10EFE0000F94350A6091B8107091B9108091BA10E1 -:10EFF0009091BB100F94061EAB01BC0186E896E30E -:10F000000F94000A4091E8105091E9106091EA10C5 -:10F010007091EB1083E896E30F94000A4091EC1096 -:10F020005091ED106091EE107091EF1080E896E332 -:10F030000F94000A4091E30B5091E40B6091E50BB3 -:10F040007091E60B8DE796E30F94000A8AE00E9428 -:10F05000AE52C11108C00F94350A8FE696E30F94A3 -:10F060004C090F94350A409194095091950960918B -:10F0700096097091970986E696E30F94000A4091ED -:10F0800098095091990960919A0970919B0983E6BA -:10F0900096E30F94000A40919C0950919D0960915C -:10F0A0009E0970919F0980E696E30F94000A8AE01A -:10F0B0000E94AE52C11108C00F94350A8CE496E349 -:10F0C0000F944C090F94350A6091291870E083E47D -:10F0D00096E30F94110A40912A1850912B186091D1 -:10F0E0002C1870912D1880E496E30F94000A8AE0A2 -:10F0F0000E94AE528091631390916413892B09F49E -:10F1000043C09FE6C92E93E1D92E00E010E0E12C28 -:10F11000F12CA12CB12CC11102C00F94350AB501FC -:10F1200086E396E30F94110AB80183E396E30F9404 -:10F13000110A89E4882E88E0982EF40181914F010C -:10F14000882319F00E94AE52F8CFF601EE0DFF1D94 -:10F15000608171818281938145E00E943E538AE003 -:10F160000E94AE52FFEFAF1ABF0A84E1E80EF11C15 -:10F17000E4E6EE16F10479F60F5F1F4FF4E0CF0ED0 -:10F18000D11C0530110519F6C11108C00F94350ABC -:10F1900084E296E30F944C090F94350A4091190CC0 -:10F1A00050911A0C60911B0C70911C0C8BE196E332 -:10F1B0000F94000A2CEA35EC47E25EE360911D0CE7 -:10F1C00070911E0C80911F0C9091200C0F94F125D2 -:10F1D000AB01BC0188E196E30F94000A2CEA35EC00 -:10F1E00047E25EE36091210C7091220C8091230C28 -:10F1F0009091240C0F94671EAB01BC0185E196E34E -:10F200000F94000A8AE00E94AE52C11102C00F940E -:10F21000350A40917009509171096091720970919D -:10F2200073098CE096E30F94000A2CEA35EC47E270 -:10F230005EE36091740970917509809176099091EF -:10F2400077090F94F125AB01BC0189E096E30F9497 -:10F25000000A2CEA35EC47E25EE360917809709190 -:10F26000790980917A0990917B090F94671EAB010F -:10F27000BC0186E096E30F94000A8AE00E94AE5239 -:10F28000C11110C00F94350A87EF95E30F944C0914 -:10F2900084EE97E30F944C0988E895E30F944C09AA -:10F2A0000F94350A40910314509104146091051491 -:10F2B000709106148EEE95E30F94000A8AE00E9486 -:10F2C000AE52409107145091081460910914709146 -:10F2D0000A1485EE95E30F94000A8AE00E94AE526C -:10F2E00040910B1450910C1460910D1470910E14F8 -:10F2F0008CED95E30F94000A8AE00E94AE52C11192 -:10F3000008C00F94350A8DEB95E30F944C090F94C8 -:10F31000350A8BE895E30F944C0940916B1350919B -:10F320006C1360916D1370916E138BEB95E30F94DA -:10F33000000A4091671350916813609169137091AE -:10F340006A1388EB95E30F94000A8AE00E94AE529C -:10F35000C11108C00F94350A8FE995E30F944C0949 -:10F360000F94350A60912A0270E086E995E30F94C4 -:10F37000110A40915B0250915C0260915D027091B4 -:10F380005E0283E995E30F94000A8AE0CF911F9112 -:10F390000F91FF90EF90DF90CF90BF90AF909F9034 -:10F3A0008F900C94AE528F929F92AF92BF92CF9259 -:10F3B000DF92EF92FF920F931F93CF93DF9381E041 -:10F3C00080935E130E94F3EE10925E13882309F47B -:10F3D000DFC00E94F3EED82E8CE498E00E94B9536F -:10F3E0008091631390916413892B09F47BC0EE2400 -:10F3F000E394F12C00E010E0D1E035E0C32EC0E052 -:10F40000BB24B39445E0A42E55E0952E62E8862EE9 -:10F41000EB24CC16D1F18F2D90E04897A4F5F3940E -:10F42000F801AC9EE00DF11D1124EE0FFF1FEE0F51 -:10F43000FF1FE159FC4E20E030E04AE754E46081D0 -:10F440007181828193810F94671E0F94632670935C -:10F4500021166093201690921416809217164F2D45 -:10F4600050E04158574F440F551F052E000C660BB6 -:10F47000770B409318165093191660931A167093D1 -:10F480001B160F948001CD0FC4CF0F5F1F4F0530A7 -:10F49000110561F0E11005C0DFEFCC24CA94C4E08F -:10F4A000B7CFD1E025E0C22EC0E0B2CF83E090E03C -:10F4B000909321168093201685E08093141682E89D -:10F4C0008093171685E490E1A0E0B0E080931816D1 -:10F4D00090931916A0931A16B0931B160F948001DF -:10F4E00081E01BC082E090E090932116809320166B -:10F4F00085E08093141682E88093171685E490E1E6 -:10F50000A0E0B0E08093181690931916A0931A16F5 -:10F51000B0931B160F94800180E00F94C2064091B7 -:10F520000B1450910C1460910D1470910E1488E01E -:10F5300095E30F94000A8AE00E94AE5220E030E08A -:10F5400048EC52E460910B1470910C1480910D14EE -:10F5500090910E140F94671E0F94632670932116DA -:10F560006093201685E08093141682E88093171626 -:10F5700086E290E1A0E0B0E080931816909319160F -:10F58000A0931A16B0931B160F9480018D2D0BC0FB -:10F590000E9489F50E94D5E70F94350A81E295E330 -:10F5A0000F944C0980E0DF91CF911F910F91FF9054 -:10F5B000EF90DF90CF90BF90AF909F908F90089585 -:10F5C00090E0FC013197E231F10508F04EC0882748 -:10F5D000ED52FF4F8F4F0D94EE24809180008F7776 -:10F5E00003C0809180008F7D80938000089580917A -:10F5F0008000877FF9CF84B58F7702C084B58F7D77 -:10F6000084BD08958091B0008F7703C08091B000D1 -:10F610008F7D8093B0000895809190008F7707C010 -:10F62000809190008F7D03C080919000877F8093B0 -:10F63000900008958091A0008F7707C08091A0006E -:10F640008F7D03C08091A000877F8093A0000895E4 -:10F65000809120018F7707C0809120018F7D03C0AA -:10F6600080912001877F8093200108953FB7F8940F -:10F670008091D7139091D813A091D913B091DA1338 -:10F6800026B5A89B05C02F3F19F00196A11DB11DFD -:10F690003FBFBA2FA92F982F8827820F911DA11D38 -:10F6A000B11DBC01CD0142E0660F771F881F991F75 -:10F6B0004A95D1F708952F923F924F925F926F92A1 -:10F6C0007F928F929F92AF92BF92CF92DF92EF92F2 -:10F6D000FF920F931F93CF93DF93CDB7DEB7609761 -:10F6E0000FB6F894DEBF0FBECDBF9A8789877C879F -:10F6F0006B87342E222E0E9420A6882309F493C102 -:10F70000E985FA856081718182819381EB85FC8531 -:10F71000C080D180E280F3802091031430910414E2 -:10F7200040910514509106140F94F6244B015C018E -:10F7300020910714309108144091091450910A1433 -:10F74000C701B6010F94F6249B01AC01E090191893 -:10F75000F0901A1800911B1810911C184090630229 -:10F7600050906402609065027090660280915F0222 -:10F7700090916002A0916102B09162028093630255 -:10F7800090936402A0936502B093660219821A8274 -:10F790001B821C82CE0101966C01C501B4010E943E -:10F7A000C0C181E00E94BD898111C4C0809118143C -:10F7B00082FF11C020910B1430910C1440910D1454 -:10F7C00050910E1460E070E080E490EC0F94F62409 -:10F7D0004B015C0106C0812C912C30E2A32E31EC50 -:10F7E000B32E20E030E040E850E4C501B4010E94AF -:10F7F0002C89882329F060E070E080EC9FE753C0FB -:10F80000C0901918D0901A18E0901B18F0901C188E -:10F8100080E090E0A0E8B0E489839A83AB83BC8366 -:10F8200020E030E040EA50E4C701B6010F94F7242D -:10F830006D837E838F839887BE016F5F7F4FCE017C -:10F8400005960E94A3C220E030E040E050E4C501EC -:10F85000B4010E942C898111CECF20E030E040E439 -:10F8600050E46091191870911A1880911B189091AA -:10F870001C180F94671E6D877E878F87988BA70152 -:10F880009601C701B6010F94F7249B01AC016D8569 -:10F890007E858F8598890F94F7242DEC3CEC4CE401 -:10F8A0005EE30F94671E20910B1430910C1440916D -:10F8B0000D1450910E140F94F7246B018C018EEFF0 -:10F8C000830D823050F580E090E0A0E8B0E48983B9 -:10F8D0009A83AB83BC836091191870911A18809138 -:10F8E0001B1890911C18E3E03E1629F020E030E050 -:10F8F00040EA50E404C020E030E048EC51E40F94CA -:10F90000F7246D837E838F839887BE016F5F7F4F5F -:10F91000CE0105960E94A3C208C0F1E03F1205C0C7 -:10F9200080E00E94BD89811105C022E0221508F007 -:10F930005BC008C0F2E0F21508F07AC0C12CD12CEF -:10F9400000EC1FE729E6E22E28E0F22EF701819174 -:10F950007F01882319F00E94AE52F8CF2091F7134F -:10F960003091F8134091F9135091FA13E985FA8513 -:10F9700060817181828193810F94F72443E00E941A -:10F980003E5391E7E92E98E0F92EF70181917F012E -:10F99000882319F00E94AE52F8CF2091FB133091CA -:10F9A000FC134091FD135091FE13EB85FC856081A3 -:10F9B0007181828193810F94F72443E00E943E532A -:10F9C00086E7E82E88E0F82EF70181917F018823F1 -:10F9D00019F00E94AE52F8CF43E0B601C8010E9470 -:10F9E0003E538AE00E94AE524092630250926402FB -:10F9F00060926502709266029601A801B601C80184 -:10FA00000F94E927882309F180E00E94BD8960E016 -:10FA10008FE399E30E94FAED0F94310A8FE299E3A4 -:10FA20000F944C0912C0C12CD12C00EC1FE70DC063 -:10FA30004092630250926402609265027092660284 -:10FA4000C12CD12C00EC1FE7DFCFB601C8016096B6 -:10FA50000FB6F894DEBF0FBECDBFDF91CF911F91DF -:10FA60000F91FF90EF90DF90CF90BF90AF909F905D -:10FA70008F907F906F905F904F903F902F90089560 -:10FA800087EB94E10E947B6787EB94E10E94AE676D -:10FA900080919C178D7F8E7F80939C171092981772 -:10FAA0001092991710929A1710929B1781E08093E9 -:10FAB00082160895CF93DF9300D01F92CDB7DEB7A3 -:10FAC00080910F1481111BC081E080930F148091ED -:10FAD000E3139091E413A091E513B091E613B058AD -:10FAE00089839A83AB83BC839E012F5F3F4F4FEE88 -:10FAF00053E16BEE73E187EE93E10E941BA90F9037 -:10FB00000F900F900F90DF91CF910895CF93DF93D7 -:10FB100000D01F92CDB7DEB780910F148823F9F083 -:10FB20002AE939E949E95FE36091E3137091E4134D -:10FB30008091E5139091E6130F94671E69837A8391 -:10FB40008B839C839E012F5F3F4F4FEE53E16BEE03 -:10FB500073E187EE93E10E941BA910920F140F909E -:10FB60000F900F900F90DF91CF9108952F923F92B9 -:10FB70004F925F926F927F928F929F92AF92BF92BD -:10FB8000CF92DF92EF92FF920F931F93CF93DF9369 -:10FB9000CDB7DEB7A0970FB6F894DEBF0FBECDBFCE -:10FBA0001C018B015A8749873C872B87C09011180D -:10FBB000D0901218E0901318F0901418DC018D9179 -:10FBC0009D910D90BC91A02D8D879E87AF87B88B9E -:10FBD0009C01AD01C701B6010F94F6242B013C0135 -:10FBE0008091151890911618A0911718B0911818B7 -:10FBF000898B9A8BAB8BBC8BD8018D919D910D908D -:10FC0000BC91A02D8D8B9E8BAF8BB88F9C01AD01CD -:10FC100069897A898B899C890F94F6244B015C0150 -:10FC2000A3019201C301B2010F94671E2B013C0195 -:10FC3000A5019401C501B4010F94671E9B01AC019D -:10FC4000C301B2010F94F724698F7A8F8B8F9C8F39 -:10FC5000E985FA854080518062807380A30192011A -:10FC6000C701B6010F94F6246D8F7E8F8F8F98A3F6 -:10FC7000AB85BC858D909D90AD90BC90A501940105 -:10FC800069897A898B899C890F94F6246B017C01A0 -:10FC90002D853E854F855889C301B2010F94F62406 -:10FCA0002B013C012D893E894F89588DC501B40136 -:10FCB0000F94F6244B015C01A3019201C301B20130 -:10FCC0000F94671E2B013C01A5019401C501B401ED -:10FCD0000F94671E9B01AC01C301B2010F94F7247E -:10FCE0000F94A5274B015C012D8D3E8D4F8D58A1A2 -:10FCF000CA01B9010F94671E2B013C01A7019601AF -:10FD0000C701B6010F94671E9B01AC01C301B2018C -:10FD10000F94F7249B01AC01698D7A8D8B8D9C8D9E -:10FD20000F945727181604F520E030E0A901C5010B -:10FD3000B4010F94572787FF04C0C501B401905840 -:10FD400002C0C501B40120E030E040EA50E40F9465 -:10FD5000572718164CF49801A1016B857C8589857D -:10FD60009A850E94B6FD83C020E030E040E050E478 -:10FD7000698D7A8D8B8D9C8D0F94572718160CF0FA -:10FD800044C00E945AFD19821A821B821C8220E004 -:10FD900030E040E05FE36091191870911A1880918B -:10FDA0001B1890911C180F94F7246D837E838F830A -:10FDB00098879E012F5F3F4FAE014B5F5F4F65E11C -:10FDC00078E181E198E10E941BA919821A821B82C5 -:10FDD0001C8220E030E040E05FE36091DB13709133 -:10FDE000DC138091DD139091DE130F94F7246D8363 -:10FDF0007E838F8398879E012F5F3F4FAE014B5FBD -:10FE00005F4FB801C1010E941BA919821A821B828F -:10FE10001C829E012F5F3F4F4BED53E1B801C101A2 -:10FE20000E941BA92DEC3CEC4CEC5CE3C501B40139 -:10FE30000F94671E9B01AC016091DF137091E0137A -:10FE40008091E1139091E2130F94671E69837A8386 -:10FE50008B839C830E9486FD9E012F5F3F4F4BED5D -:10FE600053E16B857C8589859A850E941BA9A096A4 -:10FE70000FB6F894DEBF0FBECDBFDF91CF911F91BB -:10FE80000F91FF90EF90DF90CF90BF90AF909F9039 -:10FE90008F907F906F905F904F903F902F9008953C -:10FEA000CF93DF93282F30E0F901E751F74C84918D -:10FEB000F901ED55F74CD491F901E35AF74CC4918F -:10FEC000CC2391F081110E94E0FAEC2FF0E0EE0FCC -:10FED000FF1FED5BF74CA591B491EC91ED2381E010 -:10FEE00090E021F480E002C080E090E0DF91CF91CB -:10FEF00008951F93CF93DF93282F30E0F901E75146 -:10FF0000F74C8491F901ED55F74CD491F901E35A7E -:10FF1000F74CC491CC23C1F0162F81110E94E0FA56 -:10FF2000EC2FF0E0EE0FFF1FE75DF74CA591B491C9 -:10FF30009FB7F894111104C08C91D095D82302C0BA -:10FF4000EC91DE2BDC939FBFDF91CF911F91089541 -:10FF5000CF93DF9390E0FC01ED55F74C2491FC0129 -:10FF6000E35AF74C8491882361F190E0880F991F40 -:10FF7000FC01E15FF74CC591D491FC01E75DF74CC2 -:10FF8000A591B491611109C09FB7F894888120951B -:10FF900082238883EC912E230BC0623061F49FB7DB -:10FFA000F8948881322F309583238883EC912E2B0F -:10FFB0002C939FBF06C08FB7F894E8812E2B28831F -:10FFC0008FBFDF91CF9108951F93CF93DF93182FA9 -:10FFD000EB0161E00E94A8FF209711F460E004C0EB -:10FFE000CF3FD10539F461E0812FDF91CF911F918F -:10FFF0000C9479FFE12FF0E0E751F74CE4918E2F5C -:020000022000DC -:1000000090E0FC013197E231F10508F09DC08827AE -:10001000EB51FF4F8F4F0D94EE2484B5806884BD63 -:10002000C7BD97C084B5806284BDC8BD92C08091B1 -:100030008000806880938000D0938900C0938800FE -:1000400088C080918000806280938000D0938B0074 -:10005000C0938A007EC08091800088608093800079 -:10006000D0938D00C0938C0074C08091B0008068E4 -:100070008093B000C093B3006CC08091B0008062E8 -:100080008093B000C093B40064C0809190008068F9 -:1000900080939000D0939900C09398005AC08091AB -:1000A0009000806280939000D0939B00C0939A0050 -:1000B00050C080919000886080939000D0939D0004 -:1000C000C0939C0046C08091A00080688093A000EF -:1000D0008091A0008F7B8093A000D093A900C09353 -:1000E000A80037C08091A00080628093A000D093C8 -:1000F000AB00C093AA002DC08091A00088608093BF -:10010000A000D093AD00C093AC0023C0809120012B -:10011000806880932001D0932901C093280119C0E1 -:1001200080912001806280932001D0932B01C093A5 -:100130002A010FC080912001886080932001D09314 -:100140002D01C0932C0105C0C038D1050CF04BCF58 -:1001500045CFDF91CF911F910895863308F08653E4 -:1001600090917B00282F2870977F922B90937B0093 -:100170008770806480937C0080917A008064809393 -:100180007A0080917A0086FDFCCF809178002091E2 -:10019000790090E0922B08958F929F92AF92BF9238 -:1001A000CF92DF92EF92FF926B017C010E9436FBAF -:1001B0004B015C01C114D104E104F104F1F00E948F -:1001C00036FBDC01CB0188199909AA09BB09883ED5 -:1001D0009340A105B10570F321E0C21AD108E108EE -:1001E000F10888EE880E83E0981EA11CB11CC11492 -:1001F000D104E104F10419F7DDCFFF90EF90DF9017 -:10020000CF90BF90AF909F908F9008952FB7F894A4 -:100210006091D3137091D4138091D5139091D6131C -:100220002FBF089584E08A950000E9F70895FC0146 -:10023000DB018C9120813181382798E0A901440F9E -:10024000551F37FD06C09A019150C1F731832083B5 -:1002500008959A01B1E22B27B0E13B27F5CFEF9249 -:10026000FF920F931F93CF93DF93FC010190002027 -:10027000E9F731979F01281B390B12161306CCF5AD -:100280006AE56093641665EA6093651663E0620F41 -:100290006093661662E86093671650936816409301 -:1002A0006916FC01AAE6B6E1820F931F41914D93B6 -:1002B000E817F907D9F784E6E82E86E1F82E00E082 -:1002C00010E0E9012596C017D10764F0D7016D91C0 -:1002D0007D018AE194E10E945C5C0F9412010F5F42 -:1002E0001F4FF1CF8AE1E4E6F6E1DF011D928A9526 -:1002F000E9F7DF91CF911F910F91FF90EF90089553 -:100300000F931F93CF93DF93209115162A3509F091 -:1003100098C090911616953A09F093C080911416E2 -:10032000833008F48EC020936416909365168093F2 -:10033000661690911716909367169038B1F49091C5 -:10034000181690936816E0E2F6E1A9E6B6E120E01F -:1003500030E090E00297281739070CF044C0408144 -:1003600032964D932F5F3F4FF6CF833061F4913833 -:1003700009F064C0809118168093681680911C164D -:100380008093691630C09238F1F49091181620913C -:1003900019162093681690936916EAE6F6E120E0B4 -:1003A00030E090E0039728173907ECF4D901AE7FCD -:1003B000A05EB94E4C9111965C91508341832E5FA3 -:1003C0003F4F3296F0CF843071F4933861F48091CE -:1003D000181690911916909368168093691680915B -:1003E0001C1680936A1604E616E1C0E0D0E0809106 -:1003F000141690E002968C179D075CF0D8016D9161 -:100400008D018AE194E10E945C5C0F9412012196B7 -:10041000EECF80E5E4E1F6E1DF011D928A95E9F790 -:100420008AE1E4E6F6E1DF011D928A95E9F78AE5C3 -:100430008093151685EA8093161603C0923899F6B4 -:10044000A4CFDF91CF911F910F910895CF93DF93A8 -:10045000CDB7DEB7A8970FB6F894DEBF0FBECDBFFD -:100460008C010E94C5DF0F94310A87E799E30F944E -:100470004C090115110511F40EE619E380911914C8 -:1004800080FD75C08160809319148BE798E00E940D -:10049000B953882483948AE5982E909221168092ED -:1004A00020168FE090E0909323168093221697E019 -:1004B000A92EA092141622E8B22EB092171634E894 -:1004C000C32ED12CE12CF12CC0921816D092191603 -:1004D000E0921A16F0921B160F948001909221164A -:1004E0008092201688E590E0909323168093221640 -:1004F000A0921416B0921716C0921816D092191620 -:10050000E0921A16F0921B160F94800163E070E0DF -:1005100080E090E00E94B7CE8AE289838A838B8351 -:100520008C83DE011596F801CE0101969D01281BF2 -:10053000390B44913196442311F04D93F7CFFC01D0 -:10054000E20FF31F2AE2AF01481B590B4832510555 -:1005500011F02193F8CF40E650E160E070E00F9495 -:100560002F016AE070E080E090E00E94B7CE61E089 -:1005700085E699E30E94109489EE93E030E60197B6 -:1005800029F0232F2A950000E9F7F9CFF89489EE96 -:1005900093E038EE019729F0232F2A950000E9F720 -:1005A000F9CF0E94C5DF0E941D50A895FECFCF92C3 -:1005B000DF92EF92FF920F9406016B017C0128E518 -:1005C000C20E22E0D21EE11CF11C0E94AD5B8F3FE7 -:1005D00061F00F940601DC01CB018C199D09AE0975 -:1005E000BF09B7FDF2CF80E001C081E0FF90EF903E -:1005F000DF90CF9008958F929F92AF92BF92CF924B -:10060000DF92EF92FF920F931F93CF93DF9300D06F -:100610001F92CDB7DEB7FC018381813079F58181EE -:1006200081FF2CC081899289A389B489892B8A2B67 -:100630008B2B09F448C07F0140E050E0BA01CF01A4 -:100640000E9442648823D1F0F70185889688A788A4 -:10065000B08CC18CD28C82E090E0A0E0B0E0F601DA -:1006600080839183A283B3839E012F5F3F4FB501A7 -:10067000A401C6010E945A63811102C080E03CC0FF -:1006800000E010E09801B501A401C6010E94C86213 -:100690008823A1F389809A80AB80BC80F60187898A -:1006A000803141F4F8EF8F16FFEF9F06A104B104EB -:1006B00060F4DACF88EF88168FEF9806A8068FE0EF -:1006C000B80618F4D1CF81E017C0F701158A168A51 -:1006D000178A108E118A128A138A148A818180687F -:1006E0008183C7010E947B67882341F240E050E08C -:1006F000BA01C7010E9442640F900F900F900F90B3 -:10070000DF91CF911F910F91FF90EF90DF90CF90ED -:10071000BF90AF909F908F9008952F923F924F92ED -:100720005F926F927F928F929F92AF92BF92CF9281 -:10073000DF92EF92FF920F931F93CF93DF931F925D -:100740001F92CDB7DEB77C012DB73EB73A83298320 -:100750008091DD17811107C01092C2171092C51742 -:1007600081E08093DD178091BA17811107C0109244 -:100770009F171092A21781E08093BA17FB01808126 -:100780008F3259F480E195E1F701918380831092D3 -:1007900092178B010F5F1F4F06C085EF94E1F701A1 -:1007A000918380838B01F7012080318022ECC22E5F -:1007B00027E1D22E0115110509F479C04DB65EB6B8 -:1007C0006FE270E0C8010F944A284C01081719071E -:1007D00008F06BC03C01601A710A7724C3010196CE -:1007E0002DB73EB7281B390B0FB6F8943EBF0FBE8E -:1007F0002DBF8DB79EB701965C01A301B8010F9480 -:100800006A28F501E60DF71D1082F70160817181FC -:1008100021E0A501C6010E949A6B81110FC0B501AC -:1008200081E599E30F941E0A8EE499E30F944C0935 -:100830000FB6F8945EBE0FBE4DBE39C0F701808181 -:1008400091812816390611F00E94AE67F701D18216 -:10085000C082A0919217AA3080F481E08A0F809321 -:100860009217FBE1FA9FD0011124AC57B94EF60163 -:100870008BE101900D928A95E1F7F70180819181DA -:10088000825C974129F49FE9C92E97E1D92E04C0D3 -:1008900082ECC82E87E1D82E84010F5F1F4F0FB660 -:1008A000F8945EBE0FBE4DBE85CFC80102C080E089 -:1008B00090E029813A810FB6F8943EBF0FBE2DBF5C -:1008C0000F900F90DF91CF911F910F91FF90EF90BC -:1008D000DF90CF90BF90AF909F908F907F906F9060 -:1008E0005F904F903F902F90089520911814269577 -:1008F000269520FF2DC020919D1730919E17280F1F -:10090000391F30939E1720939D1720911614309114 -:100910001714280F391F30931714209316142091A1 -:1009200008012170209306012091141430911514B0 -:10093000820F931F90931514809314140F94060143 -:1009400060931014709311148093121490931314E5 -:1009500008954F925F926F927F928F929F92AF9283 -:10096000BF92CF92DF92EF92FF920F931F93CF939C -:10097000DF93EC016091591370915A13072E000C0C -:10098000880B990B0F94081E9B01AC01688179813B -:100990008A819B810F94F6246B017C0160915B132B -:1009A00070915C13072E000C880B990B0F94081E96 -:1009B0009B01AC016C817D818E819F810F94F62417 -:1009C0004B015C0120916D0230916E0240916F02EB -:1009D00050917002C701B6010F94011E882309F4DB -:1009E00067C0C0926D02D0926E02E0926F02F092E8 -:1009F00070022091091830910A1840910B185091FB -:100A00000C18C701B6010F94671E2B013C010F940F -:100A100099266B017C0120E030E0A9010F94011EB2 -:100A200087FD11C020E030E040E850E4C701B60186 -:100A30000F945727181654F4C12CD12CC0E8EC2E73 -:100A4000C0E4FC2E03C0C12CD12C7601A701960175 -:100A5000C301B2010F94F6242B013C0120E030E0E9 -:100A6000A9010F94011E87FD09C0409205185092FC -:100A70000618609207187092081808C0109205189E -:100A8000109206181092071810920818C701B601A4 -:100A90000F94632660930418062E000C770B6F5F8B -:100AA0007F4F6430710514F064E070E060930318C8 -:100AB0002091690230916A0240916B0250916C0260 -:100AC000C501B4010F94011ED09168021091041861 -:100AD000811103C0D11368C028C18092690290922D -:100AE0006A02A0926B02B0926C0220910D183091B4 -:100AF0000E1840910F1850911018C501B4010F94B1 -:100B0000671E4B015C010F9499266B017C0120E06C -:100B100030E0A9010F94011E87FD11C020E030E0F4 -:100B200040E850E4C701B6010F945727181654F453 -:100B3000C12CD12CB0E8EB2EB0E4FB2E03C0C12CAD -:100B4000D12C7601A7019601C501B4010F94F624BA -:100B50004B015C0120E030E0A9010F94011E87FDEC -:100B600009C08092FF1790920018A0920118B092CD -:100B7000021808C01092FF17109200181092011866 -:100B800010920218C701B6010F9463266093FE17F6 -:100B9000062E000C770B6F5F7F4F6430710514F0E9 -:100BA00064E070E06093FD17C091FE17D11305C09B -:100BB000809167028C1709F46EC010936802C0938D -:100BC00067020C2E000CDD0B85E0F82E2F2D120392 -:100BD000C0011124FC01EC0FFD1FEE0FFF1FEE0FF3 -:100BE000FF1FE159FC4E20813181428153812093C6 -:100BF000F9173093FA174093FB175093FC170091A5 -:100C0000FD17002E000C110BFC01E00FF11FEE0F81 -:100C1000FF1FEE0FFF1FE159FC4E60817181828141 -:100C200093810F94F6246093F5177093F6178093D1 -:100C3000F7179093F817209103183F2D2303F00125 -:100C40001124CE0FDF1FCC0FDD1FCC0FDD1FC159CC -:100C5000DC4E288139814A815B812093F1173093E2 -:100C6000F2174093F3175093F417E00FF11FEE0FB4 -:100C7000FF1FEE0FFF1FE159FC4E608171818281E1 -:100C800093810F94F6246093ED177093EE17809381 -:100C9000EF179093F0178090FF1790900018A09096 -:100CA0000118B09002182091F5173091F617409175 -:100CB000F7175091F817C501B4010F94671E2091E2 -:100CC000F9173091FA174091FB175091FC170F94C8 -:100CD000F7246B017C016093E9177093EA17809306 -:100CE000EB179093EC172091ED173091EE17409190 -:100CF000EF175091F017C501B4010F94671E2091B2 -:100D0000F1173091F2174091F3175091F4170F94A7 -:100D1000F724A70196010F94F6246093E5177093CA -:100D2000E6178093E7179093E8172091E517309125 -:100D3000E6174091E7175091E817609105187091F8 -:100D4000061880910718909108180F94671E20913B -:100D5000E9173091EA174091EB175091EC170F9477 -:100D6000F724DF91CF911F910F91FF90EF90DF90CB -:100D7000CF90BF90AF909F908F907F906F905F903B -:100D80004F900895CF93DF93CDB7DEB72C970FB672 -:100D9000F894DEBF0FBECDBF882331F020916313DE -:100DA00030916413232B59F190912918891739F147 -:100DB0000E94638C8CE0E7E9F3E0DE01119601907C -:100DC0000D928A95E1F7CE0101960F94A9048091C6 -:100DD0002918882359F049E158E165E178E181E17A -:100DE00098E10E94588E1092291807C081E08093E4 -:100DF000291881E198E10E94218E0E944CC32C9613 -:100E00000FB6F894DEBF0FBECDBFDF91CF9108952E -:100E1000CF92DF92EF92FF9260916313709164130F -:100E2000072E000C880B990B0F94081E6B017C0198 -:100E30002DEB37E346E855EB0F94572787FD0AC0A3 -:100E40002DEB37E346E855E3C701B6010F94011EC9 -:100E500018164CF4A701960160E070E080E89FE36B -:100E60000F94F12503C060E070E0CB016093091896 -:100E700070930A1880930B1890930C186091651367 -:100E800070916613072E000C880B990B0F94081EA7 -:100E90006B017C012DEB37E346E855EB0F945727A8 -:100EA00087FD0AC02DEB37E346E855E3C701B601DD -:100EB0000F94011E18164CF4A701960160E070E033 -:100EC00080E89FE30F94F12503C060E070E0CB0160 -:100ED00060930D1870930E1880930F18909310184C -:100EE000FF90EF90DF90CF9008952F923F924F9216 -:100EF0005F926F927F928F929F92AF92BF92CF92AA -:100F0000DF92EF92FF920F931F93CF93DF93CDB7B2 -:100F1000DEB760970FB6F894DEBF0FBECDBF8A87ED -:100F20006B87942EA22E282F30E03D872C8770E00F -:100F30007987688715E0129FC001139F900D1124D7 -:100F40009F878E87FB01E80FF91FEE0FFF1FEE0F43 -:100F5000FF1FE159FC4E60817181828193819B0169 -:100F6000AC010F94E927882309F44EC14A85490D45 -:100F70002B852A0D149FB0011124E885F985E60F11 -:100F8000F71FEE0FFF1FEE0FFF1FE159FC4ED08041 -:100F9000E180F2800381490D149FA0011124E885AE -:100FA000F985E40FF51FEE0FFF1FEE0FFF1FE1594C -:100FB000FC4E1081918082807380822F90E0EE85BC -:100FC000FF85E80FF91FEE0FFF1FEE0FFF1FE1591E -:100FD000FC4E608051803280338139832A0D30E0AD -:100FE000EE85FF85E20FF31FEE0FFF1FEE0FFF1FD1 -:100FF000E159FC4EFF87EE87F081FA83EE85FF858D -:10100000F181FB83EE85FF85F281FC83EE85FF8510 -:10101000F381FD83FB01E80FF91FEE0FFF1FEE0FB9 -:10102000FF1FE159FC4E60816E83B18072817F8326 -:1010300083818E87FA01E20FF31FEE0FFF1FEE0F81 -:10104000FF1FE159FC4E4080A1809281988B238044 -:10105000212F392D482D572D612F792D882D972D32 -:101060000F94E927882321F010E0912C812C712C1A -:101070002D2D3E2D4F2D502F6D2D7E2D8F2D902FF0 -:101080000F94E927882321F0D12EE92CF82C072D85 -:101090002A813B814C815D816A817B818C819D812C -:1010A0000F94E927882321F01A821B821C821D825B -:1010B000262D352D432D5981662D752D832D998132 -:1010C0000F94E927882329F06A805B803C80ED81BA -:1010D000E983242D3A2D4889522D642D7A2D888953 -:1010E000922D0F94E927882321F0412CA12C188AF6 -:1010F000212C2E813B2D4F815E856E817B2D8F8132 -:101100009E850F94E927882329F04E82BA2CF8890E -:10111000FF832E862D2D3E2D4F2D502F6D2D7E2D94 -:101120008F2D902F0F94F724212F392D482D572DD7 -:101130000F94F6246B017C01262D352D432D59810A -:10114000662D752D832D99810F94F7242A813B817B -:101150004C815D810F94F6249B01AC01C701B6015F -:101160000F94F7243B014C012E813B2D4F815E856E -:101170006E817B2D8F819E850F94F724242D3A2D2F -:101180004889522D0F94F6249B01AC01C401B30190 -:101190000F94F72420E030E040E450E40F94F12570 -:1011A0009B01AC0185E06C857D85869FF001879F62 -:1011B000F00D112488859985E80FF91FEE0FFF1FA8 -:1011C000EE0FFF1FE159FC4E20833183428353838E -:1011D0006B858A8560960FB6F894DEBF0FBECDBFD3 -:1011E000DF91CF911F910F91FF90EF90DF90CF9003 -:1011F000BF90AF909F908F907F906F905F904F9037 -:101200003F902F900C94D2CE60960FB6F894DEBF2C -:101210000FBECDBFDF91CF911F910F91FF90EF9047 -:10122000DF90CF90BF90AF909F908F907F906F9006 -:101230005F904F903F902F900895CF92DF92EF9262 -:10124000FF926B017C0183E3C816D104E104F10431 -:1012500070F082E3C81AD108E108F10862E370E097 -:1012600080E090E00F94CC000E946B9AECCFC70115 -:10127000B6010F94CC00FF90EF90DF90CF900C94CC -:101280006B9ACF93C82FCC2329F080E20E94AE52F4 -:10129000C150F9CFCF910895CF93DF93FC01849192 -:1012A000EF012196882321F00E94AE52FE01F7CF74 -:1012B000DF91CF9108958F929F92AF92BF92CF927C -:1012C000DF92EF92FF920F931F93CF93DF9385E20C -:1012D0009AE30F944C09C12CD12C760186E00F942F -:1012E0004109C701B6010E9422538FEFC81AD80ADC -:1012F000E80AF80A95E0C916D104E104F10471F78F -:101300008AE00E94AE520FE613E1C12CD12C760187 -:1013100080E20E94AE52C701B6010E942253C0E093 -:10132000D0E080E20E94AE52F801EC0FFD1F8080F9 -:101330009180A280B380A5019401C501B4010F94EE -:10134000E927811112C020E030E0A901C501B401F4 -:101350000F94572787FD03C08BE20E94AE5243E0F3 -:10136000C501B4010E943E5309C0B12C80E20E9425 -:10137000AE52B3948DE396E0B912F9CF6496C436B9 -:10138000D10579F68AE00E94AE528FEFC81AD80ACA -:10139000E80AF80A0C5F1F4F95E0C916D104E10472 -:1013A000F10409F0B5CF8AE0DF91CF911F910F9141 -:1013B000FF90EF90DF90CF90BF90AF909F908F9075 -:1013C0000C94AE52CF92DF92EF92FF926A017B01B2 -:1013D0000F944C094AE0C701B601FF90EF90DF90EF -:1013E000CF900C94B552CF93DF93EB010F944C093F -:1013F000BE0180E090E04AE0DF91CF910C94B552BD -:10140000CF92DF92EF92FF926A017B010F944C0919 -:1014100042E0C701B601FF90EF90DF90CF900C94AF -:101420003E53CF93DF93EB010F944C09BE01DD0FC8 -:10143000880B990BDF91CF910C9422530F931F933C -:10144000CF93DF938B010F944C09E8018991882396 -:1014500019F00E94AE52FACFDF91CF911F910F91F8 -:1014600008958EE19AE30D944C0988E19AE30D9476 -:101470004C090E94C5DF0E940E8B8091DF0B8823F0 -:1014800019F080E00E94837C80912F02882399F0DC -:101490000F94310A81EA99E30F944C0960E087E9DF -:1014A00099E30E94FAED6EE571E080E090E00F9420 -:1014B0001D0910922F0208952F923F924F925F9232 -:1014C0006F927F928F929F92AF92BF92CF92DF9254 -:1014D000EF92FF920F931F93CF93DF93D82FC62FD6 -:1014E00086E898E00E94B953D1115AC0CC2389F004 -:1014F0000E94C7608C01C12CD12CC0E0D0E0A12C8F -:10150000B12C89E3282E8AE1382E44244394512CAF -:101510003FC00E942ECD8111EBCF44C0C016D10632 -:1015200008F037C1C5014496C816D90608F031C184 -:101530002FEFC21AD20A0F3F3FEF130709F0C3C1C2 -:101540000E94C7608C018C159D0508F04EC1F10109 -:1015500001900020E9F73197CF0189539A413C016E -:10156000EE24E394F12C9701275C354E490146E0C7 -:1015700050E06FE878E0C9010F945C28892B09F0EE -:10158000F4C0E614F7040CF43FC18FEFA81AB80AB0 -:101590000F3F2FEF120711F60E94C7608C01BECFDC -:1015A000C111A6CF3AE0C32E30E2D32EE12CF12CAC -:1015B000C5E0D2E8812C912C540110922116109292 -:1015C0002016C0931416D0931716D701C601880DA4 -:1015D000991DAA1DBB1D8093181690931916A093F0 -:1015E0001A16B0931B160F9480018FEF881A980A71 -:1015F000A80AB80A9AE089169104A104B104E9F690 -:101600002AE0C20ED11CE11CF11C32EDC31630E2FF -:10161000D306E104F10471F6C12C20E2D22EE12CB4 -:10162000F12CD5E0C2E81092211610922016D0932A -:101630001416C0931716C0921816D0921916E0927D -:101640001A16F0921B160F94800110922116109218 -:101650002016D0931416C0931716D701C6018C52CA -:101660009F4FAF4FBF4F8093181690931916A093BA -:101670001A16B0931B160F9480018FEFC81AD80A60 -:10168000E80AF80A9AE0C91690E2D906E104F104E2 -:1016900051F69EEDC92E90E2D92EE12CF12CD5E029 -:1016A000C2E81092211610922016D0931416C093FF -:1016B0001716C0921816D0921916E0921A16F092C8 -:1016C0001B160F9480012FEFC21AD20AE20AF20A07 -:1016D00036EEC31630E2D306E104F10411F7CC2450 -:1016E000C39482E1D82EE12CF12C0AE010E0D5E081 -:1016F000C2E81093211600932016D0931416C093BD -:101700001716C0921816D0921916E0921A16F09277 -:101710001B160F9480011093211600932016D0936E -:101720001416C0931716D701C6018096A11DB11DCE -:101730008093181690931916A0931A16B0931B163F -:101740000F9480018FEFC81AD80AE80AF80A95E1C9 -:10175000C91692E1D906E104F10459F685ED93E04A -:101760000E94B95382E190E016C046E050E066E97D -:1017700078E0C4010F945C28892B09F402CF3FEF75 -:10178000E31AF30AC7010197861597050CF4EBCE0F -:10179000F8CE81E190E0909321168093201685E0A9 -:1017A0008093141682E88093171684E190E1A0E0FC -:1017B000B0E08093181690931916A0931A16B09360 -:1017C0001B16DF91CF911F910F91FF90EF90DF904B -:1017D000CF90BF90AF909F908F907F906F905F90D1 -:1017E0004F903F902F900D9480010F3F8FEF18077F -:1017F00019F40E94C7608C0160E070E0C8018C1988 -:101800009D090E94FF60A3CE22E12C9FC0012D9F65 -:10181000900D11249C012552354E4901A7014231FA -:10182000510514F041E150E069E37AE1C4010F94FD -:101830006A2832E13C9FC0013D9F900D11246BE767 -:101840007AE18D5B934E0F9455288AE08C9FA0011E -:101850008D9F500D1124465F5F4D052E000C660BC9 -:10186000770BFE01EE0FFF1FEE0FFF1FE857F54E3F -:101870004383548365837683C4010F942F017E01D3 -:101880009FEFE91AF90AF0928A1AE092891A5092A7 -:1018900021164092201625E02093141632E830934A -:1018A0001716CF5FDD4ECE01DD0FAA0BBB0B809369 -:1018B000181690931916A0931A16B0931B160F942E -:1018C0008001E70165CE0C151D0508F440CE94CFCC -:1018D0004F925F926F927F928F929F92AF92BF9240 -:1018E000CF92DF92EF92FF921F93CF93DF93C82F97 -:1018F00080EF94E19093381A8093371A1092E9148C -:1019000082E090E0A0E0B0E08093D2149093D314F2 -:10191000A093D414B093D5141092361A1092321AA0 -:101920001092331A1092341A1092351A8FEF9FEFDB -:10193000DC0180932E1A90932F1AA093301AB09343 -:10194000311ACC2379F1C53008F001C140E060E0E4 -:1019500070E0CB010E948F62882309F4F8C020E177 -:10196000C29FC0011124825E974EFC01E254FE4FDB -:1019700020812F7709F0EBC03C9640815181628134 -:101980007381443651056105710508F4E0C0349750 -:10199000C080D180E280F380C114D104E104F1045D -:1019A00021F4D5C0C12CD12C760140E0C701B6018D -:1019B0000E948F62182F882309F4C9C080913918BA -:1019C00090913A188115924009F0C1C0A0913E183B -:1019D000AA2309F4BCC060913C1870913D186115B0 -:1019E000710509F4B4C080903B18882009F4AFC099 -:1019F000A093E4148092D61480E0912CA12CB12CF9 -:101A0000412C512C32014394C82FA3019201082E7E -:101A100004C0220F331F441F551F0A94D2F78216A9 -:101A20009306A406B50639F08F5FC83069F789E0E0 -:101A30008093DF148CC08093DF1420914418309180 -:101A400045182115310519F040E050E008C02091FB -:101A500052183091531840915418509155182093B2 -:101A6000D7143093D8144093D9145093DA14460104 -:101A70005701860E971EA11CB11C8092E51490920E -:101A8000E614A092E714B092E814E0913F18F091A8 -:101A90004018F093EB14E093EA14B0E00F9498240C -:101AA000860E971EA81EB91E8092EC149092ED141B -:101AB000A092EE14B092EF1485E0EE0FFF1F8A950E -:101AC000E1F7E150FE4FEF2FFF27E6958E0E9F1EA8 -:101AD000A11CB11C8092E0149092E114A092E21437 -:101AE000B092E3142091411830914218211531052C -:101AF00021F0A90160E070E008C040914E185091BB -:101B00004F186091501870915118D701C60188196B -:101B10009909AA09BB09840F951FA61FB71F04C006 -:101B2000B695A79597958795CA95D2F78093DB14BC -:101B30009093DC14A093DD14B093DE14853F2FE066 -:101B40009207A105B10528F48CE08093E91410E018 -:101B50001AC0853F9F4FA105B10510F480E111C067 -:101B600080915A1890915B18A0915C18B0915D1803 -:101B70008093EC149093ED14A093EE14B093EF14B3 -:101B800080E28093E914812FDF91CF911F91FF9024 -:101B9000EF90DF90CF90BF90AF909F908F907F900D -:101BA0006F905F904F900895FF920F931F93CF9384 -:101BB000DF938B01D82FC92F9B01482F592F60919C -:101BC0002A1870912B1880912C1890912D180F9431 -:101BD000011E882309F45FC0F090291880E00F945B -:101BE000C20620E030E0A901B8018D2F9C2F0F9490 -:101BF0005727181624F000E010E0D0E0C0E0C8013C -:101C0000AD2FBC2F80932A1890932B18A0932C18DB -:101C1000B0932D182DEB37E346E855EBB8018D2F27 -:101C20009C2F0F94572787FD0BC02DEB37E346E819 -:101C300055E3B8018D2F9C2F0F94011E181654F4F4 -:101C400098014D2F5C2F60E070E080E89FE30F94D7 -:101C5000F12503C060E070E0CB016093251870931C -:101C60002618809327189093281880EF9FEFA9E7F4 -:101C7000B4EC8093211890932218A0932318B0936A -:101C80002418FF2041F081E0DF91CF911F910F9147 -:101C9000FF900D94C206DF91CF911F910F91FF909D -:101CA00008951F920F920FB60F9211242F933F9316 -:101CB0008F939F93AF93BF938091D3139091D4133D -:101CC000A091D513B091D6133091AB1D23E0230F13 -:101CD0002D3720F40196A11DB11D05C026E8230F64 -:101CE0000296A11DB11D2093AB1D8093D313909339 -:101CF000D413A093D513B093D6138091D71390919A -:101D0000D813A091D913B091DA130196A11DB11D7A -:101D10008093D7139093D813A093D913B093DA1369 -:101D2000BF91AF919F918F913F912F910F900FBED7 -:101D30000F901F901895CF93DF93CDB7DEB7A9977B -:101D40000FB6F894DEBF0FBECDBF789484B5826025 -:101D500084BD84B5816084BD85B5826085BD85B54F -:101D6000816085BD80916E00816080936E001092CD -:101D70008100809181008260809381008091810048 -:101D800081608093810080918000816080938000D9 -:101D90008091B10084608093B1008091B000816037 -:101DA0008093B00080919100826080939100809137 -:101DB0009100816080939100809190008160809378 -:101DC00090008091A10082608093A1008091A10089 -:101DD00081608093A1008091A00081608093A00029 -:101DE0008091210182608093210180912101816095 -:101DF0008093210180912001816080932001809156 -:101E00007A00846080937A0080917A008260809367 -:101E10007A0080917A00816080937A0080917A00C4 -:101E2000806880937A001092C100259A2D986C9852 -:101E3000749A109263090E9444501092C0008091DD -:101E4000C00082608093C0001092C50087E080933C -:101E5000C4008091C10080618093C1008091C10065 -:101E600088608093C1008091C10080688093C10028 -:101E70000F9406018EED90E10F944C090F94350AF2 -:101E800014B710FF04C085ED90E10F944C0911FFC9 -:101E900004C084EC90E10F944C0912FF04C082EB63 -:101EA00090E10F944C0913FF04C081EA90E10F9474 -:101EB0004C0915FF04C080E990E10F944C0914BE51 -:101EC00089E890E10F944C0980E20E94AE5280E8CC -:101ED00090E10F944C098AE00E94AE520F94350AAB -:101EE00080E790E10F944C0985E690E10F944C094E -:101EF0008AE490E10F944C090F94350A83E390E152 -:101F00000F944C090F94350A8091AC1D9091AD1D32 -:101F10009E012F5F3F4F7901B901009719F0681BAF -:101F2000790B02C0625B7D4184E290E10F94110A5B -:101F300060E874E08DE090E10F94110A8AE00E945D -:101F4000AE5280910A018E7F80930A0180910B012D -:101F50008095817080930901E0912A14F0912B14EF -:101F600082E08083E0912614F09127141082E091A2 -:101F70002814F091291480E1808310923214E091AA -:101F80002E14F0912F1486E08083E0912C14F091B0 -:101F90002D14808180618083E0912C14F0912D14A8 -:101FA000808188608083E0912C14F0912D148081D1 -:101FB00080688083E0912C14F0912D1480818F7DB6 -:101FC00080838AE5809315168093C51585EA8093F2 -:101FD00016168093C6158AE1E4E6F6E1DF011D924C -:101FE0008A95E9F780E290E0A0E0B0E080930602F5 -:101FF00090930702A0930802B093090280917C0994 -:10200000882319F083E090E002C082E090E0909392 -:1020100021168093201685E08093141682E8809321 -:1020200017168FE190E1A0E0B0E08093181690932E -:102030001916A0931A16B0931B160F94800184E60C -:1020400090E0909321168093201605E000931416DB -:1020500012E81093171686E090E1A0E0B0E08093BC -:10206000181690931916A0931A16B0931B160F9476 -:1020700080018BE090E090932116809320160093CE -:1020800014161093171680E092E1A0E0B0E0809360 -:10209000181690931916A0931A16B0931B160F9446 -:1020A000800110922116109220160093141610939E -:1020B000171684E390E1A0E0B0E0809318169093A7 -:1020C0001916A0931A16B0931B160F948001109244 -:1020D00021161092201600931416109317168AE3F7 -:1020E00090E1A0E0B0E08093181690931916A093A9 -:1020F0001A16B0931B160F9480016091120C709108 -:10210000130C8091140C9091150C0F94632670930E -:10211000211660932016009314161093171686E369 -:1021200090E1A0E0B0E08093181690931916A09368 -:102130001A16B0931B160F94800160916909709173 -:102140006A0980916B0990916C090F9463267093D2 -:1021500021166093201600931416109317168CE323 -:1021600090E1A0E0B0E08093181690931916A09328 -:102170001A16B0931B160F94800182E090E09093A2 -:1021800021168093201600931416109317168EE1D3 -:1021900090E1A0E0B0E08093181690931916A093F8 -:1021A0001A16B0931B160F94800181E080930502EC -:1021B00060E6862E60E1962EA12CB12C75E0C72E2C -:1021C000E2E8DE2E109221161092201605E0C09251 -:1021D000141612E8D09217168092181690921916BB -:1021E000A0921A16B0921B160F948001BFEF8B1AA3 -:1021F0009B0AAB0ABB0AE4E78E16E0E19E06A10447 -:10220000B10401F784E1D7011D928A95E9F781E0D5 -:102210008F9390E99F938F939BE39F938F9386E394 -:102220008F938FE296E09F938F93FF92EF920F949C -:10223000842840E650E160E070E08CE396E00F9483 -:102240002F014AE650E160E070E089E496E00F94E7 -:102250002F0144E750E160E070E0C7010F942F01C7 -:102260004EE750E160E070E089EE94E00F942F01BA -:102270001092211610922016009314161093171620 -:102280008EE090E1A0E0B0E08093181690931916CC -:10229000A0931A16B0931B160F948001109221166A -:1022A0001092201600931416109317168FE090E1E9 -:1022B000A0E0B0E08093181690931916A0931A1618 -:1022C000B0931B160F948001EDB7FEB73A960FB688 -:1022D000F894FEBF0FBEEDBF5AE0852E50E2952E5A -:1022E000A12CB12C15E002E8412C512C32011092A6 -:1022F0002116109220161093141600931716D5016C -:10230000C401840D951DA61DB71D809318169093CA -:102310001916A0931A16B0931B160F948001FFEFA5 -:102320004F1A5F0A6F0A7F0A2AE0421651046104BD -:102330007104E9F63AE0830E911CA11CB11C42ED38 -:10234000841640E29406A104B10471F6812C40E2A7 -:10235000942EA12CB12C05E012E8109221161092B7 -:102360002016009314161093171680921816909248 -:102370001916A0921A16B0921B160F948001109293 -:102380002116109220160093141610931716D501DB -:10239000C4018C529F4FAF4FBF4F8093181690933C -:1023A0001916A0931A16B0931B160F9480015FEFB5 -:1023B000851A950AA50AB50A8AE0881680E2980669 -:1023C000A104B10451F63EED832E30E2932EA12CF0 -:1023D000B12C05E012E810922116109220160093FD -:1023E0001416109317168092181690921916A09230 -:1023F0001A16B0921B160F9480019FEF891A990A42 -:10240000A90AB90AA6EE8A16A0E29A06A104B104A6 -:1024100011F78824839492E1992EA12CB12C2AE003 -:10242000C22ED12C05E012E8D0922116C0922016BF -:10243000009314161093171680921816909219167E -:10244000A0921A16B0921B160F948001D0922116FA -:10245000C09220160093141610931716D501C401CC -:102460008096A11DB11D8093181690931916A09304 -:102470001A16B0931B160F948001BFEF8B1A9B0A9C -:10248000AB0ABB0AE5E18E16E2E19E06A104B104A7 -:1024900059F68DE596E00E94B9530E947EEE0E94A7 -:1024A000555014E9C12E19E0D12E01E118E18DE15A -:1024B000A82E88E1B82ED6012D913D914D915D91C8 -:1024C0006D01F80160817181828193810F94F724FD -:1024D000D8016D937D938D939D938D01AA16BB06B4 -:1024E00051F70E944CC3249A2C988091010180627C -:1024F000809301018091020180728093000180919C -:1025000001018064809301018091010180618093C9 -:10251000010187ED80937A0010927E0010927D0079 -:1025200080917D00806280937D0080917D00806439 -:1025300080937D0080E888BD80916E0084608093E8 -:102540006E006AEF70E080E090E00F94CC0085E0D0 -:1025500090E0909311028093100200910C02109170 -:102560000D0260E0C8010E947EE020E030E040EA19 -:1025700050E40F94011E87FF07C00051110910930A -:102580000D0200930C02E9CF8BE391E090931302CC -:102590008093120200910E0210910F0260E0C801B8 -:1025A0000E947EE020E030E84DE953E40F94572785 -:1025B00018163CF4005F1F4F10930F0200930E0299 -:1025C000E9CF00910A0210910B02C8010E94E5DFD9 -:1025D00020E030E040EA50E40F94011E87FF07C07E -:1025E0000051110910930B0200930A02EACF0091E7 -:1025F0007D0910917E09C8010E94E5DF20E030E0EE -:1026000046E153E40F94572718163CF4005F1F4F20 -:1026100010937E0900937D09EACF0E94DEEC19A693 -:1026200082E390E09AA389A31A8219821E01B1E283 -:102630002B0E311C01E0970141E050E0BE01675DC7 -:102640007F4FC1010E94745089A5863119F00E9404 -:10265000C98B0FC083E390E09AA389A31A821982E1 -:1026600001E0970140E150E060E879E0C1010E949B -:10267000745081E080937F096D98759A8091040170 -:102680008D7F8093040180910501809582708093F5 -:10269000030153985B9A10929109109290090E943D -:1026A000F6C5819A879A80910A01826080930A0117 -:1026B0000E9A3B9A579A5F9A829A8A9A809107015A -:1026C00081608093070180910801809581708093DB -:1026D00006010A9A129A3F9A479A809A88985F9AB6 -:1026E000809118148E7F80931814869A8E988A9AF7 -:1026F000809118148D7F8093181480910A0188604E -:1027000080930A0180910B01887080930901809168 -:1027100008018095817080930601809118148B7F49 -:10272000809318140C9A1498129A809180008C7FD0 -:102730008093800080918100877E886080938100F3 -:10274000809180008F738093800080918100887FCA -:1027500082608093810080E090E490938900809370 -:102760008800109285001092840080916F00826032 -:1027700080936F00789486E0809392090E94B888D5 -:10278000E0919815E43208F042C0F0E0CF01880FE4 -:10279000991FE80FF91FE55DFA4E808180788B6004 -:1027A000808361E08BE00E94A8FF1092991510923F -:1027B0009A15809198156CE00F94BA2490E0ECE0A3 -:1027C0008E9FB001112440E050E09B01240F351F83 -:1027D000F901EE0FFF1F2E0F3F1FF901E55DFA4EC5 -:1027E000208127FD07C04F5F5F4F4C30510569F7CF -:1027F0000E940551E0919815F0E0CF01880F991FD4 -:10280000E80FF91FE55DFA4E80818068808388E9D2 -:1028100095E10E9466506AE570E088E995E10E94C2 -:102820003651109293090E94F6C581E00E942599C5 -:1028300098E288E10FB6F894A895809360000FBEE7 -:1028400090936000109283160E94AA5D9E012F5FF4 -:102850003F4F590180E00E94DA538091831687FD33 -:1028600041C080919C1782FD3DC083FD03C00E9442 -:102870004C5E02C00E94555080919C1783FF2FC070 -:1028800080918316082E000C990BC0969F938F930E -:1028900045EE50E15F934F933F922F920F94991D15 -:1028A00080E195E10E9481660F900F900F900F904C -:1028B0000F900F9080911315823088F08091181539 -:1028C00090911915A0911A15B0911B158F71992728 -:1028D000AA27BB27892B8A2B8B2B09F467C1FFEF13 -:1028E000F093831680919C1785FF1FC00E94DB5DCB -:1028F0001092240B1092A0091092230B0E94FA8DC3 -:102900000E94638C8EEF0E94DEC20E944CC30E9424 -:102910000E8B0E94C5DF0E9461501092140227E3C3 -:1029200031E13093A2092093A1098DB69EB6609142 -:10293000A1097091A2096115710581F0E12CF12CBA -:10294000FB01EE0DFF1D749087010F5F1F4F772075 -:1029500039F03AE0731621F07801F2CF80E02CC014 -:10296000EDB7FEB7E01BF10B0FB6F894FEBF0FBE3C -:10297000EDBF2DB73EB72F5F3F4F6901A701C901DA -:102980000F943B1DF601EE0DFF1D1082772009F418 -:1029900045C18091A1099091A209080F191F1093B8 -:1029A000A2090093A109EF2831F0C6010E94AAB440 -:1029B00080E00E94503981E00FB6F8949EBE0FBEB1 -:1029C0008DBE8111C3C08091240B882309F4BEC041 -:1029D00080919C1780FF9EC00091230B40E6409F92 -:1029E000800111240D55164F68E171E1C8010F9463 -:1029F0007F1D009739F0DC0113968C9180538A304B -:102A000008F08BC0F80101900020E9F731977F01B1 -:102A1000E01AF10A1092B7146EE470E0C8010F9446 -:102A20004A286C01892B09F406C160E270E0C601F6 -:102A30000F944A288C010F5F1F4F6AE270E0C601B5 -:102A40000F944A28FC013197BDE0B1832AE022832C -:102A50001382F80101900020E9F731977F01E01A15 -:102A6000F10A8091BA14813009F0E1C08091B81464 -:102A700081FFDDC082FF16C04091C8145091C91477 -:102A80006091CA147091CB148091BF149091C014BE -:102A9000A091C114B091C21484179507A607B70777 -:102AA00009F0BFC04091BF145091C0146091C1148F -:102AB0007091C214E114F10409F0C4C08091C814EB -:102AC0009091C914A091CA14B091CB1484179507A2 -:102AD000A607B70768F44093C8145093C9146093CD -:102AE000CA147093CB148091B81480688093B81482 -:102AF0008091B81483FDB6C18091B714882331F05A -:102B00000F94310A8EEE90E10F944C0980919C173E -:102B100081FF09C00E9468BC08C00E9440FD85E09A -:102B200091E10F944C090E94F7B28091240B882305 -:102B300069F081508093240B8091230B8F5F843048 -:102B400018F48093230B02C01092230B8091250B65 -:102B5000882339F19091250B8091260B981709F164 -:102B60000F94350A88E291E10F944C098091250B6E -:102B700080FD7FC18091250B84FD7BC18091250B59 -:102B800081FD81C18091250B85FD7DC18091250B43 -:102B900082FD83C18091250B86FD7FC18AE00E9462 -:102BA000AE528091250B8093260B54CE40E050E02E -:102BB000B50180E195E10E94436918160CF08FCEB3 -:102BC000F50101900020E9F73197FE2EFA18FA94EA -:102BD0009FEFF91669F085010F0D111DF7FC1A958D -:102BE000D8018C9190E00F940E28F8018083EFCFEC -:102BF0008A858E3709F45ECE45E050E0B101C5010B -:102C00000F945C28892B09F055CEC1010E94F45D18 -:102C1000809183168F5F8093831664CE00E010E06E -:102C2000BECE87EB94E10E94426481113BCFA1E0CC -:102C3000A093B71461CF31E0E31AF108F801EE0D6B -:102C4000FF1D02CF8091D0149091D114DC01149615 -:102C50007C902FEF270D2A013B0139E07694679491 -:102C6000579447943A95D1F7722E74206A01B1E0D7 -:102C7000DB2271104CC0C114D10409F048C040914E -:102C8000BB145091BC146091BD147091BE144115D9 -:102C900051056105710569F48091CC149091CD14B2 -:102CA000A091CE14B091CF140097A105B10539F5CC -:102CB0001FC095010E945A63882309F4B8CF898107 -:102CC0009A81AB81BC81E091D014F091D114278915 -:102CD000203139F4883FEFEF9E07A105B10540F49C -:102CE0000EC0883FFFEF9F07AF07FFE0BF0738F038 -:102CF00087EB94E10E947C65811109C098CF809395 -:102D0000BB149093BC14A093BD14B093BE1480E088 -:102D100092E08C199D0947018E159F0508F44C011E -:102D2000E091D014F091D1148091BB149091BC1417 -:102D3000A091BD14B091BE140297A109B1090584F8 -:102D400004C0880F991FAA1FBB1F0A94D2F746859B -:102D5000578560897189840F951FA61FB71F9C0135 -:102D6000AD01270D311D411D511D29013A0181146D -:102D700032E0930631F580912E1A90912F1AA0918E -:102D8000301AB091311A481659066A067B0669F462 -:102D90001092361A8FEF9FEFDC0180932E1A9093DA -:102DA0002F1AA093301AB093311A9801B301A201DF -:102DB0008091371A9091381A0E94D866811139C0D3 -:102DC00036CFC114D10431F54091BF145091C014D5 -:102DD0006091C1147091C2148091C8149091C9146B -:102DE000A091CA14B091CB14481759076A077B0702 -:102DF00088F00E943B67882309F419CF91E09093F3 -:102E0000361A40922E1A50922F1A6092301A7092EF -:102E1000311A08C041E0C301B2010E948F628823C9 -:102E200009F405CFA401B801C601825D974E0F9445 -:102E300023288091BF149091C014A091C114B09127 -:102E4000C214880D991DA11DB11D8093BF149093CC -:102E5000C014A093C114B093C214080D191DE81832 -:102E6000F90820CE87EB94E10E947B67811144CE64 -:102E7000DECE80E00E94CD8DAB01BC0184E291E109 -:102E80000F94000A7BCE81E00E94CD8DAB01BC0186 -:102E900080E291E10F94000A79CE82E00E94CD8D0C -:102EA000AB01BC018CE191E10F94000A77CECF9386 -:102EB000DF9387EB94E10E94B767C2E9D7E16B9794 -:102EC000CE010E94B76786E1C438D807C1F785EF05 -:102ED00094E10E94B76780E195E1DF91CF910C9476 -:102EE000B76786E40E94A59380933813882351F036 -:102EF0000E946E93609325027093260280932702AE -:102F00009093280283E50E94A593882351F00E94A4 -:102F10006E93609321027093220280932302909318 -:102F2000240282E40E94A593882351F00E946E93AC -:102F300060931D0270931E0280931F0290932002E3 -:102F40000895CF92DF92EF92FF926B017C0180E0B7 -:102F500090E0A0E8BFE38093630290936402A093A3 -:102F60006502B09366028091191481FF0E942C9330 -:102F7000C092F313D092F413E092F513F092F6138B -:102F800080911914826080931914FF90EF90DF9064 -:102F9000CF9008958091191481FF09C06091F313B7 -:102FA0007091F4138091F5139091F6130895609148 -:102FB0001D1870911E1880911F1890912018089567 -:102FC0000E947EEE10924A13109214020E944CD777 -:102FD000882321F080919C1782FF07C061E08AE07E -:102FE00094E30E9410940C945E8A81E194E39093A0 -:102FF000A2098093A109F2CF10921D1410921C1403 -:1030000088EE93E0A0E0B0E080931E1490931F142C -:10301000A0932014B093211489E893E090931B149B -:1030200080931A1485ED90E09093271480932614D2 -:1030300084ED90E0909329148093281480ED90E023 -:1030400090932B1480932A1481ED90E090932D148B -:1030500080932C1482ED90E090932F1480932E1483 -:1030600086ED90E0909331148093301410923314D5 -:1030700010923414109235141092361410921015C8 -:10308000109213151092F5141092F814E4E8F6E17A -:10309000108213827B9627E1E239F207C9F789E1B2 -:1030A0008093F1141092F4141092E9141092B71452 -:1030B0001092BA1480919715843220F08FEF80938C -:1030C000981513C091E0980F9093971580939815D9 -:1030D00090E0FC01EE0FFF1F8E0F9F1FFC01E55DCE -:1030E000FA4E88EB9BE09283818380E1E4EBF5E18B -:1030F000DF01282F1D922A95E9F7E4EAF5E1DF01C7 -:103100001D928A95E9F71092A0151092A1151092C0 -:10311000A2151092A31510929F1510929E15109251 -:103120009D1510929C1510929B158AE5809315169B -:103130008093C51585EA809316168093C6158AE19B -:10314000E4E6F6E1DF011D928A95E9F781E08093DC -:103150007E1680937F1680938016809381168093CD -:10316000821680919C17847F8B7F80939C1710928E -:1031700098171092991710929A1710929B17109205 -:103180009417109295171092961710929717109205 -:103190009317109292178EE091E0E4E8F6E1DF01D8 -:1031A0009C011D9221503040E1F78FEF80938316F0 -:1031B0000895EF920F931F93CF93DF93E80147FD9C -:1031C00002C034E001C034E1042E000C550B57FF5F -:1031D00003C0519541955109E32E022F242FAE01D2 -:1031E0000F94DE20CE01DF91CF911F910F91EF90D0 -:1031F00008958F929F92AF92BF92CF92DF92EF92FB -:10320000FF92CF93DF93EC01688179818A819B8162 -:10321000611571058105910521F464E279ED8BE575 -:1032200097E02DE133EF41E050E00F94792449011C -:103230005A019B01AC01A7EAB1E40F9498246B01F9 -:103240007C01ACEEB4EFA50194010F94A624DC013F -:10325000CB018C0D9D1DAE1DBF1DB7FF03C0019797 -:10326000A109B04888839983AA83BB83BC01CD019F -:103270009F77DF91CF91FF90EF90DF90CF90BF903D -:10328000AF909F908F9008958F929F92AF92BF9230 -:10329000CF92DF92EF92FF92609171027091720271 -:1032A00080917302909174026115710581059105F9 -:1032B00021F464E279ED8BE597E02DE133EF41E015 -:1032C00050E00F94792449015A019B01AC01A7EA0F -:1032D000B1E40F9498246B017C01ACEEB4EFA5012E -:1032E00094010F94A624DC01CB018C0D9D1DAE1D15 -:1032F000BF1DB7FF03C00197A109B04880937102B9 -:1033000090937202A0937302B0937402BC01CD013A -:103310009F77FF90EF90DF90CF90BF90AF909F90FE -:103320008F9008956093710270937202809373027C -:103330009093740208958F929F92AF92BF92CF9212 -:10334000DF92EF92FF920F931F93CF93DF93EC01E5 -:103350006B016115710519F0FB01918380837E017A -:10336000FFEFEF1AFF0A0881802F90E00F94321DC3 -:10337000892B11F0E701F3CF0D3239F47E0182E0A1 -:10338000E80EF11C098111E008C00B3229F47E011E -:1033900092E0E90EF11C098110E0E701219743E07A -:1033A00050E06AE374E0CE010F94581D892BC1F4FC -:1033B000239645E050E065E374E0CE010F94581D7C -:1033C000892B09F42596C114D10419F0F601D18393 -:1033D000C0831111F6C060E070E080E89FE7FAC09A -:1033E00043E050E062E374E0CE010F94581D892B56 -:1033F00059F4C114D10409F4E9C0F2E0EF0EF11C54 -:10340000F601F182E082E2C020E030E0A901C0E0F4 -:10341000D0E0F70160EDA62EA00E89E08A1530F10C -:10342000912F9260B92E812F887012FF04C08111F4 -:1034300024C0219622C081112197A5E0B0E00F940D -:103440009824DC01CB01880F991FAA1FBB1F9C0188 -:10345000AD012A0D311D411D511D283989E938075B -:10346000480789E1580748F0166006C09EEFA91288 -:103470000AC013FD40C01860B12E8FEFE81AF80A99 -:1034800000811B2DC6CF802F8F7D8534A1F58081D3 -:103490008D3211F4106106C08B3221F0319661E05B -:1034A00070E004C08181329662E070E080538A301F -:1034B00018F0E61BF70B1FC060E070E060389CE07E -:1034C00079075CF4DB01AA0FBB1FAA0FBB1F6A0FB1 -:1034D0007B1F660F771F680F711D3196DF011197F3 -:1034E0008C9180538A3050F314FF03C0719561951D -:1034F0007109C60FD71F11FF08C0C114D10429F0EC -:10350000CF010197F60191838083CA01B9010F941D -:10351000061E212F2370233019F04B015C0106C0D9 -:103520004B015C01B7FAB094B7F8B09420E030E0FA -:10353000A901C501B4010F94011E882309F43EC0FE -:10354000D7FF06C0D195C195D10901E514E002C0AD -:1035500009E614E06801F8E1CF1AD10890E2E92EFB -:10356000F12CCE15DF0574F0F801259135914591C8 -:103570005491C501B4010F94671E4B015C01CE1933 -:10358000DF09EFCF04501109F594E7940C151D05E0 -:1035900041F78A2D880F8B2D881F8F3F49F020E03F -:1035A00030E0A901C501B4010F94011E811106C0CC -:1035B00082E290E09093B11D8093B01DC501B401EB -:1035C00009C060E070E080E89FEF04C060E070E058 -:1035D00080EC9FE7DF91CF911F910F91FF90EF90CB -:1035E000DF90CF90BF90AF909F908F9008953F92C3 -:1035F0004F925F926F927F928F929F92AF92BF9203 -:10360000CF92DF92EF92FF920F931F93CF93DF93AE -:103610005C016B017A016115710519F0FB01918361 -:103620008083E114F10429F0C7010297839708F021 -:10363000E5C0E5012196F5011081812F90E00F94FE -:10364000321D892B11F05E01F4CF1D3229F4219631 -:10365000F501118101E007C01B3221F4E50122963A -:10366000F501118100E0E114F10409F1F0E1EF1638 -:10367000F10429F43FC010E3E114F10421F128E042 -:10368000E216F10401F154F4E2E0EE16F10421F542 -:10369000812C912CA12CB0E4BB2E3EC0FAE0EF1699 -:1036A000F10439F020E1E216F104B1F430C0103336 -:1036B00019F1FAE0EF2EF12CACEC8A2E982CA82C04 -:1036C000ACE0BA2E29C078E0E72EF12C812C912CA9 -:1036D000A12CE0E1BE2E20C060E070E080E090E828 -:1036E00097010F2C000C440B550B0F9457244901E4 -:1036F0005A0112C0103359F488818F7D883509F042 -:10370000BACF19812296026080E1E82EF12C812C3B -:10371000912CA12C68E0B62E40E060E070E0CB0177 -:1037200027010F2C000C66087708FE0150ED352E9E -:10373000310E29E0231570F42FEB210F2A3118F4F4 -:1037400039EC332E06C02FE9210F2A3118F529EA6A -:10375000322E310E232D30E02E153F05DCF447FDCF -:1037600016C086169706A806B90670F0A301920146 -:103770000F944724630D711D811D911D61307105EA -:10378000810520E8920710F04FEF01C041E021963B -:103790001081CBCF202F2170C114D10471F04423AC -:1037A00029F02197F601D183C08307C001FF19C01A -:1037B0002297F601D183C08314C047FF12C0222391 -:1037C00029F060E070E080E090E804C06FEF7FEFE8 -:1037D0008FEF9FE722E230E03093B11D2093B01DC0 -:1037E00009C0222381F090958095709561957F4F57 -:1037F0008F4F9F4F462F372F282F12C040E030E0C9 -:1038000020E090E00DC097FFF5CF82E290E090932A -:10381000B11D8093B01D6FEF7FEF8FEF9FE7EACF71 -:10382000642F732F822FDF91CF911F910F91FF9003 -:10383000EF90DF90CF90BF90AF909F908F907F9050 -:103840006F905F904F903F9008953F924F925F929C -:103850006F927F928F929F92AF92BF92CF92DF92A0 -:10386000EF92FF920F931F93CF93DF935C016B0155 -:103870007A016115710519F0FB0191838083E114D0 -:10388000F10429F0C7010297839708F0C9C0E50148 -:103890002196F5011081812F90E00F94321D892B24 -:1038A00011F05E01F4CF1D3229F42196F50111814A -:1038B00001E007C01B3221F4E5012296F5011181D8 -:1038C00000E0E114F104B1F0F0E1EF16F10429F4A5 -:1038D000B0C010E3E114F10401F12AE0E216F104B2 -:1038E000B1F180E1E816F10471F0E8E0EE16F104C0 -:1038F000F1F413C0103341F588818F7D883549F785 -:10390000198122960260F0E1EF2EF12C88248A942E -:10391000982CA82CAFE0BA2E20C078E0E72EF12C2E -:1039200088248A94982CA82CEFE1BE2E16C06FEF45 -:103930007FEFCB0197010F2C000C440B550B0F941C -:10394000572449015A0109C08AE0E82EF12C69E99F -:10395000862E982CA82C69E1B62E40E060E070E03D -:10396000CB0127010F2C000C66087708FE0150EDF3 -:10397000352E310E29E0231570F42FEB210F2A315B -:1039800018F439EC332E06C02FE9210F2A3130F517 -:1039900029EA322E310E232D30E02E153F05F4F4A6 -:1039A0004F3FC9F086169706A806B90688F0A3010E -:1039B00092010F944724232D30E040E050E0620F45 -:1039C000731F841F951F621773078407950710F4F0 -:1039D0004FEF01C041E021961081C8CFC114D1043E -:1039E00051F0442311F0219703C001FF04C0229736 -:1039F000F601D183C08300FF07C090958095709534 -:103A000061957F4F8F4F9F4F4F3F79F482E290E057 -:103A10009093B11D8093B01D3FEF2FEF9FEF0DC02E -:103A200040E030E020E090E008C0462F372F282FFC -:103A300004C0103309F067CF5FCF642F732F822F3C -:103A4000DF91CF911F910F91FF90EF90DF90CF907A -:103A5000BF90AF909F908F907F906F905F904F90AE -:103A60003F90089591110D942D23803219F08950C3 -:103A70008550C8F70895FB01DC0102C005900D9246 -:103A800041505040D8F70895FC010590061621F0EA -:103A90000020D9F7C00108953197CF010895FC01A6 -:103AA00005900020E9F7809590958E0F9F1F08954F -:103AB000FB01DC014150504088F08D9181341CF0B5 -:103AC0008B350CF4805E659161341CF06B350CF421 -:103AD000605E861B611171F3990B0895881BFCCF02 -:103AE000FB01DC014150504048F005900D92002050 -:103AF000C9F701C01D9241505040E0F70895FB0105 -:103B000055915523A9F0BF01DC014D914517411195 -:103B1000E1F759F4CD010590002049F04D91401591 -:103B20004111C9F3FB014111EFCF81E090E0019712 -:103B300008950F931F93CF93DF93CDB7DEB72E97E2 -:103B40000FB6F894DEBF0FBECDBF0E891F898EE081 -:103B50008C831A8309838FEF9FE79E838D83AE0149 -:103B6000465E5F4F688D798DCE0101960F94D41E0D -:103B7000EF81F885E00FF11F10822E960FB6F894B2 -:103B8000DEBF0FBECDBFDF91CF911F910F91089582 -:103B90000F931F93CF93DF93CDB7DEB72E970FB65A -:103BA000F894DEBF0FBECDBF8C01FA018EE08C838E -:103BB0001A83098377FF02C060E070E8CB010197A8 -:103BC0009E838D83A901BF01CE0101960F94D41E5F -:103BD0004D815E8157FD0AC02F81388542175307FA -:103BE0000CF49A01F801E20FF31F10822E960FB623 -:103BF000F894DEBF0FBECDBFDF91CF911F910F9123 -:103C000008950F94431E08F481E00895E89409C0D4 -:103C100097FB3EF490958095709561957F4F8F4FFF -:103C20009F4F9923A9F0F92F96E9BB279395F69515 -:103C3000879577956795B795F111F8CFFAF4BB0F93 -:103C400011F460FF1BC06F5F7F4F8F4F9F4F16C0F7 -:103C5000882311F096E911C0772321F09EE8872F81 -:103C6000762F05C0662371F096E8862F70E060E03D -:103C70002AF09A95660F771F881FDAF7880F9695B6 -:103C8000879597F90895990F0008550FAA0BE0E85A -:103C9000FEEF16161706E807F907C0F0121613060E -:103CA000E407F50798F0621B730B840B950B39F44E -:103CB0000A2661F0232B242B252B21F408950A26B4 -:103CC00009F4A140A6958FEF811D811D08950F94E1 -:103CD0007A1E0D94F7230F94E92338F00F94F02304 -:103CE00020F0952311F00D94E0230D94E623112488 -:103CF0000D942B240F94082470F3959FC1F3950F16 -:103D000050E0551F629FF001729FBB27F00DB11D5F -:103D1000639FAA27F00DB11DAA1F649F6627B00DEF -:103D2000A11D661F829F2227B00DA11D621F739FD8 -:103D3000B00DA11D621F839FA00D611D221F749FE6 -:103D40003327A00D611D231F849F600D211D822F2D -:103D5000762F6A2F11249F5750409AF0F1F0882354 -:103D60004AF0EE0FFF1FBB1F661F771F881F915081 -:103D70005040A9F79E3F510580F00D94E0230D942B -:103D80002B245F3FE4F3983ED4F3869577956795AF -:103D9000B795F795E7959F5FC1F7FE2B880F911DAB -:103DA0009695879597F908952F923F924F925F923B -:103DB0006F927F928F929F92AF92BF92CF92DF923B -:103DC000EF92FF920F931F93CF93DF93CDB7DEB7A0 -:103DD0002B970FB6F894DEBF0FBECDBF6C017B01F1 -:103DE0008A01FC0117821682838181FFCCC1CE013A -:103DF00001963C01F6019381F70193FD859193FFB4 -:103E000081917F01882309F4BAC1853239F493FD89 -:103E1000859193FF81917F01853229F4B60190E06D -:103E20000F944623E7CF912C212C312CFFE1F31581 -:103E3000D8F08B3279F038F4803279F08332A1F403 -:103E4000232D20611DC08D3261F0803369F4232D54 -:103E5000216016C0832D8260382EE32DE4603E2E53 -:103E60002AC0F32DF8601DC037FC2DC020ED280FAF -:103E70002A3040F08E32B9F436FC81C1232D206403 -:103E8000322E19C036FE06C08AE0989E200D1124FD -:103E9000922E11C0EAE02E9E200D1124222EF32D29 -:103EA000F0623F2E08C08C3621F4832D8068382EB6 -:103EB00002C0883641F4F70193FD859193FF81910B -:103EC0007F018111B3CF982F9F7D9554933028F4B3 -:103ED0000C5F1F4F9FE399830DC0833631F083370A -:103EE00071F0833509F059C021C0F80180818983C0 -:103EF0000E5F1F4F88248394912C530113C0280117 -:103F0000F2E04F0E511CF801A080B18036FE03C0D4 -:103F1000692D70E002C06FEF7FEFC5010F943B2366 -:103F20004C018201F32DFF773F2E16C0280122E0BD -:103F3000420E511CF801A080B18036FE03C0692DED -:103F400070E002C06FEF7FEFC5010F9430234C018A -:103F5000F32DF0683F2E820133FC1BC0822D90E0D0 -:103F600088169906B0F4B60180E290E00F944623DB -:103F70002A94F4CFF50137FC859137FE81915F01DA -:103F8000B60190E00F94462321102A9421E0821A72 -:103F900091088114910471F7E8C0843611F08936D4 -:103FA00041F5F80137FE07C06081718182819381FC -:103FB0000C5F1F4F08C060817181072E000C880BB9 -:103FC000990B0E5F1F4FF32DFF763F2E97FF09C011 -:103FD00090958095709561957F4F8F4F9F4FF068BA -:103FE0003F2E2AE030E0A3010F948223882E86180A -:103FF00045C0853731F4232D2F7EB22E2AE030E0E4 -:1040000025C0932D997FB92E8F36C1F018F48835CD -:1040100079F0B5C0803719F0883721F0B0C0E92FAA -:10402000E061BE2EB4FE0DC0FB2DF460BF2E09C0B2 -:1040300034FE0AC0292F2660B22E06C028E030E0E8 -:1040400005C020E130E002C020E132E0F801B7FE17 -:1040500007C060817181828193810C5F1F4F06C010 -:104060006081718180E090E00E5F1F4FA3010F948B -:104070008223882E8618FB2DFF773F2E36FE0DC03B -:10408000232D2E7FA22E891458F434FE0BC032FC4F -:1040900009C0832D8E7EA82E05C0B82CA32C03C08A -:1040A000B82C01C0B92CA4FE0FC0FE01E80DF11D13 -:1040B0008081803321F49A2D997EA92E09C0A2FE19 -:1040C00006C0B394B39404C08A2D867809F0B394E3 -:1040D000A3FC11C0A0FE06C0B21488F4280C922CD8 -:1040E0009B180EC0B21460F4B60180E290E00F9409 -:1040F0004623B394F7CFB21418F42B1802C0982CAF -:10410000212CA4FE10C0B60180E390E00F9446235A -:10411000A2FE17C0A1FC03C088E790E002C088E5BA -:1041200090E0B6010CC08A2D867859F0A1FE02C03D -:104130008BE201C080E2A7FC8DE2B60190E00F9413 -:104140004623891438F4B60180E390E00F944623A7 -:104150009A94F7CF8A94F301E80DF11D8081B6019E -:1041600090E00F9446238110F5CF222009F442CE2F -:10417000B60180E290E00F9446232A94F6CFF60130 -:104180008681978102C08FEF9FEF2B960FB6F89430 -:10419000DEBF0FBECDBFDF91CF911F910F91FF907A -:1041A000EF90DF90CF90BF90AF909F908F907F90D7 -:1041B0006F905F904F903F902F9008958F929F92B5 -:1041C000AF92BF92CF92DF92EF92FF920F931F9325 -:1041D000CF93DF93CDB7DEB729970FB6F894DEBF44 -:1041E0000FBECDBF6A01122FB02E2BE3201720F097 -:1041F000FF24F394F00E02C02CE3F22E0F2D27E0E3 -:10420000AE014F5F5F4F0F945522BC014981842F4F -:104210008970813031F0E1FC06C0E0FE06C090E21A -:1042200005C09DE203C09BE201C090E05E2D50718D -:1042300043FF3CC0911102C083E001C084E08117BC -:1042400018F4212F281B01C020E051110BC0F601EA -:10425000822F30E2882319F031938150FBCFC20EB8 -:10426000D11C20E0992329F0D6019C93F6013196C8 -:104270006F01C6010396E2FE0AC03EE4D6013C93FC -:1042800041E411964C93119712963C9306C03EE67A -:10429000F601308341E641833283FC01322F40E254 -:1042A000332309F442C041933150FACF42FF44C056 -:1042B000911102C083E001C084E0811718F4212F1E -:1042C000281B01C020E051110BC0F601822F30E203 -:1042D000882319F031938150FBCFC20ED11C20E00E -:1042E000992329F0D6019C93F60131966F01C601FE -:1042F0000396E2FE0BC039E4D6013C933EE41196EE -:104300003C93119736E412963C9307C039E6F601C8 -:1043100030833EE6318336E63283FC01322F40E2C1 -:10432000332319F041933150FBCFFC01E20FF11D13 -:1043300010828EEF9FEFA6C021E030E0911102C005 -:1043400020E030E0161617061CF4FB01319602C07F -:10435000E1E0F0E02E0F3F1FBB2021F0EB2DF0E05D -:10436000319602C0E0E0F0E02E0F3F1FE12FF0E0B9 -:104370002E173F071CF4121B212F01C020E08E2DA9 -:10438000887159F4F601822F30E2882319F03193B5 -:104390008150FBCFC20ED11C20E0992329F0D60119 -:1043A0009C93F60131966F0151110BC0F601822FDB -:1043B00090E3882319F091938150FBCFC20ED11C5A -:1043C00020E00F2D060F9A81342F307144FF03C077 -:1043D000913309F40150101624F4093018F008E064 -:1043E00001C001E0AB0177FF02C040E050E0FB01FB -:1043F000E41BF50BA1E0B0E0AC0FBD1FEA0FFB1F03 -:104400008EE2A82E4B01801A91080B2D10E0119519 -:10441000019511094F3FBFEF5B0721F4D601AC9224 -:1044200011966D01641775072CF08416950614F427 -:10443000818101C080E3415051093196D601119626 -:104440007D014017510724F0D6018C936701E2CF1C -:104450006417750739F4963320F4953319F4311144 -:1044600001C081E3F6018083F701822F90E2882367 -:1044700019F091938150FBCFF701E20FF11D1082EB -:1044800080E090E029960FB6F894DEBF0FBECDBF56 -:10449000DF91CF911F910F91FF90EF90DF90CF9020 -:1044A000BF90AF909F908F900895283008F027E03C -:1044B0003327DA01990F311D87FD91600096610560 -:1044C000710539F432602E5F3D9330E32A95E1F7B0 -:1044D00008959F3F30F080387105610509F03C5F19 -:1044E0003C5F3D93913008F08068911DDF93CF933E -:1044F0001F930F93FF92EF92192F987F9695E92FB4 -:1045000096959695E90FFF27E953FB4F9927332797 -:10451000EE24FF24A701E70105900894079428F4EE -:10452000360FE71EF81E491F511D660F771F881FA3 -:10453000991F0694A1F70590079428F4E70EF81E3A -:10454000491F561FC11D770F881F991F661F0694AC -:10455000A1F70590079428F4F80E491F561FC71FAE -:10456000D11D880F991F661F771F0694A1F705902C -:10457000079420F4490F561FC71FD81F990F661FB5 -:10458000771F881F0694A9F784911095177041F042 -:10459000D695C79557954795F794E7941A95C1F71F -:1045A000EDE6F4E06894159015913591659195913B -:1045B00005907FE27395E118F10A430B560BC90B86 -:1045C000D009C0F7E10CF11E431F561FC91FD01DB3 -:1045D0007EF4703311F48A95E6CFE894015030F000 -:1045E000080F0AF40027021708F4202F2395022F42 -:1045F0007A3328F079E37D932A95E9F710C07D930B -:104600002A9589F606949795679537951795179487 -:10461000E118F10A430B560BC90BD00998F023950A -:104620007E9173957A3308F070E37C932013B8F78A -:104630007E9170617D9330F0839571E37D9370E39B -:104640002A95E1F71124EF90FF900F911F91CF91E0 -:10465000DF91992787FD90950895992788270895D8 -:10466000FC010590615070400110D8F7809590953D -:104670008E0F9F1F0895FC01615070400190011042 -:10468000D8F7809590958E0F9F1F08950F931F93D5 -:10469000CF93DF93FB01238121FD03C08FEF9FEFB9 -:1046A0002CC022FF16C046815781248135814217D4 -:1046B000530744F4A081B1819D012F5F3F4F3183A7 -:1046C00020838C93268137812F5F3F4F378326834A -:1046D00014C08B01EC01FB010084F185E02D1995DC -:1046E000892BE1F6D80116968D919C91179701962A -:1046F00017969C938E931697CE01DF91CF911F91C1 -:104700000F910895FA01AA27283051F1203181F143 -:10471000E8946F936E7F6E5F7F4F8F4F9F4FAF4FC9 -:10472000B1E03ED0B4E03CD0670F781F891F9A1FDC -:10473000A11D680F791F8A1F911DA11D6A0F711D90 -:10474000811D911DA11D20D009F468943F912AE09C -:10475000269F11243019305D3193DEF6CF01089584 -:10476000462F4770405D4193B3E00FD0C9F7F6CFB5 -:10477000462F4F70405D4A3318F0495D31FD40527D -:10478000419302D0A9F7EACFB4E0A6959795879513 -:1047900077956795BA95C9F70097610571050895F2 -:1047A0009B01AC010A2E069457954795379527959E -:1047B000BA95C9F7620F731F841F951FA01D089536 -:1047C00097F99F6780E870E060E008959FEF80ECC4 -:1047D000089500240A941616170618060906089567 -:1047E00000240A9412161306140605060895092ECD -:1047F0000394000C11F4882352F0BB0F40F4BF2B3C -:1048000011F460FF04C06F5F7F4F8F4F9F4F08957B -:1048100057FD9058440F551F59F05F3F71F0479571 -:10482000880F97FB991F61F09F3F79F08795089556 -:10483000121613061406551FF2CF4695F1DF08C075 -:10484000161617061806991FF1CF86957105610592 -:1048500008940895E894BB2766277727CB0197F93A -:104860000895F999FECF92BD81BDF89A992780B538 -:104870000895262FF999FECF1FBA92BD81BD20BDA4 -:104880000FB6F894FA9AF99A0FBE01960895DB01D3 -:104890008F939F930F949824BF91AF91A29F800D07 -:1048A000911DA39F900DB29F900D11240895A1E238 -:1048B0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F9A -:1048C000FF1FA217B307E407F50720F0A21BB30BE5 -:1048D000E40BF50B661F771F881F991F1A9469F761 -:1048E00060957095809590959B01AC01BD01CF01BD -:1048F0000895052E97FB1EF400940F94902457FD05 -:1049000007D00F94572407FC03D04EF40D94902445 -:1049100050954095309521953F4F4F4F5F4F0895EB -:1049200090958095709561957F4F8F4F9F4F08951B -:104930000F94AB24A59F900DB49F900DA49F800D64 -:10494000911D11240895B7FF0D9498240F94982475 -:10495000821B930B0895A29FB001B39FC001A39F38 -:10496000700D811D1124911DB29F700D811D1124A8 -:10497000911D0895991B79E004C0991F961708F0BE -:10498000961B881F7A95C9F780950895AA1BBB1BB3 -:1049900051E107C0AA1FBB1FA617B70710F0A61B3F -:1049A000B70B881F991F5A95A9F780959095BC0160 -:1049B000CD01089597FB072E16F4009407D077FDDC -:1049C00009D00F94C62407FC05D03EF4909581953C -:1049D0009F4F0895709561957F4F0895EE0FFF1FCB -:1049E000881F8BBF0790F691E02D19945058BB2774 -:1049F000AA270F940E250D94F7230F94E92338F07E -:104A00000F94F02320F039F49F3F19F426F40D940D -:104A1000E6230EF4E095E7FB0D94E023E92F0F94D5 -:104A2000082458F3BA17620773078407950720F024 -:104A300079F4A6F50D942A240EF4E0950B2EBA2FE6 -:104A4000A02D0B01B90190010C01CA01A001112494 -:104A5000FF27591B99F0593F50F4503E68F11A1640 -:104A6000F040A22F232F342F4427585FF3CF4695D1 -:104A700037952795A795F0405395C9F77EF41F16F3 -:104A8000BA0B620B730B840BBAF09150A1F0FF0FBD -:104A9000BB1F661F771F881FC2F70EC0BA0F621FA9 -:104AA000731F841F48F4879577956795B795F79599 -:104AB0009E3F08F0B0CF9395880F08F09927EE0F2E -:104AC0009795879508950F94E92360F080E891E029 -:104AD00009F49EEF0F94F02328F040E851E071F4C0 -:104AE0005EEF0CC00D94E6230D942A24E92FE078A4 -:104AF0000F94082440F3092E052AB1F3261737072F -:104B00004807590738F00E2E07F8E02569F0E02530 -:104B1000E0640AC0EF6307F8009407FADB01B9010B -:104B20009D01DC01CA01AD01EF930F9408260F949B -:104B3000F7230F94A6255F91552339F02BED3FE025 -:104B400049E450FD49EC0D94F7240895DF93DD27E7 -:104B5000B92FBF7740E85FE31616170648075B07D3 -:104B600018F4D92F0F945C279F938F937F936F93A3 -:104B70000F94E527EEEEF1E00F94D9260F94F7237A -:104B80002F913F914F915F910F947A1EDD2351F049 -:104B90009058A2EA2AED3FE049EC5FE3D0785D2728 -:104BA0000F940E25DF910D94F7230F943F2790F07B -:104BB0009F3748F4911116F40D942B2460E070E0B7 -:104BC00080E89FE3089526F01B16611D711D811D6D -:104BD0000D94B0260D94CB260F940227E3950D94E7 -:104BE0002B270F9405260D94F7230F94F02358F0EC -:104BF0000F94E92340F029F45F3F29F00D94E0235E -:104C000051110D942B240D94E6230F94082468F37E -:104C10009923B1F3552391F3951B550BBB27AA2775 -:104C200062177307840738F09F5F5F4F220F331FAF -:104C3000441FAA1FA9F335D00E2E3AF0E0E832D077 -:104C400091505040E695001CCAF72BD0FE2F29D07A -:104C5000660F771F881FBB1F261737074807AB074C -:104C6000B0E809F0BB0B802DBF01FF2793585F4FC1 -:104C70003AF09E3F510578F00D94E0230D942B24DB -:104C80005F3FE4F3983ED4F3869577956795B795A3 -:104C9000F7959F5FC9F7880F911D9695879597F9AE -:104CA0000895E1E0660F771F881FBB1F6217730727 -:104CB0008407BA0720F0621B730B840BBA0BEE1F3C -:104CC00088F7E09508950F946A266894B1110D94C1 -:104CD0002B2408950F94102488F09F5798F0B92F33 -:104CE0009927B751B0F0E1F0660F771F881F991F21 -:104CF0001AF0BA95C9F714C0B13091F00F942A2474 -:104D0000B1E008950D942A24672F782F8827B85F83 -:104D100039F0B93FCCF3869577956795B395D9F778 -:104D20003EF490958095709561957F4F8F4F9F4F82 -:104D300008950F943F2790F09F3748F4911116F093 -:104D40000D942B2460E070E080E89FEB089526F43A -:104D50001B16611D711D811D0D94B0260D94CB266F -:104D6000882371F4772321F09850872B762F07C082 -:104D7000662311F499270DC09051862B70E060E0F6 -:104D80002AF09A95660F771F881FDAF7880F969595 -:104D9000879597F908959F3F31F0915020F48795BA -:104DA00077956795B795880F911D9695879597F993 -:104DB0000895DF93CF931F930F93FF92EF92DF92AB -:104DC0007B018C01689406C0DA2EEF010F947A1EE5 -:104DD000FE01E894A5912591359145915591A6F351 -:104DE000EF010F940E25FE019701A801DA9469F7EF -:104DF000DF90EF90FF900F911F91CF91DF91089579 -:104E00000D94E6230F941024D8F3E894E0E0BB2738 -:104E10009F57F0F02AED3FE049EC06C0EE0FBB0FC4 -:104E2000661F771F881F28F0B23A6207730784074E -:104E300028F0B25A620B730B840BE3959A9572F7C4 -:104E4000803830F49A95BB0F661F771F881FD2F702 -:104E500090480D94CD26EF93E0FF07C0A2EA2AED1B -:104E60003FE049EC5FEB0F940E250F94F7230F9072 -:104E7000039401FC9058EBE1F2E00D94F5270F94B8 -:104E80001024A0F0BEE7B91788F4BB279F3860F460 -:104E90001616B11D672F782F8827985FF7CF869554 -:104EA00077956795B11D93959639C8F308950F943A -:104EB000431E08F48FEF08959B01AC0160E070E0A1 -:104EC00080E89FE30D94F1250F94102458F19E572C -:104ED00060F19851A0F0E9F0983020F5092E99275B -:104EE000660F771F881F991F0A94D1F712C0062EEC -:104EF000672F782F8827985F11F4000C07C0993F1F -:104F0000B4F38695779567959395D9F7611D711DD3 -:104F1000811D3EF490958095709561957F4F8F4FE0 -:104F20009F4F089568940D942B240D942A249F93E9 -:104F30000F9402270F9007FCEE5F0D942B2719F4B6 -:104F400016F40D94E6230D94CB260F941024B8F399 -:104F50009923C9F3B6F39F57550B87FF0F94EE279C -:104F60000024A0E640EA900180585695979528F4D1 -:104F7000805C660F771F881F20F0261737074807C9 -:104F800030F4621B730B840B202931294A2BA69520 -:104F900017940794202531254A2758F7660F771F65 -:104FA000881F20F026173707480730F4620B730B71 -:104FB000840B200D311D411DA09581F7B901842F6F -:104FC0009158880F9695879508959B01AC010D9493 -:104FD000671E0F94431E880B990B08959150504003 -:104FE000660F771F881FD2F708959F938F937F9343 -:104FF0006F93FF93EF939B01AC010F94671EEF91AA -:10500000FF910F94D9262F913F914F915F910D946D -:10501000671E81E090E0F8940D94B32891110895F3 -:1050200081548A5108F4805E855A0895FB01DC01A1 -:1050300004C08D910190801921F441505040C8F76F -:10504000881B990B0895FB01DC0102C001900D92B1 -:1050500041505040D8F70895FB01DC018D91813417 -:105060001CF08B350CF4805E619161341CF06B3563 -:105070000CF4605E861B611189F3990B0895FB01A6 -:10508000DC010D900020E9F7119701900D920020AE -:10509000E1F70895FC018191861721F08823D9F763 -:1050A000992708953197CF010895FB01DC01019004 -:1050B0000D920020E1F70895FB01DC0141505040C2 -:1050C00030F08D910190801919F40020B9F7881BF8 -:1050D000990B0895FB01DC014150504048F00190CC -:1050E0000D920020C9F701C01D9241505040E0F7D9 -:1050F0000895FC0181E090E00190061609F4CF01CB -:105100000020D1F7019708950F931F93CF93DF935A -:10511000CDB7DEB72E970FB6F894DEBF0FBECDBF6A -:105120000E891F8986E08C831A8309838FEF9FE79E -:105130009E838D83AE01465E5F4F688D798DCE0173 -:1051400001960F94D41EEF81F885E00FF11F1082B5 -:105150002E960FB6F894DEBF0FBECDBFDF91CF9174 -:105160001F910F9108951DE1C0E2DDE100E006C04E -:10517000802FFE010F94EE242196011DC132D1072C -:0A51800080E00807A9F7F894FFCFBC -:10518A0002C0D401000180000000FF3FFF3F000081 -:10519A000000FF3F010000803FA000640000007A89 -:1051AA004300005243CDCCCC3D0101FFFFFFFF017C -:1051BA00015CFF79C40000000000009D430000006C -:1051CA000000009B43000000000000C84301640087 -:1051DA000000803F80800110FF06010000A040000F -:1051EA0000C8420000C8419D9DF0FF79C4F0FF79D4 -:1051FA00C4010000000210000004100000061000A4 -:10520A0000081000000A1000000C10000026100010 -:10521A00003010000032100000341000003A100074 -:10522A00003E10000040100000441000004610002C -:10523A0000481000004A1000004C100000541000F2 -:10524A000056100000581000005C1000005E1000AC -:10525A00005F100000881000000000000058595A32 -:10526A004500409C4500007A4500007A43000070E2 -:10527A0042B400F00046006E0000004040000034D6 -:10528A004200000000000000000000000000005082 -:10529A0041000000000000004164000000640000BA -:1052AA000003000000640000006400000003000026 -:1052BA0000030000001E0000001E0000001E000087 -:1052CA00001E0000001E0000001E0000000A005A16 -:1052DA0000EE020000EE020000640000003C000044 -:1052EA00000000A0420000A0420000C84300000CD9 -:1052FA00430000FA430000FA430000204100008CFA -:10530A004256373000000000005C5CC55BF35BA9C5 -:10531A005C245C025C165CFF3F1CC6FF3F1CC60097 -:10532A000000002A2A2A496E6974696E672063613F -:10533A007264206973204F4B2A2A2A002A2A2A4992 -:10534A006E6974696E672063617264206661696C54 -:10535A00732A2A2A002A2A2A436172642052656D16 -:10536A006F7665642A2A2A003D3D77616974776100 -:10537A007920313D3D003D3D77616974776179203F -:10538A00333D3D002020737461727470726F6772CE -:10539A00657373200020202A2A2A2A2A2A2A52548C -:1053AA00535F48616E646C65446174612A2A2A2AD3 -:1053BA002A2A2A2A20003D3D20436865636B6B65D3 -:1053CA00793D3D000A2048616E646C652044617431 -:1053DA0061205072696E7446696C6520312053658C -:1053EA007474696E672053637265656E20000A20C3 -:1053FA0048616E646C652044617461205072696E04 -:10540A007446696C6520322053657474696E67202E -:10541A0053637265656E20000A2048616E646C658C -:10542A002044617461205072696E7446696C65200B -:10543A00332053657474696E672053637265656EB1 -:10544A0020000A2048616E646C6520446174612002 -:10545A0041646A75737420322053657474696E6787 -:10546A002053637265656E200074696E796D61639D -:10547A0068696E657333642E636F6D004368696E85 -:10548A00657365204E6F7420537570706F72746502 -:10549A006400456E676C69736820416C726561646B -:1054AA00792053657400496E76616C6964204F7087 -:1054BA0074696F6E000A204E6F2046696C616D65D3 -:1054CA006E74002046696C616D656E742052657356 -:1054DA00706F6E7365204E6F0046696C616D656E04 -:1054EA007420537461742030202D20310046696C79 -:1054FA00616D656E7420537461742030202D2032E2 -:10550A000046696C616D656E742053746174203055 -:10551A00202D20330046696C656E616D6500526509 -:10552A006364617461002020202020202020200054 -:10553A0025642F2564003D3D776169747761792080 -:10554A00343D3D003D3D7761697477617920353D91 -:10555A003D003D3D48656174696E6720446F6E6524 -:10556A00204368616E67652046696C616D656E747B -:10557A003D3D00526573756D6520596573206475EC -:10558A0072696E67207072696E740046696C656E26 -:10559A00616D652D4D65646961003D3D6F6E4669BB -:1055AA006C616D656E7452756E6F75743D3D002544 -:1055BA00642058202564205820256400544D334423 -:1055CA00203130532050726F00322E305F445733EF -:1055DA0020544D33442053534D444242003D3D44F0 -:1055EA0077696E20496E697420436F6D706C6574BB -:1055FA00653D3D002F00590058003A207A3A2000B4 -:10560A00206D65616E3A2000207369676D613A20EA -:10561A0000206D696E3A2000206D61783A200020E2 -:10562A0072616E67653A20004D65616E3A2000200E -:10563A004D696E3A2000204D61783A20002052616F -:10564A006E67653A20005374616E64617264204427 -:10565A006576696174696F6E3A20003D3D6F6E50E0 -:10566A0072696E7454696D6572537461727465649B -:10567A003D3D003D3D6F6E436F6E666967757261B1 -:10568A0074696F6E53746F72655772697474656E5C -:10569A003D3D0073746F7070696E67203D3D002F49 -:1056AA002F616374696F6E3A63616E63656C003D66 -:1056BA003D6F6E5072696E7454696D657253746F82 -:1056CA00707065643D3D0052656865617420666965 -:1056DA006E69736865642E00436C69636B20746F2E -:1056EA0020526573756D652E2E2E003D3D6F6E55E9 -:1056FA00736572436F6E6669726D52657175697210 -:10570A0065643D3D003F3F3F00556E746F756368A9 -:10571A006564200050756C73696E67202020002034 -:10572A002053544F5745442028747269676765723D -:10573A006564292073746174653A20484947482092 -:10574A00286C6F67696320312900202053544F5712 -:10575A0045442028747269676765726564292073F5 -:10576A00746174653A204C4F5720286C6F676963DF -:10577A00203029003D3D6F6E53746F726553657416 -:10578A0074696E67733D3D00455252003D3D6F6E30 -:10579A005072696E7454696D65725061757365648F -:1057AA003D3D003D3D6F6E4C6F6164536574746995 -:1057BA006E67733D3D003D3D6F6E466163746F7267 -:1057CA007952657365743D3D00205A003D3D6F6E08 -:1057DA00436F6E66696775726174696F6E53746F31 -:1057EA007265526561643D3D0042656420583A2005 -:1057FA000020593A2000205A3A20002A2A2A6B69A6 -:10580A006C6C2A2A2A005344557064617465002E10 -:0E581A0067636F6465002E47434F44450000EE -:00000001FF diff --git a/CR10SPro_BLTouch_UBL_DW3.hex b/CR10SPro_BLTouch_UBL_DW3.hex deleted file mode 100644 index deeff18f49..0000000000 --- a/CR10SPro_BLTouch_UBL_DW3.hex +++ /dev/null @@ -1,11404 +0,0 @@ -:100000000C9460300C9491300C9491300C9491309D -:100010000C9491300C9491300C9491300C9491305C -:100020000C9491300C9491300C9491300C9491304C -:100030000C9491300C9491300C9491300C9491303C -:100040000C9491300C94E18B0C9491300C94913081 -:100050000C9491300C9491300C942BFB0D94843EB5 -:100060000C9491300C94EC6D0C94E26D0C949130E6 -:100070000C9491300C9491300C9491300C949130FC -:100080000C947C650C9491300C9491300C949130CC -:100090000C9491300C9491300C9491300C949130DC -:1000A0000C9491300C9491300C944E650C949130DA -:1000B0000C9491300C9491300C9491300C942065F8 -:1000C0000C9491300C9491300C9491300C9491706C -:1000D0000C9467700C9491300C9491300C94913086 -:1000E0000C949130403286328C32B332C032C932F5 -:1000F000D432963AB63B923CC53C28482848E03D6D -:10010000833E923B284828482040B941F141284885 -:10011000F54328482848464528482848D0450346FE -:1001200028487F463B47004208422C4250428442C6 -:100130002D4341435A436743744388431F6E256EE2 -:10014000376E476E4F6E7C6E536E7C6E576E5B6E75 -:100150007C6E5F6E636E676E6F6E7C6E796E43A8A9 -:100160004AA8D0A8D5A82EAA33AA43AA2F02C9010B -:100170002502A9015B020F02130283013B0249021F -:10018000E101AF01AD0121020F022302F1013502AD -:10019000930187019101EB017701E5012D026701D0 -:1001A000ED01D9014302270289017F01E5014B02DC -:1001B000F301CD016F019B011502FD01B501B301F2 -:1001C0002902950147025F020302E70139028D010E -:1001D000B301D50175016D015102BB01A501F50106 -:1001E000FF01A10141023D028B0169014D02EF01B6 -:1001F0009D01DD01A1011F0207025702084AD73BFA -:100200003BCE016E84BCBFFDC12F3D6C74319ABDE5 -:1002100056833DDA3D00C77F11BED9E4BB4C3E9109 -:100220006BAAAABE000000803F05A84CCDB2D44EF8 -:10023000B93836A9020C50B9918688083CA6AAAAFA -:100240002ABE000000803F07634236B79BD8A71A3A -:1002500039685618AEBAAB558C1D3CB7CC5763BD48 -:100260006DEDFD753EF6177231BF000000803F084E -:10027000000000BE922449123EABAAAA2ABECDCCF1 -:10028000CC4C3E00000080BEABAAAAAA3E000000F3 -:1002900000BF000000803F0000000000084178D34C -:1002A000BB4387D1133D190E3CC3BD4282AD2B3EEB -:1002B00068EC8276BED98FE1A93E4C80EFFFBE018B -:1002C000C4FF7F3F0000000000000C94923C0D949E -:1002D00092380D94C13D0C94B3320D94FB3A0D94B9 -:1002E000C63A0C946F6E0C94796F0D94F73A0D9496 -:1002F0004A380C9450420C94D4320C94576E0D949E -:100300006E390C94963A0D9450370C9440320D94FB -:10031000E0370D9449390D94B73D0D94ED3A0C94A6 -:1003200084420D9400380D94BE370D94D13A0C944C -:10033000923B0C94C9320D94C93A0D94E43D0C944F -:10034000C66F0D94163E0C9433AA0D94893D0C94FF -:1003500074430D9446370C9467430D9461370D94A4 -:100360005E370C944AA80D94003B0D94C23A0C944D -:100370005A430C942EAA0D94843D0D94224E0C9455 -:1003800041430C94D5A80C94376E0C9428480C94D7 -:1003900003460D943F370C9443AA0D94DD390C9419 -:1003A000636E0C94256E0C94676E0D94F33A0C9466 -:1003B000833E0D94DA380C94B63B0D94EE3D0C94CC -:1003C00043A80D945A370C94D0A80D94013A0D947B -:1003D000E53A0C94336F0D9425380D94B5380D948F -:1003E000D53D0D946B370D94B8390D94933D0C9415 -:1003F00008420C945F6E0C94D0450D94BC3A0D9459 -:100400009D3D0C947C6E0D94DF3A0C947F460D94C8 -:10041000023E0C941F6F0C9420400C9486320D9475 -:1004200073370C945B6E0D944D370D94B83A0C9461 -:10043000E03D0D94C74E0C9400420C94E26E0D9476 -:10044000F83D0D9464370D9468370D9443370D943F -:1004500024390D94CD3A0C94B9410D946F380D9414 -:100460003C370C944F6E0C94536E0D946E370C9475 -:10047000C0320D94E93A0D9454370D94AF3D0C946D -:10048000796E0D94A73D0D94FF380C9446450D945C -:10049000D73A0D9457370D9493390D94CB3D0C9466 -:1004A0001F6E0D947F3D0C94476E0C942D430D945C -:1004B0000C3E0C94416F0D9449370C9488430D9475 -:1004C000DB3A0C94C53C0C94106F0C943B470C9495 -:1004D000F5430C942C420C94F1410C948C324E4117 -:1004E0004E494E495459494E46CDCCCC3D0AD723AE -:1004F0003C17B7D13877CC2B329595E6241FB14FF6 -:100500000A000020410000C84200401C4620BCBE3A -:100510004CCA1B0E5AAEC59D7400407A10F35A00A7 -:10052000A0724E18090010A5D4E80000E87648171C -:100530000000E40B54020000CA9A3B000000E1F501 -:1005400005000080969800000040420F000000A0C7 -:100550008601000000102700000000E803000000F2 -:10056000006400000000000A00000000000100001C -:100570000000002C76D888DC674F0823DFC1DFAE8F -:1005800059E1B1B796E5E3E453C63AE65199769658 -:10059000E8E6C28426EB898C9B62ED407C6FFCEF21 -:1005A000BC9C9F40F2BAA56FA5F490055A2AF75C4F -:1005B000936B6CF9676DC11BFCE0E40D47FEF52001 -:1005C000E6B500D0ED902E030094357705008084C9 -:1005D0001E080000204E0A000000C80C33333333DD -:1005E0000F986E12831141EF8D2114893BE6551649 -:1005F000CFFEE6DB18D1844B381BF77C1D901DA481 -:10060000BBE424203284725E228100C9F124ECA173 -:10061000E53D274D323520500A4D32340050726985 -:100620006E742050617573656400526573756D65F5 -:10063000005549205061757365004E6F204D6174FF -:100640006368203A004D333033452D3153363543FE -:100650003455004D393939004D3530320A4D353079 -:1006600030004D3330334530533231354338550047 -:100670000A202A2A2A7265636461742E6461746197 -:100680005B305D203D004732380A4731204631302B -:100690003030205A313000556E737570706F72743F -:1006A0006564204F7074696F6E2053656C65637468 -:1006B0006564004D3139305335350A4732380A47C1 -:1006C000323950310A47323950330A4732395331BF -:1006D0000A47323953300A47323946302E300A47FA -:1006E0003239410A4D313034533231350A473238CC -:1006F0000A4D313039533231350A473158313530AE -:100700005931353046353030300A47315A300A4D8C -:100710003530300A4D3430300A4D31313720536591 -:1007200074205A204F666673657400473120463145 -:10073000303030205A302E30004732380A473120CE -:100740004631303030205A302E30004D35303000B8 -:100750005A204F6666736574203A202573004D3524 -:100760003030005A204F6666736574203A20257336 -:10077000004732385A0A473146313530305A302E28 -:1007800030004732380A473146313530305A302E42 -:1007900030004D383400473146313030305A302E39 -:1007A00030004732380A473146313030305A302E27 -:1007B00030005A204F6666736574203A2025730016 -:1007C0004D353030004D383400426567696E5377DF -:1007D00069746368007265636461742E6164647235 -:1007E000203D3D007265636461742E646174615BD9 -:1007F000305D203D3D0077616974776179203D3D32 -:10080000000A202A2A2A4E6F7A7A6C6554656D7028 -:100810005374617475735B325D203D00434F4D4DE1 -:10082000554E49434154494F4E0044525952554E3A -:10083000004552524F525300494E464F00454348DF -:100840004F0047322F47332062616420706172612C -:100850006D65746572730A00536C6565702E2E2E7B -:10086000005A2050726F6265205061737420426597 -:10087000640A005A2050726F6265205061737420C0 -:1008800042656400486F6D6520585920466972734F -:10089000740A00486F6D6520585920466972737458 -:1008A00000205A3A200020593A200042656420581E -:1008B0003A20004D65736820706F696E7420636123 -:1008C0006E6E6F74206265207265736F6C766564FE -:1008D0000A004D302F3120427265616B2043616CFC -:1008E0006C656400436F6E74696E7565004D302FE2 -:1008F0003120427265616B2043616C6C6564004E0F -:100900006F204D6F76652E00456E642066696C65BC -:10091000206C6973740A00426567696E2066696CB1 -:1009200065206C6973740A00526573756D65205398 -:100930004400286E6F2066696C65290043757272E9 -:10094000656E742066696C653A20002E0A00446565 -:100950006C6574696F6E206661696C65642C2046F5 -:10096000696C653A200046696C652064656C657445 -:1009700065643A005072696E742074696D653A203E -:10098000000A53746174733A2046696C616D656E38 -:100990007420757365643A20002C204C6F6E676577 -:1009A0007374206A6F623A2000546F74616C207413 -:1009B000696D653A200053746174733A20002C20ED -:1009C0004661696C65643A20002C2046696E697343 -:1009D0006865643A20005072696E74733A2000535F -:1009E000746174733A20004520436F6F6C696E67C1 -:1009F0002E2E2E00452048656174696E672E2E2EBE -:100A0000006F6666003D08380831082A081C084453 -:100A1000454255473A004D31313320530042656419 -:100A200020436F6F6C696E672E2E2E004265642026 -:100A300048656174696E672E2E2E006F6B00434807 -:100A4000414D4245525F54454D50455241545552D7 -:100A500045004D4F54494F4E5F4D4F444553005450 -:100A60004845524D414C5F50524F54454354494FB5 -:100A70004E004155544F5245504F52545F53445FBE -:100A80005354415455530050524F4D50545F535599 -:100A900050504F525400454D455247454E43595FC3 -:100AA00050415253455200434153455F4C494748DA -:100AB000545F4252494748544E45535300544F47A0 -:100AC000474C455F4C494748545300534F46545791 -:100AD0004152455F504F574552004255494C445F83 -:100AE00050455243454E54004C4556454C494E479F -:100AF0005F44415441005A5F50524F4245004155B6 -:100B0000544F4C4556454C005052494E545F4A4F45 -:100B1000420050524F4752455353004155544F5293 -:100B200045504F52545F54454D5000564F4C554D13 -:100B3000455452494300454550524F4D0042494E9D -:100B40004152595F46494C455F5452414E534645C8 -:100B5000520053455249414C5F584F4E5F584F46E3 -:100B600046004649524D574152455F4E414D453A28 -:100B70004D61726C696E20322E305F4457332054C1 -:100B80004D33442053534D44425520534F55524307 -:100B9000455F434F44455F55524C3A6874747073D7 -:100BA0003A2F2F6769746875622E636F6D2F496ED7 -:100BB00073616E6974794175746F6D6174696F6E7C -:100BC0002F4D61726C696E2F747265652F4372656B -:100BD000616C6974795F4D61726C696E322E302E72 -:100BE000782050524F544F434F4C5F564552534913 -:100BF0004F4E3A312E30204D414348494E455F54C7 -:100C00005950453A544D3344203130532050726F7F -:100C10002045585452554445525F434F554E543A1F -:100C20003120555549443A63656465326132662D19 -:100C3000343161322D343734382D396231322D63FD -:100C400035356336326633363766660A002F2F2015 -:100C5000003F4A206F7574206F662072616E676571 -:100C60002028302E303120746F20302E33290A0096 -:100C700020466C6F773A200050726F74656374651C -:100C8000642050696E0A00206F7574206F662072B0 -:100C9000616E67650A00536572766F20003A200026 -:100CA00020536572766F200050726F6265205A2063 -:100CB0004F66667365743A2000496E76616C6964AC -:100CC0002065787472756465720A0020643A0020A9 -:100CD000693A0020703A0020643A0020693A002006 -:100CE000703A0064697300656E0043290A0061620E -:100CF0006C656420286D696E2074656D70200043FA -:100D00006F6C6420657874727564657320617265B8 -:100D100020004F4646004F4E0046696C616D656E7F -:100D2000742072756E6F75742064697374616E637C -:100D30006520286D6D293A200046696C616D656EED -:100D4000742072756E6F757420004F6666736574DB -:100D500073204170706C696564004572723A20546A -:100D60006F6F206661722100546F6F206661722080 -:100D700066726F6D207265666572656E6365207060 -:100D80006F696E740A00454550524F4D204F4B0A13 -:100D90000024F404D9201BC40C5C0E9804C4095F21 -:100DA0000265077101F405F900FB04B300480487EC -:100DB00000C10369005803550003034500BE023A11 -:100DC000008402310053022A002902250004022077 -:100DD00000E4011C00C8011900AF011700980114BC -:100DE0000084011300710110006101100051010E17 -:100DF0000043010D0036010B002B010B0020010BFD -:100E000000150109000C01090003010800FB00089E -:100E100000F3000800EB000700E4000600DE000617 -:100E200000D8000600D2000600CC000500C700056F -:100E300000C2000500BD000400B9000400B50004B4 -:100E400000B1000400AD000400A9000400A50003E7 -:100E500000A20003009F0004009B00030098000311 -:100E6000009500020093000300900003008D000233 -:100E7000008B00030088000200860002008400034B -:100E800000810002007F0002007D0002007B000262 -:100E90000079000200770001007600020074000271 -:100EA0000072000100710002006F0002006D00017D -:100EB000006C0002006A0001006900020067000186 -:100EC000006600010065000100640002006200018C -:100ED0000061000100600001005F0002005D000190 -:100EE000005C0001005B0001005A00010059000194 -:100EF0000058000100570001005600010055000194 -:100F00000054000100530000005300010052000192 -:100F10000051000100500001004F0001004E000090 -:100F2000004E0001004D0001004C0001004B00008C -:100F3000004B0001004A0001004900010048000088 -:100F40000048000100470001004600000046000183 -:100F5000004500000045000100440001004300007E -:100F60000043000100420000004200010041000077 -:100F70000041000100400001003F0000003F00016F -:100F8000003E0000003E0001003D0000003D000169 -:100F9000003C0000003C0000003C0001003B000061 -:100FA000003B0001003A0000003A00010039000057 -:100FB000003900010038000000380000003800014E -:100FC0000037000000370001003600000036000046 -:100FD000003600010035000000350000003500013A -:100FE0000034000000340000003400010033000031 -:100FF0000033000000330001003200000032000026 -:101000000032000100310000003100000031000119 -:10101000003000000030000000300001002F000010 -:10102000002F0000002F0000002F0001002E000004 -:10103000002E0000002E0001002D0000002D0000F9 -:10104000002D0000002D0001002C0000002C0000ED -:10105000002C0000002C0001002B0000002B0000E1 -:10106000002B0000002B0001002A0000002A0000D5 -:10107000002A0000002A00010029000000290000C9 -:1010800000290000002900000029000100280000BC -:1010900000280000002800000028000000280001AF -:1010A00000270000002700000027000000270000A4 -:1010B0000027000100260000002600000026000096 -:1010C0000026000000260001002500000025000089 -:1010D000002500000025000000250000002500017B -:1010E0000024000000240000002400000024000070 -:1010F0000024000100230000002300000023000062 -:101100000023000000230000002300000023000152 -:101110000022000000220000002200000022000047 -:101120000022000000220001002100000021000038 -:10113000002100000021000000210000002100002B -:10114000002100010020000000200000002000001D -:10115000002000000020000000200000002000000F -:1011600000200001001F0000001F0000001F000001 -:10117000001F0000001F0000001F0000001F0001F2 -:10118000001E0000001E0000001E0000001E0000E7 -:101190000024F4D43050C38E20C2A24017828B703A -:1011A00011127A910D816CD90AA861E108C75866BD -:1011B00007615143061E4B5D05C145A7041A411145 -:1011C00004093D9803713931034036DB02653391E0 -:1011D00002D4305402802E1D02632CEE01752AC504 -:1011E00001B028A001102781018F2564012B244B19 -:1011F00001E0223401AC211F018D200D01801FFC74 -:1012000000841EED00971DDF00B81CD200E61BC64F -:1012100000201BBC00641AB200B219A8000A19A071 -:10122000006A189900D117910040178B00B51684F9 -:101230000031167E00B31579003A157300C7146F9C -:101240000058146A00EE1366008813630025135ECD -:1012500000C7125B006C12570015125400C11151E7 -:101260000070114F0021114B00D61049008D10471E -:10127000004610440002104200C00F4000800F3EA4 -:1012800000420F3C00060F3B00CB0E3800930E3798 -:10129000005C0E3500270E3400F30D3200C10D3115 -:1012A00000900D3000600D2E00320D2D00050D2C2C -:1012B00000D90C2B00AE0C2900850C29005C0C27F2 -:1012C00000350C27000E0C2600E80B2400C40B246C -:1012D00000A00B23007D0B23005A0B2100390B21AA -:1012E00000180B2000F80A1F00D90A1E00BB0A1EB6 -:1012F000009D0A1D00800A1D00630A1C00470A1B8E -:10130000002C0A1B00110A1A00F7091A00DD09193E -:1013100000C4091900AB091900920917007B0918CC -:1013200000630917004C091600360916002009163B -:10133000000A091500F5081500E0081400CC08148F -:1013400000B8081400A4081400900813007D0812C7 -:10135000006B0813005808120046081200340811E8 -:1013600000230811001208110001081100F00710F5 -:1013700000E0071000D0071000C0071000B0070FF2 -:1013800000A107100091070E0083070F0074070FDC -:101390000065070E0057070E0049070E003B070DBA -:1013A000002E070E0020070D0013070D0006070D85 -:1013B00000F9060C00ED060D00E0060C00D4060C4A -:1013C00000C8060C00BC060C00B0060C00A4060BFE -:1013D0000099060C008D060B0082060B0077060BA9 -:1013E000006C060B0061060A0057060B004C060A4B -:1013F0000042060A0038060A002E060A0024060AE1 -:10140000001A060A001006090007060A00FD050971 -:1014100000F4050900EB050900E2050900D90509FA -:1014200000D0050900C7050900BE050900B505087B -:1014300000AD050800A50509009C050800940508F5 -:10144000008C050800840508007C05080074050868 -:10145000006C050700650508005D050700560508D6 -:10146000004E05070047050700400508003805073E -:1014700000310507002A050700230507001C0506A3 -:1014800000160507000F05070008050600020507FE -:1014900000FB040600F5040700EE040600E804065D -:1014A00000E2040700DB040600D5040600CF0406B2 -:1014B00000C9040600C3040600BD040600B7040604 -:1014C00000B1040500AC040600A6040600A0040553 -:1014D000009B04060095040500900406008A04059C -:1014E0000085040500800406007A040500750405E3 -:1014F00000700405006B0405006604050061040526 -:10150000005C04050057040500520405004D040565 -:101510000048040500430405003E0404003A0405A5 -:101520000035040500300404002C040500270404E1 -:1015300000230405001E0404001A04040016040518 -:1015400000110404000D040400090405000404044F -:101550000000040400FC030400F8030400F4030486 -:1015600000F0030400EC030400E8030400E40304B7 -:1015700000E0030400DC030400D8030400D40304E7 -:1015800000D0030400CC030400C8030300C5030318 -:1015900000726F746174696F6E206D617472697826 -:1015A0003A0A0024F404D9201BC40C5C0E9804C42D -:1015B000095F0265077101F405F900FB04B30048F7 -:1015C000048700C10369005803550003034500BEAA -:1015D000023A008402310053022A00290225000445 -:1015E000022000E4011C00C8011900AF0117009897 -:1015F00001140084011300710110006101100051F9 -:10160000010E0043010D0036010B002B010B0020E1 -:10161000010B00150109000C01090003010800FB82 -:10162000000800F3000800EB000700E4000600DEFD -:10163000000600D8000600D2000600CC000500C756 -:10164000000500C2000500BD000400B9000400B59B -:10165000000400B1000400AD000400A9000400A5CE -:10166000000300A20003009F0004009B00030098F9 -:101670000003009500020093000300900003008D1A -:101680000002008B00030088000200860002008434 -:10169000000300810002007F0002007D0002007B49 -:1016A0000002007900020077000100760002007459 -:1016B00000020072000100710002006F0002006D64 -:1016C0000001006C0002006A00010069000200676E -:1016D0000001006600010065000100640002006274 -:1016E00000010061000100600001005F0002005D78 -:1016F0000001005C0001005B0001005A000100597C -:10170000000100580001005700010056000100557B -:10171000000100540001005300000053000100527A -:1017200000010051000100500001004F0001004E77 -:101730000000004E0001004D0001004C0001004B74 -:101740000000004B0001004A000100490001004870 -:10175000000000480001004700010046000000466C -:101760000001004500000045000100440001004365 -:10177000000000430001004200000042000100415F -:1017800000000041000100400001003F0000003F58 -:101790000001003E0000003E0001003D0000003D51 -:1017A0000001003C0000003C0000003C0001003B48 -:1017B0000000003B0001003A0000003A000100393F -:1017C0000000003900010038000000380000003837 -:1017D000000100370000003700010036000000362D -:1017E0000000003600010035000000350000003523 -:1017F0000001003400000034000000340001003318 -:10180000000000330000003300010032000000320D -:101810000000003200010031000000310000003102 -:101820000001003000000030000000300001002FF7 -:101830000000002F0000002F0000002F0001002EEC -:101840000000002E0000002E0001002D0000002DE1 -:101850000000002D0000002D0001002C0000002CD5 -:101860000000002C0000002C0001002B0000002BC9 -:101870000000002B0000002B0001002A0000002ABD -:101880000000002A0000002A0001002900000029B1 -:1018900000000029000000290000002900010028A4 -:1018A0000000002800000028000000280000002898 -:1018B000000100270000002700000027000000278B -:1018C000000000270001002600000026000000267E -:1018D0000000002600000026000100250000002571 -:1018E0000000002500000025000000250000002564 -:1018F0000001002400000024000000240000002457 -:101900000000002400010023000000230000002349 -:10191000000000230000002300000023000000233B -:10192000000100220000002200000022000000222E -:101930000000002200000022000100210000002120 -:101940000000002100000021000000210000002113 -:101950000000002100010020000000200000002005 -:1019600000000020000000200000002000000020F7 -:10197000000000200001001F0000001F0000001FE9 -:101980000000001F0000001F0000001F0000001FDB -:101990000001001E0000001E0000001E0000001ECE -:1019A00000000024F4D43050C38E20C2A24017821D -:1019B0008B7011127A910D816CD90AA861E108C768 -:1019C000586607615143061E4B5D05C145A7041AC1 -:1019D000411104093D9803713931034036DB02653A -:1019E000339102D4305402802E1D02632CEE017517 -:1019F0002AC501B028A001102781018F2564012B81 -:101A0000244B01E0223401AC211F018D200D018007 -:101A10001FFC00841EED00971DDF00B81CD200E6FD -:101A20001BC600201BBC00641AB200B219A8000A31 -:101A300019A0006A189900D117910040178B00B5C2 -:101A400016840031167E00B31579003A157300C76D -:101A5000146F0058146A00EE1366008813630025A3 -:101A6000135E00C7125B006C12570015125400C1C0 -:101A700011510070114F0021114B00D61049008DFB -:101A80001047004610440002104200C00F40008082 -:101A90000F3E00420F3C00060F3B00CB0E38009378 -:101AA0000E37005C0E3500270E3400F30D3200C1F6 -:101AB0000D3100900D3000600D2E00320D2D00050F -:101AC0000D2C00D90C2B00AE0C2900850C29005CD4 -:101AD0000C2700350C27000E0C2600E80B2400C450 -:101AE0000B2400A00B23007D0B23005A0B2100398F -:101AF0000B2100180B2000F80A1F00D90A1E00BB9A -:101B00000A1E009D0A1D00800A1D00630A1C004772 -:101B10000A1B002C0A1B00110A1A00F7091A00DD23 -:101B2000091900C4091900AB091900920917007BB3 -:101B3000091800630917004C091600360916002021 -:101B40000916000A091500F5081500E0081400CC74 -:101B5000081400B8081400A4081400900813007DAD -:101B60000812006B081300580812004608120034CF -:101B7000081100230811001208110001081100F0DB -:101B8000071000E0071000D0071000C0071000B0D9 -:101B9000070F00A107100091070E0083070F0074C4 -:101BA000070F0065070E0057070E0049070E003BA0 -:101BB000070D002E070E0020070D0013070D00066D -:101BC000070D00F9060C00ED060D00E0060C00D430 -:101BD000060C00C8060C00BC060C00B0060C00A4E5 -:101BE000060B0099060C008D060B0082060B007791 -:101BF000060B006C060B0061060A0057060B004C32 -:101C0000060A0042060A0038060A002E060A0024C8 -:101C1000060A001A060A001006090007060A00FD57 -:101C2000050900F4050900EB050900E2050900D9E2 -:101C3000050900D0050900C7050900BE050900B562 -:101C4000050800AD050800A50509009C05080094DD -:101C50000508008C050800840508007C0508007450 -:101C60000508006C050700650508005D05070056BE -:101C70000508004E05070047050700400508003825 -:101C8000050700310507002A050700230507001C8A -:101C9000050600160507000F0507000805060002E7 -:101CA000050700FB040600F5040700EE040600E843 -:101CB000040600E2040700DB040600D5040600CF9A -:101CC000040600C9040600C3040600BD040600B7EC -:101CD000040600B1040500AC040600A6040600A03A -:101CE0000405009B04060095040500900406008A84 -:101CF00004050085040500800406007A04050075CB -:101D0000040500700405006B04050066040500610D -:101D10000405005C04050057040500520405004D4D -:101D200004050048040500430405003E0404003A8D -:101D300004050035040500300404002C04050027C8 -:101D4000040400230405001E0404001A0404001601 -:101D5000040500110404000D040400090405000436 -:101D600004040000040400FC030400F8030400F46D -:101D7000030400F0030400EC030400E8030400E49F -:101D8000030400E0030400DC030400D8030400D4CF -:101D9000030400D0030400CC030400C8030300C5FF -:101DA00003030024F404D9201BC40C5C0E9804C463 -:101DB000095F0265077101F405F900FB04B30048EF -:101DC000048700C10369005803550003034500BEA2 -:101DD000023A008402310053022A0029022500043D -:101DE000022000E4011C00C8011900AF011700988F -:101DF00001140084011300710110006101100051F1 -:101E0000010E0043010D0036010B002B010B0020D9 -:101E1000010B00150109000C01090003010800FB7A -:101E2000000800F3000800EB000700E4000600DEF5 -:101E3000000600D8000600D2000600CC000500C74E -:101E4000000500C2000500BD000400B9000400B593 -:101E5000000400B1000400AD000400A9000400A5C6 -:101E6000000300A20003009F0004009B00030098F1 -:101E70000003009500020093000300900003008D12 -:101E80000002008B0003008800020086000200842C -:101E9000000300810002007F0002007D0002007B41 -:101EA0000002007900020077000100760002007451 -:101EB00000020072000100710002006F0002006D5C -:101EC0000001006C0002006A000100690002006766 -:101ED000000100660001006500010064000200626C -:101EE00000010061000100600001005F0002005D70 -:101EF0000001005C0001005B0001005A0001005974 -:101F00000001005800010057000100560001005573 -:101F10000001005400010053000000530001005272 -:101F200000010051000100500001004F0001004E6F -:101F30000000004E0001004D0001004C0001004B6C -:101F40000000004B0001004A000100490001004868 -:101F50000000004800010047000100460000004664 -:101F6000000100450000004500010044000100435D -:101F70000000004300010042000000420001004157 -:101F800000000041000100400001003F0000003F50 -:101F90000001003E0000003E0001003D0000003D49 -:101FA0000001003C0000003C0000003C0001003B40 -:101FB0000000003B0001003A0000003A0001003937 -:101FC000000000390001003800000038000000382F -:101FD0000001003700000037000100360000003625 -:101FE000000000360001003500000035000000351B -:101FF0000001003400000034000000340001003310 -:102000000000003300000033000100320000003205 -:1020100000000032000100310000003100000031FA -:102020000001003000000030000000300001002FEF -:102030000000002F0000002F0000002F0001002EE4 -:102040000000002E0000002E0001002D0000002DD9 -:102050000000002D0000002D0001002C0000002CCD -:102060000000002C0000002C0001002B0000002BC1 -:102070000000002B0000002B0001002A0000002AB5 -:102080000000002A0000002A0001002900000029A9 -:10209000000000290000002900000029000100289C -:1020A0000000002800000028000000280000002890 -:1020B0000001002700000027000000270000002783 -:1020C0000000002700010026000000260000002676 -:1020D0000000002600000026000100250000002569 -:1020E000000000250000002500000025000000255C -:1020F000000100240000002400000024000000244F -:102100000000002400010023000000230000002341 -:102110000000002300000023000000230000002333 -:102120000001002200000022000000220000002226 -:102130000000002200000022000100210000002118 -:10214000000000210000002100000021000000210B -:1021500000000021000100200000002000000020FD -:1021600000000020000000200000002000000020EF -:10217000000000200001001F0000001F0000001FE1 -:102180000000001F0000001F0000001F0000001FD3 -:102190000001001E0000001E0000001E0000001EC6 -:1021A00000000024F4D43050C38E20C2A240178215 -:1021B0008B7011127A910D816CD90AA861E108C760 -:1021C000586607615143061E4B5D05C145A7041AB9 -:1021D000411104093D9803713931034036DB026532 -:1021E000339102D4305402802E1D02632CEE01750F -:1021F0002AC501B028A001102781018F2564012B79 -:10220000244B01E0223401AC211F018D200D0180FF -:102210001FFC00841EED00971DDF00B81CD200E6F5 -:102220001BC600201BBC00641AB200B219A8000A29 -:1022300019A0006A189900D117910040178B00B5BA -:1022400016840031167E00B31579003A157300C765 -:10225000146F0058146A00EE13660088136300259B -:10226000135E00C7125B006C12570015125400C1B8 -:1022700011510070114F0021114B00D61049008DF3 -:102280001047004610440002104200C00F4000807A -:102290000F3E00420F3C00060F3B00CB0E38009370 -:1022A0000E37005C0E3500270E3400F30D3200C1EE -:1022B0000D3100900D3000600D2E00320D2D000507 -:1022C0000D2C00D90C2B00AE0C2900850C29005CCC -:1022D0000C2700350C27000E0C2600E80B2400C448 -:1022E0000B2400A00B23007D0B23005A0B21003987 -:1022F0000B2100180B2000F80A1F00D90A1E00BB92 -:102300000A1E009D0A1D00800A1D00630A1C00476A -:102310000A1B002C0A1B00110A1A00F7091A00DD1B -:10232000091900C4091900AB091900920917007BAB -:10233000091800630917004C091600360916002019 -:102340000916000A091500F5081500E0081400CC6C -:10235000081400B8081400A4081400900813007DA5 -:102360000812006B081300580812004608120034C7 -:10237000081100230811001208110001081100F0D3 -:10238000071000E0071000D0071000C0071000B0D1 -:10239000070F00A107100091070E0083070F0074BC -:1023A000070F0065070E0057070E0049070E003B98 -:1023B000070D002E070E0020070D0013070D000665 -:1023C000070D00F9060C00ED060D00E0060C00D428 -:1023D000060C00C8060C00BC060C00B0060C00A4DD -:1023E000060B0099060C008D060B0082060B007789 -:1023F000060B006C060B0061060A0057060B004C2A -:10240000060A0042060A0038060A002E060A0024C0 -:10241000060A001A060A001006090007060A00FD4F -:10242000050900F4050900EB050900E2050900D9DA -:10243000050900D0050900C7050900BE050900B55A -:10244000050800AD050800A50509009C05080094D5 -:102450000508008C050800840508007C0508007448 -:102460000508006C050700650508005D05070056B6 -:102470000508004E0507004705070040050800381D -:10248000050700310507002A050700230507001C82 -:10249000050600160507000F0507000805060002DF -:1024A000050700FB040600F5040700EE040600E83B -:1024B000040600E2040700DB040600D5040600CF92 -:1024C000040600C9040600C3040600BD040600B7E4 -:1024D000040600B1040500AC040600A6040600A032 -:1024E0000405009B04060095040500900406008A7C -:1024F00004050085040500800406007A04050075C3 -:10250000040500700405006B040500660405006105 -:102510000405005C04050057040500520405004D45 -:1025200004050048040500430405003E0404003A85 -:1025300004050035040500300404002C04050027C0 -:10254000040400230405001E0404001A04040016F9 -:10255000040500110404000D04040009040500042E -:1025600004040000040400FC030400F8030400F465 -:10257000030400F0030400EC030400E8030400E497 -:10258000030400E0030400DC030400D8030400D4C7 -:10259000030400D0030400CC030400C8030300C5F7 -:1025A00003030070012C0190012701B0012201C03A -:1025B000011D01F00118011002130130020E01602B -:1025C00002090190020401C002FF000003FA00406A -:1025D00003F5008003F000D003EB002004E6007058 -:1025E00004E100E004DC004005D700C005D2004053 -:1025F00006CD00D006C8008007C3003008BE00F03A -:1026000008B900C009B400B00AAF00B00BAA00D0EE -:102610000CA500000EA000500F9B00C010960050AB -:1026200012910000148C00C0158700B0178200B012 -:10263000197D00D01B7800001E730040206E0090B2 -:10264000226900F024640040275F0090295A00E0CE -:102650002B5500102E500020304B0010324600E069 -:1026600033410090353C001037370070383200A0FD -:10267000392D00B03A2800A03B2300603C1E00101A -:102680003D1900903D1400103E0F00703E0A00C03E -:102690003E0500003F0000403FFBFF803FF6FFC0CB -:1026A0003FF1FF1000C90210012C0140012201700E -:1026B000011801B0010E01F00104015002FA00B04E -:1026C00002F0003003E600D003DC009004D200707A -:1026D00005C800A006BE000008B400B009AA00D0DA -:1026E0000BA000600E960060118C00001582002087 -:1026F000197800C01D6E00A0226400B0275A009017 -:102700002C500000314600E0343C0010383200907C -:102710003A2800603C1E00A03D1400803E0A0020C4 -:102720003F000024F404D9201BC40C5C0E9804C4A0 -:10273000095F0265077101F405F900FB04B3004865 -:10274000048700C10369005803550003034500BE18 -:10275000023A008402310053022A002902250004B3 -:10276000022000E4011C00C8011900AF0117009805 -:102770000114008401130071011000610110005167 -:10278000010E0043010D0036010B002B010B002050 -:10279000010B00150109000C01090003010800FBF1 -:1027A000000800F3000800EB000700E4000600DE6C -:1027B000000600D8000600D2000600CC000500C7C5 -:1027C000000500C2000500BD000400B9000400B50A -:1027D000000400B1000400AD000400A9000400A53D -:1027E000000300A20003009F0004009B0003009868 -:1027F0000003009500020093000300900003008D89 -:102800000002008B000300880002008600020084A2 -:10281000000300810002007F0002007D0002007BB7 -:1028200000020079000200770001007600020074C7 -:1028300000020072000100710002006F0002006DD2 -:102840000001006C0002006A0001006900020067DC -:1028500000010066000100650001006400020062E2 -:1028600000010061000100600001005F0002005DE6 -:102870000001005C0001005B0001005A00010059EA -:1028800000010058000100570001005600010055EA -:1028900000010054000100530000005300010052E9 -:1028A00000010051000100500001004F0001004EE6 -:1028B0000000004E0001004D0001004C0001004BE3 -:1028C0000000004B0001004A0001004900010048DF -:1028D00000000048000100470001004600000046DB -:1028E00000010045000000450001004400010043D4 -:1028F00000000043000100420000004200010041CE -:1029000000000041000100400001003F0000003FC6 -:102910000001003E0000003E0001003D0000003DBF -:102920000001003C0000003C0000003C0001003BB6 -:102930000000003B0001003A0000003A00010039AD -:1029400000000039000100380000003800000038A5 -:10295000000100370000003700010036000000369B -:102960000000003600010035000000350000003591 -:102970000001003400000034000000340001003386 -:10298000000000330000003300010032000000327C -:102990000000003200010031000000310000003171 -:1029A0000001003000000030000000300001002F66 -:1029B0000000002F0000002F0000002F0001002E5B -:1029C0000000002E0000002E0001002D0000002D50 -:1029D0000000002D0000002D0001002C0000002C44 -:1029E0000000002C0000002C0001002B0000002B38 -:1029F0000000002B0000002B0001002A0000002A2C -:102A00000000002A0000002A00010029000000291F -:102A10000000002900000029000000290001002812 -:102A20000000002800000028000000280000002806 -:102A300000010027000000270000002700000027F9 -:102A400000000027000100260000002600000026EC -:102A500000000026000000260001002500000025DF -:102A600000000025000000250000002500000025D2 -:102A700000010024000000240000002400000024C5 -:102A800000000024000100230000002300000023B8 -:102A900000000023000000230000002300000023AA -:102AA000000100220000002200000022000000229D -:102AB000000000220000002200010021000000218F -:102AC0000000002100000021000000210000002182 -:102AD0000000002100010020000000200000002074 -:102AE0000000002000000020000000200000002066 -:102AF000000000200001001F0000001F0000001F58 -:102B00000000001F0000001F0000001F0000001F49 -:102B10000001001E0000001E0000001E0000001E3C -:102B200000000024F4D43050C38E20C2A24017828B -:102B30008B7011127A910D816CD90AA861E108C7D6 -:102B4000586607615143061E4B5D05C145A7041A2F -:102B5000411104093D9803713931034036DB0265A8 -:102B6000339102D4305402802E1D02632CEE017585 -:102B70002AC501B028A001102781018F2564012BEF -:102B8000244B01E0223401AC211F018D200D018076 -:102B90001FFC00841EED00971DDF00B81CD200E66C -:102BA0001BC600201BBC00641AB200B219A8000AA0 -:102BB00019A0006A189900D117910040178B00B531 -:102BC00016840031167E00B31579003A157300C7DC -:102BD000146F0058146A00EE136600881363002512 -:102BE000135E00C7125B006C12570015125400C12F -:102BF00011510070114F0021114B00D61049008D6A -:102C00001047004610440002104200C00F400080F0 -:102C10000F3E00420F3C00060F3B00CB0E380093E6 -:102C20000E37005C0E3500270E3400F30D3200C164 -:102C30000D3100900D3000600D2E00320D2D00057D -:102C40000D2C00D90C2B00AE0C2900850C29005C42 -:102C50000C2700350C27000E0C2600E80B2400C4BE -:102C60000B2400A00B23007D0B23005A0B210039FD -:102C70000B2100180B2000F80A1F00D90A1E00BB08 -:102C80000A1E009D0A1D00800A1D00630A1C0047E1 -:102C90000A1B002C0A1B00110A1A00F7091A00DD92 -:102CA000091900C4091900AB091900920917007B22 -:102CB000091800630917004C091600360916002090 -:102CC0000916000A091500F5081500E0081400CCE3 -:102CD000081400B8081400A4081400900813007D1C -:102CE0000812006B0813005808120046081200343E -:102CF000081100230811001208110001081100F04A -:102D0000071000E0071000D0071000C0071000B047 -:102D1000070F00A107100091070E0083070F007432 -:102D2000070F0065070E0057070E0049070E003B0E -:102D3000070D002E070E0020070D0013070D0006DB -:102D4000070D00F9060C00ED060D00E0060C00D49E -:102D5000060C00C8060C00BC060C00B0060C00A453 -:102D6000060B0099060C008D060B0082060B0077FF -:102D7000060B006C060B0061060A0057060B004CA0 -:102D8000060A0042060A0038060A002E060A002437 -:102D9000060A001A060A001006090007060A00FDC6 -:102DA000050900F4050900EB050900E2050900D951 -:102DB000050900D0050900C7050900BE050900B5D1 -:102DC000050800AD050800A50509009C050800944C -:102DD0000508008C050800840508007C05080074BF -:102DE0000508006C050700650508005D050700562D -:102DF0000508004E05070047050700400508003894 -:102E0000050700310507002A050700230507001CF8 -:102E1000050600160507000F050700080506000255 -:102E2000050700FB040600F5040700EE040600E8B1 -:102E3000040600E2040700DB040600D5040600CF08 -:102E4000040600C9040600C3040600BD040600B75A -:102E5000040600B1040500AC040600A6040600A0A8 -:102E60000405009B04060095040500900406008AF2 -:102E700004050085040500800406007A0405007539 -:102E8000040500700405006B04050066040500617C -:102E90000405005C04050057040500520405004DBC -:102EA00004050048040500430405003E0404003AFC -:102EB00004050035040500300404002C0405002737 -:102EC000040400230405001E0404001A0404001670 -:102ED000040500110404000D0404000904050004A5 -:102EE00004040000040400FC030400F8030400F4DC -:102EF000030400F0030400EC030400E8030400E40E -:102F0000030400E0030400DC030400D8030400D43D -:102F1000030400D0030400CC030400C8030300C56D -:102F2000030300256C642E25696D004D61726C6988 -:102F30006E20322E305F44573300206D61783A00A6 -:102F4000206D696E3A004178697320004572726F96 -:102F5000722077726974696E6720746F20454550DE -:102F6000524F4D210A00363726033C3D380E2E3095 -:102F70003E121A1C1808440AFF43080907000162A0 -:102F80007573793A2070617573656420666F72207D -:102F9000696E7075740A00627573793A2070617594 -:102FA00073656420666F7220757365720A006275BE -:102FB00073793A2070726F63657373696E670A0084 -:102FC0007061757365004D363030200A204D313107 -:102FD00037200A002066696C616D656E745F7275DA -:102FE0006E6F7574200066696C616D656E745F72DA -:102FF000756E6F757420540046696C616D656E74F2 -:1030000052756E6F757420540053544F50504544A0 -:103010002E20005072696E7465722073746F707028 -:1030200065642064756520746F206572726F7273B9 -:103030002E2046697820746865206572726F722050 -:10304000616E6420757365204D39393920746F20A5 -:10305000726573746172742E202854656D70657288 -:1030600061747572652069732072657365742E20B2 -:10307000536574206974206166746572207265738B -:1030800074617274696E67290A004E6F2043686527 -:10309000636B73756D2077697468206C696E652049 -:1030A0006E756D6265722C204C617374204C696E74 -:1030B000653A20004E6F20436865636B73756D2021 -:1030C00077697468206C696E65206E756D626572D3 -:1030D0002C204C617374204C696E653A2000636843 -:1030E00065636B73756D206D69736D617463682CB6 -:1030F000204C617374204C696E653A20004C696EF7 -:1031000065204E756D626572206973206E6F742044 -:103110004C617374204C696E65204E756D626572EA -:103120002B312C204C617374204C696E653A200061 -:103130004D31313000776169740A004D313137000B -:103140004D33310053442072656164206572726FA3 -:10315000720A00446F6E65207072696E74696E67E2 -:103160002066696C650A004B494C4C20636175739D -:10317000656420627920746F6F206D7563682069C3 -:103180006E6163746976652074696D65202D2063B6 -:10319000757272656E7420636F6D6D616E643A2036 -:1031A000002020506C616E6E6572427566666572B5 -:1031B00042797465733A20002046726565204D653A -:1031C0006D6F72793A2000436F6D70696C65643A77 -:1031D0002053657020203820323031390A00207C9D -:1031E00020417574686F723A2054696E794D61633D -:1031F00068696E657333440A00323031392D3037D7 -:103200002D333000204C61737420557064617465F7 -:10321000643A2000322E305F4457330A004D617209 -:103220006C696E0020536F66747761726520526519 -:103230007365740A00205761746368646F67205275 -:10324000657365740A002042726F776E206F757423 -:103250002052657365740A002045787465726E614A -:103260006C2052657365740A00506F7765725570F3 -:103270000A0073746172740A006175746F25632E9D -:1032800067006572726F722077726974696E672069 -:10329000746F2066696C650A00446F6E6520736107 -:1032A00076696E672066696C652E0A004D323900BA -:1032B000205A3A0020593A0020583A00656E64734B -:1032C000746F7073206869743A2000473238585917 -:1032D0000043616E6E6F74206F70656E207375624F -:1032E000646972200053442063617264206F6B0A2A -:1032F000006F70656E526F6F74206661696C6564F3 -:103300000A00766F6C756D652E696E697420666152 -:10331000696C65640A00534420696E6974206661B3 -:10332000696C0A004D3234004D323320257300574A -:10333000726974696E6720746F2066696C653A20E3 -:10334000002E0A006F70656E206661696C65642CE2 -:103350002046696C653A20002E0A006F70656E2069 -:103360006661696C65642C2046696C653A2000468C -:10337000696C652073656C65637465640A0020532D -:10338000697A653A200046696C65206F70656E65E4 -:10339000643A2000667265736800646F696E670046 -:1033A0002066696C653A20004E6F772000454E44D8 -:1033B00020535542524F5554494E450A0022207021 -:1033C0006F73002220706172656E743A220053554B -:1033D00042524F5554494E452043414C4C20746154 -:1033E000726765743A2200747279696E6720746F2F -:1033F0002063616C6C207375622D67636F64652058 -:1034000066696C6573207769746820746F6F206DCE -:10341000616E79206C6576656C732E204D41582065 -:103420006C6576656C2069733A310A0053442070EC -:1034300072696E74696E67206279746520004E6FE0 -:1034400074205344207072696E74696E670A003F7D -:10345000556E61626C6520746F2073617665206DB6 -:1034600065736820646174612E0A003F556E616265 -:103470006C6520746F206C6F6164206D65736820CB -:10348000646174612E0A00EE020000EE0200006426 -:103490000000003C0000000000FA430000FA430076 -:1034A00000204100008C420000A0420000A0420029 -:1034B00000C84300000C43556E696669656420428C -:1034C0006564204C6576656C696E67003A0A002079 -:1034D000204D363033200020440020204D3431323E -:1034E00020530046696C616D656E742072756E6F55 -:1034F00075742073656E736F723A0A002055004C24 -:103500000046696C616D656E74206C6F61642F7527 -:103510006E6C6F6164206C656E677468733A0A0044 -:1035200020204D383531205A0020204D38353120AB -:10353000590020204D3835312058005A2D50726FD7 -:103540006265204F66667365740020440020490060 -:1035500020204D33303420500020440020490020EA -:10356000204D33303120500050494420736574742D -:10357000696E67733A0A00206D65736865732E0A79 -:103580000A00454550524F4D2063616E20686F6CB4 -:103590006420000A416374697665204D6573682074 -:1035A000536C6F743A2000205A0020204D34323082 -:1035B0002053003A0A00205A0020590020204D32A2 -:1035C0003036205800486F6D65206F6666736574ED -:1035D0003A0A00204A0020540020530020204D3297 -:1035E0003035204200204A3C6A756E635F64657620 -:1035F0003E00416476616E6365643A20423C6D69C9 -:103600006E5F7365676D656E745F74696D655F7518 -:10361000733E20533C6D696E5F66656564726174CC -:10362000653E20543C6D696E5F74726176656C5FB7 -:1036300066656564726174653E0020540020520026 -:1036400020204D323034205000416363656C657238 -:103650006174696F6E2028756E6974732F733229D7 -:103660003A20503C7072696E745F616363656C3EB2 -:1036700020523C726574726163745F616363656C50 -:103680003E20543C74726176656C5F616363656C67 -:103690003E0A00204500205A0020590020204D32CB -:1036A00030312058004D6178696D756D204163633C -:1036B000656C65726174696F6E2028756E697473CC -:1036C0002F7332293A0A00204500205A0020590061 -:1036D00020204D3230332058004D6178696D756D72 -:1036E000206665656472617465732028756E6974FF -:1036F000732F73293A0A00537465707320706572D2 -:1037000020756E69743A0A0020204D323030204412 -:10371000300A0020204D32303020440020446973AC -:1037200061626C65640A0046696C616D656E742047 -:1037300073657474696E67733A0020286D6D290093 -:103740002020473231202020203B20556E697473A1 -:1037500020696E206D6D00486F6D696E672046614F -:10376000696C6564006F70656E0054524947474547 -:10377000524544003A200066696C616D656E7400C4 -:103780007A5F6D696E00795F6D696E00785F6D6953 -:103790006E005265706F7274696E6720656E647337 -:1037A000746F70207374617475730A00205A3A0044 -:1037B00020593A0020436F756E7420583A00204516 -:1037C0003A00205A3A0020593A00583A0020420064 -:1037D0002050006F6B00526573656E643A200043A1 -:1037E000616E6E6F74206F70656E207375626469B0 -:1037F0007220002569730025696D202569730025F5 -:1038000069682025696D2025697300256964202574 -:1038100069682025696D202569730025697920254F -:103820006964202569682025696D20256973002356 -:10383000646566696E652044454641554C545F0099 -:1038400000626564004B6420004B6920004B7020CF -:1038500000504944204175746F74756E6520666927 -:103860006E697368656421205075742074686520E2 -:103870006C617374204B702C204B6920616E642046 -:103880004B6420636F6E7374616E74732066726F25 -:103890006D2062656C6F7720696E746F20436F6E68 -:1038A00066696775726174696F6E2E680A005049A7 -:1038B00044204175746F74756E65206661696C652E -:1038C00064212074696D656F75740A004531205458 -:1038D0004845524D414C2052554E415741590042A6 -:1038E000454420544845524D414C2052554E415775 -:1038F000415900546865726D616C2052756E617734 -:1039000061790045312048656174696E67204661C0 -:10391000696C6564004265642048656174696E671E -:10392000204661696C65640048656174696E672052 -:103930006661696C656400504944204175746F7418 -:10394000756E65206661696C6564212054656D70D3 -:103950006572617475726520746F6F20686967683D -:103960000A00204B643A2000204B693A2000204B8B -:10397000703A20000A20436C6173736963205049D8 -:1039800044200A00204B643A2000204B693A200072 -:10399000204B703A20000A204E6F206F76657273BC -:1039A000686F6F740A002054753A2000204B753AF6 -:1039B0002000206D61783A2000206D696E3A200069 -:1039C00020643A200020626961733A200050494423 -:1039D000204175746F74756E652073746172740A1A -:1039E00000504944204175746F74756E652066619E -:1039F000696C6564212054656D70657261747572BF -:103A00006520746F6F20686967680A005049442018 -:103A10004175746F74756E65206661696C656421AB -:103A200020426164206578747275646572206E75D9 -:103A30006D6265720A0050726F62696E672046613E -:103A4000696C65640A0050726F62696E6720466136 -:103A5000696C656400496E76616C69642065787490 -:103A600072756465720A007C3C3E5E2B3D3F2F5BA5 -:103A70005D3B2C2A225C002020207C0A004E414E17 -:103A80000020202E20202000207C004C43443A0AB5 -:103A9000004353563A0A0020666F7220003A0A0A21 -:103AA000000A42656420546F706F677261706879B4 -:103AB000205265706F727400473238004D323830D2 -:103AC0002050302053393000446F6E652E0A003F7D -:103AD000496E76616C69642073746F7261676520EA -:103AE000736C6F742E0A3F557365203020746F20FD -:103AF000003F454550524F4D2073746F72616765AA -:103B0000206E6F7420617661696C61626C652E0A4B -:103B100000446F6E652E0A003F496E76616C6964E1 -:103B20002073746F7261676520736C6F742E0A3F27 -:103B3000557365203020746F20003F454550524F2B -:103B40004D2073746F72616765206E6F74206176AB -:103B500061696C61626C652E0A003F5034206973A4 -:103B6000206F6E6C7920617661696C61626C652092 -:103B70007768656E20616E204C4344206973207025 -:103B8000726573656E742E0A003F5032206973208F -:103B90006F6E6C7920617661696C61626C6520770B -:103BA00068656E20616E204C4344206973207072FA -:103BB0006573656E742E0A00292E0A0A0050726F12 -:103BC00062696E672061726F756E642028004D65B2 -:103BD000736820696E76616C6964617465642E2017 -:103BE00050726F62696E67206D6573682E0A004DB2 -:103BF000657368207A65726F65642E0A0044656695 -:103C000061756C742073746F7261676520736C6F7B -:103C10007420302073656C65637465642E0A004CF3 -:103C20006F6164696E6720746573745F706174742A -:103C300065726E2076616C7565732E0A0A00496E96 -:103C400076616C696420746573745F706174746507 -:103C5000726E2076616C75652E20282D3120746F70 -:103C60002032290A0A004C6F636174696F6E7320F9 -:103C7000696E76616C6964617465642E0A0A004538 -:103C80006E74697265204D65736820696E76616C2B -:103C90006964617465642E0A0A00220A00556E6B1D -:103CA0006E6F776E20636F6D6D616E643A202200D7 -:103CB00020746F6F206C6F6E6720657874727573F7 -:103CC000696F6E2070726576656E7465640A002097 -:103CD000636F6C6420657874727573696F6E2070A1 -:103CE000726576656E7465640A0020746F6F206C6F -:103CF0006F6E6720657874727573696F6E2070726D -:103D00006576656E7465640A0020636F6C64206577 -:103D10007874727573696F6E2070726576656E74F3 -:103D200065640A00486F6D6520257325732573202F -:103D30004669727374002046697273740A00486F92 -:103D40006D65200000000000000000000000000081 -:103D50000000484200004842000080405761726EF7 -:103D6000696E673A20486F6D696E672042756D70A5 -:103D70002044697669736F72203C20310A00020288 -:103D8000040000A0400000A0400000004000809D12 -:103D90004300009B430000C843FFFFFF24F4D430DE -:103DA00050C38E20C2A24017828B7011127A910DDF -:103DB000816CD90AA861E108C758660761514306BA -:103DC0001E4B5D05C145A7041A411104093D980326 -:103DD000713931034036DB0265339102D43054022D -:103DE000802E1D02632CEE01752AC501B028A001AA -:103DF000102781018F2564012B244B01E02234011F -:103E0000AC211F018D200D01801FFC00841EED00E0 -:103E1000971DDF00B81CD200E61BC600201BBC00AB -:103E2000641AB200B219A8000A19A0006A18990011 -:103E3000D117910040178B00B516840031167E0013 -:103E4000B31579003A157300C7146F0058146A004F -:103E5000EE1366008813630025135E00C7125B0033 -:103E60006C12570015125400C111510070114F000F -:103E700021114B00D61049008D1047004610440018 -:103E800002104200C00F4000800F3E00420F3C0075 -:103E9000060F3B00CB0E3800930E37005C0E35004A -:103EA000270E3400F30D3200C10D3100900D3000AB -:103EB000600D2E00320D2D00050D2C00D90C2B00AD -:103EC000AE0C2900850C29005C0C2700350C27005E -:103ED0000E0C2600E80B2400C40B2400A00B2300CA -:103EE0007D0B23005A0B2100390B2100180B2000F9 -:103EF000F80A1F00D90A1E00BB0A1E009D0A1D00F9 -:103F0000800A1D00630A1C00470A1B002C0A1B00C4 -:103F1000110A1A00F7091A00DD091900C40919006D -:103F2000AB091900920917007B09180063091700F3 -:103F30004C09160036091600200916000A0915005A -:103F4000F5081500E0081400CC081400B8081400A7 -:103F5000A4081400900813007D0812006B081300D9 -:103F600058081200460812003408110023081100F6 -:103F70001208110001081100F0071000E0071000FE -:103F8000D0071000C0071000B0070F00A1071000F5 -:103F900091070E0083070F0074070F0065070E00DE -:103FA00057070E0049070E003B070D002E070E00B5 -:103FB00020070D0013070D0006070D00F9060C0081 -:103FC000ED060D00E0060C00D4060C00C8060C003F -:103FD000BC060C00B0060C00A4060B0099060C00F1 -:103FE0008D060B0082060B0077060B006C060B009B -:103FF00061060A0057060B004C060A0042060A003A -:1040000038060A002E060A0024060A001A060A00CC -:104010001006090007060A00FD050900F40509005D -:10402000EB050900E2050900D9050900D0050900E2 -:10403000C7050900BE050900B5050800AD05080063 -:10404000A50509009C050800940508008C050800DA -:10405000840508007C050800740508006C0507004D -:10406000650508005D050700560508004E050700B8 -:10407000470507004005080038050700310507001F -:104080002A050700230507001C0506001605070082 -:104090000F0507000805060002050700FB040600DF -:1040A000F5040700EE040600E8040600E204070039 -:1040B000DB040600D5040600CF040600C904060090 -:1040C000C3040600BD040600B7040600B1040500E1 -:1040D000AC040600A6040600A00405009B0406002C -:1040E00095040500900406008A0405008504050077 -:1040F000800406007A0405007504050070040500BC -:104100006B04050066040500610405005C040500FD -:1041100057040500520405004D040500480405003D -:10412000430405003E0404003A040500350405007C -:10413000300404002C0405002704040023040500B7 -:104140001E0404001A0404001604050011040400EF -:104150000D04040009040500040404000004040024 -:10416000FC030400F8030400F4030400F00304005B -:10417000EC030400E8030400E4030400E00304008B -:10418000DC030400D8030400D4030400D0030400BB -:10419000CC030400C8030300C503030024F404D9BE -:1041A000201BC40C5C0E9804C4095F0265077101F2 -:1041B000F405F900FB04B30048048700C10369005B -:1041C0005803550003034500BE023A008402310043 -:1041D00053022A002902250004022000E4011C00E9 -:1041E000C8011900AF0117009801140084011300E1 -:1041F000710110006101100051010E0043010D001A -:1042000036010B002B010B0020010B0015010900EA -:104210000C01090003010800FB000800F30008007E -:10422000EB000700E4000600DE000600D8000600F0 -:10423000D2000600CC000500C7000500C200050042 -:10424000BD000400B9000400B5000400B100040082 -:10425000AD000400A9000400A5000300A2000300B3 -:104260009F0004009B0003009800030095000200DB -:1042700093000300900003008D0002008B000300F8 -:104280008800020086000200840003008100020012 -:104290007F0002007D0002007B0002007900020026 -:1042A0007700010076000200740002007200010035 -:1042B000710002006F0002006D0001006C0002003E -:1042C0006A00010069000200670001006600010049 -:1042D000650001006400020062000100610001004D -:1042E000600001005F0002005D0001005C00010051 -:1042F0005B0001005A000100590001005800010054 -:104300005700010056000100550001005400010053 -:104310005300000053000100520001005100010051 -:10432000500001004F0001004E0000004E0001004F -:104330004D0001004C0001004B0000004B0001004B -:104340004A00010049000100480000004800010047 -:104350004700010046000000460001004500000043 -:10436000450001004400010043000000430001003B -:104370004200000042000100410000004100010035 -:10438000400001003F0000003F0001003E0000002F -:104390003E0001003D0000003D0001003C00000027 -:1043A0003C0000003C0001003B0000003B0001001D -:1043B0003A0000003A000100390000003900010015 -:1043C000380000003800000038000100370000000D -:1043D0003700010036000000360000003600010002 -:1043E00035000000350000003500010034000000F9 -:1043F00034000000340001003300000033000000EE -:1044000033000100320000003200000032000100E1 -:1044100031000000310000003100010030000000D8 -:1044200030000000300001002F0000002F000000CD -:104430002F0000002F0001002E0000002E000000C1 -:104440002E0001002D0000002D0000002D000000B6 -:104450002D0001002C0000002C0000002C000000AA -:104460002C0001002B0000002B0000002B0000009E -:104470002B0001002A0000002A0000002A00000092 -:104480002A00010029000000290000002900000086 -:104490002900000029000100280000002800000079 -:1044A000280000002800000028000100270000006C -:1044B000270000002700000027000000270001005F -:1044C0002600000026000000260000002600000054 -:1044D0002600010025000000250000002500000046 -:1044E0002500000025000000250001002400000038 -:1044F000240000002400000024000000240001002B -:10450000230000002300000023000000230000001F -:10451000230000002300000023000100220000000F -:104520002200000022000000220000002200000003 -:1045300022000100210000002100000021000000F5 -:1045400021000000210000002100000021000100E6 -:1045500020000000200000002000000020000000DB -:1045600020000000200000002000000020000100CA -:104570001F0000001F0000001F0000001F000000BF -:104580001F0000001F0000001F0001001E000000AF -:104590001E0000001E0000001E0000000437000086 -:1045A0001E290000511B00005810000010090000D7 -:1045B000CC04000078020000410100006265640044 -:1045C0002C2073797374656D2073746F70706564DB -:1045D00021204865617465725F49443A2000426554 -:1045E000642048656174696E67204661696C656422 -:1045F0000048656174696E67206661696C65640076 -:1046000042454420544845524D414C2052554E415C -:1046100057415900546865726D616C2052756E6126 -:104620007761790045312048656174696E6720467D -:1046300061696C65640048656174696E67206661D4 -:10464000696C656400453120544845524D414C2009 -:1046500052554E4157415900546865726D616C2046 -:1046600052756E61776179005A5F53544F505F50B5 -:10467000494E005A5F535445505F50494E005A5FAF -:104680004D494E5F50494E005A5F454E41424C45A0 -:104690005F50494E005A5F4449525F50494E005A9C -:1046A0005F43535F50494E00595F53544F505F5022 -:1046B000494E00595F535445505F50494E00595F71 -:1046C0004D494E5F50494E00595F454E41424C4561 -:1046D0005F50494E00595F4449525F50494E00595E -:1046E0005F43535F50494E00585F53544F505F50E3 -:1046F000494E00585F535445505F50494E00585F33 -:104700004D494E5F50494E00585F454E41424C4521 -:104710005F50494E00585F4449525F50494E00581F -:104720005F43535F50494E0053535F50494E00530F -:104730004552564F335F50494E00534552564F3203 -:104740005F50494E00534552564F315F50494E001D -:10475000534552564F305F50494E00534453530017 -:1047600053445F4445544543545F50494E005343BE -:104770004B5F50494E0052414D50535F44395F509A -:10478000494E0052414D50535F44385F50494E00EE -:1047900052414D50535F4431305F50494E004D4FB0 -:1047A00053495F50494E004D4F534645545F445F57 -:1047B00050494E004D49534F5F50494E004D4158AE -:1047C000363637355F53535F50494E004C45445F92 -:1047D00050494E004845415445525F4245445F5060 -:1047E000494E004845415445525F305F50494E00A4 -:1047F00046494C5F52554E4F55545F50494E004606 -:10480000414E315F50494E0046414E5F50494E0087 -:1048100045315F535445505F50494E0045315F4527 -:104820004E41424C455F50494E0045315F4449522C -:104830005F50494E0045315F43535F50494E00453C -:10484000305F535445505F50494E0045305F454EF0 -:1048500041424C455F50494E0045305F4449525FEC -:1048600050494E0045305F43535F50494E00455F0D -:104870004D5558325F50494E00455F4D5558315F98 -:1048800050494E00455F4D5558305F50494E0041EC -:1048900056525F53535F50494E004156525F534347 -:1048A0004B5F50494E004156525F4D4F53495F5048 -:1048B000494E004156525F4D49534F5F50494E009B -:1048C00054454D505F4245445F50494E0054454D5C -:1048D000505F315F50494E0054454D505F305F503E -:1048E000494E0046494C57494454485F50494E0090 -:1048F00054584400525844002020200020202041D9 -:104900006E616C6F6720696E203D2025356C6400F8 -:104910003C756E757365642F756E6B6E6F776E3E4A -:1049200000202841253264292020002533642000FE -:10493000257350494E3A20004F7574707574203DB0 -:104940002000496E70757420203D2000416E616C1E -:104950006F6720696E203D2025356C640070726F92 -:104960007465637465642000202841253264292021 -:1049700020002533642000257350494E3A2000F46E -:10498000480001F0480101E3483B00D8484300CD0E -:10499000484500C0484400B3483201A64833019A54 -:1049A0004834018F4835018448280179482A016E2E -:1049B000482C0164482A0159481C014B4818013F02 -:1049C000481A0135482C012A4822011C481E0110B2 -:1049D00048240108480901FF470701F0470201E3A5 -:1049E000470A01D4470801CC470D01BD474201B435 -:1049F000473201A74707019E47330190470A0183C9 -:104A0000470801764709016E473401604731015B71 -:104A100047350150470B01454706013A4705012F2D -:104A2000470401284735011F47350115473701085D -:104A3000472601FE460301F3463601E8460301DF3F -:104A4000463101D5463D01C8463801BE460E01B388 -:104A5000463C01A8460E019F462801954630018834 -:104A6000463E017E46120173462E016846120144FD -:104A70006F6E652E0A0066616C7365004641494C95 -:104A80003A204E6F2074726967676572206465749E -:104A900065637465640A004641494C3A204E6F696B -:104AA0007365206465746563746564202D20706C83 -:104AB000656173652072652D72756E2074657374FF -:104AC0000A002064657465637465642E0A003D20E5 -:104AD000424C546F756368207072652056332E31D6 -:104AE00020286F7220636F6D70617469626C652934 -:104AF000003D205A20536572766F2050726F6265B8 -:104B0000003D20424C546F7563682056332E3100AF -:104B100020282B2F2D20346D73293A20003A203382 -:104B2000306D73206F72206D6F72650A002E2050F9 -:104B3000756C7365207769647468002A2A20506C4C -:104B40006561736520747269676765722070726F42 -:104B500062652077697468696E20333020736563FD -:104B6000202A2A0A004641494C3A20424C544F55CB -:104B7000434820656E61626C6564202D2053657426 -:104B80002075702074686973206465766963652098 -:104B90006173206120536572766F2050726F626579 -:104BA000207769746820494E56455254494E472033 -:104BB00073657420746F202774727565272E0A0040 -:104BC00020204445504C4F5945442073746174650E -:104BD0003A204C4F5720286C6F67696320302900BA -:104BE00020204445504C4F594544207374617465EE -:104BF0003A204849474820286C6F6769632031296B -:104C0000003D204D656368616E6963616C20537778 -:104C1000697463682064657465637465640A005729 -:104C200041524E494E473A20494E56455254494EFC -:104C3000472073657474696E672070726F62616279 -:104C40006C79206261636B77617264732E0A002E47 -:104C5000204465706C6F7920262073746F77203440 -:104C60002074696D65730A003D20424C546F756372 -:104C70006820436C617373696320312E322C2031BC -:104C80002E332C20536D61727420312E302C203243 -:104C90002E302C20322E322C20332E302C20332E4E -:104CA000312064657465637465642E0A002E2043A8 -:104CB0006865636B20666F7220424C544F554348C1 -:104CC0000A002E205A5F4D494E5F454E4453544FC3 -:104CD000505F494E56455254494E473A20002E20C7 -:104CE00050726F6265205A5F4D494E5F50494E3A8F -:104CF00020002C2073746F7720616E676C653A20FA -:104D00002020002C206465706C6F7920616E676CC8 -:104D1000653A2000536572766F2070726F6265206D -:104D2000746573740A2E207573696E6720696E64EA -:104D300065783A2020004D34332057616974204350 -:104D4000616C6C656400436F6E74696E7565004DCF -:104D5000343320576169742043616C6C656400577B -:104D600061746368696E672070696E730A006469B4 -:104D70007300656E0061626C65640A00656E647341 -:104D8000746F70206D6F6E69746F72200020450023 -:104D9000205A00205900204D3932205800205A0056 -:104DA000205900580020204D61783A2000205A00F8 -:104DB000205900580020204D696E3A2000536F663C -:104DC0007420656E6473746F70733A200020496EAE -:104DD00076616C6964206578747275646572200010 -:104DE00005000006010004000601000605000000A1 -:104DF00006000400EF4DEA4DE54DE04D5D0A00432D -:104E00006F756C64206E6F7420636F6D706C657469 -:104E100065204C53462100436F727265637465646C -:104E20005F5A3D0054696C74696E6720506F696EFB -:104E3000742025692F2569000A0A002F0054696C27 -:104E400074696E67206D65736820706F696E742079 -:104E5000003F4572726F722070726F62696E6720D8 -:104E6000706F696E742E2041626F7274696E672074 -:104E70006F7065726174696F6E2E0A00436F727293 -:104E800065637465645F5A3D0054696C74696E674C -:104E900020506F696E7420332F330054696C74692D -:104EA0006E67206D6573682028332F33290A00430D -:104EB0006F727265637465645F5A3D0054696C7407 -:104EC000696E6720506F696E7420322F3300546909 -:104ED0006C74696E67206D6573682028322F3329E2 -:104EE0000A00436F727265637465645F5A3D0054D3 -:104EF000696C74696E6720506F696E7420312F334E -:104F00000054696C74696E67206D65736820283180 -:104F10002F33290A00646F6E650A00496E73756647 -:104F200066696369656E7420646174610A000000DB -:104F3000404033337F423333F9426666394333337B -:104F400076430080994366E6B743CD4CD64333B3EE -:104F5000F443CD8C094400C0184433F3274466263B -:104F6000374499594644CD8C554400C064440000F0 -:104F70004040333381426666FC42CCCC3B4366669C -:104F8000794300809B43CC4CBA439919D94366E6D8 -:104F9000F74399590B4400C01A4466262A44CC8C26 -:104FA000394433F348449959584400C0674445781C -:104FB000747261706F6C6174696E67206D6573687F -:104FC0002E2E2E0057616974696E6720666F7220FD -:104FD0006865617475702E0A004C656176696E674C -:104FE00020473236003F5370656369666965642007 -:104FF000582C5920636F6F7264696E617465206FFD -:105000007574206F6620626F756E64732E0A003FA0 -:1050100028522965706561742076616C7565206E13 -:105020006F7420706C61757369626C653B206D757F -:105030007374206265206174206C65617374203123 -:105040002E0A003F2852296570656174206D7573C2 -:105050007420626520737065636966696564207792 -:1050600068656E206E6F74207573696E6720616E5F -:10507000204C43442E0A003F53706563696669659E -:1050800064206E6F7A7A6C652074656D70657261EC -:1050900074757265206E6F7420706C6175736962CF -:1050A0006C652E0A003F537065636966696564200C -:1050B00066696C616D656E742073697A65206E6FC8 -:1050C0007420706C61757369626C652E0A003F53C1 -:1050D0007065636966696564207072696D65206CCE -:1050E000656E677468206E6F7420706C617573698B -:1050F000626C652E0A003F5072696D65206C656EAA -:10510000677468206D7573742062652073706563C1 -:105110006966696564207768656E206E6F742075B6 -:1051200073696E6720616E204C43442E0A003F5322 -:105130007065636966696564206E6F7A7A6C652054 -:1051400073697A65206E6F7420706C617573696223 -:105150006C652E0A003F52657472616374696F6EEC -:10516000204D756C7469706C696572206D7573740F -:10517000206265207370656369666965642E0A0044 -:105180003F53706563696669656420526574726136 -:105190006374696F6E204D756C7469706C696572AB -:1051A000206E6F7420706C61757369626C652E0A75 -:1051B000003F537065636966696564206C61796559 -:1051C0007220686569676874206E6F7420706C6106 -:1051D000757369626C652E0A0043292E0A003F53DD -:1051E0007065636966696564206265642074656DD5 -:1051F0007065726174757265206E6F7420706C6179 -:10520000757369626C65202834302D004732362072 -:105210007374617274696E672E2E2E0A0070012CF1 -:105220000190012701B0012201C0011D01F0011808 -:10523000011002130130020E016002090190020404 -:1052400001C002FF000003FA004003F5008003F0F4 -:1052500000D003EB002004E6007004E100E004DC71 -:10526000004005D700C005D2004006CD00D006C8DA -:10527000008007C3003008BE00F008B900C009B4C0 -:1052800000B00AAF00B00BAA00D00CA500000EA021 -:1052900000500F9B00C01096005012910000148C1B -:1052A00000C0158700B0178200B0197D00D01B78B0 -:1052B00000001E730040206E0090226900F02464FC -:1052C0000040275F0090295A00E02B5500102E5017 -:1052D0000020304B0010324600E033410090353C56 -:1052E000001037370070383200A0392D00B03A284E -:1052F00000A03B2300603C1E00103D1900903D14AF -:1053000000103E0F00703E0A00C03E0500003F0046 -:1053100000403FFBFF803FF6FFC03FF1FF202D2004 -:10532000496E76616C696420657874727564657223 -:10533000206E756D62657220210A001000C902108E -:10534000012C014001220170011801B0010E01F091 -:105350000104015002FA00B002F0003003E600D070 -:1053600003DC009004D2007005C800A006BE000057 -:1053700008B400B009AA00D00BA000600E9600602F -:10538000118C000015820020197800C01D6E00A04D -:10539000226400B0275A00902C500000314600E0F3 -:1053A000343C0010383200903A2800603C1E00A0C7 -:1053B0003D1400803E0A00203F0000453120544843 -:1053C00045524D414C2052554E415741590042459E -:1053D0004420544845524D414C2052554E4157416E -:1053E0005900546865726D616C2052756E61776109 -:1053F00079004531204572723A204D415854454D4F -:1054000050004572723A204D415854454D5020424B -:105410004544004D415854454D50207472696767AA -:1054200065726564004531204572723A204D494EDF -:1054300054454D50004572723A204D494E54454DE9 -:105440005020424544004D494E54454D5020747201 -:1054500069676765726564000A0A0020205A5F4D1B -:10546000494E3A002020595F4D494E3A00202058BD -:105470005F4D494E3A004D383420582059205A206B -:105480004500202F002042403A0020403A0020579B -:105490003A0020573A00544D3344203130532050C5 -:1054A000726F2052656164792E005072696E746962 -:1054B0006E672E2E2E005072696E742050617573C7 -:1054C00065640063616E63656C005072696E742080 -:1054D00041626F727465640055492041626F727455 -:1054E00000726573756D65004D32340000809D4318 -:1054F00000009B430000C8430000000000000000C3 -:10550000000000004E6F20454550524F4D2E0A00BE -:1055100053544F502063616C6C6564206265636115 -:10552000757365206F6620424C546F756368206503 -:1055300072726F72202D207265737461727420779D -:10554000697468204D3939390A0053544F5020632B -:10555000616C6C65642062656361757365206F665C -:1055600020424C546F756368206572726F72202DF3 -:1055700020726573746172742077697468204D3984 -:1055800039390A002F2F616374696F6E3A006275B2 -:1055900074746F6E00656E640070726F6D70745F0E -:1055A0000073686F77004D38373620526573706F1F -:1055B0006E64696E672050524F4D50545F00554ED7 -:1055C0004B4E4F574E2053544154450047434F4490 -:1055D000455F494E464F004C43445F50415553454B -:1055E0005F524553554D450046494C414D454E543B -:1055F0005F52554E4F55545F434F4E54494E55459B -:105600000046494C414D454E545F52554E4F5554FE -:10561000004D323400436F6E74696E7565004469E5 -:105620007361626C6552756E6F7574005075726748 -:1056300065204D6F7265005061757365640070611F -:105640007573656400486F74656E6420746F6F20B5 -:10565000636F6C640A005061757365005072657306 -:105660007320627574746F6E20286F72204D313014 -:10567000382920746F20726573756D650A00496E54 -:10568000736572742066696C616D656E7420616EFD -:105690006420707265737320627574746F6E202855 -:1056A0006F72204D313038290A00436F6E74696E75 -:1056B00075650052656865617420446F6E650052BF -:1056C0006568656174696E672E2E2E005265686587 -:1056D0006174696E670048656174657254696D65CF -:1056E0006F75740052656865617400486561746522 -:1056F0007254696D656F75740050726573732062C2 -:105700007574746F6E20286F72204D3130382920E7 -:10571000746F2068656174206E6F7A7A6C650A0018 -:105720004E6F7A7A6C65205061726B656400436FCE -:105730006E74696E7565004E6F7A7A6C6520506183 -:10574000726B656400486F74656E6420746F6F20BF -:10575000636F6C640A00726573756D6564006265E1 -:1057600067696E00436F6E74696E75650044697396 -:1057700061626C6552756E6F757400507572676505 -:105780004D6F726500506175736564004C6F6164A4 -:105790002046696C616D656E7400436F6E74696E4E -:1057A0007565004C6F61642046696C616D656E744F -:1057B000205400496E736572742066696C616D6572 -:1057C0006E7420616E6420707265737320627574EC -:1057D000746F6E20286F72204D313038290A0052C4 -:1057E0006573756D65004F46460A00466164652025 -:1057F0004865696768742000426564204C65766579 -:105800006C696E6720004661696C656420746F2066 -:10581000656E61626C6520426564204C6576656CDE -:10582000696E670A00496E76616C6964206D657304 -:10583000682E0A0076616C69640A53746F7261673E -:105840006520736C6F743A2000696E004D65736853 -:1058500020697320003F557365203020746F20004D -:105860003F496E76616C69642073746F726167651D -:1058700020736C6F742E0A003F454550524F4D20E7 -:1058800073746F72616765206E6F742061766169F1 -:105890006C61626C652E0A004D65736820706F69DB -:1058A0006E742063616E6E6F742062652072657322 -:1058B0006F6C7665640A004D34323120696E636F17 -:1058C000727265637420706172616D6574657220B7 -:1058D00075736167650A0046696E6973686564215E -:1058E0000A00206F662000205A00205900476F6987 -:1058F0006E6720746F3A20580043570A002064698D -:10590000723A0020616E676C653A0053746172747C -:10591000207261646975733A00506F736974696FBE -:105920006E696E67207468652070726F62652E2ED6 -:105930002E0A003F4E756D626572206F66206C65A1 -:10594000677320696E206D6F76656D656E74206E6D -:105950006F7420706C61757369626C652028302DDE -:105960003135292E0A003F2028582C5929206F75DF -:1059700074206F6620626F756E64732E0A003F5349 -:10598000616D706C652073697A65206E6F7420702C -:105990006C61757369626C652028342D3530292E51 -:1059A0000A004D3438205A2D50726F6265205265BE -:1059B000706561746162696C69747920546573748F -:1059C0000A003F2856296572626F7365206C657600 -:1059D000656C20697320696D706C61757369626CA8 -:1059E000652028302D34292E0A003F4D657368202C -:1059F000746F6F2062696720666F72204545505250 -:105A00004F4D2E0A004E6F20454550524F4D2E0AE5 -:105A1000000A20696E6974207A70726F62655F7A1D -:105A20006F6666736574203D2000454550524F4DAA -:105A300020496E697469616C697A65640A00446919 -:105A4000666665723A200046726F6D5374703A0054 -:105A5000537465707065723A00556E4C6576656C6E -:105A60003A004C6576656C65643A005261773A207D -:105A7000202020000A4C6F676963616C3A00436123 -:105A8000703A0050726F6265205A204F66667365E7 -:105A9000743A200050726F62652059204F66667319 -:105AA00065743A200050726F62652058204F666618 -:105AB0007365743A20003F59206F7574206F66201B -:105AC00072616E67652028302D33313020746F206D -:105AD000333130290A003F58206F7574206F6620DB -:105AE00072616E67652028302D33313520746F2048 -:105AF000333135290A003F5A206F7574206F6620B4 -:105B000072616E676520282D323020746F2032302C -:105B1000290A00220A00656E7175657565696E67F0 -:105B200020220023206F662073616D706C65733ACC -:105B3000200050726F62696E6720506F696E74202A -:105B400025692F2569002E0A0A002F000A50726F5E -:105B500062696E67206D65736820706F696E74206E -:105B600000496E76616C6964206D61702074797093 -:105B7000652E0A0A003F2846296164652068656928 -:105B800067687420666F7220426564204C65766594 -:105B90006C20436F7272656374696F6E206E6F74F0 -:105BA00020706C61757369626C652E0A0A003F4350 -:105BB000616E277420616374697661746520616E1B -:105BC0006420646561637469766174652061742022 -:105BD0007468652073616D652074696D652E0A0AAD -:105BE00000426F7468205820262059206C6F636132 -:105BF00074696F6E73206D757374206265207370A5 -:105C0000656369666965642E0A0A003F496E7661BC -:105C10006C696420677269642073697A6520284A18 -:105C200029207370656369666965642028322D399F -:105C3000292E0A0A003F2850296861736520766181 -:105C40006C756520696E76616C69642028302D362C -:105C5000292E0A0A003F2856296572626F73652053 -:105C60006C6576656C20697320696D706C61757305 -:105C700069626C652028302D34292E0A0A003F28DD -:105C80005229657065746974696F6E20636F756EF3 -:105C90007420696E76616C69642028312B292E0A84 -:105CA0000A002E0A006F70656E206661696C65647B -:105CB0002C2046696C653A2000706F7765726F66BC -:105CC00066004B494C4C45442E20005072696E745E -:105CD00065722068616C7465642E206B696C6C2839 -:105CE000292063616C6C6564210A002054002052F5 -:105CF00000416363656C65726174696F6E3A205030 -:105D00000050574D3A20202534640050574D3A201A -:105D1000202534640050574D3A202025346400502B -:105D2000574D3A20202534640050574D3A20202505 -:105D300034640050574D3A20202534640050574DAC -:105D40003A20202534640050574D3A2020253464F1 -:105D50000050574D3A20202534640050574D3A20CA -:105D6000202534640050574D3A20202534640050DB -:105D7000574D3A20202534640050574D3A202025B5 -:105D800034640050574D3A20202534640050574D5C -:105D90003A20202534640050574D3A2020253464A1 -:105DA00000433A2000423A2000413A2000202020BF -:105DB00020434F4D002020206E6F6E2D7374616E56 -:105DC000646172642050574D206D6F64650020201F -:105DD00020636F6D7061726520696E746572727593 -:105DE000707420656E61626C6564002020206F769F -:105DF0006572666C6F7720696E7465727275707407 -:105E000020656E61626C6564003A200020202020CD -:105E100054494D534B00423A200020202020544347 -:105E2000435200413A200020202020544343520096 -:105E30002020202043533A20002020202057474D87 -:105E40003A200050574D3A20202534640050574DD9 -:105E50003A20202534640047004800000088008A6A -:105E6000008C00B300B400000098009A009C00A8C9 -:105E700000AA00AC0028012A012C01202020205477 -:105E8000494D455200440045006E00800081006F7E -:105E900000B000B1007000900091007100A000A15E -:105EA00000720020012101730020697320616C736E -:105EB0006F207469656420746F2074686973207042 -:105EC000696E0054494D45523143000A202E00208E -:105ED00020002020506F72743A200000002100241E -:105EE0000027002A002D00300033000101000004CB -:105EF0000107010A0100002200250028002B002EC6 -:105F0000003100340002010000050108010B01000E -:105F10000020002300260029002C002F0032000062 -:105F20000100000301060109010505050507050833 -:105F3000080808020202020A0A080804040404010C -:105F4000010101010101010303030303030303042E -:105F50000707070C0C0C0C0C0C0C0C0202020206BE -:105F6000060606060606060B0B0B0B0B0B0B0B01AE -:105F7000021020200808102040102040800201025A -:105F80000108040201010204081020408080402022 -:105F9000100804020180040201804020100804025D -:105FA00001080402010102040810204080010204DB -:105FB000081020408000000A0B02090C0D0E080793 -:105FC00003040100000000000000000000000000C9 -:105FD00000000000000000000000000000000000C1 -:105FE000001211100000000000000000000000007E -:105FF000000000000000000000000053544F50500B -:1060000045442E20005072696E7465722073746F5F -:10601000707065642064756520746F206572726F9E -:1060200072732E2046697820746865206572726FDD -:106030007220616E6420757365204D393939207482 -:106040006F20726573746172742E202854656D70B0 -:106050006572617475726520697320726573657409 -:106060002E205365742069742061667465722072F5 -:10607000657374617274696E67290A006563686F7D -:106080003A004572726F723A00204A0020204D3467 -:1060900032312049002020473239204939390A005D -:1060A0006163746976650A00696E00002053797334 -:1060B00074656D2076312E30312000001902BD014B -:1060C00011241FBECFEFD1E2DEBFCDBF00E00CBF79 -:1060D00018E0A0E0B2E0E6EDF1EC02E00BBF02C098 -:1060E00007900D92A03BB107D9F72DE1A0EBB8E0E6 -:1060F00001C01D92A93DB207E1F710E3CFE5D0E35F -:1061000000E006C021970109802FFE010F94C15BBA -:10611000CE35D10780E00807A9F70F9466450D94A6 -:10612000D9600C9400002F923F924F925F926F9231 -:106130007F928F929F92AF92BF92CF92DF92EF9217 -:10614000FF920F931F93CF93DF93CDB7DEB7E39703 -:106150000FB6F894DEBF0FBECDBF809109018170EC -:1061600091E098272091CF08921781F19093CF0862 -:10617000811116C00E9469718091F91783FF09C0CF -:106180008DE893E00E94C86661E080E00F94EE41E4 -:106190001DC060E081E00F94EE4186EA93E014C0F8 -:1061A0000091F91703FB002700F90E94F870809115 -:1061B000F917877F8093F917002341F060E081E0B1 -:1061C0000F94EE418FEB93E00E94C86680917414A7 -:1061D00081FF11C18091F9159091FA15891B8F707B -:1061E000843008F008C18CE0E6E9FCE0DE0111969D -:1061F00001900D928A95E1F78091AD0C9091AE0CD3 -:10620000A091AF0CB091B00C88A799A7AAA7BBA783 -:106210009C01AD016091960C7091970C8091980C47 -:106220009091990C0F94C95B6B017C016093960C63 -:106230007093970C8093980C9093990C8091B10C6B -:106240009091B20CA091B30CB091B40C8CA79DA707 -:10625000AEA7BFA79C01AD0160919A0C70919B0CF9 -:1062600080919C0C90919D0C0F94C95B68A379A3BD -:106270008AA39BA360939A0C70939B0C80939C0CB5 -:1062800090939D0C8091B50C9091B60CA091B70C99 -:10629000B091B80C88AB99ABAAABBBAB9C01AD017C -:1062A00060919E0C70919F0C8091A00C9091A10C1C -:1062B0000F94C95B4B015C0160939E0C70939F0C23 -:1062C0008093A00C9093A10CA7019601C701B60181 -:1062D0000F943A552B013C0128A139A14AA15BA199 -:1062E000CA01B9010F943A559B01AC01C301B20137 -:1062F0000F94CA5B2B013C01A5019401C501B401B7 -:106300000F943A559B01AC01C301B2010F94CA5BD3 -:106310000F94C85E9B01AC0160E070E080E89FE3F1 -:106320000F94C45C20913F023091400240914102A1 -:10633000509142020F943A552DEC3CEC4CEC5DE34D -:106340000F943A5520E030E040E85EE30F943A5570 -:106350002B013C0120E030E040E85FE30F94D4548F -:1063600087FFF1C3A3019201C701B6010F943A550B -:1063700028A539A54AA55BA50F94CA5B6093960C26 -:106380007093970C8093980C9093990CA3019201B1 -:1063900068A179A18AA19BA10F943A552CA53DA58E -:1063A0004EA55FA50F94CA5B60939A0C70939B0CEB -:1063B00080939C0C90939D0CA3019201C501B401A4 -:1063C0000F943A5528A939A94AA95BA90F94CA5B29 -:1063D00060939E0C70939F0C8093A00C9093A10CE3 -:1063E0000E94C9C08CE0FE013196A6E9BCE0019094 -:1063F0000D928A95E1F78091CE0881110C947A4C28 -:106400008091CC089091CD089C012F5F3F4F309335 -:10641000CD082093CC08883E934010F40C947A4C1D -:1064200081E08093CE081092CD081092CC08809124 -:106430006D0C882309F498C30E949780811194C33E -:106440008091CB088F5F8093CB088091CB088536F5 -:1064500020F01092CB0810926D0CE0916D0C8E2FF5 -:10646000EE0F990BAA0BBB0BFC013197E730F1053E -:1064700008F0A0C08827EE58FF4F8F4F0D94C15BE6 -:106480000E948F80882309F495C081E080933E02AA -:1064900082ED93E00E94C86680E190E090937E16C2 -:1064A00080937D1685E08093711602E80093741640 -:1064B00084E190E1A0E0B0E08093751690937616A9 -:1064C000A0937716B09378160F94523281E09AE534 -:1064D00090937E1680937D1686E390E090938016CD -:1064E00080937F1687E0809371160093741684E87A -:1064F00090E0A0E0B0E08093751690937616A0939C -:106500007716B09378160F94523252C00E948F8043 -:10651000882309F44FC048C080EE93E00E94C8660B -:1065200081E09AE590937E1680937D1680E490E05A -:106530009093801680937F1607E00093711682E88F -:106540008093741684E890E0A0E0B0E08093751624 -:1065500090937616A0937716B09378160F945232D4 -:1065600000936D0C27C08091CA08882319F10E94FE -:106570008F808823F9F00E94978081111BC0F7C299 -:106580000E948F808823B1F00E949780811112C0F1 -:106590001CC30E94978081110DC042E060E070E052 -:1065A000CB010E94AD8004C00E949780811102C07F -:1065B00010926D0C80913E02882309F4ACC2809148 -:1065C000690C90916A0C892B09F08FC18091C708E2 -:1065D0009091C808892B09F01EC184E096E0909341 -:1065E0007E1680937D1680EA90E8909380168093C3 -:1065F0007F1617E01093711602E80093741680EA74 -:1066000090E0A0E0B0E08093751690937616A0938A -:106610007716B09378160F945232809106029091BB -:106620000702A0910802B09109020097A105B105E7 -:1066300011F510927E1610927D1615E010937116CA -:10664000009374168AE890E1A0E0B0E0809375169C -:1066500090937616A0937716B09378160F945232D3 -:1066600089E090E090937E1680937D1610937116CA -:106670000093741640C00196A11DB11DF5E0B695BA -:10668000A79597958795FA95D1F70197A109B10933 -:10669000009731E0A307B10558F0B0937E16A093A0 -:1066A0007D169093801680937F161093711607C005 -:1066B00090937E1680937D1685E08093711612E884 -:1066C000109374168AE890E1A0E0B0E0809375160C -:1066D00090937616A0937716B09378160F94523253 -:1066E00088E090E090937E1680937D1685E08093FD -:1066F0007116109374168CE890E1A0E0B0E08093DE -:10670000751690937616A0937716B09378160F941B -:1067100052328091060290910702A0910802B09136 -:1067200009020097E1E0AE07B10550F0B0937E1684 -:10673000A0937D169093801680937F1687E005C006 -:1067400090937E1680937D1685E08093711682E883 -:106750008093741688E890E1A0E0B0E0809375160D -:1067600090937616A0937716B09378160F945232C2 -:106770008091060290910702A0910802B09109024F -:10678000BA2FA92F982F88270097F1E0AF07B105FE -:1067900050F0B0937E16A0937D1690938016809350 -:1067A0007F1687E005C090937E1680937D1685E066 -:1067B0008093711612E81093741681EA90E0A0E0BD -:1067C000B0E08093751690937616A0937716B093E9 -:1067D00078160F94523280915F0C882319F082E072 -:1067E00090E002C083E090E090937E1680937D1647 -:1067F00085E0809371161093741685E490E1A0E013 -:10680000B0E08093751690937616A0937716B093A8 -:1068100078160F9452320091C7081091C8080536B7 -:1068200011057CF410937E1600937D1685E080930D -:10683000711682E88093741680E090E1A0E0B0E0E9 -:1068400011C0C8018456910990937E1680937D16DD -:1068500085E08093711682E88093741681E090E160 -:10686000A0E0B0E08093751690937616A09377160B -:10687000B09378160F9452320F5F1F4F1093C808D1 -:106880000093C708093C110564F18EEE93E00E9465 -:10689000C86681E090E090936A0C8093690C8093C5 -:1068A0003E0281E09AE590937E1680937D168DE2FC -:1068B00090E09093801680937F1687E08093711606 -:1068C00082E88093741684E890E0A0E0B0E08093C2 -:1068D000751690937616A0937716B09378160F944A -:1068E00052321092CE080C947A4C8091F915909106 -:1068F000FA15891B8F7009F092C10E94388A8111A4 -:106900008EC18091F91782FD8AC112C384E690E09E -:1069100090937E1680937D161093711600937416D3 -:106920008EE090E1A0E0B0E080937516909376162B -:10693000A0937716B09378160F945232C601825303 -:106940009048880F991F90937E1680937D16109320 -:106950007116009374168FE090E1A0E0B0E0809390 -:10696000751690937616A0937716B09378160F94B9 -:1069700052320F94DD0790E090937E1680937D163F -:1069800085E08093711682E88093741686E190E129 -:10699000A0E0B0E08093751690937616A0937716DA -:1069A000B09378160F94523220E030E048EC52E475 -:1069B00060918B0C70918C0C80918D0C90918E0C51 -:1069C0000F943A550F94365D70937E1660937D1642 -:1069D00015E01093711602E80093741686E290E1B8 -:1069E000A0E0B0E08093751690937616A09377168A -:1069F000B09378160F9452326091EC0C7091ED0CBC -:106A00008091EE0C9091EF0C0F94365D70937E1692 -:106A100060937D16109371160093741686E390E1CF -:106A2000A0E0B0E08093751690937616A093771649 -:106A3000B09378160F9452326091060A7091070A4B -:106A40008091080A9091090A0F94365D70937E1622 -:106A500060937D1610937116009374168CE390E189 -:106A6000A0E0B0E08093751690937616A093771609 -:106A7000B09378160F9452328091F00C9091F10CF3 -:106A800090937E1680937D16109371160093741662 -:106A900084E390E1A0E0B0E08093751690937616C1 -:106AA000A0937716B09378160F94523280910A0A09 -:106AB00090910B0A90937E1680937D161093711619 -:106AC000009374168AE390E1A0E0B0E0809375161D -:106AD00090937616A0937716B09378160F9452324F -:106AE0000091C30801113CC18091C508811138C1D2 -:106AF0008091CA0881118BC180912516909126162C -:106B0000A0912716B09128168C3420E19207A10598 -:106B1000B10509F0A1C131ECC32E36E1D32E0AE153 -:106B200085E794E10E94416FE090B808F090B908C1 -:106B3000181619060CF085C38AE1E816F10414F45E -:106B40000C943B487EC38CE0FE013196A6E9BCE084 -:106B500001900D928A95E1F70E94C9C0809174144A -:106B60008D7F8093741447CC1092CB086ECC80EA52 -:106B700095E00E94C8668091C90890E0A0E0B0E06E -:106B8000895B9F4FAE4FB54A21E03AE530937E16C0 -:106B900020937D169093801680937F1687E08093D4 -:106BA000711682E88093741684E890E0A0E0B0E06B -:106BB0008093751690937616A0937716B0937816F7 -:106BC0000F9452321092CA08F3CC81E080933E02B7 -:106BD00010926D0C8EEA95E00E94C86681E09AE5FD -:106BE00090937E1680937D168EE490E090938016AD -:106BF00080937F1687E08093711682E880937416E5 -:106C000084E890E0A0E0B0E080937516909376164B -:106C1000A0937716B09378160F945232CBCC8CE0B9 -:106C200090E090937E1680937D1605E00093711698 -:106C300082E88093741684E190E1A0E0B0E0809354 -:106C4000751690937616A0937716B09378160F94D6 -:106C500052320F94B40420E13EE040E050E00F9443 -:106C60002A5B2115310591E04907510560F05093E9 -:106C70007E1640937D163093801620937F1687E012 -:106C80008093711606C030937E1620937D16009374 -:106C9000711602E80093741680E190E1A0E0B0E084 -:106CA0008093751690937616A0937716B093781606 -:106CB0000F9452320F94B40420E13EE040E050E0E3 -:106CC0000F942A5B2CE330E040E050E00F942A5B05 -:106CD00030937E1620937D1615E010937116009365 -:106CE000741682E190E1A0E0B0E080937516909375 -:106CF0007616A0937716B09378160F9452320F94AD -:106D0000DD07882391F00F94DD078F5F8093C6081D -:106D1000C82ED12C833308F0F9CDC601880F991FF6 -:106D200090937E1680937D1604C010927E1610926A -:106D30007D1610937116009374168EE090E1A0E01A -:106D4000B0E08093751690937616A0937716B09363 -:106D500078160F94523210927E1610927D16F7CD4F -:106D600020E030E048EC52E46091EC0C7091ED0CC6 -:106D70008091EE0C9091EF0C0F943A556B017C01D1 -:106D80006091F00C7091F10C072E000C880B990BA0 -:106D90000F94DB549B01AC01C701B6010F94C45C96 -:106DA0000F943D5D6436710510F064E670E07093F9 -:106DB0007E1660937D1645E0A42EA092711652E8CF -:106DC000B52EB092741684E290E1A0E0B0E080931A -:106DD000751690937616A0937716B09378160F9445 -:106DE0005232C090EC0CD090ED0CE090EE0CF09094 -:106DF000EF0C20E030E040E253E4C701B6010F940D -:106E00002A5E18160CF03AC1011188C137C1809171 -:106E1000BA0801E0080F0093BA0890E090937E163C -:106E200080937D1685E08093711682E880937416B6 -:106E300082E490E1A0E0B0E080937516909376161E -:106E4000A0937716B09378160F9452320A3008F454 -:106E500053CE1092BA0850CE8A349041A105B105A4 -:106E600009F459CE80E00E948B8120E030E040E2BE -:106E700051E40F943A550F94365D70937E166093EB -:106E80007D1615E01093711602E80093741688E4DD -:106E900090E1A0E0B0E08093751690937616A093F1 -:106EA0007716B09378160F94523281E00E948B814E -:106EB00020E030E040E251E40F943A550F94365D03 -:106EC00070937E1660937D1610937116009374165E -:106ED0008AE490E1A0E0B0E0809375169093761676 -:106EE000A0937716B09378160F94523282E00E94E6 -:106EF0008B8120E030E040E251E40F943A550F944A -:106F0000365D70937E1660937D1610937116009314 -:106F100074168CE490E1A0E0B0E080937516909335 -:106F20007616A0937716B09378160F945232F3CD5D -:106F30008091060A9091070AA091080AB091090A67 -:106F400088A399A3AAA3BBA360910A0A70910B0A14 -:106F5000072E000C880B990B0F94DB546B017C01FE -:106F600020E030E040E050E40F94C95B28A139A153 -:106F70004AA15BA10F942A5E181604F14090EC0C14 -:106F80005090ED0C6090EE0C7090EF0C6091F00C56 -:106F90007091F10C072E000C880B990B0F94DB54A9 -:106FA0004B015C0120E030E040E251E40F94C95B0A -:106FB000A30192010F942A5E181604F58DE090E06B -:106FC00090937E1680937D1685E08093711682E8FB -:106FD0008093741684E190E1A0E0B0E08093751690 -:106FE00090937616A0937716B09378160F9452323A -:106FF00080916C0C81113FC081E03DC020E030E009 -:1070000040E050E4C701B6010F94CA5B28A139A142 -:107010004AA15BA10F94D45487FD0EC020E030E05C -:1070200040E251E4C501B4010F94CA5BA30192018F -:107030000F94D45487FFB8CC84E190E090937E16EF -:1070400080937D1685E08093711682E88093741694 -:1070500084E190E1A0E0B0E08093751690937616FD -:10706000A0937716B09378160F94523280916C0CDF -:10707000811101C082E080936C0C96CC6091F00C81 -:107080007091F10C072E000C880B990B0F94DB54B8 -:107090009B01AC01C701B6010F942A5E6091C5083F -:1070A00087FDAEC0662309F423CD062E000C770BB6 -:1070B00081E098E00F9437411092C5081092C808FB -:1070C0001092C70884E090E090937E1680937D161E -:1070D00085E08093711602E8009374168EE890E1C3 -:1070E000A0E0B0E08093751690937616A093771683 -:1070F000B09378160F94523281E09AE590937E1601 -:1071000080937D1683E590E09093801680937F16A0 -:1071100087E0809371160093741663C01092C308C1 -:1071200020E030E040E251E46091BB087091BC087F -:107130008091BD089091BE080F943A550F94365D2A -:1071400070937E1660937D16A0927116B09274169D -:1071500084E590E1A0E0B0E08093751690937616F8 -:10716000A0937716B09378160F94523220E030E057 -:1071700040E251E46091BF087091C0088091C1085D -:107180009091C2080F943A550F94365D70937E1615 -:1071900060937D16A0927116B092741688E590E106 -:1071A000A0E0B0E08093751690937616A0937716C2 -:1071B000B09378160F9452328CEB95E00E94C8661B -:1071C00081E09AE590937E1680937D1681E490E0AD -:1071D0009093801680937F1687E080937116B0920B -:1071E000741684E890E0A0E0B0E080937516909368 -:1071F0007616A0937716B09378160F94523278CC07 -:10720000662309F475CC8091C7089091C8089C0149 -:107210002F5F3F4F3093C8082093C70865E070E0A8 -:107220000F94AD5B90937E1680937D1685E08093DE -:10723000711682E8809374168EE890E1A0E0B0E0C9 -:10724000D4CF1E141F040CF04CCB909122168091C9 -:10725000C116981322C0909123168091C2169813DC -:107260001CC023E0E216F104C4F09091C316909381 -:1072700021168091C416809324169330D1F4982F50 -:107280009D7F9038B1F49091C5169F3409F059C094 -:107290009091C6169B3409F054C08AE1E1ECF6E106 -:1072A000DF011D928A95E9F71092B9081092B8088B -:1072B00018CB833809F045C08091C5169091C61649 -:1072C000982789279827A0E0B0E08093251690930F -:1072D0002616A0932716B0932816C090C716D12C57 -:1072E000E12CF12CC0922916D0922A16E0922B168E -:1072F000F0922C16A8ECB6E140E050E0BA014C1533 -:107300005D056E057F0508F04AC04A015B01B69431 -:10731000A79497948794F4013696EE0FFF1FEF5DC4 -:10732000F94E8C9190E0982F882711962C91119707 -:10733000822B918380834E5F5F4F6F4F7F4F1296FA -:10734000DECF813861F58091C51690E0A0E0B0E015 -:107350008093251690932616A0932716B09328168F -:107360008091C616482F50E060E070E040932916E7 -:1073700050932A1660932B1670932C16A7ECB6E147 -:10738000EDE2F6E190E020E030E02817390739F02F -:107390004D9150E0419351932F5F3F4FF6CF8AE1DB -:1073A000E1ECF6E1DF011D928A95E9F71092B90848 -:1073B0001092B8088FEF93E00E94C86660916D0C40 -:1073C000161664F4062E000C770B86EF97E00F94E8 -:1073D00037418AE00E94AA650C942C4860912D16D2 -:1073E00070912E1684EE97E00F9419418AE00E9466 -:1073F000AA65409125165091261660912716709126 -:10740000281685ED97E00F9408418AE00E94AA654E -:107410008091251690912616A0912716B0912816D6 -:10742000EBE6F2E000E010E0419151916191719141 -:107430004115510561057105D1F1481759076A07D2 -:107440007B0791F5AC01BD014850504161097109BC -:10745000453051056105710568F1AC01BD01477FFB -:10746000423350416105710541F18433F0E19F07DA -:10747000A105B10511F1AC01BD01465450416109AE -:1074800071094730510561057105D0F0AC01BD01AE -:107490004455504161097109453051056105710537 -:1074A00088F402E110E00EC00F5F1F4FBDCF0FEF59 -:1074B0001FEF08C003E010E005C008E010E002C0C4 -:1074C0000FE010E08A509042A109B109833D910577 -:1074D000A105B10530F00F3F2FEF120721F40C94F6 -:1074E0002C4809E110E0F0E2CF2EF4E0DF2EF601A7 -:1074F00081916F01882319F00E94AA65F8CF6AE094 -:1075000070E0C8010E943A660E94C26689EC97E06A -:107510000E94C8660A31110510F00C942848F80141 -:107520008827E758FF4F8F4F0D94C15B80912D1630 -:1075300090912E1681309105E1F410923E028FEF6A -:107540008093B01A60E080E00F94EE410EE214E008 -:10755000D8018D918D01882319F00E94AA65F8CF7A -:1075600081E09AE590937E1680937D168EE290E0FE -:10757000AFC08230910509F0C5C081E080933E0222 -:107580000F944E0885EC97E090933F0A80933E0A53 -:107590008BE090E090937E1680937D1605E000933B -:1075A000711612E81093741680E092E1A0E0B0E04A -:1075B0008093751690937616A0937716B0937816ED -:1075C0000F94523210927E1610927D16009371160F -:1075D000109374168EE090E1A0E0B0E080937516F1 -:1075E00090937616A0937716B09378160F94523234 -:1075F00010927E1610927D160093711610937416D9 -:107600008FE090E1A0E0B0E080937516909376163D -:10761000A0937716B09378160F94523210927E167C -:1076200010927D16009371161093741686E190E106 -:10763000A0E0B0E08093751690937616A09377162D -:10764000B09378160F94523262E070E080E090E0E0 -:107650000E949F8110927E1610927D1600937116E3 -:107660001093741680E190E1A0E0B0E0809375166D -:1076700090937616A0937716B09378160F945232A3 -:1076800010927E1610927D16009371161093741648 -:1076900082E190E1A0E0B0E08093751690937616B9 -:1076A000A0937716B09378160F94523208E514E041 -:1076B000F80181918F01882319F00E94AA65F8CF03 -:1076C00081E09AE590937E1680937D168DE290E09E -:1076D0009093801680937F1687E08093711682E8DE -:1076E0008093741684E890E0A0E0B0E08093751673 -:1076F00090937616A0937716B09378160F94523223 -:107700000C942C488330910549F581E080933E022A -:1077100002E814E0D8018D918D018823C9F00E9400 -:10772000AA65F8CF8091251690912616A09127166C -:10773000B09128168233F0E19F07A105B10509F049 -:107740005BC480912D1690912E16009709F023C4EA -:1077500080910502882309F40DC31DC3049711F01D -:107760000C942C4810923E020C942C4880912D16BB -:1077700090912E1681309105D1F410923E028091A5 -:107780000502882319F082E090E002C083E090E0D7 -:1077900090937E1680937D1685E08093711682E823 -:1077A000809374168EE190E1A0E0B0E09FCF82302C -:1077B000910519F50CEA14E0F80181918F018823F5 -:1077C00019F00E94AA65F8CF81E080933E02809173 -:1077D0006C0C843049F081E09AE590937E1680939A -:1077E0007D1685E390E074CF81E09AE590937E1654 -:1077F00080937D1686E390E06BCF8330910509F08E -:107800004CC020910502222319F190937E1680939B -:107810007D1685E08093711682E8809374168EE160 -:1078200090E1A0E0B0E08093751690937616A09357 -:107830007716B09378160F94523240E060E070E013 -:1078400088EC92E40F94D208109205020C942C4814 -:1078500082E090E090937E1680937D1685E0809381 -:10786000711682E8809374168EE190E1A0E0B0E09A -:107870008093751690937616A0937716B09378162A -:107880000F94523240E060E070E0CB010F94D208D8 -:1078900081E0809305020C942C48049711F00C941D -:1078A0002C488091190A8823F1F082E090E09093AF -:1078B0007E1680937D1685E08093711682E8809312 -:1078C00074168FE190E1A0E0B0E08093751690937C -:1078D0007616A0937716B09378160F9452321092C2 -:1078E000190A0C942C4883E090E090937E168093C4 -:1078F0007D1685E08093711682E8809374168FE17F -:1079000090E1A0E0B0E08093751690937616A09376 -:107910007716B09378160F94523281E08093190A4B -:107920000C942C4860912D1670912E1680E090E0FA -:107930000F94D9546B017C0120E030E04AEF53E40E -:107940000F94D45487FF11C020E030E040E251E4AE -:10795000C701B6010F942A5E18166CF0C12CD12C09 -:1079600070E2E72E71E4F72E06C0C12CD12CEAEFAD -:10797000EE2EE3E4FE2EC701B6010F94365D709340 -:107980004A02609349020C942C48809125169091EC -:107990002616A0912716B09128168830F0E19F078F -:1079A000A105B10509F050C081E09AE590937E16DB -:1079B00080937D168DE290E09093801680937F16E1 -:1079C00087E08093711612E81093741684E890E0B3 -:1079D000A0E0B0E08093751690937616A09377168A -:1079E000B09378160F94523210927E1610927D1634 -:1079F00005E0009371161093741680E190E1A0E009 -:107A0000B0E08093751690937616A0937716B09396 -:107A100078160F94523210927E1610927D160093B3 -:107A200071161093741682E190E1A0E0B0E08093AB -:107A3000751690937616A0937716B09378160F94D8 -:107A400052320F944E088FC08A3020E19207A10570 -:107A5000B105E1F580912D1690912E16813F91058B -:107A600011F00C942C4881E09AE590937E16809357 -:107A70007D1686E390E09093801680937F1687E0D2 -:107A80008093711682E88093741684E890E0A0E0F9 -:107A9000B0E08093751690937616A0937716B09306 -:107AA00078160F9452324AE256E061E376E084E0C1 -:107AB0000F94F60A60E08DE196E00F940F0883E1E1 -:107AC00096E090933F0A80933E0A4DC08C309041DF -:107AD000A105B10509F047C080912D1690912E1691 -:107AE000019709F040C00F94AB4E10926C0C81E0EE -:107AF00080933E028CE090E090937E1680937D16FA -:107B000085E08093711612E81093741684E190E179 -:107B1000A0E0B0E08093751690937616A093771648 -:107B2000B09378160F94523281E09AE590937E16C6 -:107B300080937D1685E390E09093801680937F1666 -:107B400087E0809371161093741684E890E0A0E0AB -:107B5000B0E08093751690937616A0937716B09345 -:107B600078160F9452328091251690912616A09186 -:107B70002716B09128168C309041A105B10511F05F -:107B80000C942C4880912D1690912E16029711F08E -:107B90000C942C480F94AB4E81E08093C508109252 -:107BA0006C0C80933E021092C8081092C70881E0C6 -:107BB0009AE590937E1680937D1682E590E088CDBD -:107BC00020912D1630912E16B90180E090E037FFFC -:107BD00009C00F94D95420E030E040E857E40F94F6 -:107BE000C95B02C00F94D95420E030E048EC52E465 -:107BF0000F94C45C6B017C0120E030E040EA51EC62 -:107C00000F942A5E87FD31C020E030E040EA51E465 -:107C1000C701B6010F94D45418163CF1A701960180 -:107C200060918B0C70918C0C80918D0C90918E0CCE -:107C30000F94C95B20E030E048EC53E40F943A55D0 -:107C400090580F94365DCB010F944735C0928B0C42 -:107C5000D0928C0CE0928D0CF0928E0C80EC97E020 -:107C600090933F0A80933E0A28C020E030E048EC21 -:107C700052E460918B0C70918C0C80918D0C9091E2 -:107C80008E0C0F943A550F94365D70937E16609368 -:107C90007D1685E08093711682E88093741686E2E3 -:107CA00090E1A0E0B0E08093751690937616A093D3 -:107CB0007716B09378160F94523260918B0C7091B6 -:107CC0008C0C80918D0C90918E0C8E010B5E1F4F51 -:107CD00023E041E00F94AC4F9F938F9382EB97E0AA -:107CE0009F938F93045111091F930F930F946C541A -:107CF000C8010E947D820F900F900F900F900F90FF -:107D00000F900C942C4880912D1690912E16009770 -:107D100029F481E080933E020C942C488130910537 -:107D2000B1F480910502882349F081E09AE59093AF -:107D30007E1680937D168CE390E0CACC81E09AE5B4 -:107D400090937E1680937D168BE390E0C1CC8230B9 -:107D50009105F9F28330910539F58091050240E0F3 -:107D6000882389F060E070E088EC92E40F94D208F8 -:107D70001092050281E09AE590937E1680937D161D -:107D800089E390E0A5CC60E070E0CB010F94D208CD -:107D900081E08093050281E09AE590937E168093BE -:107DA0007D168AE390E094CC8530910559F540E04A -:107DB00060E070E084E393E40E94228046E060E0AB -:107DC00070E08CE892E40E94228084EB90E0909333 -:107DD0007E1680937D1605E00093711612E81093CD -:107DE000741684E390E1A0E0B0E080937516909360 -:107DF0007616A0937716B09378160F94523286E4D5 -:107E000090E02DC08630910599F540E060E070E08B -:107E100080E793E40E94228046E060E070E08CED11 -:107E200092E40E94228080EF90E090937E168093EF -:107E30007D1605E00093711612E81093741684E322 -:107E400090E1A0E0B0E08093751690937616A09331 -:107E50007716B09378160F9452328EE690E0909396 -:107E60007E1680937D160093711610937416BFC012 -:107E7000813F910511F00C942C4840E060E070E0E7 -:107E8000CB010F94D20841E060E070E0CB010F9489 -:107E9000D2081092050240E060E070E0CB010E9441 -:107EA000228046E060E070E0CB010E9422801092C8 -:107EB0007E1610927D1605E00093711612E810935D -:107EC000741684E390E1A0E0B0E08093751690937F -:107ED0007616A0937716B09378160F94523261E01D -:107EE00070E080E090E00E949F8110927E161092D8 -:107EF0007D1600937116109374168AE390E1A0E04A -:107F0000B0E08093751690937616A0937716B09391 -:107F100078160F94523261E070E080E090E00E94A9 -:107F20009F8184E190E090937E1680937D1600936C -:107F300071161093741684E190E1A0E0B0E0809394 -:107F4000751690937616A0937716B09378160F94C3 -:107F5000523281E09AE590937E1680937D1689E3F4 -:107F600090E09093801680937F1687E0809371163F -:107F70001093741684E890E0A0E0B0E0809375164A -:107F800090937616A0937716B09378160F9452328A -:107F900082E00C94254881309105A9F440E060E02E -:107FA00070E0CB010E94228010927E1610927D1606 -:107FB00085E08093711682E88093741684E390E1E3 -:107FC000A0E0B0E093CB029711F00C942C4846E06F -:107FD00060E070E0CB010E94228010927E16109229 -:107FE0007D1685E08093711682E8809374168AE38B -:107FF00090E1A0E0B0E07ACB843320E19207A105C4 -:10800000B10551F460912D1670912E1680E090E02C -:108010000F94D95440E010C08A339041A105B105B6 -:1080200011F00C942C4860912D1670912E1680E062 -:1080300090E00F94D95446E00E9422800C942C4882 -:1080400080912D1690912E16009709F462CE813002 -:10805000910509F04CC080915F0C882319F083E0F2 -:1080600090E002C082E090E090937E1680937D16AF -:1080700085E08093711682E88093741685E490E120 -:10808000A0E0B0E08093751690937616A0937716D3 -:10809000B09378160F9452328AE090E090937E1657 -:1080A00080937D1685E08093711682E88093741624 -:1080B00080E092E1A0E0B0E0809375169093761690 -:1080C000A0937716B09378160F9452320E948F8047 -:1080D000811103C082EA97E002C086E997E090939D -:1080E0003F0A80933E0A82E080936D0C71C182301A -:1080F000910509F0A8C081E080933E0288E0EBEB97 -:10810000F8E0DF011D928A95E9F780E090E0A0E2B7 -:10811000B1E48093BB089093BC08A093BD08B093D2 -:10812000BE088093BF089093C008A093C108B09385 -:10813000C20884E690E090937E1680937D1605E059 -:108140000093711612E81093741684E590E1A0E094 -:10815000B0E08093751690937616A0937716B0933F -:1081600078160F94523220E030E040E251E4609102 -:10817000BF087091C0088091C1089091C2080F9407 -:108180003A550F94365D70937E1660937D1600937A -:1081900071161093741688E590E1A0E0B0E080932A -:1081A000751690937616A0937716B09378160F9461 -:1081B00052326091EC0C7091ED0C8091EE0C90912C -:1081C000EF0C0F94365D70937E1660937D160093CE -:1081D00071161093741686E390E1A0E0B0E08093EE -:1081E000751690937616A0937716B09378160F9421 -:1081F00052328091F00C9091F10C90937E16809306 -:108200007D16009371161093741684E390E1A0E03C -:10821000B0E08093751690937616A0937716B0937E -:1082200078160F94523262E070E080E090E00E9495 -:108230009F8181E09AE590937E1680937D1681E47C -:1082400090E00C9468498330910509F076C0109253 -:10825000C90880E00E948B8120E030E040E251E4D8 -:108260000F943A550F94365D70937E1660937D1689 -:1082700005E00093711612E81093741688E490E1FB -:10828000A0E0B0E08093751690937616A0937716D1 -:10829000B09378160F94523281E00E948B8120E0D7 -:1082A00030E040E251E40F943A550F94365D7093FC -:1082B0007E1660937D1600937116109374168AE4EF -:1082C00090E1A0E0B0E08093751690937616A093AD -:1082D0007716B09378160F94523282E00E948B8109 -:1082E00020E030E040E251E40F943A550F94365DBF -:1082F00070937E1660937D1600937116109374161A -:108300008CE490E1A0E0B0E080937516909376162F -:10831000A0937716B09378160F94523262E070E013 -:1083200080E090E00E949F8181E09AE590937E1624 -:1083300080937D1687E490E0CBC78430910509F4E3 -:108340008BC68530910549F44EE750E160E070E05E -:1083500083ED94E00F9401327FC6069709F07CC646 -:1083600082E997E090933F0A80933E0A8BE090E089 -:1083700031C280912D1690912E16019711F5109211 -:108380003E0281E09AE590937E1680937D168FE3FE -:1083900090E09093801680937F1687E0809371160B -:1083A00082E88093741684E890E0A0E0B0E08093C7 -:1083B000751690937616A0937716B09378160F944F -:1083C000523280912D1690912E16029709F044C6D4 -:1083D00081E09AE590937E1680937D1680E490E08C -:1083E00077C9E0912D16F0912E163197EB30F105FB -:1083F00008F0EAC18827ED56FF4F8F4F0D94C15BFF -:108400008091731480FF62C6869580FD62C65EC649 -:108410002DEC3CEC4CEC5DE360918B0C70918C0C82 -:1084200080918D0C90918E0C0F94CA5B6B017C0136 -:1084300020E030E040EA51EC0F942A5E87FDC8C18D -:1084400020E030E040EA51E4C701B6010F94D45473 -:1084500018160CF045C6BCC12DEC3CEC4CEC5DE3B1 -:1084600060918B0C70918C0C80918D0C90918E0C86 -:108470000F94C95B6B017C0120E030E040EA51ECD5 -:108480000F942A5E87FDA4C120E030E040EA51E469 -:10849000C701B6010F94D45418160CF098C698C1B1 -:1084A00080E00F94033F0E948F80811103C089E315 -:1084B00097E002C08BE297E090933F0A80933E0AD8 -:1084C00082E080936D0C81E09AE590937E16809314 -:1084D0007D1684E590E09093801680937F1687E068 -:1084E0008093711682E88093741684E890E0A0E08F -:1084F000B0E08093751690937616A0937716B0939C -:1085000078160F94523264C183E080936D0C83E03F -:1085100090E090937E1680937D1685E0809371168F -:1085200082E8809374168DE890E1A0E0B0E080933B -:10853000751690937616A0937716B09378160F94CD -:108540005232E12CF12C00E0DD24D394AA24A39430 -:1085500046E0942E55E0852E62E8762EDD2031F03F -:10856000CC24C39436E0B32E10E005C0CC24CA94CA -:10857000BB24BA9415E0DA24B11609F43FC0802F69 -:1085800090E08397CCF51530B9F1B5E0EB16A1F189 -:108590000F5FF701919EE00DF11D1124EE0FFF1FFB -:1085A000EE0FFF1FE452FE4E20E030E04AE754E4B5 -:1085B00060817181828193810F943A550F94365D69 -:1085C00070937E1660937D16809271167092741669 -:1085D000802F90E08158974F880F991F092E000C2B -:1085E000AA0BBB0B8093751690937616A093771603 -:1085F000B09378160F9452321C0DBECFEFEFEE1AE7 -:10860000FE0AF6E0EF16F10409F0A8CF81E09AE542 -:1086100090937E1680937D1685E590E0909380166A -:1086200080937F1687E08093711682E8809374169A -:1086300084E890E0A0E0B0E0809375169093761601 -:10864000A0937716B09378160F94523283EB96E08E -:1086500090933F0A80933E0ABBC042E060E070E026 -:1086600080E890E40E94AD8040E060E070E08DE141 -:1086700093E40E94AD8041E060E070E08BE193E420 -:1086800013C042E060E070E080E890E40E94AD80BA -:1086900040E060E070E080E292E40E94AD8041E062 -:1086A00060E070E080E292E40E94AD8086E080931A -:1086B0006D0C8EC042E060E070E080E890E40E94C3 -:1086C000AD8040E060E070E089E893E4E6CF42E00E -:1086D00060E070E080E890E40E94AD8040E060E0FF -:1086E00070E089E893E40CC042E060E070E080E86C -:1086F00090E40E94AD8040E060E070E080E292E4AF -:108700000E94AD8041E060E070E087E893E4CCCF68 -:1087100080915F0C81111CC083E090E090937E16E5 -:1087200080937D1685E08093711682E8809374169D -:1087300085E490E1A0E0B0E0809375169093761602 -:10874000A0937716B09378160F94523281E01BC035 -:1087500082E090E090937E1680937D1685E0809372 -:10876000711682E88093741685E490E1A0E0B0E091 -:108770008093751690937616A0937716B09378161B -:108780000F94523280E00F94033F20E030E048EC39 -:1087900052E460918B0C70918C0C80918D0C9091B7 -:1087A0008E0C0F943A550F94365D70937E1660933D -:1087B0007D1685E08093711682E88093741686E2B8 -:1087C00090E1A0E0B0E095CE87E996E00E94C8660F -:1087D0008AE090E090937E1680937D1685E08093EA -:1087E000711682E8809374164BC184E080936D0CFF -:1087F0008091251690912616A0912716B0912816E3 -:1088000060912D1670912E16883420E19207A105F3 -:10881000B10509F453C08A3430E19307A105B105CD -:1088200009F456C08C34E0E19E07A105B10509F4B6 -:108830005AC086349041A105B10509F05EC063308D -:108840007105B9F586E896E090933F0A80933E0A59 -:1088500081E08093CA0880933E021092BA0881E0BA -:108860009AE590937E1680937D168AE490E090932B -:10887000801680937F1687E08093711612E810931C -:10888000741684E890E0A0E0B0E0809375169093B1 -:108890007616A0937716B09378160F9452328AE02A -:1088A00090E090937E1680937D1685E080937116FC -:1088B000E5C06093C90810926D0CCEC380E090E8CB -:1088C000ADE9B3E48CA39DA3AEA3BFA3312C15C027 -:1088D00080E090E0ABE9B3E48CA39DA3AEA3BFA37B -:1088E000332433940AC080E090E0A8ECB3E48CA376 -:1088F0009DA3AEA3BFA382E0382E80E090E00F944A -:10890000D95420E030E040E251E40F94C45C6B01A4 -:108910007C0120E030E0A9010F94D45487FF09C006 -:108920001092B4081092B5081092B6081092B708C9 -:108930001FC02CA13DA14EA15FA1C701B6010F949C -:108940002A5E18164CF0C092B408D092B508E09296 -:10895000B608F092B7080CC08CA19DA1AEA1BFA132 -:108960008093B4089093B508A093B608B093B70865 -:108970006091B4087091B5088091B6089091B708DD -:10898000432D0E94AD8061E070E080E090E00E94A5 -:108990009F8180E00E948B8120E030E040E251E442 -:1089A0000F943A550F94365D70937E1660937D1642 -:1089B00005E00093711612E81093741688E490E1B4 -:1089C000A0E0B0E08093751690937616A09377168A -:1089D000B09378160F94523281E00E948B8120E090 -:1089E00030E040E251E40F943A550F94365D7093B5 -:1089F0007E1660937D1600937116109374168AE4A8 -:108A000090E1A0E0B0E08093751690937616A09365 -:108A10007716B09378160F94523282E00E948B81C1 -:108A200020E030E040E251E40F943A550F94365D77 -:108A300070937E1660937D160093711610937416D2 -:108A40008CE490E1A0E0B0E08093751690937616E8 -:108A5000A0937716B09378160F94523261E070E0CD -:108A600080E090E00E949F8110926D0C8AE090E07F -:108A700090937E1680937D16009371161093741652 -:108A800080E092E1A0E0B0E00C94763B8091251666 -:108A900090912616A0912716B09128168635E0E110 -:108AA0009E07A105B10509F041C020E030E040E299 -:108AB00053E46091EC0C7091ED0C8091EE0C909170 -:108AC000EF0C0F94D45420912D1630912E1687FF61 -:108AD0000AC42530310508F006C480EA90E090937E -:108AE0007E1680937D1685E08093711612E81093B0 -:108AF000741680E290E1A0E0B0E080937516909348 -:108B00007616A0937716B09378160F94523265E0DC -:108B100070E080E090E00E949F8181E09AE5909370 -:108B20007E1680937D1682E490E0D2C38435F0E116 -:108B30009F07A105B105B9F460912D1670912E160D -:108B400080E090E00F94D95420E030E040E251E41E -:108B50000F94C45C6093BB087093BC088093BD08FD -:108B60009093BE0879C288359041A105B10509F0FE -:108B700073C260912D1670912E1680E090E00F94D4 -:108B8000D95420E030E040E251E40F94C45C60939B -:108B9000BF087093C0088093C1089093C2085CC25C -:108BA00060912D1670912E1680E796E00F94194172 -:108BB00080912D1690912E1682309105A1F038F4F7 -:108BC000009771F00197E1F48CEF94E043C2843098 -:108BD000910579F058F0059799F485E496E00BC07B -:108BE00086EE94E037C282E696E005C088E596E01E -:108BF00002C083E596E090933F0A80933E0A2CC220 -:108C000080E195E027C28FE195E00E94C8668091DF -:108C10002D1690912E168130910519F46499C3C4D4 -:108C20001BC2892B09F018C28DE295E00E94C8662C -:108C30008091B008813039F583E495E00E94C866E0 -:108C400081E09AE590937E1680937D168EE290E007 -:108C50009093801680937F1687E08093711682E848 -:108C60008093741684E890E0A0E0B0E080937516DD -:108C700090937616A0937716B09378160F9452328D -:108C800010926B0C35C0823069F487E595E00E9444 -:108C9000C86681E09AE590937E1680937D1686E300 -:108CA00090E00EC0833031F58BE695E00E94C866F7 -:108CB00081E09AE590937E1680937D1681E490E0A2 -:108CC0009093801680937F1687E08093711682E8D8 -:108CD0008093741684E890E0A0E0B0E0809375166D -:108CE00090937616A0937716B09378160F9452321D -:108CF00010920A141092B0080F944E08ADC18091E2 -:108D00002D1690912E168F3F910531F028F08FEFA0 -:108D100090E0A0E0B0E002C0A0E0B0E080930602E6 -:108D200090930702A0930802B09309028091060273 -:108D300090910702A0910802B09109020097A10545 -:108D4000B10509F510927E1610927D1605E000938C -:108D5000711612E8109374168AE890E1A0E0B0E072 -:108D60008093751690937616A0937716B093781625 -:108D70000F94523289E090E090937E1680937D1696 -:108D8000009371163DC00196A11DB11D05E0B69579 -:108D9000A795979587950A95D1F70197A109B109EC -:108DA000009731E0A307B10550F0B0937E16A09371 -:108DB0007D169093801680937F1687E005C0909370 -:108DC0007E1680937D1685E08093711612E81093CD -:108DD00074168AE890E1A0E0B0E080937516909355 -:108DE0007616A0937716B09378160F94523288E0D7 -:108DF00090E090937E1680937D1685E080937116A7 -:108E0000109374168CE890E1A0E0B0E080937516A2 -:108E100090937616A0937716B09378160F945232EB -:108E20008091060290910702A0910802B091090278 -:108E3000BA2FA92F982F88270097E1E0AE07B10538 -:108E400050F0B0937E16A0937D1690938016809379 -:108E50007F1687E005C090937E1680937D1685E08F -:108E60008093711682E88093741681EA90E0A0E006 -:108E7000B0E00C94763B8FE795E00E94C8660E94B4 -:108E800016804091251650912616609127167091F4 -:108E90002816882339F0433DF0E25F07610571052C -:108EA00009F4C7C3423D50426105710509F0D4C0C1 -:108EB00080912D1690912E16019709F012C50E94EF -:108EC0001680882309F40DC58091B01A87FDC4C0AF -:108ED000A2E18A02C00111248559934E0E941171AA -:108EE000C12C90E2D92EE12CF12C05E012E8109271 -:108EF0007E1610927D160093711610937416C09210 -:108F00007516D0927616E0927716F09278160F9436 -:108F10005232BFEFCB1ADB0AEB0AFB0AEAE0CE16AD -:108F2000E0E2DE06E104F10411F70091B01AF2E18B -:108F30000F02800111240D5F144EF80101900020F2 -:108F4000E9F7C8018E1B9F0B439697FD01967C01A4 -:108F5000F594E7941E141F040CF0BDC49E012F5F0E -:108F60003F4F690184E1D9011D928A95E9F7A70174 -:108F700060E975E0C9010F949060B801C6018E0DDB -:108F80009F1D0F947B6040E050E260E070E0C601FE -:108F90000F94013262E070E080E090E00E949F81D7 -:108FA00040E060E070E08FE793E40F94D20841E086 -:108FB00060E070E08FE793E40F94D208109205020E -:108FC0008DE090E090937E1680937D1685E08093EF -:108FD000711612E81093741684E190E1A0E0B0E0FD -:108FE0008093751690937616A0937716B0937816A3 -:108FF0000F94523262E070E080E090E00E949F8126 -:1090000081E09AE590937E1680937D1685E390E04B -:109010009093801680937F1687E08093711610934B -:10902000741684E890E0A0E0B0E080937516909309 -:109030007616A0937716B09378160F94523281E08B -:1090400080933E0280936B0C83E080936C0C04C091 -:109050008AE396E00E94C86680E5E1E2F6E1DF017E -:109060001D928A95E9F78AE58093221685EA809316 -:1090700023160C94713485E794E10E941F6FF70169 -:10908000EF53F94E80838091C1168A3581F01E140A -:109090001F0414F00C949035D601E02F1D92EA9530 -:1090A000E9F71092B9081092B8080C94903562E074 -:1090B00070E080E090E00E949F81FFEFEF1AFF0ACE -:1090C000F092B908E092B8080C94903582E897E0E5 -:1090D00002C081E797E090933F0A80933E0A55CB08 -:1090E00088E290E00F9447352DEC3CEC4CEC5DE3CE -:1090F00060918B0C70918C0C80918D0C90918E0CEA -:109100000F94CA5B6B017C0120E030E040EA51EC37 -:109110000F942A5E87FD12C020E030E040EA51E45F -:10912000C701B6010F94D454181644F0C0928B0CAA -:10913000D0928C0CE0928D0CF0928E0C20E030E0FE -:1091400048EC52E460918B0C70918C0C80918D0CEA -:1091500090918E0C0F943A550F94365D70937E1655 -:1091600060937D1685E08093711682E88093741673 -:1091700086E290E1A0E0B0E08093751690937616B9 -:10918000A0937716B09378160F94523260918B0C9F -:1091900070918C0C80918D0C90918E0C8E010B5ED9 -:1091A0001F4F23E041E00F94AC4F9F938F9383E6D2 -:1091B00097E09F938F93045111091F930F930F947E -:1091C0006C54C8010E947D828EE597E076C088EDE0 -:1091D0009FEF0F9447352DEC3CEC4CEC5DE3609138 -:1091E0008B0C70918C0C80918D0C90918E0C0F9447 -:1091F000C95B6B017C0120E030E040EA51EC0F9448 -:109200002A5E87FD12C020E030E040EA51E4C70149 -:10921000B6010F94D454181644F0C0928B0CD0921F -:109220008C0CE0928D0CF0928E0C20E030E048EC3B -:1092300052E460918B0C70918C0C80918D0C90910C -:109240008E0C0F943A550F94365D70937E16609392 -:109250007D1685E08093711682E88093741686E20D -:1092600090E1A0E0B0E08093751690937616A093FD -:109270007716B09378160F94523260918B0C7091E0 -:109280008C0C80918D0C90918E0C8E010B5E1F4F7B -:1092900023E041E00F94AC4F9F938F9380E597E0DC -:1092A0009F938F93045111091F930F930F946C5444 -:1092B000C8010E947D828BE497E090933F0A8093DF -:1092C0003E0A0F900F900F900F900F900F9080CA52 -:1092D0009093801680937F1687E080937116109389 -:1092E00074160C94723B2430310589F481E00F949C -:1092F000654E2091BF083091C0084091C10850913F -:10930000C2080F94CA5B41E00F943C4EB2C02530B6 -:10931000310508F4F4C02630310509F431C108F0F4 -:1093200023C181E08093C30840E060E070E08EE3F9 -:1093300093E40E94228020E030E048EC52E4609107 -:10934000EC0C7091ED0C8091EE0C9091EF0C0F9461 -:109350003A556B017C016091F00C7091F10C072E75 -:10936000000C880B990B0F94DB549B01AC01C701D7 -:10937000B6010F94C45C0F943D5D6436710510F026 -:1093800064E670E070937E1660937D1605E00093AE -:10939000711612E81093741684E290E1A0E0B0E038 -:1093A0008093751690937616A0937716B0937816DF -:1093B0000F9452326091EC0C7091ED0C8091EE0C98 -:1093C0009091EF0C0F94365D70937E1660937D162E -:1093D000009371161093741686E390E1A0E0B0E05C -:1093E0008093751690937616A0937716B09378169F -:1093F0000F9452328091F00C9091F10C90937E1664 -:1094000080937D16009371161093741684E390E197 -:10941000A0E0B0E08093751690937616A09377162F -:10942000B09378160F94523265E070E080E090E0DF -:109430000E949F8181E09AE590937E1680937D162D -:1094400084E490E09093801680937F1687E0809369 -:1094500071161093741684E890E0A0E0B0E0809359 -:10946000751690937616A0937716B09378160F948E -:10947000523220E030E040E251E46091BB0870914C -:10948000BC088091BD089091BE080F943A550F9486 -:10949000365D70937E1660937D1605E0009371161D -:1094A00012E81093741684E590E1A0E0B0E0809398 -:1094B000751690937616A0937716B09378160F943E -:1094C000523220E030E040E251E46091BF087091F8 -:1094D000C0088091C1089091C2080F943A550F942A -:1094E000365D70937E1660937D160093711610930F -:1094F000741688E590E1A0E0B0E00C94763B223051 -:10950000310579F480E00F94654E2091BB083091CD -:10951000BC084091BD085091BE080F94CA5B40E062 -:10952000F3CE2330310570F081E00F94654E209129 -:10953000BF083091C0084091C1085091C2080F94F3 -:10954000C95BE1CE2130310509F093CF80E00F9463 -:10955000654E2091BB083091BC084091BD085091E8 -:10956000BE080F94C95BDBCF213F310509F081CFE5 -:109570001092C30861E070E080E090E00E949F815B -:1095800081E09AE590937E1680937D1681E490E0C9 -:109590009093801680937F1687E08093711682E8FF -:1095A0008093741658CF8DED95E00E94C86681E0D7 -:1095B0000F94DF098DE090E090937E1680937D16E6 -:1095C00085E08093711612E81093741684E190E19F -:1095D000A0E0B0E08093751690937616A09377166E -:1095E000B09378160F94523283E080936C0C81E034 -:1095F0009AE590937E1680937D1685E390E0909394 -:10960000801680937F1687E08093711610937416EE -:1096100084E890E0A0E0B0E0809375169093761611 -:10962000A0937716B09378160F9452321092B00828 -:1096300013CD85EF95E00E94C8668091B11A909194 -:10964000B21A992720912D1630912E168217930762 -:1096500008F402CD88E895E00E94C86680912D1636 -:1096600081508093B01AA4ED8A2EA0E29A2EA12CEC -:10967000B12C05E012E810927E1610927D16009330 -:109680007116109374168092751690927616A092A9 -:109690007716B09278160F9452322FEF821A920AF0 -:1096A000A20AB20A3EED831630E29306A104B10489 -:1096B00011F78091B01AA2E18A02C0011124FC01C5 -:1096C000ED5FF44E7F0101900020E9F7C7018E1B8A -:1096D0009F0B439697FD01968C01159507951016E3 -:1096E0001106FCF49E012F5F3F4F690184E1D9010F -:1096F0001D928A95E9F7A80160E975E0C9010F9408 -:109700009060B701C601800F911F0F947B6044EDFC -:1097100050E260E070E0C6010F94013205E012E80B -:1097200006C044ED50E260E070E0C701F5CF109252 -:109730007E1610927D160093711610937416809207 -:10974000751690927616A0927716B09278160F94AE -:109750005232BFEF8B1A9B0AAB0ABB0AE6EE8E169B -:10976000E0E29E06A104B10411F78E010F5F1F4FC6 -:1097700084E1D8011D928A95E9F78091B21A8F93FE -:109780008091B11A8F9380912E168F9380912D1610 -:109790008F938AE995E09F938F931F930F930F9474 -:1097A000AA604EED50E260E070E0C8010F94013213 -:1097B00062E070E080E090E00E949F810FB6F89434 -:1097C000DEBF0FBECDBF31E2C32E32E1D32EE12C7E -:1097D000F12C43E1442E40E6542E612C712C882458 -:1097E0008394912CAA24AA94BA2C75E0272EE2E83F -:1097F0003E2E0AE010E08091B11A9091B21A8815BD -:10980000990594F1B0927E16A0927D162092711661 -:1098100030927416409275165092761660927716B2 -:10982000709278160F94523210937E1600937D1624 -:109830002092711630927416C0927516D0927616D8 -:10984000E0927716F09278160F945232FFEF8F1A4B -:109850009F0A20E1420E511C611C711C3FEFC31A8C -:10986000D30AE30AF30AC7CF80912D1690912E16E2 -:1098700024E0880F991F2A95E1F78D5F9F49A0E0AA -:10988000B0E020EF37E830937E1620937D1605E098 -:109890000093711612E810937416809375169093C6 -:1098A0007616A0937716B09378160F945232809163 -:1098B0002D1690912E16805E9D4EA0E0B0E026E021 -:1098C00030E030937E1620937D160093711610932E -:1098D00074160C94763B40E050E260E070E0C80102 -:1098E00057CB80912D1690912E16892B11F40C9444 -:1098F000893EB2CBE3960FB6F894DEBF0FBECDBF64 -:10990000DF91CF911F910F91FF90EF90DF90CF905B -:10991000BF90AF909F908F907F906F905F904F908F -:109920003F902F9008952F923F924F925F926F92A7 -:109930007F928F929F92AF92BF92CF92DF92EF92DF -:10994000FF920F931F93CF93DF93CDB7DEB7C15430 -:10995000D1090FB6F894DEBF0FBECDBF22968FAFF0 -:1099600022972091E4082CAF21E02093E408809115 -:1099700054148D3409F465C4843511F40C94365EA6 -:10998000873411F00C943D5E8091521490915314E1 -:109990008B31910509F41FC2B4F48430910534F47D -:1099A00082309105DCF597FF2DC047C485319105C4 -:1099B00011F40C943F5E8A31910509F408C20497B2 -:1099C00009F03BC4C5C18A32910509F48DC354F432 -:1099D0008D31910509F43CC20CF42AC24E9709F46A -:1099E0003BC22BC48B35910509F4FCC28C35910523 -:1099F00009F4FCC28A35910509F01FC41092E308EE -:109A00000C943F5E80915202882311F40C943F5EC7 -:109A10000E94CFD70E94C9C00C943F5E2091520291 -:109A2000222311F40C943F5E11E0029709F010E03C -:109A30000E94CFD719821A821B821C821D821E822D -:109A40001F82188682E50E94779E882309F438C118 -:109A50000E94F79D4B015C0120E030E0A9010F94CA -:109A6000D454882309F442C18091AD0C9091AE0C7E -:109A7000A091AF0CB091B00C8CA39DA3AEA3BFA3DB -:109A80008091B10C9091B20CA091B30CB091B40C38 -:109A900088A799A7AAA7BBA78091960C9091970C2D -:109AA000A091980CB091990C8CA79DA7AEA7BFA7C9 -:109AB00080919A0C90919B0CA0919C0CB0919D0C64 -:109AC00088AB99ABAAABBBAB2CA53DA54EA55FA5BA -:109AD0006CA17DA18EA19FA10F94D45481110DC0C2 -:109AE00028A939A94AA95BA968A579A58AA59BA532 -:109AF0000F94D454882309F4F9C020E030E0A90180 -:109B0000C501B4010F94D454881F8827881F1817E3 -:109B100029F080E090E0A0E8BFEB04C080E090E096 -:109B2000A0E8BFE388AF99AFAAAFBBAF2CA13DA11E -:109B30004EA15FA16CA57DA58EA59FA50F94C95BC5 -:109B40006CAB7DAB8EAB9FAB28A539A54AA55BA5B9 -:109B500068A979A98AA99BA90F94C95B6B017C01AB -:109B60002CA93DA94EA95FA9CA01B9010F943A5584 -:109B70002B013C01A7019601C701B6010F943A558C -:109B80009B01AC01C301B2010F94CA5B0F94C85E84 -:109B90002B013C019B01AC0160E070E080E89FE399 -:109BA0000F94C45C21966CAF7DAF8EAF9FAF2197B1 -:109BB00020E030E040E05FE3C301B2010F943A558A -:109BC0002B013C01A5019401C501B4010F943A5544 -:109BD0004B015C01A3019201C301B2010F943A55FC -:109BE0009B01AC01C501B4010F94C95B0F94C85E21 -:109BF00028AD39AD4AAD5BAD0F943A554B015C01D0 -:109C0000C701B601905821962CAD3DAD4EAD5FAD6C -:109C100021970F943A55A50194010F943A556B0181 -:109C20007C012CA53DA54EA55FA56CA17DA18EA1B3 -:109C30009FA10F94CA5B20E030E040E05FE30F9407 -:109C40003A559B01AC01C701B6010F94CA5B2CA128 -:109C50003DA14EA15FA10F94C95B69837A838B8379 -:109C60009C8328A939A94AA95BA968A579A58AA5D1 -:109C70009BA50F94CA5B20E030E040E05FE30F94C7 -:109C80003A556B017C0121962CAD3DAD4EAD5FADDB -:109C900021976CA97DA98EA99FA90F943A55A5017A -:109CA00094010F943A559B01AC01C701B6010F9482 -:109CB000CA5B28A539A54AA55BA50F94C95B12C04C -:109CC00089E40E94779E882331F00E94F79D698382 -:109CD0007A838B839C838AE40E94779E882331F069 -:109CE0000E94F79D6D837E838F83988720E030E00C -:109CF000A90169817A818B819C810F94D45481114F -:109D00000BC020E030E0A9016D817E818F819885B4 -:109D10000F94D4548823A1F0412FBE016F5F7F4F71 -:109D200086E99CE00F94B7200F94783E60936B1403 -:109D300070936C1480936D1490936E140C943F5E2A -:109D40000F94564182E498E00F94DA400C943F5E01 -:109D500080E50E94779E882329F00F949B3A6B013F -:109D60007C0103C0C12CD12C760183E50E94779E33 -:109D7000882361F00E94F79D20E030E04AE754E438 -:109D80000F943A550F943D5D6B017C010E94BA918E -:109D90008091C913811105C060E088E598E00F94B7 -:109DA0000F080F94783EC60ED71EE81EF91E0F94BA -:109DB000783EDC01CB018C199D09AE09BF09B7FDC6 -:109DC00002C00C943F5E80E00E94EE66F0CF0E94DD -:109DD00060ED0C943F5E41E061E081E00E9459C07B -:109DE00081110C943F5E80E090E0A8E4B2E48983A6 -:109DF0009A83AB83BC8380E090E0A0E2B1E48D83E2 -:109E00009E83AF83B88789879A87AB87BC8780E5B5 -:109E10000E94779E882321F00E94E39D862F01C037 -:109E200080E0BE016F5F7F4F0F943C050C943F5E56 -:109E300080917C128770873011F00C94635E60E033 -:109E40008FE40E944BED81110C943F5E0C94635E95 -:109E50000E94EFA30C943F5E2091830C3091840C00 -:109E60004091850C5091860C6091AD0C7091AE0CB8 -:109E70008091AF0C9091B00C0F94CA5BAB01BC0108 -:109E800088E50E94EC826C8F7D8F8E8F9F8F209152 -:109E9000870C3091880C4091890C50918A0C60910C -:109EA000B10C7091B20C8091B30C9091B40C0F94E2 -:109EB000CA5BAB01BC0189E50E94EC8269837A83AD -:109EC0008B839C83BE016F5F7F4FCE014C960E94B7 -:109ED000B5A0882311F40C943F5E80E00F94033FFB -:109EE0000E94427861E085E40E944BED182F01E06A -:109EF00021E0482FBE016F5F7F4FCE014C960E943C -:109F0000BD8D6B017C019B01AC010F94175F81112A -:109F10005FC08C8C9D8CAE8CBF8C20E030E0A901A2 -:109F2000C501B4010F94D45487FF05C027E137EB76 -:109F300041E558EB04C027E137EB41E558E3C501A3 -:109F4000B4010F94CA5BAB01BC018BEA98E00F949B -:109F5000264189809A80AB80BC8020E030E0A90156 -:109F6000C501B4010F94D45487FF05C027E137EB36 -:109F700041E558EB04C027E137EB41E558E3C50163 -:109F8000B4010F94CA5BAB01BC0186EA98E00F9460 -:109F9000264120E030E0A901C701B6010F94D45456 -:109FA00087FF05C027E137EB41E558EB04C027E107 -:109FB00037EB41E558E3C701B6010F94CA5BAB012B -:109FC000BC0181EA98E00F9426418AE00E94AA65CC -:109FD0000E942978113011F40E94D48C0E949A7C3E -:109FE0000C943F5E2093E3080C943F5EB3EE2B2E5F -:109FF000B2E03B2E10E7E12E12E1F12E2DEA3CE01B -:10A000003DA32CA307E7C02E0CE0D02E00E010E00B -:10A01000D1018D911D010E94779E882309F44BC0C8 -:10A020000E94F79D2B013C01133049F0F60120817D -:10A030003181428153810F94C95B2B013C01ACA15A -:10A04000BDA12D913D914D915C91C301B2010F9441 -:10A05000C95B4B015C012DEB37E346E855EB0F94F0 -:10A060002A5E87FD0AC02DEB37E346E855E3C501BC -:10A07000B4010F94D4541816F4F4133051F44092F0 -:10A08000B90C5092BA0C6092BB0C7092BC0C01E0FF -:10A0900012C0A5019401F7016081718182819381D1 -:10A0A0000F94CA5BD7016D937D938D939C93139707 -:10A0B000812F0E9439C01F5FB4E0EB0EF11CECA1B0 -:10A0C000FDA13496FDA3ECA3F4E0CF0ED11C143017 -:10A0D00009F09ECF002321F089EB9CE00E94CB91F8 -:10A0E0000E949A7C0C943F5E80915202882311F466 -:10A0F0000C943F5E89E40E94779E082F882321F00C -:10A100000E94F39DE82E01C0E12C8AE40E94779E14 -:10A11000182F882321F00E94F39DF82E01C0F12C06 -:10A12000002319F025E02E1528F0112349F035E021 -:10A130003F1530F483EB98E00F94DA400C943F5EC7 -:10A140000E9409EC002359F08E2D0E94C19E60935D -:10A15000960C7093970C8093980C9093990C112304 -:10A1600059F08F2D0E94939E60939A0C70939B0CD4 -:10A1700080939C0C90939D0C60E080E50E944BEDD9 -:10A180008823C1F10023D1F02091830C3091840CFD -:10A190004091850C5091860C6091960C7091970CB3 -:10A1A0008091980C9091990C0F94C95B6093960CD8 -:10A1B0007093970C8093980C9093990C1123D1F085 -:10A1C0002091870C3091880C4091890C50918A0C19 -:10A1D00060919A0C70919B0C80919C0C90919D0CBD -:10A1E0000F94C95B60939A0C70939B0C80939C0CAA -:10A1F00090939D0C40E050E0BA0186E40E94EC820E -:10A200006B017C0120E030E0A9010F942A5E181652 -:10A2100084F420E030E040E752E4C701B6010F9437 -:10A22000C45C60933F02709340028093410290931C -:10A2300042020E94C9C00C943F5E0E943EBB0C9437 -:10A240003F5E80915214909153148537910511F41B -:10A250000C942F590CF050C18934910509F4EDC4C8 -:10A260000CF069C08A31910509F472C39CF5843100 -:10A27000910509F4E7C27CF48131910509F4CEC25D -:10A280002CF4029708F447C20C94335E429709F409 -:10A2900014C70C94335E8731910509F4FDC28CF428 -:10A2A0008531910509F4F4C2469711F00C94335EA0 -:10A2B0000E94F8708091F917877F8093F9170C94AA -:10A2C0003F5E8831910509F4FFC2499709F435C30F -:10A2D0000C94335E8F31910509F468C47CF48C31A1 -:10A2E000910509F4ADC30CF441C38D31910509F416 -:10A2F000B1C34E9709F4B5C30C94335E8A3291050D -:10A3000009F474C464F48032910509F409C4819796 -:10A3100011F00C94335E0E945B890C943F5E8B328B -:10A32000910509F486C4C09711F00C94335E0F9424 -:10A3300075100C943F5E8836910509F426C5D4F556 -:10A340008135910509F4A1C6C4F48C34910509F452 -:10A3500083C44CF48B34910511F00C94335E0E944D -:10A36000B58F0C943F5E8D34910509F479C48E3419 -:10A37000910509F479C40C94335E8435910509F490 -:10A380009CC674F48235910509F494C68335910511 -:10A3900011F00C94335E81E08093DD080C943F5EF5 -:10A3A0008535910509F4B5C68C35910509F4CAC601 -:10A3B0000C94335E8E36910509F45DC5D4F48B366A -:10A3C000910509F452C654F48936910509F4EFC594 -:10A3D0008A36910509F421C60C94335E8C369105BA -:10A3E00011F40C943F5E8D36910509F4EDC40C9484 -:10A3F000335E8137910509F494C55CF48F3691057D -:10A4000009F44AC58037910511F40C943F5E0C9411 -:10A41000335E8237910509F41FC78337910511F028 -:10A420000C94335E82E69BE00F94DA4060E082E5B4 -:10A430009BE00F94942460E08DE39BE00F949424C0 -:10A4400061E086E39BE00F94942461E08BE29BE063 -:10A450000F94942461E08BE19BE00F94942460E0DE -:10A4600082E19BE00F94942461E088E09BE00F94EC -:10A47000942461E08EEF9AE00F94942461E086EFDB -:10A480009AE00F94942461E088EE9AE00F9494246B -:10A4900061E08AED9AE00F94942460E08BEC9AE0FE -:10A4A0000F94942460E08DEB9AE00F94942460E084 -:10A4B00087EA9AE00F94942461E086E99AE00F9489 -:10A4C000942461E087E89AE00F94942461E082E7A5 -:10A4D0009AE00F94942461E08FE59AE00F9494241D -:10A4E00060E082E59AE00F94942460E08EE39AE0C5 -:10A4F0000F9494240C943F5E8E32A1E09A0711F4DD -:10A500000C948B5C0CF070C08B3C910509F46DC70A -:10A51000ACF58D37910509F4B5C5BCF487379105C5 -:10A5200009F4E8C60CF4ACC68837910509F4E5C611 -:10A530008937910511F00C94335E10922E0A109217 -:10A540002D0A0E94AF7A0C943F5E8E3B910509F470 -:10A550001CC554F48C38910509F405C58B39910557 -:10A5600009F435C50C94335E883C910509F4CDC6D9 -:10A57000893C910509F416C70C94335E8C3D910516 -:10A5800009F485C79CF48D3C910509F450C70CF47F -:10A590004BC78E3C910509F458C7833D910511F0D6 -:10A5A0000C94335E0E947ADA0C943F5E8831E1E0CD -:10A5B0009E0711F40C94F65A54F48D3D910509F45C -:10A5C00073C7823E910509F4C5C70C94335E82328D -:10A5D00021E0920711F40C948D5B8D32914011F4BF -:10A5E0000C94985B0C94335E843FA1E09A0711F4BD -:10A5F0000C94815D0CF043C08239E1E09E0711F4B8 -:10A600000C94D55CDCF4803321E0920711F40C94B7 -:10A61000185C14F40C94CF5C8039A1E09A0711F413 -:10A620000C94D25C8139914011F00C94335E81E03E -:10A630000E941C8D0E949A7C0C943F5E843AE1E05B -:10A640009E0711F40C94E85C6CF48A3921E09207BF -:10A6500011F40C943F5E8C39914011F40C94DD5C44 -:10A660000C94335E853AA1E09A0711F40C94EB5CEC -:10A670008C3A914011F40C94EE5C0C94335E883566 -:10A68000E2E09E0711F40C94A95D1CF5873F21E0E0 -:10A69000920711F40C94875D7CF4853FA1E09A0742 -:10A6A00011F40C94845D863F914011F00C94335E5C -:10A6B0000E94C97A0C943F5E883FE1E09E0711F446 -:10A6C0000C94905D8C30924011F40C94A15D0C942C -:10A6D000335E8C3623E0920711F40C943F5E7CF4D9 -:10A6E0008B35A2E09A0711F40C94AC5D833593404E -:10A6F00011F00C94335E0F94931E0C943F5E803ADD -:10A70000E3E09E0709F442C2873E934011F40C94A3 -:10A71000255E0C94335E00915D0C10915E0C80E51B -:10A720000E94779E882361F00F949B3A6B017C0115 -:10A73000BB24B394672B682B692B31F4B12C04C074 -:10A74000B12CC12CD12C760183E50E94779E882301 -:10A7500011F40C944D600E94F79D20E030E04AE730 -:10A7600054E40F943A550F943D5D6B017C01B11098 -:10A770000BC0672B682B692B39F40115110521F0EB -:10A78000D8018C91811102C0B12C02C0BB24B394BA -:10A790000E94BA91B11003C084E096E001C0C801E4 -:10A7A0000E94C2821091E40883E08093E40881E073 -:10A7B00080930A1444EE58E06DEE78E082E00F9446 -:10A7C0003D0A82ED98E00E94C282C114D104E104E6 -:10A7D000F104B1F00F94783EC60ED71EE81EF91EA4 -:10A7E0000F94783EDC01CB018C199D09AE09BF099D -:10A7F000B7FF0EC080910A1481110C94526008C0FA -:10A8000080910A14882321F080E00E94EE66F8CF40 -:10A8100010920A141093E4080C943F5E80914E1439 -:10A8200084FF02C00C9457608091501487FF02C0CF -:10A830000C94576080915114837011F00C94576000 -:10A840000C94736087E199E00F94DA401092320C17 -:10A850008BE695E10E9433968BE1EBE6F5E1DE01B4 -:10A86000119601900D928A95E1F740E050E0BE010B -:10A870006F5F7F4F80E090E00E947E72CE01019674 -:10A880000E94699788E099E00F94DA400C943F5E4B -:10A890000E9469710C943F5EE0915D0CF0915E0C3A -:10A8A0008081882329F0803209F410823196F8CF14 -:10A8B00040E061E080915D0C90915E0C0E945474C8 -:10A8C00010920B140C943F5E8091C40B8823E9F026 -:10A8D00080E090E0A0EAB1E488A399A3AAA3BBA377 -:10A8E0001C8E1D8E1E8E1F8E19821A821B821C8248 -:10A8F00020E0AE01405E5F4FBE01645E7F4FCE013F -:10A9000001960F94FD0A0C943F5E0E94388A8823BA -:10A9100021F00E9409710E94B58F40E050E068E28A -:10A9200079E085E00F94F60A61E081EE94E50F94FA -:10A9300083090F94B0080C943F5E8091F91782FF51 -:10A9400003C08B7F8093F9170E94ACD90C943F5EB3 -:10A950008091F91783FD02C00C943F5E83E50E944D -:10A96000779E81110C9481600C943F5E83E40E9479 -:10A970002E9E8823D9F18CE399E00F94DA408091E0 -:10A980001515882351F1BE016F5F7F4F82E195E17C -:10A990000E94FA948E010F5F1F4FF80181918F0181 -:10A9A000882319F00E94AA65F8CFBE016F5F7F4F20 -:10A9B00080E090E00E941C748091611A882389F0E5 -:10A9C00080E20E94AA6501E61AE1D8018D918D010D -:10A9D000882339F00E94AA65F8CF82E399E00F94AA -:10A9E000DA408AE00E94AA650C943F5E83E50E94EB -:10A9F000779E882309F10E9427ED182F90E0CD97CC -:10AA00000CF01CE31093D4080F94783E6B017C018A -:10AA1000212F30E0A8EEB3E00F947E5BC60ED71E68 -:10AA2000E81EF91EC092D008D092D108E092D20858 -:10AA3000F092D3080C943F5E0E94D1700C943F5E5C -:10AA400040E060E080915D0C90915E0C0E94547437 -:10AA50000C943F5E8091F9178E7F8093F9170C94C8 -:10AA60003F5E8091F91783FD02C00C943F5E0E9407 -:10AA700024BB8091F91783FD02C00C943F5E609166 -:10AA80005D0C70915E0CCE014C960F945F348C017E -:10AA9000009711F40C943F5E6C8D7D8D19821C82A1 -:10AAA00022E0AC01CE0101960E944C9B811102C0B4 -:10AAB000F12C14C0CE0101960F94CD338823C1F33D -:10AAC00061E0CE0101960E94DE94009789F325EEA5 -:10AAD000FC0120831C820E94ED96F82ECE01019687 -:10AAE0000E946997B801FF2089F086E699E00F94EB -:10AAF00043418AE00E94AA651092F5171092F6175A -:10AB00001092F7171092F8170C943F5E8EE499E0BC -:10AB10000F9443418BE499E00F94DA400C943F5E2C -:10AB20008091F91782FD0E94BA918091F91783FDF7 -:10AB300002C00C943F5E60E080E50E944BED182F50 -:10AB4000482F61E080915D0C90915E0C0E945474DE -:10AB500083E50E94779E882381F00E94E39DAB01EC -:10AB6000BC014093F5175093F6176093F717709355 -:10AB7000F81782E195E10E94F4930E940971111186 -:10AB80000C943F5E0E94B58F0C943F5E20915D0C4B -:10AB900030915E0C9091F91792609093F91740E014 -:10ABA00060E0C9010E9454740C943F5E0F94B40499 -:10ABB0006C8F7D8F8E8F9F8FBE016F5F7F4FCE0119 -:10ABC0004C960E947F8860E0CE0101960F94870822 -:10ABD0000F945A41BE016F5F7F4F84E799E00F9455 -:10ABE00043418AE00E94AA650C943F5E83E50E947F -:10ABF000779E882311F40C943F5E0E9427EDF82E77 -:10AC00006DE070E080E50E94849E8C0197FF02C099 -:10AC10000C943F5EE82E60E089E40E944BED8111C8 -:10AC20000C949260802F0E941B638111B0C40C941D -:10AC300092600E946ADB0C943F5E80E50E942E9E2B -:10AC4000882311F40C943F5E8091F91782FF02C0B3 -:10AC50000C943F5E0C94AB600F9403050C943F5E24 -:10AC60000E9465900C943F5E60E070E083E50E9476 -:10AC7000849E8E34910531F40E9420910F94B00887 -:10AC80000C943F5E8FED99E00F94DA4060911D0ABD -:10AC900070911E0A86ED99E00F94194160911F0A88 -:10ACA0007091200A89EC99E00F94194160911D0A76 -:10ACB00070911E0A80911F0A9091200A681B790BDF -:10ACC0008091720C815021E030E0823010F020E061 -:10ACD00030E0621B730B8EEB99E00F9419418AE010 -:10ACE0000E94AA6586EB99E00F94DA408091210AD0 -:10ACF0009091220AA091230AB091240A8C8F9D8FF3 -:10AD0000AE8FBF8FBE016F5F7F4FCE014C960E940A -:10AD10007F88BE016F5F7F4F89EA99E00F944341BE -:10AD20008091250A9091260AA091270AB091280ABD -:10AD30008C8F9D8FAE8FBF8FBE016F5F7F4FCE0117 -:10AD40004C960E947F88BE016F5F7F4F89E999E032 -:10AD50000F94434120E030E04AE754E46091290A2F -:10AD600070912A0A80912B0A90912C0A0F94C45C4E -:10AD7000AB01BC0181E899E00F9426418DE60E9469 -:10AD8000AA658AE00E94AA657AC780917F1183FD37 -:10AD900076C70E947ED887FD72C783E50E94779EA2 -:10ADA000882379F00E94F79D0F94365D8B01CB01CB -:10ADB0000E94529C0135110524F40E9465900F9465 -:10ADC000B0080F947B4E5BC780917F1183FD57C7FE -:10ADD0000E947ED8F82E87FD52C783E50E94779E99 -:10ADE000082F811106C082E50E94779E182F8823C4 -:10ADF000C1F10E94F79D0F94365DCB010E94529CD9 -:10AE00000E94F79D20E030E040EA52E40F94D454D1 -:10AE1000181614F40C94B6600E9465900F94B00854 -:10AE20006091F00C7091F10C072E000C880B990BBF -:10AE30000F94DB544B015C014090EC0C5090ED0CF6 -:10AE40006090EE0C7090EF0CA30192010F942A5EBB -:10AE5000181614F40C94C960002311F40C94BA6011 -:10AE600011E00F947B4E112309F409C7602F8F2D39 -:10AE70000E94CCF704C78EE40E94779E882309F4D1 -:10AE8000FEC60E94E39D6093590C70935A0C809308 -:10AE90005B0C90935C0CF3C683E50E942E9E882386 -:10AEA00031F060E083E50F94691080937F110F9477 -:10AEB0005A418FE09AE00F94DA4080917F11882305 -:10AEC00069F1A5E0EA2EAAE0FA2E00E010E020E009 -:10AED00080917F1190E0A0E0B0E0002E04C0B69514 -:10AEE000A795979587950A94D2F780FF0EC0DD2429 -:10AEF000D394D20E222319F08CE20E94AA65F701A6 -:10AF0000859194910F94DA402D2D0F5F1F4FF2E041 -:10AF1000EF0EF11C05301105D9F663CD81E09AE002 -:10AF20005ECD83E50E94779E882371F00E9427ED15 -:10AF3000282F30E02D3331051CF4809300029FC68A -:10AF40008CE3809300029BC60F945A41409100020B -:10AF500050E060E070E086E19AE00F9408418AE0FA -:10AF60000E94AA658CC680917F1183FD88C683E507 -:10AF70000E94779E882309F482C60E94F79D0F9451 -:10AF8000365DCB010E94FBEB7AC680917F1183FD79 -:10AF900076C683E50E94779E182F81110C94CC60B1 -:10AFA00082E50E94779E81110C94CC6068C60E9455 -:10AFB0007ED8182F87FD6AC68BE39AE00F94DA409B -:10AFC000812F0E94DCF58AE00E94AA655FC683E5B6 -:10AFD0000E94779E882309F452C60E9427ED182FFD -:10AFE00090E0CD970CF01CE31093D9080F94783EB5 -:10AFF0006B017C01212F30E0A8EEB3E00F947E5B63 -:10B00000C60ED71EE81EF91EC092D508D092D608EB -:10B01000E092D708F092D80832C660E080E50F943D -:10B020006910F82E31E0381708F429C681E40E942F -:10B030002E9E882321F06091D50C062F02C00FEFC1 -:10B0400010E083E50E94779E882349F00E94E39DEB -:10B050008B016F3F710519F010F00FEF10E0EF2D2D -:10B06000F0E0EB52F34F00830AC660E080E50F94F6 -:10B070006910823008F003C6E82FF0E0EB52F34F7E -:10B080001082FDC50E94ACD9FAC50E9471FD0E94D4 -:10B0900065900E94FB920E945D631092AC0C10922E -:10B0A000AB0C1092AA0C68EE73E080E090E00F9475 -:10B0B0006E40E5C51092DD08E2C583E50E94779EEB -:10B0C000882399F00E94F79D20E030E04AE754E49D -:10B0D0000F943A550F943D5D609301027093020204 -:10B0E0008093030290930402CAC580914E1484FF9A -:10B0F00002C00C9401618091501487FF02C00C942F -:10B10000016180915114837011F00C9401610C94D1 -:10B11000326183E50E942E9E882309F4B0C50E9407 -:10B12000F79D20E030E04AE754E40F943A550F943D -:10B130003D5D6093DE087093DF088093E008909394 -:10B14000E1089DC50E947ED887FD99C590914E1457 -:10B1500094FD04C09091501497FF0AC0E3EECE2EE8 -:10B16000E2E0DE2EF0E8EF2EF1E1FF2E10E009C064 -:10B1700090915114937091F7682F81E00E942FDB1A -:10B180007EC5D6018D916D010E94779E882309F4BA -:10B1900059C0133009F04FC00E94F79D4B015C016C -:10B1A00020E030E040EA51E40F94D45487FF3AC0E5 -:10B1B000A50194016091A0117091A1118091A2113B -:10B1C0009091A3110F94C45C2B013C019B01AC0135 -:10B1D0006091B0117091B1118091B2119091B31141 -:10B1E0000F943A556093B0117093B1118093B211DE -:10B1F0009093B3116091CD0C7091CE0C8091CF0CD7 -:10B200009091D00C0F94D954A30192010F943A5508 -:10B210000F943D5D6093CD0C7093CE0C8093CF0C5A -:10B220009093D00C8092A0119092A111A092A211A3 -:10B23000B092A31107C00E94F79DF701648B758B34 -:10B24000868B978B1F5FF4E0EF0EF11C143009F032 -:10B2500098CF0E94969113C50F94AE2410C580918B -:10B260005D0C90915E0C009741F0DC012C91222343 -:10B2700021F060E00F94870802C50F94B008FFC466 -:10B2800000915D0C10915E0C94E0F12C40E0915027 -:10B2900021F1F8018081282F2B7F213421F4218195 -:10B2A0002133D9F407C08035C1F4818180538A30BD -:10B2B00048F013C0813421F0853421F441E002C00C -:10B2C000FF24F39498012E5F3F4F89012F5F3F4F7A -:10B2D000F80180818032C9F3DACF41110F945A41CD -:10B2E000FF2021F08DE49CE00F94DA40C8010E9419 -:10B2F000C866C5C40E94587AC2C481E080932E0AF1 -:10B3000080932D0A0E94AF7ABAC40E947ED8182F6B -:10B3100087FDB5C484E40E942E9E882309F43FC0B3 -:10B320000E94F79D6B017C0101E020E030E0A90163 -:10B330000F94D454811101C000E000937D1220E0ED -:10B3400030E0A901C701B6010F94D454882339F124 -:10B350000E94F79D24E01202F0011124EE57FD4EE9 -:10B36000608371838283938320E030E0A901609140 -:10B3700082127091831280918412909185120F94A1 -:10B38000D45481110CC080E090E0A0EEBFE3809324 -:10B39000821290938312A0938412B09385120E941C -:10B3A000CCBC6DC40E947ED887FD69C473EEE72EC5 -:10B3B00072E0F72E00E811E1D7018D917D010E9426 -:10B3C0002E9E882349F00E94F79D0F943D5DF80161 -:10B3D00060837183828393830C5F1F4FF1E1003997 -:10B3E0001F0751F70E944F914AC40E947ED887FDE3 -:10B3F00046C463EEE62E62E0F62E00E811E1D701C6 -:10B400008D917D010E942E9E882339F00E94F79D28 -:10B41000F80164A375A386A397A30C5F1F4FF1E106 -:10B4200000391F0761F72BC40F94253A28C4809177 -:10B430004E1481FD1AC780914F1481FD16C780916B -:10B4400050148C7009F011C71AC443EEC42E42E0A8 -:10B45000D42E51E3E52E5AE0F52E10E0D6018D9161 -:10B460006D010E942E9E882351F00E94F79DF701E6 -:10B470006083718382839383812F0E9439C01F5F11 -:10B48000F4E0EF0EF11C133049F70C94705083E593 -:10B490000E94779E882309F4F2C30E94F39D909343 -:10B4A0004A0280934902EBC30E947ED8F82E87FDA2 -:10B4B000E6C383E50E94779E0F2D0F2C000C110B25 -:10B4C000882369F10E94F39DF801EE0FFF1FE55BF1 -:10B4D000FD4F91838083000F111F000F111F9801F2 -:10B4E0002D5B3D4F7901BC01990F880B990B0F948F -:10B4F000DB542AE037ED43E25CE30F943A55F80160 -:10B50000E258FD4E20813181428153810F943A559A -:10B51000D7016D937D938D939C931397B0C30F9434 -:10B520005A4185E40E94AA6580E38F0D0E94AA65B6 -:10B53000F801EE0FFF1FE55BFD4F6081718180E731 -:10B540009CE00F94374185E20E94AA658AE00E9440 -:10B55000AA6595C380E50E942E9E882309F48FC3B7 -:10B5600060E070E080E50E94849EF82E6FEF7FEF30 -:10B5700083E50E94849E8C010196039708F07FC3A7 -:10B58000F7FC7DC38F2D0E941B63882339F00F9435 -:10B59000564188E79CE00F94DA4071C30E94BA914B -:10B5A00060E08F2D0F941A3D0F3FBFEF1B0731F066 -:10B5B0000130110571F000E010E00DC08F2D0F94E7 -:10B5C000C23C31E020E0892B09F030E0032F122F3C -:10B5D00002C001E010E08F2D0F94C23C801791074C -:10B5E00009F44DC380E00E94EE66F5CF80E50E942D -:10B5F0002E9E882309F443C30E94F39D8C01892B5E -:10B6000009F07FC083E50E942E9E882389F00E9466 -:10B61000F39D8F3FEFEF9E0729F483EF95E10E94A2 -:10B6200062632DC3BC0183EF95E10E94326427C39E -:10B630000F945A4160E070E080EA9CE00F9437413B -:10B640008091F51528E532E06901C81AD10887FD17 -:10B65000D394CC0CDD1CCC0CDD1C0D2C000CEE08A6 -:10B66000FF088091F41528E830E04901881A910814 -:10B6700087FD9394880C991C880C991C092C000C4C -:10B68000AA08BB088091F3158F3FC1F090E0FC0140 -:10B69000EE0FFF1F8E0F9F1FFC01EA57FA4E21810C -:10B6A0003281E3E0220F331FEA95E1F7F4E03695AB -:10B6B0002795FA95E1F72E5F3F4F02C020E030E07A -:10B6C0002F5F3F4FC901330FAA0BBB0B9C01AD018C -:10B6D000281939094A095B09A4EBB0E00F946B5BA8 -:10B6E000A7019601281939094A095B090F944C5B97 -:10B6F000B9018DE99CE00F9437418AE00E94AA6568 -:10B70000BEC20F945641B80186E99CE00F943741C0 -:10B7100087E89CE00F94DA40B2C28AE50E94779EE7 -:10B720008111FCC583E50E94779E8111F7C5A7C2F0 -:10B7300060E085E40F946910811173C080E50E9478 -:10B740002E9E882351F00E94F79D6093F30C709316 -:10B75000F40C8093F50C9093F60C89E40E942E9ED5 -:10B76000882381F00E94F79D2CEA35EC47E25EE3E6 -:10B770000F943A556093F70C7093F80C8093F90C82 -:10B780009093FA0C84E40E942E9E882381F00E94FC -:10B79000F79D2CEA35EC47E25EE30F94C45C6093BE -:10B7A000FB0C7093FC0C8093FD0C9093FE0C0F949B -:10B7B0005A414091F30C5091F40C6091F50C70914A -:10B7C000F60C83ED9CE00F9426412CEA35EC47E221 -:10B7D0005EE36091F70C7091F80C8091F90C9091F8 -:10B7E000FA0C0F94C45CAB01BC018FEC9CE00F948D -:10B7F00026412CEA35EC47E25EE36091FB0C709148 -:10B80000FC0C8091FD0C9091FE0C0F943A55AB010D -:10B81000BC018BEC9CE00F9426418AE00E94AA6553 -:10B820002EC20F94564189EB9CE00F94DA4027C258 -:10B8300080E50E942E9E882351F00E94F79D609320 -:10B840000D0A70930E0A80930F0A9093100A89E4F0 -:10B850000E942E9E882381F00E94F79D2CEA35ECF1 -:10B8600047E25EE30F943A556093110A7093120A0F -:10B870008093130A9093140A84E40E942E9E8823D6 -:10B8800081F00E94F79D2CEA35EC47E25EE30F94CD -:10B89000C45C6093150A7093160A8093170A9093FC -:10B8A000180A0F945A4140910D0A50910E0A609166 -:10B8B0000F0A7091100A8FED9CE00F9426412CEA3C -:10B8C00035EC47E25EE36091110A7091120A8091B3 -:10B8D000130A9091140A0F94C45CAB01BC018BED68 -:10B8E0009CE00F9426412CEA35EC47E25EE3609140 -:10B8F000150A7091160A8091170A9091180A0F94F0 -:10B900003A55AB01BC0187ED9CE00F9426418AE0DB -:10B910000E94AA65B4C183E50E942E9E182F882339 -:10B9200071F00E94F79D0F94365D7093480260930A -:10B93000470221E0672B09F020E02093E70C80E527 -:10B940000E942E9E882359F0209147023091480290 -:10B95000232B11F00E943BED8093E70C90C1111155 -:10B960008EC10F945A418FEF9CE00F94DA40809182 -:10B97000E70C882319F087EE9CE002C083EE9CE080 -:10B980000F94DA4060914702709148028EEE9CE07D -:10B990000F9437418AEE9CE00F94DA4070C10E9408 -:10B9A00003836DC10E94BA916AC180E00E941C8D20 -:10B9B0000E94D48C0E949A7C62C180914E14887837 -:10B9C00009F011C580915014867009F00CC53BC573 -:10B9D0000F94C41554C10F94F61451C141E061E0B5 -:10B9E00081E00E9459C081114AC104E41DE32DEA9F -:10B9F0003CE03DA32CA3CE0101965C0149E9842ED5 -:10BA00004DE3942E1C01F8016591759185919491F7 -:10BA1000ACA1BDA1CD90DD90ED90FD90BDA3ACA3F8 -:10BA2000A70196010F94C95B2B013C01F1016083D2 -:10BA300071838283938320E030E040EA51EC0F94DD -:10BA40002A5E87FD0AC020E030E040EA51E4C301ED -:10BA5000B2010F94D45418162CF4F40184911816E2 -:10BA60000CF415C5D101CD90DD90ED90FD901D0138 -:10BA700020E030E040EA51ECC701B6010F942A5EA5 -:10BA800087FD0AC020E030E040EA51E4C701B6017A -:10BA90000F94D454181664F40F94564188E69DE030 -:10BAA0000F94DA4061E08AE59DE00F940F08E7C04B -:10BAB0000C5F1F4FBFEF8B1A9B0AEDE300351E078B -:10BAC00009F0A1CF31E3E32E3AE0F32E10E0F501C7 -:10BAD00081919191A191B1915F01F701819391932E -:10BAE000A193B1937F01812F0E9439C01F5F133052 -:10BAF00071F70E949A7C60E08AE49DE00F940F0841 -:10BB0000BEC00E9442FFBBC00F943A1DB8C061E0A6 -:10BB100083E50E944BED91E089270E944B7DAFC0E9 -:10BB200081E0809333140F942717109233148823E5 -:10BB300009F4A5C00F945A4186E89DE00F94DA40BD -:10BB40009EC08091F91782FF9AC080628093F91796 -:10BB500096C00E94A5D893C00E947ED8082F87FD6A -:10BB60008EC085E50E942E9E8823B1F1E02E002E26 -:10BB7000000CFF080E94F79D4B015C0120E030E0C3 -:10BB8000A9010F942A5E87FF04C0B7FAB094B7F8F2 -:10BB9000B094C70123E0880F991F2A95E1F79C0113 -:10BBA000255C334F7901D9018D929D92AD92BC9263 -:10BBB000139720E030E04AEF53E4C501B4010F943D -:10BBC0002A5E18164CF480E090E0AAEFB3E4F70187 -:10BBD00080839183A283B3838CE40E942E9E88236A -:10BBE00009F44DC0002E000C110B0E94F79D6B0153 -:10BBF0007C0120E030E0A9010F942A5E87FF04C099 -:10BC0000F7FAF094F7F8F09420E030E04AEF53E4CC -:10BC1000C701B6010F942A5E980193E0220F331FEB -:10BC20009A95E1F7F901E55CF34F18162CF0C48200 -:10BC3000D582E682F78223C080E090E0AAEFB3E4E9 -:10BC400084839583A683B7831AC081E080935202D0 -:10BC50001092091460E083E50E944BED81110FC042 -:10BC60000E949B8A0CC00E943EBB09C08091521466 -:10BC7000882329F00E943D9C02C00E943EBB229670 -:10BC8000FFAD2297F11102C00E94468A2CAD20938D -:10BC9000E408CF5BDF4F0FB6F894DEBF0FBECDBF19 -:10BCA000DF91CF911F910F91FF90EF90DF90CF9098 -:10BCB000BF90AF909F908F907F906F905F904F90CC -:10BCC0003F902F9008950E94BA9130915F0C3CAB49 -:10BCD00080E00F94033F0E94427881E080932E0A17 -:10BCE0000E94AF7A88E50E942E9E182F89E50E9457 -:10BCF0002E9E082F8AE50E942E9E1013BBC1181796 -:10BD000011F0012FB7C101E011E091E09CA70E9462 -:10BD100009EC82E50E94779E882361F00E94F79DDE -:10BD20006B017C0120E030E0A9010F94D4548823FA -:10BD300069F106C0C12CD12C80E8E82E80E4F82EF1 -:10BD4000111103C0002309F4FCC0C0929E0CD092D4 -:10BD50009F0CE092A00CF092A10CA70196016091BB -:10BD6000B50C7091B60C8091B70C9091B80C0F94F3 -:10BD7000D45487FF0BC019821A821B821C82BE0119 -:10BD80006F5F7F4F8EE99CE00E944079112309F498 -:10BD9000D3C0002309F4CDC01092B10C1092B20CA4 -:10BDA0001092B30C1092B40C1092AD0C1092AE0C19 -:10BDB0001092AF0C1092B00C0E94E979E9E9FDE312 -:10BDC000A491A8AFEDE8FDE3C590D590E590F4907F -:10BDD000E1E9FDE385909590A590B490A5019401CB -:10BDE000C701B6010F942A5E18162CF4A70196011C -:10BDF000C501B40104C0A5019401C701B6010F94A7 -:10BE0000C45C2B013C01E4E5FDE385919591A5918E -:10BE1000B4918CA39DA3AEA3BFA3E0E5FDE3859100 -:10BE20009591A591B49188A799A7AAA7BBA79C01B2 -:10BE3000AD016CA17DA18EA19FA10F942A5E181661 -:10BE400034F428A439A49AA598AB1BA505C02CA04E -:10BE50003DA0AEA1A8AB1FA1A3019201C301B201F5 -:10BE60000F943A5520E030E040E85FE30F94CA5B5E -:10BE70000F94C85E910148A9512F0F943A5568A3B9 -:10BE800079A38AA39BA3EAE9FDE3149120E030E0C3 -:10BE900040EC5FE3C501B4010F943A554B015C01DE -:10BEA000612F110F770B880B990B0F94DB549B01BB -:10BEB000AC01C501B4010F943A5569837A838B8331 -:10BEC0009C8320E030E040EC5FE3C701B6010F94B3 -:10BED0003A556B017C01B8AD6B2FBB0F770B880B0C -:10BEE000990B0F94DB549B01AC01C701B6010F9471 -:10BEF0003A556C8F7D8F8E8F9F8FAE01405E5F4F66 -:10BF0000BE016F5F7F4FCE014C960E941E790E944A -:10BF1000BE7A1092B10C1092B20C1092B30C109227 -:10BF2000B40C1092AD0C1092AE0C1092AF0C10929B -:10BF3000B00C80E00E9406BF002319F081E00E944F -:10BF400006BFECA5EE2309F487C080E00F949B0E9A -:10BF5000809173148370833051F060E083E998E03E -:10BF60000F940F080F945A4184E898E071C00E9422 -:10BF7000E9798091B50C9091B60CA091B70CB09175 -:10BF8000B80C80939E0C90939F0CA093A00CB09340 -:10BF9000A10C2091830C3091840C4091850C509120 -:10BFA000860C60E070E088E492E40F94C95B6B015A -:10BFB0007C016093960C7093970C8093980C9093EF -:10BFC000990C2091870C3091880C4091890C5091EC -:10BFD0008A0C60E070E088E492E40F94C95B4B0146 -:10BFE0005C0160939A0C70939B0C80939C0C9093D3 -:10BFF0009D0C27E137EB41ED58EB0F942A5E87FD4E -:10C000001EC023E030E04BE953E4C501B4010F94B6 -:10C01000D4541816A4F027E137EB41ED58EBC701D3 -:10C02000B6010F942A5E87FD0AC023E030E84DE98F -:10C0300053E4C701B6010F94D4541816ECF460E031 -:10C0400083E798E00F940F080F945A4181E698E037 -:10C050000F94DA400E94D48C0E94E97980912D0AD5 -:10C0600080932E0A8CA90F94033F0E9429780E9486 -:10C070009A7C05CE8CA74BCE19821A821B821C8219 -:10C08000AE014F5F5F4F6AE97CE086E99CE00E9469 -:10C090001E7982E00E9406BFDDCFB1100C94C4531C -:10C0A0000C94BD5380E00E94EE660C94F05388E53A -:10C0B0000E942E9E81115F9889E50E942E9E81111B -:10C0C0008A988AE50E942E9E882329F08091080193 -:10C0D00081708093060185E40E942E9E882309F4D6 -:10C0E000CECD1298CCCD60E08FEF98E00F940F0882 -:10C0F0005F988A9880910801817080930601129858 -:10C10000BECD0E94E39DAB01BC014093F517509357 -:10C11000F6176093F7177093F81782E195E10E9484 -:10C12000F493ADCD61E0802F0F941A3D6F2D802FD9 -:10C130000F94EB3C6F2D70E0802F0F94563D87E0FD -:10C14000E81203C0F092D60C9ACD99E0E91297CD8F -:10C15000F092D50C94CD0E9427ED90E085369105A4 -:10C1600014F084E690E080930B1489CD0E94B58F83 -:10C170000C941057A3019201C501B4010F942A5EDB -:10C1800018163CF087EE99E060E00F940F080C94CD -:10C19000305784EF99E0F8CF0E94F79D0F94365DF9 -:10C1A000CB010E94FBEB0E94F79D20E030E040EACB -:10C1B00050E40F942A5E181614F40E94B58F609113 -:10C1C0000A0A70910B0A072E000C880B990B0F942A -:10C1D000DB542091060A3091070A4091080A5091D9 -:10C1E000090A0F942A5E18161CF48CE29AE002C029 -:10C1F0008DE19AE060E00F940F08812F0E944EF6C7 -:10C200003ECD0E94BA9188E50E942E9E882331F08F -:10C210005F9A809173148E7F8093731489E50E94D6 -:10C220002E9E882331F08A9A809173148D7F80939B -:10C2300073148AE50E942E9E882359F0809108018C -:10C240008095817080930601809173148B7F809319 -:10C25000731485E40E942E9E882309F410CD0E9459 -:10C2600019630DCD0E94FB920ACD82E40E942E9E9E -:10C27000882351F00F949B3A609390117093911121 -:10C28000809392119093931183E50E942E9E8823B0 -:10C2900051F00E94F79D6093C0117093C11180937B -:10C2A000C2119093C31184E50E942E9E882351F001 -:10C2B0000E94F79D6093C4117093C5118093C611BD -:10C2C0009093C7118AE40E942E9E882309F4D7CC4C -:10C2D0000E94F79D6B017C012AE037ED43E25CE3AD -:10C2E0000F942A5E87FD13C02AE939E949E95EE324 -:10C2F000C701B6010F94D45418164CF0C092BD0C6F -:10C30000D092BE0CE092BF0CF092C00CB8CC0F944F -:10C31000564181E59CE00F94DA40B1CC0E94F79D34 -:10C3200020E030E040E050EC0F94D45487FD15C07D -:10C330000E94F79D20E030E040E050E40F942A5E38 -:10C3400018162CF00E94F79D6B017C010BC0C12CCC -:10C35000D12CE12C60E4F62E05C0C12CD12CE12CAF -:10C3600050ECF52E20919C1130919D1140919E1121 -:10C3700050919F11C701B6010F943A550F94365D45 -:10C38000CB010F94473580E50E942E9E882329F02B -:10C390000E943BED882309F472CCA70196016091BD -:10C3A0008B0C70918C0C80918D0C90918E0C0F9455 -:10C3B000CA5B60938B0C70938C0C80938D0C909364 -:10C3C0008E0C0F945A4140918B0C50918C0C6091C3 -:10C3D0008D0C70918E0C88EA9CE00F9426418AE0C7 -:10C3E0000E94AA654CCC88E40E942E9E882321F0EE -:10C3F0000E943BED8093E20882E50E942E9E082F6A -:10C4000083E50E942E9E182F011102C0882351F04F -:10C410001092000A0E944063112321F00E943BED1C -:10C4200080934D0284E40E942E9E882309F427CC39 -:10C430000E94F79D60931502709316028093170275 -:10C44000909318021CCC0F945A4189E39DE00F94FD -:10C45000DA4080914D02811117C082E19DE00F9476 -:10C46000DA408AE00E94AA654091150250911602B6 -:10C47000609117027091180289E19DE00F942641A6 -:10C480008AE00E94AA65FBCB86E19DE0E8CFF7FA3F -:10C49000F094F7F8F094D101CD92DD92ED92FC92F8 -:10C4A0001397E0CACF92DF92EF92FF920F931F9300 -:10C4B000CF93DF936C018B017A01EC01CE50D74F03 -:10C4C000888187FF04C0FB011182108224C02CE008 -:10C4D0002C9DC0012D9D900D11242881AC01420F8F -:10C4E000511D27FD5A952091F21530E04217530750 -:10C4F00094F42881AC01420F511D27FD5A959A01F1 -:10C50000FA01EE0FFF1F2E0F3F1FF901EA57FA4EF7 -:10C51000208127FD19C088818F5F88832CE02C9DA6 -:10C52000C0012D9D900D11242881AC01420F511D99 -:10C5300027FD5A952091F21530E042175307BCF4BD -:10C5400028812C3044F113C02881820F911D27FDD2 -:10C550009A95FC01EE0FFF1F8E0F9F1FFC01EA57FB -:10C56000FA4E808160E08F770F94EB3CD4CFF801D6 -:10C5700080819181049680349C4918F480E49CE980 -:10C5800004C0F801808191810496F7019183808332 -:10C590008FEF888345C0F801408151812881BC011B -:10C5A000620F711D27FD7A959B01FB01EE0FFF1FA6 -:10C5B0002E0F3F1FF901EA57FA4E21813281240FD5 -:10C5C000351FF701318320832881AC01420F511DB3 -:10C5D00027FD5A959A01FA01EE0FFF1F2E0F3F1FFC -:10C5E000F901EA57FA4E208127FF1AC02881820FED -:10C5F000911D27FD9A95FC01EE0FFF1F8E0F9F1FC7 -:10C60000FC01EA57FA4E808161E08F77DF91CF918C -:10C610001F910F91FF90EF90DF90CF900D94EB3C26 -:10C62000DF91CF911F910F91FF90EF90DF90CF900E -:10C630000895129A0895FF920F931F93CF93DF935B -:10C640001F92CDB7DEB7F82E06E61FE241E050E0BC -:10C65000B801CE0101960F940E5489818F1102C04A -:10C6600081E007C00F5F1F4F8FE20F37180771F788 -:10C6700080E00F90DF91CF911F910F91FF9008956F -:10C680008091150290911602A0911702B0911802A4 -:10C6900080938A1290938B12A0938C12B0938D1278 -:10C6A00008958091F508811107C00F943A1D8823E1 -:10C6B00019F081E08093F5080895E5EDFCE0108223 -:10C6C00011820895DC01EC91F0E0CF01880F991FF1 -:10C6D000E80FF91FEA57FA4E80818F77808308951B -:10C6E0008F929F92AF92BF92CF92DF92EF92FF9282 -:10C6F0000F93CF93DF931F92CDB7DEB75C016B0131 -:10C700007A014901F501808191810F94045B89834D -:10C71000002311F0F6018083BE016F5F7F4FC401DB -:10C720000F94E931F5018081918101969183808395 -:10C73000FFEFCF1ADF0A81E0E81AF10819F780E06D -:10C740000F90DF91CF910F91FF90EF90DF90CF90FE -:10C75000BF90AF909F908F9008957F928F929F92FD -:10C76000AF92BF92CF92DF92EF92FF920F931F93FF -:10C77000CF93DF931F92CDB7DEB77C0159018B01B8 -:10C780006B01C40ED51E0C151D0559F1F7018080F3 -:10C790009180F80171908F017982C4010F94045B3C -:10C7A000781691F0672DC4010F940C5BC4010F94AF -:10C7B000045B9981891741F00F945A418CE49FE200 -:10C7C0000F94DA4081E00EC0BE016F5F7F4FC5015C -:10C7D0000F94E931F70180819181019691838083E3 -:10C7E000D2CF80E00F90DF91CF911F910F91FF90FA -:10C7F000EF90DF90CF90BF90AF909F908F907F9001 -:10C800000895009781F41092900082E08093910047 -:10C810001092950010929400C19A809171008260EC -:10C820008093710008958130910569F41092A00001 -:10C8300082E08093A1001092A5001092A40089BB11 -:10C84000809372000895029761F41092200182E0B3 -:10C850008093210110922501109224018ABB8093BC -:10C86000730008957F928F929F92AF92BF92CF9262 -:10C87000DF92EF92FF920F931F93CF93DF93FC0110 -:10C880009081943208F0CEC06B017F01892F90E037 -:10C89000FC01EE0FFF1F8E0F9F1FFC01EA57FA4E9F -:10C8A000808161E08F770F941A3DF7011182128227 -:10C8B00080816CE00F948D5BFCE08F9FB0011124B0 -:10C8C00040E050E09B01240F351FF901EE0FFF1FE0 -:10C8D0002E0F3F1FF901EA57FA4E908197FD08C0CD -:10C8E0004F5F5F4F4C30510569F790E00E94016443 -:10C8F000F7017080C72DD0E08E01000F111FF801E5 -:10C90000EC0FFD1FEA57FA4E80818068808377FC28 -:10C9100089C0F0E2CF16F2E0DF060CF041C0F7016B -:10C92000828128E532E0281B310987FD3395220FEB -:10C93000331F220F331F032E000C440B550B818134 -:10C9400068E870E04B01881A910887FD9394880C81 -:10C95000991C880C991C092C000CAA08BB08D7FC50 -:10C960000BC0B601653B710514F064EB70E0072E57 -:10C97000000C880B990B03C060E070E0CB01281914 -:10C9800039094A095B090F941A5B24EB30E040E057 -:10C9900050E00F944C5B820E931EA41EB51E01C086 -:10C9A0004601F3E2F71558F1F701218188E890E09C -:10C9B000821B910927FD9395880F991F880F991F56 -:10C9C0008816990684F0F701228188E592E0821B9F -:10C9D000910927FD9395880F991F880F991F881635 -:10C9E00099060CF4C40102972FB7F894C00FD11F19 -:10C9F000CA57DA4E880F991F9A8389832FBF62E343 -:10CA000070E080E090E0DF91CF911F910F91FF9057 -:10CA1000EF90DF90CF90BF90AF909F908F907F90DE -:10CA20000D946E40DF91CF911F910F91FF90EF9089 -:10CA3000DF90CF90BF90AF909F908F907F900895A0 -:10CA40001F920F920FB60F9211240BB60F922F93D5 -:10CA50003F934F935F936F937F938F939F93AF9386 -:10CA6000BF93EF93FF9348E251E064E271E082E00C -:10CA700090E00E945262FF91EF91BF91AF919F9120 -:10CA80008F917F916F915F914F913F912F910F9077 -:10CA90000BBE0F900FBE0F901F9018951F920F9214 -:10CAA0000FB60F9211240BB60F922F933F934F9313 -:10CAB0005F936F937F938F939F93AF93BF93EF9306 -:10CAC000FF9348EA50E064EA70E081E090E00E9461 -:10CAD0005262FF91EF91BF91AF919F918F917F91A2 -:10CAE0006F915F914F913F912F910F900BBE0F90DF -:10CAF0000FBE0F901F9018951F920F920FB60F92B6 -:10CB000011240BB60F922F933F934F935F936F9324 -:10CB10007F938F939F93AF93BF93EF93FF9348E9D6 -:10CB200050E064E970E080E090E00E945262FF9182 -:10CB3000EF91BF91AF919F918F917F916F915F9195 -:10CB40004F913F912F910F900BBE0F900FBE0F9002 -:10CB50001F9018959091C00095FFFCCF8093C60060 -:10CB600008958F929F92AF92BF92EF92FF920F9390 -:10CB70001F93CF93DF93CDB7DEB7A0970FB6F8948E -:10CB8000DEBF0FBECDBF611571058105910591F125 -:10CB900000E0842E912CA12CB12C102FEE24E394D4 -:10CBA000F12CEC0EFD1EE00EF11C07FDFA94A50120 -:10CBB00094010F942A5BF7016083B901CA010F5FEA -:10CBC000611571058105910541F71F3F31F1E1E0E4 -:10CBD000F0E0EC0FFD1FE10FF11D17FDFA958081CC -:10CBE0008A3010F097E301C090E3890F0E94AA6594 -:10CBF0001150EBCF80E3A0960FB6F894DEBF0FBEC6 -:10CC0000CDBFDF91CF911F910F91FF90EF90BF901B -:10CC1000AF909F908F900C94AA65A0960FB6F89451 -:10CC2000DEBF0FBECDBFDF91CF911F910F91FF905F -:10CC3000EF90BF90AF909F908F900895CF92DF922A -:10CC4000EF92FF926B017C0197FF0BC08DE20E9477 -:10CC5000AA65F094E094D094C094C11CD11CE11C4E -:10CC6000F11C4AE0C701B601FF90EF90DF90CF9032 -:10CC70000C94B165AB01672B11F40C94AA65BC014F -:10CC8000990F880B990B4A30510511F40C941E66CC -:10CC90000C94B1658F929F92AF92BF92CF92DF9228 -:10CCA000EF92FF92CF936B017C01B42E20E030E035 -:10CCB000A9010F94D45487FF07C08DE20E94AA6592 -:10CCC000F7FAF094F7F8F094C0E060E070E080E0EC -:10CCD0009FE3CB1541F02DEC3CEC4CEC5DE30F9465 -:10CCE0003A55CF5FF6CF9B01AC01C701B6010F9457 -:10CCF000CA5B6B017C010F943D5D4B015C014AE016 -:10CD00000E94B165CC2391F1C501B4010F94D954AF -:10CD10009B01AC01C701B6010F94C95B6B017C019B -:10CD20008EE20E94AA6520E030E040E251E4C701B3 -:10CD3000B6010F943A554B015C010F94365D6B01BF -:10CD40007C016AE070E0C6010E943A66B601DD0C23 -:10CD5000880B990B0F94DB549B01AC01C501B40106 -:10CD60000F94C95B6B017C01C150E9F6CF91FF9034 -:10CD7000EF90DF90CF90BF90AF909F908F900895ED -:10CD80000C944A668DE00E94AA658AE00C94AA651C -:10CD9000CF93DF93EC018991882319F00E94AA6553 -:10CDA000FACFDF91CF910C94C266EAEFF8E0808170 -:10CDB000818308958091FA089091FB08981759F0A3 -:10CDC000E92FF0E0E650F74F82819F5F9F779093C5 -:10CDD000FB0890E008958FEF9FEF08952F923F9208 -:10CDE0004F925F926F927F928F929F92AF92BF927B -:10CDF000CF92DF92EF92FF920F931F93CF93DF9327 -:10CE0000CDB7DEB728970FB6F894DEBF0FBECDBF03 -:10CE1000E82E0E9493300F94783E4B015C01809184 -:10CE20008F0C81112FC080910002882359F18091CD -:10CE3000E408882339F14091F6085091F708609191 -:10CE4000F8087091F90895018401041B150B260B55 -:10CE5000370B37FD2AC0833079F03CF4813094F0F1 -:10CE60000F945A418EEA9FE20BC0843059F40F941C -:10CE70005A418FE79FE204C00F945A4187E99FE22D -:10CE80000F94DA402091000230E0A8EEB3E00F9456 -:10CE90007E5B860E971EA81EB91E8092F6089092A1 -:10CEA000F708A092F808B092F90880914D02882303 -:10CEB00019F18091000A81111FC08091F91782FD3C -:10CEC00008C08091720C813021F08091C40B8823BE -:10CED00099F0F89464991EC660918A1270918B1231 -:10CEE00080918C1290918D12789420E030E0A9010D -:10CEF0000F94D45487FD9EC58091C10B843008F0F7 -:10CF00007FC20F94783E4B015C018091C10B81116F -:10CF10001DC08091FA089091FB08891B8F77B1F4AE -:10CF20008091E1099091E209A091E309B091E409AF -:10CF3000A5019401281B390B4A0B5B0BDA01C901CF -:10CF4000885E9340A109B109B7FFF5C570E6F72ED9 -:10CF50008091C10B843008F036C18091FA0890911D -:10CF6000FB08891B8F7709F42EC10E94DA66AC0199 -:10CF700097FDEECF2091570C3091580C8A3019F064 -:10CF80008D3009F0E8C01092E0092115310519F43F -:10CF90000E9464CADDCFF901E058F64F108210926A -:10CFA000580C1092570C00E819E0F801819180327A -:10CFB00011F48F01FACF8E3409F07AC001151105F2 -:10CFC00009F476C060E371E3C8010F9452546C0118 -:10CFD000892B41F06EE470E0C80104960F947060F4 -:10CFE000009709F4C8014AE050E060E070E0019663 -:10CFF0000F94CA5160937C0970937D0980937E09D8 -:10D0000090937F094090590C50905A0C60905B0CA3 -:10D0100070905C0C3FEF431A530A630A730A64155D -:10D0200075058605970531F0CD2821F460E08DEF78 -:10D0300090E3C7C06AE270E0C8010F949F609C0152 -:10D04000009709F1982F901BD12C992339F091501A -:10D05000F801E90FF11D8081D826F7CF4AE050E0B2 -:10D0600060E070E0C90101960F94CA514D2C512C1B -:10D07000612C712C641575058605970541F060E0FB -:10D080008EED90E39EC060E084EB90E39AC08091C7 -:10D090007C0990917D09A0917E09B0917F098093D0 -:10D0A000590C90935A0CA0935B0CB0935C0C12C07B -:10D0B0008091F91780FF0EC06CEA72E3C8010F94EB -:10D0C0005254009709F47AC0FC01838180538A305E -:10D0D00008F474C08091520281111CC067E470E0B2 -:10D0E000C8010F9470600097A9F04AE050E060E03A -:10D0F00070E001960F94CA51643071058105910565 -:10D1000048F483E190E30F94DA4060E089E090E333 -:10D110000F940F088092E1099092E209A092E3092E -:10D12000B092E409809180098B3309F411CF80918A -:10D13000C10B843008F00CCF80913D0AF89EC001ED -:10D14000112460E879E0805C954F0F947B6081E06A -:10D150000F944C1EFDCE2F3531050CF0F9CE8C35D9 -:10D16000C1F40E94DA6697FDF3CE2091E009211107 -:10D17000EFCE2091570C3091580CA9014F5F5F4FB3 -:10D180005093580C4093570CF901E058F64F8083A8 -:10D19000DFCE8B3321F481E08093E009D9CE8091FA -:10D1A000E0098111D5CEC90101969093580C809366 -:10D1B000570CF901E058F64F4083CACE60E08AE888 -:10D1C00090E30E94B58A8091F91782FF19C180917E -:10D1D000C10B811102C01092E609DD24D394409165 -:10D1E000F5175091F6176091F7177091F817809125 -:10D1F000F1179091F217A091F317B091F417481717 -:10D2000059076A077B0708F4D12C00E010E0CC2412 -:10D21000C39440E6B42E54E6A52E69E6962E80917E -:10D22000C10B843008F0ECC0D110EAC08091E6094F -:10D230008111E6C080911A1590911B15A0911C15C3 -:10D24000B0911D158093F5179093F617A093F717DB -:10D25000B093F81741E050E0BE016F5F7F4F82E16D -:10D2600095E10E94D997019719F4898190E002C055 -:10D270008FEF9FEFF82E4090F5175090F6176090C3 -:10D28000F7177090F8174091F1175091F2176091CD -:10D29000F3177091F417DD24D394441655066606EF -:10D2A000770608F4D12C4416550666067706B0F4C6 -:10D2B000019609F461C02AE0F21609F46EC03DE05F -:10D2C000F31609F46AC043E2F41619F05AE3F512B2 -:10D2D0007CC08091E509811178C054C00E94BA9148 -:10D2E00082E195E10E9460978091F017882339F1DF -:10D2F00081508093F017989EC001112441E061E0B5 -:10D300008753944F0E945474E091F01764E0E69FB5 -:10D31000F0011124EB53F44F4081518162817381FC -:10D320004093F5175093F6176093F7177093F8171B -:10D3300082E195E10E94F4930E94097116C00E9457 -:10D34000F8700E94FB920E9465900F94B4046D33B4 -:10D3500071058105910518F48BE391E302C080E427 -:10D3600091E30E94DE8AA0920B148091F91782FD4E -:10D370000DC083E591E304C00F94564184E491E32A -:10D380000F94DA4073E2F71208C005C053E2F512B9 -:10D39000DFC300E010E0C092E6091092E509011534 -:10D3A000110519F40E9464CA0DC080913D0AB89E0F -:10D3B000000D111D1124F801E05CF54F108280E092 -:10D3C0000F944C1E00E010E02ACF0F35110508F035 -:10D3D00026CF8BE3F81203C0C092E50920CF8091DD -:10D3E000E50981111CCF80913D0AF801B89EE00D3E -:10D3F000F11D1124E05CF54FF0820F5F1F4F0FCF3E -:10D400000F94783E4B015C014091DE085091DF089B -:10D410006091E0087091E1084115510561057105C1 -:10D4200029F180916B1490916C14A0916D14B091BE -:10D430006E14840F951FA61FB71F95018401081B4A -:10D44000190B2A0B3B0B37FD11C00F94564160910D -:10D45000A70C7091A80C87E691E30F9443418AE0F2 -:10D460000E94AA6580E090E00F94F832409101029A -:10D47000509102026091030270910402411551051E -:10D480006105710509F44EC09091F9158091FA1566 -:10D49000981759F00F94783E60936B1470936C1446 -:10D4A00080936D1490936E143DC08091C40B8111D4 -:10D4B00037C0E11035C080916B1490916C14A0912D -:10D4C0006D14B0916E14840F951FA61FB71FA50190 -:10D4D0009401281B390B4A0B5B0B57FD21C080912F -:10D4E000F70981111FC081E08093F7095F9A80914D -:10D4F00073148E7F809373148A9A809173148D7F36 -:10D500008093731480910801809581708093060147 -:10D51000809173148B7F809373140E94196302C0EF -:10D520001092F7098091F3099091F409A091F509FF -:10D53000B091F609B501A401481B590B6A0B7B0B8E -:10D5400077FDBCC12091F9159091FA158091580290 -:10D5500010915902291317C06091D50C869FB00114 -:10D560001124660F672F661F770B7195062F809128 -:10D57000D60C819FB0011124660F672F661F770BB1 -:10D580007195162F29C02091FA1558E4259F900116 -:10D5900011242150334FF901EA5BFF4F6081869FD0 -:10D5A000B0011124660F672F661F770B7195062F48 -:10D5B00031968081819FB0011124660F672F661F0D -:10D5C000770B7195162F8091FA159091F915981790 -:10D5D00019F08F5F8F70F9CF002331F10F94783EEF -:10D5E000C090EB09D090EC09E090ED09F090EE09C5 -:10D5F000DC01CB01C114D104E104F10469F48C59BC -:10D600009F4FAF4FBF4F8093EB099093EC09A093CE -:10D61000ED09B093EE0906C08C199D09AE09BF094A -:10D62000B7FF0AC00FEF08C01092EB091092EC0987 -:10D630001092ED091092EE09602F70E089E00F94CE -:10D64000563D112331F10F94783EC090EF09D090F0 -:10D65000F009E090F109F090F209DC01CB01C1146E -:10D66000D104E104F10469F48C599F4FAF4FBF4FCF -:10D670008093EF099093F009A093F109B093F20918 -:10D6800006C08C199D09AE09BF09B7FF0AC01FEF7C -:10D6900008C01092EF091092F0091092F10910924F -:10D6A000F209612F70E087E00F94563D8091B71327 -:10D6B000882309F4F6C0E0903602F090370200911A -:10D6C0003802109139026091F00C7091F10C6E5F8C -:10D6D0007F4F072E000C880B990B0F94DB5497019A -:10D6E000A8010F94D45487FDDCC03090FA15212C8A -:10D6F0001A821B821C828091F915831509F467C078 -:10D70000832D90E068E4689FF001699FF00D11247B -:10D71000E150F34F458956896789708D452B462B1B -:10D72000472B89F4418D528D638D748D452B462B8B -:10D73000472B49F4458D568D678D70A1452B462B9F -:10D74000472B09F43FC078E4789F9001799F300D12 -:10D750001124C9018150934F6C01FC0161817281D8 -:10D76000838194810F94C85E2B013C01F60161A175 -:10D7700072A183A194A10F94D9546D837E838F836A -:10D780009887F60165A176A187A190A50F94D95439 -:10D790009B01AC016D817E818F8198850F94C45C63 -:10D7A000A30192010F943A553B016C01222D3A815D -:10D7B0004B815C810F942A5E181624F4262C7A8201 -:10D7C000CB82DC8281E0830D8F70382E94CF209144 -:10D7D0003A0230913B0240913C0250913D02622D51 -:10D7E0007A818B819C810F943A559701A8010F94FF -:10D7F000CA5B3B016C0120903202309033024090B2 -:10D800003402509035029B01AC01B701C8010F945E -:10D810002A5E18166CF09101A201B301C6010F94A3 -:10D820002A5E18161CF47101820102C07301860180 -:10D830004090E7095090E8096090E9097090EA0982 -:10D840009701A801C301B2010F942A5E1816C4F40F -:10D8500020E037ED43EA5CE3B701C8010F943A5585 -:10D860006B017C0128E431EE4AE75FE3C301B201BA -:10D870000F943A55A70196010F94CA5B7B018C0166 -:10D88000C701D8018093E7099093E809A093E909BB -:10D89000B093EA09B701C8010F94365DCB010E942D -:10D8A000529CF4E68F0E911CA11CB11C8092F309CE -:10D8B0009092F409A092F509B092F6090E9464CA08 -:10D8C0008091720C813009F06EC00F94783E6B012C -:10D8D0007C018091FC099091FD09A091FE09B09115 -:10D8E000FF0997018601081B190B2A0B3B0B37FD1B -:10D8F0003AC08090730C9090740CA090750CB0900E -:10D90000760C0F94B4046093730C7093740C809332 -:10D91000750C9093760C0091210A1091220A2091A7 -:10D92000230A3091240A081919092A093B09DC0144 -:10D93000CB01800F911FA21FB31F8093210A9093E8 -:10D94000220AA093230AB093240AD701C601805F5C -:10D95000984DAF4FBF4F8093FC099093FD09A09362 -:10D96000FE09B093FF098091F8099091F909A091FF -:10D97000FA09B091FB09A7019601281B390B4A0B44 -:10D980005B0B57FD10C030E8C30E3EEED31EE11C0A -:10D99000F11CC092F809D092F909E092FA09F092CC -:10D9A000FB090E943F9080918F0C8111F2C0809101 -:10D9B000D908882391F00F94783E0091D5081091F2 -:10D9C000D6082091D7083091D808DC01CB01801B04 -:10D9D000910BA20BB30BB7FFBEC00F94783E6B0147 -:10D9E0007C012091D408222309F4D3C08091D0086F -:10D9F0009091D108A091D208B091D308B701A601A7 -:10DA0000481B590B6A0B7B0B77FDC3C030E0A8EEB7 -:10DA1000B3E00F947E5BC60ED71EE81EF91EC092BF -:10DA2000D008D092D108E092D208F092D3080E9498 -:10DA3000D170AFC011E01093000A8091C40B811126 -:10DA400066C087E196E00E94C86684E080936C0C13 -:10DA500082E08093B00881E09AE590937E168093EF -:10DA60007D168EE490E09093801680937F1687E079 -:10DA70008093711682E88093741684E890E0A0E0A9 -:10DA8000B0E08093751690937616A0937716B093B6 -:10DA900078160F945232109320140F94A70940E087 -:10DAA00068EF7FE28EE597E50F94B30980E30E946B -:10DAB000AA658AE00E94AA650F949B098091E208FA -:10DAC00060E0182719F08EE396E50DC086EE9FE220 -:10DAD0000F94830980E30E94AA658AE00E94AA65E8 -:10DAE00060E080EC9FE20F94830984ED9FE20F9445 -:10DAF000DA4080E30E94AA658AE00E94AA651123A9 -:10DB000031F086EC9FE290933F0A80933E0A0E9498 -:10DB1000BA91F2C98091150290911602A091170254 -:10DB2000B091180280938A1290938B12A0938C125A -:10DB3000B0938D12D1C985E391E30F94DA408092BE -:10DB4000E1099092E209A092E309B092E409FEC9CA -:10DB50001092E50927CC0F94783E6B017C0120914F -:10DB6000D90830E0A8EEB3E00F947E5BC60ED71E56 -:10DB7000E81EF91EC092D508D092D608E092D708C8 -:10DB8000F092D80880E00E94DCF58AE00E94AA6545 -:10DB900024CF28960FB6F894DEBF0FBECDBFDF911D -:10DBA000CF911F910F91FF90EF90DF90CF90BF909A -:10DBB000AF909F908F907F906F905F904F903F902D -:10DBC0002F9008951F920F920FB60F9211240F906D -:10DBD0000FBE0F901F9018951F920F920FB60F92C5 -:10DBE00011240BB60F920F931F932F933F934F93D4 -:10DBF0005F936F937F938F939F93AF93BF93CF93D5 -:10DC0000DF93EF93FF930091FB08D091FA0811E0A6 -:10DC10001D0F1F77C091C6009091F108492F092E62 -:10DC2000000C550B660B770B4131510508F064C0B1 -:10DC3000FA018827E256FF4F8F4F0D94C15BCD3418 -:10DC400049F0CE34B9F481E006C0CA3338F0CD349F -:10DC500009F043C082E08093F10876C0C03308F039 -:10DC600073C0C03209F470C0CD32B9F56DC0C13394 -:10DC700051F018F4C03289F567C0C43331F0C833AD -:10DC800061F58BE0E8CF83E0E6CF88E0E4CFC033F6 -:10DC900021F0C13311F586E0DECF84E0DCCFC8335C -:10DCA000E1F485E0D8CFC233C1F487E0D4CFC133EB -:10DCB000A1F489E0D0CFC03381F48AE0CCCFC73360 -:10DCC00061F48CE0C8CFC63341F48DE0C4CFC032DC -:10DCD000D9F1C33511F48EE0BECF80E1BCCF80ED29 -:10DCE0008C0F8A3088F59FE09093F1088093F008BC -:10DCF0002BC0CA3049F526C0CA3031F58091DF16F5 -:10DD0000882301F1973089F03CF49530D9F41092D2 -:10DD1000140210920A1416C09A3059F09F3091F4F0 -:10DD20008091F0080F94DF090DC081E08093AC1260 -:10DD300009C00E9451930E94BA918EEF0E947B7994 -:10DD40000E94E9791092F108011731F0ED2FF0E00F -:10DD5000E650F74FC283D12FD093FA08FF91EF918D -:10DD6000DF91CF91BF91AF919F918F917F916F91F3 -:10DD70005F914F913F912F911F910F910F900BBE8B -:10DD80000F900FBE0F901F9018958EBD0DB407FE1B -:10DD9000FDCF08958FEF8EBD0DB407FEFDCF8EB57C -:10DDA0000895909164009B7F90936400982F906AEF -:10DDB00096959CBD80FD03C091E0863009F490E00B -:10DDC0009DBD0895CF92DF92EF92FF920F931F9324 -:10DDD000CF93DF936C017A018B01C0E0D0E0CE15C8 -:10DDE000DF0581F0D8016D918D01D601ED91FC9197 -:10DDF0000190F081E02DC6011995892B11F0219633 -:10DE0000EECF7E01C701DF91CF911F910F91FF905F -:10DE1000EF90DF90CF900895089580E090E008950E -:10DE2000FC01538D448D252F30E0842F90E0821B20 -:10DE3000930B541710F0CF96089501970895FC01A5 -:10DE4000918D828D981761F0828DDF01A80FB11D31 -:10DE50005D968C91928D9F5F9F73928F90E0089555 -:10DE60008FEF9FEF0895FC01918D828D981731F00F -:10DE7000828DE80FF11D858D90E008958FEF9FEF63 -:10DE80000895FC01918D228D892F90E0805C9F4F39 -:10DE9000821B91098F739927089585E794E10E9469 -:10DEA000416F21E0892B09F420E0822F0895FC01C5 -:10DEB000848DDF01A80FB11DA35ABF4F2C91848D13 -:10DEC00090E001968F739927848FA689B7892C9348 -:10DED000A089B1898C91837080648C93938D848D9B -:10DEE000981306C00288F389E02D80818F7D80839E -:10DEF0000895EF92FF920F931F93CF93DF93EC015E -:10DF000081E0888F9B8D8C8D981305C0E889F989F5 -:10DF1000808185FD26C0F62E0B8D10E00F5F1F4F10 -:10DF20000F731127E02E8C8DE8120CC00FB607FC82 -:10DF3000FACFE889F989808185FFF5CFCE010E946B -:10DF4000576FF1CF8B8DFE01E80FF11DE35AFF4FA4 -:10DF5000F0829FB7F8940B8FEA89FB8980818062F9 -:10DF60000AC09FB7F894EE89FF896083E889F98930 -:10DF700080818370806480839FBF81E090E0DF9127 -:10DF8000CF911F910F91FF90EF900895CF93DF9362 -:10DF9000EC01888D8823C9F0EA89FB89808185FDA1 -:10DFA00005C0A889B9898C9186FD0FC00FB607FC02 -:10DFB000F5CF808185FFF2CFA889B9898C9185FF43 -:10DFC000EDCFCE010E94576FE7CFDF91CF9108953B -:10DFD00080E090E0892B41F080E090E0892B21F0F7 -:10DFE0000E940000811121C080E090E0892B41F067 -:10DFF00080E090E0892B21F00E940000811118C080 -:10E0000080E090E0892B21F00E944D6F811113C0B8 -:10E0100080E090E0892BA1F080E090E0892B81F0F6 -:10E020000E94000081110AC008950E940000DCCF08 -:10E030000E940000E5CF0E940000EACF0C9400008F -:10E040000895FC0120E03EE2DB014C91403241F0BA -:10E05000283011F430833196DB014C9140833196A6 -:10E060002F5F6F5F7F4F2B3079F7108208950F94E9 -:10E070002F600F931F93CF93DF938B01EA01DB0196 -:10E080006D917C910E94FA94D801ED91FC911197C9 -:10E0900090818881992349F0893638F43196ED933F -:10E0A000FC9388818F5F8883EFCF893658F48FE2A5 -:10E0B0008083F8018081918101969183808388819A -:10E0C0008F5F8883DF91CF911F910F9108951F92E9 -:10E0D0000F920FB60F9211240BB60F922F933F930E -:10E0E0004F935F936F937F938F939F93AF93BF9360 -:10E0F000EF93FF9385E794E10E94576FFF91EF91B3 -:10E10000BF91AF919F918F917F916F915F914F914F -:10E110003F912F910F900BBE0F900FBE0F901F904D -:10E1200018951F920F920FB60F9211240BB60F92F3 -:10E130002F938F939F93EF93FF93E0918514F0912A -:10E1400086148081E0918B14F0918C1482FD12C0B2 -:10E15000908180918E148F5F8F7320918F1482171E -:10E1600051F0E0918E14F0E0EB58FB4E958F8093C8 -:10E170008E1401C08081FF91EF919F918F912F911B -:10E180000F900BBE0F900FBE0F901F9018958BE154 -:10E19000EBE6F5E1A0E5B5E101900D928A95E1F796 -:10E1A00008958091F91782FF1FC08CE294E30F94C9 -:10E1B000DA406091F5177091F6178091F7179091FA -:10E1C000F8174AE00E94B1658FE20E94AA6560914B -:10E1D000F1177091F2178091F3179091F4174AE0BC -:10E1E0000E94B1650C94C2668EE394E30D94DA400C -:10E1F0001092C40B8091F9178F7D8B7F8093F91754 -:10E200000E94388A882321F082E195E10C9460977E -:10E2100008958091F91783FF03C084608093F917F4 -:10E220000895CF92DF92EF92FF920F931F93CF93B7 -:10E23000DF93CDB7DEB7EDB6FEB6DC010D90002062 -:10E24000E9F79D01281B390B2C5F3F4F4DB75EB797 -:10E25000421B530B0FB6F8945EBF0FBE4DBF0DB7F8 -:10E260001EB70F5F1F4F9F938F9388E293E39F9397 -:10E270008F931F930F930F946C54680154E0C50E55 -:10E28000D11C0F900F900F900F900F900F90F601F0 -:10E290008081882349F0082E000C990B0F9434607C -:10E2A000F60181936F01F3CFC8010F94611E84E2E0 -:10E2B00093E30E94DE8A0FB6F894FEBE0FBEEDBE59 -:10E2C000DF91CF911F910F91FF90EF90DF90CF9052 -:10E2D00008958F929F92AF92BF92CF92DF92EF926A -:10E2E000FF92CF938091F917877F8093F9178091E0 -:10E2F0006E15882321F08BE695E10E9460971092BD -:10E300004F1510924C1585E380934B150F94783E72 -:10E310006B017C0120EDC20E27E0D21EE11CF11C36 -:10E32000A89561E080914B150F94EB3C61E08091E2 -:10E330004B150F941A3D209A289A219A2398229AD5 -:10E3400081E00E94D16E85E080934D150E94D16ED0 -:10E35000CAE08FEF0E94C56EC150D9F7A89520E0A2 -:10E3600030E0A90160E08BE495E10E944096809343 -:10E370004E15813061F00F94783EDC01CB018C1991 -:10E380009D09AE09BF09B7FDEACF81E062C0A8953B -:10E390002AEA31E040E050E068E08BE495E10E9439 -:10E3A0004096853011F481E00AC0C4E00E94CA6E34 -:10E3B00080934E15C150D1F78A3A61F482E0809380 -:10E3C0004F15A89580914F15823081F0812C912CAA -:10E3D000540111C00F94783EDC01CB018C199D09CA -:10E3E000AE09BF09B7FDD4CF82E033C0812C912C98 -:10E3F000A12C80E4B82E20E030E0A90167E38BE493 -:10E4000095E10E944096A501940169E28BE495E1B3 -:10E410000E94409680934E15882361F00F94783EB9 -:10E42000DC01CB018C199D09AE09BF09B7FDE3CF13 -:10E430008AE00FC080914F15823021F520E030E056 -:10E44000A9016AE38BE495E10E944096882361F07C -:10E4500088E080934C158BE495E10E9438960F94E8 -:10E460005A4186E193E322C00E94CA6E807C803CC0 -:10E4700019F483E080934F150E94CA6E0E94CA6E01 -:10E480000E94CA6E8BE495E10E94389610924D1559 -:10E4900081E00F94FA4381110CC080E00F94FA439D -:10E4A000811107C00F94564182E093E30F94DA4044 -:10E4B0001AC06DE275E18BE695E10E948B948111A3 -:10E4C00005C00F94564181EF92E3F0CF8091F91788 -:10E4D00088608093F9170F945A4185EE92E30F9468 -:10E4E000DA400E945163CF91FF90EF90DF90CF9080 -:10E4F000BF90AF909F908F900C94C7702F923F92D7 -:10E500005F926F927F928F929F92AF92BF92CF92C3 -:10E51000DF92EF92FF920F931F93CF93DF93CDB7CC -:10E52000DEB7C356D1090FB6F894DEBF0FBECDBF1C -:10E530008C016B014A012DB63EB6512C7E0187E558 -:10E54000E80EF11CF6018381823008F41FC180853A -:10E550009185A285B3858F719927AA27BB27892B1F -:10E560008A2B8B2B09F012C11092611A41E65AE1F5 -:10E57000BE016F5F7F4FC6010E94F59818160CF020 -:10E5800005C18C85982F9871903129F42091320C17 -:10E590002150223078F42981222309F4F7C0253E46 -:10E5A00089F22E3279F22091611A2E3259F28A7054 -:10E5B00049F67CC06DB67EB6BE016F5F7F4FC70166 -:10E5C0000E9421700115110521F0F801808181114F -:10E5D00063C021E081E090E0F70101900020E9F7BD -:10E5E0003197EE19FF09E80FF91F32968DB79EB7E4 -:10E5F0008E1B9F0B0FB6F8949EBF0FBE8DBFEDB75D -:10E60000FEB731965F01211102C0B80102C061E777 -:10E6100076E0C5010F947B60B701C5010F9465607A -:10E6200061E776E0C5010F94656019A21CA221E0A4 -:10E63000A701B601CE0181960E944C9B81110DC0AD -:10E640008091320C811109C00F945A4181ED92E3FF -:10E650000F94DA40C7010E94C8668BE1FE01B196B3 -:10E66000DE01DC9601900D928A95E1F740E050E0E2 -:10E67000BE01645C7F4FC5010E947E72CE01CC96C4 -:10E680000E946997CE0181960E9469970FB6F8940F -:10E690007EBE0FBE6DBE56CFF80101900020E9F797 -:10E6A0003197CF01801B910B20E096CF21E0903174 -:10E6B00009F020E08091F91720FB84F98093F91785 -:10E6C000903141F08985873409F03CCF8A858E37B7 -:10E6D00009F438CF8091320C813021F068F082301B -:10E6E000C1F130CF8091350C9091360C019690930A -:10E6F000360C8093350C26CFBE016F5F7F4F83EAC7 -:10E700009AE10E9421700115110529F483EAA82ECF -:10E710008AE1B82E09C05801F50181915F01882373 -:10E72000A9F30E94AA65F8CFF50181915F018823C2 -:10E7300019F00E94AA65F8CF80E20E94AA656D8D4B -:10E740007E8D8F8D98A14AE00E94B1650E94C266BD -:10E75000F9CEBE016F5F7F4F83EA9AE10E9421707C -:10E760008114910441F063EA7AE1C4010F9452608C -:10E77000892B51F40BC0852D90E02091330C309102 -:10E78000340C8217930711F05394DCCE0FB6F89433 -:10E790003EBE0FBE2DBECD59DF4F0FB6F894DEBF83 -:10E7A0000FBECDBFDF91CF911F910F91FF90EF90E2 -:10E7B000DF90CF90BF90AF909F908F907F906F90A1 -:10E7C0005F903F902F900895CF93DF93CDB7DEB742 -:10E7D0006B970FB6F894DEBF0FBECDBF81E080937C -:10E7E000320C1092360C1092350C80E595E10E94A7 -:10E7F00033968BE1E0E5F5E1DE01119601900D9293 -:10E800008A95E1F740E050E0BE016F5F7F4F80E006 -:10E8100090E00E947E72CE0101960E9469978091DD -:10E82000350C9091360C6B960FB6F894DEBF0FBE88 -:10E83000CDBFDF91CF9108950F931F93CF93DF93B7 -:10E84000CDB7DEB76B970FB6F894DEBF0FBECDBF66 -:10E850008B0122E02093320C9093340C8093330C84 -:10E8600080E595E10E9433968BE1E0E5F5E1DE017C -:10E87000119601900D928A95E1F7A801BE016F5F94 -:10E880007F4F80E090E00E947E72CE0101960E9450 -:10E8900069976B960FB6F894DEBF0FBECDBFDF91C0 -:10E8A000CF911F910F910895DF92EF92FF920F93F6 -:10E8B0001F93CF93DF9300D01F92CDB7DEB7209187 -:10E8C000F91723FF3DC1F42EE62E8C010E94388AF1 -:10E8D000882309F481C0FF2009F48CC08091F017CF -:10E8E000882351F00F94564187EE93E30F94DA405A -:10E8F00080E090E00F94F8328AEC9BE09A83898361 -:10E900008FE28093C90B81E08B83F12C9BE1D92EA0 -:10E910008091EF17F81678F4DF9CC0011124AE0146 -:10E920004D5F5F4FBE016F5F7F4F8F51994E0E94C9 -:10E930003970F394EDCF8B818B3578F4AE014D5F58 -:10E940005F4FBE016F5F7F4F82E195E10E9439709A -:10E9500089819A8101979A838983E981FA8110825A -:10E96000E091F01784E0E89FF0011124EB53F44F9D -:10E970008091F5179091F617A091F717B091F817BD -:10E9800080839183A283B3830F945A41B8018EECA4 -:10E9900093E30F9443416091F01789E6689FB001BB -:10E9A00011246753744F83EC93E30F9443414091D8 -:10E9B000F5175091F6176091F7177091F8178DEBD6 -:10E9C00093E30F9408418AE00E94AA658091F017B2 -:10E9D0008F5F8093F01726C0FF2039F00F945A41C3 -:10E9E0008DEA93E30F94DA401DC01092F01782E095 -:10E9F000F82E02C0FF24F3940F945A4188EA93E35F -:10EA00000F94DA4081E0F81609F497C084E993E3A3 -:10EA10000F94DA40B80180EA93E30F9443418AE00F -:10EA20000E94AA650E94F870B801CE0103960F9467 -:10EA30005F348C01009709F483C06B817C81EE20E8 -:10EA400009F450C021E0AC0182E195E10E944C9BA9 -:10EA5000882309F43FC08091231590912415A0913B -:10EA60002515B09126158093F1179093F217A09376 -:10EA7000F317B093F4171092F5171092F61710923F -:10EA8000F7171092F817B80186E893E30F94434103 -:10EA90004091F1175091F2176091F3177091F417AC -:10EAA0008EE793E30F9408418AE00E94AA658FE6FF -:10EAB00093E30F94DA40B80180E090E00E941C7468 -:10EAC0008091611A811102C0C80102C081E69AE1F9 -:10EAD00060E030C0B8018BE593E30F94434188E5D3 -:10EAE00093E30FC026E5AC0182E195E10E944C9BC7 -:10EAF00081110AC0B80184E493E30F94434181E497 -:10EB000093E30F94DA401CC08091F91781608093E1 -:10EB1000F917B80180E090E00E941C741092DF1693 -:10EB2000B8018FE293E30F9443418AE00E94AA6503 -:10EB300060E0C8010F94870803C08AE993E368CFB7 -:10EB40000F900F900F900F90DF91CF911F910F9129 -:10EB5000FF90EF90DF900895CF92DF92EF92FF92B7 -:10EB6000CF936B017C01C42F8091561A9091571A54 -:10EB7000A091581AB091591A8C159D05AE05BF0584 -:10EB8000D1F00E94ED96811102C080E018C026E508 -:10EB900038E1B701A60180915F1A9091601A0E9436 -:10EBA0006F97882391F3C092561AD092571AE09229 -:10EBB000581AF092591A81E0C11180935E1ACF91D0 -:10EBC000FF90EF90DF90CF9008954F925F926F92F9 -:10EBD0007F928F929F92AF92BF92CF92DF92EF92ED -:10EBE000FF920F931F93CF93DF93EC0142305105B7 -:10EBF0006105710510F480E069C089859A85AB854F -:10EC0000BC850196A11DB11D84179507A607B707FE -:10EC100090F38F89803149F4852E962EA72EBB2440 -:10EC20008B899C89AD89BE890FC0803221F78B8882 -:10EC30009C88AD88BE88DB01CA01E7E0B695A79540 -:10EC400097958795EA95D1F7880E991EAA1EBB1E47 -:10EC5000280139016A017B0141E0C501B4010E942C -:10EC6000AC75882341F29F89903161F4DD24EE2454 -:10EC7000FF249601220F331FF901EA5AF74E518201 -:10EC8000408211C0E894C7F8DD24EE24FF249601E9 -:10EC9000220F331F220F331FF901EA5AF74E408229 -:10ECA0005182628273829A89923080F04D815E81B6 -:10ECB0006F817885840E951EA61EB71E80925A1A03 -:10ECC00090925B1AA0925C1AB0925D1ADF91CF917C -:10ECD0001F910F91FF90EF90DF90CF90BF90AF907A -:10ECE0009F908F907F906F905F904F900895CF92FC -:10ECF000DF92EF92FF920F931F93CF93DF93FC016C -:10ED000081859285A385B4850196A11DB11D8417C7 -:10ED10009507A607B70710F480E061C087898031A6 -:10ED200049F4BB27A72F962F852FC388D488E58861 -:10ED3000F6880FC0803281F783899489A589B689C6 -:10ED40006A017B01C7E0F694E794D794C794CA950B -:10ED5000D1F78C0D9D1DAE1DBF1DE9016A017B0120 -:10ED60008F014091561A5091571A6091581A70911C -:10ED7000591A84179507A607B70739F040E0BC0178 -:10ED8000CD010E94AC75882339F2F8018789803162 -:10ED900079F4B701A601552766277727440F551F39 -:10EDA000FA01EA5AF74E80819181A0E0B0E012C0EA -:10EDB000B701A6014F77552766277727440F551FC0 -:10EDC000440F551FFA01EA5AF74E80819181A281C2 -:10EDD000B381BF7088839983AA83BB8381E0DF916D -:10EDE000CF911F910F91FF90EF90DF90CF900895FA -:10EDF0004F925F926F927F92AF92BF92CF92DF92CB -:10EE0000EF92FF920F931F93CF93DF9300D01F9247 -:10EE1000CDB7DEB78C0149835A836B837C8359015C -:10EE2000C12CD12C7601412C82E0582E612C712C02 -:10EE300049815A816B817C819E012F5F3F4FC801C0 -:10EE40000E947776882341F1D301C201F80105843D -:10EE500004C0880F991FAA1FBB1F0A94D2F7C80EBF -:10EE6000D91EEA1EFB1E49815A816B817C818789EC -:10EE7000803139F481E0483F5F4F6105710538F416 -:10EE8000D7CF81E0483F5F4F6F4F7F4088F2F50159 -:10EE9000C082D182E282F3820F900F900F900F9088 -:10EEA000DF91CF911F910F91FF90EF90DF90CF9066 -:10EEB000BF90AF907F906F905F904F900895CF92EA -:10EEC000DF92EF92FF920F931F93C12CD12C76010A -:10EED0008C0129EB3CE045EB5CE061EB7CE08DEAEA -:10EEE0009CE00E9464BA1F910F91FF90EF90DF9019 -:10EEF000CF900895CF93C82FCB01009711F00F94B6 -:10EF0000DA4084E797E30F94DA40C11103C085E645 -:10EF100097E302C08AE697E30F94DA408AE0CF9144 -:10EF20000C94AA65CF92DF92EF92FF92CF93DF937A -:10EF300020913102222309F485C0EC01C09019020E -:10EF4000D0901A02E0901B02F0901C0228813981B7 -:10EF50004A815B81C701B6010F942A5E181624F41A -:10EF6000C882D982EA82FB82C0901D02D0901E0224 -:10EF7000E0901F02F0902002288139814A815B8154 -:10EF8000C701B6010F94D45487FF04C0C882D98248 -:10EF9000EA82FB82C0902102D0902202E0902302FC -:10EFA000F09024022C813D814E815F81C701B60122 -:10EFB0000F942A5E181624F4CC82DD82EE82FF8242 -:10EFC000C0902502D0902602E0902702F0902802FF -:10EFD0002C813D814E815F81C701B6010F94D454CD -:10EFE00087FF04C0CC82DD82EE82FF82C0902902BE -:10EFF000D0902A02E0902B02F0902C0228853985CF -:10F000004A855B85C701B6010F942A5E181624F461 -:10F01000C886D986EA86FB86C0902D02D0902E0243 -:10F02000E0902F02F0903002288539854A855B8573 -:10F03000C701B6010F94D45487FF04C0C886D9868F -:10F04000EA86FB86DF91CF91FF90EF90DF90CF9023 -:10F0500008958091530C9091540CA091550CB0914F -:10F06000560C80933F0290934002A0934102B093CC -:10F0700042028091510C9091520C90934A028093DD -:10F080004902089580913F0290914002A09141026F -:10F09000B09142028093530C9093540CA093550C62 -:10F0A000B093560C8091490290914A029093520C71 -:10F0B0008093510C84E690E090934A028093490239 -:10F0C00008954F925F926F927F928F929F92AF922C -:10F0D000BF92CF92DF92EF92FF920F931F93CF9345 -:10F0E000DF93CDB7DEB72C970FB6F894DEBF0FBE17 -:10F0F000CDBF2B013C0129873A874B875C874701AD -:10F100005801F601E080F1800281138120E030E0B7 -:10F11000A901B701C8010F94D45481110BC0E8E5CF -:10F12000FDE385919591A591B491582F492F3A2FE0 -:10F130002B2F04C05E2D4F2D302F212F852F942F84 -:10F14000A32FB22F89839A83AB83BC8320E030E066 -:10F15000A901B701C8010F94D454811104C0E12C56 -:10F16000F12C08EC12E4C701D8018D839E83AF8394 -:10F17000B887A50194016091B50C7091B60C80918F -:10F18000B70C9091B80C0F94D45487FF0CC08092A8 -:10F19000B50C9092B60CA092B70CB092B80CCE0100 -:10F1A00001960E945F774092AD0C5092AE0C609237 -:10F1B000AF0C7092B00C89859A85AB85BC85809325 -:10F1C000B10C9093B20CA093B30CB093B40CCE01DD -:10F1D00005960E945F772091B50C3091B60C409156 -:10F1E000B70C5091B80CC501B4010F94D45487FFEB -:10F1F0000CC08092B50C9092B60CA092B70CB09255 -:10F20000B80CCE0101960E945F770E94BA912C96AD -:10F210000FB6F894DEBF0FBECDBFDF91CF911F9127 -:10F220000F91FF90EF90DF90CF90BF90AF909F90A5 -:10F230008F907F906F905F904F900895CF92DF9264 -:10F24000EF92FF920F931F936A01E090B50CF0903C -:10F25000B60C0091B70C1091B80CFB0120813181E4 -:10F2600042815381FC0160817181828193810E947E -:10F2700061781F910F91FF90EF90DF90CF900895EC -:10F28000CF92DF92EF92FF920F931F936B01FC01DD -:10F29000E080F18002811381EDEAFCE02481358178 -:10F2A0004681578160817181828193810E9461785A -:10F2B0001F910F91FF90EF90DF90CF900895CF9323 -:10F2C000DF9380E00E94E592C4E4DCE06883798308 -:10F2D0008A839B8381E00E94E5926C837D838E8389 -:10F2E0009F8382E00E94E592688779878A879B875F -:10F2F000DF91CF9108951F93CF93DF93CDB7DEB702 -:10F3000060970FB6F894DEBF0FBECDBF182F0E94D6 -:10F310005F798091440C9091450CA091460CB0917E -:10F32000470C89839A83AB83BC838091480C90916E -:10F33000490CA0914A0CB0914B0C8D839E83AF83F6 -:10F34000B88780914C0C90914D0CA0914E0CB091CF -:10F350004F0C89879A87AB87BC878091B90C9091B5 -:10F36000BA0CA091BB0CB091BC0C8D879E87AF8767 -:10F37000B88BCE0101960E9478931E3F51F480E134 -:10F38000FE013196ADEABCE001900D928A95E1F75D -:10F3900016C024E0129FC0011124FC01E355F34F75 -:10F3A000A1E0B0E0AC0FBD1FA80FB91F8D919D91DA -:10F3B0000D90BC91A02D80839183A283B38360962E -:10F3C0000FB6F894DEBF0FBECDBFDF91CF911F9176 -:10F3D00008950C94BABA80912E0A811105C08091CB -:10F3E000300A811101C008958091500C659B02C0C4 -:10F3F000816001C08E7F8093500C909103018091B9 -:10F40000500C91FF02C0826001C08D7F8093500C30 -:10F410008091500C4B9B02C0846001C08B7F809315 -:10F42000500C80918E1280FF10C080912F0A80FFB7 -:10F430000CC08091500C80FF08C08091C20B81608D -:10F440008093C20B80E00E946BCE80918E128695D5 -:10F4500080FF11C080912F0A869580FF0CC080919B -:10F46000500C81FF08C08091C20B82608093C20B58 -:10F4700081E00E946BCE80918E128695869580FFEA -:10F4800016C080912F0A8695869580FF10C08091C6 -:10F49000300A882361F08091500C82FF08C080916F -:10F4A000C20B84608093C20B82E00C946BCE0895F3 -:10F4B000CF93DF9300D01F92CDB7DEB784EF91E0FA -:10F4C000A0E0B0E089839A83AB83BC83BE016F5F09 -:10F4D0007F4F8CE30F94C10D82E997E30F94DA40DC -:10F4E0008CB16CE877E385FB882780F90E947A77F6 -:10F4F0008091030166E877E3869581700E947A77B0 -:10F5000089B160E877E383FB882780F90E947A77E6 -:10F510008CB167E777E3829581700E947A778EEEEF -:10F5200092E0A0E0B0E04B9911C089839A83AB834D -:10F53000BC83BE016F5F7F4F8AE00F94C10D0F90B7 -:10F540000F900F900F90DF91CF91089589839A8348 -:10F55000AB83BC83BE016F5F7F4F8AE5EECF8091A6 -:10F560002E0A811104C08091300A882331F062E0B4 -:10F5700070E080E090E00D946E4008958091C20BA1 -:10F58000882319F01092C20B089587E597E30F9432 -:10F59000F832A0E8B1E120E030E0C90124303105C3 -:10F5A00010F083E090E0880F991F880F991FFC01ED -:10F5B000E955FB4C459155916591749154964D9345 -:10F5C0005D936D937C935797FC01E956FB4C4591F5 -:10F5D00055916591749194964D935D936D937C9341 -:10F5E0009797FC01E957FB4C4591559165917491B2 -:10F5F0004D935D936D937D932F5F3F4F2430310585 -:10F6000009F0CBCF80E29EE4A0E0B0E080939011BF -:10F6100090939111A0939211B093931180E090E098 -:10F62000A6E9B3E48093B4119093B511A093B611F9 -:10F63000B093B71140E050E06AE774E44093B8112A -:10F640005093B9116093BA117093BB118093BC11A0 -:10F650009093BD11A093BE11B093BF111092C01131 -:10F660001092C1111092C2111092C3111092C411C4 -:10F670001092C5111092C6111092C7118AE097ED31 -:10F68000A3EABDE38093BD0C9093BE0CA093BF0C86 -:10F69000B093C00C8CE0E1E3FAE0DF011D928A95A3 -:10F6A000E9F781E080934D021092000A0E944063C6 -:10F6B00080E090E0A0EAB0E48093150290931602F7 -:10F6C000A0931702B093180283E796E00E94C866E1 -:10F6D0001092370C1092380C1092390C10923A0C90 -:10F6E00080E00F94033F0F942B3F80E090E0A8ED63 -:10F6F000B1EC8093830C9093840CA093850CB09311 -:10F70000860C1092870C1092880C1092890C109223 -:10F710008A0C10928B0C10928C0C10928D0C109203 -:10F720008E0C80E090E0AAECB1E48093F30C90930F -:10F73000F40CA093F50CB093F60C85E698E0A6EBDC -:10F74000BEE38093F70C9093F80CA093F90CB09360 -:10F75000FA0C81E09FE1A0EEB3E48093FB0C909360 -:10F76000FC0CA093FD0CB093FE0C83EC95E9ACE28D -:10F77000B4E480930D0A90930E0AA0930F0AB093FD -:10F78000100A80E29BE1A2E9B1E48093110A909310 -:10F79000120AA093130AB093140A87EF9CEDABEC06 -:10F7A000B5E48093150A9093160AA093170AB093B4 -:10F7B000180A10927D1280E090E0A0EEBFE38093E3 -:10F7C000821290938312A0938412B09385121092A8 -:10F7D0002E0A10922D0A0E94AF7A80E090E0A7EDE9 -:10F7E000B3E480933B0C90933C0CA0933D0CB093FE -:10F7F0003E0C80933F0C9093400CA093410CB0932F -:10F80000420C0F94700383E796E00C94C8668091D5 -:10F810001F16909120168051934060E970E00F947C -:10F82000995BCB010895EF92FF920F931F93CF93B3 -:10F83000DF9300D01F92CDB7DEB7182F7B010E9457 -:10F84000077C17FD2FC0212F110F330B2817390705 -:10F850004CF52F5F3F4F80E9829FA001839F500DA1 -:10F86000112480911F1690912016841B950B9C8368 -:10F870008B831A821982E114F10411F0B70102C0DE -:10F880006CED71E101E09E012F5F3F4F40E950E0D8 -:10F89000CE0103960E947063882321F08BE694E3E7 -:10F8A0000F94DA400F900F900F900F90DF91CF914F -:10F8B0001F910F91FF90EF9008951F93CF93DF93C7 -:10F8C00000D01F92CDB7DEB7182F0E94077C17FD1E -:10F8D00029C0212F110F330B281739071CF52F5F73 -:10F8E0003F4F80E9829FA001839F500D112480919A -:10F8F0001F1690912016841B950B9C838B831A8274 -:10F9000019829E012F5F3F4F40E950E06CED71E19D -:10F91000CE0103960E94AD63882321F08FE494E327 -:10F920000F94DA400F900F900F900F90DF91CF91CE -:10F930001F9108954F925F926F927F928F929F9244 -:10F94000AF92BF92CF92DF92EF92FF922091770C0D -:10F950003091780C4091790C50917A0C6091AD0CFB -:10F960007091AE0C8091AF0C9091B00C0F94CA5B6B -:10F97000AB01BC018AEC97E30F94264120917B0CEC -:10F9800030917C0C40917D0C50917E0C6091B10CBB -:10F990007091B20C8091B30C9091B40C0F94CA5B2F -:10F9A000AB01BC0186EC97E30F94264120917F0CBC -:10F9B0003091800C4091810C5091820C6091B50C7B -:10F9C0007091B60C8091B70C9091B80C0F94CA5BF3 -:10F9D000AB01BC0182EC97E30F9426414091B90C36 -:10F9E0005091BA0C6091BB0C7091BC0C8EEB97E3FC -:10F9F0000F94264180916F00982F927081FF05C06F -:10FA000080916F008D7F80936F0040909C1250908A -:10FA10009D1260909E1270909F128090A012909004 -:10FA2000A112A090A212B090A312C090A412D090E4 -:10FA3000A512E090A612F090A712992329F08091C8 -:10FA40006F00826080936F0084EB97E30F94DA403D -:10FA5000C301B2010E941E6680EB97E30F94DA4067 -:10FA6000C501B4010E941E668CEA97E30F94DA4048 -:10FA7000C701B6010E941E668AE0FF90EF90DF90FA -:10FA8000CF90BF90AF909F908F907F906F905F903E -:10FA90004F900C94AA65CF93C82F811102C00F9488 -:10FAA0005A4180E497E30F94DA408AE397E30F9496 -:10FAB000DA408AE00E94AA658AE00E94AA65C11124 -:10FAC00014C00F945A4187E297E30F94DA40809173 -:10FAD0007D12882321F08AE00E94AA6504C08CE18F -:10FAE00097E30F94DA400F945A414091821250915B -:10FAF0008312609184127091851283E197E30F94D1 -:10FB000026418AE00E94AA6580917D12811108C079 -:10FB1000C11102C00F945A4188E097E30F94DA4074 -:10FB2000C11106C00F945A4187EF96E30F94DA4053 -:10FB30006FEF81E08C270E942FDBC11108C00F946A -:10FB40005A4189ED96E30F94DA400F945A4140915F -:10FB5000A4115091A5116091A6117091A71180ED8B -:10FB600096E30F9426414091A8115091A9116091FC -:10FB7000AA117091AB118DEC96E30F942641409140 -:10FB8000AC115091AD116091AE117091AF118AEC32 -:10FB900096E30F9426414091B0115091B1116091BC -:10FBA000B2117091B31187EC96E30F9426418AE06D -:10FBB0000E94AA65C11108C00F945A4185EA96E3D4 -:10FBC0000F94DA400F945A41609180117091811125 -:10FBD00080918211909183110F94D954AB01BC0193 -:10FBE0008CE996E30F942641609184117091851100 -:10FBF00080918611909187110F94D954AB01BC016B -:10FC000089E996E30F9426416091881170918911DA -:10FC100080918A1190918B110F94D954AB01BC0142 -:10FC200086E996E30F94264160918C1170918D11B5 -:10FC300080918E1190918F110F94D954AB01BC011A -:10FC400083E996E30F9426418AE00E94AA65C111D8 -:10FC500008C00F945A4189E496E30F94DA400F9458 -:10FC60005A414091B4115091B5116091B611709103 -:10FC7000B71180E496E30F9426414091B81150915A -:10FC8000B9116091BA117091BB118DE396E30F9495 -:10FC900026414091BC115091BD116091BE117091EF -:10FCA000BF118AE396E30F9426418AE00E94AA6579 -:10FCB000C1110FC00F945A4182EF95E30F94DA40BF -:10FCC00085EE95E30F94DA408AE00E94AA650F94CE -:10FCD0005A4160919011709191118091921190917F -:10FCE00093110F94D954AB01BC018CED95E30F94A3 -:10FCF00026414091C0115091C1116091C211709183 -:10FD0000C31189ED95E30F9426414091C4115091A0 -:10FD1000C5116091C6117091C71186ED95E30F94DE -:10FD200026414091BD0C5091BE0C6091BF0C70916A -:10FD3000C00C83ED95E30F9426418AE00E94AA65EA -:10FD4000C11108C00F945A4185EC95E30F94DA4035 -:10FD50000F945A414091310A5091320A6091330A0E -:10FD60007091340A8CEB95E30F9426414091350A4B -:10FD70005091360A6091370A7091380A89EB95E301 -:10FD80000F9426414091390A50913A0A60913B0AFA -:10FD900070913C0A86EB95E30F9426418AE00E941D -:10FDA000AA65C1110CC00F945A4187EB94E30F94DC -:10FDB000DA4083EB95E30F94DA400F945A41609157 -:10FDC0005F0C70E08AEA95E30F94374140916C1222 -:10FDD00050916D1260916E1270916F1287EA95E3E7 -:10FDE0000F9426418AE00E94AA65C11124C08AE0CE -:10FDF0000E94AA650F94E9406091430C062E000C06 -:10FE0000770B83E995E30F9437418AE00E94AA6556 -:10FE10000E94077CBC0182E895E30F94194187E7B3 -:10FE200095E30F94DA400F945A4188E695E30F94D6 -:10FE3000DA400F945A414091F30C5091F40C6091C8 -:10FE4000F50C7091F60C8FE595E30F9426412CEAA2 -:10FE500035EC47E25EE36091F70C7091F80C80910D -:10FE6000F90C9091FA0C0F94C45CAB01BC018CE5C9 -:10FE700095E30F9426412CEA35EC47E25EE360916E -:10FE8000FB0C7091FC0C8091FD0C9091FE0C0F947A -:10FE90003A55AB01BC0189E595E30F9426418AE010 -:10FEA0000E94AA65C11102C00F945A4140910D0AE7 -:10FEB00050910E0A60910F0A7091100A80E595E347 -:10FEC0000F9426412CEA35EC47E25EE36091110A7B -:10FED0007091120A8091130A9091140A0F94C45CD5 -:10FEE000AB01BC018DE495E30F9426412CEA35EC7F -:10FEF00047E25EE36091150A7091160A8091170A35 -:10FF00009091180A0F943A55AB01BC018AE495E32D -:10FF10000F9426418AE00E94AA65C11110C00F9477 -:10FF20005A418BE395E30F94DA408AE397E30F9409 -:10FF3000DA408CEC94E30F94DA400F945A414091EC -:10FF4000830C5091840C6091850C7091860C82E337 -:10FF500095E30F9426418AE00E94AA654091870CA0 -:10FF60005091880C6091890C70918A0C89E295E31C -:10FF70000F9426418AE00E94AA6540918B0C509113 -:10FF80008C0C60918D0C70918E0C80E295E30F9437 -:10FF900026418AE00E94AA65C11108C00F945A4107 -:10FFA00081E095E30F94DA400F945A418FEC94E38B -:10FFB0000F94DA4040913F0C5091400C6091410CFD -:10FFC0007091420C8FEF94E30F94264140913B0CCB -:10FFD00050913C0C60913D0C70913E0C8CEF94E381 -:10FFE0000F9426418AE00E94AA65C11108C00F94AF -:10FFF0005A4183EE94E30F94DA400F945A41609192 -:020000021000EC -:100000004D0270E08AED94E30F9437414091150260 -:1000100050911602609117027091180287ED94E3D7 -:100020000F9426418AE0CF910C94AA658091090132 -:1000300080FD06C08091F91783FB882780F9089519 -:1000400080E008950F931F93CF93DF938B01D82FF8 -:10005000C92F4630C1F41092AD131092AE13109216 -:10006000AF131092B0131092B1130E9422FD20E042 -:1000700030E04CE053E4B8018D2F9C2F0F94D45402 -:1000800087FD0FC01DC00F941B0920E030E046E93A -:1000900053E4B8018D2F9C2F0F94D45487FD20C0BA -:1000A0002EC020E030E0A901B8018D2F9C2F0F94C5 -:1000B0002A5E18164CF000E010E0D0E0C0E004C06A -:1000C00000E010E0DCE0C3E4B8018D2F9C2F0F941A -:1000D000365DCB01DF91CF911F910F910C94FBEB1B -:1000E00020E030E0A901B8018D2F9C2F0F942A5EEB -:1000F00018164CF000E010E0D0E0C0E004C000E0D2 -:1001000010E0D6E9C3E4B8018D2F9C2F0F94365D23 -:10011000CB01DF91CF911F910F910C94529C909144 -:100120007314977081E0973009F080E00895809112 -:10013000F9159091FA15891B8F7069F48091C10BA4 -:10014000811109C081E020913E0A30913F0A232BA2 -:1001500019F480E0089581E008953F924F925F92F4 -:100160006F927F928F929F92AF92BF92CF92DF92C7 -:10017000EF92FF920F931F93CF93DF93CDB7DEB72C -:1001800062970FB6F894DEBF0FBECDBF2B013C01C6 -:10019000342E24E0429FC00111249A8B898BFC01EC -:1001A000E355F34FC080D180E280F38020E030E05F -:1001B0004AE754E4C701B6010F94C95B4B015C01E7 -:1001C00020E030E04AE754E4C701B6010F94CA5B6F -:1001D0007B018C01809131028823D1F181E03816B6 -:1001E00039F13816A0F092E0391232C0809029021D -:1001F00090902A02A0902B02B0902C02E0902D0249 -:10020000F0902E0200912F021091300221C08090B8 -:10021000190290901A02A0901B02B0901C02E0906C -:100220001D02F0901E0200911F021091200210C0CA -:100230008090210290902202A0902302B09024028C -:10024000E0902502F09026020091270210912802EA -:1002500080E1E3EDF2E0DE01119601900D928A95C6 -:10026000E1F7E1E0F0E0EC0FFD1F89899A89E80FE2 -:10027000F91F20E030E040E752E460817181828123 -:1002800093810F94C45C60933F027093400280930B -:100290004102909342028091741481FF0E9409EC04 -:1002A0009201A301B701C8010F942A5E181614F435 -:1002B000720183019701A801B401C5010F94D454C0 -:1002C00087FD02C074018501E989FA89EA56F34F76 -:1002D000C701D80180839183A283B3838091741472 -:1002E00082608093741462960FB6F894DEBF0FBEDE -:1002F000CDBFDF91CF911F910F91FF90EF90DF90D5 -:10030000CF90BF90AF909F908F907F906F905F90B5 -:100310004F903F9008952091741490E0880F991F9A -:10032000880F991FFC0121FF03C0EA56F34F02C05A -:10033000E355F34F6081718182819381089520910B -:10034000741420FF14C020E83EE3629FA001639F65 -:10035000500D729F500D1124CA0196958795969560 -:100360008795009731F08A950000E9F708950D947C -:100370006E4008959F92AF92BF92CF92DF92EF921C -:10038000FF920F931F93CF93DF9380916D0C833077 -:1003900009F50E948F808823E9F060910A0A709124 -:1003A0000B0A072E000C880B990B0F94DB5420E0EE -:1003B00030E040E85FE30F94C95B2091060A30917A -:1003C000070A4091080A5091090A0F94D45418164C -:1003D0000CF066C0D0E000E010E0FF24F394EE24BF -:1003E000E39446E0D42EC0E0CC24C39456E0B52E6E -:1003F00065E0A62E72E8972EFC24DC16F1F18D2F15 -:1004000090E08397C4F5C530B1F10530A1F1DF5F0D -:10041000F801BC9EE00DF11D1124EE0FFF1FEE0F41 -:10042000FF1FE452FE4E20E030E04AE754E46081D2 -:100430007181828193810F943A550F94365D709348 -:100440007E1660937D16A0927116909274168D2F71 -:1004500090E08158974F880F991F092E000CAA0B26 -:10046000BB0B8093751690937616A0937716B09376 -:1004700078160F945232CE0DC0CF0F5F1F4F06304B -:10048000110579F1F11006C0EE24EA94DD24DA9426 -:10049000C5E0B2CFEE24E39436E0D32EC0E0ACCF7B -:1004A00081E09AE590937E1680937D1680E490E03B -:1004B0009093801680937F1687E08093711682E870 -:1004C0008093741684E890E0A0E0B0E08093751605 -:1004D00090937616A0937716B09378160F945232B5 -:1004E00079CFDF91CF911F910F91FF90EF90DF9027 -:1004F000CF90BF90AF909F900895AF92BF92CF9250 -:10050000DF92EF92FF920F931F93CF93DF93EC0153 -:1005100088EEC82E80E2D82EE12CF12C02E8A12C26 -:1005200090E2B92E15E000937416C0927516D09221 -:100530007616E0927716F0927816B0927E16A09218 -:100540007D16109371160F9452328FEFC81AD80A85 -:10055000E80AF80A80E1C81681E2D806E104F1044D -:1005600011F748EE50E260E070E0CE01DF91CF91EC -:100570001F910F91FF90EF90DF90CF90BF90AF90C1 -:100580000D94013284E080936C0C82E08093B0087B -:1005900081E09AE590937E1680937D168EE490E03C -:1005A0009093801680937F1687E08093711682E87F -:1005B0008093741684E890E0A0E0B0E08093751614 -:1005C00090937616A0937716B09378160F945232C4 -:1005D00086E896E00C94C866CF92DF92EF92FF9285 -:1005E0006A017B010E94779E882331F0FF90EF9093 -:1005F000DF90CF900C94F79DC701B601FF90EF906C -:10060000DF90CF9008952F923F924F925F926F921A -:100610007F928F929F92AF92BF92CF92DF92EF9292 -:10062000FF920F931F93CF93DF93CDB7DEB7CD54D7 -:10063000D1090FB6F894DEBF0FBECDBF60E070E009 -:1006400085E40E94849E182F81E0810F823018F08B -:100650008CE09AE354C065E070E083E40E94849EDD -:1006600089A760E085E50E944BED2C968FAF2C9713 -:1006700017FF05C040E050E06CE872E404C040E0C1 -:1006800050E066E173E483E50E94EC820F94365DEE -:10069000072E000C880B990B0F94DB546D837E831F -:1006A0008F832E969FAF2E970F94783E2B013C019F -:1006B0001F3F09F409C5E12E012E000CFF08F701C8 -:1006C00083E0EE0FFF1F8A95E1F7E45FFD4F66813F -:1006D00077816F507109072E000C880B990B0F94CE -:1006E000DB549B01AC016D817E818F812E969FAD85 -:1006F0002E970F942A5E1816ECF481EE99E3C35BF3 -:10070000DF4F0FB6F894DEBF0FBECDBFDF91CF91A4 -:100710001F910F91FF90EF90DF90CF90BF90AF901F -:100720009F908F907F906F905F904F903F902F9011 -:100730000D94DA408DEC99E30F94DA400E9471FD3C -:1007400087E18E9DF0018F9DF00D1124E851F34F4C -:100750008FE7828722E330E0A8EEB3E00F947E5B60 -:100760006BA77CA78DA79EA79B01AC01240D351D0F -:10077000461D571D28AF39AF4AAF5BAF81E080936C -:10078000140210925A021F3F11F58BEA9AEAAAEA64 -:10079000BEE38CAF9DAFAEAFBFAF2DEC3CEC4CE4F5 -:1007A0005EE324962CAF3DAF4EAF5FAF2497259606 -:1007B0001FAE259745E159E327965FAF4EAF2797C8 -:1007C0008FED98E329969FAF8EAF299721C020E047 -:1007D00030E040E05EE32CAF3DAF4EAF5FAF8AE963 -:1007E00099E9A9E1BFE324968CAF9DAFAEAFBFAF4F -:1007F000249725961FAF2597A3E0B9E32796BFAFAF -:10080000AEAF2797ECECF8E32996FFAFEEAF299750 -:1008100049A25AA26BA27CA24FA658AA69AA7AAA98 -:100820002FE730E040E050E0288739874A875B8730 -:10083000188A198A1A8A1B8A1C861D861E861F869C -:10084000C12CD12C76011E8A30E43F8B4CE1488FBD -:1008500056E4598F1A8E1B8E1C8E1D8E1BAACCAA95 -:10086000DDAAEEAAFFAAFFE78F2E912CA12CB12CB6 -:100870001DA21EA21FA218A681E088A31D8A1C8AA1 -:10088000212C312C00E02D961FAE2D97A7E11A02E6 -:10089000C00111248851934FFC013A962B96FFAF6B -:1008A000EEAF2B979C012C5F3F4F3F8F2E8F49A5BA -:1008B000042E000C550B5AA749A7809114028823D7 -:1008C00009F454C20F94783E69837A838B839C83A6 -:1008D0008091B813882309F4BAC00E9425FF1F3FF6 -:1008E00061F42090060A3090070A0091080A50919E -:1008F000090A2D965FAF2D970EC0AE8DBF8D2C903F -:1009000011963C90119712960C9112971396BC91E8 -:100910002D96BFAF2D972A8D3B8D4C8D5D8DB101EE -:10092000802F2D969FAD2D970F942A5E18163CF4BC -:100930002A8E3B8E0C8F2D96EFAD2D97ED8F2E8945 -:100940003F89488D598DB101802F2D969FAD2D97F0 -:100950000F94D45487FF07C02E8A3F8A088F2D96A4 -:10096000FFAD2D97F98F28A1222309F44DC09101E5 -:10097000402F2D965FAD2D976D817E818F812E96B4 -:100980009FAD2E970F94D45487FF61C049815A813F -:100990006B817C814419550966097709DB01CA011D -:1009A00088589341A109B109B7FD51C0888599853F -:1009B000AA85BB8588199909AA09BB09B595A79588 -:1009C000979587951F3F19F480930C0A05C02B96C5 -:1009D000EEADFFAD2B9780834DA35EA36FA378A7E9 -:1009E000FD81FA8F2E812B8F3F813C8F2E964FAD4C -:1009F0002E974D8F89819A81AB81BC8189A39AA35F -:100A0000ABA3BCA318A223C09101402F2D965FADCC -:100A10002D976D817E818F812E969FAD2E970F949D -:100A20002A5E1816A4F489819A81AB81BC8129A120 -:100A30003AA14BA15CA1821B930BA40BB50BAC019B -:100A4000BD01485853416109710977FFAEC120E0EB -:100A500030E040EA51E46D817E818F812E969FAD1A -:100A60002E970F94CA5B9101402F2D965FAD2D9765 -:100A70000F94D45487FF03C087E399E3B9C08981F9 -:100A80009A81AB81BC812FA538A949A95AA9821B9B -:100A9000930BA40BB50BB7FD90C025968FAD259792 -:100AA0000E94DCF58AE00E94AA6589819A81AB8167 -:100AB000BC818053984FAF4FBF4F8FA798ABA9AB66 -:100AC000BAAB9BA9911159C02CA93DA94EA95FA908 -:100AD000B101802F2D969FAD2D970F942A5E181689 -:100AE000BCF520E030E040E050E4B101802F2D96CD -:100AF0009FAD2D970F94CA5B6CAB7DAB8EAB9FAB5C -:100B00002BA53CA54DA55EA589819A81AB81BC81B1 -:100B1000280F391F4A1F5B1F28AF39AF4AAF5BAFA1 -:100B200020E030E040EC50E46D817E818F812E9694 -:100B30009FAD2E970F94C95B9101402F2D965FAD0D -:100B40002D970F94D454881F8827881F8BAB35C0EE -:100B500089819A81AB81BC8128AD39AD4AAD5BAD4D -:100B6000821B930BA40BB50BB7FD27C027964EAD88 -:100B70005FAD279768E279E31DC020E030E040EAEE -:100B800051E46D817E818F812E969FAD2E970F94BB -:100B9000C95B9B01AC01B101802F2D969FAD2D97B4 -:100BA0000F94D45487FF09C029964EAD5FAD2997A5 -:100BB00063EF78E3812F0E942ACA89819A81AB81F1 -:100BC000BC81880F991FAA1FBB1F29A13AA14BA165 -:100BD0005CA1821B930BA40BB50B84199509A60984 -:100BE000B70981389F44A241B10528F08EEA98E305 -:100BF0000F94DA40BBC049A55AA58C899D89481736 -:100C000059070CF0B0C003970CF4ADC081E598E330 -:100C10000F94DA401F3F29F4A1E4B8E3BA83A98313 -:100C200004C0E0E4F8E3FA83E9838FE298E30F94E9 -:100C3000DA4089819A810F94DA40B701A6018DE4E8 -:100C400098E30F9426418AE00E94AA658FE298E318 -:100C50000F94DA4089819A810F94DA404C855D8542 -:100C60006E857F8589E498E30F9426418AE00E948F -:100C7000AA658FE298E30F94DA4089819A810F94F4 -:100C8000DA40488959896A897B8985E498E30F9419 -:100C900026418AE00E94AA652C96FFAD2C97FF237F -:100CA00009F466C01F3F69F5C0920D0AD0920E0A82 -:100CB000E0920F0AF092100A2CEA35EC47E25EE36C -:100CC0006C857D858E859F850F943A556093110ABA -:100CD0007093120A8093130A9093140A2CEA35EC4D -:100CE00047E25EE3688979898A899B890F94C45CAD -:100CF0006093150A7093160A8093170A9093180A46 -:100D000037C047E11402900111242851334F3A8330 -:100D10002983D9011B96CD92DD92ED92FC921E970C -:100D20002CEA35EC47E25EE36C857D858E859F85F8 -:100D30000F943A55E981FA816787708B818B928B8A -:100D40002CEA35EC47E25EE3688979898A899B89D8 -:100D50000F94C45CA981BA8153966D937D938D9352 -:100D60009C93569705C00E949330A7CD0E9471FDB9 -:100D700081E080935A02C35BDF4F0FB6F894DEBF69 -:100D80000FBECDBFDF91CF911F910F91FF90EF90DC -:100D9000DF90CF90BF90AF909F908F907F906F909B -:100DA0005F904F903F902F9008954C895D89452B1F -:100DB00009F451C14DA05EA06FA078A4480E591E41 -:100DC0006A1E7B1E2DA13EA14FA158A5281B390BE1 -:100DD0004A0B5B0BC501B4010F941A5BA30192018E -:100DE0000F944C5B88849984AA84BB84820E931EE2 -:100DF000A41EB51E54E185169104A104B1040CF1A2 -:100E00008CEE88169104A104B1043CF490E8891694 -:100E10009104A104B10434F422C06BEE862E912C0F -:100E2000A12CB12C88869986AA86BB862EEF30E04D -:100E300040E050E0281939094A095B0949015A0183 -:100E400012C084E190E0A0E0B0E088879987AA878B -:100E5000BB8754E1852E912CA12CB12C04C088862F -:100E60009986AA86BB8685EC99E30F94DA4068855B -:100E700079858A859B850E941E6680EC99E30F9494 -:100E8000DA40C501B4010E941E664E895F89688DF3 -:100E9000798D89EB99E30F9426414A8D5B8D6C8D9A -:100EA0007D8D82EB99E30F942641AC89BD89139720 -:100EB0000CF4D1C0C501B4010F94DB5420E030E044 -:100EC00040E850E40F943A556B017C012E893F892C -:100ED000488D598D6A8D7B8D8C8D9D8D0F94C95B4E -:100EE0002BED3FE049E450E40F943A5520E030E028 -:100EF00040E05FE30F943A559B01AC01C701B60196 -:100F00000F94C45C6B017C01C301B2010F94DB54EC -:100F10002FE632E143E85AE30F943A552B013C01A6 -:100F2000B701A6018CEA99E30F942641B301A2010F -:100F300086EA99E30F9426411F3F09F044C02DEC47 -:100F40003CEC4CE45EE3C701B6010F943A556B01EB -:100F50007C019B01AC010F94CA5BA30192010F9429 -:100F6000C45C6C877D878E879F87A7019601C3012C -:100F7000B2010F943A5520E030E040E450E40F9481 -:100F8000C45C688B798B8A8B9B8B86E999E30F9481 -:100F9000DA40B701A60180E999E30F9426414C8518 -:100FA0005D856E857F858AE899E30F94264148899F -:100FB00059896A897B8984E899E30F9426418AE0FC -:100FC0000E94AA654AC024962CAD3DAD4EAD5FADE2 -:100FD0002497C701B6010F943A556B017C019B0120 -:100FE000AC01C301B2010F943A552CAD3DAD4EADED -:100FF0005FAD0F943A55688B798B8A8B9B8BA701D9 -:101000009601C701B6010F94CA5BA30192010F9428 -:10101000C45C6C877D878E879F8784E799E30F94F4 -:10102000DA40B701A6018EE699E30F9426414C857C -:101030005D856E857F8588E699E30F942641488912 -:1010400059896A897B8982E699E30F9426418AE06F -:101050000E94AA6511C01F3F79F488859985AA85E9 -:10106000BB85880D991DAA1DBB1DB595A7959795A4 -:10107000879580930C0A11C088859985AA85BB85C0 -:10108000880D991DAA1DBB1DB595A79597958795A8 -:101090002B96EEADFFAD2B9780832C893D892F5F7A -:1010A0003F4F3D8B2C8B3D813E8B4E814F8B5F8123 -:1010B000588F2E968FAD2E97898F49805A806B80DE -:1010C0007C8091E098A3C3CC20E030E047E053E47B -:1010D0006D817E818F812E969FAD2E970F942A5E13 -:1010E00018160CF40ACB8DEC99E30F94DA400E94A9 -:1010F00071FD8FE780930C0A24EB30E02DCB2F920B -:101100003F924F925F926F927F928F929F92AF9297 -:10111000BF92CF92DF92EF92FF920F931F93CF93E4 -:10112000DF93EB01FC0180809180A280B380C50138 -:10113000B40120E831E541E050E00F942A5BC90199 -:101140006DE671E00F94995B6B017C01C501B40100 -:1011500020E13EE040E050E00F942A5BCA01B90173 -:1011600028E130E040E050E00F942A5B362E272E35 -:10117000062F172F8CE3482E512C612C712CC501A2 -:10118000B401A30192010F942A5BB62EA72ECA01C7 -:10119000B901A30192010F942A5BCB01C114D104C0 -:1011A000D9F0AF92BF927F936F932F923F92FF92AD -:1011B000EF92DF92CF928BE198E39F938F93DF932F -:1011C000CF930F946C548DB79EB70E960FB6F894CC -:1011D0009EBF0FBE8DBF5CC0E114F104C9F0AF9299 -:1011E000BF927F936F932F923F92FF92EF928BE08B -:1011F00098E39F938F93DF93CF930F946C54EDB745 -:10120000FEB73C960FB6F894FEBF0FBEEDBF40C0D0 -:10121000012BB9F0AF92BF927F936F932F923F92C1 -:101220008FEF97E39F938F93DF93CF930F946C543B -:101230008DB79EB70A960FB6F8949EBF0FBE8DBFAE -:1012400027C0892BA9F0AF92BF927F936F9387EF4E -:1012500097E39F938F93DF93CF930F946C54EDB7E5 -:10126000FEB738960FB6F894FEBF0FBEEDBF10C0A4 -:10127000AF92BF9283EF97E39F938F93DF93CF93C8 -:101280000F946C540F900F900F900F900F900F9041 -:10129000DF91CF911F910F91FF90EF90DF90CF9052 -:1012A000BF90AF909F908F907F906F905F904F9086 -:1012B0003F902F9008958F929F92AF92BF92CF92BE -:1012C000DF92EF92FF920F931F93CF93DF93CDB7EF -:1012D000DEB7E6970FB6F894DEBF0FBECDBF009124 -:1012E0005D0C10915E0C82E08093320CF80101904D -:1012F0000020E9F731975F01A01AB10AF801CF0188 -:10130000801B910B8A159B0534F480818F3209F480 -:1013100010823196F4CF8BE1EBE6F5E1DE015C96CD -:1013200001900D928A95E1F7E12CF12CEA14FB046F -:101330000CF084C0F801EE0DFF1D8081811103C007 -:101340008FEFE81AF80A6801CE0CDF1CF6018081E5 -:10135000882309F473C0FFEFEF1AFF0AF801EE0DBE -:10136000FF1D7F01E01AF10A81918111FACFCE01B0 -:101370004C960E9433968BE1FE017C96DE0111961D -:1013800001900D928A95E1F7A601BE016F5F7F4F34 -:1013900080E090E00E947E72CE0101960E946997E3 -:1013A0008FE20E94AA658091611A811103C080EAD0 -:1013B00096E002C081E69AE14C01F40181914F016F -:1013C000882319F00E94AA65F8CF8091F91784FF4D -:1013D00035C019821C8221E0A601BE01645E7F4FE8 -:1013E000CE0101960E944C9B811116C08AE00E949A -:1013F000AA650F945A418FED97E30F94DA40F601F6 -:1014000081916F01882319F00E94AA65F8CFCE015F -:1014100001960E94699712C0CE014C960E94609777 -:101420008BE1FE013196DE015C9601900D928A956A -:10143000E1F7CE0101960E94699778CF8AE00E9479 -:10144000AA65CE014C960E946997E6960FB6F8946D -:10145000DEBF0FBECDBFDF91CF911F910F91FF90E7 -:10146000EF90DF90CF90BF90AF909F908F900895B6 -:101470009091F91793FB882780F993FF06C081E0CC -:1014800090911515911101C080E00895CF93DF93DD -:10149000E091C00BF0E0E552F94E8081882309F419 -:1014A00047C083ED97E30F94DA40C091C00B40E64C -:1014B000C49FE0011124C05CD54F88818E3479F43B -:1014C00080E20E94AA6589910E94AA65899190EDA7 -:1014D000980F9A30C8F38D32B9F38B32A9F380EDAF -:1014E00097E30F94DA409091F9158091FA15981BC3 -:1014F0009F706AE070E02FE030E0A901491B5109BC -:10150000CA010E943A668DEC97E30F94DA409091FD -:10151000C10B6AE070E024E030E0A901491B5109E9 -:10152000CA010E943A668AE0DF91CF910C94AA65C5 -:10153000DF91CF9108950E94D56686ED97E30F94D1 -:10154000DA408091590C90915A0CA0915B0CB091AB -:101550005C0CBC01CD016F5F7F4F8F4F9F4F0E948E -:101560001E660E94C2660C94468A0F931F93CF9307 -:101570008C01C62F0F945641C8010F94DA40609138 -:10158000590C70915A0C80915B0C90915C0C0E94EC -:101590001E660E94C266C11104C00E94DA660196EE -:1015A000E1F70E949B8AEC2FEE0FFF0BE95AF34FF5 -:1015B00011821082CF911F910F9108955F926F92C7 -:1015C0007F928F929F92AF92BF92CF92DF92EF92D3 -:1015D000FF920F931F93CF93DF93CDB7DEB76DB616 -:1015E0007EB67C0100E010E08DB69EB6F701E00FFC -:1015F000F11F5490C80101965C01552029F09AE032 -:10160000591611F08501F2CF8DB79EB78A199B0943 -:101610000FB6F8949EBF0FBE8DBF01966C01A80156 -:10162000B7010F940E54F601E00FF11F1082C601AE -:101630000F94611E552041F0EA0CFB1C0FB6F89484 -:101640009EBE0FBE8DBED0CF0FB6F8947EBE0FBE2D -:101650006DBEDF91CF911F910F91FF90EF90DF90C2 -:10166000CF90BF90AF909F908F907F906F905F9042 -:1016700008951F93CF93DF93CDB7DEB728970FB6AA -:10168000F894DEBF0FBECDBF69837A838B839C83C2 -:101690002D833E834F8358870F94300E882311F09B -:1016A00081E026C081E00E9406BB69E170E080E035 -:1016B00090E00F946E40BE016B5F7F4FCE010196AC -:1016C0000E9440791091C20B147080E00E9406BB0A -:1016D000112321F00F94E10D8111E2CF1092C20B82 -:1016E00082E00E947B790E94E97981E0111180E01B -:1016F00028960FB6F894DEBF0FBECDBFDF91CF9115 -:101700001F9108958091F9159091FA15891B8F709A -:101710008F3021F480E00E94EE66F4CF8091F915BD -:101720008F5F8F70E091F91598E49E9FF00111246E -:10173000E150F34FDF011D929A95E9F798E090830D -:1017400040910F165091101660911116709112165B -:10175000458B568B678B708F4091131650911416E2 -:101760006091151670911616418F528F638F748F8A -:1017700040911716509118166091191670911A160B -:10178000458F568F678F70A340911B1650911C1682 -:1017900060911D1670911E1641A352A363A374A3FA -:1017A0002091F9159091FA15291303C094E69093AE -:1017B000F6158093F91580916F00826080936F0019 -:1017C00008950F930FB70F9300916E000F930B7F47 -:1017D00000936E0000916F000D7F00936F000F93D8 -:1017E0000BB70F930CB70F921F922F933F934F930A -:1017F0005F936F937F938F939F93AF93BF93EF9379 -:10180000FF9311240E94C4CEFF91EF91BF91AF913D -:101810009F918F917F916F915F914F913F912F9108 -:101820001F900F900CBF0F910BBF0F910260F894A7 -:1018300000936F000F9100936E000F910FBF0F91F7 -:10184000189580912F0A80FF03C089988FEF02C0FE -:10185000899A81E08093861280912F0A869580FF75 -:1018600003C08F9A8FEF02C08F9881E08093871218 -:1018700080912F0A8695869580FF08C080910B0184 -:1018800080958270809309018FEF06C080910B01D3 -:1018900082708093090181E08093881280912F0AE1 -:1018A00086958695869580FF03C016988FEF02C0B7 -:1018B000169A81E0809389120000000000000895CC -:1018C0008091F9159091FA15891B8F7019F480E0B9 -:1018D00090E008959091F615992351F0833030F4FB -:1018E0008FEF890F19F08093F615F1CF1092F6154E -:1018F000E091FA1588E4E89FF0011124E150F34FDC -:10190000808180FDE4CF8091FA158F5F8F70809386 -:10191000F7159091FA158091F815981304C08091ED -:10192000F7158093F815CF010895CF92DF92EF92CB -:10193000FF92CF93DF93EC016A017B0127E137EB44 -:1019400041ED58EBC701B6010F942A5E87FD23C015 -:1019500023E030E04BE953E4C701B6010F94D454BF -:101960001816CCF0C880D980EA80FB8027E137EBDD -:1019700041ED58EBC701B6010F942A5E87FD0BC0FD -:10198000C1E023E030E84DE953E4C701B6010F940C -:10199000D45418160CF4C0E08C2FDF91CF91FF9037 -:1019A000EF90DF90CF900895CF92DF92EF92FF9269 -:1019B000CF93DF93CDB7DEB728970FB6F894DEBF8D -:1019C0000FBECDBF20E030E040EA50E46091B50C9E -:1019D0007091B60C8091B70C9091B80C0F94D454C0 -:1019E0008823E9F01D821E821F821886C12CD12C0B -:1019F00080EAE82E80E4F82EC982DA82EB82FC824B -:101A0000BE016B5F7F4FCE0101960E944079C0926C -:101A1000B50CD092B60CE092B70CF092B80C2896A8 -:101A20000FB6F894DEBF0FBECDBFDF91CF91FF9010 -:101A3000EF90DF90CF900895BF92CF92DF92EF9218 -:101A4000FF920F931F93CF93DF93CDB7DEB7289705 -:101A50000FB6F894DEBF0FBECDBF9091300A981735 -:101A600009F47AC0B82E80E090E0A0E2B1E48D8362 -:101A70009E83AF83B887C0908B0CD0908C0CE09085 -:101A80008D0CF0908E0C20E030E0A901C701B6016A -:101A90000F94D45487FF0CC0A701960160E070E05A -:101AA00080E291E40F94C95B6D837E838F83988776 -:101AB00020E030E048EC53E46D817E818F81988591 -:101AC0000F942A5E181644F480E090E0A8ECB3E48A -:101AD0008D839E83AF83B8872D813E814F8158854A -:101AE0006091B50C7091B60C8091B70C9091B80CC8 -:101AF0000F94D45487FF0BC019821A821B821C8258 -:101B0000BE016F5F7F4FCE0105960E9440796091C4 -:101B1000AD0C7091AE0C8091AF0C9091B00C2091F7 -:101B2000B10C3091B20C4091B30C5091B40C1982AD -:101B30001A821B821C82E090B50CF090B60C0091CA -:101B4000B70C1091B80CFE0131966F010E946178BC -:101B5000B092300A0E94AF7A80E028960FB6F894CF -:101B6000DEBF0FBECDBFDF91CF911F910F91FF90D0 -:101B7000EF90DF90CF90BF9008952F923F924F92B9 -:101B80005F926F927F928F929F92AF92BF92CF920D -:101B9000DF92EF92FF920F931F93CF93DF93CDB716 -:101BA000DEB764970FB6F894DEBF0FBECDBF9E8739 -:101BB0008D87788B6F87342E222EFC01C080D180D8 -:101BC000E280F380C986DA86EB86FC86FB018080A2 -:101BD0009180A280B380002321F10E94B5A08823C8 -:101BE00009F496C12091830C3091840C4091850CAE -:101BF0005091860CC701B6010F94C95B69877A873B -:101C00008B879C872091870C3091880C4091890CA0 -:101C100050918A0CC501B4010F94C95B4B015C0162 -:101C200009C0B501A401CE0109960E94958C8823B4 -:101C300009F46EC1E090B50CF090B60C0091B70CB1 -:101C40001091B80C40903F025090400260904102C9 -:101C50007090420280E090E0A8ECB2E480933F02F2 -:101C600090934002A0934102B093420219821A82DB -:101C70001B821C8269857A858B859C859E012F5FDE -:101C80003F4F6901A50194010E94617881E00E94A3 -:101C90001C8D8111C4C08091731482FF11C02091EA -:101CA0008B0C30918C0C40918D0C50918E0C60E01F -:101CB00070E080E490EC0F94C95B4B015C0106C0BE -:101CC000812C912C30E2A32E31ECB32E20E030E0B9 -:101CD00040E850E4C501B4010E94398B882329F003 -:101CE00060E070E080EC9FE753C0C090B50CD090EE -:101CF000B60CE090B70CF090B80C80E090E0A0E853 -:101D0000B0E489839A83AB83BC8320E030E040EA6F -:101D100050E4C701B6010F94CA5B6D837E838F8345 -:101D20009887BE016F5F7F4FCE0105960E94407974 -:101D300020E030E040E050E4C501B4010E94398B5E -:101D40008111CECF20E030E040E450E46091B50C4A -:101D50007091B60C8091B70C9091B80C0F943A55D5 -:101D6000698B7A8B8B8B9C8BA7019601C701B6017F -:101D70000F94CA5B9B01AC0169897A898B899C8924 -:101D80000F94CA5B2DEC3CEC4CE45EE30F943A55A7 -:101D900020918B0C30918C0C40918D0C50918E0CBD -:101DA0000F94CA5B6B018C018EEF830D823050F56E -:101DB00080E090E0A0E8B0E48D839E83AF83B88795 -:101DC0002091B50C3091B60C4091B70C5091B80CE5 -:101DD00083E0381629F060E070E080EA90E404C007 -:101DE00060E070E088EC91E40F94CA5B69837A83C9 -:101DF0008B839C83BE016B5F7F4FCE0101960E9457 -:101E0000407908C0E1E03E1205C080E00E941C8DD0 -:101E1000811105C0F2E0F21508F05BC008C0F2E0E5 -:101E2000F21508F07AC0C12CD12C00EC1FE724EA8F -:101E3000E22E26E0F22EF70181917F01882319F02E -:101E40000E94AA65F8CF2091770C3091780C4091D0 -:101E5000790C50917A0CED85FE85608171818281CB -:101E600093810F94CA5B43E00E944A669CEAE92E84 -:101E700096E0F92EF70181917F01882319F00E94E5 -:101E8000AA65F8CF20917B0C30917C0C40917D0CA1 -:101E900050917E0CEF85F8896081718182819381F8 -:101EA0000F94CA5B43E00E944A6681EBE82E86E00D -:101EB000F82EF70181917F01882319F00E94AA650D -:101EC000F8CF43E0B601C8010E944A668AE00E944A -:101ED000AA6540923F025092400260924102709285 -:101EE00042029601A801B601C8010F94175F88232A -:101EF00009F180E00E941C8D60E086E49AE30F9473 -:101F00000F080F94564186E39AE30F94DA4012C00B -:101F1000C12CD12C00EC1FE70DC040923F02509223 -:101F200040026092410270924202C12CD12C00EC1E -:101F30001FE7DFCFB601C80164960FB6F894DEBF85 -:101F40000FBECDBFDF91CF911F910F91FF90EF900A -:101F5000DF90CF90BF90AF909F908F907F906F90C9 -:101F60005F904F903F902F900895CF93DF93C09153 -:101F7000720C86EB96E00E94C86680916D0C8730EB -:101F800009F445C083E080936C0C81E080933E02AD -:101F900080E190E090937E1680937D1685E080939B -:101FA0007116D2E8D093741684E190E1A0E0B0E01D -:101FB0008093751690937616A0937716B093781643 -:101FC0000F94523261E070E080E090E00E949F81C7 -:101FD00081E09AE590937E1680937D1685E390E0EC -:101FE0009093801680937F1687E080937116D0932C -:101FF000741684E890E0A0E0B0E0809375169093AA -:102000007616A0937716B09378160F945232C1309B -:1020100081F1C23059F40F94B4046093640C70934E -:10202000650C8093660C9093670C02C00F94E804D3 -:1020300081E08093720C0F94783E6093600C7093F3 -:10204000610C8093620C9093630CC230A1F080917C -:102050001D0A90911E0A019690931E0A80931D0AF4 -:102060001092730C1092740C1092750C1092760CE6 -:1020700002C080E001C081E0DF91CF910895CF934D -:10208000DF9300D01F92CDB7DEB780911C0A882362 -:10209000A9F083E390E09C838B831A8219829E01CE -:1020A0002F5F3F4F40E150E06DE17AE0CE010396B3 -:1020B0000E94AD638EEC96E00E94C8660F900F9070 -:1020C0000F900F90DF91CF910895CF92DF92EF9212 -:1020D000FF920F931F938091720C8150823010F009 -:1020E00080E0A7C08AE097E00E94C86680916D0CEE -:1020F000833009F441C08EEE96E00E94C8668AEFF4 -:1021000096E00E94C86640E060E070E0CB010F946A -:10211000D20841E060E070E0CB010F94D20881E08A -:102120008093050210926B0C21E030E030936A0C32 -:102130002093690C80933E0281E09AE590937E168D -:1021400080937D168DE290E09093801680937F16A9 -:1021500087E08093711682E88093741684E890E09B -:10216000A0E0B0E08093751690937616A093771652 -:10217000B09378160F9452321092720C0F94783EEE -:1021800060936E0C70936F0C8093700C9093710C35 -:1021900080911F0A9091200A01969093200A8093C3 -:1021A0001F0AC090730CD090740CE090750CF090E6 -:1021B000760C0F94B4046093730C7093740C80933A -:1021C000750C9093760C0091210A1091220A2091AF -:1021D000230A3091240A0C191D092E093F09DC013C -:1021E000CB01800F911FA21FB31F8093210A9093F0 -:1021F000220AA093230AB093240A0F94B4040091F6 -:10220000250A1091260A2091270A3091280A0617DC -:1022100017072807390750F40F94B4046093250A70 -:102220007093260A8093270A9093280A0E943F9071 -:1022300081E01F910F91FF90EF90DF90CF90089574 -:10224000CF93DF9300D01F921F92CDB7DEB781E00E -:1022500080931C0AEDE1FAE080E1DF011D928A958E -:10226000E9F70E943F9086E18D8382E390E09C83B2 -:102270008B831A8219829E012F5F3F4F41E050E00D -:10228000BE016B5F7F4FCE0103960E94AD630F903E -:102290000F900F900F900F90DF91CF910895CF92F4 -:1022A000DF92EF92FF920F931F93CF93DF93C0E8DB -:1022B000D1E101EC1CE0C12CD12C7601C3946991D1 -:1022C0007991899199910F94D954288939894A89AA -:1022D0005B890F943A550F943D5DF80161937193BA -:1022E000819391938F01C616D706E806F90610F47C -:1022F0006B017C01F1E1C039DF0709F76FEF7FEF78 -:10230000CB01A70196010F942A5B2093D10C309347 -:10231000D20C4093D30C5093D40CDF91CF911F91EA -:102320000F91FF90EF90DF90CF9008950F931F9340 -:10233000CF93DF9304E911E1C7EDDCE0F8012191CF -:102340003191419151918F0160E070E080E89FE30D -:102350000F94C45C6993799389939993FCE0C73E89 -:10236000DF0761F70E94BABADF91CF911F910F91F9 -:102370000C944F919091F9158091FA15981306C01D -:102380008091C8119091C911892B21F080E00E94A1 -:10239000EE66F0CF08952091A0113091A1114091E7 -:1023A000A2115091A311FC016081718182819381FE -:1023B0000F943A550F94375E60931B1670931C165A -:1023C00080931D1690931E169091F9158091FA1521 -:1023D00098130C94828B0E94BA9180916F00982F71 -:1023E000927081FF05C080916F008D7F80936F0098 -:1023F00040911B1650911C1660911D1670911E166F -:102400004093A8125093A9126093AA127093AB1232 -:10241000992329F080916F00826080936F00089566 -:10242000EF92FF920F931F93CF93DF937B018A016B -:10243000E90120919411309195114091961150919C -:102440009711FC0160817181828193810F943A55CB -:102450000F94375E60930F167093101680931116C9 -:1024600090931216209198113091991140919A11E0 -:1024700050919B11F70160817181828193810F944A -:102480003A550F94375E6093131670931416809329 -:1024900015169093161620919C1130919D11409124 -:1024A0009E1150919F11F801608171818281938109 -:1024B0000F943A550F94375E609317167093181661 -:1024C0008093191690931A162091A0113091A111A2 -:1024D0004091A2115091A311688179818A819B81D9 -:1024E0000F943A550F94375E60931B1670931C1629 -:1024F00080931D1690931E169091F9158091FA15F0 -:10250000981741F0DF91CF911F910F91FF90EF90BD -:102510000C94828B0E94BA9180916F00982F9270D8 -:1025200081FF05C080916F008D7F80936F00409187 -:102530000F1650911016609111167091121640935B -:102540009C1250939D1260939E1270939F12409123 -:10255000131650911416609115167091161640932B -:10256000A0125093A1126093A2127093A3124091F3 -:102570001716509118166091191670911A164093FB -:10258000A4125093A5126093A6127093A7124091C3 -:102590001B1650911C1660911D1670911E164093CB -:1025A000A8125093A9126093AA127093AB129923A8 -:1025B00029F080916F00826080936F00DF91CF914E -:1025C0001F910F91FF90EF900895CF93DF93C82F45 -:1025D0000E9493CE24E0C29FE0011124C952D34F40 -:1025E0000F94DB54288139814A815B810F943A55DD -:1025F000DF91CF9108959091F9158091FA15981374 -:1026000006C08091C8119091C911892B21F080E0FA -:102610000E94EE66F0CF5F9A809173148E7F809354 -:1026200073148A9A809173148D7F809373148091B0 -:1026300008018095817080930601809173148B7FCF -:10264000809373140C941963CF93DF9390916F0070 -:10265000292F227091FF05C090916F009D7F90936C -:102660006F0094E0899FA0011124FA01E057FD4E0C -:102670006081718182819381222329F020916F00F2 -:10268000226020936F00EA01C952D34F0F94DB54AC -:10269000288139814A815B810F943A55DF91CF912E -:1026A000089580916F00982F927081FF05C08091EE -:1026B0006F008D7F80936F008091FA158093F915DC -:1026C0008093F8158093F71584E68093F61528EE2D -:1026D00033E03093C9112093C811992329F08091D8 -:1026E0006F00826080936F0081E080938F12089565 -:1026F000CF92DF92EF92FF92CF93DF9320915F0C06 -:10270000222349F1EC0108960F94E50F6B017C013F -:1027100020E030E0A9010F94D454882379F0BE0161 -:102720006C5F7F4FCE010E94EF9E9B01AC01C70101 -:10273000B6010F943A559B01AC0103C020E030E094 -:10274000A901688579858A859B850F94C95B68870F -:1027500079878A879B87DF91CF91FF90EF90DF90F9 -:10276000CF9008958F929F92AF92BF92EF92FF9277 -:102770000F931F93CF93DF9320915F0C222349F196 -:10278000EA017B018C01CA010F94E50F4B015C014A -:1027900020E030E0A9010F94D454882369F0B701F8 -:1027A000C8010E94EF9E9B01AC01C501B4010F94CA -:1027B0003A559B01AC0103C020E030E0A9016881DB -:1027C00079818A819B810F94CA5B688379838A832C -:1027D0009B83DF91CF911F910F91FF90EF90BF905E -:1027E000AF909F908F9008958F929F92AF92BF92DB -:1027F000CF92DF92EF92FF920F931F93CF93DF93CD -:10280000EC018B81811102C080E078C009891A89AE -:102810002B893C890417150726073707A8F36A0197 -:102820007B01823029F4C886D986EA86FB860DC0F2 -:10283000C114D104E104F10451F4188619861A86F2 -:102840001B861C821D821E821F8281E057C08884E5 -:102850009984AA84BB84E98DFA8D258530E0275FB1 -:102860003F4FB501A4014150510961097109022E80 -:1028700004C076956795579547950A94D2F7D70186 -:10288000C6010197A109B10904C0B695A79597950E -:1028900087952A95D2F784179507A607B70720F0E2 -:1028A00089288A288B2871F44D895E896F89788DF3 -:1028B0004C835D836E837F834C015D018E010C5FD1 -:1028C0001F4F16C0841B950BA60BB70BF5CF4C8181 -:1028D0005D816E817F819801898D9A8D0E947776C6 -:1028E00091E0891A9108A108B108882309F48CCFD6 -:1028F00081149104A104B10451F795CFDF91CF91D8 -:102900001F910F91FF90EF90DF90CF90BF90AF900D -:102910009F908F9008950F931F93CF93DF93FC01A7 -:102920002381222311F080E044C08B01EC01FB01E4 -:102930008789803139F18032B1F783E08B83F801E8 -:10294000428D538D648D758D4D8B5E8B6F8B788F23 -:102950009E012F5E3F4FC8010E94F876882319F32D -:102960001A8F098F81E08983188619861A861B863B -:102970001C821D821E821F82188A1C861D861E864E -:102980001F8617C082E08B831D8A1E8A1F8A188EBD -:10299000FB01808D918DA0E0B0E025E0880F991FAC -:1029A000AA1FBB1F2A95D1F7898B9A8BAB8BBC8B47 -:1029B000D7CFDF91CF911F910F910895CF93DF93E0 -:1029C000EC0141E0611101C040E06C857D858E85A0 -:1029D0009F850E94AC75882341F0888920E2829F00 -:1029E000C00111248A5A974E02C080E090E0DF9126 -:1029F000CF910895CF93DF93EB01FC012381211147 -:102A000002C080E028C02250223020F48FE2888368 -:102A1000198220C060E00E94DE94009791F3FC01CF -:102A200090E080E02EE23081303269F0883029F485 -:102A3000DE01A90FB11D2C939F5FDE01A90FB11D0F -:102A400030813C939F5F8F5F31968B3061F7C90F68 -:102A5000D11D188281E0DF91CF9108953F924F926E -:102A60005F926F927F928F929F92AF92BF92CF921E -:102A7000DF92EF92FF920F931F93CF93DF93CDB727 -:102A8000DEB72C970FB6F894DEBF0FBECDBF5C014A -:102A9000DC0159968D909C905A97F401818592851E -:102AA000A385B4859C01AD012F5F3F4F4F4F5F4F12 -:102AB00029873A874B875C87D5011496CD90DD90A6 -:102AC000ED90FC901797C114D104E104F10439F0A2 -:102AD000BFEFCB1ADB0AEB0AFB0A312C07C0F4016B -:102AE000C080D180E280F380332433942601370103 -:102AF0001D821E821F821886F40181859285A3851E -:102B0000B4852D813E814F815885281739074A07A2 -:102B10005B0708F064C089859A85AB85BC858C15F8 -:102B20009D05AE05BF0550F482E0C82ED12CE12CE6 -:102B3000F12C92E0492E512C612C712C9E012F5FBB -:102B40003F4FB701A601C4010E947776882309F49C -:102B500046C089819A81AB81BC81892B8A2B8B2BC2 -:102B600041F0260137019FEF491A590A690A790A8B -:102B700005C0C414D504E604F70491F02D813E810C -:102B80004F8158852F5F3F4F4F4F5F4F2D833E83BF -:102B90004F8358873FEFC31AD30AE30AF30AACCF37 -:102BA0000FEF1FEF2FEF3FE0B301A201C4010E941E -:102BB000E575F82E882399F0D50114964D915D9115 -:102BC0006D917C911797411551056105710549F08B -:102BD00093018201C4010E94E575811102C0F12CAC -:102BE00029C0D50114964D925D926D927C921797F3 -:102BF000332051F0D301C2010196A11DB11DF40192 -:102C000080839183A283B383F50185899689A789FF -:102C1000B08D892B8A2B8B2B69F4D50155964D925B -:102C20005D926D927C92589711968C911197806865 -:102C300011968C938F2D2C960FB6F894DEBF0FBE95 -:102C4000CDBFDF91CF911F910F91FF90EF90DF905B -:102C5000CF90BF90AF909F908F907F906F905F903C -:102C60004F903F90089540E050E0BA010C94F493E7 -:102C700061E0FC0180810F94EB3C8FEF0C94C56EFA -:102C8000EF92FF921F93CF93DF9300D01F92CDB7A7 -:102C9000DEB77C01162F29833A834B835C83FC01CA -:102CA00082810E94D16E60E0F70180810F94EB3C3D -:102CB0000F94A933812F80640E94C56E8C810E947D -:102CC000C56E8B810E94C56E8A810E94C56E898106 -:102CD0000E94C56E112311F087E801C085E90E94AA -:102CE000C56E1C3011F40E94CA6E10E00E94CA6EBC -:102CF000F701838387FF04C01F3F11F01F5FF6CFEA -:102D00000F900F900F900F90DF91CF911F91FF9038 -:102D1000EF9008950F931F93CF93DF93EC018901F8 -:102D20008C81833039F089E0440F551F661F771F6F -:102D30008A95D1F79A01AB0168E1CE010E944096D5 -:102D4000811128C08EEF8EBDF801C8019E5F0DB4C1 -:102D500007FEFDCF20812EBD0DB407FEFDCF2181E2 -:102D60002EBD32968E179F0791F70DB407FEFDCF4B -:102D70008FEF0E94C56E8FEF0E94C56E0E94CA6ED3 -:102D80008B838F71853041F083E18983CE010E946E -:102D9000389619C086E016C00F94A933882379F0BD -:102DA00020E030E0A9016DE0CE010E944096811143 -:102DB00008C00E94CA6E811104C011E005C087E1FD -:102DC00001C086E1898310E0CE010E943896812FF0 -:102DD000DF91CF911F910F910895CF9380915E1A4B -:102DE0008823B9F14091561A5091571A6091581A98 -:102DF0007091591A26E538E180915F1A9091601A16 -:102E00000E948A96C82F811102C0C0E023C0409161 -:102E10005A1A50915B1A60915C1A70915D1A4115B3 -:102E200051056105710591F026E538E180915F1A41 -:102E30009091601A0E948A96882339F310925A1A48 -:102E400010925B1A10925C1A10925D1A10925E1A20 -:102E500001C0C1E08C2FCF910895CF93DF93EC0197 -:102E60008B81882339F1898187FF20C061E0CE0101 -:102E70000E94DE94FC01892BE9F08081853ED1F02F -:102E80008B81823040F489899A89AB89BC89848F8F -:102E9000958FA68FB78F8D899E89AF89B88D938FB7 -:102EA000828FB58BA48B89818F778983DF91CF91B6 -:102EB0000C94ED9681E0888380E0DF91CF910895B6 -:102EC000CF93DF93EC010E942D971B82DF91CF916E -:102ED0000895FC01238121110C9460970895CF92ED -:102EE000DF92EF92FF920F931F93CF93DF93EC014A -:102EF00089018C81833039F089E0440F551F661FAA -:102F0000771F8A95D1F79A01AB0161E1CE010E944A -:102F10004096882339F084E08983CE010E94389658 -:102F200080E03EC00F94783E6B017C012CE2C20E23 -:102F300021E0D21EE11CF11C0E94CA6E8B838F3FE0 -:102F400061F40F94783EDC01CB018C199D09AE0928 -:102F5000BF09B7FDF1CF81E11DC08E3FD1F48FEFE6 -:102F60008EBDF801D801A150BE4F0DB407FEFDCFB4 -:102F70009EB591938EBDEA17FB07B9F70DB407FE16 -:102F8000FDCF8EB58C930E94CA6E0E94CA6E11E06E -:102F900003C08FE0898310E0CE010E943896812F14 -:102FA000DF91CF911F910F91FF90EF90DF90CF9025 -:102FB00008952F923F924F925F926F927F928F92DD -:102FC0009F92AF92BF92CF92DF92EF92FF920F93B8 -:102FD0001F93CF93DF9300D01F92CDB7DEB79C83B2 -:102FE0008B834B015A01DC0113968C91811103C034 -:102FF0008FEF9FEFE3C0EB81FC81818180FFF8CFF1 -:10300000EB81FC8181899289A389B48940855185AE -:1030100062857385841B950BA60BB70BA50160E039 -:1030200070E084179507A607B70708F45C017501DF -:103030008B819C8104969A838983612C42E0742E53 -:10304000E114F10409F48BC0AB81BC8118964D9159 -:103050005D916D917C911B976A01B1E0DB22EB8160 -:10306000FC812381818D928D1A012B0139E05694C8 -:103070004794379427943A95D1F7223061F4FC01B4 -:10308000828D938DA48DB58DBC01CD01620D731D14 -:10309000841D951D4AC0DC0114961C91115012210B -:1030A000C114D10401F511111EC0452B462B472B2D -:1030B00059F4EB81FC8185899689A789B08D848339 -:1030C0009583A683B7830FC0AB81BC8114964D91C5 -:1030D0005D916D917C91179729813A810E94777655 -:1030E000882309F485CFEB81FC81218D328D848189 -:1030F0009581A681B7810297A109B109F9010584DB -:1031000004C0880F991FAA1FBB1F0A94D2F74685D7 -:10311000578560897189840F951FA61FB71FBC0151 -:10312000CD01610F711D811D911D93012C193D0968 -:1031300087012E153F0508F489010115F2E01F07EC -:1031400079F52091561A3091571A4091581A50919A -:10315000591A621773078407950719F421C0C5012E -:103160002DC09401AB01BC0180915F1A9091601A4F -:103170000E946F97882309F43BCF800E911EEB814C -:10318000FC8180859185A285B385800F911FA11D4B -:10319000B11D80879187A287B387E01AF10A50CFCB -:1031A00040E00E94AC75882309F422CFB6016A5A28 -:1031B000774EA801C4010F944960DFCF0F900F90A4 -:1031C0000F900F90DF91CF911F910F91FF90EF9093 -:1031D000DF90CF90BF90AF909F908F907F906F9037 -:1031E0005F904F903F902F900895DF92EF92FF9263 -:1031F0000F931F93CF93DF938C01EB017A018DE046 -:10320000D82E40E250E0BE01C8010E94D99780321A -:10321000910539F021E0892B09F420E0822F819576 -:1032200044C028812223C9F1253E11F02E3231F409 -:10323000E114F10431F3F7011082E3CFE114F1045A -:1032400041F13B853F733F3021F54A8D5B8D452B26 -:1032500001F52F713FEF320F3530D8F430E02150B7 -:103260003109D29EC001D39E900D1124D701A80F21 -:10327000B91FFE0120E0AD01253088F431813D9376 -:103280002F5F32962D30C1F7288126FF02C0FA0148 -:1032900015862B8523FDB5CF08C080E006C02B30F6 -:1032A00010F43481ECCF3681EACFDF91CF911F91BA -:1032B0000F91FF90EF90DF9008954F925F926F9281 -:1032C0007F929F92AF92BF92CF92DF92EF92FF9246 -:1032D0000F931F93CF93DF931F92CDB7DEB78C016F -:1032E0007B015A01C22EDB0159968D919C915A9710 -:1032F000F801928F818FCB010E943396912CF701B8 -:1033000080859185A285B3854189528963897489B5 -:1033100084179507A607B70708F060C025E0B695A3 -:10332000A795979587952A95D1F7F82FFF70DF2EEF -:10333000D70113968C91823008F460C041E050E0D0 -:10334000BE016F5F7F4FC7010E94D997019719F4A3 -:10335000898190E002C08FEF9FEF019609F44EC083 -:10336000F70180859185A285B3854F96A11DB11D7A -:1033700080879187A287B387F0E2DF9EB001112496 -:103380006A5A774E61157105C9F1DB018C9188236A -:1033900019F0853EC1F46CC191100EC08091561A8F -:1033A0009091571AA091581AB091591AF801848730 -:1033B0009587A687B787D08ADB018C91882361F037 -:1033C000992493949CCF4BE050E0C5010F943C604E -:1033D000892B09F094CF14C0992493948C2D827476 -:1033E000823461F4992009F48BC0F801D08861E03F -:1033F000C8010E94DE94009709F00DC180E03BC136 -:10340000C7FCFCCFF0E2DF9EA00111249A012A5AEA -:10341000374ED9011B968C91817121F08C2D8271D0 -:1034200009F06AC08091561A9091571AA091581AC3 -:10343000B091591AF80184879587A687B787D08AF3 -:10344000CA018A5A974E7C01DC0154964D915C91D9 -:10345000559760E070E0DA0199278827858B968B75 -:10346000A78BB08FF701428D538D60E070E0482B41 -:10347000592B6A2B7B2BD80155964D935D936D93F9 -:103480007C935897F9018385887161F4F701848DE5 -:10349000958DA68DB78DF801818B928BA38BB48B04 -:1034A00081E010C0803141F598012F5E3F4FD80177 -:1034B00059968D919C915A970E94F8768823E1F055 -:1034C00084E0F80183838C2D8F70D80111968C9342 -:1034D0001197F801148215821682178218961D9290 -:1034E0001D921D921C921B97C4FEB5C0C8010F947B -:1034F000CD338111B0C082CFD80113961C927ECFFC -:10350000D70113968C911397823009F477CF519697 -:103510008D919D910D90BC91A02D803E9F4FAF410C -:10352000B10508F06BCFC7010E942E95882309F4DE -:1035300065CF0E94ED96882309F460CFD701599694 -:103540002D913C915A9714968D919D910D90BC911F -:10355000A02D0297A109B109F901058404C0880FC3 -:10356000991FAA1FBB1F0A94D2F74684578460880C -:103570007188480E591E6A1E7B1E81E080935E1A78 -:103580004092561A5092571A6092581A7092591ACD -:1035900080E092E0E6E5F8E1DF019C011D92215018 -:1035A0003040E1F7DD24D394D7015996ED91FC9199 -:1035B0005A978481D81698F426E538E1B301A20120 -:1035C0004D0D511D611D711D80915F1A9091601A02 -:1035D0000E948A96882309F411CFD394E5CF80E026 -:1035E00092E0A0E0B0E0058404C0880F991FAA1FF4 -:1035F000BB1F0A94D2F7F701418952896389748904 -:10360000840F951FA61FB71F818B928BA38BB48B42 -:1036100086E598E1D12C20E2DC011D922A95E9F79C -:103620002BE0F501DC0101900D922A95E1F721E2F2 -:1036300038E2FC01318B208B40E058E05787468709 -:10364000338B228B318F208F578B468B0E94ED96C8 -:103650008111D8CED3CEC5FE09C0F8014189528967 -:1036600063897489C8010E94F49305C081E003C096 -:103670009110A6CE93CE0F90DF91CF911F910F9115 -:10368000FF90EF90DF90CF90BF90AF909F907F9092 -:103690006F905F904F9008952F923F924F925F925C -:1036A0006F927F928F929F92AF92BF92CF92DF9252 -:1036B000EF92FF920F931F93CF93DF93CDB7DEB7B7 -:1036C000C254D1090FB6F894DEBF0FBECDBF4C0176 -:1036D0005B016A01322E19821C821C8E1F8E6115BD -:1036E000710511F410E0A6C0FC0183818111FACFAD -:1036F000FA0180818F3209F09BC0F50183818250ED -:10370000823010F485010CC0F501618D728DCE01FF -:103710004C960E948B94882329F38E01045E1F4FE0 -:10372000C6016C010196F60120812F32D1F3CE0142 -:1037300001967C013C012E019CE1490E511C23960F -:10374000EFAE23972F2C9BE09150E7E3F0E0EC0FD6 -:10375000FD1FE90FF11D80E280839111F5CF9601E5 -:1037600047E0D9018D91882369F18F3259F18E326A -:1037700039F44A3009F4B6CF98E04AE09D01F1CF20 -:10378000E7E6FAE32491222321F031968213FACF5F -:10379000A9CF491708F4A6CF813208F4A3CF8F37F9 -:1037A00009F4A0CF21E0290FE7E3F0E0EC0FFD1FC3 -:1037B000E90FF11D9FE9980F9A3108F48052808338 -:1037C000922FDCCF8FA9803209F48CCF6901F901E7 -:1037D00080812F5F3F4F8F32C9F38823F9F021E0BA -:1037E000AE01495C5F4FB801C7010E945D99882313 -:1037F00009F478CF0A151B0519F0C8010E946097DB -:103800006E147F0441F023969FAD2397822D87018C -:10381000E92EF82E98CF942D852DF9CF232DAE01CA -:10382000495C5F4FB801C4010E945D99182F02C026 -:103830008B017DCFCE014C960E946997CE010196F7 -:103840000E946997812FCE5BDF4F0FB6F894DEBFE1 -:103850000FBECDBFDF91CF911F910F91FF90EF90E1 -:10386000DF90CF90BF90AF909F908F907F906F90A0 -:103870005F904F903F902F900895CF93C82F0F9453 -:103880005A4184E50E94AA656AE070E08C2F90E0BE -:103890000E943A6680E20E94AA6585E59AE3CF918C -:1038A0000D94DA4020911202309113022F50310909 -:1038B000821793070CF49C013093F10C2093F00CC9 -:1038C00080E00C9491FD20E030E040E450E40F945F -:1038D000C95B23E333E343EF51E40F94CA5B22EA6D -:1038E0003CEB46E85CE30F943A550F94365D663046 -:1038F00010F4862F08958FEF089520E030E040E423 -:1039000050E40F94C95B26E636E646EF51E40F9487 -:10391000CA5B2DEA3CEF44E85CE30F943A550F9400 -:10392000365D663010F4862F08958FEF08951F934B -:10393000CF93DF93182F87E00F949240C0E0D0E040 -:1039400080E20E94AA656AE070E0CE010E943A66B9 -:10395000812F0F9492402196C630D10589F76AE0F5 -:1039600070E080E090E0DF91CF911F910D946E4068 -:103970008F929F92AF92BF92CF92DF92EF92FF927F -:103980000F931F93CF93DF93EC017B018A016901B1 -:10399000FB012081318142815381688179818A8153 -:1039A0009B810F94CA5B688379838A839B83F80128 -:1039B00020813181428153816C817D818E819F8103 -:1039C0000F94CA5B6C837D838E839F83F601208175 -:1039D000318142815381688579858A859B850F94E1 -:1039E000CA5B688779878A879B87F70160817181C5 -:1039F000828193819B01AC010F943A559B01AC01EC -:103A00006C857D858E859F850F94CA5B6C877D87CD -:103A10008E879F87F80160817181828193819B01EC -:103A2000AC010F943A559B01AC01688979898A8968 -:103A30009B890F94CA5B688B798B8A8B9B8BF60171 -:103A400060817181828193819B01AC010F943A5511 -:103A50009B01AC016C897D898E899F890F94CA5B1B -:103A60006C8B7D8B8E8B9F8BF80120813181428105 -:103A70005381F70160817181828193810F943A555E -:103A80009B01AC01688D798D8A8D9B8D0F94CA5BEB -:103A9000688F798F8A8F9B8FF601208131814281D7 -:103AA0005381F70160817181828193810F943A552E -:103AB0009B01AC016C8D7D8D8E8D9F8D0F94CA5BAB -:103AC0006C8F7D8F8E8F9F8FF60120813181428197 -:103AD0005381F80160817181828193810F943A55FD -:103AE0009B01AC0168A179A18AA19BA10F94CA5B3B -:103AF00068A379A38AA39BA38CA09DA0AEA0BFA01E -:103B0000F701C080D180E280F38020E030E0A9019D -:103B1000C701B6010F942A5E87FF04C0F7FAF0943C -:103B2000F7F8F094A7019601B401C5010F94D4549D -:103B300087FD02C064017501CCA2DDA2EEA2FFA246 -:103B400088A499A4AAA4BBA4F801C080D180E28073 -:103B5000F38020E030E0A901C701B6010F942A5E8E -:103B600087FF04C0F7FAF094F7F8F0949401A501E8 -:103B7000C701B6010F942A5E181614F0640175018E -:103B8000C8A6D9A6EAA6FBA620E030E040E85FE39D -:103B900068AD79AD8AAD9BAD0F94CA5B68AF79AF64 -:103BA0008AAF9BAFDF91CF911F910F91FF90EF9064 -:103BB000DF90CF90BF90AF909F908F90089588EB4B -:103BC0009AE30D9420268091431890914418009711 -:103BD00031F04AE050E060E070E00D94CA5160E0DE -:103BE00070E0CB0108950E94E39DCB0108950F93EF -:103BF0001F93CF938091431890914418009711F12F -:103C0000FC018F01C1912C2F2F7DA9F0C53411F03B -:103C1000C536B9F7F801108260E070E08091431872 -:103C2000909144180F946E50F801C083562F472F7F -:103C3000382F292F0BC060E070E0CF911F910F91BA -:103C40000D946E5050E040E030E020E0652F742F7E -:103C5000832F922FCF911F910F91089581548A3114 -:103C600008F042C0E82FF0E040914E1450914F14FC -:103C7000609150147091511404C0769567955795D2 -:103C800047958A95D2F7842F817040FF2FC0EC5C56 -:103C9000FB4E9081992309F1E091A70CF091A80CBB -:103CA000E90FF11D908120ED290F2A3098F09E3206 -:103CB00011F491810CC09D3211F09B3271F491810D -:103CC00020ED290F2A3030F09E3239F49281905342 -:103CD0009A3018F42E2F9F2F02C020E090E02093FE -:103CE000431890934418089580E0089508950E9421 -:103CF0002E9E882341F081E0209143183091441892 -:103D0000232B09F480E00895CF93DF93EB010E9409 -:103D1000779E882321F0DF91CF910C94F39DCE0103 -:103D2000DF91CF910895E82FF0E0863078F4EE0F20 -:103D3000FF1FEE0FFF1FE25DF04B4591559165911E -:103D40007491F42FE52F362F272F16C0BF01FF0FD8 -:103D5000880B990B0F94DB5423E333E343E752E4DE -:103D60000F943A5520E030E040E450E40F94CA5BF1 -:103D7000F62FE72F382F292F6F2F7E2F832F922F8B -:103D80000895E82FF0E0863078F4EE0FFF1FEE0F75 -:103D9000FF1FE259F04B4591559165917491F42FB5 -:103DA000E52F362F272F16C0BF01FF0F880B990B69 -:103DB0000F94DB5426E636E646E752E40F943A5574 -:103DC00020E030E040E450E40F94CA5BF62FE72F88 -:103DD000382F292F6F2F7E2F832F922F08952F9208 -:103DE0003F924F925F926F927F928F929F92AF928B -:103DF000BF92CF92DF92EF92FF920F931F93CF93D8 -:103E0000DF93CDB7DEB762970FB6F894DEBF0FBE73 -:103E1000CDBF9A838983788B6F87FC0180809180E6 -:103E2000A280B38020E030E040E450E4C501B4015A -:103E30000F942A5E87FD24C020E030E84BE953E46C -:103E4000C501B4010F94D4541816D4F0EF85F88945 -:103E5000C080D180E280F38020E030E040E450E494 -:103E6000C701B6010F942A5E87FD0AC020E030E842 -:103E700049E953E4C701B6010F94D454181624F449 -:103E8000C12CD12C760156C120E030E040E450E452 -:103E9000C501B4010F94C95B2DEA3CEF44E85CE333 -:103EA0000F943A550F94365D698B66301CF0F5E03F -:103EB000F98B03C0298927FD198A20E030E040E40E -:103EC00050E4C701B6010F94C95B22EA3CEB46E817 -:103ED0005CE30F943A550F94365D6A8B66301CF0A4 -:103EE00035E03A8B03C04A8947FD1A8A5989252E45 -:103EF000550F3308C101E5E02E16310414F084E0BB -:103F000090E09C012F5F3F4F3E872D8739893F5FAF -:103F10003D83832F0E94C19E69877A878B879C8708 -:103F200089890E94C19E6B017C0186E0829DF0011F -:103F3000839DF00D11244A89042F440F110BE00FCB -:103F4000F11FEE0FFF1FEE0FFF1FE452FE4E4080E9 -:103F50005180628073802D853E85829FF001839F12 -:103F6000F00D1124E00FF11FEE0FFF1FEE0FFF1FEA -:103F7000E452FE4EA301920160817181828193819E -:103F80000F94C95B4B015C01A7019601E981FA819D -:103F900060817181828193810F94C95B9B01AC0127 -:103FA000C501B4010F943A554B015C01A70196017C -:103FB00069857A858B859C850F94C95B9B01AC01D3 -:103FC000C501B4010F94C45CA30192010F94CA5BB4 -:103FD00069877A878B879C87C8010530110514F0A3 -:103FE00084E090E05C01FFEFAF1ABF0A8D810E9470 -:103FF000C19E6D837E838F83988789890E94C19E2D -:104000006B017C0126E0229DC001239D900D1124AF -:10401000FC01EA0DFB1DEE0FFF1FEE0FFF1FE45228 -:10402000FE4E40805180628073804D855E85249F66 -:10403000C001259F900D1124FC01EA0DFB1DEE0F20 -:10404000FF1FEE0FFF1FE452FE4EA301920160819D -:104050007181828193810F94C95B4B015C01A7013F -:104060009601E981FA8160817181828193810F9447 -:10407000C95B9B01AC01C501B4010F943A554B01DA -:104080005C01A70196016D817E818F8198850F94D7 -:10409000C95B9B01AC01C501B4010F94C45CA301D1 -:1040A00092010F94CA5B2B013C018A898F5F0E94A9 -:1040B000939E69837A838B839C838A890E94939ED3 -:1040C0006B017C019B01AC01EF85F88960817181F6 -:1040D000828193810F94C95B4B015C0129853A85EC -:1040E0004B855C85C301B2010F94C95B9B01AC0198 -:1040F000C501B4010F943A554B015C01A70196012B -:1041000069817A818B819C810F94C95B9B01AC0191 -:10411000C501B4010F94C45C29853A854B855C8543 -:104120000F94CA5B6B017C019B01AC010F94175F7C -:104130008111A6CEC701B60162960FB6F894DEBF14 -:104140000FBECDBFDF91CF911F910F91FF90EF90E8 -:10415000DF90CF90BF90AF909F908F907F906F90A7 -:104160005F904F903F902F9008954F925F926F9283 -:104170007F928F929F92AF92BF92CF92DF92EF92F7 -:10418000FF921F93CF93DF93CDB7DEB72C970FB677 -:10419000F894DEBF0FBECDBFDB01CD90DD90ED907A -:1041A000FC902091870C3091880C4091890C5091A3 -:1041B0008A0C2D833E834F835887DC018D909D9020 -:1041C000AD90BC902091830C3091840C4091850C73 -:1041D0005091860C29873A874B875C87C501B401CB -:1041E0000F94C95B69837A838B839C832D813E8185 -:1041F0004F815885C701B6010F94C95BAB01BC0163 -:10420000CE0101960E94958C182F882309F4A9C02D -:1042100020E030E0A90169857A858B859C850F9423 -:10422000CA5B2B013C0120E030E040E450E40F94F5 -:10423000D45487FF05C0412C512C30E4632E762CDA -:1042400027E137EB41ED58E3C301B2010F94C95B9D -:104250009B01AC01C501B4010F942A5E87FD80C0AB -:1042600020E030E84DE953E469857A858B859C85AB -:104270000F94CA5B2B013C0120E030E84BE953E48A -:104280000F942A5E18163CF4412C20E8522E2BE99C -:10429000622E23E4722E27E137EB41ED58E3C30190 -:1042A000B2010F94CA5B9B01AC01C501B4010F942C -:1042B000D45418160CF454C020E030E0A9016D81EC -:1042C0007E818F8198850F94CA5B4B015C0120E051 -:1042D00030E040E450E40F94D45487FF05C0812CB3 -:1042E000912C90E4A92EBA2C27E137EB41ED58E34D -:1042F000C501B4010F94C95B9B01AC01C701B601B4 -:104300000F942A5E87FD2CC020E030E04BE953E497 -:104310006D817E818F8198850F94CA5B4B015C0112 -:1043200020E030E849E953E40F942A5E18163CF483 -:10433000812C80E8982E89E9A82E83E4B82E27E105 -:1043400037EB41ED58E3C501B4010F94CA5B9B0103 -:10435000AC0111E0C701B6010F94D45418160CF447 -:1043600010E0812F2C960FB6F894DEBF0FBECDBFA4 -:10437000DF91CF911F91FF90EF90DF90CF90BF9092 -:10438000AF909F908F907F906F905F904F90089527 -:10439000681779070CF4CB010895861797070CF47A -:1043A000CB0108950F931F93CF93DF93CDB7DEB763 -:1043B0006F970FB6F894DEBF0FBECDBF9F8F8E8F65 -:1043C00081E080938F0C88E08B838EE18C838E8DCF -:1043D0009F8D8370992721E0892B09F020E02D83A0 -:1043E00021E08E8D9F8D019709F020E02E8321E042 -:1043F0008E8D9F8D029709F020E02F838E8D9F8DEB -:104400008470992721E0892B09F420E0288781EA2C -:104410009AE30F94DA408D81882379F18DE99AE34C -:104420000F94DA4066E371E083E391E00E94C8A153 -:104430008C0160E070E083E090E00E94CDA1A801D3 -:10444000BC0184E00F949D4066E371E083E391E05A -:104450000E94C8A18C016BE371E087E391E00E94A8 -:10446000C8A1A801BC018EE10F949D408AE00E9482 -:10447000AA6586E00E94979C0EC087E99AE30F9494 -:10448000DA408E81882319F081E99AE302C08BE833 -:104490009AE30F94DA408091AD0C9091AE0CA0910C -:1044A000AF0CB091B00C2091830C3091840C4091F2 -:1044B000850C5091860CBC01CD010F94CA5BDC01C8 -:1044C000CB018A8F9B8FAC8FBD8F8A8D9B8DAC8DDE -:1044D000BD8DBC01CD010E947D9C082E000C990B66 -:1044E000AA0BBB0BBC01CD010F94DB54DC01CB014B -:1044F00089879A87AB87BC878091B10C9091B20C69 -:10450000A091B30CB091B40C2091870C3091880C21 -:104510004091890C50918A0CBC01CD010F94CA5B6B -:10452000DC01CB018E8B9F8BA88FB98F8E899F89E1 -:10453000A88DB98DBC01CD010E94639C082E000C92 -:10454000990BAA0BBB0BBC01CD010F94DB54DC0112 -:10455000CB018D879E87AF87B88B9F8181E08927AC -:10456000882319F08AE00E94AA6585E08983898101 -:1045700088230CF4F4C08D81882391F089818A30DE -:104580001CF480E20E94AA658981082E000C990B18 -:104590006AE070E00E943A6688E89AE30F94DA4095 -:1045A0001A828A81863008F0BFC08A81882F90E005 -:1045B000092E000CAA0BBB0BBC01CD010F94DB54E0 -:1045C000DC01CB0129853A854B855C85BC01CD0199 -:1045D0000F94D4548823C1F48981082E000C990BC0 -:1045E000AA0BBB0BBC01CD010F94DB54DC01CB014A -:1045F0002D853E854F855889BC01CD010F94D4543B -:10460000882311F481E001C080E0898B8D818823AB -:1046100041F08989882311F08BE501C080E20E9476 -:10462000AA658A81282F30E08981482F880F550B91 -:10463000C901880F991F820F931F880F991F840F3C -:10464000951F880F991F880F991F84529E4EFC0159 -:1046500080819181A281B3818A8B9B8BAC8BBD8B36 -:104660008F81882309F045C02A893B894C895D895F -:104670006A897B898C899D890F94175F882359F0FB -:104680008D81882319F081E89AE302C08DE79AE3CF -:104690000F94DA402EC08D81882319F48E818823EF -:1046A00041F18D818823D9F020E030E0A9016A89A9 -:1046B0007B898C899D890F942A5E882384F020E071 -:1046C00030E0A9016A897B898C899D890F942A5ED3 -:1046D000181614F48BE201C080E20E94AA658A8950 -:1046E0009B89AC89BD8943E050E0BC01CD010E94AB -:1046F000C0668E81882331F08A81853018F489E084 -:104700000E94AA658D81882341F08989882311F050 -:104710008DE501C080E20E94AA6580E00E94EE66FD -:104720008A818F5F8A833DCF9F8181E0892788239B -:1047300019F08AE00E94AA658981882361F08D8141 -:10474000882349F0988581E08927882321F087E72D -:104750009AE30F94DA4089818150898308CF8D8153 -:10476000882381F186E00E94979C8AE00E94AA65D6 -:1047700060E070E083E090E00E94CDA18C0160E0F9 -:1047800070E083E090E00E94CDA1A801BC0184E02C -:104790000F949D4060E070E083E090E00E94CDA126 -:1047A0008C016BE371E087E391E00E94C8A1A8014E -:1047B000BC018EE10F949D408AE00E94AA658AE0C8 -:1047C0000E94AA6510928F0C6F960FB6F894DEBF08 -:1047D0000FBECDBFDF91CF911F910F9108956F92C2 -:1047E0007F928F929F92AF92BF92CF92DF92EF9281 -:1047F000FF920F931F93CF93DF93CDB7DEB7C554CE -:10480000D1090FB6F894DEBF0FBECDBF19820F9449 -:10481000E72B882309F00CC76FEF7FEF80E50E943C -:10482000849E8A878A85813059F08A85823041F05A -:104830008A85843029F08AE40E942E9E882311F014 -:1048400081E001C080E08B878B85882359F00E942E -:10485000BA9141E061E081E00E9459C0882311F0E3 -:104860000E94DF9D89E40E942E9E882309F4BFC028 -:104870001A82809143189091441821E0892B09F401 -:1048800020E0222319F00E94F39D02C081E090E015 -:1048900090936314809362148091621490916314D6 -:1048A00084973CF060E070E080EC9FE70F94CE3E90 -:1048B0009AC080916214909163149C012150310937 -:1048C000309363142093621421E0892B09F420E0D3 -:1048D000222309F488C08A81853120F01A8280E081 -:1048E0000E94EE6600E010E020E04AE554E16EE54B -:1048F00074E181E00F946927A22EB32EC42ED52E29 -:10490000E62EF72E082F192F2A2D3B2D4C2D5D2D2D -:104910006E2D7F2D802F912FFE01E05CFF4F2083B5 -:10492000FE01EF5BFF4F3083FE01EE5BFF4F4083E4 -:10493000FE01ED5BFF4F5083FE01EC5BFF4F608398 -:10494000FE01EB5BFF4F7083CE01805C9F4FFC014B -:10495000808188235CF460E070E080EC9FE70F9436 -:10496000CE3E8FE79CE30F94DA403DC0CE01805CE1 -:104970009F4FFC018081282F880F330BCE018F5B66 -:104980009F4FFC018081482F880F550BC901880F6C -:10499000991F820F931F880F991F840F951F880FEF -:1049A000991F880F991F9C0124523E4E80E090E091 -:1049B000A0ECBFE7F90180839183A283B383CE018A -:1049C0008F5B9F4FFC018081682FCE01805C9F4FE1 -:1049D000FC01808120E030E0A9010E94BA818A8137 -:1049E0008F5F8A8366CF86E69CE30F94DA4081E589 -:1049F0000E942E9E882309F491C2809143189091C1 -:104A0000441821E0892B09F420E0222319F00E94A8 -:104A1000F39D02C08DE99FEF9D878C878C859D85D6 -:104A20008F3F9F4F24F08C859D8503972CF08EE35C -:104A30009CE30F94DA40FCC58FE19CE30F94DA40CD -:104A40008C859D858130910509F4DDC0823091050A -:104A500009F4E2C1892B09F061C21B828B81863087 -:104A600008F05CC21C828C81863008F0C8C08B8143 -:104A7000882F90E0092E000CAA0BBB0BBC01CD01C6 -:104A80000F94DB54DC01CB019C01AD0160E070E0D0 -:104A900080E490E40F94C95BDC01CB018E879F8793 -:104AA000A88BB98B8C81882F90E0092E000CAA0B63 -:104AB000BB0BBC01CD010F94DB54DC01CB019C018D -:104AC000AD0160E070E080E490E40F94C95BDC012C -:104AD000CB018A8B9B8BAC8BBD8B8B81082F10E01D -:104AE0008C81A82EB12C8B81282F30E08C81482F0F -:104AF00050E0C901880F991F820F931F880F991FDB -:104B0000840F951F880F991F880F991F84529E4EFE -:104B1000FC01C080D180E280F3802E853F854889EA -:104B200059896E857F85888999890F943A55DC016A -:104B3000CB013C014D012A893B894C895D896A89F9 -:104B40007B898C899D890F943A55DC01CB019C01AE -:104B5000AD01C401B3010F94CA5BDC01CB01BC0100 -:104B6000CD010F94C85EDC01CB019C01AD01BC01FD -:104B7000CD010F94CA5BDC01CB019C01AD01C701E3 -:104B8000B6010F94CA5BDC01CB019C01AD01C801E9 -:104B9000880F991F800F911F880F991F8A0D9B1DE9 -:104BA000880F991F880F991F84529E4EFC01208305 -:104BB0003183428353838B81282F30E08C81482FAF -:104BC00050E0C901880F991F820F931F880F991F0A -:104BD000840F951F880F991F880F991F84529E4E2E -:104BE000FC0180819181A281B3819C01AD016C8126 -:104BF0008B810E94BA818C818F5F8C8334CF8B81B3 -:104C00008F5F8B832BCF1D828D81863008F086C10C -:104C10008D81082F10E08D81E82EF12C8D81282FB9 -:104C200030E08D81482F50E0C901880F991F820F15 -:104C3000931F880F991F840F951F880F991F880F46 -:104C4000991F84529E4EFC0180819181A281B38183 -:104C500027EE3BEF4FE151E4BC01CD010F94CA5B5D -:104C6000DC01CB019C01AD01C801880F991F800FA9 -:104C7000911F880F991F8E0D9F1D880F991F880FF8 -:104C8000991F84529E4EFC012083318342835383BB -:104C90008D81E82EF12C8D81282F30E081E09D81DF -:104CA000953008F080E0882F90E0820F931F892BC9 -:104CB00019F001E010E002C00FEF1FEF8D81482FC7 -:104CC00050E08D81282F30E081E09D81953008F003 -:104CD00080E0882F90E0820F931F892B19F021E04C -:104CE00030E002C02FEF3FEFCA01880F991F840FF9 -:104CF000951F880F991F820F931F880F991F880F88 -:104D0000991F84529E4EFC0180819181A281B381C2 -:104D100027EE3BEF4FE151E4BC01CD010F94CA5B9C -:104D2000DC01CB019C01AD01C701880F991F8E0DDD -:104D30009F1D880F991F800F911F880F991F880F43 -:104D4000991F84529E4EFC012083318342835383FA -:104D50008D81282F30E08D81482F50E0C901880FC8 -:104D6000991F820F931F880F991F840F951F880F1B -:104D7000991F880F991F84529E4EFC01808191815A -:104D8000A281B3819C01AD016D818D810E94BA81A8 -:104D90008D81482F50E08D81282F30E081E09D816A -:104DA000953008F080E0882F90E0820F931F892BC8 -:104DB00019F021E030E002C02FEF3FEFCA01880F69 -:104DC000991F840F951F880F991F820F931F880FBB -:104DD000991F880F991F84529E4EFC0180819181FA -:104DE000A281B3812D81422F50E021E03D813530F9 -:104DF00008F020E0222F30E0240F351F232B11F084 -:104E000061E001C06FEF9C01AD018D810E94BA810C -:104E10008D818F5F8D83F8CE82E08E838E8184308A -:104E200008F07CC082E08F838F81843008F072C0EC -:104E300083E40E942E9E882349F0209164143091CF -:104E40006514409166145091671404C02AE037ED50 -:104E50004FE151E48E81082F10E08F81E82EF12C74 -:104E60008E81682F70E08F81E82FF0E0CB01880FF2 -:104E7000991F860F971F880F991F8E0F9F1F880FEE -:104E8000991F880F991F84529E4EFC018081918149 -:104E9000A281B381BC01CD010F94CA5BDC01CB01BF -:104EA0009C01AD01C801880F991F800F911F880FC9 -:104EB000991F8E0D9F1D880F991F880F991F84526F -:104EC0009E4EFC0120833183428353838E81282FA1 -:104ED00030E08F81482F50E0C901880F991F820F61 -:104EE000931F880F991F840F951F880F991F880F94 -:104EF000991F84529E4EFC0180819181A281B381D1 -:104F00009C01AD016F818E810E94BA818F818F5F7C -:104F10008F838ACF8E818F5F8E8380CF8AE40E94B9 -:104F20002E9E882309F47AC080912A1390912B1326 -:104F3000892B41F00F94E02B80E00E94D1E30F9485 -:104F4000D82B07C00F94E02B81E00E94D1E30F948F -:104F5000D82B1AAA1BAA1CAA1DAA66E371E083E338 -:104F600091E00E94C8A18C0160E070E083E090E0D5 -:104F70000E94CDA19801281B390BC901092E000CF4 -:104F8000AA0BBB0BBC01CD010F94DB54DC01CB01A0 -:104F900020E030E040E05FE3BC01CD010F943A55E2 -:104FA000DC01CB018EA79FA7A8ABB9AB6BE371E087 -:104FB00087E391E00E94C8A18C0160E070E083E08B -:104FC00090E00E94CDA1F801E81BF90BCF01092E5A -:104FD000000CAA0BBB0BBC01CD010F94DB54DC0110 -:104FE000CB0120E030E040E05FE3BC01CD010F9455 -:104FF0003A55DC01CB018AA79BA7ACA7BDA7AE01A0 -:105000004E5C5F4F9E01225D3F4FCE018A96B901F3 -:105010000E941E790E949A7C81E0898380E50E942B -:105020002E9E882309F433C280915814909159140C -:10503000992384F08091581490915914029754F454 -:105040008091430C8F3F31F41092430C8DEF9BE322 -:105050000F94DA408091581490915914092E000C45 -:10506000AA0BBB0B40E050E026E030E0841B950B20 -:105070002817390708F40BC2FC018827E155FF4FB8 -:105080008F4F0D94C15B0F942B3F8FEE9BE30F94DA -:10509000DA40FDC183E40E942E9E982F81E089278B -:1050A000882331F00F94223F8EEC9BE30F94DA407B -:1050B0008091281390912913029724F180915E1416 -:1050C00090915F14A0916014B09161142DEB3BE3BB -:1050D000AC01BD01C9010F9426418CE20E94AA6572 -:1050E00080915A1490915B14A0915C14B0915D145E -:1050F00042E050E0BC01CD010E94C06688EB9BE31A -:105100000F94DA4085E50E942E9E082F85E40E94C8 -:105110002E9EF82E84E50E942E9E182F8091870CDB -:105120009091880CA091890CB0918A0C20915A140E -:1051300030915B1440915C1450915D14BC01CD0121 -:105140000F94CA5BDC01CB018EA39FA3A8A7B9A7CC -:105150008091830C9091840CA091850CB091860C69 -:1051600020915E1430915F1440916014509161144D -:10517000BC01CD010F94CA5BDC01CB018AA39BA3C8 -:10518000ACA3BDA3BE016A5D7F4FCE0182962F2DD9 -:10519000412F0F94832F0E949A7C81E0898377C1ED -:1051A00089E89BE30F94DA4043C280915714882327 -:1051B00009F4EDC0809162149091631484976CF0AF -:1051C0008091641490916514A0916614B091671455 -:1051D000BC01CD010F94CE3E59C1809162149091D3 -:1051E00063149C012150310930936314209362149D -:1051F00021E0892B09F420E0222309F447C100E0D3 -:1052000010E020E04AE554E16EE574E180E00F949F -:105210006927A22EB32EC42ED52EE62EF72E082FE8 -:10522000192F2A2D3B2D4C2D5D2D6E2D7F2D802F7E -:10523000912F2AAF3BAF4CAF5DAF6EAF7FAF8AAD62 -:1052400088230CF05AC018868885863008F01EC165 -:1052500019868985863008F04CC08885282F30E073 -:105260008985482F50E0C901880F991F820F931F2D -:10527000880F991F840F951F880F991F880F991FFA -:1052800084529E4EFC0180819181A281B38111E004 -:105290009C01AD01BC01CD010F94175F882309F477 -:1052A00010E0112311F18885682F70E08985E82FBF -:1052B000F0E020916414309165144091661450918F -:1052C0006714CB01880F991F860F971F880F991FAE -:1052D0008E0F9F1F880F991F880F991F84529E4E13 -:1052E000FC01208331834283538389858F5F8987C3 -:1052F000B0CF88858F5F8887A7CF8AAD682F880F4A -:10530000770B8BADE82F880FFF0B20916414309141 -:1053100065144091661450916714CB01880F991F52 -:10532000860F971F880F991F8E0F9F1F880F991F39 -:10533000880F991F84529E4EFC0120833183428343 -:1053400053838AAD282F880F330B8BAD482F880FDE -:10535000550BC901880F991F820F931F880F991F42 -:10536000840F951F880F991F880F991F84529E4E96 -:10537000FC0180819181A281B3812BAD622F2AAD86 -:10538000722F9C01AD01872F0E94BA8126CF0E9407 -:10539000F79DDC01CB018E8B9F8BA88FB98F20E00E -:1053A00030E040E251E46E897F89888D998D0F94B9 -:1053B0003A55DC01CB01BC01CD010F940C5FDC013F -:1053C000CB01BC01CD010F94365DDC01CB014E97C2 -:1053D000019709F040C026E636E646E450E46E89BF -:1053E0007F89888D998D0F94C95BDC01CB0120E00A -:1053F00030E048EC52E4BC01CD010F943A55DC0199 -:10540000CB018A8F9B8FAC8FBD8F20E030E0A9014C -:105410006A8D7B8D8C8D9D8D0F94D454882379F06B -:105420008A8D9B8DAC8DBD8D9C01AD0160E070E0DF -:1054300080E291E40F946A5EDC01CB0103C080E05E -:1054400090E0DC018EAB9FABA8AFB9AFCE01C696A2 -:105450000E945BDE1CC00E94F6E919C08AE59BE34E -:105460000F94DA40E5C08091641490916514A09186 -:105470006614B091671420915714AC01BD01822FBE -:105480000F94432E04C00F94F82D01C000008CE44B -:105490000E942E9E882309F455C080914318909154 -:1054A000441821E0892B09F420E0222319F00E94FE -:1054B000F39D05C08091430C082E000C990B90932E -:1054C000910C8093900C0E94077C9F8F8E8F8E8D05 -:1054D0009F8D892B29F48AE39BE30F94DA40A8C0BF -:1054E0008091900C9091910C992364F08E8D9F8DFA -:1054F0009C01215031098091900C9091910C2817BA -:10550000390774F48E8D9F8D9C012150310988E1FB -:105510009BE3B9010F9437418AE00E94AA6588C0D5 -:105520008091900C9091910C60E070E00E94137C4F -:105530008091900C9091910C8093430C81E19BE3BE -:105540000F94DA4083E50E942E9E882309F45CC004 -:10555000809143189091441821E0892B09F420E0B0 -:10556000222319F00E94F39D05C08091430C082E60 -:10557000000C990B9093910C8093900C8091900C5F -:105580009091910C019619F40F945E4151C00E94C4 -:10559000077C99A388A388A199A1892B29F481EF7D -:1055A0009AE30F94DA403BC08091900C9091910C5B -:1055B000992364F088A199A19C012150310980911F -:1055C000900C9091910C2817390774F488A199A137 -:1055D0009C01215031098FEC9AE3B9010F943741B6 -:1055E0008AE00E94AA651BC08091900C9091910C5A -:1055F0000E945D7C8091900C9091910C8093430C63 -:1056000088EC9AE30F94DA4084E50E942E9E88236A -:1056100031F080915514909156140E94D2A1898145 -:10562000882331F00E94BA918CEB9AE30F942026E4 -:10563000CB5BDF4F0FB6F894DEBF0FBECDBFDF915F -:10564000CF911F910F91FF90EF90DF90CF90BF907F -:10565000AF909F908F907F906F9008952F923F9280 -:105660004F925F926F927F928F929F92AF92BF9272 -:10567000CF92DF92EF92FF920F931F93CF93DF931E -:10568000CDB7DEB7CD58D1090FB6F894DEBF0FBE47 -:10569000CDBFE091C811F091C911EF2B11F00C941E -:1056A0002DB9E996FFAEEEAEE99719017A016B01CB -:1056B000FC012091941130919511409196115091D7 -:1056C000971160817181828193810F943A550F9473 -:1056D000375E2B013C0125966CAF7DAF8EAF9FAF3F -:1056E0002597209198113091991140919A115091DC -:1056F0009B11D6016D917D918D919C910F943A559E -:105700000F94375E4B015C0129966CAF7DAF8EAF75 -:105710009FAF299720919C1130919D1140919E112E -:1057200050919F11F70160817181828193810F9463 -:105730003A550F94375E6B017C012D966CAF7DAFAF -:105740008EAF9FAF2D972091A0113091A111409164 -:10575000A2115091A311D1016D917D918D919C91D8 -:105760000F943A550F94375E67966CAF7DAF8EAF4E -:105770009FAF679761966CAF7DAF8EAF9FAF61971C -:1057800080917F1183FF0EC067962CAD3DAD4EAD6D -:105790005FAD679720931B1630931C1640931D1620 -:1057A00050931E16D801BC91AC96BFAFAC97F801D0 -:1057B000F181A896FFAFA897D8011296BC91E09608 -:1057C000BFAFE097F80103818091F9159091FA1528 -:1057D000891B8F708F3021F480E00E94EE66F4CF39 -:1057E000F091F915C557DF4FF883CB58D040809121 -:1057F000F915282E312C80910F1690911016A0913A -:105800001116B0911216481A590A6A0A7B0A809139 -:10581000131690911416A0911516B0911616A501A5 -:105820009401281B390B4A0B5B0B6B962CAF3DAFD9 -:105830004EAF5FAF6B978091171690911816A0919D -:105840001916B0911A16A7019601281B390B4A0B9D -:105850005B0B6F962CAF3DAF4EAF5FAF6F978091F4 -:105860001B1690911C16A0911D16B0911E166796DE -:10587000CCACDDACEEACFFAC6797C81AD90AEA0A2B -:10588000FB0A09F472C08091E70C811128C0609175 -:10589000EC0C7091ED0C8091EE0C9091EF0C0F944C -:1058A000365D209147023091480262177307BCF4BD -:1058B00067968CAD9DADAEADBFAD679780931B165F -:1058C00090931C16A0931D16B0931E160F945A4168 -:1058D0008FEC9CE30F94DA40C12CD12C7601C701E8 -:1058E000B6010F94DB542091430230914402409161 -:1058F0004502509146020F943A554B015C0120E05D -:1059000030E0A9010F942A5E87FF04C0B7FAB09473 -:10591000B7F8B09420E030E04AEF53E46091A01172 -:105920007091A1118091A2119091A3110F943A55F9 -:10593000A50194010F94D45487FF17C067962CAD2E -:105940003DAD4EAD5FAD679720931B1630931C168F -:1059500040931D1650931E160F945A4180EB9CE302 -:105960000F94DA40C12CD12C7601D301C2018827D3 -:10597000B7FD83959927AA27BB27182F6B962CADC7 -:105980003DAD4EAD5FAD6B9757FD12606F968CAD20 -:105990009DADAEADBFAD6F97B7FD1460F7FC18605D -:1059A000C701B6010F94DB542091430230914402A9 -:1059B00040914502509146020F943A556B017C018B -:1059C00020E030E0A9010F942A5E87FF04C0C701E0 -:1059D000B601905802C0C701B60120E030E040E0B7 -:1059E0005FE30F94CA5B0F943D5DE7966CAF7DAFAC -:1059F0008EAF9FAFE79788E4829DF001839DF00D05 -:105A00001124E150F34F108215AB5301420177FE90 -:105A100007C088249924540184189508A608B7085B -:105A200088E4829DF001839DF00D1124E150F34F35 -:105A3000858A968AA78AB08E6B962CAD3DAD4EAD09 -:105A40005FAD6B9767962CAF3DAF4EAF5FAF67977B -:105A500057FF0DC050954095309521953F4F4F4FC2 -:105A60005F4F67962CAF3DAF4EAF5FAF679788E44F -:105A7000829DF001839DF00D1124E150F34F679654 -:105A80008CAD9DADAEADBFAD6797818F928FA38F6B -:105A9000B48F6F962CAD3DAD4EAD5FAD6F97A396B5 -:105AA0002CAF3DAF4EAF5FAFA39757FF0DC05095E2 -:105AB0004095309521953F4F4F4F5F4FA3962CAFA8 -:105AC0003DAF4EAF5FAFA39788E4829DF001839D09 -:105AD000F00D1124E150F34FA3968CAD9DADAEAD0A -:105AE000BFADA397858F968FA78FB0A3C301B201D7 -:105AF0000F94DB542091D70C3091D80C4091D90CE5 -:105B00005091DA0C0F943A55A7966CAF7DAF8EAFDB -:105B10009FAFA79769AB7AAB8BAB9CAB6B966CAD29 -:105B20007DAD8EAD9FAD6B970F94DB542091DB0C58 -:105B30003091DC0C4091DD0C5091DE0C0F943A5505 -:105B40002B013C016DAB7EAB8FAB98AF6F966CAD0C -:105B50007DAD8EAD9FAD6F970F94DB542091DF0C20 -:105B60003091E00C4091E10C5091E20C0F943A55C9 -:105B70006B966CAF7DAF8EAF9FAF6B9769AF7AAF0F -:105B80008BAF9CAF2091E30C3091E40C4091E50C7D -:105B90005091E60CC701B6010F943A556B017C0198 -:105BA00021966CAF7DAF8EAF9FAF219796E089169F -:105BB0009104A104B1041CF567962CAD3DAD4EAD2A -:105BC0005FAD67972630310541055105C4F4A396B2 -:105BD0008CAD9DADAEADBFADA3970697A105B10548 -:105BE00074F420E030E0A901C701B6010F942A5EE9 -:105BF00087FF16C0F7FAF094F7F8F09411C0E99611 -:105C0000AEADBFADE997CD90DD90ED90FC9020E07A -:105C100030E0A901C701B6010F94D454882369F07C -:105C200088E4829DF001839DF00D1124E150F34F33 -:105C3000C586D686E786F08A38C0A7962CAD3DADDE -:105C40004EAD5FADA797CA01B9010F943A556B01EC -:105C50007C01A3019201C301B2010F943A559B014B -:105C6000AC01C701B6010F94CA5B6B017C016B9656 -:105C70002CAD3DAD4EAD5FAD6B97CA01B9010F9430 -:105C80003A559B01AC01C701B6010F94CA5B0F9452 -:105C9000C85E28E4229DF001239DF00D1124E150FF -:105CA000F34F658776878787908B88E4829DF00124 -:105CB000839DF00D1124E150F34FE7962CAD3DADDF -:105CC0004EAD5FADE79721A332A343A354A3582D54 -:105CD000492D3A2D2B2D67968CAD9DADAEADBFAD48 -:105CE000679788169906AA06BB0660F464965FADAE -:105CF000649765964FAD659766963FAD66976796D4 -:105D00002FAD6797852F942FA32FB22FA3962CAD7D -:105D10003DAD4EAD5FADA39782179307A407B507BE -:105D200010F4DA01C901E7962CAD3DAD4EAD5FAD83 -:105D3000E79782179307A407B50710F4DA01C901A2 -:105D400028E4229DF001239DF00D1124E150F34F32 -:105D500085A396A3A7A3B0A70697A105B10510F444 -:105D60000C9426B9DF01AA5BBF4F8091D50C8C93B0 -:105D7000E95BFF4F8091D60C808389288A288B2885 -:105D800009F05F9888E4829DF001839DF00D112455 -:105D9000E150F34F818D928DA38DB48D892B8A2B89 -:105DA0008B2B09F08A9888E4829DF001839DF00D89 -:105DB0001124E150F34F858D968DA78DB0A1892BCD -:105DC0008A2B8B2B29F0809108018170809306012A -:105DD000E7968CAD9DADAEADBFADE797892B8A2B15 -:105DE0008B2B11F40C942FB98091DB11882319F0BF -:105DF00081508093DB11129880E28093DB11D09068 -:105E0000C011E090C111F090C2111091C3112D2D5D -:105E10003E2D4F2D512FAC966FADAC97A8967FAD10 -:105E2000A897E0968FADE097902F0F94D45487FFFA -:105E30000AC0AC96DFAEAC97A896EFAEA897E096F6 -:105E4000FFAEE097012F88E4829DF001839DF00D65 -:105E50001124E150F34F2585368547855089EB960F -:105E60002CAF3DAF4EAF5FAFEB9760E070E080E8E6 -:105E70009FE30F94C45CA7966CAF7DAF8EAF9FAFCE -:105E8000A797AC962FADAC97A8963FADA897E09694 -:105E90004FADE097502F0F943A554B015C01809124 -:105EA000F9159091F715891B8F70EC968FAFEC97D1 -:105EB000A501940160E074E284E799E40F94C45C66 -:105EC0000F94375E6B017C01EC968FADEC9782509E -:105ED0008630C0F58091901190919111A09192110E -:105EE000B0919311C816D906EA06FB0658F58C192D -:105EF0009D09AE09BF09BC01CD01660F771F881F40 -:105F0000991FEC964FADEC97042F10E020E030E0A5 -:105F1000A90198010F942A5BCA01B9010F94D954C1 -:105F20000F94375E6C0D7D1D8E1D9F1D0F94D954EF -:105F30009B01AC0160E074E284E799E40F94C45CD7 -:105F40004B015C01A5019401EB966CAD7DAD8EAD6E -:105F50009FADEB970F943A559B01AC010F943A55C6 -:105F6000C158DF4F688379838A839B83CF57D040A2 -:105F700088E4829D8001839D100D11240150134FF0 -:105F8000C158DF4F88819981AA81BB81CF57D0400A -:105F9000F80181839283A383B48325A136A147A10D -:105FA00050A5AF962CAF3DAF4EAF5FAFAF97CA01D4 -:105FB000B9010F94D954AB966CAF7DAF8EAF9FAF44 -:105FC000AB979B01AC01C501B4010F943A550F94F6 -:105FD000A85C0F943D5DCD57DF4F688379838A833A -:105FE0009B83C358D040F80166AB77AB80AF91AFCD -:105FF0008E010F5C1F4F9E012F5D3F4FE1963FAF1B -:106000002EAFE19744EA51E1C757DF4F59834883E8 -:10601000C958D040C8014096C457DF4F9983888340 -:10602000CC58D040C957DF4F39832883C758D04058 -:1060300064961FAE649768961FAE689790E86C965A -:106040009FAF6C97AFE3A096AFAFA097F8012191F7 -:106050003191419151918F01C501B4010F943A558D -:106060006B017C01C957DF4FA881B981C758D04067 -:106070006D937D938D939D93C957DF4FB983A8830B -:10608000C758D04020E030E0A9010F942A5E87FF76 -:1060900004C0F7FAF094F7F8F094C757DF4FE8819F -:1060A000F981C958D0404190519061907190C75783 -:1060B000DF4FF983E883C958D040A7019601C30197 -:1060C000B2010F94D45487FF26C0A7019601C301E3 -:1060D000B2010F94C45C7B016C019B01AC0164961E -:1060E0006FAD649768967FAD68976C968FAD6C972F -:1060F000A0969FADA0970F942A5E181664F464963C -:10610000EFAE64976896FFAE68976C96CFAE6C97CB -:10611000A096DFAEA097C457DF4F28813981CC58B5 -:10612000D0402017310709F091CF20E030E040E85F -:106130005FE364966FAD649768967FAD68976C96E1 -:106140008FAD6C97A0969FADA0970F94D45487FF06 -:106150007AC08E010F5C1F4F64962FAD64976896CE -:106160003FAD68976C964FAD6C97A0965FADA097CA -:10617000E196AEADBFADE1976D917D918D919C9112 -:106180000F943A55E196EEADFFADE19761937193AF -:1061900081939193E196FFAFEEAFE1970E171F0742 -:1061A000D9F688E4829D8001839D100D1124015051 -:1061B000134FCD57DF4F688179818A819B81C35806 -:1061C000D0400F94D95464962FAD649768963FAD34 -:1061D00068976C964FAD6C97A0965FADA0970F94A3 -:1061E0003A550F943D5DD801D6966D937D938D936E -:1061F0009C93D99764962FAD649768963FAD689746 -:106200006C964FAD6C97A0965FADA09764966FADFE -:10621000649768967FAD68976C968FAD6C97A096E3 -:106220009FADA0970F943A55C158DF4F288139810F -:106230004A815B81CF57D0400F943A55F801618372 -:10624000728383839483AB962CAD3DAD4EAD5FAD31 -:10625000AB97A7966CAD7DAD8EAD9FADA7970F9414 -:106260003A5567966CAF7DAF8EAF9FAF679788E466 -:10627000829DF001839DF00D1124E150F34F85883C -:106280009688A788B08C81149104A104B10419F5F3 -:10629000818D928DA38DB48D892B8A2B8B2BD9F474 -:1062A000858D968DA78DB0A1892B8A2B8B2B99F488 -:1062B0002091B8113091B9114091BA115091BB1190 -:1062C00067966CAD7DAD8EAD9FAD67970F943A55D7 -:1062D0000F94A85C2BC2E7962CAD3DAD4EAD5FADE3 -:1062E000E797232B242B252B49F02091B4113091D3 -:1062F000B5114091B6115091B71108C02091BC1151 -:106300003091BD114091BE115091BF1167966CAD97 -:106310007DAD8EAD9FAD67970F943A550F94A85CF5 -:106320000F943D5D6B017C018091D10C9091D20C5A -:10633000A091D30CB091D40CAF962CAD3DAD4EAD29 -:106340005FADAF9782179307A407B50708F4D6C0CF -:1063500081149104A104B10411F16091C10C7091F8 -:10636000C20C8091C30C9091C40C6C157D058E05F8 -:106370009F05A8F40F941A5B2B013C01A501940121 -:10638000C701B6010F941A5B4616570668067906D0 -:1063900030F4C301B2010F942A5B69017A0188E4E9 -:1063A000829DF001839DF00D1124E150F34F818C0B -:1063B000928CA38CB48C81149104A104B10441F19A -:1063C0006091C50C7091C60C8091C70C9091C80C5F -:1063D0006C157D058E059F05D8F4AF962CAD3DADAF -:1063E0004EAD5FADAF970F941A5B2B013C01A50139 -:1063F0009401C701B6010F941A5B4616570668064A -:10640000790630F4C301B2010F942A5B69017A0165 -:1064100088E4829DF001839DF00D1124E150F34F3B -:10642000858C968CA78CB0A081149104A104B10432 -:1064300041F16091C90C7091CA0C8091CB0C909184 -:10644000CC0C6C157D058E059F05D8F4AF962CAD50 -:106450003DAD4EAD5FADAF970F941A5B2B013C0184 -:10646000A5019401C701B6010F941A5B46165706A1 -:106470006806790630F4C301B2010F942A5B690102 -:106480007A0188E4829DF001839DF00D1124E15092 -:10649000F34F81A092A0A3A0B4A081149104A10401 -:1064A000B10409F447C16091CD0C7091CE0C80917C -:1064B000CF0C9091D00C6C157D058E059F0508F0D2 -:1064C00039C1AF962CAD3DAD4EAD5FADAF970F94DA -:1064D0001A5B2B013C01A5019401C701B6010F9481 -:1064E0001A5B461657066806790608F023C1C301F1 -:1064F000B2010F942A5B69017A011CC181149104D5 -:10650000A104B104C9F16091C10C7091C20C8091D9 -:10651000C30C9091C40C6C157D058E059F0560F52C -:106520000F94D954AB962CAD3DAD4EAD5FADAB974E -:106530000F943A552B013C01C501B4010F94D95475 -:106540004B015C01C701B6010F94D954A501940118 -:106550000F943A559B01AC01C301B2010F94D4547E -:1065600087FF0AC0A5019401C301B2010F94C45C66 -:106570000F943D5D6B017C0188E4829DF001839D59 -:10658000F00D1124E150F34F418C528C638C748CCC -:106590004114510461047104C9F16091C50C7091FA -:1065A000C60C8091C70C9091C80C6C157D058E05AA -:1065B0009F0560F50F94D954AB962CAD3DAD4EAD13 -:1065C0005FADAB970F943A554B015C01C301B2012B -:1065D0000F94D9542B013C01C701B6010F94D95433 -:1065E000A30192010F943A559B01AC01C501B4017E -:1065F0000F94D45487FF0AC0A3019201C501B401CE -:106600000F94C45C0F943D5D6B017C0188E4829D16 -:10661000F001839DF00D1124E150F34F458C568C11 -:10662000678C70A04114510461047104C9F1609138 -:10663000C90C7091CA0C8091CB0C9091CC0C6C154C -:106640007D058E059F0560F50F94D954AB962CAD52 -:106650003DAD4EAD5FADAB970F943A554B015C012C -:10666000C301B2010F94D9542B013C01C701B601FB -:106670000F94D954A30192010F943A559B01AC0198 -:10668000C501B4010F94D45487FF0AC0A30192013D -:10669000C501B4010F94C45C0F943D5D6B017C0196 -:1066A00088E4829DF001839DF00D1124E150F34FA9 -:1066B00081A092A0A3A0B4A081149104A104B1046C -:1066C000C9F16091CD0C7091CE0C8091CF0C90915E -:1066D000D00C6C157D058E059F0560F50F94D9547F -:1066E000AB962CAD3DAD4EAD5FADAB970F943A552B -:1066F0002B013C01C501B4010F94D9544B015C013D -:10670000C701B6010F94D954A50194010F943A55CD -:106710009B01AC01C301B2010F94D45487FF0AC09E -:10672000A5019401C301B2010F94C45C0F943D5DB7 -:106730006B017C0188E4829D8001839D100D1124F2 -:106740000150134FF801EE5BFF4FC082D182E2820D -:10675000F382C701B6010F94D9546B017C0167968F -:106760002CAD3DAD4EAD5FAD67970F94C45CAF9659 -:106770006CAF7DAF8EAF9FAFAF97D80151966D9341 -:106780007D938D939C9354972DEB37E346E051E432 -:10679000C701B6010F943A550F943D5DF80161AB06 -:1067A00072AB83AB94AB29A93AA94BA95CA9A79674 -:1067B0006CAD7DAD8EAD9FADA7970F943A55AB965E -:1067C0006CAF7DAF8EAF9FAFAB97698B7A8B8B8BA6 -:1067D0009C8B2DA93EA94FA958ADA7966CAD7DAD58 -:1067E0008EAD9FADA7970F943A554B015C016D8B11 -:1067F0007E8B8F8B988F29AD3AAD4BAD5CADA79654 -:106800006CAD7DAD8EAD9FADA7970F943A556B01E2 -:106810007C01698F7A8F8B8F9C8F21962CAD3DAD3B -:106820004EAD5FAD2197A7966CAD7DAD8EAD9FADA2 -:10683000A7970F943A55A7966CAF7DAF8EAF9FAFD9 -:10684000A7976D8F7E8F8F8F98A3EC96FFADEC97F7 -:10685000FF2309F4BBC22091FB1564962FAF649708 -:106860003091FC1568963FAF68974091FD156C9686 -:106870004FAF6C975091FE15A0965FAFA0972DEB90 -:1068800037E346E855E364966FAD649768967FAD4D -:1068900068976C968FAD6C97A0969FADA0970F945C -:1068A000D45487FD93C28091CB119091CC11A091CB -:1068B000CD11B091CE11E7968CAF9DAFAEAFBFAF0B -:1068C000E7972091CF113091D0114091D111509183 -:1068D000D211E3962CAF3DAF4EAF5FAFE3978091FF -:1068E000D3119091D411A091D511B091D611EF96FA -:1068F0008CAF9DAFAEAFBFAFEF972091D711309166 -:10690000D8114091D9115091DA11C158DF4F288325 -:1069100039834A835B83CF57D040E7966CAD7DAD1A -:106920008EAD9FADE7979058AB962CAD3DAD4EAD7B -:106930005FADAB970F943A552B013C01E3962CAD1C -:106940003DAD4EAD5FADE397C501B4010F943A552F -:106950009B01AC01C301B2010F94C95B2B013C0147 -:10696000EF962CAD3DAD4EAD5FADEF97C701B601D3 -:106970000F943A559B01AC01C301B2010F94C95B5E -:106980002B013C01C158DF4F288139814A815B814D -:10699000CF57D040A7966CAD7DAD8EAD9FADA7977C -:1069A0000F943A559B01AC01C301B2010F94C95B2E -:1069B0002B013C012FEE3FEF4FE75FE30F942A5E80 -:1069C00018160CF4B2C12FEE3FEF4FE75FEBC30197 -:1069D000B2010F94D45487FF08C0EFEE4E2E552419 -:1069E0005A94EFE76E2EEFEB7E2EE7962CAD3DAD81 -:1069F0004EAD5FADE797AB966CAD7DAD8EAD9FAD07 -:106A0000AB970F94C95B69837A838B839C83E396EE -:106A10002CAD3DAD4EAD5FADE397C501B4010F9414 -:106A2000C95B6D837E838F839887EF962CAD3DADD8 -:106A30004EAD5FADEF97C701B6010F94C95B698793 -:106A40007A878B879C87C158DF4F288139814A819B -:106A50005B81CF57D040A7966CAD7DAD8EAD9FAD1D -:106A6000A7970F94C95B6D877E878F87988BAE0140 -:106A70004F5F5F4FA5965FAF4EAFA597CE01419692 -:106A800063969FAF8EAF63978A01C12CD12C76019C -:106A9000D8018D909D90AD90BD908D0120E030E0AB -:106AA000A901C501B4010F94D454882371F0A50144 -:106AB0009401C501B4010F943A559B01AC01C70183 -:106AC000B6010F94CA5B6B017C016396EEADFFAD1E -:106AD0006397E017F107E1F6C701B6010F94C85EAE -:106AE0009B01AC0160E070E080E89FE30F94C45C20 -:106AF0006B017C01A5960EAD1FADA597A701960170 -:106B0000D8016D917D918D919C910F943A55F8012A -:106B100061937193819391938F0163962EAD3FADF5 -:106B200063972E173F0751F770E8A72E71E1B72E34 -:106B3000AC963FADAC97A8963FAFA897AD964FAD3A -:106B4000AD97E4964FAFE497AE960FADAE97AF9684 -:106B50001FADAF97A596AEADBFADA597CD90DD901B -:106B6000ED90FD90A596BFAFAEAFA59720E030E0C9 -:106B7000A901C701B6010F94D454882361F1F5012E -:106B800060817181828193810F94D954A70196010C -:106B90000F94C45C6B017C0120E030E0A9010F94EC -:106BA0002A5E87FF04C0F7FAF094F7F8F094A896ED -:106BB0002FADA897E4963FADE497A801C701B601B1 -:106BC0000F94D45487FF07C0A896CFAEA897E49639 -:106BD000DFAEE4978701F4E0AF0EB11C63962EADF3 -:106BE0003FAD6397A5964EAD5FADA59724173507CA -:106BF00009F0B0CFA301920160E070E080E89FE36C -:106C00000F94C95B20E030E040E05FE30F943A5519 -:106C10000F94C85E6B017C012091BD0C3091BE0CBD -:106C20004091BF0C5091C00CA8966FADA897E49608 -:106C30007FADE497C8010F943A55A70196010F94D0 -:106C40003A554B015C01A701960160E070E080E8D5 -:106C50009FE30F94C95B9B01AC01C501B4010F9484 -:106C6000C45C6B017C0120E030E040E85FE3EB9620 -:106C70006CAD7DAD8EAD9FADEB970F94D45487FF77 -:106C80005CC0A3019201C301B2010F943A5523ECF9 -:106C900038EB42E35FEB0F943A5523EF36E64FE5CE -:106CA0005FE30F94C95BA30192010F943A552BED5A -:106CB0003FE049EC5FE30F94CA5B2CEE31E548E31B -:106CC0005EE30F94C95B4B015C0124EE3BEC46E1B3 -:106CD00050E40F942A5E181684F5A50194016BED1B -:106CE0007FE089E490E40F94C95B9B01AC01EB96D3 -:106CF0006CAD7DAD8EAD9FADEB970F94C45CA89647 -:106D00002FADA897E4963FADE497A8010F943A55AC -:106D10005B018C019B01AC01B601C7010F942A5E97 -:106D200018165CF46501780108C03BE0C32E47EDFE -:106D3000D42E53E2E52E6BE3F62E88E4829DF0011B -:106D4000839DF00D1124E150F34FA180B2800381A7 -:106D500014819501A80164966FAD649768967FAD24 -:106D600068976C968FAD6C97A0969FADA0970F9487 -:106D70002A5E181664F46496AFAE64976896BFAE48 -:106D800068976C960FAF6C97A0961FAFA09796016F -:106D9000A70164966FAD649768967FAD68976C960F -:106DA0008FAD6C97A0969FADA0970F942A5E181692 -:106DB000CCF46496CFAE64976896DFAE68976C9615 -:106DC000EFAE6C97A096FFAEA0970CC064961FAE76 -:106DD000649768961FAE68976C961FAE6C97A096E6 -:106DE0001FAEA09780E1FE017196ABECB1E101907E -:106DF0000D928A95E1F788E4829D8001839D100DB4 -:106E000011240150134F64968FAD649768969FAD1F -:106E100068976C96AFAD6C97A096BFADA097F80140 -:106E200081879287A387B487AF966CAD7DAD8EAD19 -:106E30009FADAF9790589B01AC010F94CA5BD801EE -:106E40001D962D913D914D915C9150970F943A551F -:106E50009B01AC016BE077ED83E29BE30F94C95B90 -:106E60002BE0C22E27EDD22E23E2E22E2BE3F22ED0 -:106E7000F801C582D682E782F086B080C180D280D8 -:106E8000E380F480A70196010F942A5E87FD02C07B -:106E900083E001C081E08B2998E4929DF001939DED -:106EA000F00D1124E150F34F808380E1FE01B19693 -:106EB000AFEFB5E101900D928A95E1F7C092FB1515 -:106EC000D092FC15E092FD15F092FE1580E1FE01D6 -:106ED000EF5BFF4FAFE0B6E101900D928A95E1F7CD -:106EE0009091F9158091FA15981303C084E6809368 -:106EF000F615C557DF4F8881CB58D0408F5F8F7014 -:106F00008093F9158091F9159091F81581508F7043 -:106F1000891709F4B3C0F090F9158FEF8F0D8F70BA -:106F200064968FAF6497B090F8158091F915B816F4 -:106F300009F473C0C12CD12C6496FFAD6497FB1586 -:106F400009F46BC06F2E712C28E4269D8001279DCB -:106F5000100D11240150134FD8018C9183FD3AC0BC -:106F6000AC960FAFAC97A8961FAFA8971996BC9197 -:106F70006896BFAF6897F801F2856C96FFAF6C9783 -:106F8000D8011B96BC91A096BFAFA097F801F485DD -:106F9000A496FFAFA497D80115962D903D904D90E3 -:106FA0005C901897A201910168966FAD68976C96F6 -:106FB0007FAD6C97A0968FADA0979F2F0F94D45460 -:106FC000811157C1C114D10459F0F601808180FDAF -:106FD00050C106C0AC96CFAEAC97A896DFAEA897CE -:106FE00064968FAD649781508F7064968FAF64976D -:106FF0008091F8158B1107C0AC96CFACAC97A896D2 -:10700000DFACA89799CF6496FFAD6497FB1529F084 -:1070100081E08B0D8F70B82EEBCF2091F815649620 -:107020002FAF6497C12CD12C8091F91564963FAD98 -:107030006497831719F1832E912C48E4489D8001B1 -:10704000499D100D11240150134FD8018C9183FDDF -:107050000AC05801C114D10439F0C6010E94B0CE53 -:10706000811102C095C1560164968FAD64978F5F00 -:107070008F7064968FAF64976501D6CFD090FA1564 -:107080008090F91528E4D81469F08FEF880D8F707F -:10709000289FF0011124E150F34F908193FF02C02B -:1070A000882EF1CF212C312C412C512C64961FAE0F -:1070B000649768961FAE6897712C612C00E010E011 -:1070C000E12CF12C8D1409F481C048E44D9D800120 -:1070D00011240150134FD8018C9183FD19C01596CE -:1070E0006D917D918D919C9118970F94C85EC62EDD -:1070F000B72EA82E992EE114F10409F455C0F7011A -:10710000808180FD0EC0D8018C9180FD0AC04CC0EA -:107110006496CFAC64976896BFAC6897A72C962C02 -:1071200048C0F701808181608083C7010E94B0CE92 -:10713000811136C0F70161817281838194810F943E -:10714000C85E9B01AC0160E070E080E89FE30F94B3 -:10715000C45C1B012C019B01AC016C2D7B2D8A2D85 -:10716000992D0F943A5569837A838B839C83649617 -:107170002FAD649768963FAD6897472D562DC20195 -:10718000B1010F943A55698B7A8B8B8B9C8BAE0136 -:107190004F5F5F4FBE016F5E7F4FC7010E9431BDE1 -:1071A000D7018C918E7F8C932C2C3B2C4A2C592C04 -:1071B000780181E08D0D8F70D82E6496CFAE6497E4 -:1071C0006896BFAE68977A2C692C7CCF01151105A3 -:1071D000E9F1F801808181608083C7010E94B0CE0F -:1071E000811130C0D80111966D917D918D919C9146 -:1071F00014970F94C85E9B01AC0160E070E080E8DA -:107200009FE30F94C45C6B017C012DEC3CEC4CE4DF -:107210005DE30F943A5569837A838B839C83910154 -:10722000A201C701B6010F943A55698B7A8B8B8BFB -:107230009C8BAE014F5F5F4FBE016F5E7F4FC801F9 -:107240000E9431BDF80180818E7F808380916F0024 -:10725000826080936F0081E01DC180E01BC1D090EF -:10726000C411E090C511F090C6111091C7110C9493 -:1072700007AF28E4269DF001279DF00D1124E15071 -:10728000F34F808181FD4BC0C114D10441F0D60180 -:107290001596CD90DD90ED90FC90189708C08BE08E -:1072A000C82E87EDD82E83E2E82E8BE3F82EB8E4C3 -:1072B000B69DF001B79DF00D1124E150F34F818987 -:1072C0009289A389B489BC01CD0190589B01AC017E -:1072D0000F94CA5BF80125853685478550890F9440 -:1072E0003A559B01AC01C701B6010F94C95BE62E6C -:1072F000872E982EA92E262F372F482F592F689684 -:107300006FAD68976C967FAD6C97A0968FADA09788 -:10731000A4969FADA4970F94D45487FF0CC0689691 -:10732000EFAC68976C968FAC6C97A0969FACA097CB -:10733000A496AFACA4972E2D382D492D5A2DC201FD -:10734000B1010F94D454882309F44ACEF8E4F69D91 -:10735000C001F79D900D11249C012150334F69010C -:10736000D9018C9181608C93C8010E94B0CE882392 -:1073700029F0F60180818E7F808332CE8E2D982D6C -:10738000A92DBA2DF60185839683A783B08728CED1 -:10739000D6018C9181FD58C0D60115962D913D9155 -:1073A0004D915C9118976B962CAF3DAF4EAF5FAF90 -:1073B0006B971501B5E02B0E311CF8014580568006 -:1073C00067807084A30192016B966CAD7DAD8EAD2C -:1073D0009FAD6B970F94D45487FF36C0F601818917 -:1073E0009289A389B489BC01CD0190589B01AC015D -:1073F0000F94CA5BD6011D962D913D914D915C91E4 -:1074000050970F943A559B01AC016B966CAD7DADD6 -:107410008EAD9FAD6B970F94C95B6B017C019B0197 -:10742000AC01C301B2010F942A5E18166CF4D801A6 -:107430008C9181608C93C5010E94B0CE8823F1F0BD -:10744000F80180818E7F808328E4289DF001299DAA -:10745000F00D1124E150F34F218532854385548589 -:1074600065817681878190850F94D4548111FCCDFC -:1074700064963FAD64973093F815F6CDD101CD9267 -:10748000DD92ED92FC9213976496BFAD6497B09332 -:10749000F815DACFC357DF4F0FB6F894DEBF0FBE33 -:1074A000CDBFDF91CF911F910F91FF90EF90DF90B3 -:1074B000CF90BF90AF909F908F907F906F905F9094 -:1074C0004F903F902F900895CF92DF92EF92FF92CE -:1074D0000F931F93CF93DF93CDB7DEB764970FB6AB -:1074E000F894DEBF0FBECDBFC98ADA8AEB8AFC8A68 -:1074F000FC0180819181A281B38189839A83AB83CE -:10750000BC83FB0180819181A281B3818D839E83A5 -:10751000AF83B887FA0180819181A281B381898785 -:107520009A87AB87BC87F90180819181A281B38161 -:107530008D879E87AF87B88BCE0141967C019E01D7 -:10754000235F3F4FAE01475F5F4FBE016B5F7F4FD1 -:1075500040970E942EAB64960FB6F894DEBF0FBE24 -:10756000CDBFDF91CF911F910F91FF90EF90DF90F2 -:10757000CF900895CF93DF93CDB7DEB760970FB666 -:10758000F894DEBF0FBECDBFEDEAFCE080819181B3 -:10759000A281B38189839A83AB83BC8384819581E3 -:1075A000A681B7818D839E83AF83B88780859185BF -:1075B000A285B38589879A87AB87BC8784859585A3 -:1075C000A685B7858D879E87AF87B88BAE01475F4D -:1075D0005F4FBE016B5F7F4FCE0101960E94B29359 -:1075E0009E01235F3F4FAE01475F5F4FBE016B5F60 -:1075F0007F4FCE0101960E94109260960FB6F894CC -:10760000DEBF0FBECDBFDF91CF9108959091AC0C3E -:107610009817C9F08093AC0C811109C08091AA0C15 -:107620008093D50C8091AB0C8093D60C08958091FB -:10763000D50C8093AA0C1092D50C8091D60C809317 -:10764000AB0C1092D60C089582E195E10E942D9723 -:1076500082E195E10E9460978091F9178D7F8E7F7E -:107660008093F9171092F5171092F6171092F717EA -:107670001092F81781E08093DF1608950F945A4115 -:107680006091A70C7091A80C8DE99CE30F94434185 -:107690008AE99CE30D94DA40AF92BF92CF92DF92D9 -:1076A000EF92FF920F931F93CF93DF93CDB7DEB787 -:1076B0002C970FB6F894DEBF0FBECDBF23EEC22EBF -:1076C00022E0D22E5C0170E0CB018D519D4F7C01F8 -:1076D000CE14DF0409F180E20E94AA65F6018191CF -:1076E0006F010E94AA658AE30E94AA65F501619173 -:1076F0007191819191915F018E010F5F1F4F23E086 -:1077000041E00F94AC4F8C01F80181918F018823E7 -:10771000F9F20E94AA65F8CF8AE00E94AA652C9629 -:107720000FB6F894DEBF0FBECDBFDF91CF911F9192 -:107730000F91FF90EF90DF90CF90BF90AF900895A2 -:10774000CF93DF9300D01F92CDB7DEB78091CA11DF -:1077500081111BC081E08093CA118091920C90919D -:10776000930CA091940CB091950CB05889839A8396 -:10777000AB83BC839E012F5F3F4F4EE95CE06AE91B -:107780007CE086E99CE00E9413EC0F900F900F9034 -:107790000F90DF91CF910895CF93DF9300D01F9288 -:1077A000CDB7DEB78091CA118823F9F02AE939E90B -:1077B00049E95FE36091920C7091930C8091940C75 -:1077C0009091950C0F943A5569837A838B839C83AF -:1077D0009E012F5F3F4F4EE95CE06AE97CE086E95D -:1077E0009CE00E9413EC1092CA110F900F900F9022 -:1077F0000F90DF91CF9108954F925F926F927F9299 -:107800008F929F92AF92BF92CF92DF92EF92FF92B0 -:107810000F931F93CF93DF93CDB7DEB768970FB663 -:10782000F894DEBF0FBECDBFC82E2A013B0159011F -:10783000E82EF12CF701E756F24CE4919924939449 -:107840001E160CF4912CDD24D39420E030E0A90125 -:10785000C301B2010F942A5E18160CF0D12CD92462 -:1078600061F082E0C81209C081E00E9406BB69E1B4 -:1078700070E080E090E00F946E4080E00E94E5921E -:1078800069837A838B839C8381E00E94E5926D8378 -:107890007E838F83988782E00E94E59269877A874A -:1078A0008B879C8783E00E94E5926D877E878F8718 -:1078B000988BEE0CFF1CEE0CFF1C88248394912CFB -:1078C0008C0E9D1E8E0C9F1CF40110821182128260 -:1078D00013829E01235F3F4FAE01475F5F4FBE01A2 -:1078E0006B5F7F4FCE0101960E941092F40140829F -:1078F0005182628273821D8A1E8A1F8A188E20E03E -:1079000030E0A901B801C5010F94D454811109C018 -:10791000F701E05BF24C85919591A591B4918C01B2 -:107920005D01C801D501898B9A8BAB8BBC8BCE01D5 -:1079300045967C018E010F5E1F4F9E01235F3F4FD6 -:10794000AE01475F5F4FBE016B5F7F4F44970E9460 -:107950002EAB0E94BA91DD2041F092E0C91203C023 -:1079600080E00E9406BB0E94BE7A68960FB6F8942B -:10797000DEBF0FBECDBFDF91CF911F910F91FF9062 -:10798000EF90DF90CF90BF90AF909F908F907F90BF -:107990006F905F904F900895CF92DF92EF92FF9299 -:1079A00080917D12882371F1C0908212D090831251 -:1079B000E0908412F090851220E030E0A901C70128 -:1079C000B6010F94D4548823E9F020E030E040E081 -:1079D0005FE3C701B6010F943A559B01AC010F94C8 -:1079E0003A552BED3FE049E450E40F943A559B01A2 -:1079F000AC0160E070E080E89FE30F94C45C6B0131 -:107A00007C0106C0C12CD12C80E8E82E8FE3F82E33 -:107A1000C0927E12D0927F12E0928012F092811278 -:107A200060914B0270914C02072E000C880B990B51 -:107A30000F94DB542AE037ED43E25CE30F943A55B0 -:107A4000A70196010F943A55609343027093440244 -:107A50008093450290934602FF90EF90DF90CF9085 -:107A600008954F925F926F927F928F929F92AF9202 -:107A7000BF92CF92DF92EF92FF920F931F93CF931B -:107A8000DF93CDB7DEB768970FB6F894DEBF0FBEB1 -:107A9000CDBF8C015B015A834983DC01D6966D9181 -:107AA0007D918D919C91D9970F94D9546B017C0154 -:107AB000F50120813181428153810F943A550F9411 -:107AC000A85C0F943D5D69877A878B879C87A98125 -:107AD000BA812D913D914D915C91C701B6010F94F2 -:107AE0003A550F94A85C0F943D5D6D877E878F8714 -:107AF000988B29853A854B855C852837310541056A -:107B0000510540F488E790E0A0E0B0E089879A87CB -:107B1000AB87BC872D853E854F8558892837310531 -:107B20004105510540F488E790E0A0E0B0E08D8782 -:107B30009E87AF87B88BF801EE5BFF4F20813181C4 -:107B40004281538129833A834B835C83CA01B90103 -:107B50000F94DB542B013C0169857A858B859C85CC -:107B60000F94D954698B7A8B8B8B9C8B20E030E0FF -:107B7000A901C301B2010F94D454882329F1A701AC -:107B80009601C701B6010F943A554B015C01298952 -:107B90003A894B895C89CA01B9010F943A559B0116 -:107BA000AC01C501B4010F94C95B4B015C01A30199 -:107BB0009201C301B2010F94CA5B9B01AC01C501E4 -:107BC000B4010F94C45C03C060E070E0CB010F947B -:107BD000A85C0F943D5D6D837E838F839887698158 -:107BE0007A818B819C8190958095709561957F4F6E -:107BF0008F4F9F4F0F94DB544B015C016D857E8549 -:107C00008F8598890F94D95469837A838B839C8359 -:107C100020E030E0A901C501B4010F94D4548823B9 -:107C200049F129813A814B815C81CA01B9010F94E4 -:107C30003A556D8B7E8B8F8B988FA7019601C7016C -:107C4000B6010F943A559B01AC016D897E898F89ED -:107C5000988D0F94C95B6B017C01A5019401C5014E -:107C6000B4010F94CA5B9B01AC01C701B6010F942C -:107C7000C45C03C060E070E0CB010F946C5DD80180 -:107C800095968D909D90AD90BC90989775016401EC -:107C90002D813E814F815885C21AD30AE40AF50A24 -:107CA0000F943D5DC61AD70AE80AF90AF7FE75C0B7 -:107CB00020E030E0A901C301B2010F94D45488231D -:107CC00009F443C0C501B4010F94D9546B017C0180 -:107CD000A3019201C301B2010F94CA5B9B01AC01E5 -:107CE000C701B6010F943A556B017C0129893A8985 -:107CF0004B895C89CA01B9010F943A559B01AC01CB -:107D0000C701B6010F94C95B6B017C0129813A81DF -:107D10004B815C81CA01B9010F943A559B01AC01BA -:107D2000C701B6010F94CA5B6B017C0120E030E013 -:107D300040E850E4C301B2010F943A559B01AC01F5 -:107D4000C701B6010F94C45C03C060E070E0CB01D2 -:107D50000F94A85C7B018D83998320E030E0A9011A -:107D60000F942A5E181624F0E12CF12C1D82198242 -:107D7000B7018D8199810F943D5D6D837E838F83E3 -:107D8000988786169706A806B90620F48D829E82EB -:107D9000AF82B886C12CD12C76018D819E81AF81B6 -:107DA000B885F80181A792A7A3A7B4A7C80ED91ECA -:107DB000EA1EFB1EC5A6D6A6E7A6F0AA29853A8527 -:107DC0004B855C8522AF33AF44AF55AFFE962D8512 -:107DD0003E854F855889208331834283538368963B -:107DE0000FB6F894DEBF0FBECDBFDF91CF911F91CC -:107DF0000F91FF90EF90DF90CF90BF90AF909F904A -:107E00008F907F906F905F904F9008954F925F9208 -:107E10006F927F928F929F92AF92BF92CF92DF929A -:107E2000EF92FF920F931F93CF93C82FE82EF12C60 -:107E3000F701E756F24CB490823049F481E00E9499 -:107E40001C8D811106C10F94300E811102C1670192 -:107E5000CC0CDD1CCC0CDD1CF601E357F24C45903C -:107E60005590659074906B2DBB0C770B880B990B1C -:107E70000F94DB544B015C0120E030E040EC5FE309 -:107E8000C301B2010F943A55A50194010F943A55DC -:107E9000AB01BC0100E010E098018C2F0E94FCBBFC -:107EA000C23009F0CAC00F94E10DE0E070E060EA72 -:107EB00080E42E2F372F462F582FC501B4010F9481 -:107EC0003A554B015C0120E030E0A9010F94D454F5 -:107ED000882309F44EC0C23021F000E010E0980180 -:107EE00004C000E010E020E830E4B501A4017058BF -:107EF0008C2F0E94FCBBC23051F40F94300E8111C4 -:107F0000A8C0412C512C612C90E4792E21C0F7019E -:107F1000E258F24C6491611107C00F945A418CE50C -:107F20009DE30F94DA406AE0F601E05BF24C459085 -:107F300055906590749070E080E090E00F94DB5471 -:107F40009B01AC01C301B2010F94C45C2B013C0145 -:107F5000A5019401C501B4010F94CA5BAB01BC013A -:107F6000930182018C2F0E94FCBBC23011F40F944C -:107F7000E10D81E090E00C2E01C0880F0A94EAF731 -:107F800090917314982B9093731490917C12892B79 -:107F900080937C12F601EC5BF24C85919591A59152 -:107FA000B491F601E355F34F80839183A283B383A9 -:107FB000C230D1F420918B0C30918C0C40918D0CFF -:107FC00050918E0C6091B50C7091B60C8091B70CED -:107FD0009091B80C0F94C95B6093B50C7093B60C7C -:107FE0008093B70C9093B80C109272141092711485 -:107FF0000E94E979F601EA56F34FD601A355B34F33 -:108000008D919D910D90BC91A02D80839183A28331 -:10801000B383C230F1F480E0CF911F910F91FF90B4 -:10802000EF90DF90CF90BF90AF909F908F907F9018 -:108030006F905F904F900C941C8DF601EF57F24CAF -:1080400085919591A591B491E82F792F6A2F8B2F67 -:1080500030CFCF911F910F91FF90EF90DF90CF9095 -:10806000BF90AF909F908F907F906F905F904F9058 -:108070000895CF93DF9324E0829FC0011124EC0187 -:10808000C958D34FFC01EF5CF54FDC01A059BD4E40 -:108090002D913D914D915C9160817181828193819F -:1080A0000F94CA5B688379838A839B83DF91CF9126 -:1080B00008951F93CF93DF93882329F0D0917C12EA -:1080C000D095D17001C0D0E0662339F010917C12B8 -:1080D0001695117081E0182701C010E0442341F08B -:1080E000C0917C12C2FBCC27C0F981E0C82701C037 -:1080F000C0E0D11105C0111103C0CC2309F444C064 -:108100000F945A418EE39DE30F94DA40DD2319F07A -:1081100088E50E94AA65112319F089E50E94AA65E5 -:10812000CC2319F08AE50E94AA6586E39DE30F94AB -:10813000DA40C11103C049E955E002C046E958E000 -:10814000111103C029E935E002C022E237E0D11164 -:1081500003C089E995E002C084E297E05F934F9302 -:108160003F932F939F938F9384E29DE39F938F93ED -:108170001F920F946A088DB79EB709960FB6F894B0 -:108180009EBF0FBE8DBFC1E08C2FDF91CF911F919D -:1081900008952F923F924F925F926F927F928F92AB -:1081A0009F92AF92BF92CF92DF92EF92FF920F9386 -:1081B0001F93CF93DF93CDB7DEB7C657D1090FB664 -:1081C000F894DEBF0FBECDBF86E99CE00E94927797 -:1081D00080917F1183FD7DC0C090A20CD090A30C34 -:1081E000E090A40CF090A50C2091B90C3091BA0C41 -:1081F0004091BB0C5091BC0CC701B6010F94D454F4 -:10820000882309F466C08091E70C81111FC060913A -:10821000EC0C7091ED0C8091EE0C9091EF0C0F94A2 -:10822000365D20914702309148026217730774F45B -:10823000C092B90CD092BA0CE092BB0CF092BC0C7C -:108240000F945A4189E09DE30F94DA408090A20C8C -:108250009090A30CA090A40CB090A50C2091B90C08 -:108260003091BA0C4091BB0C5091BC0CC501B401CB -:108270000F94C95B6B017C0120E030E0A9010F94F1 -:108280002A5E87FF04C0F7FAF094F7F8F094209183 -:108290004302309144024091450250914602C70189 -:1082A000B6010F943A5520E030E04AEF53E40F94C2 -:1082B0002A5E181674F48092B90C9092BA0CA092AF -:1082C000BB0CB092BC0C0F945A418AEE9CE30F9405 -:1082D000DA4080915F0C0091490210914A02882394 -:1082E00009F1C0906C12D0906D12E0906E12F09077 -:1082F0006F1220E030E0A901C701B6010F94D454F9 -:10830000882309F455C020919E0C30919F0C409118 -:10831000A00C5091A10CC701B6010F942A5E18164B -:108320000CF446C0B801110F880B990B0F94DB5465 -:1083300020913F023091400240914102509142020F -:108340000F943A552AE037ED43E25CE30F943A5537 -:1083500069837A838B839C83C12CD12C76018E0117 -:108360000F5F1F4F22EA3CE04EE95CE06AE97CE0E7 -:1083700086E99CE00E9464BA0F945F10CA58DF4FF0 -:108380000FB6F894DEBF0FBECDBFDF91CF911F9126 -:108390000F91FF90EF90DF90CF90BF90AF909F90A4 -:1083A0008F907F906F905F904F903F902F900895A7 -:1083B000B801110F880B990B0F94DB5420913F02E9 -:1083C0003091400240914102509142020F943A553F -:1083D0002AE037ED43E25CE30F943A556DA77EA7A0 -:1083E0008FA798ABB091AD0CBFABE091AE0CEBAFEB -:1083F000F091AF0CFFAFE090B00C2196EFAE21975B -:108400000091B10C1091B20C2091B30C3091B40CCE -:1084100025960CAF1DAF2EAF3FAF25978091B50CC1 -:108420009091B60CA091B70CB091B80CA3968CAFFC -:108430009DAFAEAFBFAFA397E090B90CF090BA0C70 -:108440000091BB0C1091BC0CA796ECAEFDAE0EAF2C -:108450001FAFA797C090960CD090970CE090980C07 -:10846000F090990CC982DA82EB82FC8280909A0C9F -:1084700090909B0CA0909C0CB0909D0C8D829E8245 -:10848000AF82B88600919E0C10919F0C2091A00C99 -:108490003091A10C09AB1AAB2BAB3CAB09871A8707 -:1084A0002B873C874090A20C5090A30C6090A40CAA -:1084B0007090A50C4D865E866F86788A20E030E04D -:1084C00040E450E46FA97E2F8F2F21969FAD219716 -:1084D0000F94C95B2DEA3CEF44E85CE30F943A55F6 -:1084E0000F94365D663014F065E002C067FD60E011 -:1084F000262F660F330B3EAB2DAB20E030E040E47F -:1085000050E425966CAD7DAD8EAD9FAD25970F9453 -:10851000C95B22EA3CEB46E85CE30F943A550F94C2 -:10852000365D663014F065E002C067FD60E0862FBE -:10853000660F990B2D969FAF8EAF2D9720E030E000 -:1085400040E450E4C701B6010F94C95B2DEA3CEF4B -:1085500044E85CE30F943A550F94365D29966FAF6B -:10856000299766302CF095E029969FAF299708C08F -:108570002996AFAD2997A7FF03C029961FAE29976B -:108580002996EFAD29970E2E000CFF0B2F96FFAF0B -:10859000EEAF2F9720E030E040E450E4C501B40195 -:1085A0000F94C95B22EA3CEB46E85CE30F943A5532 -:1085B0000F94365D28966FAF289766302CF0F5E063 -:1085C0002896FFAF289708C028960FAD289707FF79 -:1085D00003C028961FAE289728962FAD2897022E05 -:1085E000000C330B27963FAF2EAF27978DA99EA97E -:1085F0002F96AEADBFAD2F978A179B0709F01CC110 -:108600002D960EAD1FAD2D9727962EAD3FAD27971A -:108610000217130709F010C189809A80AB80BC80D3 -:1086200029968FAD29970E94C19E9B01AC012F9680 -:108630006EAD7FAD2F976F5F7F4FA6E0A69FC00105 -:10864000A79F900D11242796EEADFFAD2797E80F59 -:10865000F91FEE0FFF1FEE0FFF1FE452FE4EE080EA -:10866000F18002811381EFAAF8AE09AF1AAF2F96FD -:108670000EAD1FAD2F97A09FB001A19F700D1124CB -:108680002796EEADFFAD2797E60FF71FEE0FFF1F02 -:10869000EE0FFF1FE452FE4E4080518062807380D7 -:1086A0002796AEADBFAD27971196FC01EA0FFB1FD1 -:1086B000EE0FFF1FEE0FFF1FE452FE4EE080F18031 -:1086C00002811381EBAEFCAE0DAF1EAFA60FB71F3C -:1086D000AA0FBB1FAA0FBB1FA452BE4ECD90DD90A8 -:1086E000ED90FC9029960FAD2997053089F1C501D1 -:1086F000B4010F94C95B2DEA3CEF44E85CE30F94AE -:108700003A554B015C01A30192016FA978AD89AD87 -:108710009AAD0F94C95BA50194010F943A55A3013A -:1087200092010F94CA5B2B013C01A70196016BAD2E -:108730007CAD8DAD9EAD0F94C95BA50194010F94E6 -:108740003A55A70196010F94CA5B6B017C0105C0E5 -:10875000C12CD12C7601260137018D809E80AF80FF -:10876000B88428968FAD28970E94939E9B01AC01F8 -:1087700028961FAD2897153059F1C501B4010F9403 -:10878000C95B22EA3CEB46E85CE30F943A554B01A7 -:108790005C01A3019201C701B6010F94C95B9B0163 -:1087A000AC01C501B4010F943A55A30192010F9495 -:1087B000CA5B6B017C01CE0109960F94E50F9B010A -:1087C000AC01C701B6010F943A556B017C0103C09F -:1087D000C12CD12C76011D8A1E8A1F8A188E89848D -:1087E0009A84AB84BC84A7019601C701B6010F949B -:1087F000175F882319F0C12CD12C7601A7019601AF -:10880000C501B4010F94CA5B698B7A8B8B8B9C8BEF -:108810009E012B5E3F4F79018E01035D1F4F285053 -:108820003109AE014F5E5F4FBE016B5F7F4FCE01DE -:1088300001960E942EABA0CD2FA93BAD4FAD219646 -:108840005FAD2197C701B6010F94C95B6B017C0135 -:1088500025962CAD3DAD4EAD5FAD2597C501B4015C -:108860000F94C95B4B015C0181E090E02B969FAFB8 -:108870008EAF2B9720E030E0A901C501B4010F9421 -:10888000D45487FD04C02B961FAE1EAE2B9720E05C -:1088900030E0A901C701B6010F94D45487FF0AC084 -:1088A00097018601305863960CAF1DAF2EAF3FAFD6 -:1088B000639706C06396CCAEDDAEEEAEFFAE6397B7 -:1088C00020E030E0A901C501B4010F94D45487FF22 -:1088D0000AC0D501C401B05867968CAF9DAFAEAF4A -:1088E000BFAF679706C067968CAE9DAEAEAEBFAE0B -:1088F0006797ADA9BEA92F96EEADFFAD2F97AE1726 -:10890000BF0781F020E030E0A901C701B6010F9454 -:10891000D45487FF0CC00FEF1FEF6D961FAF0EAF43 -:108920006D970BC06D961FAE1EAE6D9706C021E011 -:1089300030E06D963FAF2EAF6D972D968EAD9FAD0B -:108940002D972796AEADBFAD27978A179B0781F06D -:1089500020E030E0A901C501B4010F94D45487FF91 -:108960000CC0EFEFFFEF6F96FFAFEEAF6F970BC04E -:108970006F961FAE1EAE6F9706C001E010E06F96B7 -:108980001FAF0EAF6F9767962CAD3DAD4EAD5FAD8F -:10899000679763966CAD7DAD8EAD9FAD63970F9479 -:1089A0002A5E18161CF01401850102C01601870109 -:1089B000A7962CAD3DAD4EAD5FADA797C301B201FB -:1089C0000F94C95B69A77AA78BA79CA79101A801FF -:1089D0000F94C45CAB966CAF7DAF8EAF9FAFAB977F -:1089E000A3962CAD3DAD4EAD5FADA39769A97AA915 -:1089F0008BA99CA90F94C95B9101A8010F94C45C39 -:108A0000E1966CAF7DAF8EAF9FAFE197A701960166 -:108A1000C501B4010F94C45C6B966CAF7DAF8EAF93 -:108A20009FAF6B979B01AC016FA97BAD8FAD21967A -:108A30009FAD21970F943A559B01AC0125966CADE3 -:108A40007DAD8EAD9FAD25970F94C95BE5966CAF5C -:108A50007DAF8EAF9FAFE597AB964CAC5DAC6EAC87 -:108A60007FACAB97E89477F86D962EAD3FAD6D97E0 -:108A7000232B09F038C12D962EAC3FAC2D972B96A9 -:108A80008EAD9FAD2B97280E391E2796AEADBFAD8C -:108A90002797A80FB91F2B96BFAFAEAF2B976B963A -:108AA0000CAD1DAD2EAD3FAD6B973F7709AB1AAB4B -:108AB0002BAB3CAB2B962EAD3FAD2B972215330540 -:108AC00009F463C46F968EAD9FAD6F97280E391E63 -:108AD000122D822D0E94939E6B017C012FEF3FEFA0 -:108AE0004FE75FE769A97AA98BA99CA90F94175F43 -:108AF00081110CC02FEF3FEF4FE75FE769A97AA91B -:108B00008BA99CA90F94D4541816ACF0E5962CAD03 -:108B10003DAD4EAD5FADE597C701B6010F94C95BA2 -:108B20006B962CAD3DAD4EAD5FAD6B970F94C45CB5 -:108B3000362F272F06C03FA92BAD8FAD21969FADB5 -:108B40002197432F522FBC014D8F5E8F6F8F78A3DB -:108B500096E02916310450F4A1016DA97EA9CE0139 -:108B60004D960F947E0F6B017C0103C0C12CD12C5C -:108B70007601CE0109960F94E50FA70196010F9497 -:108B80003A556B017C019B01AC010F94175F882360 -:108B900019F0C12CD12C7601812F0E94939E4B019C -:108BA0005C01698F7A8F8B8F9C8F9B01AC0125961E -:108BB0006CAD7DAD8EAD9FAD25970F94D4548823B9 -:108BC00009F478CF2FEF3FEF4FE75FE7C301B20122 -:108BD0000F94175F81110BC02FEF3FEF4FE75FE757 -:108BE000C301B2010F94D45418160CF450C0679608 -:108BF0002CAD3DAD4EAD5FAD679763966CAD7DAD71 -:108C00008EAD9FAD63970F942A5E18165CF42FA962 -:108C10003BAD4FAD21965FAD21976D8D7E8D8F8DD4 -:108C200098A108C025962CAD3DAD4EAD5FAD259702 -:108C3000C501B4010F94C95B4B015C019B01AC0100 -:108C4000AB966CAD7DAD8EAD9FADAB970F943A55A5 -:108C5000A7962CAD3DAD4EAD5FADA7970F94CA5B07 -:108C600069A77AA78BA79CA7A5019401E1966CAD93 -:108C70007DAD8EAD9FADE1970F943A55A3962CAD87 -:108C80003DAD4EAD5FADA3970F94CA5B0CC08D8513 -:108C90009E85AF85B88989A79AA7ABA7BCA7698528 -:108CA0007A858B859C851D8A1E8A1F8A188EA7014E -:108CB00096010F94CA5B698B7A8B8B8B9C8BDE0140 -:108CC00055967D018E01035D1F4F9E01275D3F4F2D -:108CD000AE014F5E5F4FBE01675E7F4FCE014D9686 -:108CE0000E942EABE7CEE1E0F0E0FAABE9AB20E08A -:108CF00030E0A901C701B6010F94D45487FD02C02A -:108D00001AAA19AA2DA83EA8E9A8FAA82E0C3F1C59 -:108D10006F960EAD1FAD6F97012B09F0FDC02F961A -:108D20002EAD3FAD2F972E0D3F1D3AAB29AB89A934 -:108D30009AA98215930509F428C36D96AEADBFAD0F -:108D40006D972A0E3B1E122D822D0E94C19E9B0103 -:108D5000AC016B966CAD7DAD8EAD9FAD6B970F94F6 -:108D60003A55E5962CAD3DAD4EAD5FADE5970F9410 -:108D7000CA5B6D8F7E8F8F8F98A3B6E02B16310460 -:108D800060F42D964EAD5FAD2D97B101CE014D969D -:108D90000F94170F6B017C0103C0C12CD12C7601FD -:108DA000CE0109960F94E50FA70196010F943A554D -:108DB0006B017C019B01AC010F94175F882319F0B4 -:108DC000C12CD12C7601812F0E94C19E4B015C01E8 -:108DD000698F7A8F8B8F9C8F9B01AC016FA97BADC4 -:108DE0008FAD21969FAD21970F94D454882309F419 -:108DF0009ECF2FEF3FEF4FE75FE7C301B2010F9424 -:108E0000175F81110BC02FEF3FEF4FE75FE7C30103 -:108E1000B2010F94D45418160CF450C067962CADC0 -:108E20003DAD4EAD5FAD679763966CAD7DAD8EADDC -:108E30009FAD63970F942A5E18164CF42FA93BAD93 -:108E40004FAD21965FAD2197C501B4010AC02596AB -:108E50002CAD3DAD4EAD5FAD25976D8D7E8D8F8D6B -:108E600098A10F94C95B4B015C019B01AC01AB96CF -:108E70006CAD7DAD8EAD9FADAB970F943A55A79677 -:108E80002CAD3DAD4EAD5FADA7970F94CA5B69A702 -:108E90007AA78BA79CA7A5019401E1966CAD7DAD47 -:108EA0008EAD9FADE1970F943A55A3962CAD3DAD95 -:108EB0004EAD5FADA3970F94CA5B0CC08D859E85A8 -:108EC000AF85B88989A79AA7ABA7BCA769857A851A -:108ED0008B859C851D8A1E8A1F8A188EA701960184 -:108EE0000F94CA5B698B7A8B8B8B9C8BFE0175967A -:108EF0007F018E01035D1F4F9E01275D3F4FAE0135 -:108F00004F5E5F4FBE01635E7F4FCE0149960E9468 -:108F10002EAB81110CCF39C22D968EAD9FAD2D9702 -:108F20002796EEACFFAC27978E199F096DA97EA9F5 -:108F30002F960EAD1FAD2F97601B710B77FF03C0EF -:108F4000719561957109E7967FAF6EAFE79797FFCF -:108F500003C0919581959109AD969FAF8EAFAD9766 -:108F60003EAA2DAA2D962EAC3FAC2D972B962EAD5A -:108F70003FAD2B97220E331EE7968EAD9FADE79740 -:108F8000892B39F4AD96AEADBFADAD97AB2B09F4DF -:108F9000FCC18DA96C96BFAD6C978B0F0E94C19ED2 -:108FA0006DA37EA38FA398A76E968FAD6E97820D4B -:108FB0000E94939E4B015C0169A37AA38BA39CA39F -:108FC000CDA0DEA0EFA0F8A4A70196016B966CAD32 -:108FD0007DAD8EAD9FAD6B970F943A55E5962CAD58 -:108FE0003DAD4EAD5FADE5970F94CA5B6D8F7E8F43 -:108FF0008F8F98A3E5962CAD3DAD4EAD5FADE59757 -:10900000C501B4010F94C95B6B962CAD3DAD4EAD5F -:109010005FAD6B970F94C45C9B01AC01698F7A8F35 -:109020008B8F9C8F01E010E0C701B6010F94D454E0 -:1090300087FD02C000E010E0E9A9FAA90E171F079A -:1090400009F0CEC06F96EEACFFAC6F972E0C3F1CB4 -:109050006DA97EA96E1B7F0B6630710560F406E07A -:109060002016310440F4A101CE0149960F947E0FE1 -:109070006B017C0103C0C12CD12C7601CE01099675 -:109080000F94E50FA70196010F943A556B017C01EF -:109090009B01AC010F94175F882319F0C12CD12CD0 -:1090A00076012FEF3FEF4FE75FE7C301B2010F9467 -:1090B000175F81110BC02FEF3FEF4FE75FE7C30151 -:1090C000B2010F94D45418160CF452C067962CAD0C -:1090D0003DAD4EAD5FAD679763966CAD7DAD8EAD2A -:1090E0009FAD63970F942A5E18165CF42FA93BADD1 -:1090F0004FAD21965FAD2197698D7A8D8B8D9C8DBB -:109100000AC025962CAD3DAD4EAD5FAD259769A14A -:109110007AA18BA19CA10F94C95B4B015C019B01BF -:10912000AC01AB966CAD7DAD8EAD9FADAB970F94A2 -:109130003A55A7962CAD3DAD4EAD5FADA7970F94B8 -:10914000CA5B69A77AA78BA79CA7A5019401E196A2 -:109150006CAD7DAD8EAD9FADE1970F943A55A39662 -:109160002CAD3DAD4EAD5FADA3970F94CA5B0CC067 -:109170008D859E85AF85B88989A79AA7ABA7BCA71F -:1091800069857A858B859C851D8A1E8A1F8A188E23 -:10919000A70196010F94CA5B698B7A8B8B8B9C8B92 -:1091A0009E012B5E3F4F79018E01035D1F4F2C5EA8 -:1091B0003F4FAE014F5E5F4FBE016F5D7F4FCE01EF -:1091C00049960E942EAB882309F4DFC0AD968EAD80 -:1091D0009FADAD970197AD969FAF8EAFAD97D2C0C3 -:1091E000EDA9FEA96D96EEACFFAC6D97EE0DFF1DDF -:1091F000FEABEDABE630F10590F4A1012B960EAD80 -:109200001FAD2B97401B510B4630510540F4BF0159 -:10921000CE014D960F94170F6B017C0103C0C12C3A -:10922000D12C7601CE0109960F94E50FA701960186 -:109230000F943A556B017C019B01AC010F94175FB1 -:10924000882319F0C12CD12C76012FEF3FEF4FE787 -:109250005FE7C301B2010F94175F81110BC02FEFBD -:109260003FEF4FE75FE7C301B2010F94D4541816E4 -:109270000CF452C067962CAD3DAD4EAD5FAD679717 -:1092800063966CAD7DAD8EAD9FAD63970F942A5EF6 -:1092900018165CF42FA93BAD4FAD21965FAD219719 -:1092A0006DA17EA18FA198A50AC025962CAD3DADDC -:1092B0004EAD5FAD25976D8D7E8D8F8D98A10F94EE -:1092C000C95B4B015C019B01AC01AB966CAD7DAD04 -:1092D0008EAD9FADAB970F943A55A7962CAD3DAD93 -:1092E0004EAD5FADA7970F94CA5B69A77AA78BA70E -:1092F0009CA7A5019401E1966CAD7DAD8EAD9FADAF -:10930000E1970F943A55A3962CAD3DAD4EAD5FADB0 -:10931000A3970F94CA5B0CC08D859E85AF85B889D5 -:1093200089A79AA7ABA7BCA769857A858B859C85F9 -:109330001D8A1E8A1F8A188EA70196010F94CA5B88 -:10934000698B7A8B8B8B9C8B9E012B5E3F4F7901B7 -:109350008E01035D1F4F2C5E3F4FAE014F5E5F4F8E -:10936000BE01635E7F4FCE0185960E942EAB88239F -:1093700061F0E7968EAD9FADE7970197E7969FAFB7 -:109380008EAFE797019609F0F7CD29813A814B819D -:109390005C816091AD0C7091AE0C8091AF0C90919E -:1093A000B00C0F94D454811137C92D813E814F8167 -:1093B00058856091B10C7091B20C8091B30C909172 -:1093C000B40C0F94D454811127C90C94BCC18F9252 -:1093D0009F92AF92BF92CF92DF92EF92FF920F9344 -:1093E0001F93CF93DF93EC018A01C880D980EA8074 -:1093F000FB80072E000C880B990B0F94DB544B015C -:109400005C019B01AC01C701B6010F94D45487FDE8 -:1094100010C0B801110F880B990B0F94DB544B014E -:109420005C019B01AC01C701B6010F942A5E1816BE -:1094300024F488829982AA82BB82DF91CF911F9106 -:109440000F91FF90EF90DF90CF90BF90AF909F90E3 -:109450008F900895EF92FF920F931F93CF93C82F91 -:109460007B018A01809152028823D1F00F945641EA -:10947000C7010F94DA4080EC95E40F94DA40C7FD01 -:1094800008C06AE070E08C2FCC0F990B0E943A66FE -:1094900004C08CEB95E40F94DA408AE00E94AA6540 -:1094A0000E9471FD8091F412811108C081E08093C7 -:1094B000F41210925202C8010F94F832CF911F910A -:1094C0000F91FF90EF9008952F923F924F925F92ED -:1094D0006F927F928F929F92AF92BF92CF92DF92C4 -:1094E000EF92FF920F931F93CF93DF93CDB7DEB729 -:1094F0002F970FB6F894DEBF0FBECDBF8091AC1290 -:1095000081111DC08091B81381111DC02F960FB617 -:10951000F894DEBF0FBECDBFDF91CF911F910F91A9 -:10952000FF90EF90DF90CF90BF90AF909F908F9083 -:109530007F906F905F904F903F902F90089580E0C4 -:1095400090E00F94F8320E9425FF0F94783E4B0173 -:109550005C016091120270911302072E000C880BBF -:10956000990B0F94DB549B01AC016091EC0C709152 -:10957000ED0C8091EE0C9091EF0C0F942A5E181672 -:109580003CF445E456E468E576E480E00E942ACAAB -:109590008091B613882309F404C26091F00C709195 -:1095A000F10C072E000C880B990B0F94DB54698388 -:1095B0007A838B839C833AE0E32EF12C0CE310E05A -:1095C00020E0AE014F5F5F4F6CEE7CE083E293E101 -:1095D0000E9463FBC090EC0CD090ED0CE090EE0C80 -:1095E000F090EF0C6091100270911102072E000CA8 -:1095F000880B990B0F94DB549B01AC01C701B6019A -:109600000F942A5E18160CF4A0C060E06093F20C70 -:109610008091A3139091A413A091A513B091A613C8 -:109620000097A105B10529F1A5019401281B390B6B -:109630004A0B5B0B57FD1DC06091A1137091A213E3 -:1096400080E090E00F94D9549B01AC016091EC0C48 -:109650007091ED0C8091EE0C9091EF0C0F94D4541E -:1096600087FF08C344E256E466E376E480E00E94A4 -:109670002ACA20E030E046E153E46091060A709186 -:10968000070A8091080A9091090A0F942A5E181619 -:109690000CF4D7C18091A9139091AA13A091AB1398 -:1096A000B091AC130097A105B10529F1A501940172 -:1096B000281B390B4A0B5B0B57FD1DC06091A7138C -:1096C0007091A81380E090E00F94D9549B01AC01F5 -:1096D0006091060A7091070A8091080A9091090A20 -:1096E0000F94D45487FFB5C14EED55E461EF75E496 -:1096F0008FEF0E942ACA8091B113882309F48AC18E -:1097000060910A0A70910B0A072E000C880B990BC6 -:109710000F94DB5469837A838B839C8392E0E92ED8 -:10972000F12C02E310E02FEFAE014F5F5F4F66E0D8 -:109730007AE08EE193E10E9463FB8091B11388236C -:1097400009F448C110920C0AE1CE609112027091A6 -:109750001302072E000C880B990B0F94DB549B010E -:10976000AC01C701B6010F94D45487FF4ECF60916E -:10977000F00C7091F10C6115710509F476C2072E99 -:10978000000C880B990B0F94DB54A70196010F94E2 -:10979000C95B2B013C0120E030E040E251EC0F942A -:1097A000D45487FD62C28091B61381115EC220E05D -:1097B00030E040E251E4C301B2010F942A5E181672 -:1097C0000CF465C280911D13811166C2809115133E -:1097D00090911613A0911713B09118138D839E8347 -:1097E000AF83B8872091191330911A1340911B133E -:1097F00050911C1329873A874B875C87A7019601F4 -:109800006091091370910A1380910B1390910C13BE -:109810000F94C95B2091FB0C3091FC0C4091FD0C26 -:109820005091FE0C0F943A552D813E814F81588501 -:109830000F94C95B20ED3CEC4CE45DE30F943A558A -:109840002D813E814F8158850F94CA5B6B017C014D -:109850006093151370931613809317139093181336 -:109860008091F70C9091F80CA091F90CB091FA0C42 -:109870008D839E83AF83B88729853A854B855C8528 -:10988000C301B2010F94CA5B162F072F382E292E61 -:1098900020E030E0A9010F94D45487FD12C22D813D -:1098A0003E814F81588560E070E08FE793E40F942C -:1098B000C45C69877D878E879F87212F302F432D3A -:1098C000522D0F94D45487FF04C019850D853E8412 -:1098D0002F84812F902FA32DB22D80931913909355 -:1098E0001A13A0931B13B0931C132091F30C309107 -:1098F000F40C4091F50C5091F60CC301B2010F9499 -:109900003A552B013C0160930D1370930E13809315 -:109910000F1390931013212F302F432D522D6D8153 -:109920007E818F8198850F943A559B01AC0160939D -:109930001113709312138093131390931413C30194 -:10994000B2010F94CA5BA70196010F94CA5B20E095 -:1099500030E0A9010F94CA5B69837A838B839C836F -:109960004FEF50E060E070E0CE0101960E94E7C941 -:10997000C090EC0CD090ED0CE090EE0CF090EF0C61 -:1099800069817A818B819C810F94365D759567958D -:10999000C0920913D0920A13E0920B13F0920C13A9 -:1099A00035CE8091B2139091B313A091B413B091BE -:1099B000B5130097A105B10509F4EFCDA5019401F8 -:1099C000281B390B4A0B5B0B57FDE7CD81E08093D9 -:1099D000B613E3CDC090060AD090070AE090080ABB -:1099E000F090090A20E030E040EA50E4C701B601F7 -:1099F0000F942A5E87FD0AC020E030E046E153E480 -:109A0000C701B6010F94D454181634F560E0609382 -:109A10000C0A7CCD8091AD139091AE13A091AF1341 -:109A2000B091B0130097A105B10509F469CE881A69 -:109A3000990AAA0ABB0AB7FC63CE81E08093B113EE -:109A40005FCE40E056E464E176E48FEF0E942ACADC -:109A500021CE0E9422FD4FCE60910A0A70910B0A1E -:109A60006115710509F40AC1072E000C880B990BCA -:109A70000F94DB54A70196010F94C95B4B015C0165 -:109A800020E030E040E251EC0F94D45487FDF6C062 -:109A900020E030E040E251E4C501B4010F942A5EB9 -:109AA00018160CF4EFC04090110A5090120A609002 -:109AB000130A7090140A809153028111F8C020910A -:109AC00005133091061340910713509108138091AC -:109AD000011390910213A0910313B09104138D838D -:109AE0009E83AF83B887C501B4010F94CA5B162F5C -:109AF000072F382E292E20E030E0A9010F94D454EE -:109B000087FDE4C0A301920160E070E08FE793E479 -:109B10000F94C45C69877D878E879F87212F302FA4 -:109B2000432D522D0F94D45487FF04C019850D8501 -:109B30003E842F84812F902FA32DB22D8093051367 -:109B400090930613A0930713B093081320910D0A66 -:109B500030910E0A40910F0A5091100AC501B401CC -:109B60000F943A554B015C016093F9127093FA120D -:109B70008093FB129093FC12212F302F432D522DF6 -:109B8000C301B2010F943A552B013C016093FD12C1 -:109B90007093FE128093FF1290930013A701960119 -:109BA0006091F5127091F6128091F7129091F8126F -:109BB0000F94C95B2091150A3091160A4091170A3B -:109BC0005091180A0F943A552D813E814F81588546 -:109BD0000F94C95B20ED3CEC4CE45DE30F943A55E7 -:109BE0002D813E814F8158850F94CA5B6D837E83A2 -:109BF0008F839887609301137093021380930313EC -:109C000090930413C092F512D092F612E092F712DC -:109C1000F092F812A3019201C501B4010F94CA5B3E -:109C20002D813E814F8158850F94CA5B20E030E042 -:109C3000A9010F94CA5B6B017C0120E030E0A9010F -:109C40000F94D45487FDE2CE20E030E04FE753E498 -:109C5000C701B6010F942A5E1816BCF0C701B60101 -:109C60000F94365D75956795D2CE81E080931D1374 -:109C700060E08ECE80E00E9491FDFBCC81E080937D -:109C80005302C4CE81E0809353026FE7C0CE81E0DF -:109C900080931D136FE77CCE10921D1319861A86D0 -:109CA0001B861C861D821E821F821886A7CD1092DD -:109CB00053021D821E821F82188620E030E0A90117 -:109CC00012CF10E000E0312C212C03CE10E000E098 -:109CD000312C212C2FCF90916F00292F227091FFD2 -:109CE00005C090916F009D7F90936F0034E0839F3B -:109CF000C0011124FC01E456FD4E40815181628176 -:109D00007381FC01E057FD4E40835183628373836E -:109D100081E080938F12222329F080916F0082606E -:109D200080936F00089590916F00292F227091FF0A -:109D300005C090916F009D7F90936F0094E0899F84 -:109D4000F0011124E456FD4E60817181828193817E -:109D5000222329F020916F00226020936F00089544 -:109D6000BC012091F2123091F3124091F212509105 -:109D7000F3122417350711F09A01F7CF81E0261767 -:109D8000370709F080E008952F923F924F925F923B -:109D90006F927F928F929F92AF92BF92CF92DF92FB -:109DA000EF92FF921F93CF93DF9300D01F92CDB716 -:109DB000DEB78FEF9FEF90938900809388001AE0C1 -:109DC0001A821982B8EB2B2EB5E43B2E7894809141 -:109DD000EE129091EF12A091F012B091F112892B36 -:109DE0008A2B8B2B09F0D7C180918F128823D1F059 -:109DF00010928F128091F2129091F312892B91F0B0 -:109E000010928E121092F3121092F2129091F91594 -:109E10008091FA15981731F08091FA158F5F8F7045 -:109E20008093FA158091F2129091F312892B09F424 -:109E3000B2C18090EA129090EB12A090EC12B09018 -:109E4000ED124091E6125091E7126091E812709184 -:109E5000E912C090D912D12CE12CF12CDB01CA01FE -:109E600088199909AA09BB09C816D906EA06FB068A -:109E700010F4D701C601382F880D991DAA1DBB1DEE -:109E80008093EA129093EB12A093EC12B093ED1230 -:109E900080918400909185004E96C090C112D09020 -:109EA000C212E090C312F090C4124091B1125091CE -:109EB000B2126091B3127091B4124C0D5D1D6E1D03 -:109EC0007F1D4093C1125093C2126093C3127093CE -:109ED000C41277FD1CC0889AC0909C12D0909D122D -:109EE000E0909E12F0909F1240918612042E000C7A -:109EF000550B660B770B4C0D5D1D6E1D7F1D409342 -:109F00009C1250939D1260939E1270939F12C0906A -:109F1000C512D090C612E090C712F090C8124091BE -:109F2000B5125091B6126091B7127091B8124C0DE3 -:109F30005D1D6E1D7F1D4093C5125093C612609328 -:109F4000C7127093C81277FD1CC08E9AC090A012E1 -:109F5000D090A112E090A212F090A312409187122B -:109F6000042E000C550B660B770B4C0D5D1D6E1D02 -:109F70007F1D4093A0125093A1126093A212709380 -:109F8000A312C090C912D090CA12E090CB12F090E8 -:109F9000CC124091B9125091BA126091BB127091DB -:109FA000BC124C0D5D1D6E1D7F1D4093C912509358 -:109FB000CA126093CB127093CC1277FD21C020910E -:109FC0000B012095287020930901C090A412D09015 -:109FD000A512E090A612F090A71240918812042ECC -:109FE000000C550B660B770B4C0D5D1D6E1D7F1D18 -:109FF0004093A4125093A5126093A6127093A712D7 -:10A00000C090CD12D090CE12E090CF12F090D0122E -:10A010004091BD125091BE126091BF127091C0125A -:10A020004C0D5D1D6E1D7F1D4093CD125093CE12C1 -:10A030006093CF127093D01277FD1CC0149AC09019 -:10A04000A812D090A912E090AA12F090AB12409101 -:10A050008912042E000C550B660B770B4C0D5D1D01 -:10A060006E1D7F1D4093A8125093A9126093AA12EF -:10A070007093AB12409184005091850048175907A6 -:10A08000C8F34091C1125091C2126091C3127091F5 -:10A09000C41277FD15C0C090AD12D090AE12E09002 -:10A0A000AF12F090B0124C195D096E097F09409310 -:10A0B000C1125093C2126093C3127093C412889855 -:10A0C0004091C5125091C6126091C7127091C8128A -:10A0D00077FD15C0C090AD12D090AE12E090AF12D7 -:10A0E000F090B0124C195D096E097F094093C512BA -:10A0F0005093C6126093C7127093C8128E98409105 -:10A10000C9125091CA126091CB127091CC1277FD96 -:10A1100019C0C090AD12D090AE12E090AF12F09086 -:10A12000B0124C195D096E097F094093C912509312 -:10A13000CA126093CB127093CC1220910B0128703D -:10A14000209309014091CD125091CE126091CF120F -:10A150007091D01277FD15C0C090AD12D090AE12A4 -:10A16000E090AF12F090B0124C195D096E097F09B2 -:10A170004093CD125093CE126093CF127093D012B1 -:10A180001498315041F04091840050918500481757 -:10A190005907C8F381CE8091EE129091EF12A091F1 -:10A1A000F012B091F112892B8A2B8B2B09F074C31A -:10A1B000E091F212F091F312309709F4F4C4809117 -:10A1C000EA129091EB12A091EC12B091ED12409135 -:10A1D000E6125091E7126091E8127091E91284172B -:10A1E0009507A607B70708F46BC080914D02882336 -:10A1F00009F44CC085899689A789B08D892B8A2B53 -:10A200008B2BA1F4818D928DA38DB48D892B8A2BFC -:10A210008B2B61F4858D968DA78DB0A1892B8A2B10 -:10A220008B2B21F48091C40B882381F161A172A151 -:10A2300083A194A1C0908A12D0908B12E0908C12CE -:10A24000F0908D1225A923FF07C0909580957095F9 -:10A2500061957F4F8F4F9F4F0F94DB542091E30CFC -:10A260003091E40C4091E50C5091E60C0F943A5576 -:10A270009B01AC01C701B6010F94C95B60938A12C0 -:10A2800070938B1280938C1290938D1210928E1279 -:10A290001092F3121092F2129091F9158091FA1522 -:10A2A000981709F480C48091FA158F5F8F7080939E -:10A2B000FA15A0EDCA2EA7E0DA2EE12CF12C4EC142 -:10A2C0004091E2125091E3126091E4127091E51214 -:10A2D000481759076A077B0708F467C04091DE12E8 -:10A2E0005091DF126091E0127091E11281A992A960 -:10A2F000A3A9B4A9FF24499FE12C5A9F90016A9F0A -:10A30000300D699F200D311D4A9FE00C211D3F1D1E -:10A31000599FE00C211D3F1D689FE00C211D3F1D32 -:10A32000589FE10C2F1D3F1DE6942F1D3F1DB49F2C -:10A33000200D311DB59F300D112482AD93ADA4AD1C -:10A34000B5AD820F931FA11DB11D8093DA129093BA -:10A35000DB12A093DC12B093DD12C6A8D7A8E0AC44 -:10A36000F1ACC816D906EA06FB0640F4C092DA1230 -:10A37000D092DB12E092DC12F092DD128090DA12C1 -:10A380009090DB12A090DC12B090DD128CE995E485 -:10A3900021E0FC01C590D590E590F490C814D90453 -:10A3A000EA04FB0408F4C9C2D3C24091D51250910B -:10A3B000D6126091D7127091D812481759076A07C0 -:10A3C0007B0708F063C04091D1125091D212609186 -:10A3D000D3127091D41281A992A9A3A9B4A9FF2480 -:10A3E000499FE12C5A9F90016A9F300D699F200D73 -:10A3F000311D4A9FE00C211D3F1D599FE00C211D7E -:10A400003F1D689FE00C211D3F1D589FE10C2F1D33 -:10A410003F1DE6942F1D3F1DB49F200D311DB59F9C -:10A42000300D1124C901A0E0B0E08090DA129090C4 -:10A43000DB12A090DC12B090DD12FE968815990513 -:10A44000AA05BB0580F4C080D180E280F380881A21 -:10A45000990AAA0ABB0A8C149D04AE04BF0438F4FE -:10A460004601570104C080809180A280B3808CE9AE -:10A4700095E421E0FC01C590D590E590F490C814D6 -:10A48000D904EA04FB0408F4CBC2D5C280914E0281 -:10A4900090914F02A0915002B0915102B7FF56C067 -:10A4A00086A997A9A0ADB1AD2CE935E441E0F90149 -:10A4B000C590D590E590F490C816D906EA06FB063B -:10A4C00058F4B695A79597958795440F2C5F3F4F05 -:10A4D00055E4283B350759F74093D912803291054E -:10A4E000A105B10508F432C38097A109B10981150E -:10A4F00028E09207A105B10508F405C344E0949F44 -:10A500009001112424563E4BF90132964591549105 -:10A51000EE27859FB001849F610D7E1F06946E1FFC -:10A520007E1F1124CB01A0E0B0E0F90145915491C8 -:10A5300060E070E0481B590B6A0B7B0B40934E02A6 -:10A5400050934F026093500270935102C0904E029C -:10A55000D0904F02E0905002F09051028091F212A0 -:10A560009091F312892B09F08FC10E94608C909317 -:10A57000F3128093F212892B09F486C18091F212B2 -:10A580009091F3129C838B83DC018C9183FF42C0FA -:10A5900055968D919D910D90BC91A02D80939C120C -:10A5A00090939D12A0939E12B0939F12EB81FC8119 -:10A5B000818D928DA38DB48D8093A0129093A11262 -:10A5C000A093A212B093A312858D968DA78DB0A1F2 -:10A5D0008093A4129093A512A093A612B093A712F1 -:10A5E00081A192A1A3A1B4A18093A8129093A912D2 -:10A5F000A093AA12B093AB129091F9158091FA151D -:10A60000981709F4B2CF8091FA158F5F8F708093FD -:10A61000FA15ABCFAB81BC8155964D905D906D9096 -:10A620007C90589781E0411451046104710409F44D -:10A6300080E0EB81FC81C18CD28CE38CF48CC11462 -:10A64000D104E104F10409F08260AB81BC815D9624 -:10A650004D915D916D917C919097411551056105EA -:10A66000710509F0846080938E121092D1121092BD -:10A67000D2121092D3121092D4121092DE121092B3 -:10A68000DF121092E0121092E112EB81FC8185A1A1 -:10A6900096A1A7A1B0A58093E6129093E712A0938C -:10A6A000E812B093E912882499245401881A990A6F -:10A6B000AA0ABB0A8092CD129092CE12A092CF121B -:10A6C000B092D0128092C9129092CA12A092CB126C -:10A6D000B092CC128092C5129092C612A092C7126C -:10A6E000B092C8128092C1129092C212A092C3126C -:10A6F000B092C412440C551C661C771C4092B112D7 -:10A700005092B2126092B3127092B412CC0CDD1C53 -:10A71000EE1CFF1CC092B512D092B612E092B71296 -:10A72000F092B812440F551F661F771F4093B9125D -:10A730005093BA126093BB127093BC1241A152A104 -:10A7400063A174A1440F551F661F771F4093BD126C -:10A750005093BE126093BF127093C012880F991F5E -:10A76000AA1FBB1F8093AD129093AE12A093AF129D -:10A77000B093B0121092EA121092EB121092EC12F7 -:10A780001092ED1281A592A5A3A5B4A58093E21223 -:10A790009093E312A093E412B093E51285A596A5D9 -:10A7A000A7A5B0A98093D5129093D612A093D712E3 -:10A7B000B093D81285A990912F0A891721F0809320 -:10A7C0002F0A0E94218C0E94EB792FEF3FEFA90105 -:10A7D00020934E0230934F02409350025093510207 -:10A7E000EB81FC8182AD93ADA4ADB5AD8093DA125F -:10A7F0009093DB12A093DC12B093DD122CE935E4C8 -:10A8000041E0F901C590D590E590F490C816D906BD -:10A81000EA06FB0650F4B695A79597958795440FE1 -:10A820002C5F3F4F2216330661F74093D9128032D6 -:10A830009105A105B10508F4B1C18097A109B1093D -:10A840008115F8E09F07A105B10508F484C144E033 -:10A85000949F9001112424563E4BF9013296459164 -:10A860005491EE27859FB001849F610D7E1F069451 -:10A870006E1F7E1F1124F901C590D490E12CF12C9C -:10A88000C61AD70AE108F108C092EE12D092EF1270 -:10A89000E092F012F092F1128091EE129091EF128C -:10A8A000A091F012B091F112AC01BD010097E1E06E -:10A8B000AE07B10520F04FEF5FEF60E070E0841B62 -:10A8C000950BA60BB70B8093EE129093EF12A0930B -:10A8D000F012B093F112F894809184009091850069 -:10A8E0004096115059F029813A81240F351F3A833F -:10A8F00029832817390708F469CA02C09A83898313 -:10A9000049815A81509389004093880078940F9030 -:10A910000F900F900F90DF91CF911F91FF90EF90CC -:10A92000DF90CF90BF90AF909F908F907F906F906F -:10A930005F904F903F902F900895B694A79497946E -:10A940008794220F0496A5E4883B9A0709F021CD4D -:10A950002093D912B0E28B169104A104B10408F43B -:10A9600059C020E2821A9108A108B108811438E088 -:10A970009306A104B104F8F0A4E09A9EC00111244A -:10A9800084569E4BFC01329625913491F82DEE278A -:10A99000F39FD001F29FA10DBE1F0694AE1FBE1FF4 -:10A9A0001124FC01C590D490E12CF12CCA1ADB0AC9 -:10A9B000E108F10822C0D501C401B695A795979585 -:10A9C0008795FC01EC7FCF018456924CFC01C59029 -:10A9D000D490FC01329625913491E82DE770E29FE6 -:10A9E000C001E39F900D1124F3E096958795FA95A9 -:10A9F000E1F7C81AD90AE12CF12C4C0D5D1D6E1D32 -:10AA00007F1D4093DE125093DF126093E01270932B -:10AA1000E112A4CDA0E28A2E912CA12CB12CA1CFC1 -:10AA2000B694A79497948794220F0496E5E4883B04 -:10AA30009E0709F01FCD2093D912F0E28F169104E2 -:10AA4000A104B10408F459C020E2821A9108A108B7 -:10AA5000B108811438E09306A104B104F8F0A4E031 -:10AA60009A9EC001112484569E4BFC01329625917A -:10AA70003491F82DEE27F39FD001F29FA10DBE1F58 -:10AA80000694AE1FBE1F1124FC01C590D490E12C8A -:10AA9000F12CCA1ADB0AE108F10822C0D501C40171 -:10AAA000B695A79597958795FC01EC7FCF018456C5 -:10AAB000924CFC01C590D490FC01329625913491C2 -:10AAC000E82DE770E29FC001E39F900D112433E071 -:10AAD000969587953A95E1F7C81AD90AE12CF12C99 -:10AAE0004C0D5D1D6E1D7F1D4093D1125093D212EF -:10AAF0006093D3127093D41231CDE0E28E2E912C5C -:10AB0000A12CB12CA1CFAC01BD01769567955795CD -:10AB10004795FA01EC7F9F012456324CF90145918B -:10AB20005491F9013296659174918770869F9001D6 -:10AB3000879F300D1124C901F3E096958795FA950A -:10AB4000E1F7481B590B60E070E0F8CC80E290E040 -:10AB5000A0E0B0E0C9CCAC01BD01769567955795F2 -:10AB60004795FA01EC7F9F012456324CF901C590BC -:10AB7000D490F9013296459154918770849F900149 -:10AB8000859F300D1124C90123E0969587952A955C -:10AB9000E1F7C81AD90AE12CF12C76CE80E290E0D8 -:10ABA000A0E0B0E04ACE80EDC82E87E0D82EE12CA0 -:10ABB000F12CDBCC2F923F924F925F926F927F925B -:10ABC0008F929F92AF92BF92CF92DF92EF92FF92BD -:10ABD0000F931F93CF93DF93CDB7DEB7AC970FB62C -:10ABE000F894DEBF0FBECDBF182F6CA7542EB22E27 -:10ABF000A32E9FE7692E99E4792E00E080E0812E54 -:10AC0000012E000C99082AEC210F2BA7FE0131968A -:10AC10007F01F30132964490242C312C28143904FE -:10AC200009F0A4C081115DC001115BC0AF92BF9259 -:10AC300027E739E43F932F93FF92EF920F946C54E0 -:10AC4000FAA6E9A60F900F900F900F900F900F901B -:10AC50006701F60181916F01882319F00E94AA65AE -:10AC6000F8CF1F924F9222E739E43F932F93FF9240 -:10AC7000EF920F946C540F900F900F900F900F90D5 -:10AC80000F906701F60181916F01882319F00E94EE -:10AC9000AA65F8CF812F0F94E836FBA5F7FD1DC0FC -:10ACA00026E3221A31083F922F9288E699E49F9377 -:10ACB0008F93FF92EF920F946C540F900F900F9020 -:10ACC0000F900F900F90E9A5FAA58191FAA7E9A737 -:10ACD0008823B1F00E94AA65F6CF88E00F949240D5 -:10ACE0000FC08EE20E94AA65EB2DFA2DDF010D90B8 -:10ACF0000020E9F78A2F8B19875E0F94924001E0BC -:10AD0000F301C590D490412CF6018491811107C0C4 -:10AD1000312C87E2C82ED12CC418D1080AC00E9459 -:10AD2000AA654394FFEFCF1ADF0A27E24212ECCF65 -:10AD30000AC0832D90E08C159D052CF480E20E94C2 -:10AD4000AA653394F6CF552069F0812F0E941B63CA -:10AD5000882309F4C7C03CA53111C4C08DE599E42E -:10AD60000F94DA408AE00E94AA6581E0F4E06F0E59 -:10AD7000711C2FE662162AE4720609F04ACF81118F -:10AD8000F5C0AF92BF9280E399E49F938F93CE0179 -:10AD900001967C019F938F930F946C5467010F90E1 -:10ADA0000F900F900F900F900F905701F501819128 -:10ADB0005F01882319F00E94AA65F8CF9F928F92B5 -:10ADC0008BE299E49F938F93FF92EF920F946C54D0 -:10ADD0000F900F900F900F900F900F905701F5016B -:10ADE00081915F01882319F00E94AA65F8CF812F15 -:10ADF0000F94E8360AEC010F07FD1BC0C401C6978B -:10AE00009F938F9381E299E49F938F93FF92EF92A8 -:10AE10000F946C540F900F900F900F900F900F9015 -:10AE20005701F50181915F01882331F00E94AA65E5 -:10AE3000F8CF88E00F94924080E199E40F94DA40D3 -:10AE4000552009F44BC0812F0F949F37811140C0CA -:10AE5000812F0F940D3A882331F087E10F949240AF -:10AE600088E399E42CC0003128F5802F0F941F3E11 -:10AE7000092E000CAA0BBB0BBF93AF939F938F932C -:10AE80008CEF98E49F938F93FF92EF920F946C5402 -:10AE90000FB6F894DEBF0FBECDBFF60181916F01F2 -:10AEA000882319F00E94AA65F8CF88EF98E40F94E0 -:10AEB000DA4003C087E10F94924082E499E40F9452 -:10AEC000DA40812F0F9408376AE070E00E943A66FA -:10AED00087E10F949240812F0F9427378AE00E94D8 -:10AEE000AA6544C0F3013396E491E11121C08BA51A -:10AEF0000F941F3E092E000CAA0BBB0BBF93AF9300 -:10AF00009F938F938CE499E49F938F93FF92EF929A -:10AF10000F946C5467010FB6F894DEBF0FBECDBF1F -:10AF2000F60181916F018823D9F00E94AA65F8CFBC -:10AF3000812F0F940D3A811103C082E499E407C078 -:10AF4000812F0F949F3781110BC088E399E40F94F0 -:10AF5000DA40812F0F9408376AE070E00E943A6669 -:10AF6000011100CF812F0F942737FCCEAC960FB67E -:10AF7000F894DEBF0FBECDBFDF91CF911F910F912F -:10AF8000FF90EF90DF90CF90BF90AF909F908F9009 -:10AF90007F906F905F904F903F902F9008959F9279 -:10AFA000AF92BF92CF92DF92EF92FF920F931F93D7 -:10AFB000CF93DF9383EEA82E82E0B82E06E91CE043 -:10AFC000CDEADCE097E7C92E9CE0D92E2AEDE22EEF -:10AFD00028E0F22E912CF50181915F010E94779E6D -:10AFE000882309F10E94F79DF7012081211104C0F7 -:10AFF0002091E308222339F0288139814A815B813D -:10B000000F94CA5B0AC0F3E09F1639F0F601208165 -:10B010003181428153810F94C95BF8016083718350 -:10B020008283938309C088819981AA81BB81F801B9 -:10B0300080839183A283B38393940C5F1F4F2496E4 -:10B04000F4E0CF0ED11C2FEFE21AF20A84E098123E -:10B05000C2CF40E050E0BA0186E40E94EC8220E0DA -:10B0600030E0A9010F942A5E181684F40E94F79D1F -:10B0700020E030E040E752E40F94C45C60933F026C -:10B0800070934002809341029093420280917F111D -:10B0900083FD28C080911C0A882321F12091B90CDE -:10B0A0003091BA0C4091BB0C5091BC0C6091A20C39 -:10B0B0007091A30C8091A40C9091A50C0F94C95B86 -:10B0C0002091290A30912A0A40912B0A50912C0A8A -:10B0D0000F94CA5B6093290A70932A0A80932B0A03 -:10B0E00090932C0ADF91CF911F910F91FF90EF90D9 -:10B0F000DF90CF90BF90AF909F900895CF9384E55D -:10B100000E94779E8823F1F00E9427EDC82F181621 -:10B11000D4F40F945A418DE40E94AA656AE070E06D -:10B1200080915214909153140E943A666C2FCC0F68 -:10B13000770B8DEC9DE40F9437418AE00E94AA655D -:10B140008FEF01C080E0CF910895CF92DF92EF9210 -:10B15000FF92CF93DF93CDB7DEB7A0970FB6F894E9 -:10B16000DEBF0FBECDBF80E090E0A8E4B2E48983EB -:10B170009A83AB83BC8380E090E0A0E2B1E48D834E -:10B180009E83AF83B88789879A87AB87BC870E94E5 -:10B190007ED887FDD4C041E061E081E00E9459C0C3 -:10B1A00081110E94DF9D85E40E942E9E882381F0FC -:10B1B0000E94F79D6B017C0120E030E0A9010F9413 -:10B1C0002A5E87FF0BC0F7FAF094F7F8F09406C0F8 -:10B1D000C12CD12C80E8E82E80E4F82EF7FAF09408 -:10B1E000F7F8F094C98ADA8AEB8AFC8A8AE50E9429 -:10B1F000779E882351F040E050E0BA018AE50E9432 -:10B20000EC8269877A878B879C8788E50E94779E86 -:10B21000882351F040E050E0BA0188E50E94EC82BA -:10B2200069837A838B839C8389E50E94779E882338 -:10B2300051F040E050E0BA0189E50E94EC826D8354 -:10B240007E838F83988785E50E942E9E882329F030 -:10B250000E94F79D6B017C0108C0C0903B0CD09010 -:10B260003C0CE0903D0CF0903E0C20E030E0A90159 -:10B27000C701B6010F942A5E87FF04C0F7FAF09465 -:10B28000F7F8F094F7FAF094F7F8F094CD8ADE8AA4 -:10B29000EF8AF88E198E1A8E1B8E1C8E8CE40E94FB -:10B2A0002E9E882329F00E94F79D6B017C0108C027 -:10B2B000C0903F0CD090400CE090410CF090420CBC -:10B2C00020E030E0A901C701B6010F942A5E87FF94 -:10B2D00004C0F7FAF094F7F8F094CD8EDE8EEF8E7E -:10B2E000F8A262E070E082E40E94849EF82E21E0E1 -:10B2F000AE014B5E5F4FBE016F5F7F4FCE01419647 -:10B300000F94800C8823D9F06F2D81E00F94580A98 -:10B3100080E090E0A0EAB1E48D879E87AF87B88B8C -:10B320008091C40B882359F02F2DAE01435F5F4FEE -:10B33000BE01635E7F4FCE0149960F94FD0AA09631 -:10B340000FB6F894DEBF0FBECDBFDF91CF91FF9057 -:10B35000EF90DF90CF900895CF92DF92EF92FF921F -:10B36000CF93DF93CDB7DEB76C970FB6F894DEBFFF -:10B370000FBECDBF8CE40E942E9E882381F00E94D8 -:10B38000F79D6B017C0120E030E0A9010F942A5E5B -:10B3900087FF0BC0F7FAF094F7F8F09406C0C12CC1 -:10B3A000D12C80E8E82E80E4F82EF7FAF094F7F834 -:10B3B000F094C98EDA8EEB8EFC8E80E090E0A8E4EB -:10B3C000B2E489839A83AB83BC8380E090E0A0E2FF -:10B3D000B1E48D839E83AF83B88789879A87AB87D3 -:10B3E000BC8788E50E94779E8823A1F040E050E06A -:10B3F000BA0188E50E94EC822091770C3091780C9C -:10B400004091790C50917A0C0F94C95B69837A83CF -:10B410008B839C8389E50E94779E8823A1F040E07E -:10B4200050E0BA0189E50E94EC822091770C3091BE -:10B43000780C4091790C50917A0C0F94C95B6D8314 -:10B440007E838F8398878AE50E94779E882351F0B8 -:10B4500040E050E0BA018AE50E94EC8269877A8771 -:10B460008B879C87F090F917F2FAFF24F0F81D867D -:10B470001E861F86188A20E0AE01435F5F4FBE0123 -:10B480006F5F7F4FCE0149960F94800C882329F17E -:10B49000F11023C060E080E00F94580A80E090E053 -:10B4A000A0E8B0E48D8B9E8BAF8BB88F198A1A8A77 -:10B4B0001B8A1C8A1D861E861F86188A8091C40BD3 -:10B4C000882359F020E0AE014B5E5F4FBE016F5EF6 -:10B4D0007F4FCE010D960F94FD0A6C960FB6F8942F -:10B4E000DEBF0FBECDBFDF91CF91FF90EF90DF9019 -:10B4F000CF9008950F945A418DEB9DE40F94DA405C -:10B5000083E50E942E9E882321F00E943BED8093CC -:10B51000310280913102811103C082E19DE002C0BD -:10B5200086E19DE00F94DA4085EB9DE40F94DA40CC -:10B530002091770C3091780C4091790C50917A0CD5 -:10B540006091190270911A0280911B0290911C0265 -:10B550000F94CA5BAB01BC0183EB9DE40F942641C1 -:10B5600020917B0C30917C0C40917D0C50917E0C95 -:10B570006091210270912202809123029091240215 -:10B580000F94CA5BAB01BC0180EB9DE40F94264194 -:10B5900020917F0C3091800C4091810C5091820C55 -:10B5A0006091290270912A0280912B0290912C02C5 -:10B5B0000F94CA5BAB01BC018DEA9DE40F94264158 -:10B5C00085EA9DE40F94DA402091770C3091780C55 -:10B5D0004091790C50917A0C60911D0270911E027D -:10B5E00080911F02909120020F94CA5BAB01BC01B5 -:10B5F00083EA9DE40F94264120917B0C30917C0CD2 -:10B6000040917D0C50917E0C609125027091260234 -:10B6100080912702909128020F94CA5BAB01BC0174 -:10B6200080EA9DE40F94264120917F0C3091800C9C -:10B630004091810C5091820C60912D0270912E02EC -:10B6400080912F02909130020F94CA5BAB01BC0134 -:10B650008DE99DE40F9426418AE00C94AA65882325 -:10B6600019F00F945A4103C080E20E94AA654091EC -:10B67000941150919511609196117091971186E9EE -:10B680009DE40F9426414091981150919911609139 -:10B690009A1170919B1183E99DE40F94264140918A -:10B6A0009C1150919D1160919E1170919F1180E9A4 -:10B6B0009DE40F9426414091A0115091A1116091F9 -:10B6C000A2117091A3118DE89DE40F9426418AE0A8 -:10B6D0000C94AA652F923F924F925F926F927F9245 -:10B6E0008F929F92AF92BF92CF92DF92EF92FF9292 -:10B6F0000F931F93CF93DF9300D01F92CDB7DEB788 -:10B700002DB63EB684E50E942E9E882309F441C0E2 -:10B7100060E089E40E944BED082F61E070E082E573 -:10B720000E94849E6C0160E070E083E50E94849E2C -:10B73000182F65E470E08CE40E94849E5C0164EF45 -:10B7400071E087E50E94849E2C01990F66087708B6 -:10B75000812F90E0A816B906CCF01634A8F4011198 -:10B7600056C1812F0E941B63882309F450C126E231 -:10B7700037E041E060E0812F0E94DAD58AE00E9444 -:10B78000AA658AE00E94AA651F5FE2CF8FE69AE46D -:10B7900099C085E40E942E9E8823B1F00E943BED63 -:10B7A0008093B9138CE79DE40F94DA408091B9132C -:10B7B000811103C08EE69DE402C082E79DE40F94F0 -:10B7C000DA4085E79DE47EC083E50E942E9E8823B3 -:10B7D00009F47BC060E080E50F946910082F10E049 -:10B7E000B80184E19DE40F943741F801EE0FFF1F8B -:10B7F000EE0FFF1FED5BFC4F6081718183E09DE4E4 -:10B800000F9419416AE570E082EF9CE40F941941AE -:10B810008AE00E94AA6562E170E08EED9CE40F94DC -:10B8200037418AE00E94AA6582EC9CE40F94DA40DA -:10B8300086E79AE40F94DA408AE00E94AA6553985A -:10B840005B9A8DEA9CE40F94DA4054EF452E552420 -:10B850005394612C712C49825A826B827C82BE0186 -:10B860006F5F7F4F80EA0F94C10D6EEE862E62E00F -:10B87000962EA12CB12C89829A82AB82BC82BE0109 -:10B880006F5F7F4F8AE50F94C10D7801EE0CFF1CAE -:10B890004B990DC149825A826B827C82BE016F5FD7 -:10B8A0007F4F8CE30F94C10D4B99E3C000C18FEF24 -:10B8B000E81AF80A98E9E9169AE3F90609F046C188 -:10B8C0008CE79AE40F94DA40DAC160E070E080E53A -:10B8D0000E94849E8C01F82E80E50E94779E811143 -:10B8E00007C0E5E4E01708F4CAC195E4E92E01C0F9 -:10B8F000E02E60E089E40E944BED582E60E087E581 -:10B900000E944BED882309F47FC08DB69EB68FE56B -:10B910009DE40F94DA406801DD248E2D90E08C19AF -:10B920009D0901962DB73EB7281B390B0FB6F89429 -:10B930003EBF0FBE2DBF8DB79EB701965C01E016CE -:10B9400060F0063440F4511064C1802F0E941B63E4 -:10B95000882309F45EC10F5FF2CF4090E40883E0D2 -:10B960008093E40881E080930A1446E45DE46FE488 -:10B970007DE482E00F943D0A86E39DE40E94C2824A -:10B980007F2CE71418F195E49715F0F0511005C0DD -:10B99000872D0E941B63811117C0872D0F94C23C15 -:10B9A000682E072D10E00C191D090A0D1B1DF8014A -:10B9B0008081681649F029E935E040E0652D872D42 -:10B9C0000E94DAD5F80160827394DBCF80910A146B -:10B9D000882339F068EC70E080E090E00F946E40CE -:10B9E000CFCF4092E4080FB6F8949EBE0FBE8DBE36 -:10B9F00046C1F5E4FF1538F029E935E041E0652D51 -:10BA00008F2D0E94DAD5F394EF1498F738C1A895DA -:10BA100021E337E041E0602F812F0E94DAD561E019 -:10BA2000812F0F941A3DE12CF12CEC14FD040CF045 -:10BA3000A8CEA89560E0812F0F94EB3CC301B20122 -:10BA40000F946E40A89561E0812F0F94EB3CC301E9 -:10BA5000B2010F946E40A89560E0812F0F94EB3CEB -:10BA6000C301B2010F946E40A8952FEFE21AF20ABB -:10BA7000DCCF89829A82AB82BC82BE016F5F7F4F2E -:10BA80008AE00F94C10D4B9912C089829A82AB82D1 -:10BA9000BC82BE016F5F7F4F8AE50F94C10D88E6BF -:10BAA0009CE40F94DA40CC24C394D12C36C08FE4AC -:10BAB0009CE40F94DA4084E0B82EC701800F911FF8 -:10BAC0009C012D503A4E69016AE070E0C6010E9467 -:10BAD000326464EF71E080E090E00F946E40A9B0B2 -:10BAE0006AE570E0C6010E94326464EF71E080E0B4 -:10BAF00090E00F946E4089B1BA94B110E5CF887090 -:10BB0000D82EA3FE9CC08FE19CE40F94DA40DD2088 -:10BB100009F4A2C0C12CDD24D3940E0D1F1D0D50BD -:10BB20001A4E6AE070E0C8010E94326464EF71E06E -:10BB300080E090E00F946E408BE39BE40F94DA403A -:10BB4000E12CF12C34EFA32EBB24B39462E070E01F -:10BB500080E090E00F946E40C701B5010F94995BAF -:10BB6000892B51F40F94783E60936B1470936C148E -:10BB700080936D1490936E1489B183FB882780F9AC -:10BB80008D1509F494CEE12CF12C89B183FB882723 -:10BB900080F9D81669F062E070E080E090E00F94E0 -:10BBA0006E408FEFE81AF80A9FE0E916F10469F792 -:10BBB0008DE29BE40F94DA403FE0E316F10449F490 -:10BBC0008DE19BE40F94DA40CC20A9F081E09BE466 -:10BBD00014C0B701660F771F80E19BE40F941941F1 -:10BBE0008AE00E94AA6534E0E316F10408F044C03C -:10BBF00087E99AE406C081EF9AE40F94DA4082EC78 -:10BC00009AE40F94DA406AE570E0C8010E94326459 -:10BC100036C062E0802F0F941A3D61E070E080E052 -:10BC200090E00F943E3E602E712C6C187D08802FA2 -:10BC30000F94C23CF501E60DF71D80838CCE88235E -:10BC400049F081E09CE40F94DA406CE377E080EC0B -:10BC50009BE40AC0C12C61CF81E09CE40F94DA40E0 -:10BC600067E677E080EE9BE40F9443418AE00E9410 -:10BC7000AA6585E69BE426CE8EEC9AE4BECF0FB68D -:10BC8000F8943EBE0FBE2DBE0F900F900F900F90F8 -:10BC9000DF91CF911F910F91FF90EF90DF90CF90A8 -:10BCA000BF90AF909F908F907F906F905F904F90DC -:10BCB0003F902F9008952F923F924F925F926F92F4 -:10BCC0007F928F929F92AF92BF92CF92DF92EF922C -:10BCD000FF920F931F93CF93DF93CDB7DEB7C05B77 -:10BCE000D1090FB6F894DEBF0FBECDBF8C019E0107 -:10BCF000235C3F4F2B963FAF2EAF2B978CE0D901A3 -:10BD00001D928A95E9F78EEA9FE40F94DA4026E6C1 -:10BD100036E646E752E4F8016081718182819381C1 -:10BD20000F943A55CA55DF4F688379838A839B8382 -:10BD3000C65AD0402DE330E02C0F3D1F245F3F4F0B -:10BD4000C155DF4F39832883CF5AD040AE01435CC1 -:10BD50005F4F6A019CED892E91E1992E01E010E080 -:10BD60005401E12CF12CD5016D917D918D919D9126 -:10BD70005D019B01AC010F94175F81110EC0F601AC -:10BD800020813181C8010E2C02C0880F991F0A94AE -:10BD9000E2F7822B932B91838083FFEFEF1AFF0A48 -:10BDA00026E0E216F104F9F638E1830E911C42E038 -:10BDB000C40ED11CC155DF4F88819981CF5AD04024 -:10BDC000C816D90669F6ACEDB1E1C355DF4FB983AA -:10BDD000A883CD5AD040EEE6FFE4C555DF4FF98386 -:10BDE000E883CB5AD040C655DF4F1882CA5AD0409C -:10BDF0009E012F5F3F4F2D963FAF2EAF2D97C5551C -:10BE0000DF4FE881F981CB5AD04085919591A5917A -:10BE1000B491C456DF4F88839983AA83BB83CC59DE -:10BE2000D040C355DF4FA881B981CD5AD040699623 -:10BE3000BFAFAEAF6997EEE2FFE46C96FFAFEEAF37 -:10BE40006C976A961FAE6A976C96EEADFFAD6C97D5 -:10BE50002591359145915491AC962CAF3DAF4EAFA5 -:10BE60005FAFAC976996AEADBFAD69976D917D91AF -:10BE70008D919C919B01AC010F94175F811163C060 -:10BE80006A96BFAD6A97BF5F6A96BFAF6A976C96B6 -:10BE9000EEADFFAD6C9734966C96FFAFEEAF6C973E -:10BEA00069962EAD3FAD69972C5F3F4F69963FAFC6 -:10BEB0002EAF6997B63041F6C655DF4F3881CA5A62 -:10BEC000D0403F5FC655DF4F3883CA5AD040C55572 -:10BED000DF4F48815981CB5AD0404C5F5F4FC555E9 -:10BEE000DF4F59834883CB5AD040C355DF4F8881F9 -:10BEF0009981CD5AD0404896C355DF4F99838883A6 -:10BF0000CD5AD040363009F07ACF85E19FE40F94C6 -:10BF1000DA40C055DF4F0FB6F894DEBF0FBECDBF7D -:10BF2000DF91CF911F910F91FF90EF90DF90CF9015 -:10BF3000BF90AF909F908F907F906F905F904F9049 -:10BF40003F902F9008952D96EEADFFAD2D972CE3E9 -:10BF500011922A95E9F789819A81AB81BC81C457F6 -:10BF6000DF4F88839983AA83BB83CC58D0402D812F -:10BF70003E814F815885C057DF4F288339834A83DC -:10BF80005B83C059D04089859A85AB85BC85C857ED -:10BF9000DF4F88839983AA83BB83C858D0402D85FF -:10BFA0003E854F855889CC57DF4F288339834A8394 -:10BFB0005B83C458D04089899A89AB89BC89C058B1 -:10BFC000DF4F88839983AA83BB83C058D0402D89D3 -:10BFD0003E894F89588DC458DF4F288339834A835F -:10BFE0005B83CC57D040898D9A8DAB8DBC8DEC9600 -:10BFF0008CAF9DAFAEAFBFAFEC972D8D3E8D4F8D0B -:10C0000058A1E8962CAF3DAF4EAF5FAFE89789A13E -:10C010009AA1ABA1BCA1E4968CAF9DAFAEAFBFAF70 -:10C02000E49729AD3AAD4BAD5CADE0962CAF3DAF9A -:10C030004EAF5FAFE0973DA1CC56DF4F3883C45978 -:10C04000D0404EA1CB56DF4F4883C559D0405FA1A9 -:10C05000CA56DF4F5883C659D04088A5C956DF4F0E -:10C060008883C759D04099A5C856DF4F9883C859CF -:10C07000D040AAA5C756DF4FA883C959D040BBA559 -:10C08000C656DF4FB883CA59D040ECA5C556DF4F1E -:10C09000E883CB59D0402CED31E1CC55DF4F3983CB -:10C0A0002883C45AD040AE01435C5F4FC056DF4F77 -:10C0B00059834883C05AD0408EE69FE4CE55DF4F67 -:10C0C00099838883C25AD040CE55DF4FE881F981E9 -:10C0D000C25AD0402591359145915491A0962CAFEC -:10C0E0003DAF4EAF5FAFA097C056DF4FA881B9817B -:10C0F000C05AD0408D919D91C056DF4FB983A8831F -:10C10000C05AD0409C0140E050E0A8962CAF3DAF13 -:10C110004EAF5FAFA897CC55DF4F48815981C45AC5 -:10C12000D0402F965FAF4EAF2F978EE2282E8FE430 -:10C13000382E00E010E0A8968CAD9DADAEADBFAD41 -:10C14000A897002E04C0B695A795979587950A9451 -:10C15000D2F780FFEBC1F10185919591A591B49142 -:10C1600063968CAF9DAFAEAFBFAF63972F96AEAD6A -:10C17000BFAD2F978D909D90AD90BC90C456DF4F72 -:10C18000288139814A815B81CC59D040A0966CAD21 -:10C190007DAD8EAD9FADA0970F94C95B2B013C0187 -:10C1A000AC962CAD3DAD4EAD5FADAC9763966CAD2E -:10C1B0007DAD8EAD9FAD63970F94C95B6B017C0124 -:10C1C000A3019201C301B2010F943A552B013C0126 -:10C1D000A7019601C701B6010F943A559B01AC0126 -:10C1E000C301B2010F94CA5B0F94C85E9B01AC01FE -:10C1F000CA55DF4F688179818A819B81C65AD040B8 -:10C200000F94C45C20E030E040E85FE30F94CA5B29 -:10C2100067966CAF7DAF8EAF9FAF6797A0962CAD42 -:10C220003DAD4EAD5FADA0970F943A556B017C01CB -:10C230009B01AC01C457DF4F688179818A819B8162 -:10C24000CC58D0400F94CA5BC457DF4F68837983C2 -:10C250008A839B83CC58D04063962CAD3DAD4EADC8 -:10C260005FAD639767966CAD7DAD8EAD9FAD679703 -:10C270000F943A552B013C019B01AC01C057DF4F95 -:10C28000688179818A819B81C059D0400F94CA5BB3 -:10C29000C057DF4F688379838A839B83C059D0401E -:10C2A00067962CAD3DAD4EAD5FAD6797C501B4014E -:10C2B0000F943A55A4966CAF7DAF8EAF9FAFA49705 -:10C2C0009B01AC01C857DF4F688179818A819B81CE -:10C2D000C858D0400F94CA5BC857DF4F6883798332 -:10C2E0008A839B83C858D040A7019601A0966CAD65 -:10C2F0007DAD8EAD9FADA0970F943A559B01AC01DB -:10C30000CC57DF4F688179818A819B81C458D040A6 -:10C310000F94CA5BCC57DF4F688379838A839B83F2 -:10C32000C458D040A301920163966CAD7DAD8EAD33 -:10C330009FAD63970F943A559B01AC01C058DF4FF6 -:10C34000688179818A819B81C058D0400F94CA5BF3 -:10C35000C058DF4F688379838A839B83C058D0405D -:10C36000A4962CAD3DAD4EAD5FADA497C501B40113 -:10C370000F943A559B01AC01C458DF4F6881798115 -:10C380008A819B81CC57D0400F94CA5BC458DF4F41 -:10C39000688379838A839B83CC57D040A701960119 -:10C3A00063966CAD7DAD8EAD9FAD63970F943A559E -:10C3B0009B01AC01EC966CAD7DAD8EAD9FADEC9765 -:10C3C0000F94CA5BEC966CAF7DAF8EAF9FAFEC97CE -:10C3D000A7019601C501B4010F943A559B01AC0128 -:10C3E000E8966CAD7DAD8EAD9FADE8970F94CA5BBE -:10C3F000E8966CAF7DAF8EAF9FAFE897A301920137 -:10C40000C501B4010F943A559B01AC01E4966CADA3 -:10C410007DAD8EAD9FADE4970F94CA5BE4966CAF93 -:10C420007DAF8EAF9FAFE49767962CAD3DAD4EAD1F -:10C430005FAD6797E0966CAD7DAD8EAD9FADE0973B -:10C440000F94CA5BE0966CAF7DAF8EAF9FAFE09765 -:10C4500020E030E0A901C701B6010F942A5E87FDF4 -:10C4600098C1CC56DF4F2881C459D040CB56DF4FFE -:10C470003881C559D040CA56DF4F4881C659D0408F -:10C48000C956DF4F5881C759D040C701B6010F9434 -:10C490002A5E1816A4F4CC56DF4FC882C459D04087 -:10C4A000CB56DF4FD882C559D040CA56DF4FE882FD -:10C4B000C659D040C956DF4FF882C759D04020E056 -:10C4C00030E0A901C301B2010F942A5E87FD5CC16F -:10C4D000C856DF4F2881C859D040C756DF4F388132 -:10C4E000C959D040C656DF4F4881CA59D040C556B9 -:10C4F000DF4F5881CB59D040C301B2010F942A5E5F -:10C500001816A4F4C856DF4F4882C859D040C75601 -:10C51000DF4F5882C959D040C656DF4F6882CA598A -:10C52000D040C556DF4F7882CB59D0400F5F1F4FA8 -:10C53000B4E02B0E311C2F96EEADFFAD2F97349645 -:10C540002F96FFAFEEAF2F970630110509F0F3CD10 -:10C55000CE55DF4F28813981C25AD0402C5F3F4FE2 -:10C56000CE55DF4F39832883C25AD040CC55DF4F98 -:10C5700048815981C45AD040485E5F4FCC55DF4F47 -:10C5800059834883C45AD040C056DF4F888199816F -:10C59000C05AD040C155DF4FA881B981CF5AD04091 -:10C5A0008A179B0709F090CDC856DF4F8881C8597C -:10C5B000D040C756DF4F9881C959D040C656DF4F8B -:10C5C000A881CA59D040C556DF4FB881CB59D04059 -:10C5D00089A79AA7ABA7BCA7CC56DF4F8881C459BF -:10C5E000D040CB56DF4F9881C559D040CA56DF4F57 -:10C5F000A881C659D040C956DF4FB881C759D0402D -:10C600008DA39EA3AFA3B8A7C457DF4F288139815C -:10C610004A815B81CC58D04029833A834B835C8329 -:10C62000C057DF4F88819981AA81BB81C059D04012 -:10C630008D839E83AF83B887C857DF4F28813981A8 -:10C640004A815B81C858D04029873A874B875C87ED -:10C65000CC57DF4F88819981AA81BB81C458D040D3 -:10C660008D879E87AF87B88BC058DF4F288139816F -:10C670004A815B81C058D040298B3A8B4B8B5C8BB5 -:10C68000C458DF4F88819981AA81BB81CC57D040A3 -:10C690008D8B9E8BAF8BB88FEC962CAD3DAD4EAD98 -:10C6A0005FADEC97298F3A8F4B8F5C8FE8968CADFE -:10C6B0009DADAEADBFADE8978D8F9E8FAF8FB8A308 -:10C6C000E4962CAD3DAD4EAD5FADE49729A33AA302 -:10C6D0004BA35CA3E0968CAD9DADAEADBFADE09736 -:10C6E00089AF9AAFABAFBCAFCE0101960F94D20524 -:10C6F000892B09F053C0CDA8DEA8EFA8F8ACF7FA53 -:10C70000F094F7F8F0942DA53EA54FA558A9C4566E -:10C71000DF4F688179818A819B81CC59D0400F9409 -:10C720003A559B01AC01C701B6010F94C95B6B017F -:10C730007C0129A93AA94BA95CA9AC966CAD7DAD49 -:10C740008EAD9FADAC970F943A559B01AC01C701DC -:10C75000B6010F94C95B9B01AC016996AEADBFAD4C -:10C7600069976D937D938D939C9313976A966FADA4 -:10C770006A97C655DF4F8881CA5AD0400E94BA8155 -:10C7800080E00E94EE667CCB77FA709477F8709424 -:10C790009FCEF7FAF094F7F8F09463CE8BE19FE424 -:10C7A000B6CB2F923F924F925F926F927F928F9271 -:10C7B0009F92AF92BF92CF92DF92EF92FF920F9330 -:10C7C0001F93CF93DF93CDB7DEB7C359D1090FB60F -:10C7D000F894DEBF0FBECDBF382E8090830C9090B2 -:10C7E000840CA090850CB090860C20E030E0A9016C -:10C7F000C501B4010F94CA5B2B013C0120E030E07D -:10C8000040E450E40F94D45487FF05C0412C512CD0 -:10C81000F0E46F2E762C20E030E84DE953E4C501BA -:10C82000B4010F94CA5BE9966CAF7DAF8EAF9FAF3A -:10C83000E99720E030E84BE953E40F942A5E18169C -:10C8400054F480E090E8ABE9B3E4E9968CAF9DAF97 -:10C85000AEAFBFAFE997C090870CD090880CE09046 -:10C86000890CF0908A0C20E030E0A901C701B601E4 -:10C870000F94CA5B4B015C0120E030E040E450E4DF -:10C880000F94D45487FF05C0812C912CE0E4AE2E88 -:10C89000BA2C20E030E04BE953E4C701B6010F9415 -:10C8A000CA5BED966CAF7DAF8EAF9FAFED9720E08A -:10C8B00030E849E953E40F942A5E181654F480E0F6 -:10C8C00090E8A9E9B3E4ED968CAF9DAFAEAFBFAFF2 -:10C8D000ED9700912A1310912B13DE0111967D0123 -:10C8E0008CE3FD0111928A95E9F7332009F4C6C162 -:10C8F00081E09FE40F94DA408FEE9EE49F938F9344 -:10C900001F920F946A0820912813412C512C67E83C -:10C91000662E63E4762E2D964CAE5DAE6EAE7FAE87 -:10C920002D97812C912C78E4A72E72E4B72E2196B6 -:10C930008CAE9DAEAEAEBFAE219701E042E0BE012F -:10C94000675B7F4FCE01CD960E94BD8DE1966CAFA7 -:10C950007DAF8EAF9FAFE1970F900F900F909B012F -:10C96000AC010F94175F81115AC32D964CAE5DAE8A -:10C970006EAE7FAE2D9721968CAE9DAEAEAEBFAEA5 -:10C980002197BE01675B7F4FCE01CD960E94EF9E3F -:10C990009B01AC01E1966CAD7DAD8EAD9FADE19795 -:10C9A0000F94C95BE1966CAF7DAF8EAF9FAFE197FF -:10C9B0008091281390912913049784F080E10F94BB -:10C9C0009240E1964CAD5DAD6EAD7FADE19782EEEC -:10C9D0009EE40F9426418AE00E94AA65812C912C46 -:10C9E00047E8A42E43E4B42E2D968CAE9DAEAEAE99 -:10C9F000BFAE2D9780E090E0A8E4B2E421968CAF22 -:10CA00009DAFAEAFBFAF21979E0123593F4FAE01FF -:10CA1000475B5F4FBE01635C7F4FC7010E94B89CBC -:10CA20008EEC9EE40F94DA408CEB9EE49F938F9300 -:10CA30001F920F946A08209128132D968CAE9DAEFC -:10CA4000AEAEBFAE2D97412C512C5AE7652E53E464 -:10CA5000752E21964CAE5DAE6EAE7FAE219701E095 -:10CA600042E0BE01675B7F4FCE01CD960E94BD8D37 -:10CA7000E1966CAF7DAF8EAF9FAFE1970F900F90B7 -:10CA80000F909B01AC010F94175F8111C8C22D96C6 -:10CA90008CAE9DAEAEAEBFAE2D9721964CAE5DAEC8 -:10CAA0006EAE7FAE2197BE01675B7F4FCE01CD9604 -:10CAB0000E94EF9E9B01AC01E1966CAD7DAD8EAD09 -:10CAC0009FADE1970F94C95BE1966CAF7DAF8EAFE0 -:10CAD0009FAFE1978091281390912913049784F0D8 -:10CAE00080E10F949240E1964CAD5DAD6EAD7FADAF -:10CAF000E1978FEA9EE40F9426418AE00E94AA659E -:10CB000080E090E0A7E8B3E42D968CAF9DAFAEAF88 -:10CB1000BFAF2D97812C912C2AE7A22E23E4B22EB1 -:10CB200021968CAE9DAEAEAEBFAE21979E0123592D -:10CB30003F4FAE01475B5F4FBE01635C7F4FC70154 -:10CB40000E94B89C8BE99EE40F94DA4089E89EE449 -:10CB50009F938F931F920F946A0820912813412C62 -:10CB6000512C38E4632E32E4732E2D964CAE5DAE1C -:10CB70006EAE7FAE2D9721968CAE9DAEAEAEBFAEA3 -:10CB8000219701E041E0BE01675B7F4FCE01CD966A -:10CB90000E94BD8DE1966CAF7DAF8EAF9FAFE197E8 -:10CBA0000F900F900F909B01AC010F94175F8111B4 -:10CBB00036C22D964CAE5DAE6EAE7FAE2D972196F1 -:10CBC0008CAE9DAEAEAEBFAE2197BE01675B7F4F10 -:10CBD000CE01CD960E94EF9E9B01AC01E1966CAD1B -:10CBE0007DAD8EAD9FADE1970F94C95BE1966CAFC3 -:10CBF0007DAF8EAF9FAFE19780912813909129135D -:10CC0000049784F080E10F949240E1964CAD5DADC5 -:10CC10006EAD7FADE1978CE79EE40F9426418AE0EC -:10CC20000E94AA6580E090E0A8E4B2E42D968CAF63 -:10CC30009DAFAEAFBFAF2D9780E090E0AAE7B3E421 -:10CC400021968CAF9DAFAEAFBFAF21979E01235908 -:10CC50003F4FAE01475B5F4FBE01635C7F4FC70133 -:10CC60000E94B89C312C80E00E941C8D0E94D48CC4 -:10CC7000332009F4C6C181E59EE4D6C1C301B201E7 -:10CC80000F94365DCE57DF4F79836883C258D0400A -:10CC9000C501B4010F94365DCC57DF4F79836883AB -:10CCA000C458D040B80161507109072E000C880BA0 -:10CCB000990B0F94DB542B013C01009F9001019FC5 -:10CCC000300D300D1124EF963FAF2EAFEF97212C92 -:10CCD00031E0CF57DF4F3883C158D040D12CE29696 -:10CCE0001FAEE297312CCE57DF4F88819981C25811 -:10CCF000D040092E000CAA0BBB0BC657DF4F888310 -:10CD00009983AA83BB83CA58D040CC57DF4F888110 -:10CD10009981C458D040092E000CAA0BBB0BC257F6 -:10CD2000DF4F88839983AA83BB83CE58D040CE56E9 -:10CD3000DF4FE882C259D040CD56DF4FF882C35949 -:10CD4000D040022D10E080912A1390912B130817E8 -:10CD500019070CF056C1E9966CAD7DAD8EAD9FAD57 -:10CD6000E9970F94365DCE57DF4FA881B981C2583D -:10CD7000D0406A1B7B0B072E000C880B990B0F947D -:10CD8000DB54A30192010F94C45C4B015C01B80118 -:10CD9000110F880B990B0F94DB549B01AC01C5015B -:10CDA000B4010F943A554B015C01C657DF4F6881BF -:10CDB00079818A819B81CA58D0400F94DB549B01B2 -:10CDC000AC01C501B4010F94CA5B2D966CAF7DAF69 -:10CDD0008EAF9FAF2D97CF57DF4FA880C158D0405F -:10CDE000BD2C94E2892E9EE4992EFA2CCF57DF4F6A -:10CDF000B881C158D040FB1ACF2C0F2C000CDD0895 -:10CE000000912A1310912B13C016D1060CF0E9C023 -:10CE1000C257DF4F688179818A819B81CE58D0408B -:10CE20000F94DB54CA57DF4F688379838A839B83CF -:10CE3000C658D040E296EFADE297EE2351F0B8012C -:10CE4000615071096C197D09072E000C880B990B34 -:10CE500005C06F2DFF0C770B880B990B0F94DB54DB -:10CE60006B017C01ED966CAD7DAD8EAD9FADED9708 -:10CE70000F94365DCC57DF4F28813981C458D0409C -:10CE8000621B730B072E000C880B990B0F94DB545D -:10CE9000A30192010F94C45CA70196010F943A5527 -:10CEA000CA57DF4F288139814A815B81C658D040FB -:10CEB0000F94CA5B21966CAF7DAF8EAF9FAF219769 -:10CEC00031108BC0B5018DE39EE40F941941EF96AC -:10CED0006EAD7FADEF978BE39EE40F94194188E32D -:10CEE0009EE40F94DA40EF963FADEF973F93EE96B6 -:10CEF0008FADEE978F93BF92AF929F928F921F92BA -:10CF00000F946A081091281385E40E942E9E0FB694 -:10CF1000F894DEBF0FBECDBF811102C042E001C058 -:10CF200041E001E0212FBE01635C7F4FCE01875BB2 -:10CF30009F4F0E94BD8DE1966CAF7DAF8EAF9FAFCE -:10CF4000E197332433949B01AC010F94175F811157 -:10CF500001C0312CBE01635C7F4FCE01875B9F4FC8 -:10CF60000E94EF9E9B01AC01E1966CAD7DAD8EAD54 -:10CF70009FADE1970F94C95BE1966CAF7DAF8EAF2B -:10CF80009FAFE1978091281390912913049784F023 -:10CF900080E10F949240E1964CAD5DAD6EAD7FADFA -:10CFA000E19787E19EE40F9426418AE00E94AA65FA -:10CFB0009E0123593F4FAE01435C5F4FBE01675B4B -:10CFC0007F4FCE56DF4F8881C259D040CD56DF4FBC -:10CFD0009881C359D0400E94B89CBFEFAB1ABB0ADE -:10CFE00004CF81E0E296EFADE297E827E296EFAF5B -:10CFF000E2972394CF57DF4FA882C158D040DB2C53 -:10D00000A0CE80E00E941C8D0E94D48C31100AC0FA -:10D01000CE0101960F94D205892B21F408C0332448 -:10D02000339421CE8FEF9DE40F94DA40C5C189A9D6 -:10D030009AA9ABA9BCA94DA55EA56FA578A9A5968F -:10D040004CAF5DAF6EAF7FAFA597A9968CAF9DAF8C -:10D05000AEAFBFAFA99780E090E0A0E8BFE3AD9688 -:10D060008CAF9DAFAEAFBFAFAD97CE018F599F4F85 -:10D070000F941D04809128139091291303977CF13C -:10D0800001E917E0D8018D918D01882319F00E94E4 -:10D09000AA65F8CFA5966CAD7DAD8EAD9FADA59779 -:10D0A00047E00E944A668CE20E94AA65A9966CAD90 -:10D0B0007DAD8EAD9FADA99747E00E944A668CE298 -:10D0C0000E94AA65AD966CAD7DAD8EAD9FADAD975E -:10D0D00047E00E944A668CEF9DE40F94DA4089A9EC -:10D0E0009AA9ABA9BCA9CDA4DEA4EFA4F8A869961F -:10D0F000CCAEDDAEEEAEFFAE69976D968CAF9DAF58 -:10D10000AEAFBFAF6D97812C912C80E8A82E8FE336 -:10D11000B82EA1968CAE9DAEAEAEBFAEA197CE019D -:10D120008B5A9F4F0F941D042D968CAE9DAEAEAEC4 -:10D13000BFAE2D9761961CAE1DAE1EAE1FAE6197A1 -:10D14000F7FAF094F7F8F0946596CCAEDDAEEEAE5B -:10D15000FFAE6597CE01875B9F4F0F941D046996C4 -:10D160008CAD9DADAEADBFAD6997E5968CAF9DAF73 -:10D17000AEAFBFAFE59761968CAD9DADAEADBFAD27 -:10D180006197E9968CAF9DAFAEAFBFAFE9976D9653 -:10D190004CAC5DAC6EAC7FAC6D972D968CAD9DADFF -:10D1A000AEADBFAD2D97ED968CAF9DAFAEAFBFAF1F -:10D1B000ED97A1968CAC9DACAEACBFACA19765963B -:10D1C000CCACDDACEEACFFAC6597A7019601C3011A -:10D1D000B2010F943A55C358DF4F688379838A832D -:10D1E0009B83CD57D040A5019401E9966CAD7DADF0 -:10D1F0008EAD9FADE9970F943A559B01AC01C35892 -:10D20000DF4F688179818A819B81CD57D0400F940F -:10D21000C95B21966CAF7DAF8EAF9FAF2197A50103 -:10D220009401ED966CAD7DAD8EAD9FADED970F94F5 -:10D230003A554B015C01A7019601E5966CAD7DADB9 -:10D240008EAD9FADE5970F943A559B01AC01C5019A -:10D25000B4010F94C95B25966CAF7DAF8EAF9FAFC5 -:10D260002597E9962CAD3DAD4EAD5FADE997E596BE -:10D270006CAD7DAD8EAD9FADE5970F943A556B01CA -:10D280007C01ED962CAD3DAD4EAD5FADED97C3018C -:10D29000B2010F943A559B01AC01C701B6010F943E -:10D2A000C95B29966CAF7DAF8EAF9FAF2997CE013A -:10D2B000CD960F941D0465968CAD9DADAEADBFAD02 -:10D2C0006597E9968CAF9DAFAEAFBFAFE997299652 -:10D2D0008CAD9DADAEADBFAD2997ED968CAF9DAF3A -:10D2E000AEAFBFAFED97A196CCACDDACEEACFFAC72 -:10D2F000A1970CED11E1212CE3961FAF0EAFE39740 -:10D30000312C822D0E94C19E4B015C01832D0E9415 -:10D31000939E2B013C01E9962CAD3DAD4EAD5FAD2A -:10D32000E997C501B4010F943A554B015C01ED96A4 -:10D330002CAD3DAD4EAD5FADED97C301B2010F9485 -:10D340003A559B01AC01C501B4010F94CA5B4B0176 -:10D350005C01E396AEADBFADE3972D913D914D914C -:10D360005C91C701B6010F943A559B01AC01C50110 -:10D37000B4010F94CA5B2DA93EA94FA958AD0F94D3 -:10D38000C95B9B01AC01E396EEADFFADE397619302 -:10D39000719381939193E396FFAFEEAFE397632D83 -:10D3A000822D0E94BA813394F6E03F12AACF2394D3 -:10D3B000085E1F4F2F12A0CFCD56DF4F0FB6F89447 -:10D3C000DEBF0FBECDBFDF91CF911F910F91FF90B8 -:10D3D000EF90DF90CF90BF90AF909F908F907F9015 -:10D3E0006F905F904F903F902F900895AF92BF92B3 -:10D3F000CF92DF92EF92FF920F931F93CF93DF9321 -:10D4000084EFE82E8DE4F82EF70185919491FC01CC -:10D41000C4903296D4903197C4913296049131964B -:10D420008491882321F1CC161CF0AA24AA9402C06E -:10D43000AA24A394002E000C110B0C2E000CDD0B63 -:10D440008D2D90E080179107B1F1BC2C8B2D90E0D1 -:10D450008C179D0751F020E04A2D6D2D8B2D0F94D8 -:10D46000B726811102C0BA0CF1CFD394E9CFD01600 -:10D470001CF0AA24AA9402C0AA24A3940C2E000C87 -:10D48000DD0B002E000C110B8C2D90E08C179D07EE -:10D4900091F0BD2C8B2D90E08017910751F02A2D33 -:10D4A00040E06B2D8C2D0F94B726811102C0BA0C71 -:10D4B000F1CFC394E9CFF2E0EF0EF11C8CEFE81648 -:10D4C0008DE4F80609F0A0CFDF91CF911F910F9165 -:10D4D000FF90EF90DF90CF90BF90AF900895CF92E4 -:10D4E000DF92EF92FF92C0903F02D0904002E09016 -:10D4F0004102F0904202FC0180819181A281B381BE -:10D5000080933F0290934002A0934102B093420265 -:10D510000E94C9C0C0923F02D0924002E0924102F4 -:10D52000F0924202FF90EF90DF90CF9008952F92FB -:10D530003F924F925F926F927F928F929F92AF92A3 -:10D54000BF92CF92DF92EF92FF920F931F93CF93F0 -:10D55000DF93CDB7DEB76F970FB6F894DEBF0FBE7F -:10D56000CDBF9C8F8B8F7E8F6D8F212C312C0FEF39 -:10D570002FEF2F833FEF3F874FE4488B53EC598BBE -:10D5800087E48A8B2E8A21E030E040E050E0022CD4 -:10D5900004C0220F331F441F551F0A94D2F72F8B4C -:10D5A000388F498F5A8F4CE653E15E874D8710E0E4 -:10D5B0002F8EAD85BE858D919D91BE87AD87A0E0F4 -:10D5C000B0E02F89388D498D5A8D82239323A4236F -:10D5D000B523892B8A2B8B2B09F0C3C08E890E941F -:10D5E000C19E6B017C01812F0E94939E69877A877F -:10D5F0008B879C87A7019601AB8DBC8D6D917D912A -:10D600008D919C910F94C95B2B013C0129853A8532 -:10D610004B855C85ED8DFE8D60817181828193816A -:10D620000F94C95B4B015C01A3019201C301B201DC -:10D630000F943A552B013C01A5019401C501B40199 -:10D640000F943A559B01AC01C301B2010F94CA5B20 -:10D650000F94C85E4B015C01A70196016091901385 -:10D660007091911380919213909193130F94C95BD1 -:10D670006B017C0129853A854B855C8560918C1313 -:10D6800070918D1380918E1390918F130F94C95BBD -:10D690002B013C01A7019601C701B6010F943A5531 -:10D6A0006B017C01A3019201C301B2010F943A55B1 -:10D6B0009B01AC01C701B6010F94CA5B0F94C85E11 -:10D6C00020E030E040E751E40F94C45CA5019401F0 -:10D6D0000F94CA5B6B017C0180909413909095131A -:10D6E000A0909613B090971320E030E040E85FE3FD -:10D6F000C501B4010F942A5E1816FCF4C501B401EB -:10D700000F94365D4B015C011616170618061906B4 -:10D710003CF40F941750A50194010F944C5B03C087 -:10D7200060E070E0CB010F94DB549B01AC01B601CB -:10D73000C7010F94CA5B6B017C012F853889498929 -:10D740005A89B601C7010F94D45487FF0AC00F8DC0 -:10D750001F83C886DB8AEC8AFD8ACF86D88AE98A4D -:10D76000FA8A1F5F163009F024CFFFEF2F1A3F0A05 -:10D7700026E02216310409F005CF3F81E32FF0E0C7 -:10D78000EE0FFF1FE459FC4E81E090E0002E02C036 -:10D79000880F991F0A94E2F720813181822B932B05 -:10D7A0009183808388859B89AC89BD898B839C8389 -:10D7B000AD83BE83482F5C816D817E81202F3F81A8 -:10D7C00080E090E06F960FB6F894DEBF0FBECDBF3D -:10D7D000DF91CF911F910F91FF90EF90DF90CF904D -:10D7E000BF90AF909F908F907F906F905F904F9081 -:10D7F0003F902F9008958C3891051CF02CE880E024 -:10D8000002C0282F892F20930A0A80930B0A0C94B8 -:10D8100022FD80E1EDEAFCE0A6E9BCE001900D927A -:10D820008A95E1F708952F923F924F925F926F92FF -:10D830007F928F929F92AF92BF92CF92DF92EF92A0 -:10D84000FF920F931F93CF93DF9300D01F921F92ED -:10D85000CDB7DEB77C018B016A0119018090AD0C58 -:10D860009090AE0CA090AF0CB090B00CA5019401BC -:10D87000FC0160817181828193810F94D454F1E025 -:10D88000FD83811112C02091B10C3091B20C4091F6 -:10D89000B30C5091B40CF801608171818281938145 -:10D8A0000F94D454811101C01D82F6014080518033 -:10D8B000628073802091540230915502409156024B -:10D8C00050915702C301B2010F94D454882309F434 -:10D8D00055C0409254025092550260925602709286 -:10D8E000570220E030E040E05FE36091AC117091BE -:10D8F000AD118091AE119091AF110F943A5569839B -:10D900007A838B839C838092960C9092970CA09242 -:10D91000980CB092990C8091B10C9091B20CA0919E -:10D92000B30CB091B40C80939A0C90939B0CA09381 -:10D930009C0CB0939D0CF60180819181A281B381F2 -:10D9400080939E0C90939F0CA093A00CB093A10C7D -:10D950008091B90C9091BA0CA091BB0CB091BC0C09 -:10D960008093A20C9093A30CA093A40CB093A50C4D -:10D97000CE0101960E946FEA0E9409ECFD81F1112F -:10D980000FC020E030E040EC5FE36091B011709197 -:10D99000B1118091B2119091B3110F94C45C04C085 -:10D9A00060E070E080EA91E469837A838B839C83F2 -:10D9B000F70180819181A281B3818093960C90932D -:10D9C000970CA093980CB093990CF80180819181E9 -:10D9D000A281B38180939A0C90939B0CA0939C0C92 -:10D9E000B0939D0CF101208131814281538160917E -:10D9F000A20C7091A30C8091A40C9091A50C0F9493 -:10DA0000CA5B6093A20C7093A30C8093A40C9093B8 -:10DA1000A50CCE0101960E946FEA0E9409EC0F90BE -:10DA20000F900F900F900F90DF91CF911F910F915A -:10DA3000FF90EF90DF90CF90BF90AF909F908F902E -:10DA40007F906F905F904F903F902F9008950E942D -:10DA5000E39D97FD0CC00E94E39D6F3F710581051A -:10DA6000910509F034F40E94E39D862F089580E02B -:10DA700008958FEF08958091431890914418892B51 -:10DA800039F00E9427ED91E0811103C090E001C0C0 -:10DA900091E0892F0895CF93DF93C82FD62F0E944E -:10DAA000779E882321F0DF91CF910C943BED8C2F52 -:10DAB0000E942E9E811101C08D2FDF91CF9108957C -:10DAC0002F923F924F925F926F927F928F929F928E -:10DAD000AF92BF92CF92DF92EF92FF920F931F937C -:10DAE000CF93DF93CDB7DEB7C055D1090FB6F89409 -:10DAF000DEBF0FBECDBF8CE092E50F94DA4041E06F -:10DB000061E081E00E9459C081110C9491F584E597 -:10DB10000E94779E882329F00E94F39D81110E9424 -:10DB20003D9C80E090E0A0E8BFE38093491890938B -:10DB30004A18A0934B18B0934C188093920C909372 -:10DB4000930CA093940CB093950C8DEC9CECACE4EE -:10DB5000BEE38093451890934618A0934718B0935E -:10DB6000481880E090E0A0E2B1E480939D13909388 -:10DB70009E13A0939F13B093A0138CE390E0909317 -:10DB80009C1380939B138DEC90E090939A13809359 -:10DB90009913109298134AE959E969E97EE38FE4F1 -:10DBA0000E94EC826BAF7CAF8DAF9EAF60E083E4F0 -:10DBB0000E944BED2F968FAF2F9760E08BE40E9471 -:10DBC0004BED60968FAF609782E40E94779E88232A -:10DBD000C9F00E94F79D0F94365D70939C1360937B -:10DBE0009B136115710571F06852710965367105F5 -:10DBF00048F06CE870E08EED91E50F94374189EDC7 -:10DC000091E5AEC18CE40E94779E882301F10E94C9 -:10DC1000F79D6B017C0160934518709346188093C3 -:10DC200047189093481820E030E0A9010F942A5E2D -:10DC300087FD0AC020E030E040E050E4C701B601B3 -:10DC40000F94D45418161CF481EB91E589C181E539 -:10DC50000E942E9E882351F1809143189091441880 -:10DC6000892B09F10E94F79D6B017C016093920C56 -:10DC70007093930C8093940C9093950C2DEC3CEC4A -:10DC80004CE45DE30F942A5E87FD0AC020E030E09B -:10DC900040E751E4C701B6010F94D454181634F488 -:10DCA00080E891E55DC185E591E55AC183E50E9473 -:10DCB000779E8823C9F00E94F79D4B015C012DECF3 -:10DCC0003CEC4CEC5DE30F942A5E87FD0AC020E03B -:10DCD00030E040E050E4C501B4010F94D45418166C -:10DCE00054F48EE291E53CC1EDEC8E2EECEC9E2ED0 -:10DCF000A92CEEE3BE2E80E50E942E9E882371F1B2 -:10DD00008091431890914418892B19F486EF90E57F -:10DD100027C1809198138F5F809398130E94F79D7D -:10DD20006B017C0160939D1370939E1380939F13EE -:10DD30009093A01320E030E0A9010F942A5E87FDA4 -:10DD40000AC020E030E048EC51E4C701B6010F946E -:10DD5000D45418161CF48EEC90E502C186E40E949F -:10DD6000779E8823C9F00E94F79D6B017C0120E01B -:10DD700030E040E85FE30F942A5E87FD0AC020E0B0 -:10DD800030E040E850E4C701B6010F94D4541816AF -:10DD90004CF485EA90E5E4C0C12CD12C70EEE72E5E -:10DDA0007FE3F72EA7019601C701B6010F943A55FC -:10DDB0009B01AC0160E070E084E490E40F94C45CEB -:10DDC0002091491830914A1840914B1850914C18A5 -:10DDD0000F943A552B013C01A5019401C501B401F2 -:10DDE0000F943A55A70196010F943A552CEE31E560 -:10DDF00048EB5DE30F94C45C9B01AC01C301B2012D -:10DE00000F943A556093491870934A1880934B18B1 -:10DE100090934C1888E40E94779E882381F00E949A -:10DE2000F79D0F94365D70939A1360939913655A1A -:10DE300071096838710518F087E790E591C085E5AC -:10DE40000E942E9E8823F1F00F94783E6115710593 -:10DE50008105910511F00F946550809143189091C0 -:10DE60004418892B19F00E94F79D04C060E070E00F -:10DE700088E492E4609394137093951380939613BF -:10DE80009093971382E50E942E9E811103C083E434 -:10DE900090E566C08091431890914418892B61F0F9 -:10DEA0000E94F39D2E969FAF8EAF2E9718161906DF -:10DEB0004CF08FE090E554C025E230E02E963FAF65 -:10DEC0002EAF2E9788E50E94779E882369F00E94E6 -:10DED000F79D2091770C3091780C4091790C5091FE -:10DEE0007A0C0F94C95B08C06091AD0C7091AE0CB8 -:10DEF0008091AF0C9091B00C60939013709391133C -:10DF0000809392139093931389E50E94779E8823C0 -:10DF100079F00E94F79D20917B0C30917C0C409110 -:10DF20007D0C50917E0C0F94C95BAB01BC0108C005 -:10DF30004091B10C5091B20C6091B30C7091B40C43 -:10DF400040938C1350938D1360938E1370938F13A3 -:10DF500080E993E10E94958C811105C085EE9FE4D4 -:10DF60000F94DA40DEC584E40E942E9E91E089275A -:10DF70000F94033F20E030E040EA50E46091B50C9C -:10DF80007091B60C8091B70C9091B80C0F94D4544A -:10DF900087FF15C0198A1A8A1B8A1C8A80E090E0C4 -:10DFA000A0EAB0E489839A83AB83BC83BE016F5E31 -:10DFB0007F4FCE0101960E9440790F945F103091FF -:10DFC0007D1261963FAF619710927D120E94CCBC8A -:10DFD00084EC9FE40F94DA4080919B1390919C1302 -:10DFE0008A3191056CF48091991390919A130E9453 -:10DFF000529C61E080E00E94CCF7811109C0DAC434 -:10E000000E94FBEB81E00E944EF68111ECCFD2C45E -:10E010001092B90C1092BA0C1092BB0C1092BC0C5E -:10E0200089EB9CE00E94CB91809198138823B1F1F9 -:10E030000E9409EC2091A20C3091A30C4091A40CF9 -:10E040005091A50C60919D1370919E1380919F1328 -:10E050009091A0130F94CA5B6093A20C7093A30CD1 -:10E060008093A40C9093A50C20E030E040E751E4AD -:10E070006091B0117091B1118091B2119091B31172 -:10E080000F94C45C69837A838B839C83CE01019651 -:10E090000E946FEA0E9409EC0E94A0BB80E2ECE6BD -:10E0A000F3E1DF01282F1D922A95E9F7ECE4F3E173 -:10E0B000DF01282F1D922A95E9F7ECE2F3E1DF0159 -:10E0C0001D928A95E9F70E9409EC8091451890917C -:10E0D0004618A0914718B091481880939E0C9093D1 -:10E0E0009F0CA093A00CB093A10C19821A821B82E2 -:10E0F0001C829E012F5F3F4F4EE95CE06AE97CE0A5 -:10E1000086E99CE00E9413EC9E01255C3F4F4EE99E -:10E110005CE06AE97CE086E99CE00E9413EC2F96C3 -:10E12000BFAD2F97BB2329F061EB7CE08DEA9CE02B -:10E1300004C06CE873E180E993E10E9497EA3FAF85 -:10E140002C962FAF2C972C96EFAD2C97E7FD1DC486 -:10E15000FFADF7FD1AC48E2F0E94C19E2B013C011A -:10E16000CB01D3018FAB98AFA9AFBAAF8FAD0E94EF -:10E17000939E162F072FF82EE92E462F572F682F24 -:10E18000792FCE01C7960E94958C882309F4FFC38E -:10E1900020E030E040EA50E4B201C3010F94CA5BD2 -:10E1A000D62E372E282EC92E862F932DA22DBC2D8C -:10E1B0008BAB9CABADABBEAB812F902FAF2DBE2DEB -:10E1C0008FA798ABA9ABBAAB2C962FAD2C9721118A -:10E1D0004AC03FAD31111FC020E030E040EA50E4BA -:10E1E000612F702F8F2D9E2D0F94CA5B21966FAFDC -:10E1F000219723967FAF239725968FAF2597279654 -:10E200009FAF27978FADD42C352C262CC72C882375 -:10E2100009F4C6C023C0C201D3018BAB9CABADAB2C -:10E22000BEAB20E030E040EA50E4612F702F8F2D2C -:10E230009E2D0F94C95B6FA778AB89AB9AAB9FAD4E -:10E24000953054F221961FAF219723960FAF239755 -:10E250002596FFAE25972796EFAE2797AFADA53051 -:10E260000CF489C09DC02C96BFAD2C97B5300CF432 -:10E2700053C0EFADE5305CF020E030E040EA50E420 -:10E28000B201C3010F94C95B362F272F03C0342D71 -:10E29000252DC301432F522FBC014BAB5CAB6DABA3 -:10E2A0007EABFFADF11134C420E030E040EA50E431 -:10E2B000B201C3010F94C95BD62E372E282EC92E6A -:10E2C00020E030E040EA50E4612F702F8F2D9E2D2A -:10E2D0000F94CA5B6FA778AB89AB9AAB2FAD2223A3 -:10E2E00009F452C020E030E040EA50E4612F702F82 -:10E2F0008F2D9E2D0F94C95B21966FAF219723968A -:10E300007FAF239725968FAF259727969FAF2797A7 -:10E310003FAD353084F144C08FAD81110FC020E096 -:10E3200030E040E251E46D2D732D822D9C2D0F9431 -:10E33000C95BD62E372E282EC92E11C09FAD953021 -:10E34000C4F120E030E040E251E46D2D732D822DC8 -:10E350009C2D0F94C95B6BAB7CAB8DAB9EAB2196B8 -:10E360001FAF219723960FAF23972596FFAE2597D2 -:10E370002796EFAE279762ED862E63E5962E6BE724 -:10E38000A62E61E4B62E29C021961FAF21972396B1 -:10E390000FAF23972596FFAE25972796EFAE2797C9 -:10E3A00052ED852E53E5952E5BEFA52E50E4B52E4C -:10E3B00014C021961FAF219723960FAF2397259660 -:10E3C000FFAE25972796EFAE279742ED842E43E5C3 -:10E3D000942E4BEFA42E41E4B42E8BA99CA9ADA999 -:10E3E000BEA92B968CAF9DAFAEAFBFAF2B979C0154 -:10E3F000AD01B201C3010F94C95B698B7A8B8B8B22 -:10E400009C8B4FA458A869A87AA8A3019201612FF8 -:10E41000702F8F2D9E2D0F94C95B6D8B7E8B8F8BF4 -:10E42000988F2B962CAD3DAD4EAD5FAD2B97609187 -:10E43000AD0C7091AE0C8091AF0C9091B00C0F941C -:10E44000C95B2B966CAF7DAF8EAF9FAF2B97A301AF -:10E4500092016091B10C7091B20C8091B30C9091CB -:10E46000B40C0F94C95B2B013C018D2D932DA22D73 -:10E47000BC2D89839A83AB83BC8321968FAD219772 -:10E4800023969FAD23972596AFAD25972796BFADD1 -:10E4900027978D839E83AF83B8878091451890918D -:10E4A0004618A0914718B091481889879A87AB877A -:10E4B000BC872091630230916402409165025091C3 -:10E4C0006602C501B4010F943A5520914918309164 -:10E4D0004A1840914B1850914C180F943A5520917E -:10E4E000B90C3091BA0C4091BB0C5091BC0C0F94FC -:10E4F000CA5B6D877E878F87988B2B962CAD3DAD41 -:10E500004EAD5FAD2B97CA01B9010F943A556B011F -:10E510007C01A3019201C301B2010F943A559B0102 -:10E52000AC01C701B6010F94CA5B20E030E040E0C7 -:10E5300050E40F942A5E18160CF047C00E94A0BB4E -:10E540001BA21CA21DA21EA220E030E040E05FE35F -:10E550006091B50C7091B60C8091B70C9091B80C8D -:10E560000F94CA5B6F8F78A389A39AA39E012D5D38 -:10E570003F4FAE01415E5F4F61EB7CE08DEA9CE076 -:10E580000E9413EC1BA21CA21DA21EA220E030E0E0 -:10E5900040E05FE3609145187091461880914718FC -:10E5A000909148180F94CA5B6F8F78A389A39AA3A0 -:10E5B0009E012D5D3F4FAE01415E5F4FBE01615D2B -:10E5C0007F4FCE01C3960E9413EC1F8E18A219A292 -:10E5D0001AA29E01215E3F4F45E458E1BE01615DF4 -:10E5E0007F4FCE01C3960E9413EC0E94CCBB40909B -:10E5F0003F02509040026090410270904202E090D1 -:10E60000A811F090A9110091AA111091AB11A0903E -:10E61000A411B090A511C090A611D090A71195019A -:10E62000A601B701C8010F942A5E181614F47501EB -:10E63000860120E030E040E251E4B701C8010F94C8 -:10E64000C45C60933F0270934002809341029093B8 -:10E65000420240E0BE016F5E7F4FCE0101960F94F3 -:10E66000B72040923F025092400260924102709265 -:10E6700042020E9409ECA1E0B0E02496BFAFAEAF29 -:10E680002497212C312C022D2396BFAD239727965A -:10E69000BFAF2797C12CD12C7601C394022C04C0A4 -:10E6A000CC0CDD1CEE1CFF1C0A94D2F7812C912CA3 -:10E6B0005401839404C0880C991CAA1CBB1CBA95F5 -:10E6C000D2F78C289D28AE28BF28E1E0F0E0022C8C -:10E6D00002C0EE0FFF1F0A94E2F72696FFAFEEAFDF -:10E6E00026972CE2622E23E1722E3CE6432E33E184 -:10E6F000532E2CE433E122963FAF2EAF229710E049 -:10E7000029965FAE4EAE2997D2018D919C91A0E0E3 -:10E71000B0E088219921AA21BB2188159905AA0575 -:10E72000BB0509F077C02296AEADBFAD22978D91A3 -:10E730009C91A0E0B0E08C219D21AE21BF21892BCE -:10E740008A2B8B2B09F066C0802F0E94C19E20E08F -:10E7500030E040E050E40F94CA5B6BA77CA78DA724 -:10E760009EA727968FAD27970E94C19E20E030E09C -:10E7700040E050E40F94C95B6BA37CA38DA39EA3E0 -:10E780004AE351E061E070E0CE018B960E94E7C958 -:10E79000812F0E94939E20E030E040E85FE30F94D9 -:10E7A000D45487FD6FC1812F0E94939E20E030E8F2 -:10E7B0004AE953E40F942A5E18160CF468C1812FBD -:10E7C0000E94939E6F8F78A389A39AA36FA378A7C3 -:10E7D00089A79AA74AE351E061E070E0CE018396F1 -:10E7E0000E94E7C94FA158A569A57AA5CE018B96CD -:10E7F0000E94958C811150C12296EEADFFAD2297FB -:10E800008081918126962EAD3FAD2697822B932B4A -:10E810009183808332E0430E511C2996AEADBFAD8B -:10E8200029978D919C91A0E0B0E08C219D21AE2193 -:10E83000BF21892B8A2B8B2B09F485C0B1E0B10F46 -:10E840002896BFAF2897F20180819181A0E0B0E0C7 -:10E850008C219D21AE21BF21892B8A2B8B2B09F482 -:10E8600072C0F30180819181A0E0B0E08C219D21F4 -:10E87000AE21BF21892B8A2B8B2B09F064C0812FFD -:10E880000E94939E20E030E040E050E40F94CA5B89 -:10E890006FA378A789A79AA728968FAD28970E947B -:10E8A000939E20E030E040E050E40F94C95B6F8F0E -:10E8B00078A389A39AA3802F0E94C19E20E030E014 -:10E8C00040E85FE30F94D45487FDFFC0802F0E947F -:10E8D000C19E20E030E04DE953E40F942A5E181603 -:10E8E0000CF4F8C0802F0E94C19E6BA37CA38DA363 -:10E8F0009EA36BA77CA78DA79EA745E351E061E08F -:10E9000070E0CE0187960E94E7C945E351E061E0DF -:10E9100070E0CE014F960E94E7C94FA158A569A5A6 -:10E920007AA5CE018B960E94958C8111D8C0D30117 -:10E930008D919C9111972696EEADFFAD26978E2B6B -:10E940009F2B8D939C931F5FF2E06F0E711C22969C -:10E950002EAD3FAD22972E5F3F4F22963FAF2EAF99 -:10E960002297163009F0CCCE3FEF231A330A2496B3 -:10E970008EAD9FAD2497019624969FAF8EAF2497BE -:10E9800096E02916310409F07ECE0E94D5662E96B7 -:10E99000AEADBFAD2E9711972E96BFAFAEAF2E97EF -:10E9A000AB2B41F02C96BFAD2C97B7FD03C0EFAD5C -:10E9B000E7FFB5CB6FEF89ED9FE40F940F080E943E -:10E9C000A0BB80E090E0A0EAB0E480939E0C90931E -:10E9D0009F0CA093A00CB093A10C19821A821B82E9 -:10E9E0001C829E012F5F3F4F4EE95CE06AE97CE0AC -:10E9F00086E99CE00E9413EC809190139091911312 -:10EA0000A0919213B09193138093960C9093970CCE -:10EA1000A093980CB093990C80918C1390918D13C6 -:10EA2000A0918E13B0918F1380939A0C90939B0CAE -:10EA3000A0939C0CB0939D0C19821A821B821C829D -:10EA40009E012F5F3F4F4EE95CE06AE97CE086E97A -:10EA50009CE00E9413EC6196FFAD6197F0937D12EC -:10EA60000E94CCBC60962FAD609721115AC01092C5 -:10EA70000B0A10920A0A0E9422FD80E090E00E9498 -:10EA8000529C4FC060E070E080E89FE39BCE60E066 -:10EA900070E88AE993E496CE4F8D58A169A17AA1D6 -:10EAA000CE0183960E94958C882309F4A5CE9E0101 -:10EAB000215E3F4FAE014D5D5F4FBE01695D7F4FEF -:10EAC000CE018B960F94263B97CE60E070E080E8F5 -:10EAD0009FE30BCF60E070E08DE993E406CF4F8DAC -:10EAE00058A169A17AA1CE0183960E94958C8823B2 -:10EAF00009F41DCF9E01215E3F4FAE014D5D5F4F7A -:10EB0000BE01695D7F4FCE018B960F94263B0FCFE0 -:10EB1000FFADD42C352C262CC72CF5300CF0E2CBD5 -:10EB2000CFCBC05BDF4F0FB6F894DEBF0FBECDBFBB -:10EB3000DF91CF911F910F91FF90EF90DF90CF90D9 -:10EB4000BF90AF909F908F907F906F905F904F900D -:10EB50003F902F900895EF92FF920F931F93CF93C2 -:10EB60007C018B014F3F11F4C2E401C0C4E580E297 -:10EB70000E94AA658C2F0E94AA658AE30E94AA655A -:10EB8000F701608171818281938142E00E944A662F -:10EB9000F801408151816281738182E894E50F948C -:10EBA000264162E070E080E090E0CF911F910F91EC -:10EBB000FF90EF900D943E3E1F93CF93DF93CDB720 -:10EBC000DEB728970FB6F894DEBF0FBECDBF182F63 -:10EBD0006091F00C7091F10C072E000C880B990BD2 -:10EBE0000F94DB546D837E838F8398878091EC0C28 -:10EBF0009091ED0CA091EE0CB091EF0C89839A836B -:10EC0000AB83BC834CEFBE016B5F7F4FCE0101969F -:10EC10000E94ABF560910A0A70910B0A072E000C56 -:10EC2000880B990B0F94DB546D837E838F839887B9 -:10EC30008091060A9091070AA091080AB091090AEA -:10EC400089839A83AB83BC834FEFBE016B5F7F4F99 -:10EC5000CE0101960E94ABF51F3F41F087E11802FB -:10EC6000F0011124E851F34F628502C060910C0A53 -:10EC700070E08AE894E50F94374160910C0A70E0E7 -:10EC800085E894E50F94374128960FB6F894DEBFD7 -:10EC90000FBECDBFDF91CF911F9108952F923F926C -:10ECA0004F925F926F927F928F929F92AF92BF929C -:10ECB000CF92DF92EF92FF920F931F93CF93DF9348 -:10ECC000CDB7DEB763970FB6F894DEBF0FBECDBFEA -:10ECD000898B81E0809314021A821B821C821D8220 -:10ECE00019861A861B861C8619821D862CE32E87A0 -:10ECF0003CE13F8746E4488B312C212C50E85A8B6D -:10ED00008FEB8B8B91E09887812C912C5401609133 -:10ED10000A0A70910B0A072E000C880B990B0F94AE -:10ED2000DB547B018C019B01AC01632D722D8A8920 -:10ED30009B890F94D454882361F16091060A7091E5 -:10ED4000070A8091080A9091090AA989A1110EC0A9 -:10ED5000B1E0B9839701A8010F942A5E18160CF050 -:10ED600019823E2C2F2C0A8B1B8B13C09701A801F4 -:10ED70000F942A5E181644F480911402882309F433 -:10ED8000F0C00F94B008EDC03E2C2F2C0A8B1B8BCB -:10ED900019820F94783E6B017C01DC01CB0129853F -:10EDA0003A854B855C85821B930BA40BB50BB7FD95 -:10EDB00033C0D701C60188519C4FAF4FBF4F8987E1 -:10EDC0009A87AB87BC8780E00E94DCF582E994E5F6 -:10EDD0000F94DA4081149104A104B104B9F0D50173 -:10EDE000C401805F984DAF4FBF4FBC01CD016C197E -:10EDF0007D098E099F0928EE33E040E050E00F9432 -:10EE00002A5BCA01B9010E941E6603C08FE30E94FB -:10EE1000AA658AE00E94AA6580E00E94EE660F94CF -:10EE2000783E60936B1470936C1480936D14909380 -:10EE30006E149091060A9E83A091070AAF830091F9 -:10EE4000080A1091090A292F3A2FA801632D722D63 -:10EE50008A899B890F94C95B2B013C0120E030E03B -:10EE6000A9010F942A5E87FF04C077FA709477F89F -:10EE7000709481149104A104B104B1F420E030E055 -:10EE800040E85FE3C301B2010F94D45487FF18C078 -:10EE9000B88546015701BB2399F020E1820E27E295 -:10EEA000921EA11CB11C0CC020E030E040E450E4F4 -:10EEB000C301B2010F942A5E181614F446015701DB -:10EEC00039813323A9F18A819B81AC81BD81892B52 -:10EED0008A2B8B2B61F0D701C6012A813B814C81A3 -:10EEE0005D81821B930BA40BB50BB7FD21C02E8156 -:10EEF0003F81A8016D857E858F8598890F94C95BB8 -:10EF000020E030E040EC5FE30F94D45487FD34CF31 -:10EF1000D701C601805A9541AF4FBF4F8A839B836B -:10EF2000AC83BD839E819D87AF81AE870F87188B91 -:10EF300080911402882309F41FCF81149104A10445 -:10EF4000B10411F41886E3CEB0E1CB1AB7E2DB0AC4 -:10EF5000E108F108C818D908EA08FB08F7FCF2CF65 -:10EF60000BCF8091140263960FB6F894DEBF0FBEEC -:10EF7000CDBFDF91CF911F910F91FF90EF90DF9068 -:10EF8000CF90BF90AF909F908F907F906F905F9049 -:10EF90004F903F902F9008952F923F924F925F9203 -:10EFA0006F927F928F929F92AF92BF92CF92DF9299 -:10EFB000EF92FF920F931F93CF93DF93CDB7DEB7FE -:10EFC00064970FB6F894DEBF0FBECDBF898B6A8BF6 -:10EFD00081E0809314021A821B821C821D82198692 -:10EFE0001A861B861C8621E0288719821D863CE331 -:10EFF0003E874CE14F8756E4588B312C212C80E81A -:10F000008B8B9FEB9C8B812C912C54016091F00C8D -:10F010007091F10C072E000C880B990B0F94DB54A8 -:10F020007B018C019B01AC01632D722D8B899C8926 -:10F030000F94D454882361F16091EC0C7091ED0C25 -:10F040008091EE0C9091EF0CAA89A1110EC0B1E055 -:10F05000B9839701A8010F942A5E18160CF0198243 -:10F060003E2C2F2C0B8B1C8B13C09701A8010F94E7 -:10F070002A5E181644F480911402882309F4F0C023 -:10F080000F94B008EDC03E2C2F2C0B8B1C8B1982DB -:10F090000F94783E6B017C01DC01CB0129853A8518 -:10F0A0004B855C85821B930BA40BB50BB7FD33C05E -:10F0B000D701C60188519C4FAF4FBF4F89879A87B0 -:10F0C000AB87BC8789890E94DCF58EE894E50F94B4 -:10F0D000DA4081149104A104B104B9F0D501C4014E -:10F0E000805F984DAF4FBF4FBC01CD016C197D09BA -:10F0F0008E099F0928EE33E040E050E00F942A5B30 -:10F10000CA01B9010E941E6603C08FE30E94AA656E -:10F110008AE00E94AA6580E00E94EE660F94783E25 -:10F1200060936B1470936C1480936D1490936E14B1 -:10F130009091EC0C9E83A091ED0CAF830091EE0CAE -:10F140001091EF0C292F3A2FA801632D722D8B8976 -:10F150009C890F94C95B2B013C0120E030E0A901A0 -:10F160000F942A5E87FF04C077FA709477F8709442 -:10F1700081149104A104B104B1F420E030E040E82E -:10F180005FE3C301B2010F94D45487FF18C0B88560 -:10F1900046015701BB2399F020E1820E27E2921E1F -:10F1A000A11CB11C0CC020E030E040E450E4C301DD -:10F1B000B2010F942A5E181614F4460157013981E2 -:10F1C0003323A9F18A819B81AC81BD81892B8A2B54 -:10F1D0008B2B61F0D701C6012A813B814C815D8177 -:10F1E000821B930BA40BB50BB7FD21C02E813F8171 -:10F1F000A8016D857E858F8598890F94C95B20E075 -:10F2000030E040EC5FE30F94D45487FD34CFD70156 -:10F21000C601805A9541AF4FBF4F8A839B83AC8311 -:10F22000BD839E819D87AF81AE870F87188B8091AC -:10F230001402882309F41FCF81149104A104B1049E -:10F2400011F41886E3CEB0E1CB1AB7E2DB0AE1088D -:10F25000F108C818D908EA08FB08F7FCF2CF0BCF71 -:10F260008091140264960FB6F894DEBF0FBECDBF36 -:10F27000DF91CF911F910F91FF90EF90DF90CF9092 -:10F28000BF90AF909F908F907F906F905F904F90C6 -:10F290003F902F900895EF92FF920F931F93CF937B -:10F2A000DF9380915E028F37A0F08F579091F20C20 -:10F2B0009093C813992311F02C9A01C02C98209197 -:10F2C0000C0A2093C71390910201222369F09095B4 -:10F2D0000BC09091C813891708F02C989091C71310 -:10F2E000891728F0909102019072909300018F5F2E -:10F2F00080935E029091C61381E089278093C613A4 -:10F3000080915D0285301CF411E0180F01C010E0FF -:10F31000823009F4B9C054F4882301F1813009F036 -:10F32000E8C088E080937B0085E4C5C0843009F4A0 -:10F33000CAC00CF4BCC0853009F0DBC09091C51385 -:10F34000911102C08093C5138091C51381508093A1 -:10F35000C513882309F4CDC015E0CBC080915C02B1 -:10F360008F5F80311CF480935C02C3C010925C02FA -:10F370008091B813811113C08091E80C9091E90C31 -:10F380009093EB0C8093EA0C8091020A9091030A0F -:10F390009093050A8093040A81E08093B813109239 -:10F3A000E90C1092E80C1092030A1092020AE09005 -:10F3B000EA0CF090EB0CF194E194F1088091F00CE0 -:10F3C0009091F10C01E0181619062CF08091F20CC6 -:10F3D000811101C000E080910E0290910F02919581 -:10F3E000819591098E159F053CF442EF53E563E149 -:10F3F00074E580E00E942ACA002389F080910C0203 -:10F4000090910D02919581959109E816F9063CF4C9 -:10F4100045E254E566E474E580E00E942ACA8091E2 -:10F420000A0A90910B0A01E0181619062CF0809137 -:10F430000C0A811101C000E02091040A3091050AF4 -:10F4400080911A0A90911B0A821793073CF042E0C0 -:10F4500054E563E174E58FEF0E942ACA002309F4A2 -:10F4600048C02091040A3091050A80910A029091C7 -:10F470000B0228173907ECF145E354E566E474E51F -:10F480008FEF0E942ACA35C080917A0086FD2EC077 -:10F4900080917800909179002091E80C3091E90CEE -:10F4A000820F931F9093E90C8093E80C22C088E0B0 -:10F4B00080937B0086E480937C0080917A00806456 -:10F4C00080937A0016C080917A0086FD11C08091E9 -:10F4D0007800909179002091020A3091030A820FFE -:10F4E000931F9093030A8093020A03C012E001C0A5 -:10F4F00014E010935D0220916F1430917014211567 -:10F50000310509F43AC0F894909109019270809104 -:10F51000080181708093060180910B011216130679 -:10F520000CF08095827080930901000000000000BB -:10F5300080910B01809588708093090184E08A9501 -:10F540000000E9F780910B01887080930901809198 -:10F550000B019111809582708093090178948091BC -:10F560006F14909170141216130614F4019701C0D1 -:10F5700001969093701480936F148091B91388232F -:10F5800009F44DC080915B028E5F8F7780935B02A0 -:10F59000811145C08CB185FB882780F9C82F80E098 -:10F5A000D82F8091030181FDC2604B99C460009106 -:10F5B000C3131091C4130C271D270115110579F1F0 -:10F5C00000FF07C0BE01617077278DE694E50F94B8 -:10F5D000374101FF08C06C2F6695617070E084E6CA -:10F5E00094E50F94374102FF08C0C2FB662760F91B -:10F5F00070E08BE594E50F94374188E594E50F942E -:10F60000DA401091C213612F70E08DE00F94563DE7 -:10F6100010951093C213D093C413C093C3130E94C8 -:10F62000EB798091C8119091C911009769F0019709 -:10F630009093C9118093C811892B31F486E794E522 -:10F6400090933F0A80933E0ADF91CF911F910F91D3 -:10F65000FF90EF9008950F930FB70F9300916E00F6 -:10F660000B7F00936E0078940F930BB70F930CB73A -:10F670000F921F922F933F934F935F936F937F93BC -:10F680008F939F93AF93BF93EF93FF9311240E94A7 -:10F690004BF9FF91EF91BF91AF919F918F917F9126 -:10F6A0006F915F914F913F912F911F900F900CBFE1 -:10F6B0000F910BBF0F910460F89400936E000F91AF -:10F6C0000FBF0F9118952F923F924F925F926F92BA -:10F6D0007F928F929F92AF92BF92CF92DF92EF92E2 -:10F6E000FF920F931F93CF93DF93CDB7DEB7299788 -:10F6F0000FB6F894DEBF0FBECDBF1C017B836A83BB -:10F7000029831F830E83FD82EC8227FD10C0022E09 -:10F71000000C330B39872887398185E03802F001E6 -:10F720001124EE54FC4E84818823E1F008C08091BE -:10F73000B113882399F0E1E0F0E0F987E887F1015F -:10F740001482E885F985EE0FFF1FEE0FFF1FE654C8 -:10F75000FC4E10821182128213822EC021E030E012 -:10F7600039872887FA01C080D180E280F38008853C -:10F770001985000F111F000F111F06541C4EA70101 -:10F780009601F80160817181828193810F94D45434 -:10F79000882391F0F801C082D182E282F38211E0E5 -:10F7A00020E030E0A901C701B6010F942A5E1816C7 -:10F7B0000CF010E0F1011483F10184818230F9F042 -:10F7C000833009F401C1813009F023C1E885F9854E -:10F7D000EE0FFF1FEE0FFF1FE654FC4E208131811C -:10F7E00042815381EA81FB816081718182819381B1 -:10F7F0000F94D45487FD0DC182E0F1018483809180 -:10F800005A02882309F493C0F981F7FD90C08F2F25 -:10F81000FF0F990B8C011816190614F401E010E083 -:10F82000F801EB52F34F2081222371F1EA81FB8131 -:10F83000C080D180E280F380880F991F880F991FC4 -:10F84000FC01E654FC4E80809180A280B3802C8124 -:10F850003D81B90180E090E00F94D9542B013C0127 -:10F8600020E030E040E85EE30F943A559B01AC01A4 -:10F87000C501B4010F94C95B9B01AC01C701B6017E -:10F880000F942A5E87FD05C0F801E85AFD4F80E815 -:10F890001AC023E830EC4AEA5EE3C301B2010F94D8 -:10F8A0003A559B01AC01C501B4010F94C95B9B01A2 -:10F8B000AC01C701B6010F942A5E085A1D4F87FD9F -:10F8C00004C080E6F801808332C020E030E040E0F0 -:10F8D0005FE3C301B2010F943A559B01AC01C5012E -:10F8E000B4010F94C95B9B01AC01C701B6010F9431 -:10F8F0002A5E87FD02C080E4E5CF2DEC3CEC4CE4B1 -:10F900005FE3C301B2010F943A559B01AC01C501FD -:10F91000B4010F94C95B9B01AC01C701B6010F9400 -:10F920002A5E87FD02C080E2CDCFF80110820885F3 -:10F930001985000F111F000F111F980126543C4E0E -:10F9400039872887EC81FD81BF0180E090E00F942A -:10F95000D9549B01AC01E885F98560817181828170 -:10F9600093810F94C95B9B01AC01EA81FB816081AB -:10F970007181828193810F942A5E87FD14C00F9458 -:10F98000783E6B017C012E813F81A8EEB3E00F949D -:10F990007E5BC60ED71EE81EF91EF101C082D18221 -:10F9A000E282F38236C00F94783EF101008111812A -:10F9B00022813381DC01CB01801B910BA20BB30BA5 -:10F9C000B7FD27C083E08483F981FF3F19F04BEB3B -:10F9D00053E502C04EEC53E562EE73E5898129964A -:10F9E0000FB6F894DEBF0FBECDBFDF91CF911F9150 -:10F9F0000F91FF90EF90DF90CF90BF90AF909F90CE -:10FA00008F907F906F905F904F903F902F900C94CD -:10FA10002ACA29960FB6F894DEBF0FBECDBFDF917C -:10FA2000CF911F910F91FF90EF90DF90CF90BF90FB -:10FA3000AF909F908F907F906F905F904F903F908E -:10FA40002F900895CF92DF92EF92FF9260910A0A71 -:10FA500070910B0A61157105C1F0C090060AD09033 -:10FA6000070AE090080AF090090A66507109072E0B -:10FA7000000C880B990B0F94DB549B01AC01C70160 -:10FA8000B6010F94D45487FD09C01092A9131092A7 -:10FA9000AA131092AB131092AC131EC020E030E0FA -:10FAA00040E050E4C701B6010F94CA5B0F943D5D7E -:10FAB0007093A8136093A7130F94783EDC01CB01D9 -:10FAC000805E9044AD4FBF4F8093A9139093AA13CB -:10FAD000A093AB13B093AC13FF90EF90DF90CF9057 -:10FAE0000895CF93DF931092B71380E090E00E94C7 -:10FAF000529CC2E0DAE0198618860E9422FD80E05E -:10FB000090E00E94529C1092F20C2C981986188654 -:10FB10001A8680910201807280930001DF91CF915B -:10FB20000895CF92DF92EF92FF926091F00C709166 -:10FB3000F10C61157105C1F0C090EC0CD090ED0C8A -:10FB4000E090EE0CF090EF0C66507109072E000C5F -:10FB5000880B990B0F94DB549B01AC01C701B601D4 -:10FB60000F94D45487FD09C01092A3131092A413CC -:10FB70001092A5131092A6131EC020E030E040E0C2 -:10FB800050E4C701B6010F94CA5B0F943D5D7093BA -:10FB9000A2136093A1130F94783EDC01CB01805B2C -:10FBA0009C43AF4FBF4F8093A3139093A413A09394 -:10FBB000A513B093A613FF90EF90DF90CF90089518 -:10FBC0008F929F92AF92BF92CF92DF92EF92FF926D -:10FBD0000F931F93CF93DF93F0E2FF2EE12CAE2D16 -:10FBE000B0E0BD016F0D711D75956795611103C082 -:10FBF000EDE3F3E506C06E1511F0F6120BC0E9EB6C -:10FC0000F3E565917491072E000C880B990B0F9406 -:10FC1000DB5462C09B0121503109220F331F220F98 -:10FC2000331FF901E55CFC4A05911491AB01440FC7 -:10FC3000551F440F551FFA01E55CFC4AC591D4914C -:10FC40008017910714F4F62ECCCFC817D90714F4F7 -:10FC5000E62EC5CFF901E35CFC4AE590F490FA0189 -:10FC6000E35CFC4AC590D490BC01601B710B072E6D -:10FC7000000C880B990B0F94DB544B015C01B6010F -:10FC80006E197F09072E000C880B990B0F94DB541B -:10FC90009B01AC01C501B4010F943A554B015C01C5 -:10FCA000C01BD10BBE01DD0F880B990B0F94DB54E9 -:10FCB0009B01AC01C501B4010F94C45C4B015C0114 -:10FCC000B701FF0C880B990B0F94DB549B01AC011F -:10FCD000C501B4010F94CA5BDF91CF911F910F91C1 -:10FCE000FF90EF90DF90CF90BF90AF909F908F905C -:10FCF00008958F929F92AF92BF92CF92DF92EF9230 -:10FD0000FF920F931F93CF93DF93C62F662381F04B -:10FD10000F9456416AE070E08C2F90E00E943A66A2 -:10FD20008DE193E50F94DA4080E090E00F94F83293 -:10FD3000F0E4FF2EE12CAE2DB0E0BD016F0D711D82 -:10FD400075956795611103C0EFE1F2E506C06E1588 -:10FD500011F0F6120BC0EBE1F3E565917491072EFB -:10FD6000000C880B990B0F94DB5462C09B0121504F -:10FD70003109220F331F220F331FF901E35EFD4AC1 -:10FD800005911491AB01440F551F440F551FFA0103 -:10FD9000E35EFD4AC591D4918017910714F4F62EC5 -:10FDA000CCCFC817D90714F4E62EC5CFF901E15E10 -:10FDB000FD4AE590F490FA01E15EFD4AC590D490C9 -:10FDC000BC01601B710B072E000C880B990B0F9464 -:10FDD000DB544B015C01B6016E197F09072E000C44 -:10FDE000880B990B0F94DB549B01AC01C501B40146 -:10FDF0000F943A554B015C01C01BD10BBE01DD0FC6 -:10FE0000880B990B0F94DB549B01AC01C501B40125 -:10FE10000F94C45C4B015C01B701FF0C880B990B7C -:10FE20000F94DB549B01AC01C501B4010F94CA5B74 -:10FE3000DF91CF911F910F91FF90EF90DF90CF90C6 -:10FE4000BF90AF909F908F900895CF93DF93C8EEAF -:10FE5000DCE060E08A819B810E9479FE6C837D8377 -:10FE60008E839F83C2E0DAE08A819B810E94E0FD5D -:10FE70006C837D838E839F83A8951092B813DF9146 -:10FE8000CF910895CF92DF92EF92FF920F931F933D -:10FE9000CF93DF93CDB7DEB7CE5AD1090FB6F89422 -:10FEA000DEBF0FBECDBFCF55DF4F188219821A8239 -:10FEB0001B82C15AD0408091BA079091BB07A09194 -:10FEC000BC07B091BD07CB55DF4F88839983AA83C8 -:10FED000BB83C55AD040C755DF4F19821882C95A13 -:10FEE000D04084E690E0C555DF4F99838883CB5A94 -:10FEF000D040109232149E0127553F4F44E050E00D -:10FF0000BE016B557F4FCE0185559F4F0E94AD635B -:10FF1000C555DF4F88819981CB5AD0400296C5558F -:10FF2000DF4F99838883CB5AD040C755DF4F198262 -:10FF30001882C95AD04081E0C255DF4F8883CE5A1B -:10FF4000D0409E0127553F4F41E050E0BE01625531 -:10FF50007F4FCE0185559F4F0E94AD639E0127556F -:10FF60003F4F48E450E060E871E1CE0185559F4F76 -:10FF70000E94AD638E010F5F1F4F80E1F801119267 -:10FF80008A95E9F780E090E0A0EAB0E489839A835B -:10FF9000AB83BC839E0127553F4F40E150E0B80141 -:10FFA000CE0185559F4F0E94AD639E0127553F4F5F -:10FFB00044E050E06DEB7CE0CE0185559F4F0E9400 -:10FFC000AD639E0127553F4F4CE050E061E37AE07E -:10FFD000CE0185559F4F0E94AD639E0127553F4F2F -:10FFE00041E050E06DE472E0CE0185559F4F0E94E4 -:10FFF000AD639E0127553F4F44E050E065E172E05C -:020000022000DC -:10000000CE0185559F4F0E94AD6380916C129091F7 -:100010006D12A0916E12B0916F1289839A83AB8397 -:10002000BC839E0127553F4F44E050E0B801CE010C -:1000300085559F4F0E94AD63CF55DF4F18821982BF -:100040001A821B82C15AD0407E01FDE6EF0EF11CE0 -:1000500083E0F701808389839E0127553F4F44E069 -:1000600050E0BE016F557F4FCE0185559F4F0E94D6 -:10007000AD639E0127553F4F41E050E0B701CE01EF -:1000800085559F4F0E94AD639E0127553F4F41E02C -:1000900050E0B801CE0185559F4F0E94AD633AE014 -:1000A000D32EDA949E0127553F4F44E050E0DD20E7 -:1000B00049F0BE016F557F4FCE0185559F4F0E947D -:1000C000AD63EFCF63E87CE0CE0185559F4F0E9482 -:1000D000AD639E0127553F4F44E050E067E87CE068 -:1000E000CE0185559F4F0E94AD639E0127553F4F1E -:1000F00044E050E06BE87CE0CE0185559F4F0E94C4 -:10010000AD63CF55DF4F188219821A821B82C15A04 -:10011000D0402AE0D22EDA94DD2071F09E012755DE -:100120003F4F44E050E0BE016F557F4FCE018555F3 -:100130009F4F0E94AD63EFCF83E0C355DF4F8883AD -:10014000CD5AD040C356DF4F8883CD59D040F701F8 -:10015000108211821282138219821A821B821C82DF -:10016000CF55DF4F188219821A821B82C15AD040A4 -:100170009E0127553F4F41E050E0BE0163557F4F40 -:10018000CE0185559F4F0E94AD639E0127553F4F7D -:1001900041E050E0BE0163567F4FCE0185559F4F31 -:1001A0000E94AD639E0127553F4F44E050E0B801E7 -:1001B000CE0185559F4F0E94AD639E0127553F4F4D -:1001C00044E050E0B701CE0185559F4F0E94AD63DA -:1001D0009AE0C92ED12CF1E0CF1AD1089E01275503 -:1001E0003F4FC114D10459F044E050E0BE016F55B7 -:1001F0007F4FCE0185559F4F0E94AD63ECCF41E00C -:1002000050E06FE57CE0CE0185559F4F0E94AD63C5 -:100210009E0127553F4F41E050E063E47CE0CE0172 -:1002200085559F4F0E94AD639E0127553F4F44E087 -:1002300050E063E473E0CE0185559F4F0E94AD63AB -:100240009E0127553F4F41E050E061E374E1CE014C -:1002500085559F4F0E94AD638091E7029091E8021F -:10026000A091E902B091EA02F70180839183A28311 -:10027000B3838091EB029091EC02A091ED02B091DA -:10028000EE0289839A83AB83BC83C356DF4F188207 -:10029000CD59D040C256DF4F1882CE59D0409E0172 -:1002A00027553F4F44E050E0B701CE0185559F4FA1 -:1002B0000E94AD639E0127553F4F44E050E0B801D6 -:1002C000CE0185559F4F0E94AD639E0127553F4F3C -:1002D00042E050E0BE0163567F4FCE0185559F4FEF -:1002E0000E94AD6380E1F80111928A95E9F780E000 -:1002F00090E0A0E8BFE38D879E87AF87B88B8091A1 -:10030000F30C9091F40CA091F50CB091F60C89834C -:100310009A83AB83BC838091F70C9091F80CA091E9 -:10032000F90CB091FA0C8D839E83AF83B8878091CE -:10033000FB0C9091FC0CA091FD0CB091FE0C8987F8 -:100340009A87AB87BC879E0127553F4F40E150E01D -:10035000B801CE0185559F4F0E94AD6384E190E0C6 -:100360009A8389839E0127553F4F42E050E0B801B0 -:10037000CE0185559F4F0E94AD639E0127553F4F8B -:100380004CE050E06DE07AE0CE0185559F4F0E9431 -:10039000AD638FE790E09A8389839E0127553F4F95 -:1003A00042E050E0B801CE0185559F4F0E94AD63F9 -:1003B00081E089839E0127553F4F41E050E0B8011D -:1003C000CE0185559F4F0E94AD6380E2EFEEF2E0D3 -:1003D000D80101900D928A95E1F79E0127553F4F74 -:1003E00040E250E0B801CE0185559F4F0E94AD63B9 -:1003F000F70110829E0127553F4F41E050E0B701C1 -:10040000CE0185559F4F0E94AD639E0127553F4FFA -:1004100041E050E06DE772E1CE0185559F4F0E94AB -:10042000AD639E0127553F4F44E050E062E872E122 -:10043000CE0185559F4F0E94AD638AE1F80111926C -:100440008A95E9F79E0127553F4F4AE150E0B801F0 -:10045000CE0185559F4F0E94AD6384E3EFE0F3E04A -:10046000D80101900D928A95E1F79E0127553F4FE3 -:1004700044E350E0B801CE0185559F4F0E94AD6323 -:1004800088E0F80111928A95E9F79E0127553F4FC0 -:1004900048E050E0B801CE0185559F4F0E94AD6302 -:1004A0008DE0F80111928A95E9F79E0127553F4F9B -:1004B0004DE050E0B801CE0185559F4F0E94AD63DD -:1004C000CF55DF4F188219821A821B82C15AD04041 -:1004D0009E0127553F4F44E050E0BE016F557F4FCE -:1004E000CE0185559F4F0E94AD638CE0D82EF80158 -:1004F0008D2D11928A95E9F79E0127553F4F4CE0CB -:1005000050E0B801CE0185559F4F0E94AD638CE647 -:10051000F80111928A95E9F79E0127553F4F4CE665 -:1005200050E0B801CE0185559F4F0E94AD639E01FA -:1005300027553F4F4CE050E06CE074E1CE0185550B -:100540009F4F0E94AD639E0127553F4F48E050E00A -:100550006BE37CE0CE0185559F4F0E94AD63F701B0 -:100560001192DA94E9F7C355DF4F1882CD5AD04083 -:1005700080E090E0A0E4B0E4C356DF4F8883998325 -:10058000AA83BB83CD59D0409E0127553F4F44E0FD -:1005900050E0B701CE0185559F4F0E94AD639E018B -:1005A00027553F4F44E050E0B7016C5F7F4FCE01CD -:1005B00085559F4F0E94AD639E0127553F4F44E0F4 -:1005C00050E0B701685F7F4FCE0185559F4F0E9475 -:1005D000AD639E0127553F4F41E050E0BE0163559A -:1005E0007F4FCE0185559F4F0E94AD639E012755D9 -:1005F0003F4F44E050E0BE0163567F4FCE0185552A -:100600009F4F0E94AD6380E3F70111928A95E9F74D -:1006100086EA97E00E94C8669E0127553F4F40E357 -:1006200050E0B701CE0185559F4F0E94AD63809188 -:100630003214811138C0C555DF4F08811981CB5A5A -:10064000D040C755DF4F88819981C95AD040F70102 -:100650009183808384E690E0C555DF4F998388833A -:10066000CB5AD0409E0127553F4F44E050E067E70A -:1006700073E0CE0185559F4F0E94AD639E012755C3 -:100680003F4F42E050E0B701CE0185559F4F0E9499 -:10069000AD6381E0003F124009F480E09091321494 -:1006A000892B809332148091430C87FF0E945D7CDC -:1006B0008EEC96E00E94C8669091321481E0892702 -:1006C000C255DF4F0FB6F894DEBF0FBECDBFDF912E -:1006D000CF911F910F91FF90EF90DF90CF900895F1 -:1006E000AF92BF92CF92DF92EF92FF921F93CF9380 -:1006F000DF93CDB7DEB760970FB6F894DEBF0FBEBD -:10070000CDBF8091AD0C9091AE0CA091AF0CB0918B -:10071000B00C89839A83AB83BC838091B10C909198 -:10072000B20CA091B30CB091B40C8D839E83AF83B7 -:10073000B8878091B50C9091B60CA091B70CB09190 -:10074000B80C89879A87AB87BC878091B90C909148 -:10075000BA0CA091BB0CB091BC0C8D879E87AF8763 -:10076000B88B0E944F910E94CCBC88EFA82E84E5E4 -:10077000B82E99E1E92E92E0F92E2CEEC22E24E556 -:10078000D22E10E0812F0E9439C0F50185919591FC -:10079000A591B491F70180839183A283B383F6017D -:1007A00085919591A591B491F70184839583A68352 -:1007B000B7831F5FF4E0AF0EB11C88E0E80EF11CB8 -:1007C000E4E0CE0ED11C1330E9F66091370C709145 -:1007D000380C8091390C90913A0C40E00F947B3F9B -:1007E0000E94969140E150E06DEA7CE0CE010196D6 -:1007F0000F943C60892B89F060960FB6F894DEBFA9 -:100800000FBECDBFDF91CF911F91FF90EF90DF9092 -:10081000CF90BF90AF900C949A7C60960FB6F894EE -:10082000DEBF0FBECDBFDF91CF911F91FF90EF9044 -:10083000DF90CF90BF90AF9008954F925F926F92EC -:100840007F928F929F92AF92BF92CF92DF92EF9260 -:10085000FF92CF93DF9300D000D0CDB7DEB79E8359 -:100860008D83DC014D905D906D907C901397149674 -:100870008D909D90AD90BC90179718968D919D91FD -:100880000D90BC91A02D89839A83AB83BC83A30177 -:100890009201C301B2010F943A556B017C01A5018D -:1008A0009401C501B4010F943A559B01AC01C701F5 -:1008B000B6010F94CA5B6B017C0129813A814B819F -:1008C0005C81CA01B9010F943A559B01AC01C70183 -:1008D000B6010F94CA5B0F94C85E9B01AC0160E047 -:1008E00070E080E89FE30F94C45C6B017C019B0186 -:1008F000AC01C301B2010F943A55ED81FE816083D2 -:10090000718382839383A7019601C501B4010F947B -:100910003A55AD81BE8114966D937D938D939C93D2 -:100920001797A701960169817A818B819C810F9429 -:100930003A55ED81FE81608771878287938726967D -:100940000FB6F894DEBF0FBECDBFDF91CF91FF9001 -:10095000EF90DF90CF90BF90AF909F908F907F905F -:100960006F905F904F9008950F931F938091720C3A -:10097000813019F40F94783E08C060916E0C70912C -:100980006F0C8091700C9091710C0091600C109123 -:10099000610C2091620C3091630C601B710B820B17 -:1009A000930B28EE33E040E050E00F942A5B8091F7 -:1009B000640C9091650CA091660CB091670CBC0121 -:1009C000CD01620F731F841F951F1F910F91089512 -:1009D0001092720C1092600C1092610C1092620CCA -:1009E0001092630C10926E0C10926F0C1092700C9F -:1009F0001092710C1092640C1092650C1092660C9F -:100A00001092670C08958091720C813099F58EEBED -:100A100097E00E94C86681E09AE590937E168093E5 -:100A20007D1687E590E09093801680937F1687E08F -:100A30008093711682E88093741684E890E0A0E0B9 -:100A4000B0E08093751690937616A0937716B093C6 -:100A500078160F94523282E08093720C0F94783E95 -:100A600060936E0C70936F0C8093700C9093710C6C -:100A700081E0089580E008958F929F92AF92BF9297 -:100A8000CF92DF92EF92FF920F931F93CF93DF935A -:100A9000CDB7DEB72C970FB6F894DEBF0FBECDBF33 -:100AA0008B0140E050E068E472E44D835E836F8325 -:100AB000788740E050E060EA70E449875A876B87A6 -:100AC0007C87813019F0823039F02AC0BE01675F1F -:100AD0007F4FC801089646C0F801208531854285C0 -:100AE00053856091B50C7091B60C8091B70C9091C4 -:100AF000B80C0F94CA5B6B017C0120E030E048EC3D -:100B000053E40F94D45487FD06C0C12CD12C88EC3B -:100B1000E82E83E4F82EC982DA82EB82FC821DC0C3 -:100B20008090B50C9090B60CA090B70CB090B80C1B -:100B3000F801C084D184E284F3849601A701B40152 -:100B4000C5010F94D45487FD02C064017501C6012C -:100B5000D70189839A83AB83BC83BE01675F7F4FD4 -:100B6000CE0101960E944079B8016C5F7F4FAE01C3 -:100B70004B5F5F4FC8010E941E790E949A7C2C96A1 -:100B80000FB6F894DEBF0FBECDBFDF91CF911F919E -:100B90000F91FF90EF90DF90CF90BF90AF909F901C -:100BA0008F9008954F925F926F927F928F929F9253 -:100BB000AF92BF92CF92DF92EF92FF92CF93DF93EB -:100BC000CDB7DEB76E970FB6F894DEBF0FBECDBFC0 -:100BD0009E8F8D8FDC01D896CD90DD90ED90FC90AE -:100BE000DB9720E030E0A901C701B6010F94D4548F -:100BF000811103C081E090E0CBC1A7019601ED8D8A -:100C0000FE8D60817181828193810F94C45C6983C0 -:100C10007A838B839C83AD8DBE8D6D937D938D93F5 -:100C20009C931397A701960114966D917D918D91D8 -:100C30009C9117970F94C45C6D837E838F839887F4 -:100C4000ED8DFE8D6483758386839783A70196015E -:100C500060857185828593850F94C45C69877A87E6 -:100C60008B879C87AD8DBE8D18966D937D938D93EC -:100C70009C931B97A70196011C966D917D918D9178 -:100C80009C911F970F94C45C4B015C0129813A81B0 -:100C90004B815C81CA01B9010F943A559B01AC01AB -:100CA000C501B4010F94C95B6D877E878F87988BD0 -:100CB000ED8DFE8D6487758786879787A7019601DE -:100CC00060897189828993890F94C45C4B015C01AE -:100CD0002D813E814F815885CA01B9010F943A5543 -:100CE0009B01AC01C501B4010F94C95B698B7A8B80 -:100CF0008B8B9C8BAD8DBE8D50966D937D938D931C -:100D00009C935397A701960154966D917D918D9177 -:100D10009C9157970F94C45C4B015C0129853A85DF -:100D20004B855C85CA01B9010F943A559B01AC0112 -:100D3000C501B4010F94C95BED8DFE8D648B758B7D -:100D4000868B978BA7019601608D718D828D938D17 -:100D50000F94C45C4B015C012D813E814F8158850D -:100D600069817A818B819C810F943A559B01AC01FA -:100D7000C501B4010F94C95B4B015C01AD8DBE8D03 -:100D800058966D937D938D939C935B97A7019601E5 -:100D900090966D917D918D919C9193970F94C45CE9 -:100DA0002B013C0129853A854B855C856D817E81CF -:100DB0008F8198850F943A559B01AC01C301B20114 -:100DC0000F94C95B6D8B7E8B8F8B988FED8DFE8D15 -:100DD00060A371A382A393A3A7019601648D758D6F -:100DE000868D978D0F94C45C6B017C0129853A85B3 -:100DF0004B855C8569817A818B819C810F943A5502 -:100E00009B01AC01C701B6010F94C95B698F7A8F52 -:100E10008B8F9C8FAD8DBE8D5C966D937D938D93E6 -:100E20009C935F9729893A894B895C896D857E857A -:100E30008F8598890F943A556B017C01A501940127 -:100E4000C501B4010F943A559B01AC01C701B6012D -:100E50000F94C95B6B017C0120E030E0A9010F9485 -:100E60002A5E2601370187FF04C077FA709477F86D -:100E70007094ED8DFE8D20A531A542A553A564A1EA -:100E800075A186A197A10F94CA5B2FEF36EE4BEDAB -:100E90005EE20F943A55A30192010F942A5E87FFF8 -:100EA000A9CE2D893E894F89588DC501B4010F9473 -:100EB0003A552B013C01298D3A8D4B8D5C8D69890A -:100EC0007A898B899C890F943A559B01AC01C301A7 -:100ED000B2010F94C95BA70196010F94C45C2B016A -:100EE0003C01AD8DBE8D9C966D937D938D939C93AF -:100EF0009F97298D3A8D4B8D5C8DC501B4010F9460 -:100F00003A554B015C012D893E894F89588D6D857D -:100F10007E858F8598890F943A559B01AC01C50158 -:100F2000B4010F94C95BA70196010F94C45C6B01D7 -:100F30007C01ED8DFE8D60AB71AB82AB93ABA301F9 -:100F4000920169817A818B819C810F943A55298520 -:100F50003A854B855C850F94CA5B4B015C01A70108 -:100F600096016D817E818F8198850F943A559B0102 -:100F7000AC01C501B4010F94CA5BDC01CB01B058D0 -:100F8000ED8DFE8D84AB95ABA6ABB7AB80E090E06A -:100F90006E960FB6F894DEBF0FBECDBFDF91CF9136 -:100FA000FF90EF90DF90CF90BF90AF909F908F9089 -:100FB0007F906F905F904F9008958091F91782FF16 -:100FC0002AC00E94388A882319F18091F1179091E4 -:100FD000F217A091F317B091F4170097A105B1058E -:100FE000B9F0BC01CD016D597F4F8F4F9F4F24E663 -:100FF00030E040E050E00F942A5B6091F51770916B -:10100000F6178091F7179091F8170F942A5B01C09B -:1010100020E020930B1480910B148F7708950F9389 -:101020001F93CF93DF938C0167FF03C010920914C5 -:1010300060E08091091490E0262F062E000C330BFF -:101040002817390734F160930914C8010F9422540A -:10105000800F911FEC01C01BD10BC034D1053CF0B7 -:101060000197FC012491207C2038D1F3F3CFDD27B8 -:10107000AE01B80189EC93E10F944354C753DC4EA1 -:10108000188289EC93E1DF91CF911F910F910C941D -:101090007D82DF91CF911F910F91089510920A14D4 -:1010A000109214028091F91780628093F91761E021 -:1010B00083EC94E50F94830940E050E068ED74E51B -:1010C00085E00F94F60A0E94659060E08AEC94E552 -:1010D0000D940F08CF93DF93CDB7DEB78E8190913B -:1010E0000914891788F0809309149E01275F3F4FE8 -:1010F0004F8158856FE370E089EC93E10F949B5426 -:1011000089EC93E10E947D82DF91CF910895CF9386 -:10111000DF9320910914211120C0FC0101900020CF -:10112000E9F73197EF01C81BD90BC034D1052CF07A -:101130002291207C2038E1F3F5CFBC01DD27AE0100 -:1011400089EC93E10F949060C753DC4E188289ECD0 -:1011500093E1DF91CF910C947D82DF91CF9108953F -:101160008091F91782FD05C08091720C823069F47C -:1011700011C08091611A882319F081E69AE102C0BA -:1011800083EA9AE161E00D948708813031F48AEABC -:1011900094E505C086EB94E502C086E994E56FEF1F -:1011A0000D940F08FF920F931F93CF93DF938B0142 -:1011B000D82FC92FF42E20E030E048EC52E40F94F1 -:1011C000D45487FF0FC020E030E0A901B8018D2F73 -:1011D0009C2F0F942A5E18164CF000E010E0D0E02F -:1011E000C0E004C000E010E0D8ECC2E481E08F155C -:1011F000E0F0B8018D2F9C2F0F94365D9B01AC0160 -:10120000AFEFB0E00F946B5B24E630E040E050E0DD -:101210000F944C5BEF2DF0E0EB52F34F2F3F310575 -:1012200019F010F02FEF30E02083DF91CF911F9164 -:101230000F91FF900895E2EBF3E110821182128288 -:101240001382148280E00C9491FD80917F1183FDC4 -:101250000FC08091E70C81110BC02091F00C3091F0 -:10126000F10C80914702909148022817390724F029 -:1012700061E080E00C94CCF70F945A4185E497E547 -:101280000F94DA4080E00895CF92DF92EF92FF92C0 -:101290000F931F93CF93DF937C018B011092000A71 -:1012A0000E944063CDEADCE0209143023091440289 -:1012B0004091450250914602F7016081718182811F -:1012C00093810F94C45C2C853D854E855F850F947A -:1012D000CA5B6C877D878E879F87C12CD12C760156 -:1012E00029EB3CE045EB5CE061EB7CE0CE010E9449 -:1012F00064BADF91CF911F910F91FF90EF90DF9033 -:10130000CF900C94BA910F931F93CF938C01C62F5B -:1013100084E895E50F94DA40C8010F94DA40CC23B5 -:1013200031F08AE0CF911F910F910C94AA65CF9173 -:101330001F910F91089560E089E995E50F94830965 -:1013400081EA95E50F94DA408AE00C94AA6560E0A2 -:1013500089E995E50F94830985E995E50F94DA40CD -:101360008AE00C94AA65EF92FF920F931F93CF939C -:101370007C018B01C42F60E089E995E50F94830916 -:10138000C7010F94DA4080E20E94AA65C8010F9459 -:10139000DA40CC2341F08AE0CF911F910F91FF906A -:1013A000EF900C94AA65CF911F910F91FF90EF9051 -:1013B000089541E0BC018EE895E50D94B309CF9303 -:1013C000DF93C091201410922014C230B9F118F4A8 -:1013D000C13041F041C0C430B1F1C530E9F5CCECC9 -:1013E000D5E53FC081111DC00F94A70941E067E317 -:1013F00076E58EE597E50F94B3098CE296E50F94B8 -:10140000D9098091000A882319F08EE196E504C07D -:10141000C093201485E196E50F94D9090F949B0998 -:101420001EC08130E1F48091000A8823C1F010923F -:101430004D021092000A0E94406311C010920A14DB -:10144000C8EED5E50EC081E196E590933F0A809302 -:101450003E0AC7EDD5E505C0CEEBD5E502C0C1E03B -:10146000D6E586EA95E50F94DA40CE010F94DA408E -:101470008AE0DF91CF910C94AA650F931F93CF93CD -:10148000DF938B01EA01809320140F94A70941E0B8 -:10149000B8018EE597E50F94B309209719F0CE01B6 -:1014A0000F94D909DF91CF911F910F910D949B0952 -:1014B0000F931F93CF93DF93C82F0F945A41C111FD -:1014C00003C08CE596E502C08EE796E50F94DA40FE -:1014D0000F94783EDC01CB0188539045AF4FBF4F4E -:1014E0008093B2139093B313A093B413B093B51336 -:1014F0001092B6131091E40883E08093E40881E031 -:1015000080930A144EE257E567E377E582E00F9493 -:101510003D0A80E297E50E94C282CC2319F0CEE713 -:10152000D6E502C0CCE5D6E501E080910A14882317 -:1015300009F455C08091B613882309F44CC00F9468 -:101540005A4189EF96E50F94DA4044EE56E56BEE8A -:1015500076E582E00F943D0A86ED96E50E94C28210 -:1015600080910A14882321F081E00E94EE66F8CF72 -:1015700040E050E06CEC76E582E00F943D0A8FEBA2 -:1015800096E50E947D820F941B090F9425090F9404 -:101590005A41CE010F94DA400F94783EDC01CB0122 -:1015A00088539045AF4FBF4F8093B2139093B313BE -:1015B000A093B413B093B5131092B6134AEA56E54C -:1015C00063EB76E582E00F943D0A85ED97E00E949B -:1015D000C28200930A1481E00E94EE66A6CF1093A7 -:1015E000E408DF91CF911F910F91089590912014FD -:1015F000911102C00D943D0A08958F929F92AF926F -:10160000BF92CF92DF92EF92FF920F931F93CF93EF -:10161000DF9300D01F92CDB7DEB76C017B018A014A -:10162000B090B6130F941B09B11016C08091E70C4F -:10163000811112C06091EC0C7091ED0C8091EE0C58 -:101640009091EF0C0F94365D209147023091480243 -:10165000621773070CF4C2C00F942509882309F49C -:10166000BDC0BB20A1F10F945A4183EB97E50F94C5 -:10167000DA40B090E40883E08093E40881E080934E -:101680000A1482E0809320140F94A70940E063EAD3 -:1016900077E58EE597E50F94B30980E30E94AA658C -:1016A0008AE00E94AA658AE997E50F94D9090F9408 -:1016B0009B098CE897E50E94C28280910A148823D6 -:1016C00021F081E00E94EE66F8CFB092E40820E0BD -:1016D00030E0A901F60160817181828193810F94CC -:1016E000D454882371F080E090E0A0ECB0E48983CA -:1016F0009A83AB83BC83BE016F5F7F4FC6010F949B -:10170000440920E030E0A901F70160817181828104 -:1017100093810F94D454882351F18090B811909004 -:10172000B911A090BA11B090BB1180E090E0A8EC84 -:10173000B1E48093B8119093B911A093BA11B0930A -:10174000BB1180E090E0A0EFB1E489839A83AB8382 -:10175000BC83BE016F5F7F4FC7010F944409809225 -:10176000B8119092B911A092BA11B092BB1120E0B9 -:1017700030E0A901F80160817181828193810F9429 -:101780002A5E181674F480E090E0A0E4B0E4898347 -:101790009A83AB83BC83BE016F5F7F4FC8010F94F8 -:1017A000440981E0809320140F94A70941E065E883 -:1017B00077E58EE597E50F94B3098BE797E50F94EE -:1017C000D9098091000A882319F08DE697E502C0B7 -:1017D00084E697E50F94D9090F949B0920E030E047 -:1017E000A90160912D1470912E1480912F14909165 -:1017F00030140F94D45487FF0FC080E090E0A0E72E -:10180000B2E489839A83AB83BC83BE016F5F7F4F51 -:101810008DE294E10F94440980E090E0A8E4B2E402 -:1018200089839A83AB83BC83AE014F5F5F4F65E2D0 -:1018300074E181E294E10E941E7980E090E0A0EAE8 -:10184000B0E489839A83AB83BC83BE016F5F7F4F13 -:1018500089E294E10E94407980912D1490912E1498 -:10186000A0912F14B09130148093B90C9093BA0CBE -:10187000A093BB0CB093BC0C8093A20C9093A30CD0 -:10188000A093A40CB093A50C82EA9CE00E94CB919B -:1018900061E086E597E50F9483098091C40B815040 -:1018A0008093C40B40E050E06FED77E585E00F9446 -:1018B000F60A8091C40B882339F00E940971809147 -:1018C000C40B81508093C40B80E00E9406BB8091C2 -:1018D000720C823011F40E94B58F0F94B0080F90F3 -:1018E0000F900F900F90DF91CF911F910F91FF906C -:1018F000EF90DF90CF90BF90AF909F908F90089522 -:101900008F929F92AF92BF92CF92DF92EF92FF920F -:101910001F93CF93DF93CDB7DEB728970FB6F89418 -:10192000DEBF0FBECDBF2091C40B211116C17A01BD -:101930005B016C0161E08EE396E50F94830940E062 -:1019400050E066E576E585E00F94F60A80917F1118 -:1019500083FD22C020E030E0A901F70160817181A0 -:10196000828193810F94D4548823B1F01091E70CB5 -:10197000111112C020914702309148028091F00C61 -:101980009091F10C821793073CF40F945A4185E42F -:1019900096E50F94DA40E2C08091C40B91E0980F75 -:1019A0009093C40B9091F91792FF06C09B7F909380 -:1019B000F9178E5F8093C40B0F94030580E1EDEA65 -:1019C000FCE0A1E2B4E101900D928A95E1F70E945A -:1019D000BA9181E00E9406BB20E030E0A901F60147 -:1019E00060817181828193810F94D454882319F18D -:1019F0008091E70C811111C06091EC0C7091ED0C9D -:101A00008091EE0C9091EF0C0F94365D209147027F -:101A1000309148026217730774F080E090E0A0E70D -:101A2000B2E489839A83AB83BC83BE016F5F7F4F2F -:101A3000C6010F94440941E061E081E00E9459C071 -:101A4000811104C0B50182E00F943C0520E030E034 -:101A5000A901F70160817181828193810F94D4542F -:101A6000811102C011E07AC00F942509182F882334 -:101A7000C9F380E090E0A0E7B2E48D839E83AF835A -:101A8000B88780E090E0A0E8B0EC89839A83AB83CC -:101A9000BC83BE016B5F7F4FCE0101960F9444095A -:101AA00068E873E180E090E00F946E408091B0119F -:101AB0009091B111A091B211B091B3118D839E8319 -:101AC000AF83B88780E090E0A0E8B0E489839A8390 -:101AD000AB83BC83BE016B5F7F4FCE0101960F9439 -:101AE00044098090B8119090B911A090BA11B090AB -:101AF000BB1180E090E0A8ECB1E48093B811909322 -:101B0000B911A093BA11B093BB1180E090E0A4E2A8 -:101B1000B2E48D839E83AF83B887F7018081918182 -:101B2000A281B38189839A83AB83BC83BE016B5F3F -:101B30007F4FCE0101960F9444098092B811909284 -:101B4000B911A092BA11B092BB11129A64E670E07A -:101B500080E090E00F946E4001C010E0812F289645 -:101B60000FB6F894DEBF0FBECDBFDF91CF911F91AE -:101B7000FF90EF90DF90CF90BF90AF909F908F90AD -:101B80000895CF93DF93EB01682F70E083EF95E129 -:101B90000E943264688179818A819B81643F21E05F -:101BA00072078105910520F464EF71E080E090E018 -:101BB0000F946E4089B183FB882780F9DF91CF9124 -:101BC0000895CF92DF92EF92FF921F93CF93DF930E -:101BD00000D01F92CDB7DEB78EEEC82E82E0D82E91 -:101BE000E12CF12CC982DA82EB82FC82BE016F5FAC -:101BF0007F4F8AE50F94C10D811102C010E023C010 -:101C000084EF91E0A0E0B0E089839A83AB83BC834A -:101C1000BE016F5F7F4F80EA0F94C10DC982DA82E7 -:101C2000EB82FC82BE016F5F7F4F8AE50F94C10D8E -:101C3000182F882319F30F9456418AE495E50F94E1 -:101C4000DA400F94CB41812F0F900F900F900F909F -:101C5000DF91CF911F91FF90EF90DF90CF9008958B -:101C6000CF92DF92EF92FF92CF93DF9300D01F923B -:101C7000CDB7DEB78EEEC82E82E0D82EE12CF12C47 -:101C8000C982DA82EB82FC82BE016F5F7F4F8AE0FD -:101C90000F94C10D811102C0F12C41C084EF91E07D -:101CA000A0E0B0E089839A83AB83BC83BE016F5F01 -:101CB0007F4F80EA0F94C10DC982DA82EB82FC82E9 -:101CC000BE016F5F7F4F8AE50F94C10DC982DA8232 -:101CD000EB82FC82BE016F5F7F4F8AE00F94C10DE3 -:101CE000C982DA82EB82FC82BE016F5F7F4F8AE598 -:101CF0000F94C10DC982DA82EB82FC82BE016F5F54 -:101D00007F4F8AE00F94C10DF82E882329F20F949B -:101D1000564180E195E50F94DA400F94CB418F2D29 -:101D20000F900F900F900F90DF91CF91FF90EF9059 -:101D3000DF90CF9008958F929F92AF92BF92CF92F3 -:101D4000DF92EF92FF92CF93DF9300D01F92CDB737 -:101D5000DEB7B82E84EF91E0A0E0B0E089839A83EB -:101D6000AB83BC83BE016F5F7F4F80EA0F94C10DD0 -:101D70009EEEC92E92E0D92EE12CF12CC982DA8296 -:101D8000EB82FC82BE016F5F7F4F8AE50F94C10D2D -:101D90008091311481113CC0BB20D1F1C982DA821B -:101DA000EB82FC82BE016F5F7F4F8AE00F94C10D12 -:101DB00086E9882E912CA12CB12C89829A82AB8243 -:101DC000BC82BE016F5F7F4F8CE80F94C10D89828A -:101DD0009A82AB82BC82BE016F5F7F4F82E80F9414 -:101DE000C10D89829A82AB82BC82BE016F5F7F4F38 -:101DF0008CE80F94C10DC982DA82EB82FC82BE01AD -:101E00006F5F7F4F8AE50F94C10D81E0809331149D -:101E10000F900F900F900F90DF91CF91FF90EF9068 -:101E2000DF90CF90BF90AF909F908F9008958F924A -:101E30009F92AF92BF92CF92DF92EF92FF920F9359 -:101E40001F93CF93DF938B01EA01FC01C080D18007 -:101E5000E280F380842F0E94939E9B01AC01C70116 -:101E6000B6010F94C95B22EA3CEB46E85CE30F94B1 -:101E70003A554B015C0186E0809FF001819FF00D97 -:101E80001124EC0FFD1FEE0FFF1FEE0FFF1FE4529A -:101E9000FE4EC080D180E280F380C430D10514F0C2 -:101EA000C4E0D0E026E0209FC001219F900D1124C6 -:101EB0002196C80FD91FCC0FDD1FCC0FDD1FC452D8 -:101EC000DE4EA7019601688179818A819B810F94FA -:101ED000C95BA50194010F943A55A70196010F948F -:101EE000CA5BDF91CF911F910F91FF90EF90DF9030 -:101EF000CF90BF90AF909F908F9008958F929F92B8 -:101F0000AF92BF92CF92DF92EF92FF920F931F9307 -:101F1000CF93DF93EB018A01FC01C080D180E28086 -:101F2000F380862F0E94C19E9B01AC01C701B601C0 -:101F30000F94C95B2DEA3CEF44E85CE30F943A55FB -:101F40004B015C0186E08C9FF0018D9FF00D112408 -:101F5000E00FF11FEE0FFF1FEE0FFF1FE452FE4ECA -:101F6000C080D180E280F380C430D10514F0C4E099 -:101F7000D0E0219686E08C9FF0018D9FF00D11241A -:101F8000E00FF11FEE0FFF1FEE0FFF1FE452FE4E9A -:101F9000A701960160817181828193810F94C95B51 -:101FA000A50194010F943A55A70196010F94CA5BBD -:101FB000DF91CF911F910F91FF90EF90DF90CF9025 -:101FC000BF90AF909F908F9008958F929F92AF9205 -:101FD000BF92CF92DF92EF92FF92CF93DF93EC010B -:101FE00080906C1290906D12A0906E12B0906F1253 -:101FF00020E030E0A901C501B4010F94D454882336 -:1020000009F44AC0C880D980EA80FB80A701960104 -:10201000C501B4010F94D45418160CF042C020919D -:102020001C1430911D1440911E1450911F14C701AF -:10203000B6010F94D454882331F1C0921C14D0926D -:102040001D14E0921E14F0921F1420911814309168 -:10205000191440911A1450911B14688179818A8156 -:102060009B810F943A559B01AC0160E070E080E8E1 -:102070009FE30F94C95B60935F027093600280934B -:1020800061029093620260915F02709160028091A0 -:1020900061029091620208C060E070E080E89FE316 -:1020A00003C060E070E0CB01DF91CF91FF90EF9033 -:1020B000DF90CF90BF90AF909F908F90089580E178 -:1020C000E6E9FCE0ADEABCE001900D928A95E1F70B -:1020D0000895CF93C62F0E94779E882319F0CF9141 -:1020E0000C9427ED8C2FCF9108952F923F924F9211 -:1020F0005F926F927F928F929F92AF92BF92CF9298 -:10210000DF92EF92FF920F931F93CF93DF93CDB7A0 -:10211000DEB7EF970FB6F894DEBF0FBECDBF2DB779 -:102120003EB73DA72CA741E061E081E00E9459C085 -:10213000811135C461E086E50F9469108D8B85307F -:1021400018F082EC99E579C03D89332321F082EAC9 -:1021500099E50F94DA406AE080E50F946910182F32 -:102160008CEF810F8F3218F08EE799E566C060E042 -:1021700085E40E944BED811103C082E08FA302C071 -:1021800091E09FA36091AD0C7091AE0C8091AF0C6B -:102190009091B00C6D837E838F839887C090B10C33 -:1021A000D090B20CE090B30CF090B40CC986DA86F3 -:1021B000EB86FC862091830C3091840C4091850C39 -:1021C0005091860C0F94CA5BAB01BC0188E50E945C -:1021D000EC826D877E878F87988B29853A854B8522 -:1021E0005C856091870C7091880C8091890C90912E -:1021F0008A0C0F94CA5BAB01BC0189E50E94EC829A -:10220000698B7A8B8B8B9C8BBE016F5E7F4FCE016F -:102210000D960E94B5A0811103C086E699E50DC018 -:102220008CE40E942E9E082F882381F00E9427EDC7 -:102230008A8F803128F083E399E50F94DA40AFC3A9 -:10224000AA8DA13021F4B2E0BA8F01C01A8E60E0ED -:1022500083E50E944BED8AAB882321F0011102C077 -:10226000E7E0EA8FFD89F33020F089E199E50F94EA -:10227000DA4020915F0C29AF80E00F94033F0E9469 -:102280004278812F90E09CAB8BABADB7BEB7E4E05A -:102290001E9FA019B10911240FB6F894BEBF0FBE3E -:1022A000ADBF2DB73EB72F5F3F4F3BA72AA701E039 -:1022B0002D894FA1BE016F5E7F4FCE010D960E940A -:1022C000BD8D9B01AC010F94175F8111D0C20F949B -:1022D000783E611571058105910511F00F946550E7 -:1022E00033EF3B8F8FE48C8F93EC9D8F27EC222E66 -:1022F000A3EFAE8FBFE4BF8FE3ECE8A3F7E4F9A34D -:102300001EA221E02E8B412C512C32014AA25BA24D -:102310006CA27DA23A8D832F90E0DC011197BFAFB4 -:10232000AEAFFEA1EF2FF0E0F9A7E8A72BA93CA9DB -:10233000E217F3070CF0B3C23A8D332309F46CC1F2 -:102340000F9417502AE030E040E050E00F944C5BCF -:102350000F94DB5420E030E040EA50E40F942A5E12 -:1023600018161CF001E010E002C00FEF1FEF0F94F1 -:10237000175028E631E040E050E00F944C5B0F949A -:10238000DB544B015C010F94175021E230E040E038 -:1023900050E00F944C5B6B5F7F4F8F4F9F4F0F94BC -:1023A000DB546E8B7F8B888F998F8D898430E1F41D -:1023B0004E895F89688D798D8BE099E50F94264170 -:1023C000B501A40183E099E50F9426418DEF98E5CE -:1023D0000F94DA400130110519F483E40E94AA65D4 -:1023E00089EF98E50F94DA40312CC801110FAA0B40 -:1023F000BB0B8DAB9EABAFABB8AF832D90E0AEAD5A -:10240000BFAD8A179B070CF007C1BAA9BB2379F0AF -:102410006DA97EA98FA998AD0F94DB549B01AC01E7 -:102420000F94CA5B20E030E040E952E41AC00F94F8 -:10243000175024E130E040E050E00F944C5B675EC1 -:102440007F4F8F4F9F4F0F94DB546B017C016DA921 -:102450007EA98FA998AD0F94DB549B01AC01C701F5 -:10246000B6010F943A559B01AC01C501B4010F941C -:10247000CA5B4B015C0120E030E044EB53E40F9475 -:102480002A5E18164CF420E030E044EB53E4C5011A -:10249000B4010F94C95BEDCF20E030E0A901C50184 -:1024A000B4010F94D45487FF0BC020E030E044EB1C -:1024B00053E4C501B4010F94CA5B4B015C01ECCF3E -:1024C0002BED3FE049E450E4C501B4010F943A55C7 -:1024D00020E030E044E353E40F94C45C6B017C01E2 -:1024E0000F94BF5C6EA77FA788AB99AB2091830C3C -:1024F0003091840C4091850C5091860C6D857E85C1 -:102500008F8598890F94C95B6AAF7BAF8CAF9DAF05 -:102510002EA53FA548A959A96E897F89888D998DD7 -:102520000F943A559B01AC016AAD7BAD8CAD9DAD6E -:102530000F94CA5B6D837E838F839887C701B60132 -:102540000F94BA5E6EA77FA788AB99AB2091870CDA -:102550003091880C4091890C50918A0C69897A8954 -:102560008B899C890F94C95B6B017C012EA53FA5CB -:1025700048A959A96E897F89888D998D0F943A55FC -:102580009B01AC01C701B6010F94CA5B69877A87CA -:102590008B879C874BE351E060E070E0CE010596AD -:1025A0000E94E7C946E351E060E070E0CE01099681 -:1025B0000E94E7C9ED89E430F9F44D815E816F81B5 -:1025C00078858DEE98E50F94264149855A856B856F -:1025D0007C858AEE98E50F9426414091B50C509188 -:1025E000B60C6091B70C7091B80C87EE98E50F941B -:1025F00026418AE00E94AA6519821A821B821C82E7 -:10260000AE014F5F5F4FBE01675F7F4FCE01059602 -:102610000E941E793394F1CE01E020E04FA1BE016B -:102620006F5E7F4FCE010D960E94BD8D6B017C01C8 -:10263000E8A5F9A5EE0FFF1FEE0FFF1F2AA53BA58A -:10264000E20FF31FC601D70180839183A283B38376 -:102650001E8A9601A701B601C7010F94175F811169 -:1026600002C031E03E8B9601A701B601C7010F946D -:10267000175F811114C110E0812C912C5401EAA53F -:10268000FBA584E0189FE00DF11D1124208131810C -:1026900042815381C501B4010F94CA5B4B015C01B7 -:1026A0001F5F9EA1911758F708A519A50F5F1F4F2F -:1026B000B801012E000C880B990B0F94DB542B01F1 -:1026C0003C019B01AC01C501B4010F94C45C6AA339 -:1026D0007BA38CA39DA32E8D3F8D48A159A1B6014C -:1026E000C7010F94D45487FF04C0CE8EDF8EE8A2BA -:1026F000F9A22B8D3C8D4D8D522DB601C7010F9443 -:102700002A5E181624F4CB8EDC8EED8E2F2C312C05 -:10271000812C912C5401EAA5FBA5A4E03A9EE00D82 -:10272000F11D11242AA13BA14CA15DA16081718101 -:10273000828193810F94C95B9B01AC010F943A5540 -:102740009B01AC01C501B4010F94CA5B4B015C0154 -:102750003394BEA1B315F8F6A30192010F94C45CA3 -:102760000F94C85E2B013C018D8982508E3708F092 -:102770007AC06AE070E0C8010E943A666BA97CA941 -:1027800082EE98E50F94374106EE17E0F80181914B -:102790008F01882319F00E94AA65F8CF43E0B601A3 -:1027A000C7010E944A66FD89F23009F459C00CEE57 -:1027B00017E0D8018D918D01882319F00E94AA6538 -:1027C000F8CF44E06AA17BA18CA19DA10E944A663A -:1027D00004EF17E0F80181918F01882319F00E941E -:1027E000AA65F8CF46E0C301B2010E944A660DEF28 -:1027F00017E0D8018D918D01882319F00E94AA65F8 -:10280000F8CF43E06E8D7F8D88A199A10E944A6622 -:1028100004E018E0F80181918F01882319F00E94EB -:10282000AA65F8CF43E06B8D7C8D8D8D922D0E9433 -:102830004A660BE018E0D8018D918D01882319F0CC -:102840000E94AA65F8CF2E8D3F8D48A159A16B8DAE -:102850007C8D8D8D922D0F94C95B43E00E944A665A -:102860008AE00E94AA65BEA1BF5FBEA35ACDE3EF76 -:10287000EB8FFFE4FC8F23EC2D8F87EC282E33EFBA -:102880003E8F8FE48F8F93EC98A3A7E4A9A31E8AB1 -:10289000412C512C32014AA25BA26CA27DA280E0A5 -:1028A0000E941C8DBE89BB2309F46AC087ED98E5A0 -:1028B0000F94DA40ED89EE2309F44DC004E118E0ED -:1028C000D8018D918D01882319F00E94AA65F8CF57 -:1028D00046E06AA17BA18CA19DA10E944A660BE102 -:1028E00018E0F80181918F01882319F00E94AA65F0 -:1028F000F8CF43E06E8D7F8D88A199A10E944A6632 -:1029000002E218E0D8018D918D01882319F00E9410 -:10291000AA65F8CF43E06B8D7C8D8D8D922D0E9442 -:102920004A6609E218E0F80181918F01882319F0C5 -:102930000E94AA65F8CF2E8D3F8D48A159A16B8DBD -:102940007C8D8D8D922D0F94C95B43E00E944A6669 -:102950008AE00E94AA6502E318E0D8018D918D01FA -:10296000882319F00E94AA65F8CF46E0C301B2019E -:102970000E944A668AE00E94AA658AE00E94AA65CF -:102980000E94297889AD0F94033F0E949A7CECA5A0 -:10299000FDA50FB6F894FEBF0FBEEDBF07C02CA576 -:1029A0003DA50FB6F8943EBF0FBE2DBF8CA59DA5CB -:1029B0000FB6F8949EBF0FBE8DBFEF960FB6F8947A -:1029C000DEBF0FBECDBFDF91CF911F910F91FF9062 -:1029D000EF90DF90CF90BF90AF909F908F907F90BF -:1029E0006F905F904F903F902F9008958F929F929D -:1029F000AF92BF92CF92DF92EF92FF920F931F930D -:102A0000CF93DF9300D000D0CDB7DEB76FEF7FEF6D -:102A100089E40E94849E882E6FEF7FEF8AE40E94F3 -:102A2000849ED82E83E40E942E9EC82E8EE40E949F -:102A30002E9EA82E8AE50E942E9E982E811105C0FA -:102A400081E50E942E9EB82E01C0B12CCC2069F0E9 -:102A500000E010E020E041EB5CE06DEA7CE081E02A -:102A60000F946927F22EE32E02C0ED2CF82C8C2D4A -:102A700090E087FC05C0D094DD1CDD24DD1C01C086 -:102A8000D12C8D0D911D019731F4911009C0B11019 -:102A900007C0A11005C00F94564187EB98E509C007 -:102AA00085E08F1510F08E15C0F40F94564188E91B -:102AB00098E526960FB6F894DEBF0FBECDBFDF9126 -:102AC000CF911F910F91FF90EF90DF90CF90BF902B -:102AD000AF909F908F900D94DA40CF2C0F2C000C6C -:102AE000DD080E2D0E2C000C110BA11021C00E9430 -:102AF000F79D9B01AC01BB2099F086E08C9DF00115 -:102B00008D9DF00D1124E00FF11FEE0FFF1FEE0F52 -:102B1000FF1FE452FE4E608171818281938103C068 -:102B200060E070E0CB010F94CA5B9B01AC0104C074 -:102B300020E030E040EC5FE786E08C9DF0018D9D69 -:102B4000F00D1124E00FF11FEE0FFF1FEE0FFF1F1E -:102B5000E452FE4E20833183428353836E2D8F2DAA -:102B600026960FB6F894DEBF0FBECDBFDF91CF9192 -:102B70001F910F91FF90EF90DF90CF90BF90AF909B -:102B80009F908F900C94BA81CF92DF92EF92FF9238 -:102B90000F931F93CF93DF93CDB7DEB72C970FB66C -:102BA000F894DEBF0FBECDBF83E50E942E9E882322 -:102BB00049F00E943BED182F811106C080E00F9470 -:102BC000033F02C010915F0C8091AD0C9091AE0C50 -:102BD000A091AF0CB091B00C89839A83AB83BC8376 -:102BE0008091B10C9091B20CA091B30CB091B40C47 -:102BF0008D839E83AF83B8878091B50C9091B60C7E -:102C0000A091B70CB091B80C89879A87AB87BC8725 -:102C10008CE40E942E9E882309F452C080E00F9419 -:102C2000033F8091431890914418892B21F00E9412 -:102C3000F39D082F02C00091430C0E94077C7C0189 -:102C4000892B91F488E798E52C960FB6F894DEBFAF -:102C50000FBECDBFDF91CF911F910F91FF90EF90ED -:102C6000DF90CF900D94DA4007FD07C0802F002E33 -:102C7000000C990B8E159F05E4F080E698E50F9403 -:102C8000DA40B7016150710985E598E50F94374145 -:102C90008AE02C960FB6F894DEBF0FBECDBFDF9151 -:102CA000CF911F910F91FF90EF90DF90CF900C94F8 -:102CB000AA6560E070E0802F0E94137C0093430CB3 -:102CC0008CE40E942E9E811105C086E50E942E9EF6 -:102CD0008823F9F060E084E50F94691090E00E9489 -:102CE000D2A18CE498E50F94DA400F944240811110 -:102CF00004C089E498E50F94DA406091430C062EF5 -:102D0000000C770B84E398E50F9437418AE00E942A -:102D1000AA6586E50E942E9E082F0F9442408823C4 -:102D200091F083E40E942E9E8823C1F00E94F79DBB -:102D30006B017C0180E00F94033FB701A60181E0A5 -:102D40000F94432E0BC0111102C0002339F00F94D1 -:102D50005A4185E298E50F94DA400DC08AE50E9459 -:102D60002E9E882329F00E94F79D40E00F947B3F20 -:102D7000812F0F94033F112351F080915F0C81113B -:102D800006C00F94564186E098E50F94DA400F9400 -:102D90005A4188EF97E50F94DA4080915F0C8111DA -:102DA00003C082E19DE002C086E19DE00F94DA401D -:102DB0008AE00E94AA650F945A418BEE97E50F9422 -:102DC000DA40C0906C12D0906D12E0906E12F090CC -:102DD0006F1220E030E0A901C701B6010F942A5E0E -:102DE000181644F442E0C701B6010E944A660E94E8 -:102DF000C26604C086EE97E50F94DA404CE050E0DE -:102E00006DEA7CE0CE0101960F943C60892B81F045 -:102E10002C960FB6F894DEBF0FBECDBFDF91CF91D9 -:102E20001F910F91FF90EF90DF90CF900C949A7CC0 -:102E30002C960FB6F894DEBF0FBECDBFDF91CF91B9 -:102E40001F910F91FF90EF90DF90CF9008952F92F8 -:102E50003F924F925F926F927F928F929F92AF922A -:102E6000BF92CF92DF92EF92FF920F931F93CF9377 -:102E7000DF93CDB7DEB7CE59D1090FB6F894DEBFD8 -:102E80000FBECDBF2DB63EB6CB56DF4F198218828E -:102E9000C559D04084E690E0C956DF4F99838883B6 -:102EA000C759D04001E09E012B563F4F44E050E00F -:102EB000BE016F567F4FCE0189569F4F0E947063AF -:102EC0009E012B563F4F42E050E0BE0167567F4FB8 -:102ED000CE0189569F4F0E94706343E050E0BE01CF -:102EE0006F567F4F87E793E00F948260892BB1F094 -:102EF000CC56DF4F8881C459D040882359F08FE3E6 -:102F0000CF56DF4F8883C159D040CE56DF4F18824D -:102F1000C259D04081E0809332147AC5C357DF4F45 -:102F2000188219821A821B82CD58D040CB56DF4FAF -:102F300019821882C559D04001E09E012B563F4F9F -:102F400041E050E0BE0164567F4FCE0189569F4F4D -:102F50000E9470634DB65EB680E1E7E4F3E0DE0107 -:102F6000A358BF4F01900D928A95E1F780E1E7E504 -:102F7000F3E0DE01A359BF4F01900D928A95E1F76E -:102F800080E1E7E6F3E09E012F5F3F4F7901D90131 -:102F900001900D928A95E1F7C456DF4F4881CC59D4 -:102FA000D04050E04D5F5F4F440F551F440F551FF9 -:102FB0008DB79EB7841B950B0FB6F8949EBF0FBEBE -:102FC0008DBFADB7BEB711965D010091331411E00E -:102FD00001272C563F4FBD01CE0189569F4F0E94BD -:102FE00070630091331401279E012B563F4F44E03C -:102FF00050E060E971E1CE0189569F4F0E947063F5 -:10300000C456DF4FC880CC59D040D12CB3E0CB0E92 -:10301000D11CCC0CDD1CCC0CDD1CEDB7FEB7EC19C3 -:10302000FD090FB6F894FEBF0FBEEDBF2DB73EB73A -:103030002F5F3F4F49014DB75EB74C195D090FB681 -:10304000F8945EBF0FBE4DBF8DB79EB701963C0191 -:103050000091331401279E012B563F4FA601B40166 -:10306000CE0189569F4F0E9470630091331401274F -:103070009E012B563F4FA601B301CE0189569F4FAB -:103080000E94706300913314002309F44EC011E0D4 -:1030900001279E012B563F4F44E050E064EB71E165 -:1030A000CE0189569F4F0E9470630091331401270F -:1030B0009E012B563F4F44E050E068EB71E1CE019A -:1030C00089569F4F0E9470630091331401279E011F -:1030D0002B563F4F44E050E06CEB71E1CE01895636 -:1030E0009F4F0E9470630091331401279E012B565D -:1030F0003F4F44E050E060EC71E1CE0189569F4FB4 -:103100000E9470630091331401279E012B563F4F9C -:1031100044E050E064EC71E1CE0189569F4F0E947B -:10312000706315E0DD24D39489C0C456DF4F288135 -:10313000CC59D04030E02E5F3F4FE0E8F1E1C3567C -:10314000DF4FB982A882CD59D04080E090E0B7012E -:10315000281739073CF0C356DF4FA881B981CD59F4 -:10316000D04012C0AC018430910510F043E050E033 -:10317000440F551F440F551FBDE7CB2ED12CCC0E4D -:10318000DD1E4C0D5D1DDA01AD90BD90CD90DC9043 -:10319000A192B192C192D1922817390714F0D401AB -:1031A00012C0AC018430910510F043E050E0440FB0 -:1031B000551F440F551F1DE6C12ED12CCC0EDD1E10 -:1031C0004C0D5D1DDA01AD90BD90CD90DC90A08AD4 -:1031D000B18AC28AD38A2817390714F0D3010DC0E7 -:1031E000AC018430910510F043E050E0440F551FCE -:1031F000440F551F460F571FDA01AD90BD90CD907B -:10320000DC90A0A2B1A2C2A2D3A20196B4E06B0E40 -:10321000711C44E0840E911CC356DF4FA881B98114 -:10322000CD59D0401496C356DF4FB983A883CD59EA -:10323000D0408430910509F08BCF29CF11500091F7 -:103240003314112379F00D259E012B563F4F44E096 -:1032500050E0BE0163577F4FCE0189569F4F0E94B9 -:103260007063ECCF11E001279E012B563F4F44E0E5 -:1032700050E06DEB7CE0CE0189569F4F0E94706359 -:103280000FB6F8945EBE0FBE4DBE009133140127F9 -:103290009E012B563F4F4CE050E061E37AE0CE01B7 -:1032A00089569F4F0E9470630091331401279E013D -:1032B0002B563F4F41E050E06DE472E0CE0189565D -:1032C0009F4F0E9470630091331401279E012B567B -:1032D0003F4F44E050E0BE016F5F7F4FCE01895603 -:1032E0009F4F0E9470630091331401110CC08981BB -:1032F0009A81AB81BC818093150290931602A093B2 -:103300001702B093180211E001279E012B563F4F80 -:1033100044E050E067E37CE0CE0189569F4F0E9475 -:1033200070630091331401279E012B563F4F44E0F8 -:1033300050E0BE0163577F4FCE0189569F4F0E94D8 -:10334000706301E09E012B563F4F41E050E0BE010B -:1033500063597F4FCE0189569F4F0E9470639E0133 -:103360002B563F4F41E050E0BE016F5F7F4FCE01D3 -:1033700089569F4F0E947063AE96AFACAE9789811D -:10338000A89E50011124C12CD12C00913314CA14D1 -:10339000DB0491F001279E012B563F4F44E050E0A3 -:1033A000BE0163577F4FCE0189569F4F0E947063C5 -:1033B000BFEFCB1ADB0AE9CF11E001279E012B56A4 -:1033C0003F4F44E050E063E87CE0CE0189569F4FD8 -:1033D0000E9470630091331401279E012B563F4FCA -:1033E00044E050E067E87CE0CE0189569F4F0E94A0 -:1033F00070630091331401279E012B563F4F44E028 -:1034000050E06BE87CE0CE0189569F4F0E947063CC -:103410001AE0DD24D394115089F0009133140D2566 -:103420009E012B563F4F44E050E0BE0163577F4F53 -:10343000CE0189569F4F0E947063EDCF01E09E013F -:103440002B563F4F41E050E0BE0165567F4FCE0105 -:1034500089569F4F0E9470639E012B563F4F41E05B -:1034600050E0BE0163587F4FCE0189569F4F0E94A6 -:1034700070630091331411E001279E012B563F4FDA -:1034800044E050E0BE0163597F4FCE0189569F4F03 -:103490000E9470630091331401279E012B563F4F09 -:1034A00044E050E0BE016F5F7F4FCE0189569F4FD1 -:1034B0000E947063C556DF4FA880CB59D040EE966E -:1034C0008FADEE97A89E50011124C12CD12C0091F4 -:1034D0003314AC14BD0491F001279E012B563F4FCD -:1034E00044E050E0BE0163577F4FCE0189569F4FA5 -:1034F0000E947063EFEFCE1ADE0AE9CF11E00127D8 -:103500009E012B563F4F41E050E06FE57CE0CE013D -:1035100089569F4F0E9470630091331401279E01CA -:103520002B563F4F41E050E063E47CE0CE018956EA -:103530009F4F0E9470630091331401279E012B5608 -:103540003F4F44E050E0BE016F5F7F4FCE01895690 -:103550009F4F0E9470630091331401279E012B56E8 -:103560003F4F41E050E061E374E1CE0189569F4F47 -:103570000E9470630091331401279E012B563F4F28 -:1035800044E050E0BE0163597F4FCE0189569F4F02 -:103590000E9470630091331401279E012B563F4F08 -:1035A00044E050E0BE016F5F7F4FCE0189569F4FD0 -:1035B0000E9470630091331401279E012B563F4FE8 -:1035C00042E050E0BE0163587F4FCE0189569F4FC5 -:1035D0000E9470630091331401279E012B563F4FC8 -:1035E00040E150E0BE016F5F7F4FCE0189569F4F93 -:1035F0000E9470630091331401112EC089809A805B -:10360000AB80BC8020E030E84BE355E4C501B40159 -:103610000F94D454882301F18092F30C9092F40C0F -:10362000A092F50CB092F60C8D819E81AF81B88589 -:103630008093F70C9093F80CA093F90CB093FA0CCC -:1036400089859A85AB85BC858093FB0C9093FC0C97 -:10365000A093FD0CB093FE0C11E001279E012B56A8 -:103660003F4F42E050E0BE016F5F7F4FCE01895671 -:103670009F4F0E9470630091331401279E012B56C7 -:103680003F4F4CE050E0BE016F5F7F4FCE01895647 -:103690009F4F0E94706300913314011115C020E008 -:1036A00030E84BE355E469817A818B819C810F94EA -:1036B000D454882349F08CE0FE013196ADE0BAE0A5 -:1036C00001900D928A95E1F711E001279E012B569A -:1036D0003F4F42E050E0BE016F5F7F4FCE01895601 -:1036E0009F4F0E9470630091331401279E012B5657 -:1036F0003F4F41E050E0BE016F5F7F4FCE018956E2 -:103700009F4F0E9470630091331401279E012B5636 -:103710003F4F40E250E0BE016F5F7F4FCE018956C0 -:103720009F4F0E9470630091331401279E012B5616 -:103730003F4F41E050E0BE0163597F4FCE018956B3 -:103740009F4F0E9470630091331401279E012B56F6 -:103750003F4F45E050E0BE016F5F7F4FCE0189567D -:103760009F4F0E9470630091331401110FC0898133 -:1037700080937D128A819B81AC81BD81809382126E -:1037800090938312A0938412B093851211E00127C5 -:103790009E012B563F4F4AE150E0B701CE018956BA -:1037A0009F4F0E9470630091331401279E012B5696 -:1037B0003F4F44E350E0B701CE0189569F4F0E942E -:1037C00070630091331401279E012B563F4F48E050 -:1037D00050E0B701CE0189569F4F0E94706300915F -:1037E000331401279E012B563F4F4DE050E0B701A7 -:1037F000CE0189569F4F0E947063009133140127B8 -:103800009E012B563F4F44E050E0B701CE01895650 -:103810009F4F0E9470630091331401279E012B5625 -:103820003F4F4CE050E0B701CE0189569F4F0E94B8 -:1038300070630091331401279E012B563F4F4CE6D5 -:1038400050E0B701CE0189569F4F0E9470631982E4 -:103850001A821B821C821D821E821F821886198674 -:103860001A861B861C860091331401279E012B5655 -:103870003F4F4CE050E0B701CE0189569F4F0E9468 -:1038800070630091331401279E012B563F4F48E08F -:1038900050E06BE37CE0CE0189569F4F0E9470633D -:1038A0000091331401279E012B563F4F44E050E016 -:1038B000B701CE0189569F4F0E9470630091331467 -:1038C00001279E012B563F4F44E050E0BE016B5F45 -:1038D0007F4FCE0189569F4F0E9470630091331431 -:1038E00001279E012B563F4F44E050E0BE01675F29 -:1038F0007F4FCE0189569F4F0E9470630091331411 -:1039000001279E012B563F4F41E050E0BE01635816 -:103910007F4FCE0189569F4F0E94706300913314F0 -:1039200001279E012B563F4F44E050E0BE016359F2 -:103930007F4FCE0189569F4F0E94706380E3D7016D -:103940001D928A95E9F70091331401279E012B56A9 -:103950003F4F40E350E0B701CE0189569F4F0E9490 -:10396000706380913314811104C087E498E00E9451 -:10397000C866C956DF4F88819981C759D04021E078 -:10398000803FB2E09B0709F420E020933214803F8F -:10399000924091F4CB56DF4F28813981C559D040F0 -:1039A000C756DF4F88819981C959D04028173907F8 -:1039B00019F081E08093321480913314811106C094 -:1039C00080913214811102C00F94700380913314DE -:1039D00081111EC00F94E9400E94077C892BF9F4E5 -:1039E0008AEE99E50F94DA4081E08093321487EBF8 -:1039F00094E30F94DA400F942B3F8091430C87FDA2 -:103A000005C060E070E00E94137C02C00F942B3F61 -:103A10008091331481110BC00E944B7D08C08AE055 -:103A20000E94AA6587EB94E30F94DA40E6CF909169 -:103A3000321481E089270FB6F8943EBE0FBE2DBE2A -:103A4000C256DF4F0FB6F894DEBF0FBECDBFDF9179 -:103A5000CF911F910F91FF90EF90DF90CF90BF908B -:103A6000AF909F908F907F906F905F904F903F901E -:103A70002F9008958F929F92AF92BF92CF92DF9234 -:103A8000EF92FF920F931F93CF93DF9381E0809388 -:103A900033140F94271710923314882309F4E1C0CC -:103AA0000F942717D82E8AE598E00E94C8660F94D5 -:103AB0004240882309F47FC0F12CEE24E39400E017 -:103AC00010E0D1E036E0C32EC0E0BB24B39446E062 -:103AD000A42E55E0952E62E8862EEB24CC16F1F14B -:103AE0008F2D90E08397C4F5C530B1F10530A1F179 -:103AF000F394F801AC9EE00DF11D1124EE0FFF1FB1 -:103B0000EE0FFF1FE452FE4E20E030E04AE754E49F -:103B100060817181828193810F943A550F94365D53 -:103B200070937E1660937D16909271168092741633 -:103B30004F2D50E04158574F440F551F052E000C94 -:103B4000660B770B40937516509376166093771635 -:103B5000709378160F945232CD0FC0CF0F5F1F4F66 -:103B60000630110561F0E11005C0DFEFCC24CA94E6 -:103B7000C5E0B3CFD1E026E0C22EC0E0AECF83E0F7 -:103B800090E090937E1680937D1685E08093711669 -:103B900082E88093741685E490E1A0E0B0E0809321 -:103BA000751690937616A0937716B09378160F94A7 -:103BB000523281E01BC082E090E090937E168093A9 -:103BC0007D1685E08093711682E88093741685E4F3 -:103BD00090E1A0E0B0E08093751690937616A093E4 -:103BE0007716B09378160F94523280E00F94033F0B -:103BF00040918B0C50918C0C60918D0C70918E0CBF -:103C000081E19AE50F9426418AE00E94AA6520E0AE -:103C100030E048EC52E460918B0C70918C0C8091F8 -:103C20008D0C90918E0C0F943A550F94365D7093D5 -:103C30007E1660937D1685E08093711682E88093EE -:103C4000741686E290E1A0E0B0E080937516909340 -:103C50007616A0937716B09378160F9452328D2D66 -:103C60000BC00E94C97A0E9442FF0F945A418AE217 -:103C70009AE50F94DA4080E0DF91CF911F910F9188 -:103C8000FF90EF90DF90CF90BF90AF909F908F907C -:103C9000089563E00C944CBB90913D0AE92FF0E04D -:103CA000E552F94E80839F5F943018F490933D0A5B -:103CB00002C010923D0A8091C10B8F5F8093C10BAF -:103CC0000895CF93DF93EC018881882349F18A30EE -:103CD00039F18D3029F18B33F9F08091C10B8430AB -:103CE000D8F480913D0A20E6829FC0011124BE01D4 -:103CF000805C954F0F947B6080E00F944C1E0F9476 -:103D00005A41BE0186E19BE50F94434183E19BE567 -:103D1000DF91CF910D94DA4080E00E94EE66D4CF1F -:103D2000DF91CF910895CF92DF92EF92FF928AE5D3 -:103D30000E94779E882321F10E94F79D6B017C01F0 -:103D400020E030E040EA51EC0F942A5E87FD13C07A -:103D500020E030E040EA51E4C701B6010F94D454AA -:103D600018164CF0C0928B0CD0928C0CE0928D0CFB -:103D7000F0928E0C8FC00F94564186EF9AE528C0C2 -:103D800088E50E94779E882349F10E94F79D6B0188 -:103D90007C0120E030E84DE953EC0F942A5E87FD6A -:103DA00013C020E030E84DE953E4C701B6010F9499 -:103DB000D45418164CF0C092830CD092840CE0922C -:103DC000850CF092860C66C00F94564186ED9AE5FC -:103DD000FF90EF90DF90CF900D94DA4089E50E943C -:103DE000779E882321F10E94F79D6B017C0120E0E2 -:103DF00030E04BE953EC0F942A5E87FD13C020E0BE -:103E000030E04BE953E4C701B6010F94D4541816BF -:103E10004CF0C092870CD092880CE092890CF09202 -:103E20008A0C38C00F94564186EB9AE5D1CF0F9497 -:103E30005A414091830C5091840C6091850C709193 -:103E4000860C85EA9AE50F9426418AE00E94AA65CD -:103E50004091870C5091880C6091890C70918A0C6C -:103E600084E99AE50F9426418AE00E94AA65409170 -:103E70008B0C50918C0C60918D0C70918E0C83E8A2 -:103E80009AE50F9426418AE0FF90EF90DF90CF9063 -:103E90000C94AA65FF90EF90DF90CF9008958F92D9 -:103EA0009F92AF92BF92CF92DF92EF92FF920F93C9 -:103EB0001F93CF9310925E0C10925D0C2FE3209312 -:103EC0005414109253141092521410924E141092D3 -:103ED0004F1410925014109251149C01F9019081CA -:103EE0002F5F3F4F9032D1F39E34C9F4818190ED22 -:103EF000980F9A3020F08D3211F08B3281F4DF016F -:103F000012969D012F5F3F4F8C9180538A3010F4A1 -:103F1000D901F7CFFD01119680818032D9F3F0935A -:103F2000A80CE093A70C8F010F5F1F4FC0816AE2BE -:103F300070E0C8010F947060009731F0FC01319778 -:103F400080818032E1F31182CD3429F0C43519F03B -:103F5000C73409F000C1F80180810F5F1F4F803224 -:103F6000D1F380538A3008F0F6C0C09354141092F5 -:103F70005314109252144AE08091521490915314A9 -:103F8000489F9001499F300D112430935314209382 -:103F900052143196DF0111978C91082E000C990B69 -:103FA000C097820F931F90935314809352142081D3 -:103FB00020532A3008F3DF0131962C912032D9F3B7 -:103FC000CD34D1F48E31910591F03CF487319105D7 -:103FD00071F08C31910581F40AC08537910564F048 -:103FE0008737910524F0803A23E0920729F4B093B3 -:103FF0005E0CA0935D0CAFC010925E0C10925D0C35 -:104000001091A70CC12CD12C7601C394FD013196DF -:104010004C91442309F49FC04132A1F4CD3491F472 -:104020008032910579F4F0935E0CE0935D0C63E2CD -:1040300070E0CF010F947060009709F48CC0FC0110 -:10404000108289C041544A3108F059C0BF01FB01B8 -:1040500020816F5F7F4F2032D1F330ED320F3A3045 -:1040600010F12E3211F421810CC02D3211F02B32BF -:1040700059F4218130ED320F3A30A8F02E3221F47C -:10408000228120532A3078F020915D0C30915E0C13 -:10409000232B09F05DC09F012150310930935E0C44 -:1040A00020935D0C55C09F01A42FB0E0460157013D -:1040B00004C0880C991CAA1CBB1C4A95D2F7B501F8 -:1040C000A40180904E1490904F14A0905014B09082 -:1040D0005114482959296A297B2940934E14509339 -:1040E0004F1460935014709351142115310511F041 -:1040F000211B01C020E0AC5CBB4E2C930AC0209178 -:104100005D0C30915E0C232B21F4B0935E0CA093D8 -:104110005D0C208121542A3110F4DF0177CFAF01EB -:10412000FA01DA012D912223C1F330ED320F3A303A -:1041300010F4AD01F5CF33ED320F3230D0F32B3226 -:10414000C1F3FA014F5F5F4F20812032D1F3E5CFF9 -:1041500020E030E0A9CFCF911F910F91FF90EF9019 -:10416000DF90CF90BF90AF909F908F9008952F9247 -:104170003F924F925F926F927F928F929F92AF92F7 -:10418000BF92CF92DF92EF92FF920F931F93CF9344 -:10419000DF93CDB7DEB7C454D1090FB6F894DEBFB4 -:1041A0000FBECDBF9AA789A77CAB6BAB142FDB01E9 -:1041B0008D909D90AD90BC9013972401350177FAB6 -:1041C000709477F870941496CD90DD90ED90FC90FB -:1041D0001797A70196015058298F3A8F4B8F5C8F04 -:1041E000A3019201C301B2010F943A5569A37AA3C6 -:1041F0008BA39CA3298D3A8D4B8D5C8DCA01B9018F -:104200000F943A559B01AC0169A17AA18BA19CA1A5 -:104210000F94CA5B0F94C85E6DAB7EAB8FAB98AF4B -:104220008091B50C9091B60CA091B70CB091B80CE0 -:1042300089A39AA3ABA3BCA32091AD0C3091AE0C83 -:104240004091AF0C5091B00C2D8B3E8B4F8B588F03 -:10425000C501B4010F94CA5B21966CAF7DAF8EAFE0 -:104260009FAF21978091B10C9091B20CA091B30CAB -:10427000B091B40C8DA39EA3AFA3B8A79C01AD01D0 -:10428000C701B6010F94CA5B25966CAF7DAF8EAFA8 -:104290009FAF2597A9A5BAA52D913D914D915C9110 -:1042A0002BA73CA74DA75EA721962CAD3DAD4EADEB -:1042B0005FAD21976BA57CA58DA59EA50F94C95BCD -:1042C0006B017C01A9A5BAA514962D913D914D9144 -:1042D0005C9117972FA738AB49AB5AAB25962CADFD -:1042E0003DAD4EAD5FAD25976FA578A989A99AA977 -:1042F0000F94C95B4B015C0129A13AA14BA15CA1C0 -:10430000E9A5FAA560857185828593850F94C95BBF -:104310006D8F7E8F8F8F98A3A7019601C301B20185 -:104320000F943A5569AF7AAF8BAF9CAFA50194015A -:10433000698D7A8D8B8D9C8D0F943A559B01AC01C4 -:1043400069AD7AAD8BAD9CAD0F94CA5B69AF7AAFA6 -:104350008BAF9CAFA5019401C301B2010F943A55F4 -:104360004B015C01A7019601698D7A8D8B8D9C8D27 -:104370000F943A559B01AC01C501B4010F94C95B80 -:1043800029AD3AAD4BAD5CAD0F94495C6B017C013E -:1043900020E030E0A9010F94D45487FF0AC02BED30 -:1043A0003FE049EC50E4C701B6010F94CA5B6B01D2 -:1043B0007C012BED3FE049EC50E4C701B6010F94BE -:1043C000C45C20E030E040EC51E40F943A550F9487 -:1043D000A85C0F943D5D1B01672B19F422242394E4 -:1043E000312C112351F02BED3FE049EC50E4C70193 -:1043F000B6010F94C95B6B017C0120E030E0A9019C -:10440000C701B6010F94D454811123C02BA53CA53C -:104410004DA55EA56D897E898F89988D0F94D454A2 -:10442000811117C02FA538A949A95AA96DA17EA14C -:104430008FA198A50F94D45481110BC038E1232E7D -:10444000312C4BEDC42E4FE0D42E49ECE42E40E449 -:10445000F42E2DA93EA94FA958ADC701B6010F945E -:104460003A554B015C0120E030E0A9016D8D7E8D55 -:104470008F8D98A10F94D4548823D9F0A50194016D -:10448000C501B4010F943A554B015C012D8D3E8D51 -:104490004F8D58A1CA01B9010F943A559B01AC0147 -:1044A000C501B4010F94CA5B0F94C85E4B015C0157 -:1044B0000DC020E030E0A901C501B4010F942A5ECF -:1044C00087FF04C0B7FAB094B7F8B0942FE632E192 -:1044D00043E85AE3C501B4010F94D45487FD0AC2DE -:1044E0002091B90C3091BA0C4091BB0C5091BC0C8E -:1044F0002D8B3E8B4F8B588FC501B4010F946C5D93 -:104500000F943D5D7EA36DA36215730510F43EA26A -:104510002DA2ADA1BEA1BD0180E090E00F94D954C1 -:104520004B015C019B01AC01C701B6010F94C45C57 -:104530006D8F7E8F8F8F98A32D893E894F89588DDF -:10454000E9A5FAA564857585868597850F94C95B6D -:10455000A50194010F94C45C6DAB7EAB8FAB98AF9B -:104560002D8D3E8D4F8D58A1CA01B9010F943A553A -:1045700020E030E040E05FE30F943A559B01AC014E -:1045800060E070E080E89FE30F94C95B6FA778ABB1 -:1045900089AB9AAB29A13AA14BA15CA129873A87A3 -:1045A0004B875C878D899E89AF89B88D8D879E8763 -:1045B000AF87B88B6091490270914A02072E000CB8 -:1045C000880B990B0F94DB5420913F0230914002ED -:1045D00040914102509142020F943A552AE037ED42 -:1045E00043E25CE30F943A55698B7A8B8B8B9C8BFF -:1045F0000F94783E9B01AC0128533F4F4F4F5F4FC4 -:104600002BA73CA74DA75EA722242394312C39E188 -:104610003D8B4DA15EA12416350608F025C10E94F0 -:1046200064CA0F94783EDC01CB012BA53CA54DA5B7 -:104630005EA5821B930BA40BB50BB7FD0FC00F94A7 -:10464000783E9B01AC0128533F4F4F4F5F4F2BA744 -:104650003CA74DA75EA780E00E94EE663D893150E1 -:104660003D8B3323E9F12FA538A949A95AA9698DB2 -:104670007A8D8B8D9C8D0F943A556B017C012D8D1D -:104680003E8D4F8D58A1C301B2010F943A55A70139 -:1046900096010F94CA5B6B017C012FA538A949A92B -:1046A0005AA9C301B2010F943A554B015C012D8DFB -:1046B0003E8D4F8D58A1698D7A8D8B8D9C8D0F9479 -:1046C0003A559B01AC01C501B4010F94C95B2B01A4 -:1046D0003C01C601D701898F9A8FAB8FBC8F66C012 -:1046E000B10180E090E00F94D9542D8D3E8D4F8D17 -:1046F00058A10F943A556B017C010F94BF5C698FF0 -:104700007A8F8B8F9C8FC701B6010F94BA5E4B01D5 -:104710005C01ABA9BCA9CD90DD90ED90FC90139706 -:10472000F7FAF094F7F8F09414962D913D914D918D -:104730005C9117972D8B3E8B4F8B588FA70196015D -:10474000698D7A8D8B8D9C8D0F943A552B013C0190 -:104750002D893E894F89588DC501B4010F943A5572 -:104760009B01AC01C301B2010F94CA5B2B013C0158 -:10477000A7019601C501B4010F943A556B017C0164 -:104780002D893E894F89588D698D7A8D8B8D9C8DB1 -:104790000F943A559B01AC01C701B6010F94C95B58 -:1047A000698F7A8F8B8F9C8FB9E1BD8B21962CAD51 -:1047B0003DAD4EAD5FAD2197C301B2010F94CA5B11 -:1047C00069837A838B839C8325962CAD3DAD4EAD5A -:1047D0005FAD2597698D7A8D8B8D9C8D0F94CA5B0B -:1047E0006D837E838F83988729A13AA14BA15CA119 -:1047F00029873A874B875C872DA93EA94FA958ADD9 -:104800006D857E858F8598890F94CA5B6D877E87BD -:104810008F87988BCE0101960E949277AE01475FF9 -:104820005F4FBE016B5F7F4FCE0101960E94B29336 -:10483000C12CD12C90E8E92E9FE3F92E8E010F5E5A -:104840001F4F9E01235F3F4FAE01475F5F4FBE0189 -:104850006B5F7F4FCE0101960E9464BA882321F0DE -:104860003FEF231A330AD5CE80E1E9A5FAA5DE0190 -:10487000119601900D928A95E1F789A19AA1ABA1B9 -:10488000BCA189879A87AB87BC87CE0101960E941D -:104890009277AE01475F5F4FBE016B5F7F4FCE01E6 -:1048A00001960E94B293C12CD12C80E8E82E8FE3B0 -:1048B000F82E8E010F5E1F4F9E01235F3F4FAE010A -:1048C000475F5F4FBE016B5F7F4FCE0101960E9435 -:1048D00064BA29A13AA14BA15CA129873A874B87E9 -:1048E0005C8780E1FE013196ADEABCE001900D925B -:1048F0008A95E1F7CC5BDF4F0FB6F894DEBF0FBEB1 -:10490000CDBFDF91CF911F910F91FF90EF90DF907E -:10491000CF90BF90AF909F908F907F906F905F905F -:104920004F903F902F9008950F931F93CF938C013A -:10493000C62F8EE79AE50F94DA40C8010F94DA404B -:104940008AE30E94AA656AE070E08C2F90E00E94E2 -:104950003A66CF911F910F910C94C266EF92FF922D -:104960001F93CF93DF93CDB7DEB7C454D1090FB6F1 -:10497000F894DEBF0FBECDBF84E40E942E9E882334 -:1049800009F44DC184E79AE50F94DA402091770C41 -:104990003091780C4091790C50917A0C6091AD0C6B -:1049A0007091AE0C8091AF0C9091B00C0F94CA5BDB -:1049B00069AF7AAF8BAF9CAF20917B0C30917C0CB0 -:1049C00040917D0C50917E0C6091B10C7091B20CB5 -:1049D0008091B30C9091B40C0F94CA5B21966CAF8C -:1049E0007DAF8EAF9FAF219720917F0C3091800CCF -:1049F0004091810C5091820C6091B50C7091B60C75 -:104A00008091B70C9091B80C0F94CA5B25966CAF4F -:104A10007DAF8EAF9FAF2597CE01C9960F94491EEB -:104A20008BE69AE50F94DA408DEA9CE00F94491EDC -:104A30008091AD0C9091AE0CA091AF0CB091B00CE8 -:104A40008DA79EA7AFA7B8AB8091B10C9091B20C87 -:104A5000A091B30CB091B40C89AB9AABABABBCAB2F -:104A60008091B50C9091B60CA091B70CB091B80C98 -:104A70008DAB9EABAFABB8AF82E69AE50F94DA4050 -:104A8000AE014B5C5F4FBE016F5C7F4FCE018D96D8 -:104A90000E94B293CE018D960F94491E89E59AE546 -:104AA0000F94DA408DA59EA5AFA5B8A989A39AA3B6 -:104AB000ABA3BCA389A99AA9ABA9BCA98DA39EA3AA -:104AC000AFA3B8A78DA99EA9AFA9B8AD89A79AA78A -:104AD000ABA7BCA7CE0181960E947893CE018196A8 -:104AE0000F94491E0E94BA9180E59AE50F94DA402E -:104AF00083EEE82E82E0F82E10E080E20E94AA65A4 -:104B0000F70181917F010E94AA658AE30E94AA654C -:104B1000812F0E9493CE0E941E661F5F143069F79A -:104B20008AE00E94AA6587E49AE50F94DA400E9421 -:104B30005F798091440C9091450CA091460CB09106 -:104B4000470C898B9A8BAB8BBC8B8091480C9091D6 -:104B5000490CA0914A0CB0914B0C8D8B9E8BAF8B66 -:104B6000B88F80914C0C90914D0CA0914E0CB0914F -:104B70004F0C898F9A8FAB8FBC8F83E00E94E59298 -:104B80006D8F7E8F8F8F98A364E0CE0141960E9437 -:104B90004CBB2DA53EA54FA558A969897A898B895B -:104BA0009C890F94C95B69837A838B839C8329A931 -:104BB0003AA94BA95CA96D897E898F89988D0F943C -:104BC000C95B6D837E838F8398872DA93EA94FA9EA -:104BD00058AD698D7A8D8B8D9C8D0F94C95B6987DB -:104BE0007A878B879C872091B90C3091BA0C4091C1 -:104BF000BB0C5091BC0C6D8D7E8D8F8D98A10F9448 -:104C0000C95B6D877E878F87988B8EE39AE50F94BB -:104C1000DA4064E0CE0101960E944CBB04C00E94C1 -:104C2000BA910E949A7CCC5BDF4F0FB6F894DEBF3E -:104C30000FBECDBFDF91CF911F91FF90EF900895F0 -:104C40004F925F926F927F928F929F92AF92BF929C -:104C5000CF92DF92EF92FF920F931F93CF93DF9348 -:104C6000CDB7DEB77C014DB65EB66090A70C7090F4 -:104C7000A80C8DB69EB66AE070E0C7010F94175479 -:104C80006C01009721F08C010E191F0904C0C701A7 -:104C90000F9422548C01C80101962DB73EB7281BF2 -:104CA000390B0FB6F8943EBF0FBE2DBF8DB79EB720 -:104CB00001965C01A801B7010F944354F501E00F80 -:104CC000F11F1082C5010F944F1F81E00E94934C89 -:104CD000C114D10451F076019FEFE91AF90A0FB619 -:104CE000F8949EBE0FBE8DBEC4CF0FB6F8949EBE84 -:104CF0000FBE8DBEC3010F944F1F0FB6F8945EBE5A -:104D00000FBE4DBEDF91CF911F910F91FF90EF909D -:104D1000DF90CF90BF90AF909F908F907F906F90DB -:104D20005F904F900895CF93DF93C091C00B80E6C2 -:104D3000C89FE0011124C05CD54F80917F1180FF96 -:104D400005C00F945A41CE010E94C866CE010F944F -:104D50004F1F80E0DF91CF910C94934CFC01208198 -:104D600031816217730714F47183608308953F9251 -:104D70004F925F926F927F928F929F92AF92BF926B -:104D8000CF92DF92EF92FF920F931F93CF93DF9317 -:104D9000D82EC62E342E422E062F10E036E0732E6B -:104DA000E82EF12CE801789EC00DD11D1124CC0F06 -:104DB000DD1FCC0FDD1FC452DE4E688179818A81F0 -:104DC0009B819B01AC010F94175F8823E1F1532C69 -:104DD0005D0C642C6C0C272D352D3203F001112451 -:104DE000E60DF11D67FCFA95EE0FFF1FEE0FFF1F9A -:104DF000E452FE4E80809180A280B380A501940190 -:104E0000C501B4010F94175F81111DC0232D250D1D -:104E1000640C372D2303F0011124E60DF11D67FC0E -:104E2000FA95EE0FFF1FEE0FFF1FE452FE4E40807B -:104E3000518062807380A3019201C301B2010F947B -:104E4000175F882311F080E032C0A3019201C501F1 -:104E5000B4010F94D45487FF05C088829982AA8236 -:104E6000BB820EC0A5019401C501B4010F94CA5BB9 -:104E7000A30192010F94C95B688379838A839B8322 -:104E800086E08E9DF0018F9DF00D1124E00FF11F43 -:104E9000EE0FFF1FEE0FFF1FE452FE4E2081318107 -:104EA000428153816C2D8D2D0E94BA8181E0DF916A -:104EB000CF911F910F91FF90EF90DF90CF90BF9017 -:104EC000AF909F908F907F906F905F904F903F90AA -:104ED00008952F923F924F925F926F927F928F929E -:104EE0009F92AF92BF92CF92DF92EF92FF920F9379 -:104EF0001F93CF93DF93CDB7DEB7EA970FB6F89441 -:104F0000DEBF0FBECDBF8BA77DA76CA75FA74EA747 -:104F100028AB1AAB09AB8FEF8E8F8E8D8D8F83EF01 -:104F20009FE4A3ECB7EC8F8F98A3A9A3BAA38CA599 -:104F30009DA5FC01E080F1800281138188A988236E -:104F400049F08091830C9091840CA091850CB091D4 -:104F5000860C03C080E090E0DC019C01AD01C8013B -:104F6000B7010F94CA5BDC01CB018F839887A987B7 -:104F7000BA878EA59FA5FC01E080F1800281138194 -:104F800088A9882349F08091870C9091880CA09182 -:104F9000890CB0918A0C03C080E090E0DC019C0198 -:104FA000AD01C801B7010F94CA5BDC01CB018B874F -:104FB0009C87AD87BE878FEF9FE4A3ECB7E489831E -:104FC0009A83AB83BC831D828D8186300CF0D3C164 -:104FD0001E828E8186300CF0CAC18BA5882329F5EC -:104FE0008D81282F880F330B8E81482F880F550B0A -:104FF000C901880F991F820F931F880F991F840F73 -:10500000951F880F991F880F991F84529E4EFC018F -:1050100080819181A281B3819C01AD01BC01CD0150 -:105020000F94175F882309F057C08BA5813021F5B5 -:105030008D81282F880F330B8E81482F880F550BB9 -:10504000C901880F991F820F931F880F991F840F22 -:10505000951F880F991F880F991F84529E4EFC013F -:1050600080819181A281B3819C01AD01BC01CD0100 -:105070000F94175F882381F18BA5823079F52E81FB -:105080003D8189A99AA99A8B898B388B2F878F8527 -:10509000882F90E0880F991F29893A89820F931FE2 -:1050A000FC0180819181CC01A0E0B0E02889222F11 -:1050B00030E004C0B695A795979587952A95D2F7C5 -:1050C00081709927AA27BB2721E0892B8A2B8B2B5C -:1050D00009F420E0222311F081E001C080E0882360 -:1050E00009F441C18D810E94C19EDC01CB018BA3DB -:1050F0009CA3ADA3BEA38E810E94939EDC01CB0135 -:105100008FA398A7A9A7BAA788A9882361F09E01B1 -:10511000295D3F4FCE018396B9010E94B5A0982F1B -:1051200081E089270FC08FA198A5A9A5BAA59E01E6 -:105130002D5D3F4FAC01BD01C9010E94958C982F98 -:1051400081E08927882309F00DC18BA19CA1ADA125 -:10515000BEA19C01AD016F81788589859A850F94E8 -:10516000C95BDC01CB016C017D018BA19CA1ADA1D0 -:10517000BEA19C01AD016F81788589859A850F94C8 -:10518000C95BDC01CB019C01AD01C701B6010F94E5 -:105190003A55DC01CB016C017D018FA198A5A9A531 -:1051A000BAA59C01AD016B857C858D859E850F948C -:1051B000C95BDC01CB018BAB9CABADABBEAB8FA1B4 -:1051C00098A5A9A5BAA59C01AD016B857C858D85A7 -:1051D0009E850F94C95BDC01CB019C01AD016BA9DD -:1051E0007CA98DA99EA90F943A55DC01CB019C01A5 -:1051F000AD01C701B6010F94CA5BDC01CB01BC0154 -:10520000CD010F94C85EDC01CB018B8B9C8BAD8BE9 -:10521000BE8B8091AD0C9091AE0CA091AF0CB09173 -:10522000B00C2BA13CA14DA15EA1BC01CD010F94FE -:10523000C95BDC01CB016C017D018091AD0C9091CB -:10524000AE0CA091AF0CB091B00C2BA13CA14DA124 -:105250005EA1BC01CD010F94C95BDC01CB019C01B7 -:10526000AD01C701B6010F943A55DC01CB016C01C9 -:105270007D018091B10C9091B20CA091B30CB091D2 -:10528000B40C2FA138A549A55AA5BC01CD010F9496 -:10529000C95BDC01CB018FAB98AFA9AFBAAF8091EE -:1052A000B10C9091B20CA091B30CB091B40C2FA1A1 -:1052B00038A549A55AA5BC01CD010F94C95BDC01F5 -:1052C000CB019C01AD016FA978AD89AD9AAD0F946A -:1052D0003A55DC01CB019C01AD01C701B6010F9429 -:1052E000CA5BDC01CB01BC01CD010F94C85EDC01BF -:1052F000CB012DEC3CEC4CEC5DE3BC01CD010F94FB -:105300003A55DC01CB019C01AD016B897C898D890B -:105310009E890F94CA5BDC01CB018B8B9C8BAD8B80 -:10532000BE8B29813A814B815C816B897C898D8917 -:105330009E890F94D4548823B4F48B899C89AD89B9 -:10534000BE8989839A83AB83BC838D818D8F8E8147 -:105350008E8F89819A81AB81BC818F8F98A3A9A3FD -:10536000BAA301C000008E818F5F8E8332CE8D8103 -:105370008F5F8D8329CE86E0FE017D96DE015796F4 -:1053800001900D928A95E1F750E05F8940E0488DE9 -:1053900030E0398D20E02A8D90E09B8D80E08C8D6F -:1053A000252E342E432E522E692E782EA22CB32C6D -:1053B000C42CD52CE62CF72C082D192D2A2D3B2D8D -:1053C0004C2D5D2D6E2D7F2D802F912FEA960FB6DF -:1053D000F894DEBF0FBECDBFDF91CF911F910F912B -:1053E000FF90EF90DF90CF90BF90AF909F908F9005 -:1053F0007F906F905F904F903F902F9008952F92E5 -:105400003F924F925F926F927F928F929F92AF9254 -:10541000BF92CF92DF92EF92FF920F931F93CF93A1 -:10542000DF93CDB7DEB7A4970FB6F894DEBF0FBEFB -:10543000CDBF19821A828FEF888F888D8F8B8FEF67 -:105440009FE4A3ECB7EC898F9A8FAB8FBC8F1B8244 -:105450008B8186300CF054C11C828C8186300CF01C -:105460004BC18B81282F880F330B8C81482F880FDD -:10547000550BC901880F991F820F931F880F991F21 -:10548000840F951F880F991F880F991F84529E4E75 -:10549000FC0180819181A281B38111E09C01AD0169 -:1054A000BC01CD010F94175F882309F410E011238C -:1054B00009F41EC18B810E94C19EDC01CB018D8F3E -:1054C0009E8FAF8FB8A38C810E94939EDC01CB018D -:1054D00089A39AA3ABA3BCA39E012F5D3F4FCE012E -:1054E0004D96B9010E94B5A0982F81E089278823A5 -:1054F00009F0FDC081E089838FEF8D838FEF8E836C -:1055000083EF9FE4A3ECB7E48F839887A987BA87DA -:105510001B868B8586300CF0C9C01C868C85863036 -:105520000CF0C0C08B85282F880F330B8C85482F3B -:10553000880F550BC901880F991F820F931F880F81 -:10554000991F840F951F880F991F880F991F8452E8 -:105550009E4EFC0180819181A281B38110E09C016B -:10556000AD01BC01CD010F94175F882309F411E050 -:10557000112309F493C081E08A838B81282F880F3F -:10558000330B8B85082E000C990BA901481B590B76 -:105590008B81282F880F330B8B85082E000C990BDD -:1055A000B901681B790BCB01489F9001499F300DD1 -:1055B000589F300D11248C81482F880F550B8C85F6 -:1055C000082E000C990BBA01681B790B8C81482FAF -:1055D000880F550B8C85082E000C990B481B590B16 -:1055E000649FC001659F900D749F900D1124820FE0 -:1055F000931F092E000CAA0BBB0BBC01CD010F940D -:10560000DB54DC01CB01BC01CD010F94C85E6B0102 -:105610007C010F94783EDC01CB012FE230E040E0CA -:1056200050E0BC01CD010F942A5BDC01CB010D964B -:10563000A11DB11DBC01CD010F94D954DC01CB01DA -:105640009C01AD0160E070E080E89FE30F94C45CD2 -:10565000DC01CB019C01AD01C701B6010F94CA5B0F -:10566000DC01CB018D879E87AF87B88B2F81388572 -:1056700049855A856D857E858F8598890F94D45488 -:10568000882364F48D859E85AF85B8898F8398873C -:10569000A987BA878B818D838C818E838C858F5F60 -:1056A0008C873CCF8B858F5F8B8733CF8A81882314 -:1056B000F9F08D818823E4F0898D9A8DAB8DBC8DB6 -:1056C0002F81388549855A85BC01CD010F94D4546A -:1056D000882374F48F819885A985BA85898F9A8FDC -:1056E000AB8FBC8F8D818F8B8E81888F01C0000026 -:1056F0008C818F5F8C83B1CE8B818F5F8B83A8CEA3 -:105700009A8181E08927882379F08981882361F053 -:1057100083E08F8B83E0888F80E090E0A0E8BFE398 -:10572000898F9A8FAB8FBC8F86E0FE017796DE0162 -:10573000519601900D928A95E1F750E0598940E029 -:105740004A8930E03B8920E02C8990E09D8980E007 -:105750008E89252E342E432E522E692E782EA22C81 -:10576000B32CC42CD52CE62CF72C082D192D2A2D62 -:105770003B2D4C2D5D2D6E2D7F2D802F912FA496CE -:105780000FB6F894DEBF0FBECDBFDF91CF911F9152 -:105790000F91FF90EF90DF90CF90BF90AF909F90D0 -:1057A0008F907F906F905F904F903F902F900895D3 -:1057B00081E090916A14911101C080E00D94033F43 -:1057C00080915F0C80936A1480E00D94033F1F93D7 -:1057D000CF93DF93CDB7DEB727970FB6F894DEBF30 -:1057E0000FBECDBF198210926414109265141092EE -:1057F000661410926714109263141092621488E574 -:105800000E94779E8093691480916914882329F0FF -:105810000E94F79DDC01CB0108C08091AD0C9091F6 -:10582000AE0CA091AF0CB091B00C80935E1490932D -:105830005F14A0936014B093611489E50E94779E71 -:105840008093681480916814882329F00E94F79D42 -:10585000DC01CB0108C08091B10C9091B20CA091F9 -:10586000B30CB091B40C80935A1490935B14A09332 -:105870005C14B0935D1482E50E942E9E882331F162 -:10588000809143189091441821E0892B09F420E07D -:10589000222319F00E94F39D02C084E290E09093CD -:1058A00063148093621464E270E082E694E10F94E2 -:1058B000AE2680916214909163141816190634F084 -:1058C0008EE79CE50F94DA4081E088C186E50E946E -:1058D0002E9E882319F00E94F39D02C080E090E084 -:1058E0009093291380932813809128139091291362 -:1058F000992334F08091281390912913059734F05F -:1059000085E59CE50F94DA4081E0898380E50E947B -:105910002E9E8823E1F00E94F39D9B838A838A81D7 -:105920009B819093591480935814809158149091AE -:105930005914992334F08091581490915914079771 -:1059400034F085E39CE50F94DA4081E089838AE4B2 -:105950000E942E9E882359F18091431890914418FB -:1059600021E0892B09F420E0222319F00E94F39D05 -:1059700002C080E090E090932B1380932A138091D3 -:105980002A1390912B13892B91F080912A139091D7 -:105990002B13029734F080912A1390912B130A97BE -:1059A00034F08BE09CE50F94DA4081E0898390919C -:1059B000691480916814981731F081EE9BE50F947B -:1059C000DA4081E0898380915E1490915F14A09108 -:1059D0006014B091611411E020E030E0A901BC0135 -:1059E000CD010F942A5E88230CF410E081E081271A -:1059F0008823C1F480915E1490915F14A09160148B -:105A0000B091611411E020E030E04DE953E4BC01B5 -:105A1000CD010F94D45418160CF410E081E08127C6 -:105A2000882361F080E090E0ADE1B3E480935E1400 -:105A300090935F14A0936014B093611480915A14F2 -:105A400090915B14A0915C14B0915D1411E020E082 -:105A500030E0A901BC01CD010F942A5E88230CF42B -:105A600010E081E081278823C1F480915A1490913D -:105A70005B14A0915C14B0915D1411E020E030E063 -:105A80004BE953E4BC01CD010F94D45418160CF427 -:105A900010E081E08127882361F080E090E0ABE1B5 -:105AA000B3E480935A1490935B14A0935C14B09366 -:105AB0005D148981882311F081E090C081E40E9407 -:105AC0002E9E882389F084E40E942E9E882331F044 -:105AD0008EEA9BE50F94DA4081E080C081E00F946C -:105AE000033F0F94E9400AC084E40E942E9E88235D -:105AF00029F080E00F94033F0F94E94083E40E9473 -:105B00002E9E8093571480915714882361F00E9431 -:105B1000F79DDC01CB018093641490936514A093EE -:105B20006614B093671486E40E94779E8823D1F1AF -:105B30000E94F79DDC01CB018C839D83AE83BF83E4 -:105B400011E020E030E0A9016C817D818E819F8190 -:105B50000F942A5E88230CF410E081E081278823CB -:105B600091F411E020E030E048EC52E46C817D815A -:105B70008E819F810F94D45418160CF410E081E0AC -:105B80008127882331F085E79BE50F94DA4081E097 -:105B900025C08C819D81AE81BF8141E0BC01CD01DA -:105BA0000F947B3F60E070E084E50E94849E9093B8 -:105BB000561480935514809155149091561499233E -:105BC00034F08091551490915614039734F081E687 -:105BD0009BE50F94DA4081E001C080E027960FB684 -:105BE000F894DEBF0FBECDBFDF91CF911F91089516 -:105BF0008F929F92AF92BF92EF92FF920F931F935B -:105C0000CF93DF938CEDE82E81E1F82EC0E0870181 -:105C1000D0E0F80180809180A280B380A50194013A -:105C2000C501B4010F94175F811117C0209164144E -:105C3000309165144091661450916714C501B40108 -:105C40000F94CA5B9B01AC01F8016083718382836E -:105C500093836D2F8C2F0E94BA81DF5F0C5F1F4FE3 -:105C6000D630B9F6CF5FF8E1EF0EF11CC63079F609 -:105C7000DF91CF911F910F91FF90EF90BF90AF9068 -:105C80009F908F9008952F923F924F925F926F92C4 -:105C90007F928F929F92AF92BF92CF92DF92EF92BC -:105CA000FF920F931F93CF93DF93CDB7DEB72A9761 -:105CB0000FB6F894DEBF0FBECDBF8C834D835E83DD -:105CC0006F8378878CED91E19B838A838C0186E0DA -:105CD000782E212C312CC12CD12C76011A861986D4 -:105CE000E985FA85E00FF11F80809180A280B38062 -:105CF000A5019401C501B4010F94175F81110BC078 -:105D0000A5019401C701B6010F94CA5B6B017C0128 -:105D10009FEF291A390AE985FA853496FA87E987C7 -:105D20007897F1F67A94085E1F4F7110D7CFB101C2 -:105D3000032C000C880B990B0F94DB549B01AC01D6 -:105D4000C701B6010F94C45C6B017C018CED91E13D -:105D50009A87898796E09983812C912C540100E0E1 -:105D600010E0E985FA85E00FF11F408051806280E4 -:105D70007380A3019201C301B2010F94175F8111D7 -:105D800012C0A7019601C301B2010F94C95B9B0128 -:105D9000AC010F943A559B01AC01C501B4010F94BD -:105DA000CA5B4B015C010C5F1F4F08311105C9F63E -:105DB000E981E150E98389859A8548969A878987A0 -:105DC000E111CDCFB10183E29BE50F9437418AE029 -:105DD0000E94AA65E7E7F8E0FA87E987E985FA858E -:105DE0008191FA87E987882319F00E94AA65F6CF86 -:105DF00046E0C701B6010E944A668AE00E94AA6591 -:105E0000B1016F5F7F4F072E000C880B990B0F9429 -:105E1000DB549B01AC01C501B4010F94C45C0F9429 -:105E2000C85E4B015C0182E398E09A878987E98527 -:105E3000FA858191FA87E987882319F00E94AA657B -:105E4000F6CF46E0C501B4010E944A668AE00E948E -:105E5000AA65FC81FF23F1F110E08A819B819A877A -:105E6000898700E0E985FA8580809180A280B380EF -:105E7000A5019401C501B4010F94175F81111AC0E7 -:105E80002D813E814F815885C701B6010F94CA5BB1 -:105E90009B01AC01C501B4010F94C95B9B01AC012E -:105EA000E985FA856083718382839383602F812FD4 -:105EB0000E94BA810F5F89859A8504969A8789879F -:105EC000063081F61F5FEA81FB817896FB83EA83C7 -:105ED000163019F62A960FB6F894DEBF0FBECDBF66 -:105EE000DF91CF911F910F91FF90EF90DF90CF90B6 -:105EF000BF90AF909F908F907F906F905F904F90EA -:105F00003F902F900895AF92BF92CF92DF92EF9281 -:105F1000FF920F931F93CF93DF93CDB7DEB7A89770 -:105F20000FB6F894DEBF0FBECDBF9BA38AA37DA39F -:105F30006CA34EA32FA308A70F94E02B81E00E942F -:105F40001C8D84E289838EA1882331F080915514C1 -:105F5000909156140E94D2A18981882F90E025E269 -:105F600030E0A901481B590BCA019B838A838CE44A -:105F70009BE52A813B81B9010F9437418AE49BE577 -:105F800064E270E00F94374186E49BE50F94DA40B9 -:105F900082E39BE51F9224E22F932B812F932A818A -:105FA0002F93292F2F938F931F920F946A088DB7E9 -:105FB0009EB707960FB6F894DEBF0FBECDBF88A57B -:105FC0008823C9F00F94FF29A22EB32EC42ED52EFC -:105FD000E62EF72E082F192F2A2D3B2D4C2D5D2D47 -:105FE0006E2D7F2D802F912F2C8B3D8B4E8B5F8BB9 -:105FF000688F798F21C04CA15DA18AA19BA100E08F -:1060000010E021E0BC0180E00F946927A22EB32E9E -:10601000C42ED52EE62EF72E082F192F2A2D3B2D14 -:106020004C2D5D2D6E2D7F2D802F912F2C8B3D8B38 -:106030004E8B5F8B688F798F8C8988230CF45AC0C4 -:106040008C890E94C19EDC01CB018A8F9B8FAC8F13 -:10605000BD8F8D890E94939EDC01CB018E8F9F8F17 -:10606000A8A3B9A38091281390912913282F8FA159 -:10607000882311F031E001C032E0BE01625E7F4F43 -:10608000CE014A9601E0432F0E94BD8DDC01CB0179 -:106090008C839D83AE83BF838C89282F880F330B1D -:1060A0008D89482F880F550BC901880F991F820FC2 -:1060B000931F880F991F840F951F880F991F880FB2 -:1060C000991F9C0124523E4E8C819D81AE81BF81DF -:1060D000F90180839183A283B3838D89682F8C8992 -:1060E000782F8C819D81AE81BF819C01AD01872F6E -:1060F0000E94BA810E94D5668C89882344F08981E8 -:10610000815089838981882311F081E001C080E07A -:10611000882309F018CF80E00E941C8D0E94D48C47 -:106120000F94D82B188A198A1A8A1B8A8CA19DA1D0 -:10613000FC0180819181A281B3812091870C3091F3 -:10614000880C4091890C50918A0CBC01CD010F94B0 -:10615000C95BDC01CB016C017D0160E070E083E094 -:1061600090E00E94CDA1092E000CAA0BBB0BBC0134 -:10617000CD010F94DB54DC01CB019C01AD01C701C3 -:10618000B6010F94D45488238CF460E070E083E06F -:1061900090E00E94CDA1092E000CAA0BBB0BBC0104 -:1061A000CD010F94DB54DC01CB0155C08CA19DA126 -:1061B000FC0180819181A281B3812091870C309173 -:1061C000880C4091890C50918A0CBC01CD010F9430 -:1061D000C95BDC01CB016C017D0166E371E083E307 -:1061E00091E00E94C8A1092E000CAA0BBB0BBC01B8 -:1061F000CD010F94DB54DC01CB019C01AD01C70143 -:10620000B6010F942A5E18168CF466E371E083E3FE -:1062100091E00E94C8A1092E000CAA0BBB0BBC0187 -:10622000CD010F94DB54DC01CB0115C08CA19DA1E5 -:10623000FC0180819181A281B3812091870C3091F2 -:10624000880C4091890C50918A0CBC01CD010F94AF -:10625000C95BDC01CB018C879D87AE87BF878AA194 -:106260009BA1FC0180819181A281B3812091830C4B -:106270003091840C4091850C5091860CBC01CD016D -:106280000F94C95BDC01CB016C017D0160E070E023 -:1062900083E090E00E94CDA1092E000CAA0BBB0B5D -:1062A000BC01CD010F94DB54DC01CB019C01AD019D -:1062B000C701B6010F94D45488238CF460E070E0D9 -:1062C00083E090E00E94CDA1092E000CAA0BBB0B2D -:1062D000BC01CD010F94DB54DC01CB0155C08AA178 -:1062E0009BA1FC0180819181A281B3812091830CCB -:1062F0003091840C4091850C5091860CBC01CD01ED -:106300000F94C95BDC01CB016C017D016BE371E093 -:1063100087E391E00E94C8A1092E000CAA0BBB0BD9 -:10632000BC01CD010F94DB54DC01CB019C01AD011C -:10633000C701B6010F942A5E18168CF46BE371E066 -:1063400087E391E00E94C8A1092E000CAA0BBB0BA9 -:10635000BC01CD010F94DB54DC01CB0115C08AA137 -:106360009BA1FC0180819181A281B3812091830C4A -:106370003091840C4091850C5091860CBC01CD016C -:106380000F94C95BDC01CB0188879987AA87BB87FB -:10639000AE01405F5F4F9E01245F3F4FCE010896E4 -:1063A000B9010E941E79A8960FB6F894DEBF0FBE01 -:1063B000CDBFDF91CF911F910F91FF90EF90DF90B4 -:1063C000CF90BF90AF90089584E08A950000E9F7E0 -:1063D0000895FC01DB018C9120813181382798E000 -:1063E000A901440F551F37FD06C09A019150C1F70E -:1063F0003183208308959A01B1E22B27B0E13B2736 -:10640000F5CFEF92FF920F931F93CF93DF93FC0191 -:1064100001900020E9F731979F01281B390B1216D4 -:106420001306CCF56AE56093C11665EA6093C2165F -:1064300063E0620F6093C31662E86093C4165093E2 -:10644000C5164093C616FC01A7ECB6E1820F931F58 -:1064500041914D93E817F907D9F781ECE82E86E1D1 -:10646000F82E00E010E0E9012596C017D10764F08E -:10647000D7016D917D0185E794E10E94796F0F94BA -:10648000E4310F5F1F4FF1CF8AE1E1ECF6E1DF016C -:106490001D928A95E9F7DF91CF911F910F91FF909F -:1064A000EF9008950F931F93CF93DF93209172166F -:1064B0002A3509F098C090917316953A09F093C067 -:1064C00080917116833008F48EC02093C11690938A -:1064D000C2168093C316909174169093C416903888 -:1064E000B1F4909175169093C516EDE7F6E1A6EC20 -:1064F000B6E120E030E090E00297281739070CF071 -:1065000044C0408132964D932F5F3F4FF6CF83308A -:1065100061F4913809F064C0809175168093C516B6 -:10652000809179168093C61630C09238F1F490911C -:106530007516209176162093C5169093C616E7EC33 -:10654000F6E120E030E090E0039728173907ECF4FB -:10655000D901AE7FA358B94E4C9111965C915083EE -:1065600041832E5F3F4F3296F0CF843071F49338E1 -:1065700061F480917516909176169093C51680936C -:10658000C616809179168093C71601EC16E1C0E01B -:10659000D0E08091711690E002968C179D075CF018 -:1065A000D8016D918D0185E794E10E94796F0F9478 -:1065B000E4312196EECF80E5E1E7F6E1DF011D92BF -:1065C0008A95E9F78AE1E1ECF6E1DF011D928A950F -:1065D000E9F78AE58093721685EA8093731603C003 -:1065E000923899F6A4CFDF91CF911F910F91089522 -:1065F000CF93DF93CDB7DEB7A8970FB6F894DEBF81 -:106600000FBECDBF8C010E9471FD0F9456418BECE3 -:106610009CE50F94DA400115110511F402EC1CE51C -:106620008091741480FD75C08160809374148AE831 -:1066300098E00E94C866882483948AE5982E9092F8 -:106640007E1680927D168FE090E090938016809366 -:106650007F1697E0A92EA092711622E8B22EB09272 -:10666000741634E8C32ED12CE12CF12CC09275168F -:10667000D0927616E0927716F09278160F945232F6 -:1066800090927E1680927D1688E590E09093801619 -:1066900080937F16A0927116B0927416C0927516F0 -:1066A000D0927616E0927716F09278160F945232C6 -:1066B00063E070E080E090E00E949F818AE289833D -:1066C0008A838B838C83DE011596F801CE010196B7 -:1066D0009D01281B390B44913196442311F04D93B1 -:1066E000F7CFFC01E20FF31F2AE2AF01481B590B61 -:1066F0004832510511F02193F8CF40E650E160E0B7 -:1067000070E00F9401326AE070E080E090E00E9457 -:106710009F8161E089EB9CE50F94830989EE93E00A -:1067200030E6019729F0232F2A950000E9F7F9CFE9 -:10673000F89489EE93E038EE019729F0232F2A95FB -:106740000000E9F7F9CF0E9471FD0E941963A89536 -:10675000FECFCF92DF92EF92FF920F94783E6B01C3 -:106760007C0128E5C20E22E0D21EE11CF11C0E9431 -:10677000CA6E8F3F61F00F94783EDC01CB018C191B -:106780009D09AE09BF09B7FDF2CF80E001C081E0ED -:10679000FF90EF90DF90CF9008958F929F92AF92ED -:1067A000BF92CF92DF92EF92FF920F931F93CF93FE -:1067B000DF9300D01F92CDB7DEB7FC01838181301B -:1067C00079F5818181FF2CC081899289A389B4895F -:1067D000892B8A2B8B2B09F448C07F0140E050E0C5 -:1067E000BA01CF010E94F4938823D1F0F701858884 -:1067F0009688A788B08CC18CD28C82E090E0A0E013 -:10680000B0E0F60180839183A283B3839E012F5F62 -:106810003F4FB501A401C6010E947776811102C0E5 -:1068200080E03CC000E010E09801B501A401C60181 -:106830000E94E5758823A1F389809A80AB80BC8093 -:10684000F6018789803141F4F8EF8F16FFEF9F063C -:10685000A104B10460F4DACF88EF88168FEF9806B0 -:10686000A8068FE0B80618F4D1CF81E017C0F70171 -:10687000158A168A178A108E118A128A138A148A28 -:10688000818180688183C7010E942D97882341F20E -:1068900040E050E0BA01C7010E94F4930F900F90BE -:1068A0000F900F90DF91CF911F910F91FF90EF907C -:1068B000DF90CF90BF90AF909F908F9008952F92D0 -:1068C0003F924F925F926F927F928F929F92AF9280 -:1068D000BF92CF92DF92EF92FF920F931F93CF93CD -:1068E000DF931F921F92CDB7DEB77C012DB73EB765 -:1068F0003A83298380913A18811107C010921F189A -:106900001092221881E080933A1880911718811113 -:1069100007C01092FC171092FF1781E080931718A0 -:10692000FB0180818F3259F48BE695E1F701918369 -:1069300080831092EF178B010F5F1F4F06C080E519 -:1069400095E1F701918380838B01F70120803180ED -:106950002FE1C22E28E1D22E0115110509F479C0CC -:106960004DB65EB66FE270E0C8010F9470604C01E6 -:106970000817190708F06BC03C01601A710A7724E8 -:10698000C30101962DB73EB7281B390B0FB6F894FB -:106990003EBF0FBE2DBF8DB79EB701965C01A30110 -:1069A000B8010F949060F501E60DF71D1082F70114 -:1069B0006081718121E0A501C6010E944C9B81117B -:1069C0000FC0B50185EA9CE50F94434182EA9CE53E -:1069D0000F94DA400FB6F8945EBE0FBE4DBE39C0BC -:1069E000F701808191812816390611F00E94609785 -:1069F000F701D182C082A091EF17AA3080F481E024 -:106A00008A0F8093EF17FBE1FA9FD0011124AF5159 -:106A1000B94EF6018BE101900D928A95E1F7F701ED -:106A2000808191818F51984129F49CEFC92E97E183 -:106A3000D92E04C08FE1C82E88E1D82E84010F5FC3 -:106A40001F4F0FB6F8945EBE0FBE4DBE85CFC80176 -:106A500002C080E090E029813A810FB6F8943EBFF1 -:106A60000FBE2DBF0F900F90DF91CF911F910F910F -:106A7000FF90EF90DF90CF90BF90AF909F908F905E -:106A80007F906F905F904F903F902F90089520914E -:106A900073142695269520FF2DC02091FA1730916A -:106AA000FB17280F391F3093FB172093FA172091FB -:106AB000711430917214280F391F3093721420937F -:106AC00071142091080121702093060120916F1408 -:106AD00030917014820F931F9093701480936F14F1 -:106AE0000F94783E60936B1470936C1480936D14C4 -:106AF00090936E1408954F925F926F927F928F924F -:106B00009F92AF92BF92CF92DF92EF92FF920F933C -:106B10001F93CF93DF93CDB7DEB764970FB6F8948A -:106B2000DEBF0FBECDBF082FF62EE42E882E912C8F -:106B300026E0829FC0011124FC01E957F14A6590CB -:106B40007490FC01EB57F14A5F0145905490F301BA -:106B50008081482F487050E060E070E0769567953E -:106B600057954795F20110811370142BF4E0EF1242 -:106B700009C0807190E0A0E0B0E0B695A795979528 -:106B80008795182B8BE79EE50F94DA40005D802FE8 -:106B90000E94AA658F2D0E94AA6583E00F949240FF -:106BA000F401EE0FFF1F8F2D0F2C000C990B9E018F -:106BB0002F5F3F4F690133E0E80DF91D81549109C2 -:106BC000E80FF91FEE0FFF1FE95AF14AE3121BC04D -:106BD000A591B4918C911F928F938DE49EE59F9324 -:106BE0008F93DF92CF920F946C540F900F900F9071 -:106BF0000F900F900F90F60181916F01882309F19A -:106C00000E94AA65F8CFA591B49111968C91119725 -:106C10008F938C918F9383E49EE59F938F93DF9264 -:106C2000CF920F946C540F900F900F900F900F9085 -:106C30000F90F60181916F01882319F00E94AA65D7 -:106C4000F8CF612F70E089E39EE50F943741F5019D -:106C5000C590D4908DEA9DE50F94DA40802F0E9474 -:106C6000AA65F2E4FF1691F023E4F216F9F031E49C -:106C7000F3122DC0F601408142954695469543702A -:106C800050E060E070E089EA9DE51FC0F6014081B8 -:106C9000407350E060E070E094E07695679557951A -:106CA00047959A95D1F785EA9DE50FC0F601408199 -:106CB0004C7050E060E070E082E076956795579503 -:106CC00047958A95D1F781EA9DE50F940841F30134 -:106CD0004081477050E060E070E080E39EE50F94F3 -:106CE000084187E29EE50F94DA40802F0E94AA6552 -:106CF000F201608170E083E29EE50F9437418AE102 -:106D00009EE50F94DA40802F0E94AA65F30160810E -:106D100070E086E19EE50F94374186E0889DF001A2 -:106D2000899DF00D1124E757F14AC590D4908CE06D -:106D30009EE50F94DA40802F0E94AA65F6016081DB -:106D400070E089E09EE50F94374100EC0F0DF3E011 -:106D5000EF1207C0197F59F485EB9DE50F94DA40D7 -:106D600006C0812F8B7FC1F31C501230A8F3F601AF -:106D7000808190E0A0E0B0E004C0B695A79597951B -:106D800087950A95D2F780FF04C08EEC9DE50F949D -:106D9000DA40F601808180FF04C08BEE9DE50F9400 -:106DA000DA4064960FB6F894DEBF0FBECDBFDF9118 -:106DB000CF911F910F91FF90EF90DF90CF90BF90F8 -:106DC000AF909F908F907F906F905F904F900895BD -:106DD000CF93DF93C82F82ED9EE50F94DA400C2EFF -:106DE000000CDD0BFE01E75DF04A8491805C0E949F -:106DF000AA65FE01E159F04AE49180E3E13021F017 -:106E0000E6958F5F8933D1F7DF91CF910C94AA6516 -:106E1000082E000C990BFC01E75DF04AE491EE238B -:106E200099F0F0E0EE0FFF1FE15FF04AA591B491F9 -:106E30002C91FC01E159F04A8491822321E090E0F9 -:106E400009F420E0822F089580E090E00895CF9328 -:106E5000DF93C82FD0E0FE01EB54F04AE4918E2F6F -:106E600090E0FC013197E231F105E8F58827EA541A -:106E7000FF4F8F4F0D94C15B43E061E402C043E0DC -:106E800062E480E02EC044E061E405C044E062E4D6 -:106E900002C044E063E481E024C043E061E402C056 -:106EA00043E062E482E01DC044E061E405C044E0E8 -:106EB00062E402C044E063E483E013C044E061E4C0 -:106EC00005C044E062E402C044E063E484E009C039 -:106ED00044E061E405C044E062E402C044E063E4ED -:106EE00085E00F947B358FEC9EE50F94DA40FE0130 -:106EF000E75DF04AE491E230F9F4FE01E159F04A2D -:106F0000E491E038C9F48BEC9EE50F94DA4082E11D -:106F10000F94924083EC9EE50F94DA4089EA9EE557 -:106F20000F94DA408EE00F94924044E063E481E0F5 -:106F3000DF91CF910D947B35DF91CF9108950F9321 -:106F40001F93CF93DF93CDB7DEB764970FB6F89456 -:106F5000DEBF0FBECDBFE82FF0E0EB54F04AE49166 -:106F60008E2F90E0FC013197E231F10508F049C223 -:106F70008827E853FF4F8F4F0D94C15B84B5807C09 -:106F800009F43FC287B51F928F9387E99DE59F93D0 -:106F90008F938E010F5F1F4F1F930F930F946C54AD -:106FA0000F900F900F900F900F900F90F80181911C -:106FB0008F01811102C081E025C20E94AA65F6CF2F -:106FC00084B5807309F41DC288B51F928F938DE834 -:106FD0009DE59F938F938E010F5F1F4F1F930F931C -:106FE0000F946C540F900F900F900F900F900F9084 -:106FF000F80181918F018823F1F20E94AA65F8CFF0 -:1070000080918000807C09F4FCC18091880090917F -:1070100089009F938F9383E89DE59F938F938E01C3 -:107020000F5F1F4F1F930F930F946C540F900F908F -:107030000F900F900F900F90F80181918F0188238E -:1070400009F4B9CF0E94AA65F7CF809180008073C0 -:1070500009F4D7C180918A0090918B009F938F9300 -:1070600089E79DE59F938F938E010F5F1F4F1F93BD -:107070000F930F946C540F900F900F900F900F90F0 -:107080000F90F80181918F01882309F494CF0E9419 -:10709000AA65F7CF809180008C7009F4B2C180910D -:1070A0008C0090918D009F938F938FE69DE59F9329 -:1070B0008F938E010F5F1F4F1F930F930F946C548C -:1070C0000F900F900F900F900F900F90F8018191FB -:1070D0008F01882309F46FCF0E94AA65F7CF8091B2 -:1070E000B000807C09F48DC18091B3001F928F9312 -:1070F00085E69DE59F938F938E010F5F1F4F1F9332 -:107100000F930F946C540F900F900F900F900F905F -:107110000F90F80181918F01882309F44CCF0E94D0 -:10712000AA65F7CF8091B000807309F46AC180919D -:10713000B4001F928F938BE59DE59F938F938E01F3 -:107140000F5F1F4F1F930F930F946C540F900F906E -:107150000F900F900F900F90F80181918F0188236D -:1071600009F429CF0E94AA65F7CF80919000807C16 -:1071700009F447C180919800909199009F938F9353 -:1071800081E59DE59F938F938E010F5F1F4F1F93A6 -:107190000F930F946C540F900F900F900F900F90CF -:1071A0000F90F80181918F01882309F404CF0E9488 -:1071B000AA65F7CF80919000807309F422C1809175 -:1071C0009A0090919B009F938F9387E49DE59F93F6 -:1071D0008F938E010F5F1F4F1F930F930F946C546B -:1071E0000F900F900F900F900F900F90F8018191DA -:1071F0008F01882309F4DFCE0E94AA65F7CF809122 -:1072000090008C7009F4FDC080919C0090919D00CD -:107210009F938F938DE39DE59F938F938E010F5FD7 -:107220001F4F1F930F930F946C540F900F900F905C -:107230000F900F900F90F80181918F01882309F42E -:10724000BACE0E94AA65F7CF8091A000807C09F495 -:10725000D8C08091A8009091A9009F938F9383E359 -:107260009DE59F938F938E010F5F1F4F1F930F9389 -:107270000F946C540F900F900F900F900F900F90F1 -:10728000F80181918F01882309F495CE0E94AA65A7 -:10729000F7CF8091A000807309F4B3C08091AA0059 -:1072A0009091AB009F938F9389E29DE59F938F937D -:1072B0008E010F5F1F4F1F930F930F946C540F900D -:1072C0000F900F900F900F900F90F80181918F0108 -:1072D000882309F470CE0E94AA65F7CF8091A000A0 -:1072E0008C7009F48EC08091AC009091AD009F939A -:1072F0008F938FE19DE59F938F938E010F5F1F4FBB -:107300001F930F930F946C540F900F900F900F904A -:107310000F900F90F80181918F01882309F44BCED3 -:107320000E94AA65F7CF80912001807C09F469C092 -:1073300080912801909129019F938F9385E19DE58C -:107340009F938F938E010F5F1F4F1F930F930F9487 -:107350006C540F900F900F900F900F900F90F801BA -:1073600081918F01882309F426CE0E94AA65F7CF68 -:1073700080912001807309F444C080912A0190918A -:107380002B019F938F938BE09DE59F938F938E01AD -:107390000F5F1F4F1F930F930F946C540F900F901C -:1073A0000F900F900F900F90F80181918F0188231B -:1073B00009F401CE0E94AA65F7CF809120018C705C -:1073C00001F180912C0190912D019F938F9381E089 -:1073D0009DE59F938F938E010F5F1F4F1F930F9318 -:1073E0000F946C540F900F900F900F900F900F9080 -:1073F000F80181918F01882309F4DDCD0E94AA65EF -:10740000F7CF80E064960FB6F894DEBF0FBECDBF15 -:10741000DF91CF911F910F910895082E000C990BC9 -:10742000FC01E75DF04AE491F0E0EE0FFF1FE5524A -:10743000F14AA591B4912C91FC01E159F04AE491F3 -:10744000E22381E009F480E0089580914F1487FDE4 -:1074500005C0809150148E7009F445C083E50E94E8 -:10746000779E882391F00E94F79D6093B4117093EA -:10747000B5118093B6119093B7116093BC117093BE -:10748000BD118093BE119093BF1180E50E94779E3D -:10749000882351F00E94F79D6093B4117093B51149 -:1074A0008093B6119093B71182E50E94779E88234E -:1074B00051F00E94F79D6093B8117093B9118093B9 -:1074C000BA119093BB1184E50E94779E882391F1B5 -:1074D0000E94F79D6093BC117093BD118093BE1103 -:1074E0009093BF1108954091B4115091B5116091DE -:1074F000B6117091B71181EF9CE50F942641409130 -:10750000B8115091B9116091BA117091BB118EEE02 -:107510009CE50F9426414091BC115091BD116091A2 -:10752000BE117091BF118BEE9CE50F9426418AE04D -:107530000C94AA650895809143189091441800977F -:1075400031F04AE050E060E070E00D94F85260E005 -:1075500070E0CB01089590E0FC013197E231F10534 -:1075600008F04EC08827E652FF4F8F4F0D94C15B45 -:10757000809180008F7703C0809180008F7D809301 -:107580008000089580918000877FF9CF84B58F7740 -:1075900002C084B58F7D84BD08958091B0008F773F -:1075A00003C08091B0008F7D8093B00008958091DA -:1075B00090008F7707C0809190008F7D03C08091ED -:1075C0009000877F8093900008958091A0008F772E -:1075D00007C08091A0008F7D03C08091A000877FAD -:1075E0008093A0000895809120018F7707C080913B -:1075F00020018F7D03C080912001877F809320012F -:1076000008953FB7F8948091521890915318A09123 -:107610005418B091551826B5A89B05C02F3F19F0F6 -:107620000196A11DB11D3FBFBA2FA92F982F882702 -:10763000820F911DA11DB11DBC01CD0142E0660F5D -:10764000771F881F991F4A95D1F708952F923F926F -:107650004F925F926F927F928F929F92AF92BF9262 -:10766000CF92DF92EF92FF920F931F93CF93DF930E -:10767000CDB7DEB7A0970FB6F894DEBF0FBECDBF73 -:107680001C018B015A8749873C872B87C090AD0C22 -:10769000D090AE0CE090AF0CF090B00CDC018D916E -:1076A0009D910D90BC91A02D8D879E87AF87B88B43 -:1076B0009C01AD01C701B6010F94C95B2B013C01D0 -:1076C0008091B10C9091B20CA091B30CB091B40C1C -:1076D000898B9A8BAB8BBC8BD8018D919D910D9032 -:1076E000BC91A02D8D8B9E8BAF8BB88F9C01AD0173 -:1076F00069897A898B899C890F94C95B4B015C01EC -:10770000A3019201C301B2010F943A552B013C0130 -:10771000A5019401C501B4010F943A559B01AC0138 -:10772000C301B2010F94CA5B698F7A8F8B8F9C8FD4 -:10773000E985FA854080518062807380A3019201BF -:10774000C701B6010F94C95B6D8F7E8F8F8F98A391 -:10775000AB85BC858D909D90AD90BC90A5019401AA -:1077600069897A898B899C890F94C95B6B017C013B -:107770002D853E854F855889C301B2010F94C95BA1 -:107780002B013C012D893E894F89588DC501B401DB -:107790000F94C95B4B015C01A3019201C301B201CB -:1077A0000F943A552B013C01A5019401C501B40188 -:1077B0000F943A559B01AC01C301B2010F94CA5B0F -:1077C0000F94C85E4B015C012D8D3E8D4F8D58A1ED -:1077D000CA01B9010F943A552B013C01A70196014A -:1077E000C701B6010F943A559B01AC01C301B20128 -:1077F0000F94CA5B9B01AC01698D7A8D8B8D9C8D3A -:107800000F942A5E181604F520E030E0A901C501A6 -:10781000B4010F942A5E87FF04C0C501B4019058DB -:1078200002C0C501B40120E030E040EA50E40F940A -:107830002A5E18164CF49801A1016B857C85898518 -:107840009A850F94263B85C020E030E040E050E46C -:10785000698D7A8D8B8D9C8D0F942A5E18160CF095 -:1078600044C00E94A0BB19821A821B821C8220E0A5 -:1078700030E040E05FE36091B50C7091B60C809110 -:10788000B70C9091B80C0F94CA5B6D837E838F8385 -:1078900098879E012F5F3F4FAE014B5F5F4F61EBBB -:1078A0007CE08DEA9CE00E9413EC19821A821B8214 -:1078B0001C8220E030E040E05FE360914518709169 -:1078C000461880914718909148180F94CA5B6D83B1 -:1078D0007E838F8398879E012F5F3F4FAE014B5F62 -:1078E0005F4FB801C1010E9413EC19821A821B82FA -:1078F0001C829E012F5F3F4F45E458E1B801C10152 -:107900000E9413EC20916302309164024091650261 -:1079100050916602C501B4010F943A55209149185F -:1079200030914A1840914B1850914C180F943A5589 -:1079300069837A838B839C830E94CCBB9E012F5FDB -:107940003F4F45E458E16B857C8589859A850E9487 -:1079500013ECA0960FB6F894DEBF0FBECDBFDF913B -:10796000CF911F910F91FF90EF90DF90CF90BF903C -:10797000AF909F908F907F906F905F904F903F90CF -:107980002F900895CF93DF93282F30E0F901EB5427 -:10799000F04A8491F901E159F04AD491F901E75D87 -:1079A000F04AC491CC2391F081110F94AB3AEC2FA3 -:1079B000F0E0EE0FFF1FE15FF04AA591B491EC916A -:1079C000ED2381E090E021F480E002C080E090E0CF -:1079D000DF91CF9108951F93CF93DF93282F30E04D -:1079E000F901EB54F04A8491F901E159F04AD4913C -:1079F000F901E75DF04AC491CC23C1F0162F811143 -:107A00000F94AB3AEC2FF0E0EE0FFF1FEB50F14A72 -:107A1000A591B4919FB7F894111104C08C91D095A1 -:107A2000D82302C0EC91DE2BDC939FBFDF91CF9176 -:107A30001F910895CF93DF9390E0FC01E159F04A44 -:107A40002491FC01E75DF04A8491882361F190E084 -:107A5000880F991FFC01E552F14AC591D491FC01B0 -:107A6000EB50F14AA591B491611109C09FB7F89408 -:107A70008881209582238883EC912E230BC062306D -:107A800061F49FB7F8948881322F309583238883DF -:107A9000EC912E2B2C939FBF06C08FB7F894E881F2 -:107AA0002E2B28838FBFDF91CF9108951F93CF9303 -:107AB000DF93182FEB0161E00F941A3D209711F42A -:107AC00060E004C0CF3FD10539F461E0812FDF9140 -:107AD000CF911F910D94EB3CE12FF0E0EB54F04A75 -:107AE000E4918E2F90E0FC013197E231F10508F02E -:107AF0009DC08827E451FF4F8F4F0D94C15B84B523 -:107B0000806884BDC7BD97C084B5806284BDC8BD90 -:107B100092C080918000806880938000D09389001B -:107B2000C093880088C0809180008062809380002C -:107B3000D0938B00C0938A007EC0809180008860C3 -:107B400080938000D0938D00C0938C0074C080918E -:107B5000B00080688093B000C093B3006CC0809187 -:107B6000B00080628093B000C093B40064C0809184 -:107B70009000806880939000D0939900C093980003 -:107B80005AC080919000806280939000D0939B00B7 -:107B9000C0939A0050C080919000886080939000BC -:107BA000D0939D00C0939C0046C08091A000806847 -:107BB0008093A0008091A0008F7B8093A000D09341 -:107BC000A900C093A80037C08091A0008062809374 -:107BD000A000D093AB00C093AA002DC08091A0005C -:107BE00088608093A000D093AD00C093AC0023C008 -:107BF00080912001806880932001D0932901C09357 -:107C0000280119C080912001806280932001D093C7 -:107C10002B01C0932A010FC08091200188608093BE -:107C20002001D0932D01C0932C0105C0C038D1058F -:107C30000CF04BCF45CFDF91CF911F910895863344 -:107C400008F0865390917B00282F2870977F922B05 -:107C500090937B008770806480937C0080917A0091 -:107C6000806480937A0080917A0086FDFCCF8091B9 -:107C700078002091790090E0922B08958F929F9246 -:107C8000AF92BF92CF92DF92EF92FF926B017C0195 -:107C90000F94013B4B015C01C114D104E104F104D8 -:107CA000F1F00F94013BDC01CB0188199909AA0975 -:107CB000BB09883E9340A105B10570F321E0C21ACB -:107CC000D108E108F10888EE880E83E0981EA11C17 -:107CD000B11CC114D104E104F10419F7DDCFFF9008 -:107CE000EF90DF90CF90BF90AF909F908F900895CE -:107CF0002FB7F89460914E1870914F1880915018DA -:107D0000909151182FBF08951F920F920FB60F92A6 -:107D100011242F933F938F939F93AF93BF938091A1 -:107D20004E1890914F18A0915018B0915118309161 -:107D30004D1823E0230F2D3720F40196A11DB11D0E -:107D400005C026E8230F0296A11DB11D20934D18F2 -:107D500080934E1890934F18A0935018B0935118D9 -:107D60008091521890915318A0915418B0915518C1 -:107D70000196A11DB11D8093521890935318A093A2 -:107D80005418B0935518BF91AF919F918F913F9127 -:107D90002F910F900FBE0F901F9018958F929F926A -:107DA000AF92BF92EF92FF920F931F93CF93DF9307 -:107DB0004B015C010CED11E1C0E0E12CF12CD0E0B5 -:107DC000F801EE0DFF1D80829182A282B382A5018F -:107DD00094016D2F8C2F0E94BA81DF5F84E0E80E42 -:107DE000F11CD63069F7CF5F085E1F4FC63029F708 -:107DF000DF91CF911F910F91FF90EF90BF90AF90C7 -:107E00009F908F90089590915F0C9817D1F00E94E9 -:107E1000BA9180915F0C882359F045EB5CE061EBEF -:107E20007CE08DEA9CE00E94B29310925F0C07C048 -:107E300081E080935F0C8DEA9CE00E9478930C9423 -:107E4000E979089580E00F94033F60E070E080ECF2 -:107E50009FE70D94CE3E1F93CF93DF9310915F0C5D -:107E600080E00F94033F8FEF8093430C80E090E01D -:107E7000A0E2B1E480936C1290936D12A0936E1205 -:107E8000B0936F128DEC9CECACECBDE380931814B6 -:107E900090931914A0931A14B0931B1480EF9FEFC2 -:107EA000A9E7B4EC80931C1490931D14A0931E14A6 -:107EB000B0931F1480E9ECEDF1E1DF011D928A958A -:107EC000E9F7C0E0D0E020E030E0A9016D2F8C2F71 -:107ED0000E94BA81DF5FD630B1F7CF5FC63091F72D -:107EE000112329F0DF91CF911F910C949A7CDF919F -:107EF000CF911F910895CF92DF92EF92FF920F934F -:107F00001F93CF93DF93CDB7DEB72C970FB6F894BE -:107F1000DEBF0FBECDBF7B018C01D42E9B01AC0117 -:107F200060916C1270916D1280916E1290916F122F -:107F30000F94D454882309F496C0C0905F0C80E05D -:107F40000F94033F20E030E0A901B701C8010F946E -:107F50002A5E181624F0E12CF12C00E010E0C70195 -:107F6000D80180936C1290936D12A0936E12B0930F -:107F70006F122DEB37E346E855EBB701C8010F94BC -:107F80002A5E87FD0AC02DEB37E346E855E3B701CB -:107F9000C8010F94D45418164CF49701A80160E05E -:107FA00070E080E89FE30F94C45C03C060E070E081 -:107FB000CB01609318147093191480931A14909342 -:107FC0001B1480EF9FEFA9E7B4EC80931C149093EF -:107FD0001D14A0931E14B0931F14CC2009F443C0A9 -:107FE0008091AD0C9091AE0CA091AF0CB091B00C03 -:107FF00089839A83AB83BC838091B10C9091B20C3E -:10800000A091B30CB091B40C8D839E83AF83B887DD -:108010008091B50C9091B60CA091B70CB091B80CB2 -:1080200089879A87AB87BC8781E00F94033FDD2067 -:10803000D1F04CE050E06DEA7CE0CE0101960F9467 -:108040003C60892B81F02C960FB6F894DEBF0FBEF2 -:10805000CDBFDF91CF911F910F91FF90EF90DF90F7 -:10806000CF900C949A7C2C960FB6F894DEBF0FBE7E -:10807000CDBFDF91CF911F910F91FF90EF90DF90D7 -:10808000CF900895EF92FF921F93CF93DF938CEDE3 -:10809000E82E81E1F82E16E0C0E0D0E0F701EC0F09 -:1080A000FD1F60817181828193819B01AC010F94DE -:1080B000175F81110CC02496C831D10579F7115092 -:1080C00088E1E80EF11C1111E7CF81E001C080E0EA -:1080D000DF91CF911F91FF90EF900895CF92DF92A3 -:1080E000EF92FF926B017C0183E3C816D104E10497 -:1080F000F10470F082E3C81AD108E108F10862E3E4 -:1081000070E080E090E00F943E3E0E9464CAECCFA5 -:10811000C701B6010F943E3EFF90EF90DF90CF90E5 -:108120000C9464CACF93C82FCC2329F080E20E941C -:10813000AA65C150F9CFCF9108950F931F93CF93A4 -:10814000DF938B01EA010F94924088E20E94AA65B6 -:10815000043611054CF480E20E94AA650A3011052C -:108160001CF480E20E94AA656AE070E0C8010E94E7 -:108170003A668CE20E94AA65C436D1054CF480E2CE -:108180000E94AA65CA30D1051CF480E20E94AA654B -:108190006AE070E0CE010E943A6689E20E94AA6518 -:1081A00065E070E080E090E0DF91CF911F910F914A -:1081B0000D946E40CF93DF93FC018491EF012196E3 -:1081C000882321F00E94AA65FE01F7CFDF91CF91AD -:1081D0000895CF9387EB94E30F94DA40C0915F0C3E -:1081E0008CEA90E60F94DA40C11103C088EA90E669 -:1081F00002C08BEA90E60F94DA4080EA90E60F9492 -:10820000DA4062E370E080E090E0CF910D946E4040 -:10821000CF92DF92EF92FF926A017B010F94DA40D6 -:108220004AE0C701B601FF90EF90DF90CF900C9429 -:10823000B165CF93DF93EB010F94DA40BE0180E08C -:1082400090E04AE0DF91CF910C94B165CF92DF923C -:10825000EF92FF926A017B010F94DA4042E0C7017E -:10826000B601FF90EF90DF90CF900C944A66CF93C9 -:10827000DF93EB010F94DA406AE070E0CE01DF910A -:10828000CF910C943A660F931F93CF93DF938B019A -:108290000F94DA40E8018991882319F00E94AA65B9 -:1082A000FACFDF91CF911F910F91089582E890E668 -:1082B0000D94DA408CE790E60D94DA40AF92BF92CD -:1082C000CF92DF92EF92FF920F931F93CF93DF93A2 -:1082D0000F944240882309F453C00F945A4185E912 -:1082E00090E60F94DA409CEDC92E91E1D92EC0E0C2 -:1082F000D0E0760100E010E0F701608171818281B9 -:1083000093819B01AC010F94175F811129C00F94D9 -:108310005A41BE018CE890E60F943741B80189E8D4 -:1083200090E60F94374185E9A82E88E0B82EF50134 -:1083300081915F01882319F00E94AA65F8CFF701A7 -:10834000608171818281938144E00E944A668AE063 -:108350000E94AA656BE470E080E090E00F946E40AC -:108360000F5F1F4FF4E0EF0EF11C0630110521F6F0 -:10837000219688E1C80ED11CC630D10509F0B9CFCD -:10838000DF91CF911F910F91FF90EF90DF90CF90F1 -:10839000BF90AF9008950E9471FD0E9465908091FA -:1083A000AC0C882319F080E00E9406BB8091520239 -:1083B000882399F00F94564185E090E60F94DA40B7 -:1083C00060E08BEF9FE50F940F086EE571E080E0B1 -:1083D00090E00F946E401092520208952F923F92B7 -:1083E0004F925F926F927F928F929F92AF92BF92C5 -:1083F000CF92DF92EF92FF920F931F93CF93DF9371 -:10840000D82FC62F88E998E00E94C866D1115AC0BB -:10841000CC2389F00E94E4738C01C12CD12CC0E0E4 -:10842000D0E0A12CB12C81E6282E8AE1382E4424FC -:108430004394512C3FC00E9416808111EBCF44C061 -:10844000C016D10608F037C1C5014496C816D90632 -:1084500008F031C12FEFC21AD20A0F3F3FEF1307C6 -:1084600009F0C3C10E94E4738C018C159D0508F0CE -:108470004EC1F10101900020E9F73197CF018156FB -:108480009A413C01EE24E394F12C97012F59354E8B -:10849000490146E050E061EA78E0C9010F9482604A -:1084A000892B09F0F4C0E614F7040CF43FC18FEFF8 -:1084B000A81AB80A0F3F2FEF120711F60E94E473B3 -:1084C0008C01BECFC111A6CF3AE0C32E30E2D32E2D -:1084D000E12CF12CC5E0D2E8812C912C54011092B2 -:1084E0007E1610927D16C0937116D0937416D70124 -:1084F000C601880D991DAA1DBB1D8093751690930A -:108500007616A0937716B09378160F9452328FEFA9 -:10851000881A980AA80AB80A9AE089169104A10450 -:10852000B104E9F62AE0C20ED11CE11CF11C32EDC7 -:10853000C31630E2D306E104F10471F6C12C20E247 -:10854000D22EE12CF12CD5E0C2E810927E161092CA -:108550007D16D0937116C0937416C0927516D09282 -:108560007616E0927716F09278160F9452321092A7 -:108570007E1610927D16D0937116C0937416D70193 -:10858000C6018C529F4FAF4FBF4F8093751690938B -:108590007616A0937716B09378160F9452328FEF19 -:1085A000C81AD80AE80AF80A9AE0C91690E2D90669 -:1085B000E104F10451F69EEDC92E90E2D92EE12C92 -:1085C000F12CD5E0C2E810927E1610927D16D09361 -:1085D0007116C0937416C0927516D0927616E092FA -:1085E0007716F09278160F9452322FEFC21AD20AF1 -:1085F000E20AF20A36EEC31630E2D306E104F104D1 -:1086000011F7CC24C39482E1D82EE12CF12C0AE09E -:1086100010E0D5E0C2E810937E1600937D16D0934B -:108620007116C0937416C0927516D0927616E092A9 -:108630007716F09278160F94523210937E160093AC -:108640007D16D0937116C0937416D701C60180961B -:10865000A11DB11D8093751690937616A093771681 -:10866000B09378160F9452328FEFC81AD80AE80ADE -:10867000F80A95E1C91692E1D906E104F10459F628 -:108680008FEB93E00E94C86682E190E016C046E05E -:1086900050E068EA78E0C4010F948260892B09F405 -:1086A00002CF3FEFE31AF30AC7010197861597053A -:1086B0000CF4EBCEF8CE81E190E090937E1680939F -:1086C0007D1685E08093711682E88093741684E1AC -:1086D00090E1A0E0B0E08093751690937616A09399 -:1086E0007716B0937816DF91CF911F910F91FF907D -:1086F000EF90DF90CF90BF90AF909F908F907F9042 -:108700006F905F904F903F902F900D9452320F3F9B -:108710008FEF180719F40E94E4738C0160E070E099 -:10872000C8018C199D090E941C74A3CE22E12C9FC4 -:10873000C0012D9F900D11249C012D5F344E4901E5 -:10874000A7014231510514F041E150E061E67AE1C0 -:10875000C4010F94906032E13C9FC0013D9F900D99 -:10876000112463EA7AE18559934E0F947B608AE085 -:108770008C9FA0018D9F500D1124465F5F4D052EEB -:10878000000C660B770BFE01EE0FFF1FEE0FFF1FB5 -:10879000E055F54E4383548365837683C4010F947B -:1087A00001327E019FEFE91AF90AF092B21AE092C3 -:1087B000B11A50927E1640927D1625E020937116D4 -:1087C00032E830937416CF5FDD4ECE01DD0FAA0B79 -:1087D000BB0B8093751690937616A0937716B09383 -:1087E00078160F945232E70165CE0C151D0508F47A -:1087F00040CE94CF4F925F926F927F928F929F92D2 -:10880000AF92BF92CF92DF92EF92FF921F93CF93DE -:10881000DF93C82F8BE495E19093601A80935F1AE1 -:108820001092441582E090E0A0E0B0E080932D1516 -:1088300090932E15A0932F15B093301510925E1AB9 -:1088400010925A1A10925B1A10925C1A10925D1ACA -:108850008FEF9FEFDC018093561A9093571AA093E5 -:10886000581AB093591ACC2379F1C53008F001C1D8 -:1088700040E060E070E0CB010E94AC75882309F411 -:10888000F8C020E1C29FC00111248A5B974EFC0111 -:10889000E254FE4F20812F7709F0EBC03C964081D7 -:1088A000518162817381443651056105710508F477 -:1088B000E0C03497C080D180E280F380C114D1043D -:1088C000E104F10421F4D5C0C12CD12C760140E0A3 -:1088D000C701B6010E94AC75182F882309F4C9C0DE -:1088E00080916118909162188115924009F0C1C081 -:1088F000A0916618AA2309F4BCC060916418709115 -:1089000065186115710509F4B4C08090631888205A -:1089100009F4AFC0A0933F158092311580E0912CEF -:10892000A12CB12C412C512C32014394C82FA3010E -:108930009201082E04C0220F331F441F551F0A94B2 -:10894000D2F782169306A406B50639F08F5FC830B9 -:1089500069F789E080933A158CC080933A1520918D -:108960006C1830916D182115310519F040E050E078 -:1089700008C020917A1830917B1840917C18509152 -:108980007D1820933215309333154093341550934E -:10899000351546015701860E971EA11CB11C809209 -:1089A000401590924115A0924215B0924315E09166 -:1089B0006718F0916818F0934615E0934515B0E0FC -:1089C0000F946B5B860E971EA81EB91E80924715EA -:1089D00090924815A0924915B0924A1585E0EE0F85 -:1089E000FF1F8A95E1F7E150FE4FEF2FFF27E69535 -:1089F0008E0E9F1EA11CB11C80923B1590923C15BF -:108A0000A0923D15B0923E152091691830916A18D8 -:108A10002115310521F0A90160E070E008C0409106 -:108A20007618509177186091781870917918D7015D -:108A3000C60188199909AA09BB09840F951FA61FA9 -:108A4000B71F04C0B695A79597958795CA95D2F795 -:108A50008093361590933715A0933815B093391538 -:108A6000853F2FE09207A105B10528F48CE08093A3 -:108A7000441510E01AC0853F9F4FA105B10510F4C1 -:108A800080E111C08091821890918318A091841880 -:108A9000B09185188093471590934815A093491578 -:108AA000B0934A1580E280934415812FDF91CF91D6 -:108AB0001F91FF90EF90DF90CF90BF90AF909F906D -:108AC0008F907F906F905F904F900895CF93DF933A -:108AD000CDB7DEB7A9970FB6F894DEBF0FBECDBFF6 -:108AE000789484B5826084BD84B5816084BD85B589 -:108AF000826085BD85B5816085BD80916E00816095 -:108B000080936E001092810080918100826080933A -:108B1000810080918100816080938100809180003C -:108B20008160809380008091B10084608093B10067 -:108B30008091B00081608093B0008091910082604C -:108B40008093910080919100816080939100809149 -:108B500090008160809390008091A100826080935A -:108B6000A1008091A10081608093A1008091A0006C -:108B700081608093A0008091210182608093210117 -:108B80008091210181608093210180912001816089 -:108B90008093200180917A00846080937A00809194 -:108BA0007A00826080937A0080917A00816080935D -:108BB0007A0080917A00806880937A001092C100D8 -:108BC000259A2D986C98749A1092000A0E9440631E -:108BD0001092C0008091C00082608093C00010920B -:108BE000C50087E08093C4008091C10080618093BC -:108BF000C1008091C10088608093C1008091C10054 -:108C000080688093C1000F94783E82E792E30F94CE -:108C1000DA400F945A4114B710FF04C089E692E37A -:108C20000F94DA4011FF04C088E592E30F94DA4014 -:108C300012FF04C086E492E30F94DA4013FF04C0ED -:108C400085E392E30F94DA4015FF04C084E292E3D7 -:108C50000F94DA4014BE8DE192E30F94DA4080E283 -:108C60000E94AA6584E192E30F94DA408AE00E94B0 -:108C7000AA650F945A4184E092E30F94DA4089EF99 -:108C800091E30F94DA408EED91E30F94DA400F9464 -:108C90005A4187EC91E30F94DA400F945A41809146 -:108CA000D31D9091D41D9E012F5F3F4F7901B901D3 -:108CB000009719F0681B790B02C0695D7D4188EB54 -:108CC00091E30F94374160E874E081EA91E30F94F7 -:108CD00037418AE00E94AA6580910A018E7F8093C5 -:108CE0000A0180910B018095817080930901E091C8 -:108CF0008514F091861482E08083E0918114F091D4 -:108D000082141082E0918314F091841480E18083B6 -:108D100010928D14E0918914F0918A1486E080837A -:108D2000E0918714F0918814808180618083E091C4 -:108D30008714F0918814808188608083E091871483 -:108D4000F0918814808180688083E0918714F0918D -:108D5000881480818F7D80838AE58093721680934A -:108D6000221685EA80937316809323168AE1E1EC3C -:108D7000F6E1DF011D928A95E9F780E290E0A0E03C -:108D8000B0E08093060290930702A0930802B0938C -:108D900009028091190A882319F083E090E002C04B -:108DA00082E090E090937E1680937D1685E080931C -:108DB000711682E8809374168FE190E1A0E0B0E034 -:108DC0008093751690937616A0937716B0937816C5 -:108DD0000F94523284E690E090937E1680937D1635 -:108DE00005E00093711612E81093741686E090E186 -:108DF000A0E0B0E08093751690937616A093771656 -:108E0000B09378160F9452328BE090E090937E16D8 -:108E100080937D16009371161093741680E092E192 -:108E2000A0E0B0E08093751690937616A093771625 -:108E3000B09378160F94523210927E1610927D16CF -:108E4000009371161093741684E390E1A0E0B0E0F3 -:108E50008093751690937616A0937716B093781634 -:108E60000F94523210927E1610927D160093711656 -:108E7000109374168AE390E1A0E0B0E08093751639 -:108E800090937616A0937716B09378160F9452327B -:108E90006091EC0C7091ED0C8091EE0C9091EF0CC8 -:108EA0000F94365D70937E1660937D160093711655 -:108EB0001093741686E390E1A0E0B0E080937516FD -:108EC00090937616A0937716B09378160F9452323B -:108ED0006091060A7091070A8091080A9091090A28 -:108EE0000F94365D70937E1660937D160093711615 -:108EF000109374168CE390E1A0E0B0E080937516B7 -:108F000090937616A0937716B09378160F945232FA -:108F100082E090E090937E1680937D160093711608 -:108F2000109374168EE190E1A0E0B0E08093751686 -:108F300090937616A0937716B09378160F945232CA -:108F400081E08093050260E6862E60E1962EA12CDA -:108F5000B12C75E0C72EE2E8DE2E10927E1610923C -:108F60007D1605E0C092711612E8D09274168092B8 -:108F7000751690927616A0927716B09278160F9486 -:108F80005232BFEF8B1A9B0AAB0ABB0AE4E78E167C -:108F9000E0E19E06A104B10401F784E1D7011D922E -:108FA0008A95E9F781E08F9390E99F938F939BE3F4 -:108FB0009F938F9386E38F938CE296E09F938F939A -:108FC000FF92EF920F94AA6040E650E160E070E0FB -:108FD00089E396E00F9401324AE650E160E070E0E8 -:108FE00086E496E00F94013244E750E160E070E0DF -:108FF000C7010F9401324EE750E160E070E083ED6D -:1090000094E00F94013210927E1610927D16009318 -:109010007116109374168EE090E1A0E0B0E080939A -:10902000751690937616A0937716B09378160F94D2 -:10903000523210927E1610927D1600937116109384 -:1090400074168FE090E1A0E0B0E0809375169093E5 -:109050007616A0937716B09378160F945232EDB728 -:10906000FEB73A960FB6F894FEBF0FBEEDBF5AE0BA -:10907000852E50E2952EA12CB12C15E002E8412C52 -:10908000512C320110927E1610927D16109371169B -:1090900000937416D501C401840D951DA61DB71D3E -:1090A0008093751690937616A0937716B0937816E2 -:1090B0000F945232FFEF4F1A5F0A6F0A7F0A2AE0BD -:1090C0004216510461047104E9F63AE0830E911CE2 -:1090D000A11CB11C42ED841640E29406A104B10427 -:1090E00071F6812C40E2942EA12CB12C05E012E8FF -:1090F00010927E1610927D160093711610937416BE -:109100008092751690927616A0927716B092781685 -:109110000F94523210927E1610927D1600937116A3 -:1091200010937416D501C4018C529F4FAF4FBF4F9F -:109130008093751690937616A0937716B093781651 -:109140000F9452325FEF851A950AA50AB50A8AE094 -:10915000881680E29806A104B10451F63EED832EF4 -:1091600030E2932EA12CB12C05E012E810927E166D -:1091700010927D16009371161093741680927516D6 -:1091800090927616A0927716B09278160F9452327B -:109190009FEF891A990AA90AB90AA6EE8A16A0E2CF -:1091A0009A06A104B10411F78824839492E1992EC0 -:1091B000A12CB12C2AE0C22ED12C05E012E8D092CD -:1091C0007E16C0927D1600937116109374168092CD -:1091D000751690927616A0927716B09278160F9424 -:1091E0005232D0927E16C0927D1600937116109363 -:1091F0007416D501C4018096A11DB11D809375160A -:1092000090937616A0937716B09378160F945232F7 -:10921000BFEF8B1A9B0AAB0ABB0AE5E18E16E2E1AF -:109220009E06A104B10459F68AE596E00E94C8663C -:109230000F94B0080E94516311E3C12E1AE0D12EA1 -:109240000DEA1CE089EBA82E8CE0B82ED6012D91FA -:109250003D914D915D916D01F80160817181828137 -:1092600093810F94CA5BD8016D937D938D939D93E9 -:109270008D01AA16BB0651F70E94E979249A2C9811 -:1092800080910101806280930101809102018072CE -:10929000809300018091010180648093010180919D -:1092A000010180618093010187ED80937A00109223 -:1092B0007E0010927D0080917D00806280937D0011 -:1092C00080917D00806480937D0080E888BD8091DE -:1092D0006E00846080936E006AEF70E080E090E042 -:1092E0000F943E3E85E090E090931102809310022F -:1092F00000910C0210910D0260E0C8010E9479FEFD -:1093000020E030E040EA50E40F94D45487FF07C0D7 -:109310000051110910930D0200930C02E9CF8BE369 -:1093200091E0909313028093120200910E0210912B -:109330000F0260E0C8010E9479FE20E030E84DE9AC -:1093400053E40F942A5E18163CF4005F1F4F1093ED -:109350000F0200930E02E9CF00910A0210910B0256 -:10936000C8010E94E0FD20E030E040EA50E40F94A4 -:10937000D45487FF07C00051110910930B020093CA -:109380000A02EACF00911A0A10911B0AC8010E9432 -:10939000E0FD20E030E046E153E40F942A5E181629 -:1093A0003CF4005F1F4F10931B0A00931A0AEACF88 -:1093B0000F94E80419A682E390E09AA389A31A8285 -:1093C00019821E01B1E22B0E311C01E0970141E030 -:1093D00050E0BE01675D7F4FC1010E94706389A5A7 -:1093E000863119F00E9420910FC083E390E09AA388 -:1093F00089A31A82198201E0970140E150E06DE1F2 -:109400007AE0C1010E94706381E080931C0A6D982C -:10941000759A809104018D7F8093040180910501EC -:10942000809582708093030153985B9A10922E0A64 -:1094300010922D0A0E94AF7A819A879A80910A0130 -:10944000826080930A010E9A3B9A579A5F9A829A99 -:109450008A9A8091070181608093070180910801B9 -:1094600080958170809306010A9A129A3F9A479AD2 -:10947000809A88985F9A809173148E7F809373147A -:10948000869A8E988A9A809173148D7F8093731434 -:1094900080910A01886080930A0180910B01887095 -:1094A0008093090180910801809581708093060165 -:1094B000809173148B7F809373140C9A1498129A72 -:1094C000809180008C7F8093800080918100877ED6 -:1094D000886080938100809180008F7380938000EA -:1094E00080918100887F82608093810080E090E499 -:1094F00090938900809388001092850010928400D8 -:1095000080916F00826080936F00789486E08093F2 -:109510002F0A0E94218CE091F315E43208F042C03A -:10952000F0E0CF01880F991FE80FF91FEA57FA4EB4 -:10953000808180788B60808361E08BE00F941A3D9E -:109540001092F4151092F5158091F3156CE00F94BC -:109550008D5B90E0ECE08E9FB001112440E050E084 -:109560009B01240F351FF901EE0FFF1F2E0F3F1F28 -:10957000F901EA57FA4E208127FD07C04F5F5F4F80 -:109580004C30510569F70E940164E091F315F0E059 -:10959000CF01880F991FE80FF91FEA57FA4E808113 -:1095A0008068808383EF95E10E9462636AE570E0E2 -:1095B00083EF95E10E9432641092300A0E94AF7AE4 -:1095C00081E00F949B0E98E288E10FB6F894A8957D -:1095D000809360000FBE909360001092E0160E948E -:1095E000C7709E012F5F3F4F590180E00E94EE66D9 -:1095F0008091E01687FD41C08091F91782FD3DC042 -:1096000083FD03C00E94697102C00E945163809172 -:10961000F91783FF2FC08091E016082E000C990BDC -:10962000C0969F938F9349E752E35F934F933F9286 -:109630002F920F946C548BE695E10E9433960F9015 -:109640000F900F900F900F900F9080916E158230B9 -:1096500088F08091731590917415A0917515B09153 -:1096600076158F719927AA27BB27892B8A2B8B2BDD -:1096700009F467C1FFEFF093E0168091F91785FFB9 -:109680001FC00E94F8701092C10B10923D0A1092F8 -:10969000C00B0E9451930E94BA918EEF0E947B7979 -:1096A0000E94E9790E9465900E9471FD0E945D63AD -:1096B000109214022BEC32E330933F0A20933E0ABF -:1096C0008DB69EB660913E0A70913F0A6115710594 -:1096D00081F0E12CF12CFB01EE0DFF1D7490870150 -:1096E0000F5F1F4F772039F03AE0731621F07801B1 -:1096F000F2CF80E02CC0EDB7FEB7E01BF10B0FB648 -:10970000F894FEBF0FBEEDBF2DB73EB72F5F3F4FA2 -:109710006901A701C9010F940E54F601EE0DFF1D5A -:109720001082772009F445C180913E0A90913F0A4A -:10973000080F191F10933F0A00933E0AEF2831F0DB -:10974000C6010F944F1F80E00E94934C81E00FB63A -:10975000F8949EBE0FBE8DBE8111C3C08091C10B17 -:10976000882309F4BEC08091F91780FF9EC0009144 -:10977000C00B40E6409F80011124005C154F6CEA4D -:1097800072E3C8010F945254009739F0DC0113962C -:109790008C9180538A3008F08BC0F8010190002032 -:1097A000E9F731977F01E01AF10A109212156EE481 -:1097B00070E0C8010F9470606C01892B09F406C138 -:1097C00060E270E0C6010F9470608C010F5F1F4F64 -:1097D0006AE270E0C6010F947060FC013197BDE051 -:1097E000B1832AE022831382F80101900020E9F777 -:1097F00031977F01E01AF10A80911515813009F047 -:10980000E1C08091131581FFDDC082FF16C0409139 -:10981000231550912415609125157091261580917E -:109820001A1590911B15A0911C15B0911D15841748 -:109830009507A607B70709F0BFC040911A155091C8 -:109840001B1560911C1570911D15E114F10409F0B0 -:10985000C4C08091231590912415A0912515B09135 -:10986000261584179507A607B70768F440932315B4 -:109870005093241560932515709326158091131528 -:109880008068809313158091131583FDB6C1809174 -:109890001215882331F00F94564182E892E30F9419 -:1098A000DA408091F91781FF09C00F94932608C010 -:1098B0000E9424BB89E992E30F94DA400E94468A11 -:1098C0008091C10B882369F081508093C10B8091F6 -:1098D000C00B8F5F843018F48093C00B02C01092CD -:1098E000C00B8091C20B882339F19091C20B8091FB -:1098F000C30B981709F10F945A418CEB92E30F9424 -:10990000DA408091C20B80FD7FC18091C20B84FD43 -:109910007BC18091C20B81FD81C18091C20B85FD0D -:109920007DC18091C20B82FD83C18091C20B86FDF7 -:109930007FC18AE00E94AA658091C20B8093C30B0D -:1099400054CE40E050E0B5018BE695E10E94F598D9 -:1099500018160CF08FCEF50101900020E9F7319731 -:10996000FE2EFA18FA949FEFF91669F085010F0D93 -:10997000111DF7FC1A95D8018C9190E00F9434607A -:10998000F8018083EFCF8A858E3709F45ECE45E0FB -:1099900050E0B101C5010F948260892B09F055CECA -:1099A000C1010E9411718091E0168F5F8093E016D3 -:1099B00064CE00E010E0BECE82E195E10E94F49317 -:1099C00081113BCFA1E0A093121561CF31E0E31AE2 -:1099D000F108F801EE0DFF1D02CF80912B1590913B -:1099E0002C15DC0114967C902FEF270D2A013B01EA -:1099F00039E076946794579447943A95D1F7722E4C -:109A000074206A01B1E0DB2271104CC0C114D10492 -:109A100009F048C04091161550911715609118151E -:109A200070911915411551056105710569F4809111 -:109A3000271590912815A0912915B0912A15009706 -:109A4000A105B10539F51FC095010E9477768823DD -:109A500009F4B8CF89819A81AB81BC81E0912B1543 -:109A6000F0912C152789203139F4883FEFEF9E07BC -:109A7000A105B10540F40EC0883FFFEF9F07AF0777 -:109A8000FFE0BF0738F082E195E10E942E95811139 -:109A900009C098CF8093161590931715A0931815A9 -:109AA000B093191580E092E08C199D0947018E153D -:109AB0009F0508F44C01E0912B15F0912C15809135 -:109AC000161590911715A0911815B09119150297B8 -:109AD000A109B109058404C0880F991FAA1FBB1FE3 -:109AE0000A94D2F74685578560897189840F951F3E -:109AF000A61FB71F9C01AD01270D311D411D511D32 -:109B000029013A01811432E0930631F58091561A09 -:109B10009091571AA091581AB091591A481659069F -:109B20006A067B0669F410925E1A8FEF9FEFDC01E4 -:109B30008093561A9093571AA093581AB093591AB3 -:109B40009801B301A20180915F1A9091601A0E945E -:109B50008A96811139C036CFC114D10431F54091B4 -:109B60001A1550911B1560911C1570911D1580914F -:109B7000231590912415A0912515B091261548170D -:109B800059076A077B0788F00E94ED96882309F43D -:109B900019CF91E090935E1A4092561A5092571A3C -:109BA0006092581A7092591A08C041E0C301B2017C -:109BB0000E94AC75882309F405CFA401B801C60141 -:109BC0008A5A974E0F94496080911A1590911B15EF -:109BD000A0911C15B0911D15880D991DA11DB11DD9 -:109BE00080931A1590931B15A0931C15B0931D1507 -:109BF000080D191DE818F90820CE82E195E10E94B0 -:109C00002D97811144CEDECE80E00E942493AB01DB -:109C1000BC0188EB92E30F9426417BCE81E00E9449 -:109C20002493AB01BC0184EB92E30F94264179CEDF -:109C300082E00E942493AB01BC0180EB92E30F947D -:109C4000264177CECF93DF9382E195E10E94699719 -:109C5000CFEED7E16B97CE010E94699786E1C13EB6 -:109C6000D807C1F780E595E10E9469978BE695E1F9 -:109C7000DF91CF910C946997CF92DF92EF92FF9290 -:109C80006B017C0180E090E0A0E8BFE380933F029D -:109C900090934002A0934102B093420280917414C9 -:109CA00081FF0E9409ECC092A20CD092A30CE0921A -:109CB000A40CF092A50C80917414826080937414AB -:109CC000FF90EF90DF90CF9008958091741481FF02 -:109CD00009C06091A20C7091A30C8091A40C90918A -:109CE000A50C08956091B90C7091BA0C8091BB0CD1 -:109CF0009091BC0C089586E40E942E9E8093B71329 -:109D0000882351F00E94F79D60933A0270933B02C2 -:109D100080933C0290933D0283E50E942E9E88230F -:109D200051F00E94F79D6093360270933702809342 -:109D300038029093390282E40E942E9E882351F0CB -:109D40000E94F79D60933202709333028093340235 -:109D50009093350208950F94B00810920A1410924F -:109D600014020E94388A882321F08091F91782FF1B -:109D700007C061E081EE94E50F9483090C94B58FE0 -:109D800088EE94E590933F0A80933E0AF2CF1092BA -:109D900078141092771488EE93E0A0E0B0E08093FE -:109DA000791490937A14A0937B14B0937C148FE76A -:109DB00093E0909376148093751485ED90E09093E2 -:109DC00082148093811484ED90E0909384148093A6 -:109DD000831480ED90E0909386148093851481ED38 -:109DE00090E0909388148093871482ED90E0909394 -:109DF0008A148093891486ED90E090938C1480935C -:109E00008B1410928E1410928F1410929014109242 -:109E1000911410926B1510926E15109250151092AD -:109E20005315E1EEF6E1108213827B9627E1EF3EB7 -:109E3000F207C9F789E180934C1510924F151092E3 -:109E4000441510921215109215158091F215843256 -:109E500020F08FEF8093F31513C091E0980F90934B -:109E6000F2158093F31590E0FC01EE0FFF1F8E0FAB -:109E70009F1FFC01EA57FA4E88EB9BE09283818397 -:109E800080E1EFE0F6E1DF01282F1D922A95E9F746 -:109E9000EFEFF5E1DF011D928A95E9F71092FB15CE -:109EA0001092FC151092FD151092FE151092FA15E5 -:109EB0001092F9151092F8151092F7151092F615E8 -:109EC0008FE79FE09093201680931F168AE580937A -:109ED00072168093221685EA809373168093231658 -:109EE0008AE1E1ECF6E1DF011D928A95E9F781E074 -:109EF0008093DB168093DC168093DD168093DE164C -:109F00008093DF160F942B3F8091F917847F8B7F0E -:109F10008093F9171092F5171092F6171092F71711 -:109F20001092F8171092F1171092F2171092F3177F -:109F30001092F4171092F0171092EF178EE091E044 -:109F4000E1EEF6E1DF019C011D9221503040E1F786 -:109F50008FEF8093E0160895EF920F931F93CF93A6 -:109F6000DF93E80147FD02C034E001C034E1042E74 -:109F7000000C550B57FF03C0519541955109E32E35 -:109F8000022F242FAE010F94B157CE01DF91CF9154 -:109F90001F910F91EF9008958F929F92AF92BF9271 -:109FA000CF92DF92EF92FF92CF93DF93EC01688123 -:109FB00079818A819B81611571058105910521F463 -:109FC00064E279ED8BE597E02DE133EF41E050E07D -:109FD0000F944C5B49015A019B01AC01A7EAB1E423 -:109FE0000F946B5B6B017C01ACEEB4EFA5019401A7 -:109FF0000F94795BDC01CB018C0D9D1DAE1DBF1D47 -:10A00000B7FF03C00197A109B04888839983AA8349 -:10A01000BB83BC01CD019F77DF91CF91FF90EF9083 -:10A02000DF90CF90BF90AF909F908F9008958F92C8 -:10A030009F92AF92BF92CF92DF92EF92FF92609188 -:10A040006702709168028091690290916A026115BD -:10A0500071058105910521F464E279ED8BE597E0C6 -:10A060002DE133EF41E050E00F944C5B49015A0180 -:10A070009B01AC01A7EAB1E40F946B5B6B017C011F -:10A08000ACEEB4EFA50194010F94795BDC01CB0138 -:10A090008C0D9D1DAE1DBF1DB7FF03C00197A1090B -:10A0A000B0488093670290936802A0936902B093CE -:10A0B0006A02BC01CD019F77FF90EF90DF90CF90B7 -:10A0C000BF90AF909F908F900895609367027093B8 -:10A0D00068028093690290936A0208958F929F921A -:10A0E000AF92BF92CF92DF92EF92FF920F931F93A6 -:10A0F000CF93DF93EC016B016115710519F0FB0142 -:10A10000918380837E01FFEFEF1AFF0A0881802F81 -:10A1100090E00F940554892B11F0E701F3CF0D3235 -:10A1200039F47E0182E0E80EF11C098111E008C0DB -:10A130000B3229F47E0192E0E90EF11C098110E056 -:10A14000E701219743E050E066EE74E0CE010F9402 -:10A150002B54892BC1F4239645E050E061EE74E066 -:10A16000CE010F942B54892B09F42596C114D104E8 -:10A1700019F0F601D183C0831111F6C060E070E0E0 -:10A1800080E89FE7FAC043E050E06EED74E0CE0156 -:10A190000F942B54892B59F4C114D10409F4E9C04C -:10A1A000F2E0EF0EF11CF601F182E082E2C020E065 -:10A1B00030E0A901C0E0D0E0F70160EDA62EA00ECE -:10A1C00089E08A1530F1912F9260B92E812F887025 -:10A1D00012FF04C0811124C0219622C08111219751 -:10A1E000A5E0B0E00F946B5BDC01CB01880F991FF9 -:10A1F000AA1FBB1F9C01AD012A0D311D411D511D20 -:10A20000283989E93807480789E1580748F0166076 -:10A2100006C09EEFA9120AC013FD40C01860B12EFF -:10A220008FEFE81AF80A00811B2DC6CF802F8F7D93 -:10A230008534A1F580818D3211F4106106C08B3216 -:10A2400021F0319661E070E004C08181329662E0D5 -:10A2500070E080538A3018F0E61BF70B1FC060E0F7 -:10A2600070E060389CE079075CF4DB01AA0FBB1F4B -:10A27000AA0FBB1F6A0F7B1F660F771F680F711D28 -:10A280003196DF0111978C9180538A3050F314FF7F -:10A2900003C0719561957109C60FD71F11FF08C0E2 -:10A2A000C114D10429F0CF010197F6019183808375 -:10A2B000CA01B9010F94D954212F2370233019F00A -:10A2C0004B015C0106C04B015C01B7FAB094B7F8D2 -:10A2D000B09420E030E0A901C501B4010F94D4543A -:10A2E000882309F43EC0D7FF06C0D195C195D10996 -:10A2F0000DEF14E002C005E115E06801F8E1CF1AA6 -:10A30000D10890E2E92EF12CCE15DF0574F0F801AA -:10A310002591359145915491C501B4010F943A5559 -:10A320004B015C01CE19DF09EFCF04501109F59400 -:10A33000E7940C151D0541F78A2D880F8B2D881F7A -:10A340008F3F49F020E030E0A901C501B4010F942E -:10A35000D454811106C082E290E09093D81D80937E -:10A36000D71DC501B40109C060E070E080E89FEF2F -:10A3700004C060E070E080EC9FE7DF91CF911F9117 -:10A380000F91FF90EF90DF90CF90BF90AF909F9094 -:10A390008F9008953F924F925F926F927F928F922B -:10A3A0009F92AF92BF92CF92DF92EF92FF920F9364 -:10A3B0001F93CF93DF935C016B017A0161157105E7 -:10A3C00019F0FB0191838083E114F10429F0C701A6 -:10A3D0000297839708F0E5C0E5012196F501108109 -:10A3E000812F90E00F940554892B11F05E01F4CF7A -:10A3F0001D3229F42196F501118101E007C01B32BD -:10A4000021F4E5012296F501118100E0E114F10447 -:10A4100009F1F0E1EF16F10429F43FC010E3E11473 -:10A42000F10421F128E0E216F10401F154F4E2E034 -:10A43000EE16F10421F5812C912CA12CB0E4BB2E59 -:10A440003EC0FAE0EF16F10439F020E1E216F10423 -:10A45000B1F430C0103319F1FAE0EF2EF12CACEC6E -:10A460008A2E982CA82CACE0BA2E29C078E0E72ED2 -:10A47000F12C812C912CA12CE0E1BE2E20C060E0BB -:10A4800070E080E090E897010F2C000C440B550B16 -:10A490000F942A5B49015A0112C0103359F4888184 -:10A4A0008F7D883509F0BACF19812296026080E14C -:10A4B000E82EF12C812C912CA12C68E0B62E40E0E6 -:10A4C00060E070E0CB0127010F2C000C66087708D4 -:10A4D000FE0150ED352E310E29E0231570F42FEBDF -:10A4E000210F2A3118F439EC332E06C02FE9210F41 -:10A4F0002A3118F529EA322E310E232D30E02E159F -:10A500003F05DCF447FD16C086169706A806B90677 -:10A5100070F0A30192010F941A5B630D711D811DF0 -:10A52000911D61307105810520E8920710F04FEF11 -:10A5300001C041E021961081CBCF202F2170C114A2 -:10A54000D10471F0442329F02197F601D183C0830F -:10A5500007C001FF19C02297F601D183C08314C040 -:10A5600047FF12C0222329F060E070E080E090E80D -:10A5700004C06FEF7FEF8FEF9FE722E230E0309370 -:10A58000D81D2093D71D09C0222381F09095809576 -:10A59000709561957F4F8F4F9F4F462F372F282FF4 -:10A5A00012C040E030E020E090E00DC097FFF5CF12 -:10A5B00082E290E09093D81D8093D71D6FEF7FEFDC -:10A5C0008FEF9FE7EACF642F732F822FDF91CF9118 -:10A5D0001F910F91FF90EF90DF90CF90BF90AF90C1 -:10A5E0009F908F907F906F905F904F903F900895D5 -:10A5F0003F924F925F926F927F928F929F92AF9213 -:10A60000BF92CF92DF92EF92FF920F931F93CF935F -:10A61000DF935C016B017A016115710519F0FB0193 -:10A6200091838083E114F10429F0C7010297839795 -:10A6300008F0C9C0E5012196F5011081812F90E055 -:10A640000F940554892B11F05E01F4CF1D3229F4CB -:10A650002196F501118101E007C01B3221F4E501CB -:10A660002296F501118100E0E114F104B1F0F0E16E -:10A67000EF16F10429F4B0C010E3E114F10401F184 -:10A680002AE0E216F104B1F180E1E816F10471F07C -:10A69000E8E0EE16F104F1F413C0103341F58881BF -:10A6A0008F7D883549F7198122960260F0E1EF2EFF -:10A6B000F12C88248A94982CA82CAFE0BA2E20C0C4 -:10A6C00078E0E72EF12C88248A94982CA82CEFE1CE -:10A6D000BE2E16C06FEF7FEFCB0197010F2C000C41 -:10A6E000440B550B0F942A5B49015A0109C08AE0BB -:10A6F000E82EF12C69E9862E982CA82C69E1B62E5B -:10A7000040E060E070E0CB0127010F2C000C6608F0 -:10A710007708FE0150ED352E310E29E0231570F437 -:10A720002FEB210F2A3118F439EC332E06C02FE914 -:10A73000210F2A3130F529EA322E310E232D30E057 -:10A740002E153F05F4F44F3FC9F086169706A8066C -:10A75000B90688F0A30192010F941A5B232D30E013 -:10A7600040E050E0620F731F841F951F621773074C -:10A770008407950710F44FEF01C041E02196108146 -:10A78000C8CFC114D10451F0442311F0219703C064 -:10A7900001FF04C02297F601D183C08300FF07C0E8 -:10A7A00090958095709561957F4F8F4F9F4F4F3F4C -:10A7B00079F482E290E09093D81D8093D71D3FEF0B -:10A7C0002FEF9FEF0DC040E030E020E090E008C0A8 -:10A7D000462F372F282F04C0103309F067CF5FCFE3 -:10A7E000642F732F822FDF91CF911F910F91FF90D4 -:10A7F000EF90DF90CF90BF90AF909F908F907F9021 -:10A800006F905F904F903F90089591110D94005A72 -:10A81000803219F089508550C8F70895FB01DC019A -:10A8200002C005900D9241505040D8F70895FC01A8 -:10A830000590061621F00020D9F7C0010895319740 -:10A84000CF010895FC0105900020E9F780959095CF -:10A850008E0F9F1F0895FB01DC014150504088F08E -:10A860008D9181341CF08B350CF4805E65916134E0 -:10A870001CF06B350CF4605E861B611171F3990B53 -:10A880000895881BFCCFFB01DC014150504048F08B -:10A8900005900D920020C9F701C01D924150504013 -:10A8A000E0F70895FB0155915523A9F0BF01DC01A4 -:10A8B0004D9145174111E1F759F4CD010590002064 -:10A8C00049F04D9140154111C9F3FB014111EFCF02 -:10A8D00081E090E0019708950F931F93CF93DF934A -:10A8E000CDB7DEB72E970FB6F894DEBF0FBECDBF43 -:10A8F0000E891F898EE08C831A8309838FEF9FE76F -:10A900009E838D83AE01465E5F4F688D798DCE014B -:10A9100001960F94A755EF81F885E00FF11F108283 -:10A920002E960FB6F894DEBF0FBECDBFDF91CF914C -:10A930001F910F9108950F931F93CF93DF93CDB77E -:10A94000DEB72E970FB6F894DEBF0FBECDBF8C01D9 -:10A95000FA018EE08C831A83098377FF02C060E0DE -:10A9600070E8CB0101979E838D83A901BF01CE01C1 -:10A9700001960F94A7554D815E8157FD0AC02F8126 -:10A980003885421753070CF49A01F801E20FF31FC0 -:10A9900010822E960FB6F894DEBF0FBECDBFDF91AA -:10A9A000CF911F910F9108950F94165508F481E0EF -:10A9B0000895E89409C097FB3EF4909580957095B2 -:10A9C00061957F4F8F4F9F4F9923A9F0F92F96E9FB -:10A9D000BB279395F695879577956795B795F11170 -:10A9E000F8CFFAF4BB0F11F460FF1BC06F5F7F4F0D -:10A9F0008F4F9F4F16C0882311F096E911C077231F -:10AA000021F09EE8872F762F05C0662371F096E827 -:10AA1000862F70E060E02AF09A95660F771F881FF6 -:10AA2000DAF7880F9695879597F90895990F00089A -:10AA3000550FAA0BE0E8FEEF16161706E807F90710 -:10AA4000C0F012161306E407F50798F0621B730BAB -:10AA5000840B950B39F40A2661F0232B242B252B2C -:10AA600021F408950A2609F4A140A6958FEF811DCF -:10AA7000811D08950F944D550D94CA5A0F94BC5AD8 -:10AA800038F00F94C35A20F0952311F00D94B35A67 -:10AA90000D94B95A11240D94FE5A0F94DB5A70F399 -:10AAA000959FC1F3950F50E0551F629FF001729F73 -:10AAB000BB27F00DB11D639FAA27F00DB11DAA1F82 -:10AAC000649F6627B00DA11D661F829F2227B00DCF -:10AAD000A11D621F739FB00DA11D621F839FA00D5A -:10AAE000611D221F749F3327A00D611D231F849FAA -:10AAF000600D211D822F762F6A2F11249F57504001 -:10AB00009AF0F1F088234AF0EE0FFF1FBB1F661F7B -:10AB1000771F881F91505040A9F79E3F510580F044 -:10AB20000D94B35A0D94FE5A5F3FE4F3983ED4F36C -:10AB3000869577956795B795F795E7959F5FC1F7E8 -:10AB4000FE2B880F911D9695879597F908952F9262 -:10AB50003F924F925F926F927F928F929F92AF92AD -:10AB6000BF92CF92DF92EF92FF920F931F93CF93FA -:10AB7000DF93CDB7DEB72B970FB6F894DEBF0FBECD -:10AB8000CDBF6C017B018A01FC0117821682838193 -:10AB900081FFCCC1CE0101963C01F6019381F70102 -:10ABA00093FD859193FF81917F01882309F4BAC1B8 -:10ABB000853239F493FD859193FF81917F01853230 -:10ABC00029F4B60190E00F94195AE7CF912C212C6B -:10ABD000312CFFE1F315D8F08B3279F038F4803264 -:10ABE00079F08332A1F4232D20611DC08D3261F0F4 -:10ABF000803369F4232D216016C0832D8260382EA6 -:10AC0000E32DE4603E2E2AC0F32DF8601DC037FC12 -:10AC10002DC020ED280F2A3040F08E32B9F436FCDA -:10AC200081C1232D2064322E19C036FE06C08AE071 -:10AC3000989E200D1124922E11C0EAE02E9E200D28 -:10AC40001124222EF32DF0623F2E08C08C3621F401 -:10AC5000832D8068382E02C0883641F4F70193FDB9 -:10AC6000859193FF81917F018111B3CF982F9F7DB3 -:10AC70009554933028F40C5F1F4F9FE399830DC0C8 -:10AC8000833631F0833771F0833509F059C021C024 -:10AC9000F801808189830E5F1F4F88248394912C53 -:10ACA000530113C02801F2E04F0E511CF801A0809F -:10ACB000B18036FE03C0692D70E002C06FEF7FEFF8 -:10ACC000C5010F940E5A4C018201F32DFF773F2EE0 -:10ACD00016C0280122E0420E511CF801A080B1806C -:10ACE00036FE03C0692D70E002C06FEF7FEFC50133 -:10ACF0000F94035A4C01F32DF0683F2E820133FC70 -:10AD00001BC0822D90E088169906B0F4B60180E24F -:10AD100090E00F94195A2A94F4CFF50137FC8591ED -:10AD200037FE81915F01B60190E00F94195A21100E -:10AD30002A9421E0821A91088114910471F7E8C0E5 -:10AD4000843611F0893641F5F80137FE07C060817D -:10AD50007181828193810C5F1F4F08C06081718176 -:10AD6000072E000C880B990B0E5F1F4FF32DFF76FB -:10AD70003F2E97FF09C090958095709561957F4F04 -:10AD80008F4F9F4FF0683F2E2AE030E0A3010F94D1 -:10AD9000555A882E861845C0853731F4232D2F7ECD -:10ADA000B22E2AE030E025C0932D997FB92E8F3640 -:10ADB000C1F018F4883579F0B5C0803719F08837BC -:10ADC00021F0B0C0E92FE061BE2EB4FE0DC0FB2D16 -:10ADD000F460BF2E09C034FE0AC0292F2660B22EAF -:10ADE00006C028E030E005C020E130E002C020E1EC -:10ADF00032E0F801B7FE07C06081718182819381E2 -:10AE00000C5F1F4F06C06081718180E090E00E5F93 -:10AE10001F4FA3010F94555A882E8618FB2DFF77DC -:10AE20003F2E36FE0DC0232D2E7FA22E891458F4FE -:10AE300034FE0BC032FC09C0832D8E7EA82E05C0C7 -:10AE4000B82CA32C03C0B82C01C0B92CA4FE0FC091 -:10AE5000FE01E80DF11D8081803321F49A2D997E49 -:10AE6000A92E09C0A2FE06C0B394B39404C08A2DD3 -:10AE7000867809F0B394A3FC11C0A0FE06C0B214FA -:10AE800088F4280C922C9B180EC0B21460F4B60102 -:10AE900080E290E00F94195AB394F7CFB21418F4EB -:10AEA0002B1802C0982C212CA4FE10C0B60180E300 -:10AEB00090E00F94195AA2FE17C0A1FC03C088E7C6 -:10AEC00090E002C088E590E0B6010CC08A2D86783B -:10AED00059F0A1FE02C08BE201C080E2A7FC8DE226 -:10AEE000B60190E00F94195A891438F4B60180E342 -:10AEF00090E00F94195A9A94F7CF8A94F301E80DD1 -:10AF0000F11D8081B60190E00F94195A8110F5CFA0 -:10AF1000222009F442CEB60180E290E00F94195A43 -:10AF20002A94F6CFF6018681978102C08FEF9FEFBA -:10AF30002B960FB6F894DEBF0FBECDBFDF91CF9139 -:10AF40001F910F91FF90EF90DF90CF90BF90AF9047 -:10AF50009F908F907F906F905F904F903F902F9039 -:10AF600008958F929F92AF92BF92CF92DF92EF920D -:10AF7000FF920F931F93CF93DF93CDB7DEB729973F -:10AF80000FB6F894DEBF0FBECDBF6A01122FB02EF0 -:10AF90002BE3201720F0FF24F394F00E02C02CE3E3 -:10AFA000F22E0F2D27E0AE014F5F5F4F0F9428590F -:10AFB000BC014981842F8970813031F0E1FC06C0E9 -:10AFC000E0FE06C090E205C09DE203C09BE201C026 -:10AFD00090E05E2D507143FF3CC0911102C083E0B0 -:10AFE00001C084E0811718F4212F281B01C020E044 -:10AFF00051110BC0F601822F30E2882319F03193F2 -:10B000008150FBCFC20ED11C20E0992329F0D6013C -:10B010009C93F60131966F01C6010396E2FE0AC0C9 -:10B020003EE4D6013C9341E411964C93119712965D -:10B030003C9306C03EE6F601308341E6418332830D -:10B04000FC01322F40E2332309F442C041933150D6 -:10B05000FACF42FF44C0911102C083E001C084E0F6 -:10B06000811718F4212F281B01C020E051110BC0BB -:10B07000F601822F30E2882319F031938150FBCF03 -:10B08000C20ED11C20E0992329F0D6019C93F60131 -:10B0900031966F01C6010396E2FE0BC039E4D6017A -:10B0A0003C933EE411963C93119736E412963C9300 -:10B0B00007C039E6F60130833EE6318336E6328357 -:10B0C000FC01322F40E2332319F041933150FBCF82 -:10B0D000FC01E20FF11D10828EEF9FEFA6C021E070 -:10B0E00030E0911102C020E030E0161617061CF483 -:10B0F000FB01319602C0E1E0F0E02E0F3F1FBB20C4 -:10B1000021F0EB2DF0E0319602C0E0E0F0E02E0FF0 -:10B110003F1FE12FF0E02E173F071CF4121B212FD9 -:10B1200001C020E08E2D887159F4F601822F30E2A3 -:10B13000882319F031938150FBCFC20ED11C20E03F -:10B14000992329F0D6019C93F60131966F01511194 -:10B150000BC0F601822F90E3882319F09193815060 -:10B16000FBCFC20ED11C20E00F2D060F9A81342F89 -:10B17000307144FF03C0913309F40150101624F4D8 -:10B18000093018F008E001C001E0AB0177FF02C010 -:10B1900040E050E0FB01E41BF50BA1E0B0E0AC0F98 -:10B1A000BD1FEA0FFB1F8EE2A82E4B01801A9108EB -:10B1B0000B2D10E01195019511094F3FBFEF5B0773 -:10B1C00021F4D601AC9211966D01641775072CF02D -:10B1D0008416950614F4818101C080E34150510921 -:10B1E0003196D60111967D014017510724F0D60102 -:10B1F0008C936701E2CF6417750739F4963320F416 -:10B20000953319F4311101C081E3F6018083F70110 -:10B21000822F90E2882319F091938150FBCFF701A0 -:10B22000E20FF11D108280E090E029960FB6F894AD -:10B23000DEBF0FBECDBFDF91CF911F910F91FF9069 -:10B24000EF90DF90CF90BF90AF909F908F90089538 -:10B25000283008F027E03327DA01990F311D87FDE8 -:10B26000916000966105710539F432602E5F3D935F -:10B2700030E32A95E1F708959F3F30F0803871055B -:10B28000610509F03C5F3C5F3D93913008F08068B8 -:10B29000911DDF93CF931F930F93FF92EF92192F7E -:10B2A000987F9695E92F96959695E90FFF27ED588B -:10B2B000FA4F99273327EE24FF24A701E7010590D1 -:10B2C0000894079428F4360FE71EF81E491F511DF5 -:10B2D000660F771F881F991F0694A1F705900794A2 -:10B2E00028F4E70EF81E491F561FC11D770F881F4F -:10B2F000991F661F0694A1F70590079428F4F80E8D -:10B30000491F561FC71FD11D880F991F661F771F22 -:10B310000694A1F70590079420F4490F561FC71F04 -:10B32000D81F990F661F771F881F0694A9F784916D -:10B330001095177041F0D695C79557954795F79496 -:10B34000E7941A95C1F7E9E1F5E068941590159135 -:10B3500035916591959105907FE27395E118F10A19 -:10B36000430B560BC90BD009C0F7E10CF11E431F6C -:10B37000561FC91FD01D7EF4703311F48A95E6CF95 -:10B38000E894015030F0080F0AF40027021708F47F -:10B39000202F2395022F7A3328F079E37D932A9585 -:10B3A000E9F710C07D932A9589F6069497956795DD -:10B3B000379517951794E118F10A430B560BC90BF3 -:10B3C000D00998F023957E9173957A3308F070E355 -:10B3D0007C932013B8F77E9170617D9330F0839554 -:10B3E00071E37D9370E32A95E1F71124EF90FF90CC -:10B3F0000F911F91CF91DF91992787FD9095089527 -:10B40000992788270895FC0105906150704001102C -:10B41000D8F7809590958E0F9F1F0895FC0161507D -:10B42000704001900110D8F7809590958E0F9F1F66 -:10B4300008950F931F93CF93DF93FB01238121FD89 -:10B4400003C08FEF9FEF2CC022FF16C046815781AB -:10B45000248135814217530744F4A081B1819D01B5 -:10B460002F5F3F4F318320838C93268137812F5F5D -:10B470003F4F3783268314C08B01EC01FB0100840E -:10B48000F185E02D1995892BE1F6D80116968D915D -:10B490009C911797019617969C938E931697CE01C1 -:10B4A000DF91CF911F910F910895FA01AA272830BB -:10B4B00051F1203181F1E8946F936E7F6E5F7F4F81 -:10B4C0008F4F9F4FAF4FB1E03ED0B4E03CD0670FFD -:10B4D000781F891F9A1FA11D680F791F8A1F911D50 -:10B4E000A11D6A0F711D811D911DA11D20D009F4A0 -:10B4F00068943F912AE0269F11243019305D3193E2 -:10B50000DEF6CF010895462F4770405D4193B3E0CA -:10B510000FD0C9F7F6CF462F4F70405D4A3318F071 -:10B52000495D31FD4052419302D0A9F7EACFB4E022 -:10B53000A6959795879577956795BA95C9F70097DA -:10B540006105710508959B01AC010A2E069457957B -:10B55000479537952795BA95C9F7620F731F841FD2 -:10B56000951FA01D089597F99F6780E870E060E03F -:10B5700008959FEF80EC089500240A94161617068C -:10B5800018060906089500240A94121613061406D4 -:10B5900005060895092E0394000C11F4882352F037 -:10B5A000BB0F40F4BF2B11F460FF04C06F5F7F4FEF -:10B5B0008F4F9F4F089557FD9058440F551F59F0D6 -:10B5C0005F3F71F04795880F97FB991F61F09F3F90 -:10B5D00079F087950895121613061406551FF2CFB9 -:10B5E0004695F1DF08C0161617061806991FF1CF09 -:10B5F00086957105610508940895E894BB27662730 -:10B600007727CB0197F90895F999FECF92BD81BDB7 -:10B61000F89A992780B50895262FF999FECF1FBA79 -:10B6200092BD81BD20BD0FB6F894FA9AF99A0FBE6B -:10B6300001960895DB018F939F930F946B5BBF91ED -:10B64000AF91A29F800D911DA39F900DB29F900D71 -:10B6500011240895A1E21A2EAA1BBB1BFD010DC0E7 -:10B66000AA1FBB1FEE1FFF1FA217B307E407F507B2 -:10B6700020F0A21BB30BE40BF50B661F771F881F8E -:10B68000991F1A9469F760957095809590959B0124 -:10B69000AC01BD01CF010895052E97FB1EF4009467 -:10B6A0000F94635B57FD07D00F942A5B07FC03D010 -:10B6B0004EF40D94635B50954095309521953F4F26 -:10B6C0004F4F5F4F089590958095709561957F4F8E -:10B6D0008F4F9F4F08950F947E5BA59F900DB49F51 -:10B6E000900DA49F800D911D11240895B7FF0D9416 -:10B6F0006B5B0F946B5B821B930B0895A29FB00151 -:10B70000B39FC001A39F700D811D1124911DB29F95 -:10B71000700D811D1124911D0895991B79E004C0BD -:10B72000991F961708F0961B881F7A95C9F7809580 -:10B730000895AA1BBB1B51E107C0AA1FBB1FA61778 -:10B74000B70710F0A61BB70B881F991F5A95A9F7CA -:10B7500080959095BC01CD01089597FB072E16F4B6 -:10B76000009407D077FD09D00F94995B07FC05D0B2 -:10B770003EF4909581959F4F0895709561957F4F08 -:10B780000895EE0FFF1F881F8BBF0790F691E02DE5 -:10B7900019945058BB27AA270F94E15B0D94CA5AFD -:10B7A0000F94BC5A38F00F94C35A20F039F49F3FDD -:10B7B00019F426F40D94B95A0EF4E095E7FB0D94B4 -:10B7C000B35AE92F0F94DB5A58F3BA17620773077D -:10B7D0008407950720F079F4A6F50D94FD5A0EF430 -:10B7E000E0950B2EBA2FA02D0B01B90190010C0191 -:10B7F000CA01A0011124FF27591B99F0593F50F4A9 -:10B80000503E68F11A16F040A22F232F342F442700 -:10B81000585FF3CF469537952795A795F0405395F8 -:10B82000C9F77EF41F16BA0B620B730B840BBAF0C8 -:10B830009150A1F0FF0FBB1F661F771F881FC2F733 -:10B840000EC0BA0F621F731F841F48F48795779547 -:10B850006795B795F7959E3F08F0B0CF9395880F01 -:10B8600008F09927EE0F9795879508950F94BC5A85 -:10B8700060F080E891E009F49EEF0F94C35A28F03D -:10B8800040E851E071F45EEF0CC00D94B95A0D948C -:10B89000FD5AE92FE0780F94DB5A40F3092E052A70 -:10B8A000B1F3261737074807590738F00E2E07F867 -:10B8B000E02569F0E025E0640AC0EF6307F8009432 -:10B8C00007FADB01B9019D01DC01CA01AD01EF936B -:10B8D0000F94DB5C0F94CA5A0F94795C5F915523E7 -:10B8E00039F02BED3FE049E450FD49EC0D94CA5B83 -:10B8F0000895DF93DD27B92FBF7740E85FE3161681 -:10B90000170648075B0718F4D92F0F942F5E9F93F3 -:10B910008F937F936F930F94085FECEFF1E00F9498 -:10B92000AC5D0F94CA5A2F913F914F915F910F9444 -:10B930004D55DD2351F09058A2EA2AED3FE049EC45 -:10B940005FE3D0785D270F94E15BDF910D94CA5AD5 -:10B950000F94125E90F09F3748F4911116F40D94F5 -:10B96000FE5A60E070E080E89FE3089526F01B1621 -:10B97000611D711D811D0D94835D0D949E5D0F945D -:10B98000D55DE3950D94FE5D0F94D85C0D94CA5A75 -:10B990000F94C35A58F00F94BC5A40F029F45F3FFB -:10B9A00029F00D94B35A51110D94FE5A0D94B95AC1 -:10B9B0000F94DB5A68F39923B1F3552391F3951B48 -:10B9C000550BBB27AA2762177307840738F09F5FC0 -:10B9D0005F4F220F331F441FAA1FA9F335D00E2E2D -:10B9E0003AF0E0E832D091505040E695001CCAF79A -:10B9F0002BD0FE2F29D0660F771F881FBB1F26175D -:10BA000037074807AB07B0E809F0BB0B802DBF0133 -:10BA1000FF2793585F4F3AF09E3F510578F00D9401 -:10BA2000B35A0D94FE5A5F3FE4F3983ED4F38695E3 -:10BA300077956795B795F7959F5FC9F7880F911D23 -:10BA40009695879597F90895E1E0660F771F881F0F -:10BA5000BB1F621773078407BA0720F0621B730BC2 -:10BA6000840BBA0BEE1F88F7E09508950F943D5DA7 -:10BA70006894B1110D94FE5A08950F94E35A88F01A -:10BA80009F5798F0B92F9927B751B0F0E1F0660FA2 -:10BA9000771F881F991F1AF0BA95C9F714C0B130E3 -:10BAA00091F00F94FD5AB1E008950D94FD5A672F5F -:10BAB000782F8827B85F39F0B93FCCF38695779512 -:10BAC0006795B395D9F73EF49095809570956195FB -:10BAD0007F4F8F4F9F4F08950F94125E90F09F37C6 -:10BAE00048F4911116F00D94FE5A60E070E080E881 -:10BAF0009FEB089526F41B16611D711D811D0D9489 -:10BB0000835D0D949E5D882371F4772321F0985016 -:10BB1000872B762F07C0662311F499270DC090510B -:10BB2000862B70E060E02AF09A95660F771F881FD9 -:10BB3000DAF7880F9695879597F908959F3F31F02A -:10BB4000915020F4879577956795B795880F911D4B -:10BB50009695879597F90895DF93CF931F930F9349 -:10BB6000FF92EF92DF927B018C01689406C0DA2E7F -:10BB7000EF010F944D55FE01E894A5912591359163 -:10BB800045915591A6F3EF010F94E15BFE019701FA -:10BB9000A801DA9469F7DF90EF90FF900F911F9161 -:10BBA000CF91DF9108950D94B95A0F94E35AD8F3C9 -:10BBB000E894E0E0BB279F57F0F02AED3FE049EC26 -:10BBC00006C0EE0FBB0F661F771F881F28F0B23A22 -:10BBD00062077307840728F0B25A620B730B840B59 -:10BBE000E3959A9572F7803830F49A95BB0F661FEB -:10BBF000771F881FD2F790480D94A05DEF93E0FF68 -:10BC000007C0A2EA2AED3FE049EC5FEB0F94E15B4D -:10BC10000F94CA5A0F90039401FC9058E9E2F2E0A5 -:10BC20000D945D5F0F94E35AA0F0BEE7B91788F456 -:10BC3000BB279F3860F41616B11D672F782F882711 -:10BC4000985FF7CF869577956795B11D939596394F -:10BC5000C8F308950F94165508F48FEF08959B01CB -:10BC6000AC0160E070E080E89FE30D94C45C0F9449 -:10BC7000E35A58F19E5760F19851A0F0E9F09830DE -:10BC800020F5092E9927660F771F881F991F0A94A0 -:10BC9000D1F712C0062E672F782F8827985F11F4EE -:10BCA000000C07C0993FB4F38695779567959395F7 -:10BCB000D9F7611D711D811D3EF490958095709599 -:10BCC00061957F4F8F4F9F4F089568940D94FE5A52 -:10BCD0000D94FD5AFA01EE0FFF1F30962105310534 -:10BCE000A1F16115710561F48038BFE39B0749F14B -:10BCF00068949038810561F08038BFEF9B0741F070 -:10BD000099234AF5FF3FE1053105210519F1E89432 -:10BD10000894E795D901AA2329F4AB2FBE2FF85F29 -:10BD2000D0F310C0FF5F70F4A695E0F7F73950F03C -:10BD300019F0FF3A38F49F779F930DD00F9007FCCE -:10BD40009058089546F00D94B95A60E070E080E88C -:10BD50009FE308954FE79F775F934F933F932F9310 -:10BD60000F94B35F2F913F914F915F910F943A558C -:10BD70000D94245F9F930F94D55D0F9007FCEE5FA9 -:10BD80000D94FE5D19F416F40D94B95A0D949E5D50 -:10BD90000F94E35AB8F39923C9F3B6F39F57550BA1 -:10BDA00087FF0F94565F0024A0E640EA9001805878 -:10BDB0005695979528F4805C660F771F881F20F0B2 -:10BDC00026173707480730F4621B730B840B2029B2 -:10BDD00031294A2BA69517940794202531254A2707 -:10BDE00058F7660F771F881F20F026173707480778 -:10BDF00030F4620B730B840B200D311D411DA09597 -:10BE000081F7B901842F9158880F969587950895E9 -:10BE10009B01AC010D943A550F94125E30F09F37A0 -:10BE200010F40D94FE5A0D94835D0D949E5D0F9455 -:10BE30001655880B990B089529F416F00D94B35AF2 -:10BE40000D94FD5A0D94B95A0F94E35AA8F39638FD -:10BE5000A0F707F80F92E8942BE33AEA48EB5FE784 -:10BE60000F9450550F920F920F924DB75EB70F92ED -:10BE70000F94FB5FE7E4F2E00F94AC5D4F915F91AC -:10BE8000EF91FF91E595EE1FFF1F49F0FE57E06827 -:10BE90004427EE0F441FFA95E1F74195550B0F9497 -:10BEA000755F0F9007FE0D942F5E089591505040DE -:10BEB000660F771F881FD2F708959F938F937F9304 -:10BEC0006F93FF93EF939B01AC010F943A55EF9161 -:10BED000FF910F94AC5D2F913F914F915F910D9425 -:10BEE0003A550D94B35A0D949E5D0F94E35AD8F3CE -:10BEF0009923C9F3940F511DA3F39150504094F02E -:10BF000059F0882332F0660F771F881F91505040F8 -:10BF1000C1F79E3F51052CF7880F911D9695879587 -:10BF200097F908955F3FACF0983E9CF0BB2786954B -:10BF300077956795B79508F4B1609395C1F7BB0FF6 -:10BF400058F711F460FFE8CF6F5F7F4F8F4F9F4F1F -:10BF5000E3CF0D94FE5A16F00D949E5D0D94B95AE0 -:10BF600068940D94B35A0F94E35AA8F39923C1F33C -:10BF7000AEF3DF93CF931F930F93FF92C92FDD276B -:10BF800088232AF02197660F771F881FDAF720E0B1 -:10BF900030E040E85FEB9FE3883920F0803E38F0E6 -:10BFA00021968F770F94CA5BEFE6F2E004C00F94FE -:10BFB000CA5BECE9F2E00F94AC5D8B01BE01EC01D1 -:10BFC000FB2E6F5771097595771F880B990B0F948E -:10BFD000DB5428E132E741E35FE30F944D55AF2D89 -:10BFE0009801AE01FF900F911F91CF91DF910F94B7 -:10BFF000E15B0D94CA5AFA01DC01AA0FBB1F9B0139 -:10C00000AC01BF5728F4222733274427507820C09B -:10C01000B75190F4AB2F0024469537952795011C16 -:10C02000A395D2F3002071F0220F331F441FB39564 -:10C03000DAF30ED00D94C95B61307105A0E88A0770 -:10C04000B94630F49B01AC016627772788279078A2 -:10C05000309621F02083318342835383089581E019 -:10C0600090E0F8940D94D9609111089581548A510B -:10C0700008F4805E855A0895FB01DC0104C08D91AF -:10C080000190801921F441505040C8F7881B990B4A -:10C090000895FB01DC0102C001900D924150504017 -:10C0A000D8F70895FB01DC018D9181341CF08B35AC -:10C0B0000CF4805E619161341CF06B350CF4605EB1 -:10C0C000861B611189F3990B0895FB01DC010D902A -:10C0D0000020E9F7119701900D920020E1F70895F3 -:10C0E000FC018191861721F08823D9F799270895BB -:10C0F0003197CF010895FB01DC0101900D920020E2 -:10C10000E1F70895FB01DC014150504030F08D9182 -:10C110000190801919F40020B9F7881B990B089534 -:10C12000FB01DC014150504048F001900D9200208D -:10C13000C9F701C01D9241505040E0F70895FC013D -:10C1400081E090E00190061609F4CF010020D1F7BC -:10C15000019708950F931F93CF93DF93CDB7DEB769 -:10C160002E970FB6F894DEBF0FBECDBF0E891F8984 -:10C1700086E08C831A8309838FEF9FE79E838D83EC -:10C18000AE01465E5F4F688D798DCE0101960F94AA -:10C19000A755EF81F885E00FF11F10822E960FB69C -:10C1A000F894DEBF0FBECDBFDF91CF911F910F91ED -:10C1B000089510E3CFE5D0E300E006C0802FFE0134 -:10C1C0000F94C15B2196011DC036D10780E008079E -:06C1D000A9F7F894FFCF6F -:10C1D60002C0D401000180000000FF3FFF3F0000C5 -:10C1E6000000FF3F010000A0400000000000009D8D -:10C1F600430000000000009B43000000000000C850 -:10C20600430100007A4300005243CDCCCC3D0100EF -:10C2160000C8410000803FA0006400640001FFFFE9 -:10C22600FFFF01015CFF79C480800110FF06010059 -:10C2360000803FCDCCCC3C01000000021000000481 -:10C2460010000006100000081000000A1000000C84 -:10C2560010000026100000301000003210000034DC -:10C266001000003A1000003E10000040100000448C -:10C2760010000046100000481000004A1000004C54 -:10C286001000005410000056100000581000005C0A -:10C296001000005E1000005F100000881000000013 -:10C2A60000000000409C4500007A4500007A4300EB -:10C2B60000704258595A45B400F00046006E00001E -:10C2C6000040400000344200000000000000000072 -:10C2D6000000000000504100000000000000416422 -:10C2E6000000006400000003000000640000006419 -:10C2F60000000003000000030000001E0000001EF6 -:10C306000000001E0000001E0000001E0000001EAF -:10C316000000000A005A00EE020000EE020000646F -:10C326000000003C0000000000A0420000A0420007 -:10C3360000C84300000C430000FA430000FA430023 -:10C3460000204100008C4256373000000000007982 -:10C356006FE26E106FC66F416F1F6F336F2A2A2A06 -:10C36600496E6974696E672063617264206973201F -:10C376004F4B2A2A2A002A2A2A496E6974696E674F -:10C386002063617264206661696C732A2A2A002A16 -:10C396002A2A436172642052656D6F7665642A2A83 -:10C3A6002A003D3D7761697477617920313D3D0012 -:10C3B6003D3D7761697477617920333D3D002020EA -:10C3C600737461727470726F677265737320002084 -:10C3D600202A2A2A2A2A2A2A5254535F48616E643E -:10C3E6006C65446174612A2A2A2A2A2A2A2A20008C -:10C3F6003D3D20436865636B6B65793D3D000A20D2 -:10C4060048616E646C652044617461205072696E87 -:10C416007446696C6520312053657474696E6720B3 -:10C4260053637265656E20000A2048616E646C6510 -:10C436002044617461205072696E7446696C65208F -:10C44600322053657474696E672053637265656E36 -:10C4560020000A2048616E646C6520446174612086 -:10C466005072696E7446696C652033205365747426 -:10C47600696E672053637265656E20000A20486105 -:10C486006E646C6520446174612041646A757374DE -:10C4960020322053657474696E6720536372656534 -:10C4A6006E200074696E796D616368696E657333B9 -:10C4B600642E636F6D004368696E657365204E6F09 -:10C4C6007420537570706F7274656400456E676C86 -:10C4D60069736820416C72656164792053657400E4 -:10C4E600496E76616C6964204F7074696F6E000ADC -:10C4F600204E6F2046696C616D656E74002046693A -:10C506006C616D656E7420526573706F6E73652015 -:10C516004E6F0046696C616D656E7420537461746C -:10C526002030202D20310046696C616D656E7420C7 -:10C53600537461742030202D20320046696C616D81 -:10C54600656E7420537461742030202D20330046AC -:10C55600696C656E616D6500526563646174610046 -:10C566002020202020202020200025642F25640064 -:10C576003D3D7761697477617920343D3D003D3DED -:10C586007761697477617920353D3D003D3D4865A9 -:10C596006174696E6720446F6E65204368616E67DB -:10C5A600652046696C616D656E743D3D005265732C -:10C5B600756D652059657320647572696E672070A4 -:10C5C60072696E740046696C656E616D652D4D65A8 -:10C5D60064696100436C69636B20746F20526573F4 -:10C5E600756D652E2E2E003D3D6F6E46696C616D34 -:10C5F600656E7452756E6F75743D3D0025642058E6 -:10C60600202564205820256400544D3344203130C1 -:10C61600532050726F00322E305F44573320544DF2 -:10C6260033442053534D444255003D3D4477696E93 -:10C6360020496E697420436F6D706C6574653D3D6D -:10C64600002F003D3D6F6E466163746F72795265CF -:10C656007365743D3D003D3D6F6E55736572436F66 -:10C666006E6669726D52657175697265643D3D00ED -:10C676003F3F3F0042656420583A200020593A2047 -:10C6860000205A3A20003D3D6F6E5072696E745418 -:10C69600696D6572537461727465643D3D003D3D1C -:10C6A6006F6E436F6E66696775726174696F6E53FC -:10C6B600746F72655772697474656E3D3D0073746C -:10C6C6006F7070696E67203D3D002F2F616374693E -:10C6D6006F6E3A63616E63656C003D3D6F6E5072BE -:10C6E600696E7454696D657253746F707065643DDC -:10C6F6003D0059005800556E746F75636865642077 -:10C706000050756C73696E672020200020205354FA -:10C716004F574544202874726967676572656429B6 -:10C726002073746174653A204849474820286C6F25 -:10C7360067696320312900202053544F5745442010 -:10C7460028747269676765726564292073746174F9 -:10C75600653A204C4F5720286C6F67696320302953 -:10C766000062656420706C616E65206E6F726D612B -:10C776006C203D205B003D3D6F6E53746F726553B8 -:10C78600657474696E67733D3D00455252003D3DC8 -:10C796006F6E5072696E7454696D6572506175730F -:10C7A60065643D3D005265686561742066696E6921 -:10C7B600736865642E003A207A3A2000206D656120 -:10C7C6006E3A2000207369676D613A2000206D691A -:10C7D6006E3A2000206D61783A20002072616E6703 -:10C7E600653A20004D65616E3A2000204D696E3A2B -:10C7F6002000204D61783A20002052616E67653A2C -:10C8060020005374616E64617264204465766961C8 -:10C8160074696F6E3A20003D3D6F6E4C6F616453D4 -:10C82600657474696E67733D3D003D3D6F6E436F81 -:10C836006E66696775726174696F6E53746F72653F -:10C84600526561643D3D004D65616E204D657368BE -:10C85600204865696768743A20002A2A2A6B696C41 -:10C866006C2A2A2A00205A00534455706461746564 -:10C87600002E67636F6465002E47434F44450000F2 -:00000001FF diff --git a/CR10SPro_Stock_BIL_DW3.hex b/CR10SPro_Stock_BIL_DW3.hex deleted file mode 100644 index f843b772ee..0000000000 --- a/CR10SPro_Stock_BIL_DW3.hex +++ /dev/null @@ -1,9318 +0,0 @@ -:100000000C943A1B0C946B1B0C946B1B0C946B1B89 -:100010000C946B1B0C946B1B0C946B1B0C946B1B48 -:100020000C946B1B0C946B1B0C946B1B0C946B1B38 -:100030000C946B1B0C946B1B0C946B1B0C946B1B28 -:100040000C946B1B0C94E59C0C946B1B0C946B1B1D -:100050000C946B1B0C946B1B0C9411BD0D94F5054B -:100060000C946B1B0C9450560C9446560C946B1BC2 -:100070000C946B1B0C946B1B0C946B1B0C946B1BE8 -:100080000C946B1B0C946B1B0C946B1B0C946B1BD8 -:100090000C946B1B0C946B1B0C946B1B0C946B1BC8 -:1000A0000C946B1B0C946B1B0C946B1B0C946B1BB8 -:1000B0000C946B1B0C946B1B0C946B1B0C946B1BA8 -:1000C0000C946B1B0C946B1B0C946B1B0C94F558D1 -:1000D0000C94CB580C946B1B0C946B1B0C946B1BEB -:1000E0000C946B1B1A1D601D661D8D1D9A1DA31D92 -:1000F000AE1D722592266E27A127FE32FE32BC2845 -:100100005F296E26FE32FE32FC2A952CCD2CFE3263 -:10011000CB2EFE32FE321C30FE32FE32A630D930FB -:10012000FE3255311132DC2CE42C082D2C2D602DA3 -:10013000032E172E302E3D2E4A2E5E2E83568956C4 -:100140009B56AB56B356E056B756E056BB56BF5615 -:10015000E056C356C756CB56D356E056DD564BE84D -:100160004EE83DE841E847E885E852E856E85CE8B3 -:1001700060E864E86AE86EE872E885E878E87CE8B8 -:1001800080E888ED8DED92ED9CEDA6ED1FEEB0EDD3 -:10019000B8EDC0EDCAEDD4EDDEEDEDEDF7ED1FEEFF -:1001A00001EE0BEE15EEB0F5B3F5B7F5BAF5BDF50A -:1001B000E7F5C1F5C4F5C8F5CBF5CEF5D2F5D5F523 -:1001C000D8F5E7F5DCF5DFF5E2F532F654F674F62E -:1001D00099F6BEF675F8E3F606F729F74EF773F7CA -:1001E00098F7BDF7E2F775F807F82CF851F8084AC8 -:1001F000D73B3BCE016E84BCBFFDC12F3D6C74313B -:100200009ABD56833DDA3D00C77F11BED9E4BB4C91 -:100210003E916BAAAABE000000803F05A84CCDB25B -:10022000D44EB93836A9020C50B9918688083CA63C -:10023000AAAA2ABE000000803F000C94CAED0C94CC -:100240004EE80C94DD570C94CD2C0C9411320C9488 -:10025000B0F50C9489560C944EF70C9499F60C94C6 -:100260005E2E0C9483560C9474F60C94C0ED0C9492 -:100270001FEE0C943DE80C94602D0C94B3560C9436 -:100280008D1D0C940BEE0C948DED0C9451F80C9488 -:100290002CF80C9407F80C94DEED0C94302E0C9492 -:1002A000CB560C9415EE0C9441E80C9488ED0C940C -:1002B00032F60D94490F0C94082D0C9483570C942E -:1002C000BAF50C94C3560C9475F80C9456E80C943B -:1002D00060E80C94FC2A0C94BC280C949A1D0C9495 -:1002E00078E80C9401EE0C94D9300C94E2F70C945D -:1002F00006F70C9447E80C9472250C94E42C0C94AB -:10030000BDF50C94AE1D0C949B560C9492ED0C9480 -:10031000C1F50C94B7F50C94A6300C9473F70C94BB -:10032000C7560D94A40E0C9454F60C9498F70C94A4 -:10033000AB560C946EE80C9492260C941A1D0C94F7 -:1003400097570C94DFF50C94601D0C94CB2E0C94F5 -:100350006E260C9480E80C945CE80C94B0ED0C9440 -:10036000DD560C94E0560C94E2F50C944BE80C949A -:10037000CEF50C94B3F50C94661D0C94C4F50C9456 -:100380007CE80C94C8F50C9455310C94032E0C9415 -:100390002C2D0C9446570C94D2F50C94EDED0C9446 -:1003A0001C300C9474570C94BEF60C946E270C946D -:1003B0006AE80C94CBF50C94E3F60C943D2E0C9467 -:1003C0009CED0C94BDF70C942A580C94DCF50C941D -:1003D000B8ED0C94BF560C94D4ED0C94D3560C94F9 -:1003E000A31D0C94D5F50C944A2E0C94172E0C9446 -:1003F000F7ED0C94DC2C0C94A6ED0C94E7F50C9422 -:1004000064E80C9472E80C94BB560C9485E80C9448 -:1004100029F70C94FE320C94952C0C9452E80C9411 -:10042000D8F50C94A1270C94A5570C945F290C9433 -:10043000B7564E414E494E495459494E46CDCCCC03 -:100440003D0AD7233C17B7D13877CC2B329595E6A8 -:10045000241FB14F0A000020410000C84200401C88 -:100460004620BCBE4CCA1B0E5AAEC59D7400407AD5 -:1004700010F35A00A0724E18090010A5D4E800002D -:10048000E87648170000E40B54020000CA9A3B00CB -:100490000000E1F505000080969800000040420F42 -:1004A000000000A08601000000102700000000E806 -:1004B00003000000006400000000000A00000000CB -:1004C000000100000000002C76D888DC674F08236C -:1004D000DFC1DFAE59E1B1B796E5E3E453C63AE6D2 -:1004E00051997696E8E6C28426EB898C9B62ED40B2 -:1004F0007C6FFCEFBC9C9F40F2BAA56FA5F4900501 -:100500005A2AF75C936B6CF9676DC11BFCE0E40D34 -:1005100047FEF520E6B500D0ED902E030094357728 -:10052000050080841E080000204E0A000000C80C50 -:10053000333333330F986E12831141EF8D211489B9 -:100540003BE65516CFFEE6DB18D1844B381BF77C13 -:100550001D901DA4BBE424203284725E228100C958 -:10056000F124ECA1E53D274D323520500A4D3234BF -:10057000005072696E742050617573656400526535 -:1005800073756D65005549205061757365004E6F38 -:10059000204D61746368203A004D333033452D316E -:1005A000533635433455004D393939004D353032E5 -:1005B0000A4D353030004D3330334530533231350C -:1005C000433855000A202A2A2A7265636461742E12 -:1005D000646174615B305D203D004732380A473109 -:1005E000204631303030205A313000556E737570EE -:1005F000706F72746564204F7074696F6E205365FC -:100600006C6563746564004D3139305335350A4784 -:1006100032380A4732390A4D3430300A4D313034DD -:10062000533231350A4732380A4D3130395332317D -:10063000350A4D34323053310A4731583130305950 -:1006400031303046353030300A47315A300A4D3576 -:1006500030300A4D31313720536574205A204F66AF -:1006600066736574004731204631303030205A308F -:100670002E30004732380A473120463130303020A2 -:100680005A302E30004D353030005A204F66667398 -:100690006574203A202573004D353030005A204FC4 -:1006A0006666736574203A202573004732385A0A0B -:1006B000473146313530305A302E30004732380A13 -:1006C000473146313530305A302E30004D38340005 -:1006D000473146313030305A302E30004732380AF8 -:1006E000473146313030305A302E30005A204F6674 -:1006F00066736574203A202573004D353030004D07 -:10070000383400426567696E5377697463680072B4 -:1007100065636461742E61646472203D3D0072659E -:10072000636461742E646174615B305D203D3D00E3 -:1007300077616974776179203D3D000A202A2A2A71 -:100740004E6F7A7A6C6554656D705374617475730D -:100750005B325D203D00434F4D4D554E4943415462 -:10076000494F4E0044525952554E004552524F5235 -:100770005300494E464F004543484F0047322F47EC -:10078000332062616420706172616D65746572739B -:100790000A00536C6565702E2E2E005A2050726F21 -:1007A00062652050617374204265640A005A2050CB -:1007B000726F626520506173742042656400486FF7 -:1007C0006D652058592046697273740A00486F6D30 -:1007D00065205859204669727374004D31313720B5 -:1007E00050726F6265206661696C65642E0A4732DB -:1007F000380A0070726F62655F72657769706500B4 -:10080000473239205265747279696E670050726F91 -:1008100062696E67204661696C6564004D313137ED -:1008200020426564206C6576656C696E6720666140 -:10083000696C65642E0A4730205A31300A4D3330D6 -:10084000302050323520533838300A4D3330302084 -:100850005035302053300A4D33303020503235205F -:10086000533838300A4D3330302050353020533033 -:100870000A4D3330302050323520533838300A4D4D -:10088000333030205035302053300A473420533134 -:100890000070726F62655F6661696C6564004D31FE -:1008A000313720426564206C6576656C696E67201F -:1008B000646F6E652E00205A3A200020593A2000BD -:1008C00042656420583A20004D65736820706F6956 -:1008D0006E742063616E6E6F742062652072657342 -:1008E0006F6C7665640A004D302F3120427265616D -:1008F0006B2043616C6C656400436F6E74696E7548 -:1009000065004D302F3120427265616B2043616C70 -:100910006C6564004E6F204D6F76652E00456E64E9 -:100920002066696C65206C6973740A0042656769AA -:100930006E2066696C65206C6973740A0052657379 -:10094000756D6520534400286E6F2066696C6529BB -:100950000043757272656E742066696C653A20009A -:100960002E0A0044656C6574696F6E206661696C5F -:1009700065642C2046696C653A200046696C6520E8 -:1009800064656C657465643A005072696E742074B5 -:10099000696D653A20000A53746174733A204669A0 -:1009A0006C616D656E7420757365643A20002C204F -:1009B0004C6F6E67657374206A6F623A2000546FE3 -:1009C00074616C2074696D653A20005374617473AE -:1009D0003A20002C204661696C65643A20002C2086 -:1009E00046696E69736865643A20005072696E7476 -:1009F000733A200053746174733A20004520436FAA -:100A00006F6C696E672E2E2E0045204865617469F3 -:100A10006E672E2E2E006F666600770772076B07D3 -:100A20006407560744454255473A004D313133205B -:100A3000530042656420436F6F6C696E672E2E2EE3 -:100A4000004265642048656174696E672E2E2E0031 -:100A50006F6B004348414D4245525F54454D5045F0 -:100A6000524154555245004D4F54494F4E5F4D4FE2 -:100A700044455300544845524D414C5F50524F54E9 -:100A8000454354494F4E004155544F5245504F52E3 -:100A9000545F53445F5354415455530050524F4D8B -:100AA00050545F535550504F525400454D45524796 -:100AB000454E43595F5041525345520043415345BF -:100AC0005F4C494748545F4252494748544E45534A -:100AD0005300544F47474C455F4C494748545300D7 -:100AE000534F4654574152455F504F57455200426D -:100AF00055494C445F50455243454E54004C455671 -:100B0000454C494E475F44415441005A5F50524F53 -:100B10004245004155544F4C4556454C00505249B2 -:100B20004E545F4A4F420050524F47524553530074 -:100B30004155544F5245504F52545F54454D50000B -:100B4000564F4C554D455452494300454550524F20 -:100B50004D0042494E4152595F46494C455F5452FF -:100B6000414E534645520053455249414C5F584F00 -:100B70004E5F584F4646004649524D574152455FD9 -:100B80004E414D453A4D61726C696E20322E305F98 -:100B900044573320544D33442053534D444E422048 -:100BA000534F555243455F434F44455F55524C3A6E -:100BB00068747470733A2F2F6769746875622E6356 -:100BC0006F6D2F496E73616E6974794175746F6DC5 -:100BD0006174696F6E2F4D61726C696E2F747265EE -:100BE000652F437265616C6974795F4D61726C69E0 -:100BF0006E322E302E782050524F544F434F4C5F60 -:100C000056455253494F4E3A312E30204D414348BC -:100C1000494E455F545950453A544D334420313084 -:100C2000532050726F2045585452554445525F43EB -:100C30004F554E543A3120555549443A63656465E1 -:100C4000326132662D343161322D343734382D39EA -:100C50006231322D63353563363266333637666638 -:100C60000A002F2F20003F4A206F7574206F6620E6 -:100C700072616E67652028302E303120746F20300D -:100C80002E33290A0020466C6F773A200050726F8D -:100C90007465637465642050696E0A0050726F62F7 -:100CA00065205A204F66667365743A2000496E7657 -:100CB000616C69642065787472756465720A0020DD -:100CC000643A0020693A0020703A0020643A00201B -:100CD000693A0020703A0064697300656E00432928 -:100CE0000A0061626C656420286D696E2074656D10 -:100CF000702000436F6C642065787472756465734E -:100D00002061726520004F4646004F4E0046696CD8 -:100D1000616D656E742072756E6F75742064697391 -:100D200074616E636520286D6D293A200046696CF8 -:100D3000616D656E742072756E6F757420004D65FF -:100D4000736820706F696E742063616E6E6F7420BB -:100D50006265207265736F6C7665640A004D34328B -:100D60003120696E636F72726563742070617261A5 -:100D70006D657465722075736167650A004F6666FC -:100D800073657473204170706C696564004572729C -:100D90003A20546F6F206661722100546F6F206695 -:100DA00061722066726F6D207265666572656E6332 -:100DB0006520706F696E740A00454550524F4D2092 -:100DC0004F4B0A004572726F722077726974696EB8 -:100DD0006720746F20454550524F4D210A00363729 -:100DE00026033C3D380E2E303E121A1C1808440AC9 -:100DF000FF430809070001627573793A2070617535 -:100E000073656420666F7220696E7075740A006283 -:100E10007573793A2070617573656420666F72200E -:100E2000757365720A00627573793A2070726F6328 -:100E3000657373696E670A007061757365004D367E -:100E40003030200A204D313137200A002066696C8D -:100E5000616D656E745F72756E6F75742000666982 -:100E60006C616D656E745F72756E6F757420540081 -:100E700046696C616D656E7452756E6F7574205441 -:100E80000053544F505045442E20005072696E74E8 -:100E900065722073746F707065642064756520746A -:100EA0006F206572726F72732E20466978207468A5 -:100EB00065206572726F7220616E642075736520A3 -:100EC0004D39393920746F20726573746172742ED4 -:100ED000202854656D706572617475726520697340 -:100EE0002072657365742E205365742069742061C7 -:100EF000667465722072657374617274696E6729B5 -:100F00000A004E6F20436865636B73756D207769C7 -:100F10007468206C696E65206E756D6265722C2038 -:100F20004C617374204C696E653A20004E6F20430B -:100F30006865636B73756D2077697468206C696E82 -:100F400065206E756D6265722C204C617374204C47 -:100F5000696E653A2000636865636B73756D206D1B -:100F600069736D617463682C204C617374204C69E3 -:100F70006E653A20004C696E65204E756D62657233 -:100F8000206973206E6F74204C617374204C696EFD -:100F900065204E756D6265722B312C204C61737427 -:100FA000204C696E653A20004D313130007761691F -:100FB000740A004D313137004D33310053442072F3 -:100FC000656164206572726F720A00446F6E6520FD -:100FD0007072696E74696E672066696C650A004B91 -:100FE000494C4C2063617573656420627920746F8D -:100FF0006F206D75636820696E6163746976652022 -:1010000074696D65202D2063757272656E7420633E -:101010006F6D6D616E643A20002020506C616E6EC1 -:10102000657242756666657242797465733A20002E -:101030002046726565204D656D6F72793A200043D8 -:101040006F6D70696C65643A20536570202038209C -:10105000323031390A00207C20417574686F723A51 -:101060002054696E794D616368696E657333440A13 -:1010700000323031392D30372D333000204C617340 -:101080007420557064617465643A2000322E305FBC -:101090004457330A004D61726C696E0020536F66CD -:1010A00074776172652052657365740A0020576118 -:1010B000746368646F672052657365740A00204228 -:1010C000726F776E206F75742052657365740A00B5 -:1010D0002045787465726E616C2052657365740A80 -:1010E00000506F77657255700A0073746172740AEC -:1010F000006175746F25632E67006572726F7220D0 -:1011000077726974696E6720746F2066696C650A0E -:1011100000446F6E6520736176696E672066696C46 -:10112000652E0A004D323900205A3A0020593A0003 -:1011300020583A00656E6473746F70732068697428 -:101140003A200047323858590043616E6E6F742060 -:101150006F70656E2073756264697220005344205D -:1011600063617264206F6B0A006F70656E526F6FFF -:1011700074206661696C65640A00766F6C756D65D4 -:101180002E696E6974206661696C65640A00534457 -:1011900020696E6974206661696C0A004D32340002 -:1011A0004D32332025730057726974696E6720745D -:1011B0006F2066696C653A20002E0A006F70656EBC -:1011C000206661696C65642C2046696C653A200074 -:1011D0002E0A006F70656E206661696C65642C2054 -:1011E00046696C653A200046696C652073656C65DC -:1011F000637465640A002053697A653A2000466981 -:101200006C65206F70656E65643A20006672657368 -:101210006800646F696E67002066696C653A20003B -:101220004E6F772000454E4420535542524F55543F -:10123000494E450A002220706F73002220706172AF -:10124000656E743A2200535542524F5554494E45EB -:101250002043414C4C207461726765743A220074DB -:101260007279696E6720746F2063616C6C2073758E -:10127000622D67636F64652066696C6573207769AA -:10128000746820746F6F206D616E79206C6576656F -:101290006C732E204D4158206C6576656C20697307 -:1012A0003A310A005344207072696E74696E672087 -:1012B0006279746520004E6F742053442070726907 -:1012C0006E74696E670A00496E76616C69642065A8 -:1012D000787472756465720A007C3C3E5E2B3D3FFB -:1012E0002F5B5D3B2C2A225C000050726F62696E9E -:1012F0006720506F696E742025692F2569002E0ABA -:10130000002F0050726F62696E67206D65736820F0 -:10131000706F696E742000202844525952554E292E -:1013200000473239204175746F20426564204C6556 -:1013300076656C696E67003F20284C2C522C462C39 -:101340004229206F7574206F6620626F756E64731A -:101350002E0A003F2856296572626F7365206C65FE -:1013600076656C20697320696D706C617573696254 -:101370006C652028302D34292E0A00426164205AE1 -:101380002076616C75650A004E6F2062696C696E2B -:1013900065617220677269640A0046696E697368E4 -:1013A0006564210A00206F662000205A0020590041 -:1013B000476F696E6720746F3A20580043570A00E0 -:1013C000206469723A0020616E676C653A0053745C -:1013D000617274207261646975733A00506F736949 -:1013E00074696F6E696E67207468652070726F62D1 -:1013F000652E2E2E0A003F4E756D626572206F6657 -:10140000206C65677320696E206D6F76656D656E03 -:1014100074206E6F7420706C61757369626C6520E6 -:1014200028302D3135292E0A003F2028582C5929E3 -:10143000206F7574206F6620626F756E64732E0A5C -:10144000003F53616D706C652073697A65206E6F23 -:101450007420706C61757369626C652028342D3559 -:1014600030292E0A004D3438205A2D50726F626593 -:10147000205265706561746162696C697479205489 -:101480006573740A003F2856296572626F73652080 -:101490006C6576656C20697320696D706C6175731D -:1014A00069626C652028302D34292E0A00486F6D42 -:1014B0006520257325732573204669727374002097 -:1014C00046697273740A00486F6D652000220A0035 -:1014D000556E6B6E6F776E20636F6D6D616E643AE3 -:1014E00020220020746F6F206C6F6E672065787407 -:1014F000727573696F6E2070726576656E7465645F -:101500000A0020636F6C6420657874727573696F6C -:101510006E2070726576656E7465640A0024F4D47A -:101520003050C38E20C2A24017828B7011127A9164 -:101530000D816CD90AA861E108C75866076151435B -:10154000061E4B5D05C145A7041A411104093D98CB -:1015500003713931034036DB0265339102D43054D4 -:1015600002802E1D02632CEE01752AC501B028A051 -:1015700001102781018F2564012B244B01E02234C7 -:1015800001AC211F018D200D01801FFC00841EED88 -:1015900000971DDF00B81CD200E61BC600201BBC54 -:1015A00000641AB200B219A8000A19A0006A1899BA -:1015B00000D117910040178B00B516840031167EBC -:1015C00000B31579003A157300C7146F0058146AF8 -:1015D00000EE1366008813630025135E00C7125BDC -:1015E000006C12570015125400C111510070114FB8 -:1015F0000021114B00D61049008D104700461044C1 -:101600000002104200C00F4000800F3E00420F3C1D -:1016100000060F3B00CB0E3800930E37005C0E35F2 -:1016200000270E3400F30D3200C10D3100900D3053 -:1016300000600D2E00320D2D00050D2C00D90C2B55 -:1016400000AE0C2900850C29005C0C2700350C2706 -:10165000000E0C2600E80B2400C40B2400A00B2372 -:10166000007D0B23005A0B2100390B2100180B20A1 -:1016700000F80A1F00D90A1E00BB0A1E009D0A1DA1 -:1016800000800A1D00630A1C00470A1B002C0A1B6D -:1016900000110A1A00F7091A00DD091900C4091916 -:1016A00000AB091900920917007B0918006309179C -:1016B000004C09160036091600200916000A091503 -:1016C00000F5081500E0081400CC081400B8081450 -:1016D00000A4081400900813007D0812006B081382 -:1016E000005808120046081200340811002308119F -:1016F000001208110001081100F0071000E00710A7 -:1017000000D0071000C0071000B0070F00A107109D -:101710000091070E0083070F0074070F0065070E86 -:101720000057070E0049070E003B070D002E070E5D -:101730000020070D0013070D0006070D00F9060C29 -:1017400000ED060D00E0060C00D4060C00C8060CE7 -:1017500000BC060C00B0060C00A4060B0099060C99 -:10176000008D060B0082060B0077060B006C060B43 -:101770000061060A0057060B004C060A0042060AE2 -:101780000038060A002E060A0024060A001A060A75 -:10179000001006090007060A00FD050900F4050906 -:1017A00000EB050900E2050900D9050900D005098B -:1017B00000C7050900BE050900B5050800AD05080C -:1017C00000A50509009C050800940508008C050883 -:1017D00000840508007C050800740508006C0507F6 -:1017E00000650508005D050700560508004E050761 -:1017F00000470507004005080038050700310507C8 -:10180000002A050700230507001C0506001605072A -:10181000000F0507000805060002050700FB040687 -:1018200000F5040700EE040600E8040600E20407E1 -:1018300000DB040600D5040600CF040600C9040638 -:1018400000C3040600BD040600B7040600B1040589 -:1018500000AC040600A6040600A00405009B0406D4 -:101860000095040500900406008A0405008504051F -:1018700000800406007A0405007504050070040564 -:10188000006B04050066040500610405005C0405A6 -:101890000057040500520405004D040500480405E6 -:1018A00000430405003E0404003A04050035040525 -:1018B00000300404002C0405002704040023040560 -:1018C000001E0404001A0404001604050011040498 -:1018D000000D0404000904050004040400000404CD -:1018E00000FC030400F8030400F4030400F0030404 -:1018F00000EC030400E8030400E4030400E0030434 -:1019000000DC030400D8030400D4030400D0030463 -:1019100000CC030400C8030300C503030024F4043F -:10192000D9201BC40C5C0E9804C4095F02650771C2 -:1019300001F405F900FB04B30048048700C1036902 -:10194000005803550003034500BE023A00840231EB -:101950000053022A002902250004022000E4011C91 -:1019600000C8011900AF0117009801140084011389 -:1019700000710110006101100051010E0043010DC2 -:101980000036010B002B010B0020010B0015010993 -:10199000000C01090003010800FB000800F3000827 -:1019A00000EB000700E4000600DE000600D8000699 -:1019B00000D2000600CC000500C7000500C20005EB -:1019C00000BD000400B9000400B5000400B100042B -:1019D00000AD000400A9000400A5000300A200035C -:1019E000009F0004009B0003009800030095000284 -:1019F0000093000300900003008D0002008B0003A1 -:101A000000880002008600020084000300810002BA -:101A1000007F0002007D0002007B000200790002CE -:101A200000770001007600020074000200720001DD -:101A300000710002006F0002006D0001006C0002E6 -:101A4000006A0001006900020067000100660001F1 -:101A500000650001006400020062000100610001F5 -:101A600000600001005F0002005D0001005C0001F9 -:101A7000005B0001005A00010059000100580001FC -:101A800000570001005600010055000100540001FC -:101A900000530000005300010052000100510001FA -:101AA00000500001004F0001004E0000004E0001F8 -:101AB000004D0001004C0001004B0000004B0001F4 -:101AC000004A0001004900010048000000480001F0 -:101AD00000470001004600000046000100450000EC -:101AE00000450001004400010043000000430001E4 -:101AF00000420000004200010041000000410001DE -:101B000000400001003F0000003F0001003E0000D7 -:101B1000003E0001003D0000003D0001003C0000CF -:101B2000003C0000003C0001003B0000003B0001C5 -:101B3000003A0000003A00010039000000390001BD -:101B400000380000003800000038000100370000B5 -:101B500000370001003600000036000000360001AA -:101B600000350000003500000035000100340000A1 -:101B70000034000000340001003300000033000096 -:101B8000003300010032000000320000003200018A -:101B90000031000000310000003100010030000081 -:101BA0000030000000300001002F0000002F000076 -:101BB000002F0000002F0001002E0000002E00006A -:101BC000002E0001002D0000002D0000002D00005F -:101BD000002D0001002C0000002C0000002C000053 -:101BE000002C0001002B0000002B0000002B000047 -:101BF000002B0001002A0000002A0000002A00003B -:101C0000002A00010029000000290000002900002E -:101C10000029000000290001002800000028000021 -:101C20000028000000280000002800010027000014 -:101C30000027000000270000002700000027000107 -:101C400000260000002600000026000000260000FC -:101C500000260001002500000025000000250000EE -:101C600000250000002500000025000100240000E0 -:101C700000240000002400000024000000240001D3 -:101C800000230000002300000023000000230000C8 -:101C900000230000002300000023000100220000B8 -:101CA00000220000002200000022000000220000AC -:101CB000002200010021000000210000002100009E -:101CC000002100000021000000210000002100018F -:101CD0000020000000200000002000000020000084 -:101CE0000020000000200000002000000020000173 -:101CF000001F0000001F0000001F0000001F000068 -:101D0000001F0000001F0000001F0001001E000057 -:101D1000001E0000001E0000001E0000000437002E -:101D2000001E290000511B0000581000001009007F -:101D300000CC0400007802000041010000626564EC -:101D4000002C2073797374656D2073746F707065E7 -:101D50006421204865617465725F49443A200042FD -:101D600065642048656174696E67204661696C65C9 -:101D7000640048656174696E67206661696C6564BA -:101D80000042454420544845524D414C2052554E46 -:101D90004157415900546865726D616C2052756EEF -:101DA000617761790045312048656174696E67200B -:101DB0004661696C65640048656174696E67206698 -:101DC00061696C656400453120544845524D414C71 -:101DD0002052554E4157415900546865726D616CEF -:101DE0002052756E617761790057616974696E6719 -:101DF00020666F72206865617475702E0A004C65EC -:101E00006176696E6720473236003F5370656369BB -:101E10006669656420582C5920636F6F7264696E1F -:101E2000617465206F7574206F6620626F756E64D3 -:101E3000732E0A003F28522965706561742076610F -:101E40006C7565206E6F7420706C61757369626C5F -:101E5000653B206D757374206265206174206C652C -:101E600061737420312E0A003F2852296570656124 -:101E700074206D7573742062652073706563696684 -:101E8000696564207768656E206E6F74207573696C -:101E90006E6720616E204C43442E0A003F537065EC -:101EA000636966696564206E6F7A7A6C6520746513 -:101EB0006D7065726174757265206E6F7420706CE0 -:101EC00061757369626C652E0A003F5370656369C2 -:101ED000666965642066696C616D656E74207369FE -:101EE0007A65206E6F7420706C61757369626C65C1 -:101EF0002E0A003F537065636966696564207072DD -:101F0000696D65206C656E677468206E6F742070F3 -:101F10006C61757369626C652E0A003F5072696D61 -:101F200065206C656E677468206D757374206265DA -:101F300020737065636966696564207768656E20E3 -:101F40006E6F74207573696E6720616E204C434418 -:101F50002E0A003F537065636966696564206E6F81 -:101F60007A7A6C652073697A65206E6F7420706C64 -:101F700061757369626C652E0A003F526574726107 -:101F80006374696F6E204D756C7469706C696572ED -:101F9000206D75737420626520737065636966696E -:101FA00065642E0A003F5370656369666965642045 -:101FB00052657472616374696F6E204D756C7469DB -:101FC000706C696572206E6F7420706C61757369D6 -:101FD000626C652E0A003F537065636966696564CB -:101FE000206C6179657220686569676874206E6F1E -:101FF0007420706C61757369626C652E0A004329E8 -:102000002E0A003F537065636966696564206265E6 -:10201000642074656D7065726174757265206E6F91 -:102020007420706C61757369626C65202834302D82 -:1020300000473236207374617274696E672E2E2EDB -:102040000A004F46460A0046616465204865696794 -:1020500068742000426564204C6576656C696E6723 -:1020600020004661696C656420746F20656E616252 -:102070006C6520426564204C6576656C696E670A04 -:1020800000496E76616C6964206D6573682E0A0084 -:102090002F2F616374696F6E3A00627574746F6E8E -:1020A00000656E640070726F6D70745F0073686FAE -:1020B00077004D38373620526573706F6E64696EE5 -:1020C000672050524F4D50545F00554E4B4E4F5766 -:1020D0004E2053544154450047434F44455F494EB9 -:1020E000464F004C43445F50415553455F52455362 -:1020F000554D450046494C414D454E545F52554E55 -:102100004F55545F434F4E54494E55450046494C38 -:10211000414D454E545F52554E4F5554004D32344B -:1021200000436F6E74696E75650044697361626C1B -:102130006552756E6F7574005075726765204D6FCE -:1021400072650050617573656400706175736564D4 -:1021500000486F74656E6420746F6F20636F6C64E9 -:102160000A00506175736500507265737320627563 -:1021700074746F6E20286F72204D313038292074AE -:102180006F20726573756D650A00496E73657274B0 -:102190002066696C616D656E7420616E642070727A -:1021A00065737320627574746F6E20286F72204D92 -:1021B000313038290A00436F6E74696E75650052BC -:1021C000656865617420446F6E650052656865617D -:1021D00074696E672E2E2E00526568656174696E93 -:1021E000670048656174657254696D656F75740048 -:1021F0005265686561740048656174657254696D03 -:10220000656F757400507265737320627574746FB6 -:102210006E20286F72204D3130382920746F20686D -:10222000656174206E6F7A7A6C650A004E6F7A7AF7 -:102230006C65205061726B656400436F6E74696EEB -:102240007565004E6F7A7A6C65205061726B6564BB -:1022500000486F74656E6420746F6F20636F6C64E8 -:102260000A00726573756D656400626567696E006A -:10227000436F6E74696E75650044697361626C6565 -:1022800052756E6F75740050757267654D6F72652B -:1022900000506175736564004C6F61642046696C21 -:1022A000616D656E7400436F6E74696E7565004C88 -:1022B0006F61642046696C616D656E7420540049DD -:1022C0006E736572742066696C616D656E742061F1 -:1022D0006E6420707265737320627574746F6E2003 -:1022E000286F72204D313038290A00526573756DA0 -:1022F0006500526573656E643A200043616E6E6FCF -:1023000074206F70656E2073756264697220002599 -:1023100069730025696D202569730025696820258A -:10232000696D202569730025696420256968202569 -:10233000696D202569730025697920256964202548 -:1023400069682025696D20256973002364656669C5 -:102350006E652044454641554C545F0000626564FB -:10236000004B6420004B6920004B70200050494412 -:10237000204175746F74756E652066696E69736847 -:102380006564212050757420746865206C617374D5 -:10239000204B702C204B6920616E64204B642063BD -:1023A0006F6E7374616E74732066726F6D206265F8 -:1023B0006C6F7720696E746F20436F6E6669677506 -:1023C000726174696F6E2E680A005049442041752D -:1023D000746F74756E65206661696C656421207424 -:1023E000696D656F75740A00453120544845524D3A -:1023F000414C2052554E41574159004245442054CA -:102400004845524D414C2052554E41574159005478 -:102410006865726D616C2052756E617761790045F7 -:10242000312048656174696E67204661696C656436 -:10243000004265642048656174696E672046616981 -:102440006C65640048656174696E67206661696CDB -:10245000656400504944204175746F74756E652041 -:102460006661696C6564212054656D706572617484 -:1024700075726520746F6F20686967680A00204B69 -:10248000643A2000204B693A2000204B703A20002B -:102490000A20436C617373696320504944200A0029 -:1024A000204B643A2000204B693A2000204B703AC0 -:1024B00020000A204E6F206F76657273686F6F740C -:1024C0000A002054753A2000204B753A2000206DF8 -:1024D00061783A2000206D696E3A200020643A202D -:1024E0000020626961733A200050494420417574AC -:1024F0006F74756E652073746172740A005049447C -:10250000204175746F74756E65206661696C6564D1 -:10251000212054656D706572617475726520746FE9 -:102520006F20686967680A00504944204175746FDC -:1025300074756E65206661696C6564212042616412 -:10254000206578747275646572206E756D6265724F -:102550000A0070012C0190012701B0012201C00185 -:102560001D01F00118011002130130020E0160027A -:10257000090190020401C002FF000003FA004003B9 -:10258000F5008003F000D003EB002004E6007004A7 -:10259000E100E004DC004005D700C005D2004006A1 -:1025A000CD00D006C8008007C3003008BE00F00888 -:1025B000B900C009B400B00AAF00B00BAA00D00C3B -:1025C000A500000EA000500F9B00C01096005012F6 -:1025D000910000148C00C0158700B0178200B0195C -:1025E0007D00D01B7800001E730040206E009022FA -:1025F0006900F024640040275F0090295A00E02B16 -:102600005500102E500020304B0010324600E033B1 -:10261000410090353C001037370070383200A03947 -:102620002D00B03A2800A03B2300603C1E00103D66 -:102630001900903D1400103E0F00703E0A00C03E8D -:102640000500003F0000403FFBFF803FF6FFC03F1A -:10265000F1FF202D20496E76616C696420657874E5 -:102660007275646572206E756D62657220210A0054 -:102670001000C90210012C01400122017001180153 -:10268000B0010E01F00104015002FA00B002F000A6 -:102690003003E600D003DC009004D2007005C800CF -:1026A000A006BE000008B400B009AA00D00BA0002C -:1026B000600E960060118C000015820020197800D1 -:1026C000C01D6E00A0226400B0275A00902C50005C -:1026D00000314600E0343C0010383200903A2800C7 -:1026E000603C1E00A03D1400803E0A00203F000018 -:1026F000453120544845524D414C2052554E41578A -:1027000041590042454420544845524D414C2052C5 -:10271000554E4157415900546865726D616C2052A5 -:10272000756E61776179004531204572723A204DAE -:10273000415854454D50004572723A204D4158540D -:10274000454D5020424544004D415854454D502080 -:1027500074726967676572656400453120457272FD -:102760003A204D494E54454D50004572723A204D25 -:10277000494E54454D5020424544004D494E544524 -:102780004D5020747269676765726564000A0A00BB -:1027900020205A5F4D494E3A002020595F4D494E46 -:1027A0003A002020585F4D494E3A004D38342058A9 -:1027B0002059205A204500202F002042403A002076 -:1027C000403A0020573A0020573A005A5F53544F7E -:1027D000505F50494E005A5F535445505F50494E28 -:1027E000005A5F4D494E5F50494E005A5F454E4179 -:1027F000424C455F50494E005A5F4449525F504930 -:102800004E005A5F43535F50494E00595F53544F37 -:10281000505F50494E00595F535445505F50494EE8 -:1028200000595F4D494E5F50494E00595F454E413A -:10283000424C455F50494E00595F4449525F5049F0 -:102840004E00595F43535F50494E00585F53544FF9 -:10285000505F50494E00585F535445505F50494EA9 -:1028600000585F4D494E5F50494E00585F454E41FC -:10287000424C455F50494E00585F4449525F5049B1 -:102880004E00585F43535F50494E0053535F5049C9 -:102890004E00534552564F335F50494E00534552F8 -:1028A000564F325F50494E00534552564F315F509C -:1028B000494E00534552564F305F50494E005344E5 -:1028C00053530053445F4445544543545F50494E6D -:1028D0000053434B5F50494E0052414D50535F44AB -:1028E000395F50494E0052414D50535F44385F505C -:1028F000494E0052414D50535F4431305F50494E74 -:10290000004D4F53495F50494E004D4F534645547B -:102910005F445F50494E004D49534F5F50494E0050 -:102920004D4158363637355F53535F50494E004C52 -:1029300045445F50494E004845415445525F424529 -:10294000445F50494E004845415445525F305F5006 -:10295000494E0046494C5F52554E4F55545F5049C1 -:102960004E0046414E315F50494E0046414E5F5049 -:10297000494E0045315F535445505F50494E004524 -:10298000315F454E41424C455F50494E0045315FF5 -:102990004449525F50494E0045315F43535F5049AF -:1029A0004E0045305F535445505F50494E0045300E -:1029B0005F454E41424C455F50494E0045305F44B3 -:1029C00049525F50494E0045305F43535F50494E76 -:1029D00000455F4D5558325F50494E00455F4D559B -:1029E00058315F50494E00455F4D5558305F504952 -:1029F0004E004156525F53535F50494E004156526C -:102A00005F53434B5F50494E004156525F4D4F5309 -:102A1000495F50494E004156525F4D49534F5F50F8 -:102A2000494E0054454D505F4245445F50494E0069 -:102A300054454D505F315F50494E0054454D505FF5 -:102A4000305F50494E0046494C57494454485F5006 -:102A5000494E005458440052584400202020002081 -:102A60002020416E616C6F6720696E203D20253506 -:102A70006C64003C756E757365642F756E6B6E6F5C -:102A8000776E3E002028412532642920200025331E -:102A9000642000257350494E3A20004F75747075BC -:102AA00074203D2000496E70757420203D20004147 -:102AB0006E616C6F6720696E203D2025356C640067 -:102AC00070726F746563746564200020284125323C -:102AD00064292020002533642000257350494E3A94 -:102AE0002000572A0001532A0101462A3B003B2AB5 -:102AF0004300302A4500232A4400162A3201092ABD -:102B00003301FD293401F2293501E7292801DC29A7 -:102B10002A01D1292C01C7292A01BC291C01AE296F -:102B20001801A2291A0198292C018D2922017F2937 -:102B30001E01732924016B29090162290701532908 -:102B4000020146290A01372908012F290D012029F0 -:102B50004201172932010A29070101293301F3280B -:102B60000A01E6280801D9280901D1283401C3281F -:102B70003101BE283501B3280B01A82806019D2884 -:102B80000501922804018B28350182283501782817 -:102B900037016B28260161280301562836014B288E -:102BA00003014228310138283D012B283801212812 -:102BB0000E0116283C010B280E0102282801F827D7 -:102BC0003001EB273E01E1271201D6272E01CB274A -:102BD0001201446F6E652E0A00534552564F206E07 -:102BE0006F74207365742075702E0A004D34332085 -:102BF000576169742043616C6C656400436F6E7447 -:102C0000696E7565004D34332057616974204361E6 -:102C10006C6C6564005761746368696E67207069E5 -:102C20006E730A0064697300656E0061626C6564AE -:102C30000A00656E6473746F70206D6F6E69746FD7 -:102C4000722000204500205A00205900204D3932C2 -:102C5000205800205A00205900580020204D61784B -:102C60003A2000205A00205900580020204D696E5B -:102C70003A2000536F667420656E6473746F7073CE -:102C80003A20004732380020496E76616C69642032 -:102C90006578747275646572200044696666657251 -:102CA0003A200046726F6D5374703A005374657029 -:102CB0007065723A00556E4C6576656C3A004C65ED -:102CC00076656C65643A005261773A2020202000D6 -:102CD0000A4C6F676963616C3A004361703A005057 -:102CE000726F6265205A204F66667365743A2000E1 -:102CF00050726F62652059204F66667365743A2082 -:102D00000050726F62652058204F66667365743A92 -:102D100020003F59206F7574206F662072616E67C6 -:102D2000652028302D33313020746F203331302925 -:102D30000A003F58206F7574206F662072616E67BD -:102D4000652028302D33313520746F2033313529FB -:102D50000A003F5A206F7574206F662072616E679B -:102D60006520282D323020746F203230290A00224D -:102D70000A00656E7175657565696E6720220020B1 -:102D800042002050006F6B006F70656E0054524916 -:102D9000474745524544003A200066696C616D65BD -:102DA0006E74007A5F6D696E00795F6D696E007890 -:102DB0005F6D696E005265706F7274696E67206531 -:102DC0006E6473746F70207374617475730A00207D -:102DD0005A3A0020593A0020436F756E7420583AD1 -:102DE0000020453A00205A3A0020593A00583A004B -:102DF00020746F6F206C6F6E6720657874727573C6 -:102E0000696F6E2070726576656E7465640A002065 -:102E1000636F6C6420657874727573696F6E20706F -:102E2000726576656E7465640A000000000000003B -:102E3000000000000000000048420000484200007E -:102E400080405761726E696E673A20486F6D696E97 -:102E5000672042756D702044697669736F72203CFB -:102E600020310A000202040000A0400000A040003F -:102E700000004000809D4300009B430000C843FFCA -:102E8000FFFF544D3344203130532050726F205295 -:102E9000656164792E005072696E74696E672E2EBA -:102EA0002E005072696E7420506175736564006302 -:102EB000616E63656C005072696E742041626F725E -:102EC0007465640055492041626F727400726573C5 -:102ED000756D65004D32340000809D4300009B43BA -:102EE0000000C843000000000000000000000000D7 -:102EF000290A002062797465733B206372632000A5 -:102F000053657474696E67732053746F72656420BF -:102F10002800454550524F4D206461746173697AB1 -:102F200065206572726F722E0A00290A002062798C -:102F30007465733B2063726320002073746F726545 -:102F4000642073657474696E677320726574726946 -:102F500065766564202800202863616C63756C6168 -:102F600074656429210A0020213D20004545505206 -:102F70004F4D20435243206D69736D617463682027 -:102F80002D202873746F7265642920002053697A9C -:102F9000653A2000496E6465783A2000204D6172E0 -:102FA0006C696E3D563730290A00454550524F4DE9 -:102FB0002076657273696F6E206D69736D617463DD -:102FC000682028454550524F4D3D00000021002407 -:102FD0000027002A002D003000330001010000040A -:102FE0000107010A0100002200250028002B002E05 -:102FF000003100340002010000050108010B01004E -:103000000020002300260029002C002F00320000A1 -:103010000100000301060109010505050507050872 -:10302000080808020202020A0A080804040404014B -:10303000010101010101010303030303030303046D -:103040000707070C0C0C0C0C0C0C0C0202020206FD -:10305000060606060606060B0B0B0B0B0B0B0B01ED -:103060000210202008081020401020408002010299 -:103070000108040201010204081020408080402061 -:10308000100804020180040201804020100804029C -:10309000010804020101020408102040800102041A -:1030A000081020408000000A0B02090C0D0E0807D2 -:1030B0000304010000000000000000000000000008 -:1030C0000000000000000000000000000000000000 -:1030D00000121110000000000000000000000000BD -:1030E000000000000000000000000050726F6269E4 -:1030F0006E67204661696C65640A0050726F626990 -:103100006E67204661696C6564000A20696E6974A7 -:10311000207A70726F62655F7A6F6666736574207D -:103120003D2000454550524F4D20496E69746961FC -:103130006C697A65640A0048617264636F646564EF -:103140002044656661756C742053657474696E679C -:1031500073204C6F616465640A00EE020000EE02A9 -:103160000000640000003C0000000000FA43000082 -:10317000FA430000204100008C420000A042000001 -:10318000A0420000C84300000C433A0A0020204D32 -:10319000363033200020440020204D34313220537B -:1031A0000046696C616D656E742072756E6F757422 -:1031B0002073656E736F723A0A002055004C00460A -:1031C000696C616D656E74206C6F61642F756E6CD7 -:1031D0006F6164206C656E677468733A0A00202022 -:1031E0004D383531205A0020204D383531205900D6 -:1031F00020204D3835312058005A2D50726F6265AD -:10320000204F66667365740020440020490020202A -:103210004D33303420500020440020490020204D00 -:103220003330312050005049442073657474696E06 -:1032300067733A0A00204A0020204732392057207D -:103240004900205A0020204D34323020530041756F -:10325000746F20426564204C6576656C696E673AD0 -:103260000A00205A0020590020204D3230362058C4 -:1032700000486F6D65206F66667365743A0A0020BA -:103280004A0020540020530020204D323035204287 -:1032900000204A3C6A756E635F6465763E00416457 -:1032A00076616E6365643A20423C6D696E5F73655A -:1032B000676D656E745F74696D655F75733E2053ED -:1032C0003C6D696E5F66656564726174653E20542D -:1032D0003C6D696E5F74726176656C5F666565648E -:1032E000726174653E0020540020520020204D324F -:1032F0003034205000416363656C65726174696F9E -:103300006E2028756E6974732F7332293A20503CF1 -:103310007072696E745F616363656C3E20523C72CB -:103320006574726163745F616363656C3E20543CD5 -:1033300074726176656C5F616363656C3E0A002040 -:103340004500205A0020590020204D3230312058AD -:10335000004D6178696D756D20416363656C6572C0 -:103360006174696F6E2028756E6974732F733229CA -:103370003A0A00204500205A0020590020204D32F2 -:1033800030332058004D6178696D756D2066656534 -:103390006472617465732028756E6974732F732964 -:1033A0003A0A0053746570732070657220756E69F7 -:1033B000743A0A0020204D3230302044300A002078 -:1033C000204D3230302044002044697361626C65C6 -:1033D000640A0046696C616D656E7420736574746F -:1033E000696E67733A0020286D6D290020204732EE -:1033F00031202020203B20556E69747320696E2097 -:103400006D6D00486F6D696E67204661696C65641B -:1034100000205400205200416363656C6572617442 -:10342000696F6E3A20500050574D3A202025346481 -:103430000050574D3A20202534640050574D3A2013 -:10344000202534640050574D3A2020253464005024 -:10345000574D3A20202534640050574D3A202025FE -:1034600034640050574D3A20202534640050574DA5 -:103470003A20202534640050574D3A2020253464EA -:103480000050574D3A20202534640050574D3A20C3 -:10349000202534640050574D3A20202534640050D4 -:1034A000574D3A20202534640050574D3A202025AE -:1034B00034640050574D3A20202534640050574D55 -:1034C0003A202025346400433A2000423A2000414B -:1034D0003A200020202020434F4D002020206E6FF6 -:1034E0006E2D7374616E646172642050574D206D4F -:1034F0006F646500202020636F6D706172652069C4 -:103500006E7465727275707420656E61626C65644C -:10351000002020206F766572666C6F7720696E746C -:1035200065727275707420656E61626C6564003AD4 -:1035300020002020202054494D534B00423A2000C7 -:10354000202020205443435200413A2000202020D4 -:103550002054434352002020202043533A2000208F -:1035600020202057474D3A200050574D3A20202523 -:1035700034640050574D3A202025346400470048F9 -:1035800000000088008A008C00B300B4000000989E -:10359000009A009C00A800AA00AC0028012A012C77 -:1035A000012020202054494D455200440045006E22 -:1035B00000800081006F00B000B1007000900091A9 -:1035C000007100A000A10072002001210173002001 -:1035D000697320616C736F207469656420746F2057 -:1035E000746869732070696E0054494D45523143C7 -:1035F000000A202E002020002020506F72743A20F4 -:10360000002E0A006F70656E206661696C65642C1F -:103610002046696C653A2000706F7765726F666648 -:10362000004B494C4C45442E20005072696E746525 -:10363000722068616C7465642E206B696C6C28293B -:103640002063616C6C6564210A006563686F3A00F1 -:103650004572726F723A0042696C696E65617220E0 -:103660004C6576656C696E6720477269643A0A003A -:103670005901910111241FBECFEFD1E2DEBFCDBFB2 -:1036800000E00CBF18E0A0E0B2E0E6EDFFE302E0EE -:103690000BBF02C007900D92A434B107D9F72CE1FB -:1036A000A4E4B8E001C01D92A43EB207E1F71BE11B -:1036B000C9E3DBE100E006C021970109802FFE018C -:1036C0000F94141CC833D10780E00807A9F70F94A2 -:1036D0003F060D94D91F0C9400002F923F924F92F9 -:1036E0005F926F927F928F929F92AF92BF92CF9292 -:1036F000DF92EF92FF920F931F93CF93DF93CDB79B -:10370000DEB7E3970FB6F894DEBF0FBECDBF809152 -:103710000901817091E0982720916308921781F147 -:1037200090936308811116C00E94CD598091CE16E6 -:1037300083FF09C08FE993E00E943A4F61E080E087 -:103740000F9400021DC060E081E00F94000288EB3E -:1037500093E014C00091CE1603FB002700F90E94ED -:103760005C598091CE16877F8093CE16002341F05E -:1037700060E081E00F94000281ED93E00E943A4FF7 -:103780008091BB1381FF11C18091D0149091D1140D -:10379000891B8F70843008F008C18CE0E1E1F3E10F -:1037A000DE01119601900D928A95E1F78091431701 -:1037B00090914417A0914517B091461788A799A7F3 -:1037C000AAA7BBA79C01AD016091111370911213C0 -:1037D00080911313909114130F941C1C6B017C01A6 -:1037E0006093111370931213809313139093141317 -:1037F0008091471790914817A0914917B0914A17A7 -:103800008CA79DA7AEA7BFA79C01AD016091151322 -:103810007091161380911713909118130F941C1C1C -:1038200068A379A38AA39BA36093151370931613BF -:10383000809317139093181380914B1790914C1706 -:10384000A0914D17B0914E1788AB99ABAAABBBAB0B -:103850009C01AD016091191370911A1380911B1393 -:1038600090911C130F941C1C4B015C016093191365 -:1038700070931A1380931B1390931C13A701960146 -:10388000C701B6010F9499152B013C0128A139A15C -:103890004AA15BA1CA01B9010F9499159B01AC0122 -:1038A000C301B2010F941D1C2B013C01A501940121 -:1038B000C501B4010F9499159B01AC01C301B2017C -:1038C0000F941D1C0F94CB1E9B01AC0160E070E0B7 -:1038D00080E89FE30F94171D20915F0230916002F2 -:1038E00040916102509162020F9499152DEC3CECCD -:1038F0004CEC5DE30F94991520E030E040E85EE386 -:103900000F9499152B013C0120E030E040E85FE383 -:103910000F94331587FFF1C3A3019201C701B601CC -:103920000F94991528A539A54AA55BA50F941D1CD0 -:1039300060931113709312138093131390931413C5 -:10394000A301920168A179A18AA19BA10F94991565 -:103950002CA53DA54EA55FA50F941D1C60931513C6 -:10396000709316138093171390931813A301920169 -:10397000C501B4010F94991528A939A94AA95BA9D1 -:103980000F941D1C6093191370931A1380931B13CB -:1039900090931C130E9478D38CE0FE013196A1E134 -:1039A000B3E101900D928A95E1F78091620881114F -:1039B0000C94503780916008909161089C012F5FB2 -:1039C0003F4F3093610820936008883E934010F485 -:1039D0000C94503781E08093620810926108109235 -:1039E00060088091CE11882309F498C30E94A1AD8C -:1039F000811194C380915F088F5F80935F088091ED -:103A00005F08853620F010925F081092CE11E09189 -:103A1000CE118E2FEE0F990BAA0BBB0BFC01319729 -:103A2000E730F10508F0A0C08827EE58FF4F8F4F10 -:103A30000D94141C0E9499AD882309F495C081E06F -:103A40008093340284EE93E00E943A4F80E190E04C -:103A5000909353158093521585E08093461502E8A4 -:103A60000093491584E190E1A0E0B0E080934A150D -:103A700090934B15A0934C15B0934D150E948DF962 -:103A800081E09AE5909353158093521586E390E078 -:103A9000909355158093541587E0809346150093B5 -:103AA000491584E890E0A0E0B0E080934A15909337 -:103AB0004B15A0934C15B0934D150E948DF952C033 -:103AC0000E9499AD882309F44FC048C082EF93E06B -:103AD0000E943A4F81E09AE59093531580935215D6 -:103AE00080E490E0909355158093541507E000937F -:103AF000461582E88093491584E890E0A0E0B0E0A4 -:103B000080934A1590934B15A0934C15B0934D1587 -:103B10000E948DF90093CE1127C080915E08882302 -:103B200019F10E9499AD8823F9F00E94A1AD81118D -:103B30001BC0F7C20E9499AD8823B1F00E94A1ADCD -:103B4000811112C01CC30E94A1AD81110DC042E0C1 -:103B500060E070E0CB010E94B7AD04C00E94A1AD4F -:103B6000811102C01092CE1180913402882309F491 -:103B7000ACC28091CA119091CB11892B09F08FC1F1 -:103B800080915B0890915C08892B09F01EC184E04C -:103B900096E0909353158093521580EA90E89093A5 -:103BA00055158093541517E01093461502E80093BD -:103BB000491580EA90E0A0E0B0E080934A15909328 -:103BC0004B15A0934C15B0934D150E948DF9809123 -:103BD000060290910702A0910802B0910902009795 -:103BE000A105B10511F5109253151092521515E06B -:103BF00010934615009349158AE890E1A0E0B0E0E3 -:103C000080934A1590934B15A0934C15B0934D1586 -:103C10000E948DF989E090E090935315809352159E -:103C2000109346150093491540C00196A11DB11D82 -:103C3000F5E0B695A79597958795FA95D1F70197F1 -:103C4000A109B109009731E0A307B10558F0B0937D -:103C50005315A093521590935515809354151093B6 -:103C6000461507C0909353158093521585E08093B5 -:103C7000461512E8109349158AE890E1A0E0B0E0FB -:103C800080934A1590934B15A0934C15B0934D1506 -:103C90000E948DF988E090E090935315809352151F -:103CA00085E080934615109349158CE890E1A0E0DB -:103CB000B0E080934A1590934B15A0934C15B093A8 -:103CC0004D150E948DF98091060290910702A091F6 -:103CD0000802B09109020097E1E0AE07B10550F08B -:103CE000B0935315A0935215909355158093541586 -:103CF00087E005C0909353158093521585E080931B -:103D0000461582E88093491588E890E1A0E0B0E08C -:103D100080934A1590934B15A0934C15B0934D1575 -:103D20000E948DF98091060290910702A0910802ED -:103D3000B0910902BA2FA92F982F88270097F1E098 -:103D4000AF07B10550F0B0935315A093521590935F -:103D500055158093541587E005C0909353158093B3 -:103D6000521585E08093461512E81093491581EAB3 -:103D700090E0A0E0B0E080934A1590934B15A0939B -:103D80004C15B0934D150E948DF980915B178823D7 -:103D900019F082E090E002C083E090E09093531528 -:103DA0008093521585E0809346151093491585E45C -:103DB00090E1A0E0B0E080934A1590934B15A0935A -:103DC0004C15B0934D150E948DF900915B08109130 -:103DD0005C08053611057CF41093531500935215B9 -:103DE00085E08093461582E88093491580E090E154 -:103DF000A0E0B0E011C0C80184569109909353151A -:103E00008093521585E08093461582E8809349158A -:103E100081E090E1A0E0B0E080934A1590934B15CB -:103E2000A0934C15B0934D150E948DF90F5F1F4F55 -:103E300010935C0800935B08093C110564F180E075 -:103E400094E00E943A4F81E090E09093CB118093F0 -:103E5000CA118093340281E09AE5909353158093C0 -:103E600052158DE290E0909355158093541587E09C -:103E70008093461582E88093491584E890E0A0E09D -:103E8000B0E080934A1590934B15A0934C15B093D6 -:103E90004D150E948DF9109262080C945037809154 -:103EA000D0149091D114891B8F7009F092C10E9497 -:103EB0003EB781118EC18091CE1682FD8AC112C398 -:103EC00084E690E090935315809352151093461515 -:103ED000009349158EE090E1A0E0B0E080934A1590 -:103EE00090934B15A0934C15B0934D150E948DF9EE -:103EF000C60182539048880F991F90935315809361 -:103F0000521510934615009349158FE090E1A0E0FB -:103F1000B0E080934A1590934B15A0934C15B09345 -:103F20004D150E948DF90E947BE090E0909353150F -:103F30008093521585E08093461582E88093491559 -:103F400086E190E1A0E0B0E080934A1590934B1594 -:103F5000A0934C15B0934D150E948DF920E030E0F0 -:103F600048EC52E460913613709137138091381306 -:103F7000909139130F9499150F94891D70935315CF -:103F80006093521515E01093461502E80093491509 -:103F900086E290E1A0E0B0E080934A1590934B1543 -:103FA000A0934C15B0934D150E948DF96091B20B02 -:103FB0007091B30B8091B40B9091B50B0F94891D48 -:103FC000709353156093521510934615009349153D -:103FD00086E390E1A0E0B0E080934A1590934B1502 -:103FE000A0934C15B0934D150E948DF960910D0969 -:103FF00070910E0980910F09909110090F94891DFD -:1040000070935315609352151093461500934915FC -:104010008CE390E1A0E0B0E080934A1590934B15BB -:10402000A0934C15B0934D150E948DF98091B60B5D -:104030009091B70B9093531580935215109346159A -:104040000093491584E390E1A0E0B0E080934A1525 -:1040500090934B15A0934C15B0934D150E948DF97C -:1040600080911109909112099093531580935215E4 -:1040700010934615009349158AE390E1A0E0B0E063 -:1040800080934A1590934B15A0934C15B0934D1502 -:104090000E948DF90091570801113CC18091590887 -:1040A000811138C180915E0881118BC18091FA1411 -:1040B0009091FB14A091FC14B091FD148C3420E17C -:1040C0009207A105B10509F0A1C136E9C32E35E17A -:1040D000D32E0AE18CEB93E10E94A557E0904C08A7 -:1040E000F0904D08181619060CF085C38AE1E81601 -:1040F000F10414F40C9411337EC38CE0FE0131966C -:10410000A1E1B3E101900D928A95E1F70E9478D385 -:104110008091BB138D7F8093BB1347CC10925F08B7 -:104120006ECC82EB95E00E943A4F80915D0890E062 -:10413000A0E0B0E0895B9F4FAE4FB54A21E03AE581 -:104140003093531520935215909355158093541521 -:1041500087E08093461582E88093491584E890E0D3 -:10416000A0E0B0E080934A1590934B15A0934C15B6 -:10417000B0934D150E948DF910925E08F3CC81E04A -:10418000809334021092CE1180EC95E00E943A4F59 -:1041900081E09AE590935315809352158EE490E058 -:1041A000909355158093541587E08093461582E8C7 -:1041B0008093491584E890E0A0E0B0E080934A1530 -:1041C00090934B15A0934C15B0934D150E948DF90B -:1041D000CBCC8CE090E0909353158093521505E082 -:1041E0000093461582E88093491584E190E1A0E0B0 -:1041F000B0E080934A1590934B15A0934C15B09363 -:104200004D150E948DF90E945DDF20E13EE040E007 -:1042100050E00F94891B2115310591E049075105A4 -:1042200060F05093531540935215309355152093D9 -:10423000541587E08093461506C03093531520939C -:1042400052150093461502E80093491580E190E16C -:10425000A0E0B0E080934A1590934B15A0934C15C5 -:10426000B0934D150E948DF90E945DDF20E13EE084 -:1042700040E050E00F94891B2CE330E040E050E038 -:104280000F94891B309353152093521515E010930A -:1042900046150093491582E190E1A0E0B0E08093DB -:1042A0004A1590934B15A0934C15B0934D150E9451 -:1042B0008DF90E947BE0882391F00E947BE08F5F64 -:1042C00080935A08C82ED12C833308F0F9CDC6014B -:1042D000880F991F909353158093521504C0109224 -:1042E00053151092521510934615009349158EE000 -:1042F00090E1A0E0B0E080934A1590934B15A09315 -:104300004C15B0934D150E948DF9109253151092D3 -:104310005215F7CD20E030E048EC52E46091B20B4A -:104320007091B30B8091B40B9091B50B0F949915CC -:104330006B017C016091B60B7091B70B072E000CDE -:10434000880B990B0F943A159B01AC01C701B6017C -:104350000F94171D0F94901D6436710510F064E6DC -:1043600070E0709353156093521545E0A42EA0920F -:10437000461552E8B52EB092491584E290E1A0E0CE -:10438000B0E080934A1590934B15A0934C15B093D1 -:104390004D150E948DF9C090B20BD090B30BE090F8 -:1043A000B40BF090B50B20E030E040E253E4C701DD -:1043B000B6010F947D1E18160CF03AC1011188C188 -:1043C00037C180914E0801E0080F00934E0890E03D -:1043D000909353158093521585E08093461582E89B -:1043E0008093491582E490E1A0E0B0E080934A1503 -:1043F00090934B15A0934C15B0934D150E948DF9D9 -:104400000A3008F453CE10924E0850CE8A349041B0 -:10441000A105B10509F459CE80E00E9495AE20E0D7 -:1044200030E040E251E40F9499150F94891D709388 -:1044300053156093521515E01093461502E800934A -:10444000491588E490E1A0E0B0E080934A1590938C -:104450004B15A0934C15B0934D150E948DF981E03A -:104460000E9495AE20E030E040E251E40F949915AF -:104470000F94891D70935315609352151093461530 -:10448000009349158AE490E1A0E0B0E080934A15DA -:1044900090934B15A0934C15B0934D150E948DF938 -:1044A00082E00E9495AE20E030E040E251E40F94BB -:1044B00099150F94891D709353156093521510939D -:1044C0004615009349158CE490E1A0E0B0E080939C -:1044D0004A1590934B15A0934C15B0934D150E941F -:1044E0008DF9F3CD80910D0990910E09A0910F09DE -:1044F000B091100988A399A3AAA3BBA36091110945 -:1045000070911209072E000C880B990B0F943A1525 -:104510006B017C0120E030E040E050E40F941C1C73 -:1045200028A139A14AA15BA10F947D1E181604F1A0 -:104530004090B20B5090B30B6090B40B7090B50BE1 -:104540006091B60B7091B70B072E000C880B990B7E -:104550000F943A154B015C0120E030E040E251E459 -:104560000F941C1CA30192010F947D1E181604F5D4 -:104570008DE090E0909353158093521585E08093E1 -:10458000461582E88093491584E190E1A0E0B0E00F -:1045900080934A1590934B15A0934C15B0934D15ED -:1045A0000E948DF98091CD1181113FC081E03DC005 -:1045B00020E030E040E050E4C701B6010F941D1C3C -:1045C00028A139A14AA15BA10F94331587FD0EC024 -:1045D00020E030E040E251E4C501B4010F941D1C1D -:1045E000A30192010F94331587FFB8CC84E190E0CA -:1045F000909353158093521585E08093461582E879 -:104600008093491584E190E1A0E0B0E080934A15E1 -:1046100090934B15A0934C15B0934D150E948DF9B6 -:104620008091CD11811101C082E08093CD1196CC93 -:104630006091B60B7091B70B072E000C880B990B8D -:104640000F943A159B01AC01C701B6010F947D1E72 -:104650006091590887FDAEC0662309F423CD062E6C -:10466000000C770B8BE397E00F94D8011092590858 -:1046700010925C0810925B0884E090E090935315D0 -:104680008093521585E08093461502E80093491502 -:104690008EE890E1A0E0B0E080934A1590934B152E -:1046A000A0934C15B0934D150E948DF981E09AE5C9 -:1046B000909353158093521583E590E09093551590 -:1046C0008093541587E0809346150093491563C085 -:1046D0001092570820E030E040E251E460914F082A -:1046E0007091500880915108909152080F9499153B -:1046F0000F94891D7093531560935215A09246151F -:10470000B092491584E590E1A0E0B0E080934A15AD -:1047100090934B15A0934C15B0934D150E948DF9B5 -:1047200020E030E040E251E4609153087091540879 -:1047300080915508909156080F9499150F94891DF2 -:104740007093531560935215A0924615B092491577 -:1047500088E590E1A0E0B0E080934A1590934B1576 -:10476000A0934C15B0934D150E948DF98EEC95E0F9 -:104770000E943A4F81E09AE5909353158093521529 -:1047800081E490E0909355158093541587E08093D1 -:104790004615B092491584E890E0A0E0B0E080931F -:1047A0004A1590934B15A0934C15B0934D150E944C -:1047B0008DF978CC662309F475CC80915B089091D3 -:1047C0005C089C012F5F3F4F30935C0820935B088F -:1047D00065E070E00F94001C909353158093521580 -:1047E00085E08093461582E8809349158EE890E134 -:1047F000A0E0B0E0D4CF1E141F040CF04CCB90917D -:10480000F71480919615981322C09091F814809116 -:10481000971598131CC023E0E216F104C4F09091A0 -:1048200098159093F614809199158093F91493300C -:10483000D1F4982F9D7F9038B1F490919A159F34C0 -:1048400009F059C090919B159B3409F054C08AE13E -:10485000E6E9F5E1DF011D928A95E9F710924D082E -:1048600010924C0818CB833809F045C080919A15F6 -:1048700090919B15982789279827A0E0B0E0809316 -:10488000FA149093FB14A093FC14B093FD14C09001 -:104890009C15D12CE12CF12CC092FE14D092FF1467 -:1048A000E0920015F0920115ADE9B5E140E050E06D -:1048B000BA014C155D056E057F0508F04AC04A0136 -:1048C0005B01B694A79497948794F4013696EE0F03 -:1048D000FF1FEA50FB4E8C9190E0982F882711968D -:1048E0002C911197822B918380834E5F5F4F6F4F86 -:1048F0007F4F1296DECF813861F580919A1590E056 -:10490000A0E0B0E08093FA149093FB14A093FC1401 -:10491000B093FD1480919B15482F50E060E070E04B -:104920004093FE145093FF1460930015709301158B -:10493000ACE9B5E1E2E0F5E190E020E030E02817F5 -:10494000390739F04D9150E0419351932F5F3F4F1C -:10495000F6CF8AE1E6E9F5E1DF011D928A95E9F7F4 -:1049600010924D0810924C0881E194E00E943A4F59 -:104970006091CE11161664F4062E000C770B80E3BE -:1049800097E00F94D8018AE00E942F4E0C940233D6 -:1049900060910215709103158EE197E00F94BA01B2 -:1049A0008AE00E942F4E4091FA145091FB146091BE -:1049B000FC147091FD148FE097E00F94A9018AE038 -:1049C0000E942F4E8091FA149091FB14A091FC1438 -:1049D000B091FD14E5E7F2E000E010E04191519163 -:1049E000619171914115510561057105D1F148172A -:1049F00059076A077B0791F5AC01BD01485050414A -:104A000061097109453051056105710568F1AC0115 -:104A1000BD01477F423350416105710541F1843347 -:104A2000F0E19F07A105B10511F1AC01BD014654AC -:104A30005041610971094730510561057105D0F098 -:104A4000AC01BD0144555041610971094530510522 -:104A50006105710588F402E110E00EC00F5F1F4F81 -:104A6000BDCF0FEF1FEF08C003E010E005C008E066 -:104A700010E002C00FE010E08A509042A109B10995 -:104A8000833D9105A105B10530F00F3F2FEF1207CF -:104A900021F40C94023309E110E0F2E3CF2EF4E0AC -:104AA000DF2EF60181916F01882319F00E942F4EAD -:104AB000F8CFB801012E000C880B990B0E94A34E71 -:104AC0000E94344F83E097E00E943A4F0A3111056B -:104AD00010F00C94FE32F8018827E758FF4F8F4FF3 -:104AE0000D94141C8091021590910315813091054D -:104AF000E1F4109234028FEF8093BA1960E080E005 -:104B00000F94000200E414E0D8018D918D018823F8 -:104B100019F00E942F4EF8CF81E09AE5909353153B -:104B2000809352158EE290E0AFC08230910509F07B -:104B3000C5C081E0809334020E94ECE08FEF96E0E4 -:104B400090934709809346098BE090E0909353152A -:104B50008093521505E00093461512E8109349150D -:104B600080E092E1A0E0B0E080934A1590934B156D -:104B7000A0934C15B0934D150E948DF910925315CA -:104B80001092521500934615109349158EE090E14E -:104B9000A0E0B0E080934A1590934B15A0934C157C -:104BA000B0934D150E948DF9109253151092521525 -:104BB00000934615109349158FE090E1A0E0B0E016 -:104BC00080934A1590934B15A0934C15B0934D15B7 -:104BD0000E948DF9109253151092521500934615AC -:104BE0001093491586E190E1A0E0B0E080934A156A -:104BF00090934B15A0934C15B0934D150E948DF9D1 -:104C000062E070E080E090E00E94A9AE109253153F -:104C100010925215009346151093491580E190E1CA -:104C2000A0E0B0E080934A1590934B15A0934C15EB -:104C3000B0934D150E948DF9109253151092521594 -:104C4000009346151093491582E190E1A0E0B0E091 -:104C500080934A1590934B15A0934C15B0934D1526 -:104C60000E948DF90AE614E0F80181918F018823F2 -:104C700019F00E942F4EF8CF81E09AE590935315DA -:104C8000809352158DE290E09093551580935415C2 -:104C900087E08093461582E88093491584E890E088 -:104CA000A0E0B0E080934A1590934B15A0934C156B -:104CB000B0934D150E948DF90C9402338330910509 -:104CC00049F581E08093340204E914E0D8018D9124 -:104CD0008D018823C9F00E942F4EF8CF8091FA14DD -:104CE0009091FB14A091FC14B091FD148233F0E17B -:104CF0009F07A105B10509F05BC480910215909151 -:104D00000315009709F023C480910502882309F454 -:104D10000DC31DC3049711F00C940233109234029A -:104D20000C94023380910215909103158130910506 -:104D3000D1F41092340280910502882319F082E0A8 -:104D400090E002C083E090E0909353158093521559 -:104D500085E08093461582E8809349158EE190E1C5 -:104D6000A0E0B0E09FCF8230910519F50EEB14E082 -:104D7000F80181918F01882319F00E942F4EF8CFFE -:104D800081E0809334028091CD11843049F081E03C -:104D90009AE5909353158093521585E390E074CF74 -:104DA00081E09AE5909353158093521586E390E045 -:104DB0006BCF8330910509F04CC02091050222236E -:104DC00019F1909353158093521585E08093461501 -:104DD00082E8809349158EE190E1A0E0B0E08093F5 -:104DE0004A1590934B15A0934C15B0934D150E9406 -:104DF0008DF940E060E070E088EC92E40E9453E1BD -:104E0000109205020C94023382E090E090935315C7 -:104E10008093521585E08093461582E8809349156A -:104E20008EE190E1A0E0B0E080934A1590934B159D -:104E3000A0934C15B0934D150E948DF940E060E0B1 -:104E400070E0CB010E9453E181E0809305020C9455 -:104E50000233049711F00C940233809120098823C7 -:104E6000F1F082E090E0909353158093521585E025 -:104E70008093461582E8809349158FE190E1A0E088 -:104E8000B0E080934A1590934B15A0934C15B093C6 -:104E90004D150E948DF9109220090C94023383E085 -:104EA00090E0909353158093521585E080934615BA -:104EB00082E8809349158FE190E1A0E0B0E0809313 -:104EC0004A1590934B15A0934C15B0934D150E9425 -:104ED0008DF981E0809320090C94023360910215D2 -:104EE0007091031580E090E00F9438156B017C0100 -:104EF00020E030E04AEF53E40F94331587FF11C0F0 -:104F000020E030E040E251E4C701B6010F947D1E7D -:104F100018166CF0C12CD12C70E2E72E71E4F72E3C -:104F200006C0C12CD12CEAEFEE2EE3E4FE2EC70121 -:104F3000B6010F94891D70935602609355020C942C -:104F400002338091FA149091FB14A091FC14B0915B -:104F5000FD148830F0E19F07A105B10509F050C0AC -:104F600081E09AE590935315809352158DE290E07D -:104F7000909355158093541587E08093461512E859 -:104F80001093491584E890E0A0E0B0E080934A15C2 -:104F900090934B15A0934C15B0934D150E948DF92D -:104FA000109253151092521505E000934615109378 -:104FB000491580E190E1A0E0B0E080934A1590931C -:104FC0004B15A0934C15B0934D150E948DF910927E -:104FD000531510925215009346151093491582E10E -:104FE00090E1A0E0B0E080934A1590934B15A09318 -:104FF0004C15B0934D150E948DF90E94ECE08FC0C6 -:105000008A3020E19207A105B105E1F580910215F2 -:1050100090910315813F910511F00C94023381E0CA -:105020009AE5909353158093521586E390E0909300 -:1050300055158093541587E08093461582E8809338 -:10504000491584E890E0A0E0B0E080934A15909381 -:105050004B15A0934C15B0934D150E948DF94EE75A -:1050600055E065E875E084E00E94AAA960E081E768 -:1050700095E00E94ADE087E695E090934709809324 -:1050800046094DC08C309041A105B10509F047C0DB -:105090008091021590910315019709F040C00F947B -:1050A0002D0F1092CD1181E0809334028CE090E0BE -:1050B000909353158093521585E08093461512E81E -:1050C0001093491584E190E1A0E0B0E080934A1587 -:1050D00090934B15A0934C15B0934D150E948DF9EC -:1050E00081E09AE5909353158093521585E390E003 -:1050F000909355158093541587E08093461510932F -:10510000491584E890E0A0E0B0E080934A159093C0 -:105110004B15A0934C15B0934D150E948DF98091BD -:10512000FA149091FB14A091FC14B091FD148C30F2 -:105130009041A105B10511F00C9402338091021544 -:1051400090910315029711F00C9402330F942D0FD8 -:1051500081E0809359081092CD118093340210920F -:105160005C0810925B0881E09AE590935315809358 -:10517000521582E590E088CD2091021530910315FB -:10518000B90180E090E037FF09C00F94381520E0A6 -:1051900030E040E857E40F941C1C02C00F9438150F -:1051A00020E030E048EC52E40F94171D6B017C01C5 -:1051B00020E030E040EA51EC0F947D1E87FD31C0C5 -:1051C00020E030E040EA51E4C701B6010F94331506 -:1051D00018163CF1A70196016091361370913713B0 -:1051E00080913813909139130F941C1C20E030E00B -:1051F00048EC53E40F94991590580F94891DCB01F6 -:105200000E9482FCC0923613D0923713E09238137A -:10521000F09239138AEF96E09093470980934609FC -:1052200028C020E030E048EC52E4609136137091E1 -:10523000371380913813909139130F9499150F9467 -:10524000891D709353156093521585E08093461520 -:1052500082E88093491586E290E1A0E0B0E0809377 -:105260004A1590934B15A0934C15B0934D150E9481 -:105270008DF96091361370913713809138139091A6 -:1052800039138E010B5E1F4F23E041E00F940B108A -:105290009F938F938CEE96E09F938F930451110907 -:1052A0001F930F930F94CB14C8010E9483AF0F90EC -:1052B0000F900F900F900F900F900C9402338091ED -:1052C000021590910315009729F481E08093340230 -:1052D0000C94023381309105B1F48091050288234A -:1052E00049F081E09AE590935315809352158CE331 -:1052F00090E0CACC81E09AE59093531580935215C3 -:105300008BE390E0C1CC82309105F9F283309105B6 -:1053100039F58091050240E0882389F060E070E073 -:1053200088EC92E40E9453E11092050281E09AE534 -:10533000909353158093521589E390E0A5CC60E0DB -:1053400070E0CB010E9453E181E08093050281E08F -:105350009AE590935315809352158AE390E094CC8C -:105360008530910559F540E060E070E084E393E416 -:105370000E942CAD46E060E070E08CE892E40E9470 -:105380002CAD84EB90E0909353158093521505E07B -:105390000093461512E81093491584E390E1A0E0CC -:1053A000B0E080934A1590934B15A0934C15B093A1 -:1053B0004D150E948DF986E490E02DC08630910550 -:1053C00099F540E060E070E080E793E40E942CAD46 -:1053D00046E060E070E08CED92E40E942CAD80EF3E -:1053E00090E0909353158093521505E00093461575 -:1053F00012E81093491584E390E1A0E0B0E08093B7 -:105400004A1590934B15A0934C15B0934D150E94DF -:105410008DF98EE690E0909353158093521500938A -:10542000461510934915BFC0813F910511F00C94AA -:10543000023340E060E070E0CB010E9453E141E0C4 -:1054400060E070E0CB010E9453E11092050240E061 -:1054500060E070E0CB010E942CAD46E060E070E0BF -:10546000CB010E942CAD109253151092521505E0FD -:105470000093461512E81093491584E390E1A0E0EB -:10548000B0E080934A1590934B15A0934C15B093C0 -:105490004D150E948DF961E070E080E090E00E947F -:1054A000A9AE109253151092521500934615109301 -:1054B00049158AE390E1A0E0B0E080934A1590930B -:1054C0004B15A0934C15B0934D150E948DF961E0DA -:1054D00070E080E090E00E94A9AE84E190E09093BB -:1054E000531580935215009346151093491584E186 -:1054F00090E1A0E0B0E080934A1590934B15A09303 -:105500004C15B0934D150E948DF981E09AE590936A -:1055100053158093521589E390E09093551580932D -:10552000541587E0809346151093491584E890E060 -:10553000A0E0B0E080934A1590934B15A0934C15D2 -:10554000B0934D150E948DF982E00C94FB328130AE -:105550009105A9F440E060E070E0CB010E942CAD21 -:10556000109253151092521585E08093461582E8EB -:105570008093491584E390E1A0E0B0E093CB0297DB -:1055800011F00C94023346E060E070E0CB010E9421 -:105590002CAD109253151092521585E0809346154C -:1055A00082E8809349158AE390E1A0E0B0E07ACBED -:1055B000843320E19207A105B10551F460910215F1 -:1055C0007091031580E090E00F94381540E010C012 -:1055D0008A339041A105B10511F00C94023360911A -:1055E00002157091031580E090E00F94381546E0A5 -:1055F0000E942CAD0C9402338091021590910315FA -:10560000009709F462CE8130910509F04CC0809179 -:105610005B17882319F083E090E002C082E090E0FD -:10562000909353158093521585E08093461582E838 -:105630008093491585E490E1A0E0B0E080934A159D -:1056400090934B15A0934C15B0934D150E948DF976 -:105650008AE090E0909353158093521585E08093F3 -:10566000461582E88093491580E092E1A0E0B0E021 -:1056700080934A1590934B15A0934C15B0934D15FC -:105680000E948DF90E9499AD811103C08CED96E0C6 -:1056900002C080ED96E0909347098093460982E02E -:1056A0008093CE1171C18230910509F0A8C081E0CC -:1056B0008093340288E0EFE4F8E0DF011D928A95E0 -:1056C000E9F780E090E0A0E2B1E480934F08909386 -:1056D0005008A0935108B0935208809353089093B8 -:1056E0005408A0935508B093560884E690E0909330 -:1056F00053158093521505E00093461512E8109358 -:10570000491584E590E1A0E0B0E080934A159093BC -:105710004B15A0934C15B0934D150E948DF920E0C8 -:1057200030E040E251E46091530870915408809158 -:105730005508909156080F9499150F94891D7093F0 -:10574000531560935215009346151093491588E53B -:1057500090E1A0E0B0E080934A1590934B15A093A0 -:105760004C15B0934D150E948DF96091B20B70915C -:10577000B30B8091B40B9091B50B0F94891D70936E -:10578000531560935215009346151093491586E3FF -:1057900090E1A0E0B0E080934A1590934B15A09360 -:1057A0004C15B0934D150E948DF98091B60B9091D8 -:1057B000B70B909353158093521500934615109391 -:1057C000491584E390E1A0E0B0E080934A159093FE -:1057D0004B15A0934C15B0934D150E948DF962E0C6 -:1057E00070E080E090E00E94A9AE81E09AE590939D -:1057F00053158093521581E490E00C943E3483302D -:10580000910509F076C010925D0880E00E9495AE87 -:1058100020E030E040E251E40F9499150F94891D87 -:10582000709353156093521505E00093461512E8E6 -:105830001093491588E490E1A0E0B0E080934A1508 -:1058400090934B15A0934C15B0934D150E948DF974 -:1058500081E00E9495AE20E030E040E251E40F94F8 -:1058600099150F94891D70935315609352150093E9 -:105870004615109349158AE490E1A0E0B0E08093CA -:105880004A1590934B15A0934C15B0934D150E945B -:105890008DF982E00E9495AE20E030E040E251E4D4 -:1058A0000F9499150F94891D709353156093521599 -:1058B00000934615109349158CE490E1A0E0B0E008 -:1058C00080934A1590934B15A0934C15B0934D15AA -:1058D0000E948DF962E070E080E090E00E94A9AE45 -:1058E00081E09AE5909353158093521587E490E0F8 -:1058F000C5C78430910509F485C68530910549F402 -:105900004EE750E160E070E085EE94E00E943CF9E3 -:1059100079C6069709F076C68CEC96E09093470915 -:10592000809346098BE090E02BC280910215909104 -:105930000315019711F51092340281E09AE59093D6 -:105940005315809352158FE390E0909355158093F3 -:10595000541587E08093461582E88093491584E8C2 -:1059600090E0A0E0B0E080934A1590934B15A0938F -:105970004C15B0934D150E948DF9809102159091B0 -:105980000315029709F03EC681E09AE590935315FE -:105990008093521580E490E077C9E0910215F09170 -:1059A00003153197EB30F10508F0E4C18827ED5677 -:1059B000FF4F8F4F0D94141C8091BA1380FF5CC66B -:1059C000869580FD5CC658C62DEC3CEC4CEC5DE346 -:1059D0006091361370913713809138139091391379 -:1059E0000F941D1C6B017C0120E030E040EA51EC7B -:1059F0000F947D1E87FDC2C120E030E040EA51E4F3 -:105A0000C701B6010F94331518160CF03FC6B6C186 -:105A10002DEC3CEC4CEC5DE3609136137091371348 -:105A200080913813909139130F941C1C6B017C01E9 -:105A300020E030E040EA51EC0F947D1E87FD9EC1CE -:105A400020E030E040EA51E4C701B6010F9433157D -:105A500018160CF092C692C180E00E948DAC0E9494 -:105A600099AD811103C083E796E002C085E696E018 -:105A7000909347098093460982E08093CE1181E09C -:105A80009AE5909353158093521584E590E0909396 -:105A900055158093541587E08093461582E88093CE -:105AA000491584E890E0A0E0B0E080934A15909317 -:105AB0004B15A0934C15B0934D150E948DF95EC106 -:105AC00083E08093CE1183E090E090935315809310 -:105AD000521585E08093461582E8809349158DE83C -:105AE00090E1A0E0B0E080934A1590934B15A0930D -:105AF0004C15B0934D150E948DF9E12CF12C00E06E -:105B0000DD24D394AA24A39445E0942E55E0852E59 -:105B100062E8762EDD2031F0CC24C39435E0B32E3C -:105B200010E005C0CC24CA94BB24BA9414E0DA2453 -:105B3000B116D1F1802F90E04897A4F50F5FF701DF -:105B4000919EE00DF11D1124EE0FFF1FEE0FFF1FC0 -:105B5000E45BFC4E20E030E04AE754E46081718170 -:105B6000828193810F9499150F94891D7093531519 -:105B7000609352158092461570924915802F90E0DF -:105B80008158974F880F991F092E000CAA0BBB0B49 -:105B900080934A1590934B15A0934C15B0934D15D7 -:105BA0000E948DF91C0DC4CFBFEFEB1AFB0AE5E094 -:105BB000EE16F10409F0AECF81E09AE5909353150B -:105BC0008093521585E590E0909355158093541578 -:105BD00087E08093461582E88093491584E890E039 -:105BE000A0E0B0E080934A1590934B15A0934C151C -:105BF000B0934D150E948DF987E096E09093470988 -:105C000080934609BBC042E060E070E080E890E429 -:105C10000E94B7AD40E060E070E08DE193E40E9447 -:105C2000B7AD41E060E070E08BE193E413C042E087 -:105C300060E070E080E890E40E94B7AD40E060E092 -:105C400070E080E292E40E94B7AD41E060E070E075 -:105C500080E292E40E94B7AD86E08093CE118EC0C0 -:105C600042E060E070E080E890E40E94B7AD40E080 -:105C700060E070E089E893E4E6CF42E060E070E045 -:105C800080E890E40E94B7AD40E060E070E089E811 -:105C900093E40CC042E060E070E080E890E40E9491 -:105CA000B7AD40E060E070E080E292E40E94B7AD02 -:105CB00041E060E070E087E893E4CCCF80915B172F -:105CC00081111CC083E090E090935315809352158E -:105CD00085E08093461582E88093491585E490E13C -:105CE000A0E0B0E080934A1590934B15A0934C151B -:105CF000B0934D150E948DF981E01BC082E090E0C9 -:105D0000909353158093521585E08093461582E851 -:105D10008093491585E490E1A0E0B0E080934A15B6 -:105D200090934B15A0934C15B0934D150E948DF98F -:105D300080E00E948DAC20E030E048EC52E46091BD -:105D400036137091371380913813909139130F9453 -:105D500099150F94891D709353156093521585E022 -:105D60008093461582E88093491586E290E1A0E091 -:105D7000B0E09BCE8BEE95E00E943A4F8AE090E037 -:105D8000909353158093521585E08093461582E8D1 -:105D9000809349154BC184E08093CE118091FA1411 -:105DA0009091FB14A091FC14B091FD146091021528 -:105DB000709103158834F0E19F07A105B10509F43E -:105DC00053C08A3420E19207A105B10509F456C0F9 -:105DD0008C3430E19307A105B10509F45AC086342B -:105DE0009041A105B10509F05EC063307105B9F5B8 -:105DF0008AED95E0909347098093460981E080936E -:105E00005E088093340210924E0881E09AE59093E8 -:105E10005315809352158AE490E090935515809322 -:105E2000541587E08093461512E81093491584E8CD -:105E300090E0A0E0B0E080934A1590934B15A093BA -:105E40004C15B0934D150E948DF98AE090E0909327 -:105E500053158093521585E080934615E5C06093F5 -:105E60005D081092CE11CEC380E090E8ADE9B3E4B6 -:105E70008CA39DA3AEA3BFA3312C15C080E090E0FE -:105E8000ABE9B3E48CA39DA3AEA3BFA333243394A7 -:105E90000AC080E090E0A8ECB3E48CA39DA3AEA37D -:105EA000BFA382E0382E80E090E00F94381520E008 -:105EB00030E040E251E40F94171D6B017C0120E0BB -:105EC00030E0A9010F94331587FF09C010924808EC -:105ED0001092490810924A0810924B081FC02CA13A -:105EE0003DA14EA15FA1C701B6010F947D1E1816FA -:105EF0004CF0C0924808D0924908E0924A08F092CB -:105F00004B080CC08CA19DA1AEA1BFA180934808F5 -:105F100090934908A0934A08B0934B0860914808B1 -:105F20007091490880914A0890914B08432D0E9436 -:105F3000B7AD61E070E080E090E00E94A9AE80E043 -:105F40000E9495AE20E030E040E251E40F949915B4 -:105F50000F94891D709353156093521505E00093BB -:105F6000461512E81093491588E490E1A0E0B0E0EE -:105F700080934A1590934B15A0934C15B0934D15F3 -:105F80000E948DF981E00E9495AE20E030E040E271 -:105F900051E40F9499150F94891D709353156093D4 -:105FA000521500934615109349158AE490E1A0E03C -:105FB000B0E080934A1590934B15A0934C15B09385 -:105FC0004D150E948DF982E00E9495AE20E030E0F0 -:105FD00040E251E40F9499150F94891D7093531565 -:105FE0006093521500934615109349158CE490E187 -:105FF000A0E0B0E080934A1590934B15A0934C1508 -:10600000B0934D150E948DF961E070E080E090E062 -:106010000E94A9AE1092CE118AE090E090935315A1 -:1060200080935215009346151093491580E092E134 -:10603000A0E0B0E00C9452268091FA149091FB14E9 -:10604000A091FC14B091FD148635E0E19E07A105F6 -:10605000B10509F041C020E030E040E253E4609136 -:10606000B20B7091B30B8091B40B9091B50B0F9460 -:106070003315209102153091031587FF0AC425308E -:10608000310508F006C480EA90E0909353158093A0 -:10609000521585E08093461512E81093491580E269 -:1060A00090E1A0E0B0E080934A1590934B15A09347 -:1060B0004C15B0934D150E948DF965E070E080E0BD -:1060C00090E00E94A9AE81E09AE5909353158093E9 -:1060D000521582E490E0D2C38435F0E19F07A10518 -:1060E000B105B9F4609102157091031580E090E05C -:1060F0000F94381520E030E040E251E40F94171D72 -:1061000060934F0870935008809351089093520801 -:1061100079C288359041A105B10509F073C260913B -:1061200002157091031580E090E00F94381520E07F -:1061300030E040E251E40F94171D609353087093D0 -:10614000540880935508909356085CC260910215DC -:106150007091031584EC95E00F94BA0180910215BB -:106160009091031582309105A1F038F4009771F0F9 -:106170000197E1F48EE095E043C28430910579F017 -:1061800058F0059799F489E995E00BC088EF94E001 -:1061900037C286EB95E005C08CEA95E002C087EA3D -:1061A00095E090934709809346092CC282E295E0DE -:1061B00027C281E395E00E943A4F809102159091A9 -:1061C00003158130910519F46499C3C41BC2892B4E -:1061D00009F018C28FE395E00E943A4F809144087D -:1061E000813039F585E595E00E943A4F81E09AE5E6 -:1061F00090935315809352158EE290E0909355152D -:106200008093541587E08093461582E88093491562 -:1062100084E890E0A0E0B0E080934A1590934B159D -:10622000A0934C15B0934D150E948DF91092CC118E -:1062300035C0823069F489E695E00E943A4F81E0EA -:106240009AE5909353158093521586E390E00EC023 -:10625000833031F58DE795E00E943A4F81E09AE571 -:10626000909353158093521581E490E090935515C7 -:106270008093541587E08093461582E880934915F2 -:1062800084E890E0A0E0B0E080934A1590934B152D -:10629000A0934C15B0934D150E948DF91092EA12FF -:1062A000109244080E94ECE0ADC1809102159091DB -:1062B00003158F3F910531F028F08FEF90E0A0E0BB -:1062C000B0E002C0A0E0B0E0809306029093070225 -:1062D000A0930802B09309028091060290910702F0 -:1062E000A0910802B09109020097A105B10509F536 -:1062F000109253151092521505E00093461512E8BE -:10630000109349158AE890E1A0E0B0E080934A1527 -:1063100090934B15A0934C15B0934D150E948DF999 -:1063200089E090E0909353158093521500934615A1 -:106330003DC00196A11DB11D05E0B695A7959795A5 -:1063400087950A95D1F70197A109B109009731E026 -:10635000A307B10550F0B0935315A0935215909335 -:1063600055158093541587E005C09093531580937D -:10637000521585E08093461512E8109349158AE876 -:1063800090E1A0E0B0E080934A1590934B15A09364 -:106390004C15B0934D150E948DF988E090E09093D4 -:1063A00053158093521585E0809346151093491537 -:1063B0008CE890E1A0E0B0E080934A1590934B15F3 -:1063C000A0934C15B0934D150E948DF98091060253 -:1063D00090910702A0910802B0910902BA2FA92F4B -:1063E000982F88270097E1E0AE07B10550F0B093F1 -:1063F0005315A0935215909355158093541587E02B -:1064000005C0909353158093521585E080934615EF -:1064100082E88093491581EA90E0A0E0B0E00C9416 -:10642000522681E995E00E943A4F0E9420AD4091AA -:10643000FA145091FB146091FC147091FD148823A0 -:1064400039F0433DF0E25F076105710509F4C7C308 -:10645000423D50426105710509F0D4C0809102159A -:1064600090910315019709F00CC50E9420AD882377 -:1064700009F407C58091BA1987FDC4C0A2E18A0258 -:10648000C00111248B58944E0E947559C12C90E282 -:10649000D92EE12CF12C05E012E810925315109240 -:1064A00052150093461510934915C0924A15D09283 -:1064B0004B15E0924C15F0924D150E948DF9BFEFEF -:1064C000CB1ADB0AEB0AFB0AEAE0CE16E0E2DE06B4 -:1064D000E104F10411F70091BA19F2E10F02800111 -:1064E0001124035F154EF80101900020E9F7C8015F -:1064F0008E1B9F0B439697FD01967C01F594E794C4 -:106500001E141F040CF0C6C49E012F5F3F4F69018B -:1065100084E1D9011D928A95E9F7A70162EA75E045 -:10652000C9010F94901FB801C6018E0D9F1D0F94D5 -:106530007B1F40E050E260E070E0C6010E943CF941 -:1065400062E070E080E090E00E94A9AE40E060E090 -:1065500070E08FE793E40E9453E141E060E070E077 -:106560008FE793E40E9453E1109205028DE090E0E2 -:10657000909353158093521585E08093461512E849 -:106580001093491584E190E1A0E0B0E080934A15B2 -:1065900090934B15A0934C15B0934D150E948DF917 -:1065A00062E070E080E090E00E94A9AE81E09AE5B0 -:1065B000909353158093521585E390E09093551571 -:1065C0008093541587E0809346151093491584E80D -:1065D00090E0A0E0B0E080934A1590934B15A09313 -:1065E0004C15B0934D150E948DF981E080933402D3 -:1065F0008093CC1183E08093CD1104C08EE895E0A8 -:106600000E943A4F80E5E6EFF4E1DF011D928A95A2 -:10661000E9F78AE58093F71485EA8093F8140C94DF -:106620004B1F8CEB93E10E948357F701EA56FA4E19 -:106630008083809196158A3581F01E141F0414F012 -:106640000C946A20D601E02F1D92EA95E9F710928A -:106650004D0810924C080C946A2062E070E080E0D3 -:1066600090E00E94A9AEFFEFEF1AFF0AF0924D08EA -:10667000E0924C080C946A208CEB96E002C08BEA06 -:1066800096E0909347098093460955CB88E290E0C5 -:106690000E9482FC2DEC3CEC4CEC5DE360913613E7 -:1066A0007091371380913813909139130F941D1CFA -:1066B0006B017C0120E030E040EA51EC0F947D1E3C -:1066C00087FD12C020E030E040EA51E4C701B60186 -:1066D0000F943315181644F0C0923613D092371326 -:1066E000E0923813F092391320E030E048EC52E4A5 -:1066F000609136137091371380913813909139134C -:106700000F9499150F94891D70935315609352152A -:1067100085E08093461582E88093491586E290E1F2 -:10672000A0E0B0E080934A1590934B15A0934C15D0 -:10673000B0934D150E948DF9609136137091371307 -:1067400080913813909139138E010B5E1F4F23E017 -:1067500041E00F940B109F938F938DE996E09F93E8 -:106760008F93045111091F930F930F94CB14C801F9 -:106770000E9483AF88E996E076C088ED9FEF0E9483 -:1067800082FC2DEC3CEC4CEC5DE360913613709197 -:10679000371380913813909139130F941C1C6B019F -:1067A0007C0120E030E040EA51EC0F947D1E87FD33 -:1067B00012C020E030E040EA51E4C701B6010F9476 -:1067C0003315181644F0C0923613D0923713E09266 -:1067D0003813F092391320E030E048EC52E4609135 -:1067E00036137091371380913813909139130F94A9 -:1067F00099150F94891D709353156093521585E078 -:106800008093461582E88093491586E290E1A0E0E6 -:10681000B0E080934A1590934B15A0934C15B0931C -:106820004D150E948DF96091361370913713809148 -:106830003813909139138E010B5E1F4F23E041E016 -:106840000F940B109F938F938AE896E09F938F93FA -:10685000045111091F930F930F94CB14C8010E9488 -:1068600083AF85E896E090934709809346090F909F -:106870000F900F900F900F900F9080CA9093551526 -:106880008093541587E080934615109349150C9416 -:106890004E262430310589F481E00F94170F2091A2 -:1068A00053083091540840915508509156080F9460 -:1068B0001D1C41E00F94EE0EB2C02530310508F4E6 -:1068C000F4C02630310509F431C108F023C181E05C -:1068D0008093570840E060E070E08EE393E40E940C -:1068E0002CAD20E030E048EC52E46091B20B7091A6 -:1068F000B30B8091B40B9091B50B0F9499156B016C -:106900007C016091B60B7091B70B072E000C880BC1 -:10691000990B0F943A159B01AC01C701B6010F9476 -:10692000171D0F94901D6436710510F064E670E039 -:10693000709353156093521505E00093461512E8C5 -:106940001093491584E290E1A0E0B0E080934A15ED -:1069500090934B15A0934C15B0934D150E948DF953 -:106960006091B20B7091B30B8091B40B9091B50B09 -:106970000F94891D7093531560935215009346151B -:106980001093491586E390E1A0E0B0E080934A15AA -:1069900090934B15A0934C15B0934D150E948DF913 -:1069A0008091B60B9091B70B90935315809352152D -:1069B000009346151093491584E390E1A0E0B0E000 -:1069C00080934A1590934B15A0934C15B0934D1599 -:1069D0000E948DF965E070E080E090E00E94A9AE31 -:1069E00081E09AE5909353158093521584E490E0EA -:1069F000909355158093541587E080934615109316 -:106A0000491584E890E0A0E0B0E080934A159093A7 -:106A10004B15A0934C15B0934D150E948DF920E0B5 -:106A200030E040E251E460914F087091500880914D -:106A30005108909152080F9499150F94891D7093E5 -:106A400053156093521505E00093461512E8109314 -:106A5000491584E590E1A0E0B0E080934A15909359 -:106A60004B15A0934C15B0934D150E948DF920E065 -:106A700030E040E251E460915308709154088091F5 -:106A80005508909156080F9499150F94891D70938D -:106A9000531560935215009346151093491588E5D8 -:106AA00090E1A0E0B0E00C9452262230310579F458 -:106AB00080E00F94170F20914F08309150084091BB -:106AC0005108509152080F941D1C40E0F3CE233022 -:106AD000310570F081E00F94170F20915308309129 -:106AE000540840915508509156080F941C1CE1CE53 -:106AF0002130310509F093CF80E00F94170F2091DA -:106B00004F083091500840915108509152080F940D -:106B10001C1CDBCF213F310509F081CF10925708B3 -:106B200061E070E080E090E00E94A9AE81E09AE52B -:106B3000909353158093521581E490E090935515EE -:106B40008093541587E08093461582E88093491519 -:106B500058CF8FEE95E00E943A4F81E00E9493A8B3 -:106B60008DE090E0909353158093521585E08093CB -:106B7000461512E81093491584E190E1A0E0B0E0D9 -:106B800080934A1590934B15A0934C15B0934D15D7 -:106B90000E948DF983E08093CD1181E09AE5909376 -:106BA00053158093521585E390E09093551580938B -:106BB000541587E0809346151093491584E890E0BA -:106BC000A0E0B0E080934A1590934B15A0934C152C -:106BD000B0934D150E948DF91092440813CD87E0B3 -:106BE00096E00E943A4F8091BB199091BC19992769 -:106BF00020910215309103158217930708F402CDF6 -:106C00008AE995E00E943A4F809102158150809365 -:106C1000BA19A4ED8A2EA0E29A2EA12CB12C05E07F -:106C200012E81092531510925215009346151093C6 -:106C3000491580924A1590924B15A0924C15B0922E -:106C40004D150E948DF92FEF821A920AA20AB20AFC -:106C50003EED831630E29306A104B10411F7809152 -:106C6000BA19A2E18A02C0011124FC01E35FF54ECA -:106C70007F0101900020E9F7C7018E1B9F0B43960F -:106C800097FD01968C011595079510161106FCF4D9 -:106C90009E012F5F3F4F690184E1D9011D928A95C2 -:106CA000E9F7A80162EA75E0C9010F94901FB701E6 -:106CB000C601800F911F0F947B1F44ED50E260E0EE -:106CC00070E0C6010E943CF905E012E806C044ED00 -:106CD00050E260E070E0C701F5CF109253151092BA -:106CE0005215009346151093491580924A159092BB -:106CF0004B15A0924C15B0924D150E948DF9BFEF27 -:106D00008B1A9B0AAB0ABB0AE6EE8E16E0E29E06E1 -:106D1000A104B10411F78E010F5F1F4F84E1D80168 -:106D20001D928A95E9F78091BC198F938091BB19C8 -:106D30008F93809103158F93809102158F938CEA26 -:106D400095E09F938F931F930F930F94AA1F4EED7F -:106D500050E260E070E0C8010E943CF962E070E03F -:106D600080E090E00E94A9AE0FB6F894DEBF0FBE9F -:106D7000CDBF31E2C32E32E1D32EE12CF12C43E121 -:106D8000442E40E6542E612C712C88248394912C3F -:106D9000AA24AA94BA2C75E0272EE2E83E2E0AE037 -:106DA00010E08091BB199091BC198815990594F158 -:106DB000B0925315A0925215209246153092491563 -:106DC00040924A1550924B1560924C1570924D1599 -:106DD0000E948DF910935315009352152092461579 -:106DE00030924915C0924A15D0924B15E0924C153D -:106DF000F0924D150E948DF9FFEF8F1A9F0A20E146 -:106E0000420E511C611C711C3FEFC31AD30AE30AE6 -:106E1000F30AC7CF809102159091031524E0880FE3 -:106E2000991F2A95E1F78D5F9F49A0E0B0E020EF20 -:106E300037E8309353152093521505E0009346151B -:106E400012E81093491580934A1590934B15A0931F -:106E50004C15B0934D150E948DF9809102159091BB -:106E60000315805E9D4EA0E0B0E026E030E0309358 -:106E700053152093521500934615109349150C9401 -:106E800052268091021590910315892B11F40C94D0 -:106E90006529B8CB40E050E260E070E0C8014ECB1D -:106EA000E3960FB6F894DEBF0FBECDBFDF91CF9152 -:106EB0001F910F91FF90EF90DF90CF90BF90AF9018 -:106EC0009F908F907F906F905F904F903F902F900A -:106ED00008952F923F924F925F926F927F928F927E -:106EE0009F92AF92BF92CF92DF92EF92FF920F9359 -:106EF0001F93CF93DF93CDB7DEB7C154D1090FB63F -:106F0000F894DEBF0FBECDBF22968FAF229720919F -:106F100078082CAF21E0209378088091BE128D3440 -:106F200009F4B3C4843511F40C943849873411F052 -:106F30000C943F498091BC129091BD128B31910508 -:106F400009F420C2B4F48430910534F48230910500 -:106F5000E4F597FF2EC095C48531910511F40C948A -:106F600041498A31910509F409C2049709F089C49D -:106F7000C6C18A32910509F4B5C34CF48D3191052F -:106F8000B1F00CF429C24E9709F465C27AC48B356E -:106F9000910509F425C38C35910509F425C38A357B -:106FA000910509F06EC4109277080C94414914E0E1 -:106FB0003FC280912002882311F40C9441490E9421 -:106FC00032C30E9478D30C9441492091200222239D -:106FD00011F40C94414911E0029709F010E00E946D -:106FE00032C319821A821B821C821D821E821F825A -:106FF000188682E50E9415A8882309F438C10E94EA -:1070000095A74B015C0120E030E0A9010F943315F6 -:10701000882309F442C18091431790914417A091AD -:107020004517B09146178CA39DA3AEA3BFA3809133 -:10703000471790914817A0914917B0914A1788A710 -:1070400099A7AAA7BBA78091111390911213A091A1 -:107050001313B09114138CA79DA7AEA7BFA780915F -:10706000151390911613A0911713B091181388ABB4 -:1070700099ABAAABBBAB2CA53DA54EA55FA56CA15A -:107080007DA18EA19FA10F94331581110DC028A958 -:1070900039A94AA95BA968A579A58AA59BA50F94DA -:1070A0003315882309F4F9C020E030E0A901C501B7 -:1070B000B4010F943315881F8827881F181729F0EB -:1070C00080E090E0A0E8BFEB04C080E090E0A0E8A2 -:1070D000BFE388AF99AFAAAFBBAF2CA13DA14EA132 -:1070E0005FA16CA57DA58EA59FA50F941C1C6CAB04 -:1070F0007DAB8EAB9FAB28A539A54AA55BA568A93A -:1071000079A98AA99BA90F941C1C6B017C012CA94D -:107110003DA94EA95FA9CA01B9010F9499152B0188 -:107120003C01A7019601C701B6010F9499159B0177 -:10713000AC01C301B2010F941D1C0F94CB1E2B0197 -:107140003C019B01AC0160E070E080E89FE30F949C -:10715000171D21966CAF7DAF8EAF9FAF219720E0BA -:1071600030E040E05FE3C301B2010F9499152B01B9 -:107170003C01A5019401C501B4010F9499154B017F -:107180005C01A3019201C301B2010F9499159B0107 -:10719000AC01C501B4010F941C1C0F94CB1E28AD8B -:1071A00039AD4AAD5BAD0F9499154B015C01C70138 -:1071B000B601905821962CAD3DAD4EAD5FAD2197F7 -:1071C0000F949915A50194010F9499156B017C01F9 -:1071D0002CA53DA54EA55FA56CA17DA18EA19FA16B -:1071E0000F941D1C20E030E040E05FE30F94991500 -:1071F0009B01AC01C701B6010F941D1C2CA13DA140 -:107200004EA15FA10F941C1C69837A838B839C839E -:1072100028A939A94AA95BA968A579A58AA59BA52A -:107220000F941D1C20E030E040E05FE30F949915BF -:107230006B017C0121962CAD3DAD4EAD5FAD21972C -:107240006CA97DA98EA99FA90F949915A5019401F8 -:107250000F9499159B01AC01C701B6010F941D1C39 -:1072600028A539A54AA55BA50F941C1C12C089E46A -:107270000E9415A8882331F00E9495A769837A831C -:107280008B839C838AE40E9415A8882331F00E9496 -:1072900095A76D837E838F83988720E030E0A901D6 -:1072A00069817A818B819C810F94331581110BC088 -:1072B00020E030E0A9016D817E818F8198850F9457 -:1072C00033158823A1F0412FBE016F5F7F4F81E10D -:1072D00093E10E9474CB0E9481EE6093B21370938D -:1072E000B3138093B4139093B5130C9441490F9446 -:1072F000F8018CE797E00F9413010C94414980E565 -:107300000E9415A8882329F00E940FF96B017C01C7 -:1073100003C0C12CD12C760183E50E9415A88823D7 -:1073200061F00E9495A720E030E04AE754E40F9412 -:1073300099150F94901D6B017C010E948AA0809189 -:107340003F0B811105C060E082E997E00E94ADE04B -:107350000E9481EEC60ED71EE81EF91E0E9481EE25 -:10736000DC01CB018C199D09AE09BF09B7FD02C034 -:107370000C94414980E00E945B4FF0CF0E94C19382 -:107380000C9441490E94CF8281110C94414980E0C4 -:1073900090E0A8E4B2E489839A83AB83BC8380E065 -:1073A00090E0A0E2B1E48D839E83AF83B8878987A4 -:1073B0009A87AB87BC8780E50E9415A8882321F0B7 -:1073C0000E945DA7862F01C080E0BE016F5F7F4FE6 -:1073D0000E94E5DF0C94414980913E0B8770873015 -:1073E00011F00C94654960E08FE40E9422A881119D -:1073F0000C9441490C94654980915B1781111DC023 -:107400000E94BB6C8823F9F0115011F40C944C4B82 -:1074100040E050E060E078E085E00E94F1A861E0A3 -:1074200083EF97E00E9437A88BED97E00E94C6D0CB -:107430000E94CF82882301F306C060E08FE40E949F -:1074400022A88823E9F20E945BA88EE998E00E94B6 -:10745000C6D00C94414920912E1330912F134091A6 -:1074600030135091311360914317709144178091FC -:107470004517909146170F941D1CAB01BC0188E580 -:107480000E94F2AF6C8F7D8F8E8F9F8F2091321371 -:107490003091331340913413509135136091471755 -:1074A000709148178091491790914A170F941D1CAD -:1074B000AB01BC0189E50E94F2AF69837A838B83BB -:1074C0009C83BE016F5F7F4FCE014C960E94B08FB0 -:1074D000882311F40C94414980E00E948DAC0E94F5 -:1074E0005CD661E085E40E9422A8182F21E0482F95 -:1074F000BE016F5F7F4FCE014C960E94ABE86B01DF -:107500007C019B01AC010F940F1F81115FC08C8C1B -:107510009D8CAE8CBF8C20E030E0A901C501B40188 -:107520000F94331587FF05C027E137EB41E558EB92 -:1075300004C027E137EB41E558E3C501B4010F94DE -:107540001D1CAB01BC0180EC98E00F94C701898041 -:107550009A80AB80BC8020E030E0A901C501B40175 -:107560000F94331587FF05C027E137EB41E558EB52 -:1075700004C027E137EB41E558E3C501B4010F949E -:107580001D1CAB01BC018BEB98E00F94C70120E000 -:1075900030E0A901C701B6010F94331587FF05C07C -:1075A00027E137EB41E558EB04C027E137EB41E534 -:1075B00058E3C701B6010F941D1CAB01BC0186EB5B -:1075C00098E00F94C7018AE00E942F4E0E9443D694 -:1075D000113011F40E94999D0E9433D90C944149B5 -:1075E000209377080C9441491DED212E12E0312E95 -:1075F0000BECE02E02E1F02E23E437E13DA32CA3B7 -:1076000082E2C82E83E1D82E00E010E0D1018D91F6 -:107610001D010E9415A8882309F44BC00E9495A75C -:107620002B013C01133049F0F60120813181428168 -:1076300053810F941C1C2B013C01ACA1BDA12D91C9 -:107640003D914D915C91C301B2010F941C1C4B0103 -:107650005C012DEB37E346E855EB0F947D1E87FD6B -:107660000AC02DEB37E346E855E3C501B4010F949A -:1076700033151816F4F4133051F440924F1750920A -:107680005017609251177092521701E012C0A50175 -:107690009401F70160817181828193810F941D1C97 -:1076A000D7016D937D938D939C931397812F0E94A7 -:1076B000C1D21F5FB4E0EB0EF11CECA1FDA134962A -:1076C000FDA3ECA3F4E0CF0ED11C143009F09ECF43 -:1076D000002321F08FE497E10E949BA00E9433D900 -:1076E0000C94414980912002882311F40C94414963 -:1076F00089E40E9415A8082F882321F00E9491A7F1 -:10770000E82E01C0E12C8AE40E9415A8182F8823D6 -:1077100021F00E9491A7F82E01C0F12C002319F04E -:1077200024E02E1528F0112349F034E03F1530F401 -:1077300088EC98E00F9413010C9441490E9453A7E0 -:107740000023F1F020914013309141134E2D42035C -:10775000B001439F700D11248091F8129091F9129D -:10776000680F791F072E000C880B990B0F943A15A0 -:107770006093111370931213809313139093141347 -:107780001123F1F020914213309143134F2D420306 -:10779000B001439F700D11248091FA129091FB1259 -:1077A000680F791F072E000C880B990B0F943A1560 -:1077B00060931513709316138093171390931813F7 -:1077C00060E080E50E9422A88823C1F10023D1F067 -:1077D00020912E1330912F1340913013509131137B -:1077E00060911113709112138091131390911413DF -:1077F0000F941C1C60931113709312138093131336 -:10780000909314131123D1F020913213309133133C -:1078100040913413509135136091151370911613E4 -:1078200080911713909118130F941C1C60931513DB -:1078300070931613809317139093181340E050E041 -:10784000BA0186E40E94F2AF6B017C0120E030E0D7 -:10785000A9010F947D1E181684F420E030E040E763 -:1078600052E4C701B6010F94171D60935F02709335 -:10787000600280936102909362020E9478D30C941C -:1078800041490E94A7820C9441498091BC12909179 -:10789000BD128337910509F4ABC70CF0E1C0893400 -:1078A000910509F49CC40CF069C08A31910509F472 -:1078B00021C39CF58431910509F496C27CF4813191 -:1078C000910509F470C22CF4029708F4E9C10C94F4 -:1078D0003549429709F4BDC60C9435498731910565 -:1078E00009F4ACC28CF48531910509F4A3C2469722 -:1078F00011F00C9435490E945C598091CE16877F17 -:107900008093CE160C9441498831910509F4AEC29A -:10791000499709F4E4C20C9435498F31910509F473 -:1079200017C47CF48C31910509F45CC30CF4F0C2EB -:107930008D31910509F460C34E9709F464C30C942A -:1079400035498A32910509F423C464F480329105E3 -:1079500009F4B8C3819711F00C9435490E9461B6BF -:107960000C9441498B32910509F435C4C09711F04C -:107970000C9435490E9421680C9441498836910540 -:1079800009F4D5C4D4F58135910509F450C6C4F481 -:107990008C34910509F432C44CF48B34910511F008 -:1079A0000C9435490E94859E0C9441498D34910573 -:1079B00009F428C48E34910509F428C40C9435497F -:1079C0008435910509F445C674F48235910509F4AE -:1079D0003DC68335910511F00C94354981E08093C3 -:1079E00071080C9441498535910509F45EC68C35C2 -:1079F000910509F473C60C9435498D36910509F447 -:107A0000B5C48CF48A36910509F4D9C50CF4A1C526 -:107A10008B36910509F4FBC58C36910511F40C9455 -:107A200041490C9435498037910511F40C94414932 -:107A300054F48E36910509F4F0C48F36910509F49B -:107A4000FDC40C9435498137910509F43CC5823752 -:107A5000910511F00C9435490E9454CF0C94414982 -:107A60008E32A1E09A0711F40C9423470CF081C0E8 -:107A7000893C910509F4C7C7DCF58937910509F4FC -:107A80006EC7ECF48637910509F42CC734F48537BA -:107A9000910509F416C70C9435498737910509F407 -:107AA0005BC78837910511F00C94354981E08093CC -:107AB0003509809334090E9474DA0C9441498B395A -:107AC000910509F456C554F48D37910509F4ACC5F8 -:107AD0008C38910509F419C50C9435498E3B9105F4 -:107AE00009F425C5883C910509F440C70C94354933 -:107AF000833D910511F40C947345F4F48C3C91058D -:107B000009F4C6C734F48B3C910509F4A2C70C9460 -:107B100035498D3C910509F4BEC78E3C910511F0A5 -:107B20000C9435494DEDC42E42E0D42E59E3E52E98 -:107B300059E0F52E10E0C5C7823E910511F40C9472 -:107B4000D94554F48C3D910509F4D0C78D3D91057C -:107B500009F4D9C70C9435498232E1E09E0711F44B -:107B60000C9425468D32914011F40C9430460C94BF -:107B70003549843F21E0920711F40C9483480CF0BE -:107B800043C0823941E0940711F40C946D47DCF452 -:107B90008033B1E09B0711F40C94B04614F40C94BC -:107BA00067478039F1E09F0711F40C946A478139E7 -:107BB000914011F00C94354981E00E94E19D0E94B2 -:107BC00033D90C944149843A31E0930711F40C9471 -:107BD00080476CF48A39A1E09A0711F40C9441496A -:107BE0008C39914011F40C9475470C943549853AC1 -:107BF000E1E09E0711F40C9483478C3A914011F414 -:107C00000C94F3470C943549883522E0920711F41F -:107C10000C94AB481CF5873F41E0940711F40C9499 -:107C200089487CF4853FB1E09B0711F40C948648A9 -:107C3000863F914011F00C9435490E9498EE0C94C7 -:107C40004149883FF1E09F0711F40C9492488C3031 -:107C5000924011F40C94A3480C9435498C3633E0CF -:107C6000930711F40C9441497CF48B35A2E09A07F8 -:107C700011F40C94AE488335934011F00C943549BF -:107C80000E9450C90C944149803AE3E09E0709F4F0 -:107C90004FC2873E934011F40C9427490C94354908 -:107CA000009174121091751280E50E9415A8882326 -:107CB00061F00E940FF96B017C01BB24B394672B28 -:107CC000682B692B31F4B12C04C0B12CC12CD12C00 -:107CD000760183E50E9415A8882311F40C945E4B6D -:107CE0000E9495A720E030E04AE754E40F949915EC -:107CF0000F94901D6B017C01B1100BC0672B682B9A -:107D0000692B39F40115110521F0D8018C918111ED -:107D100002C0B12C02C0BB24B3940E948AA0B1104F -:107D200003C086E196E001C0C8010E94C8AF10916F -:107D3000780883E08093780881E08093EA1249EF25 -:107D400058E062E079E082E00E94F1A887EE98E0D6 -:107D50000E94C8AFC114D104E104F104B1F00E9443 -:107D600081EEC60ED71EE81EF91E0E9481EEDC01D0 -:107D7000CB018C199D09AE09BF09B7FF0EC08091D8 -:107D8000EA1281110C94634B08C08091EA12882397 -:107D900021F080E00E945B4FF8CF1092EA1210931E -:107DA00078080C9441498091B81284FF02C00C9469 -:107DB000684B8091BA1287FF02C00C94684B809187 -:107DC000BB12837011F00C94684B60E084E199E081 -:107DD0000E94ADE05F988A9880910801817080933D -:107DE000060112980C9441498CE299E00F9413011A -:107DF0001092390B82EB94E10E9402628BE1E2EB7C -:107E0000F4E1DE01119601900D928A95E1F740E0D0 -:107E100050E0BE016F5F7F4F80E090E00E94E25A29 -:107E2000CE0101960E9438638DE199E00F94130111 -:107E30000C9441490E94CD590C944149E09174122F -:107E4000F09175128081882329F0803209F4108224 -:107E50003196F8CF40E061E08091741290917512F4 -:107E60000E94B85C1092EB120C9441498091CB0AAD -:107E70008823E9F080E090E0A0EAB1E488A399A328 -:107E8000AAA3BBA31C8E1D8E1E8E1F8E19821A8262 -:107E90001B821C8220E0AE01405E5F4FBE01645E2B -:107EA0007F4FCE0101960E94B1A90C9441490E94D6 -:107EB0003EB7882321F00E946D590E94859E40E0C4 -:107EC00050E06DE379E085E00E94AAA961E08DECC5 -:107ED0009EE20E9437A80E9431E10C9441498091B2 -:107EE000CE1682FF03C08B7F8093CE160E9411C5F1 -:107EF0000C9441498091CE1683FD02C00C944149F7 -:107F000083E50E9415A881110C94844B0C9441497F -:107F100083E40E94CCA78823D9F181E599E00F94EE -:107F2000130180915C14882351F1BE016F5F7F4F74 -:107F300089E594E10E94C9608E010F5F1F4FF8012F -:107F400081918F01882319F00E942F4EF8CFBE0136 -:107F50006F5F7F4F80E090E00E94805C80916B19A2 -:107F6000882389F080E20E942F4E0BE619E1D801A8 -:107F70008D918D01882339F00E942F4EF8CF87E430 -:107F800099E00F9413018AE00E942F4E0C9441490E -:107F900083E50E9415A8882309F10E946DA7182F78 -:107FA00090E0CD970CF01CE3109368080E9481EEDE -:107FB0006B017C01212F30E0A8EEB3E00F94DD1BB4 -:107FC000C60ED71EE81EF91EC0926408D09265083E -:107FD000E0926608F09267080C9441490E94355976 -:107FE0000C94414940E060E08091741290917512C8 -:107FF0000E94B85C0C9441498091CE168E7F80938C -:10800000CE160C9441498091CE1683FD02C00C948B -:1080100041490E94BBEA8091CE1683FD02C00C94B8 -:1080200041496091741270917512CE014C960E9474 -:108030009AFB8C01009711F40C9441496C8D7D8D55 -:1080400019821C8222E0AC01CE0101960E941B67BE -:10805000811102C0F12C14C0CE0101960E9408FBD0 -:108060008823C1F361E0CE0101960E94AD600097C4 -:1080700089F325EEFC0120831C820E94BC62F82E4D -:10808000CE0101960E943863B801FF2089F08BE78A -:1080900099E00F94E5018AE00E942F4E1092CA16D3 -:1080A0001092CB161092CC161092CD160C9441491A -:1080B00083E699E00F94E50180E699E00F941301BF -:1080C0000C9441498091CE1682FD0E948AA0809135 -:1080D000CE1683FD02C00C94414960E080E50E9409 -:1080E00022A8182F482F61E0809174129091751288 -:1080F0000E94B85C83E50E9415A8882381F00E9445 -:108100005DA7AB01BC014093CA165093CB16609398 -:10811000CC167093CD1689E594E10E94C35F0E944E -:108120006D5911110C9441490E94859E0C9441494E -:1081300020917412309175129091CE1692609093A6 -:10814000CE1640E060E0C9010E94B85C0C94414941 -:108150000E945DDF6C8F7D8F8E8F9F8FBE016F5F62 -:108160007F4FCE014C960E9485B560E0CE0101960E -:108170000E9408E10F94FC01BE016F5F7F4F89E808 -:1081800099E00F94E5018AE00E942F4E0C9441493A -:1081900083E50E9415A8882311F40C9441490E949C -:1081A0006DA7F82E6DE070E080E50E94E7908C01ED -:1081B00097FF02C00C944149E82E60E089E40E94D8 -:1081C00022A881110C94954B802F0E94574D81114C -:1081D0000DC50C94954B0E94CFC60C94414980E587 -:1081E0000E94CCA7882311F40C9441498091CE16AB -:1081F00082FF02C00C9441490C94AE4B0E94ACDF4C -:108200000C9441490E94359F0C94414960E070E014 -:1082100083E50E94E7908E34910531F40E94F09F2F -:108220000E9431E10C94414984EF99E00F941301CD -:1082300060912409709125098BEE99E00F94BA01A1 -:1082400060912609709127098EED99E00F94BA018B -:108250006091240970912509809126099091270940 -:10826000681B790B8091D311815021E030E082307E -:1082700010F020E030E0621B730B83ED99E00F9467 -:10828000BA018AE00E942F4E8BEC99E00F94130103 -:108290008091280990912909A0912A09B0912B0970 -:1082A0008C8F9D8FAE8FBF8FBE016F5F7F4FCE01D2 -:1082B0004C960E9485B5BE016F5F7F4F8EEB99E0B3 -:1082C0000F94E50180912C0990912D09A0912E0920 -:1082D000B0912F098C8F9D8FAE8FBF8FBE016F5FC6 -:1082E0007F4FCE014C960E9485B5BE016F5F7F4FD8 -:1082F0008EEA99E00F94E50120E030E04AE754E48B -:10830000609130097091310980913209909133095F -:108310000F94171DAB01BC0186E999E00F94C701CA -:108320008DE60E942F4E8AE00E942F4EAAC78091B0 -:10833000471083FDA6C70E94E1C387FDA2C783E55E -:108340000E9415A8882379F00E9495A70F94891D93 -:108350008B01CB010E94A6BF0135110524F40E94B8 -:10836000359F0E9431E10F94BE0E8BC7809147105C -:1083700083FD87C70E94E1C3F82E87FD82C783E58E -:108380000E9415A8082F811106C082E50E9415A839 -:10839000182F8823C1F10E9495A70F94891DCB0146 -:1083A0000E94A6BF0E9495A720E030E040EA52E478 -:1083B0000F943315181614F40C94B94B0E94359F82 -:1083C0000E9431E16091B60B7091B70B072E000C43 -:1083D000880B990B0F943A154B015C014090B20B3E -:1083E0005090B30B6090B40B7090B50BA301920149 -:1083F0000F947D1E181614F40C94CC4B002311F42A -:108400000C94BD4B11E00F94BE0E112309F439C733 -:10841000602F8F2D0E94B2B934C78EE40E9415A838 -:10842000882309F42EC70E945DA760937012709391 -:108430007112809372129093731223C783E50E9486 -:10844000CCA7882331F060E083E50E94F69080930A -:1084500047100F94FC0184E29AE00F94130180917D -:108460004710882369F1BAE1EB2EBAE0FB2E00E059 -:1084700010E020E08091471090E0A0E0B0E0002EF6 -:1084800004C0B695A795979587950A94D2F780FF73 -:108490000EC0DD24D394D20E222319F08CE20E9468 -:1084A0002F4EF701859194910F9413012D2D0F5F9D -:1084B0001F4FF2E0EF0EF11C05301105D9F663CD28 -:1084C00086E19AE05ECD83E50E9415A8882371F0CD -:1084D0000E946DA7282F30E02D3331051CF48093C6 -:1084E0000002CFC68CE380930002CBC60F94FC0140 -:1084F0004091000250E060E070E08BE29AE00F945F -:10850000A9018AE00E942F4EBCC68091471083FDCE -:10851000B8C683E50E9415A8882309F4B2C60E9454 -:1085200095A70F94891DCB010E9445A7AAC68091EB -:10853000471083FDA6C683E50E9415A8182F811158 -:108540000C94CF4B82E50E9415A881110C94CF4B5F -:1085500098C60E94E1C3182F87FD9AC680E59AE06D -:108560000F941301812F0E94C2B78AE00E942F4E00 -:108570008FC683E50E9415A8882309F482C60E944D -:108580006DA7182F90E0CD970CF01CE310936D08A9 -:108590000E9481EE6B017C01212F30E0A8EEB3E058 -:1085A0000F94DD1BC60ED71EE81EF91EC092690887 -:1085B000D0926A08E0926B08F0926C0862C660E0A4 -:1085C00080E50E94F690F82E31E0381708F459C67D -:1085D00081E40E94CCA7882321F060919B0B062F99 -:1085E00002C00FEF10E083E50E9415A8882349F030 -:1085F0000E945DA78B016F3F710519F010F00FEF1E -:1086000010E0EF2DF0E0E556F44F00833AC660E04D -:1086100080E50E94F690823008F033C6E82FF0E043 -:10862000E556F44F10822DC60E9411C52AC60E943D -:10863000B7BF0E94359F0E94CBA10E94994D68EE62 -:1086400073E080E090E00F94E4001BC61092710884 -:1086500018C683E50E9415A8882399F00E9495A763 -:1086600020E030E04AE754E40F9499150F94901DF0 -:1086700060930102709302028093030290930402BC -:1086800000C68091B81284FF02C00C94044C809103 -:10869000BA1287FF02C00C94044C8091BB12837005 -:1086A00011F00C94044C0C94354C83E50E94CCA73B -:1086B000882309F4E6C50E9495A720E030E04AE748 -:1086C00054E40F9499150F94901D60937208709361 -:1086D00073088093740890937508D3C50E94E1C312 -:1086E00087FDCFC59091B81294FD04C09091BA1245 -:1086F00097FF0AC0FDEDCF2EF2E0DF2EA8E4EA2EB0 -:10870000A0E1FA2E10E009C09091BB12937091F78E -:10871000682F81E00E9494C6B4C5D6018D916D0189 -:108720000E9415A8882309F459C0133009F04FC0DE -:108730000E9495A74B015C0120E030E040EA51E443 -:108740000F94331587FF3AC0A5019401609168101A -:108750007091691080916A1090916B100F94171DA1 -:108760002B013C019B01AC01609178107091791054 -:1087700080917A1090917B100F94991560937810E6 -:108780007093791080937A1090937B106091930B83 -:108790007091940B8091950B9091960B0F943815D6 -:1087A000A30192010F9499150F94901D6093930B60 -:1087B0007093940B8093950B9093960B8092681016 -:1087C00090926910A0926A10B0926B1007C00E943C -:1087D00095A7F701648B758B868B978B1F5FF4E0F1 -:1087E000EF0EF11C143009F098CF0E9466A049C525 -:1087F00087E79BE00F94130160E087E69BE00E940F -:108800003ACF60E082E59BE00E943ACF61E08BE4E2 -:108810009BE00E943ACF61E080E49BE00E943ACF67 -:1088200061E080E39BE00E943ACF60E087E29BE05A -:108830000E943ACF61E08DE19BE00E943ACF61E077 -:1088400083E19BE00E943ACF61E08BE09BE00E94D5 -:108850003ACF61E08DEF9AE00E943ACF61E08FEE6F -:108860009AE00E943ACF60E080EE9AE00E943ACF10 -:1088700060E082ED9AE00E943ACF60E08CEB9AE0F3 -:108880000E943ACF61E08BEA9AE00E943ACF61E021 -:108890008CE99AE00E943ACF61E087E89AE00E9472 -:1088A0003ACF61E084E79AE00E943ACF60E087E641 -:1088B0009AE00E943ACF60E083E59AE00E943ACFC6 -:1088C000E0C48091741290917512009741F0DC0120 -:1088D0002C91222321F060E00E9408E1D2C40E9482 -:1088E00031E1CFC4009174121091751294E0F12C13 -:1088F00040E0915021F1F8018081282F2B7F213415 -:1089000021F421812133D9F407C08035C1F481815C -:1089100080538A3048F013C0813421F0853421F42B -:1089200041E002C0FF24F39498012E5F3F4F89017C -:108930002F5F3F4FF80180818032C9F3DACF4111B8 -:108940000F94FC01FF2021F082E69CE00F941301BC -:10895000C8010E943A4F95C40E9451DA92C4109205 -:108960003509109234090E9474DA8BC40E94E1C365 -:10897000182F87FD86C484E40E94CCA7882309F4BD -:108980003FC00E9495A76B017C0101E020E030E030 -:10899000A9010F943315811101C000E00093B811B3 -:1089A00020E030E0A901C701B6010F9433158823F8 -:1089B00039F10E9495A724E01202F0011124E3543A -:1089C000FE4E608371838283938320E030E0A901AF -:1089D0006091BD117091BE118091BF119091C01135 -:1089E0000F94331581110CC080E090E0A0EEBFE33E -:1089F0008093BD119093BE11A093BF11B093C0118D -:108A00000E94F5A23EC40E94E1C387FD3AC47DEDF9 -:108A1000E72E72E0F72E08E410E1E8E5CE2EE0E163 -:108A2000DE2ED7018D917D010E94CCA7882349F0CD -:108A30000E9495A70F94901DF80160837183828333 -:108A400093830C5F1F4FC016D10659F70E941FA0D9 -:108A500018C40E94E1C387FD14C46DEDE62E62E0E8 -:108A6000F62E08E410E1D7018D917D010E94CCA77C -:108A7000882339F00E9495A7F80164A375A386A303 -:108A800097A30C5F1F4FF0E108351F0761F7F9C38B -:108A90000E9499F8F6C38091B81281FDE9C68091D1 -:108AA000B91281FDE5C68091BA128C7009F0E0C65A -:108AB000E8C31F5FF4E0EF0EF11C133011F40C94C7 -:108AC0006E3BD6018D916D010E94CCA7882389F35E -:108AD0000E9495A7F7016083718382839383812F1E -:108AE0000E94C1D2E6CF0E94DFC5CBC383E50E94BE -:108AF00015A8882309F4C5C30E9491A79093560234 -:108B000080935502BEC30E94E1C3F82E87FDB9C30E -:108B100083E50E9415A80F2D0F2C000C110B882344 -:108B200069F10E9491A7F801EE0FFF1FEA5DFD4F6A -:108B300091838083000F111F000F111F98012B5E7E -:108B40003D4F7901BC01990F880B990B0F943A1591 -:108B50002AE037ED43E25CE30F949915F801E754FE -:108B6000FE4E20813181428153810F949915D701A6 -:108B70006D937D938D939C93139783C30F94FC0106 -:108B800085E40E942F4E80E38F0D0E942F4EF80146 -:108B9000EE0FFF1FEA5DFD4F6081718185E89CE06B -:108BA0000F94D80185E20E942F4E8AE00E942F4E3A -:108BB00068C380E50E94CCA7882309F462C360E003 -:108BC00070E080E50E94E790F82E6FEF7FEF83E57D -:108BD0000E94E7908C010196039708F052C3F7FCBE -:108BE00050C38F2D0E94574D882339F00F94F80100 -:108BF0008DE89CE00F94130144C30E948AA060E0BA -:108C00008F2D0E9423ED0F3FBFEF1B0731F0013086 -:108C1000110571F000E010E00DC08F2D0E94CBEC2B -:108C200031E020E0892B09F030E0032F122F02C041 -:108C300001E010E08F2D0E94CBEC8017910709F422 -:108C400020C380E00E945B4FF5CF8AE50E9415A803 -:108C5000811167C683E50E9415A8811162C611C300 -:108C600060E085E40E94F690811173C080E50E9467 -:108C7000CCA7882351F00E9495A76093B90B7093FD -:108C8000BA0B8093BB0B9093BC0B89E40E94CCA7DA -:108C9000882381F00E9495A72CEA35EC47E25EE339 -:108CA0000F9499156093BD0B7093BE0B8093BF0B0F -:108CB0009093C00B84E40E94CCA7882381F00E948B -:108CC00095A72CEA35EC47E25EE30F94171D6093FD -:108CD000C10B7093C20B8093C30B9093C40B0F9482 -:108CE000FC014091B90B5091BA0B6091BB0B709194 -:108CF000BC0B87EC9CE00F94C7012CEA35EC47E2F3 -:108D00005EE36091BD0B7091BE0B8091BF0B9091A3 -:108D1000C00B0F94171DAB01BC0183EC9CE00F94BA -:108D2000C7012CEA35EC47E25EE36091C10B70911C -:108D3000C20B8091C30B9091C40B0F949915AB019A -:108D4000BC018FEB9CE00F94C7018AE00E942F4E7C -:108D500098C20F94F8018DEA9CE00F94130191C220 -:108D600080E50E94CCA7882351F00E9495A76093CC -:108D7000140970931509809316099093170989E4D3 -:108D80000E94CCA7882381F00E9495A72CEA35EC9D -:108D900047E25EE30F9499156093180970931909DF -:108DA00080931A0990931B0984E40E94CCA788231E -:108DB00081F00E9495A72CEA35EC47E25EE30F9420 -:108DC000171D60931C0970931D0980931E099093D1 -:108DD0001F090F94FC0140911409509115096091ED -:108DE00016097091170983ED9CE00F94C7012CEAD6 -:108DF00035EC47E25EE360911809709119098091A2 -:108E00001A0990911B090F94171DAB01BC018FEC3F -:108E10009CE00F94C7012CEA35EC47E25EE36091D9 -:108E20001C0970911D0980911E0990911F090F94D2 -:108E30009915AB01BC018BEC9CE00F94C7018AE053 -:108E40000E942F4E1EC283E50E94CCA7182F8823B4 -:108E500071F00E9495A70F94891D70931A02609378 -:108E6000190221E0672B09F020E02093AD0B80E58B -:108E70000E94CCA7882359F02091190230911A0240 -:108E8000232B11F00E9481A78093AD0BFAC1111121 -:108E9000F8C10F94FC0183EF9CE00F9413018091C3 -:108EA000AD0B882319F08BED9CE002C087ED9CE0B0 -:108EB0000F9413016091190270911A0282EE9CE0E6 -:108EC0000F94D8018EED9CE00F941301DAC10E943B -:108ED00009B0D7C10E948AA0D4C180E00E94E19D60 -:108EE0000E94999D0E9433D9CCC18091B812887894 -:108EF00009F07CC58091BA12867009F077C5A6C5C5 -:108F00000E940291BEC16FEF7FEF89E40E94E7905B -:108F1000F82E6FEF7FEF8AE40E94E790E82E8AE553 -:108F20000E94CCA7182F811105C081E50E94CCA713 -:108F3000B82E01C0B12CF7FC06C0E7FC04C011112B -:108F400009C0B11007C00F94F8018DE59DE00F94A2 -:108F5000130197C1E4E0EF1510F0EE1538F40F940B -:108F6000F8018EE39DE00F9413018BC1CF2C0F2CE1 -:108F7000000CDD080E2D0E2C000C110B0E9495A785 -:108F8000BB2099F025E02C9DF0012D9DF00D1124C2 -:108F9000E00FF11FEE0FFF1FEE0FFF1FE45BFC4E13 -:108FA000208131814281538103C020E030E0A9015A -:108FB0000F941D1C9B01AC0185E08C9DF0018D9DE3 -:108FC000F00D1124E00FF11FEE0FFF1FEE0FFF1F3A -:108FD000E45BFC4E20833183428353836E2D8F2DBF -:108FE0000E94C4AE4EC10E94CF8281114AC10AE2E2 -:108FF0001EE223E437E13DA32CA3CE0101965C01E0 -:109000004FE7842E4EE2942E1C01F8016591759174 -:1090100085919491ACA1BDA1CD90DD90ED90FD9096 -:10902000BDA3ACA3A70196010F941C1C2B013C010E -:10903000F101608371838283938320E030E040EA12 -:1090400051EC0F947D1E87FD0AC020E030E040EA1D -:1090500051E4C301B2010F94331518162CF4F40136 -:10906000849118160CF416C5D101CD90DD90ED90C9 -:10907000FD901D0120E030E040EA51ECC701B6014F -:109080000F947D1E87FD0AC020E030E040EA51E4E5 -:10909000C701B6010F943315181664F40F94F80144 -:1090A0008BE99DE00F94130161E08DE89DE00E9443 -:1090B000ADE0E7C00C5F1F4FBFEF8B1A9B0AEEE2DB -:1090C00006331E0709F0A1CF39E3E32E39E0F32E72 -:1090D00010E0F50181919191A191B1915F01F701AA -:1090E00081939193A193B1937F01812F0E94C1D26B -:1090F0001F5F133071F70E9433D960E08DE79DE068 -:109100000E94ADE0BEC00E9483DABBC00E94E2F2C2 -:10911000B8C061E083E50E9422A891E089270E94FF -:10912000D9EFAFC081E080933B130E94A6E110927B -:109130003B13882309F4A5C00F94FC0189EB9DE043 -:109140000F9413019EC08091CE1682FF9AC0806258 -:109150008093CE1696C00E940AC493C00E94E1C3B9 -:10916000082F87FD8EC085E50E94CCA78823B1F12A -:10917000E02E002E000CFF080E9495A74B015C0119 -:1091800020E030E0A9010F947D1E87FF04C0B7FAEC -:10919000B094B7F8B094C70123E0880F991F2A95BF -:1091A000E1F79C012C5B3C4E7901D9018D929D9297 -:1091B000AD92BC92139720E030E04AEF53E4C50132 -:1091C000B4010F947D1E18164CF480E090E0AAEFD5 -:1091D000B3E4F70180839183A283B3838CE40E947C -:1091E000CCA7882309F44DC0002E000C110B0E945F -:1091F00095A76B017C0120E030E0A9010F947D1E52 -:1092000087FF04C0F7FAF094F7F8F09420E030E01C -:109210004AEF53E4C701B6010F947D1E980193E015 -:10922000220F331F9A95E1F7F901EC5BFC4E1816FB -:109230002CF0C482D582E682F78223C080E090E0E1 -:10924000AAEFB3E484839583A683B7831AC081E031 -:109250008093200210927F0B60E083E50E9422A899 -:1092600081110FC00E944CB70CC00E94A78209C098 -:109270008091BC12882329F00E940C6802C00E94D1 -:10928000A7822296FFAD2297F11102C00E9459C811 -:109290002CAD20937808CF5BDF4F0FB6F894DEBF7C -:1092A0000FBECDBFDF91CF911F910F91FF90EF9037 -:1092B000DF90CF90BF90AF909F908F907F906F90F6 -:1092C0005F904F903F902F9008950E948AA0309118 -:1092D0005B173CAB80E00E948DAC0E945CD681E0C5 -:1092E000809335090E9474DA88E50E94CCA7182F74 -:1092F00089E50E94CCA7082F8AE50E94CCA710130D -:10930000BDC1181711F0012FB9C101E011E091E0C2 -:109310009CA70E9453A782E50E9415A8882361F0AC -:109320000E9495A76B017C0120E030E0A9010F9419 -:109330003315882369F106C0C12CD12C90E8E92EA1 -:1093400090E4F92E111103C0002309F4FCC0C0926F -:109350001913D0921A13E0921B13F0921C13A70159 -:10936000960160914B1770914C1780914D17909119 -:109370004E170F94331587FF0BC019821A821B8278 -:109380001C82BE016F5F7F4F89E193E10E945ED72F -:10939000112309F4D3C0002309F4CDC0109247175C -:1093A000109248171092491710924A1710924317BB -:1093B0001092441710924517109246170E9407D832 -:1093C000EFE7FEE2A491A8AFE3E7FEE2C590D590F7 -:1093D000E590F490E7E7FEE285909590A590B49033 -:1093E000A5019401C701B6010F947D1E18162CF437 -:1093F000A7019601C501B40104C0A5019401C701EC -:10940000B6010F94171D2B013C01EAE3FEE28591A2 -:109410009591A591B4918CA39DA3AEA3BFA3E6E3C0 -:10942000FEE285919591A591B49188A799A7AAA7E5 -:10943000BBA79C01AD016CA17DA18EA19FA10F9442 -:109440007D1E181634F428A439A49AA598AB1BA540 -:1094500005C02CA03DA0AEA1A8AB1FA1A301920105 -:10946000C301B2010F94991520E030E040E85FE3BA -:109470000F941D1C0F94CB1E910148A9512F0F94DE -:10948000991568A379A38AA39BA3E0E8FEE214914F -:1094900020E030E040EC5FE3C501B4010F94991582 -:1094A0004B015C01612F110F770B880B990B0F9407 -:1094B0003A159B01AC01C501B4010F94991569835C -:1094C0007A838B839C8320E030E040EC5FE3C7012C -:1094D000B6010F9499156B017C01B8AD6B2FBB0FD2 -:1094E000770B880B990B0F943A159B01AC01C701C0 -:1094F000B6010F9499156C8F7D8F8E8F9F8FAE0163 -:10950000405E5F4FBE016F5F7F4FCE014C960E9461 -:109510003CD70E948DEE1092471710924817109278 -:10952000491710924A17109243171092441710923D -:1095300045171092461780E00E9409D8002319F0C1 -:1095400081E00E9409D8ECA5EE2309F489C080913E -:10955000BA138370833051F060E08DEC97E00E9485 -:10956000ADE00F94FC018EEB97E093C00E9407D80A -:1095700080914B1790914C17A0914D17B0914E17B9 -:109580008093191390931A13A0931B13B0931C1379 -:1095900020912E1330912F1340913013509131139D -:1095A00060E070E088E492E40F941C1C6B017C0185 -:1095B00060931113709312138093131390931413E9 -:1095C000209132133091331340913413509135135D -:1095D00060E070E088E492E40F941C1C4B015C0195 -:1095E00060931513709316138093171390931813A9 -:1095F00027E137EB41ED58EB0F947D1E87FD40C00E -:1096000023E030E04BE953E4C501B4010F94331576 -:109610001816B4F127E137EB41ED58EBC701B6015D -:109620000F947D1E87FD2CC023E030E84DE953E404 -:10963000C701B6010F943315181614F119821A8256 -:109640001B821C82AE014F5F5F4F65E173E181E1D8 -:1096500093E10E943CD782E00E9409D80E94999D24 -:109660000E9407D880913409809335098CA90E9403 -:109670008DAC0E9443D60E9433D903CE8CA749CE2D -:1096800060E08DEA97E00E94ADE00F94FC018BE969 -:1096900097E00F941301E2CF61E081E998E00E9426 -:1096A00037A88CE198E00E94C6D061E08FEA9EE284 -:1096B0000E9437A88DE098E00E9433FAB1100C9414 -:1096C000893E0C94823E80E00E945B4F0C94B53E34 -:1096D00088E50E94CCA781115F9889E50E94CCA7FC -:1096E00081118A988AE50E94CCA7882329F080916D -:1096F000080181708093060185E40E94CCA788232D -:1097000009F4BFCD1298BDCD0E945DA7AB01BC018D -:109710004093CA165093CB166093CC167093CD1617 -:1097200089E594E10E94C35FACCD61E0802F0E9487 -:1097300023ED6F2D802F0E94F4EC6F2D70E0802FB1 -:109740000E945FED47E0E41203C0F0929C0B99CDBC -:1097500089E0E81296CDF0929B0B93CD0E946DA705 -:1097600090E08536910514F084E690E08093EB124A -:1097700088CD0E94859E0C94E241A3019201C5010F -:10978000B4010F947D1E18163CF08CEF99E060E058 -:109790000E94ADE00C94024289E09AE0F8CF0E946A -:1097A00095A70F94891DCB010E9445A70E9495A7FC -:1097B00020E030E040EA50E40F947D1E181614F4C7 -:1097C0000E94859E6091110970911209072E000C6C -:1097D000880B990B0F943A1520910D0930910E09C1 -:1097E00040910F09509110090F947D1E18161CF41A -:1097F00081E49AE002C082E39AE060E00E94ADE07A -:10980000812F0E9434B83DCD0E948AA088E50E9435 -:10981000CCA7882331F05F9A8091BA138E7F809312 -:10982000BA1389E50E94CCA7882331F08A9A8091E7 -:10983000BA138D7F8093BA138AE50E94CCA7882340 -:1098400059F0809108018095817080930601809184 -:10985000BA138B7F8093BA1385E40E94CCA7882328 -:1098600009F40FCD0E94554D0CCD0E94CBA109CD1E -:1098700082E40E94CCA7882351F00E940FF96093E4 -:1098800058107093591080935A1090935B1083E591 -:109890000E94CCA7882351F00E9495A7609388105E -:1098A0007093891080938A1090938B1084E50E94A6 -:1098B000CCA7882351F00E9495A760938C107093D9 -:1098C0008D1080938E1090938F108AE40E94CCA705 -:1098D000882309F4D6CC0E9495A76B017C012AE06D -:1098E00037ED43E25CE30F947D1E87FD13C02AE948 -:1098F00039E949E95EE3C701B6010F94331518163B -:109900004CF0C092830BD092840BE092850BF092C6 -:10991000860BB7CC0F94F80186E69CE00F941301F8 -:10992000B0CC0E9495A720E030E040E050EC0F94CE -:10993000331587FD15C00E9495A720E030E040E078 -:1099400050E40F947D1E18162CF00E9495A76B0111 -:109950007C010BC0C12CD12CE12C10E4F12E05C0F0 -:10996000C12CD12CE12CB0ECFB2E20916410309155 -:1099700065104091661050916710C701B6010F94B1 -:1099800099150F94891DCB010E9482FC80E50E94ED -:10999000CCA7882329F00E9481A7882309F471CCE1 -:1099A000A701960160913613709137138091381397 -:1099B000909139130F941D1C6093361370933713D5 -:1099C00080933813909339130F94FC014091361310 -:1099D0005091371360913813709139138CE99CE0E2 -:1099E0000F94C7018AE00E942F4E4BCC88E40E945E -:1099F000CCA7882321F00E9481A78093760882E576 -:109A00000E94CCA7082F83E50E94CCA7182F011134 -:109A100002C0882351F0109207090E947C4D112347 -:109A200021F00E9481A780931B0284E40E94CCA7AE -:109A3000882309F426CC0E9495A760936302709353 -:109A4000640280936502909366021BCC0F94FC0124 -:109A50008DE29DE00F94130180911B02811117C0CC -:109A600086E09DE00F9413018AE00E942F4E409102 -:109A700063025091640260916502709166028DE00C -:109A80009DE00F94C7018AE00E942F4EFACB8AE036 -:109A90009DE0E8CFF7FAF094F7F8F094D101CD9279 -:109AA000DD92ED92FC921397DFCA129A0895FF920D -:109AB0000F931F93CF93DF931F92CDB7DEB7F82E8E -:109AC0000EED1DE041E050E0B801CE0101960F948B -:109AD0006D1489818F1102C081E007C00F5F1F4F95 -:109AE0008DE0073F180771F780E00F90DF91CF916D -:109AF0001F910F91FF9008958091630290916402ED -:109B0000A0916502B09166028093A5109093A61073 -:109B1000A093A710B093A810089580917E0881119A -:109B200007C00E94E2F2882319F081E080937E084A -:109B30000895EBE9FBE01082118208958F929F92C5 -:109B4000AF92BF92CF92DF92EF92FF920F93CF939B -:109B5000DF931F92CDB7DEB75C016B017A0149013B -:109B6000F501808191810F94631B8983002311F09B -:109B7000F6018083BE016F5F7F4FC4010E9424F90C -:109B8000F50180819181019691838083FFEFCF1A47 -:109B9000DF0A81E0E81AF10819F780E00F90DF9101 -:109BA000CF910F91FF90EF90DF90CF90BF90AF904B -:109BB0009F908F9008957F928F929F92AF92BF92C5 -:109BC000CF92DF92EF92FF920F931F93CF93DF9389 -:109BD0001F92CDB7DEB77C0159018B016B01C40E1A -:109BE000D51E0C151D0559F1F70180809180F801F3 -:109BF00071908F017982C4010F94631B781691F0E4 -:109C0000672DC4010F946B1BC4010F94631B9981D2 -:109C1000891741F00F94FC0184EC9DE00F9413012F -:109C200081E00EC0BE016F5F7F4FC5010E9424F925 -:109C3000F70180819181019691838083D2CF80E06A -:109C40000F90DF91CF911F910F91FF90EF90DF90D8 -:109C5000CF90BF90AF909F908F907F9008959091FC -:109C6000C00095FFFCCF8093C60008958F929F920D -:109C7000AF92BF92EF92FF920F931F93CF93DF9318 -:109C8000CDB7DEB7A0970FB6F894DEBF0FBECDBF3D -:109C9000611571058105910591F100E0842E912CEB -:109CA000A12CB12C102FEE24E394F12CEC0EFD1E10 -:109CB000E00EF11C07FDFA94A50194010F94891B95 -:109CC000F7016083B901CA010F5F61157105810554 -:109CD000910541F71F3F31F1E1E0F0E0EC0FFD1F8E -:109CE000E10FF11D17FDFA9580818A3010F097E39E -:109CF00001C090E3890F0E942F4E1150EBCF80E3FB -:109D0000A0960FB6F894DEBF0FBECDBFDF91CF9106 -:109D10001F910F91FF90EF90BF90AF909F908F9009 -:109D20000C942F4EA0960FB6F894DEBF0FBECDBF99 -:109D3000DF91CF911F910F91FF90EF90BF90AF9067 -:109D40009F908F900895CF92DF92EF92FF926B01D8 -:109D50007C0197FF0BC08DE20E942F4EF094E0949F -:109D6000D094C094C11CD11CE11CF11C4AE0C70175 -:109D7000B601FF90EF90DF90CF900C94364E8F920B -:109D80009F92AF92BF92CF92DF92EF92FF92CF93CA -:109D90006B017C01B42E20E030E0A9010F94331553 -:109DA00087FF07C08DE20E942F4EF7FAF094F7F874 -:109DB000F094C0E060E070E080E09FE3CB1541F0FC -:109DC0002DEC3CEC4CEC5DE30F949915CF5FF6CF96 -:109DD0009B01AC01C701B6010F941D1C6B017C01F6 -:109DE0000F94901D4B015C014AE00E94364ECC233B -:109DF00089F1C501B4010F9438159B01AC01C7016D -:109E0000B6010F941C1C6B017C018EE20E942F4E48 -:109E100020E030E040E251E4C701B6010F9499150B -:109E20004B015C010F94891D6B01770FEE08FF0851 -:109E3000C701B6010E94A34EC701B6010F943A159F -:109E40009B01AC01C501B4010F941C1C6B017C018A -:109E5000C150F1F6CF91FF90EF90DF90CF90BF907F -:109E6000AF909F908F9008958DE00E942F4E8AE0D2 -:109E70000C942F4ECF93DF93EC018991882319F036 -:109E80000E942F4EFACFDF91CF910C94344F8091E6 -:109E9000EC119091ED11981759F0E92FF0E0E45191 -:109EA000FE4E82819F5F9F779093ED1190E0089521 -:109EB0008FEF9FEF08952F923F924F925F926F9294 -:109EC0007F928F929F92AF92BF92CF92DF92EF924A -:109ED000FF920F931F93CF93DF93CDB7DEB72897F1 -:109EE0000FB6F894DEBF0FBECDBFE82E0E946D1BEB -:109EF0000E9481EE4B015C0180910002882359F1A0 -:109F000080917808882339F140917F08509180082A -:109F1000609181087091820895018401041B150BE2 -:109F2000260B370B37FD2AC0833079F03CF48130A3 -:109F300094F00F94FC0186E29EE00BC0843059F44B -:109F40000F94FC0187EF9DE004C00F94FC018FE0AB -:109F50009EE00F9413012091000230E0A8EEB3E0E0 -:109F60000F94DD1B860E971EA81EB91E80927F08D7 -:109F700090928008A0928108B092820880911B0282 -:109F8000882319F18091070981111FC08091CE1695 -:109F900082FD08C08091D311813021F08091CB0ADD -:109FA000882399F0F894649919C66091A51070916E -:109FB000A6108091A7109091A810789420E030E02E -:109FC000A9010F94331587FD99C58091C90A843082 -:109FD00008F07EC20E9481EE4B015C018091C90AAB -:109FE00081111DC08091EC119091ED11891B8F772B -:109FF000B1F48091E8089091E908A091EA08B09145 -:10A00000EB08A5019401281B390B4A0B5B0BDA0105 -:10A01000C901885E9340A109B109B7FFF0C570E698 -:10A02000F72E8091C90A843008F035C18091EC1177 -:10A030009091ED11891B8F7709F42DC10E94474F34 -:10A04000AC0197FDEECF20916E1230916F128A30E5 -:10A0500019F08D3009F0ECC01092E7082115310598 -:10A0600019F40E94FB83DDCFF901E957F74F108205 -:10A0700010926F1210926E1207E818E0F8018191A9 -:10A08000803211F48F01FACF8E3409F07AC00115B5 -:10A09000110509F476C068EA7FE0C8010F94B11495 -:10A0A0006C01892B41F06EE470E0C80104960F94B6 -:10A0B000701F009709F4C8014AE050E060E070E0CA -:10A0C00001960F94291260938308709384088093FB -:10A0D000850890938608409070125090711260909D -:10A0E0007212709073123FEF431A530A630A730A95 -:10A0F000641575058605970531F0CD2821F460E0DB -:10A1000085E79FE051C06AE270E0C8010F949F1F8D -:10A110009C01009709F1982F901BD12C992339F0BD -:10A120009150F801E90FF11D8081D826F7CF4AE060 -:10A1300050E060E070E0C90101960F9429124D2CA7 -:10A14000512C612C712C641575058605970541F01D -:10A1500060E086E59FE028C060E08CE29FE024C0DC -:10A160008091830890918408A0918508B091860819 -:10A170008093701290937112A0937212B093731225 -:10A1800016C08091CE1680FF12C064E271E1C80152 -:10A190000F94B114009729F0FC01838180538A3019 -:10A1A00030F460E082E09FE00E9468B774C0809164 -:10A1B000200281111CC067E470E0C8010F94701F79 -:10A1C0000097A9F04AE050E060E070E001960F943B -:10A1D0002912643071058105910548F48BE89EE0F1 -:10A1E0000F94130160E081E89EE00E94ADE0809250 -:10A1F000E8089092E908A092EA08B092EB088091F2 -:10A2000087088B3309F40DCF8091C90A843008F098 -:10A2100008CF80914509F89EC001112467E878E0D5 -:10A22000885B964F0F947B1F81E00E94AEC8F9CEE9 -:10A230002F3531050CF0F5CE8C35C1F40E94474F17 -:10A2400097FDEFCE2091E7082111EBCE20916E1201 -:10A2500030916F12A9014F5F5F4F50936F1240937F -:10A260006E12F901E957F74F8083DBCE8B3321F46F -:10A2700081E08093E708D5CE8091E7088111D1CEA7 -:10A28000C901019690936F1280936E12F901E957FC -:10A29000F74F4083C6CE8091CE1682FF19C18091C0 -:10A2A000C90A811102C01092ED08DD24D3944091B7 -:10A2B000CA165091CB166091CC167091CD16809134 -:10A2C000C6169091C716A091C816B091C916481726 -:10A2D00059076A077B0708F4D12C00E010E0CC2472 -:10A2E000C39440E6B42E54E6A52E69E6962E8091DE -:10A2F000C90A843008F0ECC0D110EAC08091ED08A2 -:10A300008111E6C08091611490916214A091631450 -:10A31000B09164148093CA169093CB16A093CC1678 -:10A32000B093CD1641E050E0BE016F5F7F4F89E5ED -:10A3300094E10E94A863019719F4898190E002C01A -:10A340008FEF9FEFF82E4090CA165090CB1660907A -:10A35000CC167090CD164091C6165091C7166091DC -:10A36000C8167091C916DD24D394441655066606A6 -:10A37000770608F4D12C4416550666067706B0F425 -:10A38000019609F461C02AE0F21609F46EC03DE0BE -:10A39000F31609F46AC043E2F41619F05AE3F51211 -:10A3A0007CC08091EC08811178C054C00E948AA0C2 -:10A3B00089E594E10E942F638091C516882339F1C5 -:10A3C00081508093C516989EC001112441E061E040 -:10A3D0008053954F0E94B85CE091C51664E0E69FFB -:10A3E000F0011124E453F54F408151816281738162 -:10A3F0004093CA165093CB166093CC167093CD162B -:10A4000089E594E10E94C35F0E946D5916C00E94C5 -:10A410005C590E94CBA10E94359F0E945DDF6D3385 -:10A4200071058105910518F483EB9FE002C088EB6C -:10A430009FE00E94F5C8A092EB128091CE1682FD9B -:10A440000DC08BEC9FE004C00F94F8018CEB9FE0F3 -:10A450000F94130173E2F71208C005C053E2F5121E -:10A46000DBC300E010E0C092ED081092EC0801158B -:10A47000110519F40E94FB830DC080914509B89E17 -:10A48000000D111D1124F801E85BF64F108280E0E9 -:10A490000E94AEC800E010E02ACF0F35110508F089 -:10A4A00026CF8BE3F81203C0C092EC0820CF809136 -:10A4B000EC0881111CCF80914509F801B89EE00D90 -:10A4C000F11D1124E85BF64FF0820F5F1F4F0FCF95 -:10A4D0000E9481EE4B015C0140917208509173081B -:10A4E00060917408709175084115510561057105F9 -:10A4F00029F18091B2139091B313A091B413B0914C -:10A50000B513840F951FA61FB71F95018401081B63 -:10A51000190B2A0B3B0B37FD11C00F94F80160910A -:10A52000810B7091820B8FED9FE00F94E5018AE023 -:10A530000E942F4E80E090E00E9433FA4091010289 -:10A54000509102026091030270910402411551057D -:10A550006105710509F44EC09091D0148091D11419 -:10A56000981759F00E9481EE6093B2137093B31361 -:10A570008093B4139093B5133DC08091CB0A8111A1 -:10A5800037C0E11035C08091B2139091B313A09100 -:10A59000B413B091B513840F951FA61FB71FA50163 -:10A5A0009401281B390B4A0B5B0B57FD21C080918E -:10A5B000FE0881111FC081E08093FE085F9A8091A0 -:10A5C000BA138E7F8093BA138A9A8091BA138D7FC3 -:10A5D0008093BA1380910801809581708093060161 -:10A5E0008091BA138B7F8093BA130E94554D02C09D -:10A5F0001092FE088091FA089091FB08A091FC0847 -:10A60000B091FD08B501A401481B590B6A0B7B0BE7 -:10A6100077FDBCC12091D0149091D1148091350266 -:10A6200010913602291317C060919B0B869FB001D1 -:10A630001124660F672F661F770B7195062F809187 -:10A640009C0B189FB0011124660F672F661F770BB4 -:10A650007195162F29C02091D11458E4259F90019F -:10A6600011242B53344FF901EA5BFF4F6081869F21 -:10A67000B0011124660F672F661F770B7195062FA7 -:10A6800031968081819FB0011124660F672F661F6C -:10A69000770B7195162F8091D1149091D014981743 -:10A6A00019F08F5F8F70F9CF002331F10E9481EE96 -:10A6B000C090F208D090F308E090F408F090F5080C -:10A6C000DC01CB01C114D104E104F10469F48C591B -:10A6D0009F4FAF4FBF4F8093F2089093F308A09322 -:10A6E000F408B093F50806C08C199D09AE09BF099E -:10A6F000B7FF0AC00FEF08C01092F2081092F308DB -:10A700001092F4081092F508602F70E089E00E9422 -:10A710005FED112331F10E9481EEC090F608D090D8 -:10A72000F708E090F808F090F908DC01CB01C114BB -:10A73000D104E104F10469F48C599F4FAF4FBF4F2E -:10A740008093F6089093F708A093F808B093F9085F -:10A7500006C08C199D09AE09BF09B7FF0AC01FEFDB -:10A7600008C01092F6081092F7081092F80810929C -:10A77000F908612F70E087E00E945FED80918C12F4 -:10A78000882309F4F6C0E0902C02F0902D0200918D -:10A790002E0210912F026091B60B7091B70B6E5F75 -:10A7A0007F4F072E000C880B990B0F943A159701D9 -:10A7B000A8010F94331587FDDCC03090D114212CF3 -:10A7C0001A821B821C828091D014831509F467C001 -:10A7D000832D90E068E4689FF001699FF00D1124DB -:10A7E000EB53F44F458956896789708D452B462B6D -:10A7F000472B89F4418D528D638D748D452B462BEB -:10A80000472B49F4458D568D678D70A1452B462BFE -:10A81000472B09F43FC078E4789F9001799F300D71 -:10A820001124C9018B53944F6C01FC016181728129 -:10A83000838194810F94CB1E2B013C01F60161A111 -:10A8400072A183A194A10F9438156D837E838F83A9 -:10A850009887F60165A176A187A190A50F94381578 -:10A860009B01AC016D817E818F8198850F94171DAE -:10A87000A30192010F9499153B016C01222D3A819D -:10A880004B815C810F947D1E181624F4262C7A824D -:10A89000CB82DC8281E0830D8F70382E94CF2091A3 -:10A8A0003002309131024091320250913302622DD8 -:10A8B0007A818B819C810F9499159701A8010F943F -:10A8C0001D1C3B016C012090280230902902409011 -:10A8D0002A0250902B029B01AC01B701C8010F94D2 -:10A8E0007D1E18166CF09101A201B301C6010F94F0 -:10A8F0007D1E18161CF47101820102C073018601CD -:10A900004090EE085090EF086090F0087090F108C9 -:10A910009701A801C301B2010F947D1E1816C4F45B -:10A9200020E037ED43EA5CE3B701C8010F949915C5 -:10A930006B017C0128E431EE4AE75FE3C301B20119 -:10A940000F949915A70196010F941D1C7B018C0192 -:10A95000C701D8018093EE089093EF08A093F00808 -:10A96000B093F108B701C8010F94891DCB010E9473 -:10A97000A6BFF4E68F0E911CA11CB11C8092FA08B0 -:10A980009092FB08A092FC08B092FD080E94FB8305 -:10A990008091D311813009F06EC00E9481EE6B016D -:10A9A0007C018091030990910409A0910509B0915F -:10A9B000060997018601081B190B2A0B3B0B37FD73 -:10A9C0003AC08090D4119090D511A090D611B0903B -:10A9D000D7110E945DDF6093D4117093D5118093DD -:10A9E000D6119093D711009128091091290920912F -:10A9F0002A0930912B09081919092A093B09DC0198 -:10AA0000CB01800F911FA21FB31F80932809909341 -:10AA10002909A0932A09B0932B09D701C601805FA9 -:10AA2000984DAF4FBF4F8093030990930409A093B3 -:10AA30000509B09306098091FF0890910009A09143 -:10AA40000109B0910209A7019601281B390B4A0B95 -:10AA50005B0B57FD10C030E8C30E3EEED31EE11C69 -:10AA6000F11CC092FF08D0920009E0920109F09217 -:10AA700002090E940F9F80916D08882391F00E9427 -:10AA800081EE0091690810916A0820916B0830915D -:10AA90006C08DC01CB01801B910BA20BB30BB7FF41 -:10AAA000BEC00E9481EE6B017C01209168082223C8 -:10AAB00009F4D3C08091640890916508A09166085C -:10AAC000B0916708B701A601481B590B6A0B7B0BB5 -:10AAD00077FDC3C030E0A8EEB3E00F94DD1BC60ED7 -:10AAE000D71EE81EF91EC0926408D0926508E09255 -:10AAF0006608F09267080E943559AFC011E01093C4 -:10AB000007098091CB0A811166C089E296E00E9414 -:10AB10003A4F84E08093CD1182E08093440881E035 -:10AB20009AE590935315809352158EE490E090939C -:10AB300055158093541587E08093461582E88093DD -:10AB4000491584E890E0A0E0B0E080934A15909326 -:10AB50004B15A0934C15B0934D150E948DF9109391 -:10AB6000D8110E945BA840E060E77EE08AE692E2AE -:10AB70000E9467A880E30E942F4E8AE00E942F4E19 -:10AB80000E944FA88091760860E0182719F08AE4A7 -:10AB900091E20DC08EE59EE00E9437A880E30E94FE -:10ABA0002F4E8AE00E942F4E60E088E39EE00E94D4 -:10ABB00037A88CE49EE00F94130180E30E942F4E8F -:10ABC0008AE00E942F4E112331F08EE39EE0909395 -:10ABD0004709809346090E948AA0F7C980916302C1 -:10ABE00090916402A0916502B09166028093A510D5 -:10ABF0009093A610A093A710B093A810D6C98DEA81 -:10AC00009FE00F9413018092E8089092E908A092C7 -:10AC1000EA08B092EB0803CA1092EC082BCC0E9411 -:10AC200081EE6B017C0120916D0830E0A8EEB3E06D -:10AC30000F94DD1BC60ED71EE81EF91EC0926908D0 -:10AC4000D0926A08E0926B08F0926C0880E00E9453 -:10AC5000C2B78AE00E942F4E24CF28960FB6F894F0 -:10AC6000DEBF0FBECDBFDF91CF911F910F91FF903F -:10AC7000EF90DF90CF90BF90AF909F908F907F909C -:10AC80006F905F904F903F902F9008951F920F927A -:10AC90000FB60F9211240F900FBE0F901F901895B2 -:10ACA0001F920F920FB60F9211240BB60F920F93B3 -:10ACB0001F932F933F934F935F936F937F938F9344 -:10ACC0009F93AF93BF93CF93DF93EF93FF93009145 -:10ACD000ED11D091EC1111E01D0F1F77C091C6004E -:10ACE00090917D08492F092E000C550B660B770BB0 -:10ACF0004131510508F064C0FA018827E256FF4F40 -:10AD00008F4F0D94141CCD3449F0CE34B9F481E04A -:10AD100006C0CA3338F0CD3409F043C082E08093D6 -:10AD20007D0876C0C03308F073C0C03209F470C02B -:10AD3000CD32B9F56DC0C13351F018F4C03289F588 -:10AD400067C0C43331F0C83361F58BE0E8CF83E0EE -:10AD5000E6CF88E0E4CFC03321F0C13311F586E0BF -:10AD6000DECF84E0DCCFC833E1F485E0D8CFC23356 -:10AD7000C1F487E0D4CFC133A1F489E0D0CFC03390 -:10AD800081F48AE0CCCFC73361F48CE0C8CFC633FE -:10AD900041F48DE0C4CFC032D9F1C33511F48EE057 -:10ADA000BECF80E1BCCF80ED8C0F8A3088F59FE06C -:10ADB00090937D0880937C082BC0CA3049F526C04B -:10ADC000CA3031F58091B415882301F1973089F0AC -:10ADD0003CF49530D9F4109214021092EA1216C085 -:10ADE0009A3059F09F3091F480917C080E9493A88A -:10ADF0000DC081E08093C71009C00E9421A20E946B -:10AE00008AA08EEF0E9499D70E9407D810927D08E1 -:10AE1000011731F0ED2FF0E0E451FE4EC283D12F47 -:10AE2000D093EC11FF91EF91DF91CF91BF91AF9152 -:10AE30009F918F917F916F915F914F913F912F9152 -:10AE40001F910F910F900BBE0F900FBE0F901F9090 -:10AE500018958EBD0DB407FEFDCF08958FEF8EBD02 -:10AE60000DB407FEFDCF8EB50895909164009B7FD1 -:10AE700090936400982F906A96959CBD80FD03C0C6 -:10AE800091E0863009F490E09DBD0895CF92DF9265 -:10AE9000EF92FF920F931F93CF93DF936C017A0190 -:10AEA0008B01C0E0D0E0CE15DF0581F0D8016D91B7 -:10AEB0008D01D601ED91FC910190F081E02DC6014C -:10AEC0001995892B11F02196EECF7E01C701DF91F4 -:10AED000CF911F910F91FF90EF90DF90CF90089549 -:10AEE000089580E090E00895FC01538D448D252F56 -:10AEF00030E0842F90E0821B930B541710F0CF9614 -:10AF0000089501970895FC01918D828D981761F045 -:10AF1000828DDF01A80FB11D5D968C91928D9F5F90 -:10AF20009F73928F90E008958FEF9FEF0895FC013B -:10AF3000918D828D981731F0828DE80FF11D858DEE -:10AF400090E008958FEF9FEF0895FC01918D228D81 -:10AF5000892F90E0805C9F4F821B91098F73992706 -:10AF600008958CEB93E10E94A55721E0892B09F409 -:10AF700020E0822F0895FC01848DDF01A80FB11D10 -:10AF8000A35ABF4F2C91848D90E001968F7399271F -:10AF9000848FA689B7892C93A089B1898C918370FD -:10AFA00080648C93938D848D981306C00288F389F6 -:10AFB000E02D80818F7D80830895EF92FF920F9323 -:10AFC0001F93CF93DF93EC0181E0888F9B8D8C8D55 -:10AFD000981305C0E889F989808185FD26C0F62E81 -:10AFE0000B8D10E00F5F1F4F0F731127E02E8C8D1C -:10AFF000E8120CC00FB607FCFACFE889F989808106 -:10B0000085FFF5CFCE010E94BB57F1CF8B8DFE019E -:10B01000E80FF11DE35AFF4FF0829FB7F8940B8FB2 -:10B02000EA89FB89808180620AC09FB7F894EE8923 -:10B03000FF896083E889F9898081837080648083D7 -:10B040009FBF81E090E0DF91CF911F910F91FF9022 -:10B05000EF900895CF93DF93EC01888D8823C9F09A -:10B06000EA89FB89808185FD05C0A889B9898C9111 -:10B0700086FD0FC00FB607FCF5CF808185FFF2CFAC -:10B08000A889B9898C9185FFEDCFCE010E94BB576D -:10B09000E7CFDF91CF91089580E090E0892B41F0D8 -:10B0A00080E090E0892B21F00E940000811121C0F6 -:10B0B00080E090E0892B41F080E090E0892B21F046 -:10B0C0000E940000811118C080E090E0892B21F0DF -:10B0D0000E94B157811113C080E090E0892BA1F04C -:10B0E00080E090E0892B81F00E94000081110AC06D -:10B0F00008950E940000DCCF0E940000E5CF0E946E -:10B100000000EACF0C9400000895FC0120E03EE22C -:10B11000DB014C91403241F0283011F430833196FC -:10B12000DB014C91408331962F5F6F5F7F4F2B3057 -:10B1300079F7108208950F942F1F0F931F93CF93C9 -:10B14000DF938B01EA01DB016D917C910E94C96064 -:10B15000D801ED91FC91119790818881992349F054 -:10B16000893638F43196ED93FC9388818F5F88831C -:10B17000EFCF893658F48FE28083F8018081918186 -:10B1800001969183808388818F5F8883DF91CF913F -:10B190001F910F9108951F920F920FB60F921124D5 -:10B1A0000BB60F922F933F934F935F936F937F93C1 -:10B1B0008F939F93AF93BF93EF93FF938CEB93E1A8 -:10B1C0000E94BB57FF91EF91BF91AF919F918F91DB -:10B1D0007F916F915F914F913F912F910F900BBE97 -:10B1E0000F900FBE0F901F9018951F920F920FB6E1 -:10B1F0000F9211240BB60F922F938F939F93EF937F -:10B20000FF93E091CC13F091CD138081E091D213A4 -:10B21000F091D31382FD12C090818091D5138F5F7E -:10B220008F732091D613821751F0E091D513F0E07F -:10B23000E454FC4E958F8093D51301C08081FF911B -:10B24000EF919F918F912F910F900BBE0F900FBE9A -:10B250000F901F9018958BE1E2EBF4E1A7E9B4E1C0 -:10B2600001900D928A95E1F708958091CE1682FFA4 -:10B270001FC084EA92E10F9413016091CA16709185 -:10B28000CB168091CC169091CD164AE00E94364E96 -:10B290008FE20E942F4E6091C6167091C716809162 -:10B2A000C8169091C9164AE00E94364E0C94344F4D -:10B2B00086EB92E10D9413011092CB0A8091CE1689 -:10B2C0008F7D8B7F8093CE160E943EB7882321F01E -:10B2D00089E594E10C942F6308958091CE1683FF45 -:10B2E00003C084608093CE160895CF92DF92EF92D0 -:10B2F000FF920F931F93CF93DF93CDB7DEB7EDB6D9 -:10B30000FEB6DC010D900020E9F79D01281B390BEA -:10B310002C5F3F4F4DB75EB7421B530B0FB6F894EF -:10B320005EBF0FBE4DBF0DB71EB70F5F1F4F9F9380 -:10B330008F9380EA91E19F938F931F930F930F94C4 -:10B34000CB14680154E0C50ED11C0F900F900F90E4 -:10B350000F900F900F90F6018081882349F0082EFE -:10B36000000C990B0F94341FF60181936F01F3CFFA -:10B37000C8010E94C3C88CE991E10E94F5C80FB6CC -:10B38000F894FEBE0FBEEDBEDF91CF911F910F91DD -:10B39000FF90EF90DF90CF9008958F929F92AF92A1 -:10B3A000BF92CF92DF92EF92FF92CF938091CE1611 -:10B3B000877F8093CE168091B514882321F082EB8D -:10B3C00094E10E942F63109296141092931485E3D7 -:10B3D000809392140E9481EE6B017C0120EDC20EDD -:10B3E00027E0D21EE11CF11CA89561E08091921427 -:10B3F0000E94F4EC61E0809192140E9423ED209A67 -:10B40000289A219A2398229A81E00E94355785E054 -:10B41000809394140E943557CAE08FEF0E942957F9 -:10B42000C150D9F7A89520E030E0A90160E082E999 -:10B4300094E10E940F6280939514813061F00E9424 -:10B4400081EEDC01CB018C199D09AE09BF09B7FD66 -:10B45000EACF81E062C0A8952AEA31E040E050E0FE -:10B4600068E082E994E10E940F62853011F481E086 -:10B470000AC0C4E00E942E5780939514C150D1F7A2 -:10B480008A3A61F482E080939614A895809196148C -:10B49000823081F0812C912C540111C00E9481EEE8 -:10B4A000DC01CB018C199D09AE09BF09B7FDD4CFD2 -:10B4B00082E033C0812C912CA12C80E4B82E20E0B6 -:10B4C00030E0A90167E382E994E10E940F62A501DF -:10B4D000940169E282E994E10E940F6280939514DD -:10B4E000882361F00E9481EEDC01CB018C199D095B -:10B4F000AE09BF09B7FDE3CF8AE00FC08091961473 -:10B50000823021F520E030E0A9016AE382E994E18C -:10B510000E940F62882361F088E08093931482E98F -:10B5200094E10E9407620F94FC018EE891E122C031 -:10B530000E942E57807C803C19F483E080939614FF -:10B540000E942E570E942E570E942E5782E994E1A6 -:10B550000E9407621092941481E00F940C048111F0 -:10B560000CC080E00F940C04811107C00F94F80107 -:10B570008AE791E10F9413011AC064E774E182EB4A -:10B5800094E10E945A60811105C00F94F80189E688 -:10B5900091E1F0CF8091CE1688608093CE160F9403 -:10B5A000FC018DE591E10F9413010E948D4DCF9127 -:10B5B000FF90EF90DF90CF90BF90AF909F908F90D3 -:10B5C0000C942B592F923F925F926F927F928F92A1 -:10B5D0009F92AF92BF92CF92DF92EF92FF920F9322 -:10B5E0001F93CF93DF93CDB7DEB7C356D1090FB604 -:10B5F000F894DEBF0FBECDBF8C016B014A012DB6A2 -:10B600003EB6512C7E0187E5E80EF11CF6018381E0 -:10B61000823008F41FC180859185A285B3858F7122 -:10B620009927AA27BB27892B8A2B8B2B09F012C1BC -:10B6300010926B194BE659E1BE016F5F7F4FC60157 -:10B640000E94C46418160CF005C18C85982F98715F -:10B65000903129F42091390B2150223078F429813E -:10B66000222309F4F7C0253E89F22E3279F2209187 -:10B670006B192E3259F28A7049F67CC06DB67EB6CF -:10B68000BE016F5F7F4FC7010E94855801151105EC -:10B6900021F0F8018081811163C021E081E090E018 -:10B6A000F70101900020E9F73197EE19FF09E80F43 -:10B6B000F91F32968DB79EB78E1B9F0B0FB6F8946D -:10B6C0009EBF0FBE8DBFEDB7FEB731965F01211152 -:10B6D00002C0B80102C063E876E0C5010F947B1F89 -:10B6E000B701C5010F94651F63E876E0C5010F94AB -:10B6F000651F19A21CA221E0A701B601CE01819607 -:10B700000E941B6781110DC08091390B811109C006 -:10B710000F94FC0189E491E10F941301C7010E9489 -:10B720003A4F8BE1FE01B196DE01DC9601900D925D -:10B730008A95E1F740E050E0BE01645C7F4FC501AF -:10B740000E94E25ACE01CC960E943863CE018196C7 -:10B750000E9438630FB6F8947EBE0FBE6DBE56CF02 -:10B76000F80101900020E9F73197CF01801B910B80 -:10B7700020E096CF21E0903109F020E08091CE16B4 -:10B7800020FB84F98093CE16903141F0898587346F -:10B7900009F03CCF8A858E3709F438CF8091390B78 -:10B7A000813021F068F08230C1F130CF80913C0BC4 -:10B7B00090913D0B019690933D0B80933C0B26CFCF -:10B7C000BE016F5F7F4F8DEA99E10E948558011598 -:10B7D000110529F48DEAA82E89E1B82E09C0580177 -:10B7E000F50181915F018823A9F30E942F4EF8CFC4 -:10B7F000F50181915F01882319F00E942F4EF8CF47 -:10B8000080E20E942F4E6D8D7E8D8F8D98A14AE033 -:10B810000E94364E0E94344FF9CEBE016F5F7F4FBB -:10B820008DEA99E10E9485588114910441F06DEAF6 -:10B8300079E1C4010F94521F892B51F40BC0852D5F -:10B8400090E020913A0B30913B0B8217930711F057 -:10B850005394DCCE0FB6F8943EBE0FBE2DBECD592C -:10B86000DF4F0FB6F894DEBF0FBECDBFDF91CF9193 -:10B870001F910F91FF90EF90DF90CF90BF90AF900E -:10B880009F908F907F906F905F903F902F90089542 -:10B89000CF93DF93CDB7DEB76B970FB6F894DEBFCB -:10B8A0000FBECDBF81E08093390B10923D0B1092FB -:10B8B0003C0B87E994E10E9402628BE1E7E9F4E145 -:10B8C000DE01119601900D928A95E1F740E050E07B -:10B8D000BE016F5F7F4F80E090E00E94E25ACE0190 -:10B8E00001960E94386380913C0B90913D0B6B96C2 -:10B8F0000FB6F894DEBF0FBECDBFDF91CF91089594 -:10B900000F931F93CF93DF93CDB7DEB76B970FB62F -:10B91000F894DEBF0FBECDBF8B0122E02093390B20 -:10B9200090933B0B80933A0B87E994E10E9402626B -:10B930008BE1E7E9F4E1DE01119601900D928A9521 -:10B94000E1F7A801BE016F5F7F4F80E090E00E94A9 -:10B95000E25ACE0101960E9438636B960FB6F894B6 -:10B96000DEBF0FBECDBFDF91CF911F910F91089524 -:10B97000DF92EF92FF920F931F93CF93DF9300D04C -:10B980001F92CDB7DEB72091CE1623FF3DC1F42E16 -:10B99000E62E8C010E943EB7882309F481C0FF2067 -:10B9A00009F48CC08091C516882351F00F94F801DA -:10B9B0008FE592E10F94130180E090E00E9433FA4A -:10B9C00081ED9AE09A8389838FE28093D00A81E0A7 -:10B9D0008B83F12C9BE1D92E8091C416F81678F454 -:10B9E000DF9CC0011124AE014D5F5F4FBE016F5F50 -:10B9F0007F4F8A549A4E0E949D58F394EDCF8B81CD -:10BA00008B3578F4AE014D5F5F4FBE016F5F7F4FA6 -:10BA100089E594E10E949D5889819A8101979A83D2 -:10BA20008983E981FA811082E091C51684E0E89F5C -:10BA3000F0011124E453F54F8091CA169091CB1672 -:10BA4000A091CC16B091CD1680839183A283B3834D -:10BA50000F94FC01B80186E492E10F94E501609136 -:10BA6000C51689E6689FB00111246053754F8BE3BA -:10BA700092E10F94E5014091CA165091CB16609166 -:10BA8000CC167091CD1685E392E10F94A9018AE05E -:10BA90000E942F4E8091C5168F5F8093C51626C0D9 -:10BAA000FF2039F00F94FC0185E292E10F9413011D -:10BAB0001DC01092C51682E0F82E02C0FF24F39438 -:10BAC0000F94FC0180E292E10F94130181E0F816DB -:10BAD00009F497C08CE092E10F941301B80188E15A -:10BAE00092E10F94E5018AE00E942F4E0E945C597A -:10BAF000B801CE0103960E949AFB8C01009709F4CD -:10BB000083C06B817C81EE2009F450C021E0AC0140 -:10BB100089E594E10E941B67882309F43FC0809166 -:10BB20006A1490916B14A0916C14B0916D14809371 -:10BB3000C6169093C716A093C816B093C916109254 -:10BB4000CA161092CB161092CC161092CD16B801D0 -:10BB50008EEF91E10F94E5014091C6165091C71602 -:10BB60006091C8167091C91686EF91E10F94A901F2 -:10BB70008AE00E942F4E87EE91E10F941301B801E5 -:10BB800080E090E00E94805C80916B19811102C07E -:10BB9000C80102C08BE699E160E030C0B80183EDD6 -:10BBA00091E10F94E50180ED91E10FC026E5AC0134 -:10BBB00089E594E10E941B6781110AC0B8018CEBF2 -:10BBC00091E10F94E50189EB91E10F9413011CC001 -:10BBD0008091CE1681608093CE16B80180E090E00F -:10BBE0000E94805C1092B415B80187EA91E10F942D -:10BBF000E5018AE00E942F4E60E0C8010E9408E142 -:10BC000003C082E192E168CF0F900F900F900F90E8 -:10BC1000DF91CF911F910F91FF90EF90DF900895EA -:10BC2000CF92DF92EF92FF92CF936B017C01C42FF2 -:10BC30008091601990916119A0916219B091631976 -:10BC40008C159D05AE05BF05D1F00E94BC62811127 -:10BC500002C080E018C020E637E1B701A60180915C -:10BC6000691990916A190E943E63882391F3C092EA -:10BC70006019D0926119E0926219F092631981E023 -:10BC8000C11180936819CF91FF90EF90DF90CF9012 -:10BC900008954F925F926F927F928F929F92AF9290 -:10BCA000BF92CF92DF92EF92FF920F931F93CF93A9 -:10BCB000DF93EC01423051056105710510F480E01D -:10BCC00069C089859A85AB85BC850196A11DB11D8A -:10BCD00084179507A607B70790F38F89803149F439 -:10BCE000852E962EA72EBB248B899C89AD89BE8973 -:10BCF0000FC0803221F78B889C88AD88BE88DB011D -:10BD0000CA01E7E0B695A79597958795EA95D1F78B -:10BD1000880E991EAA1EBB1E280139016A017B01EB -:10BD200041E0C501B4010E94105E882341F29F8961 -:10BD3000903161F4DD24EE24FF249601220F331F9D -:10BD4000F901E05AF84E5182408211C0E894C7F8D8 -:10BD5000DD24EE24FF249601220F331F220F331F10 -:10BD6000F901E05AF84E40825182628273829A89C8 -:10BD7000923080F04D815E816F817885840E951EB2 -:10BD8000A61EB71E8092641990926519A09266193A -:10BD9000B0926719DF91CF911F910F91FF90EF90B3 -:10BDA000DF90CF90BF90AF909F908F907F906F90DB -:10BDB0005F904F900895CF92DF92EF92FF920F9392 -:10BDC0001F93CF93DF93FC0181859285A385B48572 -:10BDD0000196A11DB11D84179507A607B70710F49A -:10BDE00080E061C08789803149F4BB27A72F962F57 -:10BDF000852FC388D488E588F6880FC0803281F704 -:10BE000083899489A589B6896A017B01C7E0F69484 -:10BE1000E794D794C794CA95D1F78C0D9D1DAE1D9C -:10BE2000BF1DE9016A017B018F01409160195091AA -:10BE30006119609162197091631984179507A607BB -:10BE4000B70739F040E0BC01CD010E94105E8823A5 -:10BE500039F2F8018789803179F4B701A6015527B5 -:10BE600066277727440F551FFA01E05AF84E808164 -:10BE70009181A0E0B0E012C0B701A6014F7755272D -:10BE800066277727440F551F440F551FFA01E05AC4 -:10BE9000F84E80819181A281B381BF70888399839C -:10BEA000AA83BB8381E0DF91CF911F910F91FF9017 -:10BEB000EF90DF90CF9008954F925F926F927F92B4 -:10BEC000AF92BF92CF92DF92EF92FF920F931F93A8 -:10BED000CF93DF9300D01F92CDB7DEB78C0149839B -:10BEE0005A836B837C835901C12CD12C7601412C60 -:10BEF00082E0582E612C712C49815A816B817C81A2 -:10BF00009E012F5F3F4FC8010E94DB5E882341F1F5 -:10BF1000D301C201F801058404C0880F991FAA1F2C -:10BF2000BB1F0A94D2F7C80ED91EEA1EFB1E498118 -:10BF30005A816B817C818789803139F481E0483F67 -:10BF40005F4F6105710538F4D7CF81E0483F5F4FFF -:10BF50006F4F7F4088F2F501C082D182E282F38286 -:10BF60000F900F900F900F90DF91CF911F910F9135 -:10BF7000FF90EF90DF90CF90BF90AF907F906F9049 -:10BF80005F904F9008958F929F92AF92BF92CF9201 -:10BF9000DF92EF92FF920F931F93CF93DF93EC0109 -:10BFA0008B81811102C080E078C009891A892B89B0 -:10BFB0003C890417150726073707A8F36A017B0198 -:10BFC000823029F4C886D986EA86FB860DC0C11462 -:10BFD000D104E104F10451F4188619861A861B86EF -:10BFE0001C821D821E821F8281E057C08884998432 -:10BFF000AA84BB84E98DFA8D258530E0275F3F4F09 -:10C00000B501A4014150510961097109022E04C012 -:10C0100076956795579547950A94D2F7D701C6014B -:10C020000197A109B10904C0B695A7959795879581 -:10C030002A95D2F784179507A607B70720F0892815 -:10C040008A288B2871F44D895E896F89788D4C839D -:10C050005D836E837F834C015D018E010C5F1F4FFA -:10C0600016C0841B950BA60BB70BF5CF4C815D81D9 -:10C070006E817F819801898D9A8D0E94DB5E91E0AF -:10C08000891A9108A108B108882309F48CCF81147A -:10C090009104A104B10451F795CFDF91CF911F9185 -:10C0A0000F91FF90EF90DF90CF90BF90AF909F9057 -:10C0B0008F9008950F931F93CF93DF93FC012381FB -:10C0C000222311F080E044C08B01EC01FB01878941 -:10C0D000803139F18032B1F783E08B83F801428DF2 -:10C0E000538D648D758D4D8B5E8B6F8B788F9E011C -:10C0F0002F5E3F4FC8010E945C5F882319F31A8F9F -:10C10000098F81E08983188619861A861B861C820E -:10C110001D821E821F82188A1C861D861E861F860F -:10C1200017C082E08B831D8A1E8A1F8A188EFB012E -:10C13000808D918DA0E0B0E025E0880F991FAA1FA7 -:10C14000BB1F2A95D1F7898B9A8BAB8BBC8BD7CF32 -:10C15000DF91CF911F910F910895CF93DF93EC0161 -:10C1600041E0611101C040E06C857D858E859F8531 -:10C170000E94105E882341F0888920E2829FC001DE -:10C180001124805A984E02C080E090E0DF91CF9158 -:10C190000895CF93DF93EB01FC012381211102C0AD -:10C1A00080E028C02250223020F48FE28883198258 -:10C1B00020C060E00E94AD60009791F3FC0190E028 -:10C1C00080E02EE23081303269F0883029F4DE01DF -:10C1D000A90FB11D2C939F5FDE01A90FB11D308106 -:10C1E0003C939F5F8F5F31968B3061F7C90FD11DF4 -:10C1F000188281E0DF91CF9108953F924F925F9234 -:10C200006F927F928F929F92AF92BF92CF92DF9266 -:10C21000EF92FF920F931F93CF93DF93CDB7DEB7CB -:10C220002C970FB6F894DEBF0FBECDBF5C01DC01CA -:10C2300059968D909C905A97F40181859285A3859B -:10C24000B4859C01AD012F5F3F4F4F4F5F4F298752 -:10C250003A874B875C87D5011496CD90DD90ED90A1 -:10C26000FC901797C114D104E104F10439F0BFEF39 -:10C27000CB1ADB0AEB0AFB0A312C07C0F401C080A1 -:10C28000D180E280F38033243394260137011D826C -:10C290001E821F821886F40181859285A385B4854C -:10C2A0002D813E814F815885281739074A075B0742 -:10C2B00008F064C089859A85AB85BC858C159D0581 -:10C2C000AE05BF0550F482E0C82ED12CE12CF12C34 -:10C2D00092E0492E512C612C712C9E012F5F3F4F13 -:10C2E000B701A601C4010E94DB5E882309F446C0A1 -:10C2F00089819A81AB81BC81892B8A2B8B2B41F060 -:10C30000260137019FEF491A590A690A790A05C0BF -:10C31000C414D504E604F70491F02D813E814F81C9 -:10C3200058852F5F3F4F4F4F5F4F2D833E834F8385 -:10C3300058873FEFC31AD30AE30AF30AACCF0FEFD3 -:10C340001FEF2FEF3FE0B301A201C4010E94495E3D -:10C35000F82E882399F0D50114964D915D916D9139 -:10C360007C911797411551056105710549F09301BD -:10C370008201C4010E94495E811102C0F12C29C0D2 -:10C38000D50114964D925D926D927C921797332051 -:10C3900051F0D301C2010196A11DB11DF4018083AA -:10C3A0009183A283B383F50185899689A789B08D8E -:10C3B000892B8A2B8B2B69F4D50155964D925D9272 -:10C3C0006D927C92589711968C9111978068119676 -:10C3D0008C938F2D2C960FB6F894DEBF0FBECDBF79 -:10C3E000DF91CF911F910F91FF90EF90DF90CF9051 -:10C3F000BF90AF909F908F907F906F905F904F9085 -:10C400003F90089540E050E0BA010C94C35F61E0B2 -:10C41000FC0180810E94F4EC8FEF0C942957EF927D -:10C42000FF921F93CF93DF9300D01F92CDB7DEB75B -:10C430007C01162F29833A834B835C83FC01828124 -:10C440000E94355760E0F70180810E94F4EC0E9461 -:10C45000E4FA812F80640E9429578C810E94295719 -:10C460008B810E9429578A810E94295789810E94C5 -:10C470002957112311F087E801C085E90E94295747 -:10C480001C3011F40E942E5710E00E942E57F70125 -:10C49000838387FF04C01F3F11F01F5FF6CF0F900B -:10C4A0000F900F900F90DF91CF911F91FF90EF9021 -:10C4B00008950F931F93CF93DF93EC0189018C8133 -:10C4C000833039F089E0440F551F661F771F8A9526 -:10C4D000D1F79A01AB0168E1CE010E940F62811190 -:10C4E00028C08EEF8EBDF801C8019E5F0DB407FE17 -:10C4F000FDCF20812EBD0DB407FEFDCF21812EBDC5 -:10C5000032968E179F0791F70DB407FEFDCF8FEF80 -:10C510000E9429578FEF0E9429570E942E578B8324 -:10C520008F71853041F083E18983CE010E940762DB -:10C5300019C086E016C00E94E4FA882379F020E052 -:10C5400030E0A9016DE0CE010E940F62811108C0A8 -:10C550000E942E57811104C011E005C087E101C07F -:10C5600086E1898310E0CE010E940762812FDF916E -:10C57000CF911F910F910895CF93809168198823CF -:10C58000B9F14091601950916119609162197091EF -:10C59000631920E637E18091691990916A190E9428 -:10C5A0005962C82F811102C0C0E023C040916419B4 -:10C5B000509165196091661970916719411551057F -:10C5C0006105710591F020E637E18091691990913C -:10C5D0006A190E945962882339F3109264191092E3 -:10C5E000651910926619109267191092681901C0A6 -:10C5F000C1E08C2FCF910895CF93DF93EC018B8115 -:10C60000882339F1898187FF20C061E0CE010E9433 -:10C61000AD60FC01892BE9F08081853ED1F08B81F2 -:10C62000823040F489899A89AB89BC89848F958F3F -:10C63000A68FB78F8D899E89AF89B88D938F828F92 -:10C64000B58BA48B89818F778983DF91CF910C94EF -:10C65000BC6281E0888380E0DF91CF910895CF9321 -:10C66000DF93EC010E94FC621B82DF91CF91089561 -:10C67000FC01238121110C942F630895CF92DF9246 -:10C68000EF92FF920F931F93CF93DF93EC018901F9 -:10C690008C81833039F089E0440F551F661F771F66 -:10C6A0008A95D1F79A01AB0161E1CE010E940F6238 -:10C6B000882339F084E08983CE010E94076280E0FC -:10C6C0003EC00E9481EE6B017C012CE2C20E21E093 -:10C6D000D21EE11CF11C0E942E578B838F3F61F408 -:10C6E0000E9481EEDC01CB018C199D09AE09BF09C6 -:10C6F000B7FDF1CF81E11DC08E3FD1F48FEF8EBD2C -:10C70000F801D801A150BE4F0DB407FEFDCF9EB574 -:10C7100091938EBDEA17FB07B9F70DB407FEFDCF65 -:10C720008EB58C930E942E570E942E5711E003C0A5 -:10C730008FE0898310E0CE010E940762812FDF9194 -:10C74000CF911F910F91FF90EF90DF90CF900895C0 -:10C750002F923F924F925F926F927F928F929F9211 -:10C76000AF92BF92CF92DF92EF92FF920F931F93FF -:10C77000CF93DF9300D01F92CDB7DEB79C838B831E -:10C780004B015A01DC0113968C91811103C08FEF8C -:10C790009FEFE3C0EB81FC81818180FFF8CFEB81CB -:10C7A000FC8181899289A389B489408551856285FC -:10C7B0007385841B950BA60BB70BA50160E070E099 -:10C7C00084179507A607B70708F45C0175018B81EC -:10C7D0009C8104969A838983612C42E0742EE11433 -:10C7E000F10409F48BC0AB81BC8118964D915D9129 -:10C7F0006D917C911B976A01B1E0DB22EB81FC819A -:10C800002381818D928D1A012B0139E05694479432 -:10C81000379427943A95D1F7223061F4FC01828D48 -:10C82000938DA48DB58DBC01CD01620D731D841D4A -:10C83000951D4AC0DC0114961C9111501221C1149F -:10C84000D10401F511111EC0452B462B472B59F47D -:10C85000EB81FC8185899689A789B08D8483958336 -:10C86000A683B7830FC0AB81BC8114964D915D91B7 -:10C870006D917C91179729813A810E94DB5E882314 -:10C8800009F485CFEB81FC81218D328D84819581E6 -:10C89000A681B7810297A109B109F901058404C0F5 -:10C8A000880F991FAA1FBB1F0A94D2F74685578588 -:10C8B00060897189840F951FA61FB71FBC01CD0128 -:10C8C000610F711D811D911D93012C193D09870177 -:10C8D0002E153F0508F489010115F2E01F0779F5CF -:10C8E000209160193091611940916219509163193A -:10C8F000621773078407950719F421C0C5012DC07D -:10C900009401AB01BC018091691990916A190E9450 -:10C910003E63882309F43BCF800E911EEB81FC819E -:10C9200080859185A285B385800F911FA11DB11DC2 -:10C9300080879187A287B387E01AF10A50CF40E041 -:10C940000E94105E882309F422CFB601605A784E07 -:10C95000A801C4010F94491FDFCF0F900F900F90D3 -:10C960000F90DF91CF911F910F91FF90EF90DF908B -:10C97000CF90BF90AF909F908F907F906F905F907F -:10C980004F903F902F900895DF92EF92FF920F9378 -:10C990001F93CF93DF938C01EB017A018DE0D82EAA -:10C9A00040E250E0BE01C8010E94A86380329105B8 -:10C9B00039F021E0892B09F420E0822F819544C0D1 -:10C9C00028812223C9F1253E11F02E3231F4E114E1 -:10C9D000F10431F3F7011082E3CFE114F10441F1E6 -:10C9E0003B853F733F3021F54A8D5B8D452B01F52B -:10C9F0002F713FEF320F3530D8F430E0215031093C -:10CA0000D29EC001D39E900D1124D701A80FB91F4B -:10CA1000FE0120E0AD01253088F431813D932F5F88 -:10CA200032962D30C1F7288126FF02C0FA01158603 -:10CA30002B8523FDB5CF08C080E006C02B3010F455 -:10CA40003481ECCF3681EACFDF91CF911F910F91E6 -:10CA5000FF90EF90DF9008954F925F926F927F92D8 -:10CA60009F92AF92BF92CF92DF92EF92FF920F937D -:10CA70001F93CF93DF931F92CDB7DEB78C017B015D -:10CA80005A01C22EDB0159968D919C915A97F8015B -:10CA9000928F818FCB010E940262912CF7018085D9 -:10CAA0009185A285B38541895289638974898417E8 -:10CAB0009507A607B70708F060C025E0B695A795CB -:10CAC000979587952A95D1F7F82FFF70DF2ED7011C -:10CAD00013968C91823008F460C041E050E0BE01B2 -:10CAE0006F5F7F4FC7010E94A863019719F4898186 -:10CAF00090E002C08FEF9FEF019609F44EC0F7015E -:10CB000080859185A285B3854F96A11DB11D808733 -:10CB10009187A287B387F0E2DF9EB0011124605AAB -:10CB2000784E61157105C9F1DB018C91882319F0EC -:10CB3000853EC1F46CC191100EC080916019909136 -:10CB40006119A0916219B0916319F80184879587E2 -:10CB5000A687B787D08ADB018C91882361F099245E -:10CB600093949CCF4BE050E0C5010F943C1F892B60 -:10CB700009F094CF14C0992493948C2D827482343C -:10CB800061F4992009F48BC0F801D08861E0C801F4 -:10CB90000E94AD60009709F00DC180E03BC1C7FC69 -:10CBA000FCCFF0E2DF9EA00111249A01205A384EFA -:10CBB000D9011B968C91817121F08C2D827109F025 -:10CBC0006AC08091601990916119A0916219B09129 -:10CBD0006319F80184879587A687B787D08ACA0129 -:10CBE000805A984E7C01DC0154964D915C9155978A -:10CBF00060E070E0DA0199278827858B968BA78BF8 -:10CC0000B08FF701428D538D60E070E0482B592BB7 -:10CC10006A2B7B2BD80155964D935D936D937C9336 -:10CC20005897F9018385887161F4F701848D958D9A -:10CC3000A68DB78DF801818B928BA38BB48B81E08D -:10CC400010C0803141F598012F5E3F4FD8015996B1 -:10CC50008D919C915A970E945C5F8823E1F084E05B -:10CC6000F80183838C2D8F70D80111968C931197C6 -:10CC7000F801148215821682178218961D921D9251 -:10CC80001D921C921B97C4FEB5C0C8010E9408FBF0 -:10CC90008111B0C082CFD80113961C927ECFD701EC -:10CCA00013968C911397823009F477CF51968D911A -:10CCB0009D910D90BC91A02D803E9F4FAF41B1053D -:10CCC00008F06BCFC7010E94FD60882309F465CF8F -:10CCD0000E94BC62882309F460CFD70159962D9138 -:10CCE0003C915A9714968D919D910D90BC91A02DD9 -:10CCF0000297A109B109F901058404C0880F991FA1 -:10CD0000AA1FBB1F0A94D2F7468457846088718893 -:10CD1000480E591E6A1E7B1E81E08093681940925E -:10CD2000601950926119609262197092631980E0E3 -:10CD300092E0E0E6F7E1DF019C011D9221503040D6 -:10CD4000E1F7DD24D394D7015996ED91FC915A97E0 -:10CD50008481D81698F420E637E1B301A2014D0D85 -:10CD6000511D611D711D8091691990916A190E9470 -:10CD70005962882309F411CFD394E5CF80E092E083 -:10CD8000A0E0B0E0058404C0880F991FAA1FBB1F54 -:10CD90000A94D2F7F7014189528963897489840F13 -:10CDA000951FA61FB71F818B928BA38BB48B80E638 -:10CDB00097E1D12C20E2DC011D922A95E9F72BE0C6 -:10CDC000F501DC0101900D922A95E1F721E238E2AC -:10CDD000FC01318B208B40E058E057874687338B2E -:10CDE000228B318F208F578B468B0E94BC62811122 -:10CDF000D8CED3CEC5FE09C0F801418952896389D6 -:10CE00007489C8010E94C35F05C081E003C091100E -:10CE1000A6CE93CE0F90DF91CF911F910F91FF90EF -:10CE2000EF90DF90CF90BF90AF909F907F906F90EA -:10CE30005F904F9008952F923F924F925F926F9222 -:10CE40007F928F929F92AF92BF92CF92DF92EF929A -:10CE5000FF920F931F93CF93DF93CDB7DEB7C254EA -:10CE6000D1090FB6F894DEBF0FBECDBF4C015B01F8 -:10CE70006A01322E19821C821C8E1F8E611571056B -:10CE800011F410E0A6C0FC0183818111FACFFA01F0 -:10CE900080818F3209F09BC0F501838182508230FE -:10CEA00010F485010CC0F501618D728DCE014C9698 -:10CEB0000E945A60882329F38E01045E1F4FC60129 -:10CEC0006C010196F60120812F32D1F3CE0101963B -:10CED0007C013C012E019CE1490E511C2396EFAED2 -:10CEE00023972F2C9BE09150E7E3F0E0EC0FFD1F20 -:10CEF000E90FF11D80E280839111F5CF960147E0A3 -:10CF0000D9018D91882369F18F3259F18E3239F42C -:10CF10004A3009F4B6CF98E04AE09D01F1CFE9ED3F -:10CF2000F2E12491222321F031968213FACFA9CF86 -:10CF3000491708F4A6CF813208F4A3CF8F3709F43C -:10CF4000A0CF21E0290FE7E3F0E0EC0FFD1FE90F90 -:10CF5000F11D9FE9980F9A3108F480528083922F37 -:10CF6000DCCF8FA9803209F48CCF6901F90180816F -:10CF70002F5F3F4F8F32C9F38823F9F021E0AE01D4 -:10CF8000495C5F4FB801C7010E942C65882309F4F2 -:10CF900078CF0A151B0519F0C8010E942F636E1483 -:10CFA0007F0441F023969FAD2397822D8701E92EC0 -:10CFB000F82E98CF942D852DF9CF232DAE01495C05 -:10CFC0005F4FB801C4010E942C65182F02C08B016D -:10CFD0007DCFCE014C960E943863CE0101960E940F -:10CFE0003863812FCE5BDF4F0FB6F894DEBF0FBEE4 -:10CFF000CDBFDF91CF911F910F91FF90EF90DF9008 -:10D00000CF90BF90AF909F908F907F906F905F90E8 -:10D010004F903F902F900895CF93C82F0F94FC010D -:10D0200084E50E942F4E6C2F70E080E090E00E941B -:10D03000A34E80E20E942F4E87EC92E1CF910D9497 -:10D0400013012F923F924F925F926F927F928F9235 -:10D050009F92AF92BF92CF92DF92EF92FF920F9387 -:10D060001F93CF93DF93CDB7DEB7C154D1090FB66D -:10D07000F894DEBF0FBECDBF2DB73EB73FA72EA79A -:10D080000E94CF8281114FC461E086E50E94F69034 -:10D090008D8B853018F085E894E179C03D89332384 -:10D0A00021F085E694E10F9413016AE080E50E9487 -:10D0B000F690182F8CEF810F8F3218F081E494E1F5 -:10D0C00066C060E085E40E9422A8811103C082E06E -:10D0D0008FA302C091E09FA3609143177091441702 -:10D0E00080914517909146176D837E838F83988733 -:10D0F000C0904717D0904817E0904917F0904A1712 -:10D10000C986DA86EB86FC8620912E1330912F1388 -:10D1100040913013509131130F941D1CAB01BC0191 -:10D1200088E50E94F2AF6D877E878F87988B29856F -:10D130003A854B855C8560913213709133138091F1 -:10D140003413909135130F941D1CAB01BC0189E57C -:10D150000E94F2AF698B7A8B8B8B9C8BBE016F5ECA -:10D160007F4FCE010D960E94B08F811103C089E2DE -:10D1700094E10DC08CE40E94CCA7082F882381F095 -:10D180000E946DA78E8B803128F086EF93E10F947B -:10D190001301C9C3AE89A13021F4B2E0BE8B01C036 -:10D1A0001E8A60E083E50E9422A88CAB882321F0D0 -:10D1B000011102C0E7E0EE8BFD89F33020F08CED29 -:10D1C00093E10F94130120915B172BAF80E00E9435 -:10D1D0008DAC0E945CD6812F90E09EAB8DABADB73D -:10D1E000BEB7E4E01E9FA019B10911240FB6F89450 -:10D1F000BEBF0FBEADBF2DB73EB72F5F3F4F3DA7A0 -:10D200002CA72D894FA1BE016F5E7F4FCE010D96D9 -:10D210000E94ABE89B01AC010F940F1F8111ECC27F -:10D220000E9481EE611571058105910511F00F9441 -:10D23000C41033EF3F8B8FE4888F93EC998F37ECDA -:10D24000232EA3EFAA8FBFE4BB8FE3ECEC8FF7E4B0 -:10D25000FD8F1EA233243394412C512C32014AA25B -:10D260005BA26CA27DA22E89822F90E0DC01119737 -:10D270002296BFAFAEAF2297FEA1EF2FF0E0FF8F57 -:10D28000EE8F2DA93EA9E217F3070CF0CDC23E891F -:10D29000332309F46EC10F9476102AE030E040E0A9 -:10D2A00050E00F94AB1B0F943A1520E030E040EAB9 -:10D2B00050E40F947D1E18161CF001E010E002C02F -:10D2C0000FEF1FEF0F94761028E631E040E050E0BA -:10D2D0000F94AB1B0F943A154B015C010F94761021 -:10D2E00021E230E040E050E00F94AB1B6B5F7F4FDA -:10D2F0008F4F9F4F0F943A1568A779A78AA79BA7CE -:10D300008D898430E1F448A559A56AA57BA58EECEA -:10D3100093E10F94C701B501A40186EC93E10F944A -:10D32000C70180EC93E10F9413010130110519F44A -:10D3300083E40E942F4E8CEB93E10F941301312C68 -:10D34000C801110FAA0BBB0B8FAB98AFA9AFBAAF37 -:10D35000832D90E02296AEADBFAD22978A179B0732 -:10D360000CF007C1BCA9BB2379F06FA978AD89ADDA -:10D370009AAD0F943A159B01AC010F941D1C20E04F -:10D3800030E040E952E41AC00F94761024E130E016 -:10D3900040E050E00F94AB1B675E7F4F8F4F9F4F75 -:10D3A0000F943A156B017C016FA978AD89AD9AADE8 -:10D3B0000F943A159B01AC01C701B6010F94991562 -:10D3C0009B01AC01C501B4010F941D1C4B015C0114 -:10D3D00020E030E044EB53E40F947D1E18164CF42B -:10D3E00020E030E044EB53E4C501B4010F941C1C71 -:10D3F000EDCF20E030E0A901C501B4010F94331551 -:10D4000087FF0BC020E030E044EB53E4C501B401DA -:10D410000F941D1C4B015C01ECCF2BED3FE049E468 -:10D4200050E4C501B4010F94991520E030E044E3C5 -:10D4300053E40F94171D6B017C010F94121D68AB10 -:10D4400079AB8AAB9BAB20912E1330912F13409177 -:10D450003013509131136D857E858F8598890F9497 -:10D460001C1C6CAF7DAF8EAF9FAF28A939A94AA90C -:10D470005BA968A579A58AA59BA50F9499159B0121 -:10D48000AC016CAD7DAD8EAD9FAD0F941D1C6D8359 -:10D490007E838F839887C701B6010F94BD1E68AB4A -:10D4A00079AB8AAB9BAB209132133091331340910F -:10D4B00034135091351369897A898B899C890F942B -:10D4C0001C1C6B017C0128A939A94AA95BA968A584 -:10D4D00079A58AA59BA50F9499159B01AC01C7015D -:10D4E000B6010F941D1C69877A878B879C874BE355 -:10D4F00051E060E070E0CE0105960E947E8346E335 -:10D5000051E060E070E0CE0109960E947E83ED89D3 -:10D51000E430F9F44D815E816F81788580EB93E191 -:10D520000F94C70149855A856B857C858DEA93E107 -:10D530000F94C70140914B1750914C1760914D17B4 -:10D5400070914E178AEA93E10F94C7018AE00E9416 -:10D550002F4E19821A821B821C82AE014F5F5F4FD1 -:10D56000BE01675F7F4FCE0105960E943CD7339482 -:10D57000EFCE20E04FA1BE016F5E7F4FCE010D9632 -:10D580000E94ABE8D62EE72EF82E192FEE8DFF8DD8 -:10D59000EE0FFF1FEE0FFF1F2CA53DA5E20FF31F9F -:10D5A000862F9E2DAF2DB12F80839183A283B383CD -:10D5B000312C2D2D3E2D4F2D512F6D2D7E2D8F2D4C -:10D5C000912F0F940F1F811102C0332433942D2DFE -:10D5D0003E2D4F2D512F6D2D7E2D8F2D912F0F9480 -:10D5E0000F1F811121C100E0412C512C3201ECA50B -:10D5F000FDA534E0039FE00DF11D11242081318150 -:10D6000042815381C301B2010F941D1C2B013C01C7 -:10D610000F5F8EA1801758F78E8C9F8C9FEF891A11 -:10D62000990A092C000CAA08BB08C501B4010F9483 -:10D630003A156E8F7F8F88A399A39B01AC01C3011C -:10D64000B2010F94171D6AA37BA38CA39DA32A8DFF -:10D650003B8D4C8D5D8D6D2D7E2D8F2D912F0F94DB -:10D66000331587FF04C0DA8EEB8EFC8E1D8F2F8959 -:10D67000388D498D522D6D2D7E2D8F2D912F0F942C -:10D680007D1E181624F4DF8AE88EF98E212EC12C17 -:10D69000412C512C3201ECA5FDA5A4E0CA9EE00D61 -:10D6A000F11D11242AA13BA14CA15DA160817181D2 -:10D6B000828193810F941C1C9B01AC010F949915DE -:10D6C0009B01AC01C301B2010F941D1C2B013C0155 -:10D6D000C394BEA1BC15F8F62E8D3F8D48A159A16B -:10D6E0000F94171D0F94CB1E2B013C018D89825086 -:10D6F0008E3708F07DC0C501B4010E94A34E6DA90C -:10D700007EA985EA93E10F94D80195E8A92E96E0C9 -:10D71000B92EF50181915F01882319F00E942F4EE7 -:10D72000F8CF43E06D2D7E2D8F2D912F0E94BF4E9F -:10D73000FD89F23009F459C00BE816E0D8018D914B -:10D740008D01882319F00E942F4EF8CF44E06AA182 -:10D750007BA18CA19DA10E94BF4E03E916E0F801B8 -:10D7600081918F01882319F00E942F4EF8CF46E057 -:10D77000C301B2010E94BF4E0CE916E0D8018D91A1 -:10D780008D01882319F00E942F4EF8CF43E06A8D57 -:10D790007B8D8C8D9D8D0E94BF4E03EA16E0F801B3 -:10D7A00081918F01882319F00E942F4EF8CF43E01A -:10D7B0006F89788D898D922D0E94BF4E0AEA16E0FE -:10D7C000D8018D918D01882319F00E942F4EF8CF3A -:10D7D0002A8D3B8D4C8D5D8D6F89788D898D922D35 -:10D7E0000F941C1C43E00E94BF4E8AE00E942F4E03 -:10D7F000BEA1BF5FBEA340CDE3EFEF8BFFE4F88F88 -:10D8000023EC298F87EC282E33EF3A8F8FE48B8F10 -:10D8100093EC9C8FA7E4AD8F312C412C512C32011D -:10D820004AA25BA26CA27DA280E00E94E19D33200F -:10D8300009F46AC08AE993E10F941301BD89BB23FF -:10D8400009F44DC003EB16E0F80181918F018823A4 -:10D8500019F00E942F4EF8CF46E06AA17BA18CA15F -:10D860009DA10E94BF4E0AEB16E0D8018D918D015B -:10D87000882319F00E942F4EF8CF43E06A8D7B8DEC -:10D880008C8D9D8D0E94BF4E01EC16E0F8018191B8 -:10D890008F01882319F00E942F4EF8CF43E06F8943 -:10D8A000788D898D922D0E94BF4E08EC16E0D8012C -:10D8B0008D918D01882319F00E942F4EF8CF2A8D6B -:10D8C0003B8D4C8D5D8D6F89788D898D922D0F9458 -:10D8D0001C1C43E00E94BF4E8AE00E942F4E01EDC7 -:10D8E00016E0F80181918F01882319F00E942F4ED4 -:10D8F000F8CF46E0C301B2010E94BF4E8AE00E9409 -:10D900002F4E8AE00E942F4E0E9443D68BAD0E947C -:10D910008DAC0E9433D92EA53FA50FB6F8943EBF1B -:10D920000FBE2DBF07C08EA59FA50FB6F8949EBF52 -:10D930000FBE8DBFAEA5BFA50FB6F894BEBF0FBE7C -:10D94000ADBFCF5BDF4F0FB6F894DEBF0FBECDBFCC -:10D95000DF91CF911F910F91FF90EF90DF90CF90CB -:10D96000BF90AF909F908F907F906F905F904F90FF -:10D970003F902F9008952F923F924F925F926F9217 -:10D980007F928F929F92AF92BF92CF92DF92EF924F -:10D99000FF920F931F93CF93DF93CDB7DEB7E59739 -:10D9A0000FB6F894DEBF0FBECDBF30905B1787E592 -:10D9B0000E94CCA7882309F4F9C08091401390916C -:10D9C0004113892B29F40F94F80188E893E134C0BE -:10D9D0008AE50E9415A8882379F00E9495A72091D6 -:10D9E0002A1330912B1340912C1350912D130F9427 -:10D9F0001C1C6B017C0108C0C0904B17D0904C17C9 -:10DA0000E0904D17F0904E1720E030E040E251ECEE -:10DA1000C701B6010F947D1E87FD0AC020E030E0EB -:10DA200040E251E4C701B6010F94331518163CF4D7 -:10DA30000F94F8018BE793E10F941301BFC040E00E -:10DA400050E060EC7FE788E50E94F2AF209122135E -:10DA50003091231340912413509125130F941C1CD3 -:10DA60002B013C0140E050E060EC7FE789E50E943B -:10DA7000F2AF209126133091271340912813509133 -:10DA800029130F941C1C4B015C016FEF89E40E9469 -:10DA9000F690182F6FEF8AE40E94F690082FA301EA -:10DAA0009201C301B2010F940F1F811158C0A5014B -:10DAB0009401C501B4010F940F1F811150C06091F2 -:10DAC000F8127091F912072E000C880B990B0F9425 -:10DAD0003A159B01AC01C301B2010F941C1C20E05C -:10DAE00030E0A9010F941D1C20E030E0A9010F9443 -:10DAF000171D0F94891D162F6091FA127091FB1259 -:10DB0000072E000C880B990B0F943A159B01AC0162 -:10DB1000C501B4010F941C1C20E030E0A9010F9452 -:10DB20001D1C20E030E0A9010F94171D0F94891DE2 -:10DB3000062F812F012E000C990B97FD04C005972D -:10DB40001CF014E001C010E0802F002E000C990B97 -:10DB500097FD04C005971CF004E001C000E01530FB -:10DB600068F5063058F580E00E948DAC25E0120281 -:10DB7000F0011124E00FF11D07FDFA95EE0FFF1FD4 -:10DB8000EE0FFF1FE45BFC4EC082D182E282F38283 -:10DB9000A7019601602F812F0E94C4AE832D0E94A1 -:10DBA0008DAC332059F00E9433D908C08AE40E941A -:10DBB000CCA7182F882321F00E94D3AC10E0D8C442 -:10DBC00060E070E086E50E94E7909A8F898F059764 -:10DBD00018F083E593E1A3C260E084E40E9422A8E8 -:10DBE000282E40E050E0BA018AE50E94F2AF6DA70E -:10DBF0007EA78FA798AB40E050E86BEB75E483E518 -:10DC00000E94F2AF20E030E040E752E40F94171D8D -:10DC100060935B0270935C0280935D0290935E025E -:10DC200088E40E94CCA7882309F40BC10E9495A721 -:10DC30000F94891D698B7A8B8B8B9C8B69887A8872 -:10DC400080902E1390902F13A0903013B09031132A -:10DC500020E030E0A901C501B4010F941D1CD62EAF -:10DC6000E72EF82E092F20E030E040EA50E40F9430 -:10DC7000331587FF05C0D12CE12CF0EAFF2E00E41C -:10DC800069897A8977FE02C06F5F7F4F75956795C6 -:10DC900088279927861B970B9E8B8D8BBC0163561B -:10DCA0007F4F072E000C880B990B0F943A15562EB8 -:10DCB000672E782EC92E2D2D3E2D4F2D502F0F94CF -:10DCC0007D1E18161CF4D52C73010C2D6D2D7E2D88 -:10DCD0008F2D902F0F94891D6B017C012B0120E06B -:10DCE00030E84DE953E4C501B4010F941D1C962E94 -:10DCF000A72EB82E092F20E030E84AE953E40F940C -:10DD00007D1E181634F4912C60E8A62E7AE9B72E01 -:10DD100003E469897A896C0D7D1D072E000C880B40 -:10DD2000990B0F943A156B017C01292D3A2D4B2D3F -:10DD3000502F0F94331587FF04C09C2CAD2CBE2CA4 -:10DD40000F2D692D7A2D8B2D902F0F94891D788F93 -:10DD50006F8B8090321390903313A0903413B09057 -:10DD6000351320E030E0A901C501B4010F941D1C5A -:10DD7000D62EE72EF82E092F20E030E040EA50E4BE -:10DD80000F94331587FF05C0D12CE12C50EAF52EF6 -:10DD900000E46D897E8965567F4F072E000C880B45 -:10DDA000990B0F943A156D8B672E782EC92E2D2D59 -:10DDB0003E2D4F2D502F0F947D1E18161CF4DD881C -:10DDC00073010C2D6D2D7E2D8F2D902F0F94891D9D -:10DDD0006B017C013B0120E030E04BE953E4C501DD -:10DDE000B4010F941D1C962EA72EB82E092F20E0EB -:10DDF00030E848E953E40F947D1E181634F4912C52 -:10DE000030E8A32E48E9B42E03E469897A896C0DC1 -:10DE10007D1D072E000C880B990B0F943A156B0192 -:10DE20007C01292D3A2D4B2D502F0F94331587FF50 -:10DE300004C09C2CAD2CBE2C0F2D692D7A2D8B2D62 -:10DE400021C18CE40E9415A8882369F00E9495A73F -:10DE500020912213309123134091241350912513C4 -:10DE60000F941C1C2CC020E030E0A90160912E13FF -:10DE700070912F1380913013909131130F941D1CCA -:10DE80006B017C0120E030E040EA50E40F94331550 -:10DE900087FD0DC020E030E0A901C701B6010F9455 -:10DEA000331587FF0AC0C12CD12C760106C0C12CC6 -:10DEB000D12C20EAE22E20E4F22EC701B6010F9405 -:10DEC000891D2B0182E50E9415A8882369F00E9414 -:10DED00095A7209122133091231340912413509140 -:10DEE00025130F941C1C3CC020E030E84DE953E49E -:10DEF00060912E1370912F138091301390913113F4 -:10DF00000F941D1CD62EE72EF82E092F20E030E8A6 -:10DF10004AE953E40F947D1E181634F4D12C80E89E -:10DF2000E82E9AE9F92E03E4B201655C7E4F072ED4 -:10DF3000000C880B990B0F943A15962EA72EB82E2D -:10DF4000C92E2D2D3E2D4F2D502F0F94331587FFA9 -:10DF500003C0D92C75010C2D6D2D7E2D8F2D902F8A -:10DF60000F94891D788F6F8B86E40E9415A88823F3 -:10DF700069F00E9495A720912613309127134091B4 -:10DF80002813509129130F941C1C2CC020E030E062 -:10DF9000A9016091321370913313809134139091E1 -:10DFA00035130F941D1C6B017C0120E030E040EA2A -:10DFB00050E40F94331587FD0DC020E030E0A90137 -:10DFC000C701B6010F94331587FF0AC0C12CD12CAD -:10DFD000760106C0C12CD12C00EAE02E00E4F02E20 -:10DFE000C701B6010F94891D3B0182E40E9415A868 -:10DFF000882369F00E9495A720912613309127135A -:10E0000040912813509129130F941C1C3CC020E010 -:10E0100030E04BE953E460913213709133138091F7 -:10E020003413909135130F941D1CD62EE72EF82E25 -:10E03000092F20E030E848E953E40F947D1E1816BC -:10E0400034F4D12CA0E8EA2EB8E9FB2E03E4B301A6 -:10E050006A5C7E4F072E000C880B990B0F943A15C3 -:10E06000962EA72EB82EC92E2D2D3E2D4F2D502F7A -:10E070000F94331587FF03C0D92C75010C2D6D2D1E -:10E080007E2D8F2D902F0F94891D7B01B301072CBE -:10E09000000C880B990B0F943A156C8F7D8F8E8F27 -:10E0A0009F8F69837A838B839C83B201052C000C3C -:10E0B000880B990B0F943A1568A379A38AA39BA3A5 -:10E0C0006D837E838F839887BE016F5F7F4FCE0104 -:10E0D00005960E94B08F882301F1B7010F2C000C28 -:10E0E000880B990B0F943A1569877A878B879C87E1 -:10E0F000AF89B88DBD01BB0F880B990B0F943A15F2 -:10E100006D877E878F87988BBE01675F7F4FCE01BB -:10E110000D960E94B08F813029F087E393E10F9430 -:10E12000130126C2298D3A8D232B69F081E293E1F8 -:10E130000F941301222021F087E193E10F94130142 -:10E140008AE00E942F4E0E948AA080E00E948DAC3F -:10E1500081E00E94E19D882321F0832D0E948DACF7 -:10E160002DCD0F89188D0419150917FF02C00D5FF9 -:10E170001F4F1595079515950795B801012E000CB1 -:10E18000880B990B0F943A156CA37DA38EA39FA3C4 -:10E19000E618F708F7FE03C033E0E30EF11C570161 -:10E1A000B594A794B594A794B5010B2C000C880BDB -:10E1B000990B0F943A1568A779A78AA79BA70E9485 -:10E1C0005CD66091401370914113072E000C880BB0 -:10E1D000990B0F943A159B01AC016CA17DA18EA106 -:10E1E0009FA10F943315811122C060914213709149 -:10E1F0004313072E000C880B990B0F943A159B01C3 -:10E20000AC0168A579A58AA59BA50F94331581114A -:10E210000EC08091F8129091F9124816590639F4FF -:10E220008091FA129091FB126816790699F00E947B -:10E23000D3AC1093411300934013B0924313A092B8 -:10E2400042135092F9124092F8127092FB126092AF -:10E25000FA12312C60E085E40E9422A8882319F08C -:10E2600061E06CA702C082E08CA791E09B8FE12C5B -:10E27000F12C812C912C5401A1E0A98BB1E0BD8B34 -:10E2800025E02F8B10E07AEEC72E72E1D72EE9AA97 -:10E29000A989B1E0AB27A98B0B8DC7010F2C000C0E -:10E2A000AA0BBB0B8AAB9BABACABBDAB9F899117E9 -:10E2B00009F4BEC0612F012E000C770B880B990B5F -:10E2C0000F943A152CA13DA14EA15FA10F94991571 -:10E2D00028A139A14AA15BA10F941D1C2B013C016F -:10E2E0006AA97BA98CA99DA90F943A1528A539A5DF -:10E2F0004AA55BA50F9499152C8D3D8D4E8D5F8D94 -:10E300000F941D1C4B015C0120E030E0A901C3010A -:10E31000B2010F94331587FF04C020E030E0A9015B -:10E3200004C020E030E040E05FE3C301B2010F949D -:10E330001D1C0F94BF1D69837A838B839C8320E00F -:10E3400030E0A901C501B4010F94331587FF04C063 -:10E3500020E030E0A90104C020E030E040E05FE3CD -:10E36000C501B4010F941D1C0F94BF1D6D837E83E6 -:10E370008F839887A98DBA8DAB2B81F0602F70E0C9 -:10E3800083E093E10F94D80169E170E081E093E1CB -:10E390000F94D8018EEF92E10F9413011F92B9E10F -:10E3A000BF931F920F93DF92CF921F920E94B5826C -:10E3B000298D4CA5BE016B5F7F4FCE0101960E9457 -:10E3C000ABE84B015C010FB6F894DEBF0FBECDBFCA -:10E3D0009B01AC010F940F1F882321F0832D0E9415 -:10E3E0008DAC33C0A50194016DA57EA58FA598A91C -:10E3F0000F941D1C9B01AC0165E01603F001112474 -:10E40000EE0DFF1DEE0FFF1FEE0FFF1FE45BFC4E36 -:10E41000208331834283538369A9812F0E94C4AE34 -:10E4200080E00E945B4F0F5F8D89180F312C3ECF2B -:10E4300094E0E916F10449F0A5019401C501B40185 -:10E440000F940F1F882309F47EC00E9431E180E001 -:10E450000E94E19D882351F0832D0E948DAC812C78 -:10E46000912C90ECA92E9FE7B92E52C0A5019401E2 -:10E47000C501B4010F940F1F81114AC0222001F180 -:10E480000F9422010E94CFFE21103FC083E497E148 -:10E490000E94B6FC9B01AC0160914B1770914C1728 -:10E4A00080914D1790914E170F941C1C60934B1741 -:10E4B00070934C1780934D1790934E1781E026C0B0 -:10E4C00012E084E0F82E02E0EF2CE11ADF2CD01AE3 -:10E4D00021E041E0602F812F0E943CFF21E04FEFBF -:10E4E000602F8E2D0E943CFF2FEF41E06D2D812F7C -:10E4F0000E943CFF2FEF4FEF6D2D8E2D0E943CFFB1 -:10E50000015020F71150F8F6BBCF832D80935B1795 -:10E510000E9443D680915B1781110E9407D80E9408 -:10E52000999D0E948AA089EE92E10E94C6D00E9425 -:10E5300033D911E0A5019401C501B4010F940F1F57 -:10E54000811116C03BCBA989AA2361F031E03D8B34 -:10E5500065E06F8B10E08FEFE81AF80A9B8D9B5FE8 -:10E560009B8F95CEBFEFBD8B2FEF2F8B14E0F3CF9A -:10E57000812FE5960FB6F894DEBF0FBECDBFDF91B9 -:10E58000CF911F910F91FF90EF90DF90CF90BF90B0 -:10E59000AF909F908F907F906F905F904F903F9043 -:10E5A0002F9008952F923F924F925F926F927F9299 -:10E5B0008F929F92AF92BF92CF92DF92EF92FF9293 -:10E5C0000F931F93CF93DF93CDB7DEB7CD58D1090B -:10E5D0000FB6F894DEBF0FBECDBF5B016A01190113 -:10E5E000E996FFAEEEAEE99720915C1030915D1098 -:10E5F00040915E1050915F10DC016D917D918D9185 -:10E600009C910F9499150F948A1E2B013C0125961D -:10E610006CAF7DAF8EAF9FAF25972091601030918A -:10E6200061104091621050916310F5016081718119 -:10E63000828193810F9499150F948A1E4B015C017E -:10E6400029966CAF7DAF8EAF9FAF29972091641054 -:10E65000309165104091661050916710D6016D9110 -:10E660007D918D919C910F9499150F948A1E6B0149 -:10E670007C012D966CAF7DAF8EAF9FAF2D97209113 -:10E6800068103091691040916A1050916B10F1013F -:10E6900060817181828193810F9499150F948A1EF4 -:10E6A00067966CAF7DAF8EAF9FAF679761966CAF8B -:10E6B0007DAF8EAF9FAF61978091471083FF0EC0F3 -:10E6C00067962CAD3DAD4EAD5FAD67972093F214CC -:10E6D0003093F3144093F4145093F5148091451043 -:10E6E00090914610892B11F00C94C280D801BC91F6 -:10E6F000A896BFAFA897F801F181AC96FFAFAC9791 -:10E70000D8011296BC91E096BFAFE097F801038163 -:10E710008091D0149091D114891B8F708F3021F487 -:10E7200080E00E945B4FF4CFF091D014C557DF4FCB -:10E73000F883CB58D0408091D014282E312C809172 -:10E74000E6149091E714A091E814B091E914481AE6 -:10E75000590A6A0A7B0A8091EA149091EB14A091FD -:10E76000EC14B091ED14A5019401281B390B4A0B50 -:10E770005B0B6B962CAF3DAF4EAF5FAF6B9780914D -:10E78000EE149091EF14A091F014B091F114A70140 -:10E790009601281B390B4A0B5B0B6F962CAF3DAFD4 -:10E7A0004EAF5FAF6F978091F2149091F314A091E8 -:10E7B000F414B091F5146796CCACDDACEEACFFACC4 -:10E7C0006797C81AD90AEA0AFB0A09F472C080914D -:10E7D000AD0B811128C06091B20B7091B30B809189 -:10E7E000B40B9091B50B0F94891D209119023091B3 -:10E7F0001A0262177307BCF467968CAD9DADAEAD7F -:10E80000BFAD67978093F2149093F314A093F41420 -:10E81000B093F5140F94FC0182E095E10F9413017D -:10E82000C12CD12C7601C701B6010F943A15209165 -:10E8300015023091160240911702509118020F9460 -:10E8400099154B015C0120E030E0A9010F947D1E79 -:10E8500087FF04C0B7FAB094B7F8B09420E030E076 -:10E860004AEF53E4609168107091691080916A10CA -:10E8700090916B100F949915A50194010F94331585 -:10E8800087FF17C067962CAD3DAD4EAD5FAD679766 -:10E890002093F2143093F3144093F4145093F5142E -:10E8A0000F94FC0183EE94E10F941301C12CD12C41 -:10E8B0007601D301C2018827B7FD83959927AA273E -:10E8C000BB27182F6B962CAD3DAD4EAD5FAD6B9752 -:10E8D00057FD12606F968CAD9DADAEADBFAD6F971D -:10E8E000B7FD1460F7FC1860C701B6010F943A1524 -:10E8F0002091150230911602409117025091180292 -:10E900000F9499156B017C0120E030E0A9010F9470 -:10E910007D1E87FF04C0C701B601905802C0C70121 -:10E92000B60120E030E040E05FE30F941D1C0F943F -:10E93000901DE7966CAF7DAF8EAF9FAFE79788E4F1 -:10E94000829DF001839DF00D1124EB53F44F108252 -:10E9500015AB5301420177FE07C088249924540166 -:10E9600084189508A608B70888E4829DF001839D65 -:10E97000F00D1124EB53F44F858A968AA78AB08E46 -:10E980006B962CAD3DAD4EAD5FAD6B9767962CAFE2 -:10E990003DAF4EAF5FAF679757FF0DC050954095A5 -:10E9A000309521953F4F4F4F5F4F67962CAF3DAF4E -:10E9B0004EAF5FAF679788E4829DF001839DF00DB5 -:10E9C0001124EB53F44F67968CAD9DADAEADBFAD4A -:10E9D0006797818F928FA38FB48F6F962CAD3DADCB -:10E9E0004EAD5FAD6F97A3962CAF3DAF4EAF5FAF0F -:10E9F000A39757FF0DC050954095309521953F4FF7 -:10EA00004F4F5F4FA3962CAF3DAF4EAF5FAFA39775 -:10EA100088E4829DF001839DF00D1124EB53F44FA7 -:10EA2000A3968CAD9DADAEADBFADA397858F968FF0 -:10EA3000A78FB0A3C301B2010F943A1520919D0B8B -:10EA400030919E0B40919F0B5091A00B0F94991504 -:10EA5000A7966CAF7DAF8EAF9FAFA79769AB7AAB30 -:10EA60008BAB9CAB6B966CAD7DAD8EAD9FAD6B975C -:10EA70000F943A152091A10B3091A20B4091A30B5A -:10EA80005091A40B0F9499152B013C016DAB7EABFB -:10EA90008FAB98AF6F966CAD7DAD8EAD9FAD6F9720 -:10EAA0000F943A152091A50B3091A60B4091A70B1E -:10EAB0005091A80B0F9499156B966CAF7DAF8EAFEC -:10EAC0009FAF6B9769AF7AAF8BAF9CAF2091A90BCB -:10EAD0003091AA0B4091AB0B5091AC0BC701B60122 -:10EAE0000F9499156B017C0121966CAF7DAF8EAFB1 -:10EAF0009FAF219796E089169104A104B1041CF5FB -:10EB000067962CAD3DAD4EAD5FAD679726303105B4 -:10EB100041055105C4F4A3968CAD9DADAEADBFAD1E -:10EB2000A3970697A105B10574F420E030E0A90190 -:10EB3000C701B6010F947D1E87FF16C0F7FAF09447 -:10EB4000F7F8F09411C0E996AEADBFADE997CD905E -:10EB5000DD90ED90FC9020E030E0A901C701B60106 -:10EB60000F943315882369F088E4829DF001839D1A -:10EB7000F00D1124EB53F44FC586D686E786F08A54 -:10EB800038C0A7962CAD3DAD4EAD5FADA797CA017D -:10EB9000B9010F9499156B017C01A3019201C30186 -:10EBA000B2010F9499159B01AC01C701B6010F94F6 -:10EBB0001D1C6B017C016B962CAD3DAD4EAD5FAD68 -:10EBC0006B97CA01B9010F9499159B01AC01C7015C -:10EBD000B6010F941D1C0F94CB1E28E4229DF0015A -:10EBE000239DF00D1124EB53F44F658776878787BB -:10EBF000908B88E4829DF001839DF00D1124EB53EE -:10EC0000F44FE7962CAD3DAD4EAD5FADE79721A338 -:10EC100032A343A354A3582D492D3A2D2B2D67968B -:10EC20008CAD9DADAEADBFAD679788169906AA06AF -:10EC3000BB0660F464965FAD649765964FAD6597CB -:10EC400066963FAD669767962FAD6797852F942F91 -:10EC5000A32FB22FA3962CAD3DAD4EAD5FADA397C4 -:10EC600082179307A407B50710F4DA01C901E796E4 -:10EC70002CAD3DAD4EAD5FADE79782179307A4076E -:10EC8000B50710F4DA01C90128E4229DF001239DA3 -:10EC9000F00D1124EB53F44F85A396A3A7A3B0A7BF -:10ECA0000697A105B10510F40C945081DF01AA5B11 -:10ECB000BF4F80919B0B8C93E95BFF4F80919C0B26 -:10ECC000808389288A288B2809F05F9888E4829DB0 -:10ECD000F001839DF00D1124EB53F44F818D928D43 -:10ECE000A38DB48D892B8A2B8B2B09F08A9888E40D -:10ECF000829DF001839DF00D1124EB53F44F858D1F -:10ED0000968DA78DB0A1892B8A2B8B2B29F0809112 -:10ED10000801817080930601E7968CAD9DADAEAD84 -:10ED2000BFADE797892B8A2B8B2B11F40C94C480F1 -:10ED30008091A010882319F081508093A010129820 -:10ED400080E28093A010D0908810E0908910F0901D -:10ED50008A1010918B102D2D3E2D4F2D512FA896DE -:10ED60006FADA897AC967FADAC97E0968FADE0976E -:10ED7000902F0F94331587FF0AC0A896DFAEA8978F -:10ED8000AC96EFAEAC97E096FFAEE097012F88E42B -:10ED9000829DF001839DF00D1124EB53F44F2585E6 -:10EDA000368547855089EB962CAF3DAF4EAF5FAFB0 -:10EDB000EB9760E070E080E89FE30F94171DA79643 -:10EDC0006CAF7DAF8EAF9FAFA797A8962FADA897DA -:10EDD000AC963FADAC97E0964FADE097502F0F94B7 -:10EDE00099154B015C018091D0149091CE14891B30 -:10EDF0008F70EC968FAFEC97A501940160E074E200 -:10EE000084E799E40F94171D0F948A1E6B017C010F -:10EE1000EC968FADEC9782508630C0F580915810FB -:10EE200090915910A0915A10B0915B10C816D90654 -:10EE3000EA06FB0658F58C199D09AE09BF09BC010D -:10EE4000CD01660F771F881F991FEC964FADEC9789 -:10EE5000042F10E020E030E0A90198010F94891BF5 -:10EE6000CA01B9010F9438150F948A1E6C0D7D1DCF -:10EE70008E1D9F1D0F9438159B01AC0160E074E25C -:10EE800084E799E40F94171D4B015C01A5019401DF -:10EE9000EB966CAD7DAD8EAD9FADEB970F94991554 -:10EEA0009B01AC010F949915C158DF4F688379839A -:10EEB0008A839B83CF57D04088E4829D8001839DC5 -:10EEC000100D11240B53144FC158DF4F88819981C5 -:10EED000AA81BB81CF57D040F80181839283A3835D -:10EEE000B48325A136A147A150A5AB962CAF3DAF69 -:10EEF0004EAF5FAFAB97CA01B9010F943815AF960B -:10EF00006CAF7DAF8EAF9FAFAF979B01AC01C501DA -:10EF1000B4010F9499150F94FB1C0F94901DCD57BD -:10EF2000DF4F688379838A839B83C358D040F8017D -:10EF300066AB77AB80AF91AF8E010F5C1F4F9E0128 -:10EF40002F5D3F4FE1963FAF2EAFE1974CE650E18A -:10EF5000C757DF4F59834883C958D040C8014096EE -:10EF6000C457DF4F99838883CC58D040C957DF4FAF -:10EF700039832883C758D04064961FAE649768963B -:10EF80001FAE689790E86C969FAF6C97AFE3A09622 -:10EF9000AFAFA097F80121913191419151918F012B -:10EFA000C501B4010F9499156B017C01C957DF4F5E -:10EFB000A881B981C758D0406D937D938D939D935F -:10EFC000C957DF4FB983A883C758D04020E030E04D -:10EFD000A9010F947D1E87FF04C0F7FAF094F7F89B -:10EFE000F094C757DF4FE881F981C958D04041906C -:10EFF000519061907190C757DF4FF983E883C958EA -:10F00000D040A7019601C301B2010F94331587FFC9 -:10F0100024C0A7019601C301B2010F94171D7B0103 -:10F020006C0164962FAD649768963FAD68976C96B7 -:10F030004FAD6C97A0965FADA0970F94331587FFE7 -:10F040000CC06496EFAE64976896FFAE68976C96B6 -:10F05000CFAE6C97A096DFAEA097C457DF4F288144 -:10F060003981CC58D0402017310709F093CF20E0E8 -:10F0700030E040E85FE364966FAD649768967FADDB -:10F0800068976C968FAD6C97A0969FADA0970F94E4 -:10F09000331587FF7AC08E010F5C1F4F64962FAD2A -:10F0A000649768963FAD68976C964FAD6C97A09645 -:10F0B0005FADA097E196AEADBFADE1976D917D914B -:10F0C0008D919C910F949915E196EEADFFADE1976E -:10F0D0006193719381939193E196FFAFEEAFE197C6 -:10F0E0000E171F07D9F688E4829D8001839D100DBD -:10F0F00011240B53144FCD57DF4F688179818A81DA -:10F100009B81C358D0400F94381564962FAD6497F7 -:10F1100068963FAD68976C964FAD6C97A0965FADC3 -:10F12000A0970F9499150F94901DD801D6966D93C2 -:10F130007D938D939C93D99764962FAD6497689631 -:10F140003FAD68976C964FAD6C97A0965FADA0975A -:10F1500064966FAD649768967FAD68976C968FAD37 -:10F160006C97A0969FADA0970F949915C158DF4F4B -:10F17000288139814A815B81CF57D0400F949915FE -:10F18000F8016183728383839483AF962CAD3DAD88 -:10F190004EAD5FADAF97A7966CAD7DAD8EAD9FAD1B -:10F1A000A7970F94991567966CAF7DAF8EAF9FAF01 -:10F1B000679788E4829DF001839DF00D1124EB5345 -:10F1C000F44F85889688A788B08C81149104A10497 -:10F1D000B10419F5818D928DA38DB48D892B8A2B65 -:10F1E0008B2BD9F4858D968DA78DB0A1892B8A2B79 -:10F1F0008B2B99F4209180103091811040918210D6 -:10F200005091831067966CAD7DAD8EAD9FAD6797C5 -:10F210000F9499150F94FB1C2BC2E7962CAD3DADB6 -:10F220004EAD5FADE797232B242B252B49F0209182 -:10F230007C1030917D1040917E1050917F1008C05D -:10F240002091841030918510409186105091871044 -:10F2500067966CAD7DAD8EAD9FAD67970F94991598 -:10F260000F94FB1C0F94901D6B017C018091970BF8 -:10F270009091980BA091990BB0919A0BAB962CADF5 -:10F280003DAD4EAD5FADAB9782179307A407B507B1 -:10F2900008F4D6C081149104A104B10411F1609165 -:10F2A000870B7091880B8091890B90918A0B6C155C -:10F2B0007D058E059F05A8F40F94791B2B013C0159 -:10F2C000A5019401C701B6010F94791B4616570694 -:10F2D0006806790630F4C301B2010F94891B6901F5 -:10F2E0007A0188E4829DF001839DF00D1124EB5397 -:10F2F000F44F818C928CA38CB48C81149104A10462 -:10F30000B10441F160918B0B70918C0B80918D0B4E -:10F3100090918E0B6C157D058E059F05D8F4AB96EC -:10F320002CAD3DAD4EAD5FADAB970F94791B2B016E -:10F330003C01A5019401C701B6010F94791B461643 -:10F3400057066806790630F4C301B2010F94891B91 -:10F3500069017A0188E4829DF001839DF00D1124FA -:10F36000EB53F44F858C968CA78CB0A0811491043C -:10F37000A104B10441F160918F0B7091900B8091C9 -:10F38000910B9091920B6C157D058E059F05D8F41D -:10F39000AB962CAD3DAD4EAD5FADAB970F94791BE9 -:10F3A0002B013C01A5019401C701B6010F94791B03 -:10F3B000461657066806790630F4C301B2010F9469 -:10F3C000891B69017A0188E4829DF001839DF00D1B -:10F3D0001124EB53F44F81A092A0A3A0B4A08114F8 -:10F3E0009104A104B10409F447C16091930B709199 -:10F3F000940B8091950B9091960B6C157D058E0565 -:10F400009F0508F039C1AB962CAD3DAD4EAD5FAD5B -:10F41000AB970F94791B2B013C01A5019401C70107 -:10F42000B6010F94791B461657066806790608F050 -:10F4300023C1C301B2010F94891B69017A011CC168 -:10F4400081149104A104B104C9F16091870B7091FA -:10F45000880B8091890B90918A0B6C157D058E0528 -:10F460009F0560F50F943815AF962CAD3DAD4EADB0 -:10F470005FADAF970F9499152B013C01C501B40105 -:10F480000F9438154B015C01C701B6010F94381574 -:10F49000A50194010F9499159B01AC01C301B20120 -:10F4A0000F94331587FF0AC0A5019401C301B2016F -:10F4B0000F94171D0F94901D6B017C0188E4829DB1 -:10F4C000F001839DF00D1124EB53F44F418C528CCD -:10F4D000638C748C4114510461047104C9F160910E -:10F4E0008B0B70918C0B80918D0B90918E0B6C150A -:10F4F0007D058E059F0560F50F943815AF962CADF0 -:10F500003DAD4EAD5FADAF970F9499154B015C01CA -:10F51000C301B2010F9438152B013C01C701B6019C -:10F520000F943815A30192010F9499159B01AC011A -:10F53000C501B4010F94331587FF0AC0A3019201DE -:10F54000C501B4010F94171D0F94901D6B017C0130 -:10F5500088E4829DF001839DF00D1124EB53F44F5C -:10F56000458C568C678C70A0411451046104710461 -:10F57000C9F160918F0B7091900B8091910B9091DC -:10F58000920B6C157D058E059F0560F50F9438155F -:10F59000AF962CAD3DAD4EAD5FADAF970F949915C5 -:10F5A0004B015C01C301B2010F9438152B013C01E2 -:10F5B000C701B6010F943815A30192010F94991554 -:10F5C0009B01AC01C501B4010F94331587FF0AC03C -:10F5D000A3019201C501B4010F94171D0F94901D52 -:10F5E0006B017C0188E4829DF001839DF00D112464 -:10F5F000EB53F44F81A092A0A3A0B4A08114910476 -:10F60000A104B104C9F16091930B7091940B8091A6 -:10F61000950B9091960B6C157D058E059F0560F5F9 -:10F620000F943815AF962CAD3DAD4EAD5FADAF9795 -:10F630000F9499152B013C01C501B4010F943815A5 -:10F640004B015C01C701B6010F943815A501940167 -:10F650000F9499159B01AC01C301B2010F943315AE -:10F6600087FF0AC0A5019401C301B2010F94171DC1 -:10F670000F94901D6B017C0188E4829D8001839D25 -:10F68000100D11240B53144FF801EE5BFF4FC08295 -:10F69000D182E282F382C701B6010F9438156B0163 -:10F6A0007C0167962CAD3DAD4EAD5FAD67970F9475 -:10F6B000171DAB966CAF7DAF8EAF9FAFAB97D801E8 -:10F6C00051966D937D938D939C9354972DEB37E3D7 -:10F6D00046E051E4C701B6010F9499150F94901DAF -:10F6E000F80161AB72AB83AB94AB29A93AA94BA9E2 -:10F6F0005CA9A7966CAD7DAD8EAD9FADA7970F941D -:10F700009915AF966CAF7DAF8EAF9FAFAF97698BFA -:10F710007A8B8B8B9C8B2DA93EA94FA958ADA796B0 -:10F720006CAD7DAD8EAD9FADA7970F9499154B0134 -:10F730005C016D8B7E8B8F8B988F29AD3AAD4BAD75 -:10F740005CADA7966CAD7DAD8EAD9FADA7970F94C8 -:10F7500099156B017C01698F7A8F8B8F9C8F219615 -:10F760002CAD3DAD4EAD5FAD2197A7966CAD7DAD97 -:10F770008EAD9FADA7970F949915A7966CAF7DAFEF -:10F780008EAF9FAFA7976D8F7E8F8F8F98A3EC96CC -:10F79000FFADEC97FF2309F4BBC22091D21464960D -:10F7A0002FAF64973091D31468963FAF689740911C -:10F7B000D4146C964FAF6C975091D514A0965FAF50 -:10F7C000A0972DEB37E346E855E364966FAD649759 -:10F7D00068967FAD68976C968FAD6C97A0969FAD3D -:10F7E000A0970F94331587FD93C28091901090914C -:10F7F0009110A0919210B0919310E7968CAF9DAFAD -:10F80000AEAFBFAFE7972091941030919510409123 -:10F81000961050919710E3962CAF3DAF4EAF5FAF6F -:10F82000E3978091981090919910A0919A10B091BF -:10F830009B10EF968CAF9DAFAEAFBFAFEF9720910F -:10F840009C1030919D1040919E1050919F10C15876 -:10F85000DF4F288339834A835B83CF57D040E796B5 -:10F860006CAD7DAD8EAD9FADE7979058AF962CAD4A -:10F870003DAD4EAD5FADAF970F9499152B013C0197 -:10F88000E3962CAD3DAD4EAD5FADE397C501B40140 -:10F890000F9499159B01AC01C301B2010F941C1C7C -:10F8A0002B013C01EF962CAD3DAD4EAD5FADEF971A -:10F8B000C701B6010F9499159B01AC01C301B201B8 -:10F8C0000F941C1C2B013C01C158DF4F288139814A -:10F8D0004A815B81CF57D040A7966CAD7DAD8EAD90 -:10F8E0009FADA7970F9499159B01AC01C301B2017D -:10F8F0000F941C1C2B013C012FEE3FEF4FE75FE301 -:10F900000F947D1E18160CF4B2C12FEE3FEF4FE797 -:10F910005FEBC301B2010F94331587FF08C0EFEE10 -:10F920004E2E55245A94EFE76E2EEFEB7E2EE7967F -:10F930002CAD3DAD4EAD5FADE797AF966CAD7DADF7 -:10F940008EAD9FADAF970F941C1C69837A838B8318 -:10F950009C83E3962CAD3DAD4EAD5FADE397C50105 -:10F96000B4010F941C1C6D837E838F839887EF9660 -:10F970002CAD3DAD4EAD5FADEF97C701B6010F9415 -:10F980001C1C69877A878B879C87C158DF4F288129 -:10F9900039814A815B81CF57D040A7966CAD7DAD50 -:10F9A0008EAD9FADA7970F941C1C6D877E878F87A8 -:10F9B000988BAE014F5F5F4FA5965FAF4EAFA59797 -:10F9C000CE01419663969FAF8EAF63978A01C12C9B -:10F9D000D12C7601D8018D909D90AD90BD908D0178 -:10F9E00020E030E0A901C501B4010F94331588234C -:10F9F00071F0A5019401C501B4010F9499159B0103 -:10FA0000AC01C701B6010F941D1C6B017C0163960C -:10FA1000EEADFFAD6397E017F107E1F6C701B60160 -:10FA20000F94CB1E9B01AC0160E070E080E89FE387 -:10FA30000F94171D6B017C01A5960EAD1FADA59708 -:10FA4000A7019601D8016D917D918D919C910F94A4 -:10FA50009915F80161937193819391938F01639646 -:10FA60002EAD3FAD63972E173F0751F778E4A72ED1 -:10FA700070E1B72EA8963FADA897AC963FAFAC9774 -:10FA8000A9964FADA997E4964FAFE497AA960FAD0C -:10FA9000AA97AB961FADAB97A596AEADBFADA59798 -:10FAA000CD90DD90ED90FD90A596BFAFAEAFA59740 -:10FAB00020E030E0A901C701B6010F943315882377 -:10FAC00061F1F50160817181828193810F94381514 -:10FAD000A70196010F94171D6B017C0120E030E017 -:10FAE000A9010F947D1E87FF04C0F7FAF094F7F880 -:10FAF000F094AC962FADAC97E4963FADE497A80197 -:10FB0000C701B6010F94331587FF07C0AC96CFAE7F -:10FB1000AC97E496DFAEE4978701F4E0AF0EB11C3A -:10FB200063962EAD3FAD6397A5964EAD5FADA5979D -:10FB30002417350709F0B0CFA301920160E070E00F -:10FB400080E89FE30F941C1C20E030E040E05FE37E -:10FB50000F9499150F94CB1E6B017C012091830BA0 -:10FB60003091840B4091850B5091860BAC966FAD14 -:10FB7000AC97E4967FADE497C8010F949915A7015F -:10FB800096010F9499154B015C01A701960160E065 -:10FB900070E080E89FE30F941C1C9B01AC01C50141 -:10FBA000B4010F94171D6B017C0120E030E040E8A8 -:10FBB0005FE3EB966CAD7DAD8EAD9FADEB970F9493 -:10FBC000331587FF5CC0A3019201C301B2010F94FA -:10FBD000991523EC38EB42E35FEB0F94991523EF73 -:10FBE00036E64FE55FE30F941C1CA30192010F94CE -:10FBF00099152BED3FE049EC5FE30F941D1C2CEEB3 -:10FC000031E548E35EE30F941C1C4B015C0124EEDC -:10FC10003BEC46E150E40F947D1E181684F5A501D7 -:10FC200094016BED7FE089E490E40F941C1C9B0130 -:10FC3000AC01EB966CAD7DAD8EAD9FADEB970F94A7 -:10FC4000171DAC962FADAC97E4963FADE497A80195 -:10FC50000F9499155B018C019B01AC01B601C701A2 -:10FC60000F947D1E18165CF46501780108C03BE016 -:10FC7000C32E47EDD42E53E2E52E6BE3F62E88E437 -:10FC8000829DF001839DF00D1124EB53F44FA18070 -:10FC9000B280038114819501A80164966FAD6497C9 -:10FCA00068967FAD68976C968FAD6C97A0969FAD68 -:10FCB000A0970F947D1E181664F46496AFAE6497F7 -:10FCC0006896BFAE68976C960FAF6C97A0961FAF03 -:10FCD000A0979601A70164966FAD649768967FAD73 -:10FCE00068976C968FAD6C97A0969FADA0970F9478 -:10FCF0007D1E1816CCF46496CFAE64976896DFAE7E -:10FD000068976C96EFAE6C97A096FFAEA0970CC06C -:10FD100064961FAE649768961FAE68976C961FAE88 -:10FD20006C97A0961FAEA09780E1FE017196A0E9A6 -:10FD3000B0E101900D928A95E1F788E4829D8001FF -:10FD4000839D100D11240B53144F64968FAD64974F -:10FD500068969FAD68976C96AFAD6C97A096BFAD57 -:10FD6000A097F80181879287A387B487AB966CAD83 -:10FD70007DAD8EAD9FADAB9790589B01AC010F94BC -:10FD80001D1CD8011D962D913D914D915C91509770 -:10FD90000F9499159B01AC016BE077ED83E29BE337 -:10FDA0000F941C1C2BE0C22E27EDD22E23E2E22E54 -:10FDB0002BE3F22EF801C582D682E782F086B0806E -:10FDC000C180D280E380F480A70196010F947D1E4C -:10FDD00087FD02C083E001C081E08B2998E4929DF9 -:10FDE000F001939DF00D1124EB53F44F808380E1DB -:10FDF000FE01B196A6EDB4E101900D928A95E1F76E -:10FE0000C092D214D092D314E092D414F092D514AC -:10FE100080E1FE01EF5BFF4FA6EEB4E101900D9291 -:10FE20008A95E1F79091D0148091D114981303C072 -:10FE300084E68093CD14C557DF4F8881CB58D040DE -:10FE40008F5F8F708093D0148091D0149091CF14D5 -:10FE500081508F70891709F4ABC0F090D0148FEFE8 -:10FE60008F0D8F7064968FAF6497E090CF14809160 -:10FE7000D014E81609F46BC0C12CD12C6496FFADE8 -:10FE80006497FE1509F463C08F2E912C28E4289DF9 -:10FE90008001299D100D11240B53144FD8018C9112 -:10FEA00083FD32C0A4960FAFA497A8961FAFA89762 -:10FEB0001996BC916896BFAF6897F801F2856C9669 -:10FEC000FFAF6C97D8011B96BC91A096BFAFA097CF -:10FED000F801F4842580368047805084A201910186 -:10FEE00068966FAD68976C967FAD6C978B2F9F2D42 -:10FEF0000F943315811152C1C114D10459F0D601A8 -:10FF00008C9180FD4BC106C0A496CFAEA497A89655 -:10FF1000DFAEA89764968FAD649781508F7064961A -:10FF20008FAF64978091CF148E1107C0A496CFAC89 -:10FF3000A497A896DFACA897A1CF6496FFAD64976D -:10FF4000FE1529F081E08E0D8F70E82EEBCF209109 -:10FF5000CF1464962FAF6497C12CD12C8091D0140C -:10FF600064963FAD6497831719F1832E912C48E472 -:10FF7000489D8001499D100D11240B53144FD80149 -:10FF80008C9183FD0AC05801C114D10439F0C60117 -:10FF90000E944788811102C08AC1560164968FADC4 -:10FFA00064978F5F8F7064968FAF64976501D6CF2B -:10FFB000D090D1148090D01428E4D81469F08FEF39 -:10FFC000880D8F70289FF0011124EB53F44F90811E -:10FFD00093FF02C0882EF1CF212C312C412C512CC3 -:10FFE00064961FAE649768961FAE6897712C612C5B -:10FFF00000E010E0E12CF12C8D1409F481C048E4FC -:020000021000EC -:100000004D9D800111240B53144FD8018C9183FD19 -:1000100019C015966D917D918D919C9118970F94B3 -:10002000CB1EC62EB72EA82E992EE114F10409F48A -:1000300055C0F701808180FD0EC0D8018C9180FDF4 -:100040000AC04CC06496CFAC64976896BFAC689702 -:10005000A72C962C48C0F701808181608083C7015E -:100060000E944788811136C0F701618172818381C6 -:1000700094810F94CB1E9B01AC0160E070E080E89E -:100080009FE30F94171D1B012C019B01AC016C2DEC -:100090007B2D8A2D992D0F94991569837A838B83F3 -:1000A0009C8364962FAD649768963FAD6897472D03 -:1000B000562DC201B1010F949915698B7A8B8B8BE8 -:1000C0009C8BAE014F5F5F4FBE016F5E7F4FC701DC -:1000D0000E945AA3D7018C918E7F8C932C2C3B2CA1 -:1000E0004A2C592C780181E08D0D8F70D82E6496A2 -:1000F000CFAE64976896BFAE68977A2C692C7CCF98 -:100100000115110509F4CCC0F8018081816080835C -:10011000C7010E944788811130C0D80111966D91A6 -:100120007D918D919C9114970F94CB1E9B01AC01F6 -:1001300060E070E080E89FE30F94171D6B017C0185 -:100140002DEC3CEC4CE45DE30F94991569837A83C4 -:100150008B839C839101A201C701B6010F9499156D -:10016000698B7A8B8B8B9C8BAE014F5F5F4FBE018F -:100170006F5E7F4FC8010E945AA3F80180818E7F75 -:1001800080838EC080E015C1D0908C10E0908D10DF -:10019000F0908E1010918F100C94AB7628E4289D6F -:1001A000F001299DF00D1124EB53F44F808181FD66 -:1001B00045C0C114D10431F0F601A580B680C780D6 -:1001C000D08408C08BE0A82E87EDB82E83E2C82E1D -:1001D0008BE3D82E28E4289DF001299DF00D1124F1 -:1001E000EB53F44F81899289A389B489BC01CD0175 -:1001F00090589B01AC010F941D1CD8011D962D91A8 -:100200003D914D915C9150970F9499159B01AC01D4 -:10021000C601B5010F941C1C3B015C019B01AC01A4 -:1002200068966FAD68976C967FAD6C97A0968FAD12 -:10023000A0979F2D0F94331587FF0AC068966FAC67 -:1002400068976C967FAC6C97A096AFACA097BF2CCC -:100250009301A501C201B1010F943315882309F45C -:1002600059CEB8E4B89DC001B99D900D1124FC0190 -:10027000EB53F44F6F01808181608083C8010E943D -:100280004788882329F0D6018C918E7F8C9342CEAB -:10029000C301D501F60185839683A783B0873ACE43 -:1002A00080916F00826080936F0081E082C0D601F0 -:1002B0008C9181FD58C0D60115962D913D914D919F -:1002C0005C9118976B962CAF3DAF4EAF5FAF6B97BD -:1002D0001501B5E02B0E311CF80145805680678072 -:1002E0007084A30192016B966CAD7DAD8EAD9FAD18 -:1002F0006B970F94331587FF36C0F6018189928979 -:10030000A389B489BC01CD0190589B01AC010F9425 -:100310001D1CD6011D962D913D914D915C915097DC -:100320000F9499159B01AC016B966CAD7DAD8EADB4 -:100330009FAD6B970F941C1C6B017C019B01AC0162 -:10034000C301B2010F947D1E18166CF4D8018C9174 -:1003500081608C93C5010E9447888823F1F0F801E1 -:1003600080818E7F808328E4289DF001299DF00DF7 -:100370001124EB53F44F21853285438554856581E3 -:100380007681878190850F943315811107CE64960D -:100390003FAD64973093CF1401CED101CD92DD9261 -:1003A000ED92FC9213976496BFAD6497B093CF140F -:1003B000DACFC357DF4F0FB6F894DEBF0FBECDBF05 -:1003C000DF91CF911F910F91FF90EF90DF90CF9031 -:1003D000BF90AF909F908F907F906F905F904F9065 -:1003E0003F902F900895CF92DF92EF92FF920F935C -:1003F0001F93CF93DF93CDB7DEB764970FB6F89412 -:10040000DEBF0FBECDBFC98ADA8AEB8AFC8AFC0147 -:1004100080819181A281B38189839A83AB83BC83DC -:10042000FB0180819181A281B3818D839E83AF8303 -:10043000B887FA0180819181A281B38189879A87E7 -:10044000AB87BC87F90180819181A281B3818D87BF -:100450009E87AF87B88BAE01475F5F4FBE016B5F72 -:100460007F4FCE0101960E947FA28091451090910E -:100470004610892B81F4CE0141967C019E01235FB9 -:100480003F4FAE01475F5F4FBE016B5F7F4F4097AD -:100490000E94D27201C080E064960FB6F894DEBF6D -:1004A0000FBECDBFDF91CF911F910F91FF90EF90C5 -:1004B000DF90CF900895CF93DF93CDB7DEB76097ED -:1004C0000FB6F894DEBF0FBECDBFE3E4F7E1808145 -:1004D0009181A281B38189839A83AB83BC83848118 -:1004E0009581A681B7818D839E83AF83B8878085F0 -:1004F0009185A285B38589879A87AB87BC878485D8 -:100500009585A685B7858D879E87AF87B88BAE0109 -:10051000475F5F4FBE016B5F7F4FCE0101960E9428 -:100520007FA29E01235F3F4FAE01475F5F4FBE0139 -:100530006B5F7F4FCE0101960E94E0A060960FB6E0 -:10054000F894DEBF0FBECDBFDF91CF9108950F9419 -:10055000FC016091810B7091820B80ED94E10F940E -:10056000E5018DEC94E10D941301CF93DF93CDB7AA -:10057000DEB780917F0B81110FC09E01275F3F4F37 -:100580004F8158856FE370E08FE39BE00F94FA147E -:100590008FE39BE00E9483AFDF91CF9108951F937B -:1005A000CF93DF9380913E0BC82FC270D82FD470A9 -:1005B000182F117080FF04C0CC2311F0D11145C059 -:1005C0000F94FC0187EC94E10F941301111103C007 -:1005D00088E50E942F4EC11103C089E50E942F4E6D -:1005E000D11103C08AE50E942F4E8FEB94E10F9446 -:1005F0001301DD2319F04BEA55E002C043E058E057 -:10060000CC2319F02BEA35E002C026EE36E01123A8 -:1006100019F08BEA95E002C088EE96E05F934F9365 -:100620003F932F939F938F938DEA94E19F938F93A2 -:100630001F920E94B5828DB79EB709960FB6F894A7 -:100640009EBF0FBE8DBF81E001C080E0DF91CF91E2 -:100650001F910895AF92BF92CF92DF92EF92FF92D7 -:100660000F931F93CF93DF93CDB7DEB72C970FB6C1 -:10067000F894DEBF0FBECDBF2DEDC22E22E0D22EEC -:100680005C0170E0CB0183529D4F7C01CE14DF04EE -:1006900009F180E20E942F4EF60181916F010E94C4 -:1006A0002F4E8AE30E942F4EF50161917191819145 -:1006B00091915F018E010F5F1F4F23E041E00F9486 -:1006C0000B108C01F80181918F018823F9F20E94AF -:1006D0002F4EF8CF8AE00E942F4E2C960FB6F8943A -:1006E000DEBF0FBECDBFDF91CF911F910F91FF9065 -:1006F000EF90DF90CF90BF90AF9008958F929F9230 -:10070000AF92BF92CF92DF92EF92FF920F931F931F -:10071000CF93DF93EC018A01C880D980EA80FB8007 -:10072000072E000C880B990B0F943A154B015C01B6 -:100730009B01AC01C701B6010F94331587FD10C0B2 -:10074000B801110F880B990B0F943A154B015C01FE -:100750009B01AC01C701B6010F947D1E181624F44D -:1007600088829982AA82BB82DF91CF911F910F91DB -:10077000FF90EF90DF90CF90BF90AF909F908F90C1 -:100780000895EF92FF920F931F93CF93C82F7B0191 -:100790008A01809120028823D1F00F94F801C701CB -:1007A0000F94130181E49DE10F941301C7FD08C06C -:1007B0006C2FCC0F770B880B990B0E94A34E04C0B3 -:1007C0008DE39DE10F9413018AE00E942F4E0E9459 -:1007D000B7BF80910F11811108C081E080930F1184 -:1007E00010922002C8010E9433FACF911F910F91FD -:1007F000FF90EF9008952F923F924F925F926F92E9 -:100800007F928F929F92AF92BF92CF92DF92EF92A0 -:10081000FF920F931F93CF93DF93CDB7DEB72F9740 -:100820000FB6F894DEBF0FBECDBF8091C710811107 -:100830001DC080918D1281111DC02F960FB6F894A6 -:10084000DEBF0FBECDBFDF91CF911F910F91FF9003 -:10085000EF90DF90CF90BF90AF909F908F907F9060 -:100860006F905F904F903F902F90089580E090E0C0 -:100870000E9433FA0E941CC10E9481EE4B015C0170 -:100880006091120270911302072E000C880B990BD5 -:100890000F943A159B01AC016091B20B7091B30BB0 -:1008A0008091B40B9091B50B0F947D1E18163CF4FB -:1008B00046EC5DE169ED7DE180E00E94C1838091BD -:1008C0008B12882309F404C26091B60B7091B70BA8 -:1008D000072E000C880B990B0F943A1569837A83C5 -:1008E0008B839C833AE0E32EF12C0CE310E020E0B4 -:1008F000AE014F5F5F4F62EB7BE08EE391E10E94C0 -:1009000049BDC090B20BD090B30BE090B40BF09007 -:10091000B50B6091100270911102072E000C880B2C -:10092000990B0F943A159B01AC01C701B6010F94C6 -:100930007D1E18160CF4A0C060E06093B80B809187 -:10094000781290917912A0917A12B0917B1200974F -:10095000A105B10529F1A5019401281B390B4A0B0A -:100960005B0B57FD1DC0609176127091771280E08D -:1009700090E00F9438159B01AC016091B20B70911F -:10098000B30B8091B40B9091B50B0F94331587FF87 -:1009900008C345EA5DE167EB7DE180E00E94C18329 -:1009A00020E030E046E153E460910D0970910E09BA -:1009B00080910F09909110090F947D1E18160CF468 -:1009C000D7C180917E1290917F12A0918012B09138 -:1009D00081120097A105B10529F1A5019401281BF9 -:1009E000390B4A0B5B0B57FD1DC060917C12709157 -:1009F0007D1280E090E00F9438159B01AC0160916E -:100A00000D0970910E0980910F09909110090F94B2 -:100A1000331587FFB5C14FE55DE162E77DE18FEFFB -:100A20000E94C18380918612882309F48AC1609153 -:100A3000110970911209072E000C880B990B0F9465 -:100A40003A1569837A838B839C8392E0E92EF12C9B -:100A500002E310E02FEFAE014F5F5F4F6DE079E0F2 -:100A600089E391E10E9449BD80918612882309F4AF -:100A700048C110921309E1CE6091120270911302E5 -:100A8000072E000C880B990B0F943A159B01AC01B3 -:100A9000C701B6010F94331587FF4ECF6091B60B97 -:100AA0007091B70B6115710509F476C2072E000C21 -:100AB000880B990B0F943A15A70196010F941C1CF3 -:100AC0002B013C0120E030E040E251EC0F94331563 -:100AD00087FD62C280918B1281115EC220E030E0FE -:100AE00040E251E4C301B2010F947D1E18160CF4CC -:100AF00065C280913811811166C280913011909148 -:100B00003111A0913211B09133118D839E83AF8347 -:100B1000B8872091341130913511409136115091A0 -:100B2000371129873A874B875C87A7019601609127 -:100B300024117091251180912611909127110F9405 -:100B40001C1C2091C10B3091C20B4091C30B5091E2 -:100B5000C40B0F9499152D813E814F8158850F94B8 -:100B60001C1C20ED3CEC4CE45DE30F9499152D81A9 -:100B70003E814F8158850F941D1C6B017C01609351 -:100B80003011709331118093321190933311809111 -:100B9000BD0B9091BE0BA091BF0BB091C00B8D838C -:100BA0009E83AF83B88729853A854B855C85C301D1 -:100BB000B2010F941D1C162F072F382E292E20E06E -:100BC00030E0A9010F94331587FD12C22D813E81BB -:100BD0004F81588560E070E08FE793E40F94171D14 -:100BE00069877D878E879F87212F302F432D522D38 -:100BF0000F94331587FF04C019850D853E842F841B -:100C0000812F902FA32DB22D809334119093351105 -:100C1000A0933611B09337112091B90B3091BA0BD4 -:100C20004091BB0B5091BC0BC301B2010F949915BD -:100C30002B013C01609328117093291180932A1194 -:100C400090932B11212F302F432D522D6D817E81BA -:100C50008F8198850F9499159B01AC0160932C119D -:100C600070932D1180932E1190932F11C301B20117 -:100C70000F941D1CA70196010F941D1C20E030E06D -:100C8000A9010F941D1C69837A838B839C834FEF8A -:100C900050E060E070E0CE0101960E947E83C0903B -:100CA000B20BD090B30BE090B40BF090B50B698110 -:100CB0007A818B819C810F94891D75956795C0926F -:100CC0002411D0922511E0922611F092271135CEF1 -:100CD0008091871290918812A0918912B0918A1206 -:100CE0000097A105B10509F4EFCDA5019401281BDA -:100CF000390B4A0B5B0B57FDE7CD81E080938B12DC -:100D0000E3CDC0900D09D0900E09E0900F09F0904E -:100D1000100920E030E040EA50E4C701B6010F942A -:100D20007D1E87FD0AC020E030E046E153E4C701A4 -:100D3000B6010F943315181634F560E0609313096B -:100D40007CCD8091821290918312A0918412B091F7 -:100D500085120097A105B10509F469CE881A990A90 -:100D6000AA0ABB0AB7FC63CE81E0809386125FCEED -:100D700041E85DE165E97DE18FEF0E94C18321CE0D -:100D80000E9408BF4FCE6091110970911209611540 -:100D9000710509F40AC1072E000C880B990B0F94FA -:100DA0003A15A70196010F941C1C4B015C0120E031 -:100DB00030E040E251EC0F94331587FDF6C020E09F -:100DC00030E040E251E4C501B4010F947D1E1816D5 -:100DD0000CF4EFC0409018095090190960901A095E -:100DE00070901B09809121028111F8C0209120117F -:100DF00030912111409122115091231180911C11A9 -:100E000090911D11A0911E11B0911F118D839E8391 -:100E1000AF83B887C501B4010F941D1C162F072F8F -:100E2000382E292E20E030E0A9010F94331587FDDC -:100E3000E4C0A301920160E070E08FE793E40F94B7 -:100E4000171D69877D878E879F87212F302F432D20 -:100E5000522D0F94331587FF04C019850D853E84EC -:100E60002F84812F902FA32DB22D8093201190934A -:100E70002111A0932211B0932311209114093091D4 -:100E800015094091160950911709C501B4010F9435 -:100E900099154B015C0160931411709315118093A7 -:100EA000161190931711212F302F432D522DC3016E -:100EB000B2010F9499152B013C01609318117093A6 -:100EC000191180931A1190931B11A701960160913B -:100ED00010117091111180911211909113110F94B2 -:100EE0001C1C20911C0930911D0940911E09509134 -:100EF0001F090F9499152D813E814F8158850F94BC -:100F00001C1C20ED3CEC4CE45DE30F9499152D8105 -:100F10003E814F8158850F941D1C6D837E838F8386 -:100F2000988760931C1170931D1180931E119093EC -:100F30001F11C0921011D0921111E0921211F09273 -:100F40001311A3019201C501B4010F941D1C2D8141 -:100F50003E814F8158850F941D1C20E030E0A9018F -:100F60000F941D1C6B017C0120E030E0A9010F945F -:100F7000331587FDE2CE20E030E04FE753E4C701B0 -:100F8000B6010F947D1E1816BCF0C701B6010F9470 -:100F9000891D75956795D2CE81E08093381160E008 -:100FA0008ECE80E00E9457BFFBCC81E0809321026F -:100FB000C4CE81E0809321026FE7C0CE81E08093B0 -:100FC00038116FE77CCE1092381119861A861B866D -:100FD0001C861D821E821F821886A7CD10922102B8 -:100FE0001D821E821F82188620E030E0A90112CFE8 -:100FF00010E000E0312C212C03CE10E000E0312C79 -:10100000212C2FCF90916F00292F227091FF05C0C6 -:1010100090916F009D7F90936F0034E0839FC0019B -:101020001124FC01E954FF4E40815181628173819A -:10103000FC01E555FF4E408351836283738381E059 -:101040008093AA10222329F080916F008260809300 -:101050006F00089590916F00292F227091FF05C0B5 -:1010600090916F009D7F90936F0094E0899FF001B5 -:101070001124E954FF4E6081718182819381222382 -:1010800029F020916F00226020936F000895BC0129 -:1010900020910D1130910E1140910D1150910E11B2 -:1010A0002417350711F09A01F7CF81E0261737078B -:1010B00009F080E008952F923F924F925F926F92D5 -:1010C0007F928F929F92AF92BF92CF92DF92EF92D8 -:1010D000FF921F93CF93DF9300D01F92CDB7DEB75F -:1010E0008FEF9FEF90938900809388001AE01A8217 -:1010F0001982B9E32B2EBDE13B2E78948091091122 -:1011000090910A11A0910B11B0910C11892B8A2B8F -:101110008B2B09F0D7C18091AA108823D1F01092AF -:10112000AA1080910D1190910E11892B91F01092BF -:10113000A91010920E1110920D119091D01480915F -:10114000D114981731F08091D1148F5F8F708093F4 -:10115000D11480910D1190910E11892B09F4B2C117 -:101160008090051190900611A0900711B090081181 -:10117000409101115091021160910311709104117D -:10118000C090F410D12CE12CF12CDB01CA0188199C -:101190009909AA09BB09C816D906EA06FB0610F484 -:1011A000D701C601382F880D991DAA1DBB1D80933C -:1011B000051190930611A0930711B0930811809127 -:1011C0008400909185004E96C090DC10D090DD1088 -:1011D000E090DE10F090DF104091CC105091CD10D7 -:1011E0006091CE107091CF104C0D5D1D6E1D7F1D56 -:1011F0004093DC105093DD106093DE107093DF108D -:1012000077FD1CC0889AC090B710D090B810E090BD -:10121000B910F090BA104091A110042E000C550B9B -:10122000660B770B4C0D5D1D6E1D7F1D4093B71037 -:101230005093B8106093B9107093BA10C090E0103A -:10124000D090E110E090E210F090E3104091D010C7 -:101250005091D1106091D2107091D3104C0D5D1D42 -:101260006E1D7F1D4093E0105093E1106093E210DB -:101270007093E31077FD1CC08E9AC090BB10D09085 -:10128000BC10E090BD10F090BE104091A210042E52 -:10129000000C550B660B770B4C0D5D1D6E1D7F1DF5 -:1012A0004093BB105093BC106093BD107093BE1060 -:1012B000C090E410D090E510E090E610F090E710B8 -:1012C0004091D4105091D5106091D6107091D710E4 -:1012D0004C0D5D1D6E1D7F1D4093E4105093E51075 -:1012E0006093E6107093E71077FD21C020910B0109 -:1012F0002095287020930901C090BF10D090C01095 -:10130000E090C110F090C2104091A310042E000C88 -:10131000550B660B770B4C0D5D1D6E1D7F1D4093AD -:10132000BF105093C0106093C1107093C210C09052 -:10133000E810D090E910E090EA10F090EB104091A6 -:10134000D8105091D9106091DA107091DB104C0DCB -:101350005D1D6E1D7F1D4093E8105093E910609352 -:10136000EA107093EB1077FD1CC0149AC090C31064 -:10137000D090C410E090C510F090C6104091A41019 -:10138000042E000C550B660B770B4C0D5D1D6E1D6E -:101390007F1D4093C3105093C4106093C510709389 -:1013A000C610409184005091850048175907C8F332 -:1013B0004091DC105091DD106091DE107091DF10D3 -:1013C00077FD15C0C090C810D090C910E090CA1029 -:1013D000F090CB104C195D096E097F094093DC1029 -:1013E0005093DD106093DE107093DF108898409169 -:1013F000E0105091E1106091E2107091E31077FDE0 -:1014000015C0C090C810D090C910E090CA10F090DC -:10141000CB104C195D096E097F094093E010509381 -:10142000E1106093E2107093E3108E984091E41005 -:101430005091E5106091E6107091E71077FD19C0AA -:10144000C090C810D090C910E090CA10F090CB1096 -:101450004C195D096E097F094093E4105093E51023 -:101460006093E6107093E71020910B012870209391 -:1014700009014091E8105091E9106091EA107091D3 -:10148000EB1077FD15C0C090C810D090C910E09047 -:10149000CA10F090CB104C195D096E097F0940937A -:1014A000E8105093E9106093EA107093EB101498D1 -:1014B000315041F040918400509185004817590700 -:1014C000C8F381CE8091091190910A11A0910B115E -:1014D000B0910C11892B8A2B8B2B09F074C3E091EE -:1014E0000D11F0910E11309709F4F4C4809105119B -:1014F00090910611A0910711B0910811409101112E -:101500005091021160910311709104118417950795 -:10151000A607B70708F46BC080911B02882309F463 -:101520004CC085899689A789B08D892B8A2B8B2BF6 -:10153000A1F4818D928DA38DB48D892B8A2B8B2B59 -:1015400061F4858D968DA78DB0A1892B8A2B8B2B6D -:1015500021F48091CB0A882381F161A172A183A13A -:1015600094A1C090A510D090A610E090A710F09084 -:10157000A81025A923FF07C09095809570956195C7 -:101580007F4F8F4F9F4F0F943A152091A90B3091A9 -:10159000AA0B4091AB0B5091AC0B0F9499159B018A -:1015A000AC01C701B6010F941C1C6093A510709389 -:1015B000A6108093A7109093A8101092A9101092D3 -:1015C0000E1110920D119091D0148091D114981792 -:1015D00009F480C48091D1148F5F8F708093D114EF -:1015E000A0EDCA2EA7E0DA2EE12CF12C4EC14091DD -:1015F000FD105091FE106091FF107091001148177E -:1016000059076A077B0708F467C04091F9105091A9 -:10161000FA106091FB107091FC1081A992A9A3A906 -:10162000B4A9FF24499FE12C5A9F90016A9F300D75 -:10163000699F200D311D4A9FE00C211D3F1D599FC0 -:10164000E00C211D3F1D689FE00C211D3F1D589F90 -:10165000E10C2F1D3F1DE6942F1D3F1DB49F200D53 -:10166000311DB59F300D112482AD93ADA4ADB5AD44 -:10167000820F931FA11DB11D8093F5109093F6105A -:10168000A093F710B093F810C6A8D7A8E0ACF1ACBF -:10169000C816D906EA06FB0640F4C092F510D092AF -:1016A000F610E092F710F092F8108090F5109090FC -:1016B000F610A090F710B090F8108DE19DE121E0B8 -:1016C000FC01C590D590E590F490C814D904EA04C3 -:1016D000FB0408F4C9C2D3C24091F0105091F1103C -:1016E0006091F2107091F310481759076A077B0751 -:1016F00008F063C04091EC105091ED106091EE1035 -:101700007091EF1081A992A9A3A9B4A9FF24499FC0 -:10171000E12C5A9F90016A9F300D699F200D311D69 -:101720004A9FE00C211D3F1D599FE00C211D3F1DCC -:10173000689FE00C211D3F1D589FE10C2F1D3F1D90 -:10174000E6942F1D3F1DB49F200D311DB59F300D18 -:101750001124C901A0E0B0E08090F5109090F6103F -:10176000A090F710B090F810FE9688159905AA057C -:10177000BB0580F4C080D180E280F380881A990A8A -:10178000AA0ABB0A8C149D04AE04BF0438F44601B7 -:10179000570104C080809180A280B3808DE19DE1DB -:1017A00021E0FC01C590D590E590F490C814D904CF -:1017B000EA04FB0408F4CBC2D5C280911C029091CC -:1017C0001D02A0911E02B0911F02B7FF56C086A94C -:1017D00097A9A0ADB1AD2DE13DE141E0F901C59082 -:1017E000D590E590F490C816D906EA06FB0658F4A1 -:1017F000B695A79597958795440F2C5F3F4F5DE170 -:101800002933350759F74093F41080329105A1052B -:10181000B10508F432C38097A109B109811528E008 -:101820009207A105B10508F405C344E0949F900117 -:101830001124235E364EF901329645915491EE27DC -:10184000859FB001849F610D7E1F06946E1F7E1FD1 -:101850001124CB01A0E0B0E0F9014591549160E082 -:1018600070E0481B590B6A0B7B0B40931C02509392 -:101870001D0260931E0270931F02C0901C02D09044 -:101880001D02E0901E02F0901F0280910D119091B8 -:101890000E11892B09F08FC10E94649D90930E1147 -:1018A00080930D11892B09F486C180910D119091BF -:1018B0000E119C838B83DC018C9183FF42C0559673 -:1018C0008D919D910D90BC91A02D8093B710909318 -:1018D000B810A093B910B093BA10EB81FC81818D40 -:1018E000928DA38DB48D8093BB109093BC10A09368 -:1018F000BD10B093BE10858D968DA78DB0A180933D -:10190000BF109093C010A093C110B093C21081A1DA -:1019100092A1A3A1B4A18093C3109093C410A093EB -:10192000C510B093C6109091D0148091D11498171F -:1019300009F4B2CF8091D1148F5F8F708093D1144E -:10194000ABCFAB81BC8155964D905D906D907C90F6 -:10195000589781E0411451046104710409F480E056 -:10196000EB81FC81C18CD28CE38CF48CC114D1044A -:10197000E104F10409F08260AB81BC815D964D9178 -:101980005D916D917C9190974115510561057105AF -:1019900009F084608093A9101092EC101092ED1061 -:1019A0001092EE101092EF101092F9101092FA109F -:1019B0001092FB101092FC10EB81FC8185A196A186 -:1019C000A7A1B0A58093011190930211A0930311D8 -:1019D000B0930411882499245401881A990AAA0AF8 -:1019E000BB0A8092E8109092E910A092EA10B0929F -:1019F000EB108092E4109092E510A092E610B09265 -:101A0000E7108092E0109092E110A092E210B09264 -:101A1000E3108092DC109092DD10A092DE10B09264 -:101A2000DF10440C551C661C771C4092CC10509261 -:101A3000CD106092CE107092CF10CC0CDD1CEE1C3D -:101A4000FF1CC092D010D092D110E092D210F09230 -:101A5000D310440F551F661F771F4093D410509327 -:101A6000D5106093D6107093D71041A152A163A1F5 -:101A700074A1440F551F661F771F4093D8105093D1 -:101A8000D9106093DA107093DB10880F991FAA1F8A -:101A9000BB1F8093C8109093C910A093CA10B09335 -:101AA000CB1010920511109206111092071110928E -:101AB000081181A592A5A3A5B4A58093FD109093CC -:101AC000FE10A093FF10B093001185A596A5A7A5C1 -:101AD000B0A98093F0109093F110A093F210B093FE -:101AE000F31085A990913609891721F08093360962 -:101AF0000E94259D0E94E4D92FEF3FEFA90120937A -:101B00001C0230931D0240931E0250931F02EB8172 -:101B1000FC8182AD93ADA4ADB5AD8093F5109093EB -:101B2000F610A093F710B093F8102DE13DE141E0DD -:101B3000F901C590D590E590F490C816D906EA064B -:101B4000FB0650F4B695A79597958795440F2C5FA3 -:101B50003F4F2216330661F74093F410803291050F -:101B6000A105B10508F4B1C18097A109B10981159A -:101B7000F8E09F07A105B10508F484C144E0949FF3 -:101B800090011124235E364EF9013296459154910D -:101B9000EE27859FB001849F610D7E1F06946E1F06 -:101BA0007E1F1124F901C590D490E12CF12CC61AA6 -:101BB000D70AE108F108C0920911D0920A11E09207 -:101BC0000B11F0920C118091091190910A11A091C2 -:101BD0000B11B0910C11AC01BD010097E1E0AE0713 -:101BE000B10520F04FEF5FEF60E070E0841B950BD4 -:101BF000A60BB70B8093091190930A11A0930B11B8 -:101C0000B0930C11F89480918400909185004096D7 -:101C1000115059F029813A81240F351F3A832983C5 -:101C20002817390708F469CA02C09A838983498151 -:101C30005A81509389004093880078940F900F90B8 -:101C40000F900F90DF91CF911F91FF90EF90DF9059 -:101C5000CF90BF90AF909F908F907F906F905F904C -:101C60004F903F902F900895B694A794979487949F -:101C7000220F0496ADE189339A0709F021CD209314 -:101C8000F410B0E28B169104A104B10408F459C019 -:101C900020E2821A9108A108B108811438E0930665 -:101CA000A104B104F8F0A4E09A9EC0011124835E5F -:101CB000964EFC01329625913491F82DEE27F39F34 -:101CC000D001F29FA10DBE1F0694AE1FBE1F1124AE -:101CD000FC01C590D490E12CF12CCA1ADB0AE10872 -:101CE000F10822C0D501C401B695A79597958795AF -:101CF000FC01EC7FCF01835E9A4EFC01C590D4902D -:101D0000FC01329625913491E82DE770E29FC001E5 -:101D1000E39F900D1124F3E096958795FA95E1F7EE -:101D2000C81AD90AE12CF12C4C0D5D1D6E1D7F1DCA -:101D30004093F9105093FA106093FB107093FC10CD -:101D4000A4CDA0E28A2E912CA12CB12CA1CFB694C7 -:101D5000A79497948794220F0496EDE189339E0708 -:101D600009F01FCD2093F410F0E28F169104A10426 -:101D7000B10408F459C020E2821A9108A108B10800 -:101D8000811438E09306A104B104F8F0A4E09A9E0F -:101D9000C0011124835E964EFC0132962591349148 -:101DA000F82DEE27F39FD001F29FA10DBE1F0694E0 -:101DB000AE1FBE1F1124FC01C590D490E12CF12C64 -:101DC000CA1ADB0AE108F10822C0D501C401B695A0 -:101DD000A79597958795FC01EC7FCF01835E9A4E7E -:101DE000FC01C590D490FC01329625913491E82DE8 -:101DF000E770E29FC001E39F900D112433E09695B8 -:101E000087953A95E1F7C81AD90AE12CF12C4C0DC7 -:101E10005D1D6E1D7F1D4093EC105093ED1060937F -:101E2000EE107093EF1031CDE0E28E2E912CA12CAC -:101E3000B12CA1CFAC01BD0176956795579547951B -:101E4000FA01EC7F9F01235E3A4EF90145915491CE -:101E5000F9013296659174918770869F9001879FF2 -:101E6000300D1124C901F3E096958795FA95E1F7B5 -:101E7000481B590B60E070E0F8CC80E290E0A0E0F5 -:101E8000B0E0C9CCAC01BD017695679557954795F3 -:101E9000FA01EC7F9F01235E3A4EF901C590D49080 -:101EA000F9013296459154918770849F9001859FE6 -:101EB000300D1124C90123E0969587952A95E1F705 -:101EC000C81AD90AE12CF12C76CE80E290E0A0E08D -:101ED000B0E04ACE80EDC82E87E0D82EE12CF12C60 -:101EE000DBCCCF92DF92EF92FF92CF93DF93EC01A6 -:101EF0006A017B0127E137EB41ED58EBC701B601E1 -:101F00000F947D1E87FD23C023E030E04BE953E4AE -:101F1000C701B6010F9433151816CCF0C880D980CC -:101F2000EA80FB8027E137EB41ED58EBC701B601B2 -:101F30000F947D1E87FD0BC0C1E023E030E84DE922 -:101F400053E4C701B6010F94331518160CF4C0E022 -:101F50008C2FDF91CF91FF90EF90DF90CF9008957D -:101F60004F925F926F927F928F929F92AF92BF92A9 -:101F7000CF92DF92EF92FF92CF93DF93CDB7DEB790 -:101F800028970FB6F894DEBF0FBECDBF9E838D831A -:101F9000DB01CD90DD90ED90FC908091321390911B -:101FA0003313A0913413B091351389839A83AB8393 -:101FB000BC839C01AD01C701B6010F941C1C2B0111 -:101FC0003C01AD81BE818D909D90AD90BC90809183 -:101FD0002E1390912F13A0913013B09131138D8354 -:101FE0009E83AF83B88727E137EB41ED58EBC30100 -:101FF000B2010F947D1E87FD50C023E030E04BE915 -:1020000053E4C301B2010F94331518160CF445C004 -:102010002D813E814F815885C501B4010F941C1C50 -:102020002B013C0127E137EB41ED58EB0F947D1E6E -:1020300087FD33C023E030E84DE953E4C301B2012A -:102040000F94331518164CF120E030E0A9016D8192 -:102050007E818F8198850F941D1C2B013C0120E00F -:1020600030E040EA50E40F94331587FF06C0412C5E -:10207000512C30EA632E30E4732E27E137EB41ED2B -:1020800058E3C301B2010F941C1C9B01AC01C501B4 -:10209000B4010F947D1E87FF02C0198282C020E028 -:1020A00030E84DE953E46D817E818F8198850F94EE -:1020B0001D1C2B013C0120E030E84AE953E40F9459 -:1020C0007D1E18163CF4412C20E8522E2AE9622E7F -:1020D00023E4722E27E137EB41ED58E3C301B2014F -:1020E0000F941D1C9B01AC01C501B4010F94331565 -:1020F00018169CF220E030E0A90169817A818B8179 -:102100009C810F941D1C4B015C0120E030E040EAF3 -:1021100050E40F94331587FF06C0812C912C90EA70 -:10212000A92E90E4B92E27E137EB41ED58E3C50124 -:10213000B4010F941C1C9B01AC01C701B6010F94A4 -:102140007D1E87FDAACF20E030E04BE953E4698192 -:102150007A818B819C810F941D1C4B015C0120E0D6 -:1021600030E848E953E40F947D1E18163CF4812CA6 -:1021700080E8982E88E9A82E83E4B82E27E137EB73 -:1021800041ED58E3C501B4010F941D1C9B01AC0146 -:1021900091E09983C701B6010F94331518160CF41A -:1021A0007CCF898128960FB6F894DEBF0FBECDBFD5 -:1021B000DF91CF91FF90EF90DF90CF90BF90AF90E5 -:1021C0009F908F907F906F905F904F900895CF93E6 -:1021D000DF93EB010E9415A8882321F0DF91CF91B6 -:1021E0000C9491A7CE01DF91CF910895CF93C62F84 -:1021F0000E9415A8882319F0CF910C946DA78C2FFD -:10220000CF9108952F923F924F925F926F927F925B -:102210008F929F92AF92BF92CF92DF92EF92FF92F6 -:102220000F931F93CF93DF93CDB7DEB762970FB6AF -:10223000F894DEBF0FBECDBF83E50E94CCA78823F4 -:1022400049F00E9481A7182F811106C080E00E94EA -:102250008DAC02C010915B17809143179091441789 -:10226000A0914517B091461789839A83AB83BC83AD -:102270008091471790914817A0914917B0914A173C -:102280008D839E83AF83B88780914B1790914C17B5 -:10229000A0914D17B0914E1789879A87AB87BC875D -:1022A00086E50E94CCA7682E80914013909141133F -:1022B000892B09F4B1C083E40E94CCA7882309F4D8 -:1022C000B6C00E9495A71B012C01712C812C68ECD3 -:1022D000962E72ECA72EB12CC12C28EC2F8732E45D -:1022E000388B85E08D879D8591509D879F3FD9F1E3 -:1022F000E5E0EE8735E0399F900111243A8B298B78 -:102300003E8531503E873F3F71F3E989FA89E30FFB -:10231000F11DEE0FFF1FEE0FFF1FE45BFC4ED080A0 -:10232000E180F28003812B2D3C2D4F8558896D2D46 -:102330007E2D8F2D902F0F94331587FF04C0BD2C59 -:10234000CE2CFF86088B2D2D3E2D4F2D502F672D27 -:10235000782D892D9A2D0F94331587FFD1CF7D2CA1 -:102360004701A02ECDCF272D382D492D5A2D6B2D6D -:102370007C2D8F8598890F941D1C20E030E040E073 -:102380005FE30F949915A20191010F941D1C1B018D -:102390002C012DEB37E346E855EB0F947D1E87FDAE -:1023A0000AC02DEB37E346E855E3C201B1010F94B3 -:1023B00033151816E4F580E00E948DAC05E045E089 -:1023C000C42E0150A0F135E0D32EC09E500111243F -:1023D000DA949FEFD916A9F37501ED0CF11CC70132 -:1023E000880F991F880F991FFC01E45BFC4E7F0149 -:1023F000A201910160817181828193810F941C1CE3 -:102400009B01AC01F70160837183828393836D2DFF -:10241000802F0E94C4AEDCCF111102C0662089F06B -:102420000F94FC0181E890E20F94130116C066201E -:1024300041F08091401390914113892B11F00F943A -:1024400022018AE50E94CCA7882321F00E9495A74B -:102450000F947805812F0E948DAC112351F080914B -:102460005B17811106C00F94F80182E690E20F9489 -:1024700013010F94FC0184E590E20F941301809105 -:102480005B17811103C086E09DE002C08AE09DE0F9 -:102490000F9413018AE00E942F4E0F94FC0187E4F1 -:1024A00090E20F941301C0905C17D0905D17E090FC -:1024B0005E17F0905F1720E030E0A901C701B60178 -:1024C0000F947D1E181644F442E0C701B6010E9425 -:1024D000BF4E0E94344F04C082E490E20F94130177 -:1024E0004CE050E063E477E1CE0101960F943C1F8D -:1024F000892BD1F062960FB6F894DEBF0FBECDBF28 -:10250000DF91CF911F910F91FF90EF90DF90CF90CF -:10251000BF90AF909F908F907F906F905F904F9003 -:102520003F902F900C9433D962960FB6F894DEBF8B -:102530000FBECDBFDF91CF911F910F91FF90EF9014 -:10254000DF90CF90BF90AF909F908F907F906F90D3 -:102550005F904F903F902F9008952F923F924F920F -:102560005F926F927F928F929F92AF92BF92CF9223 -:10257000DF92EF92FF920F931F93CF93DF9300D0E0 -:102580001F921F92CDB7DEB77C018B016A01190142 -:102590008090431790904417A0904517B09046172D -:1025A000A5019401FC0160817181828193810F9466 -:1025B0003315F1E0FD83811112C02091471730914E -:1025C00048174091491750914A17F801608171816D -:1025D000828193810F943315811101C01D82F60110 -:1025E00040805180628073802091220230912302CA -:1025F0004091240250912502C301B2010F9433157A -:10260000882309F455C0409222025092230260921E -:1026100024027092250220E030E040E05FE3609108 -:1026200074107091751080917610909177100F94BE -:10263000991569837A838B839C838092111390927E -:102640001213A0921313B092141380914717909114 -:102650004817A0914917B0914A178093151390938A -:102660001613A0931713B0931813F601808191816C -:10267000A281B3818093191390931A13A0931B1313 -:10268000B0931C1380914F1790915017A091511740 -:10269000B091521780931D1390931E13A0931F1394 -:1026A000B0932013CE0101960E948DA50E9453A7DE -:1026B000FD81F1110FC020E030E040EC5FE360915C -:1026C00078107091791080917A1090917B100F940E -:1026D000171D04C060E070E080EA91E469837A83AA -:1026E0008B839C83F70180819181A281B381809348 -:1026F000111390931213A0931313B0931413F801B2 -:1027000080819181A281B3818093151390931613D8 -:10271000A0931713B0931813F101208131814281E6 -:10272000538160911D1370911E1380911F1390911E -:1027300020130F941D1C60931D1370931E13809320 -:102740001F1390932013CE0101960E948DA50E9425 -:1027500053A70F900F900F900F900F90DF91CF9194 -:102760001F910F91FF90EF90DF90CF90BF90AF90AF -:102770009F908F907F906F905F904F903F902F90A1 -:1027800008952F923F924F925F926F927F928F9215 -:102790009F92AF92BF92CF92DF92EF92FF920F93F0 -:1027A0001F93CF93DF93CDB7DEB7C355D1090FB6D3 -:1027B000F894DEBF0FBECDBF81E390E20F9413010A -:1027C0000E94CF8281110C946C9C84E50E9415A814 -:1027D000882329F00E9491A781110E940C6880E053 -:1027E00090E0A0E8BFE38093091390930A13A093AD -:1027F0000B13B0930C1380930D1390930E13A093AF -:102800000F13B09310138DEC9CECACE4BEE38093FB -:10281000051390930613A0930713B093081380E059 -:1028200090E0A0E2B1E48093B4119093B511A0932D -:10283000B611B093B7118CE390E09093B3118093ED -:10284000B2118DEC90E09093B1118093B011109281 -:10285000AF114AE959E969E97EE38FE40E94F2AFDA -:102860006BAF7CAF8DAF9EAF60E083E40E9422A887 -:1028700060968FAF609760E08BE40E9422A861961B -:102880008FAF619782E40E9415A88823C9F00E9447 -:1028900095A70F94891D7093B3116093B2116115C0 -:1028A000710571F0685271096536710548F06CE880 -:1028B00070E083E090E20F94D8018EEF9FE1AEC10B -:1028C0008CE40E9415A8882301F10E9495A76B0152 -:1028D0007C01609305137093061380930713909304 -:1028E000081320E030E0A9010F947D1E87FD0AC087 -:1028F00020E030E040E050E4C701B6010F9433150A -:1029000018161CF486ED9FE189C181E50E94CCA7D1 -:10291000882351F18091B0139091B113892B09F163 -:102920000E9495A76B017C0160930D1370930E13A9 -:1029300080930F13909310132DEC3CEC4CE45DE36B -:102940000F947D1E87FD0AC020E030E040E751E48F -:10295000C701B6010F943315181634F485EA9FE1C8 -:102960005DC18AE79FE15AC183E50E9415A88823CB -:10297000C9F00E9495A74B015C012DEC3CEC4CEC9E -:102980005DE30F947D1E87FD0AC020E030E040E04B -:1029900050E4C501B4010F943315181654F483E5BF -:1029A0009FE13CC17DEC872E7CEC972EA92C7EE329 -:1029B000B72E80E50E94CCA7882371F18091B013D7 -:1029C0009091B113892B19F48BE19FE127C180917C -:1029D000AF118F5F8093AF110E9495A76B017C01AF -:1029E0006093B4117093B5118093B6119093B711A1 -:1029F00020E030E0A9010F947D1E87FD0AC020E091 -:102A000030E048EC51E4C701B6010F9433151816B5 -:102A10001CF483EF9EE102C186E40E9415A888237E -:102A2000C9F00E9495A76B017C0120E030E040E8EE -:102A30005FE30F947D1E87FD0AC020E030E040E890 -:102A400050E4C701B6010F94331518164CF48AEC04 -:102A50009EE1E4C0C12CD12C60EEE62E6FE3F62E91 -:102A6000A7019601C701B6010F9499159B01AC010E -:102A700060E070E084E490E40F94171D2091091346 -:102A800030910A1340910B1350910C130F94991528 -:102A90002B013C01A5019401C501B4010F949915C6 -:102AA000A70196010F9499152CEE31E548EB5DE3F3 -:102AB0000F94171D9B01AC01C301B2010F9499152E -:102AC0006093091370930A1380930B1390930C1364 -:102AD00088E40E9415A8882381F00E9495A70F948E -:102AE000891D7093B1116093B011655A71096838EE -:102AF000710518F08CE99EE191C085E50E94CCA794 -:102B00008823F1F00E9481EE611571058105910520 -:102B100011F00F94C4108091B0139091B113892BD0 -:102B200019F00E9495A704C060E070E088E492E488 -:102B300060936B1170936C1180936D1190936E1173 -:102B400082E50E94CCA7811103C088E69EE166C0A1 -:102B50008091B0139091B113892B61F00E9491A7DD -:102B60002F969FAF8EAF2F97181619064CF084E35F -:102B70009EE154C02AE130E02F963FAF2EAF2F9751 -:102B800088E50E9415A8882369F00E9495A72091E6 -:102B900022133091231340912413509125130F9445 -:102BA0001C1C08C060914317709144178091451711 -:102BB0009091461760936711709368118093691123 -:102BC00090936A1189E50E9415A8882379F00E94E4 -:102BD00095A72091261330912713409128135091E7 -:102BE00029130F941C1CAB01BC0108C0409147176E -:102BF000509148176091491770914A17409363119B -:102C000050936411609365117093661187E691E1AA -:102C10000E94718F811105C08AE09EE10F9413011B -:102C20005BC684E40E94CCA791E089270E948DAC0A -:102C300020E030E040EA50E460914B1770914C176F -:102C400080914D1790914E170F94331587FF1CC03C -:102C5000198A1A8A1B8A1C8A80E090E0A0EAB0E4F4 -:102C600089839A83AB83BC83BE016F5E7F4FCE01A5 -:102C700001960E945ED780E1E1E1F3E1A3E4B7E1D0 -:102C800001900D928A95E1F73091B81162963FAFAD -:102C900062971092B8110E94F5A289EE9DE10F94FF -:102CA00013018091B2119091B3118A3191056CF4A6 -:102CB0008091B0119091B1110E94A6BF61E080E0B7 -:102CC0000E94B2B9811109C05AC50E9445A781E08E -:102CD0000E9434B88111ECCF52C510924F17109258 -:102CE000501710925117109252178FE497E10E94DB -:102CF0009BA08091AF118823B1F10E9453A720912E -:102D00001D1330911E1340911F1350912013609199 -:102D1000B4117091B5118091B6119091B7110F94C3 -:102D20001D1C60931D1370931E1380931F139093AB -:102D3000201320E030E040E751E46091781070917A -:102D4000791080917A1090917B100F94171D6983F0 -:102D50007A838B839C83CE0101960E948DA50E946D -:102D600053A70E94D5EA80E2E3E4F1E1DF01282FD6 -:102D70001D922A95E9F7EFE8F1E1DF01282F1D9276 -:102D80002A95E9F7EFE6F1E1DF011D928A95E9F76F -:102D90000E9453A78091051390910613A0910713E9 -:102DA000B09108138093191390931A13A0931B13D7 -:102DB000B0931C1319821A821B821C829E012F5F02 -:102DC0003F4F49E153E165E173E181E193E10E9405 -:102DD000AD929E01255C3F4F49E153E165E173E10E -:102DE00081E193E10E94AD926096BFAD6097BB23F5 -:102DF00029F067E477E183E497E104C063E671E1D9 -:102E000087E691E10E94B5A5298F3A8F4B8F5C8FA1 -:102E10006D8F7E8F3FAF2D962FAF2D972D96EFADF7 -:102E20002D97E7FD95C4FFADF7FD92C420914013A7 -:102E3000309141134E2F4203B001439F700D112476 -:102E40008091F8129091F912680F791F072E000CEB -:102E5000880B990B0F943A152B013C01CB01D30140 -:102E60008FAB98AFA9AFBAAF209142133091431303 -:102E70004FAD4203B001439F700D11248091FA12AF -:102E80009091FB12680F791F072E000C880B990B8D -:102E90000F943A15162F072FF82EE92E462F572F8D -:102EA000682F792FCE01C7960E94718F882309F46D -:102EB00053C420E030E040EA50E4B201C3010F9473 -:102EC0001D1CD62E272E382EC92E862F922DA32DCF -:102ED000BC2D8BAB9CABADABBEAB812F902FAF2D80 -:102EE000BE2D8FA798ABA9ABBAAB2D968FAD2D9702 -:102EF00081114AC09FAD91111FC020E030E040EA2F -:102F000050E4612F702F8F2D9E2D0F941D1C219644 -:102F10006FAF219723967FAF239725968FAF259785 -:102F200027969FAF2797AFADD42C252C362CC72CD6 -:102F3000AA2309F4C6C023C0C201D3018BAB9CAB4A -:102F4000ADABBEAB20E030E040EA50E4612F702F23 -:102F50008F2D9E2D0F941C1C6FA778AB89AB9AAB5D -:102F6000BFADB43054F221961FAF219723960FAF17 -:102F700023972596FFAE25972796EFAE2797EFADBF -:102F8000E4300CF489C09DC02D96FFAD2D97F43030 -:102F90000CF453C02FAD24305CF020E030E040EA68 -:102FA00050E4B201C3010F941C1C362F272F03C01D -:102FB000342D252DC301432F522FBC014BAB5CABED -:102FC0006DAB7EAB3FAD31117EC420E030E040EA16 -:102FD00050E4B201C3010F941C1CD62E272E382EAC -:102FE000C92E20E030E040EA50E4612F702F8F2D91 -:102FF0009E2D0F941D1C6FA778AB89AB9AAB4FAD7C -:10300000442309F452C020E030E040EA50E4612F4C -:10301000702F8F2D9E2D0F941C1C21966FAF219722 -:1030200023967FAF239725968FAF259727969FAF3F -:1030300027978FAD843084F144C09FAD91110FC0AC -:1030400020E030E040E251E46D2D722D832D9C2D67 -:103050000F941C1CD62E272E382EC92E11C0AFADB2 -:10306000A430C4F120E030E040E251E46D2D722D37 -:10307000832D9C2D0F941C1C6BAB7CAB8DAB9EAB3E -:1030800021961FAF219723960FAF23972596FFAE6A -:1030900025972796EFAE279752ED852E53E5952E6F -:1030A0005BE7A52E51E4B52E29C021961FAF2197CD -:1030B00023960FAF23972596FFAE25972796EFAE61 -:1030C000279742ED842E43E5942E4BEFA42E40E447 -:1030D000B42E14C021961FAF219723960FAF2397CC -:1030E0002596FFAE25972796EFAE279732ED832ED4 -:1030F00033E5932E3BEFA32E31E4B32E8BA99CA98D -:10310000ADA9BEA92C968CAF9DAFAEAFBFAF2C972B -:103110009C01AD01B201C3010F941C1C698B7A8B19 -:103120008B8B9C8B4FA458A869A87AA8A301920105 -:10313000612F702F8F2D9E2D0F941C1C6D8B7E8BFD -:103140008F8B988F2C962CAD3DAD4EAD5FAD2C97EF -:1031500060914317709144178091451790914617DD -:103160000F941C1C2C966CAF7DAF8EAF9FAF2C972D -:10317000A3019201609147177091481780914917F8 -:1031800090914A170F941C1C2B013C018D2D922D00 -:10319000A32DBC2D89839A83AB83BC8321968FADED -:1031A000219723969FAD23972596AFAD2597279618 -:1031B000BFAD27978D839E83AF83B887809105131A -:1031C00090910613A0910713B091081389879A87ED -:1031D000AB87BC872DEC3CEC4CEC5CE3C501B40147 -:1031E0000F9499152091091330910A1340910B13F4 -:1031F00050910C130F94991520914F17309150173F -:1032000040915117509152170F941D1C6D877E8766 -:103210008F87988B2C962CAD3DAD4EAD5FAD2C9726 -:10322000CA01B9010F9499156B017C01A3019201A8 -:10323000C301B2010F9499159B01AC01C701B601FE -:103240000F941D1C20E030E040E050E40F947D1E00 -:1032500018160CF047C00E94D5EA1BA21CA21DA2A2 -:103260001EA220E030E040E05FE360914B177091D8 -:103270004C1780914D1790914E170F941D1C6F8F16 -:1032800078A389A39AA39E012D5D3F4FAE01415EB5 -:103290005F4F67E477E183E497E10E94AD921BA260 -:1032A0001CA21DA21EA220E030E040E05FE360917E -:1032B00005137091061380910713909108130F94D2 -:1032C0001D1C6F8F78A389A39AA39E012D5D3F4F8C -:1032D000AE01415E5F4FBE01615D7F4FCE01C3967F -:1032E0000E94AD921F8E18A219A21AA29E01215E01 -:1032F0003F4F45E053E1BE01615D7F4FCE01C39674 -:103300000E94AD920E9401EB40905F0250906002DB -:103310006090610270906202E0907010F090711005 -:103320000091721010917310A0906C10B0906D10FD -:10333000C0906E10D0906F109501A601B701C80122 -:103340000F947D1E181614F47501860120E030E0FC -:1033500040E251E4B701C8010F94171D60935F026A -:1033600070936002809361029093620240E0BE011C -:103370006F5E7F4FCE0101960E9474CB40925F0238 -:103380005092600260926102709262020E9453A7A2 -:1033900022242394312CD10111972896BFAFAEAFD0 -:1033A0002897812C912C5401839427960FAC279752 -:1033B00004C0880C991CAA1CBB1C0A94D2F7412C8F -:1033C000512C32014394022C04C0440C551C661C41 -:1033D000771C0A94D2F7482859286A287B2881E06C -:1033E00090E0FC0127960FAC279702C0EE0FFF1F5D -:1033F0000A94E2F72A96FFAFEEAF2A972FE631E163 -:1034000026963FAF2EAF269783E491E124969FAF97 -:103410008EAF2497AFE8B1E12296BFAFAEAF22974F -:10342000C12CD12C2496EEADFFAD24976496FFAF4E -:10343000EEAF649780819181A0E0B0E08421952176 -:10344000A621B72184159505A605B70509F099C0F1 -:103450002296AEADBFAD22978D919C91A0E0B0E0D9 -:1034600088219921AA21BB21892B8A2B8B2B09F03A -:1034700088C00091F8121091F912E0904013F0907A -:10348000411328962EAD3FAD28972E9DB0012F9D5C -:10349000700D3E9D700D1124600F711F6E5F7F4F88 -:1034A000072E000C880B990B0F943A156BA77CA77D -:1034B0008DA79EA72E9CB0012F9C700D3E9C700D79 -:1034C0001124600F711F62507109072E000C880BC8 -:1034D000990B0F943A156BA37CA38DA39EA34AE38B -:1034E00051E061E070E0CE018B960E947E83809176 -:1034F000421390914313C89EB001C99E700DD89E8F -:10350000700D11248091FA129091FB12680F791FAF -:10351000161617060CF09BC1663331E0730714F0E2 -:1035200065E371E0072E000C880B990B0F943A1598 -:103530006F8F78A389A39AA36FA378A789A79AA767 -:103540004AE351E061E070E0CE0183960E947E8301 -:103550004FA158A569A57AA5CE018B960E94718FBF -:1035600081117AC12296AEADBFAD22978D919C910B -:1035700011972A96EEADFFAD2A978E2B9F2B8D9338 -:103580009C9324962EAD3FAD24972E5F3F4F2496FB -:103590003FAF2EAF24976496AEADBFAD64978D91CB -:1035A0009C91A0E0B0E088219921AA21BB21892B20 -:1035B0008A2B8B2B09F4A9C0F90180819181A0E0AD -:1035C000B0E088219921AA21BB21892B8A2B8B2B42 -:1035D00009F49BC02696EEADFFAD269780819181C0 -:1035E000A0E0B0E088219921AA21BB21892B8A2B58 -:1035F0008B2B09F08AC00091FA121091FB12E09017 -:103600004213F0904313CE9CB001CF9C700DDE9C12 -:10361000700D1124600F711F6E5F7F4F072E000C1D -:10362000880B990B0F943A156FA378A789A79AA7CF -:10363000C60101968E9DB0018F9D700D9E9D700DEF -:103640001124600F711F62507109072E000C880B46 -:10365000990B0F943A156F8F78A389A39AA3809141 -:1036600040139091411328962EAD3FAD2897289F87 -:10367000B001299F700D389F700D11248091F812B0 -:103680009091F912680F791F161617060CF0FDC0FD -:103690006B3331E0730714F06AE371E0072E000C1E -:1036A000880B990B0F943A156BA37CA38DA39EA353 -:1036B0006BA77CA78DA79EA745E351E061E070E072 -:1036C000CE0187960E947E8345E351E061E070E081 -:1036D000CE014F960E947E834FA158A569A57AA579 -:1036E000CE018B960E94718F8111D4C02696AEAD0B -:1036F000BFAD26978D919C9111972A96EEADFFADA7 -:103700002A978E2B9F2B8D939C93FFEFCF1ADF0A66 -:1037100026962EAD3FAD26972E5F3F4F26963FAFA4 -:103720002EAF269722968EAD9FAD229702962296B7 -:103730009FAF8EAF229795E0C916D10409F072CEE3 -:10374000AFEF2A1A3A0AB6E02B16310409F023CE5D -:103750008091EC118093ED112F96EEADFFAD2F9778 -:1037600031972F96FFAFEEAF2F97EF2B41F02D96AD -:10377000FFAD2D97F7FD03C02FAD27FF35CB6FEFC2 -:103780008EEF9DE10E94ADE00E94D5EA80E090E0DE -:10379000A0EAB0E48093191390931A13A0931B131B -:1037A000B0931C1319821A821B821C829E012F5F08 -:1037B0003F4F49E153E165E173E181E193E10E940B -:1037C000AD928091671190916811A0916911B091AB -:1037D0006A118093111390931213A0931313B09353 -:1037E00014138091631190916411A0916511B091AF -:1037F00066118093151390931613A0931713B0932B -:10380000181319821A821B821C829E012F5F3F4F60 -:1038100049E153E165E173E181E193E10E94AD92F9 -:1038200062963FAD62973093B8110E94F5A26196FF -:103830004FAD6197411150C01092120910921109B9 -:103840000E9408BF80E090E00E94A6BF45C060E0F3 -:1038500070E080E89FE36CCE4F8D58A169A17AA1FA -:10386000CE0183960E94718F882309F47BCE9E013E -:10387000215E3F4FAE014D5D5F4FBE01695D7F4FE1 -:10388000CE018B960E9431EB6DCE60E070E080E857 -:103890009FE30ACF4F8D58A169A17AA1CE018396EB -:1038A0000E94718F882309F421CF9E01215E3F4F32 -:1038B000AE014D5D5F4FBE01695D7F4FCE018B96BE -:1038C0000E9431EB13CFFFADD42C252C362CC72C06 -:1038D000F4300CF098CB85CBCD5ADF4F0FB6F8946F -:1038E000DEBF0FBECDBFDF91CF911F910F91FF9033 -:1038F000EF90DF90CF90BF90AF909F908F907F9090 -:103900006F905F904F903F902F9008958091D014CA -:103910009091D114891B8F708F3021F480E00E9428 -:103920005B4FF4CF8091D0148F5F8F70E091D014F3 -:1039300098E49E9FF0011124EB53F44FDF011D9298 -:103940009A95E9F798E090834091E6145091E71436 -:103950006091E8147091E914458B568B678B708FDA -:103960004091EA145091EB146091EC147091ED14B5 -:10397000418F528F638F748F4091EE145091EF14EA -:103980006091F0147091F114458F568F678F70A37A -:103990004091F2145091F3146091F4147091F51465 -:1039A00041A352A363A374A32091D0149091D11486 -:1039B000291303C094E69093CD148093D014809182 -:1039C0006F00826080936F0008950F930FB70F937D -:1039D00000916E000F930B7F00936E0000916F00BB -:1039E0000D7F00936F000F930BB70F930CB70F92DF -:1039F0001F922F933F934F935F936F937F938F9378 -:103A00009F93AF93BF93EF93FF9311240E945B8822 -:103A1000FF91EF91BF91AF919F918F917F916F91A6 -:103A20005F914F913F912F911F900F900CBF0F917D -:103A30000BBF0F910260F89400936F000F910093F9 -:103A40006E000F910FBF0F9118958091360980FF7E -:103A500003C089988FEF02C0899A81E08093A110FA -:103A600080913609869580FF03C08F9A8FEF02C040 -:103A70008F9881E08093A210809136098695869573 -:103A800080FF08C080910B018095827080930901AE -:103A90008FEF06C080910B0182708093090181E055 -:103AA0008093A3108091360986958695869580FF30 -:103AB00003C016988FEF02C0169A81E08093A4107D -:103AC00000000000000008958091D0149091D1145E -:103AD000891B8F7019F480E090E008959091CD14C7 -:103AE000992351F0833030F48FEF890F19F08093D0 -:103AF000CD14F1CF1092CD14E091D11488E4E89F59 -:103B0000F0011124EB53F44F808180FDE4CF8091CC -:103B1000D1148F5F8F708093CE149091D1148091C7 -:103B2000CF14981304C08091CE148093CF14CF018A -:103B30000895CF92DF92EF92FF92CF93DF93CDB7AC -:103B4000DEB728970FB6F894DEBF0FBECDBF20E0DA -:103B500030E040EA50E460914B1770914C1780912F -:103B60004D1790914E170F9433158823E9F01D825D -:103B70001E821F821886C12CD12C80EAE82E80E498 -:103B8000F82EC982DA82EB82FC82BE016B5F7F4F26 -:103B9000CE0101960E945ED7C0924B17D0924C176F -:103BA000E0924D17F0924E1728960FB6F894DEBFAC -:103BB0000FBECDBFDF91CF91FF90EF90DF90CF9000 -:103BC0000895BF92CF92DF92EF92FF920F931F93CF -:103BD000CF93DF93CDB7DEB728970FB6F894DEBF4B -:103BE0000FBECDBF90913709981709F47DC0B82E4C -:103BF000882309F454C080E090E0A0E2B1E48D8312 -:103C00009E83AF83B887C0903613D0903713E0906F -:103C10003813F090391320E030E0A901C701B60154 -:103C20000F94331587FF0CC0A701960160E070E088 -:103C300080E291E40F941C1C6D837E838F839887B0 -:103C400020E030E048EC53E46D817E818F819885DF -:103C50000F947D1E181644F480E090E0A8ECB3E4C5 -:103C60008D839E83AF83B8872D813E814F81588598 -:103C700060914B1770914C1780914D1790914E1792 -:103C80000F94331587FF0BC019821A821B821C8286 -:103C9000BE016F5F7F4FCE0105960E945ED7609197 -:103CA00043177091441780914517909146172091C2 -:103CB0004717309148174091491750914A17198278 -:103CC0001A821B821C82E0904B17F0904C170091D7 -:103CD0004D1710914E17FE0131966F010E947BD651 -:103CE000B09237090E9474DA80E028960FB6F894F3 -:103CF000DEBF0FBECDBFDF91CF911F910F91FF901F -:103D0000EF90DF90CF90BF900895CF93DF93C09155 -:103D1000D3118AEE96E00E943A4F8091CE118730FF -:103D200009F445C083E08093CD1181E08093340293 -:103D300080E190E0909353158093521585E0809335 -:103D40004615D2E8D093491584E190E1A0E0B0E0B7 -:103D500080934A1590934B15A0934C15B0934D1535 -:103D60000E948DF961E070E080E090E00E94A9AED1 -:103D700081E09AE5909353158093521585E390E086 -:103D8000909355158093541587E080934615D093F2 -:103D9000491584E890E0A0E0B0E080934A15909344 -:103DA0004B15A0934C15B0934D150E948DF9C13061 -:103DB00081F1C23059F40E945DDF6093C5117093A8 -:103DC000C6118093C7119093C81102C00E9491DF61 -:103DD00081E08093D3110E9481EE6093C1117093B2 -:103DE000C2118093C3119093C411C230A1F080918D -:103DF000240990912509019690932509809324091F -:103E00001092D4111092D5111092D6111092D71190 -:103E100002C080E001C081E0DF91CF910895CF938F -:103E2000DF9300D01F92CDB7DEB78091230988239E -:103E3000A9F083E390E09C838B831A8219829E0110 -:103E40002F5F3F4F40E150E064E279E0CE010396FE -:103E50000E94DB4D82E097E00E943A4F0F900F9056 -:103E60000F900F90DF91CF910895CF92DF92EF9254 -:103E7000FF920F931F938091D3118150823010F0E5 -:103E800080E0A7C08EE397E00E943A4F8091CE1168 -:103E9000833009F441C082E297E00E943A4F8EE2FB -:103EA00097E00E943A4F40E060E070E0CB010E9452 -:103EB00053E141E060E070E0CB010E9453E181E01A -:103EC000809305021092CC1121E030E03093CB11A9 -:103ED0002093CA118093340281E09AE590935315A0 -:103EE000809352158DE290E0909355158093541570 -:103EF00087E08093461582E88093491584E890E036 -:103F0000A0E0B0E080934A1590934B15A0934C1518 -:103F1000B0934D150E948DF91092D3110E9481EE3D -:103F20006093CF117093D0118093D1119093D211DF -:103F300080912609909127090196909327098093F3 -:103F40002609C090D411D090D511E090D611F090F0 -:103F5000D7110E945DDF6093D4117093D5118093C7 -:103F6000D6119093D7110091280910912909209119 -:103F70002A0930912B090C191D092E093F09DC0172 -:103F8000CB01800F911FA21FB31F8093280990932C -:103F90002909A0932A09B0932B090E945DDF0091A3 -:103FA0002C0910912D0920912E0930912F09061707 -:103FB00017072807390750F40E945DDF60932C092A -:103FC00070932D0980932E0990932F090E940F9FC3 -:103FD00081E01F910F91FF90EF90DF90CF900895B7 -:103FE000CF93DF9300D01F921F92CDB7DEB781E051 -:103FF00080932309E4E2F9E080E1DF011D928A95D4 -:10400000E9F70E940F9F86E18D8382E390E09C8315 -:104010008B831A8219829E012F5F3F4F41E050E04F -:10402000BE016B5F7F4FCE0103960E94DB4D0F9068 -:104030000F900F900F900F90DF91CF910895CF9236 -:10404000DF92EF92FF920F931F93CF93DF93C8E419 -:10405000D0E107E81BE0C12CD12C7601C394699113 -:104060007991899199910F943815288939894A89CC -:104070005B890F9499150F94901DF80161937193CA -:10408000819391938F01C616D706E806F90610F4BE -:104090006B017C01F0E1C835DF0709F76FEF7FEFB7 -:1040A000CB01A70196010F94891B2093970B3093A6 -:1040B000980B4093990B50939A0BDF91CF911F91DE -:1040C0000F91FF90EF90DF90CF9008950F931F9383 -:1040D000CF93DF930CE510E1CDE9DBE0F80121910E -:1040E0003191419151918F0160E070E080E89FE350 -:1040F0000F94171D6993799389939993FBE0CD3AB7 -:10410000DF0761F70E945B82DF91CF911F910F91D2 -:104110000C941FA09091D0148091D114981306C0D4 -:104120008091451090914610892B21F080E00E94EB -:104130005B4FF0CF08952091681030916910409145 -:104140006A1050916B10FC016081718182819381B2 -:104150000F9499150F948A1E6093F2147093F314C0 -:104160008093F4149093F5149091D0148091D1140D -:1041700098130C94869C0E948AA080916F00982FBF -:10418000927081FF05C080916F008D7F80936F00DA -:104190004091F2145091F3146091F4147091F5145D -:1041A0004093C3105093C4106093C5107093C61011 -:1041B000992329F080916F00826080936F000895A9 -:1041C000EF92FF920F931F93CF93DF937B018A01AE -:1041D000E90120915C1030915D1040915E1050918A -:1041E0005F10FC0160817181828193810F94991528 -:1041F0000F948A1E6093E6147093E7148093E8147A -:104200009093E914209160103091611040916210F8 -:1042100050916310F70160817181828193810F94C5 -:1042200099150F948A1E6093EA147093EB1480938F -:10423000EC149093ED14209164103091651040912E -:10424000661050916710F8016081718182819381BD -:104250000F9499150F948A1E6093EE147093EF14C7 -:104260008093F0149093F1142091681030916910AC -:1042700040916A1050916B10688179818A819B818D -:104280000F9499150F948A1E6093F2147093F3148F -:104290008093F4149093F5149091D0148091D114DC -:1042A000981741F0DF91CF911F910F91FF90EF9000 -:1042B0000C94869C0E948AA080916F00982F927027 -:1042C00081FF05C080916F008D7F80936F004091CA -:1042D000E6145091E7146091E8147091E91440934A -:1042E000B7105093B8106093B9107093BA10409102 -:1042F000EA145091EB146091EC147091ED1440931A -:10430000BB105093BC106093BD107093BE104091D1 -:10431000EE145091EF146091F0147091F1144093E9 -:10432000BF105093C0106093C1107093C2104091A1 -:10433000F2145091F3146091F4147091F5144093B9 -:10434000C3105093C4106093C5107093C610992386 -:1043500029F080916F00826080936F00DF91CF9190 -:104360001F910F91FF90EF900895CF93DF93C82F87 -:104370000E942A8824E0C29FE0011124C356D44F32 -:104380000F943A15288139814A815B810F949915E0 -:10439000DF91CF9108959091D0148091D11498130A -:1043A00006C08091451090914610892B21F080E045 -:1043B0000E945B4FF0CF5F9A8091BA138E7F8093FB -:1043C000BA138A9A8091BA138D7F8093BA13809121 -:1043D000080180958170809306018091BA138B7FCC -:1043E0008093BA130C94554DCF93DF9390916F0047 -:1043F000292F227091FF05C090916F009D7F9093AF -:104400006F0094E0899FA0011124FA01E555FF4E49 -:104410006081718182819381222329F020916F0034 -:10442000226020936F00EA01C356D44F0F943A15CF -:10443000288139814A815B810F949915DF91CF9151 -:10444000089580916F00982F927081FF05C0809130 -:104450006F008D7F80936F008091D1148093D01472 -:104460008093CF148093CE1484E68093CD1428EEED -:1044700033E03093461020934510992329F0809122 -:104480006F00826080936F0081E08093AA1008958E -:10449000CF92DF92EF92FF92CF93DF9320915B1741 -:1044A000222331F1EC0108960E9447D26B017C0176 -:1044B00020E030E0A9010F943315882361F0CE018C -:1044C0000E94B6FC9B01AC01C701B6010F9499157F -:1044D0009B01AC0103C020E030E0A901688579852B -:1044E0008A859B850F941C1C688779878A879B87A0 -:1044F000DF91CF91FF90EF90DF90CF9008954F9292 -:104500005F926F927F92AF92BF92CF92DF92EF92C3 -:10451000FF920F931F93CF93DF93CDB7DEB72C9706 -:104520000FB6F894DEBF0FBECDBF20915B172223DC -:1045300009F446C08A017B016C01CA010E9447D27E -:104540002B013C01CE0101965C018CE0F50111923A -:104550008A95E9F7F60180819181A281B3818983EF -:104560009A83AB83BC83F70180819181A281B3815F -:104570008D839E83AF83B88720E030E0A901C3011B -:10458000B2010F943315882361F0C5010E94B6FC77 -:104590009B01AC01C301B2010F9499159B01AC01C1 -:1045A00003C020E030E0A901F801608171818281BF -:1045B00093810F941D1CF801608371838283938320 -:1045C0002C960FB6F894DEBF0FBECDBFDF91CF9112 -:1045D0001F910F91FF90EF90DF90CF90BF90AF9021 -:1045E0007F906F905F904F900895CF92DF92EF92FF -:1045F000FF928091B811882371F1C090BD11D090C5 -:10460000BE11E090BF11F090C01120E030E0A90190 -:10461000C701B6010F9433158823E9F020E030E09C -:1046200040E05FE3C701B6010F9499159B01AC010F -:104630000F9499152BED3FE049E450E40F94991540 -:104640009B01AC0160E070E080E89FE30F94171DD0 -:104650006B017C0106C0C12CD12C80E8E82E8FE3D1 -:10466000F82EC092B911D092BA11E092BB11F0921B -:10467000BC116091260270912702072E000C880B56 -:10468000990B0F943A152AE037ED43E25CE30F945F -:104690009915A70196010F949915609315027093CF -:1046A00016028093170290931802FF90EF90DF900C -:1046B000CF9008954F925F926F927F928F929F92C8 -:1046C000AF92BF92CF92DF92EF92FF920F931F9320 -:1046D000CF93DF93CDB7DEB768970FB6F894DEBF00 -:1046E0000FBECDBF8C015B015A834983DC01D69696 -:1046F0006D917D918D919C91D9970F9438156B0197 -:104700007C01F50120813181428153810F949915FB -:104710000F94FB1C0F94901D69877A878B879C8769 -:10472000A981BA812D913D914D915C91C701B6014E -:104730000F9499150F94FB1C0F94901D6D877E8725 -:104740008F87988B29853A854B855C85283731057D -:104750004105510540F488E790E0A0E0B0E089878A -:104760009A87AB87BC872D853E854F85588928372A -:1047700031054105510540F488E790E0A0E0B0E044 -:104780008D879E87AF87B88BF801EE5BFF4F208146 -:1047900031814281538129833A834B835C83CA01EF -:1047A000B9010F943A152B013C0169857A858B85F7 -:1047B0009C850F943815698B7A8B8B8B9C8B20E0B2 -:1047C00030E0A901C301B2010F943315882329F108 -:1047D000A7019601C701B6010F9499154B015C0121 -:1047E00029893A894B895C89CA01B9010F949915C5 -:1047F0009B01AC01C501B4010F941C1C4B015C0171 -:10480000A3019201C301B2010F941D1C9B01AC01D5 -:10481000C501B4010F94171D03C060E070E0CB0127 -:104820000F94FB1C0F94901D6D837E838F8398875C -:1048300069817A818B819C81909580957095619535 -:104840007F4F8F4F9F4F0F943A154B015C016D8541 -:104850007E858F8598890F94381569837A838B8339 -:104860009C8320E030E0A901C501B4010F94331509 -:10487000882349F129813A814B815C81CA01B901C0 -:104880000F9499156D8B7E8B8F8B988FA701960156 -:10489000C701B6010F9499159B01AC016D897E8902 -:1048A0008F89988D0F941C1C6B017C01A5019401CC -:1048B000C501B4010F941D1C9B01AC01C701B601D9 -:1048C0000F94171D03C060E070E0CB010F94BF1D73 -:1048D000D80195968D909D90AD90BC90989775015C -:1048E00064012D813E814F815885C21AD30AE40AA2 -:1048F000F50A0F94901DC61AD70AE80AF90AF7FEBE -:1049000075C020E030E0A901C301B2010F94331556 -:10491000882309F443C0C501B4010F9438156B0115 -:104920007C01A3019201C301B2010F941D1C9B01E4 -:10493000AC01C701B6010F9499156B017C0129895F -:104940003A894B895C89CA01B9010F9499159B0179 -:10495000AC01C701B6010F941C1C6B017C012981BD -:104960003A814B815C81CA01B9010F9499159B0171 -:10497000AC01C701B6010F941D1C6B017C0120E046 -:1049800030E040E850E4C301B2010F9499159B0157 -:10499000AC01C701B6010F94171D03C060E070E0C1 -:1049A000CB010F94FB1C7B018D83998320E030E0C9 -:1049B000A9010F947D1E181624F0E12CF12C1D8204 -:1049C0001982B7018D8199810F94901D6D837E832B -:1049D0008F83988786169706A806B90620F48D82DD -:1049E0009E82AF82B886C12CD12C76018D819E81AA -:1049F000AF81B885F80181A792A7A3A7B4A7C80E75 -:104A0000D91EEA1EFB1EC5A6D6A6E7A6F0AA2985D2 -:104A10003A854B855C8522AF33AF44AF55AFFE96E8 -:104A20002D853E854F85588920833183428353836A -:104A300068960FB6F894DEBF0FBECDBFDF91CF9161 -:104A40001F910F91FF90EF90DF90CF90BF90AF90AC -:104A50009F908F907F906F905F904F90089580917E -:104A6000471083FD0FC08091AD0B81110BC02091C9 -:104A7000B60B3091B70B8091190290911A0228174A -:104A8000390724F061E080E00C94B2B90F94FC0186 -:104A900081E592E20F94130180E00895CF92DF92B6 -:104AA000EF92FF920F931F93CF93DF937C018B01C3 -:104AB000109207090E947C4DC3E4D7E120911502B2 -:104AC000309116024091170250911802F70160814F -:104AD0007181828193810F94171D2C853D854E85B0 -:104AE0005F850F941D1C6C877D878E879F87C12CE7 -:104AF000D12C76012FE437E14BE457E167E477E10D -:104B0000CE010E94F381DF91CF911F910F91FF9011 -:104B1000EF90DF90CF900C948AA0CF92DF92EF922B -:104B2000FF92C0905F02D0906002E0906102F0902E -:104B30006202FC0180819181A281B38180935F0236 -:104B400090936002A0936102B09362020E9478D3B6 -:104B5000C0925F02D0926002E0926102F092620223 -:104B6000FF90EF90DF90CF9008952F923F924F9259 -:104B70005F926F927F928F929F92AF92BF92CF92ED -:104B8000DF92EF92FF920F931F93CF93DF93CDB7F6 -:104B9000DEB76F970FB6F894DEBF0FBECDBF9C8F08 -:104BA0008B8F7E8F6D8F212C312C2FEF28873FEF3D -:104BB0003F834FEF488B5FE4598B83EC8A8B97E4FC -:104BC0009B8B21E030E040E050E0022C04C0220F3B -:104BD000331F441F551F0A94D2F72F8B388F498FEC -:104BE0005A8F43E451E15B874A8700E010E02F8E43 -:104BF000AA85BB858D919D91BB87AA87A0E0B0E077 -:104C00002F89388D498D5A8D82239323A423B52370 -:104C1000892B8A2B8B2B09F0ECC08091401390914B -:104C20004113289EB001299E700D389E700D1124ED -:104C30008091F8129091F912680F791F072E000CDD -:104C4000880B990B0F943A156C877D878E879F8709 -:104C50008091421390914313089FB001099F700DFA -:104C6000189F700D11248091FA129091FB12680F19 -:104C7000791F072E000C880B990B0F943A156B01C6 -:104C80007C012C853D854E855F85AB8DBC8D6D91FE -:104C90007D918D919C910F941C1C2B013C01A701CF -:104CA0009601ED8DFE8D60817181828193810F94DB -:104CB0001C1C4B015C01A3019201C301B2010F94C2 -:104CC00099152B013C01A5019401C501B4010F9474 -:104CD00099159B01AC01C301B2010F941D1C0F94E7 -:104CE000CB1E4B015C012C853D854E855F85609117 -:104CF0006711709168118091691190916A110F94F8 -:104D00001C1C2B013C01A70196016091631170915D -:104D1000641180916511909166110F941C1C6B01B8 -:104D20007C01A3019201C301B2010F9499152B01DB -:104D30003C01A7019601C701B6010F9499159B018B -:104D4000AC01C301B2010F941D1C0F94CB1E20E0D7 -:104D500030E040E751E40F94171DA50194010F9432 -:104D60001D1C6B017C0180906B1190906C11A090C8 -:104D70006D11B0906E1120E030E040E85FE3C501B6 -:104D8000B4010F947D1E1816FCF4C501B4010F94F4 -:104D9000891D4B015C0116161706180619063CF40E -:104DA0000F947610A50194010F94AB1B03C060E033 -:104DB00070E0CB010F943A159B01AC01B601C7011D -:104DC0000F941D1C6B017C01288939894A895B89F4 -:104DD000B601C7010F94331587FF0BC0FF8DF8870D -:104DE0000F83C986DC8AED8AFE8AC88AD98AEA8A54 -:104DF000FB8A0F5F1F4F0530110509F0F9CE2FEF29 -:104E0000221A320A35E02316310409F0DACE4F8136 -:104E1000E42FF0E0EE0FFF1FED5BFE4E81E090E02F -:104E2000088402C0880F991F0A94E2F7208131811B -:104E3000822B932B9183808389859C89AD89BE8940 -:104E40008B839C83AD83BE83482F5C816D817E8183 -:104E500028853F8180E090E06F960FB6F894DEBF22 -:104E60000FBECDBFDF91CF911F910F91FF90EF90BB -:104E7000DF90CF90BF90AF909F908F907F906F907A -:104E80005F904F903F902F9008958C3891051CF0C3 -:104E90002CE880E002C0282F892F209311098093ED -:104EA00012090C9408BF80E1E3E4F7E1A1E1B3E16A -:104EB00001900D928A95E1F708958091B013909139 -:104EC000B113009731F04AE050E060E070E00D94DB -:104ED000291260E070E0CB0108950E945DA797FD64 -:104EE0000CC00E945DA76F3F71058105910509F017 -:104EF00034F40E945DA7862F089580E008958FEF17 -:104F000008958091B0139091B113892B39F00E94CC -:104F10006DA791E0811103C090E001C091E0892F5D -:104F200008950E945DA7CB0108950F931F93CF931F -:104F30008091B0139091B113009711F1FC018F0192 -:104F4000C1912C2F2F7DA9F0C53411F0C536B9F7CA -:104F5000F801108260E070E08091B0139091B1137D -:104F60000F94CD10F801C083562F472F382F292FCB -:104F70000BC060E070E0CF911F910F910D94CD10A8 -:104F800050E040E030E020E0652F742F832F922F17 -:104F9000CF911F910F91089581548A3108F042C03A -:104FA000E82FF0E04091B8125091B9126091BA1216 -:104FB0007091BB1204C076956795579547958A9571 -:104FC000D2F7842F817040FF2FC0E256FD4E9081B2 -:104FD000992309F1E091810BF091820BE90FF11D0A -:104FE000908120ED290F2A3098F09E3211F49181A2 -:104FF0000CC09D3211F09B3271F4918120ED290F8C -:105000002A3030F09E3239F4928190539A3018F45D -:105010002E2F9F2F02C020E090E02093B01390939A -:10502000B113089580E0089508950E94CCA78823C5 -:1050300041F081E02091B0133091B113232B09F49A -:1050400080E00895CF93DF93C82FD62F0E9415A834 -:10505000882321F0DF91CF910C9481A78C2F0E949F -:10506000CCA7811101C08D2FDF91CF9108950F93AF -:105070001F93CF938C01C62F80E990E20F94130108 -:10508000C8010F941301CC2331F08AE0CF911F9116 -:105090000F910C942F4ECF911F910F91089560E0C6 -:1050A00085EA90E20E9437A88DEA90E20F941301FE -:1050B0008AE00C942F4E60E085EA90E20E9437A8C7 -:1050C00081EA90E20F9413018AE00C942F4EEF9244 -:1050D000FF920F931F93CF937C018B01C42F60E04D -:1050E00085EA90E20E9437A8C7010F94130180E27D -:1050F0000E942F4EC8010F941301CC2341F08AE087 -:10510000CF911F910F91FF90EF900C942F4ECF9164 -:105110001F910F91FF90EF90089541E0BC018AE943 -:1051200090E20C9467A8CF93DF93C091D8111092AE -:10513000D811C230B9F118F4C13041F041C0C430C7 -:10514000B1F1C530E9F5C8EDD0E23FC081111DC015 -:105150000E945BA841E063E471E28AE692E20E9469 -:1051600067A888E391E20E948DA8809107098823AF -:1051700019F08AE291E204C0C093D81181E291E271 -:105180000E948DA80E944FA81EC08130E1F480913A -:1051900007098823C1F010921B02109207090E9490 -:1051A0007C4D11C01092EA12C4EFD0E20EC08DE126 -:1051B00091E29093470980934609C3EED0E205C07F -:1051C000CAECD0E202C0CDE0D1E282EB90E20F94D3 -:1051D0001301CE010F9413018AE0DF91CF910C945B -:1051E0002F4E0F931F93CF93DF938B01EA01809390 -:1051F000D8110E945BA841E0B8018AE692E20E94C1 -:1052000067A8209719F0CE010E948DA8DF91CF9159 -:105210001F910F910C944FA80F931F93CF93DF937F -:10522000C82F0F94FC01C11103C088E691E202C0AF -:105230008AE891E20F9413010E9481EEDC01CB0118 -:1052400088539045AF4FBF4F809387129093881239 -:10525000A0938912B0938A1210928B121091780841 -:1052600083E08093780881E08093EA124AE352E277 -:1052700063E472E282E00E94F1A88CE292E20E9472 -:10528000C8AFCC2319F0CAE8D1E202C0C8E6D1E227 -:1052900001E08091EA12882309F455C080918B12B5 -:1052A000882309F44CC00F94FC0185E092E20F942E -:1052B000130140EF51E267EF71E282E00E94F1A832 -:1052C00082EE91E20E94C8AF8091EA12882321F019 -:1052D00081E00E945B4FF8CF40E050E068ED71E262 -:1052E00082E00E94F1A88BEC91E20E9483AF0E94C1 -:1052F0009CE10E942FA50F94FC01CE010F94130195 -:105300000E9481EEDC01CB0188539045AF4FBF4F27 -:105310008093871290938812A0938912B0938A1277 -:1053200010928B1246EB51E26FEB71E282E00E9429 -:10533000F1A886E597E00E94C8AF0093EA1281E0E9 -:105340000E945B4FA6CF10937808DF91CF911F91F9 -:105350000F9108959091D811911102C00C94F1A869 -:1053600008958F929F92AF92BF92CF92DF92EF9269 -:10537000FF920F931F93CF93DF9300D01F92CDB76F -:10538000DEB76C017B018A01B0908B120E949CE118 -:10539000B11016C08091AD0B811112C06091B20B9B -:1053A0007091B30B8091B40B9091B50B0F94891D44 -:1053B0002091190230911A02621773070CF4C2C0CF -:1053C0000E942FA5882309F4BDC0BB20A1F10F9432 -:1053D000FC018FEB92E20F941301B090780883E008 -:1053E0008093780881E08093EA1282E08093D8115C -:1053F0000E945BA840E06FEA72E28AE692E20E94B5 -:1054000067A880E30E942F4E8AE00E942F4E86EA12 -:1054100092E20E948DA80E944FA888E992E20E9421 -:10542000C8AF8091EA12882321F081E00E945B4F8F -:10543000F8CFB092780820E030E0A901F601608151 -:105440007181828193810F943315882371F080E0FC -:1054500090E0A0ECB0E489839A83AB83BC83BE0167 -:105460006F5F7F4FC6010E944EA520E030E0A9018A -:10547000F70160817181828193810F9433158823B4 -:1054800051F18090801090908110A0908210B09087 -:10549000831080E090E0A8ECB1E4809380109093BA -:1054A0008110A0938210B093831080E090E0A0EF71 -:1054B000B1E489839A83AB83BC83BE016F5F7F4F66 -:1054C000C7010E944EA58092801090928110A092F8 -:1054D0008210B092831020E030E0A901F8016081D1 -:1054E0007181828193810F947D1E181674F480E07F -:1054F00090E0A0E4B0E489839A83AB83BC83BE01CF -:105500006F5F7F4FC8010E944EA581E08093D81144 -:105510000E945BA841E061E972E28AE692E20E94A1 -:1055200067A887E892E20E948DA8809107098823E6 -:1055300019F089E792E202C080E792E20E948DA80A -:105540000E944FA820E030E0A9016091E81170911D -:10555000E9118091EA119091EB110F94331587FFB7 -:105560000FC080E090E0A0E7B2E489839A83AB8328 -:10557000BC83BE016F5F7F4F88EE91E10E944EA514 -:1055800080E090E0A8E4B2E489839A83AB83BC8393 -:10559000AE014F5F5F4F60EE71E18CED91E10E94D3 -:1055A0003CD780E090E0A0EAB0E489839A83AB83A3 -:1055B000BC83BE016F5F7F4F84EE91E10E945ED796 -:1055C0008091E8119091E911A091EA11B091EB114D -:1055D00080934F1790935017A0935117B093521781 -:1055E00080931D1390931E13A0931F13B093201349 -:1055F0008DE193E10E949BA061E082E692E20E942D -:1056000037A88091CB0A81508093CB0A40E050E0CC -:105610006BEE72E285E00E94AAA98091CB0A8823F2 -:1056200039F00E946D598091CB0A81508093CB0A4A -:105630008091DB11882351F01092DB118091D911F8 -:1056400080939B0B8091DA1180939C0B8091D311F6 -:10565000823011F40E94859E0E9431E10F900F90DC -:105660000F900F90DF91CF911F910F91FF90EF90CE -:10567000DF90CF90BF90AF909F908F9008958F92C2 -:105680009F92AF92BF92CF92DF92EF92FF921F93C1 -:10569000CF93DF93CDB7DEB728970FB6F894DEBF70 -:1056A0000FBECDBF2091CB0A211123C17A015B012E -:1056B0006C0161E08AE491E20E9437A840E050E08A -:1056C00062E671E285E00E94AAA98091471083FDFD -:1056D00022C020E030E0A901F70160817181828160 -:1056E00093810F9433158823B1F01091AD0B1111F4 -:1056F00012C02091190230911A028091B60B90913C -:10570000B70B821793073CF40F94FC0181E591E2FB -:105710000F941301EFC08091CB0A91E0980F909302 -:10572000CB0A9091CE1692FF06C09B7F9093CE1627 -:105730008E5F8093CB0A0E94ACDF80E1E3E4F7E167 -:10574000ACEDB1E101900D928A95E1F70E948AA03B -:105750008091DB1181110FC081E08093DB1180917A -:105760009B0B8093D91110929B0B80919C0B809383 -:10577000DA1110929C0B20E030E0A901F601608163 -:105780007181828193810F943315882319F180915F -:10579000AD0B811111C06091B20B7091B30B809170 -:1057A000B40B9091B50B0F94891D20911902309183 -:1057B0001A026217730774F080E090E0A0E7B2E489 -:1057C00089839A83AB83BC83BE016F5F7F4FC60121 -:1057D0000E944EA50E94CF82811104C0B50182E0D3 -:1057E0000E94E5DF20E030E0A901F70160817181CE -:1057F000828193810F943315811102C011E07AC028 -:105800000E942FA5182F8823C9F380E090E0A0E71D -:10581000B2E48D839E83AF83B88780E090E0A0E8F8 -:10582000B0EC89839A83AB83BC83BE016B5F7F4FEF -:10583000CE0101960E944EA568E873E180E090E0F9 -:105840000F94E4008091781090917910A0917A10D3 -:10585000B0917B108D839E83AF83B88780E090E00A -:10586000A0E8B0E489839A83AB83BC83BE016B5FFD -:105870007F4FCE0101960E944EA58090801090909F -:105880008110A0908210B090831080E090E0A8EC8E -:10589000B1E48093801090938110A0938210B09314 -:1058A000831080E090E0A4E2B2E48D839E83AF8316 -:1058B000B887F70180819181A281B38189839A831E -:1058C000AB83BC83BE016B5F7F4FCE0101960E940C -:1058D0004EA58092801090928110A0928210B0927A -:1058E0008310129A64E670E080E090E00F94E40088 -:1058F00001C010E0812F28960FB6F894DEBF0FBECE -:10590000CDBFDF91CF911F91FF90EF90DF90CF90AF -:10591000BF90AF909F908F900895CF93DF93CDB7B6 -:10592000DEB72C970FB6F894DEBF0FBECDBF88232D -:1059300031F02091401330914113232B59F1909174 -:105940005B17891739F10E948AA08CE0E1EEF2E042 -:10595000DE01119601900D928A95E1F7CE01019634 -:105960000E94B6FC80915B17882359F04BE457E105 -:1059700067E477E183E497E10E947FA210925B17CE -:1059800007C081E080935B1783E497E10E9448A2FF -:105990000E9407D82C960FB6F894DEBF0FBECDBF7D -:1059A000DF91CF9108958F929F92AF92BF92EF9225 -:1059B000FF920F931F93CF93DF9380E00E948DACF3 -:1059C00010924313109242131092411310924013FD -:1059D0001092FB121092FA121092F9121092F81211 -:1059E0000CE413E1C0E0812C912C80ECA82E8FE711 -:1059F000B82EE12CF12CD0E0F801EE0DFF1D8082D5 -:105A00009182A282B38220E030E0A9016D2F8C2F19 -:105A10000E94C4AEDF5F84E0E80EF11CD53061F770 -:105A2000CF5F0C5E1F4FC53021F7DF91CF911F91E3 -:105A30000F91FF90EF90BF90AF909F908F9008953F -:105A40008091090180FD06C08091CE1683FB8827D6 -:105A500080F9089580E008950F931F93CF93DF930B -:105A60008B01D82FC92F4630C1F4109282121092A8 -:105A700083121092841210928512109286120E9444 -:105A800008BF20E030E04CE053E4B8018D2F9C2F9C -:105A90000F94331587FD0FC01DC00E949CE120E0CC -:105AA00030E046E953E4B8018D2F9C2F0F94331555 -:105AB00087FD20C02EC020E030E0A901B8018D2F65 -:105AC0009C2F0F947D1E18164CF000E010E0D0E0E3 -:105AD000C0E004C000E010E0DCE0C3E4B8018D2FBA -:105AE0009C2F0F94891DCB01DF91CF911F910F91B6 -:105AF0000C9445A720E030E0A901B8018D2F9C2F20 -:105B00000F947D1E18164CF000E010E0D0E0C0E0CD -:105B100004C000E010E0D6E9C3E4B8018D2F9C2F4B -:105B20000F94891DCB01DF91CF911F910F910C94A0 -:105B3000A6BF9091BA13977081E0973009F080E08A -:105B400008958091D0149091D114891B8F7069F4BD -:105B50008091C90A811109C081E0209146093091E4 -:105B60004709232B19F480E0089581E008953F92BE -:105B70004F925F926F927F928F929F92AF92BF925D -:105B8000CF92DF92EF92FF920F931F93CF93DF9309 -:105B9000CDB7DEB762970FB6F894DEBF0FBECDBFAC -:105BA0002B013C01342E24E0429FC00111249A8B2A -:105BB000898BFC01ED5BF84EC080D180E280F380E0 -:105BC00020E030E04AE754E4C701B6010F941C1C02 -:105BD0004B015C0120E030E04AE754E4C701B60124 -:105BE0000F941D1C7B018C01809154028823D1F1FC -:105BF00081E0381639F13816A0F092E0391232C03F -:105C000080904C0290904D02A0904E02B0904F02B6 -:105C1000E0905002F0905102009152021091530214 -:105C200021C080903C0290903D02A0903E02B09036 -:105C30003F02E0904002F090410200914202109138 -:105C4000430210C08090440290904502A09046020A -:105C5000B0904702E0904802F090490200914A0259 -:105C600010914B0280E1EDEEF2E0DE011196019021 -:105C70000D928A95E1F7E1E0F0E0EC0FFD1F8989D4 -:105C80009A89E80FF91F20E030E040E752E4608194 -:105C90007181828193810F94171D60935F027093CD -:105CA000600280936102909362028091BB1381FF36 -:105CB0000E9453A79201A301B701C8010F947D1E52 -:105CC000181614F4720183019701A801B401C501EB -:105CD0000F94331587FD02C074018501E989FA89A3 -:105CE000EF5EFC4EC701D80180839183A283B3830A -:105CF0008091BB1382608093BB1362960FB6F894B9 -:105D0000DEBF0FBECDBFDF91CF911F910F91FF90EE -:105D1000EF90DF90CF90BF90AF909F908F907F904B -:105D20006F905F904F903F9008952091BB1390E04B -:105D3000880F991F880F991FFC0121FF03C0EF5E98 -:105D4000FC4E02C0ED5BF84E6081718182819381CF -:105D500008952091BB1320FF14C020E83EE3629F0A -:105D6000A001639F500D729F500D1124CA0196959A -:105D7000879596958795009731F08A950000E9F709 -:105D800008950D94E40008959F92AF92BF92CF9230 -:105D9000DF92EF92FF920F931F93CF93DF93809147 -:105DA000CE11833009F50E9499AD8823E9F0609106 -:105DB000110970911209072E000C880B990B0F9492 -:105DC0003A1520E030E040E85FE30F941C1C20917E -:105DD0000D0930910E0940910F09509110090F944F -:105DE000331518160CF062C0D0E0FF24F39400E0E5 -:105DF00010E0EE24E39445E0D42EC0E0CC24C3941C -:105E000055E0B52E65E0A62E72E8972EFC24DC1630 -:105E1000D1F18D2F90E04897A4F5DF5FF801BC9E8B -:105E2000E00DF11D1124EE0FFF1FEE0FFF1FE45BCD -:105E3000FC4E20E030E04AE754E4608171818281C9 -:105E400093810F9499150F94891D70935315609346 -:105E50005215A0924615909249158D2F90E08158C9 -:105E6000974F880F991F092E000CAA0BBB0B80932C -:105E70004A1590934B15A0934C15B0934D150E9465 -:105E80008DF9CE0DC4CF0F5F1F4F0530110579F18D -:105E9000F11006C0EE24EA94DD24DA94C4E0B6CF13 -:105EA000EE24E39435E0D32EC0E0B0CF81E09AE554 -:105EB000909353158093521580E490E0909355157C -:105EC0008093541587E08093461582E880934915A6 -:105ED00084E890E0A0E0B0E080934A1590934B15E1 -:105EE000A0934C15B0934D150E948DF97DCFDF9195 -:105EF000CF911F910F91FF90EF90DF90CF90BF90C7 -:105F0000AF909F900895AF92BF92CF92DF92EF92A1 -:105F1000FF920F931F93CF93DF93EC0188EEC82E6F -:105F200080E2D82EE12CF12C02E8A12C90E2B92ECF -:105F300015E000934915C0924A15D0924B15E09296 -:105F40004C15F0924D15B0925315A0925215109326 -:105F500046150E948DF98FEFC81AD80AE80AF80A88 -:105F600080E1C81681E2D806E104F10411F748EE99 -:105F700050E260E070E0CE01DF91CF911F910F9170 -:105F8000FF90EF90DF90CF90BF90AF900C943CF9D2 -:105F900084E08093CD1182E08093440881E09AE50B -:105FA00090935315809352158EE490E0909355157D -:105FB0008093541587E08093461582E880934915B5 -:105FC00084E890E0A0E0B0E080934A1590934B15F0 -:105FD000A0934C15B0934D150E948DF987E697E07C -:105FE0000C943A4FCF92DF92EF92FF926A017B01BD -:105FF0000E9415A8882331F0FF90EF90DF90CF909A -:106000000C9495A7C701B601FF90EF90DF90CF9059 -:1060100008952F923F924F925F926F927F928F924C -:106020009F92AF92BF92CF92DF92EF92FF920F9327 -:106030001F93CF93DF93CDB7DEB7CD54D1090FB601 -:10604000F894DEBF0FBECDBF60E070E085E40E9433 -:10605000E790182F81E0810F823018F088E295E2F6 -:1060600054C065E070E083E40E94E79089A760E097 -:1060700085E50E9422A82C968FAF2C9717FF05C0AC -:1060800040E050E06CE872E404C040E050E066E1BB -:1060900073E483E50E94F2AF0F94891D072E000C74 -:1060A000880B990B0F943A156D837E838F832E9600 -:1060B0009FAF2E970E9481EE2B013C011F3F09F4F8 -:1060C00009C5E12E012E000CFF08F70183E0EE0F59 -:1060D000FF1F8A95E1F7E45FFD4F668177816F507E -:1060E0007109072E000C880B990B0F943A159B0130 -:1060F000AC016D817E818F812E969FAD2E970F947E -:106100007D1E1816ECF48DEF94E2C35BDF4F0FB6E3 -:10611000F894DEBF0FBECDBFDF91CF911F910F91DD -:10612000FF90EF90DF90CF90BF90AF909F908F90B7 -:106130007F906F905F904F903F902F900D94130140 -:1061400089EE94E20F9413010E94B7BF87E18E9D00 -:10615000F0018F9DF00D1124E255F44F8FE78287F7 -:1061600022E330E0A8EEB3E00F94DD1B6BA77CA721 -:106170008DA79EA79B01AC01240D351D461D571D03 -:1061800028AF39AF4AAF5BAF81E080931402109221 -:1061900037021F3F11F58BEA9AEAAAEABEE38CAFF9 -:1061A0009DAFAEAFBFAF2DEC3CEC4CE45EE324966C -:1061B0002CAF3DAF4EAF5FAF249725961FAE25970E -:1061C00041E354E227965FAF4EAF27978BEF93E200 -:1061D00029969FAF8EAF299721C020E030E040E0A4 -:1061E0005EE32CAF3DAF4EAF5FAF8AE999E9A9E11D -:1061F000BFE324968CAF9DAFAEAFBFAF249725967B -:106200001FAF2597AFE1B4E22796BFAFAEAF279798 -:10621000E8EEF3E22996FFAFEEAF299749A25AA222 -:106220006BA27CA24FA658AA69AA7AAA2FE730E0EF -:1062300040E050E0288739874A875B87188A198AA7 -:106240001A8A1B8A1C861D861E861F86C12CD12C8D -:1062500076011E8A30E43F8B4CE1488F56E4598F1B -:106260001A8E1B8E1C8E1D8E1BAACCAADDAAEEAA2E -:10627000FFAAFFE78F2E912CA12CB12C1DA21EA2EC -:106280001FA218A681E088A31D8A1C8A212C312C0C -:1062900000E02D961FAE2D97A7E11A02C001112430 -:1062A0008255944FFC013A962B96FFAFEEAF2B9799 -:1062B0009C012C5F3F4F3F8F2E8F49A5042E000C71 -:1062C000550B5AA749A780911402882309F454C298 -:1062D0000E9481EE69837A838B839C8380918D12E7 -:1062E000882309F4BAC00E941CC11F3F61F42090AA -:1062F0000D0930900E0900910F09509110092D964B -:106300005FAF2D970EC0AE8DBF8D2C9011963C9037 -:10631000119712960C9112971396BC912D96BFAFC0 -:106320002D972A8D3B8D4C8D5D8DB101802F2D9643 -:106330009FAD2D970F947D1E18163CF42A8E3B8E30 -:106340000C8F2D96EFAD2D97ED8F2E893F89488DBF -:10635000598DB101802F2D969FAD2D970F94331538 -:1063600087FF07C02E8A3F8A088F2D96FFAD2D9795 -:10637000F98F28A1222309F44DC09101402F2D96B9 -:106380005FAD2D976D817E818F812E969FAD2E976B -:106390000F94331587FF61C049815A816B817C81DD -:1063A0004419550966097709DB01CA0188589341E8 -:1063B000A109B109B7FD51C088859985AA85BB851A -:1063C00088199909AA09BB09B595A7959795879545 -:1063D0001F3F19F48093130905C02B96EEADFFAD56 -:1063E0002B9780834DA35EA36FA378A7FD81FA8FBF -:1063F0002E812B8F3F813C8F2E964FAD2E974D8F48 -:1064000089819A81AB81BC8189A39AA3ABA3BCA3E8 -:1064100018A223C09101402F2D965FAD2D976D815D -:106420007E818F812E969FAD2E970F947D1E18161C -:10643000A4F489819A81AB81BC8129A13AA14BA1A5 -:106440005CA1821B930BA40BB50BAC01BD0148589A -:1064500053416109710977FFAEC120E030E040EAA5 -:1064600051E46D817E818F812E969FAD2E970F9482 -:106470001D1C9101402F2D965FAD2D970F94331564 -:1064800087FF03C083E594E2B9C089819A81AB811B -:10649000BC812FA538A949A95AA9821B930BA40B2B -:1064A000B50BB7FD90C025968FAD25970E94C2B75A -:1064B0008AE00E942F4E89819A81AB81BC818053F2 -:1064C000984FAF4FBF4F8FA798ABA9ABBAAB9BA963 -:1064D000911159C02CA93DA94EA95FA9B101802FE6 -:1064E0002D969FAD2D970F947D1E1816BCF520E0BC -:1064F00030E040E050E4B101802F2D969FAD2D9704 -:106500000F941D1C6CAB7DAB8EAB9FAB2BA53CA53C -:106510004DA55EA589819A81AB81BC81280F391F69 -:106520004A1F5B1F28AF39AF4AAF5BAF20E030E0B6 -:1065300040EC50E46D817E818F812E969FAD2E9729 -:106540000F941C1C9101402F2D965FAD2D970F9439 -:106550003315881F8827881F8BAB35C089819A81A6 -:10656000AB81BC8128AD39AD4AAD5BAD821B930BCD -:10657000A40BB50BB7FD27C027964EAD5FAD27978F -:1065800064E474E21DC020E030E040EA51E46D8133 -:106590007E818F812E969FAD2E970F941C1C9B01A0 -:1065A000AC01B101802F2D969FAD2D970F9433151F -:1065B00087FF09C029964EAD5FAD29976FE074E261 -:1065C000812F0E94C18389819A81AB81BC81880F10 -:1065D000991FAA1FBB1F29A13AA14BA15CA1821B35 -:1065E000930BA40BB50B84199509A609B70981383B -:1065F0009F44A241B10528F08AEC93E20F94130165 -:10660000BBC049A55AA58C899D89481759070CF02C -:10661000B0C003970CF4ADC08DE693E20F94130164 -:106620001F3F29F4ADE5B3E2BA83A98304C0ECE5CA -:10663000F3E2FA83E9838BE493E20F9413018981F7 -:106640009A810F941301B701A60189E693E20F9492 -:10665000C7018AE00E942F4E8BE493E20F9413014E -:1066600089819A810F9413014C855D856E857F85A4 -:1066700085E693E20F94C7018AE00E942F4E8BE4D7 -:1066800093E20F94130189819A810F941301488931 -:1066900059896A897B8981E693E20F94C7018AE070 -:1066A0000E942F4E2C96FFAD2C97FF2309F466C055 -:1066B0001F3F69F5C0921409D0921509E09216099E -:1066C000F09217092CEA35EC47E25EE36C857D8594 -:1066D0008E859F850F9499156093180970931909F9 -:1066E00080931A0990931B092CEA35EC47E25EE38C -:1066F000688979898A899B890F94171D60931C0981 -:1067000070931D0980931E0990931F0937C047E1BC -:106710001402900111242255344F3A832983D90160 -:106720001B96CD92DD92ED92FC921E972CEA35ECF1 -:1067300047E25EE36C857D858E859F850F94991574 -:10674000E981FA816787708B818B928B2CEA35EC1B -:1067500047E25EE3688979898A899B890F94171DCE -:10676000A981BA8153966D937D938D939C9356978F -:1067700005C00E946D1BA7CD0E94B7BF81E080932A -:106780003702C35BDF4F0FB6F894DEBF0FBECDBF3D -:10679000DF91CF911F910F91FF90EF90DF90CF90FD -:1067A000BF90AF909F908F907F906F905F904F9031 -:1067B0003F902F9008954C895D89452B09F451C174 -:1067C0004DA05EA06FA078A4480E591E6A1E7B1EC5 -:1067D0002DA13EA14FA158A5281B390B4A0B5B0BDD -:1067E000C501B4010F94791BA30192010F94AB1B57 -:1067F00088849984AA84BB84820E931EA41EB51E2D -:1068000054E185169104A104B1040CF18CEE8816B4 -:106810009104A104B1043CF490E889169104A10408 -:10682000B10434F422C06BEE862E912CA12CB12C35 -:1068300088869986AA86BB862EEF30E040E050E03D -:10684000281939094A095B0949015A0112C084E132 -:1068500090E0A0E0B0E088879987AA87BB8754E1E1 -:10686000852E912CA12CB12C04C088869986AA86ED -:10687000BB8681EE94E20F941301688579858A8541 -:106880009B850E94A34E8CED94E20F941301C501E9 -:10689000B4010E94A34E4E895F89688D798D85ED84 -:1068A00094E20F94C7014A8D5B8D6C8D7D8D8EECCB -:1068B00094E20F94C701AC89BD8913970CF4D1C041 -:1068C000C501B4010F943A1520E030E040E850E4EF -:1068D0000F9499156B017C012E893F89488D598D44 -:1068E0006A8D7B8D8C8D9D8D0F941C1C2BED3FE054 -:1068F00049E450E40F94991520E030E040E05FE374 -:106900000F9499159B01AC01C701B6010F94171D97 -:106910006B017C01C301B2010F943A152FE632E1FD -:1069200043E85AE30F9499152B013C01B701A601E6 -:1069300088EC94E20F94C701B301A20182EC94E2C7 -:106940000F94C7011F3F09F044C02DEC3CEC4CE410 -:106950005EE3C701B6010F9499156B017C019B01A1 -:10696000AC010F941D1CA30192010F94171D6C879D -:106970007D878E879F87A7019601C301B2010F947F -:10698000991520E030E040E450E40F94171D688B27 -:10699000798B8A8B9B8B82EB94E20F941301B70166 -:1069A000A6018CEA94E20F94C7014C855D856E8543 -:1069B0007F8586EA94E20F94C701488959896A89DC -:1069C0007B8980EA94E20F94C7018AE00E942F4EEF -:1069D0004AC024962CAD3DAD4EAD5FAD2497C701A6 -:1069E000B6010F9499156B017C019B01AC01C301A9 -:1069F000B2010F9499152CAD3DAD4EAD5FAD0F9426 -:106A00009915688B798B8A8B9B8BA7019601C7019F -:106A1000B6010F941D1CA30192010F94171D6C87E2 -:106A20007D878E879F8780E994E20F941301B701D9 -:106A3000A6018AE894E20F94C7014C855D856E85B6 -:106A40007F8584E894E20F94C701488959896A894F -:106A50007B898EE794E20F94C7018AE00E942F4E53 -:106A600011C01F3F79F488859985AA85BB85880D5B -:106A7000991DAA1DBB1DB595A795979587958093E0 -:106A8000130911C088859985AA85BB85880D991D34 -:106A9000AA1DBB1DB595A795979587952B96EEAD2D -:106AA000FFAD2B9780832C893D892F5F3F4F3D8B16 -:106AB0002C8B3D813E8B4E814F8B5F81588F2E9664 -:106AC0008FAD2E97898F49805A806B807C8091E0B2 -:106AD00098A3C3CC20E030E047E053E46D817E8191 -:106AE0008F812E969FAD2E970F947D1E18160CF455 -:106AF0000ACB89EE94E20F9413010E94B7BF8FE78F -:106B00008093130924EB30E02DCB2F923F924F92CC -:106B10005F926F927F928F929F92AF92BF92CF922D -:106B2000DF92EF92FF920F931F93CF93DF93EB01CE -:106B3000FC0180809180A280B380C501B40120E86F -:106B400031E541E050E00F94891BC9016DE671E029 -:106B50000F94EC1B6B017C01C501B40120E13EE008 -:106B600040E050E00F94891BCA01B90128E130E0F0 -:106B700040E050E00F94891B362E272E062F172F4A -:106B80008CE3482E512C612C712CC501B401A3015A -:106B900092010F94891BB62EA72ECA01B901A30139 -:106BA00092010F94891BCB01C114D104D9F0AF928B -:106BB000BF927F936F932F923F92FF92EF92DF925B -:106BC000CF9287E393E29F938F93DF93CF930F94BA -:106BD000CB148DB79EB70E960FB6F8949EBF0FBE1E -:106BE0008DBF5CC0E114F104C9F0AF92BF927F93F6 -:106BF0006F932F923F92FF92EF9287E293E29F93DF -:106C00008F93DF93CF930F94CB14EDB7FEB73C96E1 -:106C10000FB6F894FEBF0FBEEDBF40C0012BB9F018 -:106C2000AF92BF927F936F932F923F928BE193E24B -:106C30009F938F93DF93CF930F94CB148DB79EB711 -:106C40000A960FB6F8949EBF0FBE8DBF27C0892B42 -:106C5000A9F0AF92BF927F936F9383E193E29F93EA -:106C60008F93DF93CF930F94CB14EDB7FEB7389685 -:106C70000FB6F894FEBF0FBEEDBF10C0AF92BF922B -:106C80008FE093E29F938F93DF93CF930F94CB1476 -:106C90000F900F900F900F900F900F90DF91CF916A -:106CA0001F910F91FF90EF90DF90CF90BF90AF902A -:106CB0009F908F907F906F905F904F903F902F901C -:106CC00008958F929F92AF92BF92CF92DF92EF92F0 -:106CD000FF920F931F93CF93DF93CDB7DEB7E69765 -:106CE0000FB6F894DEBF0FBECDBF009174121091A5 -:106CF000751282E08093390BF80101900020E9F7CA -:106D000031975F01A01AB10AF801CF01801B910BE6 -:106D10008A159B0534F480818F3209F410823196F4 -:106D2000F4CF8BE1E2EBF4E1DE015C9601900D9291 -:106D30008A95E1F7E12CF12CEA14FB040CF084C0F5 -:106D4000F801EE0DFF1D8081811103C08FEFE81A5D -:106D5000F80A6801CE0CDF1CF6018081882309F453 -:106D600073C0FFEFEF1AFF0AF801EE0DFF1D7F0160 -:106D7000E01AF10A81918111FACFCE014C960E945E -:106D800002628BE1FE017C96DE01119601900D926C -:106D90008A95E1F7A601BE016F5F7F4F80E090E02A -:106DA0000E94E25ACE0101960E9438638FE20E944F -:106DB0002F4E80916B19811103C081E897E002C0CA -:106DC0008BE699E14C01F40181914F01882319F080 -:106DD0000E942F4EF8CF8091CE1684FF35C01982C5 -:106DE0001C8221E0A601BE01645E7F4FCE010196A8 -:106DF0000E941B67811116C08AE00E942F4E0F94DB -:106E0000FC018BEF92E20F941301F60181916F0167 -:106E1000882319F00E942F4EF8CFCE0101960E94D0 -:106E2000386312C0CE014C960E942F638BE1FE01A5 -:106E30003196DE015C9601900D928A95E1F7CE01C4 -:106E400001960E94386378CF8AE00E942F4ECE01CF -:106E50004C960E943863E6960FB6F894DEBF0FBEDC -:106E6000CDBFDF91CF911F910F91FF90EF90DF90F9 -:106E7000CF90BF90AF909F908F9008959091CE1635 -:106E800093FB882780F993FF06C081E090915C1402 -:106E9000911101C080E00895ECEEF1E180818183E1 -:106EA00082EF92E20F94130180917012909171120F -:106EB000A0917212B0917312BC01CD016F5F7F4F30 -:106EC0008F4F9F4F0E94A34E0E94344F0C9459C87D -:106ED0000F931F93CF938C01C62F0F94F801C80115 -:106EE0000F9413016091701270917112809172125F -:106EF000909173120E94A34E0E94344FC11104C09E -:106F00000E94474F0196E1F70E944CB7EC2FEE0F1D -:106F1000FF0BE259FD4E11821082CF911F910F910C -:106F20000895EF92FF920F931F93CF937C018B01F3 -:106F30004F3F11F4C2E401C0C4E580E20E942F4E2D -:106F40008C2F0E942F4E8AE30E942F4EF701608102 -:106F500071818281938142E00E94BF4EF80140819D -:106F600051816281738187EB97E20F94C70162E0E0 -:106F700070E080E090E0CF911F910F91FF90EF9033 -:106F80000C9447EE1F93CF93DF93CDB7DEB72897CE -:106F90000FB6F894DEBF0FBECDBF182F6091B60BB1 -:106FA0007091B70B072E000C880B990B0F943A15B4 -:106FB0006D837E838F8398878091B20B9091B30B02 -:106FC000A091B40BB091B50B89839A83AB83BC833A -:106FD0004CEFBE016B5F7F4FCE0101960E9491B7CF -:106FE0006091110970911209072E000C880B990B02 -:106FF0000F943A156D837E838F83988780910D0956 -:1070000090910E09A0910F09B091100989839A837C -:10701000AB83BC834FEFBE016B5F7F4FCE01019608 -:107020000E9491B71F3F41F087E11802F00111243F -:10703000E255F44F628502C06091130970E08FEB56 -:1070400097E20F94D8016091130970E08AEB97E200 -:107050000F94D80128960FB6F894DEBF0FBECDBFAF -:10706000DF91CF911F9108952F923F924F925F929F -:107070006F927F928F929F92AF92BF92CF92DF9248 -:10708000EF92FF920F931F93CF93DF93CDB7DEB7AD -:1070900063970FB6F894DEBF0FBECDBF898B81E03A -:1070A000809314021A821B821C821D8219861A8602 -:1070B0001B861C8619821D862CE32E873CE13F87A8 -:1070C00046E4488B312C212C50E85A8B8FEB8B8B6C -:1070D00091E09887812C912C540160911109709155 -:1070E0001209072E000C880B990B0F943A157B019F -:1070F0008C019B01AC01632D722D8A899B890F94B1 -:107100003315882361F160910D0970910E0980910A -:107110000F0990911009A989A1110EC0B1E0B9839E -:107120009701A8010F947D1E18160CF019823E2CB1 -:107130002F2C0A8B1B8B13C09701A8010F947D1E67 -:10714000181644F480911402882309F4F0C00E94B8 -:1071500031E1EDC03E2C2F2C0A8B1B8B19820E9433 -:1071600081EE6B017C01DC01CB0129853A854B85E1 -:107170005C85821B930BA40BB50BB7FD33C0D70105 -:10718000C60188519C4FAF4FBF4F89879A87AB8705 -:10719000BC8780E00E94C2B787EC97E20F9413018E -:1071A00081149104A104B104B9F0D501C401805F38 -:1071B000984DAF4FBF4FBC01CD016C197D098E09B1 -:1071C0009F0928EE33E040E050E00F94891BCA018C -:1071D000B9010E94A34E03C08FE30E942F4E8AE0A4 -:1071E0000E942F4E80E00E945B4F0E9481EE6093D0 -:1071F000B2137093B3138093B4139093B51390911B -:107200000D099E83A0910E09AF8300910F09109183 -:107210001009292F3A2FA801632D722D8A899B8985 -:107220000F941C1C2B013C0120E030E0A9010F94BD -:107230007D1E87FF04C077FA709477F870948114EC -:107240009104A104B104B1F420E030E040E85FE330 -:10725000C301B2010F94331587FF18C0B8854601EA -:107260005701BB2399F020E1820E27E2921EA11C58 -:10727000B11C0CC020E030E040E450E4C301B20196 -:107280000F947D1E181614F44601570139813323DB -:10729000A9F18A819B81AC81BD81892B8A2B8B2BA3 -:1072A00061F0D701C6012A813B814C815D81821B3F -:1072B000930BA40BB50BB7FD21C02E813F81A80114 -:1072C0006D857E858F8598890F941C1C20E030E0A9 -:1072D00040EC5FE30F94331587FD34CFD701C6012F -:1072E000805A9541AF4FBF4F8A839B83AC83BD8348 -:1072F0009E819D87AF81AE870F87188B8091140286 -:10730000882309F41FCF81149104A104B10411F45E -:107310001886E3CEB0E1CB1AB7E2DB0AE108F10848 -:10732000C818D908EA08FB08F7FCF2CF0BCF809108 -:10733000140263960FB6F894DEBF0FBECDBFDF9187 -:10734000CF911F910F91FF90EF90DF90CF90BF9062 -:10735000AF909F908F907F906F905F904F903F90F5 -:107360002F9008952F923F924F925F926F927F924B -:107370008F929F92AF92BF92CF92DF92EF92FF9245 -:107380000F931F93CF93DF93CDB7DEB764970FB6FC -:10739000F894DEBF0FBECDBF898B6A8B81E08093EE -:1073A00014021A821B821C821D8219861A861B8671 -:1073B0001C8621E0288719821D863CE33E874CE12C -:1073C0004F8756E4588B312C212C80E88B8B9FEB18 -:1073D0009C8B812C912C54016091B60B7091B70B52 -:1073E000072E000C880B990B0F943A157B018C012A -:1073F0009B01AC01632D722D8B899C890F943315F1 -:10740000882361F16091B20B7091B30B8091B40B42 -:107410009091B50BAA89A1110EC0B1E0B983970173 -:10742000A8010F947D1E18160CF019823E2C2F2CEB -:107430000B8B1C8B13C09701A8010F947D1E18168F -:1074400044F480911402882309F4F0C00E9431E1D1 -:10745000EDC03E2C2F2C0B8B1C8B19820E9481EED1 -:107460006B017C01DC01CB0129853A854B855C856C -:10747000821B930BA40BB50BB7FD33C0D701C6011C -:1074800088519C4FAF4FBF4F89879A87AB87BC8786 -:1074900089890E94C2B783EC97E20F94130181148B -:1074A0009104A104B104B9F0D501C401805F984DE5 -:1074B000AF4FBF4FBC01CD016C197D098E099F09EB -:1074C00028EE33E040E050E00F94891BCA01B90177 -:1074D0000E94A34E03C08FE30E942F4E8AE00E94B9 -:1074E0002F4E80E00E945B4F0E9481EE6093B213AA -:1074F0007093B3138093B4139093B5139091B20B20 -:107500009E83A091B30BAF830091B40B1091B50B88 -:10751000292F3A2FA801632D722D8B899C890F94F6 -:107520001C1C2B013C0120E030E0A9010F947D1EC2 -:1075300087FF04C077FA709477F8709481149104EF -:10754000A104B104B1F420E030E040E85FE3C301FE -:10755000B2010F94331587FF18C0B8854601570153 -:10756000BB2399F020E1820E27E2921EA11CB11CE0 -:107570000CC020E030E040E450E4C301B2010F94BD -:107580007D1E181614F44601570139813323A9F1E1 -:107590008A819B81AC81BD81892B8A2B8B2B61F0E9 -:1075A000D701C6012A813B814C815D81821B930BEF -:1075B000A40BB50BB7FD21C02E813F81A8016D85BD -:1075C0007E858F8598890F941C1C20E030E040EC6C -:1075D0005FE30F94331587FD34CFD701C601805A7E -:1075E0009541AF4FBF4F8A839B83AC83BD839E8100 -:1075F0009D87AF81AE870F87188B809114028823F7 -:1076000009F41FCF81149104A104B10411F4188668 -:10761000E3CEB0E1CB1AB7E2DB0AE108F108C81803 -:10762000D908EA08FB08F7FCF2CF0BCF80911402CF -:1076300064960FB6F894DEBF0FBECDBFDF91CF9139 -:107640001F910F91FF90EF90DF90CF90BF90AF9080 -:107650009F908F907F906F905F904F903F902F9072 -:107660000895EF92FF920F931F93CF93DF93809132 -:107670003B028F37A0F08F579091B80B90939D12DB -:10768000992311F02C9A01C02C9820911309209372 -:107690009C1290910201222369F090950BC0909169 -:1076A0009D12891708F02C9890919C12891728F048 -:1076B000909102019072909300018F5F80933B0242 -:1076C00090919B1281E0892780939B1280913A02CE -:1076D00085301CF411E0180F01C010E0823009F46D -:1076E000B9C054F4882301F1813009F0E8C088E082 -:1076F00080937B0085E4C5C0843009F4CAC00CF4D3 -:10770000BCC0853009F0DBC090919A12911102C083 -:1077100080939A1280919A12815080939A128823B2 -:1077200009F4CDC015E0CBC0809139028F5F803164 -:107730001CF480933902C3C01092390280918D12DB -:10774000811113C08091AE0B9091AF0B9093B10B50 -:107750008093B00B8091090990910A0990930C09CC -:1077600080930B0981E080938D121092AF0B1092E1 -:10777000AE0B10920A0910920909E090B00BF0903C -:10778000B10BF194E194F1088091B60B9091B70B95 -:1077900001E0181619062CF08091B80B811101C078 -:1077A00000E080910E0290910F02919581959109D0 -:1077B0008E159F053CF447E257E268E477E280E0EB -:1077C0000E94C183002389F080910C0290910D02E8 -:1077D000919581959109E816F9063CF44AE557E23E -:1077E0006BE777E280E00E94C1838091110990915C -:1077F000120901E0181619062CF080911309811165 -:1078000001C000E020910B0930910C098091210901 -:1078100090912209821793073CF047E357E268E40E -:1078200077E28FEF0E94C183002309F448C02091C2 -:107830000B0930910C0980910A0290910B022817D4 -:107840003907ECF14AE657E26BE777E28FEF0E94E7 -:10785000C18335C080917A0086FD2EC0809178006A -:10786000909179002091AE0B3091AF0B820F931F56 -:107870009093AF0B8093AE0B22C088E080937B0087 -:1078800086E480937C0080917A00806480937A0003 -:1078900016C080917A0086FD11C080917800909189 -:1078A00079002091090930910A09820F931F909362 -:1078B0000A098093090903C012E001C014E0109383 -:1078C0003A022091B6133091B7132115310509F40E -:1078D0003AC0F894909109019270809108018170EA -:1078E0008093060180910B01121613060CF080950F -:1078F00082708093090100000000000080910B015C -:10790000809588708093090184E08A950000E9F7EA -:1079100080910B0188708093090180910B01911176 -:10792000809582708093090178948091B61390912C -:10793000B7131216130614F4019701C00196909321 -:10794000B7138093B61380918E12882309F44DC02B -:10795000809138028E5F8F7780933802811145C005 -:107960008CB185FB882780F9C82F80E0D82F8091C3 -:10797000030181FDC2604B99C4600091981210917F -:1079800099120C271D270115110579F100FF07C079 -:10799000BE016170772782EA97E20F94D80101FF58 -:1079A00008C06C2F6695617070E089E997E20F94CA -:1079B000D80102FF08C0C2FB662760F970E080E9C9 -:1079C00097E20F94D8018DE897E20F94130110917C -:1079D0009712612F70E08DE00E945FED109510937B -:1079E0009712D0939912C09398120E94E4D9809173 -:1079F000451090914610009769F0019790934610BA -:107A000080934510892B31F48BEA97E290934709D4 -:107A100080934609DF91CF911F910F91FF90EF90D6 -:107A200008950F930FB70F9300916E000B7F009393 -:107A30006E0078940F930BB70F930CB70F921F92B1 -:107A40002F933F934F935F936F937F938F939F9366 -:107A5000AF93BF93EF93FF9311240E9431BBFF912B -:107A6000EF91BF91AF919F918F917F916F915F91B6 -:107A70004F913F912F911F900F900CBF0F910BBF13 -:107A80000F910460F89400936E000F910FBF0F9157 -:107A900018952F923F924F925F926F927F928F92A2 -:107AA0009F92AF92BF92CF92DF92EF92FF920F938D -:107AB0001F93CF93DF93CDB7DEB729970FB6F89416 -:107AC000DEBF0FBECDBF1C017B836A8329831F836A -:107AD0000E83FD82EC8227FD10C0022E000C330BBA -:107AE00039872887398185E03802F0011124E95768 -:107AF000FD4E84818823E1F008C08091861288239E -:107B000099F0E1E0F0E0F987E887F1011482E88577 -:107B1000F985EE0FFF1FEE0FFF1FE157FD4E10829C -:107B20001182128213822EC021E030E0398728872B -:107B3000FA01C080D180E280F38008851985000FAA -:107B4000111F000F111F01571D4EA7019601F801CB -:107B500060817181828193810F943315882391F024 -:107B6000F801C082D182E282F38211E020E030E0AD -:107B7000A901C701B6010F947D1E18160CF010E084 -:107B8000F1011483F10184818230F9F0833009F42A -:107B900001C1813009F023C1E885F985EE0FFF1F8F -:107BA000EE0FFF1FE157FD4E20813181428153814D -:107BB000EA81FB8160817181828193810F94331509 -:107BC00087FD0DC182E0F101848380913702882313 -:107BD00009F493C0F981F7FD90C08F2FFF0F990B27 -:107BE0008C011816190614F401E010E0F801E556AE -:107BF000F44F2081222371F1EA81FB81C080D18082 -:107C0000E280F380880F991F880F991FFC01E157CC -:107C1000FD4E80809180A280B3802C813D81B9018E -:107C200080E090E00F9438152B013C0120E030E01B -:107C300040E85EE30F9499159B01AC01C501B401C6 -:107C40000F941C1C9B01AC01C701B6010F947D1E53 -:107C500087FD05C0F801EB5CFD4F80E81AC023E802 -:107C600030EC4AEA5EE3C301B2010F9499159B011F -:107C7000AC01C501B4010F941C1C9B01AC01C701F0 -:107C8000B6010F947D1E0B5C1D4F87FD04C080E67E -:107C9000F801808332C020E030E040E05FE3C301C0 -:107CA000B2010F9499159B01AC01C501B4010F9469 -:107CB0001C1C9B01AC01C701B6010F947D1E87FD02 -:107CC00002C080E4E5CF2DEC3CEC4CE45FE3C30163 -:107CD000B2010F9499159B01AC01C501B4010F9439 -:107CE0001C1C9B01AC01C701B6010F947D1E87FDD2 -:107CF00002C080E2CDCFF801108208851985000FFF -:107D0000111F000F111F980121573D4E39872887F9 -:107D1000EC81FD81BF0180E090E00F9438159B015C -:107D2000AC01E885F98560817181828193810F942E -:107D30001C1C9B01AC01EA81FB8160817181828105 -:107D400093810F947D1E87FD14C00E9481EE6B010C -:107D50007C012E813F81A8EEB3E00F94DD1BC60E9F -:107D6000D71EE81EF91EF101C082D182E282F382A1 -:107D700036C00E9481EEF1010081118122813381A0 -:107D8000DC01CB01801B910BA20BB30BB7FD27C00D -:107D900083E08483F981FF3F19F040EF56E202C08F -:107DA00043E057E267E177E2898129960FB6F894BC -:107DB000DEBF0FBECDBFDF91CF911F910F91FF901E -:107DC000EF90DF90CF90BF90AF909F908F907F907B -:107DD0006F905F904F903F902F900C94C1832996A5 -:107DE0000FB6F894DEBF0FBECDBFDF91CF911F91CC -:107DF0000F91FF90EF90DF90CF90BF90AF909F904A -:107E00008F907F906F905F904F903F902F9008954C -:107E1000CF92DF92EF92FF92609111097091120957 -:107E200061157105C1F0C0900D09D0900E09E09068 -:107E30000F09F090100966507109072E000C880B8D -:107E4000990B0F943A159B01AC01C701B6010F9431 -:107E5000331587FD09C010927E1210927F12109286 -:107E60008012109281121EC020E030E040E050E409 -:107E7000C701B6010F941D1C0F94901D70937D12C5 -:107E800060937C120E9481EEDC01CB01805E904405 -:107E9000AD4FBF4F80937E1290937F12A0938012BC -:107EA000B0938112FF90EF90DF90CF900895CF9222 -:107EB000DF92EF92FF926091B60B7091B70B611554 -:107EC0007105C1F0C090B20BD090B30BE090B40B31 -:107ED000F090B50B66507109072E000C880B990BBA -:107EE0000F943A159B01AC01C701B6010F943315ED -:107EF00087FD09C0109278121092791210927A12AE -:107F000010927B121EC020E030E040E050E4C70138 -:107F1000B6010F941D1C0F94901D709377126093FF -:107F200076120E9481EEDC01CB01805B9C43AF4F57 -:107F3000BF4F8093781290937912A0937A12B093E6 -:107F40007B12FF90EF90DF90CF9008952091120266 -:107F5000309113022F503109821793070CF49C01C2 -:107F60003093B70B2093B60B80E00C9457BFCF93A0 -:107F7000DF9310928C1280E090E00E94A6BFC9E0CF -:107F8000D9E0198618860E9408BF80E090E00E9420 -:107F9000A6BF1092B80B2C98198618861A86809165 -:107FA0000201807280930001DF91CF9108958F923A -:107FB0009F92AF92BF92CF92DF92EF92FF920F9378 -:107FC0001F93CF93DF93F0E2FF2EE12CAE2DB0E0B4 -:107FD000BD016F0D711D75956795611103C0E2E7D5 -:107FE000F6E206C06E1511F0F6120BC0EEEEF6E2E8 -:107FF00065917491072E000C880B990B0F943A151C -:1080000062C09B0121503109220F331F220F331F01 -:10801000F901E059F94D05911491AB01440F551F39 -:10802000440F551FFA01E059F94DC591D4918017BD -:10803000910714F4F62ECCCFC817D90714F4E62E06 -:10804000C5CFF901EE58F94DE590F490FA01EE58DC -:10805000F94DC590D490BC01601B710B072E000C2C -:10806000880B990B0F943A154B015C01B6016E1900 -:108070007F09072E000C880B990B0F943A159B0172 -:10808000AC01C501B4010F9499154B015C01C01BF3 -:10809000D10BBE01DD0F880B990B0F943A159B0194 -:1080A000AC01C501B4010F94171D4B015C01B70170 -:1080B000FF0C880B990B0F943A159B01AC01C5017D -:1080C000B4010F941D1CDF91CF911F910F91FF9070 -:1080D000EF90DF90CF90BF90AF909F908F900895DA -:1080E0008F929F92AF92BF92CF92DF92EF92FF92C8 -:1080F0000F931F93CF93DF93C62F662381F00F94C6 -:10810000F8016C2F70E080E090E00E94A34E82E5C1 -:1081100096E20F94130180E090E00E9433FAF0E4BD -:10812000FF2EE12CAE2DB0E0BD016F0D711D7595D8 -:108130006795611103C0E4E5F5E206C06E1511F024 -:10814000F6120BC0E0E5F6E265917491072E000C83 -:10815000880B990B0F943A1562C09B01215031098D -:10816000220F331F220F331FF901EE5AFA4D0591EA -:108170001491AB01440F551F440F551FFA01EE5ADD -:10818000FA4DC591D4918017910714F4F62ECCCFF7 -:10819000C817D90714F4E62EC5CFF901EC5AFA4DE9 -:1081A000E590F490FA01EC5AFA4DC590D490BC01D8 -:1081B000601B710B072E000C880B990B0F943A155E -:1081C0004B015C01B6016E197F09072E000C880B6C -:1081D000990B0F943A159B01AC01C501B4010F94A2 -:1081E00099154B015C01C01BD10BBE01DD0F880B43 -:1081F000990B0F943A159B01AC01C501B4010F9482 -:10820000171D4B015C01B701FF0C880B990B0F94F4 -:108210003A159B01AC01C501B4010F941D1CDF91FF -:10822000CF911F910F91FF90EF90DF90CF90BF9073 -:10823000AF909F908F900895CF93DF93CEEADBE0CD -:1082400060E08A819B810E9470C06C837D838E83F5 -:108250009F83C9E0D9E08A819B810E94D7BF6C834C -:108260007D838E839F83A89510928D12DF91CF918D -:1082700008952F923F924F925F926F927F928F92CA -:108280009F92AF92BF92CF92DF92EF92FF920F93A5 -:108290001F93CF93DF93CDB7DEB7AC970FB6F894AB -:1082A000DEBF0FBECDBF182F6CA7542EB22EA32E4B -:1082B00092EE692E9AE2792E00E080E0812E012E66 -:1082C000000C99082AEC210F2BA7FE0131967F01A3 -:1082D000F30132964490242C312C2814390409F0EF -:1082E000A4C081115DC001115BC0AF92BF922AEDA5 -:1082F0003AE23F932F93FF92EF920F94CB14FAA69A -:10830000E9A60F900F900F900F900F900F906701BC -:10831000F60181916F01882319F00E942F4EF8CF4A -:108320001F924F9225ED3AE23F932F93FF92EF92E7 -:108330000F94CB140F900F900F900F900F900F9001 -:108340006701F60181916F01882319F00E942F4E79 -:10835000F8CF812F0E945CF5FBA5F7FD1DC026E339 -:10836000221A31083F922F928BEC9AE29F938F93BF -:10837000FF92EF920F94CB140F900F900F900F90ED -:108380000F900F90E9A5FAA58191FAA7E9A7882394 -:10839000B1F00E942F4EF6CF88E00F9408010FC075 -:1083A0008EE20E942F4EEB2DFA2DDF010D90002062 -:1083B000E9F78A2F8B19875E0F94080101E0F3011A -:1083C000C590D490412CF6018491811107C0312CC5 -:1083D00087E2C82ED12CC418D1080AC00E942F4EA3 -:1083E0004394FFEFCF1ADF0A27E24212ECCF0AC014 -:1083F000832D90E08C159D052CF480E20E942F4E79 -:108400003394F6CF552069F0812F0E94574D882371 -:1084100009F4C9C03CA53111C6C080EC9AE20F94A2 -:1084200013018AE00E942F4E81E0F4E06F0E711C70 -:1084300022ED62162BE2720609F04ACF8111F9C0D3 -:10844000AF92BF9283E99AE29F938F93CE010196F8 -:108450007C019F938F930F94CB1467010F900F9023 -:108460000F900F900F900F905701F50181915F01D0 -:10847000882319F00E942F4EF8CF9F928F928EE89A -:108480009AE29F938F93FF92EF920F94CB140F90E9 -:108490000F900F900F900F900F905701F501819161 -:1084A0005F01882319F00E942F4EF8CF812F0E9480 -:1084B0005CF50AEC010F07FD1BC0C401C6979F9332 -:1084C0008F9384E89AE29F938F93FF92EF920F9499 -:1084D000CB140F900F900F900F900F900F905701AB -:1084E000F50181915F01882331F00E942F4EF8CF72 -:1084F00088E00F94080183E79AE20F941301552056 -:1085000009F44DC0812F0E9413F6811142C0812FC2 -:108510000E9481F8882331F087E10F9408018BE9EC -:108520009AE22CC0003128F5802F0E9428EE092EF7 -:10853000000CAA0BBB0BBF93AF939F938F938FE558 -:108540009AE29F938F93FF92EF920F94CB140FB602 -:10855000F894DEBF0FBECDBFF60181916F01882375 -:1085600019F00E942F4EF8CF8BE59AE20F94130179 -:1085700003C087E10F94080185EA9AE20F94130182 -:10858000812F0E947CF5BC01990F880B990B0E94EA -:10859000A34E87E10F940801812F0E949BF58AE08A -:1085A0000E942F4E46C0F3013396E491E11121C0A1 -:1085B0008BA50E9428EE092E000CAA0BBB0BBF93C3 -:1085C000AF939F938F938FEA9AE29F938F93FF923B -:1085D000EF920F94CB1467010FB6F894DEBF0FBE75 -:1085E000CDBFF60181916F018823E9F00E942F4EE3 -:1085F000F8CF812F0E9481F8811103C085EA9AE2A9 -:1086000007C0812F0E9413F681110DC08BE99AE2F9 -:108610000F941301812F0E947CF5BC01990F880BE8 -:10862000990B0E94A34E0111FCCE812F0E949BF555 -:10863000F8CEAC960FB6F894DEBF0FBECDBFDF917B -:10864000CF911F910F91FF90EF90DF90CF90BF904F -:10865000AF909F908F907F906F905F904F903F90E2 -:108660002F9008959F92AF92BF92CF92DF92EF9298 -:10867000FF920F931F93CF93DF938DEDA82E82E08F -:10868000B82E01E113E1C3E4D7E192E2C92E93E1F0 -:10869000D92E2EE6E22E28E0F22E912CF5018191C2 -:1086A0005F010E9415A8882309F10E9495A7F70190 -:1086B0002081211104C020917708222339F02881DC -:1086C00039814A815B810F941D1C0AC0F3E09F161B -:1086D00039F0F60120813181428153810F941C1CB5 -:1086E000F801608371838283938309C088819981B3 -:1086F000AA81BB81F80180839183A283B383939481 -:108700000C5F1F4F2496F4E0CF0ED11C2FEFE21A1E -:10871000F20A84E09812C2CF40E050E0BA0186E449 -:108720000E94F2AF20E030E0A9010F947D1E1816E0 -:1087300084F40E9495A720E030E040E752E40F94D3 -:10874000171D60935F0270936002809361029093A3 -:1087500062028091471083FD28C0809123098823FD -:1087600021F120914F17309150174091511750919E -:10877000521760911D1370911E1380911F139091D9 -:1087800020130F941C1C2091300930913109409125 -:108790003209509133090F941D1C60933009709376 -:1087A00031098093320990933309DF91CF911F9162 -:1087B0000F91FF90EF90DF90CF90BF90AF909F9080 -:1087C0000895CF9384E50E9415A8882301F10E94A3 -:1087D0006DA7C82F1816E4F40F94FC018DE40E94D5 -:1087E0002F4E6091BC127091BD12072E000C880BA9 -:1087F000990B0E94A34E6C2FCC0F770B87E89CE25D -:108800000F94D8018AE00E942F4E8FEF01C080E0C4 -:10881000CF910895CF92DF92EF92FF92CF93DF93A3 -:10882000CDB7DEB7A0970FB6F894DEBF0FBECDBFB1 -:1088300080E090E0A8E4B2E489839A83AB83BC83B0 -:1088400080E090E0A0E2B1E48D839E83AF83B8879F -:1088500089879A87AB87BC870E94E1C387FDD4C014 -:108860000E94CF82882321F083E89CE20E94C6D038 -:1088700085E40E94CCA7882381F00E9495A76B0114 -:108880007C0120E030E0A9010F947D1E87FF0BC022 -:10889000F7FAF094F7F8F09406C0C12CD12C80E8D8 -:1088A000E82E80E4F82EF7FAF094F7F8F094C98AED -:1088B000DA8AEB8AFC8A8AE50E9415A8882351F09F -:1088C00040E050E0BA018AE50E94F2AF69877A87FA -:1088D0008B879C8788E50E9415A8882351F040E08B -:1088E00050E0BA0188E50E94F2AF69837A838B83F6 -:1088F0009C8389E50E9415A8882351F040E050E050 -:10890000BA0189E50E94F2AF6D837E838F839887D9 -:1089100085E50E94CCA7882329F00E9495A76B01CA -:108920007C0108C0C0904413D0904513E0904613DA -:10893000F090471320E030E0A901C701B6010F9481 -:108940007D1E87FF04C0F7FAF094F7F8F094F7FA69 -:10895000F094F7F8F094CD8ADE8AEF8AF88E198EBB -:108960001A8E1B8E1C8E8CE40E94CCA7882329F0C3 -:108970000E9495A76B017C0108C0C0904813D0905D -:108980004913E0904A13F0904B1320E030E0A90126 -:10899000C701B6010F947D1E87FF04C0F7FAF0945B -:1089A000F7F8F094CD8EDE8EEF8EF8A262E070E0E4 -:1089B00082E40E94E790F82E21E0AE014B5E5F4F0B -:1089C000BE016F5F7F4FCE0141960E943FAB88236F -:1089D000D9F06F2D81E00E940CA980E090E0A0EA20 -:1089E000B1E48D879E87AF87B88B8091CB0A8823AF -:1089F00059F02F2DAE01435F5F4FBE01635E7F4F85 -:108A0000CE0149960E94B1A9A0960FB6F894DEBF98 -:108A10000FBECDBFDF91CF91FF90EF90DF90CF9051 -:108A20000895CF92DF92EF92FF92CF93DF93CDB76D -:108A3000DEB76C970FB6F894DEBF0FBECDBF8CE4E7 -:108A40000E94CCA7882381F00E9495A76B017C012E -:108A500020E030E0A9010F947D1E87FF0BC0F7FADC -:108A6000F094F7F8F09406C0C12CD12C80E8E82EE1 -:108A700080E4F82EF7FAF094F7F8F094C98EDA8EC5 -:108A8000EB8EFC8E80E090E0A8E4B2E489839A83C8 -:108A9000AB83BC8380E090E0A0E2B1E48D839E8351 -:108AA000AF83B88789879A87AB87BC8788E50E94A0 -:108AB00015A88823A1F040E050E0BA0188E50E94A3 -:108AC000F2AF20912213309123134091241350913F -:108AD00025130F941C1C69837A838B839C8389E5FF -:108AE0000E9415A88823A1F040E050E0BA0189E572 -:108AF0000E94F2AF2091221330912313409124134E -:108B0000509125130F941C1C6D837E838F8398874F -:108B10008AE50E9415A8882351F040E050E0BA0190 -:108B20008AE50E94F2AF69877A878B879C87F090ED -:108B3000CE16F2FAFF24F0F81D861E861F86188ACC -:108B400020E0AE01435F5F4FBE016F5F7F4FCE01FC -:108B500049960E943FAB882329F1F11023C060E0C1 -:108B600080E00E940CA980E090E0A0E8B0E48D8B4A -:108B70009E8BAF8BB88F198A1A8A1B8A1C8A1D8616 -:108B80001E861F86188A8091CB0A882359F020E020 -:108B9000AE014B5E5F4FBE016F5E7F4FCE010D9603 -:108BA0000E94B1A96C960FB6F894DEBF0FBECDBF80 -:108BB000DF91CF91FF90EF90DF90CF9008950F94C9 -:108BC000FC0183E79CE20F94130183E50E94CCA78C -:108BD000882321F00E9481A780935402809154023F -:108BE000811103C086E09DE002C08AE09DE00F9401 -:108BF00013018BE69CE20F94130120912213309114 -:108C00002313409124135091251360913C027091DD -:108C10003D0280913E0290913F020F941D1CAB01DA -:108C2000BC0189E69CE20F94C70120912613309184 -:108C30002713409128135091291360914402709199 -:108C4000450280914602909147020F941D1CAB0192 -:108C5000BC0186E69CE20F94C70120912A13309153 -:108C60002B1340912C1350912D1360914C02709155 -:108C70004D0280914E0290914F020F941D1CAB014A -:108C8000BC0183E69CE20F94C7018BE59CE20F9444 -:108C900013012091221330912313409124135091FA -:108CA000251360914002709141028091420290919F -:108CB00043020F941D1CAB01BC0189E59CE20F949B -:108CC000C70120912613309127134091281350910A -:108CD0002913609148027091490280914A02909153 -:108CE0004B020F941D1CAB01BC0186E59CE20F9466 -:108CF000C70120912A1330912B1340912C135091CE -:108D00002D13609150027091510280915202909106 -:108D100053020F941D1CAB01BC0183E59CE20F9430 -:108D2000C7018AE00C942F4E882319F00F94FC01A0 -:108D300003C080E20E942F4E40915C1050915D1064 -:108D400060915E1070915F108CE49CE20F94C701FB -:108D500040916010509161106091621070916310A9 -:108D600089E49CE20F94C701409164105091651012 -:108D7000609166107091671086E49CE20F94C701C1 -:108D8000409168105091691060916A1070916B1059 -:108D900083E49CE20F94C7018AE00C942F4E2F923B -:108DA0003F924F925F926F927F928F929F92AF927B -:108DB000BF92CF92DF92EF92FF920F931F93CF93C8 -:108DC000DF93CDB7DEB72DB63EB684E50E94CCA7C3 -:108DD000882309F441C060E089E40E9422A8082F9A -:108DE00061E070E082E50E94E7906C0160E070E075 -:108DF00083E50E94E790182F65E470E08CE40E9400 -:108E0000E7905C0164EF71E087E50E94E7902C0138 -:108E1000990F66087708812F90E0A816B906CCF064 -:108E20001634A8F40111E2C0812F0E94574D882307 -:108E300009F4DCC025E837E041E060E0812F0E94C2 -:108E400039C18AE00E942F4E8AE00E942F4E1F5F98 -:108E5000E2CF82ED9BE224C085E40E94CCA7882368 -:108E6000B1F00E9481A780938E1282E39CE20F945E -:108E7000130180918E12811103C084E29CE202C032 -:108E800088E29CE20F9413018BE29CE209C083E527 -:108E90000E94CCA7882339F00F94F80189ED9BE25A -:108EA0000F941301EBC060E070E080E50E94E79052 -:108EB0008C01F82E80E50E9415A8811107C035E4C9 -:108EC000301708F4DBC085E4E82E01C0E02E60E036 -:108ED00089E40E9422A8582E60E087E50E9422A81B -:108EE000882309F480C08DB69EB685E19CE20F947C -:108EF00013016801DD248E2D90E08C199D090196E7 -:108F0000EDB7FEB7E81BF90B0FB6F894FEBF0FBE26 -:108F1000EDBF2DB73EB72F5F3F4F5901E01660F010 -:108F2000063440F4511094C0802F0E94574D88237E -:108F300009F48EC00F5FF2CF4090780883E08093F1 -:108F4000780881E08093EA124CEF5BE265E07CE216 -:108F500082E00E94F1A88CEE9BE20E94C8AF7F2CB9 -:108F6000E71418F135E43715F0F0511005C0872DDE -:108F70000E94574D811117C0872D0E94CBEC682E9F -:108F8000072D10E00C191D090A0D1B1DF801808129 -:108F9000681649F02BEA35E040E0652D872D0E94E8 -:108FA00039C1F80160827394DBCF8091EA12882383 -:108FB00039F068EC70E080E090E00F94E400CFCFEF -:108FC000409278080FB6F8949EBE0FBE8DBE56C074 -:108FD000F5E4FF1538F02BEA35E041E0652D8F2DE3 -:108FE0000E9439C1F394EF1498F748C0A89520E97E -:108FF00037E041E0602F812F0E9439C161E0812F6D -:109000000E9423EDE12CF12CEC14FD040CF01CCF9C -:10901000A89560E0812F0E94F4ECC301B2010F9487 -:10902000E400A89561E0812F0E94F4ECC301B20135 -:109030000F94E400A89560E0812F0E94F4ECC30136 -:10904000B2010F94E400A8952FEFE21AF20ADCCFE8 -:1090500062E0802F0E9423ED61E070E080E090E00C -:109060000E9447EE602E712C6C187D08802F0E94A4 -:10907000CBECF501E60DF71D80835CCF0FB6F894BD -:109080003EBE0FBE2DBEDF91CF911F910F91FF907D -:10909000EF90DF90CF90BF90AF909F908F907F9098 -:1090A0006F905F904F903F902F90089563E00C94E5 -:1090B0002A83CF93DF93E091C80AF0E0E055FA4E9F -:1090C0008081882309F447C085E89DE20F9413014D -:1090D000C091C80A80E6C89FE0011124C85BD64F42 -:1090E00088818E3479F480E20E942F4E89910E940B -:1090F0002F4E899190ED980F9A30C8F38D32B9F3C5 -:109100008B32A9F382E89DE20F9413018091D01471 -:109110009091D114891B8F706FE070E0681B71090A -:10912000072E000C880B990B0E94A34E8FE79DE23F -:109130000F9413018091C90A64E070E0681B710903 -:10914000072E000C880B990B0E94A34E8AE0DF913A -:10915000CF910C942F4EDF91CF91089590914509B6 -:10916000E92FF0E0E055FA4E80839F5F943018F4C9 -:109170009093450902C0109245098091C90A8F5FFA -:109180008093C90A0895CF93DF93EC0188818823E7 -:1091900049F18A3039F18D3029F18B33F9F0809122 -:1091A000C90A8430D8F48091450920E6829FC00125 -:1091B0001124BE01885B964F0F947B1F80E00E94B4 -:1091C000AEC80F94FC01BE0182E79DE20F94E50159 -:1091D0008FE69DE2DF91CF910D94130180E00E9414 -:1091E0005B4FD4CFDF91CF9108955F926F927F92C2 -:1091F0008F929F92AF92BF92CF92DF92EF92FF92A7 -:109200000F931F93CF93DF93CDB7DEB76DB67EB6C6 -:109210007C0100E010E08DB69EB6F701E00FF11F73 -:109220005490C80101965C01552029F09AE0591626 -:1092300011F08501F2CF8DB79EB78A199B090FB641 -:10924000F8949EBF0FBE8DBF01966C01A801B701B7 -:109250000F946D14F601E00FF11F1082C6010E94F9 -:10926000C3C8552041F0EA0CFB1C0FB6F8949EBE13 -:109270000FBE8DBED0CF0FB6F8947EBE0FBE6DBEB2 -:10928000DF91CF911F910F91FF90EF90DF90CF90E2 -:10929000BF90AF909F908F907F906F905F90089558 -:1092A000CF92DF92EF92FF928AE50E9415A8882361 -:1092B00021F10E9495A76B017C0120E030E040EA9B -:1092C00051EC0F947D1E87FD13C020E030E040EA92 -:1092D00051E4C701B6010F94331518164CF0C09233 -:1092E0003613D0923713E0923813F09239138FC0AF -:1092F0000F94F80182E59DE228C088E50E9415A838 -:10930000882349F10E9495A76B017C0120E030E899 -:109310004DE953EC0F947D1E87FD13C020E030E82B -:109320004DE953E4C701B6010F94331518164CF0FC -:10933000C0922E13D0922F13E0923013F09231137B -:1093400066C00F94F80182E39DE2FF90EF90DF90FA -:10935000CF900D94130189E50E9415A8882321F16F -:109360000E9495A76B017C0120E030E04BE953ECB3 -:109370000F947D1E87FD13C020E030E04BE953E4DD -:10938000C701B6010F94331518164CF0C092321372 -:10939000D0923313E0923413F092351338C00F9407 -:1093A000F80182E19DE2D1CF0F94FC0140912E1390 -:1093B00050912F13609130137091311381E09DE231 -:1093C0000F94C7018AE00E942F4E409132135091B2 -:1093D0003313609134137091351380EF9CE20F9436 -:1093E000C7018AE00E942F4E4091361350913713E7 -:1093F00060913813709139138FED9CE20F94C7017F -:109400008AE0FF90EF90DF90CF900C942F4EFF906A -:10941000EF90DF90CF9008958F929F92AF92BF927E -:10942000CF92DF92EF92FF920F931F93CF93109200 -:109430007512109274122FE32093BE121092BD1277 -:109440001092BC121092B8121092B9121092BA1265 -:109450001092BB129C01F90190812F5F3F4F903217 -:10946000D1F39E34C9F4818190ED980F9A3020F0A9 -:109470008D3211F08B3281F4DF0112969D012F5F46 -:109480003F4F8C9180538A3010F4D901F7CFFD0102 -:10949000119680818032D9F3F093820BE093810B97 -:1094A0008F010F5F1F4FC0816AE270E0C8010F9407 -:1094B000701F009731F0FC01319780818032E1F319 -:1094C0001182CD3429F0C43519F0C73409F000C138 -:1094D000F80180810F5F1F4F8032D1F380538A30B3 -:1094E00008F0F6C0C093BE121092BD121092BC12CA -:1094F0004AE08091BC129091BD12489F9001499F13 -:10950000300D11243093BD122093BC123196DF012F -:1095100011978C91082E000C990BC097820F931F06 -:109520009093BD128093BC12208120532A3008F3FF -:10953000DF0131962C912032D9F3CD34D1F48E3124 -:10954000910591F03CF48731910571F08C319105D2 -:1095500081F40AC08537910564F08737910524F0BE -:10956000803A23E0920729F4B0937512A093741205 -:10957000AFC010927512109274121091810BC12C11 -:10958000D12C7601C394FD0131964C91442309F40A -:109590009FC04132A1F4CD3491F48032910579F429 -:1095A000F0937512E093741263E270E0CF010F94B0 -:1095B000701F009709F48CC0FC01108289C04154CF -:1095C0004A3108F059C0BF01FB0120816F5F7F4F16 -:1095D0002032D1F330ED320F3A3010F12E3211F447 -:1095E00021810CC02D3211F02B3259F4218130ED44 -:1095F000320F3A30A8F02E3221F4228120532A3043 -:1096000078F02091741230917512232B09F05DC00F -:109610009F0121503109309375122093741255C067 -:109620009F01A42FB0E04601570104C0880C991C8B -:10963000AA1CBB1C4A95D2F7B501A4018090B812B0 -:109640009090B912A090BA12B090BB124829592933 -:109650006A297B294093B8125093B9126093BA12C9 -:109660007093BB122115310511F0211B01C020E0C0 -:10967000A256BD4E2C930AC02091741230917512DF -:10968000232B21F4B0937512A093741220812154DE -:109690002A3110F4DF0177CFAF01FA01DA012D9101 -:1096A0002223C1F330ED320F3A3010F4AD01F5CF83 -:1096B00033ED320F3230D0F32B32C1F3FA014F5F6A -:1096C0005F4F20812032D1F3E5CF20E030E0A9CFF9 -:1096D000CF911F910F91FF90EF90DF90CF90BF90AF -:1096E000AF909F908F9008952F923F924F925F92EC -:1096F0006F927F928F929F92AF92BF92CF92DF92A2 -:10970000EF92FF920F931F93CF93DF93CDB7DEB706 -:10971000C454D1090FB6F894DEBF0FBECDBF9AA7CF -:1097200089A77CAB6BAB142FDB018D909D90AD9026 -:10973000BC9013972401350177FA709477F87094F0 -:109740001496CD90DD90ED90FC901797A7019601AF -:1097500050582D8B3E8B4F8B588FA3019201C30124 -:10976000B2010F9499156D8F7E8F8F8F98A32D89DD -:109770003E894F89588DCA01B9010F9499159B01F3 -:10978000AC016D8D7E8D8F8D98A10F941D1C0F9453 -:10979000CB1E6DAB7EAB8FAB98AF80914317909192 -:1097A0004417A0914517B09146178D8F9E8FAF8FAC -:1097B000B8A39C01AD01C501B4010F941D1C69AF94 -:1097C0007AAF8BAF9CAF20914717309148174091EB -:1097D000491750914A172DA33EA34FA358A7C7017D -:1097E000B6010F941D1C21966CAF7DAF8EAF9FAF5D -:1097F0002197A9A5BAA58D919D910D90BC91A02D01 -:1098000089A39AA3ABA3BCA329AD3AAD4BAD5CAD84 -:10981000BC01CD010F941C1C6B017C01A9A5BAA54C -:1098200014962D913D914D915C9117972BA73CA7D4 -:109830004DA75EA721962CAD3DAD4EAD5FAD2197F6 -:109840006BA57CA58DA59EA50F941C1C4B015C01EE -:1098500020914B1730914C1740914D1750914E1756 -:1098600025962CAF3DAF4EAF5FAF2597A9A5BAA502 -:1098700018966D917D918D919C911B970F941C1C56 -:10988000698F7A8F8B8F9C8FA7019601C301B201DC -:109890000F9499156FA778AB89AB9AABA50194018A -:1098A0006D897E898F89988D0F9499159B01AC01E4 -:1098B0006FA578A989A99AA90F941D1C6FA778ABE9 -:1098C00089AB9AABA5019401C301B2010F9499151C -:1098D0004B015C01A70196016D897E898F89988D66 -:1098E0000F9499159B01AC01C501B4010F941C1C88 -:1098F0002FA538A949A95AA90F949C1C6B017C017A -:1099000020E030E0A9010F94331587FF0AC02BED4A -:109910003FE049EC50E4C701B6010F941D1C6B01F8 -:109920007C012BED3FE049EC50E4C701B6010F94F8 -:10993000171D20E030E040EC51E40F9499150F948E -:10994000FB1C0F94901D1B01672B19F422242394F8 -:10995000312C112351F02BED3FE049EC50E4C701CD -:10996000B6010F941C1C6B017C0120E030E0A901C2 -:10997000C701B6010F943315811123C029A13AA163 -:109980004BA15CA16D8D7E8D8F8D98A10F943315A9 -:10999000811117C02BA53CA54DA55EA56DA17EA18B -:1099A0008FA198A50F94331581110BC038E1232E98 -:1099B000312C4BEDC42E4FE0D42E49ECE42E40E484 -:1099C000F42E2DA93EA94FA958ADC701B6010F9499 -:1099D00099154B015C0120E030E0A901698D7A8D79 -:1099E0008B8D9C8D0F9433158823D9F0A50194019C -:1099F000C501B4010F9499154B015C01298D3A8D75 -:109A00004B8D5C8DCA01B9010F9499159B01AC0176 -:109A1000C501B4010F941D1C0F94CB1E4B015C01BA -:109A20000DC020E030E0A901C501B4010F947D1EF6 -:109A300087FF04C0B7FAB094B7F8B0942FE632E1CC -:109A400043E85AE3C501B4010F94331587FDF8C10B -:109A500020914F1730915017409151175091521744 -:109A600029A33AA34BA35CA3C501B4010F94BF1D66 -:109A70000F94901D7EA36DA36215730510F43EA292 -:109A80002DA2ADA1BEA1BD0180E090E00F943815DC -:109A90004B015C019B01AC01C701B6010F94171D7E -:109AA0006D8F7E8F8F8F98A3A5019401698D7A8D1C -:109AB0008B8D9C8D0F94171D6DAB7EAB8FAB98AFCC -:109AC00029A13AA14BA15CA1E9A5FAA564857585F8 -:109AD000868597850F941C1CA50194010F94171D72 -:109AE0006FA778AB89AB9AAB2D8D3E8D4F8D58A16A -:109AF000CA01B9010F94991520E030E040E05FE31E -:109B00000F9499159B01AC0160E070E080E89FE341 -:109B10000F941C1C6BA77CA78DA79EA725962CAD28 -:109B20003DAD4EAD5FAD259729873A874B875C8762 -:109B300089A19AA1ABA1BCA18D879E87AF87B88B65 -:109B40006091550270915602072E000C880B990BFC -:109B50000F943A1520915F023091600240916102AA -:109B6000509162020F9499152AE037ED43E25CE3CD -:109B70000F949915698B7A8B8B8B9C8B0E9481EE4D -:109B80009B01AC0128533F4F4F4F5F4F29A33AA38E -:109B90004BA35CA322242394312C39E1398F4DA1AE -:109BA0005EA12416350608F01FC10E94FB830E94A7 -:109BB00081EEDC01CB0129A13AA14BA15CA1821B62 -:109BC000930BA40BB50BB7FD0FC00E9481EE9B0158 -:109BD000AC0128533F4F4F4F5F4F29A33AA34BA3EC -:109BE0005CA380E00E945B4F398D3150398F332365 -:109BF000E9F12BA53CA54DA55EA56D897E898F89D0 -:109C0000988D0F9499156B017C012D8D3E8D4F8D94 -:109C100058A1C301B2010F949915A70196010F94A1 -:109C20001D1C6B017C012BA53CA54DA55EA5C301A8 -:109C3000B2010F9499154B015C012D8D3E8D4F8D16 -:109C400058A16D897E898F89988D0F9499159B01F4 -:109C5000AC01C501B4010F941C1C2B013C01C601D1 -:109C6000D7018D8B9E8BAF8BB88F66C0B10180E022 -:109C700090E00F9438152D8D3E8D4F8D58A10F9487 -:109C800099156B017C010F94121D6D8B7E8B8F8B50 -:109C9000988FC701B6010F94BD1E4B015C01ABA9A3 -:109CA000BCA9CD90DD90ED90FC901397F7FAF0945D -:109CB000F7F8F09414962D913D914D915C91179782 -:109CC000298F3A8F4B8F5C8FA70196016D897E8912 -:109CD0008F89988D0F9499152B013C01298D3A8D10 -:109CE0004B8D5C8DC501B4010F9499159B01AC019E -:109CF000C301B2010F941D1C2B013C01A701960169 -:109D0000C501B4010F9499156B017C01298D3A8D21 -:109D10004B8D5C8D6D897E898F89988D0F949915F7 -:109D20009B01AC01C701B6010F941C1C6D8B7E8B8F -:109D30008F8B988FB9E1B98F29AD3AAD4BAD5CAD42 -:109D4000C301B2010F941D1C69837A838B839C83AA -:109D500021962CAD3DAD4EAD5FAD21976D897E89CD -:109D60008F89988D0F941D1C6D837E838F839887B8 -:109D70002DA93EA94FA958AD69857A858B859C850B -:109D80000F941D1C69877A878B879C872FA538A91C -:109D900049A95AA96D857E858F8598890F941D1CC8 -:109DA0006D877E878F87988BCE0101960E94E1D2C6 -:109DB000C12CD12C90E8E92E9FE3F92E8E010F5E85 -:109DC0001F4F9E01235F3F4FAE01475F5F4FBE01B4 -:109DD0006B5F7F4FCE0101960E94F381882321F0B3 -:109DE000EFEF2E1A3E0ADBCE80E1E9A5FAA5DE01EF -:109DF000119601900D928A95E1F7CE0101960E948D -:109E0000E1D2C12CD12C80E8E82E8FE3F82E8E0110 -:109E10000F5E1F4F9E01235F3F4FAE01475F5F4FB5 -:109E2000BE016B5F7F4FCE0101960E94F38180E1FE -:109E3000FE013196A3E4B7E101900D928A95E1F716 -:109E4000CC5BDF4F0FB6F894DEBF0FBECDBFDF9106 -:109E5000CF911F910F91FF90EF90DF90CF90BF9027 -:109E6000AF909F908F907F906F905F904F903F90BA -:109E70002F9008950F931F93CF938C01C62F8AEDD7 -:109E80009CE20F941301C8010F9413018AE30E940E -:109E90002F4E6C2F70E080E090E00E94A34ECF9197 -:109EA0001F910F910C94344FEF92FF921F93CF9319 -:109EB000DF93CDB7DEB7C454D1090FB6F894DEBF37 -:109EC0000FBECDBF84E40E94CCA7882309F44DC106 -:109ED00080ED9CE20F941301209122133091231303 -:109EE00040912413509125136091431770914417AA -:109EF00080914517909146170F941D1C69AF7AAF5A -:109F00008BAF9CAF209126133091271340912813DB -:109F10005091291360914717709148178091491704 -:109F200090914A170F941D1C21966CAF7DAF8EAF98 -:109F30009FAF219720912A1330912B1340912C131E -:109F400050912D1360914B1770914C1780914D17C4 -:109F500090914E170F941D1C25966CAF7DAF8EAF60 -:109F60009FAF2597CE01C9960E9456C887EC9CE208 -:109F70000F94130183E497E10E9456C88091431720 -:109F800090914417A0914517B09146178DA79EA7B1 -:109F9000AFA7B8AB8091471790914817A091491788 -:109FA000B0914A1789AB9AABABABBCAB80914B1766 -:109FB00090914C17A0914D17B0914E178DAB9EAB61 -:109FC000AFABB8AF8EEB9CE20F941301AE014B5CCC -:109FD0005F4FBE016F5C7F4FCE018D960E947FA2C6 -:109FE000CE018D960E9456C885EB9CE20F9413011A -:109FF0008DA59EA5AFA5B8A989A39AA3ABA3BCA321 -:10A0000089A99AA9ABA9BCA98DA39EA3AFA3B8A700 -:10A010008DA99EA9AFA9B8AD89A79AA7ABA7BCA7E0 -:10A02000CE0181960E9448A2CE0181960E9456C818 -:10A030000E948AA08CEA9CE20F9413018DEDE82E19 -:10A0400082E0F82E10E080E20E942F4EF70181910D -:10A050007F010E942F4E8AE30E942F4E812F0E9483 -:10A060002A880E94A34E1F5F143069F78AE00E947D -:10A070002F4E83EA9CE20F9413010E947DD78091BA -:10A08000BF129091C012A091C112B091C212898BDF -:10A090009A8BAB8BBC8B8091C3129091C412A09110 -:10A0A000C512B091C6128D8B9E8BAF8BB88F8091ED -:10A0B000C7129091C812A091C912B091CA12898F8B -:10A0C0009A8FAB8FBC8F83E00E94B5A16D8F7E8F7E -:10A0D0008F8F98A364E0CE0141960E942A832DA51C -:10A0E0003EA54FA558A969897A898B899C890F94C7 -:10A0F0001C1C69837A838B839C8329A93AA94BA969 -:10A100005CA96D897E898F89988D0F941C1C6D8345 -:10A110007E838F8398872DA93EA94FA958AD698D5D -:10A120007A8D8B8D9C8D0F941C1C69877A878B8709 -:10A130009C8720914F1730915017409151175091A3 -:10A1400052176D8D7E8D8F8D98A10F941C1C6D877D -:10A150007E878F87988B8AE99CE20F94130164E0D5 -:10A16000CE0101960E942A8304C00E948AA00E9408 -:10A1700033D9CC5BDF4F0FB6F894DEBF0FBECDBF37 -:10A18000DF91CF911F91FF90EF9008954F925F92D2 -:10A190006F927F928F929F92AF92BF92CF92DF92F7 -:10A1A000EF92FF920F931F93CF93DF93CDB7DEB75C -:10A1B0007C014DB65EB66090810B7090820B8DB6BF -:10A1C0009EB66AE070E0C7010F9476146C010097A8 -:10A1D00021F08C010E191F0904C0C7010F948114CE -:10A1E0008C01C80101962DB73EB7281B390B0FB65D -:10A1F000F8943EBF0FBE2DBF8DB79EB701965C0190 -:10A20000A801B7010F94A214F501E00FF11F10820D -:10A21000C5010E940CCA81E00E946937C114D104B3 -:10A2200051F076019FEFE91AF90A0FB6F8949EBE35 -:10A230000FBE8DBEC4CF0FB6F8949EBE0FBE8DBEAE -:10A24000C3010E940CCA0FB6F8945EBE0FBE4DBE8D -:10A25000DF91CF911F910F91FF90EF90DF90CF9002 -:10A26000BF90AF909F908F907F906F905F904F9036 -:10A270000895CF93DF93C091C80A80E6C89FE0019C -:10A280001124C85BD64F8091471080FF05C00F9402 -:10A29000FC01CE010E943A4FCE010E940CCA80E020 -:10A2A000DF91CF910C9469374F925F926F927F92BA -:10A2B0008F929F92AF92BF92CF92DF92EF92FF92D6 -:10A2C0000F931F93CF93DF93CDB7DEB768970FB689 -:10A2D000F894DEBF0FBECDBF2A013B015901E82E25 -:10A2E000F12CF701E158F14DE491CC24C3941E16F2 -:10A2F0000CF4C12CDD24D39420E030E0A901C3018B -:10A30000B2010F947D1E18160CF0D12C80E00E9433 -:10A31000B5A169837A838B839C8381E00E94B5A178 -:10A320006D837E838F83988782E00E94B5A16987C1 -:10A330007A878B879C8783E00E94B5A16D877E8793 -:10A340008F87988BEE0CFF1CEE0CFF1C88248394E7 -:10A35000912C8C0E9D1E8E0C9F1CF401108211827C -:10A36000128213829E01235F3F4FAE01475F5F4F12 -:10A37000BE016B5F7F4FCE0101960E94E0A0F40109 -:10A3800040825182628273821D8A1E8A1F8A188EC1 -:10A3900020E030E0A901B801C5010F943315811107 -:10A3A00009C0F701EA5CF14D85919591A591B491B1 -:10A3B0008C015D01C801D501898B9A8BAB8BBC8B5D -:10A3C0008091451090914610892B91F4CE014596CD -:10A3D0007C018E010F5E1F4F9E01235F3F4FAE0138 -:10A3E000475F5F4FBE016B5F7F4F44970E94D27201 -:10A3F0000E948AA0CD100E948DEE68960FB6F89448 -:10A40000DEBF0FBECDBFDF91CF911F910F91FF90A7 -:10A41000EF90DF90CF90BF90AF909F908F907F9004 -:10A420006F905F904F900895CF92DF92EF92FF92DE -:10A430000F931F93C12CD12C76018C012FE437E1AF -:10A440004BE457E167E477E183E497E10E94F3810D -:10A450001F910F91FF90EF90DF90CF900895CF93D1 -:10A46000C82FCB01009711F00F94130187E99DE2EB -:10A470000F941301C11103C088E89DE202C08DE86A -:10A480009DE20F9413018AE0CF910C942F4E8F928E -:10A490009F92AF92BF92CF92DF92EF92FF92CF93B3 -:10A4A000DF93EC0180905C1790905D17A0905E1791 -:10A4B000B0905F1720E030E0A901C501B4010F940E -:10A4C0003315882309F44AC0C880D980EA80FB800C -:10A4D000A7019601C501B4010F94331518160CF0AD -:10A4E00042C0209153173091541740915517509105 -:10A4F0005617C701B6010F943315882331F1C09266 -:10A500005317D0925417E0925517F0925617209196 -:10A510005717309158174091591750915A17688121 -:10A5200079818A819B810F9499159B01AC0160E030 -:10A5300070E080E89FE30F941C1C609357027093B7 -:10A5400058028093590290935A0260915702709179 -:10A5500058028091590290915A0208C060E070E060 -:10A5600080E89FE303C060E070E0CB01DF91CF9112 -:10A57000FF90EF90DF90CF90BF90AF909F908F9023 -:10A580000895CF93DF9324E0829FC0011124EC0152 -:10A59000CE5DDC4EFC01E75CF64FDC01A553BD4E01 -:10A5A0002D913D914D915C9160817181828193816A -:10A5B0000F941D1C688379838A839B83DF91CF91DD -:10A5C0000895CF92DF92EF92FF92CF93DF93209185 -:10A5D0005402222309F485C0EC01C0903C02D090C3 -:10A5E0003D02E0903E02F0903F02288139814A818D -:10A5F0005B81C701B6010F947D1E181624F4C88232 -:10A60000D982EA82FB82C0904002D0904102E09061 -:10A610004202F0904302288139814A815B81C7015F -:10A62000B6010F94331587FF04C0C882D982EA822D -:10A63000FB82C0904402D0904502E0904602F09028 -:10A6400047022C813D814E815F81C701B6010F9485 -:10A650007D1E181624F4CC82DD82EE82FF82C0902B -:10A660004802D0904902E0904A02F0904B022C81BF -:10A670003D814E815F81C701B6010F94331587FF7D -:10A6800004C0CC82DD82EE82FF82C0904C02D0906A -:10A690004D02E0904E02F0904F02288539854A85A0 -:10A6A0005B85C701B6010F947D1E181624F4C88679 -:10A6B000D986EA86FB86C0905002D0905102E09085 -:10A6C0005202F0905302288539854A855B85C7017F -:10A6D000B6010F94331587FF04C0C886D986EA8671 -:10A6E000FB86DF91CF91FF90EF90DF90CF900895A0 -:10A6F0002F923F924F925F926F927F928F929F9292 -:10A70000AF92BF92CF92DF92EF92FF920F931F937F -:10A71000CF93DF93CDB7DEB7E4970FB6F894DEBFE3 -:10A720000FBECDBF81E193E10E94E1D2809147103D -:10A7300083FD7DC0C0901D13D0901E13E0901F13A9 -:10A74000F090201320914F173091501740915117DE -:10A7500050915217C701B6010F943315882309F49D -:10A7600066C08091AD0B81111FC06091B20B7091DA -:10A77000B30B8091B40B9091B50B0F94891D209170 -:10A78000190230911A026217730774F4C0924F17BE -:10A79000D0925017E0925117F09252170F94FC018B -:10A7A0008FE09EE20F94130180901D1390901E1372 -:10A7B000A0901F13B090201320914F173091501785 -:10A7C0004091511750915217C501B4010F941C1CB0 -:10A7D0006B017C0120E030E0A9010F947D1E87FF12 -:10A7E00004C0F7FAF094F7F8F09420911502309134 -:10A7F00016024091170250911802C701B6010F943A -:10A80000991520E030E04AEF53E40F947D1E1816AE -:10A8100074F480924F1790925017A0925117B092F3 -:10A8200052170F94FC0180EF9DE20F941301809169 -:10A830005B17E0905502F0905602882309F1809052 -:10A840005C1790905D17A0905E17B0905F1720E0A6 -:10A8500030E0A901C501B4010F943315882309F430 -:10A860005BC02091191330911A1340911B13509122 -:10A870001C13C501B4010F947D1E18160CF44CC0B6 -:10A88000B701FF0C880B990B0F943A1520915F02CA -:10A890003091600240916102509162020F949915CB -:10A8A0002AE037ED43E25CE30F94991569837A83DC -:10A8B0008B839C83C12CD12C76018E010F5F1F4F9F -:10A8C0002DE133E149E153E165E173E181E193E198 -:10A8D0000E94F38180E1E1E1F3E1A3E4B7E10190BB -:10A8E0000D928A95E1F7E4960FB6F894DEBF0FBE9D -:10A8F000CDBFDF91CF911F910F91FF90EF90DF902F -:10A90000CF90BF90AF909F908F907F906F905F900F -:10A910004F903F902F900895B701FF0C880B990B33 -:10A920000F943A1520915F023091600240916102CC -:10A93000509162020F9499152AE037ED43E25CE3EF -:10A940000F94991569A37AA38BA39CA32091431715 -:10A95000309144174091451750914617609111135B -:10A960007091121380911313909114130F941C1C67 -:10A9700069A77AA78BA79CA7209147173091481702 -:10A980004091491750914A17609115137091161311 -:10A9900080911713909118130F941C1C2B013C01EC -:10A9A00020E030E0A90169A57AA58BA59CA50F94AC -:10A9B000331581110DC020E030E0A901C301B201BF -:10A9C0000F943315811104C0C12CD12C7601E5C040 -:10A9D00020914B1730914C1740914D1750914E17C5 -:10A9E0006091191370911A1380911B1390911C138D -:10A9F0000F941C1C6DA77EA78FA798AB20914F17B3 -:10AA000030915017409151175091521760911D137A -:10AA100070911E1380911F13909120130F941C1C92 -:10AA20006DA37EA38FA398A729A53AA54BA55CA5E6 -:10AA3000CA01B9010F9499156B017C01A301920120 -:10AA4000C301B2010F9499159B01AC01C701B60176 -:10AA50000F941D1C6B017C012DA53EA54FA558A987 -:10AA6000CA01B9010F9499159B01AC01C701B60148 -:10AA70000F941D1C0F94CB1E6B017C012DEB37E353 -:10AA800046E855E30F94331587FF13C020E030E00C -:10AA9000A9016DA17EA18FA198A50F947D1ECDA0C7 -:10AAA000DEA0EFA0F8A487FF04C0F7FAF094F7F84F -:10AAB000F0942DEB37E346E855E3C701B6010F9458 -:10AAC000331587FD07CF20E030E040EA51E4C701AD -:10AAD000B6010F94171D0F94901D1B01672B19F4DD -:10AAE00022242394312CB10180E090E00F9438159A -:10AAF0009B01AC0160E070E080E89FE30F94171DBC -:10AB00004B015C019B01AC01C701B6010F94991583 -:10AB100069AB7AAB8BAB9CABA501940169A57AA517 -:10AB20008BA59CA50F949915698B7A8B8B8B9C8B2D -:10AB3000A5019401C301B2010F9499156D8B7E8B11 -:10AB40008F8B988FA50194016DA57EA58FA598A9DF -:10AB50000F949915698F7A8F8B8F9C8FA501940123 -:10AB60006DA17EA18FA198A50F9499156D8F7E8FF1 -:10AB70008F8F98A380E1E3E4F7E1DE011196019065 -:10AB80000D928A95E1F79924939481E0281A31086F -:10AB900041F4C9A8DAA8EBA8FCA88E010F5D1F4FED -:10ABA0008FCE8091E212811112C00E9481EEDC01F1 -:10ABB000CB0188539F4FAF4FBF4F8093DE129093CE -:10ABC000DF12A093E012B093E1129092E2120E9481 -:10ABD000FB830E9481EEC090DE12D090DF12E090E5 -:10ABE000E012F090E112DC01CB018C199D09AE0955 -:10ABF000BF09B7FD13C00E9481EEDC01CB01885371 -:10AC00009F4FAF4FBF4F8093DE129093DF12A09300 -:10AC1000E012B093E11280E00E945B4F6E0191E17F -:10AC2000C90ED11CFE0131967F015601F60121911A -:10AC30003191419151916F01F70160817181828160 -:10AC400093810F941D1CF7016193719381939193EC -:10AC50007F01AE16BF0651F7C9A8DAA8EBA8FCA879 -:10AC60008E010F5D1F4F9E01235F3F4FAE01475F77 -:10AC70005F4FBE016B5F7F4FCE0101960E94F38153 -:10AC8000811183CF86CF8091DA129091DB12A0914F -:10AC9000DC12B091DD1280935F0290936002A0936A -:10ACA0006102B09362028091D8129091D912909370 -:10ACB000560280935502089580915F029091600240 -:10ACC000A0916102B09162028093DA129093DB123C -:10ACD000A093DC12B093DD12809155029091560240 -:10ACE0009093D9128093D81284E690E09093560204 -:10ACF0008093550208954F925F926F927F928F9248 -:10AD00009F92AF92BF92CF92DF92EF92FF920F93FA -:10AD10001F93CF93DF93CDB7DEB72C970FB6F89480 -:10AD2000DEBF0FBECDBF2B013C0129873A874B8781 -:10AD30005C8747015801F601E080F18002811381B0 -:10AD400020E030E0A901B701C8010F94331581114B -:10AD50000BC0EEE3FEE285919591A591B491582F39 -:10AD6000492F3A2F2B2F04C05E2D4F2D302F212F2E -:10AD7000852F942FA32FB22F89839A83AB83BC8313 -:10AD800020E030E0A901B701C8010F94331581110B -:10AD900008C0E0905B02F0905C0200915D021091AF -:10ADA0005E02C701D8018D839E83AF83B887A5015A -:10ADB000940160914B1770914C1780914D179091B1 -:10ADC0004E170F94331587FF0CC080924B1790924B -:10ADD0004C17A0924D17B0924E17CE0101960E94CB -:10ADE00014D24092431750924417609245177092C4 -:10ADF000461789859A85AB85BC85809347179093C4 -:10AE00004817A0934917B0934A17CE0105960E94A0 -:10AE100014D220914B1730914C1740914D175091FF -:10AE20004E17C501B4010F94331587FF0CC08092F3 -:10AE30004B1790924C17A0924D17B0924E17CE011F -:10AE400001960E9414D20E948AA02C960FB6F89404 -:10AE5000DEBF0FBECDBFDF91CF911F910F91FF904D -:10AE6000EF90DF90CF90BF90AF909F908F907F90AA -:10AE70006F905F904F900895CF92DF92EF92FF9284 -:10AE80000F931F936A01E0904B17F0904C170091BD -:10AE90004D1710914E17FB01208131814281538162 -:10AEA000FC0160817181828193810E947BD61F9118 -:10AEB0000F91FF90EF90DF90CF900895CF92DF92A7 -:10AEC000EF92FF920F931F936B01FC01E080F180E2 -:10AED00002811381E3E4F7E12481358146815781C2 -:10AEE00060817181828193810E947BD61F910F9135 -:10AEF000FF90EF90DF90CF900895CF93DF9380E0A5 -:10AF00000E94B5A1CFEBD2E1688379838A839B83CA -:10AF100081E00E94B5A16C837D838E839F8382E054 -:10AF20000E94B5A1688779878A879B87DF91CF9137 -:10AF300008951F93CF93DF93CDB7DEB760970FB619 -:10AF4000F894DEBF0FBECDBF182F0E947DD7809131 -:10AF5000BF129091C012A091C112B091C212898308 -:10AF60009A83AB83BC838091C3129091C412A09149 -:10AF7000C512B091C6128D839E83AF83B88780912E -:10AF8000C7129091C812A091C912B091CA128987B4 -:10AF90009A87AB87BC8780914F1790915017A091EB -:10AFA0005117B09152178D879E87AF87B88BCE010E -:10AFB00001960E9448A21E3F51F480E1FE013196A5 -:10AFC000A3E4B7E101900D928A95E1F716C024E061 -:10AFD000129FC0011124FC01ED5BF84EA1E0B0E02E -:10AFE000AC0FBD1FA80FB91F8D919D910D90BC9105 -:10AFF000A02D80839183A283B38360960FB6F894CB -:10B00000DEBF0FBECDBFDF91CF911F9108950C948D -:10B010005B824F925F926F927F928F929F92AF92DC -:10B02000BF92DF92EF92FF920F931F93CF93DF9324 -:10B03000D82EC82FD0E0FE01E158F14DB49082E047 -:10B04000D81205C081E00E94E19D8111FCC07E0103 -:10B05000EE0CFF1CEE0CFF1CF701ED58F14D459076 -:10B060005590659074906B2DBB0C770B880B990BEA -:10B070000F943A154B015C0120E030E040EC5FE3B7 -:10B08000C301B2010F949915A50194010F9499156C -:10B09000AB01BC0100E010E098018D2D0E9454D15D -:10B0A00082E0D81661F0F701E959F14D859195914B -:10B0B000A591B491E82F792F6A2F8B2F04C0E0E07F -:10B0C00070E060EA80E42E2F372F462F582FC501FD -:10B0D000B4010F9499154B015C0120E030E0A90107 -:10B0E0000F943315882309F448C082E0D81621F064 -:10B0F00000E010E0980104C000E010E020E830E437 -:10B10000B501A40170588D2D0E9454D182E0D8164B -:10B1100011F1FE01EC59F14D6491611107C00F94DA -:10B12000FC0182E49EE20F9413016AE0F701EA5CFD -:10B13000F14D459055906590749070E080E090E0FE -:10B140000F943A159B01AC01C301B2010F94171D76 -:10B150002B013C0105C0412C512C612C90E4792E2F -:10B16000A5019401C501B4010F941D1CAB01BC01E4 -:10B17000930182018D2D0E9454D181E090E00D2C2D -:10B1800001C0880F0A94EAF79091BA13982B909314 -:10B19000BA1390913E0B892B80933E0BF701E65D2D -:10B1A000F14D85919591A591B491F701ED5BF84E24 -:10B1B00080839183A283B38382E0D8121AC0209146 -:10B1C00036133091371340913813509139136091F1 -:10B1D0004B1770914C1780914D1790914E170F940B -:10B1E0001C1C60934B1770934C1780934D179093D2 -:10B1F0004E171092B9131092B8130E9407D8F70196 -:10B20000EF5EFC4ED701AD5BB84E8D919D910D90D8 -:10B21000BC91A02D80839183A283B38382E0D81256 -:10B2200012C080E0DF91CF911F910F91FF90EF90BE -:10B23000DF90BF90AF909F908F907F906F905F90C6 -:10B240004F900C94E19DDF91CF911F910F91FF9052 -:10B25000EF90DF90BF90AF909F908F907F906F9016 -:10B260005F904F9008954F925F926F927F928F926E -:10B270009F92AF92BF92CF92DF92EF92FF92209176 -:10B280002213309123134091241350912513609180 -:10B2900043177091441780914517909146170F946A -:10B2A0001D1CAB01BC018DEE9DE20F94C7012091E6 -:10B2B0002613309127134091281350912913609140 -:10B2C0004717709148178091491790914A170F942A -:10B2D0001D1CAB01BC0189EE9DE20F94C7012091BA -:10B2E0002A1330912B1340912C1350912D13609100 -:10B2F0004B1770914C1780914D1790914E170F94EA -:10B300001D1CAB01BC0185EE9DE20F94C70140916D -:10B310004F1750915017609151177091521781EE4D -:10B320009DE20F94C70180916F00982F927081FF6A -:10B3300005C080916F008D7F80936F004090B710A3 -:10B340005090B8106090B9107090BA108090BB10F7 -:10B350009090BC10A090BD10B090BE10C090BF10D7 -:10B36000D090C010E090C110F090C210992329F045 -:10B3700080916F00826080936F0087ED9DE20F9453 -:10B380001301C301B2010E94A34E83ED9DE20F940D -:10B390001301C501B4010E94A34E8FEC9DE20F94EE -:10B3A0001301C701B6010E94A34E8AE0FF90EF90FF -:10B3B000DF90CF90BF90AF909F908F907F906F90D5 -:10B3C0005F904F900C942F4E80913509811105C0EC -:10B3D00080913709811101C008958091D712659B32 -:10B3E00002C0816001C08E7F8093D71290910301CB -:10B3F0008091D71291FF02C0826001C08D7F80933F -:10B40000D7128091D7124B9B02C0846001C08B7F02 -:10B410008093D7128091A91080FF10C080913609C7 -:10B4200080FF0CC08091D71280FF08C0809121134B -:10B4300081608093211380E00E9402888091A9108E -:10B44000869580FF11C080913609869580FF0CC0DB -:10B450008091D71281FF08C0809121138260809370 -:10B46000211381E00E9402888091A910869586951B -:10B4700080FF16C0809136098695869580FF10C0A2 -:10B4800080913709882361F08091D71282FF08C02C -:10B490008091211384608093211382E00C940288B0 -:10B4A000089585EB9DE20F9413018CB16FEA7DE264 -:10B4B00085FB882780F90E942FD28091030169EAD9 -:10B4C0007DE2869581700E942FD289B163EA7DE288 -:10B4D00083FB882780F90E942FD28CB16AE97DE234 -:10B4E000829581700C942FD280913509811104C00E -:10B4F00080913709882331F062E070E080E090E0CD -:10B500000D94E4000895CF92DF92EF92FF920F9393 -:10B510001F93CF93DF93CDB7DEB7CE5AD1090FB6C5 -:10B52000F894DEBF0FBECDBFCF55DF4F1882198212 -:10B530001A821B82C15AD0408091AF079091B00708 -:10B54000A091B107B091B207CB55DF4F88839983A3 -:10B55000AA83BB83C55AD040C755DF4F19821882D2 -:10B56000C95AD04084E690E0C555DF4F998388835F -:10B57000CB5AD0401092FC129E0127553F4F44E019 -:10B5800050E0BE016B557F4FCE0185559F4F0E9405 -:10B59000DB4DC555DF4F88819981CB5AD04002964B -:10B5A000C555DF4F99838883CB5AD040C755DF4FAD -:10B5B00019821882C95AD04081E0C255DF4F888372 -:10B5C000CE5AD0409E0127553F4F41E050E0BE018A -:10B5D00062557F4FCE0185559F4F0E94DB4D9E01E6 -:10B5E00027553F4F48E450E068E470E1CE018555AF -:10B5F0009F4F0E94DB4D8E010F5F1F4F80E1F801CE -:10B6000011928A95E9F780E090E0A0EAB0E489839E -:10B610009A83AB83BC839E0127553F4F40E150E0A6 -:10B62000B801CE0185559F4F0E94DB4D9E012755E5 -:10B630003F4F44E050E063E87BE0CE0185559F4FEB -:10B640000E94DB4D9E0127553F4F4CE050E069E3DF -:10B6500079E0CE0185559F4F0E94DB4D9E01275515 -:10B660003F4F41E050E06BE172E0CE0185559F4FC6 -:10B670000E94DB4D9E0127553F4F44E050E063E6BA -:10B6800072E0CE0185559F4F0E94DB4D80915C1783 -:10B6900090915D17A0915E17B0915F1789839A838F -:10B6A000AB83BC839E0127553F4F44E050E0B80177 -:10B6B000CE0185559F4F0E94DB4DCF55DF4F18823D -:10B6C00019821A821B82C15AD0407E01FDE6EF0E1C -:10B6D000F11C83E0F701808389839E0127553F4F4A -:10B6E00044E050E0BE016F557F4FCE0185559F4F1E -:10B6F0000E94DB4D9E0127553F4F41E050E0B701CE -:10B70000CE0185559F4F0E94DB4D9E0127553F4F2F -:10B7100041E050E0B801CE0185559F4F0E94DB4DBE -:10B720003AE0D32EDA949E0127553F4F44E050E093 -:10B73000DD2049F0BE016F557F4FCE0185559F4FEB -:10B740000E94DB4DEFCF6EE273E1CE0185559F4F36 -:10B750000E94DB4D9E0127553F4F44E050E062E3DD -:10B7600073E1CE0185559F4F0E94DB4D9E01275509 -:10B770003F4F44E050E066E373E1CE0185559F4FB3 -:10B780000E94DB4DCF55DF4F188219821A821B822F -:10B79000C15AD0402AE0D22EDA94DD2071F09E0109 -:10B7A00027553F4F44E050E0BE016F557F4FCE011B -:10B7B00085559F4F0E94DB4DEFCF85E0F7018083D9 -:10B7C00089839E0127553F4F41E050E0B701CE01EC -:10B7D00085559F4F0E94DB4D9E0127553F4F41E00D -:10B7E00050E0B801CE0185559F4F0E94DB4D9E0170 -:10B7F00027553F4F44E050E060E473E1CE018555AA -:10B800009F4F0E94DB4D9E0127553F4F44E050E083 -:10B8100068EF72E1CE0185559F4F0E94DB4D9E017E -:10B8200027553F4F44E650E06CE473E1CE01855567 -:10B830009F4F0E94DB4DF70110828FEF89839E019D -:10B8400027553F4F41E050E0B701CE0185559F4F4E -:10B850000E94DB4D9E0127553F4F41E050E0B8016B -:10B86000CE0185559F4F0E94DB4D80E1D82EF80117 -:10B870008D2D11928A95E9F79E0127553F4F40E1A2 -:10B8800050E0B801CE0185559F4F0E94DB4D1982D3 -:10B890009E0127553F4F41E050E0B801CE0185554C -:10B8A0009F4F0E94DB4D8091FD029091FE02A0917E -:10B8B000FF02B0910003F70180839183A283B383D9 -:10B8C0008091010390910203A0910303B0910403BE -:10B8D00089839A83AB83BC83C356DF4F1882CD59CB -:10B8E000D040C256DF4F1882CE59D0409E01275516 -:10B8F0003F4F44E050E0B701CE0185559F4F0E9475 -:10B90000DB4D9E0127553F4F44E050E0B801CE018A -:10B9100085559F4F0E94DB4D9E0127553F4F42E0CA -:10B9200050E0BE0163567F4FCE0185559F4F0E9468 -:10B93000DB4DF8011192DA94E9F780E090E0A0E89D -:10B94000BFE38D879E87AF87B88B8091B90B9091AD -:10B95000BA0BA091BB0BB091BC0B89839A83AB83CC -:10B96000BC838091BD0B9091BE0BA091BF0BB09199 -:10B97000C00B8D839E83AF83B8878091C10B90915C -:10B98000C20BA091C30BB091C40B89879A87AB8778 -:10B99000BC879E0127553F4F40E150E0B801CE01E2 -:10B9A00085559F4F0E94DB4D84E190E09A83898307 -:10B9B0009E0127553F4F42E050E0B801CE0185552A -:10B9C0009F4F0E94DB4D9E0127553F4F4CE050E0BA -:10B9D00064E179E0CE0185559F4F0E94DB4D8FE7F2 -:10B9E00090E09A8389839E0127553F4F42E050E0C3 -:10B9F000B801CE0185559F4F0E94DB4D81E08983C0 -:10BA00009E0127553F4F41E050E0B801CE018555DA -:10BA10009F4F0E94DB4D80E2E5E0F3E0D80101900A -:10BA20000D928A95E1F79E0127553F4F40E250E085 -:10BA3000B801CE0185559F4F0E94DB4DF701108262 -:10BA40009E0127553F4F41E050E0B701CE0185559B -:10BA50009F4F0E94DB4D9E0127553F4F41E050E034 -:10BA600068EB71E1CE0185559F4F0E94DB4D9E0131 -:10BA700027553F4F44E050E06DEB71E1CE01855515 -:10BA80009F4F0E94DB4D8AE1F80111928A95E9F7F8 -:10BA90009E0127553F4F4AE150E0B801CE01855540 -:10BAA0009F4F0E94DB4D84E3E5E2F3E0D801019073 -:10BAB0000D928A95E1F79E0127553F4F44E350E0F0 -:10BAC000B801CE0185559F4F0E94DB4D88E0F801FB -:10BAD00011928A95E9F79E0127553F4F48E050E0C3 -:10BAE000B801CE0185559F4F0E94DB4D8DE0F801D6 -:10BAF00011928A95E9F79E0127553F4F4DE050E09E -:10BB0000B801CE0185559F4F0E94DB4DCF55DF4FC9 -:10BB1000188219821A821B82C15AD0409E01275571 -:10BB20003F4F44E050E0BE016F557F4FCE01855539 -:10BB30009F4F0E94DB4D9CE0D92EF8018D2D119274 -:10BB40008A95E9F79E0127553F4F4CE050E0B80138 -:10BB5000CE0185559F4F0E94DB4D8CE6F801119276 -:10BB60008A95E9F79E0127553F4F4CE650E0B80112 -:10BB7000CE0185559F4F0E94DB4D9E0127553F4FBB -:10BB80004CE050E06CEE72E1CE0185559F4F0E9473 -:10BB9000DB4D9E0127553F4F48E050E064E473E1E0 -:10BBA000CE0185559F4F0E94DB4DF7011192DA942B -:10BBB000E9F7C355DF4F1882CD5AD04080E090E0BE -:10BBC000A0E4B0E4C356DF4F88839983AA83BB8384 -:10BBD000CD59D0409E0127553F4F44E050E0B7017A -:10BBE000CE0185559F4F0E94DB4D9E0127553F4F4B -:10BBF00044E050E0B7016C5F7F4FCE0185559F4F09 -:10BC00000E94DB4D9E0127553F4F44E050E0B701B5 -:10BC1000685F7F4FCE0185559F4F0E94DB4D9E018F -:10BC200027553F4F41E050E0BE0163557F4FCE01A5 -:10BC300085559F4F0E94DB4D9E0127553F4F44E0A5 -:10BC400050E0BE0163567F4FCE0185559F4F0E9445 -:10BC5000DB4D80E3F70111928A95E9F78BE997E0D4 -:10BC60000E943A4F9E0127553F4F40E350E0B701F5 -:10BC7000CE0185559F4F0E94DB4D1091FC12111192 -:10BC800056C0C555DF4FC880D980CB5AD040F4E6A6 -:10BC9000CF1AD108C755DF4F88819981C95AD04042 -:10BCA000F7019183808384E690E0C555DF4F998347 -:10BCB0008883CB5AD0409E0127553F4F44E050E047 -:10BCC00069E873E0CE0185559F4F0E94DB4D9E01D0 -:10BCD00027553F4F42E050E0B701CE0185559F4FB9 -:10BCE0000E94DB4D0F94FC01B60180E09FE20F94AF -:10BCF000BA01F7014081518160E070E083EF9EE27C -:10BD00000F94A90180EF9EE20F941301F8EDCF1676 -:10BD1000F2E0DF0639F00F94F80182E19FE20F9420 -:10BD2000130111E08091FC12182B1093FC1282E099 -:10BD300097E00E943A4F9091FC1281E08927C2550A -:10BD4000DF4F0FB6F894DEBF0FBECDBFDF91CF91AE -:10BD50001F910F91FF90EF90DF90CF900895AF92D9 -:10BD6000BF92CF92DF92EF92FF921F93CF93DF9318 -:10BD7000CDB7DEB760970FB6F894DEBF0FBECDBF6C -:10BD80008091431790914417A0914517B0914617A1 -:10BD900089839A83AB83BC8380914717909148171E -:10BDA000A0914917B0914A178D839E83AF83B887BE -:10BDB00080914B1790914C17A0914D17B0914E1751 -:10BDC00089879A87AB87BC8780914F1790915017CE -:10BDD000A0915117B09152178D879E87AF87B88B6E -:10BDE0000E941FA00E94F5A284EEA82E8EE2B82E1B -:10BDF0009CE3E92E92E0F92E28EDC22E2EE2D22EFF -:10BE000010E0812F0E94C1D2F50185919591A591F5 -:10BE1000B491F70180839183A283B383F601859166 -:10BE20009591A591B491F70184839583A683B783F7 -:10BE30001F5FF4E0AF0EB11C88E0E80EF11CE4E0F7 -:10BE4000CE0ED11C1330E9F660913C1370913D1376 -:10BE500080913E1390913F130F9478050E94CFFE7E -:10BE60000E9466A040E150E063E477E1CE010196D4 -:10BE70000F943C1F892B89F060960FB6F894DEBFB3 -:10BE80000FBECDBFDF91CF911F91FF90EF90DF905C -:10BE9000CF90BF90AF900C9433D960960FB6F894C2 -:10BEA000DEBF0FBECDBFDF91CF911F91FF90EF900E -:10BEB000DF90CF90BF90AF9008950F931F93809124 -:10BEC000D311813019F40E9481EE08C06091CF1126 -:10BED0007091D0118091D1119091D2110091C11126 -:10BEE0001091C2112091C3113091C411601B710BCC -:10BEF000820B930B28EE33E040E050E00F94891B57 -:10BF00008091C5119091C611A091C711B091C8112F -:10BF1000BC01CD01620F731F841F951F1F910F91EC -:10BF200008951092D3111092C1111092C211109263 -:10BF3000C3111092C4111092CF111092D01110920F -:10BF4000D1111092D2111092C5111092C6111092F7 -:10BF5000C7111092C81108958091D311813099F5BD -:10BF600083EB97E00E943A4F81E09AE59093531556 -:10BF70008093521587E590E0909355158093541562 -:10BF800087E08093461582E88093491584E890E025 -:10BF9000A0E0B0E080934A1590934B15A0934C1508 -:10BFA000B0934D150E948DF982E08093D3110E94C9 -:10BFB00081EE6093CF117093D0118093D111909343 -:10BFC000D21181E0089580E008958F929F92AF9200 -:10BFD000BF92CF92DF92EF92FF920F931F93CF9376 -:10BFE000DF93CDB7DEB72C970FB6F894DEBF0FBE48 -:10BFF000CDBF8B0140E050E068E472E44D835E8386 -:10C000006F83788740E050E060EA70E449875A87A0 -:10C010006B877C87813019F0823039F02AC0BE01ED -:10C02000675F7F4FC801089646C0F80120853185BB -:10C030004285538560914B1770914C1780914D1735 -:10C0400090914E170F941D1C6B017C0120E030E095 -:10C0500048EC53E40F94331587FD06C0C12CD12C56 -:10C0600088ECE82E83E4F82EC982DA82EB82FC8227 -:10C070001DC080904B1790904C17A0904D17B0901A -:10C080004E17F801C084D184E284F3849601A7019D -:10C09000B401C5010F94331587FD02C06401750119 -:10C0A000C601D70189839A83AB83BC83BE01675FD6 -:10C0B0007F4FCE0101960E945ED7B8016C5F7F4F23 -:10C0C000AE014B5F5F4FC8010E943CD70E9433D93D -:10C0D0002C960FB6F894DEBF0FBECDBFDF91CF9187 -:10C0E0001F910F91FF90EF90DF90CF90BF90AF9096 -:10C0F0009F908F9008958091CE1682FF2AC00E9453 -:10C100003EB7882319F18091C6169091C716A09169 -:10C11000C816B091C9160097A105B105B9F0BC01C8 -:10C12000CD016D597F4F8F4F9F4F24E630E040E0A7 -:10C1300050E00F94891B6091CA167091CB168091C4 -:10C14000CC169091CD160F94891B01C020E020934E -:10C15000EB128091EB128F7708950F931F93CF937B -:10C16000DF938C0167FF03C010927F0B60E080912A -:10C170007F0B90E0262F062E000C330B2817390773 -:10C1800034F160937F0BC8010F948114800F911FCD -:10C19000EC01C01BD10BC034D1053CF00197FC0170 -:10C1A0002491207C2038D1F3F3CFDD27AE01B801F4 -:10C1B0008FE39BE00F94A214C15CD44F18828FE3ED -:10C1C0009BE0DF91CF911F910F910C9483AFDF9192 -:10C1D000CF911F910F9108951092EA1210921402BC -:10C1E0008091CE1680628093CE1661E08FEA9EE247 -:10C1F0000E9437A840E050E064EC7EE285E00E94B7 -:10C20000AAA90E94359F60E086EB9EE20C94ADE007 -:10C21000CF93DF9320917F0B211120C0FC0101906F -:10C220000020E9F73197EF01C81BD90BC034D105C5 -:10C230002CF02291207C2038E1F3F5CFBC01DD27E2 -:10C24000AE018FE39BE00F94901FC15CD44F188226 -:10C250008FE39BE0DF91CF910C9483AFDF91CF917F -:10C2600008958091CE1682FD05C08091D311823051 -:10C2700069F411C080916B19882319F08BE699E15C -:10C2800002C08DEA99E161E00C9408E1813031F45B -:10C2900086E99EE205C082EA9EE202C082E89EE252 -:10C2A0006FEF0C94ADE0FF920F931F93CF93DF934A -:10C2B0008B01D82FC92FF42E20E030E048EC52E457 -:10C2C0000F94331587FF0FC020E030E0A901B801BB -:10C2D0008D2F9C2F0F947D1E18164CF000E010E05F -:10C2E000D0E0C0E004C000E010E0D8ECC2E481E09F -:10C2F0008F15E0F0B8018D2F9C2F0F94891D9B01A5 -:10C30000AC01AFEFB0E00F94CA1B24E630E040E090 -:10C3100050E00F94AB1BEF2DF0E0E556F44F2F3FAC -:10C32000310519F010F02FEF30E02083DF91CF912D -:10C330001F910F91FF900895E7E8F2E110821182BA -:10C3400012821382148280E00C9457BF2F923F9286 -:10C350004F925F926F927F928F929F92AF92BF9215 -:10C36000CF92DF92EF92FF920F931F93CF93DF93C1 -:10C37000CDB7DEB7CE59D1090FB6F894DEBF0FBEE8 -:10C38000CDBF2DB63EB6CB56DF4F19821882C559A8 -:10C39000D04084E690E0C956DF4F99838883C7591F -:10C3A000D04001E09E012B563F4F44E050E0BE01DB -:10C3B0006F567F4FCE0189569F4F0E949E4D9E0122 -:10C3C0002B563F4F42E050E0BE0167567F4FCE01F3 -:10C3D00089569F4F0E949E4D43E050E0BE016F562C -:10C3E0007F4F89E893E00F94821F892B19F1CC5677 -:10C3F000DF4F8881C459D040882359F08FE3CF564E -:10C40000DF4F8883C159D040CE56DF4F1882C259C2 -:10C41000D0400F94FC01BE016F567F4F8AEA9FE225 -:10C420000F94E5018CE99FE20F94130181E0809362 -:10C43000FC12EDC5C357DF4F188219821A821B8286 -:10C44000CD58D040CB56DF4F19821882C559D04005 -:10C4500001E09E012B563F4F41E050E0BE01645683 -:10C460007F4FCE0189569F4F0E949E4D4DB65EB6BE -:10C4700080E1E9E5F3E0DE01A358BF4F01900D92A2 -:10C480008A95E1F780E1E9E6F3E0DE01A359BF4FC9 -:10C4900001900D928A95E1F780E1E9E7F3E09E01D2 -:10C4A0002F5F3F4F7901D90101900D928A95E1F7F5 -:10C4B000C456DF4F4881CC59D04050E04D5F5F4FAC -:10C4C000440F551F440F551F8DB79EB7841B950B06 -:10C4D0000FB6F8949EBF0FBE8DBFADB7BEB7119615 -:10C4E0005D0100913B1311E001272C563F4FBD0128 -:10C4F000CE0189569F4F0E949E4D00913B1301270C -:10C500009E012B563F4F44E050E068E570E1CE01BC -:10C5100089569F4F0E949E4DC456DF4FC880CC590C -:10C52000D040D12CB3E0CB0ED11CCC0CDD1CCC0CFC -:10C53000DD1CEDB7FEB7EC19FD090FB6F894FEBF90 -:10C540000FBEEDBF2DB73EB72F5F3F4F49014DB72F -:10C550005EB74C195D090FB6F8945EBF0FBE4DBFB4 -:10C560008DB79EB701963C0100913B1301279E01B8 -:10C570002B563F4FA601B401CE0189569F4F0E9412 -:10C580009E4D00913B1301279E012B563F4FA60164 -:10C59000B301CE0189569F4F0E949E4D00913B13DF -:10C5A000002309F44EC011E001279E012B563F4F96 -:10C5B00044E050E06CE770E1CE0189569F4F0E9445 -:10C5C0009E4D00913B1301279E012B563F4F44E0A7 -:10C5D00050E060E870E1CE0189569F4F0E949E4D69 -:10C5E00000913B1301279E012B563F4F44E050E042 -:10C5F00064E870E1CE0189569F4F0E949E4D0091E4 -:10C600003B1301279E012B563F4F44E050E068E862 -:10C6100070E1CE0189569F4F0E949E4D00913B13C1 -:10C6200001279E012B563F4F44E050E06CE870E13B -:10C63000CE0189569F4F0E949E4D15E0DD24D39474 -:10C6400089C0C456DF4F2881CC59D04030E02E5FDE -:10C650003F4FE8E4F0E1C356DF4FB982A882CD59DD -:10C66000D04080E090E0B701281739073CF0C3566E -:10C67000DF4FA881B981CD59D04012C0AC018430C0 -:10C68000910510F043E050E0440F551F440F551F33 -:10C69000BDE7CB2ED12CCC0EDD1E4C0D5D1DDA017D -:10C6A000AD90BD90CD90DC90A192B192C192D1920B -:10C6B0002817390714F0D40112C0AC018430910559 -:10C6C00010F043E050E0440F551F440F551F1DE686 -:10C6D000C12ED12CCC0EDD1E4C0D5D1DDA01AD90AE -:10C6E000BD90CD90DC90A08AB18AC28AD38A2817E7 -:10C6F000390714F0D3010DC0AC018430910510F05E -:10C7000043E050E0440F551F440F551F460F571F7D -:10C71000DA01AD90BD90CD90DC90A0A2B1A2C2A2F2 -:10C72000D3A20196B4E06B0E711C44E0840E911C00 -:10C73000C356DF4FA881B981CD59D0401496C35656 -:10C74000DF4FB983A883CD59D0408430910509F0DB -:10C750008BCF29CF115000913B13112379F00D2578 -:10C760009E012B563F4F44E050E0BE0163577F4F80 -:10C77000CE0189569F4F0E949E4DECCF11E00127BC -:10C780009E012B563F4F44E050E063E87BE0CE0132 -:10C7900089569F4F0E949E4D0FB6F8945EBE0FBE05 -:10C7A0004DBE00913B1301279E012B563F4F4CE09D -:10C7B00050E069E379E0CE0189569F4F0E949E4D7B -:10C7C00000913B1301279E012B563F4F41E050E063 -:10C7D0006BE172E0CE0189569F4F0E949E4D009101 -:10C7E0003B1301279E012B563F4F44E050E0BE0112 -:10C7F0006F5F7F4FCE0189569F4F0E949E4D0091E3 -:10C800003B1301110CC089819A81AB81BC8180935B -:10C81000630290936402A0936502B093660211E0F4 -:10C8200001279E012B563F4F44E050E06CE373E13B -:10C83000CE0189569F4F0E949E4D00913B130127C8 -:10C840009E012B563F4F44E050E0BE0163577F4F9F -:10C85000CE0189569F4F0E949E4D01E09E012B56AE -:10C860003F4F41E050E0BE0163597F4FCE018956F2 -:10C870009F4F0E949E4D9E012B563F4F41E050E03E -:10C88000BE016F5F7F4FCE0189569F4F0E949E4D24 -:10C89000AE96AFACAE978981A89E50011124C12CF1 -:10C8A000D12C00913B13CA14DB0491F001279E01A7 -:10C8B0002B563F4F44E050E0BE0163577F4FCE01FF -:10C8C00089569F4F0E949E4DBFEFCB1ADB0AE9CFDE -:10C8D00011E001279E012B563F4F44E050E06EE2ED -:10C8E00073E1CE0189569F4F0E949E4D00913B13EC -:10C8F00001279E012B563F4F44E050E062E373E175 -:10C90000CE0189569F4F0E949E4D00913B130127F7 -:10C910009E012B563F4F44E050E066E373E1CE01A9 -:10C9200089569F4F0E949E4D1AE0DD24D3941150EA -:10C9300089F000913B130D259E012B563F4F44E09B -:10C9400050E0BE0163577F4FCE0189569F4F0E9432 -:10C950009E4DEDCF01E09E012B563F4F41E050E050 -:10C96000BE0165567F4FCE0189569F4F0E949E4D56 -:10C970009E012B563F4F41E050E0BE0163587F4F70 -:10C98000CE0189569F4F0E949E4DC556DF4F88812C -:10C99000CB59D04000913B138530C9F5EE968FAD51 -:10C9A000EE978530A1F5011103C080E00E948DACA7 -:10C9B00000913B1311E001279E012B563F4F44E0AD -:10C9C00050E060E473E1CE0189569F4F0E949E4D76 -:10C9D00000913B1301279E012B563F4F44E050E04E -:10C9E00068EF72E1CE0189569F4F0E949E4D0091E3 -:10C9F0003B1301279E012B563F4F44E650E06CE469 -:10CA000073E1CE0189569F4F0E949E4D43C011E0B5 -:10CA100001279E012B563F4F44E050E0BE01635971 -:10CA20007F4FCE0189569F4F0E949E4D00913B1330 -:10CA300001279E012B563F4F44E050E0BE016F5F3F -:10CA40007F4FCE0189569F4F0E949E4DC556DF4FA6 -:10CA5000A880CB59D040EE968FADEE97A89E50019E -:10CA60001124C12CD12CAC14BD04A1F000913B13B6 -:10CA700001279E012B563F4F44E050E0BE01635713 -:10CA80007F4FCE0189569F4F0E949E4DEFEFCE1AE9 -:10CA9000DE0AE9CF00913B1311E001279E012B56DE -:10CAA0003F4F41E050E0BE0163597F4FCE018956B0 -:10CAB0009F4F0E949E4D00913B1301279E012B56D4 -:10CAC0003F4F41E050E0B701CE0189569F4F0E9491 -:10CAD0009E4D00913B1301279E012B563F4F40E195 -:10CAE00050E0B701CE0189569F4F0E949E4D0091A4 -:10CAF0003B1301279E012B563F4F41E050E0B70109 -:10CB0000CE0189569F4F0E949E4D00913B130127F5 -:10CB10009E012B563F4F44E050E0BE0163597F4FCA -:10CB2000CE0189569F4F0E949E4D00913B130127D5 -:10CB30009E012B563F4F44E050E0B701CE0189568D -:10CB40009F4F0E949E4D00913B1301279E012B5643 -:10CB50003F4F42E050E0BE0163587F4FCE018956FF -:10CB60009F4F0E949E4D00913B1301279E012B5623 -:10CB70003F4F40E150E0B701CE0189569F4F0E94E0 -:10CB80009E4D00913B1301112EC089809A80AB808D -:10CB9000BC8020E030E84BE355E4C501B4010F94BC -:10CBA0003315882301F18092B90B9092BA0BA092B1 -:10CBB000BB0BB092BC0B8D819E81AF81B8858093F9 -:10CBC000BD0B9093BE0BA093BF0BB093C00B898598 -:10CBD0009A85AB85BC858093C10B9093C20BA093C3 -:10CBE000C30BB093C40B11E001279E012B563F4F9E -:10CBF00042E050E0BE016F5F7F4FCE0189569F4FEC -:10CC00000E949E4D00913B1301279E012B563F4FE2 -:10CC10004CE050E0BE016F5F7F4FCE0189569F4FC1 -:10CC20000E949E4D00913B13011115C020E030E899 -:10CC30004BE355E469817A818B819C810F94331594 -:10CC4000882349F08CE0FE013196A4E1B9E001901F -:10CC50000D928A95E1F711E001279E012B563F4F77 -:10CC600042E050E0B701CE0189569F4F0E949E4D91 -:10CC700000913B1301279E012B563F4F41E050E0AE -:10CC8000B701CE0189569F4F0E949E4D00913B13E4 -:10CC900001279E012B563F4F40E250E0B701CE01E5 -:10CCA00089569F4F0E949E4D00913B1301279E0184 -:10CCB0002B563F4F41E050E0BE0163597F4FCE01FC -:10CCC00089569F4F0E949E4D00913B1301279E0164 -:10CCD0002B563F4F45E050E0B701CE0189569F4F9C -:10CCE0000E949E4D00913B1301110FC089818093DA -:10CCF000B8118A819B81AC81BD818093BD119093D5 -:10CD0000BE11A093BF11B093C01111E001279E0185 -:10CD10002B563F4F4AE150E0B701CE0189569F4F55 -:10CD20000E949E4D00913B1301279E012B563F4FC1 -:10CD300044E350E0B701CE0189569F4F0E949E4DBB -:10CD400000913B1301279E012B563F4F48E050E0D6 -:10CD5000B701CE0189569F4F0E949E4D00913B1313 -:10CD600001279E012B563F4F4DE050E0B701CE0109 -:10CD700089569F4F0E949E4D00913B1301279E01B3 -:10CD80002B563F4F44E050E0B701CE0189569F4FEC -:10CD90000E949E4D00913B1301279E012B563F4F51 -:10CDA0004CE050E0B701CE0189569F4F0E949E4D46 -:10CDB00000913B1301279E012B563F4F4CE650E05C -:10CDC000B701CE0189569F4F0E949E4D19821A824B -:10CDD0001B821C821D821E821F82188619861A865B -:10CDE0001B861C8600913B1301279E012B563F4F4B -:10CDF0004CE050E0B701CE0189569F4F0E949E4DF6 -:10CE000000913B1301279E012B563F4F48E050E015 -:10CE100064E473E1CE0189569F4F0E949E4D0091BC -:10CE20003B1301279E012B563F4F44E050E0B701D2 -:10CE3000CE0189569F4F0E949E4D00913B130127C2 -:10CE40009E012B563F4F44E050E0BE016B5F7F4F89 -:10CE5000CE0189569F4F0E949E4D00913B130127A2 -:10CE60009E012B563F4F44E050E0BE01675F7F4F6D -:10CE7000CE0189569F4F0E949E4D00913B13012782 -:10CE80009E012B563F4F41E050E0BE0163587F4F5B -:10CE9000CE0189569F4F0E949E4D00913B13012762 -:10CEA0009E012B563F4F44E050E0BE0163597F4F37 -:10CEB000CE0189569F4F0E949E4D80E3D7011D925F -:10CEC0008A95E9F700913B1301279E012B563F4FAE -:10CED00040E350E0B701CE0189569F4F0E949E4D1E -:10CEE00080913B13811104C08AEC97E00E943A4F75 -:10CEF000C956DF4F88819981C759D0408C33934000 -:10CF000041F00F94F80182E19FE20F94130181E058 -:10CF100001C080E08093FC128823C1F00F94FC01D3 -:10CF2000C956DF4F68817981C759D040645671096D -:10CF300084E99FE20F94D80168ED72E08CE89FE2EB -:10CF40000F94BA018AE00E942F4E57C0CB56DF4F94 -:10CF500028813981C559D040C756DF4F88819981D2 -:10CF6000C959D04028173907E1F081E08093FC12BD -:10CF70000F94F801C756DF4F68817981C959D040B5 -:10CF80008CE69FE20F94BA01CB56DF4F688179811E -:10CF9000C559D04087E69FE20F94BA0187E59FE22A -:10CFA0002AC080913B13811128C00F94FC0109E82D -:10CFB00013E0F80181918F01882319F00E942F4E10 -:10CFC000F8CFC956DF4F68817981C759D040645680 -:10CFD00071098AE39FE20F94D801CB56DF4F488155 -:10CFE0005981C559D04060E070E08DE29FE20F9416 -:10CFF000A9018AE29FE20F94130180913B138111F2 -:10D0000006C08091FC12811102C00E94AFDE8091A7 -:10D010003B13811102C00E94D9EF9091FC1281E074 -:10D0200089270FB6F8943EBE0FBE2DBEC256DF4F05 -:10D030000FB6F894DEBF0FBECDBFDF91CF911F9129 -:10D040000F91FF90EF90DF90CF90BF90AF909F90A7 -:10D050008F907F906F905F904F903F902F900895AA -:10D0600090E0FC013197E231F10508F04EC08827CD -:10D07000E155FF4F8F4F0D94141C809180008F77E6 -:10D0800003C0809180008F7D8093800008958091FF -:10D090008000877FF9CF84B58F7702C084B58F7DFC -:10D0A00084BD08958091B0008F7703C08091B00057 -:10D0B0008F7D8093B0000895809190008F7707C096 -:10D0C000809190008F7D03C080919000877F809336 -:10D0D000900008958091A0008F7707C08091A000F4 -:10D0E0008F7D03C08091A000877F8093A00008956A -:10D0F000809120018F7707C0809120018F7D03C030 -:10D1000080912001877F8093200108953FB7F89494 -:10D110008091011390910213A0910313B091041315 -:10D1200026B5A89B05C02F3F19F00196A11DB11D82 -:10D130003FBFBA2FA92F982F8827820F911DA11DBD -:10D14000B11DBC01CD0142E0660F771F881F991FFA -:10D150004A95D1F708952F923F924F925F926F9226 -:10D160007F928F929F92AF92BF92CF92DF92EF9277 -:10D17000FF920F931F93CF93DF93CDB7DEB7A097A6 -:10D180000FB6F894DEBF0FBECDBF9A8F898F1B01FB -:10D190004B8F28A30E94B08F882309F4BBC1A98DAF -:10D1A000BA8D6D917D918D919C91F101C080D1805E -:10D1B000E280F38020912E1330912F134091301391 -:10D1C000509131130F941C1C4B015C0120913213C0 -:10D1D000309133134091341350913513C701B60188 -:10D1E0000F941C1C9B01AC01E0904B17F0904C1766 -:10D1F00000914D1710914E1780915F02909160023F -:10D20000A0916102B09162028C8F9D8FAE8FBF8F13 -:10D2100080915B0290915C02A0915D02B0915E02F0 -:10D2200080935F0290936002A0936102B0936202C8 -:10D2300019821A821B821C82DE0111966D01C501C2 -:10D24000B4010E947BD681E00E94E19D8111E6C07D -:10D250008091BA1382FF11C0209136133091371399 -:10D26000409138135091391360E070E080E490EC05 -:10D270000F941C1C4B015C0106C0812C912C40E2D8 -:10D28000A42E41ECB42E8D869E86AF86B88A412CA2 -:10D29000512C30E8632E30E4732E49865A866B8613 -:10D2A0007C86BE01675F7F4FCE010D960E945ED7E0 -:10D2B000109121131092211382E00E9499D70E94AD -:10D2C00007D812FD05C060E070E080EC9FE75FC00A -:10D2D000C0904B17D0904C17E0904D17F0904E1720 -:10D2E00049825A826B827C8220E030E040EA50E43E -:10D2F000C701B6010F941D1C6D837E838F839887B1 -:10D30000BE016F5F7F4FCE0105960E945ED78D8272 -:10D310009E82AF82B88680E090E0A0E0B0E489838E -:10D320009A83AB83BC83BE016F5F7F4FCE010596AE -:10D330000E945ED7109121131092211382E00E9467 -:10D3400099D70E9407D812FFBECF20E030E040E41A -:10D3500050E460914B1770914C1780914D1790914C -:10D360004E170F9499154B015C01A7019601C70157 -:10D37000B6010F941D1C9B01AC01C501B4010F94B3 -:10D380001D1C2DEC3CEC4CE45EE30F9499152091B0 -:10D3900036133091371340913813509139130F944D -:10D3A0001D1C6B018C018B8D8250823050F580E00A -:10D3B00090E0A0E8B0E4898B9A8BAB8BBC8B60913A -:10D3C0004B1770914C1780914D1790914E17BB8D54 -:10D3D000B33029F020E030E040EA50E404C020E01F -:10D3E00030E048EC51E40F941D1C6D8B7E8B8F8BCD -:10D3F000988FBE016F5E7F4FCE0145960E945ED72B -:10D4000008C0EB8DE13029F480E00E94E19D81119C -:10D4100005C0F8A1F33008F45AC008C098A19330B1 -:10D4200008F47DC0C12CD12C00EC1FE72DEDE22EBD -:10D4300027E0F22ED7018D917D01882319F00E94FB -:10D440002F4EF8CF209122133091231340912413B3 -:10D4500050912513E98DFA8D6081718182819381CC -:10D460000F941D1C43E00E94BF4E95EEE92E97E0FD -:10D47000F92ED7018D917D01882319F00E942F4E3E -:10D48000F8CF209126133091271340912813509103 -:10D490002913F10160817181828193810F941D1C98 -:10D4A00043E00E94BF4E8AEEE82E87E0F82ED701B7 -:10D4B0008D917D01882319F00E942F4EF8CF43E013 -:10D4C000B601C8010E94BF4E8AE00E942F4E8C8D8B -:10D4D0009D8DAE8DBF8D80935F0290936002A0936F -:10D4E0006102B09362029601A801B601C8010F94CF -:10D4F0000F1F882329F180E00E94E19D60E08BEFFF -:10D5000090E30E94ADE00F94F8018BEE90E30F944E -:10D51000130116C0C12CD12C00EC1FE711C08C8D5B -:10D520009D8DAE8DBF8D80935F0290936002A0931E -:10D530006102B0936202C12CD12C00EC1FE7DBCF5B -:10D54000B601C801A0960FB6F894DEBF0FBECDBFDE -:10D55000DF91CF911F910F91FF90EF90DF90CF90CF -:10D56000BF90AF909F908F907F906F905F904F9003 -:10D570003F902F90089589E594E10E94FC6289E52F -:10D5800094E10E942F638091CE168D7F8E7F8093D1 -:10D59000CE161092CA161092CB161092CC1610927C -:10D5A000CD1681E08093B4150895CF93DF9300D01A -:10D5B0001F92CDB7DEB780913A1381111BC081E075 -:10D5C00080933A1380910D1390910E13A0910F1335 -:10D5D000B0911013B05889839A83AB83BC839E01AA -:10D5E0002F5F3F4F49E153E165E173E181E193E151 -:10D5F0000E94AD920F900F900F900F90DF91CF91FE -:10D600000895CF93DF9300D01F92CDB7DEB78091FE -:10D610003A138823F9F02AE939E949E95FE360918F -:10D620000D1370910E1380910F13909110130F949E -:10D63000991569837A838B839C839E012F5F3F4F6B -:10D6400049E153E165E173E181E193E10E94AD922B -:10D6500010923A130F900F900F900F90DF91CF918F -:10D6600008952F923F924F925F926F927F928F9286 -:10D670009F92AF92BF92CF92DF92EF92FF920F9361 -:10D680001F93CF93DF93CDB7DEB7A0970FB6F89473 -:10D69000DEBF0FBECDBF1C018B015A8749873C8777 -:10D6A0002B87C0904317D0904417E0904517F09017 -:10D6B0004617DC018D919D910D90BC91A02D8D8719 -:10D6C0009E87AF87B88B9C01AD01C701B6010F944F -:10D6D0001C1C2B013C018091471790914817A09189 -:10D6E0004917B0914A17898B9A8BAB8BBC8BD801A9 -:10D6F0008D919D910D90BC91A02D8D8B9E8BAF8BAC -:10D70000B88F9C01AD0169897A898B899C890F94B6 -:10D710001C1C4B015C01A3019201C301B2010F94D7 -:10D7200099152B013C01A5019401C501B4010F9489 -:10D7300099159B01AC01C301B2010F941D1C698FA7 -:10D740007A8F8B8F9C8FE985FA854080518062802B -:10D750007380A3019201C701B6010F941C1C6D8F49 -:10D760007E8F8F8F98A3AB85BC858D909D90AD905B -:10D77000BC90A501940169897A898B899C890F9451 -:10D780001C1C6B017C012D853E854F855889C3018A -:10D79000B2010F941C1C2B013C012D893E894F893D -:10D7A000588DC501B4010F941C1C4B015C01A301F1 -:10D7B0009201C301B2010F9499152B013C01A501FF -:10D7C0009401C501B4010F9499159B01AC01C301EB -:10D7D000B2010F941D1C0F94CB1E4B015C012D8DCB -:10D7E0003E8D4F8D58A1CA01B9010F9499152B0197 -:10D7F0003C01A7019601C701B6010F9499159B0141 -:10D80000AC01C301B2010F941D1C9B01AC01698DD9 -:10D810007A8D8B8D9C8D0F947D1E181604F520E05B -:10D8200030E0A901C501B4010F947D1E87FF04C03B -:10D83000C501B401905802C0C501B40120E030E038 -:10D8400040EA50E40F947D1E18164CF49801A10193 -:10D850006B857C8589859A850E9431EB83C020E0A9 -:10D8600030E040E050E4698D7A8D8B8D9C8D0F9473 -:10D870007D1E18160CF044C00E94D5EA19821A8247 -:10D880001B821C8220E030E040E05FE360914B1798 -:10D8900070914C1780914D1790914E170F941D1C4D -:10D8A0006D837E838F8398879E012F5F3F4FAE01EC -:10D8B0004B5F5F4F67E477E183E497E10E94AD92AD -:10D8C00019821A821B821C8220E030E040E05FE374 -:10D8D00060910513709106138091071390910813BE -:10D8E0000F941D1C6D837E838F8398879E012F5F0D -:10D8F0003F4FAE014B5F5F4FB801C1010E94AD9237 -:10D9000019821A821B821C829E012F5F3F4F45E0C5 -:10D9100053E1B801C1010E94AD922DEC3CEC4CECFE -:10D920005CE3C501B4010F9499159B01AC016091B2 -:10D93000091370910A1380910B1390910C130F949B -:10D94000991569837A838B839C830E9401EB9E01E6 -:10D950002F5F3F4F45E053E16B857C8589859A8534 -:10D960000E94AD92A0960FB6F894DEBF0FBECDBF59 -:10D97000DF91CF911F910F91FF90EF90DF90CF90AB -:10D98000BF90AF909F908F907F906F905F904F90DF -:10D990003F902F900895CF93DF93282F30E0F90127 -:10D9A000EB55FF4C8491F901E15AFF4CD491F901F8 -:10D9B000E75EFF4CC491CC2391F081110E9430E8C6 -:10D9C000EC2FF0E0EE0FFF1FE150F04DA591B49168 -:10D9D000EC91ED2381E090E021F480E002C080E052 -:10D9E00090E0DF91CF9108951F93CF93DF93282F7D -:10D9F00030E0F901EB55FF4C8491F901E15AFF4CFD -:10DA0000D491F901E75EFF4CC491CC23C1F0162FED -:10DA100081110E9430E8EC2FF0E0EE0FFF1FEB5178 -:10DA2000F04DA591B4919FB7F894111104C08C9159 -:10DA3000D095D82302C0EC91DE2BDC939FBFDF9101 -:10DA4000CF911F910895CF93DF9390E0FC01E15AAD -:10DA5000FF4C2491FC01E75EFF4C8491882361F127 -:10DA600090E0880F991FFC01E553F04DC591D491CA -:10DA7000FC01EB51F04DA591B491611109C09FB724 -:10DA8000F8948881209582238883EC912E230BC003 -:10DA9000623061F49FB7F8948881322F30958323E8 -:10DAA0008883EC912E2B2C939FBF06C08FB7F894E0 -:10DAB000E8812E2B28838FBFDF91CF9108951F938C -:10DAC000CF93DF93182FEB0161E00E9423ED2097A5 -:10DAD00011F460E004C0CF3FD10539F461E0812F3B -:10DAE000DF91CF911F910C94F4ECE12FF0E0EB5516 -:10DAF000FF4CE4918E2F90E0FC013197E231F1056B -:10DB000008F09DC08827EF53FF4F8F4F0D94141CD2 -:10DB100084B5806884BDC7BD97C084B5806284BD6C -:10DB2000C8BD92C080918000806880938000D093AF -:10DB30008900C093880088C08091800080628093B3 -:10DB40008000D0938B00C0938A007EC080918000BB -:10DB5000886080938000D0938D00C0938C0074C047 -:10DB60008091B00080688093B000C093B3006CC017 -:10DB70008091B00080628093B000C093B40064C014 -:10DB800080919000806880939000D0939900C0931A -:10DB900098005AC080919000806280939000D0934A -:10DBA0009B00C0939A0050C0809190008860809341 -:10DBB0009000D0939D00C0939C0046C08091A0002F -:10DBC00080688093A0008091A0008F7B8093A0004C -:10DBD000D093A900C093A80037C08091A0008062B4 -:10DBE0008093A000D093AB00C093AA002DC0809179 -:10DBF000A00088608093A000D093AD00C093AC00DB -:10DC000023C080912001806880932001D093290156 -:10DC1000C093280119C08091200180628093200167 -:10DC2000D0932B01C0932A010FC0809120018860FE -:10DC300080932001D0932D01C0932C0105C0C038E2 -:10DC4000D1050CF04BCF45CFDF91CF911F910895B7 -:10DC5000863308F0865390917B00282F2870977F99 -:10DC6000922B90937B008770806480937C008091DE -:10DC70007A00806480937A0080917A0086FDFCCFE0 -:10DC8000809178002091790090E0922B08958F92F6 -:10DC90009F92AF92BF92CF92DF92EF92FF926B0171 -:10DCA0007C010E9486E84B015C01C114D104E104AF -:10DCB000F104F1F00E9486E8DC01CB018819990992 -:10DCC000AA09BB09883E9340A105B10570F321E084 -:10DCD000C21AD108E108F10888EE880E83E0981E88 -:10DCE000A11CB11CC114D104E104F10419F7DDCF6A -:10DCF000FF90EF90DF90CF90BF90AF909F908F906C -:10DD000008952FB7F8946091FD127091FE128091E2 -:10DD1000FF12909100132FBF089580912113882343 -:10DD200019F010922113089583E094E30E9433FACE -:10DD3000A8E4B0E120E030E0C9012430310510F062 -:10DD400083E090E0880F991F880F991FFC01E65827 -:10DD5000FE4C459155916591749154964D935D9308 -:10DD60006D937C935797FC01E659FE4C4591559174 -:10DD70006591749194964D935D936D937C93979771 -:10DD8000FC01E65AFE4C45915591659174914D9375 -:10DD90005D936D937D932F5F3F4F2430310509F0E4 -:10DDA000CBCF80E29EE4A0E0B0E080935810909347 -:10DDB0005910A0935A10B0935B1080E090E0A6E950 -:10DDC000B3E480937C1090937D10A0937E10B09369 -:10DDD0007F1040E050E06AE774E440938010509375 -:10DDE00081106093821070938310809384109093BD -:10DDF0008510A0938610B09387101092881010920F -:10DE0000891010928A1010928B1010928C10109220 -:10DE10008D1010928E1010928F108AE097EDA3EA69 -:10DE2000BDE38093830B9093840BA093850BB093F9 -:10DE3000860B8CE0E9E3F9E0DF011D928A95E9F7B2 -:10DE400081E080931B02109207090E947C4D80E0C4 -:10DE500090E0A0EAB0E48093630290936402A09300 -:10DE60006502B09366028FEE97E00E943A4F1092DF -:10DE70003C1310923D1310923E1310923F130E94D8 -:10DE8000D3AC80E090E0A8EDB1EC80932E1390939A -:10DE90002F13A0933013B0933113109232131092BA -:10DEA00033131092341310923513109236131092CC -:10DEB0003713109238131092391380E090E0AAECD7 -:10DEC000B1E48093B90B9093BA0BA093BB0BB093C2 -:10DED000BC0B85E698E0A6EBBEE38093BD0B909368 -:10DEE000BE0BA093BF0BB093C00B81E09FE1A0EEEF -:10DEF000B3E48093C10B9093C20BA093C30BB09378 -:10DF0000C40B83EC95E9ACE2B4E4809314099093DC -:10DF10001509A0931609B093170980E29BE1A2E9C5 -:10DF2000B1E48093180990931909A0931A09B0934A -:10DF30001B0987EF9CEDABECB5E480931C09909333 -:10DF40001D09A0931E09B0931F091092B81180E01B -:10DF500090E0A0EEBFE38093BD119093BE11A0931B -:10DF6000BF11B093C01110923509109234090E946C -:10DF700074DA80E090E0A7EDB3E4809344139093CB -:10DF80004513A0934613B09347138093481390937F -:10DF90004913A0934A13B0934B130E94AFDE0F9422 -:10DFA000FC0187E391E30F9413018FEE97E00C944B -:10DFB0003A4F8F929F92AF92BF92CF92DF92EF92A1 -:10DFC000FF920F931F93CF93C82F811102C00F941C -:10DFD000FC018CEE93E30F94130186EE93E30F9410 -:10DFE00013018AE00E942F4E8AE00E942F4EC11139 -:10DFF00014C00F94FC0183ED93E30F9413018091FF -:10E00000B811882321F08AE00E942F4E04C088ECCA -:10E0100093E30F9413010F94FC014091BD115091B3 -:10E02000BE116091BF117091C0118FEB93E30F94FB -:10E03000C7018AE00E942F4E8091B811811108C05B -:10E04000C11102C00F94FC0184EB93E30F94130100 -:10E05000C11106C00F94FC0183EA93E30F941301EE -:10E060006FEF81E08C270E9494C6C11108C00F9405 -:10E07000FC0185E893E30F9413010F94FC01409198 -:10E080006C1050916D1060916E1070916F108CE754 -:10E0900093E30F94C70140917010509171106091FB -:10E0A00072107091731089E793E30F94C701409148 -:10E0B000741050917510609176107091771086E70A -:10E0C00093E30F94C70140917810509179106091BB -:10E0D0007A1070917B1083E793E30F94C7018AE075 -:10E0E0000E942F4EC11108C00F94FC0181E593E3FB -:10E0F0000F9413010F94FC01609148107091491026 -:10E1000080914A1090914B100F943815AB01BC01CF -:10E1100088E493E30F94C70160914C1070914D1007 -:10E1200080914E1090914F100F943815AB01BC01A7 -:10E1300085E493E30F94C7016091501070915110E2 -:10E1400080915210909153100F943815AB01BC017F -:10E1500082E493E30F94C7016091541070915510BD -:10E1600080915610909157100F943815AB01BC0157 -:10E170008FE393E30F94C7018AE00E942F4EC111F1 -:10E1800008C00F94FC0185EF92E30F9413010F94E4 -:10E19000FC0140917C1050917D1060917E10709137 -:10E1A0007F108CEE92E30F94C70140918010509144 -:10E1B0008110609182107091831089EE92E30F9428 -:10E1C000C701409184105091851060918610709124 -:10E1D000871086EE92E30F94C7018AE00E942F4ECB -:10E1E000C1110FC00F94FC018EE992E30F9413014B -:10E1F00081E992E30F9413018AE00E942F4E0F945D -:10E20000FC01609158107091591080915A109091B2 -:10E210005B100F943815AB01BC0188E892E30F94B2 -:10E22000C701409188105091891060918A107091B7 -:10E230008B1085E892E30F94C70140918C105091A8 -:10E240008D1060918E1070918F1082E892E30F9480 -:10E25000C7014091830B5091840B6091850B7091A5 -:10E26000860B8FE792E30F94C7018AE00E942F4E3E -:10E27000C11108C00F94FC0181E792E30F941301D0 -:10E280000F94FC014091390950913A0960913B0982 -:10E2900070913C0988E692E30F94C70140913D09D3 -:10E2A00050913E0960913F097091400985E692E3E3 -:10E2B0000F94C7014091410950914209609143096F -:10E2C0007091440982E692E30F94C7018AE00E94AC -:10E2D0002F4EC11108C00F94FC018EE492E30F94FD -:10E2E00013010F94FC0160915B1770E085E492E3E9 -:10E2F0000F94D80140915C1750915D1760915E17A3 -:10E3000070915F1782E492E30F94C7018AE00E9444 -:10E310002F4E8091401390914113892B09F443C0F3 -:10E320009CE4C92E93E1D92E00E010E0E12CF12C01 -:10E33000A12CB12CC11102C00F94FC01B50188E3DE -:10E3400092E30F94D801B80185E392E30F94D801CA -:10E3500082E0882E88E0982EF40181914F01882375 -:10E3600019F00E942F4EF8CFF601EE0DFF1D6081CF -:10E3700071818281938145E00E94BF4E8AE00E94B4 -:10E380002F4EFFEFAF1ABF0A84E1E80EF11CE4E65E -:10E39000EE16F10479F60F5F1F4FF4E0CF0ED11C9B -:10E3A0000530110519F6C11108C00F94FC0186E271 -:10E3B00092E30F9413010F94FC014091B90B50911B -:10E3C000BA0B6091BB0B7091BC0B8DE192E30F9483 -:10E3D000C7012CEA35EC47E25EE36091BD0B70911A -:10E3E000BE0B8091BF0B9091C00B0F94171DAB011A -:10E3F000BC018AE192E30F94C7012CEA35EC47E2B5 -:10E400005EE36091C10B7091C20B8091C30B909140 -:10E41000C40B0F949915AB01BC0187E192E30F94F3 -:10E42000C7018AE00E942F4EC11102C00F94FC0167 -:10E4300040911409509115096091160970911709BE -:10E440008EE092E30F94C7012CEA35EC47E25EE3DD -:10E45000609118097091190980911A0990911B090E -:10E460000F94171DAB01BC018BE092E30F94C70121 -:10E470002CEA35EC47E25EE360911C0970911D09BE -:10E4800080911E0990911F090F949915AB01BC0151 -:10E4900088E092E30F94C7018AE00E942F4EC111D9 -:10E4A00010C00F94FC0189EF91E30F94130186EEE5 -:10E4B00093E30F9413018AE891E30F9413010F94EF -:10E4C000FC0140912E1350912F13609130137091E5 -:10E4D000311380EF91E30F94C7018AE00E942F4E21 -:10E4E000409132135091331360913413709135136E -:10E4F00087EE91E30F94C7018AE00E942F4E40916E -:10E5000036135091371360913813709139138EED93 -:10E5100091E30F94C7018AE00E942F4EC11108C0F9 -:10E520000F94FC018FEB91E30F9413010F94FC0106 -:10E530008DE891E30F9413014091481350914913D2 -:10E5400060914A1370914B138DEB91E30F94C701C7 -:10E5500040914413509145136091461370914713B5 -:10E560008AEB91E30F94C7018AE00E942F4EC111FC -:10E5700008C00F94FC0181EA91E30F9413010F94FA -:10E58000FC0160911B0270E088E991E30F94D801CF -:10E59000409163025091640260916502709166023D -:10E5A00085E991E30F94C7018AE0CF911F910F9104 -:10E5B000FF90EF90DF90CF90BF90AF909F908F90A3 -:10E5C0000C942F4E8F929F92AF92BF92CF92DF9278 -:10E5D000EF92FF920F931F93CF93DF9381E080938D -:10E5E0003B130E94A6E110923B13882309F4DFC07D -:10E5F0000E94A6E1D82E85E098E00E943A4F8091D3 -:10E60000401390914113892B09F47BC0EE24E394CD -:10E61000F12C00E010E0D1E035E0C32EC0E0BB24D7 -:10E62000B39445E0A42E55E0952E62E8862EEB24A7 -:10E63000CC16D1F18F2D90E04897A4F5F394F80112 -:10E64000AC9EE00DF11D1124EE0FFF1FEE0FFF1F1A -:10E65000E45BFC4E20E030E04AE754E460817181E5 -:10E66000828193810F9499150F94891D709353158E -:10E670006093521590924615809249154F2D50E0A7 -:10E680004158574F440F551F052E000C660B770B52 -:10E6900040934A1550934B1560934C1570934D154C -:10E6A0000E948DF9CD0FC4CF0F5F1F4F05301105AC -:10E6B00061F0E11005C0DFEFCC24CA94C4E0B7CF0D -:10E6C000D1E025E0C22EC0E0B2CF83E090E090938D -:10E6D00053158093521585E08093461582E8809308 -:10E6E000491585E490E1A0E0B0E080934A1590934D -:10E6F0004B15A0934C15B0934D150E948DF981E0F8 -:10E700001BC082E090E0909353158093521585E0F2 -:10E710008093461582E88093491585E490E1A0E056 -:10E72000B0E080934A1590934B15A0934C15B0938D -:10E730004D150E948DF980E00E948DAC40913613FA -:10E740005091371360913813709139138AE091E337 -:10E750000F94C7018AE00E942F4E20E030E048EC81 -:10E7600052E4609136137091371380913813909171 -:10E7700039130F9499150F94891D70935315609355 -:10E78000521585E08093461582E88093491586E20C -:10E7900090E1A0E0B0E080934A1590934B15A093D0 -:10E7A0004C15B0934D150E948DF98D2D0BC00E9414 -:10E7B00098EE0E9483DA0F94FC0183E291E30F94B8 -:10E7C000130180E0DF91CF911F910F91FF90EF90A7 -:10E7D000DF90CF90BF90AF909F908F9008954F9211 -:10E7E0005F926F927F928F929F92AF92BF92CF92E1 -:10E7F000DF92EF92FF920F931F93CF93DF93CDB7EA -:10E80000DEB764970FB6F894DEBF0FBECDBF082FFA -:10E81000F62EE42E882E912C26E0829FC001112432 -:10E82000FC01E355FA4C65907490FC01E555FA4CF7 -:10E830005F0145905490F3018081482F487050E06B -:10E8400060E070E07695679557954795F2011081E5 -:10E850001370142BF4E0EF1209C0807190E0A0E077 -:10E86000B0E0B695A79597958795182B81EA95E323 -:10E870000F941301005D802F0E942F4E8F2D0E9458 -:10E880002F4E83E00F940801F401EE0FFF1F8F2D30 -:10E890000F2C000C990B9E012F5F3F4F690133E055 -:10E8A000E80DF91D81549109E80FF91FEE0FFF1FC4 -:10E8B000E358FA4CE3121BC0A591B4918C911F92BE -:10E8C0008F9383E795E39F938F93DF92CF920F947B -:10E8D000CB140F900F900F900F900F900F90F601A8 -:10E8E00081916F01882309F10E942F4EF8CFA591E5 -:10E8F000B49111968C9111978F938C918F9389E697 -:10E9000095E39F938F93DF92CF920F94CB140F9048 -:10E910000F900F900F900F900F90F60181916F0163 -:10E92000882319F00E942F4EF8CF612F70E08FE5F9 -:10E9300095E30F94D801F501C590D49083ED94E34D -:10E940000F941301802F0E942F4EF2E4FF1691F0D6 -:10E9500023E4F216F9F031E4F3122DC0F601408100 -:10E96000429546954695437050E060E070E08FEC2C -:10E9700094E31FC0F6014081407350E060E070E016 -:10E9800094E076956795579547959A95D1F78BECD6 -:10E9900094E30FC0F60140814C7050E060E070E0FD -:10E9A00082E076956795579547958A95D1F787ECDC -:10E9B00094E30F94A901F3014081477050E060E0B7 -:10E9C00070E086E595E30F94A9018DE495E30F943B -:10E9D0001301802F0E942F4EF201608170E089E4C4 -:10E9E00095E30F94D80180E495E30F941301802FF1 -:10E9F0000E942F4EF301608170E08CE395E30F9449 -:10EA0000D80186E0889DF001899DF00D1124E15523 -:10EA1000FA4CC590D49082E395E30F941301802FB4 -:10EA20000E942F4EF601608170E08FE295E30F9413 -:10EA3000D80100EC0F0DF3E0EF1207C0197F59F475 -:10EA40008BED94E30F94130106C0812F8B7FC1F3EC -:10EA50001C501230A8F3F601808190E0A0E0B0E0F5 -:10EA600004C0B695A795979587950A95D2F780FF2C -:10EA700004C084EF94E30F941301F601808180FFBA -:10EA800004C081E195E30F94130164960FB6F894E6 -:10EA9000DEBF0FBECDBFDF91CF911F910F91FF90D1 -:10EAA000EF90DF90CF90BF90AF909F908F907F902E -:10EAB0006F905F904F900895CF93DF93C82F88EFAA -:10EAC00095E30F9413010C2E000CDD0BFE01E75EA5 -:10EAD000FF4C8491805C0E942F4EFE01E15AFF4C56 -:10EAE000E49180E3E13021F0E6958F5F8933D1F73F -:10EAF000DF91CF910C942F4E082E000C990BFC0146 -:10EB0000E75EFF4CE491EE2399F0F0E0EE0FFF1F7B -:10EB1000E150F04DA591B4912C91FC01E15AFF4CCC -:10EB20008491822321E090E009F420E0822F08956F -:10EB300080E090E00895CF93DF93C82FD0E0FE01EE -:10EB4000EB55FF4CE4918E2F90E0FC013197E231C0 -:10EB5000F105E8F58827ED52FF4F8F4F0D94141CF7 -:10EB600043E061E402C043E062E480E02EC044E0A0 -:10EB700061E405C044E062E402C044E063E481E093 -:10EB800024C043E061E402C043E062E482E01DC0CF -:10EB900044E061E405C044E062E402C044E063E4B0 -:10EBA00083E013C044E061E405C044E062E402C0D5 -:10EBB00044E063E484E009C044E061E405C044E06B -:10EBC00062E402C044E063E485E00E94EFF385EF75 -:10EBD00095E30F941301FE01E75EFF4CE491E230F0 -:10EBE000F9F4FE01E15AFF4CE491E038C9F481EFF9 -:10EBF00095E30F94130182E10F94080189EE95E3E8 -:10EC00000F9413018FEC95E30F9413018EE00F9492 -:10EC1000080144E063E481E0DF91CF910C94EFF3CD -:10EC2000DF91CF9108950F931F93CF93DF93CDB7CB -:10EC3000DEB764970FB6F894DEBF0FBECDBFE82FE6 -:10EC4000F0E0EB55FF4CE4918E2F90E0FC01319702 -:10EC5000E231F10508F049C28827EB51FF4F8F4F91 -:10EC60000D94141C84B5807C09F43FC287B51F92B3 -:10EC70008F938DEB94E39F938F938E010F5F1F4FC4 -:10EC80001F930F930F94CB140F900F900F900F9032 -:10EC90000F900F90F80181918F01811102C081E0E6 -:10ECA00025C20E942F4EF6CF84B5807309F41DC291 -:10ECB00088B51F928F9383EB94E39F938F938E017C -:10ECC0000F5F1F4F1F930F930F94CB140F900F9054 -:10ECD0000F900F900F900F90F80181918F01882372 -:10ECE000F1F20E942F4EF8CF80918000807C09F4D1 -:10ECF000FCC180918800909189009F938F9389EA4D -:10ED000094E39F938F938E010F5F1F4F1F930F9379 -:10ED10000F94CB140F900F900F900F900F900F90B7 -:10ED2000F80181918F01882309F4B9CF0E942F4EF9 -:10ED3000F7CF80918000807309F4D7C180918A0059 -:10ED400090918B009F938F938FE994E39F938F9380 -:10ED50008E010F5F1F4F1F930F930F94CB140F90D3 -:10ED60000F900F900F900F900F90F80181918F01ED -:10ED7000882309F494CF0E942F4EF7CF8091800012 -:10ED80008C7009F4B2C180918C0090918D009F939A -:10ED90008F9385E994E39F938F938E010F5F1F4FAD -:10EDA0001F930F930F94CB140F900F900F900F9011 -:10EDB0000F900F90F80181918F01882309F46FCF94 -:10EDC0000E942F4EF7CF8091B000807C09F48DC156 -:10EDD0008091B3001F928F938BE894E39F938F935E -:10EDE0008E010F5F1F4F1F930F930F94CB140F9043 -:10EDF0000F900F900F900F900F90F80181918F015D -:10EE0000882309F44CCF0E942F4EF7CF8091B00099 -:10EE1000807309F46AC18091B4001F928F9381E8D6 -:10EE200094E39F938F938E010F5F1F4F1F930F9358 -:10EE30000F94CB140F900F900F900F900F900F9096 -:10EE4000F80181918F01882309F429CF0E942F4E68 -:10EE5000F7CF80919000807C09F447C180919800A1 -:10EE6000909199009F938F9387E794E39F938F935B -:10EE70008E010F5F1F4F1F930F930F94CB140F90B2 -:10EE80000F900F900F900F900F90F80181918F01CC -:10EE9000882309F404CF0E942F4EF7CF8091900071 -:10EEA000807309F422C180919A0090919B009F93F6 -:10EEB0008F938DE694E39F938F938E010F5F1F4F87 -:10EEC0001F930F930F94CB140F900F900F900F90F0 -:10EED0000F900F90F80181918F01882309F4DFCE04 -:10EEE0000E942F4EF7CF809190008C7009F4FDC0E6 -:10EEF00080919C0090919D009F938F9383E694E373 -:10EF00009F938F938E010F5F1F4F1F930F930F944B -:10EF1000CB140F900F900F900F900F900F90F8015F -:10EF200081918F01882309F4BACE0E942F4EF7CF2A -:10EF30008091A000807C09F4D8C08091A8009091B5 -:10EF4000A9009F938F9389E594E39F938F938E01FC -:10EF50000F5F1F4F1F930F930F94CB140F900F90C1 -:10EF60000F900F900F900F90F80181918F018823DF -:10EF700009F495CE0E942F4EF7CF8091A0008073A8 -:10EF800009F4B3C08091AA009091AB009F938F9336 -:10EF90008FE494E39F938F938E010F5F1F4F1F9316 -:10EFA0000F930F94CB140F900F900F900F900F9022 -:10EFB0000F90F80181918F01882309F470CE0E948F -:10EFC0002F4EF7CF8091A0008C7009F48EC08091F5 -:10EFD000AC009091AD009F938F9385E494E39F9351 -:10EFE0008F938E010F5F1F4F1F930F930F94CB14BE -:10EFF0000F900F900F900F900F900F90F80181914C -:10F000008F01882309F44BCE0E942F4EF7CF8091B9 -:10F010002001807C09F469C0809128019091290128 -:10F020009F938F938BE394E39F938F938E010F5F56 -:10F030001F4F1F930F930F94CB140F900F900F90AF -:10F040000F900F900F90F80181918F01882309F4A0 -:10F0500026CE0E942F4EF7CF80912001807309F4B5 -:10F0600044C080912A0190912B019F938F9381E35B -:10F0700094E39F938F938E010F5F1F4F1F930F9306 -:10F080000F94CB140F900F900F900F900F900F9044 -:10F09000F80181918F01882309F401CE0E942F4E3F -:10F0A000F7CF809120018C7001F180912C0190911B -:10F0B0002D019F938F9387E294E39F938F938E010B -:10F0C0000F5F1F4F1F930F930F94CB140F900F9050 -:10F0D0000F900F900F900F90F80181918F0188236E -:10F0E00009F4DDCD0E942F4EF7CF80E064960FB675 -:10F0F000F894DEBF0FBECDBFDF91CF911F910F916E -:10F100000895082E000C990BFC01E75EFF4CE4917A -:10F11000F0E0EE0FFF1FE553F04DA591B4912C9157 -:10F12000FC01E15AFF4CE491E22381E009F480E024 -:10F1300008958091B91287FD05C08091BA128E7032 -:10F1400009F445C083E50E9415A8882391F00E9428 -:10F1500095A760937C1070937D1080937E109093A0 -:10F160007F10609384107093851080938610909325 -:10F17000871080E50E9415A8882351F00E9495A76A -:10F1800060937C1070937D1080937E1090937F101D -:10F1900082E50E9415A8882351F00E9495A76093EC -:10F1A000801070938110809382109093831084E577 -:10F1B0000E9415A8882391F10E9495A7609384105E -:10F1C00070938510809386109093871008954091D6 -:10F1D0007C1050917D1060917E1070917F1087E1BE -:10F1E00094E30F94C7014091801050918110609179 -:10F1F00082107091831084E194E30F94C7014091D1 -:10F20000841050918510609186107091871081E173 -:10F2100094E30F94C7018AE00C942F4E08958091D7 -:10F22000B0139091B113009731F04AE050E060E0E4 -:10F2300070E00D94571360E070E0CB01089584E016 -:10F240008A950000E9F70895FC01DB018C9120818B -:10F250003181382798E0A901440F551F37FD06C0BA -:10F260009A019150C1F73183208308959A01B1E248 -:10F270002B27B0E13B27F5CFEF92FF920F931F931F -:10F28000CF93DF93FC0101900020E9F731979F01B4 -:10F29000281B390B12161306CCF56AE560939615F8 -:10F2A00065EA6093971563E0620F6093981562E8D2 -:10F2B0006093991550939A1540939B15FC01ACE906 -:10F2C000B5E1820F931F41914D93E817F907D9F7E4 -:10F2D00086E9E82E85E1F82E00E010E0E9012596A8 -:10F2E000C017D10764F0D7016D917D018CEB93E1DC -:10F2F0000E94DD570E941FF90F5F1F4FF1CF8AE177 -:10F30000E6E9F5E1DF011D928A95E9F7DF91CF91FA -:10F310001F910F91FF90EF9008950F931F93CF933C -:10F32000DF93209147152A3509F098C09091481530 -:10F33000953A09F093C080914615833008F48EC049 -:10F340002093961590939715809398159091491551 -:10F35000909399159038B1F490914A1590939A151D -:10F36000E2E5F5E1ABE9B5E120E030E090E00297BD -:10F37000281739070CF044C0408132964D932F5F17 -:10F380003F4FF6CF833061F4913809F064C080912B -:10F390004A1580939A1580914E1580939B1530C025 -:10F3A0009238F1F490914A1520914B1520939A15BB -:10F3B00090939B15ECE9F5E120E030E090E00397B5 -:10F3C00028173907ECF4D901AE7FAE5ABA4E4C91EA -:10F3D00011965C91508341832E5F3F4F3296F0CF60 -:10F3E000843071F4933861F480914A1590914B15F3 -:10F3F00090939A1580939B1580914E1580939C1540 -:10F4000006E915E1C0E0D0E08091461590E0029653 -:10F410008C179D075CF0D8016D918D018CEB93E109 -:10F420000E94DD570E941FF92196EECF80E5E6E4A9 -:10F43000F5E1DF011D928A95E9F78AE1E6E9F5E158 -:10F44000DF011D928A95E9F78AE58093471585EAE1 -:10F450008093481503C0923899F6A4CFDF91CF91DD -:10F460001F910F910895CF93DF93CDB7DEB7A89783 -:10F470000FB6F894DEBF0FBECDBF8C010E94B7BFA0 -:10F480000F94F8018AE296E30F9413010115110518 -:10F4900011F401E216E38091BB1380FD75C0816019 -:10F4A0008093BB1382E298E00E943A4F88248394B1 -:10F4B0008AE5982E90925315809252158FE090E035 -:10F4C000909355158093541597E0A92EA092461558 -:10F4D00022E8B22EB092491534E8C32ED12CE12C8B -:10F4E000F12CC0924A15D0924B15E0924C15F09237 -:10F4F0004D150E948DF9909253158092521588E512 -:10F5000090E09093551580935415A0924615B092B3 -:10F510004915C0924A15D0924B15E0924C15F092C5 -:10F520004D150E948DF963E070E080E090E00E944C -:10F53000A9AE8AE289838A838B838C83DE01159648 -:10F54000F801CE0101969D01281B390B449131969B -:10F55000442311F04D93F7CFFC01E20FF31F2AE291 -:10F56000AF01481B590B4832510511F02193F8CFD8 -:10F5700040E650E160E070E00E943CF96AE070E033 -:10F5800080E090E00E94A9AE61E088E196E30E94ED -:10F5900037A889EE93E030E6019729F0232F2A95CA -:10F5A0000000E9F7F9CFF89489EE93E038EE01977F -:10F5B00029F0232F2A950000E9F7F9CF0E94B7BF61 -:10F5C0000E94554DA895FECFCF92DF92EF92FF9209 -:10F5D0000E9481EE6B017C0128E5C20E22E0D21E62 -:10F5E000E11CF11C0E942E578F3F61F00E9481EEBA -:10F5F000DC01CB018C199D09AE09BF09B7FDF2CF23 -:10F6000080E001C081E0FF90EF90DF90CF900895FF -:10F610008F929F92AF92BF92CF92DF92EF92FF9222 -:10F620000F931F93CF93DF9300D01F92CDB7DEB718 -:10F63000FC018381813079F5818181FF2CC0818932 -:10F640009289A389B489892B8A2B8B2B09F448C012 -:10F650007F0140E050E0BA01CF010E94C35F8823E0 -:10F66000D1F0F70185889688A788B08CC18CD28CA0 -:10F6700082E090E0A0E0B0E0F60180839183A28375 -:10F68000B3839E012F5F3F4FB501A401C6010E94C5 -:10F69000DB5E811102C080E03CC000E010E0980118 -:10F6A000B501A401C6010E94495E8823A1F38980A7 -:10F6B0009A80AB80BC80F6018789803141F4F8EFF5 -:10F6C0008F16FFEF9F06A104B10460F4DACF88EF34 -:10F6D00088168FEF9806A8068FE0B80618F4D1CFE9 -:10F6E00081E017C0F701158A168A178A108E118AD1 -:10F6F000128A138A148A818180688183C7010E94DB -:10F70000FC62882341F240E050E0BA01C7010E9448 -:10F71000C35F0F900F900F900F90DF91CF911F91CB -:10F720000F91FF90EF90DF90CF90BF90AF909F90A0 -:10F730008F9008952F923F924F925F926F927F9297 -:10F740008F929F92AF92BF92CF92DF92EF92FF92F1 -:10F750000F931F93CF93DF931F921F92CDB7DEB706 -:10F760007C012DB73EB73A83298380910F17811111 -:10F7700007C01092F4161092F71681E080930F17CD -:10F780008091EC16811107C01092D1161092D416F8 -:10F7900081E08093EC16FB0180818F3259F482EB7B -:10F7A00094E1F701918380831092C4168B010F5F5F -:10F7B0001F4F06C087E994E1F701918380838B0195 -:10F7C000F7012080318024EFC22E26E1D22E0115D0 -:10F7D000110509F479C04DB65EB66FE270E0C8015C -:10F7E0000F94701F4C010817190708F06BC03C01FB -:10F7F000601A710A7724C30101962DB73EB7281B02 -:10F80000390B0FB6F8943EBF0FBE2DBF8DB79EB714 -:10F8100001965C01A301B8010F94901FF501E60D5C -:10F82000F71D1082F7016081718121E0A501C601F9 -:10F830000E941B6781110FC0B50184E096E30F940D -:10F84000E50181E096E30F9413010FB6F8945EBED4 -:10F850000FBE4DBE39C0F70180819181281639064F -:10F8600011F00E942F63F701D182C082A091C416CB -:10F87000AA3080F481E08A0F8093C416FBE1FA9FDE -:10F88000D0011124AA54BA4EF6018BE101900D92D9 -:10F890008A95E1F7F70180819181845F964129F48F -:10F8A00091EDC92E96E1D92E04C084EFC82E86E1D1 -:10F8B000D82E84010F5F1F4F0FB6F8945EBE0FBEA7 -:10F8C0004DBE85CFC80102C080E090E029813A8119 -:10F8D0000FB6F8943EBF0FBE2DBF0F900F90DF9173 -:10F8E000CF911F910F91FF90EF90DF90CF90BF903D -:10F8F000AF909F908F907F906F905F904F903F90D0 -:10F900002F9008952091BA132695269520FF2DC09B -:10F910002091CF163091D016280F391F3093D01672 -:10F920002093CF162091B8133091B913280F391FA7 -:10F930003093B9132093B8132091080121702093BC -:10F9400006012091B6133091B713820F931F909345 -:10F95000B7138093B6130E9481EE6093B213709335 -:10F96000B3138093B4139093B51308954F925F929D -:10F970006F927F928F929F92AF92BF92CF92DF92BF -:10F98000EF92FF920F931F93CF93DF93EC0160915F -:10F99000F8127091F912072E000C880B990B0F9436 -:10F9A0003A159B01AC01688179818A819B810F9412 -:10F9B0001C1C6B017C016091FA127091FB12072EE6 -:10F9C000000C880B990B0F943A159B01AC016C81CC -:10F9D0007D818E819F810F941C1C4B015C012091C5 -:10F9E0006D0230916E0240916F0250917002C7011A -:10F9F000B6010F943315882309F467C0C0926D02D5 -:10FA0000D0926E02E0926F02F092700220913B174A -:10FA100030913C1740913D1750913E17C701B601F8 -:10FA20000F9499152B013C010F94BF1D6B017C01B4 -:10FA300020E030E0A9010F94331587FD11C020E0CC -:10FA400030E040E850E4C701B6010F947D1E18165F -:10FA500054F4C12CD12CC0E8EC2EC0E4FC2E03C021 -:10FA6000C12CD12C7601A7019601C301B2010F94DC -:10FA70001C1C2B013C0120E030E0A9010F94331540 -:10FA800087FD09C040923717509238176092391796 -:10FA900070923A1708C010923717109238171092C8 -:10FAA000391710923A17C701B6010F94891D609358 -:10FAB0003617062E000C770B6F5F7F4F6430710591 -:10FAC00014F064E070E06093351720916902309182 -:10FAD0006A0240916B0250916C02C501B4010F940F -:10FAE0003315D091680210913617811103C0D113DC -:10FAF00068C028C18092690290926A02A0926B024B -:10FB0000B0926C0220913F173091401740914117FD -:10FB100050914217C501B4010F9499154B015C0136 -:10FB20000F94BF1D6B017C0120E030E0A9010F9410 -:10FB3000331587FD11C020E030E040E850E4C701F4 -:10FB4000B6010F947D1E181654F4C12CD12CB0E8C8 -:10FB5000EB2EB0E4FB2E03C0C12CD12C7601A70103 -:10FB60009601C501B4010F941C1C4B015C0120E0FF -:10FB700030E0A9010F94331587FD09C08092311739 -:10FB800090923217A0923317B092341708C0109297 -:10FB90003117109232171092331710923417C70191 -:10FBA000B6010F94891D60933017062E000C770B59 -:10FBB0006F5F7F4F6430710514F064E070E0609314 -:10FBC0002F17C0913017D11305C0809167028C1791 -:10FBD00009F46EC010936802C09367020C2E000CEB -:10FBE000DD0B85E0F82E2F2D1203C0011124FC013E -:10FBF000EC0FFD1FEE0FFF1FEE0FFF1FE45BFC4E2F -:10FC0000208131814281538120932B1730932C170F -:10FC100040932D1750932E1700912F17002E000C94 -:10FC2000110BFC01E00FF11FEE0FFF1FEE0FFF1F86 -:10FC3000E45BFC4E60817181828193810F941C1C76 -:10FC400060932717709328178093291790932A178A -:10FC5000209135173F2D2303F0011124CE0FDF1F14 -:10FC6000CC0FDD1FCC0FDD1FC45BDC4E288139813A -:10FC70004A815B81209323173093241740932517E3 -:10FC800050932617E00FF11FEE0FFF1FEE0FFF1F1F -:10FC9000E45BFC4E60817181828193810F941C1C16 -:10FCA00060931F177093201780932117909322174A -:10FCB0008090311790903217A0903317B09034177E -:10FCC00020912717309128174091291750912A1712 -:10FCD000C501B4010F94991520912B1730912C1761 -:10FCE00040912D1750912E170F941D1C6B017C0114 -:10FCF00060931B1770931C1780931D1790931E170A -:10FD000020911F17309120174091211750912217F1 -:10FD1000C501B4010F949915209123173091241730 -:10FD200040912517509126170F941D1CA70196018D -:10FD30000F941C1C60931717709318178093191752 -:10FD400090931A172091171730911817409119178F -:10FD500050911A17609137177091381780913917A1 -:10FD600090913A170F94991520911B1730911C17F9 -:10FD700040911D1750911E170F941D1CDF91CF91BC -:10FD80001F910F91FF90EF90DF90CF90BF90AF90B9 -:10FD90009F908F907F906F905F904F900895CF923B -:10FDA000DF92EF92FF926091401370914113072E02 -:10FDB000000C880B990B0F943A156B017C012DEB0D -:10FDC00037E346E855EB0F947D1E87FD0AC02DEB07 -:10FDD00037E346E855E3C701B6010F94331518160B -:10FDE0004CF4A701960160E070E080E89FE30F9477 -:10FDF000171D03C060E070E0CB0160933B17709368 -:10FE00003C1780933D1790933E1760914213709179 -:10FE10004313072E000C880B990B0F943A156B01B6 -:10FE20007C012DEB37E346E855EB0F947D1E87FDF3 -:10FE30000AC02DEB37E346E855E3C701B6010F943E -:10FE4000331518164CF4A701960160E070E080E8C5 -:10FE50009FE30F94171D03C060E070E0CB01609337 -:10FE60003F17709340178093411790934217FF906C -:10FE7000EF90DF90CF9008952F923F924F925F9234 -:10FE80006F927F928F929F92AF92BF92CF92DF92AA -:10FE9000EF92FF920F931F93CF93DF93CDB7DEB70F -:10FEA00060970FB6F894DEBF0FBECDBF8A876B8711 -:10FEB000942EA22E282F30E03D872C8770E0798782 -:10FEC000688715E0129FC001139F900D11249F8732 -:10FED0008E87FB01E80FF91FEE0FFF1FEE0FFF1FCC -:10FEE000E45BFC4E60817181828193819B01AC0156 -:10FEF0000F940F1F882309F44EC14A85490D2B85A5 -:10FF00002A0D149FB0011124E885F985E60FF71F2B -:10FF1000EE0FFF1FEE0FFF1FE45BFC4ED080E18071 -:10FF2000F2800381490D149FA0011124E885F98511 -:10FF3000E40FF51FEE0FFF1FEE0FFF1FE45BFC4EFB -:10FF40001081918082807380822F90E0EE85FF8502 -:10FF5000E80FF91FEE0FFF1FEE0FFF1FE45BFC4ED3 -:10FF6000608051803280338139832A0D30E0EE8504 -:10FF7000FF85E20FF31FEE0FFF1FEE0FFF1FE45B85 -:10FF8000FC4EFF87EE87F081FA83EE85FF85F181D5 -:10FF9000FB83EE85FF85F281FC83EE85FF85F3818F -:10FFA000FD83FB01E80FF91FEE0FFF1FEE0FFF1F90 -:10FFB000E45BFC4E60816E83B18072817F838381BC -:10FFC0008E87FA01E20FF31FEE0FFF1FEE0FFF1FE8 -:10FFD000E45BFC4E4080A1809281988B2380212F8E -:10FFE000392D482D572D612F792D882D972D0F9460 -:10FFF0000F1F882321F010E0912C812C712C2D2DC6 -:020000022000DC -:100000003E2D4F2D502F6D2D7E2D8F2D902F0F9427 -:100010000F1F882321F0D12EE92CF82C072D2A81DF -:100020003B814C815D816A817B818C819D810F94B4 -:100030000F1F882321F01A821B821C821D82262D0D -:10004000352D432D5981662D752D832D99810F9462 -:100050000F1F882329F06A805B803C80ED81E98353 -:10006000242D3A2D4889522D642D7A2D8889922D80 -:100070000F940F1F882321F0412CA12C188A212CCA -:100080002E813B2D4F815E856E817B2D8F819E85DC -:100090000F940F1F882329F04E82BA2CF889FF8312 -:1000A0002E862D2D3E2D4F2D502F6D2D7E2D8F2DDB -:1000B000902F0F941D1C212F392D482D572D0F9453 -:1000C0001C1C6B017C01262D352D432D5981662D7D -:1000D000752D832D99810F941D1C2A813B814C81A4 -:1000E0005D810F941C1C9B01AC01C701B6010F94EC -:1000F0001D1C3B014C012E813B2D4F815E856E8185 -:100100007B2D8F819E850F941D1C242D3A2D4889AF -:10011000522D0F941C1C9B01AC01C401B3010F9420 -:100120001D1C20E030E040E450E40F94171D9B01BB -:10013000AC0185E06C857D85869FF001879FF00D81 -:10014000112488859985E80FF91FEE0FFF1FEE0F28 -:10015000FF1FE45BFC4E20833183428353836B8516 -:100160008A8560960FB6F894DEBF0FBECDBFDF91D3 -:10017000CF911F910F91FF90EF90DF90CF90BF90A4 -:10018000AF909F908F907F906F905F904F903F9037 -:100190002F900C94C4AE60960FB6F894DEBF0FBEDD -:1001A000CDBFDF91CF911F910F91FF90EF90DF9026 -:1001B000CF90BF90AF909F908F907F906F905F9007 -:1001C0004F903F902F900895CF92DF92EF92FF9241 -:1001D0006B017C0183E3C816D104E104F10470F0E3 -:1001E00082E3C81AD108E108F10862E370E080E018 -:1001F00090E00E9447EE0E94FB83ECCFC701B6015E -:100200000E9447EEFF90EF90DF90CF900C94FB831D -:10021000CF93C82FCC2329F080E20E942F4EC150EB -:10022000F9CFCF910895CF93DF93FC018491EF0133 -:100230002196882321F00E942F4EFE01F7CFDF91F7 -:10024000CF9108958F929F92AF92BF92CF92DF92FB -:10025000EF92FF920F931F93CF93DF9387E596E37F -:100260000F941301C12CD12C760186E00F94080164 -:10027000C701B6010E94A34E8FEFC81AD80AE80A38 -:10028000F80A95E0C916D104E104F10471F78AE097 -:100290000E942F4E0CE413E1C12CD12C760180E298 -:1002A0000E942F4EC701B6010E94A34EC0E0D0E0CD -:1002B00080E20E942F4EF801EC0FFD1F808091809C -:1002C000A280B380A5019401C501B4010F940F1F52 -:1002D000811112C020E030E0A901C501B4010F94E2 -:1002E0007D1E87FD03C08BE20E942F4E43E0C501B7 -:1002F000B4010E94BF4E09C0B12C80E20E942F4E73 -:10030000B3948DE396E0B912F9CF6496C436D10563 -:1003100079F68AE00E942F4E8FEFC81AD80AE80AB1 -:10032000F80A0C5F1F4F95E0C916D104E104F104EF -:1003300009F0B5CF8AE0DF91CF911F910F91FF9027 -:10034000EF90DF90CF90BF90AF909F908F900C94E4 -:100350002F4ECF92DF92EF92FF926A017B010F94B2 -:1003600013014AE0C701B601FF90EF90DF90CF90F4 -:100370000C94364ECF93DF93EB010F941301BE0123 -:1003800080E090E04AE0DF91CF910C94364ECF921E -:10039000DF92EF92FF926A017B010F94130142E01A -:1003A000C701B601FF90EF90DF90CF900C94BF4E45 -:1003B000CF93DF93EB010F941301BE01DD0F880B88 -:1003C000990BDF91CF910C94A34E0F931F93CF9372 -:1003D000DF938B010F941301E8018991882319F0B1 -:1003E0000E942F4EFACFDF91CF911F910F91089568 -:1003F00080E596E30D9413018AE496E30D941301CE -:100400002F923F924F925F926F927F928F929F9224 -:10041000AF92BF92CF92DF92EF92FF920F931F9312 -:10042000CF93DF93D82FC62F8DE298E00E943A4FEA -:10043000D1115AC0CC2389F00E94485C8C01C12C98 -:10044000D12CC0E0D0E0A12CB12C8BE6282E89E184 -:10045000382E44244394512C3FC00E9420AD81117A -:10046000EBCF44C0C016D10608F037C1C501449691 -:10047000C816D90608F031C12FEFC21AD20A0F3FB1 -:100480003FEF130709F0C3C10E94485C8C018C1533 -:100490009D0508F04EC1F10101900020E9F7319768 -:1004A000CF018B5699413C01EE24E394F12C970146 -:1004B0002559364E490146E050E066E378E0C9012F -:1004C0000F94821F892B09F0F4C0E614F7040CF492 -:1004D0003FC18FEFA81AB80A0F3F2FEF120711F68E -:1004E0000E94485C8C01BECFC111A6CF3AE0C32E5A -:1004F00030E2D32EE12CF12CC5E0D2E8812C912CF6 -:1005000054011092531510925215C0934615D09372 -:100510004915D701C601880D991DAA1DBB1D8093E1 -:100520004A1590934B15A0934C15B0934D150E940E -:100530008DF98FEF881A980AA80AB80A9AE08916E6 -:100540009104A104B104E9F62AE0C20ED11CE11C19 -:10055000F11C32EDC31630E2D306E104F10471F66A -:10056000C12C20E2D22EE12CF12CD5E0C2E8109271 -:10057000531510925215D0934615C0934915C09249 -:100580004A15D0924B15E0924C15F0924D150E94F1 -:100590008DF91092531510925215D0934615C093B1 -:1005A0004915D701C6018C529F4FAF4FBF4F809363 -:1005B0004A1590934B15A0934C15B0934D150E947E -:1005C0008DF98FEFC81AD80AE80AF80A9AE0C91616 -:1005D00090E2D906E104F10451F69EEDC92E90E2B5 -:1005E000D92EE12CF12CD5E0C2E8109253151092CF -:1005F0005215D0934615C0934915C0924A15D09212 -:100600004B15E0924C15F0924D150E948DF92FEF8D -:10061000C21AD20AE20AF20A36EEC31630E2D30652 -:10062000E104F10411F7CC24C39482E1D82EE12C2B -:10063000F12C0AE010E0D5E0C2E8109353150093C6 -:100640005215D0934615C0934915C0924A15D092C1 -:100650004B15E0924C15F0924D150E948DF91093B8 -:10066000531500935215D0934615C0934915D701E1 -:10067000C6018096A11DB11D80934A1590934B151C -:10068000A0934C15B0934D150E948DF98FEFC81AA9 -:10069000D80AE80AF80A95E1C91692E1D906E104F8 -:1006A000F10459F681ED93E00E943A4F82E190E027 -:1006B00016C046E050E06DE378E0C4010F94821F5D -:1006C000892B09F402CF3FEFE31AF30AC701019720 -:1006D000861597050CF4EBCEF8CE81E190E090936F -:1006E00053158093521585E08093461582E88093D8 -:1006F000491584E190E1A0E0B0E080934A15909321 -:100700004B15A0934C15B0934D15DF91CF911F91D0 -:100710000F91FF90EF90DF90CF90BF90AF909F90A0 -:100720008F907F906F905F904F903F902F900C94A0 -:100730008DF90F3F8FEF180719F40E94485C8C0168 -:1007400060E070E0C8018C199D090E94805CA3CE16 -:1007500022E12C9FC0012D9F900D11249C01235F4D -:10076000354E4901A7014231510514F041E150E0F5 -:100770006BE679E1C4010F94901F32E13C9FC00108 -:100780003D9F900D11246DEA79E18B58944E0F94A2 -:100790007B1F8AE08C9FA0018D9F500D1124465F26 -:1007A0005F4D052E000C660B770BFE01EE0FFF1F51 -:1007B000EE0FFF1FE654F64E438354836583768322 -:1007C000C4010E943CF97E019FEFE91AF90AF092F8 -:1007D000BC19E092BB19509253154092521525E076 -:1007E0002093461532E830934915CF5FDD4ECE0198 -:1007F000DD0FAA0BBB0B80934A1590934B15A0936A -:100800004C15B0934D150E948DF9E70165CE0C157E -:100810001D0508F440CE94CF4F925F926F927F9265 -:100820008F929F92AF92BF92CF92DF92EF92FF9200 -:100830001F93CF93DF93C82F82E994E190936A19B5 -:100840008093691910928B1482E090E0A0E0B0E0F0 -:100850008093741490937514A0937614B0937714C6 -:100860001092681910926419109265191092661905 -:10087000109267198FEF9FEFDC01809360199093BE -:100880006119A0936219B0936319CC2379F1C53033 -:1008900008F001C140E060E070E0CB010E94105E12 -:1008A000882309F4F8C020E1C29FC0011124805BB5 -:1008B000984EFC01E254FE4F20812F7709F0EBC0E7 -:1008C0003C964081518162817381443651056105B6 -:1008D000710508F4E0C03497C080D180E280F380D5 -:1008E000C114D104E104F10421F4D5C0C12CD12CF0 -:1008F000760140E0C701B6010E94105E182F8823E0 -:1009000009F4C9C080916B1790916C1781159240C2 -:1009100009F0C1C0A0917017AA2309F4BCC060916E -:100920006E1770916F176115710509F4B4C080904E -:100930006D17882009F4AFC0A093861480927814B4 -:1009400080E0912CA12CB12C412C512C32014394EC -:10095000C82FA3019201082E04C0220F331F441F89 -:10096000551F0A94D2F782169306A406B50639F0ED -:100970008F5FC83069F789E0809381148CC08093C1 -:10098000811420917617309177172115310519F0D0 -:1009900040E050E008C020918417309185174091C5 -:1009A0008617509187172093791430937A144093C7 -:1009B0007B1450937C1446015701860E971EA11C90 -:1009C000B11C8092871490928814A0928914B092DE -:1009D0008A14E0917117F0917217F0938D14E093DF -:1009E0008C14B0E00F94CA1B860E971EA81EB91E69 -:1009F00080928E1490928F14A0929014B0929114C1 -:100A000085E0EE0FFF1F8A95E1F7E150FE4FEF2FD3 -:100A1000FF27E6958E0E9F1EA11CB11C80928214AA -:100A200090928314A0928414B0928514209173172D -:100A3000309174172115310521F0A90160E070E0B3 -:100A400008C0409180175091811760918217709172 -:100A50008317D701C60188199909AA09BB09840F10 -:100A6000951FA61FB71F04C0B695A79597958795A4 -:100A7000CA95D2F780937D1490937E14A0937F142F -:100A8000B0938014853F2FE09207A105B10528F4AB -:100A90008CE080938B1410E01AC0853F9F4FA10516 -:100AA000B10510F480E111C080918C1790918D17E1 -:100AB000A0918E17B0918F1780938E1490938F14FE -:100AC000A0939014B093911480E280938B14812FA3 -:100AD000DF91CF911F91FF90EF90DF90CF90BF906B -:100AE000AF909F908F907F906F905F904F90089500 -:100AF000FF920F931F93CF93DF938B01D82FC92FB2 -:100B00009B01482F592F60915C1770915D17809160 -:100B10005E1790915F170F943315882309F45FC017 -:100B2000F0905B1780E00E948DAC20E030E0A901DE -:100B3000B8018D2F9C2F0F947D1E181624F000E015 -:100B400010E0D0E0C0E0C801AD2FBC2F80935C174F -:100B500090935D17A0935E17B0935F172DEB37E36B -:100B600046E855EBB8018D2F9C2F0F947D1E87FD15 -:100B70000BC02DEB37E346E855E3B8018D2F9C2FD2 -:100B80000F943315181654F498014D2F5C2F60E024 -:100B900070E080E89FE30F94171D03C060E070E0F1 -:100BA000CB01609357177093581780935917909300 -:100BB0005A1780EF9FEFA9E7B4EC809353179093F7 -:100BC0005417A0935517B0935617FF2041F081E0BA -:100BD000DF91CF911F910F91FF900C948DACDF911D -:100BE000CF911F910F91FF9008951F920F920FB612 -:100BF0000F9211242F933F938F939F93AF93BF93A3 -:100C00008091FD129091FE12A091FF12B0910013FD -:100C10003091DD1C23E0230F2D3720F40196A11D18 -:100C2000B11D05C026E8230F0296A11DB11D20931A -:100C3000DD1C8093FD129093FE12A093FF12B093DF -:100C400000138091011390910213A0910313B091AE -:100C500004130196A11DB11D8093011390930213FB -:100C6000A0930313B0930413BF91AF919F918F9101 -:100C70003F912F910F900FBE0F901F901895CF931B -:100C8000DF93CDB7DEB7A9970FB6F894DEBF0FBEDE -:100C9000CDBF789484B5826084BD84B5816084BD05 -:100CA00085B5826085BD85B5816085BD80916E000A -:100CB000816080936E00109281008091810082603B -:100CC0008093810080918100816080938100809178 -:100CD00080008160809380008091B1008460809367 -:100CE000B1008091B00081608093B000809191004C -:100CF0008260809391008091910081608093910047 -:100D0000809190008160809390008091A10082602A -:100D10008093A1008091A10081608093A1008091C7 -:100D2000A00081608093A000809121018260809367 -:100D30002101809121018160809321018091200116 -:100D400081608093200180917A00846080937A0092 -:100D500080917A00826080937A0080917A0081602D -:100D600080937A0080917A00806880937A00109254 -:100D7000C1006C98749A109207090E947C4D1092E1 -:100D8000C0008091C00082608093C0001092C500B6 -:100D900087E08093C4008091C10080618093C1008E -:100DA0008091C10088608093C1008091C1008068FB -:100DB0008093C1000E9481EE8AEE90E10F941301AE -:100DC0000F94FC0114B710FF04C081EE90E10F9462 -:100DD000130111FF04C080ED90E10F94130112FF85 -:100DE00004C08EEB90E10F94130113FF04C08DEA51 -:100DF00090E10F94130115FF04C08CE990E10F946A -:100E0000130114BE85E990E10F94130180E20E9462 -:100E10002F4E8CE890E10F9413018AE00E942F4E30 -:100E20000F94FC018CE790E10F94130181E790E1AE -:100E30000F94130186E590E10F9413010F94FC01C8 -:100E40008FE390E10F9413010F94FC018091DE1C5D -:100E50009091DF1C9E012F5F3F4F7901B9010097F0 -:100E600019F0681B790B02C0645E7C4180E390E15D -:100E70000F94D80160E874E089E190E10F94D80103 -:100E80008AE00E942F4E80910A018E7F80930A0192 -:100E900080910B018095817080930901E091CC13C2 -:100EA000F091CD1382E08083E091C813F091C913D3 -:100EB0001082E091CA13F091CB1380E180831092ED -:100EC000D413E091D013F091D11386E08083E091A8 -:100ED000CE13F091CF13808180618083E091CE1397 -:100EE000F091CF13808188608083E091CE13F091E0 -:100EF000CF13808180688083E091CE13F091CF136F -:100F000080818F7D80838AE5809347158093F714D5 -:100F100085EA809348158093F8148AE1E6E9F5E1C3 -:100F2000DF011D928A95E9F780E290E0A0E0B0E051 -:100F30008093060290930702A0930802B0930902DF -:100F400080912009882319F083E090E002C082E0BC -:100F500090E0909353158093521585E08093461549 -:100F600082E8809349158FE190E1A0E0B0E08093A2 -:100F70004A1590934B15A0934C15B0934D150E94B4 -:100F80008DF984E690E0909353158093521505E017 -:100F90000093461512E81093491586E090E1A0E011 -:100FA000B0E080934A1590934B15A0934C15B093E5 -:100FB0004D150E948DF98BE090E09093531580932E -:100FC0005215009346151093491580E092E1A0E078 -:100FD000B0E080934A1590934B15A0934C15B093B5 -:100FE0004D150E948DF910925315109252150093D1 -:100FF00046151093491584E390E1A0E0B0E080939A -:101000004A1590934B15A0934C15B0934D150E9423 -:101010008DF91092531510925215009346151093A6 -:1010200049158AE390E1A0E0B0E080934A159093DF -:101030004B15A0934C15B0934D150E948DF96091FE -:10104000B20B7091B30B8091B40B9091B50B0F94D0 -:10105000891D709353156093521500934615109394 -:10106000491586E390E1A0E0B0E080934A159093A3 -:101070004B15A0934C15B0934D150E948DF96091BE -:101080000D0970910E0980910F09909110090F942C -:10109000891D709353156093521500934615109354 -:1010A00049158CE390E1A0E0B0E080934A1590935D -:1010B0004B15A0934C15B0934D150E948DF982E00D -:1010C00090E090935315809352150093461510931A -:1010D00049158EE190E1A0E0B0E080934A1590932D -:1010E0004B15A0934C15B0934D150E948DF981E0DE -:1010F00080930502B0E68B2EB0E19B2EA12CB12C83 -:1011000015E0C12E02E8D02E109253151092521500 -:1011100005E0C092461512E8D092491580924A1512 -:1011200090924B15A0924C15B0924D150E948DF9DE -:10113000BFEF8B1A9B0AAB0ABB0AE4E78E16E0E10D -:101140009E06A104B10401F784E1D7011D928A959E -:10115000E9F781E08F9390E99F938F939BE39F93AF -:101160008F9386E38F938EE396E09F938F93FF9206 -:10117000EF920F94AA1F40E650E160E070E08BE42C -:1011800096E00E943CF94AE650E160E070E088E5B4 -:1011900096E00E943CF944E750E160E070E0C7014E -:1011A0000E943CF94EE750E160E070E085EE94E08B -:1011B0000E943CF910925315109252150093461557 -:1011C000109349158EE090E1A0E0B0E080934A15BD -:1011D00090934B15A0934C15B0934D150E948DF92B -:1011E00010925315109252150093461510934915FD -:1011F0008FE090E1A0E0B0E080934A1590934B150A -:10120000A0934C15B0934D150E948DF9EDB7FEB724 -:101210003A960FB6F894FEBF0FBEEDBFAAE08A2E35 -:10122000A0E29A2EA12CB12C15E002E8412C512C01 -:1012300032011092531510925215109346150093D7 -:101240004915D301C201880D991DAA1DBB1D8093AC -:101250004A1590934B15A0934C15B0934D150E94D1 -:101260008DF9FFEF4F1A5F0A6F0A7F0A2AE04216D4 -:10127000510461047104E9F63AE0830E911CA11C4B -:10128000B11C42ED841640E29406A104B10471F64B -:10129000812CF0E29F2EA12CB12C05E012E81092D7 -:1012A00053151092521500934615109349158092CC -:1012B0004A1590924B15A0924C15B0924D150E9474 -:1012C0008DF91092531510925215009346151093F4 -:1012D0004915D501C4018C529F4FAF4FBF4F80932A -:1012E0004A1590934B15A0934C15B0934D150E9441 -:1012F0008DF95FEF851A950AA50AB50A8AE0881666 -:1013000080E29806A104B10451F6EEED8E2EE0E2E3 -:101310009E2EA12CB12C05E012E8109253151092CC -:101320005215009346151093491580924A159092D4 -:101330004B15A0924C15B0924D150E948DF99FEF60 -:10134000891A990AA90AB90AA6EE8A16A0E29A068B -:10135000A104B10411F78824839462E1962EA12C94 -:10136000B12C7AE0C72ED12C05E012E8D0925315AB -:10137000C0925215009346151093491580924A1554 -:1013800090924B15A0924C15B0924D150E948DF97C -:10139000D0925315C09252150093461510934915DB -:1013A000D501C4018096A11DB11D80934A1590936B -:1013B0004B15A0934C15B0934D150E948DF9BFEFBE -:1013C0008B1A9B0AAB0ABB0AE5E18E16E2E19E0688 -:1013D000A104B10459F68CE696E00E943A4F0E94AF -:1013E00031E10E948D4D49E3C42E49E0D42E03E43F -:1013F00017E15FE4A52E57E1B52ED6012D913D9161 -:101400004D915D916D01F8016081718182819381BF -:101410000F941D1CD8016D937D938D939D938D0129 -:10142000AA16BB0651F70E9407D8249A2C988091DF -:10143000010180628093010180910201807280939A -:10144000000180910101806480930101809101017C -:1014500080618093010187ED80937A0010927E0075 -:1014600010927D0080917D00806280937D0080914C -:101470007D00806480937D0080E888BD80916E004F -:10148000846080936E006AEF70E080E090E00E94DC -:1014900047EE85E090E09093110280931002009156 -:1014A0000C0210910D0260E0C8010E9470C020E0A3 -:1014B00030E040EA50E40F94331587FF07C0005135 -:1014C000110910930D0200930C02E9CF8BE391E018 -:1014D000909313028093120200910E0210910F025A -:1014E00060E0C8010E9470C020E030E84DE953E49C -:1014F0000F947D1E18163CF4005F1F4F10930F02CF -:1015000000930E02E9CF00910A0210910B02C8016C -:101510000E94D7BF20E030E040EA50E40F9433153A -:1015200087FF07C00051110910930B0200930A02B4 -:10153000EACF0091210910912209C8010E94D7BF6A -:1015400020E030E046E153E40F947D1E18163CF491 -:10155000005F1F4F1093220900932109EACF0E94D8 -:1015600091DF19A682E390E09AA389A31A821982D7 -:101570001E01B1E22B0E311C01E0970141E050E069 -:10158000BE01675D7F4FC1010E949E4D89A58631D6 -:1015900019F00E94F09F0FC083E390E09AA389A303 -:1015A0001A82198201E0970140E150E064E279E09B -:1015B000C1010E949E4D81E0809323096D98759A28 -:1015C000809104018D7F80930401809105018095B5 -:1015D00082708093030153985B9A109235091092A0 -:1015E00034090E9474DA819A879A80910A01826094 -:1015F00080930A010E9A3B9A579A5F9A829A8A9A26 -:101600008091070181608093070180910801809596 -:101610008170809306010A9A129A3F9A479A809A9B -:1016200088985F9A8091BA138E7F8093BA13869AB6 -:101630008E988A9A8091BA138D7F8093BA13809185 -:101640000A01886080930A0180910B018870809361 -:101650000901809108018095817080930601809135 -:10166000BA138B7F8093BA130C9A1498129A8091B4 -:1016700080008C7F8093800080918100877E8860CD -:1016800080938100809180008F738093800080918F -:101690008100887F82608093810080E090E4909355 -:1016A00089008093880010928500109284008091B8 -:1016B0006F00826080936F00789486E08093360993 -:1016C0000E94259D109237090E9474DA98E288E101 -:1016D0000FB6F894A895809360000FBE90936000B9 -:1016E0001092B5150E942B59FE0131965F0180E0E2 -:1016F0000E945B4F8091B51587FD41C08091CE1649 -:1017000082FD3DC083FD03C00E94CD5902C00E94EE -:101710008D4D8091CE1683FF2FC08091B515082E78 -:10172000000C990BC0969F938F9321EF30E13F936C -:101730002F933F922F920F94CB1482EB94E10E944F -:1017400002620F900F900F900F900F900F9080916A -:10175000B514823088F08091BA149091BB14A09196 -:10176000BC14B091BD148F719927AA27BB27892B70 -:101770008A2B8B2B09F467C1FFEFF093B51580918D -:10178000CE1685FF1FC00E945C591092C90A1092A4 -:1017900045091092C80A0E9421A20E948AA08EEFD9 -:1017A0000E9499D70E9407D80E94359F0E94B7BF18 -:1017B0000E94994D1092140223E431E130934709BD -:1017C000209346098DB69EB66091460970914709EF -:1017D0006115710581F0E12CF12CFB01EE0DFF1D6F -:1017E000749087010F5F1F4F772039F03AE073162E -:1017F00021F07801F2CF80E02CC0EDB7FEB7E01BFE -:10180000F10B0FB6F894FEBF0FBEEDBF2DB73EB77C -:101810002F5F3F4F6901A701C9010F946D14F601B5 -:10182000EE0DFF1D1082772009F445C18091460915 -:1018300090914709080F191F109347090093460913 -:10184000EF2831F0C6010E940CCA80E00E9469377F -:1018500081E00FB6F8949EBE0FBE8DBE8111C3C04D -:101860008091C90A882309F4BEC08091CE1680FFFA -:10187000A4C00091C80A40E6409F80011124085B83 -:10188000164F64E271E1C8010F94B114009769F03A -:10189000DC0113968C9180538A3038F00E94BBEAA9 -:1018A00081E191E10F9413018BC0F80101900020B8 -:1018B000E9F731977F01E01AF10A109259146EE4AA -:1018C00070E0C8010F94701F6C01892B09F400C1EE -:1018D00060E270E0C6010F94701F8C010F5F1F4F14 -:1018E0006AE270E0C6010F94701FFC013197BDE001 -:1018F000B1832AE022831382F80101900020E9F7E6 -:1019000031977F01E01AF10A80915C14813009F06F -:10191000DBC080915A1481FFD7C082FF16C040916E -:101920006A1450916B1460916C1470916D148091D5 -:10193000611490916214A0916314B091641484179F -:101940009507A607B70709F0B9C0409161145091F7 -:1019500062146091631470916414E114F10409F04D -:10196000BEC080916A1490916B14A0916C14B091D8 -:101970006D1484179507A607B70768F440936A1497 -:1019800050936B1460936C1470936D1480915A147F -:10199000806880935A1480915A1483FDB0C180915D -:1019A0005914882331F00F94F8018AEF90E10F94D5 -:1019B00013018091CE1681FF03C00E9439D102C06D -:1019C0000E9459C88091C90A882369F08150809388 -:1019D000C90A8091C80A8F5F843018F48093C80ABE -:1019E00002C01092C80A80912113882339F1909186 -:1019F00021138091CA0A981709F10F94FC0184E31E -:101A000091E10F9413018091211380FD7FC180919A -:101A1000211384FD7BC18091211381FD81C18091BF -:101A2000211385FD7DC18091211382FD83C18091A9 -:101A3000211386FD7FC18AE00E942F4E80912113E1 -:101A40008093CA0A54CE40E050E0B50182EB94E1A5 -:101A50000E94C46418160CF08FCEF501019000208E -:101A6000E9F73197FE2EFA18FA945FEFF51669F050 -:101A700085010F0D111DF7FC1A95D8018C9190E08E -:101A80000F94341FF8018083EFCF8A858E3709F4D5 -:101A90005ECE45E050E0B101C5010F94821F892B55 -:101AA00009F055CEC1010E9475598091B5158F5F1F -:101AB0008093B51564CE00E010E0BECE89E594E1D8 -:101AC0000E94C35F811141CFA1E0A093591467CF59 -:101AD00031E0E31AF108F801EE0DFF1D08CF809107 -:101AE000721490917314DC0114967C902FEF270DE3 -:101AF0002A013B0139E076946794579447943A95CC -:101B0000D1F7722E74206A01B1E0DB2271104CC053 -:101B1000C114D10409F048C040915D1450915E1485 -:101B200060915F1470916014411551056105710554 -:101B300069F480916E1490916F14A0917014B0911B -:101B400071140097A105B10539F51FC095010E94D8 -:101B5000DB5E882309F4B8CF89819A81AB81BC818F -:101B6000E0917214F09173142789203139F4883F81 -:101B7000EFEF9E07A105B10540F40EC0883FFFEFCF -:101B80009F07AF07FFE0BF0738F089E594E10E94A7 -:101B9000FD60811109C098CF80935D1490935E140D -:101BA000A0935F14B093601480E092E08C199D09BB -:101BB00047018E159F0508F44C01E0917214F091D5 -:101BC000731480915D1490915E14A0915F14B09194 -:101BD00060140297A109B109058404C0880F991FF8 -:101BE000AA1FBB1F0A94D2F7468557856089718961 -:101BF000840F951FA61FB71F9C01AD01270D311D36 -:101C0000411D511D29013A01811432E0930631F53D -:101C10008091601990916119A0916219B091631936 -:101C2000481659066A067B0669F4109268198FEF08 -:101C30009FEFDC018093601990936119A093621962 -:101C4000B09363199801B301A20180916919909131 -:101C50006A190E945962811139C036CFC114D1046A -:101C600031F5409161145091621460916314709148 -:101C7000641480916A1490916B14A0916C14B091CB -:101C80006D14481759076A077B0788F00E94BC62E9 -:101C9000882309F419CF91E0909368194092601954 -:101CA00050926119609262197092631908C041E004 -:101CB000C301B2010E94105E882309F405CFA4017C -:101CC000B801C601805A984E0F94491F8091611443 -:101CD00090916214A0916314B0916414880D991DC1 -:101CE000A11DB11D8093611490936214A09363149D -:101CF000B0936414080D191DE818F90826CE89E57B -:101D000094E10E94FC6281114ACEDECE80E00E9406 -:101D1000F4A1AB01BC0180E391E10F94C7017BCE3C -:101D200081E00E94F4A1AB01BC018CE291E10F942F -:101D3000C70179CE82E00E94F4A1AB01BC0188E228 -:101D400091E10F94C70177CECF93DF9389E594E1BA -:101D50000E943863C4ECD6E16B97CE010E943863D1 -:101D600085E1C63BD807C1F787E994E10E94386353 -:101D700082EB94E1DF91CF910C94386386E40E946A -:101D8000CCA780938C12882351F00E9495A7609372 -:101D9000300270933102809332029093330283E5D4 -:101DA0000E94CCA7882351F00E9495A760932C0233 -:101DB00070932D0280932E0290932F0282E40E9452 -:101DC000CCA7882351F00E9495A7609328027093B6 -:101DD000290280932A0290932B020895CF92DF92DA -:101DE000EF92FF926B017C0180E090E0A0E8BFE3FE -:101DF00080935F0290936002A0936102B0936202AD -:101E00008091BB1381FF0E9453A7C0921D13D092F3 -:101E10001E13E0921F13F09220138091BB13826077 -:101E20008093BB13FF90EF90DF90CF900895809147 -:101E3000BB1381FF09C060911D1370911E13809127 -:101E40001F1390912013089560914F1770915017B0 -:101E5000809151179091521708950E9431E110928C -:101E6000EA12109214020E943EB7882321F080915A -:101E7000CE1682FF07C061E08DEC9EE20E9437A87B -:101E80000C94859E84ED9EE29093470980934609C9 -:101E9000F2CF1092BF131092BE1388EE93E0A0E031 -:101EA000B0E08093C0139093C113A093C213B0937A -:101EB000C31381E993E09093BD138093BC1385ED28 -:101EC00090E09093C9138093C81384ED90E09093B1 -:101ED000CB138093CA1380ED90E09093CD13809341 -:101EE000CC1381ED90E09093CF138093CE1382EDCD -:101EF00090E09093D1138093D01386ED90E090936F -:101F0000D3138093D2131092D5131092D61310923C -:101F1000D7131092D8131092B2141092B5141092D5 -:101F2000971410929A14E6EBF5E1108213827B96D7 -:101F300026E1E43CF207C9F789E1809393141092FB -:101F4000961410928B141092591410925C1480E124 -:101F5000E6EEF4E1DF01282F1D922A95E9F7E6ED80 -:101F6000F4E1DF011D928A95E9F71092D2141092E4 -:101F7000D3141092D4141092D5141092D11410923C -:101F8000D0141092CF141092CE141092CD148AE572 -:101F9000809347158093F71485EA809348158093C2 -:101FA000F8148AE1E6E9F5E1DF011D928A95E9F787 -:101FB00081E08093B0158093B1158093B215809322 -:101FC000B3158093B4158091CE16847F8B7F809358 -:101FD000CE161092CA161092CB161092CC161092F2 -:101FE000CD161092C6161092C7161092C8161092EF -:101FF000C9161092C5161092C4168EE091E0E6EB59 -:10200000F5E1DF019C011D9221503040E1F78FEF97 -:102010008093B5150895EF920F931F93CF93DF939D -:10202000E80147FD02C034E001C034E1042E000C99 -:10203000550B57FF03C0519541955109E32E022FCF -:10204000242FAE010F941018CE01DF91CF911F9174 -:102050000F91EF9008958F929F92AF92BF92CF927F -:10206000DF92EF92FF92CF93DF93EC016881798149 -:102070008A819B81611571058105910521F464E2D6 -:1020800079ED8BE597E02DE133EF41E050E00F94DF -:10209000AB1B49015A019B01AC01A7EAB1E40F94C3 -:1020A000CA1B6B017C01ACEEB4EFA50194010F9447 -:1020B000D81BDC01CB018C0D9D1DAE1DBF1DB7FFD4 -:1020C00003C00197A109B04888839983AA83BB8381 -:1020D000BC01CD019F77DF91CF91FF90EF90DF9012 -:1020E000CF90BF90AF909F908F9008958F929F92C6 -:1020F000AF92BF92CF92DF92EF92FF926091710206 -:102100007091720280917302909174026115710551 -:102110008105910521F464E279ED8BE597E02DE1ED -:1021200033EF41E050E00F94AB1B49015A019B0192 -:10213000AC01A7EAB1E40F94CA1B6B017C01ACEEC1 -:10214000B4EFA50194010F94D81BDC01CB018C0DD9 -:102150009D1DAE1DBF1DB7FF03C00197A109B0486B -:102160008093710290937202A0937302B0937402F1 -:10217000BC01CD019F77FF90EF90DF90CF90BF9093 -:10218000AF909F908F900895609371027093720248 -:10219000809373029093740208958F929F92AF92EE -:1021A000BF92CF92DF92EF92FF920F931F93CF9344 -:1021B000DF93EC016B016115710519F0FB0191834F -:1021C00080837E01FFEFEF1AFF0A0881802F90E0E5 -:1021D0000F946414892B11F0E701F3CF0D3239F419 -:1021E0007E0182E0E80EF11C098111E008C00B328B -:1021F00029F47E0192E0E90EF11C098110E0E7016B -:10220000219743E050E06AE374E0CE010F948A1412 -:10221000892BC1F4239645E050E065E374E0CE01DC -:102220000F948A14892B09F42596C114D10419F04E -:10223000F601D183C0831111F6C060E070E080E840 -:102240009FE7FAC043E050E062E374E0CE010F94F0 -:102250008A14892B59F4C114D10409F4E9C0F2E0BD -:10226000EF0EF11CF601F182E082E2C020E030E0E6 -:10227000A901C0E0D0E0F70160EDA62EA00E89E034 -:102280008A1530F1912F9260B92E812F887012FF3C -:1022900004C0811124C0219622C081112197A5E09C -:1022A000B0E00F94CA1BDC01CB01880F991FAA1F55 -:1022B000BB1F9C01AD012A0D311D411D511D283947 -:1022C00089E93807480789E1580748F0166006C0D1 -:1022D0009EEFA9120AC013FD40C01860B12E8FEF07 -:1022E000E81AF80A00811B2DC6CF802F8F7D853418 -:1022F000A1F580818D3211F4106106C08B3221F07E -:10230000319661E070E004C08181329662E070E055 -:1023100080538A3018F0E61BF70B1FC060E070E0B6 -:1023200060389CE079075CF4DB01AA0FBB1FAA0FA1 -:10233000BB1F6A0F7B1F660F771F680F711D3196D9 -:10234000DF0111978C9180538A3050F314FF03C042 -:10235000719561957109C60FD71F11FF08C0C1148F -:10236000D10429F0CF010197F60191838083CA013E -:10237000B9010F943815212F2370233019F04B0128 -:102380005C0106C04B015C01B7FAB094B7F8B09499 -:1023900020E030E0A901C501B4010F943315882372 -:1023A00009F43EC0D7FF06C0D195C195D10901E51A -:1023B00014E002C009E614E06801F8E1CF1AD10880 -:1023C00090E2E92EF12CCE15DF0574F0F80125918D -:1023D000359145915491C501B4010F9499154B0164 -:1023E0005C01CE19DF09EFCF04501109F594E79491 -:1023F0000C151D0541F78A2D880F8B2D881F8F3FE7 -:1024000049F020E030E0A901C501B4010F94331573 -:10241000811106C082E290E09093E31C8093E21C5D -:10242000C501B40109C060E070E080E89FEF04C01E -:1024300060E070E080EC9FE7DF91CF911F910F91FA -:10244000FF90EF90DF90CF90BF90AF909F908F90D4 -:1024500008953F924F925F926F927F928F929F92D8 -:10246000AF92BF92CF92DF92EF92FF920F931F93A2 -:10247000CF93DF935C016B017A016115710519F04F -:10248000FB0191838083E114F10429F0C7010297D5 -:10249000839708F0E5C0E5012196F5011081812FB1 -:1024A00090E00F946414892B11F05E01F4CF1D327B -:1024B00029F42196F501118101E007C01B3221F4B6 -:1024C000E5012296F501118100E0E114F10409F122 -:1024D000F0E1EF16F10429F43FC010E3E114F10438 -:1024E00021F128E0E216F10401F154F4E2E0EE16E5 -:1024F000F10421F5812C912CA12CB0E4BB2E3EC01F -:10250000FAE0EF16F10439F020E1E216F104B1F43B -:1025100030C0103319F1FAE0EF2EF12CACEC8A2E1A -:10252000982CA82CACE0BA2E29C078E0E72EF12C2C -:10253000812C912CA12CE0E1BE2E20C060E070E047 -:1025400080E090E897010F2C000C440B550B0F9482 -:10255000891B49015A0112C0103359F488818F7DBB -:10256000883509F0BACF19812296026080E1E82E01 -:10257000F12C812C912CA12C68E0B62E40E060E07B -:1025800070E0CB0127010F2C000C66087708FE01D4 -:1025900050ED352E310E29E0231570F42FEB210F6D -:1025A0002A3118F439EC332E06C02FE9210F2A31D5 -:1025B00018F529EA322E310E232D30E02E153F0575 -:1025C000DCF447FD16C086169706A806B90670F01B -:1025D000A30192010F94791B630D711D811D911D43 -:1025E00061307105810520E8920710F04FEF01C0BE -:1025F00041E021961081CBCF202F2170C114D1044E -:1026000071F0442329F02197F601D183C08307C0DC -:1026100001FF19C02297F601D183C08314C047FF80 -:1026200012C0222329F060E070E080E090E804C04E -:102630006FEF7FEF8FEF9FE722E230E03093E31CF4 -:102640002093E21C09C0222381F09095809570951B -:1026500061957F4F8F4F9F4F462F372F282F12C0E6 -:1026600040E030E020E090E00DC097FFF5CF82E23F -:1026700090E09093E31C8093E21C6FEF7FEF8FEF6D -:102680009FE7EACF642F732F822FDF91CF911F91A5 -:102690000F91FF90EF90DF90CF90BF90AF909F9001 -:1026A0008F907F906F905F904F903F9008953F92F2 -:1026B0004F925F926F927F928F929F92AF92BF9252 -:1026C000CF92DF92EF92FF920F931F93CF93DF93FE -:1026D0005C016B017A016115710519F0FB019183B1 -:1026E0008083E114F10429F0C7010297839708F071 -:1026F000C9C0E5012196F5011081812F90E00F946A -:102700006414892B11F05E01F4CF1D3229F4219657 -:10271000F501118101E007C01B3221F4E501229689 -:10272000F501118100E0E114F104B1F0F0E1EF16E0 -:10273000F10429F4B0C010E3E114F10401F12AE03E -:10274000E216F104B1F180E1E816F10471F0E8E07D -:10275000EE16F104F1F413C0103341F588818F7D3A -:10276000883549F7198122960260F0E1EF2EF12CAD -:1027700088248A94982CA82CAFE0BA2E20C078E048 -:10278000E72EF12C88248A94982CA82CEFE1BE2EF9 -:1027900016C06FEF7FEFCB0197010F2C000C440B9D -:1027A000550B0F94891B49015A0109C08AE0E82E94 -:1027B000F12C69E9862E982CA82C69E1B62E40E010 -:1027C00060E070E0CB0127010F2C000C6608770851 -:1027D000FE0150ED352E310E29E0231570F42FEB5C -:1027E000210F2A3118F439EC332E06C02FE9210FBE -:1027F0002A3130F529EA322E310E232D30E02E1504 -:102800003F05F4F44F3FC9F086169706A806B906AF -:1028100088F0A30192010F94791B232D30E040E052 -:1028200050E0620F731F841F951F621773078407A0 -:10283000950710F44FEF01C041E021961081C8CFF9 -:10284000C114D10451F0442311F0219703C001FFBA -:1028500004C02297F601D183C08300FF07C0909582 -:102860008095709561957F4F8F4F9F4F4F3F79F4C3 -:1028700082E290E09093E31C8093E21C3FEF2FEF05 -:102880009FEF0DC040E030E020E090E008C0462F10 -:10289000372F282F04C0103309F067CF5FCF642F84 -:1028A000732F822FDF91CF911F910F91FF90EF90A7 -:1028B000DF90CF90BF90AF909F908F907F906F9060 -:1028C0005F904F903F90089591110D945F1A803260 -:1028D00019F089508550C8F70895FB01DC0102C04A -:1028E00005900D9241505040D8F70895FC01059095 -:1028F000061621F00020D9F7C00108953197CF01C5 -:102900000895FC0105900020E9F7809590958E0FC1 -:102910009F1F0895FB01DC014150504088F08D91CC -:1029200081341CF08B350CF4805E659161341CF0B1 -:102930006B350CF4605E861B611171F3990B089581 -:10294000881BFCCFFB01DC014150504048F0059052 -:102950000D920020C9F701C01D9241505040E0F790 -:102960000895FB0155915523A9F0BF01DC014D915C -:1029700045174111E1F759F4CD010590002049F0C8 -:102980004D9140154111C9F3FB014111EFCF81E099 -:1029900090E0019708950F931F93CF93DF93CDB7E6 -:1029A000DEB72E970FB6F894DEBF0FBECDBF0E89EF -:1029B0001F898EE08C831A8309838FEF9FE79E83A4 -:1029C0008D83AE01465E5F4F688D798DCE01019695 -:1029D0000F940616EF81F885E00FF11F10822E96F6 -:1029E0000FB6F894DEBF0FBECDBFDF91CF911F9120 -:1029F0000F9108950F931F93CF93DF93CDB7DEB759 -:102A00002E970FB6F894DEBF0FBECDBF8C01FA0132 -:102A10008EE08C831A83098377FF02C060E070E840 -:102A2000CB0101979E838D83A901BF01CE01019641 -:102A30000F9406164D815E8157FD0AC02F8138859F -:102A4000421753070CF49A01F801E20FF31F1082AA -:102A50002E960FB6F894DEBF0FBECDBFDF91CF919B -:102A60001F910F9108950F94751508F481E0089552 -:102A7000E89409C097FB3EF4909580957095619518 -:102A80007F4F8F4F9F4F9923A9F0F92F96E9BB27CE -:102A90009395F695879577956795B795F111F8CF4A -:102AA000FAF4BB0F11F460FF1BC06F5F7F4F8F4FB5 -:102AB0009F4F16C0882311F096E911C0772321F0AB -:102AC0009EE8872F762F05C0662371F096E8862F43 -:102AD00070E060E02AF09A95660F771F881FDAF79A -:102AE000880F9695879597F90895990F0008550FC7 -:102AF000AA0BE0E8FEEF16161706E807F907C0F084 -:102B000012161306E407F50798F0621B730B840B8B -:102B1000950B39F40A2661F0232B242B252B21F465 -:102B200008950A2609F4A140A6958FEF811D811D05 -:102B300008950F94AC150D94291B0F941B1B38F0AE -:102B40000F94221B20F0952311F00D94121B0D946D -:102B5000181B11240D945D1B0F943A1B70F3959F65 -:102B6000C1F3950F50E0551F629FF001729FBB2784 -:102B7000F00DB11D639FAA27F00DB11DAA1F649F20 -:102B80006627B00DA11D661F829F2227B00DA11DD3 -:102B9000621F739FB00DA11D621F839FA00D611D59 -:102BA000221F749F3327A00D611D231F849F600D7A -:102BB000211D822F762F6A2F11249F5750409AF0A3 -:102BC000F1F088234AF0EE0FFF1FBB1F661F771F2F -:102BD000881F91505040A9F79E3F510580F00D94F9 -:102BE000121B0D945D1B5F3FE4F3983ED4F3869572 -:102BF00077956795B795F795E7959F5FC1F7FE2B9A -:102C0000880F911D9695879597F908952F923F9279 -:102C10004F925F926F927F928F929F92AF92BF92EC -:102C2000CF92DF92EF92FF920F931F93CF93DF9398 -:102C3000CDB7DEB72B970FB6F894DEBF0FBECDBF72 -:102C40006C017B018A01FC0117821682838181FF5E -:102C5000CCC1CE0101963C01F6019381F70193FDB1 -:102C6000859193FF81917F01882309F4BAC1853250 -:102C700039F493FD859193FF81917F01853229F489 -:102C8000B60190E00F94781AE7CF912C212C312CCB -:102C9000FFE1F315D8F08B3279F038F4803279F017 -:102CA0008332A1F4232D20611DC08D3261F0803369 -:102CB00069F4232D216016C0832D8260382EE32D08 -:102CC000E4603E2E2AC0F32DF8601DC037FC2DC0F5 -:102CD00020ED280F2A3040F08E32B9F436FC81C145 -:102CE000232D2064322E19C036FE06C08AE0989E3D -:102CF000200D1124922E11C0EAE02E9E200D1124E9 -:102D0000222EF32DF0623F2E08C08C3621F4832D45 -:102D10008068382E02C0883641F4F70193FD859112 -:102D200093FF81917F018111B3CF982F9F7D95549F -:102D3000933028F40C5F1F4F9FE399830DC08336B7 -:102D400031F0833771F0833509F059C021C0F801A3 -:102D5000808189830E5F1F4F88248394912C5301B7 -:102D600013C02801F2E04F0E511CF801A080B18081 -:102D700036FE03C0692D70E002C06FEF7FEFC50122 -:102D80000F946D1A4C018201F32DFF773F2E16C070 -:102D9000280122E0420E511CF801A080B18036FECD -:102DA00003C0692D70E002C06FEF7FEFC5010F9483 -:102DB000621A4C01F32DF0683F2E820133FC1BC0D8 -:102DC000822D90E088169906B0F4B60180E290E07A -:102DD0000F94781A2A94F4CFF50137FC859137FEC9 -:102DE00081915F01B60190E00F94781A21102A9426 -:102DF00021E0821A91088114910471F7E8C08436A9 -:102E000011F0893641F5F80137FE07C06081718104 -:102E1000828193810C5F1F4F08C060817181072EF2 -:102E2000000C880B990B0E5F1F4FF32DFF763F2E82 -:102E300097FF09C090958095709561957F4F8F4F52 -:102E40009F4FF0683F2E2AE030E0A3010F94B41AA0 -:102E5000882E861845C0853731F4232D2F7EB22E5B -:102E60002AE030E025C0932D997FB92E8F36C1F02E -:102E700018F4883579F0B5C0803719F0883721F01B -:102E8000B0C0E92FE061BE2EB4FE0DC0FB2DF46092 -:102E9000BF2E09C034FE0AC0292F2660B22E06C0FC -:102EA00028E030E005C020E130E002C020E132E05F -:102EB000F801B7FE07C060817181828193810C5F48 -:102EC0001F4F06C06081718180E090E00E5F1F4F50 -:102ED000A3010F94B41A882E8618FB2DFF773F2E7E -:102EE00036FE0DC0232D2E7FA22E891458F434FEF9 -:102EF0000BC032FC09C0832D8E7EA82E05C0B82CD5 -:102F0000A32C03C0B82C01C0B92CA4FE0FC0FE0135 -:102F1000E80DF11D8081803321F49A2D997EA92E30 -:102F200009C0A2FE06C0B394B39404C08A2D86786B -:102F300009F0B394A3FC11C0A0FE06C0B21488F43B -:102F4000280C922C9B180EC0B21460F4B60180E2DB -:102F500090E00F94781AB394F7CFB21418F42B18AA -:102F600002C0982C212CA4FE10C0B60180E390E092 -:102F70000F94781AA2FE17C0A1FC03C088E790E066 -:102F800002C088E590E0B6010CC08A2D867859F021 -:102F9000A1FE02C08BE201C080E2A7FC8DE2B60177 -:102FA00090E00F94781A891438F4B60180E390E029 -:102FB0000F94781A9A94F7CF8A94F301E80DF11DD3 -:102FC0008081B60190E00F94781A8110F5CF22200D -:102FD00009F442CEB60180E290E00F94781A2A9468 -:102FE000F6CFF6018681978102C08FEF9FEF2B9677 -:102FF0000FB6F894DEBF0FBECDBFDF91CF911F910A -:103000000F91FF90EF90DF90CF90BF90AF909F9087 -:103010008F907F906F905F904F903F902F9008958A -:103020008F929F92AF92BF92CF92DF92EF92FF92D8 -:103030000F931F93CF93DF93CDB7DEB729970FB6CA -:10304000F894DEBF0FBECDBF6A01122FB02E2BE366 -:10305000201720F0FF24F394F00E02C02CE3F22E90 -:103060000F2D27E0AE014F5F5F4F0F948719BC0112 -:103070004981842F8970813031F0E1FC06C0E0FE87 -:1030800006C090E205C09DE203C09BE201C090E053 -:103090005E2D507143FF3CC0911102C083E001C01E -:1030A00084E0811718F4212F281B01C020E0511162 -:1030B0000BC0F601822F30E2882319F03193815042 -:1030C000FBCFC20ED11C20E0992329F0D6019C939E -:1030D000F60131966F01C6010396E2FE0AC03EE496 -:1030E000D6013C9341E411964C93119712963C9370 -:1030F00006C03EE6F601308341E641833283FC019F -:10310000322F40E2332309F442C041933150FACFC9 -:1031100042FF44C0911102C083E001C084E08117E6 -:1031200018F4212F281B01C020E051110BC0F6011B -:10313000822F30E2882319F031938150FBCFC20EE9 -:10314000D11C20E0992329F0D6019C93F6013196F9 -:103150006F01C6010396E2FE0BC039E4D6013C9331 -:103160003EE411963C93119736E412963C9307C0C7 -:1031700039E6F60130833EE6318336E63283FC01E0 -:10318000322F40E2332319F041933150FBCFFC0141 -:10319000E20FF11D10828EEF9FEFA6C021E030E01C -:1031A000911102C020E030E0161617061CF4FB0156 -:1031B000319602C0E1E0F0E02E0F3F1FBB2021F06E -:1031C000EB2DF0E0319602C0E0E0F0E02E0F3F1F63 -:1031D000E12FF0E02E173F071CF4121B212F01C036 -:1031E00020E08E2D887159F4F601822F30E2882379 -:1031F00019F031938150FBCFC20ED11C20E09923EE -:1032000029F0D6019C93F60131966F0151110BC044 -:10321000F601822F90E3882319F091938150FBCF20 -:10322000C20ED11C20E00F2D060F9A81342F307171 -:1032300044FF03C0913309F40150101624F40930FF -:1032400018F008E001C001E0AB0177FF02C040E0E8 -:1032500050E0FB01E41BF50BA1E0B0E0AC0FBD1F9B -:10326000EA0FFB1F8EE2A82E4B01801A91080B2D4E -:1032700010E01195019511094F3FBFEF5B0721F455 -:10328000D601AC9211966D01641775072CF0841667 -:10329000950614F4818101C080E3415051093196B3 -:1032A000D60111967D014017510724F0D6018C9369 -:1032B0006701E2CF6417750739F4963320F495332C -:1032C00019F4311101C081E3F6018083F701822FE7 -:1032D00090E2882319F091938150FBCFF701E20F20 -:1032E000F11D108280E090E029960FB6F894DEBFC1 -:1032F0000FBECDBFDF91CF911F910F91FF90EF9047 -:10330000DF90CF90BF90AF909F908F90089528301E -:1033100008F027E03327DA01990F311D87FD91600E -:1033200000966105710539F432602E5F3D9330E3FC -:103330002A95E1F708959F3F30F0803871056105C7 -:1033400009F03C5F3C5F3D93913008F08068911D2F -:10335000DF93CF931F930F93FF92EF92192F987FD4 -:103360009695E92F96959695E90FFF27E953FB4F20 -:1033700099273327EE24FF24A701E701059008943D -:10338000079428F4360FE71EF81E491F511D660FDB -:10339000771F881F991F0694A1F70590079428F4BA -:1033A000E70EF81E491F561FC11D770F881F991F72 -:1033B000661F0694A1F70590079428F4F80E491F9C -:1033C000561FC71FD11D880F991F661F771F0694B0 -:1033D000A1F70590079420F4490F561FC71FD81F67 -:1033E000990F661F771F881F0694A9F7849110957F -:1033F000177041F0D695C79557954795F794E79480 -:103400001A95C1F7EDE6F4E06894159015913591A1 -:103410006591959105907FE27395E118F10A430B50 -:10342000560BC90BD009C0F7E10CF11E431F561F04 -:10343000C91FD01D7EF4703311F48A95E6CFE8944D -:10344000015030F0080F0AF40027021708F4202F6B -:103450002395022F7A3328F079E37D932A95E9F7B3 -:1034600010C07D932A9589F60694979567953795B0 -:1034700017951794E118F10A430B560BC90BD009A5 -:1034800098F023957E9173957A3308F070E37C93DE -:103490002013B8F77E9170617D9330F0839571E3CE -:1034A0007D9370E32A95E1F71124EF90FF900F913F -:1034B0001F91CF91DF91992787FD909508959927C6 -:1034C00088270895FC010590615070400110D8F7DD -:1034D000809590958E0F9F1F0895FC01615070405C -:1034E00001900110D8F7809590958E0F9F1F089539 -:1034F0000F931F93CF93DF93FB01238121FD03C023 -:103500008FEF9FEF2CC022FF16C046815781248188 -:1035100035814217530744F4A081B1819D012F5F8B -:103520003F4F318320838C93268137812F5F3F4F1C -:103530003783268314C08B01EC01FB010084F185E5 -:10354000E02D1995892BE1F6D80116968D919C9165 -:103550001797019617969C938E931697CE01DF913D -:10356000CF911F910F910895FA01AA27283051F1A8 -:10357000203181F1E8946F936E7F6E5F7F4F8F4FA4 -:103580009F4FAF4FB1E03ED0B4E03CD0670F781F03 -:10359000891F9A1FA11D680F791F8A1F911DA11DE8 -:1035A0006A0F711D811D911DA11D20D009F4689421 -:1035B0003F912AE0269F11243019305D3193DEF6C9 -:1035C000CF010895462F4770405D4193B3E00FD07F -:1035D000C9F7F6CF462F4F70405D4A3318F0495D6A -:1035E00031FD4052419302D0A9F7EACFB4E0A6954D -:1035F0009795879577956795BA95C9F7009761056F -:10360000710508959B01AC010A2E069457954795C4 -:1036100037952795BA95C9F7620F731F841F951FB9 -:10362000A01D089597F99F6780E870E060E0089515 -:103630009FEF80EC089500240A94161617061806CA -:103640000906089500240A941216130614060506A6 -:103650000895092E0394000C11F4882352F0BB0F37 -:1036600040F4BF2B11F460FF04C06F5F7F4F8F4F9A -:103670009F4F089557FD9058440F551F59F05F3FD5 -:1036800071F04795880F97FB991F61F09F3F79F084 -:1036900087950895121613061406551FF2CF469506 -:1036A000F1DF08C0161617061806991FF1CF869588 -:1036B0007105610508940895E894BB27662777276C -:1036C000CB0197F90895F999FECF92BD81BDF89A83 -:1036D000992780B50895262FF999FECF1FBA92BD7C -:1036E00081BD20BD0FB6F894FA9AF99A0FBE0196E3 -:1036F0000895DB018F939F930F94CA1BBF91AF91E5 -:10370000A29F800D911DA39F900DB29F900D11243B -:103710000895A1E21A2EAA1BBB1BFD010DC0AA1F12 -:10372000BB1FEE1FFF1FA217B307E407F50720F02A -:10373000A21BB30BE40BF50B661F771F881F991FA5 -:103740001A9469F760957095809590959B01AC01EE -:10375000BD01CF010895052E97FB1EF400940F9430 -:10376000C21B57FD07D00F94891B07FC03D04EF4F2 -:103770000D94C21B50954095309521953F4F4F4F6A -:103780005F4F089590958095709561957F4F8F4F0D -:103790009F4F08950F94DD1BA59F900DB49F900D32 -:1037A000A49F800D911D11240895B7FF0D94CA1B8D -:1037B0000F94CA1B821B930B0895A29FB001B39F65 -:1037C000C001A39F700D811D1124911DB29F700D2A -:1037D000811D1124911D0895AA1BBB1B51E107C037 -:1037E000AA1FBB1FA617B70710F0A61BB70B881F91 -:1037F000991F5A95A9F780959095BC01CD01089520 -:1038000097FB072E16F4009407D077FD09D00F948C -:10381000EC1B07FC05D03EF4909581959F4F0895D1 -:10382000709561957F4F0895EE0FFF1F881F8BBF26 -:103830000790F691E02D19945058BB27AA270F94B2 -:10384000341C0D94291B0F941B1B38F00F94221B62 -:1038500020F039F49F3F19F426F40D94181B0EF450 -:10386000E095E7FB0D94121BE92F0F943A1B58F3D8 -:10387000BA17620773078407950720F079F4A6F555 -:103880000D945C1B0EF4E0950B2EBA2FA02D0B01AE -:10389000B90190010C01CA01A0011124FF27591B95 -:1038A00099F0593F50F4503E68F11A16F040A22F9B -:1038B000232F342F4427585FF3CF4695379527950C -:1038C000A795F0405395C9F77EF41F16BA0B620B0B -:1038D000730B840BBAF09150A1F0FF0FBB1F661F52 -:1038E000771F881FC2F70EC0BA0F621F731F841F95 -:1038F00048F4879577956795B795F7959E3F08F0BB -:10390000B0CF9395880F08F09927EE0F979587957C -:1039100008950F941B1B60F080E891E009F49EEF7E -:103920000F94221B28F040E851E071F45EEF0CC0C8 -:103930000D94181B0D945C1BE92FE0780F943A1B33 -:1039400040F3092E052AB1F3261737074807590710 -:1039500038F00E2E07F8E02569F0E025E0640AC093 -:10396000EF6307F8009407FADB01B9019D01DC0160 -:10397000CA01AD01EF930F942E1D0F94291B0F94D4 -:10398000CC1C5F91552339F02BED3FE049E450FD0D -:1039900049EC0D941D1C0895DF93DD27B92FBF77E7 -:1039A00040E85FE31616170648075B0718F4D92F9F -:1039B0000F94821E9F938F937F936F930F940B1F8F -:1039C000EEEEF1E00F94FF1D0F94291B2F913F9114 -:1039D0004F915F910F94AC15DD2351F09058A2EAFE -:1039E0002AED3FE049EC5FE3D0785D270F94341C6B -:1039F000DF910D94291B0F94651E90F09F3748F4BA -:103A0000911116F40D945D1B60E070E080E89FE377 -:103A1000089526F01B16611D711D811D0D94D61D84 -:103A20000D94F11D0F94281EE3950D94511E0F94D3 -:103A30002B1D0D94291B0F94221B58F00F941B1B58 -:103A400040F029F45F3F29F00D94121B51110D94A1 -:103A50005D1B0D94181B0F943A1B68F39923B1F367 -:103A6000552391F3951B550BBB27AA2762177307A4 -:103A7000840738F09F5F5F4F220F331F441FAA1F38 -:103A8000A9F335D00E2E3AF0E0E832D091505040F4 -:103A9000E695001CCAF72BD0FE2F29D0660F771FA2 -:103AA000881FBB1F261737074807AB07B0E809F088 -:103AB000BB0B802DBF01FF2793585F4F3AF09E3F0D -:103AC000510578F00D94121B0D945D1B5F3FE4F3DC -:103AD000983ED4F3869577956795B795F7959F5F50 -:103AE000C9F7880F911D9695879597F90895E1E09C -:103AF000660F771F881FBB1F621773078407BA07FB -:103B000020F0621B730B840BBA0BEE1F88F7E09555 -:103B100008950F94901D6894B1110D945D1B089544 -:103B20000F94421B88F09F5798F0B92F9927B751EF -:103B3000B0F0E1F0660F771F881F991F1AF0BA9551 -:103B4000C9F714C0B13091F00F945C1BB1E0089537 -:103B50000D945C1B672F782F8827B85F39F0B93F29 -:103B6000CCF3869577956795B395D9F73EF4909504 -:103B70008095709561957F4F8F4F9F4F08950F945B -:103B8000651E90F09F3748F4911116F00D945D1B5F -:103B900060E070E080E89FEB089526F41B16611D3D -:103BA000711D811D0D94D61D0D94F11D882371F496 -:103BB000772321F09850872B762F07C0662311F4C6 -:103BC00099270DC09051862B70E060E02AF09A95FD -:103BD000660F771F881FDAF7880F9695879597F9F4 -:103BE00008959F3F31F0915020F487957795679520 -:103BF000B795880F911D9695879597F90895DF934E -:103C0000CF931F930F93FF92EF92DF927B018C0172 -:103C1000689406C0DA2EEF010F94AC15FE01E8940B -:103C2000A5912591359145915591A6F3EF010F94FA -:103C3000341CFE019701A801DA9469F7DF90EF9038 -:103C4000FF900F911F91CF91DF9108950D94181B54 -:103C50000F94421BD8F3E894E0E0BB279F57F0F0A5 -:103C60002AED3FE049EC06C0EE0FBB0F661F771F41 -:103C7000881F28F0B23A62077307840728F0B25A07 -:103C8000620B730B840BE3959A9572F7803830F4CE -:103C90009A95BB0F661F771F881FD2F790480D9427 -:103CA000F31DEF93E0FF07C0A2EA2AED3FE049ECE5 -:103CB0005FEB0F94341C0F94291B0F90039401FCAD -:103CC0009058EBE1F2E00D941B1F0F94421BA0F003 -:103CD000BEE7B91788F4BB279F3860F41616B11DEC -:103CE000672F782F8827985FF7CF86957795679508 -:103CF000B11D93959639C8F308950F94751508F47E -:103D00008FEF08959B01AC0160E070E080E89FE3D5 -:103D10000D94171D0F94421B58F19E5760F1985156 -:103D2000A0F0E9F0983020F5092E9927660F771F4B -:103D3000881F991F0A94D1F712C0062E672F782F7B -:103D40008827985F11F4000C07C0993FB4F386955B -:103D5000779567959395D9F7611D711D811D3EF487 -:103D600090958095709561957F4F8F4F9F4F0895E7 -:103D700068940D945D1B0D945C1B9F930F94281EFB -:103D80000F9007FCEE5F0D94511E19F416F40D947C -:103D9000181B0D94F11D0F94421BB8F39923C9F31E -:103DA000B6F39F57550B87FF0F94141F0024A0E60E -:103DB00040EA900180585695979528F4805C660FEC -:103DC000771F881F20F026173707480730F4621B3B -:103DD000730B840B202931294A2BA695179407943D -:103DE000202531254A2758F7660F771F881F20F0B6 -:103DF00026173707480730F4620B730B840B200D2E -:103E0000311D411DA09581F7B901842F9158880F6C -:103E10009695879508959B01AC010D9499150F9483 -:103E20007515880B990B089591505040660F771FB8 -:103E3000881FD2F708959F938F937F936F93FF937B -:103E4000EF939B01AC010F949915EF91FF910F94A3 -:103E5000FF1D2F913F914F915F910D94991581E036 -:103E600090E0F8940D94D91F9111089581548A51CE -:103E700008F4805E855A0895FB01DC0104C08D9131 -:103E80000190801921F441505040C8F7881B990BCC -:103E90000895FB01DC0102C001900D924150504099 -:103EA000D8F70895FB01DC018D9181341CF08B352E -:103EB0000CF4805E619161341CF06B350CF4605E33 -:103EC000861B611189F3990B0895FB01DC010D90AC -:103ED0000020E9F7119701900D920020E1F7089575 -:103EE000FC018191861721F08823D9F7992708953D -:103EF0003197CF010895FB01DC0101900D92002064 -:103F0000E1F70895FB01DC014150504030F08D9104 -:103F10000190801919F40020B9F7881B990B0895B6 -:103F2000FB01DC014150504048F001900D9200200F -:103F3000C9F701C01D9241505040E0F70895FC01BF -:103F400081E090E00190061609F4CF010020D1F73E -:103F5000019708950F931F93CF93DF93CDB7DEB7EB -:103F60002E970FB6F894DEBF0FBECDBF0E891F8906 -:103F700086E08C831A8309838FEF9FE79E838D836E -:103F8000AE01465E5F4F688D798DCE0101960F942C -:103F90000616EF81F885E00FF11F10822E960FB6FE -:103FA000F894DEBF0FBECDBFDF91CF911F910F916F -:103FB00008951BE1C9E3DBE100E006C0802FFE01AC -:103FC0000F94141C2196011DCA33D10780E0080705 -:063FD000A9F7F894FFCFF1 -:103FD60002C0D401000180000000FF3FFF3F000047 -:103FE6000000FF3F010000803FA00001FFFFFFFF30 -:103FF60001015CFF79C4640000007A43000052436B -:10400600CDCCCC3D0180800110FF060100000000F0 -:1040160000009D430000000000009B4300000000DC -:104026000000C8430164000000803F0000C8420051 -:1040360000C8410000A0409D9DF0FF79C4F0FF79C3 -:10404600C401000000021000000410000006100069 -:1040560000081000000A1000000C100000261000D6 -:10406600003010000032100000341000003A10003A -:10407600003E1000004010000044100000461000F2 -:1040860000481000004A1000004C100000541000B8 -:104096000056100000581000005C1000005E100072 -:1040A600005F100000881000000000000058595AF8 -:1040B60045FF3F1CC6FF3F1CC60000000000409C99 -:1040C6004500007A4500007A4300007042B400F0D3 -:1040D6000046006E00000040400000344200000030 -:1040E6000000000000000000000000504100000039 -:1040F60000000000416400000064000000030000AE -:1041060000640000006400000003000000030000DB -:10411600001E0000001E0000001E0000001E000021 -:10412600001E0000001E000000EE020000EE02006D -:1041360000640000003C0000000000A0420000A057 -:10414600420000C84300000C430000FA430000FA96 -:10415600430000204100008C42563730000000002A -:1041660000DD57465774572A58A557835797572A3D -:104176002A2A496E6974696E6720636172642069D0 -:1041860073204F4B2A2A2A002A2A2A496E69746903 -:104196006E672063617264206661696C732A2A2ADD -:1041A600002A2A2A436172642052656D6F7665641F -:1041B6002A2A2A003D3D7761697477617920313D6D -:1041C6003D003D3D7761697477617920333D3D005F -:1041D6002020737461727470726F677265737320D6 -:1041E6000020202A2A2A2A2A2A2A5254535F486162 -:1041F6006E646C65446174612A2A2A2A2A2A2A2A4C -:1042060020003D3D20436865636B6B65793D3D004D -:104216000A2048616E646C652044617461205072A6 -:10422600696E7446696C6520312053657474696ED5 -:10423600672053637265656E20000A2048616E64CC -:104246006C652044617461205072696E7446696CB5 -:104256006520322053657474696E672053637265F6 -:10426600656E20000A2048616E646C6520446174A6 -:1042760061205072696E7446696C652033205365FF -:104286007474696E672053637265656E20000A2038 -:1042960048616E646C6520446174612041646A758E -:1042A600737420322053657474696E672053637289 -:1042B60065656E200074696E796D616368696E6507 -:1042C6007333642E636F6D004368696E6573652092 -:1042D6004E6F7420537570706F7274656400456E0E -:1042E600676C69736820416C7265616479205365F7 -:1042F6007400496E76616C6964204F7074696F6EE4 -:10430600000A204E6F2046696C616D656E74002050 -:1043160046696C616D656E7420526573706F6E735D -:1043260065204E6F0046696C616D656E742053742E -:1043360061742030202D20310046696C616D656EF8 -:104346007420537461742030202D20320046696C2D -:10435600616D656E7420537461742030202D203396 -:104366000046696C656E616D6500526563646174D3 -:1043760061002020202020202020200025642F25D9 -:1043860064003D3D7761697477617920343D3D0075 -:104396003D3D7761697477617920353D3D003D3D4E -:1043A60048656174696E6720446F6E652043686175 -:1043B6006E67652046696C616D656E743D3D0052A1 -:1043C6006573756D652059657320647572696E67CE -:1043D600207072696E740046696C656E616D652D3C -:1043E6004D6564696100436C69636B20746F20528C -:1043F6006573756D652E2E2E003D3D6F6E46696C9C -:10440600616D656E7452756E6F75743D3D00256401 -:104416002058202564205820256400544D3344201C -:104426003130532050726F00322E305F44573320A4 -:10443600544D33442053534D444E42003D3D447742 -:10444600696E20496E697420436F6D706C65746582 -:104456003D3D002F003A207A3A2000206D65616EBE -:104466003A2000207369676D613A2000206D696EFD -:104476003A2000206D61783A20002072616E6765EF -:104486003A20004D65616E3A2000204D696E3A2053 -:1044960000204D61783A20002052616E67653A200F -:1044A600005374616E646172642044657669617458 -:1044B600696F6E3A2000590058003D3D6F6E50728C -:1044C600696E7454696D6572537461727465643D86 -:1044D6003D003D3D6F6E436F6E6669677572617430 -:1044E600696F6E53746F72655772697474656E3D49 -:1044F6003D0073746F7070696E67203D3D002F2F0D -:10450600616374696F6E3A63616E63656C003D3D0D -:104516006F6E5072696E7454696D657253746F7004 -:104526007065643D3D005265686561742066696E1C -:1045360069736865642E003D3D6F6E557365724301 -:104546006F6E6669726D52657175697265643D3D1F -:10455600003F3F3F00556E746F75636865642000C9 -:1045660050756C73696E67202020003D3D6F6E5359 -:10457600746F726553657474696E67733D3D00456B -:104586005252003D3D6F6E5072696E7454696D658E -:10459600725061757365643D3D003D3D6F6E4C6FB5 -:1045A600616453657474696E67733D3D004265646A -:1045B60020583A200020593A2000205A3A20003D3F -:1045C6003D6F6E466163746F727952657365743DB3 -:1045D6003D00205A003D3D6F6E436F6E66696775FC -:1045E600726174696F6E53746F7265526561643D72 -:1045F6003D002A2A2A6B696C6C2A2A2A00534455E4 -:104606007064617465002E67636F6465002E4743AE -:044616004F444500C8 -:00000001FF diff --git a/CR10SPro_Stock_UBL_DW3.hex b/CR10SPro_Stock_UBL_DW3.hex deleted file mode 100644 index 0861513d0a..0000000000 --- a/CR10SPro_Stock_UBL_DW3.hex +++ /dev/null @@ -1,11126 +0,0 @@ -:100000000C94B92E0C94EA2E0C94EA2E0C94EA2E41 -:100010000C94EA2E0C94EA2E0C94EA2E0C94EA2E00 -:100020000C94EA2E0C94EA2E0C94EA2E0C94EA2EF0 -:100030000C94EA2E0C94EA2E0C94EA2E0C94EA2EE0 -:100040000C94EA2E0C94BE720C94EA2E0C94EA2EB8 -:100050000C94EA2E0C94EA2E0C9499F80D949F3689 -:100060000C94EA2E0C94A4690C949A690C94EA2ED0 -:100070000C94EA2E0C94EA2E0C94EA2E0C94EA2EA0 -:100080000C94EA2E0C94EA2E0C94EA2E0C94EA2E90 -:100090000C94EA2E0C94EA2E0C94EA2E0C94EA2E80 -:1000A0000C94EA2E0C94EA2E0C94EA2E0C94EA2E70 -:1000B0000C94EA2E0C94EA2E0C94EA2E0C94EA2E60 -:1000C0000C94EA2E0C94EA2E0C94EA2E0C94137DD8 -:1000D0000C94E97C0C94EA2E0C94EA2E0C94EA2EF3 -:1000E0000C94EA2E9930DF30E5300C311931223191 -:1000F0002D31EF380F3AEB3A1E3B81468146393CB1 -:10010000DC3CEB3981468146793E12404A408146CB -:100110004E42814681469F438146814629445C4444 -:100120008146D8449445594061408540A940DD400E -:1001300086419A41B341C041CD41E141D769DD6972 -:10014000EF69FF69076A346A0B6A346A0F6A136AD7 -:10015000346A176A1B6A1F6A276A346A316A89B26D -:1001600090B216B31BB374B479B489B46D010D02A7 -:10017000EF01C9010502A3013B02F70147021B027F -:10018000C7010F02CD01C501A301230229022502E7 -:10019000270209022B022F02BB016102A7013102D3 -:1001A0003F0221022D02D901B701D70161026D0280 -:1001B000D10149027101C1014F02D501AF01110204 -:1001C0009501B5013D0203025302E10137026901C5 -:1001D00011025F026502CF014B02F901A501410244 -:1001E0007B019301EB01FF019901F301E701DD01BF -:1001F00055026B029301DB016B016F01084AD73B8B -:100200003BCE016E84BCBFFDC12F3D6C74319ABDE5 -:1002100056833DDA3D00C77F11BED9E4BB4C3E9109 -:100220006BAAAABE000000803F05A84CCDB2D44EF8 -:10023000B93836A9020C50B9918688083CA6AAAAFA -:100240002ABE000000803F07634236B79BD8A71A3A -:1002500039685618AEBAAB558C1D3CB7CC5763BD48 -:100260006DEDFD753EF6177231BF000000803F084E -:10027000000000BE922449123EABAAAA2ABECDCCF1 -:10028000CC4C3E00000080BEABAAAAAA3E000000F3 -:1002900000BF000000803F0000000000084178D34C -:1002A000BB4387D1133D190E3CC3BD4282AD2B3EEB -:1002B00068EC8276BED98FE1A93E4C80EFFFBE018B -:1002C000C4FF7F3F0000000000000C94EB390C9449 -:1002D000647B0D9408330D941D360D94182A0D94EB -:1002E00027360D94E1320C94487C0C944E420C94C9 -:1002F00090B20C94393C0D94B8350C94E5300C94C4 -:10030000B57B0C941F6A0C94A17B0C94B3410C94A4 -:1003100099300C94346A0C9489B40D94F3450C9480 -:10032000EF380C941E3B0D9431360D94E8320C944A -:100330000C310D94D2350C9494450C94DF300C9410 -:1003400012400C941BB30D944F2A0D94A4350D94B8 -:100350004B2B0C940B6A0C9489B20C94176A0D9475 -:10036000DD320C94DD690C9429440D94EC320D942B -:10037000252C0C94EB3A0D94262B0C94EF690C94DD -:1003800019310D94E4320C945C440D94402A0D9480 -:10039000362A0D94222A0C9485400D943D2A0D9402 -:1003A00016330D94942C0C94927B0D94D7320D94AB -:1003B0004A2C0D94002C0D9413360D94F0350C94AA -:1003C00016B30D9400330C9479B40C940F6A0D9409 -:1003D000E6350D944C460D94C2350C94276A0D9465 -:1003E0001F2A0C9461400D94DC350C94316A0D94F5 -:1003F0002C2A0D949F350C94793E0C94FB7B0D9424 -:10040000CA350C94CD410D94F6320D94252A0C94E6 -:10041000DC3C0D94BC2A0C94D7690D941B2A0D94D6 -:100420003A2A0D941B330C9474B40C949F430C948F -:1004300086410C94FF690D94332A0C9422310C945C -:100440000F3A0D94B62B0D94442A0D944A2A0D941C -:100450009A2A0D94472A0D94DC2A0D94DB2B0D94D7 -:10046000012B0D946E2B0C94E1410C94C0410D9422 -:1004700004330C944A400D94292A0D94F2320D94C1 -:10048000912B0D94AE350C942D310C9459400D9454 -:10049000302A0D94B92C0D949A350C94136A0D944E -:1004A000D3320C94076A0D94FA320D94FF350C94F4 -:1004B000C37B0C949A410C94D8440C941B6A0D9401 -:1004C0000E330D94DD2C0C94DD400D9412330C94FE -:1004D00081460C94A9400D9409360D946F2C4E4121 -:1004E0004E494E495459494E46CDCCCC3D0AD723AE -:1004F0003C17B7D13877CC2B329595E6241FB14FF6 -:100500000A000020410000C84200401C4620BCBE3A -:100510004CCA1B0E5AAEC59D7400407A10F35A00A7 -:10052000A0724E18090010A5D4E80000E87648171C -:100530000000E40B54020000CA9A3B000000E1F501 -:1005400005000080969800000040420F000000A0C7 -:100550008601000000102700000000E803000000F2 -:10056000006400000000000A00000000000100001C -:100570000000002C76D888DC674F0823DFC1DFAE8F -:1005800059E1B1B796E5E3E453C63AE65199769658 -:10059000E8E6C28426EB898C9B62ED407C6FFCEF21 -:1005A000BC9C9F40F2BAA56FA5F490055A2AF75C4F -:1005B000936B6CF9676DC11BFCE0E40D47FEF52001 -:1005C000E6B500D0ED902E030094357705008084C9 -:1005D0001E080000204E0A000000C80C33333333DD -:1005E0000F986E12831141EF8D2114893BE6551649 -:1005F000CFFEE6DB18D1844B381BF77C1D901DA481 -:10060000BBE424203284725E228100C9F124ECA173 -:10061000E53D274D323520500A4D32340050726985 -:100620006E742050617573656400526573756D65F5 -:10063000005549205061757365004E6F204D6174FF -:100640006368203A004D333033452D3153363543FE -:100650003455004D393939004D3530320A4D353079 -:1006600030004D3330334530533231354338550047 -:100670000A202A2A2A7265636461742E6461746197 -:100680005B305D203D004732380A4731204631302B -:100690003030205A313000556E737570706F72743F -:1006A0006564204F7074696F6E2053656C65637468 -:1006B0006564004D3139305335350A4732380A47C1 -:1006C000323950310A47323950330A4732395331BF -:1006D0000A47323953300A47323946302E300A47FA -:1006E0003239410A4D313034533231350A473238CC -:1006F0000A4D313039533231350A473158313530AE -:100700005931353046353030300A47315A300A4D8C -:100710003530300A4D3430300A4D31313720536591 -:1007200074205A204F666673657400473120463145 -:10073000303030205A302E30004732380A473120CE -:100740004631303030205A302E30004D35303000B8 -:100750005A204F6666736574203A202573004D3524 -:100760003030005A204F6666736574203A20257336 -:10077000004732385A0A473146313530305A302E28 -:1007800030004732380A473146313530305A302E42 -:1007900030004D383400473146313030305A302E39 -:1007A00030004732380A473146313030305A302E27 -:1007B00030005A204F6666736574203A2025730016 -:1007C0004D353030004D383400426567696E5377DF -:1007D00069746368007265636461742E6164647235 -:1007E000203D3D007265636461742E646174615BD9 -:1007F000305D203D3D0077616974776179203D3D32 -:10080000000A202A2A2A4E6F7A7A6C6554656D7028 -:100810005374617475735B325D203D00434F4D4DE1 -:10082000554E49434154494F4E0044525952554E3A -:10083000004552524F525300494E464F00454348DF -:100840004F0047322F47332062616420706172612C -:100850006D65746572730A00536C6565702E2E2E7B -:10086000005A2050726F6265205061737420426597 -:10087000640A005A2050726F6265205061737420C0 -:1008800042656400486F6D6520585920466972734F -:10089000740A00486F6D6520585920466972737458 -:1008A00000205A3A200020593A200042656420581E -:1008B0003A20004D65736820706F696E7420636123 -:1008C0006E6E6F74206265207265736F6C766564FE -:1008D0000A004D302F3120427265616B2043616CFC -:1008E0006C656400436F6E74696E7565004D302FE2 -:1008F0003120427265616B2043616C6C6564004E0F -:100900006F204D6F76652E00456E642066696C65BC -:10091000206C6973740A00426567696E2066696CB1 -:1009200065206C6973740A00526573756D65205398 -:100930004400286E6F2066696C65290043757272E9 -:10094000656E742066696C653A20002E0A00446565 -:100950006C6574696F6E206661696C65642C2046F5 -:10096000696C653A200046696C652064656C657445 -:1009700065643A005072696E742074696D653A203E -:10098000000A53746174733A2046696C616D656E38 -:100990007420757365643A20002C204C6F6E676577 -:1009A0007374206A6F623A2000546F74616C207413 -:1009B000696D653A200053746174733A20002C20ED -:1009C0004661696C65643A20002C2046696E697343 -:1009D0006865643A20005072696E74733A2000535F -:1009E000746174733A20004520436F6F6C696E67C1 -:1009F0002E2E2E00452048656174696E672E2E2EBE -:100A0000006F6666003D08380831082A081C084453 -:100A1000454255473A004D31313320530042656419 -:100A200020436F6F6C696E672E2E2E004265642026 -:100A300048656174696E672E2E2E006F6B00434807 -:100A4000414D4245525F54454D50455241545552D7 -:100A500045004D4F54494F4E5F4D4F444553005450 -:100A60004845524D414C5F50524F54454354494FB5 -:100A70004E004155544F5245504F52545F53445FBE -:100A80005354415455530050524F4D50545F535599 -:100A900050504F525400454D455247454E43595FC3 -:100AA00050415253455200434153455F4C494748DA -:100AB000545F4252494748544E45535300544F47A0 -:100AC000474C455F4C494748545300534F46545791 -:100AD0004152455F504F574552004255494C445F83 -:100AE00050455243454E54004C4556454C494E479F -:100AF0005F44415441005A5F50524F4245004155B6 -:100B0000544F4C4556454C005052494E545F4A4F45 -:100B1000420050524F4752455353004155544F5293 -:100B200045504F52545F54454D5000564F4C554D13 -:100B3000455452494300454550524F4D0042494E9D -:100B40004152595F46494C455F5452414E534645C8 -:100B5000520053455249414C5F584F4E5F584F46E3 -:100B600046004649524D574152455F4E414D453A28 -:100B70004D61726C696E20322E305F4457332054C1 -:100B80004D33442053534D444E5520534F555243FB -:100B9000455F434F44455F55524C3A6874747073D7 -:100BA0003A2F2F6769746875622E636F6D2F496ED7 -:100BB00073616E6974794175746F6D6174696F6E7C -:100BC0002F4D61726C696E2F747265652F4372656B -:100BD000616C6974795F4D61726C696E322E302E72 -:100BE000782050524F544F434F4C5F564552534913 -:100BF0004F4E3A312E30204D414348494E455F54C7 -:100C00005950453A544D3344203130532050726F7F -:100C10002045585452554445525F434F554E543A1F -:100C20003120555549443A63656465326132662D19 -:100C3000343161322D343734382D396231322D63FD -:100C400035356336326633363766660A002F2F2015 -:100C500000205400205200416363656C657261742A -:100C6000696F6E3A2050003F4A206F7574206F669E -:100C70002072616E67652028302E303120746F201D -:100C8000302E33290A0020466C6F773A20005072CC -:100C90006F7465637465642050696E0A0050726FEA -:100CA0006265205A204F66667365743A2000496E6B -:100CB00076616C69642065787472756465720A0087 -:100CC00020643A0020693A0020703A0020643A001B -:100CD00020693A0020703A0064697300656E004331 -:100CE000290A0061626C656420286D696E20746554 -:100CF0006D702000436F6C64206578747275646554 -:100D0000732061726520004F4646004F4E004669D1 -:100D10006C616D656E742072756E6F757420646998 -:100D20007374616E636520286D6D293A20004669F1 -:100D30006C616D656E742072756E6F757420004FF6 -:100D4000666673657473204170706C6965640045F4 -:100D500072723A20546F6F206661722100546F6F77 -:100D6000206661722066726F6D20726566657265BD -:100D70006E636520706F696E740A00454550524F6E -:100D80004D204F4B0A005072696E74657220737467 -:100D90006F707065642064756520746F2065727271 -:100DA0006F72732E204669782074686520657272B0 -:100DB0006F7220616E6420757365204D393939205A -:100DC000746F20726573746172742E202854656D7F -:100DD00070657261747572652069732072657365E0 -:100DE000742E2053657420697420616674657220C6 -:100DF00072657374617274696E67290A0053544F87 -:100E0000505045442E200024F404D9201BC40C5C0F -:100E10000E9804C4095F0265077101F405F900FB2F -:100E200004B30048048700C1036900580355000358 -:100E3000034500BE023A008402310053022A002911 -:100E400002250004022000E4011C00C8011900AFC3 -:100E50000117009801140084011300710110006152 -:100E600001100051010E0043010D0036010B002B53 -:100E7000010B0020010B00150109000C0109000302 -:100E8000010800FB000800F3000800EB000700E485 -:100E9000000600DE000600D8000600D2000600CCE6 -:100EA000000500C7000500C2000500BD000400B930 -:100EB000000400B5000400B1000400AD000400A966 -:100EC000000400A5000300A20003009F0004009B93 -:100ED00000030098000300950002009300030090B7 -:100EE0000003008D0002008B0003008800020086D2 -:100EF00000020084000300810002007F0002007DE8 -:100F00000002007B000200790002007700010076F9 -:100F10000002007400020072000100710002006F04 -:100F20000002006D0001006C0002006A000100690F -:100F30000002006700010066000100650001006416 -:100F40000002006200010061000100600001005F1A -:100F50000002005D0001005C0001005B0001005A1E -:100F6000000100590001005800010057000100561F -:100F7000000100550001005400010053000000531F -:100F80000001005200010051000100500001004F1B -:100F90000001004E0000004E0001004D0001004C19 -:100FA0000001004B0000004B0001004A0001004915 -:100FB0000001004800000048000100470001004611 -:100FC000000000460001004500000045000100440B -:100FD0000001004300000043000100420000004205 -:100FE0000001004100000041000100400001003FFD -:100FF0000000003F0001003E0000003E0001003DF7 -:101000000000003D0001003C0000003C0000003CEE -:101010000001003B0000003B0001003A0000003AE4 -:1010200000010039000000390001003800000038DC -:1010300000000038000100370000003700010036D2 -:1010400000000036000000360001003500000035C9 -:1010500000000035000100340000003400000034BE -:1010600000010033000000330000003300010032B3 -:1010700000000032000000320001003100000031A9 -:10108000000000310001003000000030000000309E -:101090000001002F0000002F0000002F0000002F93 -:1010A0000001002E0000002E0000002E0001002D87 -:1010B0000000002D0000002D0000002D0001002C7C -:1010C0000000002C0000002C0000002C0001002B70 -:1010D0000000002B0000002B0000002B0001002A64 -:1010E0000000002A0000002A0000002A0001002958 -:1010F000000000290000002900000029000000294C -:10110000000100280000002800000028000000283E -:101110000000002800010027000000270000002731 -:101120000000002700000027000100260000002624 -:101130000000002600000026000000260001002517 -:10114000000000250000002500000025000000250B -:1011500000000025000100240000002400000024FD -:1011600000000024000000240001002300000023F0 -:1011700000000023000000230000002300000023E3 -:1011800000000023000100220000002200000022D5 -:1011900000000022000000220000002200010021C7 -:1011A00000000021000000210000002100000021BB -:1011B00000000021000000210001002000000020AC -:1011C000000000200000002000000020000000209F -:1011D00000000020000000200001001F0000001F90 -:1011E0000000001F0000001F0000001F0000001F83 -:1011F0000000001F0001001E0000001E0000001E75 -:101200000000001E00000024F4D43050C38E20C221 -:10121000A24017828B7011127A910D816CD90AA8A5 -:1012200061E108C7586607615143061E4B5D05C161 -:1012300045A7041A411104093D980371393103404F -:1012400036DB0265339102D4305402802E1D0263D6 -:101250002CEE01752AC501B028A001102781018F4D -:101260002564012B244B01E0223401AC211F018DA8 -:10127000200D01801FFC00841EED00971DDF00B8CB -:101280001CD200E61BC600201BBC00641AB200B2D0 -:1012900019A8000A19A0006A189900D117910040F6 -:1012A000178B00B516840031167E00B31579003A0D -:1012B000157300C7146F0058146A00EE1366008897 -:1012C00013630025135E00C7125B006C12570015F4 -:1012D000125400C111510070114F0021114B00D662 -:1012E0001049008D1047004610440002104200C013 -:1012F0000F4000800F3E00420F3C00060F3B00CB2A -:101300000E3800930E37005C0E3500270E3400F3C4 -:101310000D3200C10D3100900D3000600D2E0032F5 -:101320000D2D00050D2C00D90C2B00AE0C290085CD -:101330000C29005C0C2700350C27000E0C2600E859 -:101340000B2400C40B2400A00B23007D0B23005AA8 -:101350000B2100390B2100180B2000F80A1F00D9BF -:101360000A1E00BB0A1E009D0A1D00800A1D0063A4 -:101370000A1C00470A1B002C0A1B00110A1A00F75E -:10138000091A00DD091900C4091900AB09190092F6 -:101390000917007B091800630917004C091600366D -:1013A000091600200916000A091500F5081500E0C5 -:1013B000081400CC081400B8081400A40814009005 -:1013C0000813007D0812006B08130058081200462D -:1013D000081200340811002308110012081100013E -:1013E000081100F0071000E0071000D0071000C03F -:1013F000071000B0070F00A107100091070E00832F -:10140000070F0074070F0065070E0057070E00490D -:10141000070E003B070D002E070E0020070D0013DE -:10142000070D0006070D00F9060C00ED060D00E0A3 -:10143000060C00D4060C00C8060C00BC060C00B05C -:10144000060C00A4060B0099060C008D060B00820A -:10145000060B0077060B006C060B0061060A0057AE -:10146000060B004C060A0042060A0038060A002E47 -:10147000060A0024060A001A060A001006090007D8 -:10148000060A00FD050900F4050900EB050900E264 -:10149000050900D9050900D0050900C7050900BEE6 -:1014A000050900B5050800AD050800A50509009C63 -:1014B000050800940508008C050800840508007CD8 -:1014C000050800740508006C050700650508005D47 -:1014D000050700560508004E0507004705070040B0 -:1014E00005080038050700310507002A0507002315 -:1014F0000507001C050600160507000F0507000874 -:1015000005060002050700FB040600F5040700EECF -:10151000040600E8040600E2040700DB040600D528 -:10152000040600CF040600C9040600C3040600BD7B -:10153000040600B7040600B1040500AC040600A6CA -:10154000040600A00405009B040600950405009015 -:101550000406008A04050085040500800406007A5C -:1015600004050075040500700405006B04050066A1 -:10157000040500610405005C0405005704050052E1 -:101580000405004D04050048040500430405003E21 -:101590000404003A04050035040500300404002C5E -:1015A00004050027040400230405001E0404001A97 -:1015B00004040016040500110404000D04040009CD -:1015C0000405000404040000040400FC030400F803 -:1015D000030400F4030400F0030400EC030400E837 -:1015E000030400E4030400E0030400DC030400D867 -:1015F000030400D4030400D0030400CC030400C897 -:10160000030300C5030300726F746174696F6E2079 -:101610006D61747269783A0A0024F404D9201BC4FD -:101620000C5C0E9804C4095F0265077101F405F9AA -:1016300000FB04B30048048700C103690058035548 -:101640000003034500BE023A008402310053022A1F -:10165000002902250004022000E4011C00C8011931 -:1016600000AF0117009801140084011300710110EC -:10167000006101100051010E0043010D0036010B05 -:10168000002B010B0020010B00150109000C0109C2 -:101690000003010800FB000800F3000800EB00074E -:1016A00000E4000600DE000600D8000600D20006B6 -:1016B00000CC000500C7000500C2000500BD000405 -:1016C00000B9000400B5000400B1000400AD00043E -:1016D00000A9000400A5000300A20003009F00046D -:1016E000009B000300980003009500020093000394 -:1016F00000900003008D0002008B000300880002B0 -:10170000008600020084000300810002007F0002C6 -:10171000007D0002007B00020079000200770001DA -:1017200000760002007400020072000100710002E5 -:10173000006F0002006D0001006C0002006A0001F1 -:1017400000690002006700010066000100650001F9 -:1017500000640002006200010061000100600001FD -:10176000005F0002005D0001005C0001005B000101 -:10177000005A000100590001005800010057000103 -:101780000056000100550001005400010053000004 -:1017900000530001005200010051000100500001FF -:1017A000004F0001004E0000004E0001004D0001FE -:1017B000004C0001004B0000004B0001004A0001FA -:1017C00000490001004800000048000100470001F6 -:1017D00000460000004600010045000000450001F1 -:1017E00000440001004300000043000100420000EB -:1017F00000420001004100000041000100400001E2 -:10180000003F0000003F0001003E0000003E0001DC -:10181000003D0000003D0001003C0000003C0000D5 -:10182000003C0001003B0000003B0001003A0000CA -:10183000003A0001003900000039000100380000C2 -:1018400000380000003800010037000000370001B8 -:1018500000360000003600000036000100350000B0 -:1018600000350000003500010034000000340000A5 -:101870000034000100330000003300000033000199 -:101880000032000000320000003200010031000090 -:101890000031000000310001003000000030000085 -:1018A00000300001002F0000002F0000002F00007A -:1018B000002F0001002E0000002E0000002E00016D -:1018C000002D0000002D0000002D0000002D000163 -:1018D000002C0000002C0000002C0000002C000157 -:1018E000002B0000002B0000002B0000002B00014B -:1018F000002A0000002A0000002A0000002A00013F -:101900000029000000290000002900000029000033 -:101910000029000100280000002800000028000025 -:101920000028000000280001002700000027000018 -:10193000002700000027000000270001002600000B -:1019400000260000002600000026000000260001FE -:1019500000250000002500000025000000250000F3 -:1019600000250000002500010024000000240000E4 -:1019700000240000002400000024000100230000D7 -:1019800000230000002300000023000000230000CB -:1019900000230000002300010022000000220000BC -:1019A00000220000002200000022000000220001AE -:1019B00000210000002100000021000000210000A3 -:1019C0000021000000210000002100010020000093 -:1019D0000020000000200000002000000020000087 -:1019E000002000000020000000200001001F000077 -:1019F000001F0000001F0000001F0000001F00006B -:101A0000001F0000001F0001001E0000001E00005B -:101A1000001E0000001E00000024F4D43050C38ECD -:101A200020C2A24017828B7011127A910D816CD95D -:101A30000AA861E108C7586607615143061E4B5D5D -:101A400005C145A7041A411104093D9803713931B4 -:101A5000034036DB0265339102D4305402802E1DE0 -:101A600002632CEE01752AC501B028A00110278160 -:101A7000018F2564012B244B01E0223401AC211F8E -:101A8000018D200D01801FFC00841EED00971DDFDD -:101A900000B81CD200E61BC600201BBC00641AB2B2 -:101AA00000B219A8000A19A0006A189900D117916C -:101AB0000040178B00B516840031167E00B31579EF -:101AC000003A157300C7146F0058146A00EE1366CD -:101AD000008813630025135E00C7125B006C125769 -:101AE0000015125400C111510070114F0021114B0B -:101AF00000D61049008D10470046104400021042E5 -:101B000000C00F4000800F3E00420F3C00060F3B1C -:101B100000CB0E3800930E37005C0E3500270E34D4 -:101B200000F30D3200C10D3100900D3000600D2E1C -:101B300000320D2D00050D2C00D90C2B00AE0C2908 -:101B400000850C29005C0C2700350C27000E0C26A4 -:101B500000E80B2400C40B2400A00B23007D0B2302 -:101B6000005A0B2100390B2100180B2000F80A1F26 -:101B700000D90A1E00BB0A1E009D0A1D00800A1D16 -:101B800000630A1C00470A1B002C0A1B00110A1ADA -:101B900000F7091A00DD091900C4091900AB091979 -:101BA00000920917007B091800630917004C0916F9 -:101BB0000036091600200916000A091500F5081557 -:101BC00000E0081400CC081400B8081400A408149D -:101BD00000900813007D0812006B081300580812CB -:101BE00000460812003408110023081100120811E1 -:101BF0000001081100F0071000E0071000D00710E6 -:101C000000C0071000B0070F00A107100091070ED9 -:101C10000083070F0074070F0065070E0057070EBB -:101C20000049070E003B070D002E070E0020070D90 -:101C30000013070D0006070D00F9060C00ED060D58 -:101C400000E0060C00D4060C00C8060C00BC060C14 -:101C500000B0060C00A4060B0099060C008D060BC4 -:101C60000082060B0077060B006C060B0061060A6B -:101C70000057060B004C060A0042060A0038060A06 -:101C8000002E060A0024060A001A060A0010060999 -:101C90000007060A00FD050900F4050900EB050927 -:101CA00000E2050900D9050900D0050900C70509AA -:101CB00000BE050900B5050800AD050800A5050929 -:101CC000009C050800940508008C050800840508A0 -:101CD000007C050800740508006C05070065050810 -:101CE000005D050700560508004E0507004705077B -:101CF000004005080038050700310507002A0507E0 -:101D000000230507001C050600160507000F050740 -:101D1000000805060002050700FB040600F504079D -:101D200000EE040600E8040600E2040700DB0406F7 -:101D300000D5040600CF040600C9040600C304064B -:101D400000BD040600B7040600B1040500AC04069B -:101D500000A6040600A00405009B040600950405E7 -:101D600000900406008A040500850405008004062E -:101D7000007A04050075040500700405006B040575 -:101D80000066040500610405005C040500570405B5 -:101D900000520405004D04050048040500430405F5 -:101DA000003E0404003A0405003504050030040434 -:101DB000002C04050027040400230405001E04046D -:101DC000001A04040016040500110404000D0404A4 -:101DD00000090405000404040000040400FC0304DA -:101DE00000F8030400F4030400F0030400EC03040F -:101DF00000E8030400E4030400E0030400DC03043F -:101E000000D8030400D4030400D0030400CC03046E -:101E100000C8030300C503030024F404D9201BC435 -:101E20000C5C0E9804C4095F0265077101F405F9A2 -:101E300000FB04B30048048700C103690058035540 -:101E40000003034500BE023A008402310053022A17 -:101E5000002902250004022000E4011C00C8011929 -:101E600000AF0117009801140084011300710110E4 -:101E7000006101100051010E0043010D0036010BFD -:101E8000002B010B0020010B00150109000C0109BA -:101E90000003010800FB000800F3000800EB000746 -:101EA00000E4000600DE000600D8000600D20006AE -:101EB00000CC000500C7000500C2000500BD0004FD -:101EC00000B9000400B5000400B1000400AD000436 -:101ED00000A9000400A5000300A20003009F000465 -:101EE000009B00030098000300950002009300038C -:101EF00000900003008D0002008B000300880002A8 -:101F0000008600020084000300810002007F0002BE -:101F1000007D0002007B00020079000200770001D2 -:101F200000760002007400020072000100710002DD -:101F3000006F0002006D0001006C0002006A0001E9 -:101F400000690002006700010066000100650001F1 -:101F500000640002006200010061000100600001F5 -:101F6000005F0002005D0001005C0001005B0001F9 -:101F7000005A0001005900010058000100570001FB -:101F800000560001005500010054000100530000FC -:101F900000530001005200010051000100500001F7 -:101FA000004F0001004E0000004E0001004D0001F6 -:101FB000004C0001004B0000004B0001004A0001F2 -:101FC00000490001004800000048000100470001EE -:101FD00000460000004600010045000000450001E9 -:101FE00000440001004300000043000100420000E3 -:101FF00000420001004100000041000100400001DA -:10200000003F0000003F0001003E0000003E0001D4 -:10201000003D0000003D0001003C0000003C0000CD -:10202000003C0001003B0000003B0001003A0000C2 -:10203000003A0001003900000039000100380000BA -:1020400000380000003800010037000000370001B0 -:1020500000360000003600000036000100350000A8 -:10206000003500000035000100340000003400009D -:102070000034000100330000003300000033000191 -:102080000032000000320000003200010031000088 -:10209000003100000031000100300000003000007D -:1020A00000300001002F0000002F0000002F000072 -:1020B000002F0001002E0000002E0000002E000165 -:1020C000002D0000002D0000002D0000002D00015B -:1020D000002C0000002C0000002C0000002C00014F -:1020E000002B0000002B0000002B0000002B000143 -:1020F000002A0000002A0000002A0000002A000137 -:10210000002900000029000000290000002900002B -:10211000002900010028000000280000002800001D -:102120000028000000280001002700000027000010 -:102130000027000000270000002700010026000003 -:1021400000260000002600000026000000260001F6 -:1021500000250000002500000025000000250000EB -:1021600000250000002500010024000000240000DC -:1021700000240000002400000024000100230000CF -:1021800000230000002300000023000000230000C3 -:1021900000230000002300010022000000220000B4 -:1021A00000220000002200000022000000220001A6 -:1021B000002100000021000000210000002100009B -:1021C000002100000021000000210001002000008B -:1021D000002000000020000000200000002000007F -:1021E000002000000020000000200001001F00006F -:1021F000001F0000001F0000001F0000001F000063 -:10220000001F0000001F0001001E0000001E000053 -:10221000001E0000001E00000024F4D43050C38EC5 -:1022200020C2A24017828B7011127A910D816CD955 -:102230000AA861E108C7586607615143061E4B5D55 -:1022400005C145A7041A411104093D9803713931AC -:10225000034036DB0265339102D4305402802E1DD8 -:1022600002632CEE01752AC501B028A00110278158 -:10227000018F2564012B244B01E0223401AC211F86 -:10228000018D200D01801FFC00841EED00971DDFD5 -:1022900000B81CD200E61BC600201BBC00641AB2AA -:1022A00000B219A8000A19A0006A189900D1179164 -:1022B0000040178B00B516840031167E00B31579E7 -:1022C000003A157300C7146F0058146A00EE1366C5 -:1022D000008813630025135E00C7125B006C125761 -:1022E0000015125400C111510070114F0021114B03 -:1022F00000D61049008D10470046104400021042DD -:1023000000C00F4000800F3E00420F3C00060F3B14 -:1023100000CB0E3800930E37005C0E3500270E34CC -:1023200000F30D3200C10D3100900D3000600D2E14 -:1023300000320D2D00050D2C00D90C2B00AE0C2900 -:1023400000850C29005C0C2700350C27000E0C269C -:1023500000E80B2400C40B2400A00B23007D0B23FA -:10236000005A0B2100390B2100180B2000F80A1F1E -:1023700000D90A1E00BB0A1E009D0A1D00800A1D0E -:1023800000630A1C00470A1B002C0A1B00110A1AD2 -:1023900000F7091A00DD091900C4091900AB091971 -:1023A00000920917007B091800630917004C0916F1 -:1023B0000036091600200916000A091500F508154F -:1023C00000E0081400CC081400B8081400A4081495 -:1023D00000900813007D0812006B081300580812C3 -:1023E00000460812003408110023081100120811D9 -:1023F0000001081100F0071000E0071000D00710DE -:1024000000C0071000B0070F00A107100091070ED1 -:102410000083070F0074070F0065070E0057070EB3 -:102420000049070E003B070D002E070E0020070D88 -:102430000013070D0006070D00F9060C00ED060D50 -:1024400000E0060C00D4060C00C8060C00BC060C0C -:1024500000B0060C00A4060B0099060C008D060BBC -:102460000082060B0077060B006C060B0061060A63 -:102470000057060B004C060A0042060A0038060AFE -:10248000002E060A0024060A001A060A0010060991 -:102490000007060A00FD050900F4050900EB05091F -:1024A00000E2050900D9050900D0050900C70509A2 -:1024B00000BE050900B5050800AD050800A5050921 -:1024C000009C050800940508008C05080084050898 -:1024D000007C050800740508006C05070065050808 -:1024E000005D050700560508004E05070047050773 -:1024F000004005080038050700310507002A0507D8 -:1025000000230507001C050600160507000F050738 -:10251000000805060002050700FB040600F5040795 -:1025200000EE040600E8040600E2040700DB0406EF -:1025300000D5040600CF040600C9040600C3040643 -:1025400000BD040600B7040600B1040500AC040693 -:1025500000A6040600A00405009B040600950405DF -:1025600000900406008A0405008504050080040626 -:10257000007A04050075040500700405006B04056D -:102580000066040500610405005C040500570405AD -:1025900000520405004D04050048040500430405ED -:1025A000003E0404003A040500350405003004042C -:1025B000002C04050027040400230405001E040465 -:1025C000001A04040016040500110404000D04049C -:1025D00000090405000404040000040400FC0304D2 -:1025E00000F8030400F4030400F0030400EC030407 -:1025F00000E8030400E4030400E0030400DC030437 -:1026000000D8030400D4030400D0030400CC030466 -:1026100000C8030300C503030070012C01900127CB -:1026200001B0012201C0011D01F0011801100213C7 -:102630000130020E016002090190020401C002FF94 -:10264000000003FA004003F5008003F000D003EB24 -:10265000002004E6007004E100E004DC004005D73F -:1026600000C005D2004006CD00D006C8008007C3D8 -:10267000003008BE00F008B900C009B400B00AAFCD -:1026800000B00BAA00D00CA500000EA000500F9BBC -:1026900000C01096005012910000148C00C01587E5 -:1026A00000B0178200B0197D00D01B7800001E73A7 -:1026B0000040206E0090226900F024640040275FF3 -:1026C0000090295A00E02B5500102E500020304B6E -:1026D0000010324600E033410090353C001037379F -:1026E0000070383200A0392D00B03A2800A03B23FA -:1026F00000603C1E00103D1900903D1400103E0F7C -:1027000000703E0A00C03E0500003F0000403FFB55 -:10271000FF803FF6FFC03FF1FF1000C90210012CFF -:10272000014001220170011801B0010E01F0010405 -:10273000015002FA00B002F0003003E600D003DCE2 -:10274000009004D2007005C800A006BE000008B4C6 -:1027500000B009AA00D00BA000600E960060118C9A -:10276000000015820020197800C01D6E00A02264B0 -:1027700000B0275A00902C500000314600E0343C55 -:102780000010383200903A2800603C1E00A03D1432 -:1027900000803E0A00203F000024F404D9201BC41E -:1027A0000C5C0E9804C4095F0265077101F405F919 -:1027B00000FB04B30048048700C1036900580355B7 -:1027C0000003034500BE023A008402310053022A8E -:1027D000002902250004022000E4011C00C80119A0 -:1027E00000AF01170098011400840113007101105B -:1027F000006101100051010E0043010D0036010B74 -:10280000002B010B0020010B00150109000C010930 -:102810000003010800FB000800F3000800EB0007BC -:1028200000E4000600DE000600D8000600D2000624 -:1028300000CC000500C7000500C2000500BD000473 -:1028400000B9000400B5000400B1000400AD0004AC -:1028500000A9000400A5000300A20003009F0004DB -:10286000009B000300980003009500020093000302 -:1028700000900003008D0002008B0003008800021E -:10288000008600020084000300810002007F000235 -:10289000007D0002007B0002007900020077000149 -:1028A0000076000200740002007200010071000254 -:1028B000006F0002006D0001006C0002006A000160 -:1028C0000069000200670001006600010065000168 -:1028D000006400020062000100610001006000016C -:1028E000005F0002005D0001005C0001005B000170 -:1028F000005A000100590001005800010057000172 -:102900000056000100550001005400010053000072 -:10291000005300010052000100510001005000016D -:10292000004F0001004E0000004E0001004D00016C -:10293000004C0001004B0000004B0001004A000168 -:102940000049000100480000004800010047000164 -:10295000004600000046000100450000004500015F -:102960000044000100430000004300010042000059 -:102970000042000100410000004100010040000150 -:10298000003F0000003F0001003E0000003E00014B -:10299000003D0000003D0001003C0000003C000044 -:1029A000003C0001003B0000003B0001003A000039 -:1029B000003A000100390000003900010038000031 -:1029C0000038000000380001003700000037000127 -:1029D000003600000036000000360001003500001F -:1029E0000035000000350001003400000034000014 -:1029F0000034000100330000003300000033000108 -:102A000000320000003200000032000100310000FE -:102A100000310000003100010030000000300000F3 -:102A200000300001002F0000002F0000002F0000E8 -:102A3000002F0001002E0000002E0000002E0001DB -:102A4000002D0000002D0000002D0000002D0001D1 -:102A5000002C0000002C0000002C0000002C0001C5 -:102A6000002B0000002B0000002B0000002B0001B9 -:102A7000002A0000002A0000002A0000002A0001AD -:102A800000290000002900000029000000290000A2 -:102A90000029000100280000002800000028000094 -:102AA0000028000000280001002700000027000087 -:102AB000002700000027000000270001002600007A -:102AC000002600000026000000260000002600016D -:102AD0000025000000250000002500000025000062 -:102AE0000025000000250001002400000024000053 -:102AF0000024000000240000002400010023000046 -:102B00000023000000230000002300000023000039 -:102B1000002300000023000100220000002200002A -:102B2000002200000022000000220000002200011C -:102B30000021000000210000002100000021000011 -:102B40000021000000210000002100010020000001 -:102B500000200000002000000020000000200000F5 -:102B6000002000000020000000200001001F0000E5 -:102B7000001F0000001F0000001F0000001F0000D9 -:102B8000001F0000001F0001001E0000001E0000CA -:102B9000001E0000001E00000024F4D43050C38E3C -:102BA00020C2A24017828B7011127A910D816CD9CC -:102BB0000AA861E108C7586607615143061E4B5DCC -:102BC00005C145A7041A411104093D980371393123 -:102BD000034036DB0265339102D4305402802E1D4F -:102BE00002632CEE01752AC501B028A001102781CF -:102BF000018F2564012B244B01E0223401AC211FFD -:102C0000018D200D01801FFC00841EED00971DDF4B -:102C100000B81CD200E61BC600201BBC00641AB220 -:102C200000B219A8000A19A0006A189900D11791DA -:102C30000040178B00B516840031167E00B315795D -:102C4000003A157300C7146F0058146A00EE13663B -:102C5000008813630025135E00C7125B006C1257D7 -:102C60000015125400C111510070114F0021114B79 -:102C700000D61049008D1047004610440002104253 -:102C800000C00F4000800F3E00420F3C00060F3B8B -:102C900000CB0E3800930E37005C0E3500270E3443 -:102CA00000F30D3200C10D3100900D3000600D2E8B -:102CB00000320D2D00050D2C00D90C2B00AE0C2977 -:102CC00000850C29005C0C2700350C27000E0C2613 -:102CD00000E80B2400C40B2400A00B23007D0B2371 -:102CE000005A0B2100390B2100180B2000F80A1F95 -:102CF00000D90A1E00BB0A1E009D0A1D00800A1D85 -:102D000000630A1C00470A1B002C0A1B00110A1A48 -:102D100000F7091A00DD091900C4091900AB0919E7 -:102D200000920917007B091800630917004C091667 -:102D30000036091600200916000A091500F50815C5 -:102D400000E0081400CC081400B8081400A408140B -:102D500000900813007D0812006B08130058081239 -:102D6000004608120034081100230811001208114F -:102D70000001081100F0071000E0071000D0071054 -:102D800000C0071000B0070F00A107100091070E48 -:102D90000083070F0074070F0065070E0057070E2A -:102DA0000049070E003B070D002E070E0020070DFF -:102DB0000013070D0006070D00F9060C00ED060DC7 -:102DC00000E0060C00D4060C00C8060C00BC060C83 -:102DD00000B0060C00A4060B0099060C008D060B33 -:102DE0000082060B0077060B006C060B0061060ADA -:102DF0000057060B004C060A0042060A0038060A75 -:102E0000002E060A0024060A001A060A0010060907 -:102E10000007060A00FD050900F4050900EB050995 -:102E200000E2050900D9050900D0050900C7050918 -:102E300000BE050900B5050800AD050800A5050997 -:102E4000009C050800940508008C0508008405080E -:102E5000007C050800740508006C0507006505087E -:102E6000005D050700560508004E050700470507E9 -:102E7000004005080038050700310507002A05074E -:102E800000230507001C050600160507000F0507AF -:102E9000000805060002050700FB040600F504070C -:102EA00000EE040600E8040600E2040700DB040666 -:102EB00000D5040600CF040600C9040600C30406BA -:102EC00000BD040600B7040600B1040500AC04060A -:102ED00000A6040600A00405009B04060095040556 -:102EE00000900406008A040500850405008004069D -:102EF000007A04050075040500700405006B0405E4 -:102F00000066040500610405005C04050057040523 -:102F100000520405004D0405004804050043040563 -:102F2000003E0404003A04050035040500300404A2 -:102F3000002C04050027040400230405001E0404DB -:102F4000001A04040016040500110404000D040412 -:102F500000090405000404040000040400FC030448 -:102F600000F8030400F4030400F0030400EC03047D -:102F700000E8030400E4030400E0030400DC0304AD -:102F800000D8030400D4030400D0030400CC0304DD -:102F900000C8030300C5030300256C642E25696D7A -:102FA000004D61726C696E20322E305F44573300E1 -:102FB000206D61783A00206D696E3A00417869733E -:102FC00020004572726F722077726974696E672093 -:102FD000746F20454550524F4D210A003637260365 -:102FE0003C3D380E2E303E121A1C1808440AFF438E -:102FF0000809070001627573793A2070617573657D -:103000006420666F7220696E7075740A0062757351 -:10301000793A2070617573656420666F72207573EC -:1030200065720A00627573793A2070726F63657316 -:1030300073696E670A007061757365004D363030D4 -:10304000200A204D313137200A002066696C616DFD -:10305000656E745F72756E6F7574200066696C6161 -:103060006D656E745F72756E6F757420540046697D -:103070006C616D656E7452756E6F7574205400537B -:10308000544F505045442E20005072696E74657242 -:103090002073746F707065642064756520746F2090 -:1030A0006572726F72732E2046697820746865208D -:1030B0006572726F7220616E6420757365204D3980 -:1030C000393920746F20726573746172742E2028F0 -:1030D00054656D70657261747572652069732072D4 -:1030E000657365742E20536574206974206166745D -:1030F00065722072657374617274696E67290A0063 -:103100004E6F20436865636B73756D2077697468D3 -:10311000206C696E65206E756D6265722C204C6145 -:103120007374204C696E653A20004E6F20436865C9 -:10313000636B73756D2077697468206C696E6520A8 -:103140006E756D6265722C204C617374204C696ED3 -:10315000653A2000636865636B73756D206D6973F4 -:103160006D617463682C204C617374204C696E65CA -:103170003A20004C696E65204E756D62657220695B -:1031800073206E6F74204C617374204C696E6520DF -:103190004E756D6265722B312C204C617374204C1E -:1031A000696E653A20004D31313000776169740AEB -:1031B000004D313137004D33310053442072656189 -:1031C00064206572726F720A00446F6E65207072BF -:1031D000696E74696E672066696C650A004B494CBC -:1031E0004C2063617573656420627920746F6F2071 -:1031F0006D75636820696E616374697665207469B2 -:103200006D65202D2063757272656E7420636F6D1D -:103210006D616E643A20002020506C616E6E6572A4 -:1032200042756666657242797465733A200020467D -:10323000726565204D656D6F72793A2000436F6D40 -:1032400070696C65643A20536570202038203230F4 -:1032500031390A00207C20417574686F723A20541D -:10326000696E794D616368696E657333440A003233 -:103270003031392D30372D333000204C61737420BC -:10328000557064617465643A2000322E305F445793 -:10329000330A004D61726C696E0020536F6674775B -:1032A0006172652052657365740A0020576174630A -:1032B00068646F672052657365740A002042726FFC -:1032C000776E206F75742052657365740A0020450F -:1032D000787465726E616C2052657365740A005073 -:1032E0006F77657255700A0073746172740A0061B9 -:1032F00075746F25632E67006572726F7220777226 -:103300006974696E6720746F2066696C650A004491 -:103310006F6E6520736176696E672066696C652ED5 -:103320000A004D323900205A3A0020593A002058FC -:103330003A00656E6473746F7073206869743A2024 -:10334000004732385859000A20696E6974207A7033 -:10335000726F62655F7A6F6666736574203D2000E8 -:10336000454550524F4D20496E697469616C697AC8 -:1033700065640A003F556E61626C6520746F20734E -:10338000617665206D65736820646174612E0A0042 -:103390003F556E61626C6520746F206C6F616420B4 -:1033A0006D65736820646174612E0A00EE0200008E -:1033B000EE020000640000003C0000000000FA4340 -:1033C0000000FA430000204100008C420000A042AF -:1033D0000000A0420000C84300000C43556E69661F -:1033E00069656420426564204C6576656C696E672A -:1033F000003A0A0020204D363033200020440020BF -:10340000204D34313220530046696C616D656E7415 -:103410002072756E6F75742073656E736F723A0AE1 -:10342000002055004C0046696C616D656E74206C1F -:103430006F61642F756E6C6F6164206C656E67746C -:1034400068733A0A0020204D383531205A00202078 -:103450004D38353120590020204D38353120580065 -:103460005A2D50726F6265204F6666736574002036 -:10347000440020490020204D3330342050002044A7 -:103480000020490020204D33303120500050494465 -:103490002073657474696E67733A0A00206D6573F2 -:1034A0006865732E0A0A00454550524F4D206361EE -:1034B0006E20686F6C6420000A4163746976652031 -:1034C0004D65736820536C6F743A2000205A0020B9 -:1034D000204D3432302053003A0A00205A0020593F -:1034E0000020204D323036205800486F6D65206F27 -:1034F00066667365743A0A00204A0020540020531F -:103500000020204D323035204200204A3C6A756E42 -:10351000635F6465763E00416476616E6365643A1C -:1035200020423C6D696E5F7365676D656E745F7494 -:10353000696D655F75733E20533C6D696E5F6665AE -:103540006564726174653E20543C6D696E5F74728F -:103550006176656C5F66656564726174653E0020C6 -:10356000540020520020204D32303420500041635E -:1035700063656C65726174696F6E2028756E69741D -:10358000732F7332293A20503C7072696E745F61F8 -:103590006363656C3E20523C726574726163745F54 -:1035A000616363656C3E20543C74726176656C5F48 -:1035B000616363656C3E0A00204500205A00205973 -:1035C0000020204D3230312058004D6178696D75F2 -:1035D0006D20416363656C65726174696F6E20284C -:1035E000756E6974732F7332293A0A0020450020E2 -:1035F0005A0020590020204D3230332058004D61B0 -:1036000078696D756D206665656472617465732097 -:1036100028756E6974732F73293A0A0053746570A4 -:10362000732070657220756E69743A0A0020204D0F -:103630003230302044300A0020204D3230302044D7 -:10364000002044697361626C65640A0046696C61BC -:103650006D656E742073657474696E67733A0020CB -:10366000286D6D29002020473231202020203B206A -:10367000556E69747320696E206D6D00486F6D69B9 -:103680006E67204661696C6564006F70656E0054FA -:103690005249474745524544003A200066696C61EB -:1036A0006D656E74007A5F6D696E00795F6D696E2D -:1036B00000785F6D696E005265706F7274696E6735 -:1036C00020656E6473746F70207374617475730A0F -:1036D00000205A3A0020593A0020436F756E74203A -:1036E000583A0020453A00205A3A0020593A0058EA -:1036F0003A0050726F62696E67204661696C65645A -:103700000A0050726F62696E67204661696C656479 -:103710000043616E6E6F74206F70656E207375620A -:10372000646972200053442063617264206F6B0AE5 -:10373000006F70656E526F6F74206661696C6564AE -:103740000A00766F6C756D652E696E69742066610E -:10375000696C65640A00534420696E69742066616F -:10376000696C0A004D3234004D3233202573005706 -:10377000726974696E6720746F2066696C653A209F -:10378000002E0A006F70656E206661696C65642C9E -:103790002046696C653A20002E0A006F70656E2025 -:1037A0006661696C65642C2046696C653A20004648 -:1037B000696C652073656C65637465640A002053E9 -:1037C000697A653A200046696C65206F70656E65A0 -:1037D000643A2000667265736800646F696E670002 -:1037E0002066696C653A20004E6F772000454E4494 -:1037F00020535542524F5554494E450A00222070DD -:103800006F73002220706172656E743A2200535506 -:1038100042524F5554494E452043414C4C2074610F -:10382000726765743A2200747279696E6720746FEA -:103830002063616C6C207375622D67636F64652013 -:1038400066696C6573207769746820746F6F206D8A -:10385000616E79206C6576656C732E204D41582021 -:103860006C6576656C2069733A310A0053442070A8 -:1038700072696E74696E67206279746520004E6F9C -:1038800074205344207072696E74696E670A002058 -:10389000746F6F206C6F6E672065787472757369D2 -:1038A0006F6E2070726576656E7465640A002063C1 -:1038B0006F6C6420657874727573696F6E207072B6 -:1038C0006576656E7465640A00486F6D65202573C2 -:1038D00025732573204669727374002046697273DC -:1038E000740A00486F6D65200000000000000000B1 -:1038F0000000000000000048420000484200008034 -:10390000405761726E696E673A20486F6D696E67E5 -:103910002042756D702044697669736F72203C2077 -:10392000310A000202040000A0400000A040000094 -:10393000004000809D4300009B430000C843FFFF00 -:10394000FF2042002050006F6B00526573656E646B -:103950003A200043616E6E6F74206F70656E207345 -:10396000756264697220002569730025696D2025E0 -:103970006973002569682025696D20256973002514 -:103980006964202569682025696D202569730025F3 -:10399000697920256964202569682025696D2025BD -:1039A00069730023646566696E6520444546415528 -:1039B0004C545F0000626564004B6420004B69203A -:1039C000004B702000504944204175746F74756E2F -:1039D000652066696E69736865642120507574207E -:1039E000746865206C617374204B702C204B6920C7 -:1039F000616E64204B6420636F6E7374616E7473C8 -:103A00002066726F6D2062656C6F7720696E746FCF -:103A100020436F6E66696775726174696F6E2E6898 -:103A20000A00504944204175746F74756E652066B4 -:103A300061696C6564212074696D656F75740A0035 -:103A4000453120544845524D414C2052554E415726 -:103A500041590042454420544845524D414C205262 -:103A6000554E4157415900546865726D616C205242 -:103A7000756E617761790045312048656174696EC2 -:103A800067204661696C6564004265642048656131 -:103A900074696E67204661696C656400486561748D -:103AA000696E67206661696C656400504944204115 -:103AB00075746F74756E65206661696C656421202C -:103AC00054656D706572617475726520746F6F20D6 -:103AD000686967680A00204B643A2000204B693A05 -:103AE0002000204B703A20000A20436C61737369F8 -:103AF0006320504944200A00204B643A2000204BA8 -:103B0000693A2000204B703A20000A204E6F206F47 -:103B100076657273686F6F740A002054753A2000DE -:103B2000204B753A2000206D61783A2000206D69A5 -:103B30006E3A200020643A200020626961733A20C6 -:103B400000504944204175746F74756E652073741C -:103B50006172740A00504944204175746F74756E27 -:103B600065206661696C6564212054656D706572BD -:103B7000617475726520746F6F20686967680A00E8 -:103B8000504944204175746F74756E652066616993 -:103B90006C65642120426164206578747275646587 -:103BA00072206E756D6265720A00496E76616C698D -:103BB000642065787472756465720A007C3C3E5EB0 -:103BC0002B3D3F2F5B5D3B2C2A225C002020207C7C -:103BD0000A004E414E0020202E20202000207C0094 -:103BE0004C43443A0A004353563A0A0020666F7227 -:103BF00020003A0A0A000A42656420546F706F6719 -:103C00007261706879205265706F72740047323843 -:103C10000000446F6E652E0A003F496E76616C6944 -:103C2000642073746F7261676520736C6F742E0A01 -:103C30003F557365203020746F20003F454550523A -:103C40004F4D2073746F72616765206E6F742061D1 -:103C50007661696C61626C652E0A00446F6E652E38 -:103C60000A003F496E76616C69642073746F7261FB -:103C7000676520736C6F742E0A3F55736520302082 -:103C8000746F20003F454550524F4D2073746F7242 -:103C9000616765206E6F7420617661696C61626C2A -:103CA000652E0A003F5034206973206F6E6C7920B6 -:103CB000617661696C61626C65207768656E206110 -:103CC0006E204C43442069732070726573656E7476 -:103CD0002E0A003F5032206973206F6E6C7920618C -:103CE0007661696C61626C65207768656E20616ED3 -:103CF000204C43442069732070726573656E742E86 -:103D00000A00292E0A0A0050726F62696E672061EC -:103D1000726F756E642028004D65736820696E7639 -:103D2000616C6964617465642E2050726F62696EA3 -:103D300067206D6573682E0A004D657368207A658B -:103D4000726F65642E0A0044656661756C74207339 -:103D5000746F7261676520736C6F742030207365B7 -:103D60006C65637465642E0A004C6F6164696E67EC -:103D700020746573745F7061747465726E2076610F -:103D80006C7565732E0A0A00496E76616C69642051 -:103D9000746573745F7061747465726E2076616CA3 -:103DA00075652E20282D3120746F2032290A0A00D3 -:103DB0004C6F636174696F6E7320696E76616C69B4 -:103DC00064617465642E0A0A00456E746972652028 -:103DD0004D65736820696E76616C696461746564B1 -:103DE0002E0A0A004E6F20454550524F4D2E0A00B4 -:103DF0003F4D65736820746F6F2062696720666F3E -:103E00007220454550524F4D2E0A004E6F204545B9 -:103E100050524F4D2E0A00220A00556E6B6E6F777E -:103E20006E20636F6D6D616E643A20220020746FA6 -:103E30006F206C6F6E6720657874727573696F6E32 -:103E40002070726576656E7465640A0020636F6C1D -:103E50006420657874727573696F6E207072657610 -:103E6000656E7465640A0024F4D43050C38E20C299 -:103E7000A24017828B7011127A910D816CD90AA819 -:103E800061E108C7586607615143061E4B5D05C1D5 -:103E900045A7041A411104093D98037139310340C3 -:103EA00036DB0265339102D4305402802E1D02634A -:103EB0002CEE01752AC501B028A001102781018FC1 -:103EC0002564012B244B01E0223401AC211F018D1C -:103ED000200D01801FFC00841EED00971DDF00B83F -:103EE0001CD200E61BC600201BBC00641AB200B244 -:103EF00019A8000A19A0006A189900D1179100406A -:103F0000178B00B516840031167E00B31579003A80 -:103F1000157300C7146F0058146A00EE136600880A -:103F200013630025135E00C7125B006C1257001567 -:103F3000125400C111510070114F0021114B00D6D5 -:103F40001049008D1047004610440002104200C086 -:103F50000F4000800F3E00420F3C00060F3B00CB9D -:103F60000E3800930E37005C0E3500270E3400F338 -:103F70000D3200C10D3100900D3000600D2E003269 -:103F80000D2D00050D2C00D90C2B00AE0C29008541 -:103F90000C29005C0C2700350C27000E0C2600E8CD -:103FA0000B2400C40B2400A00B23007D0B23005A1C -:103FB0000B2100390B2100180B2000F80A1F00D933 -:103FC0000A1E00BB0A1E009D0A1D00800A1D006318 -:103FD0000A1C00470A1B002C0A1B00110A1A00F7D2 -:103FE000091A00DD091900C4091900AB091900926A -:103FF0000917007B091800630917004C09160036E1 -:10400000091600200916000A091500F5081500E038 -:10401000081400CC081400B8081400A40814009078 -:104020000813007D0812006B0813005808120046A0 -:1040300008120034081100230811001208110001B1 -:10404000081100F0071000E0071000D0071000C0B2 -:10405000071000B0070F00A107100091070E0083A2 -:10406000070F0074070F0065070E0057070E004981 -:10407000070E003B070D002E070E0020070D001352 -:10408000070D0006070D00F9060C00ED060D00E017 -:10409000060C00D4060C00C8060C00BC060C00B0D0 -:1040A000060C00A4060B0099060C008D060B00827E -:1040B000060B0077060B006C060B0061060A005722 -:1040C000060B004C060A0042060A0038060A002EBB -:1040D000060A0024060A001A060A0010060900074C -:1040E000060A00FD050900F4050900EB050900E2D8 -:1040F000050900D9050900D0050900C7050900BE5A -:10410000050900B5050800AD050800A50509009CD6 -:10411000050800940508008C050800840508007C4B -:10412000050800740508006C050700650508005DBA -:10413000050700560508004E050700470507004023 -:1041400005080038050700310507002A0507002388 -:104150000507001C050600160507000F05070008E7 -:1041600005060002050700FB040600F5040700EE43 -:10417000040600E8040600E2040700DB040600D59C -:10418000040600CF040600C9040600C3040600BDEF -:10419000040600B7040600B1040500AC040600A63E -:1041A000040600A00405009B040600950405009089 -:1041B0000406008A04050085040500800406007AD0 -:1041C00004050075040500700405006B0405006615 -:1041D000040500610405005C040500570405005255 -:1041E0000405004D04050048040500430405003E95 -:1041F0000404003A04050035040500300404002CD2 -:1042000004050027040400230405001E0404001A0A -:1042100004040016040500110404000D0404000940 -:104220000405000404040000040400FC030400F876 -:10423000030400F4030400F0030400EC030400E8AA -:10424000030400E4030400E0030400DC030400D8DA -:10425000030400D4030400D0030400CC030400C80A -:10426000030300C503030024F404D9201BC40C5C21 -:104270000E9804C4095F0265077101F405F900FB9B -:1042800004B30048048700C10369005803550003C4 -:10429000034500BE023A008402310053022A00297D -:1042A00002250004022000E4011C00C8011900AF2F -:1042B00001170098011400840113007101100061BE -:1042C00001100051010E0043010D0036010B002BBF -:1042D000010B0020010B00150109000C010900036E -:1042E000010800FB000800F3000800EB000700E4F1 -:1042F000000600DE000600D8000600D2000600CC52 -:10430000000500C7000500C2000500BD000400B99B -:10431000000400B5000400B1000400AD000400A9D1 -:10432000000400A5000300A20003009F0004009BFE -:104330000003009800030095000200930003009022 -:104340000003008D0002008B00030088000200863D -:1043500000020084000300810002007F0002007D53 -:104360000002007B00020079000200770001007665 -:104370000002007400020072000100710002006F70 -:104380000002006D0001006C0002006A000100697B -:104390000002006700010066000100650001006482 -:1043A0000002006200010061000100600001005F86 -:1043B0000002005D0001005C0001005B0001005A8A -:1043C000000100590001005800010057000100568B -:1043D000000100550001005400010053000000538B -:1043E0000001005200010051000100500001004F87 -:1043F0000001004E0000004E0001004D0001004C85 -:104400000001004B0000004B0001004A0001004980 -:10441000000100480000004800010047000100467C -:104420000000004600010045000000450001004476 -:104430000001004300000043000100420000004270 -:104440000001004100000041000100400001003F68 -:104450000000003F0001003E0000003E0001003D62 -:104460000000003D0001003C0000003C0000003C5A -:104470000001003B0000003B0001003A0000003A50 -:104480000001003900000039000100380000003848 -:10449000000000380001003700000037000100363E -:1044A0000000003600000036000100350000003535 -:1044B000000000350001003400000034000000342A -:1044C000000100330000003300000033000100321F -:1044D0000000003200000032000100310000003115 -:1044E000000000310001003000000030000000300A -:1044F0000001002F0000002F0000002F0000002FFF -:104500000001002E0000002E0000002E0001002DF2 -:104510000000002D0000002D0000002D0001002CE7 -:104520000000002C0000002C0000002C0001002BDB -:104530000000002B0000002B0000002B0001002ACF -:104540000000002A0000002A0000002A00010029C3 -:1045500000000029000000290000002900000029B7 -:1045600000010028000000280000002800000028AA -:10457000000000280001002700000027000000279D -:104580000000002700000027000100260000002690 -:104590000000002600000026000000260001002583 -:1045A0000000002500000025000000250000002577 -:1045B0000000002500010024000000240000002469 -:1045C000000000240000002400010023000000235C -:1045D000000000230000002300000023000000234F -:1045E0000000002300010022000000220000002241 -:1045F0000000002200000022000000220001002133 -:104600000000002100000021000000210000002126 -:104610000000002100000021000100200000002017 -:10462000000000200000002000000020000000200A -:1046300000000020000000200001001F0000001FFB -:104640000000001F0000001F0000001F0000001FEE -:104650000000001F0001001E0000001E0000001EE0 -:104660000000001E000000043700001E2900005159 -:104670001B00005810000010090000CC0400007856 -:1046800002000041010000626564002C2073797310 -:1046900074656D2073746F70706564212048656166 -:1046A0007465725F49443A20004265642048656140 -:1046B00074696E67204661696C6564004865617461 -:1046C000696E67206661696C6564004245442054E8 -:1046D0004845524D414C2052554E41574159005486 -:1046E0006865726D616C2052756E61776179004505 -:1046F000312048656174696E67204661696C656444 -:104700000048656174696E67206661696C65640064 -:10471000453120544845524D414C2052554E415749 -:10472000415900546865726D616C2052756E6177F5 -:10473000617900646F6E650A00496E73756666691B -:104740006369656E7420646174610A000000A040B2 -:10475000000082420000FA42000039430000754325 -:10476000008098430080B6430080D4430080F24329 -:1047700000400844004017440040264400403544AF -:104780000040444400405344004062440000A040C4 -:104790009A9983423333FD4266663B433333784311 -:1047A00000809A4366E6B843CD4CD74333B3F54314 -:1047B000CD0C0A44004019443373284466A637449C -:1047C00099D94644CD0C56440040654445787472EE -:1047D00061706F6C6174696E67206D6573682E2EF1 -:1047E0002E002F2F616374696F6E3A0062757474C6 -:1047F0006F6E00656E640070726F6D70745F007331 -:10480000686F77004D38373620526573706F6E646D -:10481000696E672050524F4D50545F00554E4B4EBD -:104820004F574E2053544154450047434F44455F32 -:10483000494E464F004C43445F50415553455F52EB -:104840004553554D450046494C414D454E545F52E8 -:10485000554E4F55545F434F4E54494E55450046B3 -:10486000494C414D454E545F52554E4F5554004DA5 -:10487000323400436F6E74696E756500446973610C -:10488000626C6552756E6F75740050757267652045 -:104890004D6F72650050617573656400706175736A -:1048A000656400486F74656E6420746F6F20636F79 -:1048B0006C640A00506175736500507265737320F3 -:1048C000627574746F6E20286F72204D31303829F4 -:1048D00020746F20726573756D650A00496E73658B -:1048E00072742066696C616D656E7420616E6420FF -:1048F000707265737320627574746F6E20286F72A6 -:10490000204D313038290A00436F6E74696E756529 -:104910000052656865617420446F6E650052656879 -:10492000656174696E672E2E2E005265686561742C -:10493000696E670048656174657254696D656F756D -:1049400074005265686561740048656174657254ED -:10495000696D656F7574005072657373206275744C -:10496000746F6E20286F72204D3130382920746F9B -:104970002068656174206E6F7A7A6C650A004E6FEC -:104980007A7A6C65205061726B656400436F6E7457 -:10499000696E7565004E6F7A7A6C65205061726B36 -:1049A000656400486F74656E6420746F6F20636F78 -:1049B0006C640A00726573756D6564006265676991 -:1049C0006E00436F6E74696E756500446973616251 -:1049D0006C6552756E6F75740050757267654D6FBA -:1049E000726500506175736564004C6F61642046A8 -:1049F000696C616D656E7400436F6E74696E756588 -:104A0000004C6F61642046696C616D656E74205462 -:104A100000496E736572742066696C616D656E74B1 -:104A200020616E6420707265737320627574746F98 -:104A30006E20286F72204D313038290A005265737C -:104A4000756D650057616974696E6720666F7220C5 -:104A50006865617475702E0A004C656176696E67D1 -:104A600020473236003F537065636966696564208C -:104A7000582C5920636F6F7264696E617465206F82 -:104A80007574206F6620626F756E64732E0A003F26 -:104A900028522965706561742076616C7565206E99 -:104AA0006F7420706C61757369626C653B206D7505 -:104AB0007374206265206174206C656173742031A9 -:104AC0002E0A003F2852296570656174206D757348 -:104AD0007420626520737065636966696564207718 -:104AE00068656E206E6F74207573696E6720616EE5 -:104AF000204C43442E0A003F537065636966696524 -:104B000064206E6F7A7A6C652074656D7065726171 -:104B100074757265206E6F7420706C617573696254 -:104B20006C652E0A003F5370656369666965642091 -:104B300066696C616D656E742073697A65206E6F4D -:104B40007420706C61757369626C652E0A003F5346 -:104B50007065636966696564207072696D65206C53 -:104B6000656E677468206E6F7420706C6175736910 -:104B7000626C652E0A003F5072696D65206C656E2F -:104B8000677468206D757374206265207370656347 -:104B90006966696564207768656E206E6F7420753C -:104BA00073696E6720616E204C43442E0A003F53A8 -:104BB0007065636966696564206E6F7A7A6C6520DA -:104BC00073697A65206E6F7420706C6175736962A9 -:104BD0006C652E0A003F52657472616374696F6E72 -:104BE000204D756C7469706C696572206D75737495 -:104BF000206265207370656369666965642E0A00CA -:104C00003F537065636966696564205265747261BB -:104C10006374696F6E204D756C7469706C69657230 -:104C2000206E6F7420706C61757369626C652E0AFA -:104C3000003F537065636966696564206C617965DE -:104C40007220686569676874206E6F7420706C618B -:104C5000757369626C652E0A0043292E0A003F5362 -:104C60007065636966696564206265642074656D5A -:104C70007065726174757265206E6F7420706C61FE -:104C8000757369626C65202834302D0047323620F8 -:104C90007374617274696E672E2E2E0A0070012C77 -:104CA0000190012701B0012201C0011D01F001188E -:104CB000011002130130020E01600209019002048A -:104CC00001C002FF000003FA004003F5008003F07A -:104CD00000D003EB002004E6007004E100E004DCF7 -:104CE000004005D700C005D2004006CD00D006C860 -:104CF000008007C3003008BE00F008B900C009B446 -:104D000000B00AAF00B00BAA00D00CA500000EA0A6 -:104D100000500F9B00C01096005012910000148CA0 -:104D200000C0158700B0178200B0197D00D01B7835 -:104D300000001E730040206E0090226900F0246481 -:104D40000040275F0090295A00E02B5500102E509C -:104D50000020304B0010324600E033410090353CDB -:104D6000001037370070383200A0392D00B03A28D3 -:104D700000A03B2300603C1E00103D1900903D1434 -:104D800000103E0F00703E0A00C03E0500003F00CC -:104D900000403FFBFF803FF6FFC03FF1FF202D208A -:104DA000496E76616C6964206578747275646572A9 -:104DB000206E756D62657220210A001000C9021014 -:104DC000012C014001220170011801B0010E01F017 -:104DD0000104015002FA00B002F0003003E600D0F6 -:104DE00003DC009004D2007005C800A006BE0000DD -:104DF00008B400B009AA00D00BA000600E960060B5 -:104E0000118C000015820020197800C01D6E00A0D2 -:104E1000226400B0275A00902C500000314600E078 -:104E2000343C0010383200903A2800603C1E00A04C -:104E30003D1400803E0A00203F00004531205448C8 -:104E400045524D414C2052554E4157415900424523 -:104E50004420544845524D414C2052554E415741F3 -:104E60005900546865726D616C2052756E6177618E -:104E700079004531204572723A204D415854454DD4 -:104E800050004572723A204D415854454D502042D1 -:104E90004544004D415854454D5020747269676730 -:104EA00065726564004531204572723A204D494E65 -:104EB00054454D50004572723A204D494E54454D6F -:104EC0005020424544004D494E54454D5020747287 -:104ED00069676765726564000A0A0020205A5F4DA1 -:104EE000494E3A002020595F4D494E3A0020205843 -:104EF0005F4D494E3A004D383420582059205A20F1 -:104F00004500202F002042403A0020403A00205720 -:104F10003A0020573A004F46460A00466164652031 -:104F20004865696768742000426564204C65766551 -:104F30006C696E6720004661696C656420746F203F -:104F4000656E61626C6520426564204C6576656CB7 -:104F5000696E670A00496E76616C6964206D6573DD -:104F6000682E0A0076616C69640A53746F72616717 -:104F70006520736C6F743A2000696E004D6573682C -:104F800020697320003F557365203020746F200026 -:104F90003F496E76616C69642073746F72616765F6 -:104FA00020736C6F742E0A003F454550524F4D20C0 -:104FB00073746F72616765206E6F742061766169CA -:104FC0006C61626C652E0A004D65736820706F69B4 -:104FD0006E742063616E6E6F7420626520726573FB -:104FE0006F6C7665640A004D34323120696E636FF0 -:104FF000727265637420706172616D657465722090 -:1050000075736167650A0046696E69736865642136 -:105010000A00206F662000205A00205900476F695F -:105020006E6720746F3A20580043570A0020646965 -:10503000723A0020616E676C653A00537461727455 -:10504000207261646975733A00506F736974696F97 -:105050006E696E67207468652070726F62652E2EAF -:105060002E0A003F4E756D626572206F66206C657A -:10507000677320696E206D6F76656D656E74206E46 -:105080006F7420706C61757369626C652028302DB7 -:105090003135292E0A003F2028582C5929206F75B8 -:1050A00074206F6620626F756E64732E0A003F5322 -:1050B000616D706C652073697A65206E6F74207005 -:1050C0006C61757369626C652028342D3530292E2A -:1050D0000A004D3438205A2D50726F626520526597 -:1050E000706561746162696C697479205465737468 -:1050F0000A003F2856296572626F7365206C6576D9 -:10510000656C20697320696D706C61757369626C80 -:10511000652028302D34292E0A005A5F53544F50F1 -:105120005F50494E005A5F535445505F50494E00FE -:105130005A5F4D494E5F50494E005A5F454E4142BD -:105140004C455F50494E005A5F4449525F50494EAA -:10515000005A5F43535F50494E00595F53544F50BC -:105160005F50494E00595F535445505F50494E00BF -:10517000595F4D494E5F50494E00595F454E41427F -:105180004C455F50494E00595F4449525F50494E6B -:1051900000595F43535F50494E00585F53544F507E -:1051A0005F50494E00585F535445505F50494E0080 -:1051B000585F4D494E5F50494E00585F454E414241 -:1051C0004C455F50494E00585F4449525F50494E2C -:1051D00000585F43535F50494E0053535F50494E50 -:1051E00000534552564F335F50494E005345525677 -:1051F0004F325F50494E00534552564F315F504930 -:105200004E00534552564F305F50494E0053445361 -:10521000530053445F4445544543545F50494E0046 -:1052200053434B5F50494E0052414D50535F4439F8 -:105230005F50494E0052414D50535F44385F5049D2 -:105240004E0052414D50535F4431305F50494E0043 -:105250004D4F53495F50494E004D4F534645545FA3 -:10526000445F50494E004D49534F5F50494E004DE9 -:105270004158363637355F53535F50494E004C45E1 -:10528000445F50494E004845415445525F424544B1 -:105290005F50494E004845415445525F305F504988 -:1052A0004E0046494C5F52554E4F55545F50494E43 -:1052B0000046414E315F50494E0046414E5F5049D5 -:1052C0004E0045315F535445505F50494E004531C3 -:1052D0005F454E41424C455F50494E0045315F4469 -:1052E00049525F50494E0045315F43535F50494E2C -:1052F0000045305F535445505F50494E0045305F84 -:10530000454E41424C455F50494E0045305F44494F -:10531000525F50494E0045305F43535F50494E0045 -:10532000455F4D5558325F50494E00455F4D5558C9 -:10533000315F50494E00455F4D5558305F50494EE2 -:10534000004156525F53535F50494E004156525FE1 -:1053500053434B5F50494E004156525F4D4F5349A6 -:105360005F50494E004156525F4D49534F5F50497F -:105370004E0054454D505F4245445F50494E0054E5 -:10538000454D505F315F50494E0054454D505F30A0 -:105390005F50494E0046494C57494454485F504974 -:1053A0004E00545844005258440020202000202031 -:1053B00020416E616C6F6720696E203D2025356C41 -:1053C00064003C756E757365642F756E6B6E6F77D8 -:1053D0006E3E0020284125326429202000253364B8 -:1053E0002000257350494E3A20004F757470757433 -:1053F000203D2000496E70757420203D2000416ED4 -:10540000616C6F6720696E203D2025356C640070EB -:10541000726F7465637465642000202841253264CE -:10542000292020002533642000257350494E3A205E -:1054300000A6530001A253010195533B008A534338 -:10544000007F534500725344006553320158533373 -:10545000014C53340141533501365328012B532A53 -:105460000120532C0116532A010B531C01FD521825 -:1054700001F1521A01E7522C01DC522201CE521ED8 -:1054800001C2522401BA520901B1520701A25202CB -:105490000195520A01865208017E520D016F524257 -:1054A0000166523201595207015052330142520AE9 -:1054B000013552080128520901205234011252319B -:1054C000010D52350102520B01F7510601EC510555 -:1054D00001E1510401DA513501D1513501C751378C -:1054E00001BA512601B0510301A55136019A510369 -:1054F000019151310187513D017A51380170510EAE -:105500000165513C015A510E01515128014751305A -:10551000013A513E013051120125512E011A51120A -:1055200001446F6E652E0A00534552564F206E6F30 -:1055300074207365742075702E0A004D3433205723 -:105540006169742043616C6C656400436F6E7469BB -:105550006E7565004D343320576169742043616C6A -:105560006C6564005761746368696E672070696E6A -:10557000730A0064697300656E0061626C65640A99 -:1055800000656E6473746F70206D6F6E69746F72F6 -:105590002000204500205A00205900204D3932209B -:1055A0005800205A00205900580020204D61783AB8 -:1055B0002000205A00205900580020204D696E3AE2 -:1055C0002000536F667420656E6473746F70733A55 -:1055D000200020496E76616C69642065787472756C -:1055E00064657220004469666665723A20004672FE -:1055F0006F6D5374703A00537465707065723A0041 -:10560000556E4C6576656C3A004C6576656C6564E4 -:105610003A005261773A20202020000A4C6F6769D7 -:1056200063616C3A004361703A0050726F626520AA -:105630005A204F66667365743A200050726F626537 -:105640002059204F66667365743A200050726F626D -:10565000652058204F66667365743A20003F5920D4 -:105660006F7574206F662072616E67652028302D1B -:1056700033313020746F20333130290A003F5820F5 -:105680006F7574206F662072616E67652028302DFB -:1056900033313520746F20333135290A003F5A20C9 -:1056A0006F7574206F662072616E676520282D32D9 -:1056B0003020746F203230290A00220A00656E7192 -:1056C00075657565696E6720220023206F662073FB -:1056D000616D706C65733A200050726F62696E671D -:1056E00020506F696E742025692F2569002E0A0AE3 -:1056F000002F000A50726F62696E67206D657368D3 -:1057000020706F696E742000496E76616C69642048 -:105710006D617020747970652E0A0A003F28462951 -:105720006164652068656967687420666F722042ED -:105730006564204C6576656C20436F727265637496 -:10574000696F6E206E6F7420706C61757369626C26 -:10575000652E0A0A003F43616E27742061637469F5 -:105760007661746520616E64206465616374697636 -:10577000617465206174207468652073616D6520B3 -:1057800074696D652E0A0A00426F746820582026DD -:105790002059206C6F636174696F6E73206D75732F -:1057A00074206265207370656369666965642E0A9A -:1057B0000A003F496E76616C6964206772696420F3 -:1057C00073697A6520284A29207370656369666960 -:1057D00065642028322D39292E0A0A003F285029D5 -:1057E000686173652076616C756520696E76616CA1 -:1057F00069642028302D36292E0A0A003F285629B0 -:105800006572626F7365206C6576656C20697320C4 -:10581000696D706C61757369626C652028302D3418 -:10582000292E0A0A003F2852296570657469746937 -:105830006F6E20636F756E7420696E76616C69643B -:105840002028312B292E0A0A000500000601000439 -:105850000006010006050000000600040058585329 -:10586000584E5849585D0A00436F756C64206E6F3E -:105870007420636F6D706C657465204C5346210015 -:10588000436F727265637465645F5A3D0054696C5E -:1058900074696E6720506F696E742025692F2569C1 -:1058A000000A0A002F0054696C74696E67206D65E8 -:1058B000736820706F696E7420003F4572726F725A -:1058C0002070726F62696E6720706F696E742E202F -:1058D00041626F7274696E67206F7065726174697E -:1058E0006F6E2E0A00436F727265637465645F5A4F -:1058F0003D0054696C74696E6720506F696E742046 -:10590000332F330054696C74696E67206D6573685A -:105910002028332F33290A00436F72726563746540 -:10592000645F5A3D0054696C74696E6720506F69FA -:105930006E7420322F330054696C74696E67206D69 -:105940006573682028322F33290A00436F7272650D -:10595000637465645F5A3D0054696C74696E6720B6 -:10596000506F696E7420312F330054696C74696E06 -:1059700067206D6573682028312F33290A002E0AAD -:10598000006F70656E206661696C65642C204669E5 -:105990006C653A2000706F7765726F6666004B49E0 -:1059A0004C4C45442E20005072696E74657220681C -:1059B000616C7465642E206B696C6C2829206361AE -:1059C0006C6C6564210A0050574D3A2020253464E0 -:1059D0000050574D3A20202534640050574D3A204E -:1059E000202534640050574D3A202025346400505F -:1059F000574D3A20202534640050574D3A20202539 -:105A000034640050574D3A20202534640050574DDF -:105A10003A20202534640050574D3A202025346424 -:105A20000050574D3A20202534640050574D3A20FD -:105A3000202534640050574D3A202025346400500E -:105A4000574D3A20202534640050574D3A202025E8 -:105A500034640050574D3A20202534640050574D8F -:105A60003A202025346400433A2000423A20004185 -:105A70003A200020202020434F4D002020206E6F30 -:105A80006E2D7374616E646172642050574D206D89 -:105A90006F646500202020636F6D706172652069FE -:105AA0006E7465727275707420656E61626C656487 -:105AB000002020206F766572666C6F7720696E74A7 -:105AC00065727275707420656E61626C6564003A0F -:105AD00020002020202054494D534B00423A200002 -:105AE000202020205443435200413A20002020200F -:105AF0002054434352002020202043533A200020CA -:105B000020202057474D3A200050574D3A2020255D -:105B100034640050574D3A20202534640047004833 -:105B200000000088008A008C00B300B400000098D8 -:105B3000009A009C00A800AA00AC0028012A012CB1 -:105B4000012020202054494D455200440045006E5C -:105B500000800081006F00B000B1007000900091E3 -:105B6000007100A000A1007200200121017300203B -:105B7000697320616C736F207469656420746F2091 -:105B8000746869732070696E0054494D4552314301 -:105B9000000A202E002020002020506F72743A202E -:105BA00000544D3344203130532050726F205265E1 -:105BB0006164792E005072696E74696E672E2E2EA4 -:105BC000005072696E742050617573656400636182 -:105BD0006E63656C005072696E742041626F7274FE -:105BE00065640055492041626F7274007265737577 -:105BF0006D65004D32340000809D4300009B4300E2 -:105C000000C8430000000000000000000000000089 -:105C1000002100240027002A002D0030003300015D -:105C2000010000040107010A0100002200250028EC -:105C3000002B002E00310034000201000005010895 -:105C4000010B01000020002300260029002C002F5A -:105C500000320000010000030106010901050505ED -:105C600005070508080808020202020A0A080804D3 -:105C70000404040101010101010101030303030301 -:105C8000030303040707070C0C0C0C0C0C0C0C0290 -:105C900002020206060606060606060B0B0B0B0B97 -:105CA0000B0B0B0102102020080810204010204090 -:105CB00080020102010804020101020408102040D0 -:105CC00080804020100804020180040201804020EE -:105CD0001008040201080402010102040810204017 -:105CE00080010204081020408000000A0B02090C09 -:105CF0000D0E080703040100000000000000000072 -:105D00000000000000000000000000000000000093 -:105D10000000000000121110000000000000000050 -:105D2000000000000000000000000000000000650E -:105D300063686F3A004572726F723A00204A002021 -:105D4000204D343231204900202047323920493952 -:105D5000390A006163746976650A00696E00002083 -:105D600053797374656D2076312E30312000E9014E -:105D70008D0111241FBECFEFD1E2DEBFCDBF00E009 -:105D80000CBF18E0A0E0B2E0EAECF0EB02E00BBFE1 -:105D900002C007900D92A635B107D9F72DE1A6E50F -:105DA000B8E001C01D92AB30B207E1F71EE2C8EBCC -:105DB000DEE200E006C021970109802FFE010F946A -:105DC0003B53C73BD10780E00807A9F70F945E3D1E -:105DD0000D9453580C9400002F923F924F925F9273 -:105DE0006F927F928F929F92AF92BF92CF92DF92EB -:105DF000EF92FF920F931F93CF93DF93CDB7DEB750 -:105E0000E3970FB6F894DEBF0FBECDBF80910901B6 -:105E1000817091E0982720917508921781F19093F5 -:105E20007508811116C00E94EB7D8091E81683FFF2 -:105E300009C089E893E00E94806261E080E00F94ED -:105E4000E9361DC060E081E00F94E93682EA93E014 -:105E500014C00091E81603FB002700F90E947A7D28 -:105E60008091E816877F8093E816002341F060E078 -:105E700081E00F94E9368BEB93E00E948062809181 -:105E8000D31381FF11C18091E8149091E914891B0B -:105E90008F70843008F008C18CE0E2EFFCE0DE0196 -:105EA000119601900D928A95E1F78091050D9091E0 -:105EB000060DA091070DB091080D88A799A7AAA774 -:105EC000BBA79C01AD016091F20C7091F30C809125 -:105ED000F40C9091F50C0F9443536B017C0160938B -:105EE000F20C7093F30C8093F40C9093F50C80916A -:105EF000090D90910A0DA0910B0DB0910C0D8CA77E -:105F00009DA7AEA7BFA79C01AD016091F60C709153 -:105F1000F70C8091F80C9091F90C0F94435368A3FF -:105F200079A38AA39BA36093F60C7093F70C8093DC -:105F3000F80C9093F90C80910D0D90910E0DA0919D -:105F40000F0DB091100D88AB99ABAAABBBAB9C0108 -:105F5000AD016091FA0C7091FB0C8091FC0C90915A -:105F6000FD0C0F9443534B015C016093FA0C70934A -:105F7000FB0C8093FC0C9093FD0CA7019601C701CC -:105F8000B6010F94C04C2B013C0128A139A14AA1B4 -:105F90005BA1CA01B9010F94C04C9B01AC01C301C4 -:105FA000B2010F9444532B013C01A5019401C5019A -:105FB000B4010F94C04C9B01AC01C301B2010F941A -:105FC00044530F9442569B01AC0160E070E080E8BE -:105FD0009FE30F943E542091280230912902409172 -:105FE0002A0250912B020F94C04C2DEC3CEC4CEC4F -:105FF0005DE30F94C04C20E030E040E85EE30F9496 -:10600000C04C2B013C0120E030E040E85FE30F94FE -:106010005A4C87FFF1C3A3019201C701B6010F9447 -:10602000C04C28A539A54AA55BA50F94445360939D -:10603000F20C7093F30C8093F40C9093F50CA30185 -:10604000920168A179A18AA19BA10F94C04C2CA5B3 -:106050003DA54EA55FA50F9444536093F60C709335 -:10606000F70C8093F80C9093F90CA3019201C501F1 -:10607000B4010F94C04C28A939A94AA95BA90F946F -:1060800044536093FA0C7093FB0C8093FC0C909338 -:10609000FD0C0E94C1888CE0FE013196A2EFBCE0AD -:1060A00001900D928A95E1F78091740881110C940A -:1060B000D34A80917208909173089C012F5F3F4FE3 -:1060C0003093730820937208883E934010F40C9428 -:1060D000D34A81E08093740810927308109272087A -:1060E00080919A0B882309F498C30E94969381119A -:1060F00094C3809171088F5F8093710880917108BB -:10610000853620F01092710810929A0BE0919A0B4C -:106110008E2FEE0F990BAA0BBB0BFC013197E730CA -:10612000F10508F0A0C08827EE58FF4F8F4F0D945F -:106130003B530E948E93882309F495C081E080939D -:1061400027028EEC93E00E94806280E190E09093C1 -:106150006D1580936C1585E08093601502E80093BF -:10616000631584E190E1A0E0B0E080936415909322 -:106170006515A0936615B09367150F942E2581E0E1 -:106180009AE590936D1580936C1586E390E090935B -:106190006F1580936E1587E08093601500936315EB -:1061A00084E890E0A0E0B0E08093641590936515DA -:1061B000A0936615B09367150F942E2552C00E94C8 -:1061C0008E93882309F44FC048C08CED93E00E9461 -:1061D000806281E09AE590936D1580936C1580E460 -:1061E00090E090936F1580936E1507E00093601513 -:1061F00082E88093631584E890E0A0E0B0E08093AB -:10620000641590936515A0936615B09367150F9468 -:106210002E2500939A0B27C080917008882319F1CE -:106220000E948E938823F9F00E94969381111BC0DF -:10623000F7C20E948E938823B1F00E949693811139 -:1062400012C01CC30E94969381110DC042E060E011 -:1062500070E0CB010E94AC9304C00E949693811120 -:1062600002C010929A0B80912702882309F4ACC2D5 -:106270008091960B9091970B892B09F08FC180919B -:106280006D0890916E08892B09F01EC184E096E09C -:1062900090936D1580936C1580EA90E890936F153C -:1062A00080936E1517E01093601502E80093631554 -:1062B00080EA90E0A0E0B0E08093641590936515CB -:1062C000A0936615B09367150F942E258091060252 -:1062D00090910702A0910802B09109020097A105D0 -:1062E000B10511F510926D1510926C1515E0109313 -:1062F0006015009363158AE890E1A0E0B0E0809318 -:10630000641590936515A0936615B09367150F9467 -:106310002E2589E090E090936D1580936C15109375 -:1063200060150093631540C00196A11DB11DF5E0F5 -:10633000B695A79597958795FA95D1F70197A109F5 -:10634000B109009731E0A307B10558F0B0936D157E -:10635000A0936C1590936F1580936E151093601534 -:1063600007C090936D1580936C1585E08093601540 -:1063700012E8109363158AE890E1A0E0B0E0809302 -:10638000641590936515A0936615B09367150F94E7 -:106390002E2588E090E090936D1580936C1585E034 -:1063A00080936015109363158CE890E1A0E0B0E055 -:1063B0008093641590936515A0936615B093671547 -:1063C0000F942E258091060290910702A091080259 -:1063D000B09109020097E1E0AE07B10550F0B0932B -:1063E0006D15A0936C1590936F1580936E1587E0D3 -:1063F00005C090936D1580936C1585E080936015B2 -:1064000082E88093631588E890E1A0E0B0E0809393 -:10641000641590936515A0936615B09367150F9456 -:106420002E258091060290910702A0910802B0915A -:106430000902BA2FA92F982F88270097F1E0AF07FC -:10644000B10550F0B0936D15A0936C1590936F1536 -:1064500080936E1587E005C090936D1580936C1541 -:1064600085E08093601512E81093631581EA90E04F -:10647000A0E0B0E08093641590936515A093661535 -:10648000B09367150F942E2580918C0B882319F0FB -:1064900082E090E002C083E090E090936D158093DD -:1064A0006C1585E0809360151093631585E490E189 -:1064B000A0E0B0E08093641590936515A0936615F5 -:1064C000B09367150F942E2500916D0810916E08FA -:1064D000053611057CF410936D1500936C1585E05D -:1064E0008093601582E88093631580E090E1A0E0DE -:1064F000B0E011C0C8018456910990936D15809346 -:106500006C1585E08093601582E88093631581E0C7 -:1065100090E1A0E0B0E08093641590936515A0939E -:106520006615B09367150F942E250F5F1F4F1093BC -:106530006E0800936D08093C110564F18AEE93E042 -:106540000E94806281E090E09093970B8093960B7D -:106550008093270281E09AE590936D1580936C15E6 -:106560008DE290E090936F1580936E1587E0809395 -:10657000601582E88093631584E890E0A0E0B0E0C5 -:106580008093641590936515A0936615B093671575 -:106590000F942E25109274080C94D34A8091E8141D -:1065A0009091E914891B8F7009F092C10E94379D68 -:1065B00081118EC18091E81682FD8AC112C384E6E2 -:1065C00090E090936D1580936C1510936015009377 -:1065D00063158EE090E1A0E0B0E0809364159093A5 -:1065E0006515A0936615B09367150F942E25C60107 -:1065F00082539048880F991F90936D1580936C1566 -:1066000010936015009363158FE090E1A0E0B0E077 -:106610008093641590936515A0936615B0936715E4 -:106620000F942E250F947E3190E090936D158093FA -:106630006C1585E08093601582E88093631586E190 -:1066400090E1A0E0B0E08093641590936515A0936D -:106650006615B09367150F942E2520E030E048ECC6 -:1066600052E46091B80B7091B90B8091BA0B909184 -:10667000BB0B0F94C04C0F94B05470936D15609386 -:106680006C1515E01093601502E80093631586E21F -:1066900090E1A0E0B0E08093641590936515A0931D -:1066A0006615B09367150F942E256091440D709177 -:1066B000450D8091460D9091470D0F94B054709305 -:1066C0006D1560936C15109360150093631586E348 -:1066D00090E1A0E0B0E08093641590936515A093DD -:1066E0006615B09367150F942E256091A9097091D6 -:1066F000AA098091AB099091AC090F94B0547093A2 -:106700006D1560936C1510936015009363158CE301 -:1067100090E1A0E0B0E08093641590936515A0939C -:106720006615B09367150F942E258091480D9091B2 -:10673000490D90936D1580936C151093601500931F -:10674000631584E390E1A0E0B0E08093641590933A -:106750006515A0936615B09367150F942E2580914B -:10676000AD099091AE0990936D1580936C151093BF -:106770006015009363158AE390E1A0E0B0E0809398 -:10678000641590936515A0936615B09367150F94E3 -:106790002E250091690801113CC180916B0881117F -:1067A00038C18091700881118BC18091141590912E -:1067B0001515A0911615B09117158C3420E192078C -:1067C000A105B10509F0A1C130EBC32E35E1D32EEF -:1067D0000AE184ED93E10E94C37BE0905E08F090B3 -:1067E0005F08181619060CF085C38AE1E816F10453 -:1067F00014F40C9494467EC38CE0FE013196A2EF13 -:10680000BCE001900D928A95E1F70E94C1888091C9 -:10681000D3138D7F8093D31347CC109271086ECC25 -:106820008CE995E00E94806280916F0890E0A0E082 -:10683000B0E0895B9F4FAE4FB54A21E03AE5309317 -:106840006D1520936C1590936F1580936E1587E0EE -:106850008093601582E88093631584E890E0A0E05F -:10686000B0E08093641590936515A0936615B0937E -:1068700067150F942E2510927008F3CC81E0809359 -:10688000270210929A0B8AEA95E00E94806281E0CA -:106890009AE590936D1580936C158EE490E090933B -:1068A0006F1580936E1587E08093601582E8809362 -:1068B000631584E890E0A0E0B0E0809364159093C5 -:1068C0006515A0936615B09367150F942E25CBCC54 -:1068D0008CE090E090936D1580936C1505E000932B -:1068E000601582E88093631584E190E1A0E0B0E058 -:1068F0008093641590936515A0936615B093671502 -:106900000F942E250F94552E20E13EE040E050E0FC -:106910000F94B0522115310591E04907510560F0FF -:1069200050936D1540936C1530936F1520936E1531 -:1069300087E08093601506C030936D1520936C1529 -:106940000093601502E80093631580E190E1A0E0F8 -:10695000B0E08093641590936515A0936615B0938D -:1069600067150F942E250F94552E20E13EE040E050 -:1069700050E00F94B0522CE330E040E050E00F9430 -:10698000B05230936D1520936C1515E0109360157F -:106990000093631582E190E1A0E0B0E0809364157C -:1069A00090936515A0936615B09367150F942E25E7 -:1069B0000F947E31882391F00F947E318F5F809306 -:1069C0006C08C82ED12C833308F0F9CDC601880F8E -:1069D000991F90936D1580936C1504C010926D15DE -:1069E00010926C1510936015009363158EE090E182 -:1069F000A0E0B0E08093641590936515A0936615B0 -:106A0000B09367150F942E2510926D1510926C158A -:106A1000F7CD20E030E048EC52E46091440D7091F5 -:106A2000450D8091460D9091470D0F94C04C6B0120 -:106A30007C016091480D7091490D072E000C880B68 -:106A4000990B0F94614C9B01AC01C701B6010F94E7 -:106A50003E540F94B7546436710510F064E670E04C -:106A600070936D1560936C1545E0A42EA09260158F -:106A700052E8B52EB092631584E290E1A0E0B0E058 -:106A80008093641590936515A0936615B093671570 -:106A90000F942E25C090440DD090450DE090460DEA -:106AA000F090470D20E030E040E253E4C701B6012A -:106AB0000F94A45518160CF03AC1011188C137C1C2 -:106AC0008091600801E0080F0093600890E09093C7 -:106AD0006D1580936C1585E08093601582E8809336 -:106AE000631582E490E1A0E0B0E080936415909398 -:106AF0006515A0936615B09367150F942E250A307F -:106B000008F453CE1092600850CE8A349041A1050B -:106B1000B10509F459CE80E00E948A9420E030E06B -:106B200040E251E40F94C04C0F94B05470936D1533 -:106B300060936C1515E01093601502E800936315DF -:106B400088E490E1A0E0B0E080936415909365152F -:106B5000A0936615B09367150F942E2581E00E94CF -:106B60008A9420E030E040E251E40F94C04C0F944E -:106B7000B05470936D1560936C151093601500936D -:106B800063158AE490E1A0E0B0E0809364159093EF -:106B90006515A0936615B09367150F942E2582E0B6 -:106BA0000E948A9420E030E040E251E40F94C04C0F -:106BB0000F94B05470936D1560936C15109360151D -:106BC000009363158CE490E1A0E0B0E0809364153D -:106BD00090936515A0936615B09367150F942E25B5 -:106BE000F3CD8091A9099091AA09A091AB09B09128 -:106BF000AC0988A399A3AAA3BBA36091AD09709126 -:106C0000AE09072E000C880B990B0F94614C6B0199 -:106C10007C0120E030E040E050E40F94435328A191 -:106C200039A14AA15BA10F94A455181604F1409014 -:106C3000440D5090450D6090460D7090470D609149 -:106C4000480D7091490D072E000C880B990B0F947D -:106C5000614C4B015C0120E030E040E251E40F94D4 -:106C60004353A30192010F94A455181604F58DE027 -:106C700090E090936D1580936C1585E0809360157E -:106C800082E88093631584E190E1A0E0B0E0809316 -:106C9000641590936515A0936615B09367150F94CE -:106CA0002E258091990B81113FC081E03DC020E0ED -:106CB00030E040E050E4C701B6010F94445328A1EE -:106CC00039A14AA15BA10F945A4C87FD0EC020E068 -:106CD00030E040E251E4C501B4010F944453A301F4 -:106CE00092010F945A4C87FFB8CC84E190E09093C6 -:106CF0006D1580936C1585E08093601582E8809314 -:106D0000631584E190E1A0E0B0E080936415909376 -:106D10006515A0936615B09367150F942E25809185 -:106D2000990B811101C082E08093990B96CC609100 -:106D3000480D7091490D072E000C880B990B0F948C -:106D4000614C9B01AC01C701B6010F94A455609141 -:106D50006B0887FDAEC0662309F423CD062E000C18 -:106D6000770B81E098E00F94CA3C10926B08109268 -:106D70006E0810926D0884E090E090936D158093FA -:106D80006C1585E08093601502E8009363158EE82A -:106D900090E1A0E0B0E08093641590936515A09316 -:106DA0006615B09367150F942E2581E09AE59093B0 -:106DB0006D1580936C1583E590E090936F1580932B -:106DC0006E1587E0809360150093631563C0109281 -:106DD000690820E030E040E251E460916108709180 -:106DE000620880916308909164080F94C04C0F94DE -:106DF000B05470936D1560936C15A0926015B092AD -:106E0000631584E590E1A0E0B0E080936415909371 -:106E10006515A0936615B09367150F942E2520E095 -:106E200030E040E251E4609165087091660880911D -:106E30006708909168080F94C04C0F94B0547093F9 -:106E40006D1560936C15A0926015B092631588E57E -:106E500090E1A0E0B0E08093641590936515A09355 -:106E60006615B09367150F942E2588EB95E00E9468 -:106E7000806281E09AE590936D1580936C1581E4B2 -:106E800090E090936F1580936E1587E08093601566 -:106E9000B092631584E890E0A0E0B0E080936415C0 -:106EA00090936515A0936615B09367150F942E25E2 -:106EB00078CC662309F475CC80916D0890916E08AA -:106EC0009C012F5F3F4F30936E0820936D0865E063 -:106ED00070E00F94275390936D1580936C1585E0A7 -:106EE0008093601582E8809363158EE890E1A0E0BE -:106EF000B0E0D4CF1E141F040CF04CCB90911115B0 -:106F00008091B015981322C0909112158091B115FF -:106F100098131CC023E0E216F104C4F09091B2155E -:106F2000909310158091B315809313159330D1F47D -:106F3000982F9D7F9038B1F49091B4159F3409F04B -:106F400059C09091B5159B3409F054C08AE1E0EB2B -:106F5000F5E1DF011D928A95E9F710925F08109222 -:106F60005E0818CB833809F045C08091B415909124 -:106F7000B515982789279827A0E0B0E080931415CD -:106F800090931515A0931615B0931715C090B615CC -:106F9000D12CE12CF12CC0921815D0921915E09249 -:106FA0001A15F0921B15A7EBB5E140E050E0BA01CD -:106FB0004C155D056E057F0508F04AC04A015B016E -:106FC000B694A79497948794F4013696EE0FFF1F1A -:106FD000E05FFA4E8C9190E0982F882711962C91C3 -:106FE0001197822B918380834E5F5F4F6F4F7F4F4E -:106FF0001296DECF813861F58091B41590E0A0E063 -:10700000B0E08093141590931515A0931615B093C6 -:1070100017158091B515482F50E060E070E040935F -:1070200018155093191560931A1570931B15A6EB3C -:10703000B5E1ECE1F5E190E020E030E02817390718 -:1070400039F04D9150E0419351932F5F3F4FF6CF70 -:107050008AE1E0EBF5E1DF011D928A95E9F71092F4 -:107060005F0810925E088BEF93E00E94806260914F -:107070009A0B161664F4062E000C770B86EF97E039 -:107080000F94CA3C8AE00E9462610C94854660912C -:107090001C1570911D1584EE97E00F94AC3C8AE0AE -:1070A0000E9462614091141550911515609116155A -:1070B0007091171585ED97E00F949B3C8AE00E9434 -:1070C00062618091141590911515A0911615B091DB -:1070D0001715EBE6F2E000E010E04191519161916B -:1070E00071914115510561057105D1F14817590795 -:1070F0006A077B0791F5AC01BD0148505041610919 -:107100007109453051056105710568F1AC01BD019A -:10711000477F423350416105710541F18433F0E10D -:107120009F07A105B10511F1AC01BD0146545041C5 -:10713000610971094730510561057105D0F0AC0155 -:10714000BD01445550416109710945305105610542 -:10715000710588F402E110E00EC00F5F1F4FBDCF34 -:107160000FEF1FEF08C003E010E005C008E010E0DB -:1071700002C00FE010E08A509042A109B109833D9E -:107180009105A105B10530F00F3F2FEF120721F453 -:107190000C94854609E110E0FCE1CF2EF4E0DF2EEF -:1071A000F60181916F01882319F00E946261F8CF86 -:1071B0006AE070E0C8010E94F2610E947A6289EC84 -:1071C00097E00E9480620A31110510F00C9481460C -:1071D000F8018827E758FF4F8F4F0D943B5380915C -:1071E0001C1590911D1581309105E1F41092270234 -:1071F0008FEF8093E21960E080E00F94E9360AE2B5 -:1072000014E0D8018D918D01882319F00E946261EC -:10721000F8CF81E09AE590936D1580936C158EE21E -:1072200090E0AFC08230910509F0C5C081E0809345 -:1072300027020F94EF3185EC97E09093E309809358 -:10724000E2098BE090E090936D1580936C1505E05A -:107250000093601512E81093631580E092E1A0E0BE -:10726000B0E08093641590936515A0936615B09374 -:1072700067150F942E2510926D1510926C150093C2 -:107280006015109363158EE090E1A0E0B0E080936C -:10729000641590936515A0936615B09367150F94C8 -:1072A0002E2510926D1510926C1500936015109399 -:1072B00063158FE090E1A0E0B0E0809364159093B7 -:1072C0006515A0936615B09367150F942E2510923F -:1072D0006D1510926C15009360151093631586E17F -:1072E00090E1A0E0B0E08093641590936515A093C1 -:1072F0006615B09367150F942E2562E070E080E06C -:1073000090E00E949E9410926D1510926C1500935F -:1073100060151093631580E190E1A0E0B0E08093E8 -:10732000641590936515A0936615B09367150F9437 -:107330002E2510926D1510926C1500936015109308 -:10734000631582E190E1A0E0B0E080936415909332 -:107350006515A0936615B09367150F942E2504E567 -:1073600014E0F80181918F01882319F00E94626175 -:10737000F8CF81E09AE590936D1580936C158DE2BE -:1073800090E090936F1580936E1587E08093601561 -:1073900082E88093631584E890E0A0E0B0E08093F9 -:1073A000641590936515A0936615B09367150F94B7 -:1073B0002E250C9485468330910549F581E0809314 -:1073C00027020EE714E0D8018D918D018823C9F0C2 -:1073D0000E946261F8CF8091141590911515A091CB -:1073E0001615B09117158233F0E19F07A105B1057D -:1073F00009F05BC480911C1590911D15009709F050 -:1074000023C480910502882309F40DC31DC304978A -:1074100011F00C948546109227020C9485468091B9 -:107420001C1590911D1581309105D1F41092270201 -:1074300080910502882319F082E090E002C083E089 -:1074400090E090936D1580936C1585E080936015A6 -:1074500082E8809363158EE190E1A0E0B0E09FCFD9 -:107460008230910519F508EA14E0F80181918F0145 -:10747000882319F00E946261F8CF81E0809327028F -:107480008091990B843049F081E09AE590936D15D5 -:1074900080936C1585E390E074CF81E09AE590933A -:1074A0006D1580936C1586E390E06BCF833091056A -:1074B00009F04CC020910502222319F190936D151B -:1074C00080936C1585E08093601582E88093631546 -:1074D0008EE190E1A0E0B0E0809364159093651593 -:1074E000A0936615B09367150F942E2540E060E0D9 -:1074F00070E088EC92E40F947332109205020C94C1 -:10750000854682E090E090936D1580936C1585E040 -:107510008093601582E8809363158EE190E1A0E08E -:10752000B0E08093641590936515A0936615B093B1 -:1075300067150F942E2540E060E070E0CB010F94BA -:10754000733281E0809305020C948546049711F014 -:107550000C9485468091BC098823F1F082E090E08C -:1075600090936D1580936C1585E08093601582E88B -:10757000809363158FE190E1A0E0B0E08093641503 -:1075800090936515A0936615B09367150F942E25FB -:107590001092BC090C94854683E090E090936D15A1 -:1075A00080936C1585E08093601582E88093631565 -:1075B0008FE190E1A0E0B0E08093641590936515B1 -:1075C000A0936615B09367150F942E2581E08093E4 -:1075D000BC090C94854660911C1570911D1580E0C6 -:1075E00090E00F945F4C6B017C0120E030E04AEFAB -:1075F00053E40F945A4C87FF11C020E030E040E282 -:1076000051E4C701B6010F94A45518166CF0C12CB3 -:10761000D12C70E2E72E71E4F72E06C0C12CD12CDC -:10762000EAEFEE2EE3E4FE2EC701B6010F94B0544C -:1076300070934602609345020C9485468091141520 -:1076400090911515A0911615B09117158830F0E19D -:107650009F07A105B10509F050C081E09AE590931C -:107660006D1580936C158DE290E090936F1580936B -:107670006E1587E08093601512E81093631584E817 -:1076800090E0A0E0B0E08093641590936515A0931E -:107690006615B09367150F942E2510926D151092F4 -:1076A0006C1505E0009360151093631580E190E17F -:1076B000A0E0B0E08093641590936515A0936615E3 -:1076C000B09367150F942E2510926D1510926C15BE -:1076D000009360151093631582E190E1A0E0B0E0A3 -:1076E0008093641590936515A0936615B093671504 -:1076F0000F942E250F94EF318FC08A3020E192072E -:10770000A105B105E1F580911C1590911D15813FF2 -:10771000910511F00C94854681E09AE590936D15E2 -:1077200080936C1586E390E090936F1580936E15AF -:1077300087E08093601582E88093631584E890E089 -:10774000A0E0B0E08093641590936515A093661552 -:10775000B09367150F942E254AE256E061E376E078 -:1077600084E00E942FDE60E08DE196E00F94B0315E -:1077700083E196E09093E3098093E2094DC08C3059 -:107780009041A105B10509F047C080911C15909169 -:107790001D15019709F040C00F9416471092990BE0 -:1077A00081E0809327028CE090E090936D158093A8 -:1077B0006C1585E08093601512E81093631584E1E1 -:1077C00090E1A0E0B0E08093641590936515A093DC -:1077D0006615B09367150F942E2581E09AE5909376 -:1077E0006D1580936C1585E390E090936F158093F1 -:1077F0006E1587E0809360151093631584E890E020 -:10780000A0E0B0E08093641590936515A093661591 -:10781000B09367150F942E2580911415909115152E -:10782000A0911615B09117158C309041A105B105A6 -:1078300011F00C94854680911C1590911D150297AE -:1078400011F00C9485460F94164781E080936B08E5 -:107850001092990B8093270210926E0810926D0877 -:1078600081E09AE590936D1580936C1582E590E028 -:1078700088CD20911C1530911D15B90180E090E054 -:1078800037FF09C00F945F4C20E030E040E857E438 -:107890000F94435302C00F945F4C20E030E048EC5B -:1078A00052E40F943E546B017C0120E030E040EA4A -:1078B00051EC0F94A45587FD31C020E030E040EA40 -:1078C00051E4C701B6010F945A4C18163CF1A701B8 -:1078D00096016091B80B7091B90B8091BA0B9091A1 -:1078E000BB0B0F94435320E030E048EC53E40F947B -:1078F000C04C90580F94B054CB010F942328C092E1 -:10790000B80BD092B90BE092BA0BF092BB0B80ECA3 -:1079100097E09093E3098093E20928C020E030E0EB -:1079200048EC52E46091B80B7091B90B8091BA0B9E -:107930009091BB0B0F94C04C0F94B05470936D1585 -:1079400060936C1585E08093601582E880936315E1 -:1079500086E290E1A0E0B0E0809364159093651515 -:10796000A0936615B09367150F942E256091B80B00 -:107970007091B90B8091BA0B9091BB0B8E010B5E8D -:107980001F4F23E041E00F9432479F938F9382EB88 -:1079900097E09F938F93045111091F930F930F94B6 -:1079A000F24BC8010E947C950F900F900F900F90A2 -:1079B0000F900F900C94854680911C1590911D1589 -:1079C000009729F481E0809327020C94854681304A -:1079D0009105B1F480910502882349F081E09AE590 -:1079E00090936D1580936C158CE390E0CACC81E088 -:1079F0009AE590936D1580936C158BE390E0C1CC64 -:107A000082309105F9F28330910539F580910502B4 -:107A100040E0882389F060E070E088EC92E40F9405 -:107A200073321092050281E09AE590936D15809370 -:107A30006C1589E390E0A5CC60E070E0CB010F9479 -:107A4000733281E08093050281E09AE590936D1591 -:107A500080936C158AE390E094CC8530910559F5BC -:107A600040E060E070E084E393E40E94219346E00C -:107A700060E070E08CE892E40E94219384EB90E057 -:107A800090936D1580936C1505E00093601512E8D6 -:107A90001093631584E390E1A0E0B0E08093641557 -:107AA00090936515A0936615B09367150F942E25D6 -:107AB00086E490E02DC08630910599F540E060E0C5 -:107AC00070E080E793E40E94219346E060E070E07C -:107AD0008CED92E40E94219380EF90E090936D15DD -:107AE00080936C1505E00093601512E81093631500 -:107AF00084E390E1A0E0B0E0809364159093651575 -:107B0000A0936615B09367150F942E258EE690E02E -:107B100090936D1580936C15009360151093631509 -:107B2000BFC0813F910511F00C94854640E060E0B4 -:107B300070E0CB010F94733241E060E070E0CB0164 -:107B40000F9473321092050240E060E070E0CB01C8 -:107B50000E94219346E060E070E0CB010E942193F7 -:107B600010926D1510926C1505E00093601512E8E7 -:107B70001093631584E390E1A0E0B0E08093641576 -:107B800090936515A0936615B09367150F942E25F5 -:107B900061E070E080E090E00E949E9410926D158C -:107BA00010926C1500936015109363158AE390E1B1 -:107BB000A0E0B0E08093641590936515A0936615DE -:107BC000B09367150F942E2561E070E080E090E09F -:107BD0000E949E9484E190E090936D1580936C15C3 -:107BE000009360151093631584E190E1A0E0B0E08C -:107BF0008093641590936515A0936615B0936715EF -:107C00000F942E2581E09AE590936D1580936C1565 -:107C100089E390E090936F1580936E1587E08093D1 -:107C200060151093631584E890E0A0E0B0E08093C5 -:107C3000641590936515A0936615B09367150F941E -:107C40002E2582E00C947E4681309105A9F440E017 -:107C500060E070E0CB010E94219310926D151092AC -:107C60006C1585E08093601582E88093631584E34A -:107C700090E1A0E0B0E093CB029711F00C94854620 -:107C800046E060E070E0CB010E94219310926D15F8 -:107C900010926C1585E08093601582E880936315DF -:107CA0008AE390E1A0E0B0E07ACB843320E1920750 -:107CB000A105B10551F460911C1570911D1580E06E -:107CC00090E00F945F4C40E010C08A339041A105D2 -:107CD000B10511F00C94854660911C1570911D152D -:107CE00080E090E00F945F4C46E00E9421930C945A -:107CF000854680911C1590911D15009709F462CE60 -:107D00008130910509F04CC080918C0B882319F0CB -:107D100083E090E002C082E090E090936D15809344 -:107D20006C1585E08093601582E88093631585E487 -:107D300090E1A0E0B0E08093641590936515A09366 -:107D40006615B09367150F942E258AE090E0909306 -:107D50006D1580936C1585E08093601582E88093A3 -:107D6000631580E092E1A0E0B0E080936415909309 -:107D70006515A0936615B09367150F942E250E9484 -:107D80008E93811103C082EA97E002C086E997E0F2 -:107D90009093E3098093E20982E080939A0B71C18A -:107DA0008230910509F0A8C081E08093270288E025 -:107DB000E1E6F8E0DF011D928A95E9F780E090E0C6 -:107DC000A0E2B1E48093610890936208A0936308F5 -:107DD000B09364088093650890936608A093670841 -:107DE000B093680884E690E090936D1580936C15CD -:107DF00005E00093601512E81093631584E590E1A7 -:107E0000A0E0B0E08093641590936515A09366158B -:107E1000B09367150F942E2520E030E040E251E446 -:107E20006091650870916608809167089091680874 -:107E30000F94C04C0F94B05470936D1560936C15F3 -:107E4000009360151093631588E590E1A0E0B0E021 -:107E50008093641590936515A0936615B09367158C -:107E60000F942E256091440D7091450D8091460D23 -:107E70009091470D0F94B05470936D1560936C15ED -:107E8000009360151093631586E390E1A0E0B0E0E5 -:107E90008093641590936515A0936615B09367154C -:107EA0000F942E258091480D9091490D90936D155A -:107EB00080936C15009360151093631584E390E133 -:107EC000A0E0B0E08093641590936515A0936615CB -:107ED000B09367150F942E2562E070E080E090E08B -:107EE0000E949E9481E09AE590936D1580936C15A5 -:107EF00081E490E00C94C1478330910509F076C08D -:107F000010926F0880E00E948A9420E030E040E206 -:107F100051E40F94C04C0F94B05470936D1560935E -:107F20006C1505E00093601512E81093631588E462 -:107F300090E1A0E0B0E08093641590936515A09364 -:107F40006615B09367150F942E2581E00E948A94E0 -:107F500020E030E040E251E40F94C04C0F94B05464 -:107F600070936D1560936C150093601510936315F5 -:107F70008AE490E1A0E0B0E08093641590936515E9 -:107F8000A0936615B09367150F942E2582E00E948A -:107F90008A9420E030E040E251E40F94C04C0F940A -:107FA000B05470936D1560936C1500936015109329 -:107FB00063158CE490E1A0E0B0E0809364159093A9 -:107FC0006515A0936615B09367150F942E2562E092 -:107FD00070E080E090E00E949E9481E09AE59093AA -:107FE0006D1580936C1587E490E0CBC784309105C4 -:107FF00009F48BC68530910549F44EE750E160E005 -:1080000070E08FEC94E00F94DD247FC6069709F0B2 -:108010007CC682E997E09093E3098093E2098BE0C4 -:1080200090E031C280911C1590911D15019711F5BA -:108030001092270281E09AE590936D1580936C155C -:108040008FE390E090936F1580936E1587E0809397 -:10805000601582E88093631584E890E0A0E0B0E0CA -:108060008093641590936515A0936615B09367157A -:108070000F942E2580911C1590911D15029709F0E3 -:1080800044C681E09AE590936D1580936C1580E469 -:1080900090E077C9E0911C15F0911D153197EB30F8 -:1080A000F10508F0EAC18827ED56FF4F8F4F0D9478 -:1080B0003B538091D21380FF62C6869580FD62C6D5 -:1080C0005EC62DEC3CEC4CEC5DE36091B80B70911E -:1080D000B90B8091BA0B9091BB0B0F9444536B0179 -:1080E0007C0120E030E040EA51EC0F94A45587FD7C -:1080F000C8C120E030E040EA51E4C701B6010F9466 -:108100005A4C18160CF045C6BCC12DEC3CEC4CEC9E -:108110005DE36091B80B7091B90B8091BA0B9091AF -:10812000BB0B0F9443536B017C0120E030E040EA2D -:1081300051EC0F94A45587FDA4C120E030E040EA43 -:1081400051E4C701B6010F945A4C18160CF098C6AA -:1081500098C180E00F94963A0E948E93811103C0DB -:1081600089E397E002C08BE297E09093E309809364 -:10817000E20982E080939A0B81E09AE590936D1575 -:1081800080936C1584E590E090936F1580936E1545 -:1081900087E08093601582E88093631584E890E01F -:1081A000A0E0B0E08093641590936515A0936615E8 -:1081B000B09367150F942E2564C183E080939A0BCA -:1081C00083E090E090936D1580936C1585E080932B -:1081D000601582E8809363158DE890E1A0E0B0E03F -:1081E0008093641590936515A0936615B0936715F9 -:1081F0000F942E25E12CF12C00E0DD24D394AA2449 -:10820000A39446E0942E55E0852E62E8762EDD207C -:1082100031F0CC24C39436E0B32E10E005C0CC245A -:10822000CA94BB24BA9415E0DA24B11609F43FC00D -:10823000802F90E08397CCF51530B9F1B5E0EB16BF -:10824000A1F10F5FF701919EE00DF11D1124EE0FDA -:10825000FF1FEE0FFF1FE15DF34F20E030E04AE724 -:1082600054E460817181828193810F94C04C0F949A -:10827000B05470936D1560936C1580926015709278 -:108280006315802F90E08158974F880F991F092E12 -:10829000000CAA0BBB0B8093641590936515A093FB -:1082A0006615B09367150F942E251C0DBECFEFEF0A -:1082B000EE1AFE0AF6E0EF16F10409F0A8CF81E00D -:1082C0009AE590936D1580936C1585E590E09093F9 -:1082D0006F1580936E1587E08093601582E8809318 -:1082E000631584E890E0A0E0B0E08093641590937B -:1082F0006515A0936615B09367150F942E2583EB33 -:1083000096E09093E3098093E209BBC042E060E00D -:1083100070E080E890E40E94AC9340E060E070E0A0 -:108320008DE193E40E94AC9341E060E070E08BE16A -:1083300093E413C042E060E070E080E890E40E94C3 -:10834000AC9340E060E070E080E292E40E94AC9385 -:1083500041E060E070E080E292E40E94AC9386E04D -:1083600080939A0B8EC042E060E070E080E890E479 -:108370000E94AC9340E060E070E089E893E4E6CFCF -:1083800042E060E070E080E890E40E94AC9340E05E -:1083900060E070E089E893E40CC042E060E070E0E7 -:1083A00080E890E40E94AC9340E060E070E080E2FE -:1083B00092E40E94AC9341E060E070E087E893E4CF -:1083C000CCCF80918C0B81111CC083E090E0909306 -:1083D0006D1580936C1585E08093601582E880931D -:1083E000631585E490E1A0E0B0E08093641590937C -:1083F0006515A0936615B09367150F942E2581E03F -:108400001BC082E090E090936D1580936C1585E021 -:108410008093601582E88093631585E490E1A0E085 -:10842000B0E08093641590936515A0936615B093A2 -:1084300067150F942E2580E00F94963A20E030E0E7 -:1084400048EC52E46091B80B7091B90B8091BA0B73 -:108450009091BB0B0F94C04C0F94B05470936D155A -:1084600060936C1585E08093601582E880936315B6 -:1084700086E290E1A0E0B0E095CE87E996E00E9428 -:1084800080628AE090E090936D1580936C1585E092 -:108490008093601582E8809363154BC184E08093DC -:1084A0009A0B8091141590911515A0911615B09105 -:1084B000171560911C1570911D15883420E19207E5 -:1084C000A105B10509F453C08A3430E19307A10531 -:1084D000B10509F456C08C34E0E19E07A105B10551 -:1084E00009F45AC086349041A105B10509F05EC077 -:1084F00063307105B9F586E896E09093E3098093BF -:10850000E20981E08093700880932702109260084E -:1085100081E09AE590936D1580936C158AE490E064 -:1085200090936F1580936E1587E08093601512E825 -:108530001093631584E890E0A0E0B0E080936415A8 -:1085400090936515A0936615B09367150F942E252B -:108550008AE090E090936D1580936C1585E0809390 -:108560006015E5C060936F0810929A0BCEC380E04F -:1085700090E8ADE9B3E48CA39DA3AEA3BFA3312CD7 -:1085800015C080E090E0ABE9B3E48CA39DA3AEA35B -:10859000BFA3332433940AC080E090E0A8ECB3E496 -:1085A0008CA39DA3AEA3BFA382E0382E80E090E011 -:1085B0000F945F4C20E030E040E251E40F943E54D1 -:1085C0006B017C0120E030E0A9010F945A4C87FF39 -:1085D00009C010925A0810925B0810925C08109221 -:1085E0005D081FC02CA13DA14EA15FA1C701B6012E -:1085F0000F94A45518164CF0C0925A08D0925B08FC -:10860000E0925C08F0925D080CC08CA19DA1AEA127 -:10861000BFA180935A0890935B08A0935C08B09325 -:108620005D0860915A0870915B0880915C08909198 -:108630005D08432D0E94AC9361E070E080E090E023 -:108640000E949E9480E00E948A9420E030E040E204 -:1086500051E40F94C04C0F94B05470936D15609317 -:108660006C1505E00093601512E81093631588E41B -:1086700090E1A0E0B0E08093641590936515A0931D -:108680006615B09367150F942E2581E00E948A9499 -:1086900020E030E040E251E40F94C04C0F94B0541D -:1086A00070936D1560936C150093601510936315AE -:1086B0008AE490E1A0E0B0E08093641590936515A2 -:1086C000A0936615B09367150F942E2582E00E9443 -:1086D0008A9420E030E040E251E40F94C04C0F94C3 -:1086E000B05470936D1560936C15009360151093E2 -:1086F00063158CE490E1A0E0B0E080936415909362 -:108700006515A0936615B09367150F942E2561E04B -:1087100070E080E090E00E949E9410929A0B8AE0B4 -:1087200090E090936D1580936C15009360151093F5 -:10873000631580E092E1A0E0B0E00C94CF39809125 -:10874000141590911515A0911615B0911715863531 -:10875000E0E19E07A105B10509F041C020E030E04D -:1087600040E253E46091440D7091450D8091460DB7 -:108770009091470D0F945A4C20911C1530911D1566 -:1087800087FF0AC42530310508F006C480EA90E06E -:1087900090936D1580936C1585E08093601512E8B9 -:1087A0001093631580E290E1A0E0B0E0809364153F -:1087B00090936515A0936615B09367150F942E25B9 -:1087C00065E070E080E090E00E949E9481E09AE590 -:1087D00090936D1580936C1582E490E0D2C384353C -:1087E000F0E19F07A105B105B9F460911C157091E6 -:1087F0001D1580E090E00F945F4C20E030E040E2F7 -:1088000051E40F943E546093610870936208809322 -:1088100063089093640879C288359041A105B10539 -:1088200009F073C260911C1570911D1580E090E0F5 -:108830000F945F4C20E030E040E251E40F943E544E -:108840006093650870936608809367089093680842 -:108850005CC260911C1570911D1580E796E00F9425 -:10886000AC3C80911C1590911D1582309105A1F0B2 -:1088700038F4009771F00197E1F488EF94E043C277 -:108880008430910579F058F0059799F485E496E0E5 -:108890000BC082EE94E037C282E696E005C088E520 -:1088A00096E002C083E596E09093E3098093E209A5 -:1088B0002CC28CE095E027C28BE195E00E9480629B -:1088C00080911C1590911D158130910519F46499C2 -:1088D000C3C41BC2892B09F018C289E295E00E942B -:1088E000806280915608813039F58FE395E00E94CF -:1088F000806281E09AE590936D1580936C158EE20D -:1089000090E090936F1580936E1587E080936015CB -:1089100082E88093631584E890E0A0E0B0E0809363 -:10892000641590936515A0936615B09367150F9421 -:108930002E251092980B35C0823069F483E595E0BE -:108940000E94806281E09AE590936D1580936C158A -:1089500086E390E00EC0833031F587E695E00E9413 -:10896000806281E09AE590936D1580936C1581E4A7 -:1089700090E090936F1580936E1587E0809360155B -:1089800082E88093631584E890E0A0E0B0E08093F3 -:10899000641590936515A0936615B09367150F94B1 -:1089A0002E2510927517109256080F94EF31ADC115 -:1089B00080911C1590911D158F3F910531F028F085 -:1089C0008FEF90E0A0E0B0E002C0A0E0B0E08093C4 -:1089D000060290930702A0930802B09309028091C7 -:1089E000060290910702A0910802B0910902009737 -:1089F000A105B10509F510926D1510926C1505E0F1 -:108A00000093601512E8109363158AE890E1A0E0E6 -:108A1000B0E08093641590936515A0936615B093AC -:108A200067150F942E2589E090E090936D15809343 -:108A30006C15009360153DC00196A11DB11D05E0A8 -:108A4000B695A795979587950A95D1F70197A109AE -:108A5000B109009731E0A307B10550F0B0936D154F -:108A6000A0936C1590936F1580936E1587E005C0E9 -:108A700090936D1580936C1585E08093601512E8D6 -:108A8000109363158AE890E1A0E0B0E0809364154C -:108A900090936515A0936615B09367150F942E25D6 -:108AA00088E090E090936D1580936C1585E080933D -:108AB0006015109363158CE890E1A0E0B0E080931E -:108AC000641590936515A0936615B09367150F9480 -:108AD0002E258091060290910702A0910802B09184 -:108AE0000902BA2FA92F982F88270097E1E0AE0737 -:108AF000B10550F0B0936D15A0936C1590936F1560 -:108B000080936E1587E005C090936D1580936C156A -:108B100085E08093601582E88093631581EA90E098 -:108B2000A0E0B0E00C94CF398BE795E00E94806222 -:108B30000E941593409114155091151560911615CA -:108B400070911715882339F0433DF0E25F07610506 -:108B5000710509F4C7C3423D50426105710509F032 -:108B6000D4C080911C1590911D15019709F012C574 -:108B70000E941593882309F40DC58091E21987FDA1 -:108B8000C4C0A2E18A02C00111248356944E0E94FF -:108B9000937DC12C90E2D92EE12CF12C05E012E856 -:108BA00010926D1510926C1500936015109363155B -:108BB000C0926415D0926515E0926615F092671523 -:108BC0000F942E25BFEFCB1ADB0AEB0AFB0AEAE073 -:108BD000CE16E0E2DE06E104F10411F70091E2199D -:108BE000F2E10F02800111240B5C154EF801019097 -:108BF0000020E9F7C8018E1B9F0B439697FD019655 -:108C00007C01F594E7941E141F040CF0BDC49E0172 -:108C10002F5F3F4F690184E1D9011D928A95E9F7E1 -:108C2000A7016CE875E0C9010F940A58B801C601A4 -:108C30008E0D9F1D0F94F55740E050E260E070E00C -:108C4000C6010F94DD2462E070E080E090E00E94B5 -:108C50009E9440E060E070E08FE793E40F947332FD -:108C600041E060E070E08FE793E40F94733210927C -:108C700005028DE090E090936D1580936C1585E072 -:108C80008093601512E81093631584E190E1A0E0F1 -:108C9000B0E08093641590936515A0936615B0932A -:108CA00067150F942E2562E070E080E090E00E944E -:108CB0009E9481E09AE590936D1580936C1585E301 -:108CC00090E090936F1580936E1587E08093601508 -:108CD0001093631584E890E0A0E0B0E08093641501 -:108CE00090936515A0936615B09367150F942E2584 -:108CF00081E0809327028093980B83E08093990B07 -:108D000004C08AE396E00E94806280E5E0E1F5E13C -:108D1000DF011D928A95E9F78AE58093111585EAAE -:108D2000809312150C94CA3284ED93E10E94A17BCA -:108D3000F701E055FA4E80838091B0158A3581F0B5 -:108D40001E141F0414F00C94E933D601E02F1D9279 -:108D5000EA95E9F710925F0810925E080C94E933E7 -:108D600062E070E080E090E00E949E94FFEFEF1AD6 -:108D7000FF0AF0925F08E0925E080C94E93382E803 -:108D800097E002C081E797E09093E3098093E209BE -:108D900055CB88E290E00F9423282DEC3CEC4CEC72 -:108DA0005DE36091B80B7091B90B8091BA0B909113 -:108DB000BB0B0F9444536B017C0120E030E040EA90 -:108DC00051EC0F94A45587FD12C020E030E040EA3A -:108DD00051E4C701B6010F945A4C181644F0C092E2 -:108DE000B80BD092B90BE092BA0BF092BB0B20E01B -:108DF00030E048EC52E46091B80B7091B90B80916F -:108E0000BA0B9091BB0B0F94C04C0F94B05470935D -:108E10006D1560936C1585E08093601582E88093F2 -:108E2000631586E290E1A0E0B0E080936415909332 -:108E30006515A0936615B09367150F942E25609164 -:108E4000B80B7091B90B8091BA0B9091BB0B8E014E -:108E50000B5E1F4F23E041E00F9432479F938F93A7 -:108E600083E697E09F938F93045111091F930F930B -:108E70000F94F24BC8010E947C958EE597E076C076 -:108E800088ED9FEF0F9423282DEC3CEC4CEC5DE338 -:108E90006091B80B7091B90B8091BA0B9091BB0B9C -:108EA0000F9443536B017C0120E030E040EA51EC29 -:108EB0000F94A45587FD12C020E030E040EA51E451 -:108EC000C701B6010F945A4C181644F0C092B80B63 -:108ED000D092B90BE092BA0BF092BB0B20E030E0DD -:108EE00048EC52E46091B80B7091B90B8091BA0BC9 -:108EF0009091BB0B0F94C04C0F94B05470936D15B0 -:108F000060936C1585E08093601582E8809363150B -:108F100086E290E1A0E0B0E080936415909365153F -:108F2000A0936615B09367150F942E256091B80B2A -:108F30007091B90B8091BA0B9091BB0B8E010B5EB7 -:108F40001F4F23E041E00F9432479F938F9380E5BA -:108F500097E09F938F93045111091F930F930F94E0 -:108F6000F24BC8010E947C958BE497E09093E30953 -:108F70008093E2090F900F900F900F900F900F9039 -:108F800080CA90936F1580936E1587E0809360156B -:108F9000109363150C94CB392430310589F481E0AA -:108FA0000F94364620916508309166084091670815 -:108FB000509168080F94445341E00F940D46B2C09D -:108FC0002530310508F4F4C02630310509F431C1EB -:108FD00008F023C181E08093690840E060E070E020 -:108FE0008EE393E40E94219320E030E048EC52E4C9 -:108FF0006091440D7091450D8091460D9091470D03 -:109000000F94C04C6B017C016091480D7091490D2B -:10901000072E000C880B990B0F94614C9B01AC013F -:10902000C701B6010F943E540F94B75464367105CE -:1090300010F064E670E070936D1560936C1505E0B8 -:109040000093601512E81093631584E290E1A0E0AC -:10905000B0E08093641590936515A0936615B09366 -:1090600067150F942E256091440D7091450D8091E8 -:10907000460D9091470D0F94B05470936D15609309 -:109080006C15009360151093631586E390E1A0E0E2 -:10909000B0E08093641590936515A0936615B09326 -:1090A00067150F942E258091480D9091490D90934E -:1090B0006D1580936C15009360151093631584E310 -:1090C00090E1A0E0B0E08093641590936515A093C3 -:1090D0006615B09367150F942E2565E070E080E06B -:1090E00090E00E949E9481E09AE590936D158093A4 -:1090F0006C1584E490E090936F1580936E1587E073 -:10910000809360151093631584E890E0A0E0B0E0D0 -:109110008093641590936515A0936615B0936715B9 -:109120000F942E2520E030E040E251E46091610888 -:109130007091620880916308909164080F94C04C0C -:109140000F94B05470936D1560936C1505E0009307 -:10915000601512E81093631584E590E1A0E0B0E09B -:109160008093641590936515A0936615B093671569 -:109170000F942E2520E030E040E251E46091650834 -:109180007091660880916708909168080F94C04CB0 -:109190000F94B05470936D1560936C150093601527 -:1091A0001093631588E590E1A0E0B0E00C94CF390E -:1091B0002230310579F480E00F9436462091610821 -:1091C0003091620840916308509164080F944453B1 -:1091D00040E0F3CE2330310570F081E00F94364645 -:1091E00020916508309166084091670850916808A1 -:1091F0000F944353E1CE2130310509F093CF80E045 -:109200000F943646209161083091620840916308BE -:10921000509164080F944353DBCF213F310509F08F -:1092200081CF1092690861E070E080E090E00E94D8 -:109230009E9481E09AE590936D1580936C1581E47E -:1092400090E090936F1580936E1587E08093601582 -:1092500082E88093631558CF89ED95E00E94806283 -:1092600081E00E9418DD8DE090E090936D15809371 -:109270006C1585E08093601512E81093631584E106 -:1092800090E1A0E0B0E08093641590936515A09301 -:109290006615B09367150F942E2583E08093990B84 -:1092A00081E09AE590936D1580936C1585E390E0CD -:1092B00090936F1580936E1587E0809360151093DF -:1092C000631584E890E0A0E0B0E08093641590938B -:1092D0006515A0936615B09367150F942E2510920F -:1092E000560813CD81EF95E00E9480628091E319CA -:1092F0009091E419992720911C1530911D15821722 -:10930000930708F402CD84E895E00E948062809182 -:109310001C1581508093E219A4ED8A2EA0E29A2EAA -:10932000A12CB12C05E012E810926D1510926C156D -:1093300000936015109363158092641590926515E3 -:10934000A0926615B09267150F942E252FEF821A02 -:10935000920AA20AB20A3EED831630E29306A104F5 -:10936000B10411F78091E219A2E18A02C00111242F -:10937000FC01EB5CF54E7F0101900020E9F7C7018D -:109380008E1B9F0B439697FD01968C0115950795B3 -:1093900010161106FCF49E012F5F3F4F690184E116 -:1093A000D9011D928A95E9F7A8016CE875E0C90119 -:1093B0000F940A58B701C601800F911F0F94F557FB -:1093C00044ED50E260E070E0C6010F94DD2405E05A -:1093D00012E806C044ED50E260E070E0C701F5CF4E -:1093E00010926D1510926C15009360151093631513 -:1093F0008092641590926515A0926615B0926715DB -:109400000F942E25BFEF8B1A9B0AAB0ABB0AE6EE20 -:109410008E16E0E29E06A104B10411F78E010F5FE3 -:109420001F4F84E1D8011D928A95E9F78091E419D4 -:109430008F938091E3198F9380911D158F93809165 -:109440001C158F9386E995E09F938F931F930F933D -:109450000F9424584EED50E260E070E0C8010F9484 -:10946000DD2462E070E080E090E00E949E940FB600 -:10947000F894DEBF0FBECDBF31E2C32E32E1D32E52 -:10948000E12CF12C43E1442E40E6542E612C712C4A -:1094900088248394912CAA24AA94BA2C75E0272EB0 -:1094A000E2E83E2E0AE010E08091E3199091E41981 -:1094B0008815990594F1B0926D15A0926C152092C3 -:1094C0006015309263154092641550926515609254 -:1094D0006615709267150F942E2510936D150093E5 -:1094E0006C152092601530926315C0926415D0926D -:1094F0006515E0926615F09267150F942E25FFEF23 -:109500008F1A9F0A20E1420E511C611C711C3FEF13 -:10951000C31AD30AE30AF30AC7CF80911C159091AE -:109520001D1524E0880F991F2A95E1F78D5F9F494B -:10953000A0E0B0E020EF37E830936D1520936C1574 -:1095400005E00093601512E810936315809364158D -:1095500090936515A0936615B09367150F942E250B -:1095600080911C1590911D15805E9D4EA0E0B0E08D -:1095700026E030E030936D1520936C150093601554 -:10958000109363150C94CF3940E050E260E070E036 -:10959000C80157CB80911C1590911D15892B11F492 -:1095A0000C94E23CB2CBE3960FB6F894DEBF0FBE4C -:1095B000CDBFDF91CF911F910F91FF90EF90DF9082 -:1095C000CF90BF90AF909F908F907F906F905F9063 -:1095D0004F903F902F9008952F923F924F925F921D -:1095E0006F927F928F929F92AF92BF92CF92DF92B3 -:1095F000EF92FF920F931F93CF93DF93CDB7DEB718 -:10960000C154D1090FB6F894DEBF0FBECDBF22966C -:109610008FAF229720918A082CAF21E020938A08EF -:109620008091AF138D3409F465C4843511F40C9422 -:10963000285C873411F00C942F5C8091AD139091CD -:10964000AE138B31910509F41FC2B4F48430910537 -:1096500034F482309105DCF597FF2DC047C4853185 -:10966000910511F40C94315C8A31910509F408C21A -:10967000049709F03BC4C5C18A32910509F48DC332 -:1096800054F48D31910509F43CC20CF42AC24E9772 -:1096900009F43BC22BC48B35910509F4FCC28C350F -:1096A000910509F4FCC28A35910509F01FC4109296 -:1096B00089080C94315C80915202882311F40C9437 -:1096C000315C0F9463050E94C1880C94315C209139 -:1096D0005202222311F40C94315C11E0029709F03C -:1096E00010E00F94630519821A821B821C821D826E -:1096F0001E821F82188682E50E94BBA8882309F477 -:1097000038C10E943BA84B015C0120E030E0A90178 -:109710000F945A4C882309F442C18091050D909111 -:10972000060DA091070DB091080D8CA39DA3AEA3CB -:10973000BFA38091090D90910A0DA0910B0DB091DE -:109740000C0D88A799A7AAA7BBA78091F20C9091AE -:10975000F30CA091F40CB091F50C8CA79DA7AEA7CB -:10976000BFA78091F60C9091F70CA091F80CB091E6 -:10977000F90C88AB99ABAAABBBAB2CA53DA54EA50C -:109780005FA56CA17DA18EA19FA10F945A4C811160 -:109790000DC028A939A94AA95BA968A579A58AA5F8 -:1097A0009BA50F945A4C882309F4F9C020E030E0BF -:1097B000A901C501B4010F945A4C881F8827881F3E -:1097C000181729F080E090E0A0E8BFEB04C080E02B -:1097D00090E0A0E8BFE388AF99AFAAAFBBAF2CA1E0 -:1097E0003DA14EA15FA16CA57DA58EA59FA50F945F -:1097F00043536CAB7DAB8EAB9FAB28A539A54AA577 -:109800005BA568A979A98AA99BA90F9443536B0109 -:109810007C012CA93DA94EA95FA9CA01B9010F94E9 -:10982000C04C2B013C01A7019601C701B6010F9462 -:10983000C04C9B01AC01C301B2010F9444530F947F -:1098400042562B013C019B01AC0160E070E080E8D6 -:109850009FE30F943E5421966CAF7DAF8EAF9FAFC8 -:10986000219720E030E040E05FE3C301B2010F94B4 -:10987000C04C2B013C01A5019401C501B4010F941A -:10988000C04C4B015C01A3019201C301B2010F94D2 -:10989000C04C9B01AC01C501B4010F9443530F941C -:1098A000425628AD39AD4AAD5BAD0F94C04C4B016B -:1098B0005C01C701B601905821962CAD3DAD4EAD6F -:1098C0005FAD21970F94C04CA50194010F94C04C3B -:1098D0006B017C012CA53DA54EA55FA56CA17DA1CA -:1098E0008EA19FA10F94445320E030E040E05FE35D -:1098F0000F94C04C9B01AC01C701B6010F944453B7 -:109900002CA13DA14EA15FA10F94435369837A839B -:109910008B839C8328A939A94AA95BA968A579A545 -:109920008AA59BA50F94445320E030E040E05FE31C -:109930000F94C04C6B017C0121962CAD3DAD4EAD1A -:109940005FAD21976CA97DA98EA99FA90F94C04CEA -:10995000A50194010F94C04C9B01AC01C701B60155 -:109960000F94445328A539A54AA55BA50F944353EA -:1099700012C089E40E94BBA8882331F00E943BA852 -:1099800069837A838B839C838AE40E94BBA88823A3 -:1099900031F00E943BA86D837E838F83988720E0FF -:1099A00030E0A90169817A818B819C810F945A4CA6 -:1099B00081110BC020E030E0A9016D817E818F8193 -:1099C00098850F945A4C8823A1F0412FBE016F5FF8 -:1099D0007F4F82EF9CE00F94F30C0F9493366093CB -:1099E000CA137093CB138093CC139093CD130C9424 -:1099F000315C0F94E93C82E498E00F946D3C0C9448 -:109A0000315C80E50E94BBA8882329F00F94012DCA -:109A10006B017C0103C0C12CD12C760183E50E942F -:109A2000BBA8882361F00E943BA820E030E04AE711 -:109A300054E40F94C04C0F94B7546B017C010E9406 -:109A4000C57880913417811105C060E088E598E001 -:109A50000F94B0310F949336C60ED71EE81EF91E30 -:109A60000F949336DC01CB018C199D09AE09BF0917 -:109A7000B7FD02C00C94315C80E00E94A662F0CF7A -:109A80000E94CEEA0C94315C41E061E081E00E94EA -:109A9000BA8781110C94315C80E090E0A8E4B2E4D4 -:109AA00089839A83AB83BC8380E090E0A0E2B1E439 -:109AB0008D839E83AF83B88789879A87AB87BC875E -:109AC00080E50E94BBA8882321F00E9427A8862F4A -:109AD00001C080E0BE016F5F7F4F0F94DD2E0C94BC -:109AE000315C8091CF0C8770873011F00C943C5C16 -:109AF00060E08FE40E94B9EA81110C94315C0C940F -:109B00003C5C0E9435AE0C94315C2091B00B3091DE -:109B1000B10B4091B20B5091B30B6091050D709158 -:109B2000060D8091070D9091080D0F944453AB01E1 -:109B3000BC0188E50E94EB956C8F7D8F8E8F9F8F87 -:109B40002091B40B3091B50B4091B60B5091B70BEF -:109B50006091090D70910A0D80910B0D90910C0D83 -:109B60000F944453AB01BC0189E50E94EB956983D6 -:109B70007A838B839C83BE016F5F7F4FCE014C96AF -:109B80000E94F9AA882311F40C94315C80E00F94B0 -:109B9000963A0E94F89161E085E40E94B9EA182F94 -:109BA00001E021E0482FBE016F5F7F4FCE014C9650 -:109BB0000E949D746B017C019B01AC010F94915636 -:109BC00081115FC08C8C9D8CAE8CBF8C20E030E00E -:109BD000A901C501B4010F945A4C87FF05C027E1C4 -:109BE00037EB41E558EB04C027E137EB41E558E39B -:109BF000C501B4010F944453AB01BC018BEA98E05A -:109C00000F94B93C89809A80AB80BC8020E030E022 -:109C1000A901C501B4010F945A4C87FF05C027E183 -:109C200037EB41E558EB04C027E137EB41E558E35A -:109C3000C501B4010F944453AB01BC0186EA98E01E -:109C40000F94B93C20E030E0A901C701B6010F94A0 -:109C50005A4C87FF05C027E137EB41E558EB04C0BC -:109C600027E137EB41E558E3C701B6010F944453B0 -:109C7000AB01BC0181EA98E00F94B93C8AE00E94F4 -:109C800062610E94DF91113011F40E94B1730E9451 -:109C9000D46D0C94315C209389080C94315C53E7AB -:109CA000252E53E0352E63ECE62E6CE0F62E25E0F3 -:109CB0003DE03DA32CA374EAC72E7BE0D72E00E045 -:109CC00010E0D1018D911D010E94BBA8882309F4E9 -:109CD0004BC00E943BA82B013C01133049F0F60118 -:109CE00020813181428153810F9443532B013C01E8 -:109CF000ACA1BDA12D913D914D915C91C301B201EB -:109D00000F9443534B015C012DEB37E346E855EBD1 -:109D10000F94A45587FD0AC02DEB37E346E855E3C1 -:109D2000C501B4010F945A4C1816F4F4133051F4D1 -:109D30004092110D5092120D6092130D7092140DFD -:109D400001E012C0A5019401F70160817181828157 -:109D500093810F944453D7016D937D938D939C937E -:109D60001397812F0E949A871F5FB4E0EB0EF11CBE -:109D7000ECA1FDA13496FDA3ECA3F4E0CF0ED11C21 -:109D8000143009F09ECF002321F081E19DE00E9474 -:109D9000D6780E94D46D0C94315C80915202882355 -:109DA00011F40C94315C89E40E94BBA8082F88232D -:109DB00021F00E9437A8E82E01C0E12C8AE40E941D -:109DC000BBA8182F882321F00E9437A8F82E01C0C5 -:109DD000F12C002319F025E02E1528F0112349F06D -:109DE00035E03F1530F483EB98E00F946D3C0C9414 -:109DF000315C0E9477E9002359F08E2D0E9405A95D -:109E00006093F20C7093F30C8093F40C9093F50C28 -:109E1000112359F08F2D0E94D7A86093F60C7093F0 -:109E2000F70C8093F80C9093F90C60E080E50E94A9 -:109E3000B9EA8823C1F10023D1F02091B00B309111 -:109E4000B10B4091B20B5091B30B6091F20C709139 -:109E5000F30C8091F40C9091F50C0F9443536093A4 -:109E6000F20C7093F30C8093F40C9093F50C112387 -:109E7000D1F02091B40B3091B50B4091B60B5091BD -:109E8000B70B6091F60C7091F70C8091F80C9091E3 -:109E9000F90C0F9443536093F60C7093F70C809376 -:109EA000F80C9093F90C40E050E0BA0186E40E946F -:109EB000EB956B017C0120E030E0A9010F94A455E3 -:109EC000181684F420E030E040E752E4C701B60100 -:109ED0000F943E54609328027093290280932A02C3 -:109EE00090932B020E94C1880C94315C0E94ADCFEC -:109EF0000C94315C8091AD139091AE138337910532 -:109F000009F4A4C70CF0E1C08934910509F491C4A7 -:109F10000CF069C08A31910509F416C39CF58431AF -:109F2000910509F48BC27CF48131910509F472C268 -:109F30002CF4029708F4EBC10C94255C429709F4C9 -:109F4000B6C60C94255C8731910509F4A1C28CF446 -:109F50008531910509F498C2469711F00C94255C5F -:109F60000E947A7D8091E816877F8093E8160C9492 -:109F7000315C8831910509F4A3C2499709F4D9C22B -:109F80000C94255C8F31910509F40CC47CF48C3160 -:109F9000910509F451C30CF4E5C28D31910509F422 -:109FA00055C34E9709F459C30C94255C8A32910528 -:109FB00009F418C464F48032910509F4ADC38197A3 -:109FC00011F00C94255C0E945A9C0C94315C8B32ED -:109FD000910509F42AC4C09711F00C94255C0E94E5 -:109FE000BCFC0C94315C8836910509F4CAC4D4F5E4 -:109FF0008135910509F449C6C4F48C34910509F4FE -:10A0000027C44CF48B34910511F00C94255C0E940C -:10A01000C0760C94315C8D34910509F41DC48E34E6 -:10A02000910509F41DC40C94255C8435910509F44F -:10A030003EC674F48235910509F436C68335910520 -:10A0400011F00C94255C81E0809383080C94315CC2 -:10A050008535910509F457C68C35910509F46CC610 -:10A060000C94255C8D36910509F4AAC48CF48A36CB -:10A07000910509F4D2C50CF496C58B36910509F407 -:10A08000F4C58C36910511F40C94315C0C94255C6C -:10A090008037910511F40C94315C54F48E3691059F -:10A0A00009F4E5C48F36910509F4F2C40C94255CDB -:10A0B0008137910509F431C58237910511F00C946F -:10A0C000255C0F94EA100C94315C8E32A1E09A0763 -:10A0D00011F40C947C5A0CF083C0893C910509F46E -:10A0E000C0C7DCF58937910509F467C7ECF48637FA -:10A0F000910509F425C734F48537910509F40FC794 -:10A100000C94255C8737910509F454C7883791056D -:10A1100011F00C94255C81E08093D1098093D009E3 -:10A120000E94E96B0C94315C8B39910509F44FC5A1 -:10A1300054F48D37910509F4A5C58C38910509F4BF -:10A140000EC50C94255C8E3B910509F41AC5883C1C -:10A15000910509F439C70C94255C833D910511F4F0 -:10A160000C94CC58F4F48C3C910509F4BCC734F43D -:10A170008B3C910509F498C70C94255C8D3C9105A6 -:10A1800009F4E2C78E3C910511F00C94255C13E7AD -:10A19000C12E13E0D12E05EDE02E09E0F02E10E0E7 -:10A1A000E9C7823E910511F40C94325964F48C3D58 -:10A1B000910511F40C94CF588D3D910511F40C9438 -:10A1C000DC580C94255C8232E1E09E0711F40C947B -:10A1D0007E598D32914011F40C9489590C94255C70 -:10A1E000843F21E0920711F40C94735B0CF043C0A0 -:10A1F0008239A1E09A0711F40C94C65ADCF480333A -:10A20000E1E09E0711F40C94095A14F40C94C05A1E -:10A21000803921E0920711F40C94C35A813991409E -:10A2200011F00C94255C81E00E94F9730E94D46DBA -:10A230000C94315C843AA1E09A0711F40C94D95A39 -:10A240006CF48A39E1E09E0711F40C94315C8C398E -:10A25000914011F40C94CE5A0C94255C853A21E07F -:10A26000920711F40C94DC5A8C3A914011F40C943E -:10A27000DF5A0C94255C8835A2E09A0711F40C94FF -:10A280009B5B1CF5873FE1E09E0711F40C94795B22 -:10A290007CF4853F21E0920711F40C94765B863FB5 -:10A2A000914011F00C94255C0E94036C0C94315C7D -:10A2B000883FA1E09A0711F40C94825B8C309240A5 -:10A2C00011F40C94935B0C94255C8C36E3E09E07B0 -:10A2D00011F40C94315C7CF48B3522E0920711F47C -:10A2E0000C949E5B8335934011F00C94255C0F9485 -:10A2F000CF0A0C94315C803AA3E09A0709F442C279 -:10A30000873E934011F40C94175C0C94255C0091EB -:10A31000DC0C1091DD0C80E50E94BBA8882361F065 -:10A320000F94012D6B017C01BB24B394672B682B28 -:10A33000692B31F4B12C04C0B12CC12CD12C760185 -:10A3400083E50E94BBA8882311F40C94235E0E942D -:10A350003BA820E030E04AE754E40F94C04C0F944F -:10A36000B7546B017C01B1100BC0672B682B692BB4 -:10A3700039F40115110521F0F8018081811102C025 -:10A38000B12C02C0BB24B3940E94C578B11003C0A5 -:10A3900080E096E001C0C8010E94C19510918A0832 -:10A3A00083E080938A0881E08093751744EE58E03B -:10A3B0006DEE78E082E00E9476DD82ED98E00E940A -:10A3C000C195C114D104E104F104B1F00F949336A6 -:10A3D000C60ED71EE81EF91E0F949336DC01CB0182 -:10A3E0008C199D09AE09BF09B7FF0EC08091751782 -:10A3F00081110C94285E08C080917517882321F084 -:10A4000080E00E94A662F8CF1092751710938A0818 -:10A410000C94315C8091A91384FF02C00C942D5ED2 -:10A420008091AB1387FF02C00C942D5E8091AC131A -:10A43000837011F00C942D5E0C94495E87E199E0D5 -:10A440000F946D3C10922A0C8AEC94E10E9477A044 -:10A450008BE1EAECF4E1DE01119601900D928A9510 -:10A46000E1F740E050E0BE016F5F7F4F80E090E099 -:10A470000E94007FCE0101960E94ADA188E099E084 -:10A480000F946D3C0C94315C0E94EB7D0C94315C1C -:10A49000E091DC0CF091DD0C8081882329F0803282 -:10A4A00009F410823196F8CF40E061E08091DC0C35 -:10A4B0009091DD0C0E94D680109276170C94315C3E -:10A4C0008091BC0B8823E9F080E090E0A0EAB1E441 -:10A4D00088A399A3AAA3BBA31C8E1D8E1E8E1F8EBC -:10A4E00019821A821B821C8220E0AE01405E5F4FFF -:10A4F000BE01645E7F4FCE0101960E9436DE0C9451 -:10A50000315C0E94379D882321F00E948B7D0E9440 -:10A51000C07640E050E068E279E085E00E942FDEFE -:10A5200061E08CEE9BE50E94BCDC0F9451320C94F0 -:10A53000315C8091E81682FF03C08B7F8093E81620 -:10A540000F9440070C94315C8091E81683FD02C0A3 -:10A550000C94315C83E50E94BBA881110C94575E7A -:10A560000C94315C83E40E9472A88823D9F18CE3B7 -:10A5700099E00F946D3C80917414882351F1BE01D1 -:10A580006F5F7F4F81E794E10E943E9F8E010F5FD6 -:10A590001F4FD8018D918D01882319F00E946261AF -:10A5A000F8CFBE016F5F7F4F80E090E00E949E80F9 -:10A5B00080919319882389F080E20E94626103E907 -:10A5C00019E1F80181918F01882339F00E946261BD -:10A5D000F8CF82E399E00F946D3C8AE00E946261BB -:10A5E0000C94315C83E50E94BBA8882309F10E948A -:10A5F00095EA182F90E0CD970CF01CE310937A08A1 -:10A600000F9493366B017C01212F30E0A8EEB3E06C -:10A610000F940453C60ED71EE81EF91EC09276088A -:10A62000D0927708E0927808F09279080C94315C27 -:10A630000E94537D0C94315C40E060E08091DC0C22 -:10A640009091DD0C0E94D6800C94315C8091E816CC -:10A650008E7F8093E8160C94315C8091E81683FD20 -:10A6600002C00C94315C0E9493CF8091E81683FD68 -:10A6700002C00C94315C6091DC0C7091DD0CCE0159 -:10A680004C960F943B278C01009711F40C94315C8D -:10A690006C8D7D8D19821C8222E0AC01CE01019669 -:10A6A0000E9490A5811102C0F12C14C0CE01019628 -:10A6B0000F94A9268823C1F361E0CE0101960E9480 -:10A6C000229F009789F325EEDC012C931C820E94C7 -:10A6D00031A1F82ECE0101960E94ADA1B801FF2054 -:10A6E00089F086E699E00F94D63C8AE00E94626188 -:10A6F0001092E4161092E5161092E6161092E716E4 -:10A700000C94315C8EE499E00F94D63C8BE499E094 -:10A710000F946D3C0C94315C8091E81682FD0E9490 -:10A72000C5788091E81683FD02C00C94315C60E02E -:10A7300080E50E94B9EA182F482F61E08091DC0C77 -:10A740009091DD0C0E94D68083E50E94BBA88823EF -:10A7500081F00E9427A8AB01BC014093E4165093FE -:10A76000E5166093E6167093E71681E794E10E9480 -:10A77000389E0E948B7D11110C94315C0E94C07632 -:10A780000C94315C2091DC0C3091DD0C9091E8163A -:10A7900092609093E81640E060E0C9010E94D68084 -:10A7A0000C94315C0F94552E6C8F7D8F8E8F9F8F04 -:10A7B000BE016F5F7F4FCE014C960E947E9B60E092 -:10A7C000CE0101960F9428320F94ED3CBE016F5FCD -:10A7D0007F4F84E799E00F94D63C8AE00E94626143 -:10A7E0000C94315C83E50E94BBA8882311F40C947F -:10A7F000315C0E9495EAF82E6DE070E080E50E94E1 -:10A80000C8A88C0197FF02C00C94315CE82E60E070 -:10A8100089E40E94B9EA81110C94685E802F0E943D -:10A820008A6081113CC50C94685E0F94FE080C94FC -:10A83000315C80E50E9472A8882311F40C94315C8D -:10A840008091E81682FF02C00C94315C0C94815E0A -:10A850000F94A42E0C94315C0E9470770C94315CA0 -:10A8600060E070E083E50E94C8A88E34910531F461 -:10A870000E942B780F9451320C94315C8FED99E04B -:10A880000F946D3C6091C0097091C10986ED99E00B -:10A890000F94AC3C6091C2097091C30989EC99E0B6 -:10A8A0000F94AC3C6091C0097091C1098091C209BC -:10A8B0009091C309681B790B80919F0B815021E017 -:10A8C00030E0823010F020E030E0621B730B8EEB42 -:10A8D00099E00F94AC3C8AE00E94626186EB99E0BB -:10A8E0000F946D3C8091C4099091C509A091C6094F -:10A8F000B091C7098C8F9D8FAE8FBF8FBE016F5FE8 -:10A900007F4FCE014C960E947E9BBE016F5F7F4FB2 -:10A9100089EA99E00F94D63C8091C8099091C909C1 -:10A92000A091CA09B091CB098C8F9D8FAE8FBF8F3C -:10A93000BE016F5F7F4FCE014C960E947E9BBE0191 -:10A940006F5F7F4F89E999E00F94D63C20E030E0BB -:10A950004AE754E46091CC097091CD098091CE0909 -:10A960009091CF090F943E54AB01BC0181E899E06E -:10A970000F94B93C8DE60E9462618AE00E94626198 -:10A9800070C78091D71183FD6CC70F94120687FDA5 -:10A9900068C783E50E94BBA8882379F00E943BA882 -:10A9A0000F94B0548B01CB010E9496A6013511057E -:10A9B00024F40E9470770F9451320F94C34551C70D -:10A9C0008091D71183FD4DC70F941206F82E87FD95 -:10A9D00048C783E50E94BBA8082F811106C082E505 -:10A9E0000E94BBA8182F8823C1F10E943BA80F9496 -:10A9F000B054CB010E9496A60E943BA820E030E014 -:10AA000040EA52E40F945A4C181614F40C948C5EDD -:10AA10000E9470770F9451326091480D7091490DEA -:10AA2000072E000C880B990B0F94614C4B015C01B5 -:10AA30004090440D5090450D6090460D7090470D2C -:10AA4000A30192010F94A455181614F40C949F5E60 -:10AA5000002311F40C94905E11E00F94C345112370 -:10AA600009F4FFC6602F8F2D0E943AF5FAC68EE4D6 -:10AA70000E94BBA8882309F4F4C60E9427A860930B -:10AA8000D80C7093D90C8093DA0C9093DB0CE9C648 -:10AA900083E50E9472A8882331F060E083E50E947C -:10AAA000B0FC8093D7110F94ED3C8FE09AE00F94A7 -:10AAB0006D3C8091D711882369F145E0E42E4AE08E -:10AAC000F42E00E010E020E08091D71190E0A0E0AB -:10AAD000B0E0002E04C0B695A795979587950A9487 -:10AAE000D2F780FF0EC0DD24D394D20E222319F0BA -:10AAF0008CE20E946261F701859194910F946D3C04 -:10AB00002D2D0F5F1F4FB2E0EB0EF11C053011052C -:10AB1000D9F663CD81E09AE05ECD83E50E94BBA8C3 -:10AB2000882371F00E9495EA282F30E02D333105FB -:10AB30001CF48093000295C68CE38093000291C6BA -:10AB40000F94ED3C4091000250E060E070E086E13F -:10AB50009AE00F949B3C8AE00E94626182C68091D9 -:10AB6000D71183FD7EC683E50E94BBA8882309F424 -:10AB700078C60E943BA80F94B054CB010E9469E9AB -:10AB800070C68091D71183FD6CC683E50E94BBA877 -:10AB9000182F81110C94A25E82E50E94BBA881113E -:10ABA0000C94A25E5EC60F941206182F87FD0AC091 -:10ABB0008BE39AE00F946D3C812F0E944AF38AE068 -:10ABC0000E946261ECADE0938A080C946E6083E5AC -:10ABD0000E94BBA8882309F444C60E9495EA182F56 -:10ABE00090E0CD970CF01CE310937F080F94933600 -:10ABF0006B017C01212F30E0A8EEB3E00F940453E9 -:10AC0000C60ED71EE81EF91EC0927B08D0927C08A3 -:10AC1000E0927D08F0927E0824C660E080E50E9404 -:10AC2000B0FCF82EF1E0F81708F41BC681E40E948E -:10AC300072A8882321F060912D0D062F02C00FEF1E -:10AC400010E083E50E94BBA8882349F00E9427A852 -:10AC50008B016F3F710519F010F00FEF10E0EF2D31 -:10AC6000F0E0E35DF24F0083FCC560E080E50E9408 -:10AC7000B0FC823008F0F5C5E82FF0E0E35DF24F5C -:10AC80001082EFC50F944007ECC50E94DFFA0E94C6 -:10AC900070770E94067A0E94CC6068EE73E080E0D4 -:10ACA00090E00F94013CDDC510928308DAC583E57E -:10ACB0000E94BBA8882399F00E943BA820E030E0C6 -:10ACC0004AE754E40F94C04C0F94B75460930102C8 -:10ACD000709302028093030290930402C2C5809194 -:10ACE000A91384FF02C00C94D75E8091AB1387FF39 -:10ACF00002C00C94D75E8091AC13837011F00C9459 -:10AD0000D75E0C94085F83E50E9472A8882309F43B -:10AD1000A8C50E943BA820E030E04AE754E40F9425 -:10AD2000C04C0F94B7546093840870938508809347 -:10AD300086089093870895C50F94120687FD91C5E4 -:10AD40009091A91394FD04C09091AB1397FF0AC092 -:10AD500023E7C22E23E0D22E38EDE32E31E1F32E8D -:10AD600010E009C09091AC13937091F7682F81E0C7 -:10AD70000F94C30876C5D6018D916D010E94BBA8C2 -:10AD8000882309F459C0133009F04FC00E943BA832 -:10AD90004B015C0120E030E040EA51E40F945A4C52 -:10ADA00087FF3AC0A50194016091F8117091F911E3 -:10ADB0008091FA119091FB110F943E542B013C01AC -:10ADC0009B01AC01609108127091091280910A12E6 -:10ADD00090910B120F94C04C60930812709309125B -:10ADE00080930A1290930B126091250D7091260D9D -:10ADF0008091270D9091280D0F945F4CA301920133 -:10AE00000F94C04C0F94B7546093250D7093260D8A -:10AE10008093270D9093280D8092F8119092F9114C -:10AE2000A092FA11B092FB1107C00E943BA8F70153 -:10AE3000648B758B868B978B1F5FF4E0EF0EF11C94 -:10AE4000143009F098CF0E94A1780BC582E69BE0F0 -:10AE50000F946D3C60E082E59BE00F94D01060E0C1 -:10AE60008DE39BE00F94D01061E086E39BE00F94AC -:10AE7000D01061E08BE29BE00F94D01061E08BE199 -:10AE80009BE00F94D01060E082E19BE00F94D01023 -:10AE900061E088E09BE00F94D01061E08EEF9AE0D3 -:10AEA0000F94D01061E086EF9AE00F94D01061E02B -:10AEB00088EE9AE00F94D01061E08AED9AE00F944A -:10AEC000D01060E08BEC9AE00F94D01060E08DEB36 -:10AED0009AE00F94D01060E087EA9AE00F94D010C7 -:10AEE00061E086E99AE00F94D01061E087E89AE08B -:10AEF0000F94D01061E082E79AE00F94D01061E0E7 -:10AF00008FE59AE00F94D01060E082E59AE00F940C -:10AF1000D01060E08EE39AE00F94D010A2C480912C -:10AF2000DC0C9091DD0C009741F0DC012C91222388 -:10AF300021F060E00F94283294C40F94513291C4F0 -:10AF40000091DC0C1091DD0C94E0F12C40E091506C -:10AF500021F1F8018081282F2B7F213421F42181D8 -:10AF60002133D9F407C08035C1F4818180538A3000 -:10AF700048F013C0813421F0853421F441E002C04F -:10AF8000FF24F39498012E5F3F4F89012F5F3F4FBD -:10AF9000F80180818032C9F3DACF41110F94ED3C82 -:10AFA000FF2021F08DE49CE00F946D3CC8010E94CD -:10AFB000806257C40E94C66B54C41092D10910928B -:10AFC000D0090E94E96B4DC40F941206182F87FD1B -:10AFD00048C484E40E9472A8882309F43FC00E94F8 -:10AFE0003BA86B017C0101E020E030E0A9010F9457 -:10AFF0005A4C811101C000E00093830B20E030E047 -:10B00000A901C701B6010F945A4C882339F10E9457 -:10B010003BA824E01202F0011124E857F44F6083AA -:10B0200071838283938320E030E0A9016091880BD3 -:10B030007091890B80918A0B90918B0B0F945A4CD5 -:10B0400081110CC080E090E0A0EEBFE38093880BFC -:10B050009093890BA0938A0BB0938B0B0E94FF7A7D -:10B0600000C40F94120687FDFCC393E7E92E93E01A -:10B07000F92E08ED11E1D7018D917D010E9472A892 -:10B08000882349F00E943BA80F94B754F8016083CD -:10B090007183828393830C5F1F4FF1E1083E1F078A -:10B0A00051F70E945A78DDC30F94120687FDD9C369 -:10B0B00083E7E82E83E0F82E08ED11E1D7018D91AA -:10B0C0007D010E9472A8882339F00E943BA8F801F4 -:10B0D00064A375A386A397A30C5F1F4FF1E1083EFD -:10B0E0001F0761F7BEC38091AA1387FD94C68091A4 -:10B0F000AB138E7009F08FC640910C1250910D1257 -:10B1000060910E1270910F1287E59CE00F94B93C8C -:10B1100040911012509111126091121270911312FD -:10B1200084E59CE00F94B93C4091141250911512A3 -:10B13000609116127091171281E59CE00F94B93C52 -:10B140008AE00E9462618DC38091A91381FDA9C626 -:10B150008091AA1381FDA5C68091AB138C7009F074 -:10B16000A0C67FC31F5FF4E0EF0EF11C133011F493 -:10B170000C94C94ED6018D916D010E9472A888234E -:10B1800089F30E943BA8F7016083718382839383D4 -:10B19000812F0E949A87E6CF0F940E0862C383E541 -:10B1A0000E94BBA8882309F45CC30E9437A890932F -:10B1B00046028093450255C30F941206F82E87FD70 -:10B1C00050C383E50E94BBA80F2D0F2C000C110B60 -:10B1D000882369F10E9437A8F801EE0FFF1FE75E90 -:10B1E000FD4F91838083000F111F000F111F9801E5 -:10B1F000295B3D4F7901BC01990F880B990B0F9486 -:10B20000614C2AE037ED43E25CE30F94C04CF80157 -:10B21000EC57F44F20813181428153810F94C04C0F -:10B22000D7016D937D938D939C9313971AC30F94BD -:10B23000ED3C85E40E94626180E38F0D0E946261B3 -:10B24000F801EE0FFF1FE75EFD4F6081718186E818 -:10B250009CE00F94CA3C85E20E9462618AE00E94F1 -:10B260006261FFC280E50E9472A8882309F4F9C2D6 -:10B2700060E070E080E50E94C8A8F82E6FEF7FEFD5 -:10B2800083E50E94C8A88C010196039708F0E9C2E3 -:10B29000F7FCE7C28F2D0E948A60882339F00F9453 -:10B2A000E93C8EE89CE00F946D3CDBC20E94C578BF -:10B2B00060E08F2D0F9435350F3FBFEF1B0731F046 -:10B2C0000130110571F000E010E00DC08F2D0F94DA -:10B2D000DD3431E020E0892B09F030E0032F122F1C -:10B2E00002C001E010E08F2D0F94DD34801791072C -:10B2F00009F4B7C280E00E94A662F5CF8AE50E94F9 -:10B30000BBA8811127C683E50E94BBA8811122C674 -:10B31000A8C260E085E40E94B0FC811173C080E5A2 -:10B320000E9472A8882351F00E943BA860934B0DA5 -:10B3300070934C0D80934D0D90934E0D89E40E94B7 -:10B3400072A8882381F00E943BA82CEA35EC47E2E2 -:10B350005EE30F94C04C60934F0D7093500D80933B -:10B36000510D9093520D84E40E9472A8882381F0BD -:10B370000E943BA82CEA35EC47E25EE30F943E5472 -:10B380006093530D7093540D8093550D9093560D0B -:10B390000F94ED3C40914B0D50914C0D60914D0D33 -:10B3A00070914E0D88EC9CE00F94B93C2CEA35EC82 -:10B3B00047E25EE360914F0D7091500D8091510D09 -:10B3C0009091520D0F943E54AB01BC0184EC9CE073 -:10B3D0000F94B93C2CEA35EC47E25EE36091530DE3 -:10B3E0007091540D8091550D9091560D0F94C04C55 -:10B3F000AB01BC0180EC9CE00F94B93C8AE00E9458 -:10B4000062612FC20F94E93C8EEA9CE00F946D3C80 -:10B4100028C280E50E9472A8882351F00E943BA8B0 -:10B420006093B0097093B1098093B2099093B30906 -:10B4300089E40E9472A8882381F00E943BA82CEA2C -:10B4400035EC47E25EE30F94C04C6093B40970930F -:10B45000B5098093B6099093B70984E40E9472A855 -:10B46000882381F00E943BA82CEA35EC47E25EE39A -:10B470000F943E546093B8097093B9098093BA0948 -:10B480009093BB090F94ED3C4091B0095091B109E4 -:10B490006091B2097091B30984ED9CE00F94B93CBE -:10B4A0002CEA35EC47E25EE36091B4097091B5098E -:10B4B0008091B6099091B7090F943E54AB01BC013D -:10B4C00080ED9CE00F94B93C2CEA35EC47E25EE35A -:10B4D0006091B8097091B9098091BA099091BB093E -:10B4E0000F94C04CAB01BC018CEC9CE00F94B93CB8 -:10B4F0008AE00E946261B5C183E50E9472A8182F9C -:10B50000882371F00E943BA80F94B05470934C02B2 -:10B5100060934B0221E0672B09F020E020933F0D60 -:10B5200080E50E9472A8882359F020914B02309147 -:10B530004C02232B11F00E94A9EA80933F0D91C188 -:10B5400011118FC10F94ED3C84EF9CE00F946D3C82 -:10B5500080913F0D882319F08CED9CE002C088EDAE -:10B560009CE00F946D3C60914B0270914C0283EE15 -:10B570009CE00F94CA3C8FED9CE00F946D3C71C130 -:10B580000E9402966EC10E94C5786BC180E00E9445 -:10B59000F9730E94B1730E94D46D63C18091A913A5 -:10B5A000887809F03CC58091AB13867009F037C5E7 -:10B5B00066C50F940B0255C10F943D0152C141E085 -:10B5C00061E081E00E94BA8781114BC109EE18E366 -:10B5D000E5E0FDE0FDA3ECA39E012F5F3F4F590185 -:10B5E0004EE3842E49E3942E1901F801659175917B -:10B5F00085919491ACA1BDA1CD90DD90ED90FD9091 -:10B60000BDA3ACA3A70196010F9443532B013C01AA -:10B61000F101608371838283938320E030E040EA0C -:10B6200051EC0F94A45587FD0AC020E030E040EAB9 -:10B6300051E4C301B2010F945A4C18162CF4F401D2 -:10B64000849118160CF43FC5D101CD90DD90ED909A -:10B65000FD901D0120E030E040EA51ECC701B60149 -:10B660000F94A45587FD0AC020E030E040EA51E481 -:10B67000C701B6010F945A4C181664F40F94E93CB4 -:10B680008DE59DE00F946D3C61E08FE49DE00F94AB -:10B69000B031E7C00C5F1F4FBFEF8B1A9B0AE8E386 -:10B6A000053F1E0709F0A1CF35EDE32E39E0F32E5B -:10B6B00010E0F50181919191A191B1915F01F701A4 -:10B6C00081939193A193B1937F01812F0E949A87D7 -:10B6D0001F5F133071F70E94D46D60E08FE39DE02F -:10B6E0000F94B031BEC00E9488BBBBC00E94507195 -:10B6F000B8C061E083E50E94B9EA91E089270E9421 -:10B70000856EAFC081E08093680B0E9474B5109283 -:10B71000680B882309F4A5C00F94ED3C8BE79DE0EE -:10B720000F946D3C9EC08091E81682FF9AC08062A3 -:10B730008093E81696C00F94390693C00F941206B2 -:10B74000082F87FD8EC085E50E9472A88823B1F17D -:10B75000E02E002E000CFF080E943BA84B015C016C -:10B7600020E030E0A9010F94A45587FF04C0B7FA88 -:10B77000B094B7F8B094C70123E0880F991F2A95B9 -:10B78000E1F79C012359344F7901D9018D929D92A3 -:10B79000AD92BC92139720E030E04AEF53E4C5012C -:10B7A000B4010F94A45518164CF480E090E0AAEF71 -:10B7B000B3E4F70180839183A283B3838CE40E9476 -:10B7C00072A8882309F44DC0002E000C110B0E94B2 -:10B7D0003BA86B017C0120E030E0A9010F94A45547 -:10B7E00087FF04C0F7FAF094F7F8F09420E030E017 -:10B7F0004AEF53E4C701B6010F94A455980193E0B2 -:10B80000220F331F9A95E1F7F901E359F44F181607 -:10B810002CF0C482D582E682F78223C080E090E0DB -:10B82000AAEFB3E484839583A683B7831AC081E02B -:10B83000809352021092741760E083E50E94B9EA87 -:10B8400081110FC00E949A9D0CC00E94ADCF09C00B -:10B850008091AD13882329F00E9481A602C00E9426 -:10B86000ADCF2296FFAD2297F11102C00E94459DF7 -:10B870002CAD20938A0832C40E94C57830918C0B7D -:10B880003CAB80E00F94963A0E94F89181E080935F -:10B89000D1090E94E96B88E50E9472A8182F89E5FA -:10B8A0000E9472A8082F8AE50E9472A81013B8C1DE -:10B8B000181711F0012FB4C101E011E091E09CA72D -:10B8C0000E9477E982E50E94BBA8882361F00E946C -:10B8D0003BA86B017C0120E030E0A9010F945A4C99 -:10B8E000882369F106C0C12CD12CE0E8EE2EE0E4FB -:10B8F000FE2E111103C0002309F4FCC0C092FA0C03 -:10B90000D092FB0CE092FC0CF092FD0CA70196018A -:10B9100060910D0D70910E0D80910F0D9091100D95 -:10B920000F945A4C87FF0BC019821A821B821C820B -:10B93000BE016F5F7F4F8AEF9CE00E94F692112359 -:10B9400009F4D3C0002309F4CDC01092090D109260 -:10B950000A0D10920B0D10920C0D1092050D109205 -:10B96000060D1092070D1092080D0E94576BEEE322 -:10B97000F9E3A491A8AFE2E3F9E3C590D590E5908F -:10B98000F490E6E3F9E385909590A590B490A50135 -:10B990009401C701B6010F94A45518162CF4A70101 -:10B9A0009601C501B40104C0A5019401C701B60107 -:10B9B0000F943E542B013C01E9EFF8E385919591FA -:10B9C000A591B4918CA39DA3AEA3BFA3E5EFF8E32B -:10B9D00085919591A591B49188A799A7AAA7BBA78E -:10B9E0009C01AD016CA17DA18EA19FA10F94A455D6 -:10B9F000181634F428A439A49AA598AB1BA505C041 -:10BA00002CA03DA0AEA1A8AB1FA1A3019201C30130 -:10BA1000B2010F94C04C20E030E040E85FE30F94A7 -:10BA200044530F944256910148A9512F0F94C04C92 -:10BA300068A379A38AA39BA3EFE3F9E3149120E021 -:10BA400030E040EC5FE3C501B4010F94C04C4B0102 -:10BA50005C01612F110F770B880B990B0F94614CD0 -:10BA60009B01AC01C501B4010F94C04C69837A837A -:10BA70008B839C8320E030E040EC5FE3C701B6019C -:10BA80000F94C04C6B017C01B8AD6B2FBB0F770BD3 -:10BA9000880B990B0F94614C9B01AC01C701B60157 -:10BAA0000F94C04C6C8F7D8F8E8F9F8FAE01405E48 -:10BAB0005F4FBE016F5F7F4FCE014C960E94D492C4 -:10BAC0000E94F86B1092090D10920A0D10920B0D46 -:10BAD00010920C0D1092050D1092060D1092070D8C -:10BAE0001092080D80E00E947086002319F081E01A -:10BAF0000E947086ECA5EE2309F484C08091D213D5 -:10BB00008370833051F060E083E998E00F94B031A6 -:10BB10000F94ED3C84E898E071C00E94576B8091CF -:10BB20000D0D90910E0DA0910F0DB091100D809301 -:10BB3000FA0C9093FB0CA093FC0CB093FD0C20919D -:10BB4000B00B3091B10B4091B20B5091B30B60E050 -:10BB500070E088E492E40F9443536B017C0160939E -:10BB6000F20C7093F30C8093F40C9093F50C2091ED -:10BB7000B40B3091B50B4091B60B5091B70B60E010 -:10BB800070E088E492E40F9443534B015C016093AE -:10BB9000F60C7093F70C8093F80C9093F90C27E156 -:10BBA00037EB41ED58EB0F94A45587FD1EC023E001 -:10BBB00030E04BE953E4C501B4010F945A4C181618 -:10BBC000A4F027E137EB41ED58EBC701B6010F9424 -:10BBD000A45587FD0AC023E030E84DE953E4C701CE -:10BBE000B6010F945A4C1816ECF460E083E798E025 -:10BBF0000F94B0310F94ED3C81E698E00F946D3CCA -:10BC00000E94B1730E94576B8091D0098093D10933 -:10BC10008CA90F94963A0E94DF910E94D46D21CE98 -:10BC20008CA74ECE19821A821B821C82AE014F5FF6 -:10BC30005F4F66EF7CE082EF9CE00E94D49282E04E -:10BC40000E947086DDCFB1100C94C0510C94B95194 -:10BC500080E00E94A6620C94EC5188E50E9472A8D4 -:10BC600081115F9889E50E9472A881118A988AE5FE -:10BC70000E9472A8882329F0809108018170809326 -:10BC8000060185E40E9472A8882309F4EACD12987F -:10BC9000E8CD60E08FEF98E00F94B0315F988A981C -:10BCA000809108018170809306011298DACD0E947C -:10BCB00027A8AB01BC014093E4165093E5166093AE -:10BCC000E6167093E71681E794E10E94389EC9CD8D -:10BCD00061E0802F0F9435356F2D802F0F9406353E -:10BCE0006F2D70E0802F0F94713587E0E81203C04C -:10BCF000F0922E0DB6CD99E0E912B3CDF0922D0D54 -:10BD0000B0CD0E9495EA90E08536910514F084E666 -:10BD100090E080937617A5CD0E94C0760C940C55C8 -:10BD2000A3019201C501B4010F94A45518163CF06B -:10BD300087EE99E060E00F94B0310C942C5584EFBD -:10BD400099E0F8CF0E943BA80F94B054CB010E9419 -:10BD500069E90E943BA820E030E040EA50E40F94FB -:10BD6000A455181614F40E94C0766091AD09709124 -:10BD7000AE09072E000C880B990B0F94614C209193 -:10BD8000A9093091AA094091AB095091AC090F94CF -:10BD9000A45518161CF48CE29AE002C08DE19AE0DA -:10BDA00060E00F94B031812F0E94BCF35ACD0E9405 -:10BDB000C57888E50E9472A8882331F05F9A809147 -:10BDC000D2138E7F8093D21389E50E9472A88823B4 -:10BDD00031F08A9A8091D2138D7F8093D2138AE5B5 -:10BDE0000E9472A8882359F0809108018095817083 -:10BDF000809306018091D2138B7F8093D21385E4C8 -:10BE00000E9472A8882309F42CCD0E94886029CD55 -:10BE10000E94067A26CD83E50E94BBA8882391F074 -:10BE20000E943BA860930C1270930D1280930E1227 -:10BE300090930F1260931412709315128093161240 -:10BE40009093171280E50E94BBA8882351F00E94AE -:10BE50003BA860930C1270930D1280930E12909376 -:10BE60000F1282E50E94BBA8882351F00E943BA8D4 -:10BE70006093101270931112809312129093131208 -:10BE800084E50E94BBA8882309F4EBCC0E943BA860 -:10BE900060931412709315128093161290931712D8 -:10BEA000E0CC82E40E9472A8882351F00F94012D07 -:10BEB0006093E8117093E9118093EA119093EB116C -:10BEC00083E50E9472A8882351F00E943BA86093EA -:10BED00018127093191280931A1290931B1284E512 -:10BEE0000E9472A8882351F00E943BA860931C1204 -:10BEF00070931D1280931E1290931F128AE40E9469 -:10BF000072A8882309F4ADCC0E943BA86B017C0188 -:10BF10002AE037ED43E25CE30F94A45587FD13C09C -:10BF20002AE939E949E95EE3C701B6010F945A4CA1 -:10BF300018164CF0C092150DD092160DE092170D08 -:10BF4000F092180D8ECC0F94E93C87E69CE00F949C -:10BF50006D3C87CC0E943BA820E030E040E050ECF4 -:10BF60000F945A4C87FD15C00E943BA820E030E09A -:10BF700040E050E40F94A45518162CF00E943BA802 -:10BF80006B017C010BC0C12CD12CE12C60E4F62E9E -:10BF900005C0C12CD12CE12C50ECF52E2091F411D0 -:10BFA0003091F5114091F6115091F711C701B6018A -:10BFB0000F94C04C0F94B054CB010F94232880E50C -:10BFC0000E9472A8882329F00E94A9EA882309F414 -:10BFD00048CCA70196016091B80B7091B90B809184 -:10BFE000BA0B9091BB0B0F9444536093B80B7093B2 -:10BFF000B90B8093BA0B9093BB0B0F94ED3C40911F -:10C00000B80B5091B90B6091BA0B7091BB0B8DE9D5 -:10C010009CE00F94B93C8AE00E94626122CC88E4E3 -:10C020000E9472A8882321F00E94A9EA80938808C0 -:10C0300082E50E9472A8082F83E50E9472A8182F3B -:10C04000011102C0882351F01092A3090E94AF6031 -:10C05000112321F00E94A9EA80934D0284E40E94FA -:10C0600072A8882309F4FDCB0E943BA860931502B7 -:10C07000709316028093170290931802F2CB0F94DC -:10C08000ED3C8EE29DE00F946D3C80914D0281115C -:10C0900017C087E09DE00F946D3C8AE00E946261CA -:10C0A000409115025091160260911702709118028A -:10C0B0008EE09DE00F94B93C8AE00E946261D1CB92 -:10C0C0008BE09DE0E8CFF7FAF094F7F8F094D10117 -:10C0D000CD92DD92ED92FC921397B6CACF5BDF4F03 -:10C0E0000FB6F894DEBF0FBECDBFDF91CF911F9189 -:10C0F0000F91FF90EF90DF90CF90BF90AF909F9007 -:10C100008F907F906F905F904F903F902F90089509 -:10C11000129A0895FF920F931F93CF93DF931F926C -:10C12000CDB7DEB7F82E0CED1FE241E050E0B801CC -:10C13000CE0101960F94944B89818F1102C081E04A -:10C1400007C00F5F1F4F8FE2053F180771F780E0B0 -:10C150000F90DF91CF911F910F91FF9008958091E3 -:10C16000150290911602A0911702B09118028093C7 -:10C17000381290933912A0933A12B0933B1208955B -:10C1800080919808811107C00E945071882319F08E -:10C1900081E0809398080895EDE2FDE0108211821D -:10C1A00008958F929F92AF92BF92CF92DF92EF92BB -:10C1B000FF920F93CF93DF931F92CDB7DEB75C0151 -:10C1C0006B017A014901F501808191810F948A52B6 -:10C1D0008983002311F0F6018083BE016F5F7F4FDA -:10C1E000C4010F94C524F50180819181019691834A -:10C1F0008083FFEFCF1ADF0A81E0E81AF10819F710 -:10C2000080E00F90DF91CF910F91FF90EF90DF9042 -:10C21000CF90BF90AF909F908F9008957F928F9214 -:10C220009F92AF92BF92CF92DF92EF92FF920F93C5 -:10C230001F93CF93DF931F92CDB7DEB77C015901D7 -:10C240008B016B01C40ED51E0C151D0559F1F701AC -:10C2500080809180F80171908F017982C4010F94E0 -:10C260008A52781691F0672DC4010F949252C4013E -:10C270000F948A529981891741F00F94ED3C82EC1A -:10C280009FE20F946D3C81E00EC0BE016F5F7F4F57 -:10C29000C5010F94C524F701808191810196918396 -:10C2A0008083D2CF80E00F90DF91CF911F910F91CB -:10C2B000FF90EF90DF90CF90BF90AF909F908F90C6 -:10C2C0007F9008959091C00095FFFCCF8093C600A9 -:10C2D00008958F929F92AF92BF92EF92FF920F9329 -:10C2E0001F93CF93DF93CDB7DEB7A0970FB6F89427 -:10C2F000DEBF0FBECDBF611571058105910591F1BE -:10C3000000E0842E912CA12CB12C102FEE24E3946C -:10C31000F12CEC0EFD1EE00EF11C07FDFA94A501B8 -:10C3200094010F94B052F7016083B901CA010F5F05 -:10C33000611571058105910541F71F3F31F1E1E07C -:10C34000F0E0EC0FFD1FE10FF11D17FDFA95808164 -:10C350008A3010F097E301C090E3890F0E94626178 -:10C360001150EBCF80E3A0960FB6F894DEBF0FBE5E -:10C37000CDBFDF91CF911F910F91FF90EF90BF90B4 -:10C38000AF909F908F900C946261A0960FB6F89436 -:10C39000DEBF0FBECDBFDF91CF911F910F91FF90F8 -:10C3A000EF90BF90AF909F908F900895CF92DF92C3 -:10C3B000EF92FF926B017C0197FF0BC08DE20E9410 -:10C3C0006261F094E094D094C094C11CD11CE11C33 -:10C3D000F11C4AE0C701B601FF90EF90DF90CF90CB -:10C3E0000C946961AB01672B11F40C946261BC0180 -:10C3F000990F880B990B4A30510511F40C94D661B2 -:10C400000C9469618F929F92AF92BF92CF92DF920C -:10C41000EF92FF92CF936B017C01B42E20E030E0CD -:10C42000A9010F945A4C87FF07C08DE20E946261F8 -:10C43000F7FAF094F7F8F094C0E060E070E080E084 -:10C440009FE3CB1541F02DEC3CEC4CEC5DE30F94FD -:10C45000C04CCF5FF6CF9B01AC01C701B6010F9472 -:10C4600044536B017C010F94B7544B015C014AE0CB -:10C470000E946961CC2391F1C501B4010F945F4C16 -:10C480009B01AC01C701B6010F9443536B017C01C2 -:10C490008EE20E94626120E030E040E251E4C70198 -:10C4A000B6010F94C04C4B015C010F94B0546B016A -:10C4B0007C016AE070E0C6010E94F261B601DD0C09 -:10C4C000880B990B0F94614C9B01AC01C501B40121 -:10C4D0000F9443536B017C01C150E9F6CF91FF905B -:10C4E000EF90DF90CF90BF90AF909F908F90089586 -:10C4F0000C9402628DE00E9462618AE00C94626199 -:10C50000CF93DF93EC018991882319F00E94626137 -:10C51000FACFDF91CF910C947A62EDE9F8E0808157 -:10C520008183089580919D0890919E08981759F0F5 -:10C53000E92FF0E0E356F74F82819F5F9F7790935A -:10C540009E0890E008958FEF9FEF08952F923F92FD -:10C550004F925F926F927F928F929F92AF92BF9213 -:10C56000CF92DF92EF92FF920F931F93CF93DF93BF -:10C57000CDB7DEB728970FB6F894DEBF0FBECDBF9C -:10C58000E82E0E94EC2E0F9493364B015C018091B3 -:10C59000DE0C81112FC080910002882359F1809117 -:10C5A0008A08882339F14091990850919A0860913E -:10C5B0009B0870919C0895018401041B150B260BA8 -:10C5C000370B37FD2AC0833079F03CF4813094F08A -:10C5D0000F94ED3C84E290E30BC0843059F40F9447 -:10C5E000ED3C85EF9FE204C00F94ED3C8DE090E3BD -:10C5F0000F946D3C2091000230E0A8EEB3E00F9460 -:10C600000453860E971EA81EB91E80929908909218 -:10C610009A08A0929B08B0929C0880914D028823B2 -:10C6200019F18091A30981111FC08091E81682FD44 -:10C6300008C080919F0B813021F08091BC0B882332 -:10C6400099F0F89464991EC660913812709139126D -:10C6500080913A1290913B12789420E030E0A90149 -:10C660000F945A4C87FD9EC58091650B843008F06D -:10C670007FC20F9493364B015C018091650B811151 -:10C680001DC080919D0890919E08891B8F77B1F401 -:10C690008091840990918509A0918609B0918709BC -:10C6A000A5019401281B390B4A0B5B0BDA01C90168 -:10C6B000885E9340A109B109B7FFF5C570E6F72E72 -:10C6C0008091650B843008F036C180919D0890916F -:10C6D0009E08891B8F7709F42EC10E949262AC01DB -:10C6E00097FDEECF2091D60C3091D70C8A3019F0FF -:10C6F0008D3009F0E8C0109283092115310519F435 -:10C700000E94E8D0DDCFF901ED5DF64F1082109266 -:10C71000D70C1092D60C03E219E0F8018191803217 -:10C7200011F48F01FACF8E3409F07AC0011511058A -:10C7300009F476C066EA71E3C8010F94D84B6C0126 -:10C74000892B41F06EE470E0C80104960F94EA571B -:10C75000009709F4C8014AE050E060E070E00196FB -:10C760000F94504960931F09709320098093210909 -:10C77000909322094090D80C5090D90C6090DA0C1C -:10C780007090DB0C3FEF431A530A630A730A641577 -:10C7900075058605970531F0CD2821F460E083E723 -:10C7A00091E3C7C06AE270E0C8010F9419589C0178 -:10C7B000009709F1982F901BD12C992339F09150B3 -:10C7C000F801E90FF11D8081D826F7CF4AE050E04B -:10C7D00060E070E0C90101960F9450494D2C512C36 -:10C7E000612C712C641575058605970541F060E094 -:10C7F00084E591E39EC060E08AE291E39AC0809173 -:10C800001F0990912009A0912109B09122098093DC -:10C81000D80C9093D90CA093DA0CB093DB0C12C017 -:10C820008091E81680FF0EC062E273E3C8010F94A6 -:10C83000D84B009709F47AC0FC01838180538A3079 -:10C8400008F474C08091520281111CC067E470E04A -:10C85000C8010F94EA570097A9F04AE050E060E061 -:10C8600070E001960F94504964307105810591057F -:10C8700048F489E890E30F946D3C60E08FE790E323 -:10C880000F94B0318092840990928509A092860914 -:10C89000B0928709809123098B3309F411CF8091DD -:10C8A000650B843008F00CCF8091E109F89EC0013F -:10C8B000112463E279E08C51964F0F94F55781E093 -:10C8C0000F94880AFDCE2F3531050CF0F9CE8C354A -:10C8D000C1F40E94926297FDF3CE20918309211149 -:10C8E000EFCE2091D60C3091D70CA9014F5F5F4F4E -:10C8F0005093D70C4093D60CF901ED5DF64F808331 -:10C90000DFCE8B3321F481E080938309D9CE8091EF -:10C9100083098111D5CEC90101969093D70C8093DC -:10C92000D60CF901ED5DF64F4083CACE60E080E0A1 -:10C9300091E30E94B49D8091E81682FF19C1809115 -:10C94000650B811102C010928909DD24D3944091B6 -:10C95000E4165091E5166091E6167091E716809105 -:10C96000E0169091E116A091E216B091E3164817F7 -:10C9700059076A077B0708F4D12C00E010E0CC24AB -:10C98000C39440E6B42E54E6A52E69E6962E809117 -:10C99000650B843008F0ECC0D110EAC080918909A1 -:10C9A0008111E6C08091791490917A14A0917B1442 -:10C9B000B0917C148093E4169093E516A093E6164C -:10C9C000B093E71641E050E0BE016F5F7F4F81E713 -:10C9D00094E10E941DA2019719F4898190E002C0A0 -:10C9E0008FEF9FEFF82E4090E4165090E516609080 -:10C9F000E6167090E7164091E0165091E1166091AE -:10CA0000E2167091E316DD24D394441655066606AB -:10CA1000770608F4D12C4416550666067706B0F45E -:10CA2000019609F461C02AE0F21609F46EC03DE0F7 -:10CA3000F31609F46AC043E2F41619F05AE3F5124A -:10CA40007CC080918809811178C054C00E94C5784B -:10CA500081E794E10E94A4A18091DF16882339F137 -:10CA600081508093DF16989EC001112441E061E05F -:10CA70008F53944F0E94D680E091DF1664E0E69FCA -:10CA8000F0011124E354F44F40815181628173819C -:10CA90004093E4165093E5166093E6167093E716FC -:10CAA00081E794E10E94389E0E948B7D16C00E940F -:10CAB0007A7D0E94067A0E9470770F94552E6D330E -:10CAC00071058105910518F481EB91E302C086EBB5 -:10CAD00091E30E94DD9DA09276178091E81682FD79 -:10CAE0000DC089EC91E304C00F94E93C8AEB91E31B -:10CAF0000F946D3C73E2F71208C005C053E2F512C3 -:10CB0000DFC300E010E0C092890910928809011586 -:10CB1000110519F40E94E8D00DC08091E109B89E7A -:10CB2000000D111D1124F801EC51F64F108280E028 -:10CB30000F94880A00E010E02ACF0F35110508F0A5 -:10CB400026CF8BE3F81203C0C092880920CF8091D2 -:10CB5000880981111CCF8091E109F801B89EE00D90 -:10CB6000F11D1124EC51F64FF0820F5F1F4F0FCFD4 -:10CB70000F9493364B015C014091840850918508D5 -:10CB8000609186087091870841155105610571050E -:10CB900029F18091CA139091CB13A091CC13B0913D -:10CBA000CD13840F951FA61FB71F95018401081B85 -:10CBB000190B2A0B3B0B37FD11C00F94E93C609118 -:10CBC000030D7091040D8DED91E30F94D63C8AE036 -:10CBD0000E94626180E090E00F94D42540910102B0 -:10CBE00050910202609103027091040241155105B7 -:10CBF0006105710509F44EC09091E8148091E91423 -:10CC0000981759F00F9493366093CA137093CB130F -:10CC10008093CC139093CD133DC08091BC0B8111B8 -:10CC200037C0E11035C08091CA139091CB13A09109 -:10CC3000CC13B091CD13840F951FA61FB71FA5016C -:10CC40009401281B390B4A0B5B0B57FD21C08091C7 -:10CC50009A0981111FC081E080939A095F9A80919F -:10CC6000D2138E7F8093D2138A9A8091D2138D7FB4 -:10CC70008093D21380910801809581708093060182 -:10CC80008091D2138B7F8093D2130E94886002C060 -:10CC900010929A098091960990919709A09198090C -:10CCA000B0919909B501A401481B590B6A0B7B0B84 -:10CCB00077FDBCC12091E8149091E91480915C0249 -:10CCC00010915D02291317C060912D0D869FB00150 -:10CCD0001124660F672F661F770B7195062F8091C1 -:10CCE0002E0D819FB0011124660F672F661F770BF1 -:10CCF0007195162F29C02091E91458E4259F9001C1 -:10CD00001124295A324FF901EA5BFF4F6081869F57 -:10CD1000B0011124660F672F661F770B7195062FE0 -:10CD200031968081819FB0011124660F672F661FA5 -:10CD3000770B7195162F8091E9149091E81498174C -:10CD400019F08F5F8F70F9CF002331F10F94933674 -:10CD5000C0908E09D0908F09E0909009F0909109D1 -:10CD6000DC01CB01C114D104E104F10469F48C5954 -:10CD70009F4FAF4FBF4F80938E0990938F09A09321 -:10CD80009009B093910906C08C199D09AE09BF099D -:10CD9000B7FF0AC00FEF08C010928E0910928F09DA -:10CDA0001092900910929109602F70E089E00F9421 -:10CDB0007135112331F10F949336C0909209D090C0 -:10CDC0009309E0909409F0909509DC01CB01C1141E -:10CDD000D104E104F10469F48C599F4FAF4FBF4F68 -:10CDE0008093920990939309A0939409B093950925 -:10CDF00006C08C199D09AE09BF09B7FF0AC01FEF15 -:10CE000008C01092920910929309109294091092FE -:10CE10009509612F70E087E00F94713580917D1343 -:10CE2000882309F4F6C0E0901F02F09020020091E0 -:10CE30002102109122026091480D7091490D6E5FA0 -:10CE40007F4F072E000C880B990B0F94614C9701B4 -:10CE5000A8010F945A4C87FDDCC03090E914212CB6 -:10CE60001A821B821C828091E814831509F467C022 -:10CE7000832D90E068E4689FF001699FF00D112414 -:10CE8000E95AF24F458956896789708D452B462BA3 -:10CE9000472B89F4418D528D638D748D452B462B24 -:10CEA000472B49F4458D568D678D70A1452B462B38 -:10CEB000472B09F43FC078E4789F9001799F300DAB -:10CEC0001124C901895A924F6C01FC016181728160 -:10CED000838194810F9442562B013C01F60161A19C -:10CEE00072A183A194A10F945F4C6D837E838F8385 -:10CEF0009887F60165A176A187A190A50F945F4C54 -:10CF00009B01AC016D817E818F8198850F943E5489 -:10CF1000A30192010F94C04C3B016C01222D3A8178 -:10CF20004B815C810F94A455181624F4262C7A8228 -:10CF3000CB82DC8281E0830D8F70382E94CF2091DC -:10CF40002302309124024091250250912602622D45 -:10CF50007A818B819C810F94C04C9701A8010F941A -:10CF600044533B016C0120901B0230901C02409006 -:10CF70001D0250901E029B01AC01B701C8010F9425 -:10CF8000A45518166CF09101A201B301C6010F94CB -:10CF9000A45518161CF47101820102C073018601A8 -:10CFA00040908A0950908B0960908C0970908D098F -:10CFB0009701A801C301B2010F94A4551816C4F437 -:10CFC00020E037ED43EA5CE3B701C8010F94C04CA1 -:10CFD0006B017C0128E431EE4AE75FE3C301B20153 -:10CFE0000F94C04CA70196010F9444537B018C0110 -:10CFF000C701D80180938A0990938B09A0938C096B -:10D00000B0938D09B701C8010F94B054CB010E94B1 -:10D0100096A6F4E68F0E911CA11CB11C8092960975 -:10D0200090929709A0929809B09299090E94E8D02D -:10D0300080919F0B813009F06EC00F9493366B0185 -:10D040007C0180919F099091A009A091A109B091C4 -:10D05000A20997018601081B190B2A0B3B0B37FD10 -:10D060003AC08090A00B9090A10BA090A20BB09022 -:10D07000A30B0F94552E6093A00B7093A10B80937C -:10D08000A20B9093A30B0091C4091091C5092091A4 -:10D09000C6093091C709081919092A093B09DC0199 -:10D0A000CB01800F911FA21FB31F8093C4099093DF -:10D0B000C509A093C609B093C709D701C601805F0F -:10D0C000984DAF4FBF4F80939F099093A009A093B5 -:10D0D000A109B093A20980919B0990919C09A0910C -:10D0E0009D09B0919E09A7019601281B390B4A0B97 -:10D0F0005B0B57FD10C030E8C30E3EEED31EE11CA3 -:10D10000F11CC0929B09D0929C09E0929D09F0927B -:10D110009E090E944A778091DE0C8111F2C08091B5 -:10D120007F08882391F00F94933600917B0810912B -:10D130007C0820917D0830917E08DC01CB01801BAA -:10D14000910BA20BB30BB7FFBEC00F9493366B01CC -:10D150007C0120917A08222309F4D3C080917608BB -:10D1600090917708A0917808B0917908B701A6014D -:10D17000481B590B6A0B7B0B77FDC3C030E0A8EE50 -:10D18000B3E00F940453C60ED71EE81EF91EC092DA -:10D190007608D0927708E0927808F09279080E9499 -:10D1A000537DAFC011E01093A3098091BC0B811196 -:10D1B00066C083E196E00E94806284E08093990BD0 -:10D1C00082E08093560881E09AE590936D158093F4 -:10D1D0006C158EE490E090936F1580936E1587E048 -:10D1E0008093601582E88093631584E890E0A0E066 -:10D1F000B0E08093641590936515A0936615B09385 -:10D2000067150F942E251093DE120E94D4DC40E0A7 -:10D210006EE670E38CEB99E40E94ECDC80E30E9404 -:10D2200062618AE00E9462610E94E0DC809188086D -:10D2300060E0182719F08CE998E40DC08CE590E3C4 -:10D240000E94BCDC80E30E9462618AE00E9462610D -:10D2500060E086E390E30E94BCDC8AE490E30F94F4 -:10D260006D3C80E30E9462618AE00E94626111234A -:10D2700031F08CE390E39093E3098093E2090E94FC -:10D28000C578F2C98091150290911602A0911702FB -:10D29000B09118028093381290933912A0933A12E9 -:10D2A000B0933B12D1C98BEA91E30F946D3C80920D -:10D2B000840990928509A0928609B0928709FEC9D7 -:10D2C0001092880927CC0F9493366B017C01209132 -:10D2D0007F0830E0A8EEB3E00F940453C60ED71ECB -:10D2E000E81EF91EC0927B08D0927C08E0927D086F -:10D2F000F0927E0880E00E944AF38AE00E94626118 -:10D3000024CF28960FB6F894DEBF0FBECDBFDF91B5 -:10D31000CF911F910F91FF90EF90DF90CF90BF9032 -:10D32000AF909F908F907F906F905F904F903F90C5 -:10D330002F9008951F920F920FB60F9211240F9005 -:10D340000FBE0F901F9018951F920F920FB60F925D -:10D3500011240BB60F920F931F932F933F934F936C -:10D360005F936F937F938F939F93AF93BF93CF936D -:10D37000DF93EF93FF9300919E08D0919D0811E0F9 -:10D380001D0F1F77C091C60090919708492F092E55 -:10D39000000C550B660B770B4131510508F064C04A -:10D3A000FA018827E256FF4F8F4F0D943B53CD343F -:10D3B00049F0CE34B9F481E006C0CA3338F0CD3438 -:10D3C00009F043C082E08093970876C0C03308F02C -:10D3D00073C0C03209F470C0CD32B9F56DC0C1332D -:10D3E00051F018F4C03289F567C0C43331F0C83346 -:10D3F00061F58BE0E8CF83E0E6CF88E0E4CFC0338F -:10D4000021F0C13311F586E0DECF84E0DCCFC833F4 -:10D41000E1F485E0D8CFC233C1F487E0D4CFC13383 -:10D42000A1F489E0D0CFC03381F48AE0CCCFC733F8 -:10D4300061F48CE0C8CFC63341F48DE0C4CFC03274 -:10D44000D9F1C33511F48EE0BECF80E1BCCF80EDC1 -:10D450008C0F8A3088F59FE0909397088093960808 -:10D460002BC0CA3049F526C0CA3031F58091CE159F -:10D47000882301F1973089F03CF49530D9F410926B -:10D4800014021092751716C09A3059F09F3091F41B -:10D49000809196080E9418DD0DC081E080935A1299 -:10D4A00009C00E945C7A0E94C5788EEF0E94E96AEA -:10D4B0000E94576B10929708011731F0ED2FF0E0A2 -:10D4C000E356F74FC283D12FD0939D08FF91EF9180 -:10D4D000DF91CF91BF91AF919F918F917F916F918C -:10D4E0005F914F913F912F911F910F910F900BBE24 -:10D4F0000F900FBE0F901F9018958EBD0DB407FEB4 -:10D50000FDCF08958FEF8EBD0DB407FEFDCF8EB514 -:10D510000895909164009B7F90936400982F906A87 -:10D5200096959CBD80FD03C091E0863009F490E0A3 -:10D530009DBD0895CF93C82FCB01009711F00F9494 -:10D540006D3C89E996E30F946D3CC11103C08AE8F4 -:10D5500096E302C08FE896E30F946D3C8AE0CF918A -:10D560000C946261CF92DF92EF92FF920F931F9320 -:10D57000C12CD12C76018C0121E13DE04DE05DE034 -:10D5800069E07DE085E09DE00E94F1CE1F910F9162 -:10D59000FF90EF90DF90CF900895CF93DF9380E0DE -:10D5A0000E94F079C6E7DBE0688379838A839B83F6 -:10D5B00081E00E94F0796C837D838E839F8382E07B -:10D5C0000E94F079688779878A879B87DF91CF915E -:10D5D00008951F93CF93DF93CDB7DEB760970FB653 -:10D5E000F894DEBF0FBECDBF182F0E94CD6A809188 -:10D5F000760B9091770BA091780BB091790B898382 -:10D600009A83AB83BC8380917A0B90917B0BA09122 -:10D610007C0BB0917D0B8D839E83AF83B887809107 -:10D620007E0B90917F0BA091800BB091810B89872D -:10D630009A87AB87BC878091110D9091120DA091B4 -:10D64000130DB091140D8D879E87AF87B88BCE01D7 -:10D6500001960E94837A1E3F51F480E1FE013196CB -:10D66000A5E0BDE001900D928A95E1F716C024E097 -:10D67000129FC0011124FC01EB5FF24FA1E0B0E06A -:10D68000AC0FBD1FA80FB91F8D919D910D90BC913E -:10D69000A02D80839183A283B38360960FB6F89404 -:10D6A000DEBF0FBECDBFDF91CF911F9108950C94C7 -:10D6B00047CF8091D109811105C08091D309811193 -:10D6C00001C008958091820B659B02C0816001C0FA -:10D6D0008E7F8093820B909103018091820B91FF4A -:10D6E00002C0826001C08D7F8093820B8091820B8B -:10D6F0004B9B02C0846001C08B7F8093820B809122 -:10D700003C1280FF10C08091D20980FF0CC0809134 -:10D71000820B80FF08C08091660B81608093660B4E -:10D7200080E00E94EFD480913C12869580FF11C06A -:10D730008091D209869580FF0CC08091820B81FF79 -:10D7400008C08091660B82608093660B81E00E9426 -:10D75000EFD480913C128695869580FF16C080910B -:10D76000D2098695869580FF10C08091D3098823C1 -:10D7700061F08091820B82FF08C08091660B84600B -:10D780008093660B82E00C94EFD4089587EB96E3C8 -:10D790000F946D3C8CB161EB76E385FB882780F9B3 -:10D7A0000E949A6A809103016BEA76E38695817004 -:10D7B0000E949A6A89B165EA76E383FB882780F93B -:10D7C0000E949A6A8CB16CE976E3829581700C9420 -:10D7D0009A6A8091D109811104C08091D30988236C -:10D7E00031F062E070E080E090E00D94013C08953B -:10D7F0008091660B882319F01092660B08958CE7D0 -:10D8000096E30F94D425A8EDB1E120E030E0C90102 -:10D810002430310510F083E090E0880F991F880FC5 -:10D82000991FFC01E453FC4C45915591659174910D -:10D8300054964D935D936D937C935797FC01E454FC -:10D84000FC4C459155916591749194964D935D93DF -:10D850006D937C939797FC01E455FC4C4591559151 -:10D86000659174914D935D936D937D932F5F3F4FC1 -:10D870002430310509F0CBCF80E29EE4A0E0B0E097 -:10D880008093E8119093E911A093EA11B093EB1102 -:10D8900080E090E0A6E9B3E480930C1290930D121F -:10D8A000A0930E12B0930F1240E050E06AE774E4C8 -:10D8B000409310125093111260931212709313122E -:10D8C0008093141290931512A0931612B09317120E -:10D8D000109218121092191210921A1210921B1212 -:10D8E00010921C1210921D1210921E1210921F12F2 -:10D8F0008AE097EDA3EABDE38093150D9093160D92 -:10D90000A093170DB093180D8CE0E5EDF9E0DF0161 -:10D910001D928A95E9F781E080934D021092A30948 -:10D920000E94AF6080E090E0A0EAB0E4809315022E -:10D9300090931602A0931702B09318028DE696E01A -:10D940000E9480621092690B10926A0B10926B0B0E -:10D9500010926C0B80E00F94963A0F94BE3A80E0E0 -:10D9600090E0A8EDB1EC8093B00B9093B10BA09335 -:10D97000B20BB093B30B1092B40B1092B50B109284 -:10D98000B60B1092B70B1092B80B1092B90B109205 -:10D99000BA0B1092BB0B80E090E0AAECB1E480934C -:10D9A0004B0D90934C0DA0934D0DB0934E0D85E60D -:10D9B00098E0A6EBBEE380934F0D9093500DA0939B -:10D9C000510DB093520D81E09FE1A0EEB3E480933E -:10D9D000530D9093540DA093550DB093560D83ECB9 -:10D9E00095E9ACE2B4E48093B0099093B109A093B7 -:10D9F000B209B093B30980E29BE1A2E9B1E480935C -:10DA0000B4099093B509A093B609B093B70987EF0D -:10DA10009CEDABECB5E48093B8099093B909A09361 -:10DA2000BA09B093BB091092830B80E090E0A0EE9E -:10DA3000BFE38093880B9093890BA0938A0BB093DC -:10DA40008B0B1092D1091092D0090E94E96B80E0F3 -:10DA500090E0A7EDB3E480936D0B90936E0BA093D1 -:10DA60006F0BB093700B8093710B9093720BA0931C -:10DA7000730BB093740B0F94112D8DE696E00C94FC -:10DA8000806280910E1590910F158851934060E946 -:10DA900070E00F941353CB010895EF92FF920F9310 -:10DAA0001F93CF93DF9300D01F92CDB7DEB7182F0F -:10DAB0007B010E94416D17FD2FC0212F110F330BE9 -:10DAC000281739074CF52F5F3F4F80E9829FA0014F -:10DAD000839F500D112480910E1590910F15841B7A -:10DAE000950B9C838B831A821982E114F10411F047 -:10DAF000B70102C06FE27CE001E09E012F5F3F4F63 -:10DB000040E950E0CE0103960E94D160882321F0C5 -:10DB100080E993E30F946D3C0F900F900F900F905E -:10DB2000DF91CF911F910F91FF90EF9008951F9378 -:10DB3000CF93DF9300D01F92CDB7DEB7182F0E948E -:10DB4000416D17FD29C0212F110F330B28173907FD -:10DB50001CF52F5F3F4F80E9829FA001839F500DEE -:10DB6000112480910E1590910F15841B950B9C83A9 -:10DB70008B831A8219829E012F5F3F4F40E950E04C -:10DB80006FE27CE0CE0103960E940E61882321F0B3 -:10DB900084E793E30F946D3C0F900F900F900F90DC -:10DBA000DF91CF911F9108954F925F926F927F9274 -:10DBB0008F929F92AF92BF92CF92DF92EF92FF929D -:10DBC0002091A40B3091A50B4091A60B5091A70B6F -:10DBD0006091050D7091060D8091070D9091080DD3 -:10DBE0000F944453AB01BC018FEE96E30F94B93C04 -:10DBF0002091A80B3091A90B4091AA0B5091AB0B2F -:10DC00006091090D70910A0D80910B0D90910C0D92 -:10DC10000F944453AB01BC018BEE96E30F94B93CD7 -:10DC20002091AC0B3091AD0B4091AE0B5091AF0BEE -:10DC300060910D0D70910E0D80910F0D9091100D52 -:10DC40000F944453AB01BC0187EE96E30F94B93CAB -:10DC50004091110D5091120D6091130D7091140DA2 -:10DC600083EE96E30F94B93C80916F00982F9270E9 -:10DC700081FF05C080916F008D7F80936F00409081 -:10DC80004A1250904B1260904C1270904D1280903E -:10DC90004E1290904F12A0905012B0905112C0901E -:10DCA0005212D0905312E0905412F09055129923D2 -:10DCB00029F080916F00826080936F0089ED96E378 -:10DCC0000F946D3CC301B2010E94D66185ED96E3CD -:10DCD0000F946D3CC501B4010E94D66181ED96E3BD -:10DCE0000F946D3CC701B6010E94D6618AE0FF9097 -:10DCF000EF90DF90CF90BF90AF909F908F907F90EC -:10DD00006F905F904F900C946261CF93C82F8111F8 -:10DD100002C00F94ED3C85E696E30F946D3C8FE5D1 -:10DD200096E30F946D3C8AE00E9462618AE00E9453 -:10DD30006261C11114C00F94ED3C8CE496E30F9422 -:10DD40006D3C8091830B882321F08AE00E94626100 -:10DD500004C081E496E30F946D3C0F94ED3C409138 -:10DD6000880B5091890B60918A0B70918B0B88E323 -:10DD700096E30F94B93C8AE00E9462618091830B24 -:10DD8000811108C0C11102C00F94ED3C8DE296E3F1 -:10DD90000F946D3CC11106C00F94ED3C8CE196E3ED -:10DDA0000F946D3C6FEF81E08C270F94C308C11175 -:10DDB00008C00F94ED3C8EEF95E30F946D3C0F94EB -:10DDC000ED3C4091FC115091FD116091FE1170915C -:10DDD000FF1185EF95E30F94B93C409100125091EB -:10DDE0000112609102127091031282EF95E30F9479 -:10DDF000B93C409104125091051260910612709145 -:10DE000007128FEE95E30F94B93C409108125091A0 -:10DE1000091260910A1270910B128CEE95E30F9427 -:10DE2000B93C8AE00E946261C11108C00F94ED3CC8 -:10DE30008AEC95E30F946D3C0F94ED3C6091D81102 -:10DE40007091D9118091DA119091DB110F945F4C90 -:10DE5000AB01BC0181EC95E30F94B93C6091DC11FE -:10DE60007091DD118091DE119091DF110F945F4C64 -:10DE7000AB01BC018EEB95E30F94B93C6091E011CE -:10DE80007091E1118091E2119091E3110F945F4C38 -:10DE9000AB01BC018BEB95E30F94B93C6091E411AD -:10DEA0007091E5118091E6119091E7110F945F4C0C -:10DEB000AB01BC0188EB95E30F94B93C8AE00E946A -:10DEC0006261C11108C00F94ED3C8EE695E30F949A -:10DED0006D3C0F94ED3C40910C1250910D126091ED -:10DEE0000E1270910F1285E695E30F94B93C4091A4 -:10DEF000101250911112609112127091131282E659 -:10DF000095E30F94B93C4091141250911512609111 -:10DF10001612709117128FE595E30F94B93C8AE0C1 -:10DF20000E946261C1110FC00F94ED3C87E195E33F -:10DF30000F946D3C8AE095E30F946D3C8AE00E945B -:10DF400062610F94ED3C6091E8117091E91180914C -:10DF5000EA119091EB110F945F4CAB01BC0181E091 -:10DF600095E30F94B93C40911812509119126091A9 -:10DF70001A1270911B128EEF94E30F94B93C4091EA -:10DF80001C1250911D1260911E1270911F128BEF86 -:10DF900094E30F94B93C4091150D5091160D60918A -:10DFA000170D7091180D88EF94E30F94B93C8AE037 -:10DFB0000E946261C11108C00F94ED3C8AEE94E3A7 -:10DFC0000F946D3C0F94ED3C4091D5095091D609CA -:10DFD0006091D7097091D80981EE94E30F94B93C10 -:10DFE0004091D9095091DA096091DB097091DC09FF -:10DFF0008EED94E30F94B93C4091DD095091DE0918 -:10E000006091DF097091E0098BED94E30F94B93CC6 -:10E010008AE00E946261C1110CC00F94ED3C8CED4E -:10E0200093E30F946D3C88ED94E30F946D3C0F9453 -:10E03000ED3C60918C0B70E08FEC94E30F94CA3C44 -:10E040004091BF0C5091C00C6091C10C7091C20CFA -:10E050008CEC94E30F94B93C8AE00E946261C11198 -:10E0600024C08AE00E9462610F947C3C6091750B31 -:10E07000062E000C770B88EB94E30F94CA3C8AE0E1 -:10E080000E9462610E94416DBC0187EA94E30F9493 -:10E09000AC3C8CE994E30F946D3C0F94ED3C8DE81F -:10E0A00094E30F946D3C0F94ED3C40914B0D5091D7 -:10E0B0004C0D60914D0D70914E0D84E894E30F94DA -:10E0C000B93C2CEA35EC47E25EE360914F0D70916C -:10E0D000500D8091510D9091520D0F943E54AB0113 -:10E0E000BC0181E894E30F94B93C2CEA35EC47E29B -:10E0F0005EE36091530D7091540D8091550D909198 -:10E10000560D0F94C04CAB01BC018EE794E30F9405 -:10E11000B93C8AE00E946261C11102C00F94ED3CDB -:10E120004091B0095091B1096091B2097091B30961 -:10E1300085E794E30F94B93C2CEA35EC47E25EE3C3 -:10E140006091B4097091B5098091B6099091B709B1 -:10E150000F943E54AB01BC0182E794E30F94B93CA9 -:10E160002CEA35EC47E25EE36091B8097091B90999 -:10E170008091BA099091BB090F94C04CAB01BC01CE -:10E180008FE694E30F94B93C8AE00E946261C1116A -:10E1900010C00F94ED3C80E694E30F946D3C8FE546 -:10E1A00096E30F946D3C81EF93E30F946D3C0F94D5 -:10E1B000ED3C4091B00B5091B10B6091B20B70915E -:10E1C000B30B87E594E30F94B93C8AE00E94626147 -:10E1D0004091B40B5091B50B6091B60B7091B70B99 -:10E1E0008EE494E30F94B93C8AE00E94626140910E -:10E1F000B80B5091B90B6091BA0B7091BB0B85E4D1 -:10E2000094E30F94B93C8AE00E946261C11108C096 -:10E210000F94ED3C86E294E30F946D3C0F94ED3C3B -:10E2200084EF93E30F946D3C4091710B5091720B0E -:10E230006091730B7091740B84E294E30F94B93C7A -:10E2400040916D0B50916E0B60916F0B7091700B44 -:10E2500081E294E30F94B93C8AE00E946261C111AB -:10E2600008C00F94ED3C88E094E30F946D3C0F944C -:10E27000ED3C60914D0270E08FEF93E30F94CA3C48 -:10E280004091150250911602609117027091180288 -:10E290008CEF93E30F94B93C8AE0CF910C946261C8 -:10E2A0008F929F92AF92BF92CF92DF92EF92FF92A6 -:10E2B0000F931F93CF93DF9381E08093680B0E94AD -:10E2C00074B51092680B882309F4E1C00E9474B5FC -:10E2D000D82E80E896E00E9480620F94D53B882378 -:10E2E00009F47FC0F12CEE24E39400E010E0D1E0CB -:10E2F00036E0C32EC0E0BB24B39446E0A42E55E024 -:10E30000952E62E8862EEB24CC16F1F18F2D90E04D -:10E310008397C4F5C530B1F10530A1F1F394F8014C -:10E32000AC9EE00DF11D1124EE0FFF1FEE0FFF1F3D -:10E33000E15DF34F20E030E04AE754E46081718111 -:10E34000828193810F94C04C0F94B05470936D15DB -:10E3500060936C1590926015809263154F2D50E07C -:10E360004158574F440F551F052E000C660B770B75 -:10E370004093641550936515609366157093671507 -:10E380000F942E25CD0FC0CF0F5F1F4F0630110504 -:10E3900061F0E11005C0DFEFCC24CA94C5E0B3CF33 -:10E3A000D1E026E0C22EC0E0AECF83E090E09093B3 -:10E3B0006D1580936C1585E08093601582E88093DD -:10E3C000631585E490E1A0E0B0E08093641590933C -:10E3D0006515A0936615B09367150F942E2581E0FF -:10E3E0001BC082E090E090936D1580936C1585E0E2 -:10E3F0008093601582E88093631585E490E1A0E046 -:10E40000B0E08093641590936515A0936615B09362 -:10E4100067150F942E2580E00F94963A4091B80B23 -:10E420005091B90B6091BA0B7091BB0B87E493E3E9 -:10E430000F94B93C8AE00E94626120E030E048EC31 -:10E4400052E46091B80B7091B90B8091BA0B909126 -:10E45000BB0B0F94C04C0F94B05470936D15609328 -:10E460006C1585E08093601582E88093631586E2E1 -:10E4700090E1A0E0B0E08093641590936515A093BF -:10E480006615B09367150F942E258D2D0BC00E9435 -:10E49000036C0E9488BB0F94ED3C80E693E30F94DD -:10E4A0006D3C80E0DF91CF911F910F91FF90EF9035 -:10E4B000DF90CF90BF90AF909F908F900895809104 -:10E4C000E8149091E914891B8F708F3021F480E05B -:10E4D0000E94A662F4CF8091E8148F5F8F70E09164 -:10E4E000E81498E49E9FF0011124E95AF24FDF01ED -:10E4F0001D929A95E9F798E090834091FE1450910F -:10E50000FF146091001570910115458B568B678B38 -:10E51000708F409102155091031560910415709110 -:10E520000515418F528F638F748F4091061550915E -:10E5300007156091081570910915458F568F678FE3 -:10E5400070A340910A1550910B1560910C157091B4 -:10E550000D1541A352A363A374A32091E8149091D5 -:10E56000E914291303C094E69093E5148093E8140A -:10E5700080916F00826080936F0008950F930FB7B2 -:10E580000F9300916E000F930B7F00936E0000912C -:10E590006F000D7F00936F000F930BB70F930CB7B5 -:10E5A0000F921F922F933F934F935F936F937F939D -:10E5B0008F939F93AF93BF93EF93FF9311240E9488 -:10E5C00048D5FF91EF91BF91AF919F918F917F912E -:10E5D0006F915F914F913F912F911F900F900CBFC2 -:10E5E0000F910BBF0F910260F89400936F000F9191 -:10E5F00000936E000F910FBF0F9118958091D20973 -:10E6000080FF03C089988FEF02C0899A81E08093D0 -:10E6100034128091D209869580FF03C08F9A8FEFC4 -:10E6200002C08F9881E0809335128091D20986953F -:10E63000869580FF08C080910B0180958270809341 -:10E6400009018FEF06C080910B0182708093090150 -:10E6500081E0809336128091D209869586958695C1 -:10E6600080FF03C016988FEF02C0169A81E0809356 -:10E67000371200000000000008958091E814909186 -:10E68000E914891B8F7019F480E090E0089590914F -:10E69000E514992351F0833030F48FEF890F19F08E -:10E6A0008093E514F1CF1092E514E091E91488E429 -:10E6B000E89FF0011124E95AF24F808180FDE4CFF8 -:10E6C0008091E9148F5F8F708093E6149091E91424 -:10E6D0008091E714981304C08091E6148093E714A6 -:10E6E000CF010895CF92DF92EF92FF92CF93DF9305 -:10E6F000EC016A017B0127E137EB41ED58EBC701E3 -:10E70000B6010F94A45587FD23C023E030E04BE908 -:10E7100053E4C701B6010F945A4C1816CCF0C880C8 -:10E72000D980EA80FB8027E137EB41ED58EBC70148 -:10E73000B6010F94A45587FD0BC0C1E023E030E87B -:10E740004DE953E4C701B6010F945A4C18160CF466 -:10E75000C0E08C2FDF91CF91FF90EF90DF90CF90B2 -:10E760000895CF92DF92EF92FF92CF93DF93CDB7D0 -:10E77000DEB728970FB6F894DEBF0FBECDBF20E0FE -:10E7800030E040EA50E460910D0D70910E0D8091E3 -:10E790000F0D9091100D0F945A4C8823E9F01D82B3 -:10E7A0001E821F821886C12CD12C80EAE82E80E4BC -:10E7B000F82EC982DA82EB82FC82BE016B5F7F4F4A -:10E7C000CE0101960E94F692C0920D0DD0920E0DD0 -:10E7D000E0920F0DF092100D28960FB6F894DEBF60 -:10E7E0000FBECDBFDF91CF91FF90EF90DF90CF9024 -:10E7F0000895BF92CF92DF92EF92FF920F931F93F3 -:10E80000CF93DF93CDB7DEB728970FB6F894DEBF6E -:10E810000FBECDBF9091D309981709F47DC0B82ED3 -:10E82000882309F454C080E090E0A0E2B1E48D8335 -:10E830009E83AF83B887C090B80BD090B90BE0909F -:10E84000BA0BF090BB0B20E030E0A901C701B60184 -:10E850000F945A4C87FF0CC0A701960160E070E04E -:10E8600080E291E40F9443536D837E838F83988776 -:10E8700020E030E048EC53E46D817E818F81988503 -:10E880000F94A455181644F480E090E0A8ECB3E48B -:10E890008D839E83AF83B8872D813E814F815885BC -:10E8A00060910D0D70910E0D80910F0D9091100DD6 -:10E8B0000F945A4C87FF0BC019821A821B821C824C -:10E8C000BE016F5F7F4FCE0105960E94F692609168 -:10E8D000050D7091060D8091070D9091080D209106 -:10E8E000090D30910A0D40910B0D50910C0D1982BC -:10E8F0001A821B821C82E0900D0DF0900E0D00918B -:10E900000F0D1091100DFE0131966F010E941792AC -:10E91000B092D3090E94E96B80E028960FB6F89474 -:10E92000DEBF0FBECDBFDF91CF911F910F91FF9042 -:10E93000EF90DF90CF90BF9008952F923F924F922B -:10E940005F926F927F928F929F92AF92BF92CF927F -:10E95000DF92EF92FF920F931F93CF93DF93CDB788 -:10E96000DEB7A4970FB6F894DEBF0FBECDBF9E8F63 -:10E970008D8F1B014F8F2CA3DC01CD90DD90ED908E -:10E98000FC90C98EDA8EEB8EFC8EFB01808091802C -:10E99000A280B380002321F10E94F9AA882309F400 -:10E9A000BEC12091B00B3091B10B4091B20B509190 -:10E9B000B30BC701B6010F944353698F7A8F8B8FC6 -:10E9C0009C8F2091B40B3091B50B4091B60B5091B8 -:10E9D000B70BC501B4010F9443534B015C0109C04F -:10E9E000B501A401CE0149960E947273882309F4EF -:10E9F00096C1E0900D0DF0900E0D00910F0D10914D -:10EA0000100D8091280290912902A0912A02B091C4 -:10EA10002B0288A399A3AAA3BBA380E090E0A8EC53 -:10EA2000B2E48093280290932902A0932A02B09323 -:10EA30002B0219821A821B821C82698D7A8D8B8D22 -:10EA40009C8DDE0111966D01A50194010E94179223 -:10EA500081E00E94F9738111E6C08091D21382FF98 -:10EA600011C02091B80B3091B90B4091BA0B509165 -:10EA7000BB0B60E070E080E490EC0F9443534B01DB -:10EA80005C0106C0812C912C40E2A42E41ECB42EF6 -:10EA90008D869E86AF86B88A412C512C30E8632E35 -:10EAA00030E4732E49865A866B867C86BE01675F8A -:10EAB0007F4FCE010D960E94F6921091660B109238 -:10EAC000660B82E00E94E96A0E94576B12FD05C046 -:10EAD00060E070E080EC9FE75FC0C0900D0DD090CB -:10EAE0000E0DE0900F0DF090100D49825A826B824E -:10EAF0007C8220E030E040EA50E4C701B6010F9488 -:10EB000044536D837E838F839887BE016F5F7F4FF1 -:10EB1000CE0105960E94F6928D829E82AF82B886C3 -:10EB200080E090E0A0E0B0E489839A83AB83BC836B -:10EB3000BE016F5F7F4FCE0105960E94F692109145 -:10EB4000660B1092660B82E00E94E96A0E94576B86 -:10EB500012FFBECF20E030E040E450E460910D0DA4 -:10EB600070910E0D80910F0D9091100D0F94C04C6F -:10EB70004B015C01A7019601C701B6010F944453F4 -:10EB80009B01AC01C501B4010F9444532DEC3CEC46 -:10EB90004CE45EE30F94C04C2091B80B3091B90B5C -:10EBA0004091BA0B5091BB0B0F9444536B018C01F5 -:10EBB0008F8D8250823050F580E090E0A0E8B0E484 -:10EBC0008D8B9E8BAF8BB88F20910D0D30910E0DDC -:10EBD00040910F0D5091100DBF8DB33029F060E0C2 -:10EBE00070E080EA90E404C060E070E088EC91E4BA -:10EBF0000F944453698B7A8B8B8B9C8BBE016B5E1D -:10EC00007F4FCE0141960E94F69208C0EF8DE13011 -:10EC100029F480E00E94F973811105C0FCA1F33052 -:10EC200008F45AC008C09CA1933008F47DC0C12CE0 -:10EC3000D12C00EC1FE72DE9E22E26E0F22ED701C1 -:10EC40008D917D01882319F00E946261F8CF209197 -:10EC5000A40B3091A50B4091A60B5091A70BED8D05 -:10EC6000FE8D60817181828193810F94445343E0D2 -:10EC70000E94026295EAE92E96E0F92ED7018D9165 -:10EC80007D01882319F00E946261F8CF2091A80BC2 -:10EC90003091A90B4091AA0B5091AB0BF10160810F -:10ECA0007181828193810F94445343E00E940262F8 -:10ECB0008AEAE82E86E0F82ED7018D917D0188231F -:10ECC00019F00E946261F8CF43E0B601C8010E94CA -:10ECD00002628AE00E94626188A199A1AAA1BBA1F7 -:10ECE0008093280290932902A0932A02B0932B02CA -:10ECF0009601A801B601C8010F949156882329F105 -:10ED000080E00E94F97360E082E097E30F94B031F5 -:10ED10000F94E93C82EF96E30F946D3C16C0C12C32 -:10ED2000D12C00EC1FE711C088A199A1AAA1BBA119 -:10ED30008093280290932902A0932A02B0932B0279 -:10ED4000C12CD12C00EC1FE7DBCFB601C801A49683 -:10ED50000FB6F894DEBF0FBECDBFDF91CF911F91EC -:10ED60000F91FF90EF90DF90CF90BF90AF909F906A -:10ED70008F907F906F905F904F903F902F9008956D -:10ED8000CF93DF93C0919F0B8FEA96E00E94806241 -:10ED900080919A0B873009F445C083E08093990BEA -:10EDA00081E08093270280E190E090936D1580933D -:10EDB0006C1585E080936015D2E8D093631584E1EB -:10EDC00090E1A0E0B0E08093641590936515A09366 -:10EDD0006615B09367150F942E2561E070E080E012 -:10EDE00090E00E949E9481E09AE590936D15809347 -:10EDF0006C1585E390E090936F1580936E1587E016 -:10EE000080936015D093631584E890E0A0E0B0E0B3 -:10EE10008093641590936515A0936615B09367155C -:10EE20000F942E25C13081F1C23059F40F94552E24 -:10EE30006093910B7093920B8093930B9093940B30 -:10EE400002C00F94892E81E080939F0B0F9493361C -:10EE500060938D0B70938E0B80938F0B9093900B20 -:10EE6000C230A1F08091C0099091C10901969093A0 -:10EE7000C1098093C0091092A00B1092A10B1092AF -:10EE8000A20B1092A30B02C080E001C081E0DF91D1 -:10EE9000CF910895CF93DF9300D01F92CDB7DEB707 -:10EEA0008091BF098823A9F083E390E09C838B8342 -:10EEB0001A8219829E012F5F3F4F40E150E060ECC3 -:10EEC00079E0CE0103960E940E6187EC96E00E94E5 -:10EED00080620F900F900F900F90DF91CF91089567 -:10EEE000CF92DF92EF92FF920F931F9380919F0B2F -:10EEF0008150823010F080E0A7C083E097E00E944C -:10EF0000806280919A0B833009F441C087EE96E0CD -:10EF10000E94806283EF96E00E94806240E060E0A1 -:10EF200070E0CB010F94733241E060E070E0CB0100 -:10EF30000F94733281E0809305021092980B21E0C8 -:10EF400030E03093970B2093960B8093270281E05B -:10EF50009AE590936D1580936C158DE290E09093F7 -:10EF60006F1580936E1587E08093601582E880931B -:10EF7000631584E890E0A0E0B0E08093641590937E -:10EF80006515A0936615B09367150F942E25109202 -:10EF90009F0B0F94933660939B0B70939C0B809305 -:10EFA0009D0B90939E0B8091C2099091C30901968D -:10EFB0009093C3098093C209C090A00BD090A10B7D -:10EFC000E090A20BF090A30B0F94552E6093A00B32 -:10EFD0007093A10B8093A20B9093A30B0091C40993 -:10EFE0001091C5092091C6093091C7090C191D0956 -:10EFF0002E093F09DC01CB01800F911FA21FB31F17 -:10F000008093C4099093C509A093C609B093C7091A -:10F010000F94552E0091C8091091C9092091CA0971 -:10F020003091CB09061717072807390750F40F94BA -:10F03000552E6093C8097093C9098093CA099093AB -:10F04000CB090E944A7781E01F910F91FF90EF90CA -:10F05000DF90CF900895CF93DF9300D01F921F923F -:10F06000CDB7DEB781E08093BF09E0ECF9E080E145 -:10F07000DF011D928A95E9F70E944A7786E18D8328 -:10F0800082E390E09C838B831A8219829E012F5F1A -:10F090003F4F41E050E0BE016B5F7F4FCE010396D2 -:10F0A0000E940E610F900F900F900F900F90DF91C4 -:10F0B000CF910895CF92DF92EF92FF920F931F931B -:10F0C000CF93DF93C8EDD1E109E11DE0C12CD12C34 -:10F0D0007601C39469917991899199910F945F4CCC -:10F0E000288939894A895B890F94C04C0F94B75499 -:10F0F000F80161937193819391938F01C616D7069E -:10F10000E806F90610F46B017C01F1E1C83EDF0767 -:10F1100009F76FEF7FEFCB01A70196010F94B05273 -:10F120002093290D30932A0D40932B0D50932C0DD5 -:10F13000DF91CF911F910F91FF90EF90DF90CF90D3 -:10F1400008950F931F93CF93DF930CEE11E1CFE25D -:10F15000DDE0F80121913191419151918F0160E001 -:10F1600070E080E89FE30F943E546993799389930C -:10F170009993FDE0CF33DF0761F70E9447CFDF911E -:10F18000CF911F910F910C945A789091E81480912F -:10F19000E914981306C08091201290912112892BB6 -:10F1A00021F080E00E94A662F0CF08952091F8112E -:10F1B0003091F9114091FA115091FB11FC016081DD -:10F1C0007181828193810F94C04C0F94B1556093EB -:10F1D0000A1570930B1580930C1590930D15909153 -:10F1E000E8148091E91498130C945F720E94C5781A -:10F1F00080916F00982F927081FF05C080916F0001 -:10F200008D7F80936F0040910A1550910B1560918E -:10F210000C1570910D154093561250935712609330 -:10F22000581270935912992329F080916F008260CF -:10F2300080936F000895EF92FF920F931F93CF93E7 -:10F24000DF937B018A01E9012091EC113091ED11EE -:10F250004091EE115091EF11FC016081718182812A -:10F2600093810F94C04C0F94B1556093FE1470932A -:10F27000FF1480930015909301152091F0113091A7 -:10F28000F1114091F2115091F311F70160817181F8 -:10F29000828193810F94C04C0F94B15560930215F5 -:10F2A0007093031580930415909305152091F41124 -:10F2B0003091F5114091F6115091F711F8016081EC -:10F2C0007181828193810F94C04C0F94B1556093EA -:10F2D00006157093071580930815909309152091D2 -:10F2E000F8113091F9114091FA115091FB11688198 -:10F2F00079818A819B810F94C04C0F94B1556093A2 -:10F300000A1570930B1580930C1590930D15909121 -:10F31000E8148091E914981741F0DF91CF911F9183 -:10F320000F91FF90EF900C945F720E94C5788091CE -:10F330006F00982F927081FF05C080916F008D7FC4 -:10F3400080936F004091FE145091FF14609100155E -:10F350007091011540934A1250934B1260934C12D6 -:10F3600070934D1240910215509103156091041550 -:10F370007091051540934E1250934F1260935012A6 -:10F380007093511240910615509107156091081520 -:10F390007091091540935212509353126093541276 -:10F3A0007093551240910A1550910B1560910C15F0 -:10F3B00070910D1540935612509357126093581246 -:10F3C00070935912992329F080916F008260809385 -:10F3D0006F00DF91CF911F910F91FF90EF900895F3 -:10F3E000CF93DF93C82F0E9417D524E0C29FE0017E -:10F3F0001124C15DD24F0F94614C288139814A811B -:10F400005B810F94C04CDF91CF9108959091E814E7 -:10F410008091E914981306C08091201290912112D6 -:10F42000892B21F080E00E94A662F0CF5F9A809144 -:10F43000D2138E7F8093D2138A9A8091D2138D7FBC -:10F440008093D2138091080180958170809306018A -:10F450008091D2138B7F8093D2130C948860CF93CA -:10F46000DF9390916F00292F227091FF05C090913A -:10F470006F009D7F90936F0094E0899FA0011124FD -:10F48000FA01E25CFD4E60817181828193812223C9 -:10F4900029F020916F00226020936F00EA01C15D86 -:10F4A000D24F0F94614C288139814A815B810F943E -:10F4B000C04CDF91CF91089580916F00982F92708A -:10F4C00081FF05C080916F008D7F80936F008091D8 -:10F4D000E9148093E8148093E7148093E61484E69B -:10F4E0008093E51428EE33E030932112209320120C -:10F4F000992329F080916F00826080936F0081E0F2 -:10F5000080933D120895CF92DF92EF92FF92CF93B6 -:10F51000DF9320918C0B222349F1EC0108960E9485 -:10F52000E3E16B017C0120E030E0A9010F945A4C2B -:10F53000882379F0BE016C5F7F4FCE010E9433A912 -:10F540009B01AC01C701B6010F94C04C9B01AC01FB -:10F5500003C020E030E0A901688579858A859B8514 -:10F560000F944353688779878A879B87DF91CF9170 -:10F57000FF90EF90DF90CF9008958F929F92AF927F -:10F58000BF92EF92FF920F931F93CF93DF9320913F -:10F590008C0B222349F1EA017B018C01CA010E94F4 -:10F5A000E3E14B015C0120E030E0A9010F945A4CEB -:10F5B000882369F0B701C8010E9433A99B01AC01FF -:10F5C000C501B4010F94C04C9B01AC0103C020E005 -:10F5D00030E0A901688179818A819B810F9444532D -:10F5E000688379838A839B83DF91CF911F910F91E9 -:10F5F000FF90EF90BF90AF909F908F900895CF9223 -:10F60000DF92EF92FF928091830B882371F1C0907B -:10F61000880BD090890BE0908A0BF0908B0B20E048 -:10F6200030E0A901C701B6010F945A4C8823E9F0D4 -:10F6300020E030E040E05FE3C701B6010F94C04C2A -:10F640009B01AC010F94C04C2BED3FE049E450E42A -:10F650000F94C04C9B01AC0160E070E080E89FE338 -:10F660000F943E546B017C0106C0C12CD12C80E864 -:10F67000E82E8FE3F82EC092840BD092850BE09297 -:10F68000860BF092870B6091190270911A02072E77 -:10F69000000C880B990B0F94614C2AE037ED43E284 -:10F6A0005CE30F94C04CA70196010F94C04C60938B -:10F6B0004702709348028093490290934A02FF9058 -:10F6C000EF90DF90CF900895CF92DF92EF92FF926C -:10F6D0000F931F93CF93DF936C017A018B01C0E0EE -:10F6E000D0E0CE15DF0581F0D8016D918D01D601F6 -:10F6F000ED91FC910190F081E02DC6011995892BC7 -:10F7000011F02196EECF7E01C701DF91CF911F91BD -:10F710000F91FF90EF90DF90CF900895089580E0D3 -:10F7200090E00895FC01538D448D252F30E0842F07 -:10F7300090E0821B930B541710F0CF960895019719 -:10F740000895FC01918D828D981761F0828DDF0103 -:10F75000A80FB11D5D968C91928D9F5F9F73928FC4 -:10F7600090E008958FEF9FEF0895FC01918D828DB9 -:10F77000981731F0828DE80FF11D858D90E0089586 -:10F780008FEF9FEF0895FC01918D228D892F90E0DE -:10F79000805C9F4F821B91098F739927089584ED98 -:10F7A00093E10E94C37B21E0892B09F420E0822FA2 -:10F7B0000895FC01848DDF01A80FB11DA35ABF4F2E -:10F7C0002C91848D90E001968F739927848FA68960 -:10F7D000B7892C93A089B1898C91837080648C93B4 -:10F7E000938D848D981306C00288F389E02D808163 -:10F7F0008F7D80830895EF92FF920F931F93CF9395 -:10F80000DF93EC0181E0888F9B8D8C8D981305C070 -:10F81000E889F989808185FD26C0F62E0B8D10E0E0 -:10F820000F5F1F4F0F731127E02E8C8DE8120CC055 -:10F830000FB607FCFACFE889F989808185FFF5CFFB -:10F84000CE010E94D97BF1CF8B8DFE01E80FF11D17 -:10F85000E35AFF4FF0829FB7F8940B8FEA89FB8938 -:10F86000808180620AC09FB7F894EE89FF89608327 -:10F87000E889F98980818370806480839FBF81E0FB -:10F8800090E0DF91CF911F910F91FF90EF9008953D -:10F89000CF93DF93EC01888D8823C9F0EA89FB8937 -:10F8A000808185FD05C0A889B9898C9186FD0FC02E -:10F8B0000FB607FCF5CF808185FFF2CFA889B98903 -:10F8C0008C9185FFEDCFCE010E94D97BE7CFDF91F0 -:10F8D000CF91089580E090E0892B41F080E090E0A6 -:10F8E000892B21F00E940000811121C080E090E06E -:10F8F000892B41F080E090E0892B21F00E940000EC -:10F90000811118C080E090E0892B21F00E94CF7B0C -:10F91000811113C080E090E0892BA1F080E090E09D -:10F92000892B81F00E94000081110AC008950E9475 -:10F930000000DCCF0E940000E5CF0E940000EACF6B -:10F940000C9400000895FC0120E03EE2DB014C91A4 -:10F95000403241F0283011F430833196DB014C9174 -:10F96000408331962F5F6F5F7F4F2B3079F7108286 -:10F9700008950F94A9570F931F93CF93DF938B0193 -:10F98000EA01DB016D917C910E943E9FD801ED91CF -:10F99000FC91119790818881992349F0893638F438 -:10F9A0003196ED93FC9388818F5F8883EFCF893602 -:10F9B00058F48FE28083F8018081918101969183D0 -:10F9C000808388818F5F8883DF91CF911F910F9112 -:10F9D00008951F920F920FB60F9211240BB60F923B -:10F9E0002F933F934F935F936F937F938F939F9347 -:10F9F000AF93BF93EF93FF9384ED93E10E94D97B84 -:10FA0000FF91EF91BF91AF919F918F917F916F91F6 -:10FA10005F914F913F912F910F900BBE0F900FBEB2 -:10FA20000F901F9018951F920F920FB60F921124EE -:10FA30000BB60F922F938F939F93EF93FF93E091C9 -:10FA4000E413F091E5138081E091EA13F091EB1358 -:10FA500082FD12C090818091ED138F5F8F73209192 -:10FA6000EE13821751F0E091ED13F0E0EC52FC4EF2 -:10FA7000958F8093ED1301C08081FF91EF919F914D -:10FA80008F912F910F900BBE0F900FBE0F901F9074 -:10FA900018958BE1EAECF4E1AFEAB4E101900D9244 -:10FAA0008A95E1F708958091E81682FF1FC08CE6E1 -:10FAB00098E30F946D3C6091E4167091E516809187 -:10FAC000E6169091E7164AE00E9469618FE20E9473 -:10FAD00062616091E0167091E1168091E21690915A -:10FAE000E3164AE00E9469610C947A628EE798E31B -:10FAF0000D946D3C1092BC0B8091E8168F7D8B7F2E -:10FB00008093E8160E94379D882321F081E794E1D5 -:10FB10000C94A4A108958091E81683FF03C084602B -:10FB20008093E8160895CF92DF92EF92FF920F93A1 -:10FB30001F93CF93DF93CDB7DEB7EDB6FEB6DC01F2 -:10FB40000D900020E9F79D01281B390B2C5F3F4FDA -:10FB50004DB75EB7421B530B0FB6F8945EBF0FBE96 -:10FB60004DBF0DB71EB70F5F1F4F9F938F9388E652 -:10FB700097E39F938F931F930F930F94F24B68011A -:10FB800054E0C50ED11C0F900F900F900F900F9066 -:10FB90000F90F6018081882349F0082E000C990B04 -:10FBA0000F94AE57F60181936F01F3CFC8010F9404 -:10FBB0009D0A84E697E30E94DD9D0FB6F894FEBE91 -:10FBC0000FBEEDBEDF91CF911F910F91FF90EF908F -:10FBD000DF90CF9008958F929F92AF92BF92CF9275 -:10FBE000DF92EF92FF92CF938091E816877F809308 -:10FBF000E8168091CD14882321F08AEC94E10E94CC -:10FC0000A4A11092AE141092AB1485E38093AA14B1 -:10FC10000F9493366B017C0120EDC20E27E0D21EBB -:10FC2000E11CF11CA89561E08091AA140F9406359F -:10FC300061E08091AA140F943535209A289A219A70 -:10FC40002398229A81E00E94896A85E08093AC140F -:10FC50000E94896ACAE08FEF0E947D6AC150D9F77D -:10FC6000A89520E030E0A90160E08AEA94E10E94D2 -:10FC700084A08093AD14813061F00F949336DC0141 -:10FC8000CB018C199D09AE09BF09B7FDEACF81E010 -:10FC900062C0A8952AEA31E040E050E068E08AEAD4 -:10FCA00094E10E9484A0853011F481E00AC0C4E090 -:10FCB0000E94826A8093AD14C150D1F78A3A61F4F0 -:10FCC00082E08093AE14A8958091AE14823081F0CA -:10FCD000812C912C540111C00F949336DC01CB017F -:10FCE0008C199D09AE09BF09B7FDD4CF82E033C09E -:10FCF000812C912CA12C80E4B82E20E030E0A901C9 -:10FD000067E38AEA94E10E9484A0A501940169E274 -:10FD10008AEA94E10E9484A08093AD14882361F064 -:10FD20000F949336DC01CB018C199D09AE09BF09F4 -:10FD3000B7FDE3CF8AE00FC08091AE14823021F589 -:10FD400020E030E0A9016AE38AEA94E10E9484A0FD -:10FD5000882361F088E08093AB148AEA94E10E94E2 -:10FD60007CA00F94ED3C86E597E322C00E94826A56 -:10FD7000807C803C19F483E08093AE140E94826AF8 -:10FD80000E94826A0E94826A8AEA94E10E947CA0B0 -:10FD90001092AC1481E00F94F53881110CC080E012 -:10FDA0000F94F538811107C00F94E93C82E497E382 -:10FDB0000F946D3C1AC06CE874E18AEC94E10E94E7 -:10FDC000CF9E811105C00F94E93C81E397E3F0CF0A -:10FDD0008091E81688608093E8160F94ED3C85E2E8 -:10FDE00097E30F946D3C0E94C060CF91FF90EF901D -:10FDF000DF90CF90BF90AF909F908F900C94497DF3 -:10FE00002F923F925F926F927F928F929F92AF92CA -:10FE1000BF92CF92DF92EF92FF920F931F93CF93F7 -:10FE2000DF93CDB7DEB7C356D1090FB6F894DEBF66 -:10FE30000FBECDBF8C016B014A012DB63EB6512CD1 -:10FE40007E0187E5E80EF11CF6018381823008F41B -:10FE50001FC180859185A285B3858F719927AA27B7 -:10FE6000BB27892B8A2B8B2B09F012C11092931977 -:10FE700043E959E1BE016F5F7F4FC6010E9439A37C -:10FE800018160CF005C18C85982F9871903129F4C3 -:10FE900020912A0C2150223078F42981222309F460 -:10FEA000F7C0253E89F22E3279F2209193192E3235 -:10FEB00059F28A7049F67CC06DB67EB6BE016F5F9E -:10FEC0007F4FC7010E94A37C0115110521F0F801A5 -:10FED0008081811163C021E081E090E0F701019011 -:10FEE0000020E9F73197EE19FF09E80FF91F329664 -:10FEF0008DB79EB78E1B9F0B0FB6F8949EBF0FBE9B -:10FF00008DBFEDB7FEB731965F01211102C0B80178 -:10FF100002C06BE177E0C5010F94F557B701C50149 -:10FF20000F94DF576BE177E0C5010F94DF5719A2FB -:10FF30001CA221E0A701B601CE0181960E9490A5E6 -:10FF400081110DC080912A0C811109C00F94ED3CE4 -:10FF500081E197E30F946D3CC7010E9480628BE1C1 -:10FF6000FE01B196DE01DC9601900D928A95E1F7D3 -:10FF700040E050E0BE01645C7F4FC5010E94007FFD -:10FF8000CE01CC960E94ADA1CE0181960E94ADA17A -:10FF90000FB6F8947EBE0FBE6DBE56CFF80101902D -:10FFA0000020E9F73197CF01801B910B20E096CF1D -:10FFB00021E0903109F020E08091E81620FB84F9DF -:10FFC0008093E816903141F08985873409F03CCF61 -:10FFD0008A858E3709F438CF80912A0C813021F040 -:10FFE00068F08230C1F130CF80912D0C90912E0CB1 -:10FFF000019690932E0C80932D0C26CFBE016F5F3F -:020000021000EC -:100000007F4F85ED99E10E94A37C0115110529F42C -:1000100085EDA82E89E1B82E09C05801F50181911E -:100020005F018823A9F30E946261F8CFF5018191F5 -:100030005F01882319F00E946261F8CF80E20E947C -:1000400062616D8D7E8D8F8D98A14AE00E946961FD -:100050000E947A62F9CEBE016F5F7F4F85ED99E114 -:100060000E94A37C8114910441F065ED79E1C40103 -:100070000F94CC57892B51F40BC0852D90E0209123 -:100080002B0C30912C0C8217930711F05394DCCE7B -:100090000FB6F8943EBE0FBE2DBECD59DF4F0FB642 -:1000A000F894DEBF0FBECDBFDF91CF911F910F91AE -:1000B000FF90EF90DF90CF90BF90AF909F908F9088 -:1000C0007F906F905F903F902F900895CF93DF9334 -:1000D000CDB7DEB76B970FB6F894DEBF0FBECDBFBE -:1000E00081E080932A0C10922E0C10922D0C8FEA36 -:1000F00094E10E9477A08BE1EFEAF4E1DE01119632 -:1001000001900D928A95E1F740E050E0BE016F5FEB -:100110007F4F80E090E00E94007FCE0101960E9418 -:10012000ADA180912D0C90912E0C6B960FB6F8948A -:10013000DEBF0FBECDBFDF91CF9108950F931F9308 -:10014000CF93DF93CDB7DEB76B970FB6F894DEBFD2 -:100150000FBECDBF8B0122E020932A0C90932C0C74 -:1001600080932B0C8FEA94E10E9477A08BE1EFEA59 -:10017000F4E1DE01119601900D928A95E1F7A80154 -:10018000BE016F5F7F4F80E090E00E94007FCE0154 -:1001900001960E94ADA16B960FB6F894DEBF0FBE1C -:1001A000CDBFDF91CF911F910F910895DF92EF9214 -:1001B000FF920F931F93CF93DF9300D01F92CDB781 -:1001C000DEB72091E81623FF3DC1F42EE62E8C0108 -:1001D0000E94379D882309F481C0FF2009F48CC058 -:1001E0008091DF16882351F00F94E93C87E298E371 -:1001F0000F946D3C80E090E00F94D42582EC9BE05E -:100200009A8389838FE28093C10B81E08B83F12CE9 -:100210009BE1D92E8091DE16F81678F4DF9CC001A0 -:100220001124AE014D5F5F4FBE016F5F7F4F805362 -:100230009A4E0E94BB7CF394EDCF8B818B3578F482 -:10024000AE014D5F5F4FBE016F5F7F4F81E794E16D -:100250000E94BB7C89819A8101979A838983E98175 -:10026000FA811082E091DF1684E0E89FF00111240A -:10027000E354F44F8091E4169091E516A091E616B0 -:10028000B091E71680839183A283B3830F94ED3CF2 -:10029000B8018EE098E30F94D63C6091DF1689E6B2 -:1002A000689FB00111246F53744F83E098E30F945B -:1002B000D63C4091E4165091E5166091E616709197 -:1002C000E7168DEF97E30F949B3C8AE00E946261F2 -:1002D0008091DF168F5F8093DF1626C0FF2039F0F4 -:1002E0000F94ED3C8DEE97E30F946D3C1DC0109282 -:1002F000DF1682E0F82E02C0FF24F3940F94ED3C49 -:1003000088EE97E30F946D3C81E0F81609F497C0EE -:1003100084ED97E30F946D3CB80180EE97E30F9462 -:10032000D63C8AE00E9462610E947A7DB801CE01CB -:1003300003960F943B278C01009709F483C06B81CF -:100340007C81EE2009F450C021E0AC0181E794E10A -:100350000E9490A5882309F43FC080918214909157 -:100360008314A0918414B09185148093E016909327 -:10037000E116A093E216B093E3161092E4161092E1 -:10038000E5161092E6161092E716B80186EC97E390 -:100390000F94D63C4091E0165091E1166091E21620 -:1003A0007091E3168EEB97E30F949B3C8AE00E94DA -:1003B00062618FEA97E30F946D3CB80180E090E0B2 -:1003C0000E949E8080919319811102C0C80102C0D1 -:1003D00083E999E160E030C0B8018BE997E30F94BD -:1003E000D63C88E997E30FC026E5AC0181E794E1AC -:1003F0000E9490A581110AC0B80184E897E30F9488 -:10040000D63C81E897E30F946D3C1CC08091E816C0 -:1004100081608093E816B80180E090E00E949E80A1 -:100420001092CE15B8018FE697E30F94D63C8AE080 -:100430000E94626160E0C8010F94283203C08AED17 -:1004400097E368CF0F900F900F900F90DF91CF91AF -:100450001F910F91FF90EF90DF900895CF92DF9260 -:10046000EF92FF92CF936B017C01C42F809188198A -:1004700090918919A0918A19B0918B198C159D05BD -:10048000AE05BF05D1F00E9431A1811102C080E00C -:1004900018C028E837E1B701A60180919119909121 -:1004A00092190E94B3A1882391F3C0928819D09227 -:1004B0008919E0928A19F0928B1981E0C111809319 -:1004C0009019CF91FF90EF90DF90CF9008954F92C9 -:1004D0005F926F927F928F929F92AF92BF92CF92D4 -:1004E000DF92EF92FF920F931F93CF93DF93EC0174 -:1004F000423051056105710510F480E069C08985BD -:100500009A85AB85BC850196A11DB11D8417950701 -:10051000A607B70790F38F89803149F4852E962E70 -:10052000A72EBB248B899C89AD89BE890FC08032E0 -:1005300021F78B889C88AD88BE88DB01CA01E7E083 -:10054000B695A79597958795EA95D1F7880E991E48 -:10055000AA1EBB1E280139016A017B0141E0C501C9 -:10056000B4010E942E82882341F29F89903161F468 -:10057000DD24EE24FF249601220F331FF901E857F2 -:10058000F84E5182408211C0E894C7F8DD24EE2471 -:10059000FF249601220F331F220F331FF901E85762 -:1005A000F84E40825182628273829A89923080F042 -:1005B0004D815E816F817885840E951EA61EB71EC3 -:1005C00080928C1990928D19A0928E19B0928F19E9 -:1005D000DF91CF911F910F91FF90EF90DF90CF901F -:1005E000BF90AF909F908F907F906F905F904F9053 -:1005F0000895CF92DF92EF92FF920F931F93CF93C4 -:10060000DF93FC0181859285A385B4850196A11DA8 -:10061000B11D84179507A607B70710F480E061C0E5 -:100620008789803149F4BB27A72F962F852FC38850 -:10063000D488E588F6880FC0803281F78389948951 -:10064000A589B6896A017B01C7E0F694E794D7943F -:10065000C794CA95D1F78C0D9D1DAE1DBF1DE90134 -:100660006A017B018F01409188195091891960912D -:100670008A1970918B1984179507A607B70739F067 -:1006800040E0BC01CD010E942E82882339F2F8019E -:100690008789803179F4B701A60155276627772726 -:1006A000440F551FFA01E857F84E80819181A0E070 -:1006B000B0E012C0B701A6014F775527662777270C -:1006C000440F551F440F551FFA01E857F84E80811B -:1006D0009181A281B381BF7088839983AA83BB83F0 -:1006E00081E0DF91CF911F910F91FF90EF90DF900C -:1006F000CF9008954F925F926F927F92AF92BF9288 -:10070000CF92DF92EF92FF920F931F93CF93DF93DD -:1007100000D01F92CDB7DEB78C0149835A836B831B -:100720007C835901C12CD12C7601412C82E0582EBA -:10073000612C712C49815A816B817C819E012F5FD4 -:100740003F4FC8010E94F982882341F1D301C201C1 -:10075000F801058404C0880F991FAA1FBB1F0A94C3 -:10076000D2F7C80ED91EEA1EFB1E49815A816B8141 -:100770007C818789803139F481E0483F5F4F610592 -:10078000710538F4D7CF81E0483F5F4F6F4F7F400E -:1007900088F2F501C082D182E282F3820F900F903D -:1007A0000F900F90DF91CF911F910F91FF90EF90DD -:1007B000DF90CF90BF90AF907F906F905F904F9001 -:1007C00008954F925F926F927F928F929F92AF9215 -:1007D000BF92CF92DF92EF92FF920F931F93CF932E -:1007E000DF93CDB7DEB768970FB6F894DEBF0FBEC4 -:1007F000CDBF2A013B015901E82EF12CF701E25C43 -:10080000F64CE491CC24C3941E160CF4C12CDD24C8 -:10081000D39420E030E0A901C301B2010F94A455A4 -:1008200018160CF0D12C80E00E94F07969837A834D -:100830008B839C8381E00E94F0796D837E838F831C -:10084000988782E00E94F07969877A878B879C87F6 -:1008500083E00E94F0796D877E878F87988BEE0CFE -:10086000FF1CEE0CFF1C88248394912C8C0E9D1E83 -:100870008E0C9F1CF40110821182128213829E0141 -:10088000235F3F4FAE01475F5F4FBE016B5F7F4FFE -:10089000CE0101960E941B79F4014082518262824E -:1008A00073821D8A1E8A1F8A188E20E030E0A901FB -:1008B000B801C5010F945A4C811109C0F701EB50E2 -:1008C000F74C85919591A591B4918C015D01C8017A -:1008D000D501898B9A8BAB8BBC8BCE0145967C0165 -:1008E0008E010F5E1F4F9E01235F3F4FAE01475F9A -:1008F0005F4FBE016B5F7F4F44970E94BBBF0E945A -:10090000C578CD100E94F86B68960FB6F894DEBFDC -:100910000FBECDBFDF91CF911F910F91FF90EF9050 -:10092000DF90CF90BF90AF909F908F907F906F900F -:100930005F904F9008954F925F926F927F928F9247 -:100940009F92AF92BF92CF92DF92EF92FF920F935E -:100950001F93CF93DF93CDB7DEB768970FB6F894A8 -:10096000DEBF0FBECDBF8C015B015A834983DC0122 -:10097000D6966D917D918D919C91D9970F945F4CF6 -:100980006B017C01F50120813181428153810F94FB -:10099000C04C0F9422540F94B75469877A878B8781 -:1009A0009C87A981BA812D913D914D915C91C701A0 -:1009B000B6010F94C04C0F9422540F94B7546D8716 -:1009C0007E878F87988B29853A854B855C8528376C -:1009D00031054105510540F488E790E0A0E0B0E022 -:1009E00089879A87AB87BC872D853E854F85588937 -:1009F000283731054105510540F488E790E0A0E033 -:100A0000B0E08D879E87AF87B88BF801EE5BFF4F14 -:100A1000208131814281538129833A834B835C83D6 -:100A2000CA01B9010F94614C2B013C0169857A859B -:100A30008B859C850F945F4C698B7A8B8B8B9C8B01 -:100A400020E030E0A901C301B2010F945A4C882381 -:100A500029F1A7019601C701B6010F94C04C4B01C3 -:100A60005C0129893A894B895C89CA01B9010F94D3 -:100A7000C04C9B01AC01C501B4010F9443534B0121 -:100A80005C01A3019201C301B2010F9444539B0185 -:100A9000AC01C501B4010F943E5403C060E070E0A6 -:100AA000CB010F9422540F94B7546D837E838F83B0 -:100AB000988769817A818B819C81909580957095CA -:100AC00061957F4F8F4F9F4F0F94614C4B015C019D -:100AD0006D857E858F8598890F945F4C69837A83B5 -:100AE0008B839C8320E030E0A901C501B4010F9401 -:100AF0005A4C882349F129813A814B815C81CA0192 -:100B0000B9010F94C04C6D8B7E8B8F8B988FA70192 -:100B10009601C701B6010F94C04C9B01AC016D89D1 -:100B20007E898F89988D0F9443536B017C01A501B9 -:100B30009401C501B4010F9444539B01AC01C7015A -:100B4000B6010F943E5403C060E070E0CB010F94F7 -:100B5000E654D80195968D909D90AD90BC90989755 -:100B6000750164012D813E814F815885C21AD30AD7 -:100B7000E40AF50A0F94B754C61AD70AE80AF90A24 -:100B8000F7FE75C020E030E0A901C301B2010F9467 -:100B90005A4C882309F443C0C501B4010F945F4C3B -:100BA0006B017C01A3019201C301B2010F94445374 -:100BB0009B01AC01C701B6010F94C04C6B017C01D5 -:100BC00029893A894B895C89CA01B9010F94C04CC3 -:100BD0009B01AC01C701B6010F9443536B017C012B -:100BE00029813A814B815C81CA01B9010F94C04CC3 -:100BF0009B01AC01C701B6010F9444536B017C010A -:100C000020E030E040E850E4C301B2010F94C04C52 -:100C10009B01AC01C701B6010F943E5403C060E0D4 -:100C200070E0CB010F9422547B018D83998320E0E7 -:100C300030E0A9010F94A455181624F0E12CF12CF2 -:100C40001D821982B7018D8199810F94B7546D83EC -:100C50007E838F83988786169706A806B90620F4A8 -:100C60008D829E82AF82B886C12CD12C76018D8177 -:100C70009E81AF81B885F80181A792A7A3A7B4A7E9 -:100C8000C80ED91EEA1EFB1EC5A6D6A6E7A6F0AA68 -:100C900029853A854B855C8522AF33AF44AF55AF8C -:100CA000FE962D853E854F8558892083318342836A -:100CB000538368960FB6F894DEBF0FBECDBFDF91A9 -:100CC000CF911F910F91FF90EF90DF90CF90BF9049 -:100CD000AF909F908F907F906F905F904F9008950E -:100CE0004F925F926F927F928F929F92AF92BF923C -:100CF000DF92EF92FF920F931F93CF93DF93D82E43 -:100D0000C82FD0E0FE01E25CF64CB49082E0D8122D -:100D100005C081E00E94F9738111FCC07E01EE0CD8 -:100D2000FF1CEE0CFF1CF701EE5CF64C4590559055 -:100D3000659074906B2DBB0C770B880B990B0F94FF -:100D4000614C4B015C0120E030E040EC5FE3C3010B -:100D5000B2010F94C04CA50194010F94C04CAB019B -:100D6000BC0100E010E098018D2D0E94E18382E03B -:100D7000D81661F0F701EA5DF64C85919591A59141 -:100D8000B491E82F792F6A2F8B2F04C0E0E070E038 -:100D900060EA80E42E2F372F462F582FC501B4016B -:100DA0000F94C04C4B015C0120E030E0A9010F948E -:100DB0005A4C882309F448C082E0D81621F000E09C -:100DC00010E0980104C000E010E020E830E4B50134 -:100DD000A40170588D2D0E94E18382E0D81611F194 -:100DE000FE01ED5DF64C6491611107C00F94ED3C7E -:100DF00081E099E30F946D3C6AE0F701EB50F74C0A -:100E0000459055906590749070E080E090E00F946C -:100E1000614C9B01AC01C301B2010F943E542B0104 -:100E20003C0105C0412C512C612C90E4792EA50188 -:100E30009401C501B4010F944453AB01BC0193016B -:100E400082018D2D0E94E18381E090E00D2C01C094 -:100E5000880F0A94EAF79091D213982B9093D213AB -:100E60009091CF0C892B8093CF0CF701E751F74C71 -:100E700085919591A591B491F701EB5FF24F808335 -:100E80009183A283B38382E0D8121AC02091B80B59 -:100E90003091B90B4091BA0B5091BB0B60910D0D85 -:100EA00070910E0D80910F0D9091100D0F94435382 -:100EB00060930D0D70930E0D80930F0D9093100D98 -:100EC0001092D1131092D0130E94576BF701EE507D -:100ED000F34FD701AB5FB24F8D919D910D90BC91B7 -:100EE000A02D80839183A283B38382E0D81212C0A5 -:100EF00080E0DF91CF911F910F91FF90EF90DF90F5 -:100F0000BF90AF909F908F907F906F905F904F9029 -:100F10000C94F973DF91CF911F910F91FF90EF9097 -:100F2000DF90BF90AF909F908F907F906F905F9079 -:100F30004F900895CF93DF9324E0829FC001112446 -:100F4000EC01CC55D44FFC01EB52F64FDC01AD5314 -:100F5000B34F2D913D914D915C9160817181828162 -:100F600093810F944453688379838A839B83DF91B1 -:100F7000CF9108951F93CF93DF93882329F0D091C9 -:100F8000CF0CD095D17001C0D0E0662339F010911C -:100F9000CF0C1695117081E0182701C010E0442392 -:100FA00041F0C091CF0CC2FBCC27C0F981E0C8272B -:100FB00001C0C0E0D11105C0111103C0CC2309F458 -:100FC00044C00F94ED3C83EE98E30F946D3CDD2319 -:100FD00019F088E50E946261112319F089E50E94E9 -:100FE0006261CC2319F08AE50E9462618BED98E37F -:100FF0000F946D3CC11103C045E955E002C044E5C2 -:1010000058E0111103C025E935E002C02DE137E0B9 -:10101000D11103C085E995E002C08FE197E05F93AD -:101020004F933F932F939F938F9389EC98E39F93D4 -:101030008F931F920F940B328DB79EB709960FB600 -:10104000F8949EBF0FBE8DBFC1E08C2FDF91CF9172 -:101050001F910895CF92DF92EF92FF92CF93DF938B -:1010600020914402222309F485C0EC01C0902C0297 -:10107000D0902D02E0902E02F0902F02288139812D -:101080004A815B81C701B6010F94A455181624F458 -:10109000C882D982EA82FB82C0903002D0903102AD -:1010A000E0903202F0903302288139814A815B81DD -:1010B000C701B6010F945A4C87FF04C0C882D98279 -:1010C000EA82FB82C0903402D0903502E090360272 -:1010D000F09037022C813D814E815F81C701B601BE -:1010E0000F94A455181624F4CC82DD82EE82FF8280 -:1010F000C0903802D0903902E0903A02F0903B0262 -:101100002C813D814E815F81C701B6010F945A4CFD -:1011100087FF04C0CC82DD82EE82FF82C0903C0259 -:10112000D0903D02E0903E02F0903F022885398544 -:101130004A855B85C701B6010F94A455181624F49F -:10114000C886D986EA86FB86C0904002D0904102CC -:10115000E0904202F0904302288539854A855B85FC -:10116000C701B6010F945A4C87FF04C0C886D986C0 -:10117000EA86FB86DF91CF91FF90EF90DF90CF90D2 -:1011800008952F923F924F925F926F927F928F922B -:101190009F92AF92BF92CF92DF92EF92FF920F9306 -:1011A0001F93CF93DF93CDB7DEB7C657D1090FB6E4 -:1011B000F894DEBF0FBECDBF82EF9CE00E942A886C -:1011C0008091D71183FD7DC0C090FE0CD090FF0CA4 -:1011D000E090000DF090010D2091110D3091120D55 -:1011E0004091130D5091140DC701B6010F945A4C44 -:1011F000882309F466C080913F0D81111FC0609162 -:10120000440D7091450D8091460D9091470D0F94BE -:10121000B05420914B0230914C026217730774F462 -:10122000C092110DD092120DE092130DF092140D98 -:101230000F94ED3C8EEA98E30F946D3C8090FE0C89 -:101240009090FF0CA090000DB090010D2091110D19 -:101250003091120D4091130D5091140DC501B40140 -:101260000F9443536B017C0120E030E0A9010F94FF -:10127000A45587FF04C0F7FAF094F7F8F094209192 -:101280004702309148024091490250914A02C701F9 -:10129000B6010F94C04C20E030E04AEF53E40F94C5 -:1012A000A455181674F48092110D9092120DA0920C -:1012B000130DB092140D0F94ED3C8FE898E30F944A -:1012C0006D3C80918C0B0091450210914602882361 -:1012D00009F1C090BF0CD090C00CE090C10CF09010 -:1012E000C20C20E030E0A901C701B6010F945A4CAE -:1012F000882309F455C02091FA0C3091FB0C4091E1 -:10130000FC0C5091FD0CC701B6010F94A4551816A2 -:101310000CF446C0B801110F880B990B0F94614C67 -:10132000209128023091290240912A0250912B02EB -:101330000F94C04C2AE037ED43E25CE30F94C04CBD -:1013400069837A838B839C83C12CD12C76018E0197 -:101350000F5F1F4F2EEF3CE04AEF5CE066EF7CE052 -:1013600082EF9CE00E94F1CE0E945DE2CA58DF4FFE -:101370000FB6F894DEBF0FBECDBFDF91CF911F91A6 -:101380000F91FF90EF90DF90CF90BF90AF909F9024 -:101390008F907F906F905F904F903F902F90089527 -:1013A000B801110F880B990B0F94614C2091280202 -:1013B0003091290240912A0250912B020F94C04C87 -:1013C0002AE037ED43E25CE30F94C04C6DA77EA7A3 -:1013D0008FA798ABB091050DBFABE091060DEBAFB9 -:1013E000F091070DFFAFE090080D2196EFAE219729 -:1013F0000091090D10910A0D20910B0D30910C0DEB -:1014000025960CAF1DAF2EAF3FAF259780910D0DE8 -:1014100090910E0DA0910F0DB091100DA3968CAF71 -:101420009DAFAEAFBFAFA397E090110DF090120D3E -:101430000091130D1091140DA796ECAEFDAE0EAFFA -:101440001FAFA797C090F20CD090F30CE090F40C73 -:10145000F090F50CC982DA82EB82FC828090F60C67 -:101460009090F70CA090F80CB090F90C8D829E82B1 -:10147000AF82B8860091FA0C1091FB0C2091FC0C05 -:101480003091FD0C09AB1AAB2BAB3CAB09871A872B -:101490002B873C874090FE0C5090FF0C6090000D15 -:1014A0007090010D4D865E866F86788A20E030E070 -:1014B00040EA50E46FA97E2F8F2F21969FAD219790 -:1014C0000F94435322EA3CEB46E85CE30F94C04C94 -:1014D0000F94B054663014F065E002C067FD60E020 -:1014E000262F660F330B3EAB2DAB20E030E040EAF9 -:1014F00050E425966CAD7DAD8EAD9FAD25970F94D4 -:10150000435329E838E848E85CE30F94C04C0F9453 -:10151000B054663014F065E002C067FD60E0862FCD -:10152000660F990B2D969FAF8EAF2D9720E030E080 -:1015300040EA50E4C701B6010F94435322EA3CEB62 -:1015400046E85CE30F94C04C0F94B05429966FAFFB -:10155000299766302CF095E029969FAF299708C00F -:101560002996AFAD2997A7FF03C029961FAE2997EB -:101570002996EFAD29970E2E000CFF0B2F96FFAF8B -:10158000EEAF2F9720E030E040EA50E4C501B4010F -:101590000F94435329E838E848E85CE30F94C04CC3 -:1015A0000F94B05428966FAF289766302CF0F5E072 -:1015B0002896FFAF289708C028960FAD289707FFF9 -:1015C00003C028961FAE289728962FAD2897022E85 -:1015D000000C330B27963FAF2EAF27978DA99EA9FE -:1015E0002F96AEADBFAD2F978A179B0709F01CC190 -:1015F0002D960EAD1FAD2D9727962EAD3FAD27979B -:101600000217130709F010C189809A80AB80BC8053 -:1016100029968FAD29970E9405A99B01AC012F96B1 -:101620006EAD7FAD2F976F5F7F4FA6E0A69FC00185 -:10163000A79F900D11242796EEADFFAD2797E80FD9 -:10164000F91FEE0FFF1FEE0FFF1FE15DF34FE0806C -:10165000F18002811381EFAAF8AE09AF1AAF2F967D -:101660000EAD1FAD2F97A09FB001A19F700D11244B -:101670002796EEADFFAD2797E60FF71FEE0FFF1F82 -:10168000EE0FFF1FE15DF34F408051806280738059 -:101690002796AEADBFAD27971196FC01EA0FFB1F51 -:1016A000EE0FFF1FEE0FFF1FE15DF34FE080F180B3 -:1016B00002811381EBAEFCAE0DAF1EAFA60FB71FBC -:1016C000AA0FBB1FAA0FBB1FA15DB34FCD90DD902A -:1016D000ED90FC9029960FAD2997053089F1C50151 -:1016E000B4010F94435322EA3CEB46E85CE30F94C9 -:1016F000C04C4B015C01A30192016FA978AD89AD8B -:101700009AAD0F944353A50194010F94C04CA301CB -:1017100092010F9444532B013C01A70196016BAD3C -:101720007CAD8DAD9EAD0F944353A50194010F94F4 -:10173000C04CA70196010F9444536B017C0105C076 -:10174000C12CD12C7601260137018D809E80AF807F -:10175000B88428968FAD28970E94D7A89B01AC012A -:1017600028961FAD2897153059F1C501B4010F9483 -:10177000435329E838E848E85CE30F94C04C4B0138 -:101780005C01A3019201C701B6010F9443539B0171 -:10179000AC01C501B4010F94C04CA30192010F9498 -:1017A00044536B017C01CE0109960E94E3E19B0149 -:1017B000AC01C701B6010F94C04C6B017C0103C0A2 -:1017C000C12CD12C76011D8A1E8A1F8A188E89840D -:1017D0009A84AB84BC84A7019601C701B6010F941B -:1017E0009156882319F0C12CD12C7601A7019601BE -:1017F000C501B4010F944453698B7A8B8B8B9C8BFE -:101800009E012B5E3F4F79018E01035D1F4F2850D3 -:101810003109AE014F5E5F4FBE016B5F7F4FCE015E -:1018200001960E94BBBFA0CD2FA93BAD4FAD219625 -:101830005FAD2197C701B6010F9443536B017C0143 -:1018400025962CAD3DAD4EAD5FAD2597C501B401DC -:101850000F9443534B015C0181E090E02B969FAFC6 -:101860008EAF2B9720E030E0A901C501B4010F94A1 -:101870005A4C87FD04C02B961FAE1EAE2B9720E05E -:1018800030E0A901C701B6010F945A4C87FF0AC086 -:1018900097018601305863960CAF1DAF2EAF3FAF56 -:1018A000639706C06396CCAEDDAEEEAEFFAE639737 -:1018B00020E030E0A901C501B4010F945A4C87FF24 -:1018C0000AC0D501C401B05867968CAF9DAFAEAFCA -:1018D000BFAF679706C067968CAE9DAEAEAEBFAE8B -:1018E0006797ADA9BEA92F96EEADFFAD2F97AE17A6 -:1018F000BF0781F020E030E0A901C701B6010F94D5 -:101900005A4C87FF0CC00FEF1FEF6D961FAF0EAF45 -:101910006D970BC06D961FAE1EAE6D9706C021E091 -:1019200030E06D963FAF2EAF6D972D968EAD9FAD8B -:101930002D972796AEADBFAD27978A179B0781F0ED -:1019400020E030E0A901C501B4010F945A4C87FF93 -:101950000CC0EFEFFFEF6F96FFAFEEAF6F970BC0CE -:101960006F961FAE1EAE6F9706C001E010E06F9637 -:101970001FAF0EAF6F9767962CAD3DAD4EAD5FAD0F -:10198000679763966CAD7DAD8EAD9FAD63970F94F9 -:10199000A45518161CF01401850102C01601870118 -:1019A000A7962CAD3DAD4EAD5FADA797C301B2017B -:1019B0000F94435369A77AA78BA79CA79101A8010D -:1019C0000F943E54AB966CAF7DAF8EAF9FAFAB978D -:1019D000A3962CAD3DAD4EAD5FADA39769A97AA995 -:1019E0008BA99CA90F9443539101A8010F943E54D5 -:1019F000E1966CAF7DAF8EAF9FAFE197A7019601E7 -:101A0000C501B4010F943E546B966CAF7DAF8EAFA1 -:101A10009FAF6B979B01AC016FA97BAD8FAD2196FA -:101A20009FAD21970F94C04C9B01AC0125966CADE6 -:101A30007DAD8EAD9FAD25970F944353E5966CAF6A -:101A40007DAF8EAF9FAFE597AB964CAC5DAC6EAC07 -:101A50007FACAB97E89477F86D962EAD3FAD6D9760 -:101A6000232B09F038C12D962EAC3FAC2D972B9629 -:101A70008EAD9FAD2B97280E391E2796AEADBFAD0C -:101A80002797A80FB91F2B96BFAFAEAF2B976B96BA -:101A90000CAD1DAD2EAD3FAD6B973F7709AB1AABCB -:101AA0002BAB3CAB2B962EAD3FAD2B9722153305C0 -:101AB00009F463C46F968EAD9FAD6F97280E391EE3 -:101AC000122D822D0E94D7A86B017C012FEF3FEFD2 -:101AD0004FE75FE769A97AA98BA99CA90F94915652 -:101AE00081110CC02FEF3FEF4FE75FE769A97AA99B -:101AF0008BA99CA90F945A4C1816ACF0E5962CAD06 -:101B00003DAD4EAD5FADE597C701B6010F944353B0 -:101B10006B962CAD3DAD4EAD5FAD6B970F943E54C3 -:101B2000362F272F06C03FA92BAD8FAD21969FAD35 -:101B30002197432F522FBC014D8F5E8F6F8F78A35B -:101B400096E02916310450F4A1016DA97EA9CE01B9 -:101B50004D960E947CE16B017C0103C0C12CD12C0D -:101B60007601CE0109960E94E3E1A70196010F9448 -:101B7000C04C6B017C019B01AC010F9491568823F2 -:101B800019F0C12CD12C7601812F0E94D7A84B01CE -:101B90005C01698F7A8F8B8F9C8F9B01AC0125969E -:101BA0006CAD7DAD8EAD9FAD25970F945A4C8823BB -:101BB00009F478CF2FEF3FEF4FE75FE7C301B201A2 -:101BC0000F94915681110BC02FEF3FEF4FE75FE766 -:101BD000C301B2010F945A4C18160CF450C067960A -:101BE0002CAD3DAD4EAD5FAD679763966CAD7DADF1 -:101BF0008EAD9FAD63970F94A45518165CF42FA972 -:101C00003BAD4FAD21965FAD21976D8D7E8D8F8D54 -:101C100098A108C025962CAD3DAD4EAD5FAD259782 -:101C2000C501B4010F9443534B015C019B01AC010E -:101C3000AB966CAD7DAD8EAD9FADAB970F94C04CA8 -:101C4000A7962CAD3DAD4EAD5FADA7970F94445315 -:101C500069A77AA78BA79CA7A5019401E1966CAD13 -:101C60007DAD8EAD9FADE1970F94C04CA3962CAD8A -:101C70003DAD4EAD5FADA3970F9444530CC08D8521 -:101C80009E85AF85B88989A79AA7ABA7BCA76985A8 -:101C90007A858B859C851D8A1E8A1F8A188EA701CE -:101CA00096010F944453698B7A8B8B8B9C8BDE014E -:101CB00055967D018E01035D1F4F9E01275D3F4FAD -:101CC000AE014F5E5F4FBE01675E7F4FCE014D9606 -:101CD0000E94BBBFE7CEE1E0F0E0FAABE9AB20E069 -:101CE00030E0A901C701B6010F945A4C87FD02C02C -:101CF0001AAA19AA2DA83EA8E9A8FAA82E0C3F1CDA -:101D00006F960EAD1FAD6F97012B09F0FDC02F969A -:101D10002EAD3FAD2F972E0D3F1D3AAB29AB89A9B4 -:101D20009AA98215930509F428C36D96AEADBFAD8F -:101D30006D972A0E3B1E122D822D0E9405A99B0134 -:101D4000AC016B966CAD7DAD8EAD9FAD6B970F9476 -:101D5000C04CE5962CAD3DAD4EAD5FADE5970F9413 -:101D600044536D8F7E8F8F8F98A3B6E02B1631046E -:101D700060F42D964EAD5FAD2D97B101CE014D961D -:101D80000E9415E16B017C0103C0C12CD12C7601AE -:101D9000CE0109960E94E3E1A70196010F94C04C81 -:101DA0006B017C019B01AC010F949156882319F0C3 -:101DB000C12CD12C7601812F0E9405A94B015C0119 -:101DC000698F7A8F8B8F9C8F9B01AC016FA97BAD44 -:101DD0008FAD21969FAD21970F945A4C882309F41B -:101DE0009ECF2FEF3FEF4FE75FE7C301B2010F94A4 -:101DF000915681110BC02FEF3FEF4FE75FE7C30113 -:101E0000B2010F945A4C18160CF450C067962CADC2 -:101E10003DAD4EAD5FAD679763966CAD7DAD8EAD5C -:101E20009FAD63970F94A45518164CF42FA93BADA2 -:101E30004FAD21965FAD2197C501B4010AC025962B -:101E40002CAD3DAD4EAD5FAD25976D8D7E8D8F8DEB -:101E500098A10F9443534B015C019B01AC01AB96DD -:101E60006CAD7DAD8EAD9FADAB970F94C04CA7967A -:101E70002CAD3DAD4EAD5FADA7970F94445369A710 -:101E80007AA78BA79CA7A5019401E1966CAD7DADC7 -:101E90008EAD9FADE1970F94C04CA3962CAD3DAD98 -:101EA0004EAD5FADA3970F9444530CC08D859E85B6 -:101EB000AF85B88989A79AA7ABA7BCA769857A859A -:101EC0008B859C851D8A1E8A1F8A188EA701960104 -:101ED0000F944453698B7A8B8B8B9C8BFE01759688 -:101EE0007F018E01035D1F4F9E01275D3F4FAE01B5 -:101EF0004F5E5F4FBE01635E7F4FCE0149960E94E9 -:101F0000BBBF81110CCF39C22D968EAD9FAD2D97E1 -:101F10002796EEACFFAC27978E199F096DA97EA975 -:101F20002F960EAD1FAD2F97601B710B77FF03C06F -:101F3000719561957109E7967FAF6EAFE79797FF4F -:101F400003C0919581959109AD969FAF8EAFAD97E6 -:101F50003EAA2DAA2D962EAC3FAC2D972B962EADDA -:101F60003FAD2B97220E331EE7968EAD9FADE797C0 -:101F7000892B39F4AD96AEADBFADAD97AB2B09F45F -:101F8000FCC18DA96C96BFAD6C978B0F0E9405A903 -:101F90006DA37EA38FA398A76E968FAD6E97820DCB -:101FA0000E94D7A84B015C0169A37AA38BA39CA3D1 -:101FB000CDA0DEA0EFA0F8A4A70196016B966CADB2 -:101FC0007DAD8EAD9FAD6B970F94C04CE5962CAD5B -:101FD0003DAD4EAD5FADE5970F9444536D8F7E8F51 -:101FE0008F8F98A3E5962CAD3DAD4EAD5FADE597D7 -:101FF000C501B4010F9443536B962CAD3DAD4EAD6E -:102000005FAD6B970F943E549B01AC01698F7A8F43 -:102010008B8F9C8F01E010E0C701B6010F945A4CE2 -:1020200087FD02C000E010E0E9A9FAA90E171F071A -:1020300009F0CEC06F96EEACFFAC6F972E0C3F1C34 -:102040006DA97EA96E1B7F0B6630710560F406E0FA -:102050002016310440F4A101CE0149960E947CE192 -:102060006B017C0103C0C12CD12C7601CE010996F5 -:102070000E94E3E1A70196010F94C04C6B017C0123 -:102080009B01AC010F949156882319F0C12CD12CDF -:1020900076012FEF3FEF4FE75FE7C301B2010F94E7 -:1020A000915681110BC02FEF3FEF4FE75FE7C30160 -:1020B000B2010F945A4C18160CF452C067962CAD0E -:1020C0003DAD4EAD5FAD679763966CAD7DAD8EADAA -:1020D0009FAD63970F94A45518165CF42FA93BADE0 -:1020E0004FAD21965FAD2197698D7A8D8B8D9C8D3B -:1020F0000AC025962CAD3DAD4EAD5FAD259769A1CB -:102100007AA18BA19CA10F9443534B015C019B01CD -:10211000AC01AB966CAD7DAD8EAD9FADAB970F9422 -:10212000C04CA7962CAD3DAD4EAD5FADA7970F94BB -:10213000445369A77AA78BA79CA7A5019401E196B0 -:102140006CAD7DAD8EAD9FADE1970F94C04CA39665 -:102150002CAD3DAD4EAD5FADA3970F9444530CC075 -:102160008D859E85AF85B88989A79AA7ABA7BCA79F -:1021700069857A858B859C851D8A1E8A1F8A188EA3 -:10218000A70196010F944453698B7A8B8B8B9C8BA0 -:102190009E012B5E3F4F79018E01035D1F4F2C5E28 -:1021A0003F4FAE014F5E5F4FBE016F5D7F4FCE016F -:1021B00049960E94BBBF882309F4DFC0AD968EAD5F -:1021C0009FADAD970197AD969FAF8EAFAD97D2C043 -:1021D000EDA9FEA96D96EEACFFAC6D97EE0DFF1D5F -:1021E000FEABEDABE630F10590F4A1012B960EAD00 -:1021F0001FAD2B97401B510B4630510540F4BF01DA -:10220000CE014D960E9415E16B017C0103C0C12CEB -:10221000D12C7601CE0109960E94E3E1A701960137 -:102220000F94C04C6B017C019B01AC010F94915643 -:10223000882319F0C12CD12C76012FEF3FEF4FE707 -:102240005FE7C301B2010F94915681110BC02FEFCC -:102250003FEF4FE75FE7C301B2010F945A4C1816E6 -:102260000CF452C067962CAD3DAD4EAD5FAD679797 -:1022700063966CAD7DAD8EAD9FAD63970F94A45505 -:1022800018165CF42FA93BAD4FAD21965FAD219799 -:102290006DA17EA18FA198A50AC025962CAD3DAD5C -:1022A0004EAD5FAD25976D8D7E8D8F8D98A10F946E -:1022B00043534B015C019B01AC01AB966CAD7DAD12 -:1022C0008EAD9FADAB970F94C04CA7962CAD3DAD96 -:1022D0004EAD5FADA7970F94445369A77AA78BA71C -:1022E0009CA7A5019401E1966CAD7DAD8EAD9FAD2F -:1022F000E1970F94C04CA3962CAD3DAD4EAD5FADB4 -:10230000A3970F9444530CC08D859E85AF85B889E3 -:1023100089A79AA7ABA7BCA769857A858B859C8579 -:102320001D8A1E8A1F8A188EA70196010F94445396 -:10233000698B7A8B8B8B9C8B9E012B5E3F4F790137 -:102340008E01035D1F4F2C5E3F4FAE014F5E5F4F0E -:10235000BE01635E7F4FCE0185960E94BBBF88237E -:1023600061F0E7968EAD9FADE7970197E7969FAF37 -:102370008EAFE797019609F0F7CD29813A814B811D -:102380005C816091050D7091060D8091070D909113 -:10239000080D0F945A4C811137C92D813E814F8110 -:1023A00058856091090D70910A0D80910B0D9091E7 -:1023B0000C0D0F945A4C811127C90C94B48980914B -:1023C000D20C9091D30CA091D40CB091D50C8093E9 -:1023D000280290932902A0932A02B0932B028091A5 -:1023E000D00C9091D10C90934602809345020895B1 -:1023F0008091280290912902A0912A02B0912B028B -:102400008093D20C9093D30CA093D40CB093D50CA2 -:1024100080914502909146029093D10C8093D00C0C -:1024200084E690E0909346028093450208954F928F -:102430005F926F927F928F929F92AF92BF92CF9254 -:10244000DF92EF92FF920F931F93CF93DF93CDB75D -:10245000DEB72C970FB6F894DEBF0FBECDBF2B01B1 -:102460003C0129873A874B875C8747015801F60171 -:10247000E080F1800281138120E030E0A901B70102 -:10248000C8010F945A4C81110BC0EDEFF8E3859110 -:102490009591A591B491582F492F3A2F2B2F04C015 -:1024A0005E2D4F2D302F212F852F942FA32FB22F4C -:1024B00089839A83AB83BC8320E030E0A901B70114 -:1024C000C8010F945A4C811104C0E12CF12C08EC86 -:1024D00012E4C701D8018D839E83AF83B887A5011D -:1024E000940160910D0D70910E0D80910F0D9091E2 -:1024F000100D0F945A4C87FF0CC080920D0D9092D6 -:102500000E0DA0920F0DB092100DCE0101960E94FB -:10251000B26A4092050D5092060D6092070D7092BE -:10252000080D89859A85AB85BC858093090D9093AC -:102530000A0DA0930B0DB0930C0DCE0105960E94D1 -:10254000B26A20910D0D30910E0D40910F0D5091FA -:10255000100DC501B4010F945A4C87FF0CC0809236 -:102560000D0D90920E0DA0920F0DB092100DCE0198 -:1025700001960E94B26A0E94C5782C960FB6F89414 -:10258000DEBF0FBECDBFDF91CF911F910F91FF90A6 -:10259000EF90DF90CF90BF90AF909F908F907F9003 -:1025A0006F905F904F900895CF92DF92EF92FF92DD -:1025B0000F931F936A01E0900D0DF0900E0D0091A6 -:1025C0000F0D1091100DFB0120813181428153814B -:1025D000FC0160817181828193810E9417921F9119 -:1025E0000F91FF90EF90DF90CF900895CF92DF9200 -:1025F000EF92FF920F931F936B01FC01E080F1803B -:1026000002811381E5E0FDE0248135814681578117 -:1026100060817181828193810E9417921F910F9135 -:10262000FF90EF90DF90CF9008958091090180FD99 -:1026300006C08091E81683FB882780F9089580E022 -:1026400008950F931F93CF93DF938B01D82FC92F3A -:102650004630C1F4109273131092741310927513D4 -:1026600010927613109277130E9490FA20E030E0D7 -:102670004CE053E4B8018D2F9C2F0F945A4C87FDEA -:102680000FC01DC00F94BC3220E030E046E953E497 -:10269000B8018D2F9C2F0F945A4C87FD20C02EC05F -:1026A00020E030E0A901B8018D2F9C2F0F94A45594 -:1026B00018164CF000E010E0D0E0C0E004C000E0EC -:1026C00010E0DCE0C3E4B8018D2F9C2F0F94B054D0 -:1026D000CB01DF91CF911F910F910C9469E920E01C -:1026E00030E0A901B8018D2F9C2F0F94A455181626 -:1026F0004CF000E010E0D0E0C0E004C000E010E0EA -:10270000D6E9C3E4B8018D2F9C2F0F94B054CB01B0 -:10271000DF91CF911F910F910C9496A69091D213B7 -:10272000977081E0973009F080E008958091E81477 -:102730009091E914891B8F7069F48091650B811168 -:1027400009C081E02091E2093091E309232B19F4BB -:1027500080E0089581E008953F924F925F926F92DA -:102760007F928F929F92AF92BF92CF92DF92EF9221 -:10277000FF920F931F93CF93DF93CDB7DEB762978E -:102780000FB6F894DEBF0FBECDBF2B013C01342E37 -:1027900024E0429FC00111249A8B898BFC01EB5FDE -:1027A000F24FC080D180E280F38020E030E04AE741 -:1027B00054E4C701B6010F9443534B015C0120E080 -:1027C00030E04AE754E4C701B6010F9444537B015B -:1027D0008C01809144028823D1F181E0381639F1CF -:1027E0003816A0F092E0391232C080903C029090EE -:1027F0003D02A0903E02B0903F02E0904002F09077 -:102800004102009142021091430221C080902C02AB -:1028100090902D02A0902E02B0902F02E0903002F6 -:10282000F0903102009132021091330210C080907A -:10283000340290903502A0903602B0903702E090BA -:102840003802F090390200913A0210913B0280E187 -:10285000E3EDF2E0DE01119601900D928A95E1F729 -:10286000E1E0F0E0EC0FFD1F89899A89E80FF91F7C -:1028700020E030E040E752E4608171818281938101 -:102880000F943E54609328027093290280932A0289 -:1028900090932B028091D31381FF0E9477E99201DC -:1028A000A301B701C8010F94A455181614F47201BE -:1028B00083019701A801B401C5010F945A4C87FD0B -:1028C00002C074018501E989FA89EE50F34FC7010E -:1028D000D80180839183A283B3838091D3138260D4 -:1028E0008093D31362960FB6F894DEBF0FBECDBFB0 -:1028F000DF91CF911F910F91FF90EF90DF90CF90DC -:10290000BF90AF909F908F907F906F905F904F900F -:102910003F9008952091D31390E0880F991F880F5E -:10292000991FFC0121FF03C0EE50F34F02C0EB5F83 -:10293000F24F608171818281938108952091D31338 -:1029400020FF14C020E83EE3629FA001639F500D6A -:10295000729F500D1124CA0196958795969587957B -:10296000009731F08A950000E9F708950D94013C35 -:1029700008959F92AF92BF92CF92DF92EF92FF9213 -:102980000F931F93CF93DF9380919A0B833009F5B8 -:102990000E948E938823E9F06091AD097091AE0991 -:1029A000072E000C880B990B0F94614C20E030E04F -:1029B00040E85FE30F9443532091A9093091AA099D -:1029C0004091AB095091AC090F945A4C18160CF079 -:1029D00066C0D0E000E010E0FF24F394EE24E3941E -:1029E00046E0D42EC0E0CC24C39456E0B52E65E07A -:1029F000A62E72E8972EFC24DC16F1F18D2F90E0C4 -:102A00008397C4F5C530B1F10530A1F1DF5FF8015E -:102A1000BC9EE00DF11D1124EE0FFF1FEE0FFF1FF6 -:102A2000E15DF34F20E030E04AE754E460817181DA -:102A3000828193810F94C04C0F94B05470936D15A4 -:102A400060936C15A0926015909263158D2F90E0A5 -:102A50008158974F880F991F092E000CAA0BBB0BAA -:102A60008093641590936515A0936615B0936715D0 -:102A70000F942E25CE0DC0CF0F5F1F4F06301105CE -:102A800079F1F11006C0EE24EA94DD24DA94C5E071 -:102A9000B2CFEE24E39436E0D32EC0E0ACCF81E099 -:102AA0009AE590936D1580936C1580E490E0909377 -:102AB0006F1580936E1587E08093601582E8809390 -:102AC000631584E890E0A0E0B0E0809364159093F3 -:102AD0006515A0936615B09367150F942E2579CFD1 -:102AE000DF91CF911F910F91FF90EF90DF90CF90EA -:102AF000BF90AF909F900895AF92BF92CF92DF9218 -:102B0000EF92FF920F931F93CF93DF93EC0188EE28 -:102B1000C82E80E2D82EE12CF12C02E8A12C90E204 -:102B2000B92E15E000936315C0926415D092651517 -:102B3000E0926615F0926715B0926D15A0926C1533 -:102B4000109360150F942E258FEFC81AD80AE80A43 -:102B5000F80A80E1C81681E2D806E104F10411F711 -:102B600048EE50E260E070E0CE01DF91CF911F911E -:102B70000F91FF90EF90DF90CF90BF90AF900D94AA -:102B8000DD2484E08093990B82E08093560881E0F5 -:102B90009AE590936D1580936C158EE490E0909378 -:102BA0006F1580936E1587E08093601582E880939F -:102BB000631584E890E0A0E0B0E080936415909302 -:102BC0006515A0936615B09367150F942E2581E2C5 -:102BD00097E00C948062CF92DF92EF92FF926A01AD -:102BE0007B010E94BBA8882331F0FF90EF90DF901B -:102BF000CF900C943BA8C701B601FF90EF90DF90F7 -:102C0000CF9008952F923F924F925F926F927F9252 -:102C10008F929F92AF92BF92CF92DF92EF92FF92EC -:102C20000F931F93CF93DF93CDB7DEB7CD54D10968 -:102C30000FB6F894DEBF0FBECDBF60E070E085E454 -:102C40000E94C8A8182F81E0810F823018F080E818 -:102C50009BE354C065E070E083E40E94C8A889A7A4 -:102C600060E085E50E94B9EA2C968FAF2C9717FF9C -:102C700005C040E050E06CE872E404C040E050E081 -:102C800066E173E483E50E94EB950F94B054072E40 -:102C9000000C880B990B0F94614C6D837E838F839E -:102CA0002E969FAF2E970F9493362B013C011F3F1A -:102CB00009F409C5E12E012E000CFF08F70183E09D -:102CC000EE0FFF1F8A95E1F7E45FFD4F6681778184 -:102CD0006F507109072E000C880B990B0F94614CF3 -:102CE0009B01AC016D817E818F812E969FAD2E97C9 -:102CF0000F94A4551816ECF485E59BE3C35BDF4FF6 -:102D00000FB6F894DEBF0FBECDBFDF91CF911F91FC -:102D10000F91FF90EF90DF90CF90BF90AF909F907A -:102D20008F907F906F905F904F903F902F900D9479 -:102D30006D3C81E49BE30F946D3C0E94DFFA87E1D8 -:102D40008E9DF0018F9DF00D1124E05CF24F8FE716 -:102D5000828722E330E0A8EEB3E00F9404536BA720 -:102D60007CA78DA79EA79B01AC01240D351D461D98 -:102D7000571D28AF39AF4AAF5BAF81E08093140293 -:102D800010925E021F3F11F58BEA9AEAAAEABEE3AF -:102D90008CAF9DAFAEAFBFAF2DEC3CEC4CE45EE32F -:102DA00024962CAF3DAF4EAF5FAF249725961FAE54 -:102DB000259749E85AE327965FAF4EAF279783E5FB -:102DC0009AE329969FAF8EAF299721C020E030E08B -:102DD00040E05EE32CAF3DAF4EAF5FAF8AE999E9CB -:102DE000A9E1BFE324968CAF9DAFAEAFBFAF2497F0 -:102DF00025961FAF2597A7E7BAE32796BFAFAEAFDB -:102E00002797E0E4FAE32996FFAFEEAF299749A2AE -:102E10005AA26BA27CA24FA658AA69AA7AAA2FE747 -:102E200030E040E050E0288739874A875B87188A7E -:102E3000198A1A8A1B8A1C861D861E861F86C12C2B -:102E4000D12C76011E8A30E43F8B4CE1488F56E44A -:102E5000598F1A8E1B8E1C8E1D8E1BAACCAADDAA22 -:102E6000EEAAFFAAFFE78F2E912CA12CB12C1DA258 -:102E70001EA21FA218A681E088A31D8A1C8A212CED -:102E8000312C00E02D961FAE2D97A7E11A02C0014C -:102E90001124805C924FFC013A962B96FFAFEEAF67 -:102EA0002B979C012C5F3F4F3F8F2E8F49A5042EFF -:102EB000000C550B5AA749A780911402882309F4E6 -:102EC00054C20F94933669837A838B839C83809159 -:102ED0007E13882309F4BAC00E9493FC1F3F61F45B -:102EE0002090A9093090AA090091AB095091AC0932 -:102EF0002D965FAF2D970EC0AE8DBF8D2C90119685 -:102F00003C90119712960C9112971396BC912D96A6 -:102F1000BFAF2D972A8D3B8D4C8D5D8DB101802FDC -:102F20002D969FAD2D970F94A45518163CF42A8E1C -:102F30003B8E0C8F2D96EFAD2D97ED8F2E893F890F -:102F4000488D598DB101802F2D969FAD2D970F94EF -:102F50005A4C87FF07C02E8A3F8A088F2D96FFADF7 -:102F60002D97F98F28A1222309F44DC09101402FFC -:102F70002D965FAD2D976D817E818F812E969FADB1 -:102F80002E970F945A4C87FF61C049815A816B81FB -:102F90007C814419550966097709DB01CA01885803 -:102FA0009341A109B109B7FD51C088859985AA85CA -:102FB000BB8588199909AA09BB09B595A795979565 -:102FC00087951F3F19F48093AF0905C02B96EEAD8E -:102FD000FFAD2B9780834DA35EA36FA378A7FD81E0 -:102FE000FA8F2E812B8F3F813C8F2E964FAD2E97DF -:102FF0004D8F89819A81AB81BC8189A39AA3ABA3B0 -:10300000BCA318A223C09101402F2D965FAD2D9730 -:103010006D817E818F812E969FAD2E970F94A45542 -:103020001816A4F489819A81AB81BC8129A13AA1A7 -:103030004BA15CA1821B930BA40BB50BAC01BD0192 -:10304000485853416109710977FFAEC120E030E073 -:1030500040EA51E46D817E818F812E969FAD2E973F -:103060000F9444539101402F2D965FAD2D970F94EF -:103070005A4C87FF03C08BEA9AE3B9C089819A81D1 -:10308000AB81BC812FA538A949A95AA9821B930BF2 -:10309000A40BB50BB7FD90C025968FAD25970E9468 -:1030A0004AF38AE00E94626189819A81AB81BC8186 -:1030B0008053984FAF4FBF4F8FA798ABA9ABBAAB18 -:1030C0009BA9911159C02CA93DA94EA95FA9B10195 -:1030D000802F2D969FAD2D970F94A4551816BCF5F3 -:1030E00020E030E040E050E4B101802F2D969FAD0C -:1030F0002D970F9444536CAB7DAB8EAB9FAB2BA540 -:103100003CA54DA55EA589819A81AB81BC81280F24 -:10311000391F4A1F5B1F28AF39AF4AAF5BAF20E0B2 -:1031200030E040EC50E46D817E818F812E969FAD22 -:103130002E970F9443539101402F2D965FAD2D97FD -:103140000F945A4C881F8827881F8BAB35C0898104 -:103150009A81AB81BC8128AD39AD4AAD5BAD821B94 -:10316000930BA40BB50BB7FD27C027964EAD5FADF3 -:1031700027976CE97AE31DC020E030E040EA51E493 -:103180006D817E818F812E969FAD2E970F94435334 -:103190009B01AC01B101802F2D969FAD2D970F940F -:1031A0005A4C87FF09C029964EAD5FAD299767E657 -:1031B0007AE3812F0E94AED089819A81AB81BC8154 -:1031C000880F991FAA1FBB1F29A13AA14BA15CA17F -:1031D000821B930BA40BB50B84199509A609B7099B -:1031E00081389F44A241B10528F082E29AE30F940E -:1031F0006D3CBBC049A55AA58C899D8948175907C4 -:103200000CF0B0C003970CF4ADC085EC99E30F94BB -:103210006D3C1F3F29F4A5EBB9E3BA83A98304C031 -:10322000E4EBF9E3FA83E98383EA99E30F946D3CD5 -:1032300089819A810F946D3CB701A60181EC99E3D5 -:103240000F94B93C8AE00E94626183EA99E30F948B -:103250006D3C89819A810F946D3C4C855D856E85AE -:103260007F858DEB99E30F94B93C8AE00E946261FF -:1032700083EA99E30F946D3C89819A810F946D3CA8 -:10328000488959896A897B8989EB99E30F94B93C0C -:103290008AE00E9462612C96FFAD2C97FF2309F40F -:1032A00066C01F3F69F5C092B009D092B109E092A3 -:1032B000B209F092B3092CEA35EC47E25EE36C8583 -:1032C0007D858E859F850F94C04C6093B409709363 -:1032D000B5098093B6099093B7092CEA35EC47E21B -:1032E0005EE3688979898A899B890F943E5460934B -:1032F000B8097093B9098093BA099093BB0937C094 -:1033000047E1140290011124205C324F3A83298353 -:10331000D9011B96CD92DD92ED92FC921E972CEA7C -:1033200035EC47E25EE36C857D858E859F850F9445 -:10333000C04CE981FA816787708B818B928B2CEA74 -:1033400035EC47E25EE3688979898A899B890F9425 -:103350003E54A981BA8153966D937D938D939C932E -:10336000569705C00E94EC2EA7CD0E94DFFA81E09F -:1033700080935E02C35BDF4F0FB6F894DEBF0FBED3 -:10338000CDBFDF91CF911F910F91FF90EF90DF9014 -:10339000CF90BF90AF909F908F907F906F905F90F5 -:1033A0004F903F902F9008954C895D89452B09F4EB -:1033B00051C14DA05EA06FA078A4480E591E6A1E90 -:1033C0007B1E2DA13EA14FA158A5281B390B4A0BEE -:1033D0005B0BC501B4010F94A052A30192010F949D -:1033E000D25288849984AA84BB84820E931EA41E20 -:1033F000B51E54E185169104A104B1040CF18CEEC4 -:1034000088169104A104B1043CF490E88916910453 -:10341000A104B10434F422C06BEE862E912CA12CB1 -:10342000B12C88869986AA86BB862EEF30E040E0D4 -:1034300050E0281939094A095B0949015A0112C0AB -:1034400084E190E0A0E0B0E088879987AA87BB87F5 -:1034500054E1852E912CA12CB12C04C0888699862C -:10346000AA86BB8689E39BE30F946D3C68857985CA -:103470008A859B850E94D66184E39BE30F946D3C13 -:10348000C501B4010E94D6614E895F89688D798D2E -:103490008DE29BE30F94B93C4A8D5B8D6C8D7D8DE5 -:1034A00086E29BE30F94B93CAC89BD8913970CF479 -:1034B000D1C0C501B4010F94614C20E030E040E878 -:1034C00050E40F94C04C6B017C012E893F89488DDC -:1034D000598D6A8D7B8D8C8D9D8D0F9443532BED73 -:1034E0003FE049E450E40F94C04C20E030E040E07D -:1034F0005FE30F94C04C9B01AC01C701B6010F9470 -:103500003E546B017C01C301B2010F94614C2FE664 -:1035100032E143E85AE30F94C04C2B013C01B70160 -:10352000A60180E29BE30F94B93CB301A2018AE1BA -:103530009BE30F94B93C1F3F09F044C02DEC3CECD9 -:103540004CE45EE3C701B6010F94C04C6B017C01F3 -:103550009B01AC010F944453A30192010F943E547C -:103560006C877D878E879F87A7019601C301B20173 -:103570000F94C04C20E030E040E450E40F943E54FF -:10358000688B798B8A8B9B8B8AE09BE30F946D3CD5 -:10359000B701A60184E09BE30F94B93C4C855D859F -:1035A0006E857F858EEF9AE30F94B93C48895989DF -:1035B0006A897B8988EF9AE30F94B93C8AE00E947C -:1035C00062614AC024962CAD3DAD4EAD5FAD2497EF -:1035D000C701B6010F94C04C6B017C019B01AC018B -:1035E000C301B2010F94C04C2CAD3DAD4EAD5FADEB -:1035F0000F94C04C688B798B8A8B9B8BA7019601AB -:10360000C701B6010F944453A30192010F943E5495 -:103610006C877D878E879F8788EE9AE30F946D3C39 -:10362000B701A60182EE9AE30F94B93C4C855D8503 -:103630006E857F858CED9AE30F94B93C4889598952 -:103640006A897B8986ED9AE30F94B93C8AE00E94EF -:10365000626111C01F3F79F488859985AA85BB8571 -:10366000880D991DAA1DBB1DB595A79597958795A2 -:103670008093AF0911C088859985AA85BB85880D7F -:10368000991DAA1DBB1DB595A795979587952B9656 -:10369000EEADFFAD2B9780832C893D892F5F3F4F87 -:1036A0003D8B2C8B3D813E8B4E814F8B5F81588FA4 -:1036B0002E968FAD2E97898F49805A806B807C80A3 -:1036C00091E098A3C3CC20E030E047E053E46D8163 -:1036D0007E818F812E969FAD2E970F94A45518163C -:1036E0000CF40ACB81E49BE30F946D3C0E94DFFA5B -:1036F0008FE78093AF0924EB30E02DCB2F923F92E0 -:103700004F925F926F927F928F929F92AF92BF92F1 -:10371000CF92DF92EF92FF920F931F93CF93DF939D -:10372000EB01FC0180809180A280B380C501B401CF -:1037300020E831E541E050E00F94B052C9016DE658 -:1037400071E00F9413536B017C01C501B40120E1BA -:103750003EE040E050E00F94B052CA01B90128E1C8 -:1037600030E040E050E00F94B052362E272E062F66 -:10377000172F8CE3482E512C612C712CC501B401FC -:10378000A30192010F94B052B62EA72ECA01B9011F -:10379000A30192010F94B052CB01C114D104D9F00E -:1037A000AF92BF927F936F932F923F92FF92EF92CF -:1037B000DF92CF928FE899E39F938F93DF93CF931C -:1037C0000F94F24B8DB79EB70E960FB6F8949EBF2E -:1037D0000FBE8DBF5CC0E114F104C9F0AF92BF927F -:1037E0007F936F932F923F92FF92EF928FE799E32F -:1037F0009F938F93DF93CF930F94F24BEDB7FEB768 -:103800003C960FB6F894FEBF0FBEEDBF40C0012B33 -:10381000B9F0AF92BF927F936F932F923F9283E75D -:1038200099E39F938F93DF93CF930F94F24B8DB7D0 -:103830009EB70A960FB6F8949EBF0FBE8DBF27C0E5 -:10384000892BA9F0AF92BF927F936F938BE699E398 -:103850009F938F93DF93CF930F94F24BEDB7FEB707 -:1038600038960FB6F894FEBF0FBEEDBF10C0AF92F2 -:10387000BF9287E699E39F938F93DF93CF930F9443 -:10388000F24B0F900F900F900F900F900F90DF91D1 -:10389000CF911F910F91FF90EF90DF90CF90BF904D -:1038A000AF909F908F907F906F905F904F903F90E0 -:1038B0002F9008958F929F92AF92BF92CF92DF92F6 -:1038C000EF92FF920F931F93CF93DF93CDB7DEB7A5 -:1038D000E6970FB6F894DEBF0FBECDBF0091DC0CAB -:1038E0001091DD0C82E080932A0CF80101900020F9 -:1038F000E9F731975F01A01AB10AF801CF01801BE7 -:10390000910B8A159B0534F480818F3209F4108263 -:103910003196F4CF8BE1EAECF4E1DE015C960190A4 -:103920000D928A95E1F7E12CF12CEA14FB040CF0DE -:1039300084C0F801EE0DFF1D8081811103C08FEF5F -:10394000E81AF80A6801CE0CDF1CF6018081882392 -:1039500009F473C0FFEFEF1AFF0AF801EE0DFF1D27 -:103960007F01E01AF10A81918111FACFCE014C96C4 -:103970000E9477A08BE1FE017C96DE0111960190FA -:103980000D928A95E1F7A601BE016F5F7F4F80E03F -:1039900090E00E94007FCE0101960E94ADA18FE2CF -:1039A0000E94626180919319811103C08BE397E0BB -:1039B00002C083E999E14C01F40181914F01882310 -:1039C00019F00E946261F8CF8091E81684FF35C03B -:1039D00019821C8221E0A601BE01645E7F4FCE01E8 -:1039E00001960E9490A5811116C08AE00E94626132 -:1039F0000F94ED3C83E599E30F946D3CF6018191C2 -:103A00006F01882319F00E946261F8CFCE01019600 -:103A10000E94ADA112C0CE014C960E94A4A18BE1E0 -:103A2000FE013196DE015C9601900D928A95E1F7D8 -:103A3000CE0101960E94ADA178CF8AE00E9462611A -:103A4000CE014C960E94ADA1E6960FB6F894DEBF6B -:103A50000FBECDBFDF91CF911F910F91FF90EF90DF -:103A6000DF90CF90BF90AF909F908F9008959091EE -:103A7000E81693FB882780F993FF06C081E09091B8 -:103A80007414911101C080E00895CF93DF93E09109 -:103A9000640BF0E0E653FA4E8081882309F447C0B6 -:103AA00087E499E30F946D3CC091640B40E6C49F9A -:103AB000E0011124CC51D64F88818E3479F480E214 -:103AC0000E94626189910E946261899190ED980FD4 -:103AD0009A30C8F38D32B9F38B32A9F384E499E3B9 -:103AE0000F946D3C9091E8148091E914981B9F709D -:103AF0006AE070E02FE030E0A901491B5109CA01DA -:103B00000E94F26181E499E30F946D3C9091650B02 -:103B10006AE070E024E030E0A901491B5109CA01C4 -:103B20000E94F2618AE0DF91CF910C946261DF9193 -:103B3000CF9108950E948D628AE499E30F946D3CC1 -:103B40008091D80C9091D90CA091DA0CB091DB0C3B -:103B5000BC01CD016F5F7F4F8F4F9F4F0E94D66199 -:103B60000E947A620C94459D0F931F93CF938C0112 -:103B7000C62F0F94E93CC8010F946D3C6091D80C9E -:103B80007091D90C8091DA0C9091DB0C0E94D66177 -:103B90000E947A62C11104C00E9492620196E1F70C -:103BA0000E949A9DEC2FEE0FFF0BEA52F34F118209 -:103BB0001082CF911F910F9108955F926F927F9223 -:103BC0008F929F92AF92BF92CF92DF92EF92FF922D -:103BD0000F931F93CF93DF93CDB7DEB76DB67EB64D -:103BE0007C0100E010E08DB69EB6F701E00FF11FFA -:103BF0005490C80101965C01552029F09AE05916AD -:103C000011F08501F2CF8DB79EB78A199B090FB6C7 -:103C1000F8949EBF0FBE8DBF01966C01A801B7013D -:103C20000F94944BF601E00FF11F1082C6010F9420 -:103C30009D0A552041F0EA0CFB1C0FB6F8949EBE7D -:103C40000FBE8DBED0CF0FB6F8947EBE0FBE6DBE38 -:103C5000DF91CF911F910F91FF90EF90DF90CF9068 -:103C6000BF90AF909F908F907F906F905F900895DE -:103C70008F929F92AF92BF92CF92DF92EF92FF927C -:103C80000F931F93CF93DF93EC018B81811102C0BF -:103C900080E078C009891A892B893C8904171507A7 -:103CA00026073707A8F36A017B01823029F4C8860A -:103CB000D986EA86FB860DC0C114D104E104F10463 -:103CC00051F4188619861A861B861C821D821E8254 -:103CD0001F8281E057C088849984AA84BB84E98DBF -:103CE000FA8D258530E0275F3F4FB501A401415093 -:103CF000510961097109022E04C07695679557959F -:103D000047950A94D2F7D701C6010197A109B109D5 -:103D100004C0B695A795979587952A95D2F78417ED -:103D20009507A607B70720F089288A288B2871F401 -:103D30004D895E896F89788D4C835D836E837F8327 -:103D40004C015D018E010C5F1F4F16C0841B950B4B -:103D5000A60BB70BF5CF4C815D816E817F819801F9 -:103D6000898D9A8D0E94F98291E0891A9108A108A3 -:103D7000B108882309F48CCF81149104A104B10403 -:103D800051F795CFDF91CF911F910F91FF90EF9059 -:103D9000DF90CF90BF90AF909F908F9008950F933A -:103DA0001F93CF93DF93FC012381222311F080E046 -:103DB00044C08B01EC01FB018789803139F18032ED -:103DC000B1F783E08B83F801428D538D648D758D3F -:103DD0004D8B5E8B6F8B788F9E012F5E3F4FC8019E -:103DE0000E947A83882319F31A8F098F81E08983CF -:103DF000188619861A861B861C821D821E821F82C7 -:103E0000188A1C861D861E861F8617C082E08B833B -:103E10001D8A1E8A1F8A188EFB01808D918DA0E05D -:103E2000B0E025E0880F991FAA1FBB1F2A95D1F784 -:103E3000898B9A8BAB8BBC8BD7CFDF91CF911F91A6 -:103E40000F910895CF93DF93EC0141E0611101C020 -:103E500040E06C857D858E859F850E942E8288231B -:103E600041F0888920E2829FC00111248857984E32 -:103E700002C080E090E0DF91CF910895CF93DF936F -:103E8000EB01FC012381211102C080E028C02250F7 -:103E9000223020F48FE28883198220C060E00E94E3 -:103EA000229F009791F3FC0190E080E02EE23081A8 -:103EB000303269F0883029F4DE01A90FB11D2C934E -:103EC0009F5FDE01A90FB11D30813C939F5F8F5F23 -:103ED00031968B3061F7C90FD11D188281E0DF91D7 -:103EE000CF9108953F924F925F926F927F928F92FF -:103EF0009F92AF92BF92CF92DF92EF92FF920F9379 -:103F00001F93CF93DF93CDB7DEB72C970FB6F894FE -:103F1000DEBF0FBECDBF5C01DC0159968D909C9039 -:103F20005A97F40181859285A385B4859C01AD01E2 -:103F30002F5F3F4F4F4F5F4F29873A874B875C87F3 -:103F4000D5011496CD90DD90ED90FC901797C1149B -:103F5000D104E104F10439F0BFEFCB1ADB0AEB0A1C -:103F6000FB0A312C07C0F401C080D180E280F380CD -:103F700033243394260137011D821E821F82188646 -:103F8000F40181859285A385B4852D813E814F8181 -:103F90005885281739074A075B0708F064C08985E8 -:103FA0009A85AB85BC858C159D05AE05BF0550F483 -:103FB00082E0C82ED12CE12CF12C92E0492E512C1C -:103FC000612C712C9E012F5F3F4FB701A601C401E8 -:103FD0000E94F982882309F446C089819A81AB81C5 -:103FE000BC81892B8A2B8B2B41F0260137019FEF57 -:103FF000491A590A690A790A05C0C414D504E604A5 -:10400000F70491F02D813E814F8158852F5F3F4FFE -:104010004F4F5F4F2D833E834F8358873FEFC31A27 -:10402000D30AE30AF30AACCF0FEF1FEF2FEF3FE005 -:10403000B301A201C4010E946782F82E882399F07F -:10404000D50114964D915D916D917C911797411515 -:1040500051056105710549F093018201C4010E9477 -:104060006782811102C0F12C29C0D50114964D92AE -:104070005D926D927C921797332051F0D301C2016B -:104080000196A11DB11DF40180839183A283B383A6 -:10409000F50185899689A789B08D892B8A2B8B2B71 -:1040A00069F4D50155964D925D926D927C92589728 -:1040B00011968C911197806811968C938F2D2C9668 -:1040C0000FB6F894DEBF0FBECDBFDF91CF911F9129 -:1040D0000F91FF90EF90DF90CF90BF90AF909F90A7 -:1040E0008F907F906F905F904F903F90089540E049 -:1040F00050E0BA010C94389E61E0FC0180810F947D -:1041000006358FEF0C947D6AEF92FF921F93CF9349 -:10411000DF9300D01F92CDB7DEB77C01162F298325 -:104120003A834B835C83FC0182810E94896A60E050 -:10413000F70180810F9406350F948526812F8064C6 -:104140000E947D6A8C810E947D6A8B810E947D6ABB -:104150008A810E947D6A89810E947D6A112311F003 -:1041600087E801C085E90E947D6A1C3011F40E9435 -:10417000826A10E00E94826AF701838387FF04C08D -:104180001F3F11F01F5FF6CF0F900F900F900F9011 -:10419000DF91CF911F91FF90EF9008950F931F93A0 -:1041A000CF93DF93EC0189018C81833039F089E072 -:1041B000440F551F661F771F8A95D1F79A01AB01EF -:1041C00068E1CE010E9484A0811128C08EEF8EBDCF -:1041D000F801C8019E5F0DB407FEFDCF20812EBD02 -:1041E0000DB407FEFDCF21812EBD32968E179F079D -:1041F00091F70DB407FEFDCF8FEF0E947D6A8FEF20 -:104200000E947D6A0E94826A8B838F71853041F0A3 -:1042100083E18983CE010E947CA019C086E016C08C -:104220000F948526882379F020E030E0A9016DE025 -:10423000CE010E9484A0811108C00E94826A81116F -:1042400004C011E005C087E101C086E1898310E068 -:10425000CE010E947CA0812FDF91CF911F910F9101 -:104260000895CF93809190198823B9F140918819CE -:104270005091891960918A1970918B1928E837E15A -:1042800080919119909192190E94CEA0C82F81110E -:1042900002C0C0E023C040918C1950918D196091EB -:1042A0008E1970918F19411551056105710591F0B5 -:1042B00028E837E180919119909192190E94CEA03F -:1042C000882339F310928C1910928D1910928E193F -:1042D00010928F191092901901C0C1E08C2FCF91CC -:1042E0000895CF93DF93EC018B81882339F1898185 -:1042F00087FF20C061E0CE010E94229FFC01892B34 -:10430000E9F08081853ED1F08B81823040F489894B -:104310009A89AB89BC89848F958FA68FB78F8D8939 -:104320009E89AF89B88D938F828FB58BA48B89813D -:104330008F778983DF91CF910C9431A181E08883BD -:1043400080E0DF91CF910895CF93DF93EC010E943D -:1043500071A11B82DF91CF910895FC01238121116E -:104360000C94A4A10895CF92DF92EF92FF920F9345 -:104370001F93CF93DF93EC0189018C81833039F057 -:1043800089E0440F551F661F771F8A95D1F79A0160 -:10439000AB0161E1CE010E9484A0882339F084E062 -:1043A0008983CE010E947CA080E03EC00F949336AA -:1043B0006B017C012CE2C20E21E0D21EE11CF11C3B -:1043C0000E94826A8B838F3F61F40F949336DC01E5 -:1043D000CB018C199D09AE09BF09B7FDF1CF81E171 -:1043E0001DC08E3FD1F48FEF8EBDF801D801A150D2 -:1043F000BE4F0DB407FEFDCF9EB591938EBDEA175B -:10440000FB07B9F70DB407FEFDCF8EB58C930E9464 -:10441000826A0E94826A11E003C08FE0898310E003 -:10442000CE010E947CA0812FDF91CF911F910F912F -:10443000FF90EF90DF90CF9008952F923F924F9290 -:104440005F926F927F928F929F92AF92BF92CF9224 -:10445000DF92EF92FF920F931F93CF93DF9300D0E1 -:104460001F92CDB7DEB79C838B834B015A01DC01D1 -:1044700013968C91811103C08FEF9FEFE3C0EB8106 -:10448000FC81818180FFF8CFEB81FC818189928959 -:10449000A389B4894085518562857385841B950BFA -:1044A000A60BB70BA50160E070E084179507A6077F -:1044B000B70708F45C0175018B819C8104969A838F -:1044C0008983612C42E0742EE114F10409F48BC05D -:1044D000AB81BC8118964D915D916D917C911B973C -:1044E0006A01B1E0DB22EB81FC812381818D928D19 -:1044F0001A012B0139E056944794379427943A9542 -:10450000D1F7223061F4FC01828D938DA48DB58D9D -:10451000BC01CD01620D731D841D951D4AC0DC01D7 -:1045200014961C9111501221C114D10401F51111DE -:104530001EC0452B462B472B59F4EB81FC81858906 -:104540009689A789B08D84839583A683B7830FC08E -:10455000AB81BC8114964D915D916D917C911797C3 -:1045600029813A810E94F982882309F485CFEB8161 -:10457000FC81218D328D84819581A681B78102973E -:10458000A109B109F901058404C0880F991FAA1F68 -:10459000BB1F0A94D2F74685578560897189840FBD -:1045A000951FA61FB71FBC01CD01610F711D811D95 -:1045B000911D93012C193D0987012E153F0508F423 -:1045C00089010115F2E01F0779F5209188193091D2 -:1045D000891940918A1950918B19621773078407C2 -:1045E000950719F421C0C5012DC09401AB01BC0190 -:1045F00080919119909192190E94B3A1882309F496 -:104600003BCF800E911EEB81FC8180859185A28538 -:10461000B385800F911FA11DB11D80879187A2874F -:10462000B387E01AF10A50CF40E00E942E8288231F -:1046300009F422CFB6016857784EA801C4010F943F -:10464000C357DFCF0F900F900F900F90DF91CF9156 -:104650001F910F91FF90EF90DF90CF90BF90AF90A0 -:104660009F908F907F906F905F904F903F902F9092 -:104670000895DF92EF92FF920F931F93CF93DF93F2 -:104680008C01EB017A018DE0D82E40E250E0BE01B2 -:10469000C8010E941DA28032910539F021E0892BCA -:1046A00009F420E0822F819544C028812223C9F19A -:1046B000253E11F02E3231F4E114F10431F3F7010B -:1046C0001082E3CFE114F10441F13B853F733F30A9 -:1046D00021F54A8D5B8D452B01F52F713FEF320F90 -:1046E0003530D8F430E021503109D29EC001D39E3C -:1046F000900D1124D701A80FB91FFE0120E0AD01D4 -:10470000253088F431813D932F5F32962D30C1F7EB -:10471000288126FF02C0FA0115862B8523FDB5CF1F -:1047200008C080E006C02B3010F43481ECCF368115 -:10473000EACFDF91CF911F910F91FF90EF90DF9023 -:1047400008954F925F926F927F929F92AF92BF9225 -:10475000CF92DF92EF92FF920F931F93CF93DF934D -:104760001F92CDB7DEB78C017B015A01C22EDB014F -:1047700059968D919C915A97F801928F818FCB0118 -:104780000E9477A0912CF70180859185A285B38541 -:10479000418952896389748984179507A607B707E9 -:1047A00008F060C025E0B695A795979587952A955E -:1047B000D1F7F82FFF70DF2ED70113968C9182303E -:1047C00008F460C041E050E0BE016F5F7F4FC70159 -:1047D0000E941DA2019719F4898190E002C08FEF19 -:1047E0009FEF019609F44EC0F70180859185A2855F -:1047F000B3854F96A11DB11D80879187A287B3878E -:10480000F0E2DF9EB00111246857784E6115710502 -:10481000C9F1DB018C91882319F0853EC1F46CC18C -:1048200091100EC08091881990918919A0918A19D0 -:10483000B0918B19F80184879587A687B787D08AAE -:10484000DB018C91882361F0992493949CCF4BE0F9 -:1048500050E0C5010F94B657892B09F094CF14C0CE -:10486000992493948C2D8274823461F4992009F4F4 -:104870008BC0F801D08861E0C8010E94229F009798 -:1048800009F00DC180E03BC1C7FCFCCFF0E2DF9E28 -:10489000A00111249A012857384ED9011B968C91FA -:1048A000817121F08C2D827109F06AC08091881984 -:1048B00090918919A0918A19B0918B19F801848778 -:1048C0009587A687B787D08ACA018857984E7C01FA -:1048D000DC0154964D915C91559760E070E0DA01EF -:1048E00099278827858B968BA78BB08FF701428DF0 -:1048F000538D60E070E0482B592B6A2B7B2BD8013D -:1049000055964D935D936D937C935897F9018385EC -:10491000887161F4F701848D958DA68DB78DF801AE -:10492000818B928BA38BB48B81E010C0803141F5D9 -:1049300098012F5E3F4FD80159968D919C915A97BF -:104940000E947A838823E1F084E0F80183838C2D30 -:104950008F70D80111968C931197F80114821582EB -:104960001682178218961D921D921D921C921B97FB -:10497000C4FEB5C0C8010F94A9268111B0C082CF72 -:10498000D80113961C927ECFD70113968C91139762 -:10499000823009F477CF51968D919D910D90BC9105 -:1049A000A02D803E9F4FAF41B10508F06BCFC701EE -:1049B0000E94729F882309F465CF0E9431A1882349 -:1049C00009F460CFD70159962D913C915A971496CE -:1049D0008D919D910D90BC91A02D0297A109B109D7 -:1049E000F901058404C0880F991FAA1FBB1F0A94F0 -:1049F000D2F74684578460887188480E591E6A1E13 -:104A00007B1E81E0809390194092881950928919F9 -:104A100060928A1970928B1980E092E0E8E8F7E1E1 -:104A2000DF019C011D9221503040E1F7DD24D39439 -:104A3000D7015996ED91FC915A978481D81698F434 -:104A400028E837E1B301A2014D0D511D611D711D13 -:104A500080919119909192190E94CEA0882309F417 -:104A600011CFD394E5CF80E092E0A0E0B0E00584E0 -:104A700004C0880F991FAA1FBB1F0A94D2F7F70121 -:104A80004189528963897489840F951FA61FB71FB6 -:104A9000818B928BA38BB48B88E897E1D12C20E299 -:104AA000DC011D922A95E9F72BE0F501DC0101906C -:104AB0000D922A95E1F721E238E2FC01318B208B3F -:104AC00040E058E057874687338B228B318F208F09 -:104AD000578B468B0E9431A18111D8CED3CEC5FE13 -:104AE00009C0F8014189528963897489C8010E940B -:104AF000389E05C081E003C09110A6CE93CE0F90E2 -:104B0000DF91CF911F910F91FF90EF90DF90CF90A9 -:104B1000BF90AF909F907F906F905F904F9008955F -:104B20002F923F924F925F926F927F928F929F92BD -:104B3000AF92BF92CF92DF92EF92FF920F931F93AB -:104B4000CF93DF93CDB7DEB7C254D1090FB6F89437 -:104B5000DEBF0FBECDBF4C015B016A01322E198250 -:104B60001C821C8E1F8E6115710511F410E0A6C009 -:104B7000FC0183818111FACFFA0180818F3209F023 -:104B80009BC0F50183818250823010F485010CC0F6 -:104B9000F501618D728DCE014C960E94CF9E8823C7 -:104BA00029F38E01045E1F4FC6016C010196F601C8 -:104BB00020812F32D1F3CE0101967C013C012E01E0 -:104BC0009CE1490E511C2396EFAE23972F2C9BE0BE -:104BD0009150E7E3F0E0EC0FFD1FE90FF11D80E2DB -:104BE00080839111F5CF960147E0D9018D918823FB -:104BF00069F18F3259F18E3239F44A3009F4B6CF67 -:104C000098E04AE09D01F1CFECEBFBE324912223F5 -:104C100021F031968213FACFA9CF491708F4A6CF15 -:104C2000813208F4A3CF8F3709F4A0CF21E0290FF8 -:104C3000E7E3F0E0EC0FFD1FE90FF11D9FE9980F8E -:104C40009A3108F480528083922FDCCF8FA9803272 -:104C500009F48CCF6901F90180812F5F3F4F8F32BA -:104C6000C9F38823F9F021E0AE01495C5F4FB80138 -:104C7000C7010E94A1A3882309F478CF0A151B0558 -:104C800019F0C8010E94A4A16E147F0441F023967C -:104C90009FAD2397822D8701E92EF82E98CF942D72 -:104CA000852DF9CF232DAE01495C5F4FB801C401BA -:104CB0000E94A1A3182F02C08B017DCFCE014C967C -:104CC0000E94ADA1CE0101960E94ADA1812FCE5BC5 -:104CD000DF4F0FB6F894DEBF0FBECDBFDF91CF918F -:104CE0001F910F91FF90EF90DF90CF90BF90AF900A -:104CF0009F908F907F906F905F904F903F902F90FC -:104D00000895CF93C82F0F94ED3C84E50E94626113 -:104D10006AE070E08C2F90E00E94F26180E20E94D5 -:104D200062618AEA9BE3CF910D946D3C209112025F -:104D3000309113022F503109821793070CF49C0114 -:104D40003093490D2093480D80E00C94FFFA20E049 -:104D500030E040EA50E40F94435320E030E040EF6D -:104D600051E40F94445329E838E848E85CE30F9491 -:104D7000C04C0F94B054663010F4862F08958FEF16 -:104D8000089520E030E040EA50E40F94435323E3D9 -:104D900033E343EF51E40F94445322EA3CEB46E8FB -:104DA0005CE30F94C04C0F94B054663010F4862F1F -:104DB00008958FEF08951F93CF93DF93182F87E007 -:104DC0000F94253CC0E0D0E080E20E9462616AE07E -:104DD00070E0CE010E94F261812F0F94253C219654 -:104DE000C630D10589F76AE070E080E090E0DF919D -:104DF000CF911F910D94013C8F929F92AF92BF92E1 -:104E0000CF92DF92EF92FF920F931F93CF93DF9396 -:104E1000EC017B018A016901FB0120813181428122 -:104E20005381688179818A819B810F94445368837F -:104E300079838A839B83F801208131814281538168 -:104E40006C817D818E819F810F9444536C837D831F -:104E50008E839F83F6012081318142815381688551 -:104E600079858A859B850F944453688779878A87DB -:104E70009B87F70160817181828193819B01AC01E5 -:104E80000F94C04C9B01AC016C857D858E859F8500 -:104E90000F9444536C877D878E879F87F8016081CC -:104EA0007181828193819B01AC010F94C04C9B0165 -:104EB000AC01688979898A899B890F944453688BEE -:104EC000798B8A8B9B8BF6016081718182819381C2 -:104ED0009B01AC010F94C04C9B01AC016C897D8996 -:104EE0008E899F890F9444536C8B7D8B8E8B9F8B07 -:104EF000F8012081318142815381F7016081718104 -:104F0000828193810F94C04C9B01AC01688D798D97 -:104F10008A8D9B8D0F944453688F798F8A8F9B8FD6 -:104F2000F6012081318142815381F70160817181D5 -:104F3000828193810F94C04C9B01AC016C8D7D8D5F -:104F40008E8D9F8D0F9444536C8F7D8F8E8F9F8F8E -:104F5000F6012081318142815381F80160817181A4 -:104F6000828193810F94C04C9B01AC0168A179A10F -:104F70008AA19BA10F94445368A379A38AA39BA3FE -:104F80008CA09DA0AEA0BFA0F701C080D180E28020 -:104F9000F38020E030E0A901C701B6010F94A455C9 -:104FA00087FF04C0F7FAF094F7F8F094A701960190 -:104FB000B401C5010F945A4C87FD02C0640175010C -:104FC000CCA2DDA2EEA2FFA288A499A4AAA4BBA4AD -:104FD000F801C080D180E280F38020E030E0A901B8 -:104FE000C701B6010F94A45587FF04C0F7FAF094E7 -:104FF000F7F8F0949401A501C701B6010F94A455E8 -:10500000181614F064017501C8A6D9A6EAA6FBA675 -:1050100020E030E040E85FE368AD79AD8AAD9BAD5C -:105020000F94445368AF79AF8AAF9BAFDF91CF91B4 -:105030001F910F91FF90EF90DF90CF90BF90AF90B6 -:105040009F908F9008958DE09CE30D945C12809169 -:10505000321790913317009731F04AE050E060E04A -:1050600070E00D94504960E070E0CB0108950E941B -:1050700027A8CB0108950F931F93CF9380913217E8 -:1050800090913317009711F1FC018F01C1912C2FE2 -:105090002F7DA9F0C53411F0C536B9F7F80110829B -:1050A00060E070E080913217909133170F94F447CD -:1050B000F801C083562F472F382F292F0BC060E0EF -:1050C00070E0CF911F910F910D94F44750E040E0B4 -:1050D00030E020E0652F742F832F922FCF911F9106 -:1050E0000F91089581548A3108F042C0E82FF0E012 -:1050F0004091A9135091AA136091AB137091AC1316 -:1051000004C076956795579547958A95D2F7842F71 -:10511000817040FF2FC0E157FC4E9081992309F127 -:10512000E091030DF091040DE90FF11D908120ED48 -:10513000290F2A3098F09E3211F491810CC09D32D3 -:1051400011F09B3271F4918120ED290F2A3030F05B -:105150009E3239F4928190539A3018F42E2F9F2F5B -:1051600002C020E090E02093321790933317089507 -:1051700080E0089508950E9472A8882341F081E09C -:105180002091321730913317232B09F480E00895D2 -:10519000CF93DF93EB010E94BBA8882321F0DF911E -:1051A000CF910C9437A8CE01DF91CF910895E82FCD -:1051B000F0E0863078F4EE0FFF1FEE0FFF1FE45B88 -:1051C000F84B4591559165917491F42FE52F362F49 -:1051D000272F16C0BF01FF0F880B990B0F94614C4E -:1051E00020E030E040E752E40F94C04C20E030E093 -:1051F00040EA50E40F944453F62FE72F382F292F1D -:105200006F2F7E2F832F922F0895E82FF0E08630A6 -:1052100078F4EE0FFF1FEE0FFF1FE457F84B459198 -:10522000559165917491F42FE52F362F272F16C0D5 -:10523000BF01FF0F880B990B0F94614C23E333E3FD -:1052400043E752E40F94C04C20E030E040EA50E4E1 -:105250000F944453F62FE72F382F292F6F2F7E2FCF -:10526000832F922F08952F923F924F925F926F92C9 -:105270007F928F929F92AF92BF92CF92DF92EF92E6 -:10528000FF920F931F93CF93DF93CDB7DEB7629753 -:105290000FB6F894DEBF0FBECDBF9A838983788B9B -:1052A0006F87FC0180809180A280B38020E030E095 -:1052B00040EA50E4C501B4010F94A45587FD24C011 -:1052C00020E030E84AE953E4C501B4010F945A4C98 -:1052D0001816D4F0EF85F889C080D180E280F38081 -:1052E00020E030E040EA50E4C701B6010F94A45535 -:1052F00087FD0AC020E030E848E953E4C701B60161 -:105300000F945A4C181624F4C12CD12C760156C196 -:1053100020E030E040EA50E4C501B4010F9443536B -:1053200022EA3CEB46E85CE30F94C04C0F94B05487 -:10533000698B66301CF0F5E0F98B03C0298927FDE5 -:10534000198A20E030E040EA50E4C701B6010F942A -:10535000435329E838E848E85CE30F94C04C0F94C5 -:10536000B0546A8B66301CF035E03A8B03C04A8932 -:1053700047FD1A8A5989252E550F3308C101E5E0EA -:105380002E16310414F084E090E09C012F5F3F4F13 -:105390003E872D8739893F5F3D83832F0E9405A972 -:1053A00069877A878B879C8789890E9405A96B0109 -:1053B0007C0186E0829DF001839DF00D11244A89D5 -:1053C000042F440F110BE00FF11FEE0FFF1FEE0F24 -:1053D000FF1FE15DF34F40805180628073802D8517 -:1053E0003E85829FF001839FF00D1124E00FF11F95 -:1053F000EE0FFF1FEE0FFF1FE15DF34FA3019201C0 -:1054000060817181828193810F9443534B015C01D0 -:10541000A7019601E981FA8160817181828193817E -:105420000F9443539B01AC01C501B4010F94C04CD0 -:105430004B015C01A701960169857A858B859C8566 -:105440000F9443539B01AC01C501B4010F943E542A -:10545000A30192010F94445369877A878B879C87B5 -:10546000C8010530110514F084E090E05C01FFEF05 -:10547000AF1ABF0A8D810E9405A96D837E838F8339 -:10548000988789890E9405A96B017C0126E0229DED -:10549000C001239D900D1124FC01EA0DFB1DEE0FB0 -:1054A000FF1FEE0FFF1FE15DF34F408051806280D0 -:1054B00073804D855E85249FC001259F900D11242A -:1054C000FC01EA0DFB1DEE0FFF1FEE0FFF1FE15D5C -:1054D000F34FA301920160817181828193810F94C6 -:1054E00043534B015C01A7019601E981FA81608178 -:1054F0007181828193810F9443539B01AC01C5015B -:10550000B4010F94C04C4B015C01A70196016D8161 -:105510007E818F8198850F9443539B01AC01C50117 -:10552000B4010F943E54A30192010F9444532B01F4 -:105530003C018A898F5F0E94D7A869837A838B8315 -:105540009C838A890E94D7A86B017C019B01AC01D6 -:10555000EF85F88960817181828193810F94435333 -:105560004B015C0129853A854B855C85C301B201FD -:105570000F9443539B01AC01C501B4010F94C04C7F -:105580004B015C01A701960169817A818B819C8125 -:105590000F9443539B01AC01C501B4010F943E54D9 -:1055A00029853A854B855C850F9444536B017C01BA -:1055B0009B01AC010F9491568111A6CEC701B60193 -:1055C00062960FB6F894DEBF0FBECDBFDF91CF91CC -:1055D0001F910F91FF90EF90DF90CF90BF90AF9011 -:1055E0009F908F907F906F905F904F903F902F9003 -:1055F00008954F925F926F927F928F929F92AF9297 -:10560000BF92CF92DF92EF92FF921F93CF93DF93DF -:10561000CDB7DEB72C970FB6F894DEBF0FBECDBF67 -:10562000DB01CD90DD90ED90FC902091B40B30919A -:10563000B50B4091B60B5091B70B2D833E834F8332 -:105640005887DC018D909D90AD90BC902091B00B5F -:105650003091B10B4091B20B5091B30B29873A872F -:105660004B875C87C501B4010F94435369837A83E8 -:105670008B839C832D813E814F815885C701B60164 -:105680000F944353AB01BC01CE0101960E9472738B -:10569000182F882309F4ABC020E030E0A901698508 -:1056A0007A858B859C850F9444532B013C0120E027 -:1056B00030E040EA50E40F945A4C87FF06C0412C7A -:1056C000512C30EA632E30E4732E27E137EB41EDA5 -:1056D00058E3C301B2010F9443539B01AC01C501D0 -:1056E000B4010F94A45587FD81C020E030E84DE956 -:1056F00053E469857A858B859C850F9444532B01EF -:105700003C0120E030E84AE953E40F94A455181610 -:105710003CF4412C20E8522E2AE9622E23E4722E1A -:1057200027E137EB41ED58E3C301B2010F94445335 -:105730009B01AC01C501B4010F945A4C18160CF42E -:1057400055C020E030E0A9016D817E818F81988570 -:105750000F9444534B015C0120E030E040EA50E4F8 -:105760000F945A4C87FF06C0812C912C90EAA92EE9 -:1057700090E4B92E27E137EB41ED58E3C501B401C0 -:105780000F9443539B01AC01C701B6010F94A4557C -:1057900087FD2CC020E030E04BE953E46D817E8131 -:1057A0008F8198850F9444534B015C0120E030E8D1 -:1057B00048E953E40F94A45518163CF4812C80E872 -:1057C000982E88E9A82E83E4B82E27E137EB41ED27 -:1057D00058E3C501B4010F9444539B01AC0111E09F -:1057E000C701B6010F945A4C18160CF410E0812F23 -:1057F0002C960FB6F894DEBF0FBECDBFDF91CF91D0 -:105800001F91FF90EF90DF90CF90BF90AF909F904F -:105810008F907F906F905F904F90089568177907F1 -:105820000CF4CB010895861797070CF4CB0108956B -:105830000F931F93CF93DF93CDB7DEB76F970FB65C -:10584000F894DEBF0FBECDBF9F8F8E8F81E0809317 -:10585000DE0C88E08B838EE18C838E8D9F8D837030 -:10586000992721E0892B09F020E02D8321E08E8DFE -:105870009F8D019709F020E02E8321E08E8D9F8D72 -:10588000029709F020E02F838E8D9F8D84709927D9 -:1058900021E0892B09F420E0288786EF9BE30F9411 -:1058A0006D3C8D81882379F182EF9BE30F946D3CF1 -:1058B00066E371E081E391E00E940EAC8C0160E050 -:1058C00070E085E090E00E9413ACA801BC0184E088 -:1058D0000F94303C66E371E081E391E00E940EACEE -:1058E0008C016BE371E085E391E00E940EACA801AE -:1058F000BC018EE10F94303C8AE00E94626186E038 -:105900000E94DBA60EC08CEE9BE30F946D3C8E8153 -:10591000882319F086EE9BE302C080EE9BE30F9490 -:105920006D3C8091050D9091060DA091070DB091F1 -:10593000080D2091B00B3091B10B4091B20B5091FA -:10594000B30BBC01CD010F944453DC01CB018A8F12 -:105950009B8FAC8FBD8F8A8D9B8DAC8DBD8DBC0117 -:10596000CD010E94C1A6082E000C990BAA0BBB0BFF -:10597000BC01CD010F94614CDC01CB0189879A8772 -:10598000AB87BC878091090D90910A0DA0910B0DFA -:10599000B0910C0D2091B40B3091B50B4091B60B2A -:1059A0005091B70BBC01CD010F944453DC01CB01E6 -:1059B0008E8B9F8BA88FB98F8E899F89A88DB98D6B -:1059C000BC01CD010E94A7A6082E000C990BAA0BC2 -:1059D000BB0BBC01CD010F94614CDC01CB018D8769 -:1059E0009E87AF87B88B9F8181E08927882319F034 -:1059F0008AE00E94626185E08983898188230CF4B2 -:105A0000F4C08D81882391F089818A301CF480E272 -:105A10000E9462618981082E000C990B6AE070E097 -:105A20000E94F2618DED9BE30F946D3C1A828A8196 -:105A3000863008F0BFC08A81882F90E0092E000CC4 -:105A4000AA0BBB0BBC01CD010F94614CDC01CB0157 -:105A500029853A854B855C85BC01CD010F945A4C54 -:105A60008823C1F48981082E000C990BAA0BBB0B6B -:105A7000BC01CD010F94614CDC01CB012D853E852D -:105A80004F855889BC01CD010F945A4C882311F4DD -:105A900081E001C080E0898B8D81882341F0898974 -:105AA000882311F08BE501C080E20E9462618A8147 -:105AB000282F30E08981482F880F550BC901880FA6 -:105AC000991F820F931F880F991F840F951F880FAE -:105AD000991F880F991F815D934FFC0180819181EF -:105AE000A281B3818A8B9B8BAC8BBD8B8F818823EA -:105AF00009F045C02A893B894C895D896A897B897F -:105B00008C899D890F949156882359F08D81882323 -:105B100019F086ED9BE302C082ED9BE30F946D3C90 -:105B20002EC08D81882319F48E81882341F18D81C7 -:105B30008823D9F020E030E0A9016A897B898C892B -:105B40009D890F94A455882384F020E030E0A901BA -:105B50006A897B898C899D890F94A455181614F441 -:105B60008BE201C080E20E9462618A899B89AC89D4 -:105B7000BD8943E050E0BC01CD010E9478628E8176 -:105B8000882331F08A81853018F489E00E946261AF -:105B90008D81882341F08989882311F08DE501C02A -:105BA00080E20E94626180E00E94A6628A818F5F2B -:105BB0008A833DCF9F8181E08927882319F08AE07D -:105BC0000E9462618981882361F08D81882349F078 -:105BD000988581E08927882321F08CEC9BE30F9442 -:105BE0006D3C89818150898308CF8D81882381F123 -:105BF00086E00E94DBA68AE00E94626160E070E0BD -:105C000085E090E00E9413AC8C0160E070E085E0DC -:105C100090E00E9413ACA801BC0184E00F94303CDA -:105C200060E070E085E090E00E9413AC8C016BE3D3 -:105C300071E085E391E00E940EACA801BC018EE109 -:105C40000F94303C8AE00E9462618AE00E946261A7 -:105C50001092DE0C6F960FB6F894DEBF0FBECDBF6C -:105C6000DF91CF911F910F9108956F927F928F9244 -:105C70009F92AF92BF92CF92DF92EF92FF920F93DB -:105C80001F93CF93DF93CDB7DEB7C554D1090FB6BD -:105C9000F894DEBF0FBECDBF19820F94231888235E -:105CA00009F00CC76FEF7FEF80E50E94C8A88A87D4 -:105CB0008A85813059F08A85823041F08A85843026 -:105CC00029F08AE40E9472A8882311F081E001C0C3 -:105CD00080E08B878B85882359F00E94C57841E04E -:105CE00061E081E00E94BA87882311F00E9423A816 -:105CF00089E40E9472A8882309F4BFC01A828091A7 -:105D000032179091331721E0892B09F420E02223E8 -:105D100019F00E9437A802C081E090E09093BE1372 -:105D20008093BD138091BD139091BE1384973CF076 -:105D300060E070E080EC9FE70F94613A9AC0809138 -:105D4000BD139091BE139C01215031093093BE13B5 -:105D50002093BD1321E0892B09F420E0222309F4CC -:105D600088C08A81853120F01A8280E00E94A66274 -:105D700000E010E020E045EB53E169EB73E181E0E6 -:105D80000F94A513A22EB32EC42ED52EE62EF72ED9 -:105D9000082F192F2A2D3B2D4C2D5D2D6E2D7F2D7B -:105DA000802F912FFE01E05CFF4F2083FE01EF5B0F -:105DB000FF4F3083FE01EE5BFF4F4083FE01ED5B42 -:105DC000FF4F5083FE01EC5BFF4F6083FE01EB5BF6 -:105DD000FF4F7083CE01805C9F4FFC018081882340 -:105DE0005CF460E070E080EC9FE70F94613A89EC2E -:105DF0009DE30F946D3C3DC0CE01805C9F4FFC0144 -:105E00008081282F880F330BCE018F5B9F4FFC01C1 -:105E10008081482F880F550BC901880F991F820F69 -:105E2000931F880F991F840F951F880F991F880F44 -:105E3000991F9C01215D334F80E090E0A0ECBFE70B -:105E4000F90180839183A283B383CE018F5B9F4F3F -:105E5000FC018081682FCE01805C9F4FFC01808116 -:105E600020E030E0A9010E94B9948A818F5F8A8383 -:105E700066CF80EB9DE30F946D3C81E50E9472A894 -:105E8000882309F491C2809132179091331721E051 -:105E9000892B09F420E0222319F00E9437A802C0C0 -:105EA0008DE99FEF9D878C878C859D858F3F9F4FC8 -:105EB00024F08C859D8503972CF088E89DE30F9452 -:105EC0006D3CFCC589E69DE30F946D3C8C859D85FA -:105ED0008130910509F4DDC08230910509F4E2C1F9 -:105EE000892B09F061C21B828B81863008F05CC26D -:105EF0001C828C81863008F0C8C08B81882F90E08E -:105F0000092E000CAA0BBB0BBC01CD010F94614CF8 -:105F1000DC01CB019C01AD0160E070E080E490E425 -:105F20000F944353DC01CB018E879F87A88BB98BDD -:105F30008C81882F90E0092E000CAA0BBB0BBC01B2 -:105F4000CD010F94614CDC01CB019C01AD0160E0FF -:105F500070E080E490E40F944353DC01CB018A8B22 -:105F60009B8BAC8BBD8B8B81082F10E08C81A82E76 -:105F7000B12C8B81282F30E08C81482F50E0C90153 -:105F8000880F991F820F931F880F991F840F951FE9 -:105F9000880F991F880F991F815D934FFC01C08066 -:105FA000D180E280F3802E853F85488959896E85AE -:105FB0007F85888999890F94C04CDC01CB013C0115 -:105FC0004D012A893B894C895D896A897B898C8945 -:105FD0009D890F94C04CDC01CB019C01AD01C40133 -:105FE000B3010F944453DC01CB01BC01CD010F94EC -:105FF0004256DC01CB019C01AD01BC01CD010F94E7 -:106000004453DC01CB019C01AD01C701B6010F94E3 -:106010004453DC01CB019C01AD01C801880F991FDD -:10602000800F911F880F991F8A0D9B1D880F991F44 -:10603000880F991F815D934FFC0120833183428338 -:1060400053838B81282F30E08C81482F50E0C90189 -:10605000880F991F820F931F880F991F840F951F18 -:10606000880F991F880F991F815D934FFC018081D4 -:106070009181A281B3819C01AD016C818B810E94D1 -:10608000B9948C818F5F8C8334CF8B818F5F8B83AE -:106090002BCF1D828D81863008F086C18D81082F1F -:1060A00010E08D81E82EF12C8D81282F30E08D813C -:1060B000482F50E0C901880F991F820F931F880F46 -:1060C000991F840F951F880F991F880F991F815D55 -:1060D000934FFC0180819181A281B38127EE3BEF38 -:1060E0004FE151E4BC01CD010F944453DC01CB01DD -:1060F0009C01AD01C801880F991F800F911F880F67 -:10610000991F8E0D9F1D880F991F880F991F815D04 -:10611000934FFC0120833183428353838D81E82E8A -:10612000F12C8D81282F30E081E09D81953008F0A1 -:1061300080E0882F90E0820F931F892B19F001E0F7 -:1061400010E002C00FEF1FEF8D81482F50E08D81CE -:10615000282F30E081E09D81953008F080E0882F85 -:1061600090E0820F931F892B19F021E030E002C0EC -:106170002FEF3FEFCA01880F991F840F951F880FDB -:10618000991F820F931F880F991F880F991F815D98 -:10619000934FFC0180819181A281B38127EE3BEF77 -:1061A0004FE151E4BC01CD010F944453DC01CB011C -:1061B0009C01AD01C701880F991F8E0D9F1D880F8F -:1061C000991F800F911F880F991F880F991F815D5C -:1061D000934FFC0120833183428353838D81282F89 -:1061E00030E08D81482F50E0C901880F991F820F40 -:1061F000931F880F991F840F951F880F991F880F71 -:10620000991F815D934FFC0180819181A281B381AF -:106210009C01AD016D818D810E94B9948D81482FC3 -:1062200050E08D81282F30E081E09D81953008F08D -:1062300080E0882F90E0820F931F892B19F021E0D6 -:1062400030E002C02FEF3FEFCA01880F991F840F83 -:10625000951F880F991F820F931F880F991F880F12 -:10626000991F815D934FFC0180819181A281B3814F -:106270002D81422F50E021E03D81353008F020E0B3 -:10628000222F30E0240F351F232B11F061E001C0D5 -:106290006FEF9C01AD018D810E94B9948D818F5F5C -:1062A0008D83F8CE82E08E838E81843008F07CC0AE -:1062B00082E08F838F81843008F072C083E40E9473 -:1062C00072A8882349F02091BF133091C0134091E8 -:1062D000C1135091C21304C02AE037ED4FE151E4DD -:1062E0008E81082F10E08F81E82EF12C8E81682F8F -:1062F00070E08F81E82FF0E0CB01880F991F860FA7 -:10630000971F880F991F8E0F9F1F880F991F880F47 -:10631000991F815D934FFC0180819181A281B3819E -:10632000BC01CD010F944453DC01CB019C01AD01B4 -:10633000C801880F991F800F911F880F991F8E0D1C -:106340009F1D880F991F880F991F815D934FFC0136 -:1063500020833183428353838E81282F30E08F81C5 -:10636000482F50E0C901880F991F820F931F880F93 -:10637000991F840F951F880F991F880F991F815DA2 -:10638000934FFC0180819181A281B3819C01AD0179 -:106390006F818E810E94B9948F818F5F8F838ACFA6 -:1063A0008E818F5F8E8380CF8AE40E9472A88823BB -:1063B00009F47AC08091C8139091C913892B41F0D8 -:1063C0000F941C1880E00F94201E0F94141807C01F -:1063D0000F941C1881E00F94201E0F9414181AAA11 -:1063E0001BAA1CAA1DAA66E371E081E391E00E944A -:1063F0000EAC8C0160E070E085E090E00E9413AC90 -:106400009801281B390BC901092E000CAA0BBB0BE4 -:10641000BC01CD010F94614CDC01CB0120E030E0E8 -:1064200040E05FE3BC01CD010F94C04CDC01CB0127 -:106430008EA79FA7A8ABB9AB6BE371E085E391E0B2 -:106440000E940EAC8C0160E070E085E090E00E945C -:1064500013ACF801E81BF90BCF01092E000CAA0BB5 -:10646000BB0BBC01CD010F94614CDC01CB0120E0E2 -:1064700030E040E05FE3BC01CD010F94C04CDC0193 -:10648000CB018AA79BA7ACA7BDA7AE014E5C5F4F0F -:106490009E01225D3F4FCE018A96B9010E94D4929F -:1064A0000E94D46D81E0898380E50E9472A88823D0 -:1064B00009F433C28091B3139091B413992384F0FB -:1064C0008091B3139091B413029754F48091750B9B -:1064D0008F3F31F41092750B87E49DE30F946D3C70 -:1064E0008091B3139091B413092E000CAA0BBB0B2F -:1064F00040E050E026E030E0841B950B2817390778 -:1065000008F40BC2FC018827E155FF4F8F4F0D9413 -:106510003B530F94BE3A89E39DE30F946D3CFDC15C -:1065200083E40E9472A8982F81E08927882331F0A4 -:106530000F94B53A88E19DE30F946D3C8091C613AA -:106540009091C713029724F18091B9139091BA13D7 -:10655000A091BB13B091BC1327E03DE3AC01BD019A -:10656000C9010F94B93C8CE20E9462618091B5131D -:106570009091B613A091B713B091B81342E050E0D8 -:10658000BC01CD010E94786282E09DE30F946D3CD6 -:1065900085E50E9472A8082F85E40E9472A8F82E53 -:1065A00084E50E9472A8182F8091B40B9091B50BCE -:1065B000A091B60BB091B70B2091B5133091B613E3 -:1065C0004091B7135091B813BC01CD010F944453BF -:1065D000DC01CB018EA39FA3A8A7B9A78091B00B24 -:1065E0009091B10BA091B20BB091B30B2091B91364 -:1065F0003091BA134091BB135091BC13BC01CD0133 -:106600000F944453DC01CB018AA39BA3ACA3BDA38D -:10661000BE016A5D7F4FCE0182962F2D412F0F94D0 -:10662000BF1B0E94D46D81E0898377C183ED9CE319 -:106630000F946D3C43C28091B213882309F4EDC0DE -:106640008091BD139091BE1384976CF08091BF131D -:106650009091C013A091C113B091C213BC01CD01A0 -:106660000F94613A59C18091BD139091BE139C0162 -:10667000215031093093BE132093BD1321E0892BA3 -:1066800009F420E0222309F447C100E010E020E0F3 -:1066900045EB53E169EB73E180E00F94A513A22E63 -:1066A000B32EC42ED52EE62EF72E082F192F2A2D05 -:1066B0003B2D4C2D5D2D6E2D7F2D802F912F2AAFE0 -:1066C0003BAF4CAF5DAF6EAF7FAF8AAD88230CF0B0 -:1066D0005AC018868885863008F01EC119868985BB -:1066E000863008F04CC08885282F30E08985482FF7 -:1066F00050E0C901880F991F820F931F880F991FBF -:10670000840F951F880F991F880F991F815D934FE4 -:10671000FC0180819181A281B38111E09C01AD01D6 -:10672000BC01CD010F949156882309F410E0112388 -:1067300011F18885682F70E08985E82FF0E02091BD -:10674000BF133091C0134091C1135091C213CB01BC -:10675000880F991F860F971F880F991F8E0F9F1FF5 -:10676000880F991F880F991F815D934FFC0120832B -:1067700031834283538389858F5F8987B0CF888532 -:106780008F5F8887A7CF8AAD682F880F770B8BAD77 -:10679000E82F880FFF0B2091BF133091C013409159 -:1067A000C1135091C213CB01880F991F860F971FF9 -:1067B000880F991F8E0F9F1F880F991F880F991F91 -:1067C000815D934FFC0120833183428353838AADE3 -:1067D000282F880F330B8BAD482F880F550BC9011D -:1067E000880F991F820F931F880F991F840F951F81 -:1067F000880F991F880F991F815D934FFC0180813D -:106800009181A281B3812BAD622F2AAD722F9C01A1 -:10681000AD01872F0E94B99426CF0E943BA8DC01CE -:10682000CB018E8B9F8BA88FB98F20E030E040E2A8 -:1068300051E46E897F89888D998D0F94C04CDC015D -:10684000CB01BC01CD010F948656DC01CB01BC010C -:10685000CD010F94B054DC01CB014E97019709F0A4 -:1068600040C026E636E646E450E46E897F89888D8E -:10687000998D0F944353DC01CB0120E030E048ECCC -:1068800052E4BC01CD010F94C04CDC01CB018A8FD6 -:106890009B8FAC8FBD8F20E030E0A9016A8D7B8D8E -:1068A0008C8D9D8D0F945A4C882379F08A8D9B8D09 -:1068B000AC8DBD8D9C01AD0160E070E080E291E4A3 -:1068C0000F94E455DC01CB0103C080E090E0DC01D3 -:1068D0008EAB9FABA8AFB9AFCE01C6960E9467E260 -:1068E0001CC00F94472419C084EA9CE30F946D3CAC -:1068F000E5C08091BF139091C013A091C113B091D6 -:10690000C2132091B213AC01BD01822F0F947F1AE4 -:1069100004C00F94341A01C000008CE40E9472A8D5 -:10692000882309F455C0809132179091331721E0E4 -:10693000892B09F420E0222319F00E9437A805C012 -:106940008091750B082E000C990B9093E00C8093AE -:10695000DF0C0E94416D9F8F8E8F8E8D9F8D892BB6 -:1069600029F484E89CE30F946D3CA8C08091DF0C6F -:106970009091E00C992364F08E8D9F8D9C012150A5 -:1069800031098091DF0C9091E00C2817390774F4DD -:106990008E8D9F8D9C012150310982E69CE3B901C7 -:1069A0000F94CA3C8AE00E94626188C08091DF0C2B -:1069B0009091E00C60E070E00E944D6D8091DF0CE2 -:1069C0009091E00C8093750B8BE59CE30F946D3CEC -:1069D00083E50E9472A8882309F45CC08091321775 -:1069E0009091331721E0892B09F420E0222319F03C -:1069F0000E9437A805C08091750B082E000C990BDA -:106A00009093E00C8093DF0C8091DF0C9091E00C70 -:106A1000019619F40F94F13C51C00E94416D99A365 -:106A200088A388A199A1892B29F48BE39CE30F9477 -:106A30006D3C3BC08091DF0C9091E00C992364F099 -:106A400088A199A19C01215031098091DF0C90917E -:106A5000E00C2817390774F488A199A19C012150F2 -:106A6000310989E19CE3B9010F94CA3C8AE00E9494 -:106A700062611BC08091DF0C9091E00C0E94976DC9 -:106A80008091DF0C9091E00C8093750B82E19CE388 -:106A90000F946D3C84E50E9472A8882331F08091A8 -:106AA000B0139091B1130E9418AC8981882331F002 -:106AB0000E94C57881E19CE30F945C12CB5BDF4FB1 -:106AC0000FB6F894DEBF0FBECDBFDF91CF911F91FF -:106AD0000F91FF90EF90DF90CF90BF90AF909F907D -:106AE0008F907F906F9008952F923F924F925F9278 -:106AF0006F927F928F929F92AF92BF92CF92DF92CE -:106B0000EF92FF920F931F93CF93DF93CDB7DEB732 -:106B1000CE59D1090FB6F894DEBF0FBECDBF2DB64A -:106B20003EB6CB56DF4F19821882C559D04084E655 -:106B300090E0C956DF4F99838883C759D04001E060 -:106B40009E012B563F4F44E050E0BE016F567F4FF1 -:106B5000CE0189569F4F0E94D1609E012B563F4F18 -:106B600042E050E0BE0167567F4FCE0189569F4FED -:106B70000E94D16043E050E0BE016F567F4F8FE628 -:106B800093E00F94FC57892BB1F0CC56DF4F8881EE -:106B9000C459D040882359F08FE3CF56DF4F888304 -:106BA000C159D040CE56DF4F1882C259D04081E043 -:106BB0008093ED0C7BC5C357DF4F188219821A8270 -:106BC0001B82CD58D040CB56DF4F19821882C55951 -:106BD000D04001E09E012B563F4F41E050E0BE0106 -:106BE00064567F4FCE0189569F4F0E94D1604DB6AB -:106BF0005EB680E1E3EEF2E0DE01A358BF4F019004 -:106C00000D928A95E1F780E1E3EFF2E0DE01A3590E -:106C1000BF4F01900D928A95E1F780E1E3E0F3E048 -:106C20009E012F5F3F4F7901D90101900D928A9506 -:106C3000E1F7C456DF4F4881CC59D04050E04D5F5A -:106C40005F4F440F551F440F551F8DB79EB7841BD0 -:106C5000950B0FB6F8949EBF0FBE8DBFADB7BEB7F4 -:106C600011965D010091680B11E001272C563F4FF2 -:106C7000BD01CE0189569F4F0E94D1600091680BE3 -:106C800001279E012B563F4F44E050E068EE71E132 -:106C9000CE0189569F4F0E94D160C456DF4FC880F5 -:106CA000CC59D040D12CB3E0CB0ED11CCC0CDD1C88 -:106CB000CC0CDD1CEDB7FEB7EC19FD090FB6F8944E -:106CC000FEBF0FBEEDBF2DB73EB72F5F3F4F49014F -:106CD0004DB75EB74C195D090FB6F8945EBF0FBE95 -:106CE0004DBF8DB79EB701963C010091680B0127FF -:106CF0009E012B563F4FA601B401CE0189569F4FEE -:106D00000E94D1600091680B01279E012B563F4FD6 -:106D1000A601B301CE0189569F4F0E94D160009118 -:106D2000680B002309F44EC011E001279E012B5689 -:106D30003F4F44E050E06CE072E1CE0189569F4F36 -:106D40000E94D1600091680B01279E012B563F4F96 -:106D500044E050E060E172E1CE0189569F4F0E940D -:106D6000D1600091680B01279E012B563F4F44E0F4 -:106D700050E064E172E1CE0189569F4F0E94D160DC -:106D80000091680B01279E012B563F4F44E050E0D5 -:106D900068E172E1CE0189569F4F0E94D160009157 -:106DA000680B01279E012B563F4F44E050E06CE1F9 -:106DB00072E1CE0189569F4F0E94D16015E0DD241B -:106DC000D39489C0C456DF4F2881CC59D04030E0DD -:106DD0002E5F3F4FE8EDF1E1C356DF4FB982A88245 -:106DE000CD59D04080E090E0B701281739073CF03A -:106DF000C356DF4FA881B981CD59D04012C0AC0134 -:106E00008430910510F043E050E0440F551F440FCB -:106E1000551FBDE7CB2ED12CCC0EDD1E4C0D5D1DBC -:106E2000DA01AD90BD90CD90DC90A192B192C1926B -:106E3000D1922817390714F0D40112C0AC01843064 -:106E4000910510F043E050E0440F551F440F551FCB -:106E50001DE6C12ED12CCC0EDD1E4C0D5D1DDA01C0 -:106E6000AD90BD90CD90DC90A08AB18AC28AD38AC1 -:106E70002817390714F0D3010DC0AC0184309105F7 -:106E800010F043E050E0440F551F440F551F460FCC -:106E9000571FDA01AD90BD90CD90DC90A0A2B1A2B9 -:106EA000C2A2D3A20196B4E06B0E711C44E0840E22 -:106EB000911CC356DF4FA881B981CD59D04014969B -:106EC000C356DF4FB983A883CD59D0408430910594 -:106ED00009F08BCF29CF11500091680B112379F065 -:106EE0000D259E012B563F4F44E050E0BE016357F5 -:106EF0007F4FCE0189569F4F0E94D160ECCF11E0A9 -:106F000001279E012B563F4F44E050E065E17DE0B4 -:106F1000CE0189569F4F0E94D1600FB6F8945EBE95 -:106F20000FBE4DBE0091680B01279E012B563F4FAF -:106F30004CE050E065ED79E0CE0189569F4F0E940C -:106F4000D1600091680B01279E012B563F4F41E015 -:106F500050E06DE472E0CE0189569F4F0E94D160EF -:106F60000091680B01279E012B563F4F44E050E0F3 -:106F7000BE016F5F7F4FCE0189569F4F0E94D16047 -:106F80000091680B01110CC089819A81AB81BC8191 -:106F90008093150290931602A0931702B0931802E3 -:106FA00011E001279E012B563F4F44E050E069E677 -:106FB0007BE0CE0189569F4F0E94D1600091680B03 -:106FC00001279E012B563F4F44E050E0BE0163571E -:106FD0007F4FCE0189569F4F0E94D16001E09E01F4 -:106FE0002B563F4F41E050E0BE0163597F4FCE0129 -:106FF00089569F4F0E94D1609E012B563F4F41E022 -:1070000050E0BE016F5F7F4FCE0189569F4F0E94B7 -:10701000D160AE96AFACAE978981A89E5001112485 -:10702000C12CD12C0091680BCA14DB0491F001270C -:107030009E012B563F4F44E050E0BE0163577F4F07 -:10704000CE0189569F4F0E94D160BFEFCB1ADB0A59 -:10705000E9CF11E001279E012B563F4F44E050E05D -:1070600060EB7BE0CE0189569F4F0E94D16000917A -:10707000680B01279E012B563F4F44E050E064EB24 -:107080007BE0CE0189569F4F0E94D1600091680B32 -:1070900001279E012B563F4F44E050E068EB7BE018 -:1070A000CE0189569F4F0E94D1601AE0DD24D3940F -:1070B000115089F00091680B0D259E012B563F4F12 -:1070C00044E050E0BE0163577F4FCE0189569F4F89 -:1070D0000E94D160EDCF01E09E012B563F4F41E071 -:1070E00050E0BE0165567F4FCE0189569F4F0E94EA -:1070F000D1609E012B563F4F41E050E0BE016358E6 -:107100007F4FCE0189569F4F0E94D1600091680B3E -:1071100011E001279E012B563F4F44E050E0BE0195 -:1071200063597F4FCE0189569F4F0E94D1600091D5 -:10713000680B01279E012B563F4F44E050E0BE01F3 -:107140006F5F7F4FCE0189569F4F0E94D160C55619 -:10715000DF4FA880CB59D040EE968FADEE97A89E1A -:1071600050011124C12CD12C0091680BAC14BD042A -:1071700091F001279E012B563F4F44E050E0BE01A5 -:1071800063577F4FCE0189569F4F0E94D160EFEF2A -:10719000CE1ADE0AE9CF11E001279E012B563F4FA0 -:1071A00041E050E06CE87BE0CE0189569F4F0E94A1 -:1071B000D1600091680B01279E012B563F4F41E0A3 -:1071C00050E065E77BE0CE0189569F4F0E94D16079 -:1071D0000091680B01279E012B563F4F40E150E084 -:1071E000BE016F5F7F4FCE0189569F4F0E94D160D5 -:1071F0000091680B01279E012B563F4F41E050E064 -:10720000BE016F5F7F4FCE0189569F4F0E94D160B4 -:107210000091680B01279E012B563F4F44E050E040 -:10722000BE0163597F4FCE0189569F4F0E94D160A6 -:107230000091680B01279E012B563F4F44E050E020 -:10724000BE016F5F7F4FCE0189569F4F0E94D16074 -:107250000091680B01279E012B563F4F42E050E002 -:10726000BE0163587F4FCE0189569F4F0E94D16067 -:107270000091680B01279E012B563F4F40E150E0E3 -:10728000BE016F5F7F4FCE0189569F4F0E94D16034 -:107290000091680B01112EC089809A80AB80BC8060 -:1072A00020E030E84BE355E4C501B4010F945A4C9B -:1072B000882301F180924B0D90924C0DA0924D0DC0 -:1072C000B0924E0D8D819E81AF81B88580934F0D18 -:1072D0009093500DA093510DB093520D89859A85CE -:1072E000AB85BC858093530D9093540DA093550DA1 -:1072F000B093560D11E001279E012B563F4F42E0FF -:1073000050E0BE016F5F7F4FCE0189569F4F0E94B4 -:10731000D1600091680B01279E012B563F4F4CE036 -:1073200050E0BE016F5F7F4FCE0189569F4F0E9494 -:10733000D1600091680B011115C020E030E84BE3EB -:1073400055E469817A818B819C810F945A4C882302 -:1073500049F08CE0FE013196A0EBB9E001900D926E -:107360008A95E1F711E001279E012B563F4F42E03D -:1073700050E0BE016F5F7F4FCE0189569F4F0E9444 -:10738000D1600091680B01279E012B563F4F41E0D1 -:1073900050E0BE016F5F7F4FCE0189569F4F0E9424 -:1073A000D1600091680B01279E012B563F4F40E2B0 -:1073B00050E0BE016F5F7F4FCE0189569F4F0E9404 -:1073C000D1600091680B01279E012B563F4F41E091 -:1073D00050E0BE0163597F4FCE0189569F4F0E94F6 -:1073E000D1600091680B01279E012B563F4F45E06D -:1073F00050E0BE016F5F7F4FCE0189569F4F0E94C4 -:10740000D1600091680B01110FC089818093830BBB -:107410008A819B81AC81BD818093880B9093890B7D -:10742000A0938A0BB0938B0B11E001279E012B5682 -:107430003F4F4AE150E0B701CE0189569F4F0E946D -:10744000D1600091680B01279E012B563F4F44E30A -:1074500050E0B701CE0189569F4F0E94D160009144 -:10746000680B01279E012B563F4F48E050E0B701C3 -:10747000CE0189569F4F0E94D1600091680B012771 -:107480009E012B563F4F4DE050E0B701CE0189568B -:107490009F4F0E94D1600091680B01279E012B56DF -:1074A0003F4F44E050E0B701CE0189569F4F0E9404 -:1074B000D1600091680B01279E012B563F4F4CE095 -:1074C00050E0B701CE0189569F4F0E94D1600091D4 -:1074D000680B01279E012B563F4F4CE650E0B70149 -:1074E000CE0189569F4F0E94D16019821A821B8259 -:1074F0001C821D821E821F82188619861A861B8690 -:107500001C860091680B01279E012B563F4F4CE0D3 -:1075100050E0B701CE0189569F4F0E94D160009183 -:10752000680B01279E012B563F4F48E050E06DE667 -:107530007BE0CE0189569F4F0E94D1600091680B7D -:1075400001279E012B563F4F44E050E0B701CE018A -:1075500089569F4F0E94D1600091680B01279E01C0 -:107560002B563F4F44E050E0BE016B5F7F4FCE0192 -:1075700089569F4F0E94D1600091680B01279E01A0 -:107580002B563F4F44E050E0BE01675F7F4FCE0176 -:1075900089569F4F0E94D1600091680B01279E0180 -:1075A0002B563F4F41E050E0BE0163587F4FCE0164 -:1075B00089569F4F0E94D1600091680B01279E0160 -:1075C0002B563F4F44E050E0BE0163597F4FCE0140 -:1075D00089569F4F0E94D16080E3D7011D928A9502 -:1075E000E9F70091680B01279E012B563F4F40E3BE -:1075F00050E0B701CE0189569F4F0E94D160809123 -:10760000680B811104C08FE397E00E948062C95625 -:10761000DF4F88819981C759D04021E08C3FB2E08B -:107620009B0709F420E02093ED0C8C3F924091F4ED -:10763000CB56DF4F28813981C559D040C756DF4F1F -:1076400088819981C959D0402817390719F081E0FC -:107650008093ED0C8091680B811106C08091ED0C38 -:10766000811102C00F94112D8091680B81111EC0F1 -:107670000F947C3C0E94416D892BF9F480EF9DE3CF -:107680000F946D3C81E08093ED0C8CED93E30F94AF -:107690006D3C0F94BE3A8091750B87FD05C060E08C -:1076A00070E00E944D6D02C00F94BE3A8091680B4D -:1076B00081110BC00E94856E08C08AE00E94626141 -:1076C0008CED93E30F946D3CE6CF9091ED0C81E04F -:1076D00089270FB6F8943EBE0FBE2DBEC256DF4FAF -:1076E0000FB6F894DEBF0FBECDBFDF91CF911F91D3 -:1076F0000F91FF90EF90DF90CF90BF90AF909F9051 -:107700008F907F906F905F904F903F902F90089553 -:10771000CF92DF92EF92FF920F931F93CF93DF935D -:10772000CDB7DEB7CE5AD1090FB6F894DEBF0FBE83 -:10773000CDBFCF55DF4F188219821A821B82C15AE2 -:10774000D0408091660790916707A0916807B0913B -:107750006907CB55DF4F88839983AA83BB83C55ABA -:10776000D040C755DF4F19821882C95AD04084E6ED -:1077700090E0C555DF4F99838883CB5AD040109253 -:10778000ED0C9E0127553F4F44E050E0BE016B5584 -:107790007F4FCE0185559F4F0E940E61C555DF4F2B -:1077A00088819981CB5AD0400296C555DF4F998385 -:1077B0008883CB5AD040C755DF4F19821882C95AE7 -:1077C000D04081E0C255DF4F8883CE5AD0409E0121 -:1077D00027553F4F41E050E0BE0162557F4FCE013B -:1077E00085559F4F0E940E619E0127553F4F48E4EB -:1077F00050E068ED71E1CE0185559F4F0E940E610A -:107800008E010F5F1F4F80E1F80111928A95E9F711 -:1078100080E090E0A0EAB0E489839A83AB83BC83E4 -:107820009E0127553F4F40E150E0B801CE018555FC -:107830009F4F0E940E619E0127553F4F44E050E04C -:1078400065E17DE0CE0185559F4F0E940E619E014E -:1078500027553F4F4CE050E065ED79E0CE0185556E -:107860009F4F0E940E619E0127553F4F41E050E01F -:107870006DE472E0CE0185559F4F0E940E619E011E -:1078800027553F4F44E050E065E172E0CE01855559 -:107890009F4F0E940E618091BF0C9091C00CA091EF -:1078A000C10CB091C20C89839A83AB83BC839E01C7 -:1078B00027553F4F44E050E0B801CE0185559F4F1A -:1078C0000E940E61CF55DF4F188219821A821B82E7 -:1078D000C15AD0407E01FDE6EF0EF11C83E0F701B6 -:1078E000808389839E0127553F4F44E050E0BE01CD -:1078F0006F557F4FCE0185559F4F0E940E619E01AF -:1079000027553F4F41E050E0B701CE0185559F4FCD -:107910000E940E619E0127553F4F41E050E0B801A3 -:10792000CE0185559F4F0E940E614AE0D42EDA9415 -:107930009E0127553F4F44E050E0DD2049F0BE0155 -:107940006F557F4FCE0185559F4F0E940E61EFCF3F -:1079500060EB7BE0CE0185559F4F0E940E619E013A -:1079600027553F4F44E050E064EB7BE0CE01855566 -:107970009F4F0E940E619E0127553F4F44E050E00B -:1079800068EB7BE0CE0185559F4F0E940E61CF557D -:10799000DF4F188219821A821B82C15AD0403AE006 -:1079A000D32EDA94DD2071F09E0127553F4F44E03D -:1079B00050E0BE016F557F4FCE0185559F4F0E940D -:1079C0000E61EFCF83E0C355DF4F8883CD5AD0409F -:1079D000C356DF4F8883CD59D040F7011082118202 -:1079E0001282138219821A821B821C82CF55DF4FAA -:1079F000188219821A821B82C15AD0409E012755D3 -:107A00003F4F41E050E0BE0163557F4FCE018555A9 -:107A10009F4F0E940E619E0127553F4F41E050E06D -:107A2000BE0163567F4FCE0185559F4F0E940E6168 -:107A30009E0127553F4F44E050E0B801CE018555E7 -:107A40009F4F0E940E619E0127553F4F44E050E03A -:107A5000B701CE0185559F4F0E940E612AE0C22ECC -:107A6000D12CF1E0CF1AD1089E0127553F4FC11408 -:107A7000D10459F044E050E0BE016F557F4FCE0174 -:107A800085559F4F0E940E61ECCF41E050E06CE8BD -:107A90007BE0CE0185559F4F0E940E619E012755C8 -:107AA0003F4F41E050E065E77BE0CE0185559F4FB9 -:107AB0000E940E6180E1D82EF8018D2D11928A95D9 -:107AC000E9F79E0127553F4F40E150E0B801CE0154 -:107AD00085559F4F0E940E6119829E0127553F4F89 -:107AE00041E050E0B801CE0185559F4F0E940E61E4 -:107AF0008091130390911403A0911503B091160384 -:107B0000F70180839183A283B383809117039091BF -:107B10001803A0911903B0911A0389839A83AB8348 -:107B2000BC83C356DF4F1882CD59D040C256DF4FB9 -:107B30001882CE59D0409E0127553F4F44E050E077 -:107B4000B701CE0185559F4F0E940E619E012755BA -:107B50003F4F44E050E0B801CE0185559F4F0E9451 -:107B60000E619E0127553F4F42E050E0BE01635633 -:107B70007F4FCE0185559F4F0E940E61F8011192F3 -:107B8000DA94E9F780E090E0A0E8BFE38D879E8774 -:107B9000AF87B88B80914B0D90914C0DA0914D0DFE -:107BA000B0914E0D89839A83AB83BC8380914F0D36 -:107BB0009091500DA091510DB091520D8D839E83E7 -:107BC000AF83B8878091530D9091540DA091550DBE -:107BD000B091560D89879A87AB87BC879E01275540 -:107BE0003F4F40E150E0B801CE0185559F4F0E94C4 -:107BF0000E6184E190E09A8389839E0127553F4F6F -:107C000042E050E0B801CE0185559F4F0E940E61C1 -:107C10009E0127553F4F4CE050E060EB79E0CE01EC -:107C200085559F4F0E940E618FE790E09A8389836C -:107C30009E0127553F4F42E050E0B801CE018555E7 -:107C40009F4F0E940E6181E089839E0127553F4F1F -:107C500041E050E0B801CE0185559F4F0E940E6172 -:107C600080E2EBE1F3E0D80101900D928A95E1F713 -:107C70009E0127553F4F40E250E0B801CE018555A7 -:107C80009F4F0E940E61F70110829E0127553F4FC2 -:107C900041E050E0B701CE0185559F4F0E940E6133 -:107CA0009E0127553F4F41E050E063E87BE0CE0165 -:107CB00085559F4F0E940E619E0127553F4F44E01E -:107CC00050E068E87BE0CE0185559F4F0E940E6131 -:107CD0008AE1F80111928A95E9F79E0127553F4FF5 -:107CE0004AE150E0B801CE0185559F4F0E940E61D8 -:107CF00084E3EBE3F3E0D80101900D928A95E1F77C -:107D00009E0127553F4F44E350E0B801CE01855511 -:107D10009F4F0E940E6188E0F80111928A95E9F761 -:107D20009E0127553F4F48E050E0B801CE018555F0 -:107D30009F4F0E940E618DE0F80111928A95E9F73C -:107D40009E0127553F4F4DE050E0B801CE018555CB -:107D50009F4F0E940E61CF55DF4F188219821A8201 -:107D60001B82C15AD0409E0127553F4F44E050E04E -:107D7000BE016F557F4FCE0185559F4F0E940E610A -:107D80009CE0D92EF8018D2D11928A95E9F79E017C -:107D900027553F4F4CE050E0B801CE0185559F4F2D -:107DA0000E940E618CE6F80111928A95E9F79E0116 -:107DB00027553F4F4CE650E0B801CE0185559F4F07 -:107DC0000E940E619E0127553F4F4CE050E061EE4E -:107DD0007CE0CE0185559F4F0E940E619E01275584 -:107DE0003F4F48E050E06DE67BE0CE0185559F4F68 -:107DF0000E940E61F7011192DA94E9F7C355DF4F43 -:107E00001882CD5AD04080E090E0A0E4B0E4C356A0 -:107E1000DF4F88839983AA83BB83CD59D0409E01CD -:107E200027553F4F44E050E0B701CE0185559F4FA5 -:107E30000E940E619E0127553F4F44E050E0B7017C -:107E40006C5F7F4FCE0185559F4F0E940E619E0152 -:107E500027553F4F44E050E0B701685F7F4FCE01A8 -:107E600085559F4F0E940E619E0127553F4F41E06F -:107E700050E0BE0163557F4FCE0185559F4F0E9454 -:107E80000E619E0127553F4F44E050E0BE0163560E -:107E90007F4FCE0185559F4F0E940E6180E3F70111 -:107EA00011928A95E9F782E597E00E9480629E012F -:107EB00027553F4F40E350E0B701CE0185559F4F16 -:107EC0000E940E618091ED0C811138C0C555DF4FC5 -:107ED00008811981CB5AD040C755DF4F88819981DD -:107EE000C95AD040F7019183808384E690E0C5555C -:107EF000DF4F99838883CB5AD0409E0127553F4F4F -:107F000044E050E06FE673E0CE0185559F4F0E943C -:107F10000E619E0127553F4F42E050E0B701CE0170 -:107F200085559F4F0E940E6181E00C3F124009F47D -:107F300080E09091ED0C892B8093ED0C8091750B76 -:107F400087FF0E94976D87EC96E00E948062909177 -:107F5000ED0C81E08927C255DF4F0FB6F894DEBFE4 -:107F60000FBECDBFDF91CF911F910F91FF90EF908A -:107F7000DF90CF9008952F923F924F925F926F9231 -:107F80007F928F929F92AF92BF92CF92DF92EF92A9 -:107F9000FF920F931F93CF93DF93CDB7DEB7CD58EA -:107FA000D1090FB6F894DEBF0FBECDBFE09120120D -:107FB000F0912112EF2B11F00C94BACDE996FFAE9F -:107FC000EEAEE99719017A016B01FC012091EC11E9 -:107FD0003091ED114091EE115091EF11608171815E -:107FE000828193810F94C04C0F94B1552B013C01B9 -:107FF00025966CAF7DAF8EAF9FAF25972091F01186 -:108000003091F1114091F2115091F311D6016D911F -:108010007D918D919C910F94C04C0F94B1554B0163 -:108020005C0129966CAF7DAF8EAF9FAF29972091F1 -:10803000F4113091F5114091F6115091F711F701BB -:1080400060817181828193810F94C04C0F94B155EE -:108050006B017C012D966CAF7DAF8EAF9FAF2D97DE -:108060002091F8113091F9114091FA115091FB11C2 -:10807000D1016D917D918D919C910F94C04C0F9485 -:10808000B15567966CAF7DAF8EAF9FAF6797619626 -:108090006CAF7DAF8EAF9FAF61978091D71183FF9B -:1080A0000EC067962CAD3DAD4EAD5FAD679720938A -:1080B0000A1530930B1540930C1550930D15D801EC -:1080C000BC91AC96BFAFAC97F801F181A896FFAF19 -:1080D000A897D8011296BC91E096BFAFE097F8013F -:1080E00003818091E8149091E914891B8F708F307F -:1080F00021F480E00E94A662F4CFF091E814C55705 -:10810000DF4FF883CB58D0408091E814282E312CD3 -:108110008091FE149091FF14A0910015B09101156B -:10812000481A590A6A0A7B0A809102159091031530 -:10813000A0910415B0910515A5019401281B390BD8 -:108140004A0B5B0B6B962CAF3DAF4EAF5FAF6B979F -:108150008091061590910715A0910815B091091509 -:10816000A7019601281B390B4A0B5B0B6F962CAFAE -:108170003DAF4EAF5FAF6F9780910A1590910B1591 -:10818000A0910C15B0910D156796CCACDDACEEACA2 -:10819000FFAC6797C81AD90AEA0AFB0A09F472C049 -:1081A00080913F0D811128C06091440D7091450D63 -:1081B0008091460D9091470D0F94B05420914B0241 -:1081C00030914C0262177307BCF467968CAD9DAD7D -:1081D000AEADBFAD679780930A1590930B15A09332 -:1081E0000C15B0930D150F94ED3C8CE49EE30F94A9 -:1081F0006D3CC12CD12C7601C701B6010F94614CA6 -:1082000020914702309148024091490250914A0220 -:108210000F94C04C4B015C0120E030E0A9010F94A9 -:10822000A45587FF04C0B7FAB094B7F8B09420E023 -:1082300030E04AEF53E46091F8117091F9118091A8 -:10824000FA119091FB110F94C04CA50194010F9469 -:108250005A4C87FF17C067962CAD3DAD4EAD5FAD54 -:10826000679720930A1530930B1540930C15509384 -:108270000D150F94ED3C8DE29EE30F946D3CC12CE7 -:10828000D12C7601D301C2018827B7FD83959927A8 -:10829000AA27BB27182F6B962CAD3DAD4EAD5FAD19 -:1082A0006B9757FD12606F968CAD9DADAEADBFADB7 -:1082B0006F97B7FD1460F7FC1860C701B6010F9403 -:1082C000614C2091470230914802409149025091FF -:1082D0004A020F94C04C6B017C0120E030E0A90100 -:1082E0000F94A45587FF04C0C701B601905802C07F -:1082F000C701B60120E030E040E05FE30F94445353 -:108300000F94B754E7966CAF7DAF8EAF9FAFE797F2 -:1083100088E4829DF001839DF00D1124E95AF24F0B -:10832000108215AB5301420177FE07C088249924BF -:10833000540184189508A608B70888E4829DF001C6 -:10834000839DF00D1124E95AF24F858A968AA78AF7 -:10835000B08E6B962CAD3DAD4EAD5FAD6B97679615 -:108360002CAF3DAF4EAF5FAF679757FF0DC0509535 -:108370004095309521953F4F4F4F5F4F67962CAFFB -:108380003DAF4EAF5FAF679788E4829DF001839D5C -:10839000F00D1124E95AF24F67968CAD9DADAEAD4C -:1083A000BFAD6797818F928FA38FB48F6F962CADDF -:1083B0003DAD4EAD5FAD6F97A3962CAF3DAF4EAFC9 -:1083C0005FAFA39757FF0DC050954095309521950D -:1083D0003F4F4F4F5F4FA3962CAF3DAF4EAF5FAFB8 -:1083E000A39788E4829DF001839DF00D1124E95A42 -:1083F000F24FA3968CAD9DADAEADBFADA397858F6B -:10840000968FA78FB0A3C301B2010F94614C209146 -:108410002F0D3091300D4091310D5091320D0F9450 -:10842000C04CA7966CAF7DAF8EAF9FAFA79769ABDF -:108430007AAB8BAB9CAB6B966CAD7DAD8EAD9FADCF -:108440006B970F94614C2091330D3091340D409116 -:10845000350D5091360D0F94C04C2B013C016DAB86 -:108460007EAB8FAB98AF6F966CAD7DAD8EAD9FAD93 -:108470006F970F94614C2091370D3091380D4091DA -:10848000390D50913A0D0F94C04C6B966CAF7DAF87 -:108490008EAF9FAF6B9769AF7AAF8BAF9CAF2091D8 -:1084A0003B0D30913C0D40913D0D50913E0DC7016B -:1084B000B6010F94C04C6B017C0121966CAF7DAF6F -:1084C0008EAF9FAF219796E089169104A104B10465 -:1084D0001CF567962CAD3DAD4EAD5FAD6797263070 -:1084E000310541055105C4F4A3968CAD9DADAEADEB -:1084F000BFADA3970697A105B10574F420E030E065 -:10850000A901C701B6010F94A45587FF16C0F7FA59 -:10851000F094F7F8F09411C0E996AEADBFADE997CD -:10852000CD90DD90ED90FC9020E030E0A901C701F6 -:10853000B6010F945A4C882369F088E4829DF001BB -:10854000839DF00D1124E95AF24FC586D686E78641 -:10855000F08A38C0A7962CAD3DAD4EAD5FADA79764 -:10856000CA01B9010F94C04C6B017C01A3019201B7 -:10857000C301B2010F94C04C9B01AC01C701B6010D -:108580000F9444536B017C016B962CAD3DAD4EAD09 -:108590005FAD6B97CA01B9010F94C04C9B01AC0150 -:1085A000C701B6010F9444530F94425628E4229D0C -:1085B000F001239DF00D1124E95AF24F658776876B -:1085C0008787908B88E4829DF001839DF00D1124B4 -:1085D000E95AF24FE7962CAD3DAD4EAD5FADE79752 -:1085E00021A332A343A354A3582D492D3A2D2B2D5B -:1085F00067968CAD9DADAEADBFAD679788169906F9 -:10860000AA06BB0660F464965FAD649765964FADAD -:10861000659766963FAD669767962FAD6797852FEE -:10862000942FA32FB22FA3962CAD3DAD4EAD5FADD1 -:10863000A39782179307A407B50710F4DA01C901BD -:10864000E7962CAD3DAD4EAD5FADE7978217930732 -:10865000A407B50710F4DA01C90128E4229DF0014E -:10866000239DF00D1124E95AF24F85A396A3A7A3E9 -:10867000B0A70697A105B10510F40C94B3CDDF01A6 -:10868000AA5BBF4F80912D0D8C93E95BFF4F8091CA -:108690002E0D808389288A288B2809F05F9888E42A -:1086A000829DF001839DF00D1124E95AF24F818DD6 -:1086B000928DA38DB48D892B8A2B8B2B09F08A98F0 -:1086C00088E4829DF001839DF00D1124E95AF24F58 -:1086D000858D968DA78DB0A1892B8A2B8B2B29F0A8 -:1086E00080910801817080930601E7968CAD9DAD65 -:1086F000AEADBFADE797892B8A2B8B2B11F40C9471 -:10870000BCCD80913312882319F0815080933312AD -:10871000129880E280933312D0901812E0901912D0 -:10872000F0901A1210911B122D2D3E2D4F2D512F0E -:10873000AC966FADAC97A8967FADA897E0968FAD3D -:10874000E097902F0F945A4C87FF0AC0AC96DFAE8B -:10875000AC97A896EFAEA897E096FFAEE097012FF2 -:1087600088E4829DF001839DF00D1124E95AF24FB7 -:108770002585368547855089EB962CAF3DAF4EAFAA -:108780005FAFEB9760E070E080E89FE30F943E54AA -:10879000A7966CAF7DAF8EAF9FAFA797AC962FAD6E -:1087A000AC97A8963FADA897E0964FADE097502FB5 -:1087B0000F94C04C4B015C018091E8149091E61439 -:1087C000891B8F70EC968FAFEC97A501940160E048 -:1087D00074E284E799E40F943E540F94B1556B0111 -:1087E0007C01EC968FADEC9782508630C0F580917D -:1087F000E8119091E911A091EA11B091EB11C8161E -:10880000D906EA06FB0658F58C199D09AE09BF0981 -:10881000BC01CD01660F771F881F991FEC964FADE5 -:10882000EC97042F10E020E030E0A90198010F94AC -:10883000B052CA01B9010F945F4C0F94B1556C0D41 -:108840007D1D8E1D9F1D0F945F4C9B01AC0160E050 -:1088500074E284E799E40F943E544B015C01A50156 -:108860009401EB966CAD7DAD8EAD9FADEB970F9403 -:10887000C04C9B01AC010F94C04CC158DF4F6883C2 -:1088800079838A839B83CF57D04088E4829D80017F -:10889000839D100D1124095A124FC158DF4F888152 -:1088A0009981AA81BB81CF57D040F80181839283FF -:1088B000A383B48325A136A147A150A5AF962CAFC1 -:1088C0003DAF4EAF5FAFAF97CA01B9010F945F4C98 -:1088D000AB966CAF7DAF8EAF9FAFAB979B01AC01FA -:1088E000C501B4010F94C04C0F9422540F94B75497 -:1088F000CD57DF4F688379838A839B83C358D040E9 -:10890000F80166AB77AB80AF91AF8E010F5C1F4F64 -:108910009E012F5D3F4FE1963FAF2EAFE1974CEFA9 -:1089200051E1C757DF4F59834883C958D040C80128 -:108930004096C457DF4F99838883CC58D040C9579D -:10894000DF4F39832883C758D04064961FAE6497A1 -:1089500068961FAE689790E86C969FAF6C97AFE3F0 -:10896000A096AFAFA097F80121913191419151911B -:108970008F01C501B4010F94C04C6B017C01C95734 -:10898000DF4FA881B981C758D0406D937D938D93F7 -:108990009D93C957DF4FB983A883C758D04020E0C3 -:1089A00030E0A9010F94A45587FF04C0F7FAF094B2 -:1089B000F7F8F094C757DF4FE881F981C958D040E4 -:1089C0004190519061907190C757DF4FF983E883D0 -:1089D000C958D040A7019601C301B2010F945A4C67 -:1089E00087FF26C0A7019601C301B2010F943E5430 -:1089F0007B016C019B01AC0164966FAD6497689636 -:108A00007FAD68976C968FAD6C97A0969FADA09741 -:108A10000F94A455181664F46496EFAE64976896A4 -:108A2000FFAE68976C96CFAE6C97A096DFAEA0971E -:108A3000C457DF4F28813981CC58D04020173107E7 -:108A400009F091CF20E030E040E85FE364966FAD3D -:108A5000649768967FAD68976C968FAD6C97A0967B -:108A60009FADA0970F945A4C87FF7AC08E010F5C80 -:108A70001F4F64962FAD649768963FAD68976C96CC -:108A80004FAD6C97A0965FADA097E196AEADBFAD30 -:108A9000E1976D917D918D919C910F94C04CE196E1 -:108AA000EEADFFADE1976193719381939193E19660 -:108AB000FFAFEEAFE1970E171F07D9F688E4829D4E -:108AC0008001839D100D1124095A124FCD57DF4F9D -:108AD000688179818A819B81C358D0400F945F4C13 -:108AE00064962FAD649768963FAD68976C964FADCE -:108AF0006C97A0965FADA0970F94C04C0F94B7549D -:108B0000D801D6966D937D938D939C93D997649657 -:108B10002FAD649768963FAD68976C964FAD6C9794 -:108B2000A0965FADA09764966FAD649768967FAD91 -:108B300068976C968FAD6C97A0969FADA0970F9499 -:108B4000C04CC158DF4F288139814A815B81CF57A2 -:108B5000D0400F94C04CF801618372838383948367 -:108B6000AB962CAD3DAD4EAD5FADAB97A7966CAD62 -:108B70007DAD8EAD9FADA7970F94C04C67966CAF3F -:108B80007DAF8EAF9FAF679788E4829DF001839D94 -:108B9000F00D1124E95AF24F85889688A788B08C89 -:108BA00081149104A104B10419F5818D928DA38DD6 -:108BB000B48D892B8A2B8B2BD9F4858D968DA78D1F -:108BC000B0A1892B8A2B8B2B99F420911012309114 -:108BD0001112409112125091131267966CAD7DAD37 -:108BE0008EAD9FAD67970F94C04C0F9422542BC24B -:108BF000E7962CAD3DAD4EAD5FADE797232B242B13 -:108C0000252B49F020910C1230910D1240910E123B -:108C100050910F1208C020911412309115124091FA -:108C200016125091171267966CAD7DAD8EAD9FAD4B -:108C300067970F94C04C0F9422540F94B7546B0154 -:108C40007C018091290D90912A0DA0912B0DB0915E -:108C50002C0DAF962CAD3DAD4EAD5FADAF978217ED -:108C60009307A407B50708F4D6C081149104A104A2 -:108C7000B10411F16091190D70911A0D80911B0DC5 -:108C800090911C0D6C157D058E059F05A8F40F9421 -:108C9000A0522B013C01A5019401C701B6010F941C -:108CA000A052461657066806790630F4C301B20191 -:108CB0000F94B05269017A0188E4829DF001839D8E -:108CC000F00D1124E95AF24F818C928CA38CB48C54 -:108CD00081149104A104B10441F160911D0D7091C2 -:108CE0001E0D80911F0D9091200D6C157D058E0538 -:108CF0009F05D8F4AF962CAD3DAD4EAD5FADAF97AF -:108D00000F94A0522B013C01A5019401C701B601AB -:108D10000F94A052461657066806790630F4C30130 -:108D2000B2010F94B05269017A0188E4829DF0018A -:108D3000839DF00D1124E95AF24F858C968CA78CF7 -:108D4000B0A081149104A104B10441F16091210DFE -:108D50007091220D8091230D9091240D6C157D054D -:108D60008E059F05D8F4AF962CAD3DAD4EAD5FADF1 -:108D7000AF970F94A0522B013C01A5019401C701AC -:108D8000B6010F94A052461657066806790630F4CD -:108D9000C301B2010F94B05269017A0188E4829D47 -:108DA000F001839DF00D1124E95AF24F81A092A0A9 -:108DB000A3A0B4A081149104A104B10409F447C193 -:108DC0006091250D7091260D8091270D9091280DB1 -:108DD0006C157D058E059F0508F039C1AF962CAD49 -:108DE0003DAD4EAD5FADAF970F94A0522B013C014E -:108DF000A5019401C701B6010F94A052461657066B -:108E00006806790608F023C1C301B2010F94B0527D -:108E100069017A011CC181149104A104B104C9F152 -:108E20006091190D70911A0D80911B0D90911C0D80 -:108E30006C157D058E059F0560F50F945F4CAB9614 -:108E40002CAD3DAD4EAD5FADAB970F94C04C2B013B -:108E50003C01C501B4010F945F4C4B015C01C7019B -:108E6000B6010F945F4CA50194010F94C04C9B0177 -:108E7000AC01C301B2010F945A4C87FF0AC0A5018F -:108E80009401C301B2010F943E540F94B7546B0187 -:108E90007C0188E4829DF001839DF00D1124E95A44 -:108EA000F24F418C528C638C748C411451046104D8 -:108EB0007104C9F160911D0D70911E0D80911F0DFF -:108EC0009091200D6C157D058E059F0560F50F9422 -:108ED0005F4CAB962CAD3DAD4EAD5FADAB970F94F7 -:108EE000C04C4B015C01C301B2010F945F4C2B01DC -:108EF0003C01C701B6010F945F4CA30192010F948E -:108F0000C04C9B01AC01C501B4010F945A4C87FFC2 -:108F10000AC0A3019201C501B4010F943E540F94FD -:108F2000B7546B017C0188E4829DF001839DF00DB4 -:108F30001124E95AF24F458C568C678C70A041146D -:108F4000510461047104C9F16091210D7091220DE9 -:108F50008091230D9091240D6C157D058E059F0544 -:108F600060F50F945F4CAB962CAD3DAD4EAD5FAD53 -:108F7000AB970F94C04C4B015C01C301B2010F943D -:108F80005F4C2B013C01C701B6010F945F4CA3015C -:108F900092010F94C04C9B01AC01C501B4010F9428 -:108FA0005A4C87FF0AC0A3019201C501B4010F9476 -:108FB0003E540F94B7546B017C0188E4829DF0010C -:108FC000839DF00D1124E95AF24F81A092A0A3A035 -:108FD000B4A081149104A104B104C9F16091250DDC -:108FE0007091260D8091270D9091280D6C157D05AF -:108FF0008E059F0560F50F945F4CAB962CAD3DAD93 -:109000004EAD5FADAB970F94C04C2B013C01C50139 -:10901000B4010F945F4C4B015C01C701B6010F9482 -:109020005F4CA50194010F94C04C9B01AC01C3019E -:10903000B2010F945A4C87FF0AC0A5019401C301E5 -:10904000B2010F943E540F94B7546B017C0188E435 -:10905000829D8001839D100D1124095A124FF80141 -:10906000EE5BFF4FC082D182E282F382C701B6017C -:109070000F945F4C6B017C0167962CAD3DAD4EADFE -:109080005FAD67970F943E54AF966CAF7DAF8EAFD8 -:109090009FAFAF97D80151966D937D938D939C931D -:1090A00054972DEB37E346E051E4C701B6010F9426 -:1090B000C04C0F94B754F80161AB72AB83AB94AB67 -:1090C00029A93AA94BA95CA9A7966CAD7DAD8EAD37 -:1090D0009FADA7970F94C04CAB966CAF7DAF8EAF92 -:1090E0009FAFAB97698B7A8B8B8B9C8B2DA93EA9FD -:1090F0004FA958ADA7966CAD7DAD8EAD9FADA7972E -:109100000F94C04C4B015C016D8B7E8B8F8B988FC5 -:1091100029AD3AAD4BAD5CADA7966CAD7DAD8EADD6 -:109120009FADA7970F94C04C6B017C01698F7A8F1C -:109130008B8F9C8F21962CAD3DAD4EAD5FAD2197B1 -:10914000A7966CAD7DAD8EAD9FADA7970F94C04C2B -:10915000A7966CAF7DAF8EAF9FAFA7976D8F7E8FB9 -:109160008F8F98A3EC96FFADEC97FF2309F4BBC259 -:109170002091EA1464962FAF64973091EB146896AF -:109180003FAF68974091EC146C964FAF6C9750913D -:10919000ED14A0965FAFA0972DEB37E346E855E3BB -:1091A00064966FAD649768967FAD68976C968FAD47 -:1091B0006C97A0969FADA0970F945A4C87FD93C2D1 -:1091C0008091231290912412A0912512B091261221 -:1091D000E7968CAF9DAFAEAFBFAFE7972091271258 -:1091E000309128124091291250912A12E3962CAF07 -:1091F0003DAF4EAF5FAFE39780912B1290912C1251 -:10920000A0912D12B0912E12EF968CAF9DAFAEAF04 -:10921000BFAFEF9720912F12309130124091311251 -:1092200050913212C158DF4F288339834A835B83C0 -:10923000CF57D040E7966CAD7DAD8EAD9FADE79733 -:109240009058AB962CAD3DAD4EAD5FADAB970F9446 -:10925000C04C2B013C01E3962CAD3DAD4EAD5FAD56 -:10926000E397C501B4010F94C04C9B01AC01C3014D -:10927000B2010F9443532B013C01EF962CAD3DAD51 -:109280004EAD5FADEF97C701B6010F94C04C9B0187 -:10929000AC01C301B2010F9443532B013C01C158EF -:1092A000DF4F288139814A815B81CF57D040A79613 -:1092B0006CAD7DAD8EAD9FADA7970F94C04C9B015B -:1092C000AC01C301B2010F9443532B013C012FEEBB -:1092D0003FEF4FE75FE30F94A45518160CF4B2C1AB -:1092E0002FEE3FEF4FE75FEBC301B2010F945A4CF3 -:1092F00087FF08C0EFEE4E2E55245A94EFE76E2EEE -:10930000EFEB7E2EE7962CAD3DAD4EAD5FADE79712 -:10931000AB966CAD7DAD8EAD9FADAB970F944353C7 -:1093200069837A838B839C83E3962CAD3DAD4EADF0 -:109330005FADE397C501B4010F9443536D837E8302 -:109340008F839887EF962CAD3DAD4EAD5FADEF9717 -:10935000C701B6010F94435369877A878B879C872F -:10936000C158DF4F288139814A815B81CF57D04076 -:10937000A7966CAD7DAD8EAD9FADA7970F9443536F -:109380006D877E878F87988BAE014F5F5F4FA59665 -:109390005FAF4EAFA597CE01419663969FAF8EAF5C -:1093A00063978A01C12CD12C7601D8018D909D90B4 -:1093B000AD90BD908D0120E030E0A901C501B40160 -:1093C0000F945A4C882371F0A5019401C501B40192 -:1093D0000F94C04C9B01AC01C701B6010F944453DC -:1093E0006B017C016396EEADFFAD6397E017F1076B -:1093F000E1F6C701B6010F9442569B01AC0160E053 -:1094000070E080E89FE30F943E546B017C01A596C9 -:109410000EAD1FADA597A7019601D8016D917D9165 -:109420008D919C910F94C04CF8016193719381933D -:1094300091938F0163962EAD3FAD63972E173F0733 -:1094400051F778EDA72E71E1B72EAC963FADAC97F2 -:10945000A8963FAFA897AD964FADAD97E4964FAFA6 -:10946000E497AE960FADAE97AF961FADAF97A596AA -:10947000AEADBFADA597CD90DD90ED90FD90A596DA -:10948000BFAFAEAFA59720E030E0A901C701B6019C -:109490000F945A4C882361F1F501608171818281BA -:1094A00093810F945F4CA70196010F943E546B017A -:1094B0007C0120E030E0A9010F94A45587FF04C08F -:1094C000F7FAF094F7F8F094A8962FADA897E496E1 -:1094D0003FADE497A801C701B6010F945A4C87FF2E -:1094E00007C0A896CFAEA897E496DFAEE4978701B1 -:1094F000F4E0AF0EB11C63962EAD3FAD6397A59619 -:109500004EAD5FADA5972417350709F0B0CFA30185 -:10951000920160E070E080E89FE30F94435320E005 -:1095200030E040E05FE30F94C04C0F9442566B0173 -:109530007C012091150D3091160D4091170D509121 -:10954000180DA8966FADA897E4967FADE497C80173 -:109550000F94C04CA70196010F94C04C4B015C01C5 -:10956000A701960160E070E080E89FE30F94435309 -:109570009B01AC01C501B4010F943E546B017C0109 -:1095800020E030E040E85FE3EB966CAD7DAD8EAD62 -:109590009FADEB970F945A4C87FF5CC0A3019201DB -:1095A000C301B2010F94C04C23EC38EB42E35FEBF4 -:1095B0000F94C04C23EF36E64FE55FE30F9443531F -:1095C000A30192010F94C04C2BED3FE049EC5FE307 -:1095D0000F9444532CEE31E548E35EE30F9443537C -:1095E0004B015C0124EE3BEC46E150E40F94A455A2 -:1095F000181684F5A50194016BED7FE089E490E4F1 -:109600000F9443539B01AC01EB966CAD7DAD8EADD9 -:109610009FADEB970F943E54A8962FADA897E49674 -:109620003FADE497A8010F94C04C5B018C019B01F6 -:10963000AC01B601C7010F94A45518165CF465017E -:10964000780108C03BE0C32E47EDD42E53E2E52E4F -:109650006BE3F62E88E4829DF001839DF00D1124CA -:10966000E95AF24FA180B280038114819501A801CB -:1096700064966FAD649768967FAD68976C968FAD72 -:109680006C97A0969FADA0970F94A455181664F4FC -:109690006496AFAE64976896BFAE68976C960FAF4E -:1096A0006C97A0961FAFA0979601A70164966FAD27 -:1096B000649768967FAD68976C968FAD6C97A0960F -:1096C0009FADA0970F94A4551816CCF46496CFAE16 -:1096D00064976896DFAE68976C96EFAE6C97A0962D -:1096E000FFAEA0970CC064961FAE649768961FAE3D -:1096F00068976C961FAE6C97A0961FAEA09780E1FE -:10970000FE017196A3E2B2E101900D928A95E1F714 -:1097100088E4829D8001839D100D1124095A124F07 -:1097200064968FAD649768969FAD68976C96AFAD61 -:109730006C97A096BFADA097F80181879287A38709 -:10974000B487AF966CAD7DAD8EAD9FADAF979058A1 -:109750009B01AC010F944453D8011D962D913D916E -:109760004D915C9150970F94C04C9B01AC016BE004 -:1097700077ED83E29BE30F9443532BE0C22E27ED5A -:10978000D22E23E2E22E2BE3F22EF801C582D682FE -:10979000E782F086B080C180D280E380F480A701A8 -:1097A00096010F94A45587FD02C083E001C081E0BB -:1097B0008B2998E4929DF001939DF00D1124E95AB4 -:1097C000F24F808380E1FE01B196AEEEB4E10190EC -:1097D0000D928A95E1F7C092EA14D092EB14E092D0 -:1097E000EC14F092ED1480E1FE01EF5BFF4FAEEF61 -:1097F000B4E101900D928A95E1F79091E81480917F -:10980000E914981303C084E68093E514C557DF4F2D -:109810008881CB58D0408F5F8F708093E8148091FF -:10982000E8149091E71481508F70891709F4B3C040 -:10983000F090E8148FEF8F0D8F7064968FAF649760 -:10984000B090E7148091E814B81609F473C0C12CE5 -:10985000D12C6496FFAD6497FB1509F46BC06F2E95 -:10986000712C28E4269D8001279D100D1124095A92 -:10987000124FD8018C9183FD3AC0AC960FAFAC97D4 -:10988000A8961FAFA8971996BC916896BFAF689726 -:10989000F801F2856C96FFAF6C97D8011B96BC91CE -:1098A000A096BFAFA097F801F485A496FFAFA49748 -:1098B000D80115962D903D904D905C901897A2017F -:1098C000910168966FAD68976C967FAD6C97A09686 -:1098D0008FADA0979F2F0F945A4C811157C1C1147F -:1098E000D10459F0F601808180FD50C106C0AC96CC -:1098F000CFAEAC97A896DFAEA89764968FAD64976D -:1099000081508F7064968FAF64978091E7148B11AC -:1099100007C0AC96CFACAC97A896DFACA89799CF10 -:109920006496FFAD6497FB1529F081E08B0D8F7075 -:10993000B82EEBCF2091E71464962FAF6497C12C1B -:10994000D12C8091E81464963FAD6497831719F188 -:10995000832E912C48E4489D8001499D100D1124CF -:10996000095A124FD8018C9183FD0AC05801C114C5 -:10997000D10439F0C6010E9434D5811102C095C1CD -:10998000560164968FAD64978F5F8F7064968FAF2A -:1099900064976501D6CFD090E9148090E81428E44C -:1099A000D81469F08FEF880D8F70289FF001112473 -:1099B000E95AF24F908193FF02C0882EF1CF212CFB -:1099C000312C412C512C64961FAE649768961FAEC3 -:1099D0006897712C612C00E010E0E12CF12C8D14C3 -:1099E00009F481C048E44D9D80011124095A124FA9 -:1099F000D8018C9183FD19C015966D917D918D9143 -:109A00009C9118970F944256C62EB72EA82E992EC9 -:109A1000E114F10409F455C0F701808180FD0EC006 -:109A2000D8018C9180FD0AC04CC06496CFAC64977D -:109A30006896BFAC6897A72C962C48C0F701808128 -:109A400081608083C7010E9434D5811136C0F7013F -:109A500061817281838194810F9442569B01AC0194 -:109A600060E070E080E89FE30F943E541B012C01FE -:109A70009B01AC016C2D7B2D8A2D992D0F94C04C30 -:109A800069837A838B839C8364962FAD64976896F1 -:109A90003FAD6897472D562DC201B1010F94C04CC0 -:109AA000698B7A8B8B8B9C8BAE014F5F5F4FBE01B6 -:109AB0006F5E7F4FC7010E949B84D7018C918E7F80 -:109AC0008C932C2C3B2C4A2C592C780181E08D0D49 -:109AD0008F70D82E6496CFAE64976896BFAE6897A5 -:109AE0007A2C692C7CCF01151105E9F1F8018081F0 -:109AF00081608083C7010E9434D5811130C0D801B4 -:109B000011966D917D918D919C9114970F94425671 -:109B10009B01AC0160E070E080E89FE30F943E544D -:109B20006B017C012DEC3CEC4CE45DE30F94C04CEC -:109B300069837A838B839C839101A201C701B6015B -:109B40000F94C04C698B7A8B8B8B9C8BAE014F5FD3 -:109B50005F4FBE016F5E7F4FC8010E949B84F8017A -:109B600080818E7F808380916F00826080936F0000 -:109B700081E01DC180E01BC1D0901C12E0901D123D -:109B8000F0901E1210911F120C9494C328E4269D8D -:109B9000F001279DF00D1124E95AF24F808181FDDB -:109BA0004BC0C114D10441F0D6011596CD90DD9083 -:109BB000ED90FC90189708C08BE0C82E87EDD82E4A -:109BC00083E2E82E8BE3F82EB8E4B69DF001B79D52 -:109BD000F00D1124E95AF24F81899289A389B48941 -:109BE000BC01CD0190589B01AC010F944453F80186 -:109BF00025853685478550890F94C04C9B01AC0163 -:109C0000C701B6010F944353E62E872E982EA92E36 -:109C1000262F372F482F592F68966FAD68976C966F -:109C20007FAD6C97A0968FADA097A4969FADA4979B -:109C30000F945A4C87FF0CC06896EFAC68976C96EF -:109C40008FAC6C97A0969FACA097A496AFACA4974E -:109C50002E2D382D492D5A2DC201B1010F945A4C89 -:109C6000882309F44ACEF8E4F69DC001F79D900DD3 -:109C700011249C01295A324F6901D9018C918160CC -:109C80008C93C8010E9434D5882329F0F601808185 -:109C90008E7F808332CE8E2D982DA92DBA2DF60180 -:109CA00085839683A783B08728CED6018C9181FDCA -:109CB00058C0D60115962D913D914D915C91189704 -:109CC0006B962CAF3DAF4EAF5FAF6B971501B5E014 -:109CD0002B0E311CF8014580568067807084A301EB -:109CE00092016B966CAD7DAD8EAD9FAD6B970F9471 -:109CF0005A4C87FF36C0F60181899289A389B489BD -:109D0000BC01CD0190589B01AC010F944453D60186 -:109D10001D962D913D914D915C9150970F94C04CA3 -:109D20009B01AC016B966CAD7DAD8EAD9FAD6B971D -:109D30000F9443536B017C019B01AC01C301B20141 -:109D40000F94A45518166CF4D8018C9181608C93F3 -:109D5000C5010E9434D58823F1F0F80180818E7FFF -:109D6000808328E4289DF001299DF00D1124E95AF3 -:109D7000F24F2185328543855485658176818781BF -:109D800090850F945A4C8111FCCD64963FAD649739 -:109D90003093E714F6CDD101CD92DD92ED92FC9295 -:109DA00013976496BFAD6497B093E714DACFC357A7 -:109DB000DF4F0FB6F894DEBF0FBECDBFDF91CF915E -:109DC0001F910F91FF90EF90DF90CF90BF90AF90D9 -:109DD0009F908F907F906F905F904F903F902F90CB -:109DE0000895CF92DF92EF92FF920F931F93CF933C -:109DF000DF93CDB7DEB764970FB6F894DEBF0FBE22 -:109E0000CDBFC98ADA8AEB8AFC8AFC018081918104 -:109E1000A281B38189839A83AB83BC83FB01808158 -:109E20009181A281B3818D839E83AF83B887FA012C -:109E300080819181A281B38189879A87AB87BC8712 -:109E4000F90180819181A281B3818D879E87AF873F -:109E5000B88BCE0141967C019E01235F3F4FAE013E -:109E6000475F5F4FBE016B5F7F4F40970E94BBBF54 -:109E700064960FB6F894DEBF0FBECDBFDF91CF91D1 -:109E80001F910F91FF90EF90DF90CF900895CF93A7 -:109E9000DF93CDB7DEB760970FB6F894DEBF0FBE85 -:109EA000CDBFE5E0FDE080819181A281B38189830E -:109EB0009A83AB83BC8384819581A681B7818D838E -:109EC0009E83AF83B88780859185A285B385898776 -:109ED0009A87AB87BC8784859585A685B7858D874E -:109EE0009E87AF87B88BAE01475F5F4FBE016B5F48 -:109EF0007F4FCE0101960E94BD7A9E01235F3F4FA6 -:109F0000AE01475F5F4FBE016B5F7F4FCE01019691 -:109F10000E941B7960960FB6F894DEBF0FBECDBFCE -:109F2000DF91CF91089581E794E10E9471A181E7CB -:109F300094E10E94A4A18091E8168D7F8E7F80938A -:109F4000E8161092E4161092E5161092E61610929A -:109F5000E71681E08093CE1508950F94ED3C609153 -:109F6000030D7091040D8AE19EE30F94D63C87E1C6 -:109F70009EE30D946D3CAF92BF92CF92DF92EF9231 -:109F8000FF920F931F93CF93DF93CDB7DEB72C973C -:109F90000FB6F894DEBF0FBECDBF23E7C22E23E07D -:109FA000D22E5C0170E0CB018D589C4F7C01CE1409 -:109FB000DF0409F180E20E946261F60181916F0184 -:109FC0000E9462618AE30E946261F5016191719170 -:109FD000819191915F018E010F5F1F4F23E041E05E -:109FE0000F9432478C01F80181918F018823F9F297 -:109FF0000E946261F8CF8AE00E9462612C960FB6DF -:10A00000F894DEBF0FBECDBFDF91CF911F910F91AE -:10A01000FF90EF90DF90CF90BF90AF900895CF93D7 -:10A02000DF9300D01F92CDB7DEB78091221281114D -:10A030001BC081E0809322128091EE0C9091EF0C76 -:10A04000A091F00CB091F10CB05889839A83AB8346 -:10A05000BC839E012F5F3F4F4AEF5CE066EF7CE0E0 -:10A0600082EF9CE00E9481E90F900F900F900F907B -:10A07000DF91CF910895CF93DF9300D01F92CDB79A -:10A08000DEB7809122128823F9F02AE939E949E9FB -:10A090005FE36091EE0C7091EF0C8091F00C909169 -:10A0A000F10C0F94C04C69837A838B839C839E014F -:10A0B0002F5F3F4F4AEF5CE066EF7CE082EF9CE071 -:10A0C0000E9481E9109222120F900F900F900F9032 -:10A0D000DF91CF9108958F929F92AF92BF92CF92CE -:10A0E000DF92EF92FF920F931F93CF93DF93EC01D8 -:10A0F0008A01C880D980EA80FB80072E000C880B7B -:10A10000990B0F94614C4B015C019B01AC01C701A1 -:10A11000B6010F945A4C87FD10C0B801110F880B7F -:10A12000990B0F94614C4B015C019B01AC01C70181 -:10A13000B6010F94A455181624F488829982AA8235 -:10A14000BB82DF91CF911F910F91FF90EF90DF9035 -:10A15000CF90BF90AF909F908F900895EF92FF9215 -:10A160000F931F93CF93C82F7B018A0180915202D6 -:10A170008823D1F00F94E93CC7010F946D3C8BE824 -:10A1800096E40F946D3CC7FD08C06AE070E08C2F28 -:10A19000CC0F990B0E94F26104C087E896E40F94FB -:10A1A0006D3C8AE00E9462610E94DFFA8091A212F7 -:10A1B000811108C081E08093A21210925202C8015E -:10A1C0000F94D425CF911F910F91FF90EF90089598 -:10A1D0002F923F924F925F926F927F928F929F92B7 -:10A1E000AF92BF92CF92DF92EF92FF920F931F93A5 -:10A1F000CF93DF93CDB7DEB72F970FB6F894DEBFBE -:10A200000FBECDBF80915A1281111DC080917E1367 -:10A2100081111DC02F960FB6F894DEBF0FBECDBFC3 -:10A22000DF91CF911F910F91FF90EF90DF90CF9032 -:10A23000BF90AF909F908F907F906F905F904F9066 -:10A240003F902F90089580E090E00F94D4250E94D5 -:10A2500093FC0F9493364B015C0160911202709154 -:10A260001302072E000C880B990B0F94614C9B0175 -:10A27000AC016091440D7091450D8091460D909117 -:10A28000470D0F94A45518163CF440E157E463E2DF -:10A2900077E480E00E94AED080917C13882309F49B -:10A2A00004C26091480D7091490D072E000C880B77 -:10A2B000990B0F94614C69837A838B839C833AE07A -:10A2C000E32EF12C0CE310E020E0AE014F5F5F4F76 -:10A2D00064E47DE081ED92E10E94D1F8C090440DEC -:10A2E000D090450DE090460DF090470D6091100222 -:10A2F00070911102072E000C880B990B0F94614C82 -:10A300009B01AC01C701B6010F94A45518160CF4BB -:10A31000A0C060E060934A0D8091691390916A1328 -:10A32000A0916B13B0916C130097A105B10529F1B1 -:10A33000A5019401281B390B4A0B5B0B57FD1DC06F -:10A34000609167137091681380E090E00F945F4C08 -:10A350009B01AC016091440D7091450D8091460DBB -:10A360009091470D0F945A4C87FF08C34FEE56E467 -:10A3700061E077E480E00E94AED020E030E046E18A -:10A3800053E46091A9097091AA098091AB09909159 -:10A39000AC090F94A45518160CF4D7C180916F1313 -:10A3A00090917013A0917113B09172130097A10551 -:10A3B000B10529F1A5019401281B390B4A0B5B0B50 -:10A3C00057FD1DC060916D1370916E1380E090E099 -:10A3D0000F945F4C9B01AC016091A9097091AA098F -:10A3E0008091AB099091AC090F945A4C87FFB5C18D -:10A3F00049EA56E46CEB76E48FEF0E94AED0809190 -:10A400007713882309F48AC16091AD097091AE0970 -:10A41000072E000C880B990B0F94614C69837A838B -:10A420008B839C8392E0E92EF12C02E310E02FEF66 -:10A43000AE014F5F5F4F69EA79E08CEC92E10E94D8 -:10A44000D1F880917713882309F448C11092AF099D -:10A45000E1CE6091120270911302072E000C880B5E -:10A46000990B0F94614C9B01AC01C701B6010F948D -:10A470005A4C87FF4ECF6091480D7091490D611580 -:10A48000710509F476C2072E000C880B990B0F9406 -:10A49000614CA70196010F9443532B013C0120E02E -:10A4A00030E040E251EC0F945A4C87FD62C280913B -:10A4B0007C1381115EC220E030E040E251E4C30130 -:10A4C000B2010F94A45518160CF465C28091CB12FA -:10A4D000811166C28091C3129091C412A091C512DD -:10A4E000B091C6128D839E83AF83B8872091C71227 -:10A4F0003091C8124091C9125091CA1229873A87E7 -:10A500004B875C87A70196016091B7127091B812D2 -:10A510008091B9129091BA120F9443532091530D28 -:10A520003091540D4091550D5091560D0F94C04CE3 -:10A530002D813E814F8158850F94435320ED3CEC93 -:10A540004CE45DE30F94C04C2D813E814F815885D2 -:10A550000F9444536B017C016093C3127093C41237 -:10A560008093C5129093C61280914F0D9091500D1B -:10A57000A091510DB091520D8D839E83AF83B8870A -:10A5800029853A854B855C85C301B2010F944453FC -:10A59000162F072F382E292E20E030E0A9010F9426 -:10A5A0005A4C87FD12C22D813E814F81588560E053 -:10A5B00070E08FE793E40F943E5469877D878E8720 -:10A5C0009F87212F302F432D522D0F945A4C87FFF8 -:10A5D00004C019850D853E842F84812F902FA32DD3 -:10A5E000B22D8093C7129093C812A093C912B09352 -:10A5F000CA1220914B0D30914C0D40914D0D509150 -:10A600004E0DC301B2010F94C04C2B013C0160936D -:10A61000BB127093BC128093BD129093BE12212F77 -:10A62000302F432D522D6D817E818F8198850F941F -:10A63000C04C9B01AC016093BF127093C012809319 -:10A64000C1129093C212C301B2010F944453A701E7 -:10A6500096010F94445320E030E0A9010F94445335 -:10A6600069837A838B839C834FEF50E060E070E0D6 -:10A67000CE0101960E946BD0C090440DD090450D44 -:10A68000E090460DF090470D69817A818B819C8125 -:10A690000F94B05475956795C092B712D092B812C6 -:10A6A000E092B912F092BA1235CE8091781390915F -:10A6B0007913A0917A13B0917B130097A105B1058E -:10A6C00009F4EFCDA5019401281B390B4A0B5B0B54 -:10A6D00057FDE7CD81E080937C13E3CDC090A909BD -:10A6E000D090AA09E090AB09F090AC0920E030E0EE -:10A6F00040EA50E4C701B6010F94A45587FD0AC093 -:10A7000020E030E046E153E4C701B6010F945A4C13 -:10A71000181634F560E06093AF097CCD8091731317 -:10A7200090917413A0917513B09176130097A105C1 -:10A73000B10509F469CE881A990AAA0ABB0AB7FCBE -:10A7400063CE81E0809377135FCE4BEC56E46FEDE0 -:10A7500076E48FEF0E94AED021CE0E9490FA4FCEC9 -:10A760006091AD097091AE096115710509F40AC1D6 -:10A77000072E000C880B990B0F94614CA7019601D2 -:10A780000F9443534B015C0120E030E040E251EC78 -:10A790000F945A4C87FDF6C020E030E040E251E4CF -:10A7A000C501B4010F94A45518160CF4EFC04090E5 -:10A7B000B4095090B5096090B6097090B7098091BE -:10A7C00053028111F8C02091B3123091B41240911C -:10A7D000B5125091B6128091AF129091B012A09123 -:10A7E000B112B091B2128D839E83AF83B887C50139 -:10A7F000B4010F944453162F072F382E292E20E032 -:10A8000030E0A9010F945A4C87FDE4C0A3019201E6 -:10A8100060E070E08FE793E40F943E5469877D8792 -:10A820008E879F87212F302F432D522D0F945A4C06 -:10A8300087FF04C019850D853E842F84812F902FBA -:10A84000A32DB22D8093B3129093B412A093B5129E -:10A85000B093B6122091B0093091B1094091B2097C -:10A860005091B309C501B4010F94C04C4B015C0178 -:10A870006093A7127093A8128093A9129093AA12C2 -:10A88000212F302F432D522DC301B2010F94C04C04 -:10A890002B013C016093AB127093AC128093AD120C -:10A8A0009093AE12A70196016091A3127091A41229 -:10A8B0008091A5129091A6120F9443532091B8094C -:10A8C0003091B9094091BA095091BB090F94C04C1D -:10A8D0002D813E814F8158850F94435320ED3CECF0 -:10A8E0004CE45DE30F94C04C2D813E814F8158852F -:10A8F0000F9444536D837E838F8398876093AF1248 -:10A900007093B0128093B1129093B212C092A312BE -:10A91000D092A412E092A512F092A612A301920185 -:10A92000C501B4010F9444532D813E814F81588558 -:10A930000F94445320E030E0A9010F9444536B017D -:10A940007C0120E030E0A9010F945A4C87FDE2CE53 -:10A9500020E030E04FE753E4C701B6010F94A4555F -:10A960001816BCF0C701B6010F94B05475956795E1 -:10A97000D2CE81E08093CB1260E08ECE80E00E9448 -:10A98000FFFAFBCC81E080935302C4CE81E0809338 -:10A9900053026FE7C0CE81E08093CB126FE77CCE8D -:10A9A0001092CB1219861A861B861C861D821E8267 -:10A9B0001F821886A7CD109253021D821E821F820D -:10A9C000188620E030E0A90112CF10E000E0312C21 -:10A9D000212C03CE10E000E0312C212C2FCF9091C0 -:10A9E0006F00292F227091FF05C090916F009D7F0D -:10A9F00090936F0034E0839FC0011124FC01E65B5B -:10AA0000FD4E4081518162817381FC01E25CFD4E0B -:10AA1000408351836283738381E080933D122223BC -:10AA200029F080916F00826080936F00089590916B -:10AA30006F00292F227091FF05C090916F009D7FBC -:10AA400090936F0094E0899FF0011124E65BFD4E26 -:10AA50006081718182819381222329F020916F008E -:10AA6000226020936F000895BC012091A0123091C4 -:10AA7000A1124091A0125091A1122417350711F094 -:10AA80009A01F7CF81E02617370709F080E0089593 -:10AA90002F923F924F925F926F927F928F929F92EE -:10AAA000AF92BF92CF92DF92EF92FF921F93CF931C -:10AAB000DF9300D01F92CDB7DEB78FEF9FEF90935B -:10AAC0008900809388001AE01A821982B3E82B2E3D -:10AAD000B6E43B2E789480919C1290919D12A091A7 -:10AAE0009E12B0919F12892B8A2B8B2B09F0D7C114 -:10AAF00080913D128823D1F010923D128091A012D6 -:10AB00009091A112892B91F010923C121092A112F7 -:10AB10001092A0129091E8148091E914981731F0E6 -:10AB20008091E9148F5F8F708093E9148091A01257 -:10AB30009091A112892B09F4B2C180909812909043 -:10AB40009912A0909A12B0909B1240919412509139 -:10AB500095126091961270919712C0908712D12C25 -:10AB6000E12CF12CDB01CA0188199909AA09BB095A -:10AB7000C816D906EA06FB0610F4D701C601382F1D -:10AB8000880D991DAA1DBB1D809398129093991250 -:10AB9000A0939A12B0939B128091840090918500AB -:10ABA0004E96C0906F12D0907012E0907112F0909B -:10ABB000721240915F125091601260916112709117 -:10ABC00062124C0D5D1D6E1D7F1D40936F125093E0 -:10ABD0007012609371127093721277FD1CC0889A84 -:10ABE000C0904A12D0904B12E0904C12F0904D124F -:10ABF00040913412042E000C550B660B770B4C0D54 -:10AC00005D1D6E1D7F1D40934A1250934B12609341 -:10AC10004C1270934D12C0907312D0907412E09049 -:10AC20007512F09076124091631250916412609107 -:10AC30006512709166124C0D5D1D6E1D7F1D409357 -:10AC4000731250937412609375127093761277FD9D -:10AC50001CC08E9AC0904E12D0904F12E0905012AD -:10AC6000F090511240913512042E000C550B660BDA -:10AC7000770B4C0D5D1D6E1D7F1D40934E12509342 -:10AC80004F126093501270935112C0907712D0906F -:10AC90007812E0907912F0907A12409167125091F8 -:10ACA00068126091691270916A124C0D5D1D6E1DE3 -:10ACB0007F1D4093771250937812609379127093AE -:10ACC0007A1277FD21C020910B01209528702093E6 -:10ACD0000901C0905212D0905312E0905412F0909B -:10ACE000551240913612042E000C550B660B770B53 -:10ACF0004C0D5D1D6E1D7F1D4093521250935312DB -:10AD00006093541270935512C0907B12D0907C12B5 -:10AD1000E0907D12F0907E1240916B1250916C1277 -:10AD200060916D1270916E124C0D5D1D6E1D7F1D38 -:10AD300040937B1250937C1260937D1270937E122D -:10AD400077FD1CC0149AC0905612D0905712E09014 -:10AD50005812F090591240913712042E000C550BE6 -:10AD6000660B770B4C0D5D1D6E1D7F1D40935612BB -:10AD70005093571260935812709359124091840067 -:10AD80005091850048175907C8F340916F125091B0 -:10AD90007012609171127091721277FD15C0C0909F -:10ADA0005B12D0905C12E0905D12F0905E124C1934 -:10ADB0005D096E097F0940936F1250937012609382 -:10ADC000711270937212889840917312509174129C -:10ADD000609175127091761277FD15C0C0905B126C -:10ADE000D0905C12E0905D12F0905E124C195D09FB -:10ADF0006E097F0940937312509374126093751219 -:10AE0000709376128E9840917712509178126091DB -:10AE1000791270917A1277FD19C0C0905B12D090B0 -:10AE20005C12E0905D12F0905E124C195D096E09A3 -:10AE30007F09409377125093781260937912709340 -:10AE40007A1220910B0128702093090140917B1206 -:10AE500050917C1260917D1270917E1277FD15C029 -:10AE6000C0905B12D0905C12E0905D12F0905E1288 -:10AE70004C195D096E097F0940937B1250937C1237 -:10AE800060937D1270937E121498315041F040917E -:10AE900084005091850048175907C8F381CE8091EE -:10AEA0009C1290919D12A0919E12B0919F12892B9D -:10AEB0008A2B8B2B09F074C3E091A012F091A112A0 -:10AEC000309709F4F4C48091981290919912A0914E -:10AED0009A12B0919B1240919412509195126091E8 -:10AEE00096127091971284179507A607B70708F472 -:10AEF0006BC080914D02882309F44CC085899689E6 -:10AF0000A789B08D892B8A2B8B2BA1F4818D928DF3 -:10AF1000A38DB48D892B8A2B8B2B61F4858D968D17 -:10AF2000A78DB0A1892B8A2B8B2B21F48091BC0B90 -:10AF3000882381F161A172A183A194A1C0903812EC -:10AF4000D0903912E0903A12F0903B1225A923FFDD -:10AF500007C090958095709561957F4F8F4F9F4F5B -:10AF60000F94614C20913B0D30913C0D40913D0D73 -:10AF700050913E0D0F94C04C9B01AC01C701B6012E -:10AF80000F944353609338127093391280933A129E -:10AF900090933B1210923C121092A1121092A012A8 -:10AFA0009091E8148091E914981709F480C4809175 -:10AFB000E9148F5F8F708093E914A0EDCA2EA7E08B -:10AFC000DA2EE12CF12C4EC1409190125091911249 -:10AFD0006091921270919312481759076A077B0784 -:10AFE00008F467C040918C1250918D1260918E12BE -:10AFF00070918F1281A992A9A3A9B4A9FF24499F96 -:10B00000E12C5A9F90016A9F300D699F200D311DE0 -:10B010004A9FE00C211D3F1D599FE00C211D3F1D43 -:10B02000689FE00C211D3F1D589FE10C2F1D3F1D07 -:10B03000E6942F1D3F1DB49F200D311DB59F300D8F -:10B04000112482AD93ADA4ADB5AD820F931FA11DA8 -:10B05000B11D8093881290938912A0938A12B093A5 -:10B060008B12C6A8D7A8E0ACF1ACC816D906EA0680 -:10B07000FB0640F4C0928812D0928912E0928A12A4 -:10B08000F0928B128090881290908912A0908A1270 -:10B09000B0908B1287E696E421E0FC01C590D59034 -:10B0A000E590F490C814D904EA04FB0408F4C9C27A -:10B0B000D3C2409183125091841260918512709195 -:10B0C0008612481759076A077B0708F063C040914A -:10B0D0007F1250918012609181127091821281A929 -:10B0E00092A9A3A9B4A9FF24499FE12C5A9F9001DA -:10B0F0006A9F300D699F200D311D4A9FE00C211D74 -:10B100003F1D599FE00C211D3F1D689FE00C211D34 -:10B110003F1D589FE10C2F1D3F1DE6942F1D3F1D25 -:10B12000B49F200D311DB59F300D1124C901A0E041 -:10B13000B0E08090881290908912A0908A12B0900E -:10B140008B12FE9688159905AA05BB0580F4C08070 -:10B15000D180E280F380881A990AAA0ABB0A8C146B -:10B160009D04AE04BF0438F44601570104C080803A -:10B170009180A280B38087E696E421E0FC01C5902F -:10B18000D590E590F490C814D904EA04FB0408F4BF -:10B19000CBC2D5C280914E0290914F02A091500235 -:10B1A000B0915102B7FF56C086A997A9A0ADB1AD25 -:10B1B00027E636E441E0F901C590D590E590F4909A -:10B1C000C816D906EA06FB0658F4B695A7959795D2 -:10B1D0008795440F2C5F3F4F56E42338350759F7C6 -:10B1E0004093871280329105A105B10508F432C35E -:10B1F0008097A109B109811528E09207A105B10541 -:10B2000008F405C344E0949F9001112429593D4B53 -:10B21000F901329645915491EE27859FB001849FA4 -:10B22000610D7E1F06946E1F7E1F1124CB01A0E0CE -:10B23000B0E0F9014591549160E070E0481B590B72 -:10B240006A0B7B0B40934E0250934F026093500267 -:10B2500070935102C0904E02D0904F02E090500285 -:10B26000F09051028091A0129091A112892B09F0C7 -:10B270008FC10E943D739093A1128093A012892BDD -:10B2800009F486C18091A0129091A1129C838B83B6 -:10B29000DC018C9183FF42C055968D919D910D905C -:10B2A000BC91A02D80934A1290934B12A0934C1204 -:10B2B000B0934D12EB81FC81818D928DA38DB48D65 -:10B2C00080934E1290934F12A0935012B09351124C -:10B2D000858D968DA78DB0A18093521290935312B5 -:10B2E000A0935412B093551281A192A1A3A1B4A12D -:10B2F0008093561290935712A0935812B0935912FC -:10B300009091E8148091E914981709F4B2CF8091D4 -:10B31000E9148F5F8F708093E914ABCFAB81BC8150 -:10B3200055964D905D906D907C90589781E04114BA -:10B3300051046104710409F480E0EB81FC81C18C4B -:10B34000D28CE38CF48CC114D104E104F10409F033 -:10B350008260AB81BC815D964D915D916D917C91D8 -:10B360009097411551056105710509F0846080933E -:10B370003C1210927F121092801210928112109241 -:10B38000821210928C1210928D1210928E121092C4 -:10B390008F12EB81FC8185A196A1A7A1B0A5809316 -:10B3A000941290939512A0939612B09397128824BA -:10B3B00099245401881A990AAA0ABB0A80927B121E -:10B3C00090927C12A0927D12B0927E12809277129F -:10B3D00090927812A0927912B0927A12809273129F -:10B3E00090927412A0927512B092761280926F129F -:10B3F00090927012A0927112B0927212440C551C6D -:10B40000661C771C40925F1250926012609261122B -:10B4100070926212CC0CDD1CEE1CFF1CC0926312F9 -:10B42000D0926412E0926512F0926612440F551F9A -:10B43000661F771F409367125093681260936912DA -:10B4400070936A1241A152A163A174A1440F551FC8 -:10B45000661F771F40936B1250936C1260936D12AE -:10B4600070936E12880F991FAA1FBB1F80935B12E7 -:10B4700090935C12A0935D12B0935E12109298129A -:10B480001092991210929A1210929B1281A592A575 -:10B49000A3A5B4A58093901290939112A0939212B9 -:10B4A000B093931285A596A5A7A5B0A98093831202 -:10B4B00090938412A0938512B093861285A99091DF -:10B4C000D209891721F08093D2090E94FE720E944E -:10B4D000596B2FEF3FEFA90120934E0230934F029B -:10B4E0004093500250935102EB81FC8182AD93ADA9 -:10B4F000A4ADB5AD8093881290938912A0938A125F -:10B50000B0938B1227E636E441E0F901C590D5905F -:10B51000E590F490C816D906EA06FB0650F4B695F5 -:10B52000A79597958795440F2C5F3F4F22163306BA -:10B5300061F74093871280329105A105B10508F4A7 -:10B54000B1C18097A109B1098115F8E09F07A10554 -:10B55000B10508F484C144E0949F90011124295955 -:10B560003D4BF901329645915491EE27859FB001EC -:10B57000849F610D7E1F06946E1F7E1F1124F901AA -:10B58000C590D490E12CF12CC61AD70AE108F10835 -:10B59000C0929C12D0929D12E0929E12F0929F1245 -:10B5A00080919C1290919D12A0919E12B0919F1239 -:10B5B000AC01BD010097E1E0AE07B10520F04FEF0F -:10B5C0005FEF60E070E0841B950BA60BB70B8093D8 -:10B5D0009C1290939D12A0939E12B0939F12F89488 -:10B5E00080918400909185004096115059F02981F6 -:10B5F0003A81240F351F3A8329832817390708F425 -:10B6000069CA02C09A83898349815A81509389000B -:10B610004093880078940F900F900F900F90DF91D7 -:10B62000CF911F91FF90EF90DF90CF90BF90AF90A0 -:10B630009F908F907F906F905F904F903F902F9052 -:10B640000895B694A79497948794220F0496A6E43D -:10B6500083389A0709F021CD20938712B0E28B1628 -:10B660009104A104B10408F459C020E2821A91089F -:10B67000A108B108811438E09306A104B104F8F0E0 -:10B68000A4E09A9EC001112489599D4BFC01329679 -:10B6900025913491F82DEE27F39FD001F29FA10D53 -:10B6A000BE1F0694AE1FBE1F1124FC01C590D4908E -:10B6B000E12CF12CCA1ADB0AE108F10822C0D501FD -:10B6C000C401B695A79597958795FC01EC7FCF01AE -:10B6D0008959914CFC01C590D490FC01329625917A -:10B6E0003491E82DE770E29FC001E39F900D112493 -:10B6F000F3E096958795FA95E1F7C81AD90AE12CF7 -:10B70000F12C4C0D5D1D6E1D7F1D40938C125093CE -:10B710008D1260938E1270938F12A4CDA0E28A2EA8 -:10B72000912CA12CB12CA1CFB694A7949794879477 -:10B73000220F0496E6E483389E0709F01FCD20937C -:10B740008712F0E28F169104A104B10408F459C0E5 -:10B7500020E2821A9108A108B108811438E093060A -:10B76000A104B104F8F0A4E09A9EC0011124895903 -:10B770009D4BFC01329625913491F82DEE27F39FD5 -:10B78000D001F29FA10DBE1F0694AE1FBE1F112453 -:10B79000FC01C590D490E12CF12CCA1ADB0AE10817 -:10B7A000F10822C0D501C401B695A7959795879554 -:10B7B000FC01EC7FCF018959914CFC01C590D490DC -:10B7C000FC01329625913491E82DE770E29FC0018B -:10B7D000E39F900D112433E0969587953A95E1F714 -:10B7E000C81AD90AE12CF12C4C0D5D1D6E1D7F1D70 -:10B7F00040937F1250938012609381127093821253 -:10B8000031CDE0E28E2E912CA12CB12CA1CFAC0138 -:10B81000BD017695679557954795FA01EC7F9F0195 -:10B820002959314CF90145915491F90132966591AC -:10B8300074918770869F9001879F300D1124C901F4 -:10B84000F3E096958795FA95E1F7481B590B60E070 -:10B8500070E0F8CC80E290E0A0E0B0E0C9CCAC01B0 -:10B86000BD017695679557954795FA01EC7F9F0145 -:10B870002959314CF901C590D490F901329645917E -:10B8800054918770849F9001859F300D1124C901C8 -:10B8900023E0969587952A95E1F7C81AD90AE12CF5 -:10B8A000F12C76CE80E290E0A0E0B0E04ACE80EDD0 -:10B8B000C82E87E0D82EE12CF12CDBCC8091D7115B -:10B8C00083FD0FC080913F0D81110BC02091480D69 -:10B8D0003091490D80914B0290914C022817390705 -:10B8E00024F061E080E00C943AF50F94ED3C83EA9B -:10B8F00099E40F946D3C80E00895CF92DF92EF922F -:10B90000FF920F931F93CF93DF937C018B011092D3 -:10B91000A3090E94AF60C5E0DDE0209147023091AD -:10B9200048024091490250914A02F70160817181B9 -:10B93000828193810F943E542C853D854E855F8591 -:10B940000F9444536C877D878E879F87C12CD12CA1 -:10B95000760121E13DE04DE05DE069E07DE0CE0172 -:10B960000E94F1CEDF91CF911F910F91FF90EF9048 -:10B97000DF90CF900C94C5780F931F93CF938C01D9 -:10B98000C62F82EE97E40F946D3CC8010F946D3C76 -:10B99000CC2331F08AE0CF911F910F910C9462611A -:10B9A000CF911F910F91089560E087EF97E40E9477 -:10B9B000BCDC83EF97E40F946D3C8AE00C946261E9 -:10B9C00060E087EF97E40E94BCDC8FEF97E40F9470 -:10B9D0006D3C8AE00C946261EF92FF920F931F938B -:10B9E000CF937C018B01C42F60E087EF97E40E9426 -:10B9F000BCDCC7010F946D3C80E20E946261C8010B -:10BA00000F946D3CCC2341F08AE0CF911F910F91B0 -:10BA1000FF90EF900C946261CF911F910F91FF9076 -:10BA2000EF90089541E0BC018CEE97E40C94ECDCBF -:10BA3000CF93DF93C091DE121092DE12C230B9F1C3 -:10BA400018F4C13041F041C0C430B1F1C530E9F55E -:10BA5000CAE2D8E43FC081111DC00E94D4DC41E09D -:10BA600065E978E48CEB99E40E94ECDC8AE898E4E0 -:10BA70000E9412DD8091A309882319F08CE798E4D5 -:10BA800004C0C093DE1283E798E40E9412DD0E9496 -:10BA9000E0DC1EC08130E1F48091A3098823C1F06D -:10BAA00010924D021092A3090E94AF6011C0109233 -:10BAB0007517C6E4D8E40EC08FE698E49093E309C6 -:10BAC0008093E209C5E3D8E405C0CCE1D8E402C024 -:10BAD000CFE5D8E484E098E40F946D3CCE010F9458 -:10BAE0006D3C8AE0DF91CF910C9462610F931F93BC -:10BAF000CF93DF938B01EA018093DE120E94D4DCA6 -:10BB000041E0B8018CEB99E40E94ECDC209719F03D -:10BB1000CE010E9412DDDF91CF911F910F910C9405 -:10BB2000E0DC0F931F93CF93DF93C82F0F94ED3C6E -:10BB3000C11103C08AEB98E402C08CED98E40F9425 -:10BB40006D3C0F949336DC01CB0188539045AF4F89 -:10BB5000BF4F8093781390937913A0937A13B09387 -:10BB60007B1310927C1310918A0883E080938A08DB -:10BB700081E0809375174CE859E465E979E482E047 -:10BB80000E9476DD8EE799E40E94C195CC2319F0DE -:10BB9000CCEDD8E402C0CAEBD8E401E0809175177F -:10BBA000882309F455C080917C13882309F44CC084 -:10BBB0000F94ED3C87E599E40F946D3C42E459E421 -:10BBC00069E479E482E00E9476DD84E399E40E94EE -:10BBD000C19580917517882321F081E00E94A662AB -:10BBE000F8CF40E050E06AE279E482E00E9476DD3E -:10BBF0008DE199E40E947C950F94BC320E945EDC3A -:10BC00000F94ED3CCE010F946D3C0F949336DC0104 -:10BC1000CB0188539045AF4FBF4F809378139093DB -:10BC20007913A0937A13B0937B1310927C1348E09E -:10BC300059E461E179E482E00E9476DD8AE697E0EA -:10BC40000E94C1950093751781E00E94A662A6CF5D -:10BC500010938A08DF91CF911F910F9108959091D1 -:10BC6000DE12911102C00C9476DD08958F929F929E -:10BC7000AF92BF92CF92DF92EF92FF920F931F93FA -:10BC8000CF93DF9300D01F92CDB7DEB76C017B015D -:10BC90008A01B0907C130F94BC32B11016C0809111 -:10BCA0003F0D811112C06091440D7091450D80913E -:10BCB000460D9091470D0F94B05420914B02309156 -:10BCC0004C02621773070CF4C2C00E945EDC88232A -:10BCD00009F4BDC0BB20A1F10F94ED3C81E19AE4D1 -:10BCE0000F946D3CB0908A0883E080938A0881E0CD -:10BCF0008093751782E08093DE120E94D4DC40E0CE -:10BD000061E07AE48CEB99E40E94ECDC80E30E9431 -:10BD100062618AE00E94626188EF99E40E9412DD0C -:10BD20000E94E0DC8AEE99E40E94C195809175172B -:10BD3000882321F081E00E94A662F8CFB0928A08A1 -:10BD400020E030E0A901F601608171818281938158 -:10BD50000F945A4C882371F080E090E0A0ECB0E49E -:10BD600089839A83AB83BC83BE016F5F7F4FC6011B -:10BD70000E947DDC20E030E0A901F7016081718143 -:10BD8000828193810F945A4C882351F18090101234 -:10BD900090901112A0901212B090131280E090E0D7 -:10BDA000A8ECB1E48093101290931112A093121298 -:10BDB000B093131280E090E0A0EFB1E489839A83FE -:10BDC000AB83BC83BE016F5F7F4FC7010E947DDCE8 -:10BDD0008092101290921112A0921212B09213122D -:10BDE00020E030E0A901F8016081718182819381B6 -:10BDF0000F94A455181674F480E090E0A0E4B0E429 -:10BE000089839A83AB83BC83BE016F5F7F4FC80178 -:10BE10000E947DDC81E08093DE120E94D4DC41E050 -:10BE200063EE79E48CEB99E40E94ECDC89ED99E413 -:10BE30000E9412DD8091A309882319F08BEC99E40C -:10BE400002C082EC99E40E9412DD0E94E0DC20E056 -:10BE500030E0A9016091EE127091EF128091F01222 -:10BE60009091F1120F945A4C87FF0FC080E090E040 -:10BE7000A0E7B2E489839A83AB83BC83BE016F5F82 -:10BE80007F4F8EEE92E10E947DDC80E090E0A8E49E -:10BE9000B2E489839A83AB83BC83AE014F5F5F4F6B -:10BEA00066EE72E182EE92E10E94D49280E090E030 -:10BEB000A0EAB0E489839A83AB83BC83BE016F5F41 -:10BEC0007F4F8AEE92E10E94F6928091EE1290915D -:10BED000EF12A091F012B091F1128093110D909396 -:10BEE000120DA093130DB093140D8093FE0C90933C -:10BEF000FF0CA093000DB093010D8EEF9CE00E940B -:10BF0000D67861E084EB99E40E94BCDC8091BC0BA4 -:10BF100081508093BC0B40E050E06DE37AE485E013 -:10BF20000E942FDE8091BC0B882339F00E948B7D0C -:10BF30008091BC0B81508093BC0B8091E1128823CF -:10BF400051F01092E1128091DF1280932D0D8091BB -:10BF5000E01280932E0D80919F0B823011F40E948D -:10BF6000C0760F9451320F900F900F900F90DF9189 -:10BF7000CF911F910F91FF90EF90DF90CF90BF90E6 -:10BF8000AF909F908F9008958F929F92AF92BF92A3 -:10BF9000CF92DF92EF92FF921F93CF93DF93CDB7B3 -:10BFA000DEB728970FB6F894DEBF0FBECDBF209145 -:10BFB000BC0B211126C17A015B016C0161E08CE9A7 -:10BFC00098E40E94BCDC40E050E064EB78E485E05B -:10BFD0000E942FDE8091D71183FD22C020E030E047 -:10BFE000A901F70160817181828193810F945A4C7C -:10BFF0008823B1F010913F0D111112C020914B0216 -:10C0000030914C028091480D9091490D8217930711 -:10C010003CF40F94ED3C83EA98E40F946D3CF2C03D -:10C020008091BC0B91E0980F9093BC0B9091E81617 -:10C0300092FF06C09B7F9093E8168E5F8093BC0BA7 -:10C040000F94A42E80E1E5E0FDE0A2EEB2E10190C4 -:10C050000D928A95E1F70E94C5788091E1128111D5 -:10C060000FC081E08093E11280912D0D8093DF124B -:10C0700010922D0D80912E0D8093E01210922E0DB6 -:10C0800020E030E0A901F601608171818281938115 -:10C090000F945A4C882319F180913F0D811111C0E2 -:10C0A0006091440D7091450D8091460D9091470D22 -:10C0B0000F94B05420914B0230914C0262177307D9 -:10C0C00074F080E090E0A0E7B2E489839A83AB83C8 -:10C0D000BC83BE016F5F7F4FC6010E947DDC41E0E3 -:10C0E00061E081E00E94BA87811104C0B50182E05D -:10C0F0000F94DD2E20E030E0A901F701608171810D -:10C10000828193810F945A4C811102C011E07AC050 -:10C110000E945EDC182F8823C9F380E090E0A0E73E -:10C12000B2E48D839E83AF83B88780E090E0A0E87F -:10C13000B0EC89839A83AB83BC83BE016B5F7F4F76 -:10C14000CE0101960E947DDC68E873E180E090E01A -:10C150000F94013C8091081290910912A0910A124B -:10C16000B0910B128D839E83AF83B88780E090E0FF -:10C17000A0E8B0E489839A83AB83BC83BE016B5F84 -:10C180007F4FCE0101960E947DDC8090101290902E -:10C190001112A0901212B090131280E090E0A8EC5F -:10C1A000B1E48093101290931112A0931212B093E5 -:10C1B000131280E090E0A4E2B2E48D839E83AF830B -:10C1C000B887F70180819181A281B38189839A83A5 -:10C1D000AB83BC83BE016B5F7F4FCE0101960E9493 -:10C1E0007DDC8092101290921112A0921212B092E5 -:10C1F0001312129A64E670E080E090E00F94013C24 -:10C2000001C010E0812F28960FB6F894DEBF0FBE54 -:10C21000CDBFDF91CF911F91FF90EF90DF90CF9036 -:10C22000BF90AF909F908F9008958F929F92AF9202 -:10C23000BF92CF92DF92EF92FF920F931F93CF9313 -:10C24000DF938B01EA01FC01C080D180E280F380A2 -:10C25000842F0E94D7A89B01AC01C701B6010F949F -:10C26000435329E838E848E85CE30F94C04C4B019D -:10C270005C0186E0809FF001819FF00D1124EC0F9E -:10C28000FD1FEE0FFF1FEE0FFF1FE15DF34FC0809C -:10C29000D180E280F380C430D10514F0C4E0D0E056 -:10C2A00026E0209FC001219F900D11242196C80FE8 -:10C2B000D91FCC0FDD1FCC0FDD1FC15DD34FA701F0 -:10C2C0009601688179818A819B810F944353A501EE -:10C2D00094010F94C04CA70196010F944453DF9131 -:10C2E000CF911F910F91FF90EF90DF90CF90BF9073 -:10C2F000AF909F908F9008958F929F92AF92BF9230 -:10C30000CF92DF92EF92FF920F931F93CF93DF9321 -:10C31000EB018A01FC01C080D180E280F380862F8E -:10C320000E9405A99B01AC01C701B6010F944353BC -:10C3300022EA3CEB46E85CE30F94C04C4B015C0105 -:10C3400086E08C9FF0018D9FF00D1124E00FF11F0E -:10C35000EE0FFF1FEE0FFF1FE15DF34FC080D18096 -:10C36000E280F380C430D10514F0C4E0D0E021961F -:10C3700086E08C9FF0018D9FF00D1124E00FF11FDE -:10C38000EE0FFF1FEE0FFF1FE15DF34FA7019601B8 -:10C3900060817181828193810F944353A50194013F -:10C3A0000F94C04CA70196010F944453DF91CF9195 -:10C3B0001F910F91FF90EF90DF90CF90BF90AF90C3 -:10C3C0009F908F9008958F929F92AF92BF92CF923D -:10C3D000DF92EF92FF92CF93DF93EC018090BF0C3E -:10C3E0009090C00CA090C10CB090C20C20E030E046 -:10C3F000A901C501B4010F945A4C882309F44AC01D -:10C40000C880D980EA80FB80A7019601C501B401EC -:10C410000F945A4C18160CF042C02091DA12309149 -:10C42000DB124091DC125091DD12C701B6010F946E -:10C430005A4C882331F1C092DA12D092DB12E0928A -:10C44000DC12F092DD122091D6123091D712409179 -:10C45000D8125091D912688179818A819B810F9479 -:10C46000C04C9B01AC0160E070E080E89FE30F945A -:10C4700043536093540270935502809356029093F5 -:10C48000570260915402709155028091560290912A -:10C49000570208C060E070E080E89FE303C060E0FE -:10C4A00070E0CB01DF91CF91FF90EF90DF90CF90C4 -:10C4B000BF90AF909F908F90089580E1E2EFFCE0F5 -:10C4C000A5E0BDE001900D928A95E1F708952F92C5 -:10C4D0003F924F925F926F927F928F929F92AF9214 -:10C4E000BF92CF92DF92EF92FF920F931F93CF9361 -:10C4F000DF93CDB7DEB7C05BD1090FB6F894DEBFCE -:10C500000FBECDBF8C019E01235C3F4F2B963FAFEA -:10C510002EAF2B978CE0D9011D928A95E9F78CEC10 -:10C5200097E40F946D3C23E333E343E752E4F801CF -:10C5300060817181828193810F94C04CCA55DF4F15 -:10C54000688379838A839B83C65AD0402DE330E089 -:10C550002C0F3D1F245F3F4FC155DF4F3983288388 -:10C56000CF5AD040AE01435C5F4F6A019FE2892EF3 -:10C570009CE0992E01E010E05401E12CF12CD50152 -:10C580006D917D918D919D915D019B01AC010F9409 -:10C59000915681110EC0F60120813181C8010E2C07 -:10C5A00002C0880F991F0A94E2F7822B932B918384 -:10C5B0008083FFEFEF1AFF0A26E0E216F104F9F696 -:10C5C00038E1830E911C42E0C40ED11CC155DF4FEF -:10C5D00088819981CF5AD040C816D90669F6AFE252 -:10C5E000BCE0C355DF4FB983A883CD5AD040ECE8F7 -:10C5F000F7E4C555DF4FF983E883CB5AD040C655E1 -:10C60000DF4F1882CA5AD0409E012F5F3F4F2D96B0 -:10C610003FAF2EAF2D97C555DF4FE881F981CB5A3B -:10C62000D04085919591A591B491C456DF4F8883F0 -:10C630009983AA83BB83CC59D040C355DF4FA881CF -:10C64000B981CD5AD0406996BFAFAEAF6997ECE4DF -:10C65000F7E46C96FFAFEEAF6C976A961FAE6A97E1 -:10C660006C96EEADFFAD6C97259135914591549147 -:10C67000AC962CAF3DAF4EAF5FAFAC976996AEAD09 -:10C68000BFAD69976D917D918D919C919B01AC019E -:10C690000F949156811163C06A96BFAD6A97BF5FD0 -:10C6A0006A96BFAF6A976C96EEADFFAD6C97349605 -:10C6B0006C96FFAFEEAF6C9769962EAD3FAD699764 -:10C6C0002C5F3F4F69963FAF2EAF6997B63041F66A -:10C6D000C655DF4F3881CA5AD0403F5FC655DF4F3D -:10C6E0003883CA5AD040C555DF4F48815981CB5A4B -:10C6F000D0404C5F5F4FC555DF4F59834883CB5ABD -:10C70000D040C355DF4F88819981CD5AD04048969B -:10C71000C355DF4F99838883CD5AD040363009F016 -:10C720007ACF83E397E40F946D3CC055DF4F0FB68B -:10C73000F894DEBF0FBECDBFDF91CF911F910F9157 -:10C74000FF90EF90DF90CF90BF90AF909F908F9031 -:10C750007F906F905F904F903F902F9008952D960F -:10C76000EEADFFAD2D972CE311922A95E9F7898163 -:10C770009A81AB81BC81C457DF4F88839983AA8398 -:10C78000BB83CC58D0402D813E814F815885C05706 -:10C79000DF4F288339834A835B83C059D040898522 -:10C7A0009A85AB85BC85C857DF4F88839983AA8358 -:10C7B000BB83C858D0402D853E854F855889CC57BE -:10C7C000DF4F288339834A835B83C458D0408989EB -:10C7D0009A89AB89BC89C058DF4F88839983AA8323 -:10C7E000BB83C058D0402D893E894F89588DC4588D -:10C7F000DF4F288339834A835B83CC57D040898DB0 -:10C800009A8DAB8DBC8DEC968CAF9DAFAEAFBFAFAC -:10C81000EC972D8D3E8D4F8D58A1E8962CAF3DAFF6 -:10C820004EAF5FAFE89789A19AA1ABA1BCA1E496F6 -:10C830008CAF9DAFAEAFBFAFE49729AD3AAD4BAD76 -:10C840005CADE0962CAF3DAF4EAF5FAFE0973DA142 -:10C85000CC56DF4F3883C459D0404EA1CB56DF4F62 -:10C860004883C559D0405FA1CA56DF4F5883C65987 -:10C87000D04088A5C956DF4F8883C759D04099A5B5 -:10C88000C856DF4F9883C859D040AAA5C756DF4F76 -:10C89000A883C959D040BBA5C656DF4FB883CA5933 -:10C8A000D040ECA5C556DF4FE883CB59D0402FE2EE -:10C8B0003CE0CC55DF4F39832883C45AD040AE01C9 -:10C8C000435C5F4FC056DF4F59834883C05AD04006 -:10C8D0008CE897E4CE55DF4F99838883C25AD040C5 -:10C8E000CE55DF4FE881F981C25AD040259135916C -:10C8F00045915491A0962CAF3DAF4EAF5FAFA0973E -:10C90000C056DF4FA881B981C05AD0408D919D910A -:10C91000C056DF4FB983A883C05AD0409C0140E085 -:10C9200050E0A8962CAF3DAF4EAF5FAFA897CC5567 -:10C93000DF4F48815981C45AD0402F965FAF4EAF28 -:10C940002F978CE4282E87E4382E00E010E0A8967C -:10C950008CAD9DADAEADBFADA897002E04C0B69511 -:10C96000A795979587950A94D2F780FFEBC1F101BF -:10C9700085919591A591B49163968CAF9DAFAEAF23 -:10C98000BFAF63972F96AEADBFAD2F978D909D90A3 -:10C99000AD90BC90C456DF4F288139814A815B81BC -:10C9A000CC59D040A0966CAD7DAD8EAD9FADA0971B -:10C9B0000F9443532B013C01AC962CAD3DAD4EADD5 -:10C9C0005FADAC9763966CAD7DAD8EAD9FAD63975B -:10C9D0000F9443536B017C01A3019201C301B20187 -:10C9E0000F94C04C2B013C01A7019601C701B60171 -:10C9F0000F94C04C9B01AC01C301B2010F9444538E -:10CA00000F9442569B01AC01CA55DF4F6881798172 -:10CA10008A819B81C65AD0400F943E5420E030E07A -:10CA200040E85FE30F94445367966CAF7DAF8EAFE1 -:10CA30009FAF6797A0962CAD3DAD4EAD5FADA09773 -:10CA40000F94C04C6B017C019B01AC01C457DF4FBC -:10CA5000688179818A819B81CC58D0400F9444535E -:10CA6000C457DF4F688379838A839B83CC58D04037 -:10CA700063962CAD3DAD4EAD5FAD639767966CADE3 -:10CA80007DAD8EAD9FAD67970F94C04C2B013C01DF -:10CA90009B01AC01C057DF4F688179818A819B81FE -:10CAA000C059D0400F944453C057DF4F68837983F7 -:10CAB0008A839B83C059D04067962CAD3DAD4EAD67 -:10CAC0005FAD6797C501B4010F94C04CA4966CAFDD -:10CAD0007DAF8EAF9FAFA4979B01AC01C857DF4FCE -:10CAE000688179818A819B81C858D0400F944453D2 -:10CAF000C857DF4F688379838A839B83C858D040A7 -:10CB0000A7019601A0966CAD7DAD8EAD9FADA097AF -:10CB10000F94C04C9B01AC01CC57DF4F68817981E9 -:10CB20008A819B81C458D0400F944453CC57DF4F27 -:10CB3000688379838A839B83C458D040A301920180 -:10CB400063966CAD7DAD8EAD9FAD63970F94C04C79 -:10CB50009B01AC01C058DF4F688179818A819B813C -:10CB6000C058D0400F944453C058DF4F6883798336 -:10CB70008A839B83C058D040A4962CAD3DAD4EAD6A -:10CB80005FADA497C501B4010F94C04C9B01AC01EB -:10CB9000C458DF4F688179818A819B81CC57D0400E -:10CBA0000F944453C458DF4F688379838A839B83EF -:10CBB000CC57D040A701960163966CAD7DAD8EAD8C -:10CBC0009FAD63970F94C04C9B01AC01EC966CAD8C -:10CBD0007DAD8EAD9FADEC970F944453EC966CAF4A -:10CBE0007DAF8EAF9FAFEC97A7019601C501B40151 -:10CBF0000F94C04C9B01AC01E8966CAD7DAD8EAD41 -:10CC00009FADE8970F944453E8966CAF7DAF8EAF1D -:10CC10009FAFE897A3019201C501B4010F94C04CE6 -:10CC20009B01AC01E4966CAD7DAD8EAD9FADE497FC -:10CC30000F944453E4966CAF7DAF8EAF9FAFE497F3 -:10CC400067962CAD3DAD4EAD5FAD6797E0966CAD90 -:10CC50007DAD8EAD9FADE0970F944453E0966CAFE1 -:10CC60007DAF8EAF9FAFE09720E030E0A901C70114 -:10CC7000B6010F94A45587FD98C1CC56DF4F28818B -:10CC8000C459D040CB56DF4F3881C559D040CA5621 -:10CC9000DF4F4881C659D040C956DF4F5881C75928 -:10CCA000D040C701B6010F94A4551816A4F4CC5671 -:10CCB000DF4FC882C459D040CB56DF4FD882C55908 -:10CCC000D040CA56DF4FE882C659D040C956DF4F20 -:10CCD000F882C759D04020E030E0A901C301B20179 -:10CCE0000F94A45587FD5CC1C856DF4F2881C859F1 -:10CCF000D040C756DF4F3881C959D040C656DF4FA4 -:10CD00004881CA59D040C556DF4F5881CB59D040D1 -:10CD1000C301B2010F94A4551816A4F4C856DF4FEE -:10CD20004882C859D040C756DF4F5882C959D040B1 -:10CD3000C656DF4F6882CA59D040C556DF4F788249 -:10CD4000CB59D0400F5F1F4FB4E02B0E311C2F96F4 -:10CD5000EEADFFAD2F9734962F96FFAFEEAF2F9726 -:10CD60000630110509F0F3CDCE55DF4F288139810A -:10CD7000C25AD0402C5F3F4FCE55DF4F39832883B6 -:10CD8000C25AD040CC55DF4F48815981C45AD04057 -:10CD9000485E5F4FCC55DF4F59834883C45AD0401B -:10CDA000C056DF4F88819981C05AD040C155DF4FAE -:10CDB000A881B981CF5AD0408A179B0709F090CD3E -:10CDC000C856DF4F8881C859D040C756DF4F988179 -:10CDD000C959D040C656DF4FA881CA59D040C55660 -:10CDE000DF4FB881CB59D04089A79AA7ABA7BCA782 -:10CDF000CC56DF4F8881C459D040CB56DF4F988145 -:10CE0000C559D040CA56DF4FA881C659D040C9562F -:10CE1000DF4FB881C759D0408DA39EA3AFA3B8A759 -:10CE2000C457DF4F288139814A815B81CC58D0407B -:10CE300029833A834B835C83C057DF4F8881998174 -:10CE4000AA81BB81C059D0408D839E83AF83B887B0 -:10CE5000C857DF4F288139814A815B81C858D0404B -:10CE600029873A874B875C87CC57DF4F8881998128 -:10CE7000AA81BB81C458D0408D879E87AF87B88B6D -:10CE8000C058DF4F288139814A815B81C058D0402A -:10CE9000298B3A8B4B8B5C8BC458DF4F88819981EF -:10CEA000AA81BB81CC57D0408D8B9E8BAF8BB88F26 -:10CEB000EC962CAD3DAD4EAD5FADEC97298F3A8F22 -:10CEC0004B8F5C8FE8968CAD9DADAEADBFADE89756 -:10CED0008D8F9E8FAF8FB8A3E4962CAD3DAD4EAD38 -:10CEE0005FADE49729A33AA34BA35CA3E0968CAD76 -:10CEF0009DADAEADBFADE09789AF9AAFABAFBCAF64 -:10CF0000CE0101960F94732F892B09F053C0CDA841 -:10CF1000DEA8EFA8F8ACF7FAF094F7F8F0942DA596 -:10CF20003EA54FA558A9C456DF4F688179818A81F3 -:10CF30009B81CC59D0400F94C04C9B01AC01C701E0 -:10CF4000B6010F9443536B017C0129A93AA94BA95F -:10CF50005CA9AC966CAD7DAD8EAD9FADAC970F94DA -:10CF6000C04C9B01AC01C701B6010F9443539B0118 -:10CF7000AC016996AEADBFAD69976D937D938D930E -:10CF80009C9313976A966FAD6A97C655DF4F888159 -:10CF9000CA5AD0400E94B99480E00E94A6627CCB1D -:10CFA00077FA709477F870949FCEF7FAF094F7F8C8 -:10CFB000F09463CE89E397E4B6CBCF92DF92EF9201 -:10CFC000FF92C0902802D0902902E0902A02F090AF -:10CFD0002B02FC0180819181A281B3818093280280 -:10CFE00090932902A0932A02B0932B020E94C18839 -:10CFF000C0922802D0922902E0922A02F0922B02DB -:10D00000FF90EF90DF90CF9008952F923F924F9234 -:10D010005F926F927F928F929F92AF92BF92CF92C8 -:10D02000DF92EF92FF920F931F93CF93DF93CDB7D1 -:10D03000DEB76F970FB6F894DEBF0FBECDBF9C8FE3 -:10D040008B8F7E8F6D8F212C312C0FEF2FEF2F8345 -:10D050003FEF3F874FE4488B53EC598B87E48A8B33 -:10D060002E8A21E030E040E050E0022C04C0220F84 -:10D07000331F441F551F0A94D2F72F8B388F498FC7 -:10D080005A8F42E353E15E874D8710E02F8EAD85C6 -:10D09000BE858D919D91BE87AD87A0E0B0E02F89C0 -:10D0A000388D498D5A8D82239323A423B523892B50 -:10D0B0008A2B8B2B09F0C3C08E890E9405A96B01B6 -:10D0C0007C01812F0E94D7A869877A878B879C87EC -:10D0D000A7019601AB8DBC8D6D917D918D919C9139 -:10D0E0000F9443532B013C0129853A854B855C8580 -:10D0F000ED8DFE8D60817181828193810F94435308 -:10D100004B015C01A3019201C301B2010F94C04C19 -:10D110002B013C01A5019401C501B4010F94C04C41 -:10D120009B01AC01C301B2010F9444530F944256CA -:10D130004B015C01A7019601609156137091571342 -:10D1400080915813909159130F9443536B017C01B4 -:10D1500029853A854B855C856091521370915313F4 -:10D1600080915413909155130F9443532B013C011C -:10D17000A7019601C701B6010F94C04C6B017C0159 -:10D18000A3019201C301B2010F94C04C9B01AC01F9 -:10D19000C701B6010F9444530F94425620E030E08B -:10D1A00040E751E40F943E54A50194010F94445379 -:10D1B0006B017C0180905A1390905B13A0905C13DC -:10D1C000B0905D1320E030E040E85FE3C501B401BA -:10D1D0000F94A4551816FCF4C501B4010F94B05473 -:10D1E0004B015C0116161706180619063CF40F943D -:10D1F0009D47A50194010F94D25203C060E070E0F6 -:10D20000CB010F94614C9B01AC01B601C7010F9497 -:10D2100044536B017C012F85388949895A89B601AD -:10D22000C7010F945A4C87FF0AC00F8D1F83C88611 -:10D23000DB8AEC8AFD8ACF86D88AE98AFA8A1F5F60 -:10D24000163009F024CFFFEF2F1A3F0A26E02216EE -:10D25000310409F005CF3F81E32FF0E0EE0FFF1F0F -:10D26000EE5CFC4E81E090E0002E02C0880F991F1A -:10D270000A94E2F720813181822B932B9183808362 -:10D2800088859B89AC89BD898B839C83AD83BE8354 -:10D29000482F5C816D817E81202F3F8180E090E06E -:10D2A0006F960FB6F894DEBF0FBECDBFDF91CF9162 -:10D2B0001F910F91FF90EF90DF90CF90BF90AF90B4 -:10D2C0009F908F907F906F905F904F903F902F90A6 -:10D2D00008958C3891051CF02CE880E002C0282FBE -:10D2E000892F2093AD098093AE090C9490FA80E1C8 -:10D2F000E5E0FDE0A2EFBCE001900D928A95E1F738 -:10D3000008952F923F924F925F926F927F928F92E9 -:10D310009F92AF92BF92CF92DF92EF92FF920F93C4 -:10D320001F93CF93DF9300D01F921F92CDB7DEB72C -:10D330007C018B016A0119018090050D9090060D0A -:10D34000A090070DB090080DA5019401FC0160812B -:10D350007181828193810F945A4CF1E0FD83811198 -:10D3600012C02091090D30910A0D40910B0D509182 -:10D370000C0DF80160817181828193810F945A4C68 -:10D38000811101C01D82F60140805180628073804E -:10D39000209158023091590240915A0250915B02FB -:10D3A000C301B2010F945A4C882309F455C040922E -:10D3B00058025092590260925A0270925B0220E029 -:10D3C00030E040E05FE360910412709105128091BB -:10D3D0000612909107120F94C04C69837A838B8355 -:10D3E0009C838092F20C9092F30CA092F40CB09279 -:10D3F000F50C8091090D90910A0DA0910B0DB09143 -:10D400000C0D8093F60C9093F70CA093F80CB0934E -:10D41000F90CF60180819181A281B3818093FA0C8D -:10D420009093FB0CA093FC0CB093FD0C8091110D1C -:10D430009091120DA091130DB091140D8093FE0CDC -:10D440009093FF0CA093000DB093010DCE010196B7 -:10D450000E94DDE70E9477E9FD81F1110FC020E015 -:10D4600030E040EC5FE36091081270910912809106 -:10D470000A1290910B120F943E5404C060E070E0C9 -:10D4800080EA91E469837A838B839C83F7018081AE -:10D490009181A281B3818093F20C9093F30CA093BD -:10D4A000F40CB093F50CF80180819181A281B381D5 -:10D4B0008093F60C9093F70CA093F80CB093F90CB2 -:10D4C000F10120813181428153816091FE0C709184 -:10D4D000FF0C8091000D9091010D0F9444536093C7 -:10D4E000FE0C7093FF0C8093000D9093010DCE0104 -:10D4F00001960E94DDE70E9477E90F900F900F9050 -:10D500000F900F90DF91CF911F910F91FF90EF90AF -:10D51000DF90CF90BF90AF909F908F907F906F9053 -:10D520005F904F903F902F9008950E9427A897FDFD -:10D530000CC00E9427A86F3F71058105910509F075 -:10D5400034F40E9427A8862F089580E008958FEF75 -:10D5500008958091321790913317892B39F00E94EA -:10D5600095EA91E0811103C090E001C091E0892F1C -:10D570000895CF93DF93C82FD62F0E94BBA888238E -:10D5800021F0DF91CF910C94A9EA8C2F0E9472A810 -:10D59000811101C08D2FDF91CF9108952F923F927D -:10D5A0004F925F926F927F928F929F92AF92BF92B3 -:10D5B000CF92DF92EF92FF920F931F93CF93DF935F -:10D5C000CDB7DEB7C055D1090FB6F894DEBF0FBE98 -:10D5D000CDBF8CE89CE40F946D3C41E061E081E0BC -:10D5E0000E94BA8781110C94FFF284E50E94BBA8C7 -:10D5F000882329F00E9437A881110E9481A680E02B -:10D6000090E0A0E8BFE380937B1790937C17A093F2 -:10D610007D17B0937E178093EE0C9093EF0CA09340 -:10D62000F00CB093F10C8DEC9CECACE4BEE3809379 -:10D63000771790937817A0937917B0937A1780E0B3 -:10D6400090E0A0E2B1E48093631390936413A093FD -:10D650006513B09366138CE390E09093621380930C -:10D6600061138DEC90E09093601380935F131092A0 -:10D670005E134AE959E969E97EE38FE40E94EB957C -:10D680006BAF7CAF8DAF9EAF60E083E40E94B9EAE0 -:10D690002F968FAF2F9760E08BE40E94B9EA6096D7 -:10D6A0008FAF609782E40E94BBA88823C9F00E94D4 -:10D6B0003BA80F94B054709362136093611361158B -:10D6C000710571F0685271096536710548F06CE8B2 -:10D6D00070E08EE59CE40F94CA3C89E59CE4AEC101 -:10D6E0008CE40E94BBA8882301F10E943BA86B0137 -:10D6F0007C016093771770937817809379179093D4 -:10D700007A1720E030E0A9010F94A45587FD0AC0E4 -:10D7100020E030E040E050E4C701B6010F945A4CDD -:10D7200018161CF481E39CE489C181E50E9472A86B -:10D73000882351F18091321790913317892B09F189 -:10D740000E943BA86B017C016093EE0C7093EF0C80 -:10D750008093F00C9093F10C2DEC3CEC4CE45DE3E9 -:10D760000F94A45587FD0AC020E030E040E751E463 -:10D77000C701B6010F945A4C181634F480E09CE4AB -:10D780005DC185ED9BE45AC183E50E94BBA8882357 -:10D79000C9F00E943BA84B015C012DEC3CEC4CEC29 -:10D7A0005DE30F94A45587FD0AC020E030E040E01F -:10D7B00050E4C501B4010F945A4C181654F48EEA83 -:10D7C0009BE43CC1EDEC8E2EECEC9E2EA92CEEE3FE -:10D7D000BE2E80E50E9472A8882371F180913217D5 -:10D7E00090913317892B19F486E79BE427C1809128 -:10D7F0005E138F5F80935E130E943BA86B017C01D8 -:10D80000609363137093641380936513909366130E -:10D8100020E030E0A9010F94A45587FD0AC020E064 -:10D8200030E048EC51E4C701B6010F945A4C181689 -:10D830001CF48EE49BE402C186E40E94BBA888230A -:10D84000C9F00E943BA86B017C0120E030E040E879 -:10D850005FE30F94A45587FD0AC020E030E040E864 -:10D8600050E4C701B6010F945A4C18164CF485E2E7 -:10D870009BE4E4C0C12CD12C70EEE72E7FE3F72EA1 -:10D88000A7019601C701B6010F94C04C9B01AC01E2 -:10D8900060E070E084E490E40F943E5420917B17A4 -:10D8A00030917C1740917D1750917E170F94C04C9A -:10D8B0002B013C01A5019401C501B4010F94C04C9A -:10D8C000A70196010F94C04C2CEE31E548EB5DE3C7 -:10D8D0000F943E549B01AC01C301B2010F94C04CA4 -:10D8E00060937B1770937C1780937D1790937E17BE -:10D8F00088E40E94BBA8882381F00E943BA80F9473 -:10D90000B0547093601360935F13655A710968385F -:10D91000710518F087EF9AE491C085E50E9472A81E -:10D920008823F1F00F9493366115710581059105F7 -:10D9300011F00F94EB478091321790913317892B98 -:10D9400019F00E943BA804C060E070E088E492E413 -:10D9500060935A1370935B1380935C1390935D13E1 -:10D9600082E50E9472A8811103C083EC9AE466C02C -:10D970008091321790913317892B61F00E9437A85C -:10D980002E969FAF8EAF2E97181619064CF08FE883 -:10D990009AE454C025E230E02E963FAF2EAF2E978A -:10D9A00088E50E94BBA8882369F00E943BA82091CB -:10D9B000A40B3091A50B4091A60B5091A70B0F948F -:10D9C000435308C06091050D7091060D8091070DBD -:10D9D0009091080D609356137093571380935813CA -:10D9E0009093591389E50E94BBA8882379F00E947F -:10D9F0003BA82091A80B3091A90B4091AA0B509104 -:10DA0000AB0B0F944353AB01BC0108C04091090D0F -:10DA100050910A0D60910B0D70910C0D40935213B3 -:10DA200050935313609354137093551386E593E109 -:10DA30000E947273811105C085E69AE40F946D3CD3 -:10DA4000DEC584E40E9472A891E089270F94963A7B -:10DA500020E030E040EA50E460910D0D70910E0D31 -:10DA600080910F0D9091100D0F945A4C87FF15C0A7 -:10DA7000198A1A8A1B8A1C8A80E090E0A0EAB0E426 -:10DA800089839A83AB83BC83BE016F5E7F4FCE01D7 -:10DA900001960E94F6920E945DE23091830B61969E -:10DAA0003FAF61971092830B0E94FF7A84E49AE45F -:10DAB0000F946D3C80916113909162138A319105AE -:10DAC0006CF480915F13909160130E9496A661E0C0 -:10DAD00080E00E943AF5811109C0DAC40E9469E928 -:10DAE00081E00E94BCF38111ECCFD2C41092110DE1 -:10DAF0001092120D1092130D1092140D81E19DE001 -:10DB00000E94D67880915E138823B1F10E9477E954 -:10DB10002091FE0C3091FF0C4091000D5091010DB1 -:10DB200060916313709164138091651390916613F3 -:10DB30000F9444536093FE0C7093FF0C8093000D80 -:10DB40009093010D20E030E040E751E4609108122D -:10DB50007091091280910A1290910B120F943E5409 -:10DB600069837A838B839C83CE0101960E94DDE7D3 -:10DB70000E9477E90E940FD080E2E2E3F3E1DF0147 -:10DB8000282F1D922A95E9F7E2E1F3E1DF01282F22 -:10DB90001D922A95E9F7E2EFF2E1DF011D928A95E5 -:10DBA000E9F70E9477E98091771790917817A09113 -:10DBB0007917B0917A178093FA0C9093FB0CA0938D -:10DBC000FC0CB093FD0C19821A821B821C829E01F0 -:10DBD0002F5F3F4F4AEF5CE066EF7CE082EF9CE016 -:10DBE0000E9481E99E01255C3F4F4AEF5CE066EFB1 -:10DBF0007CE082EF9CE00E9481E92F96BFAD2F97D9 -:10DC0000BB2329F069E07DE085E09DE004C062E58A -:10DC100073E186E593E10E9405E83FAF2C962FAFB4 -:10DC20002C972C96EFAD2C97E7FD1DC4FFADF7FDAB -:10DC30001AC48E2F0E9405A92B013C01CB01D301F0 -:10DC40008FAB98AFA9AFBAAF8FAD0E94D7A8162FF0 -:10DC5000072FF82EE92E462F572F682F792FCE0148 -:10DC6000C7960E947273882309F4FFC320E030E056 -:10DC700040EA50E4B201C3010F944453D62E372E2C -:10DC8000282EC92E862F932DA22DBC2D8BAB9CAB9D -:10DC9000ADABBEAB812F902FAF2DBE2D8FA798AB14 -:10DCA000A9ABBAAB2C962FAD2C9721114AC03FAD32 -:10DCB00031111FC020E030E040EA50E4612F702FA6 -:10DCC0008F2D9E2D0F94445321966FAF219723964D -:10DCD0007FAF239725968FAF259727969FAF2797DE -:10DCE0008FADD42C352C262CC72C882309F4C6C024 -:10DCF00023C0C201D3018BAB9CABADABBEAB20E06C -:10DD000030E040EA50E4612F702F8F2D9E2D0F944C -:10DD100043536FA778AB89AB9AAB9FAD953054F264 -:10DD200021961FAF219723960FAF23972596FFAE1D -:10DD300025972796EFAE2797AFADA5300CF489C095 -:10DD40009DC02C96BFAD2C97B5300CF453C0EFADF1 -:10DD5000E5305CF020E030E040EA50E4B201C3017D -:10DD60000F944353362F272F03C0342D252DC30185 -:10DD7000432F522FBC014BAB5CAB6DAB7EABFFAD09 -:10DD8000F11134C420E030E040EA50E4B201C301B4 -:10DD90000F944353D62E372E282EC92E20E030E084 -:10DDA00040EA50E4612F702F8F2D9E2D0F94445325 -:10DDB0006FA778AB89AB9AAB2FAD222309F452C081 -:10DDC00020E030E040EA50E4612F702F8F2D9E2D2F -:10DDD0000F94435321966FAF219723967FAF2397DC -:10DDE00025968FAF259727969FAF27973FAD353064 -:10DDF00084F144C08FAD81110FC020E030E040E2DB -:10DE000051E46D2D732D822D9C2D0F944353D62EEE -:10DE1000372E282EC92E11C09FAD9530C4F120E0B9 -:10DE200030E040E251E46D2D732D822D9C2D0F9436 -:10DE300043536BAB7CAB8DAB9EAB21961FAF219751 -:10DE400023960FAF23972596FFAE25972796EFAE23 -:10DE5000279762ED862E63E5962E6BE7A62E61E48A -:10DE6000B62E29C021961FAF219723960FAF239777 -:10DE70002596FFAE25972796EFAE279752ED852E74 -:10DE800053E5952E5BEFA52E50E4B52E14C02196D8 -:10DE90001FAF219723960FAF23972596FFAE2597A7 -:10DEA0002796EFAE279742ED842E43E5942E4BEF55 -:10DEB000A42E41E4B42E8BA99CA9ADA9BEA92B9692 -:10DEC0008CAF9DAFAEAFBFAF2B979C01AD01B20140 -:10DED000C3010F944353698B7A8B8B8B9C8B4FA41C -:10DEE00058A869A87AA8A3019201612F702F8F2DDD -:10DEF0009E2D0F9443536D8B7E8B8F8B988F2B961B -:10DF00002CAD3DAD4EAD5FAD2B976091050D709181 -:10DF1000060D8091070D9091080D0F9443532B9699 -:10DF20006CAF7DAF8EAF9FAF2B97A3019201609135 -:10DF3000090D70910A0D80910B0D90910C0D0F94AD -:10DF400043532B013C018D2D932DA22DBC2D898394 -:10DF50009A83AB83BC8321968FAD219723969FAD87 -:10DF600023972596AFAD25972796BFAD27978D832D -:10DF70009E83AF83B8878091771790917817A0918F -:10DF80007917B0917A1789879A87AB87BC872091D8 -:10DF90006302309164024091650250916602C501AE -:10DFA000B4010F94C04C20917B1730917C174091A5 -:10DFB0007D1750917E170F94C04C2091110D309118 -:10DFC000120D4091130D5091140D0F9444536D8711 -:10DFD0007E878F87988B2B962CAD3DAD4EAD5FAD78 -:10DFE0002B97CA01B9010F94C04C6B017C01A301AE -:10DFF0009201C301B2010F94C04C9B01AC01C70157 -:10E00000B6010F94445320E030E040E050E40F9418 -:10E01000A45518160CF047C00E940FD01BA21CA2DA -:10E020001DA21EA220E030E040E05FE360910D0DF4 -:10E0300070910E0D80910F0D9091100D0F9444531F -:10E040006F8F78A389A39AA39E012D5D3F4FAE01E8 -:10E05000415E5F4F69E07DE085E09DE00E9481E9DF -:10E060001BA21CA21DA21EA220E030E040E05FE344 -:10E0700060917717709178178091791790917A173E -:10E080000F9444536F8F78A389A39AA39E012D5DAB -:10E090003F4FAE01415E5F4FBE01615D7F4FCE01DC -:10E0A000C3960E9481E91F8E18A219A21AA29E018E -:10E0B000215E3F4F47E757E1BE01615D7F4FCE01D3 -:10E0C000C3960E9481E90E943BD040902802509064 -:10E0D000290260902A0270902B02E0900012F090CA -:10E0E00001120091021210910312A090FC11B09045 -:10E0F000FD11C090FE11D090FF119501A601B7014E -:10E10000C8010F94A455181614F47501860120E077 -:10E1100030E040E251E4B701C8010F943E546093EF -:10E1200028027093290280932A0290932B0240E0E8 -:10E13000BE016F5E7F4FCE0101960F94F30C4092AB -:10E1400028025092290260922A0270922B020E94A9 -:10E1500077E9A1E0B0E02496BFAFAEAF2497212CC1 -:10E16000312C022D2396BFAD23972796BFAF27975B -:10E17000C12CD12C7601C394022C04C0CC0CDD1C24 -:10E18000EE1CFF1C0A94D2F7812C912C540183942D -:10E1900004C0880C991CAA1CBB1CBA95D2F78C2809 -:10E1A0009D28AE28BF28E1E0F0E0022C02C0EE0F6F -:10E1B000FF1F0A94E2F72696FFAFEEAF269722EFF5 -:10E1C000622E22E1722E32E3432E33E1532E22E1FE -:10E1D00033E122963FAF2EAF229710E029965FAE33 -:10E1E0004EAE2997D2018D919C91A0E0B0E088219C -:10E1F0009921AA21BB2188159905AA05BB0509F01B -:10E2000077C02296AEADBFAD22978D919C91A0E0D4 -:10E21000B0E08C219D21AE21BF21892B8A2B8B2B35 -:10E2200009F066C0802F0E9405A920E030E040E0A0 -:10E2300050E40F9444536BA77CA78DA79EA7279605 -:10E240008FAD27970E9405A920E030E040E050E420 -:10E250000F9443536BA37CA38DA39EA34AE351E089 -:10E2600061E070E0CE018B960E946BD0812F0E94FE -:10E27000D7A820E030E040E85FE30F945A4C87FDD8 -:10E280006FC1812F0E94D7A820E030E84AE953E40B -:10E290000F94A45518160CF468C1812F0E94D7A8BA -:10E2A0006F8F78A389A39AA36FA378A789A79AA74A -:10E2B0004AE351E061E070E0CE0183960E946BD0AA -:10E2C0004FA158A569A57AA5CE018B960E947273BD -:10E2D000811150C12296EEADFFAD229780819181D0 -:10E2E00026962EAD3FAD2697822B932B918380836C -:10E2F00032E0430E511C2996AEADBFAD29978D91EA -:10E300009C91A0E0B0E08C219D21AE21BF21892B02 -:10E310008A2B8B2B09F485C0B1E0B10F2896BFAFD3 -:10E320002897F20180819181A0E0B0E08C219D21AD -:10E33000AE21BF21892B8A2B8B2B09F472C0F301EC -:10E3400080819181A0E0B0E08C219D21AE21BF2190 -:10E35000892B8A2B8B2B09F064C0812F0E94D7A8B0 -:10E3600020E030E040E050E40F9444536FA378A7DE -:10E3700089A79AA728968FAD28970E94D7A820E052 -:10E3800030E040E050E40F9443536F8F78A389A3AB -:10E390009AA3802F0E9405A920E030E040E85FE3C7 -:10E3A0000F945A4C87FDFFC0802F0E9405A920E0E2 -:10E3B00030E04DE953E40F94A45518160CF4F8C05E -:10E3C000802F0E9405A96BA37CA38DA39EA36BA79E -:10E3D0007CA78DA79EA745E351E061E070E0CE01E8 -:10E3E00087960E946BD045E351E061E070E0CE017A -:10E3F0004F960E946BD04FA158A569A57AA5CE0172 -:10E400008B960E9472738111D8C0D3018D919C911B -:10E4100011972696EEADFFAD26978E2B9F2B8D93F1 -:10E420009C931F5FF2E06F0E711C22962EAD3FADE4 -:10E4300022972E5F3F4F22963FAF2EAF2297163086 -:10E4400009F0CCCE3FEF231A330A24968EAD9FAD50 -:10E450002497019624969FAF8EAF249796E02916B5 -:10E46000310409F07ECE0E948D622E96AEADBFAD16 -:10E470002E9711972E96BFAFAEAF2E97AB2B41F0D4 -:10E480002C96BFAD2C97B7FD03C0EFADE7FFB5CB22 -:10E490006FEF89E59AE40F94B0310E940FD080E0CD -:10E4A00090E0A0EAB0E48093FA0C9093FB0CA09368 -:10E4B000FC0CB093FD0C19821A821B821C829E01F7 -:10E4C0002F5F3F4F4AEF5CE066EF7CE082EF9CE01D -:10E4D0000E9481E98091561390915713A09158138F -:10E4E000B09159138093F20C9093F30CA093F40C19 -:10E4F000B093F50C8091521390915313A091541343 -:10E50000B09155138093F60C9093F70CA093F80CF0 -:10E51000B093F90C19821A821B821C829E012F5F14 -:10E520003F4F4AEF5CE066EF7CE082EF9CE00E94A8 -:10E5300081E96196FFAD6197F093830B0E94FF7AAA -:10E5400060962FAD609721115AC01092AE091092BB -:10E55000AD090E9490FA80E090E00E9496A64FC01C -:10E5600060E070E080E89FE39BCE60E070E88AE9BD -:10E5700093E496CE4F8D58A169A17AA1CE018396DE -:10E580000E947273882309F4A5CE9E01215E3F4F3D -:10E59000AE014D5D5F4FBE01695D7F4FCE018B9631 -:10E5A0000F94413397CE60E070E080E89FE30BCF9B -:10E5B00060E070E08DE993E406CF4F8D58A169A12A -:10E5C0007AA1CE0183960E947273882309F41DCF2D -:10E5D0009E01215E3F4FAE014D5D5F4FBE01695D03 -:10E5E0007F4FCE018B960F9441330FCFFFADD42CCC -:10E5F000352C262CC72CF5300CF0E2CBCFCBC05BF2 -:10E60000DF4F0FB6F894DEBF0FBECDBFDF91CF91C5 -:10E610001F910F91FF90EF90DF90CF90BF90AF9040 -:10E620009F908F907F906F905F904F903F902F9032 -:10E630000895EF92FF920F931F93CF937C018B016C -:10E640004F3F11F4C2E401C0C4E580E20E94626160 -:10E650008C2F0E9462618AE30E946261F7016081EF -:10E6600071818281938142E00E940262F8014081BF -:10E6700051816281738182E09FE40F94B93C62E032 -:10E6800070E080E090E0CF911F910F91FF90EF90AC -:10E690000D9459361F93CF93DF93CDB7DEB72897EC -:10E6A0000FB6F894DEBF0FBECDBF182F6091480D96 -:10E6B0007091490D072E000C880B990B0F94614C3B -:10E6C0006D837E838F8398878091440D9091450D53 -:10E6D000A091460DB091470D89839A83AB83BC838B -:10E6E0004CEFBE016B5F7F4FCE0101960E9419F384 -:10E6F0006091AD097091AE09072E000C880B990B43 -:10E700000F94614C6D837E838F8398878091A909D4 -:10E710009091AA09A091AB09B091AC0989839A8321 -:10E72000AB83BC834FEFBE016B5F7F4FCE01019681 -:10E730000E9419F31F3F41F087E11802F0011124F4 -:10E74000E05CF24F628502C06091AF0970E08AE040 -:10E750009FE40F94CA3C6091AF0970E085E09FE4AC -:10E760000F94CA3C28960FB6F894DEBF0FBECDBFFB -:10E77000DF91CF911F9108952F923F924F925F9218 -:10E780006F927F928F929F92AF92BF92CF92DF92C1 -:10E79000EF92FF920F931F93CF93DF93CDB7DEB726 -:10E7A00063970FB6F894DEBF0FBECDBF898B81E0B3 -:10E7B000809314021A821B821C821D8219861A867B -:10E7C0001B861C8619821D862CE32E873CE13F8721 -:10E7D00046E4488B312C212C50E85A8B8FEB8B8BE5 -:10E7E00091E09887812C912C54016091AD09709132 -:10E7F000AE09072E000C880B990B0F94614C7B011E -:10E800008C019B01AC01632D722D8A899B890F9429 -:10E810005A4C882361F16091A9097091AA098091ED -:10E82000AB099091AC09A989A1110EC0B1E0B983DF -:10E830009701A8010F94A45518160CF019823E2CCC -:10E840002F2C0A8B1B8B13C09701A8010F94A45582 -:10E85000181644F480911402882309F4F0C00F9430 -:10E860005132EDC03E2C2F2C0A8B1B8B19820F943A -:10E8700093366B017C01DC01CB0129853A854B8500 -:10E880005C85821B930BA40BB50BB7FD33C0D7017E -:10E89000C60188519C4FAF4FBF4F89879A87AB877E -:10E8A000BC8780E00E944AF382E19FE40F946D3CB4 -:10E8B00081149104A104B104B9F0D501C401805FB1 -:10E8C000984DAF4FBF4FBC01CD016C197D098E092A -:10E8D0009F0928EE33E040E050E00F94B052CA01A7 -:10E8E000B9010E94D66103C08FE30E9462618AE091 -:10E8F0000E94626180E00E94A6620F94933660934A -:10E90000CA137093CB138093CC139093CD13909133 -:10E91000A9099E83A091AA09AF830091AB09109128 -:10E92000AC09292F3A2FA801632D722D8A899B8962 -:10E930000F9443532B013C0120E030E0A9010F94D8 -:10E94000A45587FF04C077FA709477F87094811407 -:10E950009104A104B104B1F420E030E040E85FE3A9 -:10E96000C301B2010F945A4C87FF18C0B885460105 -:10E970005701BB2399F020E1820E27E2921EA11CD1 -:10E98000B11C0CC020E030E040E450E4C301B2010F -:10E990000F94A455181614F44601570139813323F6 -:10E9A000A9F18A819B81AC81BD81892B8A2B8B2B1C -:10E9B00061F0D701C6012A813B814C815D81821BB8 -:10E9C000930BA40BB50BB7FD21C02E813F81A8018D -:10E9D0006D857E858F8598890F94435320E030E0C4 -:10E9E00040EC5FE30F945A4C87FD34CFD701C6014A -:10E9F000805A9541AF4FBF4F8A839B83AC83BD83C1 -:10EA00009E819D87AF81AE870F87188B80911402FE -:10EA1000882309F41FCF81149104A104B10411F4D7 -:10EA20001886E3CEB0E1CB1AB7E2DB0AE108F108C1 -:10EA3000C818D908EA08FB08F7FCF2CF0BCF809181 -:10EA4000140263960FB6F894DEBF0FBECDBFDF9100 -:10EA5000CF911F910F91FF90EF90DF90CF90BF90DB -:10EA6000AF909F908F907F906F905F904F903F906E -:10EA70002F9008952F923F924F925F926F927F92C4 -:10EA80008F929F92AF92BF92CF92DF92EF92FF92BE -:10EA90000F931F93CF93DF93CDB7DEB764970FB675 -:10EAA000F894DEBF0FBECDBF898B6A8B81E0809367 -:10EAB00014021A821B821C821D8219861A861B86EA -:10EAC0001C8621E0288719821D863CE33E874CE1A5 -:10EAD0004F8756E4588B312C212C80E88B8B9FEB91 -:10EAE0009C8B812C912C54016091480D7091490DA3 -:10EAF000072E000C880B990B0F94614C7B018C0145 -:10EB00009B01AC01632D722D8B899C890F945A4C0B -:10EB1000882361F16091440D7091450D8091460DFF -:10EB20009091470DAA89A1110EC0B1E0B983970158 -:10EB3000A8010F94A45518160CF019823E2C2F2C06 -:10EB40000B8B1C8B13C09701A8010F94A4551816AA -:10EB500044F480911402882309F4F0C00F945132D8 -:10EB6000EDC03E2C2F2C0B8B1C8B19820F949336EF -:10EB70006B017C01DC01CB0129853A854B855C85E5 -:10EB8000821B930BA40BB50BB7FD33C0D701C60195 -:10EB900088519C4FAF4FBF4F89879A87AB87BC87FF -:10EBA00089890E944AF38EE09FE40F946D3C8114A2 -:10EBB0009104A104B104B9F0D501C401805F984D5E -:10EBC000AF4FBF4FBC01CD016C197D098E099F0964 -:10EBD00028EE33E040E050E00F94B052CA01B90192 -:10EBE0000E94D66103C08FE30E9462618AE00E94A6 -:10EBF000626180E00E94A6620F9493366093CA130C -:10EC00007093CB138093CC139093CD139091440DBC -:10EC10009E83A091450DAF830091460D1091470D45 -:10EC2000292F3A2FA801632D722D8B899C890F946F -:10EC300043532B013C0120E030E0A9010F94A4557F -:10EC400087FF04C077FA709477F870948114910468 -:10EC5000A104B104B1F420E030E040E85FE3C30177 -:10EC6000B2010F945A4C87FF18C0B885460157016E -:10EC7000BB2399F020E1820E27E2921EA11CB11C59 -:10EC80000CC020E030E040E450E4C301B2010F9436 -:10EC9000A455181614F44601570139813323A9F1FC -:10ECA0008A819B81AC81BD81892B8A2B8B2B61F062 -:10ECB000D701C6012A813B814C815D81821B930B68 -:10ECC000A40BB50BB7FD21C02E813F81A8016D8536 -:10ECD0007E858F8598890F94435320E030E040EC87 -:10ECE0005FE30F945A4C87FD34CFD701C601805A99 -:10ECF0009541AF4FBF4F8A839B83AC83BD839E8179 -:10ED00009D87AF81AE870F87188B8091140288236F -:10ED100009F41FCF81149104A104B10411F41886E1 -:10ED2000E3CEB0E1CB1AB7E2DB0AE108F108C8187C -:10ED3000D908EA08FB08F7FCF2CF0BCF8091140248 -:10ED400064960FB6F894DEBF0FBECDBFDF91CF91B2 -:10ED50001F910F91FF90EF90DF90CF90BF90AF90F9 -:10ED60009F908F907F906F905F904F903F902F90EB -:10ED70000895EF92FF920F931F93CF93DF938091AB -:10ED800062028F37A0F08F5790914A0D90938E13A7 -:10ED9000992311F02C9A01C02C982091AF0920934F -:10EDA0008D1390910201222369F090950BC09091F0 -:10EDB0008E13891708F02C9890918D13891728F0DD -:10EDC000909102019072909300018F5F8093620294 -:10EDD00090918C1381E0892780938C13809161023C -:10EDE00085301CF411E0180F01C010E0823009F4E6 -:10EDF000B9C054F4882301F1813009F0E8C088E0FB -:10EE000080937B0085E4C5C0843009F4CAC00CF44B -:10EE1000BCC0853009F0DBC090918B13911102C00A -:10EE200080938B1380918B13815080938B13882355 -:10EE300009F4CDC015E0CBC0809160028F5F8031B6 -:10EE40001CF480936002C3C01092600280917E1314 -:10EE5000811113C08091400D9091410D9093430D0D -:10EE60008093420D8091A5099091A6099093A809DD -:10EE70008093A70981E080937E131092410D109238 -:10EE8000400D1092A6091092A509E090420DF09055 -:10EE9000430DF194E194F1088091480D9091490D52 -:10EEA00001E0181619062CF080914A0D811101C05D -:10EEB00000E080910E0290910F0291958195910949 -:10EEC0008E159F053CF442E75EE463E97EE480E052 -:10EED0000E94AED0002389F080910C0290910D0227 -:10EEE000919581959109E816F9063CF445EA5EE4AE -:10EEF00066EC7EE480E00E94AED08091AD099091F6 -:10EF0000AE0901E0181619062CF08091AF098111A5 -:10EF100001C000E02091A7093091A8098091BD09A6 -:10EF20009091BE09821793073CF042E85EE463E9E2 -:10EF30007EE48FEF0E94AED0002309F448C02091F8 -:10EF4000A7093091A80980910A0290910B02281715 -:10EF50003907ECF145EB5EE466EC7EE48FEF0E944E -:10EF6000AED035C080917A0086FD2EC080917800A9 -:10EF7000909179002091400D3091410D820F931FA7 -:10EF80009093410D8093400D22C088E080937B00D8 -:10EF900086E480937C0080917A00806480937A007C -:10EFA00016C080917A0086FD11C080917800909102 -:10EFB00079002091A5093091A609820F931F9093A3 -:10EFC000A6098093A50903C012E001C014E01093C4 -:10EFD00061022091CE133091CF132115310509F430 -:10EFE0003AC0F89490910901927080910801817063 -:10EFF0008093060180910B01121613060CF0809588 -:10F0000082708093090100000000000080910B01D4 -:10F01000809588708093090184E08A950000E9F763 -:10F0200080910B0188708093090180910B019111EF -:10F03000809582708093090178948091CE1390918D -:10F04000CF131216130614F4019701C00196909382 -:10F05000CF138093CE1380917F13882309F44DC082 -:10F0600080915F028E5F8F7780935F02811145C030 -:10F070008CB185FB882780F9C82F80E0D82F80913C -:10F08000030181FDC2604B99C46000918913109106 -:10F090008A130C271D270115110579F100FF07C000 -:10F0A000BE01617077278DEE9EE40F94CA3C01FF8C -:10F0B00008C06C2F6695617070E084EE9EE40F943A -:10F0C000CA3C02FF08C0C2FB662760F970E08BED06 -:10F0D0009EE40F94CA3C88ED9EE40F946D3C109121 -:10F0E0008813612F70E08DE00F94713510951093A7 -:10F0F0008813D0938A13C09389130E94596B80910F -:10F10000201290912112009769F00197909321129B -:10F1100080932012892B31F486EF9EE49093E309CB -:10F120008093E209DF91CF911F910F91FF90EF90B3 -:10F1300008950F930FB70F9300916E000B7F00930C -:10F140006E0078940F930BB70F930CB70F921F922A -:10F150002F933F934F935F936F937F938F939F93DF -:10F16000AF93BF93EF93FF9311240E94B9F6FF91E1 -:10F17000EF91BF91AF919F918F917F916F915F912F -:10F180004F913F912F911F900F900CBF0F910BBF8C -:10F190000F910460F89400936E000F910FBF0F91D0 -:10F1A00018952F923F924F925F926F927F928F921B -:10F1B0009F92AF92BF92CF92DF92EF92FF920F9306 -:10F1C0001F93CF93DF93CDB7DEB729970FB6F8948F -:10F1D000DEBF0FBECDBF1C017B836A8329831F83E3 -:10F1E0000E83FD82EC8227FD10C0022E000C330B33 -:10F1F00039872887398185E03802F0011124E858E1 -:10F20000FC4E84818823E1F008C080917713882325 -:10F2100099F0E1E0F0E0F987E887F1011482E885F0 -:10F22000F985EE0FFF1FEE0FFF1FE058FC4E108216 -:10F230001182128213822EC021E030E039872887A4 -:10F24000FA01C080D180E280F38008851985000F23 -:10F25000111F000F111F00581C4EA7019601F80145 -:10F2600060817181828193810F945A4C882391F03F -:10F27000F801C082D182E282F38211E020E030E026 -:10F28000A901C701B6010F94A45518160CF010E09F -:10F29000F1011483F10184818230F9F0833009F4A3 -:10F2A00001C1813009F023C1E885F985EE0FFF1F08 -:10F2B000EE0FFF1FE058FC4E2081318142815381C7 -:10F2C000EA81FB8160817181828193810F945A4C24 -:10F2D00087FD0DC182E0F101848380915E02882365 -:10F2E00009F493C0F981F7FD90C08F2FFF0F990BA0 -:10F2F0008C011816190614F401E010E0F801E35D22 -:10F30000F24F2081222371F1EA81FB81C080D180FC -:10F31000E280F380880F991F880F991FFC01E05845 -:10F32000FC4E80809180A280B3802C813D81B90108 -:10F3300080E090E00F945F4C2B013C0120E030E036 -:10F3400040E85EE30F94C04C9B01AC01C501B401E1 -:10F350000F9443539B01AC01C701B6010F94A45510 -:10F3600087FD05C0F801E45AFD4F80E81AC023E884 -:10F3700030EC4AEA5EE3C301B2010F94C04C9B013A -:10F38000AC01C501B4010F9443539B01AC01C7010B -:10F39000B6010F94A455045A1D4F87FD04C080E6A2 -:10F3A000F801808332C020E030E040E05FE3C30139 -:10F3B000B2010F94C04C9B01AC01C501B4010F9484 -:10F3C00043539B01AC01C701B6010F94A45587FDBF -:10F3D00002C080E4E5CF2DEC3CEC4CE45FE3C301DC -:10F3E000B2010F94C04C9B01AC01C501B4010F9454 -:10F3F00043539B01AC01C701B6010F94A45587FD8F -:10F4000002C080E2CDCFF801108208851985000F77 -:10F41000111F000F111F980120583C4E3987288773 -:10F42000EC81FD81BF0180E090E00F945F4C9B0177 -:10F43000AC01E885F98560817181828193810F94A7 -:10F4400043539B01AC01EA81FB8160817181828120 -:10F4500093810F94A45587FD14C00F9493366B01CC -:10F460007C012E813F81A8EEB3E00F940453C60EB9 -:10F47000D71EE81EF91EF101C082D182E282F3821A -:10F4800036C00F949336F1010081118122813381BE -:10F49000DC01CB01801B910BA20BB30BB7FD27C086 -:10F4A00083E08483F981FF3F19F04BE35EE402C0FF -:10F4B0004EE45EE462E67EE4898129960FB6F89414 -:10F4C000DEBF0FBECDBFDF91CF911F910F91FF9097 -:10F4D000EF90DF90CF90BF90AF909F908F907F90F4 -:10F4E0006F905F904F903F902F900C94AED02996E4 -:10F4F0000FB6F894DEBF0FBECDBFDF91CF911F9145 -:10F500000F91FF90EF90DF90CF90BF90AF909F90C2 -:10F510008F907F906F905F904F903F902F900895C5 -:10F52000CF92DF92EF92FF926091AD097091AE0998 -:10F5300061157105C1F0C090A909D090AA09E090A9 -:10F54000AB09F090AC0966507109072E000C880BCE -:10F55000990B0F94614C9B01AC01C701B6010F944C -:10F560005A4C87FD09C010926F13109270131092BD -:10F570007113109272131EC020E030E040E050E49E -:10F58000C701B6010F9444530F94B75470936E1390 -:10F5900060936D130F949336DC01CB01805E904431 -:10F5A000AD4FBF4F80936F1390937013A09371135F -:10F5B000B0937213FF90EF90DF90CF900895CF93A8 -:10F5C000DF9310927D1380E090E00E9496A6C5EA3A -:10F5D000D9E0198618860E9490FA80E090E00E9497 -:10F5E00096A610924A0D2C98198618861A86809134 -:10F5F0000201807280930001DF91CF910895CF9234 -:10F60000DF92EF92FF926091480D7091490D611564 -:10F610007105C1F0C090440DD090450DE090460DAD -:10F62000F090470D66507109072E000C880B990B5E -:10F630000F94614C9B01AC01C701B6010F945A4C69 -:10F6400087FD09C01092691310926A1310926B1310 -:10F6500010926C131EC020E030E040E050E4C7017F -:10F66000B6010F9444530F94B7547093681360938A -:10F6700067130F949336DC01CB01805B9C43AF4F43 -:10F68000BF4F8093691390936A13A0936B13B09349 -:10F690006C13FF90EF90DF90CF9008958F929F9220 -:10F6A000AF92BF92CF92DF92EF92FF920F931F9390 -:10F6B000CF93DF93F0E2FF2EE12CAE2DB0E0BD0141 -:10F6C0006F0D711D75956795611103C0EDEBFDE43C -:10F6D00006C06E1511F0F6120BC0E9E3FEE4659169 -:10F6E0007491072E000C880B990B0F94614C62C02B -:10F6F0009B0121503109220F331F220F331FF901C3 -:10F70000E554F24B05911491AB01440F551F440F82 -:10F71000551FFA01E554F24BC591D491801791071A -:10F7200014F4F62ECCCFC817D90714F4E62EC5CFA3 -:10F73000F901E354F24BE590F490FA01E354F24BF3 -:10F74000C590D490BC01601B710B072E000C880B78 -:10F75000990B0F94614C4B015C01B6016E197F0946 -:10F76000072E000C880B990B0F94614C9B01AC0188 -:10F77000C501B4010F94C04C4B015C01C01BD10BFF -:10F78000BE01DD0F880B990B0F94614C9B01AC01FE -:10F79000C501B4010F943E544B015C01B701FF0C4D -:10F7A000880B990B0F94614C9B01AC01C501B4010E -:10F7B0000F944453DF91CF911F910F91FF90EF90E1 -:10F7C000DF90CF90BF90AF909F908F9008958F92D1 -:10F7D0009F92AF92BF92CF92DF92EF92FF920F93E0 -:10F7E0001F93CF93DF93C62F662381F00F94E93CDC -:10F7F0006AE070E08C2F90E00E94F2618DE99DE458 -:10F800000F946D3C80E090E00F94D425F0E4FF2E3F -:10F81000E12CAE2DB0E0BD016F0D711D75956795A2 -:10F82000611103C0EFE9FCE406C06E1511F0F61299 -:10F830000BC0EBE9FDE465917491072E000C880B79 -:10F84000990B0F94614C62C09B0121503109220F2A -:10F85000331F220F331FF901E356F34B0591149127 -:10F86000AB01440F551F440F551FFA01E356F34BEC -:10F87000C591D4918017910714F4F62ECCCFC817F8 -:10F88000D90714F4E62EC5CFF901E156F34BE59004 -:10F89000F490FA01E156F34BC590D490BC01601B83 -:10F8A000710B072E000C880B990B0F94614C4B01C8 -:10F8B0005C01B6016E197F09072E000C880B990BAD -:10F8C0000F94614C9B01AC01C501B4010F94C04C75 -:10F8D0004B015C01C01BD10BBE01DD0F880B990BE6 -:10F8E0000F94614C9B01AC01C501B4010F943E54CF -:10F8F0004B015C01B701FF0C880B990B0F94614C15 -:10F900009B01AC01C501B4010F944453DF91CF9129 -:10F910001F910F91FF90EF90DF90CF90BF90AF902D -:10F920009F908F900895CF93DF93C0E4DDE060E077 -:10F930008A819B810E94E7FB6C837D838E839F83FA -:10F94000C5EAD9E08A819B810E944EFB6C837D834E -:10F950008E839F83A89510927E13DF91CF91089597 -:10F96000CF93C62F0E94BBA8882319F0CF910C9487 -:10F9700095EA8C2FCF9108952F923F924F925F92EC -:10F980006F927F928F929F92AF92BF92CF92DF92AF -:10F99000EF92FF920F931F93CF93DF93CDB7DEB714 -:10F9A000EF970FB6F894DEBF0FBECDBF2DB73EB7B1 -:10F9B0003DA72CA741E061E081E00E94BA87811158 -:10F9C00035C461E086E50E94B0FC8D8B853018F06F -:10F9D00082EF90E579C03D89332321F082ED90E5F7 -:10F9E0000F946D3C6AE080E50E94B0FC182F8CEF0C -:10F9F000810F8F3218F08EEA90E566C060E085E4F2 -:10FA00000E94B9EA811103C082E08FA302C091E095 -:10FA10009FA36091050D7091060D8091070D909147 -:10FA2000080D6D837E838F839887C090090DD090D9 -:10FA30000A0DE0900B0DF0900C0DC986DA86EB866E -:10FA4000FC862091B00B3091B10B4091B20B5091DC -:10FA5000B30B0F944453AB01BC0188E50E94EB95B6 -:10FA60006D877E878F87988B29853A854B855C8546 -:10FA70006091B40B7091B50B8091B60B9091B70B60 -:10FA80000F944453AB01BC0189E50E94EB95698B4F -:10FA90007A8B8B8B9C8BBE016F5E7F4FCE010D9658 -:10FAA0000E94F9AA811103C086E990E50DC08CE49B -:10FAB0000E9472A8082F882381F00E9495EA8A8FFD -:10FAC000803128F083E690E50F946D3CAFC3AA8D9A -:10FAD000A13021F4B2E0BA8F01C01A8E60E083E554 -:10FAE0000E94B9EA8AAB882321F0011102C0E7E045 -:10FAF000EA8FFD89F33020F089E490E50F946D3CA6 -:10FB000020918C0B29AF80E00F94963A0E94F891D7 -:10FB1000812F90E09CAB8BABADB7BEB7E4E01E9FEE -:10FB2000A019B10911240FB6F894BEBF0FBEADBF26 -:10FB30002DB73EB72F5F3F4F3BA72AA701E02D8986 -:10FB40004FA1BE016F5E7F4FCE010D960E949D7446 -:10FB50009B01AC010F9491568111D0C20F94933642 -:10FB6000611571058105910511F00F94EB4733EF95 -:10FB70003B8F8FE48C8F93EC9D8F27EC222EA3EF8D -:10FB8000AE8FBFE4BF8FE3ECE8A3F7E4F9A31EA2B6 -:10FB900021E02E8B412C512C32014AA25BA26CA297 -:10FBA0007DA23A8D832F90E0DC011197BFAFAEAFFD -:10FBB000FEA1EF2FF0E0F9A7E8A72BA93CA9E217D7 -:10FBC000F3070CF0B3C23A8D332309F46CC10F94E0 -:10FBD0009D472AE030E040E050E00F94D2520F946D -:10FBE000614C20E030E040EA50E40F94A455181630 -:10FBF0001CF001E010E002C00FEF1FEF0F949D47D3 -:10FC000028E631E040E050E00F94D2520F94614C6E -:10FC10004B015C010F949D4721E230E040E050E051 -:10FC20000F94D2526B5F7F4F8F4F9F4F0F94614C59 -:10FC30006E8B7F8B888F998F8D898430E1F44E890C -:10FC40005F89688D798D8BE390E50F94B93CB501A0 -:10FC5000A40183E390E50F94B93C8DE290E50F9405 -:10FC60006D3C0130110519F483E40E94626189E260 -:10FC700090E50F946D3C312CC801110FAA0BBB0B02 -:10FC80008DAB9EABAFABB8AF832D90E0AEADBFAD4B -:10FC90008A179B070CF007C1BAA9BB2379F06DA99D -:10FCA0007EA98FA998AD0F94614C9B01AC010F9474 -:10FCB000445320E030E040E952E41AC00F949D47DD -:10FCC00024E130E040E050E00F94D252675E7F4F75 -:10FCD0008F4F9F4F0F94614C6B017C016DA97EA9E2 -:10FCE0008FA998AD0F94614C9B01AC01C701B6017F -:10FCF0000F94C04C9B01AC01C501B4010F94445357 -:10FD00004B015C0120E030E044EB53E40F94A45538 -:10FD100018164CF420E030E044EB53E4C501B40184 -:10FD20000F944353EDCF20E030E0A901C501B401A9 -:10FD30000F945A4C87FF0BC020E030E044EB53E4B3 -:10FD4000C501B4010F9444534B015C01ECCF2BED82 -:10FD50003FE049E450E4C501B4010F94C04C20E0F9 -:10FD600030E044E353E40F943E546B017C010F9464 -:10FD700039546EA77FA788AB99AB2091B00B309117 -:10FD8000B10B4091B20B5091B30B6D857E858F8581 -:10FD900098890F9443536AAF7BAF8CAF9DAF2EA56C -:10FDA0003FA548A959A96E897F89888D998D0F949F -:10FDB000C04C9B01AC016AAD7BAD8CAD9DAD0F9489 -:10FDC00044536D837E838F839887C701B6010F9458 -:10FDD00034566EA77FA788AB99AB2091B40B3091B6 -:10FDE000B50B4091B60B5091B70B69897A898B8915 -:10FDF0009C890F9443536B017C012EA53FA548A914 -:10FE000059A96E897F89888D998D0F94C04C9B016B -:10FE1000AC01C701B6010F94445369877A878B8779 -:10FE20009C874BE351E060E070E0CE0105960E94B4 -:10FE30006BD046E351E060E070E0CE0109960E948D -:10FE40006BD0ED89E430F9F44D815E816F81788566 -:10FE50008DE190E50F94B93C49855A856B857C8589 -:10FE60008AE190E50F94B93C40910D0D50910E0D33 -:10FE700060910F0D7091100D87E190E50F94B93CE2 -:10FE80008AE00E94626119821A821B821C82AE0182 -:10FE90004F5F5F4FBE01675F7F4FCE0105960E94A7 -:10FEA000D4923394F1CE01E020E04FA1BE016F5E09 -:10FEB0007F4FCE010D960E949D746B017C01E8A5D9 -:10FEC000F9A5EE0FFF1FEE0FFF1F2AA53BA5E20FBE -:10FED000F31FC601D70180839183A283B3831E8A57 -:10FEE0009601A701B601C7010F949156811102C076 -:10FEF00031E03E8B9601A701B601C7010F949156E0 -:10FF0000811114C110E0812C912C5401EAA5FBA5AC -:10FF100084E0189FE00DF11D112420813181428180 -:10FF20005381C501B4010F9444534B015C011F5F21 -:10FF30009EA1911758F708A519A50F5F1F4FB8018B -:10FF4000012E000C880B990B0F94614C2B013C0186 -:10FF50009B01AC01C501B4010F943E546AA37BA37D -:10FF60008CA39DA32E8D3F8D48A159A1B601C70139 -:10FF70000F945A4C87FF04C0CE8EDF8EE8A2F9A200 -:10FF80002B8D3C8D4D8D522DB601C7010F94A4557C -:10FF9000181624F4CB8EDC8EED8E2F2C312C812C78 -:10FFA000912C5401EAA5FBA5A4E03A9EE00DF11DB9 -:10FFB00011242AA13BA14CA15DA1608171818281A4 -:10FFC00093810F9443539B01AC010F94C04C9B0150 -:10FFD000AC01C501B4010F9444534B015C0133944F -:10FFE000BEA1B315F8F6A30192010F943E540F94ED -:10FFF00042562B013C018D8982508E3708F07AC021 -:020000022000DC -:100000006AE070E0C8010E94F2616BA97CA982E1FC -:1000100090E50F94CA3C0BE717E0F80181918F013E -:10002000882319F00E946261F8CF43E0B601C7014E -:100030000E940262FD89F23009F459C001E817E01C -:10004000D8018D918D01882319F00E946261F8CF4B -:1000500044E06AA17BA18CA19DA10E94026209E8F3 -:1000600017E0F80181918F01882319F00E946261E5 -:10007000F8CF46E0C301B2010E94026202E917E034 -:10008000D8018D918D01882319F00E946261F8CF0B -:1000900043E06E8D7F8D88A199A10E94026209E9DB -:1000A00017E0F80181918F01882319F00E946261A5 -:1000B000F8CF43E06B8D7C8D8D8D922D0E94026276 -:1000C00000EA17E0D8018D918D01882319F00E9474 -:1000D0006261F8CF2E8D3F8D48A159A16B8D7C8D2B -:1000E0008D8D922D0F94435343E00E9402628AE06B -:1000F0000E946261BEA1BF5FBEA35ACDE3EFEB8F4A -:10010000FFE4FC8F23EC2D8F87EC282E33EF3E8FFE -:100110008FE48F8F93EC98A3A7E4A9A31E8A412CA8 -:10012000512C32014AA25BA26CA27DA280E00E9407 -:10013000F973BE89BB2309F46AC087E090E50F9488 -:100140006D3CED89EE2309F44DC009EA17E0D801B2 -:100150008D918D01882319F00E946261F8CF46E0ED -:100160006AA17BA18CA19DA10E94026200EB17E015 -:10017000F80181918F01882319F00E946261F8CF04 -:1001800043E06E8D7F8D88A199A10E94026207EBEA -:1001900017E0D8018D918D01882319F00E946261CA -:1001A000F8CF43E06B8D7C8D8D8D922D0E94026285 -:1001B0000EEB17E0F80181918F01882319F00E945E -:1001C0006261F8CF2E8D3F8D48A159A16B8D7C8D3A -:1001D0008D8D922D0F94435343E00E9402628AE07A -:1001E0000E94626107EC17E0D8018D918D01882390 -:1001F00019F00E946261F8CF46E0C301B2010E948B -:1002000002628AE00E9462618AE00E9462610E944A -:10021000DF9189AD0F94963A0E94D46DECA5FDA5AF -:100220000FB6F894FEBF0FBEEDBF07C02CA53DA5CD -:100230000FB6F8943EBF0FBE2DBF8CA59DA50FB67F -:10024000F8949EBF0FBE8DBFEF960FB6F894DEBF39 -:100250000FBECDBFDF91CF911F910F91FF90EF9017 -:10026000DF90CF90BF90AF909F908F907F906F90D6 -:100270005F904F903F902F9008958F929F92AF92F2 -:10028000BF92CF92DF92EF92FF920F931F93CF9383 -:10029000DF9300D000D0CDB7DEB76FEF7FEF89E4FA -:1002A0000E94C8A8882E6FEF7FEF8AE40E94C8A83A -:1002B000D82E83E40E9472A8C82E8EE40E9472A8F1 -:1002C000A82E8AE50E9472A8982E811105C081E5AA -:1002D0000E9472A8B82E01C0B12CCC2069F000E0B9 -:1002E00010E020E049E05DE065E07DE081E00F9412 -:1002F000A513F22EE32E02C0ED2CF82C8C2D90E0ED -:1003000087FC05C0D094DD1CDD24DD1C01C0D12C90 -:100310008D0D911D019731F4911009C0B11007C0E6 -:10032000A11005C00F94E93C87EE9FE409C085E069 -:100330008F1510F08E15C0F40F94E93C88EC9FE403 -:1003400026960FB6F894DEBF0FBECDBFDF91CF91DA -:100350001F910F91FF90EF90DF90CF90BF90AF90E3 -:100360009F908F900D946D3CCF2C0F2C000CDD08CE -:100370000E2D0E2C000C110BA11021C00E943BA8C9 -:100380009B01AC01BB2099F086E08C9DF0018D9D16 -:10039000F00D1124E00FF11FEE0FFF1FEE0FFF1FF6 -:1003A000E15DF34F608171818281938103C060E0E0 -:1003B00070E0CB010F9444539B01AC0104C020E0DA -:1003C00030E040EC5FE786E08C9DF0018D9DF00D04 -:1003D0001124E00FF11FEE0FFF1FEE0FFF1FE15D75 -:1003E000F34F20833183428353836E2D8F2D2696C6 -:1003F0000FB6F894DEBF0FBECDBFDF91CF911F9136 -:100400000F91FF90EF90DF90CF90BF90AF909F90B3 -:100410008F900C94B994CF92DF92EF92FF920F934A -:100420001F93CF93DF93CDB7DEB72C970FB6F89419 -:10043000DEBF0FBECDBF83E50E9472A8882349F0BE -:100440000E94A9EA182F811106C080E00F94963A05 -:1004500002C010918C0B8091050D9091060DA0911A -:10046000070DB091080D89839A83AB83BC8380917B -:10047000090D90910A0DA0910B0DB0910C0D8D837B -:100480009E83AF83B88780910D0D90910E0DA09142 -:100490000F0DB091100D89879A87AB87BC878CE4CC -:1004A0000E9472A8882309F452C080E00F94963A03 -:1004B0008091321790913317892B21F00E9437A831 -:1004C000082F02C00091750B0E94416D7C01892BA1 -:1004D00091F488EA9FE42C960FB6F894DEBF0FBE25 -:1004E000CDBFDF91CF911F910F91FF90EF90DF90E3 -:1004F000CF900D946D3C07FD07C0802F002E000C9F -:10050000990B8E159F05E4F080E99FE40F946D3CF4 -:10051000B7016150710985E89FE40F94CA3C8AE0F5 -:100520002C960FB6F894DEBF0FBECDBFDF91CF91F2 -:100530001F910F91FF90EF90DF90CF900C9462612C -:1005400060E070E0802F0E944D6D0093750B8CE48D -:100550000E9472A8811105C086E50E9472A88823B6 -:10056000F9F060E084E50E94B0FC90E00E9418ACD5 -:100570008CE79FE40F946D3C0F94D53B811104C030 -:1005800089E79FE40F946D3C6091750B062E000C7B -:10059000770B84E69FE40F94CA3C8AE00E94626174 -:1005A00086E50E9472A8082F0F94D53B882391F00E -:1005B00083E40E9472A88823C1F00E943BA86B01CB -:1005C0007C0180E00F94963AB701A60181E00F9478 -:1005D0007F1A0BC0111102C0002339F00F94ED3CBB -:1005E00085E59FE40F946D3C0DC08AE50E9472A8DA -:1005F000882329F00E943BA840E00F940E3B812FF6 -:100600000F94963A112351F080918C0B811106C002 -:100610000F94E93C86E39FE40F946D3C0F94ED3C0E -:1006200088E29FE40F946D3C80918C0B811103C094 -:1006300087E09DE002C08BE09DE00F946D3C8AE076 -:100640000E9462610F94ED3C8BE19FE40F946D3C3E -:10065000C090BF0CD090C00CE090C10CF090C20CC8 -:1006600020E030E0A901C701B6010F94A455181687 -:1006700044F442E0C701B6010E9402620E947A621D -:1006800004C086E19FE40F946D3C4CE050E065E0CF -:100690007DE0CE0101960F94B657892B81F02C9600 -:1006A0000FB6F894DEBF0FBECDBFDF91CF911F9183 -:1006B0000F91FF90EF90DF90CF900C94D46D2C961B -:1006C0000FB6F894DEBF0FBECDBFDF91CF911F9163 -:1006D0000F91FF90EF90DF90CF9008952F923F926F -:1006E0004F925F926F927F928F929F92AF92BF9242 -:1006F000CF92DF92EF92FF920F931F93CF93DF93EE -:10070000CDB7DEB7AC970FB6F894DEBF0FBECDBF46 -:10071000182F6CA7542EB22EA32E91E3692E94E5C8 -:10072000792E00E080E0812E012E000C99082AEC41 -:10073000210F2BA7FE0131967F01F30132964490E1 -:10074000242C312C2814390409F0A4C081115DC077 -:1007500001115BC0AF92BF9229E234E53F932F9322 -:10076000FF92EF920F94F24BFAA6E9A60F900F902A -:100770000F900F900F900F906701F60181916F011C -:10078000882319F00E946261F8CF1F924F9224E2F1 -:1007900034E53F932F93FF92EF920F94F24B0F901B -:1007A0000F900F900F900F900F906701F6018191BD -:1007B0006F01882319F00E946261F8CF812F0F9496 -:1007C000C429FBA5F7FD1DC026E3221A31083F927C -:1007D0002F928AE194E59F938F93FF92EF920F946B -:1007E000F24B0F900F900F900F900F900F90E9A584 -:1007F000FAA58191FAA7E9A78823B1F00E94626166 -:10080000F6CF88E00F94253C0FC08EE20E94626113 -:10081000EB2DFA2DDF010D900020E9F78A2F8B19BF -:10082000875E0F94253C01E0F301C590D490412CE4 -:10083000F6018491811107C0312C87E2C82ED12C9A -:10084000C418D1080AC00E9462614394FFEFCF1A16 -:10085000DF0A27E24212ECCF0AC0832D90E08C150C -:100860009D052CF480E20E9462613394F6CF5520FE -:1008700069F0812F0E948A60882309F4C7C03CA5D3 -:100880003111C4C08FE094E50F946D3C8AE00E9462 -:10089000626181E0F4E06F0E711C21E2621625E5D1 -:1008A000720609F04ACF8111F5C0AF92BF9282EE75 -:1008B00093E59F938F93CE0101967C019F938F9335 -:1008C0000F94F24B67010F900F900F900F900F90C5 -:1008D0000F905701F50181915F01882319F00E9463 -:1008E0006261F8CF9F928F928DED93E59F938F93E6 -:1008F000FF92EF920F94F24B0F900F900F900F908A -:100900000F900F905701F50181915F01882319F035 -:100910000E946261F8CF812F0F94C4290AEC010F65 -:1009200007FD1BC0C401C6979F938F9383ED93E58A -:100930009F938F93FF92EF920F94F24B0F900F9033 -:100940000F900F900F900F905701F50181915F016B -:10095000882331F00E946261F8CF88E00F94253C33 -:1009600082EC93E50F946D3C552009F44BC0812F28 -:100970000F947B2A811140C0812F0F94E92C88238A -:1009800031F087E10F94253C8AEE93E52CC00031CD -:1009900028F5802F0F943A36092E000CAA0BBB0BBA -:1009A000BF93AF939F938F938EEA93E59F938F931B -:1009B000FF92EF920F94F24B0FB6F894DEBF0FBE8A -:1009C000CDBFF60181916F01882319F00E94626109 -:1009D000F8CF8AEA93E50F946D3C03C087E10F944A -:1009E000253C84EF93E50F946D3C812F0F94E4290F -:1009F0006AE070E00E94F26187E10F94253C812F4C -:100A00000F94032A8AE00E94626144C0F301339686 -:100A1000E491E11121C08BA50F943A36092E000C08 -:100A2000AA0BBB0BBF93AF939F938F938EEF93E56E -:100A30009F938F93FF92EF920F94F24B67010FB643 -:100A4000F894DEBF0FBECDBFF60181916F01882300 -:100A5000D9F00E946261F8CF812F0F94E92C8111A7 -:100A600003C084EF93E507C0812F0F947B2A811187 -:100A70000BC08AEE93E50F946D3C812F0F94E4290F -:100A80006AE070E00E94F261011100CF812F0F94A3 -:100A9000032AFCCEAC960FB6F894DEBF0FBECDBFD6 -:100AA000DF91CF911F910F91FF90EF90DF90CF904A -:100AB000BF90AF909F908F907F906F905F904F907E -:100AC0003F902F9008959F92AF92BF92CF92DF9266 -:100AD000EF92FF920F931F93CF93DF9383E7A82E9C -:100AE00083E0B82E02EF1CE0C5E0DDE094EAC92EF9 -:100AF0009BE0D92E20E8E22E28E0F22E912CF50181 -:100B000081915F010E94BBA8882309F10E943BA844 -:100B1000F7012081211104C020918908222339F096 -:100B2000288139814A815B810F9444530AC0F3E0E4 -:100B30009F1639F0F60120813181428153810F9453 -:100B40004353F801608371838283938309C0888152 -:100B50009981AA81BB81F80180839183A283B383A9 -:100B600093940C5F1F4F2496F4E0CF0ED11C2FEF0F -:100B7000E21AF20A84E09812C2CF40E050E0BA01D3 -:100B800086E40E94EB9520E030E0A9010F94A45583 -:100B9000181684F40E943BA820E030E040E752E4BD -:100BA0000F943E54609328027093290280932A0286 -:100BB00090932B028091D71183FD28C08091BF09AB -:100BC000882321F12091110D3091120D4091130DC8 -:100BD0005091140D6091FE0C7091FF0C8091000DEE -:100BE0009091010D0F9443532091CC093091CD0980 -:100BF0004091CE095091CF090F9444536093CC0992 -:100C00007093CD098093CE099093CF09DF91CF9156 -:100C10001F910F91FF90EF90DF90CF90BF90AF901A -:100C20009F900895CF9384E50E94BBA88823F1F09C -:100C30000E9495EAC82F1816D4F40F94ED3C8DE469 -:100C40000E9462616AE070E08091AD139091AE13F2 -:100C50000E94F2616C2FCC0F770B82ED95E50F941B -:100C6000CA3C8AE00E9462618FEF01C080E0CF91B0 -:100C70000895CF92DF92EF92FF92CF93DF93CDB79B -:100C8000DEB7A0970FB6F894DEBF0FBECDBF80E0F1 -:100C900090E0A8E4B2E489839A83AB83BC8380E0CC -:100CA00090E0A0E2B1E48D839E83AF83B88789870B -:100CB0009A87AB87BC870F94120687FDD4C041E0AA -:100CC00061E081E00E94BA8781110E9423A885E437 -:100CD0000E9472A8882381F00E943BA86B017C01CE -:100CE00020E030E0A9010F94A45587FF0BC0F7FA6C -:100CF000F094F7F8F09406C0C12CD12C80E8E82ECF -:100D000080E4F82EF7FAF094F7F8F094C98ADA8ABA -:100D1000EB8AFC8A8AE50E94BBA8882351F040E058 -:100D200050E0BA018AE50E94EB9569877A878B8744 -:100D30009C8788E50E94BBA8882351F040E050E0E2 -:100D4000BA0188E50E94EB9569837A838B839C8343 -:100D500089E50E94BBA8882351F040E050E0BA0129 -:100D600089E50E94EB956D837E838F83988785E567 -:100D70000E9472A8882329F00E943BA86B017C0185 -:100D800008C0C0906D0BD0906E0BE0906F0BF09090 -:100D9000700B20E030E0A901C701B6010F94A45503 -:100DA00087FF04C0F7FAF094F7F8F094F7FAF0949C -:100DB000F7F8F094CD8ADE8AEF8AF88E198E1A8EB3 -:100DC0001B8E1C8E8CE40E9472A8882329F00E943E -:100DD0003BA86B017C0108C0C090710BD090720BD6 -:100DE000E090730BF090740B20E030E0A901C70194 -:100DF000B6010F94A45587FF04C0F7FAF094F7F8F2 -:100E0000F094CD8EDE8EEF8EF8A262E070E082E488 -:100E10000E94C8A8F82E21E0AE014B5E5F4FBE01D4 -:100E20006F5F7F4FCE0141960E94C4DF8823D9F0C7 -:100E30006F2D81E00E9491DD80E090E0A0EAB1E4B6 -:100E40008D879E87AF87B88B8091BC0B882359F024 -:100E50002F2DAE01435F5F4FBE01635E7F4FCE011A -:100E600049960E9436DEA0960FB6F894DEBF0FBEFC -:100E7000CDBFDF91CF91FF90EF90DF90CF9008959D -:100E8000CF92DF92EF92FF92CF93DF93CDB7DEB791 -:100E90006C970FB6F894DEBF0FBECDBF8CE40E94F6 -:100EA00072A8882381F00E943BA86B017C0120E09E -:100EB00030E0A9010F94A45587FF0BC0F7FAF09416 -:100EC000F7F8F09406C0C12CD12C80E8E82E80E41D -:100ED000F82EF7FAF094F7F8F094C98EDA8EEB8ECC -:100EE000FC8E80E090E0A8E4B2E489839A83AB832F -:100EF000BC8380E090E0A0E2B1E48D839E83AF8369 -:100F0000B88789879A87AB87BC8788E50E94BBA88A -:100F10008823A1F040E050E0BA0188E50E94EB95FB -:100F20002091A40B3091A50B4091A60B5091A70BDB -:100F30000F94435369837A838B839C8389E50E9452 -:100F4000BBA88823A1F040E050E0BA0189E50E94E7 -:100F5000EB952091A40B3091A50B4091A60B5091DD -:100F6000A70B0F9443536D837E838F8398878AE505 -:100F70000E94BBA8882351F040E050E0BA018AE506 -:100F80000E94EB9569877A878B879C87F090E8169B -:100F9000F2FAFF24F0F81D861E861F86188A20E0CC -:100FA000AE01435F5F4FBE016F5F7F4FCE01499639 -:100FB0000E94C4DF882329F1F11023C060E080E0A3 -:100FC0000E9491DD80E090E0A0E8B0E48D8B9E8BE4 -:100FD000AF8BB88F198A1A8A1B8A1C8A1D861E86B7 -:100FE0001F86188A8091BC0B882359F020E0AE013F -:100FF0004B5E5F4FBE016F5E7F4FCE010D960E942C -:1010000036DE6C960FB6F894DEBF0FBECDBFDF9113 -:10101000CF91FF90EF90DF90CF9008950F94ED3C2B -:1010200082EC95E50F946D3C83E50E9472A88823BD -:1010300021F00E94A9EA8093440280914402811128 -:1010400003C087E09DE002C08BE09DE00F946D3C03 -:101050008AEB95E50F946D3C2091A40B3091A50B84 -:101060004091A60B5091A70B60912C0270912D021C -:1010700080912E0290912F020F944453AB01BC013A -:1010800088EB95E50F94B93C2091A80B3091A90B02 -:101090004091AA0B5091AB0B6091340270913502D4 -:1010A00080913602909137020F944453AB01BC01FA -:1010B00085EB95E50F94B93C2091AC0B3091AD0BCD -:1010C0004091AE0B5091AF0B60913C0270913D028C -:1010D00080913E0290913F020F944453AB01BC01BA -:1010E00082EB95E50F94B93C8AEA95E50F946D3C47 -:1010F0002091A40B3091A50B4091A60B5091A70B0A -:1011000060913002709131028091320290913302ED -:101110000F944453AB01BC0188EA95E50F94B93CA8 -:101120002091A80B3091A90B4091AA0B5091AB0BC9 -:10113000609138027091390280913A0290913B029D -:101140000F944453AB01BC0185EA95E50F94B93C7B -:101150002091AC0B3091AD0B4091AE0B5091AF0B89 -:10116000609140027091410280914202909143024D -:101170000F944453AB01BC0182EA95E50F94B93C4E -:101180008AE00C946261882319F00F94ED3C03C04F -:1011900080E20E9462614091EC115091ED116091EA -:1011A000EE117091EF118BE995E50F94B93C4091E8 -:1011B000F0115091F1116091F2117091F31188E9E1 -:1011C00095E50F94B93C4091F4115091F51160915F -:1011D000F6117091F71185E995E50F94B93C4091AE -:1011E000F8115091F9116091FA117091FB1182E997 -:1011F00095E50F94B93C8AE00C9462612F923F927E -:101200004F925F926F927F928F929F92AF92BF9216 -:10121000CF92DF92EF92FF920F931F93CF93DF93C2 -:10122000CDB7DEB72DB63EB684E50E9472A88823FE -:1012300009F441C060E089E40E94B9EA082F61E046 -:1012400070E082E50E94C8A86C0160E070E083E570 -:101250000E94C8A8182F65E470E08CE40E94C8A81A -:101260005C0164EF71E087E50E94C8A82C01990F2A -:1012700066087708812F90E0A816B906CCF01634DE -:10128000A8F40111E2C0812F0E948A60882309F42A -:10129000DCC02CED37E041E060E0812F0F946E035D -:1012A0008AE00E9462618AE00E9462611F5FE2CF71 -:1012B00081E295E524C085E40E9472A88823B1F0FC -:1012C0000E94A9EA80937F1381E895E50F946D3C15 -:1012D00080917F13811103C083E795E502C087E702 -:1012E00095E50F946D3C8AE795E509C083E50E947A -:1012F00072A8882339F00F94E93C88E295E50F94B1 -:101300006D3CEBC060E070E080E50E94C8A88C01F5 -:10131000F82E80E50E94BBA8811107C035E4301784 -:1013200008F4DBC085E4E82E01C0E02E60E089E42B -:101330000E94B9EA582E60E087E50E94B9EA882346 -:1013400009F480C08DB69EB684E695E50F946D3C99 -:101350006801DD248E2D90E08C199D090196EDB772 -:10136000FEB7E81BF90B0FB6F894FEBF0FBEEDBF3A -:101370002DB73EB72F5F3F4F5901E01660F006349E -:1013800040F4511094C0802F0E948A60882309F491 -:101390008EC00F5FF2CF40908A0883E080938A0866 -:1013A00081E0809375174BE455E564E575E582E0CF -:1013B0000E9476DD8BE395E50E94C1957F2CE714B2 -:1013C00018F135E43715F0F0511005C0872D0E9453 -:1013D0008A60811117C0872D0F94DD34682E072D88 -:1013E00010E00C191D090A0D1B1DF80180816816FB -:1013F00049F025E935E040E0652D872D0F946E0317 -:10140000F80160827394DBCF80917517882339F0DF -:1014100068EC70E080E090E00F94013CCFCF409208 -:101420008A080FB6F8949EBE0FBE8DBE56C0F5E476 -:10143000FF1538F025E935E041E0652D8F2D0F943B -:101440006E03F394EF1498F748C0A89527EE37E0A1 -:1014500041E0602F812F0F946E0361E0812F0F9484 -:101460003535E12CF12CEC14FD040CF01CCFA895C3 -:1014700060E0812F0F940635C301B2010F94013C47 -:10148000A89561E0812F0F940635C301B2010F9436 -:10149000013CA89560E0812F0F940635C301B2018D -:1014A0000F94013CA8952FEFE21AF20ADCCF62E01C -:1014B000802F0F94353561E070E080E090E00F946C -:1014C0005936602E712C6C187D08802F0F94DD34F6 -:1014D000F501E60DF71D80835CCF0FB6F8943EBE94 -:1014E0000FBE2DBEDF91CF911F910F91FF90EF9016 -:1014F000DF90CF90BF90AF909F908F907F906F9034 -:101500005F904F903F902F90089563E00C94BBCF75 -:101510009091E109E92FF0E0E653FA4E80839F5F56 -:10152000943018F49093E10902C01092E10980917F -:10153000650B8F5F8093650B0895CF93DF93EC016C -:101540008881882349F18A3039F18D3029F18B3334 -:10155000F9F08091650B8430D8F48091E10920E6A0 -:10156000829FC0011124BE018C51964F0F94F557F4 -:1015700080E00F94880A0F94ED3CBE018DEB96E558 -:101580000F94D63C8AEB96E5DF91CF910D946D3C9C -:1015900080E00E94A662D4CFDF91CF910895CF92D0 -:1015A000DF92EF92FF928AE50E94BBA8882321F187 -:1015B0000E943BA86B017C0120E030E040EA51EC46 -:1015C0000F94A45587FD13C020E030E040EA51E4B9 -:1015D000C701B6010F945A4C18164CF0C092B80BC4 -:1015E000D092B90BE092BA0BF092BB0B8FC00F9464 -:1015F000E93C8DE996E528C088E50E94BBA88823D0 -:1016000049F10E943BA86B017C0120E030E84DE9E4 -:1016100053EC0F94A45587FD13C020E030E84DE94A -:1016200053E4C701B6010F945A4C18164CF0C092FF -:10163000B00BD092B10BE092B20BF092B30B66C03C -:101640000F94E93C8DE796E5FF90EF90DF90CF9007 -:101650000D946D3C89E50E94BBA8882321F10E946E -:101660003BA86B017C0120E030E04BE953EC0F9488 -:10167000A45587FD13C020E030E04BE953E4C701D7 -:10168000B6010F945A4C18164CF0C092B40BD0927D -:10169000B50BE092B60BF092B70B38C00F94E93C53 -:1016A0008DE596E5D1CF0F94ED3C4091B00B509174 -:1016B000B10B6091B20B7091B30B8CE496E50F9473 -:1016C000B93C8AE00E9462614091B40B5091B50B25 -:1016D0006091B60B7091B70B8BE396E50F94B93C14 -:1016E0008AE00E9462614091B80B5091B90B609101 -:1016F000BA0B7091BB0B8AE296E50F94B93C8AE075 -:10170000FF90EF90DF90CF900C946261FF90EF908C -:10171000DF90CF9008958F929F92AF92BF92CF9219 -:10172000DF92EF92FF920F931F93CF931092DD0CF5 -:101730001092DC0C2FE32093AF131092AE13109293 -:10174000AD131092A9131092AA131092AB1310921A -:10175000AC139C01F90190812F5F3F4F9032D1F380 -:101760009E34C9F4818190ED980F9A3020F08D322B -:1017700011F08B3281F4DF0112969D012F5F3F4FF4 -:101780008C9180538A3010F4D901F7CFFD01119666 -:1017900080818032D9F3F093040DE093030D8F0123 -:1017A0000F5F1F4FC0816AE270E0C8010F94EA57D3 -:1017B000009731F0FC01319780818032E1F3118292 -:1017C000CD3429F0C43519F0C73409F000C1F8014F -:1017D00080810F5F1F4F8032D1F380538A3008F031 -:1017E000F6C0C093AF131092AE131092AD134AE03F -:1017F0008091AD139091AE13489F9001499F300D99 -:1018000011243093AE132093AD133196DF0111975D -:101810008C91082E000C990BC097820F931F909308 -:10182000AE138093AD13208120532A3008F3DF01DB -:1018300031962C912032D9F3CD34D1F48E319105EB -:1018400091F03CF48731910571F08C31910581F470 -:101850000AC08537910564F08737910524F0803AF6 -:1018600023E0920729F4B093DD0CA093DC0CAFC009 -:101870001092DD0C1092DC0C1091030DC12CD12CB8 -:101880007601C394FD0131964C91442309F49FC025 -:101890004132A1F4CD3491F48032910579F4F09382 -:1018A000DD0CE093DC0C63E270E0CF010F94EA57AB -:1018B000009709F48CC0FC01108289C041544A3160 -:1018C00008F059C0BF01FB0120816F5F7F4F2032BC -:1018D000D1F330ED320F3A3010F12E3211F4218174 -:1018E0000CC02D3211F02B3259F4218130ED320F22 -:1018F0003A30A8F02E3221F4228120532A3078F099 -:101900002091DC0C3091DD0C232B09F05DC09F0190 -:10191000215031093093DD0C2093DC0C55C09F0120 -:10192000A42FB0E04601570104C0880C991CAA1CE2 -:10193000BB1C4A95D2F7B501A4018090A9139090E1 -:10194000AA13A090AB13B090AC13482959296A2967 -:101950007B294093A9135093AA136093AB13709300 -:10196000AC132115310511F0211B01C020E0A15756 -:10197000BC4E2C930AC02091DC0C3091DD0C232B43 -:1019800021F4B093DD0CA093DC0C208121542A318A -:1019900010F4DF0177CFAF01FA01DA012D91222394 -:1019A000C1F330ED320F3A3010F4AD01F5CF33ED25 -:1019B000320F3230D0F32B32C1F3FA014F5F5F4F59 -:1019C00020812032D1F3E5CF20E030E0A9CFCF91C4 -:1019D0001F910F91FF90EF90DF90CF90BF90AF904D -:1019E0009F908F9008952F923F924F925F926F92A7 -:1019F0007F928F929F92AF92BF92CF92DF92EF929F -:101A0000FF920F931F93CF93DF93CDB7DEB7C454EC -:101A1000D1090FB6F894DEBF0FBECDBF9AA789A734 -:101A20007CAB6BAB142FDB018D909D90AD90BC9087 -:101A300013972401350177FA709477F8709414960F -:101A4000CD90DD90ED90FC901797A701960150582E -:101A5000298F3A8F4B8F5C8FA3019201C301B20192 -:101A60000F94C04C69A37AA38BA39CA3298D3A8DB4 -:101A70004B8D5C8DCA01B9010F94C04C9B01AC0128 -:101A800069A17AA18BA19CA10F9444530F94425653 -:101A90006DAB7EAB8FAB98AF80910D0D90910E0D1D -:101AA000A0910F0DB091100D89A39AA3ABA3BCA375 -:101AB0002091050D3091060D4091070D5091080DB4 -:101AC0002D8B3E8B4F8B588FC501B4010F9444531F -:101AD00021966CAF7DAF8EAF9FAF21978091090D9E -:101AE00090910A0DA0910B0DB0910C0D8DA39EA3AA -:101AF000AFA3B8A79C01AD01C701B6010F94445331 -:101B000025966CAF7DAF8EAF9FAF2597A9A5BAA5DF -:101B10002D913D914D915C912BA73CA74DA75EA7C0 -:101B200021962CAD3DAD4EAD5FAD21976BA57CA54B -:101B30008DA59EA50F9443536B017C01A9A5BAA561 -:101B400014962D913D914D915C9117972FA738AB2D -:101B500049AB5AAB25962CAD3DAD4EAD5FAD25974B -:101B60006FA578A989A99AA90F9443534B015C01E9 -:101B700029A13AA14BA15CA1E9A5FAA560857185CF -:101B8000828593850F9443536D8F7E8F8F8F98A39B -:101B9000A7019601C301B2010F94C04C69AF7AAF9F -:101BA0008BAF9CAFA5019401698D7A8D8B8D9C8D37 -:101BB0000F94C04C9B01AC0169AD7AAD8BAD9CAD6F -:101BC0000F94445369AF7AAF8BAF9CAFA5019401DA -:101BD000C301B2010F94C04C4B015C01A7019601F7 -:101BE000698D7A8D8B8D9C8D0F94C04C9B01AC01BF -:101BF000C501B4010F94435329AD3AAD4BAD5CAD73 -:101C00000F94C3536B017C0120E030E0A9010F94D5 -:101C10005A4C87FF0AC02BED3FE049EC50E4C70166 -:101C2000B6010F9444536B017C012BED3FE049EC6E -:101C300050E4C701B6010F943E5420E030E040EC80 -:101C400051E40F94C04C0F9422540F94B7541B01CD -:101C5000672B19F422242394312C112351F02BEDFE -:101C60003FE049EC50E4C701B6010F9443536B01C8 -:101C70007C0120E030E0A901C701B6010F945A4C65 -:101C8000811123C02BA53CA54DA55EA56D897E893C -:101C90008F89988D0F945A4C811117C02FA538A9A0 -:101CA00049A95AA96DA17EA18FA198A50F945A4C5C -:101CB00081110BC038E1232E312C4BEDC42E4FE0A7 -:101CC000D42E49ECE42E40E4F42E2DA93EA94FA9D0 -:101CD00058ADC701B6010F94C04C4B015C0120E028 -:101CE00030E0A9016D8D7E8D8F8D98A10F945A4C97 -:101CF0008823D9F0A5019401C501B4010F94C04C0B -:101D00004B015C012D8D3E8D4F8D58A1CA01B9014B -:101D10000F94C04C9B01AC01C501B4010F94445316 -:101D20000F9442564B015C010DC020E030E0A90148 -:101D3000C501B4010F94A45587FF04C0B7FAB0944D -:101D4000B7F8B0942FE632E143E85AE3C501B40195 -:101D50000F945A4C87FD0AC22091110D3091120D3B -:101D60004091130D5091140D2D8B3E8B4F8B588F3E -:101D7000C501B4010F94E6540F94B7547EA36DA32C -:101D80006215730510F43EA22DA2ADA1BEA1BD0146 -:101D900080E090E00F945F4C4B015C019B01AC0133 -:101DA000C701B6010F943E546D8F7E8F8F8F98A31D -:101DB0002D893E894F89588DE9A5FAA564857585D9 -:101DC000868597850F944353A50194010F943E5443 -:101DD0006DAB7EAB8FAB98AF2D8D3E8D4F8D58A1E7 -:101DE000CA01B9010F94C04C20E030E040E05FE34D -:101DF0000F94C04C9B01AC0160E070E080E89FE371 -:101E00000F9443536FA778AB89AB9AAB29A13AA142 -:101E10004BA15CA129873A874B875C878D899E8976 -:101E2000AF89B88D8D879E87AF87B88B609145024B -:101E300070914602072E000C880B990B0F94614C91 -:101E4000209128023091290240912A0250912B02C0 -:101E50000F94C04C2AE037ED43E25CE30F94C04C92 -:101E6000698B7A8B8B8B9C8B0F9493369B01AC0187 -:101E700028533F4F4F4F5F4F2BA73CA74DA75EA75F -:101E800022242394312C39E13D8B4DA15EA12416EF -:101E9000350608F025C10E94E8D00F949336DC0186 -:101EA000CB012BA53CA54DA55EA5821B930BA40BD6 -:101EB000B50BB7FD0FC00F9493369B01AC012853AF -:101EC0003F4F4F4F5F4F2BA73CA74DA75EA780E02A -:101ED0000E94A6623D8931503D8B3323E9F12FA545 -:101EE00038A949A95AA9698D7A8D8B8D9C8D0F943B -:101EF000C04C6B017C012D8D3E8D4F8D58A1C301CF -:101F0000B2010F94C04CA70196010F9444536B018A -:101F10007C012FA538A949A95AA9C301B2010F9480 -:101F2000C04C4B015C012D8D3E8D4F8D58A1698DAC -:101F30007A8D8B8D9C8D0F94C04C9B01AC01C5019B -:101F4000B4010F9443532B013C01C601D701898F83 -:101F50009A8FAB8FBC8F66C0B10180E090E00F9488 -:101F60005F4C2D8D3E8D4F8D58A10F94C04C6B0151 -:101F70007C010F943954698F7A8F8B8F9C8FC701A6 -:101F8000B6010F9434564B015C01ABA9BCA9CD90AE -:101F9000DD90ED90FC901397F7FAF094F7F8F09439 -:101FA00014962D913D914D915C9117972D8B3E8B01 -:101FB0004F8B588FA7019601698D7A8D8B8D9C8DE3 -:101FC0000F94C04C2B013C012D893E894F89588DBF -:101FD000C501B4010F94C04C9B01AC01C301B20117 -:101FE0000F9444532B013C01A7019601C501B40194 -:101FF0000F94C04C6B017C012D893E894F89588D0F -:10200000698D7A8D8B8D9C8D0F94C04C9B01AC019A -:10201000C701B6010F944353698F7A8F8B8F9C8FC2 -:10202000B9E1BD8B21962CAD3DAD4EAD5FAD219795 -:10203000C301B2010F94445369837A838B839C83D9 -:1020400025962CAD3DAD4EAD5FAD2597698D7A8D52 -:102050008B8D9C8D0F9444536D837E838F839887E3 -:1020600029A13AA14BA15CA129873A874B875C87BC -:102070002DA93EA94FA958AD6D857E858F8598897C -:102080000F9444536D877E878F87988BCE0101967E -:102090000E942A88AE01475F5F4FBE016B5F7F4F92 -:1020A000CE0101960E94BD7AC12CD12C90E8E92E78 -:1020B0009FE3F92E8E010F5E1F4F9E01235F3F4F5E -:1020C000AE01475F5F4FBE016B5F7F4FCE01019650 -:1020D0000E94F1CE882321F03FEF231A330AD5CE98 -:1020E00080E1E9A5FAA5DE01119601900D928A958D -:1020F000E1F789A19AA1ABA1BCA189879A87AB8797 -:10210000BC87CE0101960E942A88AE01475F5F4FCF -:10211000BE016B5F7F4FCE0101960E94BD7AC12C3C -:10212000D12C80E8E82E8FE3F82E8E010F5E1F4F32 -:102130009E01235F3F4FAE01475F5F4FBE016B5F64 -:102140007F4FCE0101960E94F1CE29A13AA14BA169 -:102150005CA129873A874B875C8780E1FE01319635 -:10216000A5E0BDE001900D928A95E1F7CC5BDF4FD1 -:102170000FB6F894DEBF0FBECDBFDF91CF911F9198 -:102180000F91FF90EF90DF90CF90BF90AF909F9016 -:102190008F907F906F905F904F903F902F90089519 -:1021A0000F931F93CF938C01C62F85E296E50F9472 -:1021B0006D3CC8010F946D3C8AE30E9462616AE045 -:1021C00070E08C2F90E00E94F261CF911F910F91EF -:1021D0000C947A62EF92FF921F93CF93DF93CDB767 -:1021E000DEB7C454D1090FB6F894DEBF0FBECDBF21 -:1021F00084E40E9472A8882309F44DC18BE196E51E -:102200000F946D3C2091A40B3091A50B4091A60B2F -:102210005091A70B6091050D7091060D8091070DEF -:102220009091080D0F94445369AF7AAF8BAF9CAF78 -:102230002091A80B3091A90B4091AA0B5091AB0BA8 -:102240006091090D70910A0D80910B0D90910C0D0C -:102250000F94445321966CAF7DAF8EAF9FAF219703 -:102260002091AC0B3091AD0B4091AE0B5091AF0B68 -:1022700060910D0D70910E0D80910F0D9091100DCC -:102280000F94445325966CAF7DAF8EAF9FAF2597CB -:10229000CE01C9960F94850A82E196E50F946D3CB4 -:1022A00085E09DE00F94850A8091050D9091060DC3 -:1022B000A091070DB091080D8DA79EA7AFA7B8AB51 -:1022C0008091090D90910A0DA0910B0DB0910C0D0C -:1022D00089AB9AABABABBCAB80910D0D90910E0D61 -:1022E000A0910F0DB091100D8DAB9EABAFABB8AF01 -:1022F00089E096E50F946D3CAE014B5C5F4FBE01EB -:102300006F5C7F4FCE018D960E94BD7ACE018D9677 -:102310000F94850A80E096E50F946D3C8DA59EA5EF -:10232000AFA5B8A989A39AA3ABA3BCA389A99AA96D -:10233000ABA9BCA98DA39EA3AFA3B8A78DA99EA945 -:10234000AFA9B8AD89A79AA7ABA7BCA7CE018196C4 -:102350000E94837ACE0181960F94850A0E94C578E7 -:1023600087EF95E50F946D3C83E7E82E83E0F82E28 -:1023700010E080E20E946261F70181917F010E947A -:1023800062618AE30E946261812F0E9417D50E94D8 -:10239000D6611F5F143069F78AE00E9462618EEE99 -:1023A00095E50F946D3C0E94CD6A8091760B9091DB -:1023B000770BA091780BB091790B898B9A8BAB8BB3 -:1023C000BC8B80917A0B90917B0BA0917C0BB09190 -:1023D0007D0B8D8B9E8BAF8BB88F80917E0B9091F8 -:1023E0007F0BA091800BB091810B898F9A8FAB8F5F -:1023F000BC8F83E00E94F0796D8F7E8F8F8F98A3C2 -:1024000064E0CE0141960E94BBCF2DA53EA54FA50D -:1024100058A969897A898B899C890F944353698368 -:102420007A838B839C8329A93AA94BA95CA96D89DE -:102430007E898F89988D0F9443536D837E838F831C -:1024400098872DA93EA94FA958AD698D7A8D8B8D9E -:102450009C8D0F94435369877A878B879C87209143 -:10246000110D3091120D4091130D5091140D6D8D81 -:102470007E8D8F8D98A10F9443536D877E878F87B4 -:10248000988B85EE95E50F946D3C64E0CE01019646 -:102490000E94BBCF04C00E94C5780E94D46DCC5B63 -:1024A000DF4F0FB6F894DEBF0FBECDBFDF91CF91E7 -:1024B0001F91FF90EF9008954F925F926F927F92DD -:1024C0008F929F92AF92BF92CF92DF92EF92FF9244 -:1024D0000F931F93CF93DF93CDB7DEB77C014DB63B -:1024E0005EB66090030D7090040D8DB69EB66AE0E6 -:1024F00070E0C7010F949D4B6C01009721F08C0197 -:102500000E191F0904C0C7010F94A84B8C01C80104 -:1025100001962DB73EB7281B390B0FB6F8943EBF76 -:102520000FBE2DBF8DB79EB701965C01A801B70104 -:102530000F94C94BF501E00FF11F1082C5010F94F4 -:102540008B0B81E00E94EC4AC114D10451F076015A -:102550009FEFE91AF90A0FB6F8949EBE0FBE8DBE22 -:10256000C4CF0FB6F8949EBE0FBE8DBEC3010F94AC -:102570008B0B0FB6F8945EBE0FBE4DBEDF91CF91B0 -:102580001F910F91FF90EF90DF90CF90BF90AF9091 -:102590009F908F907F906F905F904F900895CF9312 -:1025A000DF93C091640B80E6C89FE0011124CC51F9 -:1025B000D64F8091D71180FF05C00F94ED3CCE011E -:1025C0000E948062CE010F948B0B80E0DF91CF914F -:1025D0000C94EC4AFC01208131816217730714F4DA -:1025E0007183608308953F924F925F926F927F92C2 -:1025F0008F929F92AF92BF92CF92DF92EF92FF9213 -:102600000F931F93CF93DF93D82EC62E342E422ED6 -:10261000062F10E036E0732EE82EF12CE801789EAC -:10262000C00DD11D1124CC0FDD1FCC0FDD1FC15DEE -:10263000D34F688179818A819B819B01AC010F9482 -:1026400091568823E1F1532C5D0C642C6C0C272DE2 -:10265000352D3203F0011124E60DF11D67FCFA95CA -:10266000EE0FFF1FEE0FFF1FE15DF34F80809180A3 -:10267000A280B380A5019401C501B4010F949156C5 -:1026800081111DC0232D250D640C372D2303F0016E -:102690001124E60DF11D67FCFA95EE0FFF1FEE0FFA -:1026A000FF1FE15DF34F4080518062807380A30182 -:1026B0009201C301B2010F949156882311F080E07A -:1026C00032C0A3019201C501B4010F945A4C87FF97 -:1026D00005C088829982AA82BB820EC0A50194019E -:1026E000C501B4010F944453A30192010F944353C5 -:1026F000688379838A839B8386E08E9DF0018F9D1A -:10270000F00D1124E00FF11FEE0FFF1FEE0FFF1F62 -:10271000E15DF34F20813181428153816C2D8D2DFC -:102720000E94B99481E0DF91CF911F910F91FF90AA -:10273000EF90DF90CF90BF90AF909F908F907F9061 -:102740006F905F904F903F9008952F923F924F92DD -:102750005F926F927F928F929F92AF92BF92CF9231 -:10276000DF92EF92FF920F931F93CF93DF93CDB73A -:10277000DEB7EA970FB6F894DEBF0FBECDBF8BA7CA -:102780007DA76CA75FA74EA728AB1AAB09AB8FEF4D -:102790008E8F8E8D8D8F83EF9FE4A3ECB7EC8F8FA0 -:1027A00098A3A9A3BAA38CA59DA5FC01E080F18004 -:1027B0000281138188A9882349F08091B00B909100 -:1027C000B10BA091B20BB091B30B03C080E090E0CD -:1027D000DC019C01AD01C801B7010F944453DC0139 -:1027E000CB018F839887A987BA878EA59FA5FC0107 -:1027F000E080F1800281138188A9882349F08091CB -:10280000B40B9091B50BA091B60BB091B70B03C070 -:1028100080E090E0DC019C01AD01C801B7010F949C -:102820004453DC01CB018B879C87AD87BE878FEF3C -:102830009FE4A3ECB7E489839A83AB83BC831D82B6 -:102840008D8186300CF0D3C11E828E8186300CF0D3 -:10285000CAC18BA5882329F58D81282F880F330BBA -:102860008E81482F880F550BC901880F991F820F41 -:10287000931F880F991F840F951F880F991F880F2A -:10288000991F815D934FFC0180819181A281B38169 -:102890009C01AD01BC01CD010F949156882309F034 -:1028A00057C08BA5813021F58D81282F880F330BE0 -:1028B0008E81482F880F550BC901880F991F820FF1 -:1028C000931F880F991F840F951F880F991F880FDA -:1028D000991F815D934FFC0180819181A281B38119 -:1028E0009C01AD01BC01CD010F949156882381F16B -:1028F0008BA5823079F52E813D8189A99AA99A8B81 -:10290000898B388B2F878F85882F90E0880F991FB0 -:1029100029893A89820F931FFC0180819181CC0122 -:10292000A0E0B0E02889222F30E004C0B695A7953A -:10293000979587952A95D2F781709927AA27BB2763 -:1029400021E0892B8A2B8B2B09F420E0222311F024 -:1029500081E001C080E0882309F441C18D810E949B -:1029600005A9DC01CB018BA39CA3ADA3BEA38E81E3 -:102970000E94D7A8DC01CB018FA398A7A9A7BAA76B -:1029800088A9882361F09E01295D3F4FCE0183967F -:10299000B9010E94F9AA982F81E089270FC08FA161 -:1029A00098A5A9A5BAA59E012D5D3F4FAC01BD011B -:1029B000C9010E947273982F81E08927882309F04A -:1029C0000DC18BA19CA1ADA1BEA19C01AD016F81E8 -:1029D000788589859A850F944353DC01CB016C017E -:1029E0007D018BA19CA1ADA1BEA19C01AD016F8118 -:1029F000788589859A850F944353DC01CB019C012E -:102A0000AD01C701B6010F94C04CDC01CB016C01D4 -:102A10007D018FA198A5A9A5BAA59C01AD016B85E3 -:102A20007C858D859E850F944353DC01CB018BAB58 -:102A30009CABADABBEAB8FA198A5A9A5BAA59C01D7 -:102A4000AD016B857C858D859E850F944353DC019C -:102A5000CB019C01AD016BA97CA98DA99EA90F9406 -:102A6000C04CDC01CB019C01AD01C701B6010F9444 -:102A70004453DC01CB01BC01CD010F944256DC0173 -:102A8000CB018B8B9C8BAD8BBE8B8091050D909178 -:102A9000060DA091070DB091080D2BA13CA14DA1F1 -:102AA0005EA1BC01CD010F944353DC01CB016C014D -:102AB0007D018091050D9091060DA091070DB091BB -:102AC000080D2BA13CA14DA15EA1BC01CD010F942D -:102AD0004353DC01CB019C01AD01C701B6010F944A -:102AE000C04CDC01CB016C017D018091090D9091FE -:102AF0000A0DA0910B0DB0910C0D2FA138A549A581 -:102B00005AA5BC01CD010F944353DC01CB018FAB1F -:102B100098AFA9AFBAAF8091090D90910A0DA0911D -:102B20000B0DB0910C0D2FA138A549A55AA5BC01DC -:102B3000CD010F944353DC01CB019C01AD016FA982 -:102B400078AD89AD9AAD0F94C04CDC01CB019C01EE -:102B5000AD01C701B6010F944453DC01CB01BC01A8 -:102B6000CD010F944256DC01CB012DEC3CEC4CEC3A -:102B70005DE3BC01CD010F94C04CDC01CB019C0195 -:102B8000AD016B897C898D899E890F944453DC014A -:102B9000CB018B8B9C8BAD8BBE8B29813A814B817A -:102BA0005C816B897C898D899E890F945A4C88231E -:102BB000B4F48B899C89AD89BE8989839A83AB8360 -:102BC000BC838D818D8F8E818E8F89819A81AB811F -:102BD000BC818F8F98A3A9A3BAA301C000008E81E6 -:102BE0008F5F8E8332CE8D818F5F8D8329CE86E07D -:102BF000FE017D96DE01579601900D928A95E1F7D0 -:102C000050E05F8940E0488D30E0398D20E02A8D2A -:102C100090E09B8D80E08C8D252E342E432E522EFD -:102C2000692E782EA22CB32CC42CD52CE62CF72C94 -:102C3000082D192D2A2D3B2D4C2D5D2D6E2D7F2D10 -:102C4000802F912FEA960FB6F894DEBF0FBECDBF4E -:102C5000DF91CF911F910F91FF90EF90DF90CF9078 -:102C6000BF90AF909F908F907F906F905F904F90AC -:102C70003F902F9008952F923F924F925F926F92C4 -:102C80007F928F929F92AF92BF92CF92DF92EF92FC -:102C9000FF920F931F93CF93DF93CDB7DEB7A49727 -:102CA0000FB6F894DEBF0FBECDBF19821A828FEF28 -:102CB000888F888D8F8B8FEF9FE4A3ECB7EC898F83 -:102CC0009A8FAB8FBC8F1B828B8186300CF054C1E6 -:102CD0001C828C8186300CF04BC18B81282F880F91 -:102CE000330B8C81482F880F550BC901880F991F12 -:102CF000820F931F880F991F840F951F880F991FAC -:102D0000880F991F815D934FFC0180819181A28181 -:102D1000B38111E09C01AD01BC01CD010F9491562E -:102D2000882309F410E0112309F41EC18B810E944D -:102D300005A9DC01CB018D8F9E8FAF8FB8A38C814D -:102D40000E94D7A8DC01CB0189A39AA3ABA3BCA3A3 -:102D50009E012F5D3F4FCE014D96B9010E94F9AA09 -:102D6000982F81E08927882309F0FDC081E08983BD -:102D70008FEF8D838FEF8E8383EF9FE4A3ECB7E417 -:102D80008F839887A987BA871B868B8586300CF03E -:102D9000C9C01C868C8586300CF0C0C08B85282F5E -:102DA000880F330B8C85482F880F550BC901880F6E -:102DB000991F820F931F880F991F840F951F880FEB -:102DC000991F880F991F815D934FFC01808191812C -:102DD000A281B38110E09C01AD01BC01CD010F9433 -:102DE0009156882309F411E0112309F493C081E07E -:102DF0008A838B81282F880F330B8B85082E000C3C -:102E0000990BA901481B590B8B81282F880F330B75 -:102E10008B85082E000C990BB901681B790BCB012F -:102E2000489F9001499F300D589F300D11248C818F -:102E3000482F880F550B8C85082E000C990BBA0172 -:102E4000681B790B8C81482F880F550B8C85082EB9 -:102E5000000C990B481B590B649FC001659F900D96 -:102E6000749F900D1124820F931F092E000CAA0B42 -:102E7000BB0BBC01CD010F94614CDC01CB01BC014B -:102E8000CD010F9442566B017C010F949336DC0107 -:102E9000CB012FE230E040E050E0BC01CD010F94C7 -:102EA000B052DC01CB010D96A11DB11DBC01CD01BD -:102EB0000F945F4CDC01CB019C01AD0160E070E040 -:102EC00080E89FE30F943E54DC01CB019C01AD01EF -:102ED000C701B6010F944453DC01CB018D879E8757 -:102EE000AF87B88B2F81388549855A856D857E855A -:102EF0008F8598890F945A4C882364F48D859E851C -:102F0000AF85B8898F839887A987BA878B818D838E -:102F10008C818E838C858F5F8C873CCF8B858F5F78 -:102F20008B8733CF8A818823F9F08D818823E4F061 -:102F3000898D9A8DAB8DBC8D2F81388549855A85B9 -:102F4000BC01CD010F945A4C882374F48F8198856D -:102F5000A985BA85898F9A8FAB8FBC8F8D818F8B16 -:102F60008E81888F01C000008C818F5F8C83B1CEF1 -:102F70008B818F5F8B83A8CE9A8181E089278823FC -:102F800079F08981882361F083E08F8B83E0888FDB -:102F900080E090E0A0E8BFE3898F9A8FAB8FBC8F71 -:102FA00086E0FE017796DE01519601900D928A959A -:102FB000E1F750E0598940E04A8930E03B8920E060 -:102FC0002C8990E09D8980E08E89252E342E432E19 -:102FD000522E692E782EA22CB32CC42CD52CE62C84 -:102FE000F72C082D192D2A2D3B2D4C2D5D2D6E2DE6 -:102FF0007F2D802F912FA4960FB6F894DEBF0FBEC1 -:10300000CDBFDF91CF911F910F91FF90EF90DF9097 -:10301000CF90BF90AF909F908F907F906F905F9078 -:103020004F903F902F90089581E09091C51391119A -:1030300001C080E00D94963A80918C0B8093C5136B -:1030400080E00D94963A1F93CF93DF93CDB7DEB710 -:1030500027970FB6F894DEBF0FBECDBF198210922E -:10306000BF131092C0131092C1131092C21310928A -:10307000BE131092BD1388E50E94BBA88093C413B1 -:103080008091C413882329F00E943BA8DC01CB0166 -:1030900008C08091050D9091060DA091070DB0918B -:1030A000080D8093B9139093BA13A093BB13B093F8 -:1030B000BC1389E50E94BBA88093C3138091C313FE -:1030C000882329F00E943BA8DC01CB0108C0809135 -:1030D000090D90910A0DA0910B0DB0910C0D8093EC -:1030E000B5139093B613A093B713B093B81382E5BA -:1030F0000E9472A8882331F1809132179091331782 -:1031000021E0892B09F420E0222319F00E9437A83E -:1031100002C084E290E09093BE138093BD1364E2FA -:1031200070E08DEB93E10F94EA128091BD139091C2 -:10313000BE131816190634F085E298E50F946D3C1D -:1031400081E088C186E50E9472A8882319F00E9458 -:1031500037A802C080E090E09093C7138093C61315 -:103160008091C6139091C713992334F08091C613B0 -:103170009091C713059734F08CEF97E50F946D3C51 -:1031800081E0898380E50E9472A88823E1F00E9493 -:1031900037A89B838A838A819B819093B413809301 -:1031A000B3138091B3139091B413992334F08091A9 -:1031B000B3139091B413079734F08CED97E50F9407 -:1031C0006D3C81E089838AE40E9472A8882359F1CA -:1031D000809132179091331721E0892B09F420E078 -:1031E000222319F00E9437A802C080E090E090935B -:1031F000C9138093C8138091C8139091C913892B68 -:1032000091F08091C8139091C913029734F0809186 -:10321000C8139091C9130A9734F082EB97E50F9485 -:103220006D3C81E089839091C4138091C3139817FA -:1032300031F088E897E50F946D3C81E089838091B7 -:10324000B9139091BA13A091BB13B091BC1311E0C4 -:1032500020E030E0A901BC01CD010F94A4558823E2 -:103260000CF410E081E081278823C1F48091B91328 -:103270009091BA13A091BB13B091BC1311E020E060 -:1032800030E04DE953E4BC01CD010F945A4C1816BF -:103290000CF410E081E08127882361F080E090E069 -:1032A000ADE1B3E48093B9139093BA13A093BB1329 -:1032B000B093BC138091B5139091B613A091B7133E -:1032C000B091B81311E020E030E0A901BC01CD01BC -:1032D0000F94A45588230CF410E081E08127882303 -:1032E000C1F48091B5139091B613A091B713B0912A -:1032F000B81311E020E030E04BE953E4BC01CD010C -:103300000F945A4C18160CF410E081E081278823A2 -:1033100061F080E090E0ABE1B3E48093B51390936B -:10332000B613A093B713B093B8138981882311F013 -:1033300081E090C081E40E9472A8882389F084E42F -:103340000E9472A8882331F085E597E50F946D3CC3 -:1033500081E080C081E00F94963A0F947C3C0AC0D3 -:1033600084E40E9472A8882329F080E00F94963AA2 -:103370000F947C3C83E40E9472A88093B2138091E6 -:10338000B213882361F00E943BA8DC01CB0180933B -:10339000BF139093C013A093C113B093C21386E4DC -:1033A0000E94BBA88823D1F10E943BA8DC01CB017D -:1033B0008C839D83AE83BF8311E020E030E0A901C0 -:1033C0006C817D818E819F810F94A45588230CF49C -:1033D00010E081E08127882391F411E020E030E0C3 -:1033E00048EC52E46C817D818E819F810F945A4C10 -:1033F00018160CF410E081E08127882331F08CE16D -:1034000097E50F946D3C81E025C08C819D81AE8154 -:10341000BF8141E0BC01CD010F940E3B60E070E044 -:1034200084E50E94C8A89093B1138093B013809153 -:10343000B0139091B113992334F08091B01390910F -:10344000B113039734F088E097E50F946D3C81E069 -:1034500001C080E027960FB6F894DEBF0FBECDBF47 -:10346000DF91CF911F9108958F929F92AF92BF925B -:10347000EF92FF920F931F93CF93DF938FE2E82E8B -:103480008CE0F82EC0E08701D0E0F80180809180C8 -:10349000A280B380A5019401C501B4010F94915697 -:1034A000811117C02091BF133091C0134091C113F7 -:1034B0005091C213C501B4010F9444539B01AC0158 -:1034C000F80160837183828393836D2F8C2F0E9418 -:1034D000B994DF5F0C5F1F4FD630B9F6CF5FF8E1CC -:1034E000EF0EF11CC63079F6DF91CF911F910F914D -:1034F000FF90EF90BF90AF909F908F9008952F9284 -:103500003F924F925F926F927F928F929F92AF9273 -:10351000BF92CF92DF92EF92FF920F931F93CF93C0 -:10352000DF93CDB7DEB72A970FB6F894DEBF0FBE94 -:10353000CDBF8C834D835E836F8378878FE29CE061 -:103540009B838A838C0186E0782E212C312CC12C20 -:10355000D12C76011A861986E985FA85E00FF11FCC -:1035600080809180A280B380A5019401C501B4013F -:103570000F94915681110BC0A5019401C701B601AA -:103580000F9444536B017C019FEF291A390AE98596 -:10359000FA853496FA87E9877897F1F67A94085E87 -:1035A0001F4F7110D7CFB101032C000C880B990B62 -:1035B0000F94614C9B01AC01C701B6010F943E54BE -:1035C0006B017C018FE29CE09A87898796E0998362 -:1035D000812C912C540100E010E0E985FA85E00F80 -:1035E000F11F4080518062807380A3019201C3016A -:1035F000B2010F949156811112C0A7019601C30127 -:10360000B2010F9443539B01AC010F94C04C9B013A -:10361000AC01C501B4010F9444534B015C010C5F34 -:103620001F4F08311105C9F6E981E150E983898509 -:103630009A8548969A878987E111CDCFB1018AECA6 -:1036400096E50F94CA3C8AE00E946261E2EFF7E0DF -:10365000FA87E987E985FA858191FA87E9878823DE -:1036600019F00E946261F6CF46E0C701B6010E94E0 -:1036700002628AE00E946261B1016F5F7F4F072E94 -:10368000000C880B990B0F94614C9B01AC01C50198 -:10369000B4010F943E540F9442564B015C0187ECE9 -:1036A00097E09A878987E985FA858191FA87E98782 -:1036B000882319F00E946261F6CF46E0C501B4018B -:1036C0000E9402628AE00E946261FC81FF23F1F1A4 -:1036D00010E08A819B819A87898700E0E985FA85D5 -:1036E00080809180A280B380A5019401C501B401BE -:1036F0000F94915681111AC02D813E814F815885BA -:10370000C701B6010F9444539B01AC01C501B4013C -:103710000F9443539B01AC01E985FA856083718363 -:1037200082839383602F812F0E94B9940F5F8985D4 -:103730009A8504969A878987063081F61F5FEA8109 -:10374000FB817896FB83EA83163019F62A960FB62A -:10375000F894DEBF0FBECDBFDF91CF911F910F91C7 -:10376000FF90EF90DF90CF90BF90AF909F908F90A1 -:103770007F906F905F904F903F902F900895AF9201 -:10378000BF92CF92DF92EF92FF920F931F93CF934E -:10379000DF93CDB7DEB7A8970FB6F894DEBF0FBEA4 -:1037A000CDBF9BA38AA37DA36CA34EA32FA308A781 -:1037B0000F941C1881E00E94F97384E289838EA122 -:1037C000882331F08091B0139091B1130E9418AC0E -:1037D0008981882F90E025E230E0A901481B590B30 -:1037E000CA019B838A8383EF96E52A813B81B901D5 -:1037F0000F94CA3C81EF96E564E270E00F94CA3CF6 -:103800008DEE96E50F946D3C89ED96E51F9224E2CE -:103810002F932B812F932A812F93292F2F938F93CF -:103820001F920F940B328DB79EB707960FB6F89480 -:10383000DEBF0FBECDBF88A58823C9F00F943B160D -:10384000A22EB32EC42ED52EE62EF72E082F192F1A -:103850002A2D3B2D4C2D5D2D6E2D7F2D802F912FF0 -:103860002C8B3D8B4E8B5F8B688F798F21C04CA149 -:103870005DA18AA19BA100E010E021E0BC0180E0F5 -:103880000F94A513A22EB32EC42ED52EE62EF72EFE -:10389000082F192F2A2D3B2D4C2D5D2D6E2D7F2DA0 -:1038A000802F912F2C8B3D8B4E8B5F8B688F798F68 -:1038B0008C8988230CF45AC08C890E9405A9DC01EC -:1038C000CB018A8F9B8FAC8FBD8F8D890E94D7A82B -:1038D000DC01CB018E8F9F8FA8A3B9A38091C61363 -:1038E0009091C713282F8FA1882311F031E001C0D8 -:1038F00032E0BE01625E7F4FCE014A9601E0432F67 -:103900000E949D74DC01CB018C839D83AE83BF83B9 -:103910008C89282F880F330B8D89482F880F550BE2 -:10392000C901880F991F820F931F880F991F840F59 -:10393000951F880F991F880F991F9C01215D334F98 -:103940008C819D81AE81BF81F90180839183A283A7 -:10395000B3838D89682F8C89782F8C819D81AE816E -:10396000BF819C01AD01872F0E94B9940E948D6296 -:103970008C89882344F089818150898389818823B7 -:1039800011F081E001C080E0882309F018CF80E0C9 -:103990000E94F9730E94B1730F941418188A198A3F -:1039A0001A8A1B8A8CA19DA1FC0180819181A28130 -:1039B000B3812091B40B3091B50B4091B60B50916F -:1039C000B70BBC01CD010F944353DC01CB016C015B -:1039D0007D0160E070E085E090E00E9413AC092E6C -:1039E000000CAA0BBB0BBC01CD010F94614CDC0198 -:1039F000CB019C01AD01C701B6010F945A4C88233D -:103A00008CF460E070E085E090E00E9413AC092E39 -:103A1000000CAA0BBB0BBC01CD010F94614CDC0167 -:103A2000CB0155C08CA19DA1FC0180819181A28117 -:103A3000B3812091B40B3091B50B4091B60B5091EE -:103A4000B70BBC01CD010F944353DC01CB016C01DA -:103A50007D0166E371E081E391E00E940EAC092EE6 -:103A6000000CAA0BBB0BBC01CD010F94614CDC0117 -:103A7000CB019C01AD01C701B6010F94A4551816E6 -:103A80008CF466E371E081E391E00E940EAC092EB4 -:103A9000000CAA0BBB0BBC01CD010F94614CDC01E7 -:103AA000CB0115C08CA19DA1FC0180819181A281D7 -:103AB000B3812091B40B3091B50B4091B60B50916E -:103AC000B70BBC01CD010F944353DC01CB018C87B4 -:103AD0009D87AE87BF878AA19BA1FC0180819181D0 -:103AE000A281B3812091B00B3091B10B4091B20B08 -:103AF0005091B30BBC01CD010F944353DC01CB01BA -:103B00006C017D0160E070E085E090E00E9413AC04 -:103B1000092E000CAA0BBB0BBC01CD010F94614C0C -:103B2000DC01CB019C01AD01C701B6010F945A4CD9 -:103B300088238CF460E070E085E090E00E9413AC94 -:103B4000092E000CAA0BBB0BBC01CD010F94614CDC -:103B5000DC01CB0155C08AA19BA1FC018081918130 -:103B6000A281B3812091B00B3091B10B4091B20B87 -:103B70005091B30BBC01CD010F944353DC01CB0139 -:103B80006C017D016BE371E085E391E00E940EAC76 -:103B9000092E000CAA0BBB0BBC01CD010F94614C8C -:103BA000DC01CB019C01AD01C701B6010F94A45506 -:103BB00018168CF46BE371E085E391E00E940EAC83 -:103BC000092E000CAA0BBB0BBC01CD010F94614C5C -:103BD000DC01CB0115C08AA19BA1FC0180819181F0 -:103BE000A281B3812091B00B3091B10B4091B20B07 -:103BF0005091B30BBC01CD010F944353DC01CB01B9 -:103C000088879987AA87BB87AE01405F5F4F9E0177 -:103C1000245F3F4FCE010896B9010E94D492A89626 -:103C20000FB6F894DEBF0FBECDBFDF91CF911F91CD -:103C30000F91FF90EF90DF90CF90BF90AF900895DD -:103C40002F923F924F925F926F927F928F929F92AC -:103C5000AF92BF92CF92DF92EF92FF920F931F939A -:103C6000CF93DF93CDB7DEB7C359D1090FB6F89420 -:103C7000DEBF0FBECDBF382E8090B00B9090B10B41 -:103C8000A090B20BB090B30B20E030E0A901C501C9 -:103C9000B4010F9444532B013C0120E030E040EA92 -:103CA00050E40F945A4C87FF06C0412C512CF0EA87 -:103CB0006F2EF0E47F2E20E030E84DE953E4C5019B -:103CC000B4010F944453E9966CAF7DAF8EAF9FAFB4 -:103CD000E99720E030E84AE953E40F94A455181618 -:103CE00054F480E090E8AAE9B3E4E9968CAF9DAF84 -:103CF000AEAFBFAFE997C090B40BD090B50BE090DA -:103D0000B60BF090B70B20E030E0A901C701B60177 -:103D10000F9444534B015C0120E030E040EA50E452 -:103D20000F945A4C87FF06C0812C912CE0EAAE2EEE -:103D3000E0E4BE2E20E030E04BE953E4C701B601D9 -:103D40000F944453ED966CAF7DAF8EAF9FAFED9760 -:103D500020E030E848E953E40F94A455181654F4D1 -:103D600080E090E8A8E9B3E4ED968CAF9DAFAEAFEC -:103D7000BFAFED970091C8131091C913DE011196E2 -:103D80007D018CE3FD0111928A95E9F7332009F456 -:103D9000C6C18AE699E50F946D3C88E599E59F9345 -:103DA0008F931F920F940B322091C613412C512CEC -:103DB00067E8662E63E4762E2D964CAE5DAE6EAE51 -:103DC0007FAE2D97812C912C78E4A72E72E4B72E2C -:103DD00021968CAE9DAEAEAEBFAE219701E042E023 -:103DE000BE01675B7F4FCE01CD960E949D74E19628 -:103DF0006CAF7DAF8EAF9FAFE1970F900F900F909C -:103E00009B01AC010F94915681115AC32D964CAE73 -:103E10005DAE6EAE7FAE2D9721968CAE9DAEAEAEF2 -:103E2000BFAE2197BE01675B7F4FCE01CD960E944A -:103E300033A99B01AC01E1966CAD7DAD8EAD9FAD1C -:103E4000E1970F944353E1966CAF7DAF8EAF9FAF78 -:103E5000E1978091C6139091C713049784F080E195 -:103E60000F94253CE1964CAD5DAD6EAD7FADE19715 -:103E70008BE499E50F94B93C8AE00E946261812C41 -:103E8000912C47E8A42E43E4B42E2D968CAE9DAE23 -:103E9000AEAEBFAE2D9780E090E0A8E4B2E42196EC -:103EA0008CAF9DAFAEAFBFAF21979E0123593F4F5F -:103EB000AE01475B5F4FBE01635C7F4FC7010E944D -:103EC000FCA687E399E50F946D3C85E299E59F9305 -:103ED0008F931F920F940B322091C6132D968CAEA8 -:103EE0009DAEAEAEBFAE2D97412C512C5AE7652E3C -:103EF00053E4752E21964CAE5DAE6EAE7FAE21972B -:103F000001E042E0BE01675B7F4FCE01CD960E948B -:103F10009D74E1966CAF7DAF8EAF9FAFE1970F9030 -:103F20000F900F909B01AC010F9491568111C8C264 -:103F30002D968CAE9DAEAEAEBFAE2D9721964CAEFB -:103F40005DAE6EAE7FAE2197BE01675B7F4FCE0147 -:103F5000CD960E9433A99B01AC01E1966CAD7DAD7D -:103F60008EAD9FADE1970F944353E1966CAF7DAF5B -:103F70008EAF9FAFE1978091C6139091C7130497BE -:103F800084F080E10F94253CE1964CAD5DAD6EADC3 -:103F90007FADE19788E199E50F94B93C8AE00E94F2 -:103FA000626180E090E0A7E8B3E42D968CAF9DAF0E -:103FB000AEAFBFAF2D97812C912C2AE7A22E23E420 -:103FC000B22E21968CAE9DAEAEAEBFAE21979E01B5 -:103FD00023593F4FAE01475B5F4FBE01635C7F4F8C -:103FE000C7010E94FCA684E099E50F946D3C82EF26 -:103FF00098E59F938F931F920F940B322091C613D5 -:10400000412C512C38E4632E32E4732E2D964CAEA5 -:104010005DAE6EAE7FAE2D9721968CAE9DAEAEAEF0 -:10402000BFAE219701E041E0BE01675B7F4FCE014B -:10403000CD960E949D74E1966CAF7DAF8EAF9FAF21 -:10404000E1970F900F900F909B01AC010F94915648 -:10405000811136C22D964CAE5DAE6EAE7FAE2D9701 -:1040600021968CAE9DAEAEAEBFAE2197BE01675B12 -:104070007F4FCE01CD960E9433A99B01AC01E19602 -:104080006CAD7DAD8EAD9FADE1970F944353E1963E -:104090006CAF7DAF8EAF9FAFE1978091C6139091CB -:1040A000C713049784F080E10F94253CE1964CAD52 -:1040B0005DAD6EAD7FADE19785EE98E50F94B93CAF -:1040C0008AE00E94626180E090E0A8E4B2E42D966C -:1040D0008CAF9DAFAEAFBFAF2D9780E090E0AAE769 -:1040E000B3E421968CAF9DAFAEAFBFAF21979E01D9 -:1040F00023593F4FAE01475B5F4FBE01635C7F4F6B -:10410000C7010E94FCA6312C80E00E94F9730E9436 -:10411000B173332009F4C6C18AEB98E5D6C1C30157 -:10412000B2010F94B054CE57DF4F79836883C258E1 -:10413000D040C501B4010F94B054CC57DF4F798300 -:104140006883C458D040B80161507109072E000C33 -:10415000880B990B0F94614C2B013C01009F90013F -:10416000019F300D300D1124EF963FAF2EAFEF972A -:10417000212C31E0CF57DF4F3883C158D040D12CAC -:10418000E2961FAEE297312CCE57DF4F888199819E -:10419000C258D040092E000CAA0BBB0BC657DF4FEC -:1041A00088839983AA83BB83CA58D040CC57DF4FFA -:1041B00088819981C458D040092E000CAA0BBB0BF2 -:1041C000C257DF4F88839983AA83BB83CE58D040E0 -:1041D000CE56DF4FE882C259D040CD56DF4FF8822D -:1041E000C359D040022D10E08091C8139091C9139B -:1041F000081719070CF056C1E9966CAD7DAD8EAD70 -:104200009FADE9970F94B054CE57DF4FA881B98185 -:10421000C258D0406A1B7B0B072E000C880B990BF1 -:104220000F94614CA30192010F943E544B015C0129 -:10423000B801110F880B990B0F94614C9B01AC01D5 -:10424000C501B4010F94C04C4B015C01C657DF4F50 -:10425000688179818A819B81CA58D0400F94614CD2 -:104260009B01AC01C501B4010F9444532D966CAF72 -:104270007DAF8EAF9FAF2D97CF57DF4FA880C1582E -:10428000D040BD2C9DE8892E98E5992EFA2CCF5769 -:10429000DF4FB881C158D040FB1ACF2C0F2C000C37 -:1042A000DD080091C8131091C913C016D1060CF097 -:1042B000E9C0C257DF4F688179818A819B81CE58DE -:1042C000D0400F94614CCA57DF4F688379838A834B -:1042D0009B83C658D040E296EFADE297EE2351F0B3 -:1042E000B801615071096C197D09072E000C880B0B -:1042F000990B05C06F2DFF0C770B880B990B0F9452 -:10430000614C6B017C01ED966CAD7DAD8EAD9FADCA -:10431000ED970F94B054CC57DF4F28813981C458A2 -:10432000D040621B730B072E000C880B990B0F9467 -:10433000614CA30192010F943E54A70196010F9482 -:10434000C04CCA57DF4F288139814A815B81C658EA -:10435000D0400F94445321966CAF7DAF8EAF9FAF8A -:10436000219731108BC0B50186EA98E50F94AC3CDB -:10437000EF966EAD7FADEF9784EA98E50F94AC3C75 -:1043800081EA98E50F946D3CEF963FADEF973F9330 -:10439000EE968FADEE978F93BF92AF929F928F92D2 -:1043A0001F920F940B321091C61385E40E9472A8DD -:1043B0000FB6F894DEBF0FBECDBF811102C042E040 -:1043C00001C041E001E0212FBE01635C7F4FCE01BF -:1043D000875B9F4F0E949D74E1966CAF7DAF8EAF5F -:1043E0009FAFE197332433949B01AC010F94915616 -:1043F000811101C0312CBE01635C7F4FCE01875B10 -:104400009F4F0E9433A99B01AC01E1966CAD7DAD3D -:104410008EAD9FADE1970F944353E1966CAF7DAFA6 -:104420008EAF9FAFE1978091C6139091C713049709 -:1044300084F080E10F94253CE1964CAD5DAD6EAD0E -:104440007FADE19780E898E50F94B93C8AE00E943F -:1044500062619E0123593F4FAE01435C5F4FBE0135 -:10446000675B7F4FCE56DF4F8881C259D040CD5613 -:10447000DF4F9881C359D0400E94FCA6BFEFAB1A12 -:10448000BB0A04CF81E0E296EFADE297E827E2961F -:10449000EFAFE2972394CF57DF4FA882C158D040A7 -:1044A000DB2CA0CE80E00E94F9730E94B173311022 -:1044B0000AC0CE0101960F94732F892B21F408C0F6 -:1044C0003324339421CE88E698E50F946D3CC5C122 -:1044D00089A99AA9ABA9BCA94DA55EA56FA578A984 -:1044E000A5964CAF5DAF6EAF7FAFA597A9968CAF89 -:1044F0009DAFAEAFBFAFA99780E090E0A0E8BFE36B -:10450000AD968CAF9DAFAEAFBFAFAD97CE018F591B -:104510009F4F0F94BE2D8091C6139091C7130397A0 -:104520007CF105E018E0D8018D918D01882319F008 -:104530000E946261F8CFA5966CAD7DAD8EAD9FAD4A -:10454000A59747E00E9402628CE20E946261A996F0 -:104550006CAD7DAD8EAD9FADA99747E00E94026224 -:104560008CE20E946261AD966CAD7DAD8EAD9FAD6B -:10457000AD9747E00E94026285E698E50F946D3C96 -:1045800089A99AA9ABA9BCA9CDA4DEA4EFA4F8A8D7 -:104590006996CCAEDDAEEEAEFFAE69976D968CAF90 -:1045A0009DAFAEAFBFAF6D97812C912C80E8A82E48 -:1045B0008FE3B82EA1968CAE9DAEAEAEBFAEA197E6 -:1045C000CE018B5A9F4F0F94BE2D2D968CAE9DAE73 -:1045D000AEAEBFAE2D9761961CAE1DAE1EAE1FAE29 -:1045E0006197F7FAF094F7F8F0946596CCAEDDAEEB -:1045F000EEAEFFAE6597CE01875B9F4F0F94BE2D49 -:1046000069968CAD9DADAEADBFAD6997E5968CAFAB -:104610009DAFAEAFBFAFE59761968CAD9DADAEAD32 -:10462000BFAD6197E9968CAF9DAFAEAFBFAFE997D5 -:104630006D964CAC5DAC6EAC7FAC6D972D968CAD31 -:104640009DADAEADBFAD2D97ED968CAF9DAFAEAF2E -:10465000BFAFED97A1968CAC9DACAEACBFACA197B3 -:104660006596CCACDDACEEACFFAC6597A7019601CE -:10467000C301B2010F94C04CC358DF4F68837983E4 -:104680008A839B83CD57D040A5019401E9966CADF8 -:104690007DAD8EAD9FADE9970F94C04C9B01AC01F1 -:1046A000C358DF4F688179818A819B81CD57D04083 -:1046B0000F94435321966CAF7DAF8EAF9FAF219780 -:1046C000A5019401ED966CAD7DAD8EAD9FADED97DE -:1046D0000F94C04C4B015C01A7019601E5966CADAF -:1046E0007DAD8EAD9FADE5970F94C04C9B01AC01A5 -:1046F000C501B4010F94435325966CAF7DAF8EAFC7 -:104700009FAF2597E9962CAD3DAD4EAD5FADE997D6 -:10471000E5966CAD7DAD8EAD9FADE5970F94C04C29 -:104720006B017C01ED962CAD3DAD4EAD5FADED97CF -:10473000C301B2010F94C04C9B01AC01C701B6018B -:104740000F94435329966CAF7DAF8EAF9FAF2997DF -:10475000CE01CD960F94BE2D65968CAD9DADAEADC0 -:10476000BFAD6597E9968CAF9DAFAEAFBFAFE99790 -:1047700029968CAD9DADAEADBFAD2997ED968CAFB2 -:104780009DAFAEAFBFAFED97A196CCACDDACEEACBC -:10479000FFACA1970FE21CE0212CE3961FAF0EAFF8 -:1047A000E397312C822D0E9405A94B015C01832DDA -:1047B0000E94D7A82B013C01E9962CAD3DAD4EAD32 -:1047C0005FADE997C501B4010F94C04C4B015C018A -:1047D000ED962CAD3DAD4EAD5FADED97C301B20191 -:1047E0000F94C04C9B01AC01C501B4010F9444531C -:1047F0004B015C01E396AEADBFADE3972D913D91CA -:104800004D915C91C701B6010F94C04C9B01AC0166 -:10481000C501B4010F9444532DA93EA94FA958AD29 -:104820000F9443539B01AC01E396EEADFFADE397CC -:104830006193719381939193E396FFAFEEAFE3970A -:10484000632D822D0E94B9943394F6E03F12AACFD3 -:104850002394085E1F4F2F12A0CFCD56DF4F0FB607 -:10486000F894DEBF0FBECDBFDF91CF911F910F91A6 -:10487000FF90EF90DF90CF90BF90AF909F908F9080 -:104880007F906F905F904F903F902F900895AF92E0 -:10489000BF92CF92DF92EF92FF920F931F93CF932D -:1048A000DF938DE5E82E88E5F82EF7018591949148 -:1048B000FC01C4903296D4903197C4913296049101 -:1048C00031968491882321F1CC161CF0AA24AA9455 -:1048D00002C0AA24A394002E000C110B0C2E000C75 -:1048E000DD0B8D2D90E080179107B1F1BC2C8B2D45 -:1048F00090E08C179D0751F020E04A2D6D2D8B2DF7 -:104900000F94F312811102C0BA0CF1CFD394E9CF06 -:10491000D0161CF0AA24AA9402C0AA24A3940C2E98 -:10492000000CDD0B002E000C110B8C2D90E08C1771 -:104930009D0791F0BD2C8B2D90E08017910751F0D1 -:104940002A2D40E06B2D8C2D0F94F312811102C0A3 -:10495000BA0CF1CFC394E9CFF2E0EF0EF11C85E67B -:10496000E81688E5F80609F0A0CFDF91CF911F91F6 -:104970000F91FF90EF90DF90CF90BF90AF90089590 -:1049800084E08A950000E9F70895FC01DB018C9131 -:1049900020813181382798E0A901440F551F37FD48 -:1049A00006C09A019150C1F73183208308959A017E -:1049B000B1E22B27B0E13B27F5CFEF92FF920F93A7 -:1049C0001F93CF93DF93FC0101900020E9F731970B -:1049D0009F01281B390B12161306CCF56AE560936C -:1049E000B01565EA6093B11563E0620F6093B2158C -:1049F00062E86093B3155093B4154093B515FC016C -:104A0000A6EBB5E1820F931F41914D93E817F9078B -:104A1000D9F780EBE82E85E1F82E00E010E0E901FF -:104A20002596C017D10764F0D7016D917D0184ED03 -:104A300093E10E94FB7B0F94C0240F5F1F4FF1CFC7 -:104A40008AE1E0EBF5E1DF011D928A95E9F7DF915C -:104A5000CF911F910F91FF90EF9008950F931F93A7 -:104A6000CF93DF93209161152A3509F098C090917A -:104A70006215953A09F093C080916015833008F46F -:104A80008EC02093B0159093B1158093B21590917C -:104A900063159093B3159038B1F490916415909389 -:104AA000B415ECE6F5E1A5EBB5E120E030E090E0EF -:104AB0000297281739070CF044C0408132964D9375 -:104AC0002F5F3F4FF6CF833061F4913809F064C017 -:104AD000809164158093B415809168158093B51505 -:104AE00030C09238F1F490916415209165152093AF -:104AF000B4159093B515E6EBF5E120E030E090E0D9 -:104B0000039728173907ECF4D901AE7FA459BA4EA0 -:104B10004C9111965C91508341832E5F3F4F3296AA -:104B2000F0CF843071F4933861F4809164159091E2 -:104B300065159093B4158093B51580916815809391 -:104B4000B61500EB15E1C0E0D0E08091601590E073 -:104B500002968C179D075CF0D8016D918D0184ED54 -:104B600093E10E94FB7B0F94C0242196EECF80E559 -:104B7000E0E6F5E1DF011D928A95E9F78AE1E0EBD5 -:104B8000F5E1DF011D928A95E9F78AE580936115C9 -:104B900085EA8093621503C0923899F6A4CFDF911D -:104BA000CF911F910F910895CF93DF93CDB7DEB7CB -:104BB000A8970FB6F894DEBF0FBECDBF8C010E9440 -:104BC000DFFA0F94E93C87EA99E50F946D3C0115F3 -:104BD000110511F40EE919E58091D31380FD75C01C -:104BE00081608093D3138AE198E00E9480628824D8 -:104BF00083948AE5982E90926D1580926C158FE0C3 -:104C000090E090936F1580936E1597E0A92EA09277 -:104C1000601522E8B22EB092631534E8C32ED12C71 -:104C2000E12CF12CC0926415D0926515E0926615C6 -:104C3000F09267150F942E2590926D1580926C1549 -:104C400088E590E090936F1580936E15A0926015A3 -:104C5000B0926315C0926415D0926515E092661506 -:104C6000F09267150F942E2563E070E080E090E0ED -:104C70000E949E948AE289838A838B838C83DE01DF -:104C80001596F801CE0101969D01281B390B449120 -:104C90003196442311F04D93F7CFFC01E20FF31F3F -:104CA0002AE2AF01481B590B4832510511F02193FC -:104CB000F8CF40E650E160E070E00F94DD246AE058 -:104CC00070E080E090E00E949E9461E085E999E5C3 -:104CD0000E94BCDC89EE93E030E6019729F0232F97 -:104CE0002A950000E9F7F9CFF89489EE93E038EEC1 -:104CF000019729F0232F2A950000E9F7F9CF0E94A8 -:104D0000DFFA0E948860A895FECFCF92DF92EF92E3 -:104D1000FF920F9493366B017C0128E5C20E22E0CE -:104D2000D21EE11CF11C0E94826A8F3F61F00F9439 -:104D30009336DC01CB018C199D09AE09BF09B7FD83 -:104D4000F2CF80E001C081E0FF90EF90DF90CF9044 -:104D500008958F929F92AF92BF92CF92DF92EF927F -:104D6000FF920F931F93CF93DF9300D01F92CDB785 -:104D7000DEB7FC018381813079F5818181FF2CC010 -:104D800081899289A389B489892B8A2B8B2B09F479 -:104D900048C07F0140E050E0BA01CF010E94389E38 -:104DA0008823D1F0F70185889688A788B08CC18CBC -:104DB000D28C82E090E0A0E0B0E0F60180839183A5 -:104DC000A283B3839E012F5F3F4FB501A401C601AB -:104DD0000E94F982811102C080E03CC000E010E036 -:104DE0009801B501A401C6010E9467828823A1F33E -:104DF00089809A80AB80BC80F6018789803141F43C -:104E0000F8EF8F16FFEF9F06A104B10460F4DACF2C -:104E100088EF88168FEF9806A8068FE0B80618F47A -:104E2000D1CF81E017C0F701158A168A178A108E34 -:104E3000118A128A138A148A818180688183C7014A -:104E40000E9471A1882341F240E050E0BA01C701FD -:104E50000E94389E0F900F900F900F90DF91CF918E -:104E60001F910F91FF90EF90DF90CF90BF90AF9088 -:104E70009F908F9008952F923F924F925F926F92E2 -:104E80007F928F929F92AF92BF92CF92DF92EF92DA -:104E9000FF920F931F93CF93DF931F921F92CDB773 -:104EA000DEB77C012DB73EB73A832983809129175D -:104EB000811107C010920E171092111781E0809394 -:104EC000291780910617811107C01092EB161092D6 -:104ED000EE1681E080930617FB0180818F3259F432 -:104EE0008AEC94E1F701918380831092DE168B01A6 -:104EF0000F5F1F4F06C08FEA94E1F7019183808313 -:104F00008B01F701208031802EE0C22E27E1D22EC6 -:104F10000115110509F479C04DB65EB66FE270E077 -:104F2000C8010F94EA574C010817190708F06BC025 -:104F30003C01601A710A7724C30101962DB73EB770 -:104F4000281B390B0FB6F8943EBF0FBE2DBF8DB78F -:104F50009EB701965C01A301B8010F940A58F501B0 -:104F6000E60DF71D1082F7016081718121E0A50136 -:104F7000C6010E9490A581110FC0B50181E899E595 -:104F80000F94D63C8EE799E50F946D3C0FB6F894DC -:104F90005EBE0FBE4DBE39C0F701808191812816DB -:104FA000390611F00E94A4A1F701D182C082A0911C -:104FB000DE16AA3080F481E08A0F8093DE16FBE1D2 -:104FC000FA9FD0011124A053BA4EF6018BE1019053 -:104FD0000D928A95E1F7F701808191818E5097417A -:104FE00029F49BEEC92E96E1D92E04C08EE0C82E7E -:104FF00087E1D82E84010F5F1F4F0FB6F8945EBE75 -:105000000FBE4DBE85CFC80102C080E090E029816F -:105010003A810FB6F8943EBF0FBE2DBF0F900F9090 -:10502000DF91CF911F910F91FF90EF90DF90CF9084 -:10503000BF90AF909F908F907F906F905F904F90B8 -:105040003F902F9008952091D2132695269520FF0A -:105050002DC02091E9163091EA16280F391F3093A0 -:10506000EA162093E9162091D0133091D113280F1E -:10507000391F3093D1132093D01320910801217050 -:10508000209306012091CE133091CF13820F931FEE -:105090009093CF138093CE130F9493366093CA13DB -:1050A0007093CB138093CC139093CD1308954F92AC -:1050B0005F926F927F928F929F92AF92BF92CF92A8 -:1050C000DF92EF92FF920F931F93CF93DF93CDB7B1 -:1050D000DEB764970FB6F894DEBF0FBECDBF082FC2 -:1050E000F62EE42E882E912C26E0829FC0011124FA -:1050F000FC01E35BF44A65907490FC01E55BF44AC3 -:105100005F0145905490F3018081482F487050E032 -:1051100060E070E07695679557954795F2011081AC -:105120001370142BF4E0EF1209C0807190E0A0E03E -:10513000B0E0B695A79597958795182B81E49BE5E8 -:105140000F946D3C005D802F0E9462618F2D0E9444 -:10515000626183E00F94253CF401EE0FFF1F8F2D59 -:105160000F2C000C990B9E012F5F3F4F690133E01C -:10517000E80DF91D81549109E80FF91FEE0FFF1F8B -:10518000E35EF44AE3121BC0A591B4918C911F9287 -:105190008F9383E19BE59F938F93DF92CF920F9440 -:1051A000F24B0F900F900F900F900F900F90F60111 -:1051B00081916F01882309F10E946261F8CFA59166 -:1051C000B49111968C9111978F938C918F9389E064 -:1051D0009BE59F938F93DF92CF920F94F24B0F90AA -:1051E0000F900F900F900F900F90F60181916F012B -:1051F000882319F00E946261F8CF612F70E08FEF71 -:105200009AE50F94CA3CF501C590D49083E79AE5DE -:105210000F946D3C802F0E946261F2E4FF1691F0C2 -:1052200023E4F216F9F031E4F3122DC0F6014081C7 -:10523000429546954695437050E060E070E08FE6F9 -:105240009AE51FC0F6014081407350E060E070E0D5 -:1052500094E076956795579547959A95D1F78BE6A3 -:105260009AE50FC0F60140814C7050E060E070E0BC -:1052700082E076956795579547958A95D1F787E6A9 -:105280009AE50F949B3CF3014081477050E060E049 -:1052900070E086EF9AE50F949B3C8DEE9AE50F94B3 -:1052A0006D3C802F0E946261F201608170E089EEA6 -:1052B0009AE50F94CA3C80EE9AE50F946D3C802FDE -:1052C0000E946261F301608170E08CED9AE50F94B9 -:1052D000CA3C86E0889DF001899DF00D1124E15BB8 -:1052E000F44AC590D49082ED9AE50F946D3C802FDE -:1052F0000E946261F601608170E08FEC9AE50F9484 -:10530000CA3C00EC0F0DF3E0EF1207C0197F59F40F -:105310008BE79AE50F946D3C06C0812F8B7FC1F31C -:105320001C501230A8F3F601808190E0A0E0B0E0BC -:1053300004C0B695A795979587950A95D2F780FFF3 -:1053400004C084E99AE50F946D3CF601808180FFEA -:1053500004C081EB9AE50F946D3C64960FB6F89407 -:10536000DEBF0FBECDBFDF91CF911F910F91FF9098 -:10537000EF90DF90CF90BF90AF909F908F907F90F5 -:105380006F905F904F900895CF93DF93C82F88E977 -:105390009BE50F946D3C0C2E000CDD0BFE01E35AD7 -:1053A000F34A8491805C0E946261FE01ED55F34AEC -:1053B000E49180E3E13021F0E6958F5F8933D1F706 -:1053C000DF91CF910C946261082E000C990BFC01C7 -:1053D000E35AF34AE491EE2399F0F0E0EE0FFF1F59 -:1053E000ED5BF34AA591B4912C91FC01ED55F34A84 -:1053F0008491822321E090E009F420E0822F089537 -:1054000080E090E00895CF93DF93C82FD0E0FE01B5 -:10541000E751F34AE4918E2F90E0FC013197E2319D -:10542000F105E8F58827EA54FF4F8F4F0D943B5361 -:1054300043E061E402C043E062E480E02EC044E067 -:1054400061E405C044E062E402C044E063E481E05A -:1054500024C043E061E402C043E062E482E01DC096 -:1054600044E061E405C044E062E402C044E063E477 -:1054700083E013C044E061E405C044E062E402C09C -:1054800044E063E484E009C044E061E405C044E032 -:1054900062E402C044E063E485E00F94572885E9A4 -:1054A0009BE50F946D3CFE01E35AF34AE491E23030 -:1054B000F9F4FE01ED55F34AE491E038C9F481E9CD -:1054C0009BE50F946D3C82E10F94253C89E89BE5B8 -:1054D0000F946D3C8FE69BE50F946D3C8EE00F942E -:1054E000253C44E063E481E0DF91CF910D9457289F -:1054F000DF91CF9108950F931F93CF93DF93CDB793 -:10550000DEB764970FB6F894DEBF0FBECDBFE82FAD -:10551000F0E0E751F34AE4918E2F90E0FC013197DF -:10552000E231F10508F049C28827E853FF4F8F4F59 -:105530000D943B5384B5807C09F43FC287B51F921C -:105540008F938DE59AE59F938F938E010F5F1F4F89 -:105550001F930F930F94F24B0F900F900F900F909B -:105560000F900F90F80181918F01811102C081E0AD -:1055700025C20E946261F6CF84B5807309F41DC212 -:1055800088B51F928F9383E59AE59F938F938E0141 -:105590000F5F1F4F1F930F930F94F24B0F900F90BD -:1055A0000F900F900F900F90F80181918F01882339 -:1055B000F1F20E946261F8CF80918000807C09F452 -:1055C000FCC180918800909189009F938F9389E41A -:1055D0009AE59F938F938E010F5F1F4F1F930F9339 -:1055E0000F94F24B0F900F900F900F900F900F9021 -:1055F000F80181918F01882309F4B9CF0E9462617B -:10560000F7CF80918000807309F4D7C180918A0020 -:1056100090918B009F938F938FE39AE59F938F9345 -:105620008E010F5F1F4F1F930F930F94F24B0F903C -:105630000F900F900F900F900F90F80181918F01B4 -:10564000882309F494CF0E946261F7CF8091800093 -:105650008C7009F4B2C180918C0090918D009F9361 -:105660008F9385E39AE59F938F938E010F5F1F4F72 -:105670001F930F930F94F24B0F900F900F900F907A -:105680000F900F90F80181918F01882309F46FCF5B -:105690000E946261F7CF8091B000807C09F48DC1D7 -:1056A0008091B3001F928F938BE29AE59F938F9323 -:1056B0008E010F5F1F4F1F930F930F94F24B0F90AC -:1056C0000F900F900F900F900F90F80181918F0124 -:1056D000882309F44CCF0E946261F7CF8091B0001B -:1056E000807309F46AC18091B4001F928F9381E2A4 -:1056F0009AE59F938F938E010F5F1F4F1F930F9318 -:105700000F94F24B0F900F900F900F900F900F90FF -:10571000F80181918F01882309F429CF0E946261E9 -:10572000F7CF80919000807C09F447C18091980068 -:10573000909199009F938F9387E19AE59F938F9320 -:105740008E010F5F1F4F1F930F930F94F24B0F901B -:105750000F900F900F900F900F90F80181918F0193 -:10576000882309F404CF0E946261F7CF80919000F2 -:10577000807309F422C180919A0090919B009F93BD -:105780008F938DE09AE59F938F938E010F5F1F4F4C -:105790001F930F930F94F24B0F900F900F900F9059 -:1057A0000F900F90F80181918F01882309F4DFCECB -:1057B0000E946261F7CF809190008C7009F4FDC067 -:1057C00080919C0090919D009F938F9383E09AE538 -:1057D0009F938F938E010F5F1F4F1F930F930F9413 -:1057E000F24B0F900F900F900F900F900F90F801C9 -:1057F00081918F01882309F4BACE0E946261F7CFAC -:105800008091A000807C09F4D8C08091A80090917C -:10581000A9009F938F9389EF99E59F938F938E01B2 -:105820000F5F1F4F1F930F930F94F24B0F900F902A -:105830000F900F900F900F90F80181918F018823A6 -:1058400009F495CE0E946261F7CF8091A000807329 -:1058500009F4B3C08091AA009091AB009F938F93FD -:105860008FEE99E59F938F938E010F5F1F4F1F93CC -:105870000F930F94F24B0F900F900F900F900F908B -:105880000F90F80181918F01882309F470CE0E9456 -:105890006261F7CF8091A0008C7009F48EC0809176 -:1058A000AC009091AD009F938F9385EE99E59F9307 -:1058B0008F938E010F5F1F4F1F930F930F94F24B27 -:1058C0000F900F900F900F900F900F90F801819113 -:1058D0008F01882309F44BCE0E946261F7CF80913B -:1058E0002001807C09F469C08091280190912901F0 -:1058F0009F938F938BED99E59F938F938E010F5F0D -:105900001F4F1F930F930F94F24B0F900F900F9018 -:105910000F900F900F90F80181918F01882309F467 -:1059200026CE0E946261F7CF80912001807309F436 -:1059300044C080912A0190912B019F938F9381ED18 -:1059400099E59F938F938E010F5F1F4F1F930F93C6 -:105950000F94F24B0F900F900F900F900F900F90AD -:10596000F80181918F01882309F401CE0E946261C0 -:10597000F7CF809120018C7001F180912C019091E2 -:105980002D019F938F9387EC99E59F938F938E01C1 -:105990000F5F1F4F1F930F930F94F24B0F900F90B9 -:1059A0000F900F900F900F90F80181918F01882335 -:1059B00009F4DDCD0E946261F7CF80E064960FB6F6 -:1059C000F894DEBF0FBECDBFDF91CF911F910F9135 -:1059D0000895082E000C990BFC01E35AF34AE49158 -:1059E000F0E0EE0FFF1FE15FF34AA591B4912C9117 -:1059F000FC01ED55F34AE491E22381E009F480E0F3 -:105A000008958091321790913317009731F04AE052 -:105A100050E060E070E00D947E4A60E070E0CB0101 -:105A20000895AF92BF92CF92DF92EF92FF921F93B1 -:105A3000CF93DF93CDB7DEB760970FB6F894DEBF94 -:105A40000FBECDBF8091050D9091060DA091070D61 -:105A5000B091080D89839A83AB83BC838091090D33 -:105A600090910A0DA0910B0DB0910C0D8D839E832A -:105A7000AF83B88780910D0D90910E0DA0910F0D01 -:105A8000B091100D89879A87AB87BC878091110DE3 -:105A90009091120DA091130DB091140D8D879E87DA -:105AA000AF87B88B0E945A780E94FF7A83E0A82EB5 -:105AB0008CE5B82E9CE2E92E92E0F92E27EFC22E5B -:105AC0002BE5D22E10E0812F0E949A87F501859157 -:105AD0009591A591B491F70180839183A283B383BB -:105AE000F60185919591A591B491F70184839583F1 -:105AF000A683B7831F5FF4E0AF0EB11C88E0E80E09 -:105B0000F11CE4E0CE0ED11C1330E9F66091690B74 -:105B100070916A0B80916B0B90916C0B40E00F942D -:105B20000E3B0E94A17840E150E065E07DE0CE01AF -:105B300001960F94B657892B89F060960FB6F894AA -:105B4000DEBF0FBECDBFDF91CF911F91FF90EF90D1 -:105B5000DF90CF90BF90AF900C94D46D60960FB64D -:105B6000F894DEBF0FBECDBFDF91CF911F91FF90A4 -:105B7000EF90DF90CF90BF90AF9008954F925F92DB -:105B80006F927F928F929F92AF92BF92CF92DF924D -:105B9000EF92FF92CF93DF9300D000D0CDB7DEB766 -:105BA0009E838D83DC014D905D906D907C9013976A -:105BB00014968D909D90AD90BC90179718968D91EE -:105BC0009D910D90BC91A02D89839A83AB83BC835A -:105BD000A3019201C301B2010F94C04C6B017C017F -:105BE000A5019401C501B4010F94C04C9B01AC0107 -:105BF000C701B6010F9444536B017C0129813A819E -:105C00004B815C81CA01B9010F94C04C9B01AC016E -:105C1000C701B6010F9444530F9442569B01AC0147 -:105C200060E070E080E89FE30F943E546B017C01DC -:105C30009B01AC01C301B2010F94C04CED81FE8108 -:105C40006083718382839383A7019601C501B401A8 -:105C50000F94C04CAD81BE8114966D937D938D934E -:105C60009C931797A701960169817A818B819C810A -:105C70000F94C04CED81FE81608771878287938786 -:105C800026960FB6F894DEBF0FBECDBFDF91CF9141 -:105C9000FF90EF90DF90CF90BF90AF909F908F904C -:105CA0007F906F905F904F9008950F931F93809116 -:105CB0009F0B813019F40F94933608C060919B0BB1 -:105CC00070919C0B80919D0B90919E0B00918D0B80 -:105CD00010918E0B20918F0B3091900B601B710BEC -:105CE000820B930B28EE33E040E050E00F94B0526B -:105CF0008091910B9091920BA091930BB091940B8A -:105D0000BC01CD01620F731F841F951F1F910F915E -:105D1000089510929F0B10928D0B10928E0B109283 -:105D20008F0B1092900B10929B0B10929C0B109269 -:105D30009D0B10929E0B1092910B1092920B109251 -:105D4000930B1092940B089580919F0B813099F5DD -:105D500085E298E00E94806281E09AE590936D155B -:105D600080936C1587E590E090936F1580936E1586 -:105D700087E08093601582E88093631584E890E063 -:105D8000A0E0B0E08093641590936515A09366152C -:105D9000B09367150F942E2582E080939F0B0F948C -:105DA000933660939B0B70939C0B80939D0B909309 -:105DB0009E0B81E0089580E008958F929F92AF92AC -:105DC000BF92CF92DF92EF92FF920F931F93CF93E8 -:105DD000DF93CDB7DEB72C970FB6F894DEBF0FBEBA -:105DE000CDBF8B0140E050E068E472E44D835E83F8 -:105DF0006F83788740E050E060EA70E449875A8713 -:105E00006B877C87813019F0823039F02AC0BE015F -:105E1000675F7F4FC801089646C0F801208531852D -:105E20004285538560910D0D70910E0D80910F0D7F -:105E30009091100D0F9444536B017C0120E030E0F1 -:105E400048EC53E40F945A4C87FD06C0C12CD12C6A -:105E500088ECE82E83E4F82EC982DA82EB82FC8299 -:105E60001DC080900D0D90900E0DA0900F0DB09064 -:105E7000100DF801C084D184E284F3849601A70157 -:105E8000B401C5010F945A4C87FD02C0640175012D -:105E9000C601D70189839A83AB83BC83BE01675F48 -:105EA0007F4FCE0101960E94F692B8016C5F7F4F42 -:105EB000AE014B5F5F4FC8010E94D4920E94D46D27 -:105EC0002C960FB6F894DEBF0FBECDBFDF91CF91F9 -:105ED0001F910F91FF90EF90DF90CF90BF90AF9008 -:105EE0009F908F9008954F925F926F927F928F92C2 -:105EF0009F92AF92BF92CF92DF92EF92FF92CF9399 -:105F0000DF93CDB7DEB76E970FB6F894DEBF0FBE46 -:105F1000CDBF9E8F8D8FDC01D896CD90DD90ED901A -:105F2000FC90DB9720E030E0A901C701B6010F9497 -:105F30005A4C811103C081E090E0CBC1A7019601CA -:105F4000ED8DFE8D60817181828193810F943E542D -:105F500069837A838B839C83AD8DBE8D6D937D9396 -:105F60008D939C931397A701960114966D917D9143 -:105F70008D919C9117970F943E546D837E838F83F0 -:105F80009887ED8DFE8D6483758386839783A70143 -:105F9000960160857185828593850F943E5469874B -:105FA0007A878B879C87AD8DBE8D18966D937D9378 -:105FB0008D939C931B97A70196011C966D917D91E3 -:105FC0008D919C911F970F943E544B015C01298148 -:105FD0003A814B815C81CA01B9010F94C04C9B018D -:105FE000AC01C501B4010F9443536D877E878F8741 -:105FF000988BED8DFE8D6487758786879787A701BF -:10600000960160897189828993890F943E544B016E -:106010005C012D813E814F815885CA01B9010F94E1 -:10602000C04C9B01AC01C501B4010F944353698B73 -:106030007A8B8B8B9C8BAD8DBE8D50966D937D93A3 -:106040008D939C935397A701960154966D917D91E2 -:106050008D919C9157970F943E544B015C0129857B -:106060003A854B855C85CA01B9010F94C04C9B01F0 -:10607000AC01C501B4010F944353ED8DFE8D648BCB -:10608000758B868B978BA7019601608D718D828DA4 -:10609000938D0F943E544B015C012D813E814F81C5 -:1060A000588569817A818B819C810F94C04C9B01BA -:1060B000AC01C501B4010F9443534B015C01AD8D9C -:1060C000BE8D58966D937D938D939C935B97A7019E -:1060D000960190966D917D918D919C9193970F94DF -:1060E0003E542B013C0129853A854B855C856D81A9 -:1060F0007E818F8198850F94C04C9B01AC01C301B8 -:10610000B2010F9443536D8B7E8B8F8B988FED8DE7 -:10611000FE8D60A371A382A393A3A7019601648D52 -:10612000758D868D978D0F943E546B017C0129856A -:106130003A854B855C8569817A818B819C810F943E -:10614000C04C9B01AC01C701B6010F944353698F4A -:106150007A8F8B8F9C8FAD8DBE8D5C966D937D936A -:106160008D939C935F9729893A894B895C896D85CA -:106170007E858F8598890F94C04C6B017C01A501A9 -:106180009401C501B4010F94C04C9B01AC01C7013F -:10619000B6010F9443536B017C0120E030E0A9016C -:1061A0000F94A4552601370187FF04C077FA709435 -:1061B00077F87094ED8DFE8D20A531A542A553A5ED -:1061C00064A175A186A197A10F9444532FEF36EED9 -:1061D0004BED5EE20F94C04CA30192010F94A455C5 -:1061E00087FFA9CE2D893E894F89588DC501B401FD -:1061F0000F94C04C2B013C01298D3A8D4B8D5C8D49 -:1062000069897A898B899C890F94C04C9B01AC0168 -:10621000C301B2010F944353A70196010F943E545A -:106220002B013C01AD8DBE8D9C966D937D938D931E -:106230009C939F97298D3A8D4B8D5C8DC501B40140 -:106240000F94C04C4B015C012D893E894F89588DBC -:106250006D857E858F8598890F94C04C9B01AC011C -:10626000C501B4010F944353A70196010F943E5406 -:106270006B017C01ED8DFE8D60AB71AB82AB93AB9E -:10628000A301920169817A818B819C810F94C04C1A -:1062900029853A854B855C850F9444534B015C01FD -:1062A000A70196016D817E818F8198850F94C04CE6 -:1062B0009B01AC01C501B4010F944453DC01CB0137 -:1062C000B058ED8DFE8D84AB95ABA6ABB7AB80E03F -:1062D00090E06E960FB6F894DEBF0FBECDBFDF9193 -:1062E000CF91FF90EF90DF90CF90BF90AF909F90B5 -:1062F0008F907F906F905F904F9008958091E816F7 -:1063000082FF2AC00E94379D882319F18091E016F0 -:106310009091E116A091E216B091E3160097A105C5 -:10632000B105B9F0BC01CD016D597F4F8F4F9F4F23 -:1063300024E630E040E050E00F94B0526091E41663 -:106340007091E5168091E6169091E7160F94B05281 -:1063500001C020E020937617809176178F770895FB -:106360000F931F93CF93DF938C0167FF03C01092AD -:10637000741760E08091741790E0262F062E000CB1 -:10638000330B2817390734F160937417C8010F9441 -:10639000A84B800F911FEC01C01BD10BC034D1055D -:1063A0003CF00197FC012491207C2038D1F3F3CFFD -:1063B000DD27AE01B80184E397E10F94C94BCC5CB3 -:1063C000D84E188284E397E1DF91CF911F910F910E -:1063D0000C947C95DF91CF911F910F9108951092AD -:1063E0007517109214028091E81680628093E81667 -:1063F00061E08EEC9BE50E94BCDC40E050E063EE87 -:106400007BE585E00E942FDE0E94707760E085EDDD -:106410009BE50D94B031CF93DF93CDB7DEB78E817E -:1064200090917417891788F0809374179E01275FE5 -:106430003F4F4F8158856FE370E084E397E10F94FD -:10644000214C84E397E10E947C95DF91CF910895E0 -:10645000CF93DF9320917417211120C0FC0101908C -:106460000020E9F73197EF01C81BD90BC034D105E3 -:106470002CF02291207C2038E1F3F5CFBC01DD2700 -:10648000AE0184E397E10F940A58CC5CD84E188291 -:1064900084E397E1DF91CF910C947C95DF91CF91CC -:1064A00008958091E81682FD05C080919F0B82308F -:1064B00069F411C080919319882319F083E999E157 -:1064C00002C085ED99E161E00D942832813031F40C -:1064D00085EB9BE505C081EC9BE502C081EA9BE56D -:1064E0006FEF0D94B031FF920F931F93CF93DF9313 -:1064F0008B01D82FC92FF42E20E030E048EC52E475 -:106500000F945A4C87FF0FC020E030E0A901B8017A -:106510008D2F9C2F0F94A45518164CF000E010E01E -:10652000D0E0C0E004C000E010E0D8ECC2E481E0BC -:106530008F15E0F0B8018D2F9C2F0F94B0549B0164 -:10654000AC01AFEFB0E00F94F15224E630E040E050 -:1065500050E00F94D252EF2DF0E0E35DF24F2F3F69 -:10656000310519F010F02FEF30E02083DF91CF914B -:106570001F910F91FF900895E8E7F3E110821182D7 -:1065800012821382148280E00C94FFFA90E0FC01E6 -:106590003197E231F10508F04EC08827E652FF4FEF -:1065A0008F4F0D943B53809180008F7703C0809173 -:1065B00080008F7D80938000089580918000877F88 -:1065C000F9CF84B58F7702C084B58F7D84BD0895DF -:1065D0008091B0008F7703C08091B0008F7D809351 -:1065E000B0000895809190008F7707C0809190004F -:1065F0008F7D03C080919000877F809390000895E5 -:106600008091A0008F7707C08091A0008F7D03C08C -:106610008091A000877F8093A00008958091200141 -:106620008F7707C0809120018F7D03C0809120016A -:10663000877F8093200108953FB7F8948091841755 -:1066400090918517A0918617B091871726B5A89BC2 -:1066500005C02F3F19F00196A11DB11D3FBFBA2FF4 -:10666000A92F982F8827820F911DA11DB11DBC0154 -:10667000CD0142E0660F771F881F991F4A95D1F719 -:1066800008952F923F924F925F926F927F928F92D6 -:106690009F92AF92BF92CF92DF92EF92FF920F93B1 -:1066A0001F93CF93DF93CDB7DEB7A0970FB6F894C3 -:1066B000DEBF0FBECDBF1C018B015A8749873C87C7 -:1066C0002B87C090050DD090060DE090070DF0903F -:1066D000080DDC018D919D910D90BC91A02D8D87B1 -:1066E0009E87AF87B88B9C01AD01C701B6010F949F -:1066F00043532B013C018091090D90910A0DA0910B -:106700000B0DB0910C0D898B9A8BAB8BBC8BD80188 -:106710008D919D910D90BC91A02D8D8B9E8BAF8BFB -:10672000B88F9C01AD0169897A898B899C890F9406 -:1067300043534B015C01A3019201C301B2010F94C9 -:10674000C04C2B013C01A5019401C501B4010F947B -:10675000C04C9B01AC01C301B2010F944453698F3B -:106760007A8F8B8F9C8FE985FA854080518062807B -:106770007380A3019201C701B6010F9443536D8F3B -:106780007E8F8F8F98A3AB85BC858D909D90AD90AB -:10679000BC90A501940169897A898B899C890F94A1 -:1067A00043536B017C012D853E854F855889C3017C -:1067B000B2010F9443532B013C012D893E894F892F -:1067C000588DC501B4010F9443534B015C01A301E3 -:1067D0009201C301B2010F94C04C2B013C01A501F1 -:1067E0009401C501B4010F94C04C9B01AC01C301DD -:1067F000B2010F9444530F9442564B015C012D8D0E -:106800003E8D4F8D58A1CA01B9010F94C04C2B0188 -:106810003C01A7019601C701B6010F94C04C9B0132 -:10682000AC01C301B2010F9444539B01AC01698DCB -:106830007A8D8B8D9C8D0F94A455181604F520E04D -:1068400030E0A901C501B4010F94A45587FF04C02D -:10685000C501B401905802C0C501B40120E030E088 -:1068600040EA50E40F94A45518164CF49801A10185 -:106870006B857C8589859A850F94413385C020E09E -:1068800030E040E050E4698D7A8D8B8D9C8D0F94C3 -:10689000A45518160CF044C00E940FD019821A8219 -:1068A0001B821C8220E030E040E05FE360910D0D30 -:1068B00070910E0D80910F0D9091100D0F94445317 -:1068C0006D837E838F8398879E012F5F3F4FAE013C -:1068D0004B5F5F4F69E07DE085E09DE00E9481E9CC -:1068E00019821A821B821C8220E030E040E05FE3C4 -:1068F00060917717709178178091791790917A1736 -:106900000F9444536D837E838F8398879E012F5FFE -:106910003F4FAE014B5F5F4FB801C1010E9481E95B -:1069200019821A821B821C829E012F5F3F4F47E70C -:1069300057E1B801C1010E9481E9209163023091C1 -:1069400064024091650250916602C501B4010F9442 -:10695000C04C20917B1730917C1740917D1750914E -:106960007E170F94C04C69837A838B839C830E942B -:106970003BD09E012F5F3F4F47E757E16B857C85FA -:1069800089859A850E9481E9A0960FB6F894DEBFAA -:106990000FBECDBFDF91CF911F910F91FF90EF9070 -:1069A000DF90CF90BF90AF909F908F907F906F902F -:1069B0005F904F903F902F900895CF93DF93282FB3 -:1069C00030E0F901E751F34A8491F901ED55F34ABA -:1069D000D491F901E35AF34AC491CC2391F0811187 -:1069E0000F94C632EC2FF0E0EE0FFF1FED5BF34A81 -:1069F000A591B491EC91ED2381E090E021F480E049 -:106A000002C080E090E0DF91CF9108951F93CF9373 -:106A1000DF93282F30E0F901E751F34A8491F9011F -:106A2000ED55F34AD491F901E35AF34AC491CC23CA -:106A3000C1F0162F81110F94C632EC2FF0E0EE0F4B -:106A4000FF1FE75DF34AA591B4919FB7F894111128 -:106A500004C08C91D095D82302C0EC91DE2BDC933E -:106A60009FBFDF91CF911F910895CF93DF9390E067 -:106A7000FC01ED55F34A2491FC01E35AF34A849159 -:106A8000882361F190E0880F991FFC01E15FF34AD0 -:106A9000C591D491FC01E75DF34AA591B4916111D0 -:106AA00009C09FB7F8948881209582238883EC9150 -:106AB0002E230BC0623061F49FB7F8948881322F87 -:106AC000309583238883EC912E2B2C939FBF06C097 -:106AD0008FB7F894E8812E2B28838FBFDF91CF9159 -:106AE00008951F93CF93DF93182FEB0161E00F946C -:106AF0003535209711F460E004C0CF3FD10539F45B -:106B000061E0812FDF91CF911F910D940635E12F28 -:106B1000F0E0E751F34AE4918E2F90E0FC013197C9 -:106B2000E231F10508F09DC08827E451FF4F8F4FF7 -:106B30000D943B5384B5806884BDC7BD97C084B5B0 -:106B4000806284BDC8BD92C08091800080688093BF -:106B50008000D0938900C093880088C08091800015 -:106B6000806280938000D0938B00C0938A007EC0A7 -:106B700080918000886080938000D0938D00C093C6 -:106B80008C0074C08091B00080688093B000C09386 -:106B9000B3006CC08091B00080628093B000C0935D -:106BA000B40064C080919000806880939000D0937E -:106BB0009900C09398005AC08091900080628093A1 -:106BC0009000D0939B00C0939A0050C08091900099 -:106BD000886080939000D0939D00C0939C0046C035 -:106BE0008091A00080688093A0008091A0008F7B9E -:106BF0008093A000D093A900C093A80037C08091D3 -:106C0000A00080628093A000D093AB00C093AA0044 -:106C10002DC08091A00088608093A000D093AD002B -:106C2000C093AC0023C08091200180688093200134 -:106C3000D0932901C093280119C08091200180625E -:106C400080932001D0932B01C0932A010FC0809123 -:106C50002001886080932001D0932D01C0932C01E6 -:106C600005C0C038D1050CF04BCF45CFDF91CF9197 -:106C70001F910895863308F0865390917B00282F4A -:106C80002870977F922B90937B008770806480930D -:106C90007C0080917A00806480937A0080917A00F1 -:106CA00086FDFCCF809178002091790090E0922BB6 -:106CB00008958F929F92AF92BF92CF92DF92EF9200 -:106CC000FF926B017C010F941C334B015C01C114DA -:106CD000D104E104F104F1F00F941C33DC01CB0189 -:106CE00088199909AA09BB09883E9340A105B105F5 -:106CF00070F321E0C21AD108E108F10888EE880E8D -:106D000083E0981EA11CB11CC114D104E104F1045C -:106D100019F7DDCFFF90EF90DF90CF90BF90AF904D -:106D20009F908F9008952FB7F8946091801770917D -:106D3000811780918217909183172FBF08951F921A -:106D40000F920FB60F9211242F933F938F939F931F -:106D5000AF93BF938091801790918117A091821774 -:106D6000B091831730917F1723E0230F2D3720F444 -:106D70000196A11DB11D05C026E8230F0296A11D95 -:106D8000B11D20937F178093801790938117A09354 -:106D90008217B09383178091841790918517A091E3 -:106DA0008617B09187170196A11DB11D8093841796 -:106DB00090938517A0938617B0938717BF91AF91D3 -:106DC0009F918F913F912F910F900FBE0F901F9029 -:106DD00018952F923F924F925F926F927F928F926F -:106DE0009F92AF92BF92CF92DF92EF92FF920F935A -:106DF0001F93CF93DF93D82FC62F8CE398E00E9488 -:106E00008062D1115AC0CC2389F00E9466808C0127 -:106E1000C12CD12CC0E0D0E0A12CB12C83E9282ECC -:106E200089E1382E44244394512C3FC00E9415938D -:106E30008111EBCF44C0C016D10608F037C1C5019F -:106E40004496C816D90608F031C12FEFC21AD20AEB -:106E50000F3F3FEF130709F0C3C10E9466808C010A -:106E60008C159D0508F04EC1F10101900020E9F755 -:106E70003197CF01835999413C01EE24E394F12CE1 -:106E800097012D56364E490146E050E065E478E022 -:106E9000C9010F94FC57892B09F0F4C0E614F704DC -:106EA0000CF43FC18FEFA81AB80A0F3F2FEF12075B -:106EB00011F60E9466808C01BECFC111A6CF3AE0C8 -:106EC000C32E30E2D32EE12CF12CC5E0D2E8812C88 -:106ED000912C540110926D1510926C15C093601591 -:106EE000D0936315D701C601880D991DAA1DBB1D3E -:106EF0008093641590936515A0936615B0936715FC -:106F00000F942E258FEF881A980AA80AB80A9AE0DB -:106F100089169104A104B104E9F62AE0C20ED11C3D -:106F2000E11CF11C32EDC31630E2D306E104F1049A -:106F300071F6C12C20E2D22EE12CF12CD5E0C2E872 -:106F400010926D1510926C15D0936015C093631557 -:106F5000C0926415D0926515E0926615F09267159F -:106F60000F942E2510926D1510926C15D09360150C -:106F7000C0936315D701C6018C529F4FAF4FBF4FCF -:106F80008093641590936515A0936615B09367156B -:106F90000F942E258FEFC81AD80AE80AF80A9AE04B -:106FA000C91690E2D906E104F10451F69EEDC92E0E -:106FB00090E2D92EE12CF12CD5E0C2E810926D15AB -:106FC00010926C15D0936015C0936315C092641530 -:106FD000D0926515E0926615F09267150F942E25F4 -:106FE0002FEFC21AD20AE20AF20A36EEC31630E2D4 -:106FF000D306E104F10411F7CC24C39482E1D82E26 -:10700000E12CF12C0AE010E0D5E0C2E810936D15F8 -:1070100000936C15D0936015C0936315C0926415EE -:10702000D0926515E0926615F09267150F942E25A3 -:1070300010936D1500936C15D0936015C093631574 -:10704000D701C6018096A11DB11D80936415909350 -:107050006515A0936615B09367150F942E258FEFD5 -:10706000C81AD80AE80AF80A95E1C91692E1D906C1 -:10707000E104F10459F68BEB93E00E94806282E117 -:1070800090E016C046E050E06CE478E0C4010F9454 -:10709000FC57892B09F402CF3FEFE31AF30AC7012B -:1070A0000197861597050CF4EBCEF8CE81E190E0C0 -:1070B00090936D1580936C1585E08093601582E840 -:1070C0008093631584E190E1A0E0B0E080936415C3 -:1070D00090936515A0936615B0936715DF91CF91D6 -:1070E0001F910F91FF90EF90DF90CF90BF90AF90E6 -:1070F0009F908F907F906F905F904F903F902F90D8 -:107100000D942E250F3F8FEF180719F40E9466800B -:107110008C0160E070E0C8018C199D090E949E807E -:10712000A3CE22E12C9FC0012D9F900D11249C0124 -:107130002B5C354E4901A7014231510514F041E164 -:1071400050E063E979E1C4010F940A5832E13C9FB1 -:10715000C0013D9F900D112465ED79E18356944E59 -:107160000F94F5578AE08C9FA0018D9F500D11243C -:10717000465F5F4D052E000C660B770BFE01EE0F90 -:10718000FF1FEE0FFF1FEE51F64E438354836583BE -:107190007683C4010F94DD247E019FEFE91AF90A7A -:1071A000F092E419E092E31950926D1540926C153B -:1071B00025E02093601532E830936315CF5FDD4EF4 -:1071C000CE01DD0FAA0BBB0B809364159093651560 -:1071D000A0936615B09367150F942E25E70165CE31 -:1071E0000C151D0508F440CE94CF4F925F926F921C -:1071F0007F928F929F92AF92BF92CF92DF92EF9247 -:10720000FF921F93CF93DF93C82F8AEA94E1909364 -:107210009219809391191092A31482E090E0A0E05B -:10722000B0E080938C1490938D14A0938E14B0933F -:107230008F141092901910928C1910928D1910922F -:107240008E1910928F198FEF9FEFDC0180938819B0 -:1072500090938919A0938A19B0938B19CC2379F153 -:10726000C53008F001C140E060E070E0CB010E9451 -:107270002E82882309F4F8C020E1C29FC0011124A6 -:107280008858984EFC01E254FE4F20812F7709F078 -:10729000EBC03C9640815181628173814436510537 -:1072A0006105710508F4E0C03497C080D180E280A8 -:1072B000F380C114D104E104F10421F4D5C0C12C40 -:1072C000D12C760140E0C701B6010E942E82182F12 -:1072D000882309F4C9C08091931790919417811560 -:1072E000924009F0C1C0A0919817AA2309F4BCC02C -:1072F00060919617709197176115710509F4B4C0E4 -:1073000080909517882009F4AFC0A0939E148092B6 -:10731000901480E0912CA12CB12C412C512C3201E5 -:107320004394C82FA3019201082E04C0220F331FDB -:10733000441F551F0A94D2F782169306A406B50679 -:1073400039F08F5FC83069F789E0809399148CC059 -:107350008093991420919E1730919F172115310524 -:1073600019F040E050E008C02091AC173091AD1703 -:107370004091AE175091AF1720939114309392140F -:10738000409393145093941446015701860E971E10 -:10739000A11CB11C80929F149092A014A092A114E1 -:1073A000B092A214E0919917F0919A17F093A51456 -:1073B000E093A414B0E00F94F152860E971EA81E1D -:1073C000B91E8092A6149092A714A092A814B0920D -:1073D000A91485E0EE0FFF1F8A95E1F7E150FE4FFB -:1073E000EF2FFF27E6958E0E9F1EA11CB11C8092E9 -:1073F0009A1490929B14A0929C14B0929D14209188 -:107400009B1730919C172115310521F0A90160E0EF -:1074100070E008C04091A8175091A9176091AA1771 -:107420007091AB17D701C60188199909AA09BB0940 -:10743000840F951FA61FB71F04C0B695A7959795F3 -:107440008795CA95D2F78093951490939614A0933C -:107450009714B0939814853F2FE09207A105B105CA -:1074600028F48CE08093A31410E01AC0853F9F4F4E -:10747000A105B10510F480E111C08091B41790917D -:10748000B517A091B617B091B7178093A614909333 -:10749000A714A093A814B093A91480E28093A31416 -:1074A000812FDF91CF911F91FF90EF90DF90CF90D0 -:1074B000BF90AF909F908F907F906F905F904F9014 -:1074C00008958F929F92AF92BF92EF92FF920F9387 -:1074D0001F93CF93DF934B015C010FE21CE0C0E0F0 -:1074E000E12CF12CD0E0F801EE0DFF1D808291829D -:1074F000A282B382A50194016D2F8C2F0E94B994B2 -:10750000DF5F84E0E80EF11CD63069F7CF5F085EDC -:107510001F4FC63029F7DF91CF911F910F91FF9038 -:10752000EF90BF90AF909F908F90089590918C0BAB -:107530009817D1F00E94C57880918C0B882359F060 -:107540004DE05DE069E07DE085E09DE00E94BD7A70 -:1075500010928C0B07C081E080938C0B85E09DE03E -:107560000E94837A0C94576B089580E00F94963AAA -:1075700060E070E080EC9FE70D94613A1F93CF9339 -:10758000DF9310918C0B80E00F94963A8FEF8093ED -:10759000750B80E090E0A0E2B1E48093BF0C909383 -:1075A000C00CA093C10CB093C20C8DEC9CECACEC65 -:1075B000BDE38093D6129093D712A093D812B093C4 -:1075C000D91280EF9FEFA9E7B4EC8093DA12909381 -:1075D000DB12A093DC12B093DD1280E9EFE2FCE055 -:1075E000DF011D928A95E9F7C0E0D0E020E030E0AD -:1075F000A9016D2F8C2F0E94B994DF5FD630B1F7AF -:10760000CF5FC63091F7112329F0DF91CF911F9101 -:107610000C94D46DDF91CF911F910895CF92DF929A -:10762000EF92FF920F931F93CF93DF93CDB7DEB707 -:107630002C970FB6F894DEBF0FBECDBF7B018C0137 -:10764000D42E9B01AC016091BF0C7091C00C809155 -:10765000C10C9091C20C0F945A4C882309F496C027 -:10766000C0908C0B80E00F94963A20E030E0A901A6 -:10767000B701C8010F94A455181624F0E12CF12C81 -:1076800000E010E0C701D8018093BF0C9093C00CBC -:10769000A093C10CB093C20C2DEB37E346E855EB39 -:1076A000B701C8010F94A45587FD0AC02DEB37E33D -:1076B00046E855E3B701C8010F945A4C18164CF42C -:1076C0009701A80160E070E080E89FE30F943E54CA -:1076D00003C060E070E0CB016093D6127093D712C4 -:1076E0008093D8129093D91280EF9FEFA9E7B4EC62 -:1076F0008093DA129093DB12A093DC12B093DD1228 -:10770000CC2009F443C08091050D9091060DA09105 -:10771000070DB091080D89839A83AB83BC83809158 -:10772000090D90910A0DA0910B0DB0910C0D8D8358 -:107730009E83AF83B88780910D0D90910E0DA0911F -:107740000F0DB091100D89879A87AB87BC8781E0B8 -:107750000F94963ADD20D1F04CE050E065E07DE0FA -:10776000CE0101960F94B657892B81F02C960FB657 -:10777000F894DEBF0FBECDBFDF91CF911F910F9167 -:10778000FF90EF90DF90CF900C94D46D2C960FB6B5 -:10779000F894DEBF0FBECDBFDF91CF911F910F9147 -:1077A000FF90EF90DF90CF900895EF92FF921F939C -:1077B000CF93DF938FE2E82E8CE0F82E16E0C0E046 -:1077C000D0E0F701EC0FFD1F608171818281938110 -:1077D0009B01AC010F94915681110CC02496C831C5 -:1077E000D10579F7115088E1E80EF11C1111E7CFAE -:1077F00081E001C080E0DF91CF911F91FF90EF9079 -:107800000895CF92DF92EF92FF926B017C0183E3A8 -:10781000C816D104E104F10470F082E3C81AD1085B -:10782000E108F10862E370E080E090E00F945936DF -:107830000E94E8D0ECCFC701B6010F945936FF90F3 -:10784000EF90DF90CF900C94E8D0CF93C82FCC234B -:1078500029F080E20E946261C150F9CFCF91089572 -:107860000F931F93CF93DF938B01EA010F94253C75 -:1078700088E20E946261043611054CF480E20E94A5 -:1078800062610A3011051CF480E20E9462616AE0C4 -:1078900070E0C8010E94F2618CE20E946261C4360D -:1078A000D1054CF480E20E946261CA30D1051CF41B -:1078B00080E20E9462616AE070E0CE010E94F261A3 -:1078C00089E20E94626165E070E080E090E0DF9113 -:1078D000CF911F910F910D94013CCF93DF93FC0149 -:1078E0008491EF012196882321F00E946261FE01BC -:1078F000F7CFDF91CF910895CF938CED93E30F9461 -:107900006D3CC0918C0B8FE59DE50F946D3CC111D2 -:1079100003C08BE59DE502C08EE59DE50F946D3CAF -:1079200083E59DE50F946D3C62E370E080E090E0BC -:10793000CF910D94013CCF92DF92EF92FF926A01BA -:107940007B010F946D3C4AE0C701B601FF90EF90B8 -:10795000DF90CF900C946961CF93DF93EB010F948C -:107960006D3CBE0180E090E04AE0DF91CF910C9445 -:107970006961CF92DF92EF92FF926A017B010F94CF -:107980006D3C42E0C701B601FF90EF90DF90CF90D1 -:107990000C940262CF93DF93EB010F946D3C6AE08D -:1079A00070E0CE01DF91CF910C94F2610F931F93A1 -:1079B000CF93DF938B010F946D3CE801899188236D -:1079C00019F00E946261FACFDF91CF911F910F9160 -:1079D000089585E39DE50D946D3C8FE29DE50D9442 -:1079E0006D3CAF92BF92CF92DF92EF92FF920F93D6 -:1079F0001F93CF93DF930F94D53B882309F453C093 -:107A00000F94ED3C88E49DE50F946D3C9FE2C92EF8 -:107A10009CE0D92EC0E0D0E0760100E010E0F70154 -:107A200060817181828193819B01AC010F94915699 -:107A3000811129C00F94ED3CBE018FE39DE50F94A9 -:107A4000CA3CB8018CE39DE50F94CA3C83E5A82E9F -:107A500088E0B82EF50181915F01882319F00E941A -:107A60006261F8CFF701608171818281938144E086 -:107A70000E9402628AE00E9462616BE470E080E032 -:107A800090E00F94013C0F5F1F4FF4E0EF0EF11CEC -:107A90000630110521F6219688E1C80ED11CC630AA -:107AA000D10509F0B9CFDF91CF911F910F91FF90D0 -:107AB000EF90DF90CF90BF90AF900895CF93DF937A -:107AC000CDB7DEB7A9970FB6F894DEBF0FBECDBF16 -:107AD000789484B5826084BD84B5816084BD85B5A9 -:107AE000826085BD85B5816085BD80916E008160B5 -:107AF00080936E001092810080918100826080935B -:107B0000810080918100816080938100809180005C -:107B10008160809380008091B10084608093B10087 -:107B20008091B00081608093B0008091910082606C -:107B30008093910080919100816080939100809169 -:107B400090008160809390008091A100826080937A -:107B5000A1008091A10081608093A1008091A0008C -:107B600081608093A0008091210182608093210137 -:107B700080912101816080932101809120018160A9 -:107B80008093200180917A00846080937A008091B4 -:107B90007A00826080937A0080917A00816080937D -:107BA0007A0080917A00806880937A001092C100F8 -:107BB0006C98749A1092A3090E94AF601092C00052 -:107BC0008091C00082608093C0001092C50087E061 -:107BD0008093C4008091C10080618093C100809136 -:107BE000C10088608093C1008091C100806880934B -:107BF000C1000F94933688EE92E30F946D3C0F947E -:107C0000ED3C14B710FF04C08FED92E30F946D3C70 -:107C100011FF04C08EEC92E30F946D3C12FF04C080 -:107C20008CEB92E30F946D3C13FF04C08BEA92E35C -:107C30000F946D3C15FF04C08AE992E30F946D3CEC -:107C400014BE83E992E30F946D3C80E20E9462616E -:107C50008AE892E30F946D3C8AE00E9462610F947F -:107C6000ED3C8AE792E30F946D3C8FE692E30F942C -:107C70006D3C84E592E30F946D3C0F94ED3C8DE3F5 -:107C800092E30F946D3C0F94ED3C8091051D909113 -:107C9000061D9E012F5F3F4F7901B901009719F032 -:107CA000681B790B02C06B507D418EE292E30F940A -:107CB000CA3C60E874E087E192E30F94CA3C8AE032 -:107CC0000E94626180910A018E7F80930A018091F7 -:107CD0000B018095817080930901E091E413F0918C -:107CE000E51382E08083E091E013F091E1131082CC -:107CF000E091E213F091E31380E180831092EC13A2 -:107D0000E091E813F091E91386E08083E091E613B7 -:107D1000F091E713808180618083E091E613F09118 -:107D2000E713808188608083E091E613F091E71388 -:107D3000808180688083E091E613F091E713808171 -:107D40008F7D80838AE5809361158093111585EA84 -:107D500080936215809312158AE1E0EBF5E1DF0173 -:107D60001D928A95E9F780E290E0A0E0B0E0809370 -:107D7000060290930702A0930802B0930902809133 -:107D8000BC09882319F083E090E002C082E090E013 -:107D900090936D1580936C1585E08093601582E853 -:107DA000809363158FE190E1A0E0B0E080936415CB -:107DB00090936515A0936615B09367150F942E25C3 -:107DC00084E690E090936D1580936C1505E0009328 -:107DD000601512E81093631586E090E1A0E0B0E032 -:107DE0008093641590936515A0936615B0936715FD -:107DF0000F942E258BE090E090936D1580936C1579 -:107E0000009360151093631580E092E1A0E0B0E06C -:107E10008093641590936515A0936615B0936715CC -:107E20000F942E2510926D1510926C15009360150D -:107E30001093631584E390E1A0E0B0E080936415B3 -:107E400090936515A0936615B09367150F942E2532 -:107E500010926D1510926C150093601510936315B8 -:107E60008AE390E1A0E0B0E08093641590936515FB -:107E7000A0936615B09367150F942E256091440D5D -:107E80007091450D8091460D9091470D0F94B0541F -:107E900070936D1560936C150093601510936315C6 -:107EA00086E390E1A0E0B0E08093641590936515BF -:107EB000A0936615B09367150F942E256091A909BC -:107EC0007091AA098091AB099091AC090F94B054BC -:107ED00070936D1560936C15009360151093631586 -:107EE0008CE390E1A0E0B0E0809364159093651579 -:107EF000A0936615B09367150F942E2582E090E04D -:107F000090936D1580936C15009360151093631515 -:107F10008EE190E1A0E0B0E0809364159093651548 -:107F2000A0936615B09367150F942E2581E080937A -:107F30000502B0E68B2EB0E19B2EA12CB12C15E0F2 -:107F4000C12E02E8D02E10926D1510926C1505E02E -:107F5000C092601512E8D0926315809264159092D9 -:107F60006515A0926615B09267150F942E25BFEF88 -:107F70008B1A9B0AAB0ABB0AE4E78E16E0E19E0669 -:107F8000A104B10401F784E1D7011D928A95E9F7B4 -:107F900081E08F9390E99F938F939BE39F938F93BF -:107FA00086E38F9388E296E09F938F93FF92EF9200 -:107FB0000F94245840E650E160E070E085E396E0DD -:107FC0000F94DD244AE650E160E070E082E496E040 -:107FD0000F94DD2444E750E160E070E0C7010F94A6 -:107FE000DD244EE750E160E070E08FEC94E00F9408 -:107FF000DD2410926D1510926C150093601510938E -:1080000063158EE090E1A0E0B0E08093641590935A -:108010006515A0936615B09367150F942E251092E1 -:108020006D1510926C1500936015109363158FE019 -:1080300090E1A0E0B0E08093641590936515A09363 -:108040006615B09367150F942E25EDB7FEB73A96D7 -:108050000FB6F894FEBF0FBEEDBFAAE08A2EA0E2D5 -:108060009A2EA12CB12C15E002E8412C512C3201A2 -:1080700010926D1510926C15109360150093631596 -:10808000D301C201880D991DAA1DBB1D80936415E3 -:1080900090936515A0936615B09367150F942E25E0 -:1080A000FFEF4F1A5F0A6F0A7F0A2AE04216510457 -:1080B00061047104E9F63AE0830E911CA11CB11C25 -:1080C00042ED841640E29406A104B10471F6812CBD -:1080D000F0E29F2EA12CB12C05E012E810926D1554 -:1080E00010926C15009360151093631580926415BF -:1080F00090926515A0926615B09267150F942E2583 -:1081000010926D1510926C15009360151093631505 -:10811000D501C4018C529F4FAF4FBF4F8093641560 -:1081200090936515A0936615B09367150F942E254F -:108130005FEF851A950AA50AB50A8AE0881680E2DB -:108140009806A104B10451F6EEED8E2EE0E29E2ECB -:10815000A12CB12C05E012E810926D1510926C154F -:1081600000936015109363158092641590926515C5 -:10817000A0926615B09267150F942E259FEF891A6D -:10818000990AA90AB90AA6EE8A16A0E29A06A104DB -:10819000B10411F78824839462E1962EA12CB12CAE -:1081A0007AE0C72ED12C05E012E8D0926D15C0926E -:1081B0006C1500936015109363158092641590926E -:1081C0006515A0926615B09267150F942E25D09272 -:1081D0006D15C0926C150093601510936315D50151 -:1081E000C4018096A11DB11D8093641590936515FF -:1081F000A0936615B09367150F942E25BFEF8B1AC9 -:108200009B0AAB0ABB0AE5E18E16E2E19E06A104D9 -:10821000B10459F686E596E00E9480620F945132CF -:108220000E94C06045EDC42E49E0D42E05E01DE05B -:1082300051E1A52E5DE0B52ED6012D913D914D91D8 -:108240005D916D01F80160817181828193810F944C -:108250004453D8016D937D938D939D938D01AA1600 -:10826000BB0651F70E94576B249A2C98809101010C -:1082700080628093010180910201807280930001ED -:1082800080910101806480930101809101018061EE -:108290008093010187ED80937A0010927E00109206 -:1082A0007D0080917D00806280937D0080917D00C3 -:1082B000806480937D0080E888BD80916E0084603A -:1082C00080936E006AEF70E080E090E00F94593682 -:1082D00085E090E0909311028093100200910C02CF -:1082E00010910D0260E0C8010E94E7FB20E030E041 -:1082F00040EA50E40F945A4C87FF07C0005111091F -:1083000010930D0200930C02E9CF8BE391E0909360 -:1083100013028093120200910E0210910F0260E08E -:10832000C8010E94E7FB20E030E84DE953E40F94D8 -:10833000A45518163CF4005F1F4F10930F020093D2 -:108340000E02E9CF00910A0210910B02C8010E94AF -:108350004EFB20E030E040EA50E40F945A4C87FF97 -:1083600007C00051110910930B0200930A02EACFD3 -:108370000091BD091091BE09C8010E944EFB20E08A -:1083800030E046E153E40F94A45518163CF4005F26 -:108390001F4F1093BE090093BD09EACF0F94892E99 -:1083A00019A682E390E09AA389A31A8219821E017A -:1083B000B1E22B0E311C01E0970141E050E0BE011B -:1083C000675D7F4FC1010E94D16089A5863119F098 -:1083D0000E942B780FC083E390E09AA389A31A82AE -:1083E000198201E0970140E150E060EC79E0C101C1 -:1083F0000E94D16081E08093BF096D98759A809149 -:1084000004018D7F80930401809105018095827025 -:108410008093030153985B9A1092D1091092D0096E -:108420000E94E96B819A879A80910A018260809309 -:108430000A010E9A3B9A579A5F9A829A8A9A809179 -:108440000701816080930701809108018095817008 -:10845000809306010A9A129A3F9A479A809A8898BE -:108460005F9A8091D2138E7F8093D213869A8E98D2 -:108470008A9A8091D2138D7F8093D21380910A01C2 -:10848000886080930A0180910B01887080930901B4 -:108490008091080180958170809306018091D213AC -:1084A0008B7F8093D2130C9A1498129A809180003B -:1084B0008C7F8093800080918100877E886080938C -:1084C0008100809180008F73809380008091810073 -:1084D000887F82608093810080E090E4909389009F -:1084E00080938800109285001092840080916F0024 -:1084F000826080936F00789486E08093D2090E9416 -:10850000FE721092D3090E94E96B98E288E10FB6DF -:10851000F894A895809360000FBE9093600010922D -:10852000CF150E94497DFE0131965F0180E00E94D7 -:10853000A6628091CF1587FD41C08091E81682FD2B -:108540003DC083FD03C00E94EB7D02C00E94C0605D -:108550008091E81683FF2FC08091CF15082E000C64 -:10856000990BC0969F938F932FEE32E33F932F93F7 -:108570003F922F920F94F24B8AEC94E10E9477A0E5 -:108580000F900F900F900F900F900F908091CD143F -:10859000823088F08091D2149091D314A091D41499 -:1085A000B091D5148F719927AA27BB27892B8A2BC5 -:1085B0008B2B09F467C1FFEFF093CF158091E8167C -:1085C00085FF1FC00E947A7D1092650B1092E10911 -:1085D0001092640B0E945C7A0E94C5788EEF0E9414 -:1085E000E96A0E94576B0E9470770E94DFFA0E942E -:1085F000CC601092140221E433E33093E30920931A -:10860000E2098DB69EB66091E2097091E3096115A9 -:10861000710581F0E12CF12CFB01EE0DFF1D749032 -:1086200087010F5F1F4F772039F03AE0731621F072 -:108630007801F2CF80E02CC0EDB7FEB7E01BF10B64 -:108640000FB6F894FEBF0FBEEDBF2DB73EB72F5F3C -:108650003F4F6901A701C9010F94944BF601EE0D3C -:10866000FF1D1082772009F445C18091E2099091A5 -:10867000E309080F191F1093E3090093E209EF289B -:1086800031F0C6010F948B0B80E00E94EC4A81E030 -:108690000FB6F8949EBE0FBE8DBE8111C3C08091EF -:1086A000650B882309F4BEC08091E81680FFA4C042 -:1086B0000091640B40E6409F800111240C51164F3D -:1086C00062E273E3C8010F94D84B009769F0DC01B4 -:1086D00013968C9180538A3038F00E9493CF8FE0AC -:1086E00093E30F946D3C8BC0F80101900020E9F7F3 -:1086F00031977F01E01AF10A109271146EE470E074 -:10870000C8010F94EA576C01892B09F400C160E29B -:1087100070E0C6010F94EA578C010F5F1F4F6AE2A9 -:1087200070E0C6010F94EA57FC013197BDE0B183B8 -:108730002AE022831382F80101900020E9F73197A3 -:108740007F01E01AF10A80917414813009F0DBC0D6 -:108750008091721481FFD7C082FF16C040918214AD -:1087600050918314609184147091851480917914D0 -:1087700090917A14A0917B14B0917C148417950782 -:10878000A607B70709F0B9C04091791450917A143F -:1087900060917B1470917C14E114F10409F0BEC067 -:1087A0008091821490918314A0918414B0918514C7 -:1087B00084179507A607B70768F44093821450936F -:1087C000831460938414709385148091721480686C -:1087D000809372148091721483FDB0C180917114E2 -:1087E000882331F00F94E93C88EF92E30F946D3CBD -:1087F0008091E81681FF03C00F94CF1202C00E943F -:10880000459D8091650B882369F081508093650BAD -:108810008091640B8F5F843018F48093640B02C0E6 -:108820001092640B8091660B882339F19091660B4E -:108830008091670B981709F10F94ED3C82E393E365 -:108840000F946D3C8091660B80FD7FC18091660B1B -:1088500084FD7BC18091660B81FD81C18091660B97 -:1088600085FD7DC18091660B82FD83C18091660B81 -:1088700086FD7FC18AE00E9462618091660B8093D1 -:10888000670B54CE40E050E0B5018AEC94E10E94C1 -:1088900039A318160CF08FCEF50101900020E9F7EE -:1088A0003197FE2EFA18FA945FEFF51669F08501FC -:1088B0000F0D111DF7FC1A95D8018C9190E00F94C3 -:1088C000AE57F8018083EFCF8A858E3709F45ECEEC -:1088D00045E050E0B101C5010F94FC57892B09F028 -:1088E00055CEC1010E94937D8091CF158F5F8093FB -:1088F000CF1564CE00E010E0BECE81E794E10E9487 -:10890000389E811141CFA1E0A093711467CF31E06F -:10891000E31AF108F801EE0DFF1D08CF80918A14CB -:1089200090918B14DC0114967C902FEF270D2A0177 -:108930003B0139E076946794579447943A95D1F780 -:10894000722E74206A01B1E0DB2271104CC0C11498 -:10895000D10409F048C0409175145091761460918B -:10896000771470917814411551056105710569F40A -:108970008091861490918714A0918814B0918914E5 -:108980000097A105B10539F51FC095010E94F98234 -:10899000882309F4B8CF89819A81AB81BC81E091A9 -:1089A0008A14F0918B142789203139F4883FEFEF36 -:1089B0009E07A105B10540F40EC0883FFFEF9F0759 -:1089C000AF07FFE0BF0738F081E794E10E94729F94 -:1089D000811109C098CF8093751490937614A09359 -:1089E0007714B093781480E092E08C199D094701C8 -:1089F0008E159F0508F44C01E0918A14F0918B14B8 -:108A00008091751490917614A0917714B091781498 -:108A10000297A109B109058404C0880F991FAA1FF4 -:108A2000BB1F0A94D2F74685578560897189840FE8 -:108A3000951FA61FB71F9C01AD01270D311D411DBC -:108A4000511D29013A01811432E0930631F58091DC -:108A5000881990918919A0918A19B0918B1948169B -:108A600059066A067B0669F4109290198FEF9FEF02 -:108A7000DC018093881990938919A0938A19B09387 -:108A80008B199801B301A2018091911990919219CB -:108A90000E94CEA0811139C036CFC114D10431F566 -:108AA0004091791450917A1460917B1470917C14E8 -:108AB0008091821490918314A0918414B0918514B4 -:108AC000481759076A077B0788F00E9431A188235D -:108AD00009F419CF91E0909390194092881950921F -:108AE000891960928A1970928B1908C041E0C301FC -:108AF000B2010E942E82882309F405CFA401B80197 -:108B0000C6018857984E0F94C3578091791490915D -:108B10007A14A0917B14B0917C14880D991DA11D2D -:108B2000B11D8093791490937A14A0937B14B09321 -:108B30007C14080D191DE818F90826CE81E794E188 -:108B40000E9471A181114ACEDECE80E00E942F7A70 -:108B5000AB01BC018EE293E30F94B93C7BCE81E084 -:108B60000E942F7AAB01BC018AE293E30F94B93CD7 -:108B700079CE82E00E942F7AAB01BC0186E293E3BA -:108B80000F94B93C77CE86E40E9472A880937D133F -:108B9000882351F00E943BA8609323027093240223 -:108BA000809325029093260283E50E9472A8882371 -:108BB00051F00E943BA860931F02709320028093A3 -:108BC00021029093220282E40E9472A8882351F02D -:108BD0000E943BA860931B0270931C0280931D02AD -:108BE00090931E020895CF93DF9381E794E10E9452 -:108BF000ADA1CEEDD6E16B97CE010E94ADA185E18E -:108C0000C03DD807C1F78FEA94E10E94ADA18AEC7C -:108C100094E1DF91CF910C94ADA1CF92DF92EF92CE -:108C2000FF926B017C0180E090E0A0E8BFE38093BD -:108C3000280290932902A0932A02B0932B028091DC -:108C4000D31381FF0E9477E9C092FE0CD092FF0CF3 -:108C5000E092000DF092010D8091D3138260809319 -:108C6000D313FF90EF90DF90CF9008958091D313AE -:108C700081FF09C06091FE0C7091FF0C8091000D86 -:108C80009091010D08956091110D7091120D8091D8 -:108C9000130D9091140D08951092D7131092D613BE -:108CA00088EE93E0A0E0B0E08093D8139093D913BE -:108CB000A093DA13B093DB138BE793E09093D51373 -:108CC0008093D41385ED90E09093E1138093E013AB -:108CD00084ED90E09093E3138093E21380ED90E0B5 -:108CE0009093E5138093E41381ED90E09093E71364 -:108CF0008093E61382ED90E09093E9138093E8135C -:108D000086ED90E09093EB138093EA131092ED13AD -:108D10001092EE131092EF131092F0131092CA14E7 -:108D20001092CD141092AF141092B214E0EDF5E150 -:108D3000108213827B9626E1EE3DF207C9F789E1A6 -:108D40008093AB141092AE141092A314109271146D -:108D50001092741480E1EEEFF4E1DF01282F1D92F0 -:108D60002A95E9F7EEEEF4E1DF011D928A95E9F725 -:108D70001092EA141092EB141092EC141092ED146D -:108D80001092E9141092E8141092E7141092E6146D -:108D90001092E5148FE79FE090930F1580930E15C6 -:108DA0008AE5809361158093111585EA8093621599 -:108DB000809312158AE1E0EBF5E1DF011D928A95BF -:108DC000E9F781E08093CA158093CB158093CC1589 -:108DD0008093CD158093CE150F94BE3A8091E816FE -:108DE000847F8B7F8093E8161092E4161092E5162C -:108DF0001092E6161092E7161092E0161092E11605 -:108E00001092E2161092E3161092DF161092DE1600 -:108E10008EE091E0E0EDF5E1DF019C011D92215033 -:108E20003040E1F78FEF8093CF1508950F945132C2 -:108E300010927517109214020E94379D882321F01A -:108E40008091E81682FF07C061E08CEE9BE50E94EE -:108E5000BCDC0C94C07683EF9BE59093E309809390 -:108E6000E209F2CFEF920F931F93CF93DF93E801C4 -:108E700047FD02C034E001C034E1042E000C550B64 -:108E800057FF03C0519541955109E32E022F242F1E -:108E9000AE010F94374FCE01DF91CF911F910F910B -:108EA000EF9008958F929F92AF92BF92CF92DF92F0 -:108EB000EF92FF92CF93DF93EC01688179818A81F1 -:108EC0009B81611571058105910521F464E279EDBD -:108ED0008BE597E02DE133EF41E050E00F94D25263 -:108EE00049015A019B01AC01A7EAB1E40F94F15288 -:108EF0006B017C01ACEEB4EFA50194010F94FF521D -:108F0000DC01CB018C0D9D1DAE1DBF1DB7FF03C045 -:108F10000197A109B04888839983AA83BB83BC01C8 -:108F2000CD019F77DF91CF91FF90EF90DF90CF90B1 -:108F3000BF90AF909F908F9008958F929F92AF9225 -:108F4000BF92CF92DF92EF92FF9260916702709191 -:108F500068028091690290916A026115710581052C -:108F6000910521F464E279ED8BE597E02DE133EF93 -:108F700041E050E00F94D25249015A019B01AC01EB -:108F8000A7EAB1E40F94F1526B017C01ACEEB4EFAF -:108F9000A50194010F94FF52DC01CB018C0D9D1DA6 -:108FA000AE1DBF1DB7FF03C00197A109B048809354 -:108FB000670290936802A0936902B0936A02BC01B1 -:108FC000CD019F77FF90EF90DF90CF90BF90AF9053 -:108FD0009F908F90089560936702709368028093CA -:108FE000690290936A0208958F929F92AF92BF9206 -:108FF000CF92DF92EF92FF920F931F93CF93DF9365 -:10900000EC016B016115710519F0FB0191838083FF -:109010007E01FFEFEF1AFF0A0881802F90E00F9486 -:109020008B4B892B11F0E701F3CF0D3239F47E0120 -:1090300082E0E80EF11C098111E008C00B3229F42E -:109040007E0192E0E90EF11C098110E0E701219711 -:1090500043E050E066EE74E0CE010F94B14B892BF3 -:10906000C1F4239645E050E061EE74E0CE010F9428 -:10907000B14B892B09F42596C114D10419F0F601DE -:10908000D183C0831111F6C060E070E080E89FE7F3 -:10909000FAC043E050E06EED74E0CE010F94B14BA6 -:1090A000892B59F4C114D10409F4E9C0F2E0EF0EA0 -:1090B000F11CF601F182E082E2C020E030E0A9017B -:1090C000C0E0D0E0F70160EDA62EA00E89E08A1581 -:1090D00030F1912F9260B92E812F887012FF04C059 -:1090E000811124C0219622C081112197A5E0B0E012 -:1090F0000F94F152DC01CB01880F991FAA1FBB1FEF -:109100009C01AD012A0D311D411D511D283989E9F0 -:109110003807480789E1580748F0166006C09EEFF7 -:10912000A9120AC013FD40C01860B12E8FEFE81AD3 -:10913000F80A00811B2DC6CF802F8F7D8534A1F5C5 -:1091400080818D3211F4106106C08B3221F031968E -:1091500061E070E004C08181329662E070E080538B -:109160008A3018F0E61BF70B1FC060E070E0603833 -:109170009CE079075CF4DB01AA0FBB1FAA0FBB1FA1 -:109180006A0F7B1F660F771F680F711D3196DF0115 -:1091900011978C9180538A3050F314FF03C071955E -:1091A00061957109C60FD71F11FF08C0C114D10402 -:1091B00029F0CF010197F60191838083CA01B9019B -:1091C0000F945F4C212F2370233019F04B015C0169 -:1091D00006C04B015C01B7FAB094B7F8B09420E038 -:1091E00030E0A901C501B4010F945A4C882309F459 -:1091F0003EC0D7FF06C0D195C195D1090DEF14E04F -:1092000002C005E115E06801F8E1CF1AD10890E24B -:10921000E92EF12CCE15DF0574F0F801259135917A -:1092200045915491C501B4010F94C04C4B015C01B0 -:10923000CE19DF09EFCF04501109F594E7940C150E -:109240001D0541F78A2D880F8B2D881F8F3F49F010 -:1092500020E030E0A901C501B4010F945A4C8111FE -:1092600006C082E290E090930A1D8093091DC5011B -:10927000B40109C060E070E080E89FEF04C060E0E6 -:1092800070E080EC9FE7DF91CF911F910F91FF90ED -:10929000EF90DF90CF90BF90AF909F908F90089508 -:1092A0003F924F925F926F927F928F929F92AF9276 -:1092B000BF92CF92DF92EF92FF920F931F93CF93C3 -:1092C000DF935C016B017A016115710519F0FB01F7 -:1092D00091838083E114F10429F0C70102978397F9 -:1092E00008F0E5C0E5012196F5011081812F90E09D -:1092F0000F948B4B892B11F05E01F4CF1D3229F4B2 -:109300002196F501118101E007C01B3221F4E5012E -:109310002296F501118100E0E114F10409F1F0E178 -:10932000EF16F10429F43FC010E3E114F10421F138 -:1093300028E0E216F10401F154F4E2E0EE16F10443 -:1093400021F5812C912CA12CB0E4BB2E3EC0FAE07B -:10935000EF16F10439F020E1E216F104B1F430C067 -:10936000103319F1FAE0EF2EF12CACEC8A2E982C88 -:10937000A82CACE0BA2E29C078E0E72EF12C812C85 -:10938000912CA12CE0E1BE2E20C060E070E080E0D6 -:1093900090E897010F2C000C440B550B0F94B05222 -:1093A00049015A0112C0103359F488818F7D8835E4 -:1093B00009F0BACF19812296026080E1E82EF12CE3 -:1093C000812C912CA12C68E0B62E40E060E070E08A -:1093D000CB0127010F2C000C66087708FE0150ED29 -:1093E000352E310E29E0231570F42FEB210F2A3191 -:1093F00018F439EC332E06C02FE9210F2A3118F565 -:1094000029EA322E310E232D30E02E153F05DCF4F3 -:1094100047FD16C086169706A806B90670F0A30188 -:1094200092010F94A052630D711D811D911D613039 -:109430007105810520E8920710F04FEF01C041E06F -:1094400021961081CBCF202F2170C114D10471F04F -:10945000442329F02197F601D183C08307C001FF7F -:1094600019C02297F601D183C08314C047FF12C0F0 -:10947000222329F060E070E080E090E804C06FEF04 -:109480007FEF8FEF9FE722E230E030930A1D2093B9 -:10949000091D09C0222381F09095809570956195F2 -:1094A0007F4F8F4F9F4F462F372F282F12C040E0FE -:1094B00030E020E090E00DC097FFF5CF82E290E031 -:1094C00090930A1D8093091D6FEF7FEF8FEF9FE749 -:1094D000EACF642F732F822FDF91CF911F910F91CD -:1094E000FF90EF90DF90CF90BF90AF909F908F90C4 -:1094F0007F906F905F904F903F9008953F924F9272 -:109500005F926F927F928F929F92AF92BF92CF9213 -:10951000DF92EF92FF920F931F93CF93DF935C0143 -:109520006B017A016115710519F0FB01918380834C -:10953000E114F10429F0C7010297839708F0C9C02C -:10954000E5012196F5011081812F90E00F948B4B5E -:10955000892B11F05E01F4CF1D3229F42196F5011B -:10956000118101E007C01B3221F4E5012296F501CB -:10957000118100E0E114F104B1F0F0E1EF16F10423 -:1095800029F4B0C010E3E114F10401F12AE0E2167D -:10959000F104B1F180E1E816F10471F0E8E0EE16B3 -:1095A000F104F1F413C0103341F588818F7D8835C3 -:1095B00049F7198122960260F0E1EF2EF12C882400 -:1095C0008A94982CA82CAFE0BA2E20C078E0E72E21 -:1095D000F12C88248A94982CA82CEFE1BE2E16C07A -:1095E0006FEF7FEFCB0197010F2C000C440B550B55 -:1095F0000F94B05249015A0109C08AE0E82EF12CBB -:1096000069E9862E982CA82C69E1B62E40E060E02E -:1096100070E0CB0127010F2C000C66087708FE01D3 -:1096200050ED352E310E29E0231570F42FEB210F6C -:109630002A3118F439EC332E06C02FE9210F2A31D4 -:1096400030F529EA322E310E232D30E02E153F055C -:10965000F4F44F3FC9F086169706A806B90688F0BD -:10966000A30192010F94A052232D30E040E050E07E -:10967000620F731F841F951F621773078407950776 -:1096800010F44FEF01C041E021961081C8CFC11402 -:10969000D10451F0442311F0219703C001FF04C00D -:1096A0002297F601D183C08300FF07C09095809573 -:1096B000709561957F4F8F4F9F4F4F3F79F482E2B6 -:1096C00090E090930A1D8093091D3FEF2FEF9FEFCD -:1096D0000DC040E030E020E090E008C0462F372F7A -:1096E000282F04C0103309F067CF5FCF642F732F8A -:1096F000822FDF91CF911F910F91FF90EF90DF901C -:10970000CF90BF90AF909F908F907F906F905F9021 -:109710004F903F90089591110D948651803219F029 -:1097200089508550C8F70895FB01DC0102C00590FF -:109730000D9241505040D8F70895FC01059006164F -:1097400021F00020D9F7C00108953197CF01089585 -:10975000FC0105900020E9F7809590958E0F9F1FE2 -:109760000895FB01DC014150504088F08D91813417 -:109770001CF08B350CF4805E659161341CF06B3508 -:109780000CF4605E861B611171F3990B0895881BC0 -:10979000FCCFFB01DC014150504048F005900D9298 -:1097A0000020C9F701C01D9241505040E0F70895D4 -:1097B000FB0155915523A9F0BF01DC014D914517DF -:1097C0004111E1F759F4CD010590002049F04D9188 -:1097D00040154111C9F3FB014111EFCF81E090E049 -:1097E000019708950F931F93CF93DF93CDB7DEB703 -:1097F0002E970FB6F894DEBF0FBECDBF0E891F891E -:109800008EE08C831A8309838FEF9FE79E838D837D -:10981000AE01465E5F4F688D798DCE0101960F9443 -:109820002D4DEF81F885E00FF11F10822E960FB6B7 -:10983000F894DEBF0FBECDBFDF91CF911F910F9186 -:1098400008950F931F93CF93DF93CDB7DEB72E9775 -:109850000FB6F894DEBF0FBECDBF8C01FA018EE0CB -:109860008C831A83098377FF02C060E070E8CB0124 -:1098700001979E838D83A901BF01CE0101960F94AC -:109880002D4D4D815E8157FD0AC02F8138854217CD -:1098900053070CF49A01F801E20FF31F10822E9681 -:1098A0000FB6F894DEBF0FBECDBFDF91CF911F91F1 -:1098B0000F9108950F949C4C08F481E00895E8946A -:1098C00009C097FB3EF490958095709561957F4F08 -:1098D0008F4F9F4F9923A9F0F92F96E9BB279395B6 -:1098E000F695879577956795B795F111F8CFFAF4C6 -:1098F000BB0F11F460FF1BC06F5F7F4F8F4F9F4FF7 -:1099000016C0882311F096E911C0772321F09EE854 -:10991000872F762F05C0662371F096E8862F70E0BA -:1099200060E02AF09A95660F771F881FDAF7880F94 -:109930009695879597F90895990F0008550FAA0BEA -:10994000E0E8FEEF16161706E807F907C0F0121652 -:109950001306E407F50798F0621B730B840B950B55 -:1099600039F40A2661F0232B242B252B21F40895AA -:109970000A2609F4A140A6958FEF811D811D089547 -:109980000F94D34C0D9450520F94425238F00F94D0 -:10999000495220F0952311F00D9439520D943F5205 -:1099A00011240D9484520F94615270F3959FC1F36A -:1099B000950F50E0551F629FF001729FBB27F00D7D -:1099C000B11D639FAA27F00DB11DAA1F649F6627D2 -:1099D000B00DA11D661F829F2227B00DA11D621F21 -:1099E000739FB00DA11D621F839FA00D611D221FDB -:1099F000749F3327A00D611D231F849F600D211DBF -:109A0000822F762F6A2F11249F5750409AF0F1F041 -:109A100088234AF0EE0FFF1FBB1F661F771F881FAA -:109A200091505040A9F79E3F510580F00D94395256 -:109A30000D9484525F3FE4F3983ED4F38695779576 -:109A40006795B795F795E7959F5FC1F7FE2B880F50 -:109A5000911D9695879597F908952F923F924F9271 -:109A60005F926F927F928F929F92AF92BF92CF92AE -:109A7000DF92EF92FF920F931F93CF93DF93CDB7B7 -:109A8000DEB72B970FB6F894DEBF0FBECDBF6C01CB -:109A90007B018A01FC0117821682838181FFCCC180 -:109AA000CE0101963C01F6019381F70193FD85916A -:109AB00093FF81917F01882309F4BAC1853239F47B -:109AC00093FD859193FF81917F01853229F4B60141 -:109AD00090E00F949F51E7CF912C212C312CFFE186 -:109AE000F315D8F08B3279F038F4803279F0833284 -:109AF000A1F4232D20611DC08D3261F0803369F403 -:109B0000232D216016C0832D8260382EE32DE46062 -:109B10003E2E2AC0F32DF8601DC037FC2DC020ED6D -:109B2000280F2A3040F08E32B9F436FC81C1232D43 -:109B30002064322E19C036FE06C08AE0989E200DA1 -:109B40001124922E11C0EAE02E9E200D1124222E07 -:109B5000F32DF0623F2E08C08C3621F4832D8068EF -:109B6000382E02C0883641F4F70193FD859193FFAA -:109B700081917F018111B3CF982F9F7D95549330B0 -:109B800028F40C5F1F4F9FE399830DC0833631F09B -:109B9000833771F0833509F059C021C0F801808105 -:109BA00089830E5F1F4F88248394912C530113C027 -:109BB0002801F2E04F0E511CF801A080B18036FE62 -:109BC00003C0692D70E002C06FEF7FEFC5010F94F5 -:109BD00094514C018201F32DFF773F2E16C02801CE -:109BE00022E0420E511CF801A080B18036FE03C075 -:109BF000692D70E002C06FEF7FEFC5010F948951AE -:109C00004C01F32DF0683F2E820133FC1BC0822DE6 -:109C100090E088169906B0F4B60180E290E00F94C7 -:109C20009F512A94F4CFF50137FC859137FE81913D -:109C30005F01B60190E00F949F5121102A9421E01A -:109C4000821A91088114910471F7E8C0843611F0EA -:109C5000893641F5F80137FE07C060817181828144 -:109C600093810C5F1F4F08C060817181072E000C2B -:109C7000880B990B0E5F1F4FF32DFF763F2E97FF3A -:109C800009C090958095709561957F4F8F4F9F4F3C -:109C9000F0683F2E2AE030E0A3010F94DB51882EBC -:109CA000861845C0853731F4232D2F7EB22E2AE049 -:109CB00030E025C0932D997FB92E8F36C1F018F46E -:109CC000883579F0B5C0803719F0883721F0B0C0F9 -:109CD000E92FE061BE2EB4FE0DC0FB2DF460BF2E57 -:109CE00009C034FE0AC0292F2660B22E06C028E023 -:109CF00030E005C020E130E002C020E132E0F801B0 -:109D0000B7FE07C060817181828193810C5F1F4F14 -:109D100006C06081718180E090E00E5F1F4FA3015B -:109D20000F94DB51882E8618FB2DFF773F2E36FED1 -:109D30000DC0232D2E7FA22E891458F434FE0BC0A3 -:109D400032FC09C0832D8E7EA82E05C0B82CA32C12 -:109D500003C0B82C01C0B92CA4FE0FC0FE01E80D51 -:109D6000F11D8081803321F49A2D997EA92E09C09E -:109D7000A2FE06C0B394B39404C08A2D867809F07D -:109D8000B394A3FC11C0A0FE06C0B21488F4280C42 -:109D9000922C9B180EC0B21460F4B60180E290E0E1 -:109DA0000F949F51B394F7CFB21418F42B1802C03C -:109DB000982C212CA4FE10C0B60180E390E00F94F3 -:109DC0009F51A2FE17C0A1FC03C088E790E002C02B -:109DD00088E590E0B6010CC08A2D867859F0A1FE86 -:109DE00002C08BE201C080E2A7FC8DE2B60190E0E8 -:109DF0000F949F51891438F4B60180E390E00F94DA -:109E00009F519A94F7CF8A94F301E80DF11D808158 -:109E1000B60190E00F949F518110F5CF222009F4F4 -:109E200042CEB60180E290E00F949F512A94F6CF83 -:109E3000F6018681978102C08FEF9FEF2B960FB6B8 -:109E4000F894DEBF0FBECDBFDF91CF911F910F9170 -:109E5000FF90EF90DF90CF90BF90AF909F908F904A -:109E60007F906F905F904F903F902F9008958F92CA -:109E70009F92AF92BF92CF92DF92EF92FF920F9399 -:109E80001F93CF93DF93CDB7DEB729970FB6F89422 -:109E9000DEBF0FBECDBF6A01122FB02E2BE32017FD -:109EA00020F0FF24F394F00E02C02CE3F22E0F2DCD -:109EB00027E0AE014F5F5F4F0F94AE50BC01498168 -:109EC000842F8970813031F0E1FC06C0E0FE06C0CD -:109ED00090E205C09DE203C09BE201C090E05E2DD0 -:109EE000507143FF3CC0911102C083E001C084E087 -:109EF000811718F4212F281B01C020E051110BC03D -:109F0000F601822F30E2882319F031938150FBCF84 -:109F1000C20ED11C20E0992329F0D6019C93F601B2 -:109F200031966F01C6010396E2FE0AC03EE4D601F7 -:109F30003C9341E411964C93119712963C9306C0C2 -:109F40003EE6F601308341E641833283FC01322F45 -:109F500040E2332309F442C041933150FACF42FF2B -:109F600044C0911102C083E001C084E0811718F45D -:109F7000212F281B01C020E051110BC0F601822FB8 -:109F800030E2882319F031938150FBCFC20ED11CEF -:109F900020E0992329F0D6019C93F60131966F01B8 -:109FA000C6010396E2FE0BC039E4D6013C933EE4C1 -:109FB00011963C93119736E412963C9307C039E60C -:109FC000F60130833EE6318336E63283FC01322FE0 -:109FD00040E2332319F041933150FBCFFC01E20FF3 -:109FE000F11D10828EEF9FEFA6C021E030E09111AD -:109FF00002C020E030E0161617061CF4FB01319673 -:10A0000002C0E1E0F0E02E0F3F1FBB2021F0EB2D5E -:10A01000F0E0319602C0E0E0F0E02E0F3F1FE12FAC -:10A02000F0E02E173F071CF4121B212F01C020E087 -:10A030008E2D887159F4F601822F30E2882319F0B1 -:10A0400031938150FBCFC20ED11C20E0992329F01F -:10A05000D6019C93F60131966F0151110BC0F601A8 -:10A06000822F90E3882319F091938150FBCFC20E89 -:10A07000D11C20E00F2D060F9A81342F307144FF40 -:10A0800003C0913309F40150101624F4093018F07C -:10A0900008E001C001E0AB0177FF02C040E050E002 -:10A0A000FB01E41BF50BA1E0B0E0AC0FBD1FEA0F14 -:10A0B000FB1F8EE2A82E4B01801A91080B2D10E099 -:10A0C0001195019511094F3FBFEF5B0721F4D601B0 -:10A0D000AC9211966D01641775072CF084169506E5 -:10A0E00014F4818101C080E3415051093196D601B9 -:10A0F00011967D014017510724F0D6018C9367011A -:10A10000E2CF6417750739F4963320F4953319F4C8 -:10A11000311101C081E3F6018083F701822F90E2C3 -:10A12000882319F091938150FBCFF701E20FF11DC5 -:10A13000108280E090E029960FB6F894DEBF0FBE43 -:10A14000CDBFDF91CF911F910F91FF90EF90DF90E6 -:10A15000CF90BF90AF909F908F900895283008F0D7 -:10A1600027E03327DA01990F311D87FD91600096B2 -:10A170006105710539F432602E5F3D9330E32A9515 -:10A18000E1F708959F3F30F080387105610509F0CF -:10A190003C5F3C5F3D93913008F08068911DDF93F8 -:10A1A000CF931F930F93FF92EF92192F987F96955D -:10A1B000E92F96959695E90FFF27ED58FA4F9927C5 -:10A1C0003327EE24FF24A701E701059008940794A4 -:10A1D00028F4360FE71EF81E491F511D660F771F22 -:10A1E000881F991F0694A1F70590079428F4E70E9D -:10A1F000F81E491F561FC11D770F881F991F661F24 -:10A200000694A1F70590079428F4F80E491F561FED -:10A21000C71FD11D880F991F661F771F0694A1F7CE -:10A220000590079420F4490F561FC71FD81F990F98 -:10A23000661F771F881F0694A9F7849110951770E1 -:10A2400041F0D695C79557954795F794E7941A9599 -:10A25000C1F7E9E1F5E068941590159135916591A4 -:10A26000959105907FE27395E118F10A430B560B27 -:10A27000C90BD009C0F7E10CF11E431F561FC91FBF -:10A28000D01D7EF4703311F48A95E6CFE894015026 -:10A2900030F0080F0AF40027021708F4202F239546 -:10A2A000022F7A3328F079E37D932A95E9F710C0DD -:10A2B0007D932A9589F60694979567953795179516 -:10A2C0001794E118F10A430B560BC90BD00998F00B -:10A2D00023957E9173957A3308F070E37C93201375 -:10A2E000B8F77E9170617D9330F0839571E37D9333 -:10A2F00070E32A95E1F71124EF90FF900F911F91E1 -:10A30000CF91DF91992787FD909508959927882708 -:10A310000895FC010590615070400110D8F78095B8 -:10A3200090958E0F9F1F0895FC0161507040019021 -:10A330000110D8F7809590958E0F9F1F08950F9369 -:10A340001F93CF93DF93FB01238121FD03C08FEF88 -:10A350009FEF2CC022FF16C0468157812481358192 -:10A360004217530744F4A081B1819D012F5F3F4FF5 -:10A37000318320838C93268137812F5F3F4F378332 -:10A38000268314C08B01EC01FB010084F185E02DD4 -:10A390001995892BE1F6D80116968D919C91179706 -:10A3A000019617969C938E931697CE01DF91CF91CD -:10A3B0001F910F910895FA01AA27283051F12031F9 -:10A3C00081F1E8946F936E7F6E5F7F4F8F4F9F4F49 -:10A3D000AF4FB1E03ED0B4E03CD0670F781F891F8B -:10A3E0009A1FA11D680F791F8A1F911DA11D6A0F59 -:10A3F000711D811D911DA11D20D009F468943F910C -:10A400002AE0269F11243019305D3193DEF6CF010A -:10A410000895462F4770405D4193B3E00FD0C9F7D0 -:10A42000F6CF462F4F70405D4A3318F0495D31FD3D -:10A430004052419302D0A9F7EACFB4E0A695979590 -:10A44000879577956795BA95C9F700976105710566 -:10A4500008959B01AC010A2E0694579547953795B0 -:10A460002795BA95C9F7620F731F841F951FA01D0A -:10A47000089597F99F6780E870E060E008959FEF86 -:10A4800080EC089500240A9416161706180609068B -:10A49000089500240A94121613061406050608955A -:10A4A000092E0394000C11F4882352F0BB0F40F4E2 -:10A4B000BF2B11F460FF04C06F5F7F4F8F4F9F4F22 -:10A4C000089557FD9058440F551F59F05F3F71F0A4 -:10A4D0004795880F97FB991F61F09F3F79F087950B -:10A4E0000895121613061406551FF2CF4695F1DF94 -:10A4F00008C0161617061806991FF1CF8695710524 -:10A50000610508940895E894BB2766277727CB0157 -:10A5100097F90895F999FECF92BD81BDF89A9927D0 -:10A5200080B50895262FF999FECF1FBA92BD81BD3F -:10A5300020BD0FB6F894FA9AF99A0FBE01960895C5 -:10A54000DB018F939F930F94F152BF91AF91A29F24 -:10A55000800D911DA39F900DB29F900D1124089521 -:10A56000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F17 -:10A57000EE1FFF1FA217B307E407F50720F0A21B89 -:10A58000B30BE40BF50B661F771F881F991F1A94F6 -:10A5900069F760957095809590959B01AC01BD0120 -:10A5A000CF010895052E97FB1EF400940F94E952F5 -:10A5B00057FD07D00F94B05207FC03D04EF40D9412 -:10A5C000E95250954095309521953F4F4F4F5F4F41 -:10A5D000089590958095709561957F4F8F4F9F4F0F -:10A5E00008950F940453A59F900DB49F900DA49FC0 -:10A5F000800D911D11240895B7FF0D94F1520F9411 -:10A60000F152821B930B0895A29FB001B39FC0012A -:10A61000A39F700D811D1124911DB29F700D811D8E -:10A620001124911D0895AA1BBB1B51E107C0AA1F4D -:10A63000BB1FA617B70710F0A61BB70B881F991FE3 -:10A640005A95A9F780959095BC01CD01089597FB87 -:10A65000072E16F4009407D077FD09D00F941353FA -:10A6600007FC05D03EF4909581959F4F0895709515 -:10A6700061957F4F0895EE0FFF1F881F8BBF0790D6 -:10A68000F691E02D19945058BB27AA270F945B53DD -:10A690000D9450520F94425238F00F94495220F0CA -:10A6A00039F49F3F19F426F40D943F520EF4E095CF -:10A6B000E7FB0D943952E92F0F94615258F3BA1702 -:10A6C000620773078407950720F079F4A6F50D94C7 -:10A6D00083520EF4E0950B2EBA2FA02D0B01B90179 -:10A6E00090010C01CA01A0011124FF27591B99F008 -:10A6F000593F50F4503E68F11A16F040A22F232F14 -:10A70000342F4427585FF3CF469537952795A79563 -:10A71000F0405395C9F77EF41F16BA0B620B730B0A -:10A72000840BBAF09150A1F0FF0FBB1F661F771F7B -:10A73000881FC2F70EC0BA0F621F731F841F48F430 -:10A74000879577956795B795F7959E3F08F0B0CFB9 -:10A750009395880F08F09927EE0F979587950895A0 -:10A760000F94425260F080E891E009F49EEF0F945C -:10A77000495228F040E851E071F45EEF0CC00D94AE -:10A780003F520D948352E92FE0780F94615240F3C9 -:10A79000092E052AB1F3261737074807590738F05D -:10A7A0000E2E07F8E02569F0E025E0640AC0EF63AB -:10A7B00007F8009407FADB01B9019D01DC01CA0129 -:10A7C000AD01EF930F9455540F9450520F94F353DF -:10A7D0005F91552339F02BED3FE049E450FD49EC02 -:10A7E0000D9444530895DF93DD27B92FBF7740E8D8 -:10A7F0005FE31616170648075B0718F4D92F0F9466 -:10A80000A9559F938F937F936F930F948256ECEF8C -:10A81000F1E00F9426550F9450522F913F914F9194 -:10A820005F910F94D34CDD2351F09058A2EA2AEDAA -:10A830003FE049EC5FE3D0785D270F945B53DF91F5 -:10A840000D9450520F948C5590F09F3748F491110D -:10A8500016F40D94845260E070E080E89FE3089560 -:10A8600026F01B16611D711D811D0D94FD540D9464 -:10A8700018550F944F55E3950D9478550F945254F5 -:10A880000D9450520F94495258F00F94425240F098 -:10A8900029F45F3F29F00D94395251110D948452DF -:10A8A0000D943F520F94615268F39923B1F35523ED -:10A8B00091F3951B550BBB27AA27621773078407D3 -:10A8C00038F09F5F5F4F220F331F441FAA1FA9F369 -:10A8D00035D00E2E3AF0E0E832D091505040E69557 -:10A8E000001CCAF72BD0FE2F29D0660F771F881FB8 -:10A8F000BB1F261737074807AB07B0E809F0BB0BAB -:10A90000802DBF01FF2793585F4F3AF09E3F5105BE -:10A9100078F00D9439520D9484525F3FE4F3983EE1 -:10A92000D4F3869577956795B795F7959F5FC9F7A7 -:10A93000880F911D9695879597F90895E1E0660F28 -:10A94000771F881FBB1F621773078407BA0720F0A1 -:10A95000621B730B840BBA0BEE1F88F7E09508950A -:10A960000F94B7546894B1110D94845208950F94C4 -:10A97000695288F09F5798F0B92F9927B751B0F0D6 -:10A98000E1F0660F771F881F991F1AF0BA95C9F773 -:10A9900014C0B13091F00F948352B1E008950D943A -:10A9A0008352672F782F8827B85F39F0B93FCCF3EF -:10A9B000869577956795B395D9F73EF490958095F0 -:10A9C000709561957F4F8F4F9F4F08950F948C55D1 -:10A9D00090F09F3748F4911116F00D94845260E086 -:10A9E00070E080E89FEB089526F41B16611D711D31 -:10A9F000811D0D94FD540D941855882371F477230F -:10AA000021F09850872B762F07C0662311F49927E1 -:10AA10000DC09051862B70E060E02AF09A95660F89 -:10AA2000771F881FDAF7880F9695879597F908950D -:10AA30009F3F31F0915020F4879577956795B795B2 -:10AA4000880F911D9695879597F90895DF93CF9379 -:10AA50001F930F93FF92EF92DF927B018C0168941A -:10AA600006C0DA2EEF010F94D34CFE01E894A591B5 -:10AA70002591359145915591A6F3EF010F945B53C4 -:10AA8000FE019701A801DA9469F7DF90EF90FF903B -:10AA90000F911F91CF91DF9108950D943F520F9424 -:10AAA0006952D8F3E894E0E0BB279F57F0F02AED15 -:10AAB0003FE049EC06C0EE0FBB0F661F771F881FF3 -:10AAC00028F0B23A62077307840728F0B25A620B83 -:10AAD000730B840BE3959A9572F7803830F49A954E -:10AAE000BB0F661F771F881FD2F790480D941A5529 -:10AAF000EF93E0FF07C0A2EA2AED3FE049EC5FEBED -:10AB00000F945B530F9450520F90039401FC905894 -:10AB1000E9E2F2E00D94D7560F946952A0F0BEE737 -:10AB2000B91788F4BB279F3860F41616B11D672F3C -:10AB3000782F8827985FF7CF869577956795B11D11 -:10AB400093959639C8F308950F949C4C08F48FEFB1 -:10AB500008959B01AC0160E070E080E89FE30D94F4 -:10AB60003E540F94695258F19E5760F19851A0F0ED -:10AB7000E9F0983020F5092E9927660F771F881F76 -:10AB8000991F0A94D1F712C0062E672F782F8827B5 -:10AB9000985F11F4000C07C0993FB4F38695779540 -:10ABA00067959395D9F7611D711D811D3EF49095B0 -:10ABB0008095709561957F4F8F4F9F4F0895689452 -:10ABC0000D9484520D948352FA01EE0FFF1F3096BC -:10ABD00021053105A1F16115710561F48038BFE3EC -:10ABE0009B0749F168949038810561F08038BFEF88 -:10ABF0009B0741F099234AF5FF3FE1053105210507 -:10AC000019F1E8940894E795D901AA2329F4AB2F08 -:10AC1000BE2FF85FD0F310C0FF5F70F4A695E0F789 -:10AC2000F73950F019F0FF3A38F49F779F930DD021 -:10AC30000F9007FC9058089546F00D943F5260E045 -:10AC400070E080E89FE308954FE79F775F934F930D -:10AC50003F932F930F942D572F913F914F915F91D9 -:10AC60000F94C04C0D949E569F930F944F550F9088 -:10AC700007FCEE5F0D94785519F416F40D943F52CD -:10AC80000D9418550F946952B8F39923C9F3B6F38C -:10AC90009F57550B87FF0F94D0560024A0E640EA3B -:10ACA000900180585695979528F4805C660F771F21 -:10ACB000881F20F026173707480730F4621B730BF4 -:10ACC000840B202931294A2BA69517940794202517 -:10ACD00031254A2758F7660F771F881F20F026175F -:10ACE0003707480730F4620B730B840B200D311DBE -:10ACF000411DA09581F7B901842F9158880F969531 -:10AD0000879508959B01AC010D94C04C0F948C5510 -:10AD100030F09F3710F40D9484520D94FD540D942F -:10AD200018550F949C4C880B990B089529F416F034 -:10AD30000D9439520D9483520D943F520F946952E1 -:10AD4000A8F39638A0F707F80F92E8942BE33AEAB5 -:10AD500048EB5FE70F94D64C0F920F920F924DB7CE -:10AD60005EB70F920F947557E7E4F2E00F94265503 -:10AD70004F915F91EF91FF91E595EE1FFF1F49F015 -:10AD8000FE57E0684427EE0F441FFA95E1F741951E -:10AD9000550B0F94EF560F9007FE0D94A95508958B -:10ADA00091505040660F771F881FD2F708959F93E8 -:10ADB0008F937F936F93FF93EF939B01AC010F945D -:10ADC000C04CEF91FF910F9426552F913F914F91D9 -:10ADD0005F910D94C04C0D9439520D9418550F94F9 -:10ADE0006952D8F39923C9F3940F511DA3F39150DD -:10ADF000504094F059F0882332F0660F771F881F77 -:10AE000091505040C1F79E3F51052CF7880F911D7E -:10AE10009695879597F908955F3FACF0983E9CF022 -:10AE2000BB27869577956795B79508F4B16093959C -:10AE3000C1F7BB0F58F711F460FFE8CF6F5F7F4F8A -:10AE40008F4F9F4FE3CF0D94845216F00D941855F9 -:10AE50000D943F5268940D9439520F946952A8F39F -:10AE60009923C1F3AEF3DF93CF931F930F93FF9218 -:10AE7000C92FDD2788232AF02197660F771F881FA7 -:10AE8000DAF720E030E040E85FEB9FE3883920F01C -:10AE9000803E38F021968F770F944453EFE6F2E02E -:10AEA00004C00F944453ECE9F2E00F9426558B0153 -:10AEB000BE01EC01FB2E6F5771097595771F880B4A -:10AEC000990B0F94614C28E132E741E35FE30F9463 -:10AED000D34CAF2D9801AE01FF900F911F91CF91F0 -:10AEE000DF910F945B530D945052FA01DC01AA0FCD -:10AEF000BB1F9B01AC01BF5728F4222733274427EF -:10AF0000507820C0B75190F4AB2F00244695379568 -:10AF10002795011CA395D2F3002071F0220F331F57 -:10AF2000441FB395DAF30ED00D944353613071058D -:10AF3000A0E88A07B94630F49B01AC016627772761 -:10AF400088279078309621F0208331834283538381 -:10AF5000089581E090E0F8940D945358911108956C -:10AF600081548A5108F4805E855A0895FB01DC0102 -:10AF700004C08D910190801921F441505040C8F7D0 -:10AF8000881B990B0895FB01DC0102C001900D9212 -:10AF900041505040D8F70895FB01DC018D91813478 -:10AFA0001CF08B350CF4805E619161341CF06B35C4 -:10AFB0000CF4605E861B611189F3990B0895FB0107 -:10AFC000DC010D900020E9F7119701900D9200200F -:10AFD000E1F70895FC018191861721F08823D9F7C4 -:10AFE000992708953197CF010895FB01DC01019065 -:10AFF0000D920020E1F70895FB01DC014150504023 -:10B0000030F08D910190801919F40020B9F7881B58 -:10B01000990B0895FB01DC014150504048F001902C -:10B020000D920020C9F701C01D9241505040E0F739 -:10B030000895FC0181E090E00190061609F4CF012B -:10B040000020D1F7019708950F931F93CF93DF93BB -:10B05000CDB7DEB72E970FB6F894DEBF0FBECDBFCB -:10B060000E891F8986E08C831A8309838FEF9FE7FF -:10B070009E838D83AE01465E5F4F688D798DCE01D4 -:10B0800001960F942D4DEF81F885E00FF11F10828E -:10B090002E960FB6F894DEBF0FBECDBFDF91CF91D5 -:10B0A0001F910F9108951EE2C8EBDEE200E006C09A -:10B0B000802FFE010F943B532196011DC93BD10700 -:0AB0C00080E00807A9F7F894FFCF1D -:10B0CA0002C0D401000180000000FF3FFF3F0000E2 -:10B0DA000000FF3F010000A040640000007A430026 -:10B0EA00005243CDCCCC3D010000C8410000000015 -:10B0FA0000009D430000000000009B430000000088 -:10B10A000000C8430164000000803FA00001FFFF67 -:10B11A00FFFF01010000803F5CFF79C480800110BD -:10B12A00FF0601CDCCCC3C01000000021000000457 -:10B13A0010000006100000081000000A1000000CA1 -:10B14A0010000026100000301000003210000034F9 -:10B15A001000003A1000003E1000004010000044A9 -:10B16A0010000046100000481000004A1000004C71 -:10B17A001000005410000056100000581000005C27 -:10B18A001000005E1000005F100000881000000030 -:10B19A0000000000409C4500007A4500007A430008 -:10B1AA00007042EE020000EE020000640000003C63 -:10B1BA000000000000A0420000A0420000C84300B6 -:10B1CA00000C430000FA430000FA4300002041004B -:10B1DA00008C42B400F00046006E000000404000BF -:10B1EA0000344200000000000000000000000000DF -:10B1FA0000504100000000000000416400000064AB -:10B20A000000000300000064000000640000000366 -:10B21A00000000030000001E0000001E0000001EC7 -:10B22A000000001E0000001E0000001E0000005664 -:10B23A0037300058595A4500000000FB7B647B9266 -:10B24A007B487CC37BA17BB57B2A2A2A496E697419 -:10B25A00696E672063617264206973204F4B2A2AE2 -:10B26A002A002A2A2A496E6974696E672063617204 -:10B27A0064206661696C732A2A2A002A2A2A436191 -:10B28A0072642052656D6F7665642A2A2A003D3DF4 -:10B29A007761697477617920313D3D003D3D776181 -:10B2AA00697477617920333D3D002020737461729F -:10B2BA007470726F6772657373200020202A2A2ABD -:10B2CA002A2A2A2A5254535F48616E646C65446183 -:10B2DA0074612A2A2A2A2A2A2A2A20003D3D204342 -:10B2EA006865636B6B65793D3D000A2048616E6451 -:10B2FA006C652044617461205072696E7446696C91 -:10B30A006520312053657474696E672053637265D2 -:10B31A00656E20000A2048616E646C652044617481 -:10B32A0061205072696E7446696C652032205365DB -:10B33A007474696E672053637265656E20000A2013 -:10B34A0048616E646C652044617461205072696E54 -:10B35A007446696C6520332053657474696E67207E -:10B36A0053637265656E20000A2048616E646C65DD -:10B37A0020446174612041646A75737420322053D9 -:10B38A00657474696E672053637265656E20007414 -:10B39A00696E796D616368696E657333642E636F74 -:10B3AA006D004368696E657365204E6F742053752E -:10B3BA0070706F7274656400456E676C697368209B -:10B3CA00416C72656164792053657400496E7661D7 -:10B3DA006C6964204F7074696F6E000A204E6F208A -:10B3EA0046696C616D656E74002046696C616D65B5 -:10B3FA006E7420526573706F6E7365204E6F0046CF -:10B40A00696C616D656E7420537461742030202DEF -:10B41A0020310046696C616D656E742053746174E5 -:10B42A002030202D20320046696C616D656E7420D3 -:10B43A00537461742030202D20330046696C656E88 -:10B44A00616D65005265636461746100202020208B -:10B45A0020202020200025642F2564003D3D7761AF -:10B46A00697477617920343D3D003D3D77616974A7 -:10B47A0077617920353D3D003D3D48656174696ECF -:10B48A006720446F6E65204368616E676520466970 -:10B49A006C616D656E743D3D00526573756D652016 -:10B4AA0059657320647572696E67207072696E746B -:10B4BA000046696C656E616D652D4D656469610054 -:10B4CA00436C69636B20746F20526573756D652ECA -:10B4DA002E2E003D3D6F6E46696C616D656E74522D -:10B4EA00756E6F75743D3D002564205820256420D3 -:10B4FA005820256400544D33442031305320507273 -:10B50A006F00322E305F44573320544D334420535A -:10B51A00534D444E55003D3D4477696E20496E694E -:10B52A007420436F6D706C6574653D3D003D3D6FE1 -:10B53A006E466163746F727952657365743D3D003E -:10B54A003D3D6F6E436F6E66696775726174696FB0 -:10B55A006E53746F7265526561643D3D0042656465 -:10B56A0020583A200020593A2000205A3A20003D1B -:10B57A003D6F6E5072696E7454696D657253746171 -:10B58A00727465643D3D003D3D6F6E436F6E666942 -:10B59A006775726174696F6E53746F7265577269F9 -:10B5AA007474656E3D3D0073746F7070696E6720C8 -:10B5BA003D3D002F2F616374696F6E3A63616E635C -:10B5CA00656C003D3D6F6E5072696E7454696D65AD -:10B5DA007253746F707065643D3D002F00590058B6 -:10B5EA00003D3D6F6E55736572436F6E6669726D8D -:10B5FA0052657175697265643D3D003F3F3F003D8C -:10B60A003D6F6E4C6F616453657474696E67733D08 -:10B61A003D003D3D6F6E53746F7265536574746976 -:10B62A006E67733D3D00455252005265686561740C -:10B63A002066696E69736865642E003A207A3A203A -:10B64A0000206D65616E3A2000207369676D613A6A -:10B65A002000206D696E3A2000206D61783A200042 -:10B66A002072616E67653A20004D65616E3A20006E -:10B67A00204D696E3A2000204D61783A2000205210 -:10B68A00616E67653A20005374616E64617264206A -:10B69A00446576696174696F6E3A2000556E746FFD -:10B6AA007563686564200050756C73696E67202045 -:10B6BA0020004D65616E204D657368204865696795 -:10B6CA0068743A200062656420706C616E65206E51 -:10B6DA006F726D616C203D205B002A2A2A6B696CAF -:10B6EA006C2A2A2A003D3D6F6E5072696E74546945 -:10B6FA006D65725061757365643D3D0053445570C4 -:10B70A0064617465002E67636F6465002E47434F5A -:06B71A00444500205A0026 -:00000001FF diff --git a/CRX_ABL_1.70_ScreenFiles.7z b/CRX_ABL_1.70_ScreenFiles.7z deleted file mode 100644 index 56a86cb99f..0000000000 Binary files a/CRX_ABL_1.70_ScreenFiles.7z and /dev/null differ diff --git a/CRX_BLTouch_DualFil_BIL_DW3.hex b/CRX_BLTouch_DualFil_BIL_DW3.hex deleted file mode 100644 index 398056a6ef..0000000000 --- a/CRX_BLTouch_DualFil_BIL_DW3.hex +++ /dev/null @@ -1,10129 +0,0 @@ -:100000000C94A41D0C94D51D0C94D51D0C94D51DD9 -:100010000C94D51D0C94D51D0C94D51D0C94D51D98 -:100020000C94D51D0C94D51D0C94D51D0C94D51D88 -:100030000C94D51D0C94D51D0C94D51D0C94D51D78 -:100040000C94D51D0C9495650C94D51D0C94D51D60 -:100050000C94D51D0C94D51D0C949CA60D945A1E81 -:100060000C94D51D0C94ED5B0C94E35B0C94D51DA6 -:100070000C94D51D0C94D51D0C94D51D0C94D51D38 -:100080000C947D530C94D51D0C94D51D0C94D51D4A -:100090000C94D51D0C94D51D0C94D51D0C94D51D18 -:1000A0000C94D51D0C94D51D0C944F530C94D51D58 -:1000B0000C94D51D0C94D51D0C94D51D0C94215376 -:1000C0000C94D51D0C94D51D0C94D51D0C94925EEA -:1000D0000C94685E0C94D51D0C94D51D0C94D51D04 -:1000E0000C94D51D841FCA1FD01FF71F04200D209C -:1000F0001820DC27EE28CB29FE29AE35AE35192B8A -:10010000BC2BCA28AE35AE355B2DF52E2D2FAE3566 -:100110002B31AE35AE357B32AE35AE3505333833A7 -:10012000AE350634C1343C2F442F682F8C2FC02F9E -:100130006330773090309D30AA30BE30205C265C32 -:10014000385C485C505C7D5C545C7D5C585C5C5CFD -:100150007D5C605C645C685C705C7D5C7A5C89A9D9 -:100160008CA97BA97FA985A9C3A990A994A99AA9BB -:100170009EA9A2A9A8A9ACA9B0A9C3A9B6A9BAA9C0 -:10018000BEA959C25CC260C263C266C290C26AC2E2 -:100190006DC271C274C277C27BC27EC281C290C27C -:1001A00085C288C28BC24101CB01B90193015501BF -:1001B000270139015D01E1016101D3018F019D0139 -:1001C00047012701CD017301F3010102F501F70198 -:1001D0003B0133010D02AD018301C7010902CF01CB -:1001E000E3011302B5010D025101C9011F01084AC3 -:1001F000D73B3BCE016E84BCBFFDC12F3D6C74313B -:100200009ABD56833DDA3D00C77F11BED9E4BB4C91 -:100210003E916BAAAABE000000803F05A84CCDB25B -:10022000D44EB93836A9020C50B9918688083CA63C -:10023000AAAA2ABE000000803F000D943A280D941F -:10024000E21D0C947B320C94CA280C9474C20D9459 -:10025000F30C0C94C75D0C94705C0C9404200C940B -:10026000A8A90C94A2A90D94731D0C9488C20C9497 -:1002700018200D94610B0D94691D0C9406340C9498 -:10028000605C0D94B00A0C94CA1F0C94585C0D94D9 -:10029000600C0C94841F0C9471C20C947A5C0C94C6 -:1002A00090A90D94CE1D0C945C5C0D943C0B0C94A9 -:1002B0008BC20C94F71F0C94B6A90D94840B0C946C -:1002C0008C2F0D94CC0B0C949D300C947BC20C9411 -:1002D000685C0C94345D0C94C1340C94ACA90C94FF -:1002E000AE350C943C2F0D94AA0C0C9460C20C9467 -:1002F0007FA90C9477C20C94115D0C9438330C9444 -:1003000085C20C94385C0D94851D0C9459C20C94D4 -:100310005CC20C94205C0C942B310C94FE290D943F -:10032000160C0C9490300D94170B0C94C02F0C9459 -:1003300094A90C94645C0C94BEA90D943B0C0C9491 -:1003400066C20C94682F0C946AC20C9489A90C9410 -:10035000442F0C947A5D0C94AA300D947D1D0C945E -:10036000BE300C94BC2B0C947EC20D94C41D0C9416 -:10037000C3A90D94F20A0C9481C20C9463C20C942C -:10038000205D0C949AA90C9477300C945B2D0D94FD -:100390008D1D0D94D81D0D94D20A0D94850C0D94CD -:1003A000A11D0C9485A90D94F10B0C942D2F0C9488 -:1003B00063300C946DC20C947BA90C949EA90C9490 -:1003C00090C20D94A70B0D94AB1D0C94485C0C943B -:1003D000D01F0C94505C0C94BAA90C94425D0C9400 -:1003E000EE280C94545C0D94CF0C0D945A1D0D9472 -:1003F0005F1D0C94F52E0C94CB290D946E270C9454 -:10040000192B0D94551D0C9405330C94B0A90C9424 -:10041000265C0D94971D0C940D200D94EC1D0C94EE -:10042000E35C0C94DC270D94BA1D0C947D5C0C9459 -:100430008CA94E414E494E495459494E46CDCCCCDB -:100440003D0AD7233C17B7D13877CC2B329595E6A8 -:10045000241FB14F0A000020410000C84200401C88 -:100460004620BCBE4CCA1B0E5AAEC59D7400407AD5 -:1004700010F35A00A0724E18090010A5D4E800002D -:10048000E87648170000E40B54020000CA9A3B00CB -:100490000000E1F505000080969800000040420F42 -:1004A000000000A08601000000102700000000E806 -:1004B00003000000006400000000000A00000000CB -:1004C000000100000000002C76D888DC674F08236C -:1004D000DFC1DFAE59E1B1B796E5E3E453C63AE6D2 -:1004E00051997696E8E6C28426EB898C9B62ED40B2 -:1004F0007C6FFCEFBC9C9F40F2BAA56FA5F4900501 -:100500005A2AF75C936B6CF9676DC11BFCE0E40D34 -:1005100047FEF520E6B500D0ED902E030094357728 -:10052000050080841E080000204E0A000000C80C50 -:10053000333333330F986E12831141EF8D211489B9 -:100540003BE65516CFFEE6DB18D1844B381BF77C13 -:100550001D901DA4BBE424203284725E228100C958 -:10056000F124ECA1E53D274D323520500A4D3234BF -:10057000005072696E742050617573656400526535 -:1005800073756D65005549205061757365004E6F38 -:10059000204D61746368203A004D333033452D316E -:1005A000533635433455004D393939004D353032E5 -:1005B0000A4D353030004D3330334530533231350C -:1005C000433855000A202A2A2A7265636461742E12 -:1005D000646174615B305D203D004732380A473109 -:1005E000204631303030205A313000556E737570EE -:1005F000706F72746564204F7074696F6E205365FC -:100600006C6563746564004D3139305335350A4784 -:1006100032380A4732390A4D3430300A4D313034DD -:10062000533231350A4732380A4D3130395332317D -:10063000350A4D34323053310A4731583130305950 -:1006400031303046353030300A47315A300A4D3576 -:1006500030300A4D31313720536574205A204F66AF -:1006600066736574004731204631303030205A308F -:100670002E30004732380A473120463130303020A2 -:100680005A302E30004D353030005A204F66667398 -:100690006574203A202573004D353030005A204FC4 -:1006A0006666736574203A202573004732385A0A0B -:1006B000473146313530305A302E30004732380A13 -:1006C000473146313530305A302E30004D38340005 -:1006D000473146313030305A302E30004732380AF8 -:1006E000473146313030305A302E30005A204F6674 -:1006F00066736574203A202573004D353030004D07 -:10070000383400426567696E5377697463680072B4 -:1007100065636461742E61646472203D3D0072659E -:10072000636461742E646174615B305D203D3D00E3 -:1007300077616974776179203D3D000A202A2A2A71 -:100740004E6F7A7A6C6554656D705374617475730D -:100750005B325D203D00434F4D4D554E4943415462 -:10076000494F4E0044525952554E004552524F5235 -:100770005300494E464F004543484F0047322F47EC -:10078000332062616420706172616D65746572739B -:100790000A00536C6565702E2E2E005A2050726F21 -:1007A00062652050617374204265640A005A2050CB -:1007B000726F626520506173742042656400486FF7 -:1007C0006D652058592046697273740A00486F6D30 -:1007D00065205859204669727374004D31313720B5 -:1007E00050726F6265206661696C65642E0A4732DB -:1007F000380A0070726F62655F72657769706500B4 -:10080000473239205265747279696E670050726F91 -:1008100062696E67204661696C6564004D313137ED -:1008200020426564206C6576656C696E6720666140 -:10083000696C65642E0A4730205A31300A4D3330D6 -:10084000302050323520533838300A4D3330302084 -:100850005035302053300A4D33303020503235205F -:10086000533838300A4D3330302050353020533033 -:100870000A4D3330302050323520533838300A4D4D -:10088000333030205035302053300A473420533134 -:100890000070726F62655F6661696C6564004D31FE -:1008A000313720426564206C6576656C696E67201F -:1008B000646F6E652E00205A3A200020593A2000BD -:1008C00042656420583A20004D65736820706F6956 -:1008D0006E742063616E6E6F742062652072657342 -:1008E0006F6C7665640A004E6F204D6F76652E0042 -:1008F000456E642066696C65206C6973740A0042F9 -:100900006567696E2066696C65206C6973740A009E -:10091000526573756D6520534400286E6F206669BB -:100920006C65290043757272656E742066696C652A -:100930003A20002E0A0044656C6574696F6E20666B -:1009400061696C65642C2046696C653A20004669D3 -:100950006C652064656C657465643A005072696EFC -:10096000742074696D653A20000A53746174733A97 -:100970002046696C616D656E7420757365643A20FC -:10098000002C204C6F6E67657374206A6F623A208A -:1009900000546F74616C2074696D653A2000537463 -:1009A0006174733A20002C204661696C65643A20BA -:1009B000002C2046696E69736865643A20005072A5 -:1009C000696E74733A200053746174733A20006F37 -:1009D000666600770772076B07640756074445424F -:1009E00055473A004D31313320530042656420436E -:1009F0006F6F6C696E672E2E2E004265642048650D -:100A00006174696E672E2E2E006F6B004348414D56 -:100A10004245525F54454D50455241545552450050 -:100A20004D4F54494F4E5F4D4F4445530054484538 -:100A3000524D414C5F50524F54454354494F4E0024 -:100A40004155544F5245504F52545F53445F535495 -:100A5000415455530050524F4D50545F53555050D0 -:100A60004F525400454D455247454E43595F504102 -:100A70005253455200434153455F4C494748545FE8 -:100A80004252494748544E45535300544F47474CF0 -:100A9000455F4C494748545300534F4654574152C1 -:100AA000455F504F574552004255494C445F5045B1 -:100AB0005243454E54004C4556454C494E475F44C1 -:100AC000415441005A5F50524F4245004155544FE6 -:100AD0004C4556454C005052494E545F4A4F4200D7 -:100AE00050524F4752455353004155544F52455071 -:100AF0004F52545F54454D5000564F4C554D455440 -:100B000052494300454550524F4D0042494E4152D3 -:100B1000595F46494C455F5452414E534645520039 -:100B200053455249414C5F584F4E5F584F4646001F -:100B30004649524D574152455F4E414D453A4D61F0 -:100B4000726C696E20322E305F44573320544D331F -:100B5000442053534D44424220534F555243455F26 -:100B6000434F44455F55524C3A68747470733A2F42 -:100B70002F6769746875622E636F6D2F496E73619C -:100B80006E6974794175746F6D6174696F6E2F4D04 -:100B900061726C696E2F747265652F437265616C4A -:100BA0006974795F4D61726C696E322E302E7820D7 -:100BB00050524F544F434F4C5F56455253494F4E3E -:100BC0003A312E30204D414348494E455F545950EB -:100BD000453A544D33442043522D582045585452E1 -:100BE000554445525F434F554E543A32205555496E -:100BF000443A63656465326132662D343161322D69 -:100C0000343734382D396231322D6335356336321D -:100C10006633363766660A002F2F200020466C6F39 -:100C2000773A200050726F74656374656420506970 -:100C30006E0A00206F7574206F662072616E6765A2 -:100C40000A00536572766F20003A200020536572C7 -:100C5000766F200050726F6265205A204F6666736F -:100C600065743A2000496E76616C69642065787419 -:100C700072756465720A0020643A0020693A0020A7 -:100C8000703A0020643A0020693A0020703A00640B -:100C9000697300656E0043290A0061626C65642017 -:100CA000286D696E2074656D702000436F6C642040 -:100CB00065787472756465732061726520004F46B3 -:100CC00046004F4E0046696C616D656E742072750A -:100CD0006E6F75742064697374616E636520286D2E -:100CE0006D293A200046696C616D656E74207275DD -:100CF0006E6F757420004D65736820706F696E7437 -:100D00002063616E6E6F74206265207265736F6C14 -:100D10007665640A004D34323120696E636F7272F9 -:100D200065637420706172616D657465722075739E -:100D30006167650A004F6666736574732041707061 -:100D40006C696564004572723A20546F6F20666169 -:100D5000722100546F6F206661722066726F6D2081 -:100D60007265666572656E636520706F696E740A80 -:100D700000454550524F4D204F4B0A00416476616B -:100D80006E6365204B003F4B2076616C7565206F6C -:100D90007574206F662072616E67652028302D3172 -:100DA00030292E0A003F542076616C7565206F75DE -:100DB00074206F662072616E67652E0A004572723C -:100DC0006F722077726974696E6720746F20454571 -:100DD00050524F4D210A00363726033C3D380E2E27 -:100DE000303E121A1C1824221E08440AFF43080928 -:100DF000070001627573793A20706175736564202C -:100E0000666F7220696E7075740A00627573793A44 -:100E10002070617573656420666F722075736572EA -:100E20000A00627573793A2070726F636573736933 -:100E30006E670A007061757365004D363030200AA8 -:100E4000204D313137200A002066696C616D656E76 -:100E5000745F72756E6F7574200066696C616D6584 -:100E60006E745F72756E6F757420540046696C61A4 -:100E70006D656E7452756E6F757420540053544FC7 -:100E8000505045442E20005072696E746572207374 -:100E9000746F707065642064756520746F2065726E -:100EA000726F72732E2046697820746865206572AF -:100EB000726F7220616E6420757365204D39393907 -:100EC00020746F20726573746172742E20285465CB -:100ED0006D706572617475726520697320726573D7 -:100EE00065742E2053657420697420616674657280 -:100EF0002072657374617274696E67290A004E6F9F -:100F000020436865636B73756D2077697468206C26 -:100F1000696E65206E756D6265722C204C6173740C -:100F2000204C696E653A20004E6F20436865636B04 -:100F300073756D2077697468206C696E65206E75B5 -:100F40006D6265722C204C617374204C696E653A39 -:100F50002000636865636B73756D206D69736D61E7 -:100F60007463682C204C617374204C696E653A2060 -:100F7000004C696E65204E756D6265722069732044 -:100F80006E6F74204C617374204C696E65204E75D1 -:100F90006D6265722B312C204C617374204C696E2C -:100FA000653A20004D31313000776169740A004D97 -:100FB000313137004D333100534420726561642074 -:100FC0006572726F720A00446F6E65207072696E8E -:100FD00074696E672066696C650A004B494C4C2049 -:100FE00063617573656420627920746F6F206D751D -:100FF000636820696E6163746976652074696D65E4 -:10100000202D2063757272656E7420636F6D6D6143 -:101010006E643A20002020506C616E6E65724275DD -:101020006666657242797465733A2000204672657F -:1010300065204D656D6F72793A2000436F6D706960 -:101040006C65643A20536570202038203230313985 -:101050000A00207C20417574686F723A2054696ED2 -:10106000794D616368696E657333440A00323031CB -:10107000392D30372D333000204C6173742055707A -:1010800064617465643A2000322E305F4457330A3D -:10109000004D61726C696E0020536F6674776172E7 -:1010A000652052657365740A002057617463686433 -:1010B0006F672052657365740A002042726F776E05 -:1010C000206F75742052657365740A00204578742A -:1010D00065726E616C2052657365740A00506F779B -:1010E000657255700A0073746172740A00617574D8 -:1010F0006F25632E67006572726F72207772697454 -:10110000696E6720746F2066696C650A00446F6EB3 -:101110006520736176696E672066696C652E0A00CA -:101120004D323900205A3A0020593A0020583A00EE -:10113000656E6473746F7073206869743A20004739 -:10114000323858590043616E6E6F74206F70656E4F -:101150002073756264697220005344206361726475 -:10116000206F6B0A006F70656E526F6F742066613E -:10117000696C65640A00766F6C756D652E696E69C1 -:1011800074206661696C65640A00534420696E6965 -:1011900074206661696C0A004D3234004D32332090 -:1011A00025730057726974696E6720746F206669D1 -:1011B0006C653A20002E0A006F70656E20666169CA -:1011C0006C65642C2046696C653A20002E0A006F1D -:1011D00070656E206661696C65642C2046696C657B -:1011E0003A200046696C652073656C6563746564BC -:1011F0000A002053697A653A200046696C65206FC1 -:1012000070656E65643A2000667265736800646F8D -:10121000696E67002066696C653A20004E6F772022 -:1012200000454E4420535542524F5554494E450AAD -:10123000002220706F73002220706172656E743A14 -:101240002200535542524F5554494E452043414C7C -:101250004C207461726765743A2200747279696E09 -:101260006720746F2063616C6C207375622D6763F7 -:101270006F64652066696C65732077697468207493 -:101280006F6F206D616E79206C6576656C732E20B2 -:101290004D4158206C6576656C2069733A310A00BF -:1012A0005344207072696E74696E67206279746548 -:1012B00020004E6F74205344207072696E74696E02 -:1012C000670A0024F4D43050C38E20C2A240178293 -:1012D0008B7011127A910D816CD90AA861E108C74F -:1012E000586607615143061E4B5D05C145A7041AA8 -:1012F000411104093D9803713931034036DB026521 -:10130000339102D4305402802E1D02632CEE0175FD -:101310002AC501B028A001102781018F2564012B67 -:10132000244B01E0223401AC211F018D200D0180EE -:101330001FFC00841EED00971DDF00B81CD200E6E4 -:101340001BC600201BBC00641AB200B219A8000A18 -:1013500019A0006A189900D117910040178B00B5A9 -:1013600016840031167E00B31579003A157300C754 -:10137000146F0058146A00EE13660088136300258A -:10138000135E00C7125B006C12570015125400C1A7 -:1013900011510070114F0021114B00D61049008DE2 -:1013A0001047004610440002104200C00F40008069 -:1013B0000F3E00420F3C00060F3B00CB0E3800935F -:1013C0000E37005C0E3500270E3400F30D3200C1DD -:1013D0000D3100900D3000600D2E00320D2D0005F6 -:1013E0000D2C00D90C2B00AE0C2900850C29005CBB -:1013F0000C2700350C27000E0C2600E80B2400C437 -:101400000B2400A00B23007D0B23005A0B21003975 -:101410000B2100180B2000F80A1F00D90A1E00BB80 -:101420000A1E009D0A1D00800A1D00630A1C004759 -:101430000A1B002C0A1B00110A1A00F7091A00DD0A -:10144000091900C4091900AB091900920917007B9A -:10145000091800630917004C091600360916002008 -:101460000916000A091500F5081500E0081400CC5B -:10147000081400B8081400A4081400900813007D94 -:101480000812006B081300580812004608120034B6 -:10149000081100230811001208110001081100F0C2 -:1014A000071000E0071000D0071000C0071000B0C0 -:1014B000070F00A107100091070E0083070F0074AB -:1014C000070F0065070E0057070E0049070E003B87 -:1014D000070D002E070E0020070D0013070D000654 -:1014E000070D00F9060C00ED060D00E0060C00D417 -:1014F000060C00C8060C00BC060C00B0060C00A4CC -:10150000060B0099060C008D060B0082060B007777 -:10151000060B006C060B0061060A0057060B004C18 -:10152000060A0042060A0038060A002E060A0024AF -:10153000060A001A060A001006090007060A00FD3E -:10154000050900F4050900EB050900E2050900D9C9 -:10155000050900D0050900C7050900BE050900B549 -:10156000050800AD050800A50509009C05080094C4 -:101570000508008C050800840508007C0508007437 -:101580000508006C050700650508005D05070056A5 -:101590000508004E0507004705070040050800380C -:1015A000050700310507002A050700230507001C71 -:1015B000050600160507000F0507000805060002CE -:1015C000050700FB040600F5040700EE040600E82A -:1015D000040600E2040700DB040600D5040600CF81 -:1015E000040600C9040600C3040600BD040600B7D3 -:1015F000040600B1040500AC040600A6040600A021 -:101600000405009B04060095040500900406008A6A -:1016100004050085040500800406007A04050075B1 -:10162000040500700405006B0405006604050061F4 -:101630000405005C04050057040500520405004D34 -:1016400004050048040500430405003E0404003A74 -:1016500004050035040500300404002C04050027AF -:10166000040400230405001E0404001A04040016E8 -:10167000040500110404000D04040009040500041D -:1016800004040000040400FC030400F8030400F454 -:10169000030400F0030400EC030400E8030400E486 -:1016A000030400E0030400DC030400D8030400D4B6 -:1016B000030400D0030400CC030400C8030300C5E6 -:1016C00003030024F404D9201BC40C5C0E9804C44A -:1016D000095F0265077101F405F900FB04B30048D6 -:1016E000048700C10369005803550003034500BE89 -:1016F000023A008402310053022A00290225000424 -:10170000022000E4011C00C8011900AF0117009875 -:1017100001140084011300710110006101100051D7 -:10172000010E0043010D0036010B002B010B0020C0 -:10173000010B00150109000C01090003010800FB61 -:10174000000800F3000800EB000700E4000600DEDC -:10175000000600D8000600D2000600CC000500C735 -:10176000000500C2000500BD000400B9000400B57A -:10177000000400B1000400AD000400A9000400A5AD -:10178000000300A20003009F0004009B00030098D8 -:101790000003009500020093000300900003008DF9 -:1017A0000002008B00030088000200860002008413 -:1017B000000300810002007F0002007D0002007B28 -:1017C0000002007900020077000100760002007438 -:1017D00000020072000100710002006F0002006D43 -:1017E0000001006C0002006A00010069000200674D -:1017F0000001006600010065000100640002006253 -:1018000000010061000100600001005F0002005D56 -:101810000001005C0001005B0001005A000100595A -:10182000000100580001005700010056000100555A -:101830000001005400010053000000530001005259 -:1018400000010051000100500001004F0001004E56 -:101850000000004E0001004D0001004C0001004B53 -:101860000000004B0001004A00010049000100484F -:10187000000000480001004700010046000000464B -:101880000001004500000045000100440001004344 -:10189000000000430001004200000042000100413E -:1018A00000000041000100400001003F0000003F37 -:1018B0000001003E0000003E0001003D0000003D30 -:1018C0000001003C0000003C0000003C0001003B27 -:1018D0000000003B0001003A0000003A000100391E -:1018E0000000003900010038000000380000003816 -:1018F000000100370000003700010036000000360C -:101900000000003600010035000000350000003501 -:1019100000010034000000340000003400010033F6 -:1019200000000033000000330001003200000032EC -:1019300000000032000100310000003100000031E1 -:101940000001003000000030000000300001002FD6 -:101950000000002F0000002F0000002F0001002ECB -:101960000000002E0000002E0001002D0000002DC0 -:101970000000002D0000002D0001002C0000002CB4 -:101980000000002C0000002C0001002B0000002BA8 -:101990000000002B0000002B0001002A0000002A9C -:1019A0000000002A0000002A000100290000002990 -:1019B0000000002900000029000000290001002883 -:1019C0000000002800000028000000280000002877 -:1019D000000100270000002700000027000000276A -:1019E000000000270001002600000026000000265D -:1019F0000000002600000026000100250000002550 -:101A00000000002500000025000000250000002542 -:101A10000001002400000024000000240000002435 -:101A20000000002400010023000000230000002328 -:101A3000000000230000002300000023000000231A -:101A4000000100220000002200000022000000220D -:101A500000000022000000220001002100000021FF -:101A600000000021000000210000002100000021F2 -:101A700000000021000100200000002000000020E4 -:101A800000000020000000200000002000000020D6 -:101A9000000000200001001F0000001F0000001FC8 -:101AA0000000001F0000001F0000001F0000001FBA -:101AB0000001001E0000001E0000001E0000001EAD -:101AC000000000C23100001C260000F4190000D8FC -:101AD0000F0000EB080000C0040000750200004089 -:101AE00001000020746F6F206C6F6E672065787442 -:101AF000727573696F6E2070726576656E74656459 -:101B00000A0020636F6C6420657874727573696F66 -:101B10006E2070726576656E7465640A0053544F6A -:101B2000502063616C6C65642062656361757365E8 -:101B3000206F6620424C546F756368206572726F27 -:101B400072202D20726573746172742077697468D5 -:101B5000204D3939390A0053544F502063616C6C61 -:101B600065642062656361757365206F6620424C11 -:101B7000546F756368206572726F72202D207265D4 -:101B800073746172742077697468204D3939390A29 -:101B9000002F2F616374696F6E3A00627574746F01 -:101BA0006E00656E640070726F6D70745F007368B4 -:101BB0006F77004D38373620526573706F6E6469E9 -:101BC0006E672050524F4D50545F00554E4B4E4F54 -:101BD000574E2053544154450047434F44455F49B5 -:101BE0004E464F004C43445F50415553455F52456C -:101BF00053554D450046494C414D454E545F525555 -:101C00004E4F55545F434F4E54494E55450046493B -:101C10004C414D454E545F52554E4F5554004D3238 -:101C20003400436F6E74696E756500446973616258 -:101C30006C6552756E6F7574005075726765204DD6 -:101C40006F726500506175736564007061757365CE -:101C50006400486F74656E6420746F6F20636F6CEE -:101C6000640A005061757365005072657373206279 -:101C70007574746F6E20286F72204D3130382920B2 -:101C8000746F20726573756D650A00496E736572B5 -:101C9000742066696C616D656E7420616E6420707D -:101CA0007265737320627574746F6E20286F722072 -:101CB0004D313038290A00436F6E74696E756500C6 -:101CC00052656865617420446F6E65005265686591 -:101CD0006174696E672E2E2E0052656865617469A5 -:101CE0006E670048656174657254696D656F7574DF -:101CF0000052656865617400486561746572546975 -:101D00006D656F75740050726573732062757474BD -:101D10006F6E20286F72204D3130382920746F206B -:101D200068656174206E6F7A7A6C650A004E6F7A0E -:101D30007A6C65205061726B656400436F6E7469E4 -:101D40006E7565004E6F7A7A6C65205061726B65B6 -:101D50006400486F74656E6420746F6F20636F6CED -:101D6000640A00726573756D656400626567696E0B -:101D700000436F6E74696E75650044697361626CCF -:101D80006552756E6F75740050757267654D6F7230 -:101D90006500506175736564004C6F61642046692D -:101DA0006C616D656E7400436F6E74696E7565006D -:101DB0004C6F61642046696C616D656E74205400DF -:101DC000496E736572742066696C616D656E74200E -:101DD000616E6420707265737320627574746F6EC7 -:101DE00020286F72204D313038290A0052657375F2 -:101DF0006D65004D3238302050302053393000505E -:101E0000726F62696E6720506F696E742025692F4A -:101E10002569002E0A002F0050726F62696E6720DC -:101E20006D65736820706F696E74200020284452BD -:101E30005952554E2900473239204175746F20425E -:101E40006564204C6576656C696E67003F20284CA0 -:101E50002C522C462C4229206F7574206F6620620C -:101E60006F756E64732E0A003F2856296572626F83 -:101E70007365206C6576656C20697320696D706C84 -:101E800061757369626C652028302D34292E0A0033 -:101E9000426164205A2076616C75650A004E6F209D -:101EA00062696C696E65617220677269640A0046D6 -:101EB000696E6973686564210A00206F66200020DE -:101EC0005A00205900476F696E6720746F3A205896 -:101ED0000043570A00206469723A0020616E676C03 -:101EE000653A005374617274207261646975733A63 -:101EF00000506F736974696F6E696E6720746865EE -:101F00002070726F62652E2E2E0A003F4E756D6234 -:101F10006572206F66206C65677320696E206D6F37 -:101F200076656D656E74206E6F7420706C6175736C -:101F300069626C652028302D3135292E0A003F203A -:101F400028582C5929206F7574206F6620626F7590 -:101F50006E64732E0A003F53616D706C6520736967 -:101F60007A65206E6F7420706C61757369626C6540 -:101F70002028342D3530292E0A004D3438205A2D92 -:101F800050726F6265205265706561746162696C40 -:101F900069747920546573740A003F285629657264 -:101FA000626F7365206C6576656C20697320696D5E -:101FB000706C61757369626C652028302D34292E30 -:101FC0000A007C3C3E5E2B3D3F2F5B5D3B2C2A2272 -:101FD0005C00453120544845524D414C2052554EED -:101FE000415741590042454420544845524D414CC7 -:101FF0002052554E4157415900546865726D616CCD -:102000002052756E61776179004531204572723AD0 -:10201000204D415854454D50004572723A204D4173 -:102020005854454D5020424544004D415854454D6B -:102030005020747269676765726564004531204598 -:1020400072723A204D494E54454D50004572723AD5 -:10205000204D494E54454D5020424544004D494E77 -:1020600054454D5020747269676765726564000A53 -:102070000A0020205A5F4D494E3A002020595F4DFA -:10208000494E3A002020585F4D494E3A004D3834B1 -:1020900020582059205A204500202F002042403A45 -:1020A0000020403A004520436F6F6C696E672E2E0A -:1020B0002E00452048656174696E672E2E2E002023 -:1020C000573A0020573A00496E76616C6964206582 -:1020D000787472756465720A00416374697665206C -:1020E00045787472756465723A2000486F74656E45 -:1020F0006420746F6F20636F6C640A00000021001D -:10210000240027002A002D003000330001010000C8 -:10211000040107010A0100002200250028002B000D -:102120002E003100340002010000050108010B01FE -:10213000000020002300260029002C002F00320080 -:102140000001000003010601090105050505070559 -:1021500008080808020202020A0A08080404040423 -:10216000010101010101010103030303030303034F -:10217000040707070C0C0C0C0C0C0C0C02020202DE -:1021800006060606060606060B0B0B0B0B0B0B0BC7 -:102190000102102020080810204010204080020179 -:1021A000020108040201010204081020408080405E -:1021B000201008040201800402018040201008045D -:1021C00002010804020101020408102040800102FB -:1021D00004081020408000000A0B02090C0D0E08B4 -:1021E00007030401000000000000000000000000E0 -:1021F00000000000000000000000000000000000DF -:10220000000012111000000000000000000000009B -:1022100000000000000000000000000050726F622B -:10222000696E67204661696C65640A0050726F626E -:10223000696E67204661696C656400486F6D652052 -:1022400025732573257320466972737400204669CF -:102250007273740A00486F6D652000220A00556E83 -:102260006B6E6F776E20636F6D6D616E643A2022C6 -:102270000057616974696E6720666F7220686561D6 -:102280007475702E0A004C656176696E672047325E -:1022900036003F53706563696669656420582C5940 -:1022A00020636F6F7264696E617465206F7574204E -:1022B0006F6620626F756E64732E0A003F28522984 -:1022C00065706561742076616C7565206E6F742031 -:1022D000706C61757369626C653B206D75737420F9 -:1022E0006265206174206C6561737420312E0A0070 -:1022F0003F2852296570656174206D757374206282 -:102300006520737065636966696564207768656ECA -:10231000206E6F74207573696E6720616E204C4368 -:10232000442E0A003F537065636966696564206ED8 -:102330006F7A7A6C652074656D7065726174757200 -:1023400065206E6F7420706C61757369626C652EA8 -:102350000A003F5370656369666965642066696C4D -:10236000616D656E742073697A65206E6F7420707C -:102370006C61757369626C652E0A003F537065630A -:102380006966696564207072696D65206C656E6749 -:102390007468206E6F7420706C61757369626C650F -:1023A0002E0A003F5072696D65206C656E67746817 -:1023B000206D75737420626520737065636966694A -:1023C0006564207768656E206E6F74207573696E22 -:1023D0006720616E204C43442E0A003F53706563B2 -:1023E0006966696564206E6F7A7A6C652073697AB4 -:1023F00065206E6F7420706C61757369626C652EF8 -:102400000A003F52657472616374696F6E204D7586 -:102410006C7469706C696572206D75737420626587 -:10242000207370656369666965642E0A003F5370A6 -:102430006563696669656420526574726163746975 -:102440006F6E204D756C7469706C696572206E6F6B -:102450007420706C61757369626C652E0A003F535D -:102460007065636966696564206C6179657220686E -:102470006569676874206E6F7420706C617573692C -:10248000626C652E0A0043292E0A003F5370656373 -:102490006966696564206265642074656D70657243 -:1024A0006174757265206E6F7420706C61757369EC -:1024B000626C65202834302D0047323620737461F9 -:1024C0007274696E672E2E2E0A004F46460A004629 -:1024D000616465204865696768742000426564200E -:1024E0004C6576656C696E6720004661696C656451 -:1024F00020746F20656E61626C6520426564204CBB -:102500006576656C696E670A00496E76616C696410 -:10251000206D6573682E0A005A5F53544F505F5008 -:10252000494E005A5F535445505F50494E005A5F20 -:102530004D494E5F50494E005A5F454E41424C4511 -:102540005F50494E005A5F4449525F50494E005A0D -:102550005F43535F50494E00595F53544F505F5093 -:10256000494E00595F535445505F50494E00595FE2 -:102570004D494E5F50494E00595F454E41424C45D2 -:102580005F50494E00595F4449525F50494E0059CF -:102590005F43535F50494E00585F53544F505F5054 -:1025A000494E00585F535445505F50494E00585FA4 -:1025B0004D494E5F50494E00585F454E41424C4593 -:1025C0005F50494E00585F4449525F50494E005891 -:1025D0005F43535F50494E0053535F50494E005381 -:1025E0004552564F335F50494E00534552564F3275 -:1025F0005F50494E00534552564F315F50494E008F -:10260000534552564F305F50494E00534453530088 -:1026100053445F4445544543545F50494E0053432F -:102620004B5F50494E0052414D50535F44395F500B -:10263000494E0052414D50535F44385F50494E005F -:1026400052414D50535F4431305F50494E004D4F21 -:1026500053495F50494E004D4F534645545F445FC8 -:1026600050494E004D49534F5F50494E004D41581F -:10267000363637355F53535F50494E004C45445F03 -:1026800050494E004845415445525F4245445F50D1 -:10269000494E004845415445525F305F50494E0015 -:1026A00046494C5F52554E4F5554325F50494E008B -:1026B00046494C5F52554E4F55545F50494E004667 -:1026C000414E315F50494E0046414E5F50494E00E9 -:1026D00045315F535445505F50494E0045315F4589 -:1026E0004E41424C455F50494E0045315F4449528E -:1026F0005F50494E0045315F43535F50494E00459E -:10270000305F535445505F50494E0045305F454E51 -:1027100041424C455F50494E0045305F4449525F4D -:1027200050494E0045305F43535F50494E00455F6E -:102730004D5558325F50494E00455F4D5558315FF9 -:1027400050494E00455F4D5558305F50494E00414D -:1027500056525F53535F50494E004156525F5343A8 -:102760004B5F50494E004156525F4D4F53495F50A9 -:10277000494E004156525F4D49534F5F50494E00FC -:1027800054454D505F4245445F50494E0054454DBD -:10279000505F315F50494E0054454D505F305F509F -:1027A000494E0046494C57494454485F50494E00F1 -:1027B0005458440052584400433A2000423A200002 -:1027C000413A200020202020434F4D002020206E41 -:1027D0006F6E2D7374616E646172642050574D206A -:1027E0006D6F646500202020636F6D7061726520DD -:1027F000696E7465727275707420656E61626C6565 -:1028000064002020206F766572666C6F7720696E99 -:102810007465727275707420656E61626C656400B7 -:102820003A20002020202054494D534B00423A20AA -:1028300000202020205443435200413A2000202011 -:10284000202054434352002020202043533A2000AC -:102850002020202057474D3A200050574D3A202045 -:102860002534640050574D3A202025346400470039 -:102870004800000088008A008C00B300B40000000B -:1028800098009A009C00A800AA00AC0028012A0128 -:102890002C012020202054494D4552004400450081 -:1028A0006E00800081006F00B000B10070009000E9 -:1028B00091007100A000A1007200200121017300AD -:1028C00020697320616C736F207469656420746F74 -:1028D00020746869732070696E0054494D45523107 -:1028E00043000A202E002020002020506F72743AEE -:1028F000200020202000202020416E616C6F672086 -:10290000696E203D2025356C64003C756E757365DD -:10291000642F756E6B6E6F776E3E002028412532F6 -:1029200064292020002533642000257350494E3A45 -:1029300020004F7574707574203D2000496E7075CD -:102940007420203D2000416E616C6F6720696E200D -:102950003D2025356C640070726F74656374656426 -:1029600020002028412532642920200025336420BE -:1029700000257350494E3A2000B4270001B02701CA -:1029800001A3273B00982743008D2745008027445B -:102990000073273201662733015A2734014F273548 -:1029A000014427280139272A012E272C0124272A10 -:1029B0000119271C010B271801FF261A01F5262CE7 -:1029C00001EA262201DC261E01D0262401C82609A0 -:1029D00001BF260701B0260201A0260F0193260A97 -:1029E00001842608017C260D016D264201642632F1 -:1029F00001572607014E26330140260A01332608D7 -:102A000001262609011E263401102631010B263528 -:102A10000100260B01F5250601EA250501DF250445 -:102A200001D8253501CF253501C5253701B8252623 -:102A300001AE250301A3253601982503018F253119 -:102A40000185253D01782538016E250E0163253C61 -:102A50000158250E014F2528014525300138253E16 -:102A6000012E25120123252E0118251201446F6E17 -:102A7000652E0A0066616C7365004641494C3A2038 -:102A80004E6F207472696767657220646574656350 -:102A90007465640A004641494C3A204E6F6973657B -:102AA000206465746563746564202D20706C6561B5 -:102AB00073652072652D72756E20746573740A00DB -:102AC0002064657465637465642E0A003D20424C81 -:102AD000546F756368207072652056332E3120283C -:102AE0006F7220636F6D70617469626C6529003D5F -:102AF000205A20536572766F2050726F6265003DD8 -:102B000020424C546F7563682056332E31002028C4 -:102B10002B2F2D20346D73293A20003A2033306D4D -:102B200073206F72206D6F72650A002E2050756CD5 -:102B30007365207769647468002A2A20506C656187 -:102B4000736520747269676765722070726F626561 -:102B50002077697468696E20333020736563202A9A -:102B60002A0A004641494C3A20424C544F554348AA -:102B700020656E61626C6564202D2053657420753C -:102B80007020746869732064657669636520617379 -:102B9000206120536572766F2050726F62652077D6 -:102BA00069746820494E56455254494E4720736512 -:102BB0007420746F202774727565272E0A002020F8 -:102BC0004445504C4F5945442073746174653A2014 -:102BD0004C4F5720286C6F676963203029002020F4 -:102BE0004445504C4F5945442073746174653A20F4 -:102BF0004849474820286C6F676963203129003DA8 -:102C0000204D656368616E6963616C2053776974F8 -:102C100063682064657465637465640A0057415293 -:102C20004E494E473A20494E56455254494E472048 -:102C300073657474696E672070726F6261626C791B -:102C4000206261636B77617264732E0A002E2044E8 -:102C500065706C6F7920262073746F772034207430 -:102C6000696D65730A003D20424C546F756368209E -:102C7000436C617373696320312E322C20312E3303 -:102C80002C20536D61727420312E302C20322E3066 -:102C90002C20322E322C20332E302C20332E31207B -:102CA00064657465637465642E0A002E204368654C -:102CB000636B20666F7220424C544F5543480A00A4 -:102CC0002E205A5F4D494E5F454E4453544F505F3E -:102CD000494E56455254494E473A20002E205072D4 -:102CE0006F6265205A5F4D494E5F50494E3A200051 -:102CF0002C2073746F7720616E676C653A202020FA -:102D0000002C206465706C6F7920616E676C653A89 -:102D10002000536572766F2070726F626520746553 -:102D200073740A2E207573696E6720696E64657806 -:102D30003A2020004D343320576169742043616C80 -:102D40006C656400436F6E74696E7565004D343355 -:102D500020576169742043616C6C6564005761742D -:102D60006368696E672070696E730A006469730036 -:102D7000656E0061626C65640A00656E6473746FF1 -:102D800070206D6F6E69746F7220004469666665AD -:102D9000723A200046726F6D5374703A0053746536 -:102DA000707065723A00556E4C6576656C3A004CF1 -:102DB0006576656C65643A005261773A2020202080 -:102DC000000A4C6F676963616C3A004361703A00B6 -:102DD0004D302F3120427265616B2043616C6C6510 -:102DE0006400436F6E74696E7565004D302F31203D -:102DF000427265616B2043616C6C65640050726F58 -:102E00006265205A204F66667365743A20005072DE -:102E10006F62652059204F66667365743A200050D2 -:102E2000726F62652058204F66667365743A2000A1 -:102E30003F59206F7574206F662072616E67652040 -:102E400028302D33303820746F20333038290A0071 -:102E50003F58206F7574206F662072616E67652021 -:102E600028302D33313520746F20333135290A0055 -:102E70003F5A206F7574206F662072616E676520FF -:102E8000282D323020746F203230290A00220A00A7 -:102E9000656E7175657565696E6720220020420058 -:102EA0002050006F6B00526573656E643A200043DA -:102EB000616E6E6F74206F70656E207375626469E9 -:102EC0007220002569730025696D2025697300252E -:102ED00069682025696D20256973002569642025AE -:102EE00069682025696D2025697300256979202589 -:102EF0006964202569682025696D20256973002390 -:102F0000646566696E652044454641554C545F00D2 -:102F100000626564004B6420004B6920004B702008 -:102F200000504944204175746F74756E6520666960 -:102F30006E6973686564212050757420746865201B -:102F40006C617374204B702C204B6920616E64207F -:102F50004B6420636F6E7374616E74732066726F5E -:102F60006D2062656C6F7720696E746F20436F6EA1 -:102F700066696775726174696F6E2E680A005049E0 -:102F800044204175746F74756E65206661696C6567 -:102F900064212074696D656F75740A004531205491 -:102FA0004845524D414C2052554E415741590042DF -:102FB000454420544845524D414C2052554E4157AE -:102FC000415900546865726D616C2052756E61776D -:102FD00061790045312048656174696E67204661FA -:102FE000696C6564004265642048656174696E6758 -:102FF000204661696C65640048656174696E67208C -:103000006661696C656400504944204175746F7451 -:10301000756E65206661696C6564212054656D700C -:103020006572617475726520746F6F206869676876 -:103030000A00204B643A2000204B693A2000204BC4 -:10304000703A20000A20436C617373696320504911 -:1030500044200A00204B643A2000204B693A2000AB -:10306000204B703A20000A204E6F206F76657273F5 -:10307000686F6F740A002054753A2000204B753A2F -:103080002000206D61783A2000206D696E3A2000A2 -:1030900020643A200020626961733A20005049445C -:1030A000204175746F74756E652073746172740A53 -:1030B00000504944204175746F74756E65206661D7 -:1030C000696C6564212054656D70657261747572F8 -:1030D0006520746F6F20686967680A005049442052 -:1030E0004175746F74756E65206661696C656421E5 -:1030F00020426164206578747275646572206E7513 -:103100006D6265720A006F70656E005452494747E0 -:1031100045524544003A200066696C616D656E74E5 -:10312000007A5F6D696E00795F6D696E00785F6D22 -:10313000696E005265706F7274696E6720656E64A7 -:1031400073746F70207374617475730A00205A3A37 -:103150000020593A0020436F756E7420583A0020C1 -:10316000453A00205A3A0020593A00583A00008067 -:103170009D4300009A430000C84300000000000087 -:1031800000000000000020746F6F206C6F6E6720DD -:10319000657874727573696F6E2070726576656E8E -:1031A0007465640A0020636F6C64206578747275BE -:1031B00073696F6E2070726576656E7465640A005F -:1031C000204500205A00205900204D393220580057 -:1031D000205A00205900580020204D61783A2000E4 -:1031E000205A00205900580020204D696E3A2000D6 -:1031F000536F667420656E6473746F70733A200049 -:103200005761726E696E67203A20436C65616E206B -:10321000436972636C6520726571756972657320AC -:1032200058590A004732380020496E76616C69644B -:1032300020657874727564657220000A20696E6971 -:1032400074207A70726F62655F7A6F6666736574F8 -:10325000203D2000454550524F4D20496E6974690C -:10326000616C697A65640A0048617264636F6465C1 -:10327000642044656661756C742053657474696E6E -:103280006773204C6F616465640A00DC050000DC34 -:10329000050000640000004B0000000000FA43003D -:1032A00000FA4300002041000096420000A04200C6 -:1032B00000A0420000C8430000BE423A0A0020209D -:1032C0004D363033200020440020204D3431322050 -:1032D000530046696C616D656E742072756E6F7512 -:1032E000742073656E736F723A0A00546F6F6C2DA1 -:1032F0006368616E67696E673A0A00205500543151 -:10330000204C002055005430204C0046696C616D03 -:10331000656E74206C6F61642F756E6C6F616420D4 -:103320006C656E677468733A0A00204B0020204D6C -:103330003930302054004C696E65617220416476EA -:10334000616E63653A0A0020204D383531205A00FD -:1033500020204D38353120590020204D383531207E -:1033600058005A2D50726F6265204F6666736574FF -:103370000020440020490020204D333034205000EC -:1033800020440020490020204D333031205000508F -:1033900049442073657474696E67733A0A00204A61 -:1033A0000020204732392057204900205A00202091 -:1033B0004D3432302053004175746F2042656420D3 -:1033C0004C6576656C696E673A0A00205A00205990 -:1033D0000020204D323036205800486F6D65206F38 -:1033E00066667365743A0A00204A00205400205330 -:1033F0000020204D323035204200204A3C6A756E54 -:10340000635F6465763E00416476616E6365643A2D -:1034100020423C6D696E5F7365676D656E745F74A5 -:10342000696D655F75733E20533C6D696E5F6665BF -:103430006564726174653E20543C6D696E5F7472A0 -:103440006176656C5F66656564726174653E0020D7 -:10345000540020520020204D32303420500041636F -:1034600063656C65726174696F6E2028756E69742E -:10347000732F7332293A20503C7072696E745F6109 -:103480006363656C3E20523C726574726163745F65 -:10349000616363656C3E20543C74726176656C5F59 -:1034A000616363656C3E0A00204500205A00205984 -:1034B0000020204D3230312058004D6178696D7503 -:1034C0006D20416363656C65726174696F6E20285D -:1034D000756E6974732F7332293A0A0020450020F3 -:1034E0005A0020590020204D3230332058004D61C1 -:1034F00078696D756D2066656564726174657320A9 -:1035000028756E6974732F73293A0A0053746570B5 -:10351000732070657220756E69743A0A0020204D20 -:103520003230302044300A0020204D3230302054D8 -:103530003120440020204D323030204400204469A6 -:103540007361626C65640A0046696C616D656E74D6 -:103550002073657474696E67733A0020286D6D2955 -:10356000002020473231202020203B20556E6974F6 -:103570007320696E206D6D00486F6D696E6720461F -:1035800061696C656400544D33442043522D5820CA -:1035900052656164792E005072696E74696E672E8F -:1035A0002E2E005072696E74205061757365640030 -:1035B00063616E63656C005072696E742041626F66 -:1035C000727465640055492041626F7274007265BF -:1035D00073756D65004D323400290A0020627974DC -:1035E00065733B20637263200053657474696E6772 -:1035F000732053746F72656420280000000000007F -:1036000000000000000000000048420000484200A6 -:103610000080405761726E696E673A20486F6D692D -:103620006E672042756D702044697669736F7220F1 -:103630003C20310A000202040000A0400000A0402B -:103640000000004000809D4300009A430000C843F2 -:10365000FFFFFF454550524F4D206461746173690F -:103660007A65206572726F722E0A00290A00206244 -:10367000797465733B2063726320002073746F72EA -:1036800065642073657474696E6773207265747203 -:103690006965766564202800202863616C63756C19 -:1036A0006174656429210A0020213D2000454550B0 -:1036B000524F4D20435243206D69736D61746368AE -:1036C000202D202873746F726564292000205369AF -:1036D0007A653A2000496E6465783A2000204D6191 -:1036E000726C696E3D563730290A00454550524F7D -:1036F0004D2076657273696F6E206D69736D6174AC -:1037000063682028454550524F4D3D002E0A006FFA -:1037100070656E206661696C65642C2046696C6515 -:103720003A2000706F7765726F6666004B494C4CAB -:1037300045442E20005072696E7465722068616C79 -:103740007465642E206B696C6C28292063616C6C35 -:103750006564210A00205400205200416363656CB7 -:1037600065726174696F6E3A2050003F4A206F7530 -:1037700074206F662072616E67652028302E3031AC -:1037800020746F20302E33290A00546F6F6C6368E9 -:10379000616E67653A0020204D32313700205A00B3 -:1037A00020590020580020520020500020450020C1 -:1037B000530050574D3A20202534640050574D3A5D -:1037C00020202534640050574D3A202025346400D1 -:1037D00050574D3A20202534640050574D3A202050 -:1037E0002534640050574D3A20202534640050574A -:1037F0004D3A20202534640050574D3A202025347E -:10380000640050574D3A20202534640050574D3AFB -:1038100020202534640050574D3A20202534640080 -:1038200050574D3A20202534640050574D3A2020FF -:103830002534640050574D3A2020253464005057F9 -:103840004D3A20202534640050574D3A202025342D -:10385000640070012C0190012701B0012201C00118 -:103860001D01F00118011002130130020E01600267 -:10387000090190020401C002FF000003FA004003A6 -:10388000F5008003F000D003EB002004E600700494 -:10389000E100E004DC004005D700C005D20040068E -:1038A000CD00D006C8008007C3003008BE00F00875 -:1038B000B900C009B400B00AAF00B00BAA00D00C28 -:1038C000A500000EA000500F9B00C01096005012E3 -:1038D000910000148C00C0158700B0178200B01949 -:1038E0007D00D01B7800001E730040206E009022E7 -:1038F0006900F024640040275F0090295A00E02B03 -:103900005500102E500020304B0010324600E0339E -:10391000410090353C001037370070383200A03934 -:103920002D00B03A2800A03B2300603C1E00103D53 -:103930001900903D1400103E0F00703E0A00C03E7A -:103940000500003F0000403FFBFF803FF6FFC03F07 -:10395000F1FF626564002C2073797374656D2073C8 -:10396000746F7070656421204865617465725F4989 -:10397000443A20004265642048656174696E67209E -:103980004661696C65640048656174696E672066AC -:1039900061696C65640042454420544845524D417C -:1039A0004C2052554E4157415900546865726D6123 -:1039B0006C2052756E6177617900453120486561F0 -:1039C00074696E67204661696C656400486561745E -:1039D000696E67206661696C6564004531205448F2 -:1039E00045524D414C2052554E4157415900546863 -:1039F00065726D616C2052756E6177617900202D62 -:103A000020496E76616C69642065787472756465AE -:103A100072206E756D62657220210A001000C90265 -:103A200010012C014001220170011801B0010E01AA -:103A3000F00104015002FA00B002F0003003E60089 -:103A4000D003DC009004D2007005C800A006BE00C0 -:103A50000008B400B009AA00D00BA000600E9600C8 -:103A600060118C000015820020197800C01D6E00C6 -:103A7000A0226400B0275A00902C5000003146006C -:103A8000E0343C0010383200903A2800603C1E00C0 -:103A9000A03D1400803E0A00203F000053544F50C8 -:103AA0005045442E20005072696E74657220737404 -:103AB0006F707065642064756520746F2065727224 -:103AC0006F72732E20466978207468652065727263 -:103AD0006F7220616E6420757365204D393939200D -:103AE000746F20726573746172742E202854656D32 -:103AF0007065726174757265206973207265736593 -:103B0000742E205365742069742061667465722078 -:103B100072657374617274696E67290A00656368FF -:103B20006F3A004572726F723A0042696C696E6555 -:103B30006172204C6576656C696E672047726964B6 -:103B40003A0A00001D01FD0111241FBECFEFD1E292 -:103B5000DEBFCDBF00E00CBF18E0A0E0B2E0E4E1C2 -:103B6000F2E702E00BBF02C007900D92A83BB1073D -:103B7000D9F72EE1A8EBB8E001C01D92A53EB2072F -:103B8000E1F71DE1C3EADDE100E006C0219701098C -:103B9000802FFE010F943335C23AD10780E0080729 -:103BA000A9F70F94A41E0D94F8380C9400002F92DE -:103BB0003F924F925F926F927F928F929F92AF92BD -:103BC000BF92CF92DF92EF92FF920F931F93CF930A -:103BD000DF93CDB7DEB7E3970FB6F894DEBF0FBE25 -:103BE000CDBF80910901817091E098272091D7087D -:103BF000921781F19093D708811116C00E946A5FD5 -:103C00008091F41D83FF09C083EC93E00E94B654B9 -:103C100061E080E00E94C4A91DC060E081E00E94D4 -:103C2000C4A98CED93E014C00091F41D03FB0027A0 -:103C300000F90E94F95E8091F41D877F8093F41D46 -:103C4000002341F060E081E00E94C4A985EF93E089 -:103C50000E94B6548091611A81FF11C18091E61BC8 -:103C60009091E71B891B8F70843008F008C18CE0AD -:103C7000EBE5F2E1DE01119601900D928A95E1F7F4 -:103C80008091CF129091D012A091D112B091D21206 -:103C900088A799A7AAA7BBA79C01AD0160915B1259 -:103CA00070915C1280915D1290915E120F943B3581 -:103CB0006B017C0160935B1270935C1280935D12C8 -:103CC00090935E128091D3129091D412A091D5124C -:103CD000B091D6128CA79DA7AEA7BFA79C01AD013E -:103CE00060915F12709160128091611290916212E6 -:103CF0000F943B3568A379A38AA39BA360935F12BB -:103D00007093601280936112909362128091D71227 -:103D10009091D812A091D912B091DA1288AB99ABD8 -:103D2000AAABBBAB9C01AD016091631270916412B0 -:103D300080916512909166120F943B354B015C01A6 -:103D4000609363127093641280936512909366126D -:103D5000A7019601C701B6010F94AC2E2B013C01BF -:103D600028A139A14AA15BA1CA01B9010F94AC2EC7 -:103D70009B01AC01C301B2010F943C352B013C0106 -:103D8000A5019401C501B4010F94AC2E9B01AC01B7 -:103D9000C301B2010F943C350F94EA379B01AC018B -:103DA00060E070E080E89FE30F94363620915D027A -:103DB00030915E0240915F02509160020F94AC2EF0 -:103DC0002DEC3CEC4CEC5DE30F94AC2E20E030E0AD -:103DD00040E85EE30F94AC2E2B013C0120E030E084 -:103DE00040E85FE30F94462E87FFF1C3A3019201E1 -:103DF000C701B6010F94AC2E28A539A54AA55BA52D -:103E00000F943C3560935B1270935C1280935D124B -:103E100090935E12A301920168A179A18AA19BA14E -:103E20000F94AC2E2CA53DA54EA55FA50F943C3557 -:103E300060935F127093601280936112909362128C -:103E4000A3019201C501B4010F94AC2E28A939A990 -:103E50004AA95BA90F943C35609363127093641276 -:103E600080936512909366120E945FDD8CE0FE01E4 -:103E70003196ABE5B2E101900D928A95E1F7809120 -:103E8000D60881110C94C5398091D4089091D50839 -:103E90009C012F5F3F4F3093D5082093D408883E74 -:103EA000934010F40C94C53981E08093D6081092A9 -:103EB000D5081092D4088091CC1E882309F498C3A9 -:103EC0000E94BAD1811194C38091D3088F5F8093EF -:103ED000D3088091D308853620F01092D308109231 -:103EE000CC1EE091CC1E8E2FEE0F990BAA0BBB0BB4 -:103EF000FC013197E730F10508F0A0C08827EE58A3 -:103F0000FF4F8F4F0D9433350E94B2D1882309F4AF -:103F100095C081E080937F0288E094E00E94B654CF -:103F200080E190E09093791C8093781C85E08093E9 -:103F30006C1C02E800936F1C84E190E1A0E0B0E00B -:103F40008093701C9093711CA093721CB093731C8F -:103F50000F94680781E09AE59093791C8093781C10 -:103F600086E390E090937B1C80937A1C87E080939B -:103F70006C1C00936F1C84E890E0A0E0B0E080939C -:103F8000701C9093711CA093721CB093731C0F94BF -:103F9000680752C00E94B2D1882309F44FC048C0BC -:103FA00086E194E00E94B65481E09AE59093791CF2 -:103FB0008093781C80E490E090937B1C80937A1C23 -:103FC00007E000936C1C82E880936F1C84E890E00B -:103FD000A0E0B0E08093701C9093711CA093721CC1 -:103FE000B093731C0F9468070093CC1E27C0809178 -:103FF000D208882319F10E94B2D18823F9F00E94D7 -:10400000BAD181111BC0F7C20E94B2D18823B1F08E -:104010000E94BAD1811112C01CC30E94BAD1811171 -:104020000DC042E060E070E0CB010E94DCD104C032 -:104030000E94BAD1811102C01092CC1E80917F02E1 -:10404000882309F4ACC28091C81E9091C91E892BA7 -:1040500009F08FC18091CF089091D008892B09F089 -:104060001EC184E096E09093791C8093781C80EACE -:1040700090E890937B1C80937A1C17E010936C1C43 -:1040800002E800936F1C80EA90E0A0E0B0E080932B -:10409000701C9093711CA093721CB093731C0F94AE -:1040A00068078091060290910702A0910802B091E2 -:1040B00009020097A105B10511F51092791C109223 -:1040C000781C15E010936C1C00936F1C8AE890E13B -:1040D000A0E0B0E08093701C9093711CA093721CC0 -:1040E000B093731C0F94680789E090E09093791C5B -:1040F0008093781C10936C1C00936F1C40C0019639 -:10410000A11DB11DF5E0B695A79597958795FA95F0 -:10411000D1F70197A109B109009731E0A307B105D3 -:1041200058F0B093791CA093781C90937B1C8093DB -:104130007A1C10936C1C07C09093791C8093781C98 -:1041400085E080936C1C12E810936F1C8AE890E164 -:10415000A0E0B0E08093701C9093711CA093721C3F -:10416000B093731C0F94680788E090E09093791CDB -:104170008093781C85E080936C1C10936F1C8CE8F6 -:1041800090E1A0E0B0E08093701C9093711CA0932C -:10419000721CB093731C0F94680780910602909173 -:1041A0000702A0910802B09109020097E1E0AE0772 -:1041B000B10550F0B093791CA093781C90937B1CB0 -:1041C00080937A1C87E005C09093791C8093781CBB -:1041D00085E080936C1C82E880936F1C88E890E1F6 -:1041E000A0E0B0E08093701C9093711CA093721CAF -:1041F000B093731C0F946807809106029091070298 -:10420000A0910802B0910902BA2FA92F982F8827F0 -:104210000097F1E0AF07B10550F0B093791CA0937F -:10422000781C90937B1C80937A1C87E005C0909348 -:10423000791C8093781C85E080936C1C12E81093A5 -:104240006F1C81EA90E0A0E0B0E08093701C909336 -:10425000711CA093721CB093731C0F94680780911B -:10426000E712882319F082E090E002C083E090E03A -:104270009093791C8093781C85E080936C1C10933C -:104280006F1C85E490E1A0E0B0E08093701C9093F7 -:10429000711CA093721CB093731C0F94680700915B -:1042A000CF081091D008053611057CF41093791CC5 -:1042B0000093781C85E080936C1C82E880936F1CCF -:1042C00080E090E1A0E0B0E011C0C80184569109FF -:1042D0009093791C8093781C85E080936C1C82E815 -:1042E00080936F1C81E090E1A0E0B0E08093701CAF -:1042F0009093711CA093721CB093731C0F94680769 -:104300000F5F1F4F1093D0080093CF08093C110591 -:1043100064F184E294E00E94B65481E090E09093CE -:10432000C91E8093C81E80937F0281E09AE5909316 -:10433000791C8093781C8DE290E090937B1C809395 -:104340007A1C87E080936C1C82E880936F1C84E861 -:1043500090E0A0E0B0E08093701C9093711CA0935B -:10436000721CB093731C0F9468071092D6080C94BB -:10437000C5398091E61B9091E71B891B8F7009F06E -:1043800092C10E9460DB81118EC18091F41D82FD7B -:104390008AC112C384E690E09093791C8093781CC4 -:1043A00010936C1C00936F1C8EE090E1A0E0B0E0D5 -:1043B0008093701C9093711CA093721CB093731C1B -:1043C0000F946807C60182539048880F991F9093F5 -:1043D000791C8093781C10936C1C00936F1C8FE0E9 -:1043E00090E1A0E0B0E08093701C9093711CA093CA -:1043F000721CB093731C0F9468070E9415F790E02D -:104400009093791C8093781C85E080936C1C82E8E3 -:1044100080936F1C86E190E1A0E0B0E08093701C77 -:104420009093711CA093721CB093731C0F94680737 -:1044300020E030E048EC52E460917F1270918012ED -:1044400080918112909182120F94AC2E0F94A83615 -:104450007093791C6093781C15E010936C1C02E833 -:1044600000936F1C86E290E1A0E0B0E08093701CA6 -:104470009093711CA093721CB093731C0F946807E7 -:1044800060918309709184098091850990918609D2 -:104490000F94A8367093791C6093781C10936C1C51 -:1044A00000936F1C86E390E1A0E0B0E08093701C65 -:1044B0009093711CA093721CB093731C0F946807A7 -:1044C00060919A0970919B0980919C0990919D0936 -:1044D0000F94A8367093791C6093781C10936C1C11 -:1044E00000936F1C8CE390E1A0E0B0E08093701C1F -:1044F0009093711CA093721CB093731C0F94680767 -:1045000080918709909188099093791C8093781CF9 -:1045100010936C1C00936F1C84E390E1A0E0B0E06A -:104520008093701C9093711CA093721CB093731CA9 -:104530000F94680780919E0990919F099093791C30 -:104540008093781C10936C1C00936F1C8AE390E19D -:10455000A0E0B0E08093701C9093711CA093721C3B -:10456000B093731C0F9468070091CB0801113CC1F4 -:104570008091CD08811138C18091D20881118BC101 -:104580008091201C9091211CA091221CB091231C91 -:104590008C3420E19207A105B10509F0A1C13CEBE3 -:1045A000C32E3CE1D32E0AE182E69AE10E94425DED -:1045B000E090C008F090C108181619060CF085C3E9 -:1045C0008AE1E816F10414F40C94C1357EC38CE042 -:1045D000FE013196ABE5B2E101900D928A95E1F7CB -:1045E0000E945FDD8091611A8D7F8093611A47CCB4 -:1045F0001092D3086ECC8EEE95E00E94B654809156 -:10460000D10890E0A0E0B0E0895B9F4FAE4FB54A83 -:1046100021E03AE53093791C2093781C90937B1C21 -:1046200080937A1C87E080936C1C82E880936F1CD7 -:1046300084E890E0A0E0B0E08093701C9093711C3F -:10464000A093721CB093731C0F9468071092D20849 -:10465000F3CC81E080937F021092CC1E8CEF95E02A -:104660000E94B65481E09AE59093791C8093781C5F -:104670008EE490E090937B1C80937A1C87E080937B -:104680006C1C82E880936F1C84E890E0A0E0B0E0AE -:104690008093701C9093711CA093721CB093731C38 -:1046A0000F946807CBCC8CE090E09093791C8093BA -:1046B000781C05E000936C1C82E880936F1C84E1F9 -:1046C00090E1A0E0B0E08093701C9093711CA093E7 -:1046D000721CB093731C0F9468070E94F7F520E1D9 -:1046E0003EE040E050E00F949C342115310591E00C -:1046F0004907510560F05093791C4093781C309322 -:104700007B1C20937A1C87E080936C1C06C030933E -:10471000791C2093781C00936C1C02E800936F1C9A -:1047200080E190E1A0E0B0E08093701C9093711C58 -:10473000A093721CB093731C0F9468070E94F7F546 -:1047400020E13EE040E050E00F949C342CE330E068 -:1047500040E050E00F949C343093791C2093781CF7 -:1047600015E010936C1C00936F1C82E190E1A0E0B7 -:10477000B0E08093701C9093711CA093721CB09356 -:10478000731C0F9468070E9415F7882391F00E940C -:1047900015F78F5F8093CE08C82ED12C833308F095 -:1047A000F9CDC601880F991F9093791C8093781CCE -:1047B00004C01092791C1092781C10936C1C00930A -:1047C0006F1C8EE090E1A0E0B0E08093701C9093AD -:1047D000711CA093721CB093731C0F946807109205 -:1047E000791C1092781CF7CD20E030E048EC52E4C0 -:1047F000609183097091840980918509909186095F -:104800000F94AC2E6B017C0160918709709188092F -:10481000072E000C880B990B0F944D2E9B01AC01B9 -:10482000C701B6010F9436360F94AF366436710562 -:1048300010F064E670E07093791C6093781C45E09A -:10484000A42EA0926C1C52E8B52EB0926F1C84E28C -:1048500090E1A0E0B0E08093701C9093711CA09355 -:10486000721CB093731C0F946807C0908309D0909A -:104870008409E0908509F090860920E030E040E26C -:1048800053E4C701B6010F949C3718160CF03AC1D7 -:10489000011188C137C18091C20801E0080F00935F -:1048A000C20890E09093791C8093781C85E08093F7 -:1048B0006C1C82E880936F1C82E490E1A0E0B0E081 -:1048C0008093701C9093711CA093721CB093731C06 -:1048D0000F9468070A3008F453CE1092C20850CEE5 -:1048E0008A349041A105B10509F459CE80E00E94B7 -:1048F000BAD220E030E040E251E40F94AC2E0F94A5 -:10490000A8367093791C6093781C15E010936C1C8A -:1049100002E800936F1C88E490E1A0E0B0E080938F -:10492000701C9093711CA093721CB093731C0F9415 -:10493000680781E00E94BAD220E030E040E251E412 -:104940000F94AC2E0F94A8367093791C6093781C4A -:1049500010936C1C00936F1C8AE490E1A0E0B0E01F -:104960008093701C9093711CA093721CB093731C65 -:104970000F94680782E00E94BAD220E030E040E263 -:1049800051E40F94AC2E0F94A8367093791C609369 -:10499000781C10936C1C00936F1C8CE490E1A0E0D9 -:1049A000B0E08093701C9093711CA093721CB09324 -:1049B000731C0F946807F3CD80919A0990919B091D -:1049C000A0919C09B0919D0988A399A3AAA3BBA318 -:1049D00060919E0970919F09072E000C880B990B1E -:1049E0000F944D2E6B017C0120E030E040E050E45C -:1049F0000F943B3528A139A14AA15BA10F949C37A4 -:104A0000181604F14090830950908409609085093C -:104A1000709086096091870970918809072E000CB3 -:104A2000880B990B0F944D2E4B015C0120E030E078 -:104A300040E251E40F943B35A30192010F949C375F -:104A4000181604F58DE090E09093791C8093781C03 -:104A500085E080936C1C82E880936F1C84E190E178 -:104A6000A0E0B0E08093701C9093711CA093721C26 -:104A7000B093731C0F9468078091CB1E81113FC0C7 -:104A800081E03DC020E030E040E050E4C701B601E5 -:104A90000F943C3528A139A14AA15BA10F94462E61 -:104AA00087FD0EC020E030E040E251E4C501B401D2 -:104AB0000F943C35A30192010F94462E87FFB8CC8A -:104AC00084E190E09093791C8093781C85E080933A -:104AD0006C1C82E880936F1C84E190E1A0E0B0E060 -:104AE0008093701C9093711CA093721CB093731CE4 -:104AF0000F9468078091CB1E811101C082E08093E2 -:104B0000CB1E96CC6091870970918809072E000C06 -:104B1000880B990B0F944D2E9B01AC01C701B60178 -:104B20000F949C376091CD0887FDAEC0662309F4D1 -:104B300023CD062E000C770B8BE397E00F94221BFE -:104B40001092CD081092D0081092CF0884E090E027 -:104B50009093791C8093781C85E080936C1C02E80C -:104B600000936F1C8EE890E1A0E0B0E08093701C91 -:104B70009093711CA093721CB093731C0F946807E0 -:104B800081E09AE59093791C8093781C83E590E00E -:104B900090937B1C80937A1C87E080936C1C00931D -:104BA0006F1C63C01092CB0820E030E040E251E47B -:104BB0006091C3087091C4088091C5089091C6089F -:104BC0000F94AC2E0F94A8367093791C6093781CC8 -:104BD000A0926C1CB0926F1C84E590E1A0E0B0E064 -:104BE0008093701C9093711CA093721CB093731CE3 -:104BF0000F94680720E030E040E251E46091C7087C -:104C00007091C8088091C9089091CA080F94AC2E81 -:104C10000F94A8367093791C6093781CA0926C1C3A -:104C2000B0926F1C88E590E1A0E0B0E08093701C2A -:104C30009093711CA093721CB093731C0F9468071F -:104C40008AE096E00E94B65481E09AE59093791C40 -:104C50008093781C81E490E090937B1C80937A1C75 -:104C600087E080936C1CB0926F1C84E890E0A0E019 -:104C7000B0E08093701C9093711CA093721CB09351 -:104C8000731C0F94680778CC662309F475CC809167 -:104C9000CF089091D0089C012F5F3F4F3093D008F0 -:104CA0002093CF0865E070E00F941F359093791C36 -:104CB0008093781C85E080936C1C82E880936F1C45 -:104CC0008EE890E1A0E0B0E0D4CF1E141F040CF0F9 -:104CD0004CCB90911D1C8091BC1C981322C09091CC -:104CE0001E1C8091BD1C98131CC023E0E216F10429 -:104CF000C4F09091BE1C90931C1C8091BF1C8093AB -:104D00001F1C9330D1F4982F9D7F9038B1F490916F -:104D1000C01C9F3409F059C09091C11C9B3409F00C -:104D200054C08AE1ECEBFCE1DF011D928A95E9F7C2 -:104D30001092C1081092C00818CB833809F045C002 -:104D40008091C01C9091C11C982789279827A0E0CA -:104D5000B0E08093201C9093211CA093221CB09360 -:104D6000231CC090C21CD12CE12CF12CC092241C1D -:104D7000D092251CE092261CF092271CA3ECBCE1EB -:104D800040E050E0BA014C155D056E057F0508F066 -:104D90004AC04A015B01B694A79497948794F401A2 -:104DA0003696EE0FFF1FE45EF34E8C9190E0982F45 -:104DB000882711962C911197822B918380834E5FC7 -:104DC0005F4F6F4F7F4F1296DECF813861F5809134 -:104DD000C01C90E0A0E0B0E08093201C9093211CC8 -:104DE000A093221CB093231C8091C11C482F50E03B -:104DF00060E070E04093241C5093251C6093261CB7 -:104E00007093271CA2ECBCE1E8E2FCE190E020E01A -:104E100030E02817390739F04D9150E04193519314 -:104E20002F5F3F4FF6CF8AE1ECEBFCE1DF011D92F3 -:104E30008A95E9F71092C1081092C00885E394E0C2 -:104E40000E94B6546091CC1E161664F4062E000C17 -:104E5000770B80E397E00F94221B8AE00E94AB530C -:104E60000C94B2356091281C7091291C8EE197E05A -:104E70000F94041B8AE00E94AB534091201C509178 -:104E8000211C6091221C7091231C8FE097E00F94ED -:104E9000F31A8AE00E94AB538091201C9091211C50 -:104EA000A091221CB091231CE4E8F2E000E010E0A5 -:104EB00041915191619171914115510561057105C2 -:104EC000D1F1481759076A077B0791F5AC01BD017D -:104ED000485050416109710945305105610571051E -:104EE00068F1AC01BD01477F423350416105710556 -:104EF00041F18433F0E19F07A105B10511F1AC0147 -:104F0000BD014654504161097109473051056105A1 -:104F10007105D0F0AC01BD014455504161097109E2 -:104F2000453051056105710588F402E110E00EC0BD -:104F30000F5F1F4FBDCF0FEF1FEF08C003E010E062 -:104F400005C008E010E002C00FE010E08A50904277 -:104F5000A109B109833D9105A105B10530F00F3FCD -:104F60002FEF120721F40C94B23509E110E0F6E5B9 -:104F7000CF2EF4E0DF2EF60181916F01882319F026 -:104F80000E94AB53F8CFB801012E000C880B990B8F -:104F90000E941F540E94B05483E097E00E94B654D0 -:104FA0000A31110510F00C94AE35F8018827E75846 -:104FB000FF4F8F4F0D9433358091281C9091291C01 -:104FC00081309105E1F410927F028FEF80934615B6 -:104FD00060E080E00E94C4A904E614E0D8018D914D -:104FE0008D01882319F00E94AB53F8CF81E09AE538 -:104FF0009093791C8093781C8EE290E0AFC0823051 -:10500000910509F0B7C081E080937F020E9486F786 -:105010008FEF96E09093D3098093D2098BE090E0D4 -:105020009093791C8093781C05E000936C1C12E827 -:1050300010936F1C80E092E1A0E0B0E08093701CC0 -:105040009093711CA093721CB093731C0F9468070B -:105050001092791C1092781C00936C1C10936F1C9A -:105060008EE090E1A0E0B0E08093701C9093711C02 -:10507000A093721CB093731C0F9468071092791C54 -:105080001092781C00936C1C10936F1C8FE090E1C1 -:10509000A0E0B0E08093701C9093711CA093721CF0 -:1050A000B093731C0F9468071092791C1092781CAF -:1050B00000936C1C10936F1C86E190E1A0E0B0E0BF -:1050C0008093701C9093711CA093721CB093731CFE -:1050D0000F94680762E070E080E090E00E94CED21A -:1050E0001092791C1092781C00936C1C10936F1C0A -:1050F00080E190E1A0E0B0E08093701C9093711C7F -:10510000A093721CB093731C0F9468071092791CC3 -:105110001092781C00936C1C10936F1C82E190E13C -:10512000A0E0B0E08093701C9093711CA093721C5F -:10513000B093731C0F9468070EE814E0F801819196 -:105140008F01882319F00E94AB53F8CF81E09AE5D4 -:105150009093791C8093781C8DE290E090937B1C57 -:1051600080937A1C87E080936C1C82E880936F1C8C -:105170000C94F7368330910549F581E080937F02E6 -:1051800008EB14E0D8018D918D018823C9F00E94AD -:10519000AB53F8CF8091201C9091211CA091221C30 -:1051A000B091231C8233F0E19F07A105B10509F0FE -:1051B0005EC48091281C9091291C009709F029C495 -:1051C00080910502882309F40EC31EC3049711F0D1 -:1051D0000C94B23510927F020C94B2358091281C49 -:1051E0009091291C81309105D9F410927F02809111 -:1051F0000502882319F082E090E002C083E090E08D -:105200009093791C8093781C85E080936C1C82E8D5 -:1052100080936F1C8EE190E1A0E0B0E00C94FB362F -:105220008230910519F502EE14E0F80181918F01A9 -:10523000882319F00E94AB53F8CF81E080937F025E -:105240008091CB1E843049F081E09AE59093791CDF -:105250008093781C85E390E081CF81E09AE590937C -:10526000791C8093781C86E390E078CF8330910599 -:1052700009F04CC020910502222319F19093791C6A -:105280008093781C85E080936C1C82E880936F1C6F -:105290008EE190E1A0E0B0E08093701C9093711CCF -:1052A000A093721CB093731C0F94680740E060E0F9 -:1052B00070E088EC92E40E94EDF7109205020C94E5 -:1052C000B23582E090E09093791C8093781C85E061 -:1052D00080936C1C82E880936F1C8EE190E1A0E0CB -:1052E000B0E08093701C9093711CA093721CB093DB -:1052F000731C0F94680740E060E070E0CB010E94EF -:10530000EDF781E0809305020C94B235049711F01B -:105310000C94B2358091AD098823F1F082E090E0E1 -:105320009093791C8093781C85E080936C1C82E8B4 -:1053300080936F1C8FE190E1A0E0B0E08093701C3F -:105340009093711CA093721CB093731C0F94680708 -:105350001092AD090C94B23583E090E09093791CE3 -:105360008093781C85E080936C1C82E880936F1C8E -:105370008FE190E1A0E0B0E08093701C9093711CED -:10538000A093721CB093731C0F94680781E0809304 -:10539000AD090C94B2356091281C7091291C80E0F5 -:1053A00090E00F944B2E6B017C0120E030E04AEF3F -:1053B00053E40F94462E87FF11C020E030E040E216 -:1053C00051E4C701B6010F949C3718166CF0C12C3C -:1053D000D12C70E2E72E71E4F72E06C0C12CD12C3F -:1053E000EAEFEE2EE3E4FE2EC701B6010F94A836D5 -:1053F00070936702609366020C94B2358091201C12 -:105400009091211CA091221CB091231C8830F0E1C6 -:105410009F07A105B10509F050C081E09AE590937E -:10542000791C8093781C8DE290E090937B1C809394 -:105430007A1C87E080936C1C12E810936F1C84E840 -:1054400090E0A0E0B0E08093701C9093711CA0935A -:10545000721CB093731C0F9468071092791C109201 -:10546000781C05E000936C1C10936F1C80E190E1A8 -:10547000A0E0B0E08093701C9093711CA093721C0C -:10548000B093731C0F9468071092791C1092781CCB -:1054900000936C1C10936F1C82E190E1A0E0B0E0DF -:1054A0008093701C9093711CA093721CB093731C1A -:1054B0000F9468070E9486F78FC08A3020E1920718 -:1054C000A105B105E1F58091281C9091291C813F2F -:1054D000910511F00C94B23581E09AE59093791C16 -:1054E0008093781C86E390E090937B1C80937A1CD9 -:1054F00087E080936C1C82E880936F1C84E890E0C6 -:10550000A0E0B0E08093701C9093711CA093721C7B -:10551000B093731C0F9468074EE755E065E875E09B -:1055200084E00E94388760E081E795E00E9447F7B9 -:1055300087E695E09093D3098093D2094DC08C30D3 -:105540009041A105B10509F047C08091281C9091B8 -:10555000291C019709F040C00F941E281092CB1E01 -:1055600081E080937F028CE090E09093791C80939F -:10557000781C85E080936C1C12E810936F1C84E10A -:1055800090E1A0E0B0E08093701C9093711CA09318 -:10559000721CB093731C0F94680781E09AE5909396 -:1055A000791C8093781C85E390E090937B1C80931A -:1055B0007A1C87E080936C1C10936F1C84E890E049 -:1055C000A0E0B0E08093701C9093711CA093721CBB -:1055D000B093731C0F9468078091201C9091211C3C -:1055E000A091221CB091231C8C309041A105B105E3 -:1055F00011F00C94B2358091281C9091291C0297CF -:1056000011F00C94B2350F941E2881E08093CD08E0 -:105610001092CB1E80937F021092D0081092CF0878 -:1056200081E09AE59093791C8093781C82E590E064 -:1056300095CD2091281C3091291CB90180E090E083 -:1056400037FF09C00F944B2E20E030E040E857E4CC -:105650000F943B3502C00F944B2E20E030E048EC15 -:1056600052E40F9436366B017C0120E030E040EAD2 -:1056700051EC0F949C3787FD31C020E030E040EAC8 -:1056800051E4C701B6010F94462E18163CF1A7014C -:10569000960160917F127091801280918112909199 -:1056A00082120F943B3520E030E048EC53E40F9435 -:1056B000AC2E90580F94A836CB010F945D0AC0927F -:1056C0007F12D0928012E0928112F09282128AEFC1 -:1056D00096E09093D3098093D20928C020E030E06F -:1056E00048EC52E460917F12709180128091811297 -:1056F000909182120F94AC2E0F94A8367093791C5F -:105700006093781C85E080936C1C82E880936F1C0A -:1057100086E290E1A0E0B0E08093701C9093711C51 -:10572000A093721CB093731C0F94680760917F1252 -:105730007091801280918112909182128E010B5E85 -:105740001F4F23E041E00F941E299F938F938CEE0F -:1057500096E09F938F93045111091F930F930F9419 -:10576000DE2DC8010E94A8D30F900F900F900F90CC -:105770000F900F900C94B2358091281C9091291CA9 -:10578000009729F481E080937F020C94B235813038 -:105790009105B1F480910502882349F081E09AE5F2 -:1057A0009093791C8093781C8CE390E0D7CC81E0B7 -:1057B0009AE59093791C8093781C8BE390E0CECC93 -:1057C00082309105F9F28330910539F58091050217 -:1057D00040E0882389F060E070E088EC92E40E9469 -:1057E000EDF71092050281E09AE59093791C809381 -:1057F000781C89E390E0B2CC60E070E0CB010E94BD -:10580000EDF781E08093050281E09AE59093791CA1 -:105810008093781C8AE390E0A1CC8530910559F5FE -:1058200040E060E070E084E393E40E9445D146E00C -:1058300060E070E08CE892E40E9445D184EB90E057 -:105840009093791C8093781C05E000936C1C12E8FF -:1058500010936F1C84E390E1A0E0B0E08093701C93 -:105860009093711CA093721CB093731C0F946807E3 -:1058700086E490E02DC086309105C1F540E060E0FF -:1058800070E080E793E40E9445D146E060E070E07C -:105890008CED92E40E9445D180EF90E09093791CCA -:1058A0008093781C05E000936C1C12E810936F1C29 -:1058B00084E390E1A0E0B0E08093701C9093711CB1 -:1058C000A093721CB093731C0F9468078EE690E04F -:1058D0009093791C8093781C00936C1C10936F1C20 -:1058E0008AE390E1A0E0B0E00C94FB36813F9105A3 -:1058F00011F00C94B23540E060E070E0CB010E9402 -:10590000EDF741E060E070E0CB010E94EDF710920E -:10591000050240E060E070E0CB010E9445D146E026 -:1059200060E070E0CB010E9445D11092791C10928A -:10593000781C05E000936C1C12E810936F1C84E344 -:1059400090E1A0E0B0E08093701C9093711CA09354 -:10595000721CB093731C0F94680761E070E080E0E4 -:1059600090E00E94CED21092791C1092781C009385 -:105970006C1C10936F1C8AE390E1A0E0B0E0809370 -:10598000701C9093711CA093721CB093731C0F94A5 -:10599000680761E070E080E090E00E94CED284E190 -:1059A00090E09093791C8093781C00936C1C10936A -:1059B0006F1C84E190E1A0E0B0E08093701C9093B4 -:1059C000711CA093721CB093731C0F94680781E044 -:1059D0009AE59093791C8093781C89E390E09093EA -:1059E0007B1C80937A1C87E080936C1C10936F1C47 -:1059F00084E890E0A0E0B0E08093701C9093711C6C -:105A0000A093721CB093731C0F94680782E00C94EF -:105A1000AB3581309105B1F440E060E070E0CB013E -:105A20000E9445D11092791C1092781C85E08093D9 -:105A30006C1C82E880936F1C84E390E1A0E0B0E0EE -:105A40000C94FB36029711F00C94B23546E060E0FE -:105A500070E0CB010E9445D11092791C1092781C05 -:105A600085E080936C1C82E880936F1C39CF84336F -:105A700020E19207A105B10551F46091281C7091B5 -:105A8000291C80E090E00F944B2E40E010C08A3338 -:105A90009041A105B10511F00C94B2356091281C1C -:105AA0007091291C80E090E00F944B2E46E00E94FC -:105AB00045D10C94B2358091281C9091291C0097F7 -:105AC00009F460CE8130910509F04CC08091E71255 -:105AD000882319F083E090E002C082E090E0909388 -:105AE000791C8093781C85E080936C1C82E88093FD -:105AF0006F1C85E490E1A0E0B0E08093701C90936F -:105B0000711CA093721CB093731C0F9468078AE0F9 -:105B100090E09093791C8093781C85E080936C1CB6 -:105B200082E880936F1C80E092E1A0E0B0E0809377 -:105B3000701C9093711CA093721CB093731C0F94F3 -:105B400068070E94B2D1811103C08CED96E002C0BB -:105B500080ED96E09093D3098093D20982E0809300 -:105B6000CC1E72C18230910509F0A8C081E08093FB -:105B70007F0288E0E3ECF8E0DF011D928A95E9F707 -:105B800080E090E0A0E2B1E48093C3089093C40861 -:105B9000A093C508B093C6088093C7089093C8081F -:105BA000A093C908B093CA0884E690E09093791C4A -:105BB0008093781C05E000936C1C12E810936F1C16 -:105BC00084E590E1A0E0B0E08093701C9093711C9C -:105BD000A093721CB093731C0F94680720E030E010 -:105BE00040E251E46091C7087091C8088091C908EB -:105BF0009091CA080F94AC2E0F94A8367093791C1C -:105C00006093781C00936C1C10936F1C88E590E1E6 -:105C1000A0E0B0E08093701C9093711CA093721C64 -:105C2000B093731C0F946807609183097091840985 -:105C300080918509909186090F94A8367093791CFC -:105C40006093781C00936C1C10936F1C86E390E1AA -:105C5000A0E0B0E08093701C9093711CA093721C24 -:105C6000B093731C0F9468078091870990918809FD -:105C70009093791C8093781C00936C1C10936F1C7C -:105C800084E390E1A0E0B0E08093701C9093711CDD -:105C9000A093721CB093731C0F94680762E070E0CD -:105CA00080E090E00E94CED281E09AE59093791C4A -:105CB0008093781C81E490E00C94EE36833091055B -:105CC00009F077C01092D10880E00E94BAD220E09B -:105CD00030E040E251E40F94AC2E0F94A83670935C -:105CE000791C6093781C05E000936C1C12E81093FB -:105CF0006F1C88E490E1A0E0B0E08093701C90936A -:105D0000711CA093721CB093731C0F94680781E000 -:105D10000E94BAD220E030E040E251E40F94AC2E71 -:105D20000F94A8367093791C6093781C00936C1CB8 -:105D300010936F1C8AE490E1A0E0B0E08093701CA7 -:105D40009093711CA093721CB093731C0F946807FE -:105D500082E00E94BAD220E030E040E251E40F94A9 -:105D6000AC2E0F94A8367093791C6093781C009326 -:105D70006C1C10936F1C8CE490E1A0E0B0E0809369 -:105D8000701C9093711CA093721CB093731C0F94A1 -:105D9000680762E070E080E090E00E94CED281E08F -:105DA0009AE59093791C8093781C87E490E00C949A -:105DB000EE368430910509F4D5C68530910549F455 -:105DC0004EE750E160E070E089E095E00F9417073E -:105DD000C9C6069709F0C6C68CEC96E09093D30925 -:105DE0008093D2098BE090E02BC28091281C909187 -:105DF000291C019711F510927F0281E09AE590939A -:105E0000791C8093781C8FE390E090937B1C8093A7 -:105E10007A1C87E080936C1C82E880936F1C84E876 -:105E200090E0A0E0B0E08093701C9093711CA09370 -:105E3000721CB093731C0F9468078091281C90917A -:105E4000291C029709F08EC681E09AE59093791C8F -:105E50008093781C80E490E081C9E091281CF09147 -:105E6000291C3197EB30F10508F0E4C18827ED5685 -:105E7000FF4F8F4F0D9433358091601A80FFACC671 -:105E8000869580FDACC6A8C62DEC3CEC4CEC5DE3E1 -:105E900060917F1270918012809181129091821294 -:105EA0000F943C356B017C0120E030E040EA51EC7E -:105EB0000F949C3787FDC2C120E030E040EA51E4F6 -:105EC000C701B6010F94462E18160CF08FC6B6C146 -:105ED0002DEC3CEC4CEC5DE360917F1270918012F4 -:105EE00080918112909182120F943B356B017C015D -:105EF00020E030E040EA51EC0F949C3787FD9EC1D2 -:105F000020E030E040EA51E4C701B6010F94462E8C -:105F100018160CF0E2C692C180E00F94D3170E94CD -:105F2000B2D1811103C083E796E002C085E696E016 -:105F30009093D3098093D20982E08093CC1E81E0B4 -:105F40009AE59093791C8093781C84E590E0909377 -:105F50007B1C80937A1C87E080936C1C82E8809382 -:105F60006F1C84E890E0A0E0B0E08093701C9093F8 -:105F7000711CA093721CB093731C0F9468075EC1D0 -:105F800083E08093CC1E83E090E09093791C809313 -:105F9000781C85E080936C1C82E880936F1C8DE8F0 -:105FA00090E1A0E0B0E08093701C9093711CA093EE -:105FB000721CB093731C0F946807E12CF12C00E065 -:105FC000DD24D394AA24A39445E0942E55E0852E95 -:105FD00062E8762EDD2031F0CC24C39435E0B32E78 -:105FE00010E005C0CC24CA94BB24BA9414E0DA248F -:105FF000B116D1F1802F90E04897A4F50F5FF7011B -:10600000919EE00DF11D1124EE0FFF1FEE0FFF1FFB -:10601000ED53F64E20E030E04AE754E460817181B0 -:10602000828193810F94AC2E0F94A8367093791CC3 -:106030006093781C80926C1C70926F1C802F90E093 -:106040008158974F880F991F092E000CAA0BBB0B84 -:106050008093701C9093711CA093721CB093731C5E -:106060000F9468071C0DC4CFBFEFEB1AFB0AE5E0E5 -:10607000EE16F10409F0AECF81E09AE59093791C19 -:106080008093781C85E590E090937B1C80937A1C2C -:1060900087E080936C1C82E880936F1C84E890E01A -:1060A000A0E0B0E08093701C9093711CA093721CD0 -:1060B000B093731C0F94680787E096E09093D30920 -:1060C0008093D209BBC042E060E070E080E890E4D9 -:1060D0000E94DCD140E060E070E08DE193E40E943A -:1060E000DCD141E060E070E08AE193E413C042E07B -:1060F00060E070E080E890E40E94DCD140E060E085 -:1061000070E080E292E40E94DCD141E060E070E067 -:1061100080E292E40E94DCD186E08093CC1E8EC0A7 -:1061200042E060E070E080E890E40E94DCD140E072 -:1061300060E070E089E893E4E6CF42E060E070E080 -:1061400080E890E40E94DCD140E060E070E089E803 -:1061500093E40CC042E060E070E080E890E40E94CC -:10616000DCD140E060E070E080E292E40E94DCD1AB -:1061700041E060E070E086E893E4CCCF8091E712E4 -:1061800081111CC083E090E09093791C8093781C6F -:1061900085E080936C1C82E880936F1C85E490E11D -:1061A000A0E0B0E08093701C9093711CA093721CCF -:1061B000B093731C0F94680781E01BC082E090E0ED -:1061C0009093791C8093781C85E080936C1C82E806 -:1061D00080936F1C85E490E1A0E0B0E08093701C98 -:1061E0009093711CA093721CB093731C0F9468075A -:1061F00080E00F94D31720E030E048EC52E4609147 -:106200007F127091801280918112909182120F946E -:10621000AC2E0F94A8367093791C6093781C85E09F -:1062200080936C1C82E880936F1C86E290E1A0E072 -:10623000B0E09BCE8BEE95E00E94B6548AE090E0F1 -:106240009093791C8093781C85E080936C1C82E885 -:1062500080936F1C4BC184E08093CC1E8091201CE6 -:106260009091211CA091221CB091231C6091281CAC -:106270007091291C8834F0E19F07A105B10509F44C -:1062800053C08A3420E19207A105B10509F456C034 -:106290008C3430E19307A105B10509F45AC0863466 -:1062A0009041A105B10509F05EC063307105B9F5F3 -:1062B0008AED95E09093D3098093D20981E0809391 -:1062C000D20880937F021092C20881E09AE59093F1 -:1062D000791C8093781C8AE490E090937B1C8093D7 -:1062E0007A1C87E080936C1C12E810936F1C84E882 -:1062F00090E0A0E0B0E08093701C9093711CA0939C -:10630000721CB093731C0F9468078AE090E090931E -:10631000791C8093781C85E080936C1CE5C06093A9 -:10632000D1081092CC1E1EC480E090E8ADE9B3E421 -:106330008CA39DA3AEA3BFA3312C15C080E090E039 -:10634000AAE9B3E48CA39DA3AEA3BFA333243394E3 -:106350000AC080E090E0A8ECB3E48CA39DA3AEA3B8 -:10636000BFA382E0382E80E090E00F944B2E20E017 -:1063700030E040E251E40F9436366B017C0120E0BE -:1063800030E0A9010F94462E87FF09C01092BC0887 -:106390001092BD081092BE081092BF081FC02CA119 -:1063A0003DA14EA15FA1C701B6010F949C371816FD -:1063B0004CF0C092BC08D092BD08E092BE08F092AA -:1063C000BF080CC08CA19DA1AEA1BFA18093BC0849 -:1063D0009093BD08A093BE08B093BF086091BC081D -:1063E0007091BD088091BE089091BF08432D0E9416 -:1063F000DCD161E070E080E090E00E94CED280E0ED -:106400000E94BAD220E030E040E251E40F94AC2E7A -:106410000F94A8367093791C6093781C05E0009364 -:106420006C1C12E810936F1C88E490E1A0E0B0E0CF -:106430008093701C9093711CA093721CB093731C7A -:106440000F94680781E00E94BAD220E030E040E279 -:1064500051E40F94AC2E0F94A8367093791C60937E -:10646000781C00936C1C10936F1C8AE490E1A0E0F0 -:10647000B0E08093701C9093711CA093721CB09339 -:10648000731C0F94680782E00E94BAD220E030E0CB -:1064900040E251E40F94AC2E0F94A8367093791C0F -:1064A0006093781C00936C1C10936F1C8CE490E13B -:1064B000A0E0B0E08093701C9093711CA093721CBC -:1064C000B093731C0F94680761E070E080E090E087 -:1064D0000E94CED21092CC1E8AE090E09093791C5C -:1064E0008093781C00936C1C10936F1C80E092E1E9 -:1064F000A0E0B0E080C48091201C9091211CA0916C -:10650000221CB091231C8635E0E19E07A105B10550 -:1065100009F041C020E030E040E253E4609183099B -:106520007091840980918509909186090F94462E77 -:106530002091281C3091291C87FF68C42530310523 -:1065400008F064C480EA90E09093791C8093781CF2 -:1065500085E080936C1C12E810936F1C80E290E140 -:10656000A0E0B0E08093701C9093711CA093721C0B -:10657000B093731C0F94680765E070E080E090E0D2 -:106580000E94CED281E09AE59093791C8093781C8A -:1065900082E490E023C48435F0E19F07A105B105B2 -:1065A000B9F46091281C7091291C80E090E00F9450 -:1065B0004B2E20E030E040E251E40F9436366093F9 -:1065C000C3087093C4088093C5089093C608CAC2D4 -:1065D00088359041A105B10509F0C4C26091281C1D -:1065E0007091291C80E090E00F944B2E20E030E069 -:1065F00040E251E40F9436366093C7087093C808A0 -:106600008093C9089093CA08ADC26091281C70910C -:10661000291C84EC95E00F94041B8091281C909118 -:10662000291C82309105A1F038F4009771F0019790 -:10663000E1F482E395E094C28430910579F058F05A -:10664000059799F489E995E00BC08CE195E088C243 -:1066500086EB95E005C08CEA95E002C087EA95E0FC -:106660009093D3098093D2097DC286E495E078C2E5 -:1066700085E595E00E94B6548091281C9091291CD4 -:106680008130910509F054C00E94D0D1811103C01E -:10669000649908C067C2813009F064C28091030127 -:1066A00080FF60C283E695E00E94B65481E00E94BC -:1066B00021868DE090E09093791C8093781C85E092 -:1066C00080936C1C12E810936F1C84E190E1A0E0B1 -:1066D000B0E08093701C9093711CA093721CB093D7 -:1066E000731C0F94680783E08093CB1E81E09AE5CA -:1066F0009093791C8093781C85E390E090937B1CA9 -:1067000080937A1C87E080936C1C10936F1C84E844 -:1067100090E0A0E0B0E08093701C9093711CA09377 -:10672000721CB093731C0F9468071092B8081AC2B9 -:10673000892B09F017C28BE795E00E94B65480912F -:10674000B808813039F581E995E00E94B65481E0BE -:106750009AE59093791C8093781C8EE290E0909358 -:106760007B1C80937A1C87E080936C1C82E880936A -:106770006F1C84E890E0A0E0B0E08093701C9093E0 -:10678000711CA093721CB093731C0F946807109235 -:10679000CA1E35C0823069F485EA95E00E94B6547D -:1067A00081E09AE59093791C8093781C86E390E0D1 -:1067B0000EC0833031F589EB95E00E94B65481E03C -:1067C0009AE59093791C8093781C81E490E09093F3 -:1067D0007B1C80937A1C87E080936C1C82E88093FA -:1067E0006F1C84E890E0A0E0B0E08093701C909370 -:1067F000711CA093721CB093731C0F9468071092C5 -:10680000271A1092B8080E9486F7ACC18091281C04 -:106810009091291C8F3F910531F028F08FEF90E087 -:10682000A0E0B0E002C0A0E0B0E080930602909348 -:106830000702A0930802B09309028091060290918A -:106840000702A0910802B09109020097A105B105C5 -:1068500009F51092791C1092781C05E000936C1CCD -:1068600012E810936F1C8AE890E1A0E0B0E08093FA -:10687000701C9093711CA093721CB093731C0F94A6 -:10688000680789E090E09093791C8093781C0093CE -:106890006C1C3DC00196A11DB11D05E0B695A795E4 -:1068A000979587950A95D1F70197A109B1090097A6 -:1068B00031E0A307B10550F0B093791CA093781C88 -:1068C00090937B1C80937A1C87E005C09093791C81 -:1068D0008093781C85E080936C1C12E810936F1CE9 -:1068E0008AE890E1A0E0B0E08093701C9093711C66 -:1068F000A093721CB093731C0F94680788E090E01B -:106900009093791C8093781C85E080936C1C109385 -:106910006F1C8CE890E1A0E0B0E08093701C909335 -:10692000711CA093721CB093731C0F946807809124 -:10693000060290910702A0910802B0910902BA2FB5 -:10694000A92F982F88270097E1E0AE07B10550F0F6 -:10695000B093791CA093781C90937B1C80937A1C35 -:1069600087E005C09093791C8093781C85E0809324 -:106970006C1C82E880936F1C81EA90E0A0E0B0E09C -:106980003AC28DEC95E00E94B6540E9439D14091F4 -:10699000201C5091211C6091221C7091231C882383 -:1069A00039F0433DF0E25F076105710509F48DC3DD -:1069B000423D50426105710509F0D4C08091281C08 -:1069C0009091291C019709F0D7C40E9439D18823DE -:1069D00009F4D2C48091461587FDC4C0A2E18A02A1 -:1069E000C00111248F5F984E0E94125FC12C90E26B -:1069F000D92EE12CF12C05E012E81092791C1092AE -:106A0000781C00936C1C10936F1CC092701CD09269 -:106A1000711CE092721CF092731C0F946807BFEF18 -:106A2000CB1ADB0AEB0AFB0AEAE0CE16E0E2DE064E -:106A3000E104F10411F700914615F2E10F02800123 -:106A4000112407561A4EF80101900020E9F7C801F9 -:106A50008E1B9F0B439697FD01967C01F594E7945E -:106A60001E141F040CF082C49E012F5F3F4F69016A -:106A700084E1D9011D928A95E9F7A7016EED75E0D1 -:106A8000C9010F94AF38B801C6018E0D9F1D0F9438 -:106A90009A3840E050E260E070E0C6010F941707BA -:106AA00062E070E080E090E00E94CED240E060E0E2 -:106AB00070E08FE793E40E94EDF741E060E070E062 -:106AC0008FE793E40E94EDF7109205028DE090E0CD -:106AD0009093791C8093781C85E080936C1C12E85D -:106AE00010936F1C84E190E1A0E0B0E08093701CF3 -:106AF0009093711CA093721CB093731C0F94680741 -:106B000062E070E080E090E00E94CED281E09AE501 -:106B10009093791C8093781C85E390E090937B1C84 -:106B200080937A1C87E080936C1C10936F1C84E820 -:106B300090E0A0E0B0E08093701C9093711CA09353 -:106B4000721CB093731C0F94680781E080937F02DE -:106B50008093CA1E83E08093CB1E04C08EE895E02C -:106B60000E94B65480E5ECE1FCE1DF011D928A95BC -:106B7000E9F78AE580931D1C85EA80931E1C0C941E -:106B8000B52182E69AE10E94205DF701E454F34EBC -:106B900080838091BC1C8A3581F01E141F0414F080 -:106BA0000C94D422D601E02F1D92EA95E9F71092B9 -:106BB000C1081092C0080C94D42262E070E080E01A -:106BC00090E00E94CED2FFEFEF1AFF0AF092C108C8 -:106BD000E092C0080C94D4228CEB96E002C08BEAC1 -:106BE00096E09093D3098093D20905CB88E290E098 -:106BF0000F945D0A2DEC3CEC4CEC5DE360917F1250 -:106C00007091801280918112909182120F943C3584 -:106C10006B017C0120E030E040EA51EC0F949C379E -:106C200087FD12C020E030E040EA51E4C701B60120 -:106C30000F94462E181644F0C0927F12D092801204 -:106C4000E0928112F092821220E030E048EC52E4AF -:106C500060917F12709180128091811290918212C6 -:106C60000F94AC2E0F94A8367093791C6093781C07 -:106C700085E080936C1C82E880936F1C86E290E133 -:106C8000A0E0B0E08093701C9093711CA093721CE4 -:106C9000B093731C0F94680760917F1270918012FB -:106CA00080918112909182128E010B5E1F4F23E022 -:106CB00041E00F941E299F938F938DE996E09F9357 -:106CC0008F93045111091F930F930F94DE2DC80168 -:106CD0000E94A8D388E996E076C088ED9FEF0F94D4 -:106CE0005D0A2DEC3CEC4CEC5DE360917F12709101 -:106CF000801280918112909182120F943B356B012A -:106D00007C0120E030E040EA51EC0F949C3787FD95 -:106D100012C020E030E040EA51E4C701B6010F9410 -:106D2000462E181644F0C0927F12D0928012E09244 -:106D30008112F092821220E030E048EC52E460913F -:106D40007F127091801280918112909182120F9423 -:106D5000AC2E0F94A8367093791C6093781C85E054 -:106D600080936C1C82E880936F1C86E290E1A0E027 -:106D7000B0E08093701C9093711CA093721CB09330 -:106D8000731C0F94680760917F127091801280913C -:106D90008112909182128E010B5E1F4F23E041E021 -:106DA0000F941E299F938F938AE896E09F938F9369 -:106DB000045111091F930F930F94DE2DC8010E94F7 -:106DC000A8D385E896E09093D3098093D2090F90D9 -:106DD0000F900F900F900F900F9030CA90937B1CE4 -:106DE00080937A1C87E080936C1C10936F1C84E85E -:106DF00090E0A0E0B0E08093701C9093711CA09391 -:106E0000721CB093731C0F946807ACCE243031050C -:106E100089F481E00F94F2272091C7083091C808C7 -:106E20004091C9085091CA080F943C3541E00F9435 -:106E3000C627B2C02530310508F4F3C0263031052D -:106E400009F430C108F022C181E08093CB0840E012 -:106E500060E070E08EE393E40E9445D120E030E0F2 -:106E600048EC52E46091830970918409809185090E -:106E7000909186090F94AC2E6B017C01609187097B -:106E800070918809072E000C880B990B0F944D2EDA -:106E90009B01AC01C701B6010F9436360F94AF3693 -:106EA0006436710510F064E670E07093791C6093AD -:106EB000781C05E000936C1C12E810936F1C84E2B0 -:106EC00090E1A0E0B0E08093701C9093711CA093BF -:106ED000721CB093731C0F946807609183097091C2 -:106EE000840980918509909186090F94A836709342 -:106EF000791C6093781C00936C1C10936F1C86E3C4 -:106F000090E1A0E0B0E08093701C9093711CA0937E -:106F1000721CB093731C0F9468078091870990913D -:106F200088099093791C8093781C00936C1C1093B3 -:106F30006F1C84E390E1A0E0B0E08093701C90931C -:106F4000711CA093721CB093731C0F94680765E0CA -:106F500070E080E090E00E94CED281E09AE59093CC -:106F6000791C8093781C84E490E090937B1C809340 -:106F70007A1C87E080936C1C10936F1C84E890E06F -:106F8000A0E0B0E08093701C9093711CA093721CE1 -:106F9000B093731C0F94680720E030E040E251E4A6 -:106FA0006091C3087091C4088091C5089091C6088B -:106FB0000F94AC2E0F94A8367093791C6093781CB4 -:106FC00005E000936C1C12E810936F1C84E590E1BF -:106FD000A0E0B0E08093701C9093711CA093721C91 -:106FE000B093731C0F94680720E030E040E251E456 -:106FF0006091C7087091C8088091C9089091CA082B -:107000000F94AC2E0F94A8367093791C6093781C63 -:1070100000936C1C10936F1C88E590E1A0E0B0E039 -:10702000EACE2230310579F480E00F94F2272091E6 -:10703000C3083091C4084091C5085091C6080F9408 -:107040003C3540E0F4CE2330310570F081E00F9400 -:10705000F2272091C7083091C8084091C908509183 -:10706000CA080F943B35E2CE2130310509F094CFA8 -:1070700080E00F94F2272091C3083091C40840911A -:10708000C5085091C6080F943B35DBCF213F310531 -:1070900009F082CF1092CB0861E070E080E090E0D0 -:1070A0000E94CED281E09AE59093791C8093781C5F -:1070B00081E490E090937B1C80937A1C87E080931E -:1070C0006C1C82E880936F1C59CF8BE296E00E9483 -:1070D000B654809147159091481599272091281C06 -:1070E0003091291C8217930708F43CCD86ED95E07A -:1070F0000E94B6548091281C815080934615A4EDBF -:107100008A2EA0E29A2EA12CB12C05E012E8109252 -:10711000791C1092781C00936C1C10936F1C809249 -:10712000701C9092711CA092721CB092731C0F94F0 -:1071300068072FEF821A920AA20AB20A3EED83165E -:1071400030E29306A104B10411F780914615A2E143 -:107150008A02C0011124FC01E756FA4E7F0101901A -:107160000020E9F7C7018E1B9F0B439697FD019600 -:107170008C011595079510161106FCF49E012F5FE2 -:107180003F4F690184E1D9011D928A95E9F7A80171 -:107190006EED75E0C9010F94AF38B701C601800FDD -:1071A000911F0F949A3844ED50E260E070E0C60100 -:1071B0000F94170705E012E806C044ED50E260E0C6 -:1071C00070E0C701F5CF1092791C1092781C0093E3 -:1071D0006C1C10936F1C8092701C9092711CA0927A -:1071E000721CB092731C0F946807BFEF8B1A9B0A36 -:1071F000AB0ABB0AE6EE8E16E0E29E06A104B104DD -:1072000011F78E010F5F1F4F84E1D8011D928A95FF -:10721000E9F7809148158F93809147158F9380915E -:10722000291C8F938091281C8F9388EE95E09F9363 -:107230008F931F930F930F94C9384EED50E260E087 -:1072400070E0C8010F94170762E070E080E090E002 -:107250000E94CED20FB6F894DEBF0FBECDBF31E292 -:10726000C32E32E1D32EE12CF12C43E1442E40E633 -:10727000542E612C712C88248394912CAA24AA94D6 -:10728000BA2C75E0272EE2E83E2E0AE010E080914D -:107290004715909148158815990594F1B092791C7D -:1072A000A092781C20926C1C30926F1C4092701C33 -:1072B0005092711C6092721C7092731C0F9468073C -:1072C0001093791C0093781C20926C1C30926F1CD8 -:1072D000C092701CD092711CE092721CF092731CD0 -:1072E0000F946807FFEF8F1A9F0A20E1420E511C8E -:1072F000611C711C3FEFC31AD30AE30AF30AC7CF1C -:107300008091281C9091291C24E0880F991F2A95B0 -:10731000E1F78D5F9F49A0E0B0E020EF37E83093C0 -:10732000791C2093781C05E000936C1C12E81093E4 -:107330006F1C8093701C9093711CA093721CB0936F -:10734000731C0F9468078091281C9091291C805E03 -:107350009D4EA0E0B0E026E030E03093791C209311 -:10736000781C00936C1C10936F1C45CD40E050E2DC -:1073700060E070E0C80192CB8091281C9091291C9C -:10738000892B11F40C94C22BEDCBE3960FB6F89435 -:10739000DEBF0FBECDBFDF91CF911F910F91FF9048 -:1073A000EF90DF90CF90BF90AF909F908F907F90A5 -:1073B0006F905F904F903F902F9008952F923F9243 -:1073C0004F925F926F927F928F929F92AF92BF92F5 -:1073D000CF92DF92EF92FF920F931F93CF93DF93A1 -:1073E000CDB7DEB7C154D1090FB6F894DEBF0FBEDA -:1073F000CDBF22968FAF22972091DF182CAF81E06E -:107400008093DF18809100198D3409F4B7C4843556 -:1074100011F40C94804C873411F00C94914C8091B1 -:10742000FE189091FF188A31910509F432C2BCF41C -:10743000843091053CF4823091050CF04DC097FFEB -:107440003FC098C48C30910509F41FC28531910565 -:1074500011F40C94934C049709F08CC4D7C18E316D -:10746000910509F47EC244F48C31910509F43AC2C5 -:107470000CF413C214E062C28A35910509F436C3D4 -:1074800024F48A9709F4A7C375C48B35910509F4D0 -:1074900031C38C35910509F06DC49CEE292E92E024 -:1074A000392E25E3E22E2AE1F22E2FEC32E13DA324 -:1074B0002CA33BE6C32E32E1D32E00E010E05AC3EA -:1074C00080913E02882311F40C94934C0E94C5E3F2 -:1074D0000E945FDD0C94934C20913E02222311F414 -:1074E0000C94934C11E0029709F010E00E94C5E360 -:1074F00019821A821B821C821D821E821F8218869C -:1075000082E50E945E85882309F438C10E94DE84EA -:107510004B015C0120E030E0A9010F94462E882346 -:1075200009F442C18091CF129091D012A091D11252 -:10753000B091D2128CA39DA3AEA3BFA38091D3120E -:107540009091D412A091D512B091D61288A799A784 -:10755000AAA7BBA780915B1290915C12A0915D12CB -:10756000B0915E128CA79DA7AEA7BFA780915F12B6 -:1075700090916012A0916112B091621288AB99ABA8 -:10758000AAABBBAB2CA53DA54EA55FA56CA17DA16B -:107590008EA19FA10F94462E81110DC028A939A953 -:1075A0004AA95BA968A579A58AA59BA50F94462E33 -:1075B000882309F4F9C020E030E0A901C501B40135 -:1075C0000F94462E881F8827881F181729F080E0FF -:1075D00090E0A0E8BFEB04C080E090E0A0E8BFE34B -:1075E00088AF99AFAAAFBBAF2CA13DA14EA15FA1BF -:1075F0006CA57DA58EA59FA50F943B356CAB7DAB8F -:107600008EAB9FAB28A539A54AA55BA568A979A92A -:107610008AA99BA90F943B356B017C012CA93DA93C -:107620004EA95FA9CA01B9010F94AC2E2B013C01F0 -:10763000A7019601C701B6010F94AC2E9B01AC01C6 -:10764000C301B2010F943C350F94EA372B013C0182 -:107650009B01AC0160E070E080E89FE30F94363658 -:1076600021966CAF7DAF8EAF9FAF219720E030E0C9 -:1076700040E05FE3C301B2010F94AC2E2B013C014B -:10768000A5019401C501B4010F94AC2E4B015C011E -:10769000A3019201C301B2010F94AC2E9B01AC0176 -:1076A000C501B4010F943B350F94EA3728AD39ADCD -:1076B0004AAD5BAD0F94AC2E4B015C01C701B60126 -:1076C000905821962CAD3DAD4EAD5FAD21970F94F6 -:1076D000AC2EA50194010F94AC2E6B017C012CA55E -:1076E0003DA54EA55FA56CA17DA18EA19FA10F9484 -:1076F0003C3520E030E040E05FE30F94AC2E9B018E -:10770000AC01C701B6010F943C352CA13DA14EA19F -:107710005FA10F943B3569837A838B839C8328A96F -:1077200039A94AA95BA968A579A58AA59BA50F9443 -:107730003C3520E030E040E05FE30F94AC2E6B017D -:107740007C0121962CAD3DAD4EAD5FAD21976CA96E -:107750007DA98EA99FA90F94AC2EA50194010F9429 -:10776000AC2E9B01AC01C701B6010F943C3528A596 -:1077700039A54AA55BA50F943B3512C089E40E9448 -:107780005E85882331F00E94DE8469837A838B834F -:107790009C838AE40E945E85882331F00E94DE8407 -:1077A0006D837E838F83988720E030E0A901698113 -:1077B0007A818B819C810F94462E81110BC020E031 -:1077C00030E0A9016D817E818F8198850F94462ECE -:1077D0008823A1F0412FBE016F5F7F4F8BE592E1BF -:1077E0000E94C4CA0F944E1E6093581A7093591A7F -:1077F00080935A1A90935B1A0C94934C0F94421BEB -:107800008CE797E00F945D1A0C94934C80E50E94EE -:107810005E85882329F00F94CB0E6B017C0103C099 -:10782000C12CD12C760183E50E945E85882361F00E -:107830000E94DE8420E030E04AE754E40F94AC2E4E -:107840000F94AF366B017C010E9485F98091841200 -:10785000811105C060E082E997E00E9447F70F942C -:107860004E1EC60ED71EE81EF91E0F944E1EDC01DA -:10787000CB018C199D09AE09BF09B7FD02C00C945C -:10788000934C80E00E94D754F0CF0E94A8E60C945D -:10789000934C0E94D1B70C94934C0E944BAE811133 -:1078A0000C94934C80E090E0A8E4B2E489839A833E -:1078B000AB83BC8380E090E0A0E2B1E48D839E8343 -:1078C000AF83B88789879A87AB87BC8760E070E011 -:1078D00080E50E9495E6BE016F5F7F4F0E947FF6B4 -:1078E0000C94934C809183128770873011F00C9424 -:1078F0009E4C60E08FE40E946B8581110C94934C48 -:107900000C949E4C8091E71281111DC00E944690FC -:107910008823F9F0115011F40C94884E40E050E0A7 -:1079200060E078E085E00E947F8661E083EF97E089 -:107930000E94C5858BED97E00E94ABD00E944BAEB4 -:10794000882301F306C060E08FE40E946B858823E2 -:10795000E9F20E94DD858EE998E00E94ABD00C949C -:10796000934C209177123091781240917912509176 -:107970007A126091CF127091D0128091D1129091B1 -:10798000D2120F943C35AB01BC0188E50E9417D49C -:107990006C8F7D8F8E8F9F8F20917B1230917C1208 -:1079A00040917D1250917E126091D3127091D41249 -:1079B0008091D5129091D6120F943C35AB01BC0149 -:1079C00089E50E9417D469837A838B839C83BE01E7 -:1079D0006F5F7F4FCE014C960E94C2B3882311F493 -:1079E0000C94934C80E00F94D3170E9475E061E0F3 -:1079F00085E40E946B85182F21E0482FBE016F5F40 -:107A00007F4FCE014C960E94FAAE6B017C019B0128 -:107A1000AC010F942E3881115FC08C8C9D8CAE8C84 -:107A2000BF8C20E030E0A901C501B4010F94462EBF -:107A300087FF05C027E137EB41E558EB04C027E19C -:107A400037EB41E558E3C501B4010F943C35AB0178 -:107A5000BC0180EC98E00F94111B89809A80AB8068 -:107A6000BC8020E030E0A901C501B4010F94462E8E -:107A700087FF05C027E137EB41E558EB04C027E15C -:107A800037EB41E558E3C501B4010F943C35AB0138 -:107A9000BC018BEB98E00F94111B20E030E0A901B2 -:107AA000C701B6010F94462E87FF05C027E137EBCB -:107AB00041E558EB04C027E137EB41E558E3C70146 -:107AC000B6010F943C35AB01BC0186EB98E00F94F6 -:107AD000111B8AE00E94AB530E945CE0113011F44C -:107AE0000E942F6F0E9422E20C94934C1092EB089C -:107AF0000C94934C81E08093EB080C94934C0E947F -:107B0000DE842B013C01133049F0F60120813181E4 -:107B1000428153810F943B352B013C01ACA1BDA1A7 -:107B20002D913D914D915C91C301B2010F943B3574 -:107B30004B015C012DEB37E346E855EB0F949C3786 -:107B400087FD20C02DEB37E346E855E3C501B401BE -:107B50000F94462E1816B4F01F5FB4E0EB0EF11C24 -:107B6000ECA1FDA13496FDA3ECA3F4E0CF0ED11C53 -:107B7000143039F1D1018D911D010E945E85882359 -:107B800059F3BDCF133051F44092DB125092DC1206 -:107B90006092DD127092DE1201E0DECFA501940149 -:107BA000F70160817181828193810F943C35D70107 -:107BB0006D937D938D939C931397812F0F94380031 -:107BC000CBCF002321F08BED92E10E9496F90E9429 -:107BD00022E20C94934C80913E02882311F40C9481 -:107BE000934C89E40E945E85082F882321F00E942F -:107BF000DA84E82E01C0E12C8AE40E945E85182F09 -:107C0000882321F00E94DA84F82E01C0F12C002391 -:107C100019F024E02E1528F0112349F034E03F1527 -:107C200030F488EC98E00F945D1A0C94934C0E9409 -:107C30009C840023F1F02091AF193091B0194E2DA2 -:107C40004203B001439F700D11248091531A90910B -:107C5000541A680F791F072E000C880B990B0F948C -:107C60004D2E60935B1270935C1280935D12909323 -:107C70005E121123F1F02091B1193091B2194F2DFC -:107C80004203B001439F700D11248091551A9091C9 -:107C9000561A680F791F072E000C880B990B0F944A -:107CA0004D2E60935F1270936012809361129093D7 -:107CB000621260E080E50E946B858823C1F1002399 -:107CC000D1F0209177123091781240917912509131 -:107CD0007A1260915B1270915C1280915D129091AA -:107CE0005E120F943B3560935B1270935C1280932D -:107CF0005D1290935E121123D1F020917B1230918E -:107D00007C1240917D1250917E1260915F127091B1 -:107D1000601280916112909162120F943B356093D2 -:107D20005F1270936012809361129093621240E030 -:107D300050E0BA0186E40E9417D46B017C0120E078 -:107D400030E0A9010F949C37181684F420E030E04D -:107D500040E752E4C701B6010F94363660935D02E6 -:107D600070935E0280935F02909360020E945FDDD9 -:107D70000C94934C0E9405AE0C94934C8091FE1889 -:107D80009091FF188637910509F4E8C70CF02AC1D5 -:107D90008B34910509F44EC40CF098C08A319105DA -:107DA00009F4E6C2B4F58431910509F45BC294F498 -:107DB0008131910509F442C244F4029710F00C9409 -:107DC0007D4C0E948ECE0C94934C429709F47AC657 -:107DD0000C947D4C8731910509F46EC28CF4853189 -:107DE000910509F465C2469711F00C947D4C0E94F0 -:107DF000F95E8091F41D877F8093F41D0C94934C61 -:107E00008831910509F470C2499709F4A6C20C940F -:107E10007D4C8032910509F489C30CF03FC08D314F -:107E2000910509F41DC394F48B31910509F4AEC298 -:107E30004C9711F00C947D4C40E060E080918919E2 -:107E400090918A190E9455620C94934C8E31910541 -:107E500009F40DC34F9711F00C947D4C0E94F7F577 -:107E60006C8F7D8F8E8F9F8FBE016F5F7F4FCE0196 -:107E70004C960E94A7D960E0CE0101960E94A2F71D -:107E80000F94461BBE016F5F7F4F8CE599E00F9406 -:107E90002F1B8AE00E94AB530C94934C8B329105BC -:107EA00009F4B1C34CF48132910509F475C38A9782 -:107EB00009F486C30C947D4C8033910509F4A7C363 -:107EC0008934910509F4A7C30C947D4C893691053A -:107ED00009F491C50CF043C08235910509F4EBC556 -:107EE0002CF58D34910509F4ADC30CF4A7C38E3481 -:107EF000910509F4ABC38135910511F00C947D4CCB -:107F00000E94E2A80F941D1C0E9419FB0E94595167 -:107F10001092CA121092C9121092C81268EE73E041 -:107F200080E090E00F942E1A0C94934C85359105C7 -:107F300009F4F4C554F48335910509F4BFC58435BB -:107F4000910509F4BFC50C947D4C8C35910509F45D -:107F5000FEC58836910509F40BC40C947D4C8F3610 -:107F6000910509F4BDC424F58C36910511F40C94E7 -:107F7000934CA4F48A36910509F477C58B369105A4 -:107F800011F00C947D4C6091CE1280E50E9406B5F4 -:107F900060E070E00F944C150C94934C8D36910575 -:107FA00009F41EC48E36910509F487C40C947D4CE7 -:107FB0008237910509F455C65CF48037910511F4B8 -:107FC0000C94934C8137910509F4CFC40C947D4CEB -:107FD0008337910509F448C68537910509F4ADC684 -:107FE0000C947D4C8F32A1E09A0711F40C94534A03 -:107FF0000CF07CC08C3C910509F4A7C78CF58C383B -:10800000910509F4D4C49CF48837910509F4E3C6BA -:108010000CF4DEC68937910509F4E5C68D37910564 -:1080200011F00C947D4C0E94C7E50C94934C883C55 -:10803000910509F4DFC654F48B39910509F4EFC4B6 -:108040008E3B910509F4C5C40C947D4C893C910587 -:1080500009F439C78B3C910509F458C70C947D4C41 -:108060008D3D910509F4A4C714F5833D910509F4EC -:108070008CC79CF48D3C910509F46AC78E3C910530 -:1080800011F00C947D4C7CEEC72E72E0D72EE5ECFF -:10809000EE2EE9E0FE2E10E066C7893D910509F459 -:1080A00077C78C3D910509F476C70C947D4C8232DC -:1080B000E1E09E0711F40C9411495CF4823E9105B5 -:1080C00009F4CCC78831914011F40C947A480C948F -:1080D0007D4C8D3231E0930711F40C941C498E32A3 -:1080E000914011F40C940F4A0C947D4C853FA1E013 -:1080F0009A0711F40C946A4B0CF04EC08A39E1E0F7 -:108100009E0711F40C94934C14F5803921E09207EA -:1081100011F40C94564A3CF48033914011F40C94C1 -:108120009C490C947D4C8139A1E09A0711F40C9480 -:10813000594A8239914011F00C947D4C80E00E94A4 -:10814000776F0E942F6F0E9422E20C94934C853A25 -:10815000E1E09E0711F40C946A4A7CF48C3921E02A -:10816000920711F40C945F4A843A914011F00C94F8 -:108170007D4C0E9412B50C94934C8C3A41E09407CC -:1081800011F40C94DA4A843F914011F00C947D4C28 -:108190000E941BF10C94934C8B35B2E09B0711F4B9 -:1081A0000C948C4B5CF5883FF1E09F0711F40C9424 -:1081B000704BACF4863F31E0930711F40C946D4B97 -:1081C000873F914011F00C947D4C61E083E50E9463 -:1081D0006B8591E089270E949BEC0C94934C8C302A -:1081E000A2E09A0711F40C94814B8835924011F06B -:1081F0000C947D4C0E949EE40C94934C8438E3E0F4 -:108200009E0711F40C94074C6CF4833523E092071D -:1082100011F40C94894B8C36934011F40C94934CCC -:108220000C947D4C803A43E0940709F4B9C1873E31 -:10823000934011F40C946F4C0C947D4C8091FA187F -:1082400084FF02C00C949A4E8091FC1887FF02C0F4 -:108250000C949A4E8091FD18837011F00C949A4EF4 -:108260000C94B74E8FEF98E00F945D1A1092C60BE6 -:1082700088E59BE10E949A988BE1E8E5FBE1DE014D -:10828000119601900D928A95E1F740E050E0BE0111 -:108290006F5F7F4F80E090E00E947F60CE0101968B -:1082A0000E94D09980EF98E00F945D1A0C94934C43 -:1082B0000E946A5F0C94934CE0918919F0918A199D -:1082C0008081882329F0803209F410823196F8CF1A -:1082D00040E061E08091891990918A190E9455626D -:1082E0001092281A0C94934C8091580B8823E9F033 -:1082F00080E090E0A0EAB1E488A399A3AAA3BBA37D -:108300001C8E1D8E1E8E1F8E19821A821B821C824D -:1083100020E0AE01405E5F4FBE01645E7F4FCE0144 -:1083200001960E943F870C94934C0E9460DB882347 -:1083300021F00E940A5F0F946D1B40E050E060E165 -:1083400079E085E00E94388761E08EEC95E30E9439 -:10835000C5850E94CBF70C94934C8091F41D82FF4D -:1083600003C08B7F8093F41D0E94C7E50C94934C4F -:108370008091F41D83FD02C00C94934C83E50E9410 -:108380005E8581110C94C64E0C94934C83E40E943C -:1083900015858823D9F184E299E00F945D1A8091C4 -:1083A000021B882351F1BE016F5F7F4F8FEF9AE16F -:1083B0000E9461978E010F5F1F4FF80181918F011D -:1083C000882319F00E94AB53F8CFBE016F5F7F4F37 -:1083D00080E090E00E941D628091F714882389F06C -:1083E00080E20E94AB5307EF14E1D8018D918D011B -:1083F000882339F00E94AB53F8CF8AE199E00F94BB -:108400005D1A8AE00E94AB530C94934C83E50E9462 -:108410005E85882309F10E94B684182F90E0CD97DD -:108420000CF01CE31093DC080F944E1E6B017C01D2 -:10843000212F30E0A8EEB3E00F94F034C60ED71E23 -:10844000E81EF91EC092D808D092D908E092DA0846 -:10845000F092DB080C94934C0E94D25E0C94934CE7 -:108460008091F41D8E7F8093F41D0C94934C809129 -:10847000F41D83FD02C00C94934C0E94DFB08091E8 -:10848000F41D83FD02C00C94934C60918919709186 -:108490008A19CE014C960F9475098C01009711F43E -:1084A0000C94934C6C8D7D8D19821C8222E0AC0162 -:1084B000CE0101960E94B39D811102C0F12C14C01F -:1084C000CE0101960F94E3088823C1F361E0CE0149 -:1084D00001960E944597009789F325EEFC012083C1 -:1084E0001C820E945499F82ECE0101960E94D099C8 -:1084F000B801FF2089F08EE499E00F942F1B8AE0E9 -:108500000E94AB531092F01D1092F11D1092F21DBB -:108510001092F31D0C94934C86E399E00F942F1B5B -:1085200083E399E00F945D1A0C94934C8091F41DB1 -:1085300082FD0E9485F98091F41D83FD02C00C9498 -:10854000934C60E080E50E946B85182F482F61E016 -:108550008091891990918A190E94556283E50E9441 -:108560005E85882381F00E94A684AB01BC01409304 -:10857000F01D5093F11D6093F21D7093F31D8FEF6A -:108580009AE10E945B960E940A5F11110C94934C31 -:108590000F946D1B0C94934C0E9483DA0C94934CB3 -:1085A0002091891930918A199091F41D92609093CD -:1085B000F41D40E060E0C9010E9455620C94934CA8 -:1085C00083E50E945E85882311F40C94934C0E94ED -:1085D000B684F82E6DE070E080E50E94F7B48C015F -:1085E00097FF02C00C94934CE82E60E089E40E944F -:1085F0006B8581110C94D74E802F0E9415518111EB -:108600004AC50C94D74E0E94B5C40C94934C0E945A -:10861000AC8B0C94934C80E50E941585882311F453 -:108620000C94934C8091F41D82FF02C00C94934CE7 -:108630000C94F04E0F946D1B0C94934C0E9446F6D4 -:108640000C94934C0F941D1C0C94934C60E070E0C0 -:1086500083E50E94F7B48E34910531F40F94D81C51 -:108660000E94CBF70C94934C87EC99E00F945D1A21 -:108670006091B1097091B2098EEB99E00F94041BDF -:108680006091B3097091B40981EB99E00F94041BD8 -:108690006091B1097091B2098091B3099091B409C8 -:1086A000681B790B8091D11E815021E030E082302F -:1086B00010F020E030E0621B730B86EA99E00F9423 -:1086C000041B8AE00E94AB538EE999E00F945D1A77 -:1086D0008091B5099091B609A091B709B091B809F8 -:1086E0008C8F9D8FAE8FBF8FBE016F5F7F4FCE018E -:1086F0004C960E94A7D9BE016F5F7F4F81E999E038 -:108700000F942F1B8091B9099091BA09A091BB09D0 -:10871000B091BC098C8F9D8FAE8FBF8FBE016F5FF4 -:108720007F4FCE014C960E94A7D9BE016F5F7F4F4D -:1087300081E899E00F942F1B20E030E04AE754E4F1 -:108740006091BD097091BE098091BF099091C009E7 -:108750000F943636AB01BC0189E699E00F94111BEA -:108760008DE60E94AB538AE00E94AB530C94934C6D -:108770008091271283FF02C00C94934C0E9474E4F2 -:10878000182F87FF02C00C94934C83E50E945E85EE -:10879000882311F10E94DE840F94A8367B01212FDB -:1087A000110F330BF901EE0FFF1FE05EFD4E7183D9 -:1087B00060834091CE1250E02417350711F00C94DD -:1087C000934CCB010E94A49EF1E5EF16F10424F432 -:1087D0000F941D1C0E94CBF70F9488270C94934C88 -:1087E0008091271283FF02C00C94934C0E9474E482 -:1087F000082F87FF02C00C94934C83E50E945E858E -:10880000F82E811107C082E50E945E85182F88230B -:1088100009F447C00E94DE840F94A836402F002E32 -:10882000000C550BFA01EE0FFF1FE05EFD4E718349 -:1088300060832091CE1230E04217530711F00C9460 -:10884000934CCB010E94A49E0E94DE8420E030E085 -:1088500040EA52E40F94462E181614F40C94FB4E82 -:108860000F941D1C0E94CBF76091870970918809B5 -:10887000072E000C880B990B0F944D2E2091830925 -:108880003091840940918509509186090F949C3755 -:10889000181614F40C94FF4EFF2011F40C94FF4EA4 -:1088A00011E00F948827112311F40C94934C6F2D31 -:1088B000802F0E94F5A00C94934C8EE40E945E855C -:1088C000882311F40C94934C0E94A684609385191C -:1088D0007093861980938719909388190C94934C00 -:1088E00083E50E941585882331F060E083E50E94CE -:1088F00006B5809327120F94461B8DED99E00F94D7 -:108900005D1A80912712882369F103EDE02E09E0BA -:10891000F02E00E010E020E08091271290E0A0E02F -:10892000B0E0002E04C0B695A795979587950A9458 -:10893000D2F780FF0EC0DD24D394D20E222319F08B -:108940008CE20E94AB53F701859194910F945D1ACC -:108950002D2D0F5F1F4F32E0E30EF11C0530110586 -:10896000D9F64FCD8FEC99E04ACD83E50E945E8524 -:10897000882371F00E94B684282F30E02D33310512 -:108980001CF480930002CFC78CE380930002CBC716 -:108990000F94461B4091000250E060E070E084EECE -:1089A00099E00F94F31A8AE00E94AB53BCC7809100 -:1089B000271283FDB8C783E50E945E85882309F4EA -:1089C000B2C70E94DE840F94A836CB010E948E8429 -:1089D000AAC78091271283FDA6C783E50E945E8502 -:1089E000182F81110C94044F82E50E945E8581113D -:1089F0000C94044F98C70E9474E4182F87FD0AC096 -:108A000089E09AE00F945D1A812F0E94049F8AE00A -:108A10000E94AB534CAD4093DF180C94315083E56A -:108A20000E945E85882309F47EC70E94B684182FB1 -:108A300090E0CD970CF01CE31093E1080F944E1ECC -:108A40006B017C01212F30E0A8EEB3E00F94F034ED -:108A5000C60ED71EE81EF91EC092DD08D092DE08B1 -:108A6000E092DF08F092E0085EC76091CE1280E5E8 -:108A70000E9406B5182F823008F055C781E40E9485 -:108A80001585882341F0E091CE12F0E0EA53FD4EC7 -:108A9000608170E002C06FEF70E083E50E9495E6B0 -:108AA0008F3F910519F010F08FEF90E0BC01812FFE -:108AB0000F944C1538C71092E50835C781E08093B4 -:108AC000E50831C783E50E945E85882399F00E94FE -:108AD000DE8420E030E04AE754E40F94AC2E0F949B -:108AE000AF36609301027093020280930302909369 -:108AF000040219C78091FA1884FF02C00C94394F00 -:108B00008091FC1887FF02C00C94394F8091FD18AA -:108B1000837011F00C94394F0C946A4F83E50E94D6 -:108B20001585882309F4FFC60E94DE8420E030E02A -:108B30004AE754E40F94AC2E0F94AF366093E608E6 -:108B40007093E7088093E8089093E908ECC60E94C8 -:108B500074E487FDE8C69091FA1894FD04C09091E2 -:108B6000FC1897FF0AC0BCEECB2EB2E0DB2E18ED4E -:108B7000E12E11E1F12E10E009C09091FD189370E3 -:108B800091F7682F81E00E94B1EACDC6D6018D91A0 -:108B90006D010E945E85882309F459C0133009F0E5 -:108BA0004FC00E94DE844B015C0120E030E040EACF -:108BB00051E40F94462E87FF3AC0A50194016091BD -:108BC000F8117091F9118091FA119091FB110F94A5 -:108BD00036362B013C019B01AC016091081270916B -:108BE000091280910A1290910B120F94AC2E60938F -:108BF00008127093091280930A1290930B126091DD -:108C000086117091871180918811909189110F942C -:108C10004B2EA30192010F94AC2E0F94AF366093AC -:108C20008611709387118093881190938911809297 -:108C3000F8119092F911A092FA11B092FB1107C0AD -:108C40000E94DE84F701648B758B868B978B1F5F88 -:108C5000F4E0EF0EF11C143009F098CF0E949282DC -:108C600062C60E9439CF5FC680E39BE00F945D1A15 -:108C700060E080E29BE00E941FCF60E08BE09BE021 -:108C80000E941FCF61E084E09BE00E941FCF61E063 -:108C900089EF9AE00E941FCF61E089EE9AE00E947E -:108CA0001FCF60E080EE9AE00E941FCF61E086ED6A -:108CB0009AE00E941FCF61E08CEC9AE00E941FCFE7 -:108CC00061E084EC9AE00E941FCF61E086EB9AE0BD -:108CD0000E941FCF61E088EA9AE00E941FCF60E007 -:108CE00089E99AE00E941FCF60E08BE89AE00E9439 -:108CF0001FCF60E085E79AE00E941FCF61E084E625 -:108D00009AE00E941FCF61E085E59AE00E941FCFA4 -:108D100061E080E49AE00E941FCF61E08DE29AE07A -:108D20000E941FCF60E080E29AE00E941FCF60E0C7 -:108D30008CE09AE00E941FCFF6C58091891990912E -:108D40008A19009741F0DC012C91222321F060E088 -:108D50000E94A2F7E8C50E94CBF7E5C500918919EA -:108D600010918A1994E0F12C40E0915021F1F80122 -:108D70008081282F2B7F213421F421812133D9F4C4 -:108D800007C08035C1F4818180538A3048F013C018 -:108D9000813421F0853421F441E002C0FF24F394B2 -:108DA00098012E5F3F4F89012F5F3F4FF80180816F -:108DB0008032C9F3DACF41110F94461BFF2021F016 -:108DC00088E19CE00F945D1AC8010E94B654ABC5BF -:108DD0000E9440E3A8C581E08093C2098093C10945 -:108DE0000E94B6E3A0C51092C2091092C1090E9468 -:108DF000B6E399C50E9474E4182F87FD94C584E4F6 -:108E00000E941585882309F45BC00E94DE846B01F3 -:108E10007C0101E020E030E0A9010F94462E811191 -:108E200001C000E00093411A20E030E0A901C70131 -:108E3000B6010F94462E882309F442C00E94DE84B6 -:108E400024E01202F0011124E65BF54E6083718389 -:108E50008283938320E030E0A90160914A1A7091E7 -:108E60004B1A80914C1A90914D1A0F94462E8111F5 -:108E70000CC080E090E0A0EEBFE380934A1A90938C -:108E80004B1AA0934C1AB0934D1A20E030E0A90180 -:108E900060914E1A70914F1A8091501A9091511A08 -:108EA0000F94462E81110CC080E090E0A0EEBFE34D -:108EB00080934E1A90934F1AA093501AB093511A60 -:108EC0000E94ADFC30C50E9474E487FD2CC5ACEE59 -:108ED000EA2EA2E0FA2E08ED11E1D7018D917D0175 -:108EE0000E941585882349F00E94DE840F94AF36D6 -:108EF000F80160837183828393830C5F1F4FF1E1DC -:108F0000083E1F0751F70E940EF90DC50E9474E438 -:108F100087FD09C5FCEEEF2EF2E0FF2E08ED11E112 -:108F2000D7018D917D010E941585882339F00E941B -:108F3000DE84F80164A375A386A397A30C5F1F4F7B -:108F4000F1E1083E1F0761F7EEC40F94550EEBC424 -:108F50000F94DB0EE8C41F5FF4E0EF0EF11C13303A -:108F600011F40C94E73DD6018D916D010E94158599 -:108F7000882389F30E94DE84F701608371838283F2 -:108F80009383812F0F943800E6CF0E94FCE9CBC475 -:108F90000F947F0DC8C483E50E945E85882309F481 -:108FA000C2C40E94DA849093670280936602BBC4B5 -:108FB0000E9474E4F82E87FDB6C483E50E945E85A6 -:108FC0000F2D0F2C000C110B882369F10E94DA84FD -:108FD000F801EE0FFF1FE059FD4F91838083000FD2 -:108FE000111F000F111F9801215D3D4F7901BC0138 -:108FF000990F880B990B0F944D2E2AE037ED43E221 -:109000005CE30F94AC2EF801EE5BF54E20813181CC -:10901000428153810F94AC2ED7016D937D938D9334 -:109020009C93139780C40F94461B85E40E94AB5316 -:1090300080E38F0D0E94AB53000F111FF801E05920 -:10904000FD4F608171818CE19CE00F94221B85E2D1 -:109050000E94AB538AE00E94AB5365C480E50E9436 -:109060001585882309F45FC460E070E080E50E9404 -:10907000F7B4F82E6FEF7FEF83E50E94F7B48C0111 -:109080000196039708F04FC4F7FC4DC48F2D0E9442 -:109090001551882339F00F94421B84E29CE00F9411 -:1090A0005D1A41C40E9485F960E08F2D0E9447B38C -:1090B0000F3FBFEF1B0731F00130110571F000E0E9 -:1090C00010E00DC08F2D0E94EFB231E020E0892B1F -:1090D00009F030E0032F122F02C001E010E08F2DC5 -:1090E0000E94EFB28017910709F41DC480E00E942E -:1090F000D754F5CF80E50E941585882309F413C461 -:109100000E94DA848C01892B09F07FC083E50E94DC -:109110001585882389F00E94DA848F3FEFEF9E0740 -:1091200029F480EE9BE10E946351FDC3BC0180EEF7 -:109130009BE10E943352F7C30F94461B60E070E03E -:109140008CE49CE00F94221B8091E21B28E532E026 -:109150006901C81AD10887FDD394CC0CDD1CCC0C56 -:10916000DD1C0D2C000CEE08FF088091E11B28E8A7 -:1091700030E04901881A910887FD9394880C991C66 -:10918000880C991C092C000CAA08BB088091E01BD4 -:109190008F3FC1F090E0FC01EE0FFF1F8E0F9F1F6D -:1091A000FC01ED58F44E2181328183E0220F331F00 -:1091B0008A95E1F794E0369527959A95E1F72E5F29 -:1091C0003F4F02C020E030E02F5F3F4FC901330F17 -:1091D000AA0BBB0B9C01AD01281939094A095B098F -:1091E000A4EBB0E00F94DD34A701960128193909EA -:1091F0004A095B090F94BE34B90189E49CE00F94DD -:10920000221B8AE00E94AB538EC30F94421BB8010D -:1092100082E49CE00F94221B83E39CE00F945D1A90 -:1092200082C38AE50E945E85811157C683E50E944C -:109230005E85811152C677C360E085E40E9406B561 -:10924000811173C080E50E941585882351F00E942A -:10925000DE8460938A0970938B0980938C099093C4 -:109260008D0989E40E941585882381F00E94DE849F -:109270002CEA35EC47E25EE30F94AC2E60938E0946 -:1092800070938F09809390099093910984E40E94D0 -:109290001585882381F00E94DE842CEA35EC47E2B4 -:1092A0005EE30F943636609392097093930980932E -:1092B0009409909395090F94461B40918A09509107 -:1092C0008B0960918C0970918D098FE79CE00F9458 -:1092D000111B2CEA35EC47E25EE360918E09709138 -:1092E0008F0980919009909191090F943636AB01C6 -:1092F000BC018BE79CE00F94111B2CEA35EC47E294 -:109300005EE3609192097091930980919409909124 -:1093100095090F94AC2EAB01BC0187E79CE00F943C -:10932000111B8AE00E94AB53FEC20F94421B85E6DC -:109330009CE00F945D1AF7C280E50E941585882392 -:1093400051F00E94DE846093A1097093A20980937A -:10935000A3099093A40989E40E941585882381F0CC -:109360000E94DE842CEA35EC47E25EE30F94AC2EDB -:109370006093A5097093A6098093A7099093A80903 -:1093800084E40E941585882381F00E94DE842CEA03 -:1093900035EC47E25EE30F9436366093A90970938B -:1093A000AA098093AB099093AC090F94461B409196 -:1093B000A1095091A2096091A3097091A4098BE8B9 -:1093C0009CE00F94111B2CEA35EC47E25EE36091C0 -:1093D000A5097091A6098091A7099091A8090F94F9 -:1093E0003636AB01BC0187E89CE00F94111B2CEAD8 -:1093F00035EC47E25EE36091A9097091AA0980917A -:10940000AB099091AC090F94AC2EAB01BC0183E881 -:109410009CE00F94111B8AE00E94AB5384C283E549 -:109420000E941585182F882371F00E94DE840F9406 -:10943000A836709358026093570221E0672B09F019 -:1094400020E02093261280E50E941585882359F09C -:109450002091570230915802232B11F00E94CA84A8 -:109460008093261260C211115EC20F94461B8BEAD4 -:109470009CE00F945D1A80912612882319F083E9ED -:109480009CE002C08FE89CE00F945D1A6091570247 -:10949000709158028AE99CE00F94221B86E99CE0B7 -:1094A0000F945D1A40C20E942ED43DC20E9485F9DD -:1094B0003AC281E00E94776F0E9422E234C280911A -:1094C000FA18887809F092C58091FC18867009F026 -:1094D0008DC568C56FEF7FEF89E40E94F7B4F82E61 -:1094E0006FEF7FEF8AE40E94F7B4E82E8AE50E94CE -:1094F0001585182F811105C081E50E941585B82EAC -:1095000001C0B12CF7FC06C0E7FC04C0111109C072 -:10951000B11007C00F94421B85E19DE00F945D1AC6 -:1095200002C2F4E0FF1510F0FE1538F40F94421B50 -:1095300086EF9CE00F945D1AF6C1CF2C0F2C000C27 -:10954000DD080E2D0E2C000C110B0E94DE84BB20BA -:1095500099F025E02C9DF0012D9DF00D1124E00FD8 -:10956000F11FEE0FFF1FEE0FFF1FED53F64E208190 -:1095700031814281538103C020E030E0A9010F9482 -:109580003C359B01AC0185E08C9DF0018D9DF00D7B -:109590001124E00FF11FEE0FFF1FEE0FFF1FED5321 -:1095A000F64E20833183428353836E2D8F2D0E948C -:1095B000E9D2B9C10E944BAE8111B5C10BEF15E3E1 -:1095C0002FEC32E13DA32CA3CE0101965C0150E5C6 -:1095D000852E56E3952E1C01F801659175918591B4 -:1095E0009491ACA1BDA1CD90DD90ED90FD90BDA377 -:1095F000ACA3A70196010F943B352B013C01F1016F -:10960000608371838283938320E030E040EA51ECF1 -:109610000F949C3787FD0AC020E030E040EA51E417 -:10962000C301B2010F94462E18162CF4F401849154 -:1096300018160CF40BC5D101CD90DD90ED90FD9086 -:109640001D0120E030E040EA51ECC701B6010F9463 -:109650009C3787FD0AC020E030E040EA51E4C701B2 -:10966000B6010F94462E181664F40F94421B83E53E -:109670009DE00F945D1A61E085E49DE00E9447F74C -:1096800052C10C5F1F4FBFEF8B1A9B0AE6E30730F6 -:109690001E0709F0A1CF45ECE42E49E0F42E10E0BE -:1096A000F50181919191A191B1915F01F7018193B0 -:1096B0009193A193B1937F01812F0F9438001F5F85 -:1096C000133071F70E9422E260E085E39DE00E9482 -:1096D00047F729C10E940EF026C10E94F7EA23C174 -:1096E00081E08093AA190F9458001092AA19882338 -:1096F00009F419C10F94461B81E79DE00F945D1A90 -:1097000012C18091F41D82FF0EC180628093F41D0E -:109710000AC10E94A0C807C10E9474E4082F87FDF7 -:1097200002C185E50E9415858823B1F1E02E002E47 -:10973000000CFF080E94DE844B015C0120E030E059 -:10974000A9010F949C3787FF04C0B7FAB094B7F80B -:10975000B094C70133E0880F991F3A95E1F79C0157 -:109760002D54364E7901D9018D929D92AD92BC92C5 -:10977000139720E030E04AEF53E4C501B4010F94A1 -:109780009C3718164CF480E090E0AAEFB3E4F701A0 -:1097900080839183A283B3838CE40E941585882300 -:1097A00009F4C1C0002E000C110B0E94DE846B0175 -:1097B0007C0120E030E0A9010F949C3787FF04C0B2 -:1097C000F7FAF094F7F8F09423E0000F111F2A95B0 -:1097D000E1F70D54164ED8011496CD92DD92ED921C -:1097E000FC92179720E030E04AEF53E4C701B6013E -:1097F0000F949C3718160CF096C080E090E0AAEF0A -:10980000B3E4F80184839583A683B7838CC0609109 -:10981000CE1270E084E50E94F7B48C01823028F00B -:1098200085EA9DE00F945D1A7EC08BE40E945E8500 -:10983000882349F10E94DE846B017C0120E030E046 -:10984000A9010F949C3787FD19C020E030E040E269 -:1098500051E4C701B6010F94462E18167CF00E9401 -:1098600085F9F801FF27EE0FFF1FEE0FFF1FEE56E1 -:10987000FE4EC082D182E282F38255C086E89DE02E -:109880000F945D1A50C00F94461B8CE79DE00F9417 -:109890005D1A02E911E1C12CD12C760180E20E940F -:1098A000AB53C701B6010E941F548DE30E94AB5316 -:1098B000D8016D917D918D919D918D0142E00E9425 -:1098C0003B54BFEFCB1ADB0AEB0AFB0AE2E0CE16F1 -:1098D000D104E104F10411F40C940142DFCF81E0E2 -:1098E00080933E021092C41260E083E50E946B8573 -:1098F000811119C00E946EDB16C00E9405AE13C014 -:109900001091FE188091CE12181729F060E083E5BF -:109910000E946B8501C081E0682F812F0E9474A294 -:1099200002C00E9405AE2296FFAD2297F11102C03F -:109930000E94A9C72CAD2093DF1893C30E9485F91C -:109940003091E7123CAB80E00F94D3170E9475E092 -:1099500081E08093C2090E94B6E388E50E941585E4 -:10996000182F89E50E941585082F8AE50E94158524 -:109970001013BBC1181711F0012FB7C101E011E09E -:1099800091E09CA70E949C8482E50E945E858823CA -:1099900061F00E94DE846B017C0120E030E0A901CF -:1099A0000F94462E882369F106C0C12CD12C40E8C3 -:1099B000E42E40E4F42E111103C0002309F4FCC08E -:1099C000C0926312D0926412E0926512F092661215 -:1099D000A70196016091D7127091D8128091D91287 -:1099E0009091DA120F94462E87FF0BC019821A82CB -:1099F0001B821C82BE016F5F7F4F83E692E10E9453 -:109A000077E1112309F4D3C0002309F4CDC01092EB -:109A1000D3121092D4121092D5121092D612109224 -:109A2000CF121092D0121092D1121092D2120E9424 -:109A300020E2E0E5F6E3A491A8AFE4E4F6E3C59004 -:109A4000D590E590F490E8E4F6E385909590A590A4 -:109A5000B490A5019401C701B6010F949C37181664 -:109A60002CF4A7019601C501B40104C0A50194011D -:109A7000C701B6010F9436362B013C01EBE0F6E34B -:109A800085919591A591B4918CA39DA3AEA3BFA3FD -:109A9000E7E0F6E385919591A591B49188A799A700 -:109AA000AAA7BBA79C01AD016CA17DA18EA19FA11E -:109AB0000F949C37181634F428A439A49AA598ABAF -:109AC0001BA505C02CA03DA0AEA1A8AB1FA1A30162 -:109AD0009201C301B2010F94AC2E20E030E040E8C7 -:109AE0005FE30F943C350F94EA37910148A9512F59 -:109AF0000F94AC2E68A379A38AA39BA3E1E5F6E3B8 -:109B0000149120E030E040EC5FE3C501B4010F9414 -:109B1000AC2E4B015C01612F110F770B880B990B59 -:109B20000F944D2E9B01AC01C501B4010F94AC2ED6 -:109B300069837A838B839C8320E030E040EC5FE391 -:109B4000C701B6010F94AC2E6B017C01B8AD6B2F31 -:109B5000BB0F770B880B990B0F944D2E9B01AC011B -:109B6000C701B6010F94AC2E6C8F7D8F8E8F9F8FA7 -:109B7000AE01405E5F4FBE016F5F7F4FCE014C96DE -:109B80000E9455E10E94ECEA1092D3121092D41276 -:109B90001092D5121092D6121092CF121092D012AB -:109BA0001092D1121092D21280E00E9405FF002381 -:109BB00019F081E00E9405FFECA5EE2309F487C0AF -:109BC00080E00E94E38A8091601A8370833051F0B4 -:109BD00060E08DEC97E00E9447F70F94461B8EEBF8 -:109BE00097E071C00E9420E28091D7129091D81224 -:109BF000A091D912B091DA128093631290936412FB -:109C0000A0936512B093661220917712309178126A -:109C10004091791250917A1260E070E088E492E409 -:109C20000F943B356B017C0160935B1270935C1267 -:109C300080935D1290935E1220917B1230917C1282 -:109C400040917D1250917E1260E070E08CE892E4C9 -:109C50000F943B354B015C0160935F12709360126F -:109C6000809361129093621227E137EB41ED58EB3C -:109C70000F949C3787FD1EC023E030E04AE953E48F -:109C8000C501B4010F94462E1816A4F027E137EB56 -:109C900041ED58EBC701B6010F949C3787FD0AC010 -:109CA00023E030E84DE953E4C701B6010F94462E96 -:109CB0001816ECF460E08DEA97E00E9447F70F94E5 -:109CC000461B8BE997E00F945D1A0E942F6F0E944C -:109CD00020E28091C1098093C2098CA90F94D31707 -:109CE0000E945CE00E9422E21ECE8CA74BCE19821D -:109CF0001A821B821C82AE014F5F5F4F6FE572E1DB -:109D00008BE592E10E9455E182E00E9405FFDDCFE4 -:109D100061E081E998E00E94C5858CE198E00E94AD -:109D2000ABD061E080EB95E30E94C5858DE098E0C3 -:109D30000F940E0888E50E94158581115F9889E5CA -:109D40000E94158581118A988AE50E9415858823CD -:109D500029F08091080181708093060185E40E94BA -:109D60001585882309F4DFCD12984798DCCD60E093 -:109D700087EE98E00E9447F75F988A9880910801E3 -:109D800081708093060112984798CDCD0E94A684D9 -:109D9000AB01BC014093F01D5093F11D6093F21D87 -:109DA0007093F31D8FEF9AE10E945B96BCCD61E04A -:109DB000802F0E9447B36F2D802F0E9418B36F2D04 -:109DC00070E0802F0F942C1D47E0E41203C0F09246 -:109DD000C712A9CD89E0E812A6CDF092C612A3CD94 -:109DE0000E94B68490E08536910514F084E690E0F8 -:109DF0008093281A98CD0F946D1B0C943444802FB7 -:109E00000E94E69E0C9450440E94DE840F94A83673 -:109E1000CB010E948E840E94DE8420E030E040EA84 -:109E200050E40F949C37181614F40F946D1B609136 -:109E30009E0970919F09072E000C880B990B0F94B7 -:109E40004D2E20919A0930919B0940919C09509187 -:109E50009D090F949C3718161CF48AEF99E002C0F4 -:109E60008BEE99E060E00E9447F7812F0E94769F79 -:109E70005ACD0E9485F988E50E941585882331F026 -:109E80005F9A8091601A8E7F8093601A89E50E94A4 -:109E90001585882331F08A9A8091601A8D7F80938E -:109EA000601A8AE50E941585882359F0809108017F -:109EB00080958170809306018091601A8B7F8093DA -:109EC000601A85E40E941585882309F42CCD0E9430 -:109ED000125129CD0E9419FB26CD0E94DE8420E07C -:109EE00030E040E050EC0F94462E87FD15C00E94F4 -:109EF000DE8420E030E040E050E40F949C371816F8 -:109F00002CF00E94DE846B017C010BC0C12CD12C93 -:109F1000E12C10E4F12E05C0C12CD12CE12CB0ECC9 -:109F2000FB2E2091F4113091F5114091F6115091D2 -:109F3000F711C701B6010F94AC2E0F94A836CB01D0 -:109F40000F945D0A80E50E941585882329F00E9400 -:109F5000CA84882309F4E7CCA701960160917F1297 -:109F60007091801280918112909182120F943C35F1 -:109F700060937F127093801280938112909382126B -:109F80000F94461B40917F12509180126091811274 -:109F90007091821284E59CE00F94111B8AE00E946C -:109FA000AB53C1CC0F94461B85EE9CE00F945D1A19 -:109FB00080911502811117C08EEB9CE00F945D1A01 -:109FC0008AE00E94AB53409168025091690260910F -:109FD0006A0270916B0285EC9CE00F94111B8AE081 -:109FE0000E94AB53A0CC82EC9CE0E8CF88E40E94B6 -:109FF0001585882321F00E94CA848093EA0882E5AF -:10A000000E941585082F83E50E941585182F0111E0 -:10A0100002C0882351F010927D090E943A51112309 -:10A0200021F00E94CA848093150284E40E94158561 -:10A03000882309F478CC0E94DE84609368027093D0 -:10A04000690280936A0290936B026DCCF7FAF094E8 -:10A05000F7F8F094D101CD92DD92ED92FC92139736 -:10A06000EACACF5BDF4F0FB6F894DEBF0FBECDBF9D -:10A07000DF91CF911F910F91FF90EF90DF90CF90E4 -:10A08000BF90AF909F908F907F906F905F904F9018 -:10A090003F902F900895CF92DF92EF92FF920F930F -:10A0A0001F93CF93DF936C018B017A01EC01CF50AA -:10A0B000D74F888187FF04C0FB011182108224C022 -:10A0C0002CE02C9DC0012D9D900D11242881AC0108 -:10A0D000420F511D27FD5A952091DF1B30E042179A -:10A0E000530794F42881AC01420F511D27FD5A9566 -:10A0F0009A01FA01EE0FFF1F2E0F3F1FF901ED58D5 -:10A10000F44E208127FD19C088818F5F88832CE061 -:10A110002C9DC0012D9D900D11242881AC01420F72 -:10A12000511D27FD5A952091DF1B30E04217530740 -:10A13000BCF428812C3044F113C02881820F911D7A -:10A1400027FD9A95FC01EE0FFF1F8E0F9F1FFC014C -:10A15000ED58F44E808160E08F770E9418B3D4CF21 -:10A16000F80180819181049680349C4918F480E440 -:10A170009CE904C0F801808191810496F7019183E4 -:10A1800080838FEF888345C0F80140815181288109 -:10A19000BC01620F711D27FD7A959B01FB01EE0F3B -:10A1A000FF1F2E0F3F1FF901ED58F44E2181328120 -:10A1B000240F351FF701318320832881AC01420F22 -:10A1C000511D27FD5A959A01FA01EE0FFF1F2E0F20 -:10A1D0003F1FF901ED58F44E208127FF1AC0288156 -:10A1E000820F911D27FD9A95FC01EE0FFF1F8E0F28 -:10A1F0009F1FFC01ED58F44E808161E08F77DF9165 -:10A20000CF911F910F91FF90EF90DF90CF900C9422 -:10A2100018B3DF91CF911F910F91FF90EF90DF90D6 -:10A22000CF900895129A479A0895FF920F931F9323 -:10A23000CF93DF931F92CDB7DEB7F82E07ED1DE069 -:10A2400041E050E0B801CE0101960F94802D898144 -:10A250008F1102C081E007C00F5F1F4F8DE0033FE9 -:10A26000180771F780E00F90DF91CF911F910F9148 -:10A27000FF9008958091680290916902A0916A020E -:10A28000B0916B02EBE1F1E180839183A283B38310 -:10A2900084839583A683B78308958091F408811100 -:10A2A00007C00E940EF0882319F081E08093F40823 -:10A2B000089560E070E080E00F944C1560E070E07D -:10A2C00081E00D944C15DC01EC91F0E0CF01880F9A -:10A2D000991FE80FF91FED58F44E80818F77808326 -:10A2E00008958F929F92AF92BF92CF92DF92EF929A -:10A2F000FF920F93CF93DF931F92CDB7DEB75C0130 -:10A300006B017A014901F501808191810F947634C6 -:10A310008983002311F0F6018083BE016F5F7F4FB8 -:10A32000C4010F94FF06F50180819181019691830C -:10A330008083FFEFCF1ADF0A81E0E81AF10819F7EE -:10A3400080E00F90DF91CF910F91FF90EF90DF9021 -:10A35000CF90BF90AF909F908F9008957F928F92F3 -:10A360009F92AF92BF92CF92DF92EF92FF920F93A4 -:10A370001F93CF93DF931F92CDB7DEB77C015901B6 -:10A380008B016B01C40ED51E0C151D0559F1F7018B -:10A3900080809180F80171908F017982C4010F94BF -:10A3A0007634781691F0672DC4010F947E34C40181 -:10A3B0000F9476349981891741F00F94461B8DEBE9 -:10A3C0009DE00F945D1A81E00EC0BE016F5F7F4F6C -:10A3D000C5010F94FF06F701808191810196918359 -:10A3E0008083D2CF80E00F90DF91CF911F910F91AA -:10A3F000FF90EF90DF90CF90BF90AF909F908F90A5 -:10A400007F900895009781F41092900082E08093ED -:10A4100091001092950010929400C19A8091710061 -:10A4200082608093710008958130910569F41092E3 -:10A43000A00082E08093A1001092A5001092A400D9 -:10A4400089BB809372000895029761F410922001F5 -:10A4500082E08093210110922501109224018ABB91 -:10A460008093730008957F928F929F92AF92BF92D4 -:10A47000CF92DF92EF92FF920F931F93CF93DF93D0 -:10A48000FC019081943208F0CEC06B017F01892FCE -:10A4900090E0FC01EE0FFF1F8E0F9F1FFC01ED5897 -:10A4A000F44E808161E08F770E9447B3F7011182FB -:10A4B000128280816CE00F94FF34FCE08F9FB0012A -:10A4C000112440E050E09B01240F351FF901EE0FED -:10A4D000FF1F2E0F3F1FF901ED58F44E908197FD9D -:10A4E00008C04F5F5F4F4C30510569F790E00E9404 -:10A4F0000252F7017080C72DD0E08E01000F111FAE -:10A50000F801EC0FFD1FED58F44E808180688083C8 -:10A5100077FC89C0F0E2CF16F2E0DF060CF041C014 -:10A52000F701828128E532E0281B310987FD339548 -:10A53000220F331F220F331F032E000C440B550B29 -:10A54000818168E870E04B01881A910887FD939437 -:10A55000880C991C880C991C092C000CAA08BB08B3 -:10A56000D7FC0BC0B601653B710514F064EB70E0DD -:10A57000072E000C880B990B03C060E070E0CB0144 -:10A58000281939094A095B090F948C3424EB30E00F -:10A5900040E050E00F94BE34820E931EA41EB51E00 -:10A5A00001C04601F3E2F71558F1F701218188E86F -:10A5B00090E0821B910927FD9395880F991F880FC2 -:10A5C000991F8816990684F0F701228188E592E0A8 -:10A5D000821B910927FD9395880F991F880F991F5A -:10A5E000881699060CF4C40102972FB7F894C00F8F -:10A5F000D11FCD58D44E880F991F9A8389832FBFBE -:10A6000062E370E080E090E0DF91CF911F910F91C5 -:10A61000FF90EF90DF90CF90BF90AF909F908F9082 -:10A620007F900D942E1ADF91CF911F910F91FF9083 -:10A63000EF90DF90CF90BF90AF909F908F907F90E2 -:10A6400008951F920F920FB60F9211240BB60F921E -:10A650002F933F934F935F936F937F938F939F932A -:10A66000AF93BF93EF93FF9348E251E064E271E050 -:10A6700082E090E00E944B50FF91EF91BF91AF912B -:10A680009F918F917F916F915F914F913F912F910A -:10A690000F900BBE0F900FBE0F901F9018951F923A -:10A6A0000F920FB60F9211240BB60F922F933F9378 -:10A6B0004F935F936F937F938F939F93AF93BF93CA -:10A6C000EF93FF9348EA50E064EA70E081E090E0A5 -:10A6D0000E944B50FF91EF91BF91AF919F918F914D -:10A6E0007F916F915F914F913F912F910F900BBE92 -:10A6F0000F900FBE0F901F9018951F920F920FB6DC -:10A700000F9211240BB60F922F933F934F935F93A9 -:10A710006F937F938F939F93AF93BF93EF93FF9329 -:10A7200048E950E064E970E080E090E00E944B501E -:10A73000FF91EF91BF91AF919F918F917F916F9119 -:10A740005F914F913F912F910F900BBE0F900FBED5 -:10A750000F901F9018959091C00095FFFCCF8093AB -:10A76000C60008958F929F92AF92BF92EF92FF9290 -:10A770000F931F93CF93DF93CDB7DEB7A0970FB69C -:10A78000F894DEBF0FBECDBF61157105810591053F -:10A7900091F100E0842E912CA12CB12C102FEE24ED -:10A7A000E394F12CEC0EFD1EE00EF11C07FDFA9473 -:10A7B000A50194010F949C34F7016083B901CA018B -:10A7C0000F5F611571058105910541F71F3F31F15B -:10A7D000E1E0F0E0EC0FFD1FE10FF11D17FDFA9530 -:10A7E00080818A3010F097E301C090E3890F0E94C6 -:10A7F000AB531150EBCF80E3A0960FB6F894DEBFB9 -:10A800000FBECDBFDF91CF911F910F91FF90EF90C1 -:10A81000BF90AF909F908F900C94AB53A0960FB6C3 -:10A82000F894DEBF0FBECDBFDF91CF911F910F9186 -:10A83000FF90EF90BF90AF909F908F900895CF9230 -:10A84000DF92EF92FF926B017C0197FF0BC08DE2CC -:10A850000E94AB53F094E094D094C094C11CD11CDE -:10A86000E11CF11C4AE0C701B601FF90EF90DF90B8 -:10A87000CF900C94B2538F929F92AF92BF92CF928F -:10A88000DF92EF92FF92CF936B017C01B42E20E018 -:10A8900030E0A9010F94462E87FF07C08DE20E9489 -:10A8A000AB53F7FAF094F7F8F094C0E060E070E092 -:10A8B00080E09FE3CB1541F02DEC3CEC4CEC5DE3EC -:10A8C0000F94AC2ECF5FF6CF9B01AC01C701B60150 -:10A8D0000F943C356B017C010F94AF364B015C014A -:10A8E0004AE00E94B253CC2389F1C501B4010F9410 -:10A8F0004B2E9B01AC01C701B6010F943B356B0198 -:10A900007C018EE20E94AB5320E030E040E251E453 -:10A91000C701B6010F94AC2E4B015C010F94A83611 -:10A920006B01770FEE08FF08C701B6010E941F54A4 -:10A93000C701B6010F944D2E9B01AC01C501B401B6 -:10A940000F943B356B017C01C150F1F6CF91FF9024 -:10A95000EF90DF90CF90BF90AF909F908F90089531 -:10A960008DE00E94AB538AE00C94AB53CF93DF93FE -:10A97000EC018991882319F00E94AB53FACFDF9143 -:10A98000CF910C94B05480910119909102199817AD -:10A9900059F0E92FF0E0EF5FF64E82819F5F9F77DD -:10A9A0009093021990E008958FEF9FEF08952F92F2 -:10A9B0003F924F925F926F927F928F929F92AF924F -:10A9C000BF92CF92DF92EF92FF920F931F93CF939C -:10A9D000DF93CDB7DEB728970FB6F894DEBF0FBE72 -:10A9E000CDBFE82E0E94D71D0F944E1E4B015C0177 -:10A9F00080910002882359F18091DF18882339F172 -:10AA00004091F5085091F6086091F7087091F808A8 -:10AA100095018401041B150B260B370B37FD2AC04B -:10AA2000833079F03CF4813094F00F94461B82E23D -:10AA30009EE00BC0843059F40F94461B83EF9DE0D9 -:10AA400004C00F94461B8BE09EE00F945D1A20918A -:10AA5000000230E0A8EEB3E00F94F034860E971EAB -:10AA6000A81EB91E8092F5089092F608A092F708E9 -:10AA7000B092F80880911502882309F44FC08091A4 -:10AA80007D0981114BC08091F41D82FD09C0809128 -:10AA9000D11E813029F08091580B882309F43EC0E3 -:10AAA000F8948091CE124CB14295417020910301EF -:10AAB000922F917020FD92E0492B93E0492750E0BE -:10AAC00060E070E0082E04C076956795579547952D -:10AAD0000A94D2F714E0819FC001112440FD0FC0F9 -:10AAE000409168025091690260916A0270916B0214 -:10AAF000FC01E55EFE4E4083518362837383FC015B -:10AB0000E55EFE4E6081718182819381789420E0C0 -:10AB100030E0A9010F94462E87FD9AC58091550B10 -:10AB2000843008F07FC20F944E1E4B015C0180916F -:10AB3000550B81111DC08091011990910219891B3B -:10AB40008F77B1F480915E0990915F09A0916009BF -:10AB5000B0916109A5019401281B390B4A0B5B0BCD -:10AB6000DA01C901885E9340A109B109B7FFE3C5C5 -:10AB700070E6F72E8091550B843008F036C1809135 -:10AB8000011990910219891B8F7709F42EC10E9437 -:10AB9000C354AC0197FDEECF2091831930918419F5 -:10ABA0008A3019F08D3009F0E8C010925D09211546 -:10ABB000310519F40F944511DDCFF901E350F74F3A -:10ABC000108210928419109283190DEF18E0F80189 -:10ABD0008191803211F48F01FACF8E3409F07AC05E -:10ABE0000115110509F476C064EA7FE0C8010F94ED -:10ABF000C42D6C01892B41F06EE470E0C80104960D -:10AC00000F948F38009709F4C8014AE050E060E0E3 -:10AC100070E001960F943C2B6093F9087093FA084A -:10AC20008093FB089093FC084090851950908619FA -:10AC300060908719709088193FEF431A530A630A8E -:10AC4000730A641575058605970531F0CD2821F442 -:10AC500060E081E79FE0C7C06AE270E0C8010F943E -:10AC6000BE389C01009709F1982F901BD12C992395 -:10AC700039F09150F801E90FF11D8081D826F7CF06 -:10AC80004AE050E060E070E0C90101960F943C2B6F -:10AC90004D2C512C612C712C64157505860597057A -:10ACA00041F060E082E59FE09EC060E088E29FE0C6 -:10ACB0009AC08091F9089091FA08A091FB08B09190 -:10ACC000FC088093851990938619A0938719B093F7 -:10ACD000881912C08091F41D80FF0EC060E271E1FE -:10ACE000C8010F94C42D009709F47AC0FC01838138 -:10ACF00080538A3008F474C080913E0281111CC0D8 -:10AD000067E470E0C8010F948F380097A9F04AE01B -:10AD100050E060E070E001960F943C2B64307105C8 -:10AD20008105910548F487E89EE00F945D1A60E084 -:10AD30008DE79EE00E9447F780925E0990925F093E -:10AD4000A0926009B09261098091FD088B3309F4EB -:10AD500011CF8091550B843008F00CCF8091D10930 -:10AD6000F89EC00111246DEF78E08C52964F0F943D -:10AD70009A3881E00E94FEC7FDCE2F3531050CF0D8 -:10AD8000F9CE8C35C1F40E94C35497FDF3CE2091C7 -:10AD90005D092111EFCE2091831930918419A90109 -:10ADA0004F5F5F4F5093841940938319F901E3502B -:10ADB000F74F8083DFCE8B3321F481E080935D09F0 -:10ADC000D9CE80915D098111D5CEC90101969093AC -:10ADD000841980938319F901E350F74F4083CACE59 -:10ADE00060E08EEF9EE00E948ADB8091F41D82FF7E -:10ADF00019C18091550B811102C010926309DD24A5 -:10AE0000D3944091F01D5091F11D6091F21D70910D -:10AE1000F31D8091EC1D9091ED1DA091EE1DB09160 -:10AE2000EF1D481759076A077B0708F4D12C00E08B -:10AE300010E0CC24C39440E6B42E54E6A52E69E677 -:10AE4000962E8091550B843008F0ECC0D110EAC0EA -:10AE5000809163098111E6C08091071B9091081BC6 -:10AE6000A091091BB0910A1B8093F01D9093F11DD6 -:10AE7000A093F21DB093F31D41E050E0BE016F5F5F -:10AE80007F4F8FEF9AE10E94409A019719F48981D0 -:10AE900090E002C08FEF9FEFF82E4090F01D509091 -:10AEA000F11D6090F21D7090F31D4091EC1D5091CA -:10AEB000ED1D6091EE1D7091EF1DDD24D3944416BD -:10AEC00055066606770608F4D12C44165506660624 -:10AED0007706B0F4019609F461C02AE0F21609F48D -:10AEE0006EC03DE0F31609F46AC043E2F41619F0AF -:10AEF0005AE3F5127CC080916209811178C054C078 -:10AF00000E9485F98FEF9AE10E94C7998091EB1D0D -:10AF1000882339F181508093EB1D989EC001112444 -:10AF200041E061E0835A944F0E945562E091EB1D2D -:10AF300064E0E69FF0011124E75AF44F408151810B -:10AF4000628173814093F01D5093F11D6093F21D57 -:10AF50007093F31D8FEF9AE10E945B960E940A5F47 -:10AF600016C00E94F95E0E9419FB0F941D1C0E94DE -:10AF7000F7F56D3371058105910518F48FEA9FE0AF -:10AF800002C084EB9FE00E9445C8A092281A8091DD -:10AF9000F41D82FD0DC087EC9FE004C00F94421B9E -:10AFA00088EB9FE00F945D1A73E2F71208C005C0AA -:10AFB00053E2F512CDC300E010E0C0926309109295 -:10AFC00062090115110519F40F9445110DC0809106 -:10AFD000D109B89E000D111D1124F801EC52F64F55 -:10AFE000108280E00E94FEC700E010E02ACF0F35FB -:10AFF000110508F026CF8BE3F81203C0C092620956 -:10B0000020CF8091620981111CCF8091D109F80174 -:10B01000B89EE00DF11D1124EC52F64FF0820F5F47 -:10B020001F4F0FCF0F944E1E4B015C014091E6085D -:10B030005091E7086091E8087091E90841155105C1 -:10B040006105710529F18091581A9091591AA091C2 -:10B050005A1AB0915B1A840F951FA61FB71F95014E -:10B060008401081B190B2A0B3B0B37FD11C00F94F1 -:10B07000421B6091CC127091CD128BED9FE00F942A -:10B080002F1B8AE00E94AB5380E090E00F940E08E3 -:10B0900040910102509102026091030270910402FA -:10B0A000411551056105710509F44EC09091E61BEB -:10B0B0008091E71B981759F00F944E1E6093581A11 -:10B0C0007093591A80935A1A90935B1A3DC08091DD -:10B0D000580B811137C0E11035C08091581A9091FA -:10B0E000591AA0915A1AB0915B1A840F951FA61F86 -:10B0F000B71FA5019401281B390B4A0B5B0B57FDA9 -:10B1000021C08091740981111FC081E0809374096E -:10B110005F9A8091601A8E7F8093601A8A9A8091DC -:10B12000601A8D7F8093601A8091080180958170EC -:10B13000809306018091601A8B7F8093601A0E9431 -:10B14000125102C010927409809170099091710996 -:10B15000A0917209B0917309B501A401481B590B64 -:10B160006A0B7B0B77FDBCC12091E61B9091E71B1E -:10B170008091370210913802291317C06091C612CE -:10B18000869FB0011124660F672F661F770B71959C -:10B19000062F8091C712819FB0011124660F672F7F -:10B1A000661F770B7195162F29C02091E71B54E578 -:10B1B000259F900111242553344FF901EE5AFF4F7A -:10B1C0006081869FB0011124660F672F661F770B81 -:10B1D0007195062F31968081819FB0011124660FF1 -:10B1E000672F661F770B7195162F8091E71B909143 -:10B1F000E61B981719F08F5F8F70F9CF002331F19C -:10B200000F944E1EC0906809D0906909E0906A09B9 -:10B21000F0906B09DC01CB01C114D104E104F1040D -:10B2200069F48C599F4FAF4FBF4F8093680990933B -:10B230006909A0936A09B0936B0906C08C199D092E -:10B24000AE09BF09B7FF0AC00FEF08C01092680926 -:10B250001092690910926A0910926B09602F70E0D0 -:10B2600089E00F942C1D112331F10F944E1EC090D4 -:10B270006C09D0906D09E0906E09F0906F09DC01C7 -:10B28000CB01C114D104E104F10469F48C599F4F3E -:10B29000AF4FBF4F80936C0990936D09A0936E09D7 -:10B2A000B0936F0906C08C199D09AE09BF09B7FF9D -:10B2B0000AC01FEF08C010926C0910926D0910921D -:10B2C0006E0910926F09612F70E087E00F942C1DBA -:10B2D0008091D311882309F4F6C0E0902702F09002 -:10B2E00028020091290210912A0260918709709129 -:10B2F00088096E5F7F4F072E000C880B990B0F9407 -:10B300004D2E9701A8010F94462E87FDDCC030908A -:10B31000E71B212C1A821B821C828091E61B83155D -:10B3200009F467C0832D90E064E5689FF001699F90 -:10B33000F00D1124E553F44F458956896789708DC6 -:10B34000452B462B472B89F4418D528D638D748D8F -:10B35000452B462B472B49F4458D568D678D70A1A3 -:10B36000452B462B472B09F43FC074E5789F90018D -:10B37000799F300D1124C9018553944F6C01FC0154 -:10B3800061817281838194810F94EA372B013C01A2 -:10B39000F60161A172A183A194A10F944B2E6D833C -:10B3A0007E838F839887F60165A176A187A190A5FA -:10B3B0000F944B2E9B01AC016D817E818F8198850E -:10B3C0000F943636A30192010F94AC2E3B016C0111 -:10B3D000222D3A814B815C810F949C37181624F4FE -:10B3E000262C7A82CB82DC8281E0830D8F70382E0E -:10B3F00094CF20912B0230912C0240912D0250913C -:10B400002E02622D7A818B819C810F94AC2E970144 -:10B41000A8010F943C353B016C0120902302309031 -:10B42000240240902502509026029B01AC01B701F6 -:10B43000C8010F949C3718166CF09101A201B3015A -:10B44000C6010F949C3718161CF47101820102C0CA -:10B450007301860140906409509065096090660907 -:10B46000709067099701A801C301B2010F949C373E -:10B470001816C4F420E037ED43EA5CE3B701C801D5 -:10B480000F94AC2E6B017C0128E431EE4AE75FE3B8 -:10B49000C301B2010F94AC2EA70196010F943C3565 -:10B4A0007B018C01C701D8018093640990936509E1 -:10B4B000A0936609B0936709B701C8010F94A83635 -:10B4C000CB010E94A49EF4E68F0E911CA11CB11C1E -:10B4D0008092700990927109A0927209B0927309DA -:10B4E0000F9445118091D11E813009F06EC00F94E8 -:10B4F0004E1E6B017C018091790990917A09A0918F -:10B500007B09B0917C0997018601081B190B2A0B56 -:10B510003B0B37FD3AC08090D21E9090D31EA09076 -:10B52000D41EB090D51E0E94F7F56093D21E709382 -:10B53000D31E8093D41E9093D51E0091B50910910F -:10B54000B6092091B7093091B809081919092A09D3 -:10B550003B09DC01CB01800F911FA21FB31F809319 -:10B56000B5099093B609A093B709B093B809D7016C -:10B57000C601805F984DAF4FBF4F8093790990937C -:10B580007A09A0937B09B0937C0980917509909109 -:10B590007609A0917709B0917809A7019601281B37 -:10B5A000390B4A0B5B0B57FD10C030E8C30E3EEE63 -:10B5B000D31EE11CF11CC0927509D0927609E0926D -:10B5C0007709F09278090F94F71B8091E10888239E -:10B5D00091F00F944E1E0091DD081091DE0820912D -:10B5E000DF083091E008DC01CB01801B910BA20B3E -:10B5F000B30BB7FFB0C00F944E1E6B017C012091BE -:10B60000DC08222309F4C6C08091D8089091D9089B -:10B61000A091DA08B091DB08B701A601481B590BCD -:10B620006A0B7B0B77FDB6C030E0A8EEB3E00F9459 -:10B63000F034C60ED71EE81EF91EC092D808D0926C -:10B64000D908E092DA08F092DB080E94D25EA2C02C -:10B6500011E010937D098091580B811169C08AE334 -:10B6600096E00E94B65484E08093CB1E82E08093E3 -:10B67000B80881E09AE59093791C8093781C8EE459 -:10B6800090E090937B1C80937A1C87E080936C1CE5 -:10B6900082E880936F1C84E890E0A0E0B0E08093A3 -:10B6A000701C9093711CA093721CB093731C0F9428 -:10B6B00068070091CE12005D1093AC110E94DD85E9 -:10B6C00040E06CE67EE08BE69DE10E94F585802FF0 -:10B6D0000E94AB538AE00E94AB530E94E98580919F -:10B6E000EA0860E0182719F08BE49CE10DC08AE5B8 -:10B6F0009EE00E94C585802F0E94AB538AE00E9485 -:10B70000AB5360E084E39EE00E94C58588E49EE040 -:10B710000F945D1A802F0E94AB538AE00E94AB53B6 -:10B72000112331F08AE39EE09093D3098093D209EC -:10B730000E9485F9F3C989EA9FE00F945D1A80920F -:10B740005E0990925F09A0926009B092610910CAE7 -:10B750001092620939CC0F944E1E6B017C0120912E -:10B76000E10830E0A8EEB3E00F94F034C60ED71E27 -:10B77000E81EF91EC092DD08D092DE08E092DF08D4 -:10B78000F092E0088091CE120E94049F8AE00E940D -:10B79000AB5331CF28960FB6F894DEBF0FBECDBFA6 -:10B7A000DF91CF911F910F91FF90EF90DF90CF909D -:10B7B000BF90AF909F908F907F906F905F904F90D1 -:10B7C0003F902F9008951F920F920FB60F92112461 -:10B7D0000F900FBE0F901F9018951F920F920FB6EB -:10B7E0000F9211240BB60F920F931F932F933F9339 -:10B7F0004F935F936F937F938F939F93AF93BF9379 -:10B80000CF93DF93EF93FF9300910219D091011929 -:10B8100011E01D0F1F77C091C6009091F008492FCD -:10B82000092E000C550B660B770B4131510508F0C2 -:10B8300064C0FA018827E256FF4F8F4F0D943335CD -:10B84000CD3449F0CE34B9F481E006C0CA3338F0C3 -:10B85000CD3409F043C082E08093F00876C0C03355 -:10B8600008F073C0C03209F470C0CD32B9F56DC0B4 -:10B87000C13351F018F4C03289F567C0C43331F0D8 -:10B88000C83361F58BE0E8CF83E0E6CF88E0E4CF12 -:10B89000C03321F0C13311F586E0DECF84E0DCCF88 -:10B8A000C833E1F485E0D8CFC233C1F487E0D4CF08 -:10B8B000C133A1F489E0D0CFC03381F48AE0CCCF8A -:10B8C000C73361F48CE0C8CFC63341F48DE0C4CFF8 -:10B8D000C032D9F1C33511F48EE0BECF80E1BCCFC8 -:10B8E00080ED8C0F8A3088F59FE09093F00880936C -:10B8F000EF082BC0CA3049F526C0CA3031F5809117 -:10B90000DA1C882301F1973089F03CF49530D9F4A2 -:10B91000109214021092271A16C09A3059F09F30D4 -:10B9200091F48091EF080E9421860DC081E0809300 -:10B930005E1E09C00E946FFB0E9485F98EEF0E9477 -:10B94000B2E10E9420E21092F008011731F0ED2FD1 -:10B95000F0E0EF5FF64EC283D12FD0930119FF9133 -:10B96000EF91DF91CF91BF91AF919F918F917F9197 -:10B970006F915F914F913F912F911F910F910F9078 -:10B980000BBE0F900FBE0F901F9018958EBD0DB47B -:10B9900007FEFDCF08958FEF8EBD0DB407FEFDCFDE -:10B9A0008EB50895909164009B7F90936400982FCA -:10B9B000906A96959CBD80FD03C091E0863009F4A5 -:10B9C00090E09DBD0895CF92DF92EF92FF920F938A -:10B9D0001F93CF93DF936C017A018B01C0E0D0E01D -:10B9E000CE15DF0581F0D8016D918D01D601ED9165 -:10B9F000FC910190F081E02DC6011995892B11F081 -:10BA00002196EECF7E01C701DF91CF911F910F915B -:10BA1000FF90EF90DF90CF900895089580E090E040 -:10BA20000895FC01538D448D252F30E0842F90E044 -:10BA3000821B930B541710F0CF9608950197089529 -:10BA4000FC01918D828D981761F0828DDF01A80F26 -:10BA5000B11D5D968C91928D9F5F9F73928F90E048 -:10BA600008958FEF9FEF0895FC01918D828D9817B7 -:10BA700031F0828DE80FF11D858D90E008958FEFF4 -:10BA80009FEF0895FC01918D228D892F90E0805CBD -:10BA90009F4F821B91098F739927089582E69AE13F -:10BAA0000E94425D21E0892B09F420E0822F089555 -:10BAB000FC01848DDF01A80FB11DA35ABF4F2C914B -:10BAC000848D90E001968F739927848FA689B7891A -:10BAD0002C93A089B1898C91837080648C93938D11 -:10BAE000848D981306C00288F389E02D80818F7DB4 -:10BAF00080830895EF92FF920F931F93CF93DF936C -:10BB0000EC0181E0888F9B8D8C8D981305C0E889AE -:10BB1000F989808185FD26C0F62E0B8D10E00F5F20 -:10BB20001F4F0F731127E02E8C8DE8120CC00FB63B -:10BB300007FCFACFE889F989808185FFF5CFCE012E -:10BB40000E94585DF1CF8B8DFE01E80FF11DE35A85 -:10BB5000FF4FF0829FB7F8940B8FEA89FB898081B1 -:10BB600080620AC09FB7F894EE89FF896083E889F4 -:10BB7000F98980818370806480839FBF81E090E039 -:10BB8000DF91CF911F910F91FF90EF900895CF9388 -:10BB9000DF93EC01888D8823C9F0EA89FB898081D5 -:10BBA00085FD05C0A889B9898C9186FD0FC00FB6A7 -:10BBB00007FCF5CF808185FFF2CFA889B9898C91E8 -:10BBC00085FFEDCFCE010E94585DE7CFDF91CF9189 -:10BBD000089580E090E0892B41F080E090E0892B8F -:10BBE00021F00E940000811121C080E090E0892BAB -:10BBF00041F080E090E0892B21F00E94000081114B -:10BC000018C080E090E0892B21F00E944E5D8111E8 -:10BC100013C080E090E0892BA1F080E090E0892BB8 -:10BC200081F00E94000081110AC008950E94000066 -:10BC3000DCCF0E940000E5CF0E940000EACF0C9408 -:10BC400000000895FC0120E03EE2DB014C9140320F -:10BC500041F0283011F430833196DB014C91408360 -:10BC600031962F5F6F5F7F4F2B3079F710820895E9 -:10BC70000F944E380F931F93CF93DF938B01EA01FC -:10BC8000DB016D917C910E946197D801ED91FC914F -:10BC9000119790818881992349F0893638F431963B -:10BCA000ED93FC9388818F5F8883EFCF893658F4BA -:10BCB0008FE28083F8018081918101969183808356 -:10BCC00088818F5F8883DF91CF911F910F910895B5 -:10BCD0001F920F920FB60F9211240BB60F922F9353 -:10BCE0003F934F935F936F937F938F939F93AF9304 -:10BCF000BF93EF93FF9382E69AE10E94585DFF9114 -:10BD0000EF91BF91AF919F918F917F916F915F91D3 -:10BD10004F913F912F910F900BBE0F900FBE0F9040 -:10BD20001F9018951F920F920FB60F9211240BB609 -:10BD30000F922F938F939F93EF93FF93E091721A3B -:10BD4000F091731A8081E091781AF091791A82FD4E -:10BD500012C0908180917B1A8F5F8F7320917C1A23 -:10BD6000821751F0E0917B1AF0E0EE59F54E958F75 -:10BD700080937B1A01C08081FF91EF919F918F91F9 -:10BD80002F910F900BBE0F900FBE0F901F90189524 -:10BD90008BE1E8E5FBE1ADE3BBE101900D928A9513 -:10BDA000E1F708958091F41D82FF1FC080EA92E1BF -:10BDB0000F945D1A6091F01D7091F11D8091F21D3C -:10BDC0009091F31D4AE00E94B2538FE20E94AB5360 -:10BDD0006091EC1D7091ED1D8091EE1D9091EF1D15 -:10BDE0004AE00E94B2530C94B05482EB92E10D945D -:10BDF0005D1A1092580B8091F41D8F7D8B7F80937C -:10BE0000F41D0E9460DB882321F08FEF9AE10C94EF -:10BE1000C79908958091F41D83FF03C084608093C7 -:10BE2000F41D0895CF92DF92EF92FF920F931F932C -:10BE3000CF93DF93CDB7DEB7EDB6FEB6DC010D9044 -:10BE40000020E9F79D01281B390B2C5F3F4F4DB7B0 -:10BE50005EB7421B530B0FB6F8945EBF0FBE4DBFCB -:10BE60000DB71EB70F5F1F4F9F938F938CE991E122 -:10BE70009F938F931F930F930F94DE2D680154E0CF -:10BE8000C50ED11C0F900F900F900F900F900F9038 -:10BE9000F6018081882349F0082E000C990B0F943D -:10BEA0005338F60181936F01F3CFC8010E9413C884 -:10BEB00088E991E10E9445C80FB6F894FEBE0FBE16 -:10BEC000EDBEDF91CF911F910F91FF90EF90DF902A -:10BED000CF9008958F929F92AF92BF92CF92DF92B0 -:10BEE000EF92FF92CF938091F41D877F8093F41D92 -:10BEF00080915B1B882321F088E59BE10E94C79914 -:10BF000010923C1B1092391B85E38093381B0F94D1 -:10BF10004E1E6B017C0120EDC20E27E0D21EE11CFB -:10BF2000F11CA89561E08091381B0E9418B361E074 -:10BF30008091381B0E9447B3209A289A219A23980F -:10BF4000229A81E00E94D25C85E080933A1B0E9495 -:10BF5000D25CCAE08FEF0E94C65CC150D9F7A895A9 -:10BF600020E030E0A90160E088E39BE10E94A7980F -:10BF700080933B1B813061F00F944E1EDC01CB019E -:10BF80008C199D09AE09BF09B7FDEACF81E062C0F7 -:10BF9000A8952AEA31E040E050E068E088E39BE1C0 -:10BFA0000E94A798853011F481E00AC0C4E00E9485 -:10BFB000CB5C80933B1BC150D1F78A3A61F482E09D -:10BFC00080933C1BA89580913C1B823081F0812C92 -:10BFD000912C540111C00F944E1EDC01CB018C1921 -:10BFE0009D09AE09BF09B7FDD4CF82E033C0812CD3 -:10BFF000912CA12C80E4B82E20E030E0A90167E369 -:10C0000088E39BE10E94A798A501940169E288E377 -:10C010009BE10E94A79880933B1B882361F00F94BB -:10C020004E1EDC01CB018C199D09AE09BF09B7FD7D -:10C03000E3CF8AE00FC080913C1B823021F520E0E5 -:10C0400030E0A9016AE388E39BE10E94A798882376 -:10C0500061F088E08093391B88E39BE10E949F9800 -:10C060000F94461B8AE891E122C00E94CB5C807C41 -:10C07000803C19F483E080933C1B0E94CB5C0E94BF -:10C08000CB5C0E94CB5C88E39BE10E949F9810925E -:10C090003A1B81E00E94D0AB81110CC080E00E946D -:10C0A000D0AB811107C00F94421B86E791E10F943A -:10C0B0005D1A1AC06AE17BE188E59BE10E94F29675 -:10C0C000811105C00F94421B85E691E1F0CF80916C -:10C0D000F41D88608093F41D0F94461B89E591E15F -:10C0E0000F945D1A0E944D51CF91FF90EF90DF9019 -:10C0F000CF90BF90AF909F908F900C94C85E2F927E -:10C100003F925F926F927F928F929F92AF92BF9277 -:10C11000CF92DF92EF92FF920F931F93CF93DF9313 -:10C12000CDB7DEB7C356D1090FB6F894DEBF0FBE48 -:10C13000CDBF8C016B014A012DB63EB6512C7E015C -:10C1400087E5E80EF11CF6018381823008F41FC1F7 -:10C1500080859185A285B3858F719927AA27BB27F2 -:10C16000892B8A2B8B2B09F012C11092F71447EF01 -:10C1700054E1BE016F5F7F4FC6010E945C9B1816A1 -:10C180000CF005C18C85982F9871903129F420917D -:10C19000C60B2150223078F42981222309F4F7C0FC -:10C1A000253E89F22E3279F22091F7142E3259F27F -:10C1B0008A7049F67CC06DB67EB6BE016F5F7F4F58 -:10C1C000C7010E94225E0115110521F0F80180814E -:10C1D000811163C021E081E090E0F701019000202F -:10C1E000E9F73197EE19FF09E80FF91F32968DB77D -:10C1F0009EB78E1B9F0B0FB6F8949EBF0FBE8DBFD0 -:10C20000EDB7FEB731965F01211102C0B80102C03F -:10C2100061E976E0C5010F949A38B701C5010F9422 -:10C22000843861E976E0C5010F94843819A21CA214 -:10C2300021E0A701B601CE0181960E94B39D811134 -:10C240000DC08091C60B811109C00F94461B85E477 -:10C2500091E10F945D1AC7010E94B6548BE1FE0173 -:10C26000B196DE01DC9601900D928A95E1F740E0EF -:10C2700050E0BE01645C7F4FC5010E947F60CE012B -:10C28000CC960E94D099CE0181960E94D0990FB68B -:10C29000F8947EBE0FBE6DBE56CFF801019000200F -:10C2A000E9F73197CF01801B910B20E096CF21E079 -:10C2B000903109F020E08091F41D20FB84F98093F7 -:10C2C000F41D903141F08985873409F03CCF8A858F -:10C2D0008E3709F438CF8091C60B813021F068F099 -:10C2E0008230C1F130CF8091C90B9091CA0B019679 -:10C2F0009093CA0B8093C90B26CFBE016F5F7F4F0F -:10C3000089E395E10E94225E0115110529F489E374 -:10C31000A82E85E1B82E09C05801F50181915F0171 -:10C320008823A9F30E94AB53F8CFF50181915F01F7 -:10C33000882319F00E94AB53F8CF80E20E94AB53E0 -:10C340006D8D7E8D8F8D98A14AE00E94B2530E9420 -:10C35000B054F9CEBE016F5F7F4F89E395E10E9433 -:10C36000225E8114910441F069E375E1C4010F94E8 -:10C370007138892B51F40BC0852D90E02091C70BAB -:10C380003091C80B8217930711F05394DCCE0FB68F -:10C39000F8943EBE0FBE2DBECD59DF4F0FB6F894B8 -:10C3A000DEBF0FBECDBFDF91CF911F910F91FF90E8 -:10C3B000EF90DF90CF90BF90AF909F908F907F9045 -:10C3C0006F905F903F902F900895CF93DF93CDB7FC -:10C3D000DEB76B970FB6F894DEBF0FBECDBF81E01E -:10C3E0008093C60B1092CA0B1092C90B8DE39BE190 -:10C3F0000E949A988BE1EDE3FBE1DE01119601903A -:10C400000D928A95E1F740E050E0BE016F5F7F4FEB -:10C4100080E090E00E947F60CE0101960E94D0995A -:10C420008091C90B9091CA0B6B960FB6F894DEBF42 -:10C430000FBECDBFDF91CF9108950F931F93CF9380 -:10C44000DF93CDB7DEB76B970FB6F894DEBF0FBEA4 -:10C45000CDBF8B0122E02093C60B9093C80B809335 -:10C46000C70B8DE39BE10E949A988BE1EDE3FBE122 -:10C47000DE01119601900D928A95E1F7A801BE01A7 -:10C480006F5F7F4F80E090E00E947F60CE01019659 -:10C490000E94D0996B960FB6F894DEBF0FBECDBF49 -:10C4A000DF91CF911F910F910895DF92EF92FF924C -:10C4B0000F931F93CF93DF9300D01F92CDB7DEB7BA -:10C4C0002091F41D23FF3DC1F42EE62E8C010E9425 -:10C4D00060DB882309F481C0FF2009F48CC08091BF -:10C4E000EB1D882351F00F94421B8BE592E10F94D2 -:10C4F0005D1A80E090E00F940E088EE59BE09A8331 -:10C5000089838FE280935D0B81E08B83F12C9BE12B -:10C51000D92E8091EA1DF81678F4DF9CC001112411 -:10C52000AE014D5F5F4FBE016F5F7F4F8452934EF0 -:10C530000E943A5EF394EDCF8B818B3578F4AE0197 -:10C540004D5F5F4FBE016F5F7F4F8FEF9AE10E949B -:10C550003A5E89819A8101979A838983E981FA8178 -:10C560001082E091EB1D84E0E89FF0011124E75A6E -:10C57000F44F8091F01D9091F11DA091F21DB091AA -:10C58000F31D80839183A283B3830F94461BB8016C -:10C5900082E492E10F942F1B6091EB1D89E6689F66 -:10C5A000B0011124635A744F87E392E10F942F1B5B -:10C5B0004091F01D5091F11D6091F21D7091F31D9D -:10C5C00081E392E10F94F31A8AE00E94AB538091C9 -:10C5D000EB1D8F5F8093EB1D26C0FF2039F00F9479 -:10C5E000461B81E292E10F945D1A1DC01092EB1D73 -:10C5F00082E0F82E02C0FF24F3940F94461B8CE1D6 -:10C6000092E10F945D1A81E0F81609F497C088E072 -:10C6100092E10F945D1AB80184E192E10F942F1B0F -:10C620008AE00E94AB530E94F95EB801CE010396E6 -:10C630000F9475098C01009709F483C06B817C818C -:10C64000EE2009F450C021E0AC018FEF9AE10E9486 -:10C65000B39D882309F43FC08091101B9091111B5A -:10C66000A091121BB091131B8093EC1D9093ED1DB4 -:10C67000A093EE1DB093EF1D1092F01D1092F11DCE -:10C680001092F21D1092F31DB8018AEF91E10F9400 -:10C690002F1B4091EC1D5091ED1D6091EE1D70918E -:10C6A000EF1D82EF91E10F94F31A8AE00E94AB53E1 -:10C6B00083EE91E10F945D1AB80180E090E00E9452 -:10C6C0001D628091F714811102C0C80102C087EF7A -:10C6D00094E160E030C0B8018FEC91E10F942F1B22 -:10C6E0008CEC91E10FC026E5AC018FEF9AE10E943E -:10C6F000B39D81110AC0B80188EB91E10F942F1B03 -:10C7000085EB91E10F945D1A1CC08091F41D81604E -:10C710008093F41DB80180E090E00E941D621092A9 -:10C72000DA1CB80183EA91E10F942F1B8AE00E9482 -:10C73000AB5360E0C8010E94A2F703C08EE092E113 -:10C7400068CF0F900F900F900F90DF91CF911F91B6 -:10C750000F91FF90EF90DF900895CF92DF92EF92CC -:10C76000FF92CF936B017C01C42F8091EC149091C8 -:10C77000ED14A091EE14B091EF148C159D05AE054B -:10C78000BF05D1F00E945499811102C080E018C009 -:10C790002CEE32E1B701A6018091F5149091F614C8 -:10C7A0000E94D699882391F3C092EC14D092ED1494 -:10C7B000E092EE14F092EF1481E0C1118093F41432 -:10C7C000CF91FF90EF90DF90CF9008954F925F92BE -:10C7D0006F927F928F929F92AF92BF92CF92DF9291 -:10C7E000EF92FF920F931F93CF93DF93EC014230B0 -:10C7F00051056105710510F480E069C089859A854D -:10C80000AB85BC850196A11DB11D84179507A607B0 -:10C81000B70790F38F89803149F4852E962EA72E85 -:10C82000BB248B899C89AD89BE890FC0803221F7DA -:10C830008B889C88AD88BE88DB01CA01E7E0B6958D -:10C84000A79597958795EA95D1F7880E991EAA1E08 -:10C85000BB1E280139016A017B0141E0C501B40119 -:10C860000E94AD63882341F29F89903161F4DD24F9 -:10C87000EE24FF249601220F331FF901E451FD4EEF -:10C880005182408211C0E894C7F8DD24EE24FF24D1 -:10C890009601220F331F220F331FF901E451FD4E81 -:10C8A00040825182628273829A89923080F04D81F7 -:10C8B0005E816F817885840E951EA61EB71E8092BC -:10C8C000F0149092F114A092F214B092F314DF914C -:10C8D000CF911F910F91FF90EF90DF90CF90BF907D -:10C8E000AF909F908F907F906F905F904F90089542 -:10C8F000CF92DF92EF92FF920F931F93CF93DF932C -:10C90000FC0181859285A385B4850196A11DB11D89 -:10C9100084179507A607B70710F480E061C08789E0 -:10C92000803149F4BB27A72F962F852FC388D48841 -:10C93000E588F6880FC0803281F783899489A589BC -:10C94000B6896A017B01C7E0F694E794D794C7944F -:10C95000CA95D1F78C0D9D1DAE1DBF1DE9016A0161 -:10C960007B018F014091EC145091ED146091EE1415 -:10C970007091EF1484179507A607B70739F040E0C8 -:10C98000BC01CD010E94AD63882339F2F80187898B -:10C99000803179F4B701A601552766277727440F20 -:10C9A000551FFA01E451FD4E80819181A0E0B0E075 -:10C9B00012C0B701A6014F77552766277727440F86 -:10C9C000551F440F551FFA01E451FD4E808191819E -:10C9D000A281B381BF7088839983AA83BB8381E0DE -:10C9E000DF91CF911F910F91FF90EF90DF90CF904B -:10C9F00008954F925F926F927F92AF92BF92CF92C3 -:10CA0000DF92EF92FF920F931F93CF93DF9300D0AB -:10CA10001F92CDB7DEB78C0149835A836B837C8329 -:10CA20005901C12CD12C7601412C82E0582E612C69 -:10CA3000712C49815A816B817C819E012F5F3F4F10 -:10CA4000C8010E947864882341F1D301C201F80132 -:10CA5000058404C0880F991FAA1FBB1F0A94D2F730 -:10CA6000C80ED91EEA1EFB1E49815A816B817C814A -:10CA70008789803139F481E0483F5F4F6105710556 -:10CA800038F4D7CF81E0483F5F4F6F4F7F4088F247 -:10CA9000F501C082D182E282F3820F900F900F9055 -:10CAA0000F90DF91CF911F910F91FF90EF90DF904A -:10CAB000CF90BF90AF907F906F905F904F90089510 -:10CAC0008091E61B9091E71B891B8F7019F480E021 -:10CAD00090E008959091E31B992351F0833030F456 -:10CAE0008FEF890F19F08093E31BF1CF1092E31BB6 -:10CAF000E091E71B84E5E89FF0011124E553F44F32 -:10CB0000808180FDE4CF8091E71B8F5F8F708093E1 -:10CB1000E41B9091E71B8091E51B981304C0809162 -:10CB2000E41B8093E51BCF0108950F930FB70F937C -:10CB300000916E000F930B7F00936E0000916F00C9 -:10CB40000D7F00936F000F930BB70F930CB70F92ED -:10CB50001F922F933F934F935F936F937F938F9386 -:10CB60009F93AF93BF93EF93FF9311240E940666A8 -:10CB7000FF91EF91BF91AF919F918F917F916F91B5 -:10CB80005F914F913F912F911F900F900CBF0F918C -:10CB90000BBF0F910260F89400936F000F91009308 -:10CBA0006E000F910FBF0F9118958091C30980FF00 -:10CBB00003C089988FEF02C0899A81E08093241185 -:10CBC0008091C309869580FF03C08F9A8FEF02C0C2 -:10CBD0008F9881E0809325118091C3098695869571 -:10CBE00080FF08C080910B018095827080930901BD -:10CBF0008FEF06C080910B0182708093090181E064 -:10CC00008093261100000000000008952F923F92AB -:10CC10004F925F926F927F928F929F92AF92BF924C -:10CC2000CF92DF92EF92FF920F931F93CF93DF93F8 -:10CC3000CDB7DEB72D970FB6F894DEBF0FBECDBFD0 -:10CC40008FEF9FEF90938900809388002AE02987D7 -:10CC5000212C312C44244A94542C32017894809114 -:10CC6000721190917311A0917411B0917511892B6B -:10CC70008A2B8B2B09F0D9C18091411E8823E1F0CA -:10CC80001092411E80913F1E9091401E892B09F405 -:10CC9000CCC1109223111092401E10923F1E909111 -:10CCA000E61B8091E71B981709F4BFC18091E71B31 -:10CCB0008F5F8F708093E71B80913F1E9091401E85 -:10CCC000892B09F4B2C1C0906E11D0906F11E09021 -:10CCD0007011F090711140916A1150916B11609137 -:10CCE0006C1170916D1100915D1110E020E030E049 -:10CCF000DB01CA018C199D09AE09BF090817190784 -:10CD00002A073B0710F4D901C801482F8C0D9D1D3F -:10CD1000AE1DBF1D80936E1190936F11A093701183 -:10CD2000B09371112091840030918500225E3F4FB5 -:10CD3000C0904311D0904411E0904511F0904611FD -:10CD40008091331190913411A0913511B091361129 -:10CD50008C0D9D1DAE1DBF1D8093431190934411FA -:10CD6000A0934511B0934611B7FD1CC0889AC0909E -:10CD70004E1ED0904F1EE090501EF090511E80919C -:10CD80002411082E000C990BAA0BBB0B8C0D9D1DBA -:10CD9000AE1DBF1D80934E1E90934F1EA093501E3C -:10CDA000B093511EC0904711D0904811E0904911A6 -:10CDB000F0904A118091371190913811A09139115A -:10CDC000B0913A118C0D9D1DAE1DBF1D8093471172 -:10CDD00090934811A0934911B0934A11B7FD1CC01C -:10CDE0008E9AC090521ED090531EE090541EF09028 -:10CDF000551E80912511082E000C990BAA0BBB0B18 -:10CE00008C0D9D1DAE1DBF1D8093521E9093531E11 -:10CE1000A093541EB093551EC0904B11D0904C114E -:10CE2000E0904D11F0904E1180913B1190913C118A -:10CE3000A0913D11B0913E118C0D9D1DAE1DBF1DE9 -:10CE400080934B1190934C11A0934D11B0934E11C0 -:10CE5000B7FD21C080910B018095887080930901F6 -:10CE6000C090561ED090571EE090581EF090591E4C -:10CE700080912611082E000C990BAA0BBB0B8C0D70 -:10CE80009D1DAE1DBF1D8093561E9093571EA093EF -:10CE9000581EB093591EC0904F11D0905011E09081 -:10CEA0005111F090521180913F1190914011A09139 -:10CEB0004111B09142118C0D9D1DAE1DBF1D80937F -:10CEC0004F1190935011A0935111B0935211B7FD8F -:10CED0003AC080905A1E90905B1EA0905C1EB0904D -:10CEE0005D1EC09027110C2C000CDD08EE08FF0819 -:10CEF000C80CD91CEA1CFB1CC0925A1ED0925B1EA7 -:10CF0000E0925C1EF0925D1EC0902F11D090301107 -:10CF1000E0903111F09032118C199D09AE09BF09D2 -:10CF200080934F1190935011A0935111B0935211CF -:10CF30009091C30980915B1193FF02C0815001C0A1 -:10CF40008F5F80935B1180918400909185008217A0 -:10CF50009307C8F38091431190914411A09145111A -:10CF6000B0914611B7FD15C0C0902F11D09030116F -:10CF7000E0903111F09032118C199D09AE09BF0972 -:10CF80008093431190934411A0934511B09346119F -:10CF900088988091471190914811A0914911B091C2 -:10CFA0004A11B7FD15C0C0902F11D0903011E090FC -:10CFB0003111F09032118C199D09AE09BF0980938F -:10CFC000471190934811A0934911B0934A118E983C -:10CFD00080914B1190914C11A0914D11B0914E1137 -:10CFE000B7FD19C0C0902F11D0903011E0903111D1 -:10CFF000F09032118C199D09AE09BF0980934B1135 -:10D0000090934C11A0934D11B0934E1180910B0150 -:10D01000887080930901415041F080918400909183 -:10D02000850082179307C8F381CE80911F029091EB -:10D030002002A0912102B0912202892B8A2B8B2BF6 -:10D0400009F0AAC080915C11882309F452C0809035 -:10D050006E1190906F11A0907011B0907111C090EE -:10D060005711D0905811E0905911F0905A118091B9 -:10D070005B11C814D904EA04FB0488F420912C1134 -:10D0800030912D1140912A1150912B1142175307C5 -:10D0900030F4815080935B112150310915C08C14FC -:10D0A0009D04AE04BF04E8F420912C1130912D11A1 -:10D0B00040912811509129112417350790F48F5F62 -:10D0C00080935B112F5F3F4F30932D1120932C11D4 -:10D0D00040911B0250911C0260911D0270911E0232 -:10D0E0000BC040921B0250921C0260921D02709273 -:10D0F0001E024FEF5FEFBA0190915B1180912E11EC -:10D1000097FD06C0811102C0169A07C0439805C05A -:10D11000811102C0169801C0439A0000000000006F -:10D120002091840030918500225E3F4F80915B11F9 -:10D13000882351F180912E11811102C0149A01C0EF -:10D14000419A809184009091850082179307C8F3DB -:10D1500080915B1187FF02C08F5F01C08150809377 -:10D160005B1180912E11811102C0149801C0419869 -:10D1700080915B118823D1F2809184009091850089 -:10D1800082179307C8F3D0CF40931F025093200219 -:10D190006093210270932202809172119091731119 -:10D1A000A0917411B0917511892B8A2B8B2B09F0EA -:10D1B000EEC3A0913F1EB091401E109709F4FFC529 -:10D1C000C0906E11D0906F11E0907011F0907111BD -:10D1D00040916A1150916B1160916C1170916D11B9 -:10D1E000C416D506E606F70608F479C08091150244 -:10D1F000882309F45AC055964D915D916D917C91AB -:10D200005897452B462B472BC1F459964D915D916C -:10D210006D917C915C97452B462B472B71F45D9665 -:10D220004D915D916D917C919097452B462B472BAD -:10D2300021F48091580B8823C1F191966D917D91D5 -:10D240008D919C91949799960C91999734E0039FB6 -:10D2500080011124F801E55EFE4EC080D180E2809D -:10D26000F380D6962C9123FF07C0909580957095FA -:10D2700061957F4F8F4F9F4F0F944D2E2091171127 -:10D28000309118114091191150911A110F94AC2E30 -:10D290009B01AC01C701B6010F943B35F801E55E77 -:10D2A000FE4E6083718382839383109223111092C8 -:10D2B000401E10923F1E9091E61B8091E71B98172D -:10D2C00009F47DC58091E71B8F5F8F708093E71B0A -:10D2D00000ED802E07E0902EA12CB12C8AC1409148 -:10D2E00066115091671160916811709169114C1528 -:10D2F0005D056E057F0508F46DC040916211509187 -:10D3000063116091641170916511D2960D911D9118 -:10D310002D913C91D597EE27419FF12D529FC00151 -:10D32000629F900D619F800D911D429FF00D811DA8 -:10D330009E1F519FF00D811D9E1F609FF00D811D4E -:10D340009E1F509FF10D8E1F9E1FF6958E1F9E1FD4 -:10D35000349F800D911D359F900D1124FD01EA5BD6 -:10D36000FF4F0081118122813381080F191F211D78 -:10D37000311D00935E1110935F1120936011309363 -:10D3800061113497C080D180E280F380C016D1064D -:10D39000E206F30640F4C0925E11D0925F11E09273 -:10D3A0006011F0926111C0905E11D0905F11E09019 -:10D3B0006011F090611183EC9AE121E0FC0185900D -:10D3C0009590A590B4908C149D04AE04BF0408F40D -:10D3D00058C362C32091571130915811409159118F -:10D3E00050915A1129833A834B835C832C153D0558 -:10D3F0004E055F0508F070C04091531150915411D3 -:10D4000060915511709156114A875B876C877D87B3 -:10D41000D2960D911D912D913C91D597EE27419F6C -:10D42000F12D529FC001629F900D619F800D911D53 -:10D43000429FF00D811D9E1F519FF00D811D9E1F6B -:10D44000609FF00D811D9E1F509FF10D8E1F9E1F2E -:10D45000F6958E1F9E1F349F800D911D359F900D58 -:10D4600011248C0120E030E080905E1190905F11DB -:10D47000A0906011B0906111FD01E65BFF4F0815AF -:10D4800019052A053B05A0F4408151816281738111 -:10D490004D835E836F837887801A910AA20AB30A4C -:10D4A00084169506A606B70638F44A015B0104C047 -:10D4B00080809180A280B38083EC9AE151E05D830B -:10D4C000FC010591159125913491081519052A053E -:10D4D0003B0508F465C371C380915B118823D9F0C3 -:10D4E000D8964D915C91D99760E070E000911B0255 -:10D4F00010911C0220911D0230911E02401751070D -:10D500006207730741F010921F02109220021092DE -:10D51000210210922202409117025091180260914C -:10D52000190270911A0277FF5CC0AE5BBF4F8D91FC -:10D530009D910D90BC91A02D23EC3AE141E0F901C1 -:10D54000C590D590E590F490C816D906EA06FB067A -:10D5500058F4B695A79597958795440F2C5F3F4F44 -:10D560006AE12F3D360759F740935D1180329105EE -:10D57000A105B10520F480E290E0A0E0B0E0809742 -:10D58000A109B109811538E09307A105B10508F497 -:10D59000D0C344E0949F900111242D53394EF901DA -:10D5A000329645915491EE27859FB001849F610D7D -:10D5B0007E1F06946E1F7E1F1124CB01A0E0B0E0F9 -:10D5C000F9014591549160E070E0481B590B6A0BDA -:10D5D0007B0B4093170250931802609319027093CB -:10D5E0001A028090170290901802A0901902B09031 -:10D5F0001A0280913F1E9091401E892B09F0BFC1F5 -:10D600000E9460659093401E80933F1E892B09F411 -:10D61000B6C1E0913F1EF091401E808183FF3EC065 -:10D6200085899689A789B08D80934E1E90934F1E51 -:10D63000A093501EB093511E818D928DA38DB48DF9 -:10D640008093521E9093531EA093541EB093551E68 -:10D65000858D968DA78DB0A18093561E9093571EF1 -:10D66000A093581EB093591E81A192A1A3A1B4A169 -:10D6700080935A1E90935B1EA0935C1EB0935D1E18 -:10D680009091E61B8091E71B981709F4B9CF809120 -:10D69000E71B8F5F8F708093E71BB2CFC588D6885A -:10D6A000E788F08C81E0C114D104E104F10409F4AD -:10D6B00080E0018D128D238D348D0115110521051A -:10D6C000310509F08260458D568D678D70A1411539 -:10D6D00051056105710509F0846080932311109252 -:10D6E000531110925411109255111092561110921C -:10D6F000621110926311109264111092651185A14C -:10D7000096A1A7A1B0A580936A1190936B11A093E5 -:10D710006C11B0936D11882499245401881A990AC8 -:10D72000AA0ABB0A80924F1190925011A0925111F7 -:10D73000B092521180924B1190924C11A0924D11C7 -:10D74000B0924E118092471190924811A0924911C7 -:10D75000B0924A118092431190924411A0924511C7 -:10D76000B0924611CC0CDD1CEE1CFF1CC092331194 -:10D77000D0923411E0923511F0923611000F111F42 -:10D78000221F331F00933711109338112093391142 -:10D7900030933A11440F551F661F771F40933B117A -:10D7A00050933C1160933D1170933E1141A152A1E1 -:10D7B00063A174A1440F551F661F771F40933F114B -:10D7C000509340116093411170934211880F991F3B -:10D7D000AA1FBB1F80932F1190933011A09331117A -:10D7E000B093321110926E1110926F11109270114D -:10D7F0001092711182A593A5A4A5B5A58093661179 -:10D8000090936711A0936811B093691186A597A5AD -:10D81000A0A9B1A98093571190935811A0935911C1 -:10D82000B0935A1181A580932E1120911602821770 -:10D8300021F010922D1110922C1197A990935C1148 -:10D84000992309F144AD55AD50932B1140932A1102 -:10D8500042AD53AD509329114093281110921F02ED -:10D8600010922002109221021092220240AD51AD7E -:10D8700060E070E040931B0250931C0260931D0215 -:10D8800070931E0208C040921B0250921C026092CC -:10D890001D0270921E0296A93091C309931302C013 -:10D8A000821731F09093C309809316020E94D565C8 -:10D8B0000E94D3E24092170250921802609219021D -:10D8C00070921A02E0913F1EF091401EEA5BFF4FFA -:10D8D00080819181A281B38180935E1190935F11C9 -:10D8E000A0936011B093611123EC3AE141E0F9019A -:10D8F000C590D590E590F490C816D906EA06FB06C7 -:10D9000060F4B695A79597958795440F2C5F3F4F88 -:10D91000EFEDFAE1E217F30751F740935D11803222 -:10D920009105A105B10520F480E290E0A0E0B0E00F -:10D930008097A109B109811558E09507A105B105A6 -:10D9400008F41AC264E0969F900111242D53394EB9 -:10D95000F901329645915491EE27859FB001849F3D -:10D96000610D7E1F06946E1F7E1F1124F9018590A4 -:10D970009490A12CB12C861A970AA108B108809224 -:10D98000721190927311A0927411B092751100915E -:10D990007211109173112091741130917511409191 -:10D9A0001F02509120026091210270912202F02EFC -:10D9B0001983F22FE32F401751076207730720F4F2 -:10D9C000F42E5983F62FE72F8F2D9981AF2FBE2F7D -:10D9D0000097E1E0AE07B10520F08FEF9FEFA0E0E8 -:10D9E000B0E0081B190B2A0B3B0B0093721110932C -:10D9F000731120937411309375114F3FFFEF5F0740 -:10DA00006F077F0761F0481B590B6A0B7B0B409334 -:10DA10001F02509320026093210270932202F89417 -:10DA20002091840030918500205F3F4F498541500F -:10DA30004987442339F0280E391E2216330608F48C -:10DA40000DC901C019013092890020928800789494 -:10DA50002D960FB6F894DEBF0FBECDBFDF91CF91EC -:10DA60001F910F91FF90EF90DF90CF90BF90AF90FC -:10DA70009F908F907F906F905F904F903F902F90EE -:10DA80000895F694E794D794C794220F0496EAE198 -:10DA90008F3D9E0709F092CC20935D11F0E2CF16E6 -:10DAA000D104E104F10428F410E2C12ED12CE12CC0 -:10DAB000F12C80E2C81AD108E108F108C114E8E0AD -:10DAC000DE06E104F104F8F0F4E0DF9EC001112469 -:10DAD0008D53994EFC01329625913491FC2DEE2701 -:10DAE000F39F8001F29F010D1E1F06940E1F1E1F43 -:10DAF0001124FC0185909490A12CB12C801A910ADC -:10DB0000A108B10822C0970186013695279517957F -:10DB10000795F801EC7F9F012D533D4EF90185904B -:10DB20009490F901329685919491EC2DE770E89FDD -:10DB30009001E99F300D1124F3E036952795FA9571 -:10DB4000E1F7821A930AA12CB12C480D591D6A1DC8 -:10DB50007B1D409362115093631160936411709325 -:10DB6000651190915C1180915B11992309F473C048 -:10DB7000882309F43ECDD8968D919C91D997A0E049 -:10DB8000B0E040911B0250911C0260911D02709107 -:10DB90001E0284179507A607B70709F05FC029CDB5 -:10DBA000B694A794979487942D81220F2D83049681 -:10DBB0003AE18F3D930709F083CC4D8140935D118D -:10DBC00050E285169104A104B10428F450E2852E98 -:10DBD000912CA12CB12C60E2861A9108A108B10801 -:10DBE000811478E09706A104B10408F440C0E4E091 -:10DBF0009E9EC00111248D53994EFC0132962591B1 -:10DC00003491F82DEE27F39F8001F29F010D1E1F26 -:10DC100006940E1F1E1F1124FC0185909490A12CC8 -:10DC2000B12C801A910AA108B1084A855B856C85E0 -:10DC30007D85480D591D6A1D7B1D409353115093DE -:10DC40005411609355117093561180915C1181119C -:10DC500032C080915B11882309F4CBCC10921F0253 -:10DC6000109220021092210210922202C2CC950141 -:10DC700084013695279517950795F801EC7F9F014C -:10DC80002D533D4EF90185919491F90132960591FC -:10DC90001491E82DE770E09F9001E19F300D112471 -:10DCA00043E0369527954A95E1F74C01821A930A8D -:10DCB000A12CB12CBACF49815A816B817C812D81F5 -:10DCC000420F511D611D711D4C155D056E057F05CF -:10DCD000C8F480915B11882309F48BCCD8964D91C0 -:10DCE0005C91D99760E070E000911B0210911C02DA -:10DCF00020911D0230911E024017510762077307E1 -:10DD000009F477CC10921F02109220021092210287 -:10DD100010922202D8968D919C91D997A0E0B0E004 -:10DD200080931B0290931C02A0931D02B0931E02CD -:10DD300060CCAC01BD017695679557954795FA0182 -:10DD4000EC7F9F012D533D4EF90145915491F9010E -:10DD50003296659174918770869F9001879F300DF0 -:10DD60001124C901F3E096958795FA95E1F7481BD0 -:10DD7000590B60E070E02DCCAC01BD017695679544 -:10DD800057954795FA01EC7F9F012D533D4EF901C0 -:10DD900085909490F9013296459154918770849FB3 -:10DDA0009001859F300D1124C901A3E096958795B8 -:10DDB000AA95E1F7881A990AA12CB12CE0CD80ED43 -:10DDC000882E87E0982EA12CB12C1ACC1F93CF93CC -:10DDD000DF93CDB7DEB728970FB6F894DEBF0FBE3E -:10DDE000CDBF69837A838B839C832D833E834F834E -:10DDF00058870E94788A882311F081E026C081E04C -:10DE00000E9413AE69E170E080E090E00F942E1A5A -:10DE1000BE016B5F7F4FCE0101960E9477E11091AA -:10DE2000560B147080E00E9413AE112321F00E9463 -:10DE3000298A8111E2CF1092560B82E00E94B2E152 -:10DE40000E9420E281E0111180E028960FB6F8943C -:10DE5000DEBF0FBECDBFDF91CF911F910895CF924E -:10DE6000DF92EF92FF92CF93DF93CDB7DEB7289783 -:10DE70000FB6F894DEBF0FBECDBF20E030E040EA21 -:10DE800050E46091D7127091D8128091D91290917C -:10DE9000DA120F94462E8823E9F01D821E821F821B -:10DEA0001886C12CD12C80EAE82E80E4F82EC98295 -:10DEB000DA82EB82FC82BE016B5F7F4FCE0101965E -:10DEC0000E9477E1C092D712D092D812E092D91274 -:10DED000F092DA1228960FB6F894DEBF0FBECDBFCF -:10DEE000DF91CF91FF90EF90DF90CF900895BF9298 -:10DEF000CF92DF92EF92FF920F931F93CF93DF9316 -:10DF0000CDB7DEB728970FB6F894DEBF0FBECDBFF2 -:10DF10009091C409981709F47AC0B82E80E090E077 -:10DF2000A0E2B1E48D839E83AF83B887C0907F1257 -:10DF3000D0908012E0908112F090821220E030E0C8 -:10DF4000A901C701B6010F94462E87FF0CC0A70197 -:10DF5000960160E070E080E291E40F943B356D83C0 -:10DF60007E838F83988720E030E048EC53E46D8116 -:10DF70007E818F8198850F949C37181644F480E039 -:10DF800090E0A8ECB3E48D839E83AF83B8872D81A6 -:10DF90003E814F8158856091D7127091D81280913F -:10DFA000D9129091DA120F94462E87FF0BC0198276 -:10DFB0001A821B821C82BE016F5F7F4FCE010596C5 -:10DFC0000E9477E16091CF127091D0128091D112AE -:10DFD0009091D2122091D3123091D4124091D51247 -:10DFE0005091D61219821A821B821C82E090D7129D -:10DFF000F090D8120091D9121091DA12FE013196E8 -:10E000006F010E9494E0B092C4090E94B6E380E0E0 -:10E0100028960FB6F894DEBF0FBECDBFDF91CF912B -:10E020001F910F91FF90EF90DF90CF90BF900895D8 -:10E030002F923F924F925F926F927F928F929F9218 -:10E04000AF92BF92CF92DF92EF92FF920F931F9306 -:10E05000CF93DF93CDB7DEB7CA59D1090FB6F89485 -:10E06000DEBF0FBECDBF4B015A011901E096EFAEE6 -:10E07000E097C057DF4FD982C882C059D040DC0139 -:10E080002D913D914D915C91E8962CAF3DAF4EAFF7 -:10E090005FAFE8972091EC113091ED114091EE11B6 -:10E0A0005091EF11E8966CAD7DAD8EAD9FADE897C8 -:10E0B0000F94AC2E0F94A9372B013C0125966CAF21 -:10E0C0007DAF8EAF9FAF2597D4012D913D914D919E -:10E0D0005C91E4962CAF3DAF4EAF5FAFE4972091DB -:10E0E000F0113091F1114091F2115091F311E49639 -:10E0F0006CAD7DAD8EAD9FADE4970F94AC2E0F94BB -:10E10000A937A7966CAF7DAF8EAF9FAFA797299623 -:10E110006CAF7DAF8EAF9FAF2997D5012D913D910B -:10E120004D915C91AF962CAF3DAF4EAF5FAFAF97C7 -:10E130002091F4113091F5114091F6115091F711A1 -:10E14000AF966CAD7DAD8EAD9FADAF970F94AC2EFD -:10E150000F94A9376B017C012D966CAF7DAF8EAF0C -:10E160009FAF2D97D1012D913D914D915C91AB9633 -:10E170002CAF3DAF4EAF5FAFAB972091F811309110 -:10E18000F9114091FA115091FB11AB966CAD7DAD38 -:10E190008EAD9FADAB970F94AC2E0F94A9374B016A -:10E1A0005C0161966CAF7DAF8EAF9FAF6197E896D3 -:10E1B0002CAD3DAD4EAD5FADE89765962CAF3DAF54 -:10E1C0004EAF5FAF6597E4968CAD9DADAEADBFAD84 -:10E1D000E49769968CAF9DAFAEAFBFAF6997AF962E -:10E1E0002CAD3DAD4EAD5FADAF976D962CAF3DAF55 -:10E1F0004EAF5FAF6D97AB968CAD9DADAEADBFAD85 -:10E20000AB97A1968CAF9DAFAEAFBFAFA1978091FA -:10E21000271283FF16C08092181C9092191CA0929E -:10E220001A1CB0921B1CAB962CAD3DAD4EAD5FAD34 -:10E23000AB972093081C3093091C40930A1C509301 -:10E240000B1C8091D6119091D711892B09F0A3C393 -:10E25000D801BC91ED96BFAFED97F801F181C058A0 -:10E26000DF4FF883C058D040D8011296BC91CC57EC -:10E27000DF4FB883C458D040F801F381C857DF4F4F -:10E28000F883C858D0408091E61B9091E71B891B0A -:10E290008F708F3021F480E00E94D754F4CF20910A -:10E2A000E61BC856DF4F2883C859D0408091E61B33 -:10E2B000282E312C80910C1C90910D1CA0910E1CCD -:10E2C000B0910F1C481A590A6A0A7B0A8091101CE7 -:10E2D0009091111CA091121CB091131CA7962CAD0B -:10E2E0003DAD4EAD5FADA797281B390B4A0B5B0BBD -:10E2F000A7962CAF3DAF4EAF5FAFA7978091141C90 -:10E300009091151CA091161CB091171CA7019601A5 -:10E31000281B390B4A0B5B0BE4962CAF3DAF4EAF7D -:10E320005FAFE4978091181C9091191CA0911A1C62 -:10E33000B0911B1CA5019401281B390B4A0B5B0BE8 -:10E34000E8962CAF3DAF4EAF5FAFE897232B242B61 -:10E35000252B09F492C080912612811133C060915F -:10E3600083097091840980918509909186090F94A1 -:10E37000A83620915702309158026217730714F59E -:10E380008092181C9092191CA0921A1CB0921B1C0F -:10E39000AB968CAD9DADAEADBFADAB978093081C79 -:10E3A0009093091CA0930A1CB0930B1C0F94461B5E -:10E3B00082E09BE10F945D1AE8961CAE1DAE1EAE86 -:10E3C0001FAEE897E096AFADE09794E0A99F80017B -:10E3D0001124015D1D4FE8966CAD7DAD8EAD9FADF6 -:10E3E000E8970F944D2EF8012081318142815381AD -:10E3F0000F94AC2E6B017C0120E030E0A9010F945A -:10E400009C3787FF04C0F7FAF094F7F8F09420E007 -:10E4100030E04AEF53E46091F8117091F911809166 -:10E42000FA119091FB110F94AC2EA70196010F9455 -:10E43000462E87FF22C08092181C9092191CA09231 -:10E440001A1CB0921B1CAB962CAD3DAD4EAD5FAD12 -:10E45000AB972093081C3093091C40930A1C5093DF -:10E460000B1C0F94461B83EE9AE10F945D1AE896FD -:10E470001CAE1DAE1EAE1FAEE897D301C2018827A9 -:10E48000B7FD83959927AA27BB27B82EA7962CAD51 -:10E490003DAD4EAD5FADA79757FF03C0382F32603B -:10E4A000B32EE4968CAD9DADAEADBFADE497B7FF96 -:10E4B00003C09B2D9460B92EE8962CAD3DAD4EADBA -:10E4C0005FADE89757FF03C03B2D3860B32EE09651 -:10E4D0005FADE09744E0549F80011124015D1D4F22 -:10E4E000E8966CAD7DAD8EAD9FADE8970F944D2E47 -:10E4F000D8012D913D914D915C910F94AC2E6B0103 -:10E500007C0120E030E0A9010F949C3787FF04C014 -:10E51000C701B601905802C0C701B60120E030E043 -:10E5200040E05FE30F943C350F94AF36AF966CAF8D -:10E530007DAF8EAF9FAFAF9784E5829DF001839D45 -:10E54000F00D1124E553F44F1082B6AA5301420195 -:10E5500077FE07C088249924540184189508A608DA -:10E56000B70884E5829DF001839DF00D1124E553E9 -:10E57000F44F858A968AA78AB08EA7962CAD3DADBA -:10E580004EAD5FADA797AB962CAF3DAF4EAF5FAF33 -:10E59000AB9757FF0DC050954095309521953F4F53 -:10E5A0004F4F5F4FAB962CAF3DAF4EAF5FAFAB97CA -:10E5B00084E5829DF001839DF00D1124E553F44F15 -:10E5C000AB968CAD9DADAEADBFADAB97818F928F4D -:10E5D000A38FB48FE4962CAD3DAD4EAD5FADE49707 -:10E5E000EC962CAF3DAF4EAF5FAFEC9757FF0DC031 -:10E5F00050954095309521953F4F4F4F5F4FEC968A -:10E600002CAF3DAF4EAF5FAFEC9784E5829DF0013C -:10E61000839DF00D1124E553F44FEC968CAD9DAD28 -:10E62000AEADBFADEC97858F968FA78FB0A3C3011A -:10E63000B2010F944D2E20910B1130910C1140918D -:10E640000D1150910E110F94AC2EC457DF4F6883FB -:10E6500079838A839B83CC58D04069AB7AAB8BABF0 -:10E660009CABA7966CAD7DAD8EAD9FADA7970F947B -:10E670004D2E20910F113091101140911111509198 -:10E6800012110F94AC2E2B013C016DAB7EAB8FAB06 -:10E6900098AFE4966CAD7DAD8EAD9FADE4970F94D1 -:10E6A0004D2E20911311309114114091151150915C -:10E6B00016110F94AC2EA7966CAF7DAF8EAF9FAFA7 -:10E6C000A79769AF7AAF8BAF9CAF209117113091AC -:10E6D00018114091191150911A11C701B6010F94E8 -:10E6E000AC2E6B017C0121966CAF7DAF8EAF9FAFDE -:10E6F000219796E089169104A104B1041CF5AB960C -:10E700002CAD3DAD4EAD5FADAB972630310541052B -:10E710005105C4F4EC968CAD9DADAEADBFADEC979C -:10E720000697A105B10574F420E030E0A901C70106 -:10E73000B6010F949C3787FF18C0F7FAF094F7F8EA -:10E74000F09413C0C057DF4FA881B981C059D040A1 -:10E75000CD90DD90ED90FC9020E030E0A901C70164 -:10E76000B6010F94462E882369F084E5829DF0015E -:10E77000839DF00D1124E553F44FC586D686E786B8 -:10E78000F08A3AC0C457DF4F288139814A815B81C2 -:10E79000CC58D040CA01B9010F94AC2E6B017C015A -:10E7A000A3019201C301B2010F94AC2E9B01AC01F5 -:10E7B000C701B6010F943C356B017C01A7962CADC7 -:10E7C0003DAD4EAD5FADA797CA01B9010F94AC2E18 -:10E7D0009B01AC01C701B6010F943C350F94EA3799 -:10E7E00024E5229DF001239DF00D1124E553F44F03 -:10E7F000658776878787908B84E5829DF001839D6E -:10E80000F00D1124E553F44FAF962CAD3DAD4EAD58 -:10E810005FADAF9721A332A343A354A3582D492D35 -:10E820003A2D2B2DAB968CAD9DADAEADBFADAB975C -:10E8300088169906AA06BB0660F4A8965FADA8974D -:10E84000A9964FADA997AA963FADAA97AB962FADC3 -:10E85000AB97852F942FA32FB22FEC962CAD3DAD07 -:10E860004EAD5FADEC9782179307A407B50710F480 -:10E87000DA01C901AF962CAD3DAD4EAD5FADAF979E -:10E8800082179307A407B50710F4DA01C90124E53C -:10E89000229DF001239DF00D1124E553F44F85A333 -:10E8A00096A3A7A3B0A70697A105B10510F40C94F1 -:10E8B000EF81DF01AE5ABF4F8091C6128C93119643 -:10E8C0008091C7128C93E0963FADE09731A78928DD -:10E8D0008A288B2809F05F9884E5829DF001839D4A -:10E8E000F00D1124E553F44F818D928DA38DB48DDD -:10E8F000892B8A2B8B2B09F08A9884E5829DF00165 -:10E90000839DF00D1124E553F44F858D968DA78DD1 -:10E91000B0A1892B8A2B8B2B29F080910801817063 -:10E9200080930601AF968CAD9DADAEADBFADAF97F8 -:10E93000892B8A2B8B2B91F18091AA11882319F0B6 -:10E9400081508093AA118091AB11882399F0815056 -:10E950008093AB11E0969FADE097992319F0913029 -:10E9600081F025C0811101C0479A129880E28093FE -:10E97000AA111DC0E096FFADE097FF23A9F3F13087 -:10E98000B1F48091AA11811101C0129A479880E2D6 -:10E990008093AB110CC080E00C947882E0901C1244 -:10E9A000F0901D1200911E1210911F1208C0E090ED -:10E9B0001812F090191200911A1210911B1297015F -:10E9C000A801ED966FADED97C058DF4F7881C05824 -:10E9D000D040CC57DF4F8881C458D040C857DF4F54 -:10E9E0009881C858D0400F94462E87FF12C0ED96EC -:10E9F000EFAEED97C058DF4FF882C058D040CC57EB -:10EA0000DF4F0883C458D040C857DF4F1883C85819 -:10EA1000D04084E5829DF001839DF00D1124E553E3 -:10EA2000F44F4584568467847088A301920160E0A6 -:10EA300070E080E89FE30F943636EC966CAF7DAFC4 -:10EA40008EAF9FAFEC97ED962FADED97C058DF4F8F -:10EA50003881C058D040CC57DF4F4881C458D0408F -:10EA6000C857DF4F5881C858D0400F94AC2E4B0187 -:10EA70005C018091E61B9091E41B891B8F70C85745 -:10EA8000DF4F8883C858D040A501940160E074E24C -:10EA900084E799E40F9436360F94A9376B017C0113 -:10EAA000C857DF4F8881C858D04082508630D0F593 -:10EAB0008091E8119091E911A091EA11B091EB11C8 -:10EAC000C816D906EA06FB0668F58C199D09AE0939 -:10EAD000BF09BC01CD01660F771F881F991FC8575A -:10EAE000DF4FA881C858D0400A2F10E020E030E066 -:10EAF000A90198010F949C34CA01B9010F944B2EBF -:10EB00000F94A9376C0D7D1D8E1D9F1D0F944B2EEC -:10EB10009B01AC0160E074E284E799E40F9436361F -:10EB20004B015C01A5019401C301B2010F94AC2E0D -:10EB30009B01AC010F94AC2EC457DF4F68837983DF -:10EB40008A839B83CC58D04084E5829D8001839D3D -:10EB5000100D11240553144FC457DF4F28813981FC -:10EB60004A815B81CC58D040D80111962D933D93BA -:10EB70004D935C93149795962D913D914D915C9199 -:10EB80009897C458DF4F288339834A835B83CC57D7 -:10EB9000D040CA01B9010F944B2EC058DF4F688393 -:10EBA00079838A839B83C058D0409B01AC01C50107 -:10EBB000B4010F94AC2E0F941A360F94AF36C05791 -:10EBC000DF4F688379838A839B83C059D040F801E3 -:10EBD000EE5BFF4F60837183828393838E010F5CB2 -:10EBE0001F4FFE01B196CC57DF4FF983E883C4581D -:10EBF000D0402CEF31E1CA56DF4F39832883C65904 -:10EC0000D040A801405F5F4FC756DF4F598348830C -:10EC1000C959D040CC56DF4FF983E883C459D0405E -:10EC2000A4961FAEA497A8961FAEA89750E8E096AA -:10EC30005FAFE0978FE3E1968FAFE197D8012D9119 -:10EC40003D914D915D918D01C501B4010F94AC2EA4 -:10EC50006B017C01CC56DF4FE881F981C459D0406B -:10EC60006193719381939193CC56DF4FF983E8833D -:10EC7000C459D04020E030E0A9010F949C3787FFB1 -:10EC800004C0F7FAF094F7F8F094CA56DF4FA88161 -:10EC9000B981C659D0404D905D906D907D90CA5617 -:10ECA000DF4FB983A883C659D040A7019601C3019D -:10ECB000B2010F94462E87FF24C0A7019601C3011D -:10ECC000B2010F9436367B016C01A4962FADA49748 -:10ECD000A8963FADA897E0964FADE097E1965FAD5F -:10ECE000E1970F94462E87FF0CC0A496EFAEA49731 -:10ECF000A896FFAEA897E096CFAEE097E196DFAE7C -:10ED0000E197C756DF4FE881F981C959D040E01734 -:10ED1000F10709F093CF20E030E040E85FE3A496EC -:10ED20006FADA497A8967FADA897E0968FADE097BA -:10ED3000E1969FADE1970F94462E87FF84C08E0128 -:10ED40000F5C1F4FA4962FADA497A8963FADA89730 -:10ED5000E0964FADE097E1965FADE197CC57DF4F7E -:10ED6000A881B981C458D0406D917D918D919C91BD -:10ED70000F94AC2ECC57DF4FE881F981C458D040B6 -:10ED80006193719381939193CC57DF4FF983E8831B -:10ED9000C458D0400E171F07A9F624E5229DC001D4 -:10EDA000239D900D11249C012553344F7901890135 -:10EDB0000E5B1F4FC057DF4F688179818A819B812D -:10EDC000C059D0400F944B2EA4962FADA497A8966F -:10EDD0003FADA897E0964FADE097E1965FADE19724 -:10EDE0000F94AC2E0F94AF36D8016D937D938D9315 -:10EDF0009C931397A4962FADA497A8963FADA89780 -:10EE0000E0964FADE097E1965FADE197A4966FADC8 -:10EE1000A497A8967FADA897E0968FADE097E1966E -:10EE20009FADE1970F94AC2EC457DF4F28813981F5 -:10EE30004A815B81CC58D0400F94AC2EF70161839E -:10EE4000728383839483C058DF4F288139814A813C -:10EE50005B81C058D040EC966CAD7DAD8EAD9FAD62 -:10EE6000EC970F94AC2EA7966CAF7DAF8EAF9FAF93 -:10EE7000A79784E5829D8001839D100D1124055381 -:10EE8000144FD80155968D909D90AD90BC90589799 -:10EE900081149104A104B10469F559968D919D9155 -:10EEA0000D90BC91A02D892B8A2B8B2B19F5F80185 -:10EEB000858D968DA78DB0A1892B8A2B8B2BD1F4B4 -:10EEC0002091101230911112409112125091131290 -:10EED000A7966CAD7DAD8EAD9FADA7970F94AC2E70 -:10EEE0000F941A360F94AF362B013C01D801D796F8 -:10EEF0001C9247C3AF962CAD3DAD4EAD5FADAF9705 -:10EF0000232B242B252B49F020910C1230910D122C -:10EF100040910E1250910F1208C02091141230919E -:10EF200015124091161250911712A7966CAD7DAD37 -:10EF30008EAD9FADA7970F94AC2E0F941A360F94F9 -:10EF4000AF362B013C01AF968CAD9DADAEADBFADE4 -:10EF5000AF97892B8A2B8B2BF9F0E091CE1294E09E -:10EF6000E99FF0011124EE56FE4E20E030E0A901A9 -:10EF700060817181828193810F94462E882361F094 -:10EF800081E0E8962CAD3DAD4EAD5FADE897121631 -:10EF90001306140615060CF080E094E5929D80019E -:10EFA000939D100D11240553144FD801D7968C93BF -:10EFB000882309F4D0C02091FC1B3091FD1B4091A7 -:10EFC000FE1B5091FF1B65966CAD7DAD8EAD9FAD68 -:10EFD00065970F943B35AB966CAF7DAF8EAF9FAF0F -:10EFE000AB972091001C3091011C4091021C509164 -:10EFF000031C69966CAD7DAD8EAD9FAD69970F9486 -:10F000003B35E8966CAF7DAF8EAF9FAFE897209110 -:10F01000041C3091051C4091061C5091071C6D96F4 -:10F020006CAD7DAD8EAD9FAD6D970F943B356B0193 -:10F030007C01AB962CAD3DAD4EAD5FADAB97CA013B -:10F04000B9010F94AC2EAB966CAF7DAF8EAF9FAF76 -:10F05000AB97E8962CAD3DAD4EAD5FADE897CA01DC -:10F06000B9010F94AC2E9B01AC01AB966CAD7DAD9C -:10F070008EAD9FADAB970F943C35AB966CAF7DAF2B -:10F080008EAF9FAFAB97A7019601C701B6010F9452 -:10F09000AC2E9B01AC01AB966CAD7DAD8EAD9FAD42 -:10F0A000AB970F943C350F94EA376B017C012091AC -:10F0B000081C3091091C40910A1C50910B1CA19610 -:10F0C0006CAD7DAD8EAD9FADA1970F943B35A70183 -:10F0D00096010F9436366B017C01F801FE96608331 -:10F0E00071838283938320E030E040E450E40F9406 -:10F0F0009C3718161CF4F80117AA2DC0E091CE1207 -:10F1000024E0E29FF0011124EE56FE4E2081318171 -:10F1100042815381C701B6010F94AC2E9B01AC0113 -:10F1200060918E1170918F11809190119091911139 -:10F130000F943636A7962CAD3DAD4EAD5FADA7977B -:10F140000F94AC2E0F94AF366415750586059705A0 -:10F1500010F42B013C0180918A1190918B11A091A8 -:10F160008C11B0918D11C458DF4F288139814A81AB -:10F170005B81CC57D04082179307A407B50708F4EA -:10F18000DCC081149104A104B10411F160917A11E1 -:10F1900070917B1180917C1190917D1164157505A2 -:10F1A00086059705A8F40F948C346B017C01A501AA -:10F1B0009401C301B2010F948C34C616D706E80639 -:10F1C000F90630F4C701B6010F949C3429013A01C5 -:10F1D00084E5829DF001839DF00D1124E553F44FE9 -:10F1E000C18CD28CE38CF48CC114D104E104F10401 -:10F1F00051F160917E1170917F11809180119091F9 -:10F2000081116415750586059705E8F4C458DF4F2C -:10F21000288139814A815B81CC57D0400F948C344E -:10F220004B015C01A7019601C301B2010F948C341C -:10F2300086169706A806B90630F4C501B4010F94E6 -:10F240009C3429013A0184E5829DF001839DF00DF3 -:10F250001124E553F44FC58CD68CE78CF0A0C11473 -:10F26000D104E104F10451F1609182117091831194 -:10F270008091841190918511641575058605970517 -:10F28000E8F4C458DF4F288139814A815B81CC572B -:10F29000D0400F948C344B015C01A7019601C3014F -:10F2A000B2010F948C3486169706A806B90630F47E -:10F2B000C501B4010F949C3429013A0184E5829D73 -:10F2C000F001839DF00D1124E553F44FC1A0D2A0AD -:10F2D000E3A0F4A0C114D104E104F10409F451C184 -:10F2E0006091861170918711809188119091891198 -:10F2F000641575058605970508F043C1C458DF4FAE -:10F30000288139814A815B81CC57D0400F948C345D -:10F310004B015C01A7019601C301B2010F948C342B -:10F3200086169706A806B90608F02BC1C501B401D8 -:10F330000F949C3429013A0124C181149104A10441 -:10F34000B104D9F160917A1170917B1180917C1197 -:10F3500090917D11641575058605970570F50F94DC -:10F360004B2EC058DF4F288139814A815B81C058BC -:10F37000D0400F94AC2E6B017C01C501B4010F94F9 -:10F380004B2E4B015C01C301B2010F944B2EA50122 -:10F3900094010F94AC2E9B01AC01C701B6010F94F0 -:10F3A000462E87FF0AC0A5019401C701B6010F943C -:10F3B00036360F94AF362B013C0184E5829DF00177 -:10F3C000839DF00D1124E553F44F818C928CA38C16 -:10F3D000B48C81149104A104B104D9F160917E111F -:10F3E00070917F1180918011909181116415750544 -:10F3F0008605970570F50F944B2EC058DF4F288176 -:10F4000039814A815B81C058D0400F94AC2E6B018A -:10F410007C01C501B4010F944B2E4B015C01C3016B -:10F42000B2010F944B2EA50194010F94AC2E9B01B9 -:10F43000AC01C701B6010F94462E87FF0AC0A50193 -:10F440009401C701B6010F9436360F94AF362B01E5 -:10F450003C0184E5829DF001839DF00D1124E5536C -:10F46000F44F858C968CA78CB0A081149104A104D4 -:10F47000B104D9F16091821170918311809184114E -:10F4800090918511641575058605970570F50F94A3 -:10F490004B2EC058DF4F288139814A815B81C0588B -:10F4A000D0400F94AC2E6B017C01C501B4010F94C8 -:10F4B0004B2E4B015C01C301B2010F944B2EA501F1 -:10F4C00094010F94AC2E9B01AC01C701B6010F94BF -:10F4D000462E87FF0AC0A5019401C701B6010F940B -:10F4E00036360F94AF362B013C0184E5829DF00146 -:10F4F000839DF00D1124E553F44F81A092A0A3A0A9 -:10F50000B4A081149104A104B104D9F160918611D1 -:10F5100070918711809188119091891164157505FA -:10F520008605970570F50F944B2EC058DF4F288144 -:10F5300039814A815B81C058D0400F94AC2E6B0159 -:10F540007C01C501B4010F944B2E4B015C01C3013A -:10F55000B2010F944B2EA50194010F94AC2E9B0188 -:10F56000AC01C701B6010F94462E87FF0AC0A50162 -:10F570009401C701B6010F9436360F94AF362B01B4 -:10F580003C0184E5829D8001839D100D112405536B -:10F59000144FF801E25BFF4F408251826282738216 -:10F5A000C301B2010F944B2E6B017C01A7962CADC9 -:10F5B0003DAD4EAD5FADA7970F943636E4966CAF78 -:10F5C0007DAF8EAF9FAFE497D80151966D937D9339 -:10F5D0008D939C9354972DEB37E346E051E4C7019C -:10F5E000B6010F94AC2E0F94AF36F80162AB73AB3B -:10F5F00084AB95AB87A98823A9F1E091CE1224E0D2 -:10F60000E29FF0011124EE56FE4ED801DE962D91B8 -:10F610003D914D915C9160817181828193810F94C4 -:10F62000AC2EE4962CAD3DAD4EAD5FADE4970F949E -:10F63000AC2E2091F8113091F9114091FA115091AE -:10F64000FB110F94AC2E9B01AC0160E074E284EFDF -:10F6500099E40F9436360F94AF36D801D9967C933F -:10F660006E93D89729A93AA94BA95CA9EC966CADE1 -:10F670007DAD8EAD9FADEC970F94AC2EAF966CAF79 -:10F680007DAF8EAF9FAFAF97698B7A8B8B8B9C8B47 -:10F690002DA93EA94FA958ADEC966CAD7DAD8EADB0 -:10F6A0009FADEC970F94AC2E2B013C016D8B7E8BA4 -:10F6B0008F8B988F29AD3AAD4BAD5CADEC966CADB0 -:10F6C0007DAD8EAD9FADEC970F94AC2E4B015C01E0 -:10F6D000698F7A8F8B8F9C8F21962CAD3DAD4EAD6F -:10F6E0005FAD2197EC966CAD7DAD8EAD9FADEC9787 -:10F6F0000F94AC2EEC966CAF7DAF8EAF9FAFEC97B6 -:10F700006D8F7E8F8F8F98A3C857DF4FB881C858F1 -:10F71000D040BB2309F4DBC2E091E81BA496EFAF15 -:10F72000A497F091E91BA896FFAFA8972091EA1B38 -:10F73000E5962FAFE5973091EB1BE0963FAFE09752 -:10F740002DEB37E346E855E3BF01E5968FADE5972E -:10F75000E0969FADE0970F94462E87FDB8C280914A -:10F760009A1190919B11A0919C11B0919D11C45838 -:10F77000DF4F88839983AA83BB83CC57D0402091E5 -:10F780009E1130919F114091A0115091A111C0582C -:10F79000DF4F288339834A835B83C058D0408091F0 -:10F7A000A2119091A311A091A411B091A511CC57D1 -:10F7B000DF4F88839983AA83BB83C458D0402091AC -:10F7C000A6113091A7114091A8115091A911C857C5 -:10F7D000DF4F288339834A835B83C858D040C4589D -:10F7E000DF4F688179818A819B81CC57D0409058C6 -:10F7F000AF962CAD3DAD4EAD5FADAF970F94AC2E37 -:10F800006B017C01C058DF4F288139814A815B81BF -:10F81000C058D040C301B2010F94AC2E9B01AC0183 -:10F82000C701B6010F943B356B017C01CC57DF4F0C -:10F83000288139814A815B81C458D040C501B40117 -:10F840000F94AC2E9B01AC01C701B6010F943B3560 -:10F850006B017C01C857DF4F288139814A815B8168 -:10F86000C858D040EC966CAD7DAD8EAD9FADEC9799 -:10F870000F94AC2E9B01AC01C701B6010F943B3530 -:10F880006B017C012FEE3FEF4FE75FE30F949C3756 -:10F8900018160CF4BEC12FEE3FEF4FE75FEBC70128 -:10F8A000B6010F94462E87FF08C03FEEC32EDD241D -:10F8B000DA943FE7E32E3FEBF32EC458DF4F288165 -:10F8C00039814A815B81CC57D040AF966CAD7DAD1C -:10F8D0008EAD9FADAF970F943B3569837A838B8351 -:10F8E0009C83C058DF4F288139814A815B81C05891 -:10F8F000D040C301B2010F943B356D837E838F836B -:10F900009887CC57DF4F288139814A815B81C45861 -:10F91000D040C501B4010F943B3569877A878B8746 -:10F920009C87C857DF4F288139814A815B81C8583D -:10F93000D040EC966CAD7DAD8EAD9FADEC970F9445 -:10F940003B356D877E878F87988BAE014F5F5F4F0A -:10F95000AD965FAF4EAFAD97CE014196A3969FAFE8 -:10F960008EAFA3978A01812C912C5401D8014D9020 -:10F970005D906D907D908D0120E030E0A901C30184 -:10F98000B2010F94462E882371F0A3019201C301A6 -:10F99000B2010F94AC2E9B01AC01C501B4010F94D0 -:10F9A0003C354B015C01A396EEADFFADA397E0178C -:10F9B000F107E1F6C501B4010F94EA379B01AC01F0 -:10F9C00060E070E080E89FE30F9436364B015C0105 -:10F9D000AD960EAD1FADAD97A5019401D8016D9107 -:10F9E0007D918D919C910F94AC2EF8016193719350 -:10F9F000819391938F01A3962EAD3FADA3972E17C0 -:10FA00003F0751F708ED11E1E1965FACE197E2960F -:10FA10006FACE297E3967FACE397E4964FACE49744 -:10FA2000AD96AEADBFADAD978D909D90AD90BD90B4 -:10FA3000AD96BFAFAEAFAD9720E030E0A901C501F4 -:10FA4000B4010F94462E882331F1F8016081718151 -:10FA5000828193810F944B2EA50194010F94363629 -:10FA60004B015C0120E030E0A9010F949C3787FF37 -:10FA700004C0B7FAB094B7F8B094252D362D472DB1 -:10FA8000542DC501B4010F94462E87FF04C0582C95 -:10FA9000692C7A2C4B2C0C5F1F4FA3962EAD3FADDB -:10FAA000A397AD964EAD5FADAD972417350709F01E -:10FAB000B7CFA701960160E070E080E89FE30F9464 -:10FAC0003B3520E030E040E05FE30F94AC2E0F9434 -:10FAD000EA374B015C01209176113091771140910A -:10FAE000781150917911652D762D872D942D0F94D5 -:10FAF000AC2EA50194010F94AC2EAF966CAF7DAFE8 -:10FB00008EAF9FAFAF97A501940160E070E080E8F1 -:10FB10009FE30F943B359B01AC01AF966CAD7DAD7F -:10FB20008EAD9FADAF970F943636AC966FAFAC9756 -:10FB3000E9967FAFE9978C0184E5829DF001839D72 -:10FB4000F00D1124E553F44F85849684A784B08882 -:10FB500020E030E040E85FE3C501B4010F94462E99 -:10FB600087FF61C0A7019601C701B6010F94AC2EB3 -:10FB700023EC38EB42E35FEB0F94AC2E23EF36E639 -:10FB80004FE55FE30F943B35A70196010F94AC2E30 -:10FB90002BED3FE049EC5FE30F943C352CEE31E573 -:10FBA00048E35EE30F943B356B017C0124EE3BECB4 -:10FBB00046E150E40F949C371816ACF5A701960166 -:10FBC0006BED7FE089E490E40F943B359B01AC0141 -:10FBD000C501B4010F943636252D362D472D542DF1 -:10FBE0000F94AC2E6B017C019B01AC01AC966FAD08 -:10FBF000AC97E9967FADE997C8010F949C3718162A -:10FC000094F4AC96CFAEAC97E996DFAEE997870156 -:10FC10000AC05BE0AC965FAFAC9787EDE9968FAF1B -:10FC2000E99703E21BE384E5829DF001839DF00DDB -:10FC30001124E553F44FC180D280E380F480960113 -:10FC4000A701A4966FADA497A8967FADA897E59657 -:10FC50008FADE597E0969FADE0970F949C3718160F -:10FC600064F4A496CFAEA497A896DFAEA897E596C5 -:10FC7000EFAEE597E096FFAEE097AC962FADAC9770 -:10FC8000E9963FADE997A801A4966FADA497A89611 -:10FC90007FADA897E5968FADE597E0969FADE0978D -:10FCA0000F949C371816FCF4AC969FADAC97A496B5 -:10FCB0009FAFA497E996AFADE997A896AFAFA89785 -:10FCC000E5960FAFE597E0961FAFE0970CC0A496BE -:10FCD0001FAEA497A8961FAEA897E5961FAEE5970E -:10FCE000E0961FAEE09780E1FE017196AAE9B1E1CE -:10FCF00001900D928A95E1F784E5829D8001839DB4 -:10FD0000100D11240553144FA4968FADA497A896F7 -:10FD10009FADA897E596AFADE597E096BFADE097AC -:10FD2000F80181879287A387B487E4966CAD7DAD97 -:10FD30008EAD9FADE49790589B01AC010F943C357C -:10FD4000D8011D962D913D914D915C9150970F9446 -:10FD5000AC2E9B01AC016BE077ED83E29BE30F944B -:10FD60003B352BE0C22E27EDD22E23E2E22E2BE3F1 -:10FD7000F22EF801C582D682E782F086B080C1807B -:10FD8000D280E380F480A70196010F949C3787FD11 -:10FD900002C083E001C081E08B2994E5929DF001CF -:10FDA000939DF00D1124E553F44F808380E1FE0113 -:10FDB000B196ACEEBBE101900D928A95E1F7C0924D -:10FDC000E81BD092E91BE092EA1BF092EB1B80E16A -:10FDD000FE01EF5BFF4FACE0BCE101900D928A9514 -:10FDE000E1F780E1FE01EF5AFF4FACEFBBE101907C -:10FDF0000D928A95E1F79091E61B8091E71B98138D -:10FE000003C084E68093E31BC856DF4F8881C8593E -:10FE1000D0408F5F8F708093E61B8091E61B90919E -:10FE2000E51B81508F70891709F4B6C0F090E61B6E -:10FE30008FEF8F0D8F70A4968FAFA497B090E51BB6 -:10FE40008091E61BB81609F476C0C12CD12CA4967B -:10FE5000FFADA497FB1509F46EC06F2E712C24E53D -:10FE6000269D8001279D100D11240553144FD801A4 -:10FE70008C9183FD3DC0AC960FAFAC97E9961FAF58 -:10FE8000E99701151105D1F11996BC91A896BFAF5C -:10FE9000A897F801F285E596FFAFE597D8011B9684 -:10FEA000BC91E096BFAFE097F801F485E196FFAF13 -:10FEB000E197D80115962D903D904D905C90189744 -:10FEC000A2019101A8966FADA897E5967FADE59741 -:10FED000E0968FADE0979F2F0F94462E8111F0C1D1 -:10FEE000C114D10459F0F601808180FDE9C106C03A -:10FEF000AC96CFAEAC97E996DFAEE997A4968FADFE -:10FF0000A49781508F70A4968FAFA4978091E51B22 -:10FF10008B1107C0AC96CFACAC97E996DFACE997F4 -:10FF200096CFA496FFADA497FB1529F081E08B0D29 -:10FF30008F70B82EEBCF2091E51BA4962FAFA4971E -:10FF4000C12CD12C8091E61BA4963FADA4978317BA -:10FF500019F1832E912C44E5489D8001499D100D97 -:10FF600011240553144FD8018C9183FD0AC0580108 -:10FF7000C114D10439F0C6010F94A615811102C035 -:10FF800035C25601A4968FADA4978F5F8F70A4964B -:10FF90008FAFA4976501D6CF4091E71BA4964FAFD2 -:10FFA000A4975091E61BA8965FAFA89724E5A49666 -:10FFB0008FADA497A8969FADA897891779F0892F40 -:10FFC00081508F70289FF0011124E553F44F9081E8 -:10FFD00093FF04C0A8968FAFA897E9CF812C912CEE -:10FFE000A12CB12CE5961FAEE597E0961FAEE097E9 -:10FFF000E1961FAEE197AC961FAEAC97212C312C49 -:020000021000EC -:1000000000E010E0A896AFADA897A496BFADA49766 -:10001000AB1709F4D4C0E4E5EB9FC00111249C01A7 -:100020002553344F1901D9018C9183FD19C01596C0 -:100030006D917D918D919C9118970F94EA37F62ED2 -:10004000E72ED82EC92E0115110509F49EC0F8011E -:10005000808180FD12C0D1018C9180FD0EC095C0C1 -:10006000E596FFACE597E096EFACE097E196DFAC64 -:10007000E197AC96CFACAC978DC0F80180818160E0 -:100080008083C8010F94A61581117BC0F80161819E -:100090007281838194810F94EA372B013C019B018B -:1000A000AC0160E070E080E89FE30F9436364B01CE -:1000B0005C019B01AC016F2D7E2D8D2D9C2D0F942D -:1000C000AC2E69837A838B839C83E5962FADE5976D -:1000D000E0963FADE097E1964FADE197AC965FAD0E -:1000E000AC97C501B4010F94AC2E698B7A8B8B8BC6 -:1000F0009C8BAE014F5F5F4FBE016F5E7F4FC801AB -:100100000E942EFDD801D7968C918823D1F1E091E1 -:10011000CE12B4E0EB9FF0011124EE56FE4ED80152 -:10012000DE962D913D914D915C916081718182812E -:1001300093810F94AC2E2091F8113091F9114091D8 -:10014000FA115091FB110F94AC2E4B015C019B01F5 -:10015000AC01C301B2010F94AC2E0F94AF36F8017D -:1001600073AF62AFA50194016F2D7E2D8D2D9C2D57 -:100170000F94AC2E0F94AF36D801DD967C936E931E -:10018000DC97F80180818E7F80838F2C9E2CAD2C94 -:10019000BC2C8101A4968FADA4978F5F8F70A4961D -:1001A0008FAFA497E596FFAEE597E096EFAEE097A8 -:1001B000E196DFAEE197AC96CFAEAC9723CF21149A -:1001C000310409F40CC1D1018C9181608C93C80178 -:1001D0000F94A61581116FC0F10161817281838135 -:1001E00094810F94EA376B017C019B01AC0160E0C4 -:1001F00070E080E89FE30F9436362B013C012DEC34 -:100200003CEC4CE45DE30F94AC2E69837A838B83E2 -:100210009C839401A501C301B2010F94AC2E698B9C -:100220007A8B8B8B9C8BAE014F5F5F4FBE016F5EF5 -:100230007F4FC1010E942EFDD101D7968C9188235A -:10024000D1F1E091CE12B4E0EB9FF0011124EE5613 -:10025000FE4ED101DE962D913D914D915C916081D4 -:100260007181828193810F94AC2E2091F81130918D -:10027000F9114091FA115091FB110F94AC2E4B01E2 -:100280005C019B01AC01C701B6010F94AC2E0F9429 -:10029000AF36F10173AF62AF2DEC3CEC4CE45DE3A3 -:1002A000C501B4010F94AC2E0F94AF36D101DD9689 -:1002B0007C936E93DC97F10180818E7F80838FC069 -:1002C00024E5269DF001279DF00D1124E553F44F00 -:1002D000808181FD4BC0C114D10441F0D601159637 -:1002E000CD90DD90ED90FC90189708C08BE0C82E63 -:1002F00087EDD82E83E2E82E8BE3F82EB4E5B69D89 -:10030000F001B79DF00D1124E553F44F81899289D6 -:10031000A389B489BC01CD0190589B01AC010F9415 -:100320003C35F80125853685478550890F94AC2EDC -:100330009B01AC01C701B6010F943B35E62E872E19 -:10034000982EA92E262F372F482F592FA8966FADFC -:10035000A897E5967FADE597E0968FADE097E1969B -:100360009FADE1970F94462E87FF0CC0A896EFAC87 -:10037000A897E5968FACE597E0969FACE097E1965D -:10038000AFACE1972E2D382D492D5A2DC201B10168 -:100390000F94462E882309F4B1CDF4E5F69DC001F3 -:1003A000F79D900D11249C012553344F6901D9010B -:1003B0008C9181608C93C8010F94A615882329F035 -:1003C000F60180818E7F808399CD8E2D982DA92D69 -:1003D000BA2DF60185839683A783B0878FCD809150 -:1003E0006F00826080936F0081E082C0D6018C91A3 -:1003F00081FD58C0D60115962D913D914D915C918E -:100400001897AB962CAF3DAF4EAF5FAFAB971501D2 -:10041000B5E02B0E311CF801458056806780708452 -:10042000A3019201AB966CAD7DAD8EAD9FADAB9748 -:100430000F94462E87FF36C0F60181899289A389E1 -:10044000B489BC01CD0190589B01AC010F943C359F -:10045000D6011D962D913D914D915C9150970F9431 -:10046000AC2E9B01AC01AB966CAD7DAD8EAD9FAD5E -:10047000AB970F943B356B017C019B01AC01C30131 -:10048000B2010F949C3718166CF4D8018C918160DE -:100490008C93C5010F94A6158823F1F0F801808193 -:1004A0008E7F808324E5289DF001299DF00D112485 -:1004B000E553F44F218532854385548565817681E6 -:1004C000878190850F94462E81115CCDA4963FAD17 -:1004D000A4973093E51B56CDD101CD92DD92ED92DC -:1004E000FC921397A496BFADA497B093E51BDACF07 -:1004F000C656DF4F0FB6F894DEBF0FBECDBFDF91FB -:10050000CF911F910F91FF90EF90DF90CF90BF9010 -:10051000AF909F908F907F906F905F904F903F90A3 -:100520002F9008950F931F93CF93DF930CEE11E15B -:10053000CBE0D1E1F80121913191419151918F01AD -:1005400060E070E080E89FE30F943636699379931A -:1005500089939993F1E1CB31DF0761F70E94B9AD3F -:10056000DF91CF911F910F910C940EF9809127127A -:1005700083FD0FC08091261281110BC02091870945 -:1005800030918809809157029091580228173907B5 -:100590002CF061E08091CE120C94F5A00F94461BD4 -:1005A00082E59DE10F945D1A80E00895CF92DF927D -:1005B000EF92FF92C0905D02D0905E02E0905F02E9 -:1005C000F0906002FC0180819181A281B3818093CF -:1005D0005D0290935E02A0935F02B09360020E945E -:1005E0005FDDC0925D02D0925E02E0925F02F09207 -:1005F0006002FF90EF90DF90CF9008952F923F928E -:100600004F925F926F927F928F929F92AF92BF9222 -:10061000CF92DF92EF92FF920F931F93CF93DF93CE -:10062000CDB7DEB76F970FB6F894DEBF0FBECDBF64 -:100630009C8F8B8F7E8F6D8F212C312C2FEF2887F5 -:100640003FEF3F834FEF488B5FE4598B83EC8A8BFE -:1006500097E49B8B21E030E040E050E0022C04C0A6 -:10066000220F331F441F551F0A94D2F72F8B388F48 -:10067000498F5A8F4AE658E15B874A8700E010E0CD -:100680002F8EAA85BB858D919D91BB87AA87A0E0FF -:10069000B0E02F89388D498D5A8D82239323A4236E -:1006A000B523892B8A2B8B2B09F0ECC08091AF19D5 -:1006B0009091B019289EB001299E700D389E700D42 -:1006C00011248091531A9091541A680F791F072EA4 -:1006D000000C880B990B0F944D2E6C877D878E87AD -:1006E0009F878091B1199091B219089FB001099F1D -:1006F000700D189F700D11248091551A9091561A03 -:10070000680F791F072E000C880B990B0F944D2E44 -:100710006B017C012C853D854E855F85AB8DBC8D45 -:100720006D917D918D919C910F943B352B013C01F6 -:10073000A7019601ED8DFE8D60817181828193818B -:100740000F943B354B015C01A3019201C301B2013F -:100750000F94AC2E2B013C01A5019401C501B401FD -:100760000F94AC2E9B01AC01C301B2010F943C3538 -:100770000F94EA374B015C012C853D854E855F85E2 -:1007800060918E1870918F188091901890919118A7 -:100790000F943B352B013C01A701960160918A180B -:1007A00070918B1880918C1890918D180F943B3517 -:1007B0006B017C01A3019201C301B2010F94AC2E25 -:1007C0002B013C01A7019601C701B6010F94AC2E85 -:1007D0009B01AC01C301B2010F943C350F94EA3781 -:1007E00020E030E040E751E40F943636A501940153 -:1007F0000F943C356B017C01809092189090931877 -:10080000A0909418B090951820E030E040E85FE3A5 -:10081000C501B4010F949C371816FCF4C501B4014E -:100820000F94A8364B015C01161617061806190618 -:100830003CF40F948929A50194010F94BE3403C0A0 -:1008400060E070E0CB010F944D2E9B01AC01B6012E -:10085000C7010F943C356B017C01288939894A898D -:100860005B89B601C7010F94462E87FF0BC0FF8D31 -:10087000F8870F83C986DC8AED8AFE8AC88AD98AFE -:10088000EA8AFB8A0F5F1F4F0530110509F0F9CE88 -:100890002FEF221A320A35E02316310409F0DACE9E -:1008A0004F81E42FF0E0EE0FFF1FE659F74E81E095 -:1008B00090E0088402C0880F991F0A94E2F7208113 -:1008C0003181822B932B9183808389859C89AD898B -:1008D000BE898B839C83AD83BE83482F5C816D81F1 -:1008E0007E8128853F8180E090E06F960FB6F89476 -:1008F000DEBF0FBECDBFDF91CF911F910F91FF9053 -:10090000EF90DF90CF90BF90AF909F908F907F90AF -:100910006F905F904F903F902F9008958C38910585 -:100920001CF02CE880E002C0282F892F20939E091C -:1009300080939F090C9493A880E1EFECF2E1ABE582 -:10094000B2E101900D928A95E1F7089580913D1EE4 -:1009500090913E1E009731F04AE050E060E070E078 -:100960000D943C2B60E070E0CB0108950E94A684BA -:1009700097FD0CC00E94A6846F3F7105810591050B -:1009800009F034F40E94A684862F089580E008952B -:100990008FEF089580913D1E90913E1E892B39F076 -:1009A0000E94B68491E0811103C090E001C091E003 -:1009B000892F08950E94A684CB0108950F931F9359 -:1009C000CF9380913D1E90913E1E009711F1FC0146 -:1009D0008F01C1912C2F2F7DA9F0C53411F0C536A0 -:1009E000B9F7F801108260E070E080913D1E9091AF -:1009F0003E1E0F94E029F801C083562F472F382F51 -:100A0000292F0BC060E070E0CF911F910F910D94E2 -:100A1000E02950E040E030E020E0652F742F832F84 -:100A2000922FCF911F910F91089581548A3108F030 -:100A300042C0E82FF0E04091FA185091FB18609105 -:100A4000FC187091FD1804C07695679557954795E9 -:100A50008A95D2F7842F817040FF2FC0E052F74E65 -:100A60009081992309F1E091CC12F091CD12E90F18 -:100A7000F11D908120ED290F2A3098F09E3211F45B -:100A800091810CC09D3211F09B3271F4918120ED67 -:100A9000290F2A3030F09E3239F4928190539A30E7 -:100AA00018F42E2F9F2F02C020E090E020933D1ECF -:100AB00090933E1E089580E0089508950E94158544 -:100AC000882341F081E020913D1E30913E1E232B72 -:100AD00009F480E00895CF93DF93C82FD62F0E94AA -:100AE0005E85882321F0DF91CF910C94CA848C2FEE -:100AF0000E941585811101C08D2FDF91CF9108953E -:100B0000AF92BF92CF92DF92EF920F931F93CF934A -:100B1000DF936C018B0110927D090E943A51E090A5 -:100B2000CE12CFECD2E184E0E89EF0011124E15D29 -:100B3000FD4F2081318142815381F60160817181B5 -:100B4000828193810F9436362C853D854E855F8555 -:100B50000F943C356C877D878E879F87A12CB12CA5 -:100B600065012BED32E147ED52E163ED72E1CE011B -:100B70000E9443FCDF91CF911F910F91EF90DF9086 -:100B8000CF90BF90AF900C9485F90F931F93CF93A4 -:100B90008C01C62F81E99BE10F945D1AC8010F9467 -:100BA0005D1ACC2331F08AE0CF911F910F910C9404 -:100BB000AB53CF911F910F91089560E086EA9BE1BE -:100BC0000E94C58582EA9BE10F945D1A8AE00C942D -:100BD000AB5360E086EA9BE10E94C5858EEA9BE10B -:100BE0000F945D1A8AE00C94AB53EF92FF920F932F -:100BF0001F93CF937C018B01C42F60E086EA9BE1B9 -:100C00000E94C585C7010F945D1A80E20E94AB5314 -:100C1000C8010F945D1ACC2341F08AE0CF911F9157 -:100C20000F91FF90EF900C94AB53CF911F910F91C8 -:100C3000FF90EF90089541E0BC018BE99BE10C949B -:100C4000F585CF93DF93C091AC111092AC11C230F7 -:100C5000B9F118F4C13041F041C0C430B1F1C53030 -:100C6000E9F5C9EDDBE13FC081111DC00E94DD85C2 -:100C700041E064E47CE18BE69DE10E94F58589E337 -:100C80009CE10E941B8680917D09882319F08BE2EC -:100C90009CE104C0C093AC1182E29CE10E941B86DF -:100CA0000E94E9851EC08130E1F480917D0988238E -:100CB000C1F01092150210927D090E943A5111C0A4 -:100CC0001092271AC5EFDBE10EC08EE19CE19093F4 -:100CD000D3098093D209C4EEDBE105C0CBECDBE1A4 -:100CE00002C0CEE0DCE183EB9BE10F945D1ACE0104 -:100CF0000F945D1A8AE0DF91CF910C94AB530F9360 -:100D00001F93CF93DF938B01EA018093AC110E9474 -:100D1000DD8541E0B8018BE69DE10E94F5852097D5 -:100D200019F0CE010E941B86DF91CF911F910F9188 -:100D30000C94E9850F931F93CF93DF93C82F0F94E3 -:100D4000461BC11103C089E69CE102C08BE89CE10F -:100D50000F945D1A0F944E1EDC01CB018853904511 -:100D6000AF4FBF4F8093CE119093CF11A093D0116E -:100D7000B093D1111092D2111091DF1883E08093BB -:100D8000DF1881E08093271A4BE35DE164E47DE1A5 -:100D900082E00E947F868DE29DE10E94EDD3CC230C -:100DA00019F0CBE8DCE102C0C9E6DCE101E08091AA -:100DB000271A882309F455C08091D211882309F499 -:100DC0004CC00F94461B86E09DE10F945D1A41EFE5 -:100DD0005CE168EF7CE182E00E947F8683EE9CE12B -:100DE0000E94EDD38091271A882321F081E00E9490 -:100DF000D754F8CF40E050E069ED7CE182E00E94FA -:100E00007F868CEC9CE10E94A8D30E942BF80E9464 -:100E1000B6820F94461BCE010F945D1A0F944E1E9E -:100E2000DC01CB0188539045AF4FBF4F8093CE116B -:100E30009093CF11A093D011B093D1111092D211F1 -:100E400047EB5CE160EC7CE182E00E947F8683E915 -:100E500096E00E94EDD30093271A81E00E94D754B8 -:100E6000A6CF1093DF18DF91CF911F910F910895B6 -:100E70009091AC11911102C00C947F8608958F92CD -:100E80009F92AF92BF92CF92DF92EF92FF921F9309 -:100E9000CF93DF9300D01F92CDB7DEB75C016B011B -:100EA0007A011091D2110E942BF8111116C0809175 -:100EB0002612811112C0609183097091840980917A -:100EC0008509909186090F94A83620915702309198 -:100ED0005802621773070CF4C5C00E94B6828823BB -:100EE00009F4C0C01123B9F10F94461B80EC9DE1B9 -:100EF0000F945D1A9090DF1883E08093DF1881E0F3 -:100F00008093271A1091CE12105D82E08093AC116D -:100F10000E94DD8540E060EB7DE18BE69DE10E9473 -:100F2000F585812F0E94AB538AE00E94AB5387EA7C -:100F30009DE10E941B860E94E98589E99DE10E944E -:100F4000EDD38091271A882321F081E00E94D754A5 -:100F5000F8CF9092DF1820E030E0A901F501608120 -:100F60007181828193810F94462E882371F080E0F5 -:100F700090E0A0ECB0E489839A83AB83BC83BE018C -:100F80006F5F7F4FC5010E94808520E030E0A9019E -:100F9000F60160817181828193810F94462E8823AE -:100FA00051F18090101290901112A0901212B090F6 -:100FB000131280E090E0A8ECB1E4809310129093BB -:100FC0001112A0931212B093131280E090E0A0EFE0 -:100FD000B1E489839A83AB83BC83BE016F5F7F4F8B -:100FE000C6010E9480858092101290921112A092E8 -:100FF0001212B092131220E030E0A901F7016081D3 -:101000007181828193810F949C37181674F480E06B -:1010100090E0A0E4B0E489839A83AB83BC83BE01F3 -:101020006F5F7F4FC7010E94808581E08093AC1184 -:101030000E94DD8541E062E97DE18BE69DE10E9451 -:10104000F58588E89DE10E941B8680917D098823B3 -:1010500019F08AE79DE102C081E79DE10E941B86AD -:101060000E94E98520E030E0A9016091B9117091FA -:10107000BA118091BB119091BC110F94462E87FF3D -:101080000FC080E090E0A0E7B2E489839A83AB834D -:10109000BC83BE016F5F7F4F89EB91E10E94808529 -:1010A00080E090E0A8E4B2E489839A83AB83BC83B8 -:1010B000AE014F5F5F4F61EB71E18DEA91E10E94FC -:1010C00055E180E090E0A0EAB0E489839A83AB83A5 -:1010D000BC83BE016F5F7F4F85EB91E10E9477E19A -:1010E0008091B9119091BA11A091BB11B091BC112E -:1010F0008093DB129093DC12A093DD12B093DE128A -:101100008093671290936812A0936912B0936A1249 -:1011100087E692E10E9496F961E083E69DE10E94F4 -:10112000C5858091580B81508093580B40E050E06A -:101130006CEE7DE185E00E9438878091580B882312 -:1011400039F00E940A5F8091580B81508093580BB0 -:1011500080E00E9413AE8091D11E823011F40F9472 -:101160006D1B0E94CBF70F900F900F900F90DF91A7 -:10117000CF911F91FF90EF90DF90CF90BF90AF90F5 -:101180009F908F9008958F929F92AF92BF92CF922F -:10119000DF92EF92FF921F93CF93DF93CDB7DEB72D -:1011A00028970FB6F894DEBF0FBECDBF2091580B25 -:1011B00021111BC17A015B016C0161E08BE49CE1B0 -:1011C0000E94C58540E050E063E67CE185E00E9436 -:1011D00038878091271283FD22C020E030E0A901EA -:1011E000F70160817181828193810F94462E88235B -:1011F000B1F010912612111112C0209157023091B6 -:1012000058028091870990918809821793073CF4CE -:101210000F94461B82E59CE10F945D1AE7C0809114 -:10122000580B91E0980F9093580B9091F41D92FFFA -:1012300006C09B7F9093F41D8E5F8093580B0E9495 -:1012400046F680E1EFECF2E1ADEAB1E101900D92FA -:101250008A95E1F70E9485F981E00E9413AE20E0B3 -:1012600030E0A901F60160817181828193810F9440 -:10127000462E882319F180912612811111C06091A8 -:1012800083097091840980918509909186090F9452 -:10129000A83620915702309158026217730774F0F4 -:1012A00080E090E0A0E7B2E489839A83AB83BC83BB -:1012B000BE016F5F7F4FC6010E9480850E944BAECA -:1012C000811104C0B50182E00E947FF620E030E089 -:1012D000A901F70160817181828193810F94462E6B -:1012E000811102C011E082C00E94B682182F8823AB -:1012F000C9F380E090E0A0E7B2E48D839E83AF83E2 -:10130000B88780E090E0A0E8B0EC89839A83AB8353 -:10131000BC83BE016B5F7F4FCE0101960E9480852A -:1013200068E873E180E090E00F942E1A8091081233 -:1013300090910912A0910A12B0910B128D839E8395 -:10134000AF83B88780E090E0A0E8B0E489839A8317 -:10135000AB83BC83BE016B5F7F4FCE0101960E94C1 -:1013600080858090101290901112A0901212B0906F -:10137000131280E090E0A8ECB1E4809310129093F7 -:101380001112A0931212B093131280E090E0A4E225 -:10139000B2E48D839E83AF83B887F701808191810A -:1013A000A281B38189839A83AB83BC83BE016B5FC7 -:1013B0007F4FCE0101960E948085809210129092FC -:1013C0001112A0921212B09213128091CE128823A1 -:1013D00021F0813019F4479A01C0129A64E670E056 -:1013E00080E090E00F942E1A01C010E0812F289623 -:1013F0000FB6F894DEBF0FBECDBFDF91CF911F9126 -:10140000FF90EF90DF90CF90BF90AF909F908F9024 -:101410000895CF93DF93EB01682F70E080EE9BE19E -:101420000E943352688179818A819B81643F21E0E7 -:1014300072078105910520F464EF71E080E090E08F -:101440000F942E1A89B183FB882780F9DF91CF9101 -:101450000895CF92DF92EF92FF921F93CF93DF9385 -:1014600000D01F92CDB7DEB78EEEC82E82E0D82E08 -:10147000E12CF12CC982DA82EB82FC82BE016F5F23 -:101480007F4F8AE50E94098A811102C010E023C0C3 -:1014900084EF91E0A0E0B0E089839A83AB83BC83C2 -:1014A000BE016F5F7F4F80EA0E94098AC982DA829B -:1014B000EB82FC82BE016F5F7F4F8AE50E94098A42 -:1014C000182F882319F30F94421B87E59BE10F9493 -:1014D0005D1A0F944A1B812F0F900F900F900F9061 -:1014E000DF91CF911F91FF90EF90DF90CF90089503 -:1014F000CF92DF92EF92FF92CF93DF9300D01F92B3 -:10150000CDB7DEB78EEEC82E82E0D82EE12CF12CBE -:10151000C982DA82EB82FC82BE016F5F7F4F8AE074 -:101520000E94098A811102C0F12C41C084EF91E030 -:10153000A0E0B0E089839A83AB83BC83BE016F5F78 -:101540007F4F80EA0E94098AC982DA82EB82FC829C -:10155000BE016F5F7F4F8AE50E94098AC982DA82E5 -:10156000EB82FC82BE016F5F7F4F8AE00E94098A96 -:10157000C982DA82EB82FC82BE016F5F7F4F8AE50F -:101580000E94098AC982DA82EB82FC82BE016F5F07 -:101590007F4F8AE00E94098AF82E882329F20F944F -:1015A000421B8DE19BE10F945D1A0F944A1B8F2D16 -:1015B0000F900F900F900F90DF91CF91FF90EF90D1 -:1015C000DF90CF9008958F929F92AF92BF92CF926B -:1015D000DF92EF92FF92CF93DF9300D01F92CDB7AF -:1015E000DEB7B82E84EF91E0A0E0B0E089839A8363 -:1015F000AB83BC83BE016F5F7F4F80EA0E94098A84 -:101600009EEEC92E92E0D92EE12CF12CC982DA820D -:10161000EB82FC82BE016F5F7F4F8AE50E94098AE0 -:101620008091521A81113CC0BB20D1F1C982DA826B -:10163000EB82FC82BE016F5F7F4F8AE00E94098AC5 -:1016400086E9882E912CA12CB12C89829A82AB82BA -:10165000BC82BE016F5F7F4F8CE80E94098A89823D -:101660009A82AB82BC82BE016F5F7F4F82E80E948C -:10167000098A89829A82AB82BC82BE016F5F7F4FEA -:101680008CE80E94098AC982DA82EB82FC82BE0160 -:101690006F5F7F4F8AE50E94098A81E08093521A2A -:1016A0000F900F900F900F90DF91CF91FF90EF90E0 -:1016B000DF90CF90BF90AF909F908F9008958F92C2 -:1016C0009F92AF92BF92EF92FF920F931F93CF938F -:1016D000DF9380E00F94D3171092B2191092B119D2 -:1016E0001092B0191092AF191092561A1092551A02 -:1016F0001092541A1092531A03EC19E1C0E0812C95 -:10170000912C80ECA82E8FE7B82EE12CF12CD0E0A4 -:10171000F801EE0DFF1D80829182A282B38220E04B -:1017200030E0A9016D2F8C2F0E94E9D2DF5F84E0A9 -:10173000E80EF11CD53061F7CF5F0C5E1F4FC5304E -:1017400021F7DF91CF911F910F91FF90EF90BF9004 -:10175000AF909F908F9008952F923F924F925F92FB -:101760006F927F928F929F92AF92BF92CF92DF92B1 -:10177000EF92FF920F931F93CF93DF93CDB7DEB716 -:10178000C154D1090FB6F894DEBF0FBECDBF2DB73F -:101790003EB73FA72EA70E944BAE81114FC461E018 -:1017A00086E50E9406B58D8B853018F08AE99FE1A9 -:1017B00079C03D89332321F08AE79FE10F945D1AB8 -:1017C0006AE080E50E9406B5182F8CEF810F8F32FA -:1017D00018F086E59FE166C060E085E40E946B85B5 -:1017E000811103C082E08FA302C091E09FA36091AA -:1017F000CF127091D0128091D1129091D2126D833C -:101800007E838F839887C090D312D090D412E090BB -:10181000D512F090D612C986DA86EB86FC86209126 -:101820007712309178124091791250917A120F9478 -:101830003C35AB01BC0188E50E9417D46D877E87DB -:101840008F87988B29853A854B855C8560917B12C3 -:1018500070917C1280917D1290917E120F943C3594 -:10186000AB01BC0189E50E9417D4698B7A8B8B8B05 -:101870009C8BBE016F5E7F4FCE010D960E94C2B35E -:10188000811103C08EE39FE10DC08CE40E94158599 -:10189000082F882381F00E94B6848E8B803128F037 -:1018A0008BE09FE10F945D1AC9C3AE89A13021F48A -:1018B000B2E0BE8B01C01E8A60E083E50E946B85AA -:1018C0008CAB882321F0011102C0E7E0EE8BFD898B -:1018D000F33020F081EF9EE10F945D1A2091E71222 -:1018E0002BAF80E00F94D3170E9475E0812F90E01A -:1018F0009EAB8DABADB7BEB7E4E01E9FA019B1099A -:1019000011240FB6F894BEBF0FBEADBF2DB73EB7C2 -:101910002F5F3F4F3DA72CA72D894FA1BE016F5EC2 -:101920007F4FCE010D960E94FAAE9B01AC010F9441 -:101930002E388111ECC20F944E1E61157105810580 -:10194000910511F00F94D72933EF3F8B8FE4888FE7 -:1019500093EC998F37EC232EA3EFAA8FBFE4BB8FB4 -:10196000E3ECEC8FF7E4FD8F1EA233243394412C7B -:10197000512C32014AA25BA26CA27DA22E89822F39 -:1019800090E0DC0111972296BFAFAEAF2297FEA187 -:10199000EF2FF0E0FF8FEE8F2DA93EA9E217F3079E -:1019A0000CF0CDC23E89332309F46EC10F9489290E -:1019B0002AE030E040E050E00F94BE340F944D2E0A -:1019C00020E030E040EA50E40F949C3718161CF0F9 -:1019D00001E010E002C00FEF1FEF0F94892928E605 -:1019E00031E040E050E00F94BE340F944D2E4B0197 -:1019F0005C010F94892921E230E040E050E00F942F -:101A0000BE346B5F7F4F8F4F9F4F0F944D2E68A753 -:101A100079A78AA79BA78D898430E1F448A559A5A9 -:101A20006AA57BA583EE9EE10F94111BB501A4016D -:101A30008BED9EE10F94111B85ED9EE10F945D1AD5 -:101A40000130110519F483E40E94AB5381ED9EE14E -:101A50000F945D1A312CC801110FAA0BBB0B8FAB71 -:101A600098AFA9AFBAAF832D90E02296AEADBFADCF -:101A700022978A179B070CF007C1BCA9BB2379F0FA -:101A80006FA978AD89AD9AAD0F944D2E9B01AC0135 -:101A90000F943C3520E030E040E952E41AC00F9446 -:101AA000892924E130E040E050E00F94BE34675EC5 -:101AB0007F4F8F4F9F4F0F944D2E6B017C016FA96D -:101AC00078AD89AD9AAD0F944D2E9B01AC01C70145 -:101AD000B6010F94AC2E9B01AC01C501B4010F946B -:101AE0003C354B015C0120E030E044EB53E40F94C3 -:101AF0009C3718164CF420E030E044EB53E4C50169 -:101B0000B4010F943B35EDCF20E030E0A901C501D1 -:101B1000B4010F94462E87FF0BC020E030E044EB69 -:101B200053E4C501B4010F943C354B015C01ECCF8B -:101B30002BED3FE049E450E4C501B4010F94AC2E15 -:101B400020E030E044E353E40F9436366B017C012F -:101B50000F94313668AB79AB8AAB9BAB209177128F -:101B6000309178124091791250917A126D857E856C -:101B70008F8598890F943B356CAF7DAF8EAF9FAF4B -:101B800028A939A94AA95BA968A579A58AA59BA511 -:101B90000F94AC2E9B01AC016CAD7DAD8EAD9FADB5 -:101BA0000F943C356D837E838F839887C701B60180 -:101BB0000F94DC3768AB79AB8AAB9BAB20917B127F -:101BC00030917C1240917D1250917E1269897A8900 -:101BD0008B899C890F943B356B017C0128A939A91D -:101BE0004AA95BA968A579A58AA59BA50F94AC2EE7 -:101BF0009B01AC01C701B6010F943C3569877A8718 -:101C00008B879C874BE351E060E070E0CE01059646 -:101C10000F94C81044E351E060E070E0CE010996F3 -:101C20000F94C810ED89E430F9F44D815E816F8125 -:101C3000788585EC9EE10F94111B49855A856B854B -:101C40007C8582EC9EE10F94111B4091D71250913C -:101C5000D8126091D9127091DA128FEB9EE10F9435 -:101C6000111B8AE00E94AB5319821A821B821C82CC -:101C7000AE014F5F5F4FBE01675F7F4FCE0105969C -:101C80000E9455E13394EFCE20E04FA1BE016F5E7C -:101C90007F4FCE010D960E94FAAED62EE72EF82E7B -:101CA000192FEE8DFF8DEE0FFF1FEE0FFF1F2CA5DE -:101CB0003DA5E20FF31F862F9E2DAF2DB12F808300 -:101CC0009183A283B383312C2D2D3E2D4F2D512F87 -:101CD0006D2D7E2D8F2D912F0F942E38811102C0E6 -:101CE000332433942D2D3E2D4F2D512F6D2D7E2DD0 -:101CF0008F2D912F0F942E38811121C100E0412C9E -:101D0000512C3201ECA5FDA534E0039FE00DF11D3F -:101D100011242081318142815381C301B2010F948A -:101D20003C352B013C010F5F8EA1801758F78E8C3C -:101D30009F8C9FEF891A990A092C000CAA08BB08EE -:101D4000C501B4010F944D2E6E8F7F8F88A399A388 -:101D50009B01AC01C301B2010F9436366AA37BA389 -:101D60008CA39DA32A8D3B8D4C8D5D8D6D2D7E2D7D -:101D70008F2D912F0F94462E87FF04C0DA8EEB8EA5 -:101D8000FC8E1D8F2F89388D498D522D6D2D7E2D06 -:101D90008F2D912F0F949C37181624F4DF8AE88E2C -:101DA000F98E212EC12C412C512C3201ECA5FDA520 -:101DB000A4E0CA9EE00DF11D11242AA13BA14CA173 -:101DC0005DA160817181828193810F943B359B017C -:101DD000AC010F94AC2E9B01AC01C301B2010F9476 -:101DE0003C352B013C01C394BEA1BC15F8F62E8DE9 -:101DF0003F8D48A159A10F9436360F94EA372B0135 -:101E00003C018D8982508E3708F07DC0C501B40138 -:101E10000E941F546DA97EA98AEB9EE10F94221B9C -:101E200094EAA92E96E0B92EF50181915F018823ED -:101E300019F00E94AB53F8CF43E06D2D7E2D8F2D0E -:101E4000912F0E943B54FD89F23009F459C00AEAEF -:101E500016E0D8018D918D01882319F00E94AB53B3 -:101E6000F8CF44E06AA17BA18CA19DA10E943B54C4 -:101E700002EB16E0F80181918F01882319F00E948E -:101E8000AB53F8CF46E0C301B2010E943B540BEBC9 -:101E900016E0D8018D918D01882319F00E94AB5373 -:101EA000F8CF43E06A8D7B8D8C8D9D8D0E943B54D5 -:101EB00002EC16E0F80181918F01882319F00E944D -:101EC000AB53F8CF43E06F89788D898D922D0E94B6 -:101ED0003B5409EC16E0D8018D918D01882319F04F -:101EE0000E94AB53F8CF2A8D3B8D4C8D5D8D6F8951 -:101EF000788D898D922D0F943B3543E00E943B54A1 -:101F00008AE00E94AB53BEA1BF5FBEA340CDE3EF0A -:101F1000EF8BFFE4F88F23EC298F87EC282E33EF2B -:101F20003A8F8FE48B8F93EC9C8FA7E4AD8F312C8D -:101F3000412C512C32014AA25BA26CA27DA280E00E -:101F40000E94776F332009F46AC08FEA9EE10F94F4 -:101F50005D1ABD89BB2309F44DC002ED16E0F801FE -:101F600081918F01882319F00E94AB53F8CF46E08E -:101F70006AA17BA18CA19DA10E943B5409ED16E0B2 -:101F8000D8018D918D01882319F00E94AB53F8CFB1 -:101F900043E06A8D7B8D8C8D9D8D0E943B5400EEBD -:101FA00016E0F80181918F01882319F00E94AB534C -:101FB000F8CF43E06F89788D898D922D0E943B5434 -:101FC00007EE16E0D8018D918D01882319F00E944B -:101FD000AB53F8CF2A8D3B8D4C8D5D8D6F89788DFD -:101FE000898D922D0F943B3543E00E943B548AE04B -:101FF0000E94AB5300EF16E0F80181918F01882316 -:1020000019F00E94AB53F8CF46E0C301B2010E9421 -:102010003B548AE00E94AB538AE00E94AB530E947B -:102020005CE08BAD0F94D3170E9422E22EA53FA552 -:102030000FB6F8943EBF0FBE2DBF07C08EA59FA55B -:102040000FB6F8949EBF0FBE8DBFAEA5BFA50FB64D -:10205000F894BEBF0FBEADBFCF5BDF4F0FB6F89495 -:10206000DEBF0FBECDBFDF91CF911F910F91FF90CB -:10207000EF90DF90CF90BF90AF909F908F907F9028 -:102080006F905F904F903F902F9008952F923F92C6 -:102090004F925F926F927F928F929F92AF92BF9278 -:1020A000CF92DF92EF92FF920F931F93CF93DF9324 -:1020B000CDB7DEB7E5970FB6F894DEBF0FBECDBF44 -:1020C0003090E71287E50E941585882309F4F9C04E -:1020D0008091AF199091B019892B29F40F94421B6C -:1020E0008DE99EE134C08AE50E945E85882379F0FF -:1020F0000E94DE8420917312309174124091751207 -:10210000509176120F943B356B017C0108C0C09052 -:10211000D712D090D812E090D912F090DA1220E0C5 -:1021200030E040E251ECC701B6010F949C3787FDC7 -:102130000AC020E030E040E251E4C701B6010F944C -:10214000462E18163CF40F94421B80E99EE10F9432 -:102150005D1ABFC040E050E060EC7FE788E50E9478 -:1021600017D420916B1230916C1240916D125091E6 -:102170006E120F943B352B013C0140E050E060ECC7 -:102180007FE789E50E9417D420916F123091701279 -:1021900040917112509172120F943B354B015C01CA -:1021A0006FEF89E40E9406B5182F6FEF8AE40E9452 -:1021B00006B5082FA3019201C301B2010F942E3876 -:1021C000811158C0A5019401C501B4010F942E38A6 -:1021D000811150C06091531A7091541A072E000C4F -:1021E000880B990B0F944D2E9B01AC01C301B201DA -:1021F0000F943B3520E030E0A9010F943C3520E0FE -:1022000030E0A9010F9436360F94A836162F60914E -:10221000551A7091561A072E000C880B990B0F94C3 -:102220004D2E9B01AC01C501B4010F943B3520E05C -:1022300030E0A9010F943C3520E030E0A9010F9473 -:1022400036360F94A836062F812F012E000C990BDD -:1022500097FD04C005971CF014E001C010E0802F2A -:10226000002E000C990B97FD04C005971CF004E0AC -:1022700001C000E0153068F5063058F580E00F9495 -:10228000D31725E01202F0011124E00FF11D07FD24 -:10229000FA95EE0FFF1FEE0FFF1FED53F64EC082B3 -:1022A000D182E282F382A7019601602F812F0E94E2 -:1022B000E9D2832D0F94D317332059F00E9422E2E4 -:1022C00008C08AE40E941585182F882321F00E94F7 -:1022D0005F8B10E0D6C460E070E086E50E94F7B442 -:1022E0009A8F898F059718F088E69EE1A1C260E079 -:1022F00084E40E946B85282E40E050E0BA018AE514 -:102300000E9417D46DA77EA78FA798AB40E050E836 -:102310006BEB75E483E50E9417D420E030E040E7E2 -:1023200052E40F9436366093590270935A028093A8 -:102330005B0290935C0288E40E941585882309F46F -:102340000BC10E94DE840F94A836698B7A8B8B8B2D -:102350009C8B69887A888090771290907812A090F0 -:102360007912B0907A1220E030E0A901C501B401E1 -:102370000F943C35D62EE72EF82E092F20E030E0C2 -:1023800040E450E40F94462E87FF05C0D12CE12C89 -:10239000F0E4FF2E00E469897A8977FE02C06F5F5E -:1023A0007F4F7595679588279927861B970B9E8B7E -:1023B0008D8BBC0163567F4F072E000C880B990B49 -:1023C0000F944D2E562E672E782EC92E2D2D3E2D74 -:1023D0004F2D502F0F949C3718161CF4D52C7301D9 -:1023E0000C2D6D2D7E2D8F2D902F0F94A8366B0107 -:1023F0007C012B0120E030E84DE953E4C501B40134 -:102400000F943C35962EA72EB82E092F20E030E8E9 -:102410004BE953E40F949C37181634F4912C60E880 -:10242000A62E7BE9B72E03E469897A896C0D7D1DA0 -:10243000072E000C880B990B0F944D2E6B017C011D -:10244000292D3A2D4B2D502F0F94462E87FF04C077 -:102450009C2CAD2CBE2C0F2D692D7A2D8B2D902F01 -:102460000F94A836788F6F8B80907B1290907C129F -:10247000A0907D12B0907E1220E030E0A901C5014D -:10248000B4010F943C35D62EE72EF82E092F20E00C -:1024900030E040E450E40F94462E87FF05C0D12C75 -:1024A000E12C50E4F52E00E46D897E8966567F4F5D -:1024B000072E000C880B990B0F944D2E6D8B672EF9 -:1024C000782EC92E2D2D3E2D4F2D502F0F949C3739 -:1024D00018161CF4DD8873010C2D6D2D7E2D8F2DAB -:1024E000902F0F94A8366B017C013B0120E030E077 -:1024F0004AE953E4C501B4010F943C35962EA72E4A -:10250000B82E092F20E030E848E953E40F949C37B7 -:10251000181634F4912C30E8A32E48E9B42E03E4C5 -:1025200069897A896C0D7D1D072E000C880B990B2B -:102530000F944D2E6B017C01292D3A2D4B2D502FE0 -:102540000F94462E87FF04C09C2CAD2CBE2C0F2D63 -:10255000692D7A2D8B2D1FC18CE40E945E85882306 -:1025600069F00E94DE8420916B1230916C124091D0 -:102570006D1250916E120F943B352BC020E030E06D -:10258000A9016091771270917812809179129091DF -:102590007A120F943C356B017C0120E030E040E47E -:1025A00050E40F94462E87FD0DC020E030E0A901D5 -:1025B000C701B6010F94462E87FF09C0C12CD12C4C -:1025C000760105C0C12CD12C20E4E22EFE2CC701DF -:1025D000B6010F94A8362B0182E50E945E85882300 -:1025E00069F00E94DE8420916B1230916C12409150 -:1025F0006D1250916E120F943B353CC020E030E8D4 -:102600004DE953E4609177127091781280917912BC -:1026100090917A120F943C35D62EE72EF82E092F82 -:1026200020E030E84BE953E40F949C37181634F45B -:10263000D12C80E8E82E9BE9F92E03E4B201655C19 -:102640007E4F072E000C880B990B0F944D2E962E63 -:10265000A72EB82EC92E2D2D3E2D4F2D502F0F9465 -:10266000462E87FF03C0D92C75010C2D6D2D7E2DB4 -:102670008F2D902F0F94A836788F6F8B86E40E9451 -:102680005E85882369F00E94DE8420916F1230916C -:10269000701240917112509172120F943B352BC001 -:1026A00020E030E0A90160917B1270917C12809152 -:1026B0007D1290917E120F943C356B017C0120E0DD -:1026C00030E040E450E40F94462E87FD0DC020E03A -:1026D00030E0A901C701B6010F94462E87FF09C05B -:1026E000C12CD12C760105C0C12CD12C00E4E02EE8 -:1026F000FE2CC701B6010F94A8363B0182E40E946C -:102700005E85882369F00E94DE8420916F123091EB -:10271000701240917112509172120F943B353CC06F -:1027200020E030E04AE953E460917B1270917C1222 -:1027300080917D1290917E120F943C35D62EE72E1B -:10274000F82E092F20E030E848E953E40F949C3735 -:10275000181634F4D12CA0E8EA2EB8E9FB2E03E4D5 -:10276000B3016C5C7E4F072E000C880B990B0F9405 -:102770004D2E962EA72EB82EC92E2D2D3E2D4F2D27 -:10278000502F0F94462E87FF03C0D92C75010C2DB6 -:102790006D2D7E2D8F2D902F0F94A8367B01B301C8 -:1027A000072C000C880B990B0F944D2E6C8F7D8F8E -:1027B0008E8F9F8F69837A838B839C83B201052CD4 -:1027C000000C880B990B0F944D2E68A379A38AA354 -:1027D0009BA36D837E838F839887BE016F5F7F4F3E -:1027E000CE0105960E94C2B3882301F1B7010F2CD8 -:1027F000000C880B990B0F944D2E69877A878B8775 -:102800009C87AF89B88DBD01BB0F880B990B0F94C6 -:102810004D2E6D877E878F87988BBE01675F7F4FB8 -:10282000CE010D960E94C2B3813029F08CE49EE166 -:102830000F945D1A26C2298D3A8D232B69F086E309 -:102840009EE10F945D1A222021F08CE29EE10F940C -:102850005D1A8AE00E94AB530E9485F980E00F94D4 -:10286000D31781E00E94776F882321F0832D0F9486 -:10287000D3172FCD0F89188D0419150917FF02C022 -:102880000D5F1F4F1595079515950795B801012EFA -:10289000000C880B990B0F944D2E6CA37DA38EA377 -:1028A0009FA3E618F708F7FE03C033E0E30EF11C20 -:1028B0005701B594A794B594A794B5010B2C000CBF -:1028C000880B990B0F944D2E68A779A78AA79BA711 -:1028D0000E9475E06091AF197091B019072E000C3D -:1028E000880B990B0F944D2E9B01AC016CA17DA11F -:1028F0008EA19FA10F94462E811122C06091B11923 -:102900007091B219072E000C880B990B0F944D2E65 -:102910009B01AC0168A579A58AA59BA50F94462EBD -:1029200081110EC08091531A9091541A481659067D -:1029300039F48091551A9091561A6816790699F0D3 -:102940000E945F8B1093B0190093AF19B092B21927 -:10295000A092B1195092541A4092531A7092561A7A -:102960006092551A312C60E085E40E946B858823C3 -:1029700019F061E06CA702C082E08CA791E09B8F08 -:10298000E12CF12C812C912C5401A1E0A98BB1E018 -:10299000BD8B25E02F8B10E07FEFC72E7DE1D72E7A -:1029A000E9AAA989B1E0AB27A98B0B8DC7010F2C30 -:1029B000000CAA0BBB0B8AAB9BABACABBDAB9F892E -:1029C000911709F4BEC0612F012E000C770B880B04 -:1029D000990B0F944D2E2CA13DA14EA15FA10F94F8 -:1029E000AC2E28A139A14AA15BA10F943C352B0143 -:1029F0003C016AA97BA98CA99DA90F944D2E28A5FD -:102A000039A54AA55BA50F94AC2E2C8D3D8D4E8D1E -:102A10005F8D0F943C354B015C0120E030E0A90153 -:102A2000C301B2010F94462E87FF04C020E030E0BE -:102A3000A90104C020E030E040E05FE3C301B2013F -:102A40000F943C350F94DE3669837A838B839C83A5 -:102A500020E030E0A901C501B4010F94462E87FFA4 -:102A600004C020E030E0A90104C020E030E040E0F4 -:102A70005FE3C501B4010F943C350F94DE366D83DE -:102A80007E838F839887A98DBA8DAB2B81F0602FC1 -:102A900070E088E19EE10F94221B69E170E086E11D -:102AA0009EE10F94221B83E19EE10F945D1A1F9219 -:102AB000B9E1BF931F920F93DF92CF921F920E94B2 -:102AC00031AE298D4CA5BE016B5F7F4FCE010196C3 -:102AD0000E94FAAE4B015C010FB6F894DEBF0FBE48 -:102AE000CDBF9B01AC010F942E38882321F0832D9C -:102AF0000F94D31733C0A50194016DA57EA58FA5B2 -:102B000098A90F943C359B01AC0165E01603F001D8 -:102B10001124EE0DFF1DEE0FFF1FEE0FFF1FED53F3 -:102B2000F64E208331834283538369A9812F0E940B -:102B3000E9D280E00E94D7540F5F8D89180F312CA5 -:102B40003ECF94E0E916F10449F0A5019401C501D6 -:102B5000B4010F942E38882309F47EC00E94CBF76D -:102B600080E00E94776F882351F0832D0F94D31754 -:102B7000812C912C90ECA92E9FE7B92E52C0A50173 -:102B80009401C501B4010F942E3881114AC022204E -:102B900001F10F946C1A0F94191821103FC08FEC9B -:102BA00092E10F94BA159B01AC016091D71270911C -:102BB000D8128091D9129091DA120F943B3560931C -:102BC000D7127093D8128093D9129093DA1281E0C1 -:102BD00026C012E084E0F82E02E0EF2CE11ADF2C90 -:102BE000D01A21E041E0602F812F0F94861821E058 -:102BF0004FEF602F8E2D0F9486182FEF41E06D2D33 -:102C0000812F0F9486182FEF4FEF6D2D8E2D0F947F -:102C10008618015020F71150F8F6BBCF832D809312 -:102C2000E7120E945CE08091E71281110E9420E28D -:102C30000E942F6F0E9485F983EF9DE10E94ABD027 -:102C40000E9422E211E0A5019401C501B4010F9494 -:102C50002E38811116C03DCBA989AA2361F031E03D -:102C60003D8B65E06F8B10E08FEFE81AF80A9B8DC3 -:102C70009B5F9B8F95CEBFEFBD8B2FEF2F8B14E00B -:102C8000F3CF812FE5960FB6F894DEBF0FBECDBF10 -:102C9000DF91CF911F910F91FF90EF90DF90CF9038 -:102CA000BF90AF909F908F907F906F905F904F906C -:102CB0003F902F9008958F929F92AF92BF92CF92A4 -:102CC000DF92EF92FF920F931F93CF93DF93EC016C -:102CD0008B81811102C080E078C009891A892B8913 -:102CE0003C890417150726073707A8F36A017B01FB -:102CF000823029F4C886D986EA86FB860DC0C114C5 -:102D0000D104E104F10451F4188619861A861B8651 -:102D10001C821D821E821F8281E057C08884998494 -:102D2000AA84BB84E98DFA8D258530E0275F3F4F6B -:102D3000B501A4014150510961097109022E04C075 -:102D400076956795579547950A94D2F7D701C601AE -:102D50000197A109B10904C0B695A79597958795E4 -:102D60002A95D2F784179507A607B70720F0892878 -:102D70008A288B2871F44D895E896F89788D4C8300 -:102D80005D836E837F834C015D018E010C5F1F4F5D -:102D900016C0841B950BA60BB70BF5CF4C815D813C -:102DA0006E817F819801898D9A8D0E94786491E06F -:102DB000891A9108A108B108882309F48CCF8114DD -:102DC0009104A104B10451F795CFDF91CF911F91E8 -:102DD0000F91FF90EF90DF90CF90BF90AF909F90BA -:102DE0008F9008950F931F93CF93DF93FC0123815E -:102DF000222311F080E044C08B01EC01FB018789A4 -:102E0000803139F18032B1F783E08B83F801428D54 -:102E1000538D648D758D4D8B5E8B6F8B788F9E017E -:102E20002F5E3F4FC8010E94F964882319F31A8F5F -:102E3000098F81E08983188619861A861B861C8271 -:102E40001D821E821F82188A1C861D861E861F8672 -:102E500017C082E08B831D8A1E8A1F8A188EFB0191 -:102E6000808D918DA0E0B0E025E0880F991FAA1F0A -:102E7000BB1F2A95D1F7898B9A8BAB8BBC8BD7CF95 -:102E8000DF91CF911F910F910895CF93DF93EC01C4 -:102E900041E0611101C040E06C857D858E859F8594 -:102EA0000E94AD63882341F0888920E2829FC0019F -:102EB000112484519D4E02C080E090E0DF91CF91BB -:102EC0000895CF93DF93EB01FC012381211102C010 -:102ED00080E028C02250223020F48FE288831982BB -:102EE00020C060E00E944597009791F3FC0190E0BC -:102EF00080E02EE23081303269F0883029F4DE0142 -:102F0000A90FB11D2C939F5FDE01A90FB11D308168 -:102F10003C939F5F8F5F31968B3061F7C90FD11D56 -:102F2000188281E0DF91CF9108953F924F925F9296 -:102F30006F927F928F929F92AF92BF92CF92DF92C9 -:102F4000EF92FF920F931F93CF93DF93CDB7DEB72E -:102F50002C970FB6F894DEBF0FBECDBF5C01DC012D -:102F600059968D909C905A97F40181859285A385FE -:102F7000B4859C01AD012F5F3F4F4F4F5F4F2987B5 -:102F80003A874B875C87D5011496CD90DD90ED9004 -:102F9000FC901797C114D104E104F10439F0BFEF9C -:102FA000CB1ADB0AEB0AFB0A312C07C0F401C08004 -:102FB000D180E280F38033243394260137011D82CF -:102FC0001E821F821886F40181859285A385B485AF -:102FD0002D813E814F815885281739074A075B07A5 -:102FE00008F064C089859A85AB85BC858C159D05E4 -:102FF000AE05BF0550F482E0C82ED12CE12CF12C97 -:1030000092E0492E512C612C712C9E012F5F3F4F75 -:10301000B701A601C4010E947864882309F446C060 -:1030200089819A81AB81BC81892B8A2B8B2B41F0C2 -:10303000260137019FEF491A590A690A790A05C022 -:10304000C414D504E604F70491F02D813E814F812C -:1030500058852F5F3F4F4F4F5F4F2D833E834F83E8 -:1030600058873FEFC31AD30AE30AF30AACCF0FEF36 -:103070001FEF2FEF3FE0B301A201C4010E94E663FE -:10308000F82E882399F0D50114964D915D916D919C -:103090007C911797411551056105710549F0930120 -:1030A0008201C4010E94E663811102C0F12C29C093 -:1030B000D50114964D925D926D927C9217973320B4 -:1030C00051F0D301C2010196A11DB11DF40180830D -:1030D0009183A283B383F50185899689A789B08DF1 -:1030E000892B8A2B8B2B69F4D50155964D925D92D5 -:1030F0006D927C92589711968C91119780681196D9 -:103100008C938F2D2C960FB6F894DEBF0FBECDBFDB -:10311000DF91CF911F910F91FF90EF90DF90CF90B3 -:10312000BF90AF909F908F907F906F905F904F90E7 -:103130003F90089540E050E0BA010C945B9661E046 -:10314000FC0180810E9418B38FEF0C94C65CEF9253 -:10315000FF921F93CF93DF9300D01F92CDB7DEB7BE -:103160007C01162F29833A834B835C83FC01828187 -:103170000E94D25C60E0F70180810E9418B30F9436 -:10318000BF08812F80640E94C65C8C810E94C65C4F -:103190008B810E94C65C8A810E94C65C89810E94E4 -:1031A000C65C112311F087E801C085E90E94C65C66 -:1031B0001C3011F40E94CB5C10E00E94CB5CF70144 -:1031C000838387FF04C01F3F11F01F5FF6CF0F906E -:1031D0000F900F900F90DF91CF911F91FF90EF9084 -:1031E00008950F931F93CF93DF93EC0189018C8196 -:1031F000833039F089E0440F551F661F771F8A9589 -:10320000D1F79A01AB0168E1CE010E94A798811124 -:1032100028C08EEF8EBDF801C8019E5F0DB407FE79 -:10322000FDCF20812EBD0DB407FEFDCF21812EBD27 -:1032300032968E179F0791F70DB407FEFDCF8FEFE3 -:103240000E94C65C8FEF0E94C65C0E94CB5C8B83A1 -:103250008F71853041F083E18983CE010E949F9870 -:1032600019C086E016C00F94BF08882379F020E0CB -:1032700030E0A9016DE0CE010E94A798811108C03D -:103280000E94CB5C811104C011E005C087E101C040 -:1032900086E1898310E0CE010E949F98812FDF9103 -:1032A000CF911F910F910895CF938091F4148823AB -:1032B000B9F14091EC145091ED146091EE147091BD -:1032C000EF142CEE32E18091F5149091F6140E94E7 -:1032D000F198C82F811102C0C0E023C04091F014C2 -:1032E0005091F1146091F2147091F314411551054D -:1032F0006105710591F02CEE32E18091F514909109 -:10330000F6140E94F198882339F31092F014109269 -:10331000F1141092F2141092F3141092F41401C0EC -:10332000C1E08C2FCF910895CF93DF93EC018B8177 -:10333000882339F1898187FF20C061E0CE010E9496 -:103340004597FC01892BE9F08081853ED1F08B8186 -:10335000823040F489899A89AB89BC89848F958FA2 -:10336000A68FB78F8D899E89AF89B88D938F828FF5 -:10337000B58BA48B89818F778983DF91CF910C9452 -:10338000549981E0888380E0DF91CF910895CF93B5 -:10339000DF93EC010E9494991B82DF91CF910895F5 -:1033A000FC01238121110C94C7990895CF92DF92DB -:1033B000EF92FF920F931F93CF93DF93EC0189015C -:1033C0008C81833039F089E0440F551F661F771FC9 -:1033D0008A95D1F79A01AB0161E1CE010E94A798CD -:1033E000882339F084E08983CE010E949F9880E091 -:1033F0003EC00F944E1E6B017C012CE2C20E21E0F8 -:10340000D21EE11CF11C0E94CB5C8B838F3F61F4C8 -:103410000F944E1EDC01CB018C199D09AE09BF092A -:10342000B7FDF1CF81E11DC08E3FD1F48FEF8EBD8E -:10343000F801D801A150BE4F0DB407FEFDCF9EB5D7 -:1034400091938EBDEA17FB07B9F70DB407FEFDCFC8 -:103450008EB58C930E94CB5C0E94CB5C11E003C0C4 -:103460008FE0898310E0CE010E949F98812FDF9129 -:10347000CF911F910F91FF90EF90DF90CF90089523 -:103480002F923F924F925F926F927F928F929F9274 -:10349000AF92BF92CF92DF92EF92FF920F931F9362 -:1034A000CF93DF9300D01F92CDB7DEB79C838B8381 -:1034B0004B015A01DC0113968C91811103C08FEFEF -:1034C0009FEFE3C0EB81FC81818180FFF8CFEB812E -:1034D000FC8181899289A389B4894085518562855F -:1034E0007385841B950BA60BB70BA50160E070E0FC -:1034F00084179507A607B70708F45C0175018B814F -:103500009C8104969A838983612C42E0742EE11495 -:10351000F10409F48BC0AB81BC8118964D915D918B -:103520006D917C911B976A01B1E0DB22EB81FC81FC -:103530002381818D928D1A012B0139E05694479495 -:10354000379427943A95D1F7223061F4FC01828DAB -:10355000938DA48DB58DBC01CD01620D731D841DAD -:10356000951D4AC0DC0114961C9111501221C11402 -:10357000D10401F511111EC0452B462B472B59F4E0 -:10358000EB81FC8185899689A789B08D8483958399 -:10359000A683B7830FC0AB81BC8114964D915D911A -:1035A0006D917C91179729813A810E9478648823D4 -:1035B00009F485CFEB81FC81218D328D8481958149 -:1035C000A681B7810297A109B109F901058404C058 -:1035D000880F991FAA1FBB1F0A94D2F746855785EB -:1035E00060897189840F951FA61FB71FBC01CD018B -:1035F000610F711D811D911D93012C193D098701DA -:103600002E153F0508F489010115F2E01F0779F531 -:103610002091EC143091ED144091EE145091EF1480 -:10362000621773078407950719F421C0C5012DC0DF -:103630009401AB01BC018091F5149091F6140E94A5 -:10364000D699882309F43BCF800E911EEB81FC8133 -:1036500080859185A285B385800F911FA11DB11D25 -:1036600080879187A287B387E01AF10A50CF40E0A4 -:103670000E94AD63882309F422CFB60164517D4EC8 -:10368000A801C4010F946838DFCF0F900F900F90FE -:103690000F90DF91CF911F910F91FF90EF90DF90EE -:1036A000CF90BF90AF909F908F907F906F905F90E2 -:1036B0004F903F902F900895DF92EF92FF920F93DB -:1036C0001F93CF93DF938C01EB017A018DE0D82E0D -:1036D00040E250E0BE01C8010E94409A803291054C -:1036E00039F021E0892B09F420E0822F819544C034 -:1036F00028812223C9F1253E11F02E3231F4E11444 -:10370000F10431F3F7011082E3CFE114F10441F148 -:103710003B853F733F3021F54A8D5B8D452B01F58D -:103720002F713FEF320F3530D8F430E0215031099E -:10373000D29EC001D39E900D1124D701A80FB91FAE -:10374000FE0120E0AD01253088F431813D932F5FEB -:1037500032962D30C1F7288126FF02C0FA01158666 -:103760002B8523FDB5CF08C080E006C02B3010F4B8 -:103770003481ECCF3681EACFDF91CF911F910F9149 -:10378000FF90EF90DF9008954F925F926F927F923B -:103790009F92AF92BF92CF92DF92EF92FF920F93E0 -:1037A0001F93CF93DF931F92CDB7DEB78C017B01C0 -:1037B0005A01C22EDB0159968D919C915A97F801BE -:1037C000928F818FCB010E949A98912CF70180856E -:1037D0009185A285B385418952896389748984174B -:1037E0009507A607B70708F060C025E0B695A7952E -:1037F000979587952A95D1F7F82FFF70DF2ED7017F -:1038000013968C91823008F460C041E050E0BE0114 -:103810006F5F7F4FC7010E94409A019719F4898119 -:1038200090E002C08FEF9FEF019609F44EC0F701C0 -:1038300080859185A285B3854F96A11DB11D808796 -:103840009187A287B387F0E2DF9EB0011124645113 -:103850007D4E61157105C9F1DB018C91882319F04A -:10386000853EC1F46CC191100EC08091EC14909112 -:10387000ED14A091EE14B091EF14F80184879587B0 -:10388000A687B787D08ADB018C91882361F09924C1 -:1038900093949CCF4BE050E0C5010F945B38892B8B -:1038A00009F094CF14C0992493948C2D827482349F -:1038B00061F4992009F48BC0F801D08861E0C80157 -:1038C0000E944597009709F00DC180E03BC1C7FCFD -:1038D000FCCFF0E2DF9EA00111249A0124513D4E5D -:1038E000D9011B968C91817121F08C2D827109F088 -:1038F0006AC08091EC149091ED14A091EE14B091F7 -:10390000EF14F80184879587A687B787D08ACA0104 -:1039100084519D4E7C01DC0154964D915C915597EC -:1039200060E070E0DA0199278827858B968BA78B5A -:10393000B08FF701428D538D60E070E0482B592B1A -:103940006A2B7B2BD80155964D935D936D937C9399 -:103950005897F9018385887161F4F701848D958DFD -:10396000A68DB78DF801818B928BA38BB48B81E0F0 -:1039700010C0803141F598012F5E3F4FD801599614 -:103980008D919C915A970E94F9648823E1F084E01C -:10399000F80183838C2D8F70D80111968C93119729 -:1039A000F801148215821682178218961D921D92B4 -:1039B0001D921C921B97C4FEB5C0C8010F94E3086A -:1039C0008111B0C082CFD80113961C927ECFD7014F -:1039D00013968C911397823009F477CF51968D917D -:1039E0009D910D90BC91A02D803E9F4FAF41B105A0 -:1039F00008F06BCFC7010E949597882309F465CF23 -:103A00000E945499882309F460CFD70159962D91CB -:103A10003C915A9714968D919D910D90BC91A02D3B -:103A20000297A109B109F901058404C0880F991F03 -:103A3000AA1FBB1F0A94D2F74684578460887188F6 -:103A4000480E591E6A1E7B1E81E08093F41440923A -:103A5000EC145092ED146092EE147092EF1480E02A -:103A600092E0ECEEF2E1DF019C011D92215030402A -:103A7000E1F7DD24D394D7015996ED91FC915A9743 -:103A80008481D81698F42CEE32E1B301A2014D0DD9 -:103A9000511D611D711D8091F5149091F6140E94C5 -:103AA000F198882309F411CFD394E5CF80E092E018 -:103AB000A0E0B0E0058404C0880F991FAA1FBB1FB7 -:103AC0000A94D2F7F7014189528963897489840F76 -:103AD000951FA61FB71F818B928BA38BB48B8CEE87 -:103AE00092E1D12C20E2DC011D922A95E9F72BE02E -:103AF000F501DC0101900D922A95E1F721E238E20F -:103B0000FC01318B208B40E058E057874687338B90 -:103B1000228B318F208F578B468B0E9454998111B5 -:103B2000D8CED3CEC5FE09C0F80141895289638938 -:103B30007489C8010E945B9605C081E003C09110A2 -:103B4000A6CE93CE0F90DF91CF911F910F91FF9052 -:103B5000EF90DF90CF90BF90AF909F907F906F904D -:103B60005F904F9008952F923F924F925F926F9285 -:103B70007F928F929F92AF92BF92CF92DF92EF92FD -:103B8000FF920F931F93CF93DF93CDB7DEB7C2544D -:103B9000D1090FB6F894DEBF0FBECDBF4C015B015B -:103BA0006A01322E19821C821C8E1F8E61157105CE -:103BB00011F410E0A6C0FC0183818111FACFFA0153 -:103BC00080818F3209F09BC0F50183818250823061 -:103BD00010F485010CC0F501618D728DCE014C96FB -:103BE0000E94F296882329F38E01045E1F4FC601BE -:103BF0006C010196F60120812F32D1F3CE0101969E -:103C00007C013C012E019CE1490E511C2396EFAE34 -:103C100023972F2C9BE09150E7E3F0E0EC0FFD1F82 -:103C2000E90FF11D80E280839111F5CF960147E005 -:103C3000D9018D91882369F18F3259F18E3239F48F -:103C40004A3009F4B6CF98E04AE09D01F1CFE2ECAA -:103C5000FFE12491222321F031968213FACFA9CFDC -:103C6000491708F4A6CF813208F4A3CF8F3709F49F -:103C7000A0CF21E0290FE7E3F0E0EC0FFD1FE90FF3 -:103C8000F11D9FE9980F9A3108F480528083922F9A -:103C9000DCCF8FA9803209F48CCF6901F9018081D2 -:103CA0002F5F3F4F8F32C9F38823F9F021E0AE0137 -:103CB000495C5F4FB801C7010E94C49B882309F487 -:103CC00078CF0A151B0519F0C8010E94C7996E1418 -:103CD0007F0441F023969FAD2397822D8701E92E23 -:103CE000F82E98CF942D852DF9CF232DAE01495C68 -:103CF0005F4FB801C4010E94C49B182F02C08B0102 -:103D00007DCFCE014C960E94D099CE0101960E94A3 -:103D1000D099812FCE5BDF4F0FB6F894DEBF0FBE78 -:103D2000CDBFDF91CF911F910F91FF90EF90DF906A -:103D3000CF90BF90AF909F908F907F906F905F904B -:103D40004F903F902F9008952091120230911302CE -:103D50002F503109821793070CF49C013093880986 -:103D60002093870980E00C9402A9EF92FF920F93B1 -:103D70001F93CF937C018B014F3F11F4C2E401C02C -:103D8000C4E580E20E94AB538C2F0E94AB538AE3C0 -:103D90000E94AB53F701608171818281938142E07F -:103DA0000E943B54F801408151816281738189E90D -:103DB00090E20F94111B62E070E080E090E0CF9100 -:103DC0001F910F91FF90EF900D94141E6091870941 -:103DD00070918809072E000C880B990B0F944D2EBB -:103DE0002091830930918409409185095091860979 -:103DF0000F949C3718161CF085EA90E202C082EB03 -:103E000090E260E00C9447F71F93CF93DF93CDB718 -:103E1000DEB728970FB6F894DEBF0FBECDBF182FC0 -:103E20006091870970918809072E000C880B990B07 -:103E30000F944D2E6D837E838F83988780918309A5 -:103E400090918409A0918509B091860989839A830C -:103E5000AB83BC834CEFBE016B5F7F4FCE010196FD -:103E60000E94B59E60919E0970919F09072E000CDB -:103E7000880B990B0F944D2E6D837E838F839887CB -:103E800080919A0990919B09A0919C09B0919D09FC -:103E900089839A83AB83BC834FEFBE016B5F7F4FF7 -:103EA000CE0101960E94B59E1F3F41F087E11802A6 -:103EB000F0011124E158F64F628502C06091A0091B -:103EC00070E081EA90E20F94221B6091A00970E0FB -:103ED0008CE990E20F94221B28960FB6F894DEBF6F -:103EE0000FBECDBFDF91CF911F9108952F923F92CA -:103EF0004F925F926F927F928F929F92AF92BF92FA -:103F0000CF92DF92EF92FF920F931F93CF93DF93A5 -:103F1000CDB7DEB763970FB6F894DEBF0FBECDBF47 -:103F2000898B81E0809314021A821B821C821D827D -:103F300019861A861B861C8619821D862CE32E87FD -:103F40003CE13F8746E4488B312C212C50E85A8BCA -:103F50008FEB8B8B91E09887812C912C5401609191 -:103F60009E0970919F09072E000C880B990B0F94E6 -:103F70004D2E7B018C019B01AC01632D722D8A8932 -:103F80009B890F94462E882361F160919A09709164 -:103F90009B0980919C0990919D09A989A1110EC04E -:103FA000B1E0B9839701A8010F949C3718160CF063 -:103FB00019823E2C2F2C0A8B1B8B13C09701A80152 -:103FC0000F949C37181644F480911402882309F446 -:103FD000F1C00E94CBF7EEC03E2C2F2C0A8B1B8B1E -:103FE00019820F944E1E6B017C01DC01CB012985E7 -:103FF0003A854B855C85821B930BA40BB50BB7FDF3 -:1040000034C0D701C60188519C4FAF4FBF4F89873D -:104010009A87AB87BC878091CE120E94049F83EC65 -:1040200090E20F945D1A81149104A104B104B9F0D7 -:10403000D501C401805F984DAF4FBF4FBC01CD018A -:104040006C197D098E099F0928EE33E040E050E0AD -:104050000F949C34CA01B9010E941F5403C08FE31E -:104060000E94AB538AE00E94AB5380E00E94D75479 -:104070000F944E1E6093581A7093591A80935A1ACF -:1040800090935B1A90919A099E83A0919B09AF83AC -:1040900000919C0910919D09292F3A2FA801632DA9 -:1040A000722D8A899B890F943B352B013C0120E0BE -:1040B00030E0A9010F949C3787FF04C077FA709411 -:1040C00077F8709481149104A104B104B1F420E054 -:1040D00030E040E85FE3C301B2010F94462E87FF52 -:1040E00018C0B88546015701BB2399F020E1820E24 -:1040F00027E2921EA11CB11C0CC020E030E040E47D -:1041000050E4C301B2010F949C37181614F4460111 -:10411000570139813323A9F18A819B81AC81BD810B -:10412000892B8A2B8B2B61F0D701C6012A813B8119 -:104130004C815D81821B930BA40BB50BB7FD21C095 -:104140002E813F81A8016D857E858F8598890F948A -:104150003B3520E030E040EC5FE30F94462E87FDD6 -:1041600033CFD701C601805A9541AF4FBF4F8A83E5 -:104170009B83AC83BD839E819D87AF81AE870F8774 -:10418000188B80911402882309F41ECF81149104A6 -:10419000A104B10411F41886E2CEB0E1CB1AB7E263 -:1041A000DB0AE108F108C818D908EA08FB08F7FC9F -:1041B000F2CF0ACF8091140263960FB6F894DEBF57 -:1041C0000FBECDBFDF91CF911F910F91FF90EF9068 -:1041D000DF90CF90BF90AF909F908F907F906F9027 -:1041E0005F904F903F902F9008952F923F924F9263 -:1041F0005F926F927F928F929F92AF92BF92CF9277 -:10420000DF92EF92FF920F931F93CF93DF93CDB77F -:10421000DEB764970FB6F894DEBF0FBECDBF898BB3 -:104220006A8B81E0809314021A821B821C821D8299 -:1042300019861A861B861C8621E0288719821D860E -:104240003CE33E874CE14F8756E4588B312C212CC0 -:1042500080E88B8B9FEB9C8B812C912C540160917F -:10426000870970918809072E000C880B990B0F9411 -:104270004D2E7B018C019B01AC01632D722D8B892E -:104280009C890F94462E882361F160918309709177 -:1042900084098091850990918609AA89A1110EC08F -:1042A000B1E0B9839701A8010F949C3718160CF060 -:1042B00019823E2C2F2C0B8B1C8B13C09701A8014D -:1042C0000F949C37181644F480911402882309F443 -:1042D000F0C00E94CBF7EDC03E2C2F2C0B8B1C8B1B -:1042E00019820F944E1E6B017C01DC01CB012985E4 -:1042F0003A854B855C85821B930BA40BB50BB7FDF0 -:1043000033C0D701C60188519C4FAF4FBF4F89873B -:104310009A87AB87BC8789890E94049F8FEB90E2C4 -:104320000F945D1A81149104A104B104B9F0D50170 -:10433000C401805F984DAF4FBF4FBC01CD016C19D8 -:104340007D098E099F0928EE33E040E050E00F948C -:104350009C34CA01B9010E941F5403C08FE30E941C -:10436000AB538AE00E94AB5380E00E94D7540F9475 -:104370004E1E6093581A7093591A80935A1A90934C -:104380005B1A909183099E83A0918409AF83009169 -:10439000850910918609292F3A2FA801632D722DC6 -:1043A0008B899C890F943B352B013C0120E030E048 -:1043B000A9010F949C3787FF04C077FA709477F8AF -:1043C000709481149104A104B104B1F420E030E0B0 -:1043D00040E85FE3C301B2010F94462E87FF18C087 -:1043E000B88546015701BB2399F020E1820E27E2F0 -:1043F000921EA11CB11C0CC020E030E040E450E44F -:10440000C301B2010F949C37181614F446015701EA -:1044100039813323A9F18A819B81AC81BD81892BAC -:104420008A2B8B2B61F0D701C6012A813B814C81FD -:104430005D81821B930BA40BB50BB7FD21C02E81B0 -:104440003F81A8016D857E858F8598890F943B35C6 -:1044500020E030E040EC5FE30F94462E87FD34CF40 -:10446000D701C601805A9541AF4FBF4F8A839B83C6 -:10447000AC83BD839E819D87AF81AE870F87188BEC -:1044800080911402882309F41FCF81149104A104A0 -:10449000B10411F41886E3CEB0E1CB1AB7E2DB0A1F -:1044A000E108F108C818D908EA08FB08F7FCF2CFC0 -:1044B0000BCF8091140264960FB6F894DEBF0FBE46 -:1044C000CDBFDF91CF911F910F91FF90EF90DF90C3 -:1044D000CF90BF90AF909F908F907F906F905F90A4 -:1044E0004F903F902F9008952F923F924F925F925E -:1044F0006F927F928F929F92AF92BF92CF92DF92F4 -:10450000EF92FF920F931F93CF93DF93CDB7DEB758 -:1045100029970FB6F894DEBF0FBECDBFF82E762ECA -:104520000E9485F981E08F1598F40F94461B84E56D -:104530000E94AB536F2D70E080E090E00E941F540A -:1045400080E20E94AB5387EC90E20F945D1AFBC1AE -:10455000711008C08091831287707724739487301C -:1045600009F4712C9090CE1281E0872589878823E9 -:1045700089F08824839420E030E0A901609128121A -:104580007091291280912A1290912B120F94462E2D -:10459000811101C0812C8091271283FD57C1809128 -:1045A0002612811153C12091870930918809809189 -:1045B000570290915802281739070CF047C18820FC -:1045C00049F00F94461B8BEE90E20F945D1AF09227 -:1045D000CE12B9C166246394F91409F428C120905D -:1045E0005D0230905E0240905F02509060028091C8 -:1045F000590290915A02A0915B02B0915C028093A3 -:104600005D0290935E02A0935F02B093600280E02F -:104610000E9434E081E00E9434E082E00E9434E0B5 -:104620000E949C848985882309F470C020913C12E3 -:1046300030913D1240913E1250913F126091D7123D -:104640007091D8128091D9129091DA120F943C3562 -:104650006093D7127093D8128093D9129093DA1284 -:10466000A0905302B0905402C0905502D0905602D0 -:10467000A60195010F949C37181644F4A092D71206 -:10468000B092D812C092D912D092DA12A12CB12CC9 -:104690006501E090CE1204E012E12BED32E147ED2E -:1046A00052E163ED72E18FEC92E10E9443FC809154 -:1046B000341290913512A0913612B0913712809336 -:1046C000CF129093D012A093D112B093D2128091B6 -:1046D000381290913912A0913A12B0913B12809306 -:1046E000D3129093D412A093D512B093D612E92C82 -:1046F0000DE512E02BED32E147ED52E163ED72E1A1 -:104700008FEC92E10E9443FC0E9485F920E030E0AA -:10471000A9016091CF127091D0128091D112909125 -:10472000D2120F943C356093CF127093D0128093C5 -:10473000D1129093D21220E030E0A9016091D312FF -:104740007091D4128091D5129091D6120F943C356D -:104750006093D3127093D4128093D5129093D61293 -:1047600020E030E0A9016091D7127091D8128091B9 -:10477000D9129091DA120F943C356093D71270934E -:10478000D8128093D9129093DA12F092CE120E942E -:1047900020E2711044C080913E02882309F43FC09A -:1047A000892D90E0FC01EC5DFD4E2091C612208326 -:1047B0006F2D70E0FB01EC5DFD4E20812093C61251 -:1047C0002091870930918809880F991FFC01E05ECC -:1047D000FD4E31832083660F771FFB01E05EFD4EA7 -:1047E00080819181009761F02817390749F00E9474 -:1047F000A49E80E00E94E69E60E080E00E94F5A01A -:10480000811050C08BE592E10E94C8DC8985882325 -:1048100031F064E072E183E692E10E9477E1209258 -:104820005D0230925E0240925F02509260020E94EE -:1048300085F90F94461B6091CE1270E089ED90E2ED -:104840000F94221B8AE00E94AB537DC0882041F167 -:104850006091321270913312072E000C880B990B65 -:104860000F944D2E20E030E040E752E40F943636AE -:104870006D837E838F83988780912812909129126F -:10488000A0912A12B0912B12B05889839A83AB83DE -:10489000BC83BE016B5F7F4FCE0101960E94808575 -:1048A000612C9ACE6110AECF6091301270913112AE -:1048B000072E000C880B990B0F944D2E20E030E052 -:1048C00040E752E40F94363669837A838B839C8366 -:1048D000BE016F5F7F4F88E292E10E94808580E099 -:1048E00090E0A0E4B0E489839A83AB83BC83BE01EB -:1048F0006F5F7F4F8CE292E10E9480850E9485F974 -:1049000020E030E040E050E46091DB127091DC1276 -:104910008091DD129091DE120F943B356093DB1293 -:104920007093DC128093DD129093DE126093671215 -:10493000709368128093691290936A1287E692E1ED -:104940000E9496F95FCF29960FB6F894DEBF0FBE8E -:10495000CDBFDF91CF911F910F91FF90EF90DF902E -:10496000CF90BF90AF909F908F907F906F905F900F -:104970004F903F902F900895EF92FF920F931F93C7 -:10498000CF93DF9380913D028F37A0F08F579091A6 -:10499000890990934E12992311F02C9A01C02C98FA -:1049A0002091A00920934D1290910201222369F0D9 -:1049B00090950BC090914E12891708F02C98909109 -:1049C0004D12891728F09091020190729093000186 -:1049D0008F5F80933D0290914C1281E089278093F4 -:1049E0004C1280913C0285301CF411E0180F01C07C -:1049F00010E0823009F4B9C054F4882301F1813009 -:104A000009F0E8C088E080937B0085E4C5C084306D -:104A100009F4CAC00CF4BCC0853009F0DBC0909129 -:104A20004B12911102C080934B1280914B12815016 -:104A300080934B12882309F4CDC015E0CBC0809140 -:104A40003B028F5F80311CF480933B02C3C0109205 -:104A50003B028091D411811113C080917F09909104 -:104A600080099093820980938109809196099091A1 -:104A70009709909399098093980981E08093D411C4 -:104A80001092800910927F0910929709109296094E -:104A9000E0908109F0908209F194E194F10880910D -:104AA00087099091880901E0181619062CF0809169 -:104AB0008909811101C000E080910E0290910F02DE -:104AC0009195819591098E159F053CF449E050E23E -:104AD0006AE270E280E00F940B11002389F080916C -:104AE0000C0290910D02919581959109E816F906B5 -:104AF0003CF44CE350E26DE570E280E00F940B1162 -:104B000080919E0990919F0901E0181619062CF0DA -:104B10008091A009811101C000E020919809309195 -:104B200099098091AE099091AF09821793073CF0E3 -:104B300049E150E26AE270E28FEF0F940B1100231B -:104B400009F448C0209198093091990980910A028E -:104B500090910B0228173907ECF14CE450E26DE517 -:104B600070E28FEF0F940B1135C080917A0086FDB3 -:104B70002EC0809178009091790020917F0930912A -:104B80008009820F931F9093800980937F0922C030 -:104B900088E080937B0086E480937C0080917A009B -:104BA000806480937A0016C080917A0086FD11C0DF -:104BB0008091780090917900209196093091970921 -:104BC000820F931F909397098093960903C012E078 -:104BD00001C014E010933C0220915C1A30915D1AE0 -:104BE0002115310509F43AC0F894909109019270A9 -:104BF0008091080181708093060180910B0112164B -:104C000013060CF08095827080930901000000006B -:104C1000000080910B01809588708093090184E0E9 -:104C20008A950000E9F780910B0188708093090153 -:104C300080910B0191118095827080930901789485 -:104C400080915C1A90915D1A1216130614F4019764 -:104C500001C0019690935D1A80935C1A8091D511E2 -:104C6000882309F44DC080913A028E5F8F7780933C -:104C70003A02811145C08CB185FB882780F9C82F85 -:104C800080E0D82F8091030181FDC2604B99C46000 -:104C90000091491210914A120C271D270115110588 -:104CA00079F100FF07C0BE016170772784E890E2C8 -:104CB0000F94221B01FF08C06C2F6695617070E095 -:104CC0008BE790E20F94221B02FF08C0C2FB66270D -:104CD00060F970E082E790E20F94221B8FE690E289 -:104CE0000F945D1A10914812612F70E08DE00F94BF -:104CF0002C1D109510934812D0934A12C09349125C -:104D00000E94D3E28091D6119091D711009769F05B -:104D100001979093D7118093D611892B31F48DE8A8 -:104D200090E29093D3098093D209DF91CF911F91A4 -:104D30000F91FF90EF9008950F930FB70F9300918D -:104D40006E000B7F00936E0078940F930BB70F9358 -:104D50000CB70F921F922F933F934F935F936F93D4 -:104D60007F938F939F93AF93BF93EF93FF93112400 -:104D70000E94BCA4FF91EF91BF91AF919F918F9141 -:104D80007F916F915F914F913F912F911F900F9065 -:104D90000CBF0F910BBF0F910460F89400936E004D -:104DA0000F910FBF0F9118952F923F924F925F92E4 -:104DB0006F927F928F929F92AF92BF92CF92DF922B -:104DC000EF92FF920F931F93CF93DF93CDB7DEB790 -:104DD00029970FB6F894DEBF0FBECDBF1C017B83B1 -:104DE0006A8329831F830E83FD82EC8227FD10C016 -:104DF000022E000C330B39872887398185E0380271 -:104E0000F0011124E253FE4E84818823E1F008C0B2 -:104E10008091CD11882399F0E1E0F0E0F987E887EF -:104E2000F1011482E885F985EE0FFF1FEE0FFF1FD9 -:104E3000E05CFD4E10821182128213822EC021E0AE -:104E400030E039872887FA01C080D180E280F38082 -:104E500008851985000F111F000F111F005C1D4EE2 -:104E6000A7019601F80160817181828193810F947D -:104E7000462E882391F0F801C082D182E282F3822B -:104E800011E020E030E0A901C701B6010F949C3782 -:104E900018160CF010E0F1011483F10184818230C6 -:104EA000F9F0833009F401C1813009F023C1E885AC -:104EB000F985EE0FFF1FEE0FFF1FE05CFD4E208116 -:104EC000318142815381EA81FB81608171818281DC -:104ED00093810F94462E87FD0DC182E0F1018483FA -:104EE00080913902882309F493C0F981F7FD90C0BD -:104EF0008F2FFF0F990B8C011816190614F401E07F -:104F000010E0F801EA53FD4E2081222371F1EA817D -:104F1000FB81C080D180E280F380880F991F880FC9 -:104F2000991FFC01E05CFD4E80809180A280B380DF -:104F30002C813D81B90180E090E00F944B2E2B0134 -:104F40003C0120E030E040E85EE30F94AC2E9B0192 -:104F5000AC01C501B4010F943B359B01AC01C70105 -:104F6000B6010F949C3787FD05C0F801E95CFD4F41 -:104F700080E81AC023E830EC4AEA5EE3C301B201DC -:104F80000F94AC2E9B01AC01C501B4010F943B35CD -:104F90009B01AC01C701B6010F949C37095C1D4F02 -:104FA00087FD04C080E6F801808332C020E030E055 -:104FB00040E05FE3C301B2010F94AC2E9B01AC0152 -:104FC000C501B4010F943B359B01AC01C701B6018B -:104FD0000F949C3787FD02C080E4E5CF2DEC3CECBC -:104FE0004CE45FE3C301B2010F94AC2E9B01AC0112 -:104FF000C501B4010F943B359B01AC01C701B6015B -:105000000F949C3787FD02C080E2CDCFF80110825B -:1050100008851985000F111F000F111F9801205CD2 -:105020003D4E39872887EC81FD81BF0180E090E00B -:105030000F944B2E9B01AC01E885F985608171814D -:10504000828193810F943B359B01AC01EA81FB8106 -:1050500060817181828193810F949C3787FD14C098 -:105060000F944E1E6B017C012E813F81A8EEB3E0B0 -:105070000F94F034C60ED71EE81EF91EF101C0824F -:10508000D182E282F38236C00F944E1EF10100817C -:10509000118122813381DC01CB01801B910BA20B9A -:1050A000B30BB7FD27C083E08483F981FF3F19F07C -:1050B00042ED5FE102C045EE5FE169EF7FE189818A -:1050C00029960FB6F894DEBF0FBECDBFDF91CF910A -:1050D0001F910F91FF90EF90DF90CF90BF90AF9016 -:1050E0009F908F907F906F905F904F903F902F9008 -:1050F0000D940B1129960FB6F894DEBF0FBECDBFED -:10510000DF91CF911F910F91FF90EF90DF90CF90A3 -:10511000BF90AF909F908F907F906F905F904F90D7 -:105120003F902F900895CF92DF92EF92FF9260917F -:105130009E0970919F0961157105C1F0C0909A098F -:10514000D0909B09E0909C09F0909D0966507109F0 -:10515000072E000C880B990B0F944D2E9B01AC0170 -:10516000C701B6010F94462E87FD09C01092C511E4 -:105170001092C6111092C7111092C8111EC020E0E3 -:1051800030E040E050E4C701B6010F943C350F9485 -:10519000AF367093C4116093C3110F944E1EDC019F -:1051A000CB01805E9044AD4FBF4F8093C51190936B -:1051B000C611A093C711B093C811FF90EF90DF9074 -:1051C000CF900895CF93DF931092D31180E090E0B9 -:1051D0000E94A49EC6E9D9E0198618860E9493A869 -:1051E00080E090E00E94A49E109289092C98198674 -:1051F00018861A8680910201807280930001DF91E7 -:10520000CF910895CF92DF92EF92FF92609187093C -:105210007091880961157105C1F0C0908309D09023 -:105220008409E0908509F090860966507109072E7F -:10523000000C880B990B0F944D2E9B01AC01C701FC -:10524000B6010F94462E87FD09C01092BF1110922F -:10525000C0111092C1111092C2111EC020E030E0A6 -:1052600040E050E4C701B6010F943C350F94AF36CF -:105270007093BE116093BD110F944E1EDC01CB01E3 -:10528000805B9C43AF4FBF4F8093BF119093C01181 -:10529000A093C111B093C211FF90EF90DF90CF9017 -:1052A0000895CF93DF93CFE7D9E060E08A819B81B7 -:1052B0000F941C106C837D838E839F83C6E9D9E095 -:1052C0008A819B810F94830F6C837D838E839F8360 -:1052D000A8951092D411DF91CF91089590E0FC0130 -:1052E0003197E231F10508F04EC08827E155FF4FB4 -:1052F0008F4F0D943335809180008F7703C080915C -:1053000080008F7D80938000089580918000877F4A -:10531000F9CF84B58F7702C084B58F7D84BD0895A1 -:105320008091B0008F7703C08091B0008F7D809313 -:10533000B0000895809190008F7707C08091900011 -:105340008F7D03C080919000877F809390000895A7 -:105350008091A0008F7707C08091A0008F7D03C04F -:105360008091A000877F8093A00008958091200104 -:105370008F7707C0809120018F7D03C0809120012D -:10538000877F8093200108952F923F924F925F92E2 -:105390006F927F928F929F92AF92BF92CF92DF9245 -:1053A000EF92FF920F931F93CF93DF93D82FC62FC7 -:1053B00085E097E00E94B654D1115AC0CC2389F001 -:1053C0000E94E5618C01C12CD12CC0E0D0E0A12C61 -:1053D000B12C87EF282E84E1382E44244394512C9D -:1053E0003FC00E9439D18111EBCF44C0C016D10615 -:1053F00008F037C1C5014496C816D90608F031C176 -:105400002FEFC21AD20A0F3F3FEF130709F0C3C1B3 -:105410000E94E5618C018C159D0508F04EC1F101DB -:1054200001900020E9F73197CF01875F94413C015B -:10543000EE24E394F12C970129503B4E490146E0BC -:1054400050E06EE077E0C9010F94A138892B09F094 -:10545000F4C0E614F7040CF43FC18FEFA81AB80AA1 -:105460000F3F2FEF120711F60E94E5618C01BECFAE -:10547000C111A6CF3AE0C32E30E2D32EE12CF12C9D -:10548000C5E0D2E8812C912C54011092791C109225 -:10549000781CC0936C1CD0936F1CD701C601880D7B -:1054A000991DAA1DBB1D8093701C9093711CA09325 -:1054B000721CB093731C0F9468078FEF881A980AB8 -:1054C000A80AB80A9AE089169104A104B104E9F681 -:1054D0002AE0C20ED11CE11CF11C32EDC31630E2F1 -:1054E000D306E104F10471F6C12C20E2D22EE12CA6 -:1054F000F12CD5E0C2E81092791C1092781CD09360 -:105500006C1CC0936F1CC092701CD092711CE092F6 -:10551000721CF092731C0F9468071092791C109201 -:10552000781CD0936C1CC0936F1CD701C6018C52A1 -:105530009F4FAF4FBF4F8093701C9093711CA093EF -:10554000721CB093731C0F9468078FEFC81AD80AA7 -:10555000E80AF80A9AE0C91690E2D906E104F104D3 -:1055600051F69EEDC92E90E2D92EE12CF12CD5E01A -:10557000C2E81092791C1092781CD0936C1CC093D6 -:105580006F1CC092701CD092711CE092721CF09241 -:10559000731C0F9468072FEFC21AD20AE20AF20AAC -:1055A00036EEC31630E2D306E104F10411F7CC2441 -:1055B000C39482E1D82EE12CF12C0AE010E0D5E072 -:1055C000C2E81093791C0093781CD0936C1CC09394 -:1055D0006F1CC092701CD092711CE092721CF092F1 -:1055E000731C0F9468071093791C0093781CD09358 -:1055F0006C1CC0936F1CD701C6018096A11DB11D04 -:105600008093701C9093711CA093721CB093731CB8 -:105610000F9468078FEFC81AD80AE80AF80A95E1CC -:10562000C91692E1D906E104F10459F685EF93E039 -:105630000E94B65482E190E016C046E050E065E179 -:1056400077E0C4010F94A138892B09F402CF3FEF12 -:10565000E31AF30AC7010197861597050CF4EBCE00 -:10566000F8CE81E190E09093791C8093781C85E0DE -:1056700080936C1C82E880936F1C84E190E1A0E031 -:10568000B0E08093701C9093711CA093721CB09337 -:10569000731CDF91CF911F910F91FF90EF90DF90DE -:1056A000CF90BF90AF909F908F907F906F905F90C2 -:1056B0004F903F902F900D9468070F3F8FEF180782 -:1056C00019F40E94E5618C0160E070E0C8018C195A -:1056D0009D090E941D62A3CE22E12C9FC0012D9F37 -:1056E000900D11249C0127563A4E4901A7014231E1 -:1056F000510514F041E150E067EF74E1C4010F94EB -:10570000AF3832E13C9FC0013D9F900D112469E309 -:1057100075E18F5F984E0F949A388AE08C9FA001B4 -:105720008D9F500D1124465F5F4D052E000C660BBA -:10573000770BFE01EE0FFF1FEE0FFF1FEA5BFA4E25 -:105740004383548365837683C4010F9417077E01D6 -:105750009FEFE91AF90AF0924815E0924715509226 -:10576000791C4092781C25E020936C1C32E8309321 -:105770006F1CCF5FDD4ECE01DD0FAA0BBB0B8093FC -:10578000701C9093711CA093721CB093731C0F94A7 -:105790006807E70165CE0C151D0508F440CE94CFCF -:1057A0004F925F926F927F928F929F92AF92BF9231 -:1057B000CF92DF92EF92FF921F93CF93DF93C82F88 -:1057C00088E39BE19093F6148093F5141092311BBB -:1057D00082E090E0A0E0B0E080931A1B90931B1B46 -:1057E000A0931C1BB0931D1B1092F4141092F01484 -:1057F0001092F1141092F2141092F3148FEF9FEFA5 -:10580000DC018093EC149093ED14A093EE14B0930C -:10581000EF14CC2379F1C53008F001C140E060E01D -:1058200070E0CB010E94AD63882309F4F8C020E149 -:10583000C29FC001112484529D4EFC01E254FE4FD0 -:1058400020812F7709F0EBC03C9640815181628125 -:105850007381443651056105710508F4E0C0349741 -:10586000C080D180E280F380C114D104E104F1044E -:1058700021F4D5C0C12CD12C760140E0C701B6017E -:105880000E94AD63182F882309F4C9C08091F712D4 -:105890009091F8128115924009F0C1C0A091FC12BC -:1058A000AA2309F4BCC06091FA127091FB12611531 -:1058B000710509F4B4C08090F912882009F4AFC0D2 -:1058C000A0932C1B80921E1B80E0912CA12CB12C4C -:1058D000412C512C32014394C82FA3019201082E70 -:1058E00004C0220F331F441F551F0A94D2F782169B -:1058F0009306A406B50639F08F5FC83069F789E0D2 -:105900008093271B8CC08093271B2091021330911A -:1059100003132115310519F040E050E008C0209133 -:1059200010133091111340911213509113132093BF -:105930001F1B3093201B4093211B5093221B4601B9 -:105940005701860E971EA11CB11C80922D1B9092B0 -:105950002E1BA0922F1BB092301BE091FD12F091F4 -:10596000FE12F093331BE093321BB0E00F94DD3452 -:10597000860E971EA81EB91E8092341B9092351B6E -:10598000A092361BB092371B85E0EE0FFF1F8A9561 -:10599000E1F7E150FE4FEF2FFF27E6958E0E9F1E99 -:1059A000A11CB11C8092281B9092291BA0922A1B3B -:1059B000B0922B1B2091FF1230910013211531055D -:1059C00021F0A90160E070E008C040910C135091F3 -:1059D0000D1360910E1370910F13D701C601881932 -:1059E0009909AA09BB09840F951FA61FB71F04C0F8 -:1059F000B695A79597958795CA95D2F78093231B5F -:105A00009093241BA093251BB093261B853F2FE06A -:105A10009207A105B10528F48CE08093311B10E0BA -:105A20001AC0853F9F4FA105B10510F480E111C058 -:105A30008091181390911913A0911A13B0911B1310 -:105A40008093341B9093351BA093361BB093371B68 -:105A500080E28093311B812FDF91CF911F91FF90C6 -:105A6000EF90DF90CF90BF90AF909F908F907F90FE -:105A70006F905F904F900895FF920F931F93CF9375 -:105A8000DF938B01D82FC92F9B01482F592F60918D -:105A9000E8127091E9128091EA129091EB120F9442 -:105AA000462E882309F45FC0F090E71280E00F943F -:105AB000D31720E030E0A901B8018D2F9C2F0F945F -:105AC0009C37181624F000E010E0D0E0C0E0C801D8 -:105AD000AD2FBC2F8093E8129093E912A093EA12A5 -:105AE000B093EB122DEB37E346E855EBB8018D2F61 -:105AF0009C2F0F949C3787FD0BC02DEB37E346E8B6 -:105B000055E3B8018D2F9C2F0F94462E181654F490 -:105B100098014D2F5C2F60E070E080E89FE30F94C8 -:105B2000363603C060E070E0CB016093E3127093FF -:105B3000E4128093E5129093E61280EF9FEFA9E7BD -:105B4000B4EC8093DF129093E012A093E112B09333 -:105B5000E212FF2041F081E0DF91CF911F910F9180 -:105B6000FF900D94D317DF91CF911F910F91FF906C -:105B70000895CF93DF93CDB7DEB760970FB6F89453 -:105B8000DEBF0FBECDBFEFECF2E180819181A2813B -:105B9000B38189839A83AB83BC8384819581A681F9 -:105BA000B7818D839E83AF83B88780859185A285D9 -:105BB000B38589879A87AB87BC8784859585A685B9 -:105BC000B7858D879E87AF87B88BAE01475F5F4FE4 -:105BD000BE016B5F7F4FCE0101960E94CDFB9E01FF -:105BE000235F3F4FAE01475F5F4FBE016B5F7F4F4B -:105BF000CE0101960E94F2F960960FB6F894DEBFCE -:105C00000FBECDBFDF91CF9108950F94461B6091D9 -:105C1000CC127091CD128EE592E20F942F1B8BE582 -:105C200092E20D945D1A9091CA129817C9F0809370 -:105C3000CA12811109C08091C8128093C612809146 -:105C4000C9128093C71208958091C6128093C8121A -:105C50001092C6128091C7128093C9121092C71277 -:105C60000895CF93DF93CDB7DEB78091C412811131 -:105C70000FC09E01275F3F4F4F8158856FE370E053 -:105C800084E892E10F940D2E84E892E10E94A8D35B -:105C9000DF91CF9108951F93CF93DF93809183126B -:105CA000C82FC270D82FD470182F117080FF04C075 -:105CB000CC2311F0D11145C00F94461B85E592E22B -:105CC0000F945D1A111103C088E50E94AB53C111F6 -:105CD00003C089E50E94AB53D11103C08AE50E943D -:105CE000AB538DE492E20F945D1ADD2319F047EE79 -:105CF00055E002C040EE57E0CC2319F027EE35E026 -:105D000002C02CE137E0112319F087EE95E002C0C4 -:105D100084E696E05F934F933F932F939F938F93E7 -:105D20008BE392E29F938F931F920E9431AE8DB7C7 -:105D30009EB709960FB6F8949EBF0FBE8DBF81E047 -:105D400001C080E0DF91CF911F910895AF92BF9283 -:105D5000CF92DF92EF92FF920F931F93CF93DF9337 -:105D6000CDB7DEB72C970FB6F894DEBF0FBECDBF10 -:105D70002CEEC22E22E0D22E5C0170E0CB018451C9 -:105D80009D4F7C01CE14DF0409F180E20E94AB53E9 -:105D9000F60181916F010E94AB538AE30E94AB53DD -:105DA000F50161917191819191915F018E010F5F78 -:105DB0001F4F23E041E00F941E298C01F8018191CF -:105DC0008F018823F9F20E94AB53F8CF8AE00E943A -:105DD000AB532C960FB6F894DEBF0FBECDBFDF914C -:105DE000CF911F910F91FF90EF90DF90CF90BF90D8 -:105DF000AF9008952F923F924F925F926F927F9251 -:105E00008F929F92AF92BF92CF92DF92EF92FF92CA -:105E10000F931F93CF93DF93CDB7DEB760970FB685 -:105E2000F894DEBF0FBECDBF9A8789877C876B87CA -:105E3000342E222E0E94C2B3882309F493C1E9852F -:105E4000FA856081718182819381EB85FC85C080B8 -:105E5000D180E280F38020917712309178124091C6 -:105E6000791250917A120F943B354B015C012091CD -:105E70007B1230917C1240917D1250917E12C701AD -:105E8000B6010F943B359B01AC01E090D712F09026 -:105E9000D8120091D9121091DA1240905D02509000 -:105EA0005E0260905F027090600280915902909152 -:105EB0005A02A0915B02B0915C0280935D029093C4 -:105EC0005E02A0935F02B093600219821A821B8265 -:105ED0001C82CE0101966C01C501B4010E9494E0C0 -:105EE00081E00E94776F8111C4C08091601A82FFA7 -:105EF00011C020917F1230918012409181125091F7 -:105F0000821260E070E080E490EC0F943B354B012E -:105F10005C0106C0812C912C30E2A32E31ECB32E13 -:105F200020E030E040E850E4C501B4010E94E66E94 -:105F3000882329F060E070E080EC9FE753C0C090B8 -:105F4000D712D090D812E090D912F090DA1280E0F7 -:105F500090E0A0E8B0E489839A83AB83BC8320E01F -:105F600030E040EA50E4C701B6010F943C356D8340 -:105F70007E838F839887BE016F5F7F4FCE0105962A -:105F80000E9477E120E030E040E050E4C501B40138 -:105F90000E94E66E8111CECF20E030E040E450E474 -:105FA0006091D7127091D8128091D9129091DA1223 -:105FB0000F94AC2E6D877E878F87988BA7019601F3 -:105FC000C701B6010F943C359B01AC016D857E8500 -:105FD0008F8598890F943C352DEC3CEC4CE45EE3C6 -:105FE0000F94AC2E20917F1230918012409181123B -:105FF000509182120F943C356B018C018EEF830D12 -:10600000823050F580E090E0A0E8B0E489839A8384 -:10601000AB83BC836091D7127091D8128091D91252 -:106020009091DA12E3E03E1629F020E030E040EAF9 -:1060300050E404C020E030E048EC51E40F943C35DB -:106040006D837E838F839887BE016F5F7F4FCE0104 -:1060500005960E9477E108C0F1E03F1205C080E09C -:106060000E94776F811105C022E0221508F05BC005 -:1060700008C0F2E0F21508F07AC0C12CD12C00EC77 -:106080001FE72EE1E22E27E0F22EF70181917F013A -:10609000882319F00E94AB53F8CF20916B123091F6 -:1060A0006C1240916D1250916E12E985FA856081F3 -:1060B0007181828193810F943C3543E00E943B546F -:1060C00096E2E92E97E0F92EF70181917F0188236E -:1060D00019F00E94AB53F8CF20916F1230917012DB -:1060E0004091711250917212EB85FC856081718133 -:1060F000828193810F943C3543E00E943B548BE2B4 -:10610000E82E87E0F82EF70181917F01882319F0AE -:106110000E94AB53F8CF43E0B601C8010E943B5444 -:106120008AE00E94AB5340925D0250925E02609200 -:106130005F02709260029601A801B601C8010F9437 -:106140002E38882309F180E00E94776F60E08CE2AE -:1061500092E20E9447F70F94421B8CE192E20F9467 -:106160005D1A12C0C12CD12C00EC1FE70DC040926B -:106170005D0250925E0260925F0270926002C12CDA -:10618000D12C00EC1FE7DFCFB601C80160960FB637 -:10619000F894DEBF0FBECDBFDF91CF911F910F915D -:1061A000FF90EF90DF90CF90BF90AF909F908F9037 -:1061B0007F906F905F904F903F902F9008958FEF5A -:1061C0009AE10E9494998FEF9AE10E94C799809179 -:1061D000F41D8D7F8E7F8093F41D1092F01D109220 -:1061E000F11D1092F21D1092F31D81E08093DA1CD4 -:1061F0000895CF93DF9300D01F92CDB7DEB7809183 -:10620000691881111BC081E0809369188091571231 -:1062100090915812A0915912B0915A12B058898396 -:106220009A83AB83BC839E012F5F3F4F43E652E1CD -:106230006FE572E18BE592E10E94BDB60F900F9081 -:106240000F900F90DF91CF910895CF93DF9300D0FF -:106250001F92CDB7DEB7809169188823F9F02AE93B -:1062600039E949E95FE360915712709158128091C2 -:10627000591290915A120F94AC2E69837A838B83B2 -:106280009C839E012F5F3F4F43E652E16FE572E131 -:106290008BE592E10E94BDB6109269180F900F90A5 -:1062A0000F900F90DF91CF9108952F923F924F92D0 -:1062B0005F926F927F928F929F92AF92BF92CF9296 -:1062C000DF92EF92FF920F931F93CF93DF93CDB79F -:1062D000DEB7A0970FB6F894DEBF0FBECDBF1C018E -:1062E0008B015A8749873C872B87C090CF12D0906B -:1062F000D012E090D112F090D212DC018D919D91DC -:106300000D90BC91A02D8D879E87AF87B88B9C0187 -:10631000AD01C701B6010F943B352B013C018091C3 -:10632000D3129091D412A091D512B091D612898B2C -:106330009A8BAB8BBC8BD8018D919D910D90BC91AC -:10634000A02D8D8B9E8BAF8BB88F9C01AD01698981 -:106350007A898B899C890F943B354B015C01A301A1 -:106360009201C301B2010F94AC2E2B013C01A50197 -:106370009401C501B4010F94AC2E9B01AC01C30183 -:10638000B2010F943C35698F7A8F8B8F9C8FE98592 -:10639000FA854080518062807380A3019201C70119 -:1063A000B6010F943B356D8F7E8F8F8F98A3AB8591 -:1063B000BC858D909D90AD90BC90A501940169899C -:1063C0007A898B899C890F943B356B017C012D85E3 -:1063D0003E854F855889C301B2010F943B352B018F -:1063E0003C012D893E894F89588DC501B4010F9418 -:1063F0003B354B015C01A3019201C301B2010F9433 -:10640000AC2E2B013C01A5019401C501B4010F94F0 -:10641000AC2E9B01AC01C301B2010F943C350F942B -:10642000EA374B015C012D8D3E8D4F8D58A1CA017D -:10643000B9010F94AC2E2B013C01A7019601C701B5 -:10644000B6010F94AC2E9B01AC01C301B2010F94B5 -:106450003C359B01AC01698D7A8D8B8D9C8D0F94A1 -:106460009C37181604F520E030E0A901C501B401FD -:106470000F949C3787FF04C0C501B401905802C037 -:10648000C501B40120E030E040EA50E40F949C37AD -:1064900018164CF49801A1016B857C8589859A8535 -:1064A0000E9455B183C020E030E040E050E4698DA7 -:1064B0007A8D8B8D9C8D0F949C3718160CF044C0F0 -:1064C0000E94F9B019821A821B821C8220E030E0FF -:1064D00040E05FE36091D7127091D8128091D91299 -:1064E0009091DA120F943C356D837E838F83988769 -:1064F0009E012F5F3F4FAE014B5F5F4F63ED72E137 -:106500008FEC92E10E94BDB619821A821B821C8216 -:1065100020E030E040E05FE360914F127091501254 -:1065200080915112909152120F943C356D837E836D -:106530008F8398879E012F5F3F4FAE014B5F5F4F68 -:10654000B801C1010E94BDB619821A821B821C8249 -:106550009E012F5F3F4F4FE452E1B801C1010E94FD -:10656000BDB62DEC3CEC4CEC5CE3C501B4010F94E2 -:10657000AC2E9B01AC01609153127091541280912A -:106580005512909156120F94AC2E69837A838B83A7 -:106590009C830E9425B19E012F5F3F4F4FE452E143 -:1065A0006B857C8589859A850E94BDB6A0960FB6BD -:1065B000F894DEBF0FBECDBFDF91CF911F910F9139 -:1065C000FF90EF90DF90CF90BF90AF909F908F9013 -:1065D0007F906F905F904F903F902F900895CF9352 -:1065E000DF93282F30E0F901EA52FE4D8491F90142 -:1065F000E057FE4DD491F901E65BFE4DC491CC23EA -:1066000091F081110E946EA9EC2FF0E0EE0FFF1FB8 -:10661000E05DFE4DA591B491EC91ED2381E090E019 -:1066200021F480E002C080E090E0DF91CF910895F6 -:106630001F93CF93DF93282F30E0F901EA52FE4DEC -:106640008491F901E057FE4DD491F901E65BFE4DCE -:10665000C491CC23C1F0162F81110E946EA9EC2F9A -:10666000F0E0EE0FFF1FEA5EFE4DA591B4919FB7DB -:10667000F894111104C08C91D095D82302C0EC91EC -:10668000DE2BDC939FBFDF91CF911F910895CF93B5 -:10669000DF9390E0FC01E057FE4D2491FC01E65BA6 -:1066A000FE4D8491882361F190E0880F991FFC01D1 -:1066B000E450FF4DC591D491FC01EA5EFE4DA591D9 -:1066C000B491611109C09FB7F89488812095822305 -:1066D0008883EC912E230BC0623061F49FB7F8944D -:1066E0008881322F309583238883EC912E2B2C9335 -:1066F0009FBF06C08FB7F894E8812E2B28838FBFE9 -:10670000DF91CF910895CF92DF92EF92FF92CF93D6 -:10671000DF93EC016A017B0127E137EB41ED58EB98 -:10672000C701B6010F949C3787FD23C023E030E0FA -:106730004AE953E4C701B6010F94462E1816CCF06F -:10674000C880D980EA80FB8027E137EB41ED58EB28 -:10675000C701B6010F949C3787FD0BC0C1E023E051 -:1067600030E84DE953E4C701B6010F94462E1816E0 -:106770000CF4C0E08C2FDF91CF91FF90EF90DF9071 -:10678000CF9008954F925F926F927F928F929F92D7 -:10679000AF92BF92CF92DF92EF92FF92CF93DF93AF -:1067A000CDB7DEB728970FB6F894DEBF0FBECDBFCA -:1067B0009E838D83DB01CD90DD90ED90FC908091E8 -:1067C0007B1290917C12A0917D12B0917E128983F0 -:1067D0009A83AB83BC839C01AD01C701B6010F94C2 -:1067E0003B352B013C01AD81BE818D909D90AD90DC -:1067F000BC908091771290917812A0917912B0910B -:106800007A128D839E83AF83B88727E137EB41ED02 -:1068100058EBC301B2010F949C3787FD4FC023E0B2 -:1068200030E04AE953E4C301B2010F94462E181632 -:106830000CF444C02D813E814F815885C501B401BF -:106840000F943B352B013C0127E137EB41ED58EB31 -:106850000F949C3787FD32C023E030E84DE953E4C4 -:10686000C301B2010F94462E181644F120E030E027 -:10687000A9016D817E818F8198850F943C352B0114 -:106880003C0120E030E040E450E40F94462E87FFC6 -:1068900005C0412C512C30E4632E762C27E137EBD8 -:1068A00041ED58E3C301B2010F943B359B01AC01AC -:1068B000C501B4010F949C3787FF02C0198281C0C3 -:1068C00020E030E84DE953E46D817E818F81988529 -:1068D0000F943C352B013C0120E030E84BE953E4B8 -:1068E0000F949C3718163CF4412C20E8522E2BE9CB -:1068F000622E23E4722E27E137EB41ED58E3C3010A -:10690000B2010F943C359B01AC01C501B4010F9459 -:10691000462E18169CF220E030E0A90169817A81A8 -:106920008B819C810F943C354B015C0120E030E071 -:1069300040E450E40F94462E87FF05C0812C912C33 -:1069400090E4A92EBA2C27E137EB41ED58E3C501BD -:10695000B4010F943B359B01AC01C701B6010F9404 -:106960009C3787FDABCF20E030E04AE953E46981F2 -:106970007A818B819C810F943C354B015C0120E036 -:1069800030E848E953E40F949C3718163CF4812C06 -:1069900080E8982E88E9A82E83E4B82E27E137EB0B -:1069A00041ED58E3C501B4010F943C359B01AC01A6 -:1069B00091E09983C701B6010F94462E18160CF486 -:1069C0007DCF898128960FB6F894DEBF0FBECDBF6C -:1069D000DF91CF91FF90EF90DF90CF90BF90AF907D -:1069E0009F908F907F906F905F904F900895CF937E -:1069F000DF93EB010E945E85882321F0DF91CF9128 -:106A00000C94DA84CE01DF91CF910895CF93C62FF5 -:106A10000E945E85882319F0CF910C94B6848C2F48 -:106A2000CF9108952F923F924F925F926F927F92F3 -:106A30008F929F92AF92BF92CF92DF92EF92FF928E -:106A40000F931F93CF93DF93CDB7DEB762970FB647 -:106A5000F894DEBF0FBECDBF83E50E941585882365 -:106A600049F00E94CA84182F811106C080E00F945B -:106A7000D31702C01091E7128091CF129091D012DB -:106A8000A091D112B091D21289839A83AB83BC8337 -:106A90008091D3129091D412A091D512B091D612B8 -:106AA0008D839E83AF83B8878091D7129091D8123F -:106AB000A091D912B091DA1289879A87AB87BC87E7 -:106AC00086E50E941585682E8091AF199091B019C6 -:106AD000892B09F4B1C083E40E941585882309F449 -:106AE000B6C00E94DE841B012C01712C812C68EC45 -:106AF000962E72ECA72EB12CC12C28EC2F8732E4F5 -:106B0000388B85E08D879D8591509D879F3FD9F17A -:106B1000E5E0EE8735E0399F900111243A8B298B0F -:106B20003E8531503E873F3F71F3E989FA89E30F93 -:106B3000F11DEE0FFF1FEE0FFF1FED53F64ED0803D -:106B4000E180F28003812B2D3C2D4F8558896D2DDE -:106B50007E2D8F2D902F0F94462E87FF04C0BD2CC5 -:106B6000CE2CFF86088B2D2D3E2D4F2D502F672DBF -:106B7000782D892D9A2D0F94462E87FFD1CF7D2C0D -:106B80004701A02ECDCF272D382D492D5A2D6B2D05 -:106B90007C2D8F8598890F943C3520E030E040E0D3 -:106BA0005FE30F94AC2EA20191010F943C351B01C1 -:106BB0002C012DEB37E346E855EB0F949C3787FD0E -:106BC0000AC02DEB37E346E855E3C201B1010F944B -:106BD000462E1816E4F580E00F94D31705E045E043 -:106BE000C42E0150A0F135E0D32EC09E50011124D7 -:106BF000DA949FEFD916A9F37501ED0CF11CC701CA -:106C0000880F991F880F991FFC01ED53F64E7F01E5 -:106C1000A201910160817181828193810F943B3542 -:106C20009B01AC01F70160837183828393836D2D97 -:106C3000802F0E94E9D2DCCF111102C0662089F0BA -:106C40000F94461B89E095E20F945D1A16C06620EA -:106C500041F08091AF199091B019892B11F00F94E8 -:106C60006C1A8AE50E941585882321F00E94DE8433 -:106C70000E943CAD812F0F94D317112351F08091C6 -:106C8000E712811106C00F94421B8AEE94E20F9422 -:106C90005D1A0F94461B8CED94E20F945D1A80915F -:106CA000E712811103C08EEB9CE002C082EC9CE0F5 -:106CB0000F945D1A8AE00E94AB530F94461B8FEC31 -:106CC00094E20F945D1AC090E812D090E912E0901F -:106CD000EA12F090EB1220E030E0A901C701B60102 -:106CE0000F949C37181644F442E0C701B6010E9485 -:106CF0003B540E94B05404C08AEC94E20F945D1A95 -:106D00004CE050E06FEC72E1CE0101960F945B38DD -:106D1000892BD1F062960FB6F894DEBF0FBECDBFBF -:106D2000DF91CF911F910F91FF90EF90DF90CF9067 -:106D3000BF90AF909F908F907F906F905F904F909B -:106D40003F902F900C9422E262960FB6F894DEBF2B -:106D50000FBECDBFDF91CF911F910F91FF90EF90AC -:106D6000DF90CF90BF90AF909F908F907F906F906B -:106D70005F904F903F902F9008952F923F924F92A7 -:106D80005F926F927F928F929F92AF92BF92CF92BB -:106D9000DF92EF92FF920F931F93CF93DF9300D078 -:106DA0001F921F92CDB7DEB77C018B016A011901DA -:106DB0008090CF129090D012A090D112B090D212A9 -:106DC000A5019401FC0160817181828193810F94FE -:106DD000462EF1E0FD83811112C02091D312309133 -:106DE000D4124091D5125091D612F8016081718170 -:106DF000828193810F94462E811101C01D82F6017C -:106E000040805180628073802091610230916202E3 -:106E10004091630250916402C301B2010F94462E67 -:106E2000882309F455C04092610250926202609238 -:106E300063027092640220E030E040E05FE3609122 -:106E400004127091051280910612909107120F940E -:106E5000AC2E69837A838B839C8380925B129092A1 -:106E60005C12A0925D12B0925E128091D31290914A -:106E7000D412A091D512B091D61280935F12909344 -:106E80006012A0936112B0936212F6018081918129 -:106E9000A281B3818093631290936412A0936512D0 -:106EA000B09366128091DB129091DC12A091DD12FA -:106EB000B091DE128093671290936812A0936912CA -:106EC000B0936A12CE0101960E94D6820E949C84E1 -:106ED000FD81F1110FC020E030E040EC5FE36091F4 -:106EE00008127091091280910A1290910B120F945E -:106EF000363604C060E070E080EA91E469837A830A -:106F00008B839C83F70180819181A281B3818093DF -:106F10005B1290935C12A0935D12B0935E12F80125 -:106F200080819181A281B38180935F1290936012DE -:106F3000A0936112B0936212F101208131814281EC -:106F400053816091671270916812809169129091DB -:106F50006A120F943C3560936712709368128093A5 -:106F6000691290936A12CE0101960E94D6820E9405 -:106F70009C840F900F900F900F900F90DF91CF9106 -:106F80001F910F91FF90EF90DF90CF90BF90AF9047 -:106F90009F908F907F906F905F904F903F902F9039 -:106FA00008952F923F924F925F926F927F928F92AD -:106FB0009F92AF92BF92CF92DF92EF92FF920F9388 -:106FC0001F93CF93DF93CDB7DEB7C355D1090FB66B -:106FD000F894DEBF0FBECDBF89EB94E20F945D1A2B -:106FE0000E944BAE81110C947EC084E50E945E85A8 -:106FF000882329F00E94DA8460E00E9474A280E075 -:1070000090E0A0E8BFE38093531290935412A093B2 -:107010005512B09356128093571290935812A09322 -:107020005912B0935A128DEC9CECACE4BEE3809301 -:107030004F1290935012A0935112B093521280E0CD -:1070400090E0A0E2B1E48093DB189093DC18A09369 -:10705000DD18B093DE188CE390E09093DA188093FB -:10706000D9188DEC90E09093D8188093D71810928F -:10707000D6184AE959E969E97EE38FE40E9417D4FA -:107080006BAF7CAF8DAF9EAF60E083E40E946B85F9 -:1070900060968FAF609760E08BE40E946B8561968D -:1070A0008FAF619782E40E945E858823C9F00E94B9 -:1070B000DE840F94A8367093DA186093D91861159E -:1070C000710571F0685271096536710548F06CE818 -:1070D00070E08BE894E20F94221B86E894E2AEC144 -:1070E0008CE40E945E85882301F10E94DE846B019E -:1070F0007C0160934F1270935012809351129093C1 -:10710000521220E030E0A9010F949C3787FD0AC09D -:1071100020E030E040E050E4C701B6010F94462E75 -:1071200018161CF48EE594E289C181E50E9415854C -:10713000882351F180913D1E90913E1E892B09F1CB -:107140000E94DE846B017C01609357127093581289 -:107150008093591290935A122DEC3CEC4CE45DE371 -:107160000F949C3787FD0AC020E030E040E751E4EF -:10717000C701B6010F94462E181634F48DE294E23E -:107180005DC182E094E25AC183E50E945E85882356 -:10719000C9F00E94DE844B015C012DEC3CEC4CEC10 -:1071A0005DE30F949C3787FD0AC020E030E040E0AB -:1071B00050E4C501B4010F94462E181654F48BED1B -:1071C00093E23CC17DEC872E7CEC972EA92C7EE3CC -:1071D000B72E80E50E941585882371F180913D1EB0 -:1071E00090913E1E892B19F483EA93E227C1809186 -:1071F000D6188F5F8093D6180E94DE846B017C01C5 -:107200006093DB187093DC188093DD189093DE1880 -:1072100020E030E0A9010F949C3787FD0AC020E0F0 -:1072200030E048EC51E4C701B6010F94462E181621 -:107230001CF48BE793E202C186E40E945E858823FA -:10724000C9F00E94DE846B017C0120E030E040E860 -:107250005FE30F949C3787FD0AC020E030E040E8F0 -:1072600050E4C701B6010F94462E18164CF482E57F -:1072700093E2E4C0C12CD12C60EEE62E6FE3F62E33 -:10728000A7019601C701B6010F94AC2E9B01AC017A -:1072900060E070E084E490E40F943636209153125D -:1072A0003091541240915512509156120F94AC2EB9 -:1072B0002B013C01A5019401C501B4010F94AC2E32 -:1072C000A70196010F94AC2E2CEE31E548EB5DE35F -:1072D0000F9436369B01AC01C301B2010F94AC2E62 -:1072E00060935312709354128093551290935612D8 -:1072F00088E40E945E85882381F00E94DE840F94DA -:10730000A8367093D8186093D718655A71096838F1 -:10731000710518F084E293E291C085E50E9415851D -:107320008823F1F00F944E1E6115710581059105BA -:1073300011F00F94D72980913D1E90913E1E892B0C -:1073400019F00E94DE8404C060E070E088E492E4FA -:107350006093921870939318809394189093951853 -:1073600082E50E941585811103C080EF92E266C01C -:1073700080913D1E90913E1E892B61F00E94DA841F -:107380002F969FAF8EAF2F97181619064CF08CEBE7 -:1073900092E254C02AE130E02F963FAF2EAF2F97F4 -:1073A00088E50E945E85882369F00E94DE84209132 -:1073B0006B1230916C1240916D1250916E120F94BD -:1073C0003B3508C06091CF127091D0128091D112DC -:1073D0009091D21260938E1870938F1880939018AA -:1073E0009093911889E50E945E85882379F00E9428 -:1073F000DE8420916F123091701240917112509181 -:1074000072120F943B35AB01BC0108C04091D312FE -:107410005091D4126091D5127091D61240938A186F -:1074200050938B1860938C1870938D188EE898E1A8 -:107430000E9483B3811105C082E992E20F945D1A24 -:107440005DC684E40E94158591E089270F94D317C7 -:1074500020E030E040EA50E46091D7127091D812F9 -:107460008091D9129091DA120F94462E87FF1CC09A -:10747000198A1A8A1B8A1C8A80E090E0A0EAB0E48C -:1074800089839A83AB83BC83BE016F5E7F4FCE013D -:1074900001960E9477E180E1EBE5F2E1AFECB2E129 -:1074A00001900D928A95E1F73091411A62963FAFB3 -:1074B00062971092411A0E94ADFC81E792E20F940C -:1074C0005D1A8091D9189091DA188A31910574F477 -:1074D0008091D7189091D8180E94A49E61E0809165 -:1074E000CE120E94F5A0811109C05AC50E948E8457 -:1074F00081E00E94769F8111EBCF52C51092DB1282 -:107500001092DC121092DD121092DE128BED92E1DD -:107510000E9496F98091D6188823B1F10E949C842C -:1075200020916712309168124091691250916A124D -:107530006091DB187091DC188091DD189091DE1855 -:107540000F943C35609367127093681280936912B0 -:1075500090936A1220E030E040E751E46091081215 -:107560007091091280910A1290910B120F94363685 -:1075700069837A838B839C83CE0101960E94D68295 -:107580000E949C840E94F9B080E2EAE6F8E1DF0103 -:10759000282F1D922A95E9F7E6EBF8E1DF01282F65 -:1075A0001D922A95E9F7E6E9F8E1DF011D928A9537 -:1075B000E9F70E949C8480914F1290915012A09103 -:1075C0005112B09152128093631290936412A0935F -:1075D0006512B093661219821A821B821C829E0168 -:1075E0002F5F3F4F43E652E16FE572E18BE592E199 -:1075F0000E94BDB69E01255C3F4F43E652E16FE518 -:1076000072E18BE592E10E94BDB66096BFAD6097D6 -:10761000BB2329F063ED72E18FEC92E104C06AE8CC -:1076200078E18EE898E10E94FE82298F3A8F4B8F95 -:107630005C8F6D8F7E8F3FAF2D962FAF2D972D9640 -:10764000EFAD2D97E7FD95C4FFADF7FD92C42091F6 -:10765000AF193091B0194E2F4203B001439F700D06 -:1076600011248091531A9091541A680F791F072E94 -:10767000000C880B990B0F944D2E2B013C01CB0174 -:10768000D3018FAB98AFA9AFBAAF2091B1193091A8 -:10769000B2194FAD4203B001439F700D1124809188 -:1076A000551A9091561A680F791F072E000C880BF7 -:1076B000990B0F944D2E162F072FF82EE92E462FDB -:1076C000572F682F792FCE01C7960E9483B3882346 -:1076D00009F453C420E030E040EA50E4B201C301B1 -:1076E0000F943C35D62E272E382EC92E862F922D5C -:1076F000A32DBC2D8BAB9CABADABBEAB812F902F24 -:10770000AF2DBE2D8FA798ABA9ABBAAB2D968FAD81 -:107710002D9781114AC09FAD91111FC020E030E02C -:1077200040EA50E4612F702F8F2D9E2D0F943C3531 -:1077300021966FAF219723967FAF239725968FAF22 -:10774000259727969FAF2797AFADD42C252C362CA5 -:10775000C72CAA2309F4C6C023C0C201D3018BAB36 -:107760009CABADABBEAB20E030E040EA50E4612F13 -:10777000702F8F2D9E2D0F943B356FA778AB89AB63 -:107780009AABBFADB43054F221961FAF2197239628 -:107790000FAF23972596FFAE25972796EFAE279735 -:1077A000EFADE4300CF489C09DC02D96FFAD2D9750 -:1077B000F4300CF453C02FAD24305CF020E030E006 -:1077C00040EA50E4B201C3010F943B35362F272F16 -:1077D00003C0342D252DC301432F522FBC014BABC9 -:1077E0005CAB6DAB7EAB3FAD31117FC420E030E0D0 -:1077F00040EA50E4B201C3010F943B35D62E272E48 -:10780000382EC92E20E030E040EA50E4612F702F7E -:107810008F2D9E2D0F943C356FA778AB89AB9AAB1B -:107820004FAD442309F452C020E030E040EA50E478 -:10783000612F702F8F2D9E2D0F943B3521966FAFAA -:10784000219723967FAF239725968FAF259727966D -:107850009FAF27978FAD843084F144C09FAD9111C5 -:107860000FC020E030E040E251E46D2D722D832DF9 -:107870009C2D0F943B35D62E272E382EC92E11C0A5 -:10788000AFADA430C4F120E030E040E251E46D2D12 -:10789000722D832D9C2D0F943B356BAB7CAB8DAB48 -:1078A0009EAB21961FAF219723960FAF2397259666 -:1078B000FFAE25972796EFAE279752ED852E53E51D -:1078C000952E5BE7A52E51E4B52E29C021961FAF5A -:1078D000219723960FAF23972596FFAE25972796DE -:1078E000EFAE279742ED842E43E5942E4BEFA42E66 -:1078F00040E4B42E14C021961FAF219723960FAFFA -:1079000023972596FFAE25972796EFAE279732ED62 -:10791000832E33E5932E3BEFA32E31E4B32E8BA9B8 -:107920009CA9ADA9BEA92C968CAF9DAFAEAFBFAF41 -:107930002C979C01AD01B201C3010F943B35698BBB -:107940007A8B8B8B9C8B4FA458A869A87AA8A3012B -:107950009201612F702F8F2D9E2D0F943B356D8BD3 -:107960007E8B8F8B988F2C962CAD3DAD4EAD5FAD41 -:107970002C976091CF127091D0128091D11290917A -:10798000D2120F943B352C966CAF7DAF8EAF9FAF6C -:107990002C97A30192016091D3127091D41280911F -:1079A000D5129091D6120F943B352B013C018D2DB1 -:1079B000922DA32DBC2D89839A83AB83BC83219602 -:1079C0008FAD219723969FAD23972596AFAD259731 -:1079D0002796BFAD27978D839E83AF83B88780910D -:1079E0004F1290915012A0915112B091521289876A -:1079F0009A87AB87BC872DEC3CEC4CEC5CE3C50173 -:107A0000B4010F94AC2E2091531230915412409136 -:107A10005512509156120F94AC2E2091DB123091DA -:107A2000DC124091DD125091DE120F943C356D87CF -:107A30007E878F87988B2C962CAD3DAD4EAD5FAD7C -:107A40002C97CA01B9010F94AC2E6B017C01A301E4 -:107A50009201C301B2010F94AC2E9B01AC01C7018E -:107A6000B6010F943C3520E030E040E050E40F9444 -:107A70009C3718160CF047C00E94F9B01BA21CA23C -:107A80001DA21EA220E030E040E05FE36091D7122B -:107A90007091D8128091D9129091DA120F943C35DE -:107AA0006F8F78A389A39AA39E012D5D3F4FAE01EE -:107AB000415E5F4F63ED72E18FEC92E10E94BDB6D3 -:107AC0001BA21CA21DA21EA220E030E040E05FE34A -:107AD00060914F12709150128091511290915212F8 -:107AE0000F943C356F8F78A389A39AA39E012D5DD7 -:107AF0003F4FAE01415E5F4FBE01615D7F4FCE01E2 -:107B0000C3960E94BDB61F8E18A219A21AA29E018A -:107B1000215E3F4F4FE452E1BE01615D7F4FCE01D8 -:107B2000C3960E94BDB60E9425B140905D02509060 -:107B30005E0260905F0270906002E0900012F09030 -:107B400001120091021210910312A090FC11B0904A -:107B5000FD11C090FE11D090FF119501A601B70153 -:107B6000C8010F949C37181614F47501860120E0A3 -:107B700030E040E251E4B701C8010F94363660931B -:107B80005D0270935E0280935F029093600240E01A -:107B9000BE016F5E7F4FCE0101960E94C4CA409223 -:107BA0005D0250925E0260925F02709260020E94DB -:107BB0009C8422242394312CD10111972896BFAFA5 -:107BC000AEAF2897812C912C5401839427960FAC4B -:107BD000279704C0880C991CAA1CBB1C0A94D2F7D6 -:107BE000412C512C32014394022C04C0440C551CEE -:107BF000661C771C0A94D2F7482859286A287B28E3 -:107C000081E090E0FC0127960FAC279702C0EE0FB1 -:107C1000FF1F0A94E2F72A96FFAFEEAF2A9726E9F4 -:107C200038E126963FAF2EAF26978AE698E1249654 -:107C30009FAF8EAF2497A6EBB8E12296BFAFAEAF51 -:107C40002297C12CD12C2496EEADFFAD24976496DB -:107C5000FFAFEEAF649780819181A0E0B0E0842116 -:107C60009521A621B72184159505A605B70509F02C -:107C700099C02296AEADBFAD22978D919C91A0E0A8 -:107C8000B0E088219921AA21BB21892B8A2B8B2B3B -:107C900009F088C00091531A1091541AE090AF195E -:107CA000F090B01928962EAD3FAD28972E9DB001CB -:107CB0002F9D700D3E9D700D1124600F711F6E5F22 -:107CC0007F4F072E000C880B990B0F944D2E6BA73E -:107CD0007CA78DA79EA72E9CB0012F9C700D3E9C6B -:107CE000700D1124600F711F62507109072E000C76 -:107CF000880B990B0F944D2E6BA37CA38DA39EA391 -:107D00004AE351E061E070E0CE018B960F94C81019 -:107D10008091B1199091B219C89EB001C99E700DA1 -:107D2000D89E700D11248091551A9091561A680FA3 -:107D3000791F161617060CF09CC1643331E07307E7 -:107D400014F063E371E0072E000C880B990B0F947D -:107D50004D2E6F8F78A389A39AA36FA378A789A7C5 -:107D60009AA74AE351E061E070E0CE0183960F9458 -:107D7000C8104FA158A569A57AA5CE018B960E947F -:107D800083B381117BC12296AEADBFAD22978D9199 -:107D90009C9111972A96EEADFFAD2A978E2B9F2BC3 -:107DA0008D939C9324962EAD3FAD24972E5F3F4F2D -:107DB00024963FAF2EAF24976496AEADBFAD6497C7 -:107DC0008D919C91A0E0B0E088219921AA21BB214E -:107DD000892B8A2B8B2B09F4A9C0F9018081918111 -:107DE000A0E0B0E088219921AA21BB21892B8A2B10 -:107DF0008B2B09F49BC02696EEADFFAD26978081B4 -:107E00009181A0E0B0E088219921AA21BB21892B92 -:107E10008A2B8B2B09F08AC00091551A1091561AA3 -:107E2000E090B119F090B219CE9CB001CF9C700DCA -:107E3000DE9C700D1124600F711F6E5F7F4F072E47 -:107E4000000C880B990B0F944D2E6FA378A789A770 -:107E50009AA7C60101968E9DB0018F9D700D9E9DC3 -:107E6000700D1124600F711F62507109072E000CF4 -:107E7000880B990B0F944D2E6F8F78A389A39AA32B -:107E80008091AF199091B01928962EAD3FAD2897EB -:107E9000289FB001299F700D389F700D112480918B -:107EA000531A9091541A680F791F161617060CF082 -:107EB000FEC06B3331E0730714F06AE371E0072E04 -:107EC000000C880B990B0F944D2E6BA37CA38DA3F4 -:107ED0009EA36BA77CA78DA79EA743E351E061E01B -:107EE00070E0CE0187960F94C81043E351E061E043 -:107EF00070E0CE014F960F94C8104FA158A569A508 -:107F00007AA5CE018B960E9483B38111D5C02696A7 -:107F1000AEADBFAD26978D919C9111972A96EEAD8F -:107F2000FFAD2A978E2B9F2B8D939C93FFEFCF1A3B -:107F3000DF0A26962EAD3FAD26972E5F3F4F269641 -:107F40003FAF2EAF269722968EAD9FAD2297029619 -:107F500022969FAF8EAF229795E0C916D10409F003 -:107F600072CEAFEF2A1A3A0AB6E02B16310409F0A6 -:107F700023CE80910119809302192F96EEADFFADAB -:107F80002F9731972F96FFAFEEAF2F97EF2B41F042 -:107F90002D96FFAD2D97F7FD03C02FAD27FF35CBF5 -:107FA0006FEF86E892E20E9447F70E94F9B080E006 -:107FB00090E0A0EAB0E48093631290936412A093DF -:107FC0006512B093661219821A821B821C829E016E -:107FD0002F5F3F4F43E652E16FE572E18BE592E19F -:107FE0000E94BDB680918E1890918F18A091901824 -:107FF000B091911880935B1290935C12A0935D12E4 -:10800000B0935E1280918A1890918B18A0918C1871 -:10801000B0918D1880935F1290936012A0936112BB -:10802000B093621219821A821B821C829E012F5FFA -:108030003F4F43E652E16FE572E18BE592E10E942A -:10804000BDB662963FAD62973093411A0E94ADFC77 -:1080500061964FAD6197411151C010929F091092E6 -:108060009E090E9493A88091CE1290E00E94A49E47 -:1080700045C060E070E080E89FE36BCE4F8D58A173 -:1080800069A17AA1CE0183960E9483B3882309F463 -:108090007ACE9E01215E3F4FAE014D5D5F4FBE0126 -:1080A000695D7F4FCE018B960E9455B16CCE60E02A -:1080B00070E080E89FE309CF4F8D58A169A17AA1B4 -:1080C000CE0183960E9483B3882309F420CF9E01BA -:1080D000215E3F4FAE014D5D5F4FBE01695D7F4F39 -:1080E000CE018B960E9455B112CFFFADD42C252C1A -:1080F000362CC72CF4300CF097CB84CBCD5ADF4F05 -:108100000FB6F894DEBF0FBECDBFDF91CF911F91A8 -:108110000F91FF90EF90DF90CF90BF90AF909F9026 -:108120008F907F906F905F904F903F902F90089529 -:10813000082E000C990BFC01E65BFE4DE491EE234A -:1081400099F0F0E0EE0FFF1FE05DFE4DA591B491B8 -:108150002C91FC01E057FE4D8491822321E090E0B8 -:1081600009F420E0822F089580E090E00895CF93F5 -:10817000DF93C82F89EE98E20F945D1A0C2E000C45 -:10818000DD0BFE01E65BFE4D8491805C0E94AB53EB -:10819000FE01E057FE4DE49180E3E13021F0E695E9 -:1081A0008F5F8933D1F7DF91CF910C94AB534F920E -:1081B0005F926F927F928F929F92AF92BF92CF9277 -:1081C000DF92EF92FF920F931F93CF93DF93CDB780 -:1081D000DEB764970FB6F894DEBF0FBECDBF082F91 -:1081E000F62EE42E882E912C26E0829FC0011124C9 -:1081F000FC01E256F74D65907490FC01E456F74D92 -:108200005F0145905490F3018081482F487050E001 -:1082100060E070E07695679557954795F20110817B -:108220001370142BF4E0EF1209C0807190E0A0E00D -:10823000B0E0B695A79597958795182B82E998E2B7 -:108240000F945D1A005D802F0E94AB538F2D0E940A -:10825000AB5383E00F94521AF401EE0FFF1F8F2DE2 -:108260000F2C000C990B9E012F5F3F4F690133E0EB -:10827000E80DF91D81549109E80FF91FEE0FFF1F5A -:10828000E259F74DE3121BC0A591B4918C911F9256 -:108290008F9384E698E29F938F93DF92CF920F940F -:1082A000DE2D0F900F900F900F900F900F90F60112 -:1082B00081916F01882309F10E94AB53F8CFA591FA -:1082C000B49111968C9111978F938C918F938AE52D -:1082D00098E29F938F93DF92CF920F94DE2D0F90B1 -:1082E0000F900F900F900F900F90F60181916F01FA -:1082F000882319F00E94AB53F8CF612F70E080E51E -:1083000098E20F94221BF501C590D49084EC97E27B -:108310000F945D1A802F0E94AB53F2E4FF1691F088 -:1083200023E4F216F9F031E4F3122DC0F601408196 -:10833000429546954695437050E060E070E080ECD1 -:1083400097E21FC0F6014081407350E060E070E0AA -:1083500094E076956795579547959A95D1F78CEB6C -:1083600097E20FC0F60140814C7050E060E070E091 -:1083700082E076956795579547958A95D1F788EB72 -:1083800097E20F94F31AF3014081477050E060E0E8 -:1083900070E087E498E20F94F31A8EE398E20F946A -:1083A0005D1A802F0E94AB53F201608170E08AE376 -:1083B00098E20F94221B81E398E20F945D1A802FBC -:1083C0000E94AB53F301608170E08DE298E20F945C -:1083D000221B86E0889DF001899DF00D1124E05656 -:1083E000F74DC590D49083E298E20F945D1A802FE8 -:1083F0000E94AB53F601608170E080E298E20F9436 -:10840000221B00EC0F0DF3E0EF1207C0197F59F4A7 -:108410008CEC97E20F945D1A06C0812F8B7FC1F31D -:108420001C501230A8F3F601808190E0A0E0B0E08B -:1084300004C0B695A795979587950A95D2F780FFC2 -:1084400004C085EE97E20F945D1AF601808180FFEB -:1084500004C082E098E20F945D1A64960FB6F89417 -:10846000DEBF0FBECDBFDF91CF911F910F91FF9067 -:10847000EF90DF90CF90BF90AF909F908F907F90C4 -:108480006F905F904F900895CF93DF93C82FD0E007 -:10849000FE01EA52FE4DE4918E2F90E0FC013197EF -:1084A000E231F105E8F58827EF53FF4F8F4F0D9428 -:1084B000333543E061E402C043E062E480E02EC073 -:1084C00044E061E405C044E062E402C044E063E4E7 -:1084D00081E024C043E061E402C043E062E482E062 -:1084E0001DC044E061E405C044E062E402C044E031 -:1084F00063E483E013C044E061E405C044E062E467 -:1085000002C044E063E484E009C044E061E405C0E3 -:1085100044E062E402C044E063E485E00E94D7C026 -:1085200086EE98E20F945D1AFE01E65BFE4DE49143 -:10853000E230F9F4FE01E057FE4DE491E038C9F471 -:1085400082EE98E20F945D1A82E10F94521A8AED3E -:1085500098E20F945D1A80EC98E20F945D1A8EE019 -:108560000F94521A44E063E481E0DF91CF910C94C0 -:10857000D7C0DF91CF9108952F923F924F925F9293 -:108580006F927F928F929F92AF92BF92CF92DF9223 -:10859000EF92FF920F931F93CF93DF93CDB7DEB788 -:1085A000AC970FB6F894DEBF0FBECDBF182F6CA7E7 -:1085B000542EB22EA32E99E7692E99E2792E00E06F -:1085C00080E0812E012E000C99082AEC210F2BA7A8 -:1085D000FE0131967F01F30132964490242C312C18 -:1085E0002814390409F0A4C081115DC001115BC0D9 -:1085F000AF92BF9221E739E23F932F93FF92EF9220 -:108600000F94DE2DFAA6E9A60F900F900F900F9011 -:108610000F900F906701F60181916F01882319F087 -:108620000E94AB53F8CF1F924F922CE639E23F9352 -:108630002F93FF92EF920F94DE2D0F900F900F90DB -:108640000F900F900F906701F60181916F018823C1 -:1086500019F00E94AB53F8CF812F0E94B7C0FBA541 -:10866000F7FD1DC026E3221A31083F922F9282E6C1 -:1086700099E29F938F93FF92EF920F94DE2D0F90CC -:108680000F900F900F900F900F90E9A5FAA5819190 -:10869000FAA7E9A78823B1F00E94AB53F6CF88E090 -:1086A0000F94521A0FC08EE20E94AB53EB2DFA2D9D -:1086B000DF010D900020E9F78A2F8B19875E0F9458 -:1086C000521A01E0F301C590D490412CF601849137 -:1086D000811107C0312C87E2C82ED12CC418D108D3 -:1086E0000AC00E94AB534394FFEFCF1ADF0A27E280 -:1086F0004212ECCF0AC0832D90E08C159D052CF41E -:1087000080E20E94AB533394F6CF552069F0812F5D -:108710000E941551882309F4C9C03CA53111C6C077 -:1087200087E599E20F945D1A8AE00E94AB5381E0DD -:10873000F4E06F0E711C2DE662162AE2720609F053 -:108740004ACF8111F9C0AF92BF928AE299E29F931A -:108750008F93CE0101967C019F938F930F94DE2D12 -:1087600067010F900F900F900F900F900F9057018F -:10877000F50181915F01882319F00E94AB53F8CF76 -:108780009F928F9285E299E29F938F93FF92EF924F -:108790000F94DE2D0F900F900F900F900F900F9071 -:1087A0005701F50181915F01882319F00E94AB53B5 -:1087B000F8CF812F0E94B7C00AEC010F07FD1BC044 -:1087C000C401C6979F938F938BE199E29F938F93F8 -:1087D000FF92EF920F94DE2D0F900F900F900F905D -:1087E0000F900F905701F50181915F01882331F0BF -:1087F0000E94AB53F8CF88E00F94521A8AE099E2B6 -:108800000F945D1A552009F44DC0812F0F94910AE1 -:10881000811142C0812F0F94FF0C882331F087E132 -:108820000F94521A82E399E22CC0003128F5802F70 -:108830000F94F51D092E000CAA0BBB0BBF93AF9331 -:108840009F938F9386EF98E29F938F93FF92EF927F -:108850000F94DE2D0FB6F894DEBF0FBECDBFF6012C -:1088600081916F01882319F00E94AB53F8CF82EFFA -:1088700098E20F945D1A03C087E10F94521A8CE3BB -:1088800099E20F945D1A812F0E9498C0BC01990F44 -:10889000880B990B0E941F5487E10F94521A812F65 -:1088A0000E9444C28AE00E94AB5346C0F301339653 -:1088B000E491E11121C08BA50F94F51D092E000C48 -:1088C000AA0BBB0BBF93AF939F938F9386E499E260 -:1088D0009F938F93FF92EF920F94DE2D67010FB657 -:1088E000F894DEBF0FBECDBFF60181916F018823E2 -:1088F000E9F00E94AB53F8CF812F0F94FF0C811148 -:1089000003C08CE399E207C0812F0F94910A811173 -:108910000DC082E399E20F945D1A812F0E9498C0E6 -:10892000BC01990F880B990B0E941F540111FCCEBA -:10893000812F0E9444C2F8CEAC960FB6F894DEBFE9 -:108940000FBECDBFDF91CF911F910F91FF90EF90A0 -:10895000DF90CF90BF90AF909F908F907F906F905F -:108960005F904F903F902F9008952F923F924F929B -:108970005F926F927F928F929F92AF92BF92CF92AF -:10898000DF92EF92FF920F931F93CF93DF9300D06C -:108990001F92CDB7DEB72DB63EB684E50E94158591 -:1089A000882309F441C060E089E40E946B85082FA8 -:1089B00061E070E082E50E94F7B46C0160E070E075 -:1089C00083E50E94F7B4182F65E470E08CE40E9400 -:1089D000F7B45C0164EF71E087E50E94F7B42C0105 -:1089E000990F66087708812F90E0A816B906CCF099 -:1089F0001634A8F4011156C1812F0E941551882305 -:108A000009F450C120E337E041E060E0812F0E948B -:108A1000BCC28AE00E94AB538AE00E94AB531F5F46 -:108A2000E2CF8DE69AE299C085E40E9415858823FD -:108A3000B1F00E94CA848093D5118AE79DE20F9419 -:108A40005D1A8091D511811103C08CE69DE202C0B0 -:108A500080E79DE20F945D1A83E79DE27EC083E587 -:108A60000E941585882309F47BC060E080E50E94A0 -:108A700006B5082F10E0B80182E19DE20F94221B99 -:108A8000F801EE0FFF1FEE0FFF1FE359FC4F60814F -:108A9000718181E09DE20F94041B6AE570E080EF34 -:108AA0009CE20F94041B8AE00E94AB5362E170E0E9 -:108AB0008CED9CE20F94221B8AE00E94AB5380EC69 -:108AC0009CE20F945D1A84E79AE20F945D1A8AE0A3 -:108AD0000E94AB5353985B9A8BEA9CE20F945D1A09 -:108AE00054EF452E55245394612C712C49825A829F -:108AF0006B827C82BE016F5F7F4F80EA0E94098A91 -:108B00006EEE862E62E0962EA12CB12C89829A827E -:108B1000AB82BC82BE016F5F7F4F8AE50E94098AEB -:108B20007801EE0CFF1C4B990DC149825A826B8271 -:108B30007C82BE016F5F7F4F8CE30E94098A4B9954 -:108B4000E3C000C18FEFE81AF80A98E9E9169AE342 -:108B5000F90609F046C18AE79AE20F945D1ADAC174 -:108B600060E070E080E50E94F7B48C01F82E80E5AB -:108B70000E945E85811107C0E5E4E01708F4CAC1D0 -:108B800095E4E92E01C0E02E60E089E40E946B8547 -:108B9000582E60E087E50E946B85882309F47FC02A -:108BA0008DB69EB68DE59DE20F945D1A6801DD24B9 -:108BB0008E2D90E08C199D0901962DB73EB7281B8C -:108BC000390B0FB6F8943EBF0FBE2DBF8DB79EB7C1 -:108BD00001965C01E01660F0063440F4511064C167 -:108BE000802F0E941551882309F45EC10F5FF2CFD8 -:108BF0004090DF1883E08093DF1881E08093271A8C -:108C000044E45DE26DE47DE282E00E947F8684E3DD -:108C10009DE20E94EDD37F2CE71418F195E497159F -:108C2000F0F0511005C0872D0E941551811117C019 -:108C3000872D0E94EFB2682E072D10E00C191D0938 -:108C40000A0D1B1DF8018081681649F027EE35E0FA -:108C500040E0652D872D0E94BCC2F80160827394AC -:108C6000DBCF8091271A882339F068EC70E080E030 -:108C700090E00F942E1ACFCF4092DF180FB6F894E1 -:108C80009EBE0FBE8DBE46C1F5E4FF1538F027EE3F -:108C900035E041E0652D8F2D0E94BCC2F394EF14A6 -:108CA00098F738C1A8952BE337E041E0602F812F7A -:108CB0000E94BCC261E0812F0E9447B3E12CF12CDD -:108CC000EC14FD040CF0A8CEA89560E0812F0E9462 -:108CD00018B3C301B2010F942E1AA89561E0812F39 -:108CE0000E9418B3C301B2010F942E1AA89560E038 -:108CF000812F0E9418B3C301B2010F942E1AA895B8 -:108D00002FEFE21AF20ADCCF89829A82AB82BC8210 -:108D1000BE016F5F7F4F8AE00E94098A4B9912C0A3 -:108D200089829A82AB82BC82BE016F5F7F4F8AE5E7 -:108D30000E94098A86E69CE20F945D1ACC24C394B3 -:108D4000D12C36C08DE49CE20F945D1A84E0B82EDD -:108D5000C701800F911F9C012052344E69016AE0C7 -:108D600070E0C6010E94335264EF71E080E090E051 -:108D70000F942E1AA9B06AE570E0C6010E94335222 -:108D800064EF71E080E090E00F942E1A89B1BA94FC -:108D9000B110E5CF8870D82EA3FE9CC08DE19CE277 -:108DA0000F945D1ADD2009F4A2C0C12CDD24D394F8 -:108DB0000E0D1F1D0052144E6AE070E0C8010E94A3 -:108DC000335264EF71E080E090E00F942E1A89E353 -:108DD0009BE20F945D1AE12CF12C34EFA32EBB24FF -:108DE000B39462E070E080E090E00F942E1AC70127 -:108DF000B5010F940B35892B51F40F944E1E6093DF -:108E0000581A7093591A80935A1A90935B1A89B121 -:108E100083FB882780F98D1509F494CEE12CF12C81 -:108E200089B183FB882780F9D81669F062E070E089 -:108E300080E090E00F942E1A8FEFE81AF80A9FE076 -:108E4000E916F10469F78BE29BE20F945D1A3FE0AB -:108E5000E316F10449F48BE19BE20F945D1ACC20F8 -:108E6000A9F08FEF9AE214C0B701660F771F8EE06A -:108E70009BE20F94041B8AE00E94AB5334E0E3169C -:108E8000F10408F044C085E99AE206C08FEE9AE248 -:108E90000F945D1A80EC9AE20F945D1A6AE570E017 -:108EA000C8010E94335236C062E0802F0E9447B34F -:108EB00061E070E080E090E00F94141E602E712C51 -:108EC0006C187D08802F0E94EFB2F501E60DF71DAA -:108ED00080838CCE882349F08FEF9BE20F945D1A3C -:108EE00066E477E08EEB9BE20AC0C12C61CF8FEF86 -:108EF0009BE20F945D1A61E777E08EED9BE20F94A1 -:108F00002F1B8AE00E94AB5383E69BE226CE8CECBB -:108F10009AE2BECF0FB6F8943EBE0FBE2DBE0F90A4 -:108F20000F900F900F90DF91CF911F910F91FF90B5 -:108F3000EF90DF90CF90BF90AF909F908F907F90F9 -:108F40006F905F904F903F902F90089563E00C9446 -:108F5000A6AECF93DF93E091540BF0E0EA52F34ECC -:108F60008081882309F447C083EA9EE20F945D1A4A -:108F7000C091540B80E6C89FE0011124CC52D64F1B -:108F800088818E3479F480E20E94AB5389910E94EB -:108F9000AB53899190ED980F9A30C8F38D32B9F3A5 -:108FA0008B32A9F380EA9EE20F945D1A8091E61B52 -:108FB0009091E71B891B8F706FE070E0681B71094F -:108FC000072E000C880B990B0E941F548DE99EE21E -:108FD0000F945D1A8091550B64E070E0681B710975 -:108FE000072E000C880B990B0E941F548AE0DF911A -:108FF000CF910C94AB53DF91CF9108959091D1090B -:10900000E92FF0E0EA52F34E80839F5F943018F42A -:109010009093D10902C01092D1098091550B8F5FB6 -:109020008093550B0895CF93DF93EC0188818823BB -:1090300049F18A3039F18D3029F18B33F9F0809183 -:10904000550B8430D8F48091D10920E6829FC0016D -:109050001124BE018C52964F0F949A3880E00E94E2 -:10906000FEC70F94461BBE0180E99EE20F942F1BA2 -:109070008DE89EE2DF91CF910D945D1A80E00E9411 -:10908000D754D4CFDF91CF9108955F926F927F92A2 -:109090008F929F92AF92BF92CF92DF92EF92FF9208 -:1090A0000F931F93CF93DF93CDB7DEB76DB67EB628 -:1090B0007C0100E010E08DB69EB6F701E00FF11FD5 -:1090C0005490C80101965C01552029F09AE0591688 -:1090D00011F08501F2CF8DB79EB78A199B090FB6A3 -:1090E000F8949EBF0FBE8DBF01966C01A801B70119 -:1090F0000F94802DF601E00FF11F1082C6010E942F -:1091000013C8552041F0EA0CFB1C0FB6F8949EBE24 -:109110000FBE8DBED0CF0FB6F8947EBE0FBE6DBE13 -:10912000DF91CF911F910F91FF90EF90DF90CF9043 -:10913000BF90AF909F908F907F906F905F900895B9 -:10914000CF92DF92EF92FF928AE50E945E8588239C -:1091500021F10E94DE846B017C0120E030E040EAD6 -:1091600051EC0F949C3787FD13C020E030E040EABB -:1091700051E4C701B6010F94462E18164CF0C09268 -:109180007F12D0928012E0928112F09282128FC0F0 -:109190000F94421B80E79EE228C088E50E945E850E -:1091A000882349F10E94DE846B017C0120E030E8D5 -:1091B0004DE953EC0F949C3787FD13C020E030E855 -:1091C0004DE953E4C701B6010F94462E18164CF032 -:1091D000C0927712D0927812E0927912F0927A12BD -:1091E00066C00F94421B80E59EE2FF90EF90DF90F7 -:1091F000CF900D945D1A89E50E945E85882321F148 -:109200000E94DE846B017C0120E030E04AE953ECEF -:109210000F949C3787FD13C020E030E04AE953E407 -:10922000C701B6010F94462E18164CF0C0927B125F -:10923000D0927C12E0927D12F0927E1238C00F9490 -:10924000421B80E39EE2D1CF0F94461B40917712E0 -:10925000509178126091791270917A128FE19EE2AA -:109260000F94111B8AE00E94AB5340917B125091E6 -:109270007C1260917D1270917E128EE09EE20F94BE -:10928000111B8AE00E94AB5340917F1250918012D3 -:1092900060918112709182128DEF9DE20F94111BEB -:1092A0008AE0FF90EF90DF90CF900C94AB53FF904B -:1092B000EF90DF90CF9008958F929F92AF92BF92E0 -:1092C000CF92DF92EF92FF920F931F93CF93109262 -:1092D0008A19109289192FE3209300191092FF1810 -:1092E0001092FE181092FA181092FB181092FC18A7 -:1092F0001092FD189C01F90190812F5F3F4F903231 -:10930000D1F39E34C9F4818190ED980F9A3020F00A -:109310008D3211F08B3281F4DF0112969D012F5FA7 -:109320003F4F8C9180538A3010F4D901F7CFFD0163 -:10933000119680818032D9F3F093CD12E093CC1254 -:109340008F010F5F1F4FC0816AE270E0C8010F9468 -:109350008F38009731F0FC01319780818032E1F342 -:109360001182CD3429F0C43519F0C73409F000C199 -:10937000F80180810F5F1F4F8032D1F380538A3014 -:1093800008F0F6C0C09300191092FF181092FE1852 -:109390004AE08091FE189091FF18489F9001499FE4 -:1093A000300D11243093FF182093FE183196DF0101 -:1093B00011978C91082E000C990BC097820F931F68 -:1093C0009093FF188093FE18208120532A3008F3D1 -:1093D000DF0131962C912032D9F3CD34D1F48E3186 -:1093E000910591F03CF48731910571F08C31910534 -:1093F00081F40AC08537910564F08737910524F020 -:10940000803A23E0920729F4B0938A19A09389192E -:10941000AFC010928A19109289191091CC12C12CE8 -:10942000D12C7601C394FD0131964C91442309F46B -:109430009FC04132A1F4CD3491F48032910579F48A -:10944000F0938A19E093891963E270E0CF010F94D9 -:109450008F38009709F48CC0FC01108289C04154F8 -:109460004A3108F059C0BF01FB0120816F5F7F4F77 -:109470002032D1F330ED320F3A3010F12E3211F4A8 -:1094800021810CC02D3211F02B3259F4218130EDA5 -:10949000320F3A30A8F02E3221F4228120532A30A4 -:1094A00078F02091891930918A19232B09F05DC039 -:1094B0009F012150310930938A192093891955C091 -:1094C0009F01A42FB0E04601570104C0880C991CED -:1094D000AA1CBB1C4A95D2F7B501A4018090FA18CA -:1094E0009090FB18A090FC18B090FD1848295929BD -:1094F0006A297B294093FA185093FB186093FC1853 -:109500007093FD182115310511F0211B01C020E0D9 -:10951000A052B74E2C930AC02091891930918A1914 -:10952000232B21F4B0938A19A09389192081215407 -:109530002A3110F4DF0177CFAF01FA01DA012D9162 -:109540002223C1F330ED320F3A3010F4AD01F5CFE4 -:1095500033ED320F3230D0F32B32C1F3FA014F5FCB -:109560005F4F20812032D1F3E5CF20E030E0A9CF5A -:10957000CF911F910F91FF90EF90DF90CF90BF9010 -:10958000AF909F908F9008952F923F924F925F924D -:109590006F927F928F929F92AF92BF92CF92DF9203 -:1095A000EF92FF920F931F93CF93DF93CDB7DEB768 -:1095B000C454D1090FB6F894DEBF0FBECDBF9AA731 -:1095C00089A77CAB6BAB142FDB018D909D90AD9088 -:1095D000BC9013972401350177FA709477F8709452 -:1095E0001496CD90DD90ED90FC901797A701960111 -:1095F00050582D8B3E8B4F8B588FA3019201C30186 -:10960000B2010F94AC2E6D8F7E8F8F8F98A32D8912 -:109610003E894F89588DCA01B9010F94AC2E9B0128 -:10962000AC016D8D7E8D8F8D98A10F943C350F947C -:10963000EA376DAB7EAB8FAB98AF8091CF12909134 -:10964000D012A091D112B091D2128D8F9E8FAF8F78 -:10965000B8A39C01AD01C501B4010F943C3569AFBD -:109660007AAF8BAF9CAF2091D3123091D41240913E -:10967000D5125091D6122DA33EA34FA358A7C701D0 -:10968000B6010F943C3521966CAF7DAF8EAF9FAF86 -:109690002197A9A5BAA58D919D910D90BC91A02D62 -:1096A00089A39AA3ABA3BCA329AD3AAD4BAD5CADE6 -:1096B000BC01CD010F943B356B017C01A9A5BAA576 -:1096C00014962D913D914D915C9117972BA73CA736 -:1096D0004DA75EA721962CAD3DAD4EAD5FAD219758 -:1096E0006BA57CA58DA59EA50F943B354B015C0118 -:1096F0002091D7123091D8124091D9125091DA129C -:1097000025962CAF3DAF4EAF5FAF2597A9A5BAA563 -:1097100018966D917D918D919C911B970F943B357F -:10972000698F7A8F8B8F9C8FA7019601C301B2013D -:109730000F94AC2E6FA778AB89AB9AABA5019401BF -:109740006D897E898F89988D0F94AC2E9B01AC0119 -:109750006FA578A989A99AA90F943C356FA778AB12 -:1097600089AB9AABA5019401C301B2010F94AC2E51 -:109770004B015C01A70196016D897E898F89988DC7 -:109780000F94AC2E9B01AC01C501B4010F943B3585 -:109790002FA538A949A95AA90F94BB356B017C01A3 -:1097A00020E030E0A9010F94462E87FF0AC02BED80 -:1097B0003FE049EC50E4C701B6010F943C356B0122 -:1097C0007C012BED3FE049EC50E4C701B6010F945A -:1097D000363620E030E040EC51E40F94AC2E0F948C -:1097E0001A360F94AF361B01672B19F422242394E9 -:1097F000312C112351F02BED3FE049EC50E4C7012F -:10980000B6010F943B356B017C0120E030E0A901EB -:10981000C701B6010F94462E811123C029A13AA198 -:109820004BA15CA16D8D7E8D8F8D98A10F94462EDE -:10983000811117C02BA53CA54DA55EA56DA17EA1EC -:109840008FA198A50F94462E81110BC038E1232ECD -:10985000312C4BEDC42E4FE0D42E49ECE42E40E4E5 -:10986000F42E2DA93EA94FA958ADC701B6010F94FA -:10987000AC2E4B015C0120E030E0A901698D7A8DAE -:109880008B8D9C8D0F94462E8823D9F0A5019401D1 -:10989000C501B4010F94AC2E4B015C01298D3A8DAA -:1098A0004B8D5C8DCA01B9010F94AC2E9B01AC01AC -:1098B000C501B4010F943C350F94EA374B015C01AC -:1098C0000DC020E030E0A901C501B4010F949C3720 -:1098D00087FF04C0B7FAB094B7F8B0942FE632E12E -:1098E00043E85AE3C501B4010F94462E87FDFCC13D -:1098F0002091DB123091DC124091DD125091DE128A -:1099000029A33AA34BA35CA3C501B4010F94DE368F -:109910000F94AF367EA36DA36215730510F43EA2BB -:109920002DA2ADA1BEA1BD0180E090E00F944B2E11 -:109930004B015C019B01AC01C701B6010F943636A7 -:109940006D8F7E8F8F8F98A3A5019401698D7A8D7D -:109950008B8D9C8D0F9436366DAB7EAB8FAB98AFF5 -:1099600029A13AA14BA15CA1E9A5FAA56485758559 -:10997000868597850F943B35A50194010F94363663 -:109980006FA778AB89AB9AAB2D8D3E8D4F8D58A1CB -:10999000CA01B9010F94AC2E20E030E040E05FE353 -:1099A0000F94AC2E9B01AC0160E070E080E89FE377 -:1099B0000F943B356BA77CA78DA79EA725962CAD52 -:1099C0003DAD4EAD5FAD259729873A874B875C87C4 -:1099D00089A19AA1ABA1BCA18D879E87AF87B88BC7 -:1099E0006091660270916702072E000C880B990B3C -:1099F0000F944D2E20915D0230915E0240915F02E6 -:109A0000509160020F94AC2E2AE037ED43E25CE304 -:109A10000F94AC2E698B7A8B8B8B9C8B0F944E1E84 -:109A20009B01AC0128533F4F4F4F5F4F29A33AA3EF -:109A30004BA35CA322242394312C39E1398F4DA10F -:109A40005EA12416350608F021C10F9445110F942C -:109A50004E1EDC01CB0129A13AA14BA15CA1821BC6 -:109A6000930BA40BB50BB7FD0FC00F944E1E9B01BB -:109A7000AC0128533F4F4F4F5F4F29A33AA34BA34D -:109A80005CA380E00E94D754398D3150398F332345 -:109A9000E9F12BA53CA54DA55EA56D897E898F8931 -:109AA000988D0F94AC2E6B017C012D8D3E8D4F8DCA -:109AB00058A1C301B2010F94AC2EA70196010F94D7 -:109AC0003C356B017C012BA53CA54DA55EA5C301D2 -:109AD000B2010F94AC2E4B015C012D8D3E8D4F8D4C -:109AE00058A16D897E898F89988D0F94AC2E9B012A -:109AF000AC01C501B4010F943B352B013C01C601FB -:109B0000D7018D8B9E8BAF8BB88F66C0B10180E083 -:109B100090E00F944B2E2D8D3E8D4F8D58A10F94BC -:109B2000AC2E6B017C010F9431366D8B7E8B8F8B4D -:109B3000988FC701B6010F94DC374B015C01ABA9CC -:109B4000BCA9CD90DD90ED90FC901397F7FAF094BE -:109B5000F7F8F09414962D913D914D915C911797E3 -:109B6000298F3A8F4B8F5C8FA70196016D897E8973 -:109B70008F89988D0F94AC2E2B013C01298D3A8D45 -:109B80004B8D5C8DC501B4010F94AC2E9B01AC01D3 -:109B9000C301B2010F943C352B013C01A701960192 -:109BA000C501B4010F94AC2E6B017C01298D3A8D57 -:109BB0004B8D5C8D6D897E898F89988D0F94AC2E2D -:109BC0009B01AC01C701B6010F943B356D8B7E8BB9 -:109BD0008F8B988FB9E1B98F29AD3AAD4BAD5CADA4 -:109BE000C301B2010F943C3569837A838B839C83D4 -:109BF00021962CAD3DAD4EAD5FAD21976D897E892F -:109C00008F89988D0F943C356D837E838F839887E1 -:109C10002DA93EA94FA958AD69857A858B859C856C -:109C20000F943C3569877A878B879C872FA538A945 -:109C300049A95AA96D857E858F8598890F943C35F1 -:109C40006D877E878F87988BCE0101960E94C8DC36 -:109C5000A12CB12C90E8C92E9FE3D92EE090CE1212 -:109C60008E010F5E1F4F9E01235F3F4FAE01475F86 -:109C70005F4FBE016B5F7F4FCE0101960E9443FC98 -:109C8000882321F0EFEF2E1A3E0AD9CE80E1E9A514 -:109C9000FAA5DE01119601900D928A95E1F7CE01A9 -:109CA00001960E94C8DCA12CB12C80E8C82E8FE35D -:109CB000D82EE090CE128E010F5E1F4F9E01235FC3 -:109CC0003F4FAE01475F5F4FBE016B5F7F4FCE01DD -:109CD00001960E9443FC80E1FE013196AFECB2E1B7 -:109CE00001900D928A95E1F7CC5BDF4F0FB6F894A7 -:109CF000DEBF0FBECDBFDF91CF911F910F91FF90BF -:109D0000EF90DF90CF90BF90AF909F908F907F901B -:109D10006F905F904F903F902F900895CF92DF9279 -:109D2000EF92FF921F93CF93DF93C0918919D09147 -:109D30008A1980E50E945E85882359F00F94CB0E26 -:109D40006B017C0111E0672B682B692B31F410E06B -:109D500004C010E0C12CD12C760183E50E945E8501 -:109D6000882309F465C00E94DE8420E030E04AE7E1 -:109D700054E40F94AC2E0F94AF366B017C0111119B -:109D800009C0672B682B692B29F4209719F088816B -:109D9000811102C010E001C011E00E9485F9112379 -:109DA00011F0CE0102C08BE997E00E94EDD3C09183 -:109DB000DF1883E08093DF1881E08093271A42EE5A -:109DC0005DE26BEE7DE282E00E947F8680ED9DE2A7 -:109DD0000E94EDD3C114D104E104F104A9F00F9461 -:109DE0004E1EC60ED71EE81EF91E0F944E1EDC0135 -:109DF000CB018C199D09AE09BF09B7FF0DC0809139 -:109E0000271A811118C008C08091271A882321F0D1 -:109E100080E00E94D754F8CF1092271AC093DF1821 -:109E2000DF91CF911F91FF90EF90DF90CF90089539 -:109E30001111B0CFAACF80E00E94D754D6CF0F9394 -:109E40001F93CF938C01C62F8BEC9DE20F945D1A6C -:109E5000C8010F945D1A8AE30E94AB536C2F70E027 -:109E600080E090E00E941F54CF911F910F910C94BD -:109E7000B054EF92FF921F93CF93DF93CDB7DEB72D -:109E8000C454D1090FB6F894DEBF0FBECDBF84E431 -:109E90000E941585882309F44DC181EC9DE20F9441 -:109EA0005D1A20916B1230916C1240916D1250919D -:109EB0006E126091CF127091D0128091D112909158 -:109EC000D2120F943C3569AF7AAF8BAF9CAF209123 -:109ED0006F12309170124091711250917212609114 -:109EE000D3127091D4128091D5129091D6120F9402 -:109EF0003C3521966CAF7DAF8EAF9FAF21972091FF -:109F000073123091741240917512509176126091D3 -:109F1000D7127091D8128091D9129091DA120F94C1 -:109F20003C3525966CAF7DAF8EAF9FAF2597CE01A8 -:109F3000C9960E94A6C788EB9DE20F945D1A8FEC2C -:109F400092E10E94A6C78091CF129091D012A09169 -:109F5000D112B091D2128DA79EA7AFA7B8AB8091B6 -:109F6000D3129091D412A091D512B091D61289AB90 -:109F70009AABABABBCAB8091D7129091D812A091A9 -:109F8000D912B091DA128DAB9EABAFABB8AF8FEAFE -:109F90009DE20F945D1AAE014B5C5F4FBE016F5C9A -:109FA0007F4FCE018D960E94CDFBCE018D960E94F3 -:109FB000A6C786EA9DE20F945D1A8DA59EA5AFA562 -:109FC000B8A989A39AA3ABA3BCA389A99AA9ABA951 -:109FD000BCA98DA39EA3AFA3B8A78DA99EA9AFA925 -:109FE000B8AD89A79AA7ABA7BCA7CE0181960E945E -:109FF00096FBCE0181960E94A6C70E9485F98DE945 -:10A000009DE20F945D1A8CEEE82E82E0F82E10E0AF -:10A0100080E20E94AB53F70181917F010E94AB5314 -:10A020008AE30E94AB53812F0F9489150E941F541D -:10A030001F5F143069F78AE00E94AB5384E99DE208 -:10A040000F945D1A0E9496E180918B1990918C1962 -:10A05000A0918D19B0918E19898B9A8BAB8BBC8B8B -:10A0600080918F1990919019A0919119B0919219A6 -:10A070008D8B9E8BAF8BB88F809193199091941993 -:10A08000A0919519B0919619898F9A8FAB8FBC8F3B -:10A0900083E00E9403FB6D8F7E8F8F8F98A364E017 -:10A0A000CE0141960E94A6AE2DA53EA54FA558A96A -:10A0B00069897A898B899C890F943B3569837A8376 -:10A0C0008B839C8329A93AA94BA95CA96D897E89B8 -:10A0D0008F89988D0F943B356D837E838F8398870E -:10A0E0002DA93EA94FA958AD698D7A8D8B8D9C8D78 -:10A0F0000F943B3569877A878B879C872091DB1289 -:10A100003091DC124091DD125091DE126D8D7E8D0A -:10A110008F8D98A10F943B356D877E878F87988BA5 -:10A120008BE89DE20F945D1A64E0CE0101960E94D7 -:10A13000A6AE04C00E9485F90E9422E2CC5BDF4FEC -:10A140000FB6F894DEBF0FBECDBFDF91CF911F9148 -:10A15000FF90EF9008954F925F926F927F928F924F -:10A160009F92AF92BF92CF92DF92EF92FF920F93A6 -:10A170001F93CF93DF93CDB7DEB77C014DB65EB6AC -:10A180006090CC127090CD128DB69EB66AE070E0F1 -:10A19000C7010F94892D6C01009721F08C010E19D5 -:10A1A0001F0904C0C7010F94942D8C01C8010196AA -:10A1B0002DB73EB7281B390B0FB6F8943EBF0FBE24 -:10A1C0002DBF8DB79EB701965C01A801B7010F9412 -:10A1D000B52DF501E00FF11F1082C5010E945CC989 -:10A1E00081E00E94DE39C114D10451F076019FEF65 -:10A1F000E91AF90A0FB6F8949EBE0FBE8DBEC4CF01 -:10A200000FB6F8949EBE0FBE8DBEC3010E945CC9FE -:10A210000FB6F8945EBE0FBE4DBEDF91CF911F9179 -:10A220000F91FF90EF90DF90CF90BF90AF909F90F5 -:10A230008F907F906F905F904F900895CF93DF93B2 -:10A24000C091540B80E6C89FE0011124CC52D64F38 -:10A250008091271280FF05C00F94461BCE010E94FB -:10A26000B654CE010E945CC980E0DF91CF910C947E -:10A27000DE398091090180FD06C08091F41D83FBC9 -:10A28000882780F9089580E008950F931F93CF9356 -:10A29000DF938B01D82FC92F4630C1F41092C9111A -:10A2A0001092CA111092CB111092CC111092CD11B4 -:10A2B0000E9493A820E030E04CE053E4B8018D2FD9 -:10A2C0009C2F0F94462E87FD0FC01DC00E942BF8B7 -:10A2D00020E030E046E953E4B8018D2F9C2F0F9425 -:10A2E000462E87FD20C02EC020E030E0A901B80135 -:10A2F0008D2F9C2F0F949C3718164CF000E010E027 -:10A30000D0E0C0E004C000E010E0DCE0C3E4B8014D -:10A310008D2F9C2F0F94A836CB01DF91CF911F91E9 -:10A320000F910C948E8420E030E0A901B8018D2FAC -:10A330009C2F0F949C3718164CF000E010E0D0E0F2 -:10A34000C0E004C000E010E0D6E9C3E4B8018D2FFE -:10A350009C2F0F94A836CB01DF91CF911F910F91C5 -:10A360000C94A49E9091601A977081E0973009F048 -:10A3700080E008958091E61B9091E71B891B8F7008 -:10A3800069F48091550B811109C081E02091D209B7 -:10A390003091D309232B19F480E0089581E00895CA -:10A3A000E091CE12E150E53028F4F0E0EC5FFC4F94 -:10A3B0008081089580E008953F924F925F926F925E -:10A3C0007F928F929F92AF92BF92CF92DF92EF9245 -:10A3D000FF920F931F93CF93DF93CDB7DEB76297B2 -:10A3E0000FB6F894DEBF0FBECDBF2B013C01342E5B -:10A3F00024E0429FC00111249A8B898BFC01E15318 -:10A40000FD4EC080D180E280F38020E030E04AE75A -:10A4100054E4C701B6010F943B354B015C0120E0C9 -:10A4200030E04AE754E4C701B6010F943C357B01A4 -:10A430008C01809165028823D1F181E0381639F1D1 -:10A440003816A0F092E0391232C080904F029090FE -:10A450005002A0905102B0905202E0905302F0904E -:10A460005402009155021091560221C080903F0283 -:10A4700090904002A0904102B0904202E0904302CE -:10A48000F0904402009145021091460210C0809065 -:10A49000470290904802A0904902B0904A02E09092 -:10A4A0004B02F0904C0200914D0210914E0280E15F -:10A4B000E4EFF2E0DE01119601900D928A95E1F74A -:10A4C000E1E0F0E0EC0FFD1F89899A89E80FF91FA0 -:10A4D00020E030E040E752E4608171818281938125 -:10A4E0000F94363660935D0270935E0280935F0234 -:10A4F000909360028091611A81FF0E949C84920176 -:10A50000A301B701C8010F949C37181614F4720107 -:10A5100083019701A801B401C5010F94462E87FD60 -:10A5200002C074018501E989FA89E55AFD4EC70127 -:10A53000D80180839183A283B3838091611A826062 -:10A540008093611A62960FB6F894DEBF0FBECDBF3E -:10A55000DF91CF911F910F91FF90EF90DF90CF90FF -:10A56000BF90AF909F908F907F906F905F904F9033 -:10A570003F9008952091611A90E0880F991F880FED -:10A58000991FFC0121FF03C0E55AFD4E02C0E153B3 -:10A59000FD4E608171818281938108952091611ABD -:10A5A00020FF14C020E83EE3629FA001639F500D8E -:10A5B000729F500D1124CA0196958795969587959F -:10A5C000009731F08A950000E9F708950D942E1A4E -:10A5D00008959F92AF92BF92CF92DF92EF92FF9237 -:10A5E0000F931F93CF93DF938091CC1E833009F597 -:10A5F0000E94B2D18823E9F060919E0970919F0971 -:10A60000072E000C880B990B0F944D2E20E030E0A4 -:10A6100040E85FE30F943B3520919A0930919B0904 -:10A6200040919C0950919D090F94462E18160CF0EC -:10A6300062C0D0E0FF24F39400E010E0EE24E39445 -:10A6400045E0D42EC0E0CC24C39455E0B52E65E09F -:10A65000A62E72E8972EFC24DC16D1F18D2F90E007 -:10A660004897A4F5DF5FF801BC9EE00DF11D1124B1 -:10A67000EE0FFF1FEE0FFF1FED53F64E20E030E010 -:10A680004AE754E460817181828193810F94AC2EFA -:10A690000F94A8367093791C6093781CA0926C1C60 -:10A6A00090926F1C8D2F90E08158974F880F991FC3 -:10A6B000092E000CAA0BBB0B8093701C9093711C8D -:10A6C000A093721CB093731C0F946807CE0DC4CF77 -:10A6D0000F5F1F4F0530110579F1F11006C0EE2410 -:10A6E000EA94DD24DA94C4E0B6CFEE24E39435E0B6 -:10A6F000D32EC0E0B0CF81E09AE59093791C80938F -:10A70000781C80E490E090937B1C80937A1C87E017 -:10A7100080936C1C82E880936F1C84E890E0A0E03A -:10A72000B0E08093701C9093711CA093721CB09346 -:10A73000731C0F9468077DCFDF91CF911F910F910C -:10A74000FF90EF90DF90CF90BF90AF909F900895D3 -:10A75000AF92BF92CF92DF92EF92FF920F931F932F -:10A76000CF93DF93EC0188EEC82E80E2D82EE12C47 -:10A77000F12C02E8A12C90E2B92E15E000936F1C99 -:10A78000C092701CD092711CE092721CF092731CEB -:10A79000B092791CA092781C10936C1C0F946807DF -:10A7A0008FEFC81AD80AE80AF80A80E1C81681E2D1 -:10A7B000D806E104F10411F748EE50E260E070E0E1 -:10A7C000CE01DF91CF911F910F91FF90EF90DF901D -:10A7D000CF90BF90AF900D94170784E08093CB1E6D -:10A7E00082E08093B80881E09AE59093791C809389 -:10A7F000781C8EE490E090937B1C80937A1C87E019 -:10A8000080936C1C82E880936F1C84E890E0A0E049 -:10A81000B0E08093701C9093711CA093721CB09355 -:10A82000731C0F9468078EEA97E00C94B654CF928D -:10A83000DF92EF92FF926A017B010E945E8588237E -:10A8400031F0FF90EF90DF90CF900C94DE84C70141 -:10A85000B601FF90EF90DF90CF9008952F923F9236 -:10A860004F925F926F927F928F929F92AF92BF9220 -:10A87000CF92DF92EF92FF920F931F93CF93DF93CC -:10A88000CDB7DEB7CC54D1090FB6F894DEBF0FBEFA -:10A89000CDBF60E070E085E40E94F7B4182F81E03E -:10A8A000810F823018F08CED90E340C065E070E0DD -:10A8B00083E40E94F7B489A760E085E50E946B8578 -:10A8C0002B968FAF2B9717FF05C040E050E06CE848 -:10A8D00072E404C040E050E066E173E483E50E9466 -:10A8E00017D40F94A836072E000C880B990B0F94E1 -:10A8F0004D2E6D837E838F832D969FAF2D970F9462 -:10A900004E1E2B013C011F3F09F0EBC420E030E05C -:10A9100047E053E46D817E818F812D969FAD2D9709 -:10A920000F949C371816ECF481EB90E3C45BDF4F77 -:10A930000FB6F894DEBF0FBECDBFDF91CF911F9150 -:10A940000F91FF90EF90DF90CF90BF90AF909F90CE -:10A950008F907F906F905F904F903F902F900D94CD -:10A960005D1A8DE990E30F945D1A0E94E2A88FE7CB -:10A970008093A00924EB30E0A8EEB3E00F94F0340C -:10A980006BA77CA78DA79EA79B01AC01240D351D4D -:10A99000461D571D28AF39AF4AAF5BAF81E08093AA -:10A9A0001402109239021F3FF9F48BEA9AEAAAEADC -:10A9B000BEE38CAF9DAFAEAFBFAF2DEC3CEC4CE433 -:10A9C0005EE324962CAF3DAF4EAF5FAF249745EECC -:10A9D0005FE226965FAF4EAF26978FEA9FE22896FA -:10A9E0009FAF8EAF28971EC020E030E040E05EE3CE -:10A9F0002CAF3DAF4EAF5FAF8AE999E9A9E1BFE364 -:10AA000024968CAF9DAFAEAFBFAF2497A3EDBFE24E -:10AA10002696BFAFAEAF2697ECE9FFE22896FFAFD0 -:10AA2000EEAF289749A25AA26BA27CA24FA658AAC1 -:10AA300069AA7AAA2FE730E040E050E028873987FA -:10AA40004A875B87188A198A1A8A1B8A1C861D8680 -:10AA50001E861F86C12CD12C76011E8A30E43F8BC6 -:10AA60004CE1488F56E4598F1A8E1B8E1C8E1D8E1A -:10AA70001BAACCAADDAAEEAAFFAAFFE78F2E912C73 -:10AA8000A12CB12C1DA21EA21FA218A681E088A392 -:10AA90001D8A1C8A212C312C00E02C961FAE2C978D -:10AAA000A7E11A02C00111248158964FFC013A9681 -:10AAB0002A96FFAFEEAF2A979C012C5F3F4F3F8F46 -:10AAC0002E8F49A5042E000C550B5AA749A780913B -:10AAD0001402882309F457C20F944E1E69837A83A7 -:10AAE0008B839C838091D411882309F4BAC00E947F -:10AAF00051A91F3F61F420909A0930909B09009161 -:10AB00009C0950919D092C965FAF2C970EC0AE8D7D -:10AB1000BF8D2C9011963C90119712960C91129724 -:10AB20001396BC912C96BFAF2C972A8D3B8D4C8DE4 -:10AB30005D8DB101802F2C969FAD2C970F949C3783 -:10AB400018163CF42A8E3B8E0C8F2C96EFAD2C976A -:10AB5000ED8F2E893F89488D598DB101802F2C961C -:10AB60009FAD2C970F94462E87FF07C02E8A3F8AF1 -:10AB7000088F2C96FFAD2C97F98F28A1222309F47A -:10AB80004DC09101402F2C965FAD2C976D817E8139 -:10AB90008F812D969FAD2D970F94462E87FF61C014 -:10ABA00049815A816B817C8144195509660977096D -:10ABB000DB01CA0188589341A109B109B7FD51C011 -:10ABC00088859985AA85BB8588199909AA09BB0931 -:10ABD000B595A795979587951F3F19F48093A00980 -:10ABE00005C02A96EEADFFAD2A9780834DA35EA3E4 -:10ABF0006FA378A7FD81FA8F2E812B8F3F813C8F29 -:10AC00002D964FAD2D974D8F89819A81AB81BC8157 -:10AC100089A39AA3ABA3BCA318A223C09101402F80 -:10AC20002C965FAD2C976D817E818F812D969FAD87 -:10AC30002D970F949C371816A4F489819A81AB81C3 -:10AC4000BC8129A13AA14BA15CA1821B930BA40B4F -:10AC5000B50BAC01BD01485853416109710977FF3B -:10AC6000B1C120E030E040EA51E46D817E818F8106 -:10AC70002D969FAD2D970F943C359101402F2C962A -:10AC80005FAD2C970F94462E87FF03C087E090E3BB -:10AC9000BCC089819A81AB81BC812FA538A949A903 -:10ACA0005AA9821B930BA40BB50BB7FD93C01F3F92 -:10ACB00019F48091CE1201C0812F0E94049F8AE076 -:10ACC0000E94AB5389819A81AB81BC818053984F9C -:10ACD000AF4FBF4F8FA798ABA9ABBAAB9BA9911150 -:10ACE00059C02CA93DA94EA95FA9B101802F2C966E -:10ACF0009FAD2C970F949C371816BCF520E030E0E0 -:10AD000040E050E4B101802F2C969FAD2C970F941A -:10AD10003C356CAB7DAB8EAB9FAB2BA53CA54DA55D -:10AD20005EA589819A81AB81BC81280F391F4A1F9A -:10AD30005B1F28AF39AF4AAF5BAF20E030E040EC9B -:10AD400050E46D817E818F812D969FAD2D970F945C -:10AD50003B359101402F2C965FAD2C970F94462EDA -:10AD6000881F8827881F8BAB35C089819A81AB816A -:10AD7000BC8128AD39AD4AAD5BAD821B930BA40BF2 -:10AD8000B50BB7FD27C026964EAD5FAD269768EF91 -:10AD90007FE21DC020E030E040EA51E46D817E8119 -:10ADA0008F812D969FAD2D970F943B359B01AC0164 -:10ADB000B101802F2C969FAD2C970F94462E87FFC4 -:10ADC00009C028964EAD5FAD289763EC7FE2812FD6 -:10ADD0000F940B1189819A81AB81BC81880F991FD7 -:10ADE000AA1FBB1F29A13AA14BA15CA1821B930BF7 -:10ADF000A40BB50B84199509A609B70981389F449E -:10AE0000A241B10528F08EE79FE20F945D1ABBC006 -:10AE100049A55AA58C899D89481759070CF0B0C0DF -:10AE200003970CF4ADC081E29FE20F945D1A1F3FBF -:10AE300029F4A1E1BFE2BA83A98304C0E0E1FFE203 -:10AE4000FA83E9838FEF9EE20F945D1A89819A81DC -:10AE50000F945D1AB701A6018DE19FE20F94111BBB -:10AE60008AE00E94AB538FEF9EE20F945D1A8981B6 -:10AE70009A810F945D1A4C855D856E857F8589E189 -:10AE80009FE20F94111B8AE00E94AB538FEF9EE26A -:10AE90000F945D1A89819A810F945D1A48895989A6 -:10AEA0006A897B8985E19FE20F94111B8AE00E94E9 -:10AEB000AB532B96FFAD2B97FF2309F466C01F3FC2 -:10AEC00069F5C092A109D092A209E092A309F0927B -:10AED000A4092CEA35EC47E25EE36C857D858E851E -:10AEE0009F850F94AC2E6093A5097093A60980935B -:10AEF000A7099093A8092CEA35EC47E25EE368893C -:10AF000079898A899B890F9436366093A909709351 -:10AF1000AA098093AB099093AC0937C047E11402AA -:10AF2000900111242158364F3A832983D9011B9669 -:10AF3000CD92DD92ED92FC921E972CEA35EC47E221 -:10AF40005EE36C857D858E859F850F94AC2EE981AF -:10AF5000FA816787708B818B928B2CEA35EC47E204 -:10AF60005EE3688979898A899B890F943636A9813D -:10AF7000BA8153966D937D938D939C93569705C09C -:10AF80000E94D71DA4CD0E94E2A881E080933902DF -:10AF9000C45BDF4F0FB6F894DEBF0FBECDBFDF91AD -:10AFA000CF911F910F91FF90EF90DF90CF90BF90C6 -:10AFB000AF909F908F907F906F905F904F903F9059 -:10AFC0002F9008954C895D89452B09F451C14DA0FE -:10AFD0005EA06FA078A4480E591E6A1E7B1E2DA18C -:10AFE0003EA14FA158A5281B390B4A0B5B0BC5018D -:10AFF000B4010F948C34A30192010F94BE34888461 -:10B000009984AA84BB84820E931EA41EB51E54E1AB -:10B0100085169104A104B1040CF18CEE88169104FC -:10B02000A104B1043CF490E889169104A104B10490 -:10B0300034F422C06BEE862E912CA12CB12C888684 -:10B040009986AA86BB862EEF30E040E050E02819B2 -:10B0500039094A095B0949015A0112C084E190E0AB -:10B06000A0E0B0E088879987AA87BB8754E1852E46 -:10B07000912CA12CB12C04C088869986AA86BB8607 -:10B0800085E990E30F945D1A688579858A859B85AB -:10B090000E941F5480E990E30F945D1AC501B4012A -:10B0A0000E941F544E895F89688D798D89E890E3ED -:10B0B0000F94111B4A8D5B8D6C8D7D8D82E890E322 -:10B0C0000F94111BAC89BD8913970CF4D1C0C50135 -:10B0D000B4010F944D2E20E030E040E850E40F948E -:10B0E000AC2E6B017C012E893F89488D598D6A8D6C -:10B0F0007B8D8C8D9D8D0F943B352BED3FE049E48E -:10B1000050E40F94AC2E20E030E040E05FE30F9479 -:10B11000AC2E9B01AC01C701B6010F9436366B0112 -:10B120007C01C301B2010F944D2E2FE632E143E8BA -:10B130005AE30F94AC2E2B013C01B701A6018CE71A -:10B1400090E30F94111BB301A20186E790E30F94E3 -:10B15000111B1F3F09F044C02DEC3CEC4CE45EE3B6 -:10B16000C701B6010F94AC2E6B017C019B01AC01B1 -:10B170000F943C35A30192010F9436366C877D877E -:10B180008E879F87A7019601C301B2010F94AC2E51 -:10B1900020E030E040E450E40F943636688B798B41 -:10B1A0008A8B9B8B86E690E30F945D1AB701A6010C -:10B1B00080E690E30F94111B4C855D856E857F853D -:10B1C0008AE590E30F94111B488959896A897B8924 -:10B1D00084E590E30F94111B8AE00E94AB534AC0B0 -:10B1E00024962CAD3DAD4EAD5FAD2497C701B601A1 -:10B1F0000F94AC2E6B017C019B01AC01C301B20129 -:10B200000F94AC2E2CAD3DAD4EAD5FAD0F94AC2E7A -:10B21000688B798B8A8B9B8BA7019601C701B6013E -:10B220000F943C35A30192010F9436366C877D87CD -:10B230008E879F8784E490E30F945D1AB701A6017F -:10B240008EE390E30F94111B4C855D856E857F85A1 -:10B2500088E390E30F94111B488959896A897B8997 -:10B2600082E390E30F94111B8AE00E94AB5311C05C -:10B270001F3F79F488859985AA85BB85880D991D1E -:10B28000AA1DBB1DB595A795979587958093A00995 -:10B2900011C088859985AA85BB85880D991DAA1D31 -:10B2A000BB1DB595A795979587952A96EEADFFADF1 -:10B2B0002A9780832C893D892F5F3F4F3D8B2C8BB4 -:10B2C0003D813E8B4E814F8B5F81588F2D968FAD88 -:10B2D0002D97898F49805A806B807C8091E098A35C -:10B2E000C0CCE12E012E000CFF08F70183E0EE0F29 -:10B2F000FF1F8A95E1F7E45FFD4F668177816F500C -:10B300007109072E000C880B990B0F944D2E9B0191 -:10B31000AC016D817E818F812D969FAD2D970F940D -:10B320009C3718160CF400CB8DE990E30F945D1A4E -:10B330000E94E2A887E18E9DF0018F9DF00D1124FF -:10B34000E158F64F8FE7828722E330E015CB2F924A -:10B350003F924F925F926F927F928F929F92AF92A5 -:10B36000BF92CF92DF92EF92FF920F931F93CF93F2 -:10B37000DF93EB01FC0180809180A280B380C50146 -:10B38000B40120E831E541E050E00F949C34C9015C -:10B390006DE671E00F940B356B017C01C501B401C2 -:10B3A00020E13EE040E050E00F949C34CA01B90136 -:10B3B00028E130E040E050E00F949C34362E272EF8 -:10B3C000062F172F8CE3482E512C612C712CC501B0 -:10B3D000B401A30192010F949C34B62EA72ECA018A -:10B3E000B901A30192010F949C34CB01C114D10483 -:10B3F000D9F0AF92BF927F936F932F923F92FF92BB -:10B40000EF92DF92CF928BEE9EE29F938F93DF932A -:10B41000CF930F94DE2D8DB79EB70E960FB6F8948E -:10B420009EBF0FBE8DBF5CC0E114F104C9F0AF92A6 -:10B43000BF927F936F932F923F92FF92EF928BED8B -:10B440009EE29F938F93DF93CF930F94DE2DEDB702 -:10B45000FEB73C960FB6F894FEBF0FBEEDBF40C0DE -:10B46000012BB9F0AF92BF927F936F932F923F92CF -:10B470008FEC9EE29F938F93DF93CF930F94DE2DFB -:10B480008DB79EB70A960FB6F8949EBF0FBE8DBFBC -:10B4900027C0892BA9F0AF92BF927F936F9387EC5F -:10B4A0009EE29F938F93DF93CF930F94DE2DEDB7A2 -:10B4B000FEB738960FB6F894FEBF0FBEEDBF10C0B2 -:10B4C000AF92BF9283EC9EE29F938F93DF93CF93D3 -:10B4D0000F94DE2D0F900F900F900F900F900F9004 -:10B4E000DF91CF911F910F91FF90EF90DF90CF9060 -:10B4F000BF90AF909F908F907F906F905F904F9094 -:10B500003F902F9008958F929F92AF92BF92CF92CB -:10B51000DF92EF92FF920F931F93CF93DF93CDB7FC -:10B52000DEB7E6970FB6F894DEBF0FBECDBF009131 -:10B53000891910918A1982E08093C60BF801019055 -:10B540000020E9F731975F01A01AB10AF801CF0195 -:10B55000801B910B8A159B0534F480818F3209F48E -:10B5600010823196F4CF8BE1E8E5FBE1DE015C96D9 -:10B5700001900D928A95E1F7E12CF12CEA14FB047D -:10B580000CF084C0F801EE0DFF1D8081811103C015 -:10B590008FEFE81AF80A6801CE0CDF1CF6018081F3 -:10B5A000882309F473C0FFEFEF1AFF0AF801EE0DCC -:10B5B000FF1D7F01E01AF10A81918111FACFCE01BE -:10B5C0004C960E949A988BE1FE017C96DE011196C2 -:10B5D00001900D928A95E1F7A601BE016F5F7F4F42 -:10B5E00080E090E00E947F60CE0101960E94D09999 -:10B5F0008FE20E94AB538091F714811103C088EC55 -:10B6000097E002C087EF94E14C01F40181914F0172 -:10B61000882319F00E94AB53F8CF8091F41D84FF6A -:10B6200035C019821C8221E0A601BE01645E7F4FF5 -:10B63000CE0101960E94B39D811116C08AE00E943E -:10B64000AB530F94461B8FEA9EE20F945D1AF601EE -:10B6500081916F01882319F00E94AB53F8CFCE017E -:10B6600001960E94D09912C0CE014C960E94C799B3 -:10B670008BE1FE013196DE015C9601900D928A9578 -:10B68000E1F7CE0101960E94D09978CF8AE00E941E -:10B69000AB53CE014C960E94D099E6960FB6F89423 -:10B6A000DEBF0FBECDBFDF91CF911F910F91FF90F5 -:10B6B000EF90DF90CF90BF90AF909F908F900895C4 -:10B6C0009091F41D93FB882780F993FF06C081E0D9 -:10B6D0009091021B911101C080E00895E1E0F9E131 -:10B6E0008081818386EA9EE20F945D1A809185199C -:10B6F00090918619A0918719B0918819BC01CD014C -:10B700006F5F7F4F8F4F9F4F0E941F540E94B05416 -:10B710000C94A9C70F931F93CF938C01C62F0F943E -:10B72000421BC8010F945D1A6091851970918619AA -:10B7300080918719909188190E941F540E94B054DB -:10B74000C11104C00E94C3540196E1F70E946EDB50 -:10B75000EC2FEE0FFF0BED57F64E11821082CF91BA -:10B760001F910F910895AF92BF92CF92DF92EF9207 -:10B770000F931F93A12CB12C6501E090CE128C0188 -:10B780002BED32E147ED52E163ED72E18FEC92E196 -:10B790000E9443FC1F910F91EF90DF90CF90BF90DC -:10B7A000AF900895CF93C82FCB01009711F00F945D -:10B7B0005D1A85E191E30F945D1AC11103C086E023 -:10B7C00091E302C08BE091E30F945D1A8AE0CF9180 -:10B7D0000C94AB532F923F924F925F926F927F9255 -:10B7E0009F92AF92BF92CF92DF92EF92FF920F9310 -:10B7F0001F93CF93DF93CDB7DEB768970FB6F8945A -:10B80000DEBF0FBECDBFA82E1A012B01922EB32E84 -:10B81000C82ED12CF601E05BF94CE491EE24E394C0 -:10B820001E160CF4E12CFF24F39420E030E0A90173 -:10B83000C201B1010F949C3718160CF0F12CFE24B4 -:10B8400061F082E0A81209C081E00E9413AE69E1B4 -:10B8500070E080E090E00F942E1A80E00E9403FBDD -:10B8600069837A838B839C8381E00E9403FB6D83D1 -:10B870007E838F83988782E00E9403FB69877A87A3 -:10B880008B879C8783E00E9403FB6D877E878F8771 -:10B89000988BCC0CDD1CCC0CDD1C66246394712CC5 -:10B8A0006C0E7D1E6C0C7D1CF301108211821282C5 -:10B8B00013829E01235F3F4FAE01475F5F4FBE0182 -:10B8C0006B5F7F4FCE0101960E94F2F9F301208257 -:10B8D0003182428253821D8A1E8A1F8A188EE0900E -:10B8E000CE1220E030E0A901B801892D9B2D0F94E4 -:10B8F000462E81110AC0F601E95FF94C85919591B8 -:10B90000A591B4918C019A2EBB2EC801A92DBB2DF7 -:10B91000898B9A8BAB8BBC8B8091D6119091D71170 -:10B92000892B91F4CE0145966C018E010F5E1F4F5D -:10B930009E01235F3F4FAE01475F5F4FBE016B5FCC -:10B940007F4F44970E9418700E9485F9FF2041F0B4 -:10B9500092E0A91203C080E00E9413AE0E94ECEABC -:10B9600068960FB6F894DEBF0FBECDBFDF91CF91C2 -:10B970001F910F91FF90EF90DF90CF90BF90AF900D -:10B980009F907F906F905F904F903F902F90089581 -:10B99000CF92DF92EF92FF92CF93DF9320916502D7 -:10B9A000222309F485C0EC01C0903F02D0904002F0 -:10B9B000E0904102F0904202288139814A815B8106 -:10B9C000C701B6010F949C37181624F4C882D98297 -:10B9D000EA82FB82C0904302D0904402E09045028C -:10B9E000F0904602288139814A815B81C701B60106 -:10B9F0000F94462E87FF04C0C882D982EA82FB8258 -:10BA0000C0904702D0904802E0904902F0904A026C -:10BA10002C813D814E815F81C701B6010F949C3717 -:10BA2000181624F4CC82DD82EE82FF82C0904B0295 -:10BA3000D0904C02E0904D02F0904E022C813D815E -:10BA40004E815F81C701B6010F94462E87FF04C067 -:10BA5000CC82DD82EE82FF82C0904F02D0905002F5 -:10BA6000E0905102F0905202288539854A855B8525 -:10BA7000C701B6010F949C37181624F4C886D986DE -:10BA8000EA86FB86C0905302D0905402E0905502A3 -:10BA9000F0905602288539854A855B85C701B60135 -:10BAA0000F94462E87FF04C0C886D986EA86FB8697 -:10BAB000DF91CF91FF90EF90DF90CF9008952F927C -:10BAC0003F924F925F926F927F928F929F92AF922E -:10BAD000BF92CF92DF92EF92FF920F931F93CF937B -:10BAE000DF93CDB7DEB7E4970FB6F894DEBF0FBE95 -:10BAF000CDBF8BE592E10E94C8DC8091271283FDC7 -:10BB000081C0C0906712D0906812E0906912F090E6 -:10BB10006A122091DB123091DC124091DD125091BB -:10BB2000DE12C701B6010F94462E882309F46AC0BD -:10BB30008091261281111FC0609183097091840940 -:10BB400080918509909186090F94A836209157021B -:10BB5000309158026217730774F4C092DB12D092CE -:10BB6000DC12E092DD12F092DE120F94461B85EAA1 -:10BB700091E30F945D1A8090671290906812A090E4 -:10BB80006912B0906A122091DB123091DC12409160 -:10BB9000DD125091DE12C501B4010F943B356B01EB -:10BBA0007C0120E030E0A9010F949C3787FF04C09E -:10BBB000F7FAF094F7F8F094E091CE1284E0E89F61 -:10BBC000F0011124E15DFD4F2081318142815381DB -:10BBD000C701B6010F94AC2E20E030E04AEF53E4E9 -:10BBE0000F949C37181674F48092DB129092DC123A -:10BBF000A092DD12B092DE120F94461B86E891E30C -:10BC00000F945D1A8091E712E0906602F09067024F -:10BC1000882309F18090E8129090E912A090EA122E -:10BC2000B090EB1220E030E0A901C501B4010F94FF -:10BC3000462E882309F45DC020916312309164126E -:10BC40004091651250916612C501B4010F949C3762 -:10BC500018160CF44EC0B701FF0C880B990B0F940B -:10BC60004D2E20915D0230915E0240915F02509115 -:10BC700060020F94AC2E2AE037ED43E25CE30F94B0 -:10BC8000AC2E69837A838B839C83A12CB12C6501B4 -:10BC9000E090CE128E010F5F1F4F27E632E143E6A0 -:10BCA00052E16FE572E18BE592E10E9443FC80E195 -:10BCB000EBE5F2E1AFECB2E101900D928A95E1F78C -:10BCC000E4960FB6F894DEBF0FBECDBFDF91CF91E3 -:10BCD0001F910F91FF90EF90DF90CF90BF90AF90AA -:10BCE0009F908F907F906F905F904F903F902F909C -:10BCF0000895B701FF0C880B990B0F944D2E2091DE -:10BD00005D0230915E0240915F02509160020F949B -:10BD1000AC2E2AE037ED43E25CE30F94AC2E69A32E -:10BD20007AA38BA39CA32091CF123091D012409183 -:10BD3000D1125091D21260915B1270915C1280917D -:10BD40005D1290915E120F943B3569A77AA78BA77D -:10BD50009CA72091D3123091D4124091D5125091CA -:10BD6000D61260915F127091601280916112909171 -:10BD700062120F943B352B013C0120E030E0A90119 -:10BD800069A57AA58BA59CA50F94462E81110DC09F -:10BD900020E030E0A901C301B2010F94462E8111C9 -:10BDA00004C0A12CB12C6501E5C02091D7123091BF -:10BDB000D8124091D9125091DA12609163127091A9 -:10BDC000641280916512909166120F943B356DA7B5 -:10BDD0007EA78FA798AB2091DB123091DC124091A7 -:10BDE000DD125091DE12609167127091681280919D -:10BDF000691290916A120F943B356DA37EA38FA3B5 -:10BE000098A729A53AA54BA55CA5CA01B9010F942D -:10BE1000AC2E6B017C01A3019201C301B2010F940E -:10BE2000AC2E9B01AC01C701B6010F943C356B01F0 -:10BE30007C012DA53EA54FA558A9CA01B9010F94B3 -:10BE4000AC2E9B01AC01C701B6010F943C350F9499 -:10BE5000EA376B017C012DEB37E346E855E30F949D -:10BE6000462E87FF13C020E030E0A9016DA17EA11E -:10BE70008FA198A50F949C37CDA0DEA0EFA0F8A4C9 -:10BE800087FF04C0F7FAF094F7F8F0942DEB37E34E -:10BE900046E855E3C701B6010F94462E87FD07CF4C -:10BEA00020E030E040EA51E4C701B6010F94363695 -:10BEB0000F94AF361B01672B19F422242394312CE5 -:10BEC000B10180E090E00F944B2E9B01AC0160E04B -:10BED00070E080E89FE30F9436364B015C019B01D4 -:10BEE000AC01C701B6010F94AC2E69AB7AAB8BAB3A -:10BEF0009CABA501940169A57AA58BA59CA50F947F -:10BF0000AC2E698B7A8B8B8B9C8BA5019401C30122 -:10BF1000B2010F94AC2E6D8B7E8B8F8B988FA50109 -:10BF200094016DA57EA58FA598A90F94AC2E698F5D -:10BF30007A8F8B8F9C8FA50194016DA17EA18FA11B -:10BF400098A50F94AC2E6D8F7E8F8F8F98A380E174 -:10BF5000EFECF2E1DE01119601900D928A95E1F786 -:10BF60009924939491E0291A310851F4A9A8BAA808 -:10BF7000CBA8DCA8E090CE128E010F5D1F4F8DCEB6 -:10BF80008091A219811112C00F944E1EDC01CB01C9 -:10BF900088539F4FAF4FBF4F80939E1990939F1927 -:10BFA000A093A019B093A1199092A2190F944511D2 -:10BFB0000F944E1EC0909E19D0909F19E090A0192A -:10BFC000F090A119DC01CB018C199D09AE09BF09C4 -:10BFD000B7FD13C00F944E1EDC01CB0188539F4F59 -:10BFE000AF4FBF4F80939E1990939F19A093A019B4 -:10BFF000B093A11980E00E94D7546E01E1E1CE0E0A -:10C00000D11CCE0101967C015601F601219131919E -:10C01000419151916F01F70160817181828193811A -:10C020000F943C35F70161937193819391937F0154 -:10C03000AE16BF0651F7A9A8BAA8CBA8DCA8E09015 -:10C04000CE128E010F5D1F4F9E01235F3F4FAE0149 -:10C05000475F5F4FBE016B5F7F4FCE0101960E942D -:10C0600043FC81117FCF82CFA82FB0E0CD01880F94 -:10C07000991F880F991FFC01E658FE4C4591559178 -:10C080006591749133E0AA0FBB1F3A95E1F7A15C6B -:10C09000BD4F4D935D936D937C931397FC01E259D3 -:10C0A000FE4C459155916591749114964D935D9315 -:10C0B0006D937C931797089580919A1990919B198D -:10C0C000A0919C19B0919D1980935D0290935E029E -:10C0D000A0935F02B0936002809198199091991992 -:10C0E0009093670280936602089580915D0290911B -:10C0F0005E02A0915F02B091600280939A199093C2 -:10C100009B19A0939C19B0939D1980916602909100 -:10C110006702909399198093981984E690E0909320 -:10C1200067028093660208954F925F926F927F92AA -:10C130008F929F92AF92BF92CF92DF92EF92FF9237 -:10C140000F931F93CF93DF93CDB7DEB72C970FB626 -:10C15000F894DEBF0FBECDBF2B013C0129873A8783 -:10C160004B875C8747015801F601E080F18002812E -:10C17000138120E030E0A901B701C8010F94462ED9 -:10C1800081110BC0EFE0F6E385919591A591B491F3 -:10C19000582F492F3A2F2B2F04C05E2D4F2D302FB3 -:10C1A000212F852F942FA32FB22F89839A83AB83BE -:10C1B000BC8320E030E0A901B701C8010F94462EEE -:10C1C000811108C0E0905902F0905A0200915B0280 -:10C1D00010915C02C701D8018D839E83AF83B8871D -:10C1E000A50194016091D7127091D8128091D91253 -:10C1F0009091DA120F94462E87FF0CC08092D712CE -:10C200009092D812A092D912B092DA12CE01019671 -:10C210000E94B3DB4092CF125092D0126092D112A2 -:10C220007092D21289859A85AB85BC858093D31292 -:10C230009093D412A093D512B093D612CE01059646 -:10C240000E94B3DB2091D7123091D8124091D912BD -:10C250005091DA12C501B4010F94462E87FF0CC02D -:10C260008092D7129092D812A092D912B092DA127C -:10C27000CE0101960E94B3DB0E9485F92C960FB681 -:10C28000F894DEBF0FBECDBFDF91CF911F910F910C -:10C29000FF90EF90DF90CF90BF90AF909F908F90E6 -:10C2A0007F906F905F904F900895CF92DF92EF92C2 -:10C2B000FF920F931F936A01E090D712F090D8126B -:10C2C0000091D9121091DA12FB0120813181428153 -:10C2D0005381FC0160817181828193810E9494E08D -:10C2E0001F910F91FF90EF90DF90CF900895CF9224 -:10C2F000DF92EF92FF920F931F936B01FC01E0809E -:10C30000F18002811381EFECF2E1248135814681D5 -:10C31000578160817181828193810E9494E01F9195 -:10C320000F91FF90EF90DF90CF900895CF93DF9320 -:10C3300080E00E9403FBCBE8D9E1688379838A839C -:10C340009B8381E00E9403FB6C837D838E839F83AC -:10C3500082E00E9403FB688779878A879B87DF9149 -:10C36000CF9108951F93CF93DF93CDB7DEB760973A -:10C370000FB6F894DEBF0FBECDBF182F0E9496E116 -:10C3800080918B1990918C19A0918D19B0918E1973 -:10C3900089839A83AB83BC8380918F199091901984 -:10C3A000A0919119B09192198D839E83AF83B88724 -:10C3B0008091931990919419A0919519B091961923 -:10C3C00089879A87AB87BC878091DB129091DC12BA -:10C3D000A091DD12B091DE128D879E87AF87B88B5A -:10C3E000CE0101960E9496FB1E3F51F480E1FE01B2 -:10C3F0003196AFECB2E101900D928A95E1F716C04B -:10C4000024E0129FC0011124FC01E153FD4EA1E084 -:10C41000B0E0AC0FBD1FA80FB91F8D919D910D907D -:10C42000BC91A02D80839183A283B38360960FB6C5 -:10C43000F894DEBF0FBECDBFDF91CF911F9108955D -:10C440000C94B9AD4F925F926F927F928F929F92B0 -:10C45000AF92BF92CF92DF92EF92FF9220916B1238 -:10C4600030916C1240916D1250916E126091CF120A -:10C470007091D0128091D1129091D2120F943C35CC -:10C48000AB01BC018BE691E30F94111B20916F125D -:10C490003091701240917112509172126091D312CA -:10C4A0007091D4128091D5129091D6120F943C3590 -:10C4B000AB01BC0187E691E30F94111B209173122D -:10C4C0003091741240917512509176126091D7128A -:10C4D0007091D8128091D9129091DA120F943C3554 -:10C4E000AB01BC0183E691E30F94111B4091DB1279 -:10C4F0005091DC126091DD127091DE128FE591E3B4 -:10C500000F94111B80916F00982F927081FF05C0CE -:10C5100080916F008D7F80936F0040904E1E5090F1 -:10C520004F1E6090501E7090511E8090521E909031 -:10C53000531EA090541EB090551EC090561ED09011 -:10C54000571EE090581EF090591E992329F08091B3 -:10C550006F00826080936F0085E591E30F945D1A10 -:10C56000C301B2010E941F5481E591E30F945D1A4B -:10C57000C501B4010E941F548DE491E30F945D1A2C -:10C58000C701B6010E941F548AE0FF90EF90DF9030 -:10C59000CF90BF90AF909F908F907F906F905F9063 -:10C5A0004F900C94AB538091C209811105C08091CA -:10C5B000C409811101C0089580919719659B02C03B -:10C5C000816001C08E7F80939719909103018091C3 -:10C5D000971991FF02C0826001C08D7F80939719E7 -:10C5E000809197194B9B02C0846001C08B7F809320 -:10C5F00097198091231180FF10C08091C30980FF9B -:10C600000CC08091971980FF08C08091560B816003 -:10C610008093560B80E00F946115809123118695CD -:10C6200080FF11C08091C309869580FF0CC0809166 -:10C63000971981FF08C08091560B82608093560B3A -:10C6400081E00F946115809123118695869580FF76 -:10C6500016C08091C3098695869580FF10C0809191 -:10C66000C409882361F08091971982FF08C08091E6 -:10C67000560B84608093560B82E00D9461150895EB -:10C68000CF93DF9300D01F92CDB7DEB784EF91E058 -:10C69000A0E0B0E089839A83AB83BC83BE016F5F67 -:10C6A0007F4F8CE30E94098A83E391E30F945D1A24 -:10C6B0008CB16DE271E385FB882780F90E94D2DBA3 -:10C6C0008091030167E271E3869581700E94D2DB5D -:10C6D00089B161E271E383FB882780F90E94D2DB94 -:10C6E00088E191E30F945D1A82E00E94EFB221E0AD -:10C6F000892B09F420E060E070E0822F0E94D2DBF9 -:10C7000088E191E30F945D1A80E20E94AB5382E3CB -:10C710000E94AB538FE00E94EFB221E0892B09F415 -:10C7200020E060E070E0822F0E94D2DB8EEE92E08B -:10C73000A0E0B0E04B9911C089839A83AB83BC839E -:10C74000BE016F5F7F4F8AE00E94098A0F900F90B1 -:10C750000F900F90DF91CF91089589839A83AB83D7 -:10C76000BC83BE016F5F7F4F8AE5EECF8091C20927 -:10C77000811104C08091C409882331F062E070E027 -:10C7800080E090E00D942E1A08959F92AF92BF9290 -:10C79000CF92DF92EF92FF920F931F93CF93DF938D -:10C7A0008CEEA82E82E0B82E0BE512E1CFECD2E1A0 -:10C7B0009BE6C92E92E1D92E22EEE22E28E0F22E3F -:10C7C000912CF50181915F010E945E85882309F11A -:10C7D0000E94DE84F7012081211104C02091EB0822 -:10C7E000222339F0288139814A815B810F943C35BD -:10C7F0000AC0F3E09F1639F0F601208131814281B1 -:10C8000053810F943B35F801608371838283938356 -:10C8100009C088819981AA81BB81F80180839183B5 -:10C82000A283B38393940C5F1F4F2496F4E0CF0E42 -:10C83000D11C2FEFE21AF20A84E09812C2CF40E036 -:10C8400050E0BA0186E40E9417D420E030E0A9014C -:10C850000F949C37181684F40E94DE8420E030E0A8 -:10C8600040E752E40F94363660935D0270935E02A7 -:10C8700080935F02909360028091271283FD28C00D -:10C880008091B009882321F12091DB123091DC12D4 -:10C890004091DD125091DE12609167127091681222 -:10C8A0008091691290916A120F943B352091BD09D5 -:10C8B0003091BE094091BF095091C0090F943C3599 -:10C8C0006093BD097093BE098093BF099093C0091E -:10C8D000DF91CF911F910F91FF90EF90DF90CF905C -:10C8E000BF90AF909F900895CF9384E50E945E859E -:10C8F000882301F10E94B684C82F8230ECF00F9497 -:10C90000461B8DE40E94AB536091FE187091FF1896 -:10C91000072E000C880B990B0E941F546C2FCC0F14 -:10C92000770B88E292E30F94221B8AE00E94AB53BC -:10C930008FEF02C08091CE12CF910895CF92DF92F7 -:10C94000EF92FF921F93CF93DF93CDB7DEB7A097FF -:10C950000FB6F894DEBF0FBECDBF80E090E0A8E434 -:10C96000B2E489839A83AB83BC8380E090E0A0E249 -:10C97000B1E48D839E83AF83B88789879A87AB871D -:10C98000BC870E9474E4F82E87FDF3C00E944BAE72 -:10C99000882321F084E292E30E94ABD01091CE1262 -:10C9A000212F30E08F2D0F2C000C990B2817390701 -:10C9B00021F060E08F2D0E9474A285E40E9415850D -:10C9C000882381F00E94DE846B017C0120E030E04E -:10C9D000A9010F949C3787FF0BC0F7FAF094F7F882 -:10C9E000F09406C0C12CD12C80E8E82E80E4F82E0B -:10C9F000F7FAF094F7F8F094C98ADA8AEB8AFC8A9D -:10CA00008AE50E945E85882351F040E050E0BA013B -:10CA10008AE50E9417D469877A878B879C8788E587 -:10CA20000E945E85882351F040E050E0BA0188E51D -:10CA30000E9417D469837A838B839C8389E50E9443 -:10CA40005E85882351F040E050E0BA0189E50E94FC -:10CA500017D46D837E838F83988785E50E94158523 -:10CA6000882329F00E94DE846B017C010CC0E091D8 -:10CA7000CE1288E0E89FF0011124ED54F64EC080FC -:10CA8000D180E280F38020E030E0A901C701B60147 -:10CA90000F949C3787FF04C0F7FAF094F7F8F094EE -:10CAA000F7FAF094F7F8F094CD8ADE8AEF8AF88EE0 -:10CAB000198E1A8E1B8E1C8E8CE40E94158588237D -:10CAC00029F00E94DE846B017C010CC0E091CE1243 -:10CAD00088E0E89FF0011124ED54F64EC480D58023 -:10CAE000E680F78020E030E0A901C701B6010F948D -:10CAF0009C3787FF04C0F7FAF094F7F8F094CD8ED6 -:10CB0000DE8EEF8EF8A262E070E082E40E94F7B45D -:10CB1000F82E21E0AE014B5E5F4FBE016F5F7F4F8D -:10CB2000CE0141960E94C3888823D9F06F2D81E001 -:10CB30000E949A8680E090E0A0EAB1E48D879E870B -:10CB4000AF87B88B8091580B882359F02F2DAE01F9 -:10CB5000435F5F4FBE01635E7F4FCE0149960E94E7 -:10CB60003F878091CE12181721F060E0812F0E943C -:10CB700074A2A0960FB6F894DEBF0FBECDBFDF91B2 -:10CB8000CF911F91FF90EF90DF90CF900895CF92BB -:10CB9000DF92EF92FF92CF93DF93CDB7DEB76C9722 -:10CBA0000FB6F894DEBF0FBECDBF8CE40E94158592 -:10CBB000882381F00E94DE846B017C0120E030E05C -:10CBC000A9010F949C3787FF0BC0F7FAF094F7F890 -:10CBD000F09406C0C12CD12C80E8E82E80E4F82E19 -:10CBE000F7FAF094F7F8F094C98EDA8EEB8EFC8E9B -:10CBF00080E090E0A8E4B2E489839A83AB83BC83AD -:10CC000080E090E0A0E2B1E48D839E83AF83B8879B -:10CC100089879A87AB87BC8788E50E945E858823D1 -:10CC2000A1F040E050E0BA0188E50E9417D42091BD -:10CC30006B1230916C1240916D1250916E120F94E4 -:10CC40003B3569837A838B839C8389E50E945E856B -:10CC50008823A1F040E050E0BA0189E50E9417D492 -:10CC600020916B1230916C1240916D1250916E12A6 -:10CC70000F943B356D837E838F8398878AE50E946E -:10CC80005E85882351F040E050E0BA018AE50E94B9 -:10CC900017D469877A878B879C87F090F41DF2FA06 -:10CCA000FF24F0F81D861E861F86188A20E0AE013C -:10CCB000435F5F4FBE016F5F7F4FCE0149960E9479 -:10CCC000C388882329F1F11023C060E080E00E942E -:10CCD0009A8680E090E0A0E8B0E48D8B9E8BAF8BCD -:10CCE000B88F198A1A8A1B8A1C8A1D861E861F867F -:10CCF000188A8091580B882359F020E0AE014B5ED2 -:10CD00005F4FBE016F5E7F4FCE010D960E943F8741 -:10CD10006C960FB6F894DEBF0FBECDBFDF91CF91FA -:10CD2000FF90EF90DF90CF900895CF93DF93D62FB1 -:10CD3000C72F0E945E85882329F00E94A684262F93 -:10CD4000972F02C02D2F9C2F822FDF91CF91089516 -:10CD50002F923F924F925F926F927F928F929F920B -:10CD6000AF92BF92CF92DF92EF92FF920F931F93F9 -:10CD7000CF93DF93CDB7DEB7E6970FB6F894DEBF5B -:10CD80000FBECDBF0E944BAE81111DC360E070E0AD -:10CD900080E50E9495E6882E6CE070E083E50E94B5 -:10CDA00095E65C018DA763E070E084E50E9495E65E -:10CDB000382E40E050E060ED70E482E50E9417D428 -:10CDC0006B017C018091FC1887FD07C08091FD18E4 -:10CDD000837019F499249394F4C260E088E50E946A -:10CDE0006B85982E60E089E50E946B858111E9C210 -:10CDF00080E0982A2091E7122EA7822F0F94D31754 -:10CE000080E090E0A0EAB3E48D879E87AF87B88B7F -:10CE1000412C512C20E2622E22E4722E498A5A8A39 -:10CE20006B8A7C8A40E050E060E87FE34D8B5E8B4C -:10CE30006F8B788F00E010E026E933E409831A83D2 -:10CE40002B833C834D825E826F82788649875A8726 -:10CE50006B877C8722E082120CC0911005C080E0B5 -:10CE600092E30F945D1AA9C289839A83AB83BC8332 -:10CE700024C090FC10C08091CF129091D012A0914C -:10CE8000D112B091D21289839A83AB83BC838D87F0 -:10CE90009E87AF87B88B91FC10C08091D312909180 -:10CEA000D412A091D512B091D6128D839E83AF83F8 -:10CEB000B887898B9A8BAB8BBC8B8091D712909162 -:10CEC000D812A091D912B091DA1289A79AA7ABA76C -:10CED000BCA789879A87AB87BC878D8B9E8BAF8BCE -:10CEE000B88F91E0891629F0A2E08A1609F470C182 -:10CEF0000CC22D853E854F85588969817A818B8149 -:10CF00009C810F943B356B017C0120E030E0A9014E -:10CF10000F94462E882309F450C229893A894B89F7 -:10CF20005C896D817E818F8198850F943B354B01A3 -:10CF30005C0120E030E0A9010F94462E882309F41B -:10CF40003CC28091CF129091D012A091D112B09199 -:10CF5000D2128FA798ABA9ABBAAB8091D3129091A4 -:10CF6000D412A091D512B091D6128BAB9CABADABC5 -:10CF7000BEAB198E1A8E1B8E1C8EAE01475E5F4FA4 -:10CF8000BE016F5E7F4FCE010D960E9455E1032DCD -:10CF9000000F20E030E0A901C701B6010F949C37D3 -:10CFA00087FF08C0D701C601B0588DA39EA3AFA3C9 -:10CFB000B8A704C0CDA2DEA2EFA2F8A620E030E020 -:10CFC000A901C501B4010F949C371401250187FF05 -:10CFD00004C057FA509457F850942DA13EA14FA188 -:10CFE00058A5C201B1010F94462E181624F434013D -:10CFF0001A2DFB2C02C036011E2D802E912CB4015F -:10D00000092C000C880B990B0F944D2E9B01AC0141 -:10D01000B301812F9F2D0F9436366B017C01712C4B -:10D020009DA5791608F0C0C010E0812F012E000CDC -:10D03000990B881599050CF059C010FD04C0DE014C -:10D040001D965D0103C0CE0101965C012DA13EA19C -:10D050004FA158A5C201B1010F94462E412F012EB8 -:10D06000000C550B660B770B198E1A8E1B8E1C8EBF -:10D070001816ECF0CB01BA010F944D2EA7019601C2 -:10D080000F94AC2E9B01AC016D857E858F859889B0 -:10D090000F943C356D8F7E8F8F8F98A3B5016C5F99 -:10D0A0007F4FAE01475E5F4FCE014D961BC0CB0157 -:10D0B000BA010F944D2EA70196010F94AC2E9B013F -:10D0C000AC0169897A898B899C890F943C356D8F75 -:10D0D0007E8F8F8F98A3AE01475E5F4FBE01635E68 -:10D0E0007F4FC5010E9455E11F5F9FCF102F17FD95 -:10D0F00059C010FD04C0DE011D965D0103C0CE01C4 -:10D1000001965C012DA13EA14FA158A5C201B1011C -:10D110000F94462E412F012E000C550B660B770BFA -:10D12000198E1A8E1B8E1C8E1816ECF0CB01BA01CC -:10D130000F944D2EA70196010F94AC2E9B01AC01CC -:10D140006D857E858F8598890F943C356D8F7E8F98 -:10D150008F8F98A3B5016C5F7F4FAE01475E5F4F25 -:10D16000CE014D961BC0CB01BA010F944D2EA701E5 -:10D1700096010F94AC2E9B01AC0169897A898B8949 -:10D180009C890F943C356D8F7E8F8F8F98A3AE0155 -:10D19000475E5F4FBE01635E7F4FC5010E9455E150 -:10D1A0001150A5CF73943CCF198E1A8E1B8E1C8EF6 -:10D1B000DE0159966D01E9A4FAA40BA51CA52BA9C3 -:10D1C0003CA94DA95EA96FA578A989A99AA9F3C020 -:10D1D000BDA5BB2309F4F1C08091CF129091D0126C -:10D1E000A091D112B091D2128DA39EA3AFA3B8A7E4 -:10D1F0008090D3129090D412A090D512B090D612F5 -:10D20000198E1A8E1B8E1C8EAE01475E5F4FBE01BB -:10D210006F5E7F4FCE010D960E9455E110E0212CEC -:10D22000312C19A21AA21BA21CA2B101032C000CC2 -:10D23000880B990B0F944D2E2CE739ED40E25FE3FC -:10D240000F94AC2E2B013C010F9431369B01AC01A5 -:10D25000C701B6010F94AC2E9B01AC016D817E819C -:10D260008F8198850F943C356D8F7E8F8F8F98A31B -:10D27000C301B2010F94DC379B01AC01C701B601B9 -:10D280000F94AC2E9B01AC0169817A818B819C81CA -:10D290000F943C35698F7A8F8B8F9C8FAE014F5DD9 -:10D2A0005F4FBE01635E7F4FCE0149960E9455E1FC -:10D2B0009FEF291A390AAAE02A16310409F0B1CFE2 -:10D2C0001F5FBDA51B1708F4AACF198E1A8E1B8EDF -:10D2D0001C8EAE01475E5F4FBE016F5E7F4FCE0179 -:10D2E0000D960E9455E1198E1A8E1B8E1C8ECE0152 -:10D2F00049966C01E9A4FAA40BA51CA5A50194010B -:10D300006DA17EA18FA198A556C04090CF125090DC -:10D31000D0126090D1127090D2128091D31290915D -:10D32000D412A091D512B091D6128DA39EA3AFA313 -:10D33000B8A7198E1A8E1B8E1C8EAE01475E5F4FEA -:10D34000BE016F5E7F4FCE010D960E9455E1BB245A -:10D35000B594A79410E0812F90E0198E1A8E1B8E41 -:10D360001C8E8A159B05D4F4AE01475E5F4FBE014B -:10D370006B5F7F4FCE0101960E9455E1198E1A8E88 -:10D380001B8E1C8EAE01475E5F4FBE016F5E7F4FEE -:10D39000CE010D960E9455E11F5FDDCFDE0159964B -:10D3A0006D01E9A4FAA40BA51CA52DA13EA14FA1D6 -:10D3B00058A5C301B2010E9494E08EA50F94D31723 -:10D3C00002C082E016CDE6960FB6F894DEBF0FBE1F -:10D3D000CDBFDF91CF911F910F91FF90EF90DF9024 -:10D3E000CF90BF90AF909F908F907F906F905F9005 -:10D3F0004F903F902F9008950F94461B80EF91E33C -:10D400000F945D1A83E50E941585882321F00E9400 -:10D41000CA848093650280916502811103C08EEBFE -:10D420009CE002C082EC9CE00F945D1A88EE91E3D0 -:10D430000F945D1A20916B1230916C1240916D1215 -:10D4400050916E1260913F027091400280914102B2 -:10D45000909142020F943C35AB01BC0186EE91E302 -:10D460000F94111B20916F12309170124091711224 -:10D470005091721260914702709148028091490266 -:10D4800090914A020F943C35AB01BC0183EE91E3CD -:10D490000F94111B209173123091741240917512E8 -:10D4A0005091761260914F0270915002809151021A -:10D4B000909152020F943C35AB01BC0180EE91E398 -:10D4C0000F94111B88ED91E30F945D1A20916B125C -:10D4D00030916C1240916D1250916E126091430226 -:10D4E0007091440280914502909146020F943C3520 -:10D4F000AB01BC0186ED91E30F94111B20916F12DB -:10D5000030917012409171125091721260914B02E1 -:10D5100070914C0280914D0290914E020F943C35D7 -:10D52000AB01BC0183ED91E30F94111B20917312A9 -:10D53000309174124091751250917612609153029D -:10D540007091540280915502909156020F943C358F -:10D55000AB01BC0180ED91E30F94111B8AE00C94A8 -:10D56000AB53882319F00F94461B03C080E20E943E -:10D57000AB534091EC115091ED116091EE1170910F -:10D58000EF1189EC91E30F94111B4091F011509130 -:10D59000F1116091F2117091F31186EC91E30F9407 -:10D5A000111B4091F4115091F5116091F611709199 -:10D5B000F71183EC91E30F94111B4091F8115091F6 -:10D5C000F9116091FA117091FB1180EC91E30F94C5 -:10D5D000111B8AE00C94AB538091560B882319F0F1 -:10D5E0001092560B089588E795E30F940E08A8ED66 -:10D5F000B1E120E030E0C9012430310510F083E0D2 -:10D6000090E0880F991F880F991FFC01E555FD4C8C -:10D61000459155916591749154964D935D936D9399 -:10D620007C935797FC01E556FD4C459155916591CA -:10D63000749194964D935D936D937C939797FC01B1 -:10D64000E557FD4C45915591659174914D935D93CE -:10D650006D937D932F5F3F4F2430310509F0CBCF81 -:10D6600080E29EE4A0E0B0E08093E8119093E9119D -:10D67000A093EA11B093EB1180E090E0A6E9B3E447 -:10D6800080930C1290930D12A0930E12B0930F1270 -:10D6900040E050E06AE774E4409310125093111296 -:10D6A00060931212709313128093141290931512B8 -:10D6B000A0931612B093171210921812109219120A -:10D6C00010921A1210921B1210921C1210921D121C -:10D6D00010921E1210921F128AE097EDA3EABDE38A -:10D6E0008093761190937711A0937811B09379116C -:10D6F0008CE0E5ECF9E0DF011D928A95E9F781E025 -:10D700008093150210927D090E943A5180E090E0CA -:10D71000A0EAB0E48093680290936902A0936A0241 -:10D72000B0936B0280E090E0A0EAB2E4809328120C -:10D7300090932912A0932A12B0932B1240E050E04C -:10D7400060E070E440932C1250932D1260932E12DF -:10D7500070932F1288EB9BE09093311280933012DC -:10D76000909333128093321288E0E9E0F3E0A4E36F -:10D77000B2E101900D928A95E1F740933C125093EB -:10D780003D1260933E1270933F128CEC97E00E9422 -:10D79000B6541092AB191092AC191092AD191092A8 -:10D7A000AE190E945F8B80E090E0A0EBB1EC80931B -:10D7B000771290937812A0937912B0937A1280E046 -:10D7C00090E0A4E3B2EC80937B1290937C12A09340 -:10D7D0007D12B0937E1210927F12109280121092DE -:10D7E00081121092821280E090E0A8E9B1E4809367 -:10D7F0008A0990938B09A0938C09B0938D098AE8CC -:10D8000091EEAAE6BEE380938E0990938F09A093D0 -:10D810009009B093910980E89AE6A9ECB3E480936B -:10D82000920990939309A0939409B093950983EC7E -:10D8300095E9ACE2B4E48093A1099093A209A09386 -:10D84000A309B093A40980E29BE1A2E9B1E480932B -:10D85000A5099093A609A093A709B093A80987EFFB -:10D860009CEDABECB5E48093A9099093AA09A09331 -:10D87000AB09B093AC091092411A80E090E0A0EEA1 -:10D88000BFE380934A1A90934B1AA0934C1AB0931B -:10D890004D1A80934E1A90934F1AA093501AB0933A -:10D8A000511A1092C2091092C1090E94B6E3109257 -:10D8B000921110929311109294111092951110924E -:10D8C000961110929711109298111092991140E0B0 -:10D8D00050E067ED73E44093B3195093B41960932B -:10D8E000B5197093B61980E090E0A1EEB3E480938F -:10D8F000B7199093B819A093B919B093BA19409376 -:10D90000BB195093BC196093BD197093BE198093D5 -:10D91000BF199093C019A093C119B093C2190E9466 -:10D9200045F50F94461B88E692E30F945D1A8CEC44 -:10D9300097E00C94B6548F929F92AF92BF92CF9281 -:10D94000DF92EF92FF920F931F93CF93C82F811115 -:10D9500002C00F94461B81E695E30F945D1A8BE598 -:10D9600095E30F945D1A8AE00E94AB538AE00E940F -:10D97000AB53C11114C00F94461B88E495E30F9478 -:10D980005D1A8091411A882321F08AE00E94AB53EE -:10D9900004C08DE395E30F945D1A0F94461B4091EC -:10D9A0004A1A50914B1A60914C1A70914D1A84E3A7 -:10D9B00095E30F94111B8AE00E94AB53C11102C082 -:10D9C0000F94461B40914E1A50914F1A6091501A75 -:10D9D0007091511A88E295E30F94111B8AE00E941E -:10D9E000AB538091411A811108C0C11102C00F943C -:10D9F000461B8DE195E30F945D1AC11106C00F948B -:10DA0000461B8CE095E30F945D1A6FEF81E08C2745 -:10DA10000E94B1EAC11108C00F94461B8EEE94E338 -:10DA20000F945D1A0F94461B4091FC115091FD110B -:10DA30006091FE117091FF1185EE94E30F94111B1C -:10DA400040910012509101126091021270910312E4 -:10DA500082EE94E30F94111B409104125091051231 -:10DA600060910612709107128FED94E30F94111BD1 -:10DA7000409108125091091260910A1270910B1294 -:10DA80008CED94E30F94111B8AE00E94AB53C111FB -:10DA900008C00F94461B8AEB94E30F945D1A0F9411 -:10DAA000461B6091D8117091D9118091DA11909133 -:10DAB000DB110F944B2EAB01BC0181EB94E30F946F -:10DAC000111B6091DC117091DD118091DE1190913C -:10DAD000DF110F944B2EAB01BC018EEA94E30F943F -:10DAE000111B6091E0117091E1118091E211909110 -:10DAF000E3110F944B2EAB01BC018BEA94E30F941E -:10DB0000111B6091E4117091E5118091E6119091E3 -:10DB1000E7110F944B2EAB01BC0188EA94E30F94FC -:10DB2000111B8AE00E94AB53C11108C00F94461B21 -:10DB30008EE594E30F945D1A0F94461B40910C12EE -:10DB400050910D1260910E1270910F1285E594E3C1 -:10DB50000F94111B409110125091111260911212EA -:10DB60007091131282E594E30F94111B40911412EB -:10DB70005091151260911612709117128FE494E370 -:10DB80000F94111B8AE00E94AB53C1110FC00F9478 -:10DB9000461B87E094E30F945D1A8AEF93E30F949A -:10DBA0005D1A8AE00E94AB530F94461B6091E81106 -:10DBB0007091E9118091EA119091EB110F944B2E25 -:10DBC000AB01BC0181EF93E30F94111B409118123C -:10DBD0005091191260911A1270911B128EEE93E3FC -:10DBE0000F94111B40911C1250911D1260911E1236 -:10DBF00070911F128BEE93E30F94111B40917611DD -:10DC000050917711609178117091791188EE93E3BA -:10DC10000F94111B8AE00E94AB53C11108C00F94EE -:10DC2000461B8AED93E30F945D1A0F94461B4091B7 -:10DC3000C5095091C6096091C7097091C80981ED65 -:10DC400093E30F94111B4091C9095091CA09609147 -:10DC5000CB097091CC098EEC93E30F94111B40918A -:10DC6000CD095091CE096091CF097091D0098BEC0C -:10DC700093E30F94111B8AE00E94AB53C11108C0BB -:10DC80000F94461B87EB93E30F945D1A0F94461B8A -:10DC90006091E71270E08EEA93E30F94221B4091AB -:10DCA000E8125091E9126091EA127091EB128BEA3E -:10DCB00093E30F94111B8AE00E94AB538091AF193C -:10DCC0009091B019892B09F443C023ECC22E29E1AD -:10DCD000D22E00E010E0E12CF12CA12CB12CC111CE -:10DCE00002C00F94461BB50181EA93E30F94221BF7 -:10DCF000B8018EE993E30F94221B9FED892E97E0E4 -:10DD0000992EF40181914F01882319F00E94AB53A1 -:10DD1000F8CFF601EE0DFF1D608171818281938144 -:10DD200045E00E943B548AE00E94AB53FFEFAF1ADC -:10DD3000BF0A84E1E80EF11CE4E6EE16F10479F680 -:10DD40000F5F1F4FF4E0CF0ED11C0530110519F6FF -:10DD5000C11108C00F94461B8FE893E30F945D1A1E -:10DD60000F94461B40918A0950918B0960918C0950 -:10DD700070918D0986E893E30F94111B2CEA35EC22 -:10DD800047E25EE360918E0970918F09809190095E -:10DD9000909191090F943636AB01BC0183E893E36F -:10DDA0000F94111B2CEA35EC47E25EE36091920977 -:10DDB0007091930980919409909195090F94AC2EDC -:10DDC000AB01BC0180E893E30F94111B8AE00E9431 -:10DDD000AB53C11102C00F94461B4091A109509151 -:10DDE000A2096091A3097091A40987E793E30F94B6 -:10DDF000111B2CEA35EC47E25EE36091A5097091B6 -:10DE0000A6098091A7099091A8090F943636AB0115 -:10DE1000BC0184E793E30F94111B2CEA35EC47E235 -:10DE20005EE36091A9097091AA098091AB09909174 -:10DE3000AC090F94AC2EAB01BC0181E793E30F94C6 -:10DE4000111B8AE00E94AB53C11110C00F94461BF6 -:10DE500082E693E30F945D1A8BE595E30F945D1AC8 -:10DE60008BEB92E30F945D1A0F94461B409177124F -:10DE7000509178126091791270917A1289E593E34A -:10DE80000F94111B8AE00E94AB5340917B1250917A -:10DE90007C1260917D1270917E1280E593E30F9465 -:10DEA000111B8AE00E94AB5340917F125091801267 -:10DEB000609181127091821287E493E30F94111B99 -:10DEC0008AE00E94AB53C11108C00F94461B86E341 -:10DED00093E30F945D1A0F94461B82E9E82E81E1CB -:10DEE000F82E00E010E0B8018DE293E30F94221BBE -:10DEF000F70141915191619171917F018AE293E320 -:10DF00000F94111B8AE00E94AB530F5F1F4F02302A -:10DF1000110549F7C11108C00F94461B8BE093E32C -:10DF20000F945D1A0F94461B8EEB92E30F945D1ACB -:10DF30004091B7195091B8196091B9197091BA19F7 -:10DF400086E093E30F94111B4091B3195091B419DB -:10DF50006091B5197091B61983E093E30F94111B8A -:10DF60008AE00E94AB53C11102C00F94461B8EEB96 -:10DF700092E30F945D1A4091BF195091C0196091BE -:10DF8000C1197091C2198EEF92E30F94111B409149 -:10DF9000BB195091BC196091BD197091BE198BEFDE -:10DFA00092E30F94111B8AE00E94AB53C11108C089 -:10DFB0000F94461B8BEE92E30F945D1A0F94461B51 -:10DFC00081E00F94170DC11108C00F94461B82ED1C -:10DFD00092E30F945D1A0F94461B6091150270E056 -:10DFE00089EC92E30F94221B4091680250916902E0 -:10DFF00060916A0270916B0286EC92E30F94111BA0 -:10E000008AE0CF911F910F91FF90EF90DF90CF901A -:10E01000BF90AF909F908F900C94AB538F929F9234 -:10E02000AF92BF92CF92DF92EF92FF920F931F9326 -:10E03000CF93DF9381E08093AA190F945800109238 -:10E04000AA19882309F4DFC00F945800D82E82EE55 -:10E0500097E00E94B6548091AF199091B019892B26 -:10E0600009F47BC0EE24E394F12C00E010E0D1E051 -:10E0700035E0C32EC0E0BB24B39445E0A42E55E0A8 -:10E08000952E62E8862EEB24CC16D1F18F2D90E0F0 -:10E090004897A4F5F394F801AC9EE00DF11D11240E -:10E0A000EE0FFF1FEE0FFF1FED53F64E20E030E0A6 -:10E0B0004AE754E460817181828193810F94AC2E90 -:10E0C0000F94A8367093791C6093781C90926C1C06 -:10E0D00080926F1C4F2D50E04158574F440F551FF1 -:10E0E000052E000C660B770B4093701C5093711C2F -:10E0F0006093721C7093731C0F946807CD0FC4CF8C -:10E100000F5F1F4F0530110561F0E11005C0DFEF13 -:10E11000CC24CA94C4E0B7CFD1E025E0C22EC0E041 -:10E12000B2CF83E090E09093791C8093781C85E0D7 -:10E1300080936C1C82E880936F1C85E490E1A0E0E2 -:10E14000B0E08093701C9093711CA093721CB093EC -:10E15000731C0F94680781E01BC082E090E09093ED -:10E16000791C8093781C85E080936C1C82E88093F6 -:10E170006F1C85E490E1A0E0B0E08093701C909368 -:10E18000711CA093721CB093731C0F94680780E0FD -:10E190000F94D31740917F12509180126091811299 -:10E1A000709182128BE392E30F94111B8AE00E941C -:10E1B000AB5320E030E048EC52E460917F12709164 -:10E1C000801280918112909182120F94AC2E0F9444 -:10E1D000A8367093791C6093781C85E080936C1C42 -:10E1E00082E880936F1C86E290E1A0E0B0E080932B -:10E1F000701C9093711CA093721CB093731C0F94AD -:10E2000068078D2D0BC00E94F7EA0E941BF10F9446 -:10E21000461B84E592E30F945D1A80E0DF91CF9175 -:10E220001F910F91FF90EF90DF90CF90BF90AF9034 -:10E230009F908F900895CF92DF92EF92FF920F936D -:10E240001F93CF93DF93CDB7DEB7CE5AD1090FB668 -:10E25000F894DEBF0FBECDBFCF55DF4F18821982B5 -:10E260001A821B82C15AD0408091330890913408A1 -:10E27000A0913508B0913608CB55DF4F888399833C -:10E28000AA83BB83C55AD040C755DF4F1982188275 -:10E29000C95AD04084E690E0C555DF4F9983888302 -:10E2A000CB5AD0401092571A9E0127553F4F44E059 -:10E2B00050E0BE016B557F4FCE0185559F4F0E94A8 -:10E2C000AE51C555DF4F88819981CB5AD040029617 -:10E2D000C555DF4F99838883CB5AD040C755DF4F50 -:10E2E00019821882C95AD04081E0C255DF4F888315 -:10E2F000CE5AD0409E0127553F4F41E050E0BE012D -:10E3000062557F4FCE0185559F4F0E94AE519E01B1 -:10E3100027553F4F48E450E068ED71E1CE01855547 -:10E320009F4F0E94AE518E010F5F1F4F80E1F80199 -:10E3300011928A95E9F780E090E0A0EAB0E4898341 -:10E340009A83AB83BC839E0127553F4F40E150E049 -:10E35000B801CE0185559F4F0E94AE519E012755B1 -:10E360003F4F44E050E066E771E1CE0185559F4F95 -:10E370000E94AE519E0127553F4F4CE050E065ECA6 -:10E3800079E0CE0185559F4F0E94AE519E012755E1 -:10E390003F4F41E050E065E172E0CE0185559F4F6F -:10E3A0000E94AE519E0127553F4F44E050E068E681 -:10E3B00072E0CE0185559F4F0E94AE518091E812C8 -:10E3C0009091E912A091EA12B091EB1289839A839D -:10E3D000AB83BC839E0127553F4F44E050E0B8011A -:10E3E000CE0185559F4F0E94AE51CF55DF4F188209 -:10E3F00019821A821B82C15AD0407E01FDE6EF0EBF -:10E40000F11C83E0F701808389839E0127553F4FEC -:10E4100044E050E0BE016F557F4FCE0185559F4FC0 -:10E420000E94AE519E0127553F4F41E050E0B70199 -:10E43000CE0185559F4F0E94AE519E0127553F4FFB -:10E4400041E050E0B801CE0185559F4F0E94AE518A -:10E450002AE0D22EDA949E0127553F4F44E050E047 -:10E46000DD2049F0BE016F557F4FCE0185559F4F8E -:10E470000E94AE51EFCF67E772E1CE0185559F4F05 -:10E480000E94AE519E0127553F4F44E050E06BE79C -:10E4900072E1CE0185559F4F0E94AE519E012755D6 -:10E4A0003F4F44E050E06FE772E1CE0185559F4F4A -:10E4B0000E94AE51CF55DF4F188219821A821B82FB -:10E4C000C15AD0409AE0D92EDA94DD2071F09E0135 -:10E4D00027553F4F44E050E0BE016F557F4FCE01BE -:10E4E00085559F4F0E94AE51EFCF85E0F7018083A5 -:10E4F00089839E0127553F4F41E050E0B701CE018F -:10E5000085559F4F0E94AE519E0127553F4F41E0D8 -:10E5100050E0B801CE0185559F4F0E94AE519E013B -:10E5200027553F4F44E050E06FEA79E1CE01855531 -:10E530009F4F0E94AE519E0127553F4F44E050E04F -:10E5400063E57AE1CE0185559F4F0E94AE519E0151 -:10E5500027553F4F44E650E063EC79E1CE01855505 -:10E560009F4F0E94AE51F70110828FEF89839E0169 -:10E5700027553F4F41E050E0B701CE0185559F4FF1 -:10E580000E94AE519E0127553F4F41E050E0B80137 -:10E59000CE0185559F4F0E94AE519E0127553F4F9A -:10E5A00044E050E06DE673E0CE0185559F4F0E9438 -:10E5B000AE519E0127553F4F41E050E062E57AE1C0 -:10E5C000CE0185559F4F0E94AE51809111039091CD -:10E5D0001203A0911303B0911403F7018083918378 -:10E5E000A283B3838091150390911603A091170322 -:10E5F000B091180389839A83AB83BC83C356DF4FE2 -:10E600001882CD59D040C256DF4F1882CE59D04023 -:10E610009E0127553F4F44E050E0B701CE0185559C -:10E620009F4F0E94AE519E0127553F4F44E050E05E -:10E63000B801CE0185559F4F0E94AE519E012755CE -:10E640003F4F42E050E0BE0163567F4FCE018555FB -:10E650009F4F0E94AE5180E1F80111928A95E9F72F -:10E6600080E090E0A0E8BFE38D879E87AF87B88BFE -:10E6700080918A0990918B09A0918C09B0918D09A4 -:10E6800089839A83AB83BC8380918E0990918F0993 -:10E69000A0919009B09191098D839E83AF83B88733 -:10E6A0008091920990919309A0919409B091950954 -:10E6B00089879A87AB87BC879E0127553F4F40E1EA -:10E6C00050E0B801CE0185559F4F0E94AE5184E1C4 -:10E6D00090E09A8389839E0127553F4F42E050E0A6 -:10E6E000B801CE0185559F4F0E94AE519E0127551E -:10E6F0003F4F4CE050E061EA79E0CE0185559F4FF5 -:10E700000E94AE518FE790E09A8389839E0127553E -:10E710003F4F42E050E0B801CE0185559F4F0E9427 -:10E72000AE5181E089839E0127553F4F41E050E083 -:10E73000B801CE0185559F4F0E94AE5180E2E9E1BC -:10E74000F3E0D80101900D928A95E1F79E012755DB -:10E750003F4F40E250E0B801CE0185559F4F0E94E7 -:10E76000AE51F70110829E0127553F4F41E050E026 -:10E77000B701CE0185559F4F0E94AE519E0127558E -:10E780003F4F41E050E061E47AE1CE0185559F4F73 -:10E790000E94AE519E0127553F4F48E050E06AE489 -:10E7A0007AE1CE0185559F4F0E94AE518AE1F80172 -:10E7B00011928A95E9F79E0127553F4F4AE150E0B3 -:10E7C000B801CE0185559F4F0E94AE5184E3E9E325 -:10E7D000F3E0D80101900D928A95E1F79E0127554B -:10E7E0003F4F44E350E0B801CE0185559F4F0E9452 -:10E7F000AE5188E0F80111928A95E9F79E012755FC -:10E800003F4F48E050E0B801CE0185559F4F0E9430 -:10E81000AE518DE0F80111928A95E9F79E012755D6 -:10E820003F4F4DE050E0B801CE0185559F4F0E940B -:10E83000AE519E0127553F4F48E050E062E971E13B -:10E84000CE0185559F4F0E94AE518CE0D82EF80125 -:10E850008D2D11928A95E9F79E0127553F4F4CE087 -:10E8600050E0B801CE0185559F4F0E94AE518CE615 -:10E87000F80111928A95E9F79E0127553F4F4CE622 -:10E8800050E0B801CE0185559F4F0E94AE519E01C8 -:10E8900027553F4F4CE050E069E27AE1CE018555C3 -:10E8A0009F4F0E94AE519E0127553F4F40E150E0DF -:10E8B00063EB79E1CE0185559F4F0E94AE519E01D9 -:10E8C00027553F4F48E150E068E272E1CE0185559F -:10E8D0009F4F0E94AE51F7011192DA94E9F7C355A8 -:10E8E000DF4F1882CD5AD04080E090E0A0E4B0E441 -:10E8F000C356DF4F88839983AA83BB83CD59D04009 -:10E900009E0127553F4F44E050E0B701CE018555A9 -:10E910009F4F0E94AE519E0127553F4F44E050E06B -:10E92000B7016C5F7F4FCE0185559F4F0E94AE515E -:10E930009E0127553F4F44E050E0B701685F7F4F8D -:10E94000CE0185559F4F0E94AE519E0127553F4FE6 -:10E9500041E050E0BE0163557F4FCE0185559F4F8A -:10E960000E94AE519E0127553F4F44E050E0BE014A -:10E9700063567F4FCE0185559F4F0E94AE5180E375 -:10E98000F70111928A95E9F78FEF97E00E94B6544C -:10E990009E0127553F4F40E350E0B701CE0185551A -:10E9A0009F4F0E94AE511091571A111156C0C55574 -:10E9B000DF4FC880D980CB5AD040F4E6CF1AD108B7 -:10E9C000C755DF4F88819981C95AD040F70191839B -:10E9D000808384E690E0C555DF4F99838883CB5AC6 -:10E9E000D0409E0127553F4F44E050E061EA73E07C -:10E9F000CE0185559F4F0E94AE519E0127553F4F36 -:10EA000042E050E0B701CE0185559F4F0E94AE51C4 -:10EA10000F94461BB60189EE95E30F94041BF70192 -:10EA20004081518160E070E08CED95E30F94F31A22 -:10EA300089ED95E30F945D1AF4EFCF16F2E0DF064F -:10EA400039F00F94421B83E596E30F945D1A11E0B1 -:10EA50008091571A182B1093571A83E198E00E945F -:10EA6000B6549091571A81E08927C255DF4F0FB6EF -:10EA7000F894DEBF0FBECDBFDF91CF911F910F91F4 -:10EA8000FF90EF90DF90CF900895CF92DF92EF92BA -:10EA9000FF921F93CF93DF93CDB7DEB760970FB68A -:10EAA000F894DEBF0FBECDBF8091CF129091D012EF -:10EAB000A091D112B091D21289839A83AB83BC8387 -:10EAC0008091D3129091D412A091D512B091D61208 -:10EAD0008D839E83AF83B8878091D7129091D8128F -:10EAE000A091D912B091DA1289879A87AB87BC8737 -:10EAF0008091DB129091DC12A091DD12B091DE12B8 -:10EB00008D879E87AF87B88B0E940EF90E94ADFC5F -:10EB100010E0812F0F943800812F0E9434E01F5F96 -:10EB20001330B9F76091AB197091AC198091AD19A0 -:10EB30009091AE190E943CAD0F94191823EF34E068 -:10EB400045E35FE3609176117091771180917811C0 -:10EB5000909179110F94AC2E6B017C016091E411BE -:10EB60007091E5118091E6119091E7110F944B2E71 -:10EB70009B01AC01C701B6010F94AC2E29E732E826 -:10EB80004AE550E40F94AC2E0F94EA3760938E114F -:10EB900070938F1180939011909391110E949282A3 -:10EBA00040E150E06FEC72E1CE0101960F945B38CA -:10EBB000892B79F060960FB6F894DEBF0FBECDBFFB -:10EBC000DF91CF911F91FF90EF90DF90CF900C9449 -:10EBD00022E260960FB6F894DEBF0FBECDBFDF9184 -:10EBE000CF911F91FF90EF90DF90CF9008950F93FA -:10EBF0001F938091D11E813019F40F944E1E08C0CE -:10EC00006091CD1E7091CE1E8091CF1E9091D01E2E -:10EC10000091BF1E1091C01E2091C11E3091C21ED6 -:10EC2000601B710B820B930B28EE33E040E050E049 -:10EC30000F949C348091C31E9091C41EA091C51E58 -:10EC4000B091C61EBC01CD01620F731F841F951FBA -:10EC50001F910F9108951092D11E1092BF1E109215 -:10EC6000C01E1092C11E1092C21E1092CD1E109294 -:10EC7000CE1E1092CF1E1092D01E1092C31E109264 -:10EC8000C41E1092C51E1092C61E08958091D11EFA -:10EC9000813099F587E398E00E94B65481E09AE5C7 -:10ECA0009093791C8093781C87E590E090937B1C6F -:10ECB00080937A1C87E080936C1C82E880936F1CA1 -:10ECC00084E890E0A0E0B0E08093701C9093711C09 -:10ECD000A093721CB093731C0F94680782E080931A -:10ECE000D11E0F944E1E6093CD1E7093CE1E809346 -:10ECF000CF1E9093D01E81E0089580E008958F92FA -:10ED00009F92AF92BF92CF92DF92EF92FF920F93BA -:10ED10001F93CF93DF93CDB7DEB72C970FB6F89440 -:10ED2000DEBF0FBECDBF8B0140E050E068E472E46F -:10ED30004D835E836F83788740E050E060EA70E443 -:10ED400049875A876B877C87813019F0823039F088 -:10ED50002AC0BE01675F7F4FC801089646C0F80110 -:10ED600020853185428553856091D7127091D812E4 -:10ED70008091D9129091DA120F943C356B017C018D -:10ED800020E030E048EC53E40F94462E87FD06C0A7 -:10ED9000C12CD12C88ECE82E83E4F82EC982DA82CB -:10EDA000EB82FC821DC08090D7129090D812A09068 -:10EDB000D912B090DA12F801C084D184E284F384CD -:10EDC0009601A701B401C5010F94462E87FD02C02C -:10EDD00064017501C601D70189839A83AB83BC8323 -:10EDE000BE01675F7F4FCE0101960E9477E1B801B7 -:10EDF0006C5F7F4FAE014B5F5F4FC8010E9455E1D2 -:10EE00000E9422E22C960FB6F894DEBF0FBECDBF53 -:10EE1000DF91CF911F910F91FF90EF90DF90CF90F6 -:10EE2000BF90AF909F908F9008958091F41D82FFC6 -:10EE30002AC00E9460DB882319F18091EC1D90911B -:10EE4000ED1DA091EE1DB091EF1D0097A105B1053C -:10EE5000B9F0BC01CD016D597F4F8F4F9F4F24E614 -:10EE600030E040E050E00F949C346091F01D7091D0 -:10EE7000F11D8091F21D9091F31D0F949C3401C0FF -:10EE800020E02093281A8091281A8F7708950F93F5 -:10EE90001F93CF93DF938C0167FF03C01092C412BE -:10EEA00060E08091C41290E0262F062E000C330BF8 -:10EEB0002817390734F16093C412C8010F94942DB8 -:10EEC000800F911FEC01C01BD10BC034D1053CF069 -:10EED0000197FC012491207C2038D1F3F3CFDD276A -:10EEE000AE01B80184E892E10F94B52DCC57DD4E08 -:10EEF000188284E892E1DF91CF911F910F910C94D9 -:10EF0000A8D3DF91CF911F910F9108951092271AE6 -:10EF1000109214028091F41D80628093F41D61E0D0 -:10EF200080EB95E30E94C58540E050E065EC75E319 -:10EF300085E00E9438870F941D1C60E087EB95E305 -:10EF40000C9447F7CF93DF932091C412211120C076 -:10EF5000FC0101900020E9F73197EF01C81BD90BA4 -:10EF6000C034D1052CF02291207C2038E1F3F5CF7C -:10EF7000BC01DD27AE0184E892E10F94AF38CC5795 -:10EF8000DD4E188284E892E1DF91CF910C94A8D3F2 -:10EF9000DF91CF9108958091F41D82FD05C080918D -:10EFA000D11E823069F411C08091F714882319F0C2 -:10EFB00087EF94E102C089E395E161E00C94A2F748 -:10EFC000813031F487E995E305C083EA95E302C017 -:10EFD00086E895E36FEF0C9447F7FF920F931F932A -:10EFE000CF93DF938B01D82FC92FF42E20E030E090 -:10EFF00048EC52E40F94462E87FF0FC020E030E02B -:10F00000A901B8018D2F9C2F0F949C3718164CF036 -:10F0100000E010E0D0E0C0E004C000E010E0D8EC78 -:10F02000C2E4B8018D2F9C2F0F94A8369B01AC0130 -:10F03000AFEFB0E00F94DD3424E630E040E050E084 -:10F040000F94BE34B9018F2DDF91CF911F910F9195 -:10F05000FF900D944C15EEECF1E1108211821282BA -:10F060001382148280E00C9402A98F929F92AF9237 -:10F07000BF92CF92DF92EF92FF92CF93DF93EC019A -:10F080008090E8129090E912A090EA12B090EB12F2 -:10F0900020E030E0A901C501B4010F94462E882379 -:10F0A00009F44AC0C880D980EA80FB80A701960194 -:10F0B000C501B4010F94462E18160CF042C02091E1 -:10F0C000DF123091E0124091E1125091E212C7013B -:10F0D000B6010F94462E882331F1C092DF12D092F0 -:10F0E000E012E092E112F092E2122091E3123091EC -:10F0F000E4124091E5125091E612688179818A818B -:10F100009B810F94AC2E9B01AC0160E070E080E825 -:10F110009FE30F943B3560936C0270936D02809374 -:10F120006E0290936F0260916C0270916D028091FB -:10F130006E0290916F0208C060E070E080E89FE38B -:10F1400003C060E070E0CB01DF91CF91FF90EF90C2 -:10F15000DF90CF90BF90AF909F908F900895809157 -:10F16000E61B9091E71B891B8F708F3021F480E0A4 -:10F170000E94D754F4CF8091E61B8F5F8F70E0918F -:10F18000E61B94E59E9FF0011124E553F44FDF0147 -:10F190001D929A95E9F798E0908340910C1C50914C -:10F1A0000D1C60910E1C70910F1C458B568B678B4C -:10F1B000708F4091101C5091111C6091121C709125 -:10F1C000131C418F528F638F748F4091141C509188 -:10F1D000151C6091161C7091171C458F568F678FF8 -:10F1E00070A34091181C5091191C60911A1C7091C9 -:10F1F0001B1C41A352A363A374A32091E61B90910F -:10F20000E71B291303C094E69093E31B8093E61B4E -:10F2100080916F00826080936F000895CF92DF929B -:10F22000EF92FF920F931F93CF93DF93C8EDD1E13D -:10F230000AE711E1C12CD12C7601C394699179912F -:10F24000899199910F944B2E288939894A895B8934 -:10F250000F94AC2E0F94AF36F801619371938193A4 -:10F2600091938F01C616D706E806F90610F46B01D4 -:10F270007C01F1E1C83EDF0709F76FEF7FEFCB01BB -:10F28000A70196010F949C3420938A1130938B111F -:10F2900040938C1150938D1123EF34E045E35FE3ED -:10F2A0006091761170917711809178119091791118 -:10F2B0000F94AC2E6B017C016091E4117091E5110B -:10F2C0008091E6119091E7110F944B2E9B01AC01B8 -:10F2D000C701B6010F94AC2E29E732E84AE550E4A5 -:10F2E0000F94AC2E0F94EA3760938E1170938F11A8 -:10F2F0008093901190939111DF91CF911F910F9175 -:10F30000FF90EF90DF90CF9008959091E61B809151 -:10F31000E71B981306C08091D6119091D711892BC5 -:10F3200021F080E00E94D754F0CF0895CF92DF9271 -:10F33000EF92FF92FC01C080D180E280F3802091A7 -:10F34000F8113091F9114091FA115091FB11C70158 -:10F35000B6010F94AC2E0F94A9376093181C7093CC -:10F36000191C80931A1C90931B1CC092081CD092ED -:10F37000091CE0920A1CF0920B1C9091E61B8091F4 -:10F38000E71B981731F0FF90EF90DF90CF900C942F -:10F39000AFF80E9485F980916F00982F927081FFDD -:10F3A00005C080916F008D7F80936F004091181C85 -:10F3B0005091191C60911A1C70911B1C40935A1E8D -:10F3C00050935B1E60935C1E70935D1E992329F021 -:10F3D00080916F00826080936F00FF90EF90DF90CC -:10F3E000CF9008958F929F92AF92BF92EF92FF922B -:10F3F0000F931F93CF93DF937B018A01E901FC01F7 -:10F4000080809180A280B3802091EC113091ED1129 -:10F410004091EE115091EF11C501B4010F94AC2E43 -:10F420000F94A93760930C1C70930D1C80930E1CD5 -:10F4300090930F1C2091F0113091F1114091F21135 -:10F440005091F311F70160817181828193810F9452 -:10F45000AC2E0F94A9376093101C7093111C8093ED -:10F46000121C9093131C2091F4113091F5114091CE -:10F47000F6115091F711F8016081718182819381B9 -:10F480000F94AC2E0F94A9376093141C7093151C25 -:10F490008093161C9093171C2091F8113091F9114C -:10F4A0004091FA115091FB11688179818A819B8189 -:10F4B0000F94AC2E0F94A9376093181C7093191CED -:10F4C00080931A1C90931B1C8092FC1B9092FD1B36 -:10F4D000A092FE1BB092FF1BF70180819181A28157 -:10F4E000B3818093001C9093011CA093021CB093E5 -:10F4F000031CF80180819181A281B3818093041C57 -:10F500009093051CA093061CB093071C88819981D9 -:10F51000AA81BB818093081C9093091CA0930A1CAC -:10F52000B0930B1C9091E61B8091E71B981761F03C -:10F53000DF91CF911F910F91FF90EF90BF90AF900F -:10F540009F908F900C94AFF80E9485F980916F0086 -:10F55000982F927081FF05C080916F008D7F8093FE -:10F560006F0040910C1C50910D1C60910E1C70910D -:10F570000F1C40934E1E50934F1E6093501E70936D -:10F58000511E4091101C5091111C6091121C7091E1 -:10F59000131C4093521E5093531E6093541E70933D -:10F5A000551E4091141C5091151C6091161C7091B1 -:10F5B000171C4093561E5093571E6093581E70930D -:10F5C000591E4091181C5091191C60911A1C709181 -:10F5D0001B1C40935A1E50935B1E60935C1E7093DD -:10F5E0005D1E992329F080916F00826080936F00E7 -:10F5F000DF91CF911F910F91FF90EF90BF90AF904F -:10F600009F908F900895CF93DF93C82F0F94891503 -:10F6100024E0C29FE0011124C55FDE4E0F944D2E01 -:10F62000288139814A815B810F94AC2EDF91CF9183 -:10F6300008959091E61B8091E71B981306C0809176 -:10F64000D6119091D711892B21F080E00E94D754D8 -:10F65000F0CF5F9A8091601A8E7F8093601A8A9AA9 -:10F660008091601A8D7F8093601A80910801809547 -:10F670008170809306018091601A8B7F8093601A5D -:10F680000C941251CF93DF9390916F00292F227029 -:10F6900091FF05C090916F009D7F90936F0094E063 -:10F6A000899FA0011124FA01EE5BF14E6081718106 -:10F6B00082819381222329F020916F002260209380 -:10F6C0006F00EA01C55FDE4E0F944D2E288139810F -:10F6D0004A815B810F94AC2EDF91CF910895809188 -:10F6E0006F00982F927081FF05C080916F008D7F11 -:10F6F00080936F008091E71B8093E61B8093E51B4E -:10F700008093E41B84E68093E31B28EE33E0309380 -:10F71000D7112093D611992329F080916F00826030 -:10F7200080936F0081E08093411E0895CF92DF9215 -:10F73000EF92FF92CF93DF932091E712222331F1D2 -:10F74000EC0108960E9435F86B017C0120E030E066 -:10F75000A9010F94462E882361F0CE010F94BA15AB -:10F760009B01AC01C701B6010F94AC2E9B01AC010B -:10F7700003C020E030E0A901688579858A859B85F2 -:10F780000F943B35688779878A879B87DF91CF9174 -:10F79000FF90EF90DF90CF9008954F925F926F921D -:10F7A0007F92AF92BF92CF92DF92EF92FF920F9330 -:10F7B0001F93CF93DF93CDB7DEB72C970FB6F89496 -:10F7C000DEBF0FBECDBF2091E712222309F446C051 -:10F7D0008A017B016C01CA010E9435F82B013C01B2 -:10F7E000CE0101965C018CE0F50111928A95E9F752 -:10F7F000F60180819181A281B38189839A83AB8351 -:10F80000BC83F70180819181A281B3818D839E8326 -:10F81000AF83B88720E030E0A901C301B2010F94A3 -:10F82000462E882361F0C5010F94BA159B01AC01E7 -:10F83000C301B2010F94AC2E9B01AC0103C020E0C8 -:10F8400030E0A901F80160817181828193810F9478 -:10F850003C35F80160837183828393832C960FB6C5 -:10F86000F894DEBF0FBECDBFDF91CF911F910F91F6 -:10F87000FF90EF90DF90CF90BF90AF907F906F9010 -:10F880005F904F900895AF92BF92CF92DF92EF9228 -:10F890000F931F93CF93DF93CDB7DEB764970FB667 -:10F8A000F894DEBF0FBECDBFA98ABA8ACB8ADC8AA4 -:10F8B000FC0180819181A281B38189839A83AB838A -:10F8C000BC83FB0180819181A281B3818D839E8362 -:10F8D000AF83B887FA0180819181A281B381898742 -:10F8E0009A87AB87BC87F90180819181A281B3811E -:10F8F0008D879E87AF87B88BAE01475F5F4FBE0194 -:10F900006B5F7F4FCE0101960E94CDFB8091D61197 -:10F910009091D711892B81F4CE0141966C019E0103 -:10F92000235F3F4FAE01475F5F4FBE016B5F7F4F6D -:10F9300040970E94187001C080E064960FB6F8945A -:10F94000DEBF0FBECDBFDF91CF911F910F91EF9022 -:10F95000DF90CF90BF90AF9008957F928F929F924B -:10F96000AF92BF92CF92DF92EF92FF920F931F93CD -:10F97000CF93DF937090411AC2E4DAE190E7C92E89 -:10F9800092E0D92E2FE2E22E22E0F22E0AE41AE1D2 -:10F99000772059F1F80180809180A280B38020E027 -:10F9A00030E0A901C501B4010F94462E8823E9F087 -:10F9B00020E030E040E05FE3C501B4010F94AC2EDD -:10F9C0009B01AC010F94AC2E2BED3FE049E450E4D9 -:10F9D0000F94AC2E9B01AC0160E070E080E89FE3E7 -:10F9E0000F9436364B015C0106C0812C912C80E8C7 -:10F9F000A82E8FE3B82E89929992A992B992F60116 -:10FA0000619171916F01072E000C880B990B0F9477 -:10FA10004D2E2AE037ED43E25CE30F94AC2EA501B6 -:10FA200094010F94AC2EF70161937193819391939C -:10FA30007F010C5F1F4FFAE1CA34DF0709F0A8CF3E -:10FA4000DF91CF911F910F91FF90EF90DF90CF90BA -:10FA5000BF90AF909F908F907F9008954F925F924C -:10FA60006F927F928F929F92AF92BF92CF92DF92CE -:10FA7000EF92FF920F931F93CF93DF93CDB7DEB733 -:10FA800068970FB6F894DEBF0FBECDBF8C015B0147 -:10FA90005A834983FC01EE5BFF4F60817181828153 -:10FAA00093810F944B2E6B017C01D5012D913D91DB -:10FAB0004D915C910F94AC2E0F941A360F94AF3683 -:10FAC00069877A878B879C87E981FA8120813181D8 -:10FAD00042815381C701B6010F94AC2E0F941A36A0 -:10FAE0000F94AF366D877E878F87988B29853A85EF -:10FAF0004B855C85283731054105510540F488E781 -:10FB000090E0A0E0B0E089879A87AB87BC872D851D -:10FB10003E854F855889283731054105510540F408 -:10FB200088E790E0A0E0B0E08D879E87AF87B88B34 -:10FB3000F801E25BFF4F20813181428153812983AB -:10FB40003A834B835C83CA01B9010F944D2E2B017C -:10FB50003C0169857A858B859C850F944B2E698B3A -:10FB60007A8B8B8B9C8B20E030E0A901C301B20122 -:10FB70000F94462E882329F1A7019601C701B601EB -:10FB80000F94AC2E4B015C0129893A894B895C8921 -:10FB9000CA01B9010F94AC2E9B01AC01C501B4019F -:10FBA0000F943B354B015C01A3019201C301B201EB -:10FBB0000F943C359B01AC01C501B4010F9436365E -:10FBC00003C060E070E0CB010F941A360F94AF369B -:10FBD0006D837E838F83988769817A818B819C81F5 -:10FBE00090958095709561957F4F8F4F9F4F0F94A3 -:10FBF0004D2E4B015C016D857E858F8598890F9414 -:10FC00004B2E69837A838B839C8320E030E0A901AB -:10FC1000C501B4010F94462E882349F129813A8108 -:10FC20004B815C81CA01B9010F94AC2E6D8B7E8B28 -:10FC30008F8B988FA7019601C701B6010F94AC2E48 -:10FC40009B01AC016D897E898F89988D0F943B351E -:10FC50006B017C01A5019401C501B4010F943C35F1 -:10FC60009B01AC01C701B6010F94363603C060E0BA -:10FC700070E0CB010F94DE36D80195968D909D9063 -:10FC8000AD90BC909897750164012D813E814F81A4 -:10FC90005885C21AD30AE40AF50A0F94AF36C61A79 -:10FCA000D70AE80AF90AF7FE75C020E030E0A9019A -:10FCB000C301B2010F94462E882309F443C0C50145 -:10FCC000B4010F944B2E6B017C01A3019201C3017F -:10FCD000B2010F943C359B01AC01C701B6010F94F2 -:10FCE000AC2E6B017C0129893A894B895C89CA0158 -:10FCF000B9010F94AC2E9B01AC01C701B6010F9462 -:10FD00003B356B017C0129813A814B815C81CA01C1 -:10FD1000B9010F94AC2E9B01AC01C701B6010F9441 -:10FD20003C356B017C0120E030E040E850E4C30149 -:10FD3000B2010F94AC2E9B01AC01C701B6010F9428 -:10FD4000363603C060E070E0CB010F941A367B01B9 -:10FD50008D83998320E030E0A9010F949C37181619 -:10FD600024F0E12CF12C1D821982B7018D8199813B -:10FD70000F94AF366D837E838F83988786169706A0 -:10FD8000A806B90620F48D829E82AF82B886C12C67 -:10FD9000D12C76018D819E81AF81B885F80182A733 -:10FDA00093A7A4A7B5A7C80ED91EEA1EFB1EC6A618 -:10FDB000D7A6E0AAF1AAEA5BFF4F29853A854B85D1 -:10FDC0005C85208331834283538334968D859E8561 -:10FDD000AF85B88980839183A283B38368960FB679 -:10FDE000F894DEBF0FBECDBFDF91CF911F910F9171 -:10FDF000FF90EF90DF90CF90BF90AF909F908F904B -:10FE00007F906F905F904F9008954F925F926F92A6 -:10FE10007F928F929F92AF92BF92CF92DF92EF929A -:10FE2000FF920F931F93CF93C82FE82EF12CF70169 -:10FE3000E05BF94CB490823049F481E00E94776F26 -:10FE4000811106C10E94788A811102C16701CC0C20 -:10FE5000DD1CCC0CDD1CF601EC5BF94C459055909B -:10FE6000659074906B2DBB0C770B880B990B0F94DE -:10FE70004D2E4B015C0120E030E040EC5FE3C3011C -:10FE8000B2010F94AC2EA50194010F94AC2EAB01DE -:10FE9000BC0100E010E098018C2F0E94EADBC23028 -:10FEA00009F0CAC00E94298AE0E070E060EA80E4BC -:10FEB0002E2F372F462F582FC501B4010F94AC2E8B -:10FEC0004B015C0120E030E0A9010F94462E88230D -:10FED00009F44EC0C23021F000E010E0980104C0E7 -:10FEE00000E010E020E830E4B501A40170588C2F48 -:10FEF0000E94EADBC23051F40E94788A8111A8C0C6 -:10FF0000412C512C612C90E4792E21C0F701EB5C3F -:10FF1000F94C6491611107C00F94461B83E196E38D -:10FF20000F945D1A6AE0F601E95FF94C459055902F -:10FF30006590749070E080E090E00F944D2E9B01EE -:10FF4000AC01C301B2010F9436362B013C01A5016F -:10FF50009401C501B4010F943C35AB01BC01930180 -:10FF600082018C2F0E94EADBC23011F40E94298AA0 -:10FF700081E090E00C2E01C0880F0A94EAF790917E -:10FF8000601A982B9093601A90918312892B80931A -:10FF90008312F601E550FA4C85919591A591B491A3 -:10FFA000F601E153FD4E80839183A283B383C23077 -:10FFB000D1F420917F1230918012409181125091A2 -:10FFC00082126091D7127091D8128091D9129091BB -:10FFD000DA120F943B356093D7127093D812809346 -:10FFE000D9129093DA1210925F1A10925E1A0E9440 -:10FFF00020E2F601E55AFD4ED601A153BD4E8D918A -:020000022000DC -:100000009D910D90BC91A02D80839183A283B38399 -:10001000C230F1F480E0CF911F910F91FF90EF90EB -:10002000DF90CF90BF90AF909F908F907F906F9018 -:100030005F904F900C94776FF601E85CF94C8591D6 -:100040009591A591B491E82F792F6A2F8B2F30CFFE -:10005000CF911F910F91FF90EF90DF90CF90BF90C5 -:10006000AF909F908F907F906F905F904F9008958A -:10007000CF93DF9324E0829FC0011124EC01C55986 -:10008000DD4EFC01EB53F64FDC01AB5CB54E2D9120 -:100090003D914D915C9160817181828193810F943A -:1000A0003C35688379838A839B83DF91CF91089560 -:1000B0002F923F924F925F926F927F928F929F9278 -:1000C000AF92BF92CF92DF92EF92FF920F931F9366 -:1000D000CF93DF93CDB7DEB7CE59D1090FB6F894E1 -:1000E000DEBF0FBECDBF2DB63EB6CB56DF4F198259 -:1000F0001882C559D04084E690E0C956DF4F9983F5 -:100100008883C759D04001E09E012B563F4F44E001 -:1001100050E0BE016F567F4FCE0189569F4F0E941F -:1001200071519E012B563F4F42E050E0BE01675691 -:100130007F4FCE0189569F4F0E94715143E050E09E -:10014000BE016F567F4F81EA93E00F94A138892B4F -:1001500019F1CC56DF4F8881C459D040882359F01B -:100160008FE3CF56DF4F8883C159D040CE56DF4F43 -:100170001882C259D0400F94461BBE016F567F4F64 -:100180008BEE96E30F942F1B8DED96E30F945D1A83 -:1001900081E08093571A05C6C357DF4F1882198232 -:1001A0001A821B82CD58D040CB56DF4F198218825D -:1001B000C559D04001E09E012B563F4F41E050E031 -:1001C000BE0164567F4FCE0189569F4F0E947151E8 -:1001D0004DB65EB680E1E1E7F3E0DE01A358BF4F24 -:1001E00001900D928A95E1F780E1E1E8F3E0DE010C -:1001F000A359BF4F01900D928A95E1F780E1E1E9A3 -:10020000F3E09E012F5F3F4F7901D90101900D92DC -:100210008A95E1F7C456DF4F4881CC59D04050E071 -:100220004D5F5F4F440F551F440F551F8DB79EB74D -:10023000841B950B0FB6F8949EBF0FBE8DBFADB754 -:10024000BEB711965D010091AA1911E001272C5645 -:100250003F4FBD01CE0189569F4F0E9471510091C1 -:10026000AA1901279E012B563F4F44E050E068EE4B -:1002700071E1CE0189569F4F0E947151C456DF4FE4 -:10028000C880CC59D040D12CB3E0CB0ED11CCC0CC3 -:10029000DD1CCC0CDD1CEDB7FEB7EC19FD090FB66B -:1002A000F894FEBF0FBEEDBF2DB73EB72F5F3F4F97 -:1002B00049014DB75EB74C195D090FB6F8945EBFA2 -:1002C0000FBE4DBF8DB79EB701963C010091AA1994 -:1002D00001279E012B563F4FA601B401CE0189563E -:1002E0009F4F0E9471510091AA1901279E012B5620 -:1002F0003F4FA601B301CE0189569F4F0E94715115 -:100300000091AA19002309F44EC011E001279E01B3 -:100310002B563F4F44E050E06CE072E1CE0189562D -:100320009F4F0E9471510091AA1901279E012B56DF -:100330003F4F44E050E060E172E1CE0189569F4FAB -:100340000E9471510091AA1901279E012B563F4F1F -:1003500044E050E064E172E1CE0189569F4F0E9473 -:1003600071510091AA1901279E012B563F4F44E07D -:1003700050E068E172E1CE0189569F4F0E947151B1 -:100380000091AA1901279E012B563F4F44E050E0EF -:100390006CE172E1CE0189569F4F0E94715115E0C8 -:1003A000DD24D39489C0C456DF4F2881CC59D04076 -:1003B00030E02E5F3F4FE8EDF1E1C356DF4FB982E9 -:1003C000A882CD59D04080E090E0B70128173907C6 -:1003D0003CF0C356DF4FA881B981CD59D04012C03F -:1003E000AC018430910510F043E050E0440F551FFC -:1003F000440F551FBDE7CB2ED12CCC0EDD1E4C0D6E -:100400005D1DDA01AD90BD90CD90DC90A192B192CE -:10041000C192D1922817390714F0D40112C0AC014F -:100420008430910510F043E050E0440F551F440F15 -:10043000551F1DE6C12ED12CCC0EDD1E4C0D5D1DB1 -:10044000DA01AD90BD90CD90DC90A08AB18AC28ACD -:10045000D38A2817390714F0D3010DC0AC018430BA -:10046000910510F043E050E0440F551F440F551F15 -:10047000460F571FDA01AD90BD90CD90DC90A0A241 -:10048000B1A2C2A2D3A20196B4E06B0E711C44E0EB -:10049000840E911CC356DF4FA881B981CD59D0403D -:1004A0001496C356DF4FB983A883CD59D04084300A -:1004B000910509F08BCF29CF11500091AA19112372 -:1004C00079F00D259E012B563F4F44E050E0BE01D0 -:1004D00063577F4FCE0189569F4F0E947151ECCFD9 -:1004E00011E001279E012B563F4F44E050E066E7A4 -:1004F00071E1CE0189569F4F0E9471510FB6F89459 -:100500005EBE0FBE4DBE0091AA1901279E012B565B -:100510003F4F4CE050E065EC79E0CE0189569F4FAB -:100520000E9471510091AA1901279E012B563F4F3D -:1005300041E050E065E172E0CE0189569F4F0E9494 -:1005400071510091AA1901279E012B563F4F44E09B -:1005500050E0BE016F5F7F4FCE0189569F4F0E94D2 -:1005600071510091AA1901110CC089819A81AB8146 -:10057000BC818093680290936902A0936A02B09351 -:100580006B0211E001279E012B563F4F44E050E0E3 -:100590006BEA79E1CE0189569F4F0E94715100911B -:1005A000AA1901279E012B563F4F44E050E0BE019F -:1005B00063577F4FCE0189569F4F0E94715101E0D2 -:1005C0009E012B563F4F41E050E0BE0163597F4FE3 -:1005D000CE0189569F4F0E9471519E012B563F4F6D -:1005E00041E050E0BE016F5F7F4FCE0189569F4FC3 -:1005F0000E947151AE96AFACAE978981A89E500112 -:100600001124C12CD12C0091AA19CA14DB0491F039 -:1006100001279E012B563F4F44E050E0BE01635737 -:100620007F4FCE0189569F4F0E947151BFEFCB1A69 -:10063000DB0AE9CF11E001279E012B563F4F44E032 -:1006400050E067E772E1CE0189569F4F0E947151D9 -:100650000091AA1901279E012B563F4F44E050E01C -:100660006BE772E1CE0189569F4F0E947151009154 -:10067000AA1901279E012B563F4F44E050E06FE737 -:1006800072E1CE0189569F4F0E9471511AE0DD241C -:10069000D394115089F00091AA190D259E012B5673 -:1006A0003F4F44E050E0BE0163577F4FCE01895673 -:1006B0009F4F0E947151EDCF01E09E012B563F4F9D -:1006C00041E050E0BE0165567F4FCE0189569F4FF5 -:1006D0000E9471519E012B563F4F41E050E0BE01F8 -:1006E00063587F4FCE0189569F4F0E947151C55666 -:1006F000DF4F8881CB59D0400091AA198530C9F5C8 -:10070000EE968FADEE978530A1F5011103C080E024 -:100710000F94D3170091AA1911E001279E012B56BF -:100720003F4F44E050E06FEA79E1CE0189569F4F98 -:100730000E9471510091AA1901279E012B563F4F2B -:1007400044E050E063E57AE1CE0189569F4F0E9474 -:1007500071510091AA1901279E012B563F4F44E683 -:1007600050E063EC79E1CE0189569F4F0E947151B0 -:1007700043C011E001279E012B563F4F44E050E05B -:10078000BE0163597F4FCE0189569F4F0E94715120 -:100790000091AA1901279E012B563F4F44E050E0DB -:1007A000BE016F5F7F4FCE0189569F4F0E947151EE -:1007B000C556DF4FA880CB59D040EE968FADEE974F -:1007C000A89E50011124C12CD12CAC14BD04A1F061 -:1007D0000091AA1901279E012B563F4F44E050E09B -:1007E000BE0163577F4FCE0189569F4F0E947151C2 -:1007F000EFEFCE1ADE0AE9CF0091AA1911E0012726 -:100800009E012B563F4F41E050E0BE0163597F4FA0 -:10081000CE0189569F4F0E9471510091AA1901275C -:100820009E012B563F4F41E050E0B701CE01895663 -:100830009F4F0E9471510091AA1901279E012B56CA -:100840003F4F44E050E0B701CE0189569F4F0E94D0 -:1008500071510091AA1901279E012B563F4F41E08B -:1008600050E062E57AE1CE0189569F4F0E947151B6 -:100870000091AA1901279E012B563F4F44E050E0FA -:10088000BE0163597F4FCE0189569F4F0E9471511F -:100890000091AA1901279E012B563F4F44E050E0DA -:1008A000B701CE0189569F4F0E9471510091AA193C -:1008B00001279E012B563F4F42E050E0BE01635896 -:1008C0007F4FCE0189569F4F0E9471510091AA1906 -:1008D00001279E012B563F4F40E150E0B701CE016A -:1008E00089569F4F0E9471510091AA1901112EC083 -:1008F00089809A80AB80BC8020E030E84BE355E4EF -:10090000C501B4010F94462E882301F180928A0913 -:1009100090928B09A0928C09B0928D098D819E8155 -:10092000AF81B88580938E0990938F09A093900929 -:10093000B093910989859A85AB85BC85809392098E -:1009400090939309A0939409B093950911E001271E -:100950009E012B563F4F42E050E0BE016F5F7F4F3C -:10096000CE0189569F4F0E9471510091AA1901270B -:100970009E012B563F4F4CE050E0BE016F5F7F4F12 -:10098000CE0189569F4F0E9471510091AA19011101 -:1009900015C020E030E84BE355E469817A818B8112 -:1009A0009C810F94462E882349F08CE0FE013196FD -:1009B000A1EAB9E001900D928A95E1F711E00127D3 -:1009C0009E012B563F4F42E050E0B701CE018956C1 -:1009D0009F4F0E9471510091AA1901279E012B5629 -:1009E0003F4F41E050E0B701CE0189569F4F0E9432 -:1009F00071510091AA1901279E012B563F4F40E2E9 -:100A000050E0B701CE0189569F4F0E94715100916D -:100A1000AA1901279E012B563F4F41E050E0BE012D -:100A200063597F4FCE0189569F4F0E9471510091AB -:100A3000AA1901279E012B563F4F49E050E0B7010C -:100A4000CE0189569F4F0E9471510091AA19011140 -:100A50000CC089818093411A88E0FE013296AAE495 -:100A6000BAE101900D928A95E1F711E001279E010C -:100A70002B563F4F4AE150E0B701CE0189569F4FB8 -:100A80000E9471510091AA1901279E012B563F4FD8 -:100A900044E350E0B701CE0189569F4F0E94715147 -:100AA0000091AA1901279E012B563F4F48E050E0C4 -:100AB000B701CE0189569F4F0E9471510091AA192A -:100AC00001279E012B563F4F4DE050E0B701CE016C -:100AD00089569F4F0E9471510091AA1901279E01CA -:100AE0002B563F4F48E050E0B701CE0189569F4F4B -:100AF0000E9471510091AA19011108C088E0F70104 -:100B0000A2E9B1E101900D928A95E1F711E0012788 -:100B10009E012B563F4F4CE050E0B701CE01895665 -:100B20009F4F0E9471510091AA1901279E012B56D7 -:100B30003F4F4CE650E0B701CE0189569F4F0E94CF -:100B4000715119821A821B821C821D821E821F8291 -:100B5000188619861A861B861C860091AA190127F9 -:100B60009E012B563F4F4CE050E0B701CE01895615 -:100B70009F4F0E9471510091AA1901279E012B5687 -:100B80003F4F40E150E063EB79E1CE0189569F4F42 -:100B90000E9471510091AA1901279E012B563F4FC7 -:100BA00048E150E068E272E1CE0189569F4F0E9411 -:100BB00071510091AA1901279E012B563F4F44E025 -:100BC00050E0B701CE0189569F4F0E9471510091AC -:100BD000AA1901279E012B563F4F44E050E0BE0169 -:100BE0006B5F7F4FCE0189569F4F0E9471510091DC -:100BF000AA1901279E012B563F4F44E050E0BE0149 -:100C0000675F7F4FCE0189569F4F0E9471510091BF -:100C1000AA1901279E012B563F4F41E050E0BE012B -:100C200063587F4FCE0189569F4F0E9471510091AA -:100C3000AA1901279E012B563F4F44E050E0BE0108 -:100C400063597F4FCE0189569F4F0E94715180E3B7 -:100C5000D7011D928A95E9F70091AA1901279E01F3 -:100C60002B563F4F40E350E0B701CE0189569F4FCE -:100C70000E9471518091AA19811104C08EE498E0FC -:100C80000E94B654C956DF4F88819981C759D04018 -:100C90008835934041F00F94421B83E596E30F940F -:100CA0005D1A81E001C080E08093571A8823C1F06B -:100CB0000F94461BC956DF4F68817981C759D040D0 -:100CC0006456710985ED96E30F94221B64EF72E080 -:100CD0008DEC96E30F94041B8AE00E94AB5357C03F -:100CE000CB56DF4F28813981C559D040C756DF4FD9 -:100CF00088819981C959D04028173907E1F081E0EE -:100D00008093571A0F94421BC756DF4F6881798131 -:100D1000C959D0408DEA96E30F94041BCB56DF4FA0 -:100D200068817981C559D04088EA96E30F94041B05 -:100D300088E996E32AC08091AA19811128C00F94EE -:100D4000461B01EA13E0F80181918F01882319F015 -:100D50000E94AB53F8CFC956DF4F68817981C759DC -:100D6000D040645671098BE796E30F94221BCB5653 -:100D7000DF4F48815981C559D04060E070E08EE670 -:100D800096E30F94F31A8BE696E30F945D1A809125 -:100D9000AA19811106C08091571A811102C00E94C0 -:100DA00045F58091AA19811102C00E949BEC909197 -:100DB000571A81E089270FB6F8943EBE0FBE2DBEAC -:100DC000C256DF4F0FB6F894DEBF0FBECDBFDF9126 -:100DD000CF911F910F91FF90EF90DF90CF90BF9038 -:100DE000AF909F908F907F906F905F904F903F90CB -:100DF0002F90089584E08A950000E9F70895FC019A -:100E0000DB018C9120813181382798E0A901440FC2 -:100E1000551F37FD06C09A019150C1F731832083D9 -:100E200008959A01B1E22B27B0E13B27F5CFEF926D -:100E3000FF920F931F93CF93DF93FC01019000204B -:100E4000E9F731979F01281B390B12161306CCF5D1 -:100E50006AE56093BC1C65EA6093BD1C63E0620FA9 -:100E60006093BE1C62E86093BF1C5093C01C40930B -:100E7000C11CFC01A2ECBCE1820F931F41914D9378 -:100E8000E817F907D9F78CEBE82E8CE1F82E00E093 -:100E900010E0E9012596C017D10764F0D7016D91E4 -:100EA0007D0182E69AE10E947A5D0F94FA060F5F57 -:100EB0001F4FF1CF8AE1ECEBFCE1DF011D928A9537 -:100EC000E9F7DF91CF911F910F91FF90EF90089577 -:100ED0000F931F93CF93DF9320916D1C2A3509F058 -:100EE00098C090916E1C953A09F093C080916C1C4B -:100EF000833008F48EC02093BC1C9093BD1C80935B -:100F0000BE1C90916F1C9093BF1C9038B1F49091CF -:100F1000701C9093C01CE8E7FCE1A1ECBCE120E070 -:100F200030E090E00297281739070CF044C0408168 -:100F300032964D932F5F3F4FF6CF833061F4913857 -:100F400009F064C08091701C8093C01C8091741C57 -:100F50008093C11C30C09238F1F49091701C2091A4 -:100F6000711C2093C01C9093C11CE2ECFCE120E0BA -:100F700030E090E0039728173907ECF4D901AE7FF1 -:100F8000A858B34E4C9111965C91508341832E5FCB -:100F90003F4F3296F0CF843071F4933861F48091F2 -:100FA000701C9091711C9093C01C8093C11C809107 -:100FB000741C8093C21C0CEB1CE1C0E0D0E080915B -:100FC0006C1C90E002968C179D075CF0D8016D9127 -:100FD0008D0182E69AE10E947A5D0F94FA062196CD -:100FE000EECF80E5ECE6FCE1DF011D928A95E9F7A2 -:100FF0008AE1ECEBFCE1DF011D928A95E9F78AE5D5 -:1010000080936D1C85EA80936E1C03C0923899F61C -:10101000A4CFDF91CF911F910F910895CF93DF93CC -:10102000CDB7DEB7A8970FB6F894DEBF0FBECDBF21 -:101030008C010E94E2A80F94421B85E397E30F9472 -:101040005D1A0115110511F40CE217E38091611A84 -:1010500080FD75C081608093611A81E698E00E94EE -:10106000B654882483948AE5982E9092791C8092B5 -:10107000781C8FE090E090937B1C80937A1C97E023 -:10108000A92EA0926C1C22E8B22EB0926F1C34E8FC -:10109000C32ED12CE12CF12CC092701CD092711C6B -:1010A000E092721CF092731C0F9468079092791C66 -:1010B0008092781C88E590E090937B1C80937A1C4A -:1010C000A0926C1CB0926F1CC092701CD092711CCC -:1010D000E092721CF092731C0F94680763E070E05A -:1010E00080E090E00E94CED28AE289838A838B835B -:1010F0008C83DE011596F801CE0101969D01281B17 -:10110000390B44913196442311F04D93F7CFFC01F4 -:10111000E20FF31F2AE2AF01481B590B4832510579 -:1011200011F02193F8CF40E650E160E070E00F94B9 -:1011300017076AE070E080E090E00E94CED261E0A4 -:1011400083E297E30E94C58589EE93E030E601973C -:1011500029F0232F2A950000E9F7F9CFF89489EEBA -:1011600093E038EE019729F0232F2A950000E9F744 -:10117000F9CF0E94E2A80E941251A895FECFCF920B -:10118000DF92EF92FF920F944E1E6B017C0128E5D7 -:10119000C20E22E0D21EE11CF11C0E94CB5C8F3FEC -:1011A00061F00F944E1EDC01CB018C199D09AE0934 -:1011B000BF09B7FDF2CF80E001C081E0FF90EF9062 -:1011C000DF90CF9008958F929F92AF92BF92CF926F -:1011D000DF92EF92FF920F931F93CF93DF9300D094 -:1011E0001F92CDB7DEB7FC018381813079F5818113 -:1011F00081FF2CC081899289A389B489892B8A2B8C -:101200008B2B09F448C07F0140E050E0BA01CF01C8 -:101210000E945B968823D1F0F70185889688A7887D -:10122000B08CC18CD28C82E090E0A0E0B0E0F601FE -:1012300080839183A283B3839E012F5F3F4FB501CB -:10124000A401C6010E947864811102C080E03CC004 -:1012500000E010E09801B501A401C6010E94E66318 -:101260008823A1F389809A80AB80BC80F6018789AE -:10127000803141F4F8EF8F16FFEF9F06A104B1040F -:1012800060F4DACF88EF88168FEF9806A8068FE013 -:10129000B80618F4D1CF81E017C0F701158A168A75 -:1012A000178A108E118A128A138A148A81818068A3 -:1012B0008183C7010E949499882341F240E050E065 -:1012C000BA01C7010E945B960F900F900F900F908C -:1012D000DF91CF911F910F91FF90EF90DF90CF9012 -:1012E000BF90AF909F908F9008952F923F924F9212 -:1012F0005F926F927F928F929F92AF92BF92CF92A6 -:10130000DF92EF92FF920F931F93CF93DF931F9281 -:101310001F92CDB7DEB77C012DB73EB73A83298344 -:101320008091351E811107C010921A1E10921D1E49 -:1013300081E08093351E8091121E811107C01092AA -:10134000F71D1092FA1D81E08093121EFB0180812F -:101350008F3259F488E59BE1F701918380831092E5 -:10136000EA1D8B010F5F1F4F06C08DE39BE1F70164 -:10137000918380838B01F701208031802AE1C22E86 -:101380002EE1D22E0115110509F479C04DB65EB6D5 -:101390006FE270E0C8010F948F384C0108171907ED -:1013A00008F06BC03C01601A710A7724C3010196F2 -:1013B0002DB73EB7281B390B0FB6F8943EBF0FBEB2 -:1013C0002DBF8DB79EB701965C01A301B8010F94A4 -:1013D000AF38F501E60DF71D1082F70160817181CC -:1013E00021E0A501C6010E94B39D81110FC0B50186 -:1013F0008FE097E30F942F1B8CE097E30F945D1A17 -:101400000FB6F8945EBE0FBE4DBE39C0F7018081A5 -:1014100091812816390611F00E94C799F701D182EF -:10142000C082A091EA1DAA3080F481E08A0F8093E7 -:10143000EA1DFBE1FA9FD0011124A452B34EF6013C -:101440008BE101900D928A95E1F7F70180819181FE -:101450008A519E4129F497EFC92E9DE1D92E04C0EF -:101460008AE1C82E8EE1D82E84010F5F1F4F0FB680 -:10147000F8945EBE0FBE4DBE85CFC80102C080E0AD -:1014800090E029813A810FB6F8943EBF0FBE2DBF80 -:101490000F900F90DF91CF911F910F91FF90EF90E0 -:1014A000DF90CF90BF90AF909F908F907F906F9084 -:1014B0005F904F903F902F9008952091601A26954D -:1014C000269520FF2DC02091F51D3091F61D280F87 -:1014D000391F3093F61D2093F51D20915E1A30912F -:1014E0005F1A280F391F30935F1A20935E1A2091DC -:1014F000080121702093060120915C1A30915D1A39 -:10150000820F931F90935D1A80935C1A0F944E1E66 -:101510006093581A7093591A80935A1A90935B1AD1 -:1015200008950F931F93CF93DF93CDB7DEB76497E2 -:101530000FB6F894DEBF0FBECDBFE82FF0E0EA5241 -:10154000FE4DE4918E2F90E0FC013197E231F105E0 -:1015500008F049C28827ED52FF4F8F4F0D94333565 -:1015600084B5807C09F43FC287B51F928F9388E4CD -:1015700098E39F938F938E010F5F1F4F1F930F93DD -:101580000F94DE2D0F900F900F900F900F900F90F3 -:10159000F80181918F01811102C081E025C20E9472 -:1015A000AB53F6CF84B5807309F41DC288B51F9282 -:1015B0008F938EE398E39F938F938E010F5F1F4F5E -:1015C0001F930F930F94DE2D0F900F900F900F909D -:1015D0000F900F90F80181918F018823F1F20E9402 -:1015E000AB53F8CF80918000807C09F4FCC18091DE -:1015F0008800909189009F938F9384E398E39F9351 -:101600008F938E010F5F1F4F1F930F930F94DE2D4B -:101610000F900F900F900F900F900F90F801819105 -:101620008F01882309F4B9CF0E94AB53F7CF809183 -:101630008000807309F4D7C180918A0090918B005B -:101640009F938F938AE298E39F938F938E010F5F0E -:101650001F4F1F930F930F94DE2D0F900F900F903D -:101660000F900F900F90F80181918F01882309F45A -:1016700094CF0E94AB53F7CF809180008C7009F417 -:10168000B2C180918C0090918D009F938F9380E2E6 -:1016900098E39F938F938E010F5F1F4F1F930F93BC -:1016A0000F94DE2D0F900F900F900F900F900F90D2 -:1016B000F80181918F01882309F46FCF0E94AB5309 -:1016C000F7CF8091B000807C09F48DC18091B30088 -:1016D0001F928F9386E198E39F938F938E010F5F04 -:1016E0001F4F1F930F930F94DE2D0F900F900F90AD -:1016F0000F900F900F90F80181918F01882309F4CA -:101700004CCF0E94AB53F7CF8091B000807309F4A7 -:101710006AC18091B4001F928F938CE098E39F93ED -:101720008F938E010F5F1F4F1F930F930F94DE2D2A -:101730000F900F900F900F900F900F90F8018191E4 -:101740008F01882309F429CF0E94AB53F7CF8091F2 -:101750009000807C09F447C1809198009091990095 -:101760009F938F9382E098E39F938F938E010F5FF7 -:101770001F4F1F930F930F94DE2D0F900F900F901C -:101780000F900F900F90F80181918F01882309F439 -:1017900004CF0E94AB53F7CF80919000807309F47F -:1017A00022C180919A0090919B009F938F9388EF24 -:1017B00097E39F938F938E010F5F1F4F1F930F939C -:1017C0000F94DE2D0F900F900F900F900F900F90B1 -:1017D000F80181918F01882309F4DFCE0E94AB5379 -:1017E000F7CF809190008C7009F4FDC080919C002F -:1017F00090919D009F938F938EEE97E39F938F938D -:101800008E010F5F1F4F1F930F930F94DE2D0F90CC -:101810000F900F900F900F900F90F80181918F0112 -:10182000882309F4BACE0E94AB53F7CF8091A00071 -:10183000807C09F4D8C08091A8009091A9009F9362 -:101840008F9384EE97E39F938F938E010F5F1F4FCB -:101850001F930F930F94DE2D0F900F900F900F900A -:101860000F900F90F80181918F01882309F495CE94 -:101870000E94AB53F7CF8091A000807309F4B3C0EE -:101880008091AA009091AB009F938F938AED97E38C -:101890009F938F938E010F5F1F4F1F930F930F9492 -:1018A000DE2D0F900F900F900F900F900F90F8017A -:1018B00081918F01882309F470CE0E94AB53F7CF3A -:1018C0008091A0008C7009F48EC08091AC00909142 -:1018D000AD009F938F9380ED97E39F938F938E013D -:1018E0000F5F1F4F1F930F930F94DE2D0F900F90DC -:1018F0000F900F900F900F90F80181918F01882326 -:1019000009F44BCE0E94AB53F7CF80912001807C2D -:1019100009F469C080912801909129019F938F93C8 -:1019200086EC97E39F938F938E010F5F1F4F1F935A -:101930000F930F94DE2D0F900F900F900F900F903C -:101940000F90F80181918F01882309F426CE0E941F -:10195000AB53F7CF80912001807309F444C080918C -:101960002A0190912B019F938F938CEB97E39F9388 -:101970008F938E010F5F1F4F1F930F930F94DE2DD8 -:101980000F900F900F900F900F900F90F801819192 -:101990008F01882309F401CE0E94AB53F7CF8091C9 -:1019A00020018C7001F180912C0190912D019F9369 -:1019B0008F9382EB97E39F938F938E010F5F1F4F5F -:1019C0001F930F930F94DE2D0F900F900F900F9099 -:1019D0000F900F90F80181918F01882309F4DDCDDC -:1019E0000E94AB53F7CF80E064960FB6F894DEBF49 -:1019F0000FBECDBFDF91CF911F910F910895082E9B -:101A0000000C990BFC01E65BFE4DE491F0E0EE0F5B -:101A1000FF1FE450FF4DA591B4912C91FC01E057BC -:101A2000FE4DE491E22381E009F480E00895811104 -:101A300003C08AE897E302C086E997E30F945D1A32 -:101A4000409128125091291260912A1270912B1204 -:101A50008FEA97E30F94111B40912C1250912D1295 -:101A600060912E1270912F128CEA97E30F94111B44 -:101A70006091301270913112072E000C880B990B77 -:101A80000F944D2EAB01BC0189EA97E30F94111B13 -:101A90006091321270913312072E000C880B990B53 -:101AA0000F944D2EAB01BC0186EA97E30F94111BF6 -:101AB0004091341250913512609136127091371264 -:101AC00083EA97E30F94111B409138125091391219 -:101AD00060913A1270913B1280EA97E30F94111BC8 -:101AE00040913C1250913D1260913E1270913F1214 -:101AF0008DE997E30F94111B8AE00C94AB53CF92BE -:101B0000DF92EF92FF9283E50E945E85882339F190 -:101B10000E94DE846B017C0120E030E0A9010F947B -:101B2000462E87FD11C020E030E04AEF53E4C701A4 -:101B3000B6010F949C37181654F4C12CD12C9AEF8F -:101B4000E92E93E4F92E03C0C12CD12C7601C0926A -:101B50002812D0922912E0922A12F0922B1285E4D8 -:101B60000E945E85882339F10E94DE846B017C012E -:101B700020E030E0A9010F94462E87FD11C020E03F -:101B800030E04AEF53E4C701B6010F949C371816B2 -:101B900054F4C12CD12C8AEFE82E83E4F82E03C034 -:101BA000C12CD12C7601C0922C12D0922D12E09231 -:101BB0002E12F0922F1280E50E945E858823A1F0FC -:101BC0000E94DE840F94A8366A3071053CF06931BA -:101BD00085E178072CF068E175E102C06AE070E009 -:101BE000709331126093301282E50E945E858823E3 -:101BF000A1F00E94DE840F94A8366A3071053CF093 -:101C0000693185E178072CF068E175E102C06AE08E -:101C100070E0709333126093321288E50E945E8503 -:101C2000882351F00E94DE84609334127093351241 -:101C3000809336129093371289E50E945E8588233F -:101C400051F00E94DE8460933812709339128093B1 -:101C50003A1290933B128AE50E945E85882351F0E8 -:101C60000E94DE8460933C1270933D1280933E127A -:101C700090933F128091FA1884FD12C08091FB1856 -:101C800087FD0EC08091FC18867851F48091FD1874 -:101C9000837031F4FF90EF90DF90CF900D94170D8B -:101CA000FF90EF90DF90CF9008958091FB1887FD13 -:101CB00005C08091FC188E7009F445C083E50E9430 -:101CC0005E85882391F00E94DE8460930C127093ED -:101CD0000D1280930E1290930F1260931412709352 -:101CE0001512809316129093171280E50E945E855C -:101CF000882351F00E94DE8460930C1270930D12C1 -:101D000080930E1290930F1282E50E945E858823C5 -:101D100051F00E94DE846093101270931112809330 -:101D200012129093131284E50E945E85882391F12C -:101D30000E94DE8460931412709315128093161221 -:101D400090931712089540910C1250910D126091CA -:101D50000E1270910F128BE597E30F94111B4091B7 -:101D6000101250911112609112127091131288E5A5 -:101D700097E30F94111B409114125091151260912A -:101D800016127091171285E597E30F94111B8AE0E4 -:101D90000C94AB53089580913D1E90913E1E009788 -:101DA00031F04AE050E060E070E00D946A2C60E0B1 -:101DB00070E0CB0108958F929F92AF92BF92CF9225 -:101DC000DF92EF92FF928091FA1881FD09C0809115 -:101DD000FB1881FD05C08091FC188C7009F48AC045 -:101DE00082E40E941585882351F00F94CB0E6093F6 -:101DF000E8117093E9118093EA119093EB1183E558 -:101E00000E941585882351F00E94DE846093181289 -:101E10007093191280931A1290931B1284E50E94FA -:101E20001585882351F00E94DE8460931C12709304 -:101E30001D1280931E1290931F128AE40E94158532 -:101E4000882309F457C00E94DE846B017C012AE0DC -:101E500037ED43E25CE30F949C3787FD3DC02AE9F0 -:101E600039E949E95EE3C701B6010F94462E181619 -:101E70009CF1C0927611D0927711E0927811F09295 -:101E800079116091E4117091E5118091E6119091C2 -:101E9000E7110F944B2E4B015C0123EF34E045E337 -:101EA0005FE3C701B6010F94AC2E9B01AC01C501E5 -:101EB000B4010F94AC2E29E732E84AE550E40F94C0 -:101EC000AC2E0F94EA3760938E1170938F1180932C -:101ED0009011909391110EC00F94421B8BE697E3E3 -:101EE000FF90EF90DF90CF90BF90AF909F908F903A -:101EF0000D945D1AFF90EF90DF90CF90BF90AF9060 -:101F00009F908F9008958F929F92AF92BF92CF92A1 -:101F1000DF92EF92FF920F931F93CF93DF93F0E244 -:101F2000FF2EE12CAE2DB0E0BD016F0D711D75953A -:101F30006795611103C0EEE1FAE306C06E1511F07A -:101F4000F6120BC0EAE9FAE365917491072E000CD2 -:101F5000880B990B0F944D2E62C09B0121503109C3 -:101F6000220F331F220F331FF901E45EF54C059158 -:101F70001491AB01440F551F440F551FFA01E45E45 -:101F8000F54CC591D4918017910714F4F62ECCCF5F -:101F9000C817D90714F4E62EC5CFF901E25EF54C57 -:101FA000E590F490FA01E25EF54CC590D490BC0146 -:101FB000601B710B072E000C880B990B0F944D2E94 -:101FC0004B015C01B6016E197F09072E000C880BCE -:101FD000990B0F944D2E9B01AC01C501B4010F94D8 -:101FE000AC2E4B015C01C01BD10BBE01DD0F880B79 -:101FF000990B0F944D2E9B01AC01C501B4010F94B8 -:1020000036364B015C01B701FF0C880B990B0F941E -:102010004D2E9B01AC01C501B4010F943C35DF91FD -:10202000CF911F910F91FF90EF90DF90CF90BF90D5 -:10203000AF909F908F9008958F929F92AF92BF9292 -:10204000CF92DF92EF92FF920F931F93CF93DF9384 -:10205000C62F662381F00F94421B6C2F70E080E046 -:1020600090E00E941F548EEF99E30F945D1A80E078 -:1020700090E00F940E08F0E4FF2EE12CAE2DB0E0BE -:10208000BD016F0D711D75956795611103C0E4E584 -:10209000F8E306C06E1511F0F6120BC0E0E5F9E3A7 -:1020A00065917491072E000C880B990B0F944D2E9F -:1020B00062C09B0121503109220F331F220F331FB1 -:1020C000F901EE5AF74C05911491AB01440F551FDD -:1020D000440F551FFA01EE5AF74CC591D491801761 -:1020E000910714F4F62ECCCFC817D90714F4E62EB6 -:1020F000C5CFF901EC5AF74CE590F490FA01EC5A8F -:10210000F74CC590D490BC01601B710B072E000CDE -:10211000880B990B0F944D2E4B015C01B6016E1983 -:102120007F09072E000C880B990B0F944D2E9B01F5 -:10213000AC01C501B4010F94AC2E4B015C01C01B76 -:10214000D10BBE01DD0F880B990B0F944D2E9B0117 -:10215000AC01C501B4010F9436364B015C01B701E7 -:10216000FF0C880B990B0F944D2E9B01AC01C50100 -:10217000B4010F943C35DF91CF911F910F91FF90E7 -:10218000EF90DF90CF90BF90AF909F908F90089589 -:102190008F929F92AF92BF92CF92DF92EF92FF9277 -:1021A0000F931F93CF93DF93EC018A01C880D980EE -:1021B000EA80FB80072E000C880B990B0F944D2EA4 -:1021C0004B015C019B01AC01C701B6010F94462E87 -:1021D00087FD10C0B801110F880B990B0F944D2E7D -:1021E0004B015C019B01AC01C701B6010F949C3708 -:1021F000181624F488829982AA82BB82DF91CF913B -:102200001F910F91FF90EF90DF90CF90BF90AF9014 -:102210009F908F900895EF92FF920F931F93CF930B -:10222000C82F7B018A0180913E028823D1F00F9450 -:10223000421BC7010F945D1A86E599E30F945D1A5E -:10224000C7FD08C06C2FCC0F770B880B990B0E9431 -:102250001F5404C082E599E30F945D1A8AE00E943E -:10226000AB530E94E2A880915F1E811108C081E0FB -:1022700080935F1E10923E02C8010F940E08CF910A -:102280001F910F91FF90EF9008952F923F924F92E0 -:102290005F926F927F928F929F92AF92BF92CF92F6 -:1022A000DF92EF92FF920F931F93CF93DF93CDB7FF -:1022B000DEB72F970FB6F894DEBF0FBECDBF80916B -:1022C0005E1E81111DC08091D41181111DC02F96F9 -:1022D0000FB6F894DEBF0FBECDBFDF91CF911F9137 -:1022E0000F91FF90EF90DF90CF90BF90AF909F90B5 -:1022F0008F907F906F905F904F903F902F900895B8 -:1023000080E090E00F940E080E9451A90F944E1E99 -:102310004B015C016091120270911302072E000CB8 -:10232000880B990B0F944D2E9B01AC016091830992 -:102330007091840980918509909186090F949C374A -:1023400018163CF44BED59E36EEE79E380E00F9400 -:102350000B118091D211882309F404C2609187097E -:1023600070918809072E000C880B990B0F944D2E45 -:1023700069837A838B839C833AE0E32EF12C0CE310 -:1023800010E020E0AE014F5F5F4F63E879E08EE838 -:102390009EE10E94D4A6C0908309D0908409E09069 -:1023A0008509F09086096091100270911102072E44 -:1023B000000C880B990B0F944D2E9B01AC01C701AB -:1023C000B6010F949C3718160CF4A0C060E060931F -:1023D00089098091BF119091C011A091C111B09154 -:1023E000C2110097A105B10529F1A5019401281B8F -:1023F000390B4A0B5B0B57FD1DC06091BD117091ED -:10240000BE1180E090E00F944B2E9B01AC016091D7 -:1024100083097091840980918509909186090F94B0 -:10242000462E87FF08C34AEB59E36CEC79E380E062 -:102430000F940B1120E030E046E153E460919A09DB -:1024400070919B0980919C0990919D090F949C37F4 -:1024500018160CF4D7C18091C5119091C611A091A6 -:10246000C711B091C8110097A105B10529F1A501C7 -:102470009401281B390B4A0B5B0B57FD1DC0609163 -:10248000C3117091C41180E090E00F944B2E9B011A -:10249000AC0160919A0970919B0980919C0990917F -:1024A0009D090F94462E87FFB5C144E759E367E8BD -:1024B00079E38FEF0F940B118091CD11882309F4EC -:1024C0008AC160919E0970919F09072E000C880BAC -:1024D000990B0F944D2E69837A838B839C8392E0B2 -:1024E000E92EF12C02E310E02FEFAE014F5F5F4FBA -:1024F0006AE979E089E89EE10E94D4A68091CD1135 -:10250000882309F448C11092A009E1CE609112021B -:1025100070911302072E000C880B990B0F944D2E0F -:102520009B01AC01C701B6010F94462E87FF4ECF29 -:1025300060918709709188096115710509F476C267 -:10254000072E000C880B990B0F944D2EA7019601B6 -:102550000F943B352B013C0120E030E040E251EC90 -:102560000F94462E87FD62C28091D21181115EC206 -:1025700020E030E040E251E4C301B2010F949C3707 -:1025800018160CF465C28091881E811166C2809174 -:10259000801E9091811EA091821EB091831E8D831A -:1025A0009E83AF83B8872091841E3091851E409111 -:1025B000861E5091871E29873A874B875C87A70123 -:1025C00096016091741E7091751E8091761E909197 -:1025D000771E0F943B3520919209309193094091D9 -:1025E0009409509195090F94AC2E2D813E814F8115 -:1025F00058850F943B3520ED3CEC4CE45DE30F94A3 -:10260000AC2E2D813E814F8158850F943C356B0156 -:102610007C016093801E7093811E8093821E909334 -:10262000831E80918E0990918F09A0919009B0919D -:1026300091098D839E83AF83B88729853A854B8521 -:102640005C85C301B2010F943C35162F072F382E3D -:10265000292E20E030E0A9010F94462E87FD12C2FA -:102660002D813E814F81588560E070E08FE793E4D3 -:102670000F94363669877D878E879F87212F302F6D -:10268000432D522D0F94462E87FF04C019850D85CA -:102690003E842F84812F902FA32DB22D8093841EF2 -:1026A0009093851EA093861EB093871E20918A0961 -:1026B00030918B0940918C0950918D09C301B20171 -:1026C0000F94AC2E2B013C016093781E7093791E01 -:1026D00080937A1E90937B1E212F302F432D522DF5 -:1026E0006D817E818F8198850F94AC2E9B01AC010A -:1026F00060937C1E70937D1E80937E1E90937F1E40 -:10270000C301B2010F943C35A70196010F943C35EB -:1027100020E030E0A9010F943C3569837A838B83F4 -:102720009C834FEF50E060E070E0CE0101960F9483 -:10273000C810C0908309D0908409E0908509F0907A -:10274000860969817A818B819C810F94A836759561 -:102750006795C092741ED092751EE092761EF0921C -:10276000771E35CE8091CE119091CF11A091D011CE -:10277000B091D1110097A105B10509F4EFCDA501E4 -:102780009401281B390B4A0B5B0B57FDE7CD81E009 -:102790008093D211E3CDC0909A09D0909B09E0902C -:1027A0009C09F0909D0920E030E040EA50E4C70128 -:1027B000B6010F949C3787FD0AC020E030E046E167 -:1027C00053E4C701B6010F94462E181634F560E0A5 -:1027D0006093A0097CCD8091C9119091CA11A091FC -:1027E000CB11B091CC110097A105B10509F469CEC8 -:1027F000881A990AAA0ABB0AB7FC63CE81E08093C3 -:10280000CD115FCE46E959E36AEA79E38FEF0F9481 -:102810000B1121CE0E9493A84FCE60919E0970911A -:102820009F096115710509F40AC1072E000C880B78 -:10283000990B0F944D2EA70196010F943B354B0138 -:102840005C0120E030E040E251EC0F94462E87FD21 -:10285000F6C020E030E040E251E4C501B4010F943D -:102860009C3718160CF4EFC04090A5095090A609AB -:102870006090A7097090A809809174028111F8C036 -:102880002091701E3091711E4091721E5091731EE6 -:1028900080916C1E90916D1EA0916E1EB0916F1E66 -:1028A0008D839E83AF83B887C501B4010F943C35F7 -:1028B000162F072F382E292E20E030E0A9010F9483 -:1028C000462E87FDE4C0A301920160E070E08FE72F -:1028D00093E40F94363669877D878E879F87212FF3 -:1028E000302F432D522D0F94462E87FF04C019859B -:1028F0000D853E842F84812F902FA32DB22D8093A0 -:10290000701E9093711EA093721EB093731E20913F -:10291000A1093091A2094091A3095091A409C501D0 -:10292000B4010F94AC2E4B015C016093641E709354 -:10293000651E8093661E9093671E212F302F432DB6 -:10294000522DC301B2010F94AC2E2B013C016093B8 -:10295000681E7093691E80936A1E90936B1EA70178 -:1029600096016091601E7091611E8091621E90912F -:10297000631E0F943B352091A9093091AA0940911B -:10298000AB095091AC090F94AC2E2D813E814F8143 -:1029900058850F943B3520ED3CEC4CE45DE30F94FF -:1029A000AC2E2D813E814F8158850F943C356D832F -:1029B0007E838F83988760936C1E70936D1E8093C7 -:1029C0006E1E90936F1EC092601ED092611EE092A8 -:1029D000621EF092631EA3019201C501B4010F941F -:1029E0003C352D813E814F8158850F943C3520E048 -:1029F00030E0A9010F943C356B017C0120E030E010 -:102A0000A9010F94462E87FDE2CE20E030E04FE78B -:102A100053E4C701B6010F949C371816BCF0C701E8 -:102A2000B6010F94A83675956795D2CE81E0809354 -:102A3000881E60E08ECE80E00E9402A9FBCC81E07F -:102A400080937402C4CE81E0809374026FE7C0CE9D -:102A500081E08093881E6FE77CCE1092881E1986D5 -:102A60001A861B861C861D821E821F821886A7CD91 -:102A7000109274021D821E821F82188620E030E0B0 -:102A8000A90112CF10E000E0312C212C03CE10E080 -:102A900000E0312C212C2FCF6F3F710519F010F081 -:102AA0006FEF70E09091CE12981741F0823040F4B1 -:102AB000E82FF0E0EC5DFD4E608308956093C61250 -:102AC000089590916F00292F227091FF05C0909179 -:102AD0006F009D7F90936F0034E0839FC0011124AD -:102AE000FC01E25BF14E4081518162817381FC0106 -:102AF000EE5BF14E408351836283738381E0809368 -:102B0000411E222329F080916F00826080936F0024 -:102B1000089590916F00292F227091FF05C0909128 -:102B20006F009D7F90936F0094E0899FF0011124C6 -:102B3000E25BF14E6081718182819381222329F0D1 -:102B400020916F00226020936F000895BC012091B6 -:102B50003F1E3091401E40913F1E5091401E241751 -:102B6000350711F09A01F7CF81E02617370709F0F2 -:102B700080E008954F925F926F927F928F929F9222 -:102B8000AF92BF92CF92DF92EF92FF920F931F937B -:102B9000CF93DF93EC016091531A7091541A072E72 -:102BA000000C880B990B0F944D2E9B01AC01688192 -:102BB00079818A819B810F943B356B017C01609107 -:102BC000551A7091561A072E000C880B990B0F940A -:102BD0004D2E9B01AC016C817D818E819F810F9474 -:102BE0003B354B015C0120917B0230917C0240918E -:102BF0007D0250917E02C701B6010F94462E8823B4 -:102C000009F467C0C0927B02D0927C02E0927D0200 -:102C1000F0927E022091B71E3091B81E4091B91EED -:102C20005091BA1EC701B6010F94AC2E2B013C0186 -:102C30000F94DE366B017C0120E030E0A9010F9497 -:102C4000462E87FD11C020E030E040E850E4C70187 -:102C5000B6010F949C37181654F4C12CD12CC0E83F -:102C6000EC2EC0E4FC2E03C0C12CD12C7601A701B0 -:102C70009601C301B2010F943B352B013C0120E0CA -:102C800030E0A9010F94462E87FD09C04092B31E83 -:102C90005092B41E6092B51E7092B61E08C010927B -:102CA000B31E1092B41E1092B51E1092B61EC7012C -:102CB000B6010F94A8366093B21E062E000C770B57 -:102CC0006F5F7F4F6430710514F064E070E06093D3 -:102CD000B11E209177023091780240917902509193 -:102CE0007A02C501B4010F94462ED091760210915C -:102CF000B21E811103C0D11368C028C1809277022F -:102D000090927802A0927902B0927A022091BB1E32 -:102D10003091BC1E4091BD1E5091BE1EC501B40134 -:102D20000F94AC2E4B015C010F94DE366B017C01DD -:102D300020E030E0A9010F94462E87FD11C020E06D -:102D400030E040E850E4C701B6010F949C371816F4 -:102D500054F4C12CD12CB0E8EB2EB0E4FB2E03C010 -:102D6000C12CD12C7601A7019601C501B4010F94A5 -:102D70003B354B015C0120E030E0A9010F94462E69 -:102D800087FD09C08092AD1E9092AE1EA092AF1E2C -:102D9000B092B01E08C01092AD1E1092AE1E1092DE -:102DA000AF1E1092B01EC701B6010F94A8366093F3 -:102DB000AC1E062E000C770B6F5F7F4F64307105E1 -:102DC00014F064E070E06093AB1EC091AC1ED113B0 -:102DD00005C0809175028C1709F46EC010937602BD -:102DE000C09375020C2E000CDD0B85E0F82E2F2D04 -:102DF0001203C0011124FC01EC0FFD1FEE0FFF1F99 -:102E0000EE0FFF1FED53F64E208131814281538139 -:102E10002093A71E3093A81E4093A91E5093AA1E6C -:102E20000091AB1E002E000C110BFC01E00FF11FF6 -:102E3000EE0FFF1FEE0FFF1FED53F64E6081718105 -:102E4000828193810F943B356093A31E7093A41EDF -:102E50008093A51E9093A61E2091B11E3F2D2303A3 -:102E6000F0011124CE0FDF1FCC0FDD1FCC0FDD1FB3 -:102E7000CD53D64E288139814A815B8120939F1E94 -:102E80003093A01E4093A11E5093A21EE00FF11F8D -:102E9000EE0FFF1FEE0FFF1FED53F64E60817181A5 -:102EA000828193810F943B3560939B1E70939C1E8F -:102EB00080939D1E90939E1E8090AD1E9090AE1E9E -:102EC000A090AF1EB090B01E2091A31E3091A41E02 -:102ED0004091A51E5091A61EC501B4010F94AC2EC1 -:102EE0002091A71E3091A81E4091A91E5091AA1EA4 -:102EF0000F943C356B017C016093971E7093981E74 -:102F00008093991E90939A1E20919B1E30919C1E37 -:102F100040919D1E50919E1EC501B4010F94AC2E90 -:102F200020919F1E3091A01E4091A11E5091A21E83 -:102F30000F943C35A70196010F943B356093931E87 -:102F40007093941E8093951E9093961E2091931ECD -:102F50003091941E4091951E5091961E6091B31E23 -:102F60007091B41E8091B51E9091B61E0F94AC2E38 -:102F70002091971E3091981E4091991E50919A1E53 -:102F80000F943C35DF91CF911F910F91FF90EF90FF -:102F9000DF90CF90BF90AF909F908F907F906F9079 -:102FA0005F904F900895CF93DF93CDB7DEB72C9706 -:102FB0000FB6F894DEBF0FBECDBF882331F020914D -:102FC000AF193091B019232B59F19091E71289175D -:102FD00039F10E9485F98CE0E7EBF3E0DE01119610 -:102FE00001900D928A95E1F7CE0101960F94BA15E2 -:102FF0008091E712882359F047ED52E163ED72E1C9 -:103000008FEC92E10E94CDFB1092E71207C081E0A5 -:103010008093E7128FEC92E10E9496FB0E9420E2DF -:103020002C960FB6F894DEBF0FBECDBFDF91CF91C7 -:103030000895CF92DF92EF92FF926091AF19709155 -:10304000B019072E000C880B990B0F944D2E6B01B5 -:103050007C012DEB37E346E855EB0F949C3787FD59 -:103060000AC02DEB37E346E855E3C701B6010F94DC -:10307000462E18164CF4A701960160E070E080E837 -:103080009FE30F94363603C060E070E0CB0160939D -:10309000B71E7093B81E8093B91E9093BA1E6091AC -:1030A000B1197091B219072E000C880B990B0F946F -:1030B0004D2E6B017C012DEB37E346E855EB0F9469 -:1030C0009C3787FD0AC02DEB37E346E855E3C7017F -:1030D000B6010F94462E18164CF4A701960160E035 -:1030E00070E080E89FE30F94363603C060E070E044 -:1030F000CB016093BB1E7093BC1E8093BD1E90934A -:10310000BE1EFF90EF90DF90CF9008952F923F92D8 -:103110004F925F926F927F928F929F92AF92BF92E7 -:10312000CF92DF92EF92FF920F931F93CF93DF9393 -:10313000CDB7DEB760970FB6F894DEBF0FBECDBF38 -:103140008A876B87942EA22E282F30E03D872C870C -:1031500070E07987688715E0129FC001139F900D7A -:1031600011249F878E87FB01E80FF91FEE0FFF1FC9 -:10317000EE0FFF1FED53F64E6081718182819381C6 -:103180009B01AC010F942E38882309F44EC14A8567 -:10319000490D2B852A0D149FB0011124E885F9856E -:1031A000E60FF71FEE0FFF1FEE0FFF1FED53F64E5A -:1031B000D080E180F2800381490D149FA001112489 -:1031C000E885F985E40FF51FEE0FFF1FEE0FFF1FD7 -:1031D000ED53F64E1081918082807380822F90E0B3 -:1031E000EE85FF85E80FF91FEE0FFF1FEE0FFF1FA3 -:1031F000ED53F64E608051803280338139832A0D41 -:1032000030E0EE85FF85E20FF31FEE0FFF1FEE0F9C -:10321000FF1FED53F64EFF87EE87F081FA83EE85B0 -:10322000FF85F181FB83EE85FF85F281FC83EE85CE -:10323000FF85F381FD83FB01E80FF91FEE0FFF1FF0 -:10324000EE0FFF1FED53F64E60816E83B1807281E9 -:103250007F8383818E87FA01E20FF31FEE0FFF1F3A -:10326000EE0FFF1FED53F64E4080A1809281988BA8 -:103270002380212F392D482D572D612F792D882D11 -:10328000972D0F942E38882321F010E0912C812C5B -:10329000712C2D2D3E2D4F2D502F6D2D7E2D8F2DD0 -:1032A000902F0F942E38882321F0D12EE92CF82C62 -:1032B000072D2A813B814C815D816A817B818C81D4 -:1032C0009D810F942E38882321F01A821B821C8244 -:1032D0001D82262D352D432D5981662D752D832D6B -:1032E00099810F942E38882329F06A805B803C8076 -:1032F000ED81E983242D3A2D4889522D642D7A2DB4 -:103300008889922D0F942E38882321F0412CA12CEE -:10331000188A212C2E813B2D4F815E856E817B2D5D -:103320008F819E850F942E38882329F04E82BA2CE7 -:10333000F889FF832E862D2D3E2D4F2D502F6D2D7C -:103340007E2D8F2D902F0F943C35212F392D482D18 -:10335000572D0F943B356B017C01262D352D432DC8 -:103360005981662D752D832D99810F943C352A81C5 -:103370003B814C815D810F943B359B01AC01C701C2 -:10338000B6010F943C353B014C012E813B2D4F8102 -:103390005E856E817B2D8F819E850F943C35242D1B -:1033A0003A2D4889522D0F943B359B01AC01C40145 -:1033B000B3010F943C3520E030E040E450E40F943A -:1033C00036369B01AC0185E06C857D85869FF001DA -:1033D000879FF00D112488859985E80FF91FEE0F5E -:1033E000FF1FEE0FFF1FED53F64E20833183428304 -:1033F00053836B858A8560960FB6F894DEBF0FBE47 -:10340000CDBFDF91CF911F910F91FF90EF90DF9093 -:10341000CF90BF90AF909F908F907F906F905F9074 -:103420004F903F902F900C94E9D260960FB6F8948D -:10343000DEBF0FBECDBFDF91CF911F910F91FF90E7 -:10344000EF90DF90CF90BF90AF909F908F907F9044 -:103450006F905F904F903F902F900895CF92DF92A2 -:10346000EF92FF926B017C0183E3C816D104E10463 -:10347000F10470F082E3C81AD108E108F10862E3B0 -:1034800070E080E090E00F94141E0F944511ECCF93 -:10349000C701B6010F94141EFF90EF90DF90CF90FC -:1034A0000D944511CF93C82FCC2329F080E20E94C0 -:1034B000AB53C150F9CFCF910895CF93DF93FC0167 -:1034C0008491EF012196882321F00E94AB53FE01E5 -:1034D000F7CFDF91CF9108958F929F92AF92BF92D5 -:1034E000CF92DF92EF92FF920F931F93CF93DF93D0 -:1034F0008AE29BE30F945D1AC12CD12C760186E001 -:103500000F94521AC701B6010E941F548FEFC81AB8 -:10351000D80AE80AF80A95E0C916D104E104F104D2 -:1035200071F78AE00E94AB5303EC19E1C12CD12C56 -:10353000760180E20E94AB53C701B6010E941F547E -:10354000C0E0D0E080E20E94AB53F801EC0FFD1F19 -:1035500080809180A280B380A5019401C501B4014F -:103560000F942E38811112C020E030E0A901C5016E -:10357000B4010F949C3787FD03C08BE20E94AB53CC -:1035800043E0C501B4010E943B5409C0B12C80E264 -:103590000E94AB53B3948DE396E0B912F9CF6496D1 -:1035A000C436D10579F68AE00E94AB538FEFC81A72 -:1035B000D80AE80AF80A0C5F1F4F95E0C916D10433 -:1035C000E104F10409F0B5CF8AE0DF91CF911F91BA -:1035D0000F91FF90EF90DF90CF90BF90AF909F90B2 -:1035E0008F900C94AB53CF92DF92EF92FF926A01CF -:1035F0007B010F945D1A4AE0C701B601FF90EF907E -:10360000DF90CF900C94B253CF93DF93EB010F94E4 -:103610005D1ABE0180E090E04AE0DF91CF910C940A -:10362000B253CF92DF92EF92FF926A017B010F9427 -:103630005D1A42E0C701B601FF90EF90DF90CF9096 -:103640000C943B54CF93DF93EB010F945D1ABE01B2 -:10365000DD0F880B990BDF91CF910C941F540F93C2 -:103660001F93CF93DF938B010F945D1AE80189912B -:10367000882319F00E94AB53FACFDF91CF911F91AD -:103680000F91089583E29BE30D945D1A8DE19BE316 -:103690000D945D1A0E94E2A80F941D1C8091CA121D -:1036A000882319F080E00E9413AE80913E028823A7 -:1036B00099F00F94421B86EA9AE30F945D1A60E03A -:1036C0008CE99AE30E9447F76EE571E080E090E0B4 -:1036D0000F942E1A10923E020895CF93DF93C0915B -:1036E000D11E8CE698E00E94B6548091CC1E8730A3 -:1036F00009F445C083E08093CB1E81E080937F0274 -:1037000080E190E09093791C8093781C85E0809311 -:103710006C1CD2E8D0936F1C84E190E1A0E0B0E093 -:103720008093701C9093711CA093721CB093731CB7 -:103730000F94680761E070E080E090E00E94CED2D4 -:1037400081E09AE59093791C8093781C85E390E062 -:1037500090937B1C80937A1C87E080936C1CD093A1 -:103760006F1C84E890E0A0E0B0E08093701C909320 -:10377000711CA093721CB093731C0F946807C13026 -:1037800081F1C23059F40E94F7F56093C31E709323 -:10379000C41E8093C51E9093C61E02C00E942BF6C5 -:1037A00081E08093D11E0F944E1E6093BF1E7093D4 -:1037B000C01E8093C11E9093C21EC230A1F08091A2 -:1037C000B1099091B20901969093B2098093B10921 -:1037D0001092D21E1092D31E1092D41E1092D51E9B -:1037E00002C080E001C081E0DF91CF910895CF93C6 -:1037F000DF9300D01F92CDB7DEB78091B009882348 -:10380000A9F083E390E09C838B831A8219829E0146 -:103810002F5F3F4F40E150E061EB79E0CE0103962E -:103820000E94AE5183E198E00E94B6540F900F9031 -:103830000F900F90DF91CF910895CF92DF92EF928A -:10384000FF920F931F938091D11E8150823010F010 -:1038500080E0A7C080EA98E00E94B6548091CC1E18 -:10386000833009F441C084E898E00E94B65480E9AE -:1038700098E00E94B65440E060E070E0CB010E9406 -:10388000EDF741E060E070E0CB010E94EDF781E0F0 -:10389000809305021092CA1E21E030E03093C91EC9 -:1038A0002093C81E80937F0281E09AE59093791C53 -:1038B0008093781C8DE290E090937B1C80937A1C1F -:1038C00087E080936C1C82E880936F1C84E890E012 -:1038D000A0E0B0E08093701C9093711CA093721CC8 -:1038E000B093731C0F9468071092D11E0F944E1E54 -:1038F0006093CD1E7093CE1E8093CF1E9093D01EEA -:103900008091B3099091B40901969093B409809382 -:10391000B309C090D21ED090D31EE090D41EF09078 -:10392000D51E0E94F7F56093D21E7093D31E80932C -:10393000D41E9093D51E0091B5091091B60920911F -:10394000B7093091B8090C191D092E093F09DC018E -:10395000CB01800F911FA21FB31F8093B5099093D5 -:10396000B609A093B709B093B8090E94F7F5009182 -:10397000B9091091BA092091BB093091BC09061709 -:1039800017072807390750F40E94F7F56093B90923 -:103990007093BA098093BB099093BC090F94F71BED -:1039A00081E01F910F91FF90EF90DF90CF900895ED -:1039B000CF93DF9300D01F921F92CDB7DEB781E087 -:1039C0008093B009E1EBF9E080E1DF011D928A9577 -:1039D000E9F70F94F71B86E18D8382E390E09C83E7 -:1039E0008B831A8219829E012F5F3F4F41E050E086 -:1039F000BE016B5F7F4FCE0103960E94AE510F90C8 -:103A00000F900F900F900F90DF91CF9108953FB7D7 -:103A1000F8948091DB1E9091DC1EA091DD1EB09188 -:103A2000DE1E26B5A89B05C02F3F19F00196A11DEB -:103A3000B11D3FBFBA2FA92F982F8827820F911D44 -:103A4000A11DB11DBC01CD0142E0660F771F881F8B -:103A5000991F4A95D1F708951F93CF93DF93182F9D -:103A6000EB0161E00E9447B3209711F460E004C0CD -:103A7000CF3FD10539F461E0812FDF91CF911F91C4 -:103A80000C9418B3E12FF0E0EA52FE4DE4918E2F32 -:103A900090E0FC013197E231F10508F09DC08827E4 -:103AA000EB51FF4F8F4F0D94333584B5806884BD43 -:103AB000C7BD97C084B5806284BDC8BD92C08091E7 -:103AC0008000806880938000D0938900C093880034 -:103AD00088C080918000806280938000D0938B00AA -:103AE000C0938A007EC080918000886080938000AF -:103AF000D0938D00C0938C0074C08091B00080681A -:103B00008093B000C093B3006CC08091B00080621D -:103B10008093B000C093B40064C08091900080682E -:103B200080939000D0939900C09398005AC08091E0 -:103B30009000806280939000D0939B00C0939A0085 -:103B400050C080919000886080939000D0939D0039 -:103B5000C0939C0046C08091A00080688093A00024 -:103B60008091A0008F7B8093A000D093A900C09388 -:103B7000A80037C08091A00080628093A000D093FD -:103B8000AB00C093AA002DC08091A00088608093F4 -:103B9000A000D093AD00C093AC0023C08091200161 -:103BA000806880932001D0932901C093280119C017 -:103BB00080912001806280932001D0932B01C093DB -:103BC0002A010FC080912001886080932001D0934A -:103BD0002D01C0932C0105C0C038D1050CF04BCF8E -:103BE00045CFDF91CF911F910895863308F086531A -:103BF00090917B00282F2870977F922B90937B00C9 -:103C00008770806480937C0080917A0080648093C8 -:103C10007A0080917A0086FDFCCF80917800209117 -:103C2000790090E0922B08958F929F92AF92BF926D -:103C3000CF92DF92EF92FF926B017C010F94071DF0 -:103C40004B015C01C114D104E104F104F1F00F94C3 -:103C5000071DDC01CB0188199909AA09BB09883E17 -:103C60009340A105B10570F321E0C21AD108E10823 -:103C7000F10888EE880E83E0981EA11CB11CC114C7 -:103C8000D104E104F10419F7DDCFFF90EF90DF904C -:103C9000CF90BF90AF909F908F9008952FB7F894DA -:103CA0006091D71E7091D81E8091D91E9091DA1E16 -:103CB0002FBF08951F920F920FB60F9211242F93CA -:103CC0003F938F939F93AF93BF938091D71E909113 -:103CD000D81EA091D91EB091DA1E3091D61E23E0D5 -:103CE000230F2D3720F40196A11DB11D05C026E834 -:103CF000230F0296A11DB11D2093D61E8093D71EBF -:103D00009093D81EA093D91EB093DA1E8091DB1E2B -:103D10009091DC1EA091DD1EB091DE1E0196A11DCA -:103D2000B11D8093DB1E9093DC1EA093DD1EB0932B -:103D3000DE1EBF91AF919F918F913F912F910F9078 -:103D40000FBE0F901F901895CF93DF93CDB7DEB7BE -:103D5000A9970FB6F894DEBF0FBECDBF789484B597 -:103D6000826084BD84B5816084BD85B5826085BD77 -:103D700085B5816085BD80916E00816080936E0005 -:103D800010928100809181008260809381008091F7 -:103D900081008160809381008091800081608093A8 -:103DA00080008091B10084608093B1008091B00068 -:103DB00081608093B0008091910082608093910037 -:103DC000809191008160809391008091900081604A -:103DD000809390008091A10082608093A1008091E7 -:103DE000A10081608093A1008091A00081608093F8 -:103DF000A0008091210182608093210180912101A6 -:103E00008160809321018091200181608093200155 -:103E100080917A00846080937A0080917A00826039 -:103E200080937A0080917A00816080937A008091FB -:103E30007A00806880937A001092C100259A2D98AC -:103E40006C98749A809104018E7F80930401809114 -:103E50000501809581708093030110927D090E9475 -:103E60003A511092C0008091C00082608093C000DF -:103E70001092C50087E08093C4008091C1008061EA -:103E80008093C1008091C10088608093C1008091BF -:103E9000C10080688093C1000F944E1E86EE90E1B1 -:103EA0000F945D1A0F94461B14B710FF04C08DEDDC -:103EB00090E10F945D1A11FF04C08CEC90E10F9417 -:103EC0005D1A12FF04C08AEB90E10F945D1A13FF94 -:103ED00004C089EA90E10F945D1A15FF04C088E9D7 -:103EE00090E10F945D1A14BE81E990E10F945D1A80 -:103EF00080E20E94AB5388E890E10F945D1A8AE05B -:103F00000E94AB530F94461B88E790E10F945D1A13 -:103F10008DE690E10F945D1A82E590E10F945D1AB1 -:103F20000F94461B8BE390E10F945D1A0F94461B90 -:103F30008091DF1E9091E01E9E012F5F3F4F79011F -:103F4000B901009719F0681B790B02C0655E7E41CC -:103F50008CE290E10F94221B60E475E085E190E132 -:103F60000F94221B8AE00E94AB5380910A018E7F3E -:103F700080930A0180910B018095817080930901E3 -:103F8000E091721AF091731A82E08083E0916E1AC8 -:103F9000F0916F1A1082E091701AF091711A80E11D -:103FA000808310927A1AE091761AF091771A86E05F -:103FB0008083E091741AF091751A8081806180830A -:103FC000E091741AF091751A808188608083E09185 -:103FD000741AF091751A808180688083E091741A58 -:103FE000F091751A80818F7D80838AE580936D1CA6 -:103FF00080931D1C85EA80936E1C80931E1C8AE1B1 -:10400000ECEBFCE1DF011D928A95E9F780E290E09C -:10401000A0E0B0E08093060290930702A09308020C -:10402000B09309028091AD09882319F083E090E0F4 -:1040300002C082E090E09093791C8093781C85E028 -:1040400080936C1C82E880936F1C8FE190E1A0E06C -:10405000B0E08093701C9093711CA093721CB0937D -:10406000731C0F94680784E690E09093791C80930A -:10407000781C05E000936C1C12E810936F1C86E01E -:1040800090E1A0E0B0E08093701C9093711CA0932D -:10409000721CB093731C0F9468078BE090E09093B0 -:1040A000791C8093781C00936C1C10936F1C80E02B -:1040B00092E1A0E0B0E08093701C9093711CA093FB -:1040C000721CB093731C0F9468071092791C1092A5 -:1040D000781C00936C1C10936F1C84E390E1A0E0AB -:1040E000B0E08093701C9093711CA093721CB093ED -:1040F000731C0F9468071092791C1092781C00931F -:104100006C1C10936F1C8AE390E1A0E0B0E08093F8 -:10411000701C9093711CA093721CB093731C0F942D -:104120006807609183097091840980918509909155 -:1041300086090F94A8367093791C6093781C0093BD -:104140006C1C10936F1C86E390E1A0E0B0E08093BC -:10415000701C9093711CA093721CB093731C0F94ED -:10416000680760919A0970919B0980919C099091D0 -:104170009D090F94A8367093791C6093781C009366 -:104180006C1C10936F1C8CE390E1A0E0B0E0809376 -:10419000701C9093711CA093721CB093731C0F94AD -:1041A000680782E090E09093791C8093781C0093DC -:1041B0006C1C10936F1C8EE190E1A0E0B0E0809346 -:1041C000701C9093711CA093721CB093731C0F947D -:1041D000680781E08093050260E6862E60E1962EF6 -:1041E000A12CB12C75E0C72EE2E8DE2E1092791CCE -:1041F0001092781C05E0C0926C1C12E8D0926F1CE3 -:104200008092701C9092711CA092721CB092731CD0 -:104210000F946807BFEF8B1A9B0AAB0ABB0AE4E74F -:104220008E16E0E19E06A104B10401F784E1D701F6 -:104230001D928A95E9F781E08F9390E99F938F9380 -:104240009BE39F938F9384E38F938FE496E09F93F8 -:104250008F93FF92EF920F94C93840E650E160E0EF -:1042600070E08CE596E00F9417074AE650E160E0B5 -:1042700070E086E696E00F94170744E750E160E0AF -:1042800070E0C7010F9417074EE750E160E070E05F -:1042900089E095E00F9417071092791C1092781C12 -:1042A00000936C1C10936F1C8EE090E1A0E0B0E0D6 -:1042B0008093701C9093711CA093721CB093731C1C -:1042C0000F9468071092791C1092781C00936C1C54 -:1042D00010936F1C8FE090E1A0E0B0E08093701C21 -:1042E0009093711CA093721CB093731C0F94680779 -:1042F000EDB7FEB73A960FB6F894FEBF0FBEEDBF0E -:104300005AE0852E50E2952EA12CB12C15E002E842 -:10431000412C512C32011092791C1092781C109370 -:104320006C1C00936F1CD501C401840D951DA61D46 -:10433000B71D8093701C9093711CA093721CB09356 -:10434000731C0F946807FFEF4F1A5F0A6F0A7F0A0A -:104350002AE04216510461047104E9F63AE0830E42 -:10436000911CA11CB11C42ED841640E29406A104EC -:10437000B10471F6812C40E2942EA12CB12C05E001 -:1043800012E81092791C1092781C00936C1C109308 -:104390006F1C8092701C9092711CA092721CB09243 -:1043A000731C0F9468071092791C1092781C00936C -:1043B0006C1C10936F1CD501C4018C529F4FAF4FE2 -:1043C000BF4F8093701C9093711CA093721CB0938C -:1043D000731C0F9468075FEF851A950AA50AB50A42 -:1043E0008AE0881680E29806A104B10451F63EEDF9 -:1043F000832E30E2932EA12CB12C05E012E810920E -:10440000791C1092781C00936C1C10936F1C809286 -:10441000701C9092711CA092721CB092731C0F942D -:1044200068079FEF891A990AA90AB90AA6EE8A169F -:10443000A0E29A06A104B10411F78824839492E1C2 -:10444000992EA12CB12C2AE0C22ED12C05E012E825 -:10445000D092791CC092781C00936C1C10936F1C36 -:104460008092701C9092711CA092721CB092731C6E -:104470000F946807D092791CC092781C00936C1C32 -:1044800010936F1CD501C4018096A11DB11D8093AE -:10449000701C9093711CA093721CB093731C0F94AA -:1044A0006807BFEF8B1A9B0AAB0ABB0AE5E18E16C1 -:1044B000E2E19E06A104B10459F68AE796E00E9463 -:1044C000B6540E94CBF70E944D5115ECC12E19E055 -:1044D000D12E0FEC12E18BEDA82E82E1B82ED60181 -:1044E0002D913D914D915D916D01F801608171813A -:1044F000828193810F943C35D8016D937D938D9388 -:104500009D938D01AA16BB0651F70E9420E2249AC2 -:104510002C988091010180628093010180910201B9 -:104520008072809300018091010180648093010179 -:104530008091010180618093010187ED80937A0071 -:1045400010927E0010927D0080917D0080628093A9 -:104550007D0080917D00806480937D0080E888BD2F -:1045600080916E00846080936E006AEF70E080E05E -:1045700090E00F94141E85E090E0909311028093D8 -:10458000100200910C0210910D0260E0C8010F941E -:104590001C1020E030E040EA50E40F94462E87FFE4 -:1045A00007C00051110910930D0200930C02E9CFCE -:1045B0008BE391E0909313028093120200910E021C -:1045C00010910F0260E0C8010F941C1020E030E849 -:1045D0004DE953E40F949C3718163CF4005F1F4FCD -:1045E00010930F0200930E02E9CF00910A0210917E -:1045F0000B02C8010F94830F20E030E040EA50E442 -:104600000F94462E87FF07C00051110910930B022B -:1046100000930A02EACF0091AE091091AF09C801D8 -:104620000F94830F20E030E046E153E40F949C3771 -:1046300018163CF4005F1F4F1093AF090093AE09AA -:10464000EACF0E942BF619A682E390E09AA389A3F1 -:104650001A8219821E01B1E22B0E311C01E0970172 -:1046600041E050E0BE01675D7F4FC1010E94715182 -:1046700089A5863119F00F94D81C0FC083E390E010 -:104680009AA389A31A82198201E0970140E150E0C0 -:1046900061EB79E0C1010E94715181E08093B00922 -:1046A0006D98759A809104018D7F809304018091AB -:1046B0000501809582708093030153985B9A109254 -:1046C000C2091092C1090E94B6E3819A879A80912B -:1046D0000A01826080930A010E9A3B9A579A5F9A68 -:1046E000829A8A9A80910701816080930701809164 -:1046F000080180958170809306010A9A129A3F9A68 -:10470000479A809A88985F9A8091601A8E7F8093EA -:10471000601A869A8E988A9A8091601A8D7F80930B -:10472000601A80910A01886080930A0180910B01D0 -:104730008870809309018091080180958170809331 -:1047400006018091601A8B7F8093601A0C9A1498EE -:10475000129A399A4198479A809180008C7F809371 -:10476000800080918100877E8860809381008091A5 -:1047700080008F738093800080918100887F8260A9 -:104780008093810080E090E490938900809388007A -:10479000109285001092840080916F008260809357 -:1047A0006F00789486E08093C3090E94D565E091FC -:1047B000E01BE43208F042C0F0E0CF01880F991FFF -:1047C000E80FF91FED58F44E808180788B6080836C -:1047D00061E08BE00E9447B31092E11B1092E21B54 -:1047E0008091E01B6CE00F94FF3490E0ECE08E9F32 -:1047F000B001112440E050E09B01240F351FF90166 -:10480000EE0FFF1F2E0F3F1FF901ED58F44E2081D0 -:1048100027FD07C04F5F5F4F4C30510569F70E947D -:104820000252E091E01BF0E0CF01880F991FE80FE2 -:10483000F91FED58F44E80818068808380EE9BE103 -:104840000E9463516AE570E080EE9BE10E94335262 -:104850001092C4090E94B6E381E00E94E38A98E2C4 -:1048600088E10FB6F894A895809360000FBE9093EE -:1048700060001092DB1C0E94C85E9E012F5F3F4FBC -:10488000590180E00E94D7548091DB1C87FD41C014 -:104890008091F41D82FD3DC083FD03C00E946A5FCC -:1048A00002C00E944D518091F41D83FF2FC0809162 -:1048B000DB1C082E000C990BC0969F938F934DEE36 -:1048C00050E15F934F933F922F920F94DE2D88E536 -:1048D0009BE10E949A980F900F900F900F900F906D -:1048E0000F9080915B1B823088F08091601B9091CB -:1048F000611BA091621BB091631B8F719927AA273E -:10490000BB27892B8A2B8B2B09F467C1FFEFF09310 -:10491000DB1C8091F41D85FF1FC00E94F95E109280 -:10492000550B1092D1091092540B0E946FFB0E94FC -:1049300085F98EEF0E94B2E10E9420E20F941D1CC7 -:104940000E94E2A80E945951109214022FE331E113 -:104950003093D3092093D2098DB69EB66091D209C7 -:104960007091D3096115710581F0E12CF12CFB01E7 -:10497000EE0DFF1D749087010F5F1F4F772039F0F8 -:104980003AE0731621F07801F2CF80E02CC0EDB749 -:10499000FEB7E01BF10B0FB6F894FEBF0FBEEDBFE4 -:1049A0002DB73EB72F5F3F4F6901A701C9010F9493 -:1049B000802DF601EE0DFF1D1082772009F445C110 -:1049C0008091D2099091D309080F191F1093D30930 -:1049D0000093D209EF2831F0C6010E945CC980E043 -:1049E0000E94DE3981E00FB6F8949EBE0FBE8DBEE8 -:1049F0008111C3C08091550B882309F4BEC08091FA -:104A0000F41D80FF9EC00091540B40E6409F800142 -:104A100011240C52164F60E271E1C8010F94C42DAD -:104A2000009739F0DC0113968C9180538A3008F09E -:104A30008BC0F80101900020E9F731977F01E01A5F -:104A4000F10A1092FF1A6EE470E0C8010F948F38DB -:104A50006C01892B09F406C160E270E0C6010F9475 -:104A60008F388C010F5F1F4F6AE270E0C6010F9410 -:104A70008F38FC013197BDE0B1832AE02283138295 -:104A8000F80101900020E9F731977F01E01AF10A5F -:104A90008091021B813009F0E1C08091001B81FFF1 -:104AA000DDC082FF16C04091101B5091111B609118 -:104AB000121B7091131B8091071B9091081BA091F2 -:104AC000091BB0910A1B84179507A607B70709F0C1 -:104AD000BFC04091071B5091081B6091091B70914A -:104AE0000A1BE114F10409F0C4C08091101B9091DD -:104AF000111BA091121BB091131B84179507A607D9 -:104B0000B70768F44093101B5093111B6093121B5E -:104B10007093131B8091001B80688093001B809111 -:104B2000001B83FDB6C18091FF1A882331F00F94DA -:104B3000421B86EF90E10F945D1A8091F41D81FF76 -:104B400009C00E941ED108C00E94DFB08DE091E133 -:104B50000F945D1A0E94A9C78091550B882369F0B4 -:104B600081508093550B8091540B8F5F843018F4E3 -:104B70008093540B02C01092540B8091560B8823E3 -:104B800039F19091560B8091570B981709F10F94BA -:104B9000461B80E391E10F945D1A8091560B80FDD6 -:104BA0007FC18091560B84FD7BC18091560B81FDA6 -:104BB00081C18091560B85FD7DC18091560B82FD90 -:104BC00083C18091560B86FD7FC18AE00E94AB5362 -:104BD0008091560B8093570B54CE40E050E0B501C6 -:104BE00088E59BE10E945C9B18160CF08FCEF501C6 -:104BF00001900020E9F73197FE2EFA18FA949FEF02 -:104C0000F91669F085010F0D111DF7FC1A95D801F1 -:104C10008C9190E00F945338F8018083EFCF8A8510 -:104C20008E3709F45ECE45E050E0B101C5010F9426 -:104C3000A138892B09F055CEC1010E94125F8091E5 -:104C4000DB1C8F5F8093DB1C64CE00E010E0BECEE7 -:104C50008FEF9AE10E945B9681113BCFA1E0A09378 -:104C6000FF1A61CF31E0E31AF108F801EE0DFF1DE4 -:104C700002CF8091181B9091191BDC0114967C9037 -:104C80002FEF270D2A013B0139E076946794579462 -:104C900047943A95D1F7722E74206A01B1E0DB2275 -:104CA00071104CC0C114D10409F048C04091031BDD -:104CB0005091041B6091051B7091061B4115510515 -:104CC0006105710569F48091141B9091151BA091E9 -:104CD000161BB091171B0097A105B10539F51FC030 -:104CE00095010E947864882309F4B8CF89819A815C -:104CF000AB81BC81E091181BF091191B27892031F1 -:104D000039F4883FEFEF9E07A105B10540F40EC0CE -:104D1000883FFFEF9F07AF07FFE0BF0738F08FEF37 -:104D20009AE10E949597811109C098CF8093031B47 -:104D30009093041BA093051BB093061B80E092E0A8 -:104D40008C199D0947018E159F0508F44C01E091CF -:104D5000181BF091191B8091031B9091041BA091CB -:104D6000051BB091061B0297A109B109058404C077 -:104D7000880F991FAA1FBB1F0A94D2F74685578533 -:104D800060897189840F951FA61FB71F9C01AD0113 -:104D9000270D311D411D511D29013A01811432E0B9 -:104DA000930631F58091EC149091ED14A091EE14DE -:104DB000B091EF14481659066A067B0669F4109202 -:104DC000F4148FEF9FEFDC018093EC149093ED14BB -:104DD000A093EE14B093EF149801B301A201809157 -:104DE000F5149091F6140E94F198811139C036CFD4 -:104DF000C114D10431F54091071B5091081B6091FB -:104E0000091B70910A1B8091101B9091111BA0919E -:104E1000121BB091131B481759076A077B0788F0CC -:104E20000E945499882309F419CF91E09093F414C7 -:104E30004092EC145092ED146092EE147092EF14C4 -:104E400008C041E0C301B2010E94AD63882309F4A8 -:104E500005CFA401B801C60184519D4E0F94683856 -:104E60008091071B9091081BA091091BB0910A1B10 -:104E7000880D991DA11DB11D8093071B9093081BE0 -:104E8000A093091BB0930A1B080D191DE818F90817 -:104E900020CE8FEF9AE10E949499811144CEDECE0C -:104EA00080E00E9442FBAB01BC018CE291E10F94D7 -:104EB000111B7BCE81E00E9442FBAB01BC0188E26A -:104EC00091E10F94111B79CE82E00E9442FBAB016D -:104ED000BC0184E291E10F94111B77CECF93DF9355 -:104EE0008FEF9AE10E94D099CAEEDDE16B97CE0177 -:104EF0000E94D0998CE1CC3DD807C1F78DE39BE1AE -:104F00000E94D09988E59BE1DF91CF910C94D099D4 -:104F100086E40E9415858093D311882351F00E9466 -:104F2000DE8460932B0270932C0280932D02909369 -:104F30002E0283E50E941585882351F00E94DE84AD -:104F400060932702709328028093290290932A028B -:104F500082E40E941585882351F00E94DE846093CC -:104F600023027093240280932502909326020895D1 -:104F7000CF93C82F8091CE128C1721F061E08C2F37 -:104F80000E9474A2C093CE12CF910895CF92DF9267 -:104F9000EF92FF926B017C01842F0F94B82780E081 -:104FA00090E0A0E8BFE380935D0290935E02A0933F -:104FB0005F02B09360028091611A81FF0E949C841D -:104FC000C0926712D0926812E0926912F0926A124F -:104FD0008091611A82608093611AFF90EF90DF9058 -:104FE000CF900895CF92DF92EF92FF92CF93F82E59 -:104FF0000E94D0D1C82F8F2D0F94B8278091611AAD -:1050000081FF09C0C0906712D0906812E0906912C9 -:10501000F0906A1208C0C090DB12D090DC12E090D1 -:10502000DD12F090DE128C2F0F94B827C701B60165 -:10503000CF91FF90EF90DF90CF9008950E94CBF733 -:105040001092271A109214020E9460DB882321F02C -:105050008091F41D82FF07C061E08EEC95E30E9411 -:10506000C5850D946D1B85ED95E39093D3098093D1 -:10507000D209F2CF1092651A1092641A88EE93E06A -:10508000A0E0B0E08093661A9093671AA093681A24 -:10509000B093691A89EA93E09093631A8093621A35 -:1050A00085ED90E090936F1A80936E1A84ED90E0F6 -:1050B0009093711A8093701A80ED90E09093731A18 -:1050C0008093721A81ED90E09093751A8093741A10 -:1050D00082ED90E09093771A8093761A86ED90E0B7 -:1050E0009093791A8093781A10927B1A10927C1AF6 -:1050F00010927D1A10927E1A1092581B10925B1B10 -:1051000010923D1B1092401BECEDFCE110821382CB -:105110007B962DE1EA3EF207C9F789E18093391BBE -:1051200010923C1B1092311B1092FF1A1092021B1E -:105130008091DF1B843220F08FEF8093E01B13C03F -:1051400091E0980F9093DF1B8093E01B90E0FC01AF -:10515000EE0FFF1F8E0F9F1FFC01ED58F44E88EBE2 -:105160009BE09283818380E1ECE0FCE1DF01282F6A -:105170001D922A95E9F7ECEFFBE1DF01282F1D9244 -:105180002A95E9F7ECEEFBE1DF011D928A95E9F73C -:105190001092E81B1092E91B1092EA1B1092EB1B75 -:1051A0001092E71B1092E61B1092E51B1092E41B75 -:1051B0001092E31B8AE580936D1C80931D1C85EA89 -:1051C00080936E1C80931E1C8AE1ECEBFCE1DF01F6 -:1051D0001D928A95E9F781E08093D61C8093D71CB5 -:1051E0008093D81C8093D91C8093DA1C8091F41D85 -:1051F000847F8B7F8093F41D1092F01D1092F11D1F -:105200001092F21D1092F31D1092EC1D1092ED1DE4 -:105210001092EE1D1092EF1D1092EB1D1092EA1DE0 -:105220008EE091E0ECEDFCE1DF019C011D9221504C -:105230003040E1F78FEF8093DB1C0895EF920F93DE -:105240001F93CF93DF93E80147FD02C034E001C014 -:1052500034E1042E000C550B57FF03C051954195C6 -:105260005109E32E022F242FAE010F942331CE01DA -:10527000DF91CF911F910F91EF9008958F929F92A0 -:10528000AF92BF92CF92DF92EF92FF92CF93DF93D4 -:10529000EC01688179818A819B81611571058105A5 -:1052A000910521F464E279ED8BE597E02DE133EF90 -:1052B00041E050E00F94BE3449015A019B01AC011A -:1052C000A7EAB1E40F94DD346B017C01ACEEB4EFDE -:1052D000A50194010F94EB34DC01CB018C0D9D1DD5 -:1052E000AE1DBF1DB7FF03C00197A109B048888359 -:1052F0009983AA83BB83BC01CD019F77DF91CF91B6 -:10530000FF90EF90DF90CF90BF90AF909F908F90E5 -:1053100008958F929F92AF92BF92CF92DF92EF92B9 -:10532000FF9260918002709181028091820290913F -:105330008302611571058105910521F464E279ED1F -:105340008BE597E02DE133EF41E050E00F94BE3460 -:1053500049015A019B01AC01A7EAB1E40F94DD3485 -:105360006B017C01ACEEB4EFA50194010F94EB341A -:10537000DC01CB018C0D9D1DAE1DBF1DB7FF03C011 -:105380000197A109B0488093800290938102A09375 -:105390008202B0938302BC01CD019F77FF90EF9012 -:1053A000DF90CF90BF90AF909F908F9008956093C3 -:1053B0008002709381028093820290938302089509 -:1053C0008F929F92AF92BF92CF92DF92EF92FF9215 -:1053D0000F931F93CF93DF93EC016B016115710560 -:1053E00019F0FB01918380837E01FFEFEF1AFF0A22 -:1053F0000881802F90E00F94772D892B11F0E70121 -:10540000F3CF0D3239F47E0182E0E80EF11C098100 -:1054100011E008C00B3229F47E0192E0E90EF11C84 -:10542000098110E0E701219743E050E06AE374E06E -:10543000CE010F949D2D892BC1F4239645E050E0B9 -:1054400065E374E0CE010F949D2D892B09F4259618 -:10545000C114D10419F0F601D183C0831111F6C033 -:1054600060E070E080E89FE7FAC043E050E062E36C -:1054700074E0CE010F949D2D892B59F4C114D104F1 -:1054800009F4E9C0F2E0EF0EF11CF601F182E082CE -:10549000E2C020E030E0A901C0E0D0E0F70160ED1B -:1054A000A62EA00E89E08A1530F1912F9260B92EB8 -:1054B000812F887012FF04C0811124C0219622C060 -:1054C00081112197A5E0B0E00F94DD34DC01CB0120 -:1054D000880F991FAA1FBB1F9C01AD012A0D311D0A -:1054E000411D511D283989E93807480789E15807C6 -:1054F00048F0166006C09EEFA9120AC013FD40C016 -:105500001860B12E8FEFE81AF80A00811B2DC6CF64 -:10551000802F8F7D8534A1F580818D3211F410614B -:1055200006C08B3221F0319661E070E004C08181C9 -:10553000329662E070E080538A3018F0E61BF70B79 -:105540001FC060E070E060389CE079075CF4DB012C -:10555000AA0FBB1FAA0FBB1F6A0F7B1F660F771F07 -:10556000680F711D3196DF0111978C9180538A303D -:1055700050F314FF03C0719561957109C60FD71FD1 -:1055800011FF08C0C114D10429F0CF010197F60121 -:1055900091838083CA01B9010F944B2E212F237070 -:1055A000233019F04B015C0106C04B015C01B7FAD6 -:1055B000B094B7F8B09420E030E0A901C501B4017F -:1055C0000F94462E882309F43EC0D7FF06C0D1951C -:1055D000C195D10901E514E002C009E614E06801B3 -:1055E000F8E1CF1AD10890E2E92EF12CCE15DF05B3 -:1055F00074F0F8012591359145915491C501B4019C -:105600000F94AC2E4B015C01CE19DF09EFCF045093 -:105610001109F594E7940C151D0541F78A2D880FA3 -:105620008B2D881F8F3F49F020E030E0A901C50194 -:10563000B4010F94462E811106C082E290E090934F -:10564000E41E8093E31EC501B40109C060E070E070 -:1056500080E89FEF04C060E070E080EC9FE7DF919E -:10566000CF911F910F91FF90EF90DF90CF90BF905F -:10567000AF909F908F9008953F924F925F926F925C -:105680007F928F929F92AF92BF92CF92DF92EF92D2 -:10569000FF920F931F93CF93DF935C016B017A010D -:1056A0006115710519F0FB0191838083E114F10408 -:1056B00029F0C7010297839708F0E5C0E50121961C -:1056C000F5011081812F90E00F94772D892B11F037 -:1056D0005E01F4CF1D3229F42196F501118101E01C -:1056E00007C01B3221F4E5012296F501118100E08B -:1056F000E114F10409F1F0E1EF16F10429F43FC0DF -:1057000010E3E114F10421F128E0E216F10401F1C3 -:1057100054F4E2E0EE16F10421F5812C912CA12C39 -:10572000B0E4BB2E3EC0FAE0EF16F10439F020E100 -:10573000E216F104B1F430C0103319F1FAE0EF2EA3 -:10574000F12CACEC8A2E982CA82CACE0BA2E29C0F7 -:1057500078E0E72EF12C812C912CA12CE0E1BE2EDB -:1057600020C060E070E080E090E897010F2C000C12 -:10577000440B550B0F949C3449015A0112C010334D -:1057800059F488818F7D883509F0BACF1981229626 -:10579000026080E1E82EF12C812C912CA12C68E094 -:1057A000B62E40E060E070E0CB0127010F2C000C2A -:1057B00066087708FE0150ED352E310E29E02315DD -:1057C00070F42FEB210F2A3118F439EC332E06C078 -:1057D0002FE9210F2A3118F529EA322E310E232D17 -:1057E00030E02E153F05DCF447FD16C086169706FF -:1057F000A806B90670F0A30192010F948C34630DD2 -:10580000711D811D911D61307105810520E8920790 -:1058100010F04FEF01C041E021961081CBCF202F37 -:105820002170C114D10471F0442329F02197F601AD -:10583000D183C08307C001FF19C02297F601D1832D -:10584000C08314C047FF12C0222329F060E070E03B -:1058500080E090E804C06FEF7FEF8FEF9FE722E2D8 -:1058600030E03093E41E2093E31E09C0222381F030 -:1058700090958095709561957F4F8F4F9F4F462FE4 -:10588000372F282F12C040E030E020E090E00DC01C -:1058900097FFF5CF82E290E09093E41E8093E31EA1 -:1058A0006FEF7FEF8FEF9FE7EACF642F732F822F89 -:1058B000DF91CF911F910F91FF90EF90DF90CF90EC -:1058C000BF90AF909F908F907F906F905F904F9020 -:1058D0003F9008953F924F925F926F927F928F9286 -:1058E0009F92AF92BF92CF92DF92EF92FF920F936F -:1058F0001F93CF93DF935C016B017A0161157105F2 -:1059000019F0FB0191838083E114F10429F0C701B0 -:105910000297839708F0C9C0E5012196F50110812F -:10592000812F90E00F94772D892B11F05E01F4CF39 -:105930001D3229F42196F501118101E007C01B32C7 -:1059400021F4E5012296F501118100E0E114F10452 -:10595000B1F0F0E1EF16F10429F4B0C010E3E11466 -:10596000F10401F12AE0E216F104B1F180E1E81658 -:10597000F10471F0E8E0EE16F104F1F413C0103315 -:1059800041F588818F7D883549F71981229602601B -:10599000F0E1EF2EF12C88248A94982CA82CAFE00B -:1059A000BA2E20C078E0E72EF12C88248A94982C17 -:1059B000A82CEFE1BE2E16C06FEF7FEFCB01970151 -:1059C0000F2C000C440B550B0F949C3449015A01C9 -:1059D00009C08AE0E82EF12C69E9862E982CA82CC3 -:1059E00069E1B62E40E060E070E0CB0127010F2CAA -:1059F000000C66087708FE0150ED352E310E29E0C7 -:105A0000231570F42FEB210F2A3118F439EC332EC3 -:105A100006C02FE9210F2A3130F529EA322E310E46 -:105A2000232D30E02E153F05F4F44F3FC9F08616C4 -:105A30009706A806B90688F0A30192010F948C344A -:105A4000232D30E040E050E0620F731F841F951F4C -:105A5000621773078407950710F44FEF01C041E008 -:105A600021961081C8CFC114D10451F0442311F004 -:105A7000219703C001FF04C02297F601D183C083A0 -:105A800000FF07C090958095709561957F4F8F4F6F -:105A90009F4F4F3F79F482E290E09093E41E809311 -:105AA000E31E3FEF2FEF9FEF0DC040E030E020E01E -:105AB00090E008C0462F372F282F04C0103309F07C -:105AC00067CF5FCF642F732F822FDF91CF911F910C -:105AD0000F91FF90EF90DF90CF90BF90AF909F908D -:105AE0008F907F906F905F904F903F9008959111AD -:105AF0000D947233803219F089508550C8F708959B -:105B0000FB01DC0102C005900D9241505040D8F7D6 -:105B10000895FC010590061621F00020D9F7C00178 -:105B200008953197CF010895FC0105900020E9F711 -:105B3000809590958E0F9F1F0895FB01DC014150C9 -:105B4000504088F08D9181341CF08B350CF4805ED0 -:105B5000659161341CF06B350CF4605E861B61113D -:105B600071F3990B0895881BFCCFFB01DC014150B8 -:105B7000504048F005900D920020C9F701C01D92D9 -:105B800041505040E0F70895FB0155915523A9F08D -:105B9000BF01DC014D9145174111E1F759F4CD01E9 -:105BA0000590002049F04D9140154111C9F3FB01CA -:105BB0004111EFCF81E090E0019708950F931F937B -:105BC000CF93DF93CDB7DEB72E970FB6F894DEBF35 -:105BD0000FBECDBF0E891F898EE08C831A83098387 -:105BE0008FEF9FE79E838D83AE01465E5F4F688D8A -:105BF000798DCE0101960F94192FEF81F885E00F72 -:105C0000F11F10822E960FB6F894DEBF0FBECDBFE7 -:105C1000DF91CF911F910F9108950F931F93CF9311 -:105C2000DF93CDB7DEB72E970FB6F894DEBF0FBE69 -:105C3000CDBF8C01FA018EE08C831A83098377FF34 -:105C400002C060E070E8CB0101979E838D83A901BB -:105C5000BF01CE0101960F94192F4D815E8157FD32 -:105C60000AC02F813885421753070CF49A01F801B6 -:105C7000E20FF31F10822E960FB6F894DEBF0FBE10 -:105C8000CDBFDF91CF911F910F9108950F94882E72 -:105C900008F481E00895E89409C097FB3EF49095DC -:105CA0008095709561957F4F8F4F9F4F9923A9F0F5 -:105CB000F92F96E9BB279395F69587957795679584 -:105CC000B795F111F8CFFAF4BB0F11F460FF1BC0C8 -:105CD0006F5F7F4F8F4F9F4F16C0882311F096E95B -:105CE00011C0772321F09EE8872F762F05C0662309 -:105CF00071F096E8862F70E060E02AF09A95660FC2 -:105D0000771F881FDAF7880F9695879597F908957A -:105D1000990F0008550FAA0BE0E8FEEF16161706BC -:105D2000E807F907C0F012161306E407F50798F024 -:105D3000621B730B840B950B39F40A2661F0232B3D -:105D4000242B252B21F408950A2609F4A140A695B9 -:105D50008FEF811D811D08950F94BF2E0D943C344B -:105D60000F942E3438F00F94353420F0952311F031 -:105D70000D9425340D942B3411240D9470340F940C -:105D80004D3470F3959FC1F3950F50E0551F629FFE -:105D9000F001729FBB27F00DB11D639FAA27F00D84 -:105DA000B11DAA1F649F6627B00DA11D661F829FAB -:105DB0002227B00DA11D621F739FB00DA11D621F90 -:105DC000839FA00D611D221F749F3327A00D611DAD -:105DD000231F849F600D211D822F762F6A2F11248F -:105DE0009F5750409AF0F1F088234AF0EE0FFF1FC2 -:105DF000BB1F661F771F881F91505040A9F79E3F19 -:105E0000510580F00D9425340D9470345F3FE4F318 -:105E1000983ED4F3869577956795B795F795E7956E -:105E20009F5FC1F7FE2B880F911D9695879597F977 -:105E300008952F923F924F925F926F927F928F922E -:105E40009F92AF92BF92CF92DF92EF92FF920F9309 -:105E50001F93CF93DF93CDB7DEB72B970FB6F89490 -:105E6000DEBF0FBECDBF6C017B018A01FC01178232 -:105E70001682838181FFCCC1CE0101963C01F601DF -:105E80009381F70193FD859193FF81917F01882391 -:105E900009F4BAC1853239F493FD859193FF81915C -:105EA0007F01853229F4B60190E00F948B33E7CF60 -:105EB000912C212C312CFFE1F315D8F08B3279F0A5 -:105EC00038F4803279F08332A1F4232D20611DC093 -:105ED0008D3261F0803369F4232D216016C0832D4B -:105EE0008260382EE32DE4603E2E2AC0F32DF86048 -:105EF0001DC037FC2DC020ED280F2A3040F08E3217 -:105F0000B9F436FC81C1232D2064322E19C036FE2F -:105F100006C08AE0989E200D1124922E11C0EAE05E -:105F20002E9E200D1124222EF32DF0623F2E08C04C -:105F30008C3621F4832D8068382E02C0883641F4D7 -:105F4000F70193FD859193FF81917F018111B3CF7B -:105F5000982F9F7D9554933028F40C5F1F4F9FE33B -:105F600099830DC0833631F0833771F0833509F0A2 -:105F700059C021C0F801808189830E5F1F4F88249A -:105F80008394912C530113C02801F2E04F0E511C51 -:105F9000F801A080B18036FE03C0692D70E002C018 -:105FA0006FEF7FEFC5010F9480334C018201F32D19 -:105FB000FF773F2E16C0280122E0420E511CF80147 -:105FC000A080B18036FE03C0692D70E002C06FEF83 -:105FD0007FEFC5010F9475334C01F32DF0683F2E10 -:105FE000820133FC1BC0822D90E088169906B0F424 -:105FF000B60180E290E00F948B332A94F4CFF50140 -:1060000037FC859137FE81915F01B60190E00F94D6 -:106010008B3321102A9421E0821A91088114910473 -:1060200071F7E8C0843611F0893641F5F80137FE82 -:1060300007C060817181828193810C5F1F4F08C00E -:1060400060817181072E000C880B990B0E5F1F4F2A -:10605000F32DFF763F2E97FF09C0909580957095A0 -:1060600061957F4F8F4F9F4FF0683F2E2AE030E0C1 -:10607000A3010F94C733882E861845C0853731F4A5 -:10608000232D2F7EB22E2AE030E025C0932D997F5C -:10609000B92E8F36C1F018F4883579F0B5C0803745 -:1060A00019F0883721F0B0C0E92FE061BE2EB4FEB0 -:1060B0000DC0FB2DF460BF2E09C034FE0AC0292F8D -:1060C0002660B22E06C028E030E005C020E130E0B6 -:1060D00002C020E132E0F801B7FE07C060817181A3 -:1060E000828193810C5F1F4F06C06081718180E0C7 -:1060F00090E00E5F1F4FA3010F94C733882E8618C0 -:10610000FB2DFF773F2E36FE0DC0232D2E7FA22EB6 -:10611000891458F434FE0BC032FC09C0832D8E7EE6 -:10612000A82E05C0B82CA32C03C0B82C01C0B92CD4 -:10613000A4FE0FC0FE01E80DF11D8081803321F423 -:106140009A2D997EA92E09C0A2FE06C0B394B394DD -:1061500004C08A2D867809F0B394A3FC11C0A0FE78 -:1061600006C0B21488F4280C922C9B180EC0B214EE -:1061700060F4B60180E290E00F948B33B394F7CFD4 -:10618000B21418F42B1802C0982C212CA4FE10C0B5 -:10619000B60180E390E00F948B33A2FE17C0A1FC00 -:1061A00003C088E790E002C088E590E0B6010CC02B -:1061B0008A2D867859F0A1FE02C08BE201C080E2F0 -:1061C000A7FC8DE2B60190E00F948B33891438F46C -:1061D000B60180E390E00F948B339A94F7CF8A94C2 -:1061E000F301E80DF11D8081B60190E00F948B332F -:1061F0008110F5CF222009F442CEB60180E290E072 -:106200000F948B332A94F6CFF6018681978102C0D2 -:106210008FEF9FEF2B960FB6F894DEBF0FBECDBF6A -:10622000DF91CF911F910F91FF90EF90DF90CF9072 -:10623000BF90AF909F908F907F906F905F904F90A6 -:106240003F902F9008958F929F92AF92BF92CF92DE -:10625000DF92EF92FF920F931F93CF93DF93CDB70F -:10626000DEB729970FB6F894DEBF0FBECDBF6A0127 -:10627000122FB02E2BE3201720F0FF24F394F00E02 -:1062800002C02CE3F22E0F2D27E0AE014F5F5F4FCF -:106290000F949A32BC014981842F8970813031F08A -:1062A000E1FC06C0E0FE06C090E205C09DE203C02E -:1062B0009BE201C090E05E2D507143FF3CC0911104 -:1062C00002C083E001C084E0811718F4212F281B4D -:1062D00001C020E051110BC0F601822F30E288236B -:1062E00019F031938150FBCFC20ED11C20E09923CD -:1062F00029F0D6019C93F60131966F01C6010396F1 -:10630000E2FE0AC03EE4D6013C9341E411964C9370 -:10631000119712963C9306C03EE6F601308341E6A3 -:1063200041833283FC01322F40E2332309F442C01F -:1063300041933150FACF42FF44C0911102C083E033 -:1063400001C084E0811718F4212F281B01C020E030 -:1063500051110BC0F601822F30E2882319F03193DE -:106360008150FBCFC20ED11C20E0992329F0D60129 -:106370009C93F60131966F01C6010396E2FE0BC0B5 -:1063800039E4D6013C933EE411963C93119736E4F0 -:1063900012963C9307C039E6F60130833EE631831E -:1063A00036E63283FC01322F40E2332319F0419369 -:1063B0003150FBCFFC01E20FF11D10828EEF9FEFF9 -:1063C000A6C021E030E0911102C020E030E01616B6 -:1063D00017061CF4FB01319602C0E1E0F0E02E0F3D -:1063E0003F1FBB2021F0EB2DF0E0319602C0E0E032 -:1063F000F0E02E0F3F1FE12FF0E02E173F071CF4B7 -:10640000121B212F01C020E08E2D887159F4F60156 -:10641000822F30E2882319F031938150FBCFC20ED6 -:10642000D11C20E0992329F0D6019C93F6013196E6 -:106430006F0151110BC0F601822F90E3882319F0F0 -:1064400091938150FBCFC20ED11C20E00F2D060F7F -:106450009A81342F307144FF03C0913309F4015005 -:10646000101624F4093018F008E001C001E0AB0177 -:1064700077FF02C040E050E0FB01E41BF50BA1E018 -:10648000B0E0AC0FBD1FEA0FFB1F8EE2A82E4B0140 -:10649000801A91080B2D10E01195019511094F3FBD -:1064A000BFEF5B0721F4D601AC9211966D01641722 -:1064B00075072CF08416950614F4818101C080E3E1 -:1064C000415051093196D60111967D01401751076F -:1064D00024F0D6018C936701E2CF6417750739F475 -:1064E000963320F4953319F4311101C081E3F6019C -:1064F0008083F701822F90E2882319F091938150D5 -:10650000FBCFF701E20FF11D108280E090E02996A9 -:106510000FB6F894DEBF0FBECDBFDF91CF911F91B4 -:106520000F91FF90EF90DF90CF90BF90AF909F9032 -:106530008F900895283008F027E03327DA01990F6B -:10654000311D87FD916000966105710539F4326057 -:106550002E5F3D9330E32A95E1F708959F3F30F099 -:1065600080387105610509F03C5F3C5F3D939130D7 -:1065700008F08068911DDF93CF931F930F93FF92D4 -:10658000EF92192F987F9695E92F96959695E90F9A -:10659000FF27E953FB4F99273327EE24FF24A70158 -:1065A000E70105900894079428F4360FE71EF81EBB -:1065B000491F511D660F771F881F991F0694A1F769 -:1065C0000590079428F4E70EF81E491F561FC11DB9 -:1065D000770F881F991F661F0694A1F705900794EF -:1065E00028F4F80E491F561FC71FD11D880F991F89 -:1065F000661F771F0694A1F70590079420F4490FB2 -:10660000561FC71FD81F990F661F771F881F069434 -:10661000A9F784911095177041F0D695C7955795B5 -:106620004795F794E7941A95C1F7EDE6F4E068947E -:106630001590159135916591959105907FE273952F -:10664000E118F10A430B560BC90BD009C0F7E10C56 -:10665000F11E431F561FC91FD01D7EF4703311F465 -:106660008A95E6CFE894015030F0080F0AF400272D -:10667000021708F4202F2395022F7A3328F079E3AC -:106680007D932A95E9F710C07D932A9589F60694A3 -:1066900097956795379517951794E118F10A430B6D -:1066A000560BC90BD00998F023957E9173957A33D8 -:1066B00008F070E37C932013B8F77E9170617D93AE -:1066C00030F0839571E37D9370E32A95E1F711240F -:1066D000EF90FF900F911F91CF91DF91992787FD48 -:1066E00090950895992788270895FC010590615099 -:1066F00070400110D8F7809590958E0F9F1F0895D8 -:10670000FC016150704001900110D8F78095909580 -:106710008E0F9F1F08950F931F93CF93DF93FB015D -:10672000238121FD03C08FEF9FEF2CC022FF16C0F5 -:1067300046815781248135814217530744F4A08153 -:10674000B1819D012F5F3F4F318320838C93268140 -:1067500037812F5F3F4F3783268314C08B01EC01B5 -:10676000FB010084F185E02D1995892BE1F6D80114 -:1067700016968D919C911797019617969C938E93E0 -:106780001697CE01DF91CF911F910F910895FA01D5 -:10679000AA27283051F1203181F1E8946F936E7F60 -:1067A0006E5F7F4F8F4F9F4FAF4FB1E03ED0B4E051 -:1067B0003CD0670F781F891F9A1FA11D680F791F92 -:1067C0008A1F911DA11D6A0F711D811D911DA11DA3 -:1067D00020D009F468943F912AE0269F11243019B3 -:1067E000305D3193DEF6CF010895462F4770405D4E -:1067F0004193B3E00FD0C9F7F6CF462F4F70405DFD -:106800004A3318F0495D31FD4052419302D0A9F757 -:10681000EACFB4E0A6959795879577956795BA9551 -:10682000C9F700976105710508959B01AC010A2E17 -:1068300006945795479537952795BA95C9F7620FEE -:10684000731F841F951FA01D089597F99F6780E807 -:1068500070E060E008959FEF80EC089500240A94B2 -:106860001616170618060906089500240A9412162B -:106870001306140605060895092E0394000C11F45E -:10688000882352F0BB0F40F4BF2B11F460FF04C00B -:106890006F5F7F4F8F4F9F4F089557FD9058440F64 -:1068A000551F59F05F3F71F04795880F97FB991F6F -:1068B00061F09F3F79F0879508951216130614062C -:1068C000551FF2CF4695F1DF08C0161617061806B9 -:1068D000991FF1CF86957105610508940895E89494 -:1068E000BB2766277727CB0197F90895F999FECF43 -:1068F00092BD81BDF89A992780B50895262FF99900 -:10690000FECF1FBA92BD81BD20BD0FB6F894FA9A92 -:10691000F99A0FBE01960895DB018F939F930F9410 -:10692000DD34BF91AF91A29F800D911DA39F900D6B -:10693000B29F900D11240895A1E21A2EAA1BBB1B31 -:10694000FD010DC0AA1FBB1FEE1FFF1FA217B3073B -:10695000E407F50720F0A21BB30BE40BF50B661F51 -:10696000771F881F991F1A9469F760957095809515 -:1069700090959B01AC01BD01CF010895052E97FBB9 -:106980001EF400940F94D53457FD07D00F949C3417 -:1069900007FC03D04EF40D94D534509540953095B6 -:1069A00021953F4F4F4F5F4F08959095809570957B -:1069B00061957F4F8F4F9F4F08950F94F034A59F9F -:1069C000900DB49F900DA49F800D911D11240895EA -:1069D000B7FF0D94DD340F94DD34821B930B0895C3 -:1069E000A29FB001B39FC001A39F700D811D112410 -:1069F000911DB29F700D811D1124911D0895991B49 -:106A000079E004C0991F961708F0961B881F7A95A5 -:106A1000C9F780950895AA1BBB1B51E107C0AA1FA7 -:106A2000BB1FA617B70710F0A61BB70B881F991F2F -:106A30005A95A9F780959095BC01CD01089597FBD3 -:106A4000072E16F4009407D077FD09D00F940B356C -:106A500007FC05D03EF4909581959F4F0895709561 -:106A600061957F4F0895EE0FFF1F881F8BBF079022 -:106A7000F691E02D19945058BB27AA270F9453354F -:106A80000D943C340F942E3438F00F94353420F0AC -:106A900039F49F3F19F426F40D942B340EF4E0954D -:106AA000E7FB0D942534E92F0F944D3458F3BA17B2 -:106AB000620773078407950720F079F4A6F50D9413 -:106AC0006F340EF4E0950B2EBA2FA02D0B01B901F7 -:106AD00090010C01CA01A0011124FF27591B99F054 -:106AE000593F50F4503E68F11A16F040A22F232F60 -:106AF000342F4427585FF3CF469537952795A795B0 -:106B0000F0405395C9F77EF41F16BA0B620B730B56 -:106B1000840BBAF09150A1F0FF0FBB1F661F771FC7 -:106B2000881FC2F70EC0BA0F621F731F841F48F47C -:106B3000879577956795B795F7959E3F08F0B0CF05 -:106B40009395880F08F09927EE0F979587950895EC -:106B50000F942E3460F080E891E009F49EEF0F94DA -:106B6000353428F040E851E071F45EEF0CC00D942C -:106B70002B340D946F34E92FE0780F944D3440F3AB -:106B8000092E052AB1F3261737074807590738F0A9 -:106B90000E2E07F8E02569F0E025E0640AC0EF63F7 -:106BA00007F8009407FADB01B9019D01DC01CA0175 -:106BB000AD01EF930F944D360F943C340F94EB35A9 -:106BC0005F91552339F02BED3FE049E450FD49EC4E -:106BD0000D943C350895DF93DD27B92FBF7740E84A -:106BE0005FE31616170648075B0718F4D92F0F94B2 -:106BF000A1379F938F937F936F930F942A38EEEE74 -:106C0000F1E00F941E370F943C342F913F914F9138 -:106C10005F910F94BF2EDD2351F09058A2EA2AED28 -:106C20003FE049EC5FE3D0785D270F945335DF9167 -:106C30000D943C340F94843790F09F3748F49111B1 -:106C400016F40D94703460E070E080E89FE30895DE -:106C500026F01B16611D711D811D0D94F5360D94D6 -:106C600010370F944737E3950D9470370F944A36D9 -:106C70000D943C340F94353458F00F942E3440F07A -:106C800029F45F3F29F00D94253451110D9470348F -:106C90000D942B340F944D3468F39923B1F355239D -:106CA00091F3951B550BBB27AA276217730784071F -:106CB00038F09F5F5F4F220F331F441FAA1FA9F3B5 -:106CC00035D00E2E3AF0E0E832D091505040E695A3 -:106CD000001CCAF72BD0FE2F29D0660F771F881F04 -:106CE000BB1F261737074807AB07B0E809F0BB0BF7 -:106CF000802DBF01FF2793585F4F3AF09E3F51050B -:106D000078F00D9425340D9470345F3FE4F3983E91 -:106D1000D4F3869577956795B795F7959F5FC9F7F3 -:106D2000880F911D9695879597F90895E1E0660F74 -:106D3000771F881FBB1F621773078407BA0720F0ED -:106D4000621B730B840BBA0BEE1F88F7E095089556 -:106D50000F94AF366894B1110D94703408950F9468 -:106D6000553488F09F5798F0B92F9927B751B0F054 -:106D7000E1F0660F771F881F991F1AF0BA95C9F7BF -:106D800014C0B13091F00F946F34B1E008950D94B8 -:106D90006F34672F782F8827B85F39F0B93FCCF36D -:106DA000869577956795B395D9F73EF4909580953C -:106DB000709561957F4F8F4F9F4F08950F94843743 -:106DC00090F09F3748F4911116F00D94703460E004 -:106DD00070E080E89FEB089526F41B16611D711D7D -:106DE000811D0D94F5360D941037882371F47723A7 -:106DF00021F09850872B762F07C0662311F499272E -:106E00000DC09051862B70E060E02AF09A95660FD5 -:106E1000771F881FDAF7880F9695879597F9089559 -:106E20009F3F31F0915020F4879577956795B795FE -:106E3000880F911D9695879597F90895DF93CF93C5 -:106E40001F930F93FF92EF92DF927B018C01689466 -:106E500006C0DA2EEF010F94BF2EFE01E894A59133 -:106E60002591359145915591A6F3EF010F94533536 -:106E7000FE019701A801DA9469F7DF90EF90FF9087 -:106E80000F911F91CF91DF9108950D942B340F94A2 -:106E90005534D8F3E894E0E0BB279F57F0F02AED93 -:106EA0003FE049EC06C0EE0FBB0F661F771F881F3F -:106EB00028F0B23A62077307840728F0B25A620BCF -:106EC000730B840BE3959A9572F7803830F49A959A -:106ED000BB0F661F771F881FD2F790480D9412379B -:106EE000EF93E0FF07C0A2EA2AED3FE049EC5FEB39 -:106EF0000F9453350F943C340F90039401FC905839 -:106F0000EBE1F2E00D943A380F945534A0F0BEE76F -:106F1000B91788F4BB279F3860F41616B11D672F88 -:106F2000782F8827985FF7CF869577956795B11D5D -:106F300093959639C8F308950F94882E08F48FEF2F -:106F400008959B01AC0160E070E080E89FE30D9440 -:106F500036360F94553458F19E5760F19851A0F091 -:106F6000E9F0983020F5092E9927660F771F881FC2 -:106F7000991F0A94D1F712C0062E672F782F882701 -:106F8000985F11F4000C07C0993FB4F3869577958C -:106F900067959395D9F7611D711D811D3EF49095FC -:106FA0008095709561957F4F8F4F9F4F089568949E -:106FB0000D9470340D946F349F930F9447370F9056 -:106FC00007FCEE5F0D94703719F416F40D942B3412 -:106FD0000D9410370F945534B8F39923C9F3B6F3D1 -:106FE0009F57550B87FF0F9433380024A0E640EAE3 -:106FF000900180585695979528F4805C660F771F0E -:10700000881F20F026173707480730F4621B730BE0 -:10701000840B202931294A2BA69517940794202503 -:1070200031254A2758F7660F771F881F20F026174B -:107030003707480730F4620B730B840B200D311DAA -:10704000411DA09581F7B901842F9158880F96951D -:10705000879508959B01AC010D94AC2E0F94882E5A -:10706000880B990B089591505040660F771F881F29 -:10707000D2F708959F938F937F936F93FF93EF932E -:107080009B01AC010F94AC2EEF91FF910F941E3732 -:107090002F913F914F915F910D94AC2E81E090E044 -:1070A000F8940D94F8389111089581548A5108F498 -:1070B000805E855A0895FB01DC0104C08D9101902A -:1070C000801921F441505040C8F7881B990B08954E -:1070D000FB01DC0102C001900D9241505040D8F7F5 -:1070E0000895FB01DC018D9181341CF08B350CF48B -:1070F000805E619161341CF06B350CF4605E861B20 -:10710000611189F3990B0895FB01DC010D900020BA -:10711000E9F7119701900D920020E1F70895FC0125 -:107120008191861721F08823D9F7992708953197FF -:10713000CF010895FB01DC0101900D920020E1F7E1 -:107140000895FB01DC014150504030F08D910190D9 -:10715000801919F40020B9F7881B990B0895FB01D9 -:10716000DC014150504048F001900D920020C9F7D9 -:1071700001C01D9241505040E0F70895FC0181E0AC -:1071800090E00190061609F4CF010020D1F7019795 -:1071900008950F931F93CF93DF93CDB7DEB72E974C -:1071A0000FB6F894DEBF0FBECDBF0E891F8986E0F3 -:1071B0008C831A8309838FEF9FE79E838D83AE01B3 -:1071C000465E5F4F688D798DCE0101960F94192F21 -:1071D000EF81F885E00FF11F10822E960FB6F8941C -:1071E000DEBF0FBECDBFDF91CF911F910F910895EC -:1071F0001DE1C3EADDE100E006C0802FFE010F942F -:1072000033352196011DC43AD10780E00807A9F75C -:04721000F894FFCF20 -:1072140002C0D401000180000000FF3FFF3F0000D6 -:107224000000FF3F0101FFFFFFFFFFFFFFFFFFFF24 -:10723400FFFFFF00007A4300005243CDCCCC3D0059 -:1072440000803F0000803F80800110FF06010100A4 -:1072540000000000009D430000000000009A43006D -:107264000000000000C843A0000000C8420000C89D -:10727400415CFF79C40164000000A0400000803F2D -:1072840064006400019D9DF0FF79C4F0FF79C4019E -:1072940001000000021000000410000006100000AD -:1072A400081000000A1000000C1000002610000056 -:1072B4003010000032100000341000003A100000BA -:1072C4003E10000040100000441000004610000072 -:1072D400481000004A1000004C1000005410000038 -:1072E40056100000581000005C1000005E100000F2 -:1072F4005F100000881000000000000058595A4533 -:10730400CDCCCC3C00409C4500007A4500007A433B -:1073140000007042010203040500009B43000020AA -:1073240041B400F00046006E00000040400000340C -:1073340042000000000000000000000000000050B7 -:1073440041000000000000004164000000640000EF -:10735400000300000064000000640000000300005B -:1073640000030000001E0000001E0000001E0000BC -:10737400001E0000001E0000001E0000000A005A4B -:1073840000DC050000DC050000640000004B000088 -:10739400000000A0420000A0420000C8430000BE5C -:1073A400420000FA430000FA430000204100009626 -:1073B4004256373000000000007A5DE35C115DC77F -:1073C4005D425D205D345DFF3F1CC6FF3F1CC6006F -:1073D4000000002A2A2A496E6974696E6720636175 -:1073E4007264206973204F4B2A2A2A002A2A2A49C8 -:1073F4006E6974696E672063617264206661696C8A -:10740400732A2A2A002A2A2A436172642052656D4B -:107414006F7665642A2A2A003D3D77616974776135 -:107424007920313D3D003D3D776169747761792074 -:10743400333D3D002020737461727470726F677203 -:10744400657373200020202A2A2A2A2A2A2A5254C1 -:10745400535F48616E646C65446174612A2A2A2A08 -:107464002A2A2A2A20003D3D20436865636B6B6508 -:10747400793D3D000A2048616E646C652044617466 -:1074840061205072696E7446696C652031205365C1 -:107494007474696E672053637265656E20000A20F8 -:1074A40048616E646C652044617461205072696E39 -:1074B4007446696C6520322053657474696E672064 -:1074C40053637265656E20000A2048616E646C65C2 -:1074D4002044617461205072696E7446696C652041 -:1074E400332053657474696E672053637265656EE7 -:1074F40020000A2048616E646C6520446174612038 -:1075040041646A75737420322053657474696E67BC -:107514002053637265656E200074696E796D6163D2 -:1075240068696E657333642E636F6D004368696EBA -:10753400657365204E6F7420537570706F72746537 -:107544006400456E676C69736820416C72656164A0 -:10755400792053657400496E76616C6964204F70BC -:1075640074696F6E000A204E6F2046696C616D6508 -:107574006E7400526573756D65205965732064756A -:1075840072696E67207072696E74002046696C615E -:107594006D656E7420526573706F6E7365204E6FE7 -:1075A4000046696C616D656E74205374617420309B -:1075B400202D20310046696C616D656E7420537412 -:1075C40061742030202D20320046696C616D656E37 -:1075D4007420537461742030202D20330046696C6C -:1075E400656E616D6500526563646174610020209D -:1075F400202020202020200025642F2564003D3DEC -:107604007761697477617920343D3D003D3D776150 -:10761400697477617920353D3D003D3D486561746D -:10762400696E6720446F6E65204368616E676520EC -:1076340046696C616D656E743D3D0046696C656EAE -:10764400616D652D4D65646961003D3D6F6E4669F0 -:107654006C616D656E7452756E6F75743D3D002579 -:10766400642058202564205820256400544D334458 -:107674002043522D5800322E305F44573320544D4E -:1076840033442053534D444242003D3D4477696E98 -:1076940020496E697420436F6D706C6574653D3D5F -:1076A400002F005265686561742066696E697368AD -:1076B40065642E003A207A3A2000206D65616E3AA6 -:1076C4002000207369676D613A2000206D696E3A6D -:1076D4002000206D61783A20002072616E67653A5F -:1076E40020004D65616E3A2000204D696E3A2000FD -:1076F400204D61783A20002052616E67653A20007F -:107704005374616E6461726420446576696174695E -:107714006F6E3A20005344557064617465002E679F -:10772400636F6465002E47434F444500590042652A -:107734006420583A200020593A2000205A3A200068 -:10774400556E746F7563686564200050756C736959 -:107754006E6720202000202053544F574544202892 -:1077640074726967676572656429207374617465EE -:107774003A204849474820286C6F676963203129BB -:1077840000202053544F574544202874726967677A -:1077940065726564292073746174653A204C4F578F -:1077A40020286C6F67696320302900436C69636B20 -:1077B40020746F20526573756D652E2E2E003D3D2D -:1077C4006F6E55736572436F6E6669726D52657143 -:1077D40075697265643D3D003F3F3F003D3D6F6EFE -:1077E400466163746F727952657365743D3D002020 -:1077F4005A003D3D6F6E436F6E66696775726174C2 -:10780400696F6E53746F7265526561643D3D003DEE -:107814003D6F6E53746F726553657474696E6773EC -:107824003D3D003D3D6F6E436F6E666967757261E5 -:1078340074696F6E53746F72655772697474656E90 -:107844003D3D00455252003D3D6F6E5072696E746D -:1078540054696D65725061757365643D3D003D3DCD -:107864006F6E4C6F616453657474696E67733D3DEC -:10787400002A2A2A6B696C6C2A2A2A003D3D6F6E05 -:107884005072696E7454696D657253746172746573 -:10789400643D3D0073746F7070696E67203D3D00F8 -:1078A4002F2F616374696F6E3A63616E63656C0058 -:1078B4003D3D6F6E5072696E7454696D6572537498 -:0878C4006F707065643D3D002A -:00000001FF diff --git a/CRX_BLTouch_DualFil_UBL_DW3.hex b/CRX_BLTouch_DualFil_UBL_DW3.hex deleted file mode 100644 index df4e44dd8e..0000000000 --- a/CRX_BLTouch_DualFil_UBL_DW3.hex +++ /dev/null @@ -1,11931 +0,0 @@ -:100000000C94E2300C9413310C9413310C94133192 -:100010000C9413310C9413310C9413310C94133150 -:100020000C9413310C9413310C9413310C94133140 -:100030000C9413310C9413310C9413310C94133130 -:100040000C9413310C941BF70C9413310C94133152 -:100050000C9413310C9413310C94439E0D944A5517 -:100060000C9413310C94116F0C94076F0C94133192 -:100070000C9413310C9413310C9413310C941331F0 -:100080000C9482660C9413310C9413310C9413313C -:100090000C9413310C9413310C9413310C941331D0 -:1000A0000C9413310C9413310C9454660C9413314A -:1000B0000C9413310C9413310C9413310C94266668 -:1000C0000C9413310C9413310C9413310C94B671BD -:1000D0000C948C710C9413310C9413310C941331D7 -:1000E0000C941331C23208330E33353342334B3361 -:1000F0005633183B2A3C073D3A3DF048F048553E00 -:10010000F83E063CF048F048974031426942F048DA -:100110006D44F048F048BD45F048F04847467A46FF -:10012000F0484847034878428042A442C842FC4213 -:10013000A543B943D243DF43EC430044446F4A6FC5 -:100140005C6F6C6F746FA16F786FA16F7C6F806F45 -:10015000A16F846F886F8C6F946FA16F9E6F8EAD4F -:1001600095AD1BAE20AE79AF7EAF8EAF7BE77EE75D -:100170006DE771E777E7B5E782E786E78CE790E719 -:1001800094E79AE79EE7A2E7B5E7A8E7ACE7B0E710 -:10019000EEEEF3EEF8EE02EF0CEF85EF16EF1EEF4A -:1001A00026EF30EF3AEF44EF53EF5DEF85EF67EF67 -:1001B00071EF7BEF4F02B3012D025102D501DF0138 -:1001C0002102CF01F9016901750105021102BD018A -:1001D000DF01AD01BB0195016D028501CB01F70186 -:1001E000B1016102A101AB0135028F0187014D020E -:1001F000BF01AF016102D3017F019F01084AD73BD4 -:100200003BCE016E84BCBFFDC12F3D6C74319ABDE5 -:1002100056833DDA3D00C77F11BED9E4BB4C3E9109 -:100220006BAAAABE000000803F05A84CCDB2D44EF8 -:10023000B93836A9020C50B9918688083CA6AAAAFA -:100240002ABE000000803F07634236B79BD8A71A3A -:1002500039685618AEBAAB558C1D3CB7CC5763BD48 -:100260006DEDFD753EF6177231BF000000803F084E -:10027000000000BE922449123EABAAAA2ABECDCCF1 -:10028000CC4C3E00000080BEABAAAAAA3E000000F3 -:1002900000BF000000803F0000000000084178D34C -:1002A000BB4387D1133D190E3CC3BD4282AD2B3EEB -:1002B00068EC8276BED98FE1A93E4C80EFFFBE018B -:1002C000C4FF7F3F0000000000000C9478420C94B3 -:1002D000A5430D9448020C948EAF0C9495AD0C94EC -:1002E00058700C94F0480C94553E0D944B020C94AD -:1002F00035330C94F83E0C949E6F0D940E5F0D9464 -:1003000005440C946DE70C941EEF0D942D420D9452 -:100310004C430C944A6F0C947BEF0C9467EF0D9454 -:1003200027430C949AE70C94786F0D945F020C9419 -:1003300085EF0C94063C0C9486E70C94183B0D94C6 -:100340002A440D94BC420C9497400C94B5E70C944D -:100350007EE70C94C2320D94DF420D9459020D9445 -:10036000BB430D9497420D9430020C94EB700C94A7 -:10037000ACE70C9490E70D945C020D9455020D943B -:1003800096430C94A2E70C940CEF0C94073D0C944C -:100390003AEF0C94806F0D944D420C9471EF0D94D4 -:1003A00041020C9416EF0D94E0430D943A020C9424 -:1003B000FC420C9477E70C9471E70C94D2430D94B3 -:1003C00064020C9435700C94DF430C9420AE0C94B2 -:1003D00082E70C9479AF0C9426EF0C9456330C946E -:1003E00042330C9447460C9453EF0C9400440D9404 -:1003F00072420D9445020C943A3D0C94F3EE0C9429 -:100400008EAD0C94A4420C9444700D944F020C9445 -:10041000B9430D945E5E0C947C6F0C94F8EE0C94D2 -:1004200008330D9452020C9403480C94886F0C947A -:100430005DEF0C9469420C94946F0C947A460C9482 -:10044000846F0D943E020C941BAE0C94A16F0C941F -:1004500044EF0C94C8420C94746F0D9434020C94C5 -:100460005C6F0C9402EF0C9407700D9402430C9493 -:100470006D440C948C6F0C947EAF0C9448470C9494 -:100480004B330C940E330C94A8E70C94EEEE0C94C2 -:100490009EE70C94BD450C948CE70D9471430D942C -:1004A0002D020D9437020C94B0E70C94446F0C9419 -:1004B00080420C946C6F0C942A3C0C9431420C9446 -:1004C0007BE70D944E440C9466700C949E700C94D3 -:1004D00030EF0C9494E70C94EC430D940B424E4196 -:1004E0004E494E495459494E46CDCCCC3D0AD723AE -:1004F0003C17B7D13877CC2B329595E6241FB14FF6 -:100500000A000020410000C84200401C4620BCBE3A -:100510004CCA1B0E5AAEC59D7400407A10F35A00A7 -:10052000A0724E18090010A5D4E80000E87648171C -:100530000000E40B54020000CA9A3B000000E1F501 -:1005400005000080969800000040420F000000A0C7 -:100550008601000000102700000000E803000000F2 -:10056000006400000000000A00000000000100001C -:100570000000002C76D888DC674F0823DFC1DFAE8F -:1005800059E1B1B796E5E3E453C63AE65199769658 -:10059000E8E6C28426EB898C9B62ED407C6FFCEF21 -:1005A000BC9C9F40F2BAA56FA5F490055A2AF75C4F -:1005B000936B6CF9676DC11BFCE0E40D47FEF52001 -:1005C000E6B500D0ED902E030094357705008084C9 -:1005D0001E080000204E0A000000C80C33333333DD -:1005E0000F986E12831141EF8D2114893BE6551649 -:1005F000CFFEE6DB18D1844B381BF77C1D901DA481 -:10060000BBE424203284725E228100C9F124ECA173 -:10061000E53D274D323520500A4D32340050726985 -:100620006E742050617573656400526573756D65F5 -:10063000005549205061757365004E6F204D6174FF -:100640006368203A004D333033452D3153363543FE -:100650003455004D393939004D3530320A4D353079 -:1006600030004D3330334530533231354338550047 -:100670000A202A2A2A7265636461742E6461746197 -:100680005B305D203D004732380A4731204631302B -:100690003030205A313000556E737570706F72743F -:1006A0006564204F7074696F6E2053656C65637468 -:1006B0006564004D3139305335350A4732380A47C1 -:1006C000323950310A47323950330A4732395331BF -:1006D0000A47323953300A47323946302E300A47FA -:1006E0003239410A4D313034533231350A473238CC -:1006F0000A4D313039533231350A473158313530AE -:100700005931353046353030300A47315A300A4D8C -:100710003530300A4D3430300A4D31313720536591 -:1007200074205A204F666673657400473120463145 -:10073000303030205A302E30004732380A473120CE -:100740004631303030205A302E30004D35303000B8 -:100750005A204F6666736574203A202573004D3524 -:100760003030005A204F6666736574203A20257336 -:10077000004732385A0A473146313530305A302E28 -:1007800030004732380A473146313530305A302E42 -:1007900030004D383400473146313030305A302E39 -:1007A00030004732380A473146313030305A302E27 -:1007B00030005A204F6666736574203A2025730016 -:1007C0004D353030004D383400426567696E5377DF -:1007D00069746368007265636461742E6164647235 -:1007E000203D3D007265636461742E646174615BD9 -:1007F000305D203D3D0077616974776179203D3D32 -:10080000000A202A2A2A4E6F7A7A6C6554656D7028 -:100810005374617475735B325D203D00434F4D4DE1 -:10082000554E49434154494F4E0044525952554E3A -:10083000004552524F525300494E464F00454348DF -:100840004F0047322F47332062616420706172612C -:100850006D65746572730A00536C6565702E2E2E7B -:10086000005A2050726F6265205061737420426597 -:10087000640A005A2050726F6265205061737420C0 -:1008800042656400486F6D6520585920466972734F -:10089000740A00486F6D6520585920466972737458 -:1008A00000205A3A200020593A200042656420581E -:1008B0003A20004D65736820706F696E7420636123 -:1008C0006E6E6F74206265207265736F6C766564FE -:1008D0000A004D302F3120427265616B2043616CFC -:1008E0006C656400436F6E74696E7565004D302FE2 -:1008F0003120427265616B2043616C6C6564004E0F -:100900006F204D6F76652E00456E642066696C65BC -:10091000206C6973740A00426567696E2066696CB1 -:1009200065206C6973740A00526573756D65205398 -:100930004400286E6F2066696C65290043757272E9 -:10094000656E742066696C653A20002E0A00446565 -:100950006C6574696F6E206661696C65642C2046F5 -:10096000696C653A200046696C652064656C657445 -:1009700065643A005072696E742074696D653A203E -:10098000000A53746174733A2046696C616D656E38 -:100990007420757365643A20002C204C6F6E676577 -:1009A0007374206A6F623A2000546F74616C207413 -:1009B000696D653A200053746174733A20002C20ED -:1009C0004661696C65643A20002C2046696E697343 -:1009D0006865643A20005072696E74733A2000535F -:1009E000746174733A20006F6666003D0838083100 -:1009F000082A081C0844454255473A004D31313316 -:100A000020530042656420436F6F6C696E672E2E21 -:100A10002E004265642048656174696E672E2E2E33 -:100A2000006F6B004348414D4245525F54454D5065 -:100A300045524154555245004D4F54494F4E5F4D1C -:100A40004F44455300544845524D414C5F50524F1E -:100A500054454354494F4E004155544F5245504F11 -:100A600052545F53445F5354415455530050524FB6 -:100A70004D50545F535550504F525400454D4552C0 -:100A800047454E43595F50415253455200434153ED -:100A9000455F4C494748545F4252494748544E4588 -:100AA000535300544F47474C455F4C4947485453B4 -:100AB00000534F4654574152455F504F57455200DF -:100AC0004255494C445F50455243454E54004C45B5 -:100AD00056454C494E475F44415441005A5F50527D -:100AE0004F4245004155544F4C4556454C005052DD -:100AF000494E545F4A4F420050524F47524553535C -:100B0000004155544F5245504F52545F54454D503B -:100B100000564F4C554D455452494300454550529F -:100B20004F4D0042494E4152595F46494C455F5432 -:100B300052414E534645520053455249414C5F582D -:100B40004F4E5F584F4646004649524D5741524519 -:100B50005F4E414D453A4D61726C696E20322E30C8 -:100B60005F44573320544D33442053534D44425532 -:100B700020534F555243455F434F44455F55524CB8 -:100B80003A68747470733A2F2F6769746875622EAF -:100B9000636F6D2F496E73616E6974794175746FFF -:100BA0006D6174696F6E2F4D61726C696E2F747216 -:100BB00065652F437265616C6974795F4D61726C14 -:100BC000696E322E302E782050524F544F434F4C86 -:100BD0005F56455253494F4E3A312E30204D4143D6 -:100BE00048494E455F545950453A544D334420438B -:100BF000522D582045585452554445525F434F5545 -:100C00004E543A3220555549443A63656465326121 -:100C100032662D343161322D343734382D3962311A -:100C2000322D6335356336326633363766660A00F1 -:100C30002F2F200020466C6F773A200050726F747F -:100C400065637465642050696E0A00206F757420B6 -:100C50006F662072616E67650A00536572766F2059 -:100C6000003A200020536572766F200050726F6248 -:100C700065205A204F66667365743A2000496E7687 -:100C8000616C69642065787472756465720A00200D -:100C9000643A0020693A0020703A0020643A00204B -:100CA000693A0020703A0064697300656E00432958 -:100CB0000A0061626C656420286D696E2074656D40 -:100CC000702000436F6C642065787472756465737E -:100CD0002061726520004F4646004F4E0046696C09 -:100CE000616D656E742072756E6F757420646973C2 -:100CF00074616E636520286D6D293A200046696C29 -:100D0000616D656E742072756E6F757420004F662C -:100D10006673657473204170706C69656400457218 -:100D2000723A20546F6F206661722100546F6F20F9 -:100D30006661722066726F6D207265666572656E9F -:100D4000636520706F696E740A00454550524F4DBF -:100D5000204F4B0A00416476616E6365204B003F73 -:100D60004B2076616C7565206F7574206F662072FC -:100D7000616E67652028302D3130292E0A003F54DE -:100D80002076616C7565206F7574206F66207261C6 -:100D90006E67652E0A0024F404D9201BC40C5C0E77 -:100DA0009804C4095F0265077101F405F900FB04AA -:100DB000B30048048700C1036900580355000303CA -:100DC0004500BE023A008402310053022A00290283 -:100DD000250004022000E4011C00C8011900AF0135 -:100DE00017009801140084011300710110006101C3 -:100DF000100051010E0043010D0036010B002B01C4 -:100E00000B0020010B00150109000C010900030172 -:100E10000800FB000800F3000800EB000700E400F6 -:100E20000600DE000600D8000600D2000600CC0056 -:100E30000500C7000500C2000500BD000400B900A0 -:100E40000400B5000400B1000400AD000400A900D6 -:100E50000400A5000300A20003009F0004009B0003 -:100E60000300980003009500020093000300900027 -:100E700003008D0002008B00030088000200860042 -:100E8000020084000300810002007F0002007D0058 -:100E900002007B000200790002007700010076006A -:100EA00002007400020072000100710002006F0075 -:100EB00002006D0001006C0002006A000100690080 -:100EC0000200670001006600010065000100640087 -:100ED00002006200010061000100600001005F008B -:100EE00002005D0001005C0001005B0001005A008F -:100EF0000100590001005800010057000100560090 -:100F0000010055000100540001005300000053008F -:100F100001005200010051000100500001004F008B -:100F200001004E0000004E0001004D0001004C0089 -:100F300001004B0000004B0001004A000100490085 -:100F40000100480000004800010047000100460081 -:100F5000000046000100450000004500010044007B -:100F60000100430000004300010042000000420075 -:100F700001004100000041000100400001003F006D -:100F800000003F0001003E0000003E0001003D0067 -:100F900000003D0001003C0000003C0000003C005F -:100FA00001003B0000003B0001003A0000003A0055 -:100FB000010039000000390001003800000038004D -:100FC0000000380001003700000037000100360043 -:100FD000000036000000360001003500000035003A -:100FE000000035000100340000003400000034002F -:100FF0000100330000003300000033000100320024 -:101000000000320000003200010031000000310019 -:10101000000031000100300000003000000030000E -:1010200001002F0000002F0000002F0000002F0003 -:1010300001002E0000002E0000002E0001002D00F7 -:1010400000002D0000002D0000002D0001002C00EC -:1010500000002C0000002C0000002C0001002B00E0 -:1010600000002B0000002B0000002B0001002A00D4 -:1010700000002A0000002A0000002A0001002900C8 -:1010800000002900000029000000290000002900BC -:1010900001002800000028000000280000002800AF -:1010A00000002800010027000000270000002700A2 -:1010B0000000270000002700010026000000260095 -:1010C0000000260000002600000026000100250088 -:1010D000000025000000250000002500000025007C -:1010E000000025000100240000002400000024006E -:1010F0000000240000002400010023000000230061 -:101100000000230000002300000023000000230053 -:101110000000230001002200000022000000220045 -:101120000000220000002200000022000100210037 -:10113000000021000000210000002100000021002B -:10114000000021000000210001002000000020001C -:10115000000020000000200000002000000020000F -:10116000000020000000200001001F0000001F0000 -:1011700000001F0000001F0000001F0000001F00F3 -:1011800000001F0001001E0000001E0000001E00E5 -:1011900000001E00000024F4D43050C38E20C2A2F0 -:1011A0004017828B7011127A910D816CD90AA86157 -:1011B000E108C7586607615143061E4B5D05C145EE -:1011C000A7041A411104093D9803713931034036CF -:1011D000DB0265339102D4305402802E1D02632C51 -:1011E000EE01752AC501B028A001102781018F25C5 -:1011F00064012B244B01E0223401AC211F018D201E -:101200000D01801FFC00841EED00971DDF00B81C3F -:10121000D200E61BC600201BBC00641AB200B21943 -:10122000A8000A19A0006A189900D1179100401768 -:101230008B00B516840031167E00B31579003A157F -:101240007300C7146F0058146A00EE136600881309 -:10125000630025135E00C7125B006C125700151265 -:101260005400C111510070114F0021114B00D610D4 -:1012700049008D1047004610440002104200C00F84 -:101280004000800F3E00420F3C00060F3B00CB0E9B -:101290003800930E37005C0E3500270E3400F30D36 -:1012A0003200C10D3100900D3000600D2E00320D66 -:1012B0002D00050D2C00D90C2B00AE0C2900850C3F -:1012C00029005C0C2700350C27000E0C2600E80BCB -:1012D0002400C40B2400A00B23007D0B23005A0B19 -:1012E0002100390B2100180B2000F80A1F00D90A31 -:1012F0001E00BB0A1E009D0A1D00800A1D00630A15 -:101300001C00470A1B002C0A1B00110A1A00F709CF -:101310001A00DD091900C4091900AB091900920966 -:1013200017007B091800630917004C0916003609DD -:101330001600200916000A091500F5081500E00836 -:101340001400CC081400B8081400A4081400900875 -:1013500013007D0812006B0813005808120046089D -:1013600012003408110023081100120811000108AE -:101370001100F0071000E0071000D0071000C007B0 -:101380001000B0070F00A107100091070E0083079F -:101390000F0074070F0065070E0057070E0049077E -:1013A0000E003B070D002E070E0020070D0013074F -:1013B0000D0006070D00F9060C00ED060D00E00615 -:1013C0000C00D4060C00C8060C00BC060C00B006CD -:1013D0000C00A4060B0099060C008D060B0082067B -:1013E0000B0077060B006C060B0061060A0057061F -:1013F0000B004C060A0042060A0038060A002E06B8 -:101400000A0024060A001A060A0010060900070648 -:101410000A00FD050900F4050900EB050900E205D5 -:101420000900D9050900D0050900C7050900BE0556 -:101430000900B5050800AD050800A50509009C05D3 -:101440000800940508008C050800840508007C0548 -:101450000800740508006C050700650508005D05B7 -:101460000700560508004E05070047050700400520 -:10147000080038050700310507002A050700230585 -:1014800007001C050600160507000F0507000805E4 -:10149000060002050700FB040600F5040700EE0441 -:1014A0000600E8040600E2040700DB040600D50499 -:1014B0000600CF040600C9040600C3040600BD04EC -:1014C0000600B7040600B1040500AC040600A6043B -:1014D0000600A00405009B04060095040500900486 -:1014E00006008A04050085040500800406007A04CD -:1014F000050075040500700405006B040500660412 -:101500000500610405005C04050057040500520451 -:1015100005004D04050048040500430405003E0491 -:1015200004003A04050035040500300404002C04CE -:10153000050027040400230405001E0404001A0407 -:10154000040016040500110404000D04040009043D -:1015500005000404040000040400FC030400F80374 -:101560000400F4030400F0030400EC030400E803A7 -:101570000400E4030400E0030400DC030400D803D7 -:101580000400D4030400D0030400CC030400C80307 -:101590000300C5030300726F746174696F6E206D80 -:1015A00061747269783A0A0024F404D9201BC40CCF -:1015B0005C0E9804C4095F0265077101F405F90027 -:1015C000FB04B30048048700C103690058035500B9 -:1015D00003034500BE023A008402310053022A0090 -:1015E0002902250004022000E4011C00C8011900A2 -:1015F000AF0117009801140084011300710110005D -:101600006101100051010E0043010D0036010B0075 -:101610002B010B0020010B00150109000C01090032 -:1016200003010800FB000800F3000800EB000700BE -:10163000E4000600DE000600D8000600D200060026 -:10164000CC000500C7000500C2000500BD00040075 -:10165000B9000400B5000400B1000400AD000400AE -:10166000A9000400A5000300A20003009F000400DD -:101670009B00030098000300950002009300030004 -:10168000900003008D0002008B0003008800020020 -:101690008600020084000300810002007F00020037 -:1016A0007D0002007B00020079000200770001004B -:1016B0007600020074000200720001007100020056 -:1016C0006F0002006D0001006C0002006A00010062 -:1016D000690002006700010066000100650001006A -:1016E000640002006200010061000100600001006E -:1016F0005F0002005D0001005C0001005B00010072 -:101700005A00010059000100580001005700010073 -:101710005600010055000100540001005300000074 -:10172000530001005200010051000100500001006F -:101730004F0001004E0000004E0001004D0001006E -:101740004C0001004B0000004B0001004A0001006A -:101750004900010048000000480001004700010066 -:101760004600000046000100450000004500010061 -:10177000440001004300000043000100420000005B -:101780004200010041000000410001004000010052 -:101790003F0000003F0001003E0000003E0001004D -:1017A0003D0000003D0001003C0000003C00000046 -:1017B0003C0001003B0000003B0001003A0000003B -:1017C0003A00010039000000390001003800000033 -:1017D0003800000038000100370000003700010029 -:1017E0003600000036000000360001003500000021 -:1017F0003500000035000100340000003400000016 -:101800003400010033000000330000003300010009 -:101810003200000032000000320001003100000000 -:1018200031000000310001003000000030000000F5 -:10183000300001002F0000002F0000002F000000EA -:101840002F0001002E0000002E0000002E000100DD -:101850002D0000002D0000002D0000002D000100D3 -:101860002C0000002C0000002C0000002C000100C7 -:101870002B0000002B0000002B0000002B000100BB -:101880002A0000002A0000002A0000002A000100AF -:1018900029000000290000002900000029000000A4 -:1018A0002900010028000000280000002800000096 -:1018B0002800000028000100270000002700000089 -:1018C000270000002700000027000100260000007C -:1018D000260000002600000026000000260001006F -:1018E0002500000025000000250000002500000064 -:1018F0002500000025000100240000002400000055 -:101900002400000024000000240001002300000047 -:10191000230000002300000023000000230000003B -:10192000230000002300010022000000220000002C -:10193000220000002200000022000000220001001E -:101940002100000021000000210000002100000013 -:101950002100000021000000210001002000000003 -:1019600020000000200000002000000020000000F7 -:101970002000000020000000200001001F000000E7 -:101980001F0000001F0000001F0000001F000000DB -:101990001F0000001F0001001E0000001E000000CC -:1019A0001E0000001E00000024F4D43050C38E201E -:1019B000C2A24017828B7011127A910D816CD90AE4 -:1019C000A861E108C7586607615143061E4B5D05D3 -:1019D000C145A7041A411104093D98037139310327 -:1019E0004036DB0265339102D4305402802E1D0252 -:1019F000632CEE01752AC501B028A00110278101D2 -:101A00008F2564012B244B01E0223401AC211F01FE -:101A10008D200D01801FFC00841EED00971DDF004E -:101A2000B81CD200E61BC600201BBC00641AB20022 -:101A3000B219A8000A19A0006A189900D1179100DC -:101A400040178B00B516840031167E00B31579005F -:101A50003A157300C7146F0058146A00EE1366003D -:101A60008813630025135E00C7125B006C125700D9 -:101A700015125400C111510070114F0021114B007B -:101A8000D61049008D104700461044000210420055 -:101A9000C00F4000800F3E00420F3C00060F3B008D -:101AA000CB0E3800930E37005C0E3500270E340045 -:101AB000F30D3200C10D3100900D3000600D2E008D -:101AC000320D2D00050D2C00D90C2B00AE0C290079 -:101AD000850C29005C0C2700350C27000E0C260015 -:101AE000E80B2400C40B2400A00B23007D0B230073 -:101AF0005A0B2100390B2100180B2000F80A1F0097 -:101B0000D90A1E00BB0A1E009D0A1D00800A1D0086 -:101B1000630A1C00470A1B002C0A1B00110A1A004A -:101B2000F7091A00DD091900C4091900AB091900E9 -:101B3000920917007B091800630917004C09160069 -:101B400036091600200916000A091500F5081500C7 -:101B5000E0081400CC081400B8081400A40814000D -:101B6000900813007D0812006B081300580812003B -:101B70004608120034081100230811001208110051 -:101B800001081100F0071000E0071000D007100056 -:101B9000C0071000B0070F00A107100091070E004A -:101BA00083070F0074070F0065070E0057070E002C -:101BB00049070E003B070D002E070E0020070D0001 -:101BC00013070D0006070D00F9060C00ED060D00C9 -:101BD000E0060C00D4060C00C8060C00BC060C0085 -:101BE000B0060C00A4060B0099060C008D060B0035 -:101BF00082060B0077060B006C060B0061060A00DC -:101C000057060B004C060A0042060A0038060A0076 -:101C10002E060A0024060A001A060A001006090009 -:101C200007060A00FD050900F4050900EB05090097 -:101C3000E2050900D9050900D0050900C70509001A -:101C4000BE050900B5050800AD050800A505090099 -:101C50009C050800940508008C0508008405080010 -:101C60007C050800740508006C0507006505080080 -:101C70005D050700560508004E05070047050700EB -:101C80004005080038050700310507002A05070050 -:101C9000230507001C050600160507000F050700B1 -:101CA0000805060002050700FB040600F50407000E -:101CB000EE040600E8040600E2040700DB04060068 -:101CC000D5040600CF040600C9040600C3040600BC -:101CD000BD040600B7040600B1040500AC0406000C -:101CE000A6040600A00405009B0406009504050058 -:101CF000900406008A04050085040500800406009F -:101D00007A04050075040500700405006B040500E5 -:101D100066040500610405005C0405005704050025 -:101D2000520405004D040500480405004304050065 -:101D30003E0404003A0405003504050030040400A4 -:101D40002C04050027040400230405001E040400DD -:101D50001A04040016040500110404000D04040014 -:101D6000090405000404040000040400FC0304004A -:101D7000F8030400F4030400F0030400EC0304007F -:101D8000E8030400E4030400E0030400DC030400AF -:101D9000D8030400D4030400D0030400CC030400DF -:101DA000C8030300C503030024F404D9201BC40C9A -:101DB0005C0E9804C4095F0265077101F405F9001F -:101DC000FB04B30048048700C103690058035500B1 -:101DD00003034500BE023A008402310053022A0088 -:101DE0002902250004022000E4011C00C80119009A -:101DF000AF01170098011400840113007101100055 -:101E00006101100051010E0043010D0036010B006D -:101E10002B010B0020010B00150109000C0109002A -:101E200003010800FB000800F3000800EB000700B6 -:101E3000E4000600DE000600D8000600D20006001E -:101E4000CC000500C7000500C2000500BD0004006D -:101E5000B9000400B5000400B1000400AD000400A6 -:101E6000A9000400A5000300A20003009F000400D5 -:101E70009B000300980003009500020093000300FC -:101E8000900003008D0002008B0003008800020018 -:101E90008600020084000300810002007F0002002F -:101EA0007D0002007B000200790002007700010043 -:101EB000760002007400020072000100710002004E -:101EC0006F0002006D0001006C0002006A0001005A -:101ED0006900020067000100660001006500010062 -:101EE0006400020062000100610001006000010066 -:101EF0005F0002005D0001005C0001005B0001006A -:101F00005A0001005900010058000100570001006B -:101F1000560001005500010054000100530000006C -:101F20005300010052000100510001005000010067 -:101F30004F0001004E0000004E0001004D00010066 -:101F40004C0001004B0000004B0001004A00010062 -:101F5000490001004800000048000100470001005E -:101F60004600000046000100450000004500010059 -:101F70004400010043000000430001004200000053 -:101F8000420001004100000041000100400001004A -:101F90003F0000003F0001003E0000003E00010045 -:101FA0003D0000003D0001003C0000003C0000003E -:101FB0003C0001003B0000003B0001003A00000033 -:101FC0003A0001003900000039000100380000002B -:101FD0003800000038000100370000003700010021 -:101FE0003600000036000000360001003500000019 -:101FF000350000003500010034000000340000000E -:102000003400010033000000330000003300010001 -:1020100032000000320000003200010031000000F8 -:1020200031000000310001003000000030000000ED -:10203000300001002F0000002F0000002F000000E2 -:102040002F0001002E0000002E0000002E000100D5 -:102050002D0000002D0000002D0000002D000100CB -:102060002C0000002C0000002C0000002C000100BF -:102070002B0000002B0000002B0000002B000100B3 -:102080002A0000002A0000002A0000002A000100A7 -:10209000290000002900000029000000290000009C -:1020A000290001002800000028000000280000008E -:1020B0002800000028000100270000002700000081 -:1020C0002700000027000000270001002600000074 -:1020D0002600000026000000260000002600010067 -:1020E000250000002500000025000000250000005C -:1020F000250000002500010024000000240000004D -:10210000240000002400000024000100230000003F -:102110002300000023000000230000002300000033 -:102120002300000023000100220000002200000024 -:102130002200000022000000220000002200010016 -:10214000210000002100000021000000210000000B -:1021500021000000210000002100010020000000FB -:1021600020000000200000002000000020000000EF -:102170002000000020000000200001001F000000DF -:102180001F0000001F0000001F0000001F000000D3 -:102190001F0000001F0001001E0000001E000000C4 -:1021A0001E0000001E00000024F4D43050C38E2016 -:1021B000C2A24017828B7011127A910D816CD90ADC -:1021C000A861E108C7586607615143061E4B5D05CB -:1021D000C145A7041A411104093D9803713931031F -:1021E0004036DB0265339102D4305402802E1D024A -:1021F000632CEE01752AC501B028A00110278101CA -:102200008F2564012B244B01E0223401AC211F01F6 -:102210008D200D01801FFC00841EED00971DDF0046 -:10222000B81CD200E61BC600201BBC00641AB2001A -:10223000B219A8000A19A0006A189900D1179100D4 -:1022400040178B00B516840031167E00B315790057 -:102250003A157300C7146F0058146A00EE13660035 -:102260008813630025135E00C7125B006C125700D1 -:1022700015125400C111510070114F0021114B0073 -:10228000D61049008D10470046104400021042004D -:10229000C00F4000800F3E00420F3C00060F3B0085 -:1022A000CB0E3800930E37005C0E3500270E34003D -:1022B000F30D3200C10D3100900D3000600D2E0085 -:1022C000320D2D00050D2C00D90C2B00AE0C290071 -:1022D000850C29005C0C2700350C27000E0C26000D -:1022E000E80B2400C40B2400A00B23007D0B23006B -:1022F0005A0B2100390B2100180B2000F80A1F008F -:10230000D90A1E00BB0A1E009D0A1D00800A1D007E -:10231000630A1C00470A1B002C0A1B00110A1A0042 -:10232000F7091A00DD091900C4091900AB091900E1 -:10233000920917007B091800630917004C09160061 -:1023400036091600200916000A091500F5081500BF -:10235000E0081400CC081400B8081400A408140005 -:10236000900813007D0812006B0813005808120033 -:102370004608120034081100230811001208110049 -:1023800001081100F0071000E0071000D00710004E -:10239000C0071000B0070F00A107100091070E0042 -:1023A00083070F0074070F0065070E0057070E0024 -:1023B00049070E003B070D002E070E0020070D00F9 -:1023C00013070D0006070D00F9060C00ED060D00C1 -:1023D000E0060C00D4060C00C8060C00BC060C007D -:1023E000B0060C00A4060B0099060C008D060B002D -:1023F00082060B0077060B006C060B0061060A00D4 -:1024000057060B004C060A0042060A0038060A006E -:102410002E060A0024060A001A060A001006090001 -:1024200007060A00FD050900F4050900EB0509008F -:10243000E2050900D9050900D0050900C705090012 -:10244000BE050900B5050800AD050800A505090091 -:102450009C050800940508008C0508008405080008 -:102460007C050800740508006C0507006505080078 -:102470005D050700560508004E05070047050700E3 -:102480004005080038050700310507002A05070048 -:10249000230507001C050600160507000F050700A9 -:1024A0000805060002050700FB040600F504070006 -:1024B000EE040600E8040600E2040700DB04060060 -:1024C000D5040600CF040600C9040600C3040600B4 -:1024D000BD040600B7040600B1040500AC04060004 -:1024E000A6040600A00405009B0406009504050050 -:1024F000900406008A040500850405008004060097 -:102500007A04050075040500700405006B040500DD -:1025100066040500610405005C040500570405001D -:10252000520405004D04050048040500430405005D -:102530003E0404003A04050035040500300404009C -:102540002C04050027040400230405001E040400D5 -:102550001A04040016040500110404000D0404000C -:10256000090405000404040000040400FC03040042 -:10257000F8030400F4030400F0030400EC03040077 -:10258000E8030400E4030400E0030400DC030400A7 -:10259000D8030400D4030400D0030400CC030400D7 -:1025A000C8030300C503030070012C01900127013B -:1025B000B0012201C0011D01F00118011002130138 -:1025C00030020E016002090190020401C002FF0006 -:1025D0000003FA004003F5008003F000D003EB0095 -:1025E0002004E6007004E100E004DC004005D700B0 -:1025F000C005D2004006CD00D006C8008007C30049 -:102600003008BE00F008B900C009B400B00AAF003D -:10261000B00BAA00D00CA500000EA000500F9B002C -:10262000C01096005012910000148C00C015870055 -:10263000B0178200B0197D00D01B7800001E730017 -:1026400040206E0090226900F024640040275F0063 -:1026500090295A00E02B5500102E500020304B00DE -:1026600010324600E033410090353C00103737000F -:1026700070383200A0392D00B03A2800A03B23006A -:10268000603C1E00103D1900903D1400103E0F00EC -:10269000703E0A00C03E0500003F0000403FFBFFC7 -:1026A000803FF6FFC03FF1FF1000C90210012C016E -:1026B0004001220170011801B0010E01F001040176 -:1026C0005002FA00B002F0003003E600D003DC0054 -:1026D0009004D2007005C800A006BE000008B40037 -:1026E000B009AA00D00BA000600E960060118C000B -:1026F0000015820020197800C01D6E00A022640021 -:10270000B0275A00902C500000314600E0343C00C5 -:1027100010383200903A2800603C1E00A03D1400A2 -:10272000803E0A00203F000024F404D9201BC40C82 -:102730005C0E9804C4095F0265077101F405F90095 -:10274000FB04B30048048700C10369005803550027 -:1027500003034500BE023A008402310053022A00FE -:102760002902250004022000E4011C00C801190010 -:10277000AF011700980114008401130071011000CB -:102780006101100051010E0043010D0036010B00E4 -:102790002B010B0020010B00150109000C010900A1 -:1027A00003010800FB000800F3000800EB0007002D -:1027B000E4000600DE000600D8000600D200060095 -:1027C000CC000500C7000500C2000500BD000400E4 -:1027D000B9000400B5000400B1000400AD0004001D -:1027E000A9000400A5000300A20003009F0004004C -:1027F0009B00030098000300950002009300030073 -:10280000900003008D0002008B000300880002008E -:102810008600020084000300810002007F000200A5 -:102820007D0002007B0002007900020077000100B9 -:1028300076000200740002007200010071000200C4 -:102840006F0002006D0001006C0002006A000100D0 -:1028500069000200670001006600010065000100D8 -:1028600064000200620001006100010060000100DC -:102870005F0002005D0001005C0001005B000100E0 -:102880005A000100590001005800010057000100E2 -:1028900056000100550001005400010053000000E3 -:1028A00053000100520001005100010050000100DE -:1028B0004F0001004E0000004E0001004D000100DD -:1028C0004C0001004B0000004B0001004A000100D9 -:1028D00049000100480000004800010047000100D5 -:1028E00046000000460001004500000045000100D0 -:1028F00044000100430000004300010042000000CA -:1029000042000100410000004100010040000100C0 -:102910003F0000003F0001003E0000003E000100BB -:102920003D0000003D0001003C0000003C000000B4 -:102930003C0001003B0000003B0001003A000000A9 -:102940003A000100390000003900010038000000A1 -:102950003800000038000100370000003700010097 -:10296000360000003600000036000100350000008F -:102970003500000035000100340000003400000084 -:102980003400010033000000330000003300010078 -:10299000320000003200000032000100310000006F -:1029A0003100000031000100300000003000000064 -:1029B000300001002F0000002F0000002F00000059 -:1029C0002F0001002E0000002E0000002E0001004C -:1029D0002D0000002D0000002D0000002D00010042 -:1029E0002C0000002C0000002C0000002C00010036 -:1029F0002B0000002B0000002B0000002B0001002A -:102A00002A0000002A0000002A0000002A0001001D -:102A10002900000029000000290000002900000012 -:102A20002900010028000000280000002800000004 -:102A300028000000280001002700000027000000F7 -:102A400027000000270000002700010026000000EA -:102A500026000000260000002600000026000100DD -:102A600025000000250000002500000025000000D2 -:102A700025000000250001002400000024000000C3 -:102A800024000000240000002400010023000000B6 -:102A900023000000230000002300000023000000AA -:102AA000230000002300010022000000220000009B -:102AB000220000002200000022000000220001008D -:102AC0002100000021000000210000002100000082 -:102AD0002100000021000000210001002000000072 -:102AE0002000000020000000200000002000000066 -:102AF0002000000020000000200001001F00000056 -:102B00001F0000001F0000001F0000001F00000049 -:102B10001F0000001F0001001E0000001E0000003A -:102B20001E0000001E00000024F4D43050C38E208C -:102B3000C2A24017828B7011127A910D816CD90A52 -:102B4000A861E108C7586607615143061E4B5D0541 -:102B5000C145A7041A411104093D98037139310395 -:102B60004036DB0265339102D4305402802E1D02C0 -:102B7000632CEE01752AC501B028A0011027810140 -:102B80008F2564012B244B01E0223401AC211F016D -:102B90008D200D01801FFC00841EED00971DDF00BD -:102BA000B81CD200E61BC600201BBC00641AB20091 -:102BB000B219A8000A19A0006A189900D11791004B -:102BC00040178B00B516840031167E00B3157900CE -:102BD0003A157300C7146F0058146A00EE136600AC -:102BE0008813630025135E00C7125B006C12570048 -:102BF00015125400C111510070114F0021114B00EA -:102C0000D61049008D1047004610440002104200C3 -:102C1000C00F4000800F3E00420F3C00060F3B00FB -:102C2000CB0E3800930E37005C0E3500270E3400B3 -:102C3000F30D3200C10D3100900D3000600D2E00FB -:102C4000320D2D00050D2C00D90C2B00AE0C2900E7 -:102C5000850C29005C0C2700350C27000E0C260083 -:102C6000E80B2400C40B2400A00B23007D0B2300E1 -:102C70005A0B2100390B2100180B2000F80A1F0005 -:102C8000D90A1E00BB0A1E009D0A1D00800A1D00F5 -:102C9000630A1C00470A1B002C0A1B00110A1A00B9 -:102CA000F7091A00DD091900C4091900AB09190058 -:102CB000920917007B091800630917004C091600D8 -:102CC00036091600200916000A091500F508150036 -:102CD000E0081400CC081400B8081400A40814007C -:102CE000900813007D0812006B08130058081200AA -:102CF00046081200340811002308110012081100C0 -:102D000001081100F0071000E0071000D0071000C4 -:102D1000C0071000B0070F00A107100091070E00B8 -:102D200083070F0074070F0065070E0057070E009A -:102D300049070E003B070D002E070E0020070D006F -:102D400013070D0006070D00F9060C00ED060D0037 -:102D5000E0060C00D4060C00C8060C00BC060C00F3 -:102D6000B0060C00A4060B0099060C008D060B00A3 -:102D700082060B0077060B006C060B0061060A004A -:102D800057060B004C060A0042060A0038060A00E5 -:102D90002E060A0024060A001A060A001006090078 -:102DA00007060A00FD050900F4050900EB05090006 -:102DB000E2050900D9050900D0050900C705090089 -:102DC000BE050900B5050800AD050800A505090008 -:102DD0009C050800940508008C050800840508007F -:102DE0007C050800740508006C05070065050800EF -:102DF0005D050700560508004E050700470507005A -:102E00004005080038050700310507002A050700BE -:102E1000230507001C050600160507000F0507001F -:102E20000805060002050700FB040600F50407007C -:102E3000EE040600E8040600E2040700DB040600D6 -:102E4000D5040600CF040600C9040600C30406002A -:102E5000BD040600B7040600B1040500AC0406007A -:102E6000A6040600A00405009B04060095040500C6 -:102E7000900406008A04050085040500800406000D -:102E80007A04050075040500700405006B04050054 -:102E900066040500610405005C0405005704050094 -:102EA000520405004D0405004804050043040500D4 -:102EB0003E0404003A040500350405003004040013 -:102EC0002C04050027040400230405001E0404004C -:102ED0001A04040016040500110404000D04040083 -:102EE000090405000404040000040400FC030400B9 -:102EF000F8030400F4030400F0030400EC030400EE -:102F0000E8030400E4030400E0030400DC0304001D -:102F1000D8030400D4030400D0030400CC0304004D -:102F2000C8030300C5030300256C642E25696D00EA -:102F30004D61726C696E20322E305F445733002031 -:102F40006D61783A00206D696E3A004178697320AE -:102F5000004572726F722077726974696E672074AF -:102F60006F20454550524F4D210A00363726033C0D -:102F70003D380E2E303E121A1C1824221E08440A18 -:102F8000FF430809070001627573793A2070617583 -:102F900073656420666F7220696E7075740A0062D2 -:102FA0007573793A2070617573656420666F72205D -:102FB000757365720A00627573793A2070726F6377 -:102FC000657373696E670A007061757365004D36CD -:102FD0003030200A204D313137200A002066696CDC -:102FE000616D656E745F72756E6F757420006669D1 -:102FF0006C616D656E745F72756E6F7574205400D0 -:1030000046696C616D656E7452756E6F757420548F -:103010000053544F505045442E20005072696E7436 -:1030200065722073746F70706564206475652074B8 -:103030006F206572726F72732E20466978207468F3 -:1030400065206572726F7220616E642075736520F1 -:103050004D39393920746F20726573746172742E22 -:10306000202854656D70657261747572652069738E -:103070002072657365742E20536574206974206115 -:10308000667465722072657374617274696E672903 -:103090000A004E6F20436865636B73756D20776916 -:1030A0007468206C696E65206E756D6265722C2087 -:1030B0004C617374204C696E653A20004E6F20435A -:1030C0006865636B73756D2077697468206C696ED1 -:1030D00065206E756D6265722C204C617374204C96 -:1030E000696E653A2000636865636B73756D206D6A -:1030F00069736D617463682C204C617374204C6932 -:103100006E653A20004C696E65204E756D62657281 -:10311000206973206E6F74204C617374204C696E4B -:1031200065204E756D6265722B312C204C61737475 -:10313000204C696E653A20004D313130007761696D -:10314000740A004D313137004D3331005344207241 -:10315000656164206572726F720A00446F6E65204B -:103160007072696E74696E672066696C650A004BDF -:10317000494C4C2063617573656420627920746FDB -:103180006F206D75636820696E6163746976652070 -:1031900074696D65202D2063757272656E7420638D -:1031A0006F6D6D616E643A20002020506C616E6E10 -:1031B000657242756666657242797465733A20007D -:1031C0002046726565204D656D6F72793A20004327 -:1031D0006F6D70696C65643A2053657020203820EB -:1031E000323031390A00207C20417574686F723AA0 -:1031F0002054696E794D616368696E657333440A62 -:1032000000323031392D30372D333000204C61738E -:103210007420557064617465643A2000322E305F0A -:103220004457330A004D61726C696E0020536F661B -:1032300074776172652052657365740A0020576166 -:10324000746368646F672052657365740A00204276 -:10325000726F776E206F75742052657365740A0003 -:103260002045787465726E616C2052657365740ACE -:1032700000506F77657255700A0073746172740A3A -:10328000006175746F25632E67006572726F72201E -:1032900077726974696E6720746F2066696C650A5D -:1032A00000446F6E6520736176696E672066696C95 -:1032B000652E0A004D323900205A3A0020593A0052 -:1032C00020583A00656E6473746F70732068697477 -:1032D0003A200047323858590043616E6E6F7420AF -:1032E0006F70656E207375626469722000534420AC -:1032F00063617264206F6B0A006F70656E526F6F4E -:1033000074206661696C65640A00766F6C756D6522 -:103310002E696E6974206661696C65640A005344A5 -:1033200020696E6974206661696C0A004D32340050 -:103330004D32332025730057726974696E672074AB -:103340006F2066696C653A20002E0A006F70656E0A -:10335000206661696C65642C2046696C653A2000C2 -:103360002E0A006F70656E206661696C65642C20A2 -:1033700046696C653A200046696C652073656C652A -:10338000637465640A002053697A653A20004669CF -:103390006C65206F70656E65643A200066726573B7 -:1033A0006800646F696E67002066696C653A20008A -:1033B0004E6F772000454E4420535542524F55548E -:1033C000494E450A002220706F73002220706172FE -:1033D000656E743A2200535542524F5554494E453A -:1033E0002043414C4C207461726765743A2200742A -:1033F0007279696E6720746F2063616C6C207375DD -:10340000622D67636F64652066696C6573207769F8 -:10341000746820746F6F206D616E79206C657665BD -:103420006C732E204D4158206C6576656C20697355 -:103430003A310A005344207072696E74696E6720D5 -:103440006279746520004E6F742053442070726955 -:103450006E74696E670A0020746F6F206C6F6E6700 -:1034600020657874727573696F6E20707265766509 -:103470006E7465640A0020636F6C642065787472F2 -:103480007573696F6E2070726576656E7465640A17 -:10349000002042002050006F6B00526573656E641F -:1034A0003A200043616E6E6F74206F70656E2073FA -:1034B000756264697220002569730025696D202595 -:1034C0006973002569682025696D202569730025C9 -:1034D0006964202569682025696D202569730025A8 -:1034E000697920256964202569682025696D202572 -:1034F00069730023646566696E65204445464155DD -:103500004C545F0000626564004B6420004B6920EE -:10351000004B702000504944204175746F74756EE3 -:10352000652066696E697368656421205075742032 -:10353000746865206C617374204B702C204B69207B -:10354000616E64204B6420636F6E7374616E74737C -:103550002066726F6D2062656C6F7720696E746F84 -:1035600020436F6E66696775726174696F6E2E684D -:103570000A00504944204175746F74756E65206669 -:1035800061696C6564212074696D656F75740A00EA -:10359000453120544845524D414C2052554E4157DB -:1035A00041590042454420544845524D414C205217 -:1035B000554E4157415900546865726D616C2052F7 -:1035C000756E617761790045312048656174696E77 -:1035D00067204661696C65640042656420486561E6 -:1035E00074696E67204661696C6564004865617442 -:1035F000696E67206661696C6564005049442041CA -:1036000075746F74756E65206661696C65642120E0 -:1036100054656D706572617475726520746F6F208A -:10362000686967680A00204B643A2000204B693AB9 -:103630002000204B703A20000A20436C61737369AC -:103640006320504944200A00204B643A2000204B5C -:10365000693A2000204B703A20000A204E6F206FFC -:1036600076657273686F6F740A002054753A200093 -:10367000204B753A2000206D61783A2000206D695A -:103680006E3A200020643A200020626961733A207B -:1036900000504944204175746F74756E65207374D1 -:1036A0006172740A00504944204175746F74756EDC -:1036B00065206661696C6564212054656D70657272 -:1036C000617475726520746F6F20686967680A009D -:1036D000504944204175746F74756E652066616948 -:1036E0006C6564212042616420657874727564653C -:1036F00072206E756D6265720A001000C9021001B9 -:103700002C014001220170011801B0010E01F001ED -:1037100004015002FA00B002F0003003E600D003CA -:10372000DC009004D2007005C800A006BE000008AE -:10373000B400B009AA00D00BA000600E9600601182 -:103740008C000015820020197800C01D6E00A02298 -:103750006400B0275A00902C500000314600E0343D -:103760003C0010383200903A2800603C1E00A03D1A -:103770001400803E0A00203F000045312054484597 -:10378000524D414C2052554E4157415900424544FB -:1037900020544845524D414C2052554E41574159B5 -:1037A00000546865726D616C2052756E6177617945 -:1037B000004531204572723A204D415854454D50D4 -:1037C000004572723A204D415854454D50204245B3 -:1037D00044004D415854454D5020747269676765E7 -:1037E000726564004531204572723A204D494E544D -:1037F000454D50004572723A204D494E54454D504A -:1038000020424544004D494E54454D502074726944 -:10381000676765726564000A0A0020205A5F4D4997 -:103820004E3A002020595F4D494E3A002020585F03 -:103830004D494E3A004D383420582059205A2045E1 -:1038400000202F002042403A0020403A004520430B -:103850006F6F6C696E672E2E2E004520486561746F -:10386000696E672E2E2E0020573A0020573A0049E5 -:103870006E76616C69642065787472756465720A2D -:103880000041637469766520457874727564657269 -:103890003A2000486F74656E6420746F6F20636F08 -:1038A0006C640A002020207C0A004E414E0020203B -:1038B0002E20202000207C004C43443A0A00435331 -:1038C000563A0A0020666F7220003A0A0A000A423D -:1038D000656420546F706F677261706879205265FB -:1038E000706F727400473238004D323830205030DB -:1038F0002053393000446F6E652E0A003F496E76C2 -:10390000616C69642073746F7261676520736C6F9A -:10391000742E0A3F557365203020746F20003F4598 -:103920004550524F4D2073746F72616765206E6F02 -:103930007420617661696C61626C652E0A00446F67 -:103940006E652E0A003F496E76616C69642073745F -:103950006F7261676520736C6F742E0A3F557365D3 -:10396000203020746F20003F454550524F4D20734A -:10397000746F72616765206E6F7420617661696C27 -:1039800061626C652E0A003F5034206973206F6EAF -:103990006C7920617661696C61626C65207768651D -:1039A0006E20616E204C43442069732070726573F1 -:1039B000656E742E0A003F5032206973206F6E6C62 -:1039C0007920617661696C61626C65207768656EEB -:1039D00020616E204C4344206973207072657365CA -:1039E0006E742E0A00292E0A0A0050726F62696EE8 -:1039F000672061726F756E642028004D65736820C2 -:103A0000696E76616C6964617465642E2050726FB2 -:103A100062696E67206D6573682E0A004D65736874 -:103A2000207A65726F65642E0A0044656661756C64 -:103A3000742073746F7261676520736C6F742030CB -:103A40002073656C65637465642E0A004C6F616455 -:103A5000696E6720746573745F7061747465726EEB -:103A60002076616C7565732E0A0A00496E76616C6A -:103A7000696420746573745F7061747465726E201C -:103A800076616C75652E20282D3120746F203229C7 -:103A90000A0A004C6F636174696F6E7320696E76F9 -:103AA000616C6964617465642E0A0A00456E74690C -:103AB0007265204D65736820696E76616C6964611A -:103AC0007465642E0A0A007C3C3E5E2B3D3F2F5BF2 -:103AD0005D3B2C2A225C004E6F20454550524F4DD5 -:103AE0002E0A003F4D65736820746F6F206269670E -:103AF00020666F7220454550524F4D2E0A004E6F82 -:103B000020454550524F4D2E0A00205A3A00205968 -:103B10003A0020436F756E7420583A0020453A00F1 -:103B2000205A3A0020593A00583A0000809D43003C -:103B3000009A430000C8430000000000000000009D -:103B400000000020746F6F206C6F6E6720657874C2 -:103B5000727573696F6E2070726576656E746564D8 -:103B60000A0020636F6C6420657874727573696FE6 -:103B70006E2070726576656E7465640A00050000DB -:103B8000060100040006010006050000000600040E -:103B9000008C3B873B823B7D3B5D0A00436F756C2D -:103BA00064206E6F7420636F6D706C657465204C5B -:103BB00053462100436F727265637465645F5A3DBA -:103BC0000054696C74696E6720506F696E742025AB -:103BD000692F2569000A0A002F0054696C74696E08 -:103BE00067206D65736820706F696E7420003F45B3 -:103BF00072726F722070726F62696E6720706F6987 -:103C00006E742E2041626F7274696E67206F7065EA -:103C1000726174696F6E2E0A00436F72726563740D -:103C200065645F5A3D0054696C74696E6720506F1B -:103C3000696E7420332F330054696C74696E672089 -:103C40006D6573682028332F33290A00436F727221 -:103C500065637465645F5A3D0054696C74696E678E -:103C600020506F696E7420322F330054696C746970 -:103C70006E67206D6573682028322F33290A004350 -:103C80006F727265637465645F5A3D0054696C7449 -:103C9000696E6720506F696E7420312F330054694C -:103CA0006C74696E67206D6573682028312F332925 -:103CB0000A00646F6E650A00496E73756666696313 -:103CC00069656E7420646174610A00000040409A66 -:103CD000997D429A99F742343338439A9974430054 -:103CE00080984334B3B64367E6D4439A19F34367E5 -:103CF000A6084400C017449AD9264434F33544CD6D -:103D00000C4544672654440040634400004040335F -:103D10003381426666FC42CCCC3B43666679430005 -:103D2000809B43CC4CBA439919D94366E6F7439933 -:103D3000590B4400C01A4466262A44CC8C394433BB -:103D4000F348449959584400C067444578747261F7 -:103D5000706F6C6174696E67206D6573682E2E2EAE -:103D60000057616974696E6720666F7220686561CB -:103D70007475702E0A004C656176696E6720473253 -:103D800036003F53706563696669656420582C5935 -:103D900020636F6F7264696E617465206F75742043 -:103DA0006F6620626F756E64732E0A003F28522979 -:103DB00065706561742076616C7565206E6F742026 -:103DC000706C61757369626C653B206D75737420EE -:103DD0006265206174206C6561737420312E0A0065 -:103DE0003F2852296570656174206D757374206277 -:103DF0006520737065636966696564207768656EC0 -:103E0000206E6F74207573696E6720616E204C435D -:103E1000442E0A003F537065636966696564206ECD -:103E20006F7A7A6C652074656D70657261747572F5 -:103E300065206E6F7420706C61757369626C652E9D -:103E40000A003F5370656369666965642066696C42 -:103E5000616D656E742073697A65206E6F74207071 -:103E60006C61757369626C652E0A003F53706563FF -:103E70006966696564207072696D65206C656E673E -:103E80007468206E6F7420706C61757369626C6504 -:103E90002E0A003F5072696D65206C656E6774680C -:103EA000206D75737420626520737065636966693F -:103EB0006564207768656E206E6F74207573696E17 -:103EC0006720616E204C43442E0A003F53706563A7 -:103ED0006966696564206E6F7A7A6C652073697AA9 -:103EE00065206E6F7420706C61757369626C652EED -:103EF0000A003F52657472616374696F6E204D757C -:103F00006C7469706C696572206D7573742062657C -:103F1000207370656369666965642E0A003F53709B -:103F2000656369666965642052657472616374696A -:103F30006F6E204D756C7469706C696572206E6F60 -:103F40007420706C61757369626C652E0A003F5352 -:103F50007065636966696564206C61796572206863 -:103F60006569676874206E6F7420706C6175736921 -:103F7000626C652E0A0043292E0A003F5370656368 -:103F80006966696564206265642074656D70657238 -:103F90006174757265206E6F7420706C61757369E1 -:103FA000626C65202834302D0047323620737461EE -:103FB0007274696E672E2E2E0A0000002100240004 -:103FC00027002A002D003000330001010000040109 -:103FD00007010A0100002200250028002B002E0006 -:103FE0003100340002010000050108010B0100004E -:103FF00020002300260029002C002F0032000001A1 -:10400000000003010601090105050505070508086B -:104010000808020202020A0A080804040404010152 -:104020000101010101010303030303030303040767 -:1040300007070C0C0C0C0C0C0C0C020202020606FE -:104040000606060606060B0B0B0B0B0B0B0B0102F1 -:10405000102020080810204010204080020102019A -:104060000804020101020408102040808040201052 -:1040700008040201800402018040201008040201AB -:104080000804020101020408102040800102040813 -:104090001020408000000A0B02090C0D0E080703D7 -:1040A000040100000000000000000000000000000B -:1040B0000000000000000000000000000000000000 -:1040C00012111000000000000000000000000000BD -:1040D00000000000000000000000220A00556E6B86 -:1040E0006E6F776E20636F6D6D616E643A20220093 -:1040F0000A20696E6974207A70726F62655F7A6FE8 -:104100006666736574203D2000454550524F4D2032 -:10411000496E697469616C697A65640A003F556E1D -:1041200061626C6520746F2073617665206D6573C4 -:104130006820646174612E0A003F556E61626C658F -:1041400020746F206C6F6164206D657368206461FA -:1041500074612E0A00DC050000DC0500006400002C -:10416000004B0000000000FA430000FA430000206A -:1041700041000096420000A0420000A0420000C89A -:10418000430000BE42556E696669656420426564FD -:10419000204C6576656C696E67003A0A0020204DF8 -:1041A000363033200020440020204D34313220535B -:1041B0000046696C616D656E742072756E6F757402 -:1041C0002073656E736F723A0A00546F6F6C2D63C3 -:1041D00068616E67696E673A0A00205500543120A5 -:1041E0004C002055005430204C0046696C616D65D0 -:1041F0006E74206C6F61642F756E6C6F6164206CDF -:10420000656E677468733A0A00204B0020204D39B0 -:1042100030302054004C696E6561722041647661D3 -:104220006E63653A0A0020204D383531205A00204F -:10423000204D38353120590020204D383531205857 -:10424000005A2D50726F6265204F66667365740068 -:1042500020440020490020204D33303420500020DD -:10426000440020490020204D333031205000504977 -:10427000442073657474696E67733A0A00206D6533 -:10428000736865732E0A0A00454550524F4D2063EE -:10429000616E20686F6C6420000A41637469766502 -:1042A000204D65736820536C6F743A2000205A00CB -:1042B00020204D3432302053003A0A00205A00208A -:1042C000590020204D323036205800486F6D65204F -:1042D0006F66667365743A0A00204A002054002015 -:1042E000530020204D323035204200204A3C6A7570 -:1042F0006E635F6465763E00416476616E636564FB -:104300003A20423C6D696E5F7365676D656E745FE0 -:1043100074696D655F75733E20533C6D696E5F66B1 -:10432000656564726174653E20543C6D696E5F74AE -:10433000726176656C5F66656564726174653E0086 -:1043400020540020520020204D32303420500041B3 -:104350006363656C65726174696F6E2028756E6940 -:1043600074732F7332293A20503C7072696E745FF7 -:10437000616363656C3E20523C7265747261637464 -:104380005F616363656C3E20543C74726176656C5A -:104390005F616363656C3E0A00204500205A00207F -:1043A000590020204D3230312058004D6178696D20 -:1043B000756D20416363656C65726174696F6E2011 -:1043C00028756E6974732F7332293A0A00204500EC -:1043D000205A0020590020204D3230332058004D03 -:1043E0006178696D756D2066656564726174657369 -:1043F0002028756E6974732F73293A0A0053746507 -:1044000070732070657220756E69743A0A002020FE -:104410004D3230302044300A0020204D32303020E0 -:10442000543120440020204D3230302044002044BC -:10443000697361626C65640A0046696C616D656EE2 -:10444000742073657474696E67733A0020286D6D0B -:1044500029002020473231202020203B20556E6942 -:10446000747320696E206D6D00486F6D696E6720F2 -:104470004661696C6564006F70656E00545249470F -:104480004745524544003A200066696C616D656E8F -:1044900074007A5F6D696E00795F6D696E00785F98 -:1044A0006D696E005265706F7274696E6720656E1B -:1044B0006473746F70207374617475730A0024F4EC -:1044C000D43050C38E20C2A24017828B7011127A52 -:1044D000910D816CD90AA861E108C758660761513E -:1044E00043061E4B5D05C145A7041A411104093D51 -:1044F0009803713931034036DB0265339102D430C1 -:104500005402802E1D02632CEE01752AC501B028CD -:10451000A001102781018F2564012B244B01E0228B -:104520003401AC211F018D200D01801FFC00841E71 -:10453000ED00971DDF00B81CD200E61BC600201B53 -:10454000BC00641AB200B219A8000A19A0006A18C7 -:104550009900D117910040178B00B51684003116D1 -:104560007E00B31579003A157300C7146F00581414 -:104570006A00EE1366008813630025135E00C712FD -:104580005B006C12570015125400C11151007011DC -:104590004F0021114B00D61049008D1047004610E6 -:1045A000440002104200C00F4000800F3E00420F46 -:1045B0003C00060F3B00CB0E3800930E37005C0E1C -:1045C0003500270E3400F30D3200C10D3100900D7F -:1045D0003000600D2E00320D2D00050D2C00D90C81 -:1045E0002B00AE0C2900850C29005C0C2700350C33 -:1045F00027000E0C2600E80B2400C40B2400A00B9F -:1046000023007D0B23005A0B2100390B2100180BCE -:104610002000F80A1F00D90A1E00BB0A1E009D0ACE -:104620001D00800A1D00630A1C00470A1B002C0A9B -:104630001B00110A1A00F7091A00DD091900C40944 -:104640001900AB091900920917007B0918006309CA -:1046500017004C09160036091600200916000A0931 -:104660001500F5081500E0081400CC081400B8087F -:104670001400A4081400900813007D0812006B08B1 -:1046800013005808120046081200340811002308CD -:1046900011001208110001081100F0071000E007D6 -:1046A0001000D0071000C0071000B0070F00A107CE -:1046B000100091070E0083070F0074070F006507B5 -:1046C0000E0057070E0049070E003B070D002E078E -:1046D0000E0020070D0013070D0006070D00F90658 -:1046E0000C00ED060D00E0060C00D4060C00C80618 -:1046F0000C00BC060C00B0060C00A4060B009906CA -:104700000C008D060B0082060B0077060B006C0672 -:104710000B0061060A0057060B004C060A00420611 -:104720000A0038060A002E060A0024060A001A06A5 -:104730000A001006090007060A00FD050900F40535 -:104740000900EB050900E2050900D9050900D005BB -:104750000900C7050900BE050900B5050800AD053B -:104760000800A50509009C050800940508008C05B3 -:104770000800840508007C050800740508006C0525 -:104780000700650508005D050700560508004E0591 -:1047900007004705070040050800380507003105F8 -:1047A00007002A050700230507001C05060016055B -:1047B00007000F0507000805060002050700FB04B7 -:1047C0000600F5040700EE040600E8040600E20413 -:1047D0000700DB040600D5040600CF040600C90468 -:1047E0000600C3040600BD040600B7040600B104B9 -:1047F0000500AC040600A6040600A00405009B0406 -:10480000060095040500900406008A04050085044E -:104810000500800406007A04050075040500700494 -:1048200005006B04050066040500610405005C04D6 -:10483000050057040500520405004D040500480416 -:104840000500430405003E0404003A040500350455 -:104850000500300404002C04050027040400230490 -:1048600005001E0404001A040400160405001104C7 -:1048700004000D04040009040500040404000004FD -:104880000400FC030400F8030400F4030400F00334 -:104890000400EC030400E8030400E4030400E00364 -:1048A0000400DC030400D8030400D4030400D00394 -:1048B0000400CC030400C8030300C503030024F470 -:1048C00004D9201BC40C5C0E9804C4095F02650760 -:1048D0007101F405F900FB04B30048048700C1032B -:1048E00069005803550003034500BE023A008402E4 -:1048F000310053022A002902250004022000E401AD -:104900001C00C8011900AF011700980114008401B0 -:104910001300710110006101100051010E004301EC -:104920000D0036010B002B010B0020010B001501BF -:1049300009000C01090003010800FB000800F30056 -:104940000800EB000700E4000600DE000600D800C7 -:104950000600D2000600CC000500C7000500C2001A -:104960000500BD000400B9000400B5000400B1005A -:104970000400AD000400A9000400A5000300A2008B -:1049800003009F0004009B000300980003009500B3 -:10499000020093000300900003008D0002008B00D2 -:1049A00003008800020086000200840003008100EA -:1049B00002007F0002007D0002007B0002007900FF -:1049C000020077000100760002007400020072000D -:1049D0000100710002006F0002006D0001006C0018 -:1049E00002006A0001006900020067000100660021 -:1049F0000100650001006400020062000100610026 -:104A00000100600001005F0002005D0001005C0029 -:104A100001005B0001005A0001005900010058002C -:104A2000010057000100560001005500010054002C -:104A3000010053000000530001005200010051002A -:104A40000100500001004F0001004E0000004E0028 -:104A500001004D0001004C0001004B0000004B0024 -:104A600001004A0001004900010048000000480020 -:104A7000010047000100460000004600010045001B -:104A80000000450001004400010043000000430015 -:104A9000010042000000420001004100000041000E -:104AA0000100400001003F0000003F0001003E0007 -:104AB00000003E0001003D0000003D0001003C0000 -:104AC00000003C0000003C0001003B0000003B00F7 -:104AD00001003A0000003A000100390000003900EE -:104AE00001003800000038000000380001003700E5 -:104AF00000003700010036000000360000003600DC -:104B000001003500000035000000350001003400D0 -:104B100000003400000034000100330000003300C6 -:104B200000003300010032000000320000003200BB -:104B300001003100000031000000310001003000B0 -:104B4000000030000000300001002F0000002F00A6 -:104B500000002F0000002F0001002E0000002E009A -:104B600000002E0001002D0000002D0000002D008F -:104B700000002D0001002C0000002C0000002C0083 -:104B800000002C0001002B0000002B0000002B0077 -:104B900000002B0001002A0000002A0000002A006B -:104BA00000002A000100290000002900000029005F -:104BB0000000290000002900010028000000280052 -:104BC0000000280000002800000028000100270045 -:104BD0000000270000002700000027000000270039 -:104BE000010026000000260000002600000026002C -:104BF000000026000100250000002500000025001F -:104C00000000250000002500000025000100240010 -:104C10000000240000002400000024000000240004 -:104C200001002300000023000000230000002300F7 -:104C300000002300000023000000230001002200E8 -:104C400000002200000022000000220000002200DC -:104C500000002200010021000000210000002100CE -:104C600000002100000021000000210000002100C0 -:104C700001002000000020000000200000002000B3 -:104C800000002000000020000000200000002000A4 -:104C900001001F0000001F0000001F0000001F0097 -:104CA00000001F0000001F0000001F0001001E0088 -:104CB00000001E0000001E0000001E000000C231A7 -:104CC00000001C260000F4190000D80F0000EB08BB -:104CD0000000C004000075020000400100005A5F9F -:104CE00053544F505F50494E005A5F535445505FE4 -:104CF00050494E005A5F4D494E5F50494E005A5F31 -:104D0000454E41424C455F50494E005A5F4449521E -:104D10005F50494E005A5F43535F50494E00595F00 -:104D200053544F505F50494E00595F535445505FA4 -:104D300050494E00595F4D494E5F50494E00595FF2 -:104D4000454E41424C455F50494E00595F444952DF -:104D50005F50494E00595F43535F50494E00585FC2 -:104D600053544F505F50494E00585F535445505F65 -:104D700050494E00585F4D494E5F50494E00585FB4 -:104D8000454E41424C455F50494E00585F444952A0 -:104D90005F50494E00585F43535F50494E00535394 -:104DA0005F50494E00534552564F335F50494E00B5 -:104DB000534552564F325F50494E00534552564F5D -:104DC000315F50494E00534552564F305F50494E67 -:104DD00000534453530053445F4445544543545F88 -:104DE00050494E0053434B5F50494E0052414D5085 -:104DF000535F44395F50494E0052414D50535F4418 -:104E0000385F50494E0052414D50535F4431305F3E -:104E100050494E004D4F53495F50494E004D4F533E -:104E20004645545F445F50494E004D49534F5F50D3 -:104E3000494E004D4158363637355F53535F504920 -:104E40004E004C45445F50494E0048454154455240 -:104E50005F4245445F50494E004845415445525FCA -:104E6000305F50494E0046494C5F52554E4F5554A5 -:104E7000325F50494E0046494C5F52554E4F555493 -:104E80005F50494E0046414E315F50494E00464109 -:104E90004E5F50494E0045315F535445505F504975 -:104EA0004E0045315F454E41424C455F50494E00F2 -:104EB00045315F4449525F50494E0045315F43538D -:104EC0005F50494E0045305F535445505F50494E46 -:104ED0000045305F454E41424C455F50494E0045CC -:104EE000305F4449525F50494E0045305F43535F45 -:104EF00050494E00455F4D5558325F50494E004570 -:104F00005F4D5558315F50494E00455F4D55583003 -:104F10005F50494E004156525F53535F50494E0017 -:104F20004156525F53434B5F50494E004156525FCA -:104F30004D4F53495F50494E004156525F4D4953C2 -:104F40004F5F50494E0054454D505F4245445F50BD -:104F5000494E0054454D505F315F50494E00544515 -:104F60004D505F305F50494E0046494C57494454BC -:104F7000485F50494E005458440052584400433A48 -:104F80002000423A2000413A200020202020434FB8 -:104F90004D002020206E6F6E2D7374616E646172FF -:104FA000642050574D206D6F646500202020636F92 -:104FB0006D7061726520696E7465727275707420AF -:104FC000656E61626C6564002020206F7665726694 -:104FD0006C6F7720696E7465727275707420656E7F -:104FE00061626C6564003A20002020202054494D05 -:104FF000534B00423A2000202020205443435200CB -:10500000413A2000202020205443435200202020F9 -:105010002043533A20002020202057474D3A2000BB -:1050200050574D3A20202534640050574D3A2020E7 -:105030002534640047004800000088008A008C0086 -:10504000B300B400000098009A009C00A800AA00D9 -:10505000AC0028012A012C012020202054494D4574 -:105060005200440045006E00800081006F00B000D7 -:10507000B1007000900091007100A000A1007200CA -:1050800020012101730020697320616C736F20740B -:1050900069656420746F20746869732070696E009C -:1050A00054494D45523143000A202E002020002053 -:1050B00020506F72743A20002020200020202041D0 -:1050C0006E616C6F6720696E203D2025356C640031 -:1050D0003C756E757365642F756E6B6E6F776E3E83 -:1050E0000020284125326429202000253364200037 -:1050F000257350494E3A20004F7574707574203DE9 -:105100002000496E70757420203D2000416E616C56 -:105110006F6720696E203D2025356C640070726FCA -:105120007465637465642000202841253264292059 -:1051300020002533642000257350494E3A20007A20 -:105140004F0001764F0101694F3B005E4F43005312 -:105150004F4500464F4400394F32012C4F33012058 -:105160004F3401154F35010A4F2801FF4E2A01F433 -:105170004E2C01EA4E2A01DF4E1C01D14E1801C50A -:105180004E1A01BB4E2C01B04E2201A24E1E0196BA -:105190004E24018E4E0901854E0701764E020166AE -:1051A0004E0F01594E0A014A4E0801424E0D01337D -:1051B0004E42012A4E32011D4E0701144E330106A4 -:1051C0004E0A01F94D0801EC4D0901E44D3401D6B8 -:1051D0004D3101D14D3501C64D0B01BB4D0601B01E -:1051E0004D0501A54D04019E4D3501954D35018BB1 -:1051F0004D37017E4D2601744D0301694D36015E28 -:105200004D0301554D31014B4D3D013E4D380134AB -:105210004D0E01294D3C011E4D0E01154D28010B6F -:105220004D3001FE4C3E01F44C1201E94C2E01DEE2 -:105230004C1201446F6E652E0A0066616C73650046 -:105240004641494C3A204E6F207472696767657217 -:105250002064657465637465640A004641494C3A8C -:10526000204E6F697365206465746563746564209E -:105270002D20706C656173652072652D72756E20CE -:10528000746573740A002064657465637465642EC4 -:105290000A003D20424C546F75636820707265208F -:1052A00056332E3120286F7220636F6D70617469E0 -:1052B000626C6529003D205A20536572766F20503C -:1052C000726F6265003D20424C546F7563682056D2 -:1052D000332E310020282B2F2D20346D73293A20B6 -:1052E000003A2033306D73206F72206D6F72650A43 -:1052F000002E2050756C7365207769647468002AED -:105300002A20506C656173652074726967676572E5 -:105310002070726F62652077697468696E2033301F -:1053200020736563202A2A0A004641494C3A2042EC -:105330004C544F55434820656E61626C6564202D66 -:1053400020536574207570207468697320646576D5 -:10535000696365206173206120536572766F205008 -:10536000726F6265207769746820494E56455254C1 -:10537000494E472073657420746F202774727565D9 -:10538000272E0A0020204445504C4F594544207395 -:10539000746174653A204C4F5720286C6F676963BD -:1053A0002030290020204445504C4F59454420735B -:1053B000746174653A204849474820286C6F6769D2 -:1053C00063203129003D204D656368616E6963612A -:1053D0006C205377697463682064657465637465D1 -:1053E000640A005741524E494E473A20494E5645AD -:1053F0005254494E472073657474696E6720707209 -:105400006F6261626C79206261636B776172647351 -:105410002E0A002E204465706C6F7920262073744C -:105420006F7720342074696D65730A003D20424C0B -:10543000546F75636820436C617373696320312E08 -:10544000322C20312E332C20536D61727420312E7A -:10545000302C20322E302C20322E322C20332E3085 -:105460002C20332E312064657465637465642E0AC4 -:10547000002E20436865636B20666F7220424C5497 -:105480004F5543480A002E205A5F4D494E5F454E06 -:105490004453544F505F494E56455254494E473A33 -:1054A00020002E2050726F6265205A5F4D494E5F7A -:1054B00050494E3A20002C2073746F7720616E673C -:1054C0006C653A202020002C206465706C6F792078 -:1054D000616E676C653A2000536572766F2070725A -:1054E0006F626520746573740A2E207573696E6728 -:1054F00020696E6465783A2020004D34332057616E -:1055000069742043616C6C656400436F6E74696EEE -:105510007565004D343320576169742043616C6CAC -:105520006564005761746368696E672070696E73A3 -:105530000A0064697300656E0061626C65640A004C -:10554000656E6473746F70206D6F6E69746F722016 -:105550000053544F502063616C6C65642062656336 -:1055600061757365206F6620424C546F75636820C7 -:105570006572726F72202D2072657374617274206F -:1055800077697468204D3939390A0053544F5020D7 -:1055900063616C6C65642062656361757365206F1F -:1055A0006620424C546F756368206572726F72207A -:1055B0002D20726573746172742077697468204D50 -:1055C0003939390A002F2F616374696F6E3A0062AE -:1055D0007574746F6E00656E640070726F6D7074B8 -:1055E0005F0073686F77004D3837362052657370EF -:1055F0006F6E64696E672050524F4D50545F005576 -:105600004E4B4E4F574E2053544154450047434F45 -:1056100044455F494E464F004C43445F504155530B -:10562000455F524553554D450046494C414D454E09 -:10563000545F52554E4F55545F434F4E54494E554B -:10564000450046494C414D454E545F52554E4F55CD -:1056500054004D323400436F6E74696E75650044BA -:10566000697361626C6552756E6F75740050757206 -:105670006765204D6F7265005061757365640070D9 -:10568000617573656400486F74656E6420746F6F34 -:1056900020636F6C640A0050617573650050726519 -:1056A000737320627574746F6E20286F72204D3191 -:1056B00030382920746F20726573756D650A004952 -:1056C0006E736572742066696C616D656E742061BD -:1056D0006E6420707265737320627574746F6E20CF -:1056E000286F72204D313038290A00436F6E74697B -:1056F0006E75650052656865617420446F6E650063 -:10570000526568656174696E672E2E2E0052656859 -:10571000656174696E670048656174657254696D8E -:10572000656F7574005265686561740048656174E1 -:10573000657254696D656F7574005072657373207E -:10574000627574746F6E20286F72204D3130382965 -:1057500020746F2068656174206E6F7A7A6C650AB8 -:10576000004E6F7A7A6C65205061726B65640043FD -:105770006F6E74696E7565004E6F7A7A6C65205035 -:1057800061726B656400486F74656E6420746F6F3E -:1057900020636F6C640A00726573756D65640062E6 -:1057A0006567696E00436F6E74696E756500446964 -:1057B0007361626C6552756E6F75740050757267B7 -:1057C000654D6F726500506175736564004C6F6163 -:1057D000642046696C616D656E7400436F6E746918 -:1057E0006E7565004C6F61642046696C616D656E15 -:1057F00074205400496E736572742066696C616D23 -:10580000656E7420616E64207072657373206275BA -:1058100074746F6E20286F72204D313038290A0061 -:10582000526573756D65004F46460A0046616465B2 -:10583000204865696768742000426564204C65767D -:10584000656C696E6720004661696C656420746FE1 -:1058500020656E61626C6520426564204C657665EA -:105860006C696E670A00496E76616C6964206D65CB -:1058700073682E0A0076616C69640A53746F7261F2 -:10588000676520736C6F743A2000696E004D657314 -:105890006820697320003F557365203020746F20A5 -:1058A000003F496E76616C69642073746F72616742 -:1058B0006520736C6F742E0A003F454550524F4D62 -:1058C0002073746F72616765206E6F7420617661FA -:1058D000696C61626C652E0A004D65736820706F9B -:1058E000696E742063616E6E6F74206265207265EC -:1058F000736F6C7665640A004D34323120696E63D3 -:105900006F727265637420706172616D6574657227 -:105910002075736167650A0046696E69736865641E -:10592000210A00206F662000205A00205900476F8E -:10593000696E6720746F3A20580043570A0020644C -:1059400069723A0020616E676C653A005374617247 -:1059500074207261646975733A00506F7369746979 -:105960006F6E696E67207468652070726F62652E55 -:105970002E2E0A003F4E756D626572206F66206C98 -:1059800065677320696E206D6F76656D656E742036 -:105990006E6F7420706C61757369626C652028305D -:1059A0002D3135292E0A003F2028582C5929206FE7 -:1059B0007574206F6620626F756E64732E0A003FE7 -:1059C00053616D706C652073697A65206E6F742009 -:1059D000706C61757369626C652028342D353029CF -:1059E0002E0A004D3438205A2D50726F62652052B5 -:1059F00065706561746162696C697479205465735E -:105A0000740A003F2856296572626F7365206C65C1 -:105A100076656C20697320696D706C61757369625D -:105A20006C652028302D34292E0A0050726F62696F -:105A30006E67204661696C65640A0050726F626926 -:105A40006E67204661696C656400204500205A003D -:105A5000205900204D3932205800205A002059008A -:105A6000580020204D61783A2000205A002059002B -:105A7000580020204D696E3A2000536F66742065EF -:105A80006E6473746F70733A20005761726E696E42 -:105A900067203A20436C65616E20436972636C65D0 -:105AA0002072657175697265732058590A00204922 -:105AB0006E76616C696420657874727564657220B5 -:105AC000004469666665723A200046726F6D5374D1 -:105AD000703A00537465707065723A00556E4C658B -:105AE00076656C3A004C6576656C65643A00526187 -:105AF000773A20202020000A4C6F676963616C3A76 -:105B0000004361703A0050726F6265205A204F6600 -:105B1000667365743A200050726F62652059204F99 -:105B200066667365743A200050726F626520582073 -:105B30004F66667365743A20003F59206F75742074 -:105B40006F662072616E67652028302D33303820F3 -:105B5000746F20333038290A003F58206F75742045 -:105B60006F662072616E67652028302D33313520D5 -:105B7000746F20333135290A003F5A206F75742025 -:105B80006F662072616E676520282D323020746F39 -:105B9000203230290A00220A00656E71756575652C -:105BA000696E6720220023206F662073616D706C20 -:105BB00065733A200050726F62696E6720506F699A -:105BC0006E742025692F2569002E0A0A002F000A0D -:105BD00050726F62696E67206D65736820706F69BF -:105BE0006E742000496E76616C6964206D6170206E -:105BF000747970652E0A0A003F2846296164652081 -:105C000068656967687420666F7220426564204C1D -:105C10006576656C20436F7272656374696F6E2080 -:105C20006E6F7420706C61757369626C652E0A0A00 -:105C3000003F43616E277420616374697661746507 -:105C400020616E64206465616374697661746520A7 -:105C50006174207468652073616D652074696D6579 -:105C60002E0A0A00426F7468205820262059206CA2 -:105C70006F636174696F6E73206D757374206265F4 -:105C8000207370656369666965642E0A0A003F497E -:105C90006E76616C696420677269642073697A65E5 -:105CA00020284A2920737065636966696564202825 -:105CB000322D39292E0A0A003F2850296861736560 -:105CC0002076616C756520696E76616C6964202848 -:105CD000302D36292E0A0A003F2856296572626F38 -:105CE0007365206C6576656C20697320696D706CD6 -:105CF00061757369626C652028302D34292E0A0A7B -:105D0000003F285229657065746974696F6E20635D -:105D10006F756E7420696E76616C69642028312B12 -:105D2000292E0A0A002E0A006F70656E20666169CE -:105D30006C65642C2046696C653A2000706F77654D -:105D4000726F6666004B494C4C45442E20005072E1 -:105D5000696E7465722068616C7465642E206B696D -:105D60006C6C28292063616C6C6564210A00486FA3 -:105D70006D65202573257325732046697273740041 -:105D80002046697273740A00486F6D652000000038 -:105D90000000000000000000000000004842000079 -:105DA0004842000080405761726E696E673A204831 -:105DB0006F6D696E672042756D70204469766973F6 -:105DC0006F72203C20310A000202040000A0400053 -:105DD00000A0400000004000809D4300009A430066 -:105DE00000C843FFFFFF2054002052004163636559 -:105DF0006C65726174696F6E3A2050003F4A206F83 -:105E00007574206F662072616E67652028302E30B1 -:105E10003120746F20302E33290A00546F6F6C6369 -:105E200068616E67653A0020204D32313700205A94 -:105E3000002059002058002052002050002045002A -:105E400020530050574D3A20202534640050574DC0 -:105E50003A20202534640050574D3A2020253464E0 -:105E60000050574D3A20202534640050574D3A20B9 -:105E7000202534640050574D3A20202534640050CA -:105E8000574D3A20202534640050574D3A202025A4 -:105E900034640050574D3A20202534640050574D4B -:105EA0003A20202534640050574D3A202025346490 -:105EB0000050574D3A20202534640050574D3A2069 -:105EC000202534640050574D3A202025346400507A -:105ED000574D3A20202534640050574D3A20202554 -:105EE000346400544D33442043522D582052656190 -:105EF00064792E005072696E74696E672E2E2E00C2 -:105F00005072696E74205061757365640063616ED0 -:105F100063656C005072696E742041626F727465C3 -:105F2000640055492041626F727400726573756D2B -:105F300065004D32340070012C0190012701B00141 -:105F40002201C0011D01F0011801100213013002ED -:105F50000E016002090190020401C002FF0000036B -:105F6000FA004003F5008003F000D003EB002004AA -:105F7000E6007004E100E004DC004005D700C00545 -:105F8000D2004006CD00D006C8008007C30030080C -:105F9000BE00F008B900C009B400B00AAF00B00BF1 -:105FA000AA00D00CA500000EA000500F9B00C0104E -:105FB00096005012910000148C00C0158700B01795 -:105FC0008200B0197D00D01B7800001E73004020B5 -:105FD0006E0090226900F024640040275F00902941 -:105FE0005A00E02B5500102E500020304B0010328C -:105FF0004600E033410090353C00103737007038E0 -:106000003200A0392D00B03A2800A03B2300603CAC -:106010001E00103D1900903D1400103E0F00703E10 -:106020000A00C03E0500003F0000403FFBFF803FEC -:10603000F6FFC03FF1FF626564002C207379737432 -:10604000656D2073746F707065642120486561749C -:1060500065725F49443A2000426564204865617476 -:10606000696E67204661696C6564004865617469A2 -:106070006E67206661696C6564004245442054483F -:1060800045524D414C2052554E415741590054689C -:1060900065726D616C2052756E6177617900453172 -:1060A0002048656174696E67204661696C656400AB -:1060B00048656174696E67206661696C6564004556 -:1060C0003120544845524D414C2052554E41574184 -:1060D0005900546865726D616C2052756E6177610C -:1060E0007900202D20496E76616C69642065787492 -:1060F0007275646572206E756D62657220210A008A -:1061000053544F505045442E20005072696E7465B0 -:10611000722073746F707065642064756520746F8D -:10612000206572726F72732E2046697820746865DC -:10613000206572726F7220616E6420757365204DE8 -:1061400039393920746F20726573746172742E202E -:106150002854656D7065726174757265206973206D -:1061600072657365742E20536574206974206166AE -:106170007465722072657374617274696E67290A3E -:10618000006563686F3A004572726F723A00204A88 -:106190000020204D34323120490020204732392060 -:1061A0004939390A006163746976650A00696E00CD -:1061B000002053797374656D2076312E30312000C4 -:1061C0007D01090211241FBECFEFD1E2DEBFCDBF9A -:1061D00000E00CBF18E0A0E0B2E0EAEAF2EE02E074 -:1061E0000BBF02C007900D92A63CB107D9F72FE173 -:1061F000A6ECB8E001C01D92A830B207E1F710E3A9 -:10620000C1EED0E300E006C021970109802FFE0116 -:106210000F942B6CC03ED10780E00807A9F70F94BC -:1062200094550D9443710C9400002F923F924F921D -:106230005F926F927F928F929F92AF92BF92CF9216 -:10624000DF92EF92FF920F931F93CF93DF93CDB71F -:10625000DEB7E3970FB6F894DEBF0FBECDBF8091D7 -:106260000901817091E098272091E508921781F14A -:106270009093E508811116C00E948E728091001ED5 -:1062800083FF09C089EA93E00E94CE6761E080E065 -:106290000E94DBE71DC060E081E00E94DBE782EC4A -:1062A00093E014C00091001E03FB002700F90E9438 -:1062B0001D728091001E877F8093001E002341F095 -:1062C00060E081E00E94DBE78BED93E00E94CE6707 -:1062D00080916B1A81FF11C18091F01B9091F11B8D -:1062E000891B8F70843008F008C18CE0EEE5FEE079 -:1062F000DE01119601900D928A95E1F78091770E5B -:106300009091780EA091790EB0917A0E88A799A7F6 -:10631000AAA7BBA79C01AD0160915E0E70915F0EB4 -:106320008091600E9091610E0F94336C6B017C0133 -:1063300060935E0E70935F0E8093600E9093610E7B -:1063400080917B0E90917C0EA0917D0EB0917E0E7F -:106350008CA79DA7AEA7BFA79C01AD016091620E5F -:106360007091630E8091640E9091650E0F94336C62 -:1063700068A379A38AA39BA36093620E7093630EB4 -:106380008093640E9093650E80917F0E9091800EA5 -:10639000A091810EB091820E88AB99ABAAABBBAB3A -:1063A0009C01AD016091660E7091670E8091680E40 -:1063B0009091690E0F94336C4B015C016093660EF3 -:1063C0007093670E8093680E9093690EA7019601F3 -:1063D000C701B6010F94A4652B013C0128A139A186 -:1063E0004AA15BA1CA01B9010F94A4659B01AC014C -:1063F000C301B2010F94346C2B013C01A50194013F -:10640000C501B4010F94A4659B01AC01C301B201A5 -:106410000F94346C0F94326F9B01AC0160E070E01C -:1064200080E89FE30F942E6D20913D0230913E0253 -:1064300040913F02509140020F94A4652DEC3CEC3A -:106440004CEC5DE30F94A46520E030E040E85EE3AF -:106450000F94A4652B013C0120E030E040E85FE3AD -:106460000F943E6587FFF1C3A3019201C701B601F6 -:106470000F94A46528A539A54AA55BA50F94346C93 -:1064800060935E0E70935F0E8093600E9093610E2A -:10649000A301920168A179A18AA19BA10F94A4658F -:1064A0002CA53DA54EA55FA50F94346C6093620E9C -:1064B0007093630E8093640E9093650EA301920116 -:1064C000C501B4010F94A46528A939A94AA95BA9FB -:1064D0000F94346C6093660E7093670E8093680E11 -:1064E0009093690E0E94D8C38CE0FE013196AEE510 -:1064F000BEE001900D928A95E1F78091E408811148 -:106500000C94074D8091E2089091E3089C012F5F65 -:106510003F4F3093E3082093E208883E934010F405 -:106520000C94074D81E08093E4081092E3081092E8 -:10653000E2088091C914882309F498C30E94108C42 -:10654000811194C38091E1088F5F8093E10880916D -:10655000E108853620F01092E1081092C914E0910C -:10656000C9148E2FEE0F990BAA0BBB0BFC013197B0 -:10657000E730F10508F0A0C08827EE58FF4F8F4F95 -:106580000D942B6C0E94088C882309F495C081E03F -:10659000809370028EEE93E00E94CE6780E190E0DF -:1065A0009093851C8093841C85E08093781C02E87E -:1065B00000937B1C84E190E1A0E0B0E080937C1C20 -:1065C00090937D1CA0937E1CB0937F1C0F94B038D9 -:1065D00081E09AE59093851C8093841C86E390E08B -:1065E0009093871C8093861C87E08093781C00938F -:1065F0007B1C84E890E0A0E0B0E080937C1C90934A -:106600007D1CA0937E1CB0937F1C0F94B03852C0A9 -:106610000E94088C882309F44FC048C08CEF93E097 -:106620000E94CE6781E09AE59093851C8093841C3C -:1066300080E490E09093871C8093861C07E0009391 -:10664000781C82E880937B1C84E890E0A0E0B0E0B6 -:1066500080937C1C90937D1CA0937E1CB0937F1C28 -:106660000F94B0380093C91427C08091E0088823A4 -:1066700019F10E94088C8823F9F00E94108C811176 -:106680001BC0F7C20E94088C8823B1F00E94108CB6 -:10669000811112C01CC30E94108C81110DC042E0F8 -:1066A00060E070E0CB010E94328C04C00E94108C2C -:1066B000811102C01092C91480917002882309F4DC -:1066C000ACC28091C5149091C614892B09F08FC17A -:1066D0008091DD089091DE08892B09F01EC184E0CD -:1066E00096E09093851C8093841C80EA90E89093B8 -:1066F000871C8093861C17E01093781C02E8009397 -:106700007B1C80EA90E0A0E0B0E080937C1C90933A -:106710007D1CA0937E1CB0937F1C0F94B038809199 -:10672000060290910702A0910802B0910902009719 -:10673000A105B10511F51092851C1092841C15E07D -:106740001093781C00937B1C8AE890E1A0E0B0E0F5 -:1067500080937C1C90937D1CA0937E1CB0937F1C27 -:106760000F94B03889E090E09093851C8093841C4E -:106770001093781C00937B1C40C00196A11DB11D95 -:10678000F5E0B695A79597958795FA95D1F7019776 -:10679000A109B109009731E0A307B10558F0B09302 -:1067A000851CA093841C9093871C8093861C109357 -:1067B000781C07C09093851C8093841C85E080938F -:1067C000781C12E810937B1C8AE890E1A0E0B0E00E -:1067D00080937C1C90937D1CA0937E1CB0937F1CA7 -:1067E0000F94B03888E090E09093851C8093841CCF -:1067F00085E08093781C10937B1C8CE890E1A0E0EE -:10680000B0E080937C1C90937D1CA0937E1CB09381 -:106810007F1C0F94B0388091060290910702A091DE -:106820000802B09109020097E1E0AE07B10550F00F -:10683000B093851CA093841C9093871C8093861C26 -:1068400087E005C09093851C8093841C85E080932D -:10685000781C82E880937B1C88E890E1A0E0B0E09F -:1068600080937C1C90937D1CA0937E1CB0937F1C16 -:106870000F94B0388091060290910702A09108020F -:10688000B0910902BA2FA92F982F88270097F1E01D -:10689000AF07B10550F0B093851CA093841C909372 -:1068A000871C8093861C87E005C09093851C80938D -:1068B000841C85E08093781C12E810937B1C81EA8D -:1068C00090E0A0E0B0E080937C1C90937D1CA093AE -:1068D0007E1CB0937F1C0F94B0388091671E882374 -:1068E00019F082E090E002C083E090E09093851C74 -:1068F0008093841C85E08093781C10937B1C85E436 -:1069000090E1A0E0B0E080937C1C90937D1CA0936C -:106910007E1CB0937F1C0F94B0380091DD0810915D -:10692000DE08053611057CF41093851C0093841C49 -:1069300085E08093781C82E880937B1C80E090E166 -:10694000A0E0B0E011C0C801845691099093851C65 -:106950008093841C85E08093781C82E880937B1C64 -:1069600081E090E1A0E0B0E080937C1C90937D1CDE -:10697000A0937E1CB0937F1C0F94B0380F5F1F4F05 -:106980001093DE080093DD08093C110564F18AE0EC -:1069900094E00E94CE6781E090E09093C6148093CB -:1069A000C5148093700281E09AE59093851C8093D2 -:1069B000841C8DE290E09093871C8093861C87E076 -:1069C0008093781C82E880937B1C84E890E0A0E0B0 -:1069D000B0E080937C1C90937D1CA0937E1CB093B0 -:1069E0007F1C0F94B0381092E4080C94074D8091EE -:1069F000F01B9091F11B891B8F7009F092C10E94CE -:106A0000BA9581118EC18091001E82FD8AC112C388 -:106A100084E690E09093851C8093841C1093781CEE -:106A200000937B1C8EE090E1A0E0B0E080937C1CA2 -:106A300090937D1CA0937E1CB0937F1C0F94B03864 -:106A4000C60182539048880F991F9093851C8093AC -:106A5000841C1093781C00937B1C8FE090E1A0E0D5 -:106A6000B0E080937C1C90937D1CA0937E1CB0931F -:106A70007F1C0F94B0380F944F4B90E09093851C7F -:106A80008093841C85E08093781C82E880937B1C33 -:106A900086E190E1A0E0B0E080937C1C90937D1CA7 -:106AA000A0937E1CB0937F1C0F94B03820E030E0A0 -:106AB00048EC52E46091E7147091E8148091E91475 -:106AC0009091EA140F94A4650F94A06D7093851CA7 -:106AD0006093841C15E01093781C02E800937B1CE3 -:106AE00086E290E1A0E0B0E080937C1C90937D1C56 -:106AF000A0937E1CB0937F1C0F94B03860911C0A49 -:106B000070911D0A80911E0A90911F0A0F94A06D2A -:106B10007093851C6093841C1093781C00937B1CDD -:106B200086E390E1A0E0B0E080937C1C90937D1C14 -:106B3000A0937E1CB0937F1C0F94B0386091330AF1 -:106B40007091340A8091350A9091360A0F94A06DA5 -:106B50007093851C6093841C1093781C00937B1C9D -:106B60008CE390E1A0E0B0E080937C1C90937D1CCE -:106B7000A0937E1CB0937F1C0F94B0388091200AA4 -:106B80009091210A9093851C8093841C1093781C0B -:106B900000937B1C84E390E1A0E0B0E080937C1C38 -:106BA00090937D1CA0937E1CB0937F1C0F94B038F3 -:106BB0008091370A9091380A9093851C8093841CA9 -:106BC0001093781C00937B1C8AE390E1A0E0B0E076 -:106BD00080937C1C90937D1CA0937E1CB0937F1CA3 -:106BE0000F94B0380091D90801113CC18091DB08A5 -:106BF000811138C18091E00881118BC180912C1CDA -:106C000090912D1CA0912E1CB0912F1C8C3420E152 -:106C10009207A105B10509F0A1C138ECC32E3CE1F2 -:106C2000D32E0AE18CE69AE10E946670E090CE08CD -:106C3000F090CF08181619060CF085C38AE1E81603 -:106C4000F10414F40C9403497EC38CE0FE013196E8 -:106C5000AEE5BEE001900D928A95E1F70E94D8C39F -:106C600080916B1A8D7F80936B1A47CC1092E1084C -:106C70006ECC84ED95E00E94CE678091DF0890E0B5 -:106C8000A0E0B0E0895B9F4FAE4FB54A21E03AE506 -:106C90003093851C2093841C9093871C8093861CC2 -:106CA00087E08093781C82E880937B1C84E890E0E6 -:106CB000A0E0B0E080937C1C90937D1CA0937E1C90 -:106CC000B0937F1C0F94B0381092E008F3CC81E0B1 -:106CD000809370021092C91482EE95E00E94CE67F4 -:106CE00081E09AE59093851C8093841C8EE490E06B -:106CF0009093871C8093861C87E08093781C82E8A1 -:106D000080937B1C84E890E0A0E0B0E080937C1C42 -:106D100090937D1CA0937E1CB0937F1C0F94B03881 -:106D2000CBCC8CE090E09093851C8093841C05E094 -:106D30000093781C82E880937B1C84E190E1A0E0C2 -:106D4000B0E080937C1C90937D1CA0937E1CB0933C -:106D50007F1C0F94B0380F94264820E13EE040E0BD -:106D600050E00F94946B2115310591E049075105CE -:106D700060F05093851C4093841C3093871C2093B3 -:106D8000861C87E08093781C06C03093851C209376 -:106D9000841C0093781C02E800937B1C80E190E146 -:106DA000A0E0B0E080937C1C90937D1CA0937E1C9F -:106DB000B0937F1C0F94B0380F94264820E13EE03A -:106DC00040E050E00F94946B2CE330E040E050E062 -:106DD0000F94946B3093851C2093841C15E01093C2 -:106DE000781C00937B1C82E190E1A0E0B0E08093EE -:106DF0007C1C90937D1CA0937E1CB0937F1C0F94F1 -:106E0000B0380F944F4B882391F00F944F4B8F5F06 -:106E10008093DC08C82ED12C833308F0F9CDC6014D -:106E2000880F991F9093851C8093841C04C0109236 -:106E3000851C1092841C1093781C00937B1C8EE0A0 -:106E400090E1A0E0B0E080937C1C90937D1CA09327 -:106E50007E1CB0937F1C0F94B0381092851C10924A -:106E6000841CF7CD20E030E048EC52E460911C0A2D -:106E700070911D0A80911E0A90911F0A0F94A465BB -:106E80006B017C016091200A7091210A072E000C91 -:106E9000880B990B0F9445659B01AC01C701B601A6 -:106EA0000F942E6D0F94A76D6436710510F064E693 -:106EB00070E07093851C6093841C45E0A42EA09222 -:106EC000781C52E8B52EB0927B1C84E290E1A0E0E1 -:106ED000B0E080937C1C90937D1CA0937E1CB093AB -:106EE0007F1C0F94B038C0901C0AD0901D0AE0900F -:106EF0001E0AF0901F0A20E030E040E253E4C70190 -:106F0000B6010F94946E18160CF03AC1011188C1A5 -:106F100037C18091D00801E0080F0093D00890E0BD -:106F20009093851C8093841C85E08093781C82E874 -:106F300080937B1C82E490E1A0E0B0E080937C1C15 -:106F400090937D1CA0937E1CB0937F1C0F94B0384F -:106F50000A3008F453CE1092D00850CE8A349041B3 -:106F6000A105B10509F459CE80E00E94108D20E002 -:106F700030E040E251E40F94A4650F94A06D70934B -:106F8000851C6093841C15E01093781C02E8009324 -:106F90007B1C88E490E1A0E0B0E080937C1C90939F -:106FA0007D1CA0937E1CB0937F1C0F94B03881E0B1 -:106FB0000E94108D20E030E040E251E40F94A4657F -:106FC0000F94A06D7093851C6093841C1093781CA3 -:106FD00000937B1C8AE490E1A0E0B0E080937C1CED -:106FE00090937D1CA0937E1CB0937F1C0F94B038AF -:106FF00082E00E94108D20E030E040E251E40F94E6 -:10700000A4650F94A06D7093851C6093841C1093ED -:10701000781C00937B1C8CE490E1A0E0B0E08093AE -:107020007C1C90937D1CA0937E1CB0937F1C0F94BE -:10703000B038F3CD8091330A9091340AA091350A8B -:10704000B091360A88A399A3AAA3BBA36091370A7B -:107050007091380A072E000C880B990B0F94456528 -:107060006B017C0120E030E040E050E40F94336C91 -:1070700028A139A14AA15BA10F94946E181604F1BE -:1070800040901C0A50901D0A60901E0A70901F0AC2 -:107090006091200A7091210A072E000C880B990B31 -:1070A0000F9445654B015C0120E030E040E251E483 -:1070B0000F94336CA30192010F94946E181604F58B -:1070C0008DE090E09093851C8093841C85E08093F4 -:1070D000781C82E880937B1C84E190E1A0E0B0E022 -:1070E00080937C1C90937D1CA0937E1CB0937F1C8E -:1070F0000F94B0388091C81481113FC081E03DC029 -:1071000020E030E040E050E4C701B6010F94346C59 -:1071100028A139A14AA15BA10F943E6587FD0EC04D -:1071200020E030E040E251E4C501B4010F94346C3A -:10713000A30192010F943E6587FFB8CC84E190E0F3 -:107140009093851C8093841C85E08093781C82E852 -:1071500080937B1C84E190E1A0E0B0E080937C1CF4 -:1071600090937D1CA0937E1CB0937F1C0F94B0382D -:107170008091C814811101C082E08093C81496CC1C -:107180006091200A7091210A072E000C880B990B40 -:107190000F9445659B01AC01C701B6010F94946E35 -:1071A0006091DB0887FDAEC0662309F423CD062E6F -:1071B000000C770B81E098E00F9493541092DB0859 -:1071C0001092DE081092DD0884E090E09093851C18 -:1071D0008093841C85E08093781C02E800937B1CDC -:1071E0008EE890E1A0E0B0E080937C1C90937D1C41 -:1071F000A0937E1CB0937F1C0F94B03881E09AE579 -:107200009093851C8093841C83E590E09093871C69 -:107210008093861C87E08093781C00937B1C63C05E -:107220001092D90820E030E040E251E46091D108AA -:107230007091D2088091D3089091D4080F94A465DE -:107240000F94A06D7093851C6093841CA092781C91 -:10725000B0927B1C84E590E1A0E0B0E080937C1CC0 -:1072600090937D1CA0937E1CB0937F1C0F94B0382C -:1072700020E030E040E251E46091D5087091D608FA -:107280008091D7089091D8080F94A4650F94A06DB1 -:107290007093851C6093841CA092781CB0927B1C18 -:1072A00088E590E1A0E0B0E080937C1C90937D1C89 -:1072B000A0937E1CB0937F1C0F94B03880EF95E0B4 -:1072C0000E94CE6781E09AE59093851C8093841C90 -:1072D00081E490E09093871C8093861C87E08093E4 -:1072E000781CB0927B1C84E890E0A0E0B0E0809332 -:1072F0007C1C90937D1CA0937E1CB0937F1C0F94EC -:10730000B03878CC662309F475CC8091DD08909173 -:10731000DE089C012F5F3F4F3093DE082093DD088D -:1073200065E070E00F94176C9093851C8093841C2B -:1073300085E08093781C82E880937B1C8EE890E146 -:10734000A0E0B0E0D4CF1E141F040CF04CCB909101 -:10735000291C8091C81C981322C090912A1C8091EE -:10736000C91C98131CC023E0E216F104C4F09091EC -:10737000CA1C9093281C8091CB1C80932B1C9330AB -:10738000D1F4982F9D7F9038B1F49091CC1C9F340C -:1073900009F059C09091CD1C9B3409F054C08AE18A -:1073A000E8ECFCE1DF011D928A95E9F71092CF0825 -:1073B0001092CE0818CB833809F045C08091CC1CC0 -:1073C0009091CD1C982789279827A0E0B0E0809362 -:1073D0002C1C90932D1CA0932E1CB0932F1CC0909E -:1073E000CE1CD12CE12CF12CC092301CD092311C3F -:1073F000E092321CF092331CAFECBCE140E050E074 -:10740000BA014C155D056E057F0508F04AC04A01BA -:107410005B01B694A79497948794F4013696EE0F87 -:10742000FF1FE85DF34E8C9190E0982F882711960E -:107430002C911197822B918380834E5F5F4F6F4F0A -:107440007F4F1296DECF813861F58091CC1C90E0A1 -:10745000A0E0B0E080932C1C90932D1CA0932E1CD8 -:10746000B0932F1C8091CD1C482F50E060E070E05D -:107470004093301C5093311C6093321C7093331C2A -:10748000AEECBCE1E4E3FCE190E020E030E0281762 -:10749000390739F04D9150E0419351932F5F3F4FA1 -:1074A000F6CF8AE1E8ECFCE1DF011D928A95E9F76D -:1074B0001092CF081092CE088BE194E00E94CE6724 -:1074C0006091C914161664F4062E000C770B86EF33 -:1074D00097E00F9493548AE00E94B0660C94F448AD -:1074E0006091341C7091351C84EE97E00F947554B4 -:1074F0008AE00E94B06640912C1C50912D1C609136 -:107500002E1C70912F1C85ED97E00F9464548AE037 -:107510000E94B06680912C1C90912D1CA0912E1C75 -:10752000B0912F1CEAE7F2E000E010E041915191A8 -:10753000619171914115510561057105D1F14817AE -:1075400059076A077B0791F5AC01BD0148505041CE -:1075500061097109453051056105710568F1AC019A -:10756000BD01477F423350416105710541F18433CC -:10757000F0E19F07A105B10511F1AC01BD01465431 -:107580005041610971094730510561057105D0F01D -:10759000AC01BD01445550416109710945305105A7 -:1075A0006105710588F402E110E00EC00F5F1F4F06 -:1075B000BDCF0FEF1FEF08C003E010E005C008E0EB -:1075C00010E002C00FE010E08A509042A109B1091A -:1075D000833D9105A105B10530F00F3F2FEF120754 -:1075E00021F40C94F44809E110E0FCE3CF2EF4E020 -:1075F000DF2EF60181916F01882319F00E94B06699 -:10760000F8CF6AE070E0C8010E9440670E94C86736 -:1076100089EC97E00E94CE670A31110510F00C94B6 -:10762000F048F8018827E758FF4F8F4F0D942B6CD7 -:107630008091341C9091351C81309105E1F41092B9 -:1076400070028FEF8093E21060E080E00E94DBE741 -:107650000AE414E0D8018D918D01882319F00E946D -:10766000B066F8CF81E09AE59093851C8093841CE6 -:107670008EE290E0AFC08230910509F0B7C081E0A2 -:10768000809370020F94C04B85EC97E090936C0A46 -:1076900080936B0A8BE090E09093851C8093841C10 -:1076A00005E00093781C12E810937B1C80E092E1C7 -:1076B000A0E0B0E080937C1C90937D1CA0937E1C86 -:1076C000B0937F1C0F94B0381092851C1092841CCC -:1076D0000093781C10937B1C8EE090E1A0E0B0E05A -:1076E00080937C1C90937D1CA0937E1CB0937F1C88 -:1076F0000F94B0381092851C1092841C0093781C53 -:1077000010937B1C8FE090E1A0E0B0E080937C1CA4 -:1077100090937D1CA0937E1CB0937F1C0F94B03877 -:107720001092851C1092841C0093781C10937B1C73 -:1077300086E190E1A0E0B0E080937C1C90937D1CFA -:10774000A0937E1CB0937F1C0F94B03862E070E071 -:1077500080E090E00E94248D1092851C1092841C81 -:107760000093781C10937B1C80E190E1A0E0B0E0D6 -:1077700080937C1C90937D1CA0937E1CB0937F1CF7 -:107780000F94B0381092851C1092841C0093781CC2 -:1077900010937B1C82E190E1A0E0B0E080937C1C20 -:1077A00090937D1CA0937E1CB0937F1C0F94B038E7 -:1077B00004E714E0F80181918F01882319F00E94F9 -:1077C000B066F8CF81E09AE59093851C8093841C85 -:1077D0008DE290E09093871C8093861C87E08093D5 -:1077E000781C82E880937B1C0C94394A8330910585 -:1077F00049F581E0809370020EE914E0D8018D9183 -:107800008D018823C9F00E94B066F8CF80912C1CAE -:1078100090912D1CA0912E1CB0912F1C8233F0E171 -:107820009F07A105B10509F05EC48091341C9091B9 -:10783000351C009709F029C480910502882309F4BA -:107840000EC31EC3049711F00C94F44810927002FA -:107850000C94F4488091341C9091351C8130910532 -:10786000D9F41092700280910502882319F082E009 -:1078700090E002C083E090E09093851C8093841C8C -:1078800085E08093781C82E880937B1C8EE190E1F8 -:10789000A0E0B0E00C943D4A8230910519F508EC67 -:1078A00014E0F80181918F01882319F00E94B066DD -:1078B000F8CF81E0809370028091C814843049F041 -:1078C00081E09AE59093851C8093841C85E390E089 -:1078D00081CF81E09AE59093851C8093841C86E398 -:1078E00090E078CF8330910509F04CC020910502DB -:1078F000222319F19093851C8093841C85E080934A -:10790000781C82E880937B1C8EE190E1A0E0B0E0DF -:1079100080937C1C90937D1CA0937E1CB0937F1C55 -:107920000F94B03840E060E070E088EC92E40F948F -:10793000444C109205020C94F44882E090E090933D -:10794000851C8093841C85E08093781C82E880935A -:107950007B1C8EE190E1A0E0B0E080937C1C9093D2 -:107960007D1CA0937E1CB0937F1C0F94B03840E028 -:1079700060E070E0CB010F94444C81E080930502FD -:107980000C94F448049711F00C94F4488091460A42 -:107990008823F1F082E090E09093851C8093841C12 -:1079A00085E08093781C82E880937B1C8FE190E1D6 -:1079B000A0E0B0E080937C1C90937D1CA0937E1C83 -:1079C000B0937F1C0F94B0381092460A0C94F44880 -:1079D00083E090E09093851C8093841C85E08093E5 -:1079E000781C82E880937B1C8FE190E1A0E0B0E0FE -:1079F00080937C1C90937D1CA0937E1CB0937F1C75 -:107A00000F94B03881E08093460A0C94F44860915A -:107A1000341C7091351C80E090E00F9443656B013D -:107A20007C0120E030E04AEF53E40F943E6587FF8D -:107A300011C020E030E040E251E4C701B6010F94EC -:107A4000946E18166CF0C12CD12C70E2E72E71E404 -:107A5000F72E06C0C12CD12CEAEFEE2EE3E4FE2E69 -:107A6000C701B6010F94A06D709345026093440264 -:107A70000C94F44880912C1C90912D1CA0912E1CEC -:107A8000B0912F1C8830F0E19F07A105B10509F0E6 -:107A900050C081E09AE59093851C8093841C8DE210 -:107AA00090E09093871C8093861C87E08093781CDD -:107AB00012E810937B1C84E890E0A0E0B0E0809393 -:107AC0007C1C90937D1CA0937E1CB0937F1C0F9414 -:107AD000B0381092851C1092841C05E00093781C2D -:107AE00010937B1C80E190E1A0E0B0E080937C1CCF -:107AF00090937D1CA0937E1CB0937F1C0F94B03894 -:107B00001092851C1092841C0093781C10937B1C8F -:107B100082E190E1A0E0B0E080937C1C90937D1C1A -:107B2000A0937E1CB0937F1C0F94B0380F94C04B71 -:107B30008FC08A3020E19207A105B105E1F580915F -:107B4000341C9091351C813F910511F00C94F44840 -:107B500081E09AE59093851C8093841C86E390E0F5 -:107B60009093871C8093861C87E08093781C82E822 -:107B700080937B1C84E890E0A0E0B0E080937C1CC4 -:107B800090937D1CA0937E1CB0937F1C0F94B03803 -:107B90004AE256E061E376E084E00F944E0960E04B -:107BA0008DE196E00F94814B83E196E090936C0A0F -:107BB00080936B0A4DC08C309041A105B10509F04E -:107BC00047C08091341C9091351C019709F040C04A -:107BD0000F94FA5F1092C81481E0809370028CE0D9 -:107BE00090E09093851C8093841C85E08093781CA2 -:107BF00012E810937B1C84E190E1A0E0B0E0809358 -:107C00007C1C90937D1CA0937E1CB0937F1C0F94D2 -:107C1000B03881E09AE59093851C8093841C85E3BD -:107C200090E09093871C8093861C87E08093781C5B -:107C300010937B1C84E890E0A0E0B0E080937C1C73 -:107C400090937D1CA0937E1CB0937F1C0F94B03842 -:107C500080912C1C90912D1CA0912E1CB0912F1C5A -:107C60008C309041A105B10511F00C94F44880913D -:107C7000341C9091351C029711F00C94F4480F9429 -:107C8000FA5F81E08093DB081092C8148093700241 -:107C90001092DE081092DD0881E09AE59093851C31 -:107CA0008093841C82E590E095CD2091341C309126 -:107CB000351CB90180E090E037FF09C00F9443659F -:107CC00020E030E040E857E40F94336C02C00F949A -:107CD000436520E030E048EC52E40F942E6D6B01D8 -:107CE0007C0120E030E040EA51EC0F94946E87FD77 -:107CF00031C020E030E040EA51E4C701B6010F9402 -:107D00003E6518163CF1A70196016091E714709149 -:107D1000E8148091E9149091EA140F94336C20E0F8 -:107D200030E048EC53E40F94A46590580F94A06D94 -:107D3000CB010F94A53BC092E714D092E814E092D7 -:107D4000E914F092EA1480EC97E090936C0A809327 -:107D50006B0A28C020E030E048EC52E46091E71460 -:107D60007091E8148091E9149091EA140F94A4653D -:107D70000F94A06D7093851C6093841C85E08093A4 -:107D8000781C82E880937B1C86E290E1A0E0B0E062 -:107D900080937C1C90937D1CA0937E1CB0937F1CD1 -:107DA0000F94B0386091E7147091E8148091E91451 -:107DB0009091EA148E010B5E1F4F23E041E00F9477 -:107DC00016609F938F9382EB97E09F938F9304515C -:107DD00011091F930F930F94D664C8010E94028E5D -:107DE0000F900F900F900F900F900F900C94F448FD -:107DF0008091341C9091351C009729F481E0809388 -:107E000070020C94F44881309105B1F48091050220 -:107E1000882349F081E09AE59093851C8093841C27 -:107E20008CE390E0D7CC81E09AE59093851C809319 -:107E3000841C8BE390E0CECC82309105F9F2833044 -:107E4000910539F58091050240E0882389F060E0D2 -:107E500070E088EC92E40F94444C1092050281E0AB -:107E60009AE59093851C8093841C89E390E0B2CCC2 -:107E700060E070E0CB010F94444C81E080930502F8 -:107E800081E09AE59093851C8093841C8AE390E0BE -:107E9000A1CC8530910559F540E060E070E084E3C5 -:107EA00093E40E949B8B46E060E070E08CE892E4F3 -:107EB0000E949B8B84EB90E09093851C8093841CA4 -:107EC00005E00093781C12E810937B1C84E390E19A -:107ED000A0E0B0E080937C1C90937D1CA0937E1C5E -:107EE000B0937F1C0F94B03886E490E02DC08630AC -:107EF0009105C1F540E060E070E080E793E40E9406 -:107F00009B8B46E060E070E08CED92E40E949B8BDE -:107F100080EF90E09093851C8093841C05E0009393 -:107F2000781C12E810937B1C84E390E1A0E0B0E0A1 -:107F300080937C1C90937D1CA0937E1CB0937F1C2F -:107F40000F94B0388EE690E09093851C8093841C4B -:107F50000093781C10937B1C8AE390E1A0E0B0E0D2 -:107F60000C943D4A813F910511F00C94F44840E097 -:107F700060E070E0CB010F94444C41E060E070E0C1 -:107F8000CB010F94444C1092050240E060E070E099 -:107F9000CB010E949B8B46E060E070E0CB010E9429 -:107FA0009B8B1092851C1092841C05E00093781C1A -:107FB00012E810937B1C84E390E1A0E0B0E0809392 -:107FC0007C1C90937D1CA0937E1CB0937F1C0F940F -:107FD000B03861E070E080E090E00E94248D109263 -:107FE000851C1092841C0093781C10937B1C8AE3E0 -:107FF00090E1A0E0B0E080937C1C90937D1CA09366 -:108000007E1CB0937F1C0F94B03861E070E080E07C -:1080100090E00E94248D84E190E09093851C8093F1 -:10802000841C0093781C10937B1C84E190E1A0E0F9 -:10803000B0E080937C1C90937D1CA0937E1CB09339 -:108040007F1C0F94B03881E09AE59093851C809353 -:10805000841C89E390E09093871C8093861C87E0C2 -:108060008093781C10937B1C84E890E0A0E0B0E043 -:1080700080937C1C90937D1CA0937E1CB0937F1CEE -:108080000F94B03882E00C94ED4881309105B1F442 -:1080900040E060E070E0CB010E949B8B1092851C59 -:1080A0001092841C85E08093781C82E880937B1C6E -:1080B00084E390E1A0E0B0E00C943D4A029711F017 -:1080C0000C94F44846E060E070E0CB010E949B8B8A -:1080D0001092851C1092841C85E08093781C82E8A5 -:1080E00080937B1C39CF843320E19207A105B10531 -:1080F00051F46091341C7091351C80E090E00F9435 -:10810000436540E010C08A339041A105B10511F0EC -:108110000C94F4486091341C7091351C80E090E020 -:108120000F94436546E00E949B8B0C94F448809129 -:10813000341C9091351C009709F460CE8130910574 -:1081400009F04CC08091671E882319F083E090E00D -:1081500002C082E090E09093851C8093841C85E0AF -:108160008093781C82E880937B1C85E490E1A0E0FA -:10817000B0E080937C1C90937D1CA0937E1CB093F8 -:108180007F1C0F94B0388AE090E09093851C809318 -:10819000841C85E08093781C82E880937B1C80E0BF -:1081A00092E1A0E0B0E080937C1C90937D1CA093B2 -:1081B0007E1CB0937F1C0F94B0380E94088C8111F4 -:1081C00003C082EA97E002C086E997E090936C0AC8 -:1081D00080936B0A82E08093C91472C1823091054A -:1081E00009F0A8C081E08093700288E0E1EDF8E03A -:1081F000DF011D928A95E9F780E090E0A0E2B1E40A -:108200008093D1089093D208A093D308B093D40858 -:108210008093D5089093D608A093D708B093D80838 -:1082200084E690E09093851C8093841C05E0009385 -:10823000781C12E810937B1C84E590E1A0E0B0E08C -:1082400080937C1C90937D1CA0937E1CB0937F1C1C -:108250000F94B03820E030E040E251E46091D5085E -:108260007091D6088091D7089091D8080F94A46592 -:108270000F94A06D7093851C6093841C0093781CF0 -:1082800010937B1C88E590E1A0E0B0E080937C1C1B -:1082900090937D1CA0937E1CB0937F1C0F94B038EC -:1082A00060911C0A70911D0A80911E0A90911F0A0C -:1082B0000F94A06D7093851C6093841C0093781CB0 -:1082C00010937B1C86E390E1A0E0B0E080937C1CDF -:1082D00090937D1CA0937E1CB0937F1C0F94B038AC -:1082E0008091200A9091210A9093851C8093841C90 -:1082F0000093781C10937B1C84E390E1A0E0B0E035 -:1083000080937C1C90937D1CA0937E1CB0937F1C5B -:108310000F94B03862E070E080E090E00E94248D1D -:1083200081E09AE59093851C8093841C81E490E021 -:108330000C94304A8330910509F077C01092DF0821 -:1083400080E00E94108D20E030E040E251E40F9484 -:10835000A4650F94A06D7093851C6093841C05E048 -:108360000093781C12E810937B1C88E490E1A0E055 -:10837000B0E080937C1C90937D1CA0937E1CB093F6 -:108380007F1C0F94B03881E00E94108D20E030E017 -:1083900040E251E40F94A4650F94A06D7093851C86 -:1083A0006093841C0093781C10937B1C8AE490E1FA -:1083B000A0E0B0E080937C1C90937D1CA0937E1C79 -:1083C000B0937F1C0F94B03882E00E94108D20E0A3 -:1083D00030E040E251E40F94A4650F94A06D7093D7 -:1083E000851C6093841C0093781C10937B1C8CE488 -:1083F00090E1A0E0B0E080937C1C90937D1CA09362 -:108400007E1CB0937F1C0F94B03862E070E080E077 -:1084100090E00E94248D81E09AE59093851C8093E2 -:10842000841C87E490E00C94304A8430910509F470 -:10843000DBC68530910549F44EE750E160E070E01D -:108440008FEE94E00F945F38CFC6069709F0CCC644 -:1084500082E997E090936C0A80936B0A8BE090E03E -:1084600031C28091341C9091351C019711F5109206 -:10847000700281E09AE59093851C8093841C8FE3C1 -:1084800090E09093871C8093861C87E08093781CF3 -:1084900082E880937B1C84E890E0A0E0B0E08093C9 -:1084A0007C1C90937D1CA0937E1CB0937F1C0F942A -:1084B000B0388091341C9091351C029709F094C615 -:1084C00081E09AE59093851C8093841C80E490E081 -:1084D00081C9E091341CF091351C3197EB30F105E6 -:1084E00008F0EAC18827ED56FF4F8F4F0D942B6C93 -:1084F00080916A1A80FFB2C6869580FDB2C6AEC66C -:108500002DEC3CEC4CEC5DE36091E7147091E814C9 -:108510008091E9149091EA140F94346C6B017C0102 -:1085200020E030E040EA51EC0F94946E87FDC8C122 -:1085300020E030E040EA51E4C701B6010F943E6507 -:1085400018160CF095C6BCC12DEC3CEC4CEC5DE370 -:108550006091E7147091E8148091E9149091EA1405 -:108560000F94336C6B017C0120E030E040EA51EC69 -:108570000F94946E87FDA4C120E030E040EA51E4FE -:10858000C701B6010F943E6518160CF0E8C698C1F5 -:1085900080E00F945F520E94088C811103C089E330 -:1085A00097E002C08BE297E090936C0A80936B0A8D -:1085B00082E08093C91481E09AE59093851C8093B2 -:1085C000841C84E590E09093871C8093861C87E050 -:1085D0008093781C82E880937B1C84E890E0A0E084 -:1085E000B0E080937C1C90937D1CA0937E1CB09384 -:1085F0007F1C0F94B03864C183E08093C91483E07A -:1086000090E09093851C8093841C85E08093781C77 -:1086100082E880937B1C8DE890E1A0E0B0E080933D -:108620007C1C90937D1CA0937E1CB0937F1C0F94A8 -:10863000B038E12CF12C00E0DD24D394AA24A394DB -:1086400046E0942E55E0852E62E8762EDD2031F04E -:10865000CC24C39436E0B32E10E005C0CC24CA94D9 -:10866000BB24BA9415E0DA24B11609F43FC0802F78 -:1086700090E08397CCF51530B9F1B5E0EB16A1F198 -:108680000F5FF701919EE00DF11D1124EE0FFF1F0A -:10869000EE0FFF1FEA5CF24F20E030E04AE754E4BF -:1086A00060817181828193810F94A4650F94A06D84 -:1086B0007093851C6093841C8092781C70927B1C44 -:1086C000802F90E08158974F880F991F092E000C3A -:1086D000AA0BBB0B80937C1C90937D1CA0937E1CEB -:1086E000B0937F1C0F94B0381C0DBECFEFEFEE1A85 -:1086F000FE0AF6E0EF16F10409F0A8CF81E09AE552 -:108700009093851C8093841C85E590E09093871C52 -:108710008093861C87E08093781C82E880937B1C82 -:1087200084E890E0A0E0B0E080937C1C90937D1CF6 -:10873000A0937E1CB0937F1C0F94B03883EB96E01F -:1087400090936C0A80936B0ABBC042E060E070E0DB -:1087500080E890E40E94328C40E060E070E08DE1BF -:1087600093E40E94328C41E060E070E08AE193E49F -:1087700013C042E060E070E080E890E40E94328C38 -:1087800040E060E070E080E292E40E94328C41E0E0 -:1087900060E070E080E292E40E94328C86E0809398 -:1087A000C9148EC042E060E070E080E890E40E946E -:1087B000328C40E060E070E089E893E4E6CF42E08C -:1087C00060E070E080E890E40E94328C40E060E07D -:1087D00070E089E893E40CC042E060E070E080E87B -:1087E00090E40E94328C40E060E070E080E292E42D -:1087F0000E94328C41E060E070E086E893E4CCCFE8 -:108800008091671E81111CC083E090E09093851CCD -:108810008093841C85E08093781C82E880937B1C85 -:1088200085E490E1A0E0B0E080937C1C90937D1CF7 -:10883000A0937E1CB0937F1C0F94B03881E01BC0C6 -:1088400082E090E09093851C8093841C85E0809367 -:10885000781C82E880937B1C85E490E1A0E0B0E086 -:1088600080937C1C90937D1CA0937E1CB0937F1CF6 -:108870000F94B03880E00F945F5220E030E048EC75 -:1088800052E46091E7147091E8148091E91490919A -:10889000EA140F94A4650F94A06D7093851C6093E7 -:1088A000841C85E08093781C82E880937B1C86E2A0 -:1088B00090E1A0E0B0E095CE87E996E00E94CE6717 -:1088C0008AE090E09093851C8093841C85E08093DF -:1088D000781C82E880937B1C4BC184E08093C91490 -:1088E00080912C1C90912D1CA0912E1CB0912F1CBE -:1088F0006091341C7091351C883420E19207A105E9 -:10890000B10509F453C08A3430E19307A105B105DC -:1089100009F456C08C34E0E19E07A105B10509F4C5 -:108920005AC086349041A105B10509F05EC063309C -:108930007105B9F586E896E090936C0A80936B0A0E -:1089400081E08093E008809370021092D00881E06B -:108950009AE59093851C8093841C8AE490E0909320 -:10896000871C8093861C87E08093781C12E8109304 -:108970007B1C84E890E0A0E0B0E080937C1C9093A6 -:108980007D1CA0937E1CB0937F1C0F94B0388AE0AE -:1089900090E09093851C8093841C85E08093781CE4 -:1089A000E5C06093DF081092C9141EC480E090E80F -:1089B000ADE9B3E48CA39DA3AEA3BFA3312C15C036 -:1089C00080E090E0AAE9B3E48CA39DA3AEA3BFA38B -:1089D000332433940AC080E090E0A8ECB3E48CA385 -:1089E0009DA3AEA3BFA382E0382E80E090E00F9459 -:1089F000436520E030E040E251E40F942E6D6B01BE -:108A00007C0120E030E0A9010F943E6587FF09C09A -:108A10001092CA081092CB081092CC081092CD0880 -:108A20001FC02CA13DA14EA15FA1C701B6010F94AB -:108A3000946E18164CF0C092CA08D092CB08E092FF -:108A4000CC08F092CD080CC08CA19DA1AEA1BFA115 -:108A50008093CA089093CB08A093CC08B093CD081C -:108A60006091CA087091CB088091CC089091CD0894 -:108A7000432D0E94328C61E070E080E090E00E9423 -:108A8000248D80E00E94108D20E030E040E251E42F -:108A90000F94A4650F94A06D7093851C6093841C43 -:108AA00005E00093781C12E810937B1C88E490E1A9 -:108AB000A0E0B0E080937C1C90937D1CA0937E1C72 -:108AC000B0937F1C0F94B03881E00E94108D20E09D -:108AD00030E040E251E40F94A4650F94A06D7093D0 -:108AE000851C6093841C0093781C10937B1C8AE483 -:108AF00090E1A0E0B0E080937C1C90937D1CA0935B -:108B00007E1CB0937F1C0F94B03882E00E94108DC1 -:108B100020E030E040E251E40F94A4650F94A06D92 -:108B20007093851C6093841C0093781C10937B1CAD -:108B30008CE490E1A0E0B0E080937C1C90937D1CDD -:108B4000A0937E1CB0937F1C0F94B03861E070E05E -:108B500080E090E00E94248D1092C9148AE090E099 -:108B60009093851C8093841C0093781C10937B1C2D -:108B700080E092E1A0E0B0E080C480912C1C909154 -:108B80002D1CA0912E1CB0912F1C8635E0E19E0774 -:108B9000A105B10509F041C020E030E040E253E416 -:108BA00060911C0A70911D0A80911E0A90911F0A03 -:108BB0000F943E652091341C3091351C87FF68C4AA -:108BC0002530310508F064C480EA90E09093851C5C -:108BD0008093841C85E08093781C12E810937B1CA2 -:108BE00080E290E1A0E0B0E080937C1C90937D1C3B -:108BF000A0937E1CB0937F1C0F94B03865E070E0AA -:108C000080E090E00E94248D81E09AE59093851C9D -:108C10008093841C82E490E023C48435F0E19F07B4 -:108C2000A105B105B9F46091341C7091351C80E048 -:108C300090E00F94436520E030E040E251E40F946F -:108C40002E6D6093D1087093D2088093D3089093CF -:108C5000D408CAC288359041A105B10509F0C4C243 -:108C60006091341C7091351C80E090E00F94436556 -:108C700020E030E040E251E40F942E6D6093D5087F -:108C80007093D6088093D7089093D808ADC26091AE -:108C9000341C7091351C80E796E00F9475548091D8 -:108CA000341C9091351C82309105A1F038F4009766 -:108CB00071F00197E1F488E195E094C28430910568 -:108CC00079F058F0059799F485E496E00BC082E0BE -:108CD00095E088C282E696E005C088E596E002C08D -:108CE00083E596E090936C0A80936B0A7DC28CE2D8 -:108CF00095E078C28BE395E00E94CE678091341CAA -:108D00009091351C8130910509F054C00E94268C49 -:108D1000811103C0649908C067C2813009F064C240 -:108D20008091030180FF60C289E495E00E94CE67D4 -:108D300081E00F9437088DE090E09093851C80933C -:108D4000841C85E08093781C12E810937B1C84E1DE -:108D500090E1A0E0B0E080937C1C90937D1CA093F8 -:108D60007E1CB0937F1C0F94B03883E08093C814AE -:108D700081E09AE59093851C8093841C85E390E0C4 -:108D80009093871C8093861C87E08093781C1093B7 -:108D90007B1C84E890E0A0E0B0E080937C1C909382 -:108DA0007D1CA0937E1CB0937F1C0F94B038109252 -:108DB000C6081AC2892B09F017C281E695E00E9405 -:108DC000CE678091C608813039F587E795E00E942B -:108DD000CE6781E09AE59093851C8093841C8EE297 -:108DE00090E09093871C8093861C87E08093781C8A -:108DF00082E880937B1C84E890E0A0E0B0E0809360 -:108E00007C1C90937D1CA0937E1CB0937F1C0F94C0 -:108E1000B0381092C71435C0823069F48BE895E001 -:108E20000E94CE6781E09AE59093851C8093841C14 -:108E300086E390E00EC0833031F58FE995E00E9423 -:108E4000CE6781E09AE59093851C8093841C81E431 -:108E500090E09093871C8093861C87E08093781C19 -:108E600082E880937B1C84E890E0A0E0B0E08093EF -:108E70007C1C90937D1CA0937E1CB0937F1C0F9450 -:108E8000B0381092AB1E1092C6080F94C04BACC104 -:108E90008091341C9091351C8F3F910531F028F062 -:108EA0008FEF90E0A0E0B0E002C0A0E0B0E08093DF -:108EB000060290930702A0930802B09309028091E2 -:108EC000060290910702A0910802B0910902009752 -:108ED000A105B10509F51092851C1092841C05E0CE -:108EE0000093781C12E810937B1C8AE890E1A0E0C4 -:108EF000B0E080937C1C90937D1CA0937E1CB0936B -:108F00007F1C0F94B03889E090E09093851C80938B -:108F1000841C0093781C3DC00196A11DB11D05E085 -:108F2000B695A795979587950A95D1F70197A109C9 -:108F3000B109009731E0A307B10550F0B093851C4B -:108F4000A093841C9093871C8093861C87E005C0A7 -:108F50009093851C8093841C85E08093781C12E894 -:108F600010937B1C8AE890E1A0E0B0E080937C1C29 -:108F700090937D1CA0937E1CB0937F1C0F94B038FF -:108F800088E090E09093851C8093841C85E080931A -:108F9000781C10937B1C8CE890E1A0E0B0E08093FB -:108FA0007C1C90937D1CA0937E1CB0937F1C0F941F -:108FB000B0388091060290910702A0910802B0910A -:108FC0000902BA2FA92F982F88270097E1E0AE0752 -:108FD000B10550F0B093851CA093841C9093871C1E -:108FE0008093861C87E005C09093851C8093841C29 -:108FF00085E08093781C82E880937B1C81EA90E076 -:10900000A0E0B0E03AC283EB95E00E94CE670E94F8 -:109010008F8B40912C1C50912D1C60912E1C7091B7 -:109020002F1C882339F0433DF0E25F07610571058D -:1090300009F48DC3423D50426105710509F0D4C069 -:109040008091341C9091351C019709F0D7C40E947F -:109050008F8B882309F4D2C48091E21087FDC4C0AD -:10906000A2E18A02C001112483569D4E0E943672ED -:10907000C12C90E2D92EE12CF12C05E012E81092DF -:10908000851C1092841C0093781C10937B1CC0924A -:109090007C1CD0927D1CE0927E1CF0927F1C0F9471 -:1090A000B038BFEFCB1ADB0AEB0AFB0AEAE0CE16B8 -:1090B000E0E2DE06E104F10411F70091E210F2E1D2 -:1090C0000F02800111240B5C1E4EF801019000205C -:1090D000E9F7C8018E1B9F0B439697FD01967C0113 -:1090E000F594E7941E141F040CF082C49E012F5FB8 -:1090F0003F4F690184E1D9011D928A95E9F7A701E3 -:1091000064EC75E0C9010F94FA70B801C6018E0DC8 -:109110009F1D0F94E57040E050E260E070E0C601F2 -:109120000F945F3862E070E080E090E00E94248D50 -:1091300040E060E070E08FE793E40F94444C41E03E -:1091400060E070E08FE793E40F94444C10920502C6 -:109150008DE090E09093851C8093841C85E0809343 -:10916000781C12E810937B1C84E190E1A0E0B0E051 -:1091700080937C1C90937D1CA0937E1CB0937F1CDD -:109180000F94B03862E070E080E090E00E94248D9F -:1091900081E09AE59093851C8093841C85E390E0A0 -:1091A0009093871C8093861C87E08093781C109393 -:1091B0007B1C84E890E0A0E0B0E080937C1C90935E -:1091C0007D1CA0937E1CB0937F1C0F94B03881E06F -:1091D000809370028093C71483E08093C81404C006 -:1091E0008AE396E00E94CE6780E5E8E2FCE1DF01D9 -:1091F0001D928A95E9F78AE58093291C85EA809378 -:109200002A1C0C94F3348CE69AE10E944470F70116 -:10921000E853F34E80838091C81C8A3581F01E1478 -:109220001F0414F00C941236D601E02F1D92EA951B -:10923000E9F71092CF081092CE080C94123662E033 -:1092400070E080E090E00E94248DFFEFEF1AFF0AAB -:10925000F092CF08E092CE080C94123682E897E0A4 -:1092600002C081E797E090936C0A80936B0A05CB6C -:1092700088E290E00F94A53B2DEC3CEC4CEC5DE3D8 -:109280006091E7147091E8148091E9149091EA14C8 -:109290000F94346C6B017C0120E030E040EA51EC2B -:1092A0000F94946E87FD12C020E030E040EA51E454 -:1092B000C701B6010F943E65181644F0C092E7143A -:1092C000D092E814E092E914F092EA1420E030E041 -:1092D00048EC52E46091E7147091E8148091E9142D -:1092E0009091EA140F94A4650F94A06D7093851C5F -:1092F0006093841C85E08093781C82E880937B1CBB -:1093000086E290E1A0E0B0E080937C1C90937D1C0D -:10931000A0937E1CB0937F1C0F94B0386091E7142B -:109320007091E8148091E9149091EA148E010B5E1B -:109330001F4F23E041E00F9416609F938F9383E6C5 -:1093400097E09F938F93045111091F930F930F94EC -:10935000D664C8010E94028E8EE597E076C088ED43 -:109360009FEF0F94A53B2DEC3CEC4CEC5DE3609142 -:10937000E7147091E8148091E9149091EA140F9425 -:10938000336C6B017C0120E030E040EA51EC0F943B -:10939000946E87FD12C020E030E040EA51E4C7013E -:1093A000B6010F943E65181644F0C092E714D092AF -:1093B000E814E092E914F092EA1420E030E048EC7E -:1093C00052E46091E7147091E8148091E91490914F -:1093D000EA140F94A4650F94A06D7093851C60939C -:1093E000841C85E08093781C82E880937B1C86E255 -:1093F00090E1A0E0B0E080937C1C90937D1CA09352 -:109400007E1CB0937F1C0F94B0386091E71470916C -:10941000E8148091E9149091EA148E010B5E1F4FBD -:1094200023E041E00F9416609F938F9380E597E0CF -:109430009F938F93045111091F930F930F94D66438 -:10944000C8010E94028E8BE497E090936C0A80938F -:109450006B0A0F900F900F900F900F900F9030CAE3 -:109460009093871C8093861C87E08093781C1093D0 -:109470007B1C84E890E0A0E0B0E080937C1C90939B -:109480007D1CA0937E1CB0937F1C0F94B038ACCE93 -:109490002430310589F481E00F94A45E2091D50831 -:1094A0003091D6084091D7085091D8080F94346C69 -:1094B00041E00F94785EB2C02530310508F4F3C066 -:1094C0002630310509F430C108F022C181E08093D3 -:1094D000D90840E060E070E08EE393E40E949B8B4B -:1094E00020E030E048EC52E460911C0A70911D0AC3 -:1094F00080911E0A90911F0A0F94A4656B017C0154 -:109500006091200A7091210A072E000C880B990B9C -:109510000F9445659B01AC01C701B6010F942E6DF8 -:109520000F94A76D6436710510F064E670E07093D7 -:10953000851C6093841C05E00093781C12E810934E -:109540007B1C84E290E1A0E0B0E080937C1C9093CF -:109550007D1CA0937E1CB0937F1C0F94B03860914B -:109560001C0A70911D0A80911E0A90911F0A0F9487 -:10957000A06D7093851C6093841C0093781C1093DD -:109580007B1C86E390E1A0E0B0E080937C1C90938C -:109590007D1CA0937E1CB0937F1C0F94B0388091EB -:1095A000200A9091210A9093851C8093841C00933B -:1095B000781C10937B1C84E390E1A0E0B0E08093E2 -:1095C0007C1C90937D1CA0937E1CB0937F1C0F94F9 -:1095D000B03865E070E080E090E00E94248D81E08A -:1095E0009AE59093851C8093841C84E490E090938A -:1095F000871C8093861C87E08093781C10937B1CCB -:1096000084E890E0A0E0B0E080937C1C90937D1C07 -:10961000A0937E1CB0937F1C0F94B03820E030E004 -:1096200040E251E46091D1087091D2088091D30852 -:109630009091D4080F94A4650F94A06D7093851C2D -:109640006093841C05E00093781C12E810937B1C47 -:1096500084E590E1A0E0B0E080937C1C90937D1CB9 -:10966000A0937E1CB0937F1C0F94B03820E030E0B4 -:1096700040E251E46091D5087091D6088091D708F6 -:109680009091D8080F94A4650F94A06D7093851CD9 -:109690006093841C0093781C10937B1C88E590E1F8 -:1096A000A0E0B0E0EACE2230310579F480E00F94FA -:1096B000A45E2091D1083091D2084091D3085091F6 -:1096C000D4080F94346C40E0F4CE2330310570F0B0 -:1096D00081E00F94A45E2091D5083091D608409186 -:1096E000D7085091D8080F94336CE2CE2130310561 -:1096F00009F094CF80E00F94A45E2091D1083091BE -:10970000D2084091D3085091D4080F94336CDBCF2A -:10971000213F310509F082CF1092D90861E070E055 -:1097200080E090E00E94248D81E09AE59093851C72 -:109730008093841C81E490E09093871C8093861C26 -:1097400087E08093781C82E880937B1C59CF81E16D -:1097500096E00E94CE678091E3109091E4109927E3 -:109760002091341C3091351C8217930708F43CCDAE -:109770008CEB95E00E94CE678091341C81508093E1 -:10978000E210A4ED8A2EA0E29A2EA12CB12C05E0C5 -:1097900012E81092851C1092841C0093781C109380 -:1097A0007B1C80927C1C90927D1CA0927E1CB092AF -:1097B0007F1C0F94B0382FEF821A920AA20AB20AC5 -:1097C0003EED831630E29306A104B10411F78091B7 -:1097D000E210A2E18A02C0011124FC01EB5CFE4E02 -:1097E0007F0101900020E9F7C7018E1B9F0B439674 -:1097F00097FD01968C011595079510161106FCF43E -:109800009E012F5F3F4F690184E1D9011D928A9526 -:10981000E9F7A80164EC75E0C9010F94FA70B7018B -:10982000C601800F911F0F94E57044ED50E260E097 -:1098300070E0C6010F945F3805E012E806C044ED01 -:1098400050E260E070E0C701F5CF1092851C1092E5 -:10985000841C0093781C10937B1C80927C1C90923B -:109860007D1CA0927E1CB0927F1C0F94B038BFEF7D -:109870008B1A9B0AAB0ABB0AE6EE8E16E0E29E0646 -:10988000A104B10411F78E010F5F1F4F84E1D801CD -:109890001D928A95E9F78091E4108F938091E310EF -:1098A0008F938091351C8F938091341C8F938EEC15 -:1098B00095E09F938F931F930F930F9414714EED28 -:1098C00050E260E070E0C8010F945F3862E070E041 -:1098D00080E090E00E94248D0FB6F894DEBF0FBEAA -:1098E000CDBF31E2C32E32E1D32EE12CF12C43E186 -:1098F000442E40E6542E612C712C88248394912CA4 -:10990000AA24AA94BA2C75E0272EE2E83E2E0AE09B -:1099100010E08091E3109091E4108815990594F17E -:10992000B092851CA092841C2092781C30927B1CE3 -:1099300040927C1C50927D1C60927E1C70927F1C19 -:109940000F94B0381093851C0093841C2092781CCF -:1099500030927B1CC0927C1CD0927D1CE0927E1CBD -:10996000F0927F1C0F94B038FFEF8F1A9F0A20E10E -:10997000420E511C611C711C3FEFC31AD30AE30A4B -:10998000F30AC7CF8091341C9091351C24E0880FD6 -:10999000991F2A95E1F78D5F9F49A0E0B0E020EF85 -:1099A00037E83093851C2093841C05E00093781CD5 -:1099B00012E810937B1C80937C1C90937D1CA093D9 -:1099C0007E1CB0937F1C0F94B0388091341C909112 -:1099D000351C805E9D4EA0E0B0E026E030E0309384 -:1099E000851C2093841C0093781C10937B1C45CD10 -:1099F00040E050E260E070E0C80192CB8091341CFE -:109A00009091351C892B11F40C94FE3EEDCBE3961E -:109A10000FB6F894DEBF0FBECDBFDF91CF911F917F -:109A20000F91FF90EF90DF90CF90BF90AF909F90FD -:109A30008F907F906F905F904F903F902F90089500 -:109A40002F923F924F925F926F927F928F929F924E -:109A5000AF92BF92CF92DF92EF92FF920F931F933C -:109A6000CF93DF93CDB7DEB7C154D1090FB6F894C9 -:109A7000DEBF0FBECDBF22968FAF22972091FA088E -:109A80002CAF81E08093FA0880914B1A8D3409F451 -:109A900069C4843511F40C948D5F873411F00C94F3 -:109AA0009E5F8091491A90914A1A8A31910509F472 -:109AB00031C2BCF4843091053CF4823091050CF045 -:109AC0004CC097FF3EC04AC48C30910509F41EC2B9 -:109AD0008531910511F40C94A05F049709F03EC400 -:109AE000D6C18E31910509F455C23CF48C319105F3 -:109AF00009F43CC20CF412C249C28A35910509F43A -:109B00000FC324F48A9709F480C328C48B359105C8 -:109B100009F40AC38C35910509F020C40BE8202E06 -:109B200003E0302E8AE4E82E8EE1F82E27E73EE0AF -:109B30003DA32CA393EDC92E94E1D92E00E010E0B3 -:109B400033C380912402882311F40C94A05F0F94F6 -:109B5000201D0E94D8C30C94A05F209124022223D0 -:109B600011F40C94A05F11E0029709F010E00F943B -:109B7000201D19821A821B821C821D821E821F8256 -:109B8000188682E50E94C2A3882309F438C10E9486 -:109B900042A34B015C0120E030E0A9010F943E6537 -:109BA000882309F442C18091770E9091780EA0919C -:109BB000790EB0917A0E8CA39DA3AEA3BFA3809122 -:109BC0007B0E90917C0EA0917D0EB0917E0E88A7A9 -:109BD00099A7AAA7BBA780915E0E90915F0EA09156 -:109BE000600EB091610E8CA79DA7AEA7BFA7809114 -:109BF000620E9091630EA091640EB091650E88ABD9 -:109C000099ABAAABBBAB2CA53DA54EA55FA56CA19E -:109C10007DA18EA19FA10F943E6581110DC028A941 -:109C200039A94AA95BA968A579A58AA59BA50F941E -:109C30003E65882309F4F9C020E030E0A901C501A0 -:109C4000B4010F943E65881F8827881F181729F0D4 -:109C500080E090E0A0E8BFEB04C080E090E0A0E8E6 -:109C6000BFE388AF99AFAAAFBBAF2CA13DA14EA176 -:109C70005FA16CA57DA58EA59FA50F94336C6CABE1 -:109C80007DAB8EAB9FAB28A539A54AA55BA568A97E -:109C900079A98AA99BA90F94336C6B017C012CA92B -:109CA0003DA94EA95FA9CA01B9010F94A4652B0172 -:109CB0003C01A7019601C701B6010F94A4659B0161 -:109CC000AC01C301B2010F94346C0F94326F2B01BD -:109CD0003C019B01AC0160E070E080E89FE30F94E1 -:109CE0002E6D21966CAF7DAF8EAF9FAF219720E098 -:109CF00030E040E05FE3C301B2010F94A4652B01A3 -:109D00003C01A5019401C501B4010F94A4654B0168 -:109D10005C01A3019201C301B2010F94A4659B01F0 -:109D2000AC01C501B4010F94336C0F94326F28ADB0 -:109D300039AD4AAD5BAD0F94A4654B015C01C70121 -:109D4000B601905821962CAD3DAD4EAD5FAD21973B -:109D50000F94A465A50194010F94A4656B017C0187 -:109D60002CA53DA54EA55FA56CA17DA18EA19FA1AF -:109D70000F94346C20E030E040E05FE30F94A46582 -:109D80009B01AC01C701B6010F94346C2CA13DA11D -:109D90004EA15FA10F94336C69837A838B839C837C -:109DA00028A939A94AA95BA968A579A58AA59BA56F -:109DB0000F94346C20E030E040E05FE30F94A46542 -:109DC0006B017C0121962CAD3DAD4EAD5FAD219771 -:109DD0006CA97DA98EA99FA90F94A465A5019401E2 -:109DE0000F94A4659B01AC01C701B6010F94346CBC -:109DF00028A539A54AA55BA50F94336C12C089E448 -:109E00000E94C2A3882331F00E9442A369837A830F -:109E10008B839C838AE40E94C2A3882331F00E9432 -:109E200042A36D837E838F83988720E030E0A90171 -:109E300069817A818B819C810F943E6581110BC071 -:109E400020E030E0A9016D817E818F8198850F949B -:109E50003E658823A1F0412FBE016F5F7F4F8EE5E5 -:109E60009EE00F9411270E94E7EF6093621A7093AF -:109E7000631A8093641A9093651A0C94A05F0F94F0 -:109E8000B25482E498E00F9436540C94A05F80E5BD -:109E90000E94C2A3882329F00F9426466B017C01FF -:109EA00003C0C12CD12C760183E50E94C2A3882374 -:109EB00061F00E9442A320E030E04AE754E40F94AE -:109EC000A4650F94A76D6B017C010F94D93B809121 -:109ED0006A1E811105C060E088E598E00F94814B0F -:109EE0000E94E7EFC60ED71EE81EF91E0E94E7EF9C -:109EF000DC01CB018C199D09AE09BF09B7FD02C079 -:109F00000C94A05F80E00E94F467F0CF0F940120D2 -:109F10000C94A05F0E9413DF0C94A05F41E061E00D -:109F200081E00F947C4181110C94A05F80E090E06F -:109F3000A8E4B2E489839A83AB83BC8380E090E099 -:109F4000A0E2B1E48D839E83AF83B88789879A8727 -:109F5000AB87BC8760E070E080E50F94EE1FBE0128 -:109F60006F5F7F4F0F94AE480C94A05F8091090DF6 -:109F70008770873011F00C94AB5F60E08FE40E9433 -:109F8000FEDE81110C94A05F0C94AB5F0E943AA995 -:109F90000C94A05F2091DF143091E0144091E11403 -:109FA0005091E2146091770E7091780E8091790E45 -:109FB00090917A0E0F94346CAB01BC0188E50E943D -:109FC000718E6C8F7D8F8E8F9F8F2091E3143091D7 -:109FD000E4144091E5145091E61460917B0E709169 -:109FE0007C0E80917D0E90917E0E0F94346CAB01AF -:109FF000BC0189E50E94718E69837A838B839C837F -:10A00000BE016F5F7F4FCE014C960E9400A6882351 -:10A0100011F40C94A05F80E00F945F520E9451CD28 -:10A0200061E085E40E94FEDE182F01E021E0482F68 -:10A03000BE016F5F7F4FCE014C960F942E176B01C0 -:10A040007C019B01AC010F94816F81115FC08C8CEE -:10A050009D8CAE8CBF8C20E030E0A901C501B4011D -:10A060000F943E6587FF05C027E137EB41E558EBCC -:10A0700004C027E137EB41E558E3C501B4010F9473 -:10A08000346CAB01BC018BEA98E00F948254898058 -:10A090009A80AB80BC8020E030E0A901C501B4010A -:10A0A0000F943E6587FF05C027E137EB41E558EB8C -:10A0B00004C027E137EB41E558E3C501B4010F9433 -:10A0C000346CAB01BC0186EA98E00F94825420E026 -:10A0D00030E0A901C701B6010F943E6587FF05C0B6 -:10A0E00027E137EB41E558EB04C027E137EB41E5C9 -:10A0F00058E3C701B6010F94346CAB01BC0181EA8F -:10A1000098E00F9482548AE00E94B0660E9438CD95 -:10A11000113011F40F9445160E94FACE0C94A05FF2 -:10A120001092F9080C94A05F81E08093F9080C94D8 -:10A13000A05F0E9442A32B013C01133049F0F601BD -:10A1400020813181428153810F94336C2B013C017A -:10A15000ACA1BDA12D913D914D915C91C301B20186 -:10A160000F94336C4B015C012DEB37E346E855EB64 -:10A170000F94946E87FD20C02DEB37E346E855E33E -:10A18000C501B4010F943E651816B4F01F5FB4E02A -:10A19000EB0EF11CECA1FDA13496FDA3ECA3F4E0C1 -:10A1A000CF0ED11C143039F1D1018D911D010E94C7 -:10A1B000C2A3882359F3BDCF133051F44092830ECC -:10A1C0005092840E6092850E7092860E01E0DECF72 -:10A1D000A5019401F70160817181828193810F94BF -:10A1E000346CD7016D937D938D939C931397812F3E -:10A1F0000F945C41CBCF002321F083E89EE00F94C5 -:10A200005B1B0E94FACE0C94A05F809124028823ED -:10A2100011F40C94A05F89E40E94C2A3082F882344 -:10A2200021F00E943EA3E82E01C0E12C8AE40E94A6 -:10A23000C2A3182F882321F00E943EA3F82E01C04C -:10A24000F12C002319F025E02E1528F0112349F0F8 -:10A2500035E03F1530F483EB98E00F9436540C94BE -:10A26000A05F0E94BCDD002359F08E2D0E940CA43B -:10A2700060935E0E70935F0E8093600E9093610EFC -:10A28000112359F08F2D0E94DEA36093620E70930C -:10A29000630E8093640E9093650E60E080E50E94EB -:10A2A000FEDE8823C1F10023D1F02091DF1430912C -:10A2B000E0144091E1145091E21460915E0E7091AF -:10A2C0005F0E8091600E9091610E0F94336C6093DD -:10A2D0005E0E70935F0E8093600E9093610E11235B -:10A2E000D1F02091E3143091E4144091E5145091A1 -:10A2F000E6146091620E7091630E8091640E9091ED -:10A30000650E0F94336C6093620E7093630E8093AE -:10A31000640E9093650E40E050E0BA0186E40E941E -:10A32000718E6B017C0120E030E0A9010F94946EE6 -:10A33000181684F420E030E040E752E4C701B6018B -:10A340000F942E6D60933D0270933E0280933F0206 -:10A35000909340020E94D8C30C94A05F0E94D7EB58 -:10A360000C94A05F8091491A90914A1A8637910502 -:10A3700011F40C94265A0CF027C18B34910509F482 -:10A38000D5C40CF095C08A31910509F46DC39CF5D4 -:10A390008431910509F4E2C27CF48131910509F41C -:10A3A000C9C22CF4029708F442C20C948A5F429707 -:10A3B00009F400C70C948A5F8731910509F4F8C24B -:10A3C0008CF48531910509F4EFC2469711F00C9495 -:10A3D0008A5F0E941D728091001E877F8093001EFD -:10A3E0000C94A05F8831910509F4FAC2499709F4E9 -:10A3F00030C30C948A5F8032910509F413C40CF0C9 -:10A400003FC08D31910509F4A7C394F48B319105B8 -:10A4100009F438C34C9711F00C948A5F40E060E077 -:10A420008091840C9091850C0E9479750C94A05FAA -:10A430008E31910509F497C34F9711F00C948A5F00 -:10A440000F9426486C8F7D8F8E8F9F8FBE016F5F1C -:10A450007F4FCE014C960E94019460E0CE010196A0 -:10A460000F94F94B0F94B654BE016F5F7F4F84E792 -:10A4700099E00F949F548AE00E94B0660C94A05F0C -:10A480008B32910509F43BC44CF48132910509F4F7 -:10A49000FFC38A9709F410C40C948A5F8033910536 -:10A4A00009F431C48934910509F431C40C948A5FEC -:10A4B0008936910509F417C60CF043C08235910521 -:10A4C00009F471C62CF58D34910509F437C40CF4E8 -:10A4D00031C48E34910509F435C48135910511F0EC -:10A4E0000C948A5F0E9489A00F94D6190F94D83CCF -:10A4F0000E945E641092760E1092750E1092740E89 -:10A5000068EE73E080E090E00F94CA530C94A05F73 -:10A510008535910509F47AC654F48335910509F41B -:10A5200045C68435910509F445C60C948A5F8C357F -:10A53000910509F484C68836910509F495C40C94F4 -:10A540008A5F8F36910509F443C524F58C36910551 -:10A5500011F40C94A05FA4F48A36910509F4FDC5AA -:10A560008B36910511F00C948A5F6091870E80E51F -:10A570000F94CA0E60E070E00F94BC510C94A05F81 -:10A580008D36910509F4A8C48E36910509F40FC5DE -:10A590000C948A5F8237910509F4DBC65CF480373E -:10A5A000910511F40C94A05F8137910509F455C50C -:10A5B0000C948A5F8337910509F4CEC685379105DF -:10A5C00009F433C70C948A5F8F32A1E09A0711F423 -:10A5D0000C94CE5D0CF083C08C3C910511F40C946E -:10A5E000205B8CF58C38910509F459C59CF48837AB -:10A5F000910509F468C70CF463C78937910509F41C -:10A600006AC78D37910511F00C948A5F0F94201F53 -:10A610000C94A05F883C910509F464C754F48B390D -:10A62000910509F474C58E3B910509F44AC50C9453 -:10A630008A5F893C910509F4BEC78B3C910509F4FA -:10A64000E0C70C948A5F8D3D910511F40C94535B27 -:10A6500034F5833D910511F40C94405BA4F48D3CDA -:10A66000910511F40C94235B8E3C910511F00C9430 -:10A670008A5F4BE8C42E43E0D42E5EE5E52E5AE017 -:10A68000F52E10E0EBC7893D910511F40C94435B66 -:10A690008C3D910511F40C94465B0C948A5F8232D8 -:10A6A000E1E09E0711F40C948C5C64F4823E910509 -:10A6B00011F40C94A95B8831914011F40C94F55B72 -:10A6C0000C948A5F8D3231E0930711F40C94975CFF -:10A6D0008E32914011F40C948A5D0C948A5F853F10 -:10A6E000B1E09B0711F40C947B5E0CF04EC08A39EC -:10A6F000F1E09F0711F40C94A05F14F5803931E06C -:10A70000930711F40C94D15D3CF48033914011F423 -:10A710000C94175D0C948A5F8139E1E09E0711F477 -:10A720000C94D45D8239914011F00C948A5F80E0E2 -:10A730000F948D160F9445160E94FACE0C94A05FCC -:10A74000853A21E0920711F40C94E55D7CF48C3994 -:10A75000A1E09A0711F40C94DA5D843A914011F06B -:10A760000C948A5F0F9425140C94A05F8C3AE1E05E -:10A770009E0711F40C94E85D843F914011F00C9415 -:10A780008A5F0E94F1BE0C94A05F8B3522E0920795 -:10A7900011F40C949D5E5CF5883FA1E09A0711F4DA -:10A7A0000C94815EACF4863FE1E09E0711F40C94BA -:10A7B0007E5E873F914011F00C948A5F61E083E5F3 -:10A7C0000E94FEDE91E089270E94CFF20C94A05FE8 -:10A7D0008C3022E0920711F40C94925E88359240FE -:10A7E00011F00C948A5F0F94F71D0C94A05F8438CD -:10A7F000A3E09A0711F40C94185F6CF48335E3E03E -:10A800009E0711F40C949A5E8C36934011F40C94CC -:10A81000A05F0C948A5F803A23E0920709F43CC25F -:10A82000873E934011F40C947C5F0C948A5F0091F6 -:10A83000840C1091850C80E50E94C2A3882361F0EE -:10A840000F9426466B017C01BB24B394672B682BC5 -:10A85000692B31F4B12C04C0B12CC12CD12C760160 -:10A8600083E50E94C2A3882311F40C9495610E9491 -:10A8700042A320E030E04AE754E40F94A4650F942B -:10A88000A76D6B017C01B1100BC0672B682B692B86 -:10A8900039F40115110521F0D8018C91811102C004 -:10A8A000B12C02C0BB24B3940F94D93BB11003C0A8 -:10A8B00080E296E001C0C8010E94478E1091FA081C -:10A8C00083E08093FA0881E08093AB1E44EE58E069 -:10A8D0006DEE78E082E00F94950882ED98E00E949A -:10A8E000478EC114D104E104F104B1F00E94E7EFF6 -:10A8F000C60ED71EE81EF91E0E94E7EFDC01CB0151 -:10A900008C199D09AE09BF09B7FF0EC08091AB1E1F -:10A9100081110C949A6108C08091AB1E882321F0AC -:10A9200080E00E94F467F8CF1092AB1E1093FA08F3 -:10A930000C94A05F8091451A84FF02C00C949F6123 -:10A940008091471A87FF02C00C949F618091481A3A -:10A95000837011F00C949F610C94BC6187E199E0C5 -:10A960000F94365410925F0C82E69BE10E94B8B2BD -:10A970008BE1E2E6FBE1DE01119601900D928A95F2 -:10A98000E1F740E050E0BE016F5F7F4F80E090E074 -:10A990000E94A373CE0101960E94EEB388E099E075 -:10A9A0000F9436540C94A05F0E948E720C94A05F9A -:10A9B000E091840CF091850C8081882329F080320D -:10A9C00009F410823196F8CF40E061E08091840C68 -:10A9D0009091850C0E9479751092AC1E0C94A05F2A -:10A9E0008091F10B8823E9F080E090E0A0EAB1E4E7 -:10A9F00088A399A3AAA3BBA31C8E1D8E1E8E1F8E97 -:10AA000019821A821B821C8220E0AE01405E5F4FD9 -:10AA1000BE01645E7F4FCE0101960F9455090C94E0 -:10AA2000A05F0E94BA95882321F00E942E720F9495 -:10AA3000261940E050E068E279E085E00F944E0985 -:10AA400061E08BE29FE50F94DB070F94224C0C949E -:10AA5000A05F8091001E82FF03C08B7F8093001E49 -:10AA60000F94201F0C94A05F8091001E83FD02C0F4 -:10AA70000C94A05F83E50E94C2A381110C94CB616A -:10AA80000C94A05F83E40E9479A38823D9F18CE31E -:10AA900099E00F94365480910C1B882351F1BE012C -:10AAA0006F5F7F4F89E09BE10E947FB18E010F5F56 -:10AAB0001F4FF80181918F01882319F00E94B06621 -:10AAC000F8CFBE016F5F7F4F80E090E00E9441753C -:10AAD00080919310882389F080E20E94B06603E998 -:10AAE00010E1D8018D918D01882339F00E94B06664 -:10AAF000F8CF82E399E00F9436548AE00E94B06662 -:10AB00000C94A05F83E50E94C2A3882309F10E94F0 -:10AB1000DADE182F90E0CD970CF01CE31093EA08D2 -:10AB20000E94E7EF6B017C01212F30E0A8EEB3E03B -:10AB30000F94E86BC60ED71EE81EF91EC092E608F9 -:10AB4000D092E708E092E808F092E9080C94A05F40 -:10AB50000E94F6710C94A05F8091001E8E7F8093FE -:10AB6000001E0C94A05F8091001E83FD02C00C9417 -:10AB7000A05F0E94BDEB8091001E83FD02C00C947B -:10AB8000A05F6091840C7091850CCE014C960F945F -:10AB9000BD3A8C01009711F40C94A05F6C8D7D8DF3 -:10ABA00019821C8222E0AC01CE0101960E94D1B72D -:10ABB000811102C0F12C14C0CE0101960F942B3AE2 -:10ABC0008823C1F361E0CE0101960E9463B1009732 -:10ABD00089F325EEFC0120831C820E9472B3F82EBB -:10ABE000CE0101960E94EEB3B801FF2089F086E6FF -:10ABF00099E00F949F548AE00E94B0661092FC1D69 -:10AC00001092FD1D1092FE1D1092FF1D0C94A05F6E -:10AC10008EE499E00F949F548BE499E00F9436549E -:10AC20000C94A05F8091001E82FD0F94D93B80910F -:10AC3000001E83FD02C00C94A05F60E080E50E94CE -:10AC4000FEDE182F482F61E08091840C9091850CD6 -:10AC50000E94797583E50E94C2A3882381F00E9437 -:10AC60002EA3AB01BC014093FC1D5093FD1D6093CE -:10AC7000FE1D7093FF1D89E09BE10E9479B00E9448 -:10AC80002E7211110C94A05F0F9426190C94A05FE2 -:10AC90000E94DD940C94A05F2091840C3091850C6F -:10ACA0009091001E92609093001E40E060E0C90108 -:10ACB0000E9479750C94A05F83E50E94C2A388234B -:10ACC00011F40C94A05F0E94DADEF82E6DE070E0C3 -:10ACD00080E50E94CFA38C0197FF02C00C94A05F77 -:10ACE000E82E60E089E40E94FEDE81110C94DC61B4 -:10ACF000802F0E941A64811149C50C94DC610F9465 -:10AD000085040C94A05F0F94D60E0C94A05F80E590 -:10AD10000E9479A3882311F40C94A05F8091001EF7 -:10AD200082FF02C00C94A05F0C94F5610F94261969 -:10AD30000C94A05F0F9475480C94A05F0F94D619E3 -:10AD40000C94A05F60E070E083E50E94CFA38E3496 -:10AD5000910531F40F94911A0F94224C0C94A05F3A -:10AD60008FED99E00F94365460914A0A70914B0A26 -:10AD700086ED99E00F94755460914C0A70914D0ADC -:10AD800089EC99E00F94755460914A0A70914B0ACE -:10AD900080914C0A90914D0A681B790B8091CE14DA -:10ADA000815021E030E0823010F020E030E0621B82 -:10ADB000730B8EEB99E00F9475548AE00E94B06695 -:10ADC00086EB99E00F94365480914E0A90914F0A89 -:10ADD000A091500AB091510A8C8F9D8FAE8FBF8F7A -:10ADE000BE016F5F7F4FCE014C960E940194BE0161 -:10ADF0006F5F7F4F89EA99E00F949F548091520AC8 -:10AE00009091530AA091540AB091550A8C8F9D8F4E -:10AE1000AE8FBF8FBE016F5F7F4FCE014C960E94F9 -:10AE20000194BE016F5F7F4F89E999E00F949F54B1 -:10AE300020E030E04AE754E46091560A7091570AE6 -:10AE40008091580A9091590A0F942E6DAB01BC0164 -:10AE500081E899E00F9482548DE60E94B0668AE002 -:10AE60000E94B0660C94A05F8091F00C83FF02C03A -:10AE70000C94A05F0F94CF1D182F87FF02C00C9475 -:10AE8000A05F83E50E94C2A3882311F10E9442A320 -:10AE90000F94A06D7B01212F110F330BF901EE0FE1 -:10AEA000FF1FE751F34F718360834091870E50E09D -:10AEB0002417350711F00C94A05FCB010E94C2B893 -:10AEC000F1E5EF16F10424F40F94D6190F94224CF7 -:10AED0000F94DE5E0C94A05F8091F00C83FF02C0A3 -:10AEE0000C94A05F0F94CF1D082F87FF02C00C9415 -:10AEF000A05F83E50E94C2A3F82E811107C082E5FE -:10AF00000E94C2A3182F882309F447C00E9442A3BD -:10AF10000F94A06D402F002E000C550BFA01EE0F80 -:10AF2000FF1FE751F34F718360832091870E30E05C -:10AF30004217530711F00C94A05FCB010E94C2B8D6 -:10AF40000E9442A320E030E040EA52E40F943E65C4 -:10AF5000181614F40C9400620F94D6190F94224C16 -:10AF60006091200A7091210A072E000C880B990B22 -:10AF70000F94456520911C0A30911D0A40911E0ACC -:10AF800050911F0A0F94946E181614F40C940462D6 -:10AF9000FF2011F40C94046211E00F94DE5E112383 -:10AFA00009F4CEC76F2D802F0E94A098C9C78EE4E8 -:10AFB0000E94C2A3882309F4C3C70E942EA36093F2 -:10AFC000800C7093810C8093820C9093830CB8C793 -:10AFD00083E50E9479A3882331F060E083E50F9434 -:10AFE000CA0E8093F00C0F94B65485EF99E00F943D -:10AFF00036548091F00C882369F1BBEEEB2EB9E05A -:10B00000FB2E00E010E020E08091F00C90E0A0E04A -:10B01000B0E0002E04C0B695A795979587950A9441 -:10B02000D2F780FF0EC0DD24D394D20E222319F074 -:10B030008CE20E94B066F701859194910F9436548A -:10B040002D2D0F5F1F4F32E0E30EF11C053011056F -:10B05000D9F653CD87EE99E04ECD83E50E94C2A389 -:10B06000882371F00E94DADE282F30E02D3331057D -:10B070001CF48093000264C78CE38093000260C7D5 -:10B080000F94B6544091000250E060E070E08CEF05 -:10B0900099E00F9464548AE00E94B06651C7809191 -:10B0A000F00C83FD4DC783E50E94C2A3882309F4F9 -:10B0B00047C70E9442A30F94A06DCB010E94AEDD52 -:10B0C0003FC78091F00C83FD3BC783E50E94C2A37C -:10B0D000182F81110C94096282E50E94C2A381118C -:10B0E0000C9409622DC70F94CF1D182F87FD0AC03D -:10B0F00081E29AE00F943654812F0E94AF968AE045 -:10B100000E94B0668CAD8093FA080C94366383E598 -:10B110000E94C2A3882309F413C70E94DADE182F05 -:10B1200090E0CD970CF01CE31093EF080E94E7EF3E -:10B130006B017C01212F30E0A8EEB3E00F94E86BA7 -:10B14000C60ED71EE81EF91EC092EB08D092EC087E -:10B15000E092ED08F092EE08F3C66091870E80E56C -:10B160000F94CA0E182F823008F0EAC681E40E94BC -:10B1700079A3882341F0E091870EF0E0EE58F14F7B -:10B18000608170E002C06FEF70E083E50F94EE1F06 -:10B190008F3F910519F010F08FEF90E0BC01812FE7 -:10B1A0000F94BC51CDC61092F308CAC681E08093BB -:10B1B000F308C6C683E50E94C2A3882399F00E94C3 -:10B1C00042A320E030E04AE754E40F94A4650F94D2 -:10B1D000A76D609301027093020280930302909323 -:10B1E0000402AEC68091451A84FF02C00C943E62F0 -:10B1F0008091471A87FF02C00C943E628091481AE2 -:10B20000837011F00C943E620C946F6283E50E948F -:10B2100079A3882309F494C60E9442A320E030E079 -:10B220004AE754E40F94A4650F94A76D6093F40863 -:10B230007093F5088093F6089093F70881C60F94F1 -:10B24000CF1D87FD7DC69091451A94FD04C0909155 -:10B25000471A97FF0AC0FBE8CF2EF3E0DF2EA1EAE2 -:10B26000EA2EACE0FA2E10E009C09091481A9370D3 -:10B2700091F7682F81E00F940D2462C6D6018D915D -:10B280006D010E94C2A3882309F459C0133009F04C -:10B290004FC00E9442A34B015C0120E030E040EA35 -:10B2A00051E40F943E6587FF3AC0A5019401609177 -:10B2B000C10C7091C20C8091C30C9091C40C0F947E -:10B2C0002E6D2B013C019B01AC016091D10C709162 -:10B2D000D20C8091D30C9091D40C0F94A465609300 -:10B2E000D10C7093D20C8093D30C9093D40C6091BA -:10B2F000B8147091B9148091BA149091BB140F9442 -:10B300004365A30192010F94A4650F94A76D609308 -:10B31000B8147093B9148093BA149093BB148092AC -:10B32000C10C9092C20CA092C30CB092C40C07C086 -:10B330000E9442A3F701648B758B868B978B1F5FEE -:10B34000F4E0EF0EF11C143009F098CF0F94371B86 -:10B35000F7C50F940C2BF4C588E49BE00F9436548A -:10B3600060E088E39BE00F94F22A60E083E29BE0D8 -:10B370000F94F22A61E08CE19BE00F94F22A61E0E5 -:10B3800081E19BE00F94F22A61E081E09BE00F9461 -:10B39000F22A60E088EF9AE00F94F22A61E08EEEE4 -:10B3A0009AE00F94F22A61E084EE9AE00F94F22A78 -:10B3B00061E08CED9AE00F94F22A61E08EEC9AE065 -:10B3C0000F94F22A61E080EC9AE00F94F22A60E098 -:10B3D00081EB9AE00F94F22A60E083EA9AE00F94FE -:10B3E000F22A60E08DE89AE00F94F22A61E08CE79F -:10B3F0009AE00F94F22A61E08DE69AE00F94F22A27 -:10B4000061E088E59AE00F94F22A61E085E49AE031 -:10B410000F94F22A60E088E39AE00F94F22A60E049 -:10B4200084E29AE00F94F22A8BC58091840C90916B -:10B43000850C009741F0DC012C91222321F060E083 -:10B440000F94F94B7DC50F94224C7AC50091840C62 -:10B450001091850C94E0F12C40E0915021F1F8011D -:10B460008081282F2B7F213421F421812133D9F4AD -:10B4700007C08035C1F4818180538A3048F013C001 -:10B48000813421F0853421F441E002C0FF24F3949B -:10B4900098012E5F3F4F89012F5F3F4FF801808158 -:10B4A0008032C9F3DACF41110F94B654FF2021F056 -:10B4B00080E39CE00F943654C8010E94CE6740C5DB -:10B4C0000E940BF03DC581E080935B0A80935A0A8D -:10B4D0000E9481F035C510925B0A10925A0A0E94B0 -:10B4E00081F02EC50F94CF1D182F87FD29C584E448 -:10B4F0000E9479A3882309F45BC00E9442A36B01D8 -:10B500007C0101E020E030E0A9010F943E6581114B -:10B5100001C000E00093561E20E030E0A901C70101 -:10B52000B6010F943E65882309F442C00E9442A3ED -:10B5300024E01202F0011124E15AF14E608371837C -:10B540008283938320E030E0A90160915F1E7091B7 -:10B55000601E8091611E9091621E0F943E65811164 -:10B560000CC080E090E0A0EEBFE380935F1E90935C -:10B57000601EA093611EB093621E20E030E0A9011E -:10B580006091631E7091641E8091651E9091661E8D -:10B590000F943E6581110CC080E090E0A0EEBFE307 -:10B5A0008093631E9093641EA093651EB093661EE5 -:10B5B0000F94D13DC5C40F94CF1D87FDC1C47BE856 -:10B5C000E72E73E0F72E01EA1CE0E1EBCE2EECE073 -:10B5D000DE2ED7018D917D010E9479A3882349F049 -:10B5E0000E9442A30F94A76DF80160837183828348 -:10B5F00093830C5F1F4FC016D10659F70F94C01AE2 -:10B600009FC40F94CF1D87FD9BC46BE8E62E63E0BB -:10B61000F62E01EA1CE0D7018D917D010E9479A3ED -:10B62000882339F00E9442A3F80164A375A386A37E -:10B6300097A30C5F1F4FFCE0013B1F0761F780C41D -:10B640000F94B0457DC40F9436467AC41F5FF4E072 -:10B65000EF0EF11C133011F40C940151D6018D91B1 -:10B660006D010E9479A3882389F30E9442A3F70108 -:10B670006083718382839383812F0F945C41E6CF33 -:10B680000F9458235DC40F94DA445AC483E50E9492 -:10B69000C2A3882309F454C40E943EA39093450298 -:10B6A000809344024DC40F94CF1DF82E87FD48C4EB -:10B6B00083E50E94C2A30F2D0F2C000C110B8823D1 -:10B6C00069F10E943EA3F801EE0FFF1FEF58FD4FF6 -:10B6D00091838083000F111F000F111F98012B5EB3 -:10B6E0003D4F7901BC01990F880B990B0F9445656B -:10B6F0002AE037ED43E25CE30F94A465F801E95AD0 -:10B70000F14E20813181428153810F94A465D7018C -:10B710006D937D938D939C93139712C40F94B6549D -:10B7200085E40E94B06680E38F0D0E94B066F80148 -:10B73000EE0FFF1FEF58FD4F6081718184E39CE0A5 -:10B740000F94935485E20E94B0668AE00E94B0662E -:10B75000F7C380E50E9479A3882309F4F1C360E070 -:10B7600070E080E50E94CFA3F82E6FEF7FEF83E5B6 -:10B770000E94CFA38C010196039708F0E1C3F7FC68 -:10B78000DFC38F2D0E941A64882339F00F94B254BE -:10B790008CE39CE00F943654D3C30F94D93B60E004 -:10B7A0008F2D0E9489EE0F3FBFEF1B0731F0013054 -:10B7B000110571F000E010E00DC08F2D0E9431EEF8 -:10B7C00031E020E0892B09F030E0032F122F02C076 -:10B7D00001E010E08F2D0E9431EE8017910709F4EF -:10B7E000AFC380E00E94F467F5CF80E50E9479A3A3 -:10B7F000882309F4A5C30E943EA38C01892B09F07C -:10B800007FC083E50E9479A3882389F00E943EA32C -:10B810008F3FEFEF9E0729F48AEE9BE10E94686458 -:10B820008FC3BC018AEE9BE10E94386589C30F94E7 -:10B83000B65460E070E084E69CE00F9493548091ED -:10B84000EC1B28E532E06901C81AD10887FDD394C2 -:10B85000CC0CDD1CCC0CDD1C0D2C000CEE08FF0804 -:10B860008091EB1B28E830E04901881A910887FD98 -:10B870009394880C991C880C991C092C000CAA081C -:10B88000BB088091EA1B8F3FC1F090E0FC01EE0FF6 -:10B89000FF1F8E0F9F1FFC01E358F44E2181328160 -:10B8A000B3E0220F331FBA95E1F714E036952795E0 -:10B8B0001A95E1F72E5F3F4F02C020E030E02F5F86 -:10B8C0003F4FC901330FAA0BBB0B9C01AD012819D7 -:10B8D00039094A095B09A4EBB0E00F94D56BA701C5 -:10B8E0009601281939094A095B090F94B66BB90109 -:10B8F00081E69CE00F9493548AE00E94B06620C3D6 -:10B900000F94B254B8018AE59CE00F9493548BE4F1 -:10B910009CE00F94365414C38AE50E94C2A381119F -:10B92000E1C583E50E94C2A38111DCC509C360E0C3 -:10B9300085E40F94CA0E811173C080E50E9479A33B -:10B94000882351F00E9442A36093230A7093240A33 -:10B950008093250A9093260A89E40E9479A388237C -:10B9600081F00E9442A32CEA35EC47E25EE30F949B -:10B97000A4656093270A7093280A8093290A9093FC -:10B980002A0A84E40E9479A3882381F00E9442A3BA -:10B990002CEA35EC47E25EE30F942E6D60932B0AA0 -:10B9A00070932C0A80932D0A90932E0A0F94B6540C -:10B9B0004091230A5091240A6091250A7091260A29 -:10B9C00087E99CE00F9482542CEA35EC47E25EE371 -:10B9D0006091270A7091280A8091290A90912A0A79 -:10B9E0000F942E6DAB01BC0183E99CE00F9482544F -:10B9F0002CEA35EC47E25EE360912B0A70912C0A49 -:10BA000080912D0A90912E0A0F94A465AB01BC0180 -:10BA10008FE89CE00F9482548AE00E94B06690C246 -:10BA20000F94B2548DE79CE00F94365489C280E5A0 -:10BA30000E9479A3882351F00E9442A360933A0A9E -:10BA400070933B0A80933C0A90933D0A89E40E94DC -:10BA500079A3882381F00E9442A32CEA35EC47E2C7 -:10BA60005EE30F94A46560933E0A70933F0A80934F -:10BA7000400A9093410A84E40E9479A3882381F0CC -:10BA80000E9442A32CEA35EC47E25EE30F942E6D50 -:10BA90006093420A7093430A8093440A9093450A44 -:10BAA0000F94B65440913A0A50913B0A60913C0A77 -:10BAB00070913D0A83EA9CE00F9482542CEA35ECA5 -:10BAC00047E25EE360913E0A70913F0A8091400A2E -:10BAD0009091410A0F942E6DAB01BC018FE99CE05F -:10BAE0000F9482542CEA35EC47E25EE36091420AFF -:10BAF0007091430A8091440A9091450A0F94A4657D -:10BB0000AB01BC018BE99CE00F9482548AE00E9457 -:10BB1000B06616C283E50E9479A3182F882371F0BE -:10BB20000E9442A30F94A06D709342026093410261 -:10BB300021E0672B09F020E02093EF0C80E50E94C4 -:10BB400079A3882359F02091410230914202232B9E -:10BB500011F00E94EEDE8093EF0CF2C11111F0C1E2 -:10BB60000F94B65483EC9CE00F9436548091EF0C04 -:10BB7000882319F08BEA9CE002C087EA9CE00F94CE -:10BB80003654609141027091420282EB9CE00F9426 -:10BB900093548EEA9CE00F943654D2C10E94888E52 -:10BBA000CFC10F94D93BCCC181E00F948D160E9478 -:10BBB000FACEC6C18091451A887809F0F8C4809100 -:10BBC000471A867009F0F3C422C50F945713B8C101 -:10BBD00041E061E081E00F947C418111B1C10EE848 -:10BBE0001DE527E73EE03DA32CA3CE0101964C01C5 -:10BBF00063EEA62E6DE5B62E1C01F80165917591D8 -:10BC000085919491ACA1BDA1CD90DD90ED90FD907A -:10BC1000BDA3ACA3A70196010F94336C2B013C018B -:10BC2000F101608371838283938320E030E040EAF6 -:10BC300051EC0F94946E87FD0AC020E030E040EA9A -:10BC400051E4C301B2010F943E6518162CF4F501BE -:10BC5000849118160CF4FFC4D101CD90DD90ED90C5 -:10BC6000FD901D0120E030E040EA51ECC701B60133 -:10BC70000F94946E87FD0AC020E030E040EA51E462 -:10BC8000C701B6010F943E65181664F40F94B254C0 -:10BC90008CE29DE00F94365461E08EE19DE00F94BC -:10BCA000814B4EC10C5F1F4FBFEFAB1ABB0AEDE5D6 -:10BCB0000A391E0709F0A1CF5EE5E52E5AE0F52E00 -:10BCC00010E0F40181919191A191B1914F01F7019F -:10BCD00081939193A193B1937F01812F0F945C4144 -:10BCE0001F5F133071F70E94FACE60E08EE09DE096 -:10BCF0000F94814B25C10E940CF622C10E949BF03B -:10BD00001FC181E0809306140E94D3B810920614DC -:10BD1000882309F415C10F94B6548AE49DE00F946A -:10BD200036540EC18091001E82FF0AC1806280934A -:10BD3000001E06C10F94ED2403C10F94CF1D082FE0 -:10BD400087FDFEC085E50E9479A38823B1F1E02E2E -:10BD5000002E000CFF080E9442A34B015C0120E072 -:10BD600030E0A9010F94946E87FF04C0B7FAB09435 -:10BD7000B7F8B094C70143E0880F991F4A95E1F7DF -:10BD80009C01255F3B4E7901D9018D929D92AD9228 -:10BD9000BC92139720E030E04AEF53E4C501B401B0 -:10BDA0000F94946E18164CF480E090E0AAEFB3E480 -:10BDB000F70180839183A283B3838CE40E9479A3EB -:10BDC000882309F4BDC0002E000C110B0E9442A371 -:10BDD0006B017C0120E030E0A9010F94946E87FF95 -:10BDE00004C0F7FAF094F7F8F09433E0000F111F55 -:10BDF0003A95E1F7055F1B4ED8011496CD92DD927E -:10BE0000ED92FC92179720E030E04AEF53E4C7012F -:10BE1000B6010F94946E18160CF092C080E090E07A -:10BE2000AAEFB3E4F80184839583A683B78388C01F -:10BE30006091870E70E084E50E94CFA38C01823070 -:10BE400028F08EE79DE00F9436547AC08BE40E9470 -:10BE5000C2A3882349F10E9442A36B017C0120E028 -:10BE600030E0A9010F94946E87FD19C020E030E006 -:10BE700040E251E4C701B6010F943E6518167CF00C -:10BE80000F94D93BF801FF27EE0FFF1FEE0FFF1FA6 -:10BE9000EC59F34FC082D182E282F38251C08FE528 -:10BEA0009DE00F9436544CC00F94B65485E59DE048 -:10BEB0000F94365494E6E92E9CE0F92E00E010E051 -:10BEC00080E20E94B0666AE070E0C8010E944067AC -:10BED0008DE30E94B066D7016D917D918D919D910A -:10BEE0007D0142E00E9450670F5F1F4F0230110535 -:10BEF00011F40C947D55E4CF81E0809324021092DC -:10BF0000AA1E60E083E50E94FEDE811119C00E9436 -:10BF10001D9616C00E94D7EB13C01091491A80914C -:10BF2000870E181729F060E083E50E94FEDE01C04D -:10BF300081E0682F812F0E941F9A02C00E94D7EBD8 -:10BF40002296BFAD2297B11102C00E94C895ECADF8 -:10BF5000E093FA088BC30F94D93BF091671EFCABBA -:10BF600080E00F945F520E9451CD81E080935B0A84 -:10BF70000E9481F088E50E9479A3182F89E50E942C -:10BF800079A3082F8AE50E9479A31013C0C118175E -:10BF900011F0012FBCC101E011E091E09CA70E94CB -:10BFA000BCDD82E50E94C2A3882361F00E9442A307 -:10BFB0006B017C0120E030E0A9010F943E658823ED -:10BFC00069F106C0C12CD12C20E8E22E20E4F22E2B -:10BFD000111103C0002309F4FCC0C092660ED09278 -:10BFE000670EE092680EF092690EA70196016091CB -:10BFF0007F0E7091800E8091810E9091820E0F9431 -:10C000003E6587FF0BC019821A821B821C82BE010B -:10C010006F5F7F4F86E69EE00E944FCE112309F4AA -:10C02000D3C0002309F4CDC010927B0E10927C0E79 -:10C0300010927D0E10927E0E1092770E1092780E56 -:10C040001092790E10927A0E0E94F8CEE3EEFDE582 -:10C05000A491A8AFE7EDFDE5C590D590E590F490EB -:10C06000EBEDFDE585909590A590B490A501940128 -:10C07000C701B6010F94946E18162CF4A70196010F -:10C08000C501B40104C0A5019401C701B6010F9414 -:10C090002E6D2B013C01EEE9FDE585919591A59171 -:10C0A000B4918CA39DA3AEA3BFA3EAE9FDE585915E -:10C0B0009591A591B49188A799A7AAA7BBA79C0120 -:10C0C000AD016CA17DA18EA19FA10F94946E181655 -:10C0D00034F428A439A49AA598AB1BA505C02CA0BC -:10C0E0003DA0AEA1A8AB1FA1A3019201C301B20163 -:10C0F0000F94A46520E030E040E85FE30F94346CD7 -:10C100000F94326F910148A9512F0F94A46568A331 -:10C1100079A38AA39BA3E4EEFDE5149120E030E02F -:10C1200040EC5FE3C501B4010F94A4654B015C01D1 -:10C13000612F110F770B880B990B0F9445659B01AD -:10C14000AC01C501B4010F94A46569837A838B8324 -:10C150009C8320E030E040EC5FE3C701B6010F9420 -:10C16000A4656B017C01B8AD6B2FBB0F770B880BFF -:10C17000990B0F9445659B01AC01C701B6010F9463 -:10C18000A4656C8F7D8F8E8F9F8FAE01405E5F4F59 -:10C19000BE016F5F7F4FCE014C960E942DCE0E9454 -:10C1A00090F010927B0E10927C0E10927D0E1092E9 -:10C1B0007E0E1092770E1092780E1092790E1092D9 -:10C1C0007A0E80E00F942940002319F081E00F944B -:10C1D0002940ECA5EE2309F48CC080E00F94FC0C00 -:10C1E00080916A1A8370833051F060E083E998E0AF -:10C1F0000F94814B0F94B65484E898E093C00E944A -:10C20000F8CE80917F0E9091800EA091810EB0911A -:10C21000820E8093660E9093670EA093680EB09383 -:10C22000690E2091DF143091E0144091E114509197 -:10C23000E21460E070E088E492E40F94336C6B01E8 -:10C240007C0160935E0E70935F0E8093600E9093FE -:10C25000610E2091E3143091E4144091E514509163 -:10C26000E61460E070E08CE892E40F94336C4B01CC -:10C270005C016093620E7093630E8093640E9093E2 -:10C28000650E27E137EB41ED58EB0F94946E87FD77 -:10C2900040C023E030E04AE953E4C501B4010F9403 -:10C2A0003E651816B4F127E137EB41ED58EBC701B5 -:10C2B000B6010F94946E87FD2CC023E030E84DE961 -:10C2C00053E4C701B6010F943E65181614F11982A4 -:10C2D0001A821B821C82AE014F5F5F4F62E67EE0D6 -:10C2E0008EE59EE00E942DCE82E00F9429400F94AF -:10C2F00045160E94F8CE80915A0A80935B0A8CA959 -:10C300000F945F520E9438CD0E94FACE19CE8CA7AE -:10C3100046CE60E083E798E00F94814B0F94B654CB -:10C3200081E698E00F943654E2CFB1100C9450544B -:10C330000C94495480E00E94F4670C947C5488E586 -:10C340000E9479A381115F9889E50E9479A38111E8 -:10C350008A988AE50E9479A3882329F080910801B0 -:10C3600081708093060185E40E9479A3882309F4F3 -:10C37000E7CD12984798E4CD60E08FEF98E00F94F6 -:10C38000814B5F988A9880910801817080930601A3 -:10C3900012984798D5CD0E942EA3AB01BC014093C3 -:10C3A000FC1D5093FD1D6093FE1D7093FF1D89E0E1 -:10C3B0009BE10E9479B0C4CD61E0802F0E9489EE9C -:10C3C0006F2D802F0E945AEE6F2D70E0802F0E94FB -:10C3D000C5EE27E0E21203C0F092730EB1CD39E052 -:10C3E000E312AECDF092720EABCD0E94DADE90E099 -:10C3F0008536910514F084E690E08093AC1EA0CDC4 -:10C400000F9426190C94B057802F0E9491960C948B -:10C41000CC570E9442A30F94A06DCB010E94AEDDC9 -:10C420000E9442A320E030E040EA50E40F94946E72 -:10C43000181614F40F9426196091370A7091380A6F -:10C44000072E000C880B990B0F9445652091330A39 -:10C450003091340A4091350A5091360A0F94946E07 -:10C4600018161CF482E19AE002C083E09AE060E0D2 -:10C470000F94814B812F0E94219762CD0F94D93B5D -:10C4800088E50E9479A3882331F05F9A80916A1A27 -:10C490008E7F80936A1A89E50E9479A3882331F000 -:10C4A0008A9A80916A1A8D7F80936A1A8AE50E941F -:10C4B00079A3882359F08091080180958170809339 -:10C4C000060180916A1A8B7F80936A1A85E40E9424 -:10C4D00079A3882309F434CD0E94176431CD0F94D9 -:10C4E000D83C2ECD0E9442A320E030E040E050EC4A -:10C4F0000F943E6587FD15C00E9442A320E030E006 -:10C5000040E050E40F94946E18162CF00E9442A361 -:10C510006B017C010BC0C12CD12CE12CE0E4FE2E80 -:10C5200005C0C12CD12CE12C70ECF72E2091BD0C54 -:10C530003091BE0C4091BF0C5091C00CC701B601A8 -:10C540000F94A4650F94A06DCB010F94A53B80E5DB -:10C550000E9479A3882329F00E94EEDE882309F443 -:10C56000EFCCA70196016091E7147091E8148091D7 -:10C57000E9149091EA140F94346C6093E71470936B -:10C58000E8148093E9149093EA140F94B654409100 -:10C59000E7145091E8146091E9147091EA148CE664 -:10C5A0009CE00F9482548AE00E94B066C9CC88E473 -:10C5B0000E9479A3882321F00E94EEDE8093F80880 -:10C5C00082E50E9479A3082F83E50E9479A3182FA2 -:10C5D000011102C0882351F01092160A0E943F6494 -:10C5E000112321F00E94EEDE8093520284E40E9427 -:10C5F00079A3882309F4A4CC0E9442A360934E023D -:10C6000070934F02809350029093510299CC0F94F3 -:10C61000B6548DEF9CE00F943654809152028111F4 -:10C6200017C086ED9CE00F9436548AE00E94B066F5 -:10C6300040914E0250914F02609150027091510210 -:10C640008DED9CE00F9482548AE00E94B06678CC15 -:10C650008AED9CE0E8CFF7FAF094F7F8F094D10176 -:10C66000CD92DD92ED92FC921397F6CACF5BDF4F2D -:10C670000FB6F894DEBF0FBECDBFDF91CF911F91F3 -:10C680000F91FF90EF90DF90CF90BF90AF909F9071 -:10C690008F907F906F905F904F903F902F90089574 -:10C6A000CF92DF92EF92FF920F931F93CF93DF937E -:10C6B0006C018B017A01EC01C85FD64F888187FF3E -:10C6C00004C0FB011182108224C02CE02C9DC0010B -:10C6D0002D9D900D11242881AC01420F511D27FD85 -:10C6E0005A952091E91B30E04217530794F42881B2 -:10C6F000AC01420F511D27FD5A959A01FA01EE0F28 -:10C70000FF1F2E0F3F1FF901E358F44E208127FD34 -:10C7100019C088818F5F88832CE02C9DC0012D9DDE -:10C72000900D11242881AC01420F511D27FD5A950F -:10C730002091E91B30E042175307BCF428812C30CC -:10C7400044F113C02881820F911D27FD9A95FC01A9 -:10C75000EE0FFF1F8E0F9F1FFC01E358F44E8081E8 -:10C7600060E08F770E945AEED4CFF80180819181EA -:10C77000049680349C4918F480E49CE904C0F801D4 -:10C78000808191810496F701918380838FEF888364 -:10C7900045C0F801408151812881BC01620F711DA3 -:10C7A00027FD7A959B01FB01EE0FFF1F2E0F3F1F08 -:10C7B000F901E358F44E21813281240F351FF7012E -:10C7C000318320832881AC01420F511D27FD5A95EA -:10C7D0009A01FA01EE0FFF1F2E0F3F1FF901E358D8 -:10C7E000F44E208127FF1AC02881820F911D27FD5A -:10C7F0009A95FC01EE0FFF1F8E0F9F1FFC01E3585F -:10C80000F44E808161E08F77DF91CF911F910F917E -:10C81000FF90EF90DF90CF900C945AEEDF91CF9184 -:10C820001F910F91FF90EF90DF90CF900895129A93 -:10C83000479A0895FF920F931F93CF93DF931F9210 -:10C84000CDB7DEB7F82E0BE61FE241E050E0B801AD -:10C85000CE0101960F94786489818F1102C081E026 -:10C8600007C00F5F1F4F8FE20738180771F780E08E -:10C870000F90DF91CF911F910F91FF9008958091BC -:10C880004E0290914F02A0915002B0915102ECE201 -:10C89000F4E180839183A283B38384839583A68309 -:10C8A000B783089580910B09811107C00E940CF68F -:10C8B000882319F081E080930B09089560E070E00F -:10C8C00080E00F94BC5160E070E081E00D94BC51B9 -:10C8D000DC01EC91F0E0CF01880F991FE80FF91F00 -:10C8E000E358F44E80818F77808308958F929F92D2 -:10C8F000AF92BF92CF92DF92EF92FF920F93CF93BE -:10C90000DF931F92CDB7DEB75C016B017A0149015D -:10C91000F501808191810F946E6B8983002311F062 -:10C92000F6018083BE016F5F7F4FC4010F944738CB -:10C93000F50180819181019691838083FFEFCF1A69 -:10C94000DF0A81E0E81AF10819F780E00F90DF9123 -:10C95000CF910F91FF90EF90DF90CF90BF90AF906D -:10C960009F908F9008957F928F929F92AF92BF92E7 -:10C97000CF92DF92EF92FF920F931F93CF93DF93AB -:10C980001F92CDB7DEB77C0159018B016B01C40E3C -:10C99000D51E0C151D0559F1F70180809180F80115 -:10C9A00071908F017982C4010F946E6B781691F0AB -:10C9B000672DC4010F94766BC4010F946E6B99813F -:10C9C000891741F00F94B65481E59FE20F943654D5 -:10C9D00081E00EC0BE016F5F7F4FC5010F944738E5 -:10C9E000F70180819181019691838083D2CF80E08D -:10C9F0000F90DF91CF911F910F91FF90EF90DF90FB -:10CA0000CF90BF90AF909F908F907F9008950097A8 -:10CA100081F41092900082E0809391001092950032 -:10CA200010929400C19A809171008260809371008D -:10CA300008958130910569F41092A00082E08093FE -:10CA4000A1001092A5001092A40089BB80937200EF -:10CA50000895029761F41092200182E080932101F1 -:10CA600010922501109224018ABB809373000895CF -:10CA70007F928F929F92AF92BF92CF92DF92EF926E -:10CA8000FF920F931F93CF93DF93FC019081943219 -:10CA900008F0CEC06B017F01892F90E0FC01EE0F02 -:10CAA000FF1F8E0F9F1FFC01E358F44E808161E051 -:10CAB0008F770E9489EEF7011182128280816CE0EB -:10CAC0000F94F76BFCE08F9FB001112440E050E021 -:10CAD0009B01240F351FF901EE0FFF1F2E0F3F1F83 -:10CAE000F901E358F44E908197FD08C04F5F5F4F06 -:10CAF0004C30510569F790E00E940765F70170809E -:10CB0000C72DD0E08E01000F111FF801EC0FFD1FA3 -:10CB1000E358F44E80818068808377FC89C0F0E21E -:10CB2000CF16F2E0DF060CF041C0F701828128E564 -:10CB300032E0281B310987FD3395220F331F220F66 -:10CB4000331F032E000C440B550B818168E870E005 -:10CB50004B01881A910887FD9394880C991C880CC6 -:10CB6000991C092C000CAA08BB08D7FC0BC0B60105 -:10CB7000653B710514F064EB70E0072E000C880B28 -:10CB8000990B03C060E070E0CB01281939094A090C -:10CB90005B090F94846B24EB30E040E050E00F948D -:10CBA000B66B820E931EA41EB51E01C04601F3E2B1 -:10CBB000F71558F1F701218188E890E0821B91096F -:10CBC00027FD9395880F991F880F991F881699063E -:10CBD00084F0F701228188E592E0821B910927FD0C -:10CBE0009395880F991F880F991F881699060CF442 -:10CBF000C40102972FB7F894C00FD11FC358D44E69 -:10CC0000880F991F9A8389832FBF62E370E080E0C9 -:10CC100090E0DF91CF911F910F91FF90EF90DF9007 -:10CC2000CF90BF90AF909F908F907F900D94CA53FC -:10CC3000DF91CF911F910F91FF90EF90DF90CF90F8 -:10CC4000BF90AF909F908F907F9008951F920F920A -:10CC50000FB60F9211240BB60F922F933F934F9361 -:10CC60005F936F937F938F939F93AF93BF93EF9354 -:10CC7000FF9348E251E064E271E082E090E00E94BC -:10CC80005063FF91EF91BF91AF919F918F917F91F1 -:10CC90006F915F914F913F912F910F900BBE0F902D -:10CCA0000FBE0F901F9018951F920F920FB60F9204 -:10CCB00011240BB60F922F933F934F935F936F9373 -:10CCC0007F938F939F93AF93BF93EF93FF9348EA24 -:10CCD00050E064EA70E081E090E00E945063FF91D0 -:10CCE000EF91BF91AF919F918F917F916F915F91E4 -:10CCF0004F913F912F910F900BBE0F900FBE0F9051 -:10CD00001F9018951F920F920FB60F9211240BB619 -:10CD10000F922F933F934F935F936F937F938F93D4 -:10CD20009F93AF93BF93EF93FF9348E950E064E97B -:10CD300070E080E090E00E945063FF91EF91BF911E -:10CD4000AF919F918F917F916F915F914F913F91A3 -:10CD50002F910F900BBE0F900FBE0F901F90189544 -:10CD60009091C00095FFFCCF8093C60008958F92EC -:10CD70009F92AF92BF92EF92FF920F931F93CF9328 -:10CD8000DF93CDB7DEB7A0970FB6F894DEBF0FBE26 -:10CD9000CDBF611571058105910591F100E0842EEB -:10CDA000912CA12CB12C102FEE24E394F12CEC0E3D -:10CDB000FD1EE00EF11C07FDFA94A50194010F94ED -:10CDC000946BF7016083B901CA010F5F61157105AA -:10CDD0008105910541F71F3F31F1E1E0F0E0EC0FF3 -:10CDE000FD1FE10FF11D17FDFA9580818A3010F0CB -:10CDF00097E301C090E3890F0E94B0661150EBCF1A -:10CE000080E3A0960FB6F894DEBF0FBECDBFDF91D2 -:10CE1000CF911F910F91FF90EF90BF90AF909F9097 -:10CE20008F900C94B066A0960FB6F894DEBF0FBE3C -:10CE3000CDBFDF91CF911F910F91FF90EF90BF90E9 -:10CE4000AF909F908F900895CF92DF92EF92FF92D4 -:10CE50006B017C0197FF0BC08DE20E94B066F094DD -:10CE6000E094D094C094C11CD11CE11CF11C4AE098 -:10CE7000C701B601FF90EF90DF90CF900C94B7669A -:10CE8000AB01672B11F40C94B066BC01990F880BB1 -:10CE9000990B4A30510511F40C9424670C94B76631 -:10CEA0008F929F92AF92BF92CF92DF92EF92FF92BA -:10CEB000CF936B017C01B42E20E030E0A9010F94E8 -:10CEC0003E6587FF07C08DE20E94B066F7FAF094D6 -:10CED000F7F8F094C0E060E070E080E09FE3CB15ED -:10CEE00041F02DEC3CEC4CEC5DE30F94A465CF5F7E -:10CEF000F6CF9B01AC01C701B6010F94346C6B01F6 -:10CF00007C010F94A76D4B015C014AE00E94B7665B -:10CF1000CC2391F1C501B4010F9443659B01AC0191 -:10CF2000C701B6010F94336C6B017C018EE20E9445 -:10CF3000B06620E030E040E251E4C701B6010F9452 -:10CF4000A4654B015C010F94A06D6B017C016AE04C -:10CF500070E0C6010E944067B601DD0C880B990B9A -:10CF60000F9445659B01AC01C501B4010F94336C6E -:10CF70006B017C01C150E9F6CF91FF90EF90DF90FB -:10CF8000CF90BF90AF909F908F9008950C94506772 -:10CF90008DE00E94B0668AE00C94B066CF93DF9378 -:10CFA000EC018991882319F00E94B066FACFDF91D5 -:10CFB000CF910C94C867E0E1F9E080818183089506 -:10CFC0008091100990911109981759F0E92FF0E01C -:10CFD000E05FF64F82819F5F9F779093110990E009 -:10CFE00008958FEF9FEF08952F923F924F925F9297 -:10CFF0006F927F928F929F92AF92BF92CF92DF9269 -:10D00000EF92FF920F931F93CF93DF93CDB7DEB7CD -:10D0100028970FB6F894DEBF0FBECDBFE82E0E9452 -:10D0200015310E94E7EF4B015C018091190D8111D0 -:10D030002FC080910002882359F18091FA0888233B -:10D0400039F140910C0950910D0960910E097091D0 -:10D050000F0995018401041B150B260B370B37FDB7 -:10D060002AC0833079F03CF4813094F00F94B654A8 -:10D0700086EB9FE20BC0843059F40F94B65487E8D6 -:10D080009FE204C00F94B6548FE99FE20F94365488 -:10D090002091000230E0A8EEB3E00F94E86B860E1A -:10D0A000971EA81EB91E80920C0990920D09A0929D -:10D0B0000E09B0920F0980915202882309F44FC0E3 -:10D0C0008091160A81114BC08091001E82FD09C01B -:10D0D0008091CE14813029F08091F10B882309F4DE -:10D0E0003EC0F8948091870E4CB14295417090916A -:10D0F0000301292F217090FD22E0422B93E0492764 -:10D1000050E060E070E0082E04C076956795579572 -:10D1100047950A94D2F714E0819FC001112440FD85 -:10D120000FC040914E0250914F0260915002709199 -:10D130005102FC01E45DFB4E4083518362837383A3 -:10D14000FC01E45DFB4E6081718182819381789462 -:10D1500020E030E0A9010F943E6587FD9DC58091D8 -:10D16000EE0B843008F07EC20E94E7EF4B015C01B9 -:10D170008091EE0B81111DC08091100990911109D1 -:10D18000891B8F77B1F48091F7099091F809A091EC -:10D19000F909B091FA09A5019401281B390B4A0B32 -:10D1A0005B0BDA01C901885E9340A109B109B7FFA1 -:10D1B000E6C570E6F72E8091EE0B843008F035C19D -:10D1C0008091100990911109891B8F7709F42DC165 -:10D1D0000E94E067AC0197FDEECF20917E0C30916C -:10D1E0007F0C8A3019F08D3009F0ECC01092F609EE -:10D1F0002115310519F40F94B54DDDCFF901EA562B -:10D20000F64F108210927F0C10927E0C06E919E006 -:10D21000F8018191803211F48F01FACF8E3409F038 -:10D220007AC00115110509F476C068E371E3C801FD -:10D230000F94BC646C01892B41F06EE470E0C8016E -:10D2400004960F94DA70009709F4C8014AE050E0A0 -:10D2500060E070E001960F943462609392097093DD -:10D26000930980939409909395094090800C509075 -:10D27000810C6090820C7090830C3FEF431A530A2C -:10D28000630A730A641575058605970531F0CD2884 -:10D2900021F460E085E091E351C06AE270E0C801EA -:10D2A0000F9409719C01009709F1982F901BD12CC4 -:10D2B000992339F09150F801E90FF11D8081D826AA -:10D2C000F7CF4AE050E060E070E0C90101960F94AA -:10D2D00034624D2C512C612C712C6415750586051A -:10D2E000970541F060E086EE90E328C060E08CEBAB -:10D2F00090E324C08091920990919309A0919409A0 -:10D30000B09195098093800C9093810CA093820C2E -:10D31000B093830C16C08091001E80FF12C064EB96 -:10D3200072E3C8010F94BC64009729F0FC0183816B -:10D3300080538A3030F460E082E990E30E943796AF -:10D3400074C08091240281111CC067E470E0C801A0 -:10D350000F94DA700097A9F04AE050E060E070E0C6 -:10D3600001960F943462643071058105910548F48B -:10D370008BE190E30F94365460E081E190E30F94E9 -:10D38000814B8092F7099092F809A092F909B09226 -:10D39000FA09809196098B3309F40DCF8091EE0B39 -:10D3A000843008F008CF80916A0AF89EC0011124E9 -:10D3B00066E979E08359954F0F94E57081E00F9409 -:10D3C0004B24F9CE2F3531050CF0F5CE8C35C1F458 -:10D3D0000E94E06797FDEFCE2091F6092111EBCE78 -:10D3E00020917E0C30917F0CA9014F5F5F4F5093CD -:10D3F0007F0C40937E0CF901EA56F64F8083DBCE1A -:10D400008B3321F481E08093F609D5CE8091F60923 -:10D410008111D1CEC901019690937F0C80937E0C2F -:10D42000F901EA56F64F4083C6CE8091001E82FF76 -:10D4300019C18091EE0B811102C01092FC09DD240C -:10D44000D3944091FC1D5091FD1D6091FE1D709183 -:10D45000FF1D8091F81D9091F91DA091FA1DB091CA -:10D46000FB1D481759076A077B0708F4D12C00E019 -:10D4700010E0CC24C39440E6B42E54E6A52E69E611 -:10D48000962E8091EE0B843008F0ECC0D110EAC0EB -:10D490008091FC098111E6C08091111B9091121BB3 -:10D4A000A091131BB091141B8093FC1D9093FD1D44 -:10D4B000A093FE1DB093FF1D41E050E0BE016F5FE1 -:10D4C0007F4F89E09BE10E945EB4019719F4898146 -:10D4D00090E002C08FEF9FEFF82E4090FC1D50901F -:10D4E000FD1D6090FE1D7090FF1D4091F81D509134 -:10D4F000F91D6091FA1D7091FB1DDD24D394441633 -:10D5000055066606770608F4D12C441655066606BD -:10D510007706B0F4019609F461C02AE0F21609F426 -:10D520006EC03DE0F31609F46AC043E2F41619F048 -:10D530005AE3F5127CC08091FB09811178C054C078 -:10D540000F94D93B89E09BE10E94E5B38091F71DE0 -:10D55000882339F181508093F71D989EC0011124D2 -:10D5600041E061E08A50944F0E947975E091F71D87 -:10D5700064E0E69FF0011124EE50F44F40815181A8 -:10D58000628173814093FC1D5093FD1D6093FE1DCD -:10D590007093FF1D89E09BE10E9479B00E942E727A -:10D5A00016C00E941D720F94D83C0F94D6190F9488 -:10D5B00026486D3371058105910518F483E491E3E4 -:10D5C00002C088E491E30F949224A092AC1E809153 -:10D5D000001E82FD0DC08BE591E304C00F94B25490 -:10D5E0008CE491E30F94365473E2F71208C005C03F -:10D5F00053E2F512D1C300E010E0C092FC09109292 -:10D60000FB090115110519F40F94B54D0DC080915A -:10D610006A0AB89E000D111D1124F801E359F54F57 -:10D62000108280E00F944B2400E010E02ACF0F35E9 -:10D63000110508F026CF8BE3F81203C0C092FB0956 -:10D6400020CF8091FB0981111CCF80916A0AF801DB -:10D65000B89EE00DF11D1124E359F54FF0820F5FE4 -:10D660001F4F0FCF0E94E7EF4B015C014091F40880 -:10D670005091F5086091F6087091F7084115510531 -:10D680006105710529F18091621A9091631AA09148 -:10D69000641AB091651A840F951FA61FB71F9501D4 -:10D6A0008401081B190B2A0B3B0B37FD11C00F948B -:10D6B000B25460916F0E7091700E8FE691E30F94EB -:10D6C0009F548AE00E94B06680E090E00F94563943 -:10D6D0004091010250910202609103027091040294 -:10D6E000411551056105710509F44EC09091F01B7B -:10D6F0008091F11B981759F00E94E7EF6093621A2E -:10D700007093631A8093641A9093651A3DC0809158 -:10D71000F10B811137C0E11035C08091621A9091F0 -:10D72000631AA091641AB091651A840F951FA61F01 -:10D73000B71FA5019401281B390B4A0B5B0B57FD42 -:10D7400021C080910D0A81111FC081E080930D0AD4 -:10D750005F9A80916A1A8E7F80936A1A8A9A809162 -:10D760006A1A8D7F80936A1A809108018095817072 -:10D770008093060180916A1A8B7F80936A1A0E94B7 -:10D78000176402C010920D0A8091090A90910A0A4A -:10D79000A0910B0AB0910C0AB501A401481B590BCA -:10D7A0006A0B7B0B77FDBCC12091F01B9091F11BA4 -:10D7B00080911D0210911E02291317C06091720EF4 -:10D7C000869FB0011124660F672F661F770B719536 -:10D7D000062F8091730E819FB0011124660F672F71 -:10D7E000661F770B7195162F29C02091F11B54E508 -:10D7F000259F9001112425513B4EF901EE5AFF4F10 -:10D800006081869FB0011124660F672F661F770B1A -:10D810007195062F31968081819FB0011124660F8A -:10D82000672F661F770B7195162F8091F11B9091D2 -:10D83000F01B981719F08F5F8F70F9CF002331F12B -:10D840000E94E7EFC090010AD090020AE090030A1C -:10D85000F090040ADC01CB01C114D104E104F1040D -:10D8600069F48C599F4FAF4FBF4F8093010A90933B -:10D87000020AA093030AB093040A06C08C199D09FA -:10D88000AE09BF09B7FF0AC00FEF08C01092010A26 -:10D890001092020A1092030A1092040A602F70E09C -:10D8A00089E00E94C5EE112331F10E94E7EFC0909C -:10D8B000050AD090060AE090070AF090080ADC01F9 -:10D8C000CB01C114D104E104F10469F48C599F4FD8 -:10D8D000AF4FBF4F8093050A9093060AA093070AA3 -:10D8E000B093080A06C08C199D09AE09BF09B7FF9D -:10D8F0000AC01FEF08C01092050A1092060A109283 -:10D90000070A1092080A612F70E087E00E94C5EEB6 -:10D9100080919C0C882309F4F6C0E0906802F09096 -:10D92000690200916A0210916B026091200A709165 -:10D93000210A6E5F7F4F072E000C880B990B0F9406 -:10D9400045659701A8010F943E6587FDDCC03090C6 -:10D95000F11B212C1A821B821C828091F01B8315E3 -:10D9600009F467C0832D90E064E5689FF001699F2A -:10D97000F00D1124E551FB4E458956896789708D5C -:10D98000452B462B472B89F4418D528D638D748D29 -:10D99000452B462B472B49F4458D568D678D70A13D -:10D9A000452B462B472B09F43FC074E5789F900127 -:10D9B000799F300D1124C90185519B4E6C01FC01EA -:10D9C00061817281838194810F94326F2B013C01BC -:10D9D000F60161A172A183A194A10F9443656D83A7 -:10D9E0007E838F839887F60165A176A187A190A594 -:10D9F0000F9443659B01AC016D817E818F81988579 -:10DA00000F942E6DA30192010F94A4653B016C014C -:10DA1000222D3A814B815C810F94946E181624F468 -:10DA2000262C7A82CB82DC8281E0830D8F70382EA7 -:10DA300094CF20916C0230916D0240916E02509112 -:10DA40006F02622D7A818B819C810F94A46597016E -:10DA5000A8010F94346C3B016C012090640230905B -:10DA6000650240906602509067029B01AC01B701CD -:10DA7000C8010F94946E18166CF09101A201B301C5 -:10DA8000C6010F94946E18161CF47101820102C035 -:10DA9000730186014090FD095090FE096090FF09D6 -:10DAA0007090000A9701A801C301B2010F94946E0F -:10DAB0001816C4F420E037ED43EA5CE3B701C8016F -:10DAC0000F94A4656B017C0128E431EE4AE75FE323 -:10DAD000C301B2010F94A465A70196010F94346CA1 -:10DAE0007B018C01C701D8018093FD099093FE0949 -:10DAF000A093FF09B093000AB701C8010F94A06D6D -:10DB0000CB010E94C2B8F4E68F0E911CA11CB11C7F -:10DB10008092090A90920A0AA0920B0AB0920C0A0B -:10DB20000F94B54D8091CE14813009F06EC00E94E3 -:10DB3000E7EF6B017C018091120A9091130AA0918A -:10DB4000140AB091150A97018601081B190B2A0BBC -:10DB50003B0B37FD3AC08090CF149090D014A0902A -:10DB6000D114B090D2140F9426486093CF147093C0 -:10DB7000D0148093D1149093D21400914E0A109136 -:10DB80004F0A2091500A3091510A081919092A099F -:10DB90003B09DC01CB01800F911FA21FB31F8093B3 -:10DBA0004E0A90934F0AA093500AB093510AD7019E -:10DBB000C601805F984DAF4FBF4F8093120A90937C -:10DBC000130AA093140AB093150A80910E0A90913B -:10DBD0000F0AA091100AB091110AA7019601281B03 -:10DBE000390B4A0B5B0B57FD10C030E8C30E3EEEFD -:10DBF000D31EE11CF11CC0920E0AD0920F0AE092D3 -:10DC0000100AF092110A0F94B0198091190D811128 -:10DC1000E5C08091EF08882391F00E94E7EF009122 -:10DC2000EB081091EC082091ED083091EE08DC0132 -:10DC3000CB01801B910BA20BB30BB7FFB0C00E94AE -:10DC4000E7EF6B017C012091EA08222309F4C6C0AA -:10DC50008091E6089091E708A091E808B091E90862 -:10DC6000B701A601481B590B6A0B7B0B77FDB6C0A9 -:10DC700030E0A8EEB3E00F94E86BC60ED71EE81EA6 -:10DC8000F91EC092E608D092E708E092E808F09208 -:10DC9000E9080E94F671A2C011E01093160A809163 -:10DCA000F10B811169C083E396E00E94CE6784E0A6 -:10DCB0008093C81482E08093C60881E09AE590932F -:10DCC000851C8093841C8EE490E09093871C809345 -:10DCD000861C87E08093781C82E880937B1C84E814 -:10DCE00090E0A0E0B0E080937C1C90937D1CA0931A -:10DCF0007E1CB0937F1C0F94B0380091870E005D9E -:10DD000010938F140F94FF0740E060E070E38FE9F9 -:10DD100097E50F940B08802F0E94B0668AE00E945E -:10DD2000B0660F94F3078091F80860E0182719F0A7 -:10DD30008FE796E50DC08EEE9FE20F94DB07802FF4 -:10DD40000E94B0668AE00E94B06660E088EC9FE2C4 -:10DD50000F94DB078CED9FE20F943654802F0E94C6 -:10DD6000B0668AE00E94B066112331F08EEC9FE22B -:10DD700090936C0A80936B0A0F94D93BF0C98DE3A2 -:10DD800091E30F9436548092F7099092F809A0928B -:10DD9000F909B092FA090DCA1092FB0935CC0E941C -:10DDA000E7EF6B017C012091EF0830E0A8EEB3E0D3 -:10DDB0000F94E86BC60ED71EE81EF91EC092EB0842 -:10DDC000D092EC08E092ED08F092EE088091870E78 -:10DDD0000E94AF968AE00E94B06631CF28960FB6B7 -:10DDE000F894DEBF0FBECDBFDF91CF911F910F9191 -:10DDF000FF90EF90DF90CF90BF90AF909F908F906B -:10DE00007F906F905F904F903F902F9008951F925A -:10DE10000F920FB60F9211240F900FBE0F901F900C -:10DE200018951F920F920FB60F9211240BB60F92F6 -:10DE30000F931F932F933F934F935F936F937F9312 -:10DE40008F939F93AF93BF93CF93DF93EF93FF9302 -:10DE500000911109D091100911E01D0F1F77C09199 -:10DE6000C60090910709492F092E000C550B660B2F -:10DE7000770B4131510508F064C0FA018827E2565A -:10DE8000FF4F8F4F0D942B6CCD3449F0CE34B9F445 -:10DE900081E006C0CA3338F0CD3409F043C082E0D7 -:10DEA0008093070976C0C03308F073C0C03209F40C -:10DEB00070C0CD32B9F56DC0C13351F018F4C03225 -:10DEC00089F567C0C43331F0C83361F58BE0E8CF22 -:10DED00083E0E6CF88E0E4CFC03321F0C13311F511 -:10DEE00086E0DECF84E0DCCFC833E1F485E0D8CF34 -:10DEF000C233C1F487E0D4CFC133A1F489E0D0CFDD -:10DF0000C03381F48AE0CCCFC73361F48CE0C8CF52 -:10DF1000C63341F48DE0C4CFC032D9F1C33511F41A -:10DF20008EE0BECF80E1BCCF80ED8C0F8A3088F5CB -:10DF30009FE090930709809306092BC0CA3049F5EA -:10DF400026C0CA3031F58091E61C882301F1973054 -:10DF500089F03CF49530D9F4109214021092AB1E63 -:10DF600016C09A3059F09F3091F4809106090F94B1 -:10DF700037080DC081E08093CC1E09C00F942E3D60 -:10DF80000F94D93B8EEF0E948ACE0E94F8CE109259 -:10DF90000709011731F0ED2FF0E0E05FF64FC28383 -:10DFA000D12FD0931009FF91EF91DF91CF91BF91C5 -:10DFB000AF919F918F917F916F915F914F913F9121 -:10DFC0002F911F910F910F900BBE0F900FBE0F90CE -:10DFD0001F9018958EBD0DB407FEFDCF08958FEFED -:10DFE0008EBD0DB407FEFDCF8EB5089590916400EF -:10DFF0009B7F90936400982F906A96959CBD80FDBE -:10E0000003C091E0863009F490E09DBD0895CF9261 -:10E01000DF92EF92FF920F931F93CF93DF936C01E8 -:10E020007A018B01C0E0D0E0CE15DF0581F0D80188 -:10E030006D918D01D601ED91FC910190F081E02D63 -:10E04000C6011995892B11F02196EECF7E01C701EB -:10E05000DF91CF911F910F91FF90EF90DF90CF90C4 -:10E060000895089580E090E00895FC01538D448D5B -:10E07000252F30E0842F90E0821B930B541710F073 -:10E08000CF96089501970895FC01918D828D981780 -:10E0900061F0828DDF01A80FB11D5D968C91928D8C -:10E0A0009F5F9F73928F90E008958FEF9FEF089589 -:10E0B000FC01918D828D981731F0828DE80FF11D52 -:10E0C000858D90E008958FEF9FEF0895FC01918D6D -:10E0D000228D892F90E0805C9F4F821B91098F7366 -:10E0E000992708958CE69AE10E94667021E0892BB9 -:10E0F00009F420E0822F0895FC01848DDF01A80F30 -:10E10000B11DA35ABF4F2C91848D90E001968F735F -:10E110009927848FA689B7892C93A089B1898C917E -:10E12000837080648C93938D848D981306C00288CD -:10E13000F389E02D80818F7D80830895EF92FF9297 -:10E140000F931F93CF93DF93EC0181E0888F9B8D1A -:10E150008C8D981305C0E889F989808185FD26C0DA -:10E16000F62E0B8D10E00F5F1F4F0F731127E02E5F -:10E170008C8DE8120CC00FB607FCFACFE889F9893C -:10E18000808185FFF5CFCE010E947C70F1CF8B8D11 -:10E19000FE01E80FF11DE35AFF4FF0829FB7F8949C -:10E1A0000B8FEA89FB89808180620AC09FB7F8944F -:10E1B000EE89FF896083E889F989808183708064B2 -:10E1C00080839FBF81E090E0DF91CF911F910F91FD -:10E1D000FF90EF900895CF93DF93EC01888D882313 -:10E1E000C9F0EA89FB89808185FD05C0A889B989C4 -:10E1F0008C9186FD0FC00FB607FCF5CF808185FF9F -:10E20000F2CFA889B9898C9185FFEDCFCE010E940C -:10E210007C70E7CFDF91CF91089580E090E0892B6B -:10E2200041F080E090E0892B21F00E9400008111F4 -:10E2300021C080E090E0892B41F080E090E0892BC4 -:10E2400021F00E940000811118C080E090E0892B2D -:10E2500021F00E947270811113C080E090E0892B40 -:10E26000A1F080E090E0892B81F00E9400008111F4 -:10E270000AC008950E940000DCCF0E940000E5CF94 -:10E280000E940000EACF0C9400000895FC0120E0F9 -:10E290003EE2DB014C91403241F0283011F43083F2 -:10E2A0003196DB014C91408331962F5F6F5F7F4F3A -:10E2B0002B3079F7108208950F9499700F931F9364 -:10E2C000CF93DF938B01EA01DB016D917C910E947A -:10E2D0007FB1D801ED91FC911197908188819923AC -:10E2E00049F0893638F43196ED93FC9388818F5F3D -:10E2F0008883EFCF893658F48FE28083F8018081DC -:10E30000918101969183808388818F5F8883DF91DB -:10E31000CF911F910F9108951F920F920FB60F92F8 -:10E3200011240BB60F922F933F934F935F936F93EC -:10E330007F938F939F93AF93BF93EF93FF938CE65D -:10E340009AE10E947C70FF91EF91BF91AF919F91F4 -:10E350008F917F916F915F914F913F912F910F908E -:10E360000BBE0F900FBE0F901F9018951F920F922B -:10E370000FB60F9211240BB60F922F938F939F938A -:10E38000EF93FF93E0917C1AF0917D1A8081E091E8 -:10E39000821AF091831A82FD12C090818091851AB1 -:10E3A0008F5F8F732091861A821751F0E091851A42 -:10E3B000F0E0E459F54E958F8093851A01C0808175 -:10E3C000FF91EF919F918F912F910F900BBE0F9026 -:10E3D0000FBE0F901F9018958BE1E2E6FBE1A7E4DA -:10E3E000BBE101900D928A95E1F708958091001E9E -:10E3F00082FF1FC084E394E30F9436546091FC1DA8 -:10E400007091FD1D8091FE1D9091FF1D4AE00E94BC -:10E41000B7668FE20E94B0666091F81D7091F91D99 -:10E420008091FA1D9091FB1D4AE00E94B7660C9402 -:10E43000C86786E494E30D9436541092F10B8091F2 -:10E44000001E8F7D8B7F8093001E0E94BA958823CB -:10E4500021F089E09BE10C94E5B308958091001EC2 -:10E4600083FF03C084608093001E0895CF92DF92E3 -:10E47000EF92FF920F931F93CF93DF93CDB7DEB749 -:10E48000EDB6FEB6DC010D900020E9F79D01281BDA -:10E49000390B2C5F3F4F4DB75EB7421B530B0FB686 -:10E4A000F8945EBF0FBE4DBF0DB71EB70F5F1F4F75 -:10E4B0009F938F9380E393E39F938F931F930F9387 -:10E4C0000F94D664680154E0C50ED11C0F900F90D4 -:10E4D0000F900F900F900F90F6018081882349F0E4 -:10E4E000082E000C990B0F949E70F60181936F011A -:10E4F000F3CFC8010F9460248CE293E30F9492242D -:10E500000FB6F894FEBE0FBEEDBEDF91CF911F9106 -:10E510000F91FF90EF90DF90CF9008958F929F9290 -:10E52000AF92BF92CF92DF92EF92FF92CF93809102 -:10E53000001E877F8093001E8091651B882321F039 -:10E5400082E69BE10E94E5B31092461B1092431BAA -:10E5500085E38093421B0E94E7EF6B017C0120ED75 -:10E56000C20E27E0D21EE11CF11CA89561E080914B -:10E57000421B0E945AEE61E08091421B0E9489EE8C -:10E58000209A289A219A2398229A81E00E94F66F75 -:10E5900085E08093441B0E94F66FCAE08FEF0E94D3 -:10E5A000EA6FC150D9F7A89520E030E0A90160E0FA -:10E5B00082E49BE10E94C5B28093451B813061F0EB -:10E5C0000E94E7EFDC01CB018C199D09AE09BF0960 -:10E5D000B7FDEACF81E062C0A8952AEA31E040E0C9 -:10E5E00050E068E082E49BE10E94C5B2853011F4FE -:10E5F00081E00AC0C4E00E94EF6F8093451BC150C8 -:10E60000D1F78A3A61F482E08093461BA895809105 -:10E61000461B823081F0812C912C540111C00E9444 -:10E62000E7EFDC01CB018C199D09AE09BF09B7FDED -:10E63000D4CF82E033C0812C912CA12C80E4B82E61 -:10E6400020E030E0A90167E382E49BE10E94C5B2CB -:10E65000A501940169E282E49BE10E94C5B2809326 -:10E66000451B882361F00E94E7EFDC01CB018C1988 -:10E670009D09AE09BF09B7FDE3CF8AE00FC08091C5 -:10E68000461B823021F520E030E0A9016AE382E4F4 -:10E690009BE10E94C5B2882361F088E08093431B10 -:10E6A00082E49BE10E94BDB20F94B6548EE193E3E5 -:10E6B00022C00E94EF6F807C803C19F483E080933D -:10E6C000461B0E94EF6F0E94EF6F0E94EF6F82E483 -:10E6D0009BE10E94BDB21092441B81E00E94E7E9D9 -:10E6E00081110CC080E00E94E7E9811107C00F94FE -:10E6F000B2548AE093E30F9436541AC064E27BE18B -:10E7000082E69BE10E9410B1811105C00F94B254C2 -:10E7100089EF92E3F0CF8091001E88608093001E05 -:10E720000F94B6548DEE92E30F9436540E945264C7 -:10E73000CF91FF90EF90DF90CF90BF90AF909F90E0 -:10E740008F900C94EC712F923F925F926F927F9218 -:10E750008F929F92AF92BF92CF92DF92EF92FF92F1 -:10E760000F931F93CF93DF93CDB7DEB7C356D10975 -:10E770000FB6F894DEBF0FBECDBF8C016B014A010E -:10E780002DB63EB6512C7E0187E5E80EF11CF60150 -:10E790008381823008F41FC180859185A285B3856D -:10E7A0008F719927AA27BB27892B8A2B8B2B09F0DE -:10E7B00012C11092931043E950E1BE016F5F7F4F89 -:10E7C000C6010E947AB518160CF005C18C85982FE9 -:10E7D0009871903129F420915F0C2150223078F407 -:10E7E0002981222309F4F7C0253E89F22E3279F2DD -:10E7F000209193102E3259F28A7049F67CC06DB682 -:10E800007EB6BE016F5F7F4FC7010E944671011542 -:10E81000110521F0F8018081811163C021E081E0C0 -:10E8200090E0F70101900020E9F73197EE19FF0918 -:10E83000E80FF91F32968DB79EB78E1B9F0B0FB650 -:10E84000F8949EBF0FBE8DBFEDB7FEB731965F0146 -:10E85000211102C0B80102C06AE876E0C5010F9438 -:10E86000E570B701C5010F94CF706AE876E0C50185 -:10E870000F94CF7019A21CA221E0A701B601CE010E -:10E8800081960E94D1B781110DC080915F0C8111DA -:10E8900009C00F94B65489ED92E30F943654C70122 -:10E8A0000E94CE678BE1FE01B196DE01DC960190FD -:10E8B0000D928A95E1F740E050E0BE01645C7F4F25 -:10E8C000C5010E94A373CE01CC960E94EEB3CE0187 -:10E8D00081960E94EEB30FB6F8947EBE0FBE6DBE59 -:10E8E00056CFF80101900020E9F73197CF01801B46 -:10E8F000910B20E096CF21E0903109F020E080914B -:10E90000001E20FB84F98093001E903141F0898520 -:10E91000873409F03CCF8A858E3709F438CF80914F -:10E920005F0C813021F068F08230C1F130CF8091EE -:10E93000620C9091630C01969093630C8093620C2F -:10E9400026CFBE016F5F7F4F85ED90E10E9446713B -:10E950000115110529F485EDA82E80E1B82E09C016 -:10E960005801F50181915F018823A9F30E94B066E7 -:10E97000F8CFF50181915F01882319F00E94B066FC -:10E98000F8CF80E20E94B0666D8D7E8D8F8D98A14C -:10E990004AE00E94B7660E94C867F9CEBE016F5F69 -:10E9A0007F4F85ED90E10E9446718114910441F002 -:10E9B00065ED70E1C4010F94BC70892B51F40BC05C -:10E9C000852D90E02091600C3091610C82179307A7 -:10E9D00011F05394DCCE0FB6F8943EBE0FBE2DBEA0 -:10E9E000CD59DF4F0FB6F894DEBF0FBECDBFDF911C -:10E9F000CF911F910F91FF90EF90DF90CF90BF903C -:10EA0000AF909F908F907F906F905F903F902F90EE -:10EA10000895CF93DF93CDB7DEB76B970FB6F89419 -:10EA2000DEBF0FBECDBF81E080935F0C1092630C00 -:10EA30001092620C87E49BE10E94B8B28BE1E7E49C -:10EA4000FBE1DE01119601900D928A95E1F740E01D -:10EA500050E0BE016F5F7F4F80E090E00E94A373A3 -:10EA6000CE0101960E94EEB38091620C9091630CEE -:10EA70006B960FB6F894DEBF0FBECDBFDF91CF917E -:10EA800008950F931F93CF93DF93CDB7DEB76B97A6 -:10EA90000FB6F894DEBF0FBECDBF8B0122E02093EE -:10EAA0005F0C9093610C8093600C87E49BE10E9463 -:10EAB000B8B28BE1E7E4FBE1DE01119601900D9223 -:10EAC0008A95E1F7A801BE016F5F7F4F80E090E07B -:10EAD0000E94A373CE0101960E94EEB36B960FB60F -:10EAE000F894DEBF0FBECDBFDF91CF911F910F9184 -:10EAF0000895DF92EF92FF920F931F93CF93DF93CE -:10EB000000D01F92CDB7DEB72091001E23FF3DC17C -:10EB1000F42EE62E8C010E94BA95882309F481C058 -:10EB2000FF2009F48CC08091F71D882351F00F94C9 -:10EB3000B2548FEE93E30F94365480E090E00F943C -:10EB4000563987EF9BE09A8389838FE28093F60B97 -:10EB500081E08B83F12C9BE1D92E8091F61DF81674 -:10EB600078F4DF9CC0011124AE014D5F5F4FBE0100 -:10EB70006F5F7F4F8851934E0E945E71F394EDCF8B -:10EB80008B818B3578F4AE014D5F5F4FBE016F5FB7 -:10EB90007F4F89E09BE10E945E7189819A81019794 -:10EBA0009A838983E981FA811082E091F71D84E0DC -:10EBB000E89FF0011124EE50F44F8091FC1D9091DC -:10EBC000FD1DA091FE1DB091FF1D80839183A28346 -:10EBD000B3830F94B654B80186ED93E30F949F541A -:10EBE0006091F71D89E6689FB00111246A50744F47 -:10EBF0008BEC93E30F949F544091FC1D5091FD1DAD -:10EC00006091FE1D7091FF1D85EC93E30F94645499 -:10EC10008AE00E94B0668091F71D8F5F8093F71D98 -:10EC200026C0FF2039F00F94B65485EB93E30F9480 -:10EC300036541DC01092F71D82E0F82E02C0FF244A -:10EC4000F3940F94B65480EB93E30F94365481E021 -:10EC5000F81609F497C08CE993E30F943654B80181 -:10EC600088EA93E30F949F548AE00E94B0660E9462 -:10EC70001D72B801CE0103960F94BD3A8C01009726 -:10EC800009F483C06B817C81EE2009F450C021E03F -:10EC9000AC0189E09BE10E94D1B7882309F43FC011 -:10ECA00080911A1B90911B1BA0911C1BB0911D1BE6 -:10ECB0008093F81D9093F91DA093FA1DB093FB1D4E -:10ECC0001092FC1D1092FD1D1092FE1D1092FF1D52 -:10ECD000B8018EE893E30F949F544091F81D509132 -:10ECE000F91D6091FA1D7091FB1D86E893E30F9466 -:10ECF00064548AE00E94B06687E793E30F94365429 -:10ED0000B80180E090E00E944175809193108111DC -:10ED100002C0C80102C083E990E160E030C0B801E0 -:10ED200083E693E30F949F5480E693E30FC026E5B8 -:10ED3000AC0189E09BE10E94D1B781110AC0B80102 -:10ED40008CE493E30F949F5489E493E30F94365437 -:10ED50001CC08091001E81608093001EB80180E07D -:10ED600090E00E9441751092E61CB80187E393E39E -:10ED70000F949F548AE00E94B06660E0C8010F942F -:10ED8000F94B03C082EA93E368CF0F900F900F9086 -:10ED90000F90DF91CF911F910F91FF90EF90DF9037 -:10EDA0000895CF92DF92EF92FF92CF936B017C0197 -:10EDB000C42F8091881090918910A0918A10B091F1 -:10EDC0008B108C159D05AE05BF05D1F00E9472B366 -:10EDD000811102C080E018C028E83EE0B701A6011A -:10EDE00080919110909192100E94F4B3882391F336 -:10EDF000C0928810D0928910E0928A10F0928B1005 -:10EE000081E0C11180939010CF91FF90EF90DF903F -:10EE1000CF9008954F925F926F927F928F929F92C0 -:10EE2000AF92BF92CF92DF92EF92FF920F931F9318 -:10EE3000CF93DF93EC01423051056105710510F469 -:10EE400080E069C089859A85AB85BC850196A11D46 -:10EE5000B11D84179507A607B70790F38F898031F6 -:10EE600049F4852E962EA72EBB248B899C89AD89CB -:10EE7000BE890FC0803221F78B889C88AD88BE8800 -:10EE8000DB01CA01E7E0B695A79597958795EA95C6 -:10EE9000D1F7880E991EAA1EBB1E280139016A01EE -:10EEA0007B0141E0C501B4010E94D176882341F283 -:10EEB0009F89903161F4DD24EE24FF249601220F16 -:10EEC000331FF901E857F14F5182408211C0E89495 -:10EED000C7F8DD24EE24FF249601220F331F220FF2 -:10EEE000331FF901E857F14F4082518262827382E9 -:10EEF0009A89923080F04D815E816F817885840E91 -:10EF0000951EA61EB71E80928C1090928D10A09216 -:10EF10008E10B0928F10DF91CF911F910F91FF90C3 -:10EF2000EF90DF90CF90BF90AF909F908F907F90A9 -:10EF30006F905F904F900895CF92DF92EF92FF9283 -:10EF40000F931F93CF93DF93FC0181859285A38557 -:10EF5000B4850196A11DB11D84179507A607B707B3 -:10EF600010F480E061C08789803149F4BB27A72F66 -:10EF7000962F852FC388D488E588F6880FC0803205 -:10EF800081F783899489A589B6896A017B01C7E0E5 -:10EF9000F694E794D794C794CA95D1F78C0D9D1D2C -:10EFA000AE1DBF1DE9016A017B018F0140918810F0 -:10EFB0005091891060918A1070918B108417950779 -:10EFC000A607B70739F040E0BC01CD010E94D17619 -:10EFD000882339F2F8018789803179F4B701A601D5 -:10EFE000552766277727440F551FFA01E857F14F39 -:10EFF00080819181A0E0B0E012C0B701A6014F77F7 -:10F00000552766277727440F551F440F551FFA01D0 -:10F01000E857F14F80819181A281B381BF708883CD -:10F020009983AA83BB8381E0DF91CF911F910F91D8 -:10F03000FF90EF90DF90CF9008954F925F926F9284 -:10F040007F92AF92BF92CF92DF92EF92FF920F9397 -:10F050001F93CF93DF9300D01F92CDB7DEB78C0103 -:10F0600049835A836B837C835901C12CD12C76014F -:10F07000412C82E0582E612C712C49815A816B8180 -:10F080007C819E012F5F3F4FC8010E949C7788239F -:10F0900041F1D301C201F801058404C0880F991F12 -:10F0A000AA1FBB1F0A94D2F7C80ED91EEA1EFB1E68 -:10F0B00049815A816B817C818789803139F481E073 -:10F0C000483F5F4F6105710538F4D7CF81E0483F75 -:10F0D0005F4F6F4F7F4088F2F501C082D182E2829C -:10F0E000F3820F900F900F900F90DF91CF911F91AF -:10F0F0000F91FF90EF90DF90CF90BF90AF907F90F7 -:10F100006F905F904F9008952F923F924F925F9231 -:10F110006F927F928F929F92AF92BF92CF92DF9227 -:10F12000EF92FF920F931F93CF93DF93CDB7DEB78C -:10F13000CA59D1090FB6F894DEBF0FBECDBFE0911A -:10F140009F0CF091A00CEF2B11F00C949883C057FA -:10F15000DF4FD982C882C059D040E096EFAEE09729 -:10F1600019016A017B01FC012081318142815381B7 -:10F17000E8962CAF3DAF4EAF5FAFE8972091B50C4E -:10F180003091B60C4091B70C5091B80CE8966CAD2C -:10F190007DAD8EAD9FADE8970F94A4650F94A16EE1 -:10F1A0002B013C0165966CAF7DAF8EAF9FAF65972D -:10F1B000D7018D919D910D90BC91A02DE4968CAFBF -:10F1C0009DAFAEAFBFAFE4972091B90C3091BA0CB0 -:10F1D0004091BB0C5091BC0CBC01CD010F94A465B7 -:10F1E0000F94A16E4B015C0169966CAF7DAF8EAF41 -:10F1F0009FAF6997D6012D913D914D915C91AF964E -:10F200002CAF3DAF4EAF5FAFAF972091BD0C3091AB -:10F21000BE0C4091BF0C5091C00CAF966CAD7DAD53 -:10F220008EAD9FADAF970F94A4650F94A16E6B0147 -:10F230007C016D966CAF7DAF8EAF9FAF6D97D101A6 -:10F240002D913D914D915C91A7962CAF3DAF4EAF66 -:10F250005FAFA7972091C10C3091C20C4091C30CB5 -:10F260005091C40CA7966CAD7DAD8EAD9FADA797A8 -:10F270000F94A4650F94A16EAB966CAF7DAF8EAF6B -:10F280009FAFAB97A1966CAF7DAF8EAF9FAFA197AD -:10F29000E8962CAD3DAD4EAD5FADE89725962CAF11 -:10F2A0003DAF4EAF5FAF2597E4968CAD9DADAEAD53 -:10F2B000BFADE49729968CAF9DAFAEAFBFAF299796 -:10F2C000AF962CAD3DAD4EAD5FADAF972D962CAF4B -:10F2D0003DAF4EAF5FAF2D97A7968CAD9DADAEAD58 -:10F2E000BFADA79761968CAF9DAFAEAFBFAF619733 -:10F2F0008091F00C83FF1CC0AB962CAD3DAD4EADA4 -:10F300005FADAB972093221C3093231C4093241CA9 -:10F310005093251CA7968CAD9DADAEADBFADA79704 -:10F320008093121C9093131CA093141CB093151C73 -:10F33000D801BC91ED96BFAFED97F801F181C058AF -:10F34000DF4FF883C058D040D8011296BC91CC57FB -:10F35000DF4FB883C458D040F801F381C857DF4F5E -:10F36000F883C858D0408091F01B9091F11B891B05 -:10F370008F708F3021F480E00E94F467F4CF009109 -:10F38000F01BC856DF4F0883C859D0408091F01B4E -:10F39000282E312C8091161C9091171CA091181CBE -:10F3A000B091191C481A590A6A0A7B0A80911A1CE2 -:10F3B00090911B1CA0911C1CB0911D1C881A990ACD -:10F3C000AA0ABB0A80911E1C90911F1CA091201CB0 -:10F3D000B091211CA7019601281B390B4A0B5B0B2E -:10F3E000E4962CAF3DAF4EAF5FAFE4978091221C07 -:10F3F0009091231CA091241CB091251CAB96ECACE1 -:10F40000FDAC0EAD1FADAB97E81AF90A0A0B1B0B4A -:10F41000E896ECAEFDAE0EAF1FAFE897EF28E02AFE -:10F42000E12A09F49EC08091EF0C811139C06091EE -:10F430001C0A70911D0A80911E0A90911F0A0F9458 -:10F44000A06D20914102309142026217730744F58A -:10F45000AB96ECACFDAC0EAD1FADAB97E092221CB1 -:10F46000F092231C0093241C1093251CA796ECAC4F -:10F47000FDAC0EAD1FADA797E092121CF092131CCD -:10F480000093141C1093151C0F94B65486E794E354 -:10F490000F943654E8961CAE1DAE1EAE1FAEE89714 -:10F4A000E096EFACE09724E0E29E800111240B5E31 -:10F4B0001D4FE8966CAD7DAD8EAD9FADE8970F9476 -:10F4C0004565D8012D913D914D915C910F94A465B6 -:10F4D0006B017C0120E030E0A9010F94946E87FF5E -:10F4E00004C0F7FAF094F7F8F09420E030E04AEF27 -:10F4F00053E46091C10C7091C20C8091C30C909147 -:10F50000C40C0F94A465A70196010F943E6587FF74 -:10F5100028C0AB96ECACFDAC0EAD1FADAB97E09246 -:10F52000221CF092231C0093241C1093251CA796E8 -:10F53000ECACFDAC0EAD1FADA797E092121CF092A3 -:10F54000131C0093141C1093151C0F94B65487E5DC -:10F5500094E30F943654E8961CAE1DAE1EAE1FAE5B -:10F56000E897D301C2018827B7FD83959927AA2779 -:10F57000BB27A4968FAFA497B7FE05C0082F0260E3 -:10F58000A4960FAFA497E496ECACFDAC0EAD1FAD06 -:10F59000E49717FF07C0A4960FADA4970460A49644 -:10F5A0000FAFA497E896ECACFDAC0EAD1FADE8979D -:10F5B00017FF07C0A4960FADA4970860A4960FAFDD -:10F5C000A497E096EFACE09724E0E29E800111243E -:10F5D0000B5E1D4FE8966CAD7DAD8EAD9FADE8978F -:10F5E0000F944565D8012D913D914D915C910F94FB -:10F5F000A4656B017C0120E030E0A9010F94946EBA -:10F6000087FF04C0C701B601905802C0C701B60108 -:10F6100020E030E040E05FE30F94346C0F94A76D7E -:10F62000AF966CAF7DAF8EAF9FAFAF9784E5829DF5 -:10F63000F001839DF00D1124E551FB4E1082A4963C -:10F640000FADA49706ABA7964CAE5DAE6EAE7FAE87 -:10F65000A79777FE0DC022273327A9012419350962 -:10F6600046095709A7962CAF3DAF4EAF5FAFA7979E -:10F6700084E5829DF001839DF00D1124E551FB4E40 -:10F68000A7968CAD9DADAEADBFADA797858B968B84 -:10F69000A78BB08FAB968CAE9DAEAEAEBFAEAB9728 -:10F6A000B7FE0DC0002711279801081919092A096A -:10F6B0003B09AB960CAF1DAF2EAF3FAFAB9784E5C8 -:10F6C000829DF001839DF00D1124E551FB4EAB9618 -:10F6D0002CAD3DAD4EAD5FADAB97218F328F438FDB -:10F6E000548FE4968CAD9DADAEADBFADE497EC9676 -:10F6F0008CAF9DAFAEAFBFAFEC97B7FF0DC0B0956D -:10F70000A095909581959F4FAF4FBF4FEC968CAFD2 -:10F710009DAFAEAFBFAFEC9784E5829DF001839DB6 -:10F72000F00D1124E551FB4EEC960CAD1DAD2EAD48 -:10F730003FADEC97058F168F278F30A3C301B20121 -:10F740000F94456520911C1430911D1440911E1496 -:10F7500050911F140F94A465C457DF4F68837983B9 -:10F760008A839B83CC58D04069AB7AAB8BAB9CAB84 -:10F77000C501B4010F9445652091201430912114E6 -:10F7800040912214509123140F94A4652B013C0145 -:10F790006DAB7EAB8FAB98AFE4966CAD7DAD8EADAF -:10F7A0009FADE4970F944565209124143091251462 -:10F7B00040912614509127140F94A4654B015C01CD -:10F7C00069AF7AAF8BAF9CAF209128143091291488 -:10F7D00040912A1450912B14C701B6010F94A465CF -:10F7E0006B017C0121966CAF7DAF8EAF9FAF2197EF -:10F7F000A7962CAD3DAD4EAD5FADA7972630310538 -:10F80000410551051CF5AB968CAD9DADAEADBFADC0 -:10F81000AB970697A105B105CCF4EC960CAD1DADE8 -:10F820002EAD3FADEC97063011052105310574F47E -:10F8300020E030E0A901C701B6010F94946E87FF64 -:10F8400018C0F7FAF094F7F8F09413C0C057DF4FE0 -:10F85000A881B981C059D040CD90DD90ED90FC9049 -:10F8600020E030E0A901C701B6010F943E6588236E -:10F8700069F084E5829DF001839DF00D1124E5512E -:10F88000FB4EC586D686E786F08A36C0C457DF4F62 -:10F89000288139814A815B81CC58D040CA01B901A5 -:10F8A0000F94A4656B017C01A3019201C301B20115 -:10F8B0000F94A4659B01AC01C701B6010F94346C91 -:10F8C0006B017C01A5019401C501B4010F94A465ED -:10F8D0009B01AC01C701B6010F94346C0F94326FD9 -:10F8E00024E5229DF001239DF00D1124E551FB4EEE -:10F8F000658776878787908B84E5829DF001839D5D -:10F90000F00D1124E551FB4EAF96ECACFDAC0EAD05 -:10F910001FADAF97E1A2F2A203A314A3A4965FAD1B -:10F92000A497A5964FADA597A6963FADA697A79687 -:10F930002FADA797A796ECACFDAC0EAD1FADA7976A -:10F94000AB968CAD9DADAEADBFADAB97E816F906ED -:10F950000A071B0760F4A8965FADA897A9964FAD5C -:10F96000A997AA963FADAA97AB962FADAB97852FD7 -:10F97000942FA32FB22FEC96ECACFDAC0EAD1FADC7 -:10F98000EC978E159F05A007B10710F4D801C701A9 -:10F99000AF96ECACFDAC0EAD1FADAF978E159F05CD -:10F9A000A007B10710F4D801C70124E5229DF0019A -:10F9B000239DF00D1124E551FB4E85A396A3A7A32B -:10F9C000B0A70697A105B10508F4ABC6DF01AE5A92 -:10F9D000BF4F8091720E8C9311968091730E8C9311 -:10F9E000E096FFACE097F1A6A796ECACFDAC0EADAF -:10F9F0001FADA797EF28E02AE12A09F05F9884E578 -:10FA0000829DF001839DF00D1124E551FB4E818D07 -:10FA1000928DA38DB48D892B8A2B8B2B09F08A981C -:10FA200084E5829DF001839DF00D1124E551FB4E8C -:10FA3000858D968DA78DB0A1892B8A2B8B2B29F0D4 -:10FA400080910801817080930601AF96ECACFDAC0B -:10FA50000EAD1FADAF97EF28E02AE12A09F46AC680 -:10FA600080917C0C882319F0815080937C0C8091CC -:10FA70007D0C882391F0815080937D0CE096FFAC43 -:10FA8000E097FF2011F00F2D0EC0811101C0479AA1 -:10FA9000129880E280937C0C11C0E096EFACE09766 -:10FAA000EE20A9F30E2D013049F480917C0C8111D8 -:10FAB00001C0129A479880E280937D0CE090E10C9F -:10FAC000F090E20C0091E30C1091E40C9701A80176 -:10FAD000ED966FADED97C058DF4F7881C058D0409C -:10FAE000CC57DF4F8881C458D040C857DF4F98812A -:10FAF000C858D0400F943E6587FF12C0ED96EFAE18 -:10FB0000ED97C058DF4FF882C058D040CC57DF4F38 -:10FB10000883C458D040C857DF4F1883C858D04016 -:10FB200084E5829DF001839DF00D1124E551FB4E8B -:10FB30004584568467847088A301920160E070E078 -:10FB400080E89FE30F942E6DEC966CAF7DAF8EAF87 -:10FB50009FAFEC97ED962FADED97C058DF4F3881F2 -:10FB6000C058D040CC57DF4F4881C458D040C85708 -:10FB7000DF4F5881C858D0400F94A4654B015C01F9 -:10FB80008091F01B9091EE1B891B8F70C857DF4F3F -:10FB90008883C858D040A501940160E074E284E7EE -:10FBA00099E40F942E6D0F94A16E6B017C01C857E0 -:10FBB000DF4F8881C858D0408250863008F4C3C5D2 -:10FBC000A5019401C301B2010F94A4659B01AC018E -:10FBD0000F94A465C457DF4F688379838A839B831E -:10FBE000CC58D04084E5829D8001839D100D112466 -:10FBF00005511B4EC457DF4F88819981AA81BB8173 -:10FC0000CC58D040F80181839283A383B48325A18B -:10FC100036A147A150A5C458DF4F288339834A83B2 -:10FC20005B83CC57D040CA01B9010F944365C058DB -:10FC3000DF4F688379838A839B83C058D0409B01C0 -:10FC4000AC01C501B4010F94A4650F94126D0F941B -:10FC5000A76DC057DF4F688379838A839B83C05920 -:10FC6000D040F801EE5BFF4F608371838283938302 -:10FC70008E010F5C1F4FFE01B196CC57DF4FF98309 -:10FC8000E883C458D04025EC3CE0CA56DF4F3983A6 -:10FC90002883C659D040A801405F5F4FC756DF4F49 -:10FCA00059834883C959D040CC56DF4FF983E88344 -:10FCB000C459D040A4961FAEA497A8961FAEA8978B -:10FCC00050E8E0965FAFE0978FE3E1968FAFE19762 -:10FCD000D8012D913D914D915D918D01C501B401EA -:10FCE0000F94A4656B017C01CC56DF4FE881F9814C -:10FCF000C459D0406193719381939193CC56DF4F57 -:10FD0000F983E883C459D04020E030E0A9010F9482 -:10FD1000946E87FF04C0F7FAF094F7F8F094CA568F -:10FD2000DF4FA881B981C659D0404D905D906D904C -:10FD30007D90CA56DF4FB983A883C659D040A7012A -:10FD40009601C301B2010F943E6587FD38C5C756C1 -:10FD5000DF4FE880F980C959D040E016F10609F07C -:10FD6000B7CF20E030E040E85FE3A4966FADA49702 -:10FD7000A8967FADA897E0968FADE097E1969FADEE -:10FD8000E1970F943E6587FF83C08E010F5C1F4F84 -:10FD9000A4962FADA497A8963FADA897E0964FAD37 -:10FDA000E097E1965FADE197CC57DF4FA881B9812D -:10FDB000C458D0406D917D918D919C910F94A46514 -:10FDC000CC57DF4FE881F981C458D04061937193DB -:10FDD00081939193CC57DF4FF983E883C458D04087 -:10FDE0000E171F07A9F624E5229DC001239D900D43 -:10FDF00011248C0105511B4E78010E5B1F4FC0571B -:10FE0000DF4F688179818A819B81C059D0400F94EE -:10FE10004365A4962FADA497A8963FADA897E0960A -:10FE20004FADE097E1965FADE1970F94A4650F9415 -:10FE3000A76DD8016D937D938D939C931397A49692 -:10FE40002FADA497A8963FADA897E0964FADE09749 -:10FE5000E1965FADE197A4966FADA497A8967FADAC -:10FE6000A897E0968FADE097E1969FADE1970F944C -:10FE7000A465C457DF4F288139814A815B81CC5802 -:10FE8000D0400F94A465F7016183728383839483C8 -:10FE9000C058DF4F288139814A815B81C058D040EA -:10FEA000EC966CAD7DAD8EAD9FADEC970F94A465D7 -:10FEB000A7966CAF7DAF8EAF9FAFA79784E5829D6D -:10FEC0008001839D100D112405511B4ED8015596BC -:10FED0008D909D90AD90BC90589781149104A10491 -:10FEE000B10409F094C459968D919D910D90BC91E7 -:10FEF000A02D892B8A2B8B2B09F089C4F801858DC5 -:10FF0000968DA78DB0A1892B8A2B8B2B09F07FC4EE -:10FF10002091D90C3091DA0C4091DB0C5091DC0C23 -:10FF2000A7966CAD7DAD8EAD9FADA7970F94A465E0 -:10FF30000F94126D0F94A76D2B013C01D801D79639 -:10FF40001C9284E5829D8001839D100D1124055132 -:10FF50001B4EF801E25BFF4F408251826282738246 -:10FF6000C301B2010F9443656B017C01A7962CADD0 -:10FF70003DAD4EAD5FADA7970F942E6DE4966CAF7F -:10FF80007DAF8EAF9FAFE497D80151966D937D936F -:10FF90008D939C9354972DEB37E346E051E4C701D2 -:10FFA000B6010F94A4650F94A76DF80162AB73AB13 -:10FFB00084AB95AB87A98823A9F1E091870E24E053 -:10FFC000E29FF0011124EC59F34FD801DE962D91F8 -:10FFD0003D914D915C9160817181828193810F94FB -:10FFE000A465E4962CAD3DAD4EAD5FADE4970F94A6 -:10FFF000A4652091C10C3091C20C4091C30C50916A -:020000021000EC -:10000000C40C0F94A4659B01AC0160E074E284EF22 -:1000100099E40F942E6D0F94A76DD801D9967C9317 -:100020006E93D89729A93AA94BA95CA9EC966CAD17 -:100030007DAD8EAD9FADEC970F94A465AF966CAF80 -:100040007DAF8EAF9FAFAF97698B7A8B8B8B9C8B7D -:100050002DA93EA94FA958ADEC966CAD7DAD8EADE6 -:100060009FADEC970F94A4652B013C016D8B7E8BAB -:100070008F8B988F29AD3AAD4BAD5CADEC966CADE6 -:100080007DAD8EAD9FADEC970F94A4654B015C01E7 -:10009000698F7A8F8B8F9C8F21962CAD3DAD4EADA5 -:1000A0005FAD2197EC966CAD7DAD8EAD9FADEC97BD -:1000B0000F94A465EC966CAF7DAF8EAF9FAFEC97BD -:1000C0006D8F7E8F8F8F98A3C857DF4FE880C858F9 -:1000D000D040EE2009F472C7F090F21BA496FFAE58 -:1000E000A4970091F31BA8960FAFA8971091F41B4B -:1000F000E5961FAFE597E090F51BE096EFAEE09731 -:100100002DEB37E346E855E36F2D702F812F9E2DA1 -:100110000F943E6587FD52C7E0906C0CF0906D0C1B -:1001200000916E0C10916F0CC458DF4FE882F98279 -:100130000A831B83CC57D040E090700CF090710C78 -:100140000091720C1091730CC058DF4FE882F98255 -:100150000A831B83C058D040E090740CF090750C5B -:100160000091760C1091770CCC57DF4FE882F98222 -:100170000A831B83C458D040E090780CF090790C2F -:1001800000917A0C10917B0CC857DF4FE882F982FE -:100190000A831B83C858D040C458DF4F68817981D7 -:1001A0008A819B81CC57D0409058AF962CAD3DAD05 -:1001B0004EAD5FADAF970F94A4656B017C01C05845 -:1001C000DF4F288139814A815B81C058D040C3010B -:1001D000B2010F94A4659B01AC01C701B6010F9455 -:1001E000336C6B017C01CC57DF4F288139814A8108 -:1001F0005B81C458D040C501B4010F94A4659B0134 -:10020000AC01C701B6010F94336C6B017C01C85778 -:10021000DF4F288139814A815B81C858D040EC96F4 -:100220006CAD7DAD8EAD9FADEC970F94A4659B0139 -:10023000AC01C701B6010F94336C6B017C012FEE4A -:100240003FEF4FE75FE30F94946E18160CF4ABC6C4 -:100250002FEE3FEF4FE75FEBC701B6010F943E650E -:1002600087FF08C05FEEC52EDD24DA945FE7E52E38 -:100270005FEBF52EC458DF4F288139814A815B81BD -:10028000CC57D040AF966CAD7DAD8EAD9FADAF97E6 -:100290000F94336C69837A838B839C83C058DF4FC0 -:1002A000288139814A815B81C058D040C301B201A5 -:1002B0000F94336C6D837E838F839887CC57DF4F89 -:1002C000288139814A815B81C458D040C501B4017D -:1002D0000F94336C69877A878B879C87C857DF4F69 -:1002E000288139814A815B81C858D040EC966CAD39 -:1002F0007DAD8EAD9FADEC970F94336C6D877E878F -:100300008F87988B8E010F5F1F4FAD961FAF0EAF7B -:10031000AD97005F1F4FA3961FAF0EAFA397AD968B -:100320000EAD1FADAD97812C912C5401D8014D908D -:100330005D906D907D908D0120E030E0A901C301BA -:10034000B2010F943E65882371F0A3019201C301AD -:10035000B2010F94A4659B01AC01C501B4010F94D7 -:10036000346C4B015C01A396EEADFFADA397E01793 -:10037000F107E1F6C501B4010F94326F9B01AC01A6 -:1003800060E070E080E89FE30F942E6D4B015C010C -:10039000AD960EAD1FADAD97A5019401D8016D913D -:1003A0007D918D919C910F94A465F8016193719357 -:1003B000819391938F01A3962EAD3FADA3972E17F6 -:1003C0003F0751F701EA1CE0E1965FACE197E29646 -:1003D0006FACE297E3967FACE397E4964FACE4977B -:1003E000AD96AEADBFADAD978D909D90AD90BD90EB -:1003F000AD96BFAFAEAFAD9720E030E0A901C5012B -:10040000B4010F943E6581114EC50C5F1F4FA3963A -:100410002EAD3FADA397AD964EAD5FADAD97241712 -:100420003507F1F6A701960160E070E080E89FE3F0 -:100430000F94336C20E030E040E05FE30F94A4655C -:100440000F94326F4B015C012091A4143091A514DC -:100450004091A6145091A714652D762D872D942DCB -:100460000F94A465A50194010F94A465AF966CAF99 -:100470007DAF8EAF9FAFAF97A501940160E070E0B4 -:1004800080E89FE30F94336C9B01AC01AF966CAD99 -:100490007DAD8EAD9FADAF970F942E6DAC966FAFC7 -:1004A000AC97E9967FAFE9978C0184E5829DF001D6 -:1004B000839DF00D1124E551FB4E85849684A7841D -:1004C000B08820E030E040E85FE3C501B4010F945C -:1004D0003E6587FD0FC584E5829DF001839DF00D8B -:1004E0001124E551FB4EC180D280E380F480960157 -:1004F000A701A4966FADA497A8967FADA897E5969F -:100500008FADE597E0969FADE0970F94946E181627 -:1005100064F4A496CFAEA497A896DFAEA897E5960C -:10052000EFAEE597E096FFAEE097AC962FADAC97B7 -:10053000E9963FADE997A801A4966FADA497A89658 -:100540007FADA897E5968FADE597E0969FADE097D4 -:100550000F94946E181694F4AC96EFACAC97A496E6 -:10056000EFAEA497E996FFACE997A896FFAEA897DF -:10057000E5960FAFE597E0961FAFE09780E1FE01AB -:100580007196ACE6BCE001900D928A95E1F784E5A6 -:10059000829D8001839D100D112405511B4EA49650 -:1005A0008FADA497A8969FADA897E596AFADE597B8 -:1005B000E096BFADE097F80181879287A387B48763 -:1005C000E4966CAD7DAD8EAD9FADE49790589B01E8 -:1005D000AC010F94346CD8011D962D913D914D9135 -:1005E0005C9150970F94A4659B01AC016BE077ED93 -:1005F00083E29BE30F94336C4BE0C42E47EDD42E83 -:1006000043E2E42E4BE3F42EF801C582D682E78262 -:10061000F086B080C180D280E380F480A70196018B -:100620000F94946E87FDD7C483E08B2994E5929D47 -:10063000F001939DF00D1124E551FB4E808380E184 -:10064000FE01B196A6EFBBE101900D928A95E1F70C -:10065000C092F21BD092F31BE092F41BF092F51BB8 -:1006600080E1FE01EF5AFF4FA6E1BCE101900D923F -:100670008A95E1F780E1FE01EF5BFF4FA6E0BCE168 -:1006800001900D928A95E1F79091F01B8091F11BFA -:10069000981303C084E68093ED1BC856DF4F888112 -:1006A000C859D0408F5F8F708093F01B8091F01BF2 -:1006B0009091EF1B81508F7089138FC41091F11BA3 -:1006C000A4961FAFA497E090F01BA896EFAEA89752 -:1006D00024E5A496FFACA497A8960FADA897F012B6 -:1006E00033C5812C912CA12CB12CE5961FAEE5973A -:1006F000E0961FAEE097E1961FAEE197AC961FAE75 -:10070000AC97212C312C00E010E0A896EFACA89714 -:10071000A496FFACA497EF1026C52114310409F06C -:10072000F6C580916F00826080936F0081E07EC784 -:1007300080E07CC7E090E50CF090E60C0091E70CBF -:100740001091E80CC3C98091B10C9091B20CA091AA -:10075000B30CB091B40CC816D906EA06FB0608F033 -:100760002FCA8C199D09AE09BF09BC01CD01660FC6 -:10077000771F881F991FC857DF4F4881C858D0403E -:10078000042F10E020E030E0A90198010F94946B51 -:10079000CA01B9010F9443650F94A16E6C0D7D1DC4 -:1007A0008E1D9F1D0F9443659B01AC0160E074E2B8 -:1007B00084E799E40F942E6D4B015C0101CAA701F7 -:1007C0009601C301B2010F942E6D7B016C019B0158 -:1007D000AC01A4966FADA497A8967FADA897E096BC -:1007E0008FADE097E1969FADE1970F94946E181648 -:1007F0000CF0ADCAA496EFAEA497A896FFAEA8974A -:10080000E096CFAEE097E196DFAEE197A0CAAF9653 -:10081000ECACFDAC0EAD1FADAF97EF28E02AE12A9E -:1008200049F02091D50C3091D60C4091D70C5091C5 -:10083000D80C08C02091DD0C3091DE0C4091DF0C0B -:100840005091E00CA7966CAD7DAD8EAD9FADA79796 -:100850000F94A4650F94126D0F94A76D2B013C01AA -:10086000AF96ECACFDAC0EAD1FADAF97EF28E02A14 -:10087000E12AF9F0E091870E04E0E09FF0011124F5 -:10088000EC59F34F20E030E0A90160817181828151 -:1008900093810F943E65882361F081E0E896ECAC8B -:1008A000FDAC0EAD1FADE8971E141F041006110617 -:1008B0000CF080E094E5929D8001939D100D112431 -:1008C00005511B4ED801D7968C93882309F4D0C0CC -:1008D0002091061C3091071C4091081C5091091C66 -:1008E00025966CAD7DAD8EAD9FAD25970F94336C85 -:1008F000AB966CAF7DAF8EAF9FAFAB9720910A1CCC -:1009000030910B1C40910C1C50910D1C29966CAD24 -:100910007DAD8EAD9FAD29970F94336CE8966CAF8B -:100920007DAF8EAF9FAFE89720910E1C30910F1CCA -:100930004091101C5091111C2D966CAD7DAD8EAD6B -:100940009FAD2D970F94336C6B017C01AB962CAD52 -:100950003DAD4EAD5FADAB97CA01B9010F94A46533 -:10096000AB966CAF7DAF8EAF9FAFAB97E8962CADDB -:100970003DAD4EAD5FADE897CA01B9010F94A465D6 -:100980009B01AC01AB966CAD7DAD8EAD9FADAB97D1 -:100990000F94346CAB966CAF7DAF8EAF9FAFAB97BF -:1009A000A7019601C701B6010F94A4659B01AC0194 -:1009B000AB966CAD7DAD8EAD9FADAB970F94346CA7 -:1009C0000F94326F6B017C012091121C3091131C2B -:1009D0004091141C5091151C61966CAD7DAD8EAD8F -:1009E0009FAD61970F94336CA70196010F942E6D04 -:1009F0006B017C01F801FE9660837183828393838F -:100A000020E030E040E450E40F94946E18161CF49B -:100A1000F80117AA2DC0E091870E04E0E09FF001D5 -:100A20001124EC59F34F2081318142815381C70158 -:100A3000B6010F94A4659B01AC016091A014709164 -:100A4000A1148091A2149091A3140F942E6DA796D7 -:100A50002CAD3DAD4EAD5FADA7970F94A4650F943F -:100A6000A76D641575058605970510F42B013C01EB -:100A70008091A8149091A914A091AA14B091AB14DC -:100A8000C458DF4FE880F9800A811B81CC57D040E1 -:100A90008E159F05A007B10708F4DEC081149104EC -:100AA000A104B10421F16091AC147091AD14809156 -:100AB000AE149091AF146415750586059705B8F4CA -:100AC000A80197010F94846B6B017C01A50194012F -:100AD000C301B2010F94846BC616D706E806F90667 -:100AE00030F4C701B6010F94946B29013A0184E5F3 -:100AF000829DF001839DF00D1124E551FB4EC18CC8 -:100B0000D28CE38CF48CC114D104E104F10451F1D2 -:100B10006091B0147091B1148091B2149091B3149B -:100B20006415750586059705E8F4C458DF4F2881DC -:100B300039814A815B81CC57D0400F94846B4B0143 -:100B40005C01A7019601C301B2010F94846B861664 -:100B50009706A806B90630F4C501B4010F94946B4A -:100B600029013A0184E5829DF001839DF00D112455 -:100B7000E551FB4EC58CD68CE78CF0A0C114D10496 -:100B8000E104F10451F16091B4147091B5148091B5 -:100B9000B6149091B7146415750586059705E8F4A9 -:100BA000C458DF4F288139814A815B81CC57D040BE -:100BB0000F94846B4B015C01A7019601C301B20144 -:100BC0000F94846B86169706A806B90630F4C50103 -:100BD000B4010F94946B29013A0184E5829DF001E0 -:100BE000839DF00D1124E551FB4EC1A0D2A0E3A0DE -:100BF000F4A0C114D104E104F10409F4A2C9609184 -:100C0000B8147091B9148091BA149091BB14641502 -:100C100075058605970508F094C9C458DF4F2881EB -:100C200039814A815B81CC57D0400F94846B4B0152 -:100C30005C01A7019601C301B2010F94846B861673 -:100C40009706A806B90608F07CC9C501B4010F943F -:100C5000946B29013A0175C981149104A104B1046E -:100C6000D9F16091AC147091AD148091AE14909153 -:100C7000AF14641575058605970570F50F944365E7 -:100C8000C058DF4F288139814A815B81C058D040EC -:100C90000F94A4656B017C01C501B4010F944365F9 -:100CA0004B015C01C301B2010F944365A50194019E -:100CB0000F94A4659B01AC01C701B6010F943E657A -:100CC00087FF0AC0A5019401C701B6010F942E6DDC -:100CD0000F94A76D2B013C0184E5829DF001839D5B -:100CE000F00D1124E551FB4E818C928CA38CB48CB9 -:100CF00081149104A104B104D9F16091B0147091F0 -:100D0000B1148091B2149091B314641575058605E1 -:100D1000970570F50F944365C058DF4F28813981DE -:100D20004A815B81C058D0400F94A4656B017C015F -:100D3000C501B4010F9443654B015C01C301B201CD -:100D40000F944365A50194010F94A4659B01AC0128 -:100D5000C701B6010F943E6587FF0AC0A501940143 -:100D6000C701B6010F942E6D0F94A76D2B013C01A6 -:100D700084E5829DF001839DF00D1124E551FB4E29 -:100D8000858C968CA78CB0A081149104A104B10429 -:100D9000D9F16091B4147091B5148091B61490910A -:100DA000B714641575058605970570F50F944365AE -:100DB000C058DF4F288139814A815B81C058D040BB -:100DC0000F94A4656B017C01C501B4010F944365C8 -:100DD0004B015C01C301B2010F944365A50194016D -:100DE0000F94A4659B01AC01C701B6010F943E6549 -:100DF00087FF0AC0A5019401C701B6010F942E6DAB -:100E00000F94A76D2B013C0184E5829DF001839D29 -:100E1000F00D1124E551FB4E81A092A0A3A0B4A037 -:100E200081149104A104B10409F48BC86091B81431 -:100E30007091B9148091BA149091BB146415750522 -:100E40008605970508F07DC80F944365C058DF4FAD -:100E5000288139814A815B81C058D0400F94A465B4 -:100E60006B017C01C501B4010F9443654B015C012A -:100E7000C301B2010F944365A50194010F94A465C9 -:100E80009B01AC01C701B6010F943E6587FF59C8AD -:100E9000A5019401C701B6010F942E6D0F94A76DA3 -:100EA0002B013C014EC8F8016081718182819381E0 -:100EB0000F944365A50194010F942E6D4B015C01C5 -:100EC00020E030E0A9010F94946E87FF04C0B7FAC8 -:100ED000B094B7F8B094252D362D472D542DC5016B -:100EE000B4010F943E6587FF90CA582C692C7A2C68 -:100EF0004B2C8BCAA7019601C701B6010F94A465BC -:100F000023EC38EB42E35FEB0F94A46523EF36E666 -:100F10004FE55FE30F94336CA70196010F94A4652E -:100F20002BED3FE049EC5FE30F94346C2CEE31E5A0 -:100F300048E35EE30F94336C6B017C0124EE3BECE1 -:100F400046E150E40F94946E18160CF0C4CAA70141 -:100F500096016BED7FE089E490E40F94336C9B0184 -:100F6000AC01C501B4010F942E6D252D362D472DF2 -:100F7000542D0F94A4656B017C019B01AC01AC96D0 -:100F80006FADAC97E9967FADE997C8010F94946E69 -:100F900018160CF0A0CAAC96CFAEAC97E996DFAEAF -:100FA000E997870198CA0BE0AC960FAFAC9717EDA5 -:100FB000E9961FAFE99703E21BE38DCAA4961FAE23 -:100FC000A497A8961FAEA897E5961FAEE597E09662 -:100FD0001FAEE097D3CA81E028CBF090F01B8FEFD3 -:100FE0008F0D8F70A4968FAFA497B090EF1B809158 -:100FF000F01BB81609F476C0C12CD12CA496EFAC26 -:10100000A497EB1409F46EC06E2C712C34E5F32E0A -:10101000F69C8001F79C100D112405511B4ED80140 -:101020008C9183FD3CC0AC960FAFAC97E9961FAF97 -:10103000E99701151105C9F11996EC901997A89631 -:10104000EFAEA8971A96FC901A97E596FFAEE59733 -:101050001B96EC901B97E096EFAEE0971C96FC90E9 -:101060001C97E196FFAEE19715962D903D904D901F -:101070005C901897A2019101A8966FADA897E5968C -:101080007FADE597C7010F943E658111BDC1C114C5 -:10109000D10459F0D6018C9180FDB6C106C0AC9642 -:1010A000CFAEAC97E996DFAEE997A4968FADA49743 -:1010B00081508F70A4968FAFA4978091EF1B8B11F6 -:1010C00007C0AC96CFACAC97E996DFACE99796CF6A -:1010D000A496EFACA497EB1429F081E08B0D8F70F0 -:1010E000B82EEBCFF090EF1BA496FFAEA497C12CC7 -:1010F000D12C8091F01BA4960FADA497801709F412 -:10110000DDCA802E912C24E5289D8001299D100D9B -:10111000112405511B4ED8018C9183FD0AC0580142 -:10112000C114D10439F0C6010F941652811102C0C6 -:10113000FAC15601A4968FADA4978F5F8F70A496C5 -:101140008FAFA4976501D5CF802F81508F70289FD6 -:10115000F0011124E551FB4E908193FFC2CAA8967D -:101160008FAFA897B6CA24E52F9DC0011124AC010A -:1011700045515B4E1A01DA018C9183FD19C0159619 -:101180006D917D918D919C9118970F94326FF62EF1 -:10119000E72ED82EC92E0115110509F49EC0F801BD -:1011A000808180FD12C0D1018C9180FD0EC095C060 -:1011B000E596FFACE597E096EFACE097E196DFAC03 -:1011C000E197AC96CFACAC978DC0F801808181607F -:1011D0008083C8010F94165281117BC0F801618190 -:1011E0007281838194810F94326F2B013C019B01AA -:1011F000AC0160E070E080E89FE30F942E6D4B013E -:101200005C019B01AC016F2D7E2D8D2D9C2D0F94CB -:10121000A46569837A838B839C83E5962FADE597DC -:10122000E0963FADE097E1964FADE197AC965FADAC -:10123000AC97C501B4010F94A465698B7A8B8B8B35 -:101240009C8BAE014F5F5F4FBE016F5E7F4FC80149 -:101250000F94523ED801D7968C918823D1F1E0911A -:10126000870EB4E0EB9FF0011124EC59F34FD80145 -:10127000DE962D913D914D915C91608171818281CD -:1012800093810F94A4652091C10C3091C20C4091C0 -:10129000C30C5091C40C0F94A4654B015C019B01DD -:1012A000AC01C301B2010F94A4650F94A76DF801BE -:1012B00073AF62AFA50194016F2D7E2D8D2D9C2DF6 -:1012C0000F94A4650F94A76DD801DD967C936E935F -:1012D000DC97F80180818E7F80838F2C9E2CAD2C33 -:1012E000BC2C8101A4968FADA4978F5F8F70A496BC -:1012F0008FAFA497E596FFAEE597E096EFAEE09747 -:10130000E196DFAEE197AC96CFAEAC97FEC9D101C6 -:101310008C9181608C93C8010F94165281116FC01B -:10132000F10161817281838194810F94326F6B012D -:101330007C019B01AC0160E070E080E89FE30F94CA -:101340002E6D2B013C012DEC3CEC4CE45DE30F9445 -:10135000A46569837A838B839C839401A501C3016F -:10136000B2010F94A465698B7A8B8B8B9C8BAE0139 -:101370004F5F5F4FBE016F5E7F4FC1010F94523EC2 -:10138000D101D7968C918823D1F1E091870EB4E0FA -:10139000EB9FF0011124EC59F34FD101DE962D9112 -:1013A0003D914D915C9160817181828193810F9417 -:1013B000A4652091C10C3091C20C4091C30C509196 -:1013C000C40C0F94A4654B015C019B01AC01C701E7 -:1013D000B6010F94A4650F94A76DF10173AF62AFCE -:1013E0002DEC3CEC4CE45DE3C501B4010F94A46525 -:1013F0000F94A76DD101DD967C936E93DC97F1017C -:1014000080818E7F80838DC984E5E82EE69CF00183 -:10141000E79CF00D1124E551FB4E808181FD4BC00E -:10142000C114D10431F0F601C580D680E780F08484 -:1014300008C02BE0C22E27EDD22E23E2E22E2BE3B2 -:10144000F22E24E5269DF001279DF00D1124E55193 -:10145000FB4E81899289A389B489BC01CD01905842 -:101460009B01AC010F94346CD8011D962D913D91D8 -:101470004D915C9150970F94A4659B01AC01C701FD -:10148000B6010F94336CE62E872E982EA92E262FA8 -:10149000372F482F592FA8966FADA897E5967FADA7 -:1014A000E597E0968FADE097E1969FADE1970F94B9 -:1014B0003E6587FF0CC0A896EFACA897E5968FAC69 -:1014C000E597E0969FACE097E196AFACE1972E2DC3 -:1014D000382D492D5A2DC201B1010F943E65882344 -:1014E00009F4E3CDB4E5B69DC001B79D900D11247C -:1014F000FC01E551FB4E6F01808181608083C80152 -:101500000F941652882329F0D6018C918E7F8C93EC -:10151000CCCD8E2D982DA92DBA2DF60185839683DD -:10152000A783B087C2CDD6018C9181FD58C0D6016A -:1015300015962D913D914D915C911897AB962CAFDE -:101540003DAF4EAF5FAFAB971501B5E02B0E311C31 -:10155000F8014580568067807084A3019201AB96A4 -:101560006CAD7DAD8EAD9FADAB970F943E6587FFA3 -:1015700036C0F60181899289A389B489BC01CD0165 -:1015800090589B01AC010F94346CD6011D962D919F -:101590003D914D915C9150970F94A4659B01AC01D6 -:1015A000AB966CAD7DAD8EAD9FADAB970F94336CAC -:1015B0006B017C019B01AC01C301B2010F94946EDD -:1015C00018166CF4D8018C9181608C93C5010F942E -:1015D00016528823F9F0F80180818E7F808394E58C -:1015E000F92EF89CF001F99CF00D1124E551FB4E09 -:1015F00021853285438554856581768187819085F3 -:101600000F943E65811196CDA4960FADA4970093DB -:10161000EF1B90CDD101CD92DD92ED92FC9213970C -:10162000A496EFACA497E092EF1BD9CFC656DF4F3C -:101630000FB6F894DEBF0FBECDBFDF91CF911F91E3 -:101640000F91FF90EF90DF90CF90BF90AF909F9061 -:101650008F907F906F905F904F903F902F90089564 -:101660008091F01B9091F11B891B8F708F3021F4BA -:1016700080E00E94F467F4CF8091F01B8F5F8F7041 -:10168000E091F01B94E59E9FF0011124E551FB4E83 -:10169000DF011D929A95E9F798E090834091161C1E -:1016A0005091171C6091181C7091191C458B568B1A -:1016B000678B708F40911A1C50911B1C60911C1CF1 -:1016C00070911D1C418F528F638F748F40911E1C2F -:1016D00050911F1C6091201C7091211C458F568FCA -:1016E000678F70A34091221C5091231C6091241C91 -:1016F0007091251C41A352A363A374A32091F01BF6 -:101700009091F11B291303C094E69093ED1B8093F5 -:10171000F01B80916F00826080936F00089580912C -:10172000090180FD06C08091001E83FB882780F997 -:10173000089580E008950F931F93CF93DF938B015B -:10174000D82FC92F4630C1F41092920C1092930CEE -:101750001092940C1092950C1092960C0E943AA044 -:1017600020E030E04CE053E4B8018D2F9C2F0F9423 -:101770003E6587FD0FC01DC00F94824C20E030E015 -:1017800046E953E4B8018D2F9C2F0F943E6587FDE9 -:1017900020C02EC020E030E0A901B8018D2F9C2F81 -:1017A0000F94946E18164CF000E010E0D0E0C0E00A -:1017B00004C000E010E0DCE0C3E4B8018D2F9C2FF2 -:1017C0000F94A06DCB01DF91CF911F910F910C94DD -:1017D000AEDD20E030E0A901B8018D2F9C2F0F94E1 -:1017E000946E18164CF000E010E0D0E0C0E004C0A9 -:1017F00000E010E0D6E9C3E4B8018D2F9C2F0F94D0 -:10180000A06DCB01DF91CF911F910F910C94C2B8C5 -:1018100090916A1A977081E0973009F080E00895FE -:101820008091F01B9091F11B891B8F7069F480915E -:10183000EE0B811109C081E020916B0A30916C0A96 -:10184000232B19F480E0089581E00895E091870E3C -:10185000E150E53028F4F0E0EE50FD4F808108952E -:1018600080E008953F924F925F926F927F928F92A5 -:101870009F92AF92BF92CF92DF92EF92FF920F931F -:101880001F93CF93DF93CDB7DEB762970FB6F8946F -:10189000DEBF0FBECDBF2B013C01342E24E0429FA2 -:1018A000C00111249A8B898BFC01E958F14FC0804B -:1018B000D180E280F38020E030E04AE754E4C701C1 -:1018C000B6010F94336C4B015C0120E030E04AE735 -:1018D00054E4C701B6010F94346C7B018C018091F4 -:1018E00043028823D1F181E0381639F13816A0F08F -:1018F00092E0391232C08090350290903602A0906A -:101900003702B0903802E0903902F0903A0200912C -:101910003B0210913C0221C080902502909026024B -:10192000A0902702B0902802E0902902F0902A02AD -:1019300000912B0210912C0210C080902D029090EB -:101940002E02A0902F02B0903002E0903102F09071 -:101950003202009133021091340280E1E2EEF2E0B3 -:10196000DE01119601900D928A95E1F7E1E0F0E039 -:10197000EC0FFD1F89899A89E80FF91F20E030E0FC -:1019800040E752E460817181828193810F942E6DD2 -:1019900060933D0270933E0280933F029093400219 -:1019A00080916B1A81FF0E94BCDD9201A301B701F7 -:1019B000C8010F94946E181614F4720183019701F4 -:1019C000A801B401C5010F943E6587FD02C07401F2 -:1019D0008501E989FA89E25AF14FC701D80180836C -:1019E0009183A283B38380916B1A826080936B1A78 -:1019F00062960FB6F894DEBF0FBECDBFDF91CF91D8 -:101A00001F910F91FF90EF90DF90CF90BF90AF901C -:101A10009F908F907F906F905F904F903F90089530 -:101A200020916B1A90E0880F991F880F991FFC0175 -:101A300021FF03C0E25AF14F02C0E958F14F608123 -:101A4000718182819381089520916B1A20FF14C0C7 -:101A500020E83EE3629FA001639F500D729F500DEE -:101A60001124CA019695879596958795009731F030 -:101A70008A950000E9F708950D94CA5308959F923E -:101A8000AF92BF92CF92DF92EF92FF920F931F938C -:101A9000CF93DF938091C914833009F50E94088C9D -:101AA0008823E9F06091370A7091380A072E000CFC -:101AB000880B990B0F94456520E030E040E85FE328 -:101AC0000F94336C2091330A3091340A4091350AD7 -:101AD0005091360A0F943E6518160CF066C0D0E09F -:101AE00000E010E0FF24F394EE24E39446E0D42ECB -:101AF000C0E0CC24C39456E0B52E65E0A62E72E873 -:101B0000972EFC24DC16F1F18D2F90E08397C4F51D -:101B1000C530B1F10530A1F1DF5FF801BC9EE00DE9 -:101B2000F11D1124EE0FFF1FEE0FFF1FEA5CF24FB5 -:101B300020E030E04AE754E4608171818281938142 -:101B40000F94A4650F94A06D7093851C6093841C02 -:101B5000A092781C90927B1C8D2F90E08158974F1B -:101B6000880F991F092E000CAA0BBB0B80937C1CBD -:101B700090937D1CA0937E1CB0937F1C0F94B03873 -:101B8000CE0DC0CF0F5F1F4F0630110579F1F11058 -:101B900006C0EE24EA94DD24DA94C5E0B2CFEE2448 -:101BA000E39436E0D32EC0E0ACCF81E09AE5909389 -:101BB000851C8093841C80E490E09093871C809324 -:101BC000861C87E08093781C82E880937B1C84E8E5 -:101BD00090E0A0E0B0E080937C1C90937D1CA093EB -:101BE0007E1CB0937F1C0F94B03879CFDF91CF91DA -:101BF0001F910F91FF90EF90DF90CF90BF90AF902B -:101C00009F900895AF92BF92CF92DF92EF92FF9292 -:101C10000F931F93CF93DF93EC0188EEC82E80E2E1 -:101C2000D82EE12CF12C02E8A12C90E2B92E15E07F -:101C300000937B1CC0927C1CD0927D1CE0927E1C89 -:101C4000F0927F1CB092851CA092841C1093781C8B -:101C50000F94B0388FEFC81AD80AE80AF80A80E162 -:101C6000C81681E2D806E104F10411F748EE50E20B -:101C700060E070E0CE01DF91CF911F910F91FF9056 -:101C8000EF90DF90CF90BF90AF900D945F3884E0DD -:101C90008093C81482E08093C60881E09AE590930F -:101CA000851C8093841C8EE490E09093871C809325 -:101CB000861C87E08093781C82E880937B1C84E8F4 -:101CC00090E0A0E0B0E080937C1C90937D1CA093FA -:101CD0007E1CB0937F1C0F94B0388CE896E00C9477 -:101CE000CE67CF92DF92EF92FF926A017B010E9452 -:101CF000C2A3882331F0FF90EF90DF90CF900C9437 -:101D000042A3C701B601FF90EF90DF90CF900895F6 -:101D10002F923F924F925F926F927F928F929F92FB -:101D2000AF92BF92CF92DF92EF92FF920F931F93E9 -:101D3000CF93DF93CDB7DEB7CC54D1090FB6F8946B -:101D4000DEBF0FBECDBF60E070E085E40E94CFA390 -:101D5000182F81E0810F823018F080ED96E340C0AB -:101D600065E070E083E40E94CFA389A760E085E589 -:101D70000E94FEDE2B968FAF2B9717FF05C040E029 -:101D800050E06CE872E404C040E050E066E173E4C7 -:101D900083E50E94718E0F94A06D072E000C880BB6 -:101DA000990B0F9445656D837E838F832D969FAF2E -:101DB0002D970E94E7EF2B013C011F3F09F0EBC478 -:101DC00020E030E047E053E46D817E818F812D96E5 -:101DD0009FAD2D970F94946E1816ECF485EA96E358 -:101DE000C45BDF4F0FB6F894DEBF0FBECDBFDF91EF -:101DF000CF911F910F91FF90EF90DF90CF90BF9008 -:101E0000AF909F908F907F906F905F904F903F909A -:101E10002F900D94365481E996E30F9436540E9426 -:101E200089A08FE78093390A24EB30E0A8EEB3E075 -:101E30000F94E86B6BA77CA78DA79EA79B01AC01B5 -:101E4000240D351D461D571D28AF39AF4AAF5BAF76 -:101E500081E08093140210921F021F3FF9F48BEA75 -:101E60009AEAAAEABEE38CAF9DAFAEAFBFAF2DEC4E -:101E70003CEC4CE45EE324962CAF3DAF4EAF5FAF3D -:101E8000249749ED55E326965FAF4EAF269783EA38 -:101E900095E328969FAF8EAF28971EC020E030E0D4 -:101EA00040E05EE32CAF3DAF4EAF5FAF8AE999E90A -:101EB000A9E1BFE324968CAF9DAFAEAFBFAF24972F -:101EC000A7ECB5E32696BFAFAEAF2697E0E9F5E302 -:101ED0002896FFAFEEAF289749A25AA26BA27CA228 -:101EE0004FA658AA69AA7AAA2FE730E040E050E04E -:101EF000288739874A875B87188A198A1A8A1B8A32 -:101F00001C861D861E861F86C12CD12C76011E8A3A -:101F100030E43F8B4CE1488F56E4598F1A8E1B8E6C -:101F20001C8E1D8E1BAACCAADDAAEEAAFFAAFFE773 -:101F30008F2E912CA12CB12C1DA21EA21FA218A67F -:101F400081E088A31D8A1C8A212C312C00E02C966C -:101F50001FAE2C97A7E11A02C0011124885E954F8D -:101F6000FC013A962A96FFAFEEAF2A979C012C5FB0 -:101F70003F4F3F8F2E8F49A5042E000C550B5AA7BB -:101F800049A780911402882309F457C20E94E7EF01 -:101F900069837A838B839C8380919D0C882309F4C9 -:101FA000BAC00E9491A11F3F61F42090330A309083 -:101FB000340A0091350A5091360A2C965FAF2C975F -:101FC0000EC0AE8DBF8D2C9011963C90119712963D -:101FD0000C9112971396BC912C96BFAF2C972A8D1B -:101FE0003B8D4C8D5D8DB101802F2C969FAD2C9734 -:101FF0000F94946E18163CF42A8E3B8E0C8F2C9600 -:10200000EFAD2C97ED8F2E893F89488D598DB10109 -:10201000802F2C969FAD2C970F943E6587FF07C0AD -:102020002E8A3F8A088F2C96FFAD2C97F98F28A116 -:10203000222309F44DC09101402F2C965FAD2C97BF -:102040006D817E818F812D969FAD2D970F943E657A -:1020500087FF61C049815A816B817C814419550990 -:1020600066097709DB01CA0188589341A109B109C2 -:10207000B7FD51C088859985AA85BB8588199909BE -:10208000AA09BB09B595A795979587951F3F19F4A0 -:102090008093390A05C02A96EEADFFAD2A9780835A -:1020A0004DA35EA36FA378A7FD81FA8F2E812B8F9E -:1020B0003F813C8F2D964FAD2D974D8F89819A8111 -:1020C000AB81BC8189A39AA3ABA3BCA318A223C0F4 -:1020D0009101402F2C965FAD2C976D817E818F8171 -:1020E0002D969FAD2D970F94946E1816A4F48981A8 -:1020F0009A81AB81BC8129A13AA14BA15CA1821B31 -:10210000930BA40BB50BAC01BD01485853416109B9 -:10211000710977FFB1C120E030E040EA51E46D8100 -:102120007E818F812D969FAD2D970F94346C9101F8 -:10213000402F2C965FAD2C970F943E6587FF03C010 -:102140008BEF95E3BCC089819A81AB81BC812FA5BF -:1021500038A949A95AA9821B930BA40BB50BB7FD4B -:1021600093C01F3F19F48091870E01C0812F0E94F8 -:10217000AF968AE00E94B06689819A81AB81BC816A -:102180008053984FAF4FBF4F8FA798ABA9ABBAAB57 -:102190009BA9911159C02CA93DA94EA95FA9B101D4 -:1021A000802F2C969FAD2C970F94946E1816BCF52B -:1021B00020E030E040E050E4B101802F2C969FAD4C -:1021C0002C970F94346C6CAB7DAB8EAB9FAB2BA577 -:1021D0003CA54DA55EA589819A81AB81BC81280F64 -:1021E000391F4A1F5B1F28AF39AF4AAF5BAF20E0F2 -:1021F00030E040EC50E46D817E818F812D969FAD63 -:102200002D970F94336C9101402F2C965FAD2C9736 -:102210000F943E65881F8827881F8BAB35C0898146 -:102220009A81AB81BC8128AD39AD4AAD5BAD821BD3 -:10223000930BA40BB50BB7FD27C026964EAD5FAD33 -:1022400026976CEE75E31DC020E030E040EA51E4D3 -:102250006D817E818F812D969FAD2D970F94336C6C -:102260009B01AC01B101802F2C969FAD2C970F9450 -:102270003E6587FF09C028964EAD5FAD289767EB96 -:1022800075E3812F0F947B4D89819A81AB81BC814D -:10229000880F991FAA1FBB1F29A13AA14BA15CA1BE -:1022A000821B930BA40BB50B84199509A609B709DA -:1022B00081389F44A241B10528F082E795E30F944D -:1022C0003654BBC049A55AA58C899D894817590722 -:1022D0000CF0B0C003970CF4ADC085E195E30F940A -:1022E00036541F3F29F4A5E0B5E3BA83A98304C09F -:1022F000E4E0F5E3FA83E98383EF94E30F94365443 -:1023000089819A810F943654B701A60181E195E342 -:102310000F9482548AE00E94B06683EF94E30F9496 -:10232000365489819A810F9436544C855D856E852B -:102330007F858DE095E30F9482548AE00E94B06619 -:1023400083EF94E30F94365489819A810F94365425 -:10235000488959896A897B8989E095E30F94825479 -:102360008AE00E94B0662B96FFAD2B97FF2309F4FD -:1023700066C01F3F69F5C0923A0AD0923B0AE092CC -:102380003C0AF0923D0A2CEA35EC47E25EE36C85AC -:102390007D858E859F850F94A46560933E0A70931A -:1023A0003F0A8093400A9093410A2CEA35EC47E2B9 -:1023B0005EE3688979898A899B890F942E6D609381 -:1023C000420A7093430A8093440A9093450A37C0A7 -:1023D00047E1140290011124285E354F3A83298386 -:1023E000D9011B96CD92DD92ED92FC921E972CEABC -:1023F00035EC47E25EE36C857D858E859F850F9485 -:10240000A465E981FA816787708B818B928B2CEAB6 -:1024100035EC47E25EE3688979898A899B890F9464 -:102420002E6DA981BA8153966D937D938D939C9364 -:10243000569705C00E941531A4CD0E9489A081E065 -:1024400080931F02C45BDF4F0FB6F894DEBF0FBE50 -:10245000CDBFDF91CF911F910F91FF90EF90DF9053 -:10246000CF90BF90AF909F908F907F906F905F9034 -:102470004F903F902F9008954C895D89452B09F42A -:1024800051C14DA05EA06FA078A4480E591E6A1ECF -:102490007B1E2DA13EA14FA158A5281B390B4A0B2D -:1024A0005B0BC501B4010F94846BA30192010F94DF -:1024B000B66B88849984AA84BB84820E931EA41E62 -:1024C000B51E54E185169104A104B1040CF18CEE03 -:1024D00088169104A104B1043CF490E88916910493 -:1024E000A104B10434F422C06BEE862E912CA12CF1 -:1024F000B12C88869986AA86BB862EEF30E040E014 -:1025000050E0281939094A095B0949015A0112C0EA -:1025100084E190E0A0E0B0E088879987AA87BB8734 -:1025200054E1852E912CA12CB12C04C0888699866B -:10253000AA86BB8689E896E30F9436546885798528 -:102540008A859B850E94246784E896E30F9436541D -:10255000C501B4010E9424674E895F89688D798D19 -:102560008DE796E30F9482544A8D5B8D6C8D7D8D43 -:1025700086E796E30F948254AC89BD8913970CF4D7 -:10258000D1C0C501B4010F94456520E030E040E8BA -:1025900050E40F94A4656B017C012E893F89488D1E -:1025A000598D6A8D7B8D8C8D9D8D0F94336C2BEDA9 -:1025B0003FE049E450E40F94A46520E030E040E0BF -:1025C0005FE30F94A4659B01AC01C701B6010F94B2 -:1025D0002E6D6B017C01C301B2010F9445652FE69E -:1025E00032E143E85AE30F94A4652B013C01B701A3 -:1025F000A60180E796E30F948254B301A2018AE614 -:1026000096E30F9482541F3F09F044C02DEC3CEC3C -:102610004CE45EE3C701B6010F94A4656B017C0135 -:102620009B01AC010F94346CA30192010F942E6DA9 -:102630006C877D878E879F87A7019601C301B201B2 -:102640000F94A46520E030E040E450E40F942E6D38 -:10265000688B798B8A8B9B8B8AE596E30F94365433 -:10266000B701A60184E596E30F9482544C855D85FD -:102670006E857F858EE496E30F948254488959894C -:102680006A897B8988E496E30F9482548AE00E94E9 -:10269000B0664AC024962CAD3DAD4EAD5FAD2497DB -:1026A000C701B6010F94A4656B017C019B01AC01CD -:1026B000C301B2010F94A4652CAD3DAD4EAD5FAD2D -:1026C0000F94A465688B798B8A8B9B8BA7019601ED -:1026D000C701B6010F94346CA30192010F942E6DC3 -:1026E0006C877D878E879F8788E396E30F943654A7 -:1026F000B701A60182E396E30F9482544C855D8571 -:102700006E857F858CE296E30F94825448895989BF -:102710006A897B8986E296E30F9482548AE00E945C -:10272000B06611C01F3F79F488859985AA85BB855D -:10273000880D991DAA1DBB1DB595A79597958795E1 -:102740008093390A11C088859985AA85BB85880D33 -:10275000991DAA1DBB1DB595A795979587952A9696 -:10276000EEADFFAD2A9780832C893D892F5F3F4FC7 -:102770003D8B2C8B3D813E8B4E814F8B5F81588FE3 -:102780002D968FAD2D97898F49805A806B807C80E4 -:1027900091E098A3C0CCE12E012E000CFF08F701B8 -:1027A00083E0EE0FFF1F8A95E1F7E45FFD4F66813E -:1027B00077816F507109072E000C880B990B0F94CD -:1027C00045659B01AC016D817E818F812D969FAD0A -:1027D0002D970F94946E18160CF400CB81E996E3B4 -:1027E0000F9436540E9489A087E18E9DF0018F9D41 -:1027F000F00D1124E85EF54F8FE7828722E330E089 -:1028000015CB2F923F924F925F926F927F928F9251 -:102810009F92AF92BF92CF92DF92EF92FF920F936F -:102820001F93CF93DF93EB01FC0180809180A28006 -:10283000B380C501B40120E831E541E050E00F94D8 -:10284000946BC9016DE671E00F94036C6B017C0120 -:10285000C501B40120E13EE040E050E00F94946BEC -:10286000CA01B90128E130E040E050E00F94946BD8 -:10287000362E272E062F172F8CE3482E512C612C35 -:10288000712CC501B401A30192010F94946BB62E73 -:10289000A72ECA01B901A30192010F94946BCB0139 -:1028A000C114D104D9F0AF92BF927F936F932F924E -:1028B0003F92FF92EF92DF92CF928FED94E39F933E -:1028C0008F93DF93CF930F94D6648DB79EB70E96F8 -:1028D0000FB6F8949EBF0FBE8DBF5CC0E114F1042B -:1028E000C9F0AF92BF927F936F932F923F92FF9266 -:1028F000EF928FEC94E39F938F93DF93CF930F949A -:10290000D664EDB7FEB73C960FB6F894FEBF0FBE87 -:10291000EDBF40C0012BB9F0AF92BF927F936F9390 -:102920002F923F9283EC94E39F938F93DF93CF9307 -:102930000F94D6648DB79EB70A960FB6F8949EBFD3 -:102940000FBE8DBF27C0892BA9F0AF92BF927F9396 -:102950006F938BEB94E39F938F93DF93CF930F94BD -:10296000D664EDB7FEB738960FB6F894FEBF0FBE2B -:10297000EDBF10C0AF92BF9287EB94E39F938F930C -:10298000DF93CF930F94D6640F900F900F900F901A -:102990000F900F90DF91CF911F910F91FF90EF90CB -:1029A000DF90CF90BF90AF909F908F907F906F906F -:1029B0005F904F903F902F9008958F929F92AF928B -:1029C000BF92CF92DF92EF92FF920F931F93CF931C -:1029D000DF93CDB7DEB7E6970FB6F894DEBF0FBE34 -:1029E000CDBF0091840C1091850C82E080935F0C28 -:1029F000F80101900020E9F731975F01A01AB10AB0 -:102A0000F801CF01801B910B8A159B0534F480815E -:102A10008F3209F410823196F4CF8BE1E2E6FBE1CC -:102A2000DE015C9601900D928A95E1F7E12CF12C84 -:102A3000EA14FB040CF084C0F801EE0DFF1D808148 -:102A4000811103C08FEFE81AF80A6801CE0CDF1C71 -:102A5000F6018081882309F473C0FFEFEF1AFF0AA3 -:102A6000F801EE0DFF1D7F01E01AF10A819181113D -:102A7000FACFCE014C960E94B8B28BE1FE017C9653 -:102A8000DE01119601900D928A95E1F7A601BE0133 -:102A90006F5F7F4F80E090E00E94A373CE010196AC -:102AA0000E94EEB38FE20E94B06680919310811174 -:102AB00003C086EA96E002C083E990E14C01F4018C -:102AC00081914F01882319F00E94B066F8CF809160 -:102AD000001E84FF35C019821C8221E0A601BE01C0 -:102AE000645E7F4FCE0101960E94D1B7811116C05E -:102AF0008AE00E94B0660F94B65483EA94E30F9480 -:102B00003654F60181916F01882319F00E94B06656 -:102B1000F8CFCE0101960E94EEB312C0CE014C96C2 -:102B20000E94E5B38BE1FE013196DE015C960190D7 -:102B30000D928A95E1F7CE0101960E94EEB378CF0F -:102B40008AE00E94B066CE014C960E94EEB3E696F3 -:102B50000FB6F894DEBF0FBECDBFDF91CF911F91AE -:102B60000F91FF90EF90DF90CF90BF90AF909F902C -:102B70008F9008959091001E93FB882780F993FF12 -:102B800006C081E090910C1B911101C080E0089576 -:102B9000CF93DF93E091ED0BF0E0EE51F34E8081A7 -:102BA000882309F447C087E994E30F943654C09111 -:102BB000ED0B40E6C49FE0011124C359D54F888135 -:102BC0008E3479F480E20E94B06689910E94B066EA -:102BD000899190ED980F9A30C8F38D32B9F38B320A -:102BE000A9F384E994E30F9436549091F01B8091FB -:102BF000F11B981B9F706AE070E02FE030E0A901A4 -:102C0000491B5109CA010E94406781E994E30F946E -:102C100036549091EE0B6AE070E024E030E0A901B8 -:102C2000491B5109CA010E9440678AE0DF91CF9198 -:102C30000C94B066DF91CF9108950E94DB678AE91A -:102C400094E30F9436548091800C9091810CA09164 -:102C5000820CB091830CBC01CD016F5F7F4F8F4F11 -:102C60009F4F0E9424670E94C8670C94C8950F93D9 -:102C70001F93CF938C01C62F0F94B254C8010F94A9 -:102C800036546091800C7091810C8091820C9091EF -:102C9000830C0E9424670E94C867C11104C00E946F -:102CA000E0670196E1F70E941D96EC2FEE0FFF0BF7 -:102CB000E258F34F11821082CF911F910F91089526 -:102CC000EF92FF920F931F93CF937C018B014F3FA5 -:102CD00011F4C2E401C0C4E580E20E94B0668C2F0A -:102CE0000E94B0668AE30E94B066F701608171813C -:102CF0008281938142E00E945067F80140815181B6 -:102D00006281738181E498E30F94825462E070E001 -:102D100080E090E0CF911F910F91FF90EF900C9485 -:102D2000ADEF6091200A7091210A072E000C880BEC -:102D3000990B0F94456520911C0A30911D0A409112 -:102D40001E0A50911F0A0F94946E18161CF08DE401 -:102D500098E302C08AE598E360E00D94814B1F93ED -:102D6000CF93DF93CDB7DEB728970FB6F894DEBFC9 -:102D70000FBECDBF182F6091200A7091210A072E37 -:102D8000000C880B990B0F9445656D837E838F83B0 -:102D9000988780911C0A90911D0AA0911E0AB091FB -:102DA0001F0A89839A83AB83BC834CEFBE016B5FA0 -:102DB0007F4FCE0101960E9460966091370A709114 -:102DC000380A072E000C880B990B0F9445656D830C -:102DD0007E838F8398878091330A9091340AA091E3 -:102DE000350AB091360A89839A83AB83BC834FEF4F -:102DF000BE016B5F7F4FCE0101960E9460961F3F20 -:102E000041F087E11802F0011124E85EF54F628578 -:102E100002C06091390A70E089E498E30F949354FA -:102E20006091390A70E084E498E30F9493542896F3 -:102E30000FB6F894DEBF0FBECDBFDF91CF911F91CB -:102E400008952F923F924F925F926F927F928F924E -:102E50009F92AF92BF92CF92DF92EF92FF920F9329 -:102E60001F93CF93DF93CDB7DEB763970FB6F89478 -:102E7000DEBF0FBECDBF898B81E0809314021A8222 -:102E80001B821C821D8219861A861B861C8619824B -:102E90001D862CE32E873CE13F8746E4488B312C8E -:102EA000212C50E85A8B8FEB8B8B91E09887812CEB -:102EB000912C54016091370A7091380A072E000C4A -:102EC000880B990B0F9445657B018C019B01AC012C -:102ED000632D722D8A899B890F943E65882361F149 -:102EE0006091330A7091340A8091350A9091360AC4 -:102EF000A989A1110EC0B1E0B9839701A8010F946F -:102F0000946E18160CF019823E2C2F2C0A8B1B8BFA -:102F100013C09701A8010F94946E181644F4809181 -:102F20001402882309F4F1C00F94224CEEC03E2C09 -:102F30002F2C0A8B1B8B19820E94E7EF6B017C01FF -:102F4000DC01CB0129853A854B855C85821B930B7F -:102F5000A40BB50BB7FD34C0D701C60188519C4FF7 -:102F6000AF4FBF4F89879A87AB87BC878091870E09 -:102F70000E94AF968BE698E30F9436548114910427 -:102F8000A104B104B9F0D501C401805F984DAF4FE1 -:102F9000BF4FBC01CD016C197D098E099F0928EE38 -:102FA00033E040E050E00F94946BCA01B9010E94F5 -:102FB000246703C08FE30E94B0668AE00E94B06677 -:102FC00080E00E94F4670E94E7EF6093621A7093BA -:102FD000631A8093641A9093651A9091330A9E83C2 -:102FE000A091340AAF830091350A1091360A292F37 -:102FF0003A2FA801632D722D8A899B890F94336C17 -:103000002B013C0120E030E0A9010F94946E87FF72 -:1030100004C077FA709477F8709481149104A10435 -:10302000B104B1F420E030E040E85FE3C301B20155 -:103030000F943E6587FF18C0B88546015701BB2332 -:1030400099F020E1820E27E2921EA11CB11C0CC057 -:1030500020E030E040E450E4C301B2010F94946EEC -:10306000181614F44601570139813323A9F18A81D6 -:103070009B81AC81BD81892B8A2B8B2B61F0D70181 -:10308000C6012A813B814C815D81821B930BA40B7D -:10309000B50BB7FD21C02E813F81A8016D857E85CE -:1030A0008F8598890F94336C20E030E040EC5FE32B -:1030B0000F943E6587FD33CFD701C601805A9541F5 -:1030C000AF4FBF4F8A839B83AC83BD839E819D8717 -:1030D000AF81AE870F87188B80911402882309F483 -:1030E0001ECF81149104A104B10411F41886E2CE1C -:1030F000B0E1CB1AB7E2DB0AE108F108C818D90839 -:10310000EA08FB08F7FCF2CF0ACF8091140263961D -:103110000FB6F894DEBF0FBECDBFDF91CF911F91E8 -:103120000F91FF90EF90DF90CF90BF90AF909F9066 -:103130008F907F906F905F904F903F902F90089569 -:103140002F923F924F925F926F927F928F929F92B7 -:10315000AF92BF92CF92DF92EF92FF920F931F93A5 -:10316000CF93DF93CDB7DEB764970FB6F894DEBF89 -:103170000FBECDBF898B6A8B81E0809314021A82C7 -:103180001B821C821D8219861A861B861C8621E0E2 -:10319000288719821D863CE33E874CE14F8756E421 -:1031A000588B312C212C80E88B8B9FEB9C8B812CB6 -:1031B000912C54016091200A7091210A072E000C75 -:1031C000880B990B0F9445657B018C019B01AC0129 -:1031D000632D722D8B899C890F943E65882361F144 -:1031E00060911C0A70911D0A80911E0A90911F0A1D -:1031F000AA89A1110EC0B1E0B9839701A8010F946B -:10320000946E18160CF019823E2C2F2C0B8B1C8BF5 -:1032100013C09701A8010F94946E181644F480917E -:103220001402882309F4F0C00F94224CEDC03E2C08 -:103230002F2C0B8B1C8B19820E94E7EF6B017C01FA -:10324000DC01CB0129853A854B855C85821B930B7C -:10325000A40BB50BB7FD33C0D701C60188519C4FF5 -:10326000AF4FBF4F89879A87AB87BC8789890E94F8 -:10327000AF9687E698E30F94365481149104A10425 -:10328000B104B9F0D501C401805F984DAF4FBF4F75 -:10329000BC01CD016C197D098E099F0928EE33E030 -:1032A00040E050E00F94946BCA01B9010E9424677A -:1032B00003C08FE30E94B0668AE00E94B06680E09F -:1032C0000E94F4670E94E7EF6093621A7093631A9A -:1032D0008093641A9093651A90911C0A9E83A09122 -:1032E0001D0AAF8300911E0A10911F0A292F3A2F41 -:1032F000A801632D722D8B899C890F94336C2B014F -:103300003C0120E030E0A9010F94946E87FF04C0D7 -:1033100077FA709477F8709481149104A104B10441 -:10332000B1F420E030E040E85FE3C301B2010F9464 -:103330003E6587FF18C0B88546015701BB2399F049 -:1033400020E1820E27E2921EA11CB11C0CC020E0DD -:1033500030E040E450E4C301B2010F94946E1816BB -:1033600014F44601570139813323A9F18A819B81E5 -:10337000AC81BD81892B8A2B8B2B61F0D701C601D3 -:103380002A813B814C815D81821B930BA40BB50B81 -:10339000B7FD21C02E813F81A8016D857E858F8577 -:1033A00098890F94336C20E030E040EC5FE30F9499 -:1033B0003E6587FD34CFD701C601805A9541AF4F96 -:1033C000BF4F8A839B83AC83BD839E819D87AF81E2 -:1033D000AE870F87188B80911402882309F41FCFC2 -:1033E00081149104A104B10411F41886E3CEB0E174 -:1033F000CB1AB7E2DB0AE108F108C818D908EA08D5 -:10340000FB08F7FCF2CF0BCF8091140264960FB645 -:10341000F894DEBF0FBECDBFDF91CF911F910F910A -:10342000FF90EF90DF90CF90BF90AF909F908F90E4 -:103430007F906F905F904F903F902F9008952F92C4 -:103440003F924F925F926F927F928F929F92AF9234 -:10345000BF92CF92DF92EF92FF920F931F93CF9381 -:10346000DF93CDB7DEB729970FB6F894DEBF0FBE56 -:10347000CDBFF82E762E0F94D93B81E08F1598F4AE -:103480000F94B65484E50E94B0666AE070E08F2D18 -:1034900090E00E94406780E20E94B0668FE698E369 -:1034A0000F943654F7C1711008C08091090D8770D0 -:1034B00077247394873009F4712C9090870E81E003 -:1034C00087258987882389F08824839420E030E049 -:1034D000A9016091F10C7091F20C8091F30C909124 -:1034E000F40C0F943E65811101C0812C8091F00C89 -:1034F00083FD53C18091EF0C81114FC12091200AAF -:103500003091210A80914102909142022817390797 -:103510000CF043C1882049F00F94B65483E998E336 -:103520000F943654F092870EB5C166246394F91453 -:1035300009F424C120903D0230903E0240903F02A9 -:103540005090400280E090E0A8ECB2E480933D020D -:1035500090933E02A0933F02B093400280E00E940D -:1035600010CD81E00E9410CD82E00E9410CD0E941B -:10357000BCDD8985882309F470C02091050D309148 -:10358000060D4091070D5091080D60917F0E7091CE -:10359000800E8091810E9091820E0F94346C609316 -:1035A0007F0E7093800E8093810E9093820EA09078 -:1035B0003902B0903A02C0903B02D0903C02A60182 -:1035C00095010F94946E181644F4A0927F0EB09259 -:1035D000800EC092810ED092820EA12CB12C65017A -:1035E000E090870E0DEC1CE023E83EE04FE75EE044 -:1035F0006BE77EE087E79EE00F94C81C8091FD0C8E -:103600009091FE0CA091FF0CB091000D8093770E6D -:103610009093780EA093790EB0937A0E8091010D5D -:103620009091020DA091030DB091040D80937B0E3B -:1036300090937C0EA0937D0EB0937E0EE92C0DE34B -:1036400012E023E83EE04FE75EE06BE77EE087E7CD -:103650009EE00F94C81C0F94D93B20E030E0A901F4 -:103660006091770E7091780E8091790E90917A0E1C -:103670000F94346C6093770E7093780E8093790E6C -:1036800090937A0E20E030E0A90160917B0E70915A -:103690007C0E80917D0E90917E0E0F94346C609321 -:1036A0007B0E70937C0E80937D0E90937E0E20E0B7 -:1036B00030E0A90160917F0E7091800E8091810EA3 -:1036C0009091820E0F94346C60937F0E7093800EF5 -:1036D0008093810E9093820EF092870E0E94F8CE16 -:1036E000711044C080912402882309F43FC0292D21 -:1036F00030E0F901E351F34F8091720E80838F2DFA -:1037000090E0FC01E351F34F40814093720E4091F1 -:10371000200A5091210A220F331FF901E751F34F7C -:1037200051834083880F991FFC01E751F34F80813B -:103730009181009761F04817590749F00E94C2B87B -:1037400080E00E94919660E080E00E94A098811045 -:1037500050C08EE59EE00E9441C38985882331F0E8 -:103760006DEC7CE086E69EE00E944FCE20923D020A -:1037700030923E0240923F02509240020F94D93B59 -:103780000F94B6546091870E70E081E898E30F942F -:1037900093548AE00E94B0667DC0882041F1609118 -:1037A000FB0C7091FC0C072E000C880B990B0F94EE -:1037B000456520E030E040E752E40F942E6D6D83C4 -:1037C0007E838F8398878091F10C9091F20CA09169 -:1037D000F30CB091F40CB05889839A83AB83BC830B -:1037E000BE016B5F7F4FCE0101960F949607612C4F -:1037F0009ECE6110AECF6091F90C7091FA0C072E3D -:10380000000C880B990B0F94456520E030E040E7F1 -:1038100052E40F942E6D69837A838B839C83BE015F -:103820006F5F7F4F81EF9CE00F94960780E090E000 -:10383000A0E4B0E489839A83AB83BC83BE016F5F4D -:103840007F4F85EF9CE00F9496070F94D93B20E0C3 -:1038500030E040E050E46091830E7091840E8091DE -:10386000850E9091860E0F94336C6093830E709347 -:10387000840E8093850E9093860E60936A0E7093EB -:103880006B0E80936C0E90936D0E8AE69EE00F9403 -:103890005B1B5FCF29960FB6F894DEBF0FBECDBF7E -:1038A000DF91CF911F910F91FF90EF90DF90CF901C -:1038B000BF90AF909F908F907F906F905F904F9050 -:1038C0003F902F900895EF92FF920F931F93CF9305 -:1038D000DF93809123028F37A0F08F579091220AB7 -:1038E0009093180D992311F02C9A01C02C982091D7 -:1038F000390A2093170D90910201222369F09095C7 -:103900000BC09091180D891708F02C989091170D05 -:10391000891728F0909102019072909300018F5FB7 -:10392000809323029091160D81E089278093160DD4 -:103930008091220285301CF411E0180F01C010E0C4 -:10394000823009F4B9C054F4882301F1813009F0C0 -:10395000E8C088E080937B0085E4C5C0843009F42A -:10396000CAC00CF4BCC0853009F0DBC09091150DC5 -:10397000911102C08093150D8091150D8150809397 -:10398000150D882309F4CDC015E0CBC0809121022C -:103990008F5F80311CF480932102C3C010922102FA -:1039A00080919D0C811113C08091180A9091190A81 -:1039B00090931B0A80931A0A80912F0A9091300AE3 -:1039C0009093320A8093310A81E080939D0C10928B -:1039D000190A1092180A1092300A10922F0AE090D9 -:1039E0001A0AF0901B0AF194E194F1088091200AE0 -:1039F0009091210A01E0181619062CF08091220AF4 -:103A0000811101C000E080910E0290910F0291950A -:103A1000819591098E159F053CF441EB57E362EDCA -:103A200077E380E00F947B4D002389F080910C02B6 -:103A300090910D02919581959109E816F9063CF453 -:103A400044EE57E365E078E380E00F947B4D80918E -:103A5000370A9091380A01E0181619062CF0809167 -:103A6000390A811101C000E02091310A3091320AF7 -:103A70008091470A9091480A821793073CF041ECE5 -:103A800057E362ED77E38FEF0F947B4D002309F44A -:103A900048C02091310A3091320A80910A029091F7 -:103AA0000B0228173907ECF144EF57E365E078E3A0 -:103AB0008FEF0F947B4D35C080917A0086FD2EC02C -:103AC00080917800909179002091180A3091190A1C -:103AD000820F931F9093190A8093180A22C088E0DE -:103AE00080937B0086E480937C0080917A008064E0 -:103AF00080937A0016C080917A0086FD11C0809173 -:103B000078009091790020912F0A3091300A820F2D -:103B1000931F9093300A80932F0A03C012E001C0D4 -:103B200014E0109322022091661A3091671A211531 -:103B3000310509F43AC0F89490910901927080918E -:103B4000080181708093060180910B011216130603 -:103B50000CF0809582708093090100000000000045 -:103B600080910B01809588708093090184E08A958B -:103B70000000E9F780910B01887080930901809122 -:103B80000B01911180958270809309017894809146 -:103B9000661A9091671A1216130614F4019701C061 -:103BA00001969093671A8093661A80919E0C8823E1 -:103BB00009F44DC0809120028E5F8F7780932002A0 -:103BC000811145C08CB185FB882780F9C82F80E022 -:103BD000D82F8091030181FDC2604B99C460009190 -:103BE000130D1091140D0C271D270115110579F1E6 -:103BF00000FF07C0BE01617077278CE298E30F9445 -:103C0000935401FF08C06C2F6695617070E083E2E9 -:103C100098E30F94935402FF08C0C2FB662760F933 -:103C200070E08AE198E30F94935487E198E30F944E -:103C300036541091120D612F70E08DE00E94C5EE98 -:103C400010951093120DD093140DC093130D0E9474 -:103C5000ABCF80919F0C9091A00C009769F00197D9 -:103C60009093A00C80939F0C892B31F485E398E30B -:103C700090936C0A80936B0ADF91CF911F910F9103 -:103C8000FF90EF9008950F930FB70F9300916E0080 -:103C90000B7F00936E0078940F930BB70F930CB7C4 -:103CA0000F921F922F933F934F935F936F937F9346 -:103CB0008F939F93AF93BF93EF93FF9311240E9431 -:103CC000639CFF91EF91BF91AF919F918F917F91F5 -:103CD0006F915F914F913F912F911F900F900CBF6B -:103CE0000F910BBF0F910460F89400936E000F9139 -:103CF0000FBF0F9118952F923F924F925F926F9244 -:103D00007F928F929F92AF92BF92CF92DF92EF926B -:103D1000FF920F931F93CF93DF93CDB7DEB7299711 -:103D20000FB6F894DEBF0FBECDBF1C017B836A8344 -:103D300029831F830E83FD82EC8227FD10C0022E93 -:103D4000000C330B39872887398185E03802F00170 -:103D50001124E956F34F84818823E1F008C0809153 -:103D6000960C882399F0E1E0F0E0F987E887F1010B -:103D70001482E885F985EE0FFF1FEE0FFF1FE65F47 -:103D8000F24F10821182128213822EC021E030E0A5 -:103D900039872887FA01C080D180E280F3800885C6 -:103DA0001985000F111F000F111F065F124FA70189 -:103DB0009601F80160817181828193810F943E6543 -:103DC000882391F0F801C082D182E282F38211E06F -:103DD00020E030E0A901C701B6010F94946E1816D7 -:103DE0000CF010E0F1011483F10184818230F9F0CC -:103DF000833009F401C1813009F023C1E885F985D8 -:103E0000EE0FFF1FEE0FFF1FE65FF24F20813181A3 -:103E100042815381EA81FB8160817181828193813A -:103E20000F943E6587FD0DC182E0F101848380918E -:103E30001F02882309F493C0F981F7FD90C08F2FEA -:103E4000FF0F990B8C011816190614F401E010E00D -:103E5000F801EE58F14F2081222371F1EA81FB81B4 -:103E6000C080D180E280F380880F991F880F991F4E -:103E7000FC01E65FF24F80809180A280B3802C81AC -:103E80003D81B90180E090E00F9443652B013C0136 -:103E900020E030E040E85EE30F94A4659B01AC01B4 -:103EA000C501B4010F94336C9B01AC01C701B6018D -:103EB0000F94946E87FD05C0F801E35EFD4F80E826 -:103EC0001AC023E830EC4AEA5EE3C301B2010F9462 -:103ED000A4659B01AC01C501B4010F94336C9B0137 -:103EE000AC01C701B6010F94946E035E1D4F87FDB0 -:103EF00004C080E6F801808332C020E030E040E07A -:103F00005FE3C301B2010F94A4659B01AC01C5013D -:103F1000B4010F94336C9B01AC01C701B6010F943F -:103F2000946E87FD02C080E4E5CF2DEC3CEC4CE4C0 -:103F30005FE3C301B2010F94A4659B01AC01C5010D -:103F4000B4010F94336C9B01AC01C701B6010F940F -:103F5000946E87FD02C080E2CDCFF8011082088503 -:103F60001985000F111F000F111F9801265F324F96 -:103F700039872887EC81FD81BF0180E090E00F94B4 -:103F800043659B01AC01E885F9856081718182817F -:103F900093810F94336C9B01AC01EA81FB816081BA -:103FA0007181828193810F94946E87FD14C00E9469 -:103FB000E7EF6B017C012E813F81A8EEB3E00F9407 -:103FC000E86BC60ED71EE81EF91EF101C082D18231 -:103FD000E282F38236C00E94E7EFF1010081118195 -:103FE00022813381DC01CB01801B910BA20BB30B2F -:103FF000B7FD27C083E08483F981FF3F19F04AE7CA -:1040000057E302C04DE857E361EA77E389812996D7 -:104010000FB6F894DEBF0FBECDBFDF91CF911F91D9 -:104020000F91FF90EF90DF90CF90BF90AF909F9057 -:104030008F907F906F905F904F903F902F900D9456 -:104040007B4D29960FB6F894DEBF0FBECDBFDF9132 -:10405000CF911F910F91FF90EF90DF90CF90BF9085 -:10406000AF909F908F907F906F905F904F903F9018 -:104070002F900895CF92DF92EF92FF926091370ACE -:104080007091380A61157105C1F0C090330AD09063 -:10409000340AE090350AF090360A66507109072E0E -:1040A000000C880B990B0F9445659B01AC01C7016F -:1040B000B6010F943E6587FD09C010928E0C1092D8 -:1040C0008F0C1092900C1092910C1EC020E030E0EA -:1040D00040E050E4C701B6010F94346C0F94A76D13 -:1040E00070938D0C60938C0C0E94E7EFDC01CB0188 -:1040F000805E9044AD4FBF4F80938E0C90938F0C99 -:10410000A093900CB093910CFF90EF90DF90CF9024 -:104110000895CF93DF9310929C0C80E090E00E9472 -:10412000C2B8CFE2DAE0198618860E943AA080E091 -:1041300090E00E94C2B81092220A2C981986188624 -:104140001A8680910201807280930001DF91CF91E5 -:104150000895CF92DF92EF92FF926091200A7091C2 -:10416000210A61157105C1F0C0901C0AD0901D0A8A -:10417000E0901E0AF0901F0A66507109072E000C8D -:10418000880B990B0F9445659B01AC01C701B601E3 -:104190000F943E6587FD09C01092880C1092890C1F -:1041A00010928A0C10928B0C1EC020E030E040E090 -:1041B00050E4C701B6010F94346C0F94A76D70934F -:1041C000870C6093860C0E94E7EFDC01CB01805BDB -:1041D0009C43AF4FBF4F8093880C9093890CA09362 -:1041E0008A0CB0938B0CFF90EF90DF90CF900895E6 -:1041F0008F929F92AF92BF92CF92DF92EF92FF92F7 -:104200000F931F93CF93DF93F0E2FF2EE12CAE2D9F -:10421000B0E0BD016F0D711D75956795611103C00B -:10422000ECEFF6E306C06E1511F0F6120BC0E8E7EE -:10423000F7E365917491072E000C880B990B0F948E -:10424000456562C09B0121503109220F331F220FA7 -:10425000331FF901E650F94C05911491AB01440F5D -:10426000551F440F551FFA01E650F94CC591D491E2 -:104270008017910714F4F62ECCCFC817D90714F481 -:10428000E62EC5CFF901E450F94CE590F490FA011F -:10429000E450F94CC590D490BC01601B710B072E03 -:1042A000000C880B990B0F9445654B015C01B6011E -:1042B0006E197F09072E000C880B990B0F9445652A -:1042C0009B01AC01C501B4010F94A4654B015C01D5 -:1042D000C01BD10BBE01DD0F880B990B0F944565F8 -:1042E0009B01AC01C501B4010F942E6D4B015C0123 -:1042F000B701FF0C880B990B0F9445659B01AC012E -:10430000C501B4010F94346CDF91CF911F910F91CF -:10431000FF90EF90DF90CF90BF90AF909F908F90E5 -:104320000895CF93DF93C8E1DAE060E08A819B8152 -:104330000F948C4C6C837D838E839F83CFE2DAE075 -:104340008A819B810E94F8A06C837D838E839F83EA -:10435000A89510929D0CDF91CF91089520E030E058 -:1043600040E450E40F94336C2AE939E941EF51E419 -:104370000F94346C2FE031EA47E85CE30F94A465B6 -:104380000F94A06D663010F4862F08958FEF089576 -:1043900020E030E040E450E40F94336C26E636E64B -:1043A00046EF51E40F94346C2DEA3CEF44E85CE3B3 -:1043B0000F94A4650F94A06D663010F4862F0895B5 -:1043C0008FEF08951F93CF93DF93182F87E00F94FB -:1043D000EE53C0E0D0E080E20E94B0666AE070E098 -:1043E000CE010E944067812F0F94EE532196C63074 -:1043F000D10589F76AE070E080E090E0DF91CF912D -:104400001F910D94CA538F929F92AF92BF92CF92F9 -:10441000DF92EF92FF920F931F93CF93DF93EC0104 -:104420007B018A016901FB01208131814281538135 -:10443000688179818A819B810F94346C6883798348 -:104440008A839B83F80120813181428153816C8171 -:104450007D818E819F810F94346C6C837D838E83EC -:104460009F83F6012081318142815381688579855E -:104470008A859B850F94346C688779878A879B87A8 -:10448000F70160817181828193819B01AC010F945E -:10449000A4659B01AC016C857D858E859F850F94FD -:1044A000346C6C877D878E879F87F801608171816E -:1044B000828193819B01AC010F94A4659B01AC01A7 -:1044C000688979898A899B890F94346C688B798B88 -:1044D0008A8B9B8BF60160817181828193819B0124 -:1044E000AC010F94A4659B01AC016C897D898E8918 -:1044F0009F890F94346C6C8B7D8B8E8B9F8BF80116 -:104500002081318142815381F701608171818281F3 -:1045100093810F94A4659B01AC01688D798D8A8D80 -:104520009B8D0F94346C688F798F8A8F9B8FF601E7 -:104530002081318142815381F701608171818281C3 -:1045400093810F94A4659B01AC016C8D7D8D8E8D44 -:104550009F8D0F94346C6C8F7D8F8E8F9F8FF601A3 -:104560002081318142815381F80160817181828192 -:1045700093810F94A4659B01AC0168A179A18AA1E4 -:104580009BA10F94346C68A379A38AA39BA38CA0EE -:104590009DA0AEA0BFA0F701C080D180E280F380D3 -:1045A00020E030E0A901C701B6010F94946E87FFA7 -:1045B00004C0F7FAF094F7F8F094A7019601B4015B -:1045C000C5010F943E6587FD02C064017501CCA250 -:1045D000DDA2EEA2FFA288A499A4AAA4BBA4F8011C -:1045E000C080D180E280F38020E030E0A901C701E3 -:1045F000B6010F94946E87FF04C0F7FAF094F7F8B1 -:10460000F0949401A501C701B6010F94946E181699 -:1046100014F064017501C8A6D9A6EAA6FBA620E09D -:1046200030E040E85FE368AD79AD8AAD9BAD0F94B3 -:10463000346C68AF79AF8AAF9BAFDF91CF911F9198 -:104640000F91FF90EF90DF90CF90BF90AF909F9031 -:104650008F90089585EE98E30D947E2C8091681ECE -:104660009091691E009731F04AE050E060E070E000 -:104670000D94346260E070E0CB0108950E942EA397 -:10468000CB0108950F931F93CF938091681E909153 -:10469000691E009711F1FC018F01C1912C2F2F7D14 -:1046A000A9F0C53411F0C536B9F7F801108260E001 -:1046B00070E08091681E9091691E0F94D860F80197 -:1046C000C083562F472F382F292F0BC060E070E092 -:1046D000CF911F910F910D94D86050E040E030E0F1 -:1046E00020E0652F742F832F922FCF911F910F9170 -:1046F000089581548A3108F042C0E82FF0E04091DB -:10470000451A5091461A6091471A7091481A04C090 -:1047100076956795579547958A95D2F7842F81703E -:1047200040FF2FC0E55DF54E9081992309F1E0919E -:104730006F0EF091700EE90FF11D908120ED290FA1 -:104740002A3098F09E3211F491810CC09D3211F004 -:104750009B3271F4918120ED290F2A3030F09E3286 -:1047600039F4928190539A3018F42E2F9F2F02C063 -:1047700020E090E02093681E9093691E089580E0E9 -:10478000089508950E9479A3882341F081E0209143 -:10479000681E3091691E232B09F480E00895CF93A1 -:1047A000DF93EB010E94C2A3882321F0DF91CF9118 -:1047B0000C943EA3CE01DF91CF910895E82FF0E055 -:1047C000863078F4EE0FFF1FEE0FFF1FE553F34C1A -:1047D0004591559165917491F42FE52F362F272F30 -:1047E00016C0BF01FF0F880B990B0F9445652AE98E -:1047F00039E941E752E40F94A46520E030E040E459 -:1048000050E40F94346CF62FE72F382F292F6F2F99 -:104810007E2F832F922F0895E82FF0E0863078F4D2 -:10482000EE0FFF1FEE0FFF1FE55FF24C4591559114 -:1048300065917491F42FE52F362F272F16C0BF01F5 -:10484000FF0F880B990B0F94456526E636E646E781 -:1048500052E40F94A46520E030E040E450E40F946B -:10486000346CF62FE72F382F292F6F2F7E2F832FB1 -:10487000922F08952F923F924F925F926F927F9264 -:104880008F929F92AF92BF92CF92DF92EF92FF9260 -:104890000F931F93CF93DF93CDB7DEB762970FB619 -:1048A000F894DEBF0FBECDBF9A838983788B6F8764 -:1048B000FC0180809180A280B38020E030E040E461 -:1048C00050E4C501B4010F94946E87FD24C020E02C -:1048D00030E84BE953E4C501B4010F943E65181666 -:1048E000D4F0EF85F889C080D180E280F38020E0A9 -:1048F00030E040E450E4C701B6010F94946E87FDA8 -:104900000AC020E030E848E953E4C701B6010F943B -:104910003E65181624F4C12CD12C760156C120E036 -:1049200030E040E450E4C501B4010F94336C2DEA4B -:104930003CEF44E85CE30F94A4650F94A06D698B91 -:1049400066301CF0F5E0F98B03C0298927FD198A30 -:1049500020E030E040E450E4C701B6010F94336C2E -:104960002FE031EA47E85CE30F94A4650F94A06D53 -:104970006A8B66301CF035E03A8B03C04A8947FDEC -:104980001A8A5989252E550F3308C101E5E02E16E4 -:10499000310414F084E090E09C012F5F3F4F3E878C -:1049A0002D8739893F5F3D83832F0E940CA469873F -:1049B0007A878B879C8789890E940CA46B017C0174 -:1049C00086E0829DF001839DF00D11244A89042F19 -:1049D000440F110BE00FF11FEE0FFF1FEE0FFF1F33 -:1049E000EA5CF24F40805180628073802D853E8565 -:1049F000829FF001839FF00D1124E00FF11FEE0F55 -:104A0000FF1FEE0FFF1FEA5CF24FA30192016081CE -:104A10007181828193810F94336C4B015C01A701FA -:104A20009601E981FA8160817181828193810F947D -:104A3000336C9B01AC01C501B4010F94A4654B011B -:104A40005C01A701960169857A858B859C850F9409 -:104A5000336C9B01AC01C501B4010F942E6DA30111 -:104A600092010F94346C69877A878B879C87C80181 -:104A70000530110514F084E090E05C01FFEFAF1AFF -:104A8000BF0A8D810E940CA46D837E838F839887DB -:104A900089890E940CA46B017C0126E0229DC00143 -:104AA000239D900D1124FC01EA0DFB1DEE0FFF1F4D -:104AB000EE0FFF1FEA5CF24F4080518062807380EE -:104AC0004D855E85249FC001259F900D1124FC011A -:104AD000EA0DFB1DEE0FFF1FEE0FFF1FEA5CF24F0A -:104AE000A301920160817181828193810F94336C63 -:104AF0004B015C01A7019601E981FA816081718116 -:104B0000828193810F94336C9B01AC01C501B40188 -:104B10000F94A4654B015C01A70196016D817E8114 -:104B20008F8198850F94336C9B01AC01C501B40152 -:104B30000F942E6DA30192010F94346C2B013C0154 -:104B40008A898F5F0E94DEA369837A838B839C832B -:104B50008A890E94DEA36B017C019B01AC01EF8579 -:104B6000F88960817181828193810F94336C4B014C -:104B70005C0129853A854B855C85C301B2010F94A0 -:104B8000336C9B01AC01C501B4010F94A4654B01CA -:104B90005C01A701960169817A818B819C810F94C8 -:104BA000336C9B01AC01C501B4010F942E6D2985B6 -:104BB0003A854B855C850F94346C6B017C019B01BD -:104BC000AC010F94816F8111A6CEC701B601629628 -:104BD0000FB6F894DEBF0FBECDBFDF91CF911F910E -:104BE0000F91FF90EF90DF90CF90BF90AF909F908C -:104BF0008F907F906F905F904F903F902F9008958F -:104C00004F925F926F927F928F929F92AF92BF92DC -:104C1000CF92DF92EF92FF921F93CF93DF93CDB7A6 -:104C2000DEB72C970FB6F894DEBF0FBECDBFDB0109 -:104C3000CD90DD90ED90FC902091E3143091E41440 -:104C40004091E5145091E6142D833E834F8358879D -:104C5000DC018D909D90AD90BC902091DF1430913F -:104C6000E0144091E1145091E21429873A874B8770 -:104C70005C87C501B4010F94336C69837A838B839D -:104C80009C832D813E814F815885C701B6010F94C9 -:104C9000336CAB01BC01CE0101960F940616182FA0 -:104CA000882309F4A9C020E030E0A90169857A854C -:104CB0008B859C850F94346C2B013C0120E030E007 -:104CC00040E450E40F943E6587FF05C0412C512C11 -:104CD00030E4632E762C27E137EB41ED58E3C30136 -:104CE000B2010F94336C9B01AC01C501B4010F9468 -:104CF000946E87FD80C020E030E84DE953E469857B -:104D00007A858B859C850F94346C2B013C0120E0C7 -:104D100030E84BE953E40F94946E18163CF4412CA0 -:104D200020E8522E2BE9622E23E4722E27E137EB86 -:104D300041ED58E3C301B2010F94346C9B01AC0107 -:104D4000C501B4010F943E6518160CF454C020E060 -:104D500030E0A9016D817E818F8198850F94346C3C -:104D60004B015C0120E030E040E450E40F943E65EC -:104D700087FF05C0812C912C90E4A92EBA2C27E145 -:104D800037EB41ED58E3C501B4010F94336C9B013F -:104D9000AC01C701B6010F94946E87FD2CC020E0D2 -:104DA00030E04AE953E46D817E818F8198850F94CC -:104DB000346C4B015C0120E030E848E953E40F9487 -:104DC000946E18163CF4812C80E8982E88E9A82E61 -:104DD00083E4B82E27E137EB41ED58E3C501B40178 -:104DE0000F94346C9B01AC0111E0C701B6010F9424 -:104DF0003E6518160CF410E0812F2C960FB6F8942F -:104E0000DEBF0FBECDBFDF91CF911F91FF90EF901E -:104E1000DF90CF90BF90AF909F908F907F906F90DA -:104E20005F904F900895681779070CF4CB010895AF -:104E3000861797070CF4CB0108950F931F93CF9318 -:104E4000DF93CDB7DEB76F970FB6F894DEBF0FBE16 -:104E5000CDBF9F8F8E8F81E08093190D88E08B836B -:104E60008EE18C838E8D9F8D8370992721E0892B15 -:104E700009F020E02D8321E08E8D9F8D019709F0B0 -:104E800020E02E8321E08E8D9F8D029709F020E097 -:104E90002F838E8D9F8D8470992721E0892B09F4B3 -:104EA00020E028878EEC98E30F9436548D81882378 -:104EB00079F18AEC98E30F94365464E371E081E36E -:104EC00091E00E9413A78C0160E070E083E090E025 -:104ED0000E9418A7A801BC0184E00F94F95364E371 -:104EE00071E081E391E00E9413A78C016BE371E014 -:104EF00087E391E00E9413A7A801BC018EE10F9403 -:104F0000F9538AE00E94B06686E00E94E2A10EC0DA -:104F100084EC98E30F9436548E81882319F08EEB3D -:104F200098E302C088EB98E30F9436548091770E93 -:104F30009091780EA091790EB0917A0E2091DF14A5 -:104F40003091E0144091E1145091E214BC01CD0184 -:104F50000F94346CDC01CB018A8F9B8FAC8FBD8F9B -:104F60008A8D9B8DAC8DBD8DBC01CD010E94C8A1E9 -:104F7000082E000C990BAA0BBB0BBC01CD010F94A2 -:104F80004565DC01CB0189879A87AB87BC87809117 -:104F90007B0E90917C0EA0917D0EB0917E0E2091A3 -:104FA000E3143091E4144091E5145091E614BC01EF -:104FB000CD010F94346CDC01CB018E8B9F8BA88FBD -:104FC000B98F8E899F89A88DB98DBC01CD010E94B2 -:104FD000AEA1082E000C990BAA0BBB0BBC01CD0196 -:104FE0000F944565DC01CB018D879E87AF87B88B19 -:104FF0009F8181E08927882319F08AE00E94B066AA -:1050000085E08983898188230CF4F4C08D8188230D -:1050100091F089818A301CF480E20E94B066898117 -:10502000082E000C990B6AE070E00E94406785EB47 -:1050300098E30F9436541A828A81863008F0BFC0F4 -:105040008A81882F90E0092E000CAA0BBB0BBC01B3 -:10505000CD010F944565DC01CB0129853A854B854F -:105060005C85BC01CD010F943E658823C1F4898124 -:10507000082E000C990BAA0BBB0BBC01CD010F94A1 -:105080004565DC01CB012D853E854F855889BC01E6 -:10509000CD010F943E65882311F481E001C080E0CA -:1050A000898B8D81882341F08989882311F08BE5D4 -:1050B00001C080E20E94B0668A81282F30E0898199 -:1050C000482F880F550BC901880F991F820F931F16 -:1050D000880F991F840F951F880F991F880F991F9C -:1050E0008A5C924FFC0180819181A281B3818A8B7D -:1050F0009B8BAC8BBD8B8F81882309F045C02A899F -:105100003B894C895D896A897B898C899D890F944B -:10511000816F882359F08D81882319F08EEA98E3F6 -:1051200002C08AEA98E30F9436542EC08D818823FA -:1051300019F48E81882341F18D818823D9F020E0F4 -:1051400030E0A9016A897B898C899D890F94946ECE -:10515000882384F020E030E0A9016A897B898C896A -:105160009D890F94946E181614F48BE201C080E2AE -:105170000E94B0668A899B89AC89BD8943E050E072 -:10518000BC01CD010E94C6678E81882331F08A81DF -:10519000853018F489E00E94B0668D81882341F043 -:1051A0008989882311F08DE501C080E20E94B066F4 -:1051B00080E00E94F4678A818F5F8A833DCF9F8160 -:1051C00081E08927882319F08AE00E94B0668981EE -:1051D000882361F08D81882349F0988581E08927B3 -:1051E000882321F084EA98E30F9436548981815012 -:1051F000898308CF8D81882381F186E00E94E2A116 -:105200008AE00E94B06660E070E083E090E00E9477 -:1052100018A78C0160E070E083E090E00E9418A77E -:10522000A801BC0184E00F94F95360E070E083E0D2 -:1052300090E00E9418A78C016BE371E087E391E096 -:105240000E9413A7A801BC018EE10F94F9538AE0D4 -:105250000E94B0668AE00E94B0661092190D6F96A7 -:105260000FB6F894DEBF0FBECDBFDF91CF911F9177 -:105270000F9108956F927F928F929F92AF92BF92FB -:10528000CF92DF92EF92FF920F931F93CF93DF9312 -:10529000CDB7DEB7C554D1090FB6F894DEBF0FBE47 -:1052A000CDBF19820F944532882309F00CC76FEFE8 -:1052B0007FEF80E50E94CFA38A878A85813059F0ED -:1052C0008A85823041F08A85843029F08AE40E9400 -:1052D00079A3882311F081E001C080E08B878B8562 -:1052E000882359F00F94D93B41E061E081E00F94AD -:1052F0007C41882311F00E942AA389E40E9479A3AB -:10530000882309F4BFC01A828091681E9091691E9B -:1053100021E0892B09F420E0222319F00E943EA30A -:1053200002C081E090E090935A1A8093591A8091BC -:10533000591A90915A1A84973CF060E070E080EC22 -:105340009FE70F942A529AC08091591A90915A1A45 -:105350009C012150310930935A1A2093591A21E0A7 -:10536000892B09F420E0222309F488C08A81853141 -:1053700020F01A8280E00E94F46700E010E020E054 -:1053800041E55AE165E57AE181E00F94C72DA22E4F -:10539000B32EC42ED52EE62EF72E082F192F2A2D28 -:1053A0003B2D4C2D5D2D6E2D7F2D802F912FFE01DD -:1053B000E05CFF4F2083FE01EF5BFF4F3083FE0177 -:1053C000EE5BFF4F4083FE01ED5BFF4F5083FE011C -:1053D000EC5BFF4F6083FE01EB5BFF4F7083CE0100 -:1053E000805C9F4FFC01808188235CF460E070E06A -:1053F00080EC9FE70F942A528CEA9AE30F9436547C -:105400003DC0CE01805C9F4FFC018081282F880F1A -:10541000330BCE018F5B9F4FFC018081482F880F9B -:10542000550BC901880F991F820F931F880F991F71 -:10543000840F951F880F991F880F991F9C012A5C64 -:10544000324F80E090E0A0ECBFE7F90180839183C8 -:10545000A283B383CE018F5B9F4FFC018081682FB5 -:10546000CE01805C9F4FFC01808120E030E0A901EB -:105470000E943F8D8A818F5F8A8366CF83E99AE39A -:105480000F94365481E50E9479A3882309F491C2D0 -:105490008091681E9091691E21E0892B09F420E01B -:1054A000222319F00E943EA302C08DE99FEF9D8741 -:1054B0008C878C859D858F3F9F4F24F08C859D85A3 -:1054C00003972CF08BE69AE30F943654FCC58CE4DA -:1054D0009AE30F9436548C859D858130910509F4AB -:1054E000DDC08230910509F4E2C1892B09F061C267 -:1054F0001B828B81863008F05CC21C828C818630D6 -:1055000008F0C8C08B81882F90E0092E000CAA0BF0 -:10551000BB0BBC01CD010F944565DC01CB019C01A7 -:10552000AD0160E070E080E490E40F94336CDC0146 -:10553000CB018E879F87A88BB98B8C81882F90E0B9 -:10554000092E000CAA0BBB0BBC01CD010F944565C5 -:10555000DC01CB019C01AD0160E070E080E490E4EF -:105560000F94336CDC01CB018A8B9B8BAC8BBD8B96 -:105570008B81082F10E08C81A82EB12C8B81282FD5 -:1055800030E08C81482F50E0C901880F991F820FAD -:10559000931F880F991F840F951F880F991F880FDD -:1055A000991F8A5C924FFC01C080D180E280F38019 -:1055B0002E853F85488959896E857F858889998997 -:1055C0000F94A465DC01CB013C014D012A893B8984 -:1055D0004C895D896A897B898C899D890F94A46532 -:1055E000DC01CB019C01AD01C401B3010F94346C0B -:1055F000DC01CB01BC01CD010F94326FDC01CB018A -:105600009C01AD01BC01CD010F94346CDC01CB01D8 -:105610009C01AD01C701B6010F94346CDC01CB01D4 -:105620009C01AD01C801880F991F800F911F880F41 -:10563000991F8A0D9B1D880F991F880F991F8A5CDF -:10564000924FFC0120833183428353838B81282F27 -:1056500030E08C81482F50E0C901880F991F820FDC -:10566000931F880F991F840F951F880F991F880F0C -:10567000991F8A5C924FFC0180819181A281B38144 -:105680009C01AD016C818B810E943F8D8C818F5F6D -:105690008C8334CF8B818F5F8B832BCF1D828D8149 -:1056A000863008F086C18D81082F10E08D81E82EAC -:1056B000F12C8D81282F30E08D81482F50E0C901D9 -:1056C000880F991F820F931F880F991F840F951FB2 -:1056D000880F991F880F991F8A5C924FFC01808167 -:1056E0009181A281B38127EE3BEF4FE151E4BC01F0 -:1056F000CD010F94346CDC01CB019C01AD01C801DC -:10570000880F991F800F911F880F991F8E0D9F1D65 -:10571000880F991F880F991F8A5C924FFC01208384 -:105720003183428353838D81E82EF12C8D81282F84 -:1057300030E081E09D81953008F080E0882F90E096 -:10574000820F931F892B19F001E010E002C00FEFC8 -:105750001FEF8D81482F50E08D81282F30E081E0B0 -:105760009D81953008F080E0882F90E0820F931F94 -:10577000892B19F021E030E002C02FEF3FEFCA0182 -:10578000880F991F840F951F880F991F820F931FF1 -:10579000880F991F880F991F8A5C924FFC018081A6 -:1057A0009181A281B38127EE3BEF4FE151E4BC012F -:1057B000CD010F94346CDC01CB019C01AD01C7011C -:1057C000880F991F8E0D9F1D880F991F800F911FA5 -:1057D000880F991F880F991F8A5C924FFC012083C4 -:1057E0003183428353838D81282F30E08D81482F70 -:1057F00050E0C901880F991F820F931F880F991FCE -:10580000840F951F880F991F880F991F8A5C924FEC -:10581000FC0180819181A281B3819C01AD016D81E8 -:105820008D810E943F8D8D81482F50E08D81282FE2 -:1058300030E081E09D81953008F080E0882F90E095 -:10584000820F931F892B19F021E030E002C02FEF67 -:105850003FEFCA01880F991F840F951F880F991F6A -:10586000820F931F880F991F880F991F8A5C924F90 -:10587000FC0180819181A281B3812D81422F50E072 -:1058800021E03D81353008F020E0222F30E0240F68 -:10589000351F232B11F061E001C06FEF9C01AD01BA -:1058A0008D810E943F8D8D818F5F8D83F8CE82E048 -:1058B0008E838E81843008F07CC082E08F838F815C -:1058C000843008F072C083E40E9479A3882349F0F1 -:1058D00020915B1A30915C1A40915D1A50915E1ACA -:1058E00004C02AE037ED4FE151E48E81082F10E02B -:1058F0008F81E82EF12C8E81682F70E08F81E82F48 -:10590000F0E0CB01880F991F860F971F880F991F12 -:105910008E0F9F1F880F991F880F991F8A5C924FC7 -:10592000FC0180819181A281B381BC01CD010F94E2 -:10593000346CDC01CB019C01AD01C801880F991FBB -:10594000800F911F880F991F8E0D9F1D880F991F23 -:10595000880F991F8A5C924FFC0120833183428318 -:1059600053838E81282F30E08F81482F50E0C9016A -:10597000880F991F820F931F880F991F840F951FFF -:10598000880F991F880F991F8A5C924FFC018081B4 -:105990009181A281B3819C01AD016F818E810E94B2 -:1059A0003F8D8F818F5F8F838ACF8E818F5F8E83B4 -:1059B00080CF8AE40E9479A3882309F47AC0809179 -:1059C000D30D9091D40D892B41F00F943E3280E09D -:1059D0000E948ED50F94363207C00F943E3281E07C -:1059E0000E948ED50F9436321AAA1BAA1CAA1DAA91 -:1059F00064E371E081E391E00E9413A78C0160E011 -:105A000070E083E090E00E9418A79801281B390BF2 -:105A1000C901092E000CAA0BBB0BBC01CD010F94D0 -:105A20004565DC01CB0120E030E040E05FE3BC01F4 -:105A3000CD010F94A465DC01CB018EA79FA7A8AB75 -:105A4000B9AB6BE371E087E391E00E9413A78C018F -:105A500060E070E083E090E00E9418A7F801E81B86 -:105A6000F90BCF01092E000CAA0BBB0BBC01CD0119 -:105A70000F944565DC01CB0120E030E040E05FE3BE -:105A8000BC01CD010F94A465DC01CB018AA79BA7C3 -:105A9000ACA7BDA7AE014E5C5F4F9E01225D3F4F9C -:105AA000CE018A96B9010E942DCE0E94FACE81E0E5 -:105AB000898380E50E9479A3882309F433C2809109 -:105AC0004F1A9091501A992384F080914F1A909117 -:105AD000501A029754F480911B148F3F31F41092A6 -:105AE0001B148AE29AE30F94365480914F1A9091D6 -:105AF000501A092E000CAA0BBB0B40E050E026E028 -:105B000030E0841B950B2817390708F40BC2FC0101 -:105B10008827E155FF4F8F4F0D942B6C0F948752C0 -:105B20008CE19AE30F943654FDC183E40E9479A37B -:105B3000982F81E08927882331F00F947E528BEFD4 -:105B400099E30F9436548091D10D9091D20D029724 -:105B500024F18091551A9091561AA091571AB0913C -:105B6000581A2AEE39E3AC01BD01C9010F948254E1 -:105B70008CE20E94B0668091511A9091521AA091C5 -:105B8000531AB091541A42E050E0BC01CD010E947A -:105B9000C66785EE99E30F94365485E50E9479A394 -:105BA000082F85E40E9479A3F82E84E50E9479A34A -:105BB000182F8091E3149091E414A091E514B09112 -:105BC000E6142091511A3091521A4091531A509173 -:105BD000541ABC01CD010F94346CDC01CB018EA3AF -:105BE0009FA3A8A7B9A78091DF149091E014A0917A -:105BF000E114B091E2142091551A3091561A409157 -:105C0000571A5091581ABC01CD010F94346CDC0125 -:105C1000CB018AA39BA3ACA3BDA3BE016A5D7F4F4A -:105C2000CE0182962F2D412F0F94E1350E94FACE9E -:105C300081E0898377C186EB99E30F94365443C2A0 -:105C400080914E1A882309F4EDC08091591A9091E1 -:105C50005A1A84976CF080915B1A90915C1AA0910B -:105C60005D1AB0915E1ABC01CD010F942A5259C140 -:105C70008091591A90915A1A9C0121503109309300 -:105C80005A1A2093591A21E0892B09F420E0222383 -:105C900009F447C100E010E020E041E55AE165E584 -:105CA0007AE180E00F94C72DA22EB32EC42ED52EFC -:105CB000E62EF72E082F192F2A2D3B2D4C2D5D2D6A -:105CC0006E2D7F2D802F912F2AAF3BAF4CAF5DAF54 -:105CD0006EAF7FAF8AAD88230CF05AC018868885D6 -:105CE000863008F01EC119868985863008F04CC0C0 -:105CF0008885282F30E08985482F50E0C901880F1A -:105D0000991F820F931F880F991F840F951F880F6B -:105D1000991F880F991F8A5C924FFC0180819181A5 -:105D2000A281B38111E09C01AD01BC01CD010F94B2 -:105D3000816F882309F410E0112311F18885682F01 -:105D400070E08985E82FF0E020915B1A30915C1AB1 -:105D500040915D1A50915E1ACB01880F991F860FF2 -:105D6000971F880F991F8E0F9F1F880F991F880FED -:105D7000991F8A5C924FFC012083318342835383B5 -:105D800089858F5F8987B0CF88858F5F8887A7CF08 -:105D90008AAD682F880F770B8BADE82F880FFF0B2C -:105DA00020915B1A30915C1A40915D1A50915E1AF5 -:105DB000CB01880F991F860F971F880F991F8E0F91 -:105DC0009F1F880F991F880F991F8A5C924FFC01B3 -:105DD00020833183428353838AAD282F880F330B6E -:105DE0008BAD482F880F550BC901880F991F820F63 -:105DF000931F880F991F840F951F880F991F880F75 -:105E0000991F8A5C924FFC0180819181A281B381AC -:105E10002BAD622F2AAD722F9C01AD01872F0E94FE -:105E20003F8D26CF0E9442A3DC01CB018E8B9F8B3E -:105E3000A88FB98F20E030E040E251E46E897F897D -:105E4000888D998D0F94A465DC01CB01BC01CD0137 -:105E50000F94766FDC01CB01BC01CD010F94A06DD6 -:105E6000DC01CB014E97019709F040C026E636E6EB -:105E700046E450E46E897F89888D998D0F94336C48 -:105E8000DC01CB0120E030E048EC52E4BC01CD0164 -:105E90000F94A465DC01CB018A8F9B8FAC8FBD8FE3 -:105EA00020E030E0A9016A8D7B8D8C8D9D8D0F9453 -:105EB0003E65882379F08A8D9B8DAC8DBD8D9C01CC -:105EC000AD0160E070E080E291E40F94D46EDC01FB -:105ED000CB0103C080E090E0DC018EAB9FABA8AFAC -:105EE000B9AFCE01C6960E9418D01CC00E94A9DB93 -:105EF00019C087E899E30F943654E5C080915B1A86 -:105F000090915C1AA0915D1AB0915E1A20914E1A80 -:105F1000AC01BD01822F0F94A13404C00F945634FC -:105F200001C000008CE40E9479A3882309F455C0C5 -:105F30008091681E9091691E21E0892B09F420E070 -:105F4000222319F00E943EA305C080911B14082E45 -:105F5000000C990B90931B0D80931A0D0E943CF23C -:105F60009F8F8E8F8E8D9F8D892B29F487E699E3E5 -:105F70000F943654A8C080911A0D90911B0D99234F -:105F800064F08E8D9F8D9C012150310980911A0DF6 -:105F900090911B0D2817390774F48E8D9F8D9C01ED -:105FA0002150310985E499E3B9010F9493548AE0B3 -:105FB0000E94B06688C080911A0D90911B0D60E020 -:105FC00070E00E9448F280911A0D90911B0D809311 -:105FD0001B148EE399E30F94365483E50E9479A352 -:105FE000882309F45CC08091681E9091691E21E0AD -:105FF000892B09F420E0222319F00E943EA305C05A -:1060000080911B14082E000C990B90931B0D80930C -:106010001A0D80911A0D90911B0D019619F40F9491 -:10602000BA5451C00E943CF299A388A388A199A1B7 -:10603000892B29F48EE199E30F9436543BC080916B -:106040001A0D90911B0D992364F088A199A19C01D0 -:106050002150310980911A0D90911B0D2817390795 -:1060600074F488A199A19C01215031098CEF98E327 -:10607000B9010F9493548AE00E94B0661BC08091CE -:106080001A0D90911B0D0E9492F280911A0D909121 -:106090001B0D80931B1485EF98E30F94365484E511 -:1060A0000E9479A3882331F080914C1A90914D1A67 -:1060B0000E941DA78981882331F00F94D93B89EE76 -:1060C00098E30F947E2CCB5BDF4F0FB6F894DEBFC6 -:1060D0000FBECDBFDF91CF911F910F91FF90EF9039 -:1060E000DF90CF90BF90AF909F908F907F906F90F8 -:1060F00008958F929F92AF92BF92CF92DF92EF92CC -:10610000FF920F931F93CF93DF93EC018B8181114B -:1061100002C080E078C009891A892B893C8904175C -:10612000150726073707A8F36A017B01823029F497 -:10613000C886D986EA86FB860DC0C114D104E10465 -:10614000F10451F4188619861A861B861C821D825A -:106150001E821F8281E057C088849984AA84BB84F0 -:10616000E98DFA8D258530E0275F3F4FB501A40109 -:106170004150510961097109022E04C07695679555 -:10618000579547950A94D2F7D701C6010197A109FF -:10619000B10904C0B695A795979587952A95D2F72A -:1061A00084179507A607B70720F089288A288B2827 -:1061B00071F44D895E896F89788D4C835D836E8320 -:1061C0007F834C015D018E010C5F1F4F16C0841B45 -:1061D000950BA60BB70BF5CF4C815D816E817F814E -:1061E0009801898D9A8D0E949C7791E0891A910877 -:1061F000A108B108882309F48CCF81149104A1046B -:10620000B10451F795CFDF91CF911F910F91FF907E -:10621000EF90DF90CF90BF90AF909F908F900895B8 -:106220000F931F93CF93DF93FC012381222311F05F -:1062300080E044C08B01EC01FB018789803139F19A -:106240008032B1F783E08B83F801428D538D648DEA -:10625000758D4D8B5E8B6F8B788F9E012F5E3F4FC0 -:10626000C8010E941D78882319F31A8F098F81E0D5 -:106270008983188619861A861B861C821D821E82B7 -:106280001F82188A1C861D861E861F8617C082E004 -:106290008B831D8A1E8A1F8A188EFB01808D918D2B -:1062A000A0E0B0E025E0880F991FAA1FBB1F2A9528 -:1062B000D1F7898B9A8BAB8BBC8BD7CFDF91CF91EA -:1062C0001F910F910895CF93DF93EC0141E061118D -:1062D00001C040E06C857D858E859F850E94D176CA -:1062E000882341F0888920E2829FC00111248857C9 -:1062F000914F02C080E090E0DF91CF910895CF935D -:10630000DF93EB01FC012381211102C080E028C052 -:106310002250223020F48FE28883198220C060E06E -:106320000E9463B1009791F3FC0190E080E02EE2BF -:106330003081303269F0883029F4DE01A90FB11DB7 -:106340002C939F5FDE01A90FB11D30813C939F5FAD -:106350008F5F31968B3061F7C90FD11D188281E0B4 -:10636000DF91CF9108953F924F925F926F927F920B -:106370008F929F92AF92BF92CF92DF92EF92FF9255 -:106380000F931F93CF93DF93CDB7DEB72C970FB644 -:10639000F894DEBF0FBECDBF5C01DC0159968D9035 -:1063A0009C905A97F40181859285A385B4859C01C0 -:1063B000AD012F5F3F4F4F4F5F4F29873A874B8784 -:1063C0005C87D5011496CD90DD90ED90FC901797E9 -:1063D000C114D104E104F10439F0BFEFCB1ADB0A98 -:1063E000EB0AFB0A312C07C0F401C080D180E280A7 -:1063F000F38033243394260137011D821E821F82CD -:106400001886F40181859285A385B4852D813E810E -:106410004F815885281739074A075B0708F064C081 -:1064200089859A85AB85BC858C159D05AE05BF0514 -:1064300050F482E0C82ED12CE12CF12C92E0492EB0 -:10644000512C612C712C9E012F5F3F4FB701A6018B -:10645000C4010E949C77882309F446C089819A81EF -:10646000AB81BC81892B8A2B8B2B41F02601370114 -:106470009FEF491A590A690A790A05C0C414D5045C -:10648000E604F70491F02D813E814F8158852F5FFE -:106490003F4F4F4F5F4F2D833E834F8358873FEFD2 -:1064A000C31AD30AE30AF30AACCF0FEF1FEF2FEFA3 -:1064B0003FE0B301A201C4010E940A77F82E8823AD -:1064C00099F0D50114964D915D916D917C9117973E -:1064D000411551056105710549F093018201C4011F -:1064E0000E940A77811102C0F12C29C0D5011496AF -:1064F0004D925D926D927C921797332051F0D301AB -:10650000C2010196A11DB11DF40180839183A28374 -:10651000B383F50185899689A789B08D892B8A2B4C -:106520008B2B69F4D50155964D925D926D927C92BC -:10653000589711968C911197806811968C938F2D96 -:106540002C960FB6F894DEBF0FBECDBFDF91CF9172 -:106550001F910F91FF90EF90DF90CF90BF90AF9081 -:106560009F908F907F906F905F904F903F90089595 -:1065700040E050E0BA010C9479B061E0FC01808108 -:106580000E945AEE8FEF0C94EA6FEF92FF921F93E6 -:10659000CF93DF9300D01F92CDB7DEB77C01162FCB -:1065A00029833A834B835C83FC0182810E94F66FCE -:1065B00060E0F70180810E945AEE0F94073A812F24 -:1065C00080640E94EA6F8C810E94EA6F8B810E9436 -:1065D000EA6F8A810E94EA6F89810E94EA6F112323 -:1065E00011F087E801C085E90E94EA6F1C3011F4C0 -:1065F0000E94EF6F10E00E94EF6FF701838387FF27 -:1066000004C01F3F11F01F5FF6CF0F900F900F9047 -:106610000F90DF91CF911F91FF90EF9008950F930E -:106620001F93CF93DF93EC0189018C81833039F084 -:1066300089E0440F551F661F771F8A95D1F79A018D -:10664000AB0168E1CE010E94C5B2811128C08EEF76 -:106650008EBDF801C8019E5F0DB407FEFDCF2081FD -:106660002EBD0DB407FEFDCF21812EBD32968E17B3 -:106670009F0791F70DB407FEFDCF8FEF0E94EA6FE1 -:106680008FEF0E94EA6F0E94EF6F8B838F718530CE -:1066900041F083E18983CE010E94BDB219C086E03A -:1066A00016C00F94073A882379F020E030E0A90162 -:1066B0006DE0CE010E94C5B2811108C00E94EF6F4B -:1066C000811104C011E005C087E101C086E1898322 -:1066D00010E0CE010E94BDB2812FDF91CF911F91BA -:1066E0000F910895CF93809190108823B9F1409134 -:1066F00088105091891060918A1070918B1028E851 -:106700003EE080919110909192100E940FB3C82F9B -:10671000811102C0C0E023C040918C1050918D10B7 -:1067200060918E1070918F104115510561057105B2 -:1067300091F028E83EE080919110909192100E9493 -:106740000FB3882339F310928C1010928D10109291 -:106750008E1010928F101092901001C0C1E08C2FFB -:10676000CF910895CF93DF93EC018B81882339F18A -:10677000898187FF20C061E0CE010E9463B1FC01E6 -:10678000892BE9F08081853ED1F08B81823040F405 -:1067900089899A89AB89BC89848F958FA68FB78F99 -:1067A0008D899E89AF89B88D938F828FB58BA48B8D -:1067B00089818F778983DF91CF910C9472B381E0C7 -:1067C000888380E0DF91CF910895CF93DF93EC0130 -:1067D0000E94B2B31B82DF91CF910895FC01238107 -:1067E00021110C94E5B30895CF92DF92EF92FF92BE -:1067F0000F931F93CF93DF93EC0189018C8183303A -:1068000039F089E0440F551F661F771F8A95D1F72D -:106810009A01AB0161E1CE010E94C5B2882339F033 -:1068200084E08983CE010E94BDB280E03EC00E9418 -:10683000E7EF6B017C012CE2C20E21E0D21EE11CCD -:10684000F11C0E94EF6F8B838F3F61F40E94E7EF92 -:10685000DC01CB018C199D09AE09BF09B7FDF1CF51 -:1068600081E11DC08E3FD1F48FEF8EBDF801D801BC -:10687000A150BE4F0DB407FEFDCF9EB591938EBDC6 -:10688000EA17FB07B9F70DB407FEFDCF8EB58C9361 -:106890000E94EF6F0E94EF6F11E003C08FE08983C9 -:1068A00010E0CE010E94BDB2812FDF91CF911F91E8 -:1068B0000F91FF90EF90DF90CF9008952F923F922D -:1068C0004F925F926F927F928F929F92AF92BF9200 -:1068D000CF92DF92EF92FF920F931F93CF93DF93AC -:1068E00000D01F92CDB7DEB79C838B834B015A013A -:1068F000DC0113968C91811103C08FEF9FEFE3C0F1 -:10690000EB81FC81818180FFF8CFEB81FC81818963 -:106910009289A389B4894085518562857385841BDA -:10692000950BA60BB70BA50160E070E084179507E7 -:10693000A607B70708F45C0175018B819C8104965A -:106940009A838983612C42E0742EE114F10409F4E6 -:106950008BC0AB81BC8118964D915D916D917C91FE -:106960001B976A01B1E0DB22EB81FC812381818DE1 -:10697000928D1A012B0139E056944794379427944D -:106980003A95D1F7223061F4FC01828D938DA48D6C -:10699000B58DBC01CD01620D731D841D951D4AC0CE -:1069A000DC0114961C9111501221C114D10401F57F -:1069B00011111EC0452B462B472B59F4EB81FC814E -:1069C00085899689A789B08D84839583A683B783AB -:1069D0000FC0AB81BC8114964D915D916D917C91FE -:1069E000179729813A810E949C77882309F485CFE3 -:1069F000EB81FC81218D328D84819581A681B781C7 -:106A00000297A109B109F901058404C0880F991FF3 -:106A1000AA1FBB1F0A94D2F74685578560897189E2 -:106A2000840F951FA61FB71FBC01CD01610F711DFB -:106A3000811D911D93012C193D0987012E153F05DC -:106A400008F489010115F2E01F0779F520918810FB -:106A50003091891040918A1050918B106217730702 -:106A60008407950719F421C0C5012DC09401AB011D -:106A7000BC0180919110909192100E94F4B38823F0 -:106A800009F43BCF800E911EEB81FC8180859185BE -:106A9000A285B385800F911FA11DB11D80879187AD -:106AA000A287B387E01AF10A50CF40E00E94D17666 -:106AB000882309F422CFB6016857714FA801C40199 -:106AC0000F94B370DFCF0F900F900F900F90DF9166 -:106AD000CF911F910F91FF90EF90DF90CF90BF90DB -:106AE000AF909F908F907F906F905F904F903F906E -:106AF0002F900895DF92EF92FF920F931F93CF9301 -:106B0000DF938C01EB017A018DE0D82E40E250E05A -:106B1000BE01C8010E945EB48032910539F021E0C7 -:106B2000892B09F420E0822F819544C028812223FB -:106B3000C9F1253E11F02E3231F4E114F10431F3A4 -:106B4000F7011082E3CFE114F10441F13B853F737B -:106B50003F3021F54A8D5B8D452B01F52F713FEFBD -:106B6000320F3530D8F430E021503109D29EC001C7 -:106B7000D39E900D1124D701A80FB91FFE0120E06C -:106B8000AD01253088F431813D932F5F32962D3051 -:106B9000C1F7288126FF02C0FA0115862B8523FD47 -:106BA000B5CF08C080E006C02B3010F43481ECCFA4 -:106BB0003681EACFDF91CF911F910F91FF90EF9037 -:106BC000DF9008954F925F926F927F929F92AF9263 -:106BD000BF92CF92DF92EF92FF920F931F93CF93CA -:106BE000DF931F92CDB7DEB78C017B015A01C22E15 -:106BF000DB0159968D919C915A97F801928F818F64 -:106C0000CB010E94B8B2912CF70180859185A285B5 -:106C1000B385418952896389748984179507A607CA -:106C2000B70708F060C025E0B695A79597958795BA -:106C30002A95D1F7F82FFF70DF2ED70113968C918C -:106C4000823008F460C041E050E0BE016F5F7F4FCA -:106C5000C7010E945EB4019719F4898190E002C0D7 -:106C60008FEF9FEF019609F44EC0F7018085918563 -:106C7000A285B3854F96A11DB11D80879187A287FC -:106C8000B387F0E2DF9EB00111246857714F6115A0 -:106C90007105C9F1DB018C91882319F0853EC1F49F -:106CA0006CC191100EC08091881090918910A091B4 -:106CB0008A10B0918B10F80184879587A687B787D3 -:106CC000D08ADB018C91882361F0992493949CCF26 -:106CD0004BE050E0C5010F94A670892B09F094CFCA -:106CE00014C0992493948C2D8274823461F4992079 -:106CF00009F48BC0F801D08861E0C8010E9463B13B -:106D0000009709F00DC180E03BC1C7FCFCCFF0E269 -:106D1000DF9EA00111249A012857314FD9011B96FB -:106D20008C91817121F08C2D827109F06AC0809163 -:106D3000881090918910A0918A10B0918B10F80161 -:106D400084879587A687B787D08ACA018857914FCD -:106D50007C01DC0154964D915C91559760E070E0A8 -:106D6000DA0199278827858B968BA78BB08FF7013F -:106D7000428D538D60E070E0482B592B6A2B7B2BA2 -:106D8000D80155964D935D936D937C935897F90177 -:106D90008385887161F4F701848D958DA68DB78DFB -:106DA000F801818B928BA38BB48B81E010C0803172 -:106DB00041F598012F5E3F4FD80159968D919C91D6 -:106DC0005A970E941D788823E1F084E0F8018383BC -:106DD0008C2D8F70D80111968C931197F801148225 -:106DE00015821682178218961D921D921D921C9272 -:106DF0001B97C4FEB5C0C8010F942B3A8111B0C0D7 -:106E000082CFD80113961C927ECFD70113968C9116 -:106E10001397823009F477CF51968D919D910D9003 -:106E2000BC91A02D803E9F4FAF41B10508F06BCFC4 -:106E3000C7010E94B3B1882309F465CF0E9472B3E1 -:106E4000882309F460CFD70159962D913C915A9728 -:106E500014968D919D910D90BC91A02D0297A10942 -:106E6000B109F901058404C0880F991FAA1FBB1F2F -:106E70000A94D2F74684578460887188480E591E58 -:106E80006A1E7B1E81E08093901040928810509281 -:106E9000891060928A1070928B1080E092E0E8E88E -:106EA000FEE0DF019C011D9221503040E1F7DD241E -:106EB000D394D7015996ED91FC915A978481D816B5 -:106EC00098F428E83EE0B301A2014D0D511D611D6B -:106ED000711D80919110909192100E940FB38823A0 -:106EE00009F411CFD394E5CF80E092E0A0E0B0E0C8 -:106EF000058404C0880F991FAA1FBB1F0A94D2F7EC -:106F0000F7014189528963897489840F951FA61FEF -:106F1000B71F818B928BA38BB48B88E89EE0D12C1A -:106F200020E2DC011D922A95E9F72BE0F501DC0156 -:106F300001900D922A95E1F721E238E2FC01318BB4 -:106F4000208B40E058E057874687338B228B318F68 -:106F5000208F578B468B0E9472B38111D8CED3CE2F -:106F6000C5FE09C0F8014189528963897489C80145 -:106F70000E9479B005C081E003C09110A6CE93CEE7 -:106F80000F90DF91CF911F910F91FF90EF90DF90C5 -:106F9000CF90BF90AF909F907F906F905F904F90F9 -:106FA00008952F923F924F925F926F927F928F92AD -:106FB0009F92AF92BF92CF92DF92EF92FF920F9388 -:106FC0001F93CF93DF93CDB7DEB7C254D1090FB66D -:106FD000F894DEBF0FBECDBF4C015B016A01322EBB -:106FE00019821C821C8E1F8E6115710511F410E030 -:106FF000A6C0FC0183818111FACFFA0180818F3212 -:1070000009F09BC0F50183818250823010F4850124 -:107010000CC0F501618D728DCE014C960E9410B1AD -:10702000882329F38E01045E1F4FC6016C0101966F -:10703000F60120812F32D1F3CE0101967C013C0173 -:107040002E019CE1490E511C2396EFAE23972F2C65 -:107050009BE09150E7E3F0E0EC0FFD1FE90FF11D1D -:1070600080E280839111F5CF960147E0D9018D919F -:10707000882369F18F3259F18E3239F44A3009F49C -:10708000B6CF98E04AE09D01F1CFE7ECFAE3249116 -:10709000222321F031968213FACFA9CF491708F4A1 -:1070A000A6CF813208F4A3CF8F3709F4A0CF21E017 -:1070B000290FE7E3F0E0EC0FFD1FE90FF11D9FE959 -:1070C000980F9A3108F480528083922FDCCF8FA9D9 -:1070D000803209F48CCF6901F90180812F5F3F4F25 -:1070E0008F32C9F38823F9F021E0AE01495C5F4F8C -:1070F000B801C7010E94E2B5882309F478CF0A15C8 -:107100001B0519F0C8010E94E5B36E147F0441F01D -:1071100023969FAD2397822D8701E92EF82E98CFD5 -:10712000942D852DF9CF232DAE01495C5F4FB80119 -:10713000C4010E94E2B5182F02C08B017DCFCE01A1 -:107140004C960E94EEB3CE0101960E94EEB3812FC1 -:10715000CE5BDF4F0FB6F894DEBF0FBECDBFDF9121 -:10716000CF911F910F91FF90EF90DF90CF90BF9044 -:10717000AF909F908F907F906F905F904F903F90D7 -:107180002F90089520911202309113022F5031094F -:10719000821793070CF49C013093210A2093200A54 -:1071A00080E00C94A9A02F923F924F925F926F9231 -:1071B0007F928F929F92AF92BF92CF92DF92EF9287 -:1071C000FF920F931F93CF93DF93CDB7DEB7CC59C8 -:1071D000D1090FB6F894DEBF0FBECDBF2DB63EB6B7 -:1071E000CB56DF4F19821882C559D04084E690E013 -:1071F000C956DF4F99838883C759D04001E09E016B -:107200002B563F4F44E050E0BE016F567F4FCE01FA -:1072100089569F4F0E9476649E012B563F4F42E055 -:1072200050E0BE0167567F4FCE0189569F4F0E94A6 -:10723000766443E050E0BE016F567F4F87E893E0ED -:107240000F94EC70892BB1F0CC56DF4F8881C45974 -:10725000D040882359F08FE3CF56DF4F8883C15940 -:10726000D040CE56DF4F1882C259D04081E0809383 -:10727000290D85C5C357DF4F188219821A821B82D8 -:10728000CD58D040CB56DF4F19821882C559D04017 -:1072900001E09E012B563F4F41E050E0BE01645695 -:1072A0007F4FCE0189569F4F0E9476644DB65EB6E1 -:1072B00080E1E7EFF2E0DE01A358BF4F01900D92AD -:1072C0008A95E1F780E1E7E0F3E0DE01A359BF4FE3 -:1072D00001900D928A95E1F780E1E7E1F3E09E01EC -:1072E0002F5F3F4F6901D90101900D928A95E1F717 -:1072F000C456DF4F4881CC59D04050E04D5F5F4FBE -:10730000440F551F440F551F6DB77EB7641B750B97 -:107310000FB6F8947EBF0FBE6DBF8DB79EB70196B6 -:107320005C010091061411E001272C563F4FBC016F -:10733000CE0189569F4F0E94766400910614012762 -:107340009E012B563F4F44E050E061EB7CE0CE01C4 -:1073500089569F4F0E947664C456DF4FE880CC590F -:10736000D040F12C93E0E90EF11CEE0CFF1CEE0C6A -:10737000FF1CADB7BEB7AE19BF090FB6F894BEBFBC -:107380000FBEADBFEDB7FEB731964F012DB73EB77B -:107390002E193F090FB6F8943EBF0FBE2DBF6DB733 -:1073A0007EB76F5F7F4F3B010091061401279E015E -:1073B0002B563F4FA701BF01CE0189569F4F0E9418 -:1073C00076640091061401279E012B563F4FA701BA -:1073D000B301CE0189569F4F0E9476640091061436 -:1073E000002309F44EC011E001279E012B563F4FA8 -:1073F00044E050E065ED7CE0CE0189569F4F0E944D -:1074000076640091061401279E012B563F4F44E0FD -:1074100050E069ED7CE0CE0189569F4F0E94766472 -:107420000091061401279E012B563F4F44E050E087 -:107430006DED7CE0CE0189569F4F0E9476640091ED -:10744000061401279E012B563F4F44E050E061EEA9 -:107450007CE0CE0189569F4F0E947664009106140D -:1074600001279E012B563F4F44E050E065EE7CE043 -:10747000CE0189569F4F0E94766415E0FF24F39455 -:1074800072C0C456DF4F2881CC59D04030E02E5F07 -:107490003F4FE1EAFCE080E090E0760128173907F1 -:1074A00014F0D50111C0AC018430910510F043E017 -:1074B00050E0440F551F440F551F6DE770E06C0FEF -:1074C0007D1F460F571FDA014D915D916D917C91A3 -:1074D00041935193619371932817390714F0D401A4 -:1074E00011C0AC018430910510F043E050E0440F2E -:1074F000551F440F551F6DE670E06C0F7D1F460F42 -:10750000571FDA014D915D916D917C91408B518BAC -:10751000628B738B2817390714F0D3010DC0AC01AF -:107520008430910510F043E050E0440F551F440FA4 -:10753000551F4E0D5F1DDA014D915D916D917C914E -:1075400040A351A362A373A30196B4E06B0E711C18 -:1075500044E0840E911C64E0A60EB11C84309105B9 -:1075600009F09CCF40CF115000910614112379F0FF -:107570000F259E012B563F4F44E050E0BE0163575C -:107580007F4FCE0189569F4F0E947664ECCF11E069 -:1075900001279E012B563F4F44E050E064EA74E11E -:1075A000CE0189569F4F0E9476640FB6F8945EBE56 -:1075B0000FBE4DBE0091061401279E012B563F4F72 -:1075C0004CE050E06EE57AE0CE0189569F4F0E9474 -:1075D00076640091061401279E012B563F4F41E02F -:1075E00050E062E572E0CE0189569F4F0E947664BA -:1075F0000091061401279E012B563F4F44E050E0B6 -:10760000BE016F5F7F4FCE0189569F4F0E94766407 -:107610000091061401110CC089819A81AB81BC8153 -:1076200080934E0290934F02A0935002B093510268 -:1076300011E001279E012B563F4F44E050E067E0E8 -:1076400074E1CE0189569F4F0E9476640091061422 -:1076500001279E012B563F4F44E050E0BE01635787 -:107660007F4FCE0189569F4F0E94766401E09E01B4 -:107670002B563F4F41E050E0BE0163597F4FCE0192 -:1076800089569F4F0E9476649E012B563F4F41E0E2 -:1076900050E0BE016F5F7F4FCE0189569F4F0E9421 -:1076A0007664AE96AFACAE978981A89E5001112446 -:1076B000E12CF12C00910614EA14FB0491F001274F -:1076C0009E012B563F4F44E050E0BE0163577F4F71 -:1076D000CE0189569F4F0E9476647FEFE71AF70A22 -:1076E000E9CF11E001279E012B563F4F44E050E0C7 -:1076F0006FED74E1CE0189569F4F0E947664009130 -:10770000061401279E012B563F4F44E050E063EEE4 -:1077100074E1CE0189569F4F0E9476640091061451 -:1077200001279E012B563F4F44E050E067EE74E185 -:10773000CE0189569F4F0E9476641AE0FF24F3948D -:10774000115089F0009106140F259E012B563F4FD2 -:1077500044E050E0BE0163577F4FCE0189569F4FF2 -:107760000E947664EDCF01E09E012B563F4F41E031 -:1077700050E0BE0165567F4FCE0189569F4F0E9453 -:1077800076649E012B563F4F41E050E0BE016358A6 -:107790007F4FCE0189569F4F0E9476640091061458 -:1077A00011E001279E012B563F4F44E050E0BE01FF -:1077B00063597F4FCE0189569F4F0E947664009196 -:1077C000061401279E012B563F4F44E050E0BE01B6 -:1077D0006F5F7F4FCE0189569F4F0E947664C556DA -:1077E000DF4FA880CB59D040EE968FADEE97A89E84 -:1077F00050011124E12CF12C00910614AE14BF04A9 -:1078000091F001279E012B563F4F44E050E0BE010E -:1078100063577F4FCE0189569F4F0E9476648FEF4A -:10782000E81AF80AE9CF11E001279E012B563F4FD5 -:1078300041E050E067E67EE1CE0189569F4F0E940D -:1078400076640091061401279E012B563F4F41E0BC -:1078500050E06BE174E1CE0189569F4F0E9476643F -:107860000091061401279E012B563F4F44E050E043 -:10787000BE016F5F7F4FCE0189569F4F0E94766495 -:107880000091061401279E012B563F4F41E050E026 -:107890006CE17DE0CE0189569F4F0E947664009195 -:1078A000061401279E012B563F4F44E050E0BE01D5 -:1078B00063597F4FCE0189569F4F0E947664009195 -:1078C000061401279E012B563F4F44E050E0BE01B5 -:1078D0006F5F7F4FCE0189569F4F0E947664009163 -:1078E000061401279E012B563F4F42E050E0BE0197 -:1078F00063587F4FCE0189569F4F0E947664009156 -:10790000061401279E012B563F4F40E150E0BE0177 -:107910006F5F7F4FCE0189569F4F0E947664009122 -:10792000061401112EC089809A80AB80BC8020E0B3 -:1079300030E84BE355E4C501B4010F943E6588235C -:1079400001F18092230A9092240AA092250AB09213 -:10795000260A8D819E81AF81B8858093270A9093F6 -:10796000280AA093290AB0932A0A89859A85AB85AB -:10797000BC8580932B0A90932C0AA0932D0AB09378 -:107980002E0A11E001279E012B563F4F42E050E0A6 -:10799000BE016F5F7F4FCE0189569F4F0E94766474 -:1079A0000091061401279E012B563F4F4CE050E0FA -:1079B000BE016F5F7F4FCE0189569F4F0E94766454 -:1079C00000910614011115C020E030E84BE355E4A6 -:1079D00069817A818B819C810F943E65882349F06F -:1079E0008CE0FE013196AAE3BAE001900D928A95EF -:1079F000E1F711E001279E012B563F4F42E050E096 -:107A0000BE016F5F7F4FCE0189569F4F0E94766403 -:107A10000091061401279E012B563F4F41E050E094 -:107A2000BE016F5F7F4FCE0189569F4F0E947664E3 -:107A30000091061401279E012B563F4F40E250E073 -:107A4000BE016F5F7F4FCE0189569F4F0E947664C3 -:107A50000091061401279E012B563F4F41E050E054 -:107A6000BE0163597F4FCE0189569F4F0E947664B5 -:107A70000091061401279E012B563F4F49E050E02C -:107A8000BE016F5F7F4FCE0189569F4F0E94766483 -:107A90000091061401110CC089818093561E88E064 -:107AA000FE013296AFE5BEE101900D928A95E1F7B5 -:107AB00011E001279E012B563F4F4AE150E0BE01E5 -:107AC0006F5F7F4FCE0189569F4F0E947664009171 -:107AD000061401279E012B563F4F44E350E0BE01A0 -:107AE0006F5F7F4FCE0189569F4F0E947664009151 -:107AF000061401279E012B563F4F48E050E0BE017F -:107B00006F5F7F4FCE0189569F4F0E947664009130 -:107B1000061401279E012B563F4F4DE050E0BE0159 -:107B20006F5F7F4FCE0189569F4F0E947664009110 -:107B3000061401279E012B563F4F48E050E0BE013E -:107B40006F5F7F4FCE0189569F4F0E9476640091F0 -:107B50000614011109C088E0FE013196A4E6BCE0DC -:107B600001900D928A95E1F711E001279E012B56B5 -:107B70003F4F4CE050E0B601CE0189569F4F0E9426 -:107B800076640091061401279E012B563F4F4CE668 -:107B900050E0B601CE0189569F4F0E94766419824B -:107BA0001A821B821C821D821E821F8218861986E1 -:107BB0001A861B861C860091061401279E012B56EF -:107BC0003F4F4CE050E0B601CE0189569F4F0E94D6 -:107BD00076640091061401279E012B563F4F40E129 -:107BE00050E06BE074E1CE0189569F4F0E947664AD -:107BF0000091061401279E012B563F4F48E150E0AB -:107C000061EF7CE0CE0189569F4F0E94766400911F -:107C1000061401279E012B563F4F44E050E0B60169 -:107C2000CE0189569F4F0E94766400910614012769 -:107C30009E012B563F4F44E050E0BE016B5F7F4FEB -:107C4000CE0189569F4F0E94766400910614012749 -:107C50009E012B563F4F44E050E0BE01675F7F4FCF -:107C6000CE0189569F4F0E94766400910614012729 -:107C70009E012B563F4F41E050E0BE0163587F4FBD -:107C8000CE0189569F4F0E94766400910614012709 -:107C90009E012B563F4F44E050E0BE0163597F4F99 -:107CA000CE0189569F4F0E94766480E3D6011D92D3 -:107CB0008A95E9F70091061401279E012B563F4F44 -:107CC00040E350E0B601CE0189569F4F0E94766492 -:107CD00080910614811104C08AEA96E00E94CE6762 -:107CE000C956DF4F88819981C759D04021E088313A -:107CF000B3E09B0709F420E02093290D88319340DD -:107D000091F4CB56DF4F28813981C559D040C756F1 -:107D1000DF4F88819981C959D0402817390719F058 -:107D200081E08093290D80910614811106C0809115 -:107D3000290D811102C00F94DE4680910614811135 -:107D40001EC00F9445540E943CF2892BF9F483EE37 -:107D50009AE30F94365481E08093290D85E891E4ED -:107D60000F9436540F94875280911B1487FD05C0E1 -:107D700060E070E00E9448F202C00F948752809148 -:107D8000061481110BC00E94CFF208C08AE00E9445 -:107D9000B06685E891E40F943654E6CF9091290DB2 -:107DA00081E089270FB6F8943EBE0FBE2DBEC456A3 -:107DB000DF4F0FB6F894DEBF0FBECDBFDF91CF917E -:107DC0001F910F91FF90EF90DF90CF90BF90AF90F9 -:107DD0009F908F907F906F905F904F903F902F90EB -:107DE0000895CF92DF92EF92FF920F931F93CF935C -:107DF000DF93CDB7DEB7CE5AD1090FB6F894DEBF08 -:107E00000FBECDBFCF55DF4F188219821A821B8259 -:107E1000C15AD0408091F1069091F206A091F306EC -:107E2000B091F406CB55DF4F88839983AA83BB8337 -:107E3000C55AD040C755DF4F19821882C95AD04061 -:107E400084E690E0C555DF4F99838883CB5AD040B4 -:107E50001092290D9E0127553F4F44E050E0BE018E -:107E60006B557F4FCE0185559F4F0E94B364C5551A -:107E7000DF4F88819981CB5AD0400296C555DF4F9C -:107E800099838883CB5AD040C755DF4F1982188217 -:107E9000C95AD04081E0C255DF4F8883CE5AD040C6 -:107EA0009E0127553F4F41E050E0BE0162557F4F94 -:107EB000CE0185559F4F0E94B3649E0127553F4FC9 -:107EC00048E450E061EA7CE0CE0185559F4F0E9476 -:107ED000B3648E010F5F1F4F80E1F80111928A9504 -:107EE000E9F780E090E0A0EAB0E489839A83AB836D -:107EF000BC839E0127553F4F40E150E0B801CE01C1 -:107F000085559F4F0E94B3649E0127553F4F44E023 -:107F100050E064EA74E1CE0185559F4F0E94B3643E -:107F20009E0127553F4F4CE050E06EE57AE0CE01D0 -:107F300085559F4F0E94B3649E0127553F4F41E0F6 -:107F400050E062E572E0CE0185559F4F0E94B36418 -:107F50009E0127553F4F44E050E06EE472E0CE01B1 -:107F600085559F4F0E94B3648091C60D9091C70DB7 -:107F7000A091C80DB091C90D89839A83AB83BC834E -:107F80009E0127553F4F44E050E0B801CE01855592 -:107F90009F4F0E94B364CF55DF4F188219821A8217 -:107FA0001B82C15AD0407E01FDE6EF0EF11C83E03A -:107FB000F701808389839E0127553F4F44E050E0BD -:107FC000BE016F557F4FCE0185559F4F0E94B36410 -:107FD0009E0127553F4F41E050E0B701CE01855546 -:107FE0009F4F0E94B3649E0127553F4F41E050E0F0 -:107FF000B801CE0185559F4F0E94B3643AE0D32E5D -:10800000DA949E0127553F4F44E050E0DD2049F0CF -:10801000BE016F557F4FCE0185559F4F0E94B364BF -:10802000EFCF6FED74E1CE0185559F4F0E94B36491 -:108030009E0127553F4F44E050E063EE74E1CE01CE -:1080400085559F4F0E94B3649E0127553F4F44E0E2 -:1080500050E067EE74E1CE0185559F4F0E94B364F6 -:10806000CF55DF4F188219821A821B82C15AD04025 -:108070002AE0D22EDA94DD2071F09E0127553F4F81 -:1080800044E050E0BE016F557F4FCE0185559F4FB4 -:108090000E94B364EFCF83E0C355DF4F8883CD5A8E -:1080A000D040C356DF4F8883CD59D040F7011082AE -:1080B00011821282138219821A821B821C82CF556E -:1080C000DF4F188219821A821B82C15AD0409E014A -:1080D00027553F4F41E050E0BE0163557F4FCE0131 -:1080E00085559F4F0E94B3649E0127553F4F41E045 -:1080F00050E0BE0163567F4FCE0185559F4F0E94D1 -:10810000B3649E0127553F4F44E050E0B801CE01D3 -:1081100085559F4F0E94B3649E0127553F4F44E011 -:1081200050E0B701CE0185559F4F0E94B3649AE09D -:10813000C92ED12CF1E0CF1AD1089E0127553F4F0F -:10814000C114D10459F044E050E0BE016F557F4F97 -:10815000CE0185559F4F0E94B364ECCF41E050E0C3 -:1081600067E67EE1CE0185559F4F0E94B3649E0174 -:1081700027553F4F41E050E06BE174E1CE0185555A -:108180009F4F0E94B3649E0127553F4F44E050E04B -:1081900063E873E0CE0185559F4F0E94B3649E0152 -:1081A00027553F4F41E050E06CE17DE0CE01855521 -:1081B0009F4F0E94B3648091270390912803A09160 -:1081C0002903B0912A03F70180839183A283B383AB -:1081D00080912B0390912C03A0912D03B0912E033D -:1081E00089839A83AB83BC83C356DF4F1882CD59F2 -:1081F000D040C256DF4F1882CE59D0409E0127553D -:108200003F4F44E050E0B701CE0185559F4F0E949B -:10821000B3649E0127553F4F44E050E0B801CE01C2 -:1082200085559F4F0E94B3649E0127553F4F42E002 -:1082300050E0BE0163567F4FCE0185559F4F0E948F -:10824000B36480E1F80111928A95E9F780E090E04B -:10825000A0E8BFE38D879E87AF87B88B8091230A04 -:108260009091240AA091250AB091260A89839A83C5 -:10827000AB83BC838091270A9091280AA091290A98 -:10828000B0912A0A8D839E83AF83B88780912B0A91 -:1082900090912C0AA0912D0AB0912E0A89879A8775 -:1082A000AB87BC879E0127553F4F40E150E0B801A6 -:1082B000CE0185559F4F0E94B36484E190E09A837C -:1082C00089839E0127553F4F42E050E0B801CE011F -:1082D00085559F4F0E94B3649E0127553F4F4CE048 -:1082E00050E06AE37AE0CE0185559F4F0E94B36467 -:1082F0008FE790E09A8389839E0127553F4F42E0A4 -:1083000050E0B801CE0185559F4F0E94B36481E0D3 -:1083100089839E0127553F4F41E050E0B801CE01CF -:1083200085559F4F0E94B36480E2EFE2F3E0D801ED -:1083300001900D928A95E1F79E0127553F4F40E24B -:1083400050E0B801CE0185559F4F0E94B364F701FC -:1083500010829E0127553F4F41E050E0B701CE010A -:1083600085559F4F0E94B3649E0127553F4F41E0C2 -:1083700050E066E57EE1CE0185559F4F0E94B364D3 -:108380009E0127553F4F48E050E06FE57EE1CE016A -:1083900085559F4F0E94B3648AE1F80111928A9536 -:1083A000E9F79E0127553F4F4AE150E0B801CE0161 -:1083B00085559F4F0E94B36484E3EFE4F3E0D80156 -:1083C00001900D928A95E1F79E0127553F4F44E3B6 -:1083D00050E0B801CE0185559F4F0E94B36488E0FC -:1083E000F80111928A95E9F79E0127553F4F48E021 -:1083F00050E0B801CE0185559F4F0E94B3648DE0D7 -:10840000F80111928A95E9F79E0127553F4F4DE0FB -:1084100050E0B801CE0185559F4F0E94B3649E0184 -:1084200027553F4F48E050E064E67CE0CE0185559B -:108430009F4F0E94B3648CE0D82EF8018D2D1192CD -:108440008A95E9F79E0127553F4F4CE050E0B8016F -:10845000CE0185559F4F0E94B3648CE6F8011192BE -:108460008A95E9F79E0127553F4F4CE650E0B80149 -:10847000CE0185559F4F0E94B3649E0127553F4F03 -:108480004CE050E06DE17DE0CE0185559F4F0E94AC -:10849000B3649E0127553F4F40E150E06BE074E12B -:1084A000CE0185559F4F0E94B3649E0127553F4FD3 -:1084B00048E150E061EF7CE0CE0185559F4F0E947E -:1084C000B364F7011192DA94E9F7C355DF4F1882CC -:1084D000CD5AD04080E090E0A0E4B0E4C356DF4F36 -:1084E00088839983AA83BB83CD59D0409E012755A9 -:1084F0003F4F44E050E0B701CE0185559F4F0E94A9 -:10850000B3649E0127553F4F44E050E0B7016C5FD4 -:108510007F4FCE0185559F4F0E94B3649E01275522 -:108520003F4F44E050E0B701685F7F4FCE01855573 -:108530009F4F0E94B3649E0127553F4F41E050E09A -:10854000BE0163557F4FCE0185559F4F0E94B36496 -:108550009E0127553F4F44E050E0BE0163567F4FD8 -:10856000CE0185559F4F0E94B36480E3F7011192BD -:108570008A95E9F78DEB96E00E94CE679E0127551C -:108580003F4F40E350E0B701CE0185559F4F0E9419 -:10859000B3648091290D811138C0C555DF4F088122 -:1085A0001981CB5AD040C755DF4F88819981C95A6C -:1085B000D040F7019183808384E690E0C555DF4F7A -:1085C00099838883CB5AD0409E0127553F4F44E082 -:1085D00050E067E873E0CE0185559F4F0E94B36479 -:1085E0009E0127553F4F42E050E0B701CE0185552F -:1085F0009F4F0E94B36481E00831134009F480E08A -:108600009091290D892B8093290D80911B1487FF50 -:108610000E9492F281ED96E00E94CE679091290D22 -:1086200081E08927C255DF4F0FB6F894DEBF0FBE39 -:10863000CDBFDF91CF911F910F91FF90EF90DF9011 -:10864000CF900895AF92BF92CF92DF92EF920F93A7 -:108650001F93A12CB12C6501E090870E8C0123E8BB -:108660003EE04FE75EE06BE77EE087E79EE00F9439 -:10867000C81C1F910F91EF90DF90CF90BF90AF90EB -:108680000895CF92DF92EF92FF92CF93DF932091E4 -:108690004302222309F485C0EC01C0902502D0904A -:1086A0002602E0902702F0902802288139814A8131 -:1086B0005B81C701B6010F94946E181624F4C8822A -:1086C000D982EA82FB82C0902902D0902A02E090EF -:1086D0002B02F0902C02288139814A815B81C701ED -:1086E000B6010F943E6587FF04C0C882D982EA8232 -:1086F000FB82C0902D02D0902E02E0902F02F090CD -:1087000030022C813D814E815F81C701B6010F94FB -:10871000946E181624F4CC82DD82EE82FF82C09023 -:108720003102D0903202E0903302F09034022C817A -:108730003D814E815F81C701B6010F943E6587FF81 -:1087400004C0CC82DD82EE82FF82C0903502D090E0 -:108750003602E0903702F0903802288539854A8544 -:108760005B85C701B6010F94946E181624F4C88671 -:10877000D986EA86FB86C0903902D0903A02E09012 -:108780003B02F0903C02288539854A855B85C7010C -:10879000B6010F943E6587FF04C0C886D986EA8675 -:1087A000FB86DF91CF91FF90EF90DF90CF900895FF -:1087B0002F923F924F925F926F927F928F929F92F1 -:1087C000AF92BF92CF92DF92EF92FF920F931F93DF -:1087D000CF93DF93CDB7DEB7C757D1090FB6F89463 -:1087E000DEBF0FBECDBF8EE59EE00E9441C38091EB -:1087F000F00C83FD81C0C0906A0ED0906B0EE090AB -:108800006C0EF0906D0E2091830E3091840E40918D -:10881000850E5091860EC701B6010F943E658823E0 -:1088200009F46AC08091EF0C81111FC060911C0A8D -:1088300070911D0A80911E0A90911F0A0F94A06DDD -:1088400020914102309142026217730774F4C09282 -:10885000830ED092840EE092850EF092860E0F94D5 -:10886000B65482E69BE30F94365480906A0E909043 -:108870006B0EA0906C0EB0906D0E2091830E309117 -:10888000840E4091850E5091860EC501B4010F945F -:10889000336C6B017C0120E030E0A9010F94946EF1 -:1088A00087FF04C0F7FAF094F7F8F094E091870E90 -:1088B00004E0E09FF0011124EB5EFD4F2081318147 -:1088C00042815381C701B6010F94A46520E030E0D6 -:1088D0004AEF53E40F94946E181674F48092830E4A -:1088E0009092840EA092850EB092860E0F94B6548C -:1088F00083E49BE30F9436548091671E00914402F9 -:1089000010914502882309F1C090C60DD090C70D83 -:10891000E090C80DF090C90D20E030E0A901C7013A -:10892000B6010F943E65882309F457C02091660E66 -:108930003091670E4091680E5091690EC701B601E3 -:108940000F94946E18160CF448C0B801110F880BE0 -:10895000990B0F94456520913D0230913E02409164 -:108960003F02509140020F94A4652AE037ED43E2A4 -:108970005CE30F94A46569837A838B839C83A12C29 -:10898000B12C6501E090870E8E010F5F1F4F2AE624 -:108990003EE046E65EE062E67EE08EE59EE00F9415 -:1089A000C81C0F94C00EC958DF4F0FB6F894DEBF35 -:1089B0000FBECDBFDF91CF911F910F91FF90EF9030 -:1089C000DF90CF90BF90AF909F908F907F906F90EF -:1089D0005F904F903F902F900895F090870EA09653 -:1089E000FFAEA097B801110F880B990B0F94456546 -:1089F00020913D0230913E0240913F025091400251 -:108A00000F94A4652AE037ED43E25CE30F94A4657C -:108A10006DA77EA78FA798ABF090770EFFAAF09076 -:108A2000780EFBAEF090790EFFAEF0907A0E2196A4 -:108A3000FFAE219700917B0E10917C0E20917D0E50 -:108A400030917E0E25960CAF1DAF2EAF3FAF259710 -:108A500080917F0E9091800EA091810EB091820E38 -:108A6000A4968CAF9DAFAEAFBFAFA497E090830E3E -:108A7000F090840E0091850E1091860EA896ECAEB3 -:108A8000FDAE0EAF1FAFA897C0905E0ED0905F0EE8 -:108A9000E090600EF090610EC982DA82EB82FC8277 -:108AA0008090620E9090630EA090640EB090650E60 -:108AB0008D829E82AF82B8860091660E1091670EFD -:108AC0002091680E3091690E09AB1AAB2BAB3CAB11 -:108AD00009871A872B873C8740906A0E50906B0E4F -:108AE00060906C0E70906D0E4D865E866F86788AF3 -:108AF00020E030E040E450E46FA97BAD8FAD2196DB -:108B00009FAD21970F94336C2DEA3CEF44E85CE372 -:108B10000F94A4650F94A06D663014F065E002C058 -:108B200067FD60E0262F660F330B3EAB2DAB20E0D8 -:108B300030E040E450E425966CAD7DAD8EAD9FAD48 -:108B400025970F94336C2FE031EA47E85CE30F94EC -:108B5000A4650F94A06D663014F065E002C067FD57 -:108B600060E0862F660F990B2D969FAF8EAF2D97E5 -:108B700020E030E040E450E4C701B6010F94336CCC -:108B80002DEA3CEF44E85CE30F94A4650F94A06DDC -:108B900029966FAF299766302CF095E029969FAF04 -:108BA000299708C02996AFAD2997A7FF03C029963A -:108BB0001FAE29972996EFAD29970E2E000CFF0BBB -:108BC0002F96FFAFEEAF2F9720E030E040E450E467 -:108BD000C501B4010F94336C2FE031EA47E85CE340 -:108BE0000F94A4650F94A06D28966FAF28976630F8 -:108BF0002CF0F5E02896FFAF289708C028960FAD17 -:108C0000289707FF03C028961FAE289728962FADF8 -:108C10002897022E000C330B27963FAF2EAF2797D5 -:108C20008DA99EA92F96AEADBFAD2F978A179B0732 -:108C300009F01FC12D962EAD3FAD2D9727968EAD15 -:108C40009FAD27972817390709F013C189809A80AB -:108C5000AB80BC8029968FAD29970E940CA49B0104 -:108C6000AC012F966EAD7FAD2F976F5F7F4FA6E063 -:108C7000A69FC001A79F900D11242796EEADFFADD2 -:108C80002797E80FF91FEE0FFF1FEE0FFF1FEA5C9B -:108C9000F24FE080F18002811381EFAAF8AE09AFB4 -:108CA0001AAF2F960EAD1FAD2F97A09FB001A19FB9 -:108CB000700D11242796EEADFFAD2797E60FF71F35 -:108CC000EE0FFF1FEE0FFF1FEA5CF24F4080518056 -:108CD000628073802796AEADBFAD27971196FC01D9 -:108CE000EA0FFB1FEE0FFF1FEE0FFF1FEA5CF24FB4 -:108CF000E080F18002811381EBAEFCAE0DAF1EAFC0 -:108D0000A60FB71FAA0FBB1FAA0FBB1FAA5CB24FAB -:108D1000CD90DD90ED90FC9029960FAD2997053010 -:108D200089F1C501B4010F94336C2DEA3CEF44E89E -:108D30005CE30F94A4654B015C01A30192016FA950 -:108D400078AD89AD9AAD0F94336CA50194010F9461 -:108D5000A465A30192010F94346C2B013C01A7017F -:108D600096016BAD7CAD8DAD9EAD0F94336CA501BE -:108D700094010F94A465A70196010F94346C6B01C4 -:108D80007C0105C0C12CD12C7601260137018D80D4 -:108D90009E80AF80B88428968FAD28970E94DEA36E -:108DA0009B01AC0128961FAD2897153059F1C501DC -:108DB000B4010F94336C2FE031EA47E85CE30F9481 -:108DC000A4654B015C01A3019201C701B6010F9498 -:108DD000336C9B01AC01C501B4010F94A465A301E0 -:108DE00092010F94346C6B017C01CE0109960F94B3 -:108DF000460E9B01AC01C701B6010F94A4656B013F -:108E00007C0103C0C12CD12C7601198A1A8A1B8AD5 -:108E10001C8A89849A84AB84BC84A7019601C7010B -:108E2000B6010F94816F882319F0C12CD12C7601E3 -:108E3000A7019601C501B4010F94346C6D8B7E8B34 -:108E40008F8B988F9E012F5E3F4F6901A096EFACEC -:108E5000A0978E01035D1F4F24503109AE014B5E78 -:108E60005F4FBE016B5F7F4FCE0101960E948478F9 -:108E700098CD2FA93BAD4FAD21965FAD2197C7018E -:108E8000B6010F94336C6B017C0125962CAD3DAD82 -:108E90004EAD5FAD2597C501B4010F94336C4B0106 -:108EA0005C0181E090E02B969FAF8EAF2B9720E086 -:108EB00030E0A901C501B4010F943E6587FD04C0EF -:108EC0002B961FAE1EAE2B9720E030E0A901C70104 -:108ED000B6010F943E6587FF0AC09701860130589E -:108EE00063960CAF1DAF2EAF3FAF639706C063967E -:108EF000CCAEDDAEEEAEFFAE639720E030E0A90170 -:108F0000C501B4010F943E6587FF0AC0D501C401B5 -:108F1000B05867968CAF9DAFAEAFBFAF679706C036 -:108F200067968CAE9DAEAEAEBFAE6797ADA9BEA93B -:108F30002F96EEADFFAD2F97AE17BF0781F020E063 -:108F400030E0A901C701B6010F943E6587FF0CC050 -:108F50000FEF1FEF6D961FAF0EAF6D970BC06D96A5 -:108F60001FAE1EAE6D9706C021E030E06D963FAF9C -:108F70002EAF6D972D968EAD9FAD2D972796AEADEA -:108F8000BFAD27978A179B0781F020E030E0A90149 -:108F9000C501B4010F943E6587FF0CC0EFEFFFEFF2 -:108FA0006F96FFAFEEAF6F970BC06F961FAE1EAE02 -:108FB0006F9706C001E010E06F961FAF0EAF6F977E -:108FC00067962CAD3DAD4EAD5FAD679763966CADCA -:108FD0007DAD8EAD9FAD63970F94946E18161CF007 -:108FE0001401850102C016018701A8962CAD3DAD84 -:108FF0004EAD5FADA897C301B2010F94336C69A762 -:109000007AA78BA79CA79101A8010F942E6DAC960F -:109010006CAF7DAF8EAF9FAFAC97A4962CAD3DAD3E -:109020004EAD5FADA49769A97AA98BA99CA90F94AD -:10903000336C9101A8010F942E6DE2966CAF7DAF59 -:109040008EAF9FAFE297A7019601C501B4010F94BF -:109050002E6D6B966CAF7DAF8EAF9FAF6B979B0104 -:10906000AC016FA97BAD8FAD21969FAD21970F9479 -:10907000A4659B01AC0125966CAD7DAD8EAD9FAD19 -:1090800025970F94336CE6966CAF7DAF8EAF9FAF94 -:10909000E697AC964CAC5DAC6EAC7FACAC97E8940C -:1090A00077F86D962EAD3FAD6D97232B09F03BC140 -:1090B0002D962EAC3FAC2D972B968EAD9FAD2B975A -:1090C000280E391E2796AEADBFAD2797A80FB91F42 -:1090D0002B96BFAFAEAF2B976B960CAD1DAD2EADE3 -:1090E0003FAD6B973F7709AB1AAB2BAB3CAB2B96E5 -:1090F0002EAD3FAD2B972215330509F46FC46F9643 -:109100008EAD9FAD6F97280E391E122D822D0E94B5 -:10911000DEA36B017C012FEF3FEF4FE75FE769A90B -:109120007AA98BA99CA90F94816F81110CC02FEF94 -:109130003FEF4FE75FE769A97AA98BA99CA90F9434 -:109140003E651816ACF0E6962CAD3DAD4EAD5FAD6C -:10915000E697C701B6010F94336C6B962CAD3DAD0D -:109160004EAD5FAD6B970F942E6D362F272F06C037 -:109170003FA92BAD8FAD21969FAD2197432F522F45 -:10918000BC014D8F5E8F6F8F78A396E02916310456 -:1091900050F4A1016DA97EA9CE014D960F94DF0D6B -:1091A0006B017C0103C0C12CD12C7601CE01099644 -:1091B0000F94460EA70196010F94A4656B017C01E4 -:1091C0009B01AC010F94816F882319F0C12CD12C25 -:1091D0007601812F0E94DEA34B015C01698F7A8F9B -:1091E0008B8F9C8F9B01AC0125966CAD7DAD8EADB8 -:1091F0009FAD25970F943E65882309F478CF2FEF14 -:109200003FEF4FE75FE7C301B2010F94816F811118 -:109210000BC02FEF3FEF4FE75FE7C301B2010F94A1 -:109220003E6518160CF450C067962CAD3DAD4EADA2 -:109230005FAD679763966CAD7DAD8EAD9FAD639767 -:109240000F94946E18165CF42FA93BAD4FAD219688 -:109250005FAD21976D8D7E8D8F8D98A108C025966D -:109260002CAD3DAD4EAD5FAD2597C501B4010F945A -:10927000336C4B015C019B01AC01AC966CAD7DADD8 -:109280008EAD9FADAC970F94A465A8962CAD3DAD67 -:109290004EAD5FADA8970F94346C69A77AA78BA7E2 -:1092A0009CA7A5019401E2966CAD7DAD8EAD9FADFE -:1092B000E2970F94A465A4962CAD3DAD4EAD5FAD85 -:1092C000A4970F94346C0CC08D859E85AF85B889AA -:1092D00089A79AA7ABA7BCA769857A858B859C854A -:1092E000198A1A8A1B8A1C8AA70196010F94346C6A -:1092F0006D8B7E8B8F8B988FDE0151966D01A096C2 -:10930000EFACA0978E01035D1F4F9E01275D3F4F7D -:10931000AE014B5E5F4FBE01675E7F4FCE014D9643 -:109320000E948478E4CEE1E0F0E0FAABE9AB20E023 -:1093300030E0A901C701B6010F943E6587FD02C068 -:109340001AAA19AA2DA83EA8E9A8FAA82E0C3F1C13 -:109350006F960EAD1FAD6F97012B09F000C12F96D0 -:109360002EAD3FAD2F972E0D3F1D3AAB29AB89A9EE -:109370009AA98215930509F431C36D96AEADBFADC0 -:109380006D972A0E3B1E122D822D0E940CA49B016C -:10939000AC016B966CAD7DAD8EAD9FAD6B970F94B0 -:1093A000A465E6962CAD3DAD4EAD5FADE6970F944E -:1093B000346C6D8F7E8F8F8F98A3B6E02B1631049F -:1093C00060F42D964EAD5FAD2D97B101CE014D9657 -:1093D0000F94780D6B017C0103C0C12CD12C760158 -:1093E000CE0109960F94460EA70196010F94A4652D -:1093F0006B017C019B01AC010F94816F882319F0F4 -:10940000C12CD12C7601812F0E940CA44B015C0150 -:10941000698F7A8F8B8F9C8F9B01AC016FA97BAD7D -:109420008FAD21969FAD21970F943E65882309F457 -:109430009ECF2FEF3FEF4FE75FE7C301B2010F94DD -:10944000816F81110BC02FEF3FEF4FE75FE7C30143 -:10945000B2010F943E6518160CF450C067962CADFF -:109460003DAD4EAD5FAD679763966CAD7DAD8EAD96 -:109470009FAD63970F94946E18164CF42FA93BADD3 -:109480004FAD21965FAD2197C501B4010AC0259665 -:109490002CAD3DAD4EAD5FAD25976D8D7E8D8F8D25 -:1094A00098A10F94336C4B015C019B01AC01AC960D -:1094B0006CAD7DAD8EAD9FADAC970F94A465A896B5 -:1094C0002CAD3DAD4EAD5FADA8970F94346C69A740 -:1094D0007AA78BA79CA7A5019401E2966CAD7DAD00 -:1094E0008EAD9FADE2970F94A465A4962CAD3DADD3 -:1094F0004EAD5FADA4970F94346C0CC08D859E85E6 -:10950000AF85B88989A79AA7ABA7BCA769857A85D3 -:109510008B859C85198A1A8A1B8A1C8AA701960149 -:109520000F94346C6D8B7E8B8F8B988FFE017196B0 -:109530006F01A096EFACA0978E01035D1F4F9E01B7 -:10954000275D3F4FAE014B5E5F4FBE01635E7F4FB5 -:10955000CE0149960E948478811109CF3FC22D9691 -:109560008EAD9FAD2D972796EEACFFAC27978E1949 -:109570009F096DA97EA92F960EAD1FAD2F97601B79 -:10958000710B77FF03C0719561957109E8967FAF04 -:109590006EAFE89797FF03C0919581959109AE96BC -:1095A0009FAF8EAFAE973EAA2DAA2D962EAC3FACA4 -:1095B0002D972B962EAD3FAD2B97220E331EE8969E -:1095C0008EAD9FADE897892B39F4AE96AEADBFADA9 -:1095D000AE97AB2B09F402C28DA96C96BFAD6C9708 -:1095E0008B0F0E940CA46DA37EA38FA398A76E96E9 -:1095F0008FAD6E97820D0E94DEA34B015C0169A3C3 -:109600007AA38BA39CA3CDA0DEA0EFA0F8A4A70112 -:1096100096016B966CAD7DAD8EAD9FAD6B970F9443 -:10962000A465E6962CAD3DAD4EAD5FADE6970F94CB -:10963000346C6D8F7E8F8F8F98A3E6962CAD3DADE9 -:109640004EAD5FADE697C501B4010F94336C6B96D8 -:109650002CAD3DAD4EAD5FAD6B970F942E6D9B0164 -:10966000AC01698F7A8F8B8F9C8F01E010E0C7016E -:10967000B6010F943E6587FD02C000E010E0E9A945 -:10968000FAA90E171F0709F0D1C06F96EEACFFAC18 -:109690006F972E0C3F1C6DA97EA96E1B7F0B663049 -:1096A000710560F406E02016310440F4A101CE01FA -:1096B00049960F94DF0D6B017C0103C0C12CD12CA6 -:1096C0007601CE0109960F94460EA70196010F94DC -:1096D000A4656B017C019B01AC010F94816F882311 -:1096E00019F0C12CD12C76012FEF3FEF4FE75FE748 -:1096F000C301B2010F94816F81110BC02FEF3FEFB7 -:109700004FE75FE7C301B2010F943E6518160CF4F2 -:1097100052C067962CAD3DAD4EAD5FAD6797639679 -:109720006CAD7DAD8EAD9FAD63970F94946E1816A2 -:109730005CF42FA93BAD4FAD21965FAD2197698DAC -:109740007A8D8B8D9C8D0AC025962CAD3DAD4EAD8E -:109750005FAD259769A17AA18BA19CA10F94336C71 -:109760004B015C019B01AC01AC966CAD7DAD8EAD47 -:109770009FADAC970F94A465A8962CAD3DAD4EADB2 -:109780005FADA8970F94346C69A77AA78BA79CA7A5 -:10979000A5019401E2966CAD7DAD8EAD9FADE297D3 -:1097A0000F94A465A4962CAD3DAD4EAD5FADA497CE -:1097B0000F94346C0CC08D859E85AF85B88989A7C0 -:1097C0009AA7ABA7BCA769857A858B859C85198AE2 -:1097D0001A8A1B8A1C8AA70196010F94346C6D8B20 -:1097E0007E8B8F8B988F9E012F5E3F4F6901A096D5 -:1097F000EFACA0978E01035D1F4F285E3F4FAE0177 -:109800004B5E5F4FBE016F5D7F4FCE0149960E9458 -:109810008478882309F4E2C0AE968EAD9FADAE97F2 -:109820000197AE969FAF8EAFAE97D5C0EDA9FEA9BA -:109830006D96EEACFFAC6D97EE0DFF1DFEABEDAB84 -:10984000E630F10590F4A1012B960EAD1FAD2B97DC -:10985000401B510B4630510540F4BF01CE014D96DF -:109860000F94780D6B017C0103C0C12CD12C7601C3 -:10987000CE0109960F94460EA70196010F94A46598 -:109880006B017C019B01AC010F94816F882319F05F -:10989000C12CD12C76012FEF3FEF4FE75FE7C301DB -:1098A000B2010F94816F81110BC02FEF3FEF4FE793 -:1098B0005FE7C301B2010F943E6518160CF452C065 -:1098C00067962CAD3DAD4EAD5FAD679763966CADC1 -:1098D0007DAD8EAD9FAD63970F94946E18165CF4BA -:1098E0002FA93BAD4FAD21965FAD21976DA17EA114 -:1098F0008FA198A50AC025962CAD3DAD4EAD5FADAC -:1099000025976D8D7E8D8F8D98A10F94336C4B01B3 -:109910005C019B01AC01AC966CAD7DAD8EAD9FAD95 -:10992000AC970F94A465A8962CAD3DAD4EAD5FAD40 -:10993000A8970F94346C69A77AA78BA79CA7A50159 -:109940009401E2966CAD7DAD8EAD9FADE2970F9424 -:10995000A465A4962CAD3DAD4EAD5FADA4970F941C -:10996000346C0CC08D859E85AF85B88989A79AA770 -:10997000ABA7BCA769857A858B859C85198A1A8ACD -:109980001B8A1C8AA70196010F94346C6D8B7E8B09 -:109990008F8B988F9E012F5E3F4F6901A096EFAC91 -:1099A000A0978E01035D1F4F285E3F4FAE014B5EB7 -:1099B0005F4FBE01635E7F4FCE0185960E94847823 -:1099C000882361F0E8968EAD9FADE8970197E89601 -:1099D0009FAF8EAFE897019609F0F1CD29813A81CA -:1099E0004B815C816091770E7091780E8091790E39 -:1099F00090917A0E0F943E65811128C92D813E8188 -:109A00004F81588560917B0E70917C0E80917D0E08 -:109A100090917E0E0F943E65811118C90C94D1C4AB -:109A2000A82FB0E0CD01880F991F880F991FFC0166 -:109A3000E95CF44C459155916591749133E0AA0F1E -:109A4000BB1F3A95E1F7AB5DBD4F4D935D936D93B1 -:109A50007C931397FC01E55DF44C4591559165911C -:109A6000749114964D935D936D937C93179708951D -:109A70008091CD0D9091CE0DA091CF0DB091D00DD4 -:109A800080933D0290933E02A0933F02B093400228 -:109A90008091CB0D9091CC0D909345028093440220 -:109AA000089580913D0290913E02A0913F02B091B5 -:109AB00040028093CD0D9093CE0DA093CF0DB09327 -:109AC000D00D80914402909145029093CC0D8093EB -:109AD000CB0D84E690E09093450280934402089574 -:109AE0004F925F926F927F928F929F92AF92BF92AE -:109AF000CF92DF92EF92FF920F931F93CF93DF935A -:109B0000CDB7DEB72C970FB6F894DEBF0FBECDBF32 -:109B10002B013C0129873A874B875C874701580115 -:109B2000F601E080F1800281138120E030E0A9019C -:109B3000B701C8010F943E6581110BC0E2EAFDE553 -:109B400085919591A591B491582F492F3A2F2B2F9C -:109B500004C05E2D4F2D302F212F852F942FA32F42 -:109B6000B22F89839A83AB83BC8320E030E0A901C4 -:109B7000B701C8010F943E65811104C0E12CF12C9E -:109B800008EC12E4C701D8018D839E83AF83B887A8 -:109B9000A501940160917F0E7091800E8091810EDD -:109BA0009091820E0F943E6587FF0CC080927F0ECD -:109BB0009092800EA092810EB092820ECE010196FC -:109BC0000E9422C34092770E5092780E6092790ED6 -:109BD00070927A0E89859A85AB85BC8580937B0EC1 -:109BE00090937C0EA0937D0EB0937E0ECE010596D1 -:109BF0000E9422C320917F0E3091800E4091810EF1 -:109C00005091820EC501B4010F943E6587FF0CC0D0 -:109C100080927F0E9092800EA092810EB092820E62 -:109C2000CE0101960E9422C30F94D93B2C960FB609 -:109C3000F894DEBF0FBECDBFDF91CF911F910F9182 -:109C4000FF90EF90DF90CF90BF90AF909F908F905C -:109C50007F906F905F904F900895CF92DF92EF9238 -:109C6000FF920F931F936A01E0907F0EF090800E99 -:109C70000091810E1091820EFB0120813181428181 -:109C80005381FC0160817181828193810E9470CD3A -:109C90001F910F91FF90EF90DF90CF900895CF929A -:109CA000DF92EF92FF920F931F936B01FC01E08014 -:109CB000F18002811381E7E7FEE02481358146814E -:109CC000578160817181828193810E9470CD1F9143 -:109CD0000F91FF90EF90DF90CF900895CF93DF9397 -:109CE00080E00F94EA3BCAE2DDE0688379838A83EF -:109CF0009B8381E00F94EA3B6C837D838E839F83FB -:109D000082E00F94EA3B688779878A879B87DF9197 -:109D1000CF9108951F93CF93DF93CDB7DEB76097B0 -:109D20000FB6F894DEBF0FBECDBF182F0E946ECEC7 -:109D300080912A0D90912B0DA0912C0DB0912D0D9D -:109D400089839A83AB83BC8380912E0D90912F0DD4 -:109D5000A091300DB091310D8D839E83AF83B88774 -:109D60008091320D9091330DA091340DB091350D4D -:109D700089879A87AB87BC878091830E9091840EE8 -:109D8000A091850EB091860E8D879E87AF87B88B88 -:109D9000CE0101960F94553D1E3F51F480E1FE0126 -:109DA0003196A7E7BEE001900D928A95E1F716C0C3 -:109DB00024E0129FC0011124FC01E958F14FA1E0F9 -:109DC000B0E0AC0FBD1FA80FB91F8D919D910D90F4 -:109DD000BC91A02D80839183A283B38360960FB63C -:109DE000F894DEBF0FBECDBFDF91CF911F910895D4 -:109DF0000C9453EB4F925F926F927F928F929F924F -:109E0000AF92BF92CF92DF92EF92FF922091D31444 -:109E10003091D4144091D5145091D6146091770E9E -:109E20007091780E8091790E90917A0E0F94346C27 -:109E3000AB01BC0188E29BE30F9482542091D714BC -:109E40003091D8144091D9145091DA1460917B0E5E -:109E500070917C0E80917D0E90917E0E0F94346CEB -:109E6000AB01BC0184E29BE30F9482542091DB148C -:109E70003091DC144091DD145091DE1460917F0E1E -:109E80007091800E8091810E9091820E0F94346CAF -:109E9000AB01BC0180E29BE30F9482544091830E9E -:109EA0005091840E6091850E7091860E8CE19BE33B -:109EB0000F94825480916F00982F927081FF05C09B -:109EC00080916F008D7F80936F004090BC1E5090FA -:109ED000BD1E6090BE1E7090BF1E8090C01E9090F0 -:109EE000C11EA090C21EB090C31EC090C41ED090D0 -:109EF000C51EE090C61EF090C71E992329F08091E0 -:109F00006F00826080936F0082E19BE30F94365470 -:109F1000C301B2010E9424678EE09BE30F94365484 -:109F2000C501B4010E9424678AE09BE30F94365474 -:109F3000C701B6010E9424678AE0FF90EF90DF908E -:109F4000CF90BF90AF909F908F907F906F905F90D9 -:109F50004F900C94B06680915B0A811105C080918E -:109F60005D0A811101C008958091CA0D659B02C0F0 -:109F7000816001C08E7F8093CA0D90910301809112 -:109F8000CA0D91FF02C0826001C08D7F8093CA0D0F -:109F90008091CA0D4B9B02C0846001C08B7F80936F -:109FA000CA0D8091341480FF10C080915C0A80FF3C -:109FB0000CC08091CA0D80FF08C08091EF0B8160BA -:109FC0008093EF0B80E00F94D151809134148695EB -:109FD00080FF11C080915C0A869580FF0CC0809143 -:109FE000CA0D81FF08C08091EF0B82608093EF0B58 -:109FF00081E00F94D151809134148695869580FF2D -:10A0000016C080915C0A8695869580FF10C080916D -:10A010005D0A882361F08091CA0D82FF08C080919B -:10A02000EF0B84608093EF0B82E00D94D151089583 -:10A030002F923F924F925F926F927F928F929F9258 -:10A04000AF92BF92CF92DF92EF92FF920F931F9346 -:10A05000CF93DF93CDB7DEB7C05BD1090FB6F894CD -:10A06000DEBF0FBECDBF8C019E01235C3F4F2B9600 -:10A070003FAF2EAF2B978CE0D9011D928A95E9F75F -:10A080008BE49DE30F94365426E636E646E752E429 -:10A09000F80160817181828193810F94A465CA5512 -:10A0A000DF4F688379838A839B83C65AD0402DE330 -:10A0B00030E02C0F3D1F245F3F4FC155DF4F3983E8 -:10A0C0002883CF5AD040AE01435C5F4F6A0196E3CC -:10A0D000892E9DE0992E01E010E05401E12CF12C35 -:10A0E000D5016D917D918D919D915D019B01AC019B -:10A0F0000F94816F81110EC0F60120813181C8015A -:10A100000E2C02C0880F991F0A94E2F7822B932B22 -:10A1100091838083FFEFEF1AFF0A26E0E216F10435 -:10A12000F9F638E1830E911C42E0C40ED11CC155F2 -:10A13000DF4F88819981CF5AD040C816D90669F679 -:10A14000A6E3BDE0C355DF4FB983A883CD5AD04005 -:10A15000EBE0FDE3C555DF4FF983E883CB5AD040F0 -:10A16000C655DF4F1882CA5AD0409E012F5F3F4F1D -:10A170002D963FAF2EAF2D97C555DF4FE881F98162 -:10A18000CB5AD04085919591A591B491C456DF4F9B -:10A1900088839983AA83BB83CC59D040C355DF4FB2 -:10A1A000A881B981CD5AD0406996BFAFAEAF69974B -:10A1B000EBECFCE36C96FFAFEEAF6C976A961FAECC -:10A1C0006A976C96EEADFFAD6C97259135914591F0 -:10A1D0005491AC962CAF3DAF4EAF5FAFAC97699644 -:10A1E000AEADBFAD69976D917D918D919C919B01B5 -:10A1F000AC010F94816F811163C06A96BFAD6A97FD -:10A20000BF5F6A96BFAF6A976C96EEADFFAD6C9775 -:10A2100034966C96FFAFEEAF6C9769962EAD3FAD5E -:10A2200069972C5F3F4F69963FAF2EAF6997B63065 -:10A2300041F6C655DF4F3881CA5AD0403F5FC655F8 -:10A24000DF4F3883CA5AD040C555DF4F4881598106 -:10A25000CB5AD0404C5F5F4FC555DF4F5983488381 -:10A26000CB5AD040C355DF4F88819981CD5AD04019 -:10A270004896C355DF4F99838883CD5AD0403630F6 -:10A2800009F07ACF82EB9CE30F943654C055DF4F30 -:10A290000FB6F894DEBF0FBECDBFDF91CF911F91F7 -:10A2A0000F91FF90EF90DF90CF90BF90AF909F9075 -:10A2B0008F907F906F905F904F903F902F90089578 -:10A2C0002D96EEADFFAD2D972CE311922A95E9F76F -:10A2D00089819A81AB81BC81C457DF4F8883998380 -:10A2E000AA83BB83CC58D0402D813E814F815885B5 -:10A2F000C057DF4F288339834A835B83C059D040DE -:10A3000089859A85AB85BC85C857DF4F888399833B -:10A31000AA83BB83C858D0402D853E854F85588978 -:10A32000CC57DF4F288339834A835B83C458D0409E -:10A3300089899A89AB89BC89C058DF4F8883998302 -:10A34000AA83BB83C058D0402D893E894F89588D40 -:10A35000C458DF4F288339834A835B83CC57D0406E -:10A36000898D9A8DAB8DBC8DEC968CAF9DAFAEAFC9 -:10A37000BFAFEC972D8D3E8D4F8D58A1E8962CAF39 -:10A380003DAF4EAF5FAFE89789A19AA1ABA1BCA149 -:10A39000E4968CAF9DAFAEAFBFAFE49729AD3AADB9 -:10A3A0004BAD5CADE0962CAF3DAF4EAF5FAFE097ED -:10A3B0003DA1CC56DF4F3883C459D0404EA1CB5677 -:10A3C000DF4F4883C559D0405FA1CA56DF4F58833D -:10A3D000C659D04088A5C956DF4F8883C759D04099 -:10A3E00099A5C856DF4F9883C859D040AAA5C7562B -:10A3F000DF4FA883C959D040BBA5C656DF4FB883ED -:10A40000CA59D040ECA5C556DF4FE883CB59D040A0 -:10A4100026E33DE0CC55DF4F39832883C45AD04032 -:10A42000AE01435C5F4FC056DF4F59834883C05A2B -:10A43000D0408BE09DE3CE55DF4F99838883C25A8D -:10A44000D040CE55DF4FE881F981C25AD0402591E6 -:10A45000359145915491A0962CAF3DAF4EAF5FAF73 -:10A46000A097C056DF4FA881B981C05AD0408D91C6 -:10A470009D91C056DF4FB983A883C05AD0409C013C -:10A4800040E050E0A8962CAF3DAF4EAF5FAFA8972D -:10A49000CC55DF4F48815981C45AD0402F965FAFC9 -:10A4A0004EAF2F978BEC282E8CE3382E00E010E077 -:10A4B000A8968CAD9DADAEADBFADA897002E04C0E3 -:10A4C000B695A795979587950A94D2F780FFEBC12B -:10A4D000F10185919591A591B49163968CAF9DAF53 -:10A4E000AEAFBFAF63972F96AEADBFAD2F978D9038 -:10A4F0009D90AD90BC90C456DF4F288139814A8130 -:10A500005B81CC59D040A0966CAD7DAD8EAD9FAD3A -:10A51000A0970F94336C2B013C01AC962CAD3DAD54 -:10A520004EAD5FADAC9763966CAD7DAD8EAD9FAD1E -:10A5300063970F94336C6B017C01A3019201C301FB -:10A54000B2010F94A4652B013C01A7019601C7013C -:10A55000B6010F94A4659B01AC01C301B2010F9435 -:10A56000346C0F94326F9B01AC01CA55DF4F688188 -:10A5700079818A819B81C65AD0400F942E6D20E04C -:10A5800030E040E85FE30F94346C67966CAF7DAFCA -:10A590008EAF9FAF6797A0962CAD3DAD4EAD5FAD32 -:10A5A000A0970F94A4656B017C019B01AC01C4577B -:10A5B000DF4F688179818A819B81CC58D0400F948C -:10A5C000346CC457DF4F688379838A839B83CC586C -:10A5D000D04063962CAD3DAD4EAD5FAD63976796B1 -:10A5E0006CAD7DAD8EAD9FAD67970F94A4652B01CB -:10A5F0003C019B01AC01C057DF4F688179818A81A2 -:10A600009B81C059D0400F94346CC057DF4F688392 -:10A6100079838A839B83C059D04067962CAD3DAD2A -:10A620004EAD5FAD6797C501B4010F94A465A496C4 -:10A630006CAF7DAF8EAF9FAFA4979B01AC01C857A5 -:10A64000DF4F688179818A819B81C858D0400F94FF -:10A65000346CC857DF4F688379838A839B83C858DB -:10A66000D040A7019601A0966CAD7DAD8EAD9FAD9B -:10A67000A0970F94A4659B01AC01CC57DF4F688174 -:10A6800079818A819B81C458D0400F94346CCC5717 -:10A69000DF4F688379838A839B83C458D040A301AA -:10A6A000920163966CAD7DAD8EAD9FAD63970F94B7 -:10A6B000A4659B01AC01C058DF4F688179818A8114 -:10A6C0009B81C058D0400F94346CC058DF4F6883D2 -:10A6D00079838A839B83C058D040A4962CAD3DAD2E -:10A6E0004EAD5FADA497C501B4010F94A4659B0165 -:10A6F000AC01C458DF4F688179818A819B81CC5736 -:10A70000D0400F94346CC458DF4F688379838A83B8 -:10A710009B83CC57D040A701960163966CAD7DAD6D -:10A720008EAD9FAD63970F94A4659B01AC01EC9631 -:10A730006CAD7DAD8EAD9FADEC970F94346CEC9607 -:10A740006CAF7DAF8EAF9FAFEC97A7019601C501AF -:10A75000B4010F94A4659B01AC01E8966CAD7DAD8E -:10A760008EAD9FADE8970F94346CE8966CAF7DAFDB -:10A770008EAF9FAFE897A3019201C501B4010F947A -:10A78000A4659B01AC01E4966CAD7DAD8EAD9FAD33 -:10A79000E4970F94346CE4966CAF7DAF8EAF9FAFAF -:10A7A000E49767962CAD3DAD4EAD5FAD6797E096F3 -:10A7B0006CAD7DAD8EAD9FADE0970F94346CE0969F -:10A7C0006CAF7DAF8EAF9FAFE09720E030E0A90186 -:10A7D000C701B6010F94946E87FD98C1CC56DF4F28 -:10A7E0002881C459D040CB56DF4F3881C559D0405D -:10A7F000CA56DF4F4881C659D040C956DF4F5881ED -:10A80000C759D040C701B6010F94946E1816A4F42E -:10A81000CC56DF4FC882C459D040CB56DF4FD882C8 -:10A82000C559D040CA56DF4FE882C659D040C956F4 -:10A83000DF4FF882C759D04020E030E0A901C301C2 -:10A84000B2010F94946E87FD5CC1C856DF4F28811A -:10A85000C859D040C756DF4F3881C959D040C65675 -:10A86000DF4F4881CA59D040C556DF4F5881CB5978 -:10A87000D040C301B2010F94946E1816A4F4C856C8 -:10A88000DF4F4882C859D040C756DF4F5882C95958 -:10A89000D040C656DF4F6882CA59D040C556DF4FF8 -:10A8A0007882CB59D0400F5F1F4FB4E02B0E311C84 -:10A8B0002F96EEADFFAD2F9734962F96FFAFEEAFEC -:10A8C0002F970630110509F0F3CDCE55DF4F2881C3 -:10A8D0003981C25AD0402C5F3F4FCE55DF4F39836C -:10A8E0002883C25AD040CC55DF4F48815981C45A81 -:10A8F000D040485E5F4FCC55DF4F59834883C45AE0 -:10A90000D040C056DF4F88819981C05AD040C15590 -:10A91000DF4FA881B981CF5AD0408A179B0709F031 -:10A9200090CDC856DF4F8881C859D040C756DF4FF9 -:10A930009881C959D040C656DF4FA881CA59D04026 -:10A94000C556DF4FB881CB59D04089A79AA7ABA78E -:10A95000BCA7CC56DF4F8881C459D040CB56DF4FBF -:10A960009881C559D040CA56DF4FA881C659D040FA -:10A97000C956DF4FB881C759D0408DA39EA3AFA35E -:10A98000B8A7C457DF4F288139814A815B81CC58F1 -:10A99000D04029833A834B835C83C057DF4F888143 -:10A9A0009981AA81BB81C059D0408D839E83AF839A -:10A9B000B887C857DF4F288139814A815B81C858E1 -:10A9C000D04029873A874B875C87CC57DF4F8881F7 -:10A9D0009981AA81BB81C458D0408D879E87AF875B -:10A9E000B88BC058DF4F288139814A815B81C058BC -:10A9F000D040298B3A8B4B8B5C8BC458DF4F8881BE -:10AA00009981AA81BB81CC57D0408D8B9E8BAF8B17 -:10AA1000B88FEC962CAD3DAD4EAD5FADEC97298F68 -:10AA20003A8F4B8F5C8FE8968CAD9DADAEADBFADD0 -:10AA3000E8978D8F9E8FAF8FB8A3E4962CAD3DAD78 -:10AA40004EAD5FADE49729A33AA34BA35CA3E09678 -:10AA50008CAD9DADAEADBFADE09789AF9AAFABAF5A -:10AA6000BCAFCE0101960F944449892B09F053C025 -:10AA7000CDA8DEA8EFA8F8ACF7FAF094F7F8F094B8 -:10AA80002DA53EA54FA558A9C456DF4F68817981F1 -:10AA90008A819B81CC59D0400F94A4659B01AC0165 -:10AAA000C701B6010F94336C6B017C0129A93AA947 -:10AAB0004BA95CA9AC966CAD7DAD8EAD9FADAC974E -:10AAC0000F94A4659B01AC01C701B6010F94336CD0 -:10AAD0009B01AC016996AEADBFAD69976D937D9357 -:10AAE0008D939C9313976A966FAD6A97C655DF4F07 -:10AAF0008881CA5AD0400E943F8D80E00E94F4674E -:10AB00007CCB77FA709477F870949FCEF7FAF09434 -:10AB1000F7F8F09463CE88EB9CE3B6CB2F923F928C -:10AB20004F925F926F927F928F929F92AF92BF925D -:10AB3000CF92DF92EF92FF920F931F93CF93DF9309 -:10AB4000CDB7DEB7C359D1090FB6F894DEBF0FBE3B -:10AB5000CDBF382E8090DF149090E014A090E114C7 -:10AB6000B090E21420E030E0A901C501B4010F94D7 -:10AB7000346C2B013C0120E030E040E450E40F94C1 -:10AB80003E6587FF05C0412C512CE0E46E2E762CEB -:10AB900020E030E84DE953E4C501B4010F94346C72 -:10ABA000E9966CAF7DAF8EAF9FAFE99720E030E8BC -:10ABB0004BE953E40F94946E181654F480E090E837 -:10ABC000ABE9B3E4E9968CAF9DAFAEAFBFAFE99709 -:10ABD000C090E314D090E414E090E514F090E614F3 -:10ABE00020E030E0A901C701B6010F94346C4B019D -:10ABF0005C0120E030E040E450E40F943E6587FFC4 -:10AC000005C0812C912C70E4A72EBA2C20E030E0F6 -:10AC10004AE953E4C701B6010F94346CED966CAF6A -:10AC20007DAF8EAF9FAFED9720E030E848E953E469 -:10AC30000F94946E181654F480E090E8A8E9B3E4F9 -:10AC4000ED968CAF9DAFAEAFBFAFED970091D30D3A -:10AC50001091D40DDE0111967D018CE3FD0111925E -:10AC60008A95E9F7332009F4BCC18EE99CE30F947F -:10AC700036548CE89CE39F938F931F920F94DC4B88 -:10AC80002091D10D412C512C5AE7652E53E4752E9D -:10AC90002D964CAE5DAE6EAE7FAE2D97812C912C75 -:10ACA00068E4A62E62E4B62E21968CAE9DAEAEAEC2 -:10ACB000BFAE219701E042E0BE01675B7F4FCE014E -:10ACC000CD960F942E17E1966CAF7DAF8EAF9FAFF0 -:10ACD000E1970F900F900F909B01AC010F94816F43 -:10ACE000811150C32D964CAE5DAE6EAE7FAE2D97EA -:10ACF00021968CAE9DAEAEAEBFAE2197BE01675B16 -:10AD00007F4FCE01CD960E943AA49B01AC01E19603 -:10AD10006CAD7DAD8EAD9FADE1970F94336CE19638 -:10AD20006CAF7DAF8EAF9FAFE1978091D10D9091C9 -:10AD3000D20D049784F080E10F94EE53E1964CAD70 -:10AD40005DAD6EAD7FADE1978FE79CE30F948254CC -:10AD50008AE00E94B066812C912C4AE7A42E43E43D -:10AD6000B42E2D968CAE9DAEAEAEBFAE2D9780E0CC -:10AD700090E0A8E4B2E421968CAF9DAFAEAFBFAF38 -:10AD800021979E0123593F4FAE01475B5F4FBE01A4 -:10AD9000635C7F4FC7010E9403A28BE69CE30F9484 -:10ADA000365489E59CE39F938F931F920F94DC4B5D -:10ADB0002091D10D2D968CAE9DAEAEAEBFAE2D972F -:10ADC00021968CAE9DAEAEAEBFAE219701E042E0C3 -:10ADD000BE01675B7F4FCE01CD960F942E17E19693 -:10ADE0006CAF7DAF8EAF9FAFE1970F900F900F903C -:10ADF0009B01AC010F94816F8111C4C22D968CAE62 -:10AE00009DAEAEAEBFAE2D9721968CAE9DAEAEAED2 -:10AE1000BFAE2197BE01675B7F4FCE01CD960E94EA -:10AE20003AA49B01AC01E1966CAD7DAD8EAD9FADBA -:10AE3000E1970F94336CE1966CAF7DAF8EAF9FAF0F -:10AE4000E1978091D10D9091D20D049784F080E12B -:10AE50000F94EE53E1964CAD5DAD6EAD7FADE197D5 -:10AE60008CE49CE30F9482548AE00E94B066812CAB -:10AE7000912C2AE7A22E23E4B22E2D968CAE9DAE05 -:10AE8000AEAEBFAE2D9721968CAE9DAEAEAEBFAE30 -:10AE900021979E0123593F4FAE01475B5F4FBE0193 -:10AEA000635C7F4FC7010E9403A288E39CE30F9479 -:10AEB000365486E29CE39F938F931F920F94DC4B52 -:10AEC0002091D10D412C512C38E4632E32E4732EA5 -:10AED0002D964CAE5DAE6EAE7FAE2D9721968CAEAC -:10AEE0009DAEAEAEBFAE219701E041E0BE01675B13 -:10AEF0007F4FCE01CD960F942E17E1966CAF7DAFAC -:10AF00008EAF9FAFE1970F900F900F909B01AC0118 -:10AF10000F94816F811136C22D964CAE5DAE6EAE30 -:10AF20007FAE2D9721968CAE9DAEAEAEBFAE219773 -:10AF3000BE01675B7F4FCE01CD960E943AA49B0174 -:10AF4000AC01E1966CAD7DAD8EAD9FADE1970F94F8 -:10AF5000336CE1966CAF7DAF8EAF9FAFE197809180 -:10AF6000D10D9091D20D049784F080E10F94EE53AF -:10AF7000E1964CAD5DAD6EAD7FADE19789E19CE3AF -:10AF80000F9482548AE00E94B06680E090E0A8E4CA -:10AF9000B2E42D968CAF9DAFAEAFBFAF2D9780E0E2 -:10AFA00090E0AAE7B3E421968CAF9DAFAEAFBFAF00 -:10AFB00021979E0123593F4FAE01475B5F4FBE0172 -:10AFC000635C7F4FC7010E9403A2312C80E00F9485 -:10AFD0008D160F944516332009F4C6C18EEE9BE3FF -:10AFE000D6C1C301B2010F94A06DCE57DF4F798354 -:10AFF0006883C258D040C501B4010F94A06DCC57EE -:10B00000DF4F79836883C458D040B801615071091B -:10B01000072E000C880B990B0F9445652B013C0102 -:10B02000009F9001019F300D300D1124EF963FAF2E -:10B030002EAFEF97212C31E0CF57DF4F3883C15827 -:10B04000D040D12CE2961FAEE297312CCE57DF4F85 -:10B0500088819981C258D040092E000CAA0BBB0BE5 -:10B06000C657DF4F88839983AA83BB83CA58D040D1 -:10B07000CC57DF4F88819981C458D040092E000CED -:10B08000AA0BBB0BC257DF4F88839983AA83BB836C -:10B09000CE58D040CE56DF4FE882C259D040CD5670 -:10B0A000DF4FF882C359D040022D10E08091D30DBC -:10B0B0009091D40D081719070CF056C1E9966CADA4 -:10B0C0007DAD8EAD9FADE9970F94A06DCE57DF4F4C -:10B0D000A881B981C258D0406A1B7B0B072E000C97 -:10B0E000880B990B0F944565A30192010F942E6D67 -:10B0F0004B015C01B801110F880B990B0F9445654A -:10B100009B01AC01C501B4010F94A4654B015C0126 -:10B11000C657DF4F688179818A819B81CA58D040A8 -:10B120000F9445659B01AC01C501B4010F94346CCB -:10B130002D966CAF7DAF8EAF9FAF2D97CF57DF4F62 -:10B14000A880C158D040BD2C91EC892E9BE3992E4C -:10B15000FA2CCF57DF4FB881C158D040FB1ACF2C03 -:10B160000F2C000CDD080091D30D1091D40DC016EA -:10B17000D1060CF0E9C0C257DF4F688179818A811E -:10B180009B81CE58D0400F944565CA57DF4F6883E6 -:10B1900079838A839B83C658D040E296EFADE297CD -:10B1A000EE2351F0B801615071096C197D09072E29 -:10B1B000000C880B990B05C06F2DFF0C770B880BCB -:10B1C000990B0F9445656B017C01ED966CAD7DADDF -:10B1D0008EAD9FADED970F94A06DCC57DF4F2881BA -:10B1E0003981C458D040621B730B072E000C880BAA -:10B1F000990B0F944565A30192010F942E6DA70141 -:10B2000096010F94A465CA57DF4F288139814A817E -:10B210005B81C658D0400F94346C21966CAF7DAFE3 -:10B220008EAF9FAF219731108BC0B5018AED9BE3A4 -:10B230000F947554EF966EAD7FADEF9788ED9BE35D -:10B240000F94755485ED9BE30F943654EF963FAD04 -:10B25000EF973F93EE968FADEE978F93BF92AF929D -:10B260009F928F921F920F94DC4B1091D10D85E429 -:10B270000E9479A30FB6F894DEBF0FBECDBF811137 -:10B2800002C042E001C041E001E0212FBE01635C49 -:10B290007F4FCE01875B9F4F0F942E17E1966CAFC7 -:10B2A0007DAF8EAF9FAFE197332433949B01AC0108 -:10B2B0000F94816F811101C0312CBE01635C7F4FFF -:10B2C000CE01875B9F4F0E943AA49B01AC01E1969F -:10B2D0006CAD7DAD8EAD9FADE1970F94336CE19673 -:10B2E0006CAF7DAF8EAF9FAFE1978091D10D909104 -:10B2F000D20D049784F080E10F94EE53E1964CADAB -:10B300005DAD6EAD7FADE19784EB9BE30F9482540E -:10B310008AE00E94B0669E0123593F4FAE01435C14 -:10B320005F4FBE01675B7F4FCE56DF4F8881C259AA -:10B33000D040CD56DF4F9881C359D0400E9403A220 -:10B34000BFEFAB1ABB0A04CF81E0E296EFADE29704 -:10B35000E827E296EFAFE2972394CF57DF4FA8821A -:10B36000C158D040DB2CA0CE80E00F948D160F94F6 -:10B37000451631100AC0CE0101960F944449892B1D -:10B3800021F408C03324339421CE8CE99BE30F943D -:10B390003654C5C189A99AA9ABA9BCA94DA55EA57A -:10B3A0006FA578A9A5964CAF5DAF6EAF7FAFA5979F -:10B3B000A9968CAF9DAFAEAFBFAFA99780E090E0EC -:10B3C000A0E8BFE3AD968CAF9DAFAEAFBFAFAD977A -:10B3D000CE018F599F4F0F948F478091D10D90913F -:10B3E000D20D03977CF105EF16E0D8018D918D0108 -:10B3F000882319F00E94B066F8CFA5966CAD7DAD9C -:10B400008EAD9FADA59747E00E9450678CE20E94E9 -:10B41000B066A9966CAD7DAD8EAD9FADA99747E0A6 -:10B420000E9450678CE20E94B066AD966CAD7DAD17 -:10B430008EAD9FADAD9747E00E94506789E99BE3D1 -:10B440000F94365489A99AA9ABA9BCA9CDA4DEA4AE -:10B45000EFA4F8A86996CCAEDDAEEEAEFFAE69976C -:10B460006D968CAF9DAFAEAFBFAF6D97812C912C19 -:10B4700080E8A82E8FE3B82EA1968CAE9DAEAEAE1E -:10B48000BFAEA197CE018B5A9F4F0F948F472D9639 -:10B490008CAE9DAEAEAEBFAE2D9761961CAE1DAE0E -:10B4A0001EAE1FAE6197F7FAF094F7F8F094659628 -:10B4B000CCAEDDAEEEAEFFAE6597CE01875B9F4FA3 -:10B4C0000F948F4769968CAD9DADAEADBFAD6997BA -:10B4D000E5968CAF9DAFAEAFBFAFE59761968CADF3 -:10B4E0009DADAEADBFAD6197E9968CAF9DAFAEAFF0 -:10B4F000BFAFE9976D964CAC5DAC6EAC7FAC6D9711 -:10B500002D968CAD9DADAEADBFAD2D97ED968CAFAC -:10B510009DAFAEAFBFAFED97A1968CAC9DACAEAC7E -:10B52000BFACA1976596CCACDDACEEACFFAC65973B -:10B53000A7019601C301B2010F94A465C358DF4F60 -:10B54000688379838A839B83CD57D040A50194017A -:10B55000E9966CAD7DAD8EAD9FADE9970F94A46576 -:10B560009B01AC01C358DF4F688179818A819B813F -:10B57000CD57D0400F94336C21966CAF7DAF8EAF1A -:10B580009FAF2197A5019401ED966CAD7DAD8EAD79 -:10B590009FADED970F94A4654B015C01A701960147 -:10B5A000E5966CAD7DAD8EAD9FADE5970F94A4652E -:10B5B0009B01AC01C501B4010F94336C25966CAFAF -:10B5C0007DAF8EAF9FAF2597E9962CAD3DAD4EADCB -:10B5D0005FADE997E5966CAD7DAD8EAD9FADE5971E -:10B5E0000F94A4656B017C01ED962CAD3DAD4EAD85 -:10B5F0005FADED97C301B2010F94A4659B01AC014F -:10B60000C701B6010F94336C29966CAF7DAF8EAF36 -:10B610009FAF2997CE01CD960F948F4765968CAD3D -:10B620009DADAEADBFAD6597E9968CAF9DAFAEAFAA -:10B63000BFAFE99729968CAD9DADAEADBFAD299753 -:10B64000ED968CAF9DAFAEAFBFAFED97A196CCACF2 -:10B65000DDACEEACFFACA19706E31DE0212CE39638 -:10B660001FAF0EAFE397312C822D0E940CA44B012B -:10B670005C01832D0E94DEA32B013C01E9962CADD9 -:10B680003DAD4EAD5FADE997C501B4010F94A46522 -:10B690004B015C01ED962CAD3DAD4EAD5FADED9730 -:10B6A000C301B2010F94A4659B01AC01C501B401B3 -:10B6B0000F94346C4B015C01E396AEADBFADE397E4 -:10B6C0002D913D914D915C91C701B6010F94A465F8 -:10B6D0009B01AC01C501B4010F94346C2DA93EA9A6 -:10B6E0004FA958AD0F94336C9B01AC01E396EEADBE -:10B6F000FFADE3976193719381939193E396FFAFCD -:10B70000EEAFE397632D822D0E943F8D3394F6E0D8 -:10B710003F12AACF2394085E1F4F2F12A0CFCD5601 -:10B72000DF4F0FB6F894DEBF0FBECDBFDF91CF91D4 -:10B730001F910F91FF90EF90DF90CF90BF90AF904F -:10B740009F908F907F906F905F904F903F902F9041 -:10B750000895AF92BF92CF92DF92EF92FF920F9334 -:10B760001F93CF93DF9381E9E82E8BE3F82EF70147 -:10B7700085919491FC01C4903296D4903197C491F4 -:10B780003296049131968491882321F1CC161CF0D5 -:10B79000AA24AA9402C0AA24A394002E000C110B80 -:10B7A0000C2E000CDD0B8D2D90E080179107B1F170 -:10B7B000BC2C8B2D90E08C179D0751F020E04A2D7A -:10B7C0006D2D8B2D0F94152D811102C0BA0CF1CF68 -:10B7D000D394E9CFD0161CF0AA24AA9402C0AA24BC -:10B7E000A3940C2E000CDD0B002E000C110B8C2DE5 -:10B7F00090E08C179D0791F0BD2C8B2D90E0801769 -:10B80000910751F02A2D40E06B2D8C2D0F94152DB2 -:10B81000811102C0BA0CF1CFC394E9CFF2E0EF0E70 -:10B82000F11C89E9E8168BE3F80609F0A0CFDF9157 -:10B83000CF911F910F91FF90EF90DF90CF90BF902D -:10B84000AF900895CF92DF92EF92FF92C0903D02A9 -:10B85000D0903E02E0903F02F0904002FC018081D7 -:10B860009181A281B38180933D0290933E02A09387 -:10B870003F02B09340020E94D8C3C0923D02D092D2 -:10B880003E02E0923F02F0924002FF90EF90DF9084 -:10B89000CF9008952F923F924F925F926F927F9236 -:10B8A0008F929F92AF92BF92CF92DF92EF92FF92D0 -:10B8B0000F931F93CF93DF93CDB7DEB76F970FB67C -:10B8C000F894DEBF0FBECDBF9C8F8B8F7E8F6D8FA8 -:10B8D000212C312C0FEF2FEF2F833FEF3F874FE4C9 -:10B8E000488B53EC598B87E48A8B2E8A21E030E019 -:10B8F00040E050E0022C04C0220F331F441F551FAC -:10B900000A94D2F72F8B388F498F5A8F45E15EE02A -:10B910005E874D8710E02F8EAD85BE858D919D9100 -:10B92000BE87AD87A0E0B0E02F89388D498D5A8D54 -:10B9300082239323A423B523892B8A2B8B2B09F0F5 -:10B94000C3C08E890E940CA46B017C01812F0E94D0 -:10B95000DEA369877A878B879C87A7019601AB8DC9 -:10B96000BC8D6D917D918D919C910F94336C2B01C9 -:10B970003C0129853A854B855C85ED8DFE8D608186 -:10B980007181828193810F94336C4B015C01A3011F -:10B990009201C301B2010F94A4652B013C01A501E2 -:10B9A0009401C501B4010F94A4659B01AC01C301CE -:10B9B000B2010F94346C0F94326F4B015C01A701FC -:10B9C00096016091390E70913A0E80913B0E9091E4 -:10B9D0003C0E0F94336C6B017C0129853A854B85B5 -:10B9E0005C856091350E7091360E8091370E909186 -:10B9F000380E0F94336C2B013C01A7019601C7014F -:10BA0000B6010F94A4656B017C01A3019201C301EF -:10BA1000B2010F94A4659B01AC01C701B6010F945C -:10BA2000346C0F94326F20E030E040E751E40F9423 -:10BA30002E6DA50194010F94346C6B017C018090F4 -:10BA40003D0E90903E0EA0903F0EB090400E20E034 -:10BA500030E040E85FE3C501B4010F94946E18161E -:10BA6000FCF4C501B4010F94A06D4B015C011616E6 -:10BA70001706180619063CF40F948160A50194017D -:10BA80000F94B66B03C060E070E0CB010F94456586 -:10BA90009B01AC01B601C7010F94346C6B017C01B2 -:10BAA0002F85388949895A89B601C7010F943E65A7 -:10BAB00087FF0AC00F8D1F83C886DB8AEC8AFD8A48 -:10BAC000CF86D88AE98AFA8A1F5F163009F024CF18 -:10BAD000FFEF2F1A3F0A26E02216310409F005CFA6 -:10BAE0003F81E32FF0E0EE0FFF1FEB5EF14F81E0AF -:10BAF00090E0002E02C0880F991F0A94E2F720817F -:10BB00003181822B932B9183808388859B89AC899B -:10BB1000BD898B839C83AD83BE83482F5C816D81FF -:10BB20007E81202F3F8180E090E06F960FB6F894E1 -:10BB3000DEBF0FBECDBFDF91CF911F910F91FF9060 -:10BB4000EF90DF90CF90BF90AF909F908F907F90BD -:10BB50006F905F904F903F902F9008958C38910593 -:10BB60001CF02CE880E002C0282F892F2093370A90 -:10BB70008093380A0C943AA080E1E7E7FEE0AEE556 -:10BB8000BEE001900D928A95E1F708952F923F92C1 -:10BB90004F925F926F927F928F929F92AF92BF92DD -:10BBA000CF92DF92EF92FF920F931F93CF93DF9389 -:10BBB00000D01F921F92CDB7DEB77C018B016A01C6 -:10BBC00019018090770E9090780EA090790EB09029 -:10BBD0007A0EA5019401FC016081718182819381BB -:10BBE0000F943E65F1E0FD83811112C020917B0E20 -:10BBF00030917C0E40917D0E50917E0EF801608157 -:10BC00007181828193810F943E65811101C01D82F3 -:10BC1000F60140805180628073802091460230910D -:10BC200047024091480250914902C301B2010F946A -:10BC30003E65882309F455C040924602509247025F -:10BC4000609248027092490220E030E040E05FE3F9 -:10BC50006091CD0C7091CE0C8091CF0C9091D00C56 -:10BC60000F94A46569837A838B839C8380925E0E94 -:10BC700090925F0EA092600EB092610E80917B0E4A -:10BC800090917C0EA0917D0EB0917E0E8093620EFD -:10BC90009093630EA093640EB093650EF6018081BD -:10BCA0009181A281B3818093660E9093670EA093D9 -:10BCB000680EB093690E8091830E9091840EA091CE -:10BCC000850EB091860E80936A0E90936B0EA093B2 -:10BCD0006C0EB0936D0ECE0101960E9422DC0E9484 -:10BCE000BCDDFD81F1110FC020E030E040EC5FE3EE -:10BCF0006091D10C7091D20C8091D30C9091D40CA6 -:10BD00000F942E6D04C060E070E080EA91E46983D6 -:10BD10007A838B839C83F70180819181A281B38197 -:10BD200080935E0E90935F0EA093600EB093610EB1 -:10BD3000F80180819181A281B3818093620E9093FA -:10BD4000630EA093640EB093650EF10120813181E2 -:10BD50004281538160916A0E70916B0E80916C0EDE -:10BD600090916D0E0F94346C60936A0E70936B0E0D -:10BD700080936C0E90936D0ECE0101960E9422DC92 -:10BD80000E94BCDD0F900F900F900F900F90DF91ED -:10BD9000CF911F910F91FF90EF90DF90CF90BF90C8 -:10BDA000AF909F908F907F906F905F904F903F905B -:10BDB0002F9008950E942EA397FD0CC00E942EA3E1 -:10BDC0006F3F71058105910509F034F40E942EA39F -:10BDD000862F089580E008958FEF08958091681E62 -:10BDE0009091691E892B39F00E94DADE91E0811171 -:10BDF00003C090E001C091E0892F0895CF93DF93B5 -:10BE0000C82FD62F0E94C2A3882321F0DF91CF91A3 -:10BE10000C94EEDE8C2F0E9479A3811101C08D2F2E -:10BE2000DF91CF9108952F923F924F925F926F9240 -:10BE30007F928F929F92AF92BF92CF92DF92EF92BA -:10BE4000FF920F931F93CF93DF93CDB7DEB7C0550B -:10BE5000D1090FB6F894DEBF0FBECDBF89EA9FE3CC -:10BE60000F94365441E061E081E00F947C418111F0 -:10BE70000C9446E784E50E94C2A3882329F00E941F -:10BE80003EA360E00E941F9A80E090E0A0E8BFE33C -:10BE90008093560E9093570EA093580EB093590E60 -:10BEA00080935A0E90935B0EA0935C0EB0935D0E40 -:10BEB0008DEC9CECACE4BEE38093520E9093530E59 -:10BEC000A093540EB093550E80E090E0A0E2B1E450 -:10BED0008093460E9093470EA093480EB093490E60 -:10BEE0008CE390E09093450E8093440E8DEC90E0AF -:10BEF0009093430E8093420E1092410E4AE959E905 -:10BF000069E97EE38FE40E94718E6BAF7CAF8DAFE9 -:10BF10009EAF60E083E40E94FEDE2F968FAF2F97E6 -:10BF200060E08BE40E94FEDE60968FAF609782E453 -:10BF30000E94C2A38823C9F00E9442A30F94A06D5F -:10BF40007093450E6093440E6115710571F068524F -:10BF500071096536710548F06CE870E08BE79FE386 -:10BF60000F94935486E79FE3AEC18CE40E94C2A372 -:10BF7000882301F10E9442A36B017C016093520E61 -:10BF80007093530E8093540E9093550E20E030E042 -:10BF9000A9010F94946E87FD0AC020E030E040E0D4 -:10BFA00050E4C701B6010F943E6518161CF48EE4E8 -:10BFB0009FE389C181E50E9479A3882351F1809193 -:10BFC000681E9091691E892B09F10E9442A36B01A2 -:10BFD0007C0160935A0E70935B0E80935C0E90937D -:10BFE0005D0E2DEC3CEC4CE45DE30F94946E87FD0C -:10BFF0000AC020E030E040E751E4C701B6010F94E9 -:10C000003E65181634F48DE19FE35DC182EF9EE337 -:10C010005AC183E50E94C2A38823C9F00E9442A3AB -:10C020004B015C012DEC3CEC4CEC5DE30F94946E09 -:10C0300087FD0AC020E030E040E050E4C501B401D3 -:10C040000F943E65181654F48BEC9EE33CC1EDEC66 -:10C050008E2EECEC9E2EA92CEEE3BE2E80E50E94E7 -:10C0600079A3882371F18091681E9091691E892BB4 -:10C0700019F483E99EE327C18091410E8F5F80937D -:10C08000410E0E9442A36B017C016093460E7093A7 -:10C09000470E8093480E9093490E20E030E0A901AE -:10C0A0000F94946E87FD0AC020E030E048EC51E424 -:10C0B000C701B6010F943E6518161CF48BE69EE38B -:10C0C00002C186E40E94C2A38823C9F00E9442A351 -:10C0D0006B017C0120E030E040E85FE30F94946E58 -:10C0E00087FD0AC020E030E040E850E4C701B60117 -:10C0F0000F943E6518164CF482E49EE3E4C0C12C14 -:10C10000D12C70EEE72E7FE3F72EA7019601C70131 -:10C11000B6010F94A4659B01AC0160E070E084E47B -:10C1200090E40F942E6D2091560E3091570E409151 -:10C13000580E5091590E0F94A4652B013C01A50196 -:10C140009401C501B4010F94A465A70196010F9451 -:10C15000A4652CEE31E548EB5DE30F942E6D9B0159 -:10C16000AC01C301B2010F94A4656093560E7093A5 -:10C17000570E8093580E9093590E88E40E94C2A3E4 -:10C18000882381F00E9442A30F94A06D7093430E08 -:10C190006093420E655A71096838710518F084E1A0 -:10C1A0009EE391C085E50E9479A38823F1F00E9467 -:10C1B000E7EF611571058105910511F00F94CF60CE -:10C1C0008091681E9091691E892B19F00E9442A3EC -:10C1D00004C060E070E088E492E460933D0E7093E8 -:10C1E0003E0E80933F0E9093400E82E50E9479A30D -:10C1F000811103C080EE9DE366C08091681E90911E -:10C20000691E892B61F00E943EA32E969FAF8EAFD0 -:10C210002E97181619064CF08CEA9DE354C025E2BF -:10C2200030E02E963FAF2EAF2E9788E50E94C2A336 -:10C23000882369F00E9442A32091D3143091D41432 -:10C240004091D5145091D6140F94336C08C060916E -:10C25000770E7091780E8091790E90917A0E60939E -:10C26000390E70933A0E80933B0E90933C0E89E505 -:10C270000E94C2A3882379F00E9442A32091D71480 -:10C280003091D8144091D9145091DA140F94336C32 -:10C29000AB01BC0108C040917B0E50917C0E6091B7 -:10C2A0007D0E70917E0E4093350E5093360E609346 -:10C2B000370E7093380E89E39EE00F9406168111B5 -:10C2C00005C082E89DE30F943654E0C584E40E94E3 -:10C2D00079A391E089270F945F5220E030E040EA93 -:10C2E00050E460917F0E7091800E8091810E90914C -:10C2F000820E0F943E6587FF15C0198A1A8A1B8A21 -:10C300001C8A80E090E0A0EAB0E489839A83AB8342 -:10C31000BC83BE016F5E7F4FCE0101960E944FCE5F -:10C320000F94C00E3091561E61963FAF61971092E8 -:10C33000561E0F94D13D81E69DE30F9436548091B3 -:10C34000440E9091450E8A31910574F48091420E0D -:10C350009091430E0E94C2B861E08091870E0E94C6 -:10C36000A098811109C0DAC40E94AEDD81E00E946C -:10C3700021978111EBCFD2C41092830E1092840EBC -:10C380001092850E1092860E83E89EE00F945B1B40 -:10C390008091410E8823B1F10E94BCDD20916A0E8C -:10C3A00030916B0E40916C0E50916D0E6091460E67 -:10C3B0007091470E8091480E9091490E0F94346C05 -:10C3C00060936A0E70936B0E80936C0E90936D0E5B -:10C3D00020E030E040E751E46091D10C7091D20C44 -:10C3E0008091D30C9091D40C0F942E6D69837A8335 -:10C3F0008B839C83CE0101960E9422DC0E94BCDDCF -:10C400000E9439EC80E2E5E1FEE0DF01282F1D9279 -:10C410002A95E9F7E5EFFDE0DF01282F1D922A9527 -:10C42000E9F7E5EDFDE0DF011D928A95E9F70E944D -:10C43000BCDD8091520E9091530EA091540EB0919C -:10C44000550E8093660E9093670EA093680EB0937E -:10C45000690E19821A821B821C829E012F5F3F4F38 -:10C4600046E65EE062E67EE08EE59EE00E94C6DD86 -:10C470009E01255C3F4F46E65EE062E67EE08EE58B -:10C480009EE00E94C6DD2F96BFAD2F97BB2329F0FB -:10C490006BE77EE087E79EE004C065E37EE089E32A -:10C4A0009EE00E944ADC3FAF2C962FAF2C972C9633 -:10C4B000EFAD2C97E7FD1DC4FFADF7FD1AC48E2F1D -:10C4C0000E940CA42B013C01CB01D3018FAB98AF90 -:10C4D000A9AFBAAF8FAD0E94DEA3162F072FF82E9B -:10C4E000E92E462F572F682F792FCE01C7960F942C -:10C4F0000616882309F4FFC320E030E040EA50E448 -:10C50000B201C3010F94346CD62E372E282EC92EBB -:10C51000862F932DA22DBC2D8BAB9CABADABBEABB0 -:10C52000812F902FAF2DBE2D8FA798ABA9ABBAABA3 -:10C530002C962FAD2C9721114AC03FAD31111FC051 -:10C5400020E030E040EA50E4612F702F8F2D9E2DC7 -:10C550000F94346C21966FAF219723967FAF23976A -:10C5600025968FAF259727969FAF27978FADD42C11 -:10C57000352C262CC72C882309F4C6C023C0C20141 -:10C58000D3018BAB9CABADABBEAB20E030E040EA5F -:10C5900050E4612F702F8F2D9E2D0F94336C6FA759 -:10C5A00078AB89AB9AAB9FAD953054F221961FAF13 -:10C5B000219723960FAF23972596FFAE25972796B1 -:10C5C000EFAE2797AFADA5300CF489C09DC02C9677 -:10C5D000BFAD2C97B5300CF453C0EFADE5305CF037 -:10C5E00020E030E040EA50E4B201C3010F94336C24 -:10C5F000362F272F03C0342D252DC301432F522F53 -:10C60000BC014BAB5CAB6DAB7EABFFADF11135C488 -:10C6100020E030E040EA50E4B201C3010F94336CF3 -:10C62000D62E372E282EC92E20E030E040EA50E4E6 -:10C63000612F702F8F2D9E2D0F94346C6FA778ABC8 -:10C6400089AB9AAB2FAD222309F452C020E030E031 -:10C6500040EA50E4612F702F8F2D9E2D0F94336C84 -:10C6600021966FAF219723967FAF239725968FAFA3 -:10C67000259727969FAF27973FAD353084F144C06B -:10C680008FAD81110FC020E030E040E251E46D2D0C -:10C69000732D822D9C2D0F94336CD62E372E282E81 -:10C6A000C92E11C09FAD9530C4F120E030E040E2CA -:10C6B00051E46D2D732D822D9C2D0F94336C6BAB3B -:10C6C0007CAB8DAB9EAB21961FAF219723960FAF0E -:10C6D00023972596FFAE25972796EFAE279762ED15 -:10C6E000862E63E5962E6BE7A62E61E4B62E29C052 -:10C6F00021961FAF219723960FAF23972596FFAE64 -:10C7000025972796EFAE279752ED852E53E5952E68 -:10C710005BEFA52E50E4B52E14C021961FAF2197D4 -:10C7200023960FAF23972596FFAE25972796EFAE5A -:10C73000279742ED842E43E5942E4BEFA42E41E43F -:10C74000B42E8BA99CA9ADA9BEA92B968CAF9DAF89 -:10C75000AEAFBFAF2B979C01AD01B201C3010F94E7 -:10C76000336C698B7A8B8B8B9C8B4FA458A869A8F0 -:10C770007AA8A3019201612F702F8F2D9E2D0F9407 -:10C78000336C6D8B7E8B8F8B988F2B962CAD3DAD44 -:10C790004EAD5FAD2B976091770E7091780E8091C2 -:10C7A000790E90917A0E0F94336C2B966CAF7DAF0F -:10C7B0008EAF9FAF2B97A301920160917B0E70917A -:10C7C0007C0E80917D0E90917E0E0F94336C2B0128 -:10C7D0003C018D2D932DA22DBC2D89839A83AB8393 -:10C7E000BC8321968FAD219723969FAD23972596E5 -:10C7F000AFAD25972796BFAD27978D839E83AF83D7 -:10C80000B8878091520E9091530EA091540EB09122 -:10C81000550E89879A87AB87BC8720914A02309151 -:10C820004B0240914C0250914D02C501B4010F944E -:10C83000A4652091560E3091570E4091580E50919C -:10C84000590E0F94A4652091830E3091840E40916F -:10C85000850E5091860E0F94346C6D877E878F877E -:10C86000988B2B962CAD3DAD4EAD5FAD2B97CA018D -:10C87000B9010F94A4656B017C01A3019201C3016E -:10C88000B2010F94A4659B01AC01C701B6010F94DE -:10C89000346C20E030E040E050E40F94946E1816C1 -:10C8A0000CF047C00E9439EC1BA21CA21DA21EA2C4 -:10C8B00020E030E040E05FE360917F0E7091800EF9 -:10C8C0008091810E9091820E0F94346C6F8F78A3BB -:10C8D00089A39AA39E012D5D3F4FAE01415E5F4F3C -:10C8E0006BE77EE087E79EE00E94C6DD1BA21CA2EC -:10C8F0001DA21EA220E030E040E05FE36091520EF6 -:10C900007091530E8091540E9091550E0F94346C8B -:10C910006F8F78A389A39AA39E012D5D3F4FAE012F -:10C92000415E5F4FBE01615D7F4FCE01C3960E94A5 -:10C93000C6DD1F8E18A219A21AA29E01215E3F4FCA -:10C9400042E55EE0BE01615D7F4FCE01C3960E946D -:10C95000C6DD0E9465EC40903D0250903E02609022 -:10C960003F0270904002E090C90CF090CA0C009118 -:10C97000CB0C1091CC0CA090C50CB090C60CC09004 -:10C98000C70CD090C80C9501A601B701C8010F943F -:10C99000946E181614F47501860120E030E040E230 -:10C9A00051E4B701C8010F942E6D60933D0270935E -:10C9B0003E0280933F029093400240E0BE016F5ED2 -:10C9C0007F4FCE0101960F94112740923D02509265 -:10C9D0003E0260923F02709240020E94BCDDA1E0E4 -:10C9E000B0E02496BFAFAEAF2497212C312C022D9E -:10C9F0002396BFAD23972796BFAF2797C12CD12C85 -:10CA00007601C394022C04C0CC0CDD1CEE1CFF1C70 -:10CA10000A94D2F7812C912C5401839404C0880C81 -:10CA2000991CAA1CBB1CBA95D2F78C289D28AE284D -:10CA3000BF28E1E0F0E0022C02C0EE0FFF1F0A94D5 -:10CA4000E2F72696FFAFEEAF269725ED622E2DE09A -:10CA5000722E35E1432E3EE0532E25EF3DE0229627 -:10CA60003FAF2EAF229710E029965FAE4EAE2997CA -:10CA7000D2018D919C91A0E0B0E088219921AA215A -:10CA8000BB2188159905AA05BB0509F077C0229638 -:10CA9000AEADBFAD22978D919C91A0E0B0E08C210E -:10CAA0009D21AE21BF21892B8A2B8B2B09F066C0DB -:10CAB000802F0E940CA420E030E040E050E40F946E -:10CAC000346C6BA77CA78DA79EA727968FAD279761 -:10CAD0000E940CA420E030E040E050E40F94336C5E -:10CAE0006BA37CA38DA39EA34AE351E061E070E0B9 -:10CAF000CE018B960F94384D812F0E94DEA320E04B -:10CB000030E040E85FE30F943E6587FD70C1812F00 -:10CB10000E94DEA320E030E849E953E40F94946ECC -:10CB200018160CF469C1812F0E94DEA36F8F78A3C1 -:10CB300089A39AA36FA378A789A79AA74AE351E08C -:10CB400061E070E0CE0183960F94384D4FA158A557 -:10CB500069A57AA5CE018B960F940616811151C155 -:10CB60002296EEADFFAD22978081918126962EAD63 -:10CB70003FAD2697822B932B9183808332E0430E27 -:10CB8000511C2996AEADBFAD29978D919C91A0E027 -:10CB9000B0E08C219D21AE21BF21892B8A2B8B2BCC -:10CBA00009F485C0B1E0B10F2896BFAF2897F20114 -:10CBB00080819181A0E0B0E08C219D21AE21BF2138 -:10CBC000892B8A2B8B2B09F472C0F3018081918110 -:10CBD000A0E0B0E08C219D21AE21BF21892B8A2BC2 -:10CBE0008B2B09F064C0812F0E94DEA320E030E08F -:10CBF00040E050E40F94346C6FA378A789A79AA7FC -:10CC000028968FAD28970E94DEA320E030E040E018 -:10CC100050E40F94336C6F8F78A389A39AA3802F6D -:10CC20000E940CA420E030E040E85FE30F943E65F2 -:10CC300087FD00C1802F0E940CA420E030E04DE968 -:10CC400053E40F94946E18160CF4F9C0802F0E94D0 -:10CC50000CA46BA37CA38DA39EA36BA77CA78DA71D -:10CC60009EA743E351E061E070E0CE0187960F9408 -:10CC7000384D43E351E061E070E0CE014F960F94F0 -:10CC8000384D4FA158A569A57AA5CE018B960F9472 -:10CC900006168111D9C0D3018D919C9111972696CA -:10CCA000EEADFFAD26978E2B9F2B8D939C931F5F30 -:10CCB000F2E06F0E711C22962EAD3FAD22972E5FD3 -:10CCC0003F4F22963FAF2EAF2297163009F0CCCEC1 -:10CCD0003FEF231A330A24968EAD9FAD2497019619 -:10CCE00024969FAF8EAF249796E02916310409F061 -:10CCF0007ECE0E94DB672E96AEADBFAD2E9711970C -:10CD00002E96BFAFAEAF2E97AB2B41F02C96BFAD9A -:10CD10002C97B7FD03C0EFADE7FFB5CB6FEF86E70C -:10CD20009DE30F94814B0E9439EC80E090E0A0EAF3 -:10CD3000B0E48093660E9093670EA093680EB09354 -:10CD4000690E19821A821B821C829E012F5F3F4F3F -:10CD500046E65EE062E67EE08EE59EE00E94C6DD8D -:10CD60008091390E90913A0EA0913B0EB0913C0EFD -:10CD700080935E0E90935F0EA093600EB093610E51 -:10CD80008091350E9091360EA091370EB091380EED -:10CD90008093620E9093630EA093640EB093650E21 -:10CDA00019821A821B821C829E012F5F3F4F46E62A -:10CDB0005EE062E67EE08EE59EE00E94C6DD619662 -:10CDC000FFAD6197F093561E0F94D13D60962FAD45 -:10CDD000609721115BC01092380A1092370A0E94A6 -:10CDE0003AA08091870E90E00E94C2B84FC060E0E8 -:10CDF00070E080E89FE39ACE60E070E889E993E410 -:10CE000095CE4F8D58A169A17AA1CE0183960F943A -:10CE10000616882309F4A4CE9E01215E3F4FAE0181 -:10CE20004D5D5F4FBE01695D7F4FCE018B960E94C5 -:10CE300095EC96CE60E070E080E89FE30ACF60E07A -:10CE400070E08DE993E405CF4F8D58A169A17AA1D7 -:10CE5000CE0183960F940616882309F41CCF9E01F9 -:10CE6000215E3F4FAE014D5D5F4FBE01695D7F4F5B -:10CE7000CE018B960E9495EC0ECFFFADD42C352CB5 -:10CE8000262CC72CF5300CF0E1CBCECBC05BDF4FAE -:10CE90000FB6F894DEBF0FBECDBFDF91CF911F91CB -:10CEA0000F91FF90EF90DF90CF90BF90AF909F9049 -:10CEB0008F907F906F905F904F903F902F9008954C -:10CEC00090E0FC013197E231F10508F04EC088276F -:10CED000EA54FF4F8F4F0D942B6C809180008F7719 -:10CEE00003C0809180008F7D8093800008958091A1 -:10CEF0008000877FF9CF84B58F7702C084B58F7D9E -:10CF000084BD08958091B0008F7703C08091B000F8 -:10CF10008F7D8093B0000895809190008F7707C037 -:10CF2000809190008F7D03C080919000877F8093D7 -:10CF3000900008958091A0008F7707C08091A00095 -:10CF40008F7D03C08091A000877F8093A00008950B -:10CF5000809120018F7707C0809120018F7D03C0D1 -:10CF600080912001877F8093200108953FB7F89436 -:10CF700080914E0E90914F0EA091500EB091510E97 -:10CF800026B5A89B05C02F3F19F00196A11DB11D24 -:10CF90003FBFBA2FA92F982F8827820F911DA11D5F -:10CFA000B11DBC01CD0142E0660F771F881F991F9C -:10CFB0004A95D1F708952F923F924F925F926F92C8 -:10CFC0007F928F929F92AF92BF92CF92DF92EF9219 -:10CFD000FF920F931F93CF93DF93D82FC62F8AE032 -:10CFE00097E00E94CE67D1115AC0CC2389F00E94ED -:10CFF00009758C01C12CD12CC0E0D0E0A12CB12C42 -:10D0000083E9282E80E1382E44244394512C3FC0DC -:10D010000E948F8B8111EBCF44C0C016D10608F05F -:10D0200037C1C5014496C816D90608F031C12FEFA3 -:10D03000C21AD20A0F3F3FEF130709F0C3C10E9483 -:10D0400009758C018C159D0508F04EC1F101019008 -:10D050000020E9F73197CF01835990413C01EE243C -:10D06000E394F12C97012D563F4E490146E050E0E4 -:10D0700063E177E0C9010F94EC70892B09F0F4C0EB -:10D08000E614F7040CF43FC18FEFA81AB80A0F3F5B -:10D090002FEF120711F60E9409758C01BECFC11146 -:10D0A000A6CF3AE0C32E30E2D32EE12CF12CC5E01E -:10D0B000D2E8812C912C54011092851C1092841C72 -:10D0C000C093781CD0937B1CD701C601880D991D95 -:10D0D000AA1DBB1D80937C1C90937D1CA0937E1C7D -:10D0E000B0937F1C0F94B0388FEF881A980AA80A63 -:10D0F000B80A9AE089169104A104B104E9F62AE07D -:10D10000C20ED11CE11CF11C32EDC31630E2D30675 -:10D11000E104F10471F6C12C20E2D22EE12CF12CB5 -:10D12000D5E0C2E81092851C1092841CD093781C24 -:10D13000C0937B1CC0927C1CD0927D1CE0927E1C14 -:10D14000F0927F1C0F94B0381092851C1092841CB2 -:10D15000D093781CC0937B1CD701C6018C529F4F83 -:10D16000AF4FBF4F80937C1C90937D1CA0937E1C7F -:10D17000B0937F1C0F94B0388FEFC81AD80AE80A12 -:10D18000F80A9AE0C91690E2D906E104F10451F6D2 -:10D190009EEDC92E90E2D92EE12CF12CD5E0C2E80B -:10D1A0001092851C1092841CD093781CC0937B1C19 -:10D1B000C0927C1CD0927D1CE0927E1CF0927F1C61 -:10D1C0000F94B0382FEFC21AD20AE20AF20A36EEF2 -:10D1D000C31630E2D306E104F10411F7CC24C39462 -:10D1E00082E1D82EE12CF12C0AE010E0D5E0C2E873 -:10D1F0001093851C0093841CD093781CC0937B1CD7 -:10D20000C0927C1CD0927D1CE0927E1CF0927F1C10 -:10D210000F94B0381093851C0093841CD093781C15 -:10D22000C0937B1CD701C6018096A11DB11D8093C0 -:10D230007C1C90937D1CA0937E1CB0937F1C0F944C -:10D24000B0388FEFC81AD80AE80AF80A95E1C9166B -:10D2500092E1D906E104F10459F68BED93E00E94C6 -:10D26000CE6782E190E016C046E050E06AE177E0E8 -:10D27000C4010F94EC70892B09F402CF3FEFE31A3D -:10D28000F30AC7010197861597050CF4EBCEF8CE8B -:10D2900081E190E09093851C8093841C85E08093CD -:10D2A000781C82E880937B1C84E190E1A0E0B0E0F0 -:10D2B00080937C1C90937D1CA0937E1CB0937F1C5C -:10D2C000DF91CF911F910F91FF90EF90DF90CF9062 -:10D2D000BF90AF909F908F907F906F905F904F9096 -:10D2E0003F902F900D94B0380F3F8FEF180719F42F -:10D2F0000E9409758C0160E070E0C8018C199D09DD -:10D300000E944175A3CE22E12C9FC0012D9F900D5C -:10D3100011249C012B5C3E4E4901A701423151056D -:10D3200014F041E150E063E970E1C4010F94FA7038 -:10D3300032E13C9FC0013D9F900D112465ED70E1ED -:10D3400083569D4E0F94E5708AE08C9FA0018D9FBF -:10D35000500D1124465F5F4D052E000C660B770BB8 -:10D36000FE01EE0FFF1FEE0FFF1FEE51FF4E438336 -:10D37000548365837683C4010F945F387E019FEFE9 -:10D38000E91AF90AF092E410E092E3105092851C39 -:10D390004092841C25E02093781C32E830937B1C5B -:10D3A000CF5FDD4ECE01DD0FAA0BBB0B80937C1C43 -:10D3B00090937D1CA0937E1CB0937F1C0F94B0387B -:10D3C000E70165CE0C151D0508F440CE94CF4F92B1 -:10D3D0005F926F927F928F929F92AF92BF92CF9205 -:10D3E000DF92EF92FF921F93CF93DF93C82F82E4D7 -:10D3F0009BE1909392108093911010923B1B82E0DE -:10D4000090E0A0E0B0E08093241B9093251BA093B4 -:10D41000261BB093271B1092901010928C10109224 -:10D420008D1010928E1010928F108FEF9FEFDC01F5 -:10D430008093881090938910A0938A10B0938B10DA -:10D44000CC2379F1C53008F001C140E060E070E024 -:10D45000CB010E94D176882309F4F8C020E1C29F55 -:10D46000C00111248858914FFC01E254FE4F2081E5 -:10D470002F7709F0EBC03C96408151816281738126 -:10D48000443651056105710508F4E0C03497C08049 -:10D49000D180E280F380C114D104E104F10421F4CD -:10D4A000D5C0C12CD12C760140E0C701B6010E9445 -:10D4B000D176182F882309F4C9C08091930E9091DA -:10D4C000940E8115924009F0C1C0A091980EAA2334 -:10D4D00009F4BCC06091960E7091970E61157105AC -:10D4E00009F4B4C08090950E882009F4AFC0A093D1 -:10D4F000361B8092281B80E0912CA12CB12C412C52 -:10D50000512C32014394C82FA3019201082E04C06C -:10D51000220F331F441F551F0A94D2F78216930619 -:10D52000A406B50639F08F5FC83069F789E08093AB -:10D53000311B8CC08093311B20919E0E30919F0E29 -:10D540002115310519F040E050E008C02091AC0EE3 -:10D550003091AD0E4091AE0E5091AF0E2093291B2D -:10D5600030932A1B40932B1B50932C1B46015701D1 -:10D57000860E971EA11CB11C8092371B9092381BFF -:10D58000A092391BB0923A1BE091990EF0919A0E3D -:10D59000F0933D1BE0933C1BB0E00F94D56B860EDF -:10D5A000971EA81EB91E80923E1B90923F1BA09210 -:10D5B000401BB092411B85E0EE0FFF1F8A95E1F7FB -:10D5C000E150FE4FEF2FFF27E6958E0E9F1EA11C08 -:10D5D000B11C8092321B9092331BA092341BB092EC -:10D5E000351B20919B0E30919C0E2115310521F0A9 -:10D5F000A90160E070E008C04091A80E5091A90E0A -:10D600006091AA0E7091AB0ED701C60188199909D5 -:10D61000AA09BB09840F951FA61FB71F04C0B695A2 -:10D62000A79597958795CA95D2F780932D1B9093D0 -:10D630002E1BA0932F1BB093301B853F2FE092072A -:10D64000A105B10528F48CE080933B1B10E01AC0C3 -:10D65000853F9F4FA105B10510F480E111C0809175 -:10D66000B40E9091B50EA091B60EB091B70E809306 -:10D670003E1B90933F1BA093401BB093411B80E245 -:10D6800080933B1B812FDF91CF911F91FF90EF90F3 -:10D69000DF90CF90BF90AF909F908F907F906F90D2 -:10D6A0005F904F900895CF93DF93CDB7DEB760972B -:10D6B0000FB6F894DEBF0FBECDBFE7E7FEE0808176 -:10D6C0009181A281B38189839A83AB83BC83848156 -:10D6D0009581A681B7818D839E83AF83B88780852E -:10D6E0009185A285B38589879A87AB87BC87848516 -:10D6F0009585A685B7858D879E87AF87B88BAE0148 -:10D70000475F5F4FBE016B5F7F4FCE0101960F9465 -:10D710008F3D9E01235F3F4FAE01475F5F4FBE01CC -:10D720006B5F7F4FCE0101960F94B71B60960FB6CB -:10D73000F894DEBF0FBECDBFDF91CF9108959091D9 -:10D74000760E9817C9F08093760E811109C08091EA -:10D75000740E8093720E8091750E8093730E0895EF -:10D760008091720E8093740E1092720E8091730EDF -:10D770008093750E1092730E089589E09BE10E94CC -:10D78000B2B389E09BE10E94E5B38091001E8D7FDA -:10D790008E7F8093001E1092FC1D1092FD1D109232 -:10D7A000FE1D1092FF1D81E08093E61C08950F94EA -:10D7B000B65460916F0E7091700E8DED90E40F94E1 -:10D7C0009F548AED90E40D943654AF92BF92CF925D -:10D7D000DF92EF92FF920F931F93CF93DF93CDB71A -:10D7E000DEB72C970FB6F894DEBF0FBECDBF2BE887 -:10D7F000C22E23E0D22E5C0170E0CB0185579C4FF6 -:10D800007C01CE14DF0409F180E20E94B066F601CB -:10D8100081916F010E94B0668AE30E94B066F501B3 -:10D8200061917191819191915F018E010F5F1F4F05 -:10D8300023E041E00F9416608C01F80181918F0183 -:10D840008823F9F20E94B066F8CF8AE00E94B066A1 -:10D850002C960FB6F894DEBF0FBECDBFDF91CF91EF -:10D860001F910F91FF90EF90DF90CF90BF90AF90FE -:10D870000895CF93DF9300D01F92CDB7DEB780918C -:10D88000051481111BC081E08093051480915A0E0C -:10D8900090915B0EA0915C0EB0915D0EB0588983A3 -:10D8A0009A83AB83BC839E012F5F3F4F46E65EE0C9 -:10D8B00062E67EE08EE59EE00E94C6DD0F900F904E -:10D8C0000F900F90DF91CF910895CF93DF9300D009 -:10D8D0001F92CDB7DEB7809105148823F9F02AE9AD -:10D8E00039E949E95FE360915A0E70915B0E8091CE -:10D8F0005C0E90915D0E0F94A46569837A838B838F -:10D900009C839E012F5F3F4F46E65EE062E67EE02D -:10D910008EE59EE00E94C6DD109205140F900F90D8 -:10D920000F900F90DF91CF9108952F923F924F92D9 -:10D930005F926F927F928F929F92AF92BF92CF929F -:10D94000DF92EF92FF920F931F93CF93DF93CDB7A8 -:10D95000DEB7A0970FB6F894DEBF0FBECDBF1C0197 -:10D960008B015A8749873C872B87C090770ED090D0 -:10D97000780EE090790EF0907A0EDC018D919D91F9 -:10D980000D90BC91A02D8D879E87AF87B88B9C0191 -:10D99000AD01C701B6010F94336C2B013C0180919E -:10D9A0007B0E90917C0EA0917D0EB0917E0E898BA6 -:10D9B0009A8BAB8BBC8BD8018D919D910D90BC91B6 -:10D9C000A02D8D8B9E8BAF8BB88F9C01AD0169898B -:10D9D0007A898B899C890F94336C4B015C01A3017C -:10D9E0009201C301B2010F94A4652B013C01A50172 -:10D9F0009401C501B4010F94A4659B01AC01C3015E -:10DA0000B2010F94346C698F7A8F8B8F9C8FE9856C -:10DA1000FA854080518062807380A3019201C70122 -:10DA2000B6010F94336C6D8F7E8F8F8F98A3AB856B -:10DA3000BC858D909D90AD90BC90A50194016989A5 -:10DA40007A898B899C890F94336C6B017C012D85BD -:10DA50003E854F855889C301B2010F94336C2B0169 -:10DA60003C012D893E894F89588DC501B4010F9421 -:10DA7000336C4B015C01A3019201C301B2010F940D -:10DA8000A4652B013C01A5019401C501B4010F94CB -:10DA9000A4659B01AC01C301B2010F94346C0F94D7 -:10DAA000326F4B015C012D8D3E8D4F8D58A1CA0107 -:10DAB000B9010F94A4652B013C01A7019601C70190 -:10DAC000B6010F94A4659B01AC01C301B2010F9490 -:10DAD000346C9B01AC01698D7A8D8B8D9C8D0F947C -:10DAE000946E181604F520E030E0A901C501B401D8 -:10DAF0000F94946E87FF04C0C501B401905802C012 -:10DB0000C501B40120E030E040EA50E40F94946E87 -:10DB100018164CF49801A1016B857C8589859A853E -:10DB20000E9495EC85C020E030E040E050E4698D33 -:10DB30007A8D8B8D9C8D0F94946E18160CF044C0CA -:10DB40000E9439EC19821A821B821C8220E030E08C -:10DB500040E05FE360917F0E7091800E8091810EB6 -:10DB60009091820E0F94346C6D837E838F8398879F -:10DB70009E012F5F3F4FAE014B5F5F4F6BE77EE033 -:10DB800087E79EE00E94C6DD19821A821B821C82F2 -:10DB900020E030E040E05FE36091520E7091530E60 -:10DBA0008091540E9091550E0F94346C6D837E834A -:10DBB0008F8398879E012F5F3F4FAE014B5F5F4F72 -:10DBC000B801C1010E94C6DD19821A821B821C8223 -:10DBD0009E012F5F3F4F42E55EE0B801C1010E9408 -:10DBE000C6DD20914A0230914B0240914C02509187 -:10DBF0004D02C501B4010F94A4652091560E3091D9 -:10DC0000570E4091580E5091590E0F94A465698398 -:10DC10007A838B839C830E9465EC9E012F5F3F4F2C -:10DC200042E55EE06B857C8589859A850E94C6DD2C -:10DC3000A0960FB6F894DEBF0FBECDBFDF91CF9197 -:10DC40001F910F91FF90EF90DF90CF90BF90AF901A -:10DC50009F908F907F906F905F904F903F902F900C -:10DC60000895CF93DF93282F30E0F901EC56FF4B56 -:10DC70008491F901E25BFF4BD491F901E85FFF4B1E -:10DC8000C491CC2391F081110E9460E7EC2FF0E069 -:10DC9000EE0FFF1FE251F04CA591B491EC91ED23F2 -:10DCA00081E090E021F480E002C080E090E0DF912C -:10DCB000CF9108951F93CF93DF93282F30E0F90180 -:10DCC000EC56FF4B8491F901E25BFF4BD491F901D3 -:10DCD000E85FFF4BC491CC23C1F0162F81110E9445 -:10DCE00060E7EC2FF0E0EE0FFF1FEC52F04CA59137 -:10DCF000B4919FB7F894111104C08C91D095D8239A -:10DD000002C0EC91DE2BDC939FBFDF91CF911F917E -:10DD10000895CF93DF9390E0FC01E25BFF4B2491E9 -:10DD2000FC01E85FFF4B8491882361F190E0880F4C -:10DD3000991FFC01E654F04CC591D491FC01EC52C2 -:10DD4000F04CA591B491611109C09FB7F8948881F6 -:10DD5000209582238883EC912E230BC0623061F4DE -:10DD60009FB7F8948881322F309583238883EC9174 -:10DD70002E2B2C939FBF06C08FB7F894E8812E2BD3 -:10DD800028838FBFDF91CF9108951F93CF93DF93A7 -:10DD9000182FEB0161E00E9489EE209711F460E0FA -:10DDA00004C0CF3FD10539F461E0812FDF91CF91DD -:10DDB0001F910C945AEEE12FF0E0EC56FF4BE491EA -:10DDC0008E2F90E0FC013197E231F10508F09DC003 -:10DDD0008827E853FF4F8F4F0D942B6C84B58068D4 -:10DDE00084BDC7BD97C084B5806284BDC8BD92C0E4 -:10DDF00080918000806880938000D0938900C093D8 -:10DE0000880088C080918000806280938000D093D9 -:10DE10008B00C0938A007EC08091800088608093D0 -:10DE20008000D0938D00C0938C0074C08091B000AE -:10DE300080688093B000C093B3006CC08091B00044 -:10DE400080628093B000C093B40064C08091900061 -:10DE5000806880939000D0939900C09398005AC036 -:10DE600080919000806280939000D0939B00C0933B -:10DE70009A0050C080919000886080939000D09369 -:10DE80009D00C0939C0046C08091A0008068809354 -:10DE9000A0008091A0008F7B8093A000D093A90068 -:10DEA000C093A80037C08091A00080628093A0003A -:10DEB000D093AB00C093AA002DC08091A0008860D1 -:10DEC0008093A000D093AD00C093AC0023C080919C -:10DED0002001806880932001D0932901C0932801FC -:10DEE00019C080912001806280932001D0932B0182 -:10DEF000C0932A010FC08091200188608093200187 -:10DF0000D0932D01C0932C0105C0C038D1050CF071 -:10DF10004BCF45CFDF91CF911F910895863308F005 -:10DF2000865390917B00282F2870977F922B909397 -:10DF30007B008770806480937C0080917A0080648D -:10DF400080937A0080917A0086FDFCCF80917800E2 -:10DF50002091790090E0922B08958F929F92AF923A -:10DF6000BF92CF92DF92EF92FF926B017C010E94F1 -:10DF7000B6E74B015C01C114D104E104F104F1F0F6 -:10DF80000E94B6E7DC01CB0188199909AA09BB09EF -:10DF9000883E9340A105B10570F321E0C21AD10873 -:10DFA000E108F10888EE880E83E0981EA11CB11CE0 -:10DFB000C114D104E104F10419F7DDCFFF90EF9013 -:10DFC000DF90CF90BF90AF909F908F9008952FB724 -:10DFD000F89460914A0E70914B0E80914C0E909186 -:10DFE0004D0E2FBF0895CF93C82FCB01009711F08E -:10DFF0000F94365486E894E40F943654C11103C04C -:10E0000087E794E402C08CE794E40F9436548AE0E6 -:10E01000CF910C94B066CF93DF9300D01F92CDB711 -:10E02000DEB784EF91E0A0E0B0E089839A83AB8310 -:10E03000BC83BE016F5F7F4F8CE30F94220C84EA98 -:10E0400094E40F9436548CB16EE974E485FB882710 -:10E0500080F90E94F3EF8091030168E974E48695EA -:10E0600081700E94F3EF89B162E974E483FB882731 -:10E0700080F90E94F3EF89E894E40F94365482E02B -:10E080000E9431EE21E0892B09F420E060E070E08D -:10E09000822F0E94F3EF89E894E40F94365480E2D3 -:10E0A0000E94B06682E30E94B0668FE00E9431EE6B -:10E0B00021E0892B09F420E060E070E0822F0E94CB -:10E0C000F3EF8EEE92E0A0E0B0E04B9911C08983AF -:10E0D0009A83AB83BC83BE016F5F7F4F8AE00F944E -:10E0E000220C0F900F900F900F90DF91CF91089519 -:10E0F00089839A83AB83BC83BE016F5F7F4F8AE5C0 -:10E10000EECF80915B0A811104C080915D0A882363 -:10E1100031F062E070E080E090E00D94CA53089521 -:10E120008091EF0B882319F01092EF0B089589E688 -:10E1300094E40F945639A1EABCE020E030E0C90134 -:10E140002430310510F083E090E0880F991F880F8C -:10E15000991FFC01EB58FE4B4591559165917491C7 -:10E1600054964D935D936D937C935797FC01EB59B7 -:10E17000FE4B459155916591749194964D935D93A5 -:10E180006D937C939797FC01EB5AFE4B459155910B -:10E19000659174914D935D936D937D932F5F3F4F88 -:10E1A0002430310509F0CBCF80E29EE4A0E0B0E05E -:10E1B0008093B10C9093B20CA093B30CB093B40CB9 -:10E1C00080E090E0A6E9B3E48093D50C9093D60C60 -:10E1D000A093D70CB093D80C40E050E06AE774E409 -:10E1E0004093D90C5093DA0C6093DB0C7093DC0CE9 -:10E1F0008093DD0C9093DE0CA093DF0CB093E00CC9 -:10E200001092E10C1092E20C1092E30C1092E40CCC -:10E210001092E50C1092E60C1092E70C1092E80CAC -:10E220008AE097EDA3EABDE38093A4149093A5142C -:10E23000A093A614B093A7148CE0EEE5FAE0DF01FA -:10E240001D928A95E9F781E0809352021092160A96 -:10E250000E943F6480E090E0A0EAB0E480934E0228 -:10E2600090934F02A0935002B093510280E090E04F -:10E27000A0EAB2E48093F10C9093F20CA093F30C1B -:10E28000B093F40C40E050E060E070E44093F50C93 -:10E290005093F60C6093F70C7093F80C88EB9BE0AE -:10E2A0009093FA0C8093F90C9093FC0C8093FB0CE8 -:10E2B00088E0EFE8F3E0ADEFBCE001900D928A95C5 -:10E2C000E1F74093050D5093060D6093070D709391 -:10E2D000080D81E297E00E94CE6710920714109219 -:10E2E00008141092091410920A1480E00F945F52DF -:10E2F0000F94875280E090E0A0EBB1EC8093DF14A4 -:10E300009093E014A093E114B093E21480E090E0C5 -:10E31000A4E3B2EC8093E3149093E414A093E51487 -:10E32000B093E6141092E7141092E8141092E914D6 -:10E330001092EA1480E090E0A8E9B1E48093230A07 -:10E340009093240AA093250AB093260A8AE891EEB6 -:10E35000AAE6BEE38093270A9093280AA093290A8D -:10E36000B0932A0A80E89AE6A9ECB3E480932B0ADA -:10E3700090932C0AA0932D0AB0932E0A83EC95E972 -:10E38000ACE2B4E480933A0A90933B0AA0933C0A2F -:10E39000B0933D0A80E29BE1A2E9B1E480933E0A9A -:10E3A00090933F0AA093400AB093410A87EF9CEDF7 -:10E3B000ABECB5E48093420A9093430AA093440ADD -:10E3C000B093450A1092561E80E090E0A0EEBFE3A5 -:10E3D00080935F1E9093601EA093611EB093621E97 -:10E3E0008093631E9093641EA093651EB093661E77 -:10E3F00010925B0A10925A0A0E9481F01092640CEB -:10E400001092650C1092660C1092670C1092680CBA -:10E410001092690C10926A0C10926B0C40E050E064 -:10E4200067ED73E440930B1450930C1460930D1438 -:10E4300070930E1480E090E0A1EEB3E480930F148B -:10E4400090931014A0931114B093121440931314CA -:10E45000509314146093151470931614809317142A -:10E4600090931814A0931914B0931A140F94DE46C5 -:10E4700081E297E00C94CE678091261C9091271C36 -:10E480008853934060E970E00F94036CCB010895CA -:10E49000EF92FF920F931F93CF93DF9300D01F92C1 -:10E4A000CDB7DEB7182F7B010E943CF217FD2FC0BD -:10E4B000212F110F330B281739074CF52F5F3F4FD2 -:10E4C00080E9829FA001839F500D11248091261C1A -:10E4D0009091271C841B950B9C838B831A82198235 -:10E4E000E114F10411F0B70102C066E37DE001E040 -:10E4F0009E012F5F3F4F40E950E0CE0103960E94FE -:10E500007664882321F089E391E40F9436540F90C8 -:10E510000F900F900F90DF91CF911F910F91FF906F -:10E52000EF9008951F93CF93DF9300D01F92CDB744 -:10E53000DEB7182F0E943CF217FD29C0212F110FC2 -:10E54000330B281739071CF52F5F3F4F80E9829F57 -:10E55000A001839F500D11248091261C9091271CAF -:10E56000841B950B9C838B831A8219829E012F5FDB -:10E570003F4F40E950E066E37DE0CE0103960E9404 -:10E58000B364882321F08DE191E40F9436540F9009 -:10E590000F900F900F90DF91CF911F910895EF9200 -:10E5A000FF920F931F93CF93C82F811102C00F9436 -:10E5B000B65482E594E40F9436548CE494E40F94BA -:10E5C00036548AE00E94B0668AE00E94B066C111AB -:10E5D00014C00F94B65489E394E40F943654809198 -:10E5E000561E882321F08AE00E94B06604C08EE2A5 -:10E5F00094E40F9436540F94B65440915F1E50919A -:10E60000601E6091611E7091621E85E294E40F9419 -:10E6100082548AE00E94B066C11102C00F94B654C1 -:10E620004091631E5091641E6091651E7091661E3C -:10E6300089E194E40F9482548AE00E94B06680914C -:10E64000561E811108C0C11102C00F94B6548EE04D -:10E6500094E40F943654C11106C00F94B6548DEF54 -:10E6600093E40F9436546FEF81E08C270F940D24C0 -:10E67000C11108C00F94B6548FED93E40F94365433 -:10E680000F94B6544091C50C5091C60C6091C70CC4 -:10E690007091C80C86ED93E40F9482544091C90C9C -:10E6A0005091CA0C6091CB0C7091CC0C83ED93E42B -:10E6B0000F9482544091CD0C5091CE0C6091CF0CB0 -:10E6C0007091D00C80ED93E40F9482544091D10C62 -:10E6D0005091D20C6091D30C7091D40C8DEC93E4DA -:10E6E0000F9482548AE00E94B066C11108C00F9452 -:10E6F000B6548BEA93E40F9436540F94B654609159 -:10E70000A10C7091A20C8091A30C9091A40C0F9479 -:10E710004365AB01BC0182EA93E40F94825460919B -:10E72000A50C7091A60C8091A70C9091A80C0F9449 -:10E730004365AB01BC018FE993E40F94825460916F -:10E74000A90C7091AA0C8091AB0C9091AC0C0F9419 -:10E750004365AB01BC018CE993E40F948254609152 -:10E76000AD0C7091AE0C8091AF0C9091B00C0F94E9 -:10E770004365AB01BC0189E993E40F9482548AE0BC -:10E780000E94B066C11108C00F94B6548FE493E4A0 -:10E790000F9436540F94B6544091D50C5091D60C2A -:10E7A0006091D70C7091D80C86E493E40F94825456 -:10E7B0004091D90C5091DA0C6091DB0C7091DC0C1B -:10E7C00083E493E40F9482544091DD0C5091DE0C6D -:10E7D0006091DF0C7091E00C80E493E40F9482541C -:10E7E0008AE00E94B066C1110FC00F94B65488EF42 -:10E7F00092E40F9436548BEE92E40F9436548AE0F0 -:10E800000E94B0660F94B6546091B10C7091B20C36 -:10E810008091B30C9091B40C0F944365AB01BC0193 -:10E8200082EE92E40F9482544091E10C5091E20CFC -:10E830006091E30C7091E40C8FED92E40F9482549C -:10E840004091E50C5091E60C6091E70C7091E80C5A -:10E850008CED92E40F9482544091A4145091A5142D -:10E860006091A6147091A71489ED92E40F948254DC -:10E870008AE00E94B066C11108C00F94B6548BECB8 -:10E8800092E40F9436540F94B65440915E0A50911E -:10E890005F0A6091600A7091610A82EC92E40F94C1 -:10E8A00082544091620A5091630A6091640A7091A7 -:10E8B000650A8FEB92E40F9482544091660A50915E -:10E8C000670A6091680A7091690A8CEB92E40F9470 -:10E8D00082548AE00E94B066C1110CC00F94B654F5 -:10E8E00085E891E40F94365489EB92E40F94365402 -:10E8F0000F94B6546091671E70E080EB92E40F9421 -:10E9000093544091C60D5091C70D6091C80D709100 -:10E91000C90D8DEA92E40F9482548AE00E94B06699 -:10E92000C11124C08AE00E94B0660F9445546091E2 -:10E930001B14062E000C770B89E992E40F94935474 -:10E940008AE00E94B0660E943CF2BC0188E892E432 -:10E950000F9475548DE792E40F9436540F94B65487 -:10E960008EE692E40F9436540F94B6544091230AE5 -:10E970005091240A6091250A7091260A85E692E456 -:10E980000F9482542CEA35EC47E25EE36091270A4B -:10E990007091280A8091290A90912A0A0F942E6D6D -:10E9A000AB01BC0182E692E40F9482542CEA35EC70 -:10E9B00047E25EE360912B0A70912C0A80912D0A48 -:10E9C00090912E0A0F94A465AB01BC018FE592E4EF -:10E9D0000F9482548AE00E94B066C11102C00F9465 -:10E9E000B65440913A0A50913B0A60913C0A7091AA -:10E9F0003D0A86E592E40F9482542CEA35EC47E216 -:10EA00005EE360913E0A70913F0A8091400A9091C6 -:10EA1000410A0F942E6DAB01BC0183E592E40F9483 -:10EA200082542CEA35EC47E25EE36091420A709131 -:10EA3000430A8091440A9091450A0F94A465AB0162 -:10EA4000BC0180E592E40F9482548AE00E94B06693 -:10EA5000C11110C00F94B65481E492E40F9436545F -:10EA60008CE494E40F9436548AE991E40F9436547C -:10EA70000F94B6544091DF145091E0146091E1146A -:10EA80007091E21488E392E40F9482548AE00E9429 -:10EA9000B0664091E3145091E4146091E5147091D4 -:10EAA000E6148FE292E40F9482548AE00E94B066EA -:10EAB0004091E7145091E8146091E9147091EA14C0 -:10EAC00086E292E40F9482548AE00E94B066C111FB -:10EAD00008C00F94B65485E192E40F9436540F9415 -:10EAE000B65484E6E82E8CE0F82E00E010E0B80181 -:10EAF0008CE092E40F949354F7014191519161910C -:10EB000071917F0189E092E40F9482548AE00E941F -:10EB1000B0660F5F1F4F0230110549F7C11108C0E1 -:10EB20000F94B6548AEE91E40F9436540F94B65471 -:10EB30008DE991E40F94365440910F1450911014C4 -:10EB4000609111147091121485EE91E40F94825427 -:10EB500040910B1450910C1460910D1470910E148F -:10EB600082EE91E40F9482548AE00E94B066C11153 -:10EB700002C00F94B6548DE991E40F94365440913D -:10EB80001714509118146091191470911A148DED86 -:10EB900091E40F9482544091131450911414609195 -:10EBA0001514709116148AED91E40F9482548AE042 -:10EBB0000E94B066C11108C00F94B6548AEC91E46B -:10EBC0000F9436540F94B65481E00F947244C111DF -:10EBD00008C00F94B65481EB91E40F9436540F940F -:10EBE000B6546091520270E088EA91E40F94935415 -:10EBF00040914E0250914F0260915002709151022B -:10EC000085EA91E40F9482548AE0CF911F910F918D -:10EC1000FF90EF900C94B0668F929F92AF92BF924C -:10EC2000CF92DF92EF92FF920F931F93CF93DF93D8 -:10EC300081E0809306140E94D3B8109206148823B2 -:10EC400009F4E1C00E94D3B8D82E84E397E00E9473 -:10EC5000CE670F949E53882309F47FC0F12CEE24D5 -:10EC6000E39400E010E0D1E036E0C32EC0E0BB2426 -:10EC7000B39446E0A42E55E0952E62E8862EEB2450 -:10EC8000CC16F1F18F2D90E08397C4F5C530B1F12A -:10EC90000530A1F1F394F801AC9EE00DF11D1124B3 -:10ECA000EE0FFF1FEE0FFF1FEA5CF24F20E030E097 -:10ECB0004AE754E460817181828193810F94A46555 -:10ECC0000F94A06D7093851C6093841C9092781CA7 -:10ECD00080927B1C4F2D50E04158574F440F551FD9 -:10ECE000052E000C660B770B40937C1C50937D1C0B -:10ECF00060937E1C70937F1C0F94B038CD0FC0CFF3 -:10ED00000F5F1F4F0630110561F0E11005C0DFEF06 -:10ED1000CC24CA94C5E0B3CFD1E026E0C22EC0E037 -:10ED2000AECF83E090E09093851C8093841C85E0B7 -:10ED30008093781C82E880937B1C85E490E1A0E0BE -:10ED4000B0E080937C1C90937D1CA0937E1CB093BC -:10ED50007F1C0F94B03881E01BC082E090E090935C -:10ED6000851C8093841C85E08093781C82E88093C6 -:10ED70007B1C85E490E1A0E0B0E080937C1C909344 -:10ED80007D1CA0937E1CB0937F1C0F94B03880E054 -:10ED90000F945F524091E7145091E8146091E91488 -:10EDA0007091EA1480EF90E40F9482548AE00E94FC -:10EDB000B06620E030E048EC52E46091E7147091D6 -:10EDC000E8148091E9149091EA140F94A4650F94CB -:10EDD000A06D7093851C6093841C85E08093781CE3 -:10EDE00082E880937B1C86E290E1A0E0B0E0809313 -:10EDF0007C1C90937D1CA0937E1CB0937F1C0F9471 -:10EE0000B0388D2D0BC00E949BF00E94F1BE0F9474 -:10EE1000B65489E091E40F94365480E0DF91CF91AD -:10EE20001F910F91FF90EF90DF90CF90BF90AF9028 -:10EE30009F908F9008950F930FB70F9300916E00DE -:10EE40000F930B7F00936E0000916F000D7F009376 -:10EE50006F000F930BB70F930CB70F921F922F9366 -:10EE60003F934F935F936F937F938F939F93AF9352 -:10EE7000BF93EF93FF9311240E948CF7FF91EF91C2 -:10EE8000BF91AF919F918F917F916F915F914F91C2 -:10EE90003F912F911F900F900CBF0F910BBF0F91BF -:10EEA0000260F89400936F000F9100936E000F9131 -:10EEB0000FBF0F91189580915C0A80FF03C089985D -:10EEC0008FEF02C0899A81E08093351480915C0AAB -:10EED000869580FF03C08F9A8FEF02C08F9881E0E4 -:10EEE0008093361480915C0A8695869580FF08C0D1 -:10EEF00080910B0180958270809309018FEF06C08D -:10EF000080910B0182708093090181E08093371416 -:10EF100000000000000008952F923F924F925F92F0 -:10EF20006F927F928F929F92AF92BF92CF92DF9219 -:10EF3000EF92FF920F931F93CF93DF93CDB7DEB77E -:10EF40002D970FB6F894DEBF0FBECDBF8FEF9FEFAA -:10EF500090938900809388002AE02987212C312C06 -:10EF600044244A94542C32017894809183149091D3 -:10EF70008414A0918514B0918614892B8A2B8B2B35 -:10EF800009F0D9C18091AF1E8823E1F01092AF1E25 -:10EF90008091AD1E9091AE1E892B09F4CCC11092C8 -:10EFA00034141092AE1E1092AD1E9091F01B809101 -:10EFB000F11B981709F4BFC18091F11B8F5F8F700F -:10EFC0008093F11B8091AD1E9091AE1E892B09F4A8 -:10EFD000B2C1C0907F14D0908014E0908114F09062 -:10EFE000821440917B1450917C1460917D14709137 -:10EFF0007E1400916E1410E020E030E0DB01CA01C5 -:10F000008C199D09AE09BF09081719072A073B0784 -:10F0100010F4D901C801482F8C0D9D1DAE1DBF1DD8 -:10F0200080937F1490938014A0938114B0938214E2 -:10F030002091840030918500225E3F4FC09054148F -:10F04000D0905514E0905614F090571480914414C9 -:10F0500090914514A0914614B09147148C0D9D1DBC -:10F06000AE1DBF1D8093541490935514A093561455 -:10F07000B0935714B7FD1CC0889AC090BC1ED090A6 -:10F08000BD1EE090BE1EF090BF1E80913514082E6C -:10F09000000C990BAA0BBB0B8C0D9D1DAE1DBF1D4B -:10F0A0008093BC1E9093BD1EA093BE1EB093BF1E46 -:10F0B000C0905814D0905914E0905A14F0905B14FA -:10F0C0008091481490914914A0914A14B0914B1426 -:10F0D0008C0D9D1DAE1DBF1D809358149093591427 -:10F0E000A0935A14B0935B14B7FD1CC08E9AC090C5 -:10F0F000C01ED090C11EE090C21EF090C31E809131 -:10F100003614082E000C990BAA0BBB0B8C0D9D1D01 -:10F11000AE1DBF1D8093C01E9093C11EA093C21E42 -:10F12000B093C31EC0905C14D0905D14E0905E1448 -:10F13000F0905F1480914C1490914D14A0914E1456 -:10F14000B0914F148C0D9D1DAE1DBF1D80935C149E -:10F1500090935D14A0935E14B0935F14B7FD21C02B -:10F1600080910B018095887080930901C090C41E26 -:10F17000D090C51EE090C61EF090C71E8091371437 -:10F18000082E000C990BAA0BBB0B8C0D9D1DAE1D00 -:10F19000BF1D8093C41E9093C51EA093C61EB0933E -:10F1A000C71EC0906014D0906114E0906214F0907B -:10F1B00063148091501490915114A0915214B09105 -:10F1C00053148C0D9D1DAE1DBF1D80936014909334 -:10F1D0006114A0936214B0936314B7FD3AC0809099 -:10F1E000C81E9090C91EA090CA1EB090CB1EC090A1 -:10F1F00038140C2C000CDD08EE08FF08C80CD91CD4 -:10F20000EA1CFB1CC092C81ED092C91EE092CA1E06 -:10F21000F092CB1EC0904014D0904114E090421464 -:10F22000F09043148C199D09AE09BF0980936014B6 -:10F2300090936114A0936214B093631490915C0A4C -:10F2400080916C1493FF02C0815001C08F5F809346 -:10F250006C14809184009091850082179307C8F305 -:10F260008091541490915514A0915614B091571454 -:10F27000B7FD15C0C0904014D0904114E0904214E6 -:10F28000F09043148C199D09AE09BF098093541462 -:10F2900090935514A0935614B09357148898809166 -:10F2A000581490915914A0915A14B0915B14B7FD61 -:10F2B00015C0C0904014D0904114E0904214F090DA -:10F2C00043148C199D09AE09BF098093581490937B -:10F2D0005914A0935A14B0935B148E9880915C14C7 -:10F2E00090915D14A0915E14B0915F14B7FD19C0A8 -:10F2F000C0904014D0904114E0904214F090431418 -:10F300008C199D09AE09BF0980935C1490935D141C -:10F31000A0935E14B0935F1480910B01887080936A -:10F320000901415041F0809184009091850082173D -:10F330009307C8F381CE80915C0290915D02A09109 -:10F340005E02B0915F02892B8A2B8B2B09F0AAC039 -:10F3500080916D14882309F452C080907F1490909E -:10F360008014A0908114B0908214C0906814D09042 -:10F370006914E0906A14F0906B1480916C14C814B6 -:10F38000D904EA04FB0488F420913D1430913E1422 -:10F3900040913B1450913C144217530730F4815074 -:10F3A00080936C142150310915C08C149D04AE0457 -:10F3B000BF04E8F420913D1430913E14409139147B -:10F3C00050913A142417350790F48F5F80936C1492 -:10F3D0002F5F3F4F30933E1420933D1440915802CD -:10F3E0005091590260915A0270915B020BC0409299 -:10F3F00058025092590260925A0270925B024FEF8B -:10F400005FEFBA0190916C1480913F1497FD06C094 -:10F41000811102C0169A07C0439805C0811102C02D -:10F42000169801C0439A000000000000209184005B -:10F4300030918500225E3F4F80916C14882351F1FA -:10F4400080913F14811102C0149A01C0419A8091A9 -:10F4500084009091850082179307C8F380916C1403 -:10F4600087FF02C08F5F01C0815080936C14809130 -:10F470003F14811102C0149801C0419880916C140E -:10F480008823D1F2809184009091850082179307A0 -:10F49000C8F3D0CF40935C0250935D0260935E024C -:10F4A00070935F028091831490918414A0918514CD -:10F4B000B0918614892B8A2B8B2B09F0EEC3A09177 -:10F4C000AD1EB091AE1E109709F4FFC5C0907F1419 -:10F4D000D0908014E0908114F090821440917B14BD -:10F4E00050917C1460917D1470917E14C416D506E1 -:10F4F000E606F70608F479C080915202882309F4E1 -:10F500005AC055964D915D916D917C915897452BC0 -:10F51000462B472BC1F459964D915D916D917C918D -:10F520005C97452B462B472B71F45D964D915D9171 -:10F530006D917C919097452B462B472B21F4809120 -:10F54000F10B8823C1F191966D917D918D919C91E4 -:10F55000949799960C91999734E0039F8001112418 -:10F56000F801E45DFB4EC080D180E280F380D69646 -:10F570002C9123FF07C090958095709561957F4FE2 -:10F580008F4F9F4F0F944565209128143091291477 -:10F5900040912A1450912B140F94A4659B01AC0147 -:10F5A000C701B6010F94336CF801E45DFB4E608334 -:10F5B000718382839383109234141092AE1E109242 -:10F5C000AD1E9091F01B8091F11B981709F47DC539 -:10F5D0008091F11B8F5F8F708093F11B00ED802E67 -:10F5E00007E0902EA12CB12C8AC140917714509144 -:10F5F00078146091791470917A144C155D056E053C -:10F600007F0508F46DC0409173145091741460919B -:10F61000751470917614D2960D911D912D913C9197 -:10F62000D597EE27419FF12D529FC001629F900D0B -:10F63000619F800D911D429FF00D811D9E1F519F66 -:10F64000F00D811D9E1F609FF00D811D9E1F509F1C -:10F65000F10D8E1F9E1FF6958E1F9E1F349F800DED -:10F66000911D359F900D1124FD01EA5BFF4F008134 -:10F67000118122813381080F191F211D311D009333 -:10F680006F14109370142093711430937214349784 -:10F69000C080D180E280F380C016D106E206F30676 -:10F6A00040F4C0926F14D0927014E0927114F092F2 -:10F6B0007214C0906F14D0907014E0907114F09098 -:10F6C00072148EEB9CE421E0FC0185909590A5904E -:10F6D000B4908C149D04AE04BF0408F458C362C3F4 -:10F6E000209168143091691440916A1450916B1400 -:10F6F00029833A834B835C832C153D054E055F05BA -:10F7000008F070C0409164145091651460916614C3 -:10F71000709167144A875B876C877D87D2960D91BD -:10F720001D912D913C91D597EE27419FF12D529F30 -:10F73000C001629F900D619F800D911D429FF00D51 -:10F74000811D9E1F519FF00D811D9E1F609FF00D1A -:10F75000811D9E1F509FF10D8E1F9E1FF6958E1FBF -:10F760009E1F349F800D911D359F900D11248C019B -:10F7700020E030E080906F1490907014A09071148D -:10F78000B0907214FD01E65BFF4F081519052A05BC -:10F790003B05A0F440815181628173814D835E837A -:10F7A0006F837887801A910AA20AB30A8416950695 -:10F7B000A606B70638F44A015B0104C08080918038 -:10F7C000A280B3808EEB9CE451E05D83FC01059147 -:10F7D000159125913491081519052A053B0508F462 -:10F7E00065C371C380916C148823D9F0D8964D916C -:10F7F0005C91D99760E070E0009158021091590235 -:10F8000020915A0230915B0240175107620773073B -:10F8100041F010925C0210925D0210925E02109212 -:10F820005F024091540250915502609156027091CE -:10F83000570277FF5CC0AE5BBF4F8D919D910D90DD -:10F84000BC91A02D2EEB3CE441E0F901C590D59090 -:10F85000E590F490C816D906EA06FB0658F4B6956A -:10F86000A79597958795440F2C5F3F4F6CE42A3DF1 -:10F87000360759F740936E1480329105A105B10502 -:10F8800020F480E290E0A0E0B0E08097A109B10907 -:10F89000811538E09307A105B10508F4D0C344E011 -:10F8A000949F900111242254374BF90132964591CF -:10F8B0005491EE27859FB001849F610D7E1F0694B1 -:10F8C0006E1F7E1F1124CB01A0E0B0E0F90145912D -:10F8D000549160E070E0481B590B6A0B7B0B40931E -:10F8E00054025093550260935602709357028090D1 -:10F8F000540290905502A0905602B0905702809109 -:10F90000AD1E9091AE1E892B09F0BFC10F94D11589 -:10F910009093AE1E8093AD1E892B09F4B6C1E09181 -:10F92000AD1EF091AE1E808183FF3EC08589968911 -:10F93000A789B08D8093BC1E9093BD1EA093BE1E60 -:10F94000B093BF1E818D928DA38DB48D8093C01E08 -:10F950009093C11EA093C21EB093C31E858D968D39 -:10F96000A78DB0A18093C41E9093C51EA093C61E00 -:10F97000B093C71E81A192A1A3A1B4A18093C81E78 -:10F980009093C91EA093CA1EB093CB1E9091F01BFA -:10F990008091F11B981709F4B9CF8091F11B8F5F0B -:10F9A0008F708093F11BB2CFC588D688E788F08C22 -:10F9B00081E0C114D104E104F10409F480E0018D77 -:10F9C000128D238D348D011511052105310509F0A6 -:10F9D0008260458D568D678D70A141155105610579 -:10F9E000710509F0846080933414109264141092AD -:10F9F000651410926614109267141092731410928A -:10FA00007414109275141092761485A196A1A7A172 -:10FA1000B0A580937B1490937C14A0937D14B09335 -:10FA20007E14882499245401881A990AAA0ABB0AC8 -:10FA30008092601490926114A0926214B092631448 -:10FA400080925C1490925D14A0925E14B0925F1448 -:10FA50008092581490925914A0925A14B0925B1448 -:10FA60008092541490925514A0925614B092571448 -:10FA7000CC0CDD1CEE1CFF1CC0924414D09245142B -:10FA8000E0924614F0924714000F111F221F331FFB -:10FA9000009348141093491420934A1430934B1444 -:10FAA000440F551F661F771F40934C1450934D14FD -:10FAB00060934E1470934F1441A152A163A174A19D -:10FAC000440F551F661F771F4093501450935114D5 -:10FAD0006093521470935314880F991FAA1FBB1F71 -:10FAE0008093401490934114A0934214B093431414 -:10FAF00010927F141092801410928114109282142C -:10FB000082A593A5A4A5B5A58093771490937814A6 -:10FB1000A0937914B0937A1486A597A5A0A9B1A94A -:10FB20008093681490936914A0936A14B0936B1433 -:10FB300081A580933F1420915302821721F01092E7 -:10FB40003E1410923D1497A990936D14992309F1D6 -:10FB500044AD55AD50933C1440933B1442AD53AD6E -:10FB600050933A144093391410925C0210925D0243 -:10FB700010925E0210925F0240AD51AD60E070E005 -:10FB8000409358025093590260935A0270935B025B -:10FB900008C0409258025092590260925A027092E4 -:10FBA0005B0296A930915C0A931302C0821731F070 -:10FBB00090935C0A809353020E945BF70E94ABCF44 -:10FBC000409254025092550260925602709257022F -:10FBD000E091AD1EF091AE1EEA5BFF4F80819181F6 -:10FBE000A281B38180936F1490937014A0937114C9 -:10FBF000B09372142EEB3CE441E0F901C590D5902E -:10FC0000E590F490C816D906EA06FB0660F4B695AE -:10FC1000A79597958795440F2C5F3F4FEAEDFCE43D -:10FC2000E217F30751F740936E1480329105A10556 -:10FC3000B10520F480E290E0A0E0B0E08097A10957 -:10FC4000B109811558E09507A105B10508F41AC25C -:10FC500064E0969F900111242254374BF9013296AB -:10FC600045915491EE27859FB001849F610D7E1FC1 -:10FC700006946E1F7E1F1124F90185909490A12C8B -:10FC8000B12C861A970AA108B10880928314909229 -:10FC90008414A0928514B09286140091831410915C -:10FCA0008414209185143091861440915C02509107 -:10FCB0005D0260915E0270915F02F02E1983F22F57 -:10FCC000E32F401751076207730720F4F42E59837E -:10FCD000F62FE72F8F2D9981AF2FBE2F0097E1E0F0 -:10FCE000AE07B10520F08FEF9FEFA0E0B0E0081B5A -:10FCF000190B2A0B3B0B009383141093841420934D -:10FD00008514309386144F3FFFEF5F076F077F071F -:10FD100061F0481B590B6A0B7B0B40935C025093BC -:10FD20005D0260935E0270935F02F89420918400FC -:10FD300030918500205F3F4F4985415049874423DA -:10FD400039F0280E391E2216330608F40DC901C0F9 -:10FD50001901309289002092880078942D960FB670 -:10FD6000F894DEBF0FBECDBFDF91CF911F910F91F1 -:10FD7000FF90EF90DF90CF90BF90AF909F908F90CB -:10FD80007F906F905F904F903F902F900895F694E2 -:10FD9000E794D794C794220F0496ECE48A3D9E071B -:10FDA00009F092CC20936E14F0E2CF16D104E10456 -:10FDB000F10428F410E2C12ED12CE12CF12C80E2C8 -:10FDC000C81AD108E108F108C114E8E0DE06E10430 -:10FDD000F104F8F0F4E0DF9EC00111248254974B47 -:10FDE000FC01329625913491FC2DEE27F39F800182 -:10FDF000F29F010D1E1F06940E1F1E1F1124FC01F1 -:10FE000085909490A12CB12C801A910AA108B10878 -:10FE100022C0970186013695279517950795F80119 -:10FE2000EC7F9F0122543B4BF90185909490F9019E -:10FE3000329685919491EC2DE770E89F9001E99FAF -:10FE4000300D1124F3E036952795FA95E1F7821AE3 -:10FE5000930AA12CB12C480D591D6A1D7B1D40939E -:10FE60007314509374146093751470937614909176 -:10FE70006D1480916C14992309F473C0882309F4DC -:10FE80003ECDD8968D919C91D997A0E0B0E040915D -:10FE900058025091590260915A0270915B02841786 -:10FEA0009507A607B70709F05FC029CDB694A794B8 -:10FEB000979487942D81220F2D8304963CE48A3DEC -:10FEC000930709F083CC4D8140936E1450E2851660 -:10FED0009104A104B10428F450E2852E912CA12CA8 -:10FEE000B12C60E2861A9108A108B108811478E06B -:10FEF0009706A104B10408F440C0E4E09E9EC0014E -:10FF000011248254974BFC01329625913491F82D9F -:10FF1000EE27F39F8001F29F010D1E1F06940E1F16 -:10FF20001E1F1124FC0185909490A12CB12C801AE5 -:10FF3000910AA108B1084A855B856C857D85480DCD -:10FF4000591D6A1D7B1D4093641450936514609382 -:10FF500066147093671480916D14811132C0809182 -:10FF60006C14882309F4CBCC10925C0210925D02D1 -:10FF700010925E0210925F02C2CC95018401369508 -:10FF8000279517950795F801EC7F9F0122543B4B6D -:10FF9000F90185919491F901329605911491E82D1A -:10FFA000E770E09F9001E19F300D112443E036950A -:10FFB00027954A95E1F74C01821A930AA12CB12C9E -:10FFC000BACF49815A816B817C812D81420F511DAD -:10FFD000611D711D4C155D056E057F05C8F480918E -:10FFE0006C14882309F48BCCD8964D915C91D997E9 -:10FFF00060E070E0009158021091590220915A027D -:020000022000DC -:1000000030915B02401751076207730709F477CC00 -:1000100010925C0210925D0210925E0210925F02DA -:10002000D8968D919C91D997A0E0B0E0809358022A -:1000300090935902A0935A02B0935B0260CCAC013A -:10004000BD017695679557954795FA01EC7F9F011D -:1000500022543B4BF90145915491F9013296659137 -:1000600074918770869F9001879F300D1124C9017C -:10007000F3E096958795FA95E1F7481B590B60E0F8 -:1000800070E02DCCAC01BD017695679557954795ED -:10009000FA01EC7F9F0122543B4BF901859094902B -:1000A000F9013296459154918770849F9001859F04 -:1000B000300D1124C901A3E096958795AA95E1F723 -:1000C000881A990AA12CB12CE0CD80ED882E87E00A -:1000D000982EA12CB12C1ACC082E000C990BFC01E7 -:1000E000E85FFF4BE491EE2399F0F0E0EE0FFF1F85 -:1000F000E251F04CA591B4912C91FC01E25BFF4BD5 -:100100008491822321E090E009F420E0822F089579 -:1001100080E090E00895CF93DF93C82F8FEA90E5B9 -:100120000F9436540C2E000CDD0BFE01E85FFF4BE4 -:100130008491805C0E94B066FE01E25BFF4BE4911B -:1001400080E3E13021F0E6958F5F8933D1F7DF91CD -:10015000CF910C94B0664F925F926F927F928F9284 -:100160009F92AF92BF92CF92DF92EF92FF920F9346 -:100170001F93CF93DF93CDB7DEB764970FB6F89494 -:10018000DEBF0FBECDBF082FF62EE42E882E912C99 -:1001900026E0829FC0011124FC01EC59FF4A6590C2 -:1001A0007490FC01EE59FF4A5F0145905490F301B1 -:1001B0008081482F487050E060E070E07695679548 -:1001C00057954795F20110811370142BF4E0EF124C -:1001D00009C0807190E0A0E0B0E0B695A795979532 -:1001E0008795182B88E590E50F943654005D802F95 -:1001F0000E94B0668F2D0E94B06683E00F94EE538C -:10020000F401EE0FFF1F8F2D0F2C000C990B9E0198 -:100210002F5F3F4F690133E0E80DF91D81549109CB -:10022000E80FF91FEE0FFF1FEC5CFF4AE3121BC043 -:10023000A591B4918C911F928F938AE290E59F9340 -:100240008F93DF92CF920F94D6640F900F900F9000 -:100250000F900F900F90F60181916F01882309F1A3 -:100260000E94B066F8CFA591B49111968C91119728 -:100270008F938C918F9380E290E59F938F93DF9281 -:10028000CF920F94D6640F900F900F900F900F9015 -:100290000F90F60181916F01882319F00E94B066DA -:1002A000F8CF612F70E086E190E50F949354F5014B -:1002B000C590D4908AE89FE40F943654802F0E9412 -:1002C000B066F2E4FF1691F023E4F216F9F031E49F -:1002D000F3122DC0F6014081429546954695437034 -:1002E00050E060E070E086E89FE41FC0F6014081C6 -:1002F000407350E060E070E094E076956795579524 -:1003000047959A95D1F782E89FE40FC0F6014081A6 -:100310004C7050E060E070E082E07695679557950C -:1003200047958A95D1F78EE79FE40F946454F301C3 -:100330004081477050E060E070E08DE090E50F9400 -:10034000645484E090E50F943654802F0E94B06688 -:10035000F201608170E080E090E50F94935487EFA4 -:100360009FE40F943654802F0E94B066F3016081A1 -:1003700070E083EF9FE40F94935486E0889DF00132 -:10038000899DF00D1124EA59FF4AC590D49089EE59 -:100390009FE40F943654802F0E94B066F60160816E -:1003A00070E086EE9FE40F94935400EC0F0DF3E0A1 -:1003B000EF1207C0197F59F482E99FE40F94365475 -:1003C00006C0812F8B7FC1F31C501230A8F3F601B9 -:1003D000808190E0A0E0B0E004C0B695A795979525 -:1003E00087950A95D2F780FF04C08BEA9FE40F94AB -:1003F0003654F601808180FF04C088EC9FE40F949E -:10040000365464960FB6F894DEBF0FBECDBFDF91B1 -:10041000CF911F910F91FF90EF90DF90CF90BF9001 -:10042000AF909F908F907F906F905F904F900895C6 -:10043000CF93DF93C82FD0E0FE01EC56FF4BE49141 -:100440008E2F90E0FC013197E231F105E8F5882725 -:10045000E652FF4F8F4F0D942B6C43E061E402C0D6 -:1004600043E062E480E02EC044E061E405C044E083 -:1004700062E402C044E063E481E024C043E061E45C -:1004800002C043E062E482E01DC044E061E405C0D4 -:1004900044E062E402C044E063E483E013C044E06B -:1004A00061E405C044E062E402C044E063E484E047 -:1004B00009C044E061E405C044E062E402C044E0F5 -:1004C00063E485E00F94AB008CEA90E50F9436541A -:1004D000FE01E85FFF4BE491E230F9F4FE01E25BDC -:1004E000FF4BE491E038C9F488EA90E50F94365464 -:1004F00082E10F94EE5380EA90E50F94365486E83B -:1005000090E50F9436548EE00F94EE5344E063E48C -:1005100081E0DF91CF910D94AB00DF91CF910895F1 -:100520002F923F924F925F926F927F928F929F9203 -:10053000AF92BF92CF92DF92EF92FF920F931F93F1 -:10054000CF93DF93CDB7DEB7AC970FB6F894DEBF8D -:100550000FBECDBF182F6CA7542EB22EA32E9FE333 -:10056000692E91E5792E00E080E0812E012E000CAD -:1005700099082AEC210F2BA7FE0131967F01F30188 -:1005800032964490242C312C2814390409F0A4C04C -:1005900081115DC001115BC0AF92BF9227E331E5CD -:1005A0003F932F93FF92EF920F94D664FAA6E9A699 -:1005B0000F900F900F900F900F900F906701F60122 -:1005C00081916F01882319F00E94B066F8CF1F92C5 -:1005D0004F9222E331E53F932F93FF92EF920F94D6 -:1005E000D6640F900F900F900F900F900F906701AF -:1005F000F60181916F01882319F00E94B066F8CF4F -:10060000812F0F948B00FBA5F7FD1DC026E3221A56 -:1006100031083F922F9288E291E59F938F93FF924A -:10062000EF920F94D6640F900F900F900F900F9051 -:100630000F90E9A5FAA58191FAA7E9A78823B1F05F -:100640000E94B066F6CF88E00F94EE530FC08EE2A2 -:100650000E94B066EB2DFA2DDF010D900020E9F726 -:100660008A2F8B19875E0F94EE5301E0F301C5903A -:10067000D490412CF6018491811107C0312C87E27E -:10068000C82ED12CC418D1080AC00E94B066439469 -:10069000FFEFCF1ADF0A27E24212ECCF0AC0832D08 -:1006A00090E08C159D052CF480E20E94B066339496 -:1006B000F6CF552069F0812F0E941A64882309F42F -:1006C000C7C03CA53111C4C08DE191E50F943654EB -:1006D0008AE00E94B06681E0F4E06F0E711C23E3B3 -:1006E000621622E5720609F04ACF8111F5C0AF9279 -:1006F000BF9280EF90E59F938F93CE0101967C018E -:100700009F938F930F94D66467010F900F900F9073 -:100710000F900F900F905701F50181915F01882391 -:1007200019F00E94B066F8CF9F928F928BEE90E501 -:100730009F938F93FF92EF920F94D6640F900F9038 -:100740000F900F900F900F905701F50181915F016D -:10075000882319F00E94B066F8CF812F0F948B0088 -:100760000AEC010F07FD1BC0C401C6979F938F932E -:1007700081EE90E59F938F93FF92EF920F94D66452 -:100780000F900F900F900F900F900F905701F50161 -:1007900081915F01882331F00E94B066F8CF88E034 -:1007A0000F94EE5380ED90E50F943654552009F4E4 -:1007B0004BC0812F0F94EC41811140C0812F0F94C9 -:1007C0005A44882331F087E10F94EE5388EF90E587 -:1007D0002CC0003128F5802F0E948EEF092E000CCE -:1007E000AA0BBB0BBF93AF939F938F938CEB90E5BA -:1007F0009F938F93FF92EF920F94D6640FB6F89465 -:10080000DEBF0FBECDBFF60181916F01882319F0C5 -:100810000E94B066F8CF88EB90E50F94365403C081 -:1008200087E10F94EE5382E091E50F943654812FC7 -:100830000F946C006AE070E00E94406787E10F94BB -:10084000EE53812F0F9418028AE00E94B06644C0D4 -:10085000F3013396E491E11121C08BA50E948EEF44 -:10086000092E000CAA0BBB0BBF93AF939F938F93E2 -:100870008CE091E59F938F93FF92EF920F94D66453 -:1008800067010FB6F894DEBF0FBECDBFF6018191B0 -:100890006F018823D9F00E94B066F8CF812F0F94A2 -:1008A0005A44811103C082E091E507C0812F0F9463 -:1008B000EC4181110BC088EF90E50F943654812FE5 -:1008C0000F946C006AE070E00E944067011100CF55 -:1008D000812F0F941802FCCEAC960FB6F894DEBFB1 -:1008E0000FBECDBFDF91CF911F910F91FF90EF9081 -:1008F000DF90CF90BF90AF909F908F907F906F9040 -:100900005F904F903F902F9008952F923F924F927B -:100910005F926F927F928F929F92AF92BF92CF928F -:10092000DF92EF92FF920F931F93CF93DF9300D04C -:100930001F92CDB7DEB72DB63EB684E50E9479A3EF -:10094000882309F441C060E089E40E94FEDE082F9C -:1009500061E070E082E50E94CFA36C0160E070E08E -:1009600083E50E94CFA3182F65E470E08CE40E9419 -:10097000CFA35C0164EF71E087E50E94CFA32C0157 -:10098000990F66087708812F90E0A816B906CCF079 -:100990001634A8F4011156C1812F0E941A648823CD -:1009A00009F450C121E537E041E060E0812F0F9468 -:1009B00090028AE00E94B0668AE00E94B0661F5FE3 -:1009C000E2CF83E392E599C085E40E9479A388236E -:1009D000B1F00E94EEDE80939E0C80E495E50F94CA -:1009E000365480919E0C811103C082E395E502C0CC -:1009F00086E395E50F94365489E395E57EC083E55B -:100A00000E9479A3882309F47BC060E080E50F94FD -:100A1000CA0E082F10E0B80188ED94E50F949354A6 -:100A2000F801EE0FFF1FEE0FFF1FED57FC4F608127 -:100A3000718187EC94E50F9475546AE570E086EB5C -:100A400094E50F9475548AE00E94B06662E170E00C -:100A500082EA94E50F9493548AE00E94B06686E897 -:100A600094E50F9436548AE392E50F9436548AE065 -:100A70000E94B06653985B9A81E794E50F943654D0 -:100A800054EF452E55245394612C712C49825A827F -:100A90006B827C82BE016F5F7F4F80EA0F94220CD5 -:100AA0006EEE862E62E0962EA12CB12C89829A825F -:100AB000AB82BC82BE016F5F7F4F8AE50F94220C30 -:100AC0007801EE0CFF1C4B990DC149825A826B8252 -:100AD0007C82BE016F5F7F4F8CE30F94220C4B9999 -:100AE000E3C000C18FEFE81AF80A98E9E9169AE323 -:100AF000F90609F046C180E492E50F943654DAC154 -:100B000060E070E080E50E94CFA38C01F82E80E5C4 -:100B10000E94C2A3811107C0E5E4E01708F4CAC12E -:100B200095E4E92E01C0E02E60E089E40E94FEDE3B -:100B3000582E60E087E50E94FEDE882309F47FC01E -:100B40008DB69EB683E295E50F9436546801DD2498 -:100B50008E2D90E08C199D0901962DB73EB7281B6C -:100B6000390B0FB6F8943EBF0FBE2DBF8DB79EB7A1 -:100B700001965C01E01660F0063440F4511064C147 -:100B8000802F0E941A64882309F45EC10F5FF2CFA0 -:100B90004090FA0883E08093FA0881E08093AB1ECE -:100BA0004AE055E563E175E582E00F9495088AEF28 -:100BB00094E50E94478E7F2CE71418F195E4971571 -:100BC000F0F0511005C0872D0E941A64811117C0E2 -:100BD000872D0E9431EE682E072D10E00C191D099B -:100BE0000A0D1B1DF8018081681649F02DEC35E0D7 -:100BF00040E0652D872D0F949002F8016082739478 -:100C0000DBCF8091AB1E882339F068EC70E080E088 -:100C100090E00F94CA53CFCF4092FA080FB6F894E1 -:100C20009EBE0FBE8DBE46C1F5E4FF1538F02DEC1B -:100C300035E041E0652D8F2D0F949002F394EF1471 -:100C400098F738C1A8952CE537E041E0602F812F57 -:100C50000F94900261E0812F0E9489EEE12CF12C2B -:100C6000EC14FD040CF0A8CEA89560E0812F0E9442 -:100C70005AEEC301B2010F94CA53A89561E0812FC7 -:100C80000E945AEEC301B2010F94CA53A89560E0C6 -:100C9000812F0E945AEEC301B2010F94CA53A89546 -:100CA0002FEFE21AF20ADCCF89829A82AB82BC82F1 -:100CB000BE016F5F7F4F8AE00F94220C4B9912C0E8 -:100CC00089829A82AB82BC82BE016F5F7F4F8AE5C8 -:100CD0000F94220C8CE294E50F943654CC24C394E8 -:100CE000D12C36C083E194E50F94365484E0B82EBD -:100CF000C701800F911F9C012651344E69016AE0A3 -:100D000070E0C6010E94386564EF71E080E090E019 -:100D10000F94CA53A9B06AE570E0C6010E94386515 -:100D200064EF71E080E090E00F94CA5389B1BA9407 -:100D3000B110E5CF8870D82EA3FE9CC083EE93E55A -:100D40000F943654DD2009F4A2C0C12CDD24D394C5 -:100D50000E0D1F1D0651144E6AE070E0C8010E947E -:100D6000386564EF71E080E090E00F94CA538FEF34 -:100D700092E50F943654E12CF12C34EFA32EBB24D2 -:100D8000B39462E070E080E090E00F94CA53C70132 -:100D9000B5010F94036C892B51F40E94E7EF609327 -:100DA000621A7093631A8093641A9093651A89B1DA -:100DB00083FB882780F98D1509F494CEE12CF12C62 -:100DC00089B183FB882780F9D81669F062E070E06A -:100DD00080E090E00F94CA538FEFE81AF80A9FE082 -:100DE000E916F10469F781EF92E50F9436543FE07C -:100DF000E316F10449F481EE92E50F943654CC20C9 -:100E0000A9F085EC92E514C0B701660F771F84ED59 -:100E100092E50F9475548AE00E94B06634E0E316C0 -:100E2000F10408F044C08BE592E506C085EB92E53D -:100E30000F94365486E892E50F9436546AE570E0D4 -:100E4000C8010E94386536C062E0802F0E9489EE9A -:100E500061E070E080E090E00E94ADEF602E712CC8 -:100E60006C187D08802F0E9431EEF501E60DF71D0C -:100E700080838CCE882349F085EC93E50F9436541B -:100E800067E677E084E893E50AC0C12C61CF85EC82 -:100E900093E50F94365462E977E084EA93E50F9482 -:100EA0009F548AE00E94B06689E293E526CE82E9EB -:100EB00092E5BECF0FB6F8943EBE0FBE2DBE0F908A -:100EC0000F900F900F90DF91CF911F910F91FF9096 -:100ED000EF90DF90CF90BF90AF909F908F907F90DA -:100EE0006F905F904F903F902F9008958091F00CFD -:100EF00083FD0FC08091EF0C81110BC02091200A5F -:100F00003091210A809141029091420228173907BD -:100F10002CF061E08091870E0C94A0980F94B65449 -:100F200086E897E50F94365480E00895AF92BF921B -:100F3000CF92DF92EF920F931F93CF93DF936C01C9 -:100F40008B011092160A0E943F64E090870EC7E75B -:100F5000DEE084E0E89EF0011124EB5EFD4F20818D -:100F6000318142815381F601608171818281938157 -:100F70000F942E6D2C853D854E855F850F94346CC6 -:100F80006C877D878E879F87A12CB12C650123E814 -:100F90003EE04FE75EE06BE77EE0CE010F94C81CB9 -:100FA000DF91CF911F910F91EF90DF90CF90BF9085 -:100FB000AF900D94D93B0F931F93CF938C01C62F05 -:100FC00085EC95E50F943654C8010F943654CC2324 -:100FD00031F08AE0CF911F910F910C94B066CF91C0 -:100FE0001F910F91089560E08AED95E50F94DB075E -:100FF00082EE95E50F9436548AE00C94B06660E07A -:101000008AED95E50F94DB0786ED95E50F94365450 -:101010008AE00C94B066EF92FF920F931F93CF93E8 -:101020007C018B01C42F60E08AED95E50F94DB070E -:10103000C7010F94365480E20E94B066C8010F9435 -:101040003654CC2341F08AE0CF911F910F91FF904D -:10105000EF900C94B066CF911F910F91FF90EF909D -:10106000089541E0BC018FEC95E50D940B08CF93FA -:10107000DF93C0918F1410928F14C230B9F118F41D -:10108000C13041F041C0C430B1F1C530E9F5CDE027 -:10109000D6E53FC081111DC00F94FF0741E068E70E -:1010A00076E58FE997E50F940B088DE696E50F94AA -:1010B00031088091160A882319F08FE596E504C05F -:1010C000C0938F1486E596E50F9431080F94F307CB -:1010D0001EC08130E1F48091160A8823C1F010927D -:1010E00052021092160A0E943F6411C01092AB1E69 -:1010F000C9E2D6E50EC082E596E590936C0A80932E -:101100006B0AC8E1D6E505C0CFEFD5E502C0C2E461 -:10111000D6E587EE95E50F943654CE010F943654FC -:101120008AE0DF91CF910C94B0660F931F93CF9319 -:10113000DF938B01EA0180938F140F94FF0741E046 -:10114000B8018FE997E50F940B08209719F0CE01AD -:101150000F943108DF91CF911F910F910D94F307F8 -:101160000F931F93CF93DF93C82F0F94B654C111E1 -:1011700003C08DE996E502C08FEB96E50F943654D7 -:101180000E94E7EFDC01CB0188539045AF4FBF4F82 -:101190008093970C9093980CA093990CB0939A0C11 -:1011A00010929B0C1091FA0883E08093FA0881E07A -:1011B0008093AB1E4FE657E568E777E582E00F9432 -:1011C000950881E697E50E94478ECC2319F0CFEB76 -:1011D000D6E502C0CDE9D6E501E08091AB1E8823BB -:1011E00009F455C080919B0C882309F44CC00F94DE -:1011F000B6548AE397E50F94365445E257E56CE21E -:1012000077E582E00F94950887E197E50E94478E85 -:101210008091AB1E882321F081E00E94F467F8CF13 -:1012200040E050E06DE077E582E00F94950880E0C3 -:1012300097E50E94028E0F94824C0F9476070F94CC -:10124000B654CE010F9436540E94E7EFDC01CB0177 -:1012500088539045AF4FBF4F8093970C9093980C55 -:10126000A093990CB0939A0C10929B0C4BEE56E500 -:1012700064EF76E582E00F9495088CEB97E00E948E -:10128000478E0093AB1E81E00E94F467A6CF1093B7 -:10129000FA08DF91CF911F910F91089590918F14CB -:1012A000911102C00D94950808958F929F92AF926C -:1012B000BF92CF92DF92EF92FF921F93CF93DF9373 -:1012C00000D01F92CDB7DEB75C016B017A0110919F -:1012D0009B0C0F94824C111116C08091EF0C811160 -:1012E00012C060911C0A70911D0A80911E0A909193 -:1012F0001F0A0F94A06D20914102309142026217A3 -:1013000073070CF4C5C00F947607882309F4C0C096 -:101310001123B9F10F94B65484EF97E50F94365426 -:101320009090FA0883E08093FA0881E08093AB1EE6 -:101330001091870E105D82E080938F140F94FF0749 -:1013400040E064EE77E58FE997E50F940B08812F75 -:101350000E94B0668AE00E94B0668BED97E50F941C -:1013600031080F94F3078DEC97E50E94478E80912A -:10137000AB1E882321F081E00E94F467F8CF9092A1 -:10138000FA0820E030E0A901F501608171818281D5 -:1013900093810F943E65882371F080E090E0A0EC8B -:1013A000B0E489839A83AB83BC83BE016F5F7F4FB8 -:1013B000C5010F94960720E030E0A901F601608195 -:1013C0007181828193810F943E65882351F18090D1 -:1013D000D90C9090DA0CA090DB0CB090DC0C80E083 -:1013E00090E0A8ECB1E48093D90C9093DA0CA09330 -:1013F000DB0CB093DC0C80E090E0A0EFB1E48983DB -:101400009A83AB83BC83BE016F5F7F4FC6010F948D -:1014100096078092D90C9092DA0CA092DB0CB092D5 -:10142000DC0C20E030E0A901F7016081718182814C -:1014300093810F94946E181674F480E090E0A0E409 -:10144000B0E489839A83AB83BC83BE016F5F7F4F17 -:10145000C7010F94960781E080938F140F94FF07C4 -:1014600041E066EC77E58FE997E50F940B088CEB8C -:1014700097E50F9431088091160A882319F08EEAB7 -:1014800097E502C085EA97E50F9431080F94F307BA -:1014900020E030E0A90160919C1470919D1480912E -:1014A0009E1490919F140F943E6587FF0FC080E0BB -:1014B00090E0A0E7B2E489839A83AB83BC83BE014A -:1014C0006F5F7F4F8CE994E10F94960780E090E086 -:1014D000A8E4B2E489839A83AB83BC83AE014F5FF7 -:1014E0005F4F64E974E180E994E10E942DCE80E0D1 -:1014F00090E0A0EAB0E489839A83AB83BC83BE0109 -:101500006F5F7F4F88E994E10E944FCE80919C14D9 -:1015100090919D14A0919E14B0919F148093830E7E -:101520009093840EA093850EB093860E80936A0EDE -:1015300090936B0EA0936C0EB0936D0E8AE69EE0B6 -:101540000F945B1B61E087E997E50F94DB078091BF -:10155000F10B81508093F10B40E050E060E278E5C0 -:1015600085E00F944E098091F10B882339F00E9499 -:101570002E728091F10B81508093F10B80E00E94DC -:101580009FEB8091CE14823011F40F9426190F94A2 -:10159000224C0F900F900F900F90DF91CF911F91E1 -:1015A000FF90EF90DF90CF90BF90AF909F908F9083 -:1015B00008958F929F92AF92BF92CF92DF92EF9257 -:1015C000FF921F93CF93DF93CDB7DEB728970FB667 -:1015D000F894DEBF0FBECDBF2091F10B21111EC1CB -:1015E0007A015B016C0161E08FE796E50F94DB0700 -:1015F00040E050E067E976E585E00F944E09809180 -:10160000F00C83FD22C020E030E0A901F7016081E9 -:101610007181828193810F943E658823B1F010918E -:10162000EF0C111112C020914102309142028091C1 -:10163000200A9091210A821793073CF40F94B65424 -:1016400086E896E50F943654EAC08091F10B91E05C -:10165000980F9093F10B9091001E92FF06C09B7F14 -:101660009093001E8E5F8093F10B0F94754880E17C -:10167000E7E7FEE0A0E9B4E101900D928A95E1F779 -:101680000F94D93B81E00E949FEB20E030E0A9015C -:10169000F60160817181828193810F943E65882378 -:1016A00019F18091EF0C811111C060911C0A7091A9 -:1016B0001D0A80911E0A90911F0A0F94A06D20911F -:1016C0004102309142026217730774F080E090E0AB -:1016D000A0E7B2E489839A83AB83BC83BE016F5FCA -:1016E0007F4FC6010F94960741E061E081E00F94BF -:1016F0007C41811104C0B50182E00F94AE4820E026 -:1017000030E0A901F70160817181828193810F949A -:101710003E65811102C011E082C00F947607182F38 -:101720008823C9F380E090E0A0E7B2E48D839E8334 -:10173000AF83B88780E090E0A0E8B0EC89839A831B -:10174000AB83BC83BE016B5F7F4FCE0101960F94CC -:10175000960768E873E180E090E00F94CA538091A7 -:10176000D10C9091D20CA091D30CB091D40C8D835C -:101770009E83AF83B88780E090E0A0E8B0E48983DF -:101780009A83AB83BC83BE016B5F7F4FCE01019612 -:101790000F9496078090D90C9090DA0CA090DB0CF7 -:1017A000B090DC0C80E090E0A8ECB1E48093D90C20 -:1017B0009093DA0CA093DB0CB093DC0C80E090E00B -:1017C000A4E2B2E48D839E83AF83B887F701808162 -:1017D0009181A281B38189839A83AB83BC83BE014B -:1017E0006B5F7F4FCE0101960F9496078092D90CC4 -:1017F0009092DA0CA092DB0CB092DC0C8091870EF8 -:10180000882321F0813019F4479A01C0129A64E6C6 -:1018100070E080E090E00F94CA5301C010E0812F87 -:1018200028960FB6F894DEBF0FBECDBFDF91CF91E3 -:101830001F91FF90EF90DF90CF90BF90AF909F905F -:101840008F900895CF93DF93EB01682F70E08AEEBD -:101850009BE10E943865688179818A819B81643F20 -:1018600021E072078105910520F464EF71E080E0CA -:1018700090E00F94CA5389B183FB882780F9DF91E8 -:10188000CF910895CF92DF92EF92FF921F93CF9363 -:10189000DF9300D01F92CDB7DEB78EEEC82E82E068 -:1018A000D82EE12CF12CC982DA82EB82FC82BE01B7 -:1018B0006F5F7F4F8AE50F94220C811102C010E008 -:1018C00023C084EF91E0A0E0B0E089839A83AB83EA -:1018D000BC83BE016F5F7F4F80EA0F94220CC982E8 -:1018E000DA82EB82FC82BE016F5F7F4F8AE50F9444 -:1018F000220C182F882319F30F94B2548BE895E526 -:101900000F9436540F942755812F0F900F900F90FE -:101910000F90DF91CF911F91FF90EF90DF90CF90CC -:101920000895CF92DF92EF92FF92CF93DF9300D092 -:101930001F92CDB7DEB78EEEC82E82E0D82EE12CF6 -:10194000F12CC982DA82EB82FC82BE016F5F7F4F8D -:101950008AE00F94220C811102C0F12C41C084EF67 -:1019600091E0A0E0B0E089839A83AB83BC83BE01A1 -:101970006F5F7F4F80EA0F94220CC982DA82EB827C -:10198000FC82BE016F5F7F4F8AE50F94220CC982F3 -:10199000DA82EB82FC82BE016F5F7F4F8AE00F9498 -:1019A000220CC982DA82EB82FC82BE016F5F7F4F1C -:1019B0008AE50F94220CC982DA82EB82FC82BE0196 -:1019C0006F5F7F4F8AE00F94220CF82E882329F254 -:1019D0000F94B25481E595E50F9436540F94275532 -:1019E0008F2D0F900F900F900F90DF91CF91FF9060 -:1019F000EF90DF90CF9008958F929F92AF92BF9219 -:101A0000CF92DF92EF92FF92CF93DF9300D01F929D -:101A1000CDB7DEB7B82E84EF91E0A0E0B0E08983C7 -:101A20009A83AB83BC83BE016F5F7F4F80EA0F94C4 -:101A3000220C9EEEC92E92E0D92EE12CF12CC98207 -:101A4000DA82EB82FC82BE016F5F7F4F8AE50F94E2 -:101A5000220C80911C0D81113CC0BB20D1F1C982A8 -:101A6000DA82EB82FC82BE016F5F7F4F8AE00F94C7 -:101A7000220C86E9882E912CA12CB12C89829A8285 -:101A8000AB82BC82BE016F5F7F4F8CE80F94220C4B -:101A900089829A82AB82BC82BE016F5F7F4F82E8EF -:101AA0000F94220C89829A82AB82BC82BE016F5F46 -:101AB0007F4F8CE80F94220CC982DA82EB82FC8281 -:101AC000BE016F5F7F4F8AE50F94220C81E0809307 -:101AD0001C0D0F900F900F900F90DF91CF91FF9002 -:101AE000EF90DF90CF90BF90AF909F908F90089530 -:101AF0008F929F92AF92BF92CF92DF92EF92FF921E -:101B00000F931F93CF93DF938B01EA01FC01C080F9 -:101B1000D180E280F380842F0E94DEA39B01AC0180 -:101B2000C701B6010F94336C2FE031EA47E85CE35C -:101B30000F94A4654B015C0186E0809FF001819FBA -:101B4000F00D1124EC0FFD1FEE0FFF1FEE0FFF1F16 -:101B5000EA5CF24FC080D180E280F380C430D105CE -:101B600014F0C4E0D0E026E0209FC001219F900D3A -:101B700011242196C80FD91FCC0FDD1FCC0FDD1FFC -:101B8000CA5CD24FA7019601688179818A819B81C5 -:101B90000F94336CA50194010F94A465A7019601DD -:101BA0000F94346CDF91CF911F910F91FF90EF90C4 -:101BB000DF90CF90BF90AF909F908F9008958F92BD -:101BC0009F92AF92BF92CF92DF92EF92FF920F93CC -:101BD0001F93CF93DF93EB018A01FC01C080D1807A -:101BE000E280F380862F0E940CA49B01AC01C70108 -:101BF000B6010F94336C2DEA3CEF44E85CE30F949C -:101C0000A4654B015C0186E08C9FF0018D9FF00D77 -:101C10001124E00FF11FEE0FFF1FEE0FFF1FEA5C14 -:101C2000F24FC080D180E280F380C430D10514F03F -:101C3000C4E0D0E0219686E08C9FF0018D9FF00DEE -:101C40001124E00FF11FEE0FFF1FEE0FFF1FEA5CE4 -:101C5000F24FA701960160817181828193810F9477 -:101C6000336CA50194010F94A465A70196010F940C -:101C7000346CDF91CF911F910F91FF90EF90DF9027 -:101C8000CF90BF90AF909F908F9008958F929F922A -:101C9000AF92BF92CF92DF92EF92FF92CF93DF93FA -:101CA000EC018090C60D9090C70DA090C80DB0902B -:101CB000C90D20E030E0A901C501B4010F943E65D3 -:101CC000882309F44AC0C880D980EA80FB80A70134 -:101CD0009601C501B4010F943E6518160CF042C080 -:101CE00020918B1430918C1440918D1450918E144E -:101CF000C701B6010F943E65882331F1C0928B1461 -:101D0000D0928C14E0928D14F0928E14209187144E -:101D1000309188144091891450918A146881798196 -:101D20008A819B810F94A4659B01AC0160E070E007 -:101D300080E89FE30F94336C6093600270936102BC -:101D400080936202909363026091600270916102DD -:101D5000809162029091630208C060E070E080E8C8 -:101D60009FE303C060E070E0CB01DF91CF91FF9073 -:101D7000EF90DF90CF90BF90AF909F908F9008959D -:101D800080E1EEE5FEE0A7E7BEE001900D928A95C6 -:101D9000E1F70895CF93C62F0E94C2A3882319F0BC -:101DA000CF910C94DADE8C2FCF9108952F923F9231 -:101DB0004F925F926F927F928F929F92AF92BF925B -:101DC000CF92DF92EF92FF920F931F93CF93DF9307 -:101DD000CDB7DEB7EF970FB6F894DEBF0FBECDBF1D -:101DE0002DB73EB73DA72CA741E061E081E00F94FD -:101DF0007C41811135C461E086E50F94CA0E8D8B5C -:101E0000853018F083E09AE579C03D89332321F0CD -:101E100083EE99E50F9436546AE080E50F94CA0E7C -:101E2000182F8CEF810F8F3218F08FEB99E566C079 -:101E300060E085E40E94FEDE811103C082E08FA392 -:101E400002C091E09FA36091770E7091780E80910F -:101E5000790E90917A0E6D837E838F839887C090E0 -:101E60007B0ED0907C0EE0907D0EF0907E0EC986A9 -:101E7000DA86EB86FC862091DF143091E0144091E5 -:101E8000E1145091E2140F94346CAB01BC0188E56D -:101E90000E94718E6D877E878F87988B29853A8502 -:101EA0004B855C856091E3147091E4148091E51496 -:101EB0009091E6140F94346CAB01BC0189E50E944B -:101EC000718E698B7A8B8B8B9C8BBE016F5E7F4F83 -:101ED000CE010D960E9400A6811103C087EA99E504 -:101EE0000DC08CE40E9479A3082F882381F00E9402 -:101EF000DADE8A8F803128F084E799E50F94365432 -:101F0000AFC3AA8DA13021F4B2E0BA8F01C01A8EFE -:101F100060E083E50E94FEDE8AAB882321F0011198 -:101F200002C0E7E0EA8FFD89F33020F08AE599E509 -:101F30000F9436542091671E29AF80E00F945F52B2 -:101F40000E9451CD812F90E09CAB8BABADB7BEB75B -:101F5000E4E01E9FA019B10911240FB6F894BEBF8A -:101F60000FBEADBF2DB73EB72F5F3F4F3BA72AA790 -:101F700001E02D894FA1BE016F5E7F4FCE010D960E -:101F80000F942E179B01AC010F94816F8111D0C269 -:101F90000E94E7EF611571058105910511F00F941D -:101FA000CF6033EF3B8F8FE48C8F93EC9D8F27ECCA -:101FB000222EA3EFAE8FBFE4BF8FE3ECE8A3F7E4DC -:101FC000F9A31EA221E02E8B412C512C32014AA2F2 -:101FD0005BA26CA27DA23A8D832F90E0DC01119769 -:101FE000BFAFAEAFFEA1EF2FF0E0F9A7E8A72BA996 -:101FF0003CA9E217F3070CF0B3C23A8D332309F47E -:102000006CC10F9481602AE030E040E050E00F9412 -:10201000B66B0F94456520E030E040EA50E40F9441 -:10202000946E18161CF001E010E002C00FEF1FEFD5 -:102030000F94816028E631E040E050E00F94B66BE9 -:102040000F9445654B015C010F94816021E230E003 -:1020500040E050E00F94B66B6B5F7F4F8F4F9F4F08 -:102060000F9445656E8B7F8B888F998F8D89843017 -:10207000E1F44E895F89688D798D8CE499E50F9440 -:102080008254B501A40184E499E50F9482548EE34F -:1020900099E50F9436540130110519F483E40E9438 -:1020A000B0668AE399E50F943654312CC801110FBC -:1020B000AA0BBB0B8DAB9EABAFABB8AF832D90E043 -:1020C000AEADBFAD8A179B070CF007C1BAA9BB2301 -:1020D00079F06DA97EA98FA998AD0F9445659B01F4 -:1020E000AC010F94346C20E030E040E952E41AC0B7 -:1020F0000F94816024E130E040E050E00F94B66B33 -:10210000675E7F4F8F4F9F4F0F9445656B017C013A -:102110006DA97EA98FA998AD0F9445659B01AC016F -:10212000C701B6010F94A4659B01AC01C501B401C0 -:102130000F94346C4B015C0120E030E044EB53E43D -:102140000F94946E18164CF420E030E044EB53E406 -:10215000C501B4010F94336CEDCF20E030E0A9014C -:10216000C501B4010F943E6587FF0BC020E030E04D -:1021700044EB53E4C501B4010F94346C4B015C0192 -:10218000ECCF2BED3FE049E450E4C501B4010F94DE -:10219000A46520E030E044E353E40F942E6D6B011E -:1021A0007C010F94296D6EA77FA788AB99AB209116 -:1021B000DF143091E0144091E1145091E2146D85E8 -:1021C0007E858F8598890F94336C6AAF7BAF8CAF17 -:1021D0009DAF2EA53FA548A959A96E897F89888DF5 -:1021E000998D0F94A4659B01AC016AAD7BAD8CAD5C -:1021F0009DAD0F94346C6D837E838F839887C70168 -:10220000B6010F94246F6EA77FA788AB99AB20917E -:10221000E3143091E4144091E5145091E614698977 -:102220007A898B899C890F94336C6B017C012EA574 -:102230003FA548A959A96E897F89888D998D0F94EA -:10224000A4659B01AC01C701B6010F94346C69878A -:102250007A878B879C874BE351E060E070E0CE018A -:1022600005960F94384D44E351E060E070E0CE01F4 -:1022700009960F94384DED89E430F9F44D815E8173 -:102280006F8178858EE299E50F94825449855A854D -:102290006B857C858BE299E50F94825440917F0E8B -:1022A0005091800E6091810E7091820E88E299E5C6 -:1022B0000F9482548AE00E94B06619821A821B82AF -:1022C0001C82AE014F5F5F4FBE01675F7F4FCE0143 -:1022D00005960E942DCE3394F1CE01E020E04FA16F -:1022E000BE016F5E7F4FCE010D960F942E176B01CE -:1022F0007C01E8A5F9A5EE0FFF1FEE0FFF1F2AA531 -:102300003BA5E20FF31FC601D70180839183A2830F -:10231000B3831E8A9601A701B601C7010F94816F8E -:10232000811102C031E03E8B9601A701B601C701C1 -:102330000F94816F811114C110E0812C912C5401F4 -:10234000EAA5FBA584E0189FE00DF11D1124208172 -:10235000318142815381C501B4010F94346C4B012A -:102360005C011F5F9EA1911758F708A519A50F5F83 -:102370001F4FB801012E000C880B990B0F94456577 -:102380002B013C019B01AC01C501B4010F942E6DE2 -:102390006AA37BA38CA39DA32E8D3F8D48A159A139 -:1023A000B601C7010F943E6587FF04C0CE8EDF8E55 -:1023B000E8A2F9A22B8D3C8D4D8D522DB601C7019F -:1023C0000F94946E181624F4CB8EDC8EED8E2F2C89 -:1023D000312C812C912C5401EAA5FBA5A4E03A9E56 -:1023E000E00DF11D11242AA13BA14CA15DA160814A -:1023F0007181828193810F94336C9B01AC010F94A6 -:10240000A4659B01AC01C501B4010F94346C4B0170 -:102410005C013394BEA1B315F8F6A30192010F94A9 -:102420002E6D0F94326F2B013C018D8982508E37B7 -:1024300008F07AC06AE070E0C8010E9440676BA9AA -:102440007CA983E299E50F9493540DEC17E0F80111 -:1024500081918F01882319F00E94B066F8CF43E084 -:10246000B601C7010E945067FD89F23009F459C0D6 -:1024700003ED17E0D8018D918D01882319F00E949A -:10248000B066F8CF44E06AA17BA18CA19DA10E9417 -:1024900050670BED17E0F80181918F01882319F047 -:1024A0000E94B066F8CF46E0C301B2010E945067B7 -:1024B00004EE17E0D8018D918D01882319F00E9458 -:1024C000B066F8CF43E06E8D7F8D88A199A10E9400 -:1024D00050670BEE17E0F80181918F01882319F006 -:1024E0000E94B066F8CF43E06B8D7C8D8D8D922D70 -:1024F0000E94506702EF17E0D8018D918D0188236B -:1025000019F00E94B066F8CF2E8D3F8D48A159A1D9 -:102510006B8D7C8D8D8D922D0F94336C43E00E94DA -:1025200050678AE00E94B066BEA1BF5FBEA35ACDCD -:10253000E3EFEB8FFFE4FC8F23EC2D8F87EC282E4D -:1025400033EF3E8F8FE48F8F93EC98A3A7E4A9A37A -:102550001E8A412C512C32014AA25BA26CA27DA2A0 -:1025600080E00F948D16BE89BB2309F46AC088E110 -:1025700099E50F943654ED89EE2309F44DC00BEF25 -:1025800017E0D8018D918D01882319F00E94B06663 -:10259000F8CF46E06AA17BA18CA19DA10E94506763 -:1025A00002E018E0F80181918F01882319F00E9460 -:1025B000B066F8CF43E06E8D7F8D88A199A10E940F -:1025C000506709E018E0D8018D918D01882319F03A -:1025D0000E94B066F8CF43E06B8D7C8D8D8D922D7F -:1025E0000E94506700E118E0F80181918F01882373 -:1025F00019F00E94B066F8CF2E8D3F8D48A159A1E9 -:102600006B8D7C8D8D8D922D0F94336C43E00E94E9 -:1026100050678AE00E94B06609E118E0D8018D9108 -:102620008D01882319F00E94B066F8CF46E0C301FF -:10263000B2010E9450678AE00E94B0668AE00E9460 -:10264000B0660E9438CD89AD0F945F520E94FACED9 -:10265000ECA5FDA50FB6F894FEBF0FBEEDBF07C0F9 -:102660002CA53DA50FB6F8943EBF0FBE2DBF8CA57F -:102670009DA50FB6F8949EBF0FBE8DBFEF960FB607 -:10268000F894DEBF0FBECDBFDF91CF911F910F91A8 -:10269000FF90EF90DF90CF90BF90AF909F908F9082 -:1026A0007F906F905F904F903F902F9008958F9202 -:1026B0009F92AF92BF92CF92DF92EF92FF920F93D1 -:1026C0001F93CF93DF9300D000D0CDB7DEB76FEF6D -:1026D0007FEF89E40E94CFA3882E6FEF7FEF8AE41B -:1026E0000E94CFA3D82E83E40E9479A3C82E8EE443 -:1026F0000E9479A3A82E8AE50E9479A3982E8111C1 -:1027000005C081E50E9479A3B82E01C0B12CCC2070 -:1027100069F000E010E020E04BE75EE067E77EE074 -:1027200081E00F94C72DF22EE32E02C0ED2CF82C81 -:102730008C2D90E087FC05C0D094DD1CDD24DD1CD1 -:1027400001C0D12C8D0D911D019731F4911009C05C -:10275000B11007C0A11005C00F94B25488EF98E5DE -:1027600009C085E08F1510F08E15C0F40F94B25497 -:1027700089ED98E526960FB6F894DEBF0FBECDBF63 -:10278000DF91CF911F910F91FF90EF90DF90CF904D -:10279000BF90AF909F908F900D943654CF2C0F2CFC -:1027A000000CDD080E2D0E2C000C110BA11021C009 -:1027B0000E9442A39B01AC01BB2099F086E08C9D56 -:1027C000F0018D9DF00D1124E00FF11FEE0FFF1FA2 -:1027D000EE0FFF1FEA5CF24F60817181828193816D -:1027E00003C060E070E0CB010F94346C9B01AC013E -:1027F00004C020E030E040EC5FE786E08C9DF00113 -:102800008D9DF00D1124E00FF11FEE0FFF1FEE0F55 -:10281000FF1FEA5CF24F20833183428353836E2D86 -:102820008F2D26960FB6F894DEBF0FBECDBFDF9179 -:10283000CF911F910F91FF90EF90DF90CF90BF90BD -:10284000AF909F908F900C943F8DCF92DF92EF923C -:10285000FF920F931F93CF93DF93CDB7DEB72C97E3 -:102860000FB6F894DEBF0FBECDBF83E50E9479A3FB -:10287000882349F00E94EEDE182F811106C080E007 -:102880000F945F5202C01091671E8091770E909155 -:10289000780EA091790EB0917A0E89839A83AB83DA -:1028A000BC8380917B0E90917C0EA0917D0EB091A7 -:1028B0007E0E8D839E83AF83B88780917F0E90912B -:1028C000800EA091810EB091820E89879A87AB8786 -:1028D000BC878CE40E9479A3882309F452C080E06D -:1028E0000F945F528091681E9091691E892B21F090 -:1028F0000E943EA3082F02C000911B140E943CF2CC -:102900007C01892B91F489EB98E52C960FB6F8940D -:10291000DEBF0FBECDBFDF91CF911F910F91FF9012 -:10292000EF90DF90CF900D94365407FD07C0802FB5 -:10293000002E000C990B8E159F05E4F081EA98E5B6 -:102940000F943654B7016150710986E998E50F94E8 -:1029500093548AE02C960FB6F894DEBF0FBECDBF1D -:10296000DF91CF911F910F91FF90EF90DF90CF906B -:102970000C94B06660E070E0802F0E9448F20093F3 -:102980001B148CE40E9479A3811105C086E50E9486 -:1029900079A38823F9F060E084E50F94CA0E90E0F3 -:1029A0000E941DA78DE898E50F9436540F949E530E -:1029B000811104C08AE898E50F94365460911B1485 -:1029C000062E000C770B85E798E50F9493548AE068 -:1029D0000E94B06686E50E9479A3082F0F949E534B -:1029E000882391F083E40E9479A38823C1F00E9498 -:1029F00042A36B017C0180E00F945F52B701A601F6 -:102A000081E00F94A1340BC0111102C0002339F0F2 -:102A10000F94B65486E698E50F9436540DC08AE5B7 -:102A20000E9479A3882329F00E9442A340E00F94DA -:102A3000D752812F0F945F52112351F08091671E5E -:102A4000811106C00F94B25487E498E50F94365470 -:102A50000F94B65489E398E50F9436548091671E1D -:102A6000811103C086ED9CE002C08AED9CE00F94CA -:102A700036548AE00E94B0660F94B6548CE298E512 -:102A80000F943654C090C60DD090C70DE090C80D7D -:102A9000F090C90D20E030E0A901C701B6010F9404 -:102AA000946E181644F442E0C701B6010E945067C4 -:102AB0000E94C86704C087E298E50F9436544CE042 -:102AC00050E067E77EE0CE0101960F94A670892B57 -:102AD00081F02C960FB6F894DEBF0FBECDBFDF910C -:102AE000CF911F910F91FF90EF90DF90CF900C94BA -:102AF000FACE2C960FB6F894DEBF0FBECDBFDF9195 -:102B0000CF911F910F91FF90EF90DF90CF9008959C -:102B10001F93CF93DF93CDB7DEB728970FB6F89406 -:102B2000DEBF0FBECDBF69837A838B839C832D83E9 -:102B30003E834F8358870F94910C882311F081E0D6 -:102B400026C081E00E949FEB69E170E080E090E0A8 -:102B50000F94CA53BE016B5F7F4FCE0101960E9456 -:102B60004FCE1091EF0B147080E00E949FEB112369 -:102B700021F00F94420C8111E2CF1092EF0B82E012 -:102B80000E948ACE0E94F8CE81E0111180E0289642 -:102B90000FB6F894DEBF0FBECDBFDF91CF911F916E -:102BA00008958091F01B9091F11B891B8F7019F48F -:102BB00080E090E008959091ED1B992351F08330CF -:102BC00030F48FEF890F19F08093ED1BF1CF109245 -:102BD000ED1BE091F11B84E5E89FF0011124E55124 -:102BE000FB4E808180FDE4CF8091F11B8F5F8F7061 -:102BF0008093EE1B9091F11B8091EF1B981304C002 -:102C00008091EE1B8093EF1BCF010895CF92DF924E -:102C1000EF92FF92CF93DF93EC016A017B0127E1F2 -:102C200037EB41ED58EBC701B6010F94946E87FD69 -:102C300023C023E030E04AE953E4C701B6010F9412 -:102C40003E651816CCF0C880D980EA80FB8027E169 -:102C500037EB41ED58EBC701B6010F94946E87FD39 -:102C60000BC0C1E023E030E84DE953E4C701B601F1 -:102C70000F943E6518160CF4C0E08C2FDF91CF91B5 -:102C8000FF90EF90DF90CF900895CF92DF92EF9278 -:102C9000FF92CF93DF93CDB7DEB728970FB6F894A6 -:102CA000DEBF0FBECDBF20E030E040EA50E46091CF -:102CB0007F0E7091800E8091810E9091820E0F9404 -:102CC0003E658823E9F01D821E821F821886C12C72 -:102CD000D12C80EAE82E80E4F82EC982DA82EB82D9 -:102CE000FC82BE016B5F7F4FCE0101960E944FCEEA -:102CF000C0927F0ED092800EE092810EF092820EF2 -:102D000028960FB6F894DEBF0FBECDBFDF91CF91EE -:102D1000FF90EF90DF90CF900895BF92CF92DF9217 -:102D2000EF92FF920F931F93CF93DF93CDB7DEB750 -:102D300028970FB6F894DEBF0FBECDBF90915D0A05 -:102D4000981709F47AC0B82E80E090E0A0E2B1E4D0 -:102D50008D839E83AF83B887C090E714D090E8142A -:102D6000E090E914F090EA1420E030E0A901C701F6 -:102D7000B6010F943E6587FF0CC0A701960160E085 -:102D800070E080E291E40F94336C6D837E838F83D7 -:102D9000988720E030E048EC53E46D817E818F819C -:102DA00098850F94946E181644F480E090E0A8EC97 -:102DB000B3E48D839E83AF83B8872D813E814F819D -:102DC000588560917F0E7091800E8091810E909158 -:102DD000820E0F943E6587FF0BC019821A821B82F8 -:102DE0001C82BE016F5F7F4FCE0105960E944FCEC1 -:102DF0006091770E7091780E8091790E90917A0E95 -:102E000020917B0E30917C0E40917D0E50917E0E74 -:102E100019821A821B821C82E0907F0EF090800E35 -:102E20000091810E1091820EFE0131966F010E9479 -:102E300070CDB0925D0A0E9481F080E028960FB6B6 -:102E4000F894DEBF0FBECDBFDF91CF911F910F91E0 -:102E5000FF90EF90DF90CF90BF9008952F923F9218 -:102E60004F925F926F927F928F929F92AF92BF929A -:102E7000CF92DF92EF92FF920F931F93CF93DF9346 -:102E8000CDB7DEB764970FB6F894DEBF0FBECDBFE7 -:102E90009E878D87788B6F87342E222EFC01C08011 -:102EA000D180E280F380C986DA86EB86FC86FB015E -:102EB00080809180A280B380002321F10E9400A62F -:102EC000882309F496C12091DF143091E0144091D9 -:102ED000E1145091E214C701B6010F94336C698775 -:102EE0007A878B879C872091E3143091E41440917A -:102EF000E5145091E614C501B4010F94336C4B01F5 -:102F00005C0109C0B501A401CE0109960F94061613 -:102F1000882309F46EC1E0907F0EF090800E00913E -:102F2000810E1091820E40903D0250903E026090C2 -:102F30003F027090400280E090E0A8ECB2E4809301 -:102F40003D0290933E02A0933F02B093400219824B -:102F50001A821B821C8269857A858B859C859E01DD -:102F60002F5F3F4F6901A50194010E9470CD81E060 -:102F70000F948D168111C4C080916A1A82FF11C00E -:102F80002091E7143091E8144091E9145091EA142B -:102F900060E070E080E490EC0F94336C4B015C01D6 -:102FA00006C0812C912C30E2A32E31ECB32E20E010 -:102FB00030E040E850E4C501B4010F94881588233F -:102FC00029F060E070E080EC9FE753C0C0907F0E76 -:102FD000D090800EE090810EF090820E80E090E024 -:102FE000A0E8B0E489839A83AB83BC8320E030E01F -:102FF00040EA50E4C701B6010F94346C6D837E83C0 -:103000008F839887BE016F5F7F4FCE0105960E9428 -:103010004FCE20E030E040E050E4C501B4010F9411 -:1030200088158111CECF20E030E040E450E460917B -:103030007F0E7091800E8091810E9091820E0F9480 -:10304000A465698B7A8B8B8B9C8BA7019601C7013A -:10305000B6010F94346C9B01AC0169897A898B8924 -:103060009C890F94346C2DEC3CEC4CE45EE30F94A3 -:10307000A4652091E7143091E8144091E91450912F -:10308000EA140F94346C6B018C018EEF830D823047 -:1030900050F580E090E0A0E8B0E48D839E83AF839C -:1030A000B88720917F0E3091800E4091810E509113 -:1030B000820E83E0381629F060E070E080EA90E448 -:1030C00004C060E070E088EC91E40F94346C698394 -:1030D0007A838B839C83BE016B5F7F4FCE01019609 -:1030E0000E944FCE08C0E1E03E1205C080E00F9480 -:1030F0008D16811105C0F2E0F21508F05BC008C022 -:10310000F2E0F21508F07AC0C12CD12C00EC1FE7D8 -:103110002EE2E22E28E0F22EF70181917F01882332 -:1031200019F00E94B066F8CF2091D3143091D414D6 -:103130004091D5145091D614ED85FE856081718142 -:10314000828193810F94346C43E00E94506796E330 -:10315000E92E98E0F92EF70181917F01882319F07B -:103160000E94B066F8CF2091D7143091D8144091C6 -:10317000D9145091DA14EF85F889608171818281C8 -:1031800093810F94346C43E00E9450678BE3E82EE8 -:1031900088E0F82EF70181917F01882319F00E94C1 -:1031A000B066F8CF43E0B601C8010E9450678AE0DC -:1031B0000E94B06640923D0250923E0260923F02F1 -:1031C000709240029601A801B601C8010F94816F68 -:1031D000882309F180E00F948D1660E08BE39AE577 -:1031E0000F94814B0F94B2548BE29AE50F943654AE -:1031F00012C0C12CD12C00EC1FE70DC040923D0243 -:1032000050923E0260923F0270924002C12CD12C3B -:1032100000EC1FE7DFCFB601C80164960FB6F89443 -:10322000DEBF0FBECDBFDF91CF911F910F91FF90F9 -:10323000EF90DF90CF90BF90AF909F908F907F9056 -:103240006F905F904F903F902F900895CF93DF93B2 -:10325000C091CE1480E498E00E94CE678091C9149A -:10326000873009F445C083E08093C81481E08093DF -:10327000700280E190E09093851C8093841C85E02F -:103280008093781CD2E8D0937B1C84E190E1A0E08D -:10329000B0E080937C1C90937D1CA0937E1CB09327 -:1032A0007F1C0F94B03861E070E080E090E00E94F5 -:1032B000248D81E09AE59093851C8093841C85E39E -:1032C00090E09093871C8093861C87E08093781C05 -:1032D000D0937B1C84E890E0A0E0B0E080937C1C5D -:1032E00090937D1CA0937E1CB0937F1C0F94B038EC -:1032F000C13081F1C23059F40F9426486093C01454 -:103300007093C1148093C2149093C31402C00F949D -:103310005A4881E08093CE140E94E7EF6093BC147A -:103320007093BD148093BE149093BF14C230A1F06B -:1033300080914A0A90914B0A019690934B0A809390 -:103340004A0A1092CF141092D0141092D1141092F5 -:10335000D21402C080E001C081E0DF91CF910895D6 -:10336000CF93DF9300D01F92CDB7DEB78091490A8B -:103370008823A9F083E390E09C838B831A821982CF -:103380009E012F5F3F4F40E150E06AE47AE0CE01BA -:1033900003960E94B36481ED96E00E94CE670F9081 -:1033A0000F900F900F90DF91CF910895CF92DF9201 -:1033B000EF92FF920F931F938091CE148150823031 -:1033C00010F080E0A7C084E798E00E94CE6780916B -:1033D000C914833009F441C088E598E00E94CE67A3 -:1033E00084E698E00E94CE6740E060E070E0CB01A8 -:1033F0000F94444C41E060E070E0CB010F94444CEA -:1034000081E0809305021092C71421E030E03093F0 -:10341000C6142093C5148093700281E09AE59093BE -:10342000851C8093841C8DE290E09093871C809390 -:10343000861C87E08093781C82E880937B1C84E85C -:1034400090E0A0E0B0E080937C1C90937D1CA09362 -:103450007E1CB0937F1C0F94B0381092CE140E9443 -:10346000E7EF6093CA147093CB148093CC149093BD -:10347000CD1480914C0A90914D0A019690934D0A7B -:1034800080934C0AC090CF14D090D014E090D11407 -:10349000F090D2140F9426486093CF147093D014F8 -:1034A0008093D1149093D21400914E0A10914F0A38 -:1034B0002091500A3091510A0C191D092E093F091B -:1034C000DC01CB01800F911FA21FB31F80934E0A16 -:1034D00090934F0AA093500AB093510A0F94264834 -:1034E0000091520A1091530A2091540A3091550AC2 -:1034F000061717072807390750F40F9426486093DA -:10350000520A7093530A8093540A9093550A0F9469 -:10351000B01981E01F910F91FF90EF90DF90CF9055 -:103520000895CF93DF9300D01F921F92CDB7DEB7DF -:1035300081E08093490AEAE4FAE080E1DF011D922C -:103540008A95E9F70F94B01986E18D8382E390E0C4 -:103550009C838B831A8219829E012F5F3F4F41E02B -:1035600050E0BE016B5F7F4FCE0103960E94B364B3 -:103570000F900F900F900F900F90DF91CF910895C3 -:10358000CF92DF92EF92FF920F931F93CF93DF932F -:10359000C1EADCE00CEA14E1C12CD12C7601C39421 -:1035A00069917991899199910F9443652889398915 -:1035B0004A895B890F94A4650F94A76DF801619304 -:1035C0007193819391938F01C616D706E806F90689 -:1035D00010F46B017C01FCE0C13BDF0709F76FEFE2 -:1035E0007FEFCB01A70196010F94946B2093A81451 -:1035F0003093A9144093AA145093AB1423EF34E0F2 -:1036000045E35FE36091A4147091A5148091A61422 -:103610009091A7140F94A4656B017C016091AD0C8F -:103620007091AE0C8091AF0C9091B00C0F944365EB -:103630009B01AC01C701B6010F94A46529E732E8EC -:103640004AE550E40F94A4650F94326F6093A01480 -:103650007093A1148093A2149093A314DF91CF913F -:103660001F910F91FF90EF90DF90CF9008950F93EF -:103670001F93CF93DF9305EB1CE0CCE1D4E1F8017D -:1036800021913191419151918F0160E070E080E88A -:103690009FE30F942E6D6993799389939993F4E145 -:1036A000CC32DF0761F70E9453EBDF91CF911F917E -:1036B0000F910D94C01ACF92DF92EF92FF92FC010E -:1036C000C080D180E280F3802091C10C3091C20C87 -:1036D0004091C30C5091C40CC701B6010F94A4656E -:1036E0000F94A16E6093221C7093231C8093241C62 -:1036F0009093251CC092121CD092131CE092141CB3 -:10370000F092151C9091F01B8091F11B981731F0ED -:10371000FF90EF90DF90CF900C94308B0F94D93BBB -:1037200080916F00982F927081FF05C080916F008B -:103730008D7F80936F004091221C5091231C6091DB -:10374000241C7091251C4093C81E5093C91E609381 -:10375000CA1E7093CB1E992329F080916F0082605E -:1037600080936F00FF90EF90DF90CF9008958F923D -:103770009F92AF92BF92EF92FF920F931F93CF93BE -:10378000DF937B018A01E901FC0180809180A280A6 -:10379000B3802091B50C3091B60C4091B70C50918C -:1037A000B80CC501B4010F94A4650F94A16E609389 -:1037B000161C7093171C8093181C9093191C209151 -:1037C000B90C3091BA0C4091BB0C5091BC0CF70174 -:1037D00060817181828193810F94A4650F94A16EA1 -:1037E00060931A1C70931B1C80931C1C90931D1CCF -:1037F0002091BD0C3091BE0C4091BF0C5091C00C7B -:10380000F80160817181828193810F94A4650F9486 -:10381000A16E60931E1C70931F1C8093201C9093BC -:10382000211C2091C10C3091C20C4091C30C5091CD -:10383000C40C688179818A819B810F94A4650F945F -:10384000A16E6093221C7093231C8093241C909380 -:10385000251C8092061C9092071CA092081CB09216 -:10386000091CF70180819181A281B38180930A1C98 -:1038700090930B1CA0930C1CB0930D1CF80180813D -:103880009181A281B38180930E1C90930F1CA09311 -:10389000101CB093111C88819981AA81BB818093EF -:1038A000121C9093131CA093141CB093151C9091A0 -:1038B000F01B8091F11B981761F0DF91CF911F9160 -:1038C0000F91FF90EF90BF90AF909F908F900C94CE -:1038D000308B0F94D93B80916F00982F927081FFAD -:1038E00005C080916F008D7F80936F004091161C02 -:1038F0005091171C6091181C7091191C4093BC1EAC -:103900005093BD1E6093BE1E7093BF1E40911A1C43 -:1039100050911B1C60911C1C70911D1C4093C01E7B -:103920005093C11E6093C21E7093C31E40911E1C13 -:1039300050911F1C6091201C7091211C4093C41E4B -:103940005093C51E6093C61E7093C71E4091221CE3 -:103950005091231C6091241C7091251C4093C81E1B -:103960005093C91E6093CA1E7093CB1E992329F0F1 -:1039700080916F00826080936F00DF91CF911F91E3 -:103980000F91FF90EF90BF90AF909F908F90089510 -:10399000AF92BF92CF92DF92EF920F931F93CF938C -:1039A000DF93CDB7DEB764970FB6F894DEBF0FBED6 -:1039B000CDBFA98ABA8ACB8ADC8AFC018081918139 -:1039C000A281B38189839A83AB83BC83FB0180810D -:1039D0009181A281B3818D839E83AF83B887FA01E1 -:1039E00080819181A281B38189879A87AB87BC87C7 -:1039F000F90180819181A281B3818D879E87AF87F4 -:103A0000B88BCE0141966C019E01235F3F4FAE0102 -:103A1000475F5F4FBE016B5F7F4F40970E94847886 -:103A200064960FB6F894DEBF0FBECDBFDF91CF9185 -:103A30001F910F91EF90DF90CF90BF90AF900895BE -:103A40009F92AF92BF92CF92DF92EF92FF920F932D -:103A50001F93CF93DF938BE8A82E83E0B82E0EE55B -:103A60001EE0C7E7DEE093EDC92E94E1D92E20EFEA -:103A7000E22E28E0F22E912CF50181915F010E9447 -:103A8000C2A3882309F10E9442A3F70120812111DA -:103A900004C02091F908222339F0288139814A8114 -:103AA0005B810F94346C0AC0F3E09F1639F0F60185 -:103AB00020813181428153810F94336CF8016083FE -:103AC00071838283938309C088819981AA81BB8194 -:103AD000F80180839183A283B38393940C5F1F4F7B -:103AE0002496F4E0CF0ED11C2FEFE21AF20A84E004 -:103AF0009812C2CF40E050E0BA0186E40E94718E75 -:103B000020E030E0A9010F94946E181684F40E940E -:103B100042A320E030E040E752E40F942E6D609322 -:103B20003D0270933E0280933F0290934002809149 -:103B3000F00C83FD28C08091490A882321F120914F -:103B4000830E3091840E4091850E5091860E6091C7 -:103B50006A0E70916B0E80916C0E90916D0E0F94A9 -:103B6000336C2091560A3091570A4091580A50916F -:103B7000590A0F94346C6093560A7093570A8093D5 -:103B8000580A9093590ADF91CF911F910F91FF909E -:103B9000EF90DF90CF90BF90AF909F900895CF931C -:103BA00084E50E94C2A38823F1F00E94DADEC82FC8 -:103BB0008230DCF00F94B6548DE40E94B0666AE067 -:103BC00070E08091491A90914A1A0E9440676C2FC8 -:103BD000CC0F770B8EEA9AE50F9493548AE00E94FB -:103BE000B0668FEF02C08091870ECF910895CF927B -:103BF000DF92EF92FF921F93CF93DF93CDB7DEB7A3 -:103C0000A0970FB6F894DEBF0FBECDBF80E090E066 -:103C1000A8E4B2E489839A83AB83BC8380E090E01C -:103C2000A0E2B1E48D839E83AF83B88789879A87AA -:103C3000AB87BC870F94CF1DF82E87FDF3C041E002 -:103C400061E081E00F947C4181110E942AA31091D0 -:103C5000870E212F30E08F2D0F2C000C990B281789 -:103C6000390721F060E08F2D0E941F9A85E40E94A1 -:103C700079A3882381F00E9442A36B017C0120E09C -:103C800030E0A9010F94946E87FF0BC0F7FAF0940F -:103C9000F7F8F09406C0C12CD12C80E8E82E80E41F -:103CA000F82EF7FAF094F7F8F094C98ADA8AEB8ADA -:103CB000FC8A8AE50E94C2A3882351F040E050E0CC -:103CC000BA018AE50E94718E69877A878B879C8703 -:103CD00088E50E94C2A3882351F040E050E0BA0179 -:103CE00088E50E94718E69837A838B839C8389E542 -:103CF0000E94C2A3882351F040E050E0BA0189E558 -:103D00000E94718E6D837E838F83988785E50E94E4 -:103D100079A3882329F00E9442A36B017C010CC087 -:103D2000E091870E88E0E89FF0011124E55FFB4EEB -:103D3000C080D180E280F38020E030E0A901C7019B -:103D4000B6010F94946E87FF04C0F7FAF094F7F869 -:103D5000F094F7FAF094F7F8F094CD8ADE8AEF8ABF -:103D6000F88E198E1A8E1B8E1C8E8CE40E9479A3FD -:103D7000882329F00E9442A36B017C010CC0E091D2 -:103D8000870E88E0E89FF0011124E55FFB4EC480B8 -:103D9000D580E680F78020E030E0A901C701B601B8 -:103DA0000F94946E87FF04C0F7FAF094F7F8F0943C -:103DB000CD8EDE8EEF8EF8A262E070E082E40E948B -:103DC000CFA3F82E21E0AE014B5E5F4FBE016F5FC7 -:103DD0007F4FCE0141960F94D90A8823D9F06F2DD9 -:103DE00081E00F94B00880E090E0A0EAB1E48D8714 -:103DF0009E87AF87B88B8091F10B882359F02F2DC8 -:103E0000AE01435F5F4FBE01635E7F4FCE014996B7 -:103E10000F9455098091870E181721F060E0812FCB -:103E20000E941F9AA0960FB6F894DEBF0FBECDBFBA -:103E3000DF91CF911F91FF90EF90DF90CF90089589 -:103E4000CF92DF92EF92FF92CF93DF93CDB7DEB7A1 -:103E50006C970FB6F894DEBF0FBECDBF8CE40E9406 -:103E600079A3882381F00E9442A36B017C0120E0AA -:103E700030E0A9010F94946E87FF0BC0F7FAF0941D -:103E8000F7F8F09406C0C12CD12C80E8E82E80E42D -:103E9000F82EF7FAF094F7F8F094C98EDA8EEB8EDC -:103EA000FC8E80E090E0A8E4B2E489839A83AB833F -:103EB000BC8380E090E0A0E2B1E48D839E83AF8379 -:103EC000B88789879A87AB87BC8788E50E94C2A399 -:103ED0008823A1F040E050E0BA0188E50E94718E8D -:103EE0002091D3143091D4144091D5145091D6140C -:103EF0000F94336C69837A838B839C8389E50E945A -:103F0000C2A38823A1F040E050E0BA0189E50E94F5 -:103F1000718E2091D3143091D4144091D5145091C6 -:103F2000D6140F94336C6D837E838F8398878AE5D4 -:103F30000E94C2A3882351F040E050E0BA018AE514 -:103F40000E94718E69877A878B879C87F090001E0C -:103F5000F2FAFF24F0F81D861E861F86188A20E0DC -:103F6000AE01435F5F4FBE016F5F7F4FCE01499649 -:103F70000F94D90A882329F1F11023C060E080E072 -:103F80000F94B00880E090E0A0E8B0E48D8B9E8BA9 -:103F9000AF8BB88F198A1A8A1B8A1C8A1D861E86C7 -:103FA0001F86188A8091F10B882359F020E0AE011A -:103FB0004B5E5F4FBE016F5E7F4FCE010D960F943B -:103FC00055096C960FB6F894DEBF0FBECDBFDF91DA -:103FD000CF91FF90EF90DF90CF900895CF93DF9334 -:103FE000D62FC72F0E94C2A3882329F00E942EA398 -:103FF000262F972F02C02D2F9C2F822FDF91CF913C -:1040000008952F923F924F925F926F927F928F927C -:104010009F92AF92BF92CF92DF92EF92FF920F9357 -:104020001F93CF93DF93CDB7DEB7E6970FB6F89423 -:10403000DEBF0FBECDBF41E061E081E00F947C4167 -:1040400081111DC360E070E080E50F94EE1F882EA3 -:104050006CE070E083E50F94EE1F5C018DA763E0D8 -:1040600070E084E50F94EE1F382E40E050E060EDE4 -:1040700070E482E50E94718E6B017C018091471A89 -:1040800087FD07C08091481A837019F4992493948E -:10409000F4C260E088E50E94FEDE982E60E089E5CB -:1040A0000E94FEDE8111E9C280E0982A2091671EFD -:1040B0002EA7822F0F945F5280E090E0A0EAB3E435 -:1040C0008D879E87AF87B88B412C512C20E2622EC2 -:1040D00022E4722E498A5A8A6B8A7C8A40E050E038 -:1040E00060E87FE34D8B5E8B6F8B788F00E010E094 -:1040F00026E933E409831A832B833C834D825E8255 -:104100006F82788649875A876B877C8722E0821284 -:104110000CC0911005C08AE89AE50F943654A9C2E4 -:1041200089839A83AB83BC8324C090FC10C08091A8 -:10413000770E9091780EA091790EB0917A0E8983C6 -:104140009A83AB83BC838D879E87AF87B88B91FCA6 -:1041500010C080917B0E90917C0EA0917D0EB0914D -:104160007E0E8D839E83AF83B887898B9A8BAB8BB2 -:10417000BC8B80917F0E9091800EA091810EB091AA -:10418000820E89A79AA7ABA7BCA789879A87AB8716 -:10419000BC878D8B9E8BAF8BB88F91E0891629F0F1 -:1041A000A2E08A1609F470C10CC22D853E854F85A8 -:1041B000588969817A818B819C810F94336C6B0162 -:1041C0007C0120E030E0A9010F943E65882309F4CA -:1041D00050C229893A894B895C896D817E818F81A2 -:1041E00098850F94336C4B015C0120E030E0A9010D -:1041F0000F943E65882309F43CC28091770E90911C -:10420000780EA091790EB0917A0E8FA798ABA9ABDA -:10421000BAAB80917B0E90917C0EA0917D0EB091F7 -:104220007E0E8BAB9CABADABBEAB198E1A8E1B8ECC -:104230001C8EAE01475E5F4FBE016F5E7F4FCE01A9 -:104240000D960E942DCE032D000F20E030E0A90135 -:10425000C701B6010F94946E87FF08C0D701C6014D -:10426000B0588DA39EA3AFA3B8A704C0CDA2DEA271 -:10427000EFA2F8A620E030E0A901C501B4010F9437 -:10428000946E1401250187FF04C057FA509457F823 -:1042900050942DA13EA14FA158A5C201B1010F9488 -:1042A0003E65181624F434011A2DFB2C02C0360189 -:1042B0001E2D802E912CB401092C000C880B990B1B -:1042C0000F9445659B01AC01B301812F9F2D0F9485 -:1042D0002E6D6B017C01712C9DA5791608F0C0C074 -:1042E00010E0812F012E000C990B881599050CF018 -:1042F00059C010FD04C0DE011D965D0103C0CE0152 -:1043000001965C012DA13EA14FA158A5C201B101AA -:104310000F943E65412F012E000C550B660B770B59 -:10432000198E1A8E1B8E1C8E1816ECF0CB01BA015A -:104330000F944565A70196010F94A4659B01AC01FC -:104340006D857E858F8598890F94346C6D8F7E8FF7 -:104350008F8F98A3B5016C5F7F4FAE01475E5F4FB3 -:10436000CE014D961BC0CB01BA010F944565A70144 -:1043700096010F94A4659B01AC0169897A898B89A8 -:104380009C890F94346C6D8F7E8F8F8F98A3AE01B4 -:10439000475E5F4FBE01635E7F4FC5010E942DCE19 -:1043A0001F5F9FCF102F17FD59C010FD04C0DE0105 -:1043B0001D965D0103C0CE0101965C012DA13EA1B9 -:1043C0004FA158A5C201B1010F943E65412F012EA6 -:1043D000000C550B660B770B198E1A8E1B8E1C8EDC -:1043E0001816ECF0CB01BA010F944565A7019601B0 -:1043F0000F94A4659B01AC016D857E858F8598899E -:104400000F94346C6D8F7E8F8F8F98A3B5016C5F86 -:104410007F4FAE01475E5F4FCE014D961BC0CB0173 -:10442000BA010F944565A70196010F94A4659B01FD -:10443000AC0169897A898B899C890F94346C6D8F62 -:104440007E8F8F8F98A3AE01475E5F4FBE01635E84 -:104450007F4FC5010E942DCE1150A5CF73943CCF44 -:10446000198E1A8E1B8E1C8EDE0159966D01E9A4E1 -:10447000FAA40BA51CA52BA93CA94DA95EA96FA563 -:1044800078A989A99AA9F3C0BDA5BB2309F4F1C0F5 -:104490008091770E9091780EA091790EB0917A0E5E -:1044A0008DA39EA3AFA3B8A780907B0E90907C0EA7 -:1044B000A0907D0EB0907E0E198E1A8E1B8E1C8ED3 -:1044C000AE01475E5F4FBE016F5E7F4FCE010D961E -:1044D0000E942DCE10E0212C312C19A21AA21BA271 -:1044E0001CA2B101032C000C880B990B0F9445659D -:1044F0002CE739ED40E25FE30F94A4652B013C010A -:104500000F94296D9B01AC01C701B6010F94A465FE -:104510009B01AC016D817E818F8198850F94346CF5 -:104520006D8F7E8F8F8F98A3C301B2010F94246F7C -:104530009B01AC01C701B6010F94A4659B01AC01BE -:1045400069817A818B819C810F94346C698F7A8F19 -:104550008B8F9C8FAE014F5D5F4FBE01635E7F4FBF -:10456000CE0149960E942DCE9FEF291A390AAAE062 -:104570002A16310409F0B1CF1F5FBDA51B1708F43F -:10458000AACF198E1A8E1B8E1C8EAE01475E5F4F0E -:10459000BE016F5E7F4FCE010D960E942DCE198E0B -:1045A0001A8E1B8E1C8ECE0149966C01E9A4FAA4CA -:1045B0000BA51CA5A50194016DA17EA18FA198A5B5 -:1045C00056C04090770E5090780E6090790E7090A3 -:1045D0007A0E80917B0E90917C0EA0917D0EB09111 -:1045E0007E0E8DA39EA3AFA3B8A7198E1A8E1B8E25 -:1045F0001C8EAE01475E5F4FBE016F5E7F4FCE01E6 -:104600000D960E942DCEBB24B594A79410E0812F67 -:1046100090E0198E1A8E1B8E1C8E8A159B05D4F481 -:10462000AE01475E5F4FBE016B5F7F4FCE010196CB -:104630000E942DCE198E1A8E1B8E1C8EAE01475EE7 -:104640005F4FBE016F5E7F4FCE010D960E942DCE53 -:104650001F5FDDCFDE0159966D01E9A4FAA40BA519 -:104660001CA52DA13EA14FA158A5C301B2010E94D6 -:1046700070CD8EA50F945F5202C082E016CDE696F3 -:104680000FB6F894DEBF0FBECDBFDF91CF911F9163 -:104690000F91FF90EF90DF90CF90BF90AF909F90E1 -:1046A0008F907F906F905F904F903F902F900895E4 -:1046B0000F94B6548AE79AE50F94365483E50E9426 -:1046C00079A3882321F00E94EEDE8093430280913B -:1046D0004302811103C086ED9CE002C08AED9CE09C -:1046E0000F94365482E79AE50F9436542091D314F0 -:1046F0003091D4144091D5145091D6146091250274 -:104700007091260280912702909128020F94346CB8 -:10471000AB01BC0180E79AE50F9482542091D71435 -:104720003091D8144091D9145091DA1460912D022F -:1047300070912E0280912F02909130020F94346C70 -:10474000AB01BC018DE69AE50F9482542091DB14F5 -:104750003091DC144091DD145091DE1460913502EB -:104760007091360280913702909138020F94346C28 -:10477000AB01BC018AE69AE50F94825482E69AE581 -:104780000F9436542091D3143091D4144091D51401 -:104790005091D6146091290270912A0280912B02C7 -:1047A00090912C020F94346CAB01BC0180E69AE529 -:1047B0000F9482542091D7143091D8144091D91479 -:1047C0005091DA146091310270913202809133027B -:1047D000909134020F94346CAB01BC018DE59AE5E5 -:1047E0000F9482542091DB143091DC144091DD143D -:1047F0005091DE146091390270913A0280913B022F -:1048000090913C020F94346CAB01BC018AE59AE5AF -:104810000F9482548AE00C94B066882319F00F94A8 -:10482000B65403C080E20E94B0664091B50C50912E -:10483000B60C6091B70C7091B80C83E59AE50F94B3 -:1048400082544091B90C5091BA0C6091BB0C70919C -:10485000BC0C80E59AE50F9482544091BD0C5091B8 -:10486000BE0C6091BF0C7091C00C8DE49AE50F9462 -:1048700082544091C10C5091C20C6091C30C709154 -:10488000C40C8AE49AE50F9482548AE00C94B066D2 -:1048900063E00C94E5EB90916A0AE92FF0E0EE51A9 -:1048A000F34E80839F5F943018F490936A0A02C09D -:1048B00010926A0A8091EE0B8F5F8093EE0B089541 -:1048C000CF93DF93EC018881882349F18A3039F155 -:1048D0008D3029F18B33F9F08091EE0B8430D8F4D0 -:1048E00080916A0A20E6829FC0011124BE0183598B -:1048F000954F0F94E57080E00F944B240F94B654BD -:10490000BE0189E99BE50F949F5486E99BE5DF9101 -:10491000CF910D94365480E00E94F467D4CFDF919C -:10492000CF9108955F926F927F928F929F92AF92F4 -:10493000BF92CF92DF92EF92FF920F931F93CF938C -:10494000DF93CDB7DEB76DB67EB67C0100E010E038 -:104950008DB69EB6F701E00FF11F5490C801019685 -:104960005C01552029F09AE0591611F08501F2CF2B -:104970008DB79EB78A199B090FB6F8949EBF0FBEDC -:104980008DBF01966C01A801B7010F947864F60100 -:10499000E00FF11F1082C6010F946024552041F0F2 -:1049A000EA0CFB1C0FB6F8949EBE0FBE8DBED0CF96 -:1049B0000FB6F8947EBE0FBE6DBEDF91CF911F91F2 -:1049C0000F91FF90EF90DF90CF90BF90AF909F90AE -:1049D0008F907F906F905F900895CF92DF92EF92CB -:1049E000FF928AE50E94C2A3882321F10E9442A37C -:1049F0006B017C0120E030E040EA51EC0F94946EB2 -:104A000087FD13C020E030E040EA51E4C701B60161 -:104A10000F943E6518164CF0C092E714D092E8143B -:104A2000E092E914F092EA148FC00F94B25489E72F -:104A30009BE528C088E50E94C2A3882349F10E9413 -:104A400042A36B017C0120E030E84DE953EC0F9468 -:104A5000946E87FD13C020E030E84DE953E4C701B0 -:104A6000B6010F943E6518164CF0C092DF14D09238 -:104A7000E014E092E114F092E21466C00F94B25494 -:104A800089E59BE5FF90EF90DF90CF900D94365431 -:104A900089E50E94C2A3882321F10E9442A36B01F1 -:104AA0007C0120E030E04AE953EC0F94946E87FDDE -:104AB00013C020E030E04AE953E4C701B6010F9487 -:104AC0003E6518164CF0C092E314D092E414E092C4 -:104AD000E514F092E61438C00F94B25489E39BE5D4 -:104AE000D1CF0F94B6544091DF145091E0146091EF -:104AF000E1147091E21488E29BE50F9482548AE0FD -:104B00000E94B0664091E3145091E4146091E51462 -:104B10007091E61487E19BE50F9482548AE00E942D -:104B2000B0664091E7145091E8146091E9147091D7 -:104B3000EA1486E09BE50F9482548AE0FF90EF90A0 -:104B4000DF90CF900C94B066FF90EF90DF90CF9005 -:104B500008958F929F92AF92BF92CF92DF92EF9281 -:104B6000FF920F931F93CF931092850C1092840C99 -:104B70002FE320934B1A10924A1A1092491A10925E -:104B8000451A1092461A1092471A1092481A9C0120 -:104B9000F90190812F5F3F4F9032D1F39E34C9F4D9 -:104BA000818190ED980F9A3020F08D3211F08B3288 -:104BB00081F4DF0112969D012F5F3F4F8C9180534E -:104BC0008A3010F4D901F7CFFD011196808180322F -:104BD000D9F3F093700EE0936F0E8F010F5F1F4FAC -:104BE000C0816AE270E0C8010F94DA70009731F07A -:104BF000FC01319780818032E1F31182CD3429F0BC -:104C0000C43519F0C73409F000C1F80180810F5F85 -:104C10001F4F8032D1F380538A3008F0F6C0C09322 -:104C20004B1A10924A1A1092491A4AE08091491A76 -:104C300090914A1A489F9001499F300D112430935A -:104C40004A1A2093491A3196DF0111978C91082E48 -:104C5000000C990BC097820F931F90934A1A809370 -:104C6000491A208120532A3008F3DF0131962C9114 -:104C70002032D9F3CD34D1F48E31910591F03CF44A -:104C80008731910571F08C31910581F40AC0853727 -:104C9000910564F08737910524F0803A23E092076C -:104CA00029F4B093850CA093840CAFC01092850CAE -:104CB0001092840C10916F0EC12CD12C7601C394EC -:104CC000FD0131964C91442309F49FC04132A1F477 -:104CD000CD3491F48032910579F4F093850CE09312 -:104CE000840C63E270E0CF010F94DA70009709F44E -:104CF0008CC0FC01108289C041544A3108F059C06F -:104D0000BF01FB0120816F5F7F4F2032D1F330ED77 -:104D1000320F3A3010F12E3211F421810CC02D32B5 -:104D200011F02B3259F4218130ED320F3A30A8F0D6 -:104D30002E3221F4228120532A3078F02091840CE5 -:104D40003091850C232B09F05DC09F012150310962 -:104D50003093850C2093840C55C09F01A42FB0E0A4 -:104D60004601570104C0880C991CAA1CBB1C4A951B -:104D7000D2F7B501A4018090451A9090461AA090F0 -:104D8000471AB090481A482959296A297B29409323 -:104D9000451A5093461A6093471A7093481A211582 -:104DA000310511F0211B01C020E0A55DB54E2C930B -:104DB0000AC02091840C3091850C232B21F4B093F0 -:104DC000850CA093840C208121542A3110F4DF013A -:104DD00077CFAF01FA01DA012D912223C1F330ED33 -:104DE000320F3A3010F4AD01F5CF33ED320F3230DF -:104DF000D0F32B32C1F3FA014F5F5F4F2081203295 -:104E0000D1F3E5CF20E030E0A9CFCF911F910F91F2 -:104E1000FF90EF90DF90CF90BF90AF909F908F90DA -:104E200008952F923F924F925F926F927F928F924E -:104E30009F92AF92BF92CF92DF92EF92FF920F9329 -:104E40001F93CF93DF93CDB7DEB7C454D1090FB60C -:104E5000F894DEBF0FBECDBF9AA789A77CAB6BAB22 -:104E6000142FDB018D909D90AD90BC901397240181 -:104E7000350177FA709477F870941496CD90DD90A0 -:104E8000ED90FC901797A70196015058298F3A8F03 -:104E90004B8F5C8FA3019201C301B2010F94A465F3 -:104EA00069A37AA38BA39CA3298D3A8D4B8D5C8D2E -:104EB000CA01B9010F94A4659B01AC0169A17AA153 -:104EC0008BA19CA10F94346C0F94326F6DAB7EABB1 -:104ED0008FAB98AF80917F0E9091800EA091810E44 -:104EE000B091820E89A39AA3ABA3BCA32091770EA5 -:104EF0003091780E4091790E50917A0E2D8B3E8B29 -:104F00004F8B588FC501B4010F94346C21966CAF50 -:104F10007DAF8EAF9FAF219780917B0E90917C0EDD -:104F2000A0917D0EB0917E0E8DA39EA3AFA3B8A7D6 -:104F30009C01AD01C701B6010F94346C25966CAF8E -:104F40007DAF8EAF9FAF2597A9A5BAA52D913D91B5 -:104F50004D915C912BA73CA74DA75EA721962CAD48 -:104F60003DAD4EAD5FAD21976BA57CA58DA59EA5F2 -:104F70000F94336C6B017C01A9A5BAA514962D91F1 -:104F80003D914D915C9117972FA738AB49AB5AAB28 -:104F900025962CAD3DAD4EAD5FAD25976FA578A99B -:104FA00089A99AA90F94336C4B015C0129A13AA1FC -:104FB0004BA15CA1E9A5FAA56085718582859385E1 -:104FC0000F94336C6D8F7E8F8F8F98A3A7019601FE -:104FD000C301B2010F94A46569AF7AAF8BAF9CAFE8 -:104FE000A5019401698D7A8D8B8D9C8D0F94A4659C -:104FF0009B01AC0169AD7AAD8BAD9CAD0F94346C67 -:1050000069AF7AAF8BAF9CAFA5019401C301B20128 -:105010000F94A4654B015C01A7019601698D7A8DFF -:105020008B8D9C8D0F94A4659B01AC01C501B401CF -:105030000F94336C29AD3AAD4BAD5CAD0F94B36CAE -:105040006B017C0120E030E0A9010F943E6587FFF1 -:105050000AC02BED3FE049EC50E4C701B6010F94C4 -:10506000346C6B017C012BED3FE049EC50E4C7014F -:10507000B6010F942E6D20E030E040EC51E40F9427 -:10508000A4650F94126D0F94A76D1B01672B19F483 -:1050900022242394312C112351F02BED3FE049ECD5 -:1050A00050E4C701B6010F94336C6B017C0120E022 -:1050B00030E0A901C701B6010F943E65811123C0FC -:1050C0002BA53CA54DA55EA56D897E898F89988D00 -:1050D0000F943E65811117C02FA538A949A95AA977 -:1050E0006DA17EA18FA198A50F943E6581110BC083 -:1050F00038E1232E312C4BEDC42E4FE0D42E49EC59 -:10510000E42E40E4F42E2DA93EA94FA958ADC701C5 -:10511000B6010F94A4654B015C0120E030E0A901C9 -:105120006D8D7E8D8F8D98A10F943E658823D9F06B -:10513000A5019401C501B4010F94A4654B015C0164 -:105140002D8D3E8D4F8D58A1CA01B9010F94A465D4 -:105150009B01AC01C501B4010F94346C0F94326F04 -:105160004B015C010DC020E030E0A901C501B40194 -:105170000F94946E87FF04C0B7FAB094B7F8B09458 -:105180002FE632E143E85AE3C501B4010F943E65CE -:1051900087FD0EC22091830E3091840E4091850EC2 -:1051A0005091860E2D8B3E8B4F8B588FC501B401CD -:1051B0000F94D66D0F94A76D7EA36DA36215730532 -:1051C00010F43EA22DA2ADA1BEA1BD0180E090E0F1 -:1051D0000F9443654B015C019B01AC01C701B60113 -:1051E0000F942E6D6D8F7E8F8F8F98A32D893E89A2 -:1051F0004F89588DE9A5FAA56485758586859785BB -:105200000F94336CA50194010F942E6D6DAB7EABA2 -:105210008FAB98AF2D8D3E8D4F8D58A1CA01B9012E -:105220000F94A46520E030E040E05FE30F94A465B4 -:105230009B01AC0160E070E080E89FE30F94336C69 -:105240006FA778AB89AB9AAB29A13AA14BA15CA11E -:1052500029873A874B875C878D899E89AF89B88D6E -:105260008D879E87AF87B88B60914402709145020D -:10527000072E000C880B990B0F94456520913D0279 -:1052800030913E0240913F02509140020F94A4653C -:105290002AE037ED43E25CE30F94A465698B7A8BD7 -:1052A0008B8B9C8B0E94E7EF9B01AC0128533F4FF7 -:1052B0004F4F5F4F2BA73CA74DA75EA722242394F7 -:1052C000312C39E13D8B4DA15EA12416350608F045 -:1052D00027C10F94B54D0E94E7EFDC01CB012BA550 -:1052E0003CA54DA55EA5821B930BA40BB50BB7FD8A -:1052F0000FC00E94E7EF9B01AC0128533F4F4F4F77 -:105300005F4F2BA73CA74DA75EA780E00E94F467E4 -:105310003D8931503D8B3323E9F12FA538A949A9A7 -:105320005AA9698D7A8D8B8D9C8D0F94A4656B0124 -:105330007C012D8D3E8D4F8D58A1C301B2010F947C -:10534000A465A70196010F94346C6B017C012FA515 -:1053500038A949A95AA9C301B2010F94A4654B0108 -:105360005C012D8D3E8D4F8D58A1698D7A8D8B8D71 -:105370009C8D0F94A4659B01AC01C501B4010F94F1 -:10538000336C2B013C01C601D701898F9A8FAB8FFB -:10539000BC8F66C0B10180E090E00F9443652D8D15 -:1053A0003E8D4F8D58A10F94A4656B017C010F9425 -:1053B000296D698F7A8F8B8F9C8FC701B6010F94EF -:1053C000246F4B015C01ABA9BCA9CD90DD90ED90A1 -:1053D000FC901397F7FAF094F7F8F09414962D9147 -:1053E0003D914D915C9117972D8B3E8B4F8B588F34 -:1053F000A7019601698D7A8D8B8D9C8D0F94A46584 -:105400002B013C012D893E894F89588DC501B4017E -:105410000F94A4659B01AC01C301B2010F94346CDD -:105420002B013C01A7019601C501B4010F94A465AD -:105430006B017C012D893E894F89588D698D7A8D4C -:105440008B8D9C8D0F94A4659B01AC01C701B601A7 -:105450000F94336C698F7A8F8B8F9C8FB9E1BD8BE2 -:1054600021962CAD3DAD4EAD5FAD2197C301B2018C -:105470000F94346C69837A838B839C8325962CAD3F -:105480003DAD4EAD5FAD2597698D7A8D8B8D9C8D31 -:105490000F94346C6D837E838F83988729A13AA102 -:1054A0004BA15CA129873A874B875C872DA93EA930 -:1054B0004FA958AD6D857E858F8598890F94346C82 -:1054C0006D877E878F87988BCE0101960E9441C39E -:1054D000AE01475F5F4FBE016B5F7F4FCE0101960C -:1054E0000F948F3DA12CB12C90E8C92E9FE3D92EAB -:1054F000E090870E8E010F5E1F4F9E01235F3F4F8E -:10550000AE01475F5F4FBE016B5F7F4FCE010196DB -:105510000F94C81C882321F03FEF231A330AD3CEFF -:1055200080E1E9A5FAA5DE01119601900D928A9518 -:10553000E1F789A19AA1ABA1BCA189879A87AB8722 -:10554000BC87CE0101960E9441C3AE01475F5F4F09 -:10555000BE016B5F7F4FCE0101960F948F3DA12C52 -:10556000B12C80E8C82E8FE3D82EE090870E8E01F4 -:105570000F5E1F4F9E01235F3F4FAE01475F5F4F9E -:10558000BE016B5F7F4FCE0101960F94C81C29A10D -:105590003AA14BA15CA129873A874B875C8780E1C0 -:1055A000FE013196A7E7BEE001900D928A95E1F7E2 -:1055B000CC5BDF4F0FB6F894DEBF0FBECDBFDF91DF -:1055C000CF911F910F91FF90EF90DF90CF90BF9000 -:1055D000AF909F908F907F906F905F904F903F9093 -:1055E0002F9008950F931F93CF938C01C62F81E0C6 -:1055F0009BE50F943654C8010F9436548AE30E94F9 -:10560000B0666AE070E08C2F90E00E944067CF9116 -:105610001F910F910C94C867EF92FF921F93CF9345 -:10562000DF93CDB7DEB7C454D1090FB6F894DEBF0F -:105630000FBECDBF84E40E9479A3882309F44DC135 -:1056400087EF9AE50F9436542091D3143091D414F7 -:105650004091D5145091D6146091770E7091780EC8 -:105660008091790E90917A0E0F94346C69AF7AAF75 -:105670008BAF9CAF2091D7143091D8144091D9149E -:105680005091DA1460917B0E70917C0E80917D0EAA -:1056900090917E0E0F94346C21966CAF7DAF8EAFDF -:1056A0009FAF21972091DB143091DC144091DD14E1 -:1056B0005091DE1460917F0E7091800E8091810E6A -:1056C0009091820E0F94346C25966CAF7DAF8EAFA7 -:1056D0009FAF2597CE01C9960F9448248EEE9AE588 -:1056E0000F94365487E79EE00F9448248091770EFC -:1056F0009091780EA091790EB0917A0E8DA79EA709 -:10570000AFA7B8AB80917B0E90917C0EA0917D0EDF -:10571000B0917E0E89AB9AABABABBCAB80917F0EE8 -:105720009091800EA091810EB091820E8DAB9EABB8 -:10573000AFABB8AF85EE9AE50F943654AE014B5C33 -:105740005F4FBE016F5C7F4FCE018D960F948F3DF2 -:10575000CE018D960F9448248CED9AE50F94365423 -:105760008DA59EA5AFA5B8A989A39AA3ABA3BCA3F9 -:1057700089A99AA9ABA9BCA98DA39EA3AFA3B8A7D9 -:105780008DA99EA9AFA9B8AD89A79AA7ABA7BCA7B9 -:10579000CE0181960F94553DCE0181960F944824F9 -:1057A0000F94D93B83ED9AE50F9436548BE8E82E9D -:1057B00083E0F82E10E080E20E94B066F70181914C -:1057C0007F010E94B0668AE30E94B066812F0F9429 -:1057D000F9510E9424671F5F143069F78AE00E9424 -:1057E000B0668AEC9AE50F9436540E946ECE809192 -:1057F0002A0D90912B0DA0912C0DB0912D0D898B20 -:105800009A8BAB8BBC8B80912E0D90912F0DA0911C -:10581000300DB091310D8D8B9E8BAF8BB88F8091F9 -:10582000320D9091330DA091340DB091350D898FCB -:105830009A8FAB8FBC8F83E00F94EA3B6D8F7E8F86 -:105840008F8F98A364E0CE0141960E94E5EB2DA5D1 -:105850003EA54FA558A969897A898B899C890F949F -:10586000336C69837A838B839C8329A93AA94BA9DA -:105870005CA96D897E898F89988D0F94336C6D83B7 -:105880007E838F8398872DA93EA94FA958AD698D36 -:105890007A8D8B8D9C8D0F94336C69877A878B877B -:1058A0009C872091830E3091840E4091850E5091FB -:1058B000860E6D8D7E8D8F8D98A10F94336C6D87C4 -:1058C0007E878F87988B81EC9AE50F94365464E03D -:1058D000CE0101960E94E5EB04C00F94D93B0E94D3 -:1058E000FACECC5BDF4F0FB6F894DEBF0FBECDBF54 -:1058F000DF91CF911F91FF90EF9008954F925F92AB -:105900006F927F928F929F92AF92BF92CF92DF92CF -:10591000EF92FF920F931F93CF93DF93CDB7DEB734 -:105920007C014DB65EB660906F0E7090700E8DB6B5 -:105930009EB66AE070E0C7010F9481646C01009725 -:1059400021F08C010E191F0904C0C7010F948C644B -:105950008C01C80101962DB73EB7281B390B0FB635 -:10596000F8943EBF0FBE2DBF8DB79EB701965C0168 -:10597000A801B7010F94AD64F501E00FF11F10828B -:10598000C5010F94A92581E00E94204DC114D104C6 -:1059900051F076019FEFE91AF90A0FB6F8949EBE0E -:1059A0000FBE8DBEC4CF0FB6F8949EBE0FBE8DBE87 -:1059B000C3010F94A9250FB6F8945EBE0FBE4DBE6D -:1059C000DF91CF911F910F91FF90EF90DF90CF90DB -:1059D000BF90AF909F908F907F906F905F904F900F -:1059E0000895CF93DF93C091ED0B80E6C89FE0014F -:1059F0001124C359D54F8091F00C80FF05C00F943E -:105A0000B654CE010E94CE67CE010F94A92580E046 -:105A1000DF91CF910C94204DFC01208131816217E0 -:105A2000730714F47183608308953F924F925F92DD -:105A30006F927F928F929F92AF92BF92CF92DF929E -:105A4000EF92FF920F931F93CF93DF93D82EC62E22 -:105A5000342E422E062F10E036E0732EE82EF12C65 -:105A6000E801789EC00DD11D1124CC0FDD1FCC0F95 -:105A7000DD1FCA5CD24F688179818A819B819B013D -:105A8000AC010F94816F8823E1F1532C5D0C642CE1 -:105A90006C0C272D352D3203F0011124E60DF11D7C -:105AA00067FCFA95EE0FFF1FEE0FFF1FEA5CF24F47 -:105AB00080809180A280B380A5019401C501B401CA -:105AC0000F94816F81111DC0232D250D640C372D7E -:105AD0002303F0011124E60DF11D67FCFA95EE0F8A -:105AE000FF1FEE0FFF1FEA5CF24F40805180628083 -:105AF0007380A3019201C301B2010F94816F8823C7 -:105B000011F080E032C0A3019201C501B4010F94ED -:105B10003E6587FF05C088829982AA82BB820EC03B -:105B2000A5019401C501B4010F94346CA301920145 -:105B30000F94336C688379838A839B8386E08E9D80 -:105B4000F0018F9DF00D1124E00FF11FEE0FFF1FEC -:105B5000EE0FFF1FEA5CF24F2081318142815381B9 -:105B60006C2D8D2D0E943F8D81E0DF91CF911F9193 -:105B70000F91FF90EF90DF90CF90BF90AF909F90EC -:105B80008F907F906F905F904F903F9008952F92ED -:105B90003F924F925F926F927F928F929F92AF92BD -:105BA000BF92CF92DF92EF92FF920F931F93CF930A -:105BB000DF93CDB7DEB7EA970FB6F894DEBF0FBE1E -:105BC000CDBF8BA77DA76CA75FA74EA728AB1AAB4D -:105BD00009AB8FEF8E8F8E8D8D8F83EF9FE4A3ECBB -:105BE000B7EC8F8F98A3A9A3BAA38CA59DA5FC01A0 -:105BF000E080F1800281138188A9882349F0809197 -:105C0000DF149091E014A091E114B091E21403C06C -:105C100080E090E0DC019C01AD01C801B7010F9468 -:105C2000346CDC01CB018F839887A987BA878EA556 -:105C30009FA5FC01E080F1800281138188A988235F -:105C400049F08091E3149091E414A091E514B0918F -:105C5000E61403C080E090E0DC019C01AD01C801C6 -:105C6000B7010F94346CDC01CB018B879C87AD8727 -:105C7000BE878FEF9FE4A3ECB7E489839A83AB835D -:105C8000BC831D828D8186300CF0D3C11E828E8133 -:105C900086300CF0CAC18BA5882329F58D81282F69 -:105CA000880F330B8E81482F880F550BC901880F41 -:105CB000991F820F931F880F991F840F951F880FBC -:105CC000991F880F991F8A5C924FFC0180819181F6 -:105CD000A281B3819C01AD01BC01CD010F94816F04 -:105CE000882309F057C08BA5813021F58D81282F9D -:105CF000880F330B8E81482F880F550BC901880FF1 -:105D0000991F820F931F880F991F840F951F880F6B -:105D1000991F880F991F8A5C924FFC0180819181A5 -:105D2000A281B3819C01AD01BC01CD010F94816FB3 -:105D3000882381F18BA5823079F52E813D8189A957 -:105D40009AA99A8B898B388B2F878F85882F90E023 -:105D5000880F991F29893A89820F931FFC0180813E -:105D60009181CC01A0E0B0E02889222F30E004C06E -:105D7000B695A795979587952A95D2F7817099271B -:105D8000AA27BB2721E0892B8A2B8B2B09F420E043 -:105D9000222311F081E001C080E0882309F441C191 -:105DA0008D810E940CA4DC01CB018BA39CA3ADA32D -:105DB000BEA38E810E94DEA3DC01CB018FA398A736 -:105DC000A9A7BAA788A9882361F09E01295D3F4F42 -:105DD000CE018396B9010E9400A6982F81E0892701 -:105DE0000FC08FA198A5A9A5BAA59E012D5D3F4F13 -:105DF000AC01BD01C9010F940616982F81E08927D7 -:105E0000882309F00DC18BA19CA1ADA1BEA19C016D -:105E1000AD016F81788589859A850F94336CDC019B -:105E2000CB016C017D018BA19CA1ADA1BEA19C0108 -:105E3000AD016F81788589859A850F94336CDC017B -:105E4000CB019C01AD01C701B6010F94A465DC0133 -:105E5000CB016C017D018FA198A5A9A5BAA59C01D4 -:105E6000AD016B857C858D859E850F94336CDC013F -:105E7000CB018BAB9CABADABBEAB8FA198A5A9A55D -:105E8000BAA59C01AD016B857C858D859E850F949F -:105E9000336CDC01CB019C01AD016BA97CA98DA900 -:105EA0009EA90F94A465DC01CB019C01AD01C70143 -:105EB000B6010F94346CDC01CB01BC01CD010F9411 -:105EC000326FDC01CB018B8B9C8BAD8BBE8B8091B9 -:105ED000770E9091780EA091790EB0917A0E2BA149 -:105EE0003CA14DA15EA1BC01CD010F94336CDC013E -:105EF000CB016C017D018091770E9091780EA0917D -:105F0000790EB0917A0E2BA13CA14DA15EA1BC01EE -:105F1000CD010F94336CDC01CB019C01AD01C701B5 -:105F2000B6010F94A465DC01CB016C017D01809169 -:105F30007B0E90917C0EA0917D0EB0917E0E2FA1D4 -:105F400038A549A55AA5BC01CD010F94336CDC01DD -:105F5000CB018FAB98AFA9AFBAAF80917B0E909178 -:105F60007C0EA0917D0EB0917E0E2FA138A549A583 -:105F70005AA5BC01CD010F94336CDC01CB019C010F -:105F8000AD016FA978AD89AD9AAD0F94A465DC0120 -:105F9000CB019C01AD01C701B6010F94346CDC014B -:105FA000CB01BC01CD010F94326FDC01CB012DEC94 -:105FB0003CEC4CEC5DE3BC01CD010F94A465DC012D -:105FC000CB019C01AD016B897C898D899E890F94E1 -:105FD000346CDC01CB018B8B9C8BAD8BBE8B298110 -:105FE0003A814B815C816B897C898D899E890F9474 -:105FF0003E658823B4F48B899C89AD89BE898983E9 -:106000009A83AB83BC838D818D8F8E818E8F8981A6 -:106010009A81AB81BC818F8F98A3A9A3BAA301C039 -:1060200000008E818F5F8E8332CE8D818F5F8D8356 -:1060300029CE86E0FE017D96DE01579601900D92F5 -:106040008A95E1F750E05F8940E0488D30E0398D76 -:1060500020E02A8D90E09B8D80E08C8D252E342EC3 -:10606000432E522E692E782EA22CB32CC42CD52C64 -:10607000E62CF72C082D192D2A2D3B2D4C2D5D2DAE -:106080006E2D7F2D802F912FEA960FB6F894DEBFEC -:106090000FBECDBFDF91CF911F910F91FF90EF9079 -:1060A000DF90CF90BF90AF909F908F907F906F9038 -:1060B0005F904F903F902F9008952F923F924F9274 -:1060C0005F926F927F928F929F92AF92BF92CF9288 -:1060D000DF92EF92FF920F931F93CF93DF93CDB791 -:1060E000DEB7A4970FB6F894DEBF0FBECDBF1982FE -:1060F0001A828FEF888F888D8F8B8FEF9FE4A3ECB0 -:10610000B7EC898F9A8FAB8FBC8F1B828B818630C7 -:106110000CF054C11C828C8186300CF04BC18B81F9 -:10612000282F880F330B8C81482F880F550BC901FE -:10613000880F991F820F931F880F991F840F951F37 -:10614000880F991F880F991F8A5C924FFC018081EC -:106150009181A281B38111E09C01AD01BC01CD010F -:106160000F94816F882309F410E0112309F41EC1F4 -:106170008B810E940CA4DC01CB018D8F9E8FAF8F91 -:10618000B8A38C810E94DEA3DC01CB0189A39AA372 -:10619000ABA3BCA39E012F5D3F4FCE014D96B9012D -:1061A0000E9400A6982F81E08927882309F0FDC06E -:1061B00081E089838FEF8D838FEF8E8383EF9FE460 -:1061C000A3ECB7E48F839887A987BA871B868B8552 -:1061D00086300CF0C9C01C868C8586300CF0C0C09F -:1061E0008B85282F880F330B8C85482F880F550BF4 -:1061F000C901880F991F820F931F880F991F840F61 -:10620000951F880F991F880F991F8A5C924FFC0178 -:1062100080819181A281B38110E09C01AD01BC011C -:10622000CD010F94816F882309F411E0112309F443 -:1062300093C081E08A838B81282F880F330B8B8555 -:10624000082E000C990BA901481B590B8B81282F94 -:10625000880F330B8B85082E000C990BB901681B36 -:10626000790BCB01489F9001499F300D589F300D0D -:1062700011248C81482F880F550B8C85082E000C1B -:10628000990BBA01681B790B8C81482F880F550B2D -:106290008C85082E000C990B481B590B649FC0017C -:1062A000659F900D749F900D1124820F931F092EEE -:1062B000000CAA0BBB0BBC01CD010F944565DC01A2 -:1062C000CB01BC01CD010F94326F6B017C010E94A8 -:1062D000E7EFDC01CB012FE230E040E050E0BC0111 -:1062E000CD010F94946BDC01CB010D96A11DB11D66 -:1062F000BC01CD010F944365DC01CB019C01AD01D4 -:1063000060E070E080E89FE30F942E6DDC01CB012C -:106310009C01AD01C701B6010F94346CDC01CB01C7 -:106320008D879E87AF87B88B2F81388549855A85A1 -:106330006D857E858F8598890F943E65882364F4EA -:106340008D859E85AF85B8898F839887A987BA8701 -:106350008B818D838C818E838C858F5F8C873CCFE6 -:106360008B858F5F8B8733CF8A818823F9F08D816E -:106370008823E4F0898D9A8DAB8DBC8D2F81388573 -:1063800049855A85BC01CD010F943E65882374F47C -:106390008F819885A985BA85898F9A8FAB8FBC8F9D -:1063A0008D818F8B8E81888F01C000008C818F5FE3 -:1063B0008C83B1CE8B818F5F8B83A8CE9A8181E055 -:1063C0008927882379F08981882361F083E08F8B86 -:1063D00083E0888F80E090E0A0E8BFE3898F9A8F08 -:1063E000AB8FBC8F86E0FE017796DE01519601905F -:1063F0000D928A95E1F750E0598940E04A8930E0F2 -:106400003B8920E02C8990E09D8980E08E89252EB3 -:10641000342E432E522E692E782EA22CB32CC42C4F -:10642000D52CE62CF72C082D192D2A2D3B2D4C2D83 -:106430005D2D6E2D7F2D802F912FA4960FB6F89491 -:10644000DEBF0FBECDBFDF91CF911F910F91FF90A7 -:10645000EF90DF90CF90BF90AF909F908F907F9004 -:106460006F905F904F903F902F90089581E09091B2 -:10647000611A911101C080E00D945F528091671EF6 -:106480008093611A80E00D945F521F93CF93DF9346 -:10649000CDB7DEB727970FB6F894DEBF0FBECDBFDE -:1064A000198210925B1A10925C1A10925D1A109267 -:1064B0005E1A10925A1A1092591A88E50E94C2A3C5 -:1064C0008093601A8091601A882329F00E9442A369 -:1064D000DC01CB0108C08091770E9091780EA091DD -:1064E000790EB0917A0E8093551A9093561AA09314 -:1064F000571AB093581A89E50E94C2A380935F1A75 -:1065000080915F1A882329F00E9442A3DC01CB010D -:1065100008C080917B0E90917C0EA0917D0EB09171 -:106520007E0E8093511A9093521AA093531AB093EF -:10653000541A82E50E9479A3882331F18091681E64 -:106540009091691E21E0892B09F420E0222319F0A3 -:106550000E943EA302C084E290E090935A1A809376 -:10656000591A64E270E089E59AE10F940C2D80914C -:10657000591A90915A1A1816190634F081E09DE5BF -:106580000F94365481E088C186E50E9479A3882360 -:1065900019F00E943EA302C080E090E09093D20DDB -:1065A0008093D10D8091D10D9091D20D992334F02B -:1065B0008091D10D9091D20D059734F088ED9CE536 -:1065C0000F94365481E0898380E50E9479A3882363 -:1065D000E1F00E943EA39B838A838A819B819093F2 -:1065E000501A80934F1A80914F1A9091501A992304 -:1065F00034F080914F1A9091501A079734F088EB3D -:106600009CE50F94365481E089838AE40E9479A343 -:10661000882359F18091681E9091691E21E0892B91 -:1066200009F420E0222319F00E943EA302C080E07A -:1066300090E09093D40D8093D30D8091D30D9091E1 -:10664000D40D892B91F08091D30D9091D40D0297A8 -:1066500034F08091D30D9091D40D0A9734F08EE8E8 -:106660009CE50F94365481E089839091601A809163 -:106670005F1A981731F084E69CE50F94365481E058 -:1066800089838091551A9091561AA091571AB0910A -:10669000581A11E020E030E0A901BC01CD010F94AF -:1066A000946E88230CF410E081E081278823C1F4E4 -:1066B0008091551A9091561AA091571AB091581A74 -:1066C00011E020E030E04DE953E4BC01CD010F942E -:1066D0003E6518160CF410E081E08127882361F0F4 -:1066E00080E090E0ADE1B3E48093551A9093561AA0 -:1066F000A093571AB093581A8091511A9091521A38 -:10670000A091531AB091541A11E020E030E0A90191 -:10671000BC01CD010F94946E88230CF410E081E04D -:1067200081278823C1F48091511A9091521AA09127 -:10673000531AB091541A11E020E030E04AE953E4D2 -:10674000BC01CD010F943E6518160CF410E081E0F9 -:106750008127882361F080E090E0AAE1B3E4809390 -:10676000511A9093521AA093531AB093541A8981D4 -:10677000882311F081E090C081E40E9479A38823EE -:1067800089F084E40E9479A3882331F081E39CE5B9 -:106790000F94365481E080C081E00F945F520F94D3 -:1067A00045540AC084E40E9479A3882329F080E03C -:1067B0000F945F520F94455483E40E9479A3809311 -:1067C0004E1A80914E1A882361F00E9442A3DC0188 -:1067D000CB0180935B1A90935C1AA0935D1AB093DF -:1067E0005E1A86E40E94C2A38823D1F10E9442A3CC -:1067F000DC01CB018C839D83AE83BF8311E020E05D -:1068000030E0A9016C817D818E819F810F94946E0F -:1068100088230CF410E081E08127882391F411E0B3 -:1068200020E030E048EC52E46C817D818E819F81D4 -:106830000F943E6518160CF410E081E08127882340 -:1068400031F088EF9BE50F94365481E025C08C81B0 -:106850009D81AE81BF8141E0BC01CD010F94D75233 -:1068600060E070E084E50E94CFA390934D1A80937E -:106870004C1A80914C1A90914D1A992334F08091C2 -:106880004C1A90914D1A039734F084EE9BE50F94C7 -:10689000365481E001C080E027960FB6F894DEBF41 -:1068A0000FBECDBFDF91CF911F9108958F929F9220 -:1068B000AF92BF92EF92FF920F931F93CF93DF930C -:1068C00086E3E82E8DE0F82EC0E08701D0E0F801E5 -:1068D00080809180A280B380A5019401C501B4019C -:1068E0000F94816F811117C020915B1A30915C1A4F -:1068F00040915D1A50915E1AC501B4010F94346C39 -:106900009B01AC01F80160837183828393836D2FB7 -:106910008C2F0E943F8DDF5F0C5F1F4FD630B9F682 -:10692000CF5FF8E1EF0EF11CC63079F6DF91CF9121 -:106930001F910F91FF90EF90BF90AF909F908F901D -:1069400008952F923F924F925F926F927F928F9213 -:106950009F92AF92BF92CF92DF92EF92FF920F93EE -:106960001F93CF93DF93CDB7DEB72A970FB6F89476 -:10697000DEBF0FBECDBF8C834D835E836F83788770 -:1069800086E39DE09B838A838C0186E0782E212C10 -:10699000312CC12CD12C76011A861986E985FA850D -:1069A000E00FF11F80809180A280B380A501940147 -:1069B000C501B4010F94816F81110BC0A501940131 -:1069C000C701B6010F94346C6B017C019FEF291A4B -:1069D000390AE985FA853496FA87E9877897F1F6D6 -:1069E0007A94085E1F4F7110D7CFB101032C000CB1 -:1069F000880B990B0F9445659B01AC01C701B6014B -:106A00000F942E6D6B017C0186E39DE09A87898748 -:106A100096E09983812C912C540100E010E0E985E7 -:106A2000FA85E00FF11F4080518062807380A301DE -:106A30009201C301B2010F94816F811112C0A701AD -:106A40009601C301B2010F94336C9B01AC010F940A -:106A5000A4659B01AC01C501B4010F94346C4B01DA -:106A60005C010C5F1F4F08311105C9F6E981E15047 -:106A7000E98389859A8548969A878987E111CDCFE0 -:106A8000B10186EA9BE50F9493548AE00E94B066B8 -:106A9000ECE8F8E0FA87E987E985FA858191FA87D9 -:106AA000E987882319F00E94B066F6CF46E0C70157 -:106AB000B6010E9450678AE00E94B066B1016F5F24 -:106AC0007F4F072E000C880B990B0F9445659B0197 -:106AD000AC01C501B4010F942E6D0F94326F4B01C0 -:106AE0005C0189E198E09A878987E985FA85819137 -:106AF000FA87E987882319F00E94B066F6CF46E04E -:106B0000C501B4010E9450678AE00E94B066FC8112 -:106B1000FF23F1F110E08A819B819A87898700E049 -:106B2000E985FA8580809180A280B380A5019401D7 -:106B3000C501B4010F94816F81111AC02D813E816E -:106B40004F815885C701B6010F94346C9B01AC018D -:106B5000C501B4010F94336C9B01AC01E985FA8542 -:106B60006083718382839383602F812F0E943F8D86 -:106B70000F5F89859A8504969A878987063081F602 -:106B80001F5FEA81FB817896FB83EA83163019F652 -:106B90002A960FB6F894DEBF0FBECDBFDF91CF911E -:106BA0001F910F91FF90EF90DF90CF90BF90AF902B -:106BB0009F908F907F906F905F904F903F902F901D -:106BC0000895AF92BF92CF92DF92EF92FF920F9310 -:106BD0001F93CF93DF93CDB7DEB7A8970FB6F89486 -:106BE000DEBF0FBECDBF9BA38AA37DA36CA34EA324 -:106BF0002FA308A70F943E3281E00F948D1684E2F4 -:106C000089838EA1882331F080914C1A90914D1A7E -:106C10000E941DA78981882F90E025E230E0A9011C -:106C2000481B590BCA019B838A838FEC9BE52A8101 -:106C30003B81B9010F9493548DEC9BE564E270E0C5 -:106C40000F94935489EC9BE50F94365485EB9BE5A8 -:106C50001F9224E22F932B812F932A812F93292F88 -:106C60002F938F931F920F94DC4B8DB79EB707968F -:106C70000FB6F894DEBF0FBECDBF88A58823C9F03C -:106C80000F945D30A22EB32EC42ED52EE62EF72EF5 -:106C9000082F192F2A2D3B2D4C2D5D2D6E2D7F2D6C -:106CA000802F912F2C8B3D8B4E8B5F8B688F798F34 -:106CB00021C04CA15DA18AA19BA100E010E021E0D0 -:106CC000BC0180E00F94C72DA22EB32EC42ED52E6A -:106CD000E62EF72E082F192F2A2D3B2D4C2D5D2D3A -:106CE0006E2D7F2D802F912F2C8B3D8B4E8B5F8BAC -:106CF000688F798F8C8988230CF45AC08C890E9404 -:106D00000CA4DC01CB018A8F9B8FAC8FBD8F8D894A -:106D10000E94DEA3DC01CB018E8F9F8FA8A3B9A3B5 -:106D20008091D10D9091D20D282F8FA1882311F041 -:106D300031E001C032E0BE01625E7F4FCE014A9673 -:106D400001E0432F0F942E17DC01CB018C839D8330 -:106D5000AE83BF838C89282F880F330B8D89482FF2 -:106D6000880F550BC901880F991F820F931F880F39 -:106D7000991F840F951F880F991F880F991F9C01D9 -:106D80002A5C324F8C819D81AE81BF81F901808365 -:106D90009183A283B3838D89682F8C89782F8C810E -:106DA0009D81AE81BF819C01AD01872F0E943F8DE7 -:106DB0000E94DB678C89882344F089818150898314 -:106DC0008981882311F081E001C080E0882309F0E7 -:106DD00018CF80E00F948D160F9445160F9436321D -:106DE000188A198A1A8A1B8A8CA19DA1FC018081AC -:106DF0009181A281B3812091E3143091E4144091F8 -:106E0000E5145091E614BC01CD010F94336CDC0104 -:106E1000CB016C017D0160E070E083E090E00E94B6 -:106E200018A7092E000CAA0BBB0BBC01CD010F94B7 -:106E30004565DC01CB019C01AD01C701B6010F9492 -:106E40003E6588238CF460E070E083E090E00E946F -:106E500018A7092E000CAA0BBB0BBC01CD010F9487 -:106E60004565DC01CB0155C08CA19DA1FC01808151 -:106E70009181A281B3812091E3143091E414409177 -:106E8000E5145091E614BC01CD010F94336CDC0184 -:106E9000CB016C017D0164E371E081E391E00E942C -:106EA00013A7092E000CAA0BBB0BBC01CD010F943C -:106EB0004565DC01CB019C01AD01C701B6010F9412 -:106EC000946E18168CF464E371E081E391E00E9403 -:106ED00013A7092E000CAA0BBB0BBC01CD010F940C -:106EE0004565DC01CB0115C08CA19DA1FC01808111 -:106EF0009181A281B3812091E3143091E4144091F7 -:106F0000E5145091E614BC01CD010F94336CDC0103 -:106F1000CB018C879D87AE87BF878AA19BA1FC018F -:106F200080819181A281B3812091DF143091E0149E -:106F30004091E1145091E214BC01CD010F94336CE7 -:106F4000DC01CB016C017D0160E070E083E090E04A -:106F50000E9418A7092E000CAA0BBB0BBC01CD0187 -:106F60000F944565DC01CB019C01AD01C701B60161 -:106F70000F943E6588238CF460E070E083E090E03D -:106F80000E9418A7092E000CAA0BBB0BBC01CD0157 -:106F90000F944565DC01CB0155C08AA19BA1FC0182 -:106FA00080819181A281B3812091DF143091E0141E -:106FB0004091E1145091E214BC01CD010F94336C67 -:106FC000DC01CB016C017D016BE371E087E391E0B3 -:106FD0000E9413A7092E000CAA0BBB0BBC01CD010C -:106FE0000F944565DC01CB019C01AD01C701B601E1 -:106FF0000F94946E18168CF46BE371E087E391E0C4 -:107000000E9413A7092E000CAA0BBB0BBC01CD01DB -:107010000F944565DC01CB0115C08AA19BA1FC0141 -:1070200080819181A281B3812091DF143091E0149D -:107030004091E1145091E214BC01CD010F94336CE6 -:10704000DC01CB0188879987AA87BB87AE01405FA7 -:107050005F4F9E01245F3F4FCE010896B9010E9409 -:107060002DCEA8960FB6F894DEBF0FBECDBFDF9130 -:10707000CF911F910F91FF90EF90DF90CF90BF9035 -:10708000AF90089584E08A950000E9F70895FC0127 -:10709000DB018C9120813181382798E0A901440FD0 -:1070A000551F37FD06C09A019150C1F731832083E7 -:1070B00008959A01B1E22B27B0E13B27F5CFEF927B -:1070C000FF920F931F93CF93DF93FC010190002059 -:1070D000E9F731979F01281B390B12161306CCF5DF -:1070E0006AE56093C81C65EA6093C91C63E0620F9F -:1070F0006093CA1C62E86093CB1C5093CC1C4093F5 -:10710000CD1CFC01AEECBCE1820F931F41914D936D -:10711000E817F907D9F788ECE82E8CE1F82E00E0A3 -:1071200010E0E9012596C017D10764F0D7016D91F1 -:107130007D018CE69AE10E949E700F9442380F5FA9 -:107140001F4FF1CF8AE1E8ECFCE1DF011D928A9547 -:10715000E9F7DF91CF911F910F91FF90EF90089584 -:107160000F931F93CF93DF932091791C2A3509F059 -:1071700098C090917A1C953A09F093C08091781C40 -:10718000833008F48EC02093C81C9093C91C809350 -:10719000CA1C90917B1C9093CB1C9038B1F49091B9 -:1071A0007C1C9093CC1CE4E8FCE1ADECBCE120E05D -:1071B00030E090E00297281739070CF044C0408176 -:1071C00032964D932F5F3F4FF6CF833061F4913865 -:1071D00009F064C080917C1C8093CC1C8091801C41 -:1071E0008093CD1C30C09238F1F490917C1C20919A -:1071F0007D1C2093CC1C9093CD1CEEECFCE120E098 -:1072000030E090E0039728173907ECF4D901AE7FFE -:10721000AC57B34E4C9111965C91508341832E5FD5 -:107220003F4F3296F0CF843071F4933861F48091FF -:107230007C1C90917D1C9093CC1C8093CD1C8091E4 -:10724000801C8093CE1C08EC1CE1C0E0D0E0809153 -:10725000781C90E002968C179D075CF0D8016D9128 -:107260008D018CE69AE10E949E700F94423821961F -:10727000EECF80E5E8E7FCE1DF011D928A95E9F7B2 -:107280008AE1E8ECFCE1DF011D928A95E9F78AE5E5 -:107290008093791C85EA80937A1C03C0923899F612 -:1072A000A4CFDF91CF911F910F910895CF93DF93DA -:1072B000CDB7DEB7A8970FB6F894DEBF0FBECDBF2F -:1072C0008C010E9489A00F94B2548EE49DE50F9426 -:1072D00036540115110511F405E41DE580916B1A72 -:1072E00080FD75C0816080936B1A8FE998E00E94E1 -:1072F000CE67882483948AE5982E9092851C80928C -:10730000841C8FE090E09093871C8093861C97E00C -:10731000A92EA092781C22E8B22EB0927B1C34E8F1 -:10732000C32ED12CE12CF12CC0927C1CD0927D1C60 -:10733000E0927E1CF0927F1C0F94B0389092851CD6 -:107340008092841C88E590E09093871C8093861C33 -:10735000A092781CB0927B1CC0927C1CD0927D1CA9 -:10736000E0927E1CF0927F1C0F94B03863E070E0D6 -:1073700080E090E00E94248D8AE289838A838B8357 -:107380008C83DE011596F801CE0101969D01281B24 -:10739000390B44913196442311F04D93F7CFFC0102 -:1073A000E20FF31F2AE2AF01481B590B4832510587 -:1073B00011F02193F8CF40E650E160E070E00F94C7 -:1073C0005F386AE070E080E090E00E94248D61E028 -:1073D0008CE39DE50F94DB0789EE93E030E601979F -:1073E00029F0232F2A950000E9F7F9CFF89489EEC8 -:1073F00093E038EE019729F0232F2A950000E9F752 -:10740000F9CF0E9489A00E941764A895FECFCF9261 -:10741000DF92EF92FF920E94E7EF6B017C0128E57B -:10742000C20E22E0D21EE11CF11C0E94EF6F8F3FC2 -:1074300061F00E94E7EFDC01CB018C199D09AE09D8 -:10744000BF09B7FDF2CF80E001C081E0FF90EF906F -:10745000DF90CF9008958F929F92AF92BF92CF927C -:10746000DF92EF92FF920F931F93CF93DF9300D0A1 -:107470001F92CDB7DEB7FC018381813079F5818120 -:1074800081FF2CC081899289A389B489892B8A2B99 -:107490008B2B09F448C07F0140E050E0BA01CF01D6 -:1074A0000E9479B08823D1F0F70185889688A78853 -:1074B000B08CC18CD28C82E090E0A0E0B0E0F6010C -:1074C00080839183A283B3839E012F5F3F4FB501D9 -:1074D000A401C6010E949C77811102C080E03CC0DB -:1074E00000E010E09801B501A401C6010E940A77EE -:1074F0008823A1F389809A80AB80BC80F6018789BC -:10750000803141F4F8EF8F16FFEF9F06A104B1041C -:1075100060F4DACF88EF88168FEF9806A8068FE020 -:10752000B80618F4D1CF81E017C0F701158A168A82 -:10753000178A108E118A128A138A148A81818068B0 -:107540008183C7010E94B2B3882341F240E050E03A -:10755000BA01C7010E9479B00F900F900F900F9061 -:10756000DF91CF911F910F91FF90EF90DF90CF901F -:10757000BF90AF909F908F9008952F923F924F921F -:107580005F926F927F928F929F92AF92BF92CF92B3 -:10759000DF92EF92FF920F931F93CF93DF931F928F -:1075A0001F92CDB7DEB77C012DB73EB73A83298352 -:1075B0008091411E811107C01092261E1092291E33 -:1075C00081E08093411E80911E1E811107C01092A0 -:1075D000031E1092061E81E080931E1EFB01808117 -:1075E0008F3259F482E69BE1F701918380831092F8 -:1075F000F61D8B010F5F1F4F06C087E49BE1F7016B -:10760000918380838B01F7012080318026E2C22E96 -:107610002EE1D22E0115110509F479C04DB65EB6E2 -:107620006FE270E0C8010F94DA704C010817190777 -:1076300008F06BC03C01601A710A7724C3010196FF -:107640002DB73EB7281B390B0FB6F8943EBF0FBEBF -:107650002DBF8DB79EB701965C01A301B8010F94B1 -:10766000FA70F501E60DF71D1082F7016081718156 -:1076700021E0A501C6010E94D1B781110FC0B5015B -:1076800088E29DE50F949F5485E29DE50F94365462 -:107690000FB6F8945EBE0FBE4DBE39C0F7018081B3 -:1076A00091812816390611F00E94E5B3F701D182C5 -:1076B000C082A091F61DAA3080F481E08A0F8093E9 -:1076C000F61DFBE1FA9FD0011124A851B34EF6013B -:1076D0008BE101900D928A95E1F7F701808191810C -:1076E00086529E4129F493E0C92E9EE1D92E04C012 -:1076F00086E2C82E8EE1D82E84010F5F1F4F0FB691 -:10770000F8945EBE0FBE4DBE85CFC80102C080E0BA -:1077100090E029813A810FB6F8943EBF0FBE2DBF8D -:107720000F900F90DF91CF911F910F91FF90EF90ED -:10773000DF90CF90BF90AF909F908F907F906F9091 -:107740005F904F903F902F90089520916A1A269550 -:10775000269520FF2DC02091011E3091021E280F7A -:10776000391F3093021E2093011E2091681A309118 -:10777000691A280F391F3093691A2093681A2091CB -:1077800008012170209306012091661A3091671A32 -:10779000820F931F9093671A8093661A0E94E7EFF7 -:1077A0006093621A7093631A8093641A9093651AB7 -:1077B00008959091F01B8091F11B981306C0809161 -:1077C0009F0C9091A00C892B21F080E00E94F4671F -:1077D000F0CF0895CF93DF93C82F0F94F95124E091 -:1077E000C29FE0011124C45EDB4E0F9445652881E1 -:1077F00039814A815B810F94A465DF91CF9108950F -:107800002F923F924F925F926F927F929F92AF9290 -:10781000BF92CF92DF92EF92FF920F931F93CF937D -:10782000DF93CDB7DEB768970FB6F894DEBF0FBE13 -:10783000CDBFA82E1A012B01922EB32EC82ED12C0B -:10784000F601ED51F24AE491EE24E3941E160CF495 -:10785000E12CFF24F39420E030E0A901C201B10142 -:107860000F94946E18160CF0F12CFE2461F082E057 -:10787000A81209C081E00E949FEB69E170E080E0FE -:1078800090E00F94CA5380E00F94EA3B69837A83B7 -:107890008B839C8381E00F94EA3B6D837E838F838F -:1078A000988782E00F94EA3B69877A878B879C8769 -:1078B00083E00F94EA3B6D877E878F87988BCC0C93 -:1078C000DD1CCC0CDD1C66246394712C6C0E7D1EBB -:1078D0006C0C7D1CF30110821182128213829E01B6 -:1078E000235F3F4FAE01475F5F4FBE016B5F7F4F2E -:1078F000CE0101960F94B71BF301208231824282A0 -:1079000053821D8A1E8A1F8A188EE090870E20E0FF -:1079100030E0A901B801892D9B2D0F943E6581119E -:107920000AC0F601E656F24A85919591A591B49167 -:107930008C019A2EBB2EC801A92DBB2D898B9A8B49 -:10794000AB8BBC8BCE0145966C018E010F5E1F4F39 -:107950009E01235F3F4FAE01475F5F4FBE016B5FEC -:107960007F4F44970E9484780F94D93BFF2041F0C9 -:1079700092E0A91203C080E00E949FEB0E9490F069 -:1079800068960FB6F894DEBF0FBECDBFDF91CF91E2 -:107990001F910F91FF90EF90DF90CF90BF90AF902D -:1079A0009F907F906F905F904F903F902F900895A1 -:1079B0009091F01B8091F11B981306C080919F0C51 -:1079C0009091A00C892B21F080E00E94F467F0CF09 -:1079D0005F9A80916A1A8E7F80936A1A8A9A809140 -:1079E0006A1A8D7F80936A1A809108018095817050 -:1079F0008093060180916A1A8B7F80936A1A0C9497 -:107A00001764CF93DF9390916F00292F227091FF1D -:107A100005C090916F009D7F90936F0094E0899FC7 -:107A2000A0011124FA01E055F14E6081718182813B -:107A30009381222329F020916F00226020936F0010 -:107A4000EA01C45EDB4E0F944565288139814A8185 -:107A50005B810F94A465DF91CF91089580916F00B1 -:107A6000982F927081FF05C080916F008D7F809369 -:107A70006F008091F11B8093F01B8093EF1B80932C -:107A8000EE1B84E68093ED1B28EE33E03093A00CD0 -:107A900020939F0C992329F080916F00826080933E -:107AA0006F0081E08093AF1E0895CF92DF92EF9236 -:107AB000FF92CF93DF932091671E222349F1EC01BF -:107AC00008960F94460E6B017C0120E030E0A9017E -:107AD0000F943E65882379F0BE016C5F7F4FCE0125 -:107AE0000E943AA49B01AC01C701B6010F94A465A2 -:107AF0009B01AC0103C020E030E0A90168857985D5 -:107B00008A859B850F94336C688779878A879B87E2 -:107B1000DF91CF91FF90EF90DF90CF9008958F92FB -:107B20009F92AF92BF92EF92FF920F931F93CF93CA -:107B3000DF932091671E222349F1EA017B018C012A -:107B4000CA010F94460E4B015C0120E030E0A90110 -:107B50000F943E65882369F0B701C8010E943AA4DA -:107B60009B01AC01C501B4010F94A4659B01AC015C -:107B700003C020E030E0A901688179818A819B817E -:107B80000F94346C688379838A839B83DF91CF91D0 -:107B90001F910F91FF90EF90BF90AF909F908F90AB -:107BA00008957F928F929F92AF92BF92CF92DF9271 -:107BB000EF92FF920F931F93CF93DF937090561E17 -:107BC000C7E5DEE191E7C92E92E0D92E25E1E22E4C -:107BD00022E0F22E0FE51EE1772059F1F8018080B6 -:107BE0009180A280B38020E030E0A901C501B401FA -:107BF0000F943E658823E9F020E030E040E05FE349 -:107C0000C501B4010F94A4659B01AC010F94A46558 -:107C10002BED3FE049E450E40F94A4659B01AC01D7 -:107C200060E070E080E89FE30F942E6D4B015C01F3 -:107C300006C0812C912C80E8A82E8FE3B82E899263 -:107C40009992A992B992F601619171916F01072EF3 -:107C5000000C880B990B0F9445652AE037ED43E241 -:107C60005CE30F94A465A50194010F94A465F7014A -:107C700061937193819391937F010C5F1F4FFEE19C -:107C8000CF35DF0709F0A8CFDF91CF911F910F917A -:107C9000FF90EF90DF90CF90BF90AF909F908F902C -:107CA0007F9008954F925F926F927F928F929F92F2 -:107CB000AF92BF92CF92DF92EF92FF920F931F93FA -:107CC000CF93DF93CDB7DEB768970FB6F894DEBFDA -:107CD0000FBECDBF8C015B015A834983FC01EE5B73 -:107CE000FF4F60817181828193810F9443656B01A5 -:107CF0007C01D5012D913D914D915C910F94A4652E -:107D00000F94126D0F94A76D69877A878B879C8774 -:107D1000E981FA812081318142815381C701B60115 -:107D20000F94A4650F94126D0F94A76D6D877E87D5 -:107D30008F87988B29853A854B855C852837310557 -:107D40004105510540F488E790E0A0E0B0E0898764 -:107D50009A87AB87BC872D853E854F855889283704 -:107D600031054105510540F488E790E0A0E0B0E01E -:107D70008D879E87AF87B88BF801E25BFF4F20812C -:107D800031814281538129833A834B835C83CA01C9 -:107D9000B9010F9445652B013C0169857A858B8576 -:107DA0009C850F944365698B7A8B8B8B9C8B20E031 -:107DB00030E0A901C301B2010F943E65882329F187 -:107DC000A7019601C701B6010F94A4654B015C01A0 -:107DD00029893A894B895C89CA01B9010F94A46544 -:107DE0009B01AC01C501B4010F94336C4B015C01E4 -:107DF000A3019201C301B2010F94346C9B01AC0149 -:107E0000C501B4010F942E6D03C060E070E0CB019A -:107E10000F94126D0F94A76D6D837E838F83988767 -:107E200069817A818B819C8190958095709561950F -:107E30007F4F8F4F9F4F0F9445654B015C016D85C0 -:107E40007E858F8598890F94436569837A838B83B8 -:107E50009C8320E030E0A901C501B4010F943E6588 -:107E6000882349F129813A814B815C81CA01B9019A -:107E70000F94A4656D8B7E8B8F8B988FA7019601D5 -:107E8000C701B6010F94A4659B01AC016D897E8981 -:107E90008F89988D0F94336C6B017C01A50194013F -:107EA000C501B4010F94346C9B01AC01C701B6014C -:107EB0000F942E6D03C060E070E0CB010F94D66D7F -:107EC000D80195968D909D90AD90BC909897750136 -:107ED00064012D813E814F815885C21AD30AE40A7C -:107EE000F50A0F94A76DC61AD70AE80AF90AF7FE31 -:107EF00075C020E030E0A901C301B2010F943E65D6 -:107F0000882309F443C0C501B4010F9443656B0194 -:107F10007C01A3019201C301B2010F94346C9B0157 -:107F2000AC01C701B6010F94A4656B017C012989DE -:107F30003A894B895C89CA01B9010F94A4659B01F8 -:107F4000AC01C701B6010F94336C6B017C01298130 -:107F50003A814B815C81CA01B9010F94A4659B01F0 -:107F6000AC01C701B6010F94346C6B017C0120E0B9 -:107F700030E040E850E4C301B2010F94A4659B01D6 -:107F8000AC01C701B6010F942E6D03C060E070E034 -:107F9000CB010F94126D7B018D83998320E030E03B -:107FA000A9010F94946E181624F0E12CF12C1D8277 -:107FB0001982B7018D8199810F94A76D6D837E839E -:107FC0008F83988786169706A806B90620F48D82B7 -:107FD0009E82AF82B886C12CD12C76018D819E8184 -:107FE000AF81B885F80182A793A7A4A7B5A7C80E4B -:107FF000D91EEA1EFB1EC6A6D7A6E0AAF1AAEA5B16 -:10800000FF4F29853A854B855C85208331834283E8 -:10801000538334968D859E85AF85B88980839183FF -:10802000A283B38368960FB6F894DEBF0FBECDBFB0 -:10803000DF91CF911F910F91FF90EF90DF90CF9044 -:10804000BF90AF909F908F907F906F905F904F9078 -:1080500008954F925F926F927F928F929F92AF920C -:10806000BF92CF92DF92EF92FF920F931F93CF9325 -:10807000C82FE82EF12CF701ED51F24AB49082306E -:1080800049F481E00F948D16811106C10F94910C73 -:10809000811102C16701CC0CDD1CCC0CDD1CF6018A -:1080A000E952F24A45905590659074906B2DBB0C47 -:1080B000770B880B990B0F9445654B015C0120E011 -:1080C00030E040EC5FE3C301B2010F94A465A50169 -:1080D00094010F94A465AB01BC0100E010E098018D -:1080E0008C2F0F94003CC23009F0CAC00F94420C90 -:1080F000E0E070E060EA80E42E2F372F462F582F03 -:10810000C501B4010F94A4654B015C0120E030E08F -:10811000A9010F943E65882309F44EC0C23021F0B6 -:1081200000E010E0980104C000E010E020E830E436 -:10813000B501A40170588C2F0F94003CC23051F44B -:108140000F94910C8111A8C0412C512C612C90E40A -:10815000792E21C0F701E853F24A6491611107C0FA -:108160000F94B65486EA9DE50F9436546AE0F60102 -:10817000E656F24A459055906590749070E080E024 -:1081800090E00F9445659B01AC01C301B2010F94CF -:108190002E6D2B013C01A5019401C501B4010F9482 -:1081A000346CAB01BC01930182018C2F0F94003C15 -:1081B000C23011F40F94420C81E090E00C2E01C00B -:1081C000880F0A94EAF790916A1A982B90936A1A8A -:1081D0009091090D892B8093090DF601E257F24A1F -:1081E00085919591A591B491F601E958F14F80835D -:1081F0009183A283B383C230D1F42091E7143091EC -:10820000E8144091E9145091EA1460917F0E709146 -:10821000800E8091810E9091820E0F94336C60934A -:108220007F0E7093800E8093810E9093820E109239 -:10823000691A1092681A0E94F8CEF601E25AF14FBC -:10824000D601A958B14F8D919D910D90BC91A02D53 -:1082500080839183A283B383C230F1F480E0CF9115 -:108260001F910F91FF90EF90DF90CF90BF90AF9054 -:108270009F908F907F906F905F904F900D948D1690 -:10828000F601E553F24A85919591A591B491E82FB5 -:10829000792F6A2F8B2F30CFCF911F910F91FF90A5 -:1082A000EF90DF90CF90BF90AF909F908F907F9096 -:1082B0006F905F904F900895CF93DF9324E0829F5B -:1082C000C0011124EC01CD52DB4EFC01E25AF54F06 -:1082D000DC01A65BB14E2D913D914D915C91608189 -:1082E0007181828193810F94346C688379838A834E -:1082F0009B83DF91CF9108951F93CF93DF938823C2 -:1083000029F0D091090DD095D17001C0D0E066233D -:1083100039F01091090D1695117081E0182701C0F0 -:1083200010E0442341F0C091090DC2FBCC27C0F9F5 -:1083300081E0C82701C0C0E0D11105C0111103C000 -:10834000CC2309F444C00F94B65488E89DE50F94FB -:108350003654DD2319F088E50E94B066112319F028 -:1083600089E50E94B066CC2319F08AE50E94B066C8 -:1083700080E89DE50F943654C11103C04DEC55E0E3 -:1083800002C044EC58E0111103C02DEC35E002C0EE -:108390002AEA38E0D11103C08DEC95E002C08DE5EA -:1083A00096E05F934F933F932F939F938F938EE627 -:1083B0009DE59F938F931F920F94DC4B8DB79EB7D3 -:1083C00009960FB6F8949EBF0FBE8DBFC1E08C2FEB -:1083D000DF91CF911F9108950F931F93CF93DF9358 -:1083E000CDB7DEB764970FB6F894DEBF0FBECDBF32 -:1083F000E82FF0E0EC56FF4BE4918E2F90E0FC016B -:108400003197E231F10508F049C28827E451FF4F66 -:108410008F4F0D942B6C84B5807C09F43FC287B5D7 -:108420001F928F9389ED9EE59F938F938E010F5F2F -:108430001F4F1F930F930F94D6640F900F900F90C0 -:108440000F900F900F90F80181918F01811102C060 -:1084500081E025C20E94B066F6CF84B5807309F42E -:108460001DC288B51F928F938FEC9EE59F938F93CB -:108470008E010F5F1F4F1F930F930F94D6640F90C1 -:108480000F900F900F900F900F90F80181918F0136 -:108490008823F1F20E94B066F8CF80918000807C42 -:1084A00009F4FCC180918800909189009F938F937B -:1084B00085EC9EE59F938F938E010F5F1F4F1F9357 -:1084C0000F930F94D6640F900F900F900F900F9012 -:1084D0000F90F80181918F01882309F4B9CF0E9490 -:1084E000B066F7CF80918000807309F4D7C1809186 -:1084F0008A0090918B009F938F938BEB9EE59F93C7 -:108500008F938E010F5F1F4F1F930F930F94D664AD -:108510000F900F900F900F900F900F90F801819196 -:108520008F01882309F494CF0E94B066F7CF809121 -:1085300080008C7009F4B2C180918C0090918D0004 -:108540009F938F9381EB9EE59F938F938E010F5F97 -:108550001F4F1F930F930F94D6640F900F900F909F -:108560000F900F900F90F80181918F01882309F4EB -:108570006FCF0E94B066F7CF8091B000807C09F485 -:108580008DC18091B3001F928F9387EA9EE59F93E0 -:108590008F938E010F5F1F4F1F930F930F94D6641D -:1085A0000F900F900F900F900F900F90F801819106 -:1085B0008F01882309F44CCF0E94B066F7CF8091D9 -:1085C000B000807309F46AC18091B4001F928F9348 -:1085D0008DE99EE59F938F938E010F5F1F4F1F9331 -:1085E0000F930F94D6640F900F900F900F900F90F1 -:1085F0000F90F80181918F01882309F429CF0E94FF -:10860000B066F7CF80919000807C09F447C18091DB -:108610009800909199009F938F9383E99EE59F9393 -:108620008F938E010F5F1F4F1F930F930F94D6648C -:108630000F900F900F900F900F900F90F801819175 -:108640008F01882309F404CF0E94B066F7CF809190 -:108650009000807309F422C180919A0090919B0050 -:108660009F938F9389E89EE59F938F938E010F5F71 -:108670001F4F1F930F930F94D6640F900F900F907E -:108680000F900F900F90F80181918F01882309F4CA -:10869000DFCE0E94B066F7CF809190008C7009F415 -:1086A000FDC080919C0090919D009F938F938FE7D8 -:1086B0009EE59F938F938E010F5F1F4F1F930F9324 -:1086C0000F94D6640F900F900F900F900F900F9013 -:1086D000F80181918F01882309F4BACE0E94B06617 -:1086E000F7CF8091A000807C09F4D8C08091A800C9 -:1086F0009091A9009F938F9385E79EE59F938F9319 -:108700008E010F5F1F4F1F930F930F94D6640F902E -:108710000F900F900F900F900F90F80181918F01A3 -:10872000882309F495CE0E94B066F7CF8091A0000F -:10873000807309F4B3C08091AA009091AB009F931D -:108740008F938BE69EE59F938F938E010F5F1F4F54 -:108750001F930F930F94D6640F900F900F900F906C -:108760000F900F90F80181918F01882309F470CE4A -:108770000E94B066F7CF8091A0008C7009F48EC083 -:108780008091AC009091AD009F938F9381E69EE520 -:108790009F938F938E010F5F1F4F1F930F930F9423 -:1087A000D6640F900F900F900F900F900F90F801DC -:1087B00081918F01882309F44BCE0E94B066F7CFD8 -:1087C00080912001807C09F469C0809128019091FA -:1087D00029019F938F9387E59EE59F938F938E0149 -:1087E0000F5F1F4F1F930F930F94D6640F900F903E -:1087F0000F900F900F900F90F80181918F018823B7 -:1088000009F426CE0E94B066F7CF809120018073D4 -:1088100009F444C080912A0190912B019F938F937A -:108820008DE49EE59F938F938E010F5F1F4F1F93E3 -:108830000F930F94D6640F900F900F900F900F909E -:108840000F90F80181918F01882309F401CE0E94D5 -:10885000B066F7CF809120018C7001F180912C01DE -:1088600090912D019F938F9383E49EE59F938F9327 -:108870008E010F5F1F4F1F930F930F94D6640F90BD -:108880000F900F900F900F900F90F80181918F0132 -:10889000882309F4DDCD0E94B066F7CF80E06496AE -:1088A0000FB6F894DEBF0FBECDBFDF91CF911F9101 -:1088B0000F910895082E000C990BFC01E85FFF4B07 -:1088C000E491F0E0EE0FFF1FE654F04CA591B49157 -:1088D0002C91FC01E25BFF4BE491E22381E009F47F -:1088E00080E00895811103C08BE19EE502C087E21C -:1088F0009EE50F9436544091F10C5091F20C60912A -:10890000F30C7091F40C80E49EE50F948254409136 -:10891000F50C5091F60C6091F70C7091F80C8DE30A -:108920009EE50F9482546091F90C7091FA0C072E19 -:10893000000C880B990B0F944565AB01BC018AE3D1 -:108940009EE50F9482546091FB0C7091FC0C072EF5 -:10895000000C880B990B0F944565AB01BC0187E3B4 -:108960009EE50F9482544091FD0C5091FE0C609155 -:10897000FF0C7091000D84E39EE50F9482544091AA -:10898000010D5091020D6091030D7091040D81E372 -:108990009EE50F9482544091050D5091060D609113 -:1089A000070D7091080D8EE29EE50F9482548AE0C7 -:1089B0000C94B066CF92DF92EF92FF9283E50E9413 -:1089C000C2A3882339F10E9442A36B017C0120E0FD -:1089D00030E0A9010F943E6587FD11C020E030E032 -:1089E0004AEF53E4C701B6010F94946E181654F47D -:1089F000C12CD12C9AEFE92E93E4F92E03C0C12C9F -:108A0000D12C7601C092F10CD092F20CE092F30CD2 -:108A1000F092F40C85E40E94C2A3882339F10E94ED -:108A200042A36B017C0120E030E0A9010F943E6578 -:108A300087FD11C020E030E04AEF53E4C701B601E2 -:108A40000F94946E181654F4C12CD12C8AEFE82E92 -:108A500083E4F82E03C0C12CD12C7601C092F50C12 -:108A6000D092F60CE092F70CF092F80C80E50E94A0 -:108A7000C2A38823A1F00E9442A30F94A06D6A3084 -:108A800071053CF0693185E178072CF068E175E10A -:108A900002C06AE070E07093FA0C6093F90C82E512 -:108AA0000E94C2A38823A1F00E9442A30F94A06D4C -:108AB0006A3071053CF0693185E178072CF068E196 -:108AC00075E102C06AE070E07093FC0C6093FB0CEF -:108AD00088E50E94C2A3882351F00E9442A36093BC -:108AE000FD0C7093FE0C8093FF0C9093000D89E5B4 -:108AF0000E94C2A3882351F00E9442A36093010DFB -:108B00007093020D8093030D9093040D8AE50E94EB -:108B1000C2A3882351F00E9442A36093050D709375 -:108B2000060D8093070D9093080D8091451A84FDE2 -:108B300012C08091461A87FD0EC08091471A867830 -:108B400051F48091481A837031F4FF90EF90DF90D8 -:108B5000CF900D947244FF90EF90DF90CF900895E6 -:108B60008091461A87FD05C08091471A8E7009F4DE -:108B700045C083E50E94C2A3882391F00E9442A3CE -:108B80006093D50C7093D60C8093D70C9093D80C2F -:108B90006093DD0C7093DE0C8093DF0C9093E00CFF -:108BA00080E50E94C2A3882351F00E9442A36093F3 -:108BB000D50C7093D60C8093D70C9093D80C82E58B -:108BC0000E94C2A3882351F00E9442A36093D90C53 -:108BD0007093DA0C8093DB0C9093DC0C84E50E949C -:108BE000C2A3882391F10E9442A36093DD0C70938D -:108BF000DE0C8093DF0C9093E00C08954091D50C2F -:108C00005091D60C6091D70C7091D80C8CEE9DE5EC -:108C10000F9482544091D90C5091DA0C6091DB0C86 -:108C20007091DC0C89EE9DE50F9482544091DD0C2F -:108C30005091DE0C6091DF0C7091E00C86EE9DE5AA -:108C40000F9482548AE00C94B06608958091681E57 -:108C50009091691E009731F04AE050E060E070E0CA -:108C60000D94626360E070E0CB0108958F929F9253 -:108C7000AF92BF92CF92DF92EF92FF928091451A0E -:108C800081FD09C08091461A81FD05C08091471A77 -:108C90008C7009F48AC082E40E9479A3882351F081 -:108CA0000F9426466093B10C7093B20C8093B30C72 -:108CB0009093B40C83E50E9479A3882351F00E941D -:108CC00042A36093E10C7093E20C8093E30C9093C9 -:108CD000E40C84E50E9479A3882351F00E9442A30A -:108CE0006093E50C7093E60C8093E70C9093E80C8E -:108CF0008AE40E9479A3882309F457C00E9442A302 -:108D00006B017C012AE037ED43E25CE30F94946E43 -:108D100087FD3DC02AE939E949E95EE3C701B601AB -:108D20000F943E6518169CF1C092A414D092A5141D -:108D3000E092A614F092A7146091AD0C7091AE0C65 -:108D40008091AF0C9091B00C0F9443654B015C0186 -:108D500023EF34E045E35FE3C701B6010F94A46558 -:108D60009B01AC01C501B4010F94A46529E732E869 -:108D70004AE550E40F94A4650F94326F6093A014F9 -:108D80007093A1148093A2149093A3140EC00F9417 -:108D9000B2548CEF9DE5FF90EF90DF90CF90BF90A5 -:108DA000AF909F908F900D943654FF90EF90DF908E -:108DB000CF90BF90AF909F908F900895CF92DF9209 -:108DC000EF92FF921F93CF93DF93CDB7DEB76097FB -:108DD0000FB6F894DEBF0FBECDBF8091770E909195 -:108DE000780EA091790EB0917A0E89839A83AB8325 -:108DF000BC8380917B0E90917C0EA0917D0EB091F2 -:108E00007E0E8D839E83AF83B88780917F0E909175 -:108E1000800EA091810EB091820E89879A87AB87D0 -:108E2000BC878091830E9091840EA091850EB091A5 -:108E3000860E8D879E87AF87B88B0F94C01A0F94CC -:108E4000D13D10E0812F0F945C41812F0E9410CD05 -:108E50001F5F1330B9F76091071470910814809167 -:108E6000091490910A1440E00F94D75223EF34E094 -:108E700045E35FE36091A4147091A5148091A6145A -:108E80009091A7140F94A4656B017C016091AD0CC7 -:108E90007091AE0C8091AF0C9091B00C0F94436523 -:108EA0009B01AC01C701B6010F94A46529E732E824 -:108EB0004AE550E40F94A4650F94326F6093A014B8 -:108EC0007093A1148093A2149093A3140F94371B52 -:108ED00040E150E067E77EE0CE0101960F94A67076 -:108EE000892B79F060960FB6F894DEBF0FBECDBF28 -:108EF000DF91CF911F91FF90EF90DF90CF900C9476 -:108F0000FACE60960FB6F894DEBF0FBECDBFDF91EC -:108F1000CF911F91FF90EF90DF90CF9008954F92E7 -:108F20005F926F927F928F929F92AF92BF92CF92F9 -:108F3000DF92EF92FF92CF93DF9300D000D0CDB7B6 -:108F4000DEB79E838D83DC014D905D906D907C90AB -:108F5000139714968D909D90AD90BC90179718968E -:108F60008D919D910D90BC91A02D89839A83AB83A7 -:108F7000BC83A3019201C301B2010F94A4656B01EC -:108F80007C01A5019401C501B4010F94A4659B0166 -:108F9000AC01C701B6010F94346C6B017C012981CF -:108FA0003A814B815C81CA01B9010F94A4659B0190 -:108FB000AC01C701B6010F94346C0F94326F9B0162 -:108FC000AC0160E070E080E89FE30F942E6D6B01D0 -:108FD0007C019B01AC01C301B2010F94A465ED813A -:108FE000FE816083718382839383A7019601C5010B -:108FF000B4010F94A465AD81BE8114966D937D93E9 -:109000008D939C931797A701960169817A818B8133 -:109010009C810F94A465ED81FE81608771878287B2 -:10902000938726960FB6F894DEBF0FBECDBFDF91B3 -:10903000CF91FF90EF90DF90CF90BF90AF909F9037 -:109040008F907F906F905F904F9008950F931F9334 -:109050008091CE14813019F40E94E7EF08C060912E -:10906000CA147091CB148091CC149091CD140091BE -:10907000BC141091BD142091BE143091BF14601B1C -:10908000710B820B930B28EE33E040E050E00F941D -:10909000946B8091C0149091C114A091C214B091AE -:1090A000C314BC01CD01620F731F841F951F1F9154 -:1090B0000F9108951092CE141092BC141092BD140A -:1090C0001092BE141092BF141092CA141092CB14B6 -:1090D0001092CC141092CD141092C0141092C1149E -:1090E0001092C2141092C31408958091CE1481304E -:1090F00099F58CEA98E00E94CE6781E09AE590931A -:10910000851C8093841C87E590E09093871C809356 -:10911000861C87E08093781C82E880937B1C84E81F -:1091200090E0A0E0B0E080937C1C90937D1CA09325 -:109130007E1CB0937F1C0F94B03882E08093CE14D5 -:109140000E94E7EF6093CA147093CB148093CC1401 -:109150009093CD1481E0089580E008958F929F92BE -:10916000AF92BF92CF92DF92EF92FF920F931F9335 -:10917000CF93DF93CDB7DEB72C970FB6F894DEBF51 -:109180000FBECDBF8B0140E050E068E472E44D8338 -:109190005E836F83788740E050E060EA70E449873F -:1091A0005A876B877C87813019F0823039F02AC06A -:1091B000BE01675F7F4FC801089646C0F801208551 -:1091C00031854285538560917F0E7091800E80912C -:1091D000810E9091820E0F94346C6B017C0120E023 -:1091E00030E048EC53E40F943E6587FD06C0C12C87 -:1091F000D12C88ECE82E83E4F82EC982DA82EB8247 -:10920000FC821DC080907F0E9090800EA090810EF9 -:10921000B090820EF801C084D184E284F384960178 -:10922000A701B401C5010F943E6587FD02C064012A -:109230007501C601D70189839A83AB83BC83BE01C4 -:10924000675F7F4FCE0101960E944FCEB8016C5FE1 -:109250007F4FAE014B5F5F4FC8010E942DCE0E9431 -:10926000FACE2C960FB6F894DEBF0FBECDBFDF91BD -:10927000CF911F910F91FF90EF90DF90CF90BF9013 -:10928000AF909F908F9008954F925F926F927F92D0 -:109290008F929F92AF92BF92CF92DF92EF92FF9206 -:1092A000CF93DF93CDB7DEB76E970FB6F894DEBFDE -:1092B0000FBECDBF9E8F8D8FDC01D896CD90DD90F7 -:1092C000ED90FC90DB9720E030E0A901C701B601EA -:1092D0000F943E65811103C081E090E0CBC1A701EE -:1092E0009601ED8DFE8D60817181828193810F9455 -:1092F0002E6D69837A838B839C83AD8DBE8D6D9338 -:109300007D938D939C931397A701960114966D916D -:109310007D918D919C9117970F942E6D6D837E8317 -:109320008F839887ED8DFE8D648375838683978305 -:10933000A701960160857185828593850F942E6DB6 -:1093400069877A878B879C87AD8DBE8D18966D93C4 -:109350007D938D939C931B97A70196011C966D910D -:109360007D918D919C911F970F942E6D4B015C0107 -:1093700029813A814B815C81CA01B9010F94A465AE -:109380009B01AC01C501B4010F94336C6D877E87DE -:109390008F87988BED8DFE8D64877587868797877D -:1093A000A701960160897189828993890F942E6D36 -:1093B0004B015C012D813E814F815885CA01B90165 -:1093C0000F94A4659B01AC01C501B4010F94336CEB -:1093D000698B7A8B8B8B9C8BAD8DBE8D50966D93EC -:1093E0007D938D939C935397A701960154966D910D -:1093F0007D918D919C9157970F942E6D4B015C013F -:1094000029853A854B855C85CA01B9010F94A4650D -:109410009B01AC01C501B4010F94336CED8DFE8D41 -:10942000648B758B868B978BA7019601608D718DF0 -:10943000828D938D0F942E6D4B015C012D813E81A9 -:109440004F81588569817A818B819C810F94A465B5 -:109450009B01AC01C501B4010F94336C4B015C015D -:10946000AD8DBE8D58966D937D938D939C935B9738 -:10947000A701960190966D917D918D919C91939706 -:109480000F942E6D2B013C0129853A854B855C8517 -:109490006D817E818F8198850F94A4659B01AC01BD -:1094A000C301B2010F94336C6D8B7E8B8F8B988FC1 -:1094B000ED8DFE8D60A371A382A393A3A7019601F6 -:1094C000648D758D868D978D0F942E6D6B017C014B -:1094D00029853A854B855C8569817A818B819C8160 -:1094E0000F94A4659B01AC01C701B6010F94336CC6 -:1094F000698F7A8F8B8F9C8FAD8DBE8D5C966D93AF -:109500007D938D939C935F9729893A894B895C89D8 -:109510006D857E858F8598890F94A4656B017C018C -:10952000A5019401C501B4010F94A4659B01AC0190 -:10953000C701B6010F94336C6B017C0120E030E071 -:10954000A9010F94946E2601370187FF04C077FAB2 -:10955000709477F87094ED8DFE8D20A531A542A50D -:1095600053A564A175A186A197A10F94346C2FEF28 -:1095700036EE4BED5EE20F94A465A30192010F94C9 -:10958000946E87FFA9CE2D893E894F89588DC501DC -:10959000B4010F94A4652B013C01298D3A8D4B8DAC -:1095A0005C8D69897A898B899C890F94A4659B015C -:1095B000AC01C301B2010F94336CA70196010F9463 -:1095C0002E6D2B013C01AD8DBE8D9C966D937D93D0 -:1095D0008D939C939F97298D3A8D4B8D5C8DC50102 -:1095E000B4010F94A4654B015C012D893E894F891C -:1095F000588D6D857E858F8598890F94A4659B0114 -:10960000AC01C501B4010F94336CA70196010F940E -:109610002E6D6B017C01ED8DFE8D60AB71AB82AB6D -:1096200093ABA301920169817A818B819C810F9414 -:10963000A46529853A854B855C850F94346C4B0174 -:109640005C01A70196016D817E818F8198850F94C1 -:10965000A4659B01AC01C501B4010F94346CDC011D -:10966000CB01B058ED8DFE8D84AB95ABA6ABB7ABFF -:1096700080E090E06E960FB6F894DEBF0FBECDBFCF -:10968000DF91CF91FF90EF90DF90CF90BF90AF90A0 -:109690009F908F907F906F905F904F9008958091F2 -:1096A000001E82FF2AC00E94BA95882319F180917A -:1096B000F81D9091F91DA091FA1DB091FB1D009726 -:1096C000A105B105B9F0BC01CD016D597F4F8F4F98 -:1096D0009F4F24E630E040E050E00F94946B60919F -:1096E000FC1D7091FD1D8091FE1D9091FF1D0F943A -:1096F000946B01C020E02093AC1E8091AC1E8F774C -:1097000008950F931F93CF93DF938C0167FF03C0DE -:109710001092AA1E60E08091AA1E90E0262F062ECD -:10972000000C330B2817390734F16093AA1EC801C7 -:109730000F948C64800F911FEC01C01BD10BC034BF -:10974000D1053CF00197FC012491207C2038D1F315 -:10975000F3CFDD27AE01B8018AE69EE10F94AD6438 -:10976000C659D14E18828AE69EE1DF91CF911F91B2 -:109770000F910C94028EDF91CF911F910F9108955C -:109780001092AB1E109214028091001E8062809392 -:10979000001E61E08DE09FE50F94DB0740E050E0A4 -:1097A00062E27FE585E00F944E090F94D61960E0E0 -:1097B00084E19FE50D94814BCF93DF93CDB7DEB766 -:1097C0008E819091AA1E891788F08093AA1E9E010F -:1097D000275F3F4F4F8158856FE370E08AE69EE137 -:1097E0000F9405658AE69EE10E94028EDF91CF917B -:1097F0000895CF93DF932091AA1E211120C0FC0170 -:1098000001900020E9F73197EF01C81BD90BC03454 -:10981000D1052CF02291207C2038E1F3F5CFBC015A -:10982000DD27AE018AE69EE10F94FA70C659D14E4B -:1098300018828AE69EE1DF91CF910C94028EDF912F -:10984000CF9108958091001E82FD05C08091CE14B5 -:10985000823069F411C080919310882319F083E954 -:1098600090E102C085ED90E161E00D94F94B81300B -:1098700031F484EF9EE505C080E09FE502C083EEF1 -:109880009EE56FEF0D94814BFF920F931F93CF9343 -:10989000DF938B01D82FC92FF42E20E030E048EC65 -:1098A00052E40F943E6587FF0FC020E030E0A9012D -:1098B000B8018D2F9C2F0F94946E18164CF000E079 -:1098C00010E0D0E0C0E004C000E010E0D8ECC2E45A -:1098D000B8018D2F9C2F0F94A06D9B01AC01AFEFB1 -:1098E000B0E00F94D56B24E630E040E050E00F94F8 -:1098F000B66BB9018F2DDF91CF911F910F91FF9022 -:109900000D94BC51E7E9FCE01082118212821382AF -:10991000148280E00C94A9A08F929F92AF92BF9284 -:10992000CF92DF92EF92FF920F931F93CF93DF932B -:10993000C62F662381F00F94B2546AE070E08C2F3A -:1099400090E00E94406782EE90E60F94365480E0EB -:1099500090E00F945639F0E4FF2EE12CAE2DB0E0EC -:10996000BD016F0D711D75956795611103C0E8E329 -:10997000FFE506C06E1511F0F6120BC0E4E3F0E649 -:1099800065917491072E000C880B990B0F94456517 -:1099900062C09B0121503109220F331F220F331F58 -:1099A000F901EA5CF04A05911491AB01440F551F8F -:1099B000440F551FFA01EA5CF04AC591D491801713 -:1099C000910714F4F62ECCCFC817D90714F4E62E5D -:1099D000C5CFF901E85CF04AE590F490FA01E85C43 -:1099E000F04AC590D490BC01601B710B072E000C8F -:1099F000880B990B0F9445654B015C01B6016E19FC -:109A00007F09072E000C880B990B0F9445659B016D -:109A1000AC01C501B4010F94A4654B015C01C01BEE -:109A2000D10BBE01DD0F880B990B0F9445659B018F -:109A3000AC01C501B4010F942E6D4B015C01B7015F -:109A4000FF0C880B990B0F9445659B01AC01C50178 -:109A5000B4010F94346CDF91CF911F910F91FF905F -:109A6000EF90DF90CF90BF90AF909F908F90089530 -:109A70008F929F92AF92BF92CF92DF92EF92FF921E -:109A80000F931F93CF93DF93EC018A01C880D98095 -:109A9000EA80FB80072E000C880B990B0F9445651C -:109AA0004B015C019B01AC01C701B6010F943E65FF -:109AB00087FD10C0B801110F880B990B0F944565F5 -:109AC0004B015C019B01AC01C701B6010F94946E80 -:109AD000181624F488829982AA82BB82DF91CF91E2 -:109AE0001F910F91FF90EF90DF90CF90BF90AF90BC -:109AF0009F908F900895EF92FF920F931F93CF93B3 -:109B0000C82F7B018A01809124028823D1F00F9411 -:109B1000B254C7010F9436548AE390E60F9436543A -:109B2000C7FD08C06AE070E08C2FCC0F990B0E9433 -:109B3000406704C086E390E60F9436548AE00E94A2 -:109B4000B0660E9489A08091CD1E811108C081E07D -:109B50008093CD1E10922402C8010F945639CF91E4 -:109B60001F910F91FF90EF9008952F923F924F9287 -:109B70005F926F927F928F929F92AF92BF92CF929D -:109B8000DF92EF92FF920F931F93CF93DF93CDB7A6 -:109B9000DEB72F970FB6F894DEBF0FBECDBF809112 -:109BA000CC1E81111DC080919D0C81111DC02F966E -:109BB0000FB6F894DEBF0FBECDBFDF91CF911F91DE -:109BC0000F91FF90EF90DF90CF90BF90AF909F905C -:109BD0008F907F906F905F904F903F902F9008955F -:109BE00080E090E00F9456390E9491A10E94E7EF27 -:109BF0004B015C016091120270911302072E000C60 -:109C0000880B990B0F9445659B01AC0160911C0A70 -:109C100070911D0A80911E0A90911F0A0F94946EF4 -:109C200018163CF44FEB50E662ED70E680E00F94BE -:109C30007B4D80919B0C882309F404C26091200A1B -:109C40007091210A072E000C880B990B0F94456523 -:109C500069837A838B839C833AE0E32EF12C0CE3B7 -:109C600010E020E0AE014F5F5F4F6CE17AE08CEFD7 -:109C70009EE10E947B9EC0901C0AD0901D0AE0903D -:109C80001E0AF0901F0A6091100270911102072EB7 -:109C9000000C880B990B0F9445659B01AC01C70123 -:109CA000B6010F94946E18160CF4A0C060E0609397 -:109CB000220A8091880C9091890CA0918A0CB09115 -:109CC0008B0C0097A105B10529F1A5019401281B72 -:109CD000390B4A0B5B0B57FD1DC06091860C7091D0 -:109CE000870C80E090E00F9443659B01AC0160918C -:109CF0001C0A70911D0A80911E0A90911F0A0F94F0 -:109D00003E6587FF08C34EE950E660EB70E680E0F1 -:109D10000F947B4D20E030E046E153E46091330A3C -:109D20007091340A8091350A9091360A0F94946E9E -:109D300018160CF4D7C180918E0C90918F0CA091C5 -:109D4000900CB091910C0097A105B10529F1A501E6 -:109D50009401281B390B4A0B5B0B57FD1DC060910A -:109D60008C0C70918D0C80E090E00F9443659B010A -:109D7000AC016091330A7091340A8091350A909158 -:109D8000360A0F943E6587FFB5C148E550E66BE69D -:109D900070E68FEF0F947B4D8091960C882309F429 -:109DA0008AC16091370A7091380A072E000C880B1F -:109DB000990B0F94456569837A838B839C8392E02A -:109DC000E92EF12C02E310E02FEFAE014F5F5F4F61 -:109DD00063E37AE087EF9EE10E947B9E8091960C80 -:109DE000882309F448C11092390AE1CE6091120229 -:109DF00070911302072E000C880B990B0F94456588 -:109E00009B01AC01C701B6010F943E6587FF4ECFA1 -:109E10006091200A7091210A6115710509F476C2DA -:109E2000072E000C880B990B0F944565A70196012E -:109E30000F94336C2B013C0120E030E040E251EC08 -:109E40000F943E6587FD62C280919B0C81115EC2BA -:109E500020E030E040E251E4C301B2010F94946E7F -:109E600018160CF465C28091F61E811166C28091AD -:109E7000EE1E9091EF1EA091F01EB091F11E8D8309 -:109E80009E83AF83B8872091F21E3091F31E4091DC -:109E9000F41E5091F51E29873A874B875C87A701EE -:109EA00096016091E21E7091E31E8091E41E9091F4 -:109EB000E51E0F94336C20912B0A30912C0A4091AF -:109EC0002D0A50912E0A0F94A4652D813E814F8159 -:109ED00058850F94336C20ED3CEC4CE45DE30F941B -:109EE000A4652D813E814F8158850F94346C6B01A0 -:109EF0007C016093EE1E7093EF1E8093F01E909392 -:109F0000F11E8091270A9091280AA091290AB09108 -:109F10002A0A8D839E83AF83B88729853A854B852E -:109F20005C85C301B2010F94346C162F072F382EB5 -:109F3000292E20E030E0A9010F943E6587FD12C272 -:109F40002D813E814F81588560E070E08FE793E47A -:109F50000F942E6D69877D878E879F87212F302FE5 -:109F6000432D522D0F943E6587FF04C019850D8542 -:109F70003E842F84812F902FA32DB22D8093F21E2B -:109F80009093F31EA093F41EB093F51E2091230A24 -:109F90003091240A4091250A5091260AC301B2014A -:109FA0000F94A4652B013C016093E61E7093E71E9D -:109FB0008093E81E9093E91E212F302F432D522DC0 -:109FC0006D817E818F8198850F94A4659B01AC0182 -:109FD0006093EA1E7093EB1E8093EC1E9093ED1E2F -:109FE000C301B2010F94346CA70196010F94346C35 -:109FF00020E030E0A9010F94346C69837A838B836D -:10A000009C834FEF50E060E070E0CE0101960F942A -:10A01000384DC0901C0AD0901D0AE0901E0AF090A6 -:10A020001F0A69817A818B819C810F94A06D75953F -:10A030006795C092E21ED092E31EE092E41EF09279 -:10A04000E51E35CE8091970C9091980CA091990CBB -:10A05000B0919A0C0097A105B10509F4EFCDA501C7 -:10A060009401281B390B4A0B5B0B57FDE7CD81E0B0 -:10A0700080939B0CE3CDC090330AD090340AE090DB -:10A08000350AF090360A20E030E040EA50E4C7019B -:10A09000B6010F94946E87FD0AC020E030E046E1DF -:10A0A00053E4C701B6010F943E65181634F560E01D -:10A0B0006093390A7CCD8091920C9091930CA09181 -:10A0C000940CB091950C0097A105B10509F469CEE7 -:10A0D000881A990AAA0ABB0AB7FC63CE81E080936A -:10A0E000960C5FCE4AE750E66EE870E68FEF0F946D -:10A0F0007B4D21CE0E943AA04FCE6091370A7091DD -:10A10000380A6115710509F40AC1072E000C880B85 -:10A11000990B0F944565A70196010F94336C4B0181 -:10A120005C0120E030E040E251EC0F943E6587FD99 -:10A13000F6C020E030E040E251E4C501B4010F94E4 -:10A14000946E18160CF4EFC040903E0A50903F0AEF -:10A150006090400A7090410A809175028111F8C0A8 -:10A160002091DE1E3091DF1E4091E01E5091E11ED5 -:10A170008091DA1E9091DB1EA091DC1EB091DD1E55 -:10A180008D839E83AF83B887C501B4010F94346C6F -:10A19000162F072F382E292E20E030E0A9010F942A -:10A1A0003E6587FDE4C0A301920160E070E08FE7A7 -:10A1B00093E40F942E6D69877D878E879F87212F6B -:10A1C000302F432D522D0F943E6587FF04C0198513 -:10A1D0000D853E842F84812F902FA32DB22D809347 -:10A1E000DE1E9093DF1EA093E01EB093E11E20912F -:10A1F0003A0A30913B0A40913C0A50913D0AC50110 -:10A20000B4010F94A4654B015C016093D21E70935E -:10A21000D31E8093D41E9093D51E212F302F432D13 -:10A22000522DC301B2010F94A4652B013C01609330 -:10A23000D61E7093D71E8093D81E9093D91EA70167 -:10A2400096016091CE1E7091CF1E8091D01E90918C -:10A25000D11E0F94336C2091420A3091430A4091F1 -:10A26000440A5091450A0F94A4652D813E814F8187 -:10A2700058850F94336C20ED3CEC4CE45DE30F9477 -:10A28000A4652D813E814F8158850F94346C6D8378 -:10A290007E838F8398876093DA1E7093DB1E809392 -:10A2A000DC1E9093DD1EC092CE1ED092CF1EE09297 -:10A2B000D01EF092D11EA3019201C501B4010F94EA -:10A2C000346C2D813E814F8158850F94346C20E091 -:10A2D00030E0A9010F94346C6B017C0120E030E088 -:10A2E000A9010F943E6587FDE2CE20E030E04FE704 -:10A2F00053E4C701B6010F94946E1816BCF0C70161 -:10A30000B6010F94A06D75956795D2CE81E08093CC -:10A31000F61E60E08ECE80E00E94A9A0FBCC81E01A -:10A3200080937502C4CE81E0809375026FE7C0CE42 -:10A3300081E08093F61E6FE77CCE1092F61E1986A0 -:10A340001A861B861C861D821E821F821886A7CD38 -:10A35000109275021D821E821F82188620E030E056 -:10A36000A90112CF10E000E0312C212C03CE10E027 -:10A3700000E0312C212C2FCF6F3F710519F010F028 -:10A380006FEF70E09091870E981741F0823040F4A3 -:10A39000E82FF0E0E351F34F608308956093720E6D -:10A3A000089590916F00292F227091FF05C0909120 -:10A3B0006F009D7F90936F0034E0839FC001112454 -:10A3C000FC01E454F14E4081518162817381FC01B2 -:10A3D000E055F14E408351836283738381E0809323 -:10A3E000AF1E222329F080916F00826080936F005E -:10A3F000089590916F00292F227091FF05C09091D0 -:10A400006F009D7F90936F0094E0899FF00111246D -:10A41000E454F14E6081718182819381222329F07D -:10A4200020916F00226020936F000895BC0120915D -:10A43000AD1E3091AE1E4091AD1E5091AE1E241740 -:10A44000350711F09A01F7CF81E02617370709F099 -:10A4500080E008958F929F92AF92BF92EF92FF9209 -:10A460000F931F93CF93DF934B015C0106E31DE035 -:10A47000C0E0E12CF12CD0E0F801EE0DFF1D808250 -:10A480009182A282B382A50194016D2F8C2F0E942C -:10A490003F8DDF5F84E0E80EF11CD63069F7CF5FB7 -:10A4A000085E1F4FC63029F7DF91CF911F910F91A2 -:10A4B000FF90EF90BF90AF909F908F9008959091F4 -:10A4C000671E9817D1F00F94D93B8091671E88239F -:10A4D00059F04FE75EE06BE77EE087E79EE00F9480 -:10A4E0008F3D1092671E07C081E08093671E87E74B -:10A4F0009EE00F94553D0C94F8CE089580E00F94A3 -:10A500005F5260E070E080EC9FE70D942A521F9349 -:10A51000CF93DF931091671E80E00F945F528FEF0F -:10A5200080931B1480E090E0A0E2B1E48093C60D1C -:10A530009093C70DA093C80DB093C90D8DEC9CEC02 -:10A54000ACECBDE38093871490938814A093891496 -:10A55000B0938A1480EF9FEFA9E7B4EC80938B143B -:10A5600090938C14A0938D14B0938E1480E9E6E33D -:10A57000FDE0DF011D928A95E9F7C0E0D0E020E020 -:10A5800030E0A9016D2F8C2F0E943F8DDF5FD63008 -:10A59000B1F7CF5FC63091F7112329F0DF91CF914A -:10A5A0001F910C94FACEDF91CF911F910895CF9215 -:10A5B000DF92EF92FF920F931F93CF93DF93CDB76C -:10A5C000DEB72C970FB6F894DEBF0FBECDBF7B0170 -:10A5D0008C01D42E9B01AC016091C60D7091C70D0A -:10A5E0008091C80D9091C90D0F943E65882309F4A0 -:10A5F00096C0C090671E80E00F945F5220E030E06C -:10A60000A901B701C8010F94946E181624F0E12C2B -:10A61000F12C00E010E0C701D8018093C60D9093A3 -:10A62000C70DA093C80DB093C90D2DEB37E346E8D5 -:10A6300055EBB701C8010F94946E87FD0AC02DEB4E -:10A6400037E346E855E3B701C8010F943E65181695 -:10A650004CF49701A80160E070E080E89FE30F945C -:10A660002E6D03C060E070E0CB016093871470939F -:10A6700088148093891490938A1480EF9FEFA9E740 -:10A68000B4EC80938B1490938C14A0938D14B0939E -:10A690008E14CC2009F443C08091770E9091780EEF -:10A6A000A091790EB0917A0E89839A83AB83BC8393 -:10A6B00080917B0E90917C0EA0917D0EB0917E0ECC -:10A6C0008D839E83AF83B88780917F0E9091800E9B -:10A6D000A091810EB091820E89879A87AB87BC8743 -:10A6E00081E00F945F52DD20D1F04CE050E067E74D -:10A6F0007EE0CE0101960F94A670892B81F02C96F6 -:10A700000FB6F894DEBF0FBECDBFDF91CF911F9182 -:10A710000F91FF90EF90DF90CF900C94FACE2C9693 -:10A720000FB6F894DEBF0FBECDBFDF91CF911F9162 -:10A730000F91FF90EF90DF90CF900895EF92FF92EE -:10A740001F93CF93DF9386E3E82E8DE0F82E16E07B -:10A75000C0E0D0E0F701EC0FFD1F608171818281C4 -:10A7600093819B01AC010F94816F81110CC02496E1 -:10A77000C831D10579F7115088E1E80EF11C1111AB -:10A78000E7CF81E001C080E0DF91CF911F91FF9082 -:10A79000EF900895CF92DF92EF92FF926B017C01D0 -:10A7A00083E3C816D104E104F10470F082E3C81A0F -:10A7B000D108E108F10862E370E080E090E00E94D7 -:10A7C000ADEF0F94B54DECCFC701B6010E94ADEFD0 -:10A7D000FF90EF90DF90CF900D94B54DCF93C82FA1 -:10A7E000CC2329F080E20E94B066C150F9CFCF910E -:10A7F00008950F931F93CF93DF938B01EA010F947A -:10A80000EE5388E20E94B066043611054CF480E2F3 -:10A810000E94B0660A3011051CF480E20E94B06606 -:10A820006AE070E0C8010E9440678CE20E94B06656 -:10A83000C436D1054CF480E20E94B066CA30D1051E -:10A840001CF480E20E94B0666AE070E0CE010E94D3 -:10A85000406789E20E94B06665E070E080E090E0C9 -:10A86000DF91CF911F910F910D94CA53CF93DF9336 -:10A87000FC018491EF012196882321F00E94B066AB -:10A88000FE01F7CFDF91CF910895CF9385E891E452 -:10A890000F943654C091671E81EB91E60F943654A5 -:10A8A000C11103C08DEA91E602C080EB91E60F94DE -:10A8B000365485EA91E60F94365462E370E080E006 -:10A8C00090E0CF910D94CA53CF92DF92EF92FF9216 -:10A8D0006A017B010F9436544AE0C701B601FF902C -:10A8E000EF90DF90CF900C94B766CF93DF93EB019E -:10A8F0000F943654BE0180E090E04AE0DF91CF91A2 -:10A900000C94B766CF92DF92EF92FF926A017B01BF -:10A910000F94365442E0C701B601FF90EF90DF90EC -:10A92000CF900C945067CF93DF93EB010F94365484 -:10A930006AE070E0CE01DF91CF910C9440670F93F5 -:10A940001F93CF93DF938B010F943654E8018991C5 -:10A95000882319F00E94B066FACFDF91CF911F9142 -:10A960000F91089587E891E60D94365481E891E6B9 -:10A970000D943654AF92BF92CF92DF92EF92FF9236 -:10A980000F931F93CF93DF930F949E53882309F463 -:10A9900053C00F94B6548AE991E60F94365496E367 -:10A9A000C92E9DE0D92EC0E0D0E0760100E010E095 -:10A9B000F70160817181828193819B01AC010F94C9 -:10A9C000816F811129C00F94B654BE0181E991E6CF -:10A9D0000F949354B8018EE891E60F94935483EC4E -:10A9E000A82E88E0B82EF50181915F01882319F027 -:10A9F0000E94B066F8CFF7016081718182819381F6 -:10AA000044E00E9450678AE00E94B0666BE470E008 -:10AA100080E090E00F94CA530F5F1F4FF4E0EF0EF9 -:10AA2000F11C0630110521F6219688E1C80ED11CD3 -:10AA3000C630D10509F0B9CFDF91CF911F910F91A9 -:10AA4000FF90EF90DF90CF90BF90AF9008950E945D -:10AA500089A00F94D6198091760E882319F080E092 -:10AA60000E949FEB80912402882399F00F94B254A6 -:10AA70008AE091E60F94365460E080E091E60F940E -:10AA8000814B6EE571E080E090E00F94CA53109224 -:10AA9000240208951F920F920FB60F9211242F9344 -:10AAA0003F938F939F93AF93BF9380914A0E909162 -:10AAB0004B0EA0914C0EB0914D0E3091011F23E032 -:10AAC000230F2D3720F40196A11DB11D05C026E8E6 -:10AAD000230F0296A11DB11D2093011F80934A0EE2 -:10AAE00090934B0EA0934C0EB0934D0E80914E0E52 -:10AAF00090914F0EA091500EB091510E0196A11D54 -:10AB0000B11D80934E0E90934F0EA093500EB093B4 -:10AB1000510EBF91AF919F918F913F912F910F90C7 -:10AB20000FBE0F901F901895CF93DF93CDB7DEB770 -:10AB3000A9970FB6F894DEBF0FBECDBF789484B549 -:10AB4000826084BD84B5816084BD85B5826085BD29 -:10AB500085B5816085BD80916E00816080936E00B7 -:10AB600010928100809181008260809381008091A9 -:10AB7000810081608093810080918000816080935A -:10AB800080008091B10084608093B1008091B0001A -:10AB900081608093B00080919100826080939100E9 -:10ABA00080919100816080939100809190008160FC -:10ABB000809390008091A10082608093A100809199 -:10ABC000A10081608093A1008091A00081608093AA -:10ABD000A000809121018260809321018091210158 -:10ABE0008160809321018091200181608093200108 -:10ABF00080917A00846080937A0080917A008260EC -:10AC000080937A0080917A00816080937A008091AD -:10AC10007A00806880937A001092C100259A2D985E -:10AC20006C98749A809104018E7F809304018091C6 -:10AC3000050180958170809303011092160A0E948D -:10AC40003F641092C0008091C00082608093C00079 -:10AC50001092C50087E08093C4008091C10080619C -:10AC60008093C1008091C10088608093C100809171 -:10AC7000C10080688093C1000E94E7EF8AE792E3F9 -:10AC80000F9436540F94B65414B710FF04C081E7E4 -:10AC900092E30F94365411FF04C080E692E30F94C0 -:10ACA000365412FF04C08EE492E30F94365413FF1F -:10ACB00004C08DE392E30F94365415FF04C08CE278 -:10ACC00092E30F94365414BE85E292E30F94365407 -:10ACD00080E20E94B0668CE192E30F9436548AE0E1 -:10ACE0000E94B0660F94B6548CE092E30F943654F1 -:10ACF00081E092E30F94365486EE91E30F9436543C -:10AD00000F94B6548FEC91E30F9436540F94B654CD -:10AD10008091021F9091031F9E012F5F3F4F790189 -:10AD2000B901009719F0681B790B02C068507F4188 -:10AD300080EC91E30F94935460E475E089EA91E329 -:10AD40000F9493548AE00E94B06680910A018E7F2E -:10AD500080930A0180910B01809581708093090195 -:10AD6000E0917C1AF0917D1A82E08083E091781A5C -:10AD7000F091791A1082E0917A1AF0917B1A80E1B1 -:10AD800080831092841AE091801AF091811A86E0F3 -:10AD90008083E0917E1AF0917F1A808180618083A8 -:10ADA000E0917E1AF0917F1A808188608083E09123 -:10ADB0007E1AF0917F1A808180688083E0917E1AEC -:10ADC000F0917F1A80818F7D80838AE58093791C42 -:10ADD0008093291C85EA80937A1C80932A1C8AE13F -:10ADE000E8ECFCE1DF011D928A95E9F780E290E052 -:10ADF000A0E0B0E08093060290930702A0930802BF -:10AE0000B09309028091460A882319F083E090E00C -:10AE100002C082E090E09093851C8093841C85E0C2 -:10AE20008093781C82E880937B1C8FE190E1A0E006 -:10AE3000B0E080937C1C90937D1CA0937E1CB0930B -:10AE40007F1C0F94B03884E690E09093851C80932B -:10AE5000841C05E00093781C12E810937B1C86E0AC -:10AE600090E1A0E0B0E080937C1C90937D1CA093C7 -:10AE70007E1CB0937F1C0F94B0388BE090E09093D1 -:10AE8000851C8093841C0093781C10937B1C80E0AD -:10AE900092E1A0E0B0E080937C1C90937D1CA09395 -:10AEA0007E1CB0937F1C0F94B0381092851C1092BA -:10AEB000841C0093781C10937B1C84E390E1A0E039 -:10AEC000B0E080937C1C90937D1CA0937E1CB0937B -:10AED0007F1C0F94B0381092851C1092841C009334 -:10AEE000781C10937B1C8AE390E1A0E0B0E0809393 -:10AEF0007C1C90937D1CA0937E1CB0937F1C0F94B0 -:10AF0000B03860911C0A70911D0A80911E0A9091C0 -:10AF10001F0A0F94A06D7093851C6093841C00938E -:10AF2000781C10937B1C86E390E1A0E0B0E0809356 -:10AF30007C1C90937D1CA0937E1CB0937F1C0F946F -:10AF4000B0386091330A7091340A8091350A90913B -:10AF5000360A0F94A06D7093851C6093841C009337 -:10AF6000781C10937B1C8CE390E1A0E0B0E0809310 -:10AF70007C1C90937D1CA0937E1CB0937F1C0F942F -:10AF8000B03882E090E09093851C8093841C0093FD -:10AF9000781C10937B1C8EE190E1A0E0B0E08093E0 -:10AFA0007C1C90937D1CA0937E1CB0937F1C0F94FF -:10AFB000B03881E08093050260E6862E60E1962E2F -:10AFC000A12CB12C75E0C72EE2E8DE2E1092851C74 -:10AFD0001092841C05E0C092781C12E8D0927B1C71 -:10AFE00080927C1C90927D1CA0927E1CB0927F1C53 -:10AFF0000F94B038BFEF8B1A9B0AAB0ABB0AE4E789 -:10B000008E16E0E19E06A104B10401F784E1D701A8 -:10B010001D928A95E9F781E08F9390E99F938F9332 -:10B020009BE39F938F9384E38F9388E496E09F93B1 -:10B030008F93FF92EF920F94147140E650E160E01D -:10B0400070E085E596E00F945F384AE650E160E0F5 -:10B0500070E08FE596E00F945F3844E750E160E0E0 -:10B0600070E0C7010F945F384EE750E160E070E098 -:10B070008FEE94E00F945F381092851C1092841C20 -:10B080000093781C10937B1C8EE090E1A0E0B0E070 -:10B0900080937C1C90937D1CA0937E1CB0937F1C9E -:10B0A0000F94B0381092851C1092841C0093781C69 -:10B0B00010937B1C8FE090E1A0E0B0E080937C1CBB -:10B0C00090937D1CA0937E1CB0937F1C0F94B0388E -:10B0D000EDB7FEB73A960FB6F894FEBF0FBEEDBFC0 -:10B0E0005AE0852E50E2952EA12CB12C15E002E8F5 -:10B0F000412C512C32011092851C1092841C10930B -:10B10000781C00937B1CD501C401840D951DA61DE0 -:10B11000B71D80937C1C90937D1CA0937E1CB093E4 -:10B120007F1C0F94B038FFEF4F1A5F0A6F0A7F0A37 -:10B130002AE04216510461047104E9F63AE0830EF4 -:10B14000911CA11CB11C42ED841640E29406A1049E -:10B15000B10471F6812C40E2942EA12CB12C05E0B3 -:10B1600012E81092851C1092841C0093781C109396 -:10B170007B1C80927C1C90927D1CA0927E1CB092C5 -:10B180007F1C0F94B0381092851C1092841C009381 -:10B19000781C10937B1CD501C4018C529F4FAF4F7C -:10B1A000BF4F80937C1C90937D1CA0937E1CB0931A -:10B1B0007F1C0F94B0385FEF851A950AA50AB50A6F -:10B1C0008AE0881680E29806A104B10451F63EEDAB -:10B1D000832E30E2932EA12CB12C05E012E81092C0 -:10B1E000851C1092841C0093781C10937B1C809209 -:10B1F0007C1C90927D1CA0927E1CB0927F1C0F94B0 -:10B20000B0389FEF891A990AA90AB90AA6EE8A16D8 -:10B21000A0E29A06A104B10411F78824839492E174 -:10B22000992EA12CB12C2AE0C22ED12C05E012E8D7 -:10B23000D092851CC092841C0093781C10937B1CB8 -:10B2400080927C1C90927D1CA0927E1CB0927F1CF0 -:10B250000F94B038D092851CC092841C0093781C47 -:10B2600010937B1CD501C4018096A11DB11D809354 -:10B270007C1C90937D1CA0937E1CB0937F1C0F942C -:10B28000B038BFEF8B1A9B0AAB0ABB0AE5E18E16FA -:10B29000E2E19E06A104B10459F683E796E00E941C -:10B2A000CE670F94224C0E9452641EE5C12E1AE014 -:10B2B000D12E07E71EE083E8A82E8EE0B82ED60137 -:10B2C0002D913D914D915D916D01F80160817181EC -:10B2D000828193810F94346CD8016D937D938D930B -:10B2E0009D938D01AA16BB0651F70E94F8CE249AB1 -:10B2F0002C9880910101806280930101809102016C -:10B30000807280930001809101018064809301012B -:10B310008091010180618093010187ED80937A0023 -:10B3200010927E0010927D0080917D00806280935B -:10B330007D0080917D00806480937D0080E888BDE1 -:10B3400080916E00846080936E006AEF70E080E010 -:10B3500090E00E94ADEF85E090E090931102809321 -:10B36000100200910C0210910D0260E0C8010F94D0 -:10B370008C4C20E030E040EA50E40F943E6587FFBB -:10B3800007C00051110910930D0200930C02E9CF80 -:10B390008BE391E0909313028093120200910E02CE -:10B3A00010910F0260E0C8010F948C4C20E030E84F -:10B3B0004DE953E40F94946E18163CF4005F1F4F50 -:10B3C00010930F0200930E02E9CF00910A02109130 -:10B3D0000B02C8010E94F8A020E030E040EA50E4EF -:10B3E0000F943E6587FF07C00051110910930B02AF -:10B3F00000930A02EACF0091470A1091480AC80157 -:10B400000E94F8A020E030E046E153E40F94946EEF -:10B4100018163CF4005F1F4F1093480A0093470A28 -:10B42000EACF0F945A4819A682E390E09AA389A321 -:10B430001A8219821E01B1E22B0E311C01E0970124 -:10B4400041E050E0BE01675D7F4FC1010E9476641C -:10B4500089A5863119F00F94911A0FC083E390E00B -:10B460009AA389A31A82198201E0970140E150E072 -:10B470006AE47AE0C1010E94766481E08093490A1F -:10B480006D98759A809104018D7F8093040180915D -:10B490000501809582708093030153985B9A109206 -:10B4A0005B0A10925A0A0E9481F0819A879A8091D1 -:10B4B0000A01826080930A010E9A3B9A579A5F9A1A -:10B4C000829A8A9A80910701816080930701809116 -:10B4D000080180958170809306010A9A129A3F9A1A -:10B4E000479A809A88985F9A80916A1A8E7F809393 -:10B4F0006A1A869A8E988A9A80916A1A8D7F8093AA -:10B500006A1A80910A01886080930A0180910B0178 -:10B5100088708093090180910801809581708093E3 -:10B52000060180916A1A8B7F80936A1A0C9A14988C -:10B53000129A399A4198479A809180008C7F809323 -:10B54000800080918100877E886080938100809157 -:10B5500080008F738093800080918100887F82605B -:10B560008093810080E090E490938900809388002C -:10B57000109285001092840080916F008260809309 -:10B580006F00789486E080935C0A0E945BF7E091FC -:10B59000EA1BE43208F042C0F0E0CF01880F991FA7 -:10B5A000E80FF91FE358F44E808180788B60808328 -:10B5B00061E08BE00E9489EE1092EB1B1092EC1B75 -:10B5C0008091EA1B6CE00F94F76B90E0ECE08E9FAB -:10B5D000B001112440E050E09B01240F351FF90118 -:10B5E000EE0FFF1F2E0F3F1FF901E358F44E20818D -:10B5F00027FD07C04F5F5F4F4C30510569F70E9430 -:10B600000765E091EA1BF0E0CF01880F991FE80F72 -:10B61000F91FE358F44E8081806880838AEE9BE1B5 -:10B620000E9468646AE570E08AEE9BE10E943865DA -:10B6300010925D0A0E9481F081E00F94FC0C98E268 -:10B6400088E10FB6F894A895809360000FBE9093A0 -:10B6500060001092E71C0E94EC719E012F5F3F4F2B -:10B66000590180E00E94F4678091E71C87FD41C08A -:10B670008091001E82FD3DC083FD03C00E948E723A -:10B6800002C00E9452648091001E83FF2FC08091EF -:10B69000E71C082E000C990BC0969F938F9341E8EE -:10B6A00052E35F934F933F922F920F94D66482E6BA -:10B6B0009BE10E94B8B20F900F900F900F900F90E7 -:10B6C0000F908091651B823088F080916A1B909169 -:10B6D0006B1BA0916C1BB0916D1B8F719927AA27D2 -:10B6E000BB27892B8A2B8B2B09F467C1FFEFF093C3 -:10B6F000E71C8091001E85FF1FC00E941D721092E2 -:10B70000EE0B10926A0A1092ED0B0F942E3D0F94DF -:10B71000D93B8EEF0E948ACE0E94F8CE0F94D619A4 -:10B720000E9489A00E945E641092140223ED32E30D -:10B7300030936C0A20936B0A8DB69EB660916B0AAB -:10B7400070916C0A6115710581F0E12CF12CFB01FF -:10B75000EE0DFF1D749087010F5F1F4F772039F0AA -:10B760003AE0731621F07801F2CF80E02CC0EDB7FB -:10B77000FEB7E01BF10B0FB6F894FEBF0FBEEDBF96 -:10B780002DB73EB72F5F3F4F6901A701C9010F9445 -:10B790007864F601EE0DFF1D1082772009F445C193 -:10B7A00080916B0A90916C0A080F191F10936C0A14 -:10B7B00000936B0AEF2831F0C6010F94A92580E0B1 -:10B7C0000E94204D81E00FB6F8949EBE0FBE8DBE44 -:10B7D0008111C3C08091EE0B882309F4BEC0809113 -:10B7E000001E80FF9EC00091ED0B40E6409F80014F -:10B7F00011240359154F64EB72E3C8010F94BC6424 -:10B80000009739F0DC0113968C9180538A3008F050 -:10B810008BC0F80101900020E9F731977F01E01A11 -:10B82000F10A1092091B6EE470E0C8010F94DA70FF -:10B830006C01892B09F406C160E270E0C6010F9427 -:10B84000DA708C010F5F1F4F6AE270E0C6010F943F -:10B85000DA70FC013197BDE0B1832AE022831382C4 -:10B86000F80101900020E9F731977F01E01AF10A11 -:10B8700080910C1B813009F0E1C080910A1B81FF8F -:10B88000DDC082FF16C040911A1B50911B1B6091B6 -:10B890001C1B70911D1B8091111B9091121BA0917C -:10B8A000131BB091141B84179507A607B70709F05F -:10B8B000BFC04091111B5091121B6091131B7091DE -:10B8C000141BE114F10409F0C4C080911A1B90917B -:10B8D0001B1BA0911C1BB0911D1B84179507A6076D -:10B8E000B70768F440931A1B50931B1B60931C1BF3 -:10B8F00070931D1B80910A1B806880930A1B8091A6 -:10B900000A1B83FDB6C18091091B882331F00F9477 -:10B91000B2548AE892E30F9436548091001E81FF5E -:10B9200009C00F94F12C08C00E94BDEB81EA92E39C -:10B930000F9436540E94C8958091EE0B882369F0CD -:10B9400081508093EE0B8091ED0B8F5F843018F463 -:10B950008093ED0B02C01092ED0B8091EF0B8823CA -:10B9600039F19091EF0B8091F00B981709F10F943A -:10B97000B65484EC92E30F9436548091EF0B80FD23 -:10B980007FC18091EF0B84FD7BC18091EF0B81FD26 -:10B9900081C18091EF0B85FD7DC18091EF0B82FD10 -:10B9A00083C18091EF0B86FD7FC18AE00E94B06663 -:10B9B0008091EF0B8093F00B54CE40E050E0B50146 -:10B9C00082E69BE10E947AB518160CF08FCEF50145 -:10B9D00001900020E9F73197FE2EFA18FA949FEFB4 -:10B9E000F91669F085010F0D111DF7FC1A95D801A4 -:10B9F0008C9190E00F949E70F8018083EFCF8A8540 -:10BA00008E3709F45ECE45E050E0B101C5010F94D8 -:10BA1000EC70892B09F055CEC1010E9436728091DD -:10BA2000E71C8F5F8093E71C64CE00E010E0BECE81 -:10BA300089E09BE10E9479B081113BCFA1E0A09306 -:10BA4000091B61CF31E0E31AF108F801EE0DFF1D8B -:10BA500002CF8091221B9091231BDC0114967C90D5 -:10BA60002FEF270D2A013B0139E076946794579414 -:10BA700047943A95D1F7722E74206A01B1E0DB2227 -:10BA800071104CC0C114D10409F048C040910D1B85 -:10BA900050910E1B60910F1B7091101B41155105A9 -:10BAA0006105710569F480911E1B90911F1BA09187 -:10BAB000201BB091211B0097A105B10539F51FC0CE -:10BAC00095010E949C77882309F4B8CF89819A81D7 -:10BAD000AB81BC81E091221BF091231B278920318F -:10BAE00039F4883FEFEF9E07A105B10540F40EC081 -:10BAF000883FFFEF9F07AF07FFE0BF0738F089E0FF -:10BB00009BE10E94B3B1811109C098CF80930D1BB6 -:10BB100090930E1BA0930F1BB093101B80E092E03C -:10BB20008C199D0947018E159F0508F44C01E09181 -:10BB3000221BF091231B80910D1B90910E1BA09155 -:10BB40000F1BB091101B0297A109B109058404C015 -:10BB5000880F991FAA1FBB1F0A94D2F746855785E5 -:10BB600060897189840F951FA61FB71F9C01AD01C5 -:10BB7000270D311D411D511D29013A01811432E06B -:10BB8000930631F58091881090918910A0918A10C8 -:10BB9000B0918B10481659066A067B0669F410921C -:10BBA00090108FEF9FEFDC018093881090938910A5 -:10BBB000A0938A10B0938B109801B301A2018091D9 -:10BBC0009110909192100E940FB3811139C036CF1D -:10BBD000C114D10431F54091111B5091121B609199 -:10BBE000131B7091141B80911A1B90911B1BA09129 -:10BBF0001C1BB0911D1B481759076A077B0788F06B -:10BC00000E9472B3882309F419CF91E090939010A9 -:10BC1000409288105092891060928A1070928B1016 -:10BC200008C041E0C301B2010E94D176882309F423 -:10BC300005CFA401B801C6018857914F0F94B37086 -:10BC40008091111B9091121BA091131BB091141B9A -:10BC5000880D991DA11DB11D8093111B9093121B7E -:10BC6000A093131BB093141B080D191DE818F908B5 -:10BC700020CE89E09BE10E94B2B3811144CEDECE9A -:10BC800080E00F94013DAB01BC0180EC92E30F9486 -:10BC900082547BCE81E00F94013DAB01BC018CEB63 -:10BCA00092E30F94825479CE82E00F94013DAB0170 -:10BCB000BC0188EB92E30F94825477CECF93DF934D -:10BCC00089E09BE10E94EEB3C6EFDDE16B97CE0108 -:10BCD0000E94EEB38CE1C83ED807C1F787E49BE130 -:10BCE0000E94EEB382E69BE1DF91CF910C94EEB31C -:10BCF000CF92DF92EF92FF926B017C01842F0F9421 -:10BD0000D05E80E090E0A0E8BFE380933D02909396 -:10BD10003E02A0933F02B093400280916B1A81FFD4 -:10BD20000E94BCDDC0926A0ED0926B0EE0926C0E47 -:10BD3000F0926D0E80916B1A826080936B1AFF9067 -:10BD4000EF90DF90CF900895CF92DF92EF92FF9225 -:10BD5000CF93F82E0E94268CC82F8F2D0F94D05E83 -:10BD600080916B1A81FF09C0C0906A0ED0906B0E53 -:10BD7000E0906C0EF0906D0E08C0C090830ED090D5 -:10BD8000840EE090850EF090860E8C2F0F94D05E7E -:10BD9000C701B601CF91FF90EF90DF90CF9008954B -:10BDA000CF93C82F8091870E8C1721F061E08C2FE4 -:10BDB0000E941F9AC093870ECF91089586E40E9437 -:10BDC00079A380939C0C882351F00E9442A3609336 -:10BDD0006C0270936D0280936E0290936F0283E504 -:10BDE0000E9479A3882351F00E9442A360936802C5 -:10BDF0007093690280936A0290936B0282E40E94BE -:10BE000079A3882351F00E9442A360936402709347 -:10BE100065028093660290936702089510926F1AEC -:10BE200010926E1A88EE93E0A0E0B0E08093701A52 -:10BE30009093711AA093721AB093731A8BE993E0DE -:10BE400090936D1A80936C1A85ED90E09093791A17 -:10BE50008093781A84ED90E090937B1A80937A1AFD -:10BE600080ED90E090937D1A80937C1A81ED90E0B4 -:10BE700090937F1A80937E1A82ED90E09093811ABE -:10BE80008093801A86ED90E09093831A8093821AB3 -:10BE90001092851A1092861A1092871A1092881A98 -:10BEA0001092621B1092651B1092471B10924A1B46 -:10BEB000E8EEFCE1108213827B962DE1E63FF2076B -:10BEC000C9F789E18093431B1092461B10923B1BDC -:10BED0001092091B10920C1B8091E91B843220F0F8 -:10BEE0008FEF8093EA1B13C091E0980F9093E91BAA -:10BEF0008093EA1B90E0FC01EE0FFF1F8E0F9F1F47 -:10BF0000FC01E358F44E88EB9BE09283818380E14F -:10BF1000E6E1FCE1DF01282F1D922A95E9F7E6E032 -:10BF2000FCE1DF01282F1D922A95E9F7E6EFFBE1FE -:10BF3000DF011D928A95E9F71092F21B1092F31B14 -:10BF40001092F41B1092F51B1092F11B1092F01B33 -:10BF50001092EF1B1092EE1B1092ED1B8FE79FE0EB -:10BF60009093271C8093261C8AE58093791C8093EC -:10BF7000291C85EA80937A1C80932A1C8AE1E8ECCC -:10BF8000FCE1DF011D928A95E9F781E08093E21CD4 -:10BF90008093E31C8093E41C8093E51C8093E61C53 -:10BFA0000F9487528091001E847F8B7F8093001EA8 -:10BFB0001092FC1D1092FD1D1092FE1D1092FF1D8F -:10BFC0001092F81D1092F91D1092FA1D1092FB1D8F -:10BFD0001092F71D1092F61D8EE091E0E8EEFCE164 -:10BFE000DF019C011D9221503040E1F78FEF8093DB -:10BFF000E71C08950F94224C1092AB1E109214026D -:10C000000E94BA95882321F08091001E82FF07C00C -:10C0100061E08BE29FE50F94DB070D94261982E324 -:10C020009FE590936C0A80936B0AF2CFEF920F9387 -:10C030001F93CF93DF93E80147FD02C034E001C0B6 -:10C0400034E1042E000C550B57FF03C05195419568 -:10C050005109E32E022F242FAE010F941B68CE014D -:10C06000DF91CF911F910F91EF9008958F929F9242 -:10C07000AF92BF92CF92DF92EF92FF92CF93DF9376 -:10C08000EC01688179818A819B8161157105810547 -:10C09000910521F464E279ED8BE597E02DE133EF32 -:10C0A00041E050E00F94B66B49015A019B01AC018D -:10C0B000A7EAB1E40F94D56B6B017C01ACEEB4EF51 -:10C0C000A50194010F94E36BDC01CB018C0D9D1D48 -:10C0D000AE1DBF1DB7FF03C00197A109B0488883FB -:10C0E0009983AA83BB83BC01CD019F77DF91CF9158 -:10C0F000FF90EF90DF90CF90BF90AF909F908F9088 -:10C1000008958F929F92AF92BF92CF92DF92EF925B -:10C11000FF926091760270917702809178029091FF -:10C120007902611571058105910521F464E279EDCB -:10C130008BE597E02DE133EF41E050E00F94B66BD3 -:10C1400049015A019B01AC01A7EAB1E40F94D56BF8 -:10C150006B017C01ACEEB4EFA50194010F94E36B8D -:10C16000DC01CB018C0D9D1DAE1DBF1DB7FF03C0B3 -:10C170000197A109B0488093760290937702A0932B -:10C180007802B0937902BC01CD019F77FF90EF90C8 -:10C19000DF90CF90BF90AF909F908F900895609365 -:10C1A00076027093770280937802909379020895D3 -:10C1B0008F929F92AF92BF92CF92DF92EF92FF92B7 -:10C1C0000F931F93CF93DF93EC016B016115710502 -:10C1D00019F0FB01918380837E01FFEFEF1AFF0AC4 -:10C1E0000881802F90E00F946F64892B11F0E70194 -:10C1F000F3CF0D3239F47E0182E0E80EF11C0981A3 -:10C2000011E008C00B3229F47E0192E0E90EF11C26 -:10C21000098110E0E701219743E050E066EE74E009 -:10C22000CE010F949564892BC1F4239645E050E02C -:10C2300061EE74E0CE010F949564892B09F4259684 -:10C24000C114D10419F0F601D183C0831111F6C0D5 -:10C2500060E070E080E89FE7FAC043E050E06EEDF8 -:10C2600074E0CE010F949564892B59F4C114D10464 -:10C2700009F4E9C0F2E0EF0EF11CF601F182E08270 -:10C28000E2C020E030E0A901C0E0D0E0F70160EDBD -:10C29000A62EA00E89E08A1530F1912F9260B92E5A -:10C2A000812F887012FF04C0811124C0219622C002 -:10C2B00081112197A5E0B0E00F94D56BDC01CB0193 -:10C2C000880F991FAA1FBB1F9C01AD012A0D311DAC -:10C2D000411D511D283989E93807480789E1580768 -:10C2E00048F0166006C09EEFA9120AC013FD40C0B8 -:10C2F0001860B12E8FEFE81AF80A00811B2DC6CF07 -:10C30000802F8F7D8534A1F580818D3211F41061ED -:10C3100006C08B3221F0319661E070E004C081816B -:10C32000329662E070E080538A3018F0E61BF70B1B -:10C330001FC060E070E060389CE079075CF4DB01CE -:10C34000AA0FBB1FAA0FBB1F6A0F7B1F660F771FA9 -:10C35000680F711D3196DF0111978C9180538A30DF -:10C3600050F314FF03C0719561957109C60FD71F73 -:10C3700011FF08C0C114D10429F0CF010197F601C3 -:10C3800091838083CA01B9010F944365212F2370E3 -:10C39000233019F04B015C0106C04B015C01B7FA78 -:10C3A000B094B7F8B09420E030E0A901C501B40121 -:10C3B0000F943E65882309F43EC0D7FF06C0D1958F -:10C3C000C195D1090DEF14E002C005E115E0680147 -:10C3D000F8E1CF1AD10890E2E92EF12CCE15DF0555 -:10C3E00074F0F8012591359145915491C501B4013E -:10C3F0000F94A4654B015C01CE19DF09EFCF045007 -:10C400001109F594E7940C151D0541F78A2D880F45 -:10C410008B2D881F8F3F49F020E030E0A901C50136 -:10C42000B4010F943E65811106C082E290E09093C2 -:10C43000071F8093061FC501B40109C060E070E0CA -:10C4400080E89FEF04C060E070E080EC9FE7DF9140 -:10C45000CF911F910F91FF90EF90DF90CF90BF9001 -:10C46000AF909F908F9008953F924F925F926F92FE -:10C470007F928F929F92AF92BF92CF92DF92EF9274 -:10C48000FF920F931F93CF93DF935C016B017A01AF -:10C490006115710519F0FB0191838083E114F104AA -:10C4A00029F0C7010297839708F0E5C0E5012196BE -:10C4B000F5011081812F90E00F946F64892B11F0AA -:10C4C0005E01F4CF1D3229F42196F501118101E0BE -:10C4D00007C01B3221F4E5012296F501118100E02D -:10C4E000E114F10409F1F0E1EF16F10429F43FC081 -:10C4F00010E3E114F10421F128E0E216F10401F166 -:10C5000054F4E2E0EE16F10421F5812C912CA12CDB -:10C51000B0E4BB2E3EC0FAE0EF16F10439F020E1A2 -:10C52000E216F104B1F430C0103319F1FAE0EF2E45 -:10C53000F12CACEC8A2E982CA82CACE0BA2E29C099 -:10C5400078E0E72EF12C812C912CA12CE0E1BE2E7D -:10C5500020C060E070E080E090E897010F2C000CB4 -:10C56000440B550B0F94946B49015A0112C01033C0 -:10C5700059F488818F7D883509F0BACF19812296C8 -:10C58000026080E1E82EF12C812C912CA12C68E036 -:10C59000B62E40E060E070E0CB0127010F2C000CCC -:10C5A00066087708FE0150ED352E310E29E023157F -:10C5B00070F42FEB210F2A3118F439EC332E06C01A -:10C5C0002FE9210F2A3118F529EA322E310E232DB9 -:10C5D00030E02E153F05DCF447FD16C086169706A1 -:10C5E000A806B90670F0A30192010F94846B630D45 -:10C5F000711D811D911D61307105810520E8920733 -:10C6000010F04FEF01C041E021961081CBCF202FD9 -:10C610002170C114D10471F0442329F02197F6014F -:10C62000D183C08307C001FF19C02297F601D183CF -:10C63000C08314C047FF12C0222329F060E070E0DD -:10C6400080E090E804C06FEF7FEF8FEF9FE722E27A -:10C6500030E03093071F2093061F09C0222381F08A -:10C6600090958095709561957F4F8F4F9F4F462F86 -:10C67000372F282F12C040E030E020E090E00DC0BE -:10C6800097FFF5CF82E290E09093071F8093061FFB -:10C690006FEF7FEF8FEF9FE7EACF642F732F822F2B -:10C6A000DF91CF911F910F91FF90EF90DF90CF908E -:10C6B000BF90AF909F908F907F906F905F904F90C2 -:10C6C0003F9008953F924F925F926F927F928F9228 -:10C6D0009F92AF92BF92CF92DF92EF92FF920F9311 -:10C6E0001F93CF93DF935C016B017A016115710594 -:10C6F00019F0FB0191838083E114F10429F0C70153 -:10C700000297839708F0C9C0E5012196F5011081D1 -:10C71000812F90E00F946F64892B11F05E01F4CFAC -:10C720001D3229F42196F501118101E007C01B3269 -:10C7300021F4E5012296F501118100E0E114F104F4 -:10C74000B1F0F0E1EF16F10429F4B0C010E3E11408 -:10C75000F10401F12AE0E216F104B1F180E1E816FA -:10C76000F10471F0E8E0EE16F104F1F413C01033B7 -:10C7700041F588818F7D883549F7198122960260BD -:10C78000F0E1EF2EF12C88248A94982CA82CAFE0AD -:10C79000BA2E20C078E0E72EF12C88248A94982CB9 -:10C7A000A82CEFE1BE2E16C06FEF7FEFCB019701F3 -:10C7B0000F2C000C440B550B0F94946B49015A013C -:10C7C00009C08AE0E82EF12C69E9862E982CA82C65 -:10C7D00069E1B62E40E060E070E0CB0127010F2C4C -:10C7E000000C66087708FE0150ED352E310E29E069 -:10C7F000231570F42FEB210F2A3118F439EC332E66 -:10C8000006C02FE9210F2A3130F529EA322E310EE8 -:10C81000232D30E02E153F05F4F44F3FC9F0861666 -:10C820009706A806B90688F0A30192010F94846BBD -:10C83000232D30E040E050E0620F731F841F951FEE -:10C84000621773078407950710F44FEF01C041E0AA -:10C8500021961081C8CFC114D10451F0442311F0A6 -:10C86000219703C001FF04C02297F601D183C08342 -:10C8700000FF07C090958095709561957F4F8F4F11 -:10C880009F4F4F3F79F482E290E09093071F80938F -:10C89000061F3FEF2FEF9FEF0DC040E030E020E09C -:10C8A00090E008C0462F372F282F04C0103309F01E -:10C8B00067CF5FCF642F732F822FDF91CF911F91AE -:10C8C0000F91FF90EF90DF90CF90BF90AF909F902F -:10C8D0008F907F906F905F904F903F90089591114F -:10C8E0000D946A6A803219F089508550C8F708950E -:10C8F000FB01DC0102C005900D9241505040D8F779 -:10C900000895FC010590061621F00020D9F7C0011A -:10C9100008953197CF010895FC0105900020E9F7B3 -:10C92000809590958E0F9F1F0895FB01DC0141506B -:10C93000504088F08D9181341CF08B350CF4805E72 -:10C94000659161341CF06B350CF4605E861B6111DF -:10C9500071F3990B0895881BFCCFFB01DC0141505A -:10C96000504048F005900D920020C9F701C01D927B -:10C9700041505040E0F70895FB0155915523A9F02F -:10C98000BF01DC014D9145174111E1F759F4CD018B -:10C990000590002049F04D9140154111C9F3FB016C -:10C9A0004111EFCF81E090E0019708950F931F931D -:10C9B000CF93DF93CDB7DEB72E970FB6F894DEBFD7 -:10C9C0000FBECDBF0E891F898EE08C831A83098329 -:10C9D0008FEF9FE79E838D83AE01465E5F4F688D2C -:10C9E000798DCE0101960F941166EF81F885E00FE5 -:10C9F000F11F10822E960FB6F894DEBF0FBECDBF8A -:10CA0000DF91CF911F910F9108950F931F93CF93B3 -:10CA1000DF93CDB7DEB72E970FB6F894DEBF0FBE0B -:10CA2000CDBF8C01FA018EE08C831A83098377FFD6 -:10CA300002C060E070E8CB0101979E838D83A9015D -:10CA4000BF01CE0101960F9411664D815E8157FDA5 -:10CA50000AC02F813885421753070CF49A01F80158 -:10CA6000E20FF31F10822E960FB6F894DEBF0FBEB2 -:10CA7000CDBFDF91CF911F910F9108950F948065E5 -:10CA800008F481E00895E89409C097FB3EF490957E -:10CA90008095709561957F4F8F4F9F4F9923A9F097 -:10CAA000F92F96E9BB279395F69587957795679526 -:10CAB000B795F111F8CFFAF4BB0F11F460FF1BC06A -:10CAC0006F5F7F4F8F4F9F4F16C0882311F096E9FD -:10CAD00011C0772321F09EE8872F762F05C06623AB -:10CAE00071F096E8862F70E060E02AF09A95660F64 -:10CAF000771F881FDAF7880F9695879597F908951D -:10CB0000990F0008550FAA0BE0E8FEEF161617065E -:10CB1000E807F907C0F012161306E407F50798F0C6 -:10CB2000621B730B840B950B39F40A2661F0232BDF -:10CB3000242B252B21F408950A2609F4A140A6955B -:10CB40008FEF811D811D08950F94B7650D94346B8F -:10CB50000F94266B38F00F942D6B20F0952311F075 -:10CB60000D941D6B0D94236B11240D94686B0F9421 -:10CB7000456B70F3959FC1F3950F50E0551F629F71 -:10CB8000F001729FBB27F00DB11D639FAA27F00D26 -:10CB9000B11DAA1F649F6627B00DA11D661F829F4D -:10CBA0002227B00DA11D621F739FB00DA11D621F32 -:10CBB000839FA00D611D221F749F3327A00D611D4F -:10CBC000231F849F600D211D822F762F6A2F112431 -:10CBD0009F5750409AF0F1F088234AF0EE0FFF1F64 -:10CBE000BB1F661F771F881F91505040A9F79E3FBB -:10CBF000510580F00D941D6B0D94686B5F3FE4F35D -:10CC0000983ED4F3869577956795B795F795E79510 -:10CC10009F5FC1F7FE2B880F911D9695879597F919 -:10CC200008952F923F924F925F926F927F928F92D0 -:10CC30009F92AF92BF92CF92DF92EF92FF920F93AB -:10CC40001F93CF93DF93CDB7DEB72B970FB6F89432 -:10CC5000DEBF0FBECDBF6C017B018A01FC011782D4 -:10CC60001682838181FFCCC1CE0101963C01F60181 -:10CC70009381F70193FD859193FF81917F01882333 -:10CC800009F4BAC1853239F493FD859193FF8191FE -:10CC90007F01853229F4B60190E00F94836AE7CFD3 -:10CCA000912C212C312CFFE1F315D8F08B3279F047 -:10CCB00038F4803279F08332A1F4232D20611DC035 -:10CCC0008D3261F0803369F4232D216016C0832DED -:10CCD0008260382EE32DE4603E2E2AC0F32DF860EA -:10CCE0001DC037FC2DC020ED280F2A3040F08E32B9 -:10CCF000B9F436FC81C1232D2064322E19C036FED2 -:10CD000006C08AE0989E200D1124922E11C0EAE000 -:10CD10002E9E200D1124222EF32DF0623F2E08C0EE -:10CD20008C3621F4832D8068382E02C0883641F479 -:10CD3000F70193FD859193FF81917F018111B3CF1D -:10CD4000982F9F7D9554933028F40C5F1F4F9FE3DD -:10CD500099830DC0833631F0833771F0833509F044 -:10CD600059C021C0F801808189830E5F1F4F88243C -:10CD70008394912C530113C02801F2E04F0E511CF3 -:10CD8000F801A080B18036FE03C0692D70E002C0BA -:10CD90006FEF7FEFC5010F94786A4C018201F32D8C -:10CDA000FF773F2E16C0280122E0420E511CF801E9 -:10CDB000A080B18036FE03C0692D70E002C06FEF25 -:10CDC0007FEFC5010F946D6A4C01F32DF0683F2E83 -:10CDD000820133FC1BC0822D90E088169906B0F4C6 -:10CDE000B60180E290E00F94836A2A94F4CFF501B3 -:10CDF00037FC859137FE81915F01B60190E00F9479 -:10CE0000836A21102A9421E0821A910881149104E6 -:10CE100071F7E8C0843611F0893641F5F80137FE24 -:10CE200007C060817181828193810C5F1F4F08C0B0 -:10CE300060817181072E000C880B990B0E5F1F4FCC -:10CE4000F32DFF763F2E97FF09C090958095709542 -:10CE500061957F4F8F4F9F4FF0683F2E2AE030E063 -:10CE6000A3010F94BF6A882E861845C0853731F418 -:10CE7000232D2F7EB22E2AE030E025C0932D997FFE -:10CE8000B92E8F36C1F018F4883579F0B5C08037E7 -:10CE900019F0883721F0B0C0E92FE061BE2EB4FE52 -:10CEA0000DC0FB2DF460BF2E09C034FE0AC0292F2F -:10CEB0002660B22E06C028E030E005C020E130E058 -:10CEC00002C020E132E0F801B7FE07C06081718145 -:10CED000828193810C5F1F4F06C06081718180E069 -:10CEE00090E00E5F1F4FA3010F94BF6A882E861833 -:10CEF000FB2DFF773F2E36FE0DC0232D2E7FA22E59 -:10CF0000891458F434FE0BC032FC09C0832D8E7E88 -:10CF1000A82E05C0B82CA32C03C0B82C01C0B92C76 -:10CF2000A4FE0FC0FE01E80DF11D8081803321F4C5 -:10CF30009A2D997EA92E09C0A2FE06C0B394B3947F -:10CF400004C08A2D867809F0B394A3FC11C0A0FE1A -:10CF500006C0B21488F4280C922C9B180EC0B21490 -:10CF600060F4B60180E290E00F94836AB394F7CF47 -:10CF7000B21418F42B1802C0982C212CA4FE10C057 -:10CF8000B60180E390E00F94836AA2FE17C0A1FC73 -:10CF900003C088E790E002C088E590E0B6010CC0CD -:10CFA0008A2D867859F0A1FE02C08BE201C080E292 -:10CFB000A7FC8DE2B60190E00F94836A891438F4DF -:10CFC000B60180E390E00F94836A9A94F7CF8A9435 -:10CFD000F301E80DF11D8081B60190E00F94836AA2 -:10CFE0008110F5CF222009F442CEB60180E290E014 -:10CFF0000F94836A2A94F6CFF6018681978102C046 -:10D000008FEF9FEF2B960FB6F894DEBF0FBECDBF0C -:10D01000DF91CF911F910F91FF90EF90DF90CF9014 -:10D02000BF90AF909F908F907F906F905F904F9048 -:10D030003F902F9008958F929F92AF92BF92CF9280 -:10D04000DF92EF92FF920F931F93CF93DF93CDB7B1 -:10D05000DEB729970FB6F894DEBF0FBECDBF6A01C9 -:10D06000122FB02E2BE3201720F0FF24F394F00EA4 -:10D0700002C02CE3F22E0F2D27E0AE014F5F5F4F71 -:10D080000F949269BC014981842F8970813031F0FD -:10D09000E1FC06C0E0FE06C090E205C09DE203C0D0 -:10D0A0009BE201C090E05E2D507143FF3CC09111A6 -:10D0B00002C083E001C084E0811718F4212F281BEF -:10D0C00001C020E051110BC0F601822F30E288230D -:10D0D00019F031938150FBCFC20ED11C20E099236F -:10D0E00029F0D6019C93F60131966F01C601039693 -:10D0F000E2FE0AC03EE4D6013C9341E411964C9313 -:10D10000119712963C9306C03EE6F601308341E645 -:10D1100041833283FC01322F40E2332309F442C0C1 -:10D1200041933150FACF42FF44C0911102C083E0D5 -:10D1300001C084E0811718F4212F281B01C020E0D2 -:10D1400051110BC0F601822F30E2882319F0319380 -:10D150008150FBCFC20ED11C20E0992329F0D601CB -:10D160009C93F60131966F01C6010396E2FE0BC057 -:10D1700039E4D6013C933EE411963C93119736E492 -:10D1800012963C9307C039E6F60130833EE63183C0 -:10D1900036E63283FC01322F40E2332319F041930B -:10D1A0003150FBCFFC01E20FF11D10828EEF9FEF9B -:10D1B000A6C021E030E0911102C020E030E0161658 -:10D1C00017061CF4FB01319602C0E1E0F0E02E0FDF -:10D1D0003F1FBB2021F0EB2DF0E0319602C0E0E0D4 -:10D1E000F0E02E0F3F1FE12FF0E02E173F071CF459 -:10D1F000121B212F01C020E08E2D887159F4F601F9 -:10D20000822F30E2882319F031938150FBCFC20E78 -:10D21000D11C20E0992329F0D6019C93F601319688 -:10D220006F0151110BC0F601822F90E3882319F092 -:10D2300091938150FBCFC20ED11C20E00F2D060F21 -:10D240009A81342F307144FF03C0913309F40150A7 -:10D25000101624F4093018F008E001C001E0AB0119 -:10D2600077FF02C040E050E0FB01E41BF50BA1E0BA -:10D27000B0E0AC0FBD1FEA0FFB1F8EE2A82E4B01E2 -:10D28000801A91080B2D10E01195019511094F3F5F -:10D29000BFEF5B0721F4D601AC9211966D016417C4 -:10D2A00075072CF08416950614F4818101C080E383 -:10D2B000415051093196D60111967D014017510711 -:10D2C00024F0D6018C936701E2CF6417750739F417 -:10D2D000963320F4953319F4311101C081E3F6013E -:10D2E0008083F701822F90E2882319F09193815077 -:10D2F000FBCFF701E20FF11D108280E090E029964C -:10D300000FB6F894DEBF0FBECDBFDF91CF911F9156 -:10D310000F91FF90EF90DF90CF90BF90AF909F90D4 -:10D320008F900895283008F027E03327DA01990F0D -:10D33000311D87FD916000966105710539F43260F9 -:10D340002E5F3D9330E32A95E1F708959F3F30F03B -:10D3500080387105610509F03C5F3C5F3D93913079 -:10D3600008F08068911DDF93CF931F930F93FF9276 -:10D37000EF92192F987F9695E92F96959695E90F3C -:10D38000FF27ED58FA4F99273327EE24FF24A701F2 -:10D39000E70105900894079428F4360FE71EF81E5D -:10D3A000491F511D660F771F881F991F0694A1F70B -:10D3B0000590079428F4E70EF81E491F561FC11D5B -:10D3C000770F881F991F661F0694A1F70590079491 -:10D3D00028F4F80E491F561FC71FD11D880F991F2B -:10D3E000661F771F0694A1F70590079420F4490F54 -:10D3F000561FC71FD81F990F661F771F881F0694D7 -:10D40000A9F784911095177041F0D695C795579557 -:10D410004795F794E7941A95C1F7E9E1F5E0689428 -:10D420001590159135916591959105907FE27395D1 -:10D43000E118F10A430B560BC90BD009C0F7E10CF8 -:10D44000F11E431F561FC91FD01D7EF4703311F407 -:10D450008A95E6CFE894015030F0080F0AF40027CF -:10D46000021708F4202F2395022F7A3328F079E34E -:10D470007D932A95E9F710C07D932A9589F6069445 -:10D4800097956795379517951794E118F10A430B0F -:10D49000560BC90BD00998F023957E9173957A337A -:10D4A00008F070E37C932013B8F77E9170617D9350 -:10D4B00030F0839571E37D9370E32A95E1F71124B1 -:10D4C000EF90FF900F911F91CF91DF91992787FDEA -:10D4D00090950895992788270895FC01059061503B -:10D4E00070400110D8F7809590958E0F9F1F08957A -:10D4F000FC016150704001900110D8F78095909523 -:10D500008E0F9F1F08950F931F93CF93DF93FB01FF -:10D51000238121FD03C08FEF9FEF2CC022FF16C097 -:10D5200046815781248135814217530744F4A081F5 -:10D53000B1819D012F5F3F4F318320838C932681E2 -:10D5400037812F5F3F4F3783268314C08B01EC0157 -:10D55000FB010084F185E02D1995892BE1F6D801B6 -:10D5600016968D919C911797019617969C938E9382 -:10D570001697CE01DF91CF911F910F910895FA0177 -:10D58000AA27283051F1203181F1E8946F936E7F02 -:10D590006E5F7F4F8F4F9F4FAF4FB1E03ED0B4E0F3 -:10D5A0003CD0670F781F891F9A1FA11D680F791F34 -:10D5B0008A1F911DA11D6A0F711D811D911DA11D45 -:10D5C00020D009F468943F912AE0269F1124301955 -:10D5D000305D3193DEF6CF010895462F4770405DF0 -:10D5E0004193B3E00FD0C9F7F6CF462F4F70405D9F -:10D5F0004A3318F0495D31FD4052419302D0A9F7FA -:10D60000EACFB4E0A6959795879577956795BA95F3 -:10D61000C9F700976105710508959B01AC010A2EB9 -:10D6200006945795479537952795BA95C9F7620F90 -:10D63000731F841F951FA01D089597F99F6780E8A9 -:10D6400070E060E008959FEF80EC089500240A9454 -:10D650001616170618060906089500240A941216CD -:10D660001306140605060895092E0394000C11F400 -:10D67000882352F0BB0F40F4BF2B11F460FF04C0AD -:10D680006F5F7F4F8F4F9F4F089557FD9058440F06 -:10D69000551F59F05F3F71F04795880F97FB991F11 -:10D6A00061F09F3F79F087950895121613061406CE -:10D6B000551FF2CF4695F1DF08C01616170618065B -:10D6C000991FF1CF86957105610508940895E89436 -:10D6D000BB2766277727CB0197F90895F999FECFE5 -:10D6E00092BD81BDF89A992780B50895262FF999A2 -:10D6F000FECF1FBA92BD81BD20BD0FB6F894FA9A35 -:10D70000F99A0FBE01960895DB018F939F930F94B2 -:10D71000D56BBF91AF91A29F800D911DA39F900DDE -:10D72000B29F900D11240895A1E21A2EAA1BBB1BD3 -:10D73000FD010DC0AA1FBB1FEE1FFF1FA217B307DD -:10D74000E407F50720F0A21BB30BE40BF50B661FF3 -:10D75000771F881F991F1A9469F7609570958095B7 -:10D7600090959B01AC01BD01CF010895052E97FB5B -:10D770001EF400940F94CD6B57FD07D00F94946B5B -:10D7800007FC03D04EF40D94CD6B50954095309529 -:10D7900021953F4F4F4F5F4F08959095809570951D -:10D7A00061957F4F8F4F9F4F08950F94E86BA59F12 -:10D7B000900DB49F900DA49F800D911D112408958C -:10D7C000B7FF0D94D56B0F94D56B821B930B089507 -:10D7D000A29FB001B39FC001A39F700D811D1124B2 -:10D7E000911DB29F700D811D1124911D0895991BEB -:10D7F00079E004C0991F961708F0961B881F7A9548 -:10D80000C9F780950895AA1BBB1B51E107C0AA1F49 -:10D81000BB1FA617B70710F0A61BB70B881F991FD1 -:10D820005A95A9F780959095BC01CD01089597FB75 -:10D83000072E16F4009407D077FD09D00F94036CDF -:10D8400007FC05D03EF4909581959F4F0895709503 -:10D8500061957F4F0895EE0FFF1F881F8BBF0790C4 -:10D86000F691E02D19945058BB27AA270F944B6CC2 -:10D870000D94346B0F94266B38F00F942D6B20F0C1 -:10D8800039F49F3F19F426F40D94236B0EF4E095C0 -:10D89000E7FB0D941D6BE92F0F94456B58F3BA17F6 -:10D8A000620773078407950720F079F4A6F50D94B5 -:10D8B000676B0EF4E0950B2EBA2FA02D0B01B9016A -:10D8C00090010C01CA01A0011124FF27591B99F0F6 -:10D8D000593F50F4503E68F11A16F040A22F232F02 -:10D8E000342F4427585FF3CF469537952795A79552 -:10D8F000F0405395C9F77EF41F16BA0B620B730BF9 -:10D90000840BBAF09150A1F0FF0FBB1F661F771F69 -:10D91000881FC2F70EC0BA0F621F731F841F48F41E -:10D92000879577956795B795F7959E3F08F0B0CFA7 -:10D930009395880F08F09927EE0F9795879508958E -:10D940000F94266B60F080E891E009F49EEF0F944D -:10D950002D6B28F040E851E071F45EEF0CC00D949F -:10D96000236B0D94676BE92FE0780F94456B40F3C0 -:10D97000092E052AB1F3261737074807590738F04B -:10D980000E2E07F8E02569F0E025E0640AC0EF6399 -:10D9900007F8009407FADB01B9019D01DC01CA0117 -:10D9A000AD01EF930F94456D0F94346B0F94E36CBE -:10D9B0005F91552339F02BED3FE049E450FD49ECF0 -:10D9C0000D94346C0895DF93DD27B92FBF7740E8BD -:10D9D0005FE31616170648075B0718F4D92F0F9454 -:10D9E000996E9F938F937F936F930F94726FECEF69 -:10D9F000F1E00F94166E0F94346B2F913F914F917D -:10DA00005F910F94B765DD2351F09058A2EA2AED9B -:10DA10003FE049EC5FE3D0785D270F944B6CDF91DA -:10DA20000D94346B0F947C6E90F09F3748F49111F5 -:10DA300016F40D94686B60E070E080E89FE3089551 -:10DA400026F01B16611D711D811D0D94ED6D0D9449 -:10DA5000086E0F943F6EE3950D94686E0F94426DBF -:10DA60000D94346B0F942D6B58F00F94266B40F08F -:10DA700029F45F3F29F00D941D6B51110D94686BD3 -:10DA80000D94236B0F94456B68F39923B1F35523E1 -:10DA900091F3951B550BBB27AA27621773078407C1 -:10DAA00038F09F5F5F4F220F331F441FAA1FA9F357 -:10DAB00035D00E2E3AF0E0E832D091505040E69545 -:10DAC000001CCAF72BD0FE2F29D0660F771F881FA6 -:10DAD000BB1F261737074807AB07B0E809F0BB0B99 -:10DAE000802DBF01FF2793585F4F3AF09E3F5105AD -:10DAF00078F00D941D6B0D94686B5F3FE4F3983ED6 -:10DB0000D4F3869577956795B795F7959F5FC9F795 -:10DB1000880F911D9695879597F90895E1E0660F16 -:10DB2000771F881FBB1F621773078407BA0720F08F -:10DB3000621B730B840BBA0BEE1F88F7E0950895F8 -:10DB40000F94A76D6894B1110D94686B08950F94AC -:10DB50004D6B88F09F5798F0B92F9927B751B0F0C7 -:10DB6000E1F0660F771F881F991F1AF0BA95C9F761 -:10DB700014C0B13091F00F94676BB1E008950D942B -:10DB8000676B672F782F8827B85F39F0B93FCCF3E0 -:10DB9000869577956795B395D9F73EF490958095DE -:10DBA000709561957F4F8F4F9F4F08950F947C6EB6 -:10DBB00090F09F3748F4911116F00D94686B60E077 -:10DBC00070E080E89FEB089526F41B16611D711D1F -:10DBD000811D0D94ED6D0D94086E882371F47723EB -:10DBE00021F09850872B762F07C0662311F49927D0 -:10DBF0000DC09051862B70E060E02AF09A95660F78 -:10DC0000771F881FDAF7880F9695879597F90895FB -:10DC10009F3F31F0915020F4879577956795B795A0 -:10DC2000880F911D9695879597F90895DF93CF9367 -:10DC30001F930F93FF92EF92DF927B018C01689408 -:10DC400006C0DA2EEF010F94B765FE01E894A591A6 -:10DC50002591359145915591A6F3EF010F944B6CA9 -:10DC6000FE019701A801DA9469F7DF90EF90FF9029 -:10DC70000F911F91CF91DF9108950D94236B0F9415 -:10DC80004D6BD8F3E894E0E0BB279F57F0F02AED06 -:10DC90003FE049EC06C0EE0FBB0F661F771F881FE1 -:10DCA00028F0B23A62077307840728F0B25A620B71 -:10DCB000730B840BE3959A9572F7803830F49A953C -:10DCC000BB0F661F771F881FD2F790480D940A6E0E -:10DCD000EF93E0FF07C0A2EA2AED3FE049EC5FEBDB -:10DCE0000F944B6C0F94346B0F90039401FC90587D -:10DCF000E9E2F2E00D94C76F0F944D6BA0F0BEE720 -:10DD0000B91788F4BB279F3860F41616B11D672F2A -:10DD1000782F8827985FF7CF869577956795B11DFF -:10DD200093959639C8F308950F94806508F48FEFA2 -:10DD300008959B01AC0160E070E080E89FE30D94E2 -:10DD40002E6D0F944D6B58F19E5760F19851A0F0D5 -:10DD5000E9F0983020F5092E9927660F771F881F64 -:10DD6000991F0A94D1F712C0062E672F782F8827A3 -:10DD7000985F11F4000C07C0993FB4F3869577952E -:10DD800067959395D9F7611D711D811D3EF490959E -:10DD90008095709561957F4F8F4F9F4F0895689440 -:10DDA0000D94686B0D94676BFA01EE0FFF1F3096B0 -:10DDB00021053105A1F16115710561F48038BFE3DA -:10DDC0009B0749F168949038810561F08038BFEF76 -:10DDD0009B0741F099234AF5FF3FE10531052105F5 -:10DDE00019F1E8940894E795D901AA2329F4AB2FF7 -:10DDF000BE2FF85FD0F310C0FF5F70F4A695E0F778 -:10DE0000F73950F019F0FF3A38F49F779F930DD00F -:10DE10000F9007FC9058089546F00D94236B60E036 -:10DE200070E080E89FE308954FE79F775F934F93FB -:10DE30003F932F930F941D702F913F914F915F91BE -:10DE40000F94A4650D948E6F9F930F943F6E0F9067 -:10DE500007FCEE5F0D94686E19F416F40D94236BB5 -:10DE60000D94086E0F944D6BB8F39923C9F3B6F374 -:10DE70009F57550B87FF0F94C06F0024A0E640EA20 -:10DE8000900180585695979528F4805C660F771F0F -:10DE9000881F20F026173707480730F4621B730BE2 -:10DEA000840B202931294A2BA69517940794202505 -:10DEB00031254A2758F7660F771F881F20F026174D -:10DEC0003707480730F4620B730B840B200D311DAC -:10DED000411DA09581F7B901842F9158880F96951F -:10DEE000879508959B01AC010D94A4650F947C6EF9 -:10DEF00030F09F3710F40D94686B0D94ED6D0D9418 -:10DF0000086E0F948065880B990B089529F416F01C -:10DF10000D941D6B0D94676B0D94236B0F944D6BDB -:10DF2000A8F39638A0F707F80F92E8942BE33AEAA3 -:10DF300048EB5FE70F94BA650F920F920F924DB7BF -:10DF40005EB70F920F946570E7E4F2E00F94166EDF -:10DF50004F915F91EF91FF91E595EE1FFF1F49F003 -:10DF6000FE57E0684427EE0F441FFA95E1F741950C -:10DF7000550B0F94DF6F0F9007FE0D94996E089567 -:10DF800091505040660F771F881FD2F708959F93D6 -:10DF90008F937F936F93FF93EF939B01AC010F944B -:10DFA000A465EF91FF910F94166E2F913F914F91C1 -:10DFB0005F910D94A4650D941D6B0D94086E0F94E4 -:10DFC0004D6BD8F39923C9F3940F511DA3F39150CE -:10DFD000504094F059F0882332F0660F771F881F65 -:10DFE00091505040C1F79E3F51052CF7880F911D6D -:10DFF0009695879597F908955F3FACF0983E9CF011 -:10E00000BB27869577956795B79508F4B16093958A -:10E01000C1F7BB0F58F711F460FFE8CF6F5F7F4F78 -:10E020008F4F9F4FE3CF0D94686B16F00D94086EE1 -:10E030000D94236B68940D941D6B0F944D6BA8F396 -:10E040009923C1F3AEF3DF93CF931F930F93FF9206 -:10E05000C92FDD2788232AF02197660F771F881F95 -:10E06000DAF720E030E040E85FEB9FE3883920F00A -:10E07000803E38F021968F770F94346CEFE6F2E013 -:10E0800004C00F94346CECE9F2E00F94166E8B012F -:10E09000BE01EC01FB2E6F5771097595771F880B38 -:10E0A000990B0F94456528E132E741E35FE30F9454 -:10E0B000B765AF2D9801AE01FF900F911F91CF91E1 -:10E0C000DF910F944B6C0D94346BFA01DC01AA0FB5 -:10E0D000BB1F9B01AC01BF5728F4222733274427DD -:10E0E000507820C0B75190F4AB2F00244695379557 -:10E0F0002795011CA395D2F3002071F0220F331F46 -:10E10000441FB395DAF30ED00D94336C6130710572 -:10E11000A0E88A07B94630F49B01AC01662777274F -:10E1200088279078309621F020833183428353836F -:10E13000089581E090E0F8940D9443719111089551 -:10E1400081548A5108F4805E855A0895FB01DC01F0 -:10E1500004C08D910190801921F441505040C8F7BE -:10E16000881B990B0895FB01DC0102C001900D9200 -:10E1700041505040D8F70895FB01DC018D91813466 -:10E180001CF08B350CF4805E619161341CF06B35B2 -:10E190000CF4605E861B611189F3990B0895FB01F5 -:10E1A000DC010D900020E9F7119701900D920020FD -:10E1B000E1F70895FC018191861721F08823D9F7B2 -:10E1C000992708953197CF010895FB01DC01019053 -:10E1D0000D920020E1F70895FB01DC014150504011 -:10E1E00030F08D910190801919F40020B9F7881B47 -:10E1F000990B0895FB01DC014150504048F001901B -:10E200000D920020C9F701C01D9241505040E0F727 -:10E210000895FC0181E090E00190061609F4CF0119 -:10E220000020D1F7019708950F931F93CF93DF93A9 -:10E23000CDB7DEB72E970FB6F894DEBF0FBECDBFB9 -:10E240000E891F8986E08C831A8309838FEF9FE7ED -:10E250009E838D83AE01465E5F4F688D798DCE01C2 -:10E2600001960F941166EF81F885E00FF11F10827F -:10E270002E960FB6F894DEBF0FBECDBFDF91CF91C3 -:10E280001F910F91089510E3C1EED0E300E006C0A6 -:10E29000802FFE010F942B6C2196011DC23ED107E9 -:0AE2A00080E00807A9F7F894FFCF0B -:10E2AA0002C0D401000180000000FF3FFF3F0000D0 -:10E2BA000000FF3F010000803F0000803F80800196 -:10E2CA0010FF0601010000000000009D430000004D -:10E2DA000000009A43000000000000C8430000C884 -:10E2EA0041A0000164005CFF79C4CDCCCC3C0000A5 -:10E2FA00A04001FFFFFFFFFFFFFFFFFFFFFFFFFF40 -:10E30A000000803F00007A4300005243CDCCCC3D50 -:10E31A000164006400010100000002100000041002 -:10E32A00000006100000081000000A1000000C107F -:10E33A0000002610000030100000321000003410D7 -:10E34A0000003A1000003E10000040100000441087 -:10E35A00000046100000481000004A1000004C104F -:10E36A0000005410000056100000581000005C1005 -:10E37A0000005E1000005F1000008810000000001E -:10E38A00000000409C4500007A4500007A430000E6 -:10E39A0070420102030405DC050000DC050000648C -:10E3AA000000004B0000000000A0420000A0420054 -:10E3BA0000C8430000BE420000FA430000FA4300CE -:10E3CA0000204100009642B400F00046006E0000B2 -:10E3DA00004040000034420000000000000000003D -:10E3EA0000000000005041000000000000004164ED -:10E3FA0000000064000000030000006400000064E4 -:10E40A0000000003000000030000001E0000001EC0 -:10E41A000000001E0000001E0000001E0000001E7A -:10E42A000000000A005A005637300058595A450071 -:10E43A00009B4300002041000000009E70077035D9 -:10E44A0070EB706670447058702A2A2A496E697493 -:10E45A00696E672063617264206973204F4B2A2AB0 -:10E46A002A002A2A2A496E6974696E6720636172D2 -:10E47A0064206661696C732A2A2A002A2A2A43615F -:10E48A0072642052656D6F7665642A2A2A003D3DC2 -:10E49A007761697477617920313D3D003D3D77614F -:10E4AA00697477617920333D3D002020737461726D -:10E4BA007470726F6772657373200020202A2A2A8B -:10E4CA002A2A2A2A5254535F48616E646C65446151 -:10E4DA0074612A2A2A2A2A2A2A2A20003D3D204310 -:10E4EA006865636B6B65793D3D000A2048616E641F -:10E4FA006C652044617461205072696E7446696C5F -:10E50A006520312053657474696E672053637265A0 -:10E51A00656E20000A2048616E646C65204461744F -:10E52A0061205072696E7446696C652032205365A9 -:10E53A007474696E672053637265656E20000A20E1 -:10E54A0048616E646C652044617461205072696E22 -:10E55A007446696C6520332053657474696E67204C -:10E56A0053637265656E20000A2048616E646C65AB -:10E57A0020446174612041646A75737420322053A7 -:10E58A00657474696E672053637265656E200074E2 -:10E59A00696E796D616368696E657333642E636F42 -:10E5AA006D004368696E657365204E6F74205375FC -:10E5BA0070706F7274656400456E676C6973682069 -:10E5CA00416C72656164792053657400496E7661A5 -:10E5DA006C6964204F7074696F6E000A204E6F2058 -:10E5EA0046696C616D656E7400526573756D652060 -:10E5FA0059657320647572696E67207072696E74EA -:10E60A00002046696C616D656E7420526573706F87 -:10E61A006E7365204E6F0046696C616D656E74207D -:10E62A00537461742030202D20310046696C616D6D -:10E63A00656E7420537461742030202D2032004698 -:10E64A00696C616D656E7420537461742030202D7D -:10E65A0020330046696C656E616D650052656364BE -:10E66A0061746100202020202020202020002564C1 -:10E67A002F2564003D3D7761697477617920343DC7 -:10E68A003D003D3D7761697477617920353D3D00F4 -:10E69A003D3D48656174696E6720446F6E6520432D -:10E6AA0068616E67652046696C616D656E743D3D93 -:10E6BA000046696C656E616D652D4D656469610022 -:10E6CA00436C69636B20746F20526573756D652E98 -:10E6DA002E2E003D3D6F6E46696C616D656E7452FB -:10E6EA00756E6F75743D3D002564205820256420A1 -:10E6FA005820256400544D33442043522D5800328B -:10E70A002E305F44573320544D33442053534D44E5 -:10E71A004255003D3D4477696E20496E6974204335 -:10E72A006F6D706C6574653D3D002F003D3D6F6EE9 -:10E73A0055736572436F6E6669726D52657175695C -:10E74A007265643D3D003F3F3F003D3D6F6E4C6F3B -:10E75A00616453657474696E67733D3D003D3D6F36 -:10E76A006E53746F726553657474696E67733D3D59 -:10E77A00003D3D6F6E436F6E6669677572617469BD -:10E78A006F6E53746F72655772697474656E3D3D2E -:10E79A00004552520062656420706C616E65206E9D -:10E7AA006F726D616C203D205B005344557064614B -:10E7BA007465002E67636F6465002E47434F4445B6 -:10E7CA00003D3D6F6E466163746F72795265736581 -:10E7DA00743D3D003D3D6F6E436F6E6669677572AD -:10E7EA006174696F6E53746F7265526561643D3D01 -:10E7FA0000556E746F7563686564200050756C739C -:10E80A00696E6720202000202053544F574544202A -:10E81A002874726967676572656429207374617404 -:10E82A00653A204849474820286C6F676963203158 -:10E83A002900202053544F57454420287472696791 -:10E84A006765726564292073746174653A204C4F58 -:10E85A005720286C6F676963203029005265686504 -:10E86A0061742066696E69736865642E003A207A5D -:10E87A003A2000206D65616E3A2000207369676D49 -:10E88A00613A2000206D696E3A2000206D61783A65 -:10E89A0020002072616E67653A20004D65616E3A0C -:10E8AA002000204D696E3A2000204D61783A200000 -:10E8BA002052616E67653A20005374616E6461721A -:10E8CA006420446576696174696F6E3A2000426516 -:10E8DA006420583A200020593A2000205A3A200051 -:10E8EA003D3D6F6E5072696E7454696D65725374F2 -:10E8FA0061727465643D3D0073746F7070696E6710 -:10E90A00203D3D002F2F616374696F6E3A63616E1B -:10E91A0063656C003D3D6F6E5072696E7454696D2B -:10E92A00657253746F707065643D3D004D65616E2C -:10E93A00204D657368204865696768743A20002A23 -:10E94A002A2A6B696C6C2A2A2A0059003D3D6F6E8F -:10E95A005072696E7454696D65725061757365643D -:06E96A003D3D00205A00B3 -:00000001FF diff --git a/CRX_BLTouch_NoFil_BIL_DW3.hex b/CRX_BLTouch_NoFil_BIL_DW3.hex deleted file mode 100644 index 50fc455070..0000000000 --- a/CRX_BLTouch_NoFil_BIL_DW3.hex +++ /dev/null @@ -1,10040 +0,0 @@ -:100000000C94381D0C94691D0C94691D0C94691D89 -:100010000C94691D0C94691D0C94691D0C94691D48 -:100020000C94691D0C94691D0C94691D0C94691D38 -:100030000C94691D0C94691D0C94691D0C94691D28 -:100040000C94691D0C94F6A70C94691D0C94691D01 -:100050000C94691D0C94691D0C94DA9A0D94B01BD4 -:100060000C94691D0C94BE5A0C94B45A0C94691DDE -:100070000C94691D0C94691D0C94691D0C94691DE8 -:100080000C9414530C94691D0C94691D0C94691DF7 -:100090000C94691D0C94691D0C94691D0C94691DC8 -:1000A0000C94691D0C94691D0C94E6520C94691D06 -:1000B0000C94691D0C94691D0C94691D0C94B85224 -:1000C0000C94691D0C94691D0C94691D0C94635D5E -:1000D0000C94395D0C94691D0C94691D0C94691D78 -:1000E0000C94691D181F5E1F641F8B1F981FA11F92 -:1000F000AC1F702782285F29922934353435AD2A08 -:10010000502B5E2834353435EF2C892EC12E3435F2 -:10011000BF30343534350F32343534359932CC3242 -:1001200034358C334734D02ED82EFC2E202F542F2C -:10013000F72F0B30243031303E305230F15AF75A1D -:10014000095B195B215B4E5B255B4E5B295B2D5B7D -:100150004E5B315B355B395B415B4E5B4B5BC79DF7 -:10016000CA9DB99DBD9DC39D019ECE9DD29DD89D2A -:10017000DC9DE09DE69DEA9DEE9D019EF49DF89D2F -:10018000FC9DF0C0F3C0F7C0FAC0FDC027C101C19B -:1001900004C108C10BC10EC112C115C118C127C1CC -:1001A0001CC11FC122C1E101D101B5010D024B01EA -:1001B000A5016D01AD0155015301810141016B01A3 -:1001C0007701A501FD01690107026501A101330164 -:1001D000BB0163011F01B9012301F101CD014D01F3 -:1001E000E501DF01C9011F01F3019D015701084A23 -:1001F000D73B3BCE016E84BCBFFDC12F3D6C74313B -:100200009ABD56833DDA3D00C77F11BED9E4BB4C91 -:100210003E916BAAAABE000000803F05A84CCDB25B -:10022000D44EB93836A9020C50B9918688083CA63C -:10023000AAAA2ABE000000803F000C94D82E0D947C -:10024000421B0C94BF300D94DB1A0C94FAC00C9432 -:1002500015C10C9482280C9422C10C945F290C9433 -:10026000EE9D0C94315B0D94B51A0C94F75A0C94D6 -:10027000F3C00C9431300C94502B0C94EA9D0C94E8 -:10028000181F0D94B2090C948C330C94641F0C94B9 -:100290004B5C0C94C39D0D94D8080D94F71A0C94E4 -:1002A0001FC10C94FDC00D9468090D9443090D9471 -:1002B000381B0C940BC10C94F7C00C94D29D0C9479 -:1002C000355B0C94F15B0D94C91A0D94AB1A0C9428 -:1002D000055C0D94460A0D94D7090D94FD080C9405 -:1002E00052300C94CE9D0C94CA9D0C940B300D94FE -:1002F000FC090C9412C10C9404C10C94FC9D0C9448 -:10030000019E0D948D090C94E69D0D94B3240C94DC -:10031000E09D0C94F0C00C94B99D0C94F89D0C9445 -:1003200099320C945E280C94C79D0C94985C0C94A4 -:1003300034350C94F49D0C94A11F0D942E1B0C9439 -:10034000D89D0D94B01A0C943E300D948F0A0C94E5 -:1003500092290C9418C10C944B5B0D9420090D94B8 -:1003600085250C9408C10C94D02E0D948E080C9405 -:1003700070270D94D31A0D94BF1A0C94215B0C9422 -:10038000892E0C94135C0C94DC9D0C94415B0C94B2 -:10039000295B0D941A1B0C94F15A0D94ED1A0C94D0 -:1003A000AC1F0D946E080C948B1F0C94E25B0C94A4 -:1003B00001C10C94395B0C94BD9D0C9427C10D9424 -:1003C000101B0D944C080C94542F0D94011B0C948D -:1003D000C12E0C941CC10C945E1F0C94981F0C949D -:1003E000202F0D94E31A0D94241B0C94EF2C0C94E5 -:1003F000CC320C940EC10C9447340D94210A0C9409 -:10040000255B0C94FC2E0C94B45B0C94095B0D944E -:100410006B0A0C94AD2A0C942D5B0D94B3080C94CC -:10042000F72F0C940F320C9424300C94195B0C941D -:100430004E5B4E414E494E495459494E46CDCCCC67 -:100440003D0AD7233C17B7D13877CC2B329595E6A8 -:10045000241FB14F0A000020410000C84200401C88 -:100460004620BCBE4CCA1B0E5AAEC59D7400407AD5 -:1004700010F35A00A0724E18090010A5D4E800002D -:10048000E87648170000E40B54020000CA9A3B00CB -:100490000000E1F505000080969800000040420F42 -:1004A000000000A08601000000102700000000E806 -:1004B00003000000006400000000000A00000000CB -:1004C000000100000000002C76D888DC674F08236C -:1004D000DFC1DFAE59E1B1B796E5E3E453C63AE6D2 -:1004E00051997696E8E6C28426EB898C9B62ED40B2 -:1004F0007C6FFCEFBC9C9F40F2BAA56FA5F4900501 -:100500005A2AF75C936B6CF9676DC11BFCE0E40D34 -:1005100047FEF520E6B500D0ED902E030094357728 -:10052000050080841E080000204E0A000000C80C50 -:10053000333333330F986E12831141EF8D211489B9 -:100540003BE65516CFFEE6DB18D1844B381BF77C13 -:100550001D901DA4BBE424203284725E228100C958 -:10056000F124ECA1E53D274D323520500A4D3234BF -:10057000005072696E742050617573656400526535 -:1005800073756D65005549205061757365004E6F38 -:10059000204D61746368203A004D333033452D316E -:1005A000533635433455004D393939004D353032E5 -:1005B0000A4D353030004D3330334530533231350C -:1005C000433855000A202A2A2A7265636461742E12 -:1005D000646174615B305D203D004732380A473109 -:1005E000204631303030205A313000556E737570EE -:1005F000706F72746564204F7074696F6E205365FC -:100600006C6563746564004D3139305335350A4784 -:1006100032380A4732390A4D3430300A4D313034DD -:10062000533231350A4732380A4D3130395332317D -:10063000350A4D34323053310A4731583130305950 -:1006400031303046353030300A47315A300A4D3576 -:1006500030300A4D31313720536574205A204F66AF -:1006600066736574004731204631303030205A308F -:100670002E30004732380A473120463130303020A2 -:100680005A302E30004D353030005A204F66667398 -:100690006574203A202573004D353030005A204FC4 -:1006A0006666736574203A202573004732385A0A0B -:1006B000473146313530305A302E30004732380A13 -:1006C000473146313530305A302E30004D38340005 -:1006D000473146313030305A302E30004732380AF8 -:1006E000473146313030305A302E30005A204F6674 -:1006F00066736574203A202573004D353030004D07 -:10070000383400426567696E5377697463680072B4 -:1007100065636461742E61646472203D3D0072659E -:10072000636461742E646174615B305D203D3D00E3 -:1007300077616974776179203D3D000A202A2A2A71 -:100740004E6F7A7A6C6554656D705374617475730D -:100750005B325D203D00434F4D4D554E4943415462 -:10076000494F4E0044525952554E004552524F5235 -:100770005300494E464F004543484F0047322F47EC -:10078000332062616420706172616D65746572739B -:100790000A00536C6565702E2E2E005A2050726F21 -:1007A00062652050617374204265640A005A2050CB -:1007B000726F626520506173742042656400486FF7 -:1007C0006D652058592046697273740A00486F6D30 -:1007D00065205859204669727374004D31313720B5 -:1007E00050726F6265206661696C65642E0A4732DB -:1007F000380A0070726F62655F72657769706500B4 -:10080000473239205265747279696E670050726F91 -:1008100062696E67204661696C6564004D313137ED -:1008200020426564206C6576656C696E6720666140 -:10083000696C65642E0A4730205A31300A4D3330D6 -:10084000302050323520533838300A4D3330302084 -:100850005035302053300A4D33303020503235205F -:10086000533838300A4D3330302050353020533033 -:100870000A4D3330302050323520533838300A4D4D -:10088000333030205035302053300A473420533134 -:100890000070726F62655F6661696C6564004D31FE -:1008A000313720426564206C6576656C696E67201F -:1008B000646F6E652E00205A3A200020593A2000BD -:1008C00042656420583A20004D65736820706F6956 -:1008D0006E742063616E6E6F742062652072657342 -:1008E0006F6C7665640A004D302F3120427265616D -:1008F0006B2043616C6C656400436F6E74696E7548 -:1009000065004D302F3120427265616B2043616C70 -:100910006C6564004E6F204D6F76652E00456E64E9 -:100920002066696C65206C6973740A0042656769AA -:100930006E2066696C65206C6973740A0052657379 -:10094000756D6520534400286E6F2066696C6529BB -:100950000043757272656E742066696C653A20009A -:100960002E0A0044656C6574696F6E206661696C5F -:1009700065642C2046696C653A200046696C6520E8 -:1009800064656C657465643A005072696E742074B5 -:10099000696D653A20000A53746174733A204669A0 -:1009A0006C616D656E7420757365643A20002C204F -:1009B0004C6F6E67657374206A6F623A2000546FE3 -:1009C00074616C2074696D653A20005374617473AE -:1009D0003A20002C204661696C65643A20002C2086 -:1009E00046696E69736865643A20005072696E7476 -:1009F000733A200053746174733A20006F66660086 -:100A0000770772076B076407560744454255473A14 -:100A1000004D31313320530042656420436F6F6CC9 -:100A2000696E672E2E2E00426564204865617469E8 -:100A30006E672E2E2E006F6B004348414D4245528B -:100A40005F54454D5045524154555245004D4F5409 -:100A5000494F4E5F4D4F44455300544845524D4118 -:100A60004C5F50524F54454354494F4E00415554EA -:100A70004F5245504F52545F53445F535441545565 -:100A8000530050524F4D50545F535550504F525495 -:100A900000454D455247454E43595F5041525345DD -:100AA0005200434153455F4C494748545F425249C5 -:100AB0004748544E45535300544F47474C455F4CAD -:100AC000494748545300534F4654574152455F508D -:100AD0004F574552004255494C445F50455243459B -:100AE0004E54004C4556454C494E475F4441544195 -:100AF000005A5F50524F4245004155544F4C4556A5 -:100B0000454C005052494E545F4A4F420050524F9C -:100B10004752455353004155544F5245504F52543C -:100B20005F54454D5000564F4C554D455452494326 -:100B300000454550524F4D0042494E4152595F4683 -:100B4000494C455F5452414E53464552005345521D -:100B500049414C5F584F4E5F584F464600464952F8 -:100B60004D574152455F4E414D453A4D61726C695A -:100B70006E20322E305F44573320544D334420537F -:100B8000534D44424220534F555243455F434F44D7 -:100B9000455F55524C3A68747470733A2F2F6769E9 -:100BA000746875622E636F6D2F496E73616E697420 -:100BB000794175746F6D6174696F6E2F4D61726CE0 -:100BC000696E2F747265652F437265616C69747903 -:100BD0005F4D61726C696E322E302E782050524F0C -:100BE000544F434F4C5F56455253494F4E3A312E66 -:100BF00030204D414348494E455F545950453A5481 -:100C00004D33442043522D582045585452554445A5 -:100C1000525F434F554E543A3220555549443A633A -:100C2000656465326132662D343161322D3437347A -:100C3000382D396231322D633535633632663336BD -:100C40003766660A002F2F200020466C6F773A2007 -:100C50000050726F7465637465642050696E0A0099 -:100C6000206F7574206F662072616E67650A00538D -:100C70006572766F20003A200020536572766F20EF -:100C80000050726F6265205A204F66667365743A31 -:100C90002000496E76616C696420657874727564B1 -:100CA00065720A0020643A0020693A0020703A0018 -:100CB00020643A0020693A0020703A0064697300A9 -:100CC000656E0043290A0061626C656420286D69C5 -:100CD0006E2074656D702000436F6C6420657874BD -:100CE00072756465732061726520004D65736820BC -:100CF000706F696E742063616E6E6F742062652020 -:100D00007265736F6C7665640A004D343231206908 -:100D10006E636F727265637420706172616D657469 -:100D200065722075736167650A004F666673657446 -:100D300073204170706C696564004572723A20548A -:100D40006F6F206661722100546F6F2066617220A0 -:100D500066726F6D207265666572656E6365207080 -:100D60006F696E740A00454550524F4D204F4B0A33 -:100D700000416476616E6365204B003F4B207661D5 -:100D80006C7565206F7574206F662072616E676583 -:100D90002028302D3130292E0A003F542076616CF6 -:100DA0007565206F7574206F662072616E67652EA1 -:100DB0000A004572726F722077726974696E6720DB -:100DC000746F20454550524F4D210A003637260397 -:100DD0003C3D380E2E303E121A1C1824221E0844A8 -:100DE0000AFF430809070001627573793A207061B0 -:100DF0007573656420666F7220696E7075740A0081 -:100E0000627573793A2070617573656420666F72DC -:100E100020757365720A00627573793A2070726F7B -:100E200063657373696E670A0053544F50504544AD -:100E30002E20005072696E7465722073746F70702A -:100E400065642064756520746F206572726F7273BB -:100E50002E2046697820746865206572726F722052 -:100E6000616E6420757365204D39393920746F20A7 -:100E7000726573746172742E202854656D7065728A -:100E800061747572652069732072657365742E20B4 -:100E9000536574206974206166746572207265738D -:100EA00074617274696E67290A004E6F2043686529 -:100EB000636B73756D2077697468206C696E65204B -:100EC0006E756D6265722C204C617374204C696E76 -:100ED000653A20004E6F20436865636B73756D2023 -:100EE00077697468206C696E65206E756D626572D5 -:100EF0002C204C617374204C696E653A2000636845 -:100F000065636B73756D206D69736D617463682CB7 -:100F1000204C617374204C696E653A20004C696EF8 -:100F200065204E756D626572206973206E6F742046 -:100F30004C617374204C696E65204E756D626572EC -:100F40002B312C204C617374204C696E653A200063 -:100F50004D31313000776169740A004D313137000D -:100F60004D33310053442072656164206572726FA5 -:100F7000720A00446F6E65207072696E74696E67E4 -:100F80002066696C650A004B494C4C20636175739F -:100F9000656420627920746F6F206D7563682069C5 -:100FA0006E6163746976652074696D65202D2063B8 -:100FB000757272656E7420636F6D6D616E643A2038 -:100FC000002020506C616E6E6572427566666572B7 -:100FD00042797465733A20002046726565204D653C -:100FE0006D6F72793A2000436F6D70696C65643A79 -:100FF0002053657020203820323031390A00207C9F -:1010000020417574686F723A2054696E794D61633E -:1010100068696E657333440A00323031392D3037D8 -:101020002D333000204C61737420557064617465F9 -:10103000643A2000322E305F4457330A004D61720B -:101040006C696E0020536F6674776172652052651B -:101050007365740A00205761746368646F67205277 -:10106000657365740A002042726F776E206F757425 -:101070002052657365740A002045787465726E614C -:101080006C2052657365740A00506F7765725570F5 -:101090000A0073746172740A006175746F25632E9F -:1010A00067006572726F722077726974696E67206B -:1010B000746F2066696C650A00446F6E6520736109 -:1010C00076696E672066696C652E0A004D323900BC -:1010D000205A3A0020593A0020583A00656E64734D -:1010E000746F7073206869743A2000473238585919 -:1010F0000043616E6E6F74206F70656E2073756251 -:10110000646972200053442063617264206F6B0A2B -:10111000006F70656E526F6F74206661696C6564F4 -:101120000A00766F6C756D652E696E697420666154 -:10113000696C65640A00534420696E6974206661B5 -:10114000696C0A004D3234004D323320257300574C -:10115000726974696E6720746F2066696C653A20E5 -:10116000002E0A006F70656E206661696C65642CE4 -:101170002046696C653A20002E0A006F70656E206B -:101180006661696C65642C2046696C653A2000468E -:10119000696C652073656C65637465640A0020532F -:1011A000697A653A200046696C65206F70656E65E6 -:1011B000643A2000667265736800646F696E670048 -:1011C0002066696C653A20004E6F772000454E44DA -:1011D00020535542524F5554494E450A0022207023 -:1011E0006F73002220706172656E743A220053554D -:1011F00042524F5554494E452043414C4C20746156 -:10120000726765743A2200747279696E6720746F30 -:101210002063616C6C207375622D67636F64652059 -:1012200066696C6573207769746820746F6F206DD0 -:10123000616E79206C6576656C732E204D41582067 -:101240006C6576656C2069733A310A0053442070EE -:1012500072696E74696E67206279746520004E6FE2 -:1012600074205344207072696E74696E670A00536B -:10127000544F502063616C6C6564206265636175D6 -:101280007365206F6620424C546F756368206572E9 -:10129000726F72202D207265737461727420776989 -:1012A0007468204D3939390A0053544F5020636116 -:1012B0006C6C65642062656361757365206F662080 -:1012C000424C546F756368206572726F72202D20D6 -:1012D000726573746172742077697468204D39394E -:1012E000390A002F2F616374696F6E3A006275745A -:1012F000746F6E00656E640070726F6D70745F0065 -:1013000073686F77004D38373620526573706F6E93 -:1013100064696E672050524F4D50545F00554E4BDC -:101320004E4F574E2053544154450047434F444578 -:101330005F494E464F004C43445F50415553455F13 -:10134000524553554D450046494C414D454E545F1D -:1013500052554E4F55545F434F4E54494E554500DC -:1013600046494C414D454E545F52554E4F555400E1 -:101370004D323400436F6E74696E7565005075723E -:101380006765204D6F72650050617573656400700C -:10139000617573656400486F74656E6420746F6F67 -:1013A00020636F6C640A005061757365005072654C -:1013B000737320627574746F6E20286F72204D31C4 -:1013C00030382920746F20726573756D650A004985 -:1013D0006E736572742066696C616D656E742061F0 -:1013E0006E6420707265737320627574746F6E2002 -:1013F000286F72204D313038290A00436F6E7469AE -:101400006E75650052656865617420446F6E650095 -:10141000526568656174696E672E2E2E005265688C -:10142000656174696E670048656174657254696DC1 -:10143000656F757400526568656174004865617414 -:10144000657254696D656F757400507265737320B1 -:10145000627574746F6E20286F72204D3130382998 -:1014600020746F2068656174206E6F7A7A6C650AEB -:10147000004E6F7A7A6C65205061726B6564004330 -:101480006F6E74696E7565004E6F7A7A6C65205068 -:1014900061726B656400486F74656E6420746F6F71 -:1014A00020636F6C640A00726573756D6564006219 -:1014B0006567696E00436F6E74696E75650050757F -:1014C0007267654D6F726500506175736564004C9D -:1014D0006F61642046696C616D656E7400436F6E68 -:1014E00074696E7565004C6F61642046696C616D4E -:1014F000656E74205400496E736572742066696C61 -:10150000616D656E7420616E642070726573732006 -:10151000627574746F6E20286F72204D31303829D7 -:101520000A00526573756D650020746F6F206C6FD3 -:101530006E6720657874727573696F6E207072655E -:1015400076656E7465640A0020636F6C642065784C -:1015500074727573696F6E2070726576656E7465EE -:10156000640A004D3238302050302053393000505A -:10157000726F62696E6720506F696E742025692FE3 -:101580002569002E0A002F0050726F62696E672075 -:101590006D65736820706F696E7420002028445256 -:1015A0005952554E2900473239204175746F2042F7 -:1015B0006564204C6576656C696E67003F20284C39 -:1015C0002C522C462C4229206F7574206F662062A5 -:1015D0006F756E64732E0A003F2856296572626F1C -:1015E0007365206C6576656C20697320696D706C1D -:1015F00061757369626C652028302D34292E0A00CC -:10160000426164205A2076616C75650A004E6F2035 -:1016100062696C696E65617220677269640A00466E -:10162000696E6973686564210A00206F6620002076 -:101630005A00205900476F696E6720746F3A20582E -:101640000043570A00206469723A0020616E676C9B -:10165000653A005374617274207261646975733AFB -:1016600000506F736974696F6E696E672074686586 -:101670002070726F62652E2E2E0A003F4E756D62CD -:101680006572206F66206C65677320696E206D6FD0 -:1016900076656D656E74206E6F7420706C61757305 -:1016A00069626C652028302D3135292E0A003F20D3 -:1016B00028582C5929206F7574206F6620626F7529 -:1016C0006E64732E0A003F53616D706C6520736900 -:1016D0007A65206E6F7420706C61757369626C65D9 -:1016E0002028342D3530292E0A004D3438205A2D2B -:1016F00050726F6265205265706561746162696CD9 -:1017000069747920546573740A003F2856296572FC -:10171000626F7365206C6576656C20697320696DF6 -:10172000706C61757369626C652028302D34292EC8 -:101730000A007C3C3E5E2B3D3F2F5B5D3B2C2A220A -:101740005C00453120544845524D414C2052554E85 -:10175000415741590042454420544845524D414C5F -:101760002052554E4157415900546865726D616C65 -:101770002052756E61776179004531204572723A69 -:10178000204D415854454D50004572723A204D410C -:101790005854454D5020424544004D415854454D04 -:1017A0005020747269676765726564004531204531 -:1017B00072723A204D494E54454D50004572723A6E -:1017C000204D494E54454D5020424544004D494E10 -:1017D00054454D5020747269676765726564000AEC -:1017E0000A0020205A5F4D494E3A002020595F4D93 -:1017F000494E3A002020585F4D494E3A004D38344A -:1018000020582059205A204500202F002042403ADD -:101810000020403A004520436F6F6C696E672E2EA2 -:101820002E00452048656174696E672E2E2E0020BB -:10183000573A0020573A00496E76616C696420651A -:10184000787472756465720A004163746976652004 -:1018500045787472756465723A2000486F74656EDD -:101860006420746F6F20636F6C640A0000002100B5 -:10187000240027002A002D00300033000101000061 -:10188000040107010A0100002200250028002B00A6 -:101890002E003100340002010000050108010B0197 -:1018A000000020002300260029002C002F00320019 -:1018B00000010000030106010901050505050705F2 -:1018C00008080808020202020A0A080804040404BC -:1018D00001010101010101010303030303030303E8 -:1018E000040707070C0C0C0C0C0C0C0C0202020277 -:1018F00006060606060606060B0B0B0B0B0B0B0B60 -:101900000102102020080810204010204080020111 -:1019100002010804020101020408102040808040F6 -:1019200020100804020180040201804020100804F5 -:101930000201080402010102040810204080010293 -:1019400004081020408000000A0B02090C0D0E084C -:101950000703040100000000000000000000000078 -:101960000000000000000000000000000000000077 -:101970000000121110000000000000000000000034 -:1019800000000000000000000000000050726F62C4 -:10199000696E67204661696C65640A0050726F6207 -:1019A000696E67204661696C656400486F6D6520EB -:1019B0002573257325732046697273740020466968 -:1019C0007273740A00486F6D652000220A00556E1C -:1019D0006B6E6F776E20636F6D6D616E643A20225F -:1019E0000024F4D43050C38E20C2A24017828B70E2 -:1019F00011127A910D816CD90AA861E108C7586665 -:101A000007615143061E4B5D05C145A7041A4111EC -:101A100004093D9803713931034036DB0265339187 -:101A200002D4305402802E1D02632CEE01752AC5AB -:101A300001B028A001102781018F2564012B244BC0 -:101A400001E0223401AC211F018D200D01801FFC1B -:101A500000841EED00971DDF00B81CD200E61BC6F7 -:101A600000201BBC00641AB200B219A8000A19A019 -:101A7000006A189900D117910040178B00B51684A1 -:101A80000031167E00B31579003A157300C7146F44 -:101A90000058146A00EE1366008813630025135E75 -:101AA00000C7125B006C12570015125400C111518F -:101AB0000070114F0021114B00D61049008D1047C6 -:101AC000004610440002104200C00F4000800F3E4C -:101AD00000420F3C00060F3B00CB0E3800930E3740 -:101AE000005C0E3500270E3400F30D3200C10D31BD -:101AF00000900D3000600D2E00320D2D00050D2CD4 -:101B000000D90C2B00AE0C2900850C29005C0C2799 -:101B100000350C27000E0C2600E80B2400C40B2413 -:101B200000A00B23007D0B23005A0B2100390B2151 -:101B300000180B2000F80A1F00D90A1E00BB0A1E5D -:101B4000009D0A1D00800A1D00630A1C00470A1B35 -:101B5000002C0A1B00110A1A00F7091A00DD0919E6 -:101B600000C4091900AB091900920917007B091874 -:101B700000630917004C09160036091600200916E3 -:101B8000000A091500F5081500E0081400CC081437 -:101B900000B8081400A4081400900813007D08126F -:101BA000006B081300580812004608120034081190 -:101BB00000230811001208110001081100F007109D -:101BC00000E0071000D0071000C0071000B0070F9A -:101BD00000A107100091070E0083070F0074070F84 -:101BE0000065070E0057070E0049070E003B070D62 -:101BF000002E070E0020070D0013070D0006070D2D -:101C000000F9060C00ED060D00E0060C00D4060CF1 -:101C100000C8060C00BC060C00B0060C00A4060BA5 -:101C20000099060C008D060B0082060B0077060B50 -:101C3000006C060B0061060A0057060B004C060AF2 -:101C40000042060A0038060A002E060A0024060A88 -:101C5000001A060A001006090007060A00FD050919 -:101C600000F4050900EB050900E2050900D90509A2 -:101C700000D0050900C7050900BE050900B5050823 -:101C800000AD050800A50509009C0508009405089D -:101C9000008C050800840508007C05080074050810 -:101CA000006C050700650508005D0507005605087E -:101CB000004E0507004705070040050800380507E6 -:101CC00000310507002A050700230507001C05064B -:101CD00000160507000F05070008050600020507A6 -:101CE00000FB040600F5040700EE040600E8040605 -:101CF00000E2040700DB040600D5040600CF04065A -:101D000000C9040600C3040600BD040600B70406AB -:101D100000B1040500AC040600A6040600A00405FA -:101D2000009B04060095040500900406008A040543 -:101D30000085040500800406007A0405007504058A -:101D400000700405006B04050066040500610405CD -:101D5000005C04050057040500520405004D04050D -:101D60000048040500430405003E0404003A04054D -:101D70000035040500300404002C04050027040489 -:101D800000230405001E0404001A040400160405C0 -:101D900000110404000D04040009040500040404F7 -:101DA0000000040400FC030400F8030400F403042E -:101DB00000F0030400EC030400E8030400E403045F -:101DC00000E0030400DC030400D8030400D403048F -:101DD00000D0030400CC030400C8030300C50303C0 -:101DE0000024F404D9201BC40C5C0E9804C4095FC1 -:101DF0000265077101F405F900FB04B3004804878C -:101E000000C10369005803550003034500BE023AB0 -:101E1000008402310053022A002902250004022016 -:101E200000E4011C00C8011900AF0117009801145B -:101E30000084011300710110006101100051010EB6 -:101E40000043010D0036010B002B010B0020010B9C -:101E500000150109000C01090003010800FB00083E -:101E600000F3000800EB000700E4000600DE0006B7 -:101E700000D8000600D2000600CC000500C700050F -:101E800000C2000500BD000400B9000400B5000454 -:101E900000B1000400AD000400A9000400A5000387 -:101EA00000A20003009F0004009B000300980003B1 -:101EB000009500020093000300900003008D0002D3 -:101EC000008B0003008800020086000200840003EB -:101ED00000810002007F0002007D0002007B000202 -:101EE0000079000200770001007600020074000211 -:101EF0000072000100710002006F0002006D00011D -:101F0000006C0002006A0001006900020067000125 -:101F1000006600010065000100640002006200012B -:101F20000061000100600001005F0002005D00012F -:101F3000005C0001005B0001005A00010059000133 -:101F40000058000100570001005600010055000133 -:101F50000054000100530000005300010052000132 -:101F60000051000100500001004F0001004E000030 -:101F7000004E0001004D0001004C0001004B00002C -:101F8000004B0001004A0001004900010048000028 -:101F90000048000100470001004600000046000123 -:101FA000004500000045000100440001004300001E -:101FB0000043000100420000004200010041000017 -:101FC0000041000100400001003F0000003F00010F -:101FD000003E0000003E0001003D0000003D000109 -:101FE000003C0000003C0000003C0001003B000001 -:101FF000003B0001003A0000003A000100390000F7 -:1020000000390001003800000038000000380001ED -:1020100000370000003700010036000000360000E5 -:1020200000360001003500000035000000350001D9 -:1020300000340000003400000034000100330000D0 -:1020400000330000003300010032000000320000C5 -:1020500000320001003100000031000000310001B9 -:10206000003000000030000000300001002F0000B0 -:10207000002F0000002F0000002F0001002E0000A4 -:10208000002E0000002E0001002D0000002D000099 -:10209000002D0000002D0001002C0000002C00008D -:1020A000002C0000002C0001002B0000002B000081 -:1020B000002B0000002B0001002A0000002A000075 -:1020C000002A0000002A0001002900000029000069 -:1020D000002900000029000000290001002800005C -:1020E000002800000028000000280000002800014F -:1020F0000027000000270000002700000027000044 -:102100000027000100260000002600000026000035 -:102110000026000000260001002500000025000028 -:10212000002500000025000000250000002500011A -:10213000002400000024000000240000002400000F -:102140000024000100230000002300000023000001 -:1021500000230000002300000023000000230001F2 -:1021600000220000002200000022000000220000E7 -:1021700000220000002200010021000000210000D8 -:1021800000210000002100000021000000210000CB -:1021900000210001002000000020000000200000BD -:1021A00000200000002000000020000000200000AF -:1021B00000200001001F0000001F0000001F0000A1 -:1021C000001F0000001F0000001F0000001F000192 -:1021D000001E0000001E0000001E0000001E000087 -:1021E00000C23100001C260000F4190000D80F00C6 -:1021F00000EB080000C00400007502000040010070 -:102200000057616974696E6720666F722068656146 -:102210007475702E0A004C656176696E67204732CE -:1022200036003F53706563696669656420582C59B0 -:1022300020636F6F7264696E617465206F757420BE -:102240006F6620626F756E64732E0A003F285229F4 -:1022500065706561742076616C7565206E6F7420A1 -:10226000706C61757369626C653B206D7573742069 -:102270006265206174206C6561737420312E0A00E0 -:102280003F2852296570656174206D7573742062F2 -:102290006520737065636966696564207768656E3B -:1022A000206E6F74207573696E6720616E204C43D9 -:1022B000442E0A003F537065636966696564206E49 -:1022C0006F7A7A6C652074656D7065726174757271 -:1022D00065206E6F7420706C61757369626C652E19 -:1022E0000A003F5370656369666965642066696CBE -:1022F000616D656E742073697A65206E6F742070ED -:102300006C61757369626C652E0A003F537065637A -:102310006966696564207072696D65206C656E67B9 -:102320007468206E6F7420706C61757369626C657F -:102330002E0A003F5072696D65206C656E67746887 -:10234000206D7573742062652073706563696669BA -:102350006564207768656E206E6F74207573696E92 -:102360006720616E204C43442E0A003F5370656322 -:102370006966696564206E6F7A7A6C652073697A24 -:1023800065206E6F7420706C61757369626C652E68 -:102390000A003F52657472616374696F6E204D75F7 -:1023A0006C7469706C696572206D757374206265F8 -:1023B000207370656369666965642E0A003F537017 -:1023C00065636966696564205265747261637469E6 -:1023D0006F6E204D756C7469706C696572206E6FDC -:1023E0007420706C61757369626C652E0A003F53CE -:1023F0007065636966696564206C617965722068DF -:102400006569676874206E6F7420706C617573699C -:10241000626C652E0A0043292E0A003F53706563E3 -:102420006966696564206265642074656D706572B3 -:102430006174757265206E6F7420706C617573695C -:10244000626C65202834302D004732362073746169 -:102450007274696E672E2E2E0A004F46460A004699 -:10246000616465204865696768742000426564207E -:102470004C6576656C696E6720004661696C6564C1 -:1024800020746F20656E61626C6520426564204C2B -:102490006576656C696E670A00496E76616C696481 -:1024A000206D6573682E0A005A5F53544F505F5079 -:1024B000494E005A5F535445505F50494E005A5F91 -:1024C0004D494E5F50494E005A5F454E41424C4582 -:1024D0005F50494E005A5F4449525F50494E005A7E -:1024E0005F43535F50494E00595F53544F505F5004 -:1024F000494E00595F535445505F50494E00595F53 -:102500004D494E5F50494E00595F454E41424C4542 -:102510005F50494E00595F4449525F50494E00593F -:102520005F43535F50494E00585F53544F505F50C4 -:10253000494E00585F535445505F50494E00585F14 -:102540004D494E5F50494E00585F454E41424C4503 -:102550005F50494E00585F4449525F50494E005801 -:102560005F43535F50494E0053535F50494E0053F1 -:102570004552564F335F50494E00534552564F32E5 -:102580005F50494E00534552564F315F50494E00FF -:10259000534552564F305F50494E005344535300F9 -:1025A00053445F4445544543545F50494E005343A0 -:1025B0004B5F50494E0052414D50535F44395F507C -:1025C000494E0052414D50535F44385F50494E00D0 -:1025D00052414D50535F4431305F50494E004D4F92 -:1025E00053495F50494E004D4F534645545F445F39 -:1025F00050494E004D49534F5F50494E004D415890 -:10260000363637355F53535F50494E004C45445F73 -:1026100050494E004845415445525F4245445F5041 -:10262000494E004845415445525F305F50494E0085 -:1026300046494C5F52554E4F55545F50494E0046E7 -:10264000414E315F50494E0046414E5F50494E0069 -:1026500045315F535445505F50494E0045315F4509 -:102660004E41424C455F50494E0045315F4449520E -:102670005F50494E0045315F43535F50494E00451E -:10268000305F535445505F50494E0045305F454ED2 -:1026900041424C455F50494E0045305F4449525FCE -:1026A00050494E0045305F43535F50494E00455FEF -:1026B0004D5558325F50494E00455F4D5558315F7A -:1026C00050494E00455F4D5558305F50494E0041CE -:1026D00056525F53535F50494E004156525F534329 -:1026E0004B5F50494E004156525F4D4F53495F502A -:1026F000494E004156525F4D49534F5F50494E007D -:1027000054454D505F4245445F50494E0054454D3D -:10271000505F315F50494E0054454D505F305F501F -:10272000494E0046494C57494454485F50494E0071 -:102730005458440052584400433A2000423A200082 -:10274000413A200020202020434F4D002020206EC1 -:102750006F6E2D7374616E646172642050574D20EA -:102760006D6F646500202020636F6D70617265205D -:10277000696E7465727275707420656E61626C65E5 -:1027800064002020206F766572666C6F7720696E1A -:102790007465727275707420656E61626C65640038 -:1027A0003A20002020202054494D534B00423A202B -:1027B00000202020205443435200413A2000202092 -:1027C000202054434352002020202043533A20002D -:1027D0002020202057474D3A200050574D3A2020C6 -:1027E0002534640050574D3A2020253464004700BA -:1027F0004800000088008A008C00B300B40000008C -:1028000098009A009C00A800AA00AC0028012A01A8 -:102810002C012020202054494D4552004400450001 -:102820006E00800081006F00B000B1007000900069 -:1028300091007100A000A10072002001210173002D -:1028400020697320616C736F207469656420746FF4 -:1028500020746869732070696E0054494D45523187 -:1028600043000A202E002020002020506F72743A6E -:10287000200020202000202020416E616C6F672006 -:10288000696E203D2025356C64003C756E7573655E -:10289000642F756E6B6E6F776E3E00202841253277 -:1028A00064292020002533642000257350494E3AC6 -:1028B00020004F7574707574203D2000496E70754E -:1028C0007420203D2000416E616C6F6720696E208E -:1028D0003D2025356C640070726F746563746564A7 -:1028E000200020284125326429202000253364203F -:1028F00000257350494E3A2000342700013027014B -:102900000123273B00182743000D274500002744DB -:1029100000F3263201E6263301DA263401CF2635CC -:1029200001C4262801B9262A01AE262C01A4262A94 -:102930000199261C018B2618017F261A0175262C69 -:10294000016A2622015C261E015026240148260920 -:10295000013F2607013026020123260A011426081A -:10296000010C260D01FD254201F4253201E7250762 -:1029700001DE253301D0250A01C3250801B625094A -:1029800001AE253401A02531019B25350190250B91 -:1029900001852506017A2505016F25040168253585 -:1029A000015F25350155253701482526013E2503C0 -:1029B0000133253601282503011F25310115253D49 -:1029C0000108253801FE240E01F3243C01E8240E01 -:1029D00001DF242801D5243001C8243E01BE241281 -:1029E00001B3242E01A8241201446F6E652E0A0043 -:1029F00066616C7365004641494C3A204E6F207405 -:102A00007269676765722064657465637465640ADA -:102A1000004641494C3A204E6F69736520646574E5 -:102A20006563746564202D20706C65617365207228 -:102A3000652D72756E20746573740A002064657468 -:102A400065637465642E0A003D20424C546F7563C3 -:102A500068207072652056332E3120286F722063F3 -:102A60006F6D70617469626C6529003D205A205356 -:102A70006572766F2050726F6265003D20424C5443 -:102A80006F7563682056332E310020282B2F2D20A0 -:102A9000346D73293A20003A2033306D73206F7201 -:102AA000206D6F72650A002E2050756C736520775B -:102AB00069647468002A2A20506C6561736520740B -:102AC0007269676765722070726F626520776974DA -:102AD00068696E20333020736563202A2A0A004615 -:102AE00041494C3A20424C544F55434820656E6151 -:102AF000626C6564202D20536574207570207468A5 -:102B00006973206465766963652061732061205371 -:102B10006572766F2050726F6265207769746820E5 -:102B2000494E56455254494E472073657420746F80 -:102B3000202774727565272E0A0020204445504CCA -:102B40004F5945442073746174653A204C4F5720A7 -:102B5000286C6F6769632030290020204445504C61 -:102B60004F5945442073746174653A204849474879 -:102B700020286C6F676963203129003D204D656313 -:102B800068616E6963616C2053776974636820645F -:102B9000657465637465640A005741524E494E4737 -:102BA0003A20494E56455254494E47207365747435 -:102BB000696E672070726F6261626C792062616316 -:102BC0006B77617264732E0A002E204465706C6FFF -:102BD0007920262073746F7720342074696D6573B3 -:102BE0000A003D20424C546F75636820436C61734A -:102BF00073696320312E322C20312E332C20536DFB -:102C000061727420312E302C20322E302C20322E46 -:102C1000322C20332E302C20332E31206465746505 -:102C2000637465642E0A002E20436865636B20661A -:102C30006F7220424C544F5543480A002E205A5F71 -:102C40004D494E5F454E4453544F505F494E564593 -:102C50005254494E473A20002E2050726F62652030 -:102C60005A5F4D494E5F50494E3A20002C207374F4 -:102C70006F7720616E676C653A202020002C2064FD -:102C800065706C6F7920616E676C653A20005365E2 -:102C900072766F2070726F626520746573740A2E8D -:102CA000207573696E6720696E6465783A2020002C -:102CB0004D343320576169742043616C6C65640046 -:102CC000436F6E74696E7565004D343320576169CA -:102CD000742043616C6C6564005761746368696E4D -:102CE000672070696E730A0064697300656E006125 -:102CF000626C65640A00656E6473746F70206D6F3A -:102D00006E69746F722000526573656E643A2000BC -:102D100043616E6E6F74206F70656E2073756264B0 -:102D2000697220002569730025696D20256973008B -:102D30002569682025696D2025697300256964204F -:102D40002569682025696D2025697300256979202A -:102D5000256964202569682025696D20256973002F -:102D600023646566696E652044454641554C545F51 -:102D70000000626564004B6420004B6920004B70CA -:102D80002000504944204175746F74756E6520664B -:102D9000696E697368656421205075742074686574 -:102DA000206C617374204B702C204B6920616E6421 -:102DB000204B6420636F6E7374616E74732066724F -:102DC0006F6D2062656C6F7720696E746F20436F42 -:102DD0006E66696775726174696F6E2E680A00505D -:102DE0004944204175746F74756E65206661696C25 -:102DF0006564212074696D656F75740A0045312022 -:102E0000544845524D414C2052554E41574159006E -:102E100042454420544845524D414C2052554E4164 -:102E200057415900546865726D616C2052756E612E -:102E30007761790045312048656174696E67204685 -:102E400061696C6564004265642048656174696EFF -:102E500067204661696C65640048656174696E67E6 -:102E6000206661696C656400504944204175746F47 -:102E700074756E65206661696C6564212054656DAA -:102E8000706572617475726520746F6F2068696710 -:102E9000680A00204B643A2000204B693A20002049 -:102EA0004B703A20000A20436C61737369632050B1 -:102EB0004944200A00204B643A2000204B693A2004 -:102EC00000204B703A20000A204E6F206F7665720A -:102ED00073686F6F740A002054753A2000204B7598 -:102EE0003A2000206D61783A2000206D696E3A200A -:102EF0000020643A200020626961733A2000504942 -:102F000044204175746F74756E65207374617274BA -:102F10000A00504944204175746F74756E652066CF -:102F200061696C6564212054656D706572617475AA -:102F3000726520746F6F20686967680A00504944A1 -:102F4000204175746F74756E65206661696C656487 -:102F50002120426164206578747275646572206E08 -:102F6000756D6265720A004469666665723A200092 -:102F700046726F6D5374703A005374657070657269 -:102F80003A00556E4C6576656C3A004C6576656C1A -:102F900065643A005261773A20202020000A4C6F85 -:102FA000676963616C3A004361703A0050726F6206 -:102FB00065205A204F66667365743A200050726F20 -:102FC00062652059204F66667365743A200050721E -:102FD0006F62652058204F66667365743A20003F23 -:102FE00059206F7574206F662072616E67652028A6 -:102FF000302D33303820746F20333038290A003FA9 -:1030000058206F7574206F662072616E6765202886 -:10301000302D33313520746F20333135290A003F8C -:103020005A206F7574206F662072616E6765202864 -:103030002D323020746F203230290A00220A0065B8 -:103040006E7175657565696E6720220020420020EB -:1030500050006F6B006F70656E00545249474745D2 -:10306000524544003A20007A5F6D696E00795F6DC9 -:10307000696E00785F6D696E005265706F72746979 -:103080006E6720656E6473746F70207374617475FD -:10309000730A00205A3A0020593A0020436F756E97 -:1030A0007420583A0020453A00205A3A0020593AF4 -:1030B00000583A0000809D4300009A430000C84336 -:1030C00000000000000000000000000020746F6F8E -:1030D000206C6F6E6720657874727573696F6E20EF -:1030E00070726576656E7465640A0020636F6C6447 -:1030F00020657874727573696F6E2070726576657D -:103100006E7465640A00204500205A002059002092 -:103110004D39322058004F4646004F4E00205A008D -:10312000205900580020204D61783A2000205A0094 -:10313000205900580020204D696E3A2000536F66D8 -:103140007420656E6473746F70733A2000576172F7 -:103150006E696E67203A20436C65616E2043697228 -:10316000636C652072657175697265732058590AC0 -:10317000004732380020496E76616C6964206578BA -:103180007472756465722000544D33442043522D8F -:10319000582052656164792E005072696E74696EB0 -:1031A000672E2E2E005072696E7420506175736503 -:1031B000640063616E63656C005072696E742041D7 -:1031C000626F727465640055492041626F727400C9 -:1031D000726573756D65004D323400290A002062F6 -:1031E000797465733B20637263200053657474695E -:1031F0006E67732053746F726564202800000000AE -:1032000000000000000000000000004842000048EC -:1032100042000080405761726E696E673A20486FC5 -:103220006D696E672042756D702044697669736FB1 -:1032300072203C20310A000202040000A04000007D -:10324000A0400000004000809D4300009A43000021 -:10325000C843FFFFFF0A20696E6974207A70726F9D -:1032600062655F7A6F6666736574203D2000454530 -:1032700050524F4D20496E697469616C697A65647A -:103280000A0048617264636F646564204465666126 -:10329000756C742053657474696E6773204C6F612C -:1032A0006465640A00DC050000DC050000640000C1 -:1032B000004B0000000000FA430000FA4300002029 -:1032C00041000096420000A0420000A0420000C859 -:1032D000430000BE423A0A0020204D363033200021 -:1032E000546F6F6C2D6368616E67696E673A0A0090 -:1032F0002055005431204C002055005430204C0003 -:1033000046696C616D656E74206C6F61642F756EBB -:103310006C6F6164206C656E677468733A0A002094 -:103320004B0020204D3930302054004C696E6561CF -:103330007220416476616E63653A0A0020204D3840 -:103340003531205A0020204D3835312059002020B9 -:103350004D3835312058005A2D50726F6265204F1C -:1033600066667365740020440020490020204D33B8 -:10337000303420500020440020490020204D3330BC -:10338000312050005049442073657474696E67732E -:103390003A0A00204A0020204732392057204900AD -:1033A000205A0020204D3432302053004175746F74 -:1033B00020426564204C6576656C696E673A0A0048 -:1033C000205A0020590020204D3230362058004825 -:1033D0006F6D65206F66667365743A0A00204A0057 -:1033E00020540020530020204D3230352042002050 -:1033F0004A3C6A756E635F6465763E00416476613F -:103400006E6365643A20423C6D696E5F7365676DFB -:10341000656E745F74696D655F75733E20533C6DB6 -:10342000696E5F66656564726174653E20543C6DCB -:10343000696E5F74726176656C5F66656564726102 -:1034400074653E0020540020520020204D3230345C -:10345000205000416363656C65726174696F6E2012 -:1034600028756E6974732F7332293A20503C70723C -:10347000696E745F616363656C3E20523C72657473 -:10348000726163745F616363656C3E20543C747267 -:103490006176656C5F616363656C3E0A0020450080 -:1034A000205A0020590020204D3230312058004D44 -:1034B0006178696D756D20416363656C65726174D7 -:1034C000696F6E2028756E6974732F7332293A0AFA -:1034D00000204500205A0020590020204D32303372 -:1034E0002058004D6178696D756D20666565647260 -:1034F000617465732028756E6974732F73293A0A95 -:103500000053746570732070657220756E69743A2B -:103510000A0020204D3230302044300A0020204D57 -:1035200032303020543120440020204D32303020C1 -:1035300044002044697361626C65640A0046696CEA -:10354000616D656E742073657474696E67733A009B -:1035500020286D6D29002020473231202020203B7B -:1035600020556E69747320696E206D6D00486F6D13 -:10357000696E67204661696C656400454550524F2D -:103580004D206461746173697A65206572726F722F -:103590002E0A00290A002062797465733B20637249 -:1035A0006320002073746F7265642073657474699E -:1035B0006E67732072657472696576656420280091 -:1035C000202863616C63756C6174656429210A004D -:1035D00020213D2000454550524F4D20435243206D -:1035E0006D69736D61746368202D202873746F7228 -:1035F00065642920002053697A653A2000496E6489 -:1036000065783A2000204D61726C696E3D56373006 -:10361000290A00454550524F4D2076657273696FF7 -:103620006E206D69736D6174636820284545505242 -:103630004F4D3D002E0A006F70656E206661696C0B -:1036400065642C2046696C653A2000706F7765725E -:103650006F6666004B494C4C45442E200050726901 -:103660006E7465722068616C7465642E206B696C81 -:103670006C28292063616C6C6564210A0020540069 -:10368000205200416363656C65726174696F6E3AC4 -:103690002050003F4A206F7574206F662072616E63 -:1036A00067652028302E303120746F20302E33296A -:1036B0000A00546F6F6C6368616E67653A00202082 -:1036C0004D32313700205A00205900205800205236 -:1036D0000020500020450020530050574D3A202034 -:1036E0002534640050574D3A20202534640050574B -:1036F0004D3A20202534640050574D3A202025347F -:10370000640050574D3A20202534640050574D3AFC -:1037100020202534640050574D3A20202534640081 -:1037200050574D3A20202534640050574D3A202000 -:103730002534640050574D3A2020253464005057FA -:103740004D3A20202534640050574D3A202025342E -:10375000640050574D3A20202534640050574D3AAC -:1037600020202534640050574D3A20202534640031 -:1037700050574D3A20202534640070012C019001EF -:103780002701B0012201C0011D01F0011801100242 -:10379000130130020E016002090190020401C0020F -:1037A000FF000003FA004003F5008003F000D0039F -:1037B000EB002004E6007004E100E004DC004005BA -:1037C000D700C005D2004006CD00D006C800800753 -:1037D000C3003008BE00F008B900C009B400B00A48 -:1037E000AF00B00BAA00D00CA500000EA000500F37 -:1037F0009B00C01096005012910000148C00C01560 -:103800008700B0178200B0197D00D01B7800001E21 -:10381000730040206E0090226900F024640040276D -:103820005F0090295A00E02B5500102E50002030E8 -:103830004B0010324600E033410090353C00103719 -:10384000370070383200A0392D00B03A2800A03B74 -:103850002300603C1E00103D1900903D1400103EF6 -:103860000F00703E0A00C03E0500003F0000403FD0 -:10387000FBFF803FF6FFC03FF1FF626564002C2034 -:1038800073797374656D2073746F70706564212033 -:103890004865617465725F49443A2000426564205E -:1038A00048656174696E67204661696C65640048AB -:1038B000656174696E67206661696C656400424584 -:1038C0004420544845524D414C2052554E41574199 -:1038D0005900546865726D616C2052756E61776134 -:1038E000790045312048656174696E6720466169D9 -:1038F0006C65640048656174696E67206661696C17 -:10390000656400453120544845524D414C20525584 -:103910004E4157415900546865726D616C20527573 -:103920006E6177617900202D20496E76616C696443 -:10393000206578747275646572206E756D6265724B -:1039400020210A001000C90210012C0140012201AF -:1039500070011801B0010E01F00104015002FA00DB -:10396000B002F0003003E600D003DC009004D20087 -:103970007005C800A006BE000008B400B009AA0087 -:10398000D00BA000600E960060118C000015820024 -:1039900020197800C01D6E00A0226400B0275A00D4 -:1039A000902C500000314600E0343C0010383200CA -:1039B000903A2800603C1E00A03D1400803E0A00A2 -:1039C000203F000053544F505045442E2000507269 -:1039D000696E7465722073746F70706564206475AD -:1039E0006520746F206572726F72732E204669783D -:1039F00020746865206572726F7220616E64207534 -:103A00007365204D39393920746F20726573746184 -:103A100072742E202854656D7065726174757265BC -:103A20002069732072657365742E20536574206954 -:103A30007420616674657220726573746172746952 -:103A40006E67290A006563686F3A004572726F728B -:103A50003A0042696C696E656172204C6576656CEE -:103A6000696E6720477269643A0A0000AF018501F8 -:103A700011241FBECFEFD1E2DEBFCDBF00E00CBFEF -:103A800018E0A0E0B2E0EAEAFCE602E00BBF02C008 -:103A900007900D92AE39B107D9F72EE1AEE9B8E043 -:103AA00001C01D92A13CB207E1F71DE1C7E3DDE1D2 -:103AB00000E006C021970109802FFE010F947E329D -:103AC000C633D10780E00807A9F70F94FA1B0D94BD -:103AD00043360C9400002F923F924F925F926F9268 -:103AE0007F928F929F92AF92BF92CF92DF92EF928E -:103AF000FF920F931F93CF93DF93CDB7DEB7E3977A -:103B00000FB6F894DEBF0FBECDBF80910901817062 -:103B100091E098272091BD08921781F19093BD08FC -:103B2000811116C00E943B5E8091D01D83FF09C0A9 -:103B30008EEB93E00E944D5461E080E00E94029E73 -:103B40001DC060E081E00E94029E87ED93E014C0FA -:103B50000091D01D03FB002700F90E94CA5D8091EF -:103B6000D01D877F8093D01D002341F060E081E06D -:103B70000E94029E80EF93E00E944D5480913D1A76 -:103B800081FF11C18091C21B9091C31B891B8F7053 -:103B9000843008F008C18CE0E5EAFCE0DE01119613 -:103BA00001900D928A95E1F78091190D90911A0D6F -:103BB000A0911B0DB0911C0D88A799A7AAA7BBA720 -:103BC0009C01AD016091A50C7091A60C8091A70C91 -:103BD0009091A80C0F9486326B017C016093A50C28 -:103BE0007093A60C8093A70C9093A80C80911D0D48 -:103BF00090911E0DA0911F0DB091200D8CA79DA737 -:103C0000AEA7BFA79C01AD016091A90C7091AA0C51 -:103C10008091AB0C9091AC0C0F94863268A379A381 -:103C20008AA39BA36093A90C7093AA0C8093AB0CFE -:103C30009093AC0C8091210D9091220DA091230DB9 -:103C4000B091240D88AB99ABAAABBBAB9C01AD0185 -:103C50006091AD0C7091AE0C8091AF0C9091B00C56 -:103C60000F9486324B015C016093AD0C7093AE0CE7 -:103C70008093AF0C9093B00CA7019601C701B601D9 -:103C80000F94F72B2B013C0128A139A14AA15BA17C -:103C9000CA01B9010F94F72B9B01AC01C301B2011A -:103CA0000F9487322B013C01A5019401C501B40199 -:103CB0000F94F72B9B01AC01C301B2010F94873223 -:103CC0000F9435359B01AC0160E070E080E89FE324 -:103CD0000F94813320914F02309150024091510254 -:103CE000509152020F94F72B2DEC3CEC4CEC5DE321 -:103CF0000F94F72B20E030E040E85EE30F94F72BC1 -:103D00002B013C0120E030E040E85FE30F94912B71 -:103D100087FFF1C3A3019201C701B6010F94F72BEE -:103D200028A539A54AA55BA50F9487326093A50CF9 -:103D30007093A60C8093A70C9093A80CA3019201FA -:103D400068A179A18AA19BA10F94F72B2CA53DA571 -:103D50004EA55FA50F9487326093A90C7093AA0CAF -:103D60008093AB0C9093AC0CA3019201C501B401FC -:103D70000F94F72B28A939A94AA95BA90F94873278 -:103D80006093AD0C7093AE0C8093AF0C9093B00C1D -:103D90000E9459DB8CE0FE013196A5EABCE001905F -:103DA0000D928A95E1F78091BC0881110C944B39F2 -:103DB0008091BA089091BB089C012F5F3F4F3093D0 -:103DC000BB082093BA08883E934010F40C944B39FA -:103DD00081E08093BC081092BB081092BA088091D1 -:103DE000A81E882309F498C30E94BEC6811194C3FB -:103DF0008091B9088F5F8093B9088091B9088536A2 -:103E000020F01092B9081092A81EE091A81E8E2FE3 -:103E1000EE0F990BAA0BBB0BFC013197E730F105B4 -:103E200008F0A0C08827EE58FF4F8F4F0D947E32C8 -:103E30000E94B6C6882309F495C081E080937A0277 -:103E400083E094E00E944D5480E190E09093551CF3 -:103E50008093541C85E08093481C02E800934B1C1F -:103E600084E190E1A0E0B0E080934C1C90934D1C65 -:103E7000A0934E1CB0934F1C0F94040581E09AE56B -:103E80009093551C8093541C86E390E09093571CAC -:103E90008093561C87E08093481C00934B1C84E859 -:103EA00090E0A0E0B0E080934C1C90934D1CA09358 -:103EB0004E1CB0934F1C0F94040552C00E94B6C60E -:103EC000882309F44FC048C081E194E00E944D541A -:103ED00081E09AE59093551C8093541C80E490E017 -:103EE0009093571C8093561C07E00093481C82E86F -:103EF00080934B1C84E890E0A0E0B0E080934C1CE1 -:103F000090934D1CA0934E1CB0934F1C0F9404052E -:103F10000093A81E27C08091B808882319F10E9439 -:103F2000B6C68823F9F00E94BEC681111BC0F7C235 -:103F30000E94B6C68823B1F00E94BEC6811112C08D -:103F40001CC30E94BEC681110DC042E060E070E05B -:103F5000CB010E94D4C604C00E94BEC6811102C01B -:103F60001092A81E80917A02882309F4ACC2809135 -:103F7000A41E9091A51E892B09F08FC18091B508D0 -:103F80009091B608892B09F01EC184E096E09093C9 -:103F9000551C8093541C80EA90E89093571C8093A2 -:103FA000561C17E01093481C02E800934B1C80EA53 -:103FB00090E0A0E0B0E080934C1C90934D1CA09347 -:103FC0004E1CB0934F1C0F940405809106029091F3 -:103FD0000702A0910802B09109020097A105B1055E -:103FE00011F51092551C1092541C15E01093481CAA -:103FF00000934B1C8AE890E1A0E0B0E080934C1C59 -:1040000090934D1CA0934E1CB0934F1C0F9404052D -:1040100089E090E09093551C8093541C1093481CA9 -:1040200000934B1C40C00196A11DB11DF5E0B69553 -:10403000A79597958795FA95D1F70197A109B109A9 -:10404000009731E0A307B10558F0B093551CA09339 -:10405000541C9093571C8093561C1093481C07C007 -:104060009093551C8093541C85E08093481C12E863 -:1040700010934B1C8AE890E1A0E0B0E080934C1CC8 -:1040800090934D1CA0934E1CB0934F1C0F940405AD -:1040900088E090E09093551C8093541C85E08093B9 -:1040A000481C10934B1C8CE890E1A0E0B0E080939A -:1040B0004C1C90934D1CA0934E1CB0934F1C0F941E -:1040C00004058091060290910702A0910802B09128 -:1040D00009020097E1E0AE07B10550F0B093551C1E -:1040E000A093541C9093571C8093561C87E005C0E6 -:1040F0009093551C8093541C85E08093481C82E863 -:1041000080934B1C88E890E1A0E0B0E080934C1CC9 -:1041100090934D1CA0934E1CB0934F1C0F9404051C -:104120008091060290910702A0910802B0910902C5 -:10413000BA2FA92F982F88270097F1E0AF07B10574 -:1041400050F0B093551CA093541C9093571C80932F -:10415000561C87E005C09093551C8093541C85E045 -:104160008093481C12E810934B1C81EA90E0A0E079 -:10417000B0E080934C1C90934D1CA0934E1CB093C8 -:104180004F1C0F9404058091310D882319F082E0B3 -:1041900090E002C083E090E09093551C8093541C03 -:1041A00085E08093481C10934B1C85E490E1A0E0CF -:1041B000B0E080934C1C90934D1CA0934E1CB09388 -:1041C0004F1C0F9404050091B5081091B6080536F0 -:1041D00011057CF41093551C0093541C85E08093CA -:1041E000481C82E880934B1C80E090E1A0E0B0E0A6 -:1041F00011C0C801845691099093551C8093541C9A -:1042000085E08093481C82E880934B1C81E090E11C -:10421000A0E0B0E080934C1C90934D1CA0934E1CEA -:10422000B0934F1C0F9404050F5F1F4F1093B608F7 -:104230000093B508093C110564F18FE194E00E94F8 -:104240004D5481E090E09093A51E8093A41E80932E -:104250007A0281E09AE59093551C8093541C8DE27C -:1042600090E09093571C8093561C87E08093481CE5 -:1042700082E880934B1C84E890E0A0E0B0E080935B -:104280004C1C90934D1CA0934E1CB0934F1C0F944C -:1042900004051092BC080C944B398091C21B90917C -:1042A000C31B891B8F7009F092C10E9458D08111E5 -:1042B0008EC18091D01D82FD8AC112C384E690E038 -:1042C0009093551C8093541C1093481C00934B1CD6 -:1042D0008EE090E1A0E0B0E080934C1C90934D1CE8 -:1042E000A0934E1CB0934F1C0F940405C60182533B -:1042F0009048880F991F9093551C8093541C1093DD -:10430000481C00934B1C8FE090E1A0E0B0E080934C -:104310004C1C90934D1CA0934E1CB0934F1C0F94BB -:1043200004050E94BFEE90E09093551C8093541CAE -:1043300085E08093481C82E880934B1C86E190E1E5 -:10434000A0E0B0E080934C1C90934D1CA0934E1CB9 -:10435000B0934F1C0F94040520E030E048EC52E489 -:104360006091C90C7091CA0C8091CB0C9091CC0CCF -:104370000F94F72B0F94F3337093551C6093541CD8 -:1043800015E01093481C02E800934B1C86E290E174 -:10439000A0E0B0E080934C1C90934D1CA0934E1C69 -:1043A000B0934F1C0F9404056091680970916909DE -:1043B00080916A0990916B090F94F3337093551CA7 -:1043C0006093541C1093481C00934B1C86E390E1AF -:1043D000A0E0B0E080934C1C90934D1CA0934E1C29 -:1043E000B0934F1C0F94040560917F097091800970 -:1043F00080918109909182090F94F3337093551C39 -:104400006093541C1093481C00934B1C8CE390E168 -:10441000A0E0B0E080934C1C90934D1CA0934E1CE8 -:10442000B0934F1C0F94040580916C0990916D0915 -:104430009093551C8093541C1093481C00934B1C64 -:1044400084E390E1A0E0B0E080934C1C90934D1C7D -:10445000A0934E1CB0934F1C0F94040580918309C8 -:10446000909184099093551C8093541C1093481C80 -:1044700000934B1C8AE390E1A0E0B0E080934C1CD9 -:1044800090934D1CA0934E1CB0934F1C0F940405A9 -:104490000091B10801113CC18091B308811138C16C -:1044A0008091B80881118BC18091FC1B9091FD1BFC -:1044B000A091FE1BB091FF1B8C3420E19207A10557 -:1044C000B10509F0A1C138E9C32E3CE1D32E0AE1C0 -:1044D0008EE39AE10E94135CE090A608F090A70892 -:1044E000181619060CF085C38AE1E816F10414F4D5 -:1044F0000C9447357EC38CE0FE013196A5EABCE002 -:1045000001900D928A95E1F70E9459DB80913D1A46 -:104510008D7F80933D1A47CC1092B9086ECC89EEFE -:1045200095E00E944D548091B70890E0A0E0B0E083 -:10453000895B9F4FAE4FB54A21E03AE53093551C59 -:104540002093541C9093571C8093561C87E08093B3 -:10455000481C82E880934B1C84E890E0A0E0B0E027 -:1045600080934C1C90934D1CA0934E1CB0934F1CF9 -:104570000F9404051092B808F3CC81E080937A027E -:104580001092A81E87EF95E00E944D5481E09AE5B5 -:104590009093551C8093541C8EE490E09093571C8C -:1045A0008093561C87E08093481C82E880934B1CC4 -:1045B00084E890E0A0E0B0E080934C1C90934D1C08 -:1045C000A0934E1CB0934F1C0F940405CBCC8CE0F1 -:1045D00090E09093551C8093541C05E00093481C78 -:1045E00082E880934B1C84E190E1A0E0B0E08093EE -:1045F0004C1C90934D1CA0934E1CB0934F1C0F94D9 -:1046000004050E94A1ED20E13EE040E050E00F945F -:10461000E7312115310591E04907510560F05093CC -:10462000551C4093541C3093571C2093561C87E014 -:104630008093481C06C03093551C2093541C009353 -:10464000481C02E800934B1C80E190E1A0E0B0E040 -:1046500080934C1C90934D1CA0934E1CB0934F1C08 -:104660000F9404050E94A1ED20E13EE040E050E0FF -:104670000F94E7312CE330E040E050E00F94E73155 -:104680003093551C2093541C15E01093481C009344 -:104690004B1C82E190E1A0E0B0E080934C1C909331 -:1046A0004D1CA0934E1CB0934F1C0F9404050E9408 -:1046B000BFEE882391F00E94BFEE8F5F8093B40815 -:1046C000C82ED12C833308F0F9CDC601880F991F6D -:1046D0009093551C8093541C04C01092551C10924A -:1046E000541C1093481C00934B1C8EE090E1A0E0FA -:1046F000B0E080934C1C90934D1CA0934E1CB09343 -:104700004F1C0F9404051092551C1092541CF7CDA9 -:1047100020E030E048EC52E460916809709169094A -:1047200080916A0990916B090F94F72B6B017C01C2 -:1047300060916C0970916D09072E000C880B990B24 -:104740000F94982B9B01AC01C701B6010F948133E4 -:104750000F94FA336436710510F064E670E07093DC -:10476000551C6093541C45E0A42EA092481C52E8AE -:10477000B52EB0924B1C84E290E1A0E0B0E08093B3 -:104780004C1C90934D1CA0934E1CB0934F1C0F9447 -:104790000405C0906809D0906909E0906A09F0901A -:1047A0006B0920E030E040E253E4C701B6010F940A -:1047B000E73418160CF03AC1011188C137C1809155 -:1047C000A80801E0080F0093A80890E09093551CFA -:1047D0008093541C85E08093481C82E880934B1C96 -:1047E00082E490E1A0E0B0E080934C1C90934D1CDB -:1047F000A0934E1CB0934F1C0F9404050A3008F48C -:1048000053CE1092A80850CE8A349041A105B1052C -:1048100009F459CE80E00E94B2C720E030E040E2C7 -:1048200051E40F94F72B0F94F3337093551C60935E -:10483000541C15E01093481C02E800934B1C88E4BC -:1048400090E1A0E0B0E080934C1C90934D1CA093AD -:104850004E1CB0934F1C0F94040581E00E94B2C718 -:1048600020E030E040E251E40F94F72B0F94F33353 -:104870007093551C6093541C1093481C00934B1C60 -:104880008AE490E1A0E0B0E080934C1C90934D1C32 -:10489000A0934E1CB0934F1C0F94040582E00E941D -:1048A000B2C720E030E040E251E40F94F72B0F94C0 -:1048B000F3337093551C6093541C1093481C009361 -:1048C0004B1C8CE490E1A0E0B0E080934C1C9093F2 -:1048D0004D1CA0934E1CB0934F1C0F940405F3CDB8 -:1048E00080917F0990918009A0918109B0918209FE -:1048F00088A399A3AAA3BBA360918309709184099B -:10490000072E000C880B990B0F94982B6B017C01E0 -:1049100020E030E040E050E40F94863228A139A135 -:104920004AA15BA10F94E734181604F1409068097E -:104930005090690960906A0970906B0960916C09E8 -:1049400070916D09072E000C880B990B0F94982B12 -:104950004B015C0120E030E040E251E40F948632EC -:10496000A30192010F94E734181604F58DE090E04E -:104970009093551C8093541C85E08093481C82E8DA -:1049800080934B1C84E190E1A0E0B0E080934C1C4C -:1049900090934D1CA0934E1CB0934F1C0F94040594 -:1049A0008091A71E81113FC081E03DC020E030E032 -:1049B00040E050E4C701B6010F94873228A139A125 -:1049C0004AA15BA10F94912B87FD0EC020E030E03F -:1049D00040E251E4C501B4010F948732A301920172 -:1049E0000F94912B87FFB8CC84E190E09093551CF5 -:1049F0008093541C85E08093481C82E880934B1C74 -:104A000084E190E1A0E0B0E080934C1C90934D1CB9 -:104A1000A0934E1CB0934F1C0F9404058091A71EC9 -:104A2000811101C082E08093A71E96CC60916C0931 -:104A300070916D09072E000C880B990B0F94982B21 -:104A40009B01AC01C701B6010F94E7346091B30834 -:104A500087FDAEC0662309F423CD062E000C770B2C -:104A60008BE397E00F9478181092B3081092B60871 -:104A70001092B50884E090E09093551C8093541CEC -:104A800085E08093481C02E800934B1C8EE890E17F -:104A9000A0E0B0E080934C1C90934D1CA0934E1C62 -:104AA000B0934F1C0F94040581E09AE59093551C38 -:104AB0008093541C83E590E09093571C8093561C80 -:104AC00087E08093481C00934B1C63C01092B10890 -:104AD00020E030E040E251E46091A9087091AA081A -:104AE0008091AB089091AC080F94F72B0F94F3339F -:104AF0007093551C6093541CA092481CB0924B1CA0 -:104B000084E590E1A0E0B0E080934C1C90934D1CB4 -:104B1000A0934E1CB0934F1C0F94040520E030E08E -:104B200040E251E46091AD087091AE088091AF0809 -:104B30009091B0080F94F72B0F94F3337093551C9A -:104B40006093541CA092481CB0924B1C88E590E1E5 -:104B5000A0E0B0E080934C1C90934D1CA0934E1CA1 -:104B6000B0934F1C0F94040585E096E00E944D54CD -:104B700081E09AE59093551C8093541C81E490E069 -:104B80009093571C8093561C87E08093481CB092EA -:104B90004B1C84E890E0A0E0B0E080934C1C909324 -:104BA0004D1CA0934E1CB0934F1C0F94040578CC61 -:104BB000662309F475CC8091B5089091B6089C01E4 -:104BC0002F5F3F4F3093B6082093B50865E070E043 -:104BD0000F946A329093551C8093541C85E0809307 -:104BE000481C82E880934B1C8EE890E1A0E0B0E086 -:104BF000D4CF1E141F040CF04CCB9091F91B809164 -:104C0000981C981322C09091FA1B8091991C9813BC -:104C10001CC023E0E216F104C4F090919A1C90931A -:104C2000F81B80919B1C8093FB1B9330D1F4982F31 -:104C30009D7F9038B1F490919C1C9F3409F059C02D -:104C400090919D1C9B3409F054C08AE1E8E9FCE195 -:104C5000DF011D928A95E9F71092A7081092A60825 -:104C600018CB833809F045C080919C1C90919D1C05 -:104C7000982789279827A0E0B0E08093FC1B9093A9 -:104C8000FD1BA093FE1BB093FF1BC0909E1CD12C5C -:104C9000E12CF12CC092001CD092011CE092021C6D -:104CA000F092031CAFE9BCE140E050E0BA014C15C2 -:104CB0005D056E057F0508F04AC04A015B01B694A8 -:104CC000A79497948794F4013696EE0FFF1FE8504F -:104CD000F44E8C9190E0982F882711962C91119783 -:104CE000822B918380834E5F5F4F6F4F7F4F129671 -:104CF000DECF813861F580919C1C90E0A0E0B0E0AF -:104D00008093FC1B9093FD1BA093FE1BB093FF1B95 -:104D100080919D1C482F50E060E070E04093001CA3 -:104D20005093011C6093021C7093031CAEE9BCE11C -:104D3000E4E0FCE190E020E030E02817390739F0AA -:104D40004D9150E0419351932F5F3F4FF6CF8AE151 -:104D5000E8E9FCE1DF011D928A95E9F71092A708C6 -:104D60001092A60880E394E00E944D546091A81E22 -:104D7000161664F4062E000C770B80E397E00F9470 -:104D800078188AE00E9442530C9438356091041CD4 -:104D90007091051C8EE197E00F945A188AE00E94EA -:104DA00042534091FC1B5091FD1B6091FE1B709182 -:104DB000FF1B8FE097E00F9449188AE00E9442534E -:104DC0008091FC1B9091FD1BA091FE1BB091FF1BDD -:104DD000EFE7F2E000E010E04191519161917191B3 -:104DE0004115510561057105D1F1481759076A0749 -:104DF0007B0791F5AC01BD01485050416109710933 -:104E0000453051056105710568F1AC01BD01477F71 -:104E1000423350416105710541F18433F0E19F0750 -:104E2000A105B10511F1AC01BD0146545041610924 -:104E300071094730510561057105D0F0AC01BD0124 -:104E400044555041610971094530510561057105AD -:104E500088F402E110E00EC00F5F1F4FBDCF0FEFCF -:104E60001FEF08C003E010E005C008E010E002C03A -:104E70000FE010E08A509042A109B109833D9105ED -:104E8000A105B10530F00F3F2FEF120721F40C946C -:104E9000383509E110E0F1E5CF2EF4E0DF2EF60120 -:104EA00081916F01882319F00E944253F8CFB80115 -:104EB000012E000C880B990B0E94B6530E94475498 -:104EC00083E097E00E944D540A31110510F00C94D4 -:104ED0003435F8018827E758FF4F8F4F0D947E3205 -:104EE0008091041C9091051C81309105E1F4109291 -:104EF0007A028FEF8093900F60E080E00E94029E24 -:104F00000FE514E0D8018D918D01882319F00E94DE -:104F10004253F8CF81E09AE59093551C8093541C3E -:104F20008EE290E0AFC08230910509F0B7C081E019 -:104F300080937A020E9430EF8FEF96E09093B80949 -:104F40008093B7098BE090E09093551C8093541C9C -:104F500005E00093481C12E810934B1C80E092E19E -:104F6000A0E0B0E080934C1C90934D1CA0934E1C8D -:104F7000B0934F1C0F9404051092551C1092541CB2 -:104F80000093481C10934B1C8EE090E1A0E0B0E031 -:104F900080934C1C90934D1CA0934E1CB0934F1CBF -:104FA0000F9404051092551C1092541C0093481C39 -:104FB00010934B1C8FE090E1A0E0B0E080934C1C7C -:104FC00090934D1CA0934E1CB0934F1C0F9404055E -:104FD0001092551C1092541C0093481C10934B1CAB -:104FE00086E190E1A0E0B0E080934C1C90934D1CD2 -:104FF000A0934E1CB0934F1C0F94040562E070E028 -:1050000080E090E00E94C6C71092551C1092541C7C -:105010000093481C10934B1C80E190E1A0E0B0E0AD -:1050200080934C1C90934D1CA0934E1CB0934F1C2E -:105030000F9404051092551C1092541C0093481CA8 -:1050400010934B1C82E190E1A0E0B0E080934C1CF7 -:1050500090934D1CA0934E1CB0934F1C0F940405CD -:1050600009E814E0F80181918F01882319F00E946A -:105070004253F8CF81E09AE59093551C8093541CDD -:105080008DE290E09093571C8093561C87E08093AC -:10509000481C82E880934B1C0C947D36833091052C -:1050A00049F581E080937A0203EB14E0D8018D91F9 -:1050B0008D018823C9F00E944253F8CF8091FC1BD8 -:1050C0009091FD1BA091FE1BB091FF1B8233F0E17C -:1050D0009F07A105B10509F05EC48091041C909161 -:1050E000051C009709F024C480910502882309F467 -:1050F0000EC31EC3049711F00C94383510927A0237 -:105100000C9438358091041C9091051C81309105D8 -:10511000D9F410927A0280910502882319F082E076 -:1051200090E002C083E090E09093551C8093541C63 -:1051300085E08093481C82E880934B1C8EE190E1CF -:10514000A0E0B0E00C9481368230910519F50DEDA8 -:1051500014E0F80181918F01882319F00E944253D5 -:10516000F8CF81E080937A028091A71E843049F0C5 -:1051700081E09AE59093551C8093541C85E390E060 -:1051800081CF81E09AE59093551C8093541C86E36F -:1051900090E078CF8330910509F04CC02091050252 -:1051A000222319F19093551C8093541C85E0809321 -:1051B000481C82E880934B1C8EE190E1A0E0B0E0B7 -:1051C00080934C1C90934D1CA0934E1CB0934F1C8D -:1051D0000F94040540E060E070E088EC92E40E94E7 -:1051E00097EF109205020C94383582E090E090938E -:1051F000551C8093541C85E08093481C82E8809362 -:105200004B1C8EE190E1A0E0B0E080934C1C9093A9 -:105210004D1CA0934E1CB0934F1C0F94040540E00E -:1052200060E070E0CB010E9497EF81E0809305027F -:105230000C943835049711F00C943835809192090C -:105240008823F1F082E090E09093551C8093541CE9 -:1052500085E08093481C82E880934B1C8FE190E1AD -:10526000A0E0B0E080934C1C90934D1CA0934E1C8A -:10527000B0934F1C0F940405109292090C9438358A -:1052800083E090E09093551C8093541C85E08093BC -:10529000481C82E880934B1C8FE190E1A0E0B0E0D5 -:1052A00080934C1C90934D1CA0934E1CB0934F1CAC -:1052B0000F94040581E0809392090C943835609135 -:1052C000041C7091051C80E090E00F94962B6B01FC -:1052D0007C0120E030E04AEF53E40F94912B87FFEC -:1052E00011C020E030E040E251E4C701B6010F9464 -:1052F000E73418166CF0C12CD12C70E2E72E71E463 -:10530000F72E06C0C12CD12CEAEFEE2EE3E4FE2EE0 -:10531000C701B6010F94F333709366026093650280 -:105320000C9438358091FC1B9091FD1BA091FE1BC5 -:10533000B091FF1B8830F0E19F07A105B10509F08E -:1053400050C081E09AE59093551C8093541C8DE2E7 -:1053500090E09093571C8093561C87E08093481CE4 -:1053600012E810934B1C84E890E0A0E0B0E080933A -:105370004C1C90934D1CA0934E1CB0934F1C0F944B -:1053800004051092551C1092541C05E00093481C13 -:1053900010934B1C80E190E1A0E0B0E080934C1CA6 -:1053A00090934D1CA0934E1CB0934F1C0F9404057A -:1053B0001092551C1092541C0093481C10934B1CC7 -:1053C00082E190E1A0E0B0E080934C1C90934D1CF2 -:1053D000A0934E1CB0934F1C0F9404050E9430EF15 -:1053E0008FC08A3020E19207A105B105E1F58091D7 -:1053F000041C9091051C813F910511F00C943835E7 -:1054000081E09AE59093551C8093541C86E390E0CC -:105410009093571C8093561C87E08093481C82E829 -:1054200080934B1C84E890E0A0E0B0E080934C1C9B -:1054300090934D1CA0934E1CB0934F1C0F940405E9 -:105440004EE755E065E875E084E00E949A6860E008 -:1054500081E795E00E94F1EE87E695E09093B80928 -:105460008093B7094DC08C309041A105B10509F07A -:1054700047C08091041C9091051C019709F040C021 -:105480000F9469251092A71E81E080937A028CE028 -:1054900090E09093551C8093541C85E08093481CA9 -:1054A00012E810934B1C84E190E1A0E0B0E08093FF -:1054B0004C1C90934D1CA0934E1CB0934F1C0F940A -:1054C000040581E09AE59093551C8093541C85E374 -:1054D00090E09093571C8093561C87E08093481C63 -:1054E00010934B1C84E890E0A0E0B0E080934C1C4B -:1054F00090934D1CA0934E1CB0934F1C0F94040529 -:105500008091FC1B9091FD1BA091FE1BB091FF1B95 -:105510008C309041A105B10511F00C943835809183 -:10552000041C9091051C029711F00C9438350F94CF -:10553000692581E08093B3081092A71E80937A02B8 -:105540001092B6081092B50881E09AE59093551C28 -:105550008093541C82E590E095CD2091041C3091FD -:10556000051CB90180E090E037FF09C00F94962B2D -:1055700020E030E040E857E40F94863202C00F94F8 -:10558000962B20E030E048EC52E40F9481336B011D -:105590007C0120E030E040EA51EC0F94E73487FDD5 -:1055A00031C020E030E040EA51E4C701B6010F9479 -:1055B000912B18163CF1A70196016091C90C7091CE -:1055C000CA0C8091CB0C9091CC0C0F94863220E0C9 -:1055D00030E048EC53E40F94F72B90580F94F333DA -:1055E000CB010F94F907C092C90CD092CA0CE0927B -:1055F000CB0CF092CC0C8AEF96E09093B809809394 -:10560000B70928C020E030E048EC52E46091C90CB2 -:105610007091CA0C8091CB0C9091CC0C0F94F72B0D -:105620000F94F3337093551C6093541C85E0809362 -:10563000481C82E880934B1C86E290E1A0E0B0E039 -:1056400080934C1C90934D1CA0934E1CB0934F1C08 -:105650000F9404056091C90C7091CA0C8091CB0C19 -:105660009091CC0C8E010B5E1F4F23E041E00F9414 -:1056700069269F938F938CEE96E09F938F930451AE -:1056800011091F930F930F94292BC8010E94A0C8E2 -:105690000F900F900F900F900F900F900C94383543 -:1056A0008091041C9091051C009729F481E080935F -:1056B0007A020C94383581309105B1F4809105025D -:1056C000882349F081E09AE59093551C8093541CFF -:1056D0008CE390E0D7CC81E09AE59093551C8093C1 -:1056E000541C8BE390E0CECC82309105F9F28330EC -:1056F000910539F58091050240E0882389F060E04A -:1057000070E088EC92E40E9497EF1092050281E02D -:105710009AE59093551C8093541C89E390E0B2CC99 -:1057200060E070E0CB010E9497EF81E0809305027A -:1057300081E09AE59093551C8093541C8AE390E095 -:10574000A1CC8530910559F540E060E070E084E33C -:1057500093E40E9449C646E060E070E08CE892E481 -:105760000E9449C684EB90E09093551C8093541C92 -:1057700005E00093481C12E810934B1C84E390E171 -:10578000A0E0B0E080934C1C90934D1CA0934E1C65 -:10579000B0934F1C0F94040586E490E02DC0863032 -:1057A000910599F540E060E070E080E793E40E94A5 -:1057B00049C646E060E070E08CED92E40E9449C684 -:1057C00080EF90E09093551C8093541C05E000936B -:1057D000481C12E810934B1C84E390E1A0E0B0E079 -:1057E00080934C1C90934D1CA0934E1CB0934F1C67 -:1057F0000F9404058EE690E09093551C8093541C02 -:105800000093481C10934B1CC0C0813F910511F0C0 -:105810000C94383540E060E070E0CB010E9497EFD7 -:1058200041E060E070E0CB010E9497EF109205022A -:1058300040E060E070E0CB010E9449C646E060E0D5 -:1058400070E0CB010E9449C61092551C1092541C66 -:1058500005E00093481C12E810934B1C84E390E190 -:10586000A0E0B0E080934C1C90934D1CA0934E1C84 -:10587000B0934F1C0F94040561E070E080E090E06D -:105880000E94C6C71092551C1092541C0093481CCD -:1058900010934B1C8AE390E1A0E0B0E080934C1C95 -:1058A00090934D1CA0934E1CB0934F1C0F94040575 -:1058B00061E070E080E090E00E94C6C784E190E083 -:1058C0009093551C8093541C0093481C10934B1CC0 -:1058D00084E190E1A0E0B0E080934C1C90934D1CDB -:1058E000A0934E1CB0934F1C0F94040581E09AE5E1 -:1058F0009093551C8093541C89E390E09093571C1F -:105900008093561C87E08093481C10934B1C84E8BE -:1059100090E0A0E0B0E080934C1C90934D1CA093CD -:105920004E1CB0934F1C0F94040582E00C9431354B -:1059300081309105B1F440E060E070E0CB010E945D -:1059400049C61092551C1092541C85E08093481C47 -:1059500082E880934B1C84E390E1A0E0B0E00C94DB -:105960008136029711F00C94383546E060E070E023 -:10597000CB010E9449C61092551C1092541C85E020 -:105980008093481C82E880934B1C8AE390E1A0E05E -:10599000B0E00C948136843320E19207A105B10573 -:1059A00051F46091041C7091051C80E090E00F940C -:1059B000962B40E010C08A339041A105B10511F04B -:1059C0000C9438356091041C7091051C80E090E0C7 -:1059D0000F94962B46E00E9449C60C94383580916E -:1059E000041C9091051C009709F460CE813091054C -:1059F00009F04CC08091310D882319F083E090E0CC -:105A000002C082E090E09093551C8093541C85E086 -:105A10008093481C82E880934B1C85E490E1A0E0D1 -:105A2000B0E080934C1C90934D1CA0934E1CB093FF -:105A30004F1C0F9404058AE090E09093551C8093CE -:105A4000541C85E08093481C82E880934B1C80E0C6 -:105A500092E1A0E0B0E080934C1C90934D1CA09389 -:105A60004E1CB0934F1C0F9404050E94B6C68111C2 -:105A700003C08CED96E002C080ED96E09093B809EB -:105A80008093B70982E08093A81E72C1823091058D -:105A900009F0A8C081E080937A0288E0E9EAF8E0A2 -:105AA000DF011D928A95E9F780E090E0A0E2B1E481 -:105AB0008093A9089093AA08A093AB08B093AC0870 -:105AC0008093AD089093AE08A093AF08B093B00850 -:105AD00084E690E09093551C8093541C05E000935D -:105AE000481C12E810934B1C84E590E1A0E0B0E064 -:105AF00080934C1C90934D1CA0934E1CB0934F1C54 -:105B00000F94040520E030E040E251E46091AD08DC -:105B10007091AE088091AF089091B0080F94F72B68 -:105B20000F94F3337093551C6093541C0093481CDE -:105B300010934B1C88E590E1A0E0B0E080934C1CF2 -:105B400090934D1CA0934E1CB0934F1C0F940405D2 -:105B5000609168097091690980916A0990916B0957 -:105B60000F94F3337093551C6093541C0093481C9E -:105B700010934B1C86E390E1A0E0B0E080934C1CB6 -:105B800090934D1CA0934E1CB0934F1C0F94040592 -:105B900080916C0990916D099093551C8093541CD1 -:105BA0000093481C10934B1C84E390E1A0E0B0E00C -:105BB00080934C1C90934D1CA0934E1CB0934F1C93 -:105BC0000F94040562E070E080E090E00E94C6C798 -:105BD00081E09AE59093551C8093541C81E490E0F9 -:105BE0000C9474368330910509F077C01092B70891 -:105BF00080E00E94B2C720E030E040E251E40F9420 -:105C0000F72B0F94F3337093551C6093541C05E0ED -:105C10000093481C12E810934B1C88E490E1A0E02C -:105C2000B0E080934C1C90934D1CA0934E1CB093FD -:105C30004F1C0F94040581E00E94B2C720E030E0C1 -:105C400040E251E40F94F72B0F94F3337093551CFB -:105C50006093541C0093481C10934B1C8AE490E101 -:105C6000A0E0B0E080934C1C90934D1CA0934E1C80 -:105C7000B0934F1C0F94040582E00E94B2C720E04D -:105C800030E040E251E40F94F72B0F94F33370931C -:105C9000551C6093541C0093481C10934B1C8CE4BF -:105CA00090E1A0E0B0E080934C1C90934D1CA09339 -:105CB0004E1CB0934F1C0F94040562E070E080E02E -:105CC00090E00E94C6C781E09AE59093551C8093AE -:105CD000541C87E490E00C9474368430910509F4E8 -:105CE000C7C68530910549F44EE750E160E070E0A9 -:105CF00084E095E00F94B304BBC6069709F0B8C6DC -:105D00008CEC96E09093B8098093B7098BE090E013 -:105D10002BC28091041C9091051C019711F51092E3 -:105D20007A0281E09AE59093551C8093541C8FE38E -:105D300090E09093571C8093561C87E08093481CFA -:105D400082E880934B1C84E890E0A0E0B0E0809370 -:105D50004C1C90934D1CA0934E1CB0934F1C0F9461 -:105D600004058091041C9091051C029709F080C6DF -:105D700081E09AE59093551C8093541C80E490E058 -:105D800081C9E091041CF091051C3197EB30F105BD -:105D900008F0E4C18827ED56FF4F8F4F0D947E32F7 -:105DA00080913C1A80FF9EC6869580FD9EC69AC64D -:105DB0002DEC3CEC4CEC5DE36091C90C7091CA0C8D -:105DC0008091CB0C9091CC0C0F9487326B017C01AD -:105DD00020E030E040EA51EC0F94E73487FDC2C187 -:105DE00020E030E040EA51E4C701B6010F94912B66 -:105DF00018160CF081C6B6C12DEC3CEC4CEC5DE302 -:105E00006091C90C7091CA0C8091CB0C9091CC0C14 -:105E10000F9486326B017C0120E030E040EA51ECC7 -:105E20000F94E73487FD9EC120E030E040EA51E462 -:105E3000C701B6010F94912B18160CF0D4C692C16D -:105E400080E00E94B96C0E94B6C6811103C083E74E -:105E500096E002C085E696E09093B8098093B70972 -:105E600082E08093A81E81E09AE59093551C809370 -:105E7000541C84E590E09093571C8093561C87E057 -:105E80008093481C82E880934B1C84E890E0A0E05B -:105E9000B0E080934C1C90934D1CA0934E1CB0938B -:105EA0004F1C0F9404055EC183E08093A81E83E01D -:105EB00090E09093551C8093541C85E08093481C7F -:105EC00082E880934B1C8DE890E1A0E0B0E08093E5 -:105ED0004C1C90934D1CA0934E1CB0934F1C0F94E0 -:105EE0000405E12CF12C00E0DD24D394AA24A39432 -:105EF00045E0942E55E0852E62E8762EDD2031F0C7 -:105F0000CC24C39435E0B32E10E005C0CC24CA9451 -:105F1000BB24BA9414E0DA24B116D1F1802F90E0BA -:105F20004897A4F50F5FF701919EE00DF11D112434 -:105F3000EE0FFF1FEE0FFF1FE653F64E20E030E09E -:105F40004AE754E460817181828193810F94F72B39 -:105F50000F94F3337093551C6093541C8092481C2B -:105F600070924B1C802F90E08158974F880F991F9B -:105F7000092E000CAA0BBB0B80934C1C90934D1C5C -:105F8000A0934E1CB0934F1C0F9404051C0DC4CF5E -:105F9000BFEFEB1AFB0AE5E0EE16F10409F0AECF15 -:105FA00081E09AE59093551C8093541C85E590E020 -:105FB0009093571C8093561C87E08093481C82E87E -:105FC00080934B1C84E890E0A0E0B0E080934C1CF0 -:105FD00090934D1CA0934E1CB0934F1C0F9404053E -:105FE00087E096E09093B8098093B709BBC042E080 -:105FF00060E070E080E890E40E94D4C640E060E099 -:1060000070E08DE193E40E94D4C641E060E070E06E -:106010008AE193E413C042E060E070E080E890E43D -:106020000E94D4C640E060E070E080E292E40E940A -:10603000D4C641E060E070E080E292E40E94D4C601 -:1060400086E08093A81E8EC042E060E070E080E8A9 -:1060500090E40E94D4C640E060E070E089E893E4F8 -:10606000E6CF42E060E070E080E890E40E94D4C6B1 -:1060700040E060E070E089E893E40CC042E060E05A -:1060800070E080E890E40E94D4C640E060E070E0F8 -:1060900080E292E40E94D4C641E060E070E086E8CD -:1060A00093E4CCCF8091310D81111CC083E090E04E -:1060B0009093551C8093541C85E08093481C82E883 -:1060C00080934B1C85E490E1A0E0B0E080934C1CF1 -:1060D00090934D1CA0934E1CB0934F1C0F9404053D -:1060E00081E01BC082E090E09093551C8093541C8B -:1060F00085E08093481C82E880934B1C85E490E106 -:10610000A0E0B0E080934C1C90934D1CA0934E1CDB -:10611000B0934F1C0F94040580E00E94B96C20E0FE -:1061200030E048EC52E46091C90C7091CA0C809147 -:10613000CB0C9091CC0C0F94F72B0F94F3337093FE -:10614000551C6093541C85E08093481C82E8809322 -:106150004B1C86E290E1A0E0B0E09BCE8BEE95E098 -:106160000E944D548AE090E09093551C8093541CFB -:1061700085E08093481C82E880934B1C4BC184E0EF -:106180008093A81E8091FC1B9091FD1BA091FE1B8B -:10619000B091FF1B6091041C7091051C8834F0E1E4 -:1061A0009F07A105B10509F453C08A3420E1920785 -:1061B000A105B10509F456C08C3430E19307A1055F -:1061C000B10509F45AC086349041A105B10509F022 -:1061D0005EC063307105B9F58AED95E09093B8091A -:1061E0008093B70981E08093B80880937A02109277 -:1061F000A80881E09AE59093551C8093541C8AE48A -:1062000090E09093571C8093561C87E08093481C25 -:1062100012E810934B1C84E890E0A0E0B0E080937B -:106220004C1C90934D1CA0934E1CB0934F1C0F948C -:1062300004058AE090E09093551C8093541C85E0FF -:106240008093481CE5C06093B7081092A81E10C444 -:1062500080E090E8ADE9B3E48CA39DA3AEA3BFA317 -:10626000312C15C080E090E0AAE9B3E48CA39DA393 -:10627000AEA3BFA3332433940AC080E090E0A8EC1F -:10628000B3E48CA39DA3AEA3BFA382E0382E80E02D -:1062900090E00F94962B20E030E040E251E40F9420 -:1062A00081336B017C0120E030E0A9010F94912B38 -:1062B00087FF09C01092A2081092A3081092A408A8 -:1062C0001092A5081FC02CA13DA14EA15FA1C7013E -:1062D000B6010F94E73418164CF0C092A208D09281 -:1062E000A308E092A408F092A5080CC08CA19DA17F -:1062F000AEA1BFA18093A2089093A308A093A40885 -:10630000B093A5086091A2087091A3088091A40899 -:106310009091A508432D0E94D4C661E070E080E012 -:1063200090E00E94C6C780E00E94B2C720E030E043 -:1063300040E251E40F94F72B0F94F3337093551C04 -:106340006093541C05E00093481C12E810934B1C0A -:1063500088E490E1A0E0B0E080934C1C90934D1C49 -:10636000A0934E1CB0934F1C0F94040581E00E9433 -:10637000B2C720E030E040E251E40F94F72B0F94D5 -:10638000F3337093551C6093541C0093481C109376 -:106390004B1C8AE490E1A0E0B0E080934C1C909309 -:1063A0004D1CA0934E1CB0934F1C0F94040582E02B -:1063B0000E94B2C720E030E040E251E40F94F72B96 -:1063C0000F94F3337093551C6093541C0093481C36 -:1063D00010934B1C8CE490E1A0E0B0E080934C1C47 -:1063E00090934D1CA0934E1CB0934F1C0F9404052A -:1063F00061E070E080E090E00E94C6C71092A81EA5 -:106400008AE090E09093551C8093541C0093481CA4 -:1064100010934B1C80E092E1A0E0B0E072C4809148 -:10642000FC1B9091FD1BA091FE1BB091FF1B8635BC -:10643000E0E19E07A105B10509F041C020E030E090 -:1064400040E253E4609168097091690980916A099A -:1064500090916B090F94912B2091041C3091051C95 -:1064600087FF5AC42530310508F056C480EA90E011 -:106470009093551C8093541C85E08093481C12E82F -:1064800010934B1C80E290E1A0E0B0E080934C1CA4 -:1064900090934D1CA0934E1CB0934F1C0F94040579 -:1064A00065E070E080E090E00E94C6C781E09AE578 -:1064B0009093551C8093541C82E490E015C484355D -:1064C000F0E19F07A105B105B9F46091041C70913A -:1064D000051C80E090E00F94962B20E030E040E235 -:1064E00051E40F9481336093A9087093AA088093B4 -:1064F000AB089093AC08BCC288359041A105B105AA -:1065000009F0B6C26091041C7091051C80E090E017 -:106510000F94962B20E030E040E251E40F94813359 -:106520006093AD087093AE088093AF089093B00865 -:106530009FC26091041C7091051C84EC95E00F943F -:106540005A188091041C9091051C82309105A1F08D -:1065500038F4009771F00197E1F48DE295E086C27E -:106560008430910599F058F0059799F489E995E000 -:1065700008C087E195E07AC286EB95E002C08CEA1C -:1065800095E09093B8098093B70972C287EA95E0C5 -:10659000F8CF81E495E06AC280E595E00E944D5411 -:1065A0008091041C9091051C8130910509F046C032 -:1065B0008EE595E00E944D5481E00E9497678DE042 -:1065C00090E09093551C8093541C85E08093481C68 -:1065D00012E810934B1C84E190E1A0E0B0E08093BE -:1065E0004C1C90934D1CA0934E1CB0934F1C0F94C9 -:1065F000040583E08093A71E81E09AE59093551CE3 -:106600008093541C85E390E09093571C8093561C14 -:1066100087E08093481C10934B1C84E890E0A0E036 -:10662000B0E080934C1C90934D1CA0934E1CB093F3 -:106630004F1C0F94040510929E081AC2892B09F072 -:1066400017C286E795E00E944D5480919E088130E4 -:1066500039F58CE895E00E944D5481E09AE59093DD -:10666000551C8093541C8EE290E09093571C8093AD -:10667000561C87E08093481C82E880934B1C84E87A -:1066800090E0A0E0B0E080934C1C90934D1CA09350 -:106690004E1CB0934F1C0F9404051092A61E35C0DB -:1066A000823069F480EA95E00E944D5481E09AE5D9 -:1066B0009093551C8093541C86E390E00EC0833069 -:1066C00031F584EB95E00E944D5481E09AE590937A -:1066D000551C8093541C81E490E09093571C809348 -:1066E000561C87E08093481C82E880934B1C84E80A -:1066F00090E0A0E0B0E080934C1C90934D1CA093E0 -:106700004E1CB0934F1C0F940405109286191092E2 -:106710009E080E9430EFACC18091041C9091051C32 -:106720008F3F910531F028F08FEF90E0A0E0B0E0CE -:1067300002C0A0E0B0E08093060290930702A0930D -:106740000802B09309028091060290910702A0917D -:106750000802B09109020097A105B10509F5109250 -:10676000551C1092541C05E00093481C12E810932D -:106770004B1C8AE890E1A0E0B0E080934C1C909321 -:106780004D1CA0934E1CB0934F1C0F94040589E040 -:1067900090E09093551C8093541C0093481C3DC07E -:1067A0000196A11DB11D05E0B695A7959795879512 -:1067B0000A95D1F70197A109B109009731E0A30724 -:1067C000B10550F0B093551CA093541C9093571CE6 -:1067D0008093561C87E005C09093551C8093541CF1 -:1067E00085E08093481C12E810934B1C8AE890E1E6 -:1067F000A0E0B0E080934C1C90934D1CA0934E1CE5 -:10680000B0934F1C0F94040588E090E09093551CC2 -:106810008093541C85E08093481C10934B1C8CE89B -:1068200090E1A0E0B0E080934C1C90934D1CA093AD -:106830004E1CB0934F1C0F9404058091060290915A -:106840000702A0910802B0910902BA2FA92F982F30 -:1068500088270097E1E0AE07B10550F0B093551CD2 -:10686000A093541C9093571C8093561C87E005C03E -:106870009093551C8093541C85E08093481C82E8BB -:1068800080934B1C81EA90E0A0E0B0E03AC288EC33 -:1068900095E00E944D540E943DC64091FC1B5091D2 -:1068A000FD1B6091FE1B7091FF1B882339F0433D57 -:1068B000F0E25F076105710509F48DC3423D504266 -:1068C0006105710509F0D4C08091041C9091051CEC -:1068D000019709F0D7C40E943DC6882309F4D2C4A9 -:1068E0008091900F87FDC4C0A2E18A02C0011124EB -:1068F000855B9E4E0E94E35DC12C90E2D92EE12C77 -:10690000F12C05E012E81092551C1092541C0093D3 -:10691000481C10934B1CC0924C1CD0924D1CE09212 -:106920004E1CF0924F1C0F940405BFEFCB1ADB0AEC -:10693000EB0AFB0AEAE0CE16E0E2DE06E104F1042F -:1069400011F70091900FF2E10F02800111240D5117 -:10695000104FF80101900020E9F7C8018E1B9F0B32 -:10696000439697FD01967C01F594E7941E141F044D -:106970000CF082C49E012F5F3F4F690184E1D90171 -:106980001D928A95E9F7A70169ED75E0C9010F9499 -:10699000FA35B801C6018E0D9F1D0F94E53540E014 -:1069A00050E260E070E0C6010F94B30462E070E072 -:1069B00080E090E00E94C6C740E060E070E08FE7B2 -:1069C00093E40E9497EF41E060E070E08FE793E48A -:1069D0000E9497EF109205028DE090E09093551C75 -:1069E0008093541C85E08093481C12E810934B1C44 -:1069F00084E190E1A0E0B0E080934C1C90934D1CAA -:106A0000A0934E1CB0934F1C0F94040562E070E0FD -:106A100080E090E00E94C6C781E09AE59093551C03 -:106A20008093541C85E390E09093571C8093561CF0 -:106A300087E08093481C10934B1C84E890E0A0E012 -:106A4000B0E080934C1C90934D1CA0934E1CB093CF -:106A50004F1C0F94040581E080937A028093A61E58 -:106A600083E08093A71E04C08EE895E00E944D54F9 -:106A700080E5E8EFFBE1DF011D928A95E9F78AE501 -:106A80008093F91B85EA8093FA1B0C9449218EE3CD -:106A90009AE10E94F15BF701E856F34E8083809102 -:106AA000981C8A3581F01E141F0414F00C9468227F -:106AB000D601E02F1D92EA95E9F71092A7081092EF -:106AC000A6080C94682262E070E080E090E00E94EA -:106AD000C6C7FFEFEF1AFF0AF092A708E092A608D8 -:106AE0000C9468228CEB96E002C08BEA96E09093BF -:106AF000B8098093B70913CB88E290E00F94F907A7 -:106B00002DEC3CEC4CEC5DE36091C90C7091CA0C2F -:106B10008091CB0C9091CC0C0F9487326B017C014F -:106B200020E030E040EA51EC0F94E73487FD12C0DA -:106B300020E030E040EA51E4C701B6010F94912B08 -:106B4000181644F0C092C90CD092CA0CE092CB0C3B -:106B5000F092CC0C20E030E048EC52E46091C90C9B -:106B60007091CA0C8091CB0C9091CC0C0F94F72BA8 -:106B70000F94F3337093551C6093541C85E08093FD -:106B8000481C82E880934B1C86E290E1A0E0B0E0D4 -:106B900080934C1C90934D1CA0934E1CB0934F1CA3 -:106BA0000F9404056091C90C7091CA0C8091CB0CB4 -:106BB0009091CC0C8E010B5E1F4F23E041E00F94AF -:106BC00069269F938F938DE996E09F938F9304514D -:106BD00011091F930F930F94292BC8010E94A0C87D -:106BE00088E996E076C088ED9FEF0F94F9072DECC9 -:106BF0003CEC4CEC5DE36091C90C7091CA0C809147 -:106C0000CB0C9091CC0C0F9486326B017C0120E070 -:106C100030E040EA51EC0F94E73487FD12C020E0E9 -:106C200030E040EA51E4C701B6010F94912B1816E9 -:106C300044F0C092C90CD092CA0CE092CB0CF092F6 -:106C4000CC0C20E030E048EC52E46091C90C70912B -:106C5000CA0C8091CB0C9091CC0C0F94F72B0F9415 -:106C6000F3337093551C6093541C85E08093481C4B -:106C700082E880934B1C86E290E1A0E0B0E0809334 -:106C80004C1C90934D1CA0934E1CB0934F1C0F9422 -:106C900004056091C90C7091CA0C8091CB0C909145 -:106CA000CC0C8E010B5E1F4F23E041E00F94692650 -:106CB0009F938F938AE896E09F938F9304511109D5 -:106CC0001F930F930F94292BC8010E94A0C885E839 -:106CD00096E09093B8098093B7090F900F900F90AA -:106CE0000F900F900F903ECA9093571C8093561CA4 -:106CF00087E08093481C10934B1C84E890E0A0E050 -:106D0000B0E080934C1C90934D1CA0934E1CB0930C -:106D10004F1C0F940405ACCE2430310589F481E07A -:106D20000F9437252091AD083091AE084091AF08FF -:106D30005091B0080F94873241E00F940B25B2C0F8 -:106D40002530310508F4F3C02630310509F430C18F -:106D500008F022C181E08093B10840E060E070E07B -:106D60008EE393E40E9449C620E030E048EC52E410 -:106D7000609168097091690980916A0990916B0925 -:106D80000F94F72B6B017C0160916C0970916D0978 -:106D9000072E000C880B990B0F94982B9B01AC01CC -:106DA000C701B6010F9481330F94FA33643671052D -:106DB00010F064E670E07093551C6093541C05E07D -:106DC0000093481C12E810934B1C84E290E1A0E071 -:106DD000B0E080934C1C90934D1CA0934E1CB0933C -:106DE0004F1C0F94040560916809709169098091A6 -:106DF0006A0990916B090F94F3337093551C60935B -:106E0000541C0093481C10934B1C86E390E1A0E0B7 -:106E1000B0E080934C1C90934D1CA0934E1CB093FB -:106E20004F1C0F94040580916C0990916D0990930B -:106E3000551C8093541C0093481C10934B1C84E3F6 -:106E400090E1A0E0B0E080934C1C90934D1CA09387 -:106E50004E1CB0934F1C0F94040565E070E080E079 -:106E600090E00E94C6C781E09AE59093551C8093FC -:106E7000541C84E490E09093571C8093561C87E048 -:106E80008093481C10934B1C84E890E0A0E0B0E095 -:106E900080934C1C90934D1CA0934E1CB0934F1CA0 -:106EA0000F94040520E030E040E251E46091A9082D -:106EB0007091AA088091AB089091AC080F94F72BC1 -:106EC0000F94F3337093551C6093541C05E00093AA -:106ED000481C12E810934B1C84E590E1A0E0B0E060 -:106EE00080934C1C90934D1CA0934E1CB0934F1C50 -:106EF0000F94040520E030E040E251E46091AD08D9 -:106F00007091AE088091AF089091B0080F94F72B64 -:106F10000F94F3337093551C6093541C0093481CDA -:106F200010934B1C88E590E1A0E0B0E0EACE22305F -:106F3000310579F480E00F9437252091A90830912C -:106F4000AA084091AB085091AC080F94873240E0FA -:106F5000F4CE2330310570F081E00F943725209175 -:106F6000AD083091AE084091AF085091B0080F9431 -:106F70008632E2CE2130310509F094CF80E00F94C3 -:106F800037252091A9083091AA084091AB0850916B -:106F9000AC080F948632DBCF213F310509F082CF58 -:106FA0001092B10861E070E080E090E00E94C6C7F6 -:106FB00081E09AE59093551C8093541C81E490E005 -:106FC0009093571C8093561C87E08093481C82E85E -:106FD00080934B1C59CF86E296E00E944D548091DD -:106FE000910F9091920F99272091041C3091051CCC -:106FF0008217930708F43CCD81ED95E00E944D5433 -:107000008091041C81508093900FA4ED8A2EA0E201 -:107010009A2EA12CB12C05E012E81092551C10926A -:10702000541C0093481C10934B1C80924C1C909253 -:107030004D1CA0924E1CB0924F1C0F9404052FEFD4 -:10704000821A920AA20AB20A3EED831630E2930631 -:10705000A104B10411F78091900FA2E18A02C0014E -:107060001124FC01ED51F04F7F0101900020E9F760 -:10707000C7018E1B9F0B439697FD01968C011595BA -:10708000079510161106FCF49E012F5F3F4F690112 -:1070900084E1D9011D928A95E9F7A80169ED75E0AF -:1070A000C9010F94FA35B701C601800F911F0F94E3 -:1070B000E53544ED50E260E070E0C6010F94B304A2 -:1070C00005E012E806C044ED50E260E070E0C70160 -:1070D000F5CF1092551C1092541C0093481C10932D -:1070E0004B1C80924C1C90924D1CA0924E1CB09256 -:1070F0004F1C0F940405BFEF8B1A9B0AAB0ABB0A07 -:10710000E6EE8E16E0E29E06A104B10411F78E01B0 -:107110000F5F1F4F84E1D8011D928A95E9F7809196 -:10712000920F8F938091910F8F938091051C8F9375 -:107130008091041C8F9383EE95E09F938F931F9310 -:107140000F930F9414364EED50E260E070E0C801EA -:107150000F94B30462E070E080E090E00E94C6C744 -:107160000FB6F894DEBF0FBECDBF31E2C32E32E1C1 -:10717000D32EE12CF12C43E1442E40E6542E612C19 -:10718000712C88248394912CAA24AA94BA2C75E09B -:10719000272EE2E83E2E0AE010E08091910F9091B8 -:1071A000920F8815990594F1B092551CA092541C29 -:1071B0002092481C30924B1C40924C1C50924D1C0B -:1071C00060924E1C70924F1C0F9404051093551C36 -:1071D0000093541C2092481C30924B1CC0924C1CB3 -:1071E000D0924D1CE0924E1CF0924F1C0F9404055F -:1071F000FFEF8F1A9F0A20E1420E511C611C711C87 -:107200003FEFC31AD30AE30AF30AC7CF8091041CE5 -:107210009091051C24E0880F991F2A95E1F78D5F56 -:107220009F49A0E0B0E020EF37E83093551C209351 -:10723000541C05E00093481C12E810934B1C8093EB -:107240004C1C90934D1CA0934E1CB0934F1C0F945C -:1072500004058091041C9091051C805E9D4EA0E069 -:10726000B0E026E030E03093551C2093541C00938E -:10727000481C10934B1C45CD40E050E260E070E0AC -:10728000C80192CB8091041C9091051C892B11F4AC -:107290000C94562BEDCBE3960FB6F894DEBF0FBEE1 -:1072A000CDBFDF91CF911F910F91FF90EF90DF90B5 -:1072B000CF90BF90AF909F908F907F906F905F9096 -:1072C0004F903F902F9008952F923F924F925F9250 -:1072D0006F927F928F929F92AF92BF92CF92DF92E6 -:1072E000EF92FF920F931F93CF93DF93CDB7DEB74B -:1072F000C154D1090FB6F894DEBF0FBECDBF2296A0 -:107300008FAF22972091D1082CAF81E08093D108D4 -:10731000809166198D3409F4B7C4843511F40C9446 -:10732000744C873411F00C94854C809164199091C1 -:1073300065198A31910509F432C2BCF48430910593 -:107340003CF4823091050CF04DC097FF3FC098C4CB -:107350008C30910509F41FC28531910511F40C940C -:10736000874C049709F08CC4D7C18E31910509F47C -:107370007EC244F48C31910509F43AC20CF413C274 -:1073800014E062C28A35910509F436C324F48A9761 -:1073900009F4A7C375C48B35910509F431C38C3545 -:1073A000910509F06DC453EF252E52E0352E64E9A6 -:1073B000E62E69E1F62E29E13DE03DA32CA375EB15 -:1073C000C72E7CE0D72E00E010E05AC38091300237 -:1073D000882311F40C94874C0E9499E10E9459DB98 -:1073E0000C94874C20913002222311F40C94874C8A -:1073F00011E0029709F010E00E9499E119821A82C7 -:107400001B821C821D821E821F82188682E50E94BA -:10741000D966882309F438C10E9459664B015C0182 -:1074200020E030E0A9010F94912B882309F442C198 -:107430008091190D90911A0DA0911B0DB0911C0D0A -:107440008CA39DA3AEA3BFA380911D0D90911E0D93 -:10745000A0911F0DB091200D88A799A7AAA7BBA73F -:107460008091A50C9091A60CA091A70CB091A80CAE -:107470008CA79DA7AEA7BFA78091A90C9091AA0C3D -:10748000A091AB0CB091AC0C88AB99ABAAABBBABE9 -:107490002CA53DA54EA55FA56CA17DA18EA19FA1A8 -:1074A0000F94912B81110DC028A939A94AA95BA974 -:1074B00068A579A58AA59BA50F94912B882309F42B -:1074C000F9C020E030E0A901C501B4010F94912B6F -:1074D000881F8827881F181729F080E090E0A0E80F -:1074E000BFEB04C080E090E0A0E8BFE388AF99AFB5 -:1074F000AAAFBBAF2CA13DA14EA15FA16CA57DA5FC -:107500008EA59FA50F9486326CAB7DAB8EAB9FABE7 -:1075100028A539A54AA55BA568A979A98AA99BA927 -:107520000F9486326B017C012CA93DA94EA95FA95D -:10753000CA01B9010F94F72B2B013C01A701960159 -:10754000C701B6010F94F72B9B01AC01C301B20137 -:107550000F9487320F9435352B013C019B01AC0110 -:1075600060E070E080E89FE30F94813321966CAF78 -:107570007DAF8EAF9FAF219720E030E040E05FE32A -:10758000C301B2010F94F72B2B013C01A50194011B -:10759000C501B4010F94F72B4B015C01A3019201CB -:1075A000C301B2010F94F72B9B01AC01C501B401DB -:1075B0000F9486320F94353528AD39AD4AAD5BADA9 -:1075C0000F94F72B4B015C01C701B601905821962F -:1075D0002CAD3DAD4EAD5FAD21970F94F72BA501BE -:1075E00094010F94F72B6B017C012CA53DA54EA5B2 -:1075F0005FA56CA17DA18EA19FA10F94873220E091 -:1076000030E040E05FE30F94F72B9B01AC01C70132 -:10761000B6010F9487322CA13DA14EA15FA10F941A -:10762000863269837A838B839C8328A939A94AA9E6 -:107630005BA968A579A58AA59BA50F94873220E050 -:1076400030E040E05FE30F94F72B6B017C01219663 -:107650002CAD3DAD4EAD5FAD21976CA97DA98EA936 -:107660009FA90F94F72BA50194010F94F72B9B0171 -:10767000AC01C701B6010F94873228A539A54AA5E8 -:107680005BA50F94863212C089E40E94D9668823D4 -:1076900031F00E94596669837A838B839C838AE4E4 -:1076A0000E94D966882331F00E9459666D837E83DB -:1076B0008F83988720E030E0A90169817A818B81EE -:1076C0009C810F94912B81110BC020E030E0A90127 -:1076D0006D817E818F8198850F94912B8823A1F0F5 -:1076E000412FBE016F5F7F4F85EA9CE00E94C9D3A6 -:1076F0000F94A41B6093341A7093351A8093361A32 -:107700009093371A0C94874C0F9498188CE797E055 -:107710000F94B3170C94874C80E50E94D966882398 -:1077200029F00F94670C6B017C0103C0C12CD12C94 -:10773000760183E50E94D966882361F00E9459662C -:1077400020E030E04AE754E40F94F72B0F94FA332B -:107750006B017C010E942FF18091CE0C811105C03C -:1077600060E082E997E00E94F1EE0F94A41BC60E40 -:10777000D71EE81EF91E0F94A41BDC01CB018C1947 -:107780009D09AE09BF09B7FD02C00C94874C80E08B -:107790000E946E54F0CF0E947CE40C94874C0E94AF -:1077A00068B60C94874C0E9489A281110C94874C76 -:1077B00080E090E0A8E4B2E489839A83AB83BC8341 -:1077C00080E090E0A0E2B1E48D839E83AF83B88730 -:1077D00089879A87AB87BC8760E070E080E50E946C -:1077E00069E4BE016F5F7F4F0E9429EE0C94874CC5 -:1077F0008091CD0C8770873011F00C94924C60E032 -:107800008FE40E94E66681110C94874C0C94924C94 -:107810008091310D81111DC00E9484848823F9F06C -:10782000115011F40C947C4E40E050E060E078E0A0 -:1078300085E00E94E16761E083EF97E00E943B678B -:107840008BED97E00E941FD90E9489A2882301F343 -:1078500006C060E08FE40E94E6668823E9F20E9499 -:107860005F678EE998E00E941FD90C94874C2091A5 -:10787000C10C3091C20C4091C30C5091C40C60916A -:10788000190D70911A0D80911B0D90911C0D0F9484 -:107890008732AB01BC0188E50E940FC96C8F7D8FD8 -:1078A0008E8F9F8F2091C50C3091C60C4091C70CD4 -:1078B0005091C80C60911D0D70911E0D80911F0D8F -:1078C0009091200D0F948732AB01BC0189E50E9495 -:1078D0000FC969837A838B839C83BE016F5F7F4F5F -:1078E000CE014C960E9459B2882311F40C94874C17 -:1078F00080E00E94B96C0E946FDE61E085E40E9426 -:10790000E666182F21E0482FBE016F5F7F4FCE0142 -:107910004C960E9438A36B017C019B01AC010F9433 -:10792000793581115FC08C8C9D8CAE8CBF8C20E032 -:1079300030E0A901C501B4010F94912B87FF05C068 -:1079400027E137EB41E558EB04C027E137EB41E590 -:1079500058E3C501B4010F948732AB01BC0180EC40 -:1079600098E00F94671889809A80AB80BC8020E0F3 -:1079700030E0A901C501B4010F94912B87FF05C028 -:1079800027E137EB41E558EB04C027E137EB41E550 -:1079900058E3C501B4010F948732AB01BC018BEBF6 -:1079A00098E00F94671820E030E0A901C701B60104 -:1079B0000F94912B87FF05C027E137EB41E558EB8A -:1079C00004C027E137EB41E558E3C701B6010F9446 -:1079D0008732AB01BC0186EB98E00F9467188AE010 -:1079E0000E9442530E9456DE113011F40E9431B1C0 -:1079F0000E941CE00C94874C1092D0080C94874C89 -:107A000081E08093D0080C94874C0E9459662B012A -:107A10003C01133049F0F6012081318142815381CC -:107A20000F9486322B013C01ACA1BDA12D913D915B -:107A30004D915C91C301B2010F9486324B015C0100 -:107A40002DEB37E346E855EB0F94E73487FD20C074 -:107A50002DEB37E346E855E3C501B4010F94912BB4 -:107A60001816B4F01F5FB4E0EB0EF11CECA1FDA101 -:107A70003496FDA3ECA3F4E0CF0ED11C143039F101 -:107A8000D1018D911D010E94D966882359F3BDCF84 -:107A9000133051F44092250D5092260D6092270D1F -:107AA0007092280D01E0DECFA5019401F7016081FD -:107AB0007181828193810F948732D7016D937D9379 -:107AC0008D939C931397812F0E94E2F7CBCF0023D5 -:107AD00021F085E29DE00E9440F10E941CE00C94A0 -:107AE000874C80913002882311F40C94874C89E4F0 -:107AF0000E94D966082F882321F00E945566E82E3F -:107B000001C0E12C8AE40E94D966182F882321F055 -:107B10000E945566F82E01C0F12C002319F024E0D4 -:107B20002E1528F0112349F034E03F1530F488EC8D -:107B300098E00F94B3170C94874C0E9417660023AB -:107B4000F1F02091B6193091B7194E2D4203B001D2 -:107B5000439F700D112480912F1A9091301A680F55 -:107B6000791F072E000C880B990B0F94982B6093AC -:107B7000A50C7093A60C8093A70C9093A80C1123CE -:107B8000F1F02091B8193091B9194F2D4203B0018D -:107B9000439F700D11248091311A9091321A680F11 -:107BA000791F072E000C880B990B0F94982B60936C -:107BB000A90C7093AA0C8093AB0C9093AC0C60E072 -:107BC00080E50E94E6668823C1F10023D1F0209170 -:107BD000C10C3091C20C4091C30C5091C40C609107 -:107BE000A50C7091A60C8091A70C9091A80C0F94F5 -:107BF00086326093A50C7093A60C8093A70C90938B -:107C0000A80C1123D1F02091C50C3091C60C4091E5 -:107C1000C70C5091C80C6091A90C7091AA0C80916E -:107C2000AB0C9091AC0C0F9486326093A90C7093BE -:107C3000AA0C8093AB0C9093AC0C40E050E0BA01DE -:107C400086E40E940FC96B017C0120E030E0A901AD -:107C50000F94E734181684F420E030E040E752E453 -:107C6000C701B6010F94813360934F0270935002A5 -:107C700080935102909352020E9459DB0C94874CDE -:107C80000E9443A20C94874C8091641990916519CD -:107C90008537910511F40C9498460CF050C1893445 -:107CA000910509F404C50CF069C08A31910509F405 -:107CB00089C39CF58431910509F4FEC27CF48131BD -:107CC000910509F4E5C22CF4029708F45EC20C9405 -:107CD000714C429709F45AC70C94714C8731910545 -:107CE00009F414C38CF48531910509F40BC346974C -:107CF00011F00C94714C0E94CA5D8091D01D877F59 -:107D00008093D01D0C94874C8831910509F416C3DB -:107D1000499709F44CC30C94714C8F31910509F4C7 -:107D20007FC47CF48C31910509F4C4C30CF458C3AE -:107D30008D31910509F4C8C34E9709F4CCC30C9456 -:107D4000714C8A32910509F48BC464F48032910538 -:107D500009F420C4819711F00C94714C0E947BCFE0 -:107D60000C94874C8B32910509F49DC4C09711F097 -:107D70000C94714C0E94EA7F0C94874C88369105D4 -:107D800009F43EC5D4F58135910509F4E7C6C4F47C -:107D90008C34910509F49AC44CF48B34910511F09C -:107DA0000C94714C0F94C3180C94874C8D3491052E -:107DB00009F490C48E34910509F490C40C94714C6C -:107DC0008435910509F4E2C674F48235910509F40D -:107DD000DAC68335910511F00C94714C81E08093E3 -:107DE000CB080C94874C8535910509F4FBC68C357E -:107DF000910509F410C70C94714C8E36910509F465 -:107E0000A4C5D4F48B36910509F49BC654F4893685 -:107E1000910509F436C68A36910509F46CC60C94AE -:107E2000714C8C36910511F40C94874C8D3691056C -:107E300009F41EC50C94714C8137910509F4DBC51A -:107E40005CF48F36910509F491C58037910511F4E2 -:107E50000C94874C0C94714C8237910509F465C7DA -:107E60008337910511F00C94714C8DE59BE00F94D4 -:107E7000B31760E08DE49BE00E9493D760E088E355 -:107E80009BE00E9493D761E081E39BE00E9493D73F -:107E900061E086E29BE00E9493D761E086E19BE08F -:107EA0000E9493D760E08DE09BE00E9493D761E051 -:107EB00083E09BE00E9493D761E089EF9AE00E9403 -:107EC00093D761E081EF9AE00E9493D761E083EE5F -:107ED0009AE00E9493D761E085ED9AE00E9493D7E3 -:107EE00060E086EC9AE00E9493D760E088EB9AE02D -:107EF0000E9493D760E082EA9AE00E9493D761E003 -:107F000081E99AE00E9493D761E082E89AE00E94BA -:107F100093D761E08DE69AE00E9493D761E08AE50D -:107F20009AE00E9493D760E08DE49AE00E9493D794 -:107F300060E089E39AE00E9493D70C94874C8E32DC -:107F4000A1E09A0711F40C940B4A0CF07DC08B3C15 -:107F5000910509F4D2C7ACF58D37910509F4FBC53D -:107F6000BCF48737910509F42EC70CF4F2C68837A4 -:107F7000910509F42BC78937910511F00C94714CC8 -:107F80001092A7091092A6090E948AE10C94874CCE -:107F90008E3B910509F463C554F48C38910509F4BE -:107FA0004CC58B39910509F480C50C94714C883C03 -:107FB000910509F413C7893C910509F478C70C941D -:107FC000714C8C3D910509F4E2C7FCF48E3C91059F -:107FD00009F4B8C76CF48C3C910509F4B0C78D3C2A -:107FE000910511F00C94714C0F94770C0C94874C04 -:107FF000833D910509F4C8C7893D910511F00C94A2 -:10800000714C0F941B0B0C94874C8831E1E09E0758 -:1080100011F40C9476485CF48D3D910509F4C4C7C5 -:10802000823E910511F40C942A480C94714C8232D2 -:1080300021E0920711F40C940D498D32914011F416 -:108040000C9418490C94714C853F41E0940711F44D -:108050000C945E4B0CF047C08239B1E09B0711F4E1 -:108060000C94554ADCF48033F1E09F0711F40C9432 -:10807000984914F40C944F4A803931E0930711F475 -:108080000C94524A8139914011F00C94714C81E06A -:108090000E9479B10E941CE00C94874C853AA1E0C3 -:1080A0009A0711F40C945D4A7CF48A39E1E09E074A -:1080B00011F40C94874C843A914011F00C94714C5B -:1080C0000E94A9B30C94874C8C3A21E0920711F4DA -:1080D0000C94CD4A843F914011F00C94714C0E9455 -:1080E000C0E80C94874C8B3542E0940711F40C9453 -:1080F000804B5CF5883FB1E09B0711F40C94644B16 -:10810000ACF4863FF1E09F0711F40C94614B873F7C -:10811000914011F00C94714C61E083E50E94E66699 -:1081200091E089270E949EF90C94874C8C3032E0B4 -:10813000930711F40C94754B8835924011F00C9410 -:10814000714C0E9472E20C94874C8438A3E09A0729 -:1081500011F40C94FB4B6CF48335E3E09E0711F4AF -:108160000C947D4B8C36934011F40C94874C0C94FA -:10817000714C803A23E0920709F442C2873E934053 -:1081800011F40C94634C0C94714C009144191091AF -:10819000451980E50E94D966882361F00F94670C29 -:1081A0006B017C01BB24B394672B682B692B31F4E2 -:1081B000B12C04C0B12CC12CD12C760183E50E94D6 -:1081C000D966882311F40C948E4E0E94596620E0E3 -:1081D00030E04AE754E40F94F72B0F94FA336B0125 -:1081E0007C01B1100BC0672B682B692B39F401158A -:1081F000110521F0D8018C91811102C0B12C02C06F -:10820000BB24B3940E942FF1B11003C085E396E024 -:1082100001C0C8010E94E5C81091D10883E0809395 -:10822000D10881E08093861949EF58E062E079E057 -:1082300082E00E94E16787EE98E00E94E5C8C114E1 -:10824000D104E104F104B1F00F94A41BC60ED71EB3 -:10825000E81EF91E0F94A41BDC01CB018C199D09AB -:10826000AE09BF09B7FF0EC08091861981110C9429 -:10827000934E08C080918619882321F080E00E94E7 -:108280006E54F8CF109286191093D1080C94874C35 -:108290008091601984FF02C00C94984E80916219FD -:1082A00087FF02C00C94984E80916319837011F07F -:1082B0000C94984E0C94B54E8CE299E00F94B31741 -:1082C0001092AB0B84E39BE10E94D88C8BE1E4E33A -:1082D000FBE1DE01119601900D928A95E1F740E0F5 -:1082E00050E0BE016F5F7F4F80E090E00E94505FE2 -:1082F000CE0101960E940E8E8DE199E00F94B31786 -:108300000C94874C0E943B5E0C94874CE09144197E -:10831000F09145198081882329F0803209F4108278 -:108320003196F8CF40E061E0809144199091451971 -:108330000E942661109287190C94874C80913D0B06 -:108340008823E9F080E090E0A0EAB1E488A399A353 -:10835000AAA3BBA31C8E1D8E1E8E1F8E19821A828D -:108360001B821C8220E0AE01405E5F4FBE01645E56 -:108370007F4FCE0101960E94A1680C94874C0E9409 -:1083800058D0882321F00E94DB5D0F94C31840E091 -:1083900050E06DE379E085E00E949A6861E080ED4D -:1083A00091E30E943B670E9475EF0C94874C80918B -:1083B000D01D82FF03C08B7F8093D01D0E949BE362 -:1083C0000C94874C8091D01D83FD02C00C94874C87 -:1083D00083E50E94D96681110C94C44E0C94874C9D -:1083E00083E40E9490668823D9F181E599E00F9497 -:1083F000B3178091DE1A882351F1BE016F5F7F4F62 -:108400008BED9AE10E949F8B8E010F5F1F4FF80149 -:1084100081918F01882319F00E944253F8CFBE0149 -:108420006F5F7F4F80E090E00E94EE608091410F8F -:10843000882389F080E20E94425301E41FE0D801C2 -:108440008D918D01882339F00E944253F8CF87E443 -:1084500099E00F94B3178AE00E9442530C94874C22 -:1084600083E50E94D966882309F10E943166182F9E -:1084700090E0CD970CF01CE31093C2080F94A41B5E -:108480006B017C01212F30E0A8EEB3E00F943B326A -:10849000C60ED71EE81EF91EC092BE08D092BF08B5 -:1084A000E092C008F092C1080C94874C0E94A35D32 -:1084B0000C94874C40E060E08091441990914519FC -:1084C0000E9426610C94874C8091D01D8E7F8093F2 -:1084D000D01D0C94874C8091D01D83FD02C00C945C -:1084E000874C0E941DA58091D01D83FD02C00C9475 -:1084F000874C6091441970914519CE014C960F94A8 -:1085000011078C01009711F40C94874C6C8D7D8DB4 -:1085100019821C8222E0AC01CE0101960E94F191E9 -:10852000811102C0F12C14C0CE0101960F947F0678 -:108530008823C1F361E0CE0101960E94838B0097EE -:1085400089F325EEFC0120831C820E94928DF82E77 -:10855000CE0101960E940E8EB801FF2089F08BE7B4 -:1085600099E00F9485188AE00E9442531092CC1D26 -:108570001092CD1D1092CE1D1092CF1D0C94874CE1 -:1085800083E699E00F94851880E699E00F94B3177D -:108590000C94874C8091D01D82FD0E942FF1809118 -:1085A000D01D83FD02C00C94874C60E080E50E94E2 -:1085B000E666182F482F61E0809144199091451983 -:1085C0000E94266183E50E94D966882381F00E947B -:1085D0002166AB01BC014093CC1D5093CD1D60932F -:1085E000CE1D7093CF1D8BED9AE10E94998A0E9457 -:1085F000DB5D11110C94874C0F94C3180C94874CBD -:1086000020914419309145199091D01D926090931A -:10861000D01D40E060E0C9010E9426610C94874CA7 -:108620000E94A1ED6C8F7D8F8E8F9F8FBE016F5F3B -:108630007F4FCE014C960E949FCE60E0CE01019606 -:108640000E944CEF0F949C18BE016F5F7F4F89E82A -:1086500099E00F9485188AE00E9442530C94874C4D -:1086600083E50E94D966882311F40C94874C0E94FC -:108670003166F82E6DE070E080E50E948EB38C01CB -:1086800097FF02C00C94874CE82E60E089E40E94BA -:10869000E66681110C94D54E802F0E94BF50811147 -:1086A000F6C40C94D54E0E944CC30C94874C80E5C4 -:1086B0000E949066882311F40C94874C8091D01D01 -:1086C00082FF02C00C94874C0C94EE4E0E94F0ED99 -:1086D0000C94874C0F9473190C94874C60E070E0F5 -:1086E00083E50E948EB38E34910531F40F942E1AD7 -:1086F0000E9475EF0C94874C84EF99E00F94B317A8 -:1087000060919609709197098BEE99E00F945A1831 -:1087100060919809709199098EED99E00F945A181B -:1087200060919609709197098091980990919909A3 -:10873000681B790B8091AD1E815021E030E08230C2 -:1087400010F020E030E0621B730B83ED99E00F9492 -:108750005A188AE00E9442538BEC99E00F94B317A9 -:1087600080919A0990919B09A0919C09B0919D09D3 -:108770008C8F9D8FAE8FBF8FBE016F5F7F4FCE01FD -:108780004C960E949FCEBE016F5F7F4F8EEB99E0AB -:108790000F94851880919E0990919F09A091A0093E -:1087A000B091A1098C8F9D8FAE8FBF8FBE016F5F7F -:1087B0007F4FCE014C960E949FCEBE016F5F7F4FD0 -:1087C0008EEA99E00F94851820E030E04AE754E4FF -:1087D0006091A2097091A3098091A4099091A509C3 -:1087E0000F948133AB01BC0186E999E00F946718BF -:1087F0008DE60E9442538AE00E9442530C94874CBB -:108800008091710C83FF02C00C94874C0E9448E257 -:10881000182F87FF02C00C94874C83E50E94D9660D -:10882000882311F10E9459660F94F3337B01212FA5 -:10883000110F330BF901EE0FFF1FE659F34F718350 -:1088400060834091180D50E02417350711F00C9407 -:10885000874CCB010E94E292F1E5EF16F10424F47B -:108860000F9473190E9475EF0F94CD240C94874CCC -:108870008091710C83FF02C00C94874C0E9448E2E7 -:10888000082F87FF02C00C94874C83E50E94D966AD -:10889000F82E811107C082E50E94D966182F88231F -:1088A00009F447C00E9459660F94F333402F002EFD -:1088B000000C550BFA01EE0FFF1FE659F34F7183C1 -:1088C00060832091180D30E04217530711F00C948B -:1088D000874CCB010E94E2920E94596620E030E072 -:1088E00040EA52E40F94912B181614F40C94F94EAC -:1088F0000F9473190E9475EF60916C0970916D0966 -:10890000072E000C880B990B0F94982B2091680967 -:108910003091690940916A0950916B090F94E734CD -:10892000181614F40C94FD4EFF2011F40C94FD4E17 -:1089300011E00F94CD24112311F40C94874C6F2D6A -:10894000802F0E9433950C94874C8EE40E94D96648 -:10895000882309F4DCC70E94216660934019709354 -:1089600041198093421990934319D1C783E50E941E -:108970009066882331F060E083E50E949DB3809388 -:10898000710C0F949C188AE09AE00F94B3178091B1 -:10899000710C882369F130E0E32E3AE0F32E00E019 -:1089A00010E020E08091710C90E0A0E0B0E0002E9B -:1089B00004C0B695A795979587950A94D2F780FF3E -:1089C0000EC0DD24D394D20E222319F08CE20E9433 -:1089D0004253F701859194910F94B3172D2D0F5F9A -:1089E0001F4F32E0E30EF11C05301105D9F633CDEF -:1089F0008CEF99E02ECD83E50E94D966882371F033 -:108A00000E943166282F30E02D3331051CF480930D -:108A100000027DC78CE38093000279C70F949C18F5 -:108A20004091000250E060E070E081E19AE00F9434 -:108A300049188AE00E9442536AC78091710C83FDF5 -:108A400066C783E50E94D966882309F460C70E943F -:108A500059660F94F333CB010E94096658C7809181 -:108A6000710C83FD54C783E50E94D966182F8111CC -:108A70000C94024F82E50E94D96681110C94024F3A -:108A800046C70E9448E2182F87FD0AC086E39AE095 -:108A90000F94B317812F0E9442938AE00E944253A1 -:108AA0004CAD4093D1080C94DB4F83E50E94D9660E -:108AB000882309F42CC70E943166182F90E0CD97C7 -:108AC0000CF01CE31093C7080F94A41B6B017C01EE -:108AD000212F30E0A8EEB3E00F943B32C60ED71E34 -:108AE000E81EF91EC092C308D092C408E092C508DF -:108AF000F092C6080CC76091180D80E50E949DB3E6 -:108B0000182F823008F003C781E40E949066882302 -:108B100041F0E091180DF0E0E05FF24F608170E00D -:108B200002C06FEF70E083E50E9469E48F3F91051A -:108B300019F010F08FEF90E0BC01812F0F94E81234 -:108B4000E6C66091180D80E50E949DB360E070E07C -:108B50000F94E812DCC60E949BE3D9C60E94209DB8 -:108B60000F9473190E94C3F20E94F0501092140DDA -:108B70001092130D1092120D68EE73E080E090E0F9 -:108B80000F948417C4C61092CB08C1C683E50E9417 -:108B9000D966882399F00E94596620E030E04AE7C0 -:108BA00054E40F94F72B0F94FA33609301027093FF -:108BB00002028093030290930402A9C68091601977 -:108BC00084FF02C00C94374F8091621987FF02C066 -:108BD0000C94374F80916319837011F00C94374FC8 -:108BE0000C94684F83E50E949066882309F48FC631 -:108BF0000E94596620E030E04AE754E40F94F72BD6 -:108C00000F94FA336093CC087093CD088093CE080C -:108C10009093CF087CC60E9448E287FD78C6909169 -:108C2000601994FD04C09091621997FF0AC093EFF8 -:108C3000C92E92E0D92E22E2E22E2CE0F22E10E094 -:108C400009C090916319937091F7682F81E00E9499 -:108C500085E85DC6D6018D916D010E94D966882395 -:108C600009F459C0133009F04FC00E9459664B01F6 -:108C70005C0120E030E040EA51E40F94912B87FF43 -:108C80003AC0A50194016091420C7091430C80910F -:108C9000440C9091450C0F9481332B013C019B01B6 -:108CA000AC016091520C7091530C8091540C9091D6 -:108CB000550C0F94F72B6093520C7093530C8093C8 -:108CC000540C9093550C6091D10B7091D20B809104 -:108CD000D30B9091D40B0F94962BA30192010F9478 -:108CE000F72B0F94FA336093D10B7093D20B8093D0 -:108CF000D30B9093D40B8092420C9092430CA09291 -:108D0000440CB092450C07C00E945966F701648B71 -:108D1000758B868B978B1F5FF4E0EF0EF11C143080 -:108D200009F098CF0E94C67FF2C50E94ADD7EFC56B -:108D30008091441990914519009741F0DC012C91E4 -:108D4000222321F060E00E944CEFE1C50E9475EF04 -:108D5000DEC5009144191091451994E0F12C40E0D2 -:108D6000915021F1F8018081282F2B7F213421F4AB -:108D700021812133D9F407C08035C1F4818180532A -:108D80008A3048F013C0813421F0853421F441E069 -:108D900002C0FF24F39498012E5F3F4F89012F5F9B -:108DA0003F4FF80180818032C9F3DACF41110F942F -:108DB0009C18FF2021F085E49CE00F94B317C801B4 -:108DC0000E944D54A4C50E943AE1A1C581E0809360 -:108DD000A7098093A6090E948AE199C50E9448E2EA -:108DE000182F87FD94C584E40E949066882309F4B7 -:108DF0005BC00E9459666B017C0101E020E030E01D -:108E0000A9010F94912B811101C000E00093A019DA -:108E100020E030E0A901C701B6010F94912B88230F -:108E200009F442C00E94596624E01202F0011124A4 -:108E3000E755F64E608371838283938320E030E0B0 -:108E4000A9016091A9197091AA198091AB1990910B -:108E5000AC190F94912B81110CC080E090E0A0EE32 -:108E6000BFE38093A9199093AA19A093AB19B0936B -:108E7000AC1920E030E0A9016091AD197091AE19F4 -:108E80008091AF199091B0190F94912B81110CC062 -:108E900080E090E0A0EEBFE38093AD199093AE190F -:108EA000A093AF19B093B0190E9457F430C50E9437 -:108EB00048E287FD2CC5B3EFEB2EB2E0FB2E02E2B9 -:108EC0001CE082E3C82E8CE0D82ED7018D917D0165 -:108ED0000E949066882349F00E9459660F94FA33E5 -:108EE000F80160837183828393830C5F1F4FC016E8 -:108EF000D10659F70E94B8F00AC50E9448E287FDE2 -:108F000006C5F3EFEF2EF2E0FF2E02E21CE0A2E333 -:108F1000CA2EACE0DA2ED7018D917D010E949066B9 -:108F2000882339F00E945966F80164A375A386A3CB -:108F300097A30C5F1F4FC016D10669F7E8C40F94C2 -:108F4000F10BE5C473EFC72E72E0D72EEAEAEE2EDE -:108F5000E9E0FE2E10E0D6018D916D010E94906631 -:108F6000882351F00E945966F701608371838283E0 -:108F70009383812F0E94E2F71F5FF4E0EF0EF11C54 -:108F8000133049F70C946D3D0E94D0E7C0C483E5CF -:108F90000E94D966882309F4BAC40E94556690934A -:108FA000660280936502B3C40E9448E2F82E87FDF2 -:108FB000AEC483E50E94D9660F2D0F2C000C110B57 -:108FC000882369F10E945566F801EE0FFF1FE559ED -:108FD000FD4F91838083000F111F000F111F980117 -:108FE0002F5D3D4F7901BC01990F880B990B0F94B0 -:108FF000982B2AE037ED43E25CE30F94F72BF8015E -:10900000EF55F64E20813181428153810F94F72B29 -:10901000D7016D937D938D939C93139778C40F9490 -:109020009C1885E40E94425380E38F0D0E944253B6 -:10903000F801EE0FFF1FE559FD4F6081718189E452 -:109040009CE00F94781885E20E9442538AE00E94C7 -:1090500042535DC480E50E949066882309F457C49A -:1090600060E070E080E50E948EB3F82E6FEF7FEF36 -:1090700083E50E948EB38C010196039708F047C4E4 -:10908000F7FC45C48F2D0E94BF50882339F00F9400 -:10909000981881E59CE00F94B31739C40E942FF112 -:1090A00060E08F2D0E9485A70F3FBFEF1B0731F0B7 -:1090B0000130110571F000E010E00DC08F2D0E940D -:1090C0002DA731E020E0892B09F030E0032F122F8B -:1090D00002C001E010E08F2D0E942DA7801791079C -:1090E00009F415C480E00E946E54F5CF80E50E941B -:1090F0009066882309F40BC40E9455668C01892B65 -:1091000009F07FC083E50E949066882389F00E9461 -:1091100055668F3FEFEF9E0729F48CEB9BE10E9491 -:10912000FA50F5C3BC018CEB9BE10E94CA51EFC31E -:109130000F949C1860E070E089E79CE00F94781829 -:109140008091BE1B28E532E06901C81AD10887FD6D -:10915000D394CC0CDD1CCC0CDD1C0D2C000CEE08CB -:10916000FF088091BD1B28E830E04901881A91086A -:1091700087FD9394880C991C880C991C092C000C71 -:10918000AA08BB088091BC1B8F3FC1F090E0FC0196 -:10919000EE0FFF1F8E0F9F1FFC01E15BF44E21813C -:1091A000328183E0220F331F8A95E1F794E03695F0 -:1091B00027959A95E1F72E5F3F4F02C020E030E0FF -:1091C0002F5F3F4FC901330FAA0BBB0B9C01AD01B1 -:1091D000281939094A095B09A4EBB0E00F94283239 -:1091E000A7019601281939094A095B090F94093228 -:1091F000B90186E79CE00F9478188AE00E944253F8 -:1092000086C30F949818B8018FE69CE00F947818E5 -:1092100080E69CE00F94B3177AC38AE50E94D96672 -:10922000811159C683E50E94D966811154C66FC366 -:1092300060E085E40E949DB3811173C080E50E94C7 -:109240009066882351F00E94596660936F0970936D -:109250007009809371099093720989E40E94906665 -:10926000882381F00E9459662CEA35EC47E25EE3E0 -:109270000F94F72B609373097093740980937509A9 -:109280009093760984E40E949066882381F00E947E -:1092900059662CEA35EC47E25EE30F948133609324 -:1092A0007709709378098093790990937A090F94DC -:1092B0009C1840916F0950917009609171097091EB -:1092C00072098CEA9CE00F9467182CEA35EC47E2AF -:1092D0005EE36091730970917409809175099091B2 -:1092E00076090F948133AB01BC0188EA9CE00F94AE -:1092F00067182CEA35EC47E25EE3609177097091DC -:1093000078098091790990917A090F94F72BAB0134 -:10931000BC0184EA9CE00F9467188AE00E944253E3 -:10932000F6C20F94981882E99CE00F94B317EFC22D -:1093300080E50E949066882351F00E9459666093F0 -:10934000860970938709809388099093890989E435 -:109350000E949066882381F00E9459662CEA35ECC1 -:1093600047E25EE30F94F72B60938A0970938B09B1 -:1093700080938C0990938D0984E40E9490668823E1 -:1093800081F00E9459662CEA35EC47E25EE30F94C7 -:10939000813360938E0970938F0980939009909325 -:1093A00091090F949C18409186095091870960910A -:1093B00088097091890988EB9CE00F9467182CEA62 -:1093C00035EC47E25EE360918A0970918B098091E8 -:1093D0008C0990918D090F948133AB01BC0184EB12 -:1093E0009CE00F9467182CEA35EC47E25EE360914D -:1093F0008E0970918F0980919009909191090F9435 -:10940000F72BAB01BC0180EB9CE00F9467188AE05E -:109410000E9442537CC283E50E949066182F8823E5 -:1094200071F00E9459660F94F33370934A0260936F -:10943000490221E0672B09F020E02093700C80E5C1 -:109440000E949066882359F02091490230914A0287 -:10945000232B11F00E9445668093700C58C21111A5 -:1094600056C20F949C1888ED9CE00F94B31780911E -:10947000700C882319F080EC9CE002C08CEB9CE01F -:109480000F94B3176091490270914A0287EC9CE0F7 -:109490000F94781883EC9CE00F94B31738C20E94A5 -:1094A00026C935C20E942FF132C280E00E9479B1F4 -:1094B0000E9431B10E941CE02AC26FEF7FEF89E465 -:1094C0000E948EB3F82E6FEF7FEF8AE40E948EB376 -:1094D000E82E8AE50E949066182F811105C081E56B -:1094E0000E949066B82E01C0B12CF7FC06C0E7FCC4 -:1094F00004C0111109C0B11007C00F9498188AE078 -:109500009DE00F94B31703C2F4E0FF1510F0FE15B1 -:1095100038F40F9498188BEE9CE00F94B317F7C1B2 -:10952000CF2C0F2C000CDD080E2D0E2C000C110B77 -:109530000E945966BB2099F025E02C9DF0012D9DDD -:10954000F00D1124E00FF11FEE0FFF1FEE0FFF1FB4 -:10955000E653F64E208131814281538103C020E0E1 -:1095600030E0A9010F9487329B01AC0185E08C9D0E -:10957000F0018D9DF00D1124E00FF11FEE0FFF1F84 -:10958000EE0FFF1FE653F64E208331834283538351 -:109590006E2D8F2D0E94E1C7BAC10E9489A2811150 -:1095A000B6C10DEF11E329E13DE03DA32CA3CE01AF -:1095B00001964C0152E5A52E52E3B52E1C01F8018F -:1095C0006591759185919491ACA1BDA1CD90DD90EF -:1095D000ED90FD90BDA3ACA3A70196010F94863238 -:1095E0002B013C01F101608371838283938320E02E -:1095F00030E040EA51EC0F94E73487FD0AC020E0E8 -:1096000030E040EA51E4C301B2010F94912B1816E7 -:109610002CF4F501849118160CF4C2C4D101CD903C -:10962000DD90ED90FD901D0120E030E040EA51EC2E -:10963000C701B6010F94E73487FD0AC020E030E08F -:1096400040EA51E4C701B6010F94912B181664F457 -:109650000F94981888E49DE00F94B31761E08AE3B3 -:109660009DE00E94F1EE53C10C5F1F4FBFEFAB1A9C -:10967000BB0AE9E0F2E3E017F10709F0A0CF4AEAFC -:10968000E42E49E0F42E10E0F40181919191A19132 -:10969000B1914F01F70181939193A193B1937F0110 -:1096A000812F0E94E2F71F5F133071F70E941CE0C8 -:1096B00060E08AE29DE00E94F1EE29C10E94F1FC87 -:1096C00026C10E940DF823C181E08093B1190E9448 -:1096D000FEFD1092B119882309F419C10F949C184A -:1096E00086E69DE00F94B31712C18091D01D82FFD2 -:1096F0000EC180628093D01D0AC10E94A5D107C10E -:109700000E9448E2082F87FD02C185E50E9490660D -:109710008823B1F1E02E002E000CFF080E9459664C -:109720004B015C0120E030E0A9010F94E73487FF92 -:1097300004C0B7FAB094B7F8B094C70133E0880F0B -:10974000991F3A95E1F79C012654364E7901D901CB -:109750008D929D92AD92BC92139720E030E04AEF3B -:1097600053E4C501B4010F94E73418164CF480E0BB -:1097700090E0AAEFB3E4F70180839183A283B383DF -:109780008CE40E949066882309F4C1C0002E000C6E -:10979000110B0E9459666B017C0120E030E0A901A9 -:1097A0000F94E73487FF04C0F7FAF094F7F8F094C9 -:1097B00023E0000F111F2A95E1F70654164ED80139 -:1097C0001496CD92DD92ED92FC92179720E030E056 -:1097D0004AEF53E4C701B6010F94E73418160CF0B2 -:1097E00096C080E090E0AAEFB3E4F801848395830B -:1097F000A683B7838CC06091180D70E084E50E9449 -:109800008EB38C01823028F08AE99DE00F94B31763 -:109810007EC08BE40E94D966882349F10E94596674 -:109820006B017C0120E030E0A9010F94E73487FD53 -:1098300019C020E030E040E251E4C701B6010F94C6 -:10984000912B18167CF00E942FF1F801FF27EE0FE4 -:10985000FF1FEE0FFF1FE352F44FC082D182E2825E -:10986000F38255C08BE79DE00F94B31750C00F945F -:109870009C1881E79DE00F94B3170DED1BE0C12C00 -:10988000D12C760180E20E944253C701B6010E94AA -:10989000B6538DE30E944253D8016D917D918D9115 -:1098A0009D918D0142E00E94D253BFEFCB1ADB0A9B -:1098B000EB0AFB0AE2E0CE16D104E104F10411F454 -:1098C0000C942B42DFCF81E08093300210920E0D7A -:1098D00060E083E50E94E666811119C00E9466D0AF -:1098E00016C00E9443A213C0109164198091180DF4 -:1098F000181729F060E083E50E94E66601C081E068 -:10990000682F812F0E94B29602C00E9443A2229625 -:10991000FFAD2297F11102C00E94AED02CAD209372 -:10992000D10849C30E942FF13091310D3CAB80E04A -:109930000E94B96C0E946FDE81E08093A7090E94AB -:109940008AE188E50E949066182F89E50E9490665A -:10995000082F8AE50E9490661013BBC1181711F0FA -:10996000012FB7C101E011E091E09CA70E941766AA -:1099700082E50E94D966882361F00E9459666B01D6 -:109980007C0120E030E0A9010F94912B882369F13C -:1099900006C0C12CD12CE0E8EE2EE0E4FE2E111121 -:1099A00003C0002309F4FCC0C092AD0CD092AE0CF1 -:1099B000E092AF0CF092B00CA70196016091210DDE -:1099C0007091220D8091230D9091240D0F94912B75 -:1099D00087FF0BC019821A821B821C82BE016F5F37 -:1099E0007F4F8DEA9CE00E9471DF112309F4D3C000 -:1099F000002309F4CDC010921D0D10921E0D10927F -:109A00001F0D1092200D1092190D10921A0D109228 -:109A10001B0D10921C0D0E941AE0E2E5F2E3A491E6 -:109A2000A8AFE6E4F2E3C590D590E590F490EAE4BF -:109A3000F2E385909590A590B490A5019401C7019B -:109A4000B6010F94E73418162CF4A7019601C5014E -:109A5000B40104C0A5019401C701B6010F9481337C -:109A60002B013C01EDE0F2E385919591A591B49134 -:109A70008CA39DA3AEA3BFA3E9E0F2E385919591EA -:109A8000A591B49188A799A7AAA7BBA79C01AD01EE -:109A90006CA17DA18EA19FA10F94E734181634F418 -:109AA00028A439A49AA598AB1BA505C02CA03DA05D -:109AB000AEA1A8AB1FA1A3019201C301B2010F94F3 -:109AC000F72B20E030E040E85FE30F9487320F94FB -:109AD0003535910148A9512F0F94F72B68A379A32D -:109AE0008AA39BA3E3E5F2E3149120E030E040EC8D -:109AF0005FE3C501B4010F94F72B4B015C01612FAB -:109B0000110F770B880B990B0F94982B9B01AC01CD -:109B1000C501B4010F94F72B69837A838B839C83EF -:109B200020E030E040EC5FE3C701B6010F94F72B73 -:109B30006B017C01B8AD6B2FBB0F770B880B990BBA -:109B40000F94982B9B01AC01C701B6010F94F72B22 -:109B50006C8F7D8F8E8F9F8FAE01405E5F4FBE01F9 -:109B60006F5F7F4FCE014C960E944FDF0E9402F83C -:109B700010921D0D10921E0D10921F0D1092200DAF -:109B80001092190D10921A0D10921B0D10921C0DAF -:109B900080E00E94AFF6002319F081E00E94AFF64A -:109BA000ECA5EE2309F487C080E00E943D6C809113 -:109BB0003C1A8370833051F060E08DEC97E00E9496 -:109BC000F1EE0F949C188EEB97E071C00E941AE0A2 -:109BD0008091210D9091220DA091230DB091240D23 -:109BE0008093AD0C9093AE0CA093AF0CB093B00CDF -:109BF0002091C10C3091C20C4091C30C5091C40C07 -:109C000060E070E088E492E40F9486326B017C019E -:109C10006093A50C7093A60C8093A70C9093A80C4E -:109C20002091C50C3091C60C4091C70C5091C80CC6 -:109C300060E070E08CE892E40F9486324B015C01A6 -:109C40006093A90C7093AA0C8093AB0C9093AC0C0E -:109C500027E137EB41ED58EB0F94E73487FD1EC049 -:109C600023E030E04AE953E4C501B4010F94912B9D -:109C70001816A4F027E137EB41ED58EBC701B60108 -:109C80000F94E73487FD0AC023E030E84DE953E440 -:109C9000C701B6010F94912B1816ECF460E08DEA21 -:109CA00097E00E94F1EE0F949C188BE997E00F94D7 -:109CB000B3170E9431B10E941AE08091A6098093E7 -:109CC000A7098CA90E94B96C0E9456DE0E941CE074 -:109CD0001ECE8CA74BCE19821A821B821C82AE012B -:109CE0004F5F5F4F69EA7CE085EA9CE00E944FDFAE -:109CF00082E00E94AFF6DDCF61E081E998E00E944A -:109D00003B678CE198E00E941FD961E082EB91E310 -:109D10000E943B678DE098E00F94AA05B1100C9467 -:109D2000FE400C94F74080E00E946E540C942A414F -:109D300088E50E94906681115F9889E50E9490668F -:109D400081118A988AE50E949066882329F0809183 -:109D5000080181708093060185E40E949066882343 -:109D600009F4D5CD12984798D2CD60E084E199E00E -:109D70000E94F1EE5F988A9880910801817080932B -:109D8000060112984798C3CD0E942166AB01BC0121 -:109D90004093CC1D5093CD1D6093CE1D7093CF1D6D -:109DA0008BED9AE10E94998AB2CD61E0802F0E94EA -:109DB00085A76F2D802F0E9456A76F2D70E0802FF2 -:109DC0000F94821A47E0E41203C0F092110D9FCD68 -:109DD00089E0E8129CCDF092100D99CD0E94316679 -:109DE00090E08536910514F084E690E08093871921 -:109DF0008ECD0F94C3180C947C44802F0E94249322 -:109E00000C9498440E9459660F94F333CB010E943E -:109E100009660E94596620E030E040EA50E40F9461 -:109E2000E734181614F40F94C318609183097091E5 -:109E30008409072E000C880B990B0F94982B209106 -:109E40007F093091800940918109509182090F94D6 -:109E5000E73418161CF487E29AE002C088E19AE021 -:109E600060E00E94F1EE812F0E94B49350CD0E94D9 -:109E70002FF188E50E949066882331F05F9A8091E7 -:109E80003C1A8E7F80933C1A89E50E949066882355 -:109E900031F08A9A80913C1A8D7F80933C1A8AE532 -:109EA0000E949066882359F0809108018095817006 -:109EB0008093060180913C1A8B7F80933C1A85E445 -:109EC0000E949066882309F422CD0E94BC501FCDC9 -:109ED0000E94C3F21CCD0E94596620E030E040E0B1 -:109EE00050EC0F94912B87FD15C00E94596620E01D -:109EF00030E040E050E40F94E73418162CF00E9454 -:109F000059666B017C010BC0C12CD12CE12C10E4F3 -:109F1000F12E05C0C12CD12CE12CB0ECFB2E2091F0 -:109F20003E0C30913F0C4091400C5091410CC701C8 -:109F3000B6010F94F72B0F94F333CB010F94F9076D -:109F400080E50E949066882329F00E944566882358 -:109F500009F4DDCCA70196016091C90C7091CA0C7F -:109F60008091CB0C9091CC0C0F9487326093C90CEC -:109F70007093CA0C8093CB0C9093CC0C0F949C18CC -:109F80004091C90C5091CA0C6091CB0C7091CC0CD3 -:109F900081E89CE00F9467188AE00E944253B7CC96 -:109FA000F7FAF094F7F8F094D101CD92DD92ED92AA -:109FB000FC92139733CBCF5BDF4F0FB6F894DEBF25 -:109FC0000FBECDBFDF91CF911F910F91FF90EF900A -:109FD000DF90CF90BF90AF909F908F907F906F90C9 -:109FE0005F904F903F902F900895CF92DF92EF9225 -:109FF000FF920F931F93CF93DF936C018B017A0134 -:10A00000EC01C952D74F888187FF04C0FB01118240 -:10A01000108224C02CE02C9DC0012D9D900D112498 -:10A020002881AC01420F511D27FD5A952091BB1B81 -:10A0300030E04217530794F42881AC01420F511DC0 -:10A0400027FD5A959A01FA01EE0FFF1F2E0F3F1FB1 -:10A05000F901E15BF44E208127FD19C088818F5FF3 -:10A0600088832CE02C9DC0012D9D900D112428810A -:10A07000AC01420F511D27FD5A952091BB1B30E0CA -:10A0800042175307BCF428812C3044F113C02881B7 -:10A09000820F911D27FD9A95FC01EE0FFF1F8E0F79 -:10A0A0009F1FFC01E15BF44E808160E08F770E948E -:10A0B00056A7D4CFF80180819181049680349C49C1 -:10A0C00018F480E49CE904C0F80180819181049631 -:10A0D000F701918380838FEF888345C0F801408129 -:10A0E00051812881BC01620F711D27FD7A959B016A -:10A0F000FB01EE0FFF1F2E0F3F1FF901E15BF44E36 -:10A1000021813281240F351FF7013183208328817B -:10A11000AC01420F511D27FD5A959A01FA01EE0F2D -:10A12000FF1F2E0F3F1FF901E15BF44E208127FF37 -:10A130001AC02881820F911D27FD9A95FC01EE0F10 -:10A14000FF1F8E0F9F1FFC01E15BF44E808161E0D9 -:10A150008F77DF91CF911F910F91FF90EF90DF905C -:10A16000CF900C9456A7DF91CF911F910F91FF9044 -:10A17000EF90DF90CF900895129A479A0895FF923A -:10A180000F931F93CF93DF931F92CDB7DEB7F82EB7 -:10A190000CEC1DE041E050E0B801CE0101960F94B7 -:10A1A000CB2A89818F1102C081E007C00F5F1F4F4A -:10A1B0008DE0083E180771F780E00F90DF91CF9196 -:10A1C0001F910F91FF9008958091DA08811107C0C7 -:10A1D0000E94F1FC882319F081E08093DA08089549 -:10A1E00060E070E080E00F94E81260E070E081E0F1 -:10A1F0000D94E812DC01EC91F0E0CF01880F991F7B -:10A20000E80FF91FE15BF44E80818F77808308951A -:10A210008F929F92AF92BF92CF92DF92EF92FF9276 -:10A220000F93CF93DF931F92CDB7DEB75C016B0125 -:10A230007A014901F501808191810F94C1318983AF -:10A24000002311F0F6018083BE016F5F7F4FC401D0 -:10A250000F949B04F5018081918101969183808305 -:10A26000FFEFCF1ADF0A81E0E81AF10819F780E062 -:10A270000F90DF91CF910F91FF90EF90DF90CF90F3 -:10A28000BF90AF909F908F9008957F928F929F92F2 -:10A29000AF92BF92CF92DF92EF92FF920F931F93F4 -:10A2A000CF93DF931F92CDB7DEB77C0159018B01AD -:10A2B0006B01C40ED51E0C151D0559F1F7018080E8 -:10A2C0009180F80171908F017982C4010F94C1319E -:10A2D000781691F0672DC4010F94C931C4010F9411 -:10A2E000C1319981891741F00F949C1882EB9DE050 -:10A2F0000F94B31781E00EC0BE016F5F7F4FC501A1 -:10A300000F949B04F7018081918101969183808352 -:10A31000D2CF80E00F90DF91CF911F910F91FF90EE -:10A32000EF90DF90CF90BF90AF909F908F907F90F5 -:10A330000895009781F41092900082E0809391003C -:10A340001092950010929400C19A809171008260E1 -:10A350008093710008958130910569F41092A000F6 -:10A3600082E08093A1001092A5001092A40089BB06 -:10A37000809372000895029761F41092200182E0A8 -:10A380008093210110922501109224018ABB8093B1 -:10A39000730008957F928F929F92AF92BF92CF9257 -:10A3A000DF92EF92FF920F931F93CF93DF93FC0105 -:10A3B0009081943208F0CEC06B017F01892F90E02C -:10A3C000FC01EE0FFF1F8E0F9F1FFC01E15BF44E9F -:10A3D000808161E08F770E9485A7F7011182128248 -:10A3E00080816CE00F944A32FCE08F9FB001112411 -:10A3F00040E050E09B01240F351FF901EE0FFF1FD5 -:10A400002E0F3F1FF901E15BF44E908197FD08C0CC -:10A410004F5F5F4F4C30510569F790E00E949951B2 -:10A42000F7017080C72DD0E08E01000F111FF801D9 -:10A43000EC0FFD1FE15BF44E80818068808377FC28 -:10A4400089C0F0E2CF16F2E0DF060CF041C0F70160 -:10A45000828128E532E0281B310987FD3395220FE0 -:10A46000331F220F331F032E000C440B550B818129 -:10A4700068E870E04B01881A910887FD9394880C76 -:10A48000991C880C991C092C000CAA08BB08D7FC45 -:10A490000BC0B601653B710514F064EB70E0072E4C -:10A4A000000C880B990B03C060E070E0CB01281909 -:10A4B00039094A095B090F94D73124EB30E040E0B9 -:10A4C00050E00F940932820E931EA41EB51E01C0E7 -:10A4D0004601F3E2F71558F1F701218188E890E091 -:10A4E000821B910927FD9395880F991F880F991F4B -:10A4F0008816990684F0F701228188E592E0821B94 -:10A50000910927FD9395880F991F880F991F881629 -:10A5100099060CF4C40102972FB7F894C00FD11F0D -:10A52000C15BD44E880F991F9A8389832FBF62E342 -:10A5300070E080E090E0DF91CF911F910F91FF904C -:10A54000EF90DF90CF90BF90AF909F908F907F90D3 -:10A550000D948417DF91CF911F910F91FF90EF9091 -:10A56000DF90CF90BF90AF909F908F907F90089595 -:10A570001F920F920FB60F9211240BB60F922F93CA -:10A580003F934F935F936F937F938F939F93AF937B -:10A59000BF93EF93FF9348E251E064E271E082E001 -:10A5A00090E00E94F54FFF91EF91BF91AF919F9185 -:10A5B0008F917F916F915F914F913F912F910F906C -:10A5C0000BBE0F900FBE0F901F9018951F920F9209 -:10A5D0000FB60F9211240BB60F922F933F934F9308 -:10A5E0005F936F937F938F939F93AF93BF93EF93FB -:10A5F000FF9348EA50E064EA70E081E090E00E9456 -:10A60000F54FFF91EF91BF91AF919F918F917F9106 -:10A610006F915F914F913F912F910F900BBE0F90D3 -:10A620000FBE0F901F9018951F920F920FB60F92AA -:10A6300011240BB60F922F933F934F935F936F9319 -:10A640007F938F939F93AF93BF93EF93FF9348E9CB -:10A6500050E064E970E080E090E00E94F54FFF91E7 -:10A66000EF91BF91AF919F918F917F916F915F918A -:10A670004F913F912F910F900BBE0F900FBE0F90F7 -:10A680001F9018959091C00095FFFCCF8093C60055 -:10A6900008958F929F92AF92BF92EF92FF920F9385 -:10A6A0001F93CF93DF93CDB7DEB7A0970FB6F89483 -:10A6B000DEBF0FBECDBF611571058105910591F11A -:10A6C00000E0842E912CA12CB12C102FEE24E394C9 -:10A6D000F12CEC0EFD1EE00EF11C07FDFA94A50115 -:10A6E00094010F94E731F7016083B901CA010F5F4C -:10A6F000611571058105910541F71F3F31F1E1E0D9 -:10A70000F0E0EC0FFD1FE10FF11D17FDFA958081C0 -:10A710008A3010F097E301C090E3890F0E94425302 -:10A720001150EBCF80E3A0960FB6F894DEBF0FBEBA -:10A73000CDBFDF91CF911F910F91FF90EF90BF9010 -:10A74000AF909F908F900C944253A0960FB6F894C0 -:10A75000DEBF0FBECDBFDF91CF911F910F91FF9054 -:10A76000EF90BF90AF909F908F900895CF92DF921F -:10A77000EF92FF926B017C0197FF0BC08DE20E946C -:10A780004253F094E094D094C094C11CD11CE11CBD -:10A79000F11C4AE0C701B601FF90EF90DF90CF9027 -:10A7A0000C9449538F929F92AF92BF92CF92DF92B7 -:10A7B000EF92FF92CF936B017C01B42E20E030E04A -:10A7C000A9010F94912B87FF07C08DE20E9442538D -:10A7D000F7FAF094F7F8F094C0E060E070E080E001 -:10A7E0009FE3CB1541F02DEC3CEC4CEC5DE30F947A -:10A7F000F72BCF5FF6CF9B01AC01C701B6010F94D9 -:10A8000087326B017C010F94FA334B015C014AE003 -:10A810000E944953CC2389F1C501B4010F94962BB2 -:10A820009B01AC01C701B6010F9486326B017C011C -:10A830008EE20E94425320E030E040E251E4C70142 -:10A84000B6010F94F72B4B015C010F94F3336B01AE -:10A85000770FEE08FF08C701B6010E94B653C70183 -:10A86000B6010F94982B9B01AC01C501B4010F9464 -:10A8700086326B017C01C150F1F6CF91FF90EF90D1 -:10A88000DF90CF90BF90AF909F908F9008958DE014 -:10A890000E9442538AE00C944253CF93DF93EC0121 -:10A8A0008991882319F00E944253FACFDF91CF910A -:10A8B0000C9447548091BC189091BD18981759F08A -:10A8C000E92FF0E0E454F74E82819F5F9F779093E9 -:10A8D000BD1890E008958FEF9FEF08952F923F925B -:10A8E0004F925F926F927F928F929F92AF92BF92A0 -:10A8F000CF92DF92EF92FF920F931F93CF93DF934C -:10A90000CDB7DEB728970FB6F894DEBF0FBECDBF28 -:10A91000E82E0E946B1D0F94A41B4B015C018091DB -:10A920000002882359F18091D108882339F14091A0 -:10A93000DB085091DC086091DD087091DE0895011C -:10A940008401041B150B260B370B37FD2AC08330FF -:10A9500079F03CF4813094F00F949C1887E19EE0EC -:10A960000BC0843059F40F949C1888EE9DE004C00D -:10A970000F949C1880E09EE00F94B3172091000282 -:10A9800030E0A8EEB3E00F943B32860E971EA81E6F -:10A99000B91E8092DB089092DC08A092DD08B0928C -:10A9A000DE0880913A0B843008F07FC20F94A41B1C -:10A9B0004B015C0180913A0B81111DC08091BC1844 -:10A9C0009091BD18891B8F77B1F4809144099091C3 -:10A9D0004509A0914609B0914709A5019401281B9A -:10A9E000390B4A0B5B0BDA01C901885E9340A10960 -:10A9F000B109B7FF71C570E6F72E80913A0B84302C -:10AA000008F036C18091BC189091BD18891B8F77D2 -:10AA100009F42EC10E945A54AC0197FDEECF20914B -:10AA20003E1930913F198A3019F08D3009F0E8C095 -:10AA3000109243092115310519F40F94E10EDDCF71 -:10AA4000F901ED51F74F108210923F1910923E1903 -:10AA500003EE18E0F8018191803211F48F01FACFF2 -:10AA60008E3409F07AC00115110509F476C060E54D -:10AA70007FE0C8010F940F2B6C01892B41F06EE42D -:10AA800070E0C80104960F94DA35009709F4C80104 -:10AA90004AE050E060E070E001960F9487286093F0 -:10AAA000DF087093E0088093E1089093E2084090FB -:10AAB00040195090411960904219709043193FEF2E -:10AAC000431A530A630A730A6415750586059705C8 -:10AAD00031F0CD2821F460E08DE19FE0C7C06AE24B -:10AAE00070E0C8010F9409369C01009709F1982F76 -:10AAF000901BD12C992339F09150F801E90FF11DE9 -:10AB00008081D826F7CF4AE050E060E070E0C901CC -:10AB100001960F9487284D2C512C612C712C6415B3 -:10AB200075058605970541F060E08EEF9EE09EC0BA -:10AB300060E084ED9EE09AC08091DF089091E0088B -:10AB4000A091E108B091E2088093401990934119D7 -:10AB5000A0934219B093431912C08091D01D80FF79 -:10AB60000EC06CEC70E1C8010F940F2B009709F434 -:10AB70007AC0FC01838180538A3008F474C08091CC -:10AB8000300281111CC067E470E0C8010F94DA350F -:10AB90000097A9F04AE050E060E070E001960F9461 -:10ABA0008728643071058105910548F483E39EE0B0 -:10ABB0000F94B31760E089E29EE00E94F1EE80926C -:10ABC000440990924509A0924609B09247098091A4 -:10ABD000E3088B3309F411CF80913A0B843008F0ED -:10ABE0000CCF8091B609F89EC001112463EE78E085 -:10ABF0008754964F0F94E53581E00E9403D1FDCE36 -:10AC00002F3531050CF0F9CE8C35C1F40E945A5421 -:10AC100097FDF3CE209143092111EFCE20913E19EB -:10AC200030913F19A9014F5F5F4F50933F194093F7 -:10AC30003E19F901ED51F74F8083DFCE8B3321F4BC -:10AC400081E080934309D9CE809143098111D5CE0B -:10AC5000C901019690933F1980933E19F901ED5176 -:10AC6000F74F4083CACE60E08AEA9EE00E9482D01D -:10AC70008091D01D82FF19C180913A0B811102C0D1 -:10AC800010924909DD24D3944091CC1D5091CD1DE3 -:10AC90006091CE1D7091CF1D8091C81D9091C91DEE -:10ACA000A091CA1DB091CB1D481759076A077B07B1 -:10ACB00008F4D12C00E010E0CC24C39440E6B42E7C -:10ACC00054E6A52E69E6962E80913A0B843008F062 -:10ACD000ECC0D110EAC0809149098111E6C0809191 -:10ACE000E31A9091E41AA091E51AB091E61A8093C4 -:10ACF000CC1D9093CD1DA093CE1DB093CF1D41E0F0 -:10AD000050E0BE016F5F7F4F8BED9AE10E947E8E17 -:10AD1000019719F4898190E002C08FEF9FEFF82E20 -:10AD20004090CC1D5090CD1D6090CE1D7090CF1DD9 -:10AD30004091C81D5091C91D6091CA1D7091CB1DD5 -:10AD4000DD24D394441655066606770608F4D12C04 -:10AD50004416550666067706B0F4019609F461C0FC -:10AD60002AE0F21609F46EC03DE0F31609F46AC059 -:10AD700043E2F41619F05AE3F5127CC080914809B9 -:10AD8000811178C054C00E942FF18BED9AE10E948E -:10AD9000058E8091C71D882339F181508093C71D8E -:10ADA000989EC001112441E061E08E5B944F0E94A7 -:10ADB0002661E091C71D64E0E69FF0011124E25C8A -:10ADC000F44F40815181628173814093CC1D509337 -:10ADD000CD1D6093CE1D7093CF1D8BED9AE10E9427 -:10ADE000998A0E94DB5D16C00E94CA5D0E94C3F270 -:10ADF0000F9473190E94A1ED6D33710581059105C2 -:10AE000018F48BE59FE002C080E69FE00E944AD1E3 -:10AE1000A09287198091D01D82FD0DC083E79FE02D -:10AE200004C00F94981884E69FE00F94B31773E260 -:10AE3000F71208C005C053E2F5125BC300E010E052 -:10AE4000C0924909109248090115110519F40F948F -:10AE5000E10E0DC08091B609B89E000D111D1124A0 -:10AE6000F801E754F64F108280E00E9403D100E021 -:10AE700010E02ACF0F35110508F026CF8BE3F8122A -:10AE800003C0C092480920CF8091480981111CCF8E -:10AE90008091B609F801B89EE00DF11D1124E75428 -:10AEA000F64FF0820F5F1F4F0FCF0F94A41B4B0183 -:10AEB0005C014091CC085091CD086091CE08709112 -:10AEC000CF08411551056105710529F18091341AAA -:10AED0009091351AA091361AB091371A840F951FA8 -:10AEE000A61FB71F95018401081B190B2A0B3B0BEA -:10AEF00037FD11C00F9498186091160D7091170DC1 -:10AF000087E89FE00F9485188AE00E94425380E012 -:10AF100090E00F94AA0540910102509102026091C5 -:10AF2000030270910402411551056105710509F490 -:10AF30004EC09091C21B8091C31B981759F00F947B -:10AF4000A41B6093341A7093351A8093361A909329 -:10AF5000371A3DC080913D0B811137C0E11035C0DB -:10AF60008091341A9091351AA091361AB091371AFF -:10AF7000840F951FA61FB71FA5019401281B390B2D -:10AF80004A0B5B0B57FD21C080915A0981111FC0EC -:10AF900081E080935A095F9A80913C1A8E7F80935A -:10AFA0003C1A8A9A80913C1A8D7F80933C1A80913A -:10AFB0000801809581708093060180913C1A8B7FF7 -:10AFC00080933C1A0E94BC5002C010925A09809192 -:10AFD000560990915709A0915809B0915909B501A6 -:10AFE000A401481B590B6A0B7B0B77FDBDC19091E7 -:10AFF000C21B8091C31B6091290230912A029813D1 -:10B0000018C08091100D869F80011124B801660F31 -:10B01000672F661F770B7195062F8091110D839F07 -:10B02000B0011124660F672F661F770B7195162FDD -:10B0300029C08091C31B54E5859FC00111248C5405 -:10B040009D4EFC01EE5AFF4F2081269FB001112436 -:10B05000660F672F661F770B7195062F31968081DB -:10B06000839FB0011124660F672F661F770B7195C0 -:10B07000162F8091C31B9091C21B981719F08F5FF8 -:10B080008F70F9CF002331F10F94A41BC0904E09AB -:10B09000D0904F09E0905009F0905109DC01CB01AC -:10B0A000C114D104E104F10469F48C599F4FAF4FEE -:10B0B000BF4F80934E0990934F09A0935009B093CE -:10B0C000510906C08C199D09AE09BF09B7FF0AC016 -:10B0D0000FEF08C010924E0910924F0910925009BC -:10B0E00010925109602F70E089E00F94821A1123A9 -:10B0F00031F10F94A41BC0905209D0905309E090F5 -:10B100005409F0905509DC01CB01C114D104E104CC -:10B11000F10469F48C599F4FAF4FBF4F8093520990 -:10B1200090935309A0935409B093550906C08C1904 -:10B130009D09AE09BF09B7FF0AC01FEF08C01092F2 -:10B140005209109253091092540910925509612F17 -:10B1500070E087E00F94821A80911D0C882309F417 -:10B16000F6C0E0901902F0901A0200911B021091B3 -:10B170001C0260916C0970916D096E5F7F4F072E04 -:10B18000000C880B990B0F94982B9701A8010F9432 -:10B19000912B87FDDCC03090C31B212C1A821B82AF -:10B1A0001C828091C21B831509F467C0832D90E037 -:10B1B00064E5689FF001699FF00D1124EC54FD4E89 -:10B1C000458956896789708D452B462B472B89F415 -:10B1D000418D528D638D748D452B462B472B49F441 -:10B1E000458D568D678D70A1452B462B472B09F455 -:10B1F0003FC074E5789F9001799F300D1124C901FB -:10B200008C549D4E6C01FC0161817281838194811B -:10B210000F9435352B013C01F60161A172A183A188 -:10B2200094A10F94962B6D837E838F839887F6016C -:10B2300065A176A187A190A50F94962B9B01AC01E7 -:10B240006D817E818F8198850F948133A301920156 -:10B250000F94F72B3B016C01222D3A814B815C81CD -:10B260000F94E734181624F4262C7A82CB82DC82E1 -:10B2700081E0830D8F70382E94CF20911D02309184 -:10B280001E0240911F0250912002622D7A818B8113 -:10B290009C810F94F72B9701A8010F9487323B01F3 -:10B2A0006C012090150230901602409017025090C9 -:10B2B00018029B01AC01B701C8010F94E7341816BE -:10B2C0006CF09101A201B301C6010F94E734181686 -:10B2D0001CF47101820102C07301860140904A0989 -:10B2E00050904B0960904C0970904D099701A8014E -:10B2F000C301B2010F94E7341816C4F420E037ED0F -:10B3000043EA5CE3B701C8010F94F72B6B017C01A2 -:10B3100028E431EE4AE75FE3C301B2010F94F72B53 -:10B32000A70196010F9487327B018C01C701D801D8 -:10B3300080934A0990934B09A0934C09B0934D090F -:10B34000B701C8010F94F333CB010E94E292F4E6F7 -:10B350008F0E911CA11CB11C809256099092570926 -:10B36000A0925809B09259090F94E10E8091AD1E38 -:10B37000813009F06EC00F94A41B6B017C01809199 -:10B380005F0990916009A0916109B09162099701EC -:10B390008601081B190B2A0B3B0B37FD3AC0809026 -:10B3A000AE1E9090AF1EA090B01EB090B11E0E9435 -:10B3B000A1ED6093AE1E7093AF1E8093B01E90936C -:10B3C000B11E00919A0910919B0920919C0930911E -:10B3D0009D09081919092A093B09DC01CB01800FD5 -:10B3E000911FA21FB31F80939A0990939B09A0936A -:10B3F0009C09B0939D09D701C601805F984DAF4F5E -:10B40000BF4F80935F0990936009A0936109B09347 -:10B41000620980915B0990915C09A0915D09B091EE -:10B420005E09A7019601281B390B4A0B5B0B57FDE0 -:10B4300010C030E8C30E3EEED31EE11CF11CC092DA -:10B440005B09D0925C09E0925D09F0925E090F946D -:10B450004D198091C708882391F00F94A41B009187 -:10B46000C3081091C4082091C5083091C608DC01BA -:10B47000CB01801B910BA20BB30BB7FF3DC00F9408 -:10B48000A41B6B017C012091C208222309F453C044 -:10B490008091BE089091BF08A091C008B091C108EA -:10B4A000B701A601481B590B6A0B7B0B77FD43C004 -:10B4B00030E0A8EEB3E00F943B32C60ED71EE81E74 -:10B4C000F91EC092BE08D092BF08E092C008F09268 -:10B4D000C1080E94A35D2FC085E59FE00F94B317BC -:10B4E0008092440990924509A0924609B09247097A -:10B4F00082CA10924809ABCC0F94A41B6B017C014B -:10B500002091C70830E0A8EEB3E00F943B32C60E9E -:10B51000D71EE81EF91EC092C308D092C408E0925C -:10B52000C508F092C6088091180D0E9442938AE0E7 -:10B530000E944253A4CF28960FB6F894DEBF0FBEE8 -:10B54000CDBFDF91CF911F910F91FF90EF90DF90D2 -:10B55000CF90BF90AF909F908F907F906F905F90B3 -:10B560004F903F902F9008951F920F920FB60F9219 -:10B5700011240F900FBE0F901F9018951F920F92DD -:10B580000FB60F9211240BB60F920F931F932F93A8 -:10B590003F934F935F936F937F938F939F93AF935B -:10B5A000BF93CF93DF93EF93FF930091BD18D0919A -:10B5B000BC1811E01D0F1F77C091C6009091D608EE -:10B5C000492F092E000C550B660B770B41315105A5 -:10B5D00008F064C0FA018827E256FF4F8F4F0D94A0 -:10B5E0007E32CD3449F0CE34B9F481E006C0CA339E -:10B5F00038F0CD3409F043C082E08093D60876C09D -:10B60000C03308F073C0C03209F470C0CD32B9F550 -:10B610006DC0C13351F018F4C03289F567C0C4332E -:10B6200031F0C83361F58BE0E8CF83E0E6CF88E006 -:10B63000E4CFC03321F0C13311F586E0DECF84E0E2 -:10B64000DCCFC833E1F485E0D8CFC233C1F487E062 -:10B65000D4CFC133A1F489E0D0CFC03381F48AE0E4 -:10B66000CCCFC73361F48CE0C8CFC63341F48DE052 -:10B67000C4CFC032D9F1C33511F48EE0BECF80E122 -:10B68000BCCF80ED8C0F8A3088F59FE09093D60870 -:10B690008093D5082BC0CA3049F526C0CA3031F591 -:10B6A0008091B61C882301F1973089F03CF49530E5 -:10B6B000D9F4109214021092861916C09A3059F0DB -:10B6C0009F3091F48091D5080E9497670DC081E06A -:10B6D00080933A1E09C00E9419F30E942FF18EEF49 -:10B6E0000E94ACDF0E941AE01092D608011731F0D8 -:10B6F000ED2FF0E0E454F74EC283D12FD093BC1865 -:10B70000FF91EF91DF91CF91BF91AF919F918F9179 -:10B710007F916F915F914F913F912F911F910F9169 -:10B720000F900BBE0F900FBE0F901F9018958EBDFF -:10B730000DB407FEFDCF08958FEF8EBD0DB407FE4B -:10B74000FDCF8EB50895909164009B7F9093640027 -:10B75000982F906A96959CBD80FD03C091E086303D -:10B7600009F490E09DBD0895CF92DF92EF92FF9291 -:10B770000F931F93CF93DF936C017A018B01C0E08D -:10B78000D0E0CE15DF0581F0D8016D918D01D60195 -:10B79000ED91FC910190F081E02DC6011995892B66 -:10B7A00011F02196EECF7E01C701DF91CF911F915D -:10B7B0000F91FF90EF90DF90CF900895089580E073 -:10B7C00090E00895FC01538D448D252F30E0842FA7 -:10B7D00090E0821B930B541710F0CF9608950197B9 -:10B7E0000895FC01918D828D981761F0828DDF01A3 -:10B7F000A80FB11D5D968C91928D9F5F9F73928F64 -:10B8000090E008958FEF9FEF0895FC01918D828D58 -:10B81000981731F0828DE80FF11D858D90E0089525 -:10B820008FEF9FEF0895FC01918D228D892F90E07D -:10B83000805C9F4F821B91098F73992708958EE337 -:10B840009AE10E94135C21E0892B09F420E0822F09 -:10B850000895FC01848DDF01A80FB11DA35ABF4FCD -:10B860002C91848D90E001968F739927848FA689FF -:10B87000B7892C93A089B1898C91837080648C9353 -:10B88000938D848D981306C00288F389E02D808102 -:10B890008F7D80830895EF92FF920F931F93CF9334 -:10B8A000DF93EC0181E0888F9B8D8C8D981305C010 -:10B8B000E889F989808185FD26C0F62E0B8D10E080 -:10B8C0000F5F1F4F0F731127E02E8C8DE8120CC0F5 -:10B8D0000FB607FCFACFE889F989808185FFF5CF9B -:10B8E000CE010E94295CF1CF8B8DFE01E80FF11D86 -:10B8F000E35AFF4FF0829FB7F8940B8FEA89FB89D8 -:10B90000808180620AC09FB7F894EE89FF896083C6 -:10B91000E889F98980818370806480839FBF81E09A -:10B9200090E0DF91CF911F910F91FF90EF900895DC -:10B93000CF93DF93EC01888D8823C9F0EA89FB89D6 -:10B94000808185FD05C0A889B9898C9186FD0FC0CD -:10B950000FB607FCF5CF808185FFF2CFA889B989A2 -:10B960008C9185FFEDCFCE010E94295CE7CFDF915E -:10B97000CF91089580E090E0892B41F080E090E045 -:10B98000892B21F00E940000811121C080E090E00D -:10B99000892B41F080E090E0892B21F00E9400008B -:10B9A000811118C080E090E0892B21F00E941F5C7B -:10B9B000811113C080E090E0892BA1F080E090E03D -:10B9C000892B81F00E94000081110AC008950E9415 -:10B9D0000000DCCF0E940000E5CF0E940000EACF0B -:10B9E0000C9400000895FC0120E03EE2DB014C9144 -:10B9F000403241F0283011F430833196DB014C9114 -:10BA0000408331962F5F6F5F7F4F2B3079F7108225 -:10BA100008950F9499350F931F93CF93DF938B0164 -:10BA2000EA01DB016D917C910E949F8BD801ED9121 -:10BA3000FC91119790818881992349F0893638F4D7 -:10BA40003196ED93FC9388818F5F8883EFCF8936A1 -:10BA500058F48FE28083F80180819181019691836F -:10BA6000808388818F5F8883DF91CF911F910F91B1 -:10BA700008951F920F920FB60F9211240BB60F92DA -:10BA80002F933F934F935F936F937F938F939F93E6 -:10BA9000AF93BF93EF93FF938EE39AE10E94295CEB -:10BAA000FF91EF91BF91AF919F918F917F916F9196 -:10BAB0005F914F913F912F910F900BBE0F900FBE52 -:10BAC0000F901F9018951F920F920FB60F9211248E -:10BAD0000BB60F922F938F939F93EF93FF93E09169 -:10BAE0004E1AF0914F1A8081E091541AF091551A34 -:10BAF00082FD12C090818091571A8F5F8F732091C1 -:10BB0000581A821751F0E091571AF0E0E25CF54EB6 -:10BB1000958F8093571A01C08081FF91EF919F917B -:10BB20008F912F910F900BBE0F900FBE0F901F9013 -:10BB300018958BE1E4E3FBE1A9E1BBE101900D92F3 -:10BB40008A95E1F708958091D01D82FF1FC08CE493 -:10BB500092E10F94B3176091CC1D7091CD1D80912F -:10BB6000CE1D9091CF1D4AE00E9449538FE20E9462 -:10BB700042536091C81D7091C91D8091CA1D90915A -:10BB8000CB1D4AE00E9449530C9447548EE592E144 -:10BB90000D94B31710923D0B8091D01D8F7D8B7F3C -:10BBA0008093D01D0E9458D0882321F08BED9AE11C -:10BBB0000C94058E08958091D01D83FF03C084608E -:10BBC0008093D01D0895CF92DF92EF92FF920F9352 -:10BBD0001F93CF93DF93CDB7DEB7EDB6FEB6DC0192 -:10BBE0000D900020E9F79D01281B390B2C5F3F4F7A -:10BBF0004DB75EB7421B530B0FB6F8945EBF0FBE36 -:10BC00004DBF0DB71EB70F5F1F4F9F938F9388E4F3 -:10BC100091E19F938F931F930F930F94292B6801AA -:10BC200054E0C50ED11C0F900F900F900F900F9005 -:10BC30000F90F6018081882349F0082E000C990BA3 -:10BC40000F949E35F60181936F01F3CFC8010E94D6 -:10BC500018D184E491E10E944AD10FB6F894FEBE57 -:10BC60000FBEEDBEDF91CF911F910F91FF90EF902E -:10BC7000DF90CF9008958F929F92AF92BF92CF9214 -:10BC8000DF92EF92FF92CF938091D01D877F8093B8 -:10BC9000D01D8091371B882321F084E39BE10E9413 -:10BCA000058E1092181B1092151B85E38093141BB0 -:10BCB0000F94A41B6B017C0120EDC20E27E0D21E65 -:10BCC000E11CF11CA89561E08091141B0E9456A70D -:10BCD00061E08091141B0E9485A7209A289A219ADE -:10BCE0002398229A81E00E94A35B85E08093161B33 -:10BCF0000E94A35BCAE08FEF0E94975BC150D9F707 -:10BD0000A89520E030E0A90160E084E19BE10E9479 -:10BD1000E58C8093171B813061F00F94A41BDC012C -:10BD2000CB018C199D09AE09BF09B7FDEACF81E0AF -:10BD300062C0A8952AEA31E040E050E068E084E182 -:10BD40009BE10E94E58C853011F481E00AC0C4E0DB -:10BD50000E949C5B8093171BC150D1F78A3A61F413 -:10BD600082E08093181BA8958091181B823081F087 -:10BD7000812C912C540111C00F94A41BDC01CB0128 -:10BD80008C199D09AE09BF09B7FDD4CF82E033C03D -:10BD9000812C912CA12C80E4B82E20E030E0A90168 -:10BDA00067E384E19BE10E94E58CA501940169E2CF -:10BDB00084E19BE10E94E58C8093171B882361F04E -:10BDC0000F94A41BDC01CB018C199D09AE09BF099E -:10BDD000B7FDE3CF8AE00FC08091181B823021F5B8 -:10BDE00020E030E0A9016AE384E19BE10E94E58C58 -:10BDF000882361F088E08093151B84E19BE10E9419 -:10BE0000DD8C0F949C1886E391E122C00E949C5B1C -:10BE1000807C803C19F483E08093181B0E949C5B1B -:10BE20000E949C5B0E949C5B84E19BE10E94DD8CF4 -:10BE30001092161B81E00E940EA081110CC080E0C0 -:10BE40000E940EA0811107C00F94981882E291E120 -:10BE50000F94B3171AC066EF7AE184E39BE10E9466 -:10BE6000308B811105C00F94981881E191E1F0CFDA -:10BE70008091D01D88608093D01D0F949C1885E020 -:10BE800091E10F94B3170E94E450CF91FF90EF908F -:10BE9000DF90CF90BF90AF909F908F900C94995D62 -:10BEA0002F923F925F926F927F928F929F92AF926A -:10BEB000BF92CF92DF92EF92FF920F931F93CF9397 -:10BEC000DF93CDB7DEB7C356D1090FB6F894DEBF06 -:10BED0000FBECDBF8C016B014A012DB63EB6512C71 -:10BEE0007E0187E5E80EF11CF6018381823008F4BB -:10BEF0001FC180859185A285B3858F719927AA2757 -:10BF0000BB27892B8A2B8B2B09F012C11092410F72 -:10BF100041E45FE0BE016F5F7F4FC6010E949A8FD0 -:10BF200018160CF005C18C85982F9871903129F462 -:10BF30002091AB0B2150223078F42981222309F47F -:10BF4000F7C0253E89F22E3279F22091410F2E3230 -:10BF500059F28A7049F67CC06DB67EB6BE016F5F3D -:10BF60007F4FC7010E94F35C0115110521F0F80114 -:10BF70008081811163C021E081E090E0F7010190B0 -:10BF80000020E9F73197EE19FF09E80FF91F329603 -:10BF90008DB79EB78E1B9F0B0FB6F8949EBF0FBE3A -:10BFA0008DBFEDB7FEB731965F01211102C0B80118 -:10BFB00002C06AE876E0C5010F94E535B701C50116 -:10BFC0000F94CF356AE876E0C5010F94CF3519A2FA -:10BFD0001CA221E0A701B601CE0181960E94F19139 -:10BFE00081110DC08091AB0B811109C00F949C1879 -:10BFF00081EF90E10F94B317C7010E944D548BE17C -:10C00000FE01B196DE01DC9601900D928A95E1F772 -:10C0100040E050E0BE01645C7F4FC5010E94505F6C -:10C02000CE01CC960E940E8ECE0181960E940E8E7D -:10C030000FB6F8947EBE0FBE6DBE56CFF8010190CC -:10C040000020E9F73197CF01801B910B20E096CFBC -:10C0500021E0903109F020E08091D01D20FB84F98F -:10C060008093D01D903141F08985873409F03CCF11 -:10C070008A858E3709F438CF8091AB0B813021F05F -:10C0800068F08230C1F130CF8091AE0B9091AF0B50 -:10C0900001969093AF0B8093AE0B26CFBE016F5FDE -:10C0A0007F4F83E89FE00E94F35C0115110529F49E -:10C0B00083E8A82E8FE0B82E09C05801F5018191C0 -:10C0C0005F018823A9F30E944253F8CFF5018191C3 -:10C0D0005F01882319F00E944253F8CF80E20E944A -:10C0E00042536D8D7E8D8F8D98A14AE00E944953F9 -:10C0F0000E944754F9CEBE016F5F7F4F83E89FE0F7 -:10C100000E94F35C8114910441F063E87FE0C40174 -:10C110000F94BC35892B51F40BC0852D90E02091F4 -:10C12000AC0B3091AD0B8217930711F05394DCCE1A -:10C130000FB6F8943EBE0FBE2DBECD59DF4F0FB6E1 -:10C14000F894DEBF0FBECDBFDF91CF911F910F914D -:10C15000FF90EF90DF90CF90BF90AF909F908F9027 -:10C160007F906F905F903F902F900895CF93DF93D3 -:10C17000CDB7DEB76B970FB6F894DEBF0FBECDBF5D -:10C1800081E08093AB0B1092AF0B1092AE0B89E164 -:10C190009BE10E94D88C8BE1E9E1FBE1DE01119685 -:10C1A00001900D928A95E1F740E050E0BE016F5F8B -:10C1B0007F4F80E090E00E94505FCE0101960E9488 -:10C1C0000E8E8091AE0B9091AF0B6B960FB6F894DC -:10C1D000DEBF0FBECDBFDF91CF9108950F931F93A8 -:10C1E000CF93DF93CDB7DEB76B970FB6F894DEBF72 -:10C1F0000FBECDBF8B0122E02093AB0B9093AD0B14 -:10C200008093AC0B89E19BE10E94D88C8BE1E9E142 -:10C21000FBE1DE01119601900D928A95E1F7A801EC -:10C22000BE016F5F7F4F80E090E00E94505FCE01C3 -:10C2300001960E940E8E6B960FB6F894DEBF0FBE6D -:10C24000CDBFDF91CF911F910F910895DF92EF92B3 -:10C25000FF920F931F93CF93DF9300D01F92CDB720 -:10C26000DEB72091D01D23FF3DC1F42EE62E8C01B8 -:10C270000E9458D0882309F481C0FF2009F48CC0A3 -:10C280008091C71D882351F00F94981887E092E1A0 -:10C290000F94B31780E090E00F94AA0583E49BE02D -:10C2A0009A8389838FE28093420B81E08B83F12C08 -:10C2B0009BE1D92E8091C61DF81678F4DF9CC00151 -:10C2C0001124AE014D5F5F4FBE016F5F7F4F8854F9 -:10C2D000934E0E940B5DF394EDCF8B818B3578F4F8 -:10C2E000AE014D5F5F4FBE016F5F7F4F8BED9AE1F7 -:10C2F0000E940B5D89819A8101979A838983E981E4 -:10C30000FA811082E091C71D84E0E89FF0011124BA -:10C31000E25CF44F8091CC1D9091CD1DA091CE1D7B -:10C32000B091CF1D80839183A283B3830F949C1817 -:10C33000B8018EEE91E10F9485186091C71D89E6D2 -:10C34000689FB00111246E5B744F83EE91E10F94EE -:10C3500085184091CC1D5091CD1D6091CE1D7091DE -:10C36000CF1D8DED91E10F9449188AE00E94425350 -:10C370008091C71D8F5F8093C71D26C0FF2039F0B5 -:10C380000F949C188DEC91E10F94B3171DC010927F -:10C39000C71D82E0F82E02C0FF24F3940F949C186E -:10C3A00088EC91E10F94B31781E0F81609F497C077 -:10C3B00084EB91E10F94B317B80180EC91E10F94F5 -:10C3C00085188AE00E9442530E94CA5DB801CE01DE -:10C3D00003960F9411078C01009709F483C06B81B9 -:10C3E0007C81EE2009F450C021E0AC018BED9AE194 -:10C3F0000E94F191882309F43FC08091EC1A90913A -:10C40000ED1AA091EE1AB091EF1A8093C81D909387 -:10C41000C91DA093CA1DB093CB1D1092CC1D1092C4 -:10C42000CD1D1092CE1D1092CF1DB80186EA91E16C -:10C430000F9485184091C81D5091C91D6091CA1D67 -:10C440007091CB1D8EE991E10F9449188AE00E940A -:10C4500042538FE891E10F94B317B80180E090E068 -:10C460000E94EE608091410F811102C0C80102C09C -:10C4700081E49FE060E030C0B8018BE791E10F9468 -:10C48000851888E791E10FC026E5AC018BED9AE1B4 -:10C490000E94F19181110AC0B80184E691E10F94E4 -:10C4A000851881E691E10F94B3171CC08091D01DCF -:10C4B00081608093D01DB80180E090E00E94EE6022 -:10C4C0001092B61CB8018FE491E10F9485188AE0B0 -:10C4D0000E94425360E0C8010E944CEF03C08AEB07 -:10C4E00091E168CF0F900F900F900F90DF91CF9157 -:10C4F0001F910F91FF90EF90DF900895CF92DF9200 -:10C50000EF92FF92CF936B017C01C42F8091360F85 -:10C510009091370FA091380FB091390F8C159D0570 -:10C52000AE05BF05D1F00E94928D811102C080E05E -:10C5300018C026E33DE0B701A60180913F0F90911E -:10C54000400F0E94148E882391F3C092360FD09230 -:10C55000370FE092380FF092390F81E0C1118093CC -:10C560003E0FCF91FF90EF90DF90CF9008954F92C4 -:10C570005F926F927F928F929F92AF92BF92CF9273 -:10C58000DF92EF92FF920F931F93CF93DF93EC0113 -:10C59000423051056105710510F480E069C089855C -:10C5A0009A85AB85BC850196A11DB11D84179507A1 -:10C5B000A607B70790F38F89803149F4852E962E10 -:10C5C000A72EBB248B899C89AD89BE890FC0803280 -:10C5D00021F78B889C88AD88BE88DB01CA01E7E023 -:10C5E000B695A79597958795EA95D1F7880E991EE8 -:10C5F000AA1EBB1E280139016A017B0141E0C50169 -:10C60000B4010E947E62882341F29F89903161F4D7 -:10C61000DD24EE24FF249601220F331FF901EA5C8A -:10C62000F24F5182408211C0E894C7F8DD24EE2415 -:10C63000FF249601220F331F220F331FF901EA5CFA -:10C64000F24F40825182628273829A89923080F0E6 -:10C650004D815E816F817885840E951EA61EB71E62 -:10C6600080923A0F90923B0FA0923C0FB0923D0FF8 -:10C67000DF91CF911F910F91FF90EF90DF90CF90BE -:10C68000BF90AF909F908F907F906F905F904F90F2 -:10C690000895CF92DF92EF92FF920F931F93CF9363 -:10C6A000DF93FC0181859285A385B4850196A11D48 -:10C6B000B11D84179507A607B70710F480E061C085 -:10C6C0008789803149F4BB27A72F962F852FC388F0 -:10C6D000D488E588F6880FC0803281F783899489F1 -:10C6E000A589B6896A017B01C7E0F694E794D794DF -:10C6F000C794CA95D1F78C0D9D1DAE1DBF1DE901D4 -:10C700006A017B018F014091360F5091370F609184 -:10C71000380F7091390F84179507A607B70739F0BE -:10C7200040E0BC01CD010E947E62882339F2F8010D -:10C730008789803179F4B701A601552766277727C5 -:10C74000440F551FFA01EA5CF24F80819181A0E00D -:10C75000B0E012C0B701A6014F77552766277727AB -:10C76000440F551F440F551FFA01EA5CF24F8081B8 -:10C770009181A281B381BF7088839983AA83BB838F -:10C7800081E0DF91CF911F910F91FF90EF90DF90AB -:10C79000CF9008954F925F926F927F92AF92BF9227 -:10C7A000CF92DF92EF92FF920F931F93CF93DF937D -:10C7B00000D01F92CDB7DEB78C0149835A836B83BB -:10C7C0007C835901C12CD12C7601412C82E0582E5A -:10C7D000612C712C49815A816B817C819E012F5F74 -:10C7E0003F4FC8010E944963882341F1D301C20130 -:10C7F000F801058404C0880F991FAA1FBB1F0A9463 -:10C80000D2F7C80ED91EEA1EFB1E49815A816B81E0 -:10C810007C818789803139F481E0483F5F4F610531 -:10C82000710538F4D7CF81E0483F5F4F6F4F7F40AD -:10C8300088F2F501C082D182E282F3820F900F90DC -:10C840000F900F90DF91CF911F910F91FF90EF907C -:10C85000DF90CF90BF90AF907F906F905F904F90A0 -:10C8600008958091710C83FD0FC08091700C81112F -:10C870000BC020916C0930916D0980914902909113 -:10C880004A02281739072CF061E08091180D0C94AA -:10C8900033950F949C1886E994E10F94B31780E0C8 -:10C8A0000895CF92DF92EF92FF92C0904F02D09006 -:10C8B0005002E0905102F0905202FC01808191817F -:10C8C000A281B38180934F0290935002A0935102B2 -:10C8D000B09352020E9459DBC0924F02D092500294 -:10C8E000E0925102F0925202FF90EF90DF90CF90D1 -:10C8F00008952F923F924F925F926F927F928F9204 -:10C900009F92AF92BF92CF92DF92EF92FF920F93DE -:10C910001F93CF93DF93CDB7DEB76F970FB6F89421 -:10C92000DEBF0FBECDBF9C8F8B8F7E8F6D8F212C76 -:10C93000312C2FEF28873FEF3F834FEF488B5FE489 -:10C94000598B83EC8A8B97E49B8B21E030E040E0AD -:10C9500050E0022C04C0220F331F441F551F0A94BD -:10C96000D2F72F8B388F498F5A8F47E458E15B8776 -:10C970004A8700E010E02F8EAA85BB858D919D919E -:10C98000BB87AA87A0E0B0E02F89388D498D5A8DEA -:10C9900082239323A423B523892B8A2B8B2B09F085 -:10C9A000ECC08091B6199091B719289EB001299ECC -:10C9B000700D389E700D112480912F1A9091301AAD -:10C9C000680F791F072E000C880B990B0F94982B7A -:10C9D0006C877D878E879F878091B8199091B91950 -:10C9E000089FB001099F700D189F700D1124809150 -:10C9F000311A9091321A680F791F072E000C880B9C -:10CA0000990B0F94982B6B017C012C853D854E85ED -:10CA10005F85AB8DBC8D6D917D918D919C910F94B7 -:10CA200086322B013C01A7019601ED8DFE8D6081C0 -:10CA30007181828193810F9486324B015C01A30145 -:10CA40009201C301B2010F94F72B2B013C01A50108 -:10CA50009401C501B4010F94F72B9B01AC01C301F4 -:10CA6000B2010F9487320F9435354B015C012C8550 -:10CA70003D854E855F8560916B1870916C18809133 -:10CA80006D1890916E180F9486322B013C01A7010E -:10CA9000960160916718709168188091691890915B -:10CAA0006A180F9486326B017C01A3019201C301C5 -:10CAB000B2010F94F72B2B013C01A7019601C7018E -:10CAC000B6010F94F72B9B01AC01C301B2010F9487 -:10CAD00087320F94353520E030E040E751E40F9481 -:10CAE0008133A50194010F9487326B017C01809002 -:10CAF0006F1890907018A0907118B090721820E084 -:10CB000030E040E85FE3C501B4010F94E734181644 -:10CB1000FCF4C501B4010F94F3334B015C0116160C -:10CB20001706180619063CF40F94D426A5019401A3 -:10CB30000F94093203C060E070E0CB010F94982B92 -:10CB40009B01AC01B601C7010F9487326B017C01D8 -:10CB5000288939894A895B89B601C7010F94912BCD -:10CB600087FF0BC0FF8DF8870F83C986DC8AED8AAB -:10CB7000FE8AC88AD98AEA8AFB8A0F5F1F4F05306E -:10CB8000110509F0F9CE2FEF221A320A35E02316EB -:10CB9000310409F0DACE4F81E42FF0E0EE0FFF1FF1 -:10CBA000E95BF74E81E090E0088402C0880F991F8E -:10CBB0000A94E2F720813181822B932B9183808329 -:10CBC00089859C89AD89BE898B839C83AD83BE8317 -:10CBD000482F5C816D817E8128853F8180E090E0D7 -:10CBE0006F960FB6F894DEBF0FBECDBFDF91CF9129 -:10CBF0001F910F91FF90EF90DF90CF90BF90AF907B -:10CC00009F908F907F906F905F904F903F902F906C -:10CC100008958C3891051CF02CE880E002C0282F84 -:10CC2000892F20938309809384090C94D19C80E1FF -:10CC3000E9E1FDE0A5EABCE001900D928A95E1F7FB -:10CC400008958091191E90911A1E009731F04AE0C4 -:10CC500050E060E070E00D94872860E070E0CB0168 -:10CC600008950E94216697FD0CC00E9421666F3FC7 -:10CC700071058105910509F034F40E942166862F23 -:10CC8000089580E008958FEF08958091191E909186 -:10CC90001A1E892B39F00E94316691E0811103C080 -:10CCA00090E001C091E0892F08950E942166CB0198 -:10CCB00008950F931F93CF938091191E90911A1E80 -:10CCC000009711F1FC018F01C1912C2F2F7DA9F04C -:10CCD000C53411F0C536B9F7F801108260E070E094 -:10CCE0008091191E90911A1E0F942B27F801C08372 -:10CCF000562F472F382F292F0BC060E070E0CF91BF -:10CD00001F910F910D942B2750E040E030E020E080 -:10CD1000652F742F832F922FCF911F910F9108951C -:10CD200081548A3108F042C0E82FF0E04091601948 -:10CD300050916119609162197091631904C07695E0 -:10CD40006795579547958A95D2F7842F817040FF54 -:10CD50002FC0EA5BF64E9081992309F1E091160D00 -:10CD6000F091170DE90FF11D908120ED290F2A3068 -:10CD700098F09E3211F491810CC09D3211F09B32DB -:10CD800071F4918120ED290F2A3030F09E3239F470 -:10CD9000928190539A3018F42E2F9F2F02C020E0DA -:10CDA00090E02093191E90931A1E089580E0089534 -:10CDB00008950E949066882341F081E02091191E19 -:10CDC00030911A1E232B09F480E00895CF93DF934E -:10CDD000C82FD62F0E94D966882321F0DF91CF91EA -:10CDE0000C9445668C2F0E949066811101C08D2F96 -:10CDF000DF91CF910895AF92BF92CF92DF92EF92E1 -:10CE00000F931F93CF93DF938B01E090180DC9E12F -:10CE1000DDE024E0E29EF0011124EF5DFD4F208172 -:10CE2000318142815381FC016081718182819381D2 -:10CE30000F9481332C853D854E855F850F94873215 -:10CE40006C877D878E879F87A12CB12C650125E299 -:10CE50003DE041E25DE06DE17DE0CE010E94EDF359 -:10CE6000DF91CF911F910F91EF90DF90CF90BF9006 -:10CE7000AF900C942FF10F931F93CF938C01C62F7B -:10CE800083EE92E10F94B317C8010F94B317CC232C -:10CE900031F08AE0CF911F910F910C944253CF91C2 -:10CEA0001F910F91089560E088EF92E10E943B6727 -:10CEB00080E093E10F94B3178AE00C94425360E052 -:10CEC00088EF92E10E943B6784EF92E10F94B317E1 -:10CED0008AE00C944253EF92FF920F931F93CF93EB -:10CEE0007C018B01C42F60E088EF92E10E943B67D8 -:10CEF000C7010F94B31780E20E944253C8010F94F8 -:10CF0000B317CC2341F08AE0CF911F910F91FF908E -:10CF1000EF900C944253CF911F910F91FF90EF909F -:10CF2000089541E0BC018DEE92E10C946B67CF93C4 -:10CF3000DF93C091B00B1092B00BC23019F118F40E -:10CF4000C13041F02DC0C43011F1C53049F5CBE2FC -:10CF5000D3E12BC0811127C00E945F6741E068E8E0 -:10CF600073E18FEA94E10E946B678DE793E10E9481 -:10CF70009167C093B00B84E793E10E9491670E9490 -:10CF8000536711C010928619C7E4D3E10EC080E741 -:10CF900093E19093B8098093B709C6E3D3E105C044 -:10CFA000CDE1D3E102C0C0E6D3E185E093E10F9487 -:10CFB000B317CE010F94B3178AE0DF91CF910C9491 -:10CFC00042530F931F93CF93DF938B01EA0180931A -:10CFD000B00B0E945F6741E0B8018FEA94E10E94C4 -:10CFE0006B67209719F0CE010E949167DF91CF9176 -:10CFF0001F910F910C9453670F931F93CF93DF935F -:10D00000C82F0F949C18C11103C08DEA93E102C090 -:10D010008FEC93E10F94B3170F94A41BDC01CB01A9 -:10D0200088539045AF4FBF4F8093180C9093190CC5 -:10D03000A0931A0CB0931B0C10921C0C1091D108E9 -:10D0400083E08093D10881E0809386194FE754E113 -:10D0500068E874E182E00E94E16781E794E10E9460 -:10D06000E5C8CC2319F0CFECD3E102C0CDEAD3E17F -:10D0700001E080918619882309F455C080911C0C29 -:10D08000882309F44CC00F949C188AE494E10F940F -:10D09000B31745E354E16CE374E182E00E94E16779 -:10D0A00087E294E10E94E5C880918619882321F0E7 -:10D0B00081E00E946E54F8CF40E050E06DE174E1F1 -:10D0C00082E00E94E16780E194E10E94A0C80E9492 -:10D0D000D5EF0E9431640F949C18CE010F94B317C2 -:10D0E0000F94A41BDC01CB0188539045AF4FBF4F79 -:10D0F0008093180C9093190CA0931A0CB0931B0CEE -:10D1000010921C0C4BEF53E164E074E182E00E944A -:10D11000E1678CE896E00E94E5C80093861981E0FB -:10D120000E946E54A6CF1093D108DF91CF911F912A -:10D130000F9108959091B00B911102C00C94E1678A -:10D1400008958F929F92AF92BF92CF92DF92EF920B -:10D15000FF920F931F93CF93DF9300D01F92CDB711 -:10D16000DEB76C017B018A01B0901C0C0E94D5EFE8 -:10D17000B11016C08091700C811112C060916809C5 -:10D180007091690980916A0990916B090F94F3334A -:10D190002091490230914A02621773070CF4BBC018 -:10D1A0000E943164882309F4B6C0BB20A1F10F941A -:10D1B0009C1886EF94E10F94B317B090D10883E0E8 -:10D1C0008093D10881E08093861982E08093B00B30 -:10D1D0000E945F6740E066EE74E18FEA94E10E948E -:10D1E0006B6780E30E9442538AE00E9442538DEDB8 -:10D1F00094E10E9491670E9453678FEC94E10E9432 -:10D20000E5C880918619882321F081E00E946E5440 -:10D21000F8CFB092D10820E030E0A901F60160819A -:10D220007181828193810F94912B882371F080E02A -:10D2300090E0A0ECB0E489839A83AB83BC83BE0109 -:10D240006F5F7F4FC6010E94FB6620E030E0A901BE -:10D25000F70160817181828193810F94912B8823E2 -:10D2600051F180905A0C90905B0CA0905C0CB090A7 -:10D270005D0C80E090E0A8ECB1E480935A0C9093B0 -:10D280005B0CA0935C0CB0935D0C80E090E0A0EF91 -:10D29000B1E489839A83AB83BC83BE016F5F7F4F08 -:10D2A000C7010E94FB6680925A0C90925B0CA09280 -:10D2B0005C0CB0925D0C20E030E0A901F8016081C7 -:10D2C0007181828193810F94E734181674F480E0A1 -:10D2D00090E0A0E4B0E489839A83AB83BC83BE0171 -:10D2E0006F5F7F4FC8010E94FB6681E08093B00BA7 -:10D2F0000E945F6741E068EC74E18FEA94E10E946C -:10D300006B678EEB94E10E94916785EB94E10E943C -:10D3100091670E94536720E030E0A9016091BD0B46 -:10D320007091BE0B8091BF0B9091C00B0F94912B0D -:10D3300087FF0FC080E090E0A0E7B2E489839A8382 -:10D34000AB83BC83BE016F5F7F4F8DEB9BE00E9480 -:10D35000FB6680E090E0A8E4B2E489839A83AB8323 -:10D36000BC83AE014F5F5F4F65EB7BE081EB9BE0E1 -:10D370000E944FDF80E090E0A0EAB0E489839A83C6 -:10D38000AB83BC83BE016F5F7F4F89EB9BE00E9444 -:10D3900071DF8091BD0B9091BE0BA091BF0BB0913E -:10D3A000C00B8093250D9093260DA093270DB0936D -:10D3B000280D8093B10C9093B20CA093B30CB09352 -:10D3C000B40C81EB9CE00E9440F161E087EA94E1BB -:10D3D0000E943B6780913D0B815080933D0B40E064 -:10D3E00050E062E275E185E00E949A6880913D0B11 -:10D3F000882339F00E94DB5D80913D0B8150809342 -:10D400003D0B80E00E9451A28091AD1E823011F44C -:10D410000F94C3180E9475EF0F900F900F900F900C -:10D42000DF91CF911F910F91FF90EF90DF90CF9000 -:10D43000BF90AF909F908F9008958F929F92AF92E0 -:10D44000BF92CF92DF92EF92FF921F93CF93DF9321 -:10D45000CDB7DEB728970FB6F894DEBF0FBECDBFAD -:10D4600020913D0B21111BC17A015B016C0161E030 -:10D470008FE893E10E943B6740E050E067EA73E188 -:10D4800085E00E949A688091710C83FD22C020E0A3 -:10D4900030E0A901F70160817181828193810F944D -:10D4A000912B8823B1F01091700C111112C02091B2 -:10D4B000490230914A0280916C0990916D0982175E -:10D4C00093073CF40F949C1886E993E10F94B317EB -:10D4D000E7C080913D0B91E0980F90933D0B9091A8 -:10D4E000D01D92FF06C09B7F9093D01D8E5F8093CE -:10D4F0003D0B0E94F0ED80E1E9E1FDE0A1EBBBE036 -:10D5000001900D928A95E1F70E942FF181E00E942F -:10D5100051A220E030E0A901F60160817181828191 -:10D5200093810F94912B882319F18091700C8111B4 -:10D5300011C0609168097091690980916A099091A0 -:10D540006B090F94F3332091490230914A0262171C -:10D55000730774F080E090E0A0E7B2E489839A83D7 -:10D56000AB83BC83BE016F5F7F4FC6010E94FB6629 -:10D570000E9489A2811104C0B50182E00E9429EEB7 -:10D5800020E030E0A901F7016081718182819381FF -:10D590000F94912B811102C011E082C00E9431646E -:10D5A000182F8823C9F380E090E0A0E7B2E48D83D0 -:10D5B0009E83AF83B88780E090E0A0E8B0EC8983D9 -:10D5C0009A83AB83BC83BE016B5F7F4FCE01019614 -:10D5D0000E94FB6668E873E180E090E00F94841796 -:10D5E0008091520C9091530CA091540CB091550C19 -:10D5F0008D839E83AF83B88780E090E0A0E8B0E49D -:10D6000089839A83AB83BC83BE016B5F7F4FCE015E -:10D6100001960E94FB6680905A0C90905B0CA09043 -:10D620005C0CB0905D0C80E090E0A8ECB1E48093DD -:10D630005A0C90935B0CA0935C0CB0935D0C80E053 -:10D6400090E0A4E2B2E48D839E83AF83B887F701B4 -:10D6500080819181A281B38189839A83AB83BC83CA -:10D66000BE016B5F7F4FCE0101960E94FB668092E8 -:10D670005A0C90925B0CA0925C0CB0925D0C809165 -:10D68000180D882321F0813019F4479A01C0129AAD -:10D6900064E670E080E090E00F94841701C010E031 -:10D6A000812F28960FB6F894DEBF0FBECDBFDF9155 -:10D6B000CF911F91FF90EF90DF90CF90BF90AF90F0 -:10D6C0009F908F900895CF93DF93EB01682F70E0C8 -:10D6D0008CEB9BE10E94CA51688179818A819B8190 -:10D6E000643F21E072078105910520F464EF71E049 -:10D6F00080E090E00F94841789B183FB882780F93C -:10D70000DF91CF910895CF92DF92EF92FF921F9316 -:10D71000CF93DF9300D01F92CDB7DEB78EEEC82E29 -:10D7200082E0D82EE12CF12CC982DA82EB82FC82D5 -:10D73000BE016F5F7F4F8AE50E94636B811102C05B -:10D7400010E023C084EF91E0A0E0B0E089839A83E9 -:10D75000AB83BC83BE016F5F7F4F80EA0E94636B27 -:10D76000C982DA82EB82FC82BE016F5F7F4F8AE55D -:10D770000E94636B182F882319F30F94981889EA75 -:10D7800092E10F94B3170F94A018812F0F900F9070 -:10D790000F900F90DF91CF911F91FF90EF90DF904E -:10D7A000CF900895CF92DF92EF92FF92CF93DF93C5 -:10D7B00000D01F92CDB7DEB78EEEC82E82E0D82EF5 -:10D7C000E12CF12CC982DA82EB82FC82BE016F5F10 -:10D7D0007F4F8AE00E94636B811102C0F12C41C02F -:10D7E00084EF91E0A0E0B0E089839A83AB83BC83AF -:10D7F000BE016F5F7F4F80EA0E94636BC982DA824D -:10D80000EB82FC82BE016F5F7F4F8AE50E94636BF3 -:10D81000C982DA82EB82FC82BE016F5F7F4F8AE0B1 -:10D820000E94636BC982DA82EB82FC82BE016F5F69 -:10D830007F4F8AE50E94636BC982DA82EB82FC82A9 -:10D84000BE016F5F7F4F8AE00E94636BF82E8823D2 -:10D8500029F20F9498188FE692E10F94B3170F9462 -:10D86000A0188F2D0F900F900F900F90DF91CF91F8 -:10D87000FF90EF90DF90CF9008958F929F92AF929C -:10D88000BF92CF92DF92EF92FF92CF93DF9300D0BF -:10D890001F92CDB7DEB7B82E84EF91E0A0E0B0E0E4 -:10D8A00089839A83AB83BC83BE016F5F7F4F80EA1D -:10D8B0000E94636B9EEEC92E92E0D92EE12CF12CD2 -:10D8C000C982DA82EB82FC82BE016F5F7F4F8AE5FC -:10D8D0000E94636B80912E1A81113CC0BB20D1F154 -:10D8E000C982DA82EB82FC82BE016F5F7F4F8AE0E1 -:10D8F0000E94636B86E9882E912CA12CB12C898221 -:10D900009A82AB82BC82BE016F5F7F4F8CE80E941F -:10D91000636B89829A82AB82BC82BE016F5F7F4F4C -:10D9200082E80E94636B89829A82AB82BC82BE01CC -:10D930006F5F7F4F8CE80E94636BC982DA82EB8253 -:10D94000FC82BE016F5F7F4F8AE50E94636B81E0BE -:10D9500080932E1A0F900F900F900F90DF91CF9120 -:10D96000FF90EF90DF90CF90BF90AF909F908F90FF -:10D970000895CF93DF93CDB7DEB72C970FB6F89409 -:10D98000DEBF0FBECDBF882331F02091B619309194 -:10D99000B719232B59F19091310D891739F10E9454 -:10D9A0002FF18CE0E7EEF2E0DE01119601900D928E -:10D9B0008A95E1F7CE0101960F9456138091310DAF -:10D9C000882359F041E25DE06DE17DE089E19DE071 -:10D9D0000E9477F31092310D07C081E08093310DE2 -:10D9E00089E19DE00E9440F30E941AE02C960FB658 -:10D9F000F894DEBF0FBECDBFDF91CF9108958F9217 -:10DA00009F92AF92BF92EF92FF920F931F93CF938B -:10DA1000DF9380E00E94B96C1092B9191092B81986 -:10DA20001092B7191092B6191092321A1092311A38 -:10DA30001092301A10922F1A0AEC19E1C0E0812CD2 -:10DA4000912C80ECA82E8FE7B82EE12CF12CD0E0A1 -:10DA5000F801EE0DFF1D80829182A282B38220E048 -:10DA600030E0A9016D2F8C2F0E94E1C7DF5F84E0B9 -:10DA7000E80EF11CD53061F7CF5F0C5E1F4FC5304B -:10DA800021F7DF91CF911F910F91FF90EF90BF9001 -:10DA9000AF909F908F9008952F923F924F925F92F8 -:10DAA0006F927F928F929F92AF92BF92CF92DF92AE -:10DAB000EF92FF920F931F93CF93DF93CDB7DEB713 -:10DAC000CA59D1090FB6F894DEBF0FBECDBF4B01C6 -:10DAD0005A011901E096EFAEE097C057DF4FD982A7 -:10DAE000C882C059D040DC012D913D914D915C918F -:10DAF000E8962CAF3DAF4EAF5FAFE8972091360C64 -:10DB00003091370C4091380C5091390CE8966CAD3F -:10DB10007DAD8EAD9FADE8970F94F72B0F94F43445 -:10DB20002B013C0125966CAF7DAF8EAF9FAF259743 -:10DB3000D4012D913D914D915C91E4962CAF3DAF78 -:10DB40004EAF5FAFE49720913A0C30913B0C40917F -:10DB50003C0C50913D0CE4966CAD7DAD8EAD9FAD0F -:10DB6000E4970F94F72B0F94F434A7966CAF7DAF26 -:10DB70008EAF9FAFA79729966CAF7DAF8EAF9FAF4B -:10DB80002997D5012D913D914D915C91AF962CAF88 -:10DB90003DAF4EAF5FAFAF9720913E0C30913F0C41 -:10DBA0004091400C5091410CAF966CAD7DAD8EAD67 -:10DBB0009FADAF970F94F72B0F94F4346B017C015A -:10DBC0002D966CAF7DAF8EAF9FAF2D97D1012D916C -:10DBD0003D914D915C91AB962CAF3DAF4EAF5FAF99 -:10DBE000AB972091420C3091430C4091440C5091E2 -:10DBF000450CAB966CAD7DAD8EAD9FADAB970F94E4 -:10DC0000F72B0F94F4344B015C0161966CAF7DAF40 -:10DC10008EAF9FAF6197E8962CAD3DAD4EAD5FAD39 -:10DC2000E89765962CAF3DAF4EAF5FAF6597E49632 -:10DC30008CAD9DADAEADBFADE49769968CAF9DAF99 -:10DC4000AEAFBFAF6997AF962CAD3DAD4EAD5FADFA -:10DC5000AF976D962CAF3DAF4EAF5FAF6D97AB9664 -:10DC60008CAD9DADAEADBFADAB97A1968CAF9DAF6A -:10DC7000AEAFBFAFA1978091710C83FF16C08092A9 -:10DC8000F41B9092F51BA092F61BB092F71BAB967B -:10DC90002CAD3DAD4EAD5FADAB972093E41B309303 -:10DCA000E51B4093E61B5093E71B8091200C90915D -:10DCB000210C892B09F0A3C3D801BC91ED96BFAF0D -:10DCC000ED97F801F181C058DF4FF883C058D0407C -:10DCD000D8011296BC91CC57DF4FB883C458D040BE -:10DCE000F801F381C857DF4FF883C858D0408091BE -:10DCF000C21B9091C31B891B8F708F3021F480E071 -:10DD00000E946E54F4CF2091C21BC856DF4F288367 -:10DD1000C859D0408091C21B282E312C8091E81B1D -:10DD20009091E91BA091EA1BB091EB1B481A590A8C -:10DD30006A0A7B0A8091EC1B9091ED1BA091EE1B6F -:10DD4000B091EF1BA7962CAD3DAD4EAD5FADA79743 -:10DD5000281B390B4A0B5B0BA7962CAF3DAF4EAF80 -:10DD60005FAFA7978091F01B9091F11BA091F21BE0 -:10DD7000B091F31BA7019601281B390B4A0B5B0BD3 -:10DD8000E4962CAF3DAF4EAF5FAFE4978091F41BAC -:10DD90009091F51BA091F61BB091F71BA501940182 -:10DDA000281B390B4A0B5B0BE8962CAF3DAF4EAFEF -:10DDB0005FAFE897232B242B252B09F492C0809189 -:10DDC000700C811133C0609168097091690980916C -:10DDD0006A0990916B090F94F333209149023091B5 -:10DDE0004A026217730714F58092F41B9092F51B98 -:10DDF000A092F61BB092F71BAB968CAD9DADAEAD6D -:10DE0000BFADAB978093E41B9093E51BA093E61BFB -:10DE1000B093E71B0F949C1888E495E10F94B31717 -:10DE2000E8961CAE1DAE1EAE1FAEE897E096AFADF5 -:10DE3000E09794E0A99F800111240F5D1D4FE896A3 -:10DE40006CAD7DAD8EAD9FADE8970F94982BF8012A -:10DE500020813181428153810F94F72B6B017C012A -:10DE600020E030E0A9010F94E73487FF04C0F7FAFF -:10DE7000F094F7F8F09420E030E04AEF53E460913A -:10DE8000420C7091430C8091440C9091450C0F947E -:10DE9000F72BA70196010F94912B87FF22C0809248 -:10DEA000F41B9092F51BA092F61BB092F71BAB9659 -:10DEB0002CAD3DAD4EAD5FADAB972093E41B3093E1 -:10DEC000E51B4093E61B5093E71B0F949C1889E2D7 -:10DED00095E10F94B317E8961CAE1DAE1EAE1FAEB3 -:10DEE000E897D301C2018827B7FD83959927AA2710 -:10DEF000BB27B82EA7962CAD3DAD4EAD5FADA79715 -:10DF000057FF03C0382F3260B32EE4968CAD9DAD21 -:10DF1000AEADBFADE497B7FF03C09B2D9460B92EA3 -:10DF2000E8962CAD3DAD4EAD5FADE89757FF03C011 -:10DF30003B2D3860B32EE0965FADE09744E0549FF0 -:10DF4000800111240F5D1D4FE8966CAD7DAD8EAD47 -:10DF50009FADE8970F94982BD8012D913D914D914D -:10DF60005C910F94F72B6B017C0120E030E0A9015C -:10DF70000F94E73487FF04C0C701B601905802C070 -:10DF8000C701B60120E030E040E05FE30F94873244 -:10DF90000F94FA33AF966CAF7DAF8EAF9FAFAF9754 -:10DFA00084E5829DF001839DF00D1124EC54FD4E1B -:10DFB0001082B6AA5301420177FE07C08824992433 -:10DFC000540184189508A608B70884E5829DF001DD -:10DFD000839DF00D1124EC54FD4E858A968AA78A04 -:10DFE000B08EA7962CAD3DAD4EAD5FADA797AB966D -:10DFF0002CAF3DAF4EAF5FAFAB9757FF0DC0509505 -:10E000004095309521953F4F4F4F5F4FAB962CAFCA -:10E010003DAF4EAF5FAFAB9784E5829DF001839D2E -:10E02000F00D1124EC54FD4EAB968CAD9DADAEAD14 -:10E03000BFADAB97818F928FA38FB48FE4962CAD39 -:10E040003DAD4EAD5FADE497EC962CAF3DAF4EAF1E -:10E050005FAFEC9757FF0DC05095409530952195D7 -:10E060003F4F4F4F5F4FEC962CAF3DAF4EAF5FAF82 -:10E07000EC9784E5829DF001839DF00D1124EC5412 -:10E08000FD4EEC968CAD9DADAEADBFADEC97858FE2 -:10E09000968FA78FB0A3C301B2010F94982B209144 -:10E0A000E50B3091E60B4091E70B5091E80B0F9494 -:10E0B000F72BC457DF4F688379838A839B83CC58BF -:10E0C000D04069AB7AAB8BAB9CABA7966CAD7DAD0A -:10E0D0008EAD9FADA7970F94982B2091E90B3091AF -:10E0E000EA0B4091EB0B5091EC0B0F94F72B2B01AB -:10E0F0003C016DAB7EAB8FAB98AFE4966CAD7DAD64 -:10E100008EAD9FADE4970F94982B2091ED0B30913D -:10E11000EE0B4091EF0B5091F00B0F94F72BA7965D -:10E120006CAF7DAF8EAF9FAFA79769AF7AAF8BAF64 -:10E130009CAF2091F10B3091F20B4091F30B509179 -:10E14000F40BC701B6010F94F72B6B017C012196EC -:10E150006CAF7DAF8EAF9FAF219796E0891691048B -:10E16000A104B1041CF5AB962CAD3DAD4EAD5FAD39 -:10E17000AB972630310541055105C4F4EC968CADC2 -:10E180009DADAEADBFADEC970697A105B10574F49A -:10E1900020E030E0A901C701B6010F94E73487FF02 -:10E1A00018C0F7FAF094F7F8F09413C0C057DF4F97 -:10E1B000A881B981C059D040CD90DD90ED90FC9000 -:10E1C00020E030E0A901C701B6010F94912B88230C -:10E1D00069F084E5829DF001839DF00D1124EC54DB -:10E1E000FD4EC586D686E786F08A3AC0C457DF4F13 -:10E1F000288139814A815B81CC58D040CA01B9015C -:10E200000F94F72B6B017C01A3019201C301B201B2 -:10E210000F94F72B9B01AC01C701B6010F94873215 -:10E220006B017C01A7962CAD3DAD4EAD5FADA797C0 -:10E23000CA01B9010F94F72B9B01AC01C701B601CC -:10E240000F9487320F94353524E5229DF001239DEC -:10E25000F00D1124EC54FD4E658776878787908BEF -:10E2600084E5829DF001839DF00D1124EC54FD4E58 -:10E27000AF962CAD3DAD4EAD5FADAF9721A332A3B0 -:10E2800043A354A3582D492D3A2D2B2DAB968CAD7D -:10E290009DADAEADBFADAB9788169906AA06BB067D -:10E2A00060F4A8965FADA897A9964FADA997AA96D6 -:10E2B0003FADAA97AB962FADAB97852F942FA32F89 -:10E2C000B22FEC962CAD3DAD4EAD5FADEC97821705 -:10E2D0009307A407B50710F4DA01C901AF962CAD76 -:10E2E0003DAD4EAD5FADAF9782179307A407B5075D -:10E2F00010F4DA01C90124E5229DF001239DF00DFF -:10E300001124EC54FD4E85A396A3A7A3B0A70697AE -:10E31000A105B10510F40C94237FDF01AE5ABF4F65 -:10E320008091100D8C9311968091110D8C93E09635 -:10E330003FADE09731A789288A288B2809F05F989C -:10E3400084E5829DF001839DF00D1124EC54FD4E77 -:10E35000818D928DA38DB48D892B8A2B8B2B09F007 -:10E360008A9884E5829DF001839DF00D1124EC5480 -:10E37000FD4E858D968DA78DB0A1892B8A2B8B2B79 -:10E3800029F080910801817080930601AF968CADD1 -:10E390009DADAEADBFADAF97892B8A2B8B2B91F185 -:10E3A0008091050C882319F081508093050C809191 -:10E3B000060C882399F081508093060CE0969FAD5F -:10E3C000E097992319F0913081F025C0811101C0A7 -:10E3D000479A129880E28093050C1DC0E096FFAD2D -:10E3E000E097FF23A9F3F130B1F48091050C81117E -:10E3F00001C0129A479880E28093060C0CC080E01E -:10E400000C94AC7FE090660CF090670C0091680C67 -:10E410001091690C08C0E090620CF090630C0091C0 -:10E42000640C1091650C9701A801ED966FADED9706 -:10E43000C058DF4F7881C058D040CC57DF4F88811B -:10E44000C458D040C857DF4F9881C858D0400F9467 -:10E45000912B87FF12C0ED96EFAEED97C058DF4FBE -:10E46000F882C058D040CC57DF4F0883C458D04002 -:10E47000C857DF4F1883C858D04084E5829DF0010B -:10E48000839DF00D1124EC54FD4E45845684678421 -:10E490007088A301920160E070E080E89FE30F9430 -:10E4A0008133EC966CAF7DAF8EAF9FAFEC97ED965E -:10E4B0002FADED97C058DF4F3881C058D040CC57B2 -:10E4C000DF4F4881C458D040C857DF4F5881C858E3 -:10E4D000D0400F94F72B4B015C018091C21B9091AF -:10E4E000C01B891B8F70C857DF4F8883C858D04026 -:10E4F000A501940160E074E284E799E40F9481330C -:10E500000F94F4346B017C01C857DF4F8881C858E1 -:10E51000D04082508630D0F58091320C9091330CEF -:10E52000A091340CB091350CC816D906EA06FB064A -:10E5300068F58C199D09AE09BF09BC01CD01660FB4 -:10E54000771F881F991FC857DF4FA881C858D04030 -:10E550000A2F10E020E030E0A90198010F94E73184 -:10E56000CA01B9010F94962B0F94F4346C0D7D1DE4 -:10E570008E1D9F1D0F94962B9B01AC0160E074E2F1 -:10E5800084E799E40F9481334B015C01A501940168 -:10E59000C301B2010F94F72B9B01AC010F94F72B31 -:10E5A000C457DF4F688379838A839B83CC58D040DC -:10E5B00084E5829D8001839D100D11240C541D4E15 -:10E5C000C457DF4F288139814A815B81CC58D040C4 -:10E5D000D80111962D933D934D935C931497959686 -:10E5E0002D913D914D915C919897C458DF4F2883B0 -:10E5F00039834A835B83CC57D040CA01B9010F9459 -:10E60000962BC058DF4F688379838A839B83C058D9 -:10E61000D0409B01AC01C501B4010F94F72B0F94BE -:10E6200065330F94FA33C057DF4F688379838A8349 -:10E630009B83C059D040F801EE5BFF4F608371832C -:10E64000828393838E010F5C1F4FFE01B196CC57DE -:10E65000DF4FF983E883C458D04026E43CE0CA5633 -:10E66000DF4F39832883C659D040A801405F5F4FF0 -:10E67000C756DF4F59834883C959D040CC56DF4F26 -:10E68000F983E883C459D040A4961FAEA497A896F6 -:10E690001FAEA89750E8E0965FAFE0978FE3E19652 -:10E6A0008FAFE197D8012D913D914D915D918D01F5 -:10E6B000C501B4010F94F72B6B017C01CC56DF4FE1 -:10E6C000E881F981C459D04061937193819391930A -:10E6D000CC56DF4FF983E883C459D04020E030E0C6 -:10E6E000A9010F94E73487FF04C0F7FAF094F7F814 -:10E6F000F094CA56DF4FA881B981C659D0404D90D9 -:10E700005D906D907D90CA56DF4FB983A883C6593E -:10E71000D040A7019601C301B2010F94912B87FF4E -:10E7200024C0A7019601C301B2010F9481337B017C -:10E730006C01A4962FADA497A8963FADA897E0963C -:10E740004FADE097E1965FADE1970F94912B87FF76 -:10E750000CC0A496EFAEA497A896FFAEA897E0963B -:10E76000CFAEE097E196DFAEE197C756DF4FE88185 -:10E77000F981C959D040E017F10709F093CF20E0A3 -:10E7800030E040E85FE3A4966FADA497A8967FAD14 -:10E79000A897E0968FADE097E1969FADE1970F9433 -:10E7A000912B87FF84C08E010F5C1F4FA4962FAD65 -:10E7B000A497A8963FADA897E0964FADE097E19655 -:10E7C0005FADE197CC57DF4FA881B981C458D040E5 -:10E7D0006D917D918D919C910F94F72BCC57DF4FCC -:10E7E000E881F981C458D0406193719381939193EA -:10E7F000CC57DF4FF983E883C458D0400E171F076A -:10E80000A9F624E5229DC001239D900D11249C01B1 -:10E810002C543D4E790189010E5B1F4FC057DF4FCD -:10E82000688179818A819B81C059D0400F94962B51 -:10E83000A4962FADA497A8963FADA897E0964FADAC -:10E84000E097E1965FADE1970F94F72B0F94FA33C1 -:10E85000D8016D937D938D939C931397A4962FADC0 -:10E86000A497A8963FADA897E0964FADE097E196A4 -:10E870005FADE197A4966FADA497A8967FADA897DA -:10E88000E0968FADE097E1969FADE1970F94F72B5F -:10E89000C457DF4F288139814A815B81CC58D040F1 -:10E8A0000F94F72BF7016183728383839483C0589D -:10E8B000DF4F288139814A815B81C058D040EC9676 -:10E8C0006CAD7DAD8EAD9FADEC970F94F72BA796F9 -:10E8D0006CAF7DAF8EAF9FAFA79784E5829D80011F -:10E8E000839D100D11240C541D4ED80155968D900A -:10E8F0009D90AD90BC90589781149104A104B104EF -:10E9000069F559968D919D910D90BC91A02D892B03 -:10E910008A2B8B2B19F5F801858D968DA78DB0A1CB -:10E92000892B8A2B8B2BD1F420915A0C30915B0CC4 -:10E9300040915C0C50915D0CA7966CAD7DAD8EAD99 -:10E940009FADA7970F94F72B0F9465330F94FA336D -:10E950002B013C01D801D7961C9247C3AF962CAD32 -:10E960003DAD4EAD5FADAF97232B242B252B49F04A -:10E970002091560C3091570C4091580C5091590CE5 -:10E9800008C020915E0C30915F0C4091600C50915A -:10E99000610CA7966CAD7DAD8EAD9FADA7970F9422 -:10E9A000F72B0F9465330F94FA332B013C01AF968C -:10E9B0008CAD9DADAEADBFADAF97892B8A2B8B2BA8 -:10E9C000F9F0E091180D94E0E99FF0011124E35271 -:10E9D000F44F20E030E0A901608171818281938150 -:10E9E0000F94912B882361F081E0E8962CAD3DAD2A -:10E9F0004EAD5FADE89712161306140615060CF01F -:10EA000080E094E5929D8001939D100D11240C549B -:10EA10001D4ED801D7968C93882309F4D0C020913D -:10EA2000D81B3091D91B4091DA1B5091DB1B6596A6 -:10EA30006CAD7DAD8EAD9FAD65970F948632AB9674 -:10EA40006CAF7DAF8EAF9FAFAB972091DC1B309149 -:10EA5000DD1B4091DE1B5091DF1B69966CAD7DADD7 -:10EA60008EAD9FAD69970F948632E8966CAF7DAFFF -:10EA70008EAF9FAFE8972091E01B3091E11B409152 -:10EA8000E21B5091E31B6D966CAD7DAD8EAD9FADDD -:10EA90006D970F9486326B017C01AB962CAD3DAD2A -:10EAA0004EAD5FADAB97CA01B9010F94F72BAB9692 -:10EAB0006CAF7DAF8EAF9FAFAB97E8962CAD3DAD01 -:10EAC0004EAD5FADE897CA01B9010F94F72B9B01DA -:10EAD000AC01AB966CAD7DAD8EAD9FADAB970F9499 -:10EAE0008732AB966CAF7DAF8EAF9FAFAB97A70170 -:10EAF0009601C701B6010F94F72B9B01AC01AB96B1 -:10EB00006CAD7DAD8EAD9FADAB970F9487320F94FA -:10EB100035356B017C012091E41B3091E51B409160 -:10EB2000E61B5091E71BA1966CAD7DAD8EAD9FAD00 -:10EB3000A1970F948632A70196010F9481336B0140 -:10EB40007C01F801FE96608371838283938320E0C9 -:10EB500030E040E450E40F94E73418161CF4F80158 -:10EB600017AA2DC0E091180D24E0E29FF0011124B6 -:10EB7000E352F44F2081318142815381C701B601B4 -:10EB80000F94F72B9B01AC016091D90B7091DA0BBC -:10EB90008091DB0B9091DC0B0F948133A7962CAD09 -:10EBA0003DAD4EAD5FADA7970F94F72B0F94FA33A1 -:10EBB000641575058605970510F42B013C018091BD -:10EBC000D50B9091D60BA091D70BB091D80BC45810 -:10EBD000DF4F288139814A815B81CC57D040821731 -:10EBE0009307A407B50708F4DCC081149104A104BD -:10EBF000B10411F16091C50B7091C60B8091C70BE8 -:10EC00009091C80B6415750586059705A8F40F94B7 -:10EC1000D7316B017C01A5019401C301B2010F94AE -:10EC2000D731C616D706E806F90630F4C701B60193 -:10EC30000F94E73129013A0184E5829DF001839D1B -:10EC4000F00D1124EC54FD4EC18CD28CE38CF48C6D -:10EC5000C114D104E104F10451F16091C90B709128 -:10EC6000CA0B8091CB0B9091CC0B64157505860572 -:10EC70009705E8F4C458DF4F288139814A815B81C8 -:10EC8000CC57D0400F94D7314B015C01A7019601BE -:10EC9000C301B2010F94D73186169706A806B906AC -:10ECA00030F4C501B4010F94E73129013A0184E53C -:10ECB000829DF001839DF00D1124EC54FD4EC58C16 -:10ECC000D68CE78CF0A0C114D104E104F10451F119 -:10ECD0006091CD0B7091CE0B8091CF0B9091D00BAA -:10ECE0006415750586059705E8F4C458DF4F28813B -:10ECF00039814A815B81CC57D0400F94D7314B0189 -:10ED00005C01A7019601C301B2010F94D7318616A9 -:10ED10009706A806B90630F4C501B4010F94E7318F -:10ED200029013A0184E5829DF001839DF00D1124B3 -:10ED3000EC54FD4EC1A0D2A0E3A0F4A0C114D104B4 -:10ED4000E104F10409F451C16091D10B7091D20B2F -:10ED50008091D30B9091D40B6415750586059705AA -:10ED600008F043C1C458DF4F288139814A815B8153 -:10ED7000CC57D0400F94D7314B015C01A7019601CD -:10ED8000C301B2010F94D73186169706A806B906BB -:10ED900008F02BC1C501B4010F94E73129013A01F4 -:10EDA00024C181149104A104B104D9F16091C50B6F -:10EDB0007091C60B8091C70B9091C80B64157505B7 -:10EDC0008605970570F50F94962BC058DF4F288164 -:10EDD00039814A815B81C058D0400F94F72B6B0179 -:10EDE0007C01C501B4010F94962B4B015C01C3015A -:10EDF000B2010F94962BA50194010F94F72B9B0160 -:10EE0000AC01C701B6010F94912B87FF0AC0A50181 -:10EE10009401C701B6010F9481330F94FA332B018B -:10EE20003C0184E5829DF001839DF00D1124EC549A -:10EE3000FD4E818C928CA38CB48C81149104A1041E -:10EE4000B104D9F16091C90B7091CA0B8091CB0BC1 -:10EE50009091CC0B641575058605970570F50F9498 -:10EE6000962BC058DF4F288139814A815B81C05879 -:10EE7000D0400F94F72B6B017C01C501B4010F94B6 -:10EE8000962B4B015C01C301B2010F94962BA50197 -:10EE900094010F94F72B9B01AC01C701B6010F94AD -:10EEA000912B87FF0AC0A5019401C701B6010F94F9 -:10EEB00081330F94FA332B013C0184E5829DF001EC -:10EEC000839DF00D1124EC54FD4E858C968CA78CFF -:10EED000B0A081149104A104B104D9F16091CD0BCB -:10EEE0007091CE0B8091CF0B9091D00B641575056E -:10EEF0008605970570F50F94962BC058DF4F288133 -:10EF000039814A815B81C058D0400F94F72B6B0147 -:10EF10007C01C501B4010F94962B4B015C01C30128 -:10EF2000B2010F94962BA50194010F94F72B9B012E -:10EF3000AC01C701B6010F94912B87FF0AC0A50150 -:10EF40009401C701B6010F9481330F94FA332B015A -:10EF50003C0184E5829DF001839DF00D1124EC5469 -:10EF6000FD4E81A092A0A3A0B4A081149104A1049D -:10EF7000B104D9F16091D10B7091D20B8091D30B78 -:10EF80009091D40B641575058605970570F50F945F -:10EF9000962BC058DF4F288139814A815B81C05848 -:10EFA000D0400F94F72B6B017C01C501B4010F9485 -:10EFB000962B4B015C01C301B2010F94962BA50166 -:10EFC00094010F94F72B9B01AC01C701B6010F947C -:10EFD000912B87FF0AC0A5019401C701B6010F94C8 -:10EFE00081330F94FA332B013C0184E5829D80012B -:10EFF000839D100D11240C541D4EF801E25BFF4F50 -:10F000004082518262827382C301B2010F94962BB7 -:10F010006B017C01A7962CAD3DAD4EAD5FADA797C2 -:10F020000F948133E4966CAF7DAF8EAF9FAFE497C2 -:10F03000D80151966D937D938D939C9354972DEBAE -:10F0400037E346E051E4C701B6010F94F72B0F9464 -:10F05000FA33F80162AB73AB84AB95AB87A9882315 -:10F06000A9F1E091180D24E0E29FF0011124E35290 -:10F07000F44FD801DE962D913D914D915C916081C8 -:10F080007181828193810F94F72BE4962CAD3DAD75 -:10F090004EAD5FADE4970F94F72B2091420C309169 -:10F0A000430C4091440C5091450C0F94F72B9B015D -:10F0B000AC0160E074E284EF99E40F9481330F9423 -:10F0C000FA33D801D9967C936E93D89729A93AA997 -:10F0D0004BA95CA9EC966CAD7DAD8EAD9FADEC9768 -:10F0E0000F94F72BAF966CAF7DAF8EAF9FAFAF97FE -:10F0F000698B7A8B8B8B9C8B2DA93EA94FA958AD20 -:10F10000EC966CAD7DAD8EAD9FADEC970F94F72B6B -:10F110002B013C016D8B7E8B8F8B988F29AD3AAD87 -:10F120004BAD5CADEC966CAD7DAD8EAD9FADEC970F -:10F130000F94F72B4B015C01698F7A8F8B8F9C8F1B -:10F1400021962CAD3DAD4EAD5FAD2197EC966CADEB -:10F150007DAD8EAD9FADEC970F94F72BEC966CAF19 -:10F160007DAF8EAF9FAFEC976D8F7E8F8F8F98A303 -:10F17000C857DF4FB881C858D040BB2309F4DBC261 -:10F18000E091C41BA496EFAFA497F091C51BA8967D -:10F19000FFAFA8972091C61BE5962FAFE59730915A -:10F1A000C71BE0963FAFE0972DEB37E346E855E30A -:10F1B000BF01E5968FADE597E0969FADE0970F9480 -:10F1C000912B87FDB8C28091F50B9091F60BA09121 -:10F1D000F70BB091F80BC458DF4F88839983AA834B -:10F1E000BB83CC57D0402091F90B3091FA0B409162 -:10F1F000FB0B5091FC0BC058DF4F288339834A83A7 -:10F200005B83C058D0408091FD0B9091FE0BA09184 -:10F21000FF0BB091000CCC57DF4F88839983AA83F2 -:10F22000BB83C458D0402091010C3091020C409116 -:10F23000030C5091040CC857DF4F288339834A834D -:10F240005B83C858D040C458DF4F688179818A8178 -:10F250009B81CC57D0409058AF962CAD3DAD4EAD74 -:10F260005FADAF970F94F72B6B017C01C058DF4F58 -:10F27000288139814A815B81C058D040C301B201E5 -:10F280000F94F72B9B01AC01C701B6010F94863296 -:10F290006B017C01CC57DF4F288139814A815B812A -:10F2A000C458D040C501B4010F94F72B9B01AC01A9 -:10F2B000C701B6010F9486326B017C01C857DF4F3E -:10F2C000288139814A815B81C858D040EC966CAD69 -:10F2D0007DAD8EAD9FADEC970F94F72B9B01AC01EC -:10F2E000C701B6010F9486326B017C012FEE3FEF10 -:10F2F0004FE75FE30F94E73418160CF4BEC12FEE0E -:10F300003FEF4FE75FEBC701B6010F94912B87FFEB -:10F3100008C03FEEC32EDD24DA943FE7E32E3FEB37 -:10F32000F32EC458DF4F288139814A815B81CC5745 -:10F33000D040AF966CAD7DAD8EAD9FADAF970F94C5 -:10F34000863269837A838B839C83C058DF4F288100 -:10F3500039814A815B81C058D040C301B2010F940A -:10F3600086326D837E838F839887CC57DF4F2881C9 -:10F3700039814A815B81C458D040C501B4010F94E2 -:10F38000863269877A878B879C87C857DF4F2881A9 -:10F3900039814A815B81C858D040EC966CAD7DAD17 -:10F3A0008EAD9FADEC970F9486326D877E878F87E9 -:10F3B000988BAE014F5F5F4FAD965FAF4EAFAD978D -:10F3C000CE014196A3969FAF8EAFA3978A01812C61 -:10F3D000912C5401D8014D905D906D907D908D01E0 -:10F3E00020E030E0A901C301B2010F94912B8823E2 -:10F3F00071F0A3019201C301B2010F94F72B9B019D -:10F40000AC01C501B4010F9487324B015C01A39696 -:10F41000EEADFFADA397E017F107E1F6C501B4012A -:10F420000F9435359B01AC0160E070E080E89FE30C -:10F430000F9481334B015C01AD960EAD1FADAD97BE -:10F44000A5019401D8016D917D918D919C910F94AE -:10F45000F72BF80161937193819391938F01A39698 -:10F460002EAD3FADA3972E173F0751F702E21CE0E8 -:10F47000E1965FACE197E2966FACE297E3967FACE2 -:10F48000E397E4964FACE497AD96AEADBFADAD97C4 -:10F490008D909D90AD90BD90AD96BFAFAEAFAD9746 -:10F4A00020E030E0A901C501B4010F94912B88231D -:10F4B00031F1F80160817181828193810F94962BE3 -:10F4C000A50194010F9481334B015C0120E030E0F1 -:10F4D000A9010F94E73487FF04C0B7FAB094B7F8D6 -:10F4E000B094252D362D472D542DC501B4010F9410 -:10F4F000912B87FF04C0582C692C7A2C4B2C0C5F65 -:10F500001F4FA3962EAD3FADA397AD964EAD5FAD09 -:10F51000AD972417350709F0B7CFA701960160E032 -:10F5200070E080E89FE30F94863220E030E040E016 -:10F530005FE30F94F72B0F9435354B015C0120915D -:10F54000C10B3091C20B4091C30B5091C40B652D80 -:10F55000762D872D942D0F94F72BA50194010F94F0 -:10F56000F72BAF966CAF7DAF8EAF9FAFAF97A50176 -:10F57000940160E070E080E89FE30F9486329B0185 -:10F58000AC01AF966CAD7DAD8EAD9FADAF970F94D6 -:10F590008133AC966FAFAC97E9967FAFE9978C015A -:10F5A00084E5829DF001839DF00D1124EC54FD4E05 -:10F5B00085849684A784B08820E030E040E85FE34B -:10F5C000C501B4010F94912B87FF61C0A70196017B -:10F5D000C701B6010F94F72B23EC38EB42E35FEB46 -:10F5E0000F94F72B23EF36E64FE55FE30F94863257 -:10F5F000A70196010F94F72B2BED3FE049EC5FE359 -:10F600000F9487322CEE31E548E35EE30F948632A7 -:10F610006B017C0124EE3BEC46E150E40F94E734AF -:10F620001816ACF5A70196016BED7FE089E490E434 -:10F630000F9486329B01AC01C501B4010F94813354 -:10F64000252D362D472D542D0F94F72B6B017C0162 -:10F650009B01AC01AC966FADAC97E9967FADE99795 -:10F66000C8010F94E734181694F4AC96CFAEAC975B -:10F67000E996DFAEE99787010AC05BE0AC965FAF21 -:10F68000AC9787EDE9968FAFE99703E21BE384E53A -:10F69000829DF001839DF00D1124EC54FD4EC1803C -:10F6A000D280E380F4809601A701A4966FADA49761 -:10F6B000A8967FADA897E5968FADE597E0969FADAC -:10F6C000E0970F94E734181664F4A496CFAEA4978D -:10F6D000A896DFAEA897E596EFAEE597E096FFAE69 -:10F6E000E097AC962FADAC97E9963FADE997A801AE -:10F6F000A4966FADA497A8967FADA897E5968FAD19 -:10F70000E597E0969FADE0970F94E7341816FCF468 -:10F71000AC969FADAC97A4969FAFA497E996AFAD7A -:10F72000E997A896AFAFA897E5960FAFE597E09653 -:10F730001FAFE0970CC0A4961FAEA497A8961FAE6B -:10F74000A897E5961FAEE597E0961FAEE09780E19B -:10F75000FE017196A5EFBBE001900D928A95E1F74D -:10F7600084E5829D8001839D100D11240C541D4E53 -:10F77000A4968FADA497A8969FADA897E596AFAD38 -:10F78000E597E096BFADE097F80181879287A38760 -:10F79000B487E4966CAD7DAD8EAD9FADE497905887 -:10F7A0009B01AC010F948732D8011D962D913D919C -:10F7B0004D915C9150970F94F72B9B01AC016BE03E -:10F7C00077ED83E29BE30F9486322BE0C22E27ED88 -:10F7D000D22E23E2E22E2BE3F22EF801C582D6824E -:10F7E000E782F086B080C180D280E380F480A701F8 -:10F7F00096010F94E73487FD02C083E001C081E0E9 -:10F800008B2994E5929DF001939DF00D1124EC5409 -:10F81000FD4E808380E1FE01B196A8ECBBE1019032 -:10F820000D928A95E1F7C092C41BD092C51BE0925D -:10F83000C61BF092C71B80E1FE01EF5BFF4FA8EEF5 -:10F84000BBE101900D928A95E1F780E1FE01EF5A4C -:10F85000FF4FA8EDBBE101900D928A95E1F79091E1 -:10F86000C21B8091C31B981303C084E68093BF1B07 -:10F87000C856DF4F8881C859D0408F5F8F70809302 -:10F88000C21B8091C21B9091C11B81508F70891740 -:10F8900009F4B6C0F090C21B8FEF8F0D8F70A49645 -:10F8A0008FAFA497B090C11B8091C21BB81609F40A -:10F8B00076C0C12CD12CA496FFADA497FB1509F4FA -:10F8C0006EC06F2E712C24E5269D8001279D100DA2 -:10F8D00011240C541D4ED8018C9183FD3DC0AC9673 -:10F8E0000FAFAC97E9961FAFE99701151105D1F15C -:10F8F0001996BC91A896BFAFA897F801F285E59636 -:10F90000FFAFE597D8011B96BC91E096BFAFE0979B -:10F91000F801F485E196FFAFE197D80115962D9097 -:10F920003D904D905C901897A2019101A8966FAD03 -:10F93000A897E5967FADE597E0968FADE0979F2F6E -:10F940000F94912B8111F0C1C114D10459F0F6012B -:10F95000808180FDE9C106C0AC96CFAEAC97E99638 -:10F96000DFAEE997A4968FADA49781508F70A496CF -:10F970008FAFA4978091C11B8B1107C0AC96CFAC01 -:10F98000AC97E996DFACE99796CFA496FFADA49724 -:10F99000FB1529F081E08B0D8F70B82EEBCF2091F5 -:10F9A000C11BA4962FAFA497C12CD12C8091C21B50 -:10F9B000A4963FADA497831719F1832E912C44E5AB -:10F9C000489D8001499D100D11240C541D4ED801F5 -:10F9D0008C9183FD0AC05801C114D10439F0C601CD -:10F9E0000F944213811102C035C25601A4968FAD07 -:10F9F000A4978F5F8F70A4968FAFA4976501D6CF21 -:10FA00004091C31BA4964FAFA4975091C21BA896D8 -:10FA10005FAFA89724E5A4968FADA497A8969FAD55 -:10FA2000A897891779F0892F81508F70289FF0014E -:10FA30001124EC54FD4E908193FF04C0A8968FAF23 -:10FA4000A897E9CF812C912CA12CB12CE5961FAE63 -:10FA5000E597E0961FAEE097E1961FAEE197AC9672 -:10FA60001FAEAC97212C312C00E010E0A896AFAD72 -:10FA7000A897A496BFADA497AB1709F4D4C0E4E54A -:10FA8000EB9FC00111249C012C543D4E1901D9015A -:10FA90008C9183FD19C015966D917D918D919C91EE -:10FAA00018970F943535F62EE72ED82EC92E01154E -:10FAB000110509F49EC0F801808180FD12C0D101BA -:10FAC0008C9180FD0EC095C0E596FFACE597E09661 -:10FAD000EFACE097E196DFACE197AC96CFACAC979A -:10FAE0008DC0F801808181608083C8010F9442132A -:10FAF00081117BC0F80161817281838194810F94AF -:10FB000035352B013C019B01AC0160E070E080E8E1 -:10FB10009FE30F9481334B015C019B01AC016F2D7E -:10FB20007E2D8D2D9C2D0F94F72B69837A838B83EB -:10FB30009C83E5962FADE597E0963FADE097E19683 -:10FB40004FADE197AC965FADAC97C501B4010F9492 -:10FB5000F72B698B7A8B8B8B9C8BAE014F5F5F4F42 -:10FB6000BE016F5E7F4FC8010E94D8F4D801D796BE -:10FB70008C918823D1F1E091180DB4E0EB9FF00156 -:10FB80001124E352F44FD801DE962D913D914D9111 -:10FB90005C9160817181828193810F94F72B209118 -:10FBA000420C3091430C4091440C5091450C0F9401 -:10FBB000F72B4B015C019B01AC01C301B2010F9417 -:10FBC000F72B0F94FA33F80173AF62AFA5019401DC -:10FBD0006F2D7E2D8D2D9C2D0F94F72B0F94FA33C6 -:10FBE000D801DD967C936E93DC97F80180818E7F3F -:10FBF00080838F2C9E2CAD2CBC2C8101A4968FADC4 -:10FC0000A4978F5F8F70A4968FAFA497E596FFAEF1 -:10FC1000E597E096EFAEE097E196DFAEE197AC9620 -:10FC2000CFAEAC9723CF2114310409F40CC1D1011C -:10FC30008C9181608C93C8010F94421381116FC025 -:10FC4000F10161817281838194810F9435356B015B -:10FC50007C019B01AC0160E070E080E89FE30F94C1 -:10FC600081332B013C012DEC3CEC4CE45DE30F9423 -:10FC7000F72B69837A838B839C839401A501C3014D -:10FC8000B2010F94F72B698B7A8B8B8B9C8BAE0117 -:10FC90004F5F5F4FBE016F5E7F4FC1010E94D8F47E -:10FCA000D101D7968C918823D1F1E091180DB4E061 -:10FCB000EB9FF0011124E352F44FD101DE962D9118 -:10FCC0003D914D915C9160817181828193810F940E -:10FCD000F72B2091420C3091430C4091440C5091F1 -:10FCE000450C0F94F72B4B015C019B01AC01C70144 -:10FCF000B6010F94F72B0F94FA33F10173AF62AF93 -:10FD00002DEC3CEC4CE45DE3C501B4010F94F72B02 -:10FD10000F94FA33D101DD967C936E93DC97F10159 -:10FD200080818E7F80838FC024E5269DF001279DF2 -:10FD3000F00D1124EC54FD4E808181FD4BC0C114A7 -:10FD4000D10441F0D6011596CD90DD90ED90FC9058 -:10FD5000189708C08BE0C82E87EDD82E83E2E82ED6 -:10FD60008BE3F82EB4E5B69DF001B79DF00D11249C -:10FD7000EC54FD4E81899289A389B489BC01CD01DF -:10FD800090589B01AC010F948732F8012585368588 -:10FD9000478550890F94F72B9B01AC01C701B60131 -:10FDA0000F948632E62E872E982EA92E262F372FD7 -:10FDB000482F592FA8966FADA897E5967FADE59788 -:10FDC000E0968FADE097E1969FADE1970F94912B70 -:10FDD00087FF0CC0A896EFACA897E5968FACE59787 -:10FDE000E0969FACE097E196AFACE1972E2D382DD1 -:10FDF000492D5A2DC201B1010F94912B882309F48A -:10FE0000B1CDF4E5F69DC001F79D900D11249C0144 -:10FE10002C543D4E6901D9018C9181608C93C801AD -:10FE20000F944213882329F0F60180818E7F80830E -:10FE300099CD8E2D982DA92DBA2DF6018583968307 -:10FE4000A783B0878FCD80916F00826080936F0011 -:10FE500081E082C0D6018C9181FD58C0D6011596F3 -:10FE60002D913D914D915C911897AB962CAF3DAF84 -:10FE70004EAF5FAFAB971501B5E02B0E311CF8010B -:10FE80004580568067807084A3019201AB966CAD6B -:10FE90007DAD8EAD9FADAB970F94912B87FF36C094 -:10FEA000F60181899289A389B489BC01CD0190585A -:10FEB0009B01AC010F948732D6011D962D913D9187 -:10FEC0004D915C9150970F94F72B9B01AC01AB9631 -:10FED0006CAD7DAD8EAD9FADAB970F9486326B014F -:10FEE0007C019B01AC01C301B2010F94E7341816E9 -:10FEF0006CF4D8018C9181608C93C5010F944213EE -:10FF00008823F1F0F80180818E7F808324E5289D8D -:10FF1000F001299DF00D1124EC54FD4E2185328510 -:10FF20004385548565817681878190850F94912BD7 -:10FF300081115CCDA4963FADA4973093C11B56CDE3 -:10FF4000D101CD92DD92ED92FC921397A496BFADB4 -:10FF5000A497B093C11BDACFC656DF4F0FB6F89403 -:10FF6000DEBF0FBECDBFDF91CF911F910F91FF90EC -:10FF7000EF90DF90CF90BF90AF909F908F907F9049 -:10FF80006F905F904F903F902F9008950F931F9325 -:10FF9000CF93DF9306E31CE0C5EEDBE0F80121918F -:10FFA0003191419151918F0160E070E080E89FE3D1 -:10FFB0000F9481336993799389939993FBE0C53FBB -:10FFC000DF0761F70E94F7A1DF91CF911F910F9199 -:10FFD0000C94B8F02F923F924F925F926F927F9263 -:10FFE0008F929F92AF92BF92CF92DF92EF92FF9249 -:10FFF0000F931F93CF93DF93CDB7DEB7C154D109D1 -:020000021000EC -:100000000FB6F894DEBF0FBECDBF2DB73EB73FA7EA -:100010002EA70E9489A281114FC461E086E50E944B -:100020009DB38D8B853018F08AE097E179C03D89CA -:10003000332321F08AEE96E10F94B3176AE080E54E -:100040000E949DB3182F8CEF810F8F3218F086EC31 -:1000500096E166C060E085E40E94E666811103C017 -:1000600082E08FA302C091E09FA36091190D70916F -:100070001A0D80911B0D90911C0D6D837E838F83D3 -:100080009887C0901D0DD0901E0DE0901F0DF09030 -:10009000200DC986DA86EB86FC862091C10C309152 -:1000A000C20C4091C30C5091C40C0F948732AB0129 -:1000B000BC0188E50E940FC96D877E878F87988B6A -:1000C00029853A854B855C856091C50C7091C60C7D -:1000D0008091C70C9091C80C0F948732AB01BC0182 -:1000E00089E50E940FC9698B7A8B8B8B9C8BBE0133 -:1000F0006F5E7F4FCE010D960E9459B2811103C0F1 -:100100008EEA96E10DC08CE40E949066082F882349 -:1001100081F00E9431668E8B803128F08BE796E16A -:100120000F94B317C9C3AE89A13021F4B2E0BE8BDE -:1001300001C01E8A60E083E50E94E6668CAB8823DE -:1001400021F0011102C0E7E0EE8BFD89F33020F0D1 -:1001500081E696E10F94B3172091310D2BAF80E02B -:100160000E94B96C0E946FDE812F90E09EAB8DAB38 -:10017000ADB7BEB7E4E01E9FA019B10911240FB6B8 -:10018000F894BEBF0FBEADBF2DB73EB72F5F3F4F38 -:100190003DA72CA72D894FA1BE016F5E7F4FCE01D9 -:1001A0000D960E9438A39B01AC010F947935811103 -:1001B000ECC20F94A41B611571058105910511F026 -:1001C0000F94222733EF3F8B8FE4888F93EC998F26 -:1001D00037EC232EA3EFAA8FBFE4BB8FE3ECEC8FA9 -:1001E000F7E4FD8F1EA233243394412C512C3201AD -:1001F0004AA25BA26CA27DA22E89822F90E0DC0134 -:1002000011972296BFAFAEAF2297FEA1EF2FF0E07D -:10021000FF8FEE8F2DA93EA9E217F3070CF0CDC298 -:100220003E89332309F46EC10F94D4262AE030E0CE -:1002300040E050E00F9409320F94982B20E030E01A -:1002400040EA50E40F94E73418161CF001E010E087 -:1002500002C00FEF1FEF0F94D42628E631E040E0F4 -:1002600050E00F9409320F94982B4B015C010F94CE -:10027000D42621E230E040E050E00F9409326B5F79 -:100280007F4F8F4F9F4F0F94982B68A779A78AA70E -:100290009BA78D898430E1F448A559A56AA57BA563 -:1002A00083E596E10F946718B501A4018BE496E10C -:1002B0000F94671885E496E10F94B3170130110588 -:1002C00019F483E40E94425381E496E10F94B3173A -:1002D000312CC801110FAA0BBB0B8FAB98AFA9AF84 -:1002E000BAAF832D90E02296AEADBFAD22978A17AC -:1002F0009B070CF007C1BCA9BB2379F06FA978ADAF -:1003000089AD9AAD0F94982B9B01AC010F94873265 -:1003100020E030E040E952E41AC00F94D42624E1F2 -:1003200030E040E050E00F940932675E7F4F8F4F1E -:100330009F4F0F94982B6B017C016FA978AD89AD0D -:100340009AAD0F94982B9B01AC01C701B6010F9495 -:10035000F72B9B01AC01C501B4010F9487324B010F -:100360005C0120E030E044EB53E40F94E7341816CE -:100370004CF420E030E044EB53E4C501B4010F94A9 -:100380008632EDCF20E030E0A901C501B4010F9421 -:10039000912B87FF0BC020E030E044EB53E4C50114 -:1003A000B4010F9487324B015C01ECCF2BED3FE0A1 -:1003B00049E450E4C501B4010F94F72B20E030E08C -:1003C00044E353E40F9481336B017C010F947C333D -:1003D00068AB79AB8AAB9BAB2091C10C3091C20C5E -:1003E0004091C30C5091C40C6D857E858F85988992 -:1003F0000F9486326CAF7DAF8EAF9FAF28A939A91D -:100400004AA95BA968A579A58AA59BA50F94F72B96 -:100410009B01AC016CAD7DAD8EAD9FAD0F9487326D -:100420006D837E838F839887C701B6010F9427352C -:1004300068AB79AB8AAB9BAB2091C50C3091C60CF5 -:100440004091C70C5091C80C69897A898B899C8925 -:100450000F9486326B017C0128A939A94AA95BA9AE -:1004600068A579A58AA59BA50F94F72B9B01AC01E4 -:10047000C701B6010F94873269877A878B879C877B -:100480004BE351E060E070E0CE0105960F94640EFE -:1004900044E351E060E070E0CE0109960F94640EF1 -:1004A000ED89E430F9F44D815E816F81788585E3D3 -:1004B00096E10F94671849855A856B857C8582E3A0 -:1004C00096E10F9467184091210D5091220D609193 -:1004D000230D7091240D8FE296E10F9467188AE046 -:1004E0000E94425319821A821B821C82AE014F5F06 -:1004F0005F4FBE01675F7F4FCE0105960E944FDFC1 -:100500003394EFCE20E04FA1BE016F5E7F4FCE014E -:100510000D960E9438A3D62EE72EF82E192FEE8DB9 -:10052000FF8DEE0FFF1FEE0FFF1F2CA53DA5E20F65 -:10053000F31F862F9E2DAF2DB12F80839183A28331 -:10054000B383312C2D2D3E2D4F2D512F6D2D7E2D12 -:100550008F2D912F0F947935811102C0332433945C -:100560002D2D3E2D4F2D512F6D2D7E2D8F2D912F09 -:100570000F947935811121C100E0412C512C3201B9 -:10058000ECA5FDA534E0039FE00DF11D11242081B1 -:10059000318142815381C301B2010F9487322B0113 -:1005A0003C010F5F8EA1801758F78E8C9F8C9FEFB8 -:1005B000891A990A092C000CAA08BB08C501B401C4 -:1005C0000F94982B6E8F7F8F88A399A39B01AC010A -:1005D000C301B2010F9481336AA37BA38CA39DA3B3 -:1005E0002A8D3B8D4C8D5D8D6D2D7E2D8F2D912F08 -:1005F0000F94912B87FF04C0DA8EEB8EFC8E1D8F3B -:100600002F89388D498D522D6D2D7E2D8F2D912F57 -:100610000F94E734181624F4DF8AE88EF98E212E21 -:10062000C12C412C512C3201ECA5FDA5A4E0CA9EA1 -:10063000E00DF11D11242AA13BA14CA15DA1608117 -:100640007181828193810F9486329B01AC010F945A -:10065000F72B9B01AC01C301B2010F9487322B0130 -:100660003C01C394BEA1BC15F8F62E8D3F8D48A168 -:1006700059A10F9481330F9435352B013C018D899D -:1006800082508E3708F07DC0C501B4010E94B65378 -:100690006DA97EA98AE296E10F9478189DE9A92EAA -:1006A00096E0B92EF50181915F01882319F00E942F -:1006B0004253F8CF43E06D2D7E2D8F2D912F0E9458 -:1006C000D253FD89F23009F459C003EA16E0D8018B -:1006D0008D918D01882319F00E944253F8CF44E098 -:1006E0006AA17BA18CA19DA10E94D2530BEA16E0C6 -:1006F000F80181918F01882319F00E944253F8CFAD -:1007000046E0C301B2010E94D25304EB16E0D801C7 -:100710008D918D01882319F00E944253F8CF43E058 -:100720006A8D7B8D8C8D9D8D0E94D2530BEB16E0D4 -:10073000F80181918F01882319F00E944253F8CF6C -:1007400043E06F89788D898D922D0E94D25302ECFF -:1007500016E0D8018D918D01882319F00E94425333 -:10076000F8CF2A8D3B8D4C8D5D8D6F89788D898D6D -:10077000922D0F94863243E00E94D2538AE00E9469 -:100780004253BEA1BF5FBEA340CDE3EFEF8BFFE4BA -:10079000F88F23EC298F87EC282E33EF3A8F8FE4E4 -:1007A0008B8F93EC9C8FA7E4AD8F312C412C512C77 -:1007B00032014AA25BA26CA27DA280E00E9479B1C4 -:1007C000332009F46AC08FE196E10F94B317BD8915 -:1007D000BB2309F44DC00BEC16E0F80181918F01A9 -:1007E000882319F00E944253F8CF46E06AA17BA10A -:1007F0008CA19DA10E94D25302ED16E0D8018D91EB -:100800008D01882319F00E944253F8CF43E06A8D8E -:100810007B8D8C8D9D8D0E94D25309ED16E0F801E1 -:1008200081918F01882319F00E944253F8CF43E051 -:100830006F89788D898D922D0E94D25300EE16E03B -:10084000D8018D918D01882319F00E944253F8CF71 -:100850002A8D3B8D4C8D5D8D6F89788D898D922D84 -:100860000F94863243E00E94D2538AE00E944253A2 -:1008700009EE16E0F80181918F01882319F00E949A -:100880004253F8CF46E0C301B2010E94D2538AE03E -:100890000E9442538AE00E9442530E9456DE8BAD72 -:1008A0000E94B96C0E941CE02EA53FA50FB6F894DB -:1008B0003EBF0FBE2DBF07C08EA59FA50FB6F894F3 -:1008C0009EBF0FBE8DBFAEA5BFA50FB6F894BEBF2D -:1008D0000FBEADBFCF5BDF4F0FB6F894DEBF0FBECC -:1008E000CDBFDF91CF911F910F91FF90EF90DF90DF -:1008F000CF90BF90AF909F908F907F906F905F90C0 -:100900004F903F902F9008952F923F924F925F9279 -:100910006F927F928F929F92AF92BF92CF92DF920F -:10092000EF92FF920F931F93CF93DF93CDB7DEB774 -:10093000E5970FB6F894DEBF0FBECDBF3090310DF6 -:1009400087E50E949066882309F4F9C08091B61962 -:100950009091B719892B29F40F9498188DE096E19E -:1009600034C08AE50E94D966882379F00E945966CE -:100970002091BD0C3091BE0C4091BF0C5091C00C29 -:100980000F9486326B017C0108C0C090210DD0907D -:10099000220DE090230DF090240D20E030E040E2A5 -:1009A00051ECC701B6010F94E73487FD0AC020E07F -:1009B00030E040E251E4C701B6010F94912B1816C4 -:1009C0003CF40F94981880E096E10F94B317BFC0E1 -:1009D00040E050E060EC7FE788E50E940FC920917D -:1009E000B50C3091B60C4091B70C5091B80C0F94E7 -:1009F00086322B013C0140E050E060EC7FE789E566 -:100A00000E940FC92091B90C3091BA0C4091BB0CD7 -:100A10005091BC0C0F9486324B015C016FEF89E45E -:100A20000E949DB3182F6FEF8AE40E949DB3082F98 -:100A3000A3019201C301B2010F947935811158C00D -:100A4000A5019401C501B4010F947935811150C0FD -:100A500060912F1A7091301A072E000C880B990B99 -:100A60000F94982B9B01AC01C301B2010F94863205 -:100A700020E030E0A9010F94873220E030E0A901A6 -:100A80000F9481330F94F333162F6091311A7091C4 -:100A9000321A072E000C880B990B0F94982B9B0190 -:100AA000AC01C501B4010F94863220E030E0A90109 -:100AB0000F94873220E030E0A9010F9481330F9426 -:100AC000F333062F812F012E000C990B97FD04C0E4 -:100AD00005971CF014E001C010E0802F002E000CE0 -:100AE000990B97FD04C005971CF004E001C000E0DD -:100AF000153068F5063058F580E00E94B96C25E0A5 -:100B00001202F0011124E00FF11D07FDFA95EE0F1E -:100B1000FF1FEE0FFF1FE653F64EC082D182E28226 -:100B2000F382A7019601602F812F0E94E1C7832DD8 -:100B30000E94B96C332059F00E941CE008C08AE47E -:100B40000E949066182F882321F00E94FF6C10E00D -:100B5000D6C460E070E086E50E948EB39A8F898FDC -:100B6000059718F088ED95E1A1C260E084E40E9449 -:100B7000E666282E40E050E0BA018AE50E940FC9DF -:100B80006DA77EA78FA798AB40E050E86BEB75E4AC -:100B900083E50E940FC920E030E040E752E40F9463 -:100BA000813360934B0270934C0280934D0290937B -:100BB0004E0288E40E949066882309F40BC10E94CB -:100BC00059660F94F333698B7A8B8B8B9C8B698876 -:100BD0007A888090C10C9090C20CA090C30CB09009 -:100BE000C40C20E030E0A901C501B4010F948732A4 -:100BF000D62EE72EF82E092F20E030E040E450E416 -:100C00000F94912B87FF05C0D12CE12CF0E4FF2E2F -:100C100000E469897A8977FE02C06F5F7F4F75951E -:100C2000679588279927861B970B9E8B8D8BBC0118 -:100C300063567F4F072E000C880B990B0F94982B4F -:100C4000562E672E782EC92E2D2D3E2D4F2D502F2E -:100C50000F94E73418161CF4D52C73010C2D6D2D50 -:100C60007E2D8F2D902F0F94F3336B017C012B0180 -:100C700020E030E84DE953E4C501B4010F94873218 -:100C8000962EA72EB82E092F20E030E84BE953E42A -:100C90000F94E734181634F4912C60E8A62E7BE903 -:100CA000B72E03E469897A896C0D7D1D072E000C2F -:100CB000880B990B0F94982B6B017C01292D3A2DF1 -:100CC0004B2D502F0F94912B87FF04C09C2CAD2CE3 -:100CD000BE2C0F2D692D7A2D8B2D902F0F94F33371 -:100CE000788F6F8B8090C50C9090C60CA090C70C2D -:100CF000B090C80C20E030E0A901C501B4010F9408 -:100D00008732D62EE72EF82E092F20E030E040E47F -:100D100050E40F94912B87FF05C0D12CE12C50E4B7 -:100D2000F52E00E46D897E8966567F4F072E000CF4 -:100D3000880B990B0F94982B6D8B672E782EC92EEC -:100D40002D2D3E2D4F2D502F0F94E73418161CF4E7 -:100D5000DD8873010C2D6D2D7E2D8F2D902F0F941E -:100D6000F3336B017C013B0120E030E04AE953E4BE -:100D7000C501B4010F948732962EA72EB82E092FE5 -:100D800020E030E848E953E40F94E734181634F4CF -:100D9000912C30E8A32E48E9B42E03E469897A89BE -:100DA0006C0D7D1D072E000C880B990B0F94982B52 -:100DB0006B017C01292D3A2D4B2D502F0F94912B37 -:100DC00087FF04C09C2CAD2CBE2C0F2D692D7A2DD5 -:100DD0008B2D1FC18CE40E94D966882369F00E9484 -:100DE00059662091B50C3091B60C4091B70C5091DA -:100DF000B80C0F9486322BC020E030E0A90160913E -:100E0000C10C7091C20C8091C30C9091C40C0F94D2 -:100E100087326B017C0120E030E040E450E40F9425 -:100E2000912B87FD0DC020E030E0A901C701B6017C -:100E30000F94912B87FF09C0C12CD12C760105C0DE -:100E4000C12CD12C20E4E22EFE2CC701B6010F9458 -:100E5000F3332B0182E50E94D966882369F00E9452 -:100E600059662091B50C3091B60C4091B70C509159 -:100E7000B80C0F9486323CC020E030E84DE953E4D2 -:100E80006091C10C7091C20C8091C30C9091C40C04 -:100E90000F948732D62EE72EF82E092F20E030E867 -:100EA0004BE953E40F94E734181634F4D12C80E85E -:100EB000E82E9BE9F92E03E4B201655C7E4F072E14 -:100EC000000C880B990B0F94982B962EA72EB82EFA -:100ED000C92E2D2D3E2D4F2D502F0F94912B87FF76 -:100EE00003C0D92C75010C2D6D2D7E2D8F2D902FCB -:100EF0000F94F333788F6F8B86E40E94D966882332 -:100F000069F00E9459662091B90C3091BA0C409159 -:100F1000BB0C5091BC0C0F9486322BC020E030E00B -:100F2000A9016091C50C7091C60C8091C70C90917D -:100F3000C80C0F9487326B017C0120E030E040E464 -:100F400050E40F94912B87FD0DC020E030E0A90103 -:100F5000C701B6010F94912B87FF09C0C12CD12C7A -:100F6000760105C0C12CD12C00E4E02EFE2CC70177 -:100F7000B6010F94F3333B0182E40E94D9668823C3 -:100F800069F00E9459662091B90C3091BA0C4091D9 -:100F9000BB0C5091BC0C0F9486323CC020E030E07A -:100FA0004AE953E46091C50C7091C60C8091C70C5E -:100FB0009091C80C0F948732D62EE72EF82E092F69 -:100FC00020E030E848E953E40F94E734181634F48D -:100FD000D12CA0E8EA2EB8E9FB2E03E4B3016C5C47 -:100FE0007E4F072E000C880B990B0F94982B962E92 -:100FF000A72EB82EC92E2D2D3E2D4F2D502F0F94DC -:10100000912B87FF03C0D92C75010C2D6D2D7E2DE2 -:101010008F2D902F0F94F3337B01B301072C000C1D -:10102000880B990B0F94982B6C8F7D8F8E8F9F8FD1 -:1010300069837A838B839C83B201052C000C880B17 -:10104000990B0F94982B68A379A38AA39BA36D8314 -:101050007E838F839887BE016F5F7F4FCE01059699 -:101060000E9459B2882301F1B7010F2C000C880BA4 -:10107000990B0F94982B69877A878B879C87AF8908 -:10108000B88DBD01BB0F880B990B0F94982B6D8702 -:101090007E878F87988BBE01675F7F4FCE010D964D -:1010A0000E9459B2813029F08CEB95E10F94B3176F -:1010B00026C2298D3A8D232B69F086EA95E10F949B -:1010C000B317222021F08CE995E10F94B3178AE041 -:1010D0000E9442530E942FF180E00E94B96C81E08F -:1010E0000E9479B1882321F0832D0E94B96C2FCD05 -:1010F0000F89188D0419150917FF02C00D5F1F4FC6 -:101100001595079515950795B801012E000C880BCC -:10111000990B0F94982B6CA37DA38EA39FA3E61825 -:10112000F708F7FE03C033E0E30EF11C5701B59456 -:10113000A794B594A794B5010B2C000C880B990BC0 -:101140000F94982B68A779A78AA79BA70E946FDEA8 -:101150006091B6197091B719072E000C880B990B86 -:101160000F94982B9B01AC016CA17DA18EA19FA136 -:101170000F94912B811122C06091B8197091B91907 -:10118000072E000C880B990B0F94982B9B01AC0138 -:1011900068A579A58AA59BA50F94912B81110EC0F6 -:1011A00080912F1A9091301A4816590639F480917F -:1011B000311A9091321A6816790699F00E94FF6CE4 -:1011C0001093B7190093B619B092B919A092B81933 -:1011D0005092301A40922F1A7092321A6092311A3D -:1011E000312C60E085E40E94E666882319F061E016 -:1011F0006CA702C082E08CA791E09B8FE12CF12CC0 -:10120000812C912C5401A1E0A98BB1E0BD8B25E08C -:101210002F8B10E07FE6C72E75E1D72EE9AAA989AA -:10122000B1E0AB27A98B0B8DC7010F2C000CAA0BCB -:10123000BB0B8AAB9BABACABBDAB9F89911709F4E1 -:10124000BEC0612F012E000C770B880B990B0F94F9 -:10125000982B2CA13DA14EA15FA10F94F72B28A1A3 -:1012600039A14AA15BA10F9487322B013C016AA9E5 -:101270007BA98CA99DA90F94982B28A539A54AA5CF -:101280005BA50F94F72B2C8D3D8D4E8D5F8D0F94AC -:1012900087324B015C0120E030E0A901C301B201BB -:1012A0000F94912B87FF04C020E030E0A90104C017 -:1012B00020E030E040E05FE3C301B2010F948732E9 -:1012C0000F94293469837A838B839C8320E030E0F8 -:1012D000A901C501B4010F94912B87FF04C020E040 -:1012E00030E0A90104C020E030E040E05FE3C50148 -:1012F000B4010F9487320F9429346D837E838F83DA -:101300009887A98DBA8DAB2B81F0602F70E088E8AB -:1013100095E10F94781869E170E086E895E10F9403 -:10132000781883E895E10F94B3171F92B9E1BF9342 -:101330001F920F93DF92CF921F920E946FA2298D6E -:101340004CA5BE016B5F7F4FCE0101960E9438A372 -:101350004B015C010FB6F894DEBF0FBECDBF9B0101 -:10136000AC010F947935882321F0832D0E94B96C4C -:1013700033C0A50194016DA57EA58FA598A90F94F2 -:1013800087329B01AC0165E01603F0011124EE0DDC -:10139000FF1DEE0FFF1FEE0FFF1FE653F64E2083DB -:1013A00031834283538369A9812F0E94E1C780E082 -:1013B0000E946E540F5F8D89180F312C3ECF94E040 -:1013C000E916F10449F0A5019401C501B4010F9497 -:1013D0007935882309F47EC00E9475EF80E00E9471 -:1013E00079B1882351F0832D0E94B96C812C912C06 -:1013F00090ECA92E9FE7B92E52C0A5019401C5011A -:10140000B4010F94793581114AC0222001F10F9463 -:10141000C2170F946F1521103FC089E19DE00F9412 -:1014200056139B01AC016091210D7091220D8091AA -:10143000230D9091240D0F9486326093210D7093AB -:10144000220D8093230D9093240D81E026C012E09D -:1014500084E0F82E02E0EF2CE11ADF2CD01A21E014 -:1014600041E0602F812F0F94DC1521E04FEF602FBA -:101470008E2D0F94DC152FEF41E06D2D812F0F94F1 -:10148000DC152FEF4FEF6D2D8E2D0F94DC150150D5 -:1014900020F71150F8F6BBCF832D8093310D0E94B9 -:1014A00056DE8091310D81110E941AE00E9431B107 -:1014B0000E942FF183E695E10E941FD90E941CE053 -:1014C00011E0A5019401C501B4010F947935811192 -:1014D00016C03DCBA989AA2361F031E03D8B65E0C0 -:1014E0006F8B10E08FEFE81AF80A9B8D9B5F9B8F44 -:1014F00095CEBFEFBD8B2FEF2F8B14E0F3CF812F55 -:10150000E5960FB6F894DEBF0FBECDBFDF91CF9149 -:101510001F910F91FF90EF90DF90CF90BF90AF9011 -:101520009F908F907F906F905F904F903F902F9003 -:1015300008958F929F92AF92BF92CF92DF92EF92D7 -:10154000FF920F931F93CF93DF93EC018B81811157 -:1015500002C080E078C009891A892B893C89041768 -:10156000150726073707A8F36A017B01823029F4A3 -:10157000C886D986EA86FB860DC0C114D104E10471 -:10158000F10451F4188619861A861B861C821D8266 -:101590001E821F8281E057C088849984AA84BB84FC -:1015A000E98DFA8D258530E0275F3F4FB501A40115 -:1015B0004150510961097109022E04C07695679561 -:1015C000579547950A94D2F7D701C6010197A1090B -:1015D000B10904C0B695A795979587952A95D2F736 -:1015E00084179507A607B70720F089288A288B2833 -:1015F00071F44D895E896F89788D4C835D836E832C -:101600007F834C015D018E010C5F1F4F16C0841B50 -:10161000950BA60BB70BF5CF4C815D816E817F8159 -:101620009801898D9A8D0E94496391E0891A9108E9 -:10163000A108B108882309F48CCF81149104A10476 -:10164000B10451F795CFDF91CF911F910F91FF908A -:10165000EF90DF90CF90BF90AF909F908F900895C4 -:101660000F931F93CF93DF93FC012381222311F06B -:1016700080E044C08B01EC01FB018789803139F1A6 -:101680008032B1F783E08B83F801428D538D648DF6 -:10169000758D4D8B5E8B6F8B788F9E012F5E3F4FCC -:1016A000C8010E94CA63882319F31A8F098F81E049 -:1016B0008983188619861A861B861C821D821E82C3 -:1016C0001F82188A1C861D861E861F8617C082E010 -:1016D0008B831D8A1E8A1F8A188EFB01808D918D37 -:1016E000A0E0B0E025E0880F991FAA1FBB1F2A9534 -:1016F000D1F7898B9A8BAB8BBC8BD7CFDF91CF91F6 -:101700001F910F910895CF93DF93EC0141E0611198 -:1017100001C040E06C857D858E859F850E947E623C -:10172000882341F0888920E2829FC00111248A5CCD -:10173000924F02C080E090E0DF91CF910895CF9367 -:10174000DF93EB01FC012381211102C080E028C05E -:101750002250223020F48FE28883198220C060E07A -:101760000E94838B009791F3FC0190E080E02EE2D1 -:101770003081303269F0883029F4DE01A90FB11DC3 -:101780002C939F5FDE01A90FB11D30813C939F5FB9 -:101790008F5F31968B3061F7C90FD11D188281E0C0 -:1017A000DF91CF9108953F924F925F926F927F9217 -:1017B0008F929F92AF92BF92CF92DF92EF92FF9261 -:1017C0000F931F93CF93DF93CDB7DEB72C970FB650 -:1017D000F894DEBF0FBECDBF5C01DC0159968D9041 -:1017E0009C905A97F40181859285A385B4859C01CC -:1017F000AD012F5F3F4F4F4F5F4F29873A874B8790 -:101800005C87D5011496CD90DD90ED90FC901797F4 -:10181000C114D104E104F10439F0BFEFCB1ADB0AA3 -:10182000EB0AFB0A312C07C0F401C080D180E280B2 -:10183000F38033243394260137011D821E821F82D8 -:101840001886F40181859285A385B4852D813E811A -:101850004F815885281739074A075B0708F064C08D -:1018600089859A85AB85BC858C159D05AE05BF0520 -:1018700050F482E0C82ED12CE12CF12C92E0492EBC -:10188000512C612C712C9E012F5F3F4FB701A60197 -:10189000C4010E944963882309F446C089819A8162 -:1018A000AB81BC81892B8A2B8B2B41F02601370120 -:1018B0009FEF491A590A690A790A05C0C414D50468 -:1018C000E604F70491F02D813E814F8158852F5F0A -:1018D0003F4F4F4F5F4F2D833E834F8358873FEFDE -:1018E000C31AD30AE30AF30AACCF0FEF1FEF2FEFAF -:1018F0003FE0B301A201C4010E94B762F82E882321 -:1019000099F0D50114964D915D916D917C91179749 -:10191000411551056105710549F093018201C4012A -:101920000E94B762811102C0F12C29C0D501149622 -:101930004D925D926D927C921797332051F0D301B6 -:10194000C2010196A11DB11DF40180839183A28380 -:10195000B383F50185899689A789B08D892B8A2B58 -:101960008B2B69F4D50155964D925D926D927C92C8 -:10197000589711968C911197806811968C938F2DA2 -:101980002C960FB6F894DEBF0FBECDBFDF91CF917E -:101990001F910F91FF90EF90DF90CF90BF90AF908D -:1019A0009F908F907F906F905F904F903F900895A1 -:1019B00040E050E0BA010C94998A61E0FC0180811A -:1019C0000E9456A78FEF0C94975BEF92FF921F93A4 -:1019D000CF93DF9300D01F92CDB7DEB77C01162FD7 -:1019E00029833A834B835C83FC0182810E94A35B41 -:1019F00060E0F70180810E9456A70F945B06812F5B -:101A000080640E94975B8C810E94975B8B810E940F -:101A1000975B8A810E94975B89810E94975B112363 -:101A200011F087E801C085E90E94975B1C3011F432 -:101A30000E949C5B10E00E949C5BF701838387FF00 -:101A400004C01F3F11F01F5FF6CF0F900F900F9053 -:101A50000F90DF91CF911F91FF90EF9008950F931A -:101A60001F93CF93DF93EC0189018C81833039F090 -:101A700089E0440F551F661F771F8A95D1F79A0199 -:101A8000AB0168E1CE010E94E58C811128C08EEF88 -:101A90008EBDF801C8019E5F0DB407FEFDCF208109 -:101AA0002EBD0DB407FEFDCF21812EBD32968E17BF -:101AB0009F0791F70DB407FEFDCF8FEF0E94975B54 -:101AC0008FEF0E94975B0E949C5B8B838F718530A8 -:101AD00041F083E18983CE010E94DD8C19C086E04C -:101AE00016C00F945B06882379F020E030E0A9014E -:101AF0006DE0CE010E94E58C811108C00E949C5BC4 -:101B0000811104C011E005C087E101C086E189832D -:101B100010E0CE010E94DD8C812FDF91CF911F91CB -:101B20000F910895CF9380913E0F8823B9F1409192 -:101B3000360F5091370F6091380F7091390F26E3AF -:101B40003DE080913F0F9091400F0E942F8DC82F54 -:101B5000811102C0C0E023C040913A0F50913B0F69 -:101B600060913C0F70913D0F411551056105710564 -:101B700091F026E33DE080913F0F9091400F0E944D -:101B80002F8D882339F310923A0F10923B0F109249 -:101B90003C0F10923D0F10923E0F01C0C1E08C2F00 -:101BA000CF910895CF93DF93EC018B81882339F196 -:101BB000898187FF20C061E0CE010E94838BFC01F8 -:101BC000892BE9F08081853ED1F08B81823040F411 -:101BD00089899A89AB89BC89848F958FA68FB78FA5 -:101BE0008D899E89AF89B88D938F828FB58BA48B99 -:101BF00089818F778983DF91CF910C94928D81E0D9 -:101C0000888380E0DF91CF910895CF93DF93EC013B -:101C10000E94D28D1B82DF91CF910895FC01238118 -:101C200021110C94058E0895CF92DF92EF92FF92CE -:101C30000F931F93CF93DF93EC0189018C81833045 -:101C400039F089E0440F551F661F771F8A95D1F739 -:101C50009A01AB0161E1CE010E94E58C882339F045 -:101C600084E08983CE010E94DD8C80E03EC00F9429 -:101C7000A41B6B017C012CE2C20E21E0D21EE11CF0 -:101C8000F11C0E949C5B8B838F3F61F40F94A41B1B -:101C9000DC01CB018C199D09AE09BF09B7FDF1CF5D -:101CA00081E11DC08E3FD1F48FEF8EBDF801D801C8 -:101CB000A150BE4F0DB407FEFDCF9EB591938EBDD2 -:101CC000EA17FB07B9F70DB407FEFDCF8EB58C936D -:101CD0000E949C5B0E949C5B11E003C08FE08983A3 -:101CE00010E0CE010E94DD8C812FDF91CF911F91FA -:101CF0000F91FF90EF90DF90CF9008952F923F9239 -:101D00004F925F926F927F928F929F92AF92BF920B -:101D1000CF92DF92EF92FF920F931F93CF93DF93B7 -:101D200000D01F92CDB7DEB79C838B834B015A0145 -:101D3000DC0113968C91811103C08FEF9FEFE3C0FC -:101D4000EB81FC81818180FFF8CFEB81FC8181896F -:101D50009289A389B4894085518562857385841BE6 -:101D6000950BA60BB70BA50160E070E084179507F3 -:101D7000A607B70708F45C0175018B819C81049666 -:101D80009A838983612C42E0742EE114F10409F4F2 -:101D90008BC0AB81BC8118964D915D916D917C910A -:101DA0001B976A01B1E0DB22EB81FC812381818DED -:101DB000928D1A012B0139E0569447943794279459 -:101DC0003A95D1F7223061F4FC01828D938DA48D78 -:101DD000B58DBC01CD01620D731D841D951D4AC0DA -:101DE000DC0114961C9111501221C114D10401F58B -:101DF00011111EC0452B462B472B59F4EB81FC815A -:101E000085899689A789B08D84839583A683B783B6 -:101E10000FC0AB81BC8114964D915D916D917C9109 -:101E2000179729813A810E944963882309F485CF55 -:101E3000EB81FC81218D328D84819581A681B781D2 -:101E40000297A109B109F901058404C0880F991FFF -:101E5000AA1FBB1F0A94D2F74685578560897189EE -:101E6000840F951FA61FB71FBC01CD01610F711D07 -:101E7000811D911D93012C193D0987012E153F05E8 -:101E800008F489010115F2E01F0779F52091360F5A -:101E90003091370F4091380F5091390F6217730707 -:101EA0008407950719F421C0C5012DC09401AB0129 -:101EB000BC0180913F0F9091400F0E94148E8823A7 -:101EC00009F43BCF800E911EEB81FC8180859185CA -:101ED000A285B385800F911FA11DB11D80879187B9 -:101EE000A287B387E01AF10A50CF40E00E947E62D9 -:101EF000882309F422CFB6016A5C724FA801C4019D -:101F00000F94B335DFCF0F900F900F900F90DF91AC -:101F1000CF911F910F91FF90EF90DF90CF90BF90E6 -:101F2000AF909F908F907F906F905F904F903F9079 -:101F30002F900895DF92EF92FF920F931F93CF930C -:101F4000DF938C01EB017A018DE0D82E40E250E066 -:101F5000BE01C8010E947E8E8032910539F021E0D9 -:101F6000892B09F420E0822F819544C02881222307 -:101F7000C9F1253E11F02E3231F4E114F10431F3B0 -:101F8000F7011082E3CFE114F10441F13B853F7387 -:101F90003F3021F54A8D5B8D452B01F52F713FEFC9 -:101FA000320F3530D8F430E021503109D29EC001D3 -:101FB000D39E900D1124D701A80FB91FFE0120E078 -:101FC000AD01253088F431813D932F5F32962D305D -:101FD000C1F7288126FF02C0FA0115862B8523FD53 -:101FE000B5CF08C080E006C02B3010F43481ECCFB0 -:101FF0003681EACFDF91CF911F910F91FF90EF9043 -:10200000DF9008954F925F926F927F929F92AF926E -:10201000BF92CF92DF92EF92FF920F931F93CF93D5 -:10202000DF931F92CDB7DEB78C017B015A01C22E20 -:10203000DB0159968D919C915A97F801928F818F6F -:10204000CB010E94D88C912CF70180859185A285C7 -:10205000B385418952896389748984179507A607D6 -:10206000B70708F060C025E0B695A79597958795C6 -:102070002A95D1F7F82FFF70DF2ED70113968C9198 -:10208000823008F460C041E050E0BE016F5F7F4FD6 -:10209000C7010E947E8E019719F4898190E002C0E9 -:1020A0008FEF9FEF019609F44EC0F701808591856F -:1020B000A285B3854F96A11DB11D80879187A28708 -:1020C000B387F0E2DF9EB00111246A5C724F6115A4 -:1020D0007105C9F1DB018C91882319F0853EC1F4AB -:1020E0006CC191100EC08091360F9091370FA09166 -:1020F000380FB091390FF80184879587A687B78785 -:10210000D08ADB018C91882361F0992493949CCF31 -:102110004BE050E0C5010F94A635892B09F094CF10 -:1021200014C0992493948C2D8274823461F4992084 -:1021300009F48BC0F801D08861E0C8010E94838B4C -:10214000009709F00DC180E03BC1C7FCFCCFF0E275 -:10215000DF9EA00111249A012A5C324FD9011B96FF -:102160008C91817121F08C2D827109F06AC080916F -:10217000360F9091370FA091380FB091390FF801B9 -:1021800084879587A687B787D08ACA018A5C924FD1 -:102190007C01DC0154964D915C91559760E070E0B4 -:1021A000DA0199278827858B968BA78BB08FF7014B -:1021B000428D538D60E070E0482B592B6A2B7B2BAE -:1021C000D80155964D935D936D937C935897F90183 -:1021D0008385887161F4F701848D958DA68DB78D07 -:1021E000F801818B928BA38BB48B81E010C080317E -:1021F00041F598012F5E3F4FD80159968D919C91E2 -:102200005A970E94CA638823E1F084E0F80183832F -:102210008C2D8F70D80111968C931197F801148230 -:1022200015821682178218961D921D921D921C927D -:102230001B97C4FEB5C0C8010F947F068111B0C0C2 -:1022400082CFD80113961C927ECFD70113968C9122 -:102250001397823009F477CF51968D919D910D900F -:10226000BC91A02D803E9F4FAF41B10508F06BCFD0 -:10227000C7010E94D38B882309F465CF0E94928DF9 -:10228000882309F460CFD70159962D913C915A9734 -:1022900014968D919D910D90BC91A02D0297A1094E -:1022A000B109F901058404C0880F991FAA1FBB1F3B -:1022B0000A94D2F74684578460887188480E591E64 -:1022C0006A1E7B1E81E080933E0F4092360F509233 -:1022D000370F6092380F7092390F80E092E0E6E39A -:1022E000FDE0DF019C011D9221503040E1F7DD242B -:1022F000D394D7015996ED91FC915A978481D816C1 -:1023000098F426E33DE0B301A2014D0D511D611D7E -:10231000711D80913F0F9091400F0E942F8D882357 -:1023200009F411CFD394E5CF80E092E0A0E0B0E0D3 -:10233000058404C0880F991FAA1FBB1F0A94D2F7F7 -:10234000F7014189528963897489840F951FA61FFB -:10235000B71F818B928BA38BB48B86E39DE0D12C2E -:1023600020E2DC011D922A95E9F72BE0F501DC0162 -:1023700001900D922A95E1F721E238E2FC01318BC0 -:10238000208B40E058E057874687338B228B318F74 -:10239000208F578B468B0E94928D8111D8CED3CE41 -:1023A000C5FE09C0F8014189528963897489C80151 -:1023B0000E94998A05C081E003C09110A6CE93CEF9 -:1023C0000F90DF91CF911F910F91FF90EF90DF90D1 -:1023D000CF90BF90AF909F907F906F905F904F9005 -:1023E00008952F923F924F925F926F927F928F92B9 -:1023F0009F92AF92BF92CF92DF92EF92FF920F9394 -:102400001F93CF93DF93CDB7DEB7C254D1090FB678 -:10241000F894DEBF0FBECDBF4C015B016A01322EC6 -:1024200019821C821C8E1F8E6115710511F410E03B -:10243000A6C0FC0183818111FACFFA0180818F321D -:1024400009F09BC0F50183818250823010F4850130 -:102450000CC0F501618D728DCE014C960E94308BBF -:10246000882329F38E01045E1F4FC6016C0101967B -:10247000F60120812F32D1F3CE0101967C013C017F -:102480002E019CE1490E511C2396EFAE23972F2C71 -:102490009BE09150E7E3F0E0EC0FFD1FE90FF11D29 -:1024A00080E280839111F5CF960147E0D9018D91AB -:1024B000882369F18F3259F18E3239F44A3009F4A8 -:1024C000B6CF98E04AE09D01F1CFE2E3F7E1249135 -:1024D000222321F031968213FACFA9CF491708F4AD -:1024E000A6CF813208F4A3CF8F3709F4A0CF21E023 -:1024F000290FE7E3F0E0EC0FFD1FE90FF11D9FE965 -:10250000980F9A3108F480528083922FDCCF8FA9E4 -:10251000803209F48CCF6901F90180812F5F3F4F30 -:102520008F32C9F38823F9F021E0AE01495C5F4F97 -:10253000B801C7010E940290882309F478CF0A15D8 -:102540001B0519F0C8010E94058E6E147F0441F02E -:1025500023969FAD2397822D8701E92EF82E98CFE1 -:10256000942D852DF9CF232DAE01495C5F4FB80125 -:10257000C4010E940290182F02C08B017DCFCE01B2 -:102580004C960E940E8ECE0101960E940E8E812FD7 -:10259000CE5BDF4F0FB6F894DEBF0FBECDBFDF912D -:1025A000CF911F910F91FF90EF90DF90CF90BF9050 -:1025B000AF909F908F907F906F905F904F903F90E3 -:1025C0002F90089520911202309113022F5031095B -:1025D000821793070CF49C0130936D0920936C09CA -:1025E00080E00C94409DEF92FF920F931F93CF9346 -:1025F0007C018B014F3F11F4C2E401C0C4E580E2CD -:102600000E9442538C2F0E9442538AE30E944253FD -:10261000F701608171818281938142E00E94D253EF -:10262000F801408151816281738189E098E10F94C2 -:10263000671862E070E080E090E0CF911F910F9109 -:10264000FF90EF900D946A1B60916C0970916D0979 -:10265000072E000C880B990B0F94982B209168097A -:102660003091690940916A0950916B090F94E734E0 -:1026700018161CF085E198E102C082E298E160E062 -:102680000C94F1EE1F93CF93DF93CDB7DEB728976D -:102690000FB6F894DEBF0FBECDBF182F60916C0946 -:1026A00070916D09072E000C880B990B0F94982BD5 -:1026B0006D837E838F8398878091680990916909E3 -:1026C000A0916A09B0916B0989839A83AB83BC831B -:1026D0004CEFBE016B5F7F4FCE0101960E94F392DB -:1026E0006091830970918409072E000C880B990B67 -:1026F0000F94982B6D837E838F83988780917F09B9 -:1027000090918009A0918109B091820989839A836F -:10271000AB83BC834FEFBE016B5F7F4FCE01019651 -:102720000E94F3921F3F41F087E11802F00111244B -:10273000EC59F64F628502C06091850970E081E135 -:1027400098E10F9478186091850970E08CE098E129 -:102750000F94781828960FB6F894DEBF0FBECDBF41 -:10276000DF91CF911F9108952F923F924F925F92E8 -:102770006F927F928F929F92AF92BF92CF92DF9291 -:10278000EF92FF920F931F93CF93DF93CDB7DEB7F6 -:1027900063970FB6F894DEBF0FBECDBF898B81E083 -:1027A000809314021A821B821C821D8219861A864B -:1027B0001B861C8619821D862CE32E873CE13F87F1 -:1027C00046E4488B312C212C50E85A8B8FEB8B8BB5 -:1027D00091E09887812C912C54016091830970912C -:1027E0008409072E000C880B990B0F94982B7B0102 -:1027F0008C019B01AC01632D722D8A899B890F94FA -:10280000912B882361F160917F09709180098091FB -:10281000810990918209A989A1110EC0B1E0B98303 -:102820009701A8010F94E73418160CF019823E2C7A -:102830002F2C0A8B1B8B13C09701A8010F94E73430 -:10284000181644F480911402882309F4F1C00E9400 -:1028500075EFEEC03E2C2F2C0A8B1B8B19820F9428 -:10286000A41B6B017C01DC01CB0129853A854B85DA -:102870005C85821B930BA40BB50BB7FD34C0D7014D -:10288000C60188519C4FAF4FBF4F89879A87AB874E -:10289000BC878091180D0E94429383E398E10F94C6 -:1028A000B31781149104A104B104B9F0D501C40196 -:1028B000805F984DAF4FBF4FBC01CD016C197D09B2 -:1028C0008E099F0928EE33E040E050E00F94E73195 -:1028D000CA01B9010E94B65303C08FE30E9442535C -:1028E0008AE00E94425380E00E946E540F94A41B21 -:1028F0006093341A7093351A8093361A9093371A6E -:1029000090917F099E83A0918009AF8300918109F6 -:1029100010918209292F3A2FA801632D722D8A89DF -:102920009B890F9486322B013C0120E030E0A90105 -:102930000F94E73487FF04C077FA709477F87094A7 -:1029400081149104A104B104B1F420E030E040E826 -:102950005FE3C301B2010F94912B87FF18C0B885C4 -:1029600046015701BB2399F020E1820E27E2921E17 -:10297000A11CB11C0CC020E030E040E450E4C301D5 -:10298000B2010F94E734181614F446015701398147 -:102990003323A9F18A819B81AC81BD81892B8A2B4C -:1029A0008B2B61F0D701C6012A813B814C815D816F -:1029B000821B930BA40BB50BB7FD21C02E813F8169 -:1029C000A8016D857E858F8598890F94863220E0D9 -:1029D00030E040EC5FE30F94912B87FD33CFD701BC -:1029E000C601805A9541AF4FBF4F8A839B83AC830A -:1029F000BD839E819D87AF81AE870F87188B8091A5 -:102A00001402882309F41ECF81149104A104B10497 -:102A100011F41886E2CEB0E1CB1AB7E2DB0AE10886 -:102A2000F108C818D908EA08FB08F7FCF2CF0ACF6A -:102A30008091140263960FB6F894DEBF0FBECDBF2F -:102A4000DF91CF911F910F91FF90EF90DF90CF908A -:102A5000BF90AF909F908F907F906F905F904F90BE -:102A60003F902F9008952F923F924F925F926F92D6 -:102A70007F928F929F92AF92BF92CF92DF92EF920E -:102A8000FF920F931F93CF93DF93CDB7DEB7649779 -:102A90000FB6F894DEBF0FBECDBF898B6A8B81E085 -:102AA000809314021A821B821C821D8219861A8648 -:102AB0001B861C8621E0288719821D863CE33E8701 -:102AC0004CE14F8756E4588B312C212C80E88B8BBE -:102AD0009FEB9C8B812C912C540160916C0970911F -:102AE0006D09072E000C880B990B0F94982B7B0116 -:102AF0008C019B01AC01632D722D8B899C890F94F5 -:102B0000912B882361F16091680970916909809126 -:102B10006A0990916B09AA89A1110EC0B1E0B9832D -:102B20009701A8010F94E73418160CF019823E2C77 -:102B30002F2C0B8B1C8B13C09701A8010F94E7342B -:102B4000181644F480911402882309F4F0C00E94FE -:102B500075EFEDC03E2C2F2C0B8B1C8B19820F9424 -:102B6000A41B6B017C01DC01CB0129853A854B85D7 -:102B70005C85821B930BA40BB50BB7FD33C0D7014B -:102B8000C60188519C4FAF4FBF4F89879A87AB874B -:102B9000BC8789890E9442938FE298E10F94B31712 -:102BA00081149104A104B104B9F0D501C401805F7E -:102BB000984DAF4FBF4FBC01CD016C197D098E09F7 -:102BC0009F0928EE33E040E050E00F94E731CA015E -:102BD000B9010E94B65303C08FE30E9442538AE0BA -:102BE0000E94425380E00E946E540F94A41B609395 -:102BF000341A7093351A8093361A9093371A90913D -:102C000068099E83A0916909AF8300916A091091B8 -:102C10006B09292F3A2FA801632D722D8B899C896E -:102C20000F9486322B013C0120E030E0A9010F9483 -:102C3000E73487FF04C077FA709477F870948114B2 -:102C40009104A104B104B1F420E030E040E85FE376 -:102C5000C301B2010F94912B87FF18C0B8854601BC -:102C60005701BB2399F020E1820E27E2921EA11C9E -:102C7000B11C0CC020E030E040E450E4C301B201DC -:102C80000F94E734181614F44601570139813323A1 -:102C9000A9F18A819B81AC81BD81892B8A2B8B2BE9 -:102CA00061F0D701C6012A813B814C815D81821B85 -:102CB000930BA40BB50BB7FD21C02E813F81A8015A -:102CC0006D857E858F8598890F94863220E030E06F -:102CD00040EC5FE30F94912B87FD34CFD701C60101 -:102CE000805A9541AF4FBF4F8A839B83AC83BD838E -:102CF0009E819D87AF81AE870F87188B80911402CC -:102D0000882309F41FCF81149104A104B10411F4A4 -:102D10001886E3CEB0E1CB1AB7E2DB0AE108F1088E -:102D2000C818D908EA08FB08F7FCF2CF0BCF80914E -:102D3000140264960FB6F894DEBF0FBECDBFDF91CC -:102D4000CF911F910F91FF90EF90DF90CF90BF90A8 -:102D5000AF909F908F907F906F905F904F903F903B -:102D60002F9008952F923F924F925F926F927F9291 -:102D70008F929F92AF92BF92CF92DF92EF92FF928B -:102D80000F931F93CF93DF93CDB7DEB729970FB67D -:102D9000F894DEBF0FBECDBFF82E762E0E942FF125 -:102DA00081E08F1598F40F949C1884E50E9442539B -:102DB0006F2D70E080E090E00E94B65380E20E94A8 -:102DC000425387E398E10F94B317FBC1711008C019 -:102DD0008091CD0C877077247394873009F4712C1F -:102DE0009090180D81E087258987882389F08824B1 -:102DF000839420E030E0A9016091720C7091730C13 -:102E00008091740C9091750C0F94912B811101C0DD -:102E1000812C8091710C83FD57C18091700C8111C0 -:102E200053C120916C0930916D09809149029091B4 -:102E30004A02281739070CF047C1882049F00F943F -:102E40009C188BE598E10F94B317F092180DB9C157 -:102E500066246394F91409F428C120904F0230903D -:102E60005002409051025090520280914B0290913A -:102E70004C02A0914D02B0914E0280934F0290936C -:102E80005002A0935102B093520280E00E942EDEC5 -:102E900081E00E942EDE82E00E942EDE0E941766F4 -:102EA0008985882309F470C02091860C3091870CA5 -:102EB0004091880C5091890C6091210D7091220DE8 -:102EC0008091230D9091240D0F9487326093210DF2 -:102ED0007093220D8093230D9093240DA0904502B2 -:102EE000B0904602C0904702D0904802A6019501DA -:102EF0000F94E734181644F4A092210DB092220DDD -:102F0000C092230DD092240DA12CB12C6501E0902C -:102F1000180D0EE41CE025E23DE041E25DE06DE1CC -:102F20007DE089E19DE00E94EDF380917E0C90911F -:102F30007F0CA091800CB091810C8093190D90931F -:102F40001A0DA0931B0DB0931C0D8091820C9091D3 -:102F5000830CA091840CB091850C80931D0D9093EF -:102F60001E0DA0931F0DB093200DE92C0FE412E06D -:102F700025E23DE041E25DE06DE17DE089E19DE03B -:102F80000E94EDF30E942FF120E030E0A901609152 -:102F9000190D70911A0D80911B0D90911C0D0F94BD -:102FA00087326093190D70931A0D80931B0D9093C7 -:102FB0001C0D20E030E0A90160911D0D70911E0DE7 -:102FC00080911F0D9091200D0F94873260931D0DFD -:102FD00070931E0D80931F0D9093200D20E030E024 -:102FE000A9016091210D7091220D8091230D909186 -:102FF000240D0F9487326093210D7093220D8093DE -:10300000230D9093240DF092180D0E941AE0711078 -:1030100044C080913002882309F43FC0892D90E09C -:10302000FC01E259F34F2091100D20836F2D70E0C9 -:10303000FB01E259F34F20812093100D20916C0980 -:1030400030916D09880F991FFC01E659F34F3183C8 -:103050002083660F771FFB01E659F34F8081918132 -:10306000009761F02817390749F00E94E29280E04A -:103070000E94249360E080E00E943395811050C04C -:1030800085EA9CE00E94C2DA8985882331F06EE4EB -:103090007CE08DEA9CE00E9471DF20924F0230922A -:1030A000500240925102509252020E942FF10F940E -:1030B0009C186091180D70E089E498E10F947818DD -:1030C0008AE00E9442537DC0882041F160917C0CCF -:1030D00070917D0C072E000C880B990B0F94982B88 -:1030E00020E030E040E752E40F9481336D837E832B -:1030F0008F8398878091720C9091730CA091740CBF -:10310000B091750CB05889839A83AB83BC83BE01A0 -:103110006B5F7F4FCE0101960E94FB66612C9ACEB9 -:103120006110AECF60917A0C70917B0C072E000C71 -:10313000880B990B0F94982B20E030E040E752E485 -:103140000F94813369837A838B839C83BE016F5F85 -:103150007F4F82E79CE00E94FB6680E090E0A0E465 -:10316000B0E489839A83AB83BC83BE016F5F7F4FDA -:1031700086E79CE00E94FB660E942FF120E030E091 -:1031800040E050E46091250D7091260D8091270D4F -:103190009091280D0F9486326093250D7093260D23 -:1031A0008093270D9093280D6093B10C7093B20C0F -:1031B0008093B30C9093B40C81EB9CE00E9440F19F -:1031C0005FCF29960FB6F894DEBF0FBECDBFDF915B -:1031D000CF911F910F91FF90EF90DF90CF90BF9014 -:1031E000AF909F908F907F906F905F904F903F90A7 -:1031F0002F900895EF92FF920F931F93CF93DF9339 -:1032000080912F028F37A0F08F5790916E09909385 -:10321000980C992311F02C9A01C02C9820918509C3 -:103220002093970C90910201222369F090950BC096 -:103230009091980C891708F02C989091970C891709 -:1032400028F0909102019072909300018F5F80931B -:103250002F029091960C81E089278093960C8091A3 -:103260002E0285301CF411E0180F01C010E08230EE -:1032700009F4B9C054F4882301F1813009F0E8C0A1 -:1032800088E080937B0085E4C5C0843009F4CAC01F -:103290000CF4BCC0853009F0DBC09091950C911105 -:1032A00002C08093950C8091950C81508093950C71 -:1032B000882309F4CDC015E0CBC080912D028F5F2B -:1032C00080311CF480932D02C3C010922D02809196 -:1032D0001E0C811113C0809164099091650990932F -:1032E00067098093660980917B0990917C0990938E -:1032F0007E0980937D0981E080931E0C1092650900 -:103300001092640910927C0910927B09E090660982 -:10331000F0906709F194E194F10880916C09909123 -:103320006D0901E0181619062CF080916E098111C3 -:1033300001C000E080910E0290910F02919581955D -:1033400091098E159F053CF449E757E16AE977E159 -:1033500080E00F94A70E002389F080910C029091D9 -:103360000D02919581959109E816F9063CF44CEA15 -:1033700057E16DEC77E180E00F94A70E809183090F -:103380009091840901E0181619062CF080918509A6 -:10339000811101C000E020917D0930917E0980916A -:1033A000930990919409821793073CF049E857E1FB -:1033B0006AE977E18FEF0F94A70E002309F448C064 -:1033C00020917D0930917E0980910A0290910B0233 -:1033D00028173907ECF14CEB57E16DEC77E18FEFF3 -:1033E0000F94A70E35C080917A0086FD2EC0809183 -:1033F0007800909179002091640930916509820FDD -:10340000931F909365098093640922C088E080939C -:103410007B0086E480937C0080917A0080648093B6 -:103420007A0016C080917A0086FD11C080917800E4 -:103430009091790020917B0930917C09820F931F34 -:1034400090937C0980937B0903C012E001C014E0D3 -:1034500010932E022091381A3091391A2115310516 -:1034600009F43AC0F8949091090192708091080192 -:1034700081708093060180910B01121613060CF0E7 -:103480008095827080930901000000000000809107 -:103490000B01809588708093090184E08A95000073 -:1034A000E9F780910B0188708093090180910B01ED -:1034B0009111809582708093090178948091381AD7 -:1034C0009091391A1216130614F4019701C001964F -:1034D0009093391A8093381A80911F0C882309F42D -:1034E0004DC080912C028E5F8F7780932C028111CA -:1034F00045C08CB185FB882780F9C82F80E0D82F84 -:103500008091030181FDC2604B99C4600091930CCE -:103510001091940C0C271D270115110579F100FF5E -:1035200007C0BE016170772784EF97E10F94781888 -:1035300001FF08C06C2F6695617070E08BEE97E11B -:103540000F94781802FF08C0C2FB662760F970E08C -:1035500082EE97E10F9478188FED97E10F94B317EF -:103560001091920C612F70E08DE00F94821A1095EB -:103570001093920CD093940CC093930C0E94CDE0C6 -:103580008091200C9091210C009769F00197909305 -:10359000210C8093200C892B31F48DEF97E19093CF -:1035A000B8098093B709DF91CF911F910F91FF90D8 -:1035B000EF9008950F930FB70F9300916E000B7F5C -:1035C00000936E0078940F930BB70F930CB70F9284 -:1035D0001F922F933F934F935F936F937F938F939C -:1035E0009F93AF93BF93EF93FF9311240E94FA9898 -:1035F000FF91EF91BF91AF919F918F917F916F91CB -:103600005F914F913F912F911F900F900CBF0F91A1 -:103610000BBF0F910460F89400936E000F910FBFE1 -:103620000F9118952F923F924F925F926F927F92D7 -:103630008F929F92AF92BF92CF92DF92EF92FF92C2 -:103640000F931F93CF93DF93CDB7DEB729970FB6B4 -:10365000F894DEBF0FBECDBF1C017B836A83298334 -:103660001F830E83FD82EC8227FD10C0022E000C0A -:10367000330B39872887398185E03802F00111241E -:10368000E85EF34F84818823E1F008C08091170C35 -:10369000882399F0E1E0F0E0F987E887F1011482EE -:1036A000E885F985EE0FFF1FEE0FFF1FE657F34F7A -:1036B00010821182128213822EC021E030E03987FD -:1036C0002887FA01C080D180E280F38008851985BF -:1036D000000F111F000F111F0657134FA70196016E -:1036E000F80160817181828193810F94912B8823ED -:1036F00091F0F801C082D182E282F38211E020E0F1 -:1037000030E0A901C701B6010F94E73418160CF098 -:1037100010E0F1011483F10184818230F9F08330EB -:1037200009F401C1813009F023C1E885F985EE0F64 -:10373000FF1FEE0FFF1FE657F34F208131814281BB -:103740005381EA81FB8160817181828193810F9431 -:10375000912B87FD0DC182E0F101848380912B02C2 -:10376000882309F493C0F981F7FD90C08F2FFF0FD4 -:10377000990B8C011816190614F401E010E0F801F9 -:10378000E05FF24F2081222371F1EA81FB81C0804A -:10379000D180E280F380880F991F880F991FFC0168 -:1037A000E657F34F80809180A280B3802C813D81C9 -:1037B000B90180E090E00F94962B2B013C0120E0B2 -:1037C00030E040E85EE30F94F72B9B01AC01C501AC -:1037D000B4010F9486329B01AC01C701B6010F946E -:1037E000E73487FD05C0F801E75DFD4F80E81AC0AA -:1037F00023E830EC4AEA5EE3C301B2010F94F72BF1 -:103800009B01AC01C501B4010F9486329B01AC0150 -:10381000C701B6010F94E734075D1D4F87FD04C053 -:1038200080E6F801808332C020E030E040E05FE3D2 -:10383000C301B2010F94F72B9B01AC01C501B40188 -:103840000F9486329B01AC01C701B6010F94E73497 -:1038500087FD02C080E4E5CF2DEC3CEC4CE45FE357 -:10386000C301B2010F94F72B9B01AC01C501B40158 -:103870000F9486329B01AC01C701B6010F94E73467 -:1038800087FD02C080E2CDCFF8011082088519853E -:10389000000F111F000F111F98012657334F398752 -:1038A0002887EC81FD81BF0180E090E00F94962B8A -:1038B0009B01AC01E885F9856081718182819381EA -:1038C0000F9486329B01AC01EA81FB81608171819A -:1038D000828193810F94E73487FD14C00F94A41B59 -:1038E0006B017C012E813F81A8EEB3E00F943B3247 -:1038F000C60ED71EE81EF91EF101C082D182E282F7 -:10390000F38236C00F94A41BF10100811181228142 -:103910003381DC01CB01801B910BA20BB30BB7FDF4 -:1039200027C083E08483F981FF3F19F042E457E127 -:1039300002C045E557E169E677E1898129960FB62E -:10394000F894DEBF0FBECDBFDF91CF911F910F91D5 -:10395000FF90EF90DF90CF90BF90AF909F908F90AF -:103960007F906F905F904F903F902F900D94A70E97 -:1039700029960FB6F894DEBF0FBECDBFDF91CF9171 -:103980001F910F91FF90EF90DF90CF90BF90AF907D -:103990009F908F907F906F905F904F903F902F906F -:1039A0000895CF92DF92EF92FF9260918309709118 -:1039B000840961157105C1F0C0907F09D09080091C -:1039C000E0908109F090820966507109072E000C81 -:1039D000880B990B0F94982B9B01AC01C701B60182 -:1039E0000F94912B87FD09C010920F0C1092100CB0 -:1039F0001092110C1092120C1EC020E030E040E03A -:103A000050E4C701B6010F9487320F94FA337093D4 -:103A10000E0C60930D0C0F94A41BDC01CB01805E97 -:103A20009044AD4FBF4F80930F0C9093100CA09318 -:103A3000110CB093120CFF90EF90DF90CF9008958F -:103A4000CF93DF9310921D0C80E090E00E94E292F1 -:103A5000CBE7D9E0198618860E94D19C80E090E0DF -:103A60000E94E29210926E092C98198618861A8686 -:103A700080910201807280930001DF91CF910895BF -:103A8000CF92DF92EF92FF9260916C0970916D0975 -:103A900061157105C1F0C0906809D0906909E09086 -:103AA0006A09F0906B0966507109072E000C880BAB -:103AB000990B0F94982B9B01AC01C701B6010F9491 -:103AC000912B87FD09C01092090C10920A0C1092DC -:103AD0000B0C10920C0C1EC020E030E040E050E4D3 -:103AE000C701B6010F9487320F94FA337093080C14 -:103AF0006093070C0F94A41BDC01CB01805B9C43FB -:103B0000AF4FBF4F8093090C90930A0CA0930B0CFE -:103B1000B0930C0CFF90EF90DF90CF900895CF936F -:103B2000DF93C4E6D9E060E08A819B810F94B80DF1 -:103B30006C837D838E839F83CBE7D9E08A819B81D1 -:103B40000F941F0D6C837D838E839F83A8951092A5 -:103B50001E0CDF91CF91089590E0FC013197E23186 -:103B6000F10508F04EC08827E155FF4F8F4F0D94A7 -:103B70007E32809180008F7703C0809180008F7D9E -:103B800080938000089580918000877FF9CF84B56D -:103B90008F7702C084B58F7D84BD08958091B00079 -:103BA0008F7703C08091B0008F7D8093B00008951F -:103BB000809190008F7707C0809190008F7D03C027 -:103BC00080919000877F8093900008958091A0005D -:103BD0008F7707C08091A0008F7D03C08091A000E7 -:103BE000877F8093A0000895809120018F7707C080 -:103BF000809120018F7D03C080912001877F809379 -:103C0000200108952F923F924F925F926F927F9280 -:103C10008F929F92AF92BF92CF92DF92EF92FF92DC -:103C20000F931F93CF93DF93D82FC62F8EEF96E07D -:103C30000E944D54D1115AC0CC2389F00E94B66025 -:103C40008C01C12CD12CC0E0D0E0A12CB12C81E49E -:103C5000282E8FE0382E44244394512C3FC00E94DC -:103C60003DC68111EBCF44C0C016D10608F037C164 -:103C7000C5014496C816D90608F031C12FEFC21A03 -:103C8000D20A0F3F3FEF130709F0C3C10E94B6608D -:103C90008C018C159D0508F04EC1F10101900020AA -:103CA000E9F73197CF0181549F403C01EE24E39422 -:103CB000F12C97012F5B304F490146E050E067E05F -:103CC00077E0C9010F94EC35892B09F0F4C0E614B4 -:103CD000F7040CF43FC18FEFA81AB80A0F3F2FEF7B -:103CE000120711F60E94B6608C01BECFC111A6CF9B -:103CF0003AE0C32E30E2D32EE12CF12CC5E0D2E81D -:103D0000812C912C54011092551C1092541CC0937C -:103D1000481CD0934B1CD701C601880D991DAA1DC4 -:103D2000BB1D80934C1C90934D1CA0934E1CB093D4 -:103D30004F1C0F9404058FEF881A980AA80AB80A36 -:103D40009AE089169104A104B104E9F62AE0C20EB2 -:103D5000D11CE11CF11C32EDC31630E2D306E104A4 -:103D6000F10471F6C12C20E2D22EE12CF12CD5E029 -:103D7000C2E81092551C1092541CD093481CC0935A -:103D80004B1CC0924C1CD0924D1CE0924E1CF092E9 -:103D90004F1C0F9404051092551C1092541CD09384 -:103DA000481CC0934B1CD701C6018C529F4FAF4F8C -:103DB000BF4F80934C1C90934D1CA0934E1CB0930E -:103DC0004F1C0F9404058FEFC81AD80AE80AF80AA6 -:103DD0009AE0C91690E2D906E104F10451F69EED8D -:103DE000C92E90E2D92EE12CF12CD5E0C2E8109238 -:103DF000551C1092541CD093481CC0934B1CC0926D -:103E00004C1CD0924D1CE0924E1CF0924F1C0F9413 -:103E100004052FEFC21AD20AE20AF20A36EEC316DE -:103E200030E2D306E104F10411F7CC24C39482E11B -:103E3000D82EE12CF12C0AE010E0D5E0C2E8109376 -:103E4000551C0093541CD093481CC0934B1CC0922B -:103E50004C1CD0924D1CE0924E1CF0924F1C0F94C3 -:103E600004051093551C0093541CD093481CC09318 -:103E70004B1CD701C6018096A11DB11D80934C1C1F -:103E800090934D1CA0934E1CB0934F1C0F940405AF -:103E90008FEFC81AD80AE80AF80A95E1C91692E124 -:103EA000D906E104F10459F680EF93E00E944D54E5 -:103EB00082E190E016C046E050E06EE077E0C40199 -:103EC0000F94EC35892B09F402CF3FEFE31AF30A84 -:103ED000C7010197861597050CF4EBCEF8CE81E16A -:103EE00090E09093551C8093541C85E08093481C6F -:103EF00082E880934B1C84E190E1A0E0B0E08093E5 -:103F00004C1C90934D1CA0934E1CB0934F1CDF9102 -:103F1000CF911F910F91FF90EF90DF90CF90BF90C6 -:103F2000AF909F908F907F906F905F904F903F9059 -:103F30002F900D9404050F3F8FEF180719F40E947E -:103F4000B6608C0160E070E0C8018C199D090E9488 -:103F5000EE60A3CE22E12C9FC0012D9F900D112475 -:103F60009C012D51304F4901A7014231510514F0F8 -:103F700041E150E061E47FE0C4010F94FA3532E1A1 -:103F80003C9FC0013D9F900D112463E87FE0855B5D -:103F90009E4E0F94E5358AE08C9FA0018D9F500DB9 -:103FA0001124465F5F4D052E000C660B770BFE015A -:103FB000EE0FFF1FEE0FFF1FE057F04F43835483B8 -:103FC00065837683C4010F94B3047E019FEFE91AE1 -:103FD000F90AF092920FE092910F5092551C409284 -:103FE000541C25E02093481C32E830934B1CCF5FD3 -:103FF000DD4ECE01DD0FAA0BBB0B80934C1C9093C2 -:104000004D1CA0934E1CB0934F1C0F940405E70168 -:1040100065CE0C151D0508F440CE94CF4F925F92EB -:104020006F927F928F929F92AF92BF92CF92DF92C8 -:10403000EF92FF921F93CF93DF93C82F84E19BE110 -:104040009093400F80933F0F10920D1B82E090E001 -:10405000A0E0B0E08093F61A9093F71AA093F81AB4 -:10406000B093F91A10923E0F10923A0F10923B0F34 -:1040700010923C0F10923D0F8FEF9FEFDC01809369 -:10408000360F9093370FA093380FB093390FCC238E -:1040900079F1C53008F001C140E060E070E0CB018B -:1040A0000E947E62882309F4F8C020E1C29FC0010B -:1040B00011248A5D924FFC01E254FE4F20812F773C -:1040C00009F0EBC03C964081518162817381443696 -:1040D00051056105710508F4E0C03497C080D180B6 -:1040E000E280F380C114D104E104F10421F4D5C0CD -:1040F000C12CD12C760140E0C701B6010E947E623E -:10410000182F882309F4C9C08091410D9091420D68 -:104110008115924009F0C1C0A091460DAA2309F46F -:10412000BCC06091440D7091450D6115710509F495 -:10413000B4C08090430D882009F4AFC0A093081B41 -:104140008092FA1A80E0912CA12CB12C412C512C98 -:1041500032014394C82FA3019201082E04C0220FFC -:10416000331F441F551F0A94D2F782169306A406E4 -:10417000B50639F08F5FC83069F789E08093031B7B -:104180008CC08093031B20914C0D30914D0D211557 -:10419000310519F040E050E008C020915A0D3091EF -:1041A0005B0D40915C0D50915D0D2093FB1A309397 -:1041B000FC1A4093FD1A5093FE1A46015701860ED1 -:1041C000971EA11CB11C8092091B90920A1BA09201 -:1041D0000B1BB0920C1BE091470DF091480DF09332 -:1041E0000F1BE0930E1BB0E00F942832860E971E33 -:1041F000A81EB91E8092101B9092111BA092121B38 -:10420000B092131B85E0EE0FFF1F8A95E1F7E15096 -:10421000FE4FEF2FFF27E6958E0E9F1EA11CB11CAF -:104220008092041B9092051BA092061BB092071B64 -:104230002091490D30914A0D2115310521F0A90138 -:1042400060E070E008C04091560D5091570D6091AC -:10425000580D7091590DD701C60188199909AA09FD -:10426000BB09840F951FA61FB71F04C0B695A7955D -:1042700097958795CA95D2F78093FF1A9093001B64 -:10428000A093011BB093021B853F2FE09207A1056D -:10429000B10528F48CE080930D1B10E01AC0853F17 -:1042A0009F4FA105B10510F480E111C08091620D0E -:1042B0009091630DA091640DB091650D8093101BDA -:1042C0009093111BA093121BB093131B80E2809359 -:1042D0000D1B812FDF91CF911F91FF90EF90DF9009 -:1042E000CF90BF90AF909F908F907F906F905F9096 -:1042F0004F900895FF920F931F93CF93DF938B01FD -:10430000D82FC92F9B01482F592F6091320D7091E2 -:10431000330D8091340D9091350D0F94912B88239E -:1043200009F45FC0F090310D80E00E94B96C20E08C -:1043300030E0A901B8018D2F9C2F0F94E734181697 -:1043400024F000E010E0D0E0C0E0C801AD2FBC2FA9 -:104350008093320D9093330DA093340DB093350DAF -:104360002DEB37E346E855EBB8018D2F9C2F0F94CA -:10437000E73487FD0BC02DEB37E346E855E3B80182 -:104380008D2F9C2F0F94912B181654F498014D2FBC -:104390005C2F60E070E080E89FE30F94813303C0FE -:1043A00060E070E0CB0160932D0D70932E0D809333 -:1043B0002F0D9093300D80EF9FEFA9E7B4EC809321 -:1043C000290D90932A0DA0932B0DB0932C0DFF2057 -:1043D00041F081E0DF91CF911F910F91FF900C94FC -:1043E000B96CDF91CF911F910F91FF900895CF93FA -:1043F000DF93CDB7DEB760970FB6F894DEBF0FBE80 -:10440000CDBFE9E1FDE080819181A281B381898303 -:104410009A83AB83BC8384819581A681B7818D8388 -:104420009E83AF83B88780859185A285B385898770 -:104430009A87AB87BC8784859585A685B7858D8748 -:104440009E87AF87B88BAE01475F5F4FBE016B5F42 -:104450007F4FCE0101960E9477F39E01235F3F4F6D -:10446000AE01475F5F4FBE016B5F7F4FCE0101968C -:104470000E949CF160960FB6F894DEBF0FBECDBFD0 -:10448000DF91CF9108950F949C186091160D709153 -:10449000170D8EEC99E10F9485188BEC99E10D9432 -:1044A000B3179091140D9817C9F08093140D8111D2 -:1044B00009C08091120D8093100D8091130D80938F -:1044C000110D08958091100D8093120D1092100D12 -:1044D0008091110D8093130D1092110D0895CF93BB -:1044E000DF93CDB7DEB780910E0D81110FC09E0115 -:1044F000275F3F4F4F8158856FE370E08EEC9CE063 -:104500000F94582B8EEC9CE00E94A0C8DF91CF91B5 -:1045100008951F93CF93DF938091CD0CC82FC27065 -:10452000D82FD470182F117080FF04C0CC2311F045 -:10453000D11145C00F949C1885EC99E10F94B317E5 -:10454000111103C088E50E944253C11103C089E5DF -:104550000E944253D11103C08AE50E9442538DEB61 -:1045600099E10F94B317DD2319F042EE55E002C034 -:1045700045E158E0CC2319F022EE35E002C025E1F8 -:1045800037E0112319F082EE95E002C08DE596E048 -:104590005F934F933F932F939F938F938BEA99E170 -:1045A0009F938F931F920E946FA28DB79EB709961B -:1045B0000FB6F8949EBF0FBE8DBF81E001C080E0B2 -:1045C000DF91CF911F910895AF92BF92CF92DF926A -:1045D000EF92FF920F931F93CF93DF93CDB7DEB788 -:1045E0002C970FB6F894DEBF0FBECDBF23EFC22EBF -:1045F00022E0D22E5C0170E0CB018D509D4F7C01FA -:10460000CE14DF0409F180E20E944253F601819149 -:104610006F010E9442538AE30E944253F501619167 -:104620007191819191915F018E010F5F1F4F23E086 -:1046300041E00F9469268C01F80181918F01882354 -:10464000F9F20E944253F8CF8AE00E9442532C961E -:104650000FB6F894DEBF0FBECDBFDF91CF911F9193 -:104660000F91FF90EF90DF90CF90BF90AF900895A3 -:104670002F923F924F925F926F927F928F929F9272 -:10468000AF92BF92CF92DF92EF92FF920F931F9360 -:10469000CF93DF93CDB7DEB760970FB6F894DEBF48 -:1046A0000FBECDBF9A8789877C876B87342E222ED9 -:1046B0000E9459B2882309F493C1E985FA85608183 -:1046C000718182819381EB85FC85C080D180E280FD -:1046D000F3802091C10C3091C20C4091C30C5091D9 -:1046E000C40C0F9486324B015C012091C50C3091B3 -:1046F000C60C4091C70C5091C80CC701B6010F946D -:1047000086329B01AC01E090210DF090220D0091CA -:10471000230D1091240D40904F0250905002609054 -:1047200051027090520280914B0290914C02A091E4 -:104730004D02B0914E0280934F0290935002A0938D -:104740005102B093520219821A821B821C82CE013E -:1047500001966C01C501B4010E948EDE81E00E94C9 -:1047600079B18111C4C080913C1A82FF11C020919F -:10477000C90C3091CA0C4091CB0C5091CC0C60E02C -:1047800070E080E490EC0F9486324B015C0106C02F -:10479000812C912C30E2A32E31ECB32E20E030E0BE -:1047A00040E850E4C501B4010E94E8B0882329F034 -:1047B00060E070E080EC9FE753C0C090210DD09086 -:1047C000220DE090230DF090240D80E090E0A0E811 -:1047D000B0E489839A83AB83BC8320E030E040EA75 -:1047E00050E4C701B6010F9487326D837E838F83B7 -:1047F0009887BE016F5F7F4FCE0105960E9471DFE3 -:1048000020E030E040E050E4C501B4010E94E8B08F -:104810008111CECF20E030E040E450E46091210DE2 -:104820007091220D8091230D9091240D0F94F72B00 -:104830006D877E878F87988BA7019601C701B60188 -:104840000F9487329B01AC016D857E858F85988999 -:104850000F9487322DEC3CEC4CE45EE30F94F72B85 -:104860002091C90C3091CA0C4091CB0C5091CC0CCA -:104870000F9487326B018C018EEF830D823050F5DF -:1048800080E090E0A0E8B0E489839A83AB83BC83A6 -:104890006091210D7091220D8091230D9091240D36 -:1048A000E3E03E1629F020E030E040EA50E404C0A6 -:1048B00020E030E048EC51E40F9487326D837E8332 -:1048C0008F839887BE016F5F7F4FCE0105960E9450 -:1048D00071DF08C0F1E03F1205C080E00E9479B1AD -:1048E000811105C022E0221508F05BC008C0F2E08B -:1048F000F21508F07AC0C12CD12C00EC1FE727E19B -:10490000E22E27E0F22EF70181917F01882319F032 -:104910000E944253F8CF2091B50C3091B60C4091D3 -:10492000B70C5091B80CE985FA856081718182815C -:1049300093810F94873243E00E94D2539FE1E92E86 -:1049400097E0F92EF70181917F01882319F00E94E9 -:104950004253F8CF2091B90C3091BA0C4091BB0C66 -:104960005091BC0CEB85FC856081718182819381C3 -:104970000F94873243E00E94D25384E2E82E87E00E -:10498000F82EF70181917F01882319F00E9442538C -:10499000F8CF43E0B601C8010E94D2538AE00E94DA -:1049A000425340924F0250925002609251027092D4 -:1049B00052029601A801B601C8010F9479358823E7 -:1049C00009F180E00E9479B160E08CE999E10E94F0 -:1049D000F1EE0F9498188CE899E10F94B31712C078 -:1049E000C12CD12C00EC1FE70DC040924F02509219 -:1049F00050026092510270925202C12CD12C00ECF4 -:104A00001FE7DFCFB601C80160960FB6F894DEBF8E -:104A10000FBECDBFDF91CF911F910F91FF90EF900F -:104A2000DF90CF90BF90AF909F908F907F906F90CE -:104A30005F904F903F902F9008958BED9AE10E94E8 -:104A4000D28D8BED9AE10E94058E8091D01D8D7FD5 -:104A50008E7F8093D01D1092CC1D1092CD1D109290 -:104A6000CE1D1092CF1D81E08093B61C0895CF9388 -:104A7000DF9300D01F92CDB7DEB78091B3128111C2 -:104A80001BC081E08093B3128091A10C9091A20C85 -:104A9000A091A30CB091A40CB05889839A83AB83E6 -:104AA000BC839E012F5F3F4F4DEA5CE069EA7CE0EA -:104AB00085EA9CE00E9454B50F900F900F900F90E4 -:104AC000DF91CF910895CF93DF9300D01F92CDB7A0 -:104AD000DEB78091B3128823F9F02AE939E949E970 -:104AE0005FE36091A10C7091A20C8091A30C909156 -:104AF000A40C0F94F72B69837A838B839C839E018C -:104B00002F5F3F4F4DEA5CE069EA7CE085EA9CE07C -:104B10000E9454B51092B3120F900F900F900F9007 -:104B2000DF91CF9108952F923F924F925F926F92B3 -:104B30007F928F929F92AF92BF92CF92DF92EF922D -:104B4000FF920F931F93CF93DF93CDB7DEB7A0975C -:104B50000FB6F894DEBF0FBECDBF1C018B015A8784 -:104B600049873C872B87C090190DD0901A0DE09093 -:104B70001B0DF0901C0DDC018D919D910D90BC9151 -:104B8000A02D8D879E87AF87B88B9C01AD01C70193 -:104B9000B6010F9486322B013C0180911D0D90913E -:104BA0001E0DA0911F0DB091200D898B9A8BAB8BA0 -:104BB000BC8BD8018D919D910D90BC91A02D8D8BBA -:104BC0009E8BAF8BB88F9C01AD0169897A898B89E7 -:104BD0009C890F9486324B015C01A3019201C301B1 -:104BE000B2010F94F72B2B013C01A5019401C501E3 -:104BF000B4010F94F72B9B01AC01C301B2010F94D8 -:104C00008732698F7A8F8B8F9C8FE985FA854080F8 -:104C1000518062807380A3019201C701B6010F9495 -:104C200086326D8F7E8F8F8F98A3AB85BC858D90DC -:104C30009D90AD90BC90A501940169897A898B897A -:104C40009C890F9486326B017C012D853E854F85B2 -:104C50005889C301B2010F9486322B013C012D8982 -:104C60003E894F89588DC501B4010F9486324B019E -:104C70005C01A3019201C301B2010F94F72B2B0138 -:104C80003C01A5019401C501B4010F94F72B9B01D0 -:104C9000AC01C301B2010F9487320F9435354B013B -:104CA0005C012D8D3E8D4F8D58A1CA01B9010F9425 -:104CB000F72B2B013C01A7019601C701B6010F9408 -:104CC000F72B9B01AC01C301B2010F9487329B010A -:104CD000AC01698D7A8D8B8D9C8D0F94E7341816FD -:104CE00004F520E030E0A901C501B4010F94E734D8 -:104CF00087FF04C0C501B401905802C0C501B401CA -:104D000020E030E040EA50E40F94E73418164CF409 -:104D10009801A1016B857C8589859A850E9493A560 -:104D200083C020E030E040E050E4698D7A8D8B8DC7 -:104D30009C8D0F94E73418160CF044C00E9437A5E0 -:104D400019821A821B821C8220E030E040E05FE37F -:104D50006091210D7091220D8091230D9091240D71 -:104D60000F9487326D837E838F8398879E012F5F98 -:104D70003F4FAE014B5F5F4F6DE17DE089E19DE00C -:104D80000E9454B519821A821B821C8220E030E0F6 -:104D900040E05FE36091990C70919A0C80919B0CBC -:104DA00090919C0C0F9487326D837E838F839887BC -:104DB0009E012F5F3F4FAE014B5F5F4FB801C101B6 -:104DC0000E9454B519821A821B821C829E012F5F99 -:104DD0003F4F49E95CE0B801C1010E9454B52DEC98 -:104DE0003CEC4CEC5CE3C501B4010F94F72B9B0148 -:104DF000AC0160919D0C70919E0C80919F0C9091E4 -:104E0000A00C0F94F72B69837A838B839C830E9479 -:104E100063A59E012F5F3F4F49E95CE06B857C8570 -:104E200089859A850E9454B5A0960FB6F894DEBF86 -:104E30000FBECDBFDF91CF911F910F91FF90EF90EB -:104E4000DF90CF90BF90AF909F908F907F906F90AA -:104E50005F904F903F902F900895CF93DF93282F2E -:104E600030E0F901EA5BF64E8491F901E050F74E2B -:104E7000D491F901E654F74EC491CC2391F08111FD -:104E80000E94AC9DEC2FF0E0EE0FFF1FE056F74EB6 -:104E9000A591B491EC91ED2381E090E021F480E0C4 -:104EA00002C080E090E0DF91CF9108951F93CF93EF -:104EB000DF93282F30E0F901EA5BF64E8491F90187 -:104EC000E050F74ED491F901E654F74EC491CC234B -:104ED000C1F0162F81110E94AC9DEC2FF0E0EE0F77 -:104EE000FF1FEA57F74EA591B4919FB7F89411119F -:104EF00004C08C91D095D82302C0EC91DE2BDC93BA -:104F00009FBFDF91CF911F910895CF93DF9390E0E2 -:104F1000FC01E050F74E2491FC01E654F74E8491D9 -:104F2000882361F190E0880F991FFC01E459F74E46 -:104F3000C591D491FC01EA57F74EA591B491611146 -:104F400009C09FB7F8948881209582238883EC91CB -:104F50002E230BC0623061F49FB7F8948881322F02 -:104F6000309583238883EC912E2B2C939FBF06C012 -:104F70008FB7F894E8812E2B28838FBFDF91CF91D4 -:104F800008958091C21B9091C31B891B8F7019F4E7 -:104F900080E090E008959091BF1B992351F08330F9 -:104FA00030F48FEF890F19F08093BF1BF1CF10926F -:104FB000BF1BE091C31B84E5E89FF0011124EC5472 -:104FC000FD4E808180FDE4CF8091C31B8F5F8F7089 -:104FD0008093C01B9091C31B8091C11B981304C088 -:104FE0008091C01B8093C11BCF0108950F930FB711 -:104FF0000F9300916E000F930B7F00936E00009152 -:105000006F000D7F00936F000F930BB70F930CB7DA -:105010000F921F922F933F934F935F936F937F93C2 -:105020008F939F93AF93BF93EF93FF9311240E94AD -:1050300067A8FF91EF91BF91AF919F918F917F9161 -:105040006F915F914F913F912F911F900F900CBFE7 -:105050000F910BBF0F910260F89400936F000F91B6 -:1050600000936E000F910FBF0F9118958091A809C2 -:1050700080FF03C089988FEF02C0899A81E08093F6 -:10508000F5178091A809869580FF03C08F9A8FEF4E -:1050900002C08F9881E08093F6178091A8098695C9 -:1050A000869580FF08C080910B0180958270809367 -:1050B00009018FEF06C080910B0182708093090176 -:1050C00081E08093F71700000000000008952F9200 -:1050D0003F924F925F926F927F928F929F92AF9288 -:1050E000BF92CF92DF92EF92FF920F931F93CF93D5 -:1050F000DF93CDB7DEB72D970FB6F894DEBF0FBEA6 -:10510000CDBF8FEF9FEF90938900809388002AE0B6 -:105110002987212C312C44244A94542C3201789430 -:105120008091431890914418A0914518B091461869 -:10513000892B8A2B8B2B09F0D9C180911D1E8823C6 -:10514000E1F010921D1E80911B1E90911C1E892B58 -:1051500009F4CCC11092F41710921C1E10921B1E61 -:105160009091C21B8091C31B981709F4BFC1809115 -:10517000C31B8F5F8F708093C31B80911B1E909108 -:105180001C1E892B09F4B2C1C0903F18D090401862 -:10519000E0904118F090421840913B1850913C1813 -:1051A00060913D1870913E1800912E1810E020E09B -:1051B00030E0DB01CA018C199D09AE09BF0908174F -:1051C00019072A073B0710F4D901C801482F8C0D95 -:1051D0009D1DAE1DBF1D80933F1890934018A09356 -:1051E0004118B09342182091840030918500225ECE -:1051F0003F4FC0901418D0901518E0901618F090FA -:1052000017188091041890910518A0910618B09174 -:1052100007188C0D9D1DAE1DBF1D80931418909313 -:105220001518A0931618B0931718B7FD1CC0889ACC -:10523000C0902A1ED0902B1EE0902C1EF0902D1EA8 -:105240008091F517082E000C990BAA0BBB0B8C0D47 -:105250009D1DAE1DBF1D80932A1E90932B1EA093F3 -:105260002C1EB0932D1EC0901818D0901918E090E5 -:105270001A18F0901B188091081890910918A091A5 -:105280000A18B0910B188C0D9D1DAE1DBF1D80938B -:10529000181890931918A0931A18B0931B18B7FDFB -:1052A0001CC08E9AC0902E1ED0902F1EE090301EF3 -:1052B000F090311E8091F617082E000C990BAA0B66 -:1052C000BB0B8C0D9D1DAE1DBF1D80932E1E90939C -:1052D0002F1EA093301EB093311EC0901C18D0908A -:1052E0001D18E0901E18F0901F1880910C189091D6 -:1052F0000D18A0910E18B0910F188C0D9D1DAE1DAC -:10530000BF1D80931C1890931D18A0931E18B09376 -:105310001F18B7FD21C080910B0180958870809384 -:105320000901C090321ED090331EE090341EF090E0 -:10533000351E8091F717082E000C990BAA0BBB0B9A -:105340008C0D9D1DAE1DBF1D8093321E9093331E8C -:10535000A093341EB093351EC0902018D090211811 -:10536000E0902218F0902318809110189091111855 -:10537000A0911218B09113188C0D9D1DAE1DBF1D6C -:105380008093201890932118A0932218B09323188B -:10539000B7FD3AC08090361E9090371EA090381E00 -:1053A000B090391EC090F8170C2C000CDD08EE08E8 -:1053B000FF08C80CD91CEA1CFB1CC092361ED092F8 -:1053C000371EE092381EF092391EC0900018D0901F -:1053D0000118E0900218F09003188C199D09AE098D -:1053E000BF098093201890932118A0932218B0939E -:1053F00023189091A80980912C1893FF02C0815026 -:1054000001C08F5F80932C1880918400909185005B -:1054100082179307C8F38091141890911518A091E2 -:105420001618B0911718B7FD15C0C0900018D0908D -:105430000118E0900218F09003188C199D09AE092C -:10544000BF098093141890931518A0931618B09361 -:10545000171888988091181890911918A0911A1807 -:10546000B0911B18B7FD15C0C0900018D09001185E -:10547000E0900218F09003188C199D09AE09BF093D -:105480008093181890931918A0931A18B0931B18AA -:105490008E9880911C1890911D18A0911E18B091A3 -:1054A0001F18B7FD19C0C0900018D0900118E090E7 -:1054B0000218F09003188C199D09AE09BF0980935A -:1054C0001C1890931D18A0931E18B0931F1880915C -:1054D0000B01887080930901415041F08091840054 -:1054E0009091850082179307C8F381CE80915C026A -:1054F00090915D02A0915E02B0915F02892B8A2B90 -:105500008B2B09F0AAC080912D18882309F452C072 -:1055100080903F1890904018A0904118B090421889 -:10552000C0902818D0902918E0902A18F0902B18D5 -:1055300080912C18C814D904EA04FB0488F4209143 -:10554000FD173091FE174091FB175091FC17421741 -:10555000530730F4815080932C182150310915C025 -:105560008C149D04AE04BF04E8F42091FD17309123 -:10557000FE174091F9175091FA172417350790F448 -:105580008F5F80932C182F5F3F4F3093FE1720932F -:10559000FD17409158025091590260915A02709142 -:1055A0005B020BC0409258025092590260925A021C -:1055B00070925B024FEF5FEFBA0190912C188091CF -:1055C000FF1797FD06C0811102C0169A07C04398C5 -:1055D00005C0811102C0169801C0439A0000000066 -:1055E00000002091840030918500225E3F4F809121 -:1055F0002C18882351F18091FF17811102C0149A51 -:1056000001C0419A80918400909185008217930790 -:10561000C8F380912C1887FF02C08F5F01C08150B2 -:1056200080932C188091FF17811102C0149801C03B -:10563000419880912C188823D1F280918400909118 -:10564000850082179307C8F3D0CF40935C02509334 -:105650005D0260935E0270935F02809143189091A7 -:105660004418A0914518B0914618892B8A2B8B2B92 -:1056700009F08EC3A0911B1EB0911C1E109709F457 -:10568000A0C5C0903F18D0904018E0904118F0900D -:10569000421840913B1850913C1860913D18709110 -:1056A0003E18C416D506E606F706D0F01092F41799 -:1056B00010921C1E10921B1E9091C21B8091C31B46 -:1056C000981709F47EC58091C31B8F5F8F708093FC -:1056D000C31B00ED802E07E0902EA12CB12C8AC1B7 -:1056E00040913718509138186091391870913A18D4 -:1056F0004C155D056E057F0508F46DC040913318AB -:10570000509134186091351870913618D2960D91D9 -:105710001D912D913C91D597EE27419FF12D529FE0 -:10572000C001629F900D619F800D911D429FF00D01 -:10573000811D9E1F519FF00D811D9E1F609FF00DCA -:10574000811D9E1F509FF10D8E1F9E1FF6958E1F6F -:105750009E1F349F800D911D359F900D1124FD01DA -:10576000EA5BFF4F0081118122813381080F191FED -:10577000211D311D00932F181093301820933118DC -:10578000309332183497C080D180E280F380C01605 -:10579000D106E206F30640F4C0922F18D0923018DA -:1057A000E0923118F0923218C0902F18D090301833 -:1057B000E0903118F090321881EE91E221E0FC0186 -:1057C00085909590A590B4908C149D04AE04BF0470 -:1057D00008F458C362C320912818309129184091C9 -:1057E0002A1850912B1829833A834B835C832C15FC -:1057F0003D054E055F0508F070C04091241850919A -:10580000251860912618709127184A875B876C8746 -:105810007D87D2960D911D912D913C91D597EE27C4 -:10582000419FF12D529FC001629F900D619F800D9D -:10583000911D429FF00D811D9E1F519FF00D811DF6 -:105840009E1F609FF00D811D9E1F509FF10D8E1FAA -:105850009E1FF6958E1F9E1F349F800D911D359FB4 -:10586000900D11248C0120E030E080902F18909052 -:105870003018A0903118B0903218FD01E65BFF4F50 -:10588000081519052A053B05A0F440815181628164 -:1058900073814D835E836F837887801A910AA20A91 -:1058A000B30A84169506A606B70638F44A015B01CA -:1058B00004C080809180A280B38081EE91E251E0AB -:1058C0005D83FC0105911591259134910815190509 -:1058D0002A053B0508F465C372C380912C18882300 -:1058E000D9F0D8964D915C91D99760E070E0009125 -:1058F00058021091590220915A0230915B024017D0 -:1059000051076207730741F010925C0210925D022A -:1059100010925E0210925F02409154025091550223 -:10592000609156027091570277FF5CC0AE5BBF4F2B -:105930008D919D910D90BC91A02D21EE31E241E021 -:10594000F901C590D590E590F490C816D906EA06FD -:10595000FB0658F4B695A79597958795440F2C5F4D -:105960003F4F71E22D3F370759F740932E18803291 -:105970009105A105B10520F480E290E0A0E0B0E03F -:105980008097A109B109811538E09307A105B105F8 -:1059900008F4D1C344E0949F900111242F51324E5A -:1059A000F901329645915491EE27859FB001849F6D -:1059B000610D7E1F06946E1F7E1F1124CB01A0E097 -:1059C000B0E0F9014591549160E070E0481B590B3B -:1059D0006A0B7B0B4093540250935502609356021E -:1059E000709357028090540290905502A0905602F6 -:1059F000B090570280911B1E90911C1E892B09F0BC -:105A0000BFC10E94C1A790931C1E80931B1E892BAF -:105A100009F4B6C1E0911B1EF0911C1E808183FF2A -:105A20003EC085899689A789B08D80932A1E909360 -:105A30002B1EA0932C1EB0932D1E818D928DA38DB5 -:105A4000B48D80932E1E90932F1EA093301EB09382 -:105A5000311E858D968DA78DB0A18093321E9093B7 -:105A6000331EA093341EB093351E81A192A1A3A131 -:105A7000B4A18093361E9093371EA093381EB09326 -:105A8000391E9091C21B8091C31B981709F4B9CF9E -:105A90008091C31B8F5F8F708093C31BB2CFC5886B -:105AA000D688E788F08C81E0C114D104E104F104C8 -:105AB00009F480E0018D128D238D348D01151105BF -:105AC0002105310509F08260458D568D678D70A1E5 -:105AD000411551056105710509F084608093F41743 -:105AE0001092241810922518109226181092271838 -:105AF00010923318109234181092351810923618EC -:105B000085A196A1A7A1B0A580933B1890933C18BE -:105B1000A0933D18B0933E18882499245401881A04 -:105B2000990AAA0ABB0A8092201890922118A09282 -:105B30002218B092231880921C1890921D18A092DF -:105B40001E18B0921F188092181890921918A092DF -:105B50001A18B0921B188092141890921518A092DF -:105B60001618B0921718CC0CDD1CEE1CFF1CC0924E -:105B70000418D0920518E0920618F0920718000F4A -:105B8000111F221F331F0093081810930918209328 -:105B90000A1830930B18440F551F661F771F409348 -:105BA0000C1850930D1860930E1870930F1841A1A4 -:105BB00052A163A174A1440F551F661F771F409324 -:105BC0001018509311186093121870931318880FBF -:105BD000991FAA1FBB1F8093001890930118A093D0 -:105BE0000218B093031810923F18109240181092A8 -:105BF00041181092421882A593A5A4A5B5A580933B -:105C0000371890933818A0933918B0933A1886A58E -:105C100097A5A0A9B1A98093281890932918A093BB -:105C20002A18B0932B1881A58093FF172091530257 -:105C3000821721F01092FE171092FD1797A99093EA -:105C40002D18992309F144AD55AD5093FC1740939D -:105C5000FB1742AD53AD5093FA174093F9171092CA -:105C60005C0210925D0210925E0210925F0240ADE3 -:105C700051AD60E070E04093580250935902609338 -:105C80005A0270935B0208C0409258025092590227 -:105C900060925A0270925B0296A93091A809931300 -:105CA00002C0821731F09093A809809353020E949A -:105CB00036A80E94CDE04092540250925502609264 -:105CC000560270925702E0911B1EF0911C1EEA5B77 -:105CD000FF4F80819181A281B38180932F1890938F -:105CE0003018A0933118B093321821EE31E241E020 -:105CF000F901C590D590E590F490C816D906EA064A -:105D0000FB0660F4B695A79597958795440F2C5F91 -:105D10003F4FEDEFF1E2E217F30751F740932E18F2 -:105D200080329105A105B10520F480E290E0A0E069 -:105D3000B0E08097A109B109811558E09507A10548 -:105D4000B10508F41BC264E0969F900111242F5105 -:105D5000324EF901329645915491EE27859FB0015C -:105D6000849F610D7E1F06946E1F7E1F1124F90112 -:105D700085909490A12CB12C861A970AA108B1089D -:105D80008092431890924418A0924518B0924618F9 -:105D900000914318109144182091451830914618ED -:105DA00040915C0250915D0260915E0270915F02D1 -:105DB000F02E1983F22FE32F401751076207730764 -:105DC00020F4F42E5983F62FE72F8F2D9981AF2FD2 -:105DD000BE2F0097E1E0AE07B10520F08FEF9FEFF7 -:105DE000A0E0B0E0081B190B2A0B3B0B00934318F3 -:105DF0001093441820934518309346184F3FFFEFF7 -:105E00005F076F077F0761F0481B590B6A0B7B0B1D -:105E100040935C0250935D0260935E0270935F0258 -:105E2000F8942091840030918500205F3F4F498590 -:105E300041504987442339F0280E391E2216330673 -:105E400008F46DC901C019013092890020928800C0 -:105E500078942D960FB6F894DEBF0FBECDBFDF91BC -:105E6000CF911F910F91FF90EF90DF90CF90BF9057 -:105E7000AF909F908F907F906F905F904F903F90EA -:105E80002F900895F694E794D794C794220F049620 -:105E9000E1E28D3F9E0709F092CC20932E18F0E2AC -:105EA000CF16D104E104F10428F410E2C12ED12C64 -:105EB000E12CF12C30E2C31AD108E108F108C11439 -:105EC00088E0D806E104F104F8F0E4E0DE9EC001C9 -:105ED00011248F51924EFC01329625913491FC2D64 -:105EE000EE27F39F8001F29F010D1E1F06940E1FE7 -:105EF0001E1F1124FC0185909490A12CB12C801AB6 -:105F0000910AA108B10822C097018601369527950C -:105F100017950795F801EC7F9F012F51364EF90137 -:105F200085909490F901329685919491EC2DE770CB -:105F3000E89F9001E99F300D1124F3E036952795F5 -:105F4000FA95E1F7821A930AA12CB12C480D591D3C -:105F50006A1D7B1D40933318509334186093351895 -:105F60007093361890912D1880912C18992309F46C -:105F700074C0882309F43ECDD8968D919C91D99711 -:105F8000A0E0B0E0409158025091590260915A024D -:105F900070915B0284179507A607B70709F060C0E8 -:105FA00029CDB694A794979487942D81220F2D83A1 -:105FB00004964DEF51E24817590709F082CC5D81F4 -:105FC00050932E1860E286169104A104B10428F4BF -:105FD00050E2852E912CA12CB12C60E2861A9108FA -:105FE000A108B108811478E09706A104B10408F46F -:105FF00040C0E4E09E9EC00111248F51924EFC01EE -:10600000329625913491F82DEE27F39F8001F29F6F -:10601000010D1E1F06940E1F1E1F1124FC018590EA -:106020009490A12CB12C801A910AA108B1084A853C -:106030005B856C857D85480D591D6A1D7B1D4093D0 -:106040002418509325186093261870932718809170 -:106050002D18811132C080912C18882309F4CACCE4 -:1060600010925C0210925D0210925E0210925F022A -:10607000C1CC950184013695279517950795F801B0 -:10608000EC7F9F012F51364EF90185919491F901D2 -:10609000329605911491E82DE770E09F9001E19F01 -:1060A000300D112443E0369527954A95E1F74C01D0 -:1060B000821A930AA12CB12CBACF49815A816B81E3 -:1060C0007C812D81420F511D611D711D4C155D0597 -:1060D0006E057F05C8F480912C18882309F48ACCBA -:1060E000D8964D915C91D99760E070E0009158028C -:1060F0001091590220915A0230915B0240175107CA -:106100006207730709F476CC10925C0210925D026C -:1061100010925E0210925F02D8968D919C91D99751 -:10612000A0E0B0E08093580290935902A0935A02E5 -:10613000B0935B025FCCAC01BD0176956795579536 -:106140004795FA01EC7F9F012F51364EF901459199 -:106150005491F9013296659174918770869F9001F0 -:10616000879F300D1124C901F3E096958795FA9524 -:10617000E1F7481B590B60E070E02CCCAC01BD018D -:106180007695679557954795FA01EC7F9F012F51BA -:10619000364EF90185909490F901329645915491CB -:1061A0008770849F9001859F300D1124C901A3E061 -:1061B00096958795AA95E1F7881A990AA12CB12C92 -:1061C000DFCD80ED882E87E0982EA12CB12C19CC44 -:1061D0001F93CF93DF93CDB7DEB728970FB6F89410 -:1061E000DEBF0FBECDBF69837A838B839C832D83F3 -:1061F0003E834F8358870E94D26B882311F081E041 -:1062000026C081E00E9451A269E170E080E090E048 -:106210000F948417BE016B5F7F4FCE0101960E94E1 -:1062200071DF10913B0B147080E00E9451A211238A -:1062300021F00E94836B8111E2CF10923B0B82E030 -:106240000E94ACDF0E941AE081E0111180E02896E4 -:106250000FB6F894DEBF0FBECDBFDF91CF911F9177 -:106260000895CF92DF92EF92FF92CF93DF93CDB755 -:10627000DEB728970FB6F894DEBF0FBECDBF20E083 -:1062800030E040EA50E46091210D7091220D809140 -:10629000230D9091240D0F94912B8823E9F01D82FA -:1062A0001E821F821886C12CD12C80EAE82E80E441 -:1062B000F82EC982DA82EB82FC82BE016B5F7F4FCF -:1062C000CE0101960E9471DFC092210DD092220D65 -:1062D000E092230DF092240D28960FB6F894DEBFBD -:1062E0000FBECDBFDF91CF91FF90EF90DF90CF90A9 -:1062F0000895BF92CF92DF92EF92FF920F931F9378 -:10630000CF93DF93CDB7DEB728970FB6F894DEBFF3 -:106310000FBECDBF9091A909981709F47AC0B82E85 -:1063200080E090E0A0E2B1E48D839E83AF83B887E4 -:10633000C090C90CD090CA0CE090CB0CF090CC0C63 -:1063400020E030E0A901C701B6010F94912B87FF2F -:106350000CC0A701960160E070E080E291E40F9428 -:1063600086326D837E838F83988720E030E048EC0F -:1063700053E46D817E818F8198850F94E7341816E0 -:1063800044F480E090E0A8ECB3E48D839E83AF8377 -:10639000B8872D813E814F8158856091210D709184 -:1063A000220D8091230D9091240D0F94912B87FF46 -:1063B0000BC019821A821B821C82BE016F5F7F4F45 -:1063C000CE0105960E9471DF6091190D70911A0D32 -:1063D00080911B0D90911C0D20911D0D30911E0D73 -:1063E00040911F0D5091200D19821A821B821C8230 -:1063F000E090210DF090220D0091230D1091240DBD -:10640000FE0131966F010E948EDEB092A9090E94B2 -:106410008AE180E028960FB6F894DEBF0FBECDBFAC -:10642000DF91CF911F910F91FF90EF90DF90CF9070 -:10643000BF900895CF92DF92EF92FF92CF93DF93B8 -:10644000EC016A017B0127E137EB41ED58EBC70115 -:10645000B6010F94E73487FD23C023E030E04AE91A -:1064600053E4C701B6010F94912B1816CCF0C880E5 -:10647000D980EA80FB8027E137EB41ED58EBC7017B -:10648000B6010F94E73487FD0BC0C1E023E030E88C -:106490004DE953E4C701B6010F94912B18160CF483 -:1064A000C0E08C2FDF91CF91FF90EF90DF90CF90E5 -:1064B00008954F925F926F927F928F929F92AF92C8 -:1064C000BF92CF92DF92EF92FF92CF93DF93CDB73F -:1064D000DEB728970FB6F894DEBF0FBECDBF9E8300 -:1064E0008D83DB01CD90DD90ED90FC908091C50C0B -:1064F0009091C60CA091C70CB091C80C89839A8367 -:10650000AB83BC839C01AD01C701B6010F948632F9 -:106510002B013C01AD81BE818D909D90AD90BC90D2 -:106520008091C10C9091C20CA091C30CB091C40C8D -:106530008D839E83AF83B88727E137EB41ED58EB1E -:10654000C301B2010F94E73487FD4FC023E030E070 -:106550004AE953E4C301B2010F94912B18160CF4CD -:1065600044C02D813E814F815885C501B4010F94EF -:1065700086322B013C0127E137EB41ED58EB0F94BC -:10658000E73487FD32C023E030E84DE953E4C3012E -:10659000B2010F94912B181644F120E030E0A901CC -:1065A0006D817E818F8198850F9487322B013C010C -:1065B00020E030E040E450E40F94912B87FF05C0C9 -:1065C000412C512C30E4632E762C27E137EB41ED42 -:1065D00058E3C301B2010F9486329B01AC01C5019F -:1065E000B4010F94E73487FF02C0198281C020E014 -:1065F00030E84DE953E46D817E818F8198850F9459 -:1066000087322B013C0120E030E84BE953E40F9442 -:10661000E73418163CF4412C20E8522E2BE9622E68 -:1066200023E4722E27E137EB41ED58E3C301B201B9 -:106630000F9487329B01AC01C501B4010F94912BDB -:1066400018169CF220E030E0A90169817A818B81E3 -:106650009C810F9487324B015C0120E030E040E4E4 -:1066600050E40F94912B87FF05C0812C912C90E46E -:10667000A92EBA2C27E137EB41ED58E3C501B4014F -:106680000F9486329B01AC01C701B6010F94E73429 -:1066900087FDABCF20E030E04AE953E469817A819D -:1066A0008B819C810F9487324B015C0120E030E8A4 -:1066B00048E953E40F94E73418163CF4812C80E841 -:1066C000982E88E9A82E83E4B82E27E137EB41ED18 -:1066D00058E3C501B4010F9487329B01AC0191E0EE -:1066E0009983C701B6010F94912B18160CF47DCF36 -:1066F000898128960FB6F894DEBF0FBECDBFDF911B -:10670000CF91FF90EF90DF90CF90BF90AF909F9090 -:106710008F907F906F905F904F900895CF93DF930D -:10672000EB010E94D966882321F0DF91CF910C9470 -:106730005566CE01DF91CF910895CF93C62F0E9469 -:10674000D966882319F0CF910C9431668C2FCF91A4 -:1067500008952F923F924F925F926F927F928F9205 -:106760009F92AF92BF92CF92DF92EF92FF920F93E0 -:106770001F93CF93DF93CDB7DEB762970FB6F89430 -:10678000DEBF0FBECDBF83E50E949066882349F02F -:106790000E944566182F811106C080E00E94B96CE6 -:1067A00002C01091310D8091190D90911A0DA09198 -:1067B0001B0DB0911C0D89839A83AB83BC838091A0 -:1067C0001D0D90911E0DA0911F0DB091200D8D8378 -:1067D0009E83AF83B8878091210D9091220DA09167 -:1067E000230DB091240D89879A87AB87BC8786E5F6 -:1067F0000E949066682E8091B6199091B719892BE6 -:1068000009F4B1C083E40E949066882309F4B6C0FD -:106810000E9459661B012C01712C812C68EC962E6C -:1068200072ECA72EB12CC12C28EC2F8732E4388BC8 -:1068300085E08D879D8591509D879F3FD9F1E5E04B -:10684000EE8735E0399F900111243A8B298B3E85E4 -:1068500031503E873F3F71F3E989FA89E30FF11D1B -:10686000EE0FFF1FEE0FFF1FE653F64ED080E180C4 -:10687000F28003812B2D3C2D4F8558896D2D7E2D67 -:106880008F2D902F0F94912B87FF04C0BD2CCE2C01 -:10689000FF86088B2D2D3E2D4F2D502F672D782DE7 -:1068A000892D9A2D0F94912B87FFD1CF7D2C4701F5 -:1068B000A02ECDCF272D382D492D5A2D6B2D7C2D77 -:1068C0008F8598890F94873220E030E040E05FE3C5 -:1068D0000F94F72BA20191010F9487321B012C0119 -:1068E0002DEB37E346E855EB0F94E73487FD0AC0FC -:1068F0002DEB37E346E855E3C201B1010F94912B2C -:106900001816E4F580E00E94B96C05E045E0C42E5D -:106910000150A0F135E0D32EC09E50011124DA942D -:106920009FEFD916A9F37501ED0CF11CC701880F73 -:10693000991F880F991FFC01E653F64E7F01A201B3 -:10694000910160817181828193810F9486329B01D4 -:10695000AC01F70160837183828393836D2D802F57 -:106960000E94E1C7DCCF111102C0662089F00F94AC -:106970009C1889E994E20F94B31716C0662041F081 -:106980008091B6199091B719892B11F00F94C21705 -:106990008AE50E949066882321F00E9459660E9431 -:1069A0007AA1812F0E94B96C112351F08091310D91 -:1069B000811106C00F9498188AE794E20F94B317D8 -:1069C0000F949C188CE694E20F94B3178091310DCC -:1069D000811103C086E191E302C08AE191E30F9443 -:1069E000B3178AE00E9442530F949C188FE594E2FB -:1069F0000F94B317C090320DD090330DE090340D4A -:106A0000F090350D20E030E0A901C701B6010F94E8 -:106A1000E734181644F442E0C701B6010E94D2538D -:106A20000E94475404C08AE594E20F94B3174CE0E7 -:106A300050E069E17DE0CE0101960F94A635892BE7 -:106A4000D1F062960FB6F894DEBF0FBECDBFDF91D6 -:106A5000CF911F910F91FF90EF90DF90CF90BF905B -:106A6000AF909F908F907F906F905F904F903F90EE -:106A70002F900C941CE062960FB6F894DEBF0FBE08 -:106A8000CDBFDF91CF911F910F91FF90EF90DF90DD -:106A9000CF90BF90AF909F908F907F906F905F90BE -:106AA0004F903F902F9008952F923F924F925F9278 -:106AB0006F927F928F929F92AF92BF92CF92DF920E -:106AC000EF92FF920F931F93CF93DF9300D01F920B -:106AD0001F92CDB7DEB77C018B016A01190180904E -:106AE000190D90901A0DA0901B0DB0901C0DA501D2 -:106AF0009401FC0160817181828193810F94912BBB -:106B0000F1E0FD83811112C020911D0D30911E0D09 -:106B100040911F0D5091200DF8016081718182819B -:106B200093810F94912B811101C01D82F601408049 -:106B300051806280738020916002309161024091A7 -:106B4000620250916302C301B2010F94912B88231A -:106B500009F455C040926002509261026092620254 -:106B60007092630220E030E040E05FE360914E0C01 -:106B700070914F0C8091500C9091510C0F94F72B09 -:106B800069837A838B839C838092A50C9092A60C58 -:106B9000A092A70CB092A80C80911D0D90911E0D93 -:106BA000A0911F0DB091200D8093A90C9093AA0C79 -:106BB000A093AB0CB093AC0CF60180819181A281C3 -:106BC000B3818093AD0C9093AE0CA093AF0CB093B7 -:106BD000B00C8091250D9091260DA091270DB091BC -:106BE000280D8093B10C9093B20CA093B30CB0938A -:106BF000B40CCE0101960E9451640E941766FD817B -:106C0000F1110FC020E030E040EC5FE36091520CE6 -:106C10007091530C8091540C9091550C0F948133CA -:106C200004C060E070E080EA91E469837A838B833A -:106C30009C83F70180819181A281B3818093A50C0F -:106C40009093A60CA093A70CB093A80CF801808198 -:106C50009181A281B3818093A90C9093AA0CA093F7 -:106C6000AB0CB093AC0CF101208131814281538196 -:106C70006091B10C7091B20C8091B30C9091B40CF6 -:106C80000F9487326093B10C7093B20C8093B30C65 -:106C90009093B40CCE0101960E9451640E94176635 -:106CA0000F900F900F900F900F90DF91CF911F9149 -:106CB0000F91FF90EF90DF90CF90BF90AF909F909B -:106CC0008F907F906F905F904F903F902F9008959E -:106CD0002F923F924F925F926F927F928F929F92EC -:106CE000AF92BF92CF92DF92EF92FF920F931F93DA -:106CF000CF93DF93CDB7DEB7C355D1090FB6F89464 -:106D0000DEBF0FBECDBF89E494E20F94B3170E949B -:106D100089A281110C9415BF84E50E94D96688234D -:106D200029F00E94556660E00E94B29680E090E0F3 -:106D3000A0E8BFE380939D0C90939E0CA0939F0CC2 -:106D4000B093A00C8093A10C9093A20CA093A30CE1 -:106D5000B093A40C8DEC9CECACE4BEE38093990C56 -:106D600090939A0CA0939B0CB0939C0C80E090E0C5 -:106D7000A0E2B1E48093B8189093B918A093BA1820 -:106D8000B093BB188CE390E09093B7188093B6183B -:106D90008DEC90E09093B5188093B4181092B318CE -:106DA0004AE959E969E97EE38FE40E940FC96BAFB4 -:106DB0007CAF8DAF9EAF60E083E40E94E666609694 -:106DC0008FAF609760E08BE40E94E66661968FAFBC -:106DD000619782E40E94D9668823C9F00E945966AF -:106DE0000F94F3337093B7186093B618611571055B -:106DF00071F0685271096536710548F06CE870E011 -:106E00008BE194E20F94781886E194E2AEC18CE4B1 -:106E10000E94D966882301F10E9459666B017C01AA -:106E20006093990C70939A0C80939B0C90939C0C9C -:106E300020E030E0A9010F94E73487FD0AC020E08C -:106E400030E040E050E4C701B6010F94912B1816D2 -:106E50001CF48EEE93E289C181E50E94906688233E -:106E600051F18091191E90911A1E892B09F10E94EF -:106E700059666B017C016093A10C7093A20C809306 -:106E8000A30C9093A40C2DEC3CEC4CE45DE30F942C -:106E9000E73487FD0AC020E030E040E751E4C70155 -:106EA000B6010F94912B181634F48DEB93E25DC16B -:106EB00082E993E25AC183E50E94D9668823C9F02A -:106EC0000E9459664B015C012DEC3CEC4CEC5DE3FF -:106ED0000F94E73487FD0AC020E030E040E050E442 -:106EE000C501B4010F94912B181654F48BE693E26C -:106EF0003CC17DEC872E7CEC972EA92C7EE3B72E2F -:106F000080E50E949066882371F18091191E90910E -:106F10001A1E892B19F483E393E227C18091B318D9 -:106F20008F5F8093B3180E9459666B017C01609358 -:106F3000B8187093B9188093BA189093BB1820E0D2 -:106F400030E0A9010F94E73487FD0AC020E030E06B -:106F500048EC51E4C701B6010F94912B18161CF4AC -:106F60008BE093E202C186E40E94D9668823C9F0CF -:106F70000E9459666B017C0120E030E040E85FE34D -:106F80000F94E73487FD0AC020E030E040E850E489 -:106F9000C701B6010F94912B18164CF482EE92E2C1 -:106FA000E4C0C12CD12C60EEE62E6FE3F62EA701D3 -:106FB0009601C701B6010F94F72B9B01AC0160E06D -:106FC00070E084E490E40F94813320919D0C309123 -:106FD0009E0C40919F0C5091A00C0F94F72B2B010D -:106FE0003C01A5019401C501B4010F94F72BA70141 -:106FF00096010F94F72B2CEE31E548EB5DE30F94EF -:1070000081339B01AC01C301B2010F94F72B609354 -:107010009D0C70939E0C80939F0C9093A00C88E421 -:107020000E94D966882381F00E9459660F94F33339 -:107030007093B5186093B418655A71096838710572 -:1070400018F084EB92E291C085E50E949066882357 -:10705000F1F00F94A41B611571058105910511F0E4 -:107060000F9422278091191E90911A1E892B19F0D6 -:107070000E94596604C060E070E088E492E4609386 -:107080006F1870937018809371189093721882E53E -:107090000E949066811103C080E892E266C08091F0 -:1070A000191E90911A1E892B61F00E9455662F9629 -:1070B0009FAF8EAF2F97181619064CF08CE492E212 -:1070C00054C02AE130E02F963FAF2EAF2F9788E5CE -:1070D0000E94D966882369F00E9459662091B50CF8 -:1070E0003091B60C4091B70C5091B80C0F94863289 -:1070F00008C06091190D70911A0D80911B0D90912F -:107100001C0D60936B1870936C1880936D1890939E -:107110006E1889E50E94D966882379F00E94596625 -:107120002091B90C3091BA0C4091BB0C5091BC0C21 -:107130000F948632AB01BC0108C040911D0D5091E7 -:107140001E0D60911F0D7091200D40936718509394 -:1071500068186093691870936A188BE698E10E942A -:107160001AB2811105C082E292E20F94B3175DC694 -:1071700084E40E94906691E089270E94B96C20E027 -:1071800030E040EA50E46091210D7091220D809131 -:10719000230D9091240D0F94912B87FF1CC0198A09 -:1071A0001A8A1B8A1C8A80E090E0A0EAB0E48983F6 -:1071B0009A83AB83BC83BE016F5E7F4FCE01019685 -:1071C0000E9471DF80E1E5EAFCE0A9E1BDE0019009 -:1071D0000D928A95E1F73091A01962963FAF6297C0 -:1071E0001092A0190E9457F481E092E20F94B31715 -:1071F0008091B6189091B7188A31910574F48091F6 -:10720000B4189091B5180E94E29261E08091180D37 -:107210000E943395811109C05AC50E94096681E018 -:107220000E94B4938111EBCF52C51092250D10929C -:10723000260D1092270D1092280D85E29DE00E94E8 -:1072400040F18091B3188823B1F10E941766209114 -:10725000B10C3091B20C4091B30C5091B40C6091D0 -:10726000B8187091B9188091BA189091BB180F9402 -:1072700087326093B10C7093B20C8093B30C9093EF -:10728000B40C20E030E040E751E46091520C709182 -:10729000530C8091540C9091550C0F948133698359 -:1072A0007A838B839C83CE0101960E9451640E9455 -:1072B00017660E9437A580E2E7E4F8E1DF01282F96 -:1072C0001D922A95E9F7E3E9F8E1DF01282F1D92E5 -:1072D0002A95E9F7E3E7F8E1DF011D928A95E9F7DE -:1072E0000E9417668091990C90919A0CA0919B0C2A -:1072F000B0919C0C8093AD0C9093AE0CA093AF0C0E -:10730000B093B00C19821A821B821C829E012F5FDF -:107310003F4F4DEA5CE069EA7CE085EA9CE00E9430 -:1073200054B59E01255C3F4F4DEA5CE069EA7CE084 -:1073300085EA9CE00E9454B56096BFAD6097BB2380 -:1073400029F06DE17DE089E19DE004C067E678E128 -:107350008BE698E10E947964298F3A8F4B8F5C8F7E -:107360006D8F7E8F3FAF2D962FAF2D972D96EFAD62 -:107370002D97E7FD95C4FFADF7FD92C42091B61996 -:107380003091B7194E2F4203B001439F700D112465 -:1073900080912F1A9091301A680F791F072E000CD8 -:1073A000880B990B0F94982B2B013C01CB01D30137 -:1073B0008FAB98AFA9AFBAAF2091B8193091B91976 -:1073C0004FAD4203B001439F700D11248091311ADB -:1073D0009091321A680F791F072E000C880B990BB9 -:1073E0000F94982B162F072FF82EE92E462F572F84 -:1073F000682F792FCE01C7960E941AB2882309F40C -:1074000053C420E030E040EA50E4B201C3010F94DD -:107410008732D62E272E382EC92E862F922DA32DB9 -:10742000BC2D8BAB9CABADABBEAB812F902FAF2DEA -:10743000BE2D8FA798ABA9ABBAAB2D968FAD2D976C -:1074400081114AC09FAD91111FC020E030E040EA99 -:1074500050E4612F702F8F2D9E2D0F94873221962F -:107460006FAF219723967FAF239725968FAF2597F0 -:1074700027969FAF2797AFADD42C252C362CC72C41 -:10748000AA2309F4C6C023C0C201D3018BAB9CABB5 -:10749000ADABBEAB20E030E040EA50E4612F702F8E -:1074A0008F2D9E2D0F9486326FA778AB89AB9AAB48 -:1074B000BFADB43054F221961FAF219723960FAF82 -:1074C00023972596FFAE25972796EFAE2797EFAD2A -:1074D000E4300CF489C09DC02D96FFAD2D97F4309B -:1074E0000CF453C02FAD24305CF020E030E040EAD3 -:1074F00050E4B201C3010F948632362F272F03C008 -:10750000342D252DC301432F522FBC014BAB5CAB57 -:107510006DAB7EAB3FAD31117FC420E030E040EA7F -:1075200050E4B201C3010F948632D62E272E382E96 -:10753000C92E20E030E040EA50E4612F702F8F2DFB -:107540009E2D0F9487326FA778AB89AB9AAB4FAD66 -:10755000442309F452C020E030E040EA50E4612FB7 -:10756000702F8F2D9E2D0F94863221966FAF21970D -:1075700023967FAF239725968FAF259727969FAFAA -:1075800027978FAD843084F144C09FAD91110FC017 -:1075900020E030E040E251E46D2D722D832D9C2DD2 -:1075A0000F948632D62E272E382EC92E11C0AFAD9D -:1075B000A430C4F120E030E040E251E46D2D722DA2 -:1075C000832D9C2D0F9486326BAB7CAB8DAB9EAB29 -:1075D00021961FAF219723960FAF23972596FFAED5 -:1075E00025972796EFAE279752ED852E53E5952EDA -:1075F0005BE7A52E51E4B52E29C021961FAF219738 -:1076000023960FAF23972596FFAE25972796EFAECB -:10761000279742ED842E43E5942E4BEFA42E40E4B1 -:10762000B42E14C021961FAF219723960FAF239736 -:107630002596FFAE25972796EFAE279732ED832E3E -:1076400033E5932E3BEFA32E31E4B32E8BA99CA9F7 -:10765000ADA9BEA92C968CAF9DAFAEAFBFAF2C9796 -:107660009C01AD01B201C3010F948632698B7A8B04 -:107670008B8B9C8B4FA458A869A87AA8A301920170 -:10768000612F702F8F2D9E2D0F9486326D8B7E8BE8 -:107690008F8B988F2C962CAD3DAD4EAD5FAD2C975A -:1076A0006091190D70911A0D80911B0D90911C0D18 -:1076B0000F9486322C966CAF7DAF8EAF9FAF2C9718 -:1076C000A301920160911D0D70911E0D80911F0DFF -:1076D0009091200D0F9486322B013C018D2D922D1F -:1076E000A32DBC2D89839A83AB83BC8321968FAD58 -:1076F000219723969FAD23972596AFAD2597279683 -:10770000BFAD27978D839E83AF83B8878091990CF7 -:1077100090919A0CA0919B0CB0919C0C89879A87B0 -:10772000AB87BC872DEC3CEC4CEC5CE3C501B401B1 -:107730000F94F72B20919D0C30919E0C40919F0C43 -:107740005091A00C0F94F72B2091250D3091260D10 -:107750004091270D5091280D0F9487326D877E87B9 -:107760008F87988B2C962CAD3DAD4EAD5FAD2C9791 -:10777000CA01B9010F94F72B6B017C01A30192019F -:10778000C301B2010F94F72B9B01AC01C701B601F5 -:107790000F94873220E030E040E050E40F94E7346B -:1077A00018160CF047C00E9437A51BA21CA21DA2F0 -:1077B0001EA220E030E040E05FE36091210D709177 -:1077C000220D8091230D9091240D0F9487326F8F9D -:1077D00078A389A39AA39E012D5D3F4FAE01415E20 -:1077E0005F4F6DE17DE089E19DE00E9454B51BA2F1 -:1077F0001CA21DA21EA220E030E040E05FE36091E9 -:10780000990C70919A0C80919B0C90919C0C0F9408 -:1078100087326F8F78A389A39AA39E012D5D3F4F76 -:10782000AE01415E5F4FBE01615D7F4FCE01C396E9 -:107830000E9454B51F8E18A219A21AA29E01215EA1 -:107840003F4F49E95CE0BE01615D7F4FCE01C396C9 -:107850000E9454B50E9463A540904F025090500280 -:107860006090510270905202E0904A0CF0904B0CE4 -:1078700000914C0C10914D0CA090460CB090470C10 -:10788000C090480CD090490C9501A601B701C801E1 -:107890000F94E734181614F47501860120E030E0E7 -:1078A00040E251E4B701C8010F94813360934F0265 -:1078B00070935002809351029093520240E0BE01B7 -:1078C0006F5E7F4FCE0101960E94C9D340924F0256 -:1078D0005092500260925102709252020E941766BA -:1078E00022242394312CD10111972896BFAFAEAF3B -:1078F0002897812C912C5401839427960FAC2797BD -:1079000004C0880C991CAA1CBB1C0A94D2F7412CF9 -:10791000512C32014394022C04C0440C551C661CAB -:10792000771C0A94D2F7482859286A287B2881E0D6 -:1079300090E0FC0127960FAC279702C0EE0FFF1FC7 -:107940000A94E2F72A96FFAFEEAF2A9723E738E1D1 -:1079500026963FAF2EAF269787E498E124969FAFF7 -:107960008EAF2497A3E9B8E12296BFAFAEAF2297BE -:10797000C12CD12C2496EEADFFAD24976496FFAFB9 -:10798000EEAF649780819181A0E0B0E084219521E1 -:10799000A621B72184159505A605B70509F099C05C -:1079A0002296AEADBFAD22978D919C91A0E0B0E044 -:1079B00088219921AA21BB21892B8A2B8B2B09F0A5 -:1079C00088C000912F1A1091301AE090B619F090EB -:1079D000B71928962EAD3FAD28972E9DB0012F9D4B -:1079E000700D3E9D700D1124600F711F6E5F7F4FF3 -:1079F000072E000C880B990B0F94982B6BA77CA774 -:107A00008DA79EA72E9CB0012F9C700D3E9C700DE3 -:107A10001124600F711F62507109072E000C880B32 -:107A2000990B0F94982B6BA37CA38DA39EA34AE381 -:107A300051E061E070E0CE018B960F94640E80916E -:107A4000B8199091B919C89EB001C99E700DD89E01 -:107A5000700D11248091311A9091321A680F791F9C -:107A6000161617060CF09CC1643331E0730714F04E -:107A700063E371E0072E000C880B990B0F94982B91 -:107A80006F8F78A389A39AA36FA378A789A79AA7D2 -:107A90004AE351E061E070E0CE0183960F94640EFA -:107AA0004FA158A569A57AA5CE018B960E941AB25E -:107AB00081117BC12296AEADBFAD22978D919C9175 -:107AC00011972A96EEADFFAD2A978E2B9F2B8D93A3 -:107AD0009C9324962EAD3FAD24972E5F3F4F249666 -:107AE0003FAF2EAF24976496AEADBFAD64978D9136 -:107AF0009C91A0E0B0E088219921AA21BB21892B8B -:107B00008A2B8B2B09F4A9C0F90180819181A0E017 -:107B1000B0E088219921AA21BB21892B8A2B8B2BAC -:107B200009F49BC02696EEADFFAD2697808191812A -:107B3000A0E0B0E088219921AA21BB21892B8A2BC2 -:107B40008B2B09F08AC00091311A1091321AE09003 -:107B5000B819F090B919CE9CB001CF9C700DDE9C85 -:107B6000700D1124600F711F6E5F7F4F072E000C88 -:107B7000880B990B0F94982B6FA378A789A79AA7C6 -:107B8000C60101968E9DB0018F9D700D9E9D700D5A -:107B90001124600F711F62507109072E000C880BB1 -:107BA000990B0F94982B6F8F78A389A39AA3809138 -:107BB000B6199091B71928962EAD3FAD2897289FFA -:107BC000B001299F700D389F700D112480912F1ADC -:107BD0009091301A680F791F161617060CF0FEC028 -:107BE0006B3331E0730714F06AE371E0072E000C89 -:107BF000880B990B0F94982B6BA37CA38DA39EA34A -:107C00006BA77CA78DA79EA743E351E061E070E0DE -:107C1000CE0187960F94640E43E351E061E070E07B -:107C2000CE014F960F94640E4FA158A569A57AA571 -:107C3000CE018B960E941AB28111D5C02696AEADA8 -:107C4000BFAD26978D919C9111972A96EEADFFAD11 -:107C50002A978E2B9F2B8D939C93FFEFCF1ADF0AD1 -:107C600026962EAD3FAD26972E5F3F4F26963FAF0F -:107C70002EAF269722968EAD9FAD22970296229622 -:107C80009FAF8EAF229795E0C916D10409F072CE4E -:107C9000AFEF2A1A3A0AB6E02B16310409F023CEC8 -:107CA0008091BC188093BD182F96EEADFFAD2F9735 -:107CB00031972F96FFAFEEAF2F97EF2B41F02D9618 -:107CC000FFAD2D97F7FD03C02FAD27FF35CB6FEF2D -:107CD00086E192E20E94F1EE0E9437A580E090E0FA -:107CE000A0EAB0E48093AD0C9093AE0CA093AF0CDF -:107CF000B093B00C19821A821B821C829E012F5FE6 -:107D00003F4F4DEA5CE069EA7CE085EA9CE00E9436 -:107D100054B580916B1890916C18A0916D18B0912A -:107D20006E188093A50C9093A60CA093A70CB0930B -:107D3000A80C8091671890916818A0916918B0916B -:107D40006A188093A90C9093AA0CA093AB0CB093E3 -:107D5000AC0C19821A821B821C829E012F5F3F4F3E -:107D60004DEA5CE069EA7CE085EA9CE00E9454B55B -:107D700062963FAD62973093A0190E9457F46196C6 -:107D80004FAD6197411151C010928409109283093F -:107D90000E94D19C8091180D90E00E94E29245C013 -:107DA00060E070E080E89FE36BCE4F8D58A169A141 -:107DB0007AA1CE0183960E941AB2882309F47ACE62 -:107DC0009E01215E3F4FAE014D5D5F4FBE01695D7B -:107DD0007F4FCE018B960E9493A56CCE60E070E041 -:107DE00080E89FE309CF4F8D58A169A17AA1CE0108 -:107DF00083960E941AB2882309F420CF9E01215E47 -:107E00003F4FAE014D5D5F4FBE01695D7F4FCE01BB -:107E10008B960E9493A512CFFFADD42C252C362C27 -:107E2000C72CF4300CF097CB84CBCD5ADF4F0FB674 -:107E3000F894DEBF0FBECDBFDF91CF911F910F91A0 -:107E4000FF90EF90DF90CF90BF90AF909F908F907A -:107E50007F906F905F904F903F902F900895082EE5 -:107E6000000C990BFC01E654F74EE491EE2399F0D7 -:107E7000F0E0EE0FFF1FE056F74EA591B4912C9164 -:107E8000FC01E050F74E8491822321E090E009F458 -:107E900020E0822F089580E090E00895CF93DF9353 -:107EA000C82F89E698E20F94B3170C2E000CDD0B57 -:107EB000FE01E654F74E8491805C0E944253FE011D -:107EC000E050F74EE49180E3E13021F0E6958F5FDA -:107ED0008933D1F7DF91CF910C9442534F925F9247 -:107EE0006F927F928F929F92AF92BF92CF92DF92CA -:107EF000EF92FF920F931F93CF93DF93CDB7DEB72F -:107F000064970FB6F894DEBF0FBECDBF082FF62ED4 -:107F1000E42E882E912C26E0829FC0011124FC01C2 -:107F2000E25EF74D65907490FC01E45EF74D5F01F1 -:107F300045905490F3018081482F487050E060E0F4 -:107F400070E07695679557954795F201108113700B -:107F5000142BF4E0EF1209C0807190E0A0E0B0E0D3 -:107F6000B695A79597958795182B82E198E20F947F -:107F7000B317005D802F0E9442538F2D0E94425301 -:107F800083E00F94A817F401EE0FFF1F8F2D0F2C25 -:107F9000000C990B9E012F5F3F4F690133E0E80D04 -:107FA000F91D81549109E80FF91FEE0FFF1FE251EF -:107FB000F84DE3121BC0A591B4918C911F928F9341 -:107FC00084EE97E29F938F93DF92CF920F94292BA9 -:107FD0000F900F900F900F900F900F90F6018191DE -:107FE0006F01882309F10E944253F8CFA591B49103 -:107FF00011968C9111978F938C918F938AED97E2C4 -:108000009F938F93DF92CF920F94292B0F900F9015 -:108010000F900F900F900F90F60181916F018823C0 -:1080200019F00E944253F8CF612F70E080ED97E283 -:108030000F947818F501C590D49084E497E20F94DA -:10804000B317802F0E944253F2E4FF1691F023E40D -:10805000F216F9F031E4F3122DC0F6014081429599 -:1080600046954695437050E060E070E080E497E20A -:108070001FC0F6014081407350E060E070E094E082 -:1080800076956795579547959A95D1F78CE397E242 -:108090000FC0F60140814C7050E060E070E082E07B -:1080A00076956795579547958A95D1F788E397E236 -:1080B0000F944918F3014081477050E060E070E090 -:1080C00087EC97E20F9449188EEB97E20F94B31761 -:1080D000802F0E944253F201608170E08AEB97E2A8 -:1080E0000F94781881EB97E20F94B317802F0E94BA -:1080F0004253F301608170E08DEA97E20F947818A3 -:1081000086E0889DF001899DF00D1124E05EF74D19 -:10811000C590D49083EA97E20F94B317802F0E9402 -:108120004253F601608170E080EA97E20F9478187C -:1081300000EC0F0DF3E0EF1207C0197F59F48CE447 -:1081400097E20F94B31706C0812F8B7FC1F31C50A9 -:108150001230A8F3F601808190E0A0E0B0E004C006 -:10816000B695A795979587950A95D2F780FF04C095 -:1081700085E697E20F94B317F601808180FF04C073 -:1081800082E897E20F94B31764960FB6F894DEBFB7 -:108190000FBECDBFDF91CF911F910F91FF90EF9058 -:1081A000DF90CF90BF90AF909F908F907F906F9017 -:1081B0005F904F900895CF93DF93C82FD0E0FE01DA -:1081C000EA5BF64EE4918E2F90E0FC013197E231AC -:1081D000F105E8F58827EF53FF4F8F4F0D947E325E -:1081E00043E061E402C043E062E480E02EC044E08A -:1081F00061E405C044E062E402C044E063E481E07D -:1082000024C043E061E402C043E062E482E01DC0B8 -:1082100044E061E405C044E062E402C044E063E499 -:1082200083E013C044E061E405C044E062E402C0BE -:1082300044E063E484E009C044E061E405C044E054 -:1082400062E402C044E063E485E00E946EBF86E61B -:1082500098E20F94B317FE01E654F74EE491E23032 -:10826000F9F4FE01E050F74EE491E038C9F482E6FB -:1082700098E20F94B31782E10F94A8178AE598E269 -:108280000F94B31780E498E20F94B3178EE00F9425 -:10829000A81744E063E481E0DF91CF910C946EBFB6 -:1082A000DF91CF9108952F923F924F925F926F92FC -:1082B0007F928F929F92AF92BF92CF92DF92EF9276 -:1082C000FF920F931F93CF93DF93CDB7DEB7AC9799 -:1082D0000FB6F894DEBF0FBECDBF182F6CA7542E7B -:1082E000B22EA32E99EF692E98E2792E00E080E05D -:1082F000812E012E000C99082AEC210F2BA7FE01DC -:1083000031967F01F30132964490242C312C2814AD -:10831000390409F0A4C081115DC001115BC0AF92A6 -:10832000BF9221EF38E23F932F93FF92EF920F9489 -:10833000292BFAA6E9A60F900F900F900F900F909F -:108340000F906701F60181916F01882319F00E9457 -:108350004253F8CF1F924F922CEE38E23F932F9367 -:10836000FF92EF920F94292B0F900F900F900F9088 -:108370000F900F906701F60181916F01882319F02A -:108380000E944253F8CF812F0E944EBFFBA5F7FDFC -:108390001DC026E3221A31083F922F9282EE98E206 -:1083A0009F938F93FF92EF920F94292B0F900F9032 -:1083B0000F900F900F900F90E9A5FAA58191FAA761 -:1083C000E9A78823B1F00E944253F6CF88E00F94CA -:1083D000A8170FC08EE20E944253EB2DFA2DDF0149 -:1083E0000D900020E9F78A2F8B19875E0F94A8174C -:1083F00001E0F301C590D490412CF60184918111E4 -:1084000007C0312C87E2C82ED12CC418D1080AC06D -:108410000E9442534394FFEFCF1ADF0A27E2421231 -:10842000ECCF0AC0832D90E08C159D052CF480E2E2 -:108430000E9442533394F6CF552069F0812F0E9459 -:10844000BF50882309F4C9C03CA53111C6C087EDCF -:1084500098E20F94B3178AE00E94425381E0F4E05F -:108460006F0E711C29EE621629E2720609F04ACFDE -:108470008111F9C0AF92BF928AEA98E29F938F93DD -:10848000CE0101967C019F938F930F94292B670156 -:108490000F900F900F900F900F900F905701F501D4 -:1084A00081915F01882319F00E944253F8CF9F9277 -:1084B0008F9285EA98E29F938F93FF92EF920F94A9 -:1084C000292B0F900F900F900F900F900F90570146 -:1084D000F50181915F01882319F00E944253F8CF82 -:1084E000812F0E944EBF0AEC010F07FD1BC0C40183 -:1084F000C6979F938F938BE998E29F938F93FF92F8 -:10850000EF920F94292B0F900F900F900F900F90D8 -:108510000F905701F50181915F01882331F00E948E -:108520004253F8CF88E00F94A8178AE898E20F9496 -:10853000B317552009F44DC0812F0F942D088111D8 -:1085400042C0812F0F949B0A882331F087E10F945A -:10855000A81782EB98E22CC0003128F5802F0F94E9 -:108560004B1B092E000CAA0BBB0BBF93AF939F9321 -:108570008F9386E798E29F938F93FF92EF920F94E9 -:10858000292B0FB6F894DEBF0FBECDBFF601819147 -:108590006F01882319F00E944253F8CF82E798E2D6 -:1085A0000F94B31703C087E10F94A8178CEB98E2E0 -:1085B0000F94B317812F0E942FBFBC01990F880B16 -:1085C000990B0E94B65387E10F94A817812F0E9440 -:1085D000DBC08AE00E94425346C0F3013396E49127 -:1085E000E11121C08BA50F944B1B092E000CAA0B87 -:1085F000BB0BBF93AF939F938F9386EC98E29F93AF -:108600008F93FF92EF920F94292B67010FB6F89486 -:10861000DEBF0FBECDBFF60181916F018823E9F067 -:108620000E944253F8CF812F0F949B0A811103C0FF -:108630008CEB98E207C0812F0F942D0881110DC09B -:1086400082EB98E20F94B317812F0E942FBFBC01D9 -:10865000990F880B990B0E94B6530111FCCE812F04 -:108660000E94DBC0F8CEAC960FB6F894DEBF0FBE0A -:10867000CDBFDF91CF911F910F91FF90EF90DF90D1 -:10868000CF90BF90AF909F908F907F906F905F90B2 -:108690004F903F902F9008952F923F924F925F926C -:1086A0006F927F928F929F92AF92BF92CF92DF9202 -:1086B000EF92FF920F931F93CF93DF9300D01F92FF -:1086C000CDB7DEB72DB63EB684E50E94906688230E -:1086D00009F441C060E089E40E94E666082F61E089 -:1086E00070E082E50E948EB36C0160E070E083E58B -:1086F0000E948EB3182F65E470E08CE40E948EB364 -:108700005C0164EF71E087E50E948EB32C01990F44 -:1087100066087708812F90E0A816B906CCF01634C9 -:10872000A8F4011156C1812F0E94BF50882309F47B -:1087300050C129E237E041E060E0812F0E9453C13F -:108740008AE00E9442538AE00E9442531F5FE2CFB8 -:1087500089EE99E299C085E40E9490668823B1F081 -:108760000E94456680931F0C86EF9CE20F94B3171E -:1087700080911F0C811103C088EE9CE202C08CEE38 -:108780009CE20F94B3178FEE9CE27EC083E50E94BB -:108790009066882309F47BC060E080E50E949DB369 -:1087A000082F10E0B8018EE89CE20F947818F801C9 -:1087B000EE0FFF1FEE0FFF1FE459FC4F6081718128 -:1087C0008DE79CE20F945A186AE570E08CE69CE213 -:1087D0000F945A188AE00E94425362E170E088E5E3 -:1087E0009CE20F9478188AE00E9442538CE39CE24A -:1087F0000F94B31780EF99E20F94B3178AE00E94A9 -:10880000425353985B9A87E29CE20F94B31754EF5C -:10881000452E55245394612C712C49825A826B82C7 -:108820007C82BE016F5F7F4F80EA0E94636B6EEEB9 -:10883000862E62E0962EA12CB12C89829A82AB8280 -:10884000BC82BE016F5F7F4F8AE50E94636B780137 -:10885000EE0CFF1C4B990DC149825A826B827C82BF -:10886000BE016F5F7F4F8CE30E94636B4B99E3C047 -:1088700000C18FEFE81AF80A98E9E9169AE3F906B9 -:1088800009F046C186EF99E20F94B317DAC160E0B0 -:1088900070E080E50E948EB38C01F82E80E50E9486 -:1088A000D966811107C0E5E4E01708F4CAC195E470 -:1088B000E92E01C0E02E60E089E40E94E666582EB1 -:1088C00060E087E50E94E666882309F47FC08DB6E4 -:1088D0009EB689ED9CE20F94B3176801DD248E2DBE -:1088E00090E08C199D0901962DB73EB7281B390BD6 -:1088F0000FB6F8943EBF0FBE2DBF8DB79EB7019641 -:108900005C01E01660F0063440F4511064C1802F21 -:108910000E94BF50882309F45EC10F5FF2CF4090E0 -:10892000D10883E08093D10881E08093861940ECE0 -:108930005CE269EC7CE282E00E94E16780EB9CE211 -:108940000E94E5C87F2CE71418F195E49715F0F024 -:10895000511005C0872D0E94BF50811117C0872D6F -:108960000E942DA7682E072D10E00C191D090A0D75 -:108970001B1DF8018081681649F022EE35E040E0C9 -:10898000652D872D0E9453C1F80160827394DBCF5F -:1089900080918619882339F068EC70E080E090E0DF -:1089A0000F948417CFCF4092D1080FB6F8949EBE93 -:1089B0000FBE8DBE46C1F5E4FF1538F022EE35E05E -:1089C00041E0652D8F2D0E9453C1F394EF1498F769 -:1089D00038C1A89524E337E041E0602F812F0E9441 -:1089E00053C161E0812F0E9485A7E12CF12CEC148A -:1089F000FD040CF0A8CEA89560E0812F0E9456A738 -:108A0000C301B2010F948417A89561E0812F0E94E1 -:108A100056A7C301B2010F948417A89560E0812F77 -:108A20000E9456A7C301B2010F948417A8952FEF97 -:108A3000E21AF20ADCCF89829A82AB82BC82BE0142 -:108A40006F5F7F4F8AE00E94636B4B9912C08982EF -:108A50009A82AB82BC82BE016F5F7F4F8AE50E9423 -:108A6000636B82EE9BE20F94B317CC24C394D12C9A -:108A700036C089EC9BE20F94B31784E0B82EC7018F -:108A8000800F911F9C012454344E69016AE070E00C -:108A9000C6010E94CA5164EF71E080E090E00F943B -:108AA0008417A9B06AE570E0C6010E94CA5164EF5C -:108AB00071E080E090E00F94841789B1BA94B1100E -:108AC000E5CF8870D82EA3FE9CC089E99BE20F9465 -:108AD000B317DD2009F4A2C0C12CDD24D3940E0D00 -:108AE0001F1D0454144E6AE070E0C8010E94CA5170 -:108AF00064EF71E080E090E00F94841785EB9AE2D8 -:108B00000F94B317E12CF12C34EFA32EBB24B394B4 -:108B100062E070E080E090E00F948417C701B50137 -:108B20000F945632892B51F40F94A41B6093341A7E -:108B30007093351A8093361A9093371A89B183FB54 -:108B4000882780F98D1509F494CEE12CF12C89B198 -:108B500083FB882780F9D81669F062E070E080E036 -:108B600090E00F9484178FEFE81AF80A9FE0E91657 -:108B7000F10469F787EA9AE20F94B3173FE0E3162E -:108B8000F10449F487E99AE20F94B317CC20A9F0D5 -:108B90008BE79AE214C0B701660F771F8AE89AE262 -:108BA0000F945A188AE00E94425334E0E316F1040D -:108BB00008F044C081E19AE206C08BE69AE20F9485 -:108BC000B3178CE39AE20F94B3176AE570E0C8011B -:108BD0000E94CA5136C062E0802F0E9485A761E0E2 -:108BE00070E080E090E00F946A1B602E712C6C188E -:108BF0007D08802F0E942DA7F501E60DF71D8083CB -:108C00008CCE882349F08BE79BE20F94B3176FE378 -:108C100077E08AE39BE20AC0C12C61CF8BE79BE23D -:108C20000F94B3176AE677E08AE59BE20F94851804 -:108C30008AE00E9442538FED9AE226CE88E49AE2BF -:108C4000BECF0FB6F8943EBE0FBE2DBE0F900F9054 -:108C50000F900F90DF91CF911F910F91FF90EF90A8 -:108C6000DF90CF90BF90AF909F908F907F906F904C -:108C70005F904F903F902F9008958091090180FD63 -:108C800006C08091D01D83FB882780F9089580E07D -:108C900008950F931F93CF93DF938B01D82FC92F84 -:108CA0004630C1F41092130C1092140C1092150C53 -:108CB0001092160C1092170C0E94D19C20E030E00C -:108CC0004CE053E4B8018D2F9C2F0F94912B87FD1E -:108CD0000FC01DC00E94D5EF20E030E046E953E40C -:108CE000B8018D2F9C2F0F94912B87FD20C02EC093 -:108CF00020E030E0A901B8018D2F9C2F0F94E734BC -:108D000018164CF000E010E0D0E0C0E004C000E035 -:108D100010E0DCE0C3E4B8018D2F9C2F0F94F333F7 -:108D2000CB01DF91CF911F910F910C94096620E048 -:108D300030E0A901B8018D2F9C2F0F94E73418164D -:108D40004CF000E010E0D0E0C0E004C000E010E033 -:108D5000D6E9C3E4B8018D2F9C2F0F94F333CB01D8 -:108D6000DF91CF911F910F910C94E29290913C1A58 -:108D7000977081E0973009F080E008958091C21BE0 -:108D80009091C31B891B8F7069F480913A0B8111FC -:108D900009C081E02091B7093091B809232B19F45B -:108DA00080E0089581E008953F924F925F926F9224 -:108DB0007F928F929F92AF92BF92CF92DF92EF926B -:108DC000FF920F931F93CF93DF93CDB7DEB76297D8 -:108DD0000FB6F894DEBF0FBECDBF2B013C01342E81 -:108DE00024E0429FC00111249A8B898BFC01E75E2D -:108DF000F24FC080D180E280F38020E030E04AE78B -:108E000054E4C701B6010F9486324B015C0120E0A7 -:108E100030E04AE754E4C701B6010F9487327B0182 -:108E20008C01809164028823D1F181E0381639F1F8 -:108E30003816A0F092E0391232C080904102909032 -:108E40004202A0904302B0904402E0904502F090AC -:108E50004602009147021091480221C080903102E1 -:108E600090903202A0903302B0903402E09035022C -:108E7000F0903602009137021091380210C08090B5 -:108E8000390290903A02A0903B02B0903C02E090F0 -:108E90003D02F0903E0200913F021091400280E1BD -:108EA000EBEFF2E0DE01119601900D928A95E1F769 -:108EB000E1E0F0E0EC0FFD1F89899A89E80FF91FC6 -:108EC00020E030E040E752E460817181828193814B -:108ED0000F94813360934F0270935002809351023C -:108EE0009093520280913D1A81FF0E941766920171 -:108EF000A301B701C8010F94E734181614F47201E6 -:108F000083019701A801B401C5010F94912B87FD3E -:108F100002C074018501E989FA89EB55F34FC70155 -:108F2000D80180839183A283B38380913D1A8260AC -:108F300080933D1A62960FB6F894DEBF0FBECDBF88 -:108F4000DF91CF911F910F91FF90EF90DF90CF9025 -:108F5000BF90AF909F908F907F906F905F904F9059 -:108F60003F90089520913D1A90E0880F991F880F37 -:108F7000991FFC0121FF03C0EB55F34F02C0E75ED0 -:108F8000F24F6081718182819381089520913D1A11 -:108F900020FF14C020E83EE3629FA001639F500DB4 -:108FA000729F500D1124CA019695879596958795C5 -:108FB000009731F08A950000E9F708950D94841721 -:108FC00008959F92AF92BF92CF92DF92EF92FF925D -:108FD0000F931F93CF93DF938091A81E833009F5E1 -:108FE0000E94B6C68823E9F06091830970918409D4 -:108FF000072E000C880B990B0F94982B20E030E083 -:1090000040E85FE30F94863220917F093091800918 -:1090100040918109509182090F94912B18160CF000 -:1090200062C0D0E0FF24F39400E010E0EE24E3946B -:1090300045E0D42EC0E0CC24C39455E0B52E65E0C5 -:10904000A62E72E8972EFC24DC16D1F18D2F90E02D -:109050004897A4F5DF5FF801BC9EE00DF11D1124D7 -:10906000EE0FFF1FEE0FFF1FE653F64E20E030E03D -:109070004AE754E460817181828193810F94F72BD8 -:109080000F94F3337093551C6093541CA092481CAA -:1090900090924B1C8D2F90E08158974F880F991F0D -:1090A000092E000CAA0BBB0B80934C1C90934D1CFB -:1090B000A0934E1CB0934F1C0F940405CE0DC4CF4B -:1090C0000F5F1F4F0530110579F1F11006C0EE2436 -:1090D000EA94DD24DA94C4E0B6CFEE24E39435E0DC -:1090E000D32EC0E0B0CF81E09AE59093551C8093D9 -:1090F000541C80E490E09093571C8093561C87E0AA -:109100008093481C82E880934B1C84E890E0A0E0A8 -:10911000B0E080934C1C90934D1CA0934E1CB093D8 -:109120004F1C0F9404057DCFDF91CF911F910F91BC -:10913000FF90EF90DF90CF90BF90AF909F900895F9 -:10914000AF92BF92CF92DF92EF92FF920F931F9355 -:10915000CF93DF93EC0188EEC82E80E2D82EE12C6D -:10916000F12C02E8A12C90E2B92E15E000934B1CE3 -:10917000C0924C1CD0924D1CE0924E1CF0924F1CA1 -:10918000B092551CA092541C1093481C0F940405D7 -:109190008FEFC81AD80AE80AF80A80E1C81681E2F7 -:1091A000D806E104F10411F748EE50E260E070E007 -:1091B000CE01DF91CF911F910F91FF90EF90DF9043 -:1091C000CF90BF90AF900D94B30484E08093A71E1E -:1091D00082E080939E0881E09AE59093551C8093ED -:1091E000541C8EE490E09093571C8093561C87E0AB -:1091F0008093481C82E880934B1C84E890E0A0E0B8 -:10920000B0E080934C1C90934D1CA0934E1CB093E7 -:109210004F1C0F94040584E997E00C944D54CF92B1 -:10922000DF92EF92FF926A017B010E94D966882348 -:1092300031F0FF90EF90DF90CF900C945966C7010A -:10924000B601FF90EF90DF90CF9008952F923F925C -:109250004F925F926F927F928F929F92AF92BF9246 -:10926000CF92DF92EF92FF920F931F93CF93DF93F2 -:10927000CDB7DEB7CC54D1090FB6F894DEBF0FBE20 -:10928000CDBF60E070E085E40E948EB3182F81E0CE -:10929000810F823018F08DE39FE240C065E070E0FE -:1092A00083E40E948EB389A760E085E50E94E666AC -:1092B0002B968FAF2B9717FF05C040E050E06CE86E -:1092C00072E404C040E050E066E173E483E50E948C -:1092D0000FC90F94F333072E000C880B990B0F94D2 -:1092E000982B6D837E838F832D969FAF2D970F9440 -:1092F000A41B2B013C011F3F09F0EBC420E030E030 -:1093000047E053E46D817E818F812D969FAD2D972F -:109310000F94E7341816ECF482E19FE2C45BDF4F50 -:109320000FB6F894DEBF0FBECDBFDF91CF911F9176 -:109330000F91FF90EF90DF90CF90BF90AF909F90F4 -:109340008F907F906F905F904F903F902F900D94F3 -:10935000B3178EEF9EE20F94B3170E94209D8FE704 -:109360008093850924EB30E0A8EEB3E00F943B3204 -:109370006BA77CA78DA79EA79B01AC01240D351D73 -:10938000461D571D28AF39AF4AAF5BAF81E08093D0 -:10939000140210922B021F3FF9F48BEA9AEAAAEA10 -:1093A000BEE38CAF9DAFAEAFBFAF2DEC3CEC4CE459 -:1093B0005EE324962CAF3DAF4EAF5FAF249746E4FB -:1093C0005EE226965FAF4EAF269780E19EE228963A -:1093D0009FAF8EAF28971EC020E030E040E05EE3F4 -:1093E0002CAF3DAF4EAF5FAF8AE999E9A9E1BFE38A -:1093F00024968CAF9DAFAEAFBFAF2497A4E3BEE27F -:109400002696BFAFAEAF2697EDEFFDE22896FFAFF1 -:10941000EEAF289749A25AA26BA27CA24FA658AAE7 -:1094200069AA7AAA2FE730E040E050E02887398720 -:109430004A875B87188A198A1A8A1B8A1C861D86A6 -:109440001E861F86C12CD12C76011E8A30E43F8BEC -:109450004CE1488F56E4598F1A8E1B8E1C8E1D8E40 -:109460001BAACCAADDAAEEAAFFAAFFE78F2E912C99 -:10947000A12CB12C1DA21EA21FA218A681E088A3B8 -:109480001D8A1C8A212C312C00E02C961FAE2C97B3 -:10949000A7E11A02C00111248C59964FFC013A969B -:1094A0002A96FFAFEEAF2A979C012C5F3F4F3F8F6C -:1094B0002E8F49A5042E000C550B5AA749A7809161 -:1094C0001402882309F457C20F94A41B69837A837A -:1094D0008B839C8380911E0C882309F4BAC00E9460 -:1094E0008F9D1F3F61F420907F093090800900918B -:1094F0008109509182092C965FAF2C970EC0AE8DDA -:10950000BF8D2C9011963C90119712960C9112974A -:109510001396BC912C96BFAF2C972A8D3B8D4C8D0A -:109520005D8DB101802F2C969FAD2C970F94E73461 -:1095300018163CF42A8E3B8E0C8F2C96EFAD2C9790 -:10954000ED8F2E893F89488D598DB101802F2C9642 -:109550009FAD2C970F94912B87FF07C02E8A3F8ACF -:10956000088F2C96FFAD2C97F98F28A1222309F4A0 -:109570004DC09101402F2C965FAD2C976D817E815F -:109580008F812D969FAD2D970F94912B87FF61C0F2 -:1095900049815A816B817C81441955096609770993 -:1095A000DB01CA0188589341A109B109B7FD51C037 -:1095B00088859985AA85BB8588199909AA09BB0957 -:1095C000B595A795979587951F3F19F480938509C1 -:1095D00005C02A96EEADFFAD2A9780834DA35EA30A -:1095E0006FA378A7FD81FA8F2E812B8F3F813C8F4F -:1095F0002D964FAD2D974D8F89819A81AB81BC817E -:1096000089A39AA3ABA3BCA318A223C09101402FA6 -:109610002C965FAD2C976D817E818F812D969FADAD -:109620002D970F94E7341816A4F489819A81AB81A1 -:10963000BC8129A13AA14BA15CA1821B930BA40B75 -:10964000B50BAC01BD01485853416109710977FF61 -:10965000B1C120E030E040EA51E46D817E818F812C -:109660002D969FAD2D970F9487329101402F2C9608 -:109670005FAD2C970F94912B87FF03C088E69EE285 -:10968000BCC089819A81AB81BC812FA538A949A929 -:109690005AA9821B930BA40BB50BB7FD93C01F3FB8 -:1096A00019F48091180D01C0812F0E9442938AE025 -:1096B0000E94425389819A81AB81BC818053984F2B -:1096C000AF4FBF4F8FA798ABA9ABBAAB9BA9911176 -:1096D00059C02CA93DA94EA95FA9B101802F2C9694 -:1096E0009FAD2C970F94E7341816BCF520E030E0BE -:1096F00040E050E4B101802F2C969FAD2C970F9441 -:1097000087326CAB7DAB8EAB9FAB2BA53CA54DA53B -:109710005EA589819A81AB81BC81280F391F4A1FC0 -:109720005B1F28AF39AF4AAF5BAF20E030E040ECC1 -:1097300050E46D817E818F812D969FAD2D970F9482 -:1097400086329101402F2C965FAD2C970F94912B70 -:10975000881F8827881F8BAB35C089819A81AB8190 -:10976000BC8128AD39AD4AAD5BAD821B930BA40B18 -:10977000B50BB7FD27C026964EAD5FAD269769E5C0 -:109780007EE21DC020E030E040EA51E46D817E8140 -:109790008F812D969FAD2D970F9486329B01AC0142 -:1097A000B101802F2C969FAD2C970F94912B87FFA2 -:1097B00009C028964EAD5FAD289764E27EE2812F06 -:1097C0000F94A70E89819A81AB81BC81880F991F64 -:1097D000AA1FBB1F29A13AA14BA15CA1821B930B1D -:1097E000A40BB50B84199509A609B70981389F44C4 -:1097F000A241B10528F08FED9DE20F94B317BBC0D5 -:1098000049A55AA58C899D89481759070CF0B0C005 -:1098100003970CF4ADC082E89DE20F94B3171F3F8D -:1098200029F4A2E7BDE2BA83A98304C0E1E7FDE21F -:10983000FA83E98380E69DE20F94B31789819A81C8 -:109840000F94B317B701A6018EE79DE20F94671836 -:109850008AE00E94425380E69DE20F94B31789810B -:109860009A810F94B3174C855D856E857F858AE755 -:109870009DE20F9467188AE00E94425380E69DE2C1 -:109880000F94B31789819A810F94B3174889598926 -:109890006A897B8986E79DE20F9467188AE00E94B7 -:1098A00042532B96FFAD2B97FF2309F466C01F3F51 -:1098B00069F5C0928609D0928709E0928809F092F2 -:1098C00089092CEA35EC47E25EE36C857D858E855F -:1098D0009F850F94F72B60938A0970938B0980936F -:1098E0008C0990938D092CEA35EC47E25EE3688998 -:1098F00079898A899B890F94813360938E0970934B -:109900008F09809390099093910937C047E1140221 -:10991000900111242C59364F3A832983D9011B9683 -:10992000CD92DD92ED92FC921E972CEA35EC47E247 -:109930005EE36C857D858E859F850F94F72BE9818D -:10994000FA816787708B818B928B2CEA35EC47E22A -:109950005EE3688979898A899B890F948133A9811B -:10996000BA8153966D937D938D939C93569705C0C2 -:109970000E946B1DA4CD0E94209D81E080932B024C -:10998000C45BDF4F0FB6F894DEBF0FBECDBFDF91D3 -:10999000CF911F910F91FF90EF90DF90CF90BF90EC -:1099A000AF909F908F907F906F905F904F903F907F -:1099B0002F9008954C895D89452B09F451C14DA024 -:1099C0005EA06FA078A4480E591E6A1E7B1E2DA1B2 -:1099D0003EA14FA158A5281B390B4A0B5B0BC501B3 -:1099E000B4010F94D731A30192010F9409328884F6 -:1099F0009984AA84BB84820E931EA41EB51E54E1D2 -:109A000085169104A104B1040CF18CEE8816910422 -:109A1000A104B1043CF490E889169104A104B104B6 -:109A200034F422C06BEE862E912CA12CB12C8886AA -:109A30009986AA86BB862EEF30E040E050E02819D8 -:109A400039094A095B0949015A0112C084E190E0D1 -:109A5000A0E0B0E088879987AA87BB8754E1852E6C -:109A6000912CA12CB12C04C088869986AA86BB862D -:109A700086EF9EE20F94B317688579858A859B856A -:109A80000E94B65381EF9EE20F94B317C501B40153 -:109A90000E94B6534E895F89688D798D8AEE9EE269 -:109AA0000F9467184A8D5B8D6C8D7D8D83EE9EE2E1 -:109AB0000F946718AC89BD8913970CF4D1C0C50108 -:109AC000B4010F94982B20E030E040E850E40F946C -:109AD000F72B6B017C012E893F89488D598D6A8D4A -:109AE0007B8D8C8D9D8D0F9486322BED3FE049E46C -:109AF00050E40F94F72B20E030E040E05FE30F9458 -:109B0000F72B9B01AC01C701B6010F9481336B01A8 -:109B10007C01C301B2010F94982B2FE632E143E898 -:109B20005AE30F94F72B2B013C01B701A6018DEDF1 -:109B30009EE20F946718B301A20187ED9EE20F9495 -:109B400067181F3F09F044C02DEC3CEC4CE45EE389 -:109B5000C701B6010F94F72B6B017C019B01AC018F -:109B60000F948732A30192010F9481336C877D8714 -:109B70008E879F87A7019601C301B2010F94F72B2F -:109B800020E030E040E450E40F948133688B798B1F -:109B90008A8B9B8B87EC9EE20F94B317B701A601CB -:109BA00081EC9EE20F9467184C855D856E857F85FC -:109BB0008BEB9EE20F946718488959896A897B89E3 -:109BC00085EB9EE20F9467188AE00E9442534AC0D8 -:109BD00024962CAD3DAD4EAD5FAD2497C701B601C7 -:109BE0000F94F72B6B017C019B01AC01C301B20107 -:109BF0000F94F72B2CAD3DAD4EAD5FAD0F94F72B11 -:109C0000688B798B8A8B9B8BA7019601C701B60164 -:109C10000F948732A30192010F9481336C877D8763 -:109C20008E879F8785EA9EE20F94B317B701A6013E -:109C30008FE99EE20F9467184C855D856E857F8560 -:109C400089E99EE20F946718488959896A897B8956 -:109C500083E99EE20F9467188AE00E94425311C084 -:109C60001F3F79F488859985AA85BB85880D991D44 -:109C7000AA1DBB1DB595A7959795879580938509D6 -:109C800011C088859985AA85BB85880D991DAA1D57 -:109C9000BB1DB595A795979587952A96EEADFFAD17 -:109CA0002A9780832C893D892F5F3F4F3D8B2C8BDA -:109CB0003D813E8B4E814F8B5F81588F2D968FADAE -:109CC0002D97898F49805A806B807C8091E098A382 -:109CD000C0CCE12E012E000CFF08F70183E0EE0F4F -:109CE000FF1F8A95E1F7E45FFD4F668177816F5032 -:109CF0007109072E000C880B990B0F94982B9B0170 -:109D0000AC016D817E818F812D969FAD2D970F9433 -:109D1000E73418160CF400CB8EEF9EE20F94B317C5 -:109D20000E94209D87E18E9DF0018F9DF00D1124F2 -:109D3000EC59F64F8FE7828722E330E015CB2F9264 -:109D40003F924F925F926F927F928F929F92AF92CB -:109D5000BF92CF92DF92EF92FF920F931F93CF9318 -:109D6000DF93EB01FC0180809180A280B380C5016C -:109D7000B40120E831E541E050E00F94E731C9013A -:109D80006DE671E00F9456326B017C01C501B401A0 -:109D900020E13EE040E050E00F94E731CA01B90114 -:109DA00028E130E040E050E00F94E731362E272ED6 -:109DB000062F172F8CE3482E512C612C712CC501D6 -:109DC000B401A30192010F94E731B62EA72ECA0168 -:109DD000B901A30192010F94E731CB01C114D10461 -:109DE000D9F0AF92BF927F936F932F923F92FF92E1 -:109DF000EF92DF92CF928CE49DE29F938F93DF935B -:109E0000CF930F94292B8DB79EB70E960FB6F8946B -:109E10009EBF0FBE8DBF5CC0E114F104C9F0AF92CC -:109E2000BF927F936F932F923F92FF92EF928CE3BA -:109E30009DE29F938F93DF93CF930F94292BEDB7E0 -:109E4000FEB73C960FB6F894FEBF0FBEEDBF40C004 -:109E5000012BB9F0AF92BF927F936F932F923F92F5 -:109E600080E39DE29F938F93DF93CF930F94292BF1 -:109E70008DB79EB70A960FB6F8949EBF0FBE8DBFE2 -:109E800027C0892BA9F0AF92BF927F936F9388E28E -:109E90009DE29F938F93DF93CF930F94292BEDB780 -:109EA000FEB738960FB6F894FEBF0FBEEDBF10C0D8 -:109EB000AF92BF9284E29DE29F938F93DF93CF9303 -:109EC0000F94292B0F900F900F900F900F900F90E1 -:109ED000DF91CF911F910F91FF90EF90DF90CF9086 -:109EE000BF90AF909F908F907F906F905F904F90BA -:109EF0003F902F9008958F929F92AF92BF92CF92F2 -:109F0000DF92EF92FF920F931F93CF93DF93CDB722 -:109F1000DEB7E6970FB6F894DEBF0FBECDBF009157 -:109F200044191091451982E08093AB0BF801019020 -:109F30000020E9F731975F01A01AB10AF801CF01BB -:109F4000801B910B8A159B0534F480818F3209F4B4 -:109F500010823196F4CF8BE1E4E3FBE1DE015C9605 -:109F600001900D928A95E1F7E12CF12CEA14FB04A3 -:109F70000CF084C0F801EE0DFF1D8081811103C03B -:109F80008FEFE81AF80A6801CE0CDF1CF601808119 -:109F9000882309F473C0FFEFEF1AFF0AF801EE0DF2 -:109FA000FF1D7F01E01AF10A81918111FACFCE01E4 -:109FB0004C960E94D88C8BE1FE017C96DE011196B6 -:109FC00001900D928A95E1F7A601BE016F5F7F4F68 -:109FD00080E090E00E94505FCE0101960E940E8EBC -:109FE0008FE20E9442538091410F811103C08EEA9B -:109FF00097E002C081E49FE04C01F40181914F01A0 -:10A00000882319F00E944253F8CF8091D01D84FF1D -:10A0100035C019821C8221E0A601BE01645E7F4F1B -:10A02000CE0101960E94F191811116C08AE00E9432 -:10A0300042530F949C1880E19DE20F94B317F601F0 -:10A0400081916F01882319F00E944253F8CFCE010D -:10A0500001960E940E8E12C0CE014C960E94058E73 -:10A060008BE1FE013196DE015C9601900D928A959E -:10A07000E1F7CE0101960E940E8E78CF8AE00E9411 -:10A080004253CE014C960E940E8EE6960FB6F8947F -:10A09000DEBF0FBECDBFDF91CF911F910F91FF901B -:10A0A000EF90DF90CF90BF90AF909F908F900895EA -:10A0B0009091D01D93FB882780F993FF06C081E023 -:10A0C0009091DE1A911101C080E00895ECEBF8E167 -:10A0D0008081818387E09DE20F94B31780914019BE -:10A0E00090914119A0914219B0914319BC01CD0141 -:10A0F0006F5F7F4F8F4F9F4F0E94B6530E94475410 -:10A100000C94AED00F931F93CF938C01C62F0F9456 -:10A110009818C8010F94B3176091401970914119B4 -:10A1200080914219909143190E94B6530E9447545E -:10A13000C11104C00E945A540196E1F70E9466D0F2 -:10A14000EC2FEE0FFF0BE25CF64E11821082CF91E6 -:10A150001F910F91089563E00C94E4A2CF93DF93D5 -:10A16000E091390BF0E0EE54F34E8081882309F43E -:10A1700047C082E590E30F94B317C091390B80E696 -:10A18000C89FE0011124C754D64F88818E3479F4DA -:10A1900080E20E94425389910E944253899190ED3E -:10A1A000980F9A30C8F38D32B9F38B32A9F38FE44C -:10A1B00090E30F94B3178091C21B9091C31B891B2E -:10A1C0008F706FE070E0681B7109072E000C880B20 -:10A1D000990B0E94B6538CE490E30F94B3178091CF -:10A1E0003A0B64E070E0681B7109072E000C880BC5 -:10A1F000990B0E94B6538AE0DF91CF910C944253A1 -:10A20000DF91CF9108959091B609E92FF0E0EE54D7 -:10A21000F34E80839F5F943018F49093B60902C088 -:10A220001092B60980913A0B8F5F80933A0B089594 -:10A23000CF93DF93EC018881882349F18A3039F18B -:10A240008D3029F18B33F9F080913A0B8430D8F4BA -:10A250008091B60920E6829FC0011124BE01875477 -:10A26000964F0F94E53580E00E9403D10F949C181F -:10A27000BE018FE390E30F9485188CE390E3DF91A8 -:10A28000CF910D94B31780E00E946E54D4CFDF912C -:10A29000CF9108955F926F927F928F929F92AF922B -:10A2A000BF92CF92DF92EF92FF920F931F93CF93C3 -:10A2B000DF93CDB7DEB76DB67EB67C0100E010E06F -:10A2C0008DB69EB6F701E00FF11F5490C8010196BC -:10A2D0005C01552029F09AE0591611F08501F2CF62 -:10A2E0008DB79EB78A199B090FB6F8949EBF0FBE13 -:10A2F0008DBF01966C01A801B7010F94CB2AF6011E -:10A30000E00FF11F1082C6010E9418D1552041F0C4 -:10A31000EA0CFB1C0FB6F8949EBE0FBE8DBED0CFCC -:10A320000FB6F8947EBE0FBE6DBEDF91CF911F9128 -:10A330000F91FF90EF90DF90CF90BF90AF909F90E4 -:10A340008F907F906F905F900895CF92DF92EF9201 -:10A35000FF928AE50E94D966882321F10E945966FE -:10A360006B017C0120E030E040EA51EC0F94E734CF -:10A3700087FD13C020E030E040EA51E4C701B60198 -:10A380000F94912B18164CF0C092C90CD092CA0CA5 -:10A39000E092CB0CF092CC0C8FC00F9498188FE108 -:10A3A00090E328C088E50E94D966882349F10E947D -:10A3B00059666B017C0120E030E84DE953EC0F94C5 -:10A3C000E73487FD13C020E030E84DE953E4C701CE -:10A3D000B6010F94912B18164CF0C092C10CD0927C -:10A3E000C20CE092C30CF092C40C66C00F94981893 -:10A3F0008FEF9FE2FF90EF90DF90CF900D94B31717 -:10A4000089E50E94D966882321F10E9459666B0173 -:10A410007C0120E030E04AE953EC0F94E73487FDFB -:10A4200013C020E030E04AE953E4C701B6010F94BD -:10A43000912B18164CF0C092C50CD092C60CE0922D -:10A44000C70CF092C80C38C00F9498188FED9FE29B -:10A45000D1CF0F949C184091C10C5091C20C6091C7 -:10A46000C30C7091C40C8EEC9FE20F9467188AE0C5 -:10A470000E9442534091C50C5091C60C6091C70C8C -:10A480007091C80C8DEB9FE20F9467188AE00E94D0 -:10A4900042534091C90C5091CA0C6091CB0C709101 -:10A4A000CC0C8CEA9FE20F9467188AE0FF90EF9043 -:10A4B000DF90CF900C944253FF90EF90DF90CF90BD -:10A4C00008958F929F92AF92BF92CF92DF92EF92B8 -:10A4D000FF920F931F93CF93109245191092441936 -:10A4E0002FE3209366191092651910926419109247 -:10A4F00060191092611910926219109263199C01EF -:10A50000F90190812F5F3F4F9032D1F39E34C9F40F -:10A51000818190ED980F9A3020F08D3211F08B32BE -:10A5200081F4DF0112969D012F5F3F4F8C91805384 -:10A530008A3010F4D901F7CFFD0111968081803265 -:10A54000D9F3F093170DE093160D8F010F5F1F4F96 -:10A55000C0816AE270E0C8010F94DA35009731F0EB -:10A56000FC01319780818032E1F31182CD3429F0F2 -:10A57000C43519F0C73409F000C1F80180810F5FBC -:10A580001F4F8032D1F380538A3008F0F6C0C09359 -:10A59000661910926519109264194AE08091641945 -:10A5A00090916519489F9001499F300D1124309377 -:10A5B0006519209364193196DF0111978C91082E4B -:10A5C000000C990BC097820F931F9093651980938D -:10A5D0006419208120532A3008F3DF0131962C9131 -:10A5E0002032D9F3CD34D1F48E31910591F03CF481 -:10A5F0008731910571F08C31910581F40AC085375E -:10A60000910564F08737910524F0803A23E09207A2 -:10A6100029F4B0934519A0934419AFC0109245197D -:10A62000109244191091160DC12CD12C7601C394AF -:10A63000FD0131964C91442309F49FC04132A1F4AD -:10A64000CD3491F48032910579F4F0934519E0937B -:10A65000441963E270E0CF010F94DA35009709F4F2 -:10A660008CC0FC01108289C041544A3108F059C0A5 -:10A67000BF01FB0120816F5F7F4F2032D1F330EDAE -:10A68000320F3A3010F12E3211F421810CC02D32EC -:10A6900011F02B3259F4218130ED320F3A30A8F00D -:10A6A0002E3221F4228120532A3078F0209144194F -:10A6B00030914519232B09F05DC09F0121503109CC -:10A6C000309345192093441955C09F01A42FB0E041 -:10A6D0004601570104C0880C991CAA1CBB1C4A9552 -:10A6E000D2F7B501A4018090601990906119A090F3 -:10A6F0006219B0906319482959296A297B29409326 -:10A700006019509361196093621970936319211550 -:10A71000310511F0211B01C020E0AA5BB64E2C933D -:10A720000AC02091441930914519232B21F4B0938C -:10A730004519A0934419208121542A3110F4DF01D6 -:10A7400077CFAF01FA01DA012D912223C1F330ED69 -:10A75000320F3A3010F4AD01F5CF33ED320F323015 -:10A76000D0F32B32C1F3FA014F5F5F4F20812032CB -:10A77000D1F3E5CF20E030E0A9CFCF911F910F9129 -:10A78000FF90EF90DF90CF90BF90AF909F908F9011 -:10A7900008952F923F924F925F926F927F928F9285 -:10A7A0009F92AF92BF92CF92DF92EF92FF920F9360 -:10A7B0001F93CF93DF93CDB7DEB7C454D1090FB643 -:10A7C000F894DEBF0FBECDBF9AA789A77CAB6BAB59 -:10A7D000142FDB018D909D90AD90BC9013972401B8 -:10A7E000350177FA709477F870941496CD90DD90D7 -:10A7F000ED90FC901797A701960150582D8B3E8B3A -:10A800004F8B588FA3019201C301B2010F94F72B14 -:10A810006D8F7E8F8F8F98A32D893E894F89588D9C -:10A82000CA01B9010F94F72B9B01AC016D8D7E8D90 -:10A830008F8D98A10F9487320F9435356DAB7EAB19 -:10A840008FAB98AF8091190D90911A0DA0911B0DAF -:10A85000B0911C0D8D8F9E8FAF8FB8A39C01AD0161 -:10A86000C501B4010F94873269AF7AAF8BAF9CAF4B -:10A8700020911D0D30911E0D40911F0D5091200D06 -:10A880002DA33EA34FA358A7C701B6010F9487324B -:10A8900021966CAF7DAF8EAF9FAF2197A9A5BAA5CA -:10A8A0008D919D910D90BC91A02D89A39AA3ABA3EE -:10A8B000BCA329AD3AAD4BAD5CADBC01CD010F944D -:10A8C00086326B017C01A9A5BAA514962D913D9104 -:10A8D0004D915C9117972BA73CA74DA75EA721969A -:10A8E0002CAD3DAD4EAD5FAD21976BA57CA58DA583 -:10A8F0009EA50F9486324B015C012091210D309171 -:10A90000220D4091230D5091240D25962CAF3DAF83 -:10A910004EAF5FAF2597A9A5BAA518966D917D9109 -:10A920008D919C911B970F948632698F7A8F8B8FB4 -:10A930009C8FA7019601C301B2010F94F72B6FA75B -:10A9400078AB89AB9AABA50194016D897E898F891B -:10A95000988D0F94F72B9B01AC016FA578A989A95D -:10A960009AA90F9487326FA778AB89AB9AABA501F0 -:10A970009401C301B2010F94F72B4B015C01A701B5 -:10A9800096016D897E898F89988D0F94F72B9B0195 -:10A99000AC01C501B4010F9486322FA538A949A98D -:10A9A0005AA90F9406336B017C0120E030E0A90125 -:10A9B0000F94912B87FF0AC02BED3FE049EC50E448 -:10A9C000C701B6010F9487326B017C012BED3FE08C -:10A9D00049EC50E4C701B6010F94813320E030E028 -:10A9E00040EC51E40F94F72B0F9465330F94FA3336 -:10A9F0001B01672B19F422242394312C112351F0CD -:10AA00002BED3FE049EC50E4C701B6010F948632CC -:10AA10006B017C0120E030E0A901C701B6010F9471 -:10AA2000912B811123C029A13AA14BA15CA16D8D6D -:10AA30007E8D8F8D98A10F94912B811117C02BA51E -:10AA40003CA54DA55EA56DA17EA18FA198A50F94F3 -:10AA5000912B81110BC038E1232E312C4BEDC42EEC -:10AA60004FE0D42E49ECE42E40E4F42E2DA93EA96B -:10AA70004FA958ADC701B6010F94F72B4B015C01EC -:10AA800020E030E0A901698D7A8D8B8D9C8D0F942B -:10AA9000912B8823D9F0A5019401C501B4010F942D -:10AAA000F72B4B015C01298D3A8D4B8D5C8DCA01D2 -:10AAB000B9010F94F72B9B01AC01C501B4010F94B0 -:10AAC00087320F9435354B015C010DC020E030E03A -:10AAD000A901C501B4010F94E73487FF04C0B7FA98 -:10AAE000B094B7F8B0942FE632E143E85AE3C501D9 -:10AAF000B4010F94912B87FDFCC12091250D30915D -:10AB0000260D4091270D5091280D29A33AA34BA360 -:10AB10005CA3C501B4010F9429340F94FA337EA3CA -:10AB20006DA36215730510F43EA22DA2ADA1BEA1C6 -:10AB3000BD0180E090E00F94962B4B015C019B01DE -:10AB4000AC01C701B6010F9481336D8F7E8F8F8F5B -:10AB500098A3A5019401698D7A8D8B8D9C8D0F949E -:10AB600081336DAB7EAB8FAB98AF29A13AA14BA1DE -:10AB70005CA1E9A5FAA564857585868597850F94FE -:10AB80008632A50194010F9481336FA778AB89AB0E -:10AB90009AAB2D8D3E8D4F8D58A1CA01B9010F94EE -:10ABA000F72B20E030E040E05FE30F94F72B9B01B0 -:10ABB000AC0160E070E080E89FE30F9486326BA701 -:10ABC0007CA78DA79EA725962CAD3DAD4EAD5FAD64 -:10ABD000259729873A874B875C8789A19AA1ABA1E2 -:10ABE000BCA18D879E87AF87B88B609165027091FD -:10ABF0006602072E000C880B990B0F94982B20915E -:10AC00004F023091500240915102509152020F94E4 -:10AC1000F72B2AE037ED43E25CE30F94F72B698BC7 -:10AC20007A8B8B8B9C8B0F94A41B9B01AC012853BC -:10AC30003F4F4F4F5F4F29A33AA34BA35CA322245E -:10AC40002394312C39E1398F4DA15EA124163506AC -:10AC500008F021C10F94E10E0F94A41BDC01CB017D -:10AC600029A13AA14BA15CA1821B930BA40BB50BAC -:10AC7000B7FD0FC00F94A41B9B01AC0128533F4F9D -:10AC80004F4F5F4F29A33AA34BA35CA380E00E94E0 -:10AC90006E54398D3150398F3323E9F12BA53CA502 -:10ACA0004DA55EA56D897E898F89988D0F94F72BB0 -:10ACB0006B017C012D8D3E8D4F8D58A1C301B201DA -:10ACC0000F94F72BA70196010F9487326B017C013B -:10ACD0002BA53CA54DA55EA5C301B2010F94F72B92 -:10ACE0004B015C012D8D3E8D4F8D58A16D897E8964 -:10ACF0008F89988D0F94F72B9B01AC01C501B4018E -:10AD00000F9486322B013C01C601D7018D8B9E8B9F -:10AD1000AF8BB88F66C0B10180E090E00F94962BA6 -:10AD20002D8D3E8D4F8D58A10F94F72B6B017C011B -:10AD30000F947C336D8B7E8B8F8B988FC701B60100 -:10AD40000F9427354B015C01ABA9BCA9CD90DD90D8 -:10AD5000ED90FC901397F7FAF094F7F8F0941496AE -:10AD60002D913D914D915C911797298F3A8F4B8F83 -:10AD70005C8FA70196016D897E898F89988D0F94CC -:10AD8000F72B2B013C01298D3A8D4B8D5C8DC50134 -:10AD9000B4010F94F72B9B01AC01C301B2010F94D6 -:10ADA00087322B013C01A7019601C501B4010F9424 -:10ADB000F72B6B017C01298D3A8D4B8D5C8D6D8954 -:10ADC0007E898F89988D0F94F72B9B01AC01C70169 -:10ADD000B6010F9486326D8B7E8B8F8B988FB9E185 -:10ADE000B98F29AD3AAD4BAD5CADC301B2010F9443 -:10ADF000873269837A838B839C8321962CAD3DAD0A -:10AE00004EAD5FAD21976D897E898F89988D0F94A6 -:10AE100087326D837E838F8398872DA93EA94FA9A2 -:10AE200058AD69857A858B859C850F9487326987B3 -:10AE30007A878B879C872FA538A949A95AA96D8540 -:10AE40007E858F8598890F9487326D877E878F875F -:10AE5000988BCE0101960E94C2DAA12CB12C90E809 -:10AE6000C92E9FE3D92EE090180D8E010F5E1F4F63 -:10AE70009E01235F3F4FAE01475F5F4FBE016B5F97 -:10AE80007F4FCE0101960E94EDF3882321F0EFEF72 -:10AE90002E1A3E0AD9CE80E1E9A5FAA5DE01119667 -:10AEA00001900D928A95E1F7CE0101960E94C2DAD7 -:10AEB000A12CB12C80E8C82E8FE3D82EE090180D7D -:10AEC0008E010F5E1F4F9E01235F3F4FAE01475F14 -:10AED0005F4FBE016B5F7F4FCE0101960E94EDF385 -:10AEE00080E1FE013196A9E1BDE001900D928A95C5 -:10AEF000E1F7CC5BDF4F0FB6F894DEBF0FBECDBFDE -:10AF0000DF91CF911F910F91FF90EF90DF90CF9045 -:10AF1000BF90AF909F908F907F906F905F904F9079 -:10AF20003F902F9008950F931F93CF938C01C62FBE -:10AF300087EA9FE20F94B317C8010F94B3178AE30F -:10AF40000E9442536C2F70E080E090E00E94B65364 -:10AF5000CF911F910F910C944754EF92FF921F9342 -:10AF6000CF93DF93CDB7DEB7C454D1090FB6F894B1 -:10AF7000DEBF0FBECDBF84E40E949066882309F433 -:10AF80004DC18DE99FE20F94B3172091B50C30911C -:10AF9000B60C4091B70C5091B80C6091190D70919E -:10AFA0001A0D80911B0D90911C0D0F94873269AF83 -:10AFB0007AAF8BAF9CAF2091B90C3091BA0C409115 -:10AFC000BB0C5091BC0C60911D0D70911E0D8091B9 -:10AFD0001F0D9091200D0F94873221966CAF7DAF9D -:10AFE0008EAF9FAF21972091BD0C3091BE0C409148 -:10AFF000BF0C5091C00C6091210D7091220D809179 -:10B00000230D9091240D0F94873225966CAF7DAF60 -:10B010008EAF9FAF2597CE01C9960E94ABD084E931 -:10B020009FE20F94B31789E19DE00E94ABD080911D -:10B03000190D90911A0DA0911B0DB0911C0D8DA7AB -:10B040009EA7AFA7B8AB80911D0D90911E0DA0914A -:10B050001F0DB091200D89AB9AABABABBCAB80910F -:10B06000210D9091220DA091230DB091240D8DAB57 -:10B070009EABAFABB8AF8BE89FE20F94B317AE01B6 -:10B080004B5C5F4FBE016F5C7F4FCE018D960E947F -:10B0900077F3CE018D960E94ABD082E89FE20F94A9 -:10B0A000B3178DA59EA5AFA5B8A989A39AA3ABA3F5 -:10B0B000BCA389A99AA9ABA9BCA98DA39EA3AFA340 -:10B0C000B8A78DA99EA9AFA9B8AD89A79AA7ABA724 -:10B0D000BCA7CE0181960E9440F3CE0181960E94CA -:10B0E000ABD00E942FF189E79FE20F94B31783EF53 -:10B0F000E82E82E0F82E10E080E20E944253F70131 -:10B1000081917F010E9442538AE30E944253812F22 -:10B110000F9425130E94B6531F5F143069F78AE01D -:10B120000E94425380E79FE20F94B3170E9490DF82 -:10B130008091671990916819A0916919B0916A1965 -:10B14000898B9A8BAB8BBC8B80916B1990916C190E -:10B15000A0916D19B0916E198D8B9E8BAF8BB88FAE -:10B1600080916F1990917019A0917119B091721915 -:10B17000898F9A8FAB8FBC8F83E00E94ADF26D8F69 -:10B180007E8F8F8F98A364E0CE0141960E94E4A247 -:10B190002DA53EA54FA558A969897A898B899C89D7 -:10B1A0000F94863269837A838B839C8329A93AA979 -:10B1B0004BA95CA96D897E898F89988D0F94863201 -:10B1C0006D837E838F8398872DA93EA94FA958ADA3 -:10B1D000698D7A8D8B8D9C8D0F94863269877A87E5 -:10B1E0008B879C872091250D3091260D4091270D4E -:10B1F0005091280D6D8D7E8D8F8D98A10F94863284 -:10B200006D877E878F87988B87E69FE20F94B317B1 -:10B2100064E0CE0101960E94E4A204C00E942FF1D6 -:10B220000E941CE0CC5BDF4F0FB6F894DEBF0FBE70 -:10B23000CDBFDF91CF911F91FF90EF9008954F9276 -:10B240005F926F927F928F929F92AF92BF92CF92B6 -:10B25000DF92EF92FF920F931F93CF93DF93CDB7BF -:10B26000DEB77C014DB65EB66090160D7090170D7E -:10B270008DB69EB66AE070E0C7010F94D42A6C01C7 -:10B28000009721F08C010E191F0904C0C7010F940B -:10B29000DF2A8C01C80101962DB73EB7281B390B58 -:10B2A0000FB6F8943EBF0FBE2DBF8DB79EB7019667 -:10B2B0005C01A801B7010F94002BF501E00FF11F0D -:10B2C0001082C5010E9461D281E00E946439C114DC -:10B2D000D10451F076019FEFE91AF90A0FB6F894FC -:10B2E0009EBE0FBE8DBEC4CF0FB6F8949EBE0FBEDD -:10B2F0008DBEC3010E9461D20FB6F8945EBE0FBE30 -:10B300004DBEDF91CF911F910F91FF90EF90DF9095 -:10B31000CF90BF90AF909F908F907F906F905F90F5 -:10B320004F900895CF93DF93C091390B80E6C89F6B -:10B33000E0011124C754D64F8091710C80FF05C0E5 -:10B340000F949C18CE010E944D54CE010E9461D2F0 -:10B3500080E0DF91CF910C946439AF92BF92CF928D -:10B36000DF92EF920F931F93A12CB12C6501E09017 -:10B37000180D8C0125E23DE041E25DE06DE17DE0EC -:10B3800089E19DE00E94EDF31F910F91EF90DF9016 -:10B39000CF90BF90AF900895CF93C82FCB01009767 -:10B3A00011F00F94B31784E690E30F94B317C11113 -:10B3B00003C085E590E302C08AE590E30F94B317DC -:10B3C0008AE0CF910C9442532F923F924F925F921A -:10B3D0006F927F929F92AF92BF92CF92DF92EF9245 -:10B3E000FF920F931F93CF93DF93CDB7DEB768978C -:10B3F0000FB6F894DEBF0FBECDBFA82E1A012B01E9 -:10B40000922EB32EC82ED12CF601EE5AFD4CE491AB -:10B41000EE24E3941E160CF4E12CFF24F39420E0B8 -:10B4200030E0A901C201B1010F94E73418160CF005 -:10B43000F12CFE2461F082E0A81209C081E00E9494 -:10B4400051A269E170E080E090E00F94841780E001 -:10B450000E94ADF269837A838B839C8381E00E9492 -:10B46000ADF26D837E838F83988782E00E94ADF278 -:10B4700069877A878B879C8783E00E94ADF26D870E -:10B480007E878F87988BCC0CDD1CCC0CDD1C662452 -:10B490006394712C6C0E7D1E6C0C7D1CF30110826C -:10B4A0001182128213829E01235F3F4FAE01475FDC -:10B4B0005F4FBE016B5F7F4FCE0101960E949CF1F2 -:10B4C000F30120823182428253821D8A1E8A1F8AA2 -:10B4D000188EE090180D20E030E0A901B801892D08 -:10B4E0009B2D0F94912B81110AC0F601E75FFD4C53 -:10B4F00085919591A591B4918C019A2EBB2EC8018E -:10B50000A92DBB2D898B9A8BAB8BBC8B8091200C8A -:10B510009091210C892B91F4CE0145966C018E01FE -:10B520000F5E1F4F9E01235F3F4FAE01475F5F4F8E -:10B53000BE016B5F7F4F44970E944C6D0E942FF1BC -:10B54000FF2041F092E0A91203C080E00E9451A2C6 -:10B550000E9402F868960FB6F894DEBF0FBECDBF0A -:10B56000DF91CF911F910F91FF90EF90DF90CF90DF -:10B57000BF90AF909F907F906F905F904F903F9063 -:10B580002F900895CF92DF92EF92FF92CF93DF93A7 -:10B5900020916402222309F485C0EC01C09031029D -:10B5A000D0903202E0903302F09034022881398149 -:10B5B0004A815B81C701B6010F94E734181624F461 -:10B5C000C882D982EA82FB82C0903502D0903602CE -:10B5D000E0903702F0903802288139814A815B81FE -:10B5E000C701B6010F94912B87FF04C0C882D9828E -:10B5F000EA82FB82C0903902D0903A02E0903B028E -:10B60000F0903C022C813D814E815F81C701B601E3 -:10B610000F94E734181624F4CC82DD82EE82FF8288 -:10B62000C0903D02D0903E02E0903F02F090400278 -:10B630002C813D814E815F81C701B6010F94912B12 -:10B6400087FF04C0CC82DD82EE82FF82C09041027F -:10B65000D0904202E0904302F09044022885398560 -:10B660004A855B85C701B6010F94E734181624F4A8 -:10B67000C886D986EA86FB86C0904502D0904602ED -:10B68000E0904702F0904802288539854A855B851D -:10B69000C701B6010F94912B87FF04C0C886D986D5 -:10B6A000EA86FB86DF91CF91FF90EF90DF90CF90FD -:10B6B00008952F923F924F925F926F927F928F9256 -:10B6C0009F92AF92BF92CF92DF92EF92FF920F9331 -:10B6D0001F93CF93DF93CDB7DEB7E4970FB6F894FF -:10B6E000DEBF0FBECDBF85EA9CE00E94C2DA80912A -:10B6F000710C83FD81C0C090B10CD090B20CE09071 -:10B70000B30CF090B40C2091250D3091260D409192 -:10B71000270D5091280DC701B6010F94912B882356 -:10B7200009F46AC08091700C81111FC06091680992 -:10B730007091690980916A0990916B090F94F333B4 -:10B740002091490230914A026217730774F4C09243 -:10B75000250DD092260DE092270DF092280D0F9422 -:10B760009C188BEE90E30F94B3178090B10C9090DF -:10B77000B20CA090B30CB090B40C2091250D309178 -:10B78000260D4091270D5091280DC501B4010F944D -:10B7900086326B017C0120E030E0A9010F94E73490 -:10B7A00087FF04C0F7FAF094F7F8F094E091180DD1 -:10B7B00084E0E89FF0011124EF5DFD4F208131818D -:10B7C00042815381C701B6010F94F72B20E030E08E -:10B7D0004AEF53E40F94E734181674F48092250D61 -:10B7E0009092260DA092270DB092280D0F949C18D0 -:10B7F0008CEC90E30F94B3178091310DE0906502CB -:10B80000F0906602882309F18090320D9090330DFC -:10B81000A090340DB090350D20E030E0A901C501B5 -:10B82000B4010F94912B882309F45DC02091AD0CD5 -:10B830003091AE0C4091AF0C5091B00CC501B401E9 -:10B840000F94E73418160CF44EC0B701FF0C880BA8 -:10B85000990B0F94982B20914F02309150024091F8 -:10B860005102509152020F94F72B2AE037ED43E238 -:10B870005CE30F94F72B69837A838B839C83A12CE1 -:10B88000B12C6501E090180D8E010F5F1F4F21EB69 -:10B890003CE04DEA5CE069EA7CE085EA9CE00E94DD -:10B8A000EDF380E1E5EAFCE0A9E1BDE001900D9255 -:10B8B0008A95E1F7E4960FB6F894DEBF0FBECDBFD0 -:10B8C000DF91CF911F910F91FF90EF90DF90CF907C -:10B8D000BF90AF909F908F907F906F905F904F90B0 -:10B8E0003F902F900895B701FF0C880B990B0F9490 -:10B8F000982B20914F02309150024091510250916B -:10B9000052020F94F72B2AE037ED43E25CE30F94E9 -:10B91000F72B69A37AA38BA39CA32091190D3091D7 -:10B920001A0D40911B0D50911C0D6091A50C70914A -:10B93000A60C8091A70C9091A80C0F94863269A751 -:10B940007AA78BA79CA720911D0D30911E0D4091C9 -:10B950001F0D5091200D6091A90C7091AA0C80913F -:10B96000AB0C9091AC0C0F9486322B013C0120E083 -:10B9700030E0A90169A57AA58BA59CA50F94912B10 -:10B9800081110DC020E030E0A901C301B2010F9484 -:10B99000912B811104C0A12CB12C6501E5C020912F -:10B9A000210D3091220D4091230D5091240D609175 -:10B9B000AD0C7091AE0C8091AF0C9091B00C0F94C7 -:10B9C00086326DA77EA78FA798AB2091250D309169 -:10B9D000260D4091270D5091280D6091B10C70916A -:10B9E000B20C8091B30C9091B40C0F9486326DA37D -:10B9F0007EA38FA398A729A53AA54BA55CA5CA014C -:10BA0000B9010F94F72B6B017C01A3019201C301D3 -:10BA1000B2010F94F72B9B01AC01C701B6010F9443 -:10BA200087326B017C012DA53EA54FA558A9CA01FF -:10BA3000B9010F94F72B9B01AC01C701B6010F941C -:10BA400087320F9435356B017C012DEB37E346E8E7 -:10BA500055E30F94912B87FF13C020E030E0A9013C -:10BA60006DA17EA18FA198A50F94E734CDA0DEA093 -:10BA7000EFA0F8A487FF04C0F7FAF094F7F8F09469 -:10BA80002DEB37E346E855E3C701B6010F94912B40 -:10BA900087FD07CF20E030E040EA51E4C701B6015E -:10BAA0000F9481330F94FA331B01672B19F422246E -:10BAB0002394312CB10180E090E00F94962B9B01F0 -:10BAC000AC0160E070E080E89FE30F9481334B01AC -:10BAD0005C019B01AC01C701B6010F94F72B69AB68 -:10BAE0007AAB8BAB9CABA501940169A57AA58BA51C -:10BAF0009CA50F94F72B698B7A8B8B8B9C8BA50164 -:10BB00009401C301B2010F94F72B6D8B7E8B8F8B49 -:10BB1000988FA50194016DA57EA58FA598A90F9476 -:10BB2000F72B698F7A8F8B8F9C8FA50194016DA164 -:10BB30007EA18FA198A50F94F72B6D8F7E8F8F8F8D -:10BB400098A380E1E9E1FDE0DE01119601900D92FC -:10BB50008A95E1F79924939491E0291A310851F4D8 -:10BB6000A9A8BAA8CBA8DCA8E090180D8E010F5D9B -:10BB70001F4F8DCE80917E19811112C00F94A41B8E -:10BB8000DC01CB0188539F4FAF4FBF4F80937A1991 -:10BB900090937B19A0937C19B0937D1990927E1994 -:10BBA0000F94E10E0F94A41BC0907A19D0907B19CA -:10BBB000E0907C19F0907D19DC01CB018C199D0976 -:10BBC000AE09BF09B7FD13C00F94A41BDC01CB0164 -:10BBD00088539F4FAF4FBF4F80937A1990937B1933 -:10BBE000A0937C19B0937D1980E00E946E546E0181 -:10BBF000E1E1CE0ED11CCE0101967C015601F60189 -:10BC000021913191419151916F01F70160817181D1 -:10BC1000828193810F948732F701619371938193AD -:10BC200091937F01AE16BF0651F7A9A8BAA8CBA879 -:10BC3000DCA8E090180D8E010F5D1F4F9E01235F61 -:10BC40003F4FAE01475F5F4FBE016B5F7F4FCE013D -:10BC500001960E94EDF381117FCF82CFA82FB0E033 -:10BC6000CD01880F991F880F991FFC01E054FF4CEC -:10BC7000459155916591749133E0AA0FBB1F3A9598 -:10BC8000E1F7AF5CBD4F4D935D936D937C9313973C -:10BC9000FC01EC54FF4C45915591659174911496BB -:10BCA0004D935D936D937C931797089580917619CA -:10BCB00090917719A0917819B091791980934F02DA -:10BCC00090935002A0935102B09352028091741944 -:10BCD0009091751990936602809365020895809102 -:10BCE0004F0290915002A0915102B0915202809364 -:10BCF000761990937719A0937819B0937919809158 -:10BD0000650290916602909375198093741984E688 -:10BD100090E0909366028093650208954F925F923F -:10BD20006F927F928F929F92AF92BF92CF92DF924B -:10BD3000EF92FF920F931F93CF93DF93CDB7DEB7B0 -:10BD40002C970FB6F894DEBF0FBECDBF2B013C0180 -:10BD500029873A874B875C8747015801F601E080C5 -:10BD6000F1800281138120E030E0A901B701C80110 -:10BD70000F94912B81110BC0E1E1F2E38591959134 -:10BD8000A591B491582F492F3A2F2B2F04C05E2D27 -:10BD90004F2D302F212F852F942FA32FB22F898342 -:10BDA0009A83AB83BC8320E030E0A901B701C801CE -:10BDB0000F94912B811108C0E0904B02F0904C023F -:10BDC00000914D0210914E02C701D8018D839E83D0 -:10BDD000AF83B887A50194016091210D7091220D68 -:10BDE0008091230D9091240D0F94912B87FF0CC00F -:10BDF0008092210D9092220DA092230DB092240DDD -:10BE0000CE0101960E94ADD94092190D50921A0DA3 -:10BE100060921B0D70921C0D89859A85AB85BC853F -:10BE200080931D0D90931E0DA0931F0DB093200DB8 -:10BE3000CE0105960E94ADD92091210D3091220DA1 -:10BE40004091230D5091240DC501B4010F94912B05 -:10BE500087FF0CC08092210D9092220DA092230D9D -:10BE6000B092240DCE0101960E94ADD90E942FF10F -:10BE70002C960FB6F894DEBF0FBECDBFDF91CF91E9 -:10BE80001F910F91FF90EF90DF90CF90BF90AF90F8 -:10BE90009F908F907F906F905F904F900895CF927A -:10BEA000DF92EF92FF920F931F936A01E090210DB2 -:10BEB000F090220D0091230D1091240DFB012081A3 -:10BEC000318142815381FC01608171818281938142 -:10BED0000E948EDE1F910F91FF90EF90DF90CF9028 -:10BEE0000895CF92DF92EF92FF920F931F936B0111 -:10BEF000FC01E080F18002811381E9E1FDE0248111 -:10BF000035814681578160817181828193810E9450 -:10BF10008EDE1F910F91FF90EF90DF90CF900895EC -:10BF2000CF93DF9380E00E94ADF2C7E6D9E168834A -:10BF300079838A839B8381E00E94ADF26C837D8349 -:10BF40008E839F8382E00E94ADF2688779878A871B -:10BF50009B87DF91CF9108951F93CF93DF93CDB748 -:10BF6000DEB760970FB6F894DEBF0FBECDBF182FB7 -:10BF70000E9490DF8091671990916819A0916919CA -:10BF8000B0916A1989839A83AB83BC8380916B19C2 -:10BF900090916C19A0916D19B0916E198D839E834B -:10BFA000AF83B88780916F1990917019A091711922 -:10BFB000B091721989879A87AB87BC878091250DCC -:10BFC0009091260DA091270DB091280D8D879E8709 -:10BFD000AF87B88BCE0101960E9440F31E3F51F40B -:10BFE00080E1FE013196A9E1BDE001900D928A95B4 -:10BFF000E1F716C024E0129FC0011124FC01E75EA6 -:10C00000F24FA1E0B0E0AC0FBD1FA80FB91F8D919A -:10C010009D910D90BC91A02D80839183A283B383C9 -:10C0200060960FB6F894DEBF0FBECDBFDF91CF9103 -:10C030001F9108950C94F7A14F925F926F927F9297 -:10C040008F929F92AF92BF92CF92DF92EF92FF9228 -:10C050002091B50C3091B60C4091B70C5091B80CB2 -:10C060006091190D70911A0D80911B0D90911C0D0E -:10C070000F948732AB01BC0181EB90E30F946718FA -:10C080002091B90C3091BA0C4091BB0C5091BC0C72 -:10C0900060911D0D70911E0D80911F0D9091200DCE -:10C0A0000F948732AB01BC018DEA90E30F946718BF -:10C0B0002091BD0C3091BE0C4091BF0C5091C00C32 -:10C0C0006091210D7091220D8091230D9091240D8E -:10C0D0000F948732AB01BC0189EA90E30F94671893 -:10C0E0004091250D5091260D6091270D7091280DDE -:10C0F00085EA90E30F94671880916F00982F9270F3 -:10C1000081FF05C080916F008D7F80936F0040900C -:10C110002A1E50902B1E60902C1E70902D1E809019 -:10C120002E1E90902F1EA090301EB090311EC090F9 -:10C13000321ED090331EE090341EF090351E9923AD -:10C1400029F080916F00826080936F008BE990E30B -:10C150000F94B317C301B2010E94B65387E990E36D -:10C160000F94B317C501B4010E94B65383E990E35D -:10C170000F94B317C701B6010E94B6538AE0FF902F -:10C18000EF90DF90CF90BF90AF909F908F907F9077 -:10C190006F905F904F900C9442538091A70981114A -:10C1A00005C08091A909811101C00895809173197A -:10C1B000659B02C0816001C08E7F8093731990914E -:10C1C00003018091731991FF02C0826001C08D7FCD -:10C1D00080937319809173194B9B02C0846001C0D6 -:10C1E0008B7F809373198091F41780FF10C080912A -:10C1F000A80980FF0CC08091731980FF08C080914E -:10C200003B0B816080933B0B80E00F94FD1280918B -:10C21000F417869580FF11C08091A809869580FF4C -:10C220000CC08091731981FF08C080913B0B826024 -:10C2300080933B0B81E00F94FD128091F41786955B -:10C24000869580FF16C08091A8098695869580FF07 -:10C2500010C08091A909882361F08091731982FF31 -:10C2600008C080913B0B846080933B0B82E00D946F -:10C27000FD120895CF93DF9300D01F92CDB7DEB7A4 -:10C2800084EF91E0A0E0B0E089839A83AB83BC8324 -:10C29000BE016F5F7F4F8CE30E94636B89E790E381 -:10C2A0000F94B3178CB163E770E385FB882780F99F -:10C2B0000E94CCD9809103016DE670E38695817070 -:10C2C0000E94CCD989B167E670E383FB882780F9A7 -:10C2D0000E94CCD98EEE92E0A0E0B0E04B9911C064 -:10C2E00089839A83AB83BC83BE016F5F7F4F8AE0F3 -:10C2F0000E94636B0F900F900F900F90DF91CF9182 -:10C30000089589839A83AB83BC83BE016F5F7F4F9F -:10C310008AE5EECF8091A709811104C08091A90917 -:10C32000882331F062E070E080E090E00D948417A3 -:10C3300008959F92AF92BF92CF92DF92EF92FF92B9 -:10C340000F931F93CF93DF9383EFA82E82E0B82E35 -:10C3500005EA1CE0C9E1DDE095EBC92E9CE0D92E91 -:10C3600028ECE22E28E0F22E912CF50181915F015C -:10C370000E94D966882309F10E945966F70120813D -:10C38000211104C02091D008222339F0288139815D -:10C390004A815B810F9487320AC0F3E09F1639F01F -:10C3A000F60120813181428153810F948632F80158 -:10C3B000608371838283938309C088819981AA8174 -:10C3C000BB81F80180839183A283B38393940C5F34 -:10C3D0001F4F2496F4E0CF0ED11C2FEFE21AF20A81 -:10C3E00084E09812C2CF40E050E0BA0186E40E9497 -:10C3F0000FC920E030E0A9010F94E734181684F447 -:10C400000E94596620E030E040E752E40F94813307 -:10C4100060934F02709350028093510290935202A6 -:10C420008091710C83FD28C080919509882321F1AA -:10C430002091250D3091260D4091270D5091280D0A -:10C440006091B10C7091B20C8091B30C9091B40CCE -:10C450000F9486322091A2093091A3094091A4093A -:10C460005091A5090F9487326093A2097093A30994 -:10C470008093A4099093A509DF91CF911F910F910B -:10C48000FF90EF90DF90CF90BF90AF909F90089576 -:10C49000CF9384E50E94D966882301F10E9431661A -:10C4A000C82F8230ECF00F949C188DE40E94425308 -:10C4B0006091641970916519072E000C880B990B17 -:10C4C0000E94B6536C2FCC0F770B85E791E30F9446 -:10C4D00078188AE00E9442538FEF02C08091180DB5 -:10C4E000CF910895CF92DF92EF92FF921F93CF9357 -:10C4F000DF93CDB7DEB7A0970FB6F894DEBF0FBEBF -:10C50000CDBF80E090E0A8E4B2E489839A83AB8356 -:10C51000BC8380E090E0A0E2B1E48D839E83AF8392 -:10C52000B88789879A87AB87BC870E9448E2F82E34 -:10C5300087FDF3C00E9489A2882321F081E791E35F -:10C540000E941FD91091180D212F30E08F2D0F2C34 -:10C55000000C990B2817390721F060E08F2D0E94FD -:10C56000B29685E40E949066882381F00E94596605 -:10C570006B017C0120E030E0A9010F94E73487FFD4 -:10C580000BC0F7FAF094F7F8F09406C0C12CD12C48 -:10C5900080E8E82E80E4F82EF7FAF094F7F8F094AB -:10C5A000C98ADA8AEB8AFC8A8AE50E94D9668823DE -:10C5B00051F040E050E0BA018AE50E940FC9698756 -:10C5C0007A878B879C8788E50E94D966882351F0FB -:10C5D00040E050E0BA0188E50E940FC969837A8380 -:10C5E0008B839C8389E50E94D966882351F040E0C3 -:10C5F00050E0BA0189E50E940FC96D837E838F8365 -:10C60000988785E50E949066882329F00E945966E4 -:10C610006B017C010CC0E091180D88E0E89FF001EF -:10C620001124E654F64EC080D180E280F38020E0F1 -:10C6300030E0A901C701B6010F94E73487FF04C0B9 -:10C64000F7FAF094F7F8F094F7FAF094F7F8F0941A -:10C65000CD8ADE8AEF8AF88E198E1A8E1B8E1C8E7A -:10C660008CE40E949066882329F00E9459666B0131 -:10C670007C010CC0E091180D88E0E89FF0011124C6 -:10C68000E654F64EC480D580E680F78020E030E0A6 -:10C69000A901C701B6010F94E73487FF04C0F7FA78 -:10C6A000F094F7F8F094CD8EDE8EEF8EF8A262E073 -:10C6B00070E082E40E948EB3F82E21E0AE014B5E62 -:10C6C0005F4FBE016F5F7F4FCE0141960E941D6A92 -:10C6D0008823D9F06F2D81E00E94FC6780E090E014 -:10C6E000A0EAB1E48D879E87AF87B88B80913D0B20 -:10C6F000882359F02F2DAE01435F5F4FBE01635E6B -:10C700007F4FCE0149960E94A1688091180D18179D -:10C7100021F060E0812F0E94B296A0960FB6F894A7 -:10C72000DEBF0FBECDBFDF91CF911F91FF90EF9085 -:10C73000DF90CF900895CF92DF92EF92FF92CF9348 -:10C74000DF93CDB7DEB76C970FB6F894DEBF0FBEA0 -:10C75000CDBF8CE40E949066882381F00E945966C8 -:10C760006B017C0120E030E0A9010F94E73487FFE2 -:10C770000BC0F7FAF094F7F8F09406C0C12CD12C56 -:10C7800080E8E82E80E4F82EF7FAF094F7F8F094B9 -:10C79000C98EDA8EEB8EFC8E80E090E0A8E4B2E4E5 -:10C7A00089839A83AB83BC8380E090E0A0E2B1E40C -:10C7B0008D839E83AF83B88789879A87AB87BC8731 -:10C7C00088E50E94D9668823A1F040E050E0BA01D4 -:10C7D00088E50E940FC92091B50C3091B60C4091AC -:10C7E000B70C5091B80C0F94863269837A838B838F -:10C7F0009C8389E50E94D9668823A1F040E050E03F -:10C80000BA0189E50E940FC92091B50C3091B60C90 -:10C810004091B70C5091B80C0F9486326D837E8393 -:10C820008F8398878AE50E94D966882351F040E07B -:10C8300050E0BA018AE50E940FC969877A878B8721 -:10C840009C87F090D01DF2FAFF24F0F81D861E861A -:10C850001F86188A20E0AE01435F5F4FBE016F5F05 -:10C860007F4FCE0149960E941D6A882329F1F1105D -:10C8700023C060E080E00E94FC6780E090E0A0E8D8 -:10C88000B0E48D8B9E8BAF8BB88F198A1A8A1B8A66 -:10C890001C8A1D861E861F86188A80913D0B882360 -:10C8A00059F020E0AE014B5E5F4FBE016F5E7F4FDF -:10C8B000CE010D960E94A1686C960FB6F894DEBF6B -:10C8C0000FBECDBFDF91CF91FF90EF90DF90CF9063 -:10C8D0000895CF93DF93D62FC72F0E94D966882360 -:10C8E00029F00E942166262F972F02C02D2F9C2F02 -:10C8F000822FDF91CF9108952F923F924F925F92B6 -:10C900006F927F928F929F92AF92BF92CF92DF925F -:10C91000EF92FF920F931F93CF93DF93CDB7DEB7C4 -:10C92000E6970FB6F894DEBF0FBECDBF0E9489A276 -:10C9300081111DC360E070E080E50E9469E4882EEB -:10C940006CE070E083E50E9469E45C018DA763E020 -:10C9500070E084E50E9469E4382E40E050E060ED2C -:10C9600070E482E50E940FC96B017C01809162191D -:10C9700087FD07C080916319837019F499249394FB -:10C98000F4C260E088E50E94E666982E60E089E5E2 -:10C990000E94E6668111E9C280E0982A2091310D5B -:10C9A0002EA7822F0E94B96C80E090E0A0EAB3E449 -:10C9B0008D879E87AF87B88B412C512C20E2622E49 -:10C9C00022E4722E498A5A8A6B8A7C8A40E050E0BF -:10C9D00060E87FE34D8B5E8B6F8B788F00E010E01B -:10C9E00026E933E409831A832B833C834D825E82DC -:10C9F0006F82788649875A876B877C8722E082120C -:10CA00000CC0911005C08DE491E30F94B317A9C237 -:10CA100089839A83AB83BC8324C090FC10C080912F -:10CA2000190D90911A0DA0911B0DB0911C0D8983C9 -:10CA30009A83AB83BC838D879E87AF87B88B91FC2D -:10CA400010C080911D0D90911E0DA0911F0DB091F1 -:10CA5000200D8D839E83AF83B887898B9A8BAB8B98 -:10CA6000BC8B8091210D9091220DA091230DB0914E -:10CA7000240D89A79AA7ABA7BCA789879A87AB87FC -:10CA8000BC878D8B9E8BAF8BB88F91E0891629F078 -:10CA9000A2E08A1609F470C10CC22D853E854F852F -:10CAA000588969817A818B819C810F9486326B01D0 -:10CAB0007C0120E030E0A9010F94912B882309F438 -:10CAC00050C229893A894B895C896D817E818F8129 -:10CAD00098850F9486324B015C0120E030E0A9017B -:10CAE0000F94912B882309F43CC28091190D9091E9 -:10CAF0001A0DA0911B0DB0911C0D8FA798ABA9AB7F -:10CB0000BAAB80911D0D90911E0DA0911F0DB0919B -:10CB1000200D8BAB9CABADABBEAB198E1A8E1B8EB2 -:10CB20001C8EAE01475E5F4FBE016F5E7F4FCE0130 -:10CB30000D960E944FDF032D000F20E030E0A90189 -:10CB4000C701B6010F94E73487FF08C0D701C601BB -:10CB5000B0588DA39EA3AFA3B8A704C0CDA2DEA2F8 -:10CB6000EFA2F8A620E030E0A901C501B4010F94BE -:10CB7000E7341401250187FF04C057FA509457F891 -:10CB800050942DA13EA14FA158A5C201B1010F940F -:10CB9000912B181624F434011A2DFB2C02C03601F7 -:10CBA0001E2D802E912CB401092C000C880B990BA2 -:10CBB0000F94982B9B01AC01B301812F9F2D0F94F3 -:10CBC00081336B017C01712C9DA5791608F0C0C0E2 -:10CBD00010E0812F012E000C990B881599050CF09F -:10CBE00059C010FD04C0DE011D965D0103C0CE01D9 -:10CBF00001965C012DA13EA14FA158A5C201B10132 -:10CC00000F94912B412F012E000C550B660B770BC7 -:10CC1000198E1A8E1B8E1C8E1816ECF0CB01BA01E1 -:10CC20000F94982BA70196010F94F72B9B01AC0151 -:10CC30006D857E858F8598890F9487326D8F7E8F65 -:10CC40008F8F98A3B5016C5F7F4FAE01475E5F4F3A -:10CC5000CE014D961BC0CB01BA010F94982BA701B2 -:10CC600096010F94F72B9B01AC0169897A898B8916 -:10CC70009C890F9487326D8F7E8F8F8F98A3AE0122 -:10CC8000475E5F4FBE01635E7F4FC5010E944FDF6D -:10CC90001F5F9FCF102F17FD59C010FD04C0DE018C -:10CCA0001D965D0103C0CE0101965C012DA13EA140 -:10CCB0004FA158A5C201B1010F94912B412F012E14 -:10CCC000000C550B660B770B198E1A8E1B8E1C8E63 -:10CCD0001816ECF0CB01BA010F94982BA70196011E -:10CCE0000F94F72B9B01AC016D857E858F8598890C -:10CCF0000F9487326D8F7E8F8F8F98A3B5016C5FF5 -:10CD00007F4FAE01475E5F4FCE014D961BC0CB01FA -:10CD1000BA010F94982BA70196010F94F72B9B0152 -:10CD2000AC0169897A898B899C890F9487326D8FD0 -:10CD30007E8F8F8F98A3AE01475E5F4FBE01635E0B -:10CD40007F4FC5010E944FDF1150A5CF73943CCF98 -:10CD5000198E1A8E1B8E1C8EDE0159966D01E9A468 -:10CD6000FAA40BA51CA52BA93CA94DA95EA96FA5EA -:10CD700078A989A99AA9F3C0BDA5BB2309F4F1C07C -:10CD80008091190D90911A0DA0911B0DB0911C0D61 -:10CD90008DA39EA3AFA3B8A780901D0D90901E0DEC -:10CDA000A0901F0DB090200D198E1A8E1B8E1C8E18 -:10CDB000AE01475E5F4FBE016F5E7F4FCE010D96A5 -:10CDC0000E944FDF10E0212C312C19A21AA21BA2C5 -:10CDD0001CA2B101032C000C880B990B0F94982B0B -:10CDE0002CE739ED40E25FE30F94F72B2B013C0178 -:10CDF0000F947C339B01AC01C701B6010F94F72B54 -:10CE00009B01AC016D817E818F8198850F94873263 -:10CE10006D8F7E8F8F8F98A3C301B2010F9427353A -:10CE20009B01AC01C701B6010F94F72B9B01AC012C -:10CE300069817A818B819C810F948732698F7A8F87 -:10CE40008B8F9C8FAE014F5D5F4FBE01635E7F4F46 -:10CE5000CE0149960E944FDF9FEF291A390AAAE0B6 -:10CE60002A16310409F0B1CF1F5FBDA51B1708F4C6 -:10CE7000AACF198E1A8E1B8E1C8EAE01475E5F4F95 -:10CE8000BE016F5E7F4FCE010D960E944FDF198E5F -:10CE90001A8E1B8E1C8ECE0149966C01E9A4FAA451 -:10CEA0000BA51CA5A50194016DA17EA18FA198A53C -:10CEB00056C04090190D50901A0D60901B0D709047 -:10CEC0001C0D80911D0D90911E0DA0911F0DB09114 -:10CED000200D8DA39EA3AFA3B8A7198E1A8E1B8E0B -:10CEE0001C8EAE01475E5F4FBE016F5E7F4FCE016D -:10CEF0000D960E944FDFBB24B594A79410E0812FBC -:10CF000090E0198E1A8E1B8E1C8E8A159B05D4F408 -:10CF1000AE01475E5F4FBE016B5F7F4FCE01019652 -:10CF20000E944FDF198E1A8E1B8E1C8EAE01475E3B -:10CF30005F4FBE016F5E7F4FCE010D960E944FDFA7 -:10CF40001F5FDDCFDE0159966D01E9A4FAA40BA5A0 -:10CF50001CA52DA13EA14FA158A5C301B2010E945D -:10CF60008EDE8EA50E94B96C02C082E016CDE696D8 -:10CF70000FB6F894DEBF0FBECDBFDF91CF911F91EA -:10CF80000F91FF90EF90DF90CF90BF90AF909F9068 -:10CF90008F907F906F905F904F903F902F9008956B -:10CFA0000F949C188DE391E30F94B31783E50E94CF -:10CFB0009066882321F00E944566809364028091E8 -:10CFC0006402811103C086E191E302C08AE191E32A -:10CFD0000F94B31785E391E30F94B3172091B50C29 -:10CFE0003091B60C4091B70C5091B80C6091310261 -:10CFF0007091320280913302909134020F94873203 -:10D00000AB01BC0183E391E30F9467182091B90C45 -:10D010003091BA0C4091BB0C5091BC0C609139021C -:10D0200070913A0280913B0290913C020F948732BA -:10D03000AB01BC0180E391E30F9467182091BD0C14 -:10D040003091BE0C4091BF0C5091C00C60914102D8 -:10D050007091420280914302909144020F94873272 -:10D06000AB01BC018DE291E30F94671885E291E377 -:10D070000F94B3172091B50C3091B60C4091B70CBA -:10D080005091B80C60913502709136028091370250 -:10D09000909138020F948732AB01BC0183E291E397 -:10D0A0000F9467182091B90C3091BA0C4091BB0CC9 -:10D0B0005091BC0C60913D0270913E0280913F0204 -:10D0C000909140020F948732AB01BC0180E291E362 -:10D0D0000F9467182091BD0C3091BE0C4091BF0C8D -:10D0E0005091C00C609145027091460280914702B8 -:10D0F000909148020F948732AB01BC018DE191E31E -:10D100000F9467188AE00C944253882319F00F9407 -:10D110009C1803C080E20E9442534091360C50910B -:10D12000370C6091380C7091390C8FE091E30F94BB -:10D13000671840913A0C50913B0C60913C0C7091F7 -:10D140003D0C8CE091E30F94671840913E0C509198 -:10D150003F0C6091400C7091410C89E091E30F9479 -:10D1600067184091420C5091430C6091440C7091AF -:10D17000450C86E091E30F9467188AE00C944253C3 -:10D18000CF92DF92EF92FF920F931F93CF93DF9393 -:10D19000CDB7DEB7CE5AD1090FB6F894DEBF0FBEB9 -:10D1A000CDBFCF55DF4F188219821A821B82C15A18 -:10D1B000D0408091E6079091E707A091E807B091F1 -:10D1C000E907CB55DF4F88839983AA83BB83C55A70 -:10D1D000D040C755DF4F19821882C95AD04084E623 -:10D1E00090E0C555DF4F99838883CB5AD040109289 -:10D1F000331A9E0127553F4F44E050E0BE016B5566 -:10D200007F4FCE0185559F4F0E944551C555DF4F39 -:10D2100088819981CB5AD0400296C555DF4F9983BA -:10D220008883CB5AD040C755DF4F19821882C95A1C -:10D23000D040DD24D394C255DF4FD882CE5AD0409F -:10D240009E0127553F4F41E050E0BE0162557F4FA0 -:10D25000CE0185559F4F0E9445519E0127553F4F56 -:10D2600048E450E062E27CE0CE0185559F4F0E9489 -:10D2700045518E010F5F1F4F80E1F80111928A9591 -:10D28000E9F780E090E0A0EAB0E489839A83AB8379 -:10D29000BC839E0127553F4F40E150E0B801CE01CD -:10D2A00085559F4F0E9445519E0127553F4F44E0B1 -:10D2B00050E061EC7BE0CE0185559F4F0E944551C7 -:10D2C0009E0127553F4F4CE050E06AEA79E0CE01DD -:10D2D00085559F4F0E9445517E01FDE6EF0EF11CE2 -:10D2E000F701D08219821A821B821C829E01275567 -:10D2F0003F4F41E050E0B701CE0185559F4F0E945E -:10D3000045519E0127553F4F44E050E0B801CE0102 -:10D3100085559F4F0E9445518091320D9091330D5C -:10D32000A091340DB091350D89839A83AB83BC8372 -:10D330009E0127553F4F44E050E0B801CE0185558E -:10D340009F4F0E944551CF55DF4F188219821A8294 -:10D350001B82C15AD04083E0F701808389839E01FC -:10D3600027553F4F44E050E0BE016F557F4FCE013F -:10D3700085559F4F0E9445519E0127553F4F41E0E3 -:10D3800050E0B701CE0185559F4F0E9445519E0147 -:10D3900027553F4F41E050E0B801CE0185559F4FE2 -:10D3A0000E9445512AE0D22EDA949E0127553F4F24 -:10D3B00044E050E0DD2049F0BE016F557F4FCE01C3 -:10D3C00085559F4F0E944551EFCF61EC7CE0CE0127 -:10D3D00085559F4F0E9445519E0127553F4F44E080 -:10D3E00050E065EC7CE0CE0185559F4F0E94455191 -:10D3F0009E0127553F4F44E050E069EC7CE0CE01B0 -:10D4000085559F4F0E944551CF55DF4F1882198295 -:10D410001A821B82C15AD0409AE0D92EDA94DD20BC -:10D4200071F09E0127553F4F44E050E0BE016F551B -:10D430007F4FCE0185559F4F0E944551EFCF85E02C -:10D44000F701808389839E0127553F4F41E050E0DB -:10D45000B701CE0185559F4F0E9445519E0127552A -:10D460003F4F41E050E0B801CE0185559F4F0E94EB -:10D4700045519E0127553F4F44E050E066EB79E16E -:10D48000CE0185559F4F0E9445519E0127553F4F24 -:10D4900044E050E06FE27AE1CE0185559F4F0E9453 -:10D4A00045519E0127553F4F44E650E06AEC79E133 -:10D4B000CE0185559F4F0E944551F70110828FEF95 -:10D4C00089839E0127553F4F41E050E0B701CE01CF -:10D4D00085559F4F0E9445519E0127553F4F41E082 -:10D4E00050E0B801CE0185559F4F0E9445519E01E5 -:10D4F00027553F4F44E050E06CE673E0CE01855580 -:10D500009F4F0E9445519E0127553F4F41E050E0FB -:10D510006EE27AE1CE0185559F4F0E944551809180 -:10D52000100390911103A0911203B0911303F7011E -:10D5300080839183A283B383809114039091150318 -:10D54000A0911603B091170389839A83AB83BC83A0 -:10D55000C356DF4F1882CD59D040C256DF4F1882D4 -:10D56000CE59D0409E0127553F4F44E050E0B701CF -:10D57000CE0185559F4F0E9445519E0127553F4F33 -:10D5800044E050E0B801CE0185559F4F0E944551BF -:10D590009E0127553F4F42E050E0BE0163567F4F4A -:10D5A000CE0185559F4F0E94455180E1F8011192AF -:10D5B0008A95E9F780E090E0A0E8BFE38D879E8739 -:10D5C000AF87B88B80916F0990917009A091710914 -:10D5D000B091720989839A83AB83BC83809173096C -:10D5E00090917409A0917509B09176098D839E83FD -:10D5F000AF83B8878091770990917809A0917909D4 -:10D60000B0917A0989879A87AB87BC879E01275595 -:10D610003F4F40E150E0B801CE0185559F4F0E9439 -:10D62000455184E190E09A8389839E0127553F4FBD -:10D6300042E050E0B801CE0185559F4F0E94455110 -:10D640009E0127553F4F4CE050E066E879E0CE015F -:10D6500085559F4F0E9445518FE790E09A838983BB -:10D660009E0127553F4F42E050E0B801CE0185555D -:10D670009F4F0E94455181E089839E0127553F4F6E -:10D6800041E050E0B801CE0185559F4F0E944551C1 -:10D6900080E2E8E1F3E0D80101900D928A95E1F78C -:10D6A0009E0127553F4F40E250E0B801CE0185551D -:10D6B0009F4F0E944551F70110829E0127553F4F11 -:10D6C00041E050E0B701CE0185559F4F0E94455182 -:10D6D0009E0127553F4F41E050E060EA79E1CE01DD -:10D6E00085559F4F0E9445519E0127553F4F48E069 -:10D6F00050E069EA79E1CE0185559F4F0E9445517E -:10D700008AE1F80111928A95E9F79E0127553F4F6A -:10D710004AE150E0B801CE0185559F4F0E94455126 -:10D7200084E3E8E3F3E0D80101900D928A95E1F7F4 -:10D730009E0127553F4F44E350E0B801CE01855587 -:10D740009F4F0E94455188E0F80111928A95E9F7B0 -:10D750009E0127553F4F48E050E0B801CE01855566 -:10D760009F4F0E9445518DE0F80111928A95E9F78B -:10D770009E0127553F4F4DE050E0B801CE01855541 -:10D780009F4F0E9445519E0127553F4F48E050E072 -:10D790006DED7BE0CE0185559F4F0E9445518CE099 -:10D7A000D82EF8018D2D11928A95E9F79E01275503 -:10D7B0003F4F4CE050E0B801CE0185559F4F0E948D -:10D7C00045518CE6F80111928A95E9F79E0127559B -:10D7D0003F4F4CE650E0B801CE0185559F4F0E9467 -:10D7E00045519E0127553F4F4CE050E068E879E1F4 -:10D7F000CE0185559F4F0E9445519E0127553F4FB1 -:10D8000040E150E06AEB79E1CE0185559F4F0E94DF -:10D8100045519E0127553F4F48E150E062E77CE0CB -:10D82000CE0185559F4F0E944551F7011192DA9420 -:10D83000E9F7C355DF4F1882CD5AD04080E090E021 -:10D84000A0E4B0E4C356DF4F88839983AA83BB83E7 -:10D85000CD59D0409E0127553F4F44E050E0B701DD -:10D86000CE0185559F4F0E9445519E0127553F4F40 -:10D8700044E050E0B7016C5F7F4FCE0185559F4F6C -:10D880000E9445519E0127553F4F44E050E0B701AB -:10D89000685F7F4FCE0185559F4F0E9445519E0185 -:10D8A00027553F4F41E050E0BE0163557F4FCE0109 -:10D8B00085559F4F0E9445519E0127553F4F44E09B -:10D8C00050E0BE0163567F4FCE0185559F4F0E94A9 -:10D8D000455180E3F70111928A95E9F782EB97E0D1 -:10D8E0000E944D549E0127553F4F40E350E0B70141 -:10D8F000CE0185559F4F0E9445511091331A111149 -:10D9000056C0C555DF4FC880D980CB5AD040F4E609 -:10D91000CF1AD108C755DF4F88819981C95AD040A5 -:10D92000F7019183808384E690E0C555DF4F9983AA -:10D930008883CB5AD0409E0127553F4F44E050E0AA -:10D9400068EA73E0CE0185559F4F0E9445519E01C4 -:10D9500027553F4F42E050E0B701CE0185559F4F1C -:10D960000E9445510F949C18B6018BEE91E30F94E1 -:10D970005A18F7014081518160E070E08EED91E32B -:10D980000F9449188BED91E30F94B317F4EFCF1672 -:10D99000F2E0DF0639F00F9498188BE795E30F94C7 -:10D9A000B31711E08091331A182B1093331A86ECB9 -:10D9B00097E00E944D549091331A81E08927C25517 -:10D9C000DF4F0FB6F894DEBF0FBECDBFDF91CF9112 -:10D9D0001F910F91FF90EF90DF90CF900895CF921D -:10D9E000DF92EF92FF921F93CF93DF93CDB7DEB715 -:10D9F00060970FB6F894DEBF0FBECDBF8091190DB2 -:10DA000090911A0DA0911B0DB0911C0D89839A83E2 -:10DA1000AB83BC8380911D0D90911E0DA0911F0DB5 -:10DA2000B091200D8D839E83AF83B8878091210DA7 -:10DA30009091220DA091230DB091240D89879A8792 -:10DA4000AB87BC878091250D9091260DA091270D65 -:10DA5000B091280D8D879E87AF87B88B0E94B8F054 -:10DA60000E9457F410E0812F0E94E2F7812F0E945C -:10DA70002EDE1F5F1330B9F76091B2197091B319A0 -:10DA80008091B4199091B5190E947AA10F946F15E5 -:10DA900023EF34E045E35FE36091C10B7091C20B6B -:10DAA0008091C30B9091C40B0F94F72B6B017C01F9 -:10DAB00060912E0C70912F0C8091300C9091310C54 -:10DAC0000F94962B9B01AC01C701B6010F94F72B65 -:10DAD00029E732E84AE550E40F94F72B0F943535E7 -:10DAE0006093D90B7093DA0B8093DB0B9093DC0B74 -:10DAF0000E94C67F40E150E069E17DE0CE010196E1 -:10DB00000F94A635892B79F060960FB6F894DEBF96 -:10DB10000FBECDBFDF91CF911F91FF90EF90DF90AF -:10DB2000CF900C941CE060960FB6F894DEBF0FBE49 -:10DB3000CDBFDF91CF911F91FF90EF90DF90CF90FD -:10DB400008950F931F938091AD1E813019F40F94A7 -:10DB5000A41B08C06091A91E7091AA1E8091AB1EE3 -:10DB60009091AC1E00919B1E10919C1E20919D1EB9 -:10DB700030919E1E601B710B820B930B28EE33E0DD -:10DB800040E050E00F94E73180919F1E9091A01EDD -:10DB9000A091A11EB091A21EBC01CD01620F731F06 -:10DBA000841F951F1F910F9108951092AD1E109222 -:10DBB0009B1E10929C1E10929D1E10929E1E1092F3 -:10DBC000A91E1092AA1E1092AB1E1092AC1E1092AB -:10DBD0009F1E1092A01E1092A11E1092A21E0895C8 -:10DBE0008091AD1E813099F58AEE97E00E944D54E8 -:10DBF00081E09AE59093551C8093541C87E590E052 -:10DC00009093571C8093561C87E08093481C82E8B1 -:10DC100080934B1C84E890E0A0E0B0E080934C1C23 -:10DC200090934D1CA0934E1CB0934F1C0F94040571 -:10DC300082E08093AD1E0F94A41B6093A91E709385 -:10DC4000AA1E8093AB1E9093AC1E81E0089580E0E5 -:10DC500008958F929F92AF92BF92CF92DF92EF92F0 -:10DC6000FF920F931F93CF93DF93CDB7DEB72C971F -:10DC70000FB6F894DEBF0FBECDBF8B0140E050E081 -:10DC800068E472E44D835E836F83788740E050E000 -:10DC900060EA70E449875A876B877C87813019F086 -:10DCA000823039F02AC0BE01675F7F4FC8010896F5 -:10DCB00046C0F80120853185428553856091210D4C -:10DCC0007091220D8091230D9091240D0F94873235 -:10DCD0006B017C0120E030E048EC53E40F94912B81 -:10DCE00087FD06C0C12CD12C88ECE82E83E4F82EE9 -:10DCF000C982DA82EB82FC821DC08090210D909057 -:10DD0000220DA090230DB090240DF801C084D18481 -:10DD1000E284F3849601A701B401C5010F94912B0D -:10DD200087FD02C064017501C601D70189839A830A -:10DD3000AB83BC83BE01675F7F4FCE0101960E941B -:10DD400071DFB8016C5F7F4FAE014B5F5F4FC80161 -:10DD50000E944FDF0E941CE02C960FB6F894DEBFA5 -:10DD60000FBECDBFDF91CF911F910F91FF90EF902C -:10DD7000DF90CF90BF90AF909F908F90089580914B -:10DD8000D01D82FF2AC00E9458D0882319F18091AB -:10DD9000C81D9091C91DA091CA1DB091CB1D0097BF -:10DDA000A105B105B9F0BC01CD016D597F4F8F4F71 -:10DDB0009F4F24E630E040E050E00F94E73160915F -:10DDC000CC1D7091CD1D8091CE1D9091CF1D0F94D3 -:10DDD000E73101C020E020938719809187198F7760 -:10DDE00008950F931F93CF93DF938C0167FF03C0B8 -:10DDF00010920E0D60E080910E0D90E0262F062E01 -:10DE0000000C330B2817390734F160930E0DC8014D -:10DE10000F94DF2A800F911FEC01C01BD10BC0347F -:10DE2000D1053CF00197FC012491207C2038D1F3EE -:10DE3000F3CFDD27AE01B8018EEC9CE00F94002BF0 -:10DE4000C253D34F18828EEC9CE0DF91CF911F918B -:10DE50000F910C94A0C8DF91CF911F910F9108955D -:10DE600010928619109214028091D01D80628093C6 -:10DE7000D01D61E082EB91E30E943B6740E050E0FF -:10DE800067EC71E385E00E949A680F94731960E073 -:10DE900089EB91E30C94F1EECF93DF9320910E0D7B -:10DEA000211120C0FC0101900020E9F73197EF011A -:10DEB000C81BD90BC034D1052CF02291207C20380E -:10DEC000E1F3F5CFBC01DD27AE018EEC9CE00F94B1 -:10DED000FA35C253D34F18828EEC9CE0DF91CF917C -:10DEE0000C94A0C8DF91CF9108958091D01D82FD40 -:10DEF00005C08091AD1E823069F411C08091410F40 -:10DF0000882319F081E49FE002C083E89FE061E08C -:10DF10000C944CEF813031F489E991E305C085EA36 -:10DF200091E302C088E891E36FEF0C94F1EEFF9269 -:10DF30000F931F93CF93DF938B01D82FC92FF42E0C -:10DF400020E030E048EC52E40F94912B87FF0FC0A3 -:10DF500020E030E0A901B8018D2F9C2F0F94E73409 -:10DF600018164CF000E010E0D0E0C0E004C000E083 -:10DF700010E0D8ECC2E4B8018D2F9C2F0F94F3333E -:10DF80009B01AC01AFEFB0E00F94283224E630E003 -:10DF900040E050E00F940932B9018F2DDF91CF910D -:10DFA0001F910F91FF900D94E812E8E1FCE01082C0 -:10DFB000118212821382148280E00C94409D8F9211 -:10DFC0009F92AF92BF92CF92DF92EF92FF92CF9348 -:10DFD000DF93EC018090320D9090330DA090340DC2 -:10DFE000B090350D20E030E0A901C501B4010F94D7 -:10DFF000912B882309F44AC0C880D980EA80FB802D -:10E00000A7019601C501B4010F94912B18160CF0CD -:10E0100042C02091290D30912A0D40912B0D509135 -:10E020002C0DC701B6010F94912B882331F1C092BA -:10E03000290DD0922A0DE0922B0DF0922C0D2091FB -:10E040002D0D30912E0D40912F0D5091300D688186 -:10E0500079818A819B810F94F72B9B01AC0160E051 -:10E0600070E080E89FE30F948632609367027093BC -:10E0700068028093690290936A02609167027091CE -:10E0800068028091690290916A0208C060E070E0C5 -:10E0900080E89FE303C060E070E0CB01DF91CF91A7 -:10E0A000FF90EF90DF90CF90BF90AF909F908F90B8 -:10E0B00008958091C21B9091C31B891B8F708F3074 -:10E0C00021F480E00E946E54F4CF8091C21B8F5FD8 -:10E0D0008F70E091C21B94E59E9FF0011124EC54D7 -:10E0E000FD4EDF011D929A95E9F798E090834091EB -:10E0F000E81B5091E91B6091EA1B7091EB1B458B6B -:10E10000568B678B708F4091EC1B5091ED1B60918B -:10E11000EE1B7091EF1B418F528F638F748F409174 -:10E12000F01B5091F11B6091F21B7091F31B458F16 -:10E13000568F678F70A34091F41B5091F51B60912F -:10E14000F61B7091F71B41A352A363A374A3209104 -:10E15000C21B9091C31B291303C094E69093BF1B6D -:10E160008093C21B80916F00826080936F0008953E -:10E17000CF92DF92EF92FF920F931F93CF93DF9393 -:10E18000C2E2DCE005EC1BE0C12CD12C7601C3948B -:10E1900069917991899199910F94962B2889398960 -:10E1A0004A895B890F94F72B0F94FA33F801619336 -:10E1B0007193819391938F01C616D706E806F906ED -:10E1C00010F46B017C01FCE0C233DF0709F76FEF4D -:10E1D0007FEFCB01A70196010F94E7312093D50B78 -:10E1E0003093D60B4093D70B5093D80B23EF34E0EA -:10E1F00045E35FE36091C10B7091C20B8091C30B4B -:10E200009091C40B0F94F72B6B017C0160912E0C45 -:10E2100070912F0C8091300C9091310C0F94962BB3 -:10E220009B01AC01C701B6010F94F72B29E732E837 -:10E230004AE550E40F94F72B0F9435356093D90BD2 -:10E240007093DA0B8093DB0B9093DC0BDF91CF9113 -:10E250001F910F91FF90EF90DF90CF9008959091D4 -:10E26000C21B8091C31B981306C08091200C909113 -:10E27000210C892B21F080E00E946E54F0CF08958C -:10E28000CF92DF92EF92FF92FC01C080D180E280BA -:10E29000F3802091420C3091430C4091440C5091FA -:10E2A000450CC701B6010F94F72B0F94F43460931B -:10E2B000F41B7093F51B8093F61B9093F71BC09291 -:10E2C000E41BD092E51BE092E61BF092E71B9091D5 -:10E2D000C21B8091C31B981731F0FF90EF90DF9025 -:10E2E000CF900C9459F00E942FF180916F00982FDD -:10E2F000927081FF05C080916F008D7F80936F00C9 -:10E300004091F41B5091F51B6091F61B7091F71B27 -:10E310004093361E5093371E6093381E7093391EFB -:10E32000992329F080916F00826080936F00FF90A5 -:10E33000EF90DF90CF9008958F929F92AF92BF920F -:10E34000EF92FF920F931F93CF93DF937B018A018C -:10E35000E901FC0180809180A280B3802091360C7D -:10E360003091370C4091380C5091390CC501B401F3 -:10E370000F94F72B0F94F4346093E81B7093E91B10 -:10E380008093EA1B9093EB1B20913A0C30913B0C4D -:10E3900040913C0C50913D0CF7016081718182816C -:10E3A00093810F94F72B0F94F4346093EC1B7093CC -:10E3B000ED1B8093EE1B9093EF1B20913E0C309150 -:10E3C0003F0C4091400C5091410CF80160817181EB -:10E3D000828193810F94F72B0F94F4346093F01B98 -:10E3E0007093F11B8093F21B9093F31B2091420CCE -:10E3F0003091430C4091440C5091450C68817981D7 -:10E400008A819B810F94F72B0F94F4346093F41B53 -:10E410007093F51B8093F61B9093F71B8092D81B8B -:10E420009092D91BA092DA1BB092DB1BF70180817E -:10E430009181A281B3818093DC1B9093DD1BA0931B -:10E44000DE1BB093DF1BF80180819181A281B38133 -:10E450008093E01B9093E11BA093E21BB093E31B1E -:10E4600088819981AA81BB818093E41B9093E51BED -:10E47000A093E61BB093E71B9091C21B8091C31B36 -:10E48000981761F0DF91CF911F910F91FF90EF905E -:10E49000BF90AF909F908F900C9459F00E942FF1F5 -:10E4A00080916F00982F927081FF05C080916F005E -:10E4B0008D7F80936F004091E81B5091E91B609124 -:10E4C000EA1B7091EB1B40932A1E50932B1E609306 -:10E4D0002C1E70932D1E4091EC1B5091ED1B6091F2 -:10E4E000EE1B7091EF1B40932E1E50932F1E6093D6 -:10E4F000301E7093311E4091F01B5091F11B6091C2 -:10E50000F21B7091F31B4093321E5093331E6093A5 -:10E51000341E7093351E4091F41B5091F51B609191 -:10E52000F61B7091F71B4093361E5093371E609375 -:10E53000381E7093391E992329F080916F008260F4 -:10E5400080936F00DF91CF911F910F91FF90EF901B -:10E55000BF90AF909F908F900895CF93DF93C82F77 -:10E560000F94251324E0C29FE0011124CB51D44F16 -:10E570000F94982B288139814A815B810F94F72B66 -:10E58000DF91CF9108959091C21B8091C31B981386 -:10E5900006C08091200C9091210C892B21F080E005 -:10E5A0000E946E54F0CF5F9A80913C1A8E7F8093C8 -:10E5B0003C1A8A9A80913C1A8D7F80933C1A8091F4 -:10E5C0000801809581708093060180913C1A8B7FB1 -:10E5D00080933C1A0C94BC50CF93DF9390916F00C2 -:10E5E000292F227091FF05C090916F009D7F90931D -:10E5F0006F0094E0899FA0011124FA01E25EF14EC0 -:10E600006081718182819381222329F020916F00A2 -:10E61000226020936F00EA01CB51D44F0F94982BC6 -:10E62000288139814A815B810F94F72BDF91CF914B -:10E63000089580916F00982F927081FF05C080919E -:10E640006F008D7F80936F008091C31B8093C21BEE -:10E650008093C11B8093C01B84E68093BF1B28EE70 -:10E6600033E03093210C2093200C992329F08091E2 -:10E670006F00826080936F0081E080931D1E08957B -:10E68000CF92DF92EF92FF92CF93DF932091310DE3 -:10E69000222331F1EC0108960E94DFEF6B017C012F -:10E6A00020E030E0A9010F94912B882361F0CE0186 -:10E6B0000F9456139B01AC01C701B6010F94F72BC1 -:10E6C0009B01AC0103C020E030E0A9016885798599 -:10E6D0008A859B850F948632688779878A879B878E -:10E6E000DF91CF91FF90EF90DF90CF9008954F9200 -:10E6F0005F926F927F92AF92BF92CF92DF92EF9232 -:10E70000FF920F931F93CF93DF93CDB7DEB72C9774 -:10E710000FB6F894DEBF0FBECDBF2091310D22237E -:10E7200009F446C08A017B016C01CA010E94DFEF37 -:10E730002B013C01CE0101965C018CE0F5011192A8 -:10E740008A95E9F7F60180819181A281B38189835D -:10E750009A83AB83BC83F70180819181A281B381CD -:10E760008D839E83AF83B88720E030E0A901C30189 -:10E77000B2010F94912B882361F0C5010F945613B9 -:10E780009B01AC01C301B2010F94F72B9B01AC01BB -:10E7900003C020E030E0A901F8016081718182812D -:10E7A00093810F948732F80160837183828393830E -:10E7B0002C960FB6F894DEBF0FBECDBFDF91CF9180 -:10E7C0001F910F91FF90EF90DF90CF90BF90AF908F -:10E7D0007F906F905F904F900895AF92BF92CF92CD -:10E7E000DF92EF920F931F93CF93DF93CDB7DEB7F6 -:10E7F00064970FB6F894DEBF0FBECDBFA98ABA8A60 -:10E80000CB8ADC8AFC0180819181A281B3818983DA -:10E810009A83AB83BC83FB0180819181A281B38108 -:10E820008D839E83AF83B887FA0180819181A28115 -:10E83000B38189879A87AB87BC87F90180819181F1 -:10E84000A281B3818D879E87AF87B88BAE01475F6A -:10E850005F4FBE016B5F7F4FCE0101960E9477F341 -:10E860008091200C9091210C892B81F4CE0141964E -:10E870006C019E01235F3F4FAE01475F5F4FBE01BA -:10E880006B5F7F4F40970E944C6D01C080E06496A3 -:10E890000FB6F894DEBF0FBECDBFDF91CF911F91B1 -:10E8A0000F91EF90DF90CF90BF90AF9008957F923F -:10E8B0008F929F92AF92BF92CF92DF92EF92FF9290 -:10E8C0000F931F93CF93DF937090A019C1EAD9E102 -:10E8D0009BE6C92E92E0D92E21E2E22E22E0F22E12 -:10E8E00009EA19E1772059F1F80180809180A2802E -:10E8F000B38020E030E0A901C501B4010F94912B51 -:10E900008823E9F020E030E040E05FE3C501B40196 -:10E910000F94F72B9B01AC010F94F72B2BED3FE0ED -:10E9200049E450E40F94F72B9B01AC0160E070E0E8 -:10E9300080E89FE30F9481334B015C0106C0812C7A -:10E94000912C80E8A82E8FE3B82E89929992A992F3 -:10E95000B992F601619171916F01072E000C880B3D -:10E96000990B0F94982B2AE037ED43E25CE30F9468 -:10E97000F72BA50194010F94F72BF7016193719385 -:10E98000819391937F010C5F1F4FF9E1C93ADF0733 -:10E9900009F0A8CFDF91CF911F910F91FF90EF90D9 -:10E9A000DF90CF90BF90AF909F908F907F90089511 -:10E9B0004F925F926F927F928F929F92AF92BF928F -:10E9C000CF92DF92EF92FF920F931F93CF93DF933B -:10E9D000CDB7DEB768970FB6F894DEBF0FBECDBFD8 -:10E9E0008C015B015A834983FC01EE5BFF4F608120 -:10E9F0007181828193810F94962B6B017C01D501EB -:10EA00002D913D914D915C910F94F72B0F946533AF -:10EA10000F94FA3369877A878B879C87E981FA811B -:10EA20002081318142815381C701B6010F94F72BB8 -:10EA30000F9465330F94FA336D877E878F87988B99 -:10EA400029853A854B855C85283731054105510577 -:10EA500040F488E790E0A0E0B0E089879A87AB8730 -:10EA6000BC872D853E854F8558892837310541055E -:10EA7000510540F488E790E0A0E0B0E08D879E87E4 -:10EA8000AF87B88BF801E25BFF4F20813181428173 -:10EA9000538129833A834B835C83CA01B9010F9464 -:10EAA000982B2B013C0169857A858B859C850F9479 -:10EAB000962B698B7A8B8B8B9C8B20E030E0A901A5 -:10EAC000C301B2010F94912B882329F1A70196016C -:10EAD000C701B6010F94F72B4B015C0129893A89D4 -:10EAE0004B895C89CA01B9010F94F72B9B01AC01DA -:10EAF000C501B4010F9486324B015C01A301920160 -:10EB0000C301B2010F9487329B01AC01C501B4016E -:10EB10000F94813303C060E070E0CB010F94653344 -:10EB20000F94FA336D837E838F83988769817A810E -:10EB30008B819C8190958095709561957F4F8F4FCB -:10EB40009F4F0F94982B4B015C016D857E858F85BF -:10EB500098890F94962B69837A838B839C8320E01A -:10EB600030E0A901C501B4010F94912B882349F12C -:10EB700029813A814B815C81CA01B9010F94F72B3D -:10EB80006D8B7E8B8F8B988FA7019601C701B60185 -:10EB90000F94F72B9B01AC016D897E898F89988D2D -:10EBA0000F9486326B017C01A5019401C501B4016B -:10EBB0000F9487329B01AC01C701B6010F948133DA -:10EBC00003C060E070E0CB010F942934D801959622 -:10EBD0008D909D90AD90BC909897750164012D81AA -:10EBE0003E814F815885C21AD30AE40AF50A0F9470 -:10EBF000FA33C61AD70AE80AF90AF7FE75C020E008 -:10EC000030E0A901C301B2010F94912B882309F4CC -:10EC100043C0C501B4010F94962B6B017C01A30185 -:10EC20009201C301B2010F9487329B01AC01C7016D -:10EC3000B6010F94F72B6B017C0129893A894B8926 -:10EC40005C89CA01B9010F94F72B9B01AC01C70184 -:10EC5000B6010F9486326B017C0129813A814B8188 -:10EC60005C81CA01B9010F94F72B9B01AC01C7016C -:10EC7000B6010F9487326B017C0120E030E040E860 -:10EC800050E4C301B2010F94F72B9B01AC01C70103 -:10EC9000B6010F94813303C060E070E0CB010F94A4 -:10ECA00065337B018D83998320E030E0A9010F94C7 -:10ECB000E734181624F0E12CF12C1D821982B701DB -:10ECC0008D8199810F94FA336D837E838F8398872A -:10ECD00086169706A806B90620F48D829E82AF821A -:10ECE000B886C12CD12C76018D819E81AF81B885EB -:10ECF000F80182A793A7A4A7B5A7C80ED91EEA1E3C -:10ED0000FB1EC6A6D7A6E0AAF1AAEA5BFF4F29859B -:10ED10003A854B855C8520833183428353833496C7 -:10ED20008D859E85AF85B88980839183A283B383C7 -:10ED300068960FB6F894DEBF0FBECDBFDF91CF91BE -:10ED40001F910F91FF90EF90DF90CF90BF90AF9009 -:10ED50009F908F907F906F905F904F9008954F920B -:10ED60005F926F927F928F929F92AF92BF92CF925B -:10ED7000DF92EF92FF920F931F93CF93C82FE82E4D -:10ED8000F12CF701EE5AFD4CB490823049F481E049 -:10ED90000E9479B1811106C10E94D26B811102C11A -:10EDA0006701CC0CDD1CCC0CDD1CF601EA5BFD4CD4 -:10EDB00045905590659074906B2DBB0C770B880B2C -:10EDC000990B0F94982B4B015C0120E030E040EC54 -:10EDD0005FE3C301B2010F94F72BA50194010F94D7 -:10EDE000F72BAB01BC0100E010E098018C2F0E94D2 -:10EDF000E4D9C23009F0CAC00E94836BE0E070E041 -:10EE000060EA80E42E2F372F462F582FC501B4011A -:10EE10000F94F72B4B015C0120E030E0A9010F9427 -:10EE2000912B882309F44EC0C23021F000E010E09D -:10EE3000980104C000E010E020E830E4B501A4012E -:10EE400070588C2F0E94E4D9C23051F40E94D26BCA -:10EE50008111A8C0412C512C612C90E4792E21C045 -:10EE6000F701E95CFD4C6491611107C00F949C1897 -:10EE700085E192E30F94B3176AE0F601E75FFD4C7A -:10EE8000459055906590749070E080E090E00F940C -:10EE9000982B9B01AC01C301B2010F9481332B016C -:10EEA0003C01A5019401C501B4010F948732AB0167 -:10EEB000BC01930182018C2F0E94E4D9C23011F46D -:10EEC0000E94836B81E090E00C2E01C0880F0A94B1 -:10EED000EAF790913C1A982B90933C1A9091CD0CA4 -:10EEE000892B8093CD0CF601E350FE4C85919591D2 -:10EEF000A591B491F601E75EF24F80839183A283DE -:10EF0000B383C230D1F42091C90C3091CA0C409126 -:10EF1000CB0C5091CC0C6091210D7091220D809101 -:10EF2000230D9091240D0F9486326093210D7093E0 -:10EF3000220D8093230D9093240D10923B1A109272 -:10EF40003A1A0E941AE0F601EB55F34FD601A75E7C -:10EF5000B24F8D919D910D90BC91A02D8083918396 -:10EF6000A283B383C230F1F480E0CF911F910F915F -:10EF7000FF90EF90DF90CF90BF90AF909F908F90D9 -:10EF80007F906F905F904F900C9479B1F601E65CA2 -:10EF9000FD4C85919591A591B491E82F792F6A2F19 -:10EFA0008B2F30CFCF911F910F91FF90EF90DF907B -:10EFB000CF90BF90AF909F908F907F906F905F9019 -:10EFC0004F900895CF93DF9324E0829FC0011124D6 -:10EFD000EC01CB54D34FFC01E655F64FDC01AC56A7 -:10EFE000B64E2D913D914D915C91608171818281F0 -:10EFF00093810F948732688379838A839B83DF911F -:10F00000CF91089580913B0B882319F010923B0B10 -:10F0100008958DE695E30F94AA05A2E2BCE020E0F6 -:10F0200030E0C9012430310510F083E090E0880F12 -:10F03000991F880F991FFC01EB53FD4C4591559189 -:10F040006591749154964D935D936D937C9357970E -:10F05000FC01EB54FD4C459155916591749194964A -:10F060004D935D936D937C939797FC01EB55FD4C0D -:10F0700045915591659174914D935D936D937D93F9 -:10F080002F5F3F4F2430310509F0CBCF80E29EE463 -:10F09000A0E0B0E08093320C9093330CA093340C3A -:10F0A000B093350C80E090E0A6E9B3E48093560C71 -:10F0B0009093570CA093580CB093590C40E050E03B -:10F0C0006AE774E440935A0C50935B0C60935C0CB9 -:10F0D00070935D0C80935E0C90935F0CA093600C1A -:10F0E000B093610C1092620C1092630C1092640C3D -:10F0F0001092650C1092660C1092670C1092680CBE -:10F100001092690C8AE097EDA3EABDE38093C10BEE -:10F110009093C20BA093C30BB093C40B8CE0EAEAAC -:10F12000F9E0DF011D928A95E9F780E090E0A0EA1E -:10F13000B2E48093720C9093730CA093740CB09310 -:10F14000750C40E050E060E070E44093760C509322 -:10F15000770C6093780C7093790C88EB9BE090931C -:10F160007B0C80937A0C90937D0C80937C0C88E0D0 -:10F17000E0E7F3E0AEE7BCE001900D928A95E1F79D -:10F180004093860C5093870C6093880C7093890C85 -:10F1900081E098E00E944D541092B2191092B31978 -:10F1A0001092B4191092B5190E94FF6C80E090E0A3 -:10F1B000A0EBB1EC8093C10C9093C20CA093C30C54 -:10F1C000B093C40C80E090E0A4E3B2EC8093C50C53 -:10F1D0009093C60CA093C70CB093C80C1092C90CA6 -:10F1E0001092CA0C1092CB0C1092CC0C80E090E0E4 -:10F1F000A8E9B1E480936F0990937009A093710915 -:10F20000B09372098AE891EEAAE6BEE3809373098F -:10F2100090937409A0937509B093760980E89AE6F3 -:10F22000A9ECB3E48093770990937809A0937909C6 -:10F23000B0937A0983EC95E9ACE2B4E48093860953 -:10F2400090938709A0938809B093890980E29BE194 -:10F25000A2E9B1E480938A0990938B09A0938C0969 -:10F26000B0938D0987EF9CEDABECB5E480938E09EC -:10F2700090938F09A0939009B09391091092A019CF -:10F2800080E090E0A0EEBFE38093A9199093AA19C3 -:10F29000A093AB19B093AC198093AD199093AE19AC -:10F2A000A093AF19B093B0191092A7091092A609B4 -:10F2B0000E948AE11092DD0B1092DE0B1092DF0BA0 -:10F2C0001092E00B1092E10B1092E20B1092E30B04 -:10F2D0001092E40B40E050E067ED73E44093BA19FC -:10F2E0005093BB196093BC197093BD1980E090E0F6 -:10F2F000A1EEB3E48093BE199093BF19A093C019F7 -:10F30000B093C1194093C2195093C3196093C419A3 -:10F310007093C5198093C6199093C719A093C81903 -:10F32000B093C9190E94EFEC0F949C1882E892E305 -:10F330000F94B31781E098E00C944D548F929F92F4 -:10F34000AF92BF92CF92DF92EF92FF920F931F93F3 -:10F35000CF93C82F811102C00F949C1886E595E3C6 -:10F360000F94B31780E595E30F94B3178AE00E94DA -:10F3700042538AE00E944253C11114C00F949C185A -:10F380008DE395E30F94B3178091A019882321F0A2 -:10F390008AE00E94425304C082E395E30F94B317BE -:10F3A0000F949C184091A9195091AA196091AB191A -:10F3B0007091AC1989E295E30F9467188AE00E9476 -:10F3C0004253C11102C00F949C184091AD19509145 -:10F3D000AE196091AF197091B0198DE195E30F945A -:10F3E00067188AE00E9442538091A019811108C0D9 -:10F3F000C11102C00F949C1882E195E30F94B317DA -:10F40000C11106C00F949C1881E095E30F94B317C7 -:10F410006FEF81E08C270E9485E8C11108C00F942E -:10F420009C1883EE94E30F94B3170F949C184091AB -:10F43000460C5091470C6091480C7091490C8AED34 -:10F4400094E30F94671840914A0C50914B0C6091D3 -:10F450004C0C70914D0C87ED94E30F94671840911C -:10F460004E0C50914F0C6091500C7091510C84EDEA -:10F4700094E30F9467184091520C5091530C609193 -:10F48000540C7091550C81ED94E30F9467188AE049 -:10F490000E944253C11108C00F949C188FEA94E354 -:10F4A0000F94B3170F949C186091220C7091230C49 -:10F4B0008091240C9091250C0F94962BAB01BC01EC -:10F4C00086EA94E30F9467186091260C7091270CDC -:10F4D0008091280C9091290C0F94962BAB01BC01C4 -:10F4E00083EA94E30F94671860912A0C70912B0CB7 -:10F4F00080912C0C90912D0C0F94962BAB01BC019C -:10F5000080EA94E30F94671860912E0C70912F0C91 -:10F510008091300C9091310C0F94962BAB01BC0173 -:10F520008DE994E30F9467188AE00E944253C11159 -:10F5300008C00F949C1883E594E30F94B3170F94BD -:10F540009C184091560C5091570C6091580C70913A -:10F55000590C8AE494E30F94671840915A0C509127 -:10F560005B0C60915C0C70915D0C87E494E30F94EC -:10F57000671840915E0C50915F0C6091600C709127 -:10F58000610C84E494E30F9467188AE00E9442536C -:10F59000C1110FC00F949C188CEF93E30F94B31715 -:10F5A0008FEE93E30F94B3178AE00E9442530F94B7 -:10F5B0009C186091320C7091330C8091340C9091B6 -:10F5C000350C0F94962BAB01BC0186EE93E30F94A0 -:10F5D00067184091620C5091630C6091640C7091BB -:10F5E000650C83EE93E30F9467184091660C50917D -:10F5F000670C6091680C7091690C80EE93E30F9436 -:10F6000067184091C10B5091C20B6091C30B709170 -:10F61000C40B8DED93E30F9467188AE00E94425368 -:10F62000C11108C00F949C188FEC93E30F94B3178B -:10F630000F949C184091AA095091AB096091AC09B4 -:10F640007091AD0986EC93E30F9467184091AE0971 -:10F650005091AF096091B0097091B10983EC93E3C7 -:10F660000F9467184091B2095091B3096091B409A1 -:10F670007091B50980EC93E30F9467188AE00E94BB -:10F680004253C11108C00F949C188CEA93E30F9465 -:10F69000B3170F949C186091310D70E083EA93E3E7 -:10F6A0000F9478184091320D5091330D6091340DC4 -:10F6B0007091350D80EA93E30F9467188AE00E94F9 -:10F6C00042538091B6199091B719892B09F443C020 -:10F6D0002AECC22E29E1D22E00E010E0E12CF12C20 -:10F6E000A12CB12CC11102C00F949C18B50186E960 -:10F6F00093E30F947818B80183E993E30F94781893 -:10F7000094E1892E98E0992EF40181914F0188238C -:10F7100019F00E944253F8CFF601EE0DFF1D6081F3 -:10F7200071818281938145E00E94D2538AE00E94D8 -:10F730004253FFEFAF1ABF0A84E1E80EF11CE4E682 -:10F74000EE16F10479F60F5F1F4FF4E0CF0ED11CD7 -:10F750000530110519F6C11108C00F949C1884E8F2 -:10F7600093E30F94B3170F949C1840916F09509135 -:10F77000700960917109709172098BE793E30F949E -:10F7800067182CEA35EC47E25EE3609173097091EB -:10F79000740980917509909176090F948133AB01BA -:10F7A000BC0188E793E30F9467182CEA35EC47E235 -:10F7B0005EE3609177097091780980917909909161 -:10F7C0007A090F94F72BAB01BC0185E793E30F9403 -:10F7D00067188AE00E944253C11102C00F949C181E -:10F7E0004091860950918709609188097091890933 -:10F7F0008CE693E30F9467182CEA35EC47E25EE35E -:10F8000060918A0970918B0980918C0990918D0982 -:10F810000F948133AB01BC0189E693E30F94671821 -:10F820002CEA35EC47E25EE360918E0970918F0916 -:10F8300080919009909191090F94F72BAB01BC0135 -:10F8400086E693E30F9467188AE00E944253C11141 -:10F8500010C00F949C1887E593E30F94B31780E5CD -:10F8600095E30F94B31785ED92E30F94B3170F94BC -:10F870009C184091C10C5091C20C6091C30C7091C6 -:10F88000C40C8EE493E30F9467188AE00E944253FD -:10F890004091C50C5091C60C6091C70C7091C80C7A -:10F8A00085E493E30F9467188AE00E9442534091E5 -:10F8B000C90C5091CA0C6091CB0C7091CC0C8CE3AC -:10F8C00093E30F9467188AE00E944253C11108C065 -:10F8D0000F949C188BE293E30F94B3170F949C182A -:10F8E0008DEDE82E8BE0F82E00E010E0B80182E20A -:10F8F00093E30F947818F7014191519161917191BF -:10F900007F018FE193E30F9467188AE00E944253CE -:10F910000F5F1F4F0230110549F7C11108C00F9446 -:10F920009C1880E093E30F94B3170F949C1888ED14 -:10F9300092E30F94B3174091BE195091BF19609193 -:10F94000C0197091C1198BEF92E30F946718409121 -:10F95000BA195091BB196091BC197091BD1988EF0B -:10F9600092E30F9467188AE00E944253C11102C0CB -:10F970000F949C1888ED92E30F94B3174091C61929 -:10F980005091C7196091C8197091C91983EF92E31A -:10F990000F9467184091C2195091C3196091C4190E -:10F9A0007091C51980EF92E30F9467188AE00E9466 -:10F9B0004253C11108C00F949C1880EE92E30F943B -:10F9C000B3170F949C1881E0CF911F910F91FF9076 -:10F9D000EF90DF90CF90BF90AF909F908F900D945D -:10F9E000B30A8F929F92AF92BF92CF92DF92EF9223 -:10F9F000FF920F931F93CF93DF9381E08093B11910 -:10FA00000E94FEFD1092B119882309F4DFC00E9404 -:10FA1000FEFDD82E87E198E00E944D548091B619E2 -:10FA20009091B719892B09F47BC0EE24E394F12C53 -:10FA300000E010E0D1E035E0C32EC0E0BB24B39479 -:10FA400045E0A42E55E0952E62E8862EEB24CC16D8 -:10FA5000D1F18F2D90E04897A4F5F394F801AC9E76 -:10FA6000E00DF11D1124EE0FFF1FEE0FFF1FE653F7 -:10FA7000F64E20E030E04AE754E4608171818281F3 -:10FA800093810F94F72B0F94F3337093551C60936D -:10FA9000541C9092481C80924B1C4F2D50E04158B2 -:10FAA000574F440F551F052E000C660B770B4093E4 -:10FAB0004C1C50934D1C60934E1C70934F1C0F9424 -:10FAC0000405CD0FC4CF0F5F1F4F0530110561F046 -:10FAD000E11005C0DFEFCC24CA94C4E0B7CFD1E079 -:10FAE00025E0C22EC0E0B2CF83E090E09093551C99 -:10FAF0008093541C85E08093481C82E880934B1CC3 -:10FB000085E490E1A0E0B0E080934C1C90934D1C04 -:10FB1000A0934E1CB0934F1C0F94040581E01BC0B2 -:10FB200082E090E09093551C8093541C85E0809374 -:10FB3000481C82E880934B1C85E490E1A0E0B0E093 -:10FB400080934C1C90934D1CA0934E1CB0934F1C63 -:10FB50000F94040580E00E94B96C4091C90C50914B -:10FB6000CA0C6091CB0C7091CC0C85E592E30F949C -:10FB700067188AE00E94425320E030E048EC52E4EB -:10FB80006091C90C7091CA0C8091CB0C9091CC0CF7 -:10FB90000F94F72B0F94F3337093551C6093541C00 -:10FBA00085E08093481C82E880934B1C86E290E1BC -:10FBB000A0E0B0E080934C1C90934D1CA0934E1C91 -:10FBC000B0934F1C0F9404058D2D0BC00E940DF8AF -:10FBD0000E94C0E80F949C188EE692E30F94B3172E -:10FBE00080E0DF91CF911F910F91FF90EF90DF9018 -:10FBF000CF90BF90AF909F908F9008952F923F929B -:10FC00004F925F926F927F928F929F92AF92BF922C -:10FC1000CF92DF92EF92FF920F931F93CF93DF93D8 -:10FC2000CDB7DEB7CC59D1090FB6F894DEBF0FBE01 -:10FC3000CDBF2DB63EB6CB56DF4F19821882C559BF -:10FC4000D04084E690E0C956DF4F99838883C75936 -:10FC5000D04001E09E012B563F4F44E050E0BE01F2 -:10FC60006F567F4FCE0189569F4F0E9408519E01CB -:10FC70002B563F4F42E050E0BE0167567F4FCE010A -:10FC800089569F4F0E94085143E050E0BE016F56D5 -:10FC90007F4F88EA93E00F94EC35892B19F1CC560D -:10FCA000DF4F8881C459D040882359F08FE3CF5665 -:10FCB000DF4F8883C159D040CE56DF4F1882C259DA -:10FCC000D0400F949C18BE016F567F4F83E196E39E -:10FCD0000F94851885E096E30F94B31781E0809325 -:10FCE000331AFBC5C357DF4F188219821A821B8251 -:10FCF000CD58D040CB56DF4F19821882C559D0401D -:10FD000001E09E012B563F4F41E050E0BE0164569A -:10FD10007F4FCE0189569F4F0E9408514DB65EB667 -:10FD200080E1E8E7F3E0DE01A358BF4F01900D92B8 -:10FD30008A95E1F780E1E8E8F3E0DE01A359BF4FDF -:10FD400001900D928A95E1F780E1E8E9F3E09E01E8 -:10FD50002F5F3F4F6901D90101900D928A95E1F71C -:10FD6000C456DF4F4881CC59D04050E04D5F5F4FC3 -:10FD7000440F551F440F551F6DB77EB7641B750B9D -:10FD80000FB6F8947EBF0FBE6DBF8DB79EB70196BC -:10FD90005C010091B11911E001272C563F4FBC01C5 -:10FDA000CE0189569F4F0E9408510091B119012739 -:10FDB0009E012B563F4F44E050E062E37CE0CE01D1 -:10FDC00089569F4F0E940851C456DF4FE880CC5996 -:10FDD000D040F12C93E0E90EF11CEE0CFF1CEE0C70 -:10FDE000FF1CADB7BEB7AE19BF090FB6F894BEBFC2 -:10FDF0000FBEADBFEDB7FEB731964F012DB73EB781 -:10FE00002E193F090FB6F8943EBF0FBE2DBF6DB738 -:10FE10007EB76F5F7F4F3B010091B11901279E01B3 -:10FE20002B563F4FA701BF01CE0189569F4F0E941D -:10FE300008510091B11901279E012B563F4FA70190 -:10FE4000B301CE0189569F4F0E9408510091B1190C -:10FE5000002309F44EC011E001279E012B563F4FAD -:10FE600044E050E066E57CE0CE0189569F4F0E9459 -:10FE700008510091B11901279E012B563F4F44E0D4 -:10FE800050E06AE57CE0CE0189569F4F0E94085100 -:10FE90000091B11901279E012B563F4F44E050E0DD -:10FEA0006EE57CE0CE0189569F4F0E94085100917B -:10FEB000B11901279E012B563F4F44E050E062E606 -:10FEC0007CE0CE0189569F4F0E9408510091B119E4 -:10FED00001279E012B563F4F44E050E066E67CE050 -:10FEE000CE0189569F4F0E94085115E0FF24F394DC -:10FEF00072C0C456DF4F2881CC59D04030E02E5F0D -:10FF00003F4FE2E2FCE080E090E0760128173907FD -:10FF100014F0D50111C0AC018430910510F043E01C -:10FF200050E0440F551F440F551F6DE770E06C0FF4 -:10FF30007D1F460F571FDA014D915D916D917C91A8 -:10FF400041935193619371932817390714F0D401A9 -:10FF500011C0AC018430910510F043E050E0440F33 -:10FF6000551F440F551F6DE670E06C0F7D1F460F47 -:10FF7000571FDA014D915D916D917C91408B518BB2 -:10FF8000628B738B2817390714F0D3010DC0AC01B5 -:10FF90008430910510F043E050E0440F551F440FAA -:10FFA000551F4E0D5F1DDA014D915D916D917C9154 -:10FFB00040A351A362A373A30196B4E06B0E711C1E -:10FFC00044E0840E911C64E0A60EB11C84309105BF -:10FFD00009F09CCF40CF11500091B119112379F055 -:10FFE0000F259E012B563F4F44E050E0BE01635762 -:10FFF0007F4FCE0189569F4F0E940851ECCF11E0F0 -:020000022000DC -:1000000001279E012B563F4F44E050E061EC7BE01E -:10001000CE0189569F4F0E9408510FB6F8945EBEDC -:100020000FBE4DBE0091B11901279E012B563F4FC7 -:100030004CE050E06AEA79E0CE0189569F4F0E9479 -:1000400008510091B11901279E012B563F4F41E005 -:1000500050E0BE0163597F4FCE0189569F4F0E94E9 -:1000600008510091B11901279E012B563F4F44E0E2 -:1000700050E0BE016F5F7F4FCE0189569F4F0E94B7 -:1000800008510091B11901279E012B563F4F44E0C2 -:1000900050E062EB79E1CE0189569F4F0E940851F2 -:1000A0000091B11901279E012B563F4F44E050E0CB -:1000B000BE0163577F4FCE0189569F4F0E94085162 -:1000C00001E09E012B563F4F41E050E0BE016359D5 -:1000D0007F4FCE0189569F4F0E9408519E012B569B -:1000E0003F4F41E050E0BE016F5F7F4FCE01895628 -:1000F0009F4F0E940851AE96AFACAE978981A89EE3 -:1001000050011124E12CF12C0091B119EA14FB04E7 -:1001100091F001279E012B563F4F44E050E0BE0175 -:1001200063577F4FCE0189569F4F0E9408517FEF42 -:10013000E71AF70AE9CF11E001279E012B563F4F3E -:1001400044E050E061EC7CE0CE0189569F4F0E9474 -:1001500008510091B11901279E012B563F4F44E0F1 -:1001600050E065EC7CE0CE0189569F4F0E9408511B -:100170000091B11901279E012B563F4F44E050E0FA -:1001800069EC7CE0CE0189569F4F0E9408511AE02D -:10019000FF24F394115089F00091B1190F259E01AD -:1001A0002B563F4F44E050E0BE0163577F4FCE01D6 -:1001B00089569F4F0E940851EDCF01E09E012B56BA -:1001C0003F4F41E050E0BE0165567F4FCE0189565A -:1001D0009F4F0E9408519E012B563F4F41E050E037 -:1001E000BE0163587F4FCE0189569F4F0E94085130 -:1001F000C556DF4F8881CB59D0400091B119853069 -:10020000C9F5EE968FADEE978530A1F5011103C0CB -:1002100080E00E94B96C0091B11911E001279E01A4 -:100220002B563F4F44E050E066EB79E1CE01895612 -:100230009F4F0E9408510091B11901279E012B5632 -:100240003F4F44E050E06FE27AE1CE0189569F4F84 -:100250000E9408510091B11901279E012B563F4F72 -:1002600044E650E06AEC79E1CE0189569F4F0E9446 -:10027000085143C011E001279E012B563F4F44E037 -:1002800050E0BE0163597F4FCE0189569F4F0E94B7 -:1002900008510091B11901279E012B563F4F44E0B0 -:1002A00050E0BE016F5F7F4FCE0189569F4F0E9485 -:1002B0000851C556DF4FA880CB59D040EE968FAD80 -:1002C000EE97A89E50011124E12CF12CAE14BF042E -:1002D000A1F00091B11901279E012B563F4F44E038 -:1002E00050E0BE0163577F4FCE0189569F4F0E9459 -:1002F00008518FEFE81AF80AE9CF0091B11911E01F -:1003000001279E012B563F4F41E050E0BE0163594B -:100310007F4FCE0189569F4F0E9408510091B1191D -:1003200001279E012B563F4F41E050E0BE016F5F19 -:100330007F4FCE0189569F4F0E9408510091B119FD -:1003400001279E012B563F4F44E050E0BE016F5FF6 -:100350007F4FCE0189569F4F0E9408510091B119DD -:1003600001279E012B563F4F41E050E06EE27AE1BB -:10037000CE0189569F4F0E9408510091B119012763 -:100380009E012B563F4F44E050E0BE0163597F4F22 -:10039000CE0189569F4F0E9408510091B119012743 -:1003A0009E012B563F4F44E050E0BE016F5F7F4FF0 -:1003B000CE0189569F4F0E9408510091B119012723 -:1003C0009E012B563F4F42E050E0BE0163587F4FE5 -:1003D000CE0189569F4F0E9408510091B119012703 -:1003E0009E012B563F4F40E150E0BE016F5F7F4FB3 -:1003F000CE0189569F4F0E9408510091B1190111F9 -:100400002EC089809A80AB80BC8020E030E84BE32E -:1004100055E4C501B4010F94912B882301F180921A -:100420006F0990927009A0927109B09272098D8142 -:100430009E81AF81B8858093730990937409A093CE -:100440007509B093760989859A85AB85BC858093BB -:10045000770990937809A0937909B0937A0911E00C -:1004600001279E012B563F4F42E050E0BE016F5FD7 -:100470007F4FCE0189569F4F0E9408510091B119BC -:1004800001279E012B563F4F4CE050E0BE016F5FAD -:100490007F4FCE0189569F4F0E9408510091B1199C -:1004A000011115C020E030E84BE355E469817A8101 -:1004B0008B819C810F94912B882349F08CE0FE0165 -:1004C0003196A6E8B9E001900D928A95E1F711E026 -:1004D00001279E012B563F4F42E050E0BE016F5F67 -:1004E0007F4FCE0189569F4F0E9408510091B1194C -:1004F00001279E012B563F4F41E050E0BE016F5F48 -:100500007F4FCE0189569F4F0E9408510091B1192B -:1005100001279E012B563F4F40E250E0BE016F5F26 -:100520007F4FCE0189569F4F0E9408510091B1190B -:1005300001279E012B563F4F41E050E0BE01635919 -:100540007F4FCE0189569F4F0E9408510091B119EB -:1005500001279E012B563F4F49E050E0BE016F5FDF -:100560007F4FCE0189569F4F0E9408510091B119CB -:1005700001110CC089818093A01988E0FE01329698 -:10058000A9EAB9E101900D928A95E1F711E00127FE -:100590009E012B563F4F4AE150E0BE016F5F7F4FF7 -:1005A000CE0189569F4F0E9408510091B119012731 -:1005B0009E012B563F4F44E350E0BE016F5F7F4FDB -:1005C000CE0189569F4F0E9408510091B119012711 -:1005D0009E012B563F4F48E050E0BE016F5F7F4FBA -:1005E000CE0189569F4F0E9408510091B1190127F1 -:1005F0009E012B563F4F4DE050E0BE016F5F7F4F95 -:10060000CE0189569F4F0E9408510091B1190127D0 -:100610009E012B563F4F48E050E0BE016F5F7F4F79 -:10062000CE0189569F4F0E9408510091B1190111C6 -:1006300009C088E0FE013196ADEDBBE001900D925E -:100640008A95E1F711E001279E012B563F4F4CE0C0 -:1006500050E0B601CE0189569F4F0E94085100918B -:10066000B11901279E012B563F4F4CE650E0B601D1 -:10067000CE0189569F4F0E94085119821A821B820F -:100680001C821D821E821F82188619861A861B866E -:100690001C860091B11901279E012B563F4F4CE05B -:1006A00050E0B601CE0189569F4F0E94085100913B -:1006B000B11901279E012B563F4F40E150E06AEBF4 -:1006C00079E1CE0189569F4F0E9408510091B119DE -:1006D00001279E012B563F4F48E150E062E77CE046 -:1006E000CE0189569F4F0E9408510091B1190127F0 -:1006F0009E012B563F4F44E050E0B601CE01895693 -:100700009F4F0E9408510091B11901279E012B565D -:100710003F4F44E050E0BE016B5F7F4FCE018956F2 -:100720009F4F0E9408510091B11901279E012B563D -:100730003F4F44E050E0BE01675F7F4FCE018956D6 -:100740009F4F0E9408510091B11901279E012B561D -:100750003F4F41E050E0BE0163587F4FCE018956C4 -:100760009F4F0E9408510091B11901279E012B56FD -:100770003F4F44E050E0BE0163597F4FCE018956A0 -:100780009F4F0E94085180E3D6011D928A95E9F798 -:100790000091B11901279E012B563F4F40E350E0D5 -:1007A000B601CE0189569F4F0E9408518091B11920 -:1007B000811104C084E398E00E944D54C956DF4F74 -:1007C00088819981C759D0408835934041F00F9472 -:1007D00098188BE795E30F94B31781E001C080E090 -:1007E0008093331A8823C1F00F949C18C956DF4FA9 -:1007F00068817981C759D040645671098DEF95E3BE -:100800000F94781864EF72E085EF95E30F945A180F -:100810008AE00E94425357C0CB56DF4F288139816E -:10082000C559D040C756DF4F88819981C959D040FA -:1008300028173907E1F081E08093331A0F94981854 -:10084000C756DF4F68817981C959D04085ED95E35E -:100850000F945A18CB56DF4F68817981C559D04023 -:1008600080ED95E30F945A1880EC95E32AC08091AF -:10087000B119811128C00F949C1808EA13E0F801FF -:1008800081918F01882319F00E944253F8CFC956F5 -:10089000DF4F68817981C759D0406456710983EA76 -:1008A00095E30F947818CB56DF4F48815981C5598D -:1008B000D04060E070E086E995E30F94491883E941 -:1008C00095E30F94B3178091B119811106C08091FF -:1008D000331A811102C00E94EFEC8091B11981118D -:1008E00002C00E949EF99091331A81E089270FB6C9 -:1008F000F8943EBE0FBE2DBEC456DF4F0FB6F8941F -:10090000DEBF0FBECDBFDF91CF911F910F91FF9042 -:10091000EF90DF90CF90BF90AF909F908F907F909F -:100920006F905F904F903F902F90089584E08A954C -:100930000000E9F70895FC01DB018C9120813181F1 -:10094000382798E0A901440F551F37FD06C09A01CA -:100950009150C1F73183208308959A01B1E22B278A -:10096000B0E13B27F5CFEF92FF920F931F93CF9308 -:10097000DF93FC0101900020E9F731979F01281BCC -:10098000390B12161306CCF56AE56093981C65EADC -:100990006093991C63E0620F60939A1C62E8609315 -:1009A0009B1C50939C1C40939D1CFC01AEE9BCE138 -:1009B000820F931F41914D93E817F907D9F788E902 -:1009C000E82E8CE1F82E00E010E0E9012596C01732 -:1009D000D10764F0D7016D917D018EE39AE10E9409 -:1009E0004B5C0F9496040F5F1F4FF1CF8AE1E8E94B -:1009F000FCE1DF011D928A95E9F7DF91CF911F910C -:100A00000F91FF90EF9008950F931F93CF93DF9373 -:100A10002091491C2A3509F098C090914A1C953ABA -:100A200009F093C08091481C833008F48EC0209355 -:100A3000981C9093991C80939A1C90914B1C9093B6 -:100A40009B1C9038B1F490914C1C90939C1CE4E555 -:100A5000FCE1ADE9BCE120E030E090E0029728172E -:100A600039070CF044C0408132964D932F5F3F4FC1 -:100A7000F6CF833061F4913809F064C080914C1C4A -:100A800080939C1C8091501C80939D1C30C0923898 -:100A9000F1F490914C1C20914D1C20939C1C909340 -:100AA0009D1CEEE9FCE120E030E090E00397281780 -:100AB0003907ECF4D901AE7FAC5AB34E4C91119684 -:100AC0005C91508341832E5F3F4F3296F0CF84304C -:100AD00071F4933861F480914C1C90914D1C90936B -:100AE0009C1C80939D1C8091501C80939E1C08E947 -:100AF0001CE1C0E0D0E08091481C90E002968C1789 -:100B00009D075CF0D8016D918D018EE39AE10E9402 -:100B10004B5C0F9496042196EECF80E5E8E4FCE16F -:100B2000DF011D928A95E9F78AE1E8E9FCE1DF013E -:100B30001D928A95E9F78AE58093491C85EA80939E -:100B40004A1C03C0923899F6A4CFDF91CF911F9130 -:100B50000F910895CF93DF93CDB7DEB7A8970FB667 -:100B6000F894DEBF0FBECDBF8C010E94209D0F9474 -:100B700098188DE596E30F94B3170115110511F43C -:100B800004E516E380913D1A80FD75C08160809375 -:100B90003D1A87E498E00E944D54882483948AE5A6 -:100BA000982E9092551C8092541C8FE090E0909368 -:100BB000571C8093561C97E0A92EA092481C22E84F -:100BC000B22EB0924B1C34E8C32ED12CE12CF12C68 -:100BD000C0924C1CD0924D1CE0924E1CF0924F1CC7 -:100BE0000F9404059092551C8092541C88E590E067 -:100BF0009093571C8093561CA092481CB0924B1C9B -:100C0000C0924C1CD0924D1CE0924E1CF0924F1C96 -:100C10000F94040563E070E080E090E00E94C6C796 -:100C20008AE289838A838B838C83DE011596F8019F -:100C3000CE0101969D01281B390B44913196442326 -:100C400011F04D93F7CFFC01E20FF31F2AE2AF0141 -:100C5000481B590B4832510511F02193F8CF40E65B -:100C600050E160E070E00F94B3046AE070E080E06F -:100C700090E00E94C6C761E08BE496E30E943B6768 -:100C800089EE93E030E6019729F0232F2A950000A2 -:100C9000E9F7F9CFF89489EE93E038EE019729F05F -:100CA000232F2A950000E9F7F9CF0E94209D0E948A -:100CB000BC50A895FECFCF92DF92EF92FF920F9497 -:100CC000A41B6B017C0128E5C20E22E0D21EE11CB0 -:100CD000F11C0E949C5B8F3F61F00F94A41BDC0110 -:100CE000CB018C199D09AE09BF09B7FDF2CF80E099 -:100CF00001C081E0FF90EF90DF90CF9008958F9238 -:100D00009F92AF92BF92CF92DF92EF92FF920F939A -:100D10001F93CF93DF9300D01F92CDB7DEB7FC01B6 -:100D20008381813079F5818181FF2CC0818992890D -:100D3000A389B489892B8A2B8B2B09F448C07F01A6 -:100D400040E050E0BA01CF010E94998A8823D1F097 -:100D5000F70185889688A788B08CC18CD28C82E0F8 -:100D600090E0A0E0B0E0F60180839183A283B3839A -:100D70009E012F5F3F4FB501A401C6010E94496348 -:100D8000811102C080E03CC000E010E09801B50194 -:100D9000A401C6010E94B7628823A1F389809A80CA -:100DA000AB80BC80F6018789803141F4F8EF8F1663 -:100DB000FFEF9F06A104B10460F4DACF88EF881634 -:100DC0008FEF9806A8068FE0B80618F4D1CF81E01F -:100DD00017C0F701158A168A178A108E118A128A8F -:100DE000138A148A818180688183C7010E94D28D11 -:100DF000882341F240E050E0BA01C7010E94998A7D -:100E00000F900F900F900F90DF91CF911F910F9146 -:100E1000FF90EF90DF90CF90BF90AF909F908F901A -:100E200008952F923F924F925F926F927F928F928E -:100E30009F92AF92BF92CF92DF92EF92FF920F9369 -:100E40001F93CF93DF931F921F92CDB7DEB77C0124 -:100E50002DB73EB73A8329838091111E811107C0B7 -:100E60001092F61D1092F91D81E08093111E809161 -:100E7000EE1D811107C01092D31D1092D61D81E086 -:100E80008093EE1DFB0180818F3259F484E39BE156 -:100E9000F701918380831092C61D8B010F5F1F4F56 -:100EA00006C089E19BE1F701918380838B01F70103 -:100EB0002080318026EFC22E2DE1D22E01151105A2 -:100EC00009F479C04DB65EB66FE270E0C8010F94C8 -:100ED000DA354C010817190708F06BC03C01601A9D -:100EE000710A7724C30101962DB73EB7281B390B31 -:100EF0000FB6F8943EBF0FBE2DBF8DB79EB70196BB -:100F00005C01A301B8010F94FA35F501E60DF71D58 -:100F10001082F7016081718121E0A501C6010E9464 -:100F2000F19181110FC0B50187E396E30F94851805 -:100F300084E396E30F94B3170FB6F8945EBE0FBE2A -:100F40004DBE39C0F701808191812816390611F014 -:100F50000E94058EF701D182C082A091C61DAA30E1 -:100F600080F481E08A0F8093C61DFBE1FA9FD001D7 -:100F70001124A854B34EF6018BE101900D928A958D -:100F8000E1F7F70180819181865F9D4129F493ED1E -:100F9000C92E9DE1D92E04C086EFC82E8DE1D82E32 -:100FA00084010F5F1F4F0FB6F8945EBE0FBE4DBE9B -:100FB00085CFC80102C080E090E029813A810FB658 -:100FC000F8943EBF0FBE2DBF0F900F90DF91CF91D1 -:100FD0001F910F91FF90EF90DF90CF90BF90AF9057 -:100FE0009F908F907F906F905F904F903F902F9049 -:100FF000089520913C1A2695269520FF2DC020911A -:10100000D11D3091D21D280F391F3093D21D20934E -:10101000D11D20913A1A30913B1A280F391F309375 -:101020003B1A20933A1A209108012170209306015F -:101030002091381A3091391A820F931F9093391AE0 -:101040008093381A0F94A41B6093341A7093351A46 -:101050008093361A9093371A08950F931F93CF9366 -:10106000DF93CDB7DEB764970FB6F894DEBF0FBE3F -:10107000CDBFE82FF0E0EA5BF64EE4918E2F90E0D2 -:10108000FC013197E231F10508F049C28827ED52A1 -:10109000FF4F8F4F0D947E3284B5807C09F43FC2A0 -:1010A00087B51F928F9380E797E39F938F938E016D -:1010B0000F5F1F4F1F930F930F94292B0F900F90CB -:1010C0000F900F900F900F90F80181918F01811177 -:1010D00002C081E025C20E944253F6CF84B58073DE -:1010E00009F41DC288B51F928F9386E697E39F93FC -:1010F0008F938E010F5F1F4F1F930F930F94292B18 -:101100000F900F900F900F900F900F90F80181911A -:101110008F018823F1F20E944253F8CF8091800022 -:10112000807C09F4FCC180918800909189009F9394 -:101130008F938CE597E39F938F938E010F5F1F4FE3 -:101140001F930F930F94292B0F900F900F900F90D8 -:101150000F900F90F80181918F01882309F4B9CF86 -:101160000E944253F7CF80918000807309F4D7C169 -:1011700080918A0090918B009F938F9382E597E3F3 -:101180009F938F938E010F5F1F4F1F930F930F94A9 -:10119000292B0F900F900F900F900F900F90F80148 -:1011A00081918F01882309F494CF0E944253F7CF95 -:1011B000809180008C7009F4B2C180918C00909174 -:1011C0008D009F938F9388E497E39F938F938E0175 -:1011D0000F5F1F4F1F930F930F94292B0F900F90AA -:1011E0000F900F900F900F90F80181918F0188233D -:1011F00009F46FCF0E944253F7CF8091B000807CFA -:1012000009F48DC18091B3001F928F938EE397E311 -:101210009F938F938E010F5F1F4F1F930F930F9418 -:10122000292B0F900F900F900F900F900F90F801B7 -:1012300081918F01882309F44CCF0E944253F7CF4C -:101240008091B000807309F46AC18091B4001F924C -:101250008F9384E397E39F938F938E010F5F1F4FCC -:101260001F930F930F94292B0F900F900F900F90B7 -:101270000F900F90F80181918F01882309F429CFF5 -:101280000E944253F7CF80919000807C09F447C1BF -:1012900080919800909199009F938F938AE297E3B1 -:1012A0009F938F938E010F5F1F4F1F930F930F9488 -:1012B000292B0F900F900F900F900F900F90F80127 -:1012C00081918F01882309F404CF0E944253F7CF04 -:1012D00080919000807309F422C180919A009091CE -:1012E0009B009F938F9380E297E39F938F938E0150 -:1012F0000F5F1F4F1F930F930F94292B0F900F9089 -:101300000F900F900F900F90F80181918F0188231B -:1013100009F4DFCE0E944253F7CF809190008C7089 -:1013200009F4FDC080919C0090919D009F938F9344 -:1013300086E197E39F938F938E010F5F1F4F1F935B -:101340000F930F94292B0F900F900F900F900F90E9 -:101350000F90F80181918F01882309F4BACE0E9481 -:101360004253F7CF8091A000807C09F4D8C08091CF -:10137000A8009091A9009F938F938CE097E39F938F -:101380008F938E010F5F1F4F1F930F930F94292B85 -:101390000F900F900F900F900F900F90F801819188 -:1013A0008F01882309F495CE0E944253F7CF809194 -:1013B000A000807309F4B3C08091AA009091AB00A3 -:1013C0009F938F9382E097E39F938F938E010F5F9C -:1013D0001F4F1F930F930F94292B0F900F900F9077 -:1013E0000F900F900F90F80181918F01882309F4DD -:1013F00070CE0E944253F7CF8091A0008C7009F408 -:101400008EC08091AC009091AD009F938F9388EF38 -:1014100096E39F938F938E010F5F1F4F1F930F9340 -:101420000F94292B0F900F900F900F900F900F900B -:10143000F80181918F01882309F44BCE0E94425319 -:10144000F7CF80912001807C09F469C08091280148 -:10145000909129019F938F938EEE96E39F938F93A4 -:101460008E010F5F1F4F1F930F930F94292B0F9027 -:101470000F900F900F900F900F90F80181918F01B6 -:10148000882309F426CE0E944253F7CF8091200191 -:10149000807309F444C080912A0190912B019F939D -:1014A0008F9384EE96E39F938F938E010F5F1F4F70 -:1014B0001F930F930F94292B0F900F900F900F9065 -:1014C0000F900F90F80181918F01882309F401CECC -:1014D0000E944253F7CF809120018C7001F18091DE -:1014E0002C0190912D019F938F938AED96E39F930A -:1014F0008F938E010F5F1F4F1F930F930F94292B14 -:101500000F900F900F900F900F900F90F801819116 -:101510008F01882309F4DDCD0E944253F7CF80E08C -:1015200064960FB6F894DEBF0FBECDBFDF91CF91AA -:101530001F910F910895082E000C990BFC01E654A1 -:10154000F74EE491F0E0EE0FFF1FE459F74EA5913E -:10155000B4912C91FC01E050F74EE491E22381E03C -:1015600009F480E00895811103C082EB96E302C084 -:101570008EEB96E30F94B3174091720C5091730C5D -:101580006091740C7091750C87ED96E30F94671859 -:101590004091760C5091770C6091780C7091790C99 -:1015A00084ED96E30F94671860917A0C70917B0C30 -:1015B000072E000C880B990B0F94982BAB01BC01E4 -:1015C00081ED96E30F94671860917C0C70917D0C0F -:1015D000072E000C880B990B0F94982BAB01BC01C4 -:1015E0008EEC96E30F94671840917E0C50917F0C1F -:1015F0006091800C7091810C8BEC96E30F946718CE -:101600004091820C5091830C6091840C7091850CF8 -:1016100088EC96E30F9467184091860C5091870CE4 -:101620006091880C7091890C85EC96E30F94671893 -:101630008AE00C944253CF92DF92EF92FF9283E5BF -:101640000E94D966882339F10E9459666B017C019A -:1016500020E030E0A9010F94912B87FD11C020E01C -:1016600030E04AEF53E4C701B6010F94E73418168F -:1016700054F4C12CD12C9AEFE92E93E4F92E03C037 -:10168000C12CD12C7601C092720CD092730CE092D6 -:10169000740CF092750C85E40E94D966882339F1A8 -:1016A0000E9459666B017C0120E030E0A9010F9493 -:1016B000912B87FD11C020E030E04AEF53E4C701D1 -:1016C000B6010F94E734181654F4C12CD12C8AEFCC -:1016D000E82E83E4F82E03C0C12CD12C7601C092F1 -:1016E000760CD092770CE092780CF092790C80E531 -:1016F0000E94D9668823A1F00E9459660F94F333A3 -:101700006A3071053CF0693185E178072CF068E1B9 -:1017100075E102C06AE070E070937B0C60937A0C14 -:1017200082E50E94D9668823A1F00E9459660F9431 -:10173000F3336A3071053CF0693185E178072CF0AC -:1017400068E175E102C06AE070E070937D0C60931F -:101750007C0C88E50E94D966882351F00E94596666 -:1017600060937E0C70937F0C8093800C9093810C1F -:1017700089E50E94D966882351F00E9459666093DA -:10178000820C7093830C8093840C9093850C8AE573 -:101790000E94D966882351F00E9459666093860C96 -:1017A0007093870C8093880C9093890C80916019BA -:1017B00084FD12C08091611987FD0EC0809162196D -:1017C000867851F480916319837031F4FF90EF9023 -:1017D000DF90CF900D94B30AFF90EF90DF90CF9001 -:1017E00008958091611987FD05C0809162198E70FE -:1017F00009F445C083E50E94D966882391F00E94D0 -:1018000059666093560C7093570C8093580C9093C4 -:10181000590C60935E0C70935F0C8093600C9093F6 -:10182000610C80E50E94D966882351F00E945966B8 -:101830006093560C7093570C8093580C9093590CEE -:1018400082E50E94D966882351F00E945966609310 -:101850005A0C70935B0C80935C0C90935D0C84E548 -:101860000E94D966882391F10E94596660935E0CAC -:1018700070935F0C8093600C9093610C089540917D -:10188000560C5091570C6091580C7091590C83E88C -:1018900096E30F94671840915A0C50915B0C60913D -:1018A0005C0C70915D0C80E896E30F946718409192 -:1018B0005E0C50915F0C6091600C7091610C8DE733 -:1018C00096E30F9467188AE00C9442530895809130 -:1018D000191E90911A1E009731F04AE050E060E026 -:1018E00070E00D94B52960E070E0CB0108958F920F -:1018F0009F92AF92BF92CF92DF92EF92FF92809130 -:10190000601981FD09C08091611981FD05C0809138 -:1019100062198C7009F48AC082E40E949066882360 -:1019200051F00F94670C6093320C7093330C8093DA -:10193000340C9093350C83E50E949066882351F017 -:101940000E9459666093620C7093630C8093640CE0 -:101950009093650C84E50E949066882351F00E9464 -:1019600059666093660C7093670C8093680C909333 -:10197000690C8AE40E949066882309F457C00E948B -:1019800059666B017C012AE037ED43E25CE30F947A -:10199000E73487FD3DC02AE939E949E95EE3C7013B -:1019A000B6010F94912B18169CF1C092C10BD092E6 -:1019B000C20BE092C30BF092C40B60912E0C70919D -:1019C0002F0C8091300C9091310C0F94962B4B0181 -:1019D0005C0123EF34E045E35FE3C701B6010F94F8 -:1019E000F72B9B01AC01C501B4010F94F72B29E73C -:1019F00032E84AE550E40F94F72B0F9435356093A5 -:101A0000D90B7093DA0B8093DB0B9093DC0B0EC039 -:101A10000F94981883E996E3FF90EF90DF90CF90B2 -:101A2000BF90AF909F908F900D94B317FF90EF9061 -:101A3000DF90CF90BF90AF909F908F9008958F923E -:101A40009F92AF92BF92CF92DF92EF92FF920F934D -:101A50001F93CF93DF93F0E2FF2EE12CAE2DB0E089 -:101A6000BD016F0D711D75956795611103C0E6E4A9 -:101A7000F9E306C06E1511F0F6120BC0E2ECF9E3C3 -:101A800065917491072E000C880B990B0F94982B7D -:101A900062C09B0121503109220F331F220F331FD7 -:101AA000F901EC5BF64C05911491AB01440F551F05 -:101AB000440F551FFA01EC5BF64CC591D491801789 -:101AC000910714F4F62ECCCFC817D90714F4E62EDC -:101AD000C5CFF901EA5BF64CE590F490FA01EA5BB8 -:101AE000F64CC590D490BC01601B710B072E000C06 -:101AF000880B990B0F94982B4B015C01B6016E1962 -:101B00007F09072E000C880B990B0F94982B9B01D3 -:101B1000AC01C501B4010F94F72B4B015C01C01B54 -:101B2000D10BBE01DD0F880B990B0F94982B9B01F5 -:101B3000AC01C501B4010F9481334B015C01B701C5 -:101B4000FF0C880B990B0F94982B9B01AC01C501DE -:101B5000B4010F948732DF91CF911F910F91FF90C5 -:101B6000EF90DF90CF90BF90AF909F908F900895AF -:101B70008F929F92AF92BF92CF92DF92EF92FF929D -:101B80000F931F93CF93DF93C62F662381F00F949B -:101B900098186C2F70E080E090E00E94B65386E2C7 -:101BA00099E30F94B31780E090E00F94AA05F0E456 -:101BB000FF2EE12CAE2DB0E0BD016F0D711D7595AE -:101BC0006795611103C0ECE7F7E306C06E1511F0ED -:101BD000F6120BC0E8E7F8E365917491072E000C4C -:101BE000880B990B0F94982B62C09B0121503109EF -:101BF000220F331F220F331FF901E658F84C0591CD -:101C00001491AB01440F551F440F551FFA01E658BC -:101C1000F84CC591D4918017910714F4F62ECCCFCF -:101C2000C817D90714F4E62EC5CFF901E458F84CCB -:101C3000E590F490FA01E458F84CC590D490BC01BA -:101C4000601B710B072E000C880B990B0F94982BBF -:101C50004B015C01B6016E197F09072E000C880B41 -:101C6000990B0F94982B9B01AC01C501B4010F9403 -:101C7000F72B4B015C01C01BD10BBE01DD0F880BA4 -:101C8000990B0F94982B9B01AC01C501B4010F94E3 -:101C900081334B015C01B701FF0C880B990B0F944A -:101CA000982B9B01AC01C501B4010F948732DF91E1 -:101CB000CF911F910F91FF90EF90DF90CF90BF9049 -:101CC000AF909F908F9008958F929F92AF92BF9206 -:101CD000CF92DF92EF92FF920F931F93CF93DF93F8 -:101CE000EC018A01C880D980EA80FB80072E000CB5 -:101CF000880B990B0F94982B4B015C019B01AC0155 -:101D0000C701B6010F94912B87FD10C0B801110FC8 -:101D1000880B990B0F94982B4B015C019B01AC0134 -:101D2000C701B6010F94E734181624F4888299820B -:101D3000AA82BB82DF91CF911F910F91FF90EF900C -:101D4000DF90CF90BF90AF909F908F900895EF92CB -:101D5000FF920F931F93CF93C82F7B018A0180912D -:101D600030028823D1F00F949818C7010F94B3174D -:101D70008EE798E30F94B317C7FD08C06C2FCC0F04 -:101D8000770B880B990B0E94B65304C08AE798E33F -:101D90000F94B3178AE00E9442530E94209D8091C5 -:101DA0003B1E811108C081E080933B1E10923002DF -:101DB000C8010F94AA05CF911F910F91FF90EF904A -:101DC00008952F923F924F925F926F927F928F92DF -:101DD0009F92AF92BF92CF92DF92EF92FF920F93BA -:101DE0001F93CF93DF93CDB7DEB72F970FB6F8943D -:101DF000DEBF0FBECDBF80913A1E81111DC0809104 -:101E00001E0C81111DC02F960FB6F894DEBF0FBEB9 -:101E1000CDBFDF91CF911F910F91FF90EF90DF9099 -:101E2000CF90BF90AF909F908F907F906F905F907A -:101E30004F903F902F90089580E090E00F94AA0576 -:101E40000E948F9D0F94A41B4B015C0160911202B4 -:101E500070911302072E000C880B990B0F94982B8E -:101E60009B01AC01609168097091690980916A09D0 -:101E700090916B090F94E73418163CF443E059E352 -:101E800066E179E380E00F94A70E80911C0C882313 -:101E900009F404C260916C0970916D09072E000C61 -:101EA000880B990B0F94982B69837A838B839C837F -:101EB0003AE0E32EF12C0CE310E020E0AE014F5F9E -:101EC0005F4F68E679E08AE69EE10E94129BC0902F -:101ED0006809D0906909E0906A09F0906B096091F7 -:101EE000100270911102072E000C880B990B0F94B1 -:101EF000982B9B01AC01C701B6010F94E73418166B -:101F00000CF4A0C060E060936E098091090C909180 -:101F10000A0CA0910B0CB0910C0C0097A105B10517 -:101F200029F1A5019401281B390B4A0B5B0B57FDC6 -:101F30001DC06091070C7091080C80E090E00F9438 -:101F4000962B9B01AC0160916809709169098091A1 -:101F50006A0990916B090F94912B87FF08C342EE99 -:101F600058E364EF78E380E00F94A70E20E030E0C0 -:101F700046E153E460917F09709180098091810965 -:101F8000909182090F94E73418160CF4D7C1809110 -:101F90000F0C9091100CA091110CB091120C0097A5 -:101FA000A105B10529F1A5019401281B390B4A0BA4 -:101FB0005B0B57FD1DC060910D0C70910E0C80E005 -:101FC00090E00F94962B9B01AC0160917F0970917A -:101FD000800980918109909182090F94912B87FF4C -:101FE000B5C14CE958E36FEA78E38FEF0F94A70E81 -:101FF0008091170C882309F48AC16091830970913C -:102000008409072E000C880B990B0F94982B698379 -:102010007A838B839C8392E0E92EF12C02E310E01B -:102020002FEFAE014F5F5F4F6FE779E085E69EE1EE -:102030000E94129B8091170C882309F448C11092CA -:102040008509E1CE6091120270911302072E000CF7 -:10205000880B990B0F94982B9B01AC01C701B6011B -:102060000F94912B87FF4ECF60916C0970916D0991 -:102070006115710509F476C2072E000C880B990BC7 -:102080000F94982BA70196010F9486322B013C01E7 -:1020900020E030E040E251EC0F94912B87FD62C2CA -:1020A00080911C0C81115EC220E030E040E251E4DE -:1020B000C301B2010F94E73418160CF465C2809185 -:1020C000641E811166C280915C1E90915D1EA0917C -:1020D0005E1EB0915F1E8D839E83AF83B887209173 -:1020E000601E3091611E4091621E5091631E2987CF -:1020F0003A874B875C87A70196016091501E7091CB -:10210000511E8091521E9091531E0F948632209141 -:102110007709309178094091790950917A090F94A3 -:10212000F72B2D813E814F8158850F94863220ED0B -:102130003CEC4CE45DE30F94F72B2D813E814F8105 -:1021400058850F9487326B017C0160935C1E7093FD -:102150005D1E80935E1E90935F1E80917309909127 -:102160007409A0917509B09176098D839E83AF8320 -:10217000B88729853A854B855C85C301B2010F94E8 -:102180008732162F072F382E292E20E030E0A901A4 -:102190000F94912B87FD12C22D813E814F8158856E -:1021A00060E070E08FE793E40F94813369877D8767 -:1021B0008E879F87212F302F432D522D0F94912BE7 -:1021C00087FF04C019850D853E842F84812F902FB1 -:1021D000A32DB22D8093601E9093611EA093621E6A -:1021E000B093631E20916F0930917009409171097D -:1021F00050917209C301B2010F94F72B2B013C01DE -:102200006093541E7093551E8093561E9093571ED4 -:10221000212F302F432D522D6D817E818F81988506 -:102220000F94F72B9B01AC016093581E7093591EBD -:1022300080935A1E90935B1EC301B2010F948732A4 -:10224000A70196010F94873220E030E0A9010F9496 -:10225000873269837A838B839C834FEF50E060E001 -:1022600070E0CE0101960F94640EC0906809D09082 -:102270006909E0906A09F0906B0969817A818B8124 -:102280009C810F94F33375956795C092501ED09240 -:10229000511EE092521EF092531E35CE8091180CC2 -:1022A0009091190CA0911A0CB0911B0C0097A105EC -:1022B000B10509F4EFCDA5019401281B390B4A0B98 -:1022C0005B0B57FDE7CD81E080931C0CE3CDC09004 -:1022D0007F09D0908009E0908109F090820920E088 -:1022E00030E040EA50E4C701B6010F94E73487FDBF -:1022F0000AC020E030E046E153E4C701B6010F9484 -:10230000912B181634F560E0609385097CCD80919F -:10231000130C9091140CA091150CB091160C009711 -:10232000A105B10509F469CE881A990AAA0ABB0A5F -:10233000B7FC63CE81E08093170C5FCE4EEB58E381 -:1023400062ED78E38FEF0F94A70E21CE0E94D19C0F -:102350004FCE60918309709184096115710509F46C -:102360000AC1072E000C880B990B0F94982BA7011C -:1023700096010F9486324B015C0120E030E040E290 -:1023800051EC0F94912B87FDF6C020E030E040E245 -:1023900051E4C501B4010F94E73418160CF4EFC0F2 -:1023A00040908A0950908B0960908C0970908D093B -:1023B00080916F028111F8C020914C1E30914D1E0A -:1023C00040914E1E50914F1E8091481E9091491E83 -:1023D000A0914A1EB0914B1E8D839E83AF83B88718 -:1023E000C501B4010F948732162F072F382E292EDE -:1023F00020E030E0A9010F94912B87FDE4C0A301F8 -:10240000920160E070E08FE793E40F948133698775 -:102410007D878E879F87212F302F432D522D0F943C -:10242000912B87FF04C019850D853E842F84812F51 -:10243000902FA32DB22D80934C1E90934D1EA093F0 -:102440004E1EB0934F1E209186093091870940910E -:10245000880950918909C501B4010F94F72B4B01EC -:102460005C016093401E7093411E8093421E9093C6 -:10247000431E212F302F432D522DC301B2010F9443 -:10248000F72B2B013C016093441E7093451E8093F3 -:10249000461E9093471EA701960160913C1E7091C5 -:1024A0003D1E80913E1E90913F1E0F9486322091DA -:1024B0008E0930918F0940919009509191090F94A4 -:1024C000F72B2D813E814F8158850F94863220ED68 -:1024D0003CEC4CE45DE30F94F72B2D813E814F8162 -:1024E00058850F9487326D837E838F83988760939E -:1024F000481E7093491E80934A1E90934B1EC092B3 -:102500003C1ED0923D1EE0923E1EF0923F1EA30163 -:102510009201C501B4010F9487322D813E814F8114 -:1025200058850F94873220E030E0A9010F9487325C -:102530006B017C0120E030E0A9010F94912B87FD15 -:10254000E2CE20E030E04FE753E4C701B6010F943C -:10255000E7341816BCF0C701B6010F94F333759534 -:102560006795D2CE81E08093641E60E08ECE80E0DD -:102570000E94409DFBCC81E080936F02C4CE81E03D -:1025800080936F026FE7C0CE81E08093641E6FE797 -:102590007CCE1092641E19861A861B861C861D82AC -:1025A0001E821F821886A7CD10926F021D821E8286 -:1025B0001F82188620E030E0A90112CF10E000E071 -:1025C000312C212C03CE10E000E0312C212C2FCF18 -:1025D0006F3F710519F010F06FEF70E09091180DDA -:1025E000981741F0823040F4E82FF0E0E259F34FC1 -:1025F000608308956093100D089590916F00292FC6 -:10260000227091FF05C090916F009D7F90936F00A5 -:1026100034E0839FC0011124FC01E65DF14E40814E -:10262000518162817381FC01E25EF14E40835183EE -:102630006283738381E080931D1E222329F08091A1 -:102640006F00826080936F00089590916F00292F32 -:10265000227091FF05C090916F009D7F90936F0055 -:1026600094E0899FF0011124E65DF14E6081718153 -:1026700082819381222329F020916F002260209390 -:102680006F000895BC0120911B1E30911C1E4091CB -:102690001B1E50911C1E2417350711F09A01F7CF0D -:1026A00081E02617370709F080E008954F925F9286 -:1026B0006F927F928F929F92AF92BF92CF92DF9252 -:1026C000EF92FF920F931F93CF93DF93EC016091F2 -:1026D0002F1A7091301A072E000C880B990B0F944B -:1026E000982B9B01AC01688179818A819B810F9431 -:1026F00086326B017C016091311A7091321A072E7B -:10270000000C880B990B0F94982B9B01AC016C81EA -:102710007D818E819F810F9486324B015C012091D7 -:102720007602309177024091780250917902C70188 -:10273000B6010F94912B882309F467C0C0927602EA -:10274000D0927702E0927802F09279022091931E63 -:102750003091941E4091951E5091961EC701B6016E -:102760000F94F72B2B013C010F9429346B017C0152 -:1027700020E030E0A9010F94912B87FD11C020E0EB -:1027800030E040E850E4C701B6010F94E734181672 -:1027900054F4C12CD12CC0E8EC2EC0E4FC2E03C0B4 -:1027A000C12CD12C7601A7019601C301B2010F946F -:1027B00086322B013C0120E030E0A9010F94912BDF -:1027C00087FD09C040928F1E5092901E6092911E0C -:1027D0007092921E08C010928F1E1092901E10923E -:1027E000911E1092921EC701B6010F94F3336093AD -:1027F0008E1E062E000C770B6F5F7F4F64307105C5 -:1028000014F064E070E060938D1E209172023091AC -:1028100073024091740250917502C501B4010F9486 -:10282000912BD091710210918E1E811103C0D11392 -:1028300068C028C18092720290927302A0927402C2 -:10284000B09275022091971E3091981E4091991E6A -:1028500050919A1EC501B4010F94F72B4B015C01F6 -:102860000F9429346B017C0120E030E0A9010F9422 -:10287000912B87FD11C020E030E040E850E4C70113 -:10288000B6010F94E734181654F4C12CD12CB0E8DB -:10289000EB2EB0E4FB2E03C0C12CD12C7601A70196 -:1028A0009601C501B4010F9486324B015C0120E012 -:1028B00030E0A9010F94912B87FD09C08092891EF9 -:1028C00090928A1EA0928B1EB0928C1E08C010920D -:1028D000891E10928A1E10928B1E10928C1EC701A8 -:1028E000B6010F94F3336093881E062E000C770B0D -:1028F0006F5F7F4F6430710514F064E070E06093A7 -:10290000871EC091881ED11305C0809170028C175C -:1029100009F46EC010937102C09370020C2E000C6B -:10292000DD0B85E0F82E2F2D1203C0011124FC01D0 -:10293000EC0FFD1FEE0FFF1FEE0FFF1FE653F64ECD -:1029400020813181428153812093831E3093841EE4 -:102950004093851E5093861E0091871E002E000C0A -:10296000110BFC01E00FF11FEE0FFF1FEE0FFF1F19 -:10297000E653F64E60817181828193810F94863295 -:1029800060937F1E7093801E8093811E9093821EA1 -:1029900020918D1E3F2D2303F0011124CE0FDF1F48 -:1029A000CC0FDD1FCC0FDD1FC653D64E28813981D9 -:1029B0004A815B8120937B1E30937C1E40937D1E59 -:1029C00050937E1EE00FF11FEE0FFF1FEE0FFF1F53 -:1029D000E653F64E60817181828193810F94863235 -:1029E0006093771E7093781E8093791E90937A1E61 -:1029F0008090891E90908A1EA0908B1EB0908C1E95 -:102A000020917F1E3091801E4091811E5091821E28 -:102A1000C501B4010F94F72B2091831E3091841EC1 -:102A20004091851E5091861E0F9487326B017C0168 -:102A30006093731E7093741E8093751E9093761E20 -:102A40002091771E3091781E4091791E50917A1E08 -:102A5000C501B4010F94F72B20917B1E30917C1E91 -:102A600040917D1E50917E1E0F948732A7019601E2 -:102A70000F94863260936F1E7093701E8093711E48 -:102A80009093721E20916F1E3091701E4091711EA6 -:102A90005091721E60918F1E7091901E8091911EB8 -:102AA0009091921E0F94F72B2091731E3091741EFB -:102AB0004091751E5091761E0F948732DF91CF9111 -:102AC0001F910F91FF90EF90DF90CF90BF90AF904C -:102AD0009F908F907F906F905F904F900895CF92CE -:102AE000DF92EF92FF926091B6197091B719072E9D -:102AF000000C880B990B0F94982B6B017C012DEB2C -:102B000037E346E855EB0F94E73487FD0AC02DEB19 -:102B100037E346E855E3C701B6010F94912B181629 -:102B20004CF4A701960160E070E080E89FE30F9409 -:102B3000813303C060E070E0CB016093931E70931B -:102B4000941E8093951E9093961E6091B819709173 -:102B5000B919072E000C880B990B0F94982B6B0159 -:102B60007C012DEB37E346E855EB0F94E73487FD06 -:102B70000AC02DEB37E346E855E3C701B6010F94D1 -:102B8000912B18164CF4A701960160E070E080E8E4 -:102B90009FE30F94813303C060E070E0CB0160934A -:102BA000971E7093981E8093991E90939A1EFF9083 -:102BB000EF90DF90CF9008952F923F924F925F92C7 -:102BC0006F927F928F929F92AF92BF92CF92DF923D -:102BD000EF92FF920F931F93CF93DF93CDB7DEB7A2 -:102BE00060970FB6F894DEBF0FBECDBF8A876B87A4 -:102BF000942EA22E282F30E03D872C8770E0798715 -:102C0000688715E0129FC001139F900D11249F87C4 -:102C10008E87FB01E80FF91FEE0FFF1FEE0FFF1F5E -:102C2000E653F64E60817181828193819B01AC01F4 -:102C30000F947935882309F44EC14A85490D2B85B7 -:102C40002A0D149FB0011124E885F985E60FF71FBE -:102C5000EE0FFF1FEE0FFF1FE653F64ED080E18010 -:102C6000F2800381490D149FA0011124E885F985A4 -:102C7000E40FF51FEE0FFF1FEE0FFF1FE653F64E9A -:102C80001081918082807380822F90E0EE85FF8595 -:102C9000E80FF91FEE0FFF1FEE0FFF1FE653F64E72 -:102CA000608051803280338139832A0D30E0EE8597 -:102CB000FF85E20FF31FEE0FFF1FEE0FFF1FE6531E -:102CC000F64EFF87EE87F081FA83EE85FF85F1816E -:102CD000FB83EE85FF85F281FC83EE85FF85F38122 -:102CE000FD83FB01E80FF91FEE0FFF1FEE0FFF1F23 -:102CF000E653F64E60816E83B18072817F8383815B -:102D00008E87FA01E20FF31FEE0FFF1FEE0FFF1F7A -:102D1000E653F64E4080A1809281988B2380212F2C -:102D2000392D482D572D612F792D882D972D0F94F2 -:102D30007935882321F010E0912C812C712C2D2DD8 -:102D40003E2D4F2D502F6D2D7E2D8F2D902F0F94BA -:102D50007935882321F0D12EE92CF82C072D2A81F2 -:102D60003B814C815D816A817B818C819D810F9447 -:102D70007935882321F01A821B821C821D82262D20 -:102D8000352D432D5981662D752D832D99810F94F5 -:102D90007935882329F06A805B803C80ED81E98366 -:102DA000242D3A2D4889522D642D7A2D8889922D13 -:102DB0000F947935882321F0412CA12C188A212CDD -:102DC0002E813B2D4F815E856E817B2D8F819E856F -:102DD0000F947935882329F04E82BA2CF889FF8325 -:102DE0002E862D2D3E2D4F2D502F6D2D7E2D8F2D6E -:102DF000902F0F948732212F392D482D572D0F9466 -:102E000086326B017C01262D352D432D5981662D8F -:102E1000752D832D99810F9487322A813B814C81B6 -:102E20005D810F9486329B01AC01C701B6010F94FE -:102E300087323B014C012E813B2D4F815E856E8197 -:102E40007B2D8F819E850F948732242D3A2D4889C2 -:102E5000522D0F9486329B01AC01C401B3010F9433 -:102E6000873220E030E040E450E40F9481339B014E -:102E7000AC0185E06C857D85869FF001879FF00D14 -:102E8000112488859985E80FF91FEE0FFF1FEE0FBB -:102E9000FF1FE653F64E20833183428353836B85B5 -:102EA0008A8560960FB6F894DEBF0FBECDBFDF9166 -:102EB000CF911F910F91FF90EF90DF90CF90BF9037 -:102EC000AF909F908F907F906F905F904F903F90CA -:102ED0002F900C94E1C760960FB6F894DEBF0FBE3A -:102EE000CDBFDF91CF911F910F91FF90EF90DF90B9 -:102EF000CF90BF90AF909F908F907F906F905F909A -:102F00004F903F902F900895CF92DF92EF92FF92D3 -:102F10006B017C0183E3C816D104E104F10470F075 -:102F200082E3C81AD108E108F10862E370E080E0AA -:102F300090E00F946A1B0F94E10EECCFC701B6012D -:102F40000F946A1BFF90EF90DF90CF900D94E10EED -:102F5000CF93C82FCC2329F080E20E944253C15066 -:102F6000F9CFCF910895CF93DF93FC018491EF01C6 -:102F70002196882321F00E944253FE01F7CFDF9172 -:102F8000CF9108958F929F92AF92BF92CF92DF928E -:102F9000EF92FF920F931F93CF93DF9382E59AE313 -:102FA0000F94B317C12CD12C760186E00F94A8178B -:102FB000C701B6010E94B6538FEFC81AD80AE80AB3 -:102FC000F80A95E0C916D104E104F10471F78AE02A -:102FD0000E9442530AEC19E1C12CD12C760180E207 -:102FE0000E944253C701B6010E94B653C0E0D0E030 -:102FF00080E20E944253F801EC0FFD1F8080918017 -:10300000A280B380A5019401C501B4010F94793564 -:10301000811112C020E030E0A901C501B4010F9474 -:10302000E73487FD03C08BE20E94425343E0C501B1 -:10303000B4010E94D25309C0B12C80E20E944253D5 -:10304000B3948DE396E0B912F9CF6496C436D105F6 -:1030500079F68AE00E9442538FEFC81AD80AE80A2C -:10306000F80A0C5F1F4F95E0C916D104E104F10482 -:1030700009F0B5CF8AE0DF91CF911F910F91FF90BA -:10308000EF90DF90CF90BF90AF909F908F900C9477 -:103090004253CF92DF92EF92FF926A017B010F942D -:1030A000B3174AE0C701B601FF90EF90DF90CF90D1 -:1030B0000C944953CF93DF93EB010F94B317BE01E8 -:1030C00080E090E04AE0DF91CF910C944953CF9299 -:1030D000DF92EF92FF926A017B010F94B31742E0F7 -:1030E000C701B601FF90EF90DF90CF900C94D253C0 -:1030F000CF93DF93EB010F94B317BE01DD0F880B65 -:10310000990BDF91CF910C94B6530F931F93CF93EC -:10311000DF938B010F94B317E8018991882319F08D -:103120000E944253FACFDF91CF911F910F910895E2 -:103130008BE49AE30D94B31785E49AE30D94B317E7 -:103140000E94209D0F9473198091140D882319F00B -:1031500080E00E9451A280913002882399F00F9460 -:1031600098188EEC99E30F94B31760E084EC99E320 -:103170000E94F1EE6EE571E080E090E00F9484171C -:10318000109230020895CF93DF93C091AD1E82E577 -:1031900098E00E944D548091A81E873009F445C0E4 -:1031A00083E08093A71E81E080937A0280E190E023 -:1031B0009093551C8093541C85E08093481CD2E862 -:1031C000D0934B1C84E190E1A0E0B0E080934C1CD4 -:1031D00090934D1CA0934E1CB0934F1C0F9404056C -:1031E00061E070E080E090E00E94C6C781E09AE56F -:1031F0009093551C8093541C85E390E09093571C4A -:103200008093561C87E08093481CD0934B1C84E825 -:1032100090E0A0E0B0E080934C1C90934D1CA093F4 -:103220004E1CB0934F1C0F940405C13081F1C23085 -:1032300059F40E94A1ED60939F1E7093A01E80938D -:10324000A11E9093A21E02C00E94D5ED81E0809342 -:10325000AD1E0F94A41B60939B1E70939C1E8093C5 -:103260009D1E90939E1EC230A1F080919609909170 -:103270009709019690939709809396091092AE1E34 -:103280001092AF1E1092B01E1092B11E02C080E0CC -:1032900001C081E0DF91CF910895CF93DF9300D0FB -:1032A0001F92CDB7DEB7809195098823A9F083E3FB -:1032B00090E09C838B831A8219829E012F5F3F4F7F -:1032C00040E150E066E979E0CE0103960E94455165 -:1032D00086EC97E00E944D540F900F900F900F9046 -:1032E000DF91CF910895CF92DF92EF92FF920F93EB -:1032F0001F938091AD1E8150823010F080E0A7C0F6 -:1033000086E898E00E944D548091A81E833009F40D -:1033100041C08AE698E00E944D5486E798E00E94FA -:103320004D5440E060E070E0CB010E9497EF41E037 -:1033300060E070E0CB010E9497EF81E0809305028E -:103340001092A61E21E030E03093A51E2093A41E0B -:1033500080937A0281E09AE59093551C8093541CE7 -:103360008DE290E09093571C8093561C87E08093E9 -:10337000481C82E880934B1C84E890E0A0E0B0E019 -:1033800080934C1C90934D1CA0934E1CB0934F1CEB -:103390000F9404051092AD1E0F94A41B6093A91EF8 -:1033A0007093AA1E8093AB1E9093AC1E80919809D7 -:1033B0009091990901969093990980939809C090EA -:1033C000AE1ED090AF1EE090B01EF090B11E0E94D5 -:1033D000A1ED6093AE1E7093AF1E8093B01E9093CC -:1033E000B11E00919A0910919B0920919C0930917E -:1033F0009D090C191D092E093F09DC01CB01800F25 -:10340000911FA21FB31F80939A0990939B09A093C9 -:103410009C09B0939D090E94A1ED00919E09109115 -:103420009F092091A0093091A109061717072807C5 -:10343000390750F40E94A1ED60939E0970939F0993 -:103440008093A0099093A1090F944D1981E01F91D9 -:103450000F91FF90EF90DF90CF900895CF93DF937F -:1034600000D01F921F92CDB7DEB781E080939509FF -:10347000E6E9F9E080E1DF011D928A95E9F70F9412 -:103480004D1986E18D8382E390E09C838B831A82C1 -:1034900019829E012F5F3F4F41E050E0BE016B5FFC -:1034A0007F4FCE0103960E9445510F900F900F90D1 -:1034B0000F900F90DF91CF9108953FB7F8948091CE -:1034C000B71E9091B81EA091B91EB091BA1E26B534 -:1034D000A89B05C02F3F19F00196A11DB11D3FBF4C -:1034E000BA2FA92F982F8827820F911DA11DB11DDA -:1034F000BC01CD0142E0660F771F881F991F4A95D6 -:10350000D1F708951F93CF93DF93182FEB0161E05C -:103510000E9485A7209711F460E004C0CF3FD10539 -:1035200039F461E0812FDF91CF911F910C9456A760 -:10353000E12FF0E0EA5BF64EE4918E2F90E0FC0183 -:103540003197E231F10508F09DC08827EB51FF4F1C -:103550008F4F0D947E3284B5806884BDC7BD97C0FF -:1035600084B5806284BDC8BD92C0809180008068AF -:1035700080938000D0938900C093880088C0809198 -:103580008000806280938000D0938B00C0938A007B -:103590007EC080918000886080938000D0938D00F1 -:1035A000C0938C0074C08091B00080688093B0009C -:1035B000C093B3006CC08091B00080628093B00073 -:1035C000C093B40064C080919000806880939000A4 -:1035D000D0939900C09398005AC080919000806267 -:1035E00080939000D0939B00C0939A0050C080912C -:1035F0009000886080939000D0939D00C0939C00C1 -:1036000046C08091A00080688093A0008091A000B7 -:103610008F7B8093A000D093A900C093A80037C0EF -:103620008091A00080628093A000D093AB00C093F3 -:10363000AA002DC08091A00088608093A000D09344 -:10364000AD00C093AC0023C08091200180688093BE -:103650002001D0932901C093280119C08091200135 -:10366000806280932001D0932B01C0932A010FC068 -:1036700080912001886080932001D0932D01C09318 -:103680002C0105C0C038D1050CF04BCF45CFDF91E0 -:10369000CF911F910895863308F0865390917B0057 -:1036A000282F2870977F922B90937B0087708064DF -:1036B00080937C0080917A00806480937A0080916E -:1036C0007A0086FDFCCF809178002091790090E00F -:1036D000922B08958F929F92AF92BF92CF92DF92DA -:1036E000EF92FF926B017C010F945D1A4B015C011C -:1036F000C114D104E104F104F1F00F945D1ADC016E -:10370000CB0188199909AA09BB09883E9340A105F4 -:10371000B10570F321E0C21AD108E108F10888EE82 -:10372000880E83E0981EA11CB11CC114D104E104D1 -:10373000F10419F7DDCFFF90EF90DF90CF90BF90AD -:10374000AF909F908F9008952FB7F8946091B31E1B -:103750007091B41E8091B51E9091B61E2FBF089532 -:103760001F920F920FB60F9211242F933F938F93B6 -:103770009F93AF93BF938091B31E9091B41EA0917D -:10378000B51EB091B61E3091B21E23E0230F2D3727 -:1037900020F40196A11DB11D05C026E8230F029655 -:1037A000A11DB11D2093B21E8093B31E9093B41E31 -:1037B000A093B51EB093B61E8091B71E9091B81E0F -:1037C000A091B91EB091BA1E0196A11DB11D8093A2 -:1037D000B71E9093B81EA093B91EB093BA1EBF91A6 -:1037E000AF919F918F913F912F910F900FBE0F90AE -:1037F0001F901895CF93DF93CDB7DEB7A9970FB67B -:10380000F894DEBF0FBECDBF789484B5826084BDCE -:1038100084B5816084BD85B5826085BD85B58160D4 -:1038200085BD80916E00816080936E001092810052 -:10383000809181008260809381008091810081600D -:1038400080938100809180008160809380008091CE -:10385000B10084608093B1008091B000816080935A -:10386000B0008091910082608093910080919100DE -:10387000816080939100809190008160809390009E -:103880008091A10082608093A1008091A10081605D -:103890008093A1008091A00081608093A00080911E -:1038A00021018260809321018091210181608093B8 -:1038B00021018091200181608093200180917A0014 -:1038C000846080937A0080917A00826080937A008D -:1038D00080917A00816080937A0080917A0080687C -:1038E00080937A001092C100259A2D981092C00002 -:1038F0008091C00082608093C0001092C50087E074 -:103900008093C4008091C10080618093C100809148 -:10391000C10088608093C1008091C100806880935D -:10392000C1000F94A41B82E990E10F94B3170F9488 -:103930009C1814B710FF04C089E890E10F94B317E6 -:1039400011FF04C088E790E10F94B31712FF04C081 -:1039500086E690E10F94B31713FF04C085E590E16C -:103960000F94B31715FF04C084E490E10F94B317CC -:1039700014BE8DE390E10F94B31780E20E9442538E -:1039800084E390E10F94B3178AE00E9442530F94AE -:103990009C1884E290E10F94B31789E190E10F94B1 -:1039A000B3178EEF9FE00F94B3170F949C1887EE18 -:1039B0009FE00F94B3170F949C188091BB1E9091B9 -:1039C000BC1E9E012F5F3F4F7901B901009719F08E -:1039D000681B790B02C0615C7E4188ED9FE00F940B -:1039E000781860E475E081EC9FE00F9478188AE025 -:1039F0000E94425380910A018E7F80930A01809138 -:103A00000B018095817080930901E0914E1AF0912D -:103A10004F1A82E08083E0914A1AF0914B1A10828B -:103A2000E0914C1AF0914D1A80E180831092561A61 -:103A3000E091521AF091531A86E08083E091501A77 -:103A4000F091511A808180618083E091501AF09149 -:103A5000511A808188608083E091501AF091511A48 -:103A6000808180688083E091501AF091511A8081A2 -:103A70008F7D80838AE58093491C8093F91B85EABA -:103A800080934A1C8093FA1B8AE1E8E9FCE1DF019C -:103A90001D928A95E9F780E290E0A0E0B0E0809383 -:103AA000060290930702A0930802B0930902809146 -:103AB0009209882319F083E090E002C082E090E050 -:103AC0009093551C8093541C85E08093481C82E899 -:103AD00080934B1C8FE190E1A0E0B0E080934C1C00 -:103AE00090934D1CA0934E1CB0934F1C0F94040553 -:103AF00084E690E09093551C8093541C05E000935D -:103B0000481C12E810934B1C86E090E1A0E0B0E066 -:103B100080934C1C90934D1CA0934E1CB0934F1C53 -:103B20000F9404058BE090E09093551C8093541CF7 -:103B30000093481C10934B1C80E092E1A0E0B0E0A1 -:103B400080934C1C90934D1CA0934E1CB0934F1C23 -:103B50000F9404051092551C1092541C0093481C9D -:103B600010934B1C84E390E1A0E0B0E080934C1CE8 -:103B700090934D1CA0934E1CB0934F1C0F940405C2 -:103B80001092551C1092541C0093481C10934B1C0F -:103B90008AE390E1A0E0B0E080934C1C90934D1C30 -:103BA000A0934E1CB0934F1C0F94040560916809BC -:103BB0007091690980916A0990916B090F94F333B0 -:103BC0007093551C6093541C0093481C10934B1C1D -:103BD00086E390E1A0E0B0E080934C1C90934D1CF4 -:103BE000A0934E1CB0934F1C0F94040560917F0965 -:103BF0007091800980918109909182090F94F3332B -:103C00007093551C6093541C0093481C10934B1CDC -:103C10008CE390E1A0E0B0E080934C1C90934D1CAD -:103C2000A0934E1CB0934F1C0F94040582E090E0CB -:103C30009093551C8093541C0093481C10934B1C6C -:103C40008EE190E1A0E0B0E080934C1C90934D1C7D -:103C5000A0934E1CB0934F1C0F94040581E08093F9 -:103C6000050260E6862E60E1962EA12CB12C75E04F -:103C7000C72EE2E8DE2E1092551C1092541C05E06F -:103C8000C092481C12E8D0924B1C80924C1C90921F -:103C90004D1CA0924E1CB0924F1C0F940405BFEF18 -:103CA0008B1A9B0AAB0ABB0AE4E78E16E0E19E067C -:103CB000A104B10401F784E1D7011D928A95E9F7C7 -:103CC00081E08F9390E99F938F939BE39F938F93D2 -:103CD00084E38F9388E496E09F938F93FF92EF9213 -:103CE0000F94143640E650E160E070E085E596E020 -:103CF0000F94B3044AE650E160E070E08FE596E08F -:103D00000F94B30444E750E160E070E0C7010F9402 -:103D1000B3044EE750E160E070E084E095E00F947A -:103D2000B3041092551C1092541C0093481C10931D -:103D30004B1C8EE090E1A0E0B0E080934C1C90938F -:103D40004D1CA0934E1CB0934F1C0F940405109271 -:103D5000551C1092541C0093481C10934B1C8FE070 -:103D600090E1A0E0B0E080934C1C90934D1CA09398 -:103D70004E1CB0934F1C0F940405EDB7FEB73A9656 -:103D80000FB6F894FEBF0FBEEDBF5AE0852E50E28D -:103D9000952EA12CB12C15E002E8412C512C3201BA -:103DA0001092551C1092541C1093481C00934B1CED -:103DB000D301C201880D991DAA1DBB1D80934C1C07 -:103DC00090934D1CA0934E1CB0934F1C0F94040570 -:103DD000FFEF4F1A5F0A6F0A7F0A2AE0421651046A -:103DE00061047104E9F63AE0830E911CA11CB11C38 -:103DF00042ED841640E29406A104B10471F6812CD0 -:103E000040E2942EA12CB12C05E012E81092551C32 -:103E10001092541C0093481C10934B1C80924C1C15 -:103E200090924D1CA0924E1CB0924F1C0F94040512 -:103E30001092551C1092541C0093481C10934B1C5C -:103E4000D501C4018C529F4FAF4FBF4F80934C1C84 -:103E500090934D1CA0934E1CB0934F1C0F940405DF -:103E60005FEF851A950AA50AB50A8AE0881680E2EE -:103E70009806A104B10451F63EED832E30E2932E54 -:103E8000A12CB12C05E012E81092551C1092541C84 -:103E90000093481C10934B1C80924C1C90924D1C1C -:103EA000A0924E1CB0924F1C0F9404059FEF891AEC -:103EB000990AA90AB90AA6EE8A16A0E29A06A104EE -:103EC000B10411F78824839492E1992EA12CB12C8E -:103ED0002AE0C22ED12C05E012E8D092551CC092E7 -:103EE000541C0093481C10934B1C80924C1C9092C5 -:103EF0004D1CA0924E1CB0924F1C0F940405D09202 -:103F0000551CC092541C0093481C10934B1CD501A7 -:103F1000C4018096A11DB11D80934C1C90934D1C33 -:103F2000A0934E1CB0934F1C0F940405BFEF8B1A47 -:103F30009B0AAB0ABB0AE5E18E16E2E19E06A104EC -:103F4000B10459F683E796E00E944D540E9475EF44 -:103F50000E94E4501AEAC12E19E0D12E09E11DE0B9 -:103F600085E2A82E8DE0B82ED6012D913D914D9180 -:103F70005D916D01F80160817181828193810F945F -:103F80008732D8016D937D938D939D938D01AA16F1 -:103F9000BB0651F70E941AE0249A2C9880910101E7 -:103FA0008062809301018091020180728093000100 -:103FB0008091010180648093010180910101806101 -:103FC0008093010187ED80937A0010927E00109219 -:103FD0007D0080917D00806280937D0080917D00D6 -:103FE000806480937D0080E888BD80916E0084604D -:103FF00080936E006AEF70E080E090E00F946A1B9F -:1040000085E090E0909311028093100200910C02E1 -:1040100010910D0260E0C8010F94B80D20E030E06F -:1040200040EA50E40F94912B87FF07C0005111091B -:1040300010930D0200930C02E9CF8BE391E0909373 -:1040400013028093120200910E0210910F0260E0A1 -:10405000C8010F94B80D20E030E84DE953E40F9407 -:10406000E73418163CF4005F1F4F10930F020093C3 -:104070000E02E9CF00910A0210910B02C8010F94C1 -:104080001F0D20E030E040EA50E40F94912B87FFB1 -:1040900007C00051110910930B0200930A02EACFE6 -:1040A0000091930910919409C8010F941F0D20E00D -:1040B00030E046E153E40F94E73418163CF4005F17 -:1040C0001F4F1093940900939309EACF0E94D5EDF6 -:1040D00019A682E390E09AA389A31A8219821E018D -:1040E000B1E22B0E311C01E0970141E050E0BE012E -:1040F000675D7F4FC1010E94085189A5863119F083 -:104100000F942E1A0FC083E390E09AA389A31A821A -:10411000198201E0970140E150E066E979E0C101D0 -:104120000E94085181E0809395096D98759A80915D -:1041300004018D7F80930401809105018095827038 -:104140008093030153985B9A1092A7091092A609D5 -:104150000E948AE1819A879A80910A018260809305 -:104160000A010E9A3B9A579A5F9A829A8A9A80918C -:10417000070181608093070180910801809581701B -:10418000809306010A9A129A3F9A479A809A8898D1 -:104190005F9A80913C1A8E7F80933C1A869A8E9803 -:1041A0008A9A80913C1A8D7F80933C1A80910A01F3 -:1041B000886080930A0180910B01887080930901C7 -:1041C00080910801809581708093060180913C1A4E -:1041D0008B7F80933C1A0C9A1498129A399A4198C2 -:1041E000479A809180008C7F80938000809181002D -:1041F000877E886080938100809180008F73809398 -:10420000800080918100887F82608093810080E0BF -:1042100090E490938900809388001092850010921A -:10422000840080916F00826080936F00789486E0B4 -:104230008093A8090E9436A8E091BC1BE43208F0E4 -:1042400042C0F0E0CF01880F991FE80FF91FE15B32 -:10425000F44E808180788B60808361E08BE00E94E7 -:1042600085A71092BD1B1092BE1B8091BC1B6CE0F9 -:104270000F944A3290E0ECE08E9FB001112440E0B0 -:1042800050E09B01240F351FF901EE0FFF1F2E0F89 -:104290003F1FF901E15BF44E208127FD07C04F5F0E -:1042A0005F4F4C30510569F70E949951E091BC1B5A -:1042B000F0E0CF01880F991FE80FF91FE15BF44E82 -:1042C0008081806880838CEB9BE10E94FA506AE5D4 -:1042D00070E08CEB9BE10E94CA511092A9090E94E8 -:1042E0008AE181E00E943D6C98E288E10FB6F89483 -:1042F000A895809360000FBE909360001092B71C49 -:104300000E94995D9E012F5F3F4F590180E00E94FE -:104310006E548091B71C87FD41C08091D01D82FDF5 -:104320003DC083FD03C00E943B5E02C00E94E4507A -:104330008091D01D83FF2FC08091B71C082E000CE8 -:10434000990BC0969F938F9349E950E15F934F93E8 -:104350003F922F920F94292B84E39BE10E94D88CEB -:104360000F900F900F900F900F900F908091371B30 -:10437000823088F080913C1B90913D1BA0913E1BA8 -:10438000B0913F1B8F719927AA27BB27892B8A2BB6 -:104390008B2B09F467C1FFEFF093B71C8091D01D00 -:1043A00085FF1FC00E94CA5D10923A0B1092B60999 -:1043B0001092390B0E9419F30E942FF18EEF0E9488 -:1043C000ACDF0E941AE00F9473190E94209D0E9496 -:1043D000F050109214022BEE30E13093B809209384 -:1043E000B7098DB69EB66091B7097091B80961158D -:1043F000710581F0E12CF12CFB01EE0DFF1D749095 -:1044000087010F5F1F4F772039F03AE0731621F0D4 -:104410007801F2CF80E02CC0EDB7FEB7E01BF10BC6 -:104420000FB6F894FEBF0FBEEDBF2DB73EB72F5F9E -:104430003F4F6901A701C9010F94CB2AF601EE0D88 -:10444000FF1D1082772009F445C18091B709909132 -:10445000B809080F191F1093B8090093B709EF287E -:1044600031F0C6010E9461D280E00E94643981E08F -:104470000FB6F8949EBE0FBE8DBE8111C3C0809151 -:104480003A0B882309F4BEC08091D01D80FF9EC0E6 -:104490000091390B40E6409F800111240754164FCC -:1044A0006CEC70E1C8010F940F2B009739F0DC0120 -:1044B00013968C9180538A3008F08BC0F8010190DC -:1044C0000020E9F731977F01E01AF10A1092DB1A18 -:1044D0006EE470E0C8010F94DA356C01892B09F4A1 -:1044E00006C160E270E0C6010F94DA358C010F5FFF -:1044F0001F4F6AE270E0C6010F94DA35FC01319774 -:10450000BDE0B1832AE022831382F80101900020EC -:10451000E9F731977F01E01AF10A8091DE1A8130C4 -:1045200009F0E1C08091DC1A81FFDDC082FF16C076 -:104530004091EC1A5091ED1A6091EE1A7091EF1AB9 -:104540008091E31A9091E41AA091E51AB091E61ACD -:1045500084179507A607B70709F0BFC04091E31A73 -:104560005091E41A6091E51A7091E61AE114F10491 -:1045700009F0C4C08091EC1A9091ED1AA091EE1A46 -:10458000B091EF1A84179507A607B70768F4409310 -:10459000EC1A5093ED1A6093EE1A7093EF1A809113 -:1045A000DC1A80688093DC1A8091DC1A83FDB6C126 -:1045B0008091DB1A882331F00F94981882EA90E1F9 -:1045C0000F94B3178091D01D81FF09C00E9492D92A -:1045D00008C00E941DA589EB90E10F94B3170E94BB -:1045E000AED080913A0B882369F0815080933A0BCA -:1045F0008091390B8F5F843018F48093390B02C09F -:104600001092390B80913B0B882339F190913B0B31 -:1046100080913C0B981709F10F949C188CED90E158 -:104620000F94B31780913B0B80FD7FC180913B0BB2 -:1046300084FD7BC180913B0B81FD81C180913B0B4F -:1046400085FD7DC180913B0B82FD83C180913B0B39 -:1046500086FD7FC18AE00E94425380913B0B80938C -:104660003C0B54CE40E050E0B50184E39BE10E9456 -:104670009A8F18160CF08FCEF50101900020E9F703 -:104680003197FE2EFA18FA949FEFF91669F085011A -:104690000F0D111DF7FC1A95D8018C9190E00F9425 -:1046A0009E35F8018083EFCF8A858E3709F45ECE80 -:1046B00045E050E0B101C5010F94EC35892B09F0BC -:1046C00055CEC1010E94E35D8091B71C8F5F80933E -:1046D000B71C64CE00E010E0BECE8BED9AE10E94E4 -:1046E000998A81113BCFA1E0A093DB1A61CF31E021 -:1046F000E31AF108F801EE0DFF1D02CF8091F41AC4 -:104700009091F51ADC0114967C902FEF270D2A0169 -:104710003B0139E076946794579447943A95D1F7E2 -:10472000722E74206A01B1E0DB2271104CC0C114FA -:10473000D10409F048C04091DF1A5091E01A60910D -:10474000E11A7091E21A411551056105710569F48C -:104750008091F01A9091F11AA091F21AB091F31A87 -:104760000097A105B10539F51FC095010E94496365 -:10477000882309F4B8CF89819A81AB81BC81E0910B -:10478000F41AF091F51A2789203139F4883FEFEFB8 -:104790009E07A105B10540F40EC0883FFFEF9F07BB -:1047A000AF07FFE0BF0738F08BED9AE10E94D38B93 -:1047B000811109C098CF8093DF1A9093E01AA093DB -:1047C000E11AB093E21A80E092E08C199D0947014A -:1047D0008E159F0508F44C01E091F41AF091F51A3A -:1047E0008091DF1A9091E01AA091E11AB091E21A3B -:1047F0000297A109B109058404C0880F991FAA1F57 -:10480000BB1F0A94D2F74685578560897189840F4A -:10481000951FA61FB71F9C01AD01270D311D411D1E -:10482000511D29013A01811432E0930631F580913E -:10483000360F9091370FA091380FB091390F48166D -:1048400059066A067B0669F410923E0F8FEF9FEFC0 -:10485000DC018093360F9093370FA093380FB093FD -:10486000390F9801B301A20180913F0F9091400F41 -:104870000E942F8D811139C036CFC114D10431F57A -:104880004091E31A5091E41A6091E51A7091E61A8A -:104890008091EC1A9091ED1AA091EE1AB091EF1A56 -:1048A000481759076A077B0788F00E94928D882372 -:1048B00009F419CF91E090933E0F4092360F509239 -:1048C000370F6092380F7092390F08C041E0C30172 -:1048D000B2010E947E62882309F405CFA401B801C9 -:1048E000C6018A5C924F0F94B3358091E31A909180 -:1048F000E41AA091E51AB091E61A880D991DA11D40 -:10490000B11D8093E31A9093E41AA093E51AB09333 -:10491000E61A080D191DE818F90820CE8BED9AE16A -:104920000E94D28D811144CEDECE80E00E94ECF256 -:10493000AB01BC0188ED90E10F9467187BCE81E05C -:104940000E94ECF2AB01BC0184ED90E10F9467187A -:1049500079CE82E00E94ECF2AB01BC0180ED90E1E7 -:104960000F94671877CECF93DF938BED9AE10E9477 -:104970000E8EC6ECDDE16B97CE010E940E8E8CE1AF -:10498000C83BD807C1F789E19BE10E940E8E84E302 -:104990009BE1DF91CF910C940E8E86E40E9490668D -:1049A00080931D0C882351F00E94596660931D026C -:1049B00070931E0280931F029093200283E50E9451 -:1049C0009066882351F00E94596660931902709393 -:1049D0001A0280931B0290931C0282E40E9490664C -:1049E000882351F00E945966609315027093160255 -:1049F00080931702909318020895CF93C82F809147 -:104A0000180D8C1721F061E08C2F0E94B296C09394 -:104A1000180DCF910895CF92DF92EF92FF926B0124 -:104A20007C01842F0F94FD2480E090E0A0E8BFE398 -:104A300080934F0290935002A0935102B093520280 -:104A400080913D1A81FF0E941766C092B10CD092EE -:104A5000B20CE092B30CF092B40C80913D1A8260DB -:104A600080933D1AFF90EF90DF90CF900895CF9202 -:104A7000DF92EF92FF92CF93E091180DE150E53075 -:104A800028F4F0E0E55FFC4FC08101C0C0E00F9466 -:104A9000FD2480913D1A81FF09C0C090B10CD090D7 -:104AA000B20CE090B30CF090B40C08C0C090250D8F -:104AB000D090260DE090270DF090280D8C2F0F94AC -:104AC000FD24C701B601CF91FF90EF90DF90CF900A -:104AD00008950E9475EF10928619109214020E9498 -:104AE00058D0882321F08091D01D82FF07C061E05B -:104AF00080ED91E30E943B670D94C31887ED91E32D -:104B00009093B8098093B709F2CF1092411A10928E -:104B1000401A88EE93E0A0E0B0E08093421A9093B0 -:104B2000431AA093441AB093451A80EB93E09093F4 -:104B30003F1A80933E1A85ED90E090934B1A809334 -:104B40004A1A84ED90E090934D1A80934C1A80EDB0 -:104B500090E090934F1A80934E1A81ED90E09093DD -:104B6000511A8093501A82ED90E09093531A8093DB -:104B7000521A86ED90E09093551A8093541A109231 -:104B8000571A1092581A1092591A10925A1A1092D3 -:104B9000341B1092371B1092191B10921C1BE8EB50 -:104BA000FCE1108213827B962DE1E63CF207C9F707 -:104BB00089E18093151B1092181B10920D1B109207 -:104BC000DB1A1092DE1A8091BB1B843220F08FEF2B -:104BD0008093BC1B13C091E0980F9093BB1B8093F4 -:104BE000BC1B90E0FC01EE0FFF1F8E0F9F1FFC010E -:104BF000E15BF44E88EB9BE09283818380E1E8EEF9 -:104C0000FBE1DF01282F1D922A95E9F7E8EDFBE192 -:104C1000DF01282F1D922A95E9F7E8ECFBE1DF017F -:104C20001D928A95E9F71092C41B1092C51B109231 -:104C3000C61B1092C71B1092C31B1092C21B10926E -:104C4000C11B1092C01B1092BF1B8AE58093491CA8 -:104C50008093F91B85EA80934A1C8093FA1B8AE1B2 -:104C6000E8E9FCE1DF011D928A95E9F781E0809394 -:104C7000B21C8093B31C8093B41C8093B51C8093AA -:104C8000B61C8091D01D847F8B7F8093D01D1092A5 -:104C9000CC1D1092CD1D1092CE1D1092CF1D1092E2 -:104CA000C81D1092C91D1092CA1D1092CB1D1092E2 -:104CB000C71D1092C61D8EE091E0E8EBFCE1DF011C -:104CC0009C011D9221503040E1F78FEF8093B71C7B -:104CD0000895EF920F931F93CF93DF93E80147FD61 -:104CE00002C034E001C034E1042E000C550B57FF24 -:104CF00003C0519541955109E32E022F242FAE0197 -:104D00000F946E2ECE01DF91CF911F910F91EF90F6 -:104D100008958F929F92AF92BF92CF92DF92EF92BF -:104D2000FF92CF93DF93EC01688179818A819B8127 -:104D3000611571058105910521F464E279ED8BE53A -:104D400097E02DE133EF41E050E00F940932490143 -:104D50005A019B01AC01A7EAB1E40F9428326B0120 -:104D60007C01ACEEB4EFA50194010F943632DC0166 -:104D7000CB018C0D9D1DAE1DBF1DB7FF03C001975C -:104D8000A109B04888839983AA83BB83BC01CD0164 -:104D90009F77DF91CF91FF90EF90DF90CF90BF9002 -:104DA000AF909F908F9008958F929F92AF92BF92F5 -:104DB000CF92DF92EF92FF9260917B0270917C0222 -:104DC00080917D0290917E026115710581059105AA -:104DD00021F464E279ED8BE597E02DE133EF41E0DA -:104DE00050E00F94093249015A019B01AC01A7EA36 -:104DF000B1E40F9428326B017C01ACEEB4EFA50155 -:104E000094010F943632DC01CB018C0D9D1DAE1D3B -:104E1000BF1DB7FF03C00197A109B04880937B0273 -:104E200090937C02A0937D02B0937E02BC01CD01E1 -:104E30009F77FF90EF90DF90CF90BF90AF909F90C3 -:104E40008F90089560937B0270937C0280937D0223 -:104E500090937E0208958F929F92AF92BF92CF92CD -:104E6000DF92EF92FF920F931F93CF93DF93EC01AA -:104E70006B016115710519F0FB01918380837E013F -:104E8000FFEFEF1AFF0A0881802F90E00F94C22AEB -:104E9000892B11F0E701F3CF0D3239F47E0182E066 -:104EA000E80EF11C098111E008C00B3229F47E01E3 -:104EB00092E0E90EF11C098110E0E701219743E03F -:104EC00050E06AE374E0CE010F94E82A892BC1F424 -:104ED000239645E050E065E374E0CE010F94E82AA4 -:104EE000892B09F42596C114D10419F0F601D18358 -:104EF000C0831111F6C060E070E080E89FE7FAC05F -:104F000043E050E062E374E0CE010F94E82A892B7D -:104F100059F4C114D10409F4E9C0F2E0EF0EF11C18 -:104F2000F601F182E082E2C020E030E0A901C0E0B9 -:104F3000D0E0F70160EDA62EA00E89E08A1530F1D1 -:104F4000912F9260B92E812F887012FF04C08111B9 -:104F500024C0219622C081112197A5E0B0E00F94D2 -:104F60002832DC01CB01880F991FAA1FBB1F9C01AF -:104F7000AD012A0D311D411D511D283989E9380720 -:104F8000480789E1580748F0166006C09EEFA9124D -:104F90000AC013FD40C01860B12E8FEFE81AF80A5E -:104FA00000811B2DC6CF802F8F7D8534A1F5808198 -:104FB0008D3211F4106106C08B3221F0319661E020 -:104FC00070E004C08181329662E070E080538A30E4 -:104FD00018F0E61BF70B1FC060E070E060389CE043 -:104FE00079075CF4DB01AA0FBB1FAA0FBB1F6A0F76 -:104FF0007B1F660F771F680F711D3196DF011197B8 -:105000008C9180538A3050F314FF03C071956195E1 -:105010007109C60FD71F11FF08C0C114D10429F0B0 -:10502000CF010197F60191838083CA01B9010F94E2 -:10503000962B212F2370233019F04B015C0106C001 -:105040004B015C01B7FAB094B7F8B09420E030E0BF -:10505000A901C501B4010F94912B882309F43EC026 -:10506000D7FF06C0D195C195D10901E514E002C072 -:1050700009E614E06801F8E1CF1AD10890E2E92EC0 -:10508000F12CCE15DF0574F0F8012591359145918D -:105090005491C501B4010F94F72B4B015C01CE195B -:1050A000DF09EFCF04501109F594E7940C151D05A5 -:1050B00041F78A2D880F8B2D881F8F3F49F020E004 -:1050C00030E0A901C501B4010F94912B811106C0F4 -:1050D00082E290E09093C01E8093BF1EC501B40190 -:1050E00009C060E070E080E89FEF04C060E070E01D -:1050F00080EC9FE7DF91CF911F910F91FF90EF9090 -:10510000DF90CF90BF90AF909F908F9008953F9287 -:105110004F925F926F927F928F929F92AF92BF92C7 -:10512000CF92DF92EF92FF920F931F93CF93DF9373 -:105130005C016B017A016115710519F0FB01918326 -:105140008083E114F10429F0C7010297839708F0E6 -:10515000E5C0E5012196F5011081812F90E00F94C3 -:10516000C22A892B11F05E01F4CF1D3229F4219659 -:10517000F501118101E007C01B3221F4E5012296FF -:10518000F501118100E0E114F10409F1F0E1EF16FD -:10519000F10429F43FC010E3E114F10421F128E007 -:1051A000E216F10401F154F4E2E0EE16F10421F507 -:1051B000812C912CA12CB0E4BB2E3EC0FAE0EF165E -:1051C000F10439F020E1E216F104B1F430C01033FB -:1051D00019F1FAE0EF2EF12CACEC8A2E982CA82CC9 -:1051E000ACE0BA2E29C078E0E72EF12C812C912C6E -:1051F000A12CE0E1BE2E20C060E070E080E090E8ED -:1052000097010F2C000C440B550B0F94E73149010B -:105210005A0112C0103359F488818F7D883509F006 -:10522000BACF19812296026080E1E82EF12C812C00 -:10523000912CA12C68E0B62E40E060E070E0CB013C -:1052400027010F2C000C66087708FE0150ED352E63 -:10525000310E29E0231570F42FEB210F2A3118F4B9 -:1052600039EC332E06C02FE9210F2A3118F529EA2F -:10527000322E310E232D30E02E153F05DCF447FD94 -:1052800016C086169706A806B90670F0A30192010B -:105290000F94D731630D711D811D911D6130710512 -:1052A000810520E8920710F04FEF01C041E0219600 -:1052B0001081CBCF202F2170C114D10471F0442371 -:1052C00029F02197F601D183C08307C001FF19C0DF -:1052D0002297F601D183C08314C047FF12C0222356 -:1052E00029F060E070E080E090E804C06FEF7FEFAD -:1052F0008FEF9FE722E230E03093C01E2093BF1E65 -:1053000009C0222381F090958095709561957F4F1B -:105310008F4F9F4F462F372F282F12C040E030E08D -:1053200020E090E00DC097FFF5CF82E290E09093EF -:10533000C01E8093BF1E6FEF7FEF8FEF9FE7EACF16 -:10534000642F732F822FDF91CF911F910F91FF90C8 -:10535000EF90DF90CF90BF90AF909F908F907F9015 -:105360006F905F904F903F9008953F924F925F9261 -:105370006F927F928F929F92AF92BF92CF92DF9265 -:10538000EF92FF920F931F93CF93DF935C016B011A -:105390007A016115710519F0FB0191838083E11495 -:1053A000F10429F0C7010297839708F0C9C0E5010D -:1053B0002196F5011081812F90E00F94C22A892B4C -:1053C00011F05E01F4CF1D3229F42196F50111810F -:1053D00001E007C01B3221F4E5012296F50111819D -:1053E00000E0E114F104B1F0F0E1EF16F10429F46A -:1053F000B0C010E3E114F10401F12AE0E216F10477 -:10540000B1F180E1E816F10471F0E8E0EE16F10484 -:10541000F1F413C0103341F588818F7D883549F749 -:10542000198122960260F0E1EF2EF12C88248A94F3 -:10543000982CA82CAFE0BA2E20C078E0E72EF12CF3 -:1054400088248A94982CA82CEFE1BE2E16C06FEF0A -:105450007FEFCB0197010F2C000C440B550B0F94E1 -:10546000E73149015A0109C08AE0E82EF12C69E9C7 -:10547000862E982CA82C69E1B62E40E060E070E002 -:10548000CB0127010F2C000C66087708FE0150EDB8 -:10549000352E310E29E0231570F42FEB210F2A3120 -:1054A00018F439EC332E06C02FE9210F2A3130F5DC -:1054B00029EA322E310E232D30E02E153F05F4F46B -:1054C0004F3FC9F086169706A806B90688F0A301D3 -:1054D00092010F94D731232D30E040E050E0620F6D -:1054E000731F841F951F621773078407950710F4B5 -:1054F0004FEF01C041E021961081C8CFC114D10403 -:1055000051F0442311F0219703C001FF04C02297FA -:10551000F601D183C08300FF07C0909580957095F8 -:1055200061957F4F8F4F9F4F4F3F79F482E290E01C -:105530009093C01E8093BF1E3FEF2FEF9FEF0DC0D3 -:1055400040E030E020E090E008C0462F372F282FC1 -:1055500004C0103309F067CF5FCF642F732F822F01 -:10556000DF91CF911F910F91FF90EF90DF90CF903F -:10557000BF90AF909F908F907F906F905F904F9073 -:105580003F90089591110D94BD30803219F08950EB -:105590008550C8F70895FB01DC0102C005900D920B -:1055A00041505040D8F70895FC010590061621F0AF -:1055B0000020D9F7C00108953197CF010895FC016B -:1055C00005900020E9F7809590958E0F9F1F089514 -:1055D000FB01DC014150504088F08D9181341CF07A -:1055E0008B350CF4805E659161341CF06B350CF4E6 -:1055F000605E861B611171F3990B0895881BFCCFC7 -:10560000FB01DC014150504048F005900D92002014 -:10561000C9F701C01D9241505040E0F70895FB01C9 -:1056200055915523A9F0BF01DC014D91451741115A -:10563000E1F759F4CD010590002049F04D91401556 -:105640004111C9F3FB014111EFCF81E090E00197D7 -:1056500008950F931F93CF93DF93CDB7DEB72E97A7 -:105660000FB6F894DEBF0FBECDBF0E891F898EE046 -:105670008C831A8309838FEF9FE79E838D83AE010E -:10568000465E5F4F688D798DCE0101960F94642C34 -:10569000EF81F885E00FF11F10822E960FB6F89477 -:1056A000DEBF0FBECDBFDF91CF911F910F91089547 -:1056B0000F931F93CF93DF93CDB7DEB72E970FB61F -:1056C000F894DEBF0FBECDBF8C01FA018EE08C8353 -:1056D0001A83098377FF02C060E070E8CB0101976D -:1056E0009E838D83A901BF01CE0101960F94642C86 -:1056F0004D815E8157FD0AC02F81388542175307BF -:105700000CF49A01F801E20FF31F10822E960FB6E7 -:10571000F894DEBF0FBECDBFDF91CF911F910F91E7 -:1057200008950F94D32B08F481E00895E89409C0FC -:1057300097FB3EF490958095709561957F4F8F4FC4 -:105740009F4F9923A9F0F92F96E9BB279395F695DA -:10575000879577956795B795F111F8CFFAF4BB0F58 -:1057600011F460FF1BC06F5F7F4F8F4F9F4F16C0BC -:10577000882311F096E911C0772321F09EE8872F46 -:10578000762F05C0662371F096E8862F70E060E002 -:105790002AF09A95660F771F881FDAF7880F96957B -:1057A000879597F90895990F0008550FAA0BE0E81F -:1057B000FEEF16161706E807F907C0F012161306D3 -:1057C000E407F50798F0621B730B840B950B39F413 -:1057D0000A2661F0232B242B252B21F408950A2679 -:1057E00009F4A140A6958FEF811D811D08950F94A6 -:1057F0000A2C0D9487310F94793138F00F94803151 -:1058000020F0952311F00D9470310D947631112410 -:105810000D94BB310F94983170F3959FC1F3950FA0 -:1058200050E0551F629FF001729FBB27F00DB11D24 -:10583000639FAA27F00DB11DAA1F649F6627B00DB4 -:10584000A11D661F829F2227B00DA11D621F739F9D -:10585000B00DA11D621F839FA00D611D221F749FAB -:105860003327A00D611D231F849F600D211D822FF2 -:10587000762F6A2F11249F5750409AF0F1F0882319 -:105880004AF0EE0FFF1FBB1F661F771F881F915046 -:105890005040A9F79E3F510580F00D9470310D9452 -:1058A000BB315F3FE4F3983ED4F3869577956795D7 -:1058B000B795F795E7959F5FC1F7FE2B880F911D70 -:1058C0009695879597F908952F923F924F925F9200 -:1058D0006F927F928F929F92AF92BF92CF92DF9200 -:1058E000EF92FF920F931F93CF93DF93CDB7DEB765 -:1058F0002B970FB6F894DEBF0FBECDBF6C017B01B6 -:105900008A01FC0117821682838181FFCCC1CE01FE -:1059100001963C01F6019381F70193FD859193FF78 -:1059200081917F01882309F4BAC1853239F493FD4E -:10593000859193FF81917F01853229F4B60190E032 -:105940000F94D630E7CF912C212C312CFFE1F315A9 -:10595000D8F08B3279F038F4803279F08332A1F4C8 -:10596000232D20611DC08D3261F0803369F4232D19 -:10597000216016C0832D8260382EE32DE4603E2E18 -:105980002AC0F32DF8601DC037FC2DC020ED280F74 -:105990002A3040F08E32B9F436FC81C1232D2064C8 -:1059A000322E19C036FE06C08AE0989E200D1124C2 -:1059B000922E11C0EAE02E9E200D1124222EF32DEE -:1059C000F0623F2E08C08C3621F4832D8068382E7B -:1059D00002C0883641F4F70193FD859193FF8191D0 -:1059E0007F018111B3CF982F9F7D9554933028F478 -:1059F0000C5F1F4F9FE399830DC0833631F08337CF -:105A000071F0833509F059C021C0F8018081898384 -:105A10000E5F1F4F88248394912C530113C02801DB -:105A2000F2E04F0E511CF801A080B18036FE03C099 -:105A3000692D70E002C06FEF7FEFC5010F94CB308E -:105A40004C018201F32DFF773F2E16C0280122E082 -:105A5000420E511CF801A080B18036FE03C0692DB2 -:105A600070E002C06FEF7FEFC5010F94C0304C01B2 -:105A7000F32DF0683F2E820133FC1BC0822D90E095 -:105A800088169906B0F4B60180E290E00F94D63003 -:105A90002A94F4CFF50137FC859137FE81915F019F -:105AA000B60190E00F94D63021102A9421E0821A9A -:105AB00091088114910471F7E8C0843611F0893699 -:105AC00041F5F80137FE07C06081718182819381C1 -:105AD0000C5F1F4F08C060817181072E000C880B7E -:105AE000990B0E5F1F4FF32DFF763F2E97FF09C0D6 -:105AF00090958095709561957F4F8F4F9F4FF0687F -:105B00003F2E2AE030E0A3010F941231882E861830 -:105B100045C0853731F4232D2F7EB22E2AE030E0A8 -:105B200025C0932D997FB92E8F36C1F018F4883592 -:105B300079F0B5C0803719F0883721F0B0C0E92F6F -:105B4000E061BE2EB4FE0DC0FB2DF460BF2E09C077 -:105B500034FE0AC0292F2660B22E06C028E030E0AD -:105B600005C020E130E002C020E132E0F801B7FEDC -:105B700007C060817181828193810C5F1F4F06C0D5 -:105B80006081718180E090E00E5F1F4FA3010F9450 -:105B90001231882E8618FB2DFF773F2E36FE0DC062 -:105BA000232D2E7FA22E891458F434FE0BC032FC14 -:105BB00009C0832D8E7EA82E05C0B82CA32C03C04F -:105BC000B82C01C0B92CA4FE0FC0FE01E80DF11DD8 -:105BD0008081803321F49A2D997EA92E09C0A2FEDE -:105BE00006C0B394B39404C08A2D867809F0B394A8 -:105BF000A3FC11C0A0FE06C0B21488F4280C922C9D -:105C00009B180EC0B21460F4B60180E290E00F94CD -:105C1000D630B394F7CFB21418F42B1802C0982CD6 -:105C2000212CA4FE10C0B60180E390E00F94D63082 -:105C3000A2FE17C0A1FC03C088E790E002C088E57F -:105C400090E0B6010CC08A2D867859F0A1FE02C002 -:105C50008BE201C080E2A7FC8DE2B60190E00F94D8 -:105C6000D630891438F4B60180E390E00F94D63032 -:105C70009A94F7CF8A94F301E80DF11D8081B60163 -:105C800090E00F94D6308110F5CF222009F442CE57 -:105C9000B60180E290E00F94D6302A94F6CFF60158 -:105CA0008681978102C08FEF9FEF2B960FB6F894F5 -:105CB000DEBF0FBECDBFDF91CF911F910F91FF903F -:105CC000EF90DF90CF90BF90AF909F908F907F909C -:105CD0006F905F904F903F902F9008958F929F927A -:105CE000AF92BF92CF92DF92EF92FF920F931F93EA -:105CF000CF93DF93CDB7DEB729970FB6F894DEBF09 -:105D00000FBECDBF6A01122FB02E2BE3201720F05B -:105D1000FF24F394F00E02C02CE3F22E0F2D27E0A7 -:105D2000AE014F5F5F4F0F94E52FBC014981842F77 -:105D30008970813031F0E1FC06C0E0FE06C090E2DF -:105D400005C09DE203C09BE201C090E05E2D507152 -:105D500043FF3CC0911102C083E001C084E0811781 -:105D600018F4212F281B01C020E051110BC0F601AF -:105D7000822F30E2882319F031938150FBCFC20E7D -:105D8000D11C20E0992329F0D6019C93F60131968D -:105D90006F01C6010396E2FE0AC03EE4D6013C93C1 -:105DA00041E411964C93119712963C9306C03EE63F -:105DB000F601308341E641833283FC01322F40E219 -:105DC000332309F442C041933150FACF42FF44C01B -:105DD000911102C083E001C084E0811718F4212FE3 -:105DE000281B01C020E051110BC0F601822F30E2C8 -:105DF000882319F031938150FBCFC20ED11C20E0D3 -:105E0000992329F0D6019C93F60131966F01C601C2 -:105E10000396E2FE0BC039E4D6013C933EE41196B2 -:105E20003C93119736E412963C9307C039E6F6018D -:105E300030833EE6318336E63283FC01322F40E286 -:105E4000332319F041933150FBCFFC01E20FF11DD8 -:105E500010828EEF9FEFA6C021E030E0911102C0CA -:105E600020E030E0161617061CF4FB01319602C044 -:105E7000E1E0F0E02E0F3F1FBB2021F0EB2DF0E022 -:105E8000319602C0E0E0F0E02E0F3F1FE12FF0E07E -:105E90002E173F071CF4121B212F01C020E08E2D6E -:105EA000887159F4F601822F30E2882319F031937A -:105EB0008150FBCFC20ED11C20E0992329F0D601DE -:105EC0009C93F60131966F0151110BC0F601822FA0 -:105ED00090E3882319F091938150FBCFC20ED11C1F -:105EE00020E00F2D060F9A81342F307144FF03C03C -:105EF000913309F40150101624F4093018F008E029 -:105F000001C001E0AB0177FF02C040E050E0FB01BF -:105F1000E41BF50BA1E0B0E0AC0FBD1FEA0FFB1FC7 -:105F20008EE2A82E4B01801A91080B2D10E01195DE -:105F3000019511094F3FBFEF5B0721F4D601AC92E9 -:105F400011966D01641775072CF08416950614F4EC -:105F5000818101C080E3415051093196D6011196EB -:105F60007D014017510724F0D6018C936701E2CFE1 -:105F70006417750739F4963320F4953319F4311109 -:105F800001C081E3F6018083F701822F90E288232C -:105F900019F091938150FBCFF701E20FF11D1082B0 -:105FA00080E090E029960FB6F894DEBF0FBECDBF1B -:105FB000DF91CF911F910F91FF90EF90DF90CF90E5 -:105FC000BF90AF909F908F900895283008F027E001 -:105FD0003327DA01990F311D87FD91600096610525 -:105FE000710539F432602E5F3D9330E32A95E1F775 -:105FF00008959F3F30F080387105610509F03C5FDE -:106000003C5F3D93913008F08068911DDF93CF9302 -:106010001F930F93FF92EF92192F987F9695E92F78 -:1060200096959695E90FFF27E953FB4F992733275C -:10603000EE24FF24A701E70105900894079428F4B3 -:10604000360FE71EF81E491F511D660F771F881F68 -:10605000991F0694A1F70590079428F4E70EF81EFF -:10606000491F561FC11D770F881F991F661F069471 -:10607000A1F70590079428F4F80E491F561FC71F73 -:10608000D11D880F991F661F771F0694A1F70590F1 -:10609000079420F4490F561FC71FD81F990F661F7A -:1060A000771F881F0694A9F784911095177041F007 -:1060B000D695C79557954795F794E7941A95C1F7E4 -:1060C000EDE6F4E068941590159135916591959100 -:1060D00005907FE27395E118F10A430B560BC90B4B -:1060E000D009C0F7E10CF11E431F561FC91FD01D78 -:1060F0007EF4703311F48A95E6CFE894015030F0C5 -:10610000080F0AF40027021708F4202F2395022F06 -:106110007A3328F079E37D932A95E9F710C07D93CF -:106120002A9589F60694979567953795179517944C -:10613000E118F10A430B560BC90BD00998F02395CF -:106140007E9173957A3308F070E37C932013B8F74F -:106150007E9170617D9330F0839571E37D9370E360 -:106160002A95E1F71124EF90FF900F911F91CF91A5 -:10617000DF91992787FD909508959927882708959D -:10618000FC010590615070400110D8F78095909502 -:106190008E0F9F1F0895FC01615070400190011007 -:1061A000D8F7809590958E0F9F1F08950F931F939A -:1061B000CF93DF93FB01238121FD03C08FEF9FEF7E -:1061C0002CC022FF16C04681578124813581421799 -:1061D000530744F4A081B1819D012F5F3F4F31836C -:1061E00020838C93268137812F5F3F4F378326830F -:1061F00014C08B01EC01FB010084F185E02D1995A1 -:10620000892BE1F6D80116968D919C9117970196EE -:1062100017969C938E931697CE01DF91CF911F9185 -:106220000F910895FA01AA27283051F1203181F108 -:10623000E8946F936E7F6E5F7F4F8F4F9F4FAF4F8E -:10624000B1E03ED0B4E03CD0670F781F891F9A1FA1 -:10625000A11D680F791F8A1F911DA11D6A0F711D55 -:10626000811D911DA11D20D009F468943F912AE061 -:10627000269F11243019305D3193DEF6CF01089549 -:10628000462F4770405D4193B3E00FD0C9F7F6CF7A -:10629000462F4F70405D4A3318F0495D31FD405242 -:1062A000419302D0A9F7EACFB4E0A69597958795D8 -:1062B00077956795BA95C9F70097610571050895B7 -:1062C0009B01AC010A2E0694579547953795279563 -:1062D000BA95C9F7620F731F841F951FA01D0895FB -:1062E00097F99F6780E870E060E008959FEF80EC89 -:1062F000089500240A94161617061806090608952C -:1063000000240A9412161306140605060895092E91 -:106310000394000C11F4882352F0BB0F40F4BF2B00 -:1063200011F460FF04C06F5F7F4F8F4F9F4F089540 -:1063300057FD9058440F551F59F05F3F71F0479536 -:10634000880F97FB991F61F09F3F79F0879508951B -:10635000121613061406551FF2CF4695F1DF08C03A -:10636000161617061806991FF1CF86957105610557 -:1063700008940895E894BB2766277727CB0197F9FF -:106380000895F999FECF92BD81BDF89A992780B5FD -:106390000895262FF999FECF1FBA92BD81BD20BD69 -:1063A0000FB6F894FA9AF99A0FBE01960895DB0198 -:1063B0008F939F930F942832BF91AF91A29F800D2E -:1063C000911DA39F900DB29F900D11240895A1E2FD -:1063D0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F5F -:1063E000FF1FA217B307E407F50720F0A21BB30BAA -:1063F000E40BF50B661F771F881F991F1A9469F726 -:1064000060957095809590959B01AC01BD01CF0181 -:106410000895052E97FB1EF400940F94203257FD2B -:1064200007D00F94E73107FC03D04EF40D942032CF -:1064300050954095309521953F4F4F4F5F4F0895B0 -:1064400090958095709561957F4F8F4F9F4F0895E0 -:106450000F943B32A59F900DB49F900DA49F800D8B -:10646000911D11240895B7FF0D9428320F942832FE -:10647000821B930B0895A29FB001B39FC001A39FFD -:10648000700D811D1124911DB29F700D811D11246D -:10649000911D0895991B79E004C0991F961708F083 -:1064A000961B881F7A95C9F780950895AA1BBB1B78 -:1064B00051E107C0AA1FBB1FA617B70710F0A61B04 -:1064C000B70B881F991F5A95A9F780959095BC0125 -:1064D000CD01089597FB072E16F4009407D077FDA1 -:1064E00009D00F94563207FC05D03EF49095819563 -:1064F0009F4F0895709561957F4F0895EE0FFF1F90 -:10650000881F8BBF0790F691E02D19945058BB2738 -:10651000AA270F949E320D9487310F94793138F069 -:106520000F94803120F039F49F3F19F426F40D9434 -:1065300076310EF4E095E7FB0D947031E92F0F945E -:10654000983158F3BA17620773078407950720F04C -:1065500079F4A6F50D94BA310EF4E0950B2EBA2F0E -:10656000A02D0B01B90190010C01CA01A001112459 -:10657000FF27591B99F0593F50F4503E68F11A1605 -:10658000F040A22F232F342F4427585FF3CF469596 -:1065900037952795A795F0405395C9F77EF41F16B8 -:1065A000BA0B620B730B840BBAF09150A1F0FF0F82 -:1065B000BB1F661F771F881FC2F70EC0BA0F621F6E -:1065C000731F841F48F4879577956795B795F7955E -:1065D0009E3F08F0B0CF9395880F08F09927EE0FF3 -:1065E0009795879508950F94793160F080E891E050 -:1065F00009F49EEF0F94803128F040E851E071F4E7 -:106600005EEF0CC00D9476310D94BA31E92FE0782D -:106610000F94983140F3092E052AB1F32617370756 -:106620004807590738F00E2E07F8E02569F0E025F5 -:10663000E0640AC0EF6307F8009407FADB01B901D0 -:106640009D01DC01CA01AD01EF930F9498330F94C3 -:1066500087310F9436335F91552339F02BED3FE0AE -:1066600049E450FD49EC0D9487320895DF93DD270E -:10667000B92FBF7740E85FE31616170648075B0798 -:1066800018F4D92F0F94EC349F938F937F936F93CB -:106690000F947535EEEEF1E00F9469340F94873165 -:1066A0002F913F914F915F910F940A2CDD2351F070 -:1066B0009058A2EA2AED3FE049EC5FE3D0785D27ED -:1066C0000F949E32DF910D9487310F94CF3490F068 -:1066D0009F3748F4911116F40D94BB3160E070E0DF -:1066E00080E89FE3089526F01B16611D711D811D32 -:1066F0000D9440340D945B340F949234E3950D94D3 -:10670000BB340F9495330D9487310F94803158F03A -:106710000F94793140F029F45F3F29F00D947031E6 -:1067200051110D94BB310D9476310F94983168F36B -:106730009923B1F3552391F3951B550BBB27AA273A -:1067400062177307840738F09F5F5F4F220F331F74 -:10675000441FAA1FA9F335D00E2E3AF0E0E832D03C -:1067600091505040E695001CCAF72BD0FE2F29D03F -:10677000660F771F881FBB1F261737074807AB0711 -:10678000B0E809F0BB0B802DBF01FF2793585F4F86 -:106790003AF09E3F510578F00D9470310D94BB3165 -:1067A0005F3FE4F3983ED4F3869577956795B79568 -:1067B000F7959F5FC9F7880F911D9695879597F973 -:1067C0000895E1E0660F771F881FBB1F62177307EC -:1067D0008407BA0720F0621B730B840BBA0BEE1F01 -:1067E00088F7E09508950F94FA336894B1110D94E9 -:1067F000BB3108950F94A03188F09F5798F0B92FBE -:106800009927B751B0F0E1F0660F771F881F991FE5 -:106810001AF0BA95C9F714C0B13091F00F94BA319B -:10682000B1E008950D94BA31672F782F8827B85FAB -:1068300039F0B93FCCF3869577956795B395D9F73D -:106840003EF490958095709561957F4F8F4F9F4F47 -:1068500008950F94CF3490F09F3748F4911116F0BB -:106860000D94BB3160E070E080E89FEB089526F462 -:106870001B16611D711D811D0D9440340D945B34F8 -:10688000882371F4772321F09850872B762F07C047 -:10689000662311F499270DC09051862B70E060E0BB -:1068A0002AF09A95660F771F881FDAF7880F96955A -:1068B000879597F908959F3F31F0915020F487957F -:1068C00077956795B795880F911D9695879597F958 -:1068D0000895DF93CF931F930F93FF92EF92DF9270 -:1068E0007B018C01689406C0DA2EEF010F940A2C0C -:1068F000FE01E894A5912591359145915591A6F316 -:10690000EF010F949E32FE019701A801DA9469F716 -:10691000DF90EF90FF900F911F91CF91DF9108953D -:106920000D9476310F94A031D8F3E894E0E0BB27C2 -:106930009F57F0F02AED3FE049EC06C0EE0FBB0F89 -:10694000661F771F881F28F0B23A62077307840713 -:1069500028F0B25A620B730B840BE3959A9572F789 -:10696000803830F49A95BB0F661F771F881FD2F7C7 -:1069700090480D945D34EF93E0FF07C0A2EA2AED42 -:106980003FE049EC5FEB0F949E320F9487310F90FC -:10699000039401FC9058EBE1F2E00D9485350F94DF -:1069A000A031A0F0BEE7B91788F4BB279F3860F488 -:1069B0001616B11D672F782F8827985FF7CF869519 -:1069C00077956795B11D93959639C8F308950F94FF -:1069D000D32B08F48FEF08959B01AC0160E070E0C9 -:1069E00080E89FE30D9481330F94A03158F19E57B6 -:1069F00060F19851A0F0E9F0983020F5092E992720 -:106A0000660F771F881F991F0A94D1F712C0062EB0 -:106A1000672F782F8827985F11F4000C07C0993FE3 -:106A2000B4F38695779567959395D9F7611D711D98 -:106A3000811D3EF490958095709561957F4F8F4FA5 -:106A40009F4F089568940D94BB310D94BA319F9374 -:106A50000F9492340F9007FCEE5F0D94BB3419F441 -:106A600016F40D9476310D945B340F94A031B8F385 -:106A70009923C9F3B6F39F57550B87FF0F947E35C3 -:106A80000024A0E640EA900180585695979528F496 -:106A9000805C660F771F881F20F02617370748078E -:106AA00030F4621B730B840B202931294A2BA695E5 -:106AB00017940794202531254A2758F7660F771F2A -:106AC000881F20F026173707480730F4620B730B36 -:106AD000840B200D311D411DA09581F7B901842F34 -:106AE0009158880F9695879508959B01AC010D9458 -:106AF000F72B0F94D32B880B990B0895915050408E -:106B0000660F771F881FD2F708959F938F937F9307 -:106B10006F93FF93EF939B01AC010F94F72BEF91D1 -:106B2000FF910F9469342F913F914F915F910D9494 -:106B3000F72B81E090E0F8940D944336911108957D -:106B400081548A5108F4805E855A0895FB01DC0166 -:106B500004C08D910190801921F441505040C8F734 -:106B6000881B990B0895FB01DC0102C001900D9276 -:106B700041505040D8F70895FB01DC018D918134DC -:106B80001CF08B350CF4805E619161341CF06B3528 -:106B90000CF4605E861B611189F3990B0895FB016B -:106BA000DC010D900020E9F7119701900D92002073 -:106BB000E1F70895FC018191861721F08823D9F728 -:106BC000992708953197CF010895FB01DC010190C9 -:106BD0000D920020E1F70895FB01DC014150504087 -:106BE00030F08D910190801919F40020B9F7881BBD -:106BF000990B0895FB01DC014150504048F0019091 -:106C00000D920020C9F701C01D9241505040E0F79D -:106C10000895FC0181E090E00190061609F4CF018F -:106C20000020D1F7019708950F931F93CF93DF931F -:106C3000CDB7DEB72E970FB6F894DEBF0FBECDBF2F -:106C40000E891F8986E08C831A8309838FEF9FE763 -:106C50009E838D83AE01465E5F4F688D798DCE0138 -:106C600001960F94642CEF81F885E00FF11F1082DC -:106C70002E960FB6F894DEBF0FBECDBFDF91CF9139 -:106C80001F910F9108951DE1C7E3DDE100E006C00B -:106C9000802FFE010F947E322196011DC833D1074B -:0A6CA00080E00807A9F7F894FFCF81 -:106CAA0002C0D401000180000000FF3FFF3F000046 -:106CBA000000FF3F0100007A4300005243CDCCCCD4 -:106CCA003D0000803F0000803F80800110FF0601E8 -:106CDA00010000000000009D430000000000009A2F -:106CEA0043000000000000C843A0000000C84200A2 -:106CFA0000C841FFFFFFFFFFFFFFFFFFFFFFFFFF8E -:106D0A005CFF79C40164000000803F6400640001F4 -:106D1A009D9DF0FF79C4F0FF79C4010100000002D3 -:106D2A001000000410000006100000081000000AFD -:106D3A001000000C10000026100000301000003275 -:106D4A00100000341000003A1000003E100000400D -:106D5A001000004410000046100000481000004ACD -:106D6A001000004C1000005410000056100000588B -:106D7A001000005C1000005E1000005F1000008828 -:106D8A0010000000000000FF3F1CC6FF3F1CC600A9 -:106D9A0000000058595A45CDCCCC3C00409C4500D7 -:106DAA00007A4500007A430000704201020304059C -:106DBA00B400F00046006E0000004040000034427B -:106DCA000000000000000000000000000000504128 -:106DDA0000000000000000416400000064000000A0 -:106DEA0003000000640000006400000003000000CB -:106DFA00030000001E0000001E0000001E0000002C -:106E0A001E0000001E0000001E0000000A005A00BA -:106E1A0000009B4300002041DC050000DC05000067 -:106E2A00640000004B0000000000A0420000A042E5 -:106E3A000000C8430000BE420000FA430000FA43C3 -:106E4A000000204100009642563730000000000042 -:106E5A004B5CB45BE25B985C135CF15B055C2A2AD1 -:106E6A002A496E6974696E67206361726420697366 -:106E7A00204F4B2A2A2A002A2A2A496E6974696EE7 -:106E8A00672063617264206661696C732A2A2A002A -:106E9A002A2A2A436172642052656D6F7665642AD4 -:106EAA002A2A003D3D7761697477617920313D3D39 -:106EBA00003D3D7761697477617920333D3D00205B -:106ECA0020737461727470726F67726573732000D5 -:106EDA0020202A2A2A2A2A2A2A5254535F48616ED3 -:106EEA00646C65446174612A2A2A2A2A2A2A2A2079 -:106EFA00003D3D20436865636B6B65793D3D000A43 -:106F0A002048616E646C6520446174612050726926 -:106F1A006E7446696C6520312053657474696E67B6 -:106F2A002053637265656E20000A2048616E646CA6 -:106F3A00652044617461205072696E7446696C659B -:106F4A0020322053657474696E67205363726565D5 -:106F5A006E20000A2048616E646C65204461746189 -:106F6A00205072696E7446696C65203320536574CB -:106F7A0074696E672053637265656E20000A204843 -:106F8A00616E646C6520446174612041646A757342 -:106F9A007420322053657474696E67205363726576 -:106FAA00656E200074696E796D616368696E6573D8 -:106FBA0033642E636F6D004368696E657365204E96 -:106FCA006F7420537570706F7274656400456E67D4 -:106FDA006C69736820416C726561647920536574C9 -:106FEA0000496E76616C6964204F7074696F6E0037 -:106FFA000A204E6F2046696C616D656E7400526599 -:10700A0073756D652059657320647572696E6720A2 -:10701A007072696E74002046696C616D656E7420C9 -:10702A00526573706F6E7365204E6F0046696C61AE -:10703A006D656E7420537461742030202D203100E8 -:10704A0046696C616D656E742053746174203020DA -:10705A002D20320046696C616D656E74205374612F -:10706A00742030202D20330046696C656E616D6591 -:10707A000052656364617461002020202020202072 -:10708A0020200025642F2564003D3D7761697477CF -:10709A00617920343D3D003D3D77616974776179BE -:1070AA0020353D3D003D3D48656174696E67204469 -:1070BA006F6E65204368616E67652046696C616D15 -:1070CA00656E743D3D0046696C656E616D652D4D5A -:1070DA006564696100436C69636B20746F20526553 -:1070EA0073756D652E2E2E00256420582025642088 -:1070FA005820256400544D33442043522D58003201 -:10710A002E305F44573320544D33442053534D445B -:10711A004242003D3D4477696E20496E69742043BE -:10712A006F6D706C6574653D3D002F005265686532 -:10713A0061742066696E69736865642E003A207A04 -:10714A003A2000206D65616E3A2000207369676DF0 -:10715A00613A2000206D696E3A2000206D61783A0C -:10716A0020002072616E67653A20004D65616E3AB3 -:10717A002000204D696E3A2000204D61783A2000A7 -:10718A002052616E67653A20005374616E646172C1 -:10719A006420446576696174696F6E3A20005344CD -:1071AA00557064617465002E67636F6465002E47CD -:1071BA00434F444500590042656420583A20002054 -:1071CA00593A2000205A3A2000556E746F75636848 -:1071DA006564200050756C73696E6720202000205A -:1071EA002053544F57454420287472696767657263 -:1071FA006564292073746174653A204849474820B8 -:10720A00286C6F67696320312900202053544F5737 -:10721A00454420287472696767657265642920731A -:10722A00746174653A204C4F5720286C6F67696304 -:10723A00203029003D3D6F6E55736572436F6E664F -:10724A0069726D52657175697265643D3D003F3FB3 -:10725A003F003D3D6F6E53746F7265536574746978 -:10726A006E67733D3D003D3D6F6E436F6E666967A5 -:10727A0075726174696F6E53746F7265577269744F -:10728A0074656E3D3D00455252003D3D6F6E507231 -:10729A00696E7454696D65725061757365643D3DBC -:1072AA00003D3D6F6E466163746F72795265736516 -:1072BA00743D3D00205A003D3D6F6E436F6E666916 -:1072CA006775726174696F6E53746F726552656126 -:1072DA00643D3D003D3D6F6E4C6F6164536574744F -:1072EA00696E67733D3D002A2A2A6B696C6C2A2AEB -:1072FA002A003D3D6F6E5072696E7454696D6572F5 -:10730A00537461727465643D3D0073746F70706983 -:10731A006E67203D3D002F2F616374696F6E3A637B -:10732A00616E63656C003D3D6F6E5072696E745498 -:0E733A00696D657253746F707065643D3D003F -:00000001FF diff --git a/CRX_BLTouch_NoFil_UBL_DW3.hex b/CRX_BLTouch_NoFil_UBL_DW3.hex deleted file mode 100644 index 7e8e73fb88..0000000000 --- a/CRX_BLTouch_NoFil_UBL_DW3.hex +++ /dev/null @@ -1,11710 +0,0 @@ -:100000000C94762C0C94A72C0C94A72C0C94A72C55 -:100010000C94A72C0C94A72C0C94A72C0C94A72C14 -:100020000C94A72C0C94A72C0C94A72C0C94A72C04 -:100030000C94A72C0C94A72C0C94A72C0C94A72CF4 -:100040000C94A72C0D9439040C94A72C0C94A72C79 -:100050000C94A72C0C94A72C0C94689B0D947A4EAE -:100060000C94A72C0C94C1690C94B7690C94A72C20 -:100070000C94A72C0C94A72C0C94A72C0C94A72CB4 -:100080000C94F8610C94A72C0C94A72C0C94A72C1E -:100090000C94A72C0C94A72C0C94A72C0C94A72C94 -:1000A0000C94A72C0C94A72C0C94CA610C94A72C2C -:1000B0000C94A72C0C94A72C0C94A72C0C949C614A -:1000C0000C94A72C0C94A72C0C94A72C0C94666C65 -:1000D0000C943C6C0C94A72C0C94A72C0C94A72C7F -:1000E0000C94A72C562E9C2EA22EC92ED62EDF2E77 -:1000F000EA2EAC36BE379B38CE3876447644E939A2 -:100100008C3A9A37764476442B3CC53DFD3D764487 -:10011000014076447644514176447644DB410E42B8 -:100120007644CE4289430C3E143E383E5C3E903EBF -:10013000393F4D3F663F733F803F943FF469FA6912 -:100140000C6A1C6A246A516A286A516A2C6A306AED -:10015000516A346A386A3C6A446A516A4E6A78B5B0 -:100160007FB505B60AB663B768B778B7DCC0FEC01E -:100170001EC143C168C11FC38DC1B0C1D3C1F8C185 -:100180001DC242C267C28CC21FC3B1C2D6C2FBC26B -:10019000B7F4BAF4A9F4ADF4B3F4F1F4BEF4C2F4D4 -:1001A000C8F4CCF4D0F4D6F4DAF4DEF4F1F4E4F4E8 -:1001B000E8F4ECF42AFC2FFC34FC3EFC48FCC1FCC7 -:1001C00052FC5AFC62FC6CFC76FC80FC8FFC99FCB7 -:1001D000C1FCA3FCADFCB7FCF0FEF3FEF7FEFAFE9B -:1001E000FDFE27FF01FF04FF08FF0BFF0EFF12FFBC -:1001F00015FF18FF27FF1CFF1FFF22FF084AD73BF0 -:100200003BCE016E84BCBFFDC12F3D6C74319ABDE5 -:1002100056833DDA3D00C77F11BED9E4BB4C3E9109 -:100220006BAAAABE000000803F05A84CCDB2D44EF8 -:10023000B93836A9020C50B9918688083CA6AAAAFA -:100240002ABE000000803F07634236B79BD8A71A3A -:1002500039685618AEBAAB558C1D3CB7CC5763BD48 -:100260006DEDFD753EF6177231BF000000803F084E -:10027000000000BE922449123EABAAAA2ABECDCCF1 -:10028000CC4C3E00000080BEABAAAAAA3E000000F3 -:1002900000BF000000803F0000000000084178D34C -:1002A000BB4387D1133D190E3CC3BD4282AD2B3EEB -:1002B00068EC8276BED98FE1A93E4C80EFFFBE018B -:1002C000C4FF7F3F0000000000000C945AFC0C9417 -:1002D0006CFC0C94393F0C94C53D0C94C8F40C9400 -:1002E000BEF40C94FA690C941C6A0C94F1F40C940E -:1002F0008C3A0C94516A0C94803F0C94E8F40C9462 -:1003000051410C947FB50C940EFF0C9443C10C9496 -:100310001FC30C94DEF40C94246A0C94FAFE0C9423 -:1003200001400C94D62E0C9478B70C94F46A0C947B -:10033000E56A0C9442C20C94F3FE0C9452FC0C94AB -:10034000A9F40C9489430C94C92E0C944D3F0D9440 -:1003500033580C94C2F40C9418FF0C94386A0C9423 -:10036000F7FE0C9499FC0C9401FF0C9478B50C9456 -:1003700048FC0C94086B0C94DF2E0C948DC10C94EB -:10038000E9390C944E6A0C94D3C10C943C6A0C94D9 -:10039000663F0C94346A0C94903E0C94BAF40C941E -:1003A000CCF40C941EC10C94286A0C94B1C20C9429 -:1003B000D0F40C94143E0C94B76A0C94B3F40C94DF -:1003C000446A0C94B7FC0C9408FF0C94F4690C94E8 -:1003D00005B60C940AB60C948CC20C94EA2E0C94BC -:1003E0009B380C94FEC00C9415FF0C945C3E0C944E -:1003F000166B0C9427FF0C9468C10C94A22E0C94DD -:10040000FDFE0C941FFF0C94DAF40C94C1FC0C94C8 -:10041000DCC00C943EFC0C94D6F40C94383E0C9446 -:100420009C2E0C94733F0C9476440C940C6A0C94A0 -:100430009B6B0C94E4F40C94AC360C94B7F40C94D1 -:1004400067C20C9422FF0C9476FC0C94A3FC0C94D1 -:1004500062FC0C94CE420C94B0C10C948FFC0C94B2 -:100460001CFF0C942FFC0C94ADF40C94FBC20C9468 -:1004700004FF0C94306A0C94DB410C94BE370C944E -:10048000ECF40D947D570C940C3E0C949A370C941C -:10049000FD3D0C942B3C0C940E420C942C6A0C9455 -:1004A000D6C20C94CE380C94F8C10C94F0FE0C9487 -:1004B00012FF0C94943F0C9468B70C942AFC0C9493 -:1004C000ADFC0C9480FC0C94562E0C941DC20C9424 -:1004D0000BFF0C9434FC0C944E6B0C9463B74E41A0 -:1004E0004E494E495459494E46CDCCCC3D0AD723AE -:1004F0003C17B7D13877CC2B329595E6241FB14FF6 -:100500000A000020410000C84200401C4620BCBE3A -:100510004CCA1B0E5AAEC59D7400407A10F35A00A7 -:10052000A0724E18090010A5D4E80000E87648171C -:100530000000E40B54020000CA9A3B000000E1F501 -:1005400005000080969800000040420F000000A0C7 -:100550008601000000102700000000E803000000F2 -:10056000006400000000000A00000000000100001C -:100570000000002C76D888DC674F0823DFC1DFAE8F -:1005800059E1B1B796E5E3E453C63AE65199769658 -:10059000E8E6C28426EB898C9B62ED407C6FFCEF21 -:1005A000BC9C9F40F2BAA56FA5F490055A2AF75C4F -:1005B000936B6CF9676DC11BFCE0E40D47FEF52001 -:1005C000E6B500D0ED902E030094357705008084C9 -:1005D0001E080000204E0A000000C80C33333333DD -:1005E0000F986E12831141EF8D2114893BE6551649 -:1005F000CFFEE6DB18D1844B381BF77C1D901DA481 -:10060000BBE424203284725E228100C9F124ECA173 -:10061000E53D274D323520500A4D32340050726985 -:100620006E742050617573656400526573756D65F5 -:10063000005549205061757365004E6F204D6174FF -:100640006368203A004D333033452D3153363543FE -:100650003455004D393939004D3530320A4D353079 -:1006600030004D3330334530533231354338550047 -:100670000A202A2A2A7265636461742E6461746197 -:100680005B305D203D004732380A4731204631302B -:100690003030205A313000556E737570706F72743F -:1006A0006564204F7074696F6E2053656C65637468 -:1006B0006564004D3139305335350A4732380A47C1 -:1006C000323950310A47323950330A4732395331BF -:1006D0000A47323953300A47323946302E300A47FA -:1006E0003239410A4D313034533231350A473238CC -:1006F0000A4D313039533231350A473158313530AE -:100700005931353046353030300A47315A300A4D8C -:100710003530300A4D3430300A4D31313720536591 -:1007200074205A204F666673657400473120463145 -:10073000303030205A302E30004732380A473120CE -:100740004631303030205A302E30004D35303000B8 -:100750005A204F6666736574203A202573004D3524 -:100760003030005A204F6666736574203A20257336 -:10077000004732385A0A473146313530305A302E28 -:1007800030004732380A473146313530305A302E42 -:1007900030004D383400473146313030305A302E39 -:1007A00030004732380A473146313030305A302E27 -:1007B00030005A204F6666736574203A2025730016 -:1007C0004D353030004D383400426567696E5377DF -:1007D00069746368007265636461742E6164647235 -:1007E000203D3D007265636461742E646174615BD9 -:1007F000305D203D3D0077616974776179203D3D32 -:10080000000A202A2A2A4E6F7A7A6C6554656D7028 -:100810005374617475735B325D203D00434F4D4DE1 -:10082000554E49434154494F4E0044525952554E3A -:10083000004552524F525300494E464F00454348DF -:100840004F0047322F47332062616420706172612C -:100850006D65746572730A00536C6565702E2E2E7B -:10086000005A2050726F6265205061737420426597 -:10087000640A005A2050726F6265205061737420C0 -:1008800042656400486F6D6520585920466972734F -:10089000740A00486F6D6520585920466972737458 -:1008A00000205A3A200020593A200042656420581E -:1008B0003A20004D65736820706F696E7420636123 -:1008C0006E6E6F74206265207265736F6C766564FE -:1008D0000A004D302F3120427265616B2043616CFC -:1008E0006C656400436F6E74696E7565004D302FE2 -:1008F0003120427265616B2043616C6C6564004E0F -:100900006F204D6F76652E00456E642066696C65BC -:10091000206C6973740A00426567696E2066696CB1 -:1009200065206C6973740A00526573756D65205398 -:100930004400286E6F2066696C65290043757272E9 -:10094000656E742066696C653A20002E0A00446565 -:100950006C6574696F6E206661696C65642C2046F5 -:10096000696C653A200046696C652064656C657445 -:1009700065643A005072696E742074696D653A203E -:10098000000A53746174733A2046696C616D656E38 -:100990007420757365643A20002C204C6F6E676577 -:1009A0007374206A6F623A2000546F74616C207413 -:1009B000696D653A200053746174733A20002C20ED -:1009C0004661696C65643A20002C2046696E697343 -:1009D0006865643A20005072696E74733A2000535F -:1009E000746174733A20006F6666003D0838083100 -:1009F000082A081C0844454255473A004D31313316 -:100A000020530042656420436F6F6C696E672E2E21 -:100A10002E004265642048656174696E672E2E2E33 -:100A2000006F6B004348414D4245525F54454D5065 -:100A300045524154555245004D4F54494F4E5F4D1C -:100A40004F44455300544845524D414C5F50524F1E -:100A500054454354494F4E004155544F5245504F11 -:100A600052545F53445F5354415455530050524FB6 -:100A70004D50545F535550504F525400454D4552C0 -:100A800047454E43595F50415253455200434153ED -:100A9000455F4C494748545F4252494748544E4588 -:100AA000535300544F47474C455F4C4947485453B4 -:100AB00000534F4654574152455F504F57455200DF -:100AC0004255494C445F50455243454E54004C45B5 -:100AD00056454C494E475F44415441005A5F50527D -:100AE0004F4245004155544F4C4556454C005052DD -:100AF000494E545F4A4F420050524F47524553535C -:100B0000004155544F5245504F52545F54454D503B -:100B100000564F4C554D455452494300454550529F -:100B20004F4D0042494E4152595F46494C455F5432 -:100B300052414E534645520053455249414C5F582D -:100B40004F4E5F584F4646004649524D5741524519 -:100B50005F4E414D453A4D61726C696E20322E30C8 -:100B60005F44573320544D33442053534D44425532 -:100B700020534F555243455F434F44455F55524CB8 -:100B80003A68747470733A2F2F6769746875622EAF -:100B9000636F6D2F496E73616E6974794175746FFF -:100BA0006D6174696F6E2F4D61726C696E2F747216 -:100BB00065652F437265616C6974795F4D61726C14 -:100BC000696E322E302E782050524F544F434F4C86 -:100BD0005F56455253494F4E3A312E30204D4143D6 -:100BE00048494E455F545950453A544D334420438B -:100BF000522D582045585452554445525F434F5545 -:100C00004E543A3220555549443A63656465326121 -:100C100032662D343161322D343734382D3962311A -:100C2000322D6335356336326633363766660A00F1 -:100C30002F2F2000205400205200416363656C6513 -:100C4000726174696F6E3A20500020466C6F773A7B -:100C5000200050726F7465637465642050696E0A79 -:100C600000206F7574206F662072616E67650A00E0 -:100C7000536572766F20003A200020536572766FBC -:100C8000200050726F6265205A204F66667365744B -:100C90003A2000496E76616C6964206578747275DB -:100CA0006465720A0020643A0020693A0020703AB4 -:100CB0000020643A0020693A0020703A00646973A9 -:100CC00000656E0043290A0061626C656420286D2E -:100CD000696E2074656D702000436F6C64206578C8 -:100CE0007472756465732061726520004F66667367 -:100CF000657473204170706C696564004572723A66 -:100D000020546F6F206661722100546F6F206661FE -:100D1000722066726F6D207265666572656E6365BE -:100D200020706F696E740A00454550524F4D204F38 -:100D30004B0A00416476616E6365204B003F4B2097 -:100D400076616C7565206F7574206F662072616EB8 -:100D500067652028302D3130292E0A003F54207637 -:100D6000616C7565206F7574206F662072616E67A7 -:100D7000652E0A0024F404D9201BC40C5C0E9804D0 -:100D8000C4095F0265077101F405F900FB04B300B3 -:100D900048048700C1036900580355000303450058 -:100DA000BE023A008402310053022A0029022500C3 -:100DB00004022000E4011C00C8011900AF01170063 -:100DC00098011400840113007101100061011000EA -:100DD00051010E0043010D0036010B002B010B00E9 -:100DE00020010B00150109000C0109000301080096 -:100DF000FB000800F3000800EB000700E400060019 -:100E0000DE000600D8000600D2000600CC00050077 -:100E1000C7000500C2000500BD000400B9000400C1 -:100E2000B5000400B1000400AD000400A9000400F6 -:100E3000A5000300A20003009F0004009B00030024 -:100E40009800030095000200930003009000030047 -:100E50008D0002008B000300880002008600020063 -:100E600084000300810002007F0002007D00020078 -:100E70007B0002007900020077000100760002008A -:100E80007400020072000100710002006F00020095 -:100E90006D0001006C0002006A00010069000200A0 -:100EA00067000100660001006500010064000200A7 -:100EB0006200010061000100600001005F000200AB -:100EC0005D0001005C0001005B0001005A000100B0 -:100ED00059000100580001005700010056000100B0 -:100EE00055000100540001005300000053000100B0 -:100EF0005200010051000100500001004F000100AC -:100F00004E0000004E0001004D0001004C000100A9 -:100F10004B0000004B0001004A00010049000100A5 -:100F200048000000480001004700010046000000A2 -:100F3000460001004500000045000100440001009A -:100F40004300000043000100420000004200010095 -:100F50004100000041000100400001003F0000008E -:100F60003F0001003E0000003E0001003D00000087 -:100F70003D0001003C0000003C0000003C0001007E -:100F80003B0000003B0001003A0000003A00010075 -:100F9000390000003900010038000000380000006E -:100FA0003800010037000000370001003600000063 -:100FB000360000003600010035000000350000005A -:100FC000350001003400000034000000340001004E -:100FD0003300000033000000330001003200000045 -:100FE000320000003200010031000000310000003A -:100FF000310001003000000030000000300001002E -:101000002F0000002F0000002F0000002F00010023 -:101010002E0000002E0000002E0001002D00000018 -:101020002D0000002D0000002D0001002C0000000C -:101030002C0000002C0000002C0001002B00000000 -:101040002B0000002B0000002B0001002A000000F4 -:101050002A0000002A0000002A00010029000000E8 -:1010600029000000290000002900000029000100DB -:1010700028000000280000002800000028000000D0 -:1010800028000100270000002700000027000000C2 -:1010900027000000270001002600000026000000B5 -:1010A00026000000260000002600010025000000A8 -:1010B000250000002500000025000000250000009C -:1010C000250001002400000024000000240000008E -:1010D0002400000024000100230000002300000081 -:1010E0002300000023000000230000002300000074 -:1010F0002300010022000000220000002200000066 -:101100002200000022000000220001002100000057 -:10111000210000002100000021000000210000004B -:10112000210000002100010020000000200000003C -:10113000200000002000000020000000200000002F -:1011400020000000200001001F0000001F00000020 -:101150001F0000001F0000001F0000001F00000013 -:101160001F0001001E0000001E0000001E00000005 -:101170001E00000024F4D43050C38E20C2A24017B9 -:10118000828B7011127A910D816CD90AA861E108E5 -:10119000C7586607615143061E4B5D05C145A7044C -:1011A0001A411104093D9803713931034036DB02BD -:1011B00065339102D4305402802E1D02632CEE015F -:1011C000752AC501B028A001102781018F2564016F -:1011D0002B244B01E0223401AC211F018D200D0195 -:1011E000801FFC00841EED00971DDF00B81CD2009C -:1011F000E61BC600201BBC00641AB200B219A8008E -:101200000A19A0006A189900D117910040178B00A5 -:10121000B516840031167E00B31579003A157300B7 -:10122000C7146F0058146A00EE1366008813630039 -:1012300025135E00C7125B006C1257001512540094 -:10124000C111510070114F0021114B00D6104900FF -:101250008D1047004610440002104200C00F4000AD -:10126000800F3E00420F3C00060F3B00CB0E3800C3 -:10127000930E37005C0E3500270E3400F30D32005C -:10128000C10D3100900D3000600D2E00320D2D008B -:10129000050D2C00D90C2B00AE0C2900850C290063 -:1012A0005C0C2700350C27000E0C2600E80B2400F0 -:1012B000C40B2400A00B23007D0B23005A0B21003C -:1012C000390B2100180B2000F80A1F00D90A1E0054 -:1012D000BB0A1E009D0A1D00800A1D00630A1C0037 -:1012E000470A1B002C0A1B00110A1A00F7091A00F2 -:1012F000DD091900C4091900AB091900920917008A -:101300007B091800630917004C09160036091600FE -:10131000200916000A091500F5081500E008140058 -:10132000CC081400B8081400A40814009008130096 -:101330007D0812006B0813005808120046081200BE -:1013400034081100230811001208110001081100CF -:10135000F0071000E0071000D0071000C0071000D1 -:10136000B0070F00A107100091070E0083070F00C0 -:1013700074070F0065070E0057070E0049070E009F -:101380003B070D002E070E0020070D0013070D0070 -:1013900006070D00F9060C00ED060D00E0060C0036 -:1013A000D4060C00C8060C00BC060C00B0060C00ED -:1013B000A4060B0099060C008D060B0082060B009C -:1013C00077060B006C060B0061060A0057060B003F -:1013D0004C060A0042060A0038060A002E060A00D9 -:1013E00024060A001A060A001006090007060A0069 -:1013F000FD050900F4050900EB050900E2050900F7 -:10140000D9050900D0050900C7050900BE05090076 -:10141000B5050800AD050800A50509009C050800F4 -:10142000940508008C050800840508007C05080068 -:10143000740508006C050700650508005D050700D8 -:10144000560508004E05070047050700400508003F -:1014500038050700310507002A05070023050700A6 -:101460001C050600160507000F0507000805060005 -:1014700002050700FB040600F5040700EE04060061 -:10148000E8040600E2040700DB040600D5040600B9 -:10149000CF040600C9040600C3040600BD0406000C -:1014A000B7040600B1040500AC040600A60406005B -:1014B000A00405009B0406009504050090040600A6 -:1014C0008A04050085040500800406007A040500EE -:1014D00075040500700405006B0405006604050032 -:1014E000610405005C040500570405005204050072 -:1014F0004D04050048040500430405003E040400B3 -:101500003A04050035040500300404002C040500ED -:1015100027040400230405001E0404001A04040028 -:1015200016040500110404000D040400090405005C -:101530000404040000040400FC030400F803040095 -:10154000F4030400F0030400EC030400E8030400C7 -:10155000E4030400E0030400DC030400D8030400F7 -:10156000D4030400D0030400CC030400C803030028 -:10157000C5030300726F746174696F6E206D6174CE -:101580007269783A0A0024F404D9201BC40C5C0E5A -:101590009804C4095F0265077101F405F900FB04B2 -:1015A000B30048048700C1036900580355000303D2 -:1015B0004500BE023A008402310053022A0029028B -:1015C000250004022000E4011C00C8011900AF013D -:1015D00017009801140084011300710110006101CB -:1015E000100051010E0043010D0036010B002B01CC -:1015F0000B0020010B00150109000C01090003017B -:101600000800FB000800F3000800EB000700E400FE -:101610000600DE000600D8000600D2000600CC005E -:101620000500C7000500C2000500BD000400B900A8 -:101630000400B5000400B1000400AD000400A900DE -:101640000400A5000300A20003009F0004009B000B -:10165000030098000300950002009300030090002F -:1016600003008D0002008B0003008800020086004A -:10167000020084000300810002007F0002007D0060 -:1016800002007B0002007900020077000100760072 -:1016900002007400020072000100710002006F007D -:1016A00002006D0001006C0002006A000100690088 -:1016B000020067000100660001006500010064008F -:1016C00002006200010061000100600001005F0093 -:1016D00002005D0001005C0001005B0001005A0097 -:1016E0000100590001005800010057000100560098 -:1016F0000100550001005400010053000000530098 -:1017000001005200010051000100500001004F0093 -:1017100001004E0000004E0001004D0001004C0091 -:1017200001004B0000004B0001004A00010049008D -:101730000100480000004800010047000100460089 -:101740000000460001004500000045000100440083 -:10175000010043000000430001004200000042007D -:1017600001004100000041000100400001003F0075 -:1017700000003F0001003E0000003E0001003D006F -:1017800000003D0001003C0000003C0000003C0067 -:1017900001003B0000003B0001003A0000003A005D -:1017A0000100390000003900010038000000380055 -:1017B000000038000100370000003700010036004B -:1017C0000000360000003600010035000000350042 -:1017D0000000350001003400000034000000340037 -:1017E000010033000000330000003300010032002C -:1017F0000000320000003200010031000000310022 -:101800000000310001003000000030000000300016 -:1018100001002F0000002F0000002F0000002F000B -:1018200001002E0000002E0000002E0001002D00FF -:1018300000002D0000002D0000002D0001002C00F4 -:1018400000002C0000002C0000002C0001002B00E8 -:1018500000002B0000002B0000002B0001002A00DC -:1018600000002A0000002A0000002A0001002900D0 -:1018700000002900000029000000290000002900C4 -:1018800001002800000028000000280000002800B7 -:1018900000002800010027000000270000002700AA -:1018A000000027000000270001002600000026009D -:1018B0000000260000002600000026000100250090 -:1018C0000000250000002500000025000000250084 -:1018D0000000250001002400000024000000240076 -:1018E0000000240000002400010023000000230069 -:1018F000000023000000230000002300000023005C -:10190000000023000100220000002200000022004D -:10191000000022000000220000002200010021003F -:101920000000210000002100000021000000210033 -:101930000000210000002100010020000000200024 -:101940000000200000002000000020000000200017 -:10195000000020000000200001001F0000001F0008 -:1019600000001F0000001F0000001F0000001F00FB -:1019700000001F0001001E0000001E0000001E00ED -:1019800000001E00000024F4D43050C38E20C2A2F8 -:101990004017828B7011127A910D816CD90AA8615F -:1019A000E108C7586607615143061E4B5D05C145F6 -:1019B000A7041A411104093D9803713931034036D7 -:1019C000DB0265339102D4305402802E1D02632C59 -:1019D000EE01752AC501B028A001102781018F25CD -:1019E00064012B244B01E0223401AC211F018D2026 -:1019F0000D01801FFC00841EED00971DDF00B81C48 -:101A0000D200E61BC600201BBC00641AB200B2194B -:101A1000A8000A19A0006A189900D1179100401770 -:101A20008B00B516840031167E00B31579003A1587 -:101A30007300C7146F0058146A00EE136600881311 -:101A4000630025135E00C7125B006C12570015126D -:101A50005400C111510070114F0021114B00D610DC -:101A600049008D1047004610440002104200C00F8C -:101A70004000800F3E00420F3C00060F3B00CB0EA3 -:101A80003800930E37005C0E3500270E3400F30D3E -:101A90003200C10D3100900D3000600D2E00320D6E -:101AA0002D00050D2C00D90C2B00AE0C2900850C47 -:101AB00029005C0C2700350C27000E0C2600E80BD3 -:101AC0002400C40B2400A00B23007D0B23005A0B21 -:101AD0002100390B2100180B2000F80A1F00D90A39 -:101AE0001E00BB0A1E009D0A1D00800A1D00630A1D -:101AF0001C00470A1B002C0A1B00110A1A00F709D8 -:101B00001A00DD091900C4091900AB09190092096E -:101B100017007B091800630917004C0916003609E5 -:101B20001600200916000A091500F5081500E0083E -:101B30001400CC081400B8081400A408140090087D -:101B400013007D0812006B081300580812004608A5 -:101B500012003408110023081100120811000108B6 -:101B60001100F0071000E0071000D0071000C007B8 -:101B70001000B0070F00A107100091070E008307A7 -:101B80000F0074070F0065070E0057070E00490786 -:101B90000E003B070D002E070E0020070D00130757 -:101BA0000D0006070D00F9060C00ED060D00E0061D -:101BB0000C00D4060C00C8060C00BC060C00B006D5 -:101BC0000C00A4060B0099060C008D060B00820683 -:101BD0000B0077060B006C060B0061060A00570627 -:101BE0000B004C060A0042060A0038060A002E06C0 -:101BF0000A0024060A001A060A0010060900070651 -:101C00000A00FD050900F4050900EB050900E205DD -:101C10000900D9050900D0050900C7050900BE055E -:101C20000900B5050800AD050800A50509009C05DB -:101C30000800940508008C050800840508007C0550 -:101C40000800740508006C050700650508005D05BF -:101C50000700560508004E05070047050700400528 -:101C6000080038050700310507002A05070023058D -:101C700007001C050600160507000F0507000805EC -:101C8000060002050700FB040600F5040700EE0449 -:101C90000600E8040600E2040700DB040600D504A1 -:101CA0000600CF040600C9040600C3040600BD04F4 -:101CB0000600B7040600B1040500AC040600A60443 -:101CC0000600A00405009B0406009504050090048E -:101CD00006008A04050085040500800406007A04D5 -:101CE000050075040500700405006B04050066041A -:101CF0000500610405005C0405005704050052045A -:101D000005004D04050048040500430405003E0499 -:101D100004003A04050035040500300404002C04D6 -:101D2000050027040400230405001E0404001A040F -:101D3000040016040500110404000D040400090445 -:101D400005000404040000040400FC030400F8037C -:101D50000400F4030400F0030400EC030400E803AF -:101D60000400E4030400E0030400DC030400D803DF -:101D70000400D4030400D0030400CC030400C8030F -:101D80000300C503030024F404D9201BC40C5C0E1B -:101D90009804C4095F0265077101F405F900FB04AA -:101DA000B30048048700C1036900580355000303CA -:101DB0004500BE023A008402310053022A00290283 -:101DC000250004022000E4011C00C8011900AF0135 -:101DD00017009801140084011300710110006101C3 -:101DE000100051010E0043010D0036010B002B01C4 -:101DF0000B0020010B00150109000C010900030173 -:101E00000800FB000800F3000800EB000700E400F6 -:101E10000600DE000600D8000600D2000600CC0056 -:101E20000500C7000500C2000500BD000400B900A0 -:101E30000400B5000400B1000400AD000400A900D6 -:101E40000400A5000300A20003009F0004009B0003 -:101E50000300980003009500020093000300900027 -:101E600003008D0002008B00030088000200860042 -:101E7000020084000300810002007F0002007D0058 -:101E800002007B000200790002007700010076006A -:101E900002007400020072000100710002006F0075 -:101EA00002006D0001006C0002006A000100690080 -:101EB0000200670001006600010065000100640087 -:101EC00002006200010061000100600001005F008B -:101ED00002005D0001005C0001005B0001005A008F -:101EE0000100590001005800010057000100560090 -:101EF0000100550001005400010053000000530090 -:101F000001005200010051000100500001004F008B -:101F100001004E0000004E0001004D0001004C0089 -:101F200001004B0000004B0001004A000100490085 -:101F30000100480000004800010047000100460081 -:101F4000000046000100450000004500010044007B -:101F50000100430000004300010042000000420075 -:101F600001004100000041000100400001003F006D -:101F700000003F0001003E0000003E0001003D0067 -:101F800000003D0001003C0000003C0000003C005F -:101F900001003B0000003B0001003A0000003A0055 -:101FA000010039000000390001003800000038004D -:101FB0000000380001003700000037000100360043 -:101FC000000036000000360001003500000035003A -:101FD000000035000100340000003400000034002F -:101FE0000100330000003300000033000100320024 -:101FF000000032000000320001003100000031001A -:10200000000031000100300000003000000030000E -:1020100001002F0000002F0000002F0000002F0003 -:1020200001002E0000002E0000002E0001002D00F7 -:1020300000002D0000002D0000002D0001002C00EC -:1020400000002C0000002C0000002C0001002B00E0 -:1020500000002B0000002B0000002B0001002A00D4 -:1020600000002A0000002A0000002A0001002900C8 -:1020700000002900000029000000290000002900BC -:1020800001002800000028000000280000002800AF -:1020900000002800010027000000270000002700A2 -:1020A0000000270000002700010026000000260095 -:1020B0000000260000002600000026000100250088 -:1020C000000025000000250000002500000025007C -:1020D000000025000100240000002400000024006E -:1020E0000000240000002400010023000000230061 -:1020F0000000230000002300000023000000230054 -:102100000000230001002200000022000000220045 -:102110000000220000002200000022000100210037 -:10212000000021000000210000002100000021002B -:10213000000021000000210001002000000020001C -:10214000000020000000200000002000000020000F -:10215000000020000000200001001F0000001F0000 -:1021600000001F0000001F0000001F0000001F00F3 -:1021700000001F0001001E0000001E0000001E00E5 -:1021800000001E00000024F4D43050C38E20C2A2F0 -:102190004017828B7011127A910D816CD90AA86157 -:1021A000E108C7586607615143061E4B5D05C145EE -:1021B000A7041A411104093D9803713931034036CF -:1021C000DB0265339102D4305402802E1D02632C51 -:1021D000EE01752AC501B028A001102781018F25C5 -:1021E00064012B244B01E0223401AC211F018D201E -:1021F0000D01801FFC00841EED00971DDF00B81C40 -:10220000D200E61BC600201BBC00641AB200B21943 -:10221000A8000A19A0006A189900D1179100401768 -:102220008B00B516840031167E00B31579003A157F -:102230007300C7146F0058146A00EE136600881309 -:10224000630025135E00C7125B006C125700151265 -:102250005400C111510070114F0021114B00D610D4 -:1022600049008D1047004610440002104200C00F84 -:102270004000800F3E00420F3C00060F3B00CB0E9B -:102280003800930E37005C0E3500270E3400F30D36 -:102290003200C10D3100900D3000600D2E00320D66 -:1022A0002D00050D2C00D90C2B00AE0C2900850C3F -:1022B00029005C0C2700350C27000E0C2600E80BCB -:1022C0002400C40B2400A00B23007D0B23005A0B19 -:1022D0002100390B2100180B2000F80A1F00D90A31 -:1022E0001E00BB0A1E009D0A1D00800A1D00630A15 -:1022F0001C00470A1B002C0A1B00110A1A00F709D0 -:102300001A00DD091900C4091900AB091900920966 -:1023100017007B091800630917004C0916003609DD -:102320001600200916000A091500F5081500E00836 -:102330001400CC081400B8081400A4081400900875 -:1023400013007D0812006B0813005808120046089D -:1023500012003408110023081100120811000108AE -:102360001100F0071000E0071000D0071000C007B0 -:102370001000B0070F00A107100091070E0083079F -:102380000F0074070F0065070E0057070E0049077E -:102390000E003B070D002E070E0020070D0013074F -:1023A0000D0006070D00F9060C00ED060D00E00615 -:1023B0000C00D4060C00C8060C00BC060C00B006CD -:1023C0000C00A4060B0099060C008D060B0082067B -:1023D0000B0077060B006C060B0061060A0057061F -:1023E0000B004C060A0042060A0038060A002E06B8 -:1023F0000A0024060A001A060A0010060900070649 -:102400000A00FD050900F4050900EB050900E205D5 -:102410000900D9050900D0050900C7050900BE0556 -:102420000900B5050800AD050800A50509009C05D3 -:102430000800940508008C050800840508007C0548 -:102440000800740508006C050700650508005D05B7 -:102450000700560508004E05070047050700400520 -:10246000080038050700310507002A050700230585 -:1024700007001C050600160507000F0507000805E4 -:10248000060002050700FB040600F5040700EE0441 -:102490000600E8040600E2040700DB040600D50499 -:1024A0000600CF040600C9040600C3040600BD04EC -:1024B0000600B7040600B1040500AC040600A6043B -:1024C0000600A00405009B04060095040500900486 -:1024D00006008A04050085040500800406007A04CD -:1024E000050075040500700405006B040500660412 -:1024F0000500610405005C04050057040500520452 -:1025000005004D04050048040500430405003E0491 -:1025100004003A04050035040500300404002C04CE -:10252000050027040400230405001E0404001A0407 -:10253000040016040500110404000D04040009043D -:1025400005000404040000040400FC030400F80374 -:102550000400F4030400F0030400EC030400E803A7 -:102560000400E4030400E0030400DC030400D803D7 -:102570000400D4030400D0030400CC030400C80307 -:102580000300C503030070012C0190012701B00175 -:102590002201C0011D01F0011801100213013002D7 -:1025A0000E016002090190020401C002FF00000355 -:1025B000FA004003F5008003F000D003EB00200494 -:1025C000E6007004E100E004DC004005D700C0052F -:1025D000D2004006CD00D006C8008007C3003008F6 -:1025E000BE00F008B900C009B400B00AAF00B00BDB -:1025F000AA00D00CA500000EA000500F9B00C01038 -:1026000096005012910000148C00C0158700B0177E -:102610008200B0197D00D01B7800001E730040209E -:102620006E0090226900F024640040275F0090292A -:102630005A00E02B5500102E500020304B00103275 -:102640004600E033410090353C00103737007038C9 -:102650003200A0392D00B03A2800A03B2300603C96 -:102660001E00103D1900903D1400103E0F00703EFA -:102670000A00C03E0500003F0000403FFBFF803FD6 -:10268000F6FFC03FF1FF1000C90210012C0140010C -:10269000220170011801B0010E01F0010401500285 -:1026A000FA00B002F0003003E600D003DC00900432 -:1026B000D2007005C800A006BE000008B400B00932 -:1026C000AA00D00BA000600E960060118C000015CF -:1026D000820020197800C01D6E00A0226400B0277F -:1026E0005A00902C500000314600E0343C00103875 -:1026F0003200903A2800603C1E00A03D1400803E4D -:102700000A00203F0000256C642E25696D004D6194 -:10271000726C696E20322E305F44573300206D6139 -:10272000783A00206D696E3A00417869732000455F -:1027300072726F722077726974696E6720746F208D -:10274000454550524F4D210A00363726033C3D384F -:102750000E2E303E121A1C1824221E08440AFF4373 -:102760000809070001627573793A20706175736515 -:102770006420666F7220696E7075740A00627573EA -:10278000793A2070617573656420666F7220757385 -:1027900065720A00627573793A2070726F636573AF -:1027A00073696E670A0053544F505045442E200001 -:1027B0005072696E7465722073746F7070656420F6 -:1027C00064756520746F206572726F72732E204677 -:1027D000697820746865206572726F7220616E641A -:1027E00020757365204D39393920746F20726573F7 -:1027F000746172742E202854656D706572617475F1 -:1028000072652069732072657365742E2053657438 -:1028100020697420616674657220726573746172D8 -:1028200074696E67290A004E6F20436865636B7395 -:10283000756D2077697468206C696E65206E756DA2 -:102840006265722C204C617374204C696E653A206D -:10285000004E6F20436865636B73756D20776974F4 -:1028600068206C696E65206E756D6265722C204CF7 -:10287000617374204C696E653A2000636865636B10 -:1028800073756D206D69736D617463682C204C6184 -:102890007374204C696E653A20004C696E65204E59 -:1028A000756D626572206973206E6F74204C617360 -:1028B00074204C696E65204E756D6265722B312CEB -:1028C000204C617374204C696E653A20004D3131A3 -:1028D0003000776169740A004D313137004D333172 -:1028E0000053442072656164206572726F720A0041 -:1028F000446F6E65207072696E74696E67206669D8 -:102900006C650A004B494C4C20636175736564200B -:10291000627920746F6F206D75636820696E6163E2 -:10292000746976652074696D65202D2063757272F7 -:10293000656E7420636F6D6D616E643A20002020B7 -:10294000506C616E6E65724275666665724279742E -:1029500065733A20002046726565204D656D6F7283 -:10296000793A2000436F6D70696C65643A20536555 -:102970007020203820323031390A00207C20417507 -:1029800074686F723A2054696E794D616368696E3C -:10299000657333440A00323031392D30372D3330EE -:1029A00000204C61737420557064617465643A2032 -:1029B00000322E305F4457330A004D61726C696EED -:1029C0000020536F66747761726520526573657479 -:1029D0000A00205761746368646F672052657365ED -:1029E000740A002042726F776E206F7574205265F2 -:1029F0007365740A002045787465726E616C2052AC -:102A0000657365740A00506F77657255700A0073BC -:102A1000746172740A006175746F25632E670065B6 -:102A200072726F722077726974696E6720746F209A -:102A300066696C650A00446F6E6520736176696E25 -:102A4000672066696C652E0A004D323900205A3ABB -:102A50000020593A0020583A00656E6473746F7014 -:102A600073206869743A200047323858590043612E -:102A70006E6E6F74206F70656E207375626469721C -:102A8000200053442063617264206F6B0A006F70F2 -:102A9000656E526F6F74206661696C65640A0076BA -:102AA0006F6C756D652E696E6974206661696C6501 -:102AB000640A00534420696E6974206661696C0A77 -:102AC000004D3234004D3233202573005772697443 -:102AD000696E6720746F2066696C653A20002E0A63 -:102AE000006F70656E206661696C65642C204669B4 -:102AF0006C653A20002E0A006F70656E2066616971 -:102B00006C65642C2046696C653A200046696C65EA -:102B10002073656C65637465640A002053697A6587 -:102B20003A200046696C65206F70656E65643A20D6 -:102B300000667265736800646F696E67002066697D -:102B40006C653A20004E6F772000454E4420535567 -:102B500042524F5554494E450A002220706F73006F -:102B60002220706172656E743A2200535542524FB2 -:102B70005554494E452043414C4C20746172676561 -:102B8000743A2200747279696E6720746F206361F1 -:102B90006C6C207375622D67636F64652066696C69 -:102BA0006573207769746820746F6F206D616E792A -:102BB000206C6576656C732E204D4158206C6576CF -:102BC000656C2069733A310A005344207072696E53 -:102BD00074696E67206279746520004E6F742053AB -:102BE00044207072696E74696E670A007A5F6D695D -:102BF0006E00795F6D696E00785F6D696E00526579 -:102C0000706F7274696E6720656E6473746F702084 -:102C10007374617475730A00205A3A0020593A009F -:102C200020436F756E7420583A0020453A00205AB0 -:102C30003A0020593A00583A0000809D4300009A1B -:102C4000430000C843000000000000000000000036 -:102C50000020746F6F206C6F6E67206578747275DA -:102C600073696F6E2070726576656E7465640A00B4 -:102C700020636F6C6420657874727573696F6E2061 -:102C800070726576656E7465640A0020746F6F20DB -:102C90006C6F6E6720657874727573696F6E2070E3 -:102CA000726576656E7465640A0020636F6C6420DB -:102CB000657874727573696F6E2070726576656E73 -:102CC0007465640A001000C90210012C0140012241 -:102CD0000170011801B0010E01F00104015002FA67 -:102CE00000B002F0003003E600D003DC009004D214 -:102CF000007005C800A006BE000008B400B009AA14 -:102D000000D00BA000600E960060118C00001582B0 -:102D10000020197800C01D6E00A0226400B0275A60 -:102D200000902C500000314600E0343C0010383256 -:102D300000903A2800603C1E00A03D1400803E0A2E -:102D400000203F0000453120544845524D414C2061 -:102D500052554E415741590042454420544845522E -:102D60004D414C2052554E415741590054686572AF -:102D70006D616C2052756E61776179004531204537 -:102D800072723A204D415854454D50004572723A86 -:102D9000204D415854454D5020424544004D415826 -:102DA00054454D50207472696767657265640045CB -:102DB00031204572723A204D494E54454D500045E0 -:102DC00072723A204D494E54454D502042454400C0 -:102DD0004D494E54454D5020747269676765726560 -:102DE00064000A0A0020205A5F4D494E3A00202014 -:102DF000595F4D494E3A002020585F4D494E3A00E8 -:102E00004D383420582059205A204500202F0020CA -:102E100042403A0020403A004520436F6F6C696E93 -:102E2000672E2E2E00452048656174696E672E2E30 -:102E30002E0020573A0020573A00496E76616C699F -:102E4000642065787472756465720A004163746900 -:102E500076652045787472756465723A2000486F13 -:102E600074656E6420746F6F20636F6C640A002059 -:102E700042002050006F6B00526573656E643A200B -:102E80000043616E6E6F74206F70656E20737562A3 -:102E900064697220002569730025696D20256973B6 -:102EA000002569682025696D2025697300256964FE -:102EB000202569682025696D2025697300256979B9 -:102EC00020256964202569682025696D202569739E -:102ED0000023646566696E652044454641554C543F -:102EE0005F0000626564004B6420004B6920004B6A -:102EF000702000504944204175746F74756E6520D0 -:102F000066696E6973686564212050757420746801 -:102F100065206C617374204B702C204B6920616EAE -:102F200064204B6420636F6E7374616E74732066EB -:102F3000726F6D2062656C6F7720696E746F2043CD -:102F40006F6E66696775726174696F6E2E680A00CC -:102F5000504944204175746F74756E6520666169CF -:102F60006C6564212074696D656F75740A00453164 -:102F700020544845524D414C2052554E41574159DD -:102F80000042454420544845524D414C2052554E34 -:102F90004157415900546865726D616C2052756EDD -:102FA000617761790045312048656174696E6720F9 -:102FB0004661696C656400426564204865617469B6 -:102FC0006E67204661696C65640048656174696E6E -:102FD00067206661696C65640050494420417574DE -:102FE0006F74756E65206661696C65642120546537 -:102FF0006D706572617475726520746F6F20686999 -:1030000067680A00204B643A2000204B693A200090 -:10301000204B703A20000A20436C6173736963206F -:10302000504944200A00204B643A2000204B693A62 -:103030002000204B703A20000A204E6F206F7665EA -:103040007273686F6F740A002054753A2000204B29 -:10305000753A2000206D61783A2000206D696E3A43 -:10306000200020643A200020626961733A200050F9 -:103070004944204175746F74756E65207374617274 -:10308000740A00504944204175746F74756E652050 -:103090006661696C6564212054656D706572617448 -:1030A00075726520746F6F20686967680A005049FF -:1030B00044204175746F74756E65206661696C6536 -:1030C00064212042616420657874727564657220A1 -:1030D0006E756D6265720A002020207C0A004E41E8 -:1030E0004E0020202E20202000207C004C43443A1B -:1030F0000A004353563A0A0020666F7220003A0ACB -:103100000A000A42656420546F706F6772617068CC -:1031100079205265706F727400473238004D323832 -:10312000302050302053393000446F6E652E0A0035 -:103130003F496E76616C69642073746F7261676574 -:1031400020736C6F742E0A3F557365203020746FA6 -:1031500020003F454550524F4D2073746F72616798 -:1031600065206E6F7420617661696C61626C652E9A -:103170000A00446F6E652E0A003F496E76616C69E5 -:10318000642073746F7261676520736C6F742E0AAC -:103190003F557365203020746F20003F45455052E5 -:1031A0004F4D2073746F72616765206E6F7420617C -:1031B0007661696C61626C652E0A003F503420694B -:1031C00073206F6E6C7920617661696C61626C65E9 -:1031D000207768656E20616E204C4344206973201F -:1031E00070726573656E742E0A003F5032206973E9 -:1031F000206F6E6C7920617661696C61626C65200C -:103200007768656E20616E204C434420697320709E -:10321000726573656E742E0A00292E0A0A005072B8 -:103220006F62696E672061726F756E642028004D51 -:1032300065736820696E76616C6964617465642E7B -:103240002050726F62696E67206D6573682E0A0088 -:103250004D657368207A65726F65642E0A00446557 -:103260006661756C742073746F7261676520736C2E -:103270006F7420302073656C65637465642E0A007A -:103280004C6F6164696E6720746573745F706174FC -:103290007465726E2076616C7565732E0A0A00493A -:1032A0006E76616C696420746573745F70617474A8 -:1032B00065726E2076616C75652E20282D31207424 -:1032C0006F2032290A0A004C6F636174696F6E7354 -:1032D00020696E76616C6964617465642E0A0A0007 -:1032E000456E74697265204D65736820696E7661FC -:1032F0006C6964617465642E0A0A007C3C3E5E2B36 -:103300003D3F2F5B5D3B2C2A225C0046696E697352 -:10331000686564210A00206F662000205A00205949 -:1033200000476F696E6720746F3A20580043570A50 -:1033300000206469723A0020616E676C653A005340 -:1033400074617274207261646975733A00506F73AE -:103350006974696F6E696E67207468652070726F3A -:1033600062652E2E2E0A003F4E756D626572206FCB -:1033700066206C65677320696E206D6F76656D657C -:103380006E74206E6F7420706C61757369626C6509 -:103390002028302D3135292E0A003F2028582C595D -:1033A00029206F7574206F6620626F756E64732EAE -:1033B0000A003F53616D706C652073697A65206EF9 -:1033C0006F7420706C61757369626C652028342D90 -:1033D0003530292E0A004D3438205A2D50726F6234 -:1033E00065205265706561746162696C69747920E9 -:1033F000546573740A003F2856296572626F7365BD -:10340000206C6576656C20697320696D706C6175E0 -:103410007369626C652028302D34292E0A003F4ADA -:10342000206F7574206F662072616E67652028308A -:103430002E303120746F20302E33290A00546F6FE4 -:103440006C6368616E67653A0020204D3231370049 -:10345000205A0020590020580020520020500020FF -:10346000450020530050574D3A2020253464005029 -:10347000574D3A20202534640050574D3A202025DE -:1034800034640050574D3A20202534640050574D85 -:103490003A20202534640050574D3A2020253464CA -:1034A0000050574D3A20202534640050574D3A20A3 -:1034B000202534640050574D3A20202534640050B4 -:1034C000574D3A20202534640050574D3A2020258E -:1034D00034640050574D3A20202534640050574D35 -:1034E0003A20202534640050574D3A20202534647A -:1034F0000050574D3A20202534640050574D3A2053 -:1035000020253464004E6F20454550524F4D2E0A01 -:10351000003F4D65736820746F6F20626967206695 -:103520006F7220454550524F4D2E0A004E6F204578 -:103530004550524F4D2E0A0057616974696E6720DD -:10354000666F72206865617475702E0A004C656143 -:1035500076696E6720473236003F5370656369664F -:1035600069656420582C5920636F6F7264696E61BD -:103570007465206F7574206F6620626F756E64735A -:103580002E0A003F28522965706561742076616CAF -:103590007565206E6F7420706C61757369626C65FF -:1035A0003B206D757374206265206174206C6561C9 -:1035B000737420312E0A003F2852296570656174AA -:1035C000206D757374206265207370656369666928 -:1035D0006564207768656E206E6F74207573696E00 -:1035E0006720616E204C43442E0A003F5370656390 -:1035F0006966696564206E6F7A7A6C652074656DA2 -:103600007065726174757265206E6F7420706C6184 -:10361000757369626C652E0A003F53706563696655 -:103620006965642066696C616D656E742073697A82 -:1036300065206E6F7420706C61757369626C652EA5 -:103640000A003F537065636966696564207072693A -:103650006D65206C656E677468206E6F7420706C89 -:1036600061757369626C652E0A003F5072696D6501 -:10367000206C656E677468206D75737420626520B8 -:10368000737065636966696564207768656E206E2E -:103690006F74207573696E6720616E204C43442EF1 -:1036A0000A003F537065636966696564206E6F7ACE -:1036B0007A6C652073697A65206E6F7420706C6116 -:1036C000757369626C652E0A003F5265747261639E -:1036D00074696F6E204D756C7469706C69657220C9 -:1036E0006D757374206265207370656369666965C2 -:1036F000642E0A003F5370656369666965642052F1 -:10370000657472616374696F6E204D756C74697055 -:103710006C696572206E6F7420706C61757369627C -:103720006C652E0A003F53706563696669656420A5 -:103730006C6179657220686569676874206E6F7462 -:1037400020706C61757369626C652E0A0043292EC6 -:103750000A003F5370656369666965642062656449 -:103760002074656D7065726174757265206E6F741A -:1037700020706C61757369626C65202834302D008F -:10378000473236207374617274696E672E2E2E0A6A -:10379000004F46460A0046616465204865696768CF -:1037A000742000426564204C6576656C696E672004 -:1037B000004661696C656420746F20656E61626C9F -:1037C0006520426564204C6576656C696E670A0009 -:1037D000496E76616C6964206D6573682E0A0076A7 -:1037E000616C69640A53746F7261676520736C6FF2 -:1037F000743A2000696E004D65736820697320007B -:103800003F557365203020746F20003F496E76610C -:103810006C69642073746F7261676520736C6F7478 -:103820002E0A003F454550524F4D2073746F726110 -:103830006765206E6F7420617661696C61626C658A -:103840002E0A004D65736820706F696E7420636185 -:103850006E6E6F74206265207265736F6C7665643E -:103860000A004D34323120696E636F727265637481 -:1038700020706172616D6574657220757361676532 -:103880000A0053544F502063616C6C65642062657C -:103890006361757365206F6620424C546F75636871 -:1038A000206572726F72202D20726573746172745C -:1038B0002077697468204D3939390A0053544F50C4 -:1038C0002063616C6C65642062656361757365205B -:1038D0006F6620424C546F756368206572726F7218 -:1038E000202D20726573746172742077697468206A -:1038F0004D3939390A002F2F616374696F6E3A00B0 -:10390000627574746F6E00656E640070726F6D70B6 -:10391000745F0073686F77004D38373620526573D7 -:10392000706F6E64696E672050524F4D50545F0047 -:10393000554E4B4E4F574E2053544154450047432C -:103940004F44455F494E464F004C43445F504155FC -:1039500053455F524553554D450046494C414D45F1 -:103960004E545F52554E4F55545F434F4E54494E3F -:1039700055450046494C414D454E545F52554E4FBA -:103980005554004D323400436F6E74696E75650096 -:103990005075726765204D6F726500506175736573 -:1039A000640070617573656400486F74656E6420AF -:1039B000746F6F20636F6C640A00506175736500EB -:1039C000507265737320627574746F6E20286F7205 -:1039D000204D3130382920746F20726573756D6504 -:1039E0000A00496E736572742066696C616D656E5C -:1039F0007420616E642070726573732062757474D4 -:103A00006F6E20286F72204D313038290A00436FC5 -:103A10006E74696E75650052656865617420446FE7 -:103A20006E6500526568656174696E672E2E2E00A2 -:103A3000526568656174696E670048656174657296 -:103A400054696D656F7574005265686561740048EE -:103A5000656174657254696D656F75740050726547 -:103A6000737320627574746F6E20286F72204D31ED -:103A700030382920746F2068656174206E6F7A7AFF -:103A80006C650A004E6F7A7A6C65205061726B65C6 -:103A90006400436F6E74696E7565004E6F7A7A6C60 -:103AA00065205061726B656400486F74656E6420B8 -:103AB000746F6F20636F6C640A00726573756D6557 -:103AC0006400626567696E00436F6E74696E756548 -:103AD0000050757267654D6F726500506175736552 -:103AE00064004C6F61642046696C616D656E7400A2 -:103AF000436F6E74696E7565004C6F616420466932 -:103B00006C616D656E74205400496E73657274202B -:103B100066696C616D656E7420616E64207072659B -:103B2000737320627574746F6E20286F72204D312C -:103B30003038290A00526573756D6500050000066E -:103B40000100040006010006050000000600040054 -:103B50004B3B463B413B3C3B5D0A00436F756C640D -:103B6000206E6F7420636F6D706C657465204C53AC -:103B7000462100436F727265637465645F5A3D004D -:103B800054696C74696E6720506F696E7420256982 -:103B90002F2569000A0A002F0054696C74696E674A -:103BA000206D65736820706F696E7420003F4572E8 -:103BB000726F722070726F62696E6720706F696ECB -:103BC000742E2041626F7274696E67206F70657227 -:103BD0006174696F6E2E0A00436F7272656374655B -:103BE000645F5A3D0054696C74696E6720506F6958 -:103BF0006E7420332F330054696C74696E67206DC6 -:103C00006573682028332F33290A00436F72726569 -:103C1000637465645F5A3D0054696C74696E672013 -:103C2000506F696E7420322F330054696C74696E62 -:103C300067206D6573682028322F33290A00436F8F -:103C4000727265637465645F5A3D0054696C74698F -:103C50006E6720506F696E7420312F330054696C89 -:103C600074696E67206D6573682028312F33290AC7 -:103C700000646F6E650A00496E73756666696369F4 -:103C8000656E7420646174610A00000040409A9976 -:103C90007D429A99F742343338439A9974430080AD -:103CA000984334B3B64367E6D4439A19F34367A6FF -:103CB000084400C017449AD9264434F33544CD0C47 -:103CC0004544672654440040634400004040333379 -:103CD00081426666FC42CCCC3B43666679430080F9 -:103CE0009B43CC4CBA439919D94366E6F74399599B -:103CF0000B4400C01A4466262A44CC8C394433F362 -:103D000048449959584400C06744457874726170BA -:103D10006F6C6174696E67206D6573682E2E2E005E -:103D200000002100240027002A002D00300033006D -:103D300001010000040107010A0100002200250022 -:103D400028002B002E003100340002010000050184 -:103D500008010B01000020002300260029002C0090 -:103D60002F003200000100000301060109010505D2 -:103D70000505070508080808020202020A0A0808E1 -:103D8000040404040101010101010101030303030F -:103D900003030303040707070C0C0C0C0C0C0C0C9E -:103DA0000202020206060606060606060B0B0B0BAF -:103DB0000B0B0B0B010210202008081020401020D4 -:103DC00040800201020108040201010204081020DF -:103DD00040808040201008040201800402018040DD -:103DE0002010080402010804020101020408102046 -:103DF0004080010204081020408000000A0B0209E4 -:103E00000C0D0E0807030401000000000000000074 -:103E100000000000000000000000000000000000A2 -:103E2000000000000000121110000000000000005F -:103E30000000000000000000000000000000000082 -:103E4000220A00556E6B6E6F776E20636F6D6D6129 -:103E50006E643A2022005A5F53544F505F50494ECF -:103E6000005A5F535445505F50494E005A5F4D49C8 -:103E70004E5F50494E005A5F454E41424C455F509F -:103E8000494E005A5F4449525F50494E005A5F43C1 -:103E9000535F50494E00595F53544F505F50494E45 -:103EA00000595F535445505F50494E00595F4D498A -:103EB0004E5F50494E00595F454E41424C455F5060 -:103EC000494E00595F4449525F50494E00595F4383 -:103ED000535F50494E00585F53544F505F50494E06 -:103EE00000585F535445505F50494E00585F4D494C -:103EF0004E5F50494E00585F454E41424C455F5021 -:103F0000494E00585F4449525F50494E00585F4344 -:103F1000535F50494E0053535F50494E0053455232 -:103F2000564F335F50494E00534552564F325F5003 -:103F3000494E00534552564F315F50494E0053454C -:103F400052564F305F50494E005344535300534430 -:103F50005F4445544543545F50494E0053434B5FC3 -:103F600050494E0052414D50535F44395F50494EC5 -:103F70000052414D50535F44385F50494E0052410A -:103F80004D50535F4431305F50494E004D4F5349BF -:103F90005F50494E004D4F534645545F445F504972 -:103FA0004E004D49534F5F50494E004D41583636F3 -:103FB00037355F53535F50494E004C45445F50497D -:103FC0004E004845415445525F4245445F50494E7A -:103FD000004845415445525F305F50494E004649C4 -:103FE0004C5F52554E4F55545F50494E0046414E1E -:103FF000315F50494E0046414E5F50494E004531B9 -:104000005F535445505F50494E0045315F454E4126 -:10401000424C455F50494E0045315F4449525F5024 -:10402000494E0045315F43535F50494E0045305F74 -:10403000535445505F50494E0045305F454E414214 -:104040004C455F50494E0045305F4449525F5049EE -:104050004E0045305F43535F50494E00455F4D551C -:1040600058325F50494E00455F4D5558315F5049B9 -:104070004E00455F4D5558305F50494E00415652F5 -:104080005F53535F50494E004156525F53434B5F5D -:1040900050494E004156525F4D4F53495F50494E73 -:1040A000004156525F4D49534F5F50494E005445B1 -:1040B0004D505F4245445F50494E0054454D505F5E -:1040C000315F50494E0054454D505F305F50494E6E -:1040D0000046494C57494454485F50494E00545893 -:1040E000440052584400433A2000423A2000413AEA -:1040F000200020202020434F4D002020206E6F6E96 -:104100002D7374616E646172642050574D206D6F21 -:10411000646500202020636F6D7061726520696E98 -:104120007465727275707420656E61626C6564008E -:104130002020206F766572666C6F7720696E7465DB -:10414000727275707420656E61626C6564003A20ED -:10415000002020202054494D534B00423A2000209B -:104160002020205443435200413A200020202020A8 -:1041700054434352002020202043533A2000202063 -:10418000202057474D3A200050574D3A20202534E3 -:10419000640050574D3A2020253464004700480001 -:1041A000000088008A008C00B300B4000000980072 -:1041B0009A009C00A800AA00AC0028012A012C014A -:1041C0002020202054494D455200440045006E00F7 -:1041D000800081006F00B000B1007000900091007D -:1041E0007100A000A100720020012101730020696C -:1041F0007320616C736F207469656420746F207420 -:104200006869732070696E0054494D45523143000E -:104210000A202E002020002020506F72743A2000C7 -:1042200020202000202020416E616C6F6720696E85 -:10423000203D2025356C64003C756E757365642FD8 -:10424000756E6B6E6F776E3E0020284125326429B3 -:104250002020002533642000257350494E3A200069 -:104260004F7574707574203D2000496E7075742010 -:10427000203D2000416E616C6F6720696E203D20FB -:1042800025356C640070726F74656374656420001A -:104290002028412532642920200025336420002570 -:1042A0007350494E3A2000E2400001DE400101D146 -:1042B000403B00C6404300BB404500AE404400A127 -:1042C00040320194403301884034017D4035017211 -:1042D00040280167402A015C402C0152402A0147D6 -:1042E000401C01394018012D401A0123402C0118AF -:1042F0004022010A401E01FE3F2401F63F0901ED64 -:104300003F0701DE3F0201D13F0A01C23F0801BA67 -:104310003F0D01AB3F4201A23F3201953F07018CA7 -:104320003F33017E3F0A01713F0801643F09015C90 -:104330003F34014E3F3101493F35013E3F0B0133D0 -:104340003F0601283F05011D3F0401163F35010DC1 -:104350003F3501033F3701F63E2601EC3E0301E104 -:104360003E3601D63E0301CD3E3101C33E3D01B68E -:104370003E3801AC3E0E01A13E3C01963E0E018D41 -:104380003E2801833E3001763E3E016C3E120161C3 -:104390003E2E01563E1201446F6E652E0A00666184 -:1043A0006C7365004641494C3A204E6F2074726927 -:1043B000676765722064657465637465640A0046A6 -:1043C00041494C3A204E6F6973652064657465639A -:1043D000746564202D20706C656173652072652D95 -:1043E00072756E20746573740A0020646574656369 -:1043F0007465642E0A003D20424C546F756368203A -:104400007072652056332E3120286F7220636F6DD5 -:1044100070617469626C6529003D205A2053657291 -:10442000766F2050726F6265003D20424C546F756C -:1044300063682056332E310020282B2F2D20346D19 -:1044400073293A20003A2033306D73206F72206D4B -:104450006F72650A002E2050756C73652077696451 -:104460007468002A2A20506C656173652074726933 -:10447000676765722070726F62652077697468691A -:104480006E20333020736563202A2A0A0046414992 -:104490004C3A20424C544F55434820656E61626C43 -:1044A0006564202D205365742075702074686973CD -:1044B00020646576696365206173206120536572AD -:1044C000766F2050726F6265207769746820494E5C -:1044D00056455254494E472073657420746F202707 -:1044E00074727565272E0A0020204445504C4F59A0 -:1044F00045442073746174653A204C4F5720286CF2 -:104500006F6769632030290020204445504C4F5983 -:1045100045442073746174653A204849474820280F -:104520006C6F676963203129003D204D65636861C8 -:104530006E6963616C205377697463682064657485 -:1045400065637465640A005741524E494E473A20EC -:10455000494E56455254494E472073657474696EEE -:10456000672070726F6261626C79206261636B7741 -:10457000617264732E0A002E204465706C6F79207E -:10458000262073746F7720342074696D65730A0078 -:104590003D20424C546F75636820436C61737369AE -:1045A0006320312E322C20312E332C20536D61723A -:1045B0007420312E302C20322E302C20322E322CF2 -:1045C00020332E302C20332E3120646574656374C3 -:1045D00065642E0A002E20436865636B20666F7247 -:1045E00020424C544F5543480A002E205A5F4D49F3 -:1045F0004E5F454E4453544F505F494E56455254BA -:10460000494E473A20002E2050726F6265205A5F53 -:104610004D494E5F50494E3A20002C2073746F77FD -:1046200020616E676C653A202020002C2064657044 -:104630006C6F7920616E676C653A20005365727605 -:104640006F2070726F626520746573740A2E207516 -:1046500073696E6720696E6465783A2020004D3476 -:104660003320576169742043616C6C656400436F4B -:104670006E74696E7565004D34332057616974201E -:1046800043616C6C6564005761746368696E672090 -:1046900070696E730A0064697300656E0061626C14 -:1046A00065640A00656E6473746F70206D6F6E6967 -:1046B000746F72200024F4D43050C38E20C2A24004 -:1046C00017828B7011127A910D816CD90AA861E161 -:1046D00008C7586607615143061E4B5D05C145A7D3 -:1046E000041A411104093D9803713931034036DB46 -:1046F0000265339102D4305402802E1D02632CEEE9 -:1047000001752AC501B028A001102781018F2564F9 -:10471000012B244B01E0223401AC211F018D200D1F -:1047200001801FFC00841EED00971DDF00B81CD225 -:1047300000E61BC600201BBC00641AB200B219A818 -:10474000000A19A0006A189900D117910040178B30 -:1047500000B516840031167E00B31579003A157342 -:1047600000C7146F0058146A00EE136600881363C4 -:104770000025135E00C7125B006C1257001512541F -:1047800000C111510070114F0021114B00D610498A -:10479000008D1047004610440002104200C00F4038 -:1047A00000800F3E00420F3C00060F3B00CB0E384E -:1047B00000930E37005C0E3500270E3400F30D32E7 -:1047C00000C10D3100900D3000600D2E00320D2D16 -:1047D00000050D2C00D90C2B00AE0C2900850C29EE -:1047E000005C0C2700350C27000E0C2600E80B247B -:1047F00000C40B2400A00B23007D0B23005A0B21C7 -:1048000000390B2100180B2000F80A1F00D90A1EDE -:1048100000BB0A1E009D0A1D00800A1D00630A1CC1 -:1048200000470A1B002C0A1B00110A1A00F7091A7C -:1048300000DD091900C4091900AB09190092091714 -:10484000007B091800630917004C09160036091689 -:1048500000200916000A091500F5081500E00814E3 -:1048600000CC081400B8081400A408140090081321 -:10487000007D0812006B0813005808120046081249 -:10488000003408110023081100120811000108115A -:1048900000F0071000E0071000D0071000C007105C -:1048A00000B0070F00A107100091070E0083070F4B -:1048B0000074070F0065070E0057070E0049070E2A -:1048C000003B070D002E070E0020070D0013070DFB -:1048D0000006070D00F9060C00ED060D00E0060CC1 -:1048E00000D4060C00C8060C00BC060C00B0060C78 -:1048F00000A4060B0099060C008D060B0082060B27 -:104900000077060B006C060B0061060A0057060BC9 -:10491000004C060A0042060A0038060A002E060A63 -:104920000024060A001A060A001006090007060AF3 -:1049300000FD050900F4050900EB050900E2050981 -:1049400000D9050900D0050900C7050900BE050901 -:1049500000B5050800AD050800A50509009C05087F -:1049600000940508008C050800840508007C0508F3 -:1049700000740508006C050700650508005D050763 -:1049800000560508004E05070047050700400508CA -:104990000038050700310507002A05070023050731 -:1049A000001C050600160507000F05070008050690 -:1049B0000002050700FB040600F5040700EE0406EC -:1049C00000E8040600E2040700DB040600D5040644 -:1049D00000CF040600C9040600C3040600BD040697 -:1049E00000B7040600B1040500AC040600A60406E6 -:1049F00000A00405009B0406009504050090040631 -:104A0000008A04050085040500800406007A040578 -:104A10000075040500700405006B040500660405BC -:104A200000610405005C04050057040500520405FC -:104A3000004D04050048040500430405003E04043D -:104A4000003A04050035040500300404002C040578 -:104A50000027040400230405001E0404001A0404B3 -:104A60000016040500110404000D040400090405E7 -:104A7000000404040000040400FC030400F8030420 -:104A800000F4030400F0030400EC030400E8030452 -:104A900000E4030400E0030400DC030400D8030482 -:104AA00000D4030400D0030400CC030400C80303B3 -:104AB00000C503030024F404D9201BC40C5C0E9829 -:104AC00004C4095F0265077101F405F900FB04B332 -:104AD0000048048700C103690058035500030345DB -:104AE00000BE023A008402310053022A0029022546 -:104AF0000004022000E4011C00C8011900AF0117E6 -:104B0000009801140084011300710110006101106C -:104B10000051010E0043010D0036010B002B010B6B -:104B20000020010B00150109000C01090003010818 -:104B300000FB000800F3000800EB000700E400069B -:104B400000DE000600D8000600D2000600CC0005FA -:104B500000C7000500C2000500BD000400B9000444 -:104B600000B5000400B1000400AD000400A9000479 -:104B700000A5000300A20003009F0004009B0003A7 -:104B800000980003009500020093000300900003CA -:104B9000008D0002008B00030088000200860002E6 -:104BA0000084000300810002007F0002007D0002FB -:104BB000007B00020079000200770001007600020D -:104BC000007400020072000100710002006F000218 -:104BD000006D0001006C0002006A00010069000223 -:104BE000006700010066000100650001006400022A -:104BF000006200010061000100600001005F00022E -:104C0000005D0001005C0001005B0001005A000132 -:104C10000059000100580001005700010056000132 -:104C20000055000100540001005300000053000132 -:104C3000005200010051000100500001004F00012E -:104C4000004E0000004E0001004D0001004C00012C -:104C5000004B0000004B0001004A00010049000128 -:104C60000048000000480001004700010046000025 -:104C7000004600010045000000450001004400011D -:104C80000043000000430001004200000042000118 -:104C9000004100000041000100400001003F000011 -:104CA000003F0001003E0000003E0001003D00000A -:104CB000003D0001003C0000003C0000003C000101 -:104CC000003B0000003B0001003A0000003A0001F8 -:104CD00000390000003900010038000000380000F1 -:104CE00000380001003700000037000100360000E6 -:104CF00000360000003600010035000000350000DD -:104D000000350001003400000034000000340001D0 -:104D100000330000003300000033000100320000C7 -:104D200000320000003200010031000000310000BC -:104D300000310001003000000030000000300001B0 -:104D4000002F0000002F0000002F0000002F0001A6 -:104D5000002E0000002E0000002E0001002D00009B -:104D6000002D0000002D0000002D0001002C00008F -:104D7000002C0000002C0000002C0001002B000083 -:104D8000002B0000002B0000002B0001002A000077 -:104D9000002A0000002A0000002A0001002900006B -:104DA000002900000029000000290000002900015E -:104DB0000028000000280000002800000028000053 -:104DC0000028000100270000002700000027000045 -:104DD0000027000000270001002600000026000038 -:104DE000002600000026000000260001002500002B -:104DF000002500000025000000250000002500001F -:104E00000025000100240000002400000024000010 -:104E10000024000000240001002300000023000003 -:104E200000230000002300000023000000230000F6 -:104E300000230001002200000022000000220000E8 -:104E400000220000002200000022000100210000DA -:104E500000210000002100000021000000210000CE -:104E600000210000002100010020000000200000BF -:104E700000200000002000000020000000200000B2 -:104E80000020000000200001001F0000001F0000A3 -:104E9000001F0000001F0000001F0000001F000096 -:104EA000001F0001001E0000001E0000001E000088 -:104EB000001E000000C23100001C260000F4190092 -:104EC00000D80F0000EB080000C0040000750200CD -:104ED00000400100000A20696E6974207A70726FC8 -:104EE00062655F7A6F6666736574203D2000454594 -:104EF00050524F4D20496E697469616C697A6564DE -:104F00000A003F556E61626C6520746F2073617694 -:104F100065206D65736820646174612E0A003F55D9 -:104F20006E61626C6520746F206C6F6164206D65CA -:104F3000736820646174612E0A00DC050000DC05E2 -:104F40000000640000004B0000000000FA43000075 -:104F5000FA4300002041000096420000A0420000F9 -:104F6000A0420000C8430000BE42556E69666965F4 -:104F70006420426564204C6576656C696E67003A12 -:104F80000A0020204D3630332000546F6F6C2D63A3 -:104F900068616E67696E673A0A00205500543120D7 -:104FA0004C002055005430204C0046696C616D6502 -:104FB0006E74206C6F61642F756E6C6F6164206C11 -:104FC000656E677468733A0A00204B0020204D39E3 -:104FD00030302054004C696E656172204164766106 -:104FE0006E63653A0A0020204D383531205A002082 -:104FF000204D38353120590020204D38353120588A -:10500000005A2D50726F6265204F6666736574009A -:1050100020440020490020204D333034205000200F -:10502000440020490020204D3330312050005049A9 -:10503000442073657474696E67733A0A00206D6565 -:10504000736865732E0A0A00454550524F4D206320 -:10505000616E20686F6C6420000A41637469766534 -:10506000204D65736820536C6F743A2000205A00FD -:1050700020204D3432302053003A0A00205A0020BC -:10508000590020204D323036205800486F6D652081 -:105090006F66667365743A0A00204A002054002047 -:1050A000530020204D323035204200204A3C6A75A2 -:1050B0006E635F6465763E00416476616E6365642D -:1050C0003A20423C6D696E5F7365676D656E745F13 -:1050D00074696D655F75733E20533C6D696E5F66E4 -:1050E000656564726174653E20543C6D696E5F74E1 -:1050F000726176656C5F66656564726174653E00B9 -:1051000020540020520020204D32303420500041E5 -:105110006363656C65726174696F6E2028756E6972 -:1051200074732F7332293A20503C7072696E745F29 -:10513000616363656C3E20523C7265747261637496 -:105140005F616363656C3E20543C74726176656C8C -:105150005F616363656C3E0A00204500205A0020B1 -:10516000590020204D3230312058004D6178696D52 -:10517000756D20416363656C65726174696F6E2043 -:1051800028756E6974732F7332293A0A002045001E -:10519000205A0020590020204D3230332058004D35 -:1051A0006178696D756D206665656472617465739B -:1051B0002028756E6974732F73293A0A0053746539 -:1051C00070732070657220756E69743A0A00202031 -:1051D0004D3230302044300A0020204D3230302013 -:1051E000543120440020204D3230302044002044EF -:1051F000697361626C65640A0046696C616D656E15 -:10520000742073657474696E67733A0020286D6D3D -:1052100029002020473231202020203B20556E6974 -:10522000747320696E206D6D00486F6D696E672024 -:105230004661696C6564006F70656E005452494741 -:105240004745524544003A200050726F62696E67CC -:10525000204661696C65640A0050726F62696E670E -:10526000204661696C656400204500205A00205981 -:1052700000204D39322058004F4646004F4E002046 -:105280005A00205900580020204D61783A20002013 -:105290005A00205900580020204D696E3A200053D2 -:1052A0006F667420656E6473746F70733A20005774 -:1052B00061726E696E67203A20436C65616E2043AF -:1052C0006972636C652072657175697265732058C7 -:1052D000590A0020496E76616C69642065787472A1 -:1052E0007564657220004469666665723A200046FE -:1052F000726F6D5374703A00537465707065723AD2 -:1053000000556E4C6576656C3A004C6576656C654B -:10531000643A005261773A20202020000A4C6F67DF -:105320006963616C3A004361703A0050726F626564 -:10533000205A204F66667365743A200050726F627F -:10534000652059204F66667365743A200050726F6D -:1053500062652058204F66667365743A20003F5995 -:10536000206F7574206F662072616E67652028302B -:105370002D33303820746F20333038290A003F58DD -:10538000206F7574206F662072616E67652028300B -:105390002D33313520746F20333135290A003F5ABF -:1053A000206F7574206F662072616E676520282DEE -:1053B000323020746F203230290A00220A00656ED4 -:1053C0007175657565696E6720220023206F662000 -:1053D00073616D706C65733A200050726F62696E14 -:1053E0006720506F696E742025692F2569002E0A89 -:1053F0000A002F000A50726F62696E67206D657334 -:105400006820706F696E742000496E76616C696403 -:10541000206D617020747970652E0A0A003F28465D -:10542000296164652068656967687420666F722009 -:10543000426564204C6576656C20436F72726563CB -:1054400074696F6E206E6F7420706C617573696221 -:105450006C652E0A0A003F43616E277420616374F5 -:10546000697661746520616E642064656163746946 -:1054700076617465206174207468652073616D6560 -:105480002074696D652E0A0A00426F7468205820E6 -:10549000262059206C6F636174696F6E73206D757F -:1054A0007374206265207370656369666965642E34 -:1054B0000A0A003F496E76616C696420677269640C -:1054C0002073697A6520284A2920737065636966AC -:1054D0006965642028322D39292E0A0A003F285098 -:1054E00029686173652076616C756520696E7661E7 -:1054F0006C69642028302D36292E0A0A003F285670 -:10550000296572626F7365206C6576656C206973BE -:1055100020696D706C61757369626C652028302D2F -:1055200034292E0A0A003F2852296570657469746F -:10553000696F6E20636F756E7420696E76616C6939 -:10554000642028312B292E0A0A002E0A006F70656C -:105550006E206661696C65642C2046696C653A2032 -:1055600000706F7765726F6666004B494C4C45441E -:105570002E20005072696E7465722068616C7465CB -:10558000642E206B696C6C28292063616C6C6564E7 -:10559000210A00486F6D6520257325732573204609 -:1055A00069727374002046697273740A00486F6DE3 -:1055B0006520000000000000000000000000000066 -:1055C00000484200004842000080405761726E6906 -:1055D0006E673A20486F6D696E672042756D702066 -:1055E00044697669736F72203C20310A000202041C -:1055F0000000A0400000A0400000004000809D434B -:1056000000009A430000C843FFFFFF544D3344207D -:1056100043522D582052656164792E005072696E94 -:1056200074696E672E2E2E005072696E7420506160 -:10563000757365640063616E63656C005072696EBA -:10564000742041626F727465640055492041626F35 -:10565000727400726573756D65004D3234007001AF -:105660002C0190012701B0012201C0011D01F001B0 -:1056700018011002130130020E01600209019002AC -:105680000401C002FF000003FA004003F50080039C -:10569000F000D003EB002004E6007004E100E00419 -:1056A000DC004005D700C005D2004006CD00D00682 -:1056B000C8008007C3003008BE00F008B900C00968 -:1056C000B400B00AAF00B00BAA00D00CA500000EC9 -:1056D000A000500F9B00C0109600501291000014C3 -:1056E0008C00C0158700B0178200B0197D00D01B58 -:1056F0007800001E730040206E0090226900F024A4 -:10570000640040275F0090295A00E02B5500102EBE -:10571000500020304B0010324600E03341009035FD -:105720003C001037370070383200A0392D00B03AF5 -:105730002800A03B2300603C1E00103D1900903D56 -:105740001400103E0F00703E0A00C03E0500003FEE -:105750000000403FFBFF803FF6FFC03FF1FF626566 -:1057600064002C2073797374656D2073746F70708E -:10577000656421204865617465725F49443A200080 -:105780004265642048656174696E67204661696C92 -:1057900065640048656174696E67206661696C655F -:1057A000640042454420544845524D414C205255D6 -:1057B0004E4157415900546865726D616C205275B5 -:1057C0006E617761790045312048656174696E6763 -:1057D000204661696C65640048656174696E672084 -:1057E0006661696C656400453120544845524D41FD -:1057F0004C2052554E4157415900546865726D61B5 -:105800006C2052756E6177617900202D20496E768B -:10581000616C6964206578747275646572206E7558 -:105820006D62657220210A0053544F505045442E3A -:1058300020005072696E7465722073746F707065A9 -:10584000642064756520746F206572726F72732EA8 -:105850002046697820746865206572726F722061D5 -:105860006E6420757365204D39393920746F20724C -:105870006573746172742E202854656D7065726151 -:10588000747572652069732072657365742E205378 -:105890006574206974206166746572207265737422 -:1058A000617274696E67290A006563686F3A004522 -:1058B00072726F723A00204A0020204D343231203B -:1058C00049002020473239204939390A0061637480 -:1058D0006976650A00696E00002053797374656DFE -:1058E0002076312E30312000A701410211241FBE45 -:1058F000CFEFD1E2DEBFCDBF00E00CBF18E0A0E0EB -:10590000B2E0E4EFF4ED02E00BBF02C007900D92AD -:10591000AC3AB107D9F72EE1ACEAB8E001C01D926C -:10592000A43EB207E1F71CE2C5E7DCE200E006C0F6 -:1059300021970109802FFE010F945065C437D107CC -:1059400080E00807A9F70F94C44E0D94686A0C9480 -:1059500000002F923F924F925F926F927F928F92B0 -:105960009F92AF92BF92CF92DF92EF92FF920F93EE -:105970001F93CF93DF93CDB7DEB7E3970FB6F894BD -:10598000DEBF0FBECDBF80910901817091E09827E5 -:105990002091CB08921781F19093CB08811116C00A -:1059A0000E943E6D8091DE1D83FF09C084EA93E072 -:1059B0000E94446361E080E00E9417F51DC060E032 -:1059C00081E00E9417F58DEB93E014C00091DE1D7D -:1059D00003FB002700F90E94CD6C8091DE1D877FBC -:1059E0008093DE1D002341F060E081E00E9417F506 -:1059F00086ED93E00E9444638091491A81FF11C1B2 -:105A00008091CE1B9091CF1B891B8F70843008F042 -:105A100008C18CE0EDE5FEE0DE01119601900D92EB -:105A20008A95E1F78091760E9091770EA091780E8D -:105A3000B091790E88A799A7AAA7BBA79C01AD0131 -:105A400060915D0E70915E0E80915F0E9091600E80 -:105A50000F9458656B017C0160935D0E70935E0E30 -:105A600080935F0E9093600E80917A0E90917B0EE2 -:105A7000A0917C0EB0917D0E8CA79DA7AEA7BFA76D -:105A80009C01AD016091610E7091620E8091630E78 -:105A90009091640E0F94586568A379A38AA39BA381 -:105AA0006093610E7093620E8093630E9093640E08 -:105AB00080917E0E90917F0EA091800EB091810E0C -:105AC00088AB99ABAAABBBAB9C01AD016091650EF5 -:105AD0007091660E8091670E9091680E0F945865D4 -:105AE0004B015C016093650E7093660E8093670EA8 -:105AF0009093680EA7019601C701B6010F94C95E85 -:105B00002B013C0128A139A14AA15BA1CA01B9011D -:105B10000F94C95E9B01AC01C301B2010F9459659A -:105B20002B013C01A5019401C501B4010F94C95E8C -:105B30009B01AC01C301B2010F9459650F945768E2 -:105B40009B01AC0160E070E080E89FE30F94536636 -:105B50002091400230914102409142025091430213 -:105B60000F94C95E2DEC3CEC4CEC5DE30F94C95EE8 -:105B700020E030E040E85EE30F94C95E2B013C0179 -:105B800020E030E040E85FE30F94635E87FFF1C3FD -:105B9000A3019201C701B6010F94C95E28A539A5DA -:105BA0004AA55BA50F94596560935D0E70935E0ED8 -:105BB00080935F0E9093600EA301920168A179A17A -:105BC0008AA19BA10F94C95E2CA53DA54EA55FA5FA -:105BD0000F9459656093610E7093620E8093630E0B -:105BE0009093640EA3019201C501B4010F94C95EA4 -:105BF00028A939A94AA95BA90F9459656093650E34 -:105C00007093660E8093670E9093680E0E94EA73FD -:105C10008CE0FE013196ADE5BEE001900D928A95D3 -:105C2000E1F78091CA0881110C948D488091C808D1 -:105C30009091C9089C012F5F3F4F3093C908209372 -:105C4000C808883E934010F40C948D4881E08093FE -:105C5000CA081092C9081092C8088091A714882316 -:105C600009F498C30E94549F811194C38091C7087E -:105C70008F5F8093C7088091C708853620F0109207 -:105C8000C7081092A714E091A7148E2FEE0F990B5E -:105C9000AA0BBB0BFC013197E730F10508F0A0C05F -:105CA0008827EE58FF4F8F4F0D9450650E944C9FF0 -:105CB000882309F495C081E080936B0289EE93E01C -:105CC0000E94446380E190E09093631C8093621C87 -:105CD00085E08093561C02E80093591C84E190E112 -:105CE000A0E0B0E080935A1C90935B1CA0935C1CD6 -:105CF000B0935D1C0F94D23681E09AE59093631CBB -:105D00008093621C86E390E09093651C8093641CF2 -:105D100087E08093561C0093591C84E890E0A0E033 -:105D2000B0E080935A1C90935B1CA0935C1CB093D2 -:105D30005D1C0F94D23652C00E944C9F882309F4F8 -:105D40004FC048C087EF93E00E94446381E09AE52A -:105D50009093631C8093621C80E490E09093651C98 -:105D60008093641C07E00093561C82E88093591CC2 -:105D700084E890E0A0E0B0E080935A1C90935B1C14 -:105D8000A0935C1CB0935D1C0F94D2360093A714B3 -:105D900027C08091C608882319F10E944C9F882350 -:105DA000F9F00E94549F81111BC0F7C20E944C9FC2 -:105DB0008823B1F00E94549F811112C01CC30E941D -:105DC000549F81110DC042E060E070E0CB010E9461 -:105DD0006A9F04C00E94549F811102C01092A714B0 -:105DE00080916B02882309F4ACC28091A314909136 -:105DF000A414892B09F08FC18091C3089091C40825 -:105E0000892B09F01EC184E096E09093631C809377 -:105E1000621C80EA90E89093651C8093641C17E0F4 -:105E20001093561C02E80093591C80EA90E0A0E011 -:105E3000B0E080935A1C90935B1CA0935C1CB093C1 -:105E40005D1C0F94D2368091060290910702A091BA -:105E50000802B09109020097A105B10511F5109251 -:105E6000631C1092621C15E01093561C0093591C81 -:105E70008AE890E1A0E0B0E080935A1C90935B1C0C -:105E8000A0935C1CB0935D1C0F94D23689E090E027 -:105E90009093631C8093621C1093561C0093591CB2 -:105EA00040C00196A11DB11DF5E0B695A795979547 -:105EB0008795FA95D1F70197A109B109009731E0CB -:105EC000A307B10558F0B093631CA093621C909394 -:105ED000651C8093641C1093561C07C09093631C30 -:105EE0008093621C85E08093561C12E81093591C25 -:105EF0008AE890E1A0E0B0E080935A1C90935B1C8C -:105F0000A0935C1CB0935D1C0F94D23688E090E0A7 -:105F10009093631C8093621C85E08093561C1093C1 -:105F2000591C8CE890E1A0E0B0E080935A1C90935B -:105F30005B1CA0935C1CB0935D1C0F94D2368091C7 -:105F4000060290910702A0910802B0910902009701 -:105F5000E1E0AE07B10550F0B093631CA093621C62 -:105F60009093651C8093641C87E005C09093631C2C -:105F70008093621C85E08093561C82E88093591CB4 -:105F800088E890E1A0E0B0E080935A1C90935B1CFD -:105F9000A0935C1CB0935D1C0F94D23680910602D6 -:105FA00090910702A0910802B0910902BA2FA92F7F -:105FB000982F88270097F1E0AF07B10550F0B09314 -:105FC000631CA093621C9093651C8093641C87E003 -:105FD00005C09093631C8093621C85E08093561CDF -:105FE00012E81093591C81EA90E0A0E0B0E08093A1 -:105FF0005A1C90935B1CA0935C1CB0935D1C0F9487 -:10600000D2368091451E882319F082E090E002C0CC -:1060100083E090E09093631C8093621C85E0809302 -:10602000561C1093591C85E490E1A0E0B0E08093E9 -:106030005A1C90935B1CA0935C1CB0935D1C0F9446 -:10604000D2360091C3081091C408053611057CF4BE -:106050001093631C0093621C85E08093561C82E8B9 -:106060008093591C80E090E1A0E0B0E011C0C8012D -:10607000845691099093631C8093621C85E0809301 -:10608000561C82E88093591C81E090E1A0E0B0E0CA -:1060900080935A1C90935B1CA0935C1CB0935D1C76 -:1060A0000F94D2360F5F1F4F1093C4080093C3089C -:1060B000093C110564F185E094E00E94446381E0AD -:1060C00090E09093A4148093A31480936B0281E0DA -:1060D0009AE59093631C8093621C8DE290E090930C -:1060E000651C8093641C87E08093561C82E8809333 -:1060F000591C84E890E0A0E0B0E080935A1C909393 -:106100005B1CA0935C1CB0935D1C0F94D236109264 -:10611000CA080C948D488091CE1B9091CF1B891B8F -:106120008F7009F092C10E94F2A881118EC18091F6 -:10613000DE1D82FD8AC112C384E690E09093631C49 -:106140008093621C1093561C0093591C8EE090E1C2 -:10615000A0E0B0E080935A1C90935B1CA0935C1C61 -:10616000B0935D1C0F94D236C60182539048880FBD -:10617000991F9093631C8093621C1093561C00938C -:10618000591C8FE090E1A0E0B0E080935A1C9093FE -:106190005B1CA0935C1CB0935D1C0F94D2360F94D3 -:1061A0007F4490E09093631C8093621C85E0809311 -:1061B000561C82E88093591C86E190E1A0E0B0E093 -:1061C00080935A1C90935B1CA0935C1CB0935D1C45 -:1061D0000F94D23620E030E048EC52E46091C514D0 -:1061E0007091C6148091C7149091C8140F94C95E21 -:1061F0000F94C5667093631C6093621C15E0109346 -:10620000561C02E80093591C86E290E1A0E0B0E041 -:1062100080935A1C90935B1CA0935C1CB0935D1CF4 -:106220000F94D2366091000A7091010A8091020A9F -:106230009091030A0F94C5667093631C6093621C6F -:106240001093561C0093591C86E390E1A0E0B0E047 -:1062500080935A1C90935B1CA0935C1CB0935D1CB4 -:106260000F94D2366091170A7091180A8091190A1A -:1062700090911A0A0F94C5667093631C6093621C18 -:106280001093561C0093591C8CE390E1A0E0B0E001 -:1062900080935A1C90935B1CA0935C1CB0935D1C74 -:1062A0000F94D2368091040A9091050A9093631C52 -:1062B0008093621C1093561C0093591C84E390E158 -:1062C000A0E0B0E080935A1C90935B1CA0935C1CF0 -:1062D000B0935D1C0F94D23680911B0A90911C0ADA -:1062E0009093631C8093621C1093561C0093591C5E -:1062F0008AE390E1A0E0B0E080935A1C90935B1C8D -:10630000A0935C1CB0935D1C0F94D2360091BF0823 -:1063100001113CC18091C108811138C18091C6082A -:1063200081118BC180910A1C90910B1CA0910C1CB7 -:10633000B0910D1C8C3420E19207A105B10509F044 -:10634000A1C136EAC32E3CE1D32E0AE18AE49AE1E8 -:106350000E94166BE090B408F090B5081816190664 -:106360000CF085C38AE1E816F10414F40C94894416 -:106370007EC38CE0FE013196ADE5BEE001900D924A -:106380008A95E1F70E94EA738091491A8D7F809384 -:10639000491A47CC1092C7086ECC8FEC95E00E944A -:1063A00044638091C50890E0A0E0B0E0895B9F4F16 -:1063B000AE4FB54A21E03AE53093631C2093621C4E -:1063C0009093651C8093641C87E08093561C82E840 -:1063D0008093591C84E890E0A0E0B0E080935A1CC0 -:1063E00090935B1CA0935C1CB0935D1C0F94D23601 -:1063F0001092C608F3CC81E080936B021092A71430 -:106400008DED95E00E94446381E09AE59093631CD2 -:106410008093621C8EE490E09093651C8093641CD2 -:1064200087E08093561C82E88093591C84E890E0B2 -:10643000A0E0B0E080935A1C90935B1CA0935C1C7E -:10644000B0935D1C0F94D236CBCC8CE090E090934F -:10645000631C8093621C05E00093561C82E88093C5 -:10646000591C84E190E1A0E0B0E080935A1C909325 -:106470005B1CA0935C1CB0935D1C0F94D2360F94F0 -:10648000564120E13EE040E050E00F94B964211510 -:10649000310591E04907510560F05093631C40932A -:1064A000621C3093651C2093641C87E08093561C0B -:1064B00006C03093631C2093621C0093561C02E8B4 -:1064C0000093591C80E190E1A0E0B0E080935A1C59 -:1064D00090935B1CA0935C1CB0935D1C0F94D23610 -:1064E0000F94564120E13EE040E050E00F94B96443 -:1064F0002CE330E040E050E00F94B9643093631C2B -:106500002093621C15E01093561C0093591C82E1E5 -:1065100090E1A0E0B0E080935A1C90935B1CA093A4 -:106520005C1CB0935D1C0F94D2360F947F4488237B -:1065300091F00F947F448F5F8093C208C82ED12CB6 -:10654000833308F0F9CDC601880F991F9093631C1F -:106550008093621C04C01092631C1092621C109302 -:10656000561C0093591C8EE090E1A0E0B0E08093AF -:106570005A1C90935B1CA0935C1CB0935D1C0F9401 -:10658000D2361092631C1092621CF7CD20E030E0EE -:1065900048EC52E46091000A7091010A8091020A6D -:1065A0009091030A0F94C95E6B017C016091040A0B -:1065B0007091050A072E000C880B990B0F946A5EE8 -:1065C0009B01AC01C701B6010F9453660F94CC66D2 -:1065D0006436710510F064E670E07093631C60939C -:1065E000621C45E0A42EA092561C52E8B52EB09233 -:1065F000591C84E290E1A0E0B0E080935A1C909393 -:106600005B1CA0935C1CB0935D1C0F94D236C090B1 -:10661000000AD090010AE090020AF090030A20E0FC -:1066200030E040E253E4C701B6010F94B967181691 -:106630000CF03AC1011188C137C18091B60801E060 -:10664000080F0093B60890E09093631C8093621C3F -:1066500085E08093561C82E88093591C82E490E187 -:10666000A0E0B0E080935A1C90935B1CA0935C1C4C -:10667000B0935D1C0F94D2360A3008F453CE1092BA -:10668000B60850CE8A349041A105B10509F459CE1F -:1066900080E00E9448A020E030E040E251E40F9406 -:1066A000C95E0F94C5667093631C6093621C15E00D -:1066B0001093561C02E80093591C88E490E1A0E076 -:1066C000B0E080935A1C90935B1CA0935C1CB09329 -:1066D0005D1C0F94D23681E00E9448A020E030E09B -:1066E00040E251E40F94C95E0F94C5667093631C39 -:1066F0006093621C1093561C0093591C8AE490E12D -:10670000A0E0B0E080935A1C90935B1CA0935C1CAB -:10671000B0935D1C0F94D23682E00E9448A020E026 -:1067200030E040E251E40F94C95E0F94C566709367 -:10673000631C6093621C1093561C0093591C8CE4DC -:1067400090E1A0E0B0E080935A1C90935B1CA09372 -:106750005C1CB0935D1C0F94D236F3CD8091170A68 -:106760009091180AA091190AB0911A0A88A399A3C6 -:10677000AAA3BBA360911B0A70911C0A072E000CF0 -:10678000880B990B0F946A5E6B017C0120E030E06E -:1067900040E050E40F94586528A139A14AA15BA1BB -:1067A0000F94B967181604F14090000A5090010A3E -:1067B0006090020A7090030A6091040A7091050AC1 -:1067C000072E000C880B990B0F946A5E4B015C013D -:1067D00020E030E040E251E40F945865A3019201BB -:1067E0000F94B967181604F58DE090E09093631C40 -:1067F0008093621C85E08093561C82E88093591C2C -:1068000084E190E1A0E0B0E080935A1C90935B1C7F -:10681000A0935C1CB0935D1C0F94D2368091A6149B -:1068200081113FC081E03DC020E030E040E050E415 -:10683000C701B6010F94596528A139A14AA15BA1EE -:106840000F94635E87FD0EC020E030E040E251E42B -:10685000C501B4010F945965A30192010F94635EC1 -:1068600087FFB8CC84E190E09093631C8093621C16 -:1068700085E08093561C82E88093591C84E190E166 -:10688000A0E0B0E080935A1C90935B1CA0935C1C2A -:10689000B0935D1C0F94D2368091A614811101C073 -:1068A00082E08093A61496CC6091040A7091050A48 -:1068B000072E000C880B990B0F946A5E9B01AC01AC -:1068C000C701B6010F94B9676091C10887FDAEC0DA -:1068D000662309F423CD062E000C770B81E098E0A7 -:1068E0000F94C34D1092C1081092C4081092C308AF -:1068F00084E090E09093631C8093621C85E0809319 -:10690000561C02E80093591C8EE890E1A0E0B0E02C -:1069100080935A1C90935B1CA0935C1CB0935D1CED -:106920000F94D23681E09AE59093631C8093621CA9 -:1069300083E590E09093651C8093641C87E08093CE -:10694000561C0093591C63C01092BF0820E030E031 -:1069500040E251E46091B7087091B8088091B9089D -:106960009091BA080F94C95E0F94C5667093631C2A -:106970006093621CA092561CB092591C84E590E171 -:10698000A0E0B0E080935A1C90935B1CA0935C1C29 -:10699000B0935D1C0F94D23620E030E040E251E429 -:1069A0006091BB087091BC088091BD089091BE08B1 -:1069B0000F94C95E0F94C5667093631C6093621C4C -:1069C000A092561CB092591C88E590E1A0E0B0E07E -:1069D00080935A1C90935B1CA0935C1CB0935D1C2D -:1069E0000F94D2368BEE95E00E94446381E09AE5E5 -:1069F0009093631C8093621C81E490E09093651CEB -:106A00008093641C87E08093561CB092591C84E8E4 -:106A100090E0A0E0B0E080935A1C90935B1CA093A0 -:106A20005C1CB0935D1C0F94D23678CC662309F4BD -:106A300075CC8091C3089091C4089C012F5F3F4F93 -:106A40003093C4082093C30865E070E00F943C6560 -:106A50009093631C8093621C85E08093561C82E8AF -:106A60008093591C8EE890E1A0E0B0E0D4CF1E14D2 -:106A70001F040CF04CCB9091071C8091A61C98131E -:106A800022C09091081C8091A71C98131CC023E081 -:106A9000E216F104C4F09091A81C9093061C80911A -:106AA000A91C8093091C9330D1F4982F9D7F9038B6 -:106AB000B1F49091AA1C9F3409F059C09091AB1C7D -:106AC0009B3409F054C08AE1E6EAFCE1DF011D9243 -:106AD0008A95E9F71092B5081092B40818CB83385C -:106AE00009F045C08091AA1C9091AB1C982789277A -:106AF0009827A0E0B0E080930A1C90930B1CA09311 -:106B00000C1CB0930D1CC090AC1CD12CE12CF12CB2 -:106B1000C0920E1CD0920F1CE092101CF092111C1F -:106B2000ADEABCE140E050E0BA014C155D056E05F0 -:106B30007F0508F04AC04A015B01B694A794979478 -:106B40008794F4013696EE0FFF1FEA5FF34E8C91A7 -:106B500090E0982F882711962C911197822B918382 -:106B600080834E5F5F4F6F4F7F4F1296DECF81382D -:106B700061F58091AA1C90E0A0E0B0E080930A1C2F -:106B800090930B1CA0930C1CB0930D1C8091AB1C1C -:106B9000482F50E060E070E040930E1C50930F1CB3 -:106BA0006093101C7093111CACEABCE1E2E1FCE1C3 -:106BB00090E020E030E02817390739F04D9150E09F -:106BC000419351932F5F3F4FF6CF8AE1E6EAFCE114 -:106BD000DF011D928A95E9F71092B5081092B4086A -:106BE00086E194E00E9444636091A714161664F451 -:106BF000062E000C770B86EF97E00F94C34D8AE0CA -:106C00000E9426620C947A446091121C7091131CAD -:106C100084EE97E00F94A54D8AE00E942662409191 -:106C20000A1C50910B1C60910C1C70910D1C85ED81 -:106C300097E00F94944D8AE00E94266280910A1C8E -:106C400090910B1CA0910C1CB0910D1CE5E7F2E09B -:106C500000E010E041915191619171914115510510 -:106C600061057105D1F1481759076A077B0791F54E -:106C7000AC01BD01485050416109710945305105D1 -:106C80006105710568F1AC01BD01477F4233504198 -:106C90006105710541F18433F0E19F07A105B1055C -:106CA00011F1AC01BD0146545041610971094730F1 -:106CB000510561057105D0F0AC01BD01445550414D -:106CC00061097109453051056105710588F402E1DA -:106CD00010E00EC00F5F1F4FBDCF0FEF1FEF08C0BA -:106CE00003E010E005C008E010E002C00FE010E093 -:106CF0008A509042A109B109833D9105A105B105D2 -:106D000030F00F3F2FEF120721F40C947A4409E181 -:106D100010E0F7E3CF2EF4E0DF2EF60181916F0152 -:106D2000882319F00E942662F8CF6AE070E0C8015B -:106D30000E94B6620E943E6389EC97E00E94446321 -:106D40000A31110510F00C947644F8018827E758B1 -:106D5000FF4F8F4F0D9450658091121C9091131C22 -:106D600081309105E1F410926B028FEF8093E11076 -:106D700060E080E00E9417F505E414E0D8018D91F1 -:106D80008D01882319F00E942662F8CF81E09AE5F0 -:106D90009093631C8093621C8EE290E0AFC08230BF -:106DA000910509F0B7C081E080936B020F94F04425 -:106DB00085EC97E09093500A80934F0A8BE090E027 -:106DC0009093631C8093621C05E00093561C12E8AC -:106DD0001093591C80E092E1A0E0B0E080935A1C2F -:106DE00090935B1CA0935C1CB0935D1C0F94D236F7 -:106DF0001092631C1092621C0093561C1093591C35 -:106E00008EE090E1A0E0B0E080935A1C90935B1C70 -:106E1000A0935C1CB0935D1C0F94D2361092631C3F -:106E20001092621C0093561C1093591C8FE090E145 -:106E3000A0E0B0E080935A1C90935B1CA0935C1C74 -:106E4000B0935D1C0F94D2361092631C1092621C9A -:106E50000093561C1093591C86E190E1A0E0B0E02D -:106E600080935A1C90935B1CA0935C1CB0935D1C98 -:106E70000F94D23662E070E080E090E00E945CA067 -:106E80001092631C1092621C0093561C1093591CA4 -:106E900080E190E1A0E0B0E080935A1C90935B1CED -:106EA000A0935C1CB0935D1C0F94D2361092631CAF -:106EB0001092621C0093561C1093591C82E190E1C1 -:106EC000A0E0B0E080935A1C90935B1CA0935C1CE4 -:106ED000B0935D1C0F94D2360FE614E0F801819157 -:106EE0008F01882319F00E942662F8CF81E09AE58D -:106EF0009093631C8093621C8DE290E09093651CDC -:106F00008093641C87E08093561C82E88093591C10 -:106F10000C94BF458330910549F581E080936B0265 -:106F200009E914E0D8018D918D018823C9F00E94F0 -:106F30002662F8CF80910A1C90910B1CA0910C1C2A -:106F4000B0910D1C8233F0E19F07A105B10509F056 -:106F50005EC48091121C9091131C009709F024C408 -:106F600080910502882309F40EC31EC3049711F013 -:106F70000C947A4410926B020C947A448091121C07 -:106F80009091131C81309105D9F410926B0280917D -:106F90000502882319F082E090E002C083E090E0CF -:106FA0009093631C8093621C85E08093561C82E85A -:106FB0008093591C8EE190E1A0E0B0E00C94C345B1 -:106FC0008230910519F503EC14E0F80181918F01ED -:106FD000882319F00E942662F8CF81E080936B022B -:106FE0008091A614843049F081E09AE59093631C67 -:106FF0008093621C85E390E081CF81E09AE59093D5 -:10700000631C8093621C86E390E078CF8330910507 -:1070100009F04CC020910502222319F19093631CC2 -:107020008093621C85E08093561C82E88093591CF3 -:107030008EE190E1A0E0B0E080935A1C90935B1C3D -:10704000A0935C1CB0935D1C0F94D23640E060E0CE -:1070500070E088EC92E40F947445109205020C9451 -:107060007A4482E090E09093631C8093621C85E0F8 -:107070008093561C82E88093591C8EE190E1A0E039 -:10708000B0E080935A1C90935B1CA0935C1CB0935F -:107090005D1C0F94D23640E060E070E0CB010F94AD -:1070A000744581E0809305020C947A44049711F0B2 -:1070B0000C947A4480912A0A8823F1F082E090E0CF -:1070C0009093631C8093621C85E08093561C82E839 -:1070D0008093591C8FE190E1A0E0B0E080935A1CAE -:1070E00090935B1CA0935C1CB0935D1C0F94D236F4 -:1070F00010922A0A0C947A4483E090E09093631CE7 -:107100008093621C85E08093561C82E88093591C12 -:107110008FE190E1A0E0B0E080935A1C90935B1C5B -:10712000A0935C1CB0935D1C0F94D23681E08093D9 -:107130002A0A0C947A446091121C7091131C80E00E -:1071400090E00F94685E6B017C0120E030E04AEF34 -:1071500053E40F94635E87FF11C020E030E040E20B -:1071600051E4C701B6010F94B96718166CF0C12C31 -:10717000D12C70E2E72E71E4F72E06C0C12CD12C81 -:10718000EAEFEE2EE3E4FE2EC701B6010F94C566CA -:1071900070931702609316020C947A4480910A1C33 -:1071A00090910B1CA0910C1CB0910D1C8830F0E14B -:1071B0009F07A105B10509F050C081E09AE59093C1 -:1071C000631C8093621C8DE290E09093651C809319 -:1071D000641C87E08093561C12E81093591C84E8C5 -:1071E00090E0A0E0B0E080935A1C90935B1CA093C9 -:1071F0005C1CB0935D1C0F94D2361092631C1092ED -:10720000621C05E00093561C1093591C80E190E12C -:10721000A0E0B0E080935A1C90935B1CA0935C1C90 -:10722000B0935D1C0F94D2361092631C1092621CB6 -:107230000093561C1093591C82E190E1A0E0B0E04D -:1072400080935A1C90935B1CA0935C1CB0935D1CB4 -:107250000F94D2360F94F0448FC08A3020E1920709 -:10726000A105B105E1F58091121C9091131C813F9D -:10727000910511F00C947A4481E09AE59093631C97 -:107280008093621C86E390E09093651C8093641C5D -:1072900087E08093561C82E88093591C84E890E034 -:1072A000A0E0B0E080935A1C90935B1CA0935C1C00 -:1072B000B0935D1C0F94D2364AE256E061E376E06B -:1072C00084E00E941EE360E08DE196E00F94B144FB -:1072D00083E196E09093500A80934F0A4DC08C3022 -:1072E0009041A105B10509F047C08091121C909111 -:1072F000131C019709F040C00F941F591092A61457 -:1073000081E080936B028CE090E09093631C80930B -:10731000621C85E08093561C12E81093591C84E18E -:1073200090E1A0E0B0E080935A1C90935B1CA09386 -:107330005C1CB0935D1C0F94D23681E09AE590936B -:10734000631C8093621C85E390E09093651C80939E -:10735000641C87E08093561C1093591C84E890E0CD -:10736000A0E0B0E080935A1C90935B1CA0935C1C3F -:10737000B0935D1C0F94D23680910A1C90910B1C27 -:10738000A0910C1CB0910D1C8C309041A105B10551 -:1073900011F00C947A448091121C9091131C029766 -:1073A00011F00C947A440F941F5981E08093C10826 -:1073B0001092A61480936B021092C4081092C30816 -:1073C00081E09AE59093631C8093621C82E590E0D3 -:1073D00095CD2091121C3091131CB90180E090E0F2 -:1073E00037FF09C00F94685E20E030E040E857E4C2 -:1073F0000F94586502C00F94685E20E030E048ECBE -:1074000052E40F9453666B017C0120E030E040EAC7 -:1074100051EC0F94B96787FD31C020E030E040EABD -:1074200051E4C701B6010F94635E18163CF1A70141 -:1074300096016091C5147091C6148091C714909103 -:10744000C8140F94586520E030E048EC53E40F94E2 -:10745000C95E90580F94C566CB010F94C739C0928E -:10746000C514D092C614E092C714F092C81480ECF0 -:1074700097E09093500A80934F0A28C020E030E0B4 -:1074800048EC52E46091C5147091C6148091C71401 -:107490009091C8140F94C95E0F94C5667093631CD5 -:1074A0006093621C85E08093561C82E88093591C8F -:1074B00086E290E1A0E0B0E080935A1C90935B1CC0 -:1074C000A0935C1CB0935D1C0F94D2366091C514E0 -:1074D0007091C6148091C7149091C8148E010B5EF0 -:1074E0001F4F23E041E00F943B599F938F9382EB12 -:1074F00097E09F938F93045111091F930F930F945B -:10750000FB5DC8010E943AA10F900F900F900F9061 -:107510000F900F900C947A448091121C9091131C40 -:10752000009729F481E080936B020C947A448130B7 -:107530009105B1F480910502882349F081E09AE534 -:107540009093631C8093621C8CE390E0D7CC81E025 -:107550009AE59093631C8093621C8BE390E0CECC01 -:1075600082309105F9F28330910539F58091050259 -:1075700040E0882389F060E070E088EC92E40F94AA -:1075800074451092050281E09AE59093631C809304 -:10759000621C89E390E0B2CC60E070E0CB010F9414 -:1075A000744581E08093050281E09AE59093631C25 -:1075B0008093621C8AE390E0A1CC8530910559F557 -:1075C00040E060E070E084E393E40E94DF9E46E0E8 -:1075D00060E070E08CE892E40E94DF9E84EB90E033 -:1075E0009093631C8093621C05E00093561C12E884 -:1075F0001093591C84E390E1A0E0B0E080935A1C02 -:1076000090935B1CA0935C1CB0935D1C0F94D236CE -:1076100086E490E02DC08630910599F540E060E069 -:1076200070E080E793E40E94DF9E46E060E070E057 -:107630008CED92E40E94DF9E80EF90E09093631CBB -:107640008093621C05E00093561C12E81093591CAD -:1076500084E390E1A0E0B0E080935A1C90935B1C1F -:10766000A0935C1CB0935D1C0F94D2368EE690E024 -:107670009093631C8093621C0093561C1093591CBA -:10768000C0C0813F910511F00C947A4440E060E065 -:1076900070E0CB010F94744541E060E070E0CB01F5 -:1076A0000F9474451092050240E060E070E0CB0159 -:1076B0000E94DF9E46E060E070E0CB010E94DF9E0A -:1076C0001092631C1092621C05E00093561C12E895 -:1076D0001093591C84E390E1A0E0B0E080935A1C21 -:1076E00090935B1CA0935C1CB0935D1C0F94D236EE -:1076F00061E070E080E090E00E945CA01092631C6A -:107700001092621C0093561C1093591C8AE390E15E -:10771000A0E0B0E080935A1C90935B1CA0935C1C8B -:10772000B0935D1C0F94D23661E070E080E090E091 -:107730000E945CA084E190E09093631C8093621CA3 -:107740000093561C1093591C84E190E1A0E0B0E036 -:1077500080935A1C90935B1CA0935C1CB0935D1C9F -:107760000F94D23681E09AE59093631C8093621C5B -:1077700089E390E09093651C8093641C87E080937C -:10778000561C1093591C84E890E0A0E0B0E0809370 -:107790005A1C90935B1CA0935C1CB0935D1C0F94CF -:1077A000D23682E00C94734481309105B1F440E00C -:1077B00060E070E0CB010E94DF9E1092631C10928B -:1077C000621C85E08093561C82E88093591C84E3F8 -:1077D00090E1A0E0B0E00C94C345029711F00C9446 -:1077E0007A4446E060E070E0CB010E94DF9E109298 -:1077F000631C1092621C85E08093561C82E8809383 -:10780000591C8AE390E1A0E0B0E00C94C3458433B6 -:1078100020E19207A105B10551F46091121C70910D -:10782000131C80E090E00F94685E40E010C08A3343 -:107830009041A105B10511F00C947A446091121C9D -:107840007091131C80E090E00F94685E46E00E9407 -:10785000DF9E0C947A448091121C9091131C009727 -:1078600009F460CE8130910509F04CC08091451E2D -:10787000882319F083E090E002C082E090E09093CA -:10788000631C8093621C85E08093561C82E8809381 -:10789000591C85E490E1A0E0B0E080935A1C9093DD -:1078A0005B1CA0935C1CB0935D1C0F94D2368AE0E5 -:1078B00090E09093631C8093621C85E08093561C3B -:1078C00082E88093591C80E092E1A0E0B0E08093D0 -:1078D0005A1C90935B1CA0935C1CB0935D1C0F948E -:1078E000D2360E944C9F811103C082EA97E002C009 -:1078F00086E997E09093500A80934F0A82E0809344 -:10790000A71472C18230910509F0A8C081E080936C -:107910006B0288E0E7EBF8E0DF011D928A95E9F75A -:1079200080E090E0A0E2B1E48093B7089093B808BB -:10793000A093B908B093BA088093BB089093BC0891 -:10794000A093BD08B093BE0884E690E09093631CBA -:107950008093621C05E00093561C12E81093591C9A -:1079600084E590E1A0E0B0E080935A1C90935B1C0A -:10797000A0935C1CB0935D1C0F94D23620E030E0E5 -:1079800040E251E46091BB087091BC088091BD0851 -:107990009091BE080F94C95E0F94C5667093631CE6 -:1079A0006093621C0093561C1093591C88E590E16B -:1079B000A0E0B0E080935A1C90935B1CA0935C1CE9 -:1079C000B0935D1C0F94D2366091000A7091010A49 -:1079D0008091020A9091030A0F94C5667093631C0C -:1079E0006093621C0093561C1093591C86E390E12F -:1079F000A0E0B0E080935A1C90935B1CA0935C1CA9 -:107A0000B0935D1C0F94D2368091040A9091050AC0 -:107A10009093631C8093621C0093561C1093591C16 -:107A200084E390E1A0E0B0E080935A1C90935B1C4B -:107A3000A0935C1CB0935D1C0F94D23662E070E0A2 -:107A400080E090E00E945CA081E09AE59093631C46 -:107A50008093621C81E490E00C94B64583309105DC -:107A600009F077C01092C50880E00E9448A020E08D -:107A700030E040E251E40F94C95E0F94C566709304 -:107A8000631C6093621C05E00093561C12E810937F -:107A9000591C88E490E1A0E0B0E080935A1C9093D8 -:107AA0005B1CA0935C1CB0935D1C0F94D23681E0EC -:107AB0000E9448A020E030E040E251E40F94C95E0B -:107AC0000F94C5667093631C6093621C0093561CF0 -:107AD0001093591C8AE490E1A0E0B0E080935A1C16 -:107AE00090935B1CA0935C1CB0935D1C0F94D236EA -:107AF00082E00E9448A020E030E040E251E40F9490 -:107B0000C95E0F94C5667093631C6093621C0093FA -:107B1000561C1093591C8CE490E1A0E0B0E08093D7 -:107B20005A1C90935B1CA0935C1CB0935D1C0F943B -:107B3000D23662E070E080E090E00E945CA081E0DC -:107B40009AE59093631C8093621C87E490E00C9408 -:107B5000B6458430910509F4CDC68530910549F4C8 -:107B60004EE750E160E070E08AEE94E00F948136D9 -:107B7000C1C6069709F0BEC682E997E09093500A05 -:107B800080934F0A8BE090E031C28091121C90915B -:107B9000131C019711F510926B0281E09AE5909306 -:107BA000631C8093621C8FE390E09093651C80932C -:107BB000641C87E08093561C82E88093591C84E8FB -:107BC00090E0A0E0B0E080935A1C90935B1CA093DF -:107BD0005C1CB0935D1C0F94D2368091121C909166 -:107BE000131C029709F086C681E09AE59093631C06 -:107BF0008093621C80E490E081C9E091121CF091B6 -:107C0000131C3197EB30F10508F0EAC18827ED56D7 -:107C1000FF4F8F4F0D9450658091481A80FFA4C686 -:107C2000869580FDA4C6A0C62DEC3CEC4CEC5DE333 -:107C30006091C5147091C6148091C7149091C814B6 -:107C40000F9459656B017C0120E030E040EA51EC73 -:107C50000F94B96787FDC8C120E030E040EA51E4E5 -:107C6000C701B6010F94635E18160CF087C6BCC13D -:107C70002DEC3CEC4CEC5DE36091C5147091C614A6 -:107C80008091C7149091C8140F9458656B017C01C2 -:107C900020E030E040EA51EC0F94B96787FDA4C1C1 -:107CA00020E030E040EA51E4C701B6010F94635E82 -:107CB00018160CF0DAC698C180E00F948F4B0E9422 -:107CC0004C9F811103C089E397E002C08BE297E0EB -:107CD0009093500A80934F0A82E08093A71481E02A -:107CE0009AE59093631C8093621C84E590E09093E6 -:107CF000651C8093641C87E08093561C82E8809307 -:107D0000591C84E890E0A0E0B0E080935A1C909366 -:107D10005B1CA0935C1CB0935D1C0F94D23664C1B5 -:107D200083E08093A71483E090E09093631C80939A -:107D3000621C85E08093561C82E88093591C8DE874 -:107D400090E1A0E0B0E080935A1C90935B1CA0935C -:107D50005C1CB0935D1C0F94D236E12CF12C00E03A -:107D6000DD24D394AA24A39446E0942E55E0852ED6 -:107D700062E8762EDD2031F0CC24C39436E0B32EB9 -:107D800010E005C0CC24CA94BB24BA9415E0DA24D0 -:107D9000B11609F43FC0802F90E08397CCF51530E1 -:107DA000B9F1B5E0EB16A1F10F5FF701919EE00D7F -:107DB000F11D1124EE0FFF1FEE0FFF1FEC5AF34FC2 -:107DC00020E030E04AE754E4608171818281938150 -:107DD0000F94C95E0F94C5667093631C6093621C18 -:107DE0008092561C7092591C802F90E08158974FBA -:107DF000880F991F092E000CAA0BBB0B80935A1CED -:107E000090935B1CA0935C1CB0935D1C0F94D236C6 -:107E10001C0DBECFEFEFEE1AFE0AF6E0EF16F104EE -:107E200009F0A8CF81E09AE59093631C8093621CCF -:107E300085E590E09093651C8093641C87E08093B7 -:107E4000561C82E88093591C84E890E0A0E0B0E0E2 -:107E500080935A1C90935B1CA0935C1CB0935D1C98 -:107E60000F94D23683EB96E09093500A80934F0A9A -:107E7000BBC042E060E070E080E890E40E946A9F4E -:107E800040E060E070E08DE193E40E946A9F41E091 -:107E900060E070E08AE193E413C042E060E070E0EB -:107EA00080E890E40E946A9F40E060E070E080E239 -:107EB00092E40E946A9F41E060E070E080E292E418 -:107EC0000E946A9F86E08093A7148EC042E060E023 -:107ED00070E080E890E40E946A9F40E060E070E01B -:107EE00089E893E4E6CF42E060E070E080E890E467 -:107EF0000E946A9F40E060E070E089E893E40CC073 -:107F000042E060E070E080E890E40E946A9F40E018 -:107F100060E070E080E292E40E946A9F41E060E0ED -:107F200070E086E893E4CCCF8091451E81111CC09F -:107F300083E090E09093631C8093621C85E08093C3 -:107F4000561C82E88093591C85E490E1A0E0B0E0E3 -:107F500080935A1C90935B1CA0935C1CB0935D1C97 -:107F60000F94D23681E01BC082E090E09093631CB6 -:107F70008093621C85E08093561C82E88093591C94 -:107F800085E490E1A0E0B0E080935A1C90935B1CE4 -:107F9000A0935C1CB0935D1C0F94D23680E00F94CC -:107FA0008F4B20E030E048EC52E46091C5147091B2 -:107FB000C6148091C7149091C8140F94C95E0F9491 -:107FC000C5667093631C6093621C85E08093561CA9 -:107FD00082E88093591C86E290E1A0E0B0E095CE63 -:107FE00087E996E00E9444638AE090E09093631CE6 -:107FF0008093621C85E08093561C82E88093591C14 -:108000004BC184E08093A71480910A1C90910B1CB3 -:10801000A0910C1CB0910D1C6091121C7091131C4E -:10802000883420E19207A105B10509F453C08A34D0 -:1080300030E19307A105B10509F456C08C34E0E1A5 -:108040009E07A105B10509F45AC086349041A105E7 -:10805000B10509F05EC063307105B9F586E896E0B8 -:108060009093500A80934F0A81E08093C6088093D2 -:108070006B021092B60881E09AE59093631C80939E -:10808000621C8AE490E09093651C8093641C87E0F6 -:108090008093561C12E81093591C84E890E0A0E0ED -:1080A000B0E080935A1C90935B1CA0935C1CB0932F -:1080B0005D1C0F94D2368AE090E09093631C80930D -:1080C000621C85E08093561CE5C06093C508109241 -:1080D000A71410C480E090E8ADE9B3E48CA39DA39D -:1080E000AEA3BFA3312C15C080E090E0AAE9B3E4B1 -:1080F0008CA39DA3AEA3BFA3332433940AC080E016 -:1081000090E0A8ECB3E48CA39DA3AEA3BFA382E050 -:10811000382E80E090E00F94685E20E030E040E28E -:1081200051E40F9453666B017C0120E030E0A9011B -:108130000F94635E87FF09C01092B0081092B108D7 -:108140001092B2081092B3081FC02CA13DA14EA1FD -:108150005FA1C701B6010F94B96718164CF0C09221 -:10816000B008D092B108E092B208F092B3080CC007 -:108170008CA19DA1AEA1BFA18093B0089093B1083E -:10818000A093B208B093B3086091B0087091B108A1 -:108190008091B2089091B308432D0E946A9F61E0DC -:1081A00070E080E090E00E945CA080E00E9448A027 -:1081B00020E030E040E251E40F94C95E0F94C566C0 -:1081C0007093631C6093621C05E00093561C12E8D8 -:1081D0001093591C88E490E1A0E0B0E080935A1C11 -:1081E00090935B1CA0935C1CB0935D1C0F94D236E3 -:1081F00081E00E9448A020E030E040E251E40F948A -:10820000C95E0F94C5667093631C6093621C0093F3 -:10821000561C1093591C8AE490E1A0E0B0E08093D2 -:108220005A1C90935B1CA0935C1CB0935D1C0F9434 -:10823000D23682E00E9448A020E030E040E251E4E3 -:108240000F94C95E0F94C5667093631C6093621CA3 -:108250000093561C1093591C8CE490E1A0E0B0E010 -:1082600080935A1C90935B1CA0935C1CB0935D1C84 -:108270000F94D23661E070E080E090E00E945CA054 -:108280001092A7148AE090E09093631C8093621C84 -:108290000093561C1093591C80E092E1A0E0B0E0DE -:1082A00072C480910A1C90910B1CA0910C1CB0917F -:1082B0000D1C8635E0E19E07A105B10509F041C01E -:1082C00020E030E040E253E46091000A7091010A3E -:1082D0008091020A9091030A0F94635E2091121C10 -:1082E0003091131C87FF5AC42530310508F056C45D -:1082F00080EA90E09093631C8093621C85E08093F9 -:10830000561C12E81093591C80E290E1A0E0B0E006 -:1083100080935A1C90935B1CA0935C1CB0935D1CD3 -:108320000F94D23665E070E080E090E00E945CA09F -:1083300081E09AE59093631C8093621C82E490E054 -:1083400015C48435F0E19F07A105B105B9F460912A -:10835000121C7091131C80E090E00F94685E20E086 -:1083600030E040E251E40F9453666093B708709395 -:10837000B8088093B9089093BA08BCC28835904178 -:10838000A105B10509F0B6C26091121C7091131CD1 -:1083900080E090E00F94685E20E030E040E251E43D -:1083A0000F9453666093BB087093BC088093BD081C -:1083B0009093BE089FC26091121C7091131C80E7BD -:1083C00096E00F94A54D8091121C9091131C823061 -:1083D0009105A1F038F4009771F00197E1F483E181 -:1083E00095E086C28430910599F058F0059799F48C -:1083F00085E496E008C08DEF94E07AC282E696E0CC -:1084000002C088E596E09093500A80934F0A72C2AA -:1084100083E596E0F8CF87E295E06AC286E395E0CF -:108420000E9444638091121C9091131C813091052D -:1084300009F046C084E495E00E94446381E00E9414 -:108440001BE28DE090E09093631C8093621C85E0BA -:108450008093561C12E81093591C84E190E1A0E02F -:10846000B0E080935A1C90935B1CA0935C1CB0936B -:108470005D1C0F94D23683E08093A61481E09AE5C8 -:108480009093631C8093621C85E390E09093651C3D -:108490008093641C87E08093561C1093591C84E8D9 -:1084A00090E0A0E0B0E080935A1C90935B1CA093F6 -:1084B0005C1CB0935D1C0F94D2361092AC081AC2AB -:1084C000892B09F017C28CE595E00E9444638091E6 -:1084D000AC08813039F582E795E00E94446381E081 -:1084E0009AE59093631C8093621C8EE290E09093D7 -:1084F000651C8093641C87E08093561C82E88093FF -:10850000591C84E890E0A0E0B0E080935A1C90935E -:108510005B1CA0935C1CB0935D1C0F94D236109230 -:10852000A51435C0823069F486E895E00E94446362 -:1085300081E09AE59093631C8093621C86E390E04F -:108540000EC0833031F58AE995E00E94446381E0F2 -:108550009AE59093631C8093621C81E490E0909371 -:10856000651C8093641C87E08093561C82E880938E -:10857000591C84E890E0A0E0B0E080935A1C9093EE -:108580005B1CA0935C1CB0935D1C0F94D2361092C0 -:10859000871E1092AC080F94F044ACC18091121C5D -:1085A0009091131C8F3F910531F028F08FEF90E0F0 -:1085B000A0E0B0E002C0A0E0B0E08093060290939B -:1085C0000702A0930802B0930902809106029091DD -:1085D0000702A0910802B09109020097A105B10518 -:1085E00009F51092631C1092621C05E00093561C62 -:1085F00012E81093591C8AE890E1A0E0B0E0809363 -:108600005A1C90935B1CA0935C1CB0935D1C0F9450 -:10861000D23689E090E09093631C8093621C0093B3 -:10862000561C3DC00196A11DB11D05E0B695A7954C -:10863000979587950A95D1F70197A109B1090097F8 -:1086400031E0A307B10550F0B093631CA093621C06 -:108650009093651C8093641C87E005C09093631C15 -:108660008093621C85E08093561C12E81093591C7D -:108670008AE890E1A0E0B0E080935A1C90935B1CE4 -:10868000A0935C1CB0935D1C0F94D23688E090E000 -:108690009093631C8093621C85E08093561C10931A -:1086A000591C8CE890E1A0E0B0E080935A1C9093B4 -:1086B0005B1CA0935C1CB0935D1C0F94D236809120 -:1086C000060290910702A0910802B0910902BA2F08 -:1086D000A92F982F88270097E1E0AE07B10550F049 -:1086E000B093631CA093621C9093651C8093641CE0 -:1086F00087E005C09093631C8093621C85E08093A3 -:10870000561C82E88093591C81EA90E0A0E0B0E01A -:108710003AC28EEA95E00E9444630E94D39E409143 -:108720000A1C50910B1C60910C1C70910D1C88232D -:1087300039F0433DF0E25F076105710509F48DC32F -:10874000423D50426105710509F0D4C08091121C70 -:108750009091131C019709F0D7C40E94D39E8823DF -:1087600009F4D2C48091E11087FDC4C0A2E18A025D -:10877000C001112484569D4E0E94E66CC12C90E2EB -:10878000D92EE12CF12C05E012E81092631C109216 -:10879000621C0093561C1093591CC0925A1CD09214 -:1087A0005B1CE0925C1CF0925D1C0F94D236BFEF14 -:1087B000CB1ADB0AEB0AFB0AEAE0CE16E0E2DE06A1 -:1087C000E104F10411F70091E110F2E10F028001E0 -:1087D00011240C5C1E4EF80101900020E9F7C8013D -:1087E0008E1B9F0B439697FD01967C01F594E794B1 -:1087F0001E141F040CF082C49E012F5F3F4F6901BD -:1088000084E1D9011D928A95E9F7A7016FEB75E024 -:10881000C9010F941F6AB801C6018E0D9F1D0F94E8 -:108820000A6A40E050E260E070E0C6010F948136D1 -:1088300062E070E080E090E00E945CA040E060E0D8 -:1088400070E08FE793E40F94744541E060E070E0DE -:108850008FE793E40F947445109205028DE090E049 -:108860009093631C8093621C85E08093561C12E8F1 -:108870001093591C84E190E1A0E0B0E080935A1C71 -:1088800090935B1CA0935C1CB0935D1C0F94D2363C -:1088900062E070E080E090E00E945CA081E09AE5F8 -:1088A0009093631C8093621C85E390E09093651C19 -:1088B0008093641C87E08093561C1093591C84E8B5 -:1088C00090E0A0E0B0E080935A1C90935B1CA093D2 -:1088D0005C1CB0935D1C0F94D23681E080936B02D8 -:1088E0008093A51483E08093A61404C08AE396E0E5 -:1088F0000E94446380E5E6E0FCE1DF011D928A9579 -:10890000E9F78AE58093071C85EA8093081C0C949C -:1089100087308AE49AE10E94F46AF701EA55F34E3F -:1089200080838091A61C8A3581F01E141F0414F0E8 -:108930000C94A631D601E02F1D92EA95E9F710922A -:10894000B5081092B4080C94A63162E070E080E0A3 -:1089500090E00E945CA0FFEFEF1AFF0AF092B508CA -:10896000E092B4080C94A63182E897E002C081E757 -:1089700097E09093500A80934F0A13CB88E290E0DF -:108980000F94C7392DEC3CEC4CEC5DE36091C514C1 -:108990007091C6148091C7149091C8140F945965B2 -:1089A0006B017C0120E030E040EA51EC0F94B967A4 -:1089B00087FD12C020E030E040EA51E4C701B60173 -:1089C0000F94635E181644F0C092C514D092C6147A -:1089D000E092C714F092C81420E030E048EC52E472 -:1089E0006091C5147091C6148091C7149091C814F9 -:1089F0000F94C95E0F94C5667093631C6093621CEC -:108A000085E08093561C82E88093591C86E290E1B1 -:108A1000A0E0B0E080935A1C90935B1CA0935C1C78 -:108A2000B0935D1C0F94D2366091C5147091C6143A -:108A30008091C7149091C8148E010B5E1F4F23E0E4 -:108A400041E00F943B599F938F9383E697E09F9368 -:108A50008F93045111091F930F930F94FB5DC8016D -:108A60000E943AA18EE597E076C088ED9FEF0F94C3 -:108A7000C7392DEC3CEC4CEC5DE36091C514709172 -:108A8000C6148091C7149091C8140F9458656B0157 -:108A90007C0120E030E040EA51EC0F94B96787FD9B -:108AA00012C020E030E040EA51E4C701B6010F9463 -:108AB000635E181644F0C092C514D092C614E092BA -:108AC000C714F092C81420E030E048EC52E4609102 -:108AD000C5147091C6148091C7149091C8140F9456 -:108AE000C95E0F94C5667093631C6093621C85E039 -:108AF0008093561C82E88093591C86E290E1A0E0A6 -:108B0000B0E080935A1C90935B1CA0935C1CB093C4 -:108B10005D1C0F94D2366091C5147091C61480917B -:108B2000C7149091C8148E010B5E1F4F23E041E0E3 -:108B30000F943B599F938F9380E597E09F938F937A -:108B4000045111091F930F930F94FB5DC8010E94FC -:108B50003AA18BE497E09093500A80934F0A0F90CC -:108B60000F900F900F900F900F903ECA9093651C3E -:108B70008093641C87E08093561C1093591C84E8F2 -:108B800090E0A0E0B0E080935A1C90935B1CA0930F -:108B90005C1CB0935D1C0F94D236ACCE24303105F2 -:108BA00089F481E00F94C3572091BB083091BC0831 -:108BB0004091BD085091BE080F94596541E00F9453 -:108BC0009757B2C02530310508F4F3C0263031057F -:108BD00009F430C108F022C181E08093BF0840E071 -:108BE00060E070E08EE393E40E94DF9E20E030E0DE -:108BF00048EC52E46091000A7091010A8091020AE7 -:108C00009091030A0F94C95E6B017C016091040A84 -:108C10007091050A072E000C880B990B0F946A5E61 -:108C20009B01AC01C701B6010F9453660F94CC664B -:108C30006436710510F064E670E07093631C609315 -:108C4000621C05E00093561C12E81093591C84E244 -:108C500090E1A0E0B0E080935A1C90935B1CA0933D -:108C60005C1CB0935D1C0F94D2366091000A709129 -:108C7000010A8091020A9091030A0F94C5667093CD -:108C8000631C6093621C0093561C1093591C86E36E -:108C900090E1A0E0B0E080935A1C90935B1CA093FD -:108CA0005C1CB0935D1C0F94D2368091040A9091A5 -:108CB000050A9093631C8093621C0093561C1093CA -:108CC000591C84E390E1A0E0B0E080935A1C90939B -:108CD0005B1CA0935C1CB0935D1C0F94D23665E0C6 -:108CE00070E080E090E00E945CA081E09AE59093C3 -:108CF000631C8093621C84E490E09093651C8093D5 -:108D0000641C87E08093561C1093591C84E890E003 -:108D1000A0E0B0E080935A1C90935B1CA0935C1C75 -:108D2000B0935D1C0F94D23620E030E040E251E475 -:108D30006091B7087091B8088091B9089091BA080D -:108D40000F94C95E0F94C5667093631C6093621C98 -:108D500005E00093561C12E81093591C84E590E13D -:108D6000A0E0B0E080935A1C90935B1CA0935C1C25 -:108D7000B0935D1C0F94D23620E030E040E251E425 -:108D80006091BB087091BC088091BD089091BE08AD -:108D90000F94C95E0F94C5667093631C6093621C48 -:108DA0000093561C1093591C88E590E1A0E0B0E0B8 -:108DB000EACE2230310579F480E00F94C357209138 -:108DC000B7083091B8084091B9085091BA080F948B -:108DD000596540E0F4CE2330310570F081E00F9406 -:108DE000C3572091BB083091BC084091BD085091F9 -:108DF000BE080F945865E2CE2130310509F094CFBA -:108E000080E00F94C3572091B7083091B808409183 -:108E1000B9085091BA080F945865DBCF213F31054E -:108E200009F082CF1092BF0861E070E080E090E02E -:108E30000E945CA081E09AE59093631C8093621C81 -:108E400081E490E09093651C8093641C87E080939C -:108E5000561C82E88093591C59CF8CE096E00E9402 -:108E600044638091E2109091E31099272091121CA5 -:108E70003091131C8217930708F43CCD87EB95E0E3 -:108E80000E9444638091121C81508093E110A4EDF4 -:108E90008A2EA0E29A2EA12CB12C05E012E81092A5 -:108EA000631C1092621C0093561C1093591C8092F4 -:108EB0005A1C90925B1CA0925C1CB0925D1C0F949B -:108EC000D2362FEF821A920AA20AB20A3EED831618 -:108ED00030E29306A104B10411F78091E110A2E100 -:108EE0008A02C0011124FC01EC5CFE4E7F0101905E -:108EF0000020E9F7C7018E1B9F0B439697FD019653 -:108F00008C011595079510161106FCF49E012F5F34 -:108F10003F4F690184E1D9011D928A95E9F7A801C3 -:108F20006FEB75E0C9010F941F6AB701C601800F8E -:108F3000911F0F940A6A44ED50E260E070E0C601B0 -:108F40000F94813605E012E806C044ED50E260E07F -:108F500070E0C701F5CF1092631C1092621C009361 -:108F6000561C1093591C80925A1C90925B1CA09224 -:108F70005C1CB0925D1C0F94D236BFEF8B1A9B0A1B -:108F8000AB0ABB0AE6EE8E16E0E29E06A104B1042F -:108F900011F78E010F5F1F4F84E1D8011D928A9552 -:108FA000E9F78091E3108F938091E2108F93809185 -:108FB000131C8F938091121C8F9389EC95E09F93E3 -:108FC0008F931F930F930F94396A4EED50E260E038 -:108FD00070E0C8010F94813662E070E080E090E0BC -:108FE0000E945CA00FB6F894DEBF0FBECDBF31E289 -:108FF000C32E32E1D32EE12CF12C43E1442E40E686 -:10900000542E612C712C88248394912CAA24AA9428 -:10901000BA2C75E0272EE2E83E2E0AE010E080919F -:10902000E2109091E3108815990594F1B092631CB9 -:10903000A092621C2092561C3092591C40925A1CDD -:1090400050925B1C60925C1C70925D1C0F94D23637 -:109050001093631C0093621C2092561C3092591C82 -:10906000C0925A1CD0925B1CE0925C1CF0925D1C7A -:109070000F94D236FFEF8F1A9F0A20E1420E511C47 -:10908000611C711C3FEFC31AD30AE30AF30AC7CF6E -:109090008091121C9091131C24E0880F991F2A952F -:1090A000E1F78D5F9F49A0E0B0E020EF37E8309313 -:1090B000631C2093621C05E00093561C12E8109379 -:1090C000591C80935A1C90935B1CA0935C1CB0931A -:1090D0005D1C0F94D2368091121C9091131C805EFF -:1090E0009D4EA0E0B0E026E030E03093631C20937A -:1090F000621C0093561C1093591C45CD40E050E271 -:1091000060E070E0C80192CB8091121C9091131C1A -:10911000892B11F40C94923AEDCBE3960FB6F894A8 -:10912000DEBF0FBECDBFDF91CF911F910F91FF909A -:10913000EF90DF90CF90BF90AF909F908F907F90F7 -:109140006F905F904F903F902F9008952F923F9295 -:109150004F925F926F927F928F929F92AF92BF9247 -:10916000CF92DF92EF92FF920F931F93CF93DF93F3 -:10917000CDB7DEB7C154D1090FB6F894DEBF0FBE2C -:10918000CDBF22968FAF22972091DF082CAF81E0D0 -:109190008093DF088091291A8D3409F469C48435DD -:1091A00011F40C94245B873411F00C94355B80919E -:1091B000271A9091281A8A31910509F431C2BCF41A -:1091C000843091053CF4823091050CF04CC097FF3F -:1091D0003EC04AC48C30910509F41EC28531910508 -:1091E00011F40C94375B049709F03EC4D6C18E315C -:1091F000910509F455C23CF48C31910509F43CC247 -:109200000CF412C249C28A35910509F40FC324F443 -:109210008A9709F480C328C48B35910509F40AC3E1 -:109220008C35910509F020C406E8202E03E0302E8D -:1092300088E2E82E8EE1F82E26E73EE03DA32CA33F -:1092400091EBC92E94E1D92E00E010E033C3809158 -:109250002702882311F40C94375B0F94421B0E9461 -:10926000EA730C94375B20912702222311F40C94AB -:10927000375B11E0029709F010E00F94421B19824E -:109280001A821B821C821D821E821F82188682E522 -:109290000E94ACAB882309F438C10E942CAB4B016F -:1092A0005C0120E030E0A9010F94635E882309F49B -:1092B00042C18091760E9091770EA091780EB09178 -:1092C000790E8CA39DA3AEA3BFA380917A0E90913B -:1092D0007B0EA0917C0EB0917D0E88A799A7AAA7BE -:1092E000BBA780915D0E90915E0EA0915F0EB09134 -:1092F000600E8CA79DA7AEA7BFA78091610E90912D -:10930000620EA091630EB091640E88AB99ABAAABCC -:10931000BBAB2CA53DA54EA55FA56CA17DA18EA1E3 -:109320009FA10F94635E81110DC028A939A94AA994 -:109330005BA968A579A58AA59BA50F94635E882380 -:1093400009F4F9C020E030E0A901C501B4010F948F -:10935000635E881F8827881F181729F080E090E037 -:10936000A0E8BFEB04C080E090E0A0E8BFE388AFD6 -:1093700099AFAAAFBBAF2CA13DA14EA15FA16CA537 -:109380007DA58EA59FA50F9458656CAB7DAB8EAB6C -:109390009FAB28A539A54AA55BA568A979A98AA983 -:1093A0009BA90F9458656B017C012CA93DA94EA97E -:1093B0005FA9CA01B9010F94C95E2B013C01A70145 -:1093C0009601C701B6010F94C95E9B01AC01C301B0 -:1093D000B2010F9459650F9457682B013C019B0112 -:1093E000AC0160E070E080E89FE30F945366219643 -:1093F0006CAF7DAF8EAF9FAF219720E030E040E0B3 -:109400005FE3C301B2010F94C95E2B013C01A501CA -:109410009401C501B4010F94C95E4B015C01A30125 -:109420009201C301B2010F94C95E9B01AC01C50159 -:10943000B4010F9458650F94576828AD39AD4AAD03 -:109440005BAD0F94C95E4B015C01C701B60190583A -:1094500021962CAD3DAD4EAD5FAD21970F94C95E09 -:10946000A50194010F94C95E6B017C012CA53DA55B -:109470004EA55FA56CA17DA18EA19FA10F945965FA -:1094800020E030E040E05FE30F94C95E9B01AC0157 -:10949000C701B6010F9459652CA13DA14EA15FA152 -:1094A0000F94586569837A838B839C8328A939A993 -:1094B0004AA95BA968A579A58AA59BA50F945965BA -:1094C00020E030E040E05FE30F94C95E6B017C0177 -:1094D00021962CAD3DAD4EAD5FAD21976CA97DA918 -:1094E0008EA99FA90F94C95EA50194010F94C95E2E -:1094F0009B01AC01C701B6010F94596528A539A598 -:109500004AA55BA50F94586512C089E40E94ACABD4 -:10951000882331F00E942CAB69837A838B839C83F0 -:109520008AE40E94ACAB882331F00E942CAB6D839F -:109530007E838F83988720E030E0A90169817A815A -:109540008B819C810F94635E81110BC020E030E021 -:10955000A9016D817E818F8198850F94635E882338 -:10956000A1F0412FBE016F5F7F4F8DE59EE00F940C -:1095700033250E9423FD6093401A7093411A809313 -:10958000421A9093431A0C94375B0F94E24D82E495 -:1095900098E00F94664D0C94375B80E50E94ACAB6D -:1095A000882329F00E9481C46B017C0103C0C12C77 -:1095B000D12C760183E50E94ACAB882361F00E9438 -:1095C0002CAB20E030E04AE754E40F94C95E0F94DE -:1095D000CC666B017C010F94FB398091461E811192 -:1095E00005C060E088E598E00F94B1440E9423FD37 -:1095F000C60ED71EE81EF91E0E9423FDDC01CB011A -:109600008C199D09AE09BF09B7FD02C00C94375BE8 -:1096100080E00E946A63F0CF0F94231E0C94375BA6 -:109620000E9404D50C94375B41E061E081E00F9427 -:109630009E3F81110C94375B80E090E0A8E4B2E497 -:1096400089839A83AB83BC8380E090E0A0E2B1E49D -:109650008D839E83AF83B88789879A87AB87BC87C2 -:1096600060E070E080E50F94101EBE016F5F7F4FD9 -:109670000F94DE410C94375B80918C0D877087309E -:1096800011F00C94425B60E08FE40E946AE181116A -:109690000C94375B0C94425B0E9424B10C94375BB2 -:1096A0002091BD143091BE144091BF145091C0144C -:1096B0006091760E7091770E8091780E9091790E70 -:1096C0000F945965AB01BC0188E50E94A9A16C8F7C -:1096D0007D8F8E8F9F8F2091C1143091C214409145 -:1096E000C3145091C41460917A0E70917B0E8091D6 -:1096F0007C0E90917D0E0F945965AB01BC0189E5FC -:109700000E94A9A169837A838B839C83BE016F5FCA -:109710007F4FCE014C960E94EAAD882311F40C9441 -:10972000375B80E00F948F4B0E94637D61E085E49E -:109730000E946AE1182F01E021E0482FBE016F5F0F -:109740007F4FCE014C960F9450156B017C019B010D -:10975000AC010F94A66881115FC08C8C9D8CAE8C7F -:10976000BF8C20E030E0A901C501B4010F94635E15 -:1097700087FF05C027E137EB41E558EB04C027E13F -:1097800037EB41E558E3C501B4010F945965AB01CE -:10979000BC018BEA98E00F94B24D89809A80AB802F -:1097A000BC8020E030E0A901C501B4010F94635EE4 -:1097B00087FF05C027E137EB41E558EB04C027E1FF -:1097C00037EB41E558E3C501B4010F945965AB018E -:1097D000BC0186EA98E00F94B24D20E030E0A90188 -:1097E000C701B6010F94635E87FF05C027E137EB21 -:1097F00041E558EB04C027E137EB41E558E3C701E9 -:10980000B6010F945965AB01BC0181EA98E00F9451 -:10981000B24D8AE00E9426620E944A7D113011F406 -:109820000F9467140E940C7F0C94375B1092DE0833 -:109830000C94375B81E08093DE080C94375B0E94C8 -:109840002CAB2B013C01133049F0F6012081318112 -:10985000428153810F9458652B013C01ACA1BDA1FD -:109860002D913D914D915C91C301B2010F945865CA -:109870004B015C012DEB37E346E855EB0F94B967DC -:1098800087FD20C02DEB37E346E855E3C501B40161 -:109890000F94635E1816B4F01F5FB4E0EB0EF11C7A -:1098A000ECA1FDA13496FDA3ECA3F4E0CF0ED11CF6 -:1098B000143039F1D1018D911D010E94ACAB882388 -:1098C00059F3BDCF133051F44092820E5092830E63 -:1098D0006092840E7092850E01E0DECFA5019401A6 -:1098E000F70160817181828193810F945965D7015D -:1098F0006D937D938D939C931397812F0F947E3F4F -:10990000CBCF002321F082E89EE00F947D190E94C6 -:109910000C7F0C94375B80912702882311F40C9400 -:10992000375B89E40E94ACAB082F882321F00E94AA -:1099300028ABE82E01C0E12C8AE40E94ACAB182FC2 -:10994000882321F00E9428ABF82E01C0F12C0023BF -:1099500019F025E02E1528F0112349F035E03F15C8 -:1099600030F483EB98E00F94664D0C94375B0E94C3 -:109970003CE1002359F08E2D0E94F6AB60935D0E02 -:1099800070935E0E80935F0E9093600E112359F0DA -:109990008F2D0E94C8AB6093610E7093620E80930E -:1099A000630E9093640E60E080E50E946AE1882374 -:1099B000C1F10023D1F02091BD143091BE1440912B -:1099C000BF145091C01460915D0E70915E0E809135 -:1099D0005F0E9091600E0F94586560935D0E7093CA -:1099E0005E0E80935F0E9093600E1123D1F0209154 -:1099F000C1143091C2144091C3145091C4146091A9 -:109A0000610E7091620E8091630E9091640E0F94BE -:109A100058656093610E7093620E8093630E90930D -:109A2000640E40E050E0BA0186E40E94A9A16B01F7 -:109A30007C0120E030E0A9010F94B967181684F486 -:109A400020E030E040E752E4C701B6010F945366CE -:109A500060934002709341028093420290934302CC -:109A60000E94EA730C94375B0E9413F90C94375BE5 -:109A70008091271A9091281A8537910511F40C943A -:109A80008C550CF050C18934910509F407C50CF0D0 -:109A900069C08A31910509F48CC39CF58431910524 -:109AA00009F401C37CF48131910509F4E8C22CF476 -:109AB000029708F461C20C94215B429709F45AC7DB -:109AC0000C94215B8731910509F417C38CF485311F -:109AD000910509F40EC3469711F00C94215B0E9486 -:109AE000CD6C8091DE1D877F8093DE1D0C94375BEB -:109AF0008831910509F419C3499709F44FC30C94AF -:109B0000215B8F31910509F482C47CF48C3191057D -:109B100009F4C7C30CF45BC38D31910509F4CBC3C1 -:109B20004E9709F4CFC30C94215B8A32910509F456 -:109B30008EC464F48032910509F423C4819711F036 -:109B40000C94215B0E9415A80C94375B8B32910515 -:109B500009F4A0C4C09711F00C94215B0E9439C590 -:109B60000C94375B8836910509F441C5D4F58135ED -:109B7000910509F4E7C6C4F48C34910509F49DC439 -:109B80004CF48B34910511F00C94215B0F94481721 -:109B90000C94375B8D34910509F493C48E34910590 -:109BA00009F493C40C94215B8435910509F4E2C651 -:109BB00074F48235910509F4DAC68335910511F004 -:109BC0000C94215B81E08093D9080C94375B853538 -:109BD000910509F4FBC68C35910509F410C70C9466 -:109BE000215B8E36910509F4A4C5D4F48B3691051A -:109BF00009F49BC654F48936910509F436C68A36B1 -:109C0000910509F46CC60C94215B8C36910511F416 -:109C10000C94375B8D36910509F421C50C94215BBA -:109C20008137910509F4DBC55CF48F36910509F4A1 -:109C300091C58037910511F40C94375B0C94215B2E -:109C40008237910509F465C78337910511F00C94AB -:109C5000215B88E49BE00F94664D60E088E39BE025 -:109C60000F94142960E083E29BE00F94142961E0D3 -:109C70008CE19BE00F94142961E081E19BE00F945B -:109C8000142961E081E09BE00F94142960E088EFE3 -:109C90009AE00F94142961E08EEE9AE00F94142953 -:109CA00061E084EE9AE00F94142961E08CED9AE073 -:109CB0000F94142961E08EEC9AE00F94142961E06E -:109CC00080EC9AE00F94142960E081EB9AE00F9405 -:109CD000142960E083EA9AE00F94142960E08DE88B -:109CE0009AE00F94142961E08CE79AE00F9414290C -:109CF00061E08DE69AE00F94142961E088E59AE02E -:109D00000F94142961E085E49AE00F94142960E02F -:109D100088E39AE00F94142960E084E29AE00F94BB -:109D200014290C94375B8E32A1E09A0711F40C943D -:109D30002A590CF080C08B3C910509F4D2C7ACF5D0 -:109D40008D37910509F4FBC5BCF48737910509F4FB -:109D50002EC70CF4F2C68837910509F42BC7893752 -:109D6000910511F00C94215B10923F0A10923E0A6B -:109D70000F94430D0C94375B8E3B910509F463C53A -:109D800054F48C38910509F44CC58B39910509F4CC -:109D900080C50C94215B883C910509F413C7893C6C -:109DA000910509F478C70C94215B8C3D910511F461 -:109DB0000C94E65604F58E3C910509F4E2C76CF468 -:109DC0008C3C910509F4ACC78D3C910511F00C94C5 -:109DD000215B0E9491C40C94375B833D910511F483 -:109DE0000C94E356893D910511F00C94215B0E947F -:109DF000ABC30C94375B8831E1E09E0711F40C94FF -:109E0000955764F48D3D910511F40C94F356823E00 -:109E1000910511F40C9449570C94215B823221E096 -:109E2000920711F40C942C588D32914011F40C943B -:109E300037580C94215B853FA1E09A0711F40C94EC -:109E4000125A0CF047C08239E1E09E0711F40C94DD -:109E50007459DCF4803321E0920711F40C94B75864 -:109E600014F40C946E598039A1E09A0711F40C9403 -:109E700071598139914011F00C94215B81E00F946C -:109E8000AF140E940C7F0C94375B853AE1E09E078B -:109E900011F40C947C597CF48A3921E0920711F476 -:109EA0000C94375B843A914011F00C94215B0E9432 -:109EB0001FDE0C94375B8C3AA1E09A0711F40C94E6 -:109EC0007F59843F914011F00C94215B0E94AECFEA -:109ED0000C94375B8B35E2E09E0711F40C94345AF6 -:109EE0005CF5883F21E0920711F40C94185AACF409 -:109EF000863FA1E09A0711F40C94155A873F9140D0 -:109F000011F00C94215B61E083E50E946AE191E02D -:109F100089270F947E0F0C94375B8C30E2E09E070C -:109F200011F40C94295A8835924011F00C94215B5D -:109F30000F94191C0C94375B843823E0920711F4BA -:109F40000C94AF5A6CF48335A3E09A0711F40C9487 -:109F5000315A8C36934011F40C94375B0C94215B8E -:109F6000803AE3E09E0709F442C2873E934011F431 -:109F70000C94135B0C94215B0091A20D1091A30D26 -:109F800080E50E94ACAB882361F00E9481C46B0124 -:109F90007C01BB24B394672B682B692B31F4B12C63 -:109FA00004C0B12CC12CD12C760183E50E94ACAB4E -:109FB000882311F40C942C5D0E942CAB20E030E03F -:109FC0004AE754E40F94C95E0F94CC666B017C01A0 -:109FD000B1100BC0672B682B692B39F401151105E3 -:109FE00021F0D8018C91811102C0B12C02C0BB2498 -:109FF000B3940F94FB39B11003C08BE196E001C01C -:10A00000C8010E947FA11091DF0883E08093DF08E0 -:10A0100081E08093871E44EE58E06DEE78E082E0A8 -:10A020000E9465E282ED98E00E947FA1C114D104F4 -:10A03000E104F104B1F00E9423FDC60ED71EE81E14 -:10A04000F91E0E9423FDDC01CB018C199D09AE098C -:10A05000BF09B7FF0EC08091871E81110C94315D3E -:10A0600008C08091871E882321F080E00E946A63E7 -:10A07000F8CF1092871E1093DF080C94375B809105 -:10A08000231A84FF02C00C94365D8091251A87FF45 -:10A0900002C00C94365D8091261A837011F00C94E6 -:10A0A000365D0C94535D87E199E00F94664D1092F4 -:10A0B000430C80E49BE10E94A2BA8BE1E0E4FBE167 -:10A0C000DE01119601900D928A95E1F740E050E093 -:10A0D000BE016F5F7F4F80E090E00E94536ECE0123 -:10A0E00001960E94D8BB88E099E00F94664D0C94CD -:10A0F000375B0E943E6D0C94375BE091A20DF091AE -:10A10000A30D8081882329F0803209F410823196D2 -:10A11000F8CF40E061E08091A20D9091A30D0E94E4 -:10A1200029701092881E0C94375B8091D50B882380 -:10A13000E9F080E090E0A0EAB1E488A399A3AAA3A3 -:10A14000BBA31C8E1D8E1E8E1F8E19821A821B822F -:10A150001C8220E0AE01405E5F4FBE01645E7F4F17 -:10A16000CE0101960E9425E30C94375B0E94F2A871 -:10A17000882321F00E94DE6C0F94481740E050E0E5 -:10A1800068E279E085E00E941EE361E083E596E500 -:10A190000E94BFE10F9452450C94375B8091DE1D05 -:10A1A00082FF03C08B7F8093DE1D0F94421D0C94B1 -:10A1B000375B8091DE1D83FD02C00C94375B83E525 -:10A1C0000E94ACAB81110C94625D0C94375B83E40C -:10A1D0000E9463AB8823D9F18CE399E00F94664D1C -:10A1E0008091EA1A882351F1BE016F5F7F4F87EE9D -:10A1F0009AE10E9469B98E010F5F1F4FF8018191AA -:10A200008F01882319F00E942662F8CFBE016F5F8C -:10A210007F4F80E090E00E94F16F80919210882340 -:10A2200089F080E20E94266202E910E1D8018D9156 -:10A230008D01882339F00E942662F8CF82E399E0ED -:10A240000F94664D8AE00E9426620C94375B83E58A -:10A250000E94ACAB882309F10E9446E1182F90E0E0 -:10A26000CD970CF01CE31093D0080E9423FD6B01E6 -:10A270007C01212F30E0A8EEB3E00F940D65C60EEF -:10A28000D71EE81EF91EC092CC08D092CD08E092ED -:10A29000CE08F092CF080C94375B0E94A66C0C9409 -:10A2A000375B40E060E08091A20D9091A30D0E9489 -:10A2B00029700C94375B8091DE1D8E7F8093DE1DAC -:10A2C0000C94375B8091DE1D83FD02C00C94375BDC -:10A2D0000E94F9F88091DE1D83FD02C00C94375B6B -:10A2E0006091A20D7091A30DCE014C960F94DF38B2 -:10A2F0008C01009711F40C94375B6C8D7D8D198265 -:10A300001C8222E0AC01CE0101960E94BBBF8111EC -:10A3100002C0F12C14C0CE0101960F944D38882351 -:10A32000C1F361E0CE0101960E944DB9009789F317 -:10A3300025EEFC0120831C820E945CBBF82ECE011E -:10A3400001960E94D8BBB801FF2089F086E699E00B -:10A350000F94CF4D8AE00E9426621092DA1D10926F -:10A36000DB1D1092DC1D1092DD1D0C94375B8EE41A -:10A3700099E00F94CF4D8BE499E00F94664D0C94C7 -:10A38000375B8091DE1D82FD0F94FB398091DE1DCD -:10A3900083FD02C00C94375B60E080E50E946AE1B7 -:10A3A000182F482F61E08091A20D9091A30D0E947B -:10A3B000297083E50E94ACAB882381F00E9418AB22 -:10A3C000AB01BC014093DA1D5093DB1D6093DC1D93 -:10A3D0007093DD1D87EE9AE10E9463B80E94DE6CE7 -:10A3E00011110C94375B0F9448170C94375B209134 -:10A3F000A20D3091A30D9091DE1D92609093DE1D11 -:10A4000040E060E0C9010E9429700C94375B0F9412 -:10A4100056416C8F7D8F8E8F9F8FBE016F5F7F4FF8 -:10A42000CE014C960E9439A760E0CE0101960F94B0 -:10A4300029450F94E64DBE016F5F7F4F84E799E099 -:10A440000F94CF4D8AE00E9426620C94375B83E51F -:10A450000E94ACAB882311F40C94375B0E9446E158 -:10A46000F82E6DE070E080E50E94B9AB8C0197FF9B -:10A4700002C00C94375BE82E60E089E40E946AE138 -:10A4800081110C94735D802F0E94A35F81111EC502 -:10A490000C94735D0F9448010C94375B80E50E9427 -:10A4A00063AB882311F40C94375B8091DE1D82FF2F -:10A4B00002C00C94375B0C948C5D0F94A5410C94F6 -:10A4C000375B0F94F8170C94375B60E070E083E51E -:10A4D0000E94B9AB8E34910531F40F94B3180F94E8 -:10A4E00052450C94375B8FED99E00F94664D609167 -:10A4F0002E0A70912F0A86ED99E00F94A54D609178 -:10A50000300A7091310A89EC99E00F94A54D609161 -:10A510002E0A70912F0A8091300A9091310A681B9F -:10A52000790B8091AC14815021E030E0823010F042 -:10A5300020E030E0621B730B8EEB99E00F94A54D89 -:10A540008AE00E94266286EB99E00F94664D809126 -:10A55000320A9091330AA091340AB091350A8C8F57 -:10A560009D8FAE8FBF8FBE016F5F7F4FCE014C9628 -:10A570000E9439A7BE016F5F7F4F89EA99E00F946F -:10A58000CF4D8091360A9091370AA091380AB09148 -:10A59000390A8C8F9D8FAE8FBF8FBE016F5F7F4F4B -:10A5A000CE014C960E9439A7BE016F5F7F4F89E9AB -:10A5B00099E00F94CF4D20E030E04AE754E46091F9 -:10A5C0003A0A70913B0A80913C0A90913D0A0F949F -:10A5D0005366AB01BC0181E899E00F94B24D8DE662 -:10A5E0000E9426628AE00E9426620C94375B80916A -:10A5F000730D83FF02C00C94375B0F94F11B182F6F -:10A6000087FF02C00C94375B83E50E94ACAB8823C4 -:10A6100011F10E942CAB0F94C5667B01212F110F05 -:10A62000330BF901EE0FFF1FE459F24F7183608382 -:10A630004091860E50E02417350711F00C94375BDB -:10A64000CB010E94ACC0F1E5EF16F10424F40F94A5 -:10A65000F8170F9452450F9403580C94375B809170 -:10A66000730D83FF02C00C94375B0F94F11B082F0E -:10A6700087FF02C00C94375B83E50E94ACABF82ED9 -:10A68000811107C082E50E94ACAB182F882309F422 -:10A6900046C00E942CAB0F94C566402F002E000CC4 -:10A6A000550BFA01EE0FFF1FE459F24F71836083DF -:10A6B0002091860E30E04217530709F0D8C7CB012E -:10A6C0000E94ACC00E942CAB20E030E040EA52E493 -:10A6D0000F94635E181614F40C94975D0F94F8179A -:10A6E0000F9452456091040A7091050A072E000CE0 -:10A6F000880B990B0F946A5E2091000A3091010A31 -:10A700004091020A5091030A0F94B967181614F485 -:10A710000C949B5DFF2011F40C949B5D11E00F9451 -:10A720000358112309F4A3C76F2D802F0E94C595EC -:10A730009EC78EE40E94ACAB882309F498C70E94A0 -:10A7400018AB60939E0D70939F0D8093A00D909316 -:10A75000A10D8DC783E50E9463AB882331F060E0D3 -:10A7600083E50E94E4D38093730D0F94E64D85EF4B -:10A7700099E00F94664D8091730D882369F1BBEECB -:10A78000EB2EB9E0FB2E00E010E020E08091730D8D -:10A7900090E0A0E0B0E0002E04C0B695A795979594 -:10A7A00087950A94D2F780FF0EC0DD24D394D20E91 -:10A7B000222319F08CE20E942662F7018591949180 -:10A7C0000F94664D2D2D0F5F1F4F32E0E30EF11CED -:10A7D00005301105D9F636CD87EE99E031CD83E508 -:10A7E0000E94ACAB882371F00E9446E1282F30E034 -:10A7F0002D3331051CF48093000239C78CE380931C -:10A80000000235C70F94E64D4091000250E060E031 -:10A8100070E08CEF99E00F94944D8AE00E942662DC -:10A8200026C78091730D83FD22C783E50E94ACABE0 -:10A83000882309F41CC70E942CAB0F94C566CB017A -:10A840000E942EE114C78091730D83FD10C783E52C -:10A850000E94ACAB182F81110C94A05D82E50E9480 -:10A86000ACAB81110C94A05D02C70F94F11B182FA3 -:10A8700087FD0AC081E29AE00F94664D812F0E9405 -:10A88000D4938AE00E9426628CAD8093DF080C94FA -:10A89000BF5E83E50E94ACAB882309F4E8C60E9442 -:10A8A00046E1182F90E0CD970CF01CE31093D508EB -:10A8B0000E9423FD6B017C01212F30E0A8EEB3E064 -:10A8C0000F940D65C60ED71EE81EF91EC092D10862 -:10A8D000D092D208E092D308F092D408C8C6609112 -:10A8E000860E80E50E94E4D3182F823008F0BFC6A0 -:10A8F00081E40E9463AB882341F0E091860EF0E092 -:10A90000EF58F14F608170E002C06FEF70E083E5B7 -:10A910000F94101E8F3F910519F010F08FEF90E00B -:10A92000BC01812F0F94EC4AA2C66091860E80E58F -:10A930000E94E4D360E070E00F94EC4A98C60F9454 -:10A94000421D95C60E94AE9D0F94F8170F94FA3AD7 -:10A950000E94D45F1092750E1092740E1092730EB6 -:10A9600068EE73E080E090E00F94FA4C80C610929D -:10A97000D9087DC683E50E94ACAB882399F00E947C -:10A980002CAB20E030E04AE754E40F94C95E0F940A -:10A99000CC6660930102709302028093030290934D -:10A9A000040265C68091231A84FF02C00C94D55D11 -:10A9B0008091251A87FF02C00C94D55D8091261ADC -:10A9C000837011F00C94D55D0C94065E83E50E94B3 -:10A9D00063AB882309F44BC60E942CAB20E030E027 -:10A9E0004AE754E40F94C95E0F94CC666093DA088A -:10A9F0007093DB088093DC089093DD0838C60F94D1 -:10AA0000F11B87FD34C69091231A94FD04C09091E8 -:10AA1000251A97FF0AC0F6E8CF2EF3E0DF2EA4E256 -:10AA2000EA2EADE0FA2E10E009C09091261A93703C -:10AA300091F7682F81E00F942F2219C6D6018D91CE -:10AA40006D010E94ACAB882309F459C0133009F0A2 -:10AA50004FC00E942CAB4B015C0120E030E040EA8B -:10AA600051E40F94635E87FF3AC0A50194016091A1 -:10AA7000440D7091450D8091460D9091470D0F94B6 -:10AA800053662B013C019B01AC016091540D709108 -:10AA9000550D8091560D9091570D0F94C95E60939E -:10AAA000540D7093550D8093560D9093570D6091F2 -:10AAB00086147091871480918814909189140F9452 -:10AAC000685EA30192010F94C95E0F94CC666093F7 -:10AAD00086147093871480938814909389148092BD -:10AAE000440D9092450DA092460DB092470D07C0BF -:10AAF0000E942CABF701648B758B868B978B1F5F45 -:10AB0000F4E0EF0EF11C143009F098CF0F945919AE -:10AB1000AEC50F942E29ABC58091A20D9091A30DC7 -:10AB2000009741F0DC012C91222321F060E00F948A -:10AB300029459DC50F9452459AC50091A20D1091CB -:10AB4000A30D94E0F12C40E0915021F1F8018081B7 -:10AB5000282F2B7F213421F421812133D9F407C000 -:10AB60008035C1F4818180538A3048F013C081342C -:10AB700021F0853421F441E002C0FF24F3949801D0 -:10AB80002E5F3F4F89012F5F3F4FF8018081803258 -:10AB9000C9F3DACF41110F94E64DFF2021F080E395 -:10ABA0009CE00F94664DC8010E94446360C50E94FA -:10ABB0002A805DC581E080933F0A80933E0A0F940E -:10ABC000430D55C50F94F11B182F87FD50C584E424 -:10ABD0000E9463AB882309F45BC00E942CAB6B011D -:10ABE0007C0101E020E030E0A9010F94635E811157 -:10ABF00001C000E00093341E20E030E0A901C7014D -:10AC0000B6010F94635E882309F442C00E942CAB06 -:10AC100024E01202F0011124E35CF14E60837183A1 -:10AC20008283938320E030E0A90160913D1E709102 -:10AC30003E1E80913F1E9091401E0F94635E8111D5 -:10AC40000CC080E090E0A0EEBFE380933D1E9093A7 -:10AC50003E1EA0933F1EB093401E20E030E0A901AD -:10AC60006091411E7091421E8091431E9091441E3E -:10AC70000F94635E81110CC080E090E0A0EEBFE312 -:10AC80008093411E9093421EA093431EB093441E96 -:10AC90000F94F33BECC40F94F11B87FDE8C476E8F6 -:10ACA000E72E73E0F72E04E21DE0E4E3CE2EEDE0A4 -:10ACB000DE2ED7018D917D010E9463AB882349F080 -:10ACC0000E942CAB0F94CC66F80160837183828361 -:10ACD00093830C5F1F4FC016D10659F70F94E218EB -:10ACE000C6C40F94F11B87FDC2C466E8E62E63E07C -:10ACF000F62E04E21DE0D7018D917D010E9463AB29 -:10AD0000882339F00E942CABF80164A375A386A3B5 -:10AD100097A30C5F1F4FFDE004331F0761F7A7C423 -:10AD20008091241A87FD75C78091251A8E7009F0CD -:10AD300070C74091580D5091590D60915A0D709106 -:10AD40005B0D8AE39CE00F94B24D40915C0D5091F5 -:10AD50005D0D60915E0D70915F0D87E39CE00F9437 -:10AD6000B24D4091600D5091610D6091620D7091F6 -:10AD7000630D84E39CE00F94B24D8AE00E9426624A -:10AD800076C446E8C42E43E0D42E52E4E52E5AE0C1 -:10AD9000F52E10E0D6018D916D010E9463AB8823E2 -:10ADA00051F00E942CABF7016083718382839383FF -:10ADB000812F0F947E3F1F5FF4E0EF0EF11C1330E4 -:10ADC00049F70C94874C0F947A2151C483E50E9473 -:10ADD000ACAB882309F44BC40E9428AB90931702B4 -:10ADE0008093160244C40F94F11BF82E87FD3FC4D4 -:10ADF00083E50E94ACAB0F2D0F2C000C110B8823A8 -:10AE000069F10E9428ABF801EE0FFF1FE459FD4FD6 -:10AE100091838083000F111F000F111F9801285E7E -:10AE20003D4F7901BC01990F880B990B0F946A5E15 -:10AE30002AE037ED43E25CE30F94C95EF801EB5C76 -:10AE4000F14E20813181428153810F94C95ED70137 -:10AE50006D937D938D939C93139709C40F94E64D46 -:10AE600085E40E94266280E38F0D0E942662F8012D -:10AE7000EE0FFF1FE459FD4F608171818AE49CE071 -:10AE80000F94C34D85E20E9426628AE00E942662EA -:10AE9000EEC380E50E9463AB882309F4E8C360E059 -:10AEA00070E080E50E94B9ABF82E6FEF7FEF83E58D -:10AEB0000E94B9AB8C010196039708F0D8C3F7FC48 -:10AEC000D6C38F2D0E94A35F882339F00F94E24DE3 -:10AED00082E59CE00F94664DCAC30F94FB3960E095 -:10AEE0008F2D0E94C5FB0F3FBFEF1B0731F00130D4 -:10AEF000110571F000E010E00DC08F2D0E946DFB78 -:10AF000031E020E0892B09F030E0032F122F02C03E -:10AF100001E010E08F2D0E946DFB8017910709F46E -:10AF2000A6C380E00E946A63F5CF80E50E9463AB10 -:10AF3000882309F49CC30E9428AB8C01892B09F05B -:10AF40007FC083E50E9463AB882389F00E9428AB11 -:10AF50008F3FEFEF9E0729F488EC9BE10E94DE5FB4 -:10AF600086C3BC0188EC9BE10E94AE6080C30F9455 -:10AF7000E64D60E070E08AE79CE00F94C34D80915D -:10AF8000CA1B28E532E06901C81AD10887FDD394AD -:10AF9000CC0CDD1CCC0CDD1C0D2C000CEE08FF08CD -:10AFA0008091C91B28E830E04901881A910887FD83 -:10AFB0009394880C991C880C991C092C000CAA08E5 -:10AFC000BB088091C81B8F3FC1F090E0FC01EE0FE1 -:10AFD000FF1F8E0F9F1FFC01E55AF44E2181328125 -:10AFE000B3E0220F331FBA95E1F714E036952795A9 -:10AFF0001A95E1F72E5F3F4F02C020E030E02F5F4F -:10B000003F4FC901330FAA0BBB0B9C01AD0128199F -:10B0100039094A095B09A4EBB0E00F94FA64A7016F -:10B020009601281939094A095B090F94DB64B901B3 -:10B0300087E79CE00F94C34D8AE00E94266217C305 -:10B040000F94E24DB80180E79CE00F94C34D81E678 -:10B050009CE00F94664D0BC38AE50E94ACAB811156 -:10B060001EC683E50E94ACAB811119C600C360E027 -:10B0700085E40E94E4D3811173C080E50E9463AB34 -:10B08000882351F00E942CAB6093070A7093080A42 -:10B090008093090A90930A0A89E40E9463AB88238B -:10B0A00081F00E942CAB2CEA35EC47E25EE30F9472 -:10B0B000C95E60930B0A70930C0A80930D0A9093FB -:10B0C0000E0A84E40E9463AB882381F00E942CABBB -:10B0D0002CEA35EC47E25EE30F94536660930F0A67 -:10B0E0007093100A8093110A9093120A0F94E64D00 -:10B0F0004091070A5091080A6091090A70910A0A62 -:10B100008DEA9CE00F94B24D2CEA35EC47E25EE309 -:10B1100060910B0A70910C0A80910D0A90910E0AB1 -:10B120000F945366AB01BC0189EA9CE00F94B24DC9 -:10B130002CEA35EC47E25EE360910F0A7091100A49 -:10B140008091110A9091120A0F94C95EAB01BC0163 -:10B1500085EA9CE00F94B24D8AE00E94266287C285 -:10B160000F94E24D83E99CE00F94664D80C280E528 -:10B170000E9463AB882351F00E942CAB60931E0A9F -:10B1800070931F0A8093200A9093210A89E40E94F9 -:10B1900063AB882381F00E942CAB2CEA35EC47E2AC -:10B1A0005EE30F94C95E6093220A7093230A809332 -:10B1B000240A9093250A84E40E9463AB882381F0DB -:10B1C0000E942CAB2CEA35EC47E25EE30F94536609 -:10B1D0006093260A7093270A8093280A9093290A7D -:10B1E0000F94E64D40911E0A50911F0A6091200A6B -:10B1F0007091210A89EB9CE00F94B24D2CEA35EC5A -:10B2000047E25EE36091220A7091230A8091240A4A -:10B210009091250A0F945366AB01BC0185EB9CE02D -:10B220000F94B24D2CEA35EC47E25EE36091260ABA -:10B230007091270A8091280A9091290A0F94C95E7B -:10B24000AB01BC0181EB9CE00F94B24D8AE00E94FF -:10B2500026620DC283E50E9463AB182F882371F02C -:10B260000E942CAB0F94C566709345026093440214 -:10B2700021E0672B09F020E02093720D80E50E9409 -:10B2800063AB882359F02091440230914502232B6F -:10B2900011F00E945AE18093720DE9C11111E7C1CA -:10B2A0000F94E64D89ED9CE00F94664D8091720DF0 -:10B2B000882319F081EC9CE002C08DEB9CE00F9498 -:10B2C000664D609144027091450288EC9CE00F94B9 -:10B2D000C34D84EC9CE00F94664DC9C10E94C0A18F -:10B2E000C6C10F94FB39C3C180E00F94AF140F9413 -:10B2F00067140E940C7FBBC10E9451DDB8C141E0C0 -:10B3000061E081E00F949E3F8111B1C103EB15E52F -:10B3100026E73EE03DA32CA3CE0101964C0168E058 -:10B32000A62E66E5B62E1C01F801659175918591F2 -:10B330009491ACA1BDA1CD90DD90ED90FD90BDA309 -:10B34000ACA3A70196010F9458652B013C01F101B4 -:10B35000608371838283938320E030E040EA51EC84 -:10B360000F94B96787FD0AC020E030E040EA51E45D -:10B37000C301B2010F94635E18162CF4F501849199 -:10B3800018160CF4F1C4D101CD90DD90ED90FD9034 -:10B390001D0120E030E040EA51ECC701B6010F94F6 -:10B3A000B96787FD0AC020E030E040EA51E4C701F8 -:10B3B000B6010F94635E181664F40F94E24D8AE0B0 -:10B3C0009DE00F94664D61E08CEF9CE00F94B144DA -:10B3D0004EC10C5F1F4FBFEFAB1ABB0AE5E50F3B39 -:10B3E0001E0709F0A1CF52E4E52E5AE0F52E10E039 -:10B3F000F40181919191A191B1914F01F701819354 -:10B400009193A193B1937F01812F0F947E3F1F5F92 -:10B41000133071F70E940C7F60E08CEE9CE00F947B -:10B42000B14425C10F949B1222C10F945D0D1FC121 -:10B4300081E0809358140E94BAC91092581488234E -:10B4400009F415C10F94E64D88E29DE00F94664D16 -:10B450000EC18091DE1D82FF0AC180628093DE1DD5 -:10B4600006C10F940F2303C10F94F11B082F87FD12 -:10B47000FEC085E50E9463AB8823B1F1E02E002E6B -:10B48000000CFF080E942CAB4B015C0120E030E077 -:10B49000A9010F94B96787FF04C0B7FAB094B7F851 -:10B4A000B094C70143E0880F991F4A95E1F79C01CA -:10B4B000235A3B4E7901D9018D929D92AD92BC9257 -:10B4C000139720E030E04AEF53E4C501B4010F9434 -:10B4D000B96718164CF480E090E0AAEFB3E4F701E6 -:10B4E00080839183A283B3838CE40E9463AB88231F -:10B4F00009F4BDC0002E000C110B0E942CAB6B0197 -:10B500007C0120E030E0A9010F94B96787FF04C0F7 -:10B51000F7FAF094F7F8F09433E0000F111F3A9522 -:10B52000E1F7035A1B4ED8011496CD92DD92ED92AD -:10B53000FC92179720E030E04AEF53E4C701B601D0 -:10B540000F94B96718160CF092C080E090E0AAEF53 -:10B55000B3E4F80184839583A683B78388C06091A0 -:10B56000860E70E084E50E94B9AB8C01823028F031 -:10B570008CE59DE00F94664D7AC08BE40E94ACABE5 -:10B58000882349F10E942CAB6B017C0120E030E064 -:10B59000A9010F94B96787FD19C020E030E040E2AF -:10B5A00051E4C701B6010F94635E18167CF00F9446 -:10B5B000FB39F801FF27EE0FFF1FEE0FFF1FE151D0 -:10B5C000F34FC082D182E282F38251C08DE39DE0CD -:10B5D0000F94664D4CC00F94E64D83E39DE00F94AD -:10B5E000664D9FEEE92E9CE0F92E00E010E080E22F -:10B5F0000E9426626AE070E0C8010E94B6628DE394 -:10B600000E942662D7016D917D918D919D917D0162 -:10B6100042E00E94C6620F5F1F4F0230110511F415 -:10B620000C942251E4CF81E0809327021092861E71 -:10B6300060E083E50E946AE1811119C00E9455A96A -:10B6400016C00E9413F913C01091271A8091860E1C -:10B65000181729F060E083E50E946AE101C081E0EB -:10B66000682F812F0E94449702C00E9413F92296EE -:10B67000BFAD2297B11102C00E9400A9ECADE093CA -:10B68000DF087DC30F94FB39F091451EFCAB80E0D1 -:10B690000F948F4B0E94637D81E080933F0A0F944B -:10B6A000430D88E50E9463AB182F89E50E9463ABC8 -:10B6B000082F8AE50E9463AB1013C0C1181711F060 -:10B6C000012FBCC101E011E091E09CA70E943CE188 -:10B6D00082E50E94ACAB882361F00E942CAB6B0129 -:10B6E0007C0120E030E0A9010F94635E882369F1BA -:10B6F00006C0C12CD12C20E8E22E20E4F22E11113C -:10B7000003C0002309F4FCC0C092650ED092660EFF -:10B71000E092670EF092680EA701960160917E0E8E -:10B7200070917F0E8091800E9091810E0F94635ED8 -:10B7300087FF0BC019821A821B821C82BE016F5FB9 -:10B740007F4F85E69EE00E94617E112309F4D3C0FD -:10B75000002309F4CDC010927A0E10927B0E109245 -:10B760007C0E10927D0E1092760E1092770E109233 -:10B77000780E1092790E0E940A7FE8E0F6E5A49117 -:10B78000A8AFECEFF5E5C590D590E590F490E0E03A -:10B79000F6E585909590A590B490A5019401C70118 -:10B7A000B6010F94B96718162CF4A7019601C501CC -:10B7B000B40104C0A5019401C701B6010F945366FA -:10B7C0002B013C01E3ECF5E585919591A591B491B0 -:10B7D0008CA39DA3AEA3BFA3EFEBF5E58591959157 -:10B7E000A591B49188A799A7AAA7BBA79C01AD0171 -:10B7F0006CA17DA18EA19FA10F94B967181634F496 -:10B8000028A439A49AA598AB1BA505C02CA03DA0DF -:10B81000AEA1A8AB1FA1A3019201C301B2010F9475 -:10B82000C95E20E030E040E85FE30F9459650F9473 -:10B830005768910148A9512F0F94C95E68A379A355 -:10B840008AA39BA3E9E0F6E5149120E030E040EC08 -:10B850005FE3C501B4010F94C95E4B015C01612F28 -:10B86000110F770B880B990B0F946A5E9B01AC014B -:10B87000C501B4010F94C95E69837A838B839C836D -:10B8800020E030E040EC5FE3C701B6010F94C95EF1 -:10B890006B017C01B8AD6B2FBB0F770B880B990B3D -:10B8A0000F946A5E9B01AC01C701B6010F94C95E9B -:10B8B0006C8F7D8F8E8F9F8FAE01405E5F4FBE017C -:10B8C0006F5F7F4FCE014C960E943F7E0F94520DCA -:10B8D00010927A0E10927B0E10927C0E10927D0EBA -:10B8E0001092760E1092770E1092780E1092790EBA -:10B8F00080E00F944B3E002319F081E00F944B3E03 -:10B90000ECA5EE2309F48CC080E00E94C4E680918F -:10B91000481A8370833051F060E083E998E00F9417 -:10B92000B1440F94E64D84E898E093C00E940A7FEA -:10B9300080917E0E90917F0EA091800EB091810E2D -:10B940008093650E9093660EA093670EB093680E79 -:10B950002091BD143091BE144091BF145091C01479 -:10B9600060E070E088E492E40F9458656B017C011C -:10B9700060935D0E70935E0E80935F0E9093600EE9 -:10B980002091C1143091C2144091C3145091C41439 -:10B9900060E070E08CE892E40F9458654B015C0124 -:10B9A0006093610E7093620E8093630E9093640EA9 -:10B9B00027E137EB41ED58EB0F94B96787FD40C0A5 -:10B9C00023E030E04AE953E4C501B4010F94635E1B -:10B9D0001816B4F127E137EB41ED58EBC701B6017A -:10B9E0000F94B96787FD2CC023E030E84DE953E49C -:10B9F000C701B6010F94635E181614F119821A82FA -:10BA00001B821C82AE014F5F5F4F61E67EE08DE5D9 -:10BA10009EE00E943F7E82E00F944B3E0F9467149D -:10BA20000E940A7F80913E0A80933F0A8CA90F945E -:10BA30008F4B0E944A7D0E940C7F19CE8CA746CE68 -:10BA400060E083E798E00F94B1440F94E64D81E6FF -:10BA500098E00F94664DE2CFB1100C94F54F0C9422 -:10BA6000EE4F80E00E946A630C94215088E50E94AA -:10BA700063AB81115F9889E50E9463AB81118A985D -:10BA80008AE50E9463AB882329F0809108018170C8 -:10BA90008093060185E40E9463AB882309F4E7CD17 -:10BAA00012984798E4CD60E08FEF98E00F94B1448E -:10BAB0005F988A988091080181708093060112989E -:10BAC0004798D5CD0E9418ABAB01BC014093DA1D5D -:10BAD0005093DB1D6093DC1D7093DD1D87EE9AE1B2 -:10BAE0000E9463B8C4CD61E0802F0E94C5FB6F2D1A -:10BAF000802F0E9496FB6F2D70E0802F0E9401FC2A -:10BB000027E0E21203C0F092720EB1CD39E0E312E9 -:10BB1000AECDF092710EABCD0E9446E190E085363D -:10BB2000910514F084E690E08093881EA0CD0F94D8 -:10BB300048170C947253802F0E94B6930C948E5326 -:10BB40000E942CAB0F94C566CB010E942EE10E948F -:10BB50002CAB20E030E040EA50E40F94B9671816AF -:10BB600014F40F94481760911B0A70911C0A072E59 -:10BB7000000C880B990B0F946A5E2091170A309184 -:10BB8000180A4091190A50911A0A0F94B9671816A9 -:10BB90001CF482E19AE002C083E09AE060E00F9436 -:10BBA000B144812F0E94469462CD0F94FB3988E501 -:10BBB0000E9463AB882331F05F9A8091481A8E7F90 -:10BBC0008093481A89E50E9463AB882331F08A9AF2 -:10BBD0008091481A8D7F8093481A8AE50E9463AB52 -:10BBE000882359F080910801809581708093060127 -:10BBF0008091481A8B7F8093481A85E40E9463AB3A -:10BC0000882309F434CD0E94A05F31CD0F94FA3A15 -:10BC10002ECD83E50E94ACAB882391F00E942CAB23 -:10BC20006093580D7093590D80935A0D90935B0D4E -:10BC30006093600D7093610D8093620D9093630D1E -:10BC400080E50E94ACAB882351F00E942CAB60933E -:10BC5000580D7093590D80935A0D90935B0D82E5AA -:10BC60000E94ACAB882351F00E942CAB60935C0D1A -:10BC700070935D0D80935E0D90935F0D84E50E943F -:10BC8000ACAB882309F4F3CC0E942CAB6093600D1D -:10BC90007093610D8093620D9093630DE8CC0E94C8 -:10BCA0002CAB20E030E040E050EC0F94635E87FD69 -:10BCB00015C00E942CAB20E030E040E050E40F942F -:10BCC000B96718162CF00E942CAB6B017C010BC0DD -:10BCD000C12CD12CE12CE0E4FE2E05C0C12CD12CCE -:10BCE000E12C70ECF72E2091400D3091410D4091E8 -:10BCF000420D5091430DC701B6010F94C95E0F94D8 -:10BD0000C566CB010F94C73980E50E9463AB8823D9 -:10BD100029F00E945AE1882309F4A9CCA7019601D1 -:10BD20006091C5147091C6148091C7149091C81485 -:10BD30000F9459656093C5147093C6148093C7140B -:10BD40009093C8140F94E64D4091C5145091C614B9 -:10BD50006091C7147091C81482E89CE00F94B24DB2 -:10BD60008AE00E94266283CCF7FAF094F7F8F09408 -:10BD7000D101CD92DD92ED92FC92139704CBCF5B73 -:10BD8000DF4F0FB6F894DEBF0FBECDBFDF91CF916E -:10BD90001F910F91FF90EF90DF90CF90BF90AF90E9 -:10BDA0009F908F907F906F905F904F903F902F90DB -:10BDB0000895CF92DF92EF92FF920F931F93CF934C -:10BDC000DF936C018B017A01EC01C351D74F88815D -:10BDD00087FF04C0FB011182108224C02CE02C9D3F -:10BDE000C0012D9D900D11242881AC01420F511DE1 -:10BDF00027FD5A952091C71B30E04217530794F452 -:10BE00002881AC01420F511D27FD5A959A01FA0174 -:10BE1000EE0FFF1F2E0F3F1FF901E55AF44E208150 -:10BE200027FD19C088818F5F88832CE02C9DC0017D -:10BE30002D9D900D11242881AC01420F511D27FD2D -:10BE40005A952091C71B30E042175307BCF4288154 -:10BE50002C3044F113C02881820F911D27FD9A9543 -:10BE6000FC01EE0FFF1F8E0F9F1FFC01E55AF44EE1 -:10BE7000808160E08F770E9496FBD4CFF8018081AB -:10BE80009181049680349C4918F480E49CE904C0B4 -:10BE9000F801808191810496F701918380838FEF6F -:10BEA000888345C0F801408151812881BC01620F1F -:10BEB000711D27FD7A959B01FB01EE0FFF1F2E0FD1 -:10BEC0003F1FF901E55AF44E21813281240F351FBD -:10BED000F701318320832881AC01420F511D27FDDA -:10BEE0005A959A01FA01EE0FFF1F2E0F3F1FF9011D -:10BEF000E55AF44E208127FF1AC02881820F911D38 -:10BF000027FD9A95FC01EE0FFF1F8E0F9F1FFC016E -:10BF1000E55AF44E808161E08F77DF91CF911F91D8 -:10BF20000F91FF90EF90DF90CF900C9496FBDF91F4 -:10BF3000CF911F910F91FF90EF90DF90CF900895D8 -:10BF4000129A479A0895FF920F931F93CF93DF930E -:10BF50001F92CDB7DEB7F82E09E417E241E050E0BA -:10BF6000B801CE0101960F949D5D89818F1102C0A9 -:10BF700081E007C00F5F1F4F87E20536180771F792 -:10BF800080E00F90DF91CF911F910F91FF90089566 -:10BF90008091F008811107C00F949B12882319F03B -:10BFA00081E08093F008089560E070E080E00F94F5 -:10BFB000EC4A60E070E081E00D94EC4ADC01EC9129 -:10BFC000F0E0CF01880F991FE80FF91FE55AF44EF2 -:10BFD00080818F77808308958F929F92AF92BF92D6 -:10BFE000CF92DF92EF92FF920F93CF93DF931F9246 -:10BFF000CDB7DEB75C016B017A014901F5018081A3 -:10C0000091810F9493648983002311F0F60180835A -:10C01000BE016F5F7F4FC4010F946936F5018081C7 -:10C020009181019691838083FFEFCF1ADF0A81E02F -:10C03000E81AF10819F780E00F90DF91CF910F9186 -:10C04000FF90EF90DF90CF90BF90AF909F908F9038 -:10C0500008957F928F929F92AF92BF92CF92DF927C -:10C06000EF92FF920F931F93CF93DF931F92CDB761 -:10C07000DEB77C0159018B016B01C40ED51E0C1576 -:10C080001D0559F1F70180809180F80171908F01B1 -:10C090007982C4010F949364781691F0672DC401DE -:10C0A0000F949B64C4010F9493649981891741F0A4 -:10C0B0000F94E64D8FE297E20F94664D81E00EC03B -:10C0C000BE016F5F7F4FC5010F946936F701808114 -:10C0D0009181019691838083D2CF80E00F90DF9190 -:10C0E000CF911F910F91FF90EF90DF90CF90BF9075 -:10C0F000AF909F908F907F900895009781F4109259 -:10C10000900082E08093910010929500109294002C -:10C11000C19A80917100826080937100089581308E -:10C12000910569F41092A00082E08093A100109222 -:10C13000A5001092A40089BB809372000895029715 -:10C1400061F41092200182E0809321011092250178 -:10C15000109224018ABB8093730008957F928F927E -:10C160009F92AF92BF92CF92DF92EF92FF920F9386 -:10C170001F93CF93DF93FC019081943208F0CEC0DF -:10C180006B017F01892F90E0FC01EE0FFF1F8E0FE6 -:10C190009F1FFC01E55AF44E808161E08F770E9479 -:10C1A000C5FBF7011182128280816CE00F941C653F -:10C1B000FCE08F9FB001112440E050E09B01240F70 -:10C1C000351FF901EE0FFF1F2E0F3F1FF901E55A32 -:10C1D000F44E908197FD08C04F5F5F4F4C30510582 -:10C1E00069F790E00E947D60F7017080C72DD0E074 -:10C1F0008E01000F111FF801EC0FFD1FE55AF44EE0 -:10C2000080818068808377FC89C0F0E2CF16F2E0FD -:10C21000DF060CF041C0F701828128E532E0281BDF -:10C22000310987FD3395220F331F220F331F032E51 -:10C23000000C440B550B818168E870E04B01881AB3 -:10C24000910887FD9394880C991C880C991C092CE3 -:10C25000000CAA08BB08D7FC0BC0B601653B7105F2 -:10C2600014F064EB70E0072E000C880B990B03C0F0 -:10C2700060E070E0CB01281939094A095B090F9485 -:10C28000A96424EB30E040E050E00F94DB64820EC0 -:10C29000931EA41EB51E01C04601F3E2F71558F126 -:10C2A000F701218188E890E0821B910927FD939591 -:10C2B000880F991F880F991F8816990684F0F70137 -:10C2C000228188E592E0821B910927FD9395880FD2 -:10C2D000991F880F991F881699060CF4C4010297BC -:10C2E0002FB7F894C00FD11FC55AD44E880F991F8D -:10C2F0009A8389832FBF62E370E080E090E0DF9152 -:10C30000CF911F910F91FF90EF90DF90CF90BF9052 -:10C31000AF909F908F907F900D94FA4CDF91CF91CA -:10C320001F910F91FF90EF90DF90CF90BF90AF9053 -:10C330009F908F907F9008951F920F920FB60F924B -:10C3400011240BB60F922F933F934F935F936F93EC -:10C350007F938F939F93AF93BF93EF93FF9348E2A5 -:10C3600051E064E271E082E090E00E94D95EFF91CA -:10C37000EF91BF91AF919F918F917F916F915F915D -:10C380004F913F912F910F900BBE0F900FBE0F90CA -:10C390001F9018951F920F920FB60F9211240BB693 -:10C3A0000F922F933F934F935F936F937F938F934E -:10C3B0009F93AF93BF93EF93FF9348EA50E064EAF3 -:10C3C00070E081E090E00E94D95EFF91EF91BF9113 -:10C3D000AF919F918F917F916F915F914F913F911D -:10C3E0002F910F900BBE0F900FBE0F901F901895BE -:10C3F0001F920F920FB60F9211240BB60F922F932C -:10C400003F934F935F936F937F938F939F93AF93DC -:10C41000BF93EF93FF9348E950E064E970E080E058 -:10C4200090E00E94D95EFF91EF91BF91AF919F91F3 -:10C430008F917F916F915F914F913F912F910F90CD -:10C440000BBE0F900FBE0F901F9018959091C000DB -:10C4500095FFFCCF8093C60008958F929F92AF9274 -:10C46000BF92EF92FF920F931F93CF93DF93CDB7BD -:10C47000DEB7A0970FB6F894DEBF0FBECDBF611533 -:10C4800071058105910591F100E0842E912CA12C7C -:10C49000B12C102FEE24E394F12CEC0EFD1EE00ED7 -:10C4A000F11C07FDFA94A50194010F94B964F701FA -:10C4B0006083B901CA010F5F61157105810591059E -:10C4C00041F71F3F31F1E1E0F0E0EC0FFD1FE10F1C -:10C4D000F11D17FDFA9580818A3010F097E301C0B5 -:10C4E00090E3890F0E9426621150EBCF80E3A09663 -:10C4F0000FB6F894DEBF0FBECDBFDF91CF911F9175 -:10C500000F91FF90EF90BF90AF909F908F900C9401 -:10C510002662A0960FB6F894DEBF0FBECDBFDF91A6 -:10C52000CF911F910F91FF90EF90BF90AF909F9090 -:10C530008F900895CF92DF92EF92FF926B017C0172 -:10C5400097FF0BC08DE20E942662F094E094D09495 -:10C55000C094C11CD11CE11CF11C4AE0C701B6010A -:10C56000FF90EF90DF90CF900C942D62AB01672B82 -:10C5700011F40C942662BC01990F880B990B4A3078 -:10C58000510511F40C949A620C942D628F929F9233 -:10C59000AF92BF92CF92DF92EF92FF92CF936B0157 -:10C5A0007C01B42E20E030E0A9010F94635E87FF88 -:10C5B00007C08DE20E942662F7FAF094F7F8F09433 -:10C5C000C0E060E070E080E09FE3CB1541F02DEC2F -:10C5D0003CEC4CEC5DE30F94C95ECF5FF6CF9B0162 -:10C5E000AC01C701B6010F9459656B017C010F9432 -:10C5F000CC664B015C014AE00E942D62CC2391F194 -:10C60000C501B4010F94685E9B01AC01C701B6017E -:10C610000F9458656B017C018EE20E94266220E037 -:10C6200030E040E251E4C701B6010F94C95E4B010E -:10C630005C010F94C5666B017C016AE070E0C60185 -:10C640000E94B662B601DD0C880B990B0F946A5EEE -:10C650009B01AC01C501B4010F9458656B017C01CD -:10C66000C150E9F6CF91FF90EF90DF90CF90BF904F -:10C67000AF909F908F9008950C94C6628DE00E94B9 -:10C6800026628AE00C942662CF93DF93EC018991B5 -:10C69000882319F00E942662FACFDF91CF910C9483 -:10C6A0003E63E5EFF8E08081818308958091F5088D -:10C6B0009091F608981759F0E92FF0E0EB50F74FFA -:10C6C00082819F5F9F779093F60890E008958FEFA7 -:10C6D0009FEF08952F923F924F925F926F927F92B9 -:10C6E0008F929F92AF92BF92CF92DF92EF92FF9282 -:10C6F0000F931F93CF93DF93CDB7DEB728970FB675 -:10C70000F894DEBF0FBECDBFE82E0E94A92C0E9478 -:10C7100023FD4B015C018091A40D81112FC08091FC -:10C720000002882359F18091DF08882339F1409174 -:10C73000F1085091F2086091F3087091F4089501A6 -:10C740008401041B150B260B370B37FD2AC08330E1 -:10C7500079F03CF4813094F00F94E64D84E997E24F -:10C760000BC0843059F40F94E64D85E697E204C07F -:10C770000F94E64D8DE797E20F94664D20910002ED -:10C7800030E0A8EEB3E00F940D65860E971EA81E4C -:10C79000B91E8092F1089092F208A092F308B0922C -:10C7A000F4088091D20B843008F07FC20E9423FDF0 -:10C7B0004B015C018091D20B81111DC08091F50865 -:10C7C0009091F608891B8F77B1F48091DC099091E4 -:10C7D000DD09A091DE09B091DF09A5019401281BB4 -:10C7E000390B4A0B5B0BDA01C901885E9340A10942 -:10C7F000B109B7FF74C570E6F72E8091D20B843073 -:10C8000008F036C18091F5089091F608891B8F7762 -:10C8100009F42EC10E945663AC0197FDEECF209122 -:10C820009C0D30919D0D8A3019F08D3009F0E8C0D3 -:10C830001092DB092115310519F40F94E546DDCF7F -:10C84000F901E558F64F108210929D0D10929C0D43 -:10C850000BE719E0F8018191803211F48F01FACFD2 -:10C860008E3409F07AC00115110509F476C06DEC1B -:10C8700078E2C8010F94E15D6C01892B41F06EE410 -:10C8800070E0C80104960F94FF69009709F4C8018D -:10C890004AE050E060E070E001960F94595B6093CD -:10C8A0007709709378098093790990937A09409079 -:10C8B0009E0D50909F0D6090A00D7090A10D3FEFC8 -:10C8C000431A530A630A730A6415750586059705AA -:10C8D00031F0CD2821F460E08AE998E2C7C06AE22D -:10C8E00070E0C8010F942E6A9C01009709F1982FFF -:10C8F000901BD12C992339F09150F801E90FF11DCB -:10C900008081D826F7CF4AE050E060E070E0C901AE -:10C9100001960F94595B4D2C512C612C712C641590 -:10C9200075058605970541F060E08BE798E29EC0AB -:10C9300060E081E598E29AC080917709909178094A -:10C94000A0917909B0917A0980939E0D90939F0DE3 -:10C95000A093A00DB093A10D12C08091DE1D80FFA9 -:10C960000EC069E47AE2C8010F94E15D009709F412 -:10C970007AC0FC01838180538A3008F474C08091AE -:10C98000270281111CC067E470E0C8010F94FF69A1 -:10C990000097A9F04AE050E060E070E001960F9443 -:10C9A000595B643071058105910548F480EB97E28D -:10C9B0000F94664D60E086EA97E20F94B14480924E -:10C9C000DC099092DD09A092DE09B092DF09809126 -:10C9D0007B098B3309F411CF8091D20B843008F09E -:10C9E0000CCF80914E0AF89EC00111246BE779E0CC -:10C9F0008F5A954F0F940A6A81E00F946D22FDCEF5 -:10CA00002F3531050CF0F9CE8C35C1F40E945663F8 -:10CA100097FDF3CE2091DB092111EFCE20919C0DE3 -:10CA200030919D0DA9014F5F5F4F50939D0D409335 -:10CA30009C0DF901E558F64F8083DFCE8B3321F44E -:10CA400081E08093DB09D9CE8091DB098111D5CEBD -:10CA5000C901019690939D0D80939C0DF901E558B5 -:10CA6000F64F4083CACE60E087E298E20E946FA949 -:10CA70008091DE1D82FF19C18091D20B811102C00D -:10CA80001092E109DD24D3944091DA1D5091DB1D11 -:10CA90006091DC1D7091DD1D8091D61D9091D71D98 -:10CAA000A091D81DB091D91D481759076A077B0777 -:10CAB00008F4D12C00E010E0CC24C39440E6B42E5E -:10CAC00054E6A52E69E6962E8091D20B843008F0AC -:10CAD000ECC0D110EAC08091E1098111E6C08091DB -:10CAE000EF1A9091F01AA091F11AB091F21A809376 -:10CAF000DA1D9093DB1DA093DC1DB093DD1D41E09A -:10CB000050E0BE016F5F7F4F87EE9AE10E9448BC04 -:10CB1000019719F4898190E002C08FEF9FEFF82E02 -:10CB20004090DA1D5090DB1D6090DC1D7090DD1D83 -:10CB30004091D61D5091D71D6091D81D7091D91D7F -:10CB4000DD24D394441655066606770608F4D12CE6 -:10CB50004416550666067706B0F4019609F461C0DE -:10CB60002AE0F21609F46EC03DE0F31609F46AC03B -:10CB700043E2F41619F05AE3F5127CC08091E00903 -:10CB8000811178C054C00F94FB3987EE9AE10E945E -:10CB9000CFBB8091D51D882339F181508093D51D5D -:10CBA000989EC001112441E061E08652944F0E949A -:10CBB0002970E091D51D64E0E69FF0011124EA524E -:10CBC000F44F40815181628173814093DA1D50930B -:10CBD000DB1D6093DC1D7093DD1D87EE9AE10E94E2 -:10CBE00063B80E94DE6C16C00E94CD6C0F94FA3AB6 -:10CBF0000F94F8170F9456416D3371058105910517 -:10CC000018F488ED98E202C08DED98E20F94B422FA -:10CC1000A092881E8091DE1D82FD0DC080EF98E2FB -:10CC200004C00F94E24D81EE98E20F94664D73E2DA -:10CC3000F71208C005C053E2F5125EC300E010E031 -:10CC4000C092E1091092E0090115110519F40F9441 -:10CC5000E5460DC080914E0AB89E000D111D1124AD -:10CC6000F801EF5AF54F108280E00F946D2200E03A -:10CC700010E02ACF0F35110508F026CF8BE3F8120C -:10CC800003C0C092E00920CF8091E00981111CCF40 -:10CC900080914E0AF801B89EE00DF11D1124EF5A63 -:10CCA000F54FF0820F5F1F4F0FCF0E9423FD4B0106 -:10CCB0005C014091DA085091DB086091DC087091CA -:10CCC000DD08411551056105710529F18091401A72 -:10CCD0009091411AA091421AB091431A840F951F66 -:10CCE000A61FB71F95018401081B190B2A0B3B0BCC -:10CCF00037FD11C00F94E24D60916E0E70916F0E72 -:10CD000084E099E20F94CF4D8AE00E94266280E091 -:10CD100090E00F94783740910102509102026091A7 -:10CD2000030270910402411551056105710509F472 -:10CD30004EC09091CE1B8091CF1B981759F00E9446 -:10CD400023FD6093401A7093411A8093421A909386 -:10CD5000431A3DC08091D50B811137C0E11035C019 -:10CD60008091401A9091411AA091421AB091431AB1 -:10CD7000840F951FA61FB71FA5019401281B390B0F -:10CD80004A0B5B0B57FD21C08091F20981111FC036 -:10CD900081E08093F2095F9A8091481A8E7F809398 -:10CDA000481A8A9A8091481A8D7F8093481A8091F8 -:10CDB000080180958170809306018091481A8B7FCD -:10CDC0008093481A0E94A05F02C01092F2098091DD -:10CDD000EE099091EF09A091F009B091F109B50128 -:10CDE000A401481B590B6A0B7B0B77FDBCC19091CA -:10CDF000CE1B8091CF1B209120021091210298130D -:10CE000017C06091710E269FB0011124660F672F25 -:10CE1000661F770B7195062F8091720E819FB0016E -:10CE20001124660F672F661F770B7195162F29C087 -:10CE30008091CF1B54E5859FC001112487539B4EE1 -:10CE4000FC01EE5AFF4F0081029FB0011124660FD2 -:10CE5000672F661F770B7195062F31968081819F12 -:10CE6000B0011124660F672F661F770B7195162F7F -:10CE70008091CF1B9091CE1B981719F08F5F8F7008 -:10CE8000F9CF002331F10E9423FDC090E609D09034 -:10CE9000E709E090E809F090E909DC01CB01C11451 -:10CEA000D104E104F10469F48C599F4FAF4FBF4F97 -:10CEB0008093E6099093E709A093E809B093E90904 -:10CEC00006C08C199D09AE09BF09B7FF0AC00FEF54 -:10CED00008C01092E6091092E7091092E809109232 -:10CEE000E909602F70E089E00E9401FC112331F113 -:10CEF0000E9423FDC090EA09D090EB09E090EC0974 -:10CF0000F090ED09DC01CB01C114D104E104F1047E -:10CF100069F48C599F4FAF4FBF4F8093EA099093AC -:10CF2000EB09A093EC09B093ED0906C08C199D099B -:10CF3000AE09BF09B7FF0AC01FEF08C01092EA0987 -:10CF40001092EB091092EC091092ED09612F70E03C -:10CF500087E00E9401FC80911F0D882309F4F6C030 -:10CF6000E0906302F0906402009165021091660205 -:10CF70006091040A7091050A6E5F7F4F072E000CC6 -:10CF8000880B990B0F946A5E9701A8010F94635E5A -:10CF900087FDDCC03090CF1B212C1A821B821C82A3 -:10CFA0008091CE1B831509F467C0832D90E064E562 -:10CFB000689FF001699FF00D1124E753FB4E4589EE -:10CFC00056896789708D452B462B472B89F4418DF7 -:10CFD000528D638D748D452B462B472B49F4458D1F -:10CFE000568D678D70A1452B462B472B09F43FC00A -:10CFF00074E5789F9001799F300D1124C901875302 -:10D000009B4E6C01FC0161817281838194810F943C -:10D0100057682B013C01F60161A172A183A194A183 -:10D020000F94685E6D837E838F839887F60165A178 -:10D0300076A187A190A50F94685E9B01AC016D81DC -:10D040007E818F8198850F945366A30192010F947E -:10D05000C95E3B016C01222D3A814B815C810F94AA -:10D06000B967181624F4262C7A82CB82DC8281E000 -:10D07000830D8F70382E94CF209167023091680213 -:10D080004091690250916A02622D7A818B819C8164 -:10D090000F94C95E9701A8010F9459653B016C017B -:10D0A00020905F02309060024090610250906202D6 -:10D0B0009B01AC01B701C8010F94B96718166CF059 -:10D0C0009101A201B301C6010F94B96718161CF4AF -:10D0D0007101820102C0730186014090E209509003 -:10D0E000E3096090E4097090E5099701A801C30184 -:10D0F000B2010F94B9671816C4F420E037ED43EA83 -:10D100005CE3B701C8010F94C95E6B017C0128E4A0 -:10D1100031EE4AE75FE3C301B2010F94C95EA70194 -:10D1200096010F9459657B018C01C701D80180934A -:10D13000E2099093E309A093E409B093E509B701EC -:10D14000C8010F94C566CB010E94ACC0F4E68F0EF7 -:10D15000911CA11CB11C8092EE099092EF09A09243 -:10D16000F009B092F1090F94E5468091AC1481303A -:10D1700009F06EC00E9423FD6B017C018091F709CC -:10D180009091F809A091F909B091FA0997018601E7 -:10D19000081B190B2A0B3B0B37FD3AC08090AD14CE -:10D1A0009090AE14A090AF14B090B0140F9456416C -:10D1B0006093AD147093AE148093AF149093B01439 -:10D1C0000091320A1091330A2091340A3091350AC5 -:10D1D000081919092A093B09DC01CB01800F911FAD -:10D1E000A21FB31F8093320A9093330AA093340A8C -:10D1F000B093350AD701C601805F984DAF4FBF4F3E -:10D200008093F7099093F809A093F909B093FA096C -:10D210008091F3099091F409A091F509B091F60974 -:10D22000A7019601281B390B4A0B5B0B57FD10C059 -:10D2300030E8C30E3EEED31EE11CF11CC092F30990 -:10D24000D092F409E092F509F092F6090F94D21702 -:10D250008091A40D811172C08091D508882391F02E -:10D260000E9423FD0091D1081091D2082091D3088B -:10D270003091D408DC01CB01801B910BA20BB30BC6 -:10D28000B7FF3DC00E9423FD6B017C012091D008B7 -:10D29000222309F453C08091CC089091CD08A0912D -:10D2A000CE08B091CF08B701A601481B590B6A0BF5 -:10D2B0007B0B77FD43C030E0A8EEB3E00F940D6523 -:10D2C000C60ED71EE81EF91EC092CC08D092CD081B -:10D2D000E092CE08F092CF080E94A66C2FC082ED9B -:10D2E00098E20F94664D8092DC099092DD09A0923D -:10D2F000DE09B092DF097FCA1092E009A8CC0E9433 -:10D3000023FD6B017C012091D50830E0A8EEB3E04D -:10D310000F940D65C60ED71EE81EF91EC092D108E7 -:10D32000D092D208E092D308F092D4088091860E71 -:10D330000E94D4938AE00E942662A4CF28960FB65A -:10D34000F894DEBF0FBECDBFDF91CF911F910F913B -:10D35000FF90EF90DF90CF90BF90AF909F908F9015 -:10D360007F906F905F904F903F902F9008951F9205 -:10D370000F920FB60F9211240F900FBE0F901F90B7 -:10D3800018951F920F920FB60F9211240BB60F92A1 -:10D390000F931F932F933F934F935F936F937F93BD -:10D3A0008F939F93AF93BF93CF93DF93EF93FF93AD -:10D3B0000091F608D091F50811E01D0F1F77C0917C -:10D3C000C6009091EC08492F092E000C550B660BF6 -:10D3D000770B4131510508F064C0FA018827E25605 -:10D3E000FF4F8F4F0D945065CD3449F0CE34B9F4D2 -:10D3F00081E006C0CA3338F0CD3409F043C082E082 -:10D400008093EC0876C0C03308F073C0C03209F4D2 -:10D4100070C0CD32B9F56DC0C13351F018F4C032CF -:10D4200089F567C0C43331F0C83361F58BE0E8CFCC -:10D4300083E0E6CF88E0E4CFC03321F0C13311F5BB -:10D4400086E0DECF84E0DCCFC833E1F485E0D8CFDE -:10D45000C233C1F487E0D4CFC133A1F489E0D0CF87 -:10D46000C03381F48AE0CCCFC73361F48CE0C8CFFD -:10D47000C63341F48DE0C4CFC032D9F1C33511F4C5 -:10D480008EE0BECF80E1BCCF80ED8C0F8A3088F576 -:10D490009FE09093EC088093EB082BC0CA3049F5CD -:10D4A00026C0CA3031F58091C41C882301F1973021 -:10D4B00089F03CF49530D9F4109214021092871E32 -:10D4C00016C09A3059F09F3091F48091EB080E9479 -:10D4D0001BE20DC081E08093A81E09C00F94503B51 -:10D4E0000F94FB398EEF0E949C7E0E940A7F10925F -:10D4F000EC08011731F0ED2FF0E0EB50F74FC2834D -:10D50000D12FD093F508FF91EF91DF91CF91BF918B -:10D51000AF919F918F917F916F915F914F913F91CB -:10D520002F911F910F910F900BBE0F900FBE0F9078 -:10D530001F9018958EBD0DB407FEFDCF08958FEF97 -:10D540008EBD0DB407FEFDCF8EB508959091640099 -:10D550009B7F90936400982F906A96959CBD80FD68 -:10D5600003C091E0863009F490E09DBD0895CF920C -:10D57000DF92EF92FF920F931F93CF93DF936C0193 -:10D580007A018B01C0E0D0E0CE15DF0581F0D80133 -:10D590006D918D01D601ED91FC910190F081E02D0E -:10D5A000C6011995892B11F02196EECF7E01C70196 -:10D5B000DF91CF911F910F91FF90EF90DF90CF906F -:10D5C0000895089580E090E00895FC01538D448D06 -:10D5D000252F30E0842F90E0821B930B541710F01E -:10D5E000CF96089501970895FC01918D828D98172B -:10D5F00061F0828DDF01A80FB11D5D968C91928D37 -:10D600009F5F9F73928F90E008958FEF9FEF089533 -:10D61000FC01918D828D981731F0828DE80FF11DFC -:10D62000858D90E008958FEF9FEF0895FC01918D17 -:10D63000228D892F90E0805C9F4F821B91098F7310 -:10D64000992708958AE49AE10E94166B21E0892BBC -:10D6500009F420E0822F0895FC01848DDF01A80FDA -:10D66000B11DA35ABF4F2C91848D90E001968F730A -:10D670009927848FA689B7892C93A089B1898C9129 -:10D68000837080648C93938D848D981306C0028878 -:10D69000F389E02D80818F7D80830895EF92FF9242 -:10D6A0000F931F93CF93DF93EC0181E0888F9B8DC5 -:10D6B0008C8D981305C0E889F989808185FD26C085 -:10D6C000F62E0B8D10E00F5F1F4F0F731127E02E0A -:10D6D0008C8DE8120CC00FB607FCFACFE889F989E7 -:10D6E000808185FFF5CFCE010E942C6BF1CF8B8D11 -:10D6F000FE01E80FF11DE35AFF4FF0829FB7F89447 -:10D700000B8FEA89FB89808180620AC09FB7F894F9 -:10D71000EE89FF896083E889F9898081837080645C -:10D7200080839FBF81E090E0DF91CF911F910F91A7 -:10D73000FF90EF900895CF93DF93EC01888D8823BD -:10D74000C9F0EA89FB89808185FD05C0A889B9896E -:10D750008C9186FD0FC00FB607FCF5CF808185FF49 -:10D76000F2CFA889B9898C9185FFEDCFCE010E94B7 -:10D770002C6BE7CFDF91CF91089580E090E0892B6B -:10D7800041F080E090E0892B21F00E94000081119F -:10D7900021C080E090E0892B41F080E090E0892B6F -:10D7A00021F00E940000811118C080E090E0892BD8 -:10D7B00021F00E94226B811113C080E090E0892B40 -:10D7C000A1F080E090E0892B81F00E94000081119F -:10D7D0000AC008950E940000DCCF0E940000E5CF3F -:10D7E0000E940000EACF0C9400000895FC0120E0A4 -:10D7F0003EE2DB014C91403241F0283011F430839D -:10D800003196DB014C91408331962F5F6F5F7F4FE4 -:10D810002B3079F7108208950F94BE690F931F93F0 -:10D82000CF93DF938B01EA01DB016D917C910E9424 -:10D8300069B9D801ED91FC91119790818881992364 -:10D8400049F0893638F43196ED93FC9388818F5FE7 -:10D850008883EFCF893658F48FE28083F801808186 -:10D86000918101969183808388818F5F8883DF9186 -:10D87000CF911F910F9108951F920F920FB60F92A3 -:10D8800011240BB60F922F933F934F935F936F9397 -:10D890007F938F939F93AF93BF93EF93FF938AE40C -:10D8A0009AE10E942C6BFF91EF91BF91AF919F91F4 -:10D8B0008F917F916F915F914F913F912F910F9039 -:10D8C0000BBE0F900FBE0F901F9018951F920F92D6 -:10D8D0000FB60F9211240BB60F922F938F939F9335 -:10D8E000EF93FF93E0915A1AF0915B1A8081E091D7 -:10D8F000601AF091611A82FD12C090818091631AC2 -:10D900008F5F8F732091641A821751F0E091631A30 -:10D91000F0E0E65BF54E958F8093631A01C080813D -:10D92000FF91EF919F918F912F910F900BBE0F90D0 -:10D930000FBE0F901F9018958BE1E0E4FBE1A5E28C -:10D94000BBE101900D928A95E1F708958091DE1D6B -:10D9500082FF1FC089EC9BE20F94664D6091DA1D37 -:10D960007091DB1D8091DC1D9091DD1D4AE00E94CD -:10D970002D628FE20E9426626091D61D7091D71DA4 -:10D980008091D81D9091D91D4AE00E942D620C947F -:10D990003E638BED9BE20D94664D1092D50B80910A -:10D9A000DE1D8F7D8B7F8093DE1D0E94F2A8882371 -:10D9B00021F087EE9AE10C94CFBB08958091DE1D93 -:10D9C00083FF03C084608093DE1D0895CF92DF92B1 -:10D9D000EF92FF920F931F93CF93DF93CDB7DEB7F4 -:10D9E000EDB6FEB6DC010D900020E9F79D01281B85 -:10D9F000390B2C5F3F4F4DB75EB7421B530B0FB631 -:10DA0000F8945EBF0FBE4DBF0DB71EB70F5F1F4F1F -:10DA10009F938F9385EC9AE29F938F931F930F931D -:10DA20000F94FB5D680154E0C50ED11C0F900F9060 -:10DA30000F900F900F900F90F6018081882349F08E -:10DA4000082E000C990B0F94C369F60181936F01A6 -:10DA5000F3CFC8010F94822281EC9AE20F94B42292 -:10DA60000FB6F894FEBE0FBEEDBEDF91CF911F91B1 -:10DA70000F91FF90EF90DF90CF9008958F929F923B -:10DA8000AF92BF92CF92DF92EF92FF92CF938091AD -:10DA9000DE1D877F8093DE1D8091431B882321F04C -:10DAA00080E49BE10E94CFBB1092241B1092211BAB -:10DAB00085E38093201B0E9423FD6B017C0120EDF8 -:10DAC000C20E27E0D21EE11CF11CA89561E08091F6 -:10DAD000201B0E9496FB61E08091201B0E94C5FBE9 -:10DAE000209A289A219A2398229A81E00E94A66A75 -:10DAF00085E08093221B0E94A66ACAE08FEF0E94F5 -:10DB00009A6AC150D9F7A89520E030E0A90160E0F9 -:10DB100080E29BE10E94AFBA8093231B813061F0C9 -:10DB20000E9423FDDC01CB018C199D09AE09BF09C0 -:10DB3000B7FDEACF81E062C0A8952AEA31E040E073 -:10DB400050E068E080E29BE10E94AFBA853011F4BA -:10DB500081E00AC0C4E00E949F6A8093231BC150E9 -:10DB6000D1F78A3A61F482E08093241BA8958091D2 -:10DB7000241B823081F0812C912C540111C00E9411 -:10DB800023FDDC01CB018C199D09AE09BF09B7FD4E -:10DB9000D4CF82E033C0812C912CA12C80E4B82E0C -:10DBA00020E030E0A90167E380E29BE10E94AFBA88 -:10DBB000A501940169E280E29BE10E94AFBA8093E3 -:10DBC000231B882361F00E9423FDDC01CB018C190B -:10DBD0009D09AE09BF09B7FDE3CF8AE00FC0809170 -:10DBE000241B823021F520E030E0A9016AE380E2C5 -:10DBF0009BE10E94AFBA882361F088E08093211BEB -:10DC000080E29BE10E94A7BA0F94E64D83EB9AE273 -:10DC100022C00E949F6A807C803C19F483E080933C -:10DC2000241B0E949F6A0E949F6A0E949F6A80E252 -:10DC30009BE10E94A7BA1092221B81E00E9423F769 -:10DC400081110CC080E00E9423F7811107C00F945E -:10DC5000E24D8FE99AE20F94664D1AC062E07BE1D3 -:10DC600080E49BE10E94FAB8811105C00F94E24D57 -:10DC70008EE89AE2F0CF8091DE1D88608093DE1DF1 -:10DC80000F94E64D82E89AE20F94664D0E94C85FB9 -:10DC9000CF91FF90EF90DF90CF90BF90AF909F908B -:10DCA0008F900C949C6C2F923F925F926F927F9218 -:10DCB0008F929F92AF92BF92CF92DF92EF92FF929C -:10DCC0000F931F93CF93DF93CDB7DEB7C356D10920 -:10DCD0000FB6F894DEBF0FBECDBF8C016B014A01B9 -:10DCE0002DB63EB6512C7E0187E5E80EF11CF601FB -:10DCF0008381823008F41FC180859185A285B38518 -:10DD00008F719927AA27BB27892B8A2B8B2B09F088 -:10DD100012C11092921042E950E1BE016F5F7F4F35 -:10DD2000C6010E9464BD18160CF005C18C85982FA1 -:10DD30009871903129F42091430C2150223078F4CD -:10DD40002981222309F4F7C0253E89F22E3279F287 -:10DD5000209192102E3259F28A7049F67CC06DB62D -:10DD60007EB6BE016F5F7F4FC7010E94F66B011543 -:10DD7000110521F0F8018081811163C021E081E06B -:10DD800090E0F70101900020E9F73197EE19FF09C3 -:10DD9000E80FF91F32968DB79EB78E1B9F0B0FB6FB -:10DDA000F8949EBF0FBE8DBFEDB7FEB731965F01F1 -:10DDB000211102C0B80102C060E776E0C5010F94EE -:10DDC0000A6AB701C5010F94F46960E776E0C501FE -:10DDD0000F94F46919A21CA221E0A701B601CE019B -:10DDE00081960E94BBBF81110DC08091430C8111AF -:10DDF00009C00F94E64D8EE69AE20F94664DC70176 -:10DE00000E9444638BE1FE01B196DE01DC96019035 -:10DE10000D928A95E1F740E050E0BE01645C7F4FCF -:10DE2000C5010E94536ECE01CC960E94D8BBCE0194 -:10DE300081960E94D8BB0FB6F8947EBE0FBE6DBE11 -:10DE400056CFF80101900020E9F73197CF01801BF0 -:10DE5000910B20E096CF21E0903109F020E08091F5 -:10DE6000DE1D20FB84F98093DE1D903141F0898511 -:10DE7000873409F03CCF8A858E3709F438CF8091FA -:10DE8000430C813021F068F08230C1F130CF8091B5 -:10DE9000460C9091470C01969093470C8093460C4A -:10DEA00026CFBE016F5F7F4F84ED90E10E94F66B3D -:10DEB0000115110529F484EDA82E80E1B82E09C0C2 -:10DEC0005801F50181915F018823A9F30E94266220 -:10DED000F8CFF50181915F01882319F00E94266235 -:10DEE000F8CF80E20E9426626D8D7E8D8F8D98A185 -:10DEF0004AE00E942D620E943E63F9CEBE016F5F30 -:10DF00007F4F84ED90E10E94F66B8114910441F003 -:10DF100064ED70E1C4010F94E169892B51F40BC0E9 -:10DF2000852D90E02091440C3091450C8217930789 -:10DF300011F05394DCCE0FB6F8943EBE0FBE2DBE4A -:10DF4000CD59DF4F0FB6F894DEBF0FBECDBFDF91C6 -:10DF5000CF911F910F91FF90EF90DF90CF90BF90E6 -:10DF6000AF909F908F907F906F905F903F902F9099 -:10DF70000895CF93DF93CDB7DEB76B970FB6F894C4 -:10DF8000DEBF0FBECDBF81E08093430C1092470CE3 -:10DF90001092460C85E29BE10E94A2BA8BE1E5E279 -:10DFA000FBE1DE01119601900D928A95E1F740E0C8 -:10DFB00050E0BE016F5F7F4F80E090E00E94536EA3 -:10DFC000CE0101960E94D8BB8091460C9091470CDF -:10DFD0006B960FB6F894DEBF0FBECDBFDF91CF9129 -:10DFE00008950F931F93CF93DF93CDB7DEB76B9751 -:10DFF0000FB6F894DEBF0FBECDBF8B0122E0209399 -:10E00000430C9093450C8093440C85E29BE10E9465 -:10E01000A2BA8BE1E5E2FBE1DE01119601900D92DF -:10E020008A95E1F7A801BE016F5F7F4F80E090E025 -:10E030000E94536ECE0101960E94D8BB6B960FB61C -:10E04000F894DEBF0FBECDBFDF91CF911F910F912E -:10E050000895DF92EF92FF920F931F93CF93DF9378 -:10E0600000D01F92CDB7DEB72091DE1D23FF3DC14A -:10E07000F42EE62E8C010E94F2A8882309F481C0B8 -:10E08000FF2009F48CC08091D51D882351F00F9496 -:10E09000E24D84E89BE20F94664D80E090E00F949F -:10E0A00078378BED9BE09A8389838FE28093DA0B3C -:10E0B00081E08B83F12C9BE1D92E8091D41DF81641 -:10E0C00078F4DF9CC0011124AE014D5F5F4FBE01AB -:10E0D0006F5F7F4F8A53934E0E940E6CF394EDCF87 -:10E0E0008B818B3578F4AE014D5F5F4FBE016F5F62 -:10E0F0007F4F87EE9AE10E940E6C89819A81019789 -:10E100009A838983E981FA811082E091D51D84E0A8 -:10E11000E89FF0011124EA52F44F8091DA1D9091AA -:10E12000DB1DA091DC1DB091DD1D80839183A28356 -:10E13000B3830F94E64DB8018BE69BE20F94CF4D6D -:10E140006091D51D89E6689FB00111246652744F15 -:10E1500080E69BE20F94CF4D4091DA1D5091DB1D7C -:10E160006091DC1D7091DD1D8AE59BE20F94944D5A -:10E170008AE00E9426628091D51D8F5F8093D51D15 -:10E1800026C0FF2039F00F94E64D8AE49BE20F94FD -:10E19000664D1DC01092D51D82E0F82E02C0FF24EE -:10E1A000F3940F94E64D85E49BE20F94664D81E075 -:10E1B000F81609F497C081E39BE20F94664DB8010D -:10E1C0008DE39BE20F94CF4D8AE00E9426620E946D -:10E1D000CD6CB801CE0103960F94DF388C01009707 -:10E1E00009F483C06B817C81EE2009F450C021E0EA -:10E1F000AC0187EE9AE10E94BBBF882309F43FC0BF -:10E200008091F81A9091F91AA091FA1AB091FB1A1C -:10E210008093D61D9093D71DA093D81DB093D91D80 -:10E220001092DA1D1092DB1D1092DC1D1092DD1D84 -:10E23000B80183E29BE20F94CF4D4091D61D5091DF -:10E24000D71D6091D81D7091D91D8BE19BE20F9471 -:10E25000944D8AE00E9426628CE09BE20F94664D0A -:10E26000B80180E090E00E94F16F809192108111DE -:10E2700002C0C80102C082E990E160E030C0B8018C -:10E2800088EF9AE20F94CF4D85EF9AE20FC026E512 -:10E29000AC0187EE9AE10E94BBBF81110AC0B801B0 -:10E2A00081EE9AE20F94CF4D8EED9AE20F94664D77 -:10E2B0001CC08091DE1D81608093DE1DB80180E06E -:10E2C00090E00E94F16F1092C41CB8018CEC9AE2AD -:10E2D0000F94CF4D8AE00E94266260E0C8010F943F -:10E2E000294503C087E39BE268CF0F900F900F9002 -:10E2F0000F90DF91CF911F910F91FF90EF90DF90E2 -:10E300000895CF92DF92EF92FF92CF936B017C0141 -:10E31000C42F8091871090918810A0918910B0919E -:10E320008A108C159D05AE05BF05D1F00E945CBB1F -:10E33000811102C080E018C027E83EE0B701A601C5 -:10E3400080919010909191100E94DEBB882391F3F0 -:10E35000C0928710D0928810E0928910F0928A10B3 -:10E3600081E0C11180938F10CF91FF90EF90DF90EB -:10E37000CF9008954F925F926F927F928F929F926B -:10E38000AF92BF92CF92DF92EF92FF920F931F93C3 -:10E39000CF93DF93EC01423051056105710510F414 -:10E3A00080E069C089859A85AB85BC850196A11DF1 -:10E3B000B11D84179507A607B70790F38F898031A1 -:10E3C00049F4852E962EA72EBB248B899C89AD8976 -:10E3D000BE890FC0803221F78B889C88AD88BE88AB -:10E3E000DB01CA01E7E0B695A79597958795EA9571 -:10E3F000D1F7880E991EAA1EBB1E280139016A0199 -:10E400007B0141E0C501B4010E948171882341F282 -:10E410009F89903161F4DD24EE24FF249601220FC0 -:10E42000331FF901E957F14F5182408211C0E8943E -:10E43000C7F8DD24EE24FF249601220F331F220F9C -:10E44000331FF901E957F14F408251826282738292 -:10E450009A89923080F04D815E816F817885840E3B -:10E46000951EA61EB71E80928B1090928C10A092C3 -:10E470008D10B0928E10DF91CF911F910F91FF9070 -:10E48000EF90DF90CF90BF90AF909F908F907F9054 -:10E490006F905F904F900895CF92DF92EF92FF922E -:10E4A0000F931F93CF93DF93FC0181859285A38502 -:10E4B000B4850196A11DB11D84179507A607B7075E -:10E4C00010F480E061C08789803149F4BB27A72F11 -:10E4D000962F852FC388D488E588F6880FC08032B0 -:10E4E00081F783899489A589B6896A017B01C7E090 -:10E4F000F694E794D794C794CA95D1F78C0D9D1DD7 -:10E50000AE1DBF1DE9016A017B018F01409187109B -:10E51000509188106091891070918A108417950726 -:10E52000A607B70739F040E0BC01CD010E94817118 -:10E53000882339F2F8018789803179F4B701A6017F -:10E54000552766277727440F551FFA01E957F14FE2 -:10E5500080819181A0E0B0E012C0B701A6014F77A1 -:10E56000552766277727440F551F440F551FFA017B -:10E57000E957F14F80819181A281B381BF70888377 -:10E580009983AA83BB8381E0DF91CF911F910F9183 -:10E59000FF90EF90DF90CF9008954F925F926F922F -:10E5A0007F92AF92BF92CF92DF92EF92FF920F9342 -:10E5B0001F93CF93DF9300D01F92CDB7DEB78C01AE -:10E5C00049835A836B837C835901C12CD12C7601FA -:10E5D000412C82E0582E612C712C49815A816B812B -:10E5E0007C819E012F5F3F4FC8010E944C7288239F -:10E5F00041F1D301C201F801058404C0880F991FBD -:10E60000AA1FBB1F0A94D2F7C80ED91EEA1EFB1E12 -:10E6100049815A816B817C818789803139F481E01D -:10E62000483F5F4F6105710538F4D7CF81E0483F1F -:10E630005F4F6F4F7F4088F2F501C082D182E28246 -:10E64000F3820F900F900F900F90DF91CF911F9159 -:10E650000F91FF90EF90DF90CF90BF90AF907F90A1 -:10E660006F905F904F900895AF92BF92CF92DF92DC -:10E67000EF920F931F93A12CB12C6501E090860EB1 -:10E680008C0122E83EE04EE75EE06AE77EE086E746 -:10E690009EE00F94EA1A1F910F91EF90DF90CF90B8 -:10E6A000BF90AF900895CF92DF92EF92FF92CF93F9 -:10E6B000DF9320911502222309F485C0EC01C0905C -:10E6C0002802D0902902E0902A02F0902B022881A3 -:10E6D00039814A815B81C701B6010F94B967181669 -:10E6E00024F4C882D982EA82FB82C0902C02D090A6 -:10E6F0002D02E0902E02F0902F02288139814A816C -:10E700005B81C701B6010F94635E87FF04C0C882B6 -:10E71000D982EA82FB82C0903002D0903102E09030 -:10E720003202F09033022C813D814E815F81C7011E -:10E73000B6010F94B967181624F4CC82DD82EE82FC -:10E74000FF82C0903402D0903502E0903602F09003 -:10E7500037022C813D814E815F81C701B6010F9444 -:10E76000635E87FF04C0CC82DD82EE82FF82C090B0 -:10E770003802D0903902E0903A02F0903B022885AE -:10E7800039854A855B85C701B6010F94B9671816AC -:10E7900024F4C886D986EA86FB86C0903C02D090D5 -:10E7A0003D02E0903E02F0903F02288539854A857F -:10E7B0005B85C701B6010F94635E87FF04C0C886FE -:10E7C000D986EA86FB86DF91CF91FF90EF90DF90AC -:10E7D000CF9008952F923F924F925F926F927F92C7 -:10E7E0008F929F92AF92BF92CF92DF92EF92FF9261 -:10E7F0000F931F93CF93DF93CDB7DEB7C757D109E0 -:10E800000FB6F894DEBF0FBECDBF8DE59EE00E942F -:10E8100053738091730D83FD81C0C090690ED090B9 -:10E820006A0EE0906B0EF0906C0E2091820E30918B -:10E83000830E4091840E5091850EC701B6010F944E -:10E84000635E882309F46AC08091720D81111FC034 -:10E850006091000A7091010A8091020A9091030A66 -:10E860000F94C566209144023091450262177307E8 -:10E8700074F4C092820ED092830EE092840EF092D5 -:10E88000850E0F94E64D80E79CE20F94664D8090D4 -:10E89000690E90906A0EA0906B0EB0906C0E209155 -:10E8A000820E3091830E4091840E5091850EC501E9 -:10E8B000B4010F9458656B017C0120E030E0A901A0 -:10E8C0000F94B96787FF04C0F7FAF094F7F8F09453 -:10E8D000E091860E04E0E09FF0011124E85EFD4F18 -:10E8E0002081318142815381C701B6010F94C95EF5 -:10E8F00020E030E04AEF53E40F94B967181674F43F -:10E900008092820E9092830EA092840EB092850E19 -:10E910000F94E64D81E59CE20F94664D8091451E73 -:10E920000091160210911702882309F1C090E40C9F -:10E93000D090E50CE090E60CF090E70C20E030E0A1 -:10E94000A901C701B6010F94635E882309F457C07B -:10E950002091650E3091660E4091670E5091680EC1 -:10E96000C701B6010F94B96718160CF448C0B80176 -:10E97000110F880B990B0F946A5E20914002309121 -:10E98000410240914202509143020F94C95E2AE035 -:10E9900037ED43E25CE30F94C95E69837A838B832E -:10E9A0009C83A12CB12C6501E090860E8E010F5F37 -:10E9B0001F4F29E63EE045E65EE061E67EE08DE53C -:10E9C0009EE00F94EA1A0E9488E8C958DF4F0FB6FC -:10E9D000F894DEBF0FBECDBFDF91CF911F910F9195 -:10E9E000FF90EF90DF90CF90BF90AF909F908F906F -:10E9F0007F906F905F904F903F902F900895F09090 -:10EA0000860EA096FFAEA097B801110F880B990B48 -:10EA10000F946A5E2091400230914102409142027F -:10EA2000509143020F94C95E2AE037ED43E25CE364 -:10EA30000F94C95E6DA77EA78FA798ABF090760E56 -:10EA4000FFAAF090770EFBAEF090780EFFAEF0903C -:10EA5000790E2196FFAE219700917A0E10917B0ED0 -:10EA600020917C0E30917D0E25960CAF1DAF2EAF00 -:10EA70003FAF259780917E0E90917F0EA091800EE2 -:10EA8000B091810EA4968CAF9DAFAEAFBFAFA497EF -:10EA9000E090820EF090830E0091840E1091850E0E -:10EAA000A896ECAEFDAE0EAF1FAFA897C0905D0E5E -:10EAB000D0905E0EE0905F0EF090600EC982DA8218 -:10EAC000EB82FC828090610E9090620EA090630EAB -:10EAD000B090640E8D829E82AF82B8860091650EE2 -:10EAE0001091660E2091670E3091680E09AB1AAB3B -:10EAF0002BAB3CAB09871A872B873C874090690E6C -:10EB000050906A0E60906B0E70906C0E4D865E8613 -:10EB10006F86788A20E030E040E450E46FA97BAD56 -:10EB20008FAD21969FAD21970F9458652DEA3CEF4C -:10EB300044E85CE30F94C95E0F94C566663014F038 -:10EB400065E002C067FD60E0262F660F330B3EAB29 -:10EB50002DAB20E030E040E450E425966CAD7DAD77 -:10EB60008EAD9FAD25970F9458652FE031EA47E8A9 -:10EB70005CE30F94C95E0F94C566663014F065E0DF -:10EB800002C067FD60E0862F660F990B2D969FAF40 -:10EB90008EAF2D9720E030E040E450E4C701B6018D -:10EBA0000F9458652DEA3CEF44E85CE30F94C95E8E -:10EBB0000F94C56629966FAF299766302CF095E0C3 -:10EBC00029969FAF299708C02996AFAD2997A7FF2F -:10EBD00003C029961FAE29972996EFAD29970E2ECF -:10EBE000000CFF0B2F96FFAFEEAF2F9720E030E029 -:10EBF00040E450E4C501B4010F9458652FE031EAB8 -:10EC000047E85CE30F94C95E0F94C56628966FAF22 -:10EC1000289766302CF0F5E02896FFAF289708C0BB -:10EC200028960FAD289707FF03C028961FAE289798 -:10EC300028962FAD2897022E000C330B27963FAF56 -:10EC40002EAF27978DA99EA92F96AEADBFAD2F975A -:10EC50008A179B0709F01FC12D962EAD3FAD2D974A -:10EC600027968EAD9FAD27972817390709F013C156 -:10EC700089809A80AB80BC8029968FAD29970E94AD -:10EC8000F6AB9B01AC012F966EAD7FAD2F976F5FFA -:10EC90007F4FA6E0A69FC001A79F900D1124279645 -:10ECA000EEADFFAD2797E80FF91FEE0FFF1FEE0F38 -:10ECB000FF1FEC5AF34FE080F18002811381EFAA2D -:10ECC000F8AE09AF1AAF2F960EAD1FAD2F97A09FCC -:10ECD000B001A19F700D11242796EEADFFAD2797CF -:10ECE000E60FF71FEE0FFF1FEE0FFF1FEC5AF34F5B -:10ECF00040805180628073802796AEADBFAD27976C -:10ED00001196FC01EA0FFB1FEE0FFF1FEE0FFF1F16 -:10ED1000EC5AF34FE080F18002811381EBAEFCAE40 -:10ED20000DAF1EAFA60FB71FAA0FBB1FAA0FBB1FA9 -:10ED3000AC5AB34FCD90DD90ED90FC9029960FAD7D -:10ED40002997053089F1C501B4010F9458652DEA62 -:10ED50003CEF44E85CE30F94C95E4B015C01A30106 -:10ED600092016FA978AD89AD9AAD0F945865A50150 -:10ED700094010F94C95EA30192010F9459652B0170 -:10ED80003C01A70196016BAD7CAD8DAD9EAD0F949E -:10ED90005865A50194010F94C95EA70196010F94CF -:10EDA00059656B017C0105C0C12CD12C760126016F -:10EDB00037018D809E80AF80B88428968FAD2897CC -:10EDC0000E94C8AB9B01AC0128961FAD2897153057 -:10EDD00059F1C501B4010F9458652FE031EA47E8B5 -:10EDE0005CE30F94C95E4B015C01A3019201C70172 -:10EDF000B6010F9458659B01AC01C501B4010F9495 -:10EE0000C95EA30192010F9459656B017C01CE018B -:10EE100009960E940EE89B01AC01C701B6010F9450 -:10EE2000C95E6B017C0103C0C12CD12C7601198A0B -:10EE30001A8A1B8A1C8A89849A84AB84BC84A701A1 -:10EE40009601C701B6010F94A668882319F0C12C5A -:10EE5000D12C7601A7019601C501B4010F94596523 -:10EE60006D8B7E8B8F8B988F9E012F5E3F4F69013C -:10EE7000A096EFACA0978E01035D1F4F245031097F -:10EE8000AE014B5E5F4FBE016B5F7F4FCE010196BF -:10EE90000E947A8098CD2FA93BAD4FAD21965FADF2 -:10EEA0002197C701B6010F9458656B017C01259627 -:10EEB0002CAD3DAD4EAD5FAD2597C501B4010F94AE -:10EEC00058654B015C0181E090E02B969FAF8EAFBF -:10EED0002B9720E030E0A901C501B4010F94635ED7 -:10EEE00087FD04C02B961FAE1EAE2B9720E030E0AE -:10EEF000A901C701B6010F94635E87FF0AC097019D -:10EF00008601305863960CAF1DAF2EAF3FAF6397AD -:10EF100006C06396CCAEDDAEEEAEFFAE639720E0EA -:10EF200030E0A901C501B4010F94635E87FF0AC0F8 -:10EF3000D501C401B05867968CAF9DAFAEAFBFAFDF -:10EF4000679706C067968CAE9DAEAEAEBFAE6797B4 -:10EF5000ADA9BEA92F96EEADFFAD2F97AE17BF0797 -:10EF600081F020E030E0A901C701B6010F94635E93 -:10EF700087FF0CC00FEF1FEF6D961FAF0EAF6D97A1 -:10EF80000BC06D961FAE1EAE6D9706C021E030E03F -:10EF90006D963FAF2EAF6D972D968EAD9FAD2D9791 -:10EFA0002796AEADBFAD27978A179B0781F020E06B -:10EFB00030E0A901C501B4010F94635E87FF0CC066 -:10EFC000EFEFFFEF6F96FFAFEEAF6F970BC06F964F -:10EFD0001FAE1EAE6F9706C001E010E06F961FAF28 -:10EFE0000EAF6F9767962CAD3DAD4EAD5FAD679799 -:10EFF00063966CAD7DAD8EAD9FAD63970F94B96791 -:10F0000018161CF01401850102C016018701A8968C -:10F010002CAD3DAD4EAD5FADA897C301B2010F94CD -:10F02000586569A77AA78BA79CA79101A8010F949F -:10F030005366AC966CAF7DAF8EAF9FAFAC97A49686 -:10F040002CAD3DAD4EAD5FADA49769A97AA98BA952 -:10F050009CA90F9458659101A8010F945366E296FC -:10F060006CAF7DAF8EAF9FAFE297A7019601C50150 -:10F07000B4010F9453666B966CAF7DAF8EAF9FAFAC -:10F080006B979B01AC016FA97BAD8FAD21969FADB6 -:10F0900021970F94C95E9B01AC0125966CAD7DADA7 -:10F0A0008EAD9FAD25970F945865E6966CAF7DAFFA -:10F0B0008EAF9FAFE697AC964CAC5DAC6EAC7FACC0 -:10F0C000AC97E89477F86D962EAD3FAD6D97232BF6 -:10F0D00009F03BC12D962EAC3FAC2D972B968EADF3 -:10F0E0009FAD2B97280E391E2796AEADBFAD279743 -:10F0F000A80FB91F2B96BFAFAEAF2B976B960CAD79 -:10F100001DAD2EAD3FAD6B973F7709AB1AAB2BAB67 -:10F110003CAB2B962EAD3FAD2B972215330509F452 -:10F120006FC46F968EAD9FAD6F97280E391E122D4E -:10F13000822D0E94C8AB6B017C012FEF3FEF4FE7A0 -:10F140005FE769A97AA98BA99CA90F94A668811188 -:10F150000CC02FEF3FEF4FE75FE769A97AA98BA9B2 -:10F160009CA90F94635E1816ACF0E6962CAD3DADED -:10F170004EAD5FADE697C701B6010F9458656B962B -:10F180002CAD3DAD4EAD5FAD6B970F945366362FF2 -:10F19000272F06C03FA92BAD8FAD21969FAD21979C -:10F1A000432F522FBC014D8F5E8F6F8F78A396E057 -:10F1B0002916310450F4A1016DA97EA9CE014D9606 -:10F1C0000E94A7E76B017C0103C0C12CD12C760102 -:10F1D000CE0109960E940EE8A70196010F94C95E20 -:10F1E0006B017C019B01AC010F94A668882319F088 -:10F1F000C12CD12C7601812F0E94C8AB4B015C0140 -:10F20000698F7A8F8B8F9C8F9B01AC0125966CAD9B -:10F210007DAD8EAD9FAD25970F94635E882309F475 -:10F2200078CF2FEF3FEF4FE75FE7C301B2010F94B5 -:10F23000A66881110BC02FEF3FEF4FE75FE7C301D7 -:10F24000B2010F94635E18160CF450C067962CAD93 -:10F250003DAD4EAD5FAD679763966CAD7DAD8EAD48 -:10F260009FAD63970F94B96718165CF42FA93BAD57 -:10F270004FAD21965FAD21976D8D7E8D8F8D98A1BD -:10F2800008C025962CAD3DAD4EAD5FAD2597C501AF -:10F29000B4010F9458654B015C019B01AC01AC9625 -:10F2A0006CAD7DAD8EAD9FADAC970F94C95EA89649 -:10F2B0002CAD3DAD4EAD5FADA8970F94596569A7D4 -:10F2C0007AA78BA79CA7A5019401E2966CAD7DADB2 -:10F2D0008EAD9FADE2970F94C95EA4962CAD3DAD67 -:10F2E0004EAD5FADA4970F9459650CC08D859E857A -:10F2F000AF85B88989A79AA7ABA7BCA769857A8586 -:10F300008B859C85198A1A8A1B8A1C8AA7019601FB -:10F310000F9459656D8B7E8B8F8B988FDE01519684 -:10F320006D01A096EFACA0978E01035D1F4F9E016B -:10F33000275D3F4FAE014B5E5F4FBE01675E7F4F63 -:10F34000CE014D960E947A80E4CEE1E0F0E0FAAB87 -:10F35000E9AB20E030E0A901C701B6010F94635E7C -:10F3600087FD02C01AAA19AA2DA83EA8E9A8FAA8E2 -:10F370002E0C3F1C6F960EAD1FAD6F97012B09F041 -:10F3800000C12F962EAD3FAD2F972E0D3F1D3AABEE -:10F3900029AB89A99AA98215930509F431C36D9601 -:10F3A000AEADBFAD6D972A0E3B1E122D822D0E9471 -:10F3B000F6AB9B01AC016B966CAD7DAD8EAD9FAD98 -:10F3C0006B970F94C95EE6962CAD3DAD4EAD5FAD2B -:10F3D000E6970F9459656D8F7E8F8F8F98A3B6E057 -:10F3E0002B16310460F42D964EAD5FAD2D97B10113 -:10F3F000CE014D960E9440E76B017C0103C0C12CF9 -:10F40000D12C7601CE0109960E940EE8A701960143 -:10F410000F94C95E6B017C019B01AC010F94A6683F -:10F42000882319F0C12CD12C7601812F0E94F6ABD4 -:10F430004B015C01698F7A8F8B8F9C8F9B01AC0194 -:10F440006FA97BAD8FAD21969FAD21970F94635E21 -:10F45000882309F49ECF2FEF3FEF4FE75FE7C3010B -:10F46000B2010F94A66881110BC02FEF3FEF4FE759 -:10F470005FE7C301B2010F94635E18160CF450C02D -:10F4800067962CAD3DAD4EAD5FAD679763966CADA5 -:10F490007DAD8EAD9FAD63970F94B96718164CF490 -:10F4A0002FA93BAD4FAD21965FAD2197C501B401AA -:10F4B0000AC025962CAD3DAD4EAD5FAD25976D8D47 -:10F4C0007E8D8F8D98A10F9458654B015C019B0137 -:10F4D000AC01AC966CAD7DAD8EAD9FADAC970F948D -:10F4E000C95EA8962CAD3DAD4EAD5FADA8970F940B -:10F4F000596569A77AA78BA79CA7A5019401E296F5 -:10F500006CAD7DAD8EAD9FADE2970F94C95EA496B4 -:10F510002CAD3DAD4EAD5FADA4970F9459650CC0B9 -:10F520008D859E85AF85B88989A79AA7ABA7BCA70B -:10F5300069857A858B859C85198A1A8A1B8A1C8A1B -:10F54000A70196010F9459656D8B7E8B8F8B988FD9 -:10F55000FE0171966F01A096EFACA0978E01035D3E -:10F560001F4F9E01275D3F4FAE014B5E5F4FBE01B7 -:10F57000635E7F4FCE0149960E947A80811109CF48 -:10F580003FC22D968EAD9FAD2D972796EEACFFAC6A -:10F5900027978E199F096DA97EA92F960EAD1FADD5 -:10F5A0002F97601B710B77FF03C0719561957109EF -:10F5B000E8967FAF6EAFE89797FF03C0919581956E -:10F5C0009109AE969FAF8EAFAE973EAA2DAA2D960B -:10F5D0002EAC3FAC2D972B962EAD3FAD2B97220E28 -:10F5E000331EE8968EAD9FADE897892B39F4AE9621 -:10F5F000AEADBFADAE97AB2B09F402C28DA96C9630 -:10F60000BFAD6C978B0F0E94F6AB6DA37EA38FA34B -:10F6100098A76E968FAD6E97820D0E94C8AB4B0176 -:10F620005C0169A37AA38BA39CA3CDA0DEA0EFA06D -:10F63000F8A4A70196016B966CAD7DAD8EAD9FAD24 -:10F640006B970F94C95EE6962CAD3DAD4EAD5FADA8 -:10F65000E6970F9459656D8F7E8F8F8F98A3E696EE -:10F660002CAD3DAD4EAD5FADE697C501B4010F9435 -:10F6700058656B962CAD3DAD4EAD5FAD6B970F945D -:10F6800053669B01AC01698F7A8F8B8F9C8F01E051 -:10F6900010E0C701B6010F94635E87FD02C000E071 -:10F6A00010E0E9A9FAA90E171F0709F0D1C06F965B -:10F6B000EEACFFAC6F972E0C3F1C6DA97EA96E1BA4 -:10F6C0007F0B6630710560F406E02016310440F4CB -:10F6D000A101CE0149960E94A7E76B017C0103C0FE -:10F6E000C12CD12C7601CE0109960E940EE8A7010B -:10F6F00096010F94C95E6B017C019B01AC010F94D4 -:10F70000A668882319F0C12CD12C76012FEF3FEF8A -:10F710004FE75FE7C301B2010F94A66881110BC0E8 -:10F720002FEF3FEF4FE75FE7C301B2010F94635E36 -:10F7300018160CF452C067962CAD3DAD4EAD5FADC2 -:10F74000679763966CAD7DAD8EAD9FAD63970F945B -:10F75000B96718165CF42FA93BAD4FAD21965FAD8C -:10F760002197698D7A8D8B8D9C8D0AC025962CAD45 -:10F770003DAD4EAD5FAD259769A17AA18BA19CA14E -:10F780000F9458654B015C019B01AC01AC966CADCC -:10F790007DAD8EAD9FADAC970F94C95EA8962CAD94 -:10F7A0003DAD4EAD5FADA8970F94596569A77AA797 -:10F7B0008BA79CA7A5019401E2966CAD7DAD8EADA3 -:10F7C0009FADE2970F94C95EA4962CAD3DAD4EADB2 -:10F7D0005FADA4970F9459650CC08D859E85AF854C -:10F7E000B88989A79AA7ABA7BCA769857A858B85B5 -:10F7F0009C85198A1A8A1B8A1C8AA70196010F9474 -:10F8000059656D8B7E8B8F8B988F9E012F5E3F4F3E -:10F810006901A096EFACA0978E01035D1F4F285E93 -:10F820003F4FAE014B5E5F4FBE016F5D7F4FCE011C -:10F8300049960E947A80882309F4E2C0AE968EAD84 -:10F840009FADAE970197AE969FAF8EAFAE97D5C0E6 -:10F85000EDA9FEA96D96EEACFFAC6D97EE0DFF1D08 -:10F86000FEABEDABE630F10590F4A1012B960EADA9 -:10F870001FAD2B97401B510B4630510540F4BF0183 -:10F88000CE014D960E9440E76B017C0103C0C12C64 -:10F89000D12C7601CE0109960E940EE8A7019601AF -:10F8A0000F94C95E6B017C019B01AC010F94A668AB -:10F8B000882319F0C12CD12C76012FEF3FEF4FE7B1 -:10F8C0005FE7C301B2010F94A66881110BC02FEF4F -:10F8D0003FEF4FE75FE7C301B2010F94635E181675 -:10F8E0000CF452C067962CAD3DAD4EAD5FAD679741 -:10F8F00063966CAD7DAD8EAD9FAD63970F94B96788 -:10F9000018165CF42FA93BAD4FAD21965FAD219742 -:10F910006DA17EA18FA198A50AC025962CAD3DAD05 -:10F920004EAD5FAD25976D8D7E8D8F8D98A10F9417 -:10F9300058654B015C019B01AC01AC966CAD7DAD93 -:10F940008EAD9FADAC970F94C95EA8962CAD3DAD22 -:10F950004EAD5FADA8970F94596569A77AA78BA79D -:10F960009CA7A5019401E2966CAD7DAD8EAD9FADD7 -:10F97000E2970F94C95EA4962CAD3DAD4EAD5FAD40 -:10F98000A4970F9459650CC08D859E85AF85B88965 -:10F9900089A79AA7ABA7BCA769857A858B859C8523 -:10F9A000198A1A8A1B8A1C8AA70196010F94596525 -:10F9B0006D8B7E8B8F8B988F9E012F5E3F4F6901E1 -:10F9C000A096EFACA0978E01035D1F4F285E3F4FBE -:10F9D000AE014B5E5F4FBE01635E7F4FCE018596E9 -:10F9E0000E947A80882361F0E8968EAD9FADE897FB -:10F9F0000197E8969FAF8EAFE897019609F0F1CD99 -:10FA000029813A814B815C816091760E7091770EED -:10FA10008091780E9091790E0F94635E811128C9C0 -:10FA20002D813E814F81588560917A0E70917B0EB9 -:10FA300080917C0E90917D0E0F94635E811118C9A8 -:10FA40000C94E374A82FB0E0CD01880F991F880FA4 -:10FA5000991FFC01EB5BF34D4591559165917491B4 -:10FA600033E0AA0FBB1F3A95E1F7A85DBD4F4D9358 -:10FA70005D936D937C931397FC01E75CF34D459187 -:10FA800055916591749114964D935D936D937C930C -:10FA9000179708958091EB0C9091EC0CA091ED0CD0 -:10FAA000B091EE0C8093400290934102A0934202E9 -:10FAB000B09343028091E90C9091EA0C9093170265 -:10FAC0008093160208958091400290914102A09186 -:10FAD0004202B09143028093EB0C9093EC0CA09304 -:10FAE000ED0CB093EE0C809116029091170290935A -:10FAF000EA0C8093E90C84E690E0909317028093DF -:10FB0000160208954F925F926F927F928F929F920A -:10FB1000AF92BF92CF92DF92EF92FF920F931F931B -:10FB2000CF93DF93CDB7DEB72C970FB6F894DEBF37 -:10FB30000FBECDBF2B013C0129873A874B875C87DD -:10FB400047015801F601E080F1800281138120E035 -:10FB500030E0A901B701C8010F94635E81110BC0A9 -:10FB6000E7ECF5E585919591A591B491582F492F32 -:10FB70003A2F2B2F04C05E2D4F2D302F212F852F94 -:10FB8000942FA32FB22F89839A83AB83BC8320E069 -:10FB900030E0A901B701C8010F94635E811104C070 -:10FBA000E12CF12C08EC12E4C701D8018D839E836F -:10FBB000AF83B887A501940160917E0E70917F0E8E -:10FBC0008091800E9091810E0F94635E87FF0CC030 -:10FBD00080927E0E90927F0EA092800EB092810E47 -:10FBE000CE0101960E9434734092760E5092770EA9 -:10FBF0006092780E7092790E89859A85AB85BC8566 -:10FC000080937A0E90937B0EA0937C0EB0937D0E22 -:10FC1000CE0105960E94347320917E0E30917F0EA6 -:10FC20004091800E5091810EC501B4010F94635E26 -:10FC300087FF0CC080927E0E90927F0EA092800E65 -:10FC4000B092810ECE0101960E9434730F94FB395D -:10FC50002C960FB6F894DEBF0FBECDBFDF91CF91CB -:10FC60001F910F91FF90EF90DF90CF90BF90AF90DA -:10FC70009F908F907F906F905F904F900895CF925C -:10FC8000DF92EF92FF920F931F936A01E0907E0E36 -:10FC9000F0907F0E0091800E1091810EFB0120816B -:10FCA000318142815381FC01608171818281938124 -:10FCB0000E94827D1F910F91FF90EF90DF90CF9077 -:10FCC0000895CF92DF92EF92FF920F931F936B01F3 -:10FCD000FC01E080F18002811381E6E7FEE02481EF -:10FCE00035814681578160817181828193810E9433 -:10FCF000827D1F910F91FF90EF90DF90CF9008953C -:10FD0000CF93DF9380E00F940C3AC8E4DCE0688383 -:10FD100079838A839B8381E00F940C3A6C837D8383 -:10FD20008E839F8382E00F940C3A688779878A8755 -:10FD30009B87DF91CF9108951F93CF93DF93CDB72A -:10FD4000DEB760970FB6F894DEBF0FBECDBF182F99 -:10FD50000E94807E8091480C9091490CA0914A0CA1 -:10FD6000B0914B0C89839A83AB83BC8380914C0CFC -:10FD700090914D0CA0914E0CB0914F0C8D839E83B1 -:10FD8000AF83B8878091500C9091510CA091520C88 -:10FD9000B091530C89879A87AB87BC878091820E7C -:10FDA0009091830EA091840EB091850E8D879E87D1 -:10FDB000AF87B88BCE0101960F94773B1E3F51F46D -:10FDC00080E1FE013196A6E7BEE001900D928A9592 -:10FDD000E1F716C024E0129FC0011124FC01EA588B -:10FDE000F14FA1E0B0E0AC0FBD1FA80FB91F8D917E -:10FDF0009D910D90BC91A02D80839183A283B383AC -:10FE000060960FB6F894DEBF0FBECDBFDF91CF91E5 -:10FE10001F9108950C948FF84F925F926F927F928A -:10FE20008F929F92AF92BF92CF92DF92EF92FF920A -:10FE30002091B1143091B2144091B3145091B41484 -:10FE40006091760E7091770E8091780E9091790E78 -:10FE50000F945965AB01BC0186E39CE20F94B24D4F -:10FE60002091B5143091B6144091B7145091B81444 -:10FE700060917A0E70917B0E80917C0E90917D0E38 -:10FE80000F945965AB01BC0182E39CE20F94B24D23 -:10FE90002091B9143091BA144091BB145091BC1404 -:10FEA00060917E0E70917F0E8091800E9091810EF8 -:10FEB0000F945965AB01BC018EE29CE20F94B24DE8 -:10FEC0004091820E5091830E6091840E7091850E48 -:10FED0008AE29CE20F94B24D80916F00982F92704D -:10FEE00081FF05C080916F008D7F80936F004090EF -:10FEF000981E5090991E60909A1E70909B1E809044 -:10FF00009C1E90909D1EA0909E1EB0909F1EC09023 -:10FF1000A01ED090A11EE090A21EF090A31E9923D7 -:10FF200029F080916F00826080936F0080E29CE2F4 -:10FF30000F94664DC301B2010E949A628CE19CE26B -:10FF40000F94664DC501B4010E949A6288E19CE25B -:10FF50000F94664DC701B6010E949A628AE0FF9035 -:10FF6000EF90DF90CF90BF90AF909F908F907F9059 -:10FF70006F905F904F900C94266280913F0A8111A0 -:10FF800005C08091410A811101C008958091E80C5B -:10FF9000659B02C0816001C08E7F8093E80C9091C8 -:10FFA00003018091E80C91FF02C0826001C08D7F47 -:10FFB0008093E80C8091E80C4B9B02C0846001C0E8 -:10FFC0008B7F8093E80C8091051480FF10C0809196 -:10FFD000400A80FF0CC08091E80C80FF08C080912F -:10FFE000D30B81608093D30B80E00F94014B809101 -:10FFF0000514869580FF11C08091400A869580FF88 -:020000021000EC -:100000000CC08091E80C81FF08C08091D30B826006 -:100010008093D30B81E00F94014B8091051486955A -:10002000869580FF16C08091400A8695869580FF50 -:1000300010C08091410A882361F08091E80C82FF12 -:1000400008C08091D30B84608093D30B82E00D9421 -:10005000014B0895CF93DF9300D01F92CDB7DEB749 -:1000600084EF91E0A0E0B0E089839A83AB83BC8306 -:10007000BE016F5F7F4F8CE30E94EAE58EEF9BE24B -:100080000F94664D8CB168EF7BE285FB882780F981 -:100090000F942B0D8091030162EF7BE286958170B6 -:1000A0000F942B0D89B16CEE7BE283FB882780F9DE -:1000B0000F942B0D8EEE92E0A0E0B0E04B9911C0B2 -:1000C00089839A83AB83BC83BE016F5F7F4F8AE0D5 -:1000D0000E94EAE50F900F900F900F90DF91CF9163 -:1000E000089589839A83AB83BC83BE016F5F7F4F82 -:1000F0008AE5EECF2F923F924F925F926F927F925E -:100100008F929F92AF92BF92CF92DF92EF92FF9227 -:100110000F931F93CF93DF93CDB7DEB7CA59D109A1 -:100120000FB6F894DEBF0FBECDBFE091220DF09167 -:10013000230DEF2B11F00C948E8BC057DF4FD9821B -:10014000C882C059D040E096EFAEE09719016A012D -:100150007B01FC012081318142815381E8962CAFE3 -:100160003DAF4EAF5FAFE8972091380D3091390D1C -:1001700040913A0D50913B0DE8966CAD7DAD8EAD42 -:100180009FADE8970F94C95E0F94C6672B013C01A1 -:1001900065966CAF7DAF8EAF9FAF6597D7018D91A0 -:1001A0009D910D90BC91A02DE4968CAF9DAFAEAF0C -:1001B000BFAFE49720913C0D30913D0D40913E0D35 -:1001C00050913F0DBC01CD010F94C95E0F94C667DD -:1001D0004B015C0169966CAF7DAF8EAF9FAF6997A5 -:1001E000D6012D913D914D915C91AF962CAF3DAFD5 -:1001F0004EAF5FAFAF972091400D3091410D4091D0 -:10020000420D5091430DAF966CAD7DAD8EAD9FAD5F -:10021000AF970F94C95E0F94C6676B017C016D9612 -:100220006CAF7DAF8EAF9FAF6D97D1012D913D919A -:100230004D915C91A7962CAF3DAF4EAF5FAFA797A6 -:100240002091440D3091450D4091460D5091470D40 -:10025000A7966CAD7DAD8EAD9FADA7970F94C95E8F -:100260000F94C667AB966CAF7DAF8EAF9FAFAB9769 -:10027000A1966CAF7DAF8EAF9FAFA197E8962CADE6 -:100280003DAD4EAD5FADE89725962CAF3DAF4EAF7F -:100290005FAF2597E4968CAD9DADAEADBFADE49755 -:1002A00029968CAF9DAFAEAFBFAF2997AF962CAD5F -:1002B0003DAD4EAD5FADAF972D962CAF3DAF4EAF80 -:1002C0005FAF2D97A7968CAD9DADAEADBFADA79797 -:1002D00061968CAF9DAFAEAFBFAF61978091730D4C -:1002E00083FF1CC0AB962CAD3DAD4EAD5FADAB9763 -:1002F0002093001C3093011C4093021C5093031C5C -:10030000A7968CAD9DADAEADBFADA7978093F01B0A -:100310009093F11BA093F21BB093F31BD801BC91F7 -:10032000ED96BFAFED97F801F181C058DF4FF8832C -:10033000C058D040D8011296BC91CC57DF4FB8833B -:10034000C458D040F801F381C857DF4FF883C8582C -:10035000D0408091CE1B9091CF1B891B8F708F3026 -:1003600021F480E00E946A63F4CF0091CE1BC8564E -:10037000DF4F0883C859D0408091CE1B282E312CE6 -:100380008091F41B9091F51BA091F61BB091F71B87 -:10039000481A590A6A0A7B0A8091F81B9091F91B46 -:1003A000A091FA1BB091FB1B881A990AAA0ABB0AF2 -:1003B0008091FC1B9091FD1BA091FE1BB091FF1B37 -:1003C000A7019601281B390B4A0B5B0BE4962CAF57 -:1003D0003DAF4EAF5FAFE4978091001C9091011C40 -:1003E000A091021CB091031CAB96ECACFDAC0EAD21 -:1003F0001FADAB97E81AF90A0A0B1B0BE896ECAE97 -:10040000FDAE0EAF1FAFE897EF28E02AE12A09F40E -:100410009EC08091720D811139C06091000A709167 -:10042000010A8091020A9091030A0F94C5662091F7 -:100430004402309145026217730744F5AB96ECAC69 -:10044000FDAC0EAD1FADAB97E092001CF092011C0D -:100450000093021C1093031CA796ECACFDAC0EADF0 -:100460001FADA797E092F01BF092F11B0093F21BD7 -:100470001093F31B0F94E64D8AEA9CE20F94664DAD -:10048000E8961CAE1DAE1EAE1FAEE897E096EFAC30 -:10049000E09724E0E29E80011124085E1D4FE8965B -:1004A0006CAD7DAD8EAD9FADE8970F946A5ED801BF -:1004B0002D913D914D915C910F94C95E6B017C0132 -:1004C00020E030E0A9010F94B96787FF04C0F7FA74 -:1004D000F094F7F8F09420E030E04AEF53E46091B4 -:1004E000440D7091450D8091460D9091470D0F94EC -:1004F000C95EA70196010F94635E87FF28C0AB9683 -:10050000ECACFDAC0EAD1FADAB97E092001CF092D1 -:10051000011C0093021C1093031CA796ECACFDACCD -:100520000EAD1FADA797E092F01BF092F11B009368 -:10053000F21B1093F31B0F94E64D8BE89CE20F9493 -:10054000664DE8961CAE1DAE1EAE1FAEE897D301F9 -:10055000C2018827B7FD83959927AA27BB27A496B0 -:100560008FAFA497B7FE05C0082F0260A4960FAF07 -:10057000A497E496ECACFDAC0EAD1FADE49717FF6D -:1005800007C0A4960FADA4970460A4960FAFA497DC -:10059000E896ECACFDAC0EAD1FADE89717FF07C0B9 -:1005A000A4960FADA4970860A4960FAFA497E09609 -:1005B000EFACE09724E0E29E80011124085E1D4F1D -:1005C000E8966CAD7DAD8EAD9FADE8970F946A5EF9 -:1005D000D8012D913D914D915C910F94C95E6B01B5 -:1005E0007C0120E030E0A9010F94B96787FF04C0C7 -:1005F000C701B601905802C0C701B60120E030E043 -:1006000040E05FE30F9459650F94CC66AF966CAFF2 -:100610007DAF8EAF9FAFAF9784E5829DF001839D44 -:10062000F00D1124E753FB4E1082A4960FADA49752 -:1006300006ABA7964CAE5DAE6EAE7FAEA79777FECB -:100640000DC022273327A901241935094609570966 -:10065000A7962CAF3DAF4EAF5FAFA79784E5829DC5 -:10066000F001839DF00D1124E753FB4EA7968CAD4E -:100670009DADAEADBFADA797858B968BA78BB08F89 -:10068000AB968CAE9DAEAEAEBFAEAB97B7FE0DC017 -:10069000002711279801081919092A093B09AB9667 -:1006A0000CAF1DAF2EAF3FAFAB9784E5829DF0013D -:1006B000839DF00D1124E753FB4EAB962CAD3DAD61 -:1006C0004EAD5FADAB97218F328F438F548FE49641 -:1006D0008CAD9DADAEADBFADE497EC968CAF9DAF4C -:1006E000AEAFBFAFEC97B7FF0DC0B095A09590959A -:1006F00081959F4FAF4FBF4FEC968CAF9DAFAEAF84 -:10070000BFAFEC9784E5829DF001839DF00D11242D -:10071000E753FB4EEC960CAD1DAD2EAD3FADEC9707 -:10072000058F168F278F30A3C301B2010F946A5E25 -:1007300020918A1430918B1440918C1450918D1417 -:100740000F94C95EC457DF4F688379838A839B8384 -:10075000CC58D04069AB7AAB8BAB9CABC501B40134 -:100760000F946A5E20918E1430918F1440919014F2 -:10077000509191140F94C95E2B013C016DAB7EAB7F -:100780008FAB98AFE4966CAD7DAD8EAD9FADE49729 -:100790000F946A5E209192143091931440919414B6 -:1007A000509195140F94C95E4B015C0169AF7AAF0B -:1007B0008BAF9CAF20919614309197144091981470 -:1007C00050919914C701B6010F94C95E6B017C0169 -:1007D00021966CAF7DAF8EAF9FAF2197A7962CADC2 -:1007E0003DAD4EAD5FADA7972630310541055105B2 -:1007F0001CF5AB968CAD9DADAEADBFADAB9706977E -:10080000A105B105CCF4EC960CAD1DAD2EAD3FAD00 -:10081000EC97063011052105310574F420E030E035 -:10082000A901C701B6010F94B96787FF18C0F7FA8D -:10083000F094F7F8F09413C0C057DF4FA881B98146 -:10084000C059D040CD90DD90ED90FC9020E030E09C -:10085000A901C701B6010F94635E882369F084E59E -:10086000829DF001839DF00D1124E753FB4EC58658 -:10087000D686E786F08A36C0C457DF4F2881398193 -:100880004A815B81CC58D040CA01B9010F94C95E3E -:100890006B017C01A3019201C301B2010F94C95EF7 -:1008A0009B01AC01C701B6010F9459656B017C0136 -:1008B000A5019401C501B4010F94C95E9B01AC016F -:1008C000C701B6010F9459650F94576824E5229D1E -:1008D000F001239DF00D1124E753FB4E65877687C9 -:1008E0008787908B84E5829DF001839DF00D112414 -:1008F000E753FB4EAF96ECACFDAC0EAD1FADAF9722 -:10090000E1A2F2A203A314A3A4965FADA497A596B7 -:100910004FADA597A6963FADA697A7962FADA797E3 -:10092000A796ECACFDAC0EAD1FADA797AB968CAD0A -:100930009DADAEADBFADAB97E816F9060A071B0734 -:1009400060F4A8965FADA897A9964FADA997AA960F -:100950003FADAA97AB962FADAB97852F942FA32FC2 -:10096000B22FEC96ECACFDAC0EAD1FADEC978E1536 -:100970009F05A007B10710F4D801C701AF96ECACF2 -:10098000FDAC0EAD1FADAF978E159F05A007B1074B -:1009900010F4D801C70124E5229DF001239DF00D3C -:1009A0001124E753FB4E85A396A3A7A3B0A70697F0 -:1009B000A105B10508F4ABC6DF01AE5ABF4F809167 -:1009C000710E8C9311968091720E8C93E096FFAC11 -:1009D000E097F1A6A796ECACFDAC0EAD1FADA797C6 -:1009E000EF28E02AE12A09F05F9884E5829DF00172 -:1009F000839DF00D1124E753FB4E818D928DA38DC5 -:100A0000B48D892B8A2B8B2B09F08A9884E5829DE3 -:100A1000F001839DF00D1124E753FB4E858D968DDB -:100A2000A78DB0A1892B8A2B8B2B29F080910801EF -:100A3000817080930601AF96ECACFDAC0EAD1FAD9E -:100A4000AF97EF28E02AE12A09F46AC68091070DE2 -:100A5000882319F081508093070D8091080D882319 -:100A600091F081508093080DE096FFACE097FF2055 -:100A700011F00F2D0EC0811101C0479A129880E22B -:100A80008093070D11C0E096EFACE097EE20A9F33C -:100A90000E2D013049F48091070D811101C0129A89 -:100AA000479880E28093080DE090640DF090650D0A -:100AB0000091660D1091670D9701A801ED966FAD3D -:100AC000ED97C058DF4F7881C058D040CC57DF4FEA -:100AD0008881C458D040C857DF4F9881C858D0404B -:100AE0000F94635E87FF12C0ED96EFAEED97C0588E -:100AF000DF4FF882C058D040CC57DF4F0883C4582E -:100B0000D040C857DF4F1883C858D04084E5829D35 -:100B1000F001839DF00D1124E753FB4E458456846C -:100B200067847088A301920160E070E080E89FE331 -:100B30000F945366EC966CAF7DAF8EAF9FAFEC9782 -:100B4000ED962FADED97C058DF4F3881C058D0409B -:100B5000CC57DF4F4881C458D040C857DF4F588129 -:100B6000C858D0400F94C95E4B015C018091CE1BE8 -:100B70009091CC1B891B8F70C857DF4F8883C85852 -:100B8000D040A501940160E074E284E799E40F94F9 -:100B900053660F94C6676B017C01C857DF4F88818D -:100BA000C858D0408250863008F4C3C5A5019401CE -:100BB000C301B2010F94C95E9B01AC010F94C95EE1 -:100BC000C457DF4F688379838A839B83CC58D04096 -:100BD00084E5829D8001839D100D112407531B4ED7 -:100BE000C457DF4F88819981AA81BB81CC58D040FE -:100BF000F80181839283A383B48325A136A147A101 -:100C000050A5C458DF4F288339834A835B83CC5770 -:100C1000D040CA01B9010F94685EC058DF4F6883A5 -:100C200079838A839B83C058D0409B01AC01C50166 -:100C3000B4010F94C95E0F9437660F94CC66C05709 -:100C4000DF4F688379838A839B83C059D040F80142 -:100C5000EE5BFF4F60837183828393838E010F5C11 -:100C60001F4FFE01B196CC57DF4FF983E883C4587C -:100C7000D04028E43DE0CA56DF4F39832883C65967 -:100C8000D040A801405F5F4FC756DF4F598348836C -:100C9000C959D040CC56DF4FF983E883C459D040BE -:100CA000A4961FAEA497A8961FAEA89750E8E0960A -:100CB0005FAFE0978FE3E1968FAFE197D8012D9179 -:100CC0003D914D915D918D01C501B4010F94C95EB7 -:100CD0006B017C01CC56DF4FE881F981C459D040CB -:100CE0006193719381939193CC56DF4FF983E8839D -:100CF000C459D04020E030E0A9010F94B96787FFC4 -:100D000004C0F7FAF094F7F8F094CA56DF4FA881C0 -:100D1000B981C659D0404D905D906D907D90CA5676 -:100D2000DF4FB983A883C659D040A7019601C301FC -:100D3000B2010F94635E87FD38C5C756DF4FE88068 -:100D4000F980C959D040E016F10609F0B7CF20E08C -:100D500030E040E85FE3A4966FADA497A8967FAD1E -:100D6000A897E0968FADE097E1969FADE1970F943D -:100D7000635E87FF83C08E010F5C1F4FA4962FAD6B -:100D8000A497A8963FADA897E0964FADE097E1965F -:100D90005FADE197CC57DF4FA881B981C458D040EF -:100DA0006D917D918D919C910F94C95ECC57DF4FD1 -:100DB000E881F981C458D0406193719381939193F4 -:100DC000CC57DF4FF983E883C458D0400E171F0774 -:100DD000A9F624E5229DC001239D900D11248C01CC -:100DE00007531B4E78010E5B1F4FC057DF4F6881C2 -:100DF00079818A819B81C059D0400F94685EA49606 -:100E00002FADA497A8963FADA897E0964FADE09779 -:100E1000E1965FADE1970F94C95E0F94CC66D8015F -:100E20006D937D938D939C931397A4962FADA49768 -:100E3000A8963FADA897E0964FADE097E1965FADDD -:100E4000E197A4966FADA497A8967FADA897E0967A -:100E50008FADE097E1969FADE1970F94C95EC457BF -:100E6000DF4F288139814A815B81CC58D0400F9473 -:100E7000C95EF7016183728383839483C058DF4F17 -:100E8000288139814A815B81C058D040EC966CAD95 -:100E90007DAD8EAD9FADEC970F94C95EA7966CAFFC -:100EA0007DAF8EAF9FAFA79784E5829D8001839D24 -:100EB000100D112407531B4ED80155968D909D900F -:100EC000AD90BC90589781149104A104B10409F02D -:100ED00094C459968D919D910D90BC91A02D892B14 -:100EE0008A2B8B2B09F089C4F801858D968DA78DEF -:100EF000B0A1892B8A2B8B2B09F07FC420915C0D2C -:100F000030915D0D40915E0D50915F0DA7966CADD7 -:100F10007DAD8EAD9FADA7970F94C95E0F943766D8 -:100F20000F94CC662B013C01D801D7961C9284E526 -:100F3000829D8001839D100D112407531B4EF801E3 -:100F4000E25BFF4F4082518262827382C301B20131 -:100F50000F94685E6B017C01A7962CAD3DAD4EAD44 -:100F60005FADA7970F945366E4966CAF7DAF8EAFDD -:100F70009FAFE497D80151966D937D938D939C9389 -:100F800054972DEB37E346E051E4C701B6010F94C7 -:100F9000C95E0F94CC66F80162AB73AB84AB95ABC2 -:100FA00087A98823A9F1E091860E24E0E29FF00151 -:100FB0001124E151F34FD801DE962D913D914D91D1 -:100FC0005C9160817181828193810F94C95EE49606 -:100FD0002CAD3DAD4EAD5FADE4970F94C95E209151 -:100FE000440D3091450D4091460D5091470D0F94A1 -:100FF000C95E9B01AC0160E074E284EF99E40F9458 -:1010000053660F94CC66D801D9967C936E93D8978B -:1010100029A93AA94BA95CA9EC966CAD7DAD8EAD22 -:101020009FADEC970F94C95EAF966CAF7DAF8EAF5E -:101030009FAFAF97698B7A8B8B8B9C8B2DA93EA929 -:101040004FA958ADEC966CAD7DAD8EAD9FADEC97D4 -:101050000F94C95E2B013C016D8B7E8B8F8B988F1B -:1010600029AD3AAD4BAD5CADEC966CAD7DAD8EADC2 -:101070009FADEC970F94C95E4B015C01698F7A8F2D -:101080008B8F9C8F21962CAD3DAD4EAD5FAD2197E2 -:10109000EC966CAD7DAD8EAD9FADEC970F94C95EB7 -:1010A000EC966CAF7DAF8EAF9FAFEC976D8F7E8F60 -:1010B0008F8F98A3C857DF4FE880C858D040EE20E4 -:1010C00009F472C7F090D01BA496FFAEA4970091CC -:1010D000D11BA8960FAFA8971091D21BE5961FAF12 -:1010E000E597E090D31BE096EFAEE0972DEB37E36A -:1010F00046E855E36F2D702F812F9E2D0F94635E70 -:1011000087FD52C7E090F70CF090F80C0091F90CB5 -:101110001091FA0CC458DF4FE882F9820A831B83CE -:10112000CC57D040E090FB0CF090FC0C0091FD0CF3 -:101130001091FE0CC058DF4FE882F9820A831B83AE -:10114000C058D040E090FF0CF090000D0091010DD0 -:101150001091020DCC57DF4FE882F9820A831B837E -:10116000C458D040E090030DF090040D0091050D9F -:101170001091060DC857DF4FE882F9820A831B835E -:10118000C858D040C458DF4F688179818A819B81DB -:10119000CC57D0409058AF962CAD3DAD4EAD5FAD25 -:1011A000AF970F94C95E6B017C01C058DF4F288157 -:1011B00039814A815B81C058D040C301B2010F948C -:1011C000C95E9B01AC01C701B6010F9458656B0164 -:1011D0007C01CC57DF4F288139814A815B81C4581B -:1011E000D040C501B4010F94C95E9B01AC01C70199 -:1011F000B6010F9458656B017C01C857DF4F2881F9 -:1012000039814A815B81C858D040EC966CAD7DAD88 -:101210008EAD9FADEC970F94C95E9B01AC01C701E9 -:10122000B6010F9458656B017C012FEE3FEF4FE73D -:101230005FE30F94B96718160CF4ABC62FEE3FEFBF -:101240004FE75FEBC701B6010F94635E87FF08C0ED -:101250005FEEC52EDD24DA945FE7E52E5FEBF52E19 -:10126000C458DF4F288139814A815B81CC57D040F7 -:10127000AF966CAD7DAD8EAD9FADAF970F945865B9 -:1012800069837A838B839C83C058DF4F288139819F -:101290004A815B81C058D040C301B2010F945865A8 -:1012A0006D837E838F839887CC57DF4F2881398168 -:1012B0004A815B81C458D040C501B4010F94586580 -:1012C00069877A878B879C87C857DF4F2881398148 -:1012D0004A815B81C858D040EC966CAD7DAD8EAD37 -:1012E0009FADEC970F9458656D877E878F87988B9D -:1012F0008E010F5F1F4FAD961FAF0EAFAD97005F12 -:101300001F4FA3961FAF0EAFA397AD960EAD1FADA7 -:10131000AD97812C912C5401D8014D905D906D902A -:101320007D908D0120E030E0A901C301B2010F944E -:10133000635E882371F0A3019201C301B2010F948F -:10134000C95E9B01AC01C501B4010F9459654B0105 -:101350005C01A396EEADFFADA397E017F107E1F6B0 -:10136000C501B4010F9457689B01AC0160E070E0C7 -:1013700080E89FE30F9453664B015C01AD960EAD80 -:101380001FADAD97A5019401D8016D917D918D910F -:101390009C910F94C95EF80161937193819391932D -:1013A0008F01A3962EAD3FADA3972E173F0751F7A0 -:1013B00004E21DE0E1965FACE197E2966FACE29744 -:1013C000E3967FACE397E4964FACE497AD96AEAD71 -:1013D000BFADAD978D909D90AD90BD90AD96BFAFD8 -:1013E000AEAFAD9720E030E0A901C501B4010F9484 -:1013F000635E81114EC50C5F1F4FA3962EAD3FADAE -:10140000A397AD964EAD5FADAD9724173507F1F6B6 -:10141000A701960160E070E080E89FE30F945865B3 -:1014200020E030E040E05FE30F94C95E0F9457681E -:101430004B015C012091721430917314409174142B -:1014400050917514652D762D872D942D0F94C95EBE -:10145000A50194010F94C95EAF966CAF7DAF8EAFBE -:101460009FAFAF97A501940160E070E080E89FE333 -:101470000F9458659B01AC01AF966CAD7DAD8EAD00 -:101480009FADAF970F945366AC966FAFAC97E9964C -:101490007FAFE9978C0184E5829DF001839DF00D7B -:1014A0001124E753FB4E85849684A784B08820E0FE -:1014B00030E040E85FE3C501B4010F94635E87FD4F -:1014C0000FC584E5829DF001839DF00D1124E75343 -:1014D000FB4EC180D280E380F4809601A701A496E0 -:1014E0006FADA497A8967FADA897E5968FADE597C9 -:1014F000E0969FADE0970F94B967181664F4A49630 -:10150000CFAEA497A896DFAEA897E596EFAEE59785 -:10151000E096FFAEE097AC962FADAC97E9963FAD65 -:10152000E997A801A4966FADA497A8967FADA89758 -:10153000E5968FADE597E0969FADE0970F94B9677C -:10154000181694F4AC96EFACAC97A496EFAEA497B3 -:10155000E996FFACE997A896FFAEA897E5960FAF7E -:10156000E597E0961FAFE09780E1FE017196A7EF47 -:10157000BCE001900D928A95E1F784E5829D80019F -:10158000839D100D112407531B4EA4968FADA49775 -:10159000A8969FADA897E596AFADE597E096BFAD4D -:1015A000E097F80181879287A387B487E4966CADB2 -:1015B0007DAD8EAD9FADE49790589B01AC010F942B -:1015C0005965D8011D962D913D914D915C91509793 -:1015D0000F94C95E9B01AC016BE077ED83E29BE366 -:1015E0000F9458654BE0C42E47EDD42E43E2E42E11 -:1015F0004BE3F42EF801C582D682E782F086B080F4 -:10160000C180D280E380F480A70196010F94B9676E -:1016100087FDD7C483E08B2994E5929DF001939DCB -:10162000F00D1124E753FB4E808380E1FE01B1965B -:10163000A4EDBBE101900D928A95E1F7C092D01B19 -:10164000D092D11BE092D21BF092D31B80E1FE011D -:10165000EF5AFF4FA4EFBBE101900D928A95E1F79D -:1016600080E1FE01EF5BFF4FA4EEBBE101900D9224 -:101670008A95E1F79091CE1B8091CF1B981303C000 -:1016800084E68093CB1BC856DF4F8881C859D04071 -:101690008F5F8F708093CE1B8091CE1B9091CD1B5E -:1016A00081508F7089138FC41091CF1BA4961FAFE8 -:1016B000A497E090CE1BA896EFAEA89724E5A49639 -:1016C000FFACA497A8960FADA897F01233C5812C54 -:1016D000912CA12CB12CE5961FAEE597E0961FAE9C -:1016E000E097E1961FAEE197AC961FAEAC97212C28 -:1016F000312C00E010E0A896EFACA897A496FFACC0 -:10170000A497EF1026C52114310409F0F6C5809185 -:101710006F00826080936F0081E07EC780E07CC7AD -:10172000E090680DF090690D00916A0D10916B0DBD -:10173000C3C98091340D9091350DA091360DB091B3 -:10174000370DC816D906EA06FB0608F02FCA8C1911 -:101750009D09AE09BF09BC01CD01660F771F881F27 -:10176000991FC857DF4F4881C858D040042F10E058 -:1017700020E030E0A90198010F94B964CA01B901D1 -:101780000F94685E0F94C6676C0D7D1D8E1D9F1DA6 -:101790000F94685E9B01AC0160E074E284E799E419 -:1017A0000F9453664B015C0101CAA7019601C30166 -:1017B000B2010F9453667B016C019B01AC01A496AE -:1017C0006FADA497A8967FADA897E0968FADE097F0 -:1017D000E1969FADE1970F94B96718160CF0ADCA6A -:1017E000A496EFAEA497A896FFAEA897E096CFAECA -:1017F000E097E196DFAEE197A0CAAF96ECACFDAC06 -:101800000EAD1FADAF97EF28E02AE12A49F02091F5 -:10181000580D3091590D40915A0D50915B0D08C0F3 -:101820002091600D3091610D4091620D5091630DDA -:10183000A7966CAD7DAD8EAD9FADA7970F94C95E99 -:101840000F9437660F94CC662B013C01AF96ECAC3D -:10185000FDAC0EAD1FADAF97EF28E02AE12AF9F0FD -:10186000E091860E04E0E09FF0011124E151F34F76 -:1018700020E030E0A90160817181828193810F9421 -:10188000635E882361F081E0E896ECACFDAC0EADC0 -:101890001FADE8971E141F04100611060CF080E01F -:1018A00094E5929D8001939D100D112407531B4ECA -:1018B000D801D7968C93882309F4D0C02091E41BDB -:1018C0003091E51B4091E61B5091E71B25966CADCE -:1018D0007DAD8EAD9FAD25970F945865AB966CAFDF -:1018E0007DAF8EAF9FAFAB972091E81B3091E91B86 -:1018F0004091EA1B5091EB1B29966CAD7DAD8EADEE -:101900009FAD29970F945865E8966CAF7DAF8EAF69 -:101910009FAFE8972091EC1B3091ED1B4091EE1B9F -:101920005091EF1B2D966CAD7DAD8EAD9FAD2D977B -:101930000F9458656B017C01AB962CAD3DAD4EAD5F -:101940005FADAB97CA01B9010F94C95EAB966CAF9E -:101950007DAF8EAF9FAFAB97E8962CAD3DAD4EAD52 -:101960005FADE897CA01B9010F94C95E9B01AC0154 -:10197000AB966CAD7DAD8EAD9FADAB970F945965B9 -:10198000AB966CAF7DAF8EAF9FAFAB97A7019601C3 -:10199000C701B6010F94C95E9B01AC01AB966CAD5B -:1019A0007DAD8EAD9FADAB970F9459650F94576881 -:1019B0006B017C012091F01B3091F11B4091F21BD7 -:1019C0005091F31B61966CAD7DAD8EAD9FAD61976F -:1019D0000F945865A70196010F9453666B017C0123 -:1019E000F801FE96608371838283938320E030E068 -:1019F00040E450E40F94B96718161CF4F80117AAD4 -:101A00002DC0E091860E04E0E09FF0011124E15129 -:101A1000F34F2081318142815381C701B6010F9478 -:101A2000C95E9B01AC0160916E1470916F1480913E -:101A30007014909171140F945366A7962CAD3DAD20 -:101A40004EAD5FADA7970F94C95E0F94CC66641539 -:101A500075058605970510F42B013C0180917614DD -:101A600090917714A0917814B0917914C458DF4FF5 -:101A7000E880F9800A811B81CC57D0408E159F05E4 -:101A8000A007B10708F4DEC081149104A104B104D9 -:101A900021F160917A1470917B1480917C14909163 -:101AA0007D146415750586059705B8F4A80197019E -:101AB0000F94A9646B017C01A5019401C301B201DB -:101AC0000F94A964C616D706E806F90630F4C701D4 -:101AD000B6010F94B96429013A0184E5829DF001B1 -:101AE000839DF00D1124E753FB4EC18CD28CE38C07 -:101AF000F48CC114D104E104F10451F160917E141D -:101B000070917F14809180149091811464157505F3 -:101B100086059705E8F4C458DF4F288139814A814A -:101B20005B81CC57D0400F94A9644B015C01A701A5 -:101B30009601C301B2010F94A96486169706A80600 -:101B4000B90630F4C501B4010F94B96429013A0112 -:101B500084E5829DF001839DF00D1124E753FB4E37 -:101B6000C58CD68CE78CF0A0C114D104E104F1043B -:101B700051F160918214709183148091841490913A -:101B800085146415750586059705E8F4C458DF4F7C -:101B9000288139814A815B81CC57D0400F94A96458 -:101BA0004B015C01A7019601C301B2010F94A96426 -:101BB00086169706A806B90630F4C501B4010F943D -:101BC000B96429013A0184E5829DF001839DF00DFD -:101BD0001124E753FB4EC1A0D2A0E3A0F4A0C1148E -:101BE000D104E104F10409F4A2C960918614709152 -:101BF0008714809188149091891464157505860561 -:101C0000970508F094C9C458DF4F288139814A816B -:101C10005B81CC57D0400F94A9644B015C01A701B4 -:101C20009601C301B2010F94A96486169706A8060F -:101C3000B90608F07CC9C501B4010F94B964290143 -:101C40003A0175C981149104A104B104D9F16091DC -:101C50007A1470917B1480917C1490917D1464159A -:101C600075058605970570F50F94685EC058DF4FBF -:101C7000288139814A815B81C058D0400F94C95E68 -:101C80006B017C01C501B4010F94685E4B015C01DE -:101C9000C301B2010F94685EA50194010F94C95E5F -:101CA0009B01AC01C701B6010F94635E87FF0AC0B8 -:101CB000A5019401C701B6010F9453660F94CC6639 -:101CC0002B013C0184E5829DF001839DF00D1124E0 -:101CD000E753FB4E818C928CA38CB48C81149104BD -:101CE000A104B104D9F160917E1470917F148091A8 -:101CF000801490918114641575058605970570F51B -:101D00000F94685EC058DF4F288139814A815B811A -:101D1000C058D0400F94C95E6B017C01C501B4016D -:101D20000F94685E4B015C01C301B2010F94685EC1 -:101D3000A50194010F94C95E9B01AC01C701B601D6 -:101D40000F94635E87FF0AC0A5019401C701B60125 -:101D50000F9453660F94CC662B013C0184E5829D61 -:101D6000F001839DF00D1124E753FB4E858C968C7A -:101D7000A78CB0A081149104A104B104D9F16091A1 -:101D80008214709183148091841490918514641549 -:101D900075058605970570F50F94685EC058DF4F8E -:101DA000288139814A815B81C058D0400F94C95E37 -:101DB0006B017C01C501B4010F94685E4B015C01AD -:101DC000C301B2010F94685EA50194010F94C95E2E -:101DD0009B01AC01C701B6010F94635E87FF0AC087 -:101DE000A5019401C701B6010F9453660F94CC6608 -:101DF0002B013C0184E5829DF001839DF00D1124AF -:101E0000E753FB4E81A092A0A3A0B4A0811491043B -:101E1000A104B10409F48BC86091861470918714F1 -:101E2000809188149091891464157505860597052D -:101E300008F07DC80F94685EC058DF4F2881398153 -:101E40004A815B81C058D0400F94C95E6B017C0110 -:101E5000C501B4010F94685E4B015C01C301B2017E -:101E60000F94685EA50194010F94C95E9B01AC01BB -:101E7000C701B6010F94635E87FF59C8A50194019D -:101E8000C701B6010F9453660F94CC662B013C0139 -:101E90004EC8F80160817181828193810F94685EE0 -:101EA000A50194010F9453664B015C0120E030E0E2 -:101EB000A9010F94B96787FF04C0B7FAB094B7F8C7 -:101EC000B094252D362D472D542DC501B4010F9406 -:101ED000635E87FF90CA582C692C7A2C4B2C8BCAD6 -:101EE000A7019601C701B6010F94C95E23EC38EB38 -:101EF00042E35FEB0F94C95E23EF36E64FE55FE305 -:101F00000F945865A70196010F94C95E2BED3FE031 -:101F100049EC5FE30F9459652CEE31E548E35EE34D -:101F20000F9458656B017C0124EE3BEC46E150E4D4 -:101F30000F94B96718160CF0C4CAA70196016BED8F -:101F40007FE089E490E40F9458659B01AC01C501E2 -:101F5000B4010F945366252D362D472D542D0F9423 -:101F6000C95E6B017C019B01AC01AC966FADAC9777 -:101F7000E9967FADE997C8010F94B96718160CF080 -:101F8000A0CAAC96CFAEAC97E996DFAEE9978701D1 -:101F900098CA0BE0AC960FAFAC9717EDE9961FAF60 -:101FA000E99703E21BE38DCAA4961FAEA497A896F7 -:101FB0001FAEA897E5961FAEE597E0961FAEE09797 -:101FC000D3CA81E028CBF090CE1B8FEF8F0D8F709E -:101FD000A4968FAFA497B090CD1B8091CE1BB8165E -:101FE00009F476C0C12CD12CA496EFACA497EB14C5 -:101FF00009F46EC06E2C712C34E5F32EF69C800132 -:10200000F79C100D112407531B4ED8018C9183FDB2 -:102010003CC0AC960FAFAC97E9961FAFE99701159E -:102020001105C9F11996EC901997A896EFAEA897EB -:102030001A96FC901A97E596FFAEE5971B96EC90E2 -:102040001B97E096EFAEE0971C96FC901C97E196EC -:10205000FFAEE19715962D903D904D905C901897AE -:10206000A2019101A8966FADA897E5967FADE5977F -:10207000C7010F94635E8111BDC1C114D10459F031 -:10208000D6018C9180FDB6C106C0AC96CFAEAC97A0 -:10209000E996DFAEE997A4968FADA49781508F7033 -:1020A000A4968FAFA4978091CD1B8B1107C0AC96DF -:1020B000CFACAC97E996DFACE99796CFA496EFAC9E -:1020C000A497EB1429F081E08B0D8F70B82EEBCF25 -:1020D000F090CD1BA496FFAEA497C12CD12C80917B -:1020E000CE1BA4960FADA497801709F4DDCA802EED -:1020F000912C24E5289D8001299D100D1124075362 -:102100001B4ED8018C9183FD0AC05801C114D10423 -:1021100039F0C6010F94464B811102C0FAC1560135 -:10212000A4968FADA4978F5F8F70A4968FAFA4975E -:102130006501D5CF802F81508F70289FF001112429 -:10214000E753FB4E908193FFC2CAA8968FAFA89722 -:10215000B6CA24E52F9DC0011124AC0147535B4E44 -:102160001A01DA018C9183FD19C015966D917D914C -:102170008D919C9118970F945768F62EE72ED82EC4 -:10218000C92E0115110509F49EC0F801808180FD5A -:1021900012C0D1018C9180FD0EC095C0E596FFACB8 -:1021A000E597E096EFACE097E196DFACE197AC966F -:1021B000CFACAC978DC0F801808181608083C8016D -:1021C0000F94464B81117BC0F8016181728183813C -:1021D00094810F9457682B013C019B01AC0160E096 -:1021E00070E080E89FE30F9453664B015C019B0114 -:1021F000AC016F2D7E2D8D2D9C2D0F94C95E6983B2 -:102200007A838B839C83E5962FADE597E0963FAD6F -:10221000E097E1964FADE197AC965FADAC97C50105 -:10222000B4010F94C95E698B7A8B8B8B9C8BAE014A -:102230004F5F5F4FBE016F5E7F4FC8010F94743CCC -:10224000D801D7968C918823D1F1E091860EB4E025 -:10225000EB9FF0011124E151F34FD801DE962D914F -:102260003D914D915C9160817181828193810F9448 -:10227000C95E2091440D3091450D4091460D50911D -:10228000470D0F94C95E4B015C019B01AC01C3017A -:10229000B2010F94C95E0F94CC66F80173AF62AFC0 -:1022A000A50194016F2D7E2D8D2D9C2D0F94C95E5F -:1022B0000F94CC66D801DD967C936E93DC97F80181 -:1022C00080818E7F80838F2C9E2CAD2CBC2C810135 -:1022D000A4968FADA4978F5F8F70A4968FAFA497AD -:1022E000E596FFAEE597E096EFAEE097E196DFAEBC -:1022F000E197AC96CFAEAC97FEC9D1018C918160CD -:102300008C93C8010F94464B81116FC0F10161811C -:102310007281838194810F9457686B017C019B01CA -:10232000AC0160E070E080E89FE30F9453662B01FE -:102330003C012DEC3CEC4CE45DE30F94C95E6983F9 -:102340007A838B839C839401A501C301B2010F940E -:10235000C95E698B7A8B8B8B9C8BAE014F5F5F4F15 -:10236000BE016F5E7F4FC1010F94743CD101D796BF -:102370008C918823D1F1E091860EB4E0EB9FF001BF -:102380001124E151F34FD101DE962D913D914D91F4 -:102390005C9160817181828193810F94C95E2091EB -:1023A000440D3091450D4091460D5091470D0F94CD -:1023B000C95E4B015C019B01AC01C701B6010F94E2 -:1023C000C95E0F94CC66F10173AF62AF2DEC3CECAB -:1023D0004CE45DE3C501B4010F94C95E0F94CC6673 -:1023E000D101DD967C936E93DC97F10180818E7F25 -:1023F00080838DC984E5E82EE69CF001E79CF00D12 -:102400001124E753FB4E808181FD4BC0C114D104E0 -:1024100031F0F601C580D680E780F08408C02BE05B -:10242000C22E27EDD22E23E2E22E2BE3F22E24E55C -:10243000269DF001279DF00D1124E753FB4E818965 -:102440009289A389B489BC01CD0190589B01AC014C -:102450000F945965D8011D962D913D914D915C9138 -:1024600050970F94C95E9B01AC01C701B6010F9450 -:102470005865E62E872E982EA92E262F372F482F07 -:10248000592FA8966FADA897E5967FADE597E09692 -:102490008FADE097E1969FADE1970F94635E87FF64 -:1024A0000CC0A896EFACA897E5968FACE597E096A0 -:1024B0009FACE097E196AFACE1972E2D382D492DDA -:1024C0005A2DC201B1010F94635E882309F4E3CD54 -:1024D000B4E5B69DC001B79D900D1124FC01E753F2 -:1024E000FB4E6F01808181608083C8010F94464B51 -:1024F000882329F0D6018C918E7F8C93CCCD8E2DA4 -:10250000982DA92DBA2DF60185839683A783B087D0 -:10251000C2CDD6018C9181FD58C0D60115962D9162 -:102520003D914D915C911897AB962CAF3DAF4EAF5E -:102530005FAFAB971501B5E02B0E311CF80145805C -:10254000568067807084A3019201AB966CAD7DAD1F -:102550008EAD9FADAB970F94635E87FF36C0F601DB -:1025600081899289A389B489BC01CD0190589B01CE -:10257000AC010F945965D6011D962D913D914D9159 -:102580005C9150970F94C95E9B01AC01AB966CAD0A -:102590007DAD8EAD9FADAB970F9458656B017C01FF -:1025A0009B01AC01C301B2010F94B96718166CF41A -:1025B000D8018C9181608C93C5010F94464B882380 -:1025C000F9F0F80180818E7F808394E5F92EF89CE4 -:1025D000F001F99CF00D1124E753FB4E2185328563 -:1025E0004385548565817681878190850F94635EEC -:1025F000811196CDA4960FADA4970093CD1B90CDDD -:10260000D101CD92DD92ED92FC921397A496EFAC9E -:10261000A497E092CD1BD9CFC656DF4F0FB6F894E2 -:10262000DEBF0FBECDBFDF91CF911F910F91FF9005 -:10263000EF90DF90CF90BF90AF909F908F907F9062 -:102640006F905F904F903F902F9008958091CE1B98 -:102650009091CF1B891B8F708F3021F480E00E94F6 -:102660006A63F4CF8091CE1B8F5F8F70E091CE1B99 -:1026700094E59E9FF0011124E753FB4EDF011D926C -:102680009A95E9F798E090834091F41B5091F51BDF -:102690006091F61B7091F71B458B568B678B708F83 -:1026A0004091F81B5091F91B6091FA1B7091FB1B34 -:1026B000418F528F638F748F4091FC1B5091FD1B93 -:1026C0006091FE1B7091FF1B458F568F678F70A323 -:1026D0004091001C5091011C6091021C7091031CE0 -:1026E00041A352A363A374A32091CE1B9091CF1B4F -:1026F000291303C094E69093CB1B8093CE1B80914B -:102700006F00826080936F000895EF92FF920F93A5 -:102710001F93CF937C018B014F3F11F4C2E401C0A2 -:10272000C4E580E20E9426628C2F0E9426628AE322 -:102730000E942662F701608171818281938142E06B -:102740000E94C662F80140815181628173818CE0F0 -:102750009EE20F94B24D62E070E080E090E0CF9195 -:102760001F910F91FF90EF900C94E9FC6091040A87 -:102770007091050A072E000C880B990B0F946A5E66 -:102780002091000A3091010A4091020A5091030AF7 -:102790000F94B96718161CF088E19EE202C085E22A -:1027A0009EE260E00D94B1441F93CF93DF93CDB7C9 -:1027B000DEB728970FB6F894DEBF0FBECDBF182F37 -:1027C0006091040A7091050A072E000C880B990B82 -:1027D0000F946A5E6D837E838F8398878091000A51 -:1027E0009091010AA091020AB091030A89839A8309 -:1027F000AB83BC834CEFBE016B5F7F4FCE01019674 -:102800000E94859360911B0A70911C0A072E000C90 -:10281000880B990B0F946A5E6D837E838F839887F4 -:102820008091170A9091180AA091190AB0911A0A7A -:1028300089839A83AB83BC834FEFBE016B5F7F4F6D -:10284000CE0101960E9485931F3F41F087E1180257 -:10285000F0011124E450F64F628502C060911D0A18 -:1028600070E084E19EE20F94C34D60911D0A70E018 -:102870008FE09EE20F94C34D28960FB6F894DEBF0A -:102880000FBECDBFDF91CF911F9108952F923F9240 -:102890004F925F926F927F928F929F92AF92BF9270 -:1028A000CF92DF92EF92FF920F931F93CF93DF931C -:1028B000CDB7DEB763970FB6F894DEBF0FBECDBFBE -:1028C000898B81E0809314021A821B821C821D82F4 -:1028D00019861A861B861C8619821D862CE32E8774 -:1028E0003CE13F8746E4488B312C212C50E85A8B41 -:1028F0008FEB8B8B91E09887812C912C5401609108 -:102900001B0A70911C0A072E000C880B990B0F9460 -:102910006A5E7B018C019B01AC01632D722D8A895B -:102920009B890F94635E882361F16091170A70910F -:10293000180A8091190A90911A0AA989A1110EC04A -:10294000B1E0B9839701A8010F94B96718160CF08C -:1029500019823E2C2F2C0A8B1B8B13C09701A801C8 -:102960000F94B967181644F480911402882309F46F -:10297000F1C00F945245EEC03E2C2F2C0A8B1B8BBE -:1029800019820E9423FD6B017C01DC01CB012985AA -:102990003A854B855C85821B930BA40BB50BB7FD69 -:1029A00034C0D701C60188519C4FAF4FBF4F8987B4 -:1029B0009A87AB87BC878091860E0E94D49386E36A -:1029C0009EE20F94664D81149104A104B104B9F004 -:1029D000D501C401805F984DAF4FBF4FBC01CD0101 -:1029E0006C197D098E099F0928EE33E040E050E024 -:1029F0000F94B964CA01B9010E949A6203C08FE3BF -:102A00000E9426628AE00E94266280E00E946A6339 -:102A10000E9423FD6093401A7093411A8093421ADA -:102A20009093431A9091170A9E83A091180AAF833E -:102A30000091190A10911A0A292F3A2FA801632D23 -:102A4000722D8A899B890F9458652B013C0120E0E7 -:102A500030E0A9010F94B96787FF04C077FA70943A -:102A600077F8709481149104A104B104B1F420E0CA -:102A700030E040E85FE3C301B2010F94635E87FF7B -:102A800018C0B88546015701BB2399F020E1820E9A -:102A900027E2921EA11CB11C0CC020E030E040E4F3 -:102AA00050E4C301B2010F94B967181614F446013B -:102AB000570139813323A9F18A819B81AC81BD8182 -:102AC000892B8A2B8B2B61F0D701C6012A813B8190 -:102AD0004C815D81821B930BA40BB50BB7FD21C00C -:102AE0002E813F81A8016D857E858F8598890F9401 -:102AF000586520E030E040EC5FE30F94635E87FDB3 -:102B000033CFD701C601805A9541AF4FBF4F8A835B -:102B10009B83AC83BD839E819D87AF81AE870F87EA -:102B2000188B80911402882309F41ECF811491041C -:102B3000A104B10411F41886E2CEB0E1CB1AB7E2D9 -:102B4000DB0AE108F108C818D908EA08FB08F7FC15 -:102B5000F2CF0ACF8091140263960FB6F894DEBFCD -:102B60000FBECDBFDF91CF911F910F91FF90EF90DE -:102B7000DF90CF90BF90AF909F908F907F906F909D -:102B80005F904F903F902F9008952F923F924F92D9 -:102B90005F926F927F928F929F92AF92BF92CF92ED -:102BA000DF92EF92FF920F931F93CF93DF93CDB7F6 -:102BB000DEB764970FB6F894DEBF0FBECDBF898B2A -:102BC0006A8B81E0809314021A821B821C821D8210 -:102BD00019861A861B861C8621E0288719821D8685 -:102BE0003CE33E874CE14F8756E4588B312C212C37 -:102BF00080E88B8B9FEB9C8B812C912C54016091F6 -:102C0000040A7091050A072E000C880B990B0F948B -:102C10006A5E7B018C019B01AC01632D722D8B8957 -:102C20009C890F94635E882361F16091000A709122 -:102C3000010A8091020A9091030AAA89A1110EC08B -:102C4000B1E0B9839701A8010F94B96718160CF089 -:102C500019823E2C2F2C0B8B1C8B13C09701A801C3 -:102C60000F94B967181644F480911402882309F46C -:102C7000F0C00F945245EDC03E2C2F2C0B8B1C8BBB -:102C800019820E9423FD6B017C01DC01CB012985A7 -:102C90003A854B855C85821B930BA40BB50BB7FD66 -:102CA00033C0D701C60188519C4FAF4FBF4F8987B2 -:102CB0009A87AB87BC8789890E94D49382E39EE27E -:102CC0000F94664D81149104A104B104B9F0D501AB -:102CD000C401805F984DAF4FBF4FBC01CD016C194F -:102CE0007D098E099F0928EE33E040E050E00F9403 -:102CF000B964CA01B9010E949A6203C08FE30E94BD -:102D000026628AE00E94266280E00E946A630E9436 -:102D100023FD6093401A7093411A8093421A909356 -:102D2000431A9091000A9E83A091010AAF830091FB -:102D3000020A1091030A292F3A2FA801632D722D40 -:102D40008B899C890F9458652B013C0120E030E071 -:102D5000A9010F94B96787FF04C077FA709477F8D8 -:102D6000709481149104A104B104B1F420E030E026 -:102D700040E85FE3C301B2010F94635E87FF18C0B0 -:102D8000B88546015701BB2399F020E1820E27E266 -:102D9000921EA11CB11C0CC020E030E040E450E4C5 -:102DA000C301B2010F94B967181614F44601570114 -:102DB00039813323A9F18A819B81AC81BD81892B23 -:102DC0008A2B8B2B61F0D701C6012A813B814C8174 -:102DD0005D81821B930BA40BB50BB7FD21C02E8127 -:102DE0003F81A8016D857E858F8598890F945865F0 -:102DF00020E030E040EC5FE30F94635E87FD34CF6A -:102E0000D701C601805A9541AF4FBF4F8A839B833C -:102E1000AC83BD839E819D87AF81AE870F87188B62 -:102E200080911402882309F41FCF81149104A10416 -:102E3000B10411F41886E3CEB0E1CB1AB7E2DB0A95 -:102E4000E108F108C818D908EA08FB08F7FCF2CF36 -:102E50000BCF8091140264960FB6F894DEBF0FBEBC -:102E6000CDBFDF91CF911F910F91FF90EF90DF9039 -:102E7000CF90BF90AF909F908F907F906F905F901A -:102E80004F903F902F9008952F923F924F925F92D4 -:102E90006F927F928F929F92AF92BF92CF92DF926A -:102EA000EF92FF920F931F93CF93DF93CDB7DEB7CF -:102EB00029970FB6F894DEBF0FBECDBFF82E762E41 -:102EC0000F94FB3981E08F1598F40F94E64D84E55B -:102ED0000E9426626AE070E08F2D90E00E94B66248 -:102EE00080E20E9426628AE39EE20F94664DF7C15B -:102EF000711008C080918C0D87707724739487308F -:102F000009F4712C9090860E81E0872589878823AB -:102F100089F08824839420E030E0A9016091740D49 -:102F20007091750D8091760D9091770D0F94635E81 -:102F3000811101C0812C8091730D83FD53C180915B -:102F4000720D81114FC12091040A3091050A8091C0 -:102F5000440290914502281739070CF043C188209C -:102F600049F00F94E64D8EE59EE20F94664DF09287 -:102F7000860EB5C166246394F91409F424C1209027 -:102F8000400230904102409042025090430280E063 -:102F900090E0A8ECB2E48093400290934102A093A9 -:102FA0004202B093430280E00E94227D81E00E94B1 -:102FB000227D82E00E94227D0E943CE18985882357 -:102FC00009F470C02091880D3091890D40918A0DCF -:102FD00050918B0D60917E0E70917F0E8091800ECE -:102FE0009091810E0F94596560937E0E70937F0EC1 -:102FF0008093800E9093810EA0903C02B0903D0291 -:10300000C0903E02D0903F02A60195010F94B9678F -:10301000181644F4A0927E0EB0927F0EC092800EDD -:10302000D092810EA12CB12C6501E090860E00E5B6 -:103030001DE022E83EE04EE75EE06AE77EE086E7DC -:103040009EE00F94EA1A8091800D9091810DA091DD -:10305000820DB091830D8093760E9093770EA0939E -:10306000780EB093790E8091840D9091850DA0918A -:10307000860DB091870D80937A0E90937B0EA0936E -:103080007C0EB0937D0EE92C00E412E022E83EE0D5 -:103090004EE75EE06AE77EE086E79EE00F94EA1A7C -:1030A0000F94FB3920E030E0A9016091760E709119 -:1030B000770E8091780E9091790E0F9459656093F8 -:1030C000760E7093770E8093780E9093790E20E0B1 -:1030D00030E0A90160917A0E70917B0E80917C0E98 -:1030E00090917D0E0F94596560937A0E70937B0ECC -:1030F00080937C0E90937D0E20E030E0A9016091DA -:103100007E0E70917F0E8091800E9091810E0F94B3 -:10311000596560937E0E70937F0E8093800E90931E -:10312000810EF092860E0E940A7F711044C0809139 -:103130002702882309F43FC0292D30E0F901E05926 -:10314000F24F8091710E80838F2D90E0FC01E05949 -:10315000F24F40814093710E4091040A5091050A4C -:10316000220F331FF901E459F24F51834083880F36 -:10317000991FFC01E459F24F80819181009761F021 -:103180004817590749F00E94ACC080E00E94B693EE -:1031900060E080E00E94C595811050C08DE59EE002 -:1031A0000E9453738985882331F060E57DE085E6D0 -:1031B0009EE00E94617E2092400230924102409245 -:1031C0004202509243020F94FB390F94E64D6091F6 -:1031D000860E70E08CE49EE20F94C34D8AE00E945C -:1031E00026627DC0882041F160917E0D70917F0D37 -:1031F000072E000C880B990B0F946A5E20E030E0DC -:1032000040E752E40F9453666D837E838F839887E3 -:103210008091740D9091750DA091760DB091770D00 -:10322000B05889839A83AB83BC83BE016B5F7F4FA9 -:10323000CE0101960E947FE1612C9ECE6110AECF3F -:1032400060917C0D70917D0D072E000C880B990B01 -:103250000F946A5E20E030E040E752E40F9453663A -:1032600069837A838B839C83BE016F5F7F4F84E782 -:103270009DE00E947FE180E090E0A0E4B0E48983DB -:103280009A83AB83BC83BE016F5F7F4F88E79DE06D -:103290000E947FE10F94FB3920E030E040E050E4F1 -:1032A0006091820E7091830E8091840E9091850EB4 -:1032B0000F9458656093820E7093830E8093840EF2 -:1032C0009093850E6093690E70936A0E80936B0ED7 -:1032D00090936C0E89E69EE00F947D195FCF29963E -:1032E0000FB6F894DEBF0FBECDBFDF91CF911F9117 -:1032F0000F91FF90EF90DF90CF90BF90AF909F9095 -:103300008F907F906F905F904F903F902F90089597 -:10331000EF92FF920F931F93CF93DF93809126023A -:103320008F37A0F08F579091060A90939B0D9923A9 -:1033300011F02C9A01C02C9820911D0A20939A0D0F -:1033400090910201222369F090950BC090919B0D02 -:10335000891708F02C9890919A0D891728F0909170 -:1033600002019072909300018F5F809326029091EA -:10337000990D81E089278093990D809125028530F0 -:103380001CF411E0180F01C010E0823009F4B9C03C -:1033900054F4882301F1813009F0E8C088E080937B -:1033A0007B0085E4C5C0843009F4CAC00CF4BCC0FD -:1033B000853009F0DBC09091980D911102C0809387 -:1033C000980D8091980D81508093980D882309F471 -:1033D000CDC015E0CBC0809124028F5F80311CF4FA -:1033E00080932402C3C0109224028091200D811189 -:1033F00013C08091FC099091FD099093FF0980937F -:10340000FE098091130A9091140A9093160A8093F2 -:10341000150A81E08093200D1092FD091092FC099D -:103420001092140A1092130AE090FE09F090FF091E -:10343000F194E194F1088091040A9091050A01E069 -:10344000181619062CF08091060A811101C000E0BF -:1034500080910E0290910F029195819591098E15A0 -:103460009F053CF44CE75DE26DE97DE280E00F945E -:10347000AB46002389F080910C0290910D0291954A -:1034800081959109E816F9063CF44FEA5DE260ED9A -:103490007DE280E00F94AB4680911B0A90911C0A5C -:1034A00001E0181619062CF080911D0A811101C047 -:1034B00000E02091150A3091160A80912B0A909114 -:1034C0002C0A821793073CF04CE85DE26DE97DE23F -:1034D0008FEF0F94AB46002309F448C02091150AE2 -:1034E0003091160A80910A0290910B022817390731 -:1034F000ECF14FEB5DE260ED7DE28FEF0F94AB46B8 -:1035000035C080917A0086FD2EC080917800909120 -:1035100079002091FC093091FD09820F931F90934F -:10352000FD098093FC0922C088E080937B0086E43B -:1035300080937C0080917A00806480937A0016C02A -:1035400080917A0086FD11C0809178009091790079 -:103550002091130A3091140A820F931F9093140A3A -:103560008093130A03C012E001C014E010932502F7 -:103570002091441A3091451A2115310509F43AC0B9 -:10358000F894909109019270809108018170809364 -:10359000060180910B01121613060CF080958270C3 -:1035A0008093090100000000000080910B018095CC -:1035B00088708093090184E08A950000E9F7809182 -:1035C0000B0188708093090180910B019111809506 -:1035D00082708093090178948091441A9091451AE1 -:1035E0001216130614F4019701C001969093451A20 -:1035F0008093441A8091210D882309F44DC0809155 -:1036000023028E5F8F7780932302811145C08CB196 -:1036100085FB882780F9C82F80E0D82F809103018F -:1036200081FDC2604B99C4600091960D1091970D79 -:103630000C271D270115110579F100FF07C0BE01F8 -:103640006170772787EF9DE20F94C34D01FF08C09B -:103650006C2F6695617070E08EEE9DE20F94C34D05 -:1036600002FF08C0C2FB662760F970E085EE9DE2AC -:103670000F94C34D82EE9DE20F94664D1091950D0F -:10368000612F70E08DE00E9401FC10951093950D64 -:10369000D093970DC093960D0E94BD7F8091220D0F -:1036A0009091230D009769F001979093230D8093DB -:1036B000220D892B31F480E09EE29093500A809392 -:1036C0004F0ADF91CF911F910F91FF90EF900895D6 -:1036D0000F930FB70F9300916E000B7F00936E0056 -:1036E00078940F930BB70F930CB70F921F922F93F1 -:1036F0003F934F935F936F937F938F939F93AF937A -:10370000BF93EF93FF9311240E948899FF91EF914B -:10371000BF91AF919F918F917F916F915F914F91E9 -:103720003F912F911F900F900CBF0F910BBF0F91E6 -:103730000460F89400936E000F910FBF0F911895DD -:103740002F923F924F925F926F927F928F929F92B1 -:10375000AF92BF92CF92DF92EF92FF920F931F939F -:10376000CF93DF93CDB7DEB729970FB6F894DEBFBE -:103770000FBECDBF1C017B836A8329831F830E8309 -:10378000FD82EC8227FD10C0022E000C330B39871E -:103790002887398185E03802F0011124E65EF24F76 -:1037A00084818823E1F008C08091190D882399F065 -:1037B000E1E0F0E0F987E887F1011482E885F98516 -:1037C000EE0FFF1FEE0FFF1FE357F24F1082118223 -:1037D000128213822EC021E030E039872887FA0157 -:1037E000C080D180E280F38008851985000F111F09 -:1037F000000F111F0357124FA7019601F8016081B6 -:103800007181828193810F94635E882391F0F80126 -:10381000C082D182E282F38211E020E030E0A9018F -:10382000C701B6010F94B96718160CF010E0F1014A -:103830001483F10184818230F9F0833009F401C1ED -:10384000813009F023C1E885F985EE0FFF1FEE0FE7 -:10385000FF1FE357F24F2081318142815381EA817A -:10386000FB8160817181828193810F94635E87FD0A -:103870000DC182E0F101848380912202882309F442 -:1038800093C0F981F7FD90C08F2FFF0F990B8C012A -:103890001816190614F401E010E0F801EF58F14F82 -:1038A0002081222371F1EA81FB81C080D180E280F6 -:1038B000F380880F991F880F991FFC01E357F24F7F -:1038C00080809180A280B3802C813D81B90180E00D -:1038D00090E00F94685E2B013C0120E030E040E86E -:1038E0005EE30F94C95E9B01AC01C501B4010F9466 -:1038F00058659B01AC01C701B6010F94B96787FDFC -:1039000005C0F801E05EFD4F80E81AC023E830EC06 -:103910004AEA5EE3C301B2010F94C95E9B01AC01A8 -:10392000C501B4010F9458659B01AC01C701B601F4 -:103930000F94B967005E1D4F87FD04C080E6F80153 -:10394000808332C020E030E040E05FE3C301B20199 -:103950000F94C95E9B01AC01C501B4010F94586579 -:103960009B01AC01C701B6010F94B96787FD02C086 -:1039700080E4E5CF2DEC3CEC4CE45FE3C301B20105 -:103980000F94C95E9B01AC01C501B4010F94586549 -:103990009B01AC01C701B6010F94B96787FD02C056 -:1039A00080E2CDCFF801108208851985000F111F24 -:1039B000000F111F98012357324F39872887EC8158 -:1039C000FD81BF0180E090E00F94685E9B01AC0137 -:1039D000E885F98560817181828193810F945865B2 -:1039E0009B01AC01EA81FB816081718182819381BD -:1039F0000F94B96787FD14C00E9423FD6B017C0101 -:103A00002E813F81A8EEB3E00F940D65C60ED71E40 -:103A1000E81EF91EF101C082D182E282F38236C033 -:103A20000E9423FDF1010081118122813381DC019B -:103A3000CB01801B910BA20BB30BB7FD27C083E01A -:103A40008483F981FF3F19F045E45DE202C048E557 -:103A50005DE26CE67DE2898129960FB6F894DEBFBF -:103A60000FBECDBFDF91CF911F910F91FF90EF90CF -:103A7000DF90CF90BF90AF909F908F907F906F908E -:103A80005F904F903F902F900D94AB4629960FB6C4 -:103A9000F894DEBF0FBECDBFDF91CF911F910F9184 -:103AA000FF90EF90DF90CF90BF90AF909F908F905E -:103AB0007F906F905F904F903F902F900895CF929E -:103AC000DF92EF92FF9260911B0A70911C0A6115C0 -:103AD0007105C1F0C090170AD090180AE090190A39 -:103AE000F0901A0A66507109072E000C880B990B8A -:103AF0000F946A5E9B01AC01C701B6010F94635E2F -:103B000087FD09C01092110D1092120D1092130D25 -:103B10001092140D1EC020E030E040E050E4C701D8 -:103B2000B6010F9459650F94CC667093100D609395 -:103B30000F0D0E9423FDDC01CB01805E9044AD4F50 -:103B4000BF4F8093110D9093120DA093130DB0935E -:103B5000140DFF90EF90DF90CF900895CF93DF93F7 -:103B600010921F0D80E090E00E94ACC0C3E1DAE04B -:103B7000198618860E945F9D80E090E00E94ACC08C -:103B80001092060A2C98198618861A8680910201CE -:103B9000807280930001DF91CF910895CF92DF92E0 -:103BA000EF92FF926091040A7091050A6115710508 -:103BB000C1F0C090000AD090010AE090020AF09093 -:103BC000030A66507109072E000C880B990B0F949D -:103BD0006A5E9B01AC01C701B6010F94635E87FD6D -:103BE00009C010920B0D10920C0D10920D0D109239 -:103BF0000E0D1EC020E030E040E050E4C701B601E9 -:103C00000F9459650F94CC6670930A0D6093090D5B -:103C10000E9423FDDC01CB01805B9C43AF4FBF4F73 -:103C200080930B0D90930C0DA0930D0DB0930E0D82 -:103C3000FF90EF90DF90CF9008958F929F92AF9278 -:103C4000BF92CF92DF92EF92FF920F931F93CF9389 -:103C5000DF93F0E2FF2EE12CAE2DB0E0BD016F0D41 -:103C6000711D75956795611103C0E7ECFCE206C014 -:103C70006E1511F0F6120BC0E3E4FDE2659174914C -:103C8000072E000C880B990B0F946A5E62C09B0193 -:103C900021503109220F331F220F331FF901EB533B -:103CA000F34D05911491AB01440F551F440F551F5F -:103CB000FA01EB53F34DC591D4918017910714F499 -:103CC000F62ECCCFC817D90714F4E62EC5CFF901CC -:103CD000E953F34DE590F490FA01E953F34DC590A3 -:103CE000D490BC01601B710B072E000C880B990B44 -:103CF0000F946A5E4B015C01B6016E197F09072EB5 -:103D0000000C880B990B0F946A5E9B01AC01C501F6 -:103D1000B4010F94C95E4B015C01C01BD10BBE0105 -:103D2000DD0F880B990B0F946A5E9B01AC01C501F6 -:103D3000B4010F9453664B015C01B701FF0C880B73 -:103D4000990B0F946A5E9B01AC01C501B4010F94FD -:103D50005965DF91CF911F910F91FF90EF90DF9008 -:103D6000CF90BF90AF909F908F900895CF93DF93A7 -:103D7000CCEFD9E060E08A819B810F94BC456C83D5 -:103D80007D838E839F83C3E1DAE08A819B810E94D9 -:103D90001D9E6C837D838E839F83A8951092200D3A -:103DA000DF91CF9108958091090180FD06C0809137 -:103DB000DE1D83FB882780F9089580E008950F9326 -:103DC0001F93CF93DF938B01D82FC92F4630C1F4B7 -:103DD0001092150D1092160D1092170D1092180DCD -:103DE0001092190D0E945F9D20E030E04CE053E4FA -:103DF000B8018D2F9C2F0F94635E87FD0FC01DC0EF -:103E00000F94B24520E030E046E953E4B8018D2F2D -:103E10009C2F0F94635E87FD20C02EC020E030E011 -:103E2000A901B8018D2F9C2F0F94B96718164CF07B -:103E300000E010E0D0E0C0E004C000E010E0DCE012 -:103E4000C3E4B8018D2F9C2F0F94C566CB01DF9181 -:103E5000CF911F910F910C942EE120E030E0A90149 -:103E6000B8018D2F9C2F0F94B96718164CF000E005 -:103E700010E0D0E0C0E004C000E010E0D6E9C3E408 -:103E8000B8018D2F9C2F0F94C566CB01DF91CF9188 -:103E90001F910F910C94ACC09091481A977081E0DB -:103EA000973009F080E008958091CE1B9091CF1B50 -:103EB000891B8F7069F48091D20B811109C081E058 -:103EC00020914F0A3091500A232B19F480E0089575 -:103ED00081E008953F924F925F926F927F928F920E -:103EE0009F92AF92BF92CF92DF92EF92FF920F9389 -:103EF0001F93CF93DF93CDB7DEB762970FB6F894D9 -:103F0000DEBF0FBECDBF2B013C01342E24E0429F0B -:103F1000C00111249A8B898BFC01EA58F14FC080B3 -:103F2000D180E280F38020E030E04AE754E4C7012A -:103F3000B6010F9458654B015C0120E030E04AE780 -:103F400054E4C701B6010F9459657B018C0180913F -:103F500015028823D1F181E0381639F13816A0F026 -:103F600092E0391232C08090380290903902A090CD -:103F70003A02B0903B02E0903C02F0903D0200918A -:103F80003E0210913F0221C08090280290902902A9 -:103F9000A0902A02B0902B02E0902C02F0902D020B -:103FA00000912E0210912F0210C08090300290904C -:103FB0003102A0903202B0903302E0903402F090CF -:103FC0003502009136021091370280E1EDEDF2E00A -:103FD000DE01119601900D928A95E1F7E1E0F0E0A3 -:103FE000EC0FFD1F89899A89E80FF91F20E030E066 -:103FF00040E752E460817181828193810F9453661E -:104000006093400270934102809342029093430276 -:104010008091491A81FF0E943CE19201A301B701FE -:10402000C8010F94B967181614F47201830197013F -:10403000A801B401C5010F94635E87FD02C074013D -:104040008501E989FA89E35AF14FC701D8018083D4 -:104050009183A283B3838091491A82608093491A25 -:1040600062960FB6F894DEBF0FBECDBFDF91CF9141 -:104070001F910F91FF90EF90DF90CF90BF90AF9086 -:104080009F908F907F906F905F904F903F9008959A -:104090002091491A90E0880F991F880F991FFC0101 -:1040A00021FF03C0E35AF14F02C0EA58F14F60818B -:1040B00071818281938108952091491A20FF14C053 -:1040C00020E83EE3629FA001639F500D729F500D58 -:1040D0001124CA019695879596958795009731F09A -:1040E0008A950000E9F708950D94FA4C08959F927F -:1040F000AF92BF92CF92DF92EF92FF920F931F93F6 -:10410000CF93DF938091A714833009F50E944C9FD1 -:104110008823E9F060911B0A70911C0A072E000C9D -:10412000880B990B0F946A5E20E030E040E85FE373 -:104130000F9458652091170A3091180A4091190A76 -:1041400050911A0A0F94635E18160CF066C0D0E006 -:1041500000E010E0FF24F394EE24E39446E0D42E34 -:10416000C0E0CC24C39456E0B52E65E0A62E72E8DC -:10417000972EFC24DC16F1F18D2F90E08397C4F587 -:10418000C530B1F10530A1F1DF5FF801BC9EE00D53 -:10419000F11D1124EE0FFF1FEE0FFF1FEC5AF34F1E -:1041A00020E030E04AE754E46081718182819381AC -:1041B0000F94C95E0F94C5667093631C6093621C74 -:1041C000A092561C9092591C8D2F90E08158974FC9 -:1041D000880F991F092E000CAA0BBB0B80935A1C49 -:1041E00090935B1CA0935C1CB0935D1C0F94D23623 -:1041F000CE0DC0CF0F5F1F4F0630110579F1F110C2 -:1042000006C0EE24EA94DD24DA94C5E0B2CFEE24B1 -:10421000E39436E0D32EC0E0ACCF81E09AE59093F2 -:10422000631C8093621C80E490E09093651C8093F3 -:10423000641C87E08093561C82E88093591C84E8B4 -:1042400090E0A0E0B0E080935A1C90935B1CA09398 -:104250005C1CB0935D1C0F94D23679CFDF91CF9167 -:104260001F910F91FF90EF90DF90CF90BF90AF9094 -:104270009F900895AF92BF92CF92DF92EF92FF92FC -:104280000F931F93CF93DF93EC0188EEC82E80E24B -:10429000D82EE12CF12C02E8A12C90E2B92E15E0E9 -:1042A0000093591CC0925A1CD0925B1CE0925C1C7B -:1042B000F0925D1CB092631CA092621C1093561C7D -:1042C0000F94D2368FEFC81AD80AE80AF80A80E1AC -:1042D000C81681E2D806E104F10411F748EE50E275 -:1042E00060E070E0CE01DF91CF911F910F91FF90C0 -:1042F000EF90DF90CF90BF90AF900D94813684E027 -:104300008093A61482E08093AC0881E09AE59093B4 -:10431000631C8093621C8EE490E09093651C8093F4 -:10432000641C87E08093561C82E88093591C84E8C3 -:1043300090E0A0E0B0E080935A1C90935B1CA093A7 -:104340005C1CB0935D1C0F94D23682E796E00C940F -:104350004463CF92DF92EF92FF926A017B010E9449 -:10436000ACAB882331F0FF90EF90DF90CF900C94AE -:104370002CABC701B601FF90EF90DF90CF9008956E -:104380002F923F924F925F926F927F928F929F9265 -:10439000AF92BF92CF92DF92EF92FF920F931F9353 -:1043A000CF93DF93CDB7DEB7CC54D1090FB6F894D5 -:1043B000DEBF0FBECDBF60E070E085E40E94B9AB08 -:1043C000182F81E0810F823018F08EEA90E340C010 -:1043D00065E070E083E40E94B9AB89A760E085E501 -:1043E0000E946AE12B968FAF2B9717FF05C040E024 -:1043F00050E06CE872E404C040E050E066E173E431 -:1044000083E50E94A9A10F94C566072E000C880BB6 -:10441000990B0F946A5E6D837E838F832D969FAF79 -:104420002D970E9423FD2B013C011F3F09F0EBC497 -:1044300020E030E047E053E46D817E818F812D964E -:104440009FAD2D970F94B9671816ECF483E890E3AD -:10445000C45BDF4F0FB6F894DEBF0FBECDBFDF9158 -:10446000CF911F910F91FF90EF90DF90CF90BF9071 -:10447000AF909F908F907F906F905F904F903F9004 -:104480002F900D94664D8FE690E30F94664D0E9439 -:10449000AE9D8FE780931D0A24EB30E0A8EEB3E0D9 -:1044A0000F940D656BA77CA78DA79EA79B01AC0100 -:1044B000240D351D461D571D28AF39AF4AAF5BAFE0 -:1044C00081E080931402109222021F3FF9F48BEADC -:1044D0009AEAAAEABEE38CAF9DAFAEAFBFAF2DECB8 -:1044E0003CEC4CE45EE324962CAF3DAF4EAF5FAFA7 -:1044F000249747EB5FE226965FAF4EAF269781E8A1 -:104500009FE228969FAF8EAF28971EC020E030E034 -:1045100040E05EE32CAF3DAF4EAF5FAF8AE999E973 -:10452000A9E1BFE324968CAF9DAFAEAFBFAF249798 -:10453000A5EABFE22696BFAFAEAF2697EEE6FFE252 -:104540002896FFAFEEAF289749A25AA26BA27CA291 -:104550004FA658AA69AA7AAA2FE730E040E050E0B7 -:10456000288739874A875B87188A198A1A8A1B8A9B -:104570001C861D861E861F86C12CD12C76011E8AA4 -:1045800030E43F8B4CE1488F56E4598F1A8E1B8ED6 -:104590001C8E1D8E1BAACCAADDAAEEAAFFAAFFE7DD -:1045A0008F2E912CA12CB12C1DA21EA21FA218A6E9 -:1045B00081E088A31D8A1C8A212C312C00E02C96D6 -:1045C0001FAE2C97A7E11A02C00111248450964F08 -:1045D000FC013A962A96FFAFEEAF2A979C012C5F1A -:1045E0003F4F3F8F2E8F49A5042E000C550B5AA725 -:1045F00049A780911402882309F457C20E9423FD21 -:1046000069837A838B839C838091200D882309F4AE -:10461000BAC00E94B69E1F3F61F42090170A3090E6 -:10462000180A0091190A50911A0A2C965FAF2C971C -:104630000EC0AE8DBF8D2C9011963C9011971296A6 -:104640000C9112971396BC912C96BFAF2C972A8D84 -:104650003B8D4C8D5D8DB101802F2C969FAD2C979D -:104660000F94B96718163CF42A8E3B8E0C8F2C964B -:10467000EFAD2C97ED8F2E893F89488D598DB10173 -:10468000802F2C969FAD2C970F94635E87FF07C0F9 -:104690002E8A3F8A088F2C96FFAD2C97F98F28A180 -:1046A000222309F44DC09101402F2C965FAD2C9729 -:1046B0006D817E818F812D969FAD2D970F94635EC6 -:1046C00087FF61C049815A816B817C8144195509FA -:1046D00066097709DB01CA0188589341A109B1092C -:1046E000B7FD51C088859985AA85BB858819990928 -:1046F000AA09BB09B595A795979587951F3F19F40A -:1047000080931D0A05C02A96EEADFFAD2A978083DF -:104710004DA35EA36FA378A7FD81FA8F2E812B8F07 -:104720003F813C8F2D964FAD2D974D8F89819A817A -:10473000AB81BC8189A39AA3ABA3BCA318A223C05D -:104740009101402F2C965FAD2C976D817E818F81DA -:104750002D969FAD2D970F94B9671816A4F48981F3 -:104760009A81AB81BC8129A13AA14BA15CA1821B9A -:10477000930BA40BB50BAC01BD0148585341610923 -:10478000710977FFB1C120E030E040EA51E46D816A -:104790007E818F812D969FAD2D970F945965910144 -:1047A000402F2C965FAD2C970F94635E87FF03C05C -:1047B00089ED9FE2BCC089819A81AB81BC812FA524 -:1047C00038A949A95AA9821B930BA40BB50BB7FDB5 -:1047D00093C01F3F19F48091860E01C0812F0E9463 -:1047E000D4938AE00E94266289819A81AB81BC8140 -:1047F0008053984FAF4FBF4F8FA798ABA9ABBAABC1 -:104800009BA9911159C02CA93DA94EA95FA9B1013D -:10481000802F2C969FAD2C970F94B9671816BCF576 -:1048200020E030E040E050E4B101802F2C969FADB5 -:104830002C970F9459656CAB7DAB8EAB9FAB2BA5C2 -:104840003CA54DA55EA589819A81AB81BC81280FCD -:10485000391F4A1F5B1F28AF39AF4AAF5BAF20E05B -:1048600030E040EC50E46D817E818F812D969FADCC -:104870002D970F9458659101402F2C965FAD2C9782 -:104880000F94635E881F8827881F8BAB35C0898192 -:104890009A81AB81BC8128AD39AD4AAD5BAD821B3D -:1048A000930BA40BB50BB7FD27C026964EAD5FAD9D -:1048B00026976AEC7FE21DC020E030E040EA51E438 -:1048C0006D817E818F812D969FAD2D970F945865B8 -:1048D0009B01AC01B101802F2C969FAD2C970F94BA -:1048E000635E87FF09C028964EAD5FAD289765E9E6 -:1048F0007FE2812F0F94AB4689819A81AB81BC8185 -:10490000880F991FAA1FBB1F29A13AA14BA15CA127 -:10491000821B930BA40BB50B84199509A609B70943 -:1049200081389F44A241B10528F080E59FE20F94B1 -:10493000664DBBC049A55AA58C899D894817590762 -:104940000CF0B0C003970CF4ADC083EF9EE20F945F -:10495000664D1F3F29F4A3EEBEE2BA83A98304C0CB -:10496000E2EEFEE2FA83E98381ED9EE20F94664D6A -:1049700089819A810F94664DB701A6018FEE9EE260 -:104980000F94B24D8AE00E94266281ED9EE20F9460 -:10499000664D89819A810F94664D4C855D856E8543 -:1049A0007F858BEE9EE20F94B24D8AE00E942662D4 -:1049B00081ED9EE20F94664D89819A810F94664D38 -:1049C000488959896A897B8987EE9EE20F94B24DA6 -:1049D0008AE00E9426622B96FFAD2B97FF2309F4F5 -:1049E00066C01F3F69F5C0921E0AD0921F0AE0926E -:1049F000200AF092210A2CEA35EC47E25EE36C854E -:104A00007D858E859F850F94C95E6093220A709381 -:104A1000230A8093240A9093250A2CEA35EC47E276 -:104A20005EE3688979898A899B890F9453666093CC -:104A3000260A7093270A8093280A9093290A37C080 -:104A400047E11402900111242450364F3A83298300 -:104A5000D9011B96CD92DD92ED92FC921E972CEA25 -:104A600035EC47E25EE36C857D858E859F850F94EE -:104A7000C95EE981FA816787708B818B928B2CEA02 -:104A800035EC47E25EE3688979898A899B890F94CE -:104A90005366A981BA8153966D937D938D939C93B0 -:104AA000569705C00E94A92CA4CD0E94AE9D81E01E -:104AB00080932202C45BDF4F0FB6F894DEBF0FBEB7 -:104AC000CDBFDF91CF911F910F91FF90EF90DF90BD -:104AD000CF90BF90AF909F908F907F906F905F909E -:104AE0004F903F902F9008954C895D89452B09F494 -:104AF00051C14DA05EA06FA078A4480E591E6A1E39 -:104B00007B1E2DA13EA14FA158A5281B390B4A0B96 -:104B10005B0BC501B4010F94A964A30192010F942A -:104B2000DB6488849984AA84BB84820E931EA41EAD -:104B3000B51E54E185169104A104B1040CF18CEE6C -:104B400088169104A104B1043CF490E889169104FC -:104B5000A104B10434F422C06BEE862E912CA12C5A -:104B6000B12C88869986AA86BB862EEF30E040E07D -:104B700050E0281939094A095B0949015A0112C054 -:104B800084E190E0A0E0B0E088879987AA87BB879E -:104B900054E1852E912CA12CB12C04C088869986D5 -:104BA000AA86BB8687E690E30F94664D6885798573 -:104BB0008A859B850E949A6282E690E30F94664DF7 -:104BC000C501B4010E949A624E895F89688D798D12 -:104BD0008BE590E30F94B24D4A8D5B8D6C8D7D8D8E -:104BE00084E590E30F94B24DAC89BD8913970CF422 -:104BF000D1C0C501B4010F946A5E20E030E040E806 -:104C000050E40F94C95E6B017C012E893F89488D69 -:104C1000598D6A8D7B8D8C8D9D8D0F9458652BEDF4 -:104C20003FE049E450E40F94C95E20E030E040E00A -:104C30005FE30F94C95E9B01AC01C701B6010F94FD -:104C400053666B017C01C301B2010F946A5E2FE6CB -:104C500032E143E85AE30F94C95E2B013C01B701EE -:104C6000A6018EE490E30F94B24DB301A20188E453 -:104C700090E30F94B24D1F3F09F044C02DEC3CEC83 -:104C80004CE45EE3C701B6010F94C95E6B017C0181 -:104C90009B01AC010F945965A30192010F945366D7 -:104CA0006C877D878E879F87A7019601C301B2011C -:104CB0000F94C95E20E030E040E450E40F94536666 -:104CC000688B798B8A8B9B8B88E390E30F94664D7E -:104CD000B701A60182E390E30F94B24D4C855D8548 -:104CE0006E857F858CE290E30F94B24D4889598997 -:104CF0006A897B8986E290E30F94B24D8AE00E9434 -:104D000026624AC024962CAD3DAD4EAD5FAD2497D2 -:104D1000C701B6010F94C95E6B017C019B01AC0118 -:104D2000C301B2010F94C95E2CAD3DAD4EAD5FAD78 -:104D30000F94C95E688B798B8A8B9B8BA701960138 -:104D4000C701B6010F945965A30192010F945366F0 -:104D50006C877D878E879F8786E190E30F94664DF1 -:104D6000B701A60180E190E30F94B24D4C855D85BB -:104D70006E857F858AE090E30F94B24D488959890A -:104D80006A897B8984E090E30F94B24D8AE00E94A7 -:104D9000266211C01F3F79F488859985AA85BB8555 -:104DA000880D991DAA1DBB1DB595A795979587954B -:104DB00080931D0A11C088859985AA85BB85880DB9 -:104DC000991DAA1DBB1DB595A795979587952A9600 -:104DD000EEADFFAD2A9780832C893D892F5F3F4F31 -:104DE0003D8B2C8B3D813E8B4E814F8B5F81588F4D -:104DF0002D968FAD2D97898F49805A806B807C804E -:104E000091E098A3C0CCE12E012E000CFF08F70121 -:104E100083E0EE0FFF1F8A95E1F7E45FFD4F6681A7 -:104E200077816F507109072E000C880B990B0F9436 -:104E30006A5E9B01AC016D817E818F812D969FAD55 -:104E40002D970F94B96718160CF400CB8FE690E3FA -:104E50000F94664D0E94AE9D87E18E9DF0018F9D5F -:104E6000F00D1124E450F64F8FE7828722E330E003 -:104E700015CB2F923F924F925F926F927F928F92BB -:104E80009F92AF92BF92CF92DF92EF92FF920F93D9 -:104E90001F93CF93DF93EB01FC0180809180A28070 -:104EA000B380C501B40120E831E541E050E00F9442 -:104EB000B964C9016DE671E00F9428656B017C014E -:104EC000C501B40120E13EE040E050E00F94B96438 -:104ED000CA01B90128E130E040E050E00F94B96424 -:104EE000362E272E062F172F8CE3482E512C612C9F -:104EF000712CC501B401A30192010F94B964B62EBF -:104F0000A72ECA01B901A30192010F94B964CB0184 -:104F1000C114D104D9F0AF92BF927F936F932F92B7 -:104F20003F92FF92EF92DF92CF928DEB9EE29F93A2 -:104F30008F93DF93CF930F94FB5D8DB79EB70E9643 -:104F40000FB6F8949EBF0FBE8DBF5CC0E114F10494 -:104F5000C9F0AF92BF927F936F932F923F92FF92CF -:104F6000EF928DEA9EE29F938F93DF93CF930F94FE -:104F7000FB5DEDB7FEB73C960FB6F894FEBF0FBED3 -:104F8000EDBF40C0012BB9F0AF92BF927F936F93FA -:104F90002F923F9281EA9EE29F938F93DF93CF936C -:104FA0000F94FB5D8DB79EB70A960FB6F8949EBF1F -:104FB0000FBE8DBF27C0892BA9F0AF92BF927F9300 -:104FC0006F9389E99EE29F938F93DF93CF930F9422 -:104FD000FB5DEDB7FEB738960FB6F894FEBF0FBE77 -:104FE000EDBF10C0AF92BF9285E99EE29F938F9371 -:104FF000DF93CF930F94FB5D0F900F900F900F9066 -:105000000F900F90DF91CF911F910F91FF90EF9034 -:10501000DF90CF90BF90AF909F908F907F906F90D8 -:105020005F904F903F902F9008958F929F92AF92F4 -:10503000BF92CF92DF92EF92FF920F931F93CF9385 -:10504000DF93CDB7DEB7E6970FB6F894DEBF0FBE9D -:10505000CDBF0091A20D1091A30D82E08093430C6F -:10506000F80101900020E9F731975F01A01AB10A19 -:10507000F801CF01801B910B8A159B0534F48081C8 -:105080008F3209F410823196F4CF8BE1E0E4FBE13A -:10509000DE015C9601900D928A95E1F7E12CF12CEE -:1050A000EA14FB040CF084C0F801EE0DFF1D8081B2 -:1050B000811103C08FEFE81AF80A6801CE0CDF1CDB -:1050C000F6018081882309F473C0FFEFEF1AFF0A0D -:1050D000F801EE0DFF1D7F01E01AF10A81918111A7 -:1050E000FACFCE014C960E94A2BA8BE1FE017C96CB -:1050F000DE01119601900D928A95E1F7A601BE019D -:105100006F5F7F4F80E090E00E94536ECE0101966A -:105110000E94D8BB8FE20E9426628091921081117A -:1051200003C08CE896E002C082E990E14C01F401F2 -:1051300081914F01882319F00E942662F8CF809157 -:10514000DE1D84FF35C019821C8221E0A601BE014C -:10515000645E7F4FCE0101960E94BBBF811116C0D5 -:105160008AE00E9426620F94E64D81E89EE20F9449 -:10517000664DF60181916F01882319F00E94266225 -:10518000F8CFCE0101960E94D8BB12C0CE014C963A -:105190000E94CFBB8BE1FE013196DE015C9601904F -:1051A0000D928A95E1F7CE0101960E94D8BB78CF87 -:1051B0008AE00E942662CE014C960E94D8BBE696F9 -:1051C0000FB6F894DEBF0FBECDBFDF91CF911F9118 -:1051D0000F91FF90EF90DF90CF90BF90AF909F9096 -:1051E0008F9008959091DE1D93FB882780F993FF9F -:1051F00006C081E09091EA1A911101C080E0089503 -:10520000CF93DF93E091D10BF0E0E054F34E808137 -:10521000882309F447C085E79EE20F94664DC0914C -:10522000D10B40E6C49FE0011124CF5AD54F8881AD -:105230008E3479F480E20E94266289910E9426626F -:10524000899190ED980F9A30C8F38D32B9F38B3273 -:10525000A9F382E79EE20F94664D9091CE1B809158 -:10526000CF1B981B9F706AE070E02FE030E0A9012F -:10527000491B5109CA010E94B6628FE69EE20F9453 -:10528000664D9091D20B6AE070E024E030E0A90115 -:10529000491B5109CA010E94B6628AE0DF91CF9191 -:1052A0000C942662DF91CF9108950E94516388E7A4 -:1052B0009EE20F94664D80919E0D90919F0DA0915E -:1052C000A00DB091A10DBC01CD016F5F7F4F8F4F3D -:1052D0009F4F0E949A620E943E630C9400A90F9314 -:1052E0001F93CF938C01C62F0F94E24DC8010F94EA -:1052F000664D60919E0D70919F0D8091A00D9091D3 -:10530000A10D0E949A620E943E63C11104C00E94D6 -:1053100056630196E1F70E9455A9EC2FEE0FFF0BA3 -:10532000E456F24F11821082CF911F910F91089590 -:1053300020E030E040E450E40F9458652AE939E970 -:1053400041EF51E40F9459652FE031EA47E85CE3FF -:105350000F94C95E0F94C566663010F4862F0895C9 -:105360008FEF089520E030E040E450E40F9458655A -:1053700026E636E646EF51E40F9459652DEA3CEFF8 -:1053800044E85CE30F94C95E0F94C566663010F480 -:10539000862F08958FEF08951F93CF93DF93182FD3 -:1053A00087E00F941E4DC0E0D0E080E20E942662AC -:1053B0006AE070E0CE010E94B662812F0F941E4D0C -:1053C0002196C630D10589F76AE070E080E090E070 -:1053D000DF91CF911F910D94FA4C8F929F92AF92D3 -:1053E000BF92CF92DF92EF92FF920F931F93CF93D2 -:1053F000DF93EC017B018A016901FB01208131818E -:1054000042815381688179818A819B810F9459659A -:10541000688379838A839B83F8012081318142816B -:1054200053816C817D818E819F810F9459656C833E -:105430007D838E839F83F601208131814281538158 -:10544000688579858A859B850F94596568877987F2 -:105450008A879B87F70160817181828193819B019B -:10546000AC010F94C95E9B01AC016C857D858E8576 -:105470009F850F9459656C877D878E879F87F8017C -:1054800060817181828193819B01AC010F94C95E1F -:105490009B01AC01688979898A899B890F94596538 -:1054A000688B798B8A8B9B8BF601608171818281FD -:1054B00093819B01AC010F94C95E9B01AC016C8987 -:1054C0007D898E899F890F9459656C8B7D8B8E8B1E -:1054D0009F8BF8012081318142815381F7016081E6 -:1054E0007181828193810F94C95E9B01AC01688DAB -:1054F000798D8A8D9B8D0F945965688F798F8A8FEE -:105500009B8FF6012081318142815381F7016081B7 -:105510007181828193810F94C95E9B01AC016C8D76 -:105520007D8D8E8D9F8D0F9459656C8F7D8F8E8FA5 -:105530009F8FF6012081318142815381F801608182 -:105540007181828193810F94C95E9B01AC0168A136 -:1055500079A18AA19BA10F94596568A379A38AA315 -:105560009BA38CA09DA0AEA0BFA0F701C080D1805E -:10557000E280F38020E030E0A901C701B6010F947A -:10558000B96787FF04C0F7FAF094F7F8F094A70121 -:105590009601B401C5010F94635E87FD02C06401EA -:1055A0007501CCA2DDA2EEA2FFA288A499A4AAA4B0 -:1055B000BBA4F801C080D180E280F38020E030E01D -:1055C000A901C701B6010F94B96787FF04C0F7FAB4 -:1055D000F094F7F8F0949401A501C701B6010F9477 -:1055E000B967181614F064017501C8A6D9A6EAA611 -:1055F000FBA620E030E040E85FE368AD79AD8AAD1E -:105600009BAD0F94596568AF79AF8AAF9BAFDF91BF -:10561000CF911F910F91FF90EF90DF90CF90BF90AF -:10562000AF909F908F90089589E191E30D94A02A07 -:105630008091A70D9091A80D009731F04AE050E0BD -:1056400060E070E00D94595B60E070E0CB0108957C -:105650000E9418ABCB0108950F931F93CF938091B5 -:10566000A70D9091A80D009711F1FC018F01C19138 -:105670002C2F2F7DA9F0C53411F0C536B9F7F801EC -:10568000108260E070E08091A70D9091A80D0F94BA -:10569000FD59F801C083562F472F382F292F0BC0F3 -:1056A00060E070E0CF911F910F910D94FD5950E093 -:1056B00040E030E020E0652F742F832F922FCF91B0 -:1056C0001F910F91089581548A3108F042C0E82F4C -:1056D000F0E04091231A5091241A6091251A70919C -:1056E000261A04C076956795579547958A95D2F7FF -:1056F000842F817040FF2FC0E75FF54E9081992382 -:1057000009F1E0916E0EF0916F0EE90FF11D90819D -:1057100020ED290F2A3098F09E3211F491810CC0AF -:105720009D3211F09B3271F4918120ED290F2A30C6 -:1057300030F09E3239F4928190539A3018F42E2F23 -:105740009F2F02C020E090E02093A70D9093A80D1A -:10575000089580E0089508950E9463AB882341F086 -:1057600081E02091A70D3091A80D232B09F480E052 -:105770000895CF93DF93EB010E94ACAB882321F017 -:10578000DF91CF910C9428ABCE01DF91CF9108959A -:10579000E82FF0E0863078F4EE0FFF1FEE0FFF1FCA -:1057A000E657F34C4591559165917491F42FE52F8F -:1057B000362F272F16C0BF01FF0F880B990B0F94B0 -:1057C0006A5E2AE939E941E752E40F94C95E20E0B4 -:1057D00030E040E450E40F945965F62FE72F382F5E -:1057E000292F6F2F7E2F832F922F0895E82FF0E01F -:1057F000863078F4EE0FFF1FEE0FFF1FE653F34CD9 -:105800004591559165917491F42FE52F362F272FEF -:1058100016C0BF01FF0F880B990B0F946A5E26E636 -:1058200036E646E752E40F94C95E20E030E040E4FB -:1058300050E40F945965F62FE72F382F292F6F2F3B -:105840007E2F832F922F08952F923F924F925F9237 -:105850006F927F928F929F92AF92BF92CF92DF9280 -:10586000EF92FF920F931F93CF93DF93CDB7DEB7E5 -:1058700062970FB6F894DEBF0FBECDBF9A838983BF -:10588000788B6F87FC0180809180A280B38020E0BC -:1058900030E040E450E4C501B4010F94B96787FDDE -:1058A00024C020E030E84BE953E4C501B4010F9473 -:1058B000635E1816D4F0EF85F889C080D180E2804D -:1058C000F38020E030E040E450E4C701B6010F94DB -:1058D000B96787FD0AC020E030E848E953E4C70112 -:1058E000B6010F94635E181624F4C12CD12C7601F6 -:1058F00056C120E030E040E450E4C501B4010F940B -:1059000058652DEA3CEF44E85CE30F94C95E0F94C0 -:10591000C566698B66301CF0F5E0F98B03C02989F8 -:1059200027FD198A20E030E040E450E4C701B601C9 -:105930000F9458652FE031EA47E85CE30F94C95EA5 -:105940000F94C5666A8B66301CF035E03A8B03C055 -:105950004A8947FD1A8A5989252E550F3308C101F6 -:10596000E5E02E16310414F084E090E09C012F5FF6 -:105970003F4F3E872D8739893F5F3D83832F0E94AC -:10598000F6AB69877A878B879C8789890E94F6ABFB -:105990006B017C0186E0829DF001839DF00D112456 -:1059A0004A89042F440F110BE00FF11FEE0FFF1F68 -:1059B000EE0FFF1FEC5AF34F4080518062807380DE -:1059C0002D853E85829FF001839FF00D1124E00F0D -:1059D000F11FEE0FFF1FEE0FFF1FEC5AF34FA30155 -:1059E000920160817181828193810F9458654B018E -:1059F0005C01A7019601E981FA8160817181828150 -:105A000093810F9458659B01AC01C501B4010F94BB -:105A1000C95E4B015C01A701960169857A858B857A -:105A20009C850F9458659B01AC01C501B4010F948E -:105A30005366A30192010F94596569877A878B8712 -:105A40009C87C8010530110514F084E090E05C01EA -:105A5000FFEFAF1ABF0A8D810E94F6AB6D837E8384 -:105A60008F83988789890E94F6AB6B017C0126E0C1 -:105A7000229DC001239D900D1124FC01EA0DFB1D08 -:105A8000EE0FFF1FEE0FFF1FEC5AF34F40805180C7 -:105A9000628073804D855E85249FC001259F900D97 -:105AA0001124FC01EA0DFB1DEE0FFF1FEE0FFF1F7F -:105AB000EC5AF34FA301920160817181828193813D -:105AC0000F9458654B015C01A7019601E981FA81A9 -:105AD00060817181828193810F9458659B01AC0133 -:105AE000C501B4010F94C95E4B015C01A701960189 -:105AF0006D817E818F8198850F9458659B01AC01E3 -:105B0000C501B4010F945366A30192010F94596526 -:105B10002B013C018A898F5F0E94C8AB69837A831D -:105B20008B839C838A890E94C8AB6B017C019B019B -:105B3000AC01EF85F88960817181828193810F9436 -:105B400058654B015C0129853A854B855C85C3010D -:105B5000B2010F9458659B01AC01C501B4010F94CB -:105B6000C95E4B015C01A701960169817A818B8135 -:105B70009C810F9458659B01AC01C501B4010F9441 -:105B8000536629853A854B855C850F9459656B0171 -:105B90007C019B01AC010F94A6688111A6CEC701C0 -:105BA000B60162960FB6F894DEBF0FBECDBFDF918F -:105BB000CF911F910F91FF90EF90DF90CF90BF900A -:105BC000AF909F908F907F906F905F904F903F909D -:105BD0002F9008954F925F926F927F928F929F9233 -:105BE000AF92BF92CF92DF92EF92FF921F93CF932B -:105BF000DF93CDB7DEB72C970FB6F894DEBF0FBE9C -:105C0000CDBFDB01CD90DD90ED90FC902091C114D3 -:105C10003091C2144091C3145091C4142D833E831B -:105C20004F835887DC018D909D90AD90BC90209162 -:105C3000BD143091BE144091BF145091C0142987F7 -:105C40003A874B875C87C501B4010F945865698317 -:105C50007A838B839C832D813E814F815885C70138 -:105C6000B6010F945865AB01BC01CE0101960F94AB -:105C70002814182F882309F4A9C020E030E0A901D6 -:105C800069857A858B859C850F9459652B013C012C -:105C900020E030E040E450E40F94635E87FF05C0ED -:105CA000412C512C30E4632E762C27E137EB41ED6B -:105CB00058E3C301B2010F9458659B01AC01C501C3 -:105CC000B4010F94B96787FD80C020E030E84DE94A -:105CD00053E469857A858B859C850F9459652B01E2 -:105CE0003C0120E030E84BE953E40F94B967181603 -:105CF0003CF4412C20E8522E2BE9622E23E4722E34 -:105D000027E137EB41ED58E3C301B2010F94596528 -:105D10009B01AC01C501B4010F94635E18160CF42D -:105D200054C020E030E0A9016D817E818F8198858B -:105D30000F9459654B015C0120E030E040E450E4F1 -:105D40000F94635E87FF05C0812C912C90E4A92EEF -:105D5000BA2C27E137EB41ED58E3C501B4010F94AC -:105D600058659B01AC01C701B6010F94B96787FD67 -:105D70002CC020E030E04AE953E46D817E818F81C0 -:105D800098850F9459654B015C0120E030E848E9A3 -:105D900053E40F94B96718163CF4812C80E8982ED0 -:105DA00088E9A82E83E4B82E27E137EB41ED58E3CC -:105DB000C501B4010F9459659B01AC0111E0C70105 -:105DC000B6010F94635E18160CF410E0812F2C9628 -:105DD0000FB6F894DEBF0FBECDBFDF91CF911F91FC -:105DE000FF90EF90DF90CF90BF90AF909F908F90FB -:105DF0007F906F905F904F900895681779070CF42B -:105E0000CB010895861797070CF4CB0108950F93E3 -:105E10001F93CF93DF93CDB7DEB76F970FB6F8948C -:105E2000DEBF0FBECDBF9F8F8E8F81E08093A40D0C -:105E300088E08B838EE18C838E8D9F8D8370992774 -:105E400021E0892B09F020E02D8321E08E8D9F8DAC -:105E5000019709F020E02E8321E08E8D9F8D02971F -:105E600009F020E02F838E8D9F8D8470992721E08B -:105E7000892B09F420E0288782E091E30F94664D96 -:105E80008D81882379F18EEF90E30F94664D64E362 -:105E900071E081E391E00E94FDAE8C0160E070E072 -:105EA00083E090E00E9402AFA801BC0184E00F945F -:105EB000294D64E371E081E391E00E94FDAE8C0125 -:105EC0006BE371E087E391E00E94FDAEA801BC01A5 -:105ED0008EE10F94294D8AE00E94266286E00E949E -:105EE000CCA90EC088EF90E30F94664D8E81882375 -:105EF00019F082EF90E302C08CEE90E30F94664DB0 -:105F00008091760E9091770EA091780EB091790ED7 -:105F10002091BD143091BE144091BF145091C01413 -:105F2000BC01CD010F945965DC01CB018A8F9B8F99 -:105F3000AC8FBD8F8A8D9B8DAC8DBD8DBC01CD018D -:105F40000E94B2A9082E000C990BAA0BBB0BBC0136 -:105F5000CD010F946A5EDC01CB0189879A87AB87FC -:105F6000BC8780917A0E90917B0EA0917C0EB091AF -:105F70007D0E2091C1143091C2144091C3145091F0 -:105F8000C414BC01CD010F945965DC01CB018E8B8B -:105F90009F8BA88FB98F8E899F89A88DB98DBC01E1 -:105FA000CD010E9498A9082E000C990BAA0BBB0BDF -:105FB000BC01CD010F946A5EDC01CB018D879E8709 -:105FC000AF87B88B9F8181E08927882319F08AE009 -:105FD0000E94266285E08983898188230CF4F4C0BD -:105FE0008D81882391F089818A301CF480E20E949F -:105FF00026628981082E000C990B6AE070E00E94ED -:10600000B66289EE90E30F94664D1A828A818630DB -:1060100008F0BFC08A81882F90E0092E000CAA0BDF -:10602000BB0BBC01CD010F946A5EDC01CB0129855D -:106030003A854B855C85BC01CD010F94635E882356 -:10604000C1F48981082E000C990BAA0BBB0BBC0173 -:10605000CD010F946A5EDC01CB012D853E854F8515 -:106060005889BC01CD010F94635E882311F481E04F -:1060700001C080E0898B8D81882341F08989882344 -:1060800011F08BE501C080E20E9426628A81282FF0 -:1060900030E08981482F880F550BC901880F991F5F -:1060A000820F931F880F991F840F951F880F991FC8 -:1060B000880F991F8C5A934FFC0180819181A28196 -:1060C000B3818A8B9B8BAC8BBD8B8F81882309F02E -:1060D00045C02A893B894C895D896A897B898C897D -:1060E0009D890F94A668882359F08D81882319F023 -:1060F00082EE90E302C08EED90E30F94664D2EC0C9 -:106100008D81882319F48E81882341F18D81882324 -:10611000D9F020E030E0A9016A897B898C899D89CA -:106120000F94B967882384F020E030E0A9016A89E0 -:106130007B898C899D890F94B967181614F48BE2BA -:1061400001C080E20E9426628A899B89AC89BD8950 -:1061500043E050E0BC01CD010E943C638E81882366 -:1061600031F08A81853018F489E00E9426628D81A1 -:10617000882341F08989882311F08DE501C080E2F0 -:106180000E94266280E00E946A638A818F5F8A8310 -:106190003DCF9F8181E08927882319F08AE00E9402 -:1061A00026628981882361F08D81882349F0988552 -:1061B00081E08927882321F088ED90E30F94664DD4 -:1061C00089818150898308CF8D81882381F186E080 -:1061D0000E94CCA98AE00E94266260E070E083E021 -:1061E00090E00E9402AF8C0160E070E083E090E0FC -:1061F0000E9402AFA801BC0184E00F94294D60E029 -:1062000070E083E090E00E9402AF8C016BE371E0EC -:1062100087E391E00E94FDAEA801BC018EE10F94DE -:10622000294D8AE00E9426628AE00E94266210922E -:10623000A40D6F960FB6F894DEBF0FBECDBFDF91F1 -:10624000CF911F910F9108956F927F928F929F929D -:10625000AF92BF92CF92DF92EF92FF920F931F9374 -:10626000CF93DF93CDB7DEB7C554D1090FB6F894FD -:10627000DEBF0FBECDBF19820F946730882309F0AF -:106280000CC76FEF7FEF80E50E94B9AB8A878A85E4 -:10629000813059F08A85823041F08A85843029F036 -:1062A0008AE40E9463AB882311F081E001C080E0A2 -:1062B0008B878B85882359F00F94FB3941E061E08F -:1062C00081E00F949E3F882311F00E9414AB89E473 -:1062D0000E9463AB882309F4BFC01A828091A70D86 -:1062E0009091A80D21E0892B09F420E0222319F0D8 -:1062F0000E9428AB02C081E090E09093381A80930E -:10630000371A8091371A9091381A84973CF060E0E0 -:1063100070E080EC9FE70F945A4B9AC08091371A37 -:106320009091381A9C01215031093093381A2093EA -:10633000371A21E0892B09F420E0222309F488C0D0 -:106340008A81853120F01A8280E00E946A6300E031 -:1063500010E020E04FE25AE163E37AE181E00F943C -:10636000E92BA22EB32EC42ED52EE62EF72E082F03 -:10637000192F2A2D3B2D4C2D5D2D6E2D7F2D802F1D -:10638000912FFE01E05CFF4F2083FE01EF5BFF4F8A -:106390003083FE01EE5BFF4F4083FE01ED5BFF4F5C -:1063A0005083FE01EC5BFF4F6083FE01EB5BFF4F10 -:1063B0007083CE01805C9F4FFC01808188235CF458 -:1063C00060E070E080EC9FE70F945A4B80EE92E320 -:1063D0000F94664D3DC0CE01805C9F4FFC018081D3 -:1063E000282F880F330BCE018F5B9F4FFC018081DC -:1063F000482F880F550BC901880F991F820F931FD3 -:10640000880F991F840F951F880F991F880F991F58 -:106410009C012C5A334F80E090E0A0ECBFE7F901DB -:1064200080839183A283B383CE018F5B9F4FFC0156 -:106430008081682FCE01805C9F4FFC01808120E02D -:1064400030E0A9010E9477A08A818F5F8A8366CF9E -:1064500087EC92E30F94664D81E50E9463AB88233D -:1064600009F491C28091A70D9091A80D21E0892B8C -:1064700009F420E0222319F00E9428AB02C08DE924 -:106480009FEF9D878C878C859D858F3F9F4F24F044 -:106490008C859D8503972CF08FE992E30F94664DD0 -:1064A000FCC580E892E30F94664D8C859D85813014 -:1064B000910509F4DDC08230910509F4E2C1892B10 -:1064C00009F061C21B828B81863008F05CC21C829D -:1064D0008C81863008F0C8C08B81882F90E0092E0F -:1064E000000CAA0BBB0BBC01CD010F946A5EDC0152 -:1064F000CB019C01AD0160E070E080E490E40F947A -:106500005865DC01CB018E879F87A88BB98B8C8166 -:10651000882F90E0092E000CAA0BBB0BBC01CD010B -:106520000F946A5EDC01CB019C01AD0160E070E07C -:1065300080E490E40F945865DC01CB018A8B9B8B3F -:10654000AC8BBD8B8B81082F10E08C81A82EB12CD9 -:106550008B81282F30E08C81482F50E0C901880FB3 -:10656000991F820F931F880F991F840F951F880F03 -:10657000991F880F991F8C5A934FFC01C080D180BE -:10658000E280F3802E853F85488959896E857F8515 -:10659000888999890F94C95EDC01CB013C014D01CA -:1065A0002A893B894C895D896A897B898C899D8987 -:1065B0000F94C95EDC01CB019C01AD01C401B301A4 -:1065C0000F945965DC01CB01BC01CD010F945768D4 -:1065D000DC01CB019C01AD01BC01CD010F945965DB -:1065E000DC01CB019C01AD01C701B6010F945965D7 -:1065F000DC01CB019C01AD01C801880F991F800F00 -:10660000911F880F991F8A0D9B1D880F991F880F56 -:10661000991F8C5A934FFC0120833183428353830B -:106620008B81282F30E08C81482F50E0C901880FE2 -:10663000991F820F931F880F991F840F951F880F32 -:10664000991F880F991F8C5A934FFC01808191816B -:10665000A281B3819C01AD016C818B810E9477A0E6 -:106660008C818F5F8C8334CF8B818F5F8B832BCF1B -:106670001D828D81863008F086C18D81082F10E043 -:106680008D81E82EF12C8D81282F30E08D81482FCF -:1066900050E0C901880F991F820F931F880F991F1F -:1066A000840F951F880F991F880F991F8C5A934F3D -:1066B000FC0180819181A281B38127EE3BEF4FE104 -:1066C00051E4BC01CD010F945965DC01CB019C0163 -:1066D000AD01C801880F991F800F911F880F991F66 -:1066E0008E0D9F1D880F991F880F991F8C5A934FED -:1066F000FC0120833183428353838D81E82EF12C6A -:106700008D81282F30E081E09D81953008F080E078 -:10671000882F90E0820F931F892B19F001E010E081 -:1067200002C00FEF1FEF8D81482F50E08D81282F81 -:1067300030E081E09D81953008F080E0882F90E086 -:10674000820F931F892B19F021E030E002C02FEF58 -:106750003FEFCA01880F991F840F951F880F991F5B -:10676000820F931F880F991F880F991F8C5A934F80 -:10677000FC0180819181A281B38127EE3BEF4FE143 -:1067800051E4BC01CD010F945965DC01CB019C01A2 -:10679000AD01C701880F991F8E0D9F1D880F991F8E -:1067A000800F911F880F991F880F991F8C5A934F44 -:1067B000FC0120833183428353838D81282F30E075 -:1067C0008D81482F50E0C901880F991F820F931FB8 -:1067D000880F991F840F951F880F991F880F991F85 -:1067E0008C5A934FFC0180819181A281B3819C01DD -:1067F000AD016D818D810E9477A08D81482F50E081 -:106800008D81282F30E081E09D81953008F080E077 -:10681000882F90E0820F931F892B19F021E030E040 -:1068200002C02FEF3FEFCA01880F991F840F951FF9 -:10683000880F991F820F931F880F991F880F991F28 -:106840008C5A934FFC0180819181A281B3812D816B -:10685000422F50E021E03D81353008F020E0222F2A -:1068600030E0240F351F232B11F061E001C06FEFE2 -:106870009C01AD018D810E9477A08D818F5F8D83FA -:10688000F8CE82E08E838E81843008F07CC082E076 -:106890008F838F81843008F072C083E40E9463ABE1 -:1068A000882349F02091391A30913A1A40913B1AC5 -:1068B00050913C1A04C02AE037ED4FE151E48E813B -:1068C000082F10E08F81E82EF12C8E81682F70E068 -:1068D0008F81E82FF0E0CB01880F991F860F971F5B -:1068E000880F991F8E0F9F1F880F991F880F991F60 -:1068F0008C5A934FFC0180819181A281B381BC01AC -:10690000CD010F945965DC01CB019C01AD01C8019B -:10691000880F991F800F911F880F991F8E0D9F1D43 -:10692000880F991F880F991F8C5A934FFC01208361 -:106930003183428353838E81282F30E08F81482F0B -:1069400050E0C901880F991F820F931F880F991F6C -:10695000840F951F880F991F880F991F8C5A934F8A -:10696000FC0180819181A281B3819C01AD016F8185 -:106970008E810E9477A08F818F5F8F838ACF8E81D7 -:106980008F5F8E8380CF8AE40E9463AB882309F4F3 -:106990007AC08091470E9091480E892B41F00F9458 -:1069A000603080E00E9408EE0F94583007C00F94CA -:1069B000603081E00E9408EE0F9458301AAA1BAA9A -:1069C0001CAA1DAA64E371E081E391E00E94FDAE80 -:1069D0008C0160E070E083E090E00E9402AF9801DB -:1069E000281B390BC901092E000CAA0BBB0BBC01DB -:1069F000CD010F946A5EDC01CB0120E030E040E085 -:106A00005FE3BC01CD010F94C95EDC01CB018EA711 -:106A10009FA7A8ABB9AB6BE371E087E391E00E945D -:106A2000FDAE8C0160E070E083E090E00E9402AF78 -:106A3000F801E81BF90BCF01092E000CAA0BBB0BC8 -:106A4000BC01CD010F946A5EDC01CB0120E030E097 -:106A500040E05FE3BC01CD010F94C95EDC01CB01D6 -:106A60008AA79BA7ACA7BDA7AE014E5C5F4F9E0156 -:106A7000225D3F4FCE018A96B9010E943F7E0E945F -:106A80000C7F81E0898380E50E9463AB882309F451 -:106A900033C280912D1A90912E1A992384F08091FF -:106AA0002D1A90912E1A029754F480916D148F3FF5 -:106AB00031F410926D148EE592E30F94664D80913F -:106AC0002D1A90912E1A092E000CAA0BBB0B40E038 -:106AD00050E026E030E0841B950B2817390708F4B6 -:106AE0000BC2FC018827E155FF4F8F4F0D94506575 -:106AF0000F94B74B80E592E30F94664DFDC183E49C -:106B00000E9463AB982F81E08927882331F00F948E -:106B1000AE4B8FE292E30F94664D8091450E9091BB -:106B2000460E029724F18091331A9091341AA09165 -:106B3000351AB091361A2EE132E3AC01BD01C9011C -:106B40000F94B24D8CE20E94266280912F1A909190 -:106B5000301AA091311AB091321A42E050E0BC01D3 -:106B6000CD010E943C6389E192E30F94664D85E577 -:106B70000E9463AB082F85E40E9463ABF82E84E586 -:106B80000E9463AB182F8091C1149091C214A09100 -:106B9000C314B091C41420912F1A3091301A40912F -:106BA000311A5091321ABC01CD010F945965DC01A4 -:106BB000CB018EA39FA3A8A7B9A78091BD149091E4 -:106BC000BE14A091BF14B091C0142091331A30911B -:106BD000341A4091351A5091361ABC01CD010F94E8 -:106BE0005965DC01CB018AA39BA3ACA3BDA3BE0165 -:106BF0006A5D7F4FCE0182962F2D412F0F94033473 -:106C00000E940C7F81E0898377C18AEE91E30F9423 -:106C1000664D43C280912C1A882309F4EDC08091FF -:106C2000371A9091381A84976CF08091391A9091A4 -:106C30003A1AA0913B1AB0913C1ABC01CD010F94B5 -:106C40005A4B59C18091371A9091381A9C012150A2 -:106C500031093093381A2093371A21E0892B09F42F -:106C600020E0222309F447C100E010E020E04FE2D9 -:106C70005AE163E37AE180E00F94E92BA22EB32E70 -:106C8000C42ED52EE62EF72E082F192F2A2D3B2D98 -:106C90004C2D5D2D6E2D7F2D802F912F2AAF3BAF78 -:106CA0004CAF5DAF6EAF7FAF8AAD88230CF05AC09A -:106CB00018868885863008F01EC119868985863039 -:106CC00008F04CC08885282F30E08985482F50E097 -:106CD000C901880F991F820F931F880F991F840F76 -:106CE000951F880F991F880F991F8C5A934FFC018D -:106CF00080819181A281B38111E09C01AD01BC0131 -:106D0000CD010F94A668882309F410E0112311F136 -:106D10008885682F70E08985E82FF0E02091391A86 -:106D200030913A1A40913B1A50913C1ACB01880F8E -:106D3000991F860F971F880F991F8E0F9F1F880F0F -:106D4000991F880F991F8C5A934FFC012083318320 -:106D50004283538389858F5F8987B0CF88858F5F12 -:106D60008887A7CF8AAD682F880F770B8BADE82F68 -:106D7000880FFF0B2091391A30913A1A40913B1A33 -:106D800050913C1ACB01880F991F860F971F880FCF -:106D9000991F8E0F9F1F880F991F880F991F8C5A5C -:106DA000934FFC0120833183428353838AAD282F84 -:106DB000880F330B8BAD482F880F550BC901880FF7 -:106DC000991F820F931F880F991F840F951F880F9B -:106DD000991F880F991F8C5A934FFC0180819181D4 -:106DE000A281B3812BAD622F2AAD722F9C01AD0120 -:106DF000872F0E9477A026CF0E942CABDC01CB010D -:106E00008E8B9F8BA88FB98F20E030E040E251E459 -:106E10006E897F89888D998D0F94C95EDC01CB01C5 -:106E2000BC01CD010F949B68DC01CB01BC01CD01FD -:106E30000F94C566DC01CB014E97019709F040C065 -:106E400026E636E646E450E46E897F89888D998D82 -:106E50000F945865DC01CB0120E030E048EC52E4AF -:106E6000BC01CD010F94C95EDC01CB018A8F9B8FE1 -:106E7000AC8FBD8F20E030E0A9016A8D7B8D8C8DB9 -:106E80009D8D0F94635E882379F08A8D9B8DAC8DE8 -:106E9000BD8D9C01AD0160E070E080E291E40F9453 -:106EA000F967DC01CB0103C080E090E0DC018EAB30 -:106EB0009FABA8AFB9AFCE01C6960E9492E81CC0A6 -:106EC0000E9423F419C08BEB91E30F94664DE5C04B -:106ED0008091391A90913A1AA0913B1AB0913C1ABC -:106EE00020912C1AAC01BD01822F0F94C33204C033 -:106EF0000F94783201C000008CE40E9463AB8823B9 -:106F000009F455C08091A70D9091A80D21E0892B1F -:106F100009F420E0222319F00E9428AB05C08091DB -:106F20006D14082E000C990B9093A60D8093A50D5F -:106F30000F94EB0E9F8F8E8F8E8D9F8D892B29F452 -:106F40008BE991E30F94664DA8C08091A50D9091B7 -:106F5000A60D992364F08E8D9F8D9C0121503109DF -:106F60008091A50D9091A60D2817390774F48E8D88 -:106F70009F8D9C012150310989E791E3B9010F945C -:106F8000C34D8AE00E94266288C08091A50D909131 -:106F9000A60D60E070E00F94F70E8091A50D909122 -:106FA000A60D80936D1482E791E30F94664D83E5FF -:106FB0000E9463AB882309F45CC08091A70D909177 -:106FC000A80D21E0892B09F420E0222319F00E946A -:106FD00028AB05C080916D14082E000C990B90937E -:106FE000A60D8093A50D8091A50D9091A60D0196FB -:106FF00019F40F94EA4D51C00F94EB0E99A388A396 -:1070000088A199A1892B29F482E591E30F94664D1B -:107010003BC08091A50D9091A60D992364F088A1A5 -:1070200099A19C01215031098091A50D9091A60D47 -:107030002817390774F488A199A19C0121503109BE -:1070400080E391E3B9010F94C34D8AE00E94266268 -:107050001BC08091A50D9091A60D0F94410F8091BA -:10706000A50D9091A60D80936D1489E291E30F9484 -:10707000664D84E50E9463AB882331F080912A1A23 -:1070800090912B1A0E9407AF8981882331F00F94C9 -:10709000FB398DE191E30F94A02ACB5BDF4F0FB654 -:1070A000F894DEBF0FBECDBFDF91CF911F910F913E -:1070B000FF90EF90DF90CF90BF90AF909F908F9018 -:1070C0007F906F9008958F929F92AF92BF92CF92D0 -:1070D000DF92EF92FF920F931F93CF93DF93EC0118 -:1070E0008B81811102C080E078C009891A892B89BF -:1070F0003C890417150726073707A8F36A017B01A7 -:10710000823029F4C886D986EA86FB860DC0C11470 -:10711000D104E104F10451F4188619861A861B86FD -:107120001C821D821E821F8281E057C08884998440 -:10713000AA84BB84E98DFA8D258530E0275F3F4F17 -:10714000B501A4014150510961097109022E04C021 -:1071500076956795579547950A94D2F7D701C6015A -:107160000197A109B10904C0B695A7959795879590 -:107170002A95D2F784179507A607B70720F0892824 -:107180008A288B2871F44D895E896F89788D4C83AC -:107190005D836E837F834C015D018E010C5F1F4F09 -:1071A00016C0841B950BA60BB70BF5CF4C815D81E8 -:1071B0006E817F819801898D9A8D0E944C7291E039 -:1071C000891A9108A108B108882309F48CCF811489 -:1071D0009104A104B10451F795CFDF91CF911F9194 -:1071E0000F91FF90EF90DF90CF90BF90AF909F9066 -:1071F0008F9008950F931F93CF93DF93FC0123810A -:10720000222311F080E044C08B01EC01FB0187894F -:10721000803139F18032B1F783E08B83F801428D00 -:10722000538D648D758D4D8B5E8B6F8B788F9E012A -:107230002F5E3F4FC8010E94CD72882319F31A8F29 -:10724000098F81E08983188619861A861B861C821D -:107250001D821E821F82188A1C861D861E861F861E -:1072600017C082E08B831D8A1E8A1F8A188EFB013D -:10727000808D918DA0E0B0E025E0880F991FAA1FB6 -:10728000BB1F2A95D1F7898B9A8BAB8BBC8BD7CF41 -:10729000DF91CF911F910F910895CF93DF93EC0170 -:1072A00041E0611101C040E06C857D858E859F8540 -:1072B0000E948171882341F0888920E2829FC00169 -:1072C00011248957914F02C080E090E0DF91CF9167 -:1072D0000895CF93DF93EB01FC012381211102C0BC -:1072E00080E028C02250223020F48FE28883198267 -:1072F00020C060E00E944DB9009791F3FC0190E03E -:1073000080E02EE23081303269F0883029F4DE01ED -:10731000A90FB11D2C939F5FDE01A90FB11D308114 -:107320003C939F5F8F5F31968B3061F7C90FD11D02 -:10733000188281E0DF91CF9108953F924F925F9242 -:107340006F927F928F929F92AF92BF92CF92DF9275 -:10735000EF92FF920F931F93CF93DF93CDB7DEB7DA -:107360002C970FB6F894DEBF0FBECDBF5C01DC01D9 -:1073700059968D909C905A97F40181859285A385AA -:10738000B4859C01AD012F5F3F4F4F4F5F4F298761 -:107390003A874B875C87D5011496CD90DD90ED90B0 -:1073A000FC901797C114D104E104F10439F0BFEF48 -:1073B000CB1ADB0AEB0AFB0A312C07C0F401C080B0 -:1073C000D180E280F38033243394260137011D827B -:1073D0001E821F821886F40181859285A385B4855B -:1073E0002D813E814F815885281739074A075B0751 -:1073F00008F064C089859A85AB85BC858C159D0590 -:10740000AE05BF0550F482E0C82ED12CE12CF12C42 -:1074100092E0492E512C612C712C9E012F5F3F4F21 -:10742000B701A601C4010E944C72882309F446C02A -:1074300089819A81AB81BC81892B8A2B8B2B41F06E -:10744000260137019FEF491A590A690A790A05C0CE -:10745000C414D504E604F70491F02D813E814F81D8 -:1074600058852F5F3F4F4F4F5F4F2D833E834F8394 -:1074700058873FEFC31AD30AE30AF30AACCF0FEFE2 -:107480001FEF2FEF3FE0B301A201C4010E94BA71C8 -:10749000F82E882399F0D50114964D915D916D9148 -:1074A0007C911797411551056105710549F09301CC -:1074B0008201C4010E94BA71811102C0F12C29C05D -:1074C000D50114964D925D926D927C921797332060 -:1074D00051F0D301C2010196A11DB11DF4018083B9 -:1074E0009183A283B383F50185899689A789B08D9D -:1074F000892B8A2B8B2B69F4D50155964D925D9281 -:107500006D927C92589711968C9111978068119684 -:107510008C938F2D2C960FB6F894DEBF0FBECDBF87 -:10752000DF91CF911F910F91FF90EF90DF90CF905F -:10753000BF90AF909F908F907F906F905F904F9093 -:107540003F90089540E050E0BA010C9463B861E0C8 -:10755000FC0180810E9496FB8FEF0C949A6AEF9257 -:10756000FF921F93CF93DF9300D01F92CDB7DEB76A -:107570007C01162F29833A834B835C83FC01828133 -:107580000E94A66A60E0F70180810E9496FB0F943A -:107590002938812F80640E949A6A8C810E949A6A9D -:1075A0008B810E949A6A8A810E949A6A89810E94CC -:1075B0009A6A112311F087E801C085E90E949A6A4E -:1075C0001C3011F40E949F6A10E00E949F6AF7012C -:1075D000838387FF04C01F3F11F01F5FF6CF0F901A -:1075E0000F900F900F90DF91CF911F91FF90EF9030 -:1075F00008950F931F93CF93DF93EC0189018C8142 -:10760000833039F089E0440F551F661F771F8A9534 -:10761000D1F79A01AB0168E1CE010E94AFBA8111A6 -:1076200028C08EEF8EBDF801C8019E5F0DB407FE25 -:10763000FDCF20812EBD0DB407FEFDCF21812EBDD3 -:1076400032968E179F0791F70DB407FEFDCF8FEF8F -:107650000E949A6A8FEF0E949A6A0E949F6A8B83A7 -:107660008F71853041F083E18983CE010E94A7BAF2 -:1076700019C086E016C00F942938882379F020E0DD -:1076800030E0A9016DE0CE010E94AFBA811108C0BF -:107690000E949F6A811104C011E005C087E101C00A -:1076A00086E1898310E0CE010E94A7BA812FDF9185 -:1076B000CF911F910F910895CF9380918F108823C0 -:1076C000B9F14091871050918810609189107091A4 -:1076D0008A1027E83EE080919010909191100E94CE -:1076E000F9BAC82F811102C0C0E023C040918B10AD -:1076F00050918C1060918D1070918E104115510534 -:107700006105710591F027E83EE08091901090911D -:1077100091100E94F9BA882339F310928B101092BD -:107720008C1010928D1010928E1010928F1001C03C -:10773000C1E08C2FCF910895CF93DF93EC018B8123 -:10774000882339F1898187FF20C061E0CE010E9442 -:107750004DB9FC01892BE9F08081853ED1F08B8108 -:10776000823040F489899A89AB89BC89848F958F4E -:10777000A68FB78F8D899E89AF89B88D938F828FA1 -:10778000B58BA48B89818F778983DF91CF910C94FE -:107790005CBB81E0888380E0DF91CF910895CF9337 -:1077A000DF93EC010E949CBB1B82DF91CF91089577 -:1077B000FC01238121110C94CFBB0895CF92DF925D -:1077C000EF92FF920F931F93CF93DF93EC01890108 -:1077D0008C81833039F089E0440F551F661F771F75 -:1077E0008A95D1F79A01AB0161E1CE010E94AFBA4F -:1077F000882339F084E08983CE010E94A7BA80E013 -:107800003EC00E9423FD6B017C012CE2C20E21E0F0 -:10781000D21EE11CF11C0E949F6A8B838F3F61F492 -:107820000E9423FDDC01CB018C199D09AE09BF0923 -:10783000B7FDF1CF81E11DC08E3FD1F48FEF8EBD3A -:10784000F801D801A150BE4F0DB407FEFDCF9EB583 -:1078500091938EBDEA17FB07B9F70DB407FEFDCF74 -:107860008EB58C930E949F6A0E949F6A11E003C0AC -:107870008FE0898310E0CE010E94A7BA812FDF91AB -:10788000CF911F910F91FF90EF90DF90CF900895CF -:107890002F923F924F925F926F927F928F929F9220 -:1078A000AF92BF92CF92DF92EF92FF920F931F930E -:1078B000CF93DF9300D01F92CDB7DEB79C838B832D -:1078C0004B015A01DC0113968C91811103C08FEF9B -:1078D0009FEFE3C0EB81FC81818180FFF8CFEB81DA -:1078E000FC8181899289A389B4894085518562850B -:1078F0007385841B950BA60BB70BA50160E070E0A8 -:1079000084179507A607B70708F45C0175018B81FA -:107910009C8104969A838983612C42E0742EE11441 -:10792000F10409F48BC0AB81BC8118964D915D9137 -:107930006D917C911B976A01B1E0DB22EB81FC81A8 -:107940002381818D928D1A012B0139E05694479441 -:10795000379427943A95D1F7223061F4FC01828D57 -:10796000938DA48DB58DBC01CD01620D731D841D59 -:10797000951D4AC0DC0114961C9111501221C114AE -:10798000D10401F511111EC0452B462B472B59F48C -:10799000EB81FC8185899689A789B08D8483958345 -:1079A000A683B7830FC0AB81BC8114964D915D91C6 -:1079B0006D917C91179729813A810E944C7288239E -:1079C00009F485CFEB81FC81218D328D84819581F5 -:1079D000A681B7810297A109B109F901058404C004 -:1079E000880F991FAA1FBB1F0A94D2F74685578597 -:1079F00060897189840F951FA61FB71FBC01CD0137 -:107A0000610F711D811D911D93012C193D09870185 -:107A10002E153F0508F489010115F2E01F0779F5DD -:107A200020918710309188104091891050918A10D0 -:107A3000621773078407950719F421C0C5012DC08B -:107A40009401AB01BC0180919010909191100E9423 -:107A5000DEBB882309F43BCF800E911EEB81FC81B5 -:107A600080859185A285B385800F911FA11DB11DD1 -:107A700080879187A287B387E01AF10A50CF40E050 -:107A80000E948171882309F422CFB6016957714F92 -:107A9000A801C4010F94D869DFCF0F900F900F9009 -:107AA0000F90DF91CF911F910F91FF90EF90DF909A -:107AB000CF90BF90AF909F908F907F906F905F908E -:107AC0004F903F902F900895DF92EF92FF920F9387 -:107AD0001F93CF93DF938C01EB017A018DE0D82EB9 -:107AE00040E250E0BE01C8010E9448BC80329105CE -:107AF00039F021E0892B09F420E0822F819544C0E0 -:107B000028812223C9F1253E11F02E3231F4E114EF -:107B1000F10431F3F7011082E3CFE114F10441F1F4 -:107B20003B853F733F3021F54A8D5B8D452B01F539 -:107B30002F713FEF320F3530D8F430E0215031094A -:107B4000D29EC001D39E900D1124D701A80FB91F5A -:107B5000FE0120E0AD01253088F431813D932F5F97 -:107B600032962D30C1F7288126FF02C0FA01158612 -:107B70002B8523FDB5CF08C080E006C02B3010F464 -:107B80003481ECCF3681EACFDF91CF911F910F91F5 -:107B9000FF90EF90DF9008954F925F926F927F92E7 -:107BA0009F92AF92BF92CF92DF92EF92FF920F938C -:107BB0001F93CF93DF931F92CDB7DEB78C017B016C -:107BC0005A01C22EDB0159968D919C915A97F8016A -:107BD000928F818FCB010E94A2BA912CF7018085F0 -:107BE0009185A285B38541895289638974898417F7 -:107BF0009507A607B70708F060C025E0B695A795DA -:107C0000979587952A95D1F7F82FFF70DF2ED7012A -:107C100013968C91823008F460C041E050E0BE01C0 -:107C20006F5F7F4FC7010E9448BC019719F489819B -:107C300090E002C08FEF9FEF019609F44EC0F7016C -:107C400080859185A285B3854F96A11DB11D808742 -:107C50009187A287B387F0E2DF9EB00111246957B4 -:107C6000714F61157105C9F1DB018C91882319F001 -:107C7000853EC1F46CC191100EC080918710909127 -:107C80008810A0918910B0918A10F8018487958797 -:107C9000A687B787D08ADB018C91882361F099246D -:107CA00093949CCF4BE050E0C5010F94CB69892B96 -:107CB00009F094CF14C0992493948C2D827482344B -:107CC00061F4992009F48BC0F801D08861E0C80103 -:107CD0000E944DB9009709F00DC180E03BC1C7FC7F -:107CE000FCCFF0E2DF9EA00111249A012957314F09 -:107CF000D9011B968C91817121F08C2D827109F034 -:107D00006AC08091871090918810A0918910B091DD -:107D10008A10F80184879587A687B787D08ACA0119 -:107D20008957914F7C01DC0154964D915C91559798 -:107D300060E070E0DA0199278827858B968BA78B06 -:107D4000B08FF701428D538D60E070E0482B592BC6 -:107D50006A2B7B2BD80155964D935D936D937C9345 -:107D60005897F9018385887161F4F701848D958DA9 -:107D7000A68DB78DF801818B928BA38BB48B81E09C -:107D800010C0803141F598012F5E3F4FD8015996C0 -:107D90008D919C915A970E94CD728823E1F084E0E6 -:107DA000F80183838C2D8F70D80111968C931197D5 -:107DB000F801148215821682178218961D921D9260 -:107DC0001D921C921B97C4FEB5C0C8010F944D387C -:107DD0008111B0C082CFD80113961C927ECFD701FB -:107DE00013968C911397823009F477CF51968D9129 -:107DF0009D910D90BC91A02D803E9F4FAF41B1054C -:107E000008F06BCFC7010E949DB9882309F465CFA4 -:107E10000E945CBB882309F460CFD70159962D914D -:107E20003C915A9714968D919D910D90BC91A02DE7 -:107E30000297A109B109F901058404C0880F991FAF -:107E4000AA1FBB1F0A94D2F74684578460887188A2 -:107E5000480E591E6A1E7B1E81E080938F1040924F -:107E60008710509288106092891070928A1080E07A -:107E700092E0E7E8FEE0DF019C011D9221503040D6 -:107E8000E1F7DD24D394D7015996ED91FC915A97EF -:107E90008481D81698F427E83EE0B301A2014D0D85 -:107EA000511D611D711D80919010909191100E9443 -:107EB000F9BA882309F411CFD394E5CF80E092E09A -:107EC000A0E0B0E0058404C0880F991FAA1FBB1F63 -:107ED0000A94D2F7F7014189528963897489840F22 -:107EE000951FA61FB71F818B928BA38BB48B87E83E -:107EF0009EE0D12C20E2DC011D922A95E9F72BE0CF -:107F0000F501DC0101900D922A95E1F721E238E2BA -:107F1000FC01318B208B40E058E057874687338B3C -:107F2000228B318F208F578B468B0E945CBB811137 -:107F3000D8CED3CEC5FE09C0F801418952896389E4 -:107F40007489C8010E9463B805C081E003C0911024 -:107F5000A6CE93CE0F90DF91CF911F910F91FF90FE -:107F6000EF90DF90CF90BF90AF909F907F906F90F9 -:107F70005F904F9008952F923F924F925F926F9231 -:107F80007F928F929F92AF92BF92CF92DF92EF92A9 -:107F9000FF920F931F93CF93DF93CDB7DEB7C254F9 -:107FA000D1090FB6F894DEBF0FBECDBF4C015B0107 -:107FB0006A01322E19821C821C8E1F8E611571057A -:107FC00011F410E0A6C0FC0183818111FACFFA01FF -:107FD00080818F3209F09BC0F5018381825082300D -:107FE00010F485010CC0F501618D728DCE014C96A7 -:107FF0000E94FAB8882329F38E01045E1F4FC60140 -:108000006C010196F60120812F32D1F3CE01019649 -:108010007C013C012E019CE1490E511C2396EFAEE0 -:1080200023972F2C9BE09150E7E3F0E0EC0FFD1F2E -:10803000E90FF11D80E280839111F5CF960147E0B1 -:10804000D9018D91882369F18F3259F18E3239F43B -:108050004A3009F4B6CF98E04AE09D01F1CFEBEF4A -:10806000F2E32491222321F031968213FACFA9CF93 -:10807000491708F4A6CF813208F4A3CF8F3709F44B -:10808000A0CF21E0290FE7E3F0E0EC0FFD1FE90F9F -:10809000F11D9FE9980F9A3108F480528083922F46 -:1080A000DCCF8FA9803209F48CCF6901F90180817E -:1080B0002F5F3F4F8F32C9F38823F9F021E0AE01E3 -:1080C000495C5F4FB801C7010E94CCBD882309F409 -:1080D00078CF0A151B0519F0C8010E94CFBB6E149A -:1080E0007F0441F023969FAD2397822D8701E92ECF -:1080F000F82E98CF942D852DF9CF232DAE01495C14 -:108100005F4FB801C4010E94CCBD182F02C08B0183 -:108110007DCFCE014C960E94D8BBCE0101960E9425 -:10812000D8BB812FCE5BDF4F0FB6F894DEBF0FBEFA -:10813000CDBFDF91CF911F910F91FF90EF90DF9016 -:10814000CF90BF90AF909F908F907F906F905F90F7 -:108150004F903F902F90089520911202309113027A -:108160002F503109821793070CF49C013093050AB4 -:108170002093040A80E00C94CE9D0F931F93CF931D -:10818000DF93CDB7DEB764970FB6F894DEBF0FBEAE -:10819000CDBFE82FF0E0E650F24CE4918E2F90E056 -:1081A000FC013197E231F10508F049C28827EA5411 -:1081B000FF4F8F4F0D94506584B5807C09F43FC20A -:1081C00087B51F928F938BEF94E39F938F938E01CC -:1081D0000F5F1F4F1F930F930F94FB5D0F900F9036 -:1081E0000F900F900F900F90F80181918F018111E6 -:1081F00002C081E025C20E942662F6CF84B580735A -:1082000009F41DC288B51F928F9381EF94E39F9369 -:108210008F938E010F5F1F4F1F930F930F94FB5D82 -:108220000F900F900F900F900F900F90F801819189 -:108230008F018823F1F20E942662F8CF809180009E -:10824000807C09F4FCC180918800909189009F9303 -:108250008F9387EE94E39F938F938E010F5F1F4F51 -:108260001F930F930F94FB5D0F900F900F900F9043 -:108270000F900F90F80181918F01882309F4B9CFF5 -:108280000E942662F7CF80918000807309F4D7C1E5 -:1082900080918A0090918B009F938F938DED94E352 -:1082A0009F938F938E010F5F1F4F1F930F930F9418 -:1082B000FB5D0F900F900F900F900F900F90F801B3 -:1082C00081918F01882309F494CF0E942662F7CF11 -:1082D000809180008C7009F4B2C180918C009091E3 -:1082E0008D009F938F9383ED94E39F938F938E01E3 -:1082F0000F5F1F4F1F930F930F94FB5D0F900F9015 -:108300000F900F900F900F90F80181918F018823AB -:1083100009F46FCF0E942662F7CF8091B000807C75 -:1083200009F48DC18091B3001F928F9389EC94E37F -:108330009F938F938E010F5F1F4F1F930F930F9487 -:10834000FB5D0F900F900F900F900F900F90F80122 -:1083500081918F01882309F44CCF0E942662F7CFC8 -:108360008091B000807309F46AC18091B4001F92BB -:108370008F938FEB94E39F938F938E010F5F1F4F2B -:108380001F930F930F94FB5D0F900F900F900F9022 -:108390000F900F90F80181918F01882309F429CF64 -:1083A0000E942662F7CF80919000807C09F447C13B -:1083B00080919800909199009F938F9385EB94E31F -:1083C0009F938F938E010F5F1F4F1F930F930F94F7 -:1083D000FB5D0F900F900F900F900F900F90F80192 -:1083E00081918F01882309F404CF0E942662F7CF80 -:1083F00080919000807309F422C180919A0090913D -:108400009B009F938F938BEA94E39F938F938E01AE -:108410000F5F1F4F1F930F930F94FB5D0F900F90F3 -:108420000F900F900F900F90F80181918F0188238A -:1084300009F4DFCE0E942662F7CF809190008C7005 -:1084400009F4FDC080919C0090919D009F938F93B3 -:1084500081EA94E39F938F938E010F5F1F4F1F93C9 -:108460000F930F94FB5D0F900F900F900F900F9054 -:108470000F90F80181918F01882309F4BACE0E94F0 -:108480002662F7CF8091A000807C09F4D8C080914B -:10849000A8009091A9009F938F9387E994E39F93FD -:1084A0008F938E010F5F1F4F1F930F930F94FB5DF0 -:1084B0000F900F900F900F900F900F90F8018191F7 -:1084C0008F01882309F495CE0E942662F7CF809110 -:1084D000A000807309F4B3C08091AA009091AB0012 -:1084E0009F938F938DE894E39F938F938E010F5FFB -:1084F0001F4F1F930F930F94FB5D0F900F900F90E2 -:108500000F900F900F90F80181918F01882309F44B -:1085100070CE0E942662F7CF8091A0008C7009F483 -:108520008EC08091AC009091AD009F938F9383E8B3 -:1085300094E39F938F938E010F5F1F4F1F930F93B1 -:108540000F94FB5D0F900F900F900F900F900F9076 -:10855000F80181918F01882309F44BCE0E94266295 -:10856000F7CF80912001807C09F469C080912801B7 -:10857000909129019F938F9389E794E39F938F9321 -:108580008E010F5F1F4F1F930F930F94FB5D0F9092 -:108590000F900F900F900F900F90F80181918F0125 -:1085A000882309F426CE0E942662F7CF809120010D -:1085B000807309F444C080912A0190912B019F930C -:1085C0008F938FE694E39F938F938E010F5F1F4FDE -:1085D0001F930F930F94FB5D0F900F900F900F90D0 -:1085E0000F900F90F80181918F01882309F401CE3B -:1085F0000E942662F7CF809120018C7001F180915A -:108600002C0190912D019F938F9385E694E39F9386 -:108610008F938E010F5F1F4F1F930F930F94FB5D7E -:108620000F900F900F900F900F900F90F801819185 -:108630008F01882309F4DDCD0E942662F7CF80E008 -:1086400064960FB6F894DEBF0FBECDBFDF91CF9119 -:108650001F910F910895082E000C990BFC01E2590F -:10866000F24CE491F0E0EE0FFF1FE05EF24CA591BA -:10867000B4912C91FC01EC54F24CE491E22381E0A2 -:1086800009F480E00895811103C08DE394E302C0F2 -:1086900089E494E30F94664D4091740D5091750DEB -:1086A0006091760D7091770D82E694E30F94B24D50 -:1086B0004091780D5091790D60917A0D70917B0DFC -:1086C0008FE594E30F94B24D60917C0D70917D0D18 -:1086D000072E000C880B990B0F946A5EAB01BC014E -:1086E0008CE594E30F94B24D60917E0D70917F0DF7 -:1086F000072E000C880B990B0F946A5EAB01BC012E -:1087000089E594E30F94B24D4091800D5091810D15 -:108710006091820D7091830D86E594E30F94B24DC4 -:108720004091840D5091850D6091860D7091870D5B -:1087300083E594E30F94B24D4091880D5091890DDB -:1087400060918A0D70918B0D80E594E30F94B24D8A -:108750008AE00C942662CF92DF92EF92FF9283E53B -:108760000E94ACAB882339F10E942CAB6B017C01D9 -:1087700020E030E0A9010F94635E87FD11C020E086 -:1087800030E04AEF53E4C701B6010F94B9671816F9 -:1087900054F4C12CD12C9AEFE92E93E4F92E03C0A6 -:1087A000C12CD12C7601C092740DD092750DE0923F -:1087B000760DF092770D85E40E94ACAB882339F1F9 -:1087C0000E942CAB6B017C0120E030E0A9010F94EA -:1087D000635E87FD11C020E030E04AEF53E4C7013B -:1087E000B6010F94B967181654F4C12CD12C8AEF36 -:1087F000E82E83E4F82E03C0C12CD12C7601C09260 -:10880000780DD092790DE0927A0DF0927B0D80E593 -:108810000E94ACAB8823A1F00E942CAB0F94C566DC -:108820006A3071053CF0693185E178072CF068E128 -:1088300075E102C06AE070E070937D0D60937C0D7D -:1088400082E50E94ACAB8823A1F00E942CAB0F9470 -:10885000C5666A3071053CF0693185E178072CF016 -:1088600068E175E102C06AE070E070937F0D60938B -:108870007E0D88E50E94ACAB882351F00E942CABA2 -:108880006093800D7093810D8093820D9093830D82 -:1088900089E50E94ACAB882351F00E942CAB609319 -:1088A000840D7093850D8093860D9093870D8AE5D6 -:1088B0000E94ACAB882351F00E942CAB6093880DD2 -:1088C0007093890D80938A0D90938B0D8091231A5C -:1088D00084FD12C08091241A87FD0EC08091251A54 -:1088E000867851F48091261A837031F4FF90EF90CE -:1088F000DF90CF900C9443C3FF90EF90DF90CF9028 -:1089000008958091A70D9091A80D009731F04AE04D -:1089100050E060E070E00D94875C60E070E0CB01B7 -:1089200008958F929F92AF92BF92CF92DF92EF9273 -:10893000FF928091231A81FD09C08091241A81FD44 -:1089400005C08091251A8C7009F48AC082E40E94C7 -:1089500063AB882351F00E9481C46093340D7093FF -:10896000350D8093360D9093370D83E50E9463ABF0 -:10897000882351F00E942CAB6093640D7093650DB9 -:108980008093660D9093670D84E50E9463AB882306 -:1089900051F00E942CAB6093680D7093690D809329 -:1089A0006A0D90936B0D8AE40E9463AB882309F4EF -:1089B00057C00E942CAB6B017C012AE037ED43E2EB -:1089C0005CE30F94B96787FD3DC02AE939E949E9BD -:1089D0005EE3C701B6010F94635E18169CF1C09266 -:1089E0007214D0927314E0927414F0927514609122 -:1089F000300D7091310D8091320D9091330D0F94A7 -:108A0000685E4B015C0123EF34E045E35FE3C7019F -:108A1000B6010F94C95E9B01AC01C501B4010F946E -:108A2000C95E29E732E84AE550E40F94C95E0F9425 -:108A3000576860936E1470936F14809370149093C2 -:108A400071140EC00F94E24D8EE194E3FF90EF900D -:108A5000DF90CF90BF90AF909F908F900D94664D18 -:108A6000FF90EF90DF90CF90BF90AF909F908F904E -:108A700008952F923F924F925F926F927F928F92C2 -:108A80009F92AF92BF92CF92DF92EF92FF920F939D -:108A90001F93CF93DF93CDB7DEB7EF970FB6F89460 -:108AA000DEBF0FBECDBF2DB73EB73DA72CA741E01F -:108AB00061E081E00F949E3F811135C461E086E55D -:108AC0000E94E4D38D8B853018F086EF93E379C054 -:108AD0003D89332321F086ED93E30F94664D6AE0E0 -:108AE00080E50E94E4D3182F8CEF810F8F3218F0AD -:108AF00082EB93E366C060E085E40E946AE1811145 -:108B000003C082E08FA302C091E09FA36091760E24 -:108B10007091770E8091780E9091790E6D837E839F -:108B20008F839887C0907A0ED0907B0EE0907C0E59 -:108B3000F0907D0EC986DA86EB86FC862091BD1406 -:108B40003091BE144091BF145091C0140F945965D8 -:108B5000AB01BC0188E50E94A9A16D877E878F8744 -:108B6000988B29853A854B855C856091C1147091FD -:108B7000C2148091C3149091C4140F945965AB0131 -:108B8000BC0189E50E94A9A1698B7A8B8B8B9C8B98 -:108B9000BE016F5E7F4FCE010D960E94EAAD81113E -:108BA00003C08AE993E30DC08CE40E9463AB082FF5 -:108BB000882381F00E9446E18A8F803128F087E681 -:108BC00093E30F94664DAFC3AA8DA13021F4B2E0B8 -:108BD000BA8F01C01A8E60E083E50E946AE18AAB19 -:108BE000882321F0011102C0E7E0EA8FFD89F3300C -:108BF00020F08DE493E30F94664D2091451E29AF3C -:108C000080E00F948F4B0E94637D812F90E09CAB9E -:108C10008BABADB7BEB7E4E01E9FA019B10911241C -:108C20000FB6F894BEBF0FBEADBF2DB73EB72F5FD6 -:108C30003F4F3BA72AA701E02D894FA1BE016F5EE0 -:108C40007F4FCE010D960F9450159B01AC010F94F0 -:108C5000A6688111D0C20E9423FD611571058105AE -:108C6000910511F00F94F45933EF3B8F8FE48C8F03 -:108C700093EC9D8F27EC222EA3EFAE8FBFE4BF8F26 -:108C8000E3ECE8A3F7E4F9A31EA221E02E8B412C2C -:108C9000512C32014AA25BA26CA27DA23A8D832F95 -:108CA00090E0DC011197BFAFAEAFFEA1EF2FF0E077 -:108CB000F9A7E8A72BA93CA9E217F3070CF0B3C268 -:108CC0003A8D332309F46CC10F94A6592AE030E0A1 -:108CD00040E050E00F94DB640F946A5E20E030E0E7 -:108CE00040EA50E40F94B96718161CF001E010E058 -:108CF00002C00FEF1FEF0F94A65928E631E040E0C5 -:108D000050E00F94DB640F946A5E4B015C010F949A -:108D1000A65921E230E040E050E00F94DB646B5F45 -:108D20007F4F8F4F9F4F0F946A5E6E8B7F8B888F24 -:108D3000998F8D898430E1F44E895F89688D798DB2 -:108D40008FE393E30F94B24DB501A40187E393E35E -:108D50000F94B24D81E393E30F94664D01301105FA -:108D600019F483E40E9426628DE293E30F94664D2A -:108D7000312CC801110FAA0BBB0B8DAB9EABAFAB57 -:108D8000B8AF832D90E0AEADBFAD8A179B070CF056 -:108D900007C1BAA9BB2379F06DA97EA98FA998ADA7 -:108DA0000F946A5E9B01AC010F94596520E030E09E -:108DB00040E952E41AC00F94A65924E130E040E0A3 -:108DC00050E00F94DB64675E7F4F8F4F9F4F0F948F -:108DD0006A5E6B017C016DA97EA98FA998AD0F9485 -:108DE0006A5E9B01AC01C701B6010F94C95E9B018D -:108DF000AC01C501B4010F9459654B015C0120E041 -:108E000030E044EB53E40F94B96718164CF420E0BB -:108E100030E044EB53E4C501B4010F945865EDCF45 -:108E200020E030E0A901C501B4010F94635E87FF23 -:108E30000BC020E030E044EB53E4C501B4010F94D3 -:108E400059654B015C01ECCF2BED3FE049E450E468 -:108E5000C501B4010F94C95E20E030E044E353E45F -:108E60000F9453666B017C010F944E666EA77FA72B -:108E700088AB99AB2091BD143091BE144091BF14C2 -:108E80005091C0146D857E858F8598890F945865A3 -:108E90006AAF7BAF8CAF9DAF2EA53FA548A959A95E -:108EA0006E897F89888D998D0F94C95E9B01AC0175 -:108EB0006AAD7BAD8CAD9DAD0F9459656D837E839E -:108EC0008F839887C701B6010F9449686EA77FA763 -:108ED00088AB99AB2091C1143091C2144091C31456 -:108EE0005091C41469897A898B899C890F9458653B -:108EF0006B017C012EA53FA548A959A96E897F89E0 -:108F0000888D998D0F94C95E9B01AC01C701B60194 -:108F10000F94596569877A878B879C874BE351E06B -:108F200060E070E0CE0105960F94684644E351E09E -:108F300060E070E0CE0109960F946846ED89E43058 -:108F4000F9F44D815E816F81788581E293E30F941E -:108F5000B24D49855A856B857C858EE193E30F94EC -:108F6000B24D40917E0E50917F0E6091800E7091B7 -:108F7000810E8BE193E30F94B24D8AE00E9426624A -:108F800019821A821B821C82AE014F5F5F4FBE01A5 -:108F9000675F7F4FCE0105960E943F7E3394F1CEEE -:108FA00001E020E04FA1BE016F5E7F4FCE010D9624 -:108FB0000F9450156B017C01E8A5F9A5EE0FFF1F7A -:108FC000EE0FFF1F2AA53BA5E20FF31FC601D70135 -:108FD00080839183A283B3831E8A9601A701B60181 -:108FE000C7010F94A668811102C031E03E8B960143 -:108FF000A701B601C7010F94A668811114C110E042 -:10900000812C912C5401EAA5FBA584E0189FE00D6A -:10901000F11D11242081318142815381C501B401A8 -:109020000F9459654B015C011F5F9EA1911758F782 -:1090300008A519A50F5F1F4FB801012E000C880B62 -:10904000990B0F946A5E2B013C019B01AC01C50199 -:10905000B4010F9453666AA37BA38CA39DA32E8DAA -:109060003F8D48A159A1B601C7010F94635E87FFE8 -:1090700004C0CE8EDF8EE8A2F9A22B8D3C8D4D8DE3 -:10908000522DB601C7010F94B967181624F4CB8E80 -:10909000DC8EED8E2F2C312C812C912C5401EAA5E5 -:1090A000FBA5A4E03A9EE00DF11D11242AA13BA1ED -:1090B0004CA15DA160817181828193810F9458657B -:1090C0009B01AC010F94C95E9B01AC01C501B401C9 -:1090D0000F9459654B015C013394BEA1B315F8F6AA -:1090E000A30192010F9453660F9457682B013C0122 -:1090F0008D8982508E3708F07AC06AE070E0C8012E -:109100000E94B6626BA97CA986E193E30F94C34DDC -:1091100000E916E0F80181918F01882319F00E947F -:109120002662F8CF43E0B601C7010E94C662FD89FE -:10913000F23009F459C006E916E0D8018D918D018D -:10914000882319F00E942662F8CF44E06AA17BA12F -:109150008CA19DA10E94C6620EE916E0F8018191E2 -:109160008F01882319F00E942662F8CF46E0C301E0 -:10917000B2010E94C66207EA16E0D8018D918D0106 -:10918000882319F00E942662F8CF43E06E8D7F8D10 -:1091900088A199A10E94C6620EEA16E0F8018191A9 -:1091A0008F01882319F00E942662F8CF43E06B8D6F -:1091B0007C8D8D8D922D0E94C66205EB16E0D80144 -:1091C0008D918D01882319F00E942662F8CF2E8D93 -:1091D0003F8D48A159A16B8D7C8D8D8D922D0F9463 -:1091E000586543E00E94C6628AE00E942662BEA1E2 -:1091F000BF5FBEA35ACDE3EFEB8FFFE4FC8F23EC00 -:109200002D8F87EC282E33EF3E8F8FE48F8F93ECDA -:1092100098A3A7E4A9A31E8A412C512C32014AA28B -:109220005BA26CA27DA280E00F94AF14BE89BB2329 -:1092300009F46AC08BE093E30F94664DED89EE2349 -:1092400009F44DC00EEB16E0D8018D918D018823F5 -:1092500019F00E942662F8CF46E06AA17BA18CA19A -:109260009DA10E94C66205EC16E0F80181918F0174 -:10927000882319F00E942662F8CF43E06E8D7F8D1F -:1092800088A199A10E94C6620CEC16E0D8018D91CC -:109290008D01882319F00E942662F8CF43E06B8D80 -:1092A0007C8D8D8D922D0E94C66203ED16E0F80133 -:1092B00081918F01882319F00E942662F8CF2E8DAC -:1092C0003F8D48A159A16B8D7C8D8D8D922D0F9472 -:1092D000586543E00E94C6628AE00E9426620CED57 -:1092E00016E0D8018D918D01882319F00E94266225 -:1092F000F8CF46E0C301B2010E94C6628AE00E9434 -:1093000026628AE00E9426620E944A7D89AD0F94FF -:109310008F4B0E940C7FECA5FDA50FB6F894FEBF05 -:109320000FBEEDBF07C02CA53DA50FB6F8943EBFFC -:109330000FBE2DBF8CA59DA50FB6F8949EBF0FBE86 -:109340008DBFEF960FB6F894DEBF0FBECDBFDF9195 -:10935000CF911F910F91FF90EF90DF90CF90BF9032 -:10936000AF909F908F907F906F905F904F903F90C5 -:109370002F9008952F923F924F925F926F927F921B -:109380008F929F92AF92BF92CF92DF92EF92FF9215 -:109390000F931F93CF93DF93CDB7DEB7CC59D1098D -:1093A0000FB6F894DEBF0FBECDBF2DB63EB6CB567E -:1093B000DF4F19821882C559D04084E690E0C95623 -:1093C000DF4F99838883C759D04001E09E012B5617 -:1093D0003F4F44E050E0BE016F567F4FCE018956AB -:1093E0009F4F0E94EC5F9E012B563F4F42E050E0A2 -:1093F000BE0167567F4FCE0189569F4F0E94EC5F9A -:1094000043E050E0BE016F567F4F82E893E00F9437 -:10941000116A892BB1F0CC56DF4F8881C459D040F6 -:10942000882359F08FE3CF56DF4F8883C159D0404E -:10943000CE56DF4F1882C259D04081E08093B60DDE -:109440005BC5C357DF4F188219821A821B82CD5821 -:10945000D040CB56DF4F19821882C559D04001E069 -:109460009E012B563F4F41E050E0BE0164567F4FB6 -:10947000CE0189569F4F0E94EC5F4DB65EB680E1EB -:10948000E2EFF2E0DE01A358BF4F01900D928A9502 -:10949000E1F780E1E2E0F3E0DE01A359BF4F019084 -:1094A0000D928A95E1F780E1E2E1F3E09E012F5F02 -:1094B0003F4F3901D90101900D928A95E1F7C456C9 -:1094C000DF4F4881CC59D04050E04D5F5F4F440F93 -:1094D000551F440F551F6DB77EB7641B750B0FB634 -:1094E000F8947EBF0FBE6DBF8DB79EB701966C011D -:1094F0000091581411E001272C563F4FBC01CE01BA -:1095000089569F4F0E94EC5F0091581401279E01DD -:109510002B563F4F44E050E064E37DE0CE01895696 -:109520009F4F0E94EC5FC456DF4FE880CC59D0407B -:10953000F12C93E0E90EF11CEE0CFF1CEE0CFF1C6D -:10954000ADB7BEB7AE19BF090FB6F894BEBF0FBE18 -:10955000ADBFEDB7FEB731965F012DB73EB72E19FF -:109560003F090FB6F8943EBF0FBE2DBF6DB77EB753 -:109570006F5F7F4F4B010091581401279E012B56BE -:109580003F4FA701BF01CE0189569F4F0E94EC5F5C -:109590000091581401279E012B563F4FA701B4019B -:1095A000CE0189569F4F0E94EC5F00915814002312 -:1095B00009F44EC011E001279E012B563F4F44E0B5 -:1095C00050E068E57DE0CE0189569F4F0E94EC5F38 -:1095D0000091581401279E012B563F4F44E050E064 -:1095E0006CE57DE0CE0189569F4F0E94EC5F0091B3 -:1095F000581401279E012B563F4F44E050E060E68F -:109600007DE0CE0189569F4F0E94EC5F0091581477 -:1096100001279E012B563F4F44E050E064E67DE079 -:10962000CE0189569F4F0E94EC5F0091581401278C -:109630009E012B563F4F44E050E068E67DE0CE01AE -:1096400089569F4F0E94EC5F15E0FF24F39471C090 -:10965000C456DF4F2881CC59D04030E02E5F3F4FB9 -:10966000E4E2FDE080E090E02817390714F0D6012D -:1096700011C0AC018430910510F043E050E0440F7C -:10968000551F440F551F6DE770E06C0F7D1F460F8F -:10969000571FDA014D915D916D917C9141935193EA -:1096A000619371932817390714F0D50111C0AC01EB -:1096B0008430910510F043E050E0440F551F440FF3 -:1096C000551F6DE670E06C0F7D1F460F571FDA01C6 -:1096D0004D915D916D917C91408B518B628B738B21 -:1096E0002817390714F0D4010DC0AC01843091055E -:1096F00010F043E050E0440F551F440F551F460D36 -:10970000571DDA014D915D916D917C9140A351A35C -:1097100062A373A30196B4E08B0E911C44E0A40EE7 -:10972000B11C64E0C60ED11C8430910509F09CCFB9 -:1097300041CF115000915814112379F00F259E014B -:109740002B563F4F44E050E0BE0163577F4FCE01A0 -:1097500089569F4F0E94EC5FECCF11E001279E01DC -:109760002B563F4F44E050E062E774E1CE0189564A -:109770009F4F0E94EC5F0FB6F8945EBE0FBE4DBEC9 -:109780000091581401279E012B563F4F4CE050E0AA -:1097900062E47AE0CE0189569F4F0E94EC5F00910F -:1097A000581401279E012B563F4F41E050E0BE0167 -:1097B00063597F4FCE0189569F4F0E94EC5F009105 -:1097C000581401279E012B563F4F44E050E0CE0134 -:1097D00001967C01BC018A569F4F0E94EC5F00916C -:1097E000581401279E012B563F4F44E050E069E595 -:1097F00074E1CE0189569F4F0E94EC5F009158148E -:1098000001279E012B563F4F44E050E0BE016357B5 -:109810007F4FCE0189569F4F0E94EC5F01E09E0171 -:109820002B563F4F41E050E0BE0163597F4FCE01C0 -:1098300089569F4F0E94EC5F9E012B563F4F41E09F -:1098400050E0B701CE0189569F4F0E94EC5FAE9663 -:10985000AFACAE978981A89E50011124C12CD12CA8 -:1098600000915814CA14DB0491F001279E012B5675 -:109870003F4F44E050E0BE0163577F4FCE01895611 -:109880009F4F0E94EC5F9FEFC91AD90AE9CF11E000 -:1098900001279E012B563F4F44E050E06DEB74E1F1 -:1098A000CE0189569F4F0E94EC5F0091581401270A -:1098B0009E012B563F4F44E050E061EC74E1CE0135 -:1098C00089569F4F0E94EC5F0091581401279E011A -:1098D0002B563F4F44E050E065EC74E1CE018956D1 -:1098E0009F4F0E94EC5F1AE0DD24D394115089F061 -:1098F000009158140D259E012B563F4F44E050E037 -:10990000BE0163577F4FCE0189569F4F0E94EC5F87 -:10991000EDCF01E09E012B563F4F41E050E0BE01EC -:1099200065567F4FCE0189569F4F0E94EC5F9E0186 -:109930002B563F4F41E050E0BE0163587F4FCE01B0 -:1099400089569F4F0E94EC5F0091581411E0012747 -:109950009E012B563F4F44E050E0BE0163597F4FBC -:10996000CE0189569F4F0E94EC5F00915814012749 -:109970009E012B563F4F44E050E0BE016F5F7F4F8A -:10998000CE0189569F4F0E94EC5FC556DF4FA880DD -:10999000CB59D040EE968FADEE97A89E5001112482 -:1099A000C12CD12C00915814AC14BD0491F00127A6 -:1099B0009E012B563F4F44E050E0BE0163577F4F5E -:1099C000CE0189569F4F0E94EC5FAFEFCA1ADA0AA8 -:1099D000E9CF11E001279E012B563F4F41E050E0B7 -:1099E00065E47EE1CE0189569F4F0E94EC5F0091B5 -:1099F000581401279E012B563F4F41E050E06DE681 -:109A000074E1CE0189569F4F0E94EC5F009158147B -:109A100001279E012B563F4F44E050E0B701CE0195 -:109A200089569F4F0E94EC5F0091581401279E01B8 -:109A30002B563F4F41E050E069EA7DE0CE01895668 -:109A40009F4F0E94EC5F0091581401279E012B56F6 -:109A50003F4F44E050E0BE0163597F4FCE0189562D -:109A60009F4F0E94EC5F0091581401279E012B56D6 -:109A70003F4F44E050E0B701CE0189569F4F0E940E -:109A8000EC5F0091581401279E012B563F4F42E096 -:109A900050E0BE0163587F4FCE0189569F4F0E9410 -:109AA000EC5F0091581401279E012B563F4F40E177 -:109AB00050E0B701CE0189569F4F0E94EC5F0091A4 -:109AC000581401112EC089809A80AB80BC8020E0A0 -:109AD00030E84BE355E4C501B4010F94635E88237D -:109AE00001F18092070A9092080AA092090AB092A6 -:109AF0000A0A8D819E81AF81B88580930B0A90936D -:109B00000C0AA0930D0AB0930E0A89859A85AB853D -:109B1000BC8580930F0A9093100AA093110AB0930A -:109B2000120A11E001279E012B563F4F42E050E000 -:109B3000BE016F5F7F4FCE0189569F4F0E94EC5F41 -:109B40000091581401279E012B563F4F4CE050E0E6 -:109B5000BE016F5F7F4FCE0189569F4F0E94EC5F21 -:109B600000915814011115C020E030E84BE355E492 -:109B700069817A818B819C810F94635E882349F08F -:109B80008CE0FE013196AEE1BAE001900D928A952B -:109B9000E1F711E001279E012B563F4F42E050E0D4 -:109BA000B701CE0189569F4F0E94EC5F0091581477 -:109BB00001279E012B563F4F41E050E0B701CE01F7 -:109BC00089569F4F0E94EC5F0091581401279E0117 -:109BD0002B563F4F40E250E0B701CE0189569F4FD0 -:109BE0000E94EC5F0091581401279E012B563F4FB5 -:109BF00041E050E0BE0163597F4FCE0189569F4F2F -:109C00000E94EC5F0091581401279E012B563F4F94 -:109C100049E050E0B701CE0189569F4F0E94EC5FAA -:109C20000091581401110CC089818093341E88E082 -:109C3000FE013296ADE3BEE101900D928A95E1F707 -:109C400011E001279E012B563F4F4AE150E0B7013A -:109C5000CE0189569F4F0E94EC5F00915814012756 -:109C60009E012B563F4F44E350E0B701CE01895689 -:109C70009F4F0E94EC5F0091581401279E012B56C4 -:109C80003F4F48E050E0B701CE0189569F4F0E94F8 -:109C9000EC5F0091581401279E012B563F4F4DE079 -:109CA00050E0B701CE0189569F4F0E94EC5F0091B2 -:109CB000581401279E012B563F4F48E050E0B70152 -:109CC000CE0189569F4F0E94EC5F009158140111FC -:109CD00008C088E0F701AFEEBCE001900D928A95D4 -:109CE000E1F711E001279E012B563F4F4CE050E079 -:109CF000B701CE0189569F4F0E94EC5F0091581426 -:109D000001279E012B563F4F4CE650E0B701CE0194 -:109D100089569F4F0E94EC5F19821A821B821C8217 -:109D20001D821E821F82188619861A861B861C8633 -:109D30000091581401279E012B563F4F4CE050E0F4 -:109D4000B701CE0189569F4F0E94EC5F00915814D5 -:109D500001279E012B563F4F40E150E06DE574E135 -:109D6000CE0189569F4F0E94EC5F00915814012745 -:109D70009E012B563F4F48E150E064E77DE0CE0165 -:109D800089569F4F0E94EC5F0091581401279E0155 -:109D90002B563F4F44E050E0B701CE0189569F4F0C -:109DA0000E94EC5F0091581401279E012B563F4FF3 -:109DB00044E050E0BE016B5F7F4FCE0189569F4F5C -:109DC0000E94EC5F0091581401279E012B563F4FD3 -:109DD00044E050E0BE01675F7F4FCE0189569F4F40 -:109DE0000E94EC5F0091581401279E012B563F4FB3 -:109DF00041E050E0BE0163587F4FCE0189569F4F2E -:109E00000E94EC5F0091581401279E012B563F4F92 -:109E100044E050E0BE0163597F4FCE0189569F4F09 -:109E20000E94EC5F80E3F70111928A95E9F70091B7 -:109E3000581401279E012B563F4F40E350E0B701D5 -:109E4000CE0189569F4F0E94EC5F8091581481117A -:109E500004C081EF96E00E944463C956DF4F8881B9 -:109E60009981C759D04021E08831F3E09F0709F478 -:109E700020E02093B60D8831934091F4CB56DF4F0C -:109E800028813981C559D040C756DF4F88819981D3 -:109E9000C959D0402817390719F081E08093B60DD1 -:109EA00080915814811106C08091B60D811102C0B5 -:109EB0000F940E408091581481111EC00F94754D5F -:109EC0000F94EB0E892BF9F481E195E30F94664D25 -:109ED00081E08093B60D8AE69FE40F94664D0F945F -:109EE000B74B80916D1487FD05C060E070E00F9462 -:109EF000F70E02C00F94B74B8091581481110BC01C -:109F00000F947E0F08C08AE00E9426628AE69FE4D2 -:109F10000F94664DE6CF9091B60D81E089270FB67C -:109F2000F8943EBE0FBE2DBEC456DF4F0FB6F89458 -:109F3000DEBF0FBECDBFDF91CF911F910F91FF907C -:109F4000EF90DF90CF90BF90AF909F908F907F90D9 -:109F50006F905F904F903F902F900895CF92DF9237 -:109F6000EF92FF920F931F93CF93DF93CDB7DEB79E -:109F7000CE5AD1090FB6F894DEBF0FBECDBFCF5574 -:109F8000DF4F188219821A821B82C15AD0408091F9 -:109F9000380790913907A0913A07B0913B07CB550C -:109FA000DF4F88839983AA83BB83C55AD040C755A6 -:109FB000DF4F19821882C95AD04084E690E0C55517 -:109FC000DF4F99838883CB5AD0401092B60D9E0103 -:109FD00027553F4F44E050E0BE016B557F4FCE0107 -:109FE00085559F4F0E942960C555DF4F8881998113 -:109FF000CB5AD0400296C555DF4F99838883CB5A00 -:10A00000D040C755DF4F19821882C95AD040DD248D -:10A01000D394C255DF4FD882CE5AD0409E012755E7 -:10A020003F4F41E050E0BE0162557F4FCE01855564 -:10A030009F4F0E9429609E0127553F4F48E450E002 -:10A0400064E27DE0CE0185559F4F0E9429608E011C -:10A050000F5F1F4F80E1F80111928A95E9F780E0C8 -:10A0600090E0A0EAB0E489839A83AB83BC839E012D -:10A0700027553F4F40E150E0B801CE0185559F4F35 -:10A080000E9429609E0127553F4F44E050E062E75F -:10A0900074E1CE0185559F4F0E9429609E0127558E -:10A0A0003F4F4CE050E062E47AE0CE0185559F4F8F -:10A0B0000E9429607E01FDE6EF0EF11CF701D082BF -:10A0C00019821A821B821C829E0127553F4F41E054 -:10A0D00050E0B701CE0185559F4F0E9429609E0137 -:10A0E00027553F4F44E050E0B801CE0185559F4FC2 -:10A0F0000E9429608091E40C9091E50CA091E60CFF -:10A10000B091E70C89839A83AB83BC839E0127556A -:10A110003F4F44E050E0B801CE0185559F4F0E946B -:10A120002960CF55DF4F188219821A821B82C15ACB -:10A13000D04083E0F701808389839E0127553F4FFC -:10A1400044E050E0BE016F557F4FCE0185559F4FD3 -:10A150000E9429609E0127553F4F41E050E0B70122 -:10A16000CE0185559F4F0E9429609E0127553F4F84 -:10A1700041E050E0B801CE0185559F4F0E94296013 -:10A180003AE0D32EDA949E0127553F4F44E050E049 -:10A19000DD2049F0BE016F557F4FCE0185559F4FA1 -:10A1A0000E942960EFCF6DEB74E1CE0185559F4F82 -:10A1B0000E9429609E0127553F4F44E050E061EC2A -:10A1C00074E1CE0185559F4F0E9429609E0127555D -:10A1D0003F4F44E050E065EC74E1CE0185559F4F60 -:10A1E0000E942960CF55DF4F188219821A821B8284 -:10A1F000C15AD0402AE0D22EDA94DD2071F09E01BF -:10A2000027553F4F44E050E0BE016F557F4FCE01D0 -:10A2100085559F4F0E942960EFCF83E0C355DF4FE4 -:10A220008883CD5AD040C356DF4F8883CD59D04064 -:10A23000F701108211821282138219821A821B8204 -:10A240001C82CF55DF4F188219821A821B82C15A95 -:10A25000D0409E0127553F4F41E050E0BE0163557D -:10A260007F4FCE0185559F4F0E9429609E01275543 -:10A270003F4F41E050E0BE0163567F4FCE01855510 -:10A280009F4F0E9429609E0127553F4F44E050E0B8 -:10A29000B801CE0185559F4F0E9429609E01275528 -:10A2A0003F4F44E050E0B701CE0185559F4F0E94DB -:10A2B00029609AE0C92ED12CF1E0CF1AD1089E0175 -:10A2C00027553F4FC114D10459F044E050E0BE017E -:10A2D0006F557F4FCE0185559F4F0E942960ECCF6F -:10A2E00041E050E065E47EE1CE0185559F4F0E943C -:10A2F00029609E0127553F4F41E050E06DE674E133 -:10A30000CE0185559F4F0E9429609E0127553F4FE2 -:10A3100044E050E06EE773E0CE0185559F4F0E9408 -:10A3200029609E0127553F4F41E050E069EA7DE0FA -:10A33000CE0185559F4F0E94296080912203909104 -:10A340002303A0912403B0912503F7018083918317 -:10A35000A283B3838091260390912703A0912803C1 -:10A36000B091290389839A83AB83BC83C356DF4FA3 -:10A370001882CD59D040C256DF4F1882CE59D040F6 -:10A380009E0127553F4F44E050E0B701CE0185556F -:10A390009F4F0E9429609E0127553F4F44E050E0A7 -:10A3A000B801CE0185559F4F0E9429609E01275517 -:10A3B0003F4F42E050E0BE0163567F4FCE018555CE -:10A3C0009F4F0E94296080E1F80111928A95E9F778 -:10A3D00080E090E0A0E8BFE38D879E87AF87B88BD1 -:10A3E0008091070A9091080AA091090AB0910A0A7F -:10A3F00089839A83AB83BC8380910B0A90910C0A6A -:10A40000A0910D0AB0910E0A8D839E83AF83B88709 -:10A4100080910F0A9091100AA091110AB091120A2E -:10A4200089879A87AB87BC879E0127553F4F40E1BC -:10A4300050E0B801CE0185559F4F0E94296084E10C -:10A4400090E09A8389839E0127553F4F42E050E078 -:10A45000B801CE0185559F4F0E9429609E01275566 -:10A460003F4F4CE050E06EE17AE0CE0185559F4FC2 -:10A470000E9429608FE790E09A8389839E01275587 -:10A480003F4F42E050E0B801CE0185559F4F0E94FA -:10A49000296081E089839E0127553F4F41E050E0CC -:10A4A000B801CE0185559F4F0E94296080E2EAE203 -:10A4B000F3E0D80101900D928A95E1F79E012755AE -:10A4C0003F4F40E250E0B801CE0185559F4F0E94BA -:10A4D0002960F70110829E0127553F4F41E050E06F -:10A4E000B701CE0185559F4F0E9429609E012755D7 -:10A4F0003F4F41E050E064E37EE1CE0185559F4F40 -:10A500000E9429609E0127553F4F48E050E06DE3CF -:10A510007EE1CE0185559F4F0E9429608AE1F801B6 -:10A5200011928A95E9F79E0127553F4F4AE150E085 -:10A53000B801CE0185559F4F0E94296084E3EAE46B -:10A54000F3E0D80101900D928A95E1F79E0127551D -:10A550003F4F44E350E0B801CE0185559F4F0E9424 -:10A56000296088E0F80111928A95E9F79E01275544 -:10A570003F4F48E050E0B801CE0185559F4F0E9403 -:10A5800029608DE0F80111928A95E9F79E0127551F -:10A590003F4F4DE050E0B801CE0185559F4F0E94DE -:10A5A00029609E0127553F4F48E050E06FEE7CE068 -:10A5B000CE0185559F4F0E9429608CE0D82EF8016E -:10A5C0008D2D11928A95E9F79E0127553F4F4CE05A -:10A5D00050E0B801CE0185559F4F0E9429608CE65E -:10A5E000F80111928A95E9F79E0127553F4F4CE6F5 -:10A5F00050E0B801CE0185559F4F0E9429609E0111 -:10A6000027553F4F4CE050E06AEA7DE0CE0185558A -:10A610009F4F0E9429609E0127553F4F40E150E027 -:10A620006DE574E1CE0185559F4F0E9429609E0122 -:10A6300027553F4F48E150E064E77DE0CE01855566 -:10A640009F4F0E942960F7011192DA94E9F7C355F0 -:10A65000DF4F1882CD5AD04080E090E0A0E4B0E413 -:10A66000C356DF4F88839983AA83BB83CD59D040DB -:10A670009E0127553F4F44E050E0B701CE0185557C -:10A680009F4F0E9429609E0127553F4F44E050E0B4 -:10A69000B7016C5F7F4FCE0185559F4F0E942960A7 -:10A6A0009E0127553F4F44E050E0B701685F7F4F60 -:10A6B000CE0185559F4F0E9429609E0127553F4F2F -:10A6C00041E050E0BE0163557F4FCE0185559F4F5D -:10A6D0000E9429609E0127553F4F44E050E0BE0193 -:10A6E00063567F4FCE0185559F4F0E94296080E3BE -:10A6F000F70111928A95E9F784E097E00E9444639C -:10A700009E0127553F4F40E350E0B701CE018555EC -:10A710009F4F0E9429608091B60D811138C0C555A8 -:10A72000DF4F08811981CB5AD040C755DF4F888150 -:10A730009981C95AD040F7019183808384E690E0E3 -:10A74000C555DF4F99838883CB5AD0409E0127554A -:10A750003F4F44E050E062E873E0CE0185559F4FE3 -:10A760000E9429609E0127553F4F42E050E0B7010B -:10A77000CE0185559F4F0E94296081E0083113402A -:10A7800009F480E09091B60D892B8093B60D8091ED -:10A790006D1487FF0F94410F88E197E00E94446396 -:10A7A0009091B60D81E08927C255DF4F0FB6F8941E -:10A7B000DEBF0FBECDBFDF91CF911F910F91FF90F4 -:10A7C000EF90DF90CF900895CF93C62F0E94ACAB4F -:10A7D000882319F0CF910C9446E18C2FCF910895E6 -:10A7E0002F923F924F925F926F927F928F929F92A1 -:10A7F000AF92BF92CF92DF92EF92FF920F931F938F -:10A80000CF93DF9300D01F921F92CDB7DEB77C01AC -:10A810008B016A0119018090760E9090770EA090BE -:10A82000780EB090790EA5019401FC0160817181D0 -:10A83000828193810F94635EF1E0FD83811112C0E8 -:10A8400020917A0E30917B0E40917C0E50917D0EBE -:10A85000F80160817181828193810F94635E81111F -:10A8600001C01D82F601408051806280738020917A -:10A870004602309147024091480250914902C3017B -:10A88000B2010F94635E882309F455C040924602DA -:10A8900050924702609248027092490220E030E0F4 -:10A8A00040E05FE36091500D7091510D8091520D29 -:10A8B0009091530D0F94C95E69837A838B839C8337 -:10A8C00080925D0E90925E0EA0925F0EB092600E2E -:10A8D00080917A0E90917B0EA0917C0EB0917D0EAE -:10A8E0008093610E9093620EA093630EB093640EFA -:10A8F000F60180819181A281B3818093650E90934E -:10A90000660EA093670EB093680E8091820E9091B0 -:10A91000830EA091840EB091850E8093690E909362 -:10A920006A0EA0936B0EB0936C0ECE0101960E943E -:10A93000A2DF0E943CE1FD81F1110FC020E030E078 -:10A9400040EC5FE36091540D7091550D8091560D70 -:10A950009091570D0F94536604C060E070E080EA58 -:10A9600091E469837A838B839C83F7018081918151 -:10A97000A281B38180935D0E90935E0EA0935F0ED3 -:10A98000B093600EF80180819181A281B3818093A0 -:10A99000610E9093620EA093630EB093640EF1016A -:10A9A00020813181428153816091690E70916A0EDC -:10A9B00080916B0E90916C0E0F9459656093690EA7 -:10A9C00070936A0E80936B0E90936C0ECE0101967D -:10A9D0000E94A2DF0E943CE10F900F900F900F9019 -:10A9E0000F90DF91CF911F910F91FF90EF90DF902B -:10A9F000CF90BF90AF909F908F907F906F905F901F -:10AA00004F903F902F9008952F923F924F925F92D8 -:10AA10006F927F928F929F92AF92BF92CF92DF926E -:10AA2000EF92FF920F931F93CF93DF93CDB7DEB7D3 -:10AA3000C055D1090FB6F894DEBF0FBECDBF80E878 -:10AA400097E30F94664D41E061E081E00F949E3FF3 -:10AA500081110C9437DD84E50E94ACAB882329F08A -:10AA60000E9428AB60E00E94449780E090E0A0E85C -:10AA7000BFE38093550E9093560EA093570EB0935C -:10AA8000580E8093590E90935A0EA0935B0EB0937C -:10AA90005C0E8DEC9CECACE4BEE38093510E909385 -:10AAA000520EA093530EB093540E80E090E0A0E2BB -:10AAB000B1E48093280E9093290EA0932A0EB093B0 -:10AAC0002B0E8CE390E09093270E8093260E8DEC56 -:10AAD00090E09093250E8093240E1092230E4AE965 -:10AAE00059E969E97EE38FE40E94A9A16BAF7CAFCD -:10AAF0008DAF9EAF60E083E40E946AE12F968FAF36 -:10AB00002F9760E08BE40E946AE160968FAF6097B8 -:10AB100082E40E94ACAB8823C9F00E942CAB0F9456 -:10AB2000C5667093270E6093260E6115710571F04E -:10AB3000685271096536710548F06CE870E082E58D -:10AB400097E30F94C34D8DE497E3AEC18CE40E946C -:10AB5000ACAB882301F10E942CAB6B017C016093AC -:10AB6000510E7093520E8093530E9093540E20E02A -:10AB700030E0A9010F94B96787FD0AC020E030E0FA -:10AB800040E050E4C701B6010F94635E18161CF450 -:10AB900085E297E389C181E50E9463AB882351F187 -:10ABA0008091A70D9091A80D892B09F10E942CABE3 -:10ABB0006B017C016093590E70935A0E80935B0E6B -:10ABC00090935C0E2DEC3CEC4CE45DE30F94B96784 -:10ABD00087FD0AC020E030E040E751E4C701B6013C -:10ABE0000F94635E181634F484EF96E35DC189EC2C -:10ABF00096E35AC183E50E94ACAB8823C9F00E945A -:10AC00002CAB4B015C012DEC3CEC4CEC5DE30F9468 -:10AC1000B96787FD0AC020E030E040E050E4C5019C -:10AC2000B4010F94635E181654F482EA96E33CC1B3 -:10AC3000EDEC8E2EECEC9E2EA92CEEE3BE2E80E5E4 -:10AC40000E9463AB882371F18091A70D9091A80DAC -:10AC5000892B19F48AE696E327C18091230E8F5F32 -:10AC60008093230E0E942CAB6B017C016093280E15 -:10AC70007093290E80932A0E90932B0E20E030E0E3 -:10AC8000A9010F94B96787FD0AC020E030E048ECC5 -:10AC900051E4C701B6010F94635E18161CF482E4F8 -:10ACA00096E302C186E40E94ACAB8823C9F00E94FF -:10ACB0002CAB6B017C0120E030E040E85FE30F94B7 -:10ACC000B96787FD0AC020E030E040E850E4C701E2 -:10ACD000B6010F94635E18164CF489E196E3E4C064 -:10ACE000C12CD12C70EEE72E7FE3F72EA701960141 -:10ACF000C701B6010F94C95E9B01AC0160E070E032 -:10AD000084E490E40F9453662091550E3091560ED2 -:10AD10004091570E5091580E0F94C95E2B013C0183 -:10AD2000A5019401C501B4010F94C95EA701960164 -:10AD30000F94C95E2CEE31E548EB5DE30F9453664A -:10AD40009B01AC01C301B2010F94C95E6093550E23 -:10AD50007093560E8093570E9093580E88E40E947D -:10AD6000ACAB882381F00E942CAB0F94C566709326 -:10AD7000250E6093240E655A71096838710518F024 -:10AD80008BEE95E391C085E50E9463AB8823F1F0DB -:10AD90000E9423FD611571058105910511F00F9445 -:10ADA000F4598091A70D9091A80D892B19F00E945C -:10ADB0002CAB04C060E070E088E492E46093DF0DA7 -:10ADC0007093E00D8093E10D9093E20D82E50E9477 -:10ADD00063AB811103C087EB95E366C08091A70D3B -:10ADE0009091A80D892B61F00E9428AB2E969FAF01 -:10ADF0008EAF2E97181619064CF083E895E354C0D1 -:10AE000025E230E02E963FAF2EAF2E9788E50E94C8 -:10AE1000ACAB882369F00E942CAB2091B114309127 -:10AE2000B2144091B3145091B4140F94586508C0F3 -:10AE30006091760E7091770E8091780E9091790ED8 -:10AE40006093DB0D7093DC0D8093DD0D9093DE0D30 -:10AE500089E50E94ACAB882379F00E942CAB20914D -:10AE6000B5143091B6144091B7145091B8140F94A2 -:10AE70005865AB01BC0108C040917A0E50917B0E21 -:10AE800060917C0E70917D0E4093D70D5093D80D3C -:10AE90006093D90D7093DA0D8BED9DE00F9428141B -:10AEA000811105C089E595E30F94664DE0C584E402 -:10AEB0000E9463AB91E089270F948F4B20E030E034 -:10AEC00040EA50E460917E0E70917F0E8091800E7A -:10AED0009091810E0F94635E87FF15C0198A1A8ABC -:10AEE0001B8A1C8A80E090E0A0EAB0E489839A8300 -:10AEF000AB83BC83BE016F5E7F4FCE0101960E9483 -:10AF0000617E0E9488E83091341E61963FAF619760 -:10AF10001092341E0F94F33B88E395E30F94664D33 -:10AF20008091260E9091270E8A31910574F48091BC -:10AF3000240E9091250E0E94ACC061E08091860E97 -:10AF40000E94C595811109C0DAC40E942EE181E0FA -:10AF50000E9446948111EBCFD2C41092820E1092BF -:10AF6000830E1092840E1092850E82E89EE00F945C -:10AF70007D198091230E8823B1F10E943CE120913C -:10AF8000690E30916A0E40916B0E50916C0E60917B -:10AF9000280E7091290E80912A0E90912B0E0F94FD -:10AFA00059656093690E70936A0E80936B0E90934F -:10AFB0006C0E20E030E040E751E46091540D709158 -:10AFC000550D8091560D9091570D0F9453666983DE -:10AFD0007A838B839C83CE0101960E94A2DF0E941C -:10AFE0003CE10E9475F980E2E7EBFDE0DF01282FEC -:10AFF0001D922A95E9F7E3E0FEE0DF01282F1D927C -:10B000002A95E9F7E3EEFDE0DF011D928A95E9F765 -:10B010000E943CE18091510E9091520EA091530EEE -:10B02000B091540E8093650E9093660EA093670EB8 -:10B03000B093680E19821A821B821C829E012F5FB8 -:10B040003F4F45E65EE061E67EE08DE59EE00E94D2 -:10B05000F0D39E01255C3F4F45E65EE061E67EE071 -:10B060008DE59EE00E94F0D32F96BFAD2F97BB23B6 -:10B0700029F06AE77EE086E79EE004C067ED7DE0A8 -:10B080008BED9DE00E94CADF3FAF2C962FAF2C972F -:10B090002C96EFAD2C97E7FD1DC4FFADF7FD1AC44C -:10B0A0008E2F0E94F6AB2B013C01CB01D3018FAB5D -:10B0B00098AFA9AFBAAF8FAD0E94C8AB162F072FBC -:10B0C000F82EE92E462F572F682F792FCE01C796DD -:10B0D0000F942814882309F4FFC320E030E040EAED -:10B0E00050E4B201C3010F945965D62E372E282E95 -:10B0F000C92E862F932DA22DBC2D8BAB9CABADAB57 -:10B10000BEAB812F902FAF2DBE2D8FA798ABA9ABD3 -:10B11000BAAB2C962FAD2C9721114AC03FAD3111FF -:10B120001FC020E030E040EA50E4612F702F8F2DE7 -:10B130009E2D0F94596521966FAF219723967FAF6F -:10B14000239725968FAF259727969FAF27978FAD8B -:10B15000D42C352C262CC72C882309F4C6C023C038 -:10B16000C201D3018BAB9CABADABBEAB20E030E0FA -:10B1700040EA50E4612F702F8F2D9E2D0F9458655B -:10B180006FA778AB89AB9AAB9FAD953054F22196FF -:10B190001FAF219723960FAF23972596FFAE2597D4 -:10B1A0002796EFAE2797AFADA5300CF489C09DC0B0 -:10B1B0002C96BFAD2C97B5300CF453C0EFADE530F5 -:10B1C0005CF020E030E040EA50E4B201C3010F94AB -:10B1D0005865362F272F03C0342D252DC301432F4B -:10B1E000522FBC014BAB5CAB6DAB7EABFFADF11135 -:10B1F00035C420E030E040EA50E4B201C3010F94CE -:10B200005865D62E372E282EC92E20E030E040EA91 -:10B2100050E4612F702F8F2D9E2D0F9459656FA7CD -:10B2200078AB89AB9AAB2FAD222309F452C020E052 -:10B2300030E040EA50E4612F702F8F2D9E2D0F9447 -:10B24000586521966FAF219723967FAF2397259658 -:10B250008FAF259727969FAF27973FAD353084F165 -:10B2600044C08FAD81110FC020E030E040E251E4D6 -:10B270006D2D732D822D9C2D0F945865D62E372E53 -:10B28000282EC92E11C09FAD9530C4F120E030E0CA -:10B2900040E251E46D2D732D822D9C2D0F94586545 -:10B2A0006BAB7CAB8DAB9EAB21961FAF21972396EA -:10B2B0000FAF23972596FFAE25972796EFAE2797DA -:10B2C00062ED862E63E5962E6BE7A62E61E4B62E20 -:10B2D00029C021961FAF219723960FAF239725965C -:10B2E000FFAE25972796EFAE279752ED852E53E5B3 -:10B2F000952E5BEFA52E50E4B52E14C021961FAFFE -:10B30000219723960FAF23972596FFAE2597279673 -:10B31000EFAE279742ED842E43E5942E4BEFA42EFB -:10B3200041E4B42E8BA99CA9ADA9BEA92B968CAFE4 -:10B330009DAFAEAFBFAF2B979C01AD01B201C30172 -:10B340000F945865698B7A8B8B8B9C8B4FA458A874 -:10B3500069A87AA8A3019201612F702F8F2D9E2DCD -:10B360000F9458656D8B7E8B8F8B988F2B962CADA1 -:10B370003DAD4EAD5FAD2B976091760E7091770E1F -:10B380008091780E9091790E0F9458652B966CAF42 -:10B390007DAF8EAF9FAF2B97A301920160917A0E84 -:10B3A00070917B0E80917C0E90917D0E0F9458656C -:10B3B0002B013C018D2D932DA22DBC2D89839A83C9 -:10B3C000AB83BC8321968FAD219723969FAD2397A6 -:10B3D0002596AFAD25972796BFAD27978D839E8382 -:10B3E000AF83B8878091510E9091520EA091530E69 -:10B3F000B091540E89879A87AB87BC8720914E0203 -:10B4000030914F024091500250915102C501B40158 -:10B410000F94C95E2091550E3091560E4091570EF3 -:10B420005091580E0F94C95E2091820E3091830E78 -:10B430004091840E5091850E0F9459656D877E87DB -:10B440008F87988B2B962CAD3DAD4EAD5FAD2B9776 -:10B45000CA01B9010F94C95E6B017C01A30192017D -:10B46000C301B2010F94C95E9B01AC01C701B601D3 -:10B470000F94596520E030E040E050E40F94B96744 -:10B4800018160CF047C00E9475F91BA21CA21DA241 -:10B490001EA220E030E040E05FE360917E0E7091FC -:10B4A0007F0E8091800E9091810E0F9459656F8F61 -:10B4B00078A389A39AA39E012D5D3F4FAE01415E03 -:10B4C0005F4F6AE77EE086E79EE00E94F0D31BA212 -:10B4D0001CA21DA21EA220E030E040E05FE36091CC -:10B4E000510E7091520E8091530E9091540E0F9404 -:10B4F00059656F8F78A389A39AA39E012D5D3F4F55 -:10B50000AE01415E5F4FBE01615D7F4FCE01C396CC -:10B510000E94F0D31F8E18A219A21AA29E01215ECA -:10B520003F4F41E55EE0BE01615D7F4FCE01C396B6 -:10B530000E94F0D30E94A1F9409040025090410235 -:10B540006090420270904302E0904C0DF0904D0DDF -:10B5500000914E0D10914F0DA090480DB090490DE7 -:10B56000C0904A0DD0904B0D9501A601B701C801BE -:10B570000F94B967181614F47501860120E030E0C5 -:10B5800040E251E4B701C8010F9453666093400252 -:10B5900070934102809342029093430240E0BE01C7 -:10B5A0006F5E7F4FCE0101960F943325409240028B -:10B5B0005092410260924202709243020E943CE12A -:10B5C000A1E0B0E02496BFAFAEAF2497212C312C80 -:10B5D000022D2396BFAD23972796BFAF2797C12C87 -:10B5E000D12C7601C394022C04C0CC0CDD1CEE1CC3 -:10B5F000FF1C0A94D2F7812C912C5401839404C02F -:10B60000880C991CAA1CBB1CBA95D2F78C289D28C3 -:10B61000AE28BF28E1E0F0E0022C02C0EE0FFF1FD1 -:10B620000A94E2F72696FFAFEEAF269723EE622E3E -:10B630002DE0722E37EB432E3DE0532E23E03EE00B -:10B6400022963FAF2EAF229710E029965FAE4EAE06 -:10B650002997D2018D919C91A0E0B0E08821992199 -:10B66000AA21BB2188159905AA05BB0509F077C059 -:10B670002296AEADBFAD22978D919C91A0E0B0E037 -:10B680008C219D21AE21BF21892B8A2B8B2B09F088 -:10B6900066C0802F0E94F6AB20E030E040E050E42E -:10B6A0000F9459656BA77CA78DA79EA727968FAD92 -:10B6B00027970E94F6AB20E030E040E050E40F9482 -:10B6C00058656BA37CA38DA39EA34AE351E061E080 -:10B6D00070E0CE018B960F946846812F0E94C8AB14 -:10B6E00020E030E040E85FE30F94635E87FD70C1C7 -:10B6F000812F0E94C8AB20E030E849E953E40F9461 -:10B70000B96718160CF469C1812F0E94C8AB6F8FFE -:10B7100078A389A39AA36FA378A789A79AA74AE3D6 -:10B7200051E061E070E0CE0183960F9468464FA12E -:10B7300058A569A57AA5CE018B960F94281481117E -:10B7400051C12296EEADFFAD229780819181269660 -:10B750002EAD3FAD2697822B932B9183808332E0D1 -:10B76000430E511C2996AEADBFAD29978D919C918A -:10B77000A0E0B0E08C219D21AE21BF21892B8A2B36 -:10B780008B2B09F485C0B1E0B10F2896BFAF289785 -:10B79000F20180819181A0E0B0E08C219D21AE2159 -:10B7A000BF21892B8A2B8B2B09F472C0F301808176 -:10B7B0009181A0E0B0E08C219D21AE21BF21892B99 -:10B7C0008A2B8B2B09F064C0812F0E94C8AB20E02C -:10B7D00030E040E050E40F9459656FA378A789A743 -:10B7E0009AA728968FAD28970E94C8AB20E030E03A -:10B7F00040E050E40F9458656F8F78A389A39AA313 -:10B80000802F0E94F6AB20E030E040E85FE30F9429 -:10B81000635E87FD00C1802F0E94F6AB20E030E020 -:10B820004DE953E40F94B96718160CF4F9C0802F52 -:10B830000E94F6AB6BA37CA38DA39EA36BA77CA7F2 -:10B840008DA79EA743E351E061E070E0CE018796AB -:10B850000F94684643E351E061E070E0CE014F96FB -:10B860000F9468464FA158A569A57AA5CE018B967D -:10B870000F9428148111D9C0D3018D919C911197F7 -:10B880002696EEADFFAD26978E2B9F2B8D939C9326 -:10B890001F5FF2E06F0E711C22962EAD3FAD229716 -:10B8A0002E5F3F4F22963FAF2EAF2297163009F002 -:10B8B000CCCE3FEF231A330A24968EAD9FAD24974A -:10B8C000019624969FAF8EAF249796E029163104F7 -:10B8D00009F07ECE0E9451632E96AEADBFAD2E977D -:10B8E00011972E96BFAFAEAF2E97AB2B41F02C9693 -:10B8F000BFAD2C97B7FD03C0EFADE7FFB5CB6FEF42 -:10B900008DE495E30F94B1440E9475F980E090E0D6 -:10B91000A0EAB0E48093650E9093660EA093670E44 -:10B92000B093680E19821A821B821C829E012F5FBF -:10B930003F4F45E65EE061E67EE08DE59EE00E94D9 -:10B94000F0D38091DB0D9091DC0DA091DD0DB091D5 -:10B95000DE0D80935D0E90935E0EA0935F0EB0930C -:10B96000600E8091D70D9091D80DA091D90DB09116 -:10B97000DA0D8093610E9093620EA093630EB093E4 -:10B98000640E19821A821B821C829E012F5F3F4F18 -:10B9900045E65EE061E67EE08DE59EE00E94F0D344 -:10B9A0006196FFAD6197F093341E0F94F33B609660 -:10B9B0002FAD609721115BC010921C0A10921B0AD8 -:10B9C0000E945F9D8091860E90E00E94ACC04FC0A7 -:10B9D00060E070E080E89FE39ACE60E070E889E97B -:10B9E00093E495CE4F8D58A169A17AA1CE0183969B -:10B9F0000F942814882309F4A4CE9E01215E3F4FA2 -:10BA0000AE014D5D5F4FBE01695D7F4FCE018B96EC -:10BA10000E94D1F996CE60E070E080E89FE30ACF03 -:10BA200060E070E08DE993E405CF4F8D58A169A1E6 -:10BA30007AA1CE0183960F942814882309F41CCF91 -:10BA40009E01215E3F4FAE014D5D5F4FBE01695DBE -:10BA50007F4FCE018B960E94D1F90ECFFFADD42C33 -:10BA6000352C262CC72CF5300CF0E1CBCECBC05BAF -:10BA7000DF4F0FB6F894DEBF0FBECDBFDF91CF9181 -:10BA80001F910F91FF90EF90DF90CF90BF90AF90FC -:10BA90009F908F907F906F905F904F903F902F90EE -:10BAA00008958F929F92AF92BF92CF92DF92EF92C2 -:10BAB000FF920F931F93CF93DF9300D000D0CDB7A9 -:10BAC000DEB76FEF7FEF89E40E94B9AB882E6FEF8E -:10BAD0007FEF8AE40E94B9ABD82E83E40E9463AB67 -:10BAE000C82E8EE40E9463ABA82E8AE50E9463AB49 -:10BAF000982E811105C081E50E9463ABB82E01C06C -:10BB0000B12CCC2069F000E010E020E04AE75EE0D4 -:10BB100066E77EE081E00F94E92BF22EE32E02C06F -:10BB2000ED2CF82C8C2D90E087FC05C0D094DD1C0A -:10BB3000DD24DD1C01C0D12C8D0D911D019731F448 -:10BB4000911009C0B11007C0A11005C00F94E24DBB -:10BB500082E698E309C085E08F1510F08E15C0F4D9 -:10BB60000F94E24D83E498E326960FB6F894DEBF77 -:10BB70000FBECDBFDF91CF911F910F91FF90EF903E -:10BB8000DF90CF90BF90AF909F908F900D94664DB7 -:10BB9000CF2C0F2C000CDD080E2D0E2C000C110BE1 -:10BBA000A11021C00E942CAB9B01AC01BB2099F0DD -:10BBB00086E08C9DF0018D9DF00D1124E00FF11FAA -:10BBC000EE0FFF1FEE0FFF1FEC5AF34F60817181E4 -:10BBD0008281938103C060E070E0CB010F945965CE -:10BBE0009B01AC0104C020E030E040EC5FE786E060 -:10BBF0008C9DF0018D9DF00D1124E00FF11FEE0FD3 -:10BC0000FF1FEE0FFF1FEC5AF34F20833183428357 -:10BC100053836E2D8F2D26960FB6F894DEBF0FBE80 -:10BC2000CDBFDF91CF911F910F91FF90EF90DF90EB -:10BC3000CF90BF90AF909F908F900C9477A0CF92B1 -:10BC4000DF92EF92FF920F931F93CF93DF93CDB7C5 -:10BC5000DEB72C970FB6F894DEBF0FBECDBF83E5DD -:10BC60000E9463AB882349F00E945AE1182F81118A -:10BC700006C080E00F948F4B02C01091451E80914A -:10BC8000760E9091770EA091780EB091790E8983FF -:10BC90009A83AB83BC8380917A0E90917B0EA091A6 -:10BCA0007C0EB0917D0E8D839E83AF83B88780918B -:10BCB0007E0E90917F0EA091800EB091810E8987AB -:10BCC0009A87AB87BC878CE40E9463AB882309F416 -:10BCD00052C080E00F948F4B8091A70D9091A80DDA -:10BCE000892B21F00E9428AB082F02C000916D140F -:10BCF0000F94EB0E7C01892B91F483E298E32C9650 -:10BD00000FB6F894DEBF0FBECDBFDF91CF911F916C -:10BD10000F91FF90EF90DF90CF900D94664D07FD4F -:10BD200007C0802F002E000C990B8E159F05E4F0A4 -:10BD30008BE098E30F94664DB7016150710980E084 -:10BD400098E30F94C34D8AE02C960FB6F894DEBFAB -:10BD50000FBECDBFDF91CF911F910F91FF90EF905C -:10BD6000DF90CF900C94266260E070E0802F0F94FB -:10BD7000F70E00936D148CE40E9463AB811105C033 -:10BD800086E50E9463AB8823F9F060E084E50E94B9 -:10BD9000E4D390E00E9407AF87EF97E30F94664DDE -:10BDA0000F94CE4C811104C084EF97E30F94664D3D -:10BDB00060916D14062E000C770B8FED97E30F94B6 -:10BDC000C34D8AE00E94266286E50E9463AB082F7D -:10BDD0000F94CE4C882391F083E40E9463AB8823B8 -:10BDE000C1F00E942CAB6B017C0180E00F948F4B63 -:10BDF000B701A60181E00F94C3320BC0111102C03C -:10BE0000002339F00F94E64D80ED97E30F94664DD3 -:10BE10000DC08AE50E9463AB882329F00E942CABF9 -:10BE200040E00F94074C812F0F948F4B112351F05A -:10BE30008091451E811106C00F94E24D81EB97E37E -:10BE40000F94664D0F94E64D83EA97E30F94664D89 -:10BE50008091451E811103C088E792E502C08CE7FE -:10BE600092E50F94664D8AE00E9426620F94E64D9B -:10BE700086E997E30F94664DC090E40CD090E50CF2 -:10BE8000E090E60CF090E70C20E030E0A901C7015B -:10BE9000B6010F94B967181644F442E0C701B60121 -:10BEA0000E94C6620E943E6304C081E997E30F943A -:10BEB000664D4CE050E066E77EE0CE0101960F94BF -:10BEC000CB69892B81F02C960FB6F894DEBF0FBE9C -:10BED000CDBFDF91CF911F910F91FF90EF90DF9039 -:10BEE000CF900C940C7F2C960FB6F894DEBF0FBE4B -:10BEF000CDBFDF91CF911F910F91FF90EF90DF9019 -:10BF0000CF9008958091730D83FD0FC08091720DC5 -:10BF100081110BC02091040A3091050A80914402DE -:10BF200090914502281739072CF061E08091860E28 -:10BF30000C94C5950F94E64D89EA9AE30F94664DEB -:10BF400080E00895CF92DF92EF92FF92C09040027E -:10BF5000D0904102E0904202F0904302FC018081C7 -:10BF60009181A281B3818093400290934102A0937A -:10BF70004202B09343020E94EA73C0924002D09200 -:10BF80004102E0924202F0924302FF90EF90DF9074 -:10BF9000CF9008952F923F924F925F926F927F922F -:10BFA0008F929F92AF92BF92CF92DF92EF92FF92C9 -:10BFB0000F931F93CF93DF93CDB7DEB76F970FB675 -:10BFC000F894DEBF0FBECDBF9C8F8B8F7E8F6D8FA1 -:10BFD000212C312C0FEF2FEF2F833FEF3F874FE4C2 -:10BFE000488B53EC598B87E48A8B2E8A21E030E012 -:10BFF00040E050E0022C04C0220F331F441F551FA5 -:10C000000A94D2F72F8B388F498F5A8F47EB5DE018 -:10C010005E874D8710E02F8EAD85BE858D919D91F9 -:10C02000BE87AD87A0E0B0E02F89388D498D5A8D4D -:10C0300082239323A423B523892B8A2B8B2B09F0EE -:10C04000C3C08E890E94F6AB6B017C01812F0E94D8 -:10C05000C8AB69877A878B879C87A7019601AB8DD0 -:10C06000BC8D6D917D918D919C910F9458652B01A4 -:10C070003C0129853A854B855C85ED8DFE8D60817F -:10C080007181828193810F9458654B015C01A301FA -:10C090009201C301B2010F94C95E2B013C01A501BD -:10C0A0009401C501B4010F94C95E9B01AC01C301A9 -:10C0B000B2010F9459650F9457684B015C01A701B9 -:10C0C00096016091DB0D7091DC0D8091DD0D9091FA -:10C0D000DE0D0F9458656B017C0129853A854B85EF -:10C0E0005C856091D70D7091D80D8091D90D90919C -:10C0F000DA0D0F9458652B013C01A7019601C70189 -:10C10000B6010F94C95E6B017C01A3019201C301CA -:10C11000B2010F94C95E9B01AC01C701B6010F9437 -:10C1200059650F94576820E030E040E751E40F94E0 -:10C130005366A50194010F9459656B017C018090B1 -:10C14000DF0D9090E00DA090E10DB090E20D20E0A9 -:10C1500030E040E85FE3C501B4010F94B9671816F9 -:10C16000FCF4C501B4010F94C5664B015C011616C1 -:10C170001706180619063CF40F94A659A501940158 -:10C180000F94DB6403C060E070E0CB010F946A5E43 -:10C190009B01AC01B601C7010F9459656B017C018D -:10C1A0002F85388949895A89B601C7010F94635E82 -:10C1B00087FF0AC00F8D1F83C886DB8AEC8AFD8A41 -:10C1C000CF86D88AE98AFA8A1F5F163009F024CF11 -:10C1D000FFEF2F1A3F0A26E02216310409F005CF9F -:10C1E0003F81E32FF0E0EE0FFF1FE954F24F81E0B3 -:10C1F00090E0002E02C0880F991F0A94E2F7208178 -:10C200003181822B932B9183808388859B89AC8994 -:10C21000BD898B839C83AD83BE83482F5C816D81F8 -:10C220007E81202F3F8180E090E06F960FB6F894DA -:10C23000DEBF0FBECDBFDF91CF911F910F91FF9059 -:10C24000EF90DF90CF90BF90AF909F908F907F90B6 -:10C250006F905F904F903F902F9008958C3891058C -:10C260001CF02CE880E002C0282F892F20931B0AA5 -:10C2700080931C0A0C945F9D80E1E6E7FEE0ADE54B -:10C28000BEE001900D928A95E1F708950E9418ABE7 -:10C2900097FD0CC00E9418AB6F3F71058105910599 -:10C2A00009F034F40E9418AB862F089580E00895B9 -:10C2B0008FEF08958091A70D9091A80D892B39F0EB -:10C2C0000E9446E191E0811103C090E001C091E03D -:10C2D000892F0895CF93DF93C82FD62F0E94ACAB40 -:10C2E000882321F0DF91CF910C945AE18C2F0E948A -:10C2F00063AB811101C08D2FDF91CF910895AF9273 -:10C30000BF92CF92DF92EF920F931F93CF93DF9361 -:10C310008B01E090860EC6E7DEE024E0E29EF001AD -:10C320001124E85EFD4F2081318142815381FC015F -:10C3300060817181828193810F9453662C853D8544 -:10C340004E855F850F9459656C877D878E879F87A3 -:10C35000A12CB12C650122E83EE04EE75EE06AE7E1 -:10C360007EE0CE010F94EA1ADF91CF911F910F91D9 -:10C37000EF90DF90CF90BF90AF900D94FB390F936B -:10C380001F93CF938C01C62F86EF98E30F94664DD1 -:10C39000C8010F94664DCC2331F08AE0CF911F91F4 -:10C3A0000F910C942662CF911F910F91089560E038 -:10C3B0008BE099E30E94BFE183E199E30F94664D1E -:10C3C0008AE00C94266260E08BE099E30E94BFE172 -:10C3D00087E099E30F94664D8AE00C942662EF9211 -:10C3E000FF920F931F93CF937C018B01C42F60E0CA -:10C3F0008BE099E30E94BFE1C7010F94664D80E294 -:10C400000E942662C8010F94664DCC2341F08AE059 -:10C41000CF911F910F91FF90EF900C942662CF91D6 -:10C420001F910F91FF90EF90089541E0BC0180E0D3 -:10C4300099E30C94EFE1CF93DF93C091340E109207 -:10C44000340EC23019F118F4C13041F02DC0C4309F -:10C4500011F1C53049F5CEE3D9E32BC0811127C0D6 -:10C460000E94E3E141E06BE979E382EC9AE30E9408 -:10C47000EFE180E999E30E9415E2C093340E87E86A -:10C4800099E30E9415E20E94D7E111C01092871E25 -:10C49000CAE5D9E30EC083E899E39093500A8093EC -:10C4A0004F0AC9E4D9E305C0C0E3D9E302C0C3E73A -:10C4B000D9E388E199E30F94664DCE010F94664D60 -:10C4C0008AE0DF91CF910C9426620F931F93CF9354 -:10C4D000DF938B01EA018093340E0E94E3E141E097 -:10C4E000B80182EC9AE30E94EFE1209719F0CE01A7 -:10C4F0000E9415E2DF91CF911F910F910C94D7E12B -:10C500000F931F93CF93DF93C82F0F94E64DC11164 -:10C5100003C080EC99E302C082EE99E30F94664D6C -:10C520000E9423FDDC01CB0188539045AF4FBF4FE4 -:10C5300080931A0D90931B0DA0931C0DB0931D0DAD -:10C5400010921E0D1091DF0883E08093DF0881E0D8 -:10C550008093871E42E95AE36BE97AE382E00E9406 -:10C5600065E284E89AE30E947FA1CC2319F0C2EE31 -:10C57000D9E302C0C0ECD9E301E08091871E882393 -:10C5800009F455C080911E0D882309F44CC00F9406 -:10C59000E64D8DE59AE30F94664D48E45AE36FE467 -:10C5A0007AE382E00E9465E28AE39AE30E947FA137 -:10C5B0008091871E882321F081E00E946A63F8CF72 -:10C5C00040E050E060E37AE382E00E9465E283E2CB -:10C5D0009AE30E943AA10F94B2450E9482DF0F9421 -:10C5E000E64DCE010F94664D0E9423FDDC01CB0188 -:10C5F00088539045AF4FBF4F80931A0D90931B0DFA -:10C60000A0931C0DB0931D0D10921E0D4EE05AE329 -:10C6100067E17AE382E00E9465E28CE397E00E94A2 -:10C620007FA10093871E81E00E946A63A6CF1093CA -:10C63000DF08DF91CF911F910F9108959091340EF3 -:10C64000911102C00C9465E208958F929F92AF926F -:10C65000BF92CF92DF92EF92FF920F931F93CF93EF -:10C66000DF9300D01F92CDB7DEB76C017B018A014A -:10C67000B0901E0D0F94B245B11016C08091720D8E -:10C68000811112C06091000A7091010A8091020A22 -:10C690009091030A0F94C56620914402309145029F -:10C6A000621773070CF4BBC00E9482DF882309F471 -:10C6B000B6C0BB20A1F10F94E64D89E09BE30F9437 -:10C6C000664DB090DF0883E08093DF0881E08093BF -:10C6D000871E82E08093340E0E94E3E140E069EF20 -:10C6E0007AE382EC9AE30E94EFE180E30E94266203 -:10C6F0008AE00E94266280EF9AE30E9415E20E947F -:10C70000D7E182EE9AE30E947FA18091871E882361 -:10C7100021F081E00E946A63F8CFB092DF0820E048 -:10C7200030E0A901F60160817181828193810F94CB -:10C73000635E882371F080E090E0A0ECB0E4898330 -:10C740009A83AB83BC83BE016F5F7F4FC6010E949B -:10C750007FE120E030E0A901F701608171818281F1 -:10C7600093810F94635E882351F180905C0D9090CB -:10C770005D0DA0905E0DB0905F0D80E090E0A8ECA4 -:10C78000B1E480935C0D90935D0DA0935E0DB0932A -:10C790005F0D80E090E0A0EFB1E489839A83AB83E2 -:10C7A000BC83BE016F5F7F4FC7010E947FE1809213 -:10C7B0005C0D90925D0DA0925E0DB0925F0D20E039 -:10C7C00030E0A901F80160817181828193810F9429 -:10C7D000B967181674F480E090E0A0E4B0E48983AF -:10C7E0009A83AB83BC83BE016F5F7F4FC8010E94F9 -:10C7F0007FE181E08093340E0E94E3E141E06BED44 -:10C800007AE382EC9AE30E94EFE181ED9AE30E94E1 -:10C8100015E288EC9AE30E9415E20E94D7E120E03D -:10C8200030E0A9016091410E7091420E8091430E5B -:10C830009091440E0F94635E87FF0FC080E090E0FC -:10C84000A0E7B2E489839A83AB83BC83BE016F5FA8 -:10C850007F4F81E49EE00E947FE180E090E0A8E4C9 -:10C86000B2E489839A83AB83BC83AE014F5F5F4F91 -:10C8700069E37EE085E39EE00E943F7E80E090E0F9 -:10C88000A0EAB0E489839A83AB83BC83BE016F5F67 -:10C890007F4F8DE39EE00E94617E8091410E9091DA -:10C8A000420EA091430EB091440E8093820E90935D -:10C8B000830EA093840EB093850E8093690E90939F -:10C8C0006A0EA0936B0EB0936C0E89E69EE00F94F7 -:10C8D0007D1961E08AEB9AE30E94BFE18091D50B5C -:10C8E00081508093D50B40E050E065E37BE385E029 -:10C8F0000E941EE38091D50B882339F00E94DE6CE4 -:10C900008091D50B81508093D50B80E00E94DBF89D -:10C910008091AC14823011F40F9448170F94524553 -:10C920000F900F900F900F90DF91CF911F910F916B -:10C93000FF90EF90DF90CF90BF90AF909F908F903F -:10C9400008958F929F92AF92BF92CF92DF92EF9213 -:10C95000FF921F93CF93DF93CDB7DEB728970FB623 -:10C96000F894DEBF0FBECDBF2091D50B21111EC1A3 -:10C970007A015B016C0161E082EA99E30E94BFE108 -:10C9800040E050E06AEB79E385E00E941EE380918D -:10C99000730D83FD22C020E030E0A901F701608122 -:10C9A0007181828193810F94635E8823B1F010912D -:10C9B000720D111112C020914402309145028091F4 -:10C9C000040A9091050A821793073CF40F94E64DF0 -:10C9D00089EA99E30F94664DEAC08091D50B91E006 -:10C9E000980F9093D50B9091DE1D92FF06C09B7F10 -:10C9F0009093DE1D8E5F8093D50B0F94A54180E14F -:10CA0000E6E7FEE0A5E3BEE001900D928A95E1F72E -:10CA10000F94FB3981E00E94DBF820E030E0A901AF -:10CA2000F60160817181828193810F94635E882316 -:10CA300019F18091720D811111C06091000A7091FD -:10CA4000010A8091020A9091030A0F94C566209111 -:10CA50004402309145026217730774F080E090E061 -:10CA6000A0E7B2E489839A83AB83BC83BE016F5F86 -:10CA70007F4FC6010E947FE141E061E081E00F94B9 -:10CA80009E3F811104C0B50182E00F94DE4120E099 -:10CA900030E0A901F70160817181828193810F9457 -:10CAA000635E811102C011E082C00E9482DF182FF4 -:10CAB0008823C9F380E090E0A0E7B2E48D839E83F1 -:10CAC000AF83B88780E090E0A0E8B0EC89839A83D8 -:10CAD000AB83BC83BE016B5F7F4FCE0101960E948A -:10CAE0007FE168E873E180E090E00F94FA4C809178 -:10CAF000540D9091550DA091560DB091570D8D8309 -:10CB00009E83AF83B88780E090E0A0E8B0E489839B -:10CB10009A83AB83BC83BE016B5F7F4FCE010196CE -:10CB20000E947FE180905C0D90905D0DA0905E0D65 -:10CB3000B0905F0D80E090E0A8ECB1E480935C0DD4 -:10CB400090935D0DA0935E0DB0935F0D80E090E03B -:10CB5000A4E2B2E48D839E83AF83B887F70180811E -:10CB60009181A281B38189839A83AB83BC83BE0107 -:10CB70006B5F7F4FCE0101960E947FE180925C0D3A -:10CB800090925D0DA0925E0DB0925F0D8091860E29 -:10CB9000882321F0813019F4479A01C0129A64E683 -:10CBA00070E080E090E00F94FA4C01C010E0812F1B -:10CBB00028960FB6F894DEBF0FBECDBFDF91CF91A0 -:10CBC0001F91FF90EF90DF90CF90BF90AF909F901C -:10CBD0008F900895CF93DF93EB01682F70E088EC7E -:10CBE0009BE10E94AE60688179818A819B81643F6C -:10CBF00021E072078105910520F464EF71E080E087 -:10CC000090E00F94FA4C89B183FB882780F9DF917B -:10CC1000CF910895CF92DF92EF92FF921F93CF931F -:10CC2000DF9300D01F92CDB7DEB78EEEC82E82E024 -:10CC3000D82EE12CF12CC982DA82EB82FC82BE0173 -:10CC40006F5F7F4F8AE50E94EAE5811102C010E024 -:10CC500023C084EF91E0A0E0B0E089839A83AB83A6 -:10CC6000BC83BE016F5F7F4F80EA0E94EAE5C98204 -:10CC7000DA82EB82FC82BE016F5F7F4F8AE50E9401 -:10CC8000EAE5182F882319F30F94E24D8CEB98E313 -:10CC90000F94664D0F94574E812F0F900F900F9069 -:10CCA0000F90DF91CF911F91FF90EF90DF90CF9089 -:10CCB0000895CF92DF92EF92FF92CF93DF9300D04F -:10CCC0001F92CDB7DEB78EEEC82E82E0D82EE12CB3 -:10CCD000F12CC982DA82EB82FC82BE016F5F7F4F4A -:10CCE0008AE00E94EAE5811102C0F12C41C084EF84 -:10CCF00091E0A0E0B0E089839A83AB83BC83BE015E -:10CD00006F5F7F4F80EA0E94EAE5C982DA82EB8298 -:10CD1000FC82BE016F5F7F4F8AE50E94EAE5C9820F -:10CD2000DA82EB82FC82BE016F5F7F4F8AE00E9455 -:10CD3000EAE5C982DA82EB82FC82BE016F5F7F4F37 -:10CD40008AE50E94EAE5C982DA82EB82FC82BE01B2 -:10CD50006F5F7F4F8AE00E94EAE5F82E882329F270 -:10CD60000F94E24D82E898E30F94664D0F94574E6E -:10CD70008F2D0F900F900F900F90DF91CF91FF901C -:10CD8000EF90DF90CF9008958F929F92AF92BF92D5 -:10CD9000CF92DF92EF92FF92CF93DF9300D01F925A -:10CDA000CDB7DEB7B82E84EF91E0A0E0B0E0898384 -:10CDB0009A83AB83BC83BE016F5F7F4F80EA0E9482 -:10CDC000EAE59EEEC92E92E0D92EE12CF12CC98223 -:10CDD000DA82EB82FC82BE016F5F7F4F8AE50E94A0 -:10CDE000EAE58091A90D81113CC0BB20D1F1C98237 -:10CDF000DA82EB82FC82BE016F5F7F4F8AE00E9485 -:10CE0000EAE586E9882E912CA12CB12C89829A82A0 -:10CE1000AB82BC82BE016F5F7F4F8CE80E94EAE567 -:10CE200089829A82AB82BC82BE016F5F7F4F82E8AB -:10CE30000E94EAE589829A82AB82BC82BE016F5F62 -:10CE40007F4F8CE80E94EAE5C982DA82EB82FC829D -:10CE5000BE016F5F7F4F8AE50E94EAE581E0809323 -:10CE6000A90D0F900F900F900F90DF91CF91FF9031 -:10CE7000EF90DF90CF90BF90AF909F908F900895EC -:10CE80008F929F92AF92BF92CF92DF92EF92FF92DA -:10CE90000F931F93CF93DF938B01EA01FC01C080B6 -:10CEA000D180E280F380842F0E94C8AB9B01AC014B -:10CEB000C701B6010F9458652FE031EA47E85CE3FB -:10CEC0000F94C95E4B015C0186E0809FF001819F59 -:10CED000F00D1124EC0FFD1FEE0FFF1FEE0FFF1FD3 -:10CEE000EC5AF34FC080D180E280F380C430D1058A -:10CEF00014F0C4E0D0E026E0209FC001219F900DF7 -:10CF000011242196C80FD91FCC0FDD1FCC0FDD1FB8 -:10CF1000CC5AD34FA7019601688179818A819B8180 -:10CF20000F945865A50194010F94C95EA70196015D -:10CF30000F945965DF91CF911F910F91FF90EF9062 -:10CF4000DF90CF90BF90AF909F908F9008958F9279 -:10CF50009F92AF92BF92CF92DF92EF92FF920F9388 -:10CF60001F93CF93DF93EB018A01FC01C080D18036 -:10CF7000E280F380862F0E94F6AB9B01AC01C701D3 -:10CF8000B6010F9458652DEA3CEF44E85CE30F943A -:10CF9000C95E4B015C0186E08C9FF0018D9FF00D16 -:10CFA0001124E00FF11FEE0FFF1FEE0FFF1FEC5AD1 -:10CFB000F34FC080D180E280F380C430D10514F0FB -:10CFC000C4E0D0E0219686E08C9FF0018D9FF00DAB -:10CFD0001124E00FF11FEE0FFF1FEE0FFF1FEC5AA1 -:10CFE000F34FA701960160817181828193810F9433 -:10CFF0005865A50194010F94C95EA70196010F948D -:10D000005965DF91CF911F910F91FF90EF90DF90C5 -:10D01000CF90BF90AF909F908F9008958F929F92E6 -:10D02000AF92BF92CF92DF92EF92FF92CF93DF93B6 -:10D03000EC018090E40C9090E50CA090E60CB09090 -:10D04000E70C20E030E0A901C501B4010F94635E54 -:10D05000882309F44AC0C880D980EA80FB80A701F0 -:10D060009601C501B4010F94635E18160CF042C01E -:10D070002091300E3091310E4091320E5091330E8E -:10D08000C701B6010F94635E882331F1C092300E60 -:10D09000D092310EE092320EF092330E20912C0E8F -:10D0A00030912D0E40912E0E50912F0E6881798176 -:10D0B0008A819B810F94C95E9B01AC0160E070E0A6 -:10D0C00080E89FE30F94586560934A0270934B0287 -:10D0D00080934C0290934D0260914A0270914B02F2 -:10D0E00080914C0290914D0208C060E070E080E8B1 -:10D0F0009FE303C060E070E0CB01DF91CF91FF9030 -:10D10000EF90DF90CF90BF90AF909F908F90089559 -:10D1100080E1EDE5FEE0A6E7BEE001900D928A9584 -:10D12000E1F708952F923F924F925F926F927F9214 -:10D130008F929F92AF92BF92CF92DF92EF92FF9227 -:10D140000F931F93CF93DF93CDB7DEB7C05BD109A9 -:10D150000FB6F894DEBF0FBECDBF8C019E01235CDD -:10D160003F4F2B963FAF2EAF2B978CE0D9011D92EE -:10D170008A95E9F78AE09DE30F94664D26E636E648 -:10D1800046E752E4F80160817181828193810F94B6 -:10D19000C95ECA55DF4F688379838A839B83C65AE9 -:10D1A000D0402DE330E02C0F3D1F245F3F4FC15591 -:10D1B000DF4F39832883CF5AD040AE01435C5F4FA5 -:10D1C0006A0194E5892E9CE0992E01E010E054015B -:10D1D000E12CF12CD5016D917D918D919D915D0199 -:10D1E0009B01AC010F94A66881110EC0F60120814D -:10D1F0003181C8010E2C02C0880F991F0A94E2F7F2 -:10D20000822B932B91838083FFEFEF1AFF0A26E096 -:10D21000E216F104F9F638E1830E911C42E0C40EE7 -:10D22000D11CC155DF4F88819981CF5AD040C81693 -:10D23000D90669F6A4E5BCE0C355DF4FB983A883DE -:10D24000CD5AD040EAECFCE3C555DF4FF983E883C3 -:10D25000CB5AD040C655DF4F1882CA5AD0409E01E3 -:10D260002F5F3F4F2D963FAF2EAF2D97C555DF4F08 -:10D27000E881F981CB5AD04085919591A591B491DF -:10D28000C456DF4F88839983AA83BB83CC59D0408F -:10D29000C355DF4FA881B981CD5AD0406996BFAF41 -:10D2A000AEAF6997EAE8FCE36C96FFAFEEAF6C9720 -:10D2B0006A961FAE6A976C96EEADFFAD6C9725919E -:10D2C000359145915491AC962CAF3DAF4EAF5FAFC9 -:10D2D000AC976996AEADBFAD69976D917D918D911B -:10D2E0009C919B01AC010F94A668811163C06A9662 -:10D2F000BFAD6A97BF5F6A96BFAF6A976C96EEAD97 -:10D30000FFAD6C9734966C96FFAFEEAF6C97699655 -:10D310002EAD3FAD69972C5F3F4F69963FAF2EAF63 -:10D320006997B63041F6C655DF4F3881CA5AD040AA -:10D330003F5FC655DF4F3883CA5AD040C555DF4FCF -:10D3400048815981CB5AD0404C5F5F4FC555DF4F64 -:10D3500059834883CB5AD040C355DF4F8881998188 -:10D36000CD5AD0404896C355DF4F99838883CD5A14 -:10D37000D040363009F07ACF81E79CE30F94664DB8 -:10D38000C055DF4F0FB6F894DEBF0FBECDBFDF91A3 -:10D39000CF911F910F91FF90EF90DF90CF90BF90B2 -:10D3A000AF909F908F907F906F905F904F903F9045 -:10D3B0002F9008952D96EEADFFAD2D972CE3119291 -:10D3C0002A95E9F789819A81AB81BC81C457DF4FE7 -:10D3D00088839983AA83BB83CC58D0402D813E811A -:10D3E0004F815885C057DF4F288339834A835B8339 -:10D3F000C059D04089859A85AB85BC85C857DF4F19 -:10D4000088839983AA83BB83C858D0402D853E85E5 -:10D410004F855889CC57DF4F288339834A835B83F4 -:10D42000C458D04089899A89AB89BC89C058DF4FDC -:10D4300088839983AA83BB83C058D0402D893E89B5 -:10D440004F89588DC458DF4F288339834A835B83C3 -:10D45000CC57D040898D9A8DAB8DBC8DEC968CAF1E -:10D460009DAFAEAFBFAFEC972D8D3E8D4F8D58A1C8 -:10D47000E8962CAF3DAF4EAF5FAFE89789A19AA178 -:10D48000ABA1BCA1E4968CAF9DAFAEAFBFAFE497AC -:10D4900029AD3AAD4BAD5CADE0962CAF3DAF4EAF94 -:10D4A0005FAFE0973DA1CC56DF4F3883C459D040E1 -:10D4B0004EA1CB56DF4F4883C559D0405FA1CA5615 -:10D4C000DF4F5883C659D04088A5C956DF4F88839F -:10D4D000C759D04099A5C856DF4F9883C859D04046 -:10D4E000AAA5C756DF4FA883C959D040BBA5C656C9 -:10D4F000DF4FB883CA59D040ECA5C556DF4FE8834B -:10D50000CB59D04024E53CE0CC55DF4F398328830C -:10D51000C45AD040AE01435C5F4FC056DF4F5983C1 -:10D520004883C05AD0408AEC9CE3CE55DF4F9983A4 -:10D530008883C25AD040CE55DF4FE881F981C25A64 -:10D54000D0402591359145915491A0962CAF3DAF97 -:10D550004EAF5FAFA097C056DF4FA881B981C05AC8 -:10D56000D0408D919D91C056DF4FB983A883C05A9A -:10D57000D0409C0140E050E0A8962CAF3DAF4EAFAC -:10D580005FAFA897CC55DF4F48815981C45AD0402E -:10D590002F965FAF4EAF2F978AE8282E8CE3382E58 -:10D5A00000E010E0A8968CAD9DADAEADBFADA897E4 -:10D5B000002E04C0B695A795979587950A94D2F743 -:10D5C00080FFEBC1F10185919591A591B49163968E -:10D5D0008CAF9DAFAEAFBFAF63972F96AEADBFAD73 -:10D5E0002F978D909D90AD90BC90C456DF4F2881B1 -:10D5F00039814A815B81CC59D040A0966CAD7DAD1C -:10D600008EAD9FADA0970F9458652B013C01AC9651 -:10D610002CAD3DAD4EAD5FADAC9763966CAD7DADC1 -:10D620008EAD9FAD63970F9458656B017C01A3018C -:10D630009201C301B2010F94C95E2B013C01A70105 -:10D640009601C701B6010F94C95E9B01AC01C301ED -:10D65000B2010F9459650F9457689B01AC01CA55EC -:10D66000DF4F688179818A819B81C65AD0400F94AF -:10D67000536620E030E040E85FE30F945965679619 -:10D680006CAF7DAF8EAF9FAF6797A0962CAD3DADD1 -:10D690004EAD5FADA0970F94C95E6B017C019B01FD -:10D6A000AC01C457DF4F688179818A819B81CC5856 -:10D6B000D0400F945965C457DF4F688379838A83BC -:10D6C0009B83CC58D04063962CAD3DAD4EAD5FAD45 -:10D6D000639767966CAD7DAD8EAD9FAD67970F94E8 -:10D6E000C95E2B013C019B01AC01C057DF4F688133 -:10D6F00079818A819B81C059D0400F945965C05768 -:10D70000DF4F688379838A839B83C059D0406796B3 -:10D710002CAD3DAD4EAD5FAD6797C501B4010F9423 -:10D72000C95EA4966CAF7DAF8EAF9FAFA4979B01EF -:10D73000AC01C857DF4F688179818A819B81C858C5 -:10D74000D0400F945965C857DF4F688379838A8327 -:10D750009B83C858D040A7019601A0966CAD7DADC3 -:10D760008EAD9FADA0970F94C95E9B01AC01CC57C5 -:10D77000DF4F688179818A819B81C458D0400F94A2 -:10D780005965CC57DF4F688379838A839B83C4585C -:10D79000D040A301920163966CAD7DAD8EAD9FAD7F -:10D7A00063970F94C95E9B01AC01C058DF4F68813D -:10D7B00079818A819B81C058D0400F945965C058A7 -:10D7C000DF4F688379838A839B83C058D040A496B7 -:10D7D0002CAD3DAD4EAD5FADA497C501B4010F9426 -:10D7E000C95E9B01AC01C458DF4F688179818A8191 -:10D7F0009B81CC57D0400F945965C458DF4F688344 -:10D8000079838A839B83CC57D040A7019601639686 -:10D810006CAD7DAD8EAD9FAD63970F94C95E9B01DE -:10D82000AC01EC966CAD7DAD8EAD9FADEC970F94D9 -:10D830005965EC966CAF7DAF8EAF9FAFEC97A701AB -:10D840009601C501B4010F94C95E9B01AC01E89635 -:10D850006CAD7DAD8EAD9FADE8970F945965E896A0 -:10D860006CAF7DAF8EAF9FAFE897A3019201C5016A -:10D87000B4010F94C95E9B01AC01E4966CAD7DAD23 -:10D880008EAD9FADE4970F945965E4966CAF7DAF74 -:10D890008EAF9FAFE49767962CAD3DAD4EAD5FADBB -:10D8A0006797E0966CAD7DAD8EAD9FADE0970F9420 -:10D8B0005965E0966CAF7DAF8EAF9FAFE09720E0EB -:10D8C00030E0A901C701B6010F94B96787FD98C17F -:10D8D000CC56DF4F2881C459D040CB56DF4F38811A -:10D8E000C559D040CA56DF4F4881C659D040C956A5 -:10D8F000DF4F5881C759D040C701B6010F94B967AF -:10D900001816A4F4CC56DF4FC882C459D040CB5669 -:10D91000DF4FD882C559D040CA56DF4FE882C6597A -:10D92000D040C956DF4FF882C759D04020E030E0E0 -:10D93000A901C301B2010F94B96787FD5CC1C85644 -:10D94000DF4F2881C859D040C756DF4F3881C959A9 -:10D95000D040C656DF4F4881CA59D040C556DF4F28 -:10D960005881CB59D040C301B2010F94B967181642 -:10D97000A4F4C856DF4F4882C859D040C756DF4F7D -:10D980005882C959D040C656DF4F6882CA59D04024 -:10D99000C556DF4F7882CB59D0400F5F1F4FB4E0A0 -:10D9A0002B0E311C2F96EEADFFAD2F9734962F9690 -:10D9B000FFAFEEAF2F970630110509F0F3CDCE552E -:10D9C000DF4F28813981C25AD0402C5F3F4FCE555E -:10D9D000DF4F39832883C25AD040CC55DF4F48816E -:10D9E0005981C45AD040485E5F4FCC55DF4F5983B0 -:10D9F0004883C45AD040C056DF4F88819981C05AAD -:10DA0000D040C155DF4FA881B981CF5AD0408A1785 -:10DA10009B0709F090CDC856DF4F8881C859D04088 -:10DA2000C756DF4F9881C959D040C656DF4FA881ED -:10DA3000CA59D040C556DF4FB881CB59D04089A7CD -:10DA40009AA7ABA7BCA7CC56DF4F8881C459D0405A -:10DA5000CB56DF4F9881C559D040CA56DF4FA881B9 -:10DA6000C659D040C956DF4FB881C759D0408DA3A1 -:10DA70009EA3AFA3B8A7C457DF4F288139814A813D -:10DA80005B81CC58D04029833A834B835C83C05759 -:10DA9000DF4F88819981AA81BB81C059D0408D8395 -:10DAA0009E83AF83B887C857DF4F288139814A8169 -:10DAB0005B81C858D04029873A874B875C87CC5711 -:10DAC000DF4F88819981AA81BB81C458D0408D875E -:10DAD0009E87AF87B88BC058DF4F288139814A8134 -:10DAE0005B81C058D040298B3A8B4B8B5C8BC458E0 -:10DAF000DF4F88819981AA81BB81CC57D0408D8B23 -:10DB00009E8BAF8BB88FEC962CAD3DAD4EAD5FAD1F -:10DB1000EC97298F3A8F4B8F5C8FE8968CAD9DAD3B -:10DB2000AEADBFADE8978D8F9E8FAF8FB8A3E49653 -:10DB30002CAD3DAD4EAD5FADE49729A33AA34BA309 -:10DB40005CA3E0968CAD9DADAEADBFADE09789AF67 -:10DB50009AAFABAFBCAFCE0101960F947442892B44 -:10DB600009F053C0CDA8DEA8EFA8F8ACF7FAF094FE -:10DB7000F7F8F0942DA53EA54FA558A9C456DF4F40 -:10DB8000688179818A819B81CC59D0400F94C95E8C -:10DB90009B01AC01C701B6010F9458656B017C0174 -:10DBA00029A93AA94BA95CA9AC966CAD7DAD8EAD07 -:10DBB0009FADAC970F94C95E9B01AC01C701B60144 -:10DBC0000F9458659B01AC016996AEADBFAD6997E6 -:10DBD0006D937D938D939C9313976A966FAD6A971F -:10DBE000C655DF4F8881CA5AD0400E9477A080E096 -:10DBF0000E946A637CCB77FA709477F870949FCE1A -:10DC0000F7FAF094F7F8F09463CE87E79CE3B6CB8D -:10DC10002F923F924F925F926F927F928F929F923C -:10DC2000AF92BF92CF92DF92EF92FF920F931F932A -:10DC3000CF93DF93CDB7DEB7C359D1090FB6F894B0 -:10DC4000DEBF0FBECDBF382E8090BD149090BE14A5 -:10DC5000A090BF14B090C01420E030E0A901C5012D -:10DC6000B4010F9459652B013C0120E030E040E401 -:10DC700050E40F94635E87FF05C0412C512CE0E413 -:10DC80006E2E762C20E030E84DE953E4C501B40156 -:10DC90000F945965E9966CAF7DAF8EAF9FAFE99752 -:10DCA00020E030E84BE953E40F94B967181654F4B8 -:10DCB00080E090E8ABE9B3E4E9968CAF9DAFAEAFFE -:10DCC000BFAFE997C090C114D090C214E090C314C4 -:10DCD000F090C41420E030E0A901C701B6010F9410 -:10DCE00059654B015C0120E030E040E450E40F94C2 -:10DCF000635E87FF05C0812C912C70E4A72EBA2C9F -:10DD000020E030E04AE953E4C701B6010F945965B9 -:10DD1000ED966CAF7DAF8EAF9FAFED9720E030E812 -:10DD200048E953E40F94B967181654F480E090E87A -:10DD3000A8E9B3E4ED968CAF9DAFAEAFBFAFED9762 -:10DD40000091470E1091480EDE0111967D018CE383 -:10DD5000FD0111928A95E9F7332009F4BCC18DE5E4 -:10DD60009CE30F94664D8BE49CE39F938F931F92EB -:10DD70000F940C452091450E412C512C5AE7652EED -:10DD800053E4752E2D964CAE5DAE6EAE7FAE2D97E4 -:10DD9000812C912C68E4A62E62E4B62E21968CAEDE -:10DDA0009DAEAEAEBFAE219701E042E0BE01675B23 -:10DDB0007F4FCE01CD960F945015E1966CAF7DAF9D -:10DDC0008EAF9FAFE1970F900F900F909B01AC012A -:10DDD0000F94A668811150C32D964CAE5DAE6EAE09 -:10DDE0007FAE2D9721968CAE9DAEAEAEBFAE219785 -:10DDF000BE01675B7F4FCE01CD960E9424AC9B0194 -:10DE0000AC01E1966CAD7DAD8EAD9FADE1970F9409 -:10DE10005865E1966CAF7DAF8EAF9FAFE197809173 -:10DE2000450E9091460E049784F080E10F941E4DAC -:10DE3000E1964CAD5DAD6EAD7FADE1978EE39CE3B9 -:10DE40000F94B24D8AE00E942662812C912C4AE701 -:10DE5000A42E43E4B42E2D968CAE9DAEAEAEBFAED6 -:10DE60002D9780E090E0A8E4B2E421968CAF9DAFBE -:10DE7000AEAFBFAF21979E0123593F4FAE01475B25 -:10DE80005F4FBE01635C7F4FC7010E94EDA98AE22C -:10DE90009CE30F94664D88E19CE39F938F931F92C0 -:10DEA0000F940C452091450E2D968CAE9DAEAEAED6 -:10DEB000BFAE2D9721968CAE9DAEAEAEBFAE219774 -:10DEC00001E042E0BE01675B7F4FCE01CD960F942B -:10DED0005015E1966CAF7DAF8EAF9FAFE1970F907D -:10DEE0000F900F909B01AC010F94A6688111C4C2E2 -:10DEF0002D968CAE9DAEAEAEBFAE2D9721968CAE5C -:10DF00009DAEAEAEBFAE2197BE01675B7F4FCE0127 -:10DF1000CD960E9424AC9B01AC01E1966CAD7DAD29 -:10DF20008EAD9FADE1970F945865E1966CAF7DAFD4 -:10DF30008EAF9FAFE1978091450E9091460E04976A -:10DF400084F080E10F941E4DE1964CAD5DAD6EAD59 -:10DF50007FADE1978BE09CE30F94B24D8AE00E9485 -:10DF60002662812C912C2AE7A22E23E4B22E2D9634 -:10DF70008CAE9DAEAEAEBFAE2D9721968CAE9DAE53 -:10DF8000AEAEBFAE21979E0123593F4FAE01475B16 -:10DF90005F4FBE01635C7F4FC7010E94EDA987EF11 -:10DFA0009BE30F94664D85EE9BE39F938F931F92A7 -:10DFB0000F940C452091450E412C512C38E4632ED2 -:10DFC00032E4732E2D964CAE5DAE6EAE7FAE2D97C5 -:10DFD00021968CAE9DAEAEAEBFAE219701E041E082 -:10DFE000BE01675B7F4FCE01CD960F945015E19631 -:10DFF0006CAF7DAF8EAF9FAFE1970F900F900F90FA -:10E000009B01AC010F94A668811136C22D964CAECF -:10E010005DAE6EAE7FAE2D9721968CAE9DAEAEAE50 -:10E02000BFAE2197BE01675B7F4FCE01CD960E94A8 -:10E0300024AC9B01AC01E1966CAD7DAD8EAD9FAD86 -:10E04000E1970F945865E1966CAF7DAF8EAF9FAFAF -:10E05000E1978091450E9091460E049784F080E1FF -:10E060000F941E4DE1964CAD5DAD6EAD7FADE19769 -:10E0700088ED9BE30F94B24D8AE00E94266280E017 -:10E0800090E0A8E4B2E42D968CAF9DAFAEAFBFAFE9 -:10E090002D9780E090E0AAE7B3E421968CAF9DAF86 -:10E0A000AEAFBFAF21979E0123593F4FAE01475BF3 -:10E0B0005F4FBE01635C7F4FC7010E94EDA9312C09 -:10E0C00080E00F94AF140F946714332009F4C6C195 -:10E0D0008DEA9BE3D6C1C301B2010F94C566CE574A -:10E0E000DF4F79836883C258D040C501B4010F94D3 -:10E0F000C566CC57DF4F79836883C458D040B801D8 -:10E1000061507109072E000C880B990B0F946A5E01 -:10E110002B013C01009F9001019F300D300D112417 -:10E12000EF963FAF2EAFEF97212C31E0CF57DF4F67 -:10E130003883C158D040D12CE2961FAEE297312CE3 -:10E14000CE57DF4F88819981C258D040092E000CEC -:10E15000AA0BBB0BC657DF4F88839983AA83BB8367 -:10E16000CA58D040CC57DF4F88819981C458D040DD -:10E17000092E000CAA0BBB0BC257DF4F8883998373 -:10E18000AA83BB83CE58D040CE56DF4FE882C25917 -:10E19000D040CD56DF4FF882C359D040022D10E059 -:10E1A0008091470E9091480E081719070CF056C140 -:10E1B000E9966CAD7DAD8EAD9FADE9970F94C566C8 -:10E1C000CE57DF4FA881B981C258D0406A1B7B0B64 -:10E1D000072E000C880B990B0F946A5EA301920125 -:10E1E0000F9453664B015C01B801110F880B990B1A -:10E1F0000F946A5E9B01AC01C501B4010F94C95E26 -:10E200004B015C01C657DF4F688179818A819B8110 -:10E21000CA58D0400F946A5E9B01AC01C501B4019D -:10E220000F9459652D966CAF7DAF8EAF9FAF2D9734 -:10E23000CF57DF4FA880C158D040BD2C90E8892E21 -:10E240009BE3992EFA2CCF57DF4FB881C158D040AD -:10E25000FB1ACF2C0F2C000CDD080091470E1091FB -:10E26000480EC016D1060CF0E9C0C257DF4F6881D6 -:10E2700079818A819B81CE58D0400F946A5ECA57BB -:10E28000DF4F688379838A839B83C658D040E296A8 -:10E29000EFADE297EE2351F0B801615071096C19AE -:10E2A0007D09072E000C880B990B05C06F2DFF0C04 -:10E2B000770B880B990B0F946A5E6B017C01ED96CE -:10E2C0006CAD7DAD8EAD9FADED970F94C566CC570F -:10E2D000DF4F28813981C458D040621B730B072E51 -:10E2E000000C880B990B0F946A5EA30192010F94A6 -:10E2F0005366A70196010F94C95ECA57DF4F288164 -:10E3000039814A815B81C658D0400F945965219666 -:10E310006CAF7DAF8EAF9FAF219731108BC0B50131 -:10E3200089E99BE30F94A54DEF966EAD7FADEF9716 -:10E3300087E99BE30F94A54D84E99BE30F94664D19 -:10E34000EF963FADEF973F93EE968FADEE978F939D -:10E35000BF92AF929F928F921F920F940C45109193 -:10E36000450E85E40E9463AB0FB6F894DEBF0FBE86 -:10E37000CDBF811102C042E001C041E001E0212F88 -:10E38000BE01635C7F4FCE01875B9F4F0F9450159A -:10E39000E1966CAF7DAF8EAF9FAFE197332433949E -:10E3A0009B01AC010F94A668811101C0312CBE0104 -:10E3B000635C7F4FCE01875B9F4F0E9424AC9B0123 -:10E3C000AC01E1966CAD7DAD8EAD9FADE1970F9444 -:10E3D0005865E1966CAF7DAF8EAF9FAFE1978091AE -:10E3E000450E9091460E049784F080E10F941E4DE7 -:10E3F000E1964CAD5DAD6EAD7FADE19783E79BE3FC -:10E400000F94B24D8AE00E9426629E0123593F4F2D -:10E41000AE01435C5F4FBE01675B7F4FCE56DF4F5F -:10E420008881C259D040CD56DF4F9881C359D04022 -:10E430000E94EDA9BFEFAB1ABB0A04CF81E0E296C0 -:10E44000EFADE297E827E296EFAFE2972394CF573C -:10E45000DF4FA882C158D040DB2CA0CE80E00F94C3 -:10E46000AF140F94671431100AC0CE0101960F94B7 -:10E470007442892B21F408C03324339421CE8BE5D8 -:10E480009BE30F94664DC5C189A99AA9ABA9BCA904 -:10E490004DA55EA56FA578A9A5964CAF5DAF6EAFF3 -:10E4A0007FAFA597A9968CAF9DAFAEAFBFAFA99731 -:10E4B00080E090E0A0E8BFE3AD968CAF9DAFAEAF3B -:10E4C000BFAFAD97CE018F599F4F0F94BF40809142 -:10E4D000450E9091460E03977CF10DE417E0D801AC -:10E4E0008D918D01882319F00E942662F8CFA596A0 -:10E4F0006CAD7DAD8EAD9FADA59747E00E94C66225 -:10E500008CE20E942662A9966CAD7DAD8EAD9FAD6A -:10E51000A99747E00E94C6628CE20E942662AD96EF -:10E520006CAD7DAD8EAD9FADAD9747E00E94C662EC -:10E5300088E59BE30F94664D89A99AA9ABA9BCA96C -:10E54000CDA4DEA4EFA4F8A86996CCAEDDAEEEAE05 -:10E55000FFAE69976D968CAF9DAFAEAFBFAF6D97B5 -:10E56000812C912C80E8A82E8FE3B82EA1968CAE3A -:10E570009DAEAEAEBFAEA197CE018B5A9F4F0F940A -:10E58000BF402D968CAE9DAEAEAEBFAE2D976196C0 -:10E590001CAE1DAE1EAE1FAE6197F7FAF094F7F8F1 -:10E5A000F0946596CCAEDDAEEEAEFFAE6597CE01D3 -:10E5B000875B9F4F0F94BF4069968CAD9DADAEAD0C -:10E5C000BFAD6997E5968CAF9DAFAEAFBFAFE59796 -:10E5D00061968CAD9DADAEADBFAD6197E9968CAF48 -:10E5E0009DAFAEAFBFAFE9976D964CAC5DAC6EAC76 -:10E5F0007FAC6D972D968CAD9DADAEADBFAD2D971B -:10E60000ED968CAF9DAFAEAFBFAFED97A1968CAC42 -:10E610009DACAEACBFACA1976596CCACDDACEEAC1E -:10E62000FFAC6597A7019601C301B2010F94C95EC3 -:10E63000C358DF4F688379838A839B83CD57D0404B -:10E64000A5019401E9966CAD7DAD8EAD9FADE997C6 -:10E650000F94C95E9B01AC01C358DF4F688179817B -:10E660008A819B81CD57D0400F94586521966CAF1D -:10E670007DAF8EAF9FAF2197A5019401ED966CAD54 -:10E680007DAD8EAD9FADED970F94C95E4B015C01E2 -:10E69000A7019601E5966CAD7DAD8EAD9FADE5977A -:10E6A0000F94C95E9B01AC01C501B4010F9458657C -:10E6B00025966CAF7DAF8EAF9FAF2597E9962CADB9 -:10E6C0003DAD4EAD5FADE997E5966CAD7DAD8EADE0 -:10E6D0009FADE5970F94C95E6B017C01ED962CAD63 -:10E6E0003DAD4EAD5FADED97C301B2010F94C95E74 -:10E6F0009B01AC01C701B6010F94586529966CAF18 -:10E700007DAF8EAF9FAF2997CE01CD960F94BF40BE -:10E7100065968CAD9DADAEADBFAD6597E9968CAFFE -:10E720009DAFAEAFBFAFE99729968CAD9DADAEADB5 -:10E73000BFAD2997ED968CAF9DAFAEAFBFAFED9754 -:10E74000A196CCACDDACEEACFFACA19704E51CE02F -:10E75000212CE3961FAF0EAFE397312C822D0E9440 -:10E76000F6AB4B015C01832D0E94C8AB2B013C0131 -:10E77000E9962CAD3DAD4EAD5FADE997C501B40155 -:10E780000F94C95E4B015C01ED962CAD3DAD4EADD5 -:10E790005FADED97C301B2010F94C95E9B01AC015F -:10E7A000C501B4010F9459654B015C01E396AEAD10 -:10E7B000BFADE3972D913D914D915C91C701B6019D -:10E7C0000F94C95E9B01AC01C501B4010F9459655A -:10E7D0002DA93EA94FA958AD0F9458659B01AC01D6 -:10E7E000E396EEADFFADE3976193719381939193BF -:10E7F000E396FFAFEEAFE397632D822D0E9477A0E3 -:10E800003394F6E03F12AACF2394085E1F4F2F12D5 -:10E81000A0CFCD56DF4F0FB6F894DEBF0FBECDBFF1 -:10E82000DF91CF911F910F91FF90EF90DF90CF90EC -:10E83000BF90AF909F908F907F906F905F904F9020 -:10E840003F902F900895AF92BF92CF92DF92EF92B8 -:10E85000FF920F931F93CF93DF9380E5E82E8BE316 -:10E86000F82EF70185919491FC01C4903296D490D2 -:10E870003197C4913296049131968491882321F185 -:10E88000CC161CF0AA24AA9402C0AA24A394002E99 -:10E89000000C110B0C2E000CDD0B8D2D90E0801761 -:10E8A0009107B1F1BC2C8B2D90E08C179D0751F096 -:10E8B00020E04A2D6D2D8B2D0F94372B811102C036 -:10E8C000BA0CF1CFD394E9CFD0161CF0AA24AA94A5 -:10E8D00002C0AA24A3940C2E000CDD0B002E000C09 -:10E8E000110B8C2D90E08C179D0791F0BD2C8B2D7A -:10E8F00090E08017910751F02A2D40E06B2D8C2D70 -:10E900000F94372B811102C0BA0CF1CFC394E9CF19 -:10E91000F2E0EF0EF11C88E5E8168BE3F80609F04B -:10E92000A0CFDF91CF911F910F91FF90EF90DF90DB -:10E93000CF90BF90AF90089590E0FC013197E23105 -:10E94000F10508F04EC08827E853FF4F8F4F0D9414 -:10E950005065809180008F7703C0809180008F7D0B -:10E9600080938000089580918000877FF9CF84B5DF -:10E970008F7702C084B58F7D84BD08958091B000EB -:10E980008F7703C08091B0008F7D8093B000089591 -:10E99000809190008F7707C0809190008F7D03C099 -:10E9A00080919000877F8093900008958091A000CF -:10E9B0008F7707C08091A0008F7D03C08091A00059 -:10E9C000877F8093A0000895809120018F7707C0F2 -:10E9D000809120018F7D03C080912001877F8093EB -:10E9E000200108953FB7F89480914D0E90914E0EFE -:10E9F000A0914F0EB091500E26B5A89B05C02F3F99 -:10EA000019F00196A11DB11D3FBFBA2FA92F982F54 -:10EA10008827820F911DA11DB11DBC01CD0142E0CF -:10EA2000660F771F881F991F4A95D1F708952F9277 -:10EA30003F924F925F926F927F928F929F92AF928E -:10EA4000BF92CF92DF92EF92FF920F931F93CF93DB -:10EA5000DF93D82FC62F82E697E00E944463D1113E -:10EA60005AC0CC2389F00E94B96F8C01C12CD12CE3 -:10EA7000C0E0D0E0A12CB12C82E9282E80E1382E14 -:10EA800044244394512C3FC00E94D39E8111EBCF6C -:10EA900044C0C016D10608F037C1C5014496C81657 -:10EAA000D90608F031C12FEFC21AD20A0F3F3FEF4B -:10EAB000130709F0C3C10E94B96F8C018C159D0525 -:10EAC00008F04EC1F10101900020E9F73197CF0124 -:10EAD000825990413C01EE24E394F12C97012E568B -:10EAE0003F4E490146E050E06BE677E0C9010F94E4 -:10EAF000116A892B09F0F4C0E614F7040CF43FC145 -:10EB00008FEFA81AB80A0F3F2FEF120711F60E94D5 -:10EB1000B96F8C01BECFC111A6CF3AE0C32E30E24F -:10EB2000D32EE12CF12CC5E0D2E8812C912C54019C -:10EB30001092631C1092621CC093561CD093591CF7 -:10EB4000D701C601880D991DAA1DBB1D80935A1CB3 -:10EB500090935B1CA0935C1CB0935D1C0F94D23609 -:10EB60008FEF881A980AA80AB80A9AE089169104C1 -:10EB7000A104B104E9F62AE0C20ED11CE11CF11C8B -:10EB800032EDC31630E2D306E104F10471F6C12C74 -:10EB900020E2D22EE12CF12CD5E0C2E81092631CC9 -:10EBA0001092621CD093561CC093591CC0925A1CE0 -:10EBB000D0925B1CE0925C1CF0925D1C0F94D236EC -:10EBC0001092631C1092621CD093561CC093591C67 -:10EBD000D701C6018C529F4FAF4FBF4F80935A1C35 -:10EBE00090935B1CA0935C1CB0935D1C0F94D23679 -:10EBF0008FEFC81AD80AE80AF80A9AE0C91690E214 -:10EC0000D906E104F10451F69EEDC92E90E2D92E09 -:10EC1000E12CF12CD5E0C2E81092631C1092621C2A -:10EC2000D093561CC093591CC0925A1CD0925B1CA6 -:10EC3000E0925C1CF0925D1C0F94D2362FEFC21A4A -:10EC4000D20AE20AF20A36EEC31630E2D306E10433 -:10EC5000F10411F7CC24C39482E1D82EE12CF12CDD -:10EC60000AE010E0D5E0C2E81093631C0093621C38 -:10EC7000D093561CC093591CC0925A1CD0925B1C56 -:10EC8000E0925C1CF0925D1C0F94D2361093631CD2 -:10EC90000093621CD093561CC093591CD701C60127 -:10ECA0008096A11DB11D80935A1C90935B1CA0936C -:10ECB0005C1CB0935D1C0F94D2368FEFC81AD80A33 -:10ECC000E80AF80A95E1C91692E1D906E104F104CF -:10ECD00059F686ED93E00E94446382E190E016C00D -:10ECE00046E050E062E777E0C4010F94116A892B97 -:10ECF00009F402CF3FEFE31AF30AC7010197861523 -:10ED000097050CF4EBCEF8CE81E190E09093631C74 -:10ED10008093621C85E08093561C82E88093591C86 -:10ED200084E190E1A0E0B0E080935A1C90935B1CDA -:10ED3000A0935C1CB0935D1CDF91CF911F910F914C -:10ED4000FF90EF90DF90CF90BF90AF909F908F900B -:10ED50007F906F905F904F903F902F900D94D236A0 -:10ED60000F3F8FEF180719F40E94B96F8C0160E014 -:10ED700070E0C8018C199D090E94F16FA3CE22E1B9 -:10ED80002C9FC0012D9F900D11249C012C5C3E4EA8 -:10ED90004901A7014231510514F041E150E062E917 -:10EDA00070E1C4010F941F6A32E13C9FC0013D9F96 -:10EDB000900D112464ED70E184569D4E0F940A6A03 -:10EDC0008AE08C9FA0018D9F500D1124465F5F4DFE -:10EDD000052E000C660B770BFE01EE0FFF1FEE0FEA -:10EDE000FF1FEF51FF4E4383548365837683C40135 -:10EDF0000F9481367E019FEFE91AF90AF092E31031 -:10EE0000E092E2105092631C4092621C25E0209335 -:10EE1000561C32E83093591CCF5FDD4ECE01DD0F1A -:10EE2000AA0BBB0B80935A1C90935B1CA0935C1C99 -:10EE3000B0935D1C0F94D236E70165CE0C151D050D -:10EE400008F440CE94CF4F925F926F927F928F9250 -:10EE50009F92AF92BF92CF92DF92EF92FF921F9359 -:10EE6000CF93DF93C82F80E29BE190939110809322 -:10EE700090101092191B82E090E0A0E0B0E0809327 -:10EE8000021B9093031BA093041BB093051B1092CD -:10EE90008F1010928B1010928C1010928D10109277 -:10EEA0008E108FEF9FEFDC01809387109093881076 -:10EEB000A0938910B0938A10CC2379F1C53008F063 -:10EEC00001C140E060E070E0CB010E9481718823C5 -:10EED00009F4F8C020E1C29FC00111248958914F64 -:10EEE000FC01E254FE4F20812F7709F0EBC03C96E5 -:10EEF00040815181628173814436510561057105FC -:10EF000008F4E0C03497C080D180E280F380C1145F -:10EF1000D104E104F10421F4D5C0C12CD12C760137 -:10EF200040E0C701B6010E948171182F882309F4BF -:10EF3000C9C08091920E9091930E8115924009F074 -:10EF4000C1C0A091970EAA2309F4BCC06091950E90 -:10EF50007091960E6115710509F4B4C08090940EFD -:10EF6000882009F4AFC0A093141B8092061B80E098 -:10EF7000912CA12CB12C412C512C32014394C82F3F -:10EF8000A3019201082E04C0220F331F441F551FF6 -:10EF90000A94D2F782169306A406B50639F08F5F5D -:10EFA000C83069F789E080930F1B8CC080930F1BDA -:10EFB00020919D0E30919E0E2115310519F040E0F3 -:10EFC00050E008C02091AB0E3091AC0E4091AD0ED8 -:10EFD0005091AE0E2093071B3093081B4093091BE2 -:10EFE00050930A1B46015701860E971EA11CB11CA7 -:10EFF0008092151B9092161BA092171BB092181BA3 -:10F00000E091980EF091990EF0931B1BE0931A1B60 -:10F01000B0E00F94FA64860E971EA81EB91E809267 -:10F020001C1B90921D1BA0921E1BB0921F1B85E003 -:10F03000EE0FFF1F8A95E1F7E150FE4FEF2FFF27FC -:10F04000E6958E0E9F1EA11CB11C8092101B909203 -:10F05000111BA092121BB092131B20919A0E30919B -:10F060009B0E2115310521F0A90160E070E008C078 -:10F070004091A70E5091A80E6091A90E7091AA0E12 -:10F08000D701C60188199909AA09BB09840F951FE0 -:10F09000A61FB71F04C0B695A79597958795CA95E3 -:10F0A000D2F780930B1B90930C1BA0930D1BB09376 -:10F0B0000E1B853F2FE09207A105B10528F48CE0D7 -:10F0C0008093191B10E01AC0853F9F4FA105B10521 -:10F0D00010F480E111C08091B30E9091B40EA09114 -:10F0E000B50EB091B60E80931C1B90931D1BA09380 -:10F0F0001E1BB0931F1B80E28093191B812FDF9191 -:10F10000CF911F91FF90EF90DF90CF90BF90AF9085 -:10F110009F908F907F906F905F904F900895CF93C6 -:10F12000DF93CDB7DEB760970FB6F894DEBF0FBEA2 -:10F13000CDBFE6E7FEE080819181A281B381898322 -:10F140009A83AB83BC8384819581A681B7818D83AB -:10F150009E83AF83B88780859185A285B385898793 -:10F160009A87AB87BC8784859585A685B7858D876B -:10F170009E87AF87B88BAE01475F5F4FBE016B5F65 -:10F180007F4FCE0101960F94B13B9E01235F3F4F0D -:10F19000AE01475F5F4FBE016B5F7F4FCE010196AF -:10F1A0000F94D91960960FB6F894DEBF0FBECDBF8D -:10F1B000DF91CF9108959091750E9817C9F08093C3 -:10F1C000750E811109C08091730E8093710E80912C -:10F1D000740E8093720E08958091710E8093730E59 -:10F1E0001092710E8091720E8093740E1092720EB6 -:10F1F000089587EE9AE10E949CBB87EE9AE10E94F7 -:10F20000CFBB8091DE1D8D7F8E7F8093DE1D10929F -:10F21000DA1D1092DB1D1092DC1D1092DD1D81E0C5 -:10F220008093C41C08950F94E64D60916E0E70910A -:10F230006F0E83E49EE30F94CF4D80E49EE30D9424 -:10F24000664DAF92BF92CF92DF92EF92FF920F93F3 -:10F250001F93CF93DF93CDB7DEB72C970FB6F894FB -:10F26000DEBF0FBECDBF26E8C22E23E0D22E5C014A -:10F2700070E0CB018A579C4F7C01CE14DF0409F16A -:10F2800080E20E942662F60181916F010E9426624F -:10F290008AE30E942662F5016191719181919191B9 -:10F2A0005F018E010F5F1F4F23E041E00F943B5938 -:10F2B0008C01F80181918F018823F9F20E94266266 -:10F2C000F8CF8AE00E9426622C960FB6F894DEBF33 -:10F2D0000FBECDBFDF91CF911F910F91FF90EF90A7 -:10F2E000DF90CF90BF90AF900895CF93DF9300D081 -:10F2F0001F92CDB7DEB78091041481111BC081E04D -:10F30000809304148091590E90915A0EA0915B0E37 -:10F31000B0915C0EB05889839A83AB83BC839E0105 -:10F320002F5F3F4F45E65EE061E67EE08DE59EE0C3 -:10F330000E94F0D30F900F900F900F90DF91CF911C -:10F340000895CF93DF9300D01F92CDB7DEB78091A1 -:10F3500004148823F9F02AE939E949E95FE3609167 -:10F36000590E70915A0E80915B0E90915C0E0F9425 -:10F37000C95E69837A838B839C839E012F5F3F4F95 -:10F3800045E65EE061E67EE08DE59EE00E94F0D31A -:10F39000109204140F900F900F900F90DF91CF9167 -:10F3A00008952F923F924F925F926F927F928F9229 -:10F3B0009F92AF92BF92CF92DF92EF92FF920F9304 -:10F3C0001F93CF93DF93CDB7DEB7A0970FB6F89416 -:10F3D000DEBF0FBECDBF1C018B015A8749873C871A -:10F3E0002B87C090760ED090770EE090780EF0903C -:10F3F000790EDC018D919D910D90BC91A02D8D8792 -:10F400009E87AF87B88B9C01AD01C701B6010F94F1 -:10F4100058652B013C0180917A0E90917B0EA09152 -:10F420007C0EB0917D0E898B9A8BAB8BBC8BD801F7 -:10F430008D919D910D90BC91A02D8D8B9E8BAF8B4E -:10F44000B88F9C01AD0169897A898B899C890F9459 -:10F4500058654B015C01A3019201C301B2010F94F5 -:10F46000C95E2B013C01A5019401C501B4010F94B3 -:10F47000C95E9B01AC01C301B2010F945965698F4C -:10F480007A8F8B8F9C8FE985FA85408051806280CE -:10F490007380A3019201C701B6010F9458656D8F67 -:10F4A0007E8F8F8F98A3AB85BC858D909D90AD90FE -:10F4B000BC90A501940169897A898B899C890F94F4 -:10F4C00058656B017C012D853E854F855889C301A8 -:10F4D000B2010F9458652B013C012D893E894F895B -:10F4E000588DC501B4010F9458654B015C01A3010F -:10F4F0009201C301B2010F94C95E2B013C01A50129 -:10F500009401C501B4010F94C95E9B01AC01C30114 -:10F51000B2010F9459650F9457684B015C012D8D12 -:10F520003E8D4F8D58A1CA01B9010F94C95E2B01C0 -:10F530003C01A7019601C701B6010F94C95E9B016A -:10F54000AC01C301B2010F9459659B01AC01698DF7 -:10F550007A8D8B8D9C8D0F94B967181604F520E079 -:10F5600030E0A901C501B4010F94B96787FF04C059 -:10F57000C501B401905802C0C501B40120E030E0DB -:10F5800040EA50E40F94B96718164CF49801A101B1 -:10F590006B857C8589859A850E94D1F985C020E09C -:10F5A00030E040E050E4698D7A8D8B8D9C8D0F9416 -:10F5B000B96718160CF044C00E9475F919821A82B6 -:10F5C0001B821C8220E030E040E05FE360917E0E11 -:10F5D00070917F0E8091800E9091810E0F945965ED -:10F5E0006D837E838F8398879E012F5F3F4FAE018F -:10F5F0004B5F5F4F6AE77EE086E79EE00E94F0D3B4 -:10F6000019821A821B821C8220E030E040E05FE316 -:10F610006091510E7091520E8091530E9091540E44 -:10F620000F9459656D837E838F8398879E012F5F2A -:10F630003F4FAE014B5F5F4FB801C1010E94F0D355 -:10F6400019821A821B821C829E012F5F3F4F41E567 -:10F650005EE0B801C1010E94F0D320914E023091CA -:10F660004F024091500250915102C501B4010F94D4 -:10F67000C95E2091550E3091560E4091570E509113 -:10F68000580E0F94C95E69837A838B839C830E9492 -:10F69000A1F99E012F5F3F4F41E55EE06B857C85C0 -:10F6A00089859A850E94F0D3A0960FB6F894DEBFA4 -:10F6B0000FBECDBFDF91CF911F910F91FF90EF90C3 -:10F6C000DF90CF90BF90AF909F908F907F906F9082 -:10F6D0005F904F903F902F900895CF93DF93282F06 -:10F6E00030E0F901E650F24C8491F901EC54F24C0F -:10F6F000D491F901E259F24CC491CC2391F08111DB -:10F700000E949CF4EC2FF0E0EE0FFF1FEC5AF24C3D -:10F71000A591B491EC91ED2381E090E021F480E09B -:10F7200002C080E090E0DF91CF9108951F93CF93C6 -:10F73000DF93282F30E0F901E650F24C8491F90173 -:10F74000EC54F24CD491F901E259F24CC491CC231F -:10F75000C1F0162F81110E949CF4EC2FF0E0EE0F07 -:10F76000FF1FE65CF24CA591B4919FB7F89411117C -:10F7700004C08C91D095D82302C0EC91DE2BDC9391 -:10F780009FBFDF91CF911F910895CF93DF9390E0BA -:10F79000FC01EC54F24C2491FC01E259F24C8491AE -:10F7A000882361F190E0880F991FFC01E05EF24C24 -:10F7B000C591D491FC01E65CF24CA591B491611124 -:10F7C00009C09FB7F8948881209582238883EC91A3 -:10F7D0002E230BC0623061F49FB7F8948881322FDA -:10F7E000309583238883EC912E2B2C939FBF06C0EA -:10F7F0008FB7F894E8812E2B28838FBFDF91CF91AC -:10F8000008951F93CF93DF93182FEB0161E00E94BF -:10F81000C5FB209711F460E004C0CF3FD10539F457 -:10F8200061E0812FDF91CF911F910C9496FBE12F26 -:10F83000F0E0E650F24CE4918E2F90E0FC0131971D -:10F84000E231F10508F09DC08827E652FF4F8F4F47 -:10F850000D94506584B5806884BDC7BD97C084B5DC -:10F86000806284BDC8BD92C0809180008068809312 -:10F870008000D0938900C093880088C08091800068 -:10F88000806280938000D0938B00C0938A007EC0FA -:10F8900080918000886080938000D0938D00C09319 -:10F8A0008C0074C08091B00080688093B000C093D9 -:10F8B000B3006CC08091B00080628093B000C093B0 -:10F8C000B40064C080919000806880939000D093D1 -:10F8D0009900C09398005AC08091900080628093F4 -:10F8E0009000D0939B00C0939A0050C080919000EC -:10F8F000886080939000D0939D00C0939C0046C088 -:10F900008091A00080688093A0008091A0008F7BF0 -:10F910008093A000D093A900C093A80037C0809125 -:10F92000A00080628093A000D093AB00C093AA0097 -:10F930002DC08091A00088608093A000D093AD007E -:10F94000C093AC0023C08091200180688093200187 -:10F95000D0932901C093280119C0809120018062B1 -:10F9600080932001D0932B01C0932A010FC0809176 -:10F970002001886080932001D0932D01C0932C0139 -:10F9800005C0C038D1050CF04BCF45CFDF91CF91EA -:10F990001F910895863308F0865390917B00282F9D -:10F9A0002870977F922B90937B0087708064809360 -:10F9B0007C0080917A00806480937A0080917A0044 -:10F9C00086FDFCCF809178002091790090E0922B09 -:10F9D00008958F929F92AF92BF92CF92DF92EF9253 -:10F9E000FF926B017C010E94F2F44B015C01C11497 -:10F9F000D104E104F104F1F00E94F2F4DC01CB0146 -:10FA000088199909AA09BB09883E9340A105B10547 -:10FA100070F321E0C21AD108E108F10888EE880EDF -:10FA200083E0981EA11CB11CC114D104E104F104AF -:10FA300019F7DDCFFF90EF90DF90CF90BF90AF90A0 -:10FA40009F908F9008952FB7F8946091490E709110 -:10FA50004A0E80914B0E90914C0E2FBF0895082EA8 -:10FA6000000C990BFC01E259F24CE491EE2399F061 -:10FA7000F0E0EE0FFF1FEC5AF24CA591B4912C91DF -:10FA8000FC01EC54F24C8491822321E090E009F4D3 -:10FA900020E0822F089580E090E00895CF93DF93D7 -:10FAA000C82F87E192E40F94664D0C2E000CDD0BFD -:10FAB000FE01E259F24C8491805C0E942662FE01B4 -:10FAC000EC54F24CE49180E3E13021F0E6958F5F55 -:10FAD0008933D1F7DF91CF910C9426624F925F92D8 -:10FAE0006F927F928F929F92AF92BF92CF92DF924E -:10FAF000EF92FF920F931F93CF93DF93CDB7DEB7B3 -:10FB000064970FB6F894DEBF0FBECDBF082FF62E58 -:10FB1000E42E882E912C26E0829FC0011124FC0146 -:10FB2000E453FE4B65907490FC01E653FE4B5F017D -:10FB300045905490F3018081482F487050E060E078 -:10FB400070E07695679557954795F201108113708F -:10FB5000142BF4E0EF1209C0807190E0A0E0B0E057 -:10FB6000B695A79597958795182B80EC91E40F94FF -:10FB7000664D005D802F0E9426628F2D0E942662B6 -:10FB800083E00F941E4DF401EE0FFF1F8F2D0F2CFD -:10FB9000000C990B9E012F5F3F4F690133E0E80D88 -:10FBA000F91D81549109E80FF91FEE0FFF1FE4566C -:10FBB000FE4BE3121BC0A591B4918C911F928F93C1 -:10FBC00082E991E49F938F93DF92CF920F94FB5D34 -:10FBD0000F900F900F900F900F900F90F601819162 -:10FBE0006F01882309F10E942662F8CFA591B49194 -:10FBF00011968C9111978F938C918F9388E891E453 -:10FC00009F938F93DF92CF920F94FB5D0F900F9095 -:10FC10000F900F900F900F90F60181916F01882344 -:10FC200019F00E942662F8CF612F70E08EE791E410 -:10FC30000F94C34DF501C590D49082EF90E40F94DA -:10FC4000664D802F0E942662F2E4FF1691F023E4B5 -:10FC5000F216F9F031E4F3122DC0F601408142951D -:10FC600046954695437050E060E070E08EEE90E47B -:10FC70001FC0F6014081407350E060E070E094E006 -:10FC800076956795579547959A95D1F78AEE90E4C2 -:10FC90000FC0F60140814C7050E060E070E082E0FF -:10FCA00076956795579547958A95D1F786EE90E4B6 -:10FCB0000F94944DF3014081477050E060E070E094 -:10FCC00085E791E40F94944D8CE691E40F94664D92 -:10FCD000802F0E942662F201608170E088E691E444 -:10FCE0000F94C34D8FE591E40F94664D802F0E94D1 -:10FCF0002662F301608170E08BE591E40F94C34DBF -:10FD000086E0889DF001899DF00D1124E253FE4BA1 -:10FD1000C590D49081E591E40F94664D802F0E94A8 -:10FD20002662F601608170E08EE491E40F94C34D89 -:10FD300000EC0F0DF3E0EF1207C0197F59F48AEFC2 -:10FD400090E40F94664D06C0812F8B7FC1F31C5049 -:10FD50001230A8F3F601808190E0A0E0B0E004C08A -:10FD6000B695A795979587950A95D2F780FF04C019 -:10FD700083E191E40F94664DF601808180FF04C019 -:10FD800080E391E40F94664D64960FB6F894DEBF5D -:10FD90000FBECDBFDF91CF911F910F91FF90EF90DC -:10FDA000DF90CF90BF90AF909F908F907F906F909B -:10FDB0005F904F900895CF93DF93C82FD0E0FE015E -:10FDC000E650F24CE4918E2F90E0FC013197E23145 -:10FDD000F105E8F58827E451FF4F8F4F0D945065EA -:10FDE00043E061E402C043E062E480E02EC044E00E -:10FDF00061E405C044E062E402C044E063E481E001 -:10FE000024C043E061E402C043E062E482E01DC03C -:10FE100044E061E405C044E062E402C044E063E41D -:10FE200083E013C044E061E405C044E062E402C042 -:10FE300044E063E484E009C044E061E405C044E0D8 -:10FE400062E402C044E063E485E00E946EFD84E168 -:10FE500092E40F94664DFE01E259F24CE491E230D7 -:10FE6000F9F4FE01EC54F24CE491E038C9F480E17D -:10FE700092E40F94664D82E10F941E4D88E092E467 -:10FE80000F94664D8EEE91E40F94664D8EE00F94C4 -:10FE90001E4D44E063E481E0DF91CF910C946EFD50 -:10FEA000DF91CF9108952F923F924F925F926F9280 -:10FEB0007F928F929F92AF92BF92CF92DF92EF92FA -:10FEC000FF920F931F93CF93DF93CDB7DEB7AC971D -:10FED0000FB6F894DEBF0FBECDBF182F6CA7542EFF -:10FEE000B22EA32E97EA692E92E4792E00E080E0EC -:10FEF000812E012E000C99082AEC210F2BA7FE0160 -:10FF000031967F01F30132964490242C312C281431 -:10FF1000390409F0A4C081115DC001115BC0AF922A -:10FF2000BF922FE932E43F932F93FF92EF920F9409 -:10FF3000FB5DFAA6E9A60F900F900F900F900F901F -:10FF40000F906701F60181916F01882319F00E94DB -:10FF50002662F8CF1F924F922AE932E43F932F9303 -:10FF6000FF92EF920F94FB5D0F900F900F900F9008 -:10FF70000F900F906701F60181916F01882319F0AE -:10FF80000E942662F8CF812F0E944EFDFBA5F7FD4F -:10FF90001DC026E3221A31083F922F9280E992E495 -:10FFA0009F938F93FF92EF920F94FB5D0F900F90B2 -:10FFB0000F900F900F900F90E9A5FAA58191FAA7E5 -:10FFC000E9A78823B1F00E942662F6CF88E00F945B -:10FFD0001E4D0FC08EE20E942662EB2DFA2DDF012E -:10FFE0000D900020E9F78A2F8B19875E0F941E4D24 -:10FFF00001E0F301C590D490412CF6018491811168 -:020000022000DC -:1000000007C0312C87E2C82ED12CC418D1080AC0F1 -:100010000E9426624394FFEFCF1ADF0A27E24212C2 -:10002000ECCF0AC0832D90E08C159D052CF480E266 -:100030000E9426623394F6CF552069F0812F0E94EA -:10004000A35F882309F4C7C03CA53111C4C085E86B -:1000500092E40F94664D8AE00E94266281E0F4E00B -:100060006F0E711C27E9621623E4720609F04ACF6D -:100070008111F5C0AF92BF9288E592E49F938F9370 -:10008000CE0101967C019F938F930F94FB5D6701D6 -:100090000F900F900F900F900F900F905701F50158 -:1000A00081915F01882319F00E942662F8CF9F9208 -:1000B0008F9283E592E49F938F93FF92EF920F9438 -:1000C000FB5D0F900F900F900F900F900F905701C6 -:1000D000F50181915F01882319F00E942662F8CF13 -:1000E000812F0E944EFD0AEC010F07FD1BC0C401C9 -:1000F000C6979F938F9389E492E49F938F93FF9287 -:10010000EF920F94FB5D0F900F900F900F900F9058 -:100110000F905701F50181915F01882331F00E9412 -:100120002662F8CF88E00F941E4D88E392E40F9486 -:10013000664D552009F44BC0812F0E94BDC081112E -:1001400040C0812F0E942BC3882331F087E10F9498 -:100150001E4D80E692E42CC0003128F5802F0E94CD -:10016000CAFC092E000CAA0BBB0BBF93AF939F9345 -:100170008F9384E292E49F938F93FF92EF920F9478 -:10018000FB5D0FB6F894DEBF0FBECDBFF6018191C7 -:100190006F01882319F00E942662F8CF80E292E472 -:1001A0000F94664D03C087E10F941E4D8AE692E4DA -:1001B0000F94664D812F0E942FFD6AE070E00E942F -:1001C000B66287E10F941E4D812F0E94DBFE8AE00C -:1001D0000E94266244C0F3013396E491E11121C0EC -:1001E0008BA50E94CAFC092E000CAA0BBB0BBF9367 -:1001F000AF939F938F9384E792E49F938F93FF92A3 -:10020000EF920F94FB5D67010FB6F894DEBF0FBE4F -:10021000CDBFF60181916F018823D9F00E9426623B -:10022000F8CF812F0E942BC3811103C08AE692E48C -:1002300007C0812F0E94BDC081110BC080E692E4EF -:100240000F94664D812F0E942FFD6AE070E00E949E -:10025000B662011100CF812F0E94DBFEFCCEAC966E -:100260000FB6F894DEBF0FBECDBFDF91CF911F91C7 -:100270000F91FF90EF90DF90CF90BF90AF909F9045 -:100280008F907F906F905F904F903F902F90089548 -:100290002F923F924F925F926F927F928F929F9296 -:1002A000AF92BF92CF92DF92EF92FF920F931F9384 -:1002B000CF93DF9300D01F92CDB7DEB72DB63EB6F9 -:1002C00084E50E9463AB882309F441C060E089E4BF -:1002D0000E946AE1082F61E070E082E50E94B9ABFC -:1002E0006C0160E070E083E50E94B9AB182F65E413 -:1002F00070E08CE40E94B9AB5C0164EF71E087E5CB -:100300000E94B9AB2C01990F66087708812F90E005 -:10031000A816B906CCF01634A8F4011156C1812FE5 -:100320000E94A35F882309F450C129E737E041E028 -:1003300060E0812F0E9453FF8AE00E9426628AE0DB -:100340000E9426621F5FE2CF87E993E499C085E4AB -:100350000E9463AB8823B1F00E945AE18093210D83 -:1003600084EA96E40F94664D8091210D811103C0BB -:1003700086E996E402C08AE996E40F94664D8DE919 -:1003800096E47EC083E50E9463AB882309F47BC0BA -:1003900060E080E50E94E4D3082F10E0B8018CE310 -:1003A00096E40F94C34DF801EE0FFF1FEE0FFF1FF1 -:1003B000E258FC4F608171818BE296E40F94A54D69 -:1003C0006AE570E08AE196E40F94A54D8AE00E9408 -:1003D000266262E170E086E096E40F94C34D8AE005 -:1003E0000E9426628AEE95E40F94664D8EE993E4AE -:1003F0000F94664D8AE00E94266253985B9A85EDC1 -:1004000095E40F94664D54EF452E55245394612C7A -:10041000712C49825A826B827C82BE016F5F7F4F52 -:1004200080EA0E94EAE56EEE862E62E0962EA12C0E -:10043000B12C89829A82AB82BC82BE016F5F7F4FF2 -:100440008AE50E94EAE57801EE0CFF1C4B990DC18C -:1004500049825A826B827C82BE016F5F7F4F8CE340 -:100460000E94EAE54B99E3C000C18FEFE81AF80A51 -:1004700098E9E9169AE3F90609F046C184EA93E49B -:100480000F94664DDAC160E070E080E50E94B9AB80 -:100490008C01F82E80E50E94ACAB811107C0E5E429 -:1004A000E01708F4CAC195E4E92E01C0E02E60E02F -:1004B00089E40E946AE1582E60E087E50E946AE1C3 -:1004C000882309F47FC08DB69EB687E896E40F9422 -:1004D000664D6801DD248E2D90E08C199D090196F2 -:1004E0002DB73EB7281B390B0FB6F8943EBF0FBE91 -:1004F0002DBF8DB79EB701965C01E01660F0063403 -:1005000040F4511064C1802F0E94A35F882309F436 -:100510005EC10F5FF2CF4090DF0883E08093DF0879 -:1005200081E08093871E4EE656E467E776E482E03A -:100530000E9465E28EE596E40E947FA17F2CE7147D -:1005400018F195E49715F0F0511005C0872D0E9421 -:10055000A35F811117C0872D0E946DFB682E072DA8 -:1005600010E00C191D090A0D1B1DF8018081681689 -:1005700049F028EC35E040E0652D872D0E9453FFBF -:10058000F80160827394DBCF8091871E882339F055 -:1005900068EC70E080E090E00F94FA4CCFCF40928E -:1005A000DF080FB6F8949EBE0FBE8DBE46C1F5E4BF -:1005B000FF1538F028EC35E041E0652D8F2D0E94C5 -:1005C00053FFF394EF1498F738C1A89524E837E067 -:1005D00041E0602F812F0E9453FF61E0812F0E9434 -:1005E000C5FBE12CF12CEC14FD040CF0A8CEA89571 -:1005F00060E0812F0E9496FBC301B2010F94FA4C78 -:10060000A89561E0812F0E9496FBC301B2010F946F -:10061000FA4CA89560E0812F0E9496FBC301B201BD -:100620000F94FA4CA8952FEFE21AF20ADCCF8982D8 -:100630009A82AB82BC82BE016F5F7F4F8AE00E94CC -:10064000EAE54B9912C089829A82AB82BC82BE01D4 -:100650006F5F7F4F8AE50E94EAE580E995E40F9499 -:10066000664DCC24C394D12C36C087E795E40F9413 -:10067000664D84E0B82EC701800F911F9C0128535E -:10068000344E69016AE070E0C6010E94AE6064EF1A -:1006900071E080E090E00F94FA4CA9B06AE570E058 -:1006A000C6010E94AE6064EF71E080E090E00F94BC -:1006B000FA4C89B1BA94B110E5CF8870D82EA3FE58 -:1006C0009CC087E495E40F94664DDD2009F4A2C038 -:1006D000C12CDD24D3940E0D1F1D0853144E6AE067 -:1006E00070E0C8010E94AE6064EF71E080E090E0CD -:1006F0000F94FA4C83E694E40F94664DE12CF12CB0 -:1007000034EFA32EBB24B39462E070E080E090E06D -:100710000F94FA4CC701B5010F942865892B51F449 -:100720000E9423FD6093401A7093411A8093421AED -:100730009093431A89B183FB882780F98D1509F4BA -:1007400094CEE12CF12C89B183FB882780F9D8164F -:1007500069F062E070E080E090E00F94FA4C8FEF77 -:10076000E81AF80A9FE0E916F10469F785E594E4D0 -:100770000F94664D3FE0E316F10449F485E494E4F8 -:100780000F94664DCC20A9F089E294E414C0B7011F -:10079000660F771F88E394E40F94A54D8AE00E94CA -:1007A000266234E0E316F10408F044C08FEB93E4D2 -:1007B00006C089E194E40F94664D8AEE93E40F94A9 -:1007C000664D6AE570E0C8010E94AE6036C062E026 -:1007D000802F0E94C5FB61E070E080E090E00E9405 -:1007E000E9FC602E712C6C187D08802F0E946DFB37 -:1007F000F501E60DF71D80838CCE882349F089E250 -:1008000095E40F94664D6FE877E088EE94E40AC0B3 -:10081000C12C61CF89E295E40F94664D6AEB77E0D5 -:1008200088E095E40F94CF4D8AE00E9426628DE81F -:1008300094E426CE86EF93E4BECF0FB6F8943EBE86 -:100840000FBE2DBE0F900F900F900F90DF91CF91A4 -:100850001F910F91FF90EF90DF90CF90BF90AF90DE -:100860009F908F907F906F905F904F903F902F90D0 -:1008700008950F930FB70F9300916E000F930B7FA6 -:1008800000936E0000916F000D7F00936F000F9337 -:100890000BB70F930CB70F921F922F933F934F9369 -:1008A0005F936F937F938F939F93AF93BF93EF93D8 -:1008B000FF9311240F94AA04FF91EF91BF91AF9180 -:1008C0009F918F917F916F915F914F913F912F9168 -:1008D0001F900F900CBF0F910BBF0F910260F89407 -:1008E00000936F000F9100936E000F910FBF0F9157 -:1008F00018958091400A80FF03C089988FEF02C04D -:10090000899A81E0809306148091400A869580FF41 -:1009100003C08F9A8FEF02C08F9881E080930714F5 -:100920008091400A8695869580FF08C080910B01D2 -:1009300080958270809309018FEF06C080910B0132 -:1009400082708093090181E0809308140000000008 -:10095000000008952F923F924F925F926F927F9284 -:100960008F929F92AF92BF92CF92DF92EF92FF92BF -:100970000F931F93CF93DF93CDB7DEB72D970FB6AD -:10098000F894DEBF0FBECDBF8FEF9FEF909389002D -:10099000809388002AE02987212C312C44244A9412 -:1009A000542C320178948091541490915514A09154 -:1009B0005614B0915714892B8A2B8B2B09F0D9C16F -:1009C00080918B1E8823E1F010928B1E8091891EEE -:1009D00090918A1E892B09F4CCC1109205141092B3 -:1009E0008A1E1092891E9091CE1B8091CF1B981762 -:1009F00009F4BFC18091CF1B8F5F8F708093CF1B95 -:100A00008091891E90918A1E892B09F4B2C1C090F1 -:100A10005014D0905114E0905214F090531440911F -:100A20004C1450914D1460914E1470914F140091DC -:100A30003F1410E020E030E0DB01CA018C199D0971 -:100A4000AE09BF09081719072A073B0710F4D90197 -:100A5000C801482F8C0D9D1DAE1DBF1D80935014E5 -:100A600090935114A0935214B09353142091840086 -:100A700030918500225E3F4FC0902514D0902614FF -:100A8000E0902714F090281480911514909116147A -:100A9000A0911714B09118148C0D9D1DAE1DBF1D93 -:100AA0008093251490932614A0932714B0932814B0 -:100AB000B7FD1CC0889AC090981ED090991EE090F7 -:100AC0009A1EF0909B1E80910614082E000C990B24 -:100AD000AA0BBB0B8C0D9D1DAE1DBF1D8093981ED8 -:100AE0009093991EA0939A1EB0939B1EC0902914B8 -:100AF000D0902A14E0902B14F0902C1480911914AB -:100B000090911A14A0911B14B0911C148C0D9D1D72 -:100B1000AE1DBF1D8093291490932A14A0932B140B -:100B2000B0932C14B7FD1CC08E9AC0909C1ED09020 -:100B30009D1EE0909E1EF0909F1E80910714082E2F -:100B4000000C990BAA0BBB0B8C0D9D1DAE1DBF1D80 -:100B500080939C1E90939D1EA0939E1EB0939F1EFB -:100B6000C0902D14D0902E14E0902F14F0903014DB -:100B700080911D1490911E14A0911F14B091201407 -:100B80008C0D9D1DAE1DBF1D80932D1490932E14B2 -:100B9000A0932F14B0933014B7FD21C080910B01A6 -:100BA0008095887080930901C090A01ED090A11EEE -:100BB000E090A21EF090A31E80910814082E000C55 -:100BC000990BAA0BBB0B8C0D9D1DAE1DBF1D8093F9 -:100BD000A01E9093A11EA093A21EB093A31EC0902E -:100BE0003114D0903214E0903314F090341480918A -:100BF000211490912214A0912314B09124148C0DEF -:100C00009D1DAE1DBF1D8093311490933214A0938F -:100C10003314B0933414B7FD3AC08090A41E909062 -:100C2000A51EA090A61EB090A71EC09009140C2C63 -:100C3000000CDD08EE08FF08C80CD91CEA1CFB1CE0 -:100C4000C092A41ED092A51EE092A61EF092A71EEE -:100C5000C0901114D0901214E0901314F09014145A -:100C60008C199D09AE09BF098093311490933214F9 -:100C7000A0933314B09334149091400A80913D14A2 -:100C800093FF02C0815001C08F5F80933D1480911B -:100C900084009091850082179307C8F380912514F2 -:100CA00090912614A0912714B0912814B7FD15C077 -:100CB000C0901114D0901214E0901314F0901414FA -:100CC0008C199D09AE09BF098093251490932614B1 -:100CD000A0932714B0932814889880912914909198 -:100CE0002A14A0912B14B0912C14B7FD15C0C090FC -:100CF0001114D0901214E0901314F09014148C1965 -:100D00009D09AE09BF098093291490932A14A093DA -:100D10002B14B0932C148E9880912D1490912E1436 -:100D2000A0912F14B0913014B7FD19C0C0901114C8 -:100D3000D0901214E0901314F09014148C199D09A3 -:100D4000AE09BF0980932D1490932E14A0932F14F5 -:100D5000B093301480910B01887080930901415049 -:100D600041F0809184009091850082179307C8F329 -:100D700081CE80915B0290915C02A0915D02B09166 -:100D80005E02892B8A2B8B2B09F0AAC080913E141E -:100D9000882309F452C08090501490905114A09070 -:100DA0005214B0905314C0903914D0903A14E0907B -:100DB0003B14F0903C1480913D14C814D904EA040B -:100DC000FB0488F420910E1430910F1440910C1400 -:100DD00050910D144217530730F4815080933D1405 -:100DE0002150310915C08C149D04AE04BF04E8F4F1 -:100DF00020910E1430910F1440910A1450910B144D -:100E00002417350790F48F5F80933D142F5F3F4F79 -:100E100030930F1420930E144091570250915802B2 -:100E20006091590270915A020BC040925702509241 -:100E300058026092590270925A024FEF5FEFBA0166 -:100E400090913D148091101497FD06C0811102C04D -:100E5000169A07C0439805C0811102C0169801C0B8 -:100E6000439A00000000000020918400309185002A -:100E7000225E3F4F80913D14882351F180911014E0 -:100E8000811102C0149A01C0419A8091840090910E -:100E9000850082179307C8F380913D1487FF02C035 -:100EA0008F5F01C0815080933D1480911014811197 -:100EB00002C0149801C0419880913D148823D1F25A -:100EC000809184009091850082179307C8F3D0CF5A -:100ED00040935B0250935C0260935D0270935E02EC -:100EE0008091541490915514A0915614B0915714B8 -:100EF000892B8A2B8B2B09F08EC3A091891EB09170 -:100F00008A1E109709F4A0C5C0905014D0905114B7 -:100F1000E0905214F090531440914C1450914D14A1 -:100F200060914E1470914F14C416D506E606F7066C -:100F3000D0F01092051410928A1E1092891E909182 -:100F4000CE1B8091CF1B981709F47EC58091CF1BD3 -:100F50008F5F8F708093CF1B00ED802E07E0902E67 -:100F6000A12CB12C8AC14091481450914914609130 -:100F70004A1470914B144C155D056E057F0508F4FD -:100F80006DC0409144145091451460914614709185 -:100F90004714D2960D911D912D913C91D597EE2736 -:100FA000419FF12D529FC001629F900D619F800D66 -:100FB000911D429FF00D811D9E1F519FF00D811DBF -:100FC0009E1F609FF00D811D9E1F509FF10D8E1F73 -:100FD0009E1FF6958E1F9E1F349F800D911D359F7D -:100FE000900D1124FD01EA5BFF4F008111812281E8 -:100FF0003381080F191F211D311D009340141093D8 -:10100000411420934214309343143497C080D1800C -:10101000E280F380C016D106E206F30640F4C092E7 -:101020004014D0924114E0924214F0924314C090C4 -:101030004014D0904114E0904214F090431485EB9A -:101040009EE421E0FC0185909590A590B4908C14CD -:101050009D04AE04BF0408F458C362C32091391440 -:1010600030913A1440913B1450913C1429833A83B7 -:101070004B835C832C153D054E055F0508F070C061 -:101080004091351450913614609137147091381492 -:101090004A875B876C877D87D2960D911D912D9134 -:1010A0003C91D597EE27419FF12D529FC001629F41 -:1010B000900D619F800D911D429FF00D811D9E1F1F -:1010C000519FF00D811D9E1F609FF00D811D9E1F81 -:1010D000509FF10D8E1F9E1FF6958E1F9E1F349FF1 -:1010E000800D911D359F900D11248C0120E030E082 -:1010F0008090401490904114A0904214B0904314FA -:10110000FD01E65BFF4F081519052A053B05A0F414 -:1011100040815181628173814D835E836F837887C3 -:10112000801A910AA20AB30A84169506A606B70683 -:1011300038F44A015B0104C080809180A280B380B2 -:1011400085EB9EE451E05D83FC01059115912591AD -:101150003491081519052A053B0508F465C372C3C7 -:1011600080913D148823D9F0D8964D915C91D99700 -:1011700060E070E0009157021091580220915902EE -:1011800030915A02401751076207730741F01092DD -:101190005B0210925C0210925D0210925E0240911E -:1011A000530250915402609155027091560277FF9C -:1011B0005CC0AE5BBF4F8D919D910D90BC91A02DF9 -:1011C00025EB3EE441E0F901C590D590E590F4901F -:1011D000C816D906EA06FB0658F4B695A795979562 -:1011E0008795440F2C5F3F4F7EE4213D370759F729 -:1011F00040933F1480329105A105B10520F480E2AF -:1012000090E0A0E0B0E08097A109B109811538E035 -:101210009307A105B10508F4D1C344E0949F900160 -:1012200011242B54354BF901329645915491EE27F8 -:10123000859FB001849F610D7E1F06946E1F7E1FE7 -:101240001124CB01A0E0B0E0F9014591549160E098 -:1012500070E0481B590B6A0B7B0B40935302509371 -:1012600054026093550270935602809053029090FE -:101270005402A0905502B09056028091891E909120 -:101280008A1E892B09F0BFC10F94F31390938A1E15 -:101290008093891E892B09F4B6C1E091891EF091D3 -:1012A0008A1E808183FF3EC085899689A789B08D7B -:1012B0008093981E9093991EA0939A1EB0939B1EA4 -:1012C000818D928DA38DB48D80939C1E90939D1ED5 -:1012D000A0939E1EB0939F1E858D968DA78DB0A165 -:1012E0008093A01E9093A11EA093A21EB093A31E54 -:1012F00081A192A1A3A1B4A18093A41E9093A51E45 -:10130000A093A61EB093A71E9091CE1B8091CF1BD9 -:10131000981709F4B9CF8091CF1B8F5F8F7080939E -:10132000CF1BB2CFC588D688E788F08C81E0C11486 -:10133000D104E104F10409F480E0018D128D238DC4 -:10134000348D011511052105310509F08260458DA7 -:10135000568D678D70A1411551056105710509F024 -:1013600084608093051410923514109236141092F4 -:10137000371410923814109244141092451410929D -:1013800046141092471485A196A1A7A1B0A58093F9 -:101390004C1490934D14A0934E14B0934F14882482 -:1013A00099245401881A990AAA0ABB0A8092311416 -:1013B00090923214A0923314B092341480922D146F -:1013C00090922E14A0922F14B0923014809229146F -:1013D00090922A14A0922B14B0922C14809225146F -:1013E00090922614A0922714B0922814CC0CDD1CE5 -:1013F000EE1CFF1CC0921514D0921614E092171424 -:10140000F0921814000F111F221F331F009319149C -:1014100010931A1420931B1430931C14440F551F5F -:10142000661F771F40931D1450931E1460931F1462 -:101430007093201441A152A163A174A1440F551FC0 -:10144000661F771F40932114509322146093231436 -:1014500070932414880F991FAA1FBB1F8093111427 -:1014600090931214A0931314B09314141092501468 -:1014700010925114109252141092531482A593A5F5 -:10148000A4A5B5A58093481490934914A0934A1439 -:10149000B0934B1486A597A5A0A9B1A98093391440 -:1014A00090933A14A0933B14B0933C1481A580937D -:1014B000101420915202821721F010920F141092F2 -:1014C0000E1497A990933E14992309F144AD55AD9C -:1014D00050930D1440930C1442AD53AD50930B1424 -:1014E00040930A1410925B0210925C0210925D020B -:1014F00010925E0240AD51AD60E070E04093570243 -:10150000509358026093590270935A0208C0409257 -:101510005702509258026092590270925A0296A94C -:101520003091400A931302C0821731F09093400A21 -:10153000809352020F9479040E94BD7F409253021F -:10154000509254026092550270925602E091891EA8 -:10155000F0918A1EEA5BFF4F80819181A281B38165 -:101560008093401490934114A0934214B093431479 -:1015700025EB3EE441E0F901C590D590E590F4906B -:10158000C816D906EA06FB0660F4B695A7959795A6 -:101590008795440F2C5F3F4FE1EDFEE4E217F30720 -:1015A00051F740933F1480329105A105B10520F415 -:1015B00080E290E0A0E0B0E08097A109B109811538 -:1015C00058E09507A105B10508F41BC264E0969F99 -:1015D000900111242B54354BF901329645915491C9 -:1015E000EE27859FB001849F610D7E1F06946E1FBC -:1015F0007E1F1124F90185909490A12CB12C861A9C -:10160000970AA108B1088092541490925514A092A0 -:101610005614B092571400915414109155142091FF -:1016200056143091571440915B0250915C026091C6 -:101630005D0270915E02F02E1983F22FE32F4017A6 -:1016400051076207730720F4F42E5983F62FE72F12 -:101650008F2D9981AF2FBE2F0097E1E0AE07B10526 -:1016600020F08FEF9FEFA0E0B0E0081B190B2A0BD2 -:101670003B0B00935414109355142093561430933D -:1016800057144F3FFFEF5F076F077F0761F0481B5D -:10169000590B6A0B7B0B40935B0250935C02609387 -:1016A0005D0270935E02F894209184003091850071 -:1016B000205F3F4F498541504987442339F0280E28 -:1016C000391E2216330608F46DC901C01901309283 -:1016D00089002092880078942D960FB6F894DEBF8A -:1016E0000FBECDBFDF91CF911F910F91FF90EF9073 -:1016F000DF90CF90BF90AF909F908F907F906F9032 -:101700005F904F903F902F900895F694E794D79470 -:10171000C794220F0496EEE4813D9E0709F092CC17 -:1017200020933F14F0E2CF16D104E104F10428F431 -:1017300010E2C12ED12CE12CF12C30E2C31AD108D9 -:10174000E108F108C11488E0D806E104F104F8F0DA -:10175000E4E0DE9EC00111248B54954BFC013296CF -:1017600025913491FC2DEE27F39F8001F29F010D0E -:101770001E1F06940E1F1E1F1124FC0185909490BD -:10178000A12CB12C801A910AA108B10822C097019E -:1017900086013695279517950795F801EC7F9F01EF -:1017A0002B54394BF90185909490F901329685912B -:1017B0009491EC2DE770E89F9001E99F300D112482 -:1017C000F3E036952795FA95E1F7821A930AA12C52 -:1017D000B12C480D591D6A1D7B1D40934414509334 -:1017E0004514609346147093471490913E14809171 -:1017F0003D14992309F474C0882309F43ECDD8968A -:101800008D919C91D997A0E0B0E040915702509102 -:1018100058026091590270915A0284179507A607E1 -:10182000B70709F060C029CDB694A7949794879420 -:101830002D81220F2D83049641ED5EE44817590750 -:1018400009F082CC5D8150933F1460E286169104CA -:10185000A104B10428F450E2852E912CA12CB12CC6 -:1018600060E2861A9108A108B108811478E0970611 -:10187000A104B10408F440C0E4E09E9EC00111241C -:101880008B54954BFC01329625913491F82DEE271F -:10189000F39F8001F29F010D1E1F06940E1F1E1F55 -:1018A0001124FC0185909490A12CB12C801A910AEE -:1018B000A108B1084A855B856C857D85480D591D59 -:1018C0006A1D7B1D40933514509336146093371472 -:1018D0007093381480913E14811132C080913D1470 -:1018E000882309F4CACC10925B0210925C02109219 -:1018F0005D0210925E02C1CC950184013695279558 -:1019000017950795F801EC7F9F012B54394BF9018E -:1019100085919491F901329605911491E82DE77023 -:10192000E09F9001E19F300D112443E0369527950B -:101930004A95E1F74C01821A930AA12CB12CBACF37 -:1019400049815A816B817C812D81420F511D611D1E -:10195000711D4C155D056E057F05C8F480913D1421 -:10196000882309F48ACCD8964D915C91D99760E090 -:1019700070E0009157021091580220915902309165 -:101980005A02401751076207730709F476CC109288 -:101990005B0210925C0210925D0210925E02D89679 -:1019A0008D919C91D997A0E0B0E0809357029093DD -:1019B0005802A0935902B0935A025FCCAC01BD010A -:1019C0007695679557954795FA01EC7F9F012B54C3 -:1019D000394BF90145915491F90132966591749111 -:1019E0008770869F9001879F300D1124C901F3E015 -:1019F00096958795FA95E1F7481B590B60E070E0E2 -:101A00002CCCAC01BD017695679557954795FA01A9 -:101A1000EC7F9F012B54394BF90185909490F9018B -:101A20003296459154918770849F9001859F300D27 -:101A30001124C901A3E096958795AA95E1F7881A24 -:101A4000990AA12CB12CDFCD80ED882E87E0982E4D -:101A5000A12CB12C19CCCF93C82FCB01009711F03A -:101A60000F94664D86E492E50F94664DC11103C054 -:101A700087E392E502C08CE392E50F94664D8AE01D -:101A8000CF910C94266280913F0A811104C080910D -:101A9000410A882331F062E070E080E090E00D942C -:101AA000FA4C08958091D30B882319F01092D30B30 -:101AB000089589E292E50F947837A4E2BDE020E032 -:101AC00030E0C9012430310510F083E090E0880F48 -:101AD000991F880F991FFC01E65AF04B45915591CB -:101AE0006591749154964D935D936D937C93579744 -:101AF000FC01E65BF04B459155916591749194968C -:101B00004D935D936D937C939797FC01E65CF04B4E -:101B100045915591659174914D935D936D937D932E -:101B20002F5F3F4F2430310509F0CBCF80E29EE498 -:101B3000A0E0B0E08093340D9093350DA093360D66 -:101B4000B093370D80E090E0A6E9B3E48093580DA0 -:101B50009093590DA0935A0DB0935B0D40E050E067 -:101B60006AE774E440935C0D50935D0D60935E0DE5 -:101B700070935F0D8093600D9093610DA093620D43 -:101B8000B093630D1092640D1092650D1092660D66 -:101B90001092670D1092680D1092690D10926A0DE7 -:101BA00010926B0D8AE097EDA3EABDE38093721467 -:101BB00090937314A0937414B09375148CE0E2E4C2 -:101BC000FAE0DF011D928A95E9F780E090E0A0EA53 -:101BD000B2E48093740D9093750DA093760DB0933D -:101BE000770D40E050E060E070E44093780D509352 -:101BF000790D60937A0D70937B0D88EB9BE0909349 -:101C00007D0D80937C0D90937F0D80937E0D88E0F9 -:101C1000EAE8F3E0A0E8BDE001900D928A95E1F7D3 -:101C20004093880D5093890D60938A0D70938B0DAE -:101C300084EE97E00E9444631092591410925A1453 -:101C400010925B1410925C1480E00F948F4B0F94F1 -:101C5000B74B80E090E0A0EBB1EC8093BD14909383 -:101C6000BE14A093BF14B093C01480E090E0A4E32E -:101C7000B2EC8093C1149093C214A093C314B09398 -:101C8000C4141092C5141092C6141092C714109266 -:101C9000C81480E090E0A8E9B1E48093070A90932B -:101CA000080AA093090AB0930A0A8AE891EEAAE604 -:101CB000BEE380930B0A90930C0AA0930D0AB09395 -:101CC0000E0A80E89AE6A9ECB3E480930F0A909399 -:101CD000100AA093110AB093120A83EC95E9ACE2C2 -:101CE000B4E480931E0A90931F0AA093200AB09335 -:101CF000210A80E29BE1A2E9B1E48093220A909359 -:101D0000230AA093240AB093250A87EF9CEDABEC3D -:101D1000B5E48093260A9093270AA093280AB093EB -:101D2000290A1092341E80E090E0A0EEBFE3809379 -:101D30003D1E90933E1EA0933F1EB093401E809385 -:101D4000411E9093421EA093431EB093441E1092D6 -:101D50003F0A10923E0A0F94430D1092EF0C10921E -:101D6000F00C1092F10C1092F20C1092F30C1092F5 -:101D7000F40C1092F50C1092F60C40E050E067ED78 -:101D800073E440935D1450935E1460935F147093FA -:101D9000601480E090E0A1EEB3E48093611490932E -:101DA0006214A0936314B093641440936514509329 -:101DB0006614609367147093681480936914909309 -:101DC0006A14A0936B14B0936C140F940E4084EEBD -:101DD00097E00C9444638091041C9091051C8853F7 -:101DE000934060E970E00F942865CB010895EF926D -:101DF000FF920F931F93CF93DF9300D01F92CDB725 -:101E0000DEB7182F7B010F94EB0E17FD2FC0212F8B -:101E1000110F330B281739074CF52F5F3F4F80E91F -:101E2000829FA001839F500D11248091041C9091EA -:101E3000051C841B950B9C838B831A821982E114E9 -:101E4000F10411F0B70102C064E57CE001E09E01FD -:101E50002F5F3F4F40E950E0CE0103960E94EC5FB8 -:101E6000882321F08EE19FE40F94664D0F900F9030 -:101E70000F900F90DF91CF911F910F91FF90EF90F6 -:101E800008951F93CF93DF9300D01F92CDB7DEB795 -:101E9000182F0F94EB0E17FD29C0212F110F330BB4 -:101EA000281739071CF52F5F3F4F80E9829FA0015B -:101EB000839F500D11248091041C9091051C841B5C -:101EC000950B9C838B831A8219829E012F5F3F4F53 -:101ED00040E950E064E57CE0CE0103960E94296071 -:101EE000882321F082E09FE40F94664D0F900F90BD -:101EF0000F900F90DF91CF911F910895EF92FF9275 -:101F00000F931F93CF93C82F811102C00F94E64DFA -:101F100082E192E50F94664D8CE092E50F94664D58 -:101F20008AE00E9426628AE00E942662C11114C0E3 -:101F30000F94E64D89EF91E50F94664D8091341E24 -:101F4000882321F08AE00E94266204C08EEE91E58B -:101F50000F94664D0F94E64D40913D1E50913E1EEC -:101F600060913F1E7091401E85EE91E50F94B24D39 -:101F70008AE00E942662C11102C00F94E64D409192 -:101F8000411E5091421E6091431E7091441E89ED86 -:101F900091E50F94B24D8AE00E9426628091341E32 -:101FA000811108C0C11102C00F94E64D8EEC91E57D -:101FB0000F94664DC11106C00F94E64D8DEB91E56F -:101FC0000F94664D6FEF81E08C270F942F22C11183 -:101FD00008C00F94E64D8FE991E50F94664D0F947C -:101FE000E64D4091480D5091490D60914A0D709118 -:101FF0004B0D86E991E50F94B24D40914C0D5091F7 -:102000004D0D60914E0D70914F0D83E991E50F9448 -:10201000B24D4091500D5091510D6091520D709103 -:10202000530D80E991E50F94B24D4091540D5091BC -:10203000550D6091560D7091570D8DE891E50F94F7 -:10204000B24D8AE00E942662C11108C00F94E64D8D -:102050008BE691E50F94664D0F94E64D6091240D4B -:102060007091250D8091260D9091270D0F94685E3B -:10207000AB01BC0182E691E50F94B24D6091280D51 -:102080007091290D80912A0D90912B0D0F94685E0F -:10209000AB01BC018FE591E50F94B24D60912C0D21 -:1020A00070912D0D80912E0D90912F0D0F94685EE3 -:1020B000AB01BC018CE591E50F94B24D6091300D00 -:1020C0007091310D8091320D9091330D0F94685EB7 -:1020D000AB01BC0189E591E50F94B24D8AE00E9405 -:1020E0002662C11108C00F94E64D8FE091E50F9470 -:1020F000664D0F94E64D4091580D5091590D6091E9 -:102100005A0D70915B0D86E091E50F94B24D4091B0 -:102110005C0D50915D0D60915E0D70915F0D83E0DF -:1021200091E50F94B24D4091600D5091610D609119 -:10213000620D7091630D80E091E50F94B24D8AE0DD -:102140000E942662C1110FC00F94E64D88EB90E506 -:102150000F94664D8BEA90E50F94664D8AE00E94DD -:1021600026620F94E64D6091340D7091350D80918B -:10217000360D9091370D0F94685EAB01BC0182EA79 -:1021800090E50F94B24D4091640D5091650D6091B2 -:10219000660D7091670D8FE990E50F94B24D4091F7 -:1021A000680D5091690D60916A0D70916B0D8CE90D -:1021B00090E50F94B24D4091721450917314609158 -:1021C00074147091751489E990E50F94B24D8AE00A -:1021D0000E942662C11108C00F94E64D8BE890E57D -:1021E0000F94664D0F94E64D4091420A5091430A78 -:1021F0006091440A7091450A82E890E50F94B24DCF -:102200004091460A5091470A6091480A7091490AE4 -:102210008FE790E50F94B24D40914A0A50914B0AD6 -:1022200060914C0A70914D0A8CE790E50F94B24D85 -:102230008AE00E942662C1110CC00F94E64D8AE626 -:102240009FE40F94664D89E790E50F94664D0F94D7 -:10225000E64D6091451E70E080E790E50F94C34D18 -:102260004091E40C5091E50C6091E60C7091E70C04 -:102270008DE690E50F94B24D8AE00E942662C1116E -:1022800024C08AE00E9426620F94754D60916D14FF -:10229000062E000C770B89E590E50F94C34D8AE07C -:1022A0000E9426620F94EB0EBC0188E490E50F9427 -:1022B000A54D8DE390E50F94664D0F94E64D8EE2AB -:1022C00090E50F94664D0F94E64D4091070A5091AA -:1022D000080A6091090A70910A0A85E290E50F9454 -:1022E000B24D2CEA35EC47E25EE360910B0A709147 -:1022F0000C0A80910D0A90910E0A0F945366AB015F -:10230000BC0182E290E50F94B24D2CEA35EC47E235 -:102310005EE360910F0A7091100A8091110A90910A -:10232000120A0F94C95EAB01BC018FE190E50F94D6 -:10233000B24D8AE00E942662C11102C00F94E64DA0 -:1023400040911E0A50911F0A6091200A7091210A43 -:1023500086E190E50F94B24D2CEA35EC47E25EE35E -:102360006091220A7091230A8091240A9091250A93 -:102370000F945366AB01BC0183E190E50F94B24D1D -:102380002CEA35EC47E25EE36091260A7091270A59 -:102390008091280A9091290A0F94C95EAB01BC0173 -:1023A00080E190E50F94B24D8AE00E942662C1114F -:1023B00010C00F94E64D81E090E50F94664D8CE0DF -:1023C00092E50F94664D8FE79FE40F94664D0F944E -:1023D000E64D4091BD145091BE146091BF147091B0 -:1023E000C01488EF9FE40F94B24D8AE00E942662E9 -:1023F0004091C1145091C2146091C3147091C414DF -:102400008FEE9FE40F94B24D8AE00E9426624091C5 -:10241000C5145091C6146091C7147091C81486EE0B -:102420009FE40F94B24D8AE00E942662C11108C059 -:102430000F94E64D85ED9FE40F94664D0F94E64DA5 -:102440008FEEE82E8CE0F82E00E010E0B8018CEC66 -:102450009FE40F94C34DF7014191519161917191A6 -:102460007F0189EC9FE40F94B24D8AE00E942662BE -:102470000F5F1F4F0230110549F7C11108C00F94BB -:10248000E64D8AEA9FE40F94664D0F94E64D82E88C -:102490009FE40F94664D40916114509162146091D5 -:1024A00063147091641485EA9FE40F94B24D4091D7 -:1024B0005D1450915E1460915F147091601482EA13 -:1024C0009FE40F94B24D8AE00E942662C11102C0BF -:1024D0000F94E64D82E89FE40F94664D4091691495 -:1024E00050916A1460916B1470916C148DE99FE4A3 -:1024F0000F94B24D40916514509166146091671429 -:10250000709168148AE99FE40F94B24D8AE00E94AA -:102510002662C11108C00F94E64D8AE89FE40F942B -:10252000664D0F94E64D81E0CF911F910F91FF9082 -:10253000EF900C9443C38F929F92AF92BF92CF9231 -:10254000DF92EF92FF920F931F93CF93DF9381E07F -:10255000809358140E94BAC910925814882309F421 -:10256000E1C00E94BAC9D82E87EF97E00E94446369 -:102570000F94CE4C882309F47FC0F12CEE24E39411 -:1025800000E010E0D1E036E0C32EC0E0BB24B394FD -:1025900046E0A42E55E0952E62E8862EEB24CC165C -:1025A000F1F18F2D90E08397C4F5C530B1F105307E -:1025B000A1F1F394F801AC9EE00DF11D1124EE0F92 -:1025C000FF1FEE0FFF1FEC5AF34F20E030E04AE709 -:1025D00054E460817181828193810F94C95E0F946C -:1025E000C5667093631C6093621C9092561C809227 -:1025F000591C4F2D50E04158574F440F551F052E81 -:10260000000C660B770B40935A1C50935B1C609335 -:102610005C1C70935D1C0F94D236CD0FC0CF0F5F42 -:102620001F4F0630110561F0E11005C0DFEFCC242B -:10263000CA94C5E0B3CFD1E026E0C22EC0E0AECF51 -:1026400083E090E09093631C8093621C85E080930C -:10265000561C82E88093591C85E490E1A0E0B0E02C -:1026600080935A1C90935B1CA0935C1CB0935D1CE0 -:102670000F94D23681E01BC082E090E09093631CFF -:102680008093621C85E08093561C82E88093591CDD -:1026900085E490E1A0E0B0E080935A1C90935B1C2D -:1026A000A0935C1CB0935D1C0F94D23680E00F9415 -:1026B0008F4B4091C5145091C6146091C71470910E -:1026C000C81485ED9EE40F94B24D8AE00E94266204 -:1026D00020E030E048EC52E46091C5147091C614DB -:1026E0008091C7149091C8140F94C95E0F94C56669 -:1026F0007093631C6093621C85E08093561C82E893 -:102700008093591C86E290E1A0E0B0E080935A1CCF -:1027100090935B1CA0935C1CB0935D1C0F94D2360D -:102720008D2D0BC00F945D0D0E94AECF0F94E64D22 -:102730008EEE9EE40F94664D80E0DF91CF911F9165 -:102740000F91FF90EF90DF90CF90BF90AF909F9050 -:102750008F9008951F93CF93DF93CDB7DEB728975F -:102760000FB6F894DEBF0FBECDBF69837A838B832B -:102770009C832D833E834F8358870E9459E688238C -:1027800011F081E026C081E00E94DBF869E170E091 -:1027900080E090E00F94FA4CBE016B5F7F4FCE015A -:1027A00001960E94617E1091D30B147080E00E940C -:1027B000DBF8112321F00E940AE68111E2CF10928A -:1027C000D30B82E00E949C7E0E940A7F81E011115F -:1027D00080E028960FB6F894DEBF0FBECDBFDF9124 -:1027E000CF911F9108958091CE1B9091CF1B891B93 -:1027F0008F7019F480E090E008959091CB1B99239D -:1028000051F0833030F48FEF890F19F08093CB1B98 -:10281000F1CF1092CB1BE091CF1B84E5E89FF00134 -:102820001124E753FB4E808180FDE4CF8091CF1BC4 -:102830008F5F8F708093CC1B9091CF1B8091CD1BAD -:10284000981304C08091CC1B8093CD1BCF010895B9 -:10285000CF92DF92EF92FF92CF93DF93EC016A0168 -:102860007B0127E137EB41ED58EBC701B6010F942F -:10287000B96787FD23C023E030E04AE953E4C7018C -:10288000B6010F94635E1816CCF0C880D980EA8038 -:10289000FB8027E137EB41ED58EBC701B6010F9400 -:1028A000B96787FD0BC0C1E023E030E84DE953E490 -:1028B000C701B6010F94635E18160CF4C0E08C2FAC -:1028C000DF91CF91FF90EF90DF90CF900895CF925E -:1028D000DF92EF92FF92CF93DF93CDB7DEB72897C9 -:1028E0000FB6F894DEBF0FBECDBF20E030E040EA67 -:1028F00050E460917E0E70917F0E8091800E9091D9 -:10290000810E0F94635E8823E9F01D821E821F8270 -:102910001886C12CD12C80EAE82E80E4F82EC982DA -:10292000DA82EB82FC82BE016B5F7F4FCE010196A3 -:102930000E94617EC0927E0ED0927F0EE092800E49 -:10294000F092810E28960FB6F894DEBF0FBECDBF71 -:10295000DF91CF91FF90EF90DF90CF900895BF92DD -:10296000CF92DF92EF92FF920F931F93CF93DF935B -:10297000CDB7DEB728970FB6F894DEBF0FBECDBF38 -:102980009091410A981709F47AC0B82E80E090E03F -:10299000A0E2B1E48D839E83AF83B887C090C51455 -:1029A000D090C614E090C714F090C81420E030E036 -:1029B000A901C701B6010F94635E87FF0CC0A70190 -:1029C000960160E070E080E291E40F9458656D83B9 -:1029D0007E838F83988720E030E048EC53E46D815C -:1029E0007E818F8198850F94B967181644F480E032 -:1029F00090E0A8ECB3E48D839E83AF83B8872D81EC -:102A00003E814F81588560917E0E70917F0E80913E -:102A1000800E9091810E0F94635E87FF0BC0198228 -:102A20001A821B821C82BE016F5F7F4FCE0105960A -:102A30000E94617E6091760E7091770E8091780E83 -:102A40009091790E20917A0E30917B0E40917C0E00 -:102A500050917D0E19821A821B821C82E0907E0E9C -:102A6000F0907F0E0091800E1091810EFE01319644 -:102A70006F010E94827DB092410A0F94430D80E065 -:102A800028960FB6F894DEBF0FBECDBFDF91CF9171 -:102A90001F910F91FF90EF90DF90CF90BF9008951E -:102AA0002F923F924F925F926F927F928F929F925E -:102AB000AF92BF92CF92DF92EF92FF920F931F934C -:102AC000CF93DF93CDB7DEB764970FB6F894DEBF30 -:102AD0000FBECDBF9E878D87788B6F87342E222EB9 -:102AE000FC01C080D180E280F380C986DA86EB8663 -:102AF000FC86FB0180809180A280B380002321F1BD -:102B00000E94EAAD882309F496C12091BD1430914A -:102B1000BE144091BF145091C014C701B6010F9468 -:102B2000586569877A878B879C872091C11430917B -:102B3000C2144091C3145091C414C501B4010F9440 -:102B400058654B015C0109C0B501A401CE0109968D -:102B50000F942814882309F46EC1E0907E0EF09043 -:102B60007F0E0091800E1091810E40904002509097 -:102B70004102609042027090430280E090E0A8EC35 -:102B8000B2E48093400290934102A0934202B0933A -:102B9000430219821A821B821C8269857A858B8581 -:102BA0009C859E012F5F3F4F6901A50194010E9402 -:102BB000827D81E00F94AF148111C4C08091481AC6 -:102BC00082FF11C02091C5143091C6144091C714E2 -:102BD0005091C81460E070E080E490EC0F94586568 -:102BE0004B015C0106C0812C912C30E2A32E31EC0C -:102BF000B32E20E030E040E850E4C501B4010F946A -:102C0000AA13882329F060E070E080EC9FE753C0AE -:102C1000C0907E0ED0907F0EE090800EF090810EDE -:102C200080E090E0A0E8B0E489839A83AB83BC8322 -:102C300020E030E040EA50E4C701B6010F94596546 -:102C40006D837E838F839887BE016F5F7F4FCE0138 -:102C500005960E94617E20E030E040E050E4C5012E -:102C6000B4010F94AA138111CECF20E030E040E4EC -:102C700050E460917E0E70917F0E8091800E909155 -:102C8000810E0F94C95E698B7A8B8B8B9C8BA7010D -:102C90009601C701B6010F9459659B01AC01698982 -:102CA0007A898B899C890F9459652DEC3CEC4CE416 -:102CB0005EE30F94C95E2091C5143091C614409113 -:102CC000C7145091C8140F9459656B018C018EEF95 -:102CD000830D823050F580E090E0A0E8B0E48D8371 -:102CE0009E83AF83B88720917E0E30917F0E4091F6 -:102CF000800E5091810E83E0381629F060E070E07C -:102D000080EA90E404C060E070E088EC91E40F9405 -:102D1000596569837A838B839C83BE016B5F7F4F88 -:102D2000CE0101960E94617E08C0E1E03E1205C01E -:102D300080E00F94AF14811105C0F2E0F21508F0A5 -:102D40005BC008C0F2E0F21508F07AC0C12CD12CAB -:102D500000EC1FE724E1E22E28E0F22EF70181913A -:102D60007F01882319F00E942662F8CF2091B114C8 -:102D70003091B2144091B3145091B414ED85FE8596 -:102D800060817181828193810F94596543E00E9433 -:102D9000C6629CE1E92E98E0F92EF70181917F014E -:102DA000882319F00E942662F8CF2091B514309143 -:102DB000B6144091B7145091B814EF85F88960812A -:102DC0007181828193810F94596543E00E94C662AC -:102DD00081E2E82E88E0F82EF70181917F018823B7 -:102DE00019F00E942662F8CF43E0B601C8010E94A4 -:102DF000C6628AE00E9426624092400250924102DE -:102E000060924202709243029601A801B601C80185 -:102E10000F94A668882309F180E00F94AF1460E056 -:102E200089E592E50F94B1440F94E24D89E492E56F -:102E30000F94664D12C0C12CD12C00EC1FE70DC0C1 -:102E400040924002509241026092420270924302CC -:102E5000C12CD12C00EC1FE7DFCFB601C80164966E -:102E60000FB6F894DEBF0FBECDBFDF91CF911F919B -:102E70000F91FF90EF90DF90CF90BF90AF909F9019 -:102E80008F907F906F905F904F903F902F9008951C -:102E9000CF93DF93C091AC1486E298E00E94446324 -:102EA0008091A714873009F445C083E08093A6146D -:102EB00081E080936B0280E190E09093631C8093AB -:102EC000621C85E08093561CD2E8D093591C84E1A3 -:102ED00090E1A0E0B0E080935A1C90935B1CA0931B -:102EE0005C1CB0935D1C0F94D23661E070E080E012 -:102EF00090E00E945CA081E09AE59093631C80932F -:102F0000621C85E390E09093651C8093641C87E0CD -:102F10008093561CD093591C84E890E0A0E0B0E068 -:102F200080935A1C90935B1CA0935C1CB0935D1C17 -:102F30000F94D236C13081F1C23059F40F9456410A -:102F400060939E1470939F148093A0149093A11487 -:102F500002C00F948A4181E08093AC140E9423FD4B -:102F600060939A1470939B1480939C1490939D1477 -:102F7000C230A1F080912E0A90912F0A0196909371 -:102F80002F0A80932E0A1092AD141092AE14109254 -:102F9000AF141092B01402C080E001C081E0DF9154 -:102FA000CF910895CF93DF9300D01F92CDB7DEB7B6 -:102FB00080912D0A8823A9F083E390E09C838B8382 -:102FC0001A8219829E012F5F3F4F40E150E06EE26E -:102FD0007AE0CE0103960E94296088E197E00E9482 -:102FE00044630F900F900F900F90DF91CF91089551 -:102FF000CF92DF92EF92FF920F931F938091AC14C8 -:103000008150823010F080E0A7C08AE598E00E94ED -:1030100044638091A714833009F441C08EE398E0A3 -:103020000E9444638AE498E00E94446340E060E0C8 -:1030300070E0CB010F94744541E060E070E0CB019B -:103040000F94744581E0809305021092A51421E04D -:1030500030E03093A4142093A31480936B0281E09A -:103060009AE59093631C8093621C8DE290E09093AC -:10307000651C8093641C87E08093561C82E88093D3 -:10308000591C84E890E0A0E0B0E080935A1C909333 -:103090005B1CA0935C1CB0935D1C0F94D236109205 -:1030A000AC140E9423FD6093A8147093A91480931C -:1030B000AA149093AB148091300A9091310A019632 -:1030C0009093310A8093300AC090AD14D090AE1422 -:1030D000E090AF14F090B0140F9456416093AD148B -:1030E0007093AE148093AF149093B0140091320A91 -:1030F0001091330A2091340A3091350A0C191D09B8 -:103100002E093F09DC01CB01800F911FA21FB31FC5 -:103110008093320A9093330AA093340AB093350A0D -:103120000F9456410091360A1091370A2091380ABF -:103130003091390A061717072807390750F40F94FA -:1031400056416093360A7093370A8093380A9093F9 -:10315000390A0F94D21781E01F910F91FF90EF90E1 -:10316000DF90CF900895CF93DF9300D01F921F92EE -:10317000CDB7DEB781E080932D0AEEE2FAE080E180 -:10318000DF011D928A95E9F70F94D21786E18D83AE -:1031900082E390E09C838B831A8219829E012F5FC9 -:1031A0003F4F41E050E0BE016B5F7F4FCE01039681 -:1031B0000E9429600F900F900F900F900F90DF9159 -:1031C000CF910895CF92DF92EF92FF920F931F93CA -:1031D000CF93DF93C4E2DDE00AE714E1C12CD12CE8 -:1031E0007601C39469917991899199910F94685E60 -:1031F000288939894A895B890F94C95E0F94CC6606 -:10320000F80161937193819391938F01C616D7064C -:10321000E806F90610F46B017C01FDE0C433DF071A -:1032200009F76FEF7FEFCB01A70196010F94B96407 -:103230002093761430937714409378145093791434 -:1032400023EF34E045E35FE36091721470917314EF -:1032500080917414909175140F94C95E6B017C0178 -:103260006091300D7091310D8091320D9091330D40 -:103270000F94685E9B01AC01C701B6010F94C95E53 -:1032800029E732E84AE550E40F94C95E0F94576885 -:1032900060936E1470936F148093701490937114F4 -:1032A000DF91CF911F910F91FF90EF90DF90CF9022 -:1032B00008950F931F93CF93DF9308E31DE0CAE8AF -:1032C000D4E1F80121913191419151918F0160E058 -:1032D00070E080E89FE30F94536669937993899334 -:1032E0009993F4E1CA39DF0761F70E948FF8DF9103 -:1032F000CF911F910F910D94E218CF92DF92EF9230 -:10330000FF92FC01C080D180E280F3802091440DC7 -:103310003091450D4091460D5091470DC701B601C2 -:103320000F94C95E0F94C6676093001C7093011CD4 -:103330008093021C9093031CC092F01BD092F11B4F -:10334000E092F21BF092F31B9091CE1B8091CF1B69 -:10335000981731F0FF90EF90DF90CF900C94269368 -:103360000F94FB3980916F00982F927081FF05C0F8 -:1033700080916F008D7F80936F004091001C509171 -:10338000011C6091021C7091031C4093A41E509379 -:10339000A51E6093A61E7093A71E992329F0809105 -:1033A0006F00826080936F00FF90EF90DF90CF906E -:1033B00008958F929F92AF92BF92EF92FF920F93D8 -:1033C0001F93CF93DF937B018A01E901FC01808089 -:1033D0009180A280B3802091380D3091390D4091B9 -:1033E0003A0D50913B0DC501B4010F94C95E0F9485 -:1033F000C6676093F41B7093F51B8093F61B909344 -:10340000F71B20913C0D30913D0D40913E0D5091A8 -:103410003F0DF70160817181828193810F94C95EB4 -:103420000F94C6676093F81B7093F91B8093FA1B87 -:103430009093FB1B2091400D3091410D4091420D26 -:103440005091430DF80160817181828193810F94C5 -:10345000C95E0F94C6676093FC1B7093FD1B80933D -:10346000FE1B9093FF1B2091440D3091450D409120 -:10347000460D5091470D688179818A819B810F9417 -:10348000C95E0F94C6676093001C7093011C809303 -:10349000021C9093031C8092E41B9092E51BA09267 -:1034A000E61BB092E71BF70180819181A281B38175 -:1034B0008093E81B9093E91BA093EA1BB093EB1B4E -:1034C000F80180819181A281B3818093EC1B90935C -:1034D000ED1BA093EE1BB093EF1B88819981AA810D -:1034E000BB818093F01B9093F11BA093F21BB093D0 -:1034F000F31B9091CE1B8091CF1B981761F0DF9149 -:10350000CF911F910F91FF90EF90BF90AF909F9040 -:103510008F900C9426930F94FB3980916F00982F15 -:10352000927081FF05C080916F008D7F80936F0046 -:103530004091F41B5091F51B6091F61B7091F71BA5 -:103540004093981E5093991E60939A1E70939B1EF1 -:103550004091F81B5091F91B6091FA1B7091FB1B75 -:1035600040939C1E50939D1E60939E1E70939F1EC1 -:103570004091FC1B5091FD1B6091FE1B7091FF1B45 -:103580004093A01E5093A11E6093A21E7093A31E91 -:103590004091001C5091011C6091021C7091031C11 -:1035A0004093A41E5093A51E6093A61E7093A71E61 -:1035B000992329F080916F00826080936F00DF91E2 -:1035C000CF911F910F91FF90EF90BF90AF909F9080 -:1035D0008F900895AF92BF92CF92DF92EF920F93A8 -:1035E0001F93CF93DF93CDB7DEB764970FB6F894F0 -:1035F000DEBF0FBECDBFA98ABA8ACB8ADC8AFC01A6 -:1036000080819181A281B38189839A83AB83BC83BA -:10361000FB0180819181A281B3818D839E83AF83E1 -:10362000B887FA0180819181A281B38189879A87C5 -:10363000AB87BC87F90180819181A281B3818D879D -:103640009E87AF87B88BCE0141966C019E01235FA8 -:103650003F4FAE01475F5F4FBE016B5F7F4F4097AB -:103660000E947A8064960FB6F894DEBF0FBECDBF7D -:10367000DF91CF911F910F91EF90DF90CF90BF908E -:10368000AF9008959F92AF92BF92CF92DF92EF9248 -:10369000FF920F931F93CF93DF9386E8A82E83E0CA -:1036A000B82E0DE51EE0C6E7DEE091EBC92E94E1F1 -:1036B000D92E26EDE22E28E0F22E912CF5018191F3 -:1036C0005F010E94ACAB882309F10E942CABF7018B -:1036D0002081211104C02091DE08222339F02881A5 -:1036E00039814A815B810F9459650AC0F3E09F16C6 -:1036F00039F0F60120813181428153810F94586560 -:10370000F801608371838283938309C088819981E2 -:10371000AA81BB81F80180839183A283B3839394B0 -:103720000C5F1F4F2496F4E0CF0ED11C2FEFE21A4E -:10373000F20A84E09812C2CF40E050E0BA0186E479 -:103740000E94A9A120E030E0A9010F94B9671816E2 -:1037500084F40E942CAB20E030E040E752E40F9468 -:1037600053666093400270934102809342029093AB -:1037700043028091730D83FD28C080912D0A882318 -:1037800021F12091820E3091830E4091840E509150 -:10379000850E6091690E70916A0E80916B0E90910A -:1037A0006C0E0F94586520913A0A30913B0A409173 -:1037B0003C0A50913D0A0F94596560933A0A709300 -:1037C0003B0A80933C0A90933D0ADF91CF911F9171 -:1037D0000F91FF90EF90DF90CF90BF90AF909F90B0 -:1037E0000895CF9384E50E94ACAB8823F1F00E944A -:1037F00046E1C82F8230DCF00F94E64D8DE40E9444 -:1038000026626AE070E08091271A9091281A0E943F -:10381000B6626C2FCC0F770B83ED92E50F94C34DFE -:103820008AE00E9426628FEF02C08091860ECF91BF -:103830000895CF92DF92EF92FF921F93CF93DF9381 -:10384000CDB7DEB7A0970FB6F894DEBF0FBECDBFE1 -:1038500080E090E0A8E4B2E489839A83AB83BC83E0 -:1038600080E090E0A0E2B1E48D839E83AF83B887CF -:1038700089879A87AB87BC870F94F11BF82E87FD49 -:10388000F3C041E061E081E00F949E3F81110E940E -:1038900014AB1091860E212F30E08F2D0F2C000CD1 -:1038A000990B2817390721F060E08F2D0E9444976B -:1038B00085E40E9463AB882381F00E942CAB6B01EE -:1038C0007C0120E030E0A9010F94B96787FF0BC0AD -:1038D000F7FAF094F7F8F09406C0C12CD12C80E8E8 -:1038E000E82E80E4F82EF7FAF094F7F8F094C98AFD -:1038F000DA8AEB8AFC8A8AE50E94ACAB882351F015 -:1039000040E050E0BA018AE50E94A9A169877A8760 -:103910008B879C8788E50E94ACAB882351F040E000 -:1039200050E0BA0188E50E94A9A169837A838B835C -:103930009C8389E50E94ACAB882351F040E050E0C5 -:10394000BA0189E50E94A9A16D837E838F83988740 -:1039500085E50E9463AB882329F00E942CAB6B01A4 -:103960007C010CC0E091860E88E0E89FF0011124F4 -:10397000E35AFB4EC080D180E280F38020E030E04B -:10398000A901C701B6010F94B96787FF04C0F7FA10 -:10399000F094F7F8F094F7FAF094F7F8F094CD8AF1 -:1039A000DE8AEF8AF88E198E1A8E1B8E1C8E8CE49E -:1039B0000E9463AB882329F00E942CAB6B017C0131 -:1039C0000CC0E091860E88E0E89FF0011124E35AD4 -:1039D000FB4EC480D580E680F78020E030E0A9016E -:1039E000C701B6010F94B96787FF04C0F7FAF094D6 -:1039F000F7F8F094CD8EDE8EEF8EF8A262E070E0E4 -:103A000082E40E94B9ABF82E21E0AE014B5E5F4F1D -:103A1000BE016F5F7F4FCE0141960E94A1E48823D3 -:103A2000D9F06F2D81E00E9480E280E090E0A0EA72 -:103A3000B1E48D879E87AF87B88B8091D50B8823A3 -:103A400059F02F2DAE01435F5F4FBE01635E7F4F84 -:103A5000CE0149960E9425E38091860E181721F029 -:103A600060E0812F0E944497A0960FB6F894DEBFC5 -:103A70000FBECDBFDF91CF911F91FF90EF90DF90F0 -:103A8000CF900895CF92DF92EF92FF92CF93DF9382 -:103A9000CDB7DEB76C970FB6F894DEBF0FBECDBFC3 -:103AA0008CE40E9463AB882381F00E942CAB6B01F5 -:103AB0007C0120E030E0A9010F94B96787FF0BC0BB -:103AC000F7FAF094F7F8F09406C0C12CD12C80E8F6 -:103AD000E82E80E4F82EF7FAF094F7F8F094C98E07 -:103AE000DA8EEB8EFC8E80E090E0A8E4B2E489836D -:103AF0009A83AB83BC8380E090E0A0E2B1E48D8345 -:103B00009E83AF83B88789879A87AB87BC8788E510 -:103B10000E94ACAB8823A1F040E050E0BA0188E5F8 -:103B20000E94A9A12091B1143091B2144091B31414 -:103B30005091B4140F94586569837A838B839C8366 -:103B400089E50E94ACAB8823A1F040E050E0BA01C7 -:103B500089E50E94A9A12091B1143091B21440913D -:103B6000B3145091B4140F9458656D837E838F8382 -:103B700098878AE50E94ACAB882351F040E050E082 -:103B8000BA018AE50E94A9A169877A878B879C87F9 -:103B9000F090DE1DF2FAFF24F0F81D861E861F86C7 -:103BA000188A20E0AE01435F5F4FBE016F5F7F4F19 -:103BB000CE0149960E94A1E4882329F1F11023C087 -:103BC00060E080E00E9480E280E090E0A0E8B0E465 -:103BD0008D8B9E8BAF8BB88F198A1A8A1B8A1C8A91 -:103BE0001D861E861F86188A8091D50B882359F062 -:103BF00020E0AE014B5E5F4FBE016F5E7F4FCE0196 -:103C00000D960E9425E36C960FB6F894DEBF0FBEAA -:103C1000CDBFDF91CF91FF90EF90DF90CF900895CF -:103C2000CF93DF93D62FC72F0E94ACAB882329F008 -:103C30000E9418AB262F972F02C02D2F9C2F822F6A -:103C4000DF91CF9108952F923F924F925F926F92A2 -:103C50007F928F929F92AF92BF92CF92DF92EF921C -:103C6000FF920F931F93CF93DF93CDB7DEB7E69705 -:103C70000FB6F894DEBF0FBECDBF41E061E081E03A -:103C80000F949E3F81111DC360E070E080E50F94AA -:103C9000101E882E6CE070E083E50F94101E5C010E -:103CA0008DA763E070E084E50F94101E382E40E08D -:103CB00050E060ED70E482E50E94A9A16B017C01F7 -:103CC0008091251A87FD07C08091261A837019F408 -:103CD00099249394F4C260E088E50E946AE1982EEA -:103CE00060E089E50E946AE18111E9C280E0982ADA -:103CF0002091451E2EA7822F0F948F4B80E090E0DD -:103D0000A0EAB3E48D879E87AF87B88B412C512CF6 -:103D100020E2622E22E4722E498A5A8A6B8A7C8AB9 -:103D200040E050E060E87FE34D8B5E8B6F8B788FD7 -:103D300000E010E026E933E409831A832B833C83F7 -:103D40004D825E826F82788649875A876B877C872F -:103D500022E082120CC0911005C08FEA92E50F9408 -:103D6000664DA9C289839A83AB83BC8324C090FC2F -:103D700010C08091760E9091770EA091780EB09140 -:103D8000790E89839A83AB83BC838D879E87AF87A7 -:103D9000B88B91FC10C080917A0E90917B0EA0910F -:103DA0007C0EB0917D0E8D839E83AF83B887898B07 -:103DB0009A8BAB8BBC8B80917E0E90917F0EA091E5 -:103DC000800EB091810E89A79AA7ABA7BCA789875F -:103DD0009A87AB87BC878D8B9E8BAF8BB88F91E01A -:103DE000891629F0A2E08A1609F470C10CC22D854B -:103DF0003E854F85588969817A818B819C810F949A -:103E000058656B017C0120E030E0A9010F94635EEE -:103E1000882309F450C229893A894B895C896D81CC -:103E20007E818F8198850F9458654B015C0120E05D -:103E300030E0A9010F94635E882309F43CC28091AD -:103E4000760E9091770EA091780EB091790E8FA793 -:103E500098ABA9ABBAAB80917A0E90917B0EA091F2 -:103E60007C0EB0917D0E8BAB9CABADABBEAB198E17 -:103E70001A8E1B8E1C8EAE01475E5F4FBE016F5EB9 -:103E80007F4FCE010D960E943F7E032D000F20E054 -:103E900030E0A901C701B6010F94B96787FF08C0D8 -:103EA000D701C601B0588DA39EA3AFA3B8A704C085 -:103EB000CDA2DEA2EFA2F8A620E030E0A901C50164 -:103EC000B4010F94B9671401250187FF04C057FAA4 -:103ED000509457F850942DA13EA14FA158A5C2016E -:103EE000B1010F94635E181624F434011A2DFB2CD3 -:103EF00002C036011E2D802E912CB401092C000C1D -:103F0000880B990B0F946A5E9B01AC01B301812F62 -:103F10009F2D0F9453666B017C01712C9DA5791622 -:103F200008F0C0C010E0812F012E000C990B8815FD -:103F300099050CF059C010FD04C0DE011D965D010D -:103F400003C0CE0101965C012DA13EA14FA158A551 -:103F5000C201B1010F94635E412F012E000C550B7D -:103F6000660B770B198E1A8E1B8E1C8E1816ECF0B2 -:103F7000CB01BA010F946A5EA70196010F94C95E46 -:103F80009B01AC016D857E858F8598890F9459655D -:103F90006D8F7E8F8F8F98A3B5016C5F7F4FAE01C1 -:103FA000475E5F4FCE014D961BC0CB01BA010F9407 -:103FB0006A5EA70196010F94C95E9B01AC016989F5 -:103FC0007A898B899C890F9459656D8F7E8F8F8F2D -:103FD00098A3AE01475E5F4FBE01635E7F4FC50190 -:103FE0000E943F7E1F5F9FCF102F17FD59C010FD0D -:103FF00004C0DE011D965D0103C0CE0101965C0187 -:104000002DA13EA14FA158A5C201B1010F94635E3D -:10401000412F012E000C550B660B770B198E1A8E53 -:104020001B8E1C8E1816ECF0CB01BA010F946A5E41 -:10403000A70196010F94C95E9B01AC016D857E8539 -:104040008F8598890F9459656D8F7E8F8F8F98A378 -:10405000B5016C5F7F4FAE01475E5F4FCE014D965D -:104060001BC0CB01BA010F946A5EA70196010F94A1 -:10407000C95E9B01AC0169897A898B899C890F94FF -:1040800059656D8F7E8F8F8F98A3AE01475E5F4F0E -:10409000BE01635E7F4FC5010E943F7E1150A5CFD8 -:1040A00073943CCF198E1A8E1B8E1C8EDE0159968E -:1040B0006D01E9A4FAA40BA51CA52BA93CA94DA947 -:1040C0005EA96FA578A989A99AA9F3C0BDA5BB234C -:1040D00009F4F1C08091760E9091770EA091780E40 -:1040E000B091790E8DA39EA3AFA3B8A780907A0E4E -:1040F00090907B0EA0907C0EB0907D0E198E1A8E43 -:104100001B8E1C8EAE01475E5F4FBE016F5E7F4F00 -:10411000CE010D960E943F7E10E0212C312C19A279 -:104120001AA21BA21CA2B101032C000C880B990B34 -:104130000F946A5E2CE739ED40E25FE30F94C95EAD -:104140002B013C010F944E669B01AC01C701B601E7 -:104150000F94C95E9B01AC016D817E818F81988532 -:104160000F9459656D8F7E8F8F8F98A3C301B20115 -:104170000F9449689B01AC01C701B6010F94C95E59 -:104180009B01AC0169817A818B819C810F94596577 -:10419000698F7A8F8B8F9C8FAE014F5D5F4FBE0111 -:1041A000635E7F4FCE0149960E943F7E9FEF291AA2 -:1041B000390AAAE02A16310409F0B1CF1F5FBDA564 -:1041C0001B1708F4AACF198E1A8E1B8E1C8EAE01F7 -:1041D000475E5F4FBE016F5E7F4FCE010D960E941E -:1041E0003F7E198E1A8E1B8E1C8ECE0149966C0155 -:1041F000E9A4FAA40BA51CA5A50194016DA17EA1BB -:104200008FA198A556C04090760E5090770E609082 -:10421000780E7090790E80917A0E90917B0EA0911D -:104220007C0EB0917D0E8DA39EA3AFA3B8A7198E6F -:104230001A8E1B8E1C8EAE01475E5F4FBE016F5EF5 -:104240007F4FCE010D960E943F7EBB24B594A7946C -:1042500010E0812F90E0198E1A8E1B8E1C8E8A150D -:104260009B05D4F4AE01475E5F4FBE016B5F7F4F8D -:10427000CE0101960E943F7E198E1A8E1B8E1C8ED7 -:10428000AE01475E5F4FBE016F5E7F4FCE010D9660 -:104290000E943F7E1F5FDDCFDE0159966D01E9A4CC -:1042A000FAA40BA51CA52DA13EA14FA158A5C301A1 -:1042B000B2010E94827D8EA50F948F4B02C082E0D6 -:1042C00016CDE6960FB6F894DEBF0FBECDBFDF91D8 -:1042D000CF911F910F91FF90EF90DF90CF90BF9003 -:1042E000AF909F908F907F906F905F904F903F9096 -:1042F0002F9008950F94E64D8FE992E50F94664D47 -:1043000083E50E9463AB882321F00E945AE18093E9 -:10431000150280911502811103C088E792E502C061 -:104320008CE792E50F94664D87E992E50F94664D10 -:104330002091B1143091B2144091B3145091B4143F -:10434000609128027091290280912A0290912B029B -:104350000F945965AB01BC0185E992E50F94B24D0C -:104360002091B5143091B6144091B7145091B814FF -:10437000609130027091310280913202909133024B -:104380000F945965AB01BC0182E992E50F94B24DDF -:104390002091B9143091BA144091BB145091BC14BF -:1043A000609138027091390280913A0290913B02FB -:1043B0000F945965AB01BC018FE892E50F94B24DA3 -:1043C00087E892E50F94664D2091B1143091B214B4 -:1043D0004091B3145091B41460912C0270912D024D -:1043E00080912E0290912F020F945965AB01BC0170 -:1043F00085E892E50F94B24D2091B5143091B61432 -:104400004091B7145091B814609134027091350204 -:1044100080913602909137020F945965AB01BC012F -:1044200082E892E50F94B24D2091B9143091BA14FC -:104430004091BB145091BC1460913C0270913D02BC -:1044400080913E0290913F020F945965AB01BC01EF -:104450008FE792E50F94B24D8AE00C942662882390 -:1044600019F00F94E64D03C080E20E94266240914D -:10447000380D5091390D60913A0D70913B0D81E7E7 -:1044800092E50F94B24D40913C0D50913D0D6091DD -:104490003E0D70913F0D8EE692E50F94B24D409126 -:1044A000400D5091410D6091420D7091430D8BE68E -:1044B00092E50F94B24D4091440D5091450D60919D -:1044C000460D7091470D88E692E50F94B24D8AE053 -:1044D0000C94266263E00C9421F990914E0AE92F26 -:1044E000F0E0E054F34E80839F5F943018F4909393 -:1044F0004E0A02C010924E0A8091D20B8F5F8093B9 -:10450000D20B0895CF93DF93EC018881882349F182 -:104510008A3039F18D3029F18B33F9F08091D20B4B -:104520008430D8F480914E0A20E6829FC001112485 -:10453000BE018F5A954F0F940A6A80E00F946D2246 -:104540000F94E64DBE018EEB93E50F94CF4D8BEBB0 -:1045500093E5DF91CF910D94664D80E00E946A63F0 -:10456000D4CFDF91CF9108955F926F927F928F9217 -:104570009F92AF92BF92CF92DF92EF92FF920F93F2 -:104580001F93CF93DF93CDB7DEB76DB67EB67C01B8 -:1045900000E010E08DB69EB6F701E00FF11F5490D9 -:1045A000C80101965C01552029F09AE0591611F0D6 -:1045B0008501F2CF8DB79EB78A199B090FB6F89483 -:1045C0009EBF0FBE8DBF01966C01A801B7010F946D -:1045D0009D5DF601E00FF11F1082C6010F9482224B -:1045E000552041F0EA0CFB1C0FB6F8949EBE0FBE9E -:1045F0008DBED0CF0FB6F8947EBE0FBE6DBEDF91DC -:10460000CF911F910F91FF90EF90DF90CF90BF90CF -:10461000AF909F908F907F906F905F900895CF9212 -:10462000DF92EF92FF928AE50E94ACAB882321F1E2 -:104630000E942CAB6B017C0120E030E040EA51ECA1 -:104640000F94B96787FD13C020E030E040EA51E4E1 -:10465000C701B6010F94635E18164CF0C092C514E2 -:10466000D092C614E092C714F092C8148FC00F9471 -:10467000E24D8EE993E528C088E50E94ACAB882323 -:1046800049F10E942CAB6B017C0120E030E84DE940 -:1046900053EC0F94B96787FD13C020E030E84DE973 -:1046A00053E4C701B6010F94635E18164CF0C09234 -:1046B000BD14D092BE14E092BF14F092C01466C034 -:1046C0000F94E24D8EE793E5FF90EF90DF90CF904F -:1046D0000D94664D89E50E94ACAB882321F10E94C0 -:1046E0002CAB6B017C0120E030E04AE953EC0F94E5 -:1046F000B96787FD13C020E030E04AE953E4C70101 -:10470000B6010F94635E18164CF0C092C114D0929B -:10471000C214E092C314F092C41438C00F94E24D56 -:104720008EE593E5D1CF0F94E64D4091BD145091A5 -:10473000BE146091BF147091C0148DE493E50F9482 -:10474000B24D8AE00E9426624091C1145091C21479 -:104750006091C3147091C4148CE393E50F94B24D2F -:104760008AE00E9426624091C5145091C61460915F -:10477000C7147091C8148BE293E50F94B24D8AE090 -:10478000FF90EF90DF90CF900C942662FF90EF9017 -:10479000DF90CF9008958F929F92AF92BF92CF9269 -:1047A000DF92EF92FF920F931F93CF931092A30D7E -:1047B0001092A20D2FE32093291A1092281A10921A -:1047C000271A1092231A1092241A1092251A109266 -:1047D000261A9C01F90190812F5F3F4F9032D1F34F -:1047E0009E34C9F4818190ED980F9A3020F08D327B -:1047F00011F08B3281F4DF0112969D012F5F3F4F44 -:104800008C9180538A3010F4D901F7CFFD011196B5 -:1048100080818032D9F3F0936F0EE0936E0E8F019A -:104820000F5F1F4FC0816AE270E0C8010F94FF69FB -:10483000009731F0FC01319780818032E1F31182E1 -:10484000CD3429F0C43519F0C73409F000C1F8019E -:1048500080810F5F1F4F8032D1F380538A3008F080 -:10486000F6C0C093291A1092281A1092271A4AE00B -:104870008091271A9091281A489F9001499F300DE6 -:1048800011243093281A2093271A3196DF011197AB -:104890008C91082E000C990BC097820F931F909358 -:1048A000281A8093271A208120532A3008F3DF0129 -:1048B00031962C912032D9F3CD34D1F48E3191053B -:1048C00091F03CF48731910571F08C31910581F4C0 -:1048D0000AC08537910564F08737910524F0803A46 -:1048E00023E0920729F4B093A30DA093A20DAFC0CB -:1048F0001092A30D1092A20D10916E0EC12CD12C0E -:104900007601C394FD0131964C91442309F49FC074 -:104910004132A1F4CD3491F48032910579F4F093D1 -:10492000A30DE093A20D63E270E0CF010F94FF6945 -:10493000009709F48CC0FC01108289C041544A31AF -:1049400008F059C0BF01FB0120816F5F7F4F20320B -:10495000D1F330ED320F3A3010F12E3211F42181C3 -:104960000CC02D3211F02B3259F4218130ED320F71 -:104970003A30A8F02E3221F4228120532A3078F0E8 -:104980002091A20D3091A30D232B09F05DC09F0152 -:10499000215031093093A30D2093A20D55C09F01E2 -:1049A000A42FB0E04601570104C0880C991CAA1C32 -:1049B000BB1C4A95D2F7B501A4018090231A9090B0 -:1049C000241AA090251AB090261A482959296A2934 -:1049D0007B294093231A5093241A6093251A7093CD -:1049E000261A2115310511F0211B01C020E0A75F17 -:1049F000B54E2C930AC02091A20D3091A30D232B0C -:104A000021F4B093A30DA093A20D208121542A314B -:104A100010F4DF0177CFAF01FA01DA012D912223E3 -:104A2000C1F330ED320F3A3010F4AD01F5CF33ED74 -:104A3000320F3230D0F32B32C1F3FA014F5F5F4FA8 -:104A400020812032D1F3E5CF20E030E0A9CFCF9113 -:104A50001F910F91FF90EF90DF90CF90BF90AF909C -:104A60009F908F9008952F923F924F925F926F92F6 -:104A70007F928F929F92AF92BF92CF92DF92EF92EE -:104A8000FF920F931F93CF93DF93CDB7DEB7C4543C -:104A9000D1090FB6F894DEBF0FBECDBF9AA789A784 -:104AA0007CAB6BAB142FDB018D909D90AD90BC90D7 -:104AB00013972401350177FA709477F8709414965F -:104AC000CD90DD90ED90FC901797A701960150587E -:104AD000298F3A8F4B8F5C8FA3019201C301B201E2 -:104AE0000F94C95E69A37AA38BA39CA3298D3A8DE9 -:104AF0004B8D5C8DCA01B9010F94C95E9B01AC015D -:104B000069A17AA18BA19CA10F9459650F94576854 -:104B10006DAB7EAB8FAB98AF80917E0E90917F0E88 -:104B2000A091800EB091810E89A39AA3ABA3BCA3E0 -:104B30002091760E3091770E4091780E5091790E3B -:104B40002D8B3E8B4F8B588FC501B4010F94596547 -:104B500021966CAF7DAF8EAF9FAF219780917A0E7B -:104B600090917B0EA0917C0EB0917D0E8DA39EA3A3 -:104B7000AFA3B8A79C01AD01C701B6010F94596559 -:104B800025966CAF7DAF8EAF9FAF2597A9A5BAA52F -:104B90002D913D914D915C912BA73CA74DA75EA710 -:104BA00021962CAD3DAD4EAD5FAD21976BA57CA59B -:104BB0008DA59EA50F9458656B017C01A9A5BAA58A -:104BC00014962D913D914D915C9117972FA738AB7D -:104BD00049AB5AAB25962CAD3DAD4EAD5FAD25979B -:104BE0006FA578A989A99AA90F9458654B015C0112 -:104BF00029A13AA14BA15CA1E9A5FAA5608571851F -:104C0000828593850F9458656D8F7E8F8F8F98A3C3 -:104C1000A7019601C301B2010F94C95E69AF7AAFD3 -:104C20008BAF9CAFA5019401698D7A8D8B8D9C8D86 -:104C30000F94C95E9B01AC0169AD7AAD8BAD9CADA3 -:104C40000F94596569AF7AAF8BAF9CAFA501940102 -:104C5000C301B2010F94C95E4B015C01A70196012B -:104C6000698D7A8D8B8D9C8D0F94C95E9B01AC01F3 -:104C7000C501B4010F94586529AD3AAD4BAD5CAD9B -:104C80000F94D8656B017C0120E030E0A9010F94FE -:104C9000635E87FF0AC02BED3FE049EC50E4C7019B -:104CA000B6010F9459656B017C012BED3FE049EC97 -:104CB00050E4C701B6010F94536620E030E040ECA9 -:104CC00051E40F94C95E0F9437660F94CC661B01B4 -:104CD000672B19F422242394312C112351F02BED4E -:104CE0003FE049EC50E4C701B6010F9458656B01F1 -:104CF0007C0120E030E0A901C701B6010F94635E9A -:104D0000811123C02BA53CA54DA55EA56D897E898B -:104D10008F89988D0F94635E811117C02FA538A9D4 -:104D200049A95AA96DA17EA18FA198A50F94635E90 -:104D300081110BC038E1232E312C4BEDC42E4FE0F6 -:104D4000D42E49ECE42E40E4F42E2DA93EA94FA91F -:104D500058ADC701B6010F94C95E4B015C0120E05C -:104D600030E0A9016D8D7E8D8F8D98A10F94635ECB -:104D70008823D9F0A5019401C501B4010F94C95E3F -:104D80004B015C012D8D3E8D4F8D58A1CA01B9019B -:104D90000F94C95E9B01AC01C501B4010F94596524 -:104DA0000F9457684B015C010DC020E030E0A90171 -:104DB000C501B4010F94B96787FF04C0B7FAB09476 -:104DC000B7F8B0942FE632E143E85AE3C501B401E5 -:104DD0000F94635E87FD0EC22091820E3091830E88 -:104DE0004091840E5091850E2D8B3E8B4F8B588FAA -:104DF000C501B4010F94FB660F94CC667EA36DA32E -:104E00006215730510F43EA22DA2ADA1BEA1BD0195 -:104E100080E090E00F94685E4B015C019B01AC0167 -:104E2000C701B6010F9453666D8F7E8F8F8F98A345 -:104E30002D893E894F89588DE9A5FAA56485758528 -:104E4000868597850F945865A50194010F94536644 -:104E50006DAB7EAB8FAB98AF2D8D3E8D4F8D58A136 -:104E6000CA01B9010F94C95E20E030E040E05FE381 -:104E70000F94C95E9B01AC0160E070E080E89FE3A5 -:104E80000F9458656FA778AB89AB9AAB29A13AA16B -:104E90004BA15CA129873A874B875C878D899E89C6 -:104EA000AF89B88D8D879E87AF87B88B60911602CA -:104EB00070911702072E000C880B990B0F946A5EF5 -:104EC00020914002309141024091420250914302B0 -:104ED0000F94C95E2AE037ED43E25CE30F94C95EAC -:104EE000698B7A8B8B8B9C8B0E9423FD9B01AC0181 -:104EF00028533F4F4F4F5F4F2BA73CA74DA75EA7AF -:104F000022242394312C39E13D8B4DA15EA124163E -:104F1000350608F027C10F94E5460E9423FDDC0109 -:104F2000CB012BA53CA54DA55EA5821B930BA40B25 -:104F3000B50BB7FD0FC00E9423FD9B01AC012853A8 -:104F40003F4F4F4F5F4F2BA73CA74DA75EA780E079 -:104F50000E946A633D8931503D8B3323E9F12FA5CF -:104F600038A949A95AA9698D7A8D8B8D9C8D0F948A -:104F7000C95E6B017C012D8D3E8D4F8D58A1C30103 -:104F8000B2010F94C95EA70196010F9459656B0198 -:104F90007C012FA538A949A95AA9C301B2010F94D0 -:104FA000C95E4B015C012D8D3E8D4F8D58A1698DE1 -:104FB0007A8D8B8D9C8D0F94C95E9B01AC01C501D0 -:104FC000B4010F9458652B013C01C601D701898FAC -:104FD0009A8FAB8FBC8F66C0B10180E090E00F94D8 -:104FE000685E2D8D3E8D4F8D58A10F94C95E6B016B -:104FF0007C010F944E66698F7A8F8B8F9C8FC701CF -:10500000B6010F9449684B015C01ABA9BCA9CD90D6 -:10501000DD90ED90FC901397F7FAF094F7F8F09488 -:1050200014962D913D914D915C9117972D8B3E8B50 -:105030004F8B588FA7019601698D7A8D8B8D9C8D32 -:105040000F94C95E2B013C012D893E894F89588DF3 -:10505000C501B4010F94C95E9B01AC01C301B2014B -:105060000F9459652B013C01A7019601C501B401BC -:105070000F94C95E6B017C012D893E894F89588D43 -:10508000698D7A8D8B8D9C8D0F94C95E9B01AC01CF -:10509000C701B6010F945865698F7A8F8B8F9C8FEB -:1050A000B9E1BD8B21962CAD3DAD4EAD5FAD2197E5 -:1050B000C301B2010F94596569837A838B839C8302 -:1050C00025962CAD3DAD4EAD5FAD2597698D7A8DA2 -:1050D0008B8D9C8D0F9459656D837E838F8398870C -:1050E00029A13AA14BA15CA129873A874B875C870C -:1050F0002DA93EA94FA958AD6D857E858F859889CC -:105100000F9459656D877E878F87988BCE010196A6 -:105110000E945373AE01475F5F4FBE016B5F7F4FCD -:10512000CE0101960F94B13BA12CB12C90E8C92E71 -:105130009FE3D92EE090860E8E010F5E1F4F9E01D9 -:10514000235F3F4FAE01475F5F4FBE016B5F7F4FF5 -:10515000CE0101960F94EA1A882321F03FEF231A1B -:10516000330AD3CE80E1E9A5FAA5DE0111960190BC -:105170000D928A95E1F789A19AA1ABA1BCA189877B -:105180009A87AB87BC87CE0101960E945373AE010C -:10519000475F5F4FBE016B5F7F4FCE0101960F945B -:1051A000B13BA12CB12C80E8C82E8FE3D82EE09023 -:1051B000860E8E010F5E1F4F9E01235F3F4FAE0193 -:1051C000475F5F4FBE016B5F7F4FCE0101960F942B -:1051D000EA1A29A13AA14BA15CA129873A874B87FA -:1051E0005C8780E1FE013196A6E7BEE001900D925A -:1051F0008A95E1F7CC5BDF4F0FB6F894DEBF0FBEA8 -:10520000CDBFDF91CF911F910F91FF90EF90DF9075 -:10521000CF90BF90AF909F908F907F906F905F9056 -:105220004F903F902F9008950F931F93CF938C0131 -:10523000C62F86E293E50F94664DC8010F94664D24 -:105240008AE30E9426626AE070E08C2F90E00E9460 -:10525000B662CF911F910F910C943E63EF92FF9233 -:105260001F93CF93DF93CDB7DEB7C454D1090FB6E8 -:10527000F894DEBF0FBECDBF84E40E9463AB8823E9 -:1052800009F44DC18CE193E50F94664D2091B11462 -:105290003091B2144091B3145091B4146091760ED1 -:1052A0007091770E8091780E9091790E0F945965D8 -:1052B00069AF7AAF8BAF9CAF2091B5143091B61423 -:1052C0004091B7145091B81460917A0E70917B0E92 -:1052D00080917C0E90917D0E0F94596521966CAF54 -:1052E0007DAF8EAF9FAF21972091B9143091BA1442 -:1052F0004091BB145091BC1460917E0E70917F0E52 -:105300008091800E9091810E0F94596525966CAF17 -:105310007DAF8EAF9FAF2597CE01C9960F946A22BD -:1053200083E193E50F94664D86E79EE00F946A2231 -:105330008091760E9091770EA091780EB091790EB3 -:105340008DA79EA7AFA7B8AB80917A0E90917B0EE8 -:10535000A0917C0EB0917D0E89AB9AABABABBCAB90 -:1053600080917E0E90917F0EA091800EB091810E63 -:105370008DAB9EABAFABB8AF8AE093E50F94664DB3 -:10538000AE014B5C5F4FBE016F5C7F4FCE018D96CF -:105390000F94B13BCE018D960F946A2281E093E584 -:1053A0000F94664D8DA59EA5AFA5B8A989A39AA314 -:1053B000ABA3BCA389A99AA9ABA9BCA98DA39EA3A1 -:1053C000AFA3B8A78DA99EA9AFA9B8AD89A79AA781 -:1053D000ABA7BCA7CE0181960F94773BCE018196F7 -:1053E0000F946A220F94FB3988EF92E50F94664D73 -:1053F00086E8E82E83E0F82E10E080E20E94266224 -:10540000F70181917F010E9426628AE30E94266251 -:10541000812F0F94294B0E949A621F5F143069F705 -:105420008AE00E9426628FEE92E50F94664D0E94FC -:10543000807E8091480C9091490CA0914A0CB091CB -:105440004B0C898B9A8BAB8BBC8B80914C0C9091C5 -:105450004D0CA0914E0CB0914F0C8D8B9E8BAF8B51 -:10546000B88F8091500C9091510CA091520CB0913A -:10547000530C898F9A8FAB8FBC8F83E00F940C3ABB -:105480006D8F7E8F8F8F98A364E0CE0141960E942E -:1054900021F92DA53EA54FA558A969897A898B893F -:1054A0009C890F94586569837A838B839C8329A98F -:1054B0003AA94BA95CA96D897E898F89988D0F9433 -:1054C00058656D837E838F8398872DA93EA94FA948 -:1054D00058AD698D7A8D8B8D9C8D0F945865698739 -:1054E0007A878B879C872091820E3091830E409122 -:1054F000840E5091850E6D8D7E8D8F8D98A10F94A9 -:1055000058656D877E878F87988B86EE92E50F941E -:10551000664D64E0CE0101960E9421F904C00F940B -:10552000FB390E940C7FCC5BDF4F0FB6F894DEBFD7 -:105530000FBECDBFDF91CF911F91FF90EF900895E7 -:105540004F925F926F927F928F929F92AF92BF9293 -:10555000CF92DF92EF92FF920F931F93CF93DF933F -:10556000CDB7DEB77C014DB65EB660906E0E709022 -:105570006F0E8DB69EB66AE070E0C7010F94A65D0F -:105580006C01009721F08C010E191F0904C0C7019E -:105590000F94B15D8C01C80101962DB73EB7281B51 -:1055A000390B0FB6F8943EBF0FBE2DBF8DB79EB717 -:1055B00001965C01A801B7010F94D25DF501E00FDF -:1055C000F11F1082C5010F94CB2381E00E94A648F1 -:1055D000C114D10451F076019FEFE91AF90A0FB610 -:1055E000F8949EBE0FBE8DBEC4CF0FB6F8949EBE7B -:1055F0000FBE8DBEC3010F94CB230FB6F8945EBED1 -:105600000FBE4DBEDF91CF911F910F91FF90EF9094 -:10561000DF90CF90BF90AF909F908F907F906F90D2 -:105620005F904F900895CF93DF93C091D10B80E6A8 -:10563000C89FE0011124CF5AD54F8091730D80FF90 -:1056400005C00F94E64DCE010E944463CE010F9435 -:10565000CB2380E0DF91CF910C94A648FC01208100 -:1056600031816217730714F47183608308953F9248 -:105670004F925F926F927F928F929F92AF92BF9262 -:10568000CF92DF92EF92FF920F931F93CF93DF930E -:10569000D82EC62E342E422E062F10E036E0732E62 -:1056A000E82EF12CE801789EC00DD11D1124CC0FFD -:1056B000DD1FCC0FDD1FCC5AD34F688179818A81E1 -:1056C0009B819B01AC010F94A6688823E1F1532CC8 -:1056D0005D0C642C6C0C272D352D3203F001112448 -:1056E000E60DF11D67FCFA95EE0FFF1FEE0FFF1F91 -:1056F000EC5AF34F80809180A280B380A501940181 -:10570000C501B4010F94A66881111DC0232D250D7C -:10571000640C372D2303F0011124E60DF11D67FC05 -:10572000FA95EE0FFF1FEE0FFF1FEC5AF34F40806C -:10573000518062807380A3019201C301B2010F9472 -:10574000A668882311F080E032C0A3019201C50150 -:10575000B4010F94635E87FF05C088829982AA8294 -:10576000BB820EC0A5019401C501B4010F94596517 -:10577000A30192010F945865688379838A839B8380 -:1057800086E08E9DF0018F9DF00D1124E00FF11F3A -:10579000EE0FFF1FEE0FFF1FEC5AF34F20813181F8 -:1057A000428153816C2D8D2D0E9477A081E0DF9185 -:1057B000CF911F910F91FF90EF90DF90CF90BF900E -:1057C000AF909F908F907F906F905F904F903F90A1 -:1057D00008952F923F924F925F926F927F928F9295 -:1057E0009F92AF92BF92CF92DF92EF92FF920F9370 -:1057F0001F93CF93DF93CDB7DEB7EA970FB6F89438 -:10580000DEBF0FBECDBF8BA77DA76CA75FA74EA73E -:1058100028AB1AAB09AB8FEF8E8F8E8D8D8F83EFF8 -:105820009FE4A3ECB7EC8F8F98A3A9A3BAA38CA590 -:105830009DA5FC01E080F1800281138188A9882365 -:1058400049F08091BD149091BE14A091BF14B09105 -:10585000C01403C080E090E0DC019C01AD01C801F0 -:10586000B7010F945965DC01CB018F839887A98715 -:10587000BA878EA59FA5FC01E080F180028113818B -:1058800088A9882349F08091C1149091C214A091F5 -:10589000C314B091C41403C080E090E0DC019C010B -:1058A000AD01C801B7010F945965DC01CB018B87AD -:1058B0009C87AD87BE878FEF9FE4A3ECB7E4898315 -:1058C0009A83AB83BC831D828D8186300CF0D3C15B -:1058D0001E828E8186300CF0CAC18BA5882329F5E3 -:1058E0008D81282F880F330B8E81482F880F550B01 -:1058F000C901880F991F820F931F880F991F840F6A -:10590000951F880F991F880F991F8C5A934FFC0180 -:1059100080819181A281B3819C01AD01BC01CD0147 -:105920000F94A668882309F057C08BA5813021F514 -:105930008D81282F880F330B8E81482F880F550BB0 -:10594000C901880F991F820F931F880F991F840F19 -:10595000951F880F991F880F991F8C5A934FFC0130 -:1059600080819181A281B3819C01AD01BC01CD01F7 -:105970000F94A668882381F18BA5823079F52E815A -:105980003D8189A99AA99A8B898B388B2F878F851E -:10599000882F90E0880F991F29893A89820F931FD9 -:1059A000FC0180819181CC01A0E0B0E02889222F08 -:1059B00030E004C0B695A795979587952A95D2F7BC -:1059C00081709927AA27BB2721E0892B8A2B8B2B53 -:1059D00009F420E0222311F081E001C080E0882357 -:1059E00009F441C18D810E94F6ABDC01CB018BA390 -:1059F0009CA3ADA3BEA38E810E94C8ABDC01CB01EA -:105A00008FA398A7A9A7BAA788A9882361F09E01A8 -:105A1000295D3F4FCE018396B9010E94EAAD982FD0 -:105A200081E089270FC08FA198A5A9A5BAA59E01DD -:105A30002D5D3F4FAC01BD01C9010F942814982F73 -:105A400081E08927882309F00DC18BA19CA1ADA11C -:105A5000BEA19C01AD016F81788589859A850F94DF -:105A60005865DC01CB016C017D018BA19CA1ADA12E -:105A7000BEA19C01AD016F81788589859A850F94BF -:105A80005865DC01CB019C01AD01C701B6010F9443 -:105A9000C95EDC01CB016C017D018FA198A5A9A590 -:105AA000BAA59C01AD016B857C858D859E850F9483 -:105AB0005865DC01CB018BAB9CABADABBEAB8FA112 -:105AC00098A5A9A5BAA59C01AD016B857C858D859E -:105AD0009E850F945865DC01CB019C01AD016BA93B -:105AE0007CA98DA99EA90F94C95EDC01CB019C0104 -:105AF000AD01C701B6010F945965DC01CB01BC01B2 -:105B0000CD010F945768DC01CB018B8B9C8BAD8B47 -:105B1000BE8B8091760E9091770EA091780EB09109 -:105B2000790E2BA13CA14DA15EA1BC01CD010F942A -:105B30005865DC01CB016C017D018091760E90915E -:105B4000770EA091780EB091790E2BA13CA14DA1BA -:105B50005EA1BC01CD010F945865DC01CB019C0115 -:105B6000AD01C701B6010F94C95EDC01CB016C0128 -:105B70007D0180917A0E90917B0EA0917C0EB09168 -:105B80007D0E2FA138A549A55AA5BC01CD010F94C2 -:105B90005865DC01CB018FAB98AFA9AFBAAF80914C -:105BA0007A0E90917B0EA0917C0EB0917D0E2FA16C -:105BB00038A549A55AA5BC01CD010F945865DC0153 -:105BC000CB019C01AD016FA978AD89AD9AAD0F9461 -:105BD000C95EDC01CB019C01AD01C701B6010F9488 -:105BE0005965DC01CB01BC01CD010F945768DC0184 -:105BF000CB012DEC3CEC4CEC5DE3BC01CD010F94F2 -:105C0000C95EDC01CB019C01AD016B897C898D896A -:105C10009E890F945965DC01CB018B8B9C8BAD8BDE -:105C2000BE8B29813A814B815C816B897C898D890E -:105C30009E890F94635E8823B4F48B899C89AD8917 -:105C4000BE8989839A83AB83BC838D818D8F8E813E -:105C50008E8F89819A81AB81BC818F8F98A3A9A3F4 -:105C6000BAA301C000008E818F5F8E8332CE8D81FA -:105C70008F5F8D8329CE86E0FE017D96DE015796EB -:105C800001900D928A95E1F750E05F8940E0488DE0 -:105C900030E0398D20E02A8D90E09B8D80E08C8D66 -:105CA000252E342E432E522E692E782EA22CB32C64 -:105CB000C42CD52CE62CF72C082D192D2A2D3B2D84 -:105CC0004C2D5D2D6E2D7F2D802F912FEA960FB6D6 -:105CD000F894DEBF0FBECDBFDF91CF911F910F9122 -:105CE000FF90EF90DF90CF90BF90AF909F908F90FC -:105CF0007F906F905F904F903F902F9008952F92DC -:105D00003F924F925F926F927F928F929F92AF924B -:105D1000BF92CF92DF92EF92FF920F931F93CF9398 -:105D2000DF93CDB7DEB7A4970FB6F894DEBF0FBEF2 -:105D3000CDBF19821A828FEF888F888D8F8B8FEF5E -:105D40009FE4A3ECB7EC898F9A8FAB8FBC8F1B823B -:105D50008B8186300CF054C11C828C8186300CF013 -:105D60004BC18B81282F880F330B8C81482F880FD4 -:105D7000550BC901880F991F820F931F880F991F18 -:105D8000840F951F880F991F880F991F8C5A934F66 -:105D9000FC0180819181A281B38111E09C01AD0160 -:105DA000BC01CD010F94A668882309F410E01123EB -:105DB00009F41EC18B810E94F6ABDC01CB018D8FF3 -:105DC0009E8FAF8FB8A38C810E94C8ABDC01CB0142 -:105DD00089A39AA3ABA3BCA39E012F5D3F4FCE0125 -:105DE0004D96B9010E94EAAD982F81E0892788235A -:105DF00009F0FDC081E089838FEF8D838FEF8E8363 -:105E000083EF9FE4A3ECB7E48F839887A987BA87D1 -:105E10001B868B8586300CF0C9C01C868C8586302D -:105E20000CF0C0C08B85282F880F330B8C85482F32 -:105E3000880F550BC901880F991F820F931F880F78 -:105E4000991F840F951F880F991F880F991F8C5ACF -:105E5000934FFC0180819181A281B38110E09C016C -:105E6000AD01BC01CD010F94A668882309F411E0AF -:105E7000112309F493C081E08A838B81282F880F36 -:105E8000330B8B85082E000C990BA901481B590B6D -:105E90008B81282F880F330B8B85082E000C990BD4 -:105EA000B901681B790BCB01489F9001499F300DC8 -:105EB000589F300D11248C81482F880F550B8C85ED -:105EC000082E000C990BBA01681B790B8C81482FA6 -:105ED000880F550B8C85082E000C990B481B590B0D -:105EE000649FC001659F900D749F900D1124820FD7 -:105EF000931F092E000CAA0BBB0BBC01CD010F9404 -:105F00006A5EDC01CB01BC01CD010F9457686B01C7 -:105F10007C010E9423FDDC01CB012FE230E040E058 -:105F200050E0BC01CD010F94B964DC01CB010D96AA -:105F3000A11DB11DBC01CD010F94685EDC01CB0138 -:105F40009C01AD0160E070E080E89FE30F94536630 -:105F5000DC01CB019C01AD01C701B6010F9459656D -:105F6000DC01CB018D879E87AF87B88B2F81388569 -:105F700049855A856D857E858F8598890F94635EE6 -:105F8000882364F48D859E85AF85B8898F83988733 -:105F9000A987BA878B818D838C818E838C858F5F57 -:105FA0008C873CCF8B858F5F8B8733CF8A8188230B -:105FB000F9F08D818823E4F0898D9A8DAB8DBC8DAD -:105FC0002F81388549855A85BC01CD010F94635EC8 -:105FD000882374F48F819885A985BA85898F9A8FD3 -:105FE000AB8FBC8F8D818F8B8E81888F01C000001D -:105FF0008C818F5F8C83B1CE8B818F5F8B83A8CE9A -:106000009A8181E08927882379F08981882361F04A -:1060100083E08F8B83E0888F80E090E0A0E8BFE38F -:10602000898F9A8FAB8FBC8F86E0FE017796DE0159 -:10603000519601900D928A95E1F750E0598940E020 -:106040004A8930E03B8920E02C8990E09D8980E0FE -:106050008E89252E342E432E522E692E782EA22C78 -:10606000B32CC42CD52CE62CF72C082D192D2A2D59 -:106070003B2D4C2D5D2D6E2D7F2D802F912FA496C5 -:106080000FB6F894DEBF0FBECDBFDF91CF911F9149 -:106090000F91FF90EF90DF90CF90BF90AF909F90C7 -:1060A0008F907F906F905F904F903F902F900895CA -:1060B00081E090913F1A911101C080E00D948F4BC7 -:1060C0008091451E80933F1A80E00D948F4B1F9363 -:1060D000CF93DF93CDB7DEB727970FB6F894DEBF27 -:1060E0000FBECDBF19821092391A10923A1A10922F -:1060F0003B1A10923C1A1092381A1092371A88E5FF -:106100000E94ACAB80933E1A80913E1A882329F0FE -:106110000E942CABDC01CB0108C08091760E9091DF -:10612000770EA091780EB091790E8093331A9093E8 -:10613000341AA093351AB093361A89E50E94ACAB95 -:1061400080933D1A80913D1A882329F00E942CAB40 -:10615000DC01CB0108C080917A0E90917B0EA0915A -:106160007C0EB0917D0E80932F1A9093301AA093DD -:10617000311AB093321A82E50E9463AB882331F161 -:106180008091A70D9091A80D21E0892B09F420E0C2 -:10619000222319F00E9428AB02C084E290E0909381 -:1061A000381A8093371A64E270E087E39AE10F941B -:1061B0002E2B8091371A9091381A1816190634F040 -:1061C00086E295E50F94664D81E088C186E50E94E0 -:1061D00063AB882319F00E9428AB02C080E090E0F6 -:1061E0009093460E8093450E8091450E9091460EF9 -:1061F000992334F08091450E9091460E059734F026 -:106200008DEF94E50F94664D81E0898380E50E94CF -:1062100063AB8823E1F00E9428AB9B838A838A8149 -:106220009B8190932E1A80932D1A80912D1A909114 -:106230002E1A992334F080912D1A90912E1A0797D7 -:1062400034F08DED94E50F94664D81E089838AE406 -:106250000E9463AB882359F18091A70D9091A80DFE -:1062600021E0892B09F420E0222319F00E9428ABB9 -:1062700002C080E090E09093480E8093470E80919A -:10628000470E9091480E892B91F08091470E909186 -:10629000480E029734F08091470E9091480E0A976D -:1062A00034F083EB94E50F94664D81E089839091FF -:1062B0003E1A80913D1A981731F089E894E50F94C1 -:1062C000664D81E089838091331A9091341AA091B0 -:1062D000351AB091361A11E020E030E0A901BC0176 -:1062E000CD010F94B96788230CF410E081E0812779 -:1062F0008823C1F48091331A9091341AA091351AF1 -:10630000B091361A11E020E030E04DE953E4BC01D1 -:10631000CD010F94635E18160CF410E081E0812724 -:10632000882361F080E090E0ADE1B3E48093331A1C -:106330009093341AA093351AB093361A80912F1A7D -:106340009091301AA091311AB091321A11E020E0E8 -:1063500030E0A901BC01CD010F94B96788230CF48A -:1063600010E081E081278823C1F480912F1A909159 -:10637000301AA091311AB091321A11E020E030E0C9 -:106380004AE953E4BC01CD010F94635E18160CF486 -:1063900010E081E08127882361F080E090E0AAE1AD -:1063A000B3E480932F1A9093301AA093311AB093CC -:1063B000321A8981882311F081E090C081E40E9423 -:1063C00063AB882389F084E40E9463AB882331F0B7 -:1063D00086E594E50F94664D81E080C081E00F94DE -:1063E0008F4B0F94754D0AC084E40E9463AB8823E1 -:1063F00029F080E00F948F4B0F94754D83E40E9439 -:1064000063AB80932C1A80912C1A882361F00E9430 -:106410002CABDC01CB018093391A90933A1AA093EC -:106420003B1AB0933C1A86E40E94ACAB8823D1F1AE -:106430000E942CABDC01CB018C839D83AE83BF8398 -:1064400011E020E030E0A9016C817D818E819F8187 -:106450000F94B96788230CF410E081E0812788232A -:1064600091F411E020E030E048EC52E46C817D8151 -:106470008E819F810F94635E18160CF410E081E00A -:106480008127882331F08DE194E50F94664D81E0FA -:1064900025C08C819D81AE81BF8141E0BC01CD01D1 -:1064A0000F94074C60E070E084E50E94B9AB9093D4 -:1064B0002B1A80932A1A80912A1A90912B1A9923C9 -:1064C00034F080912A1A90912B1A039734F089E0C6 -:1064D00094E50F94664D81E001C080E027960FB6E9 -:1064E000F894DEBF0FBECDBFDF91CF911F9108950D -:1064F0008F929F92AF92BF92EF92FF920F931F9352 -:10650000CF93DF9384E5E82E8CE0F82EC0E087017E -:10651000D0E0F80180809180A280B380A501940131 -:10652000C501B4010F94A668811117C02091391AD2 -:1065300030913A1A40913B1A50913C1AC501B4016E -:106540000F9459659B01AC01F801608371838283CC -:1065500093836D2F8C2F0E9477A0DF5F0C5F1F4FFE -:10656000D630B9F6CF5FF8E1EF0EF11CC63079F600 -:10657000DF91CF911F910F91FF90EF90BF90AF905F -:106580009F908F9008952F923F924F925F926F92BB -:106590007F928F929F92AF92BF92CF92DF92EF92B3 -:1065A000FF920F931F93CF93DF93CDB7DEB72A9758 -:1065B0000FB6F894DEBF0FBECDBF8C834D835E83D4 -:1065C0006F83788784E59CE09B838A838C0186E0D7 -:1065D000782E212C312CC12CD12C76011A861986CB -:1065E000E985FA85E00FF11F80809180A280B38059 -:1065F000A5019401C501B4010F94A66881110BC0D7 -:10660000A5019401C701B6010F9459656B017C0186 -:106610009FEF291A390AE985FA853496FA87E987BE -:106620007897F1F67A94085E1F4F7110D7CFB101B9 -:10663000032C000C880B990B0F946A5E9B01AC0134 -:10664000C701B6010F9453666B017C0184E59CE0A1 -:106650009A87898796E09983812C912C540100E0D8 -:1066600010E0E985FA85E00FF11F408051806280DB -:106670007380A3019201C301B2010F94A668811136 -:1066800012C0A7019601C301B2010F9458659B0186 -:10669000AC010F94C95E9B01AC01C501B4010F941C -:1066A00059654B015C010C5F1F4F08311105C9F69C -:1066B000E981E150E98389859A8548969A87898797 -:1066C000E111CDCFB1018BEC93E50F94C34D8AE07E -:1066D0000E942662E2E7F8E0FA87E987E985FA8511 -:1066E0008191FA87E987882319F00E942662F6CF04 -:1066F00046E0C701B6010E94C6628AE00E94266297 -:10670000B1016F5F7F4F072E000C880B990B0F9420 -:106710006A5E9B01AC01C501B4010F9453660F94EE -:1067200057684B015C018CED96E09A878987E98573 -:10673000FA858191FA87E987882319F00E942662F9 -:10674000F6CF46E0C501B4010E94C6628AE00E940D -:106750002662FC81FF23F1F110E08A819B819A87F8 -:10676000898700E0E985FA8580809180A280B380E6 -:10677000A5019401C501B4010F94A66881111AC046 -:106780002D813E814F815885C701B6010F9459650F -:106790009B01AC01C501B4010F9458659B01AC018C -:1067A000E985FA856083718382839383602F812FCB -:1067B0000E9477A00F5F89859A8504969A878987BA -:1067C000063081F61F5FEA81FB817896FB83EA83BE -:1067D000163019F62A960FB6F894DEBF0FBECDBF5D -:1067E000DF91CF911F910F91FF90EF90DF90CF90AD -:1067F000BF90AF909F908F907F906F905F904F90E1 -:106800003F902F900895AF92BF92CF92DF92EF9278 -:10681000FF920F931F93CF93DF93CDB7DEB7A89767 -:106820000FB6F894DEBF0FBECDBF9BA38AA37DA396 -:106830006CA34EA32FA308A70F94603081E00F94A0 -:10684000AF1484E289838EA1882331F080912A1AC3 -:1068500090912B1A0E9407AF8981882F90E025E242 -:1068600030E0A901481B590BCA019B838A8384EF3E -:1068700093E52A813B81B9010F94C34D82EF93E5E3 -:1068800064E270E00F94C34D8EEE93E50F94664D75 -:106890008AED93E51F9224E22F932B812F932A8177 -:1068A0002F93292F2F938F931F920F940C458DB701 -:1068B0009EB707960FB6F894DEBF0FBECDBF88A572 -:1068C0008823C9F00F947F2EA22EB32EC42ED52E6E -:1068D000E62EF72E082F192F2A2D3B2D4C2D5D2D3E -:1068E0006E2D7F2D802F912F2C8B3D8B4E8B5F8BB0 -:1068F000688F798F21C04CA15DA18AA19BA100E086 -:1069000010E021E0BC0180E00F94E92BA22EB32E11 -:10691000C42ED52EE62EF72E082F192F2A2D3B2D0B -:106920004C2D5D2D6E2D7F2D802F912F2C8B3D8B2F -:106930004E8B5F8B688F798F8C8988230CF45AC0BB -:106940008C890E94F6ABDC01CB018A8F9B8FAC8FC8 -:10695000BD8F8D890E94C8ABDC01CB018E8F9F8FCC -:10696000A8A3B9A38091450E9091460E282F8FA120 -:10697000882311F031E001C032E0BE01625E7F4F3A -:10698000CE014A9601E0432F0F945015DC01CB0154 -:106990008C839D83AE83BF838C89282F880F330B14 -:1069A0008D89482F880F550BC901880F991F820FB9 -:1069B000931F880F991F840F951F880F991F880FA9 -:1069C000991F9C012C5A334F8C819D81AE81BF81D0 -:1069D000F90180839183A283B3838D89682F8C8989 -:1069E000782F8C819D81AE81BF819C01AD01872F65 -:1069F0000E9477A00E9451638C89882344F089818A -:106A0000815089838981882311F081E001C080E071 -:106A1000882309F018CF80E00F94AF140F94671407 -:106A20000F945830188A198A1A8A1B8A8CA19DA142 -:106A3000FC0180819181A281B3812091C1143091A8 -:106A4000C2144091C3145091C414BC01CD010F94E1 -:106A50005865DC01CB016C017D0160E070E083E0F2 -:106A600090E00E9402AF092E000CAA0BBB0BBC01E8 -:106A7000CD010F946A5EDC01CB019C01AD01C70121 -:106A8000B6010F94635E88238CF460E070E083E0CD -:106A900090E00E9402AF092E000CAA0BBB0BBC01B8 -:106AA000CD010F946A5EDC01CB0155C08CA19DA184 -:106AB000FC0180819181A281B3812091C114309128 -:106AC000C2144091C3145091C414BC01CD010F9461 -:106AD0005865DC01CB016C017D0164E371E081E369 -:106AE00091E00E94FDAE092E000CAA0BBB0BBC016D -:106AF000CD010F946A5EDC01CB019C01AD01C701A1 -:106B0000B6010F94B96718168CF464E371E081E361 -:106B100091E00E94FDAE092E000CAA0BBB0BBC013C -:106B2000CD010F946A5EDC01CB0115C08CA19DA143 -:106B3000FC0180819181A281B3812091C1143091A7 -:106B4000C2144091C3145091C414BC01CD010F94E0 -:106B50005865DC01CB018C879D87AE87BF878AA1F2 -:106B60009BA1FC0180819181A281B3812091BD1400 -:106B70003091BE144091BF145091C014BC01CD019E -:106B80000F945865DC01CB016C017D0160E070E081 -:106B900083E090E00E9402AF092E000CAA0BBB0B11 -:106BA000BC01CD010F946A5EDC01CB019C01AD01FB -:106BB000C701B6010F94635E88238CF460E070E037 -:106BC00083E090E00E9402AF092E000CAA0BBB0BE1 -:106BD000BC01CD010F946A5EDC01CB0155C08AA1D6 -:106BE0009BA1FC0180819181A281B3812091BD1480 -:106BF0003091BE144091BF145091C014BC01CD011E -:106C00000F945865DC01CB016C017D016BE371E0F1 -:106C100087E391E00E94FDAE092E000CAA0BBB0B8E -:106C2000BC01CD010F946A5EDC01CB019C01AD017A -:106C3000C701B6010F94B96718168CF46BE371E0C5 -:106C400087E391E00E94FDAE092E000CAA0BBB0B5E -:106C5000BC01CD010F946A5EDC01CB0115C08AA195 -:106C60009BA1FC0180819181A281B3812091BD14FF -:106C70003091BE144091BF145091C014BC01CD019D -:106C80000F945865DC01CB0188879987AA87BB8759 -:106C9000AE01405F5F4F9E01245F3F4FCE010896DB -:106CA000B9010E943F7EA8960FB6F894DEBF0FBED2 -:106CB000CDBFDF91CF911F910F91FF90EF90DF90AB -:106CC000CF90BF90AF90089584E08A950000E9F7D7 -:106CD0000895FC01DB018C9120813181382798E0F7 -:106CE000A901440F551F37FD06C09A019150C1F705 -:106CF0003183208308959A01B1E22B27B0E13B272D -:106D0000F5CFEF92FF920F931F93CF93DF93FC0188 -:106D100001900020E9F731979F01281B390B1216CB -:106D20001306CCF56AE56093A61C65EA6093A71C80 -:106D300063E0620F6093A81C62E86093A91C509303 -:106D4000AA1C4093AB1CFC01ACEABCE1820F931F70 -:106D500041914D93E817F907D9F786EAE82E8CE1BF -:106D6000F82E00E010E0E9012596C017D10764F085 -:106D7000D7016D917D018AE49AE10E944E6B0F94D8 -:106D800064360F5F1F4FF1CF8AE1E6EAFCE1DF01D5 -:106D90001D928A95E9F7DF91CF911F910F91FF9096 -:106DA000EF9008950F931F93CF93DF932091571C7B -:106DB0002A3509F098C09091581C953A09F093C073 -:106DC0008091561C833008F48EC02093A61C9093AB -:106DD000A71C8093A81C9091591C9093A91C9038D3 -:106DE000B1F490915A1C9093AA1CE2E6FCE1ABEA44 -:106DF000BCE120E030E090E00297281739070CF062 -:106E000044C0408132964D932F5F3F4FF6CF833081 -:106E100061F4913809F064C080915A1C8093AA1CD7 -:106E200080915E1C8093AB1C30C09238F1F490913D -:106E30005A1C20915B1C2093AA1C9093AB1CECEA7B -:106E4000FCE120E030E090E0039728173907ECF4EC -:106E5000D901AE7FAE59B34E4C9111965C915083DF -:106E600041832E5F3F4F3296F0CF843071F49338D8 -:106E700061F480915A1C90915B1C9093AA1C8093A2 -:106E8000AB1C80915E1C8093AC1C06EA1CE1C0E048 -:106E9000D0E08091561C90E002968C179D075CF024 -:106EA000D8016D918D018AE49AE10E944E6B0F9496 -:106EB00064362196EECF80E5E6E5FCE1DF011D9228 -:106EC0008A95E9F78AE1E6EAFCE1DF011D928A95FD -:106ED000E9F78AE58093571C85EA8093581C03C024 -:106EE000923899F6A4CFDF91CF911F910F91089519 -:106EF000CF93DF93CDB7DEB7A8970FB6F894DEBF78 -:106F00000FBECDBF8C010E94AE9D0F94E24D83E772 -:106F100095E50F94664D0115110511F40AE615E586 -:106F20008091491A80FD75C081608093491A85E877 -:106F300098E00E944463882483948AE5982E909276 -:106F4000631C8092621C8FE090E09093651C80939C -:106F5000641C97E0A92EA092561C22E8B22EB09293 -:106F6000591C34E8C32ED12CE12CF12CC0925A1CB0 -:106F7000D0925B1CE0925C1CF0925D1C0F94D236A8 -:106F80009092631C8092621C88E590E09093651C4F -:106F90008093641CA092561CB092591CC0925A1C3B -:106FA000D0925B1CE0925C1CF0925D1C0F94D23678 -:106FB00063E070E080E090E00E945CA08AE2898358 -:106FC0008A838B838C83DE011596F801CE010196AE -:106FD0009D01281B390B44913196442311F04D93A8 -:106FE000F7CFFC01E20FF31F2AE2AF01481B590B58 -:106FF0004832510511F02193F8CF40E650E160E0AE -:1070000070E00F9481366AE070E080E090E00E94CA -:107010005CA061E081E695E50E94BFE189EE93E026 -:1070200030E6019729F0232F2A950000E9F7F9CFE0 -:10703000F89489EE93E038EE019729F0232F2A95F2 -:107040000000E9F7F9CF0E94AE9D0E94A05FA895CD -:10705000FECFCF92DF92EF92FF920E9423FD6B0151 -:107060007C0128E5C20E22E0D21EE11CF11C0E9428 -:107070009F6A8F3F61F00E9423FDDC01CB018C19D8 -:107080009D09AE09BF09B7FDF2CF80E001C081E0E4 -:10709000FF90EF90DF90CF9008958F929F92AF92E4 -:1070A000BF92CF92DF92EF92FF920F931F93CF93F5 -:1070B000DF9300D01F92CDB7DEB7FC018381813012 -:1070C00079F5818181FF2CC081899289A389B48956 -:1070D000892B8A2B8B2B09F448C07F0140E050E0BC -:1070E000BA01CF010E9463B88823D1F0F7018588E7 -:1070F0009688A788B08CC18CD28C82E090E0A0E00A -:10710000B0E0F60180839183A283B3839E012F5F59 -:107110003F4FB501A401C6010E944C72811102C00B -:1071200080E03CC000E010E09801B501A401C60178 -:107130000E94BA718823A1F389809A80AB80BC80B9 -:10714000F6018789803141F4F8EF8F16FFEF9F0633 -:10715000A104B10460F4DACF88EF88168FEF9806A7 -:10716000A8068FE0B80618F4D1CF81E017C0F70168 -:10717000158A168A178A108E118A128A138A148A1F -:10718000818180688183C7010E949CBB882341F272 -:1071900040E050E0BA01C7010E9463B80F900F9021 -:1071A0000F900F90DF91CF911F910F91FF90EF9073 -:1071B000DF90CF90BF90AF909F908F9008952F92C7 -:1071C0003F924F925F926F927F928F929F92AF9277 -:1071D000BF92CF92DF92EF92FF920F931F93CF93C4 -:1071E000DF931F921F92CDB7DEB77C012DB73EB75C -:1071F0003A83298380911F1E811107C01092041EBB -:107200001092071E81E080931F1E8091FC1D81114A -:1072100007C01092E11D1092E41D81E08093FC1DD7 -:10722000FB0180818F3259F480E49BE1F701918367 -:1072300080831092D41D8B010F5F1F4F06C085E223 -:107240009BE1F701918380838B01F70120803180DE -:1072500024E0C22E2EE1D22E0115110509F479C0C9 -:107260004DB65EB66FE270E0C8010F94FF694C0145 -:107270000817190708F06BC03C01601A710A7724DF -:10728000C30101962DB73EB7281B390B0FB6F894F2 -:107290003EBF0FBE2DBF8DB79EB701965C01A30107 -:1072A000B8010F941F6AF501E60DF71D1082F70172 -:1072B0006081718121E0A501C6010E94BBBF8111DF -:1072C0000FC0B5018DE495E50F94CF4D8AE495E5A7 -:1072D0000F94664D0FB6F8945EBE0FBE4DBE39C01A -:1072E000F701808191812816390611F00E94CFBBE9 -:1072F000F701D182C082A091D41DAA3080F481E030 -:107300008A0F8093D41DFBE1FA9FD0011124AA5368 -:10731000B34EF6018BE101900D928A95E1F7F701EA -:107320008081918184509E4129F491EEC92E9DE186 -:10733000D92E04C084E0C82E8EE1D82E84010F5FC0 -:107340001F4F0FB6F8945EBE0FBE4DBE85CFC8016D -:1073500002C080E090E029813A810FB6F8943EBFE8 -:107360000FBE2DBF0F900F90DF91CF911F910F9106 -:10737000FF90EF90DF90CF90BF90AF909F908F9055 -:107380007F906F905F904F903F902F900895209145 -:10739000481A2695269520FF2DC02091DF1D30919B -:1073A000E01D280F391F3093E01D2093DF1D209131 -:1073B000461A3091471A280F391F3093471A2093E5 -:1073C000461A209108012170209306012091441A49 -:1073D0003091451A820F931F9093451A8093441A57 -:1073E0000E9423FD6093401A7093411A8093421AC1 -:1073F0009093431A08959091CE1B8091CF1B9813C0 -:1074000006C08091220D9091230D892B21F080E000 -:107410000E946A63F0CF0895CF93DF93C82F0F9433 -:10742000294B24E0C29FE0011124C657DB4E0F9484 -:107430006A5E288139814A815B810F94C95EDF9140 -:10744000CF9108952F923F924F925F926F927F92C9 -:107450009F92AF92BF92CF92DF92EF92FF920F93E3 -:107460001F93CF93DF93CDB7DEB768970FB6F8942D -:10747000DEBF0FBECDBFA82E1A012B01922EB32E58 -:10748000C82ED12CF601E85FF94AE491EE24E3948A -:107490001E160CF4E12CFF24F39420E030E0A90147 -:1074A000C201B1010F94B96718160CF0F12CFE243B -:1074B00061F082E0A81209C081E00E94DBF869E176 -:1074C00070E080E090E00F94FA4C80E00F940C3A6A -:1074D00069837A838B839C8381E00F940C3A6D835C -:1074E0007E838F83988782E00F940C3A69877A872E -:1074F0008B879C8783E00F940C3A6D877E878F87FC -:10750000988BCC0CDD1CCC0CDD1C66246394712C98 -:107510006C0E7D1E6C0C7D1CF30110821182128298 -:1075200013829E01235F3F4FAE01475F5F4FBE0155 -:107530006B5F7F4FCE0101960F94D919F301208222 -:107540003182428253821D8A1E8A1F8A188EE090E1 -:10755000860E20E030E0A901B801892D9B2D0F9403 -:10756000635E81110AC0F601E154FA4A8591959152 -:10757000A591B4918C019A2EBB2EC801A92DBB2DCB -:10758000898B9A8BAB8BBC8BCE0145966C018E019F -:107590000F5E1F4F9E01235F3F4FAE01475F5F4F5E -:1075A000BE016B5F7F4F44970E947A800F94FB3936 -:1075B000FF2041F092E0A91203C080E00E94DBF8B6 -:1075C0000F94520D68960FB6F894DEBF0FBECDBF74 -:1075D000DF91CF911F910F91FF90EF90DF90CF90AF -:1075E000BF90AF909F907F906F905F904F903F9033 -:1075F0002F9008959091CE1B8091CF1B981306C0B9 -:107600008091220D9091230D892B21F080E00E9422 -:107610006A63F0CF5F9A8091481A8E7F8093481AF0 -:107620008A9A8091481A8D7F8093481A8091080128 -:1076300080958170809306018091481A8B7F80939A -:10764000481A0C94A05FCF93DF9390916F00292F7D -:10765000227091FF05C090916F009D7F90936F0005 -:1076600094E0899FA0011124FA01E457F14E608152 -:10767000718182819381222329F020916F00226001 -:1076800020936F00EA01C657DB4E0F946A5E288193 -:1076900039814A815B810F94C95EDF91CF91089552 -:1076A00080916F00982F927081FF05C080916F00CC -:1076B0008D7F80936F008091CF1B8093CE1B809332 -:1076C000CD1B8093CC1B84E68093CB1B28EE33E04C -:1076D0003093230D2093220D992329F080916F0080 -:1076E000826080936F0081E080938B1E0895CF921B -:1076F000DF92EF92FF92CF93DF932091451E2223DA -:1077000049F1EC0108960E940EE86B017C0120E033 -:1077100030E0A9010F94635E882379F0BE016C5FAD -:107720007F4FCE010E9424AC9B01AC01C701B60182 -:107730000F94C95E9B01AC0103C020E030E0A901B9 -:10774000688579858A859B850F94586568877987D0 -:107750008A879B87DF91CF91FF90EF90DF90CF904A -:1077600008958F929F92AF92BF92EF92FF920F93E4 -:107770001F93CF93DF932091451E222349F1EA0105 -:107780007B018C01CA010E940EE84B015C0120E0E4 -:1077900030E0A9010F94635E882369F0B701C80146 -:1077A0000E9424AC9B01AC01C501B4010F94C95ED9 -:1077B0009B01AC0103C020E030E0A9016881798120 -:1077C0008A819B810F945965688379838A839B831F -:1077D000DF91CF911F910F91FF90EF90BF90AF90ED -:1077E0009F908F9008957F928F929F92AF92BF92B9 -:1077F000CF92DF92EF92FF920F931F93CF93DF937D -:107800007090341EC5E3DEE19CE6C92E92E0D92ECD -:1078100028E1E22E22E0F22E0DE31EE1772059F15D -:10782000F80180809180A280B38020E030E0A9013F -:10783000C501B4010F94635E8823E9F020E030E0D5 -:1078400040E05FE3C501B4010F94C95E9B01AC0148 -:107850000F94C95E2BED3FE049E450E40F94C95EFC -:107860009B01AC0160E070E080E89FE30F945366F9 -:107870004B015C0106C0812C912C80E8A82E8FE37F -:10788000B82E89929992A992B992F601619171915B -:107890006F01072E000C880B990B0F946A5E2AE08B -:1078A00037ED43E25CE30F94C95EA50194010F94A8 -:1078B000C95EF70161937193819391937F010C5F8E -:1078C0001F4FFEE1CD33DF0709F0A8CFDF91CF9145 -:1078D0001F910F91FF90EF90DF90CF90BF90AF90EE -:1078E0009F908F907F9008954F925F926F927F92BA -:1078F0008F929F92AF92BF92CF92DF92EF92FF92C0 -:107900000F931F93CF93DF93CDB7DEB768970FB672 -:10791000F894DEBF0FBECDBF8C015B015A83498353 -:10792000FC01EE5BFF4F60817181828193810F9436 -:10793000685E6B017C01D5012D913D914D915C916B -:107940000F94C95E0F9437660F94CC6669877A8767 -:107950008B879C87E981FA81208131814281538123 -:10796000C701B6010F94C95E0F9437660F94CC66B9 -:107970006D877E878F87988B29853A854B855C85B7 -:10798000283731054105510540F488E790E0A0E033 -:10799000B0E089879A87AB87BC872D853E854F8568 -:1079A0005889283731054105510540F488E790E0B2 -:1079B000A0E0B0E08D879E87AF87B88BF801E25BCF -:1079C000FF4F208131814281538129833A834B8348 -:1079D0005C83CA01B9010F946A5E2B013C01698581 -:1079E0007A858B859C850F94685E698B7A8B8B8BEF -:1079F0009C8B20E030E0A901C301B2010F94635ECB -:107A0000882329F1A7019601C701B6010F94C95E29 -:107A10004B015C0129893A894B895C89CA01B9010A -:107A20000F94C95E9B01AC01C501B4010F94586568 -:107A30004B015C01A3019201C301B2010F9459658E -:107A40009B01AC01C501B4010F94536603C060E013 -:107A500070E0CB010F9437660F94CC666D837E8304 -:107A60008F83988769817A818B819C81909580959D -:107A7000709561957F4F8F4F9F4F0F946A5E4B01BA -:107A80005C016D857E858F8598890F94685E69831A -:107A90007A838B839C8320E030E0A901C501B40187 -:107AA0000F94635E882349F129813A814B815C817F -:107AB000CA01B9010F94C95E6D8B7E8B8F8B988F35 -:107AC000A7019601C701B6010F94C95E9B01AC01E5 -:107AD0006D897E898F89988D0F9458656B017C0123 -:107AE000A5019401C501B4010F9459659B01AC0136 -:107AF000C701B6010F94536603C060E070E0CB018C -:107B00000F94FB66D80195968D909D90AD90BC909A -:107B10009897750164012D813E814F815885C21A65 -:107B2000D30AE40AF50A0F94CC66C61AD70AE80A03 -:107B3000F90AF7FE75C020E030E0A901C301B201E7 -:107B40000F94635E882309F443C0C501B4010F9408 -:107B5000685E6B017C01A3019201C301B2010F9425 -:107B600059659B01AC01C701B6010F94C95E6B0159 -:107B70007C0129893A894B895C89CA01B9010F9432 -:107B8000C95E9B01AC01C701B6010F9458656B013A -:107B90007C0129813A814B815C81CA01B9010F9432 -:107BA000C95E9B01AC01C701B6010F9459656B0119 -:107BB0007C0120E030E040E850E4C301B2010F94C2 -:107BC000C95E9B01AC01C701B6010F94536603C0A7 -:107BD00060E070E0CB010F9437667B018D83998361 -:107BE00020E030E0A9010F94B967181624F0E12CC9 -:107BF000F12C1D821982B7018D8199810F94CC6679 -:107C00006D837E838F83988786169706A806B906AC -:107C100020F48D829E82AF82B886C12CD12C760151 -:107C20008D819E81AF81B885F80182A793A7A4A713 -:107C3000B5A7C80ED91EEA1EFB1EC6A6D7A6E0AA87 -:107C4000F1AAEA5BFF4F29853A854B855C85208345 -:107C500031834283538334968D859E85AF85B88961 -:107C600080839183A283B38368960FB6F894DEBFB6 -:107C70000FBECDBFDF91CF911F910F91FF90EF907D -:107C8000DF90CF90BF90AF909F908F907F906F903C -:107C90005F904F9008954F925F926F927F928F9274 -:107CA0009F92AF92BF92CF92DF92EF92FF920F938B -:107CB0001F93CF93C82FE82EF12CF701E85FF94A04 -:107CC000B490823049F481E00F94AF14811106C161 -:107CD0000E9459E6811102C16701CC0CDD1CCC0C5D -:107CE000DD1CF601E450FA4A459055906590749079 -:107CF0006B2DBB0C770B880B990B0F946A5E4B01B5 -:107D00005C0120E030E040EC5FE3C301B2010F947E -:107D1000C95EA50194010F94C95EAB01BC0100E0EE -:107D200010E098018C2F0F94223AC23009F0CAC09B -:107D30000E940AE6E0E070E060EA80E42E2F372F30 -:107D4000462F582FC501B4010F94C95E4B015C0149 -:107D500020E030E0A9010F94635E882309F44EC04F -:107D6000C23021F000E010E0980104C000E010E013 -:107D700020E830E4B501A40170588C2F0F94223A0A -:107D8000C23051F40E9459E68111A8C0412C512CF7 -:107D9000612C90E4792E21C0F701E351FA4A6491F5 -:107DA000611107C00F94E64D8BEC95E50F94664D7D -:107DB0006AE0F601E154FA4A459055906590749056 -:107DC00070E080E090E00F946A5E9B01AC01C3011B -:107DD000B2010F9453662B013C01A5019401C5012A -:107DE000B4010F945965AB01BC01930182018C2F42 -:107DF0000F94223AC23011F40E940AE681E090E02A -:107E00000C2E01C0880F0A94EAF79091481A982B1B -:107E10009093481A90918C0D892B80938C0DF601CC -:107E2000ED54FA4A85919591A591B491F601EA58DD -:107E3000F14F80839183A283B383C230D1F4209128 -:107E4000C5143091C6144091C7145091C814609164 -:107E50007E0E70917F0E8091800E9091810E0F9416 -:107E6000586560937E0E70937F0E8093800E909382 -:107E7000810E1092471A1092461A0E940A7FF6014C -:107E8000E35AF14FD601AA58B14F8D919D910D90B3 -:107E9000BC91A02D80839183A283B383C230F1F47F -:107EA00080E0CF911F910F91FF90EF90DF90CF90E6 -:107EB000BF90AF909F908F907F906F905F904F900A -:107EC0000D94AF14F601E051FA4A85919591A59170 -:107ED000B491E82F792F6A2F8B2F30CFCF911F913C -:107EE0000F91FF90EF90DF90CF90BF90AF909F9059 -:107EF0008F907F906F905F904F900895CF93DF9316 -:107F000024E0829FC0011124EC01CF54DB4EFC0120 -:107F1000EE5BF54FDC01A85DB14E2D913D914D9189 -:107F20005C9160817181828193810F94596568832E -:107F300079838A839B83DF91CF9108951F93CF9399 -:107F4000DF93882329F0D0918C0DD095D17001C09A -:107F5000D0E0662339F010918C0D1695117081E0F8 -:107F6000182701C010E0442341F0C0918C0DC2FBE2 -:107F7000CC27C0F981E0C82701C0C0E0D11105C0FD -:107F8000111103C0CC2309F444C00F94E64D8DEACF -:107F900095E50F94664DDD2319F088E50E94266271 -:107FA000112319F089E50E942662CC2319F08AE595 -:107FB0000E94266285EA95E50F94664DC11103C0C3 -:107FC00048EC55E002C04AEA58E0111103C028EC21 -:107FD00035E002C020E938E0D11103C088EC95E01B -:107FE00002C083E496E05F934F933F932F939F9358 -:107FF0008F9383E995E59F938F931F920F940C4580 -:108000008DB79EB709960FB6F8949EBF0FBE8DBF71 -:10801000C1E08C2FDF91CF911F910895CF92DF9215 -:10802000EF92FF921F93CF93DF93CDB7DEB76097A8 -:108030000FB6F894DEBF0FBECDBF8091760E909143 -:10804000770EA091780EB091790E89839A83AB83D5 -:10805000BC8380917A0E90917B0EA0917C0EB091A2 -:108060007D0E8D839E83AF83B88780917E0E909125 -:108070007F0EA091800EB091810E89879A87AB8781 -:10808000BC878091820E9091830EA091840EB09156 -:10809000850E8D879E87AF87B88B0F94E2180F945B -:1080A000F33B10E0812F0F947E3F812F0E94227DB1 -:1080B0001F5F1330B9F76091591470915A14809171 -:1080C0005B1490915C1440E00F94074C23EF34E074 -:1080D00045E35FE36091721470917314809174149E -:1080E000909175140F94C95E6B017C016091300D05 -:1080F0007091310D8091320D9091330D0F94685E27 -:108100009B01AC01C701B6010F94C95E29E732E8B3 -:108110004AE550E40F94C95E0F94576860936E145B -:1081200070936F1480937014909371140F94591975 -:1081300040E150E066E77EE0CE0101960F94CB6906 -:10814000892B79F060960FB6F894DEBF0FBECDBFD5 -:10815000DF91CF911F91FF90EF90DF90CF900C9423 -:108160000C7F60960FB6F894DEBF0FBECDBFDF91D7 -:10817000CF911F91FF90EF90DF90CF9008954F9295 -:108180005F926F927F928F929F92AF92BF92CF92A7 -:10819000DF92EF92FF92CF93DF9300D000D0CDB764 -:1081A000DEB79E838D83DC014D905D906D907C9059 -:1081B000139714968D909D90AD90BC90179718963C -:1081C0008D919D910D90BC91A02D89839A83AB8355 -:1081D000BC83A3019201C301B2010F94C95E6B017C -:1081E0007C01A5019401C501B4010F94C95E9B01F6 -:1081F000AC01C701B6010F9459656B017C0129815F -:108200003A814B815C81CA01B9010F94C95E9B011F -:10821000AC01C701B6010F9459650F9457689B01D3 -:10822000AC0160E070E080E89FE30F9453666B015F -:108230007C019B01AC01C301B2010F94C95EED81C9 -:10824000FE816083718382839383A7019601C501B8 -:10825000B4010F94C95EAD81BE8114966D937D9378 -:108260008D939C931797A701960169817A818B81E1 -:108270009C810F94C95EED81FE8160877187828742 -:10828000938726960FB6F894DEBF0FBECDBFDF9161 -:10829000CF91FF90EF90DF90CF90BF90AF909F90E5 -:1082A0008F907F906F905F904F9008950F931F93E2 -:1082B0008091AC14813019F40E9423FD08C06091B4 -:1082C000A8147091A9148091AA149091AB140091F4 -:1082D0009A1410919B1420919C1430919D14601B52 -:1082E000710B820B930B28EE33E040E050E00F94CB -:1082F000B96480919E1490919F14A091A014B091A4 -:10830000A114BC01CD01620F731F841F951F1F9123 -:108310000F9108951092AC1410929A1410929B141D -:1083200010929C1410929D141092A8141092A914EB -:108330001092AA141092AB1410929E1410929F14D3 -:108340001092A0141092A11408958091AC14813061 -:1083500099F582E998E00E94446381E09AE5909360 -:10836000631C8093621C87E590E09093651C80936A -:10837000641C87E08093561C82E88093591C84E833 -:1083800090E0A0E0B0E080935A1C90935B1CA09317 -:108390005C1CB0935D1C0F94D23682E08093AC14C9 -:1083A0000E9423FD6093A8147093A9148093AA14CB -:1083B0009093AB1481E0089580E008958F929F928E -:1083C000AF92BF92CF92DF92EF92FF920F931F93E3 -:1083D000CF93DF93CDB7DEB72C970FB6F894DEBFFF -:1083E0000FBECDBF8B0140E050E068E472E44D83E6 -:1083F0005E836F83788740E050E060EA70E44987ED -:108400005A876B877C87813019F0823039F02AC017 -:10841000BE01675F7F4FC801089646C0F8012085FE -:1084200031854285538560917E0E70917F0E8091DB -:10843000800E9091810E0F9459656B017C0120E0B4 -:1084400030E048EC53E40F94635E87FD06C0C12C16 -:10845000D12C88ECE82E83E4F82EC982DA82EB82F4 -:10846000FC821DC080907E0E90907F0EA090800EAA -:10847000B090810EF801C084D184E284F384960127 -:10848000A701B401C5010F94635E87FD02C06401BA -:108490007501C601D70189839A83AB83BC83BE0172 -:1084A000675F7F4FCE0101960E94617EB8016C5FCD -:1084B0007F4FAE014B5F5F4FC8010E943F7E0E941D -:1084C0000C7F2C960FB6F894DEBF0FBECDBFDF91A8 -:1084D000CF911F910F91FF90EF90DF90CF90BF90C1 -:1084E000AF909F908F9008954F925F926F927F927E -:1084F0008F929F92AF92BF92CF92DF92EF92FF92B4 -:10850000CF93DF93CDB7DEB76E970FB6F894DEBF8B -:108510000FBECDBF9E8F8D8FDC01D896CD90DD90A4 -:10852000ED90FC90DB9720E030E0A901C701B60197 -:108530000F94635E811103C081E090E0CBC1A7017D -:108540009601ED8DFE8D60817181828193810F9402 -:10855000536669837A838B839C83AD8DBE8D6D93C7 -:108560007D938D939C931397A701960114966D911B -:108570007D918D919C9117970F9453666D837E83A7 -:108580008F839887ED8DFE8D6483758386839783B3 -:10859000A701960160857185828593850F94536646 -:1085A00069877A878B879C87AD8DBE8D18966D9372 -:1085B0007D938D939C931B97A70196011C966D91BB -:1085C0007D918D919C911F970F9453664B015C0197 -:1085D00029813A814B815C81CA01B9010F94C95E3E -:1085E0009B01AC01C501B4010F9458656D877E876E -:1085F0008F87988BED8DFE8D64877587868797872B -:10860000A701960160897189828993890F945366C5 -:108610004B015C012D813E814F815885CA01B90112 -:108620000F94C95E9B01AC01C501B4010F9458655C -:10863000698B7A8B8B8B9C8BAD8DBE8D50966D9399 -:108640007D938D939C935397A701960154966D91BA -:108650007D918D919C9157970F9453664B015C01CE -:1086600029853A854B855C85CA01B9010F94C95E9D -:108670009B01AC01C501B4010F945865ED8DFE8DD1 -:10868000648B758B868B978BA7019601608D718D9E -:10869000828D938D0F9453664B015C012D813E8139 -:1086A0004F81588569817A818B819C810F94C95E45 -:1086B0009B01AC01C501B4010F9458654B015C01ED -:1086C000AD8DBE8D58966D937D938D939C935B97E6 -:1086D000A701960190966D917D918D919C919397B4 -:1086E0000F9453662B013C0129853A854B855C85A7 -:1086F0006D817E818F8198850F94C95E9B01AC014D -:10870000C301B2010F9458656D8B7E8B8F8B988F50 -:10871000ED8DFE8D60A371A382A393A3A7019601A3 -:10872000648D758D868D978D0F9453666B017C01DA -:1087300029853A854B855C8569817A818B819C810D -:108740000F94C95E9B01AC01C701B6010F94586537 -:10875000698F7A8F8B8F9C8FAD8DBE8D5C966D935C -:108760007D938D939C935F9729893A894B895C8986 -:108770006D857E858F8598890F94C95E6B017C011C -:10878000A5019401C501B4010F94C95E9B01AC0120 -:10879000C701B6010F9458656B017C0120E030E001 -:1087A000A9010F94B9672601370187FF04C077FA42 -:1087B000709477F87094ED8DFE8D20A531A542A5BB -:1087C00053A564A175A186A197A10F9459652FEFB8 -:1087D00036EE4BED5EE20F94C95EA30192010F9459 -:1087E000B96787FFA9CE2D893E894F89588DC5016C -:1087F000B4010F94C95E2B013C01298D3A8D4B8D3C -:108800005C8D69897A898B899C890F94C95E9B01EB -:10881000AC01C301B2010F945865A70196010F94F2 -:1088200053662B013C01AD8DBE8D9C966D937D935F -:108830008D939C939F97298D3A8D4B8D5C8DC501AF -:10884000B4010F94C95E4B015C012D893E894F89AB -:10885000588D6D857E858F8598890F94C95E9B01A3 -:10886000AC01C501B4010F945865A70196010F949E -:1088700053666B017C01ED8DFE8D60AB71AB82ABFD -:1088800093ABA301920169817A818B819C810F94C2 -:10889000C95E29853A854B855C850F9459654B01E6 -:1088A0005C01A70196016D817E818F8198850F946F -:1088B000C95E9B01AC01C501B4010F945965DC018F -:1088C000CB01B058ED8DFE8D84AB95ABA6ABB7ABAD -:1088D00080E090E06E960FB6F894DEBF0FBECDBF7D -:1088E000DF91CF91FF90EF90DF90CF90BF90AF904E -:1088F0009F908F907F906F905F904F9008958091A0 -:10890000DE1D82FF2AC00E94F2A8882319F18091FF -:10891000D61D9091D71DA091D81DB091D91D00975B -:10892000A105B105B9F0BC01CD016D597F4F8F4F45 -:108930009F4F24E630E040E050E00F94B96460912E -:10894000DA1D7091DB1D8091DC1D9091DD1D0F946F -:10895000B96401C020E02093881E8091881E8F7723 -:1089600008950F931F93CF93DF938C0167FF03C08C -:108970001092861E60E08091861E90E0262F062EC3 -:10898000000C330B2817390734F16093861EC80199 -:108990000F94B15D800F911FEC01C01BD10BC0344F -:1089A000D1053CF00197FC012491207C2038D1F3C3 -:1089B000F3CFDD27AE01B80186E49EE10F94D25DCE -:1089C000CA5BD14E188286E49EE1DF91CF911F9160 -:1089D0000F910C943AA1DF91CF911F910F910895BF -:1089E0001092871E109214028091DE1D8062809387 -:1089F000DE1D61E085E396E50E94BFE140E050E0C6 -:108A00006AE476E585E00E941EE30F94F81760E0C3 -:108A10008CE396E50D94B144CF93DF93CDB7DEB7E9 -:108A20008E819091861E891788F08093861E9E0104 -:108A3000275F3F4F4F8158856FE370E086E49EE1EA -:108A40000F942A5E86E49EE10E943AA1DF91CF91C5 -:108A50000895CF93DF932091861E211120C0FC0141 -:108A600001900020E9F73197EF01C81BD90BC03402 -:108A7000D1052CF02291207C2038E1F3F5CFBC0108 -:108A8000DD27AE0186E49EE10F941F6ACA5BD14EDA -:108A9000188286E49EE1DF91CF910C943AA1DF9198 -:108AA000CF9108958091DE1D82FD05C08091AC14A8 -:108AB000823069F411C080919210882319F082E904 -:108AC00090E102C084ED90E161E00D942945813090 -:108AD00031F48CE196E505C088E296E502C08BE0B2 -:108AE00096E56FEF0D94B144FF920F931F93CF93D0 -:108AF000DF938B01D82FC92FF42E20E030E048EC13 -:108B000052E40F94635E87FF0FC020E030E0A901BC -:108B1000B8018D2F9C2F0F94B96718164CF000E008 -:108B200010E0D0E0C0E004C000E010E0D8ECC2E407 -:108B3000B8018D2F9C2F0F94C5669B01AC01AFEF40 -:108B4000B0E00F94FA6424E630E040E050E00F9487 -:108B5000DB64B9018F2DDF91CF911F910F91FF90B1 -:108B60000D94EC4AEAE1FDE0108211821282138238 -:108B7000148280E00C94CE9D8F929F92AF92BF9210 -:108B8000CF92DF92EF92FF920F931F93CF93DF93D9 -:108B9000C62F662381F00F94E24D6AE070E08C2FBF -:108BA00090E00E94B6628AE098E50F94664D80E0FE -:108BB00090E00F947837F0E4FF2EE12CAE2DB0E07A -:108BC000BD016F0D711D75956795611103C0E0E6DC -:108BD000F6E506C06E1511F0F6120BC0ECE5F7E5F0 -:108BE00065917491072E000C880B990B0F946A5EA7 -:108BF00062C09B0121503109220F331F220F331F06 -:108C0000F901E25AF94A05911491AB01440F551F3D -:108C1000440F551FFA01E25AF94AC591D4918017C1 -:108C2000910714F4F62ECCCFC817D90714F4E62E0A -:108C3000C5CFF901E05AF94AE590F490FA01E05AFB -:108C4000F94AC590D490BC01601B710B072E000C33 -:108C5000880B990B0F946A5E4B015C01B6016E198B -:108C60007F09072E000C880B990B0F946A5E9B01FD -:108C7000AC01C501B4010F94C95E4B015C01C01B7E -:108C8000D10BBE01DD0F880B990B0F946A5E9B011F -:108C9000AC01C501B4010F9453664B015C01B701EF -:108CA000FF0C880B990B0F946A5E9B01AC01C50108 -:108CB000B4010F945965DF91CF911F910F91FF90EF -:108CC000EF90DF90CF90BF90AF909F908F900895DE -:108CD0008F929F92AF92BF92CF92DF92EF92FF92CC -:108CE0000F931F93CF93DF93EC018A01C880D98043 -:108CF000EA80FB80072E000C880B990B0F946A5EAC -:108D00004B015C019B01AC01C701B6010F94635E8E -:108D100087FD10C0B801110F880B990B0F946A5E84 -:108D20004B015C019B01AC01C701B6010F94B9670F -:108D3000181624F488829982AA82BB82DF91CF918F -:108D40001F910F91FF90EF90DF90CF90BF90AF9069 -:108D50009F908F900895EF92FF920F931F93CF9360 -:108D6000C82F7B018A01809127028823D1F00F94BC -:108D7000E24DC7010F94664D82E697E50F94664D6C -:108D8000C7FD08C06AE070E08C2FCC0F990B0E94E1 -:108D9000B66204C08EE597E50F94664D8AE00E94A6 -:108DA00026620E94AE9D8091A91E811108C081E0BB -:108DB0008093A91E10922702C8010F947837CF9193 -:108DC0001F910F91FF90EF9008952F923F924F9235 -:108DD0005F926F927F928F929F92AF92BF92CF924B -:108DE000DF92EF92FF920F931F93CF93DF93CDB754 -:108DF000DEB72F970FB6F894DEBF0FBECDBF8091C0 -:108E0000A81E81111DC08091200D81111DC02F96BB -:108E10000FB6F894DEBF0FBECDBFDF91CF911F918B -:108E20000F91FF90EF90DF90CF90BF90AF909F9009 -:108E30008F907F906F905F904F903F902F9008950C -:108E400080E090E00F9478370E94B69E0E9423FD48 -:108E50004B015C016091120270911302072E000C0D -:108E6000880B990B0F946A5E9B01AC016091000A1C -:108E70007091010A8091020A9091030A0F94B967D8 -:108E800018163CF447EE57E56AEF77E580E00F945B -:108E9000AB4680911E0D882309F404C26091040A38 -:108EA0007091050A072E000C880B990B0F946A5ECF -:108EB00069837A838B839C833AE0E32EF12C0CE365 -:108EC00010E020E0AE014F5F5F4F60E07AE088ED98 -:108ED0009EE10E94A09BC090000AD090010AE09001 -:108EE000020AF090030A6091100270911102072E9D -:108EF000000C880B990B0F946A5E9B01AC01C701B3 -:108F0000B6010F94B96718160CF4A0C060E0609326 -:108F1000060A80910B0D90910C0DA0910D0DB09152 -:108F20000E0D0097A105B10529F1A5019401281B9B -:108F3000390B4A0B5B0B57FD1DC06091090D7091F9 -:108F40000A0D80E090E00F94685E9B01AC01609197 -:108F5000000A7091010A8091020A9091030A0F940D -:108F6000635E87FF08C346EC57E568ED77E580E070 -:108F70000F94AB4620E030E046E153E46091170ADD -:108F80007091180A8091190A90911A0A0F94B96782 -:108F900018160CF4D7C18091110D9091120DA0916B -:108FA000130DB091140D0097A105B10529F1A5018C -:108FB0009401281B390B4A0B5B0B57FD1DC06091B8 -:108FC0000F0D7091100D80E090E00F94685E9B0192 -:108FD000AC016091170A7091180A8091190A90915A -:108FE0001A0A0F94635E87FFB5C140E857E563E94D -:108FF00077E58FEF0F94AB468091190D882309F424 -:109000008AC160911B0A70911C0A072E000C880B04 -:10901000990B0F946A5E69837A838B839C8392E0B9 -:10902000E92EF12C02E310E02FEFAE014F5F5F4F0E -:1090300067E17AE083ED9EE10E94A09B8091190D8B -:10904000882309F448C110921D0AE1CE60911202F2 -:1090500070911302072E000C880B990B0F946A5E17 -:109060009B01AC01C701B6010F94635E87FF4ECF31 -:109070006091040A7091050A6115710509F476C2C0 -:10908000072E000C880B990B0F946A5EA7019601BE -:109090000F9458652B013C0120E030E040E251EC98 -:1090A0000F94635E87FD62C280911E0D81115EC2C6 -:1090B00020E030E040E251E4C301B2010F94B9670F -:1090C00018160CF465C28091D21E811166C280917F -:1090D000CA1E9091CB1EA091CC1EB091CD1E8D8347 -:1090E0009E83AF83B8872091CE1E3091CF1E4091D2 -:1090F000D01E5091D11E29873A874B875C87A701E4 -:1091000096016091BE1E7091BF1E8091C01E90910D -:10911000C11E0F94586520910F0A3091100A40919A -:10912000110A5091120A0F94C95E2D813E814F8120 -:1091300058850F94586520ED3CEC4CE45DE30F94AA -:10914000C95E2D813E814F8158850F9459656B0111 -:109150007C016093CA1E7093CB1E8093CC1E9093AB -:10916000CD1E80910B0A90910C0AA0910D0AB0912E -:109170000E0A8D839E83AF83B88729853A854B85F8 -:109180005C85C301B2010F945965162F072F382E45 -:10919000292E20E030E0A9010F94635E87FD12C202 -:1091A0002D813E814F81588560E070E08FE793E428 -:1091B0000F94536669877D878E879F87212F302F75 -:1091C000432D522D0F94635E87FF04C019850D85D2 -:1091D0003E842F84812F902FA32DB22D8093CE1EFD -:1091E0009093CF1EA093D01EB093D11E2091070A5A -:1091F0003091080A4091090A50910A0AC301B2014C -:109200000F94C95E2B013C016093C21E7093C31E74 -:109210008093C41E9093C51E212F302F432D522DB5 -:109220006D817E818F8198850F94C95E9B01AC0111 -:109230006093C61E7093C71E8093C81E9093C91E6C -:10924000C301B2010F945965A70196010F945965A6 -:1092500020E030E0A9010F94596569837A838B83FC -:109260009C834FEF50E060E070E0CE0101960F94D8 -:109270006846C090000AD090010AE090020AF0907F -:10928000030A69817A818B819C810F94C5667595EB -:109290006795C092BE1ED092BF1EE092C01EF09293 -:1092A000C11E35CE80911A0D90911B0DA0911C0D01 -:1092B000B0911D0D0097A105B10509F4EFCDA501F1 -:1092C0009401281B390B4A0B5B0B57FDE7CD81E05E -:1092D00080931E0DE3CDC090170AD090180AE0903D -:1092E000190AF0901A0A20E030E040EA50E4C70181 -:1092F000B6010F94B96787FD0AC020E030E046E16F -:1093000053E4C701B6010F94635E181634F560E0AC -:1093100060931D0A7CCD8091150D9091160DA09142 -:10932000170DB091180D0097A105B10509F469CE8C -:10933000881A990AAA0ABB0AB7FC63CE81E0809317 -:10934000190D5FCE42EA57E566EB77E58FEF0F9494 -:10935000AB4621CE0E945F9D4FCE60911B0A70915B -:109360001C0A6115710509F40AC1072E000C880B4F -:10937000990B0F946A5EA70196010F9458654B01F3 -:109380005C0120E030E040E251EC0F94635E87FD29 -:10939000F6C020E030E040E251E4C501B4010F9492 -:1093A000B96718160CF4EFC04090220A5090230AB7 -:1093B0006090240A7090250A809170028111F8C093 -:1093C0002091BA1E3091BB1E4091BC1E5091BD1E13 -:1093D0008091B61E9091B71EA091B81EB091B91E93 -:1093E0008D839E83AF83B887C501B4010F945965FF -:1093F000162F072F382E292E20E030E0A9010F94D8 -:10940000635E87FDE4C0A301920160E070E08FE736 -:1094100093E40F94536669877D878E879F87212FFA -:10942000302F432D522D0F94635E87FF04C01985A2 -:109430000D853E842F84812F902FA32DB22D8093F4 -:10944000BA1E9093BB1EA093BC1EB093BD1E20916C -:109450001E0A30911F0A4091200A5091210AC5012D -:10946000B4010F94C95E4B015C016093AE1E709312 -:10947000AF1E8093B01E9093B11E212F302F432D2D -:10948000522DC301B2010F94C95E2B013C016093C0 -:10949000B21E7093B31E8093B41E9093B51EA701A5 -:1094A00096016091AA1E7091AB1E8091AC1E9091A6 -:1094B000AD1E0F9458652091260A3091270A4091DD -:1094C000280A5091290A0F94C95E2D813E814F814F -:1094D00058850F94586520ED3CEC4CE45DE30F9407 -:1094E000C95E2D813E814F8158850F9459656D83EA -:1094F0007E838F8398876093B61E7093B71E809388 -:10950000B81E9093B91EC092AA1ED092AB1EE092D4 -:10951000AC1EF092AD1EA3019201C501B4010F94DF -:1095200059652D813E814F8158850F94596520E002 -:1095300030E0A9010F9459656B017C0120E030E017 -:10954000A9010F94635E87FDE2CE20E030E04FE793 -:1095500053E4C701B6010F94B9671816BCF0C701F0 -:10956000B6010F94C56675956795D2CE81E080935C -:10957000D21E60E08ECE80E00E94CE9DFBCC81E0CA -:1095800080937002C4CE81E0809370026FE7C0CEFA -:1095900081E08093D21E6FE77CCE1092D21E198696 -:1095A0001A861B861C861D821E821F821886A7CDE6 -:1095B000109270021D821E821F82188620E030E009 -:1095C000A90112CF10E000E0312C212C03CE10E0D5 -:1095D00000E0312C212C2FCF6F3F710519F010F0D6 -:1095E0006FEF70E09091860E981741F0823040F452 -:1095F000E82FF0E0E059F24F608308956093710E18 -:10960000089590916F00292F227091FF05C09091CD -:109610006F009D7F90936F0034E0839FC001112401 -:10962000FC01E856F14E4081518162817381FC0159 -:10963000E457F14E408351836283738381E08093CA -:109640008B1E222329F080916F00826080936F002F -:10965000089590916F00292F227091FF05C090917D -:109660006F009D7F90936F0094E0899FF00111241B -:10967000E856F14E6081718182819381222329F025 -:1096800020916F00226020936F000895BC0120910B -:10969000891E30918A1E4091891E50918A1E24177E -:1096A000350711F09A01F7CF81E02617370709F047 -:1096B00080E008958F929F92AF92BF92EF92FF92B7 -:1096C0000F931F93CF93DF934B015C0104E51CE0E4 -:1096D000C0E0E12CF12CD0E0F801EE0DFF1D8082FE -:1096E0009182A282B382A50194016D2F8C2F0E94DA -:1096F00077A0DF5F84E0E80EF11CD63069F7CF5F1A -:10970000085E1F4FC63029F7DF91CF911F910F914F -:10971000FF90EF90BF90AF909F908F9008959091A1 -:10972000451E9817D1F00F94FB398091451E882370 -:1097300059F04EE75EE06AE77EE086E79EE00F9430 -:10974000B13B1092451E07C081E08093451E86E71D -:109750009EE00F94773B0C940A7F089580E00F946D -:109760008F4B60E070E080EC9FE70D945A4B1F93A5 -:10977000CF93DF931091451E80E00F948F4B8FEFB6 -:1097800080936D1480E090E0A0E2B1E48093E40C5B -:109790009093E50CA093E60CB093E70C8DEC9CEC59 -:1097A000ACECBDE380932C0E90932D0EA0932E0E67 -:1097B000B0932F0E80EF9FEFA9E7B4EC8093300EAB -:1097C0009093310EA093320EB093330E80E9E4E50E -:1097D000FCE0DF011D928A95E9F7C0E0D0E020E0CF -:1097E00030E0A9016D2F8C2F0E9477A0DF5FD6306B -:1097F000B1F7CF5FC63091F7112329F0DF91CF91F8 -:109800001F910C940C7FDF91CF911F910895CF92FF -:10981000DF92EF92FF920F931F93CF93DF93CDB719 -:10982000DEB72C970FB6F894DEBF0FBECDBF7B011D -:109830008C01D42E9B01AC016091E40C7091E50C7D -:109840008091E60C9091E70C0F94635E882309F4F5 -:1098500096C0C090451E80E00F948F4B20E030E012 -:10986000A901B701C8010F94B967181624F0E12CBB -:10987000F12C00E010E0C701D8018093E40C909334 -:10988000E50CA093E60CB093E70C2DEB37E346E82C -:1098900055EBB701C8010F94B96787FD0AC02DEBDE -:1098A00037E346E855E3B701C8010F94635E181625 -:1098B0004CF49701A80160E070E080E89FE30F940A -:1098C000536603C060E070E0CB0160932C0E709390 -:1098D0002D0E80932E0E90932F0E80EF9FEFA9E711 -:1098E000B4EC8093300E9093310EA093320EB0936F -:1098F000330ECC2009F443C08091760E9091770E00 -:10990000A091780EB091790E89839A83AB83BC8342 -:1099100080917A0E90917B0EA0917C0EB0917D0E7D -:109920008D839E83AF83B88780917E0E90917F0E4A -:10993000A091800EB091810E89879A87AB87BC87F2 -:1099400081E00F948F4BDD20D1F04CE050E066E7D2 -:109950007EE0CE0101960F94CB69892B81F02C9685 -:109960000FB6F894DEBF0FBECDBFDF91CF911F9130 -:109970000F91FF90EF90DF90CF900C940C7F2C967E -:109980000FB6F894DEBF0FBECDBFDF91CF911F9110 -:109990000F91FF90EF90DF90CF900895EF92FF929C -:1099A0001F93CF93DF9384E5E82E8CE0F82E16E02A -:1099B000C0E0D0E0F701EC0FFD1F60817181828172 -:1099C00093819B01AC010F94A66881110CC0249671 -:1099D000C831D10579F7115088E1E80EF11C111159 -:1099E000E7CF81E001C080E0DF91CF911F91FF9030 -:1099F000EF900895CF92DF92EF92FF926B017C017E -:109A000083E3C816D104E104F10470F082E3C81ABC -:109A1000D108E108F10862E370E080E090E00E9484 -:109A2000E9FC0F94E546ECCFC701B6010E94E9FCC2 -:109A3000FF90EF90DF90CF900D94E546CF93C82F25 -:109A4000CC2329F080E20E942662C150F9CFCF9149 -:109A500008950F931F93CF93DF938B01EA010F9427 -:109A60001E4D88E20E942662043611054CF480E205 -:109A70000E9426620A3011051CF480E20E942662D0 -:109A80006AE070E0C8010E94B6628CE20E94266221 -:109A9000C436D1054CF480E20E942662CA30D1055A -:109AA0001CF480E20E9426626AE070E0CE010E940F -:109AB000B66289E20E94266265E070E080E090E094 -:109AC000DF91CF911F910F910D94FA4CCF93DF93BB -:109AD000FC018491EF012196882321F00E942662E7 -:109AE000FE01F7CFDF91CF910895CF938AE69FE4EF -:109AF0000F94664DC091451E89ED98E50F94664D13 -:109B0000C11103C085ED98E502C088ED98E50F947A -:109B1000664D8DEC98E50F94664D62E370E080E051 -:109B200090E0CF910D94FA4CCF92DF92EF92FF929A -:109B30006A017B010F94664D4AE0C701B601FF90B0 -:109B4000EF90DF90CF900C942D62CF93DF93EB01D9 -:109B50000F94664DBE0180E090E04AE0DF91CF9126 -:109B60000C942D62CF92DF92EF92FF926A017B01FB -:109B70000F94664D42E0C701B601FF90EF90DF9071 -:109B8000CF900C94C662CF93DF93EB010F94664D98 -:109B90006AE070E0CE01DF91CF910C94B6620F9332 -:109BA0001F93CF93DF938B010F94664DE80189914A -:109BB000882319F00E942662FACFDF91CF911F917E -:109BC0000F9108958FEA98E50D94664D89EA98E51E -:109BD0000D94664DAF92BF92CF92DF92EF92FF92BB -:109BE0000F931F93CF93DF930F94CE4C882309F4E8 -:109BF00053C00F94E64D82EC98E50F94664D94E5C2 -:109C0000C92E9CE0D92EC0E0D0E0760100E010E043 -:109C1000F70160817181828193819B01AC010F9476 -:109C2000A668811129C00F94E64DBE0189EB98E525 -:109C30000F94C34DB80186EB98E50F94C34D89EAA4 -:109C4000A82E88E0B82EF50181915F01882319F0D4 -:109C50000E942662F8CFF701608171818281938131 -:109C600044E00E94C6628AE00E9426626BE470E0D3 -:109C700080E090E00F94FA4C0F5F1F4FF4E0EF0E7E -:109C8000F11C0630110521F6219688E1C80ED11C81 -:109C9000C630D10509F0B9CFDF91CF911F910F9157 -:109CA000FF90EF90DF90CF90BF90AF9008950E940B -:109CB000AE9D0F94F8178091750E882319F080E0FF -:109CC0000E94DBF880912702882399F00F94E24DDF -:109CD00082E398E50F94664D60E088E298E50F9482 -:109CE000B1446EE571E080E090E00F94FA4C109280 -:109CF000270208951F920F920FB60F9211242F93EF -:109D00003F938F939F93AF93BF938091490E909110 -:109D10004A0EA0914B0EB0914C0E3091DD1E23E007 -:109D2000230F2D3720F40196A11DB11D05C026E893 -:109D3000230F0296A11DB11D2093DD1E8093490EB5 -:109D400090934A0EA0934B0EB0934C0E80914D0E03 -:109D500090914E0EA0914F0EB091500E0196A11D04 -:109D6000B11D80934D0E90934E0EA0934F0EB09365 -:109D7000500EBF91AF919F918F913F912F910F9076 -:109D80000FBE0F901F901895CF93DF93CDB7DEB71E -:109D9000A9970FB6F894DEBF0FBECDBF789484B5F7 -:109DA000826084BD84B5816084BD85B5826085BDD7 -:109DB00085B5816085BD80916E00816080936E0065 -:109DC0001092810080918100826080938100809157 -:109DD0008100816080938100809180008160809308 -:109DE00080008091B10084608093B1008091B000C8 -:109DF00081608093B0008091910082608093910097 -:109E000080919100816080939100809190008160A9 -:109E1000809390008091A10082608093A100809146 -:109E2000A10081608093A1008091A0008160809357 -:109E3000A000809121018260809321018091210105 -:109E400081608093210180912001816080932001B5 -:109E500080917A00846080937A0080917A00826099 -:109E600080937A0080917A00816080937A0080915B -:109E70007A00806880937A001092C100259A2D980C -:109E80001092C0008091C00082608093C000109248 -:109E9000C50087E08093C4008091C10080618093F9 -:109EA000C1008091C10088608093C1008091C10091 -:109EB00080688093C1000E9423FD8FE09AE20F9496 -:109EC000664D0F94E64D14B710FF04C086E09AE289 -:109ED0000F94664D11FF04C085EF99E20F94664D13 -:109EE00012FF04C083EE99E20F94664D13FF04C085 -:109EF00082ED99E20F94664D15FF04C081EC99E262 -:109F00000F94664D14BE8AEB99E20F94664D80E281 -:109F10000E94266281EB99E20F94664D8AE00E94CE -:109F200026620F94E64D81EA99E20F94664D86E928 -:109F300099E20F94664D8BE799E20F94664D0F946A -:109F4000E64D84E699E20F94664D0F94E64D8091BC -:109F5000DE1E9091DF1E9E012F5F3F4F7901B901F8 -:109F6000009719F0681B790B02C0645E7E4185E59D -:109F700099E20F94C34D60E475E08EE399E20F948B -:109F8000C34D8AE00E94266280910A018E7F8093F1 -:109F90000A0180910B018095817080930901E09105 -:109FA0005A1AF0915B1A82E08083E091561AF09180 -:109FB000571A1082E091581AF091591A80E1808363 -:109FC0001092621AE0915E1AF0915F1A86E0808327 -:109FD000E0915C1AF0915D1A808180618083E0914C -:109FE0005C1AF0915D1A808188608083E0915C1A30 -:109FF000F0915D1A808180688083E0915C1AF09115 -:10A000005D1A80818F7D80838AE58093571C8093C1 -:10A01000071C85EA8093581C8093081C8AE1E6EAB5 -:10A02000FCE1DF011D928A95E9F780E290E0A0E073 -:10A03000B0E08093060290930702A0930802B093C9 -:10A04000090280912A0A882319F083E090E002C077 -:10A0500082E090E09093631C8093621C85E0809383 -:10A06000561C82E88093591C8FE190E1A0E0B0E09B -:10A0700080935A1C90935B1CA0935C1CB0935D1C56 -:10A080000F94D23684E690E09093631C8093621C18 -:10A0900005E00093561C12E81093591C86E090E1ED -:10A0A000A0E0B0E080935A1C90935B1CA0935C1CD2 -:10A0B000B0935D1C0F94D2368BE090E09093631CBC -:10A0C0008093621C0093561C1093591C80E092E10F -:10A0D000A0E0B0E080935A1C90935B1CA0935C1CA2 -:10A0E000B0935D1C0F94D2361092631C1092621CC8 -:10A0F0000093561C1093591C84E390E1A0E0B0E05B -:10A1000080935A1C90935B1CA0935C1CB0935D1CC5 -:10A110000F94D2361092631C1092621C0093561C4E -:10A120001093591C8AE390E1A0E0B0E080935A1CA0 -:10A1300090935B1CA0935C1CB0935D1C0F94D23673 -:10A140006091000A7091010A8091020A9091030ABD -:10A150000F94C5667093631C6093621C0093561C39 -:10A160001093591C86E390E1A0E0B0E080935A1C64 -:10A1700090935B1CA0935C1CB0935D1C0F94D23633 -:10A180006091170A7091180A8091190A90911A0A21 -:10A190000F94C5667093631C6093621C0093561CF9 -:10A1A0001093591C8CE390E1A0E0B0E080935A1C1E -:10A1B00090935B1CA0935C1CB0935D1C0F94D236F3 -:10A1C00082E090E09093631C8093621C0093561C85 -:10A1D0001093591C8EE190E1A0E0B0E080935A1CEE -:10A1E00090935B1CA0935C1CB0935D1C0F94D236C3 -:10A1F00081E08093050260E6862E60E1962EA12C18 -:10A20000B12C75E0C72EE2E8DE2E1092631C10928E -:10A21000621C05E0C092561C12E8D092591C809234 -:10A220005A1C90925B1CA0925C1CB0925D1C0F9417 -:10A23000D236BFEF8B1A9B0AAB0ABB0AE4E78E1635 -:10A24000E0E19E06A104B10401F784E1D7011D926B -:10A250008A95E9F781E08F9390E99F938F939BE331 -:10A260009F938F9384E38F938EE296E09F938F93D7 -:10A27000FF92EF920F94396A40E650E160E070E09F -:10A280008BE396E00F9481364AE650E160E070E09F -:10A2900085E496E00F94813644E750E160E070E099 -:10A2A000C7010F9481364EE750E160E070E08AEE1E -:10A2B00094E00F9481361092631C1092621C0093FC -:10A2C000561C1093591C8EE090E1A0E0B0E0809302 -:10A2D0005A1C90935B1CA0935C1CB0935D1C0F9464 -:10A2E000D2361092631C1092621C0093561C10937D -:10A2F000591C8FE090E1A0E0B0E080935A1C90934D -:10A300005B1CA0935C1CB0935D1C0F94D236EDB720 -:10A31000FEB73A960FB6F894FEBF0FBEEDBF5AE0F7 -:10A32000852E50E2952EA12CB12C15E002E8412C8F -:10A33000512C32011092631C1092621C1093561C17 -:10A340000093591CD301C201880D991DAA1DBB1D84 -:10A3500080935A1C90935B1CA0935C1CB0935D1C73 -:10A360000F94D236FFEF4F1A5F0A6F0A7F0A2AE076 -:10A370004216510461047104E9F63AE0830E911C1F -:10A38000A11CB11C42ED841640E29406A104B10464 -:10A3900071F6812C40E2942EA12CB12C05E012E83C -:10A3A0001092631C1092621C0093561C1093591C4F -:10A3B00080925A1C90925B1CA0925C1CB0925D1C17 -:10A3C0000F94D2361092631C1092621C0093561C9C -:10A3D0001093591CD501C4018C529F4FAF4FBF4FF2 -:10A3E00080935A1C90935B1CA0935C1CB0935D1CE3 -:10A3F0000F94D2365FEF851A950AA50AB50A8AE04E -:10A40000881680E29806A104B10451F63EED832E31 -:10A4100030E2932EA12CB12C05E012E81092631CBF -:10A420001092621C0093561C1093591C80925A1C67 -:10A4300090925B1CA0925C1CB0925D1C0F94D23673 -:10A440009FEF891A990AA90AB90AA6EE8A16A0E20C -:10A450009A06A104B10411F78824839492E1992EFD -:10A46000A12CB12C2AE0C22ED12C05E012E8D0920A -:10A47000631CC092621C0093561C1093591C80925E -:10A480005A1C90925B1CA0925C1CB0925D1C0F94B5 -:10A49000D236D092631CC092621C0093561C10935B -:10A4A000591CD501C4018096A11DB11D80935A1C71 -:10A4B00090935B1CA0935C1CB0935D1C0F94D236F0 -:10A4C000BFEF8B1A9B0AAB0ABB0AE5E18E16E2E1ED -:10A4D0009E06A104B10459F689E596E00E94446302 -:10A4E0000F9452450E94C85F12E4C12E1AE0D12E8B -:10A4F00006E71EE082E8A82E8EE0B82ED6012D9148 -:10A500003D914D915D916D01F80160817181828174 -:10A5100093810F945965D8016D937D938D939D938D -:10A520008D01AA16BB0651F70E940A7F249A2C9827 -:10A53000809101018062809301018091020180720B -:10A5400080930001809101018064809301018091DA -:10A55000010180618093010187ED80937A00109260 -:10A560007E0010927D0080917D00806280937D004E -:10A5700080917D00806480937D0080E888BD80911B -:10A580006E00846080936E006AEF70E080E090E07F -:10A590000E94E9FC85E090E0909311028093100204 -:10A5A00000910C0210910D0260E0C8010F94BC45AF -:10A5B00020E030E040EA50E40F94635E87FF07C07C -:10A5C0000051110910930D0200930C02E9CF8BE3A7 -:10A5D00091E0909313028093120200910E02109169 -:10A5E0000F0260E0C8010F94BC4520E030E84DE95F -:10A5F00053E40F94B96718163CF4005F1F4F109393 -:10A600000F0200930E02E9CF00910A0210910B0293 -:10A61000C8010E941D9E20E030E040EA50E40F9403 -:10A62000635E87FF07C00051110910930B0200936E -:10A630000A02EACF00912B0A10912C0AC8010E944D -:10A640001D9E20E030E046E153E40F94B9671816F0 -:10A650003CF4005F1F4F10932C0A00932B0AEACFA3 -:10A660000F948A4119A682E390E09AA389A31A82E3 -:10A6700019821E01B1E22B0E311C01E0970141E06D -:10A6800050E0BE01675D7F4FC1010E94EC5F89A56C -:10A69000863119F00F94B3180FC083E390E09AA3AA -:10A6A00089A31A82198201E0970140E150E06EE22D -:10A6B0007AE0C1010E94EC5F81E080932D0A6D98E1 -:10A6C000759A809104018D7F80930401809105012A -:10A6D000809582708093030153985B9A10923F0A91 -:10A6E00010923E0A0F94430D819A879A80910A0135 -:10A6F000826080930A010E9A3B9A579A5F9A829AD7 -:10A700008A9A8091070181608093070180910801F6 -:10A7100080958170809306010A9A129A3F9A479A0F -:10A72000809A88985F9A8091481A8E7F8093481A01 -:10A73000869A8E988A9A8091481A8D7F8093481ABB -:10A7400080910A01886080930A0180910B018870D2 -:10A7500080930901809108018095817080930601A2 -:10A760008091481A8B7F8093481A0C9A1498129AF9 -:10A77000399A4198479A809180008C7F809380001D -:10A7800080918100877E8860809381008091800025 -:10A790008F738093800080918100887F8260809396 -:10A7A000810080E090E4909389008093880010926B -:10A7B00085001092840080916F00826080936F000A -:10A7C000789486E08093400A0F947904E091C81B46 -:10A7D000E43208F042C0F0E0CF01880F991FE80F83 -:10A7E000F91FE55AF44E808180788B60808361E0A8 -:10A7F0008BE00E94C5FB1092C91B1092CA1B80916E -:10A80000C81B6CE00F941C6590E0ECE08E9FB001DB -:10A81000112440E050E09B01240F351FF901EE0F99 -:10A82000FF1F2E0F3F1FF901E55AF44E208127FD2F -:10A8300007C04F5F5F4F4C30510569F70E947D6044 -:10A84000E091C81BF0E0CF01880F991FE80FF91FB6 -:10A85000E55AF44E80818068808388EC9BE10E94F9 -:10A86000DE5F6AE570E088EC9BE10E94AE601092CA -:10A87000410A0F94430D81E00E94C4E698E288E10A -:10A880000FB6F894A895809360000FBE9093600077 -:10A890001092C51C0E949C6C9E012F5F3F4F590176 -:10A8A00080E00E946A638091C51C87FD41C0809151 -:10A8B000DE1D82FD3DC083FD03C00E943E6D02C0CF -:10A8C0000E94C85F8091DE1D83FF2FC08091C51C50 -:10A8D000082E000C990BC0969F938F9346E15AE285 -:10A8E0005F934F933F922F920F94FB5D80E49BE127 -:10A8F0000E94A2BA0F900F900F900F900F900F90A0 -:10A900008091431B823088F08091481B9091491BB5 -:10A91000A0914A1BB0914B1B8F719927AA27BB2787 -:10A92000892B8A2B8B2B09F467C1FFEFF093C51C91 -:10A930008091DE1D85FF1FC00E94CD6C1092D20B4E -:10A9400010924E0A1092D10B0F94503B0F94FB398A -:10A950008EEF0E949C7E0E940A7F0F94F8170E943F -:10A96000AE9D0E94D45F1092140228E63AE2309322 -:10A97000500A20934F0A8DB69EB660914F0A70918F -:10A98000500A6115710581F0E12CF12CFB01EE0DEF -:10A99000FF1D749087010F5F1F4F772039F03AE059 -:10A9A000731621F07801F2CF80E02CC0EDB7FEB72E -:10A9B000E01BF10B0FB6F894FEBF0FBEEDBF2DB735 -:10A9C0003EB72F5F3F4F6901A701C9010F949D5DFD -:10A9D000F601EE0DFF1D1082772009F445C180912C -:10A9E0004F0A9091500A080F191F1093500A0093B4 -:10A9F0004F0AEF2831F0C6010F94CB2380E00E946C -:10AA0000A64881E00FB6F8949EBE0FBE8DBE8111A0 -:10AA1000C3C08091D20B882309F4BEC08091DE1D93 -:10AA200080FF9EC00091D10B40E6409F8001112421 -:10AA30000F5A154F69E47AE2C8010F94E15D00975F -:10AA400039F0DC0113968C9180538A3008F08BC06A -:10AA5000F80101900020E9F731977F01E01AF10A2F -:10AA60001092E71A6EE470E0C8010F94FF696C0160 -:10AA7000892B09F406C160E270E0C6010F94FF69FA -:10AA80008C010F5F1F4F6AE270E0C6010F94FF69EF -:10AA9000FC013197BDE0B1832AE022831382F801E3 -:10AAA00001900020E9F731977F01E01AF10A8091C7 -:10AAB000EA1A813009F0E1C08091E81A81FFDDC017 -:10AAC00082FF16C04091F81A5091F91A6091FA1A53 -:10AAD0007091FB1A8091EF1A9091F01AA091F11ADF -:10AAE000B091F21A84179507A607B70709F0BFC0FF -:10AAF0004091EF1A5091F01A6091F11A7091F21A88 -:10AB0000E114F10409F0C4C08091F81A9091F91A87 -:10AB1000A091FA1AB091FB1A84179507A607B707F8 -:10AB200068F44093F81A5093F91A6093FA1A7093E4 -:10AB3000FB1A8091E81A80688093E81A8091E81ADD -:10AB400083FDB6C18091E71A882331F00F94E24D5E -:10AB50008FE19AE20F94664D8091DE1D81FF09C05E -:10AB60000F94132B08C00E94F9F886E39AE20F9421 -:10AB7000664D0E9400A98091D20B882369F0815014 -:10AB80008093D20B8091D10B8F5F843018F4809327 -:10AB9000D10B02C01092D10B8091D30B882339F1D5 -:10ABA0009091D30B8091D40B981709F10F94E64D37 -:10ABB00089E59AE20F94664D8091D30B80FD7FC1A9 -:10ABC0008091D30B84FD7BC18091D30B81FD81C12A -:10ABD0008091D30B85FD7DC18091D30B82FD83C114 -:10ABE0008091D30B86FD7FC18AE00E94266280910E -:10ABF000D30B8093D40B54CE40E050E0B50180E4F9 -:10AC00009BE10E9464BD18160CF08FCEF5010190F7 -:10AC10000020E9F73197FE2EFA18FA949FEFF91603 -:10AC200069F085010F0D111DF7FC1A95D8018C9163 -:10AC300090E00F94C369F8018083EFCF8A858E3747 -:10AC400009F45ECE45E050E0B101C5010F94116AF0 -:10AC5000892B09F055CEC1010E94E66C8091C51C7C -:10AC60008F5F8093C51C64CE00E010E0BECE87EEFF -:10AC70009AE10E9463B881113BCFA1E0A093E71A4B -:10AC800061CF31E0E31AF108F801EE0DFF1D02CFAC -:10AC90008091001B9091011BDC0114967C902FEF9A -:10ACA000270D2A013B0139E0769467945794479425 -:10ACB0003A95D1F7722E74206A01B1E0DB2271104F -:10ACC0004CC0C114D10409F048C04091EB1A509116 -:10ACD000EC1A6091ED1A7091EE1A4115510561055B -:10ACE000710569F48091FC1A9091FD1AA091FE1AE9 -:10ACF000B091FF1A0097A105B10539F51FC0950164 -:10AD00000E944C72882309F4B8CF89819A81AB8163 -:10AD1000BC81E091001BF091011B2789203139F49F -:10AD2000883FEFEF9E07A105B10540F40EC0883FB4 -:10AD3000FFEF9F07AF07FFE0BF0738F087EE9AE10C -:10AD40000E949DB9811109C098CF8093EB1A90930E -:10AD5000EC1AA093ED1AB093EE1A80E092E08C19F1 -:10AD60009D0947018E159F0508F44C01E091001BD9 -:10AD7000F091011B8091EB1A9091EC1AA091ED1AC1 -:10AD8000B091EE1A0297A109B109058404C0880F99 -:10AD9000991FAA1FBB1F0A94D2F746855785608961 -:10ADA0007189840F951FA61FB71F9C01AD01270D48 -:10ADB000311D411D511D29013A01811432E09306D4 -:10ADC00031F58091871090918810A0918910B091F1 -:10ADD0008A10481659066A067B0669F410928F108D -:10ADE0008FEF9FEFDC018093871090938810A093E2 -:10ADF0008910B0938A109801B301A201809190103C -:10AE0000909191100E94F9BA811139C036CFC114C6 -:10AE1000D10431F54091EF1A5091F01A6091F11A76 -:10AE20007091F21A8091F81A9091F91AA091FA1A79 -:10AE3000B091FB1A481759076A077B0788F00E94F0 -:10AE40005CBB882309F419CF91E090938F10409256 -:10AE50008710509288106092891070928A1008C0F2 -:10AE600041E0C301B2010E948171882309F405CF3A -:10AE7000A401B801C6018957914F0F94D8698091F8 -:10AE8000EF1A9091F01AA091F11AB091F21A880D70 -:10AE9000991DA11DB11D8093EF1A9093F01AA093F4 -:10AEA000F11AB093F21A080D191DE818F90820CE0E -:10AEB00087EE9AE10E949CBB811144CEDECE80E0F9 -:10AEC0000F94233BAB01BC0185E59AE20F94B24D90 -:10AED0007BCE81E00F94233BAB01BC0181E59AE27C -:10AEE0000F94B24D79CE82E00F94233BAB01BC01AD -:10AEF0008DE49AE20F94B24D77CECF93DF9387EE35 -:10AF00009AE10E94D8BBC4EDDDE16B97CE010E94AF -:10AF1000D8BB8CE1C63CD807C1F785E29BE10E9413 -:10AF2000D8BB80E49BE1DF91CF910C94D8BBCF924A -:10AF3000DF92EF92FF926B017C01842F0F94F55703 -:10AF400080E090E0A0E8BFE380934002909341024C -:10AF5000A0934202B09343028091491A81FF0E945C -:10AF60003CE1C092690ED0926A0EE0926B0EF092B4 -:10AF70006C0E8091491A82608093491AFF90EF907D -:10AF8000DF90CF900895CF92DF92EF92FF92CF9310 -:10AF9000E091860EE150E53028F4F0E0E351FD4FFA -:10AFA000C08101C0C0E00F94F5578091491A81FF1C -:10AFB00009C0C090690ED0906A0EE0906B0EF090C0 -:10AFC0006C0E08C0C090820ED090830EE090840E6C -:10AFD000F090850E8C2F0F94F557C701B601CF91D5 -:10AFE000FF90EF90DF90CF900895CF93C82F80917E -:10AFF000860E8C1721F061E08C2F0E944497C0933D -:10B00000860ECF91089586E40E9463AB80931F0D56 -:10B01000882351F00E942CAB609367027093680202 -:10B020008093690290936A0283E50E9463AB882350 -:10B0300051F00E942CAB6093630270936402809382 -:10B0400065029093660282E40E9463AB882351F00C -:10B050000E942CAB60935F02709360028093610248 -:10B0600090936202089510924D1A10924C1A88EE35 -:10B0700093E0A0E0B0E080934E1A90934F1AA09313 -:10B08000501AB093511A86E993E090934B1A80932B -:10B090004A1A85ED90E09093571A8093561A84EDE2 -:10B0A00090E09093591A8093581A80ED90E0909315 -:10B0B0005B1A80935A1A81ED90E090935D1A809309 -:10B0C0005C1A82ED90E090935F1A80935E1A86ED91 -:10B0D00090E09093611A8093601A1092631A109214 -:10B0E000641A1092651A1092661A1092401B109200 -:10B0F000431B1092251B1092281BE6ECFCE11082EA -:10B1000013827B962DE1E43DF207C9F789E1809334 -:10B11000211B1092241B1092191B1092E71A1092F7 -:10B12000EA1A8091C71B843220F08FEF8093C81BEE -:10B1300013C091E0980F9093C71B8093C81B90E0B9 -:10B14000FC01EE0FFF1F8E0F9F1FFC01E55AF44E0E -:10B1500088EB9BE09283818380E1E4EFFBE1DF01F8 -:10B16000282F1D922A95E9F7E4EEFBE1DF01282F55 -:10B170001D922A95E9F7E4EDFBE1DF011D928A9526 -:10B18000E9F71092D01B1092D11B1092D21B109293 -:10B19000D31B1092CF1B1092CE1B1092CD1B10927E -:10B1A000CC1B1092CB1B8FE79FE09093051C8093E4 -:10B1B000041C8AE58093571C8093071C85EA8093C2 -:10B1C000581C8093081C8AE1E6EAFCE1DF011D922D -:10B1D0008A95E9F781E08093C01C8093C11C80931D -:10B1E000C21C8093C31C8093C41C0F94B74B8091E6 -:10B1F000DE1D847F8B7F8093DE1D1092DA1D1092FE -:10B20000DB1D1092DC1D1092DD1D1092D61D1092D8 -:10B21000D71D1092D81D1092D91D1092D51D1092D5 -:10B22000D41D8EE091E0E6ECFCE1DF019C011D9273 -:10B2300021503040E1F78FEF8093C51C08950F94A3 -:10B2400052451092871E109214020E94F2A8882381 -:10B2500021F08091DE1D82FF07C061E083E596E565 -:10B260000E94BFE10D9448178AE596E59093500A35 -:10B2700080934F0AF2CFEF920F931F93CF93DF93F8 -:10B28000E80147FD02C034E001C034E1042E000CA7 -:10B29000550B57FF03C0519541955109E32E022FDD -:10B2A000242FAE010F944061CE01DF91CF911F9109 -:10B2B0000F91EF9008958F929F92AF92BF92CF928D -:10B2C000DF92EF92FF92CF93DF93EC016881798157 -:10B2D0008A819B81611571058105910521F464E2E4 -:10B2E00079ED8BE597E02DE133EF41E050E00F94ED -:10B2F000DB6449015A019B01AC01A7EAB1E40F9458 -:10B30000FA646B017C01ACEEB4EFA50194010F94DB -:10B310000865DC01CB018C0D9D1DAE1DBF1DB7FF67 -:10B3200003C00197A109B04888839983AA83BB838E -:10B33000BC01CD019F77DF91CF91FF90EF90DF901F -:10B34000CF90BF90AF909F908F9008958F929F92D3 -:10B35000AF92BF92CF92DF92EF92FF926091710213 -:10B36000709172028091730290917402611571055F -:10B370008105910521F464E279ED8BE597E02DE1FB -:10B3800033EF41E050E00F94DB6449015A019B0127 -:10B39000AC01A7EAB1E40F94FA646B017C01ACEE56 -:10B3A000B4EFA50194010F940865DC01CB018C0D6D -:10B3B0009D1DAE1DBF1DB7FF03C00197A109B04879 -:10B3C0008093710290937202A0937302B0937402FF -:10B3D000BC01CD019F77FF90EF90DF90CF90BF90A1 -:10B3E000AF909F908F900895609371027093720256 -:10B3F000809373029093740208958F929F92AF92FC -:10B40000BF92CF92DF92EF92FF920F931F93CF9351 -:10B41000DF93EC016B016115710519F0FB0191835C -:10B4200080837E01FFEFEF1AFF0A0881802F90E0F2 -:10B430000F94945D892B11F0E701F3CF0D3239F4AD -:10B440007E0182E0E80EF11C098111E008C00B3298 -:10B4500029F47E0192E0E90EF11C098110E0E70178 -:10B46000219743E050E066EE74E0CE010F94BA5DA0 -:10B47000892BC1F4239645E050E061EE74E0CE01E3 -:10B480000F94BA5D892B09F42596C114D10419F0E3 -:10B49000F601D183C0831111F6C060E070E080E84E -:10B4A0009FE7FAC043E050E06EED74E0CE010F94E8 -:10B4B000BA5D892B59F4C114D10409F4E9C0F2E052 -:10B4C000EF0EF11CF601F182E082E2C020E030E0F4 -:10B4D000A901C0E0D0E0F70160EDA62EA00E89E042 -:10B4E0008A1530F1912F9260B92E812F887012FF4A -:10B4F00004C0811124C0219622C081112197A5E0AA -:10B50000B0E00F94FA64DC01CB01880F991FAA1FE9 -:10B51000BB1F9C01AD012A0D311D411D511D283954 -:10B5200089E93807480789E1580748F0166006C0DE -:10B530009EEFA9120AC013FD40C01860B12E8FEF14 -:10B54000E81AF80A00811B2DC6CF802F8F7D853425 -:10B55000A1F580818D3211F4106106C08B3221F08B -:10B56000319661E070E004C08181329662E070E063 -:10B5700080538A3018F0E61BF70B1FC060E070E0C4 -:10B5800060389CE079075CF4DB01AA0FBB1FAA0FAF -:10B59000BB1F6A0F7B1F660F771F680F711D3196E7 -:10B5A000DF0111978C9180538A3050F314FF03C050 -:10B5B000719561957109C60FD71F11FF08C0C1149D -:10B5C000D10429F0CF010197F60191838083CA014C -:10B5D000B9010F94685E212F2370233019F04B01BD -:10B5E0005C0106C04B015C01B7FAB094B7F8B094A7 -:10B5F00020E030E0A901C501B4010F94635E882307 -:10B6000009F43EC0D7FF06C0D195C195D1090DEF11 -:10B6100014E002C005E115E06801F8E1CF1AD10895 -:10B6200090E2E92EF12CCE15DF0574F0F80125919A -:10B63000359145915491C501B4010F94C95E4B01F8 -:10B640005C01CE19DF09EFCF04501109F594E7949E -:10B650000C151D0541F78A2D880F8B2D881F8F3FF4 -:10B6600049F020E030E0A901C501B4010F94635E08 -:10B67000811106C082E290E09093E31E8093E21E67 -:10B68000C501B40109C060E070E080E89FEF04C02C -:10B6900060E070E080EC9FE7DF91CF911F910F9108 -:10B6A000FF90EF90DF90CF90BF90AF909F908F90E2 -:10B6B00008953F924F925F926F927F928F929F92E6 -:10B6C000AF92BF92CF92DF92EF92FF920F931F93B0 -:10B6D000CF93DF935C016B017A016115710519F05D -:10B6E000FB0191838083E114F10429F0C7010297E3 -:10B6F000839708F0E5C0E5012196F5011081812FBF -:10B7000090E00F94945D892B11F05E01F4CF1D320F -:10B7100029F42196F501118101E007C01B3221F4C3 -:10B72000E5012296F501118100E0E114F10409F12F -:10B73000F0E1EF16F10429F43FC010E3E114F10445 -:10B7400021F128E0E216F10401F154F4E2E0EE16F2 -:10B75000F10421F5812C912CA12CB0E4BB2E3EC02C -:10B76000FAE0EF16F10439F020E1E216F104B1F449 -:10B7700030C0103319F1FAE0EF2EF12CACEC8A2E28 -:10B78000982CA82CACE0BA2E29C078E0E72EF12C3A -:10B79000812C912CA12CE0E1BE2E20C060E070E055 -:10B7A00080E090E897010F2C000C440B550B0F9490 -:10B7B000B96449015A0112C0103359F488818F7D50 -:10B7C000883509F0BACF19812296026080E1E82E0F -:10B7D000F12C812C912CA12C68E0B62E40E060E089 -:10B7E00070E0CB0127010F2C000C66087708FE01E2 -:10B7F00050ED352E310E29E0231570F42FEB210F7B -:10B800002A3118F439EC332E06C02FE9210F2A31E2 -:10B8100018F529EA322E310E232D30E02E153F0582 -:10B82000DCF447FD16C086169706A806B90670F028 -:10B83000A30192010F94A964630D711D811D911DD7 -:10B8400061307105810520E8920710F04FEF01C0CB -:10B8500041E021961081CBCF202F2170C114D1045B -:10B8600071F0442329F02197F601D183C08307C0EA -:10B8700001FF19C02297F601D183C08314C047FF8E -:10B8800012C0222329F060E070E080E090E804C05C -:10B890006FEF7FEF8FEF9FE722E230E03093E31E00 -:10B8A0002093E21E09C0222381F090958095709527 -:10B8B00061957F4F8F4F9F4F462F372F282F12C0F4 -:10B8C00040E030E020E090E00DC097FFF5CF82E24D -:10B8D00090E09093E31E8093E21E6FEF7FEF8FEF77 -:10B8E0009FE7EACF642F732F822FDF91CF911F91B3 -:10B8F0000F91FF90EF90DF90CF90BF90AF909F900F -:10B900008F907F906F905F904F903F9008953F92FF -:10B910004F925F926F927F928F929F92AF92BF925F -:10B92000CF92DF92EF92FF920F931F93CF93DF930B -:10B930005C016B017A016115710519F0FB019183BE -:10B940008083E114F10429F0C7010297839708F07E -:10B95000C9C0E5012196F5011081812F90E00F9477 -:10B96000945D892B11F05E01F4CF1D3229F42196EC -:10B97000F501118101E007C01B3221F4E501229697 -:10B98000F501118100E0E114F104B1F0F0E1EF16EE -:10B99000F10429F4B0C010E3E114F10401F12AE04C -:10B9A000E216F104B1F180E1E816F10471F0E8E08B -:10B9B000EE16F104F1F413C0103341F588818F7D48 -:10B9C000883549F7198122960260F0E1EF2EF12CBB -:10B9D00088248A94982CA82CAFE0BA2E20C078E056 -:10B9E000E72EF12C88248A94982CA82CEFE1BE2E07 -:10B9F00016C06FEF7FEFCB0197010F2C000C440BAB -:10BA0000550B0F94B96449015A0109C08AE0E82E28 -:10BA1000F12C69E9862E982CA82C69E1B62E40E01D -:10BA200060E070E0CB0127010F2C000C660877085E -:10BA3000FE0150ED352E310E29E0231570F42FEB69 -:10BA4000210F2A3118F439EC332E06C02FE9210FCB -:10BA50002A3130F529EA322E310E232D30E02E1511 -:10BA60003F05F4F44F3FC9F086169706A806B906BD -:10BA700088F0A30192010F94A964232D30E040E0E7 -:10BA800050E0620F731F841F951F621773078407AE -:10BA9000950710F44FEF01C041E021961081C8CF07 -:10BAA000C114D10451F0442311F0219703C001FFC8 -:10BAB00004C02297F601D183C08300FF07C0909590 -:10BAC0008095709561957F4F8F4F9F4F4F3F79F4D1 -:10BAD00082E290E09093E31E8093E21E3FEF2FEF0F -:10BAE0009FEF0DC040E030E020E090E008C0462F1E -:10BAF000372F282F04C0103309F067CF5FCF642F92 -:10BB0000732F822FDF91CF911F910F91FF90EF90B4 -:10BB1000DF90CF90BF90AF909F908F907F906F906D -:10BB20005F904F903F90089591110D948F638032F4 -:10BB300019F089508550C8F70895FB01DC0102C057 -:10BB400005900D9241505040D8F70895FC010590A2 -:10BB5000061621F00020D9F7C00108953197CF01D2 -:10BB60000895FC0105900020E9F7809590958E0FCF -:10BB70009F1F0895FB01DC014150504088F08D91DA -:10BB800081341CF08B350CF4805E659161341CF0BF -:10BB90006B350CF4605E861B611171F3990B08958F -:10BBA000881BFCCFFB01DC014150504048F0059060 -:10BBB0000D920020C9F701C01D9241505040E0F79E -:10BBC0000895FB0155915523A9F0BF01DC014D916A -:10BBD00045174111E1F759F4CD010590002049F0D6 -:10BBE0004D9140154111C9F3FB014111EFCF81E0A7 -:10BBF00090E0019708950F931F93CF93DF93CDB7F4 -:10BC0000DEB72E970FB6F894DEBF0FBECDBF0E89FC -:10BC10001F898EE08C831A8309838FEF9FE79E83B1 -:10BC20008D83AE01465E5F4F688D798DCE010196A2 -:10BC30000F94365FEF81F885E00FF11F10822E968A -:10BC40000FB6F894DEBF0FBECDBFDF91CF911F912D -:10BC50000F9108950F931F93CF93DF93CDB7DEB766 -:10BC60002E970FB6F894DEBF0FBECDBF8C01FA0140 -:10BC70008EE08C831A83098377FF02C060E070E84E -:10BC8000CB0101979E838D83A901BF01CE0101964F -:10BC90000F94365F4D815E8157FD0AC02F81388534 -:10BCA000421753070CF49A01F801E20FF31F1082B8 -:10BCB0002E960FB6F894DEBF0FBECDBFDF91CF91A9 -:10BCC0001F910F9108950F94A55E08F481E00895E7 -:10BCD000E89409C097FB3EF4909580957095619526 -:10BCE0007F4F8F4F9F4F9923A9F0F92F96E9BB27DC -:10BCF0009395F695879577956795B795F111F8CF58 -:10BD0000FAF4BB0F11F460FF1BC06F5F7F4F8F4FC2 -:10BD10009F4F16C0882311F096E911C0772321F0B8 -:10BD20009EE8872F762F05C0662371F096E8862F50 -:10BD300070E060E02AF09A95660F771F881FDAF7A7 -:10BD4000880F9695879597F90895990F0008550FD4 -:10BD5000AA0BE0E8FEEF16161706E807F907C0F091 -:10BD600012161306E407F50798F0621B730B840B99 -:10BD7000950B39F40A2661F0232B242B252B21F473 -:10BD800008950A2609F4A140A6958FEF811D811D13 -:10BD900008950F94DC5E0D9459640F944B6438F051 -:10BDA0000F94526420F0952311F00D9442640D9489 -:10BDB000486411240D948D640F946A6470F3959F08 -:10BDC000C1F3950F50E0551F629FF001729FBB2792 -:10BDD000F00DB11D639FAA27F00DB11DAA1F649F2E -:10BDE0006627B00DA11D661F829F2227B00DA11DE1 -:10BDF000621F739FB00DA11D621F839FA00D611D67 -:10BE0000221F749F3327A00D611D231F849F600D87 -:10BE1000211D822F762F6A2F11249F5750409AF0B0 -:10BE2000F1F088234AF0EE0FFF1FBB1F661F771F3C -:10BE3000881F91505040A9F79E3F510580F00D9406 -:10BE400042640D948D645F3FE4F3983ED4F386958D -:10BE500077956795B795F795E7959F5FC1F7FE2BA7 -:10BE6000880F911D9695879597F908952F923F9287 -:10BE70004F925F926F927F928F929F92AF92BF92FA -:10BE8000CF92DF92EF92FF920F931F93CF93DF93A6 -:10BE9000CDB7DEB72B970FB6F894DEBF0FBECDBF80 -:10BEA0006C017B018A01FC0117821682838181FF6C -:10BEB000CCC1CE0101963C01F6019381F70193FDBF -:10BEC000859193FF81917F01882309F4BAC185325E -:10BED00039F493FD859193FF81917F01853229F497 -:10BEE000B60190E00F94A863E7CF912C212C312C60 -:10BEF000FFE1F315D8F08B3279F038F4803279F025 -:10BF00008332A1F4232D20611DC08D3261F0803376 -:10BF100069F4232D216016C0832D8260382EE32D15 -:10BF2000E4603E2E2AC0F32DF8601DC037FC2DC002 -:10BF300020ED280F2A3040F08E32B9F436FC81C152 -:10BF4000232D2064322E19C036FE06C08AE0989E4A -:10BF5000200D1124922E11C0EAE02E9E200D1124F6 -:10BF6000222EF32DF0623F2E08C08C3621F4832D53 -:10BF70008068382E02C0883641F4F70193FD859120 -:10BF800093FF81917F018111B3CF982F9F7D9554AD -:10BF9000933028F40C5F1F4F9FE399830DC08336C5 -:10BFA00031F0833771F0833509F059C021C0F801B1 -:10BFB000808189830E5F1F4F88248394912C5301C5 -:10BFC00013C02801F2E04F0E511CF801A080B1808F -:10BFD00036FE03C0692D70E002C06FEF7FEFC50130 -:10BFE0000F949D634C018201F32DFF773F2E16C005 -:10BFF000280122E0420E511CF801A080B18036FEDB -:10C0000003C0692D70E002C06FEF7FEFC5010F9490 -:10C0100092634C01F32DF0683F2E820133FC1BC06C -:10C02000822D90E088169906B0F4B60180E290E087 -:10C030000F94A8632A94F4CFF50137FC859137FE5D -:10C0400081915F01B60190E00F94A86321102A94BA -:10C0500021E0821A91088114910471F7E8C08436B6 -:10C0600011F0893641F5F80137FE07C06081718112 -:10C07000828193810C5F1F4F08C060817181072E00 -:10C08000000C880B990B0E5F1F4FF32DFF763F2E90 -:10C0900097FF09C090958095709561957F4F8F4F60 -:10C0A0009F4FF0683F2E2AE030E0A3010F94E46335 -:10C0B000882E861845C0853731F4232D2F7EB22E69 -:10C0C0002AE030E025C0932D997FB92E8F36C1F03C -:10C0D00018F4883579F0B5C0803719F0883721F029 -:10C0E000B0C0E92FE061BE2EB4FE0DC0FB2DF460A0 -:10C0F000BF2E09C034FE0AC0292F2660B22E06C00A -:10C1000028E030E005C020E130E002C020E132E06C -:10C11000F801B7FE07C060817181828193810C5F55 -:10C120001F4F06C06081718180E090E00E5F1F4F5D -:10C13000A3010F94E463882E8618FB2DFF773F2E12 -:10C1400036FE0DC0232D2E7FA22E891458F434FE06 -:10C150000BC032FC09C0832D8E7EA82E05C0B82CE2 -:10C16000A32C03C0B82C01C0B92CA4FE0FC0FE0143 -:10C17000E80DF11D8081803321F49A2D997EA92E3E -:10C1800009C0A2FE06C0B394B39404C08A2D867879 -:10C1900009F0B394A3FC11C0A0FE06C0B21488F449 -:10C1A000280C922C9B180EC0B21460F4B60180E2E9 -:10C1B00090E00F94A863B394F7CFB21418F42B183F -:10C1C00002C0982C212CA4FE10C0B60180E390E0A0 -:10C1D0000F94A863A2FE17C0A1FC03C088E790E0FB -:10C1E00002C088E590E0B6010CC08A2D867859F02F -:10C1F000A1FE02C08BE201C080E2A7FC8DE2B60185 -:10C2000090E00F94A863891438F4B60180E390E0BD -:10C210000F94A8639A94F7CF8A94F301E80DF11D67 -:10C220008081B60190E00F94A8638110F5CF2220A1 -:10C2300009F442CEB60180E290E00F94A8632A94FC -:10C24000F6CFF6018681978102C08FEF9FEF2B9684 -:10C250000FB6F894DEBF0FBECDBFDF91CF911F9117 -:10C260000F91FF90EF90DF90CF90BF90AF909F9095 -:10C270008F907F906F905F904F903F902F90089598 -:10C280008F929F92AF92BF92CF92DF92EF92FF92E6 -:10C290000F931F93CF93DF93CDB7DEB729970FB6D8 -:10C2A000F894DEBF0FBECDBF6A01122FB02E2BE374 -:10C2B000201720F0FF24F394F00E02C02CE3F22E9E -:10C2C0000F2D27E0AE014F5F5F4F0F94B762BC01A7 -:10C2D0004981842F8970813031F0E1FC06C0E0FE95 -:10C2E00006C090E205C09DE203C09BE201C090E061 -:10C2F0005E2D507143FF3CC0911102C083E001C02C -:10C3000084E0811718F4212F281B01C020E051116F -:10C310000BC0F601822F30E2882319F0319381504F -:10C32000FBCFC20ED11C20E0992329F0D6019C93AB -:10C33000F60131966F01C6010396E2FE0AC03EE4A3 -:10C34000D6013C9341E411964C93119712963C937D -:10C3500006C03EE6F601308341E641833283FC01AC -:10C36000322F40E2332309F442C041933150FACFD7 -:10C3700042FF44C0911102C083E001C084E08117F4 -:10C3800018F4212F281B01C020E051110BC0F60129 -:10C39000822F30E2882319F031938150FBCFC20EF7 -:10C3A000D11C20E0992329F0D6019C93F601319607 -:10C3B0006F01C6010396E2FE0BC039E4D6013C933F -:10C3C0003EE411963C93119736E412963C9307C0D5 -:10C3D00039E6F60130833EE6318336E63283FC01EE -:10C3E000322F40E2332319F041933150FBCFFC014F -:10C3F000E20FF11D10828EEF9FEFA6C021E030E02A -:10C40000911102C020E030E0161617061CF4FB0163 -:10C41000319602C0E1E0F0E02E0F3F1FBB2021F07B -:10C42000EB2DF0E0319602C0E0E0F0E02E0F3F1F70 -:10C43000E12FF0E02E173F071CF4121B212F01C043 -:10C4400020E08E2D887159F4F601822F30E2882386 -:10C4500019F031938150FBCFC20ED11C20E09923FB -:10C4600029F0D6019C93F60131966F0151110BC052 -:10C47000F601822F90E3882319F091938150FBCF2E -:10C48000C20ED11C20E00F2D060F9A81342F30717F -:10C4900044FF03C0913309F40150101624F409300D -:10C4A00018F008E001C001E0AB0177FF02C040E0F6 -:10C4B00050E0FB01E41BF50BA1E0B0E0AC0FBD1FA9 -:10C4C000EA0FFB1F8EE2A82E4B01801A91080B2D5C -:10C4D00010E01195019511094F3FBFEF5B0721F463 -:10C4E000D601AC9211966D01641775072CF0841675 -:10C4F000950614F4818101C080E3415051093196C1 -:10C50000D60111967D014017510724F0D6018C9376 -:10C510006701E2CF6417750739F4963320F4953339 -:10C5200019F4311101C081E3F6018083F701822FF4 -:10C5300090E2882319F091938150FBCFF701E20F2D -:10C54000F11D108280E090E029960FB6F894DEBFCE -:10C550000FBECDBFDF91CF911F910F91FF90EF9054 -:10C56000DF90CF90BF90AF909F908F90089528302C -:10C5700008F027E03327DA01990F311D87FD91601C -:10C5800000966105710539F432602E5F3D9330E30A -:10C590002A95E1F708959F3F30F0803871056105D5 -:10C5A00009F03C5F3C5F3D93913008F08068911D3D -:10C5B000DF93CF931F930F93FF92EF92192F987FE2 -:10C5C0009695E92F96959695E90FFF27ED58FA4F26 -:10C5D00099273327EE24FF24A701E701059008944B -:10C5E000079428F4360FE71EF81E491F511D660FE9 -:10C5F000771F881F991F0694A1F70590079428F4C8 -:10C60000E70EF81E491F561FC11D770F881F991F7F -:10C61000661F0694A1F70590079428F4F80E491FA9 -:10C62000561FC71FD11D880F991F661F771F0694BD -:10C63000A1F70590079420F4490F561FC71FD81F74 -:10C64000990F661F771F881F0694A9F7849110958C -:10C65000177041F0D695C79557954795F794E7948D -:10C660001A95C1F7E9E1F5E06894159015913591B7 -:10C670006591959105907FE27395E118F10A430B5E -:10C68000560BC90BD009C0F7E10CF11E431F561F12 -:10C69000C91FD01D7EF4703311F48A95E6CFE8945B -:10C6A000015030F0080F0AF40027021708F4202F79 -:10C6B0002395022F7A3328F079E37D932A95E9F7C1 -:10C6C00010C07D932A9589F60694979567953795BE -:10C6D00017951794E118F10A430B560BC90BD009B3 -:10C6E00098F023957E9173957A3308F070E37C93EC -:10C6F0002013B8F77E9170617D9330F0839571E3DC -:10C700007D9370E32A95E1F71124EF90FF900F914C -:10C710001F91CF91DF91992787FD909508959927D3 -:10C7200088270895FC010590615070400110D8F7EA -:10C73000809590958E0F9F1F0895FC016150704069 -:10C7400001900110D8F7809590958E0F9F1F089546 -:10C750000F931F93CF93DF93FB01238121FD03C030 -:10C760008FEF9FEF2CC022FF16C046815781248196 -:10C7700035814217530744F4A081B1819D012F5F99 -:10C780003F4F318320838C93268137812F5F3F4F2A -:10C790003783268314C08B01EC01FB010084F185F3 -:10C7A000E02D1995892BE1F6D80116968D919C9173 -:10C7B0001797019617969C938E931697CE01DF914B -:10C7C000CF911F910F910895FA01AA27283051F1B6 -:10C7D000203181F1E8946F936E7F6E5F7F4F8F4FB2 -:10C7E0009F4FAF4FB1E03ED0B4E03CD0670F781F11 -:10C7F000891F9A1FA11D680F791F8A1F911DA11DF6 -:10C800006A0F711D811D911DA11D20D009F468942E -:10C810003F912AE0269F11243019305D3193DEF6D6 -:10C82000CF010895462F4770405D4193B3E00FD08C -:10C83000C9F7F6CF462F4F70405D4A3318F0495D77 -:10C8400031FD4052419302D0A9F7EACFB4E0A6955A -:10C850009795879577956795BA95C9F7009761057C -:10C86000710508959B01AC010A2E069457954795D2 -:10C8700037952795BA95C9F7620F731F841F951FC7 -:10C88000A01D089597F99F6780E870E060E0089523 -:10C890009FEF80EC089500240A94161617061806D8 -:10C8A0000906089500240A941216130614060506B4 -:10C8B0000895092E0394000C11F4882352F0BB0F45 -:10C8C00040F4BF2B11F460FF04C06F5F7F4F8F4FA8 -:10C8D0009F4F089557FD9058440F551F59F05F3FE3 -:10C8E00071F04795880F97FB991F61F09F3F79F092 -:10C8F00087950895121613061406551FF2CF469514 -:10C90000F1DF08C0161617061806991FF1CF869595 -:10C910007105610508940895E894BB276627772779 -:10C92000CB0197F90895F999FECF92BD81BDF89A90 -:10C93000992780B50895262FF999FECF1FBA92BD89 -:10C9400081BD20BD0FB6F894FA9AF99A0FBE0196F0 -:10C950000895DB018F939F930F94FA64BF91AF9179 -:10C96000A29F800D911DA39F900DB29F900D112449 -:10C970000895A1E21A2EAA1BBB1BFD010DC0AA1F20 -:10C98000BB1FEE1FFF1FA217B307E407F50720F038 -:10C99000A21BB30BE40BF50B661F771F881F991FB3 -:10C9A0001A9469F760957095809590959B01AC01FC -:10C9B000BD01CF010895052E97FB1EF400940F943E -:10C9C000F26457FD07D00F94B96407FC03D04EF40E -:10C9D0000D94F26450954095309521953F4F4F4FFF -:10C9E0005F4F089590958095709561957F4F8F4F1B -:10C9F0009F4F08950F940D65A59F900DB49F900DC6 -:10CA0000A49F800D911D11240895B7FF0D94FA6421 -:10CA10000F94FA64821B930B0895A29FB001B39FF9 -:10CA2000C001A39F700D811D1124911DB29F700D37 -:10CA3000811D1124911D0895991B79E004C0991F4F -:10CA4000961708F0961B881F7A95C9F78095089568 -:10CA5000AA1BBB1B51E107C0AA1FBB1FA617B70724 -:10CA600010F0A61BB70B881F991F5A95A9F7809540 -:10CA70009095BC01CD01089597FB072E16F4009404 -:10CA800007D077FD09D00F94286507FC05D03EF448 -:10CA9000909581959F4F0895709561957F4F08956A -:10CAA000EE0FFF1F881F8BBF0790F691E02D1994A2 -:10CAB0005058BB27AA270F9470650D9459640F94A2 -:10CAC0004B6438F00F94526420F039F49F3F19F40E -:10CAD00026F40D9448640EF4E095E7FB0D9442644F -:10CAE000E92F0F946A6458F3BA1762077307840733 -:10CAF000950720F079F4A6F50D948C640EF4E0957A -:10CB00000B2EBA2FA02D0B01B90190010C01CA0107 -:10CB1000A0011124FF27591B99F0593F50F4503EB2 -:10CB200068F11A16F040A22F232F342F4427585FA4 -:10CB3000F3CF469537952795A795F0405395C9F7BC -:10CB40007EF41F16BA0B620B730B840BBAF0915074 -:10CB5000A1F0FF0FBB1F661F771F881FC2F70EC013 -:10CB6000BA0F621F731F841F48F4879577956795E6 -:10CB7000B795F7959E3F08F0B0CF9395880F08F0D2 -:10CB80009927EE0F9795879508950F944B6460F061 -:10CB900080E891E009F49EEF0F94526428F040E899 -:10CBA00051E071F45EEF0CC00D9448640D948C64F8 -:10CBB000E92FE0780F946A6440F3092E052AB1F357 -:10CBC000261737074807590738F00E2E07F8E025D3 -:10CBD00069F0E025E0640AC0EF6307F8009407FA03 -:10CBE000DB01B9019D01DC01CA01AD01EF930F9496 -:10CBF0006A660F9459640F9408665F91552339F063 -:10CC00002BED3FE049E450FD49EC0D945965089542 -:10CC1000DF93DD27B92FBF7740E85FE316161706CD -:10CC200048075B0718F4D92F0F94BE679F938F9323 -:10CC30007F936F930F949768ECEFF1E00F943B674D -:10CC40000F9459642F913F914F915F910F94DC5E47 -:10CC5000DD2351F09058A2EA2AED3FE049EC5FE372 -:10CC6000D0785D270F947065DF910D9459640F940F -:10CC7000A16790F09F3748F4911116F40D948D64DC -:10CC800060E070E080E89FE3089526F01B16611DC8 -:10CC9000711D811D0D9412670D942D670F946467AB -:10CCA000E3950D948D670F9467660D9459640F9406 -:10CCB000526458F00F944B6440F029F45F3F29F020 -:10CCC0000D94426451110D948D640D9448640F9439 -:10CCD0006A6468F39923B1F3552391F3951B550BBF -:10CCE000BB27AA2762177307840738F09F5F5F4F3F -:10CCF000220F331F441FAA1FA9F335D00E2E3AF07E -:10CD0000E0E832D091505040E695001CCAF72BD095 -:10CD1000FE2F29D0660F771F881FBB1F26173707E6 -:10CD20004807AB07B0E809F0BB0B802DBF01FF2718 -:10CD300093585F4F3AF09E3F510578F00D9442644E -:10CD40000D948D645F3FE4F3983ED4F38695779518 -:10CD50006795B795F7959F5FC9F7880F911D9695D1 -:10CD6000879597F90895E1E0660F771F881FBB1F2D -:10CD7000621773078407BA0720F0621B730B840BDA -:10CD8000BA0BEE1F88F7E09508950F94CC6668946F -:10CD9000B1110D948D6408950F94726488F09F57BB -:10CDA00098F0B92F9927B751B0F0E1F0660F771FCF -:10CDB000881F991F1AF0BA95C9F714C0B13091F0C5 -:10CDC0000F948C64B1E008950D948C64672F782FD4 -:10CDD0008827B85F39F0B93FCCF38695779567958A -:10CDE000B395D9F73EF490958095709561957F4FF6 -:10CDF0008F4F9F4F08950F94A16790F09F3748F48D -:10CE0000911116F00D948D6460E070E080E89FEB66 -:10CE1000089526F41B16611D711D811D0D94126766 -:10CE20000D942D67882371F4772321F09850872B78 -:10CE3000762F07C0662311F499270DC09051862BD9 -:10CE400070E060E02AF09A95660F771F881FDAF786 -:10CE5000880F9695879597F908959F3F31F09150E7 -:10CE600020F4879577956795B795880F911D9695CE -:10CE7000879597F90895DF93CF931F930F93FF92B0 -:10CE8000EF92DF927B018C01689406C0DA2EEF01ED -:10CE90000F94DC5EFE01E894A591259135914591B2 -:10CEA0005591A6F3EF010F947065FE019701A8015B -:10CEB000DA9469F7DF90EF90FF900F911F91CF9177 -:10CEC000DF9108950D9448640F947264D8F3E89448 -:10CED000E0E0BB279F57F0F02AED3FE049EC06C0A9 -:10CEE000EE0FBB0F661F771F881F28F0B23A62074C -:10CEF0007307840728F0B25A620B730B840BE39517 -:10CF00009A9572F7803830F49A95BB0F661F771F99 -:10CF1000881FD2F790480D942F67EF93E0FF07C06A -:10CF2000A2EA2AED3FE049EC5FEB0F9470650F94A5 -:10CF300059640F90039401FC9058E9E2F2E00D94DB -:10CF4000EC680F947264A0F0BEE7B91788F4BB27B1 -:10CF50009F3860F41616B11D672F782F8827985FC9 -:10CF6000F7CF869577956795B11D93959639C8F358 -:10CF700008950F94A55E08F48FEF08959B01AC010E -:10CF800060E070E080E89FE30D9453660F94726454 -:10CF900058F19E5760F19851A0F0E9F0983020F5D3 -:10CFA000092E9927660F771F881F991F0A94D1F7BA -:10CFB00012C0062E672F782F8827985F11F4000C77 -:10CFC00007C0993FB4F38695779567959395D9F700 -:10CFD000611D711D811D3EF4909580957095619540 -:10CFE0007F4F8F4F9F4F089568940D948D640D94DB -:10CFF0008C64FA01EE0FFF1F309621053105A1F177 -:10D000006115710561F48038BFE39B0749F16894AD -:10D010009038810561F08038BFEF9B0741F099237C -:10D020004AF5FF3FE1053105210519F1E89408941F -:10D03000E795D901AA2329F4AB2FBE2FF85FD0F3CF -:10D0400010C0FF5F70F4A695E0F7F73950F019F0C3 -:10D05000FF3A38F49F779F930DD00F9007FC9058BC -:10D06000089546F00D94486460E070E080E89FE326 -:10D0700008954FE79F775F934F933F932F930F94BC -:10D0800042692F913F914F915F910F94C95E0D942A -:10D09000B3689F930F9464670F9007FCEE5F0D9445 -:10D0A0008D6719F416F40D9448640D942D670F9450 -:10D0B0007264B8F39923C9F3B6F39F57550B87FFF2 -:10D0C0000F94E5680024A0E640EA90018058569548 -:10D0D000979528F4805C660F771F881F20F026172D -:10D0E0003707480730F4621B730B840B2029312962 -:10D0F0004A2BA69517940794202531254A2758F7DF -:10D10000660F771F881F20F026173707480730F46F -:10D11000620B730B840B200D311D411DA09581F70F -:10D12000B901842F9158880F9695879508959B0192 -:10D13000AC010D94C95E0F94A16730F09F3710F4D5 -:10D140000D948D640D9412670D942D670F94A55E58 -:10D15000880B990B089529F416F00D9442640D94F0 -:10D160008C640D9448640F947264A8F39638A0F709 -:10D1700007F80F92E8942BE33AEA48EB5FE70F9445 -:10D18000DF5E0F920F920F924DB75EB70F920F9422 -:10D190008A69E7E4F2E00F943B674F915F91EF916A -:10D1A000FF91E595EE1FFF1F49F0FE57E068442709 -:10D1B000EE0F441FFA95E1F74195550B0F94046962 -:10D1C0000F9007FE0D94BE67089591505040660F72 -:10D1D000771F881FD2F708959F938F937F936F9344 -:10D1E000FF93EF939B01AC010F94C95EEF91FF9108 -:10D1F0000F943B672F913F914F915F910D94C95EC2 -:10D200000D9442640D942D670F947264D8F39923A2 -:10D21000C9F3940F511DA3F39150504094F059F06D -:10D22000882332F0660F771F881F91505040C1F756 -:10D230009E3F51052CF7880F911D9695879597F97C -:10D2400008955F3FACF0983E9CF0BB27869577959C -:10D250006795B79508F4B1609395C1F7BB0F58F780 -:10D2600011F460FFE8CF6F5F7F4F8F4F9F4FE3CF89 -:10D270000D948D6416F00D942D670D944864689498 -:10D280000D9442640F947264A8F39923C1F3AEF332 -:10D29000DF93CF931F930F93FF92C92FDD2788232E -:10D2A0002AF02197660F771F881FDAF720E030E019 -:10D2B00040E85FEB9FE3883920F0803E38F021960C -:10D2C0008F770F945965EFE6F2E004C00F9459652B -:10D2D000ECE9F2E00F943B678B01BE01EC01FB2E01 -:10D2E0006F5771097595771F880B990B0F946A5EBC -:10D2F00028E132E741E35FE30F94DC5EAF2D980154 -:10D30000AE01FF900F911F91CF91DF910F94706547 -:10D310000D945964FA01DC01AA0FBB1F9B01AC01FB -:10D32000BF5728F4222733274427507820C0B7510D -:10D3300090F4AB2F0024469537952795011CA395B3 -:10D34000D2F3002071F0220F331F441FB395DAF39C -:10D350000ED00D94586561307105A0E88A07B94672 -:10D3600030F49B01AC0166277727882790783096A8 -:10D3700021F02083318342835383089581E090E03C -:10D38000F8940D94686A9111089581548A5108F4B3 -:10D39000805E855A0895FB01DC0104C08D910190E7 -:10D3A000801921F441505040C8F7881B990B08950B -:10D3B000FB01DC0102C001900D9241505040D8F7B2 -:10D3C0000895FB01DC018D9181341CF08B350CF448 -:10D3D000805E619161341CF06B350CF4605E861BDD -:10D3E000611189F3990B0895FB01DC010D90002078 -:10D3F000E9F7119701900D920020E1F70895FC01E3 -:10D400008191861721F08823D9F7992708953197BC -:10D41000CF010895FB01DC0101900D920020E1F79E -:10D420000895FB01DC014150504030F08D91019096 -:10D43000801919F40020B9F7881B990B0895FB0196 -:10D44000DC014150504048F001900D920020C9F796 -:10D4500001C01D9241505040E0F70895FC0181E069 -:10D4600090E00190061609F4CF010020D1F7019752 -:10D4700008950F931F93CF93DF93CDB7DEB72E9709 -:10D480000FB6F894DEBF0FBECDBF0E891F8986E0B0 -:10D490008C831A8309838FEF9FE79E838D83AE0170 -:10D4A000465E5F4F688D798DCE0101960F94365F91 -:10D4B000EF81F885E00FF11F10822E960FB6F894D9 -:10D4C000DEBF0FBECDBFDF91CF911F910F910895A9 -:10D4D0001CE2C5E7DCE200E006C0802FFE010F94ED -:10D4E00050652196011DC637D10780E00807A9F7CE -:04D4F000F894FFCFDE -:10D4F40002C0D401000180000000FF3FFF3F000094 -:10D504000000FF3F010164000000803F0000803FF5 -:10D5140080800110FF0601010000000000009D430F -:10D524000000000000009A43000000000000C8430F -:10D534000000C841A0005CFF79C40000803FCDCC4E -:10D54400CC3CFFFFFFFFFFFFFFFFFFFFFFFFFF00DC -:10D55400007A4300005243CDCCCC3D01640064000A -:10D564000101000000021000000410000006100079 -:10D5740000081000000A1000000C10000026100023 -:10D58400003010000032100000341000003A100087 -:10D59400003E10000040100000441000004610003F -:10D5A40000481000004A1000004C10000054100005 -:10D5B4000056100000581000005C1000005E1000BF -:10D5C400005F100000881000000000000000409C74 -:10D5D4004500007A4500007A4300007042010203CE -:10D5E4000405DC050000DC050000640000004B00BD -:10D5F40000000000A0420000A0420000C843000058 -:10D60400BE420000FA430000FA430000204100003B -:10D614009642B400F00046006E0000004040000056 -:10D624003442000000000000000000000000000080 -:10D63400504100000000000000416400000064004C -:10D644000000030000006400000064000000030008 -:10D654000000030000001E0000001E0000001E0069 -:10D6640000001E0000001E0000001E0000000A0052 -:10D674005A005637300058595A4500009B43000061 -:10D684002041000000004E6BB76AE56A9B6B166B85 -:10D69400F46A086B2A2A2A496E6974696E672063E2 -:10D6A400617264206973204F4B2A2A2A002A2A2A8D -:10D6B400496E6974696E672063617264206661698A -:10D6C4006C732A2A2A002A2A2A436172642052652A -:10D6D4006D6F7665642A2A2A003D3D776169747707 -:10D6E400617920313D3D003D3D7761697477617911 -:10D6F40020333D3D002020737461727470726F6733 -:10D7040072657373200020202A2A2A2A2A2A2A5280 -:10D7140054535F48616E646C65446174612A2A2ABB -:10D724002A2A2A2A2A20003D3D20436865636B6B20 -:10D7340065793D3D000A2048616E646C6520446152 -:10D744007461205072696E7446696C65203120538F -:10D75400657474696E672053637265656E20000A90 -:10D764002048616E646C6520446174612050726964 -:10D774006E7446696C6520322053657474696E67F3 -:10D784002053637265656E20000A2048616E646CE4 -:10D79400652044617461205072696E7446696C65D9 -:10D7A40020332053657474696E6720536372656512 -:10D7B4006E20000A2048616E646C652044617461C7 -:10D7C4002041646A75737420322053657474696EE1 -:10D7D400672053637265656E200074696E796D61AC -:10D7E4006368696E657333642E636F6D00436869A3 -:10D7F4006E657365204E6F7420537570706F72740C -:10D80400656400456E676C69736820416C7265617C -:10D8140064792053657400496E76616C6964204FA5 -:10D824007074696F6E000A204E6F2046696C616DDA -:10D83400656E7400526573756D6520596573206457 -:10D844007572696E67207072696E74002046696C27 -:10D85400616D656E7420526573706F6E7365204ED2 -:10D864006F0046696C616D656E7420537461742039 -:10D8740030202D20310046696C616D656E74205333 -:10D884007461742030202D20320046696C616D650E -:10D894006E7420537461742030202D203300466947 -:10D8A4006C656E616D65005265636461746100202E -:10D8B40020202020202020200025642F2564003DE6 -:10D8C4003D7761697477617920343D3D003D3D7752 -:10D8D40061697477617920353D3D003D3D4865615E -:10D8E40074696E6720446F6E65204368616E676576 -:10D8F4002046696C616D656E743D3D0046696C65DA -:10D904006E616D652D4D6564696100436C69636B7F -:10D9140020746F20526573756D652E2E2E0025645C -:10D924002058202564205820256400544D33442079 -:10D9340043522D5800322E305F44573320544D3318 -:10D94400442053534D444255003D3D4477696E2075 -:10D95400496E697420436F6D706C6574653D3D005C -:10D964002F003D3D6F6E55736572436F6E6669722D -:10D974006D52657175697265643D3D003F3F3F00BE -:10D984003A207A3A2000206D65616E3A20002073B7 -:10D9940069676D613A2000206D696E3A2000206D40 -:10D9A40061783A20002072616E67653A20004D6507 -:10D9B400616E3A2000204D696E3A2000204D617856 -:10D9C4003A20002052616E67653A20005374616EFC -:10D9D4006461726420446576696174696F6E3A208B -:10D9E400003D3D6F6E4C6F616453657474696E677E -:10D9F400733D3D003D3D6F6E53746F7265536574A6 -:10DA040074696E67733D3D003D3D6F6E436F6E6696 -:10DA1400696775726174696F6E53746F726557725A -:10DA2400697474656E3D3D004552520052656865E7 -:10DA340061742066696E69736865642E006265644A -:10DA440020706C616E65206E6F726D616C203D207C -:10DA54005B005344557064617465002E67636F64A2 -:10DA640065002E47434F444500556E746F756368D7 -:10DA74006564200050756C73696E67202020002057 -:10DA84002053544F57454420287472696767657260 -:10DA94006564292073746174653A204849474820B5 -:10DAA400286C6F67696320312900202053544F5735 -:10DAB4004544202874726967676572656429207318 -:10DAC400746174653A204C4F5720286C6F67696302 -:10DAD400203029003D3D6F6E466163746F72795248 -:10DAE400657365743D3D003D3D6F6E436F6E6669C1 -:10DAF4006775726174696F6E53746F726552656194 -:10DB0400643D3D0042656420583A200020593A2083 -:10DB140000205A3A20003D3D6F6E5072696E745475 -:10DB2400696D6572537461727465643D3D0073740C -:10DB34006F7070696E67203D3D002F2F61637469BB -:10DB44006F6E3A63616E63656C003D3D6F6E50723B -:10DB5400696E7454696D657253746F707065643D59 -:10DB64003D004D65616E204D6573682048656967A9 -:10DB740068743A20002A2A2A6B696C6C2A2A2A00C3 -:10DB840059003D3D6F6E5072696E7454696D6572D3 -:0CDB94005061757365643D3D00205A002F -:00000001FF diff --git a/CRX_Stock_DualFil_DW3.hex b/CRX_Stock_DualFil_DW3.hex deleted file mode 100644 index e6bc6c4934..0000000000 --- a/CRX_Stock_DualFil_DW3.hex +++ /dev/null @@ -1,9146 +0,0 @@ -:100000000C94FE190C942F1A0C942F1A0C942F1A7E -:100010000C942F1A0C942F1A0C942F1A0C942F1A3C -:100020000C942F1A0C942F1A0C942F1A0C942F1A2C -:100030000C942F1A0C942F1A0C942F1A0C942F1A1C -:100040000C942F1A0C94999B0C942F1A0C942F1A21 -:100050000C942F1A0C942F1A0C9438900C945AFE6E -:100060000C942F1A0C9465550C945B550C942F1A14 -:100070000C942F1A0C942F1A0C942F1A0C942F1ADC -:100080000C942F1A0C942F1A0C942F1A0C942F1ACC -:100090000C942F1A0C942F1A0C942F1A0C942F1ABC -:1000A0000C942F1A0C942F1A0C942F1A0C942F1AAC -:1000B0000C942F1A0C942F1A0C942F1A0C942F1A9C -:1000C0000C942F1A0C942F1A0C942F1A0C94095874 -:1000D0000C94DF570C942F1A0C942F1A0C942F1A8F -:1000E0000C942F1ADE1B241C2A1C511C5E1C671C3E -:1000F000721C38244A2527265A263032303275277A -:100100001628262530323032B5294F2B872B303236 -:10011000AD2D30323032FD2E30323032872FBA2FB3 -:1001200030328830433198559E55B055C055C8552A -:10013000F555CC55F555D055D455F555D855DC5514 -:10014000E055E855F555F255F25EF55EE45EE85E81 -:10015000EE5E2C5FF95EFD5E035F075F0B5F115F74 -:10016000155F195F2C5F1F5F235F275FF567FA67D5 -:10017000FF67096813688C681D6825682D683768F3 -:1001800041684B685A6864688C686E6878688268F1 -:100190001FA641A661A686A6ABA662A8D0A6F3A616 -:1001A00016A73BA760A785A7AAA7CFA762A8F4A711 -:1001B00019A83EA8F0A9F3A9F7A9FAA9FDA927AAA9 -:1001C00001AA04AA08AA0BAA0EAA12AA15AA18AA7A -:1001D00027AA1CAA1FAA22AA084AD73B3BCE016E17 -:1001E00084BCBFFDC12F3D6C74319ABD56833DDA8E -:1001F0003D00C77F11BED9E4BB4C3E916BAAAABE9D -:10020000000000803F05A84CCDB2D44EB93836A9C5 -:10021000020C50B9918688083CA6AAAA2ABE000002 -:1002200000803F000C94671C0C940EAA0C94B055EF -:100230000C9462A80D9411070C94F5550C945A680F -:100240000C94F3A60C94721C0C94ABA60C9485A78A -:100250000C9418AA0C9401AA0C9441680C946E6832 -:100260000C94115F0C940BAA0C94D0550C941CAAFE -:100270000C94FF670C9443310C94CFA70C94F0A915 -:100280000C94FD5E0C9498550C94D0A60C94786850 -:100290000C945A560C94872F0C9425680C94AAA79A -:1002A0000D946F090C94F25E0C942A1C0C94EE5E73 -:1002B0000C9438240C94195F0C949E550C9412AA3B -:1002C0000C9475270C94B9560C9416A70C94CC5525 -:1002D0000C9408AA0C94AB560C9419A80C94BA2F41 -:1002E0000C94F4A70C9404AA0C941FA60C94AD2DA6 -:1002F0000C9486A60C94F3A90C94511C0C941F5FCB -:100300000C94D8550C94F1560C94075F0C9441A6AC -:100310000C94FA670C945E1C0C94E8550C94241C05 -:100320000C943E570C9488560C94FDA90C941368B9 -:100330000C94B5290C94E45E0C94C8550C944B684D -:100340000C9427260C94D4550C94155F0C9427AA72 -:100350000C94872B0C941D680C9464680C940968A9 -:100360000C94DC550C94DE1B0C94F2550C944A252D -:100370000C9461A60C94F7A90C9415AA0C94035F35 -:100380000C9497560C94275F0C94E0550C9460A73E -:100390000C94F55E0C945A260C944F2B0C9430322E -:1003A0000C941FAA0C94F5670C940B5F0C942D68A9 -:1003B0000C94C0550C942C5F0C9437680C9422AAB2 -:1003C0000C9482680C943EA80C94F95E0C943BA7A4 -:1003D0000C9416280C9488300C94FAA90C94235F82 -:1003E0000C94FD2E0C9426250C948C680C94E85EDD -:1003F0004E414E494E495459494E46CDCCCC3D0A0A -:10040000D7233C17B7D13877CC2B329595E6241FEC -:10041000B14F0A000020410000C84200401C4620A5 -:10042000BCBE4CCA1B0E5AAEC59D7400407A10F378 -:100430005A00A0724E18090010A5D4E80000E87612 -:1004400048170000E40B54020000CA9A3B00000069 -:10045000E1F505000080969800000040420F000082 -:1004600000A08601000000102700000000E8030043 -:100470000000006400000000000A0000000000010D -:1004800000000000002C76D888DC674F0823DFC10D -:10049000DFAE59E1B1B796E5E3E453C63AE65199C8 -:1004A0007696E8E6C28426EB898C9B62ED407C6FF1 -:1004B000FCEFBC9C9F40F2BAA56FA5F490055A2AA8 -:1004C000F75C936B6CF9676DC11BFCE0E40D47FEB4 -:1004D000F520E6B500D0ED902E03009435770500A9 -:1004E00080841E080000204E0A000000C80C333330 -:1004F00033330F986E12831141EF8D2114893BE63F -:100500005516CFFEE6DB18D1844B381BF77C1D90C7 -:100510001DA4BBE424203284725E228100C9F12430 -:10052000ECA1E53D274D323520500A4D32340050C4 -:1005300072696E74205061757365640052657375DD -:100540006D65005549205061757365004E6F204DF3 -:1005500061746368203A004D333033452D31533692 -:1005600035433455004D393939004D3530320A4D57 -:10057000353030004D333033453053323135433828 -:1005800055000A202A2A2A7265636461742E646108 -:1005900074615B305D203D004732380A47312046A8 -:1005A00031303030205A313000556E737570706FB5 -:1005B00072746564204F7074696F6E2053656C654A -:1005C000637465640047323800473120463130306B -:1005D00030205A302E30004732380A473120463119 -:1005E000303030205A302E30004D353030005A2017 -:1005F0004F6666736574203A202573004D353030A0 -:10060000005A204F6666736574203A2025730047B0 -:1006100032385A0A473146313530305A302E3000A0 -:100620004732380A473146313530305A302E3000A3 -:100630004D383400473146313030305A302E30009A -:100640004732380A473146313030305A302E300088 -:100650005A204F6666736574203A202573004D3525 -:100660003030004D383400426567696E53776974E5 -:100670006368007265636461742E61646472203D16 -:100680003D007265636461742E646174615B305D0A -:10069000203D3D0077616974776179203D3D000A16 -:1006A000202A2A2A4E6F7A7A6C6554656D705374CD -:1006B000617475735B325D203D00434F4D4D554E67 -:1006C00049434154494F4E0044525952554E0045FA -:1006D00052524F525300494E464F004543484F0037 -:1006E00047322F47332062616420706172616D650B -:1006F000746572730A00536C6565702E2E2E004867 -:100700006F6D652058592046697273740A00486FEE -:100710006D6520585920466972737400206F6620F9 -:10072000004D424C2047323920706F696E742000B2 -:10073000290A004A206F7574206F662072616E6707 -:10074000652028302D00290A0049206F7574206F1C -:10075000662072616E67652028302D004D657368D4 -:100760002070726F62696E6720646F6E652E0A007A -:100770005374617274206D6573682070726F626962 -:100780006E672077697468202247323920533122FE -:100790002066697273742E0A004732380A4732396C -:1007A00020533200686173206E6F20646174612E83 -:1007B0000A004D65736820426564204C6576656C5F -:1007C000696E67200053206F7574206F6620726118 -:1007D0006E67652028302D35292E0A004D65736817 -:1007E00020706F696E742063616E6E6F7420626535 -:1007F000207265736F6C7665640A004D302F31206E -:10080000427265616B2043616C6C656400436F6E7E -:1008100074696E7565004D302F3120427265616BD1 -:100820002043616C6C6564004E6F204D6F76652EC1 -:1008300000456E642066696C65206C6973740A00FB -:10084000426567696E2066696C65206C6973740A1D -:1008500000526573756D6520534400286E6F2066E5 -:10086000696C65290043757272656E742066696CE7 -:10087000653A20002E0A0044656C6574696F6E202D -:100880006661696C65642C2046696C653A20004697 -:10089000696C652064656C657465643A00507269C2 -:1008A0006E742074696D653A20000A537461747324 -:1008B0003A2046696C616D656E7420757365643AA3 -:1008C00020002C204C6F6E67657374206A6F623A4B -:1008D0002000546F74616C2074696D653A20005378 -:1008E000746174733A20002C204661696C65643A27 -:1008F00020002C2046696E69736865643A200050B8 -:1009000072696E74733A200053746174733A2000F4 -:100910006F666600DB06D606CF06C806BA064445F3 -:100920004255473A004D313133205300426564202F -:10093000436F6F6C696E672E2E2E004265642048EF -:10094000656174696E672E2E2E006F6B00434841FF -:100950004D4245525F54454D5045524154555245C4 -:10096000004D4F54494F4E5F4D4F4445530054483E -:1009700045524D414C5F50524F54454354494F4EA0 -:10098000004155544F5245504F52545F53445F53AA -:1009900054415455530050524F4D50545F5355508D -:1009A000504F525400454D455247454E43595F50B4 -:1009B000415253455200434153455F4C49474854C7 -:1009C0005F4252494748544E45535300544F47479E -:1009D0004C455F4C494748545300534F4654574188 -:1009E00052455F504F574552004255494C445F5065 -:1009F000455243454E54004C4556454C494E475F81 -:100A000044415441005A5F50524F424500415554B1 -:100A10004F4C4556454C005052494E545F4A4F4248 -:100A20000050524F4752455353004155544F524581 -:100A3000504F52545F54454D5000564F4C554D4504 -:100A40005452494300454550524F4D0042494E4192 -:100A500052595F46494C455F5452414E53464552A8 -:100A60000053455249414C5F584F4E5F584F4646E0 -:100A7000004649524D574152455F4E414D453A4D12 -:100A800061726C696E20322E305F44573320544DB2 -:100A900033442053534D444E4E20534F55524345FB -:100AA0005F434F44455F55524C3A68747470733AD3 -:100AB0002F2F6769746875622E636F6D2F496E738F -:100AC000616E6974794175746F6D6174696F6E2FB1 -:100AD0004D61726C696E2F747265652F437265612A -:100AE0006C6974795F4D61726C696E322E302E784C -:100AF0002050524F544F434F4C5F56455253494F2D -:100B00004E3A312E30204D414348494E455F5459AD -:100B100050453A544D33442043522D5820455854A3 -:100B200052554445525F434F554E543A3220555525 -:100B300049443A63656465326132662D343161320D -:100B40002D343734382D396231322D6335356336E3 -:100B5000326633363766660A002F2F200020540095 -:100B6000205200416363656C65726174696F6E3A0F -:100B700020500020466C6F773A200050726F7465E9 -:100B8000637465642050696E0A00496E76616C6911 -:100B9000642065787472756465720A0020643A0096 -:100BA00020693A0020703A0020643A0020693A0037 -:100BB00020703A0064697300656E0043290A006181 -:100BC000626C656420286D696E2074656D7020000C -:100BD000436F6C642065787472756465732061720C -:100BE00065200046696C616D656E742072756E6F6C -:100BF00075742064697374616E636520286D6D2956 -:100C00003A200046696C616D656E742072756E6F76 -:100C1000757420004F666673657473204170706C44 -:100C2000696564004572723A20546F6F2066617284 -:100C30002100546F6F206661722066726F6D2072A2 -:100C400065666572656E636520706F696E740A0013 -:100C5000454550524F4D204F4B0A00416476616E1E -:100C60006365204B003F4B2076616C7565206F7586 -:100C700074206F662072616E67652028302D3130D8 -:100C8000292E0A003F542076616C7565206F7574BB -:100C9000206F662072616E67652E0A004572726F62 -:100CA000722077726974696E6720746F20454550B1 -:100CB000524F4D210A00363726033C3D380E2E3068 -:100CC0003E121A1C1824221E08440AFF4308090772 -:100CD0000001627573793A207061757365642066EE -:100CE0006F7220696E7075740A00627573793A20AC -:100CF00070617573656420666F7220757365720A22 -:100D000000627573793A2070726F63657373696EF0 -:100D1000670A007061757365004D363030200A2017 -:100D20004D313137200A002066696C616D656E7443 -:100D30005F72756E6F7574200066696C616D656EAB -:100D4000745F72756E6F757420540046696C616DC6 -:100D5000656E7452756E6F757420540053544F5005 -:100D60005045442E20005072696E74657220737471 -:100D70006F707065642064756520746F2065727291 -:100D80006F72732E204669782074686520657272D0 -:100D90006F7220616E6420757365204D393939207A -:100DA000746F20726573746172742E202854656D9F -:100DB0007065726174757265206973207265736500 -:100DC000742E2053657420697420616674657220E6 -:100DD00072657374617274696E67290A004E6F20C0 -:100DE000436865636B73756D2077697468206C69FF -:100DF0006E65206E756D6265722C204C6173742077 -:100E00004C696E653A20004E6F20436865636B73D2 -:100E1000756D2077697468206C696E65206E756DDC -:100E20006265722C204C617374204C696E653A20A7 -:100E300000636865636B73756D206D69736D6174B4 -:100E400063682C204C617374204C696E653A2000F5 -:100E50004C696E65204E756D626572206973206EF7 -:100E60006F74204C617374204C696E65204E756DF3 -:100E70006265722B312C204C617374204C696E6555 -:100E80003A20004D31313000776169740A004D31EC -:100E90003137004D33310053442072656164206561 -:100EA00072726F720A00446F6E65207072696E74A0 -:100EB000696E672066696C650A004B494C4C20637B -:100EC000617573656420627920746F6F206D75633E -:100ED0006820696E6163746976652074696D652048 -:100EE0002D2063757272656E7420636F6D6D616E17 -:100EF000643A20002020506C616E6E657242756607 -:100F000066657242797465733A20002046726565A1 -:100F1000204D656D6F72793A2000436F6D70696C7A -:100F200065643A2053657020203820323031390A08 -:100F300000207C20417574686F723A2054696E7984 -:100F40004D616368696E657333440A00323031392C -:100F50002D30372D333000204C6173742055706470 -:100F6000617465643A2000322E305F4457330A00C2 -:100F70004D61726C696E0020536F667477617265A3 -:100F80002052657365740A00205761746368646F4A -:100F9000672052657365740A002042726F776E2075 -:100FA0006F75742052657365740A00204578746506 -:100FB000726E616C2052657365740A00506F7765BC -:100FC0007255700A0073746172740A006175746FEF -:100FD00025632E67006572726F722077726974697B -:100FE0006E6720746F2066696C650A00446F6E65D9 -:100FF00020736176696E672066696C652E0A004D04 -:10100000323900205A3A0020593A0020583A0065F7 -:101010006E6473746F7073206869743A200047328D -:101020003858590043616E6E6F74206F70656E2082 -:101030007375626469722000534420636172642096 -:101040006F6B0A006F70656E526F6F742066616916 -:101050006C65640A00766F6C756D652E696E6974D7 -:10106000206661696C65640A00534420696E697486 -:10107000206661696C0A004D3234004D3233202500 -:10108000730057726974696E6720746F2066696CAB -:10109000653A20002E0A006F70656E206661696CEB -:1010A00065642C2046696C653A20002E0A006F703A -:1010B000656E206661696C65642C2046696C653AD2 -:1010C000200046696C652073656C65637465640A0D -:1010D000002053697A653A200046696C65206F707C -:1010E000656E65643A2000667265736800646F69B6 -:1010F0006E67002066696C653A20004E6F772000AD -:10110000454E4420535542524F5554494E450A00CE -:101110002220706F73002220706172656E743A2213 -:1011200000535542524F5554494E452043414C4C73 -:10113000207461726765743A2200747279696E670F -:1011400020746F2063616C6C207375622D67636F10 -:1011500064652066696C6573207769746820746FB4 -:101160006F206D616E79206C6576656C732E204DF5 -:101170004158206C6576656C2069733A310A0053DA -:1011800044207072696E74696E672062797465209C -:10119000004E6F74205344207072696E74696E67DC -:1011A0000A0000002100240027002A002D00300042 -:1011B000330001010000040107010A0100002200C0 -:1011C000250028002B002E00310034000201000011 -:1011D000050108010B010000200023002600290062 -:1011E0002C002F003200000100000301060109015C -:1011F00005050505070508080808020202020A0A93 -:1012000008080404040401010101010101010303B0 -:10121000030303030303040707070C0C0C0C0C0C5B -:101220000C0C0202020206060606060606060B0B58 -:101230000B0B0B0B0B0B0102102020080810204099 -:10124000102040800201020108040201010204088A -:101250001020408080402010080402018004020118 -:101260008040201008040201080402010102040861 -:1012700010204080010204081020408000000A0B6A -:1012800002090C0D0E080703040100000000000015 -:10129000000000000000000000000000000000004E -:1012A000000000000000000012111000000000000B -:1012B000000000000000000000000000000000002E -:1012C0000000473238002046697273740A00486F84 -:1012D0006D652000486F6D6520257325732573208B -:1012E000466972737400220A00556E6B6E6F776EDA -:1012F00020636F6D6D616E643A20220020746F6F01 -:10130000206C6F6E6720657874727573696F6E20DC -:1013100070726576656E7465640A0020636F6C6434 -:1013200020657874727573696F6E2070726576656A -:101330006E7465640A0057616974696E6720666F30 -:1013400072206865617475702E0A004C656176695B -:101350006E6720473236003F537065636966696582 -:101360006420582C5920636F6F7264696E617465D4 -:10137000206F7574206F6620626F756E64732E0A1D -:10138000003F28522965706561742076616C75652F -:10139000206E6F7420706C61757369626C653B20A0 -:1013A0006D757374206265206174206C656173745F -:1013B00020312E0A003F2852296570656174206D26 -:1013C000757374206265207370656369666965640E -:1013D000207768656E206E6F74207573696E672064 -:1013E000616E204C43442E0A003F5370656369666A -:1013F000696564206E6F7A7A6C652074656D7065BE -:10140000726174757265206E6F7420706C61757393 -:1014100069626C652E0A003F537065636966696591 -:10142000642066696C616D656E742073697A6520ED -:101430006E6F7420706C61757369626C652E0A0042 -:101440003F537065636966696564207072696D6594 -:10145000206C656E677468206E6F7420706C6175A7 -:101460007369626C652E0A003F5072696D65206C6D -:10147000656E677468206D75737420626520737083 -:1014800065636966696564207768656E206E6F7450 -:10149000207573696E6720616E204C43442E0A00EC -:1014A0003F537065636966696564206E6F7A7A6C14 -:1014B000652073697A65206E6F7420706C61757336 -:1014C00069626C652E0A003F5265747261637469CB -:1014D0006F6E204D756C7469706C696572206D75E6 -:1014E0007374206265207370656369666965642E34 -:1014F0000A003F53706563696669656420526574CC -:1015000072616374696F6E204D756C7469706C697B -:101510006572206E6F7420706C61757369626C65A2 -:101520002E0A003F537065636966696564206C61CB -:1015300079657220686569676874206E6F742070C1 -:101540006C61757369626C652E0A0043292E0A006E -:101550003F537065636966696564206265642074E1 -:10156000656D7065726174757265206E6F74207040 -:101570006C61757369626C65202834302D004732C8 -:1015800036207374617274696E672E2E2E0A0045C0 -:101590003120544845524D414C2052554E415741FF -:1015A000590042454420544845524D414C20525523 -:1015B0004E4157415900546865726D616C205275F7 -:1015C0006E61776179004531204572723A204D4154 -:1015D0005854454D50004572723A204D415854457B -:1015E0004D5020424544004D415854454D502074C3 -:1015F0007269676765726564004531204572723AA9 -:10160000204D494E54454D50004572723A204D4987 -:101610004E54454D5020424544004D494E54454D91 -:101620005020747269676765726564000A0A002059 -:10163000205A5F4D494E3A002020595F4D494E3A9D -:10164000002020585F4D494E3A004D383420582034 -:1016500059205A204500202F002042403A002040C7 -:101660003A004520436F6F6C696E672E2E2E004541 -:101670002048656174696E672E2E2E0020573A004F -:1016800020573A00496E76616C69642065787472FF -:10169000756465720A0041637469766520457874E3 -:1016A00072756465723A2000486F74656E642074C8 -:1016B0006F6F20636F6C640A007C3C3E5E2B3D3F85 -:1016C0002F5B5D3B2C2A225C0024F4D43050C38E67 -:1016D00020C2A24017828B7011127A910D816CD9B1 -:1016E0000AA861E108C7586607615143061E4B5DB1 -:1016F00005C145A7041A411104093D980371393108 -:10170000034036DB0265339102D4305402802E1D33 -:1017100002632CEE01752AC501B028A001102781B3 -:10172000018F2564012B244B01E0223401AC211FE1 -:10173000018D200D01801FFC00841EED00971DDF30 -:1017400000B81CD200E61BC600201BBC00641AB205 -:1017500000B219A8000A19A0006A189900D11791BF -:101760000040178B00B516840031167E00B3157942 -:10177000003A157300C7146F0058146A00EE136620 -:10178000008813630025135E00C7125B006C1257BC -:101790000015125400C111510070114F0021114B5E -:1017A00000D61049008D1047004610440002104238 -:1017B00000C00F4000800F3E00420F3C00060F3B70 -:1017C00000CB0E3800930E37005C0E3500270E3428 -:1017D00000F30D3200C10D3100900D3000600D2E70 -:1017E00000320D2D00050D2C00D90C2B00AE0C295C -:1017F00000850C29005C0C2700350C27000E0C26F8 -:1018000000E80B2400C40B2400A00B23007D0B2355 -:10181000005A0B2100390B2100180B2000F80A1F79 -:1018200000D90A1E00BB0A1E009D0A1D00800A1D69 -:1018300000630A1C00470A1B002C0A1B00110A1A2D -:1018400000F7091A00DD091900C4091900AB0919CC -:1018500000920917007B091800630917004C09164C -:101860000036091600200916000A091500F50815AA -:1018700000E0081400CC081400B8081400A40814F0 -:1018800000900813007D0812006B0813005808121E -:101890000046081200340811002308110012081134 -:1018A0000001081100F0071000E0071000D0071039 -:1018B00000C0071000B0070F00A107100091070E2D -:1018C0000083070F0074070F0065070E0057070E0F -:1018D0000049070E003B070D002E070E0020070DE4 -:1018E0000013070D0006070D00F9060C00ED060DAC -:1018F00000E0060C00D4060C00C8060C00BC060C68 -:1019000000B0060C00A4060B0099060C008D060B17 -:101910000082060B0077060B006C060B0061060ABE -:101920000057060B004C060A0042060A0038060A59 -:10193000002E060A0024060A001A060A00100609EC -:101940000007060A00FD050900F4050900EB05097A -:1019500000E2050900D9050900D0050900C70509FD -:1019600000BE050900B5050800AD050800A505097C -:10197000009C050800940508008C050800840508F3 -:10198000007C050800740508006C05070065050863 -:10199000005D050700560508004E050700470507CE -:1019A000004005080038050700310507002A050733 -:1019B00000230507001C050600160507000F050794 -:1019C000000805060002050700FB040600F50407F1 -:1019D00000EE040600E8040600E2040700DB04064B -:1019E00000D5040600CF040600C9040600C304069F -:1019F00000BD040600B7040600B1040500AC0406EF -:101A000000A6040600A00405009B0406009504053A -:101A100000900406008A0405008504050080040681 -:101A2000007A04050075040500700405006B0405C8 -:101A30000066040500610405005C04050057040508 -:101A400000520405004D0405004804050043040548 -:101A5000003E0404003A0405003504050030040487 -:101A6000002C04050027040400230405001E0404C0 -:101A7000001A04040016040500110404000D0404F7 -:101A800000090405000404040000040400FC03042D -:101A900000F8030400F4030400F0030400EC030462 -:101AA00000E8030400E4030400E0030400DC030492 -:101AB00000D8030400D4030400D0030400CC0304C2 -:101AC00000C8030300C503030024F404D9201BC489 -:101AD0000C5C0E9804C4095F0265077101F405F9F6 -:101AE00000FB04B30048048700C103690058035594 -:101AF0000003034500BE023A008402310053022A6B -:101B0000002902250004022000E4011C00C801197C -:101B100000AF011700980114008401130071011037 -:101B2000006101100051010E0043010D0036010B50 -:101B3000002B010B0020010B00150109000C01090D -:101B40000003010800FB000800F3000800EB000799 -:101B500000E4000600DE000600D8000600D2000601 -:101B600000CC000500C7000500C2000500BD000450 -:101B700000B9000400B5000400B1000400AD000489 -:101B800000A9000400A5000300A20003009F0004B8 -:101B9000009B0003009800030095000200930003DF -:101BA00000900003008D0002008B000300880002FB -:101BB000008600020084000300810002007F000212 -:101BC000007D0002007B0002007900020077000126 -:101BD0000076000200740002007200010071000231 -:101BE000006F0002006D0001006C0002006A00013D -:101BF0000069000200670001006600010065000145 -:101C00000064000200620001006100010060000148 -:101C1000005F0002005D0001005C0001005B00014C -:101C2000005A00010059000100580001005700014E -:101C3000005600010055000100540001005300004F -:101C4000005300010052000100510001005000014A -:101C5000004F0001004E0000004E0001004D000149 -:101C6000004C0001004B0000004B0001004A000145 -:101C70000049000100480000004800010047000141 -:101C8000004600000046000100450000004500013C -:101C90000044000100430000004300010042000036 -:101CA000004200010041000000410001004000012D -:101CB000003F0000003F0001003E0000003E000128 -:101CC000003D0000003D0001003C0000003C000021 -:101CD000003C0001003B0000003B0001003A000016 -:101CE000003A00010039000000390001003800000E -:101CF0000038000000380001003700000037000104 -:101D000000360000003600000036000100350000FB -:101D100000350000003500010034000000340000F0 -:101D200000340001003300000033000000330001E4 -:101D300000320000003200000032000100310000DB -:101D400000310000003100010030000000300000D0 -:101D500000300001002F0000002F0000002F0000C5 -:101D6000002F0001002E0000002E0000002E0001B8 -:101D7000002D0000002D0000002D0000002D0001AE -:101D8000002C0000002C0000002C0000002C0001A2 -:101D9000002B0000002B0000002B0000002B000196 -:101DA000002A0000002A0000002A0000002A00018A -:101DB000002900000029000000290000002900007F -:101DC0000029000100280000002800000028000071 -:101DD0000028000000280001002700000027000064 -:101DE0000027000000270000002700010026000057 -:101DF000002600000026000000260000002600014A -:101E0000002500000025000000250000002500003E -:101E1000002500000025000100240000002400002F -:101E20000024000000240000002400010023000022 -:101E30000023000000230000002300000023000016 -:101E40000023000000230001002200000022000007 -:101E500000220000002200000022000000220001F9 -:101E600000210000002100000021000000210000EE -:101E700000210000002100000021000100200000DE -:101E800000200000002000000020000000200000D2 -:101E9000002000000020000000200001001F0000C2 -:101EA000001F0000001F0000001F0000001F0000B6 -:101EB000001F0000001F0001001E0000001E0000A7 -:101EC000001E0000001E000000C23100001C2600A1 -:101ED00000F4190000D80F0000EB080000C0040057 -:101EE0000075020000400100005A5F53544F505FDC -:101EF00050494E005A5F535445505F50494E005A66 -:101F00005F4D494E5F50494E005A5F454E41424C2D -:101F1000455F50494E005A5F4449525F50494E0058 -:101F20005A5F43535F50494E00595F53544F505FBF -:101F300050494E00595F535445505F50494E005927 -:101F40005F4D494E5F50494E00595F454E41424CEE -:101F5000455F50494E00595F4449525F50494E0019 -:101F6000595F43535F50494E00585F53544F505F81 -:101F700050494E00585F535445505F50494E0058E9 -:101F80005F4D494E5F50494E00585F454E41424CAF -:101F9000455F50494E00585F4449525F50494E00DA -:101FA000585F43535F50494E0053535F50494E00B2 -:101FB000534552564F335F50494E00534552564F8A -:101FC000325F50494E00534552564F315F50494E93 -:101FD00000534552564F305F50494E0053445353BF -:101FE0000053445F4445544543545F50494E0053A9 -:101FF000434B5F50494E0052414D50535F44395F4F -:1020000050494E0052414D50535F44385F50494E45 -:102010000052414D50535F4431305F50494E004DA6 -:102020004F53495F50494E004D4F534645545F440E -:102030005F50494E004D49534F5F50494E004D414E -:1020400058363637355F53535F50494E004C454440 -:102050005F50494E004845415445525F4245445FF8 -:1020600050494E004845415445525F305F50494EFB -:102070000046494C5F52554E4F5554325F50494EC1 -:102080000046494C5F52554E4F55545F50494E00E3 -:1020900046414E315F50494E0046414E5F50494ED9 -:1020A0000045315F535445505F50494E0045315F04 -:1020B000454E41424C455F50494E0045315F4449D1 -:1020C000525F50494E0045315F43535F50494E00C7 -:1020D00045305F535445505F50494E0045305F4591 -:1020E0004E41424C455F50494E0045305F44495295 -:1020F0005F50494E0045305F43535F50494E0045A5 -:102100005F4D5558325F50494E00455F4D5558312F -:102110005F50494E00455F4D5558305F50494E0065 -:102120004156525F53535F50494E004156525F53E0 -:10213000434B5F50494E004156525F4D4F53495FEC -:1021400050494E004156525F4D49534F5F50494EE2 -:102150000054454D505F4245445F50494E00544540 -:102160004D505F315F50494E0054454D505F305FD8 -:1021700050494E0046494C57494454485F50494ED7 -:10218000005458440052584400546F6F6C636861A7 -:102190006E67653A0020204D32313700205A00200A -:1021A00059002058002052002050002045002053A4 -:1021B0000050574D3A20202534640050574D3A20A6 -:1021C000202534640050574D3A20202534640050B7 -:1021D000574D3A20202534640050574D3A20202591 -:1021E00034640050574D3A20202534640050574D38 -:1021F0003A20202534640050574D3A20202534647D -:102200000050574D3A20202534640050574D3A2055 -:10221000202534640050574D3A2020253464005066 -:10222000574D3A20202534640050574D3A20202540 -:1022300034640050574D3A20202534640050574DE7 -:102240003A20202534640050574D3A20202534642C -:1022500000433A2000423A2000413A20002020204A -:1022600020434F4D002020206E6F6E2D7374616EE1 -:10227000646172642050574D206D6F6465002020AA -:1022800020636F6D7061726520696E74657272751E -:10229000707420656E61626C6564002020206F762A -:1022A0006572666C6F7720696E7465727275707492 -:1022B00020656E61626C6564003A20002020202059 -:1022C00054494D534B00423A2000202020205443D3 -:1022D000435200413A200020202020544343520022 -:1022E0002020202043533A20002020202057474D13 -:1022F0003A200050574D3A20202534640050574D65 -:102300003A20202534640047004800000088008AF5 -:10231000008C00B300B400000098009A009C00A854 -:1023200000AA00AC0028012A012C01202020205402 -:10233000494D455200440045006E00800081006F09 -:1023400000B000B1007000900091007100A000A1E9 -:1023500000720020012101730020697320616C73F9 -:102360006F207469656420746F20746869732070CD -:10237000696E0054494D45523143000A202E002019 -:1023800020002020506F72743A200020202000206E -:102390002020416E616C6F6720696E203D202535DD -:1023A0006C64003C756E757365642F756E6B6E6F33 -:1023B000776E3E00202841253264292020002533F5 -:1023C000642000257350494E3A20004F7574707593 -:1023D00074203D2000496E70757420203D2000411E -:1023E0006E616C6F6720696E203D2025356C64003E -:1023F00070726F7465637465642000202841253213 -:1024000064292020002533642000257350494E3A6A -:102410002000852100018121010174213B006921F7 -:1024200043005E21450051214400442132013721FF -:1024300033012B21340120213501152128010A21E6 -:102440002A01FF202C01F5202A01EA201C01DC20B2 -:102450001801D0201A01C6202C01BB202201AD207A -:102460001E01A1202401992009019020070181204B -:10247000020171200F0164200A01552008014D203E -:102480000D013E20420135203201282007011F2086 -:10249000330111200A0104200801F71F0901EF1F71 -:1024A0003401E11F3101DC1F3501D11F0B01C61FB3 -:1024B0000601BB1F0501B01F0401A91F3501A01FA4 -:1024C0003501961F3701891F26017F1F0301741FE5 -:1024D0003601691F0301601F3101561F3D01491F6D -:1024E00038013F1F0E01341F3C01291F0E01201F20 -:1024F0002801161F3001091F3E01FF1E1201F41EA4 -:102500002E01E91E1201446F6E652E0A00534552DA -:10251000564F206E6F74207365742075702E0A00FC -:102520004D343320576169742043616C6C656400DD -:10253000436F6E74696E7565004D34332057616961 -:10254000742043616C6C6564005761746368696EE4 -:10255000672070696E730A0064697300656E0061BC -:10256000626C65640A00656E6473746F70206D6FD1 -:102570006E69746F722000204500205A00205900B7 -:10258000204D39322058004F4646004F4E00205A09 -:1025900000205900580020204D61783A2000205A30 -:1025A00000205900580020204D696E3A2000536FDA -:1025B000667420656E6473746F70733A200057619F -:1025C000726E696E67203A20436C65616E204369C4 -:1025D00072636C65207265717569726573205859F4 -:1025E0000A0020496E76616C6964206578747275A2 -:1025F00064657220006563686F3A004572726F729D -:102600003A000A4D6561737572656420706F696E7A -:1026100074733A0A002F2F616374696F6E3A006217 -:102620007574746F6E00656E640070726F6D707497 -:102630005F0073686F77004D3837362052657370CE -:102640006F6E64696E672050524F4D50545F005555 -:102650004E4B4E4F574E2053544154450047434F25 -:1026600044455F494E464F004C43445F50415553EB -:10267000455F524553554D450046494C414D454EE9 -:10268000545F52554E4F55545F434F4E54494E552B -:10269000450046494C414D454E545F52554E4F55AD -:1026A00054004D323400436F6E74696E756500449A -:1026B000697361626C6552756E6F757400507572E6 -:1026C0006765204D6F7265005061757365640070B9 -:1026D000617573656400486F74656E6420746F6F14 -:1026E00020636F6C640A00506175736500507265F9 -:1026F000737320627574746F6E20286F72204D3171 -:1027000030382920746F20726573756D650A004931 -:102710006E736572742066696C616D656E7420619C -:102720006E6420707265737320627574746F6E20AE -:10273000286F72204D313038290A00436F6E74695A -:102740006E75650052656865617420446F6E650042 -:10275000526568656174696E672E2E2E0052656839 -:10276000656174696E670048656174657254696D6E -:10277000656F7574005265686561740048656174C1 -:10278000657254696D656F7574005072657373205E -:10279000627574746F6E20286F72204D3130382945 -:1027A00020746F2068656174206E6F7A7A6C650A98 -:1027B000004E6F7A7A6C65205061726B65640043DD -:1027C0006F6E74696E7565004E6F7A7A6C65205015 -:1027D00061726B656400486F74656E6420746F6F1E -:1027E00020636F6C640A00726573756D65640062C6 -:1027F0006567696E00436F6E74696E756500446944 -:102800007361626C6552756E6F7574005075726796 -:10281000654D6F726500506175736564004C6F6142 -:10282000642046696C616D656E7400436F6E7469F7 -:102830006E7565004C6F61642046696C616D656EF4 -:1028400074205400496E736572742066696C616D02 -:10285000656E7420616E642070726573732062759A -:1028600074746F6E20286F72204D313038290A0041 -:10287000526573756D6500526573656E643A20002C -:1028800043616E6E6F74206F70656E207375626445 -:10289000697220002569730025696D202569730020 -:1028A0002569682025696D202569730025696420E4 -:1028B0002569682025696D202569730025697920BF -:1028C000256964202569682025696D2025697300C4 -:1028D00023646566696E652044454641554C545FE6 -:1028E0000000626564004B6420004B6920004B705F -:1028F0002000504944204175746F74756E652066E0 -:10290000696E697368656421205075742074686508 -:10291000206C617374204B702C204B6920616E64B5 -:10292000204B6420636F6E7374616E7473206672E3 -:102930006F6D2062656C6F7720696E746F20436FD6 -:102940006E66696775726174696F6E2E680A0050F1 -:102950004944204175746F74756E65206661696CB9 -:102960006564212074696D656F75740A00453120B6 -:10297000544845524D414C2052554E415741590003 -:1029800042454420544845524D414C2052554E41F9 -:1029900057415900546865726D616C2052756E61C3 -:1029A0007761790045312048656174696E6720461A -:1029B00061696C6564004265642048656174696E94 -:1029C00067204661696C65640048656174696E677B -:1029D000206661696C656400504944204175746FDC -:1029E00074756E65206661696C6564212054656D3F -:1029F000706572617475726520746F6F20686967A5 -:102A0000680A00204B643A2000204B693A200020DD -:102A10004B703A20000A20436C6173736963205045 -:102A20004944200A00204B643A2000204B693A2098 -:102A300000204B703A20000A204E6F206F7665729E -:102A400073686F6F740A002054753A2000204B752C -:102A50003A2000206D61783A2000206D696E3A209E -:102A60000020643A200020626961733A20005049D6 -:102A700044204175746F74756E652073746172744F -:102A80000A00504944204175746F74756E65206664 -:102A900061696C6564212054656D7065726174753F -:102AA000726520746F6F20686967680A0050494436 -:102AB000204175746F74756E65206661696C65641C -:102AC0002120426164206578747275646572206E9D -:102AD000756D6265720A004469666665723A200027 -:102AE00046726F6D5374703A0053746570706572FE -:102AF0003A00556E4C6576656C3A004C6576656CAF -:102B000065643A005261773A20202020000A4C6F19 -:102B1000676963616C3A004361703A00220A00659C -:102B20006E7175657565696E672022002042002010 -:102B300050006F6B00544D33442043522D582052A7 -:102B4000656164792E005072696E74696E672E2E0D -:102B50002E005072696E7420506175736564006355 -:102B6000616E63656C005072696E742041626F72B1 -:102B70007465640055492041626F72740072657318 -:102B8000756D65004D323400290A00206279746544 -:102B9000733B20637263200053657474696E6773BE -:102BA0002053746F7265642028000000000000004C -:102BB0000000000000000000484200004842000001 -:102BC00080405761726E696E673A20486F6D696E1A -:102BD000672042756D702044697669736F72203C7E -:102BE00020310A000202040000A0400000A04000C2 -:102BF00000004000009643000096430000C843FFD9 -:102C0000FFFF6F70656E0054524947474552454477 -:102C1000003A200066696C616D656E74007A5F6DC4 -:102C2000696E00795F6D696E00785F6D696E005244 -:102C300065706F7274696E6720656E6473746F700F -:102C4000207374617475730A00205A3A0020593A4F -:102C50000020436F756E7420583A0020453A0020DA -:102C60005A3A0020593A00583A00000096430000B2 -:102C700096430000C8430000000000000000000070 -:102C8000000020746F6F206C6F6E6720657874721F -:102C90007573696F6E2070726576656E7465640A0F -:102CA0000020636F6C6420657874727573696F6E51 -:102CB0002070726576656E7465640A0045455052F1 -:102CC0004F4D206461746173697A65206572726F1B -:102CD000722E0A00290A002062797465733B206312 -:102CE000726320002073746F72656420736574745E -:102CF000696E6773207265747269657665642028F1 -:102D000000202863616C63756C6174656429210A15 -:102D10000020213D2000454550524F4D2043524355 -:102D2000206D69736D61746368202D202873746F42 -:102D30007265642920002053697A653A2000496E43 -:102D40006465783A2000204D61726C696E3D56379B -:102D500030290A00454550524F4D207665727369FF -:102D60006F6E206D69736D617463682028454550EE -:102D7000524F4D3D002E0A006F70656E20666169EE -:102D80006C65642C2046696C653A2000706F77652D -:102D9000726F6666004B494C4C45442E20005072C1 -:102DA000696E7465722068616C7465642E206B694D -:102DB0006C6C28292063616C6C6564210A000A2010 -:102DC000696E6974207A70726F62655F7A6F666689 -:102DD000736574203D2000454550524F4D20496E8B -:102DE000697469616C697A65640A00486172646338 -:102DF0006F6465642044656661756C742053657406 -:102E000074696E6773204C6F616465640A00DC0549 -:102E10000000DC050000640000004B000000000022 -:102E2000FA430000FA4300002041000096420000EF -:102E3000A0420000A0420000C8430000BE42202083 -:102E40004D363033200020440020204D34313220D4 -:102E5000530046696C616D656E742072756E6F7596 -:102E6000742073656E736F723A0A00546F6F6C2D25 -:102E70006368616E67696E673A0A002055005431D5 -:102E8000204C002055005430204C0046696C616D88 -:102E9000656E74206C6F61642F756E6C6F61642059 -:102EA0006C656E677468733A0A00204B0020204DF1 -:102EB0003930302054004C696E656172204164766F -:102EC000616E63653A0A0020440020490020204DCD -:102ED00033303420500020440020490020204D335E -:102EE00030312050005049442073657474696E6716 -:102EF000733A0A00205900202047323920533320EA -:102F00005800205A0020204D3432302053004D65A7 -:102F1000736820426564204C6576656C696E673A1B -:102F20000A00205A0020590020204D323036205807 -:102F300000486F6D65206F66667365743A0A0020FD -:102F40004A0020540020530020204D3230352042CA -:102F500000204A3C6A756E635F6465763E0041649A -:102F600076616E6365643A20423C6D696E5F73659D -:102F7000676D656E745F74696D655F75733E205330 -:102F80003C6D696E5F66656564726174653E205470 -:102F90003C6D696E5F74726176656C5F66656564D1 -:102FA000726174653E0020540020520020204D3292 -:102FB0003034205000416363656C65726174696FE1 -:102FC0006E2028756E6974732F7332293A20503C35 -:102FD0007072696E745F616363656C3E20523C720F -:102FE0006574726163745F616363656C3E20543C19 -:102FF00074726176656C5F616363656C3E0A002084 -:103000004500205A0020590020204D3230312058F0 -:10301000004D6178696D756D20416363656C657203 -:103020006174696F6E2028756E6974732F7332290D -:103030003A0A00204500205A0020590020204D3235 -:1030400030332058004D6178696D756D2066656577 -:103050006472617465732028756E6974732F7329A7 -:103060003A0A0053746570732070657220756E693A -:10307000743A0A0020204D3230302044300A0020BB -:10308000204D32303020543120440020204D323049 -:10309000302044002044697361626C65640A004614 -:1030A000696C616D656E742073657474696E6773A5 -:1030B0003A0020286D6D2900202047323120202041 -:1030C000203B20556E69747320696E206D6D004839 -:1030D0006F6D696E67204661696C65640070012CD4 -:1030E0000190012701B0012201C0011D01F001186A -:1030F000011002130130020E016002090190020466 -:1031000001C002FF000003FA004003F5008003F055 -:1031100000D003EB002004E6007004E100E004DCD2 -:10312000004005D700C005D2004006CD00D006C83B -:10313000008007C3003008BE00F008B900C009B421 -:1031400000B00AAF00B00BAA00D00CA500000EA082 -:1031500000500F9B00C01096005012910000148C7C -:1031600000C0158700B0178200B0197D00D01B7811 -:1031700000001E730040206E0090226900F024645D -:103180000040275F0090295A00E02B5500102E5078 -:103190000020304B0010324600E033410090353CB7 -:1031A000001037370070383200A0392D00B03A28AF -:1031B00000A03B2300603C1E00103D1900903D1410 -:1031C00000103E0F00703E0A00C03E0500003F00A8 -:1031D00000403FFBFF803FF6FFC03FF1FF626564A8 -:1031E000002C2073797374656D2073746F70706533 -:1031F0006421204865617465725F49443A20004249 -:1032000065642048656174696E67204661696C6514 -:10321000640048656174696E67206661696C656405 -:103220000042454420544845524D414C2052554E91 -:103230004157415900546865726D616C2052756E3A -:10324000617761790045312048656174696E672056 -:103250004661696C65640048656174696E672066E3 -:1032600061696C656400453120544845524D414CBC -:103270002052554E4157415900546865726D616C3A -:103280002052756E6177617900202D20496E76613C -:103290006C6964206578747275646572206E756DF2 -:1032A00062657220210A001000C90210012C014041 -:1032B00001220170011801B0010E01F0010401505A -:1032C00002FA00B002F0003003E600D003DC009008 -:1032D00004D2007005C800A006BE000008B400B00B -:1032E00009AA00D00BA000600E960060118C0000AF -:1032F00015820020197800C01D6E00A0226400B065 -:10330000275A00902C500000314600E0343C001059 -:10331000383200903A2800603C1E00A03D14008026 -:103320003E0A00203F00004F46460A0046616465A1 -:10333000204865696768742000426564204C6576A2 -:10334000656C696E6720004661696C656420746F06 -:1033500020656E61626C6520426564204C6576650F -:103360006C696E670A004D65736820426564204C85 -:103370006576656C20646174613A0A00496E766115 -:103380006C6964206D6573682E0A00206E6F74206E -:10339000656E74657265642E0A004D6573682070F1 -:1033A0006F696E742063616E6E6F74206265207247 -:1033B00065736F6C7665640A004D34323120696E36 -:1033C000636F727265637420706172616D6574659C -:1033D000722075736167650A003F4A206F7574201B -:1033E0006F662072616E67652028302E3031207440 -:1033F0006F20302E33290A0050011A0111241FBEFC -:10340000CFEFD1E2DEBFCDBF00E00CBF17E0A0E000 -:10341000B2E0E2E7F5E302E00BBF02C007900D92D5 -:10342000AA3EB107D9F72DE1AAEEB7E001C01D927F -:10343000AF38B207E1F719E1CDEFD9E100E006C0FE -:1034400021970109802FFE010F94D616CC3FD1079A -:1034500080E00807A9F70E94A4FE0D94A71A0C9417 -:1034600000002F923F924F925F926F927F928F92C5 -:103470009F92AF92BF92CF92DF92EF92FF920F9303 -:103480001F93CF93DF93CDB7DEB7E3970FB6F894D2 -:10349000DEBF0FBECDBF80910901817091E09827FA -:1034A00020910908921781F190930908811116C0A3 -:1034B0000E94E1588091CC1C83FF09C087EA93E009 -:1034C0000E942E4E61E080E00E946C5F1DC060E0B3 -:1034D00081E00E946C5F80EC93E014C00091CC1CF2 -:1034E00003FB002700F90E9470588091CC1C877F55 -:1034F0008093CC1C002341F060E081E00E946C5F6F -:1035000089ED93E00E942E4E8091811981FF11C1B7 -:103510008091961A9091971A891B8F70843008F0C9 -:1035200008C18CE0E6E1FBE0DE01119601900D920E -:103530008A95E1F78091780B9091790BA0917A0BA5 -:10354000B0917B0B88A799A7AAA7BBA79C01AD0147 -:103550006091160B7091170B8091180B9091190BBD -:103560000F94EA166B017C016093160B7093170B96 -:103570008093180B9093190B80917C0B90917D0B8D -:10358000A0917E0BB0917F0B8CA79DA7AEA7BFA784 -:103590009C01AD0160911A0B70911B0B80911C0B6B -:1035A00090911D0B0F94EA1668A379A38AA39BA39D -:1035B00060931A0B70931B0B80931C0B90931D0B45 -:1035C0008091800B9091810BA091820BB091830B25 -:1035D00088AB99ABAAABBBAB9C01AD0160911E0B54 -:1035E00070911F0B8091200B9091210B0F94EA1684 -:1035F0004B015C0160931E0B70931F0B8093200B9B -:103600009093210BA7019601C701B6010F944D10AD -:103610002B013C0128A139A14AA15BA1CA01B90132 -:103620000F944D109B01AC01C301B2010F94EB1636 -:103630002B013C01A5019401C501B4010F944D106B -:103640009B01AC01C301B2010F94EB160F949919C1 -:103650009B01AC0160E070E080E89FE30F94E51708 -:1036600020914F02309150024091510250915202EC -:103670000F944D102DEC3CEC4CEC5DE30F944D1091 -:1036800020E030E040E85EE30F944D102B013C0158 -:1036900020E030E040E85FE30F94E70F87FFF3C3DB -:1036A000A3019201C701B6010F944D1028A539A5B9 -:1036B0004AA55BA50F94EB166093160B7093170B3E -:1036C0008093180B9093190BA301920168A179A123 -:1036D0008AA19BA10F944D102CA53DA54EA55FA5D9 -:1036E0000F94EB1660931A0B70931B0B80931C0BBB -:1036F00090931D0BA3019201C501B4010F944D10CD -:1037000028A939A94AA95BA90F94EB1660931E0B4F -:1037100070931F0B8093200B9093210B0E9425DF49 -:103720008CE0FE013196A6E1BBE001900D928A95F6 -:10373000E1F78091080881110C941F3680910608EA -:10374000909107089C012F5F3F4F3093070820930B -:103750000608883E934010F40C941F3681E0809355 -:1037600008081092070810920608809157128823C3 -:1037700009F49AC30E9433BD811196C38091050854 -:103780008F5F8093050880910508853620F01092A0 -:10379000050810925712E09157128E2FEE0F990BD9 -:1037A000AA0BBB0BFC013197E730F10508F0A0C074 -:1037B0008827EE58FF4F8F4F0D94D6160E942BBDD1 -:1037C000882309F495C081E0809355028CEE93E044 -:1037D0000E942E4E80E190E09093291B8093281B3D -:1037E00085E080931C1B02E800931F1B84E190E19D -:1037F000A0E0B0E08093201B9093211BA093221B9C -:10380000B093231B0E94C1EB81E09AE59093291BA2 -:103810008093281B86E390E090932B1B80932A1BB8 -:1038200087E080931C1B00931F1B84E890E0A0E0BE -:10383000B0E08093201B9093211BA093221BB09398 -:10384000231B0E94C1EB52C00E942BBD882309F4A8 -:103850004FC048C08AEF93E00E942E4E81E09AE567 -:103860009093291B8093281B80E490E090932B1B5E -:1038700080932A1B07E000931C1B82E880931F1B88 -:1038800084E890E0A0E0B0E08093201B9093211B9F -:10389000A093221BB093231B0E94C1EB00935712ED -:1038A00027C080910408882319F10E942BBD88232A -:1038B000F9F00E9433BD81111BC0F9C20E942BBDDB -:1038C0008823B1F00E9433BD811112C01EC30E9433 -:1038D00033BD81110DC042E060E070E0CB010E9479 -:1038E0007EBD04C00E9433BD811102C010925712E8 -:1038F00080915502882309F4AEC2809153129091B1 -:103900005412892B09F08FC180910108909102080F -:10391000892B09F01EC184E096E09093291B8093C7 -:10392000281B80EA90E890932B1B80932A1B17E0BA -:1039300010931C1B02E800931F1B80EA90E0A0E09C -:10394000B0E08093201B9093211BA093221BB09387 -:10395000231B0E94C1EB8091080290910902A09163 -:103960000A02B0910B020097A105B10511F5109262 -:10397000291B1092281B15E010931C1B00931F1B82 -:103980008AE890E1A0E0B0E08093201B9093211B97 -:10399000A093221BB093231B0E94C1EB89E090E00F -:1039A0009093291B8093281B10931C1B00931F1BB3 -:1039B00040C00196A11DB11DF5E0B695A79597955C -:1039C0008795FA95D1F70197A109B109009731E0E0 -:1039D000A307B10558F0B093291BA093281B90931F -:1039E0002B1B80932A1B10931C1B07C09093291B31 -:1039F0008093281B85E080931C1B12E810931F1BEB -:103A00008AE890E1A0E0B0E08093201B9093211B16 -:103A1000A093221BB093231B0E94C1EB88E090E08F -:103A20009093291B8093281B85E080931C1B109387 -:103A30001F1B8CE890E1A0E0B0E08093201B9093E6 -:103A4000211BA093221BB093231B0E94C1EB8091EA -:103A5000080290910902A0910A02B0910B0200970E -:103A6000E1E0AE07B10550F0B093291BA093281BED -:103A700090932B1B80932A1B87E005C09093291BF2 -:103A80008093281B85E080931C1B82E880931F1B7A -:103A900088E890E1A0E0B0E08093201B9093211B88 -:103AA000A093221BB093231B0E94C1EB80910802BC -:103AB00090910902A0910A02B0910B02BA2FA92F8E -:103AC000982F88270097F1E0AF07B10550F0B09329 -:103AD000291BA093281B90932B1B80932A1B87E004 -:103AE00005C09093291B8093281B85E080931C1BA5 -:103AF00012E810931F1B81EA90E0A0E0B0E08093F1 -:103B0000201B9093211BA093221BB093231B0E9488 -:103B1000C1EB8091900B882319F082E090E002C005 -:103B200083E090E09093291B8093281B85E080938D -:103B30001C1B10931F1B85E490E1A0E0B0E0809374 -:103B4000201B9093211BA093221BB093231B0E9448 -:103B5000C1EB0091010810910208053611057CF4B3 -:103B60001093291B0093281B85E080931C1B82E87F -:103B700080931F1B80E090E1A0E0B0E011C0C8017D -:103B8000845691099093291B8093281B85E080938C -:103B90001C1B82E880931F1B81E090E1A0E0B0E055 -:103BA0008093201B9093211BA093221BB093231B77 -:103BB0000E94C1EB0F5F1F4F109302080093010892 -:103BC000093C110564F188E094E00E942E4E81E0EA -:103BD00090E090935412809353128093550281E0A9 -:103BE0009AE59093291B8093281B8DE290E0909397 -:103BF0002B1B80932A1B87E080931C1B82E88093F9 -:103C00001F1B84E890E0A0E0B0E08093201B90931D -:103C1000211BA093221BB093231B0E94C1EB109287 -:103C200008080C941F368091961A9091971A891B58 -:103C30008F7009F094C10E9402C7811190C18091D8 -:103C4000CC1C82FD8CC114C384E690E09093291BA8 -:103C50008093281B10931C1B00931F1B8EE090E188 -:103C6000A0E0B0E08093201B9093211BA093221B27 -:103C7000B093231B0E94C1EBC60182539048880F6A -:103C8000991F9093291B8093281B10931C1B009352 -:103C90001F1B8FE090E1A0E0B0E08093201B909389 -:103CA000211BA093221BB093231B0E94C1EB0E94F7 -:103CB00042D590E09093291B8093281B85E0809348 -:103CC0001C1B82E880931F1B86E190E1A0E0B0E01E -:103CD0008093201B9093211BA093221BB093231B46 -:103CE0000E94C1EB6091801970918119072E000C20 -:103CF000880B990B0F94EE0F20E030E048EC52E473 -:103D00000F944D100F9457187093291B6093281B24 -:103D100015E010931C1B02E800931F1B86E290E144 -:103D2000A0E0B0E08093201B9093211BA093221B66 -:103D3000B093231B0E94C1EB6091BA087091BB083D -:103D40008091BC089091BD080F9457187093291B5F -:103D50006093281B10931C1B00931F1B86E390E1AC -:103D6000A0E0B0E08093201B9093211BA093221B26 -:103D7000B093231B0E94C1EB6091D1087091D208CF -:103D80008091D3089091D4080F9457187093291BF1 -:103D90006093281B10931C1B00931F1B8CE390E166 -:103DA000A0E0B0E08093201B9093211BA093221BE6 -:103DB000B093231B0E94C1EB8091BE089091BF0875 -:103DC0009093291B8093281B10931C1B00931F1B8F -:103DD00084E390E1A0E0B0E08093201B9093211B4E -:103DE000A093221BB093231B0E94C1EB8091D508A6 -:103DF0009091D6089093291B8093281B10931C1B2D -:103E000000931F1B8AE390E1A0E0B0E08093201BA9 -:103E10009093211BA093221BB093231B0E94C1EB04 -:103E20000091FD0701113CC18091FF07811138C14C -:103E30008091040881118BC18091D01A9091D11A80 -:103E4000A091D21AB091D31A8C3420E19207A10527 -:103E5000B10509F0A1C13CE6C32E3BE1D32E0AE136 -:103E600082E899E10E94B956E090F207F090F307DA -:103E7000181619060CF085C38AE1E816F10414F44B -:103E80000C9443327EC38CE0FE013196A6E1BBE088 -:103E900001900D928A95E1F70E9425DF80918119AA -:103EA0008D7F8093811945CC109205086CCC82EDF2 -:103EB00095E00E942E4E8091030890E0A0E0B0E0D3 -:103EC000895B9F4FAE4FB54A21E03AE53093291BFD -:103ED0002093281B90932B1B80932A1B87E08093B1 -:103EE0001C1B82E880931F1B84E890E0A0E0B0E0F8 -:103EF0008093201B9093211BA093221BB093231B24 -:103F00000E94C1EB10920408F1CC81E0809355022D -:103F10001092571280EE95E00E942E4E81E09AE5B5 -:103F20009093291B8093281B8EE490E090932B1B89 -:103F300080932A1B87E080931C1B82E880931F1BC1 -:103F400084E890E0A0E0B0E08093201B9093211BD8 -:103F5000A093221BB093231B0E94C1EBC9CC8CE021 -:103F600090E09093291B8093281B05E000931C1B75 -:103F700082E880931F1B84E190E1A0E0B0E0809391 -:103F8000201B9093211BA093221BB093231B0E9404 -:103F9000C1EB0E9424D420E13EE040E050E00F94C9 -:103FA0003D162115310591E04907510560F0509308 -:103FB000291B4093281B30932B1B20932A1B87E03F -:103FC00080931C1B06C03093291B2093281B009351 -:103FD0001C1B02E800931F1B80E190E1A0E0B0E011 -:103FE0008093201B9093211BA093221BB093231B33 -:103FF0000E94C1EB0E9424D420E13EE040E050E06A -:104000000F943D162CE330E040E050E00F943D1655 -:104010003093291B2093281B15E010931C1B009341 -:104020001F1B82E190E1A0E0B0E08093201B909301 -:10403000211BA093221BB093231B0E94C1EB0E9463 -:1040400042D5882391F00E9442D58F5F809300086B -:10405000C82ED12C833308F0F7CDC601880F991FE5 -:104060009093291B8093281B04C01092291B109247 -:10407000281B10931C1B00931F1B8EE090E1A0E0F7 -:10408000B0E08093201B9093211BA093221BB09340 -:10409000231B0E94C1EB1092291B1092281BF5CD07 -:1040A00020E030E048EC52E46091BA087091BB081F -:1040B0008091BC089091BD080F944D106B017C015C -:1040C0006091BE087091BF08072E000C880B990BF9 -:1040D0000F94EE0F9B01AC01C701B6010F94E517D9 -:1040E0000F945E186436710510F064E670E070930A -:1040F000291B6093281B45E0A42EA0921C1B52E8AC -:10410000B52EB0921F1B84E290E1A0E0B0E0809356 -:10411000201B9093211BA093221BB093231B0E9472 -:10412000C1EBC090BA08D090BB08E090BC08F090FA -:10413000BD0820E030E040E253E4C701B6010F942F -:104140004B1918160CF03AC1011188C137C1809182 -:10415000F40701E0080F0093F40790E09093291B07 -:104160008093281B85E080931C1B82E880931F1B93 -:1041700082E490E1A0E0B0E08093201B9093211BAB -:10418000A093221BB093231B0E94C1EB0A3008F4BA -:1041900053CE1092F40750CE8A349041A105B10558 -:1041A00009F459CE80E00E945CBE20E030E040E29D -:1041B00051E40F944D100F9457187093291B60937E -:1041C000281B15E010931C1B02E800931F1B88E4BA -:1041D00090E1A0E0B0E08093201B9093211BA0937E -:1041E000221BB093231B0E94C1EB81E00E945CBEA6 -:1041F00020E030E040E251E40F944D100F94571846 -:104200007093291B6093281B10931C1B00931F1B8A -:104210008AE490E1A0E0B0E08093201B9093211B02 -:10422000A093221BB093231B0E94C1EB82E00E944B -:104230005CBE20E030E040E251E40F944D100F945A -:1042400057187093291B6093281B10931C1B009315 -:104250001F1B8CE490E1A0E0B0E08093201B9093C2 -:10426000211BA093221BB093231B0E94C1EBF3CD13 -:104270008091D1089091D208A091D308B091D40830 -:1042800088A399A3AAA3BBA36091D5087091D6086F -:10429000072E000C880B990B0F94EE0F6B017C011D -:1042A00020E030E040E050E40F94EA1628A139A164 -:1042B0004AA15BA10F944B19181604F14090BA085B -:1042C0005090BB086090BC087090BD086091BE081B -:1042D0007091BF08072E000C880B990B0F94EE0FFE -:1042E0004B015C0120E030E040E251E40F94EA161B -:1042F000A30192010F944B19181604F58DE090E07C -:104300009093291B8093281B85E080931C1B82E8D7 -:1043100080931F1B84E190E1A0E0B0E08093201B1C -:104320009093211BA093221BB093231B0E94C1EBEF -:104330008091561281113FC081E03DC020E030E005 -:1043400040E050E4C701B6010F94EB1628A139A153 -:104350004AA15BA10F94E70F87FD0EC020E030E07B -:1043600040E251E4C501B4010F94EB16A3019201A0 -:104370000F94E70F87FFB6CC84E190E09093291B60 -:104380008093281B85E080931C1B82E880931F1B71 -:1043900084E190E1A0E0B0E08093201B9093211B8A -:1043A000A093221BB093231B0E94C1EB8091561255 -:1043B000811101C082E08093561294CC6091BE08B6 -:1043C0007091BF08072E000C880B990B0F94EE0F0D -:1043D0009B01AC01C701B6010F944B196091FF0717 -:1043E00087FDAEC0662309F423CD062E000C770BA3 -:1043F0008FE996E00E94E7B81092FF07109202083A -:104400001092010884E090E09093291B8093281B70 -:1044100085E080931C1B02E800931F1B8EE890E14F -:10442000A0E0B0E08093201B9093211BA093221B5F -:10443000B093231B0E94C1EB81E09AE59093291B66 -:104440008093281B83E590E090932B1B80932A1B7D -:1044500087E080931C1B00931F1B63C01092FD0715 -:1044600020E030E040E251E46091F5077091F607FA -:104470008091F7079091F8070F944D100F945718FB -:104480007093291B6093281BA0921C1BB0921F1BCA -:1044900084E590E1A0E0B0E08093201B9093211B85 -:1044A000A093221BB093231B0E94C1EB20E030E0BD -:1044B00040E251E46091F9077091FA078091FB079F -:1044C0009091FC070F944D100F9457187093291B6F -:1044D0006093281BA0921C1BB0921F1B88E590E1E3 -:1044E000A0E0B0E08093201B9093211BA093221B9F -:1044F000B093231B0E94C1EB8EEE95E00E942E4EDE -:1045000081E09AE59093291B8093281B81E490E039 -:1045100090932B1B80932A1B87E080931C1BB092E7 -:104520001F1B84E890E0A0E0B0E08093201B9093F4 -:10453000211BA093221BB093231B0E94C1EB78CCBC -:10454000662309F475CC80910108909102089C01C2 -:104550002F5F3F4F309302082093010865E070E021 -:104560000F94C2169093291B8093281B85E080939B -:104570001C1B82E880931F1B8EE890E1A0E0B0E056 -:10458000D4CF1E141F040CF04ACB9091CD1A809109 -:104590006C1B981322C09091CE1A80916D1B9813BA -:1045A0001CC023E0E216F104C4F090916E1B9093BE -:1045B000CC1A80916F1B8093CF1A9330D1F4982F2F -:1045C0009D7F9038B1F49091701B9F3409F059C0D1 -:1045D0009091711B9B3409F054C08AE1ECE6FBE139 -:1045E000DF011D928A95E9F71092F3071092F20706 -:1045F00016CB833809F045C08091701B9091711BD8 -:10460000982789279827A0E0B0E08093D01A90934C -:10461000D11AA093D21AB093D31AC090721BD12C86 -:10462000E12CF12CC092D41AD092D51AE092D61A6D -:10463000F092D71AA3E7BBE140E050E0BA014C1575 -:104640005D056E057F0508F04AC04A015B01B6941E -:10465000A79497948794F4013696EE0FFF1FE453C6 -:10466000F54E8C9190E0982F882711962C911197F8 -:10467000822B918380834E5F5F4F6F4F7F4F1296E7 -:10468000DECF813861F58091701B90E0A0E0B0E052 -:104690008093D01A9093D11AA093D21AB093D31AC0 -:1046A0008091711B482F50E060E070E04093D41A75 -:1046B0005093D51A6093D61A7093D71AA2E7BBE12C -:1046C000E8EDFAE190E020E030E02817390739F012 -:1046D0004D9150E0419351932F5F3F4FF6CF8AE1C8 -:1046E000ECE6FBE1DF011D928A95E9F71092F307F2 -:1046F0001092F20789E194E00E942E4E60915712C9 -:10470000161664F4062E000C770B84E996E00E94DE -:10471000E7B88AE00E94234D0C9434326091D81A95 -:104720007091D91A82E896E00E94C9B88AE00E9486 -:10473000234D4091D01A5091D11A6091D21A7091A4 -:10474000D31A83E796E00E94B8B88AE00E94234D0E -:104750008091D01A9091D11AA091D21AB091D31A07 -:10476000E8E7F2E000E010E0419151916191719130 -:104770004115510561057105D1F1481759076A07BF -:104780007B0791F5AC01BD014850504161097109A9 -:10479000453051056105710568F1AC01BD01477FE8 -:1047A000423350416105710541F18433F0E19F07C7 -:1047B000A105B10511F1AC01BD014654504161099B -:1047C00071094730510561057105D0F0AC01BD019B -:1047D0004455504161097109453051056105710524 -:1047E00088F402E110E00EC00F5F1F4FBDCF0FEF46 -:1047F0001FEF08C003E010E005C008E010E002C0B1 -:104800000FE010E08A509042A109B109833D910563 -:10481000A105B10530F00F3F2FEF120721F40C94E2 -:10482000343209E110E0FAE3CF2EF4E0DF2EF60196 -:1048300081916F01882319F00E94234DF8CFB801B0 -:10484000012E000C880B990B0E94974D0E94284E58 -:1048500087E696E00E942E4E0A31110510F00C9466 -:104860003032F8018827E758FF4F8F4F0D94D61646 -:104870008091D81A9091D91A81309105E1F4109263 -:1048800055028FEF8093EF0D60E080E00E946C5F37 -:1048900008E414E0D8018D918D01882319F00E945D -:1048A000234DF8CF81E09AE59093291B8093281B34 -:1048B0008EE290E0AFC08230910509F0B7C081E090 -:1048C000809355020E94B3D583E696E090930A093F -:1048D000809309098BE090E09093291B8093281B1B -:1048E00005E000931C1B12E810931F1B80E092E16F -:1048F000A0E0B0E08093201B9093211BA093221B8B -:10490000B093231B0E94C1EB1092291B1092281B0D -:1049100000931C1B10931F1B8EE090E1A0E0B0E001 -:104920008093201B9093211BA093221BB093231BE9 -:104930000E94C1EB1092291B1092281B00931C1B94 -:1049400010931F1B8FE090E1A0E0B0E08093201B4C -:104950009093211BA093221BB093231B0E94C1EBB9 -:104960001092291B1092281B00931C1B10931F1BD5 -:1049700086E190E1A0E0B0E08093201B9093211BA2 -:10498000A093221BB093231B0E94C1EB62E070E056 -:1049900080E090E00E9470BE1092291B1092281BAC -:1049A00000931C1B10931F1B80E190E1A0E0B0E07E -:1049B0008093201B9093211BA093221BB093231B59 -:1049C0000E94C1EB1092291B1092281B00931C1B04 -:1049D00010931F1B82E190E1A0E0B0E08093201BC8 -:1049E0009093211BA093221BB093231B0E94C1EB29 -:1049F00002E714E0F80181918F01882319F00E94E9 -:104A0000234DF8CF81E09AE59093291B8093281BD2 -:104A10008DE290E090932B1B80932A1B87E080937C -:104A20001C1B82E880931F1B0C945133833091052B -:104A300049F581E0809355020CE914E0D8018D918D -:104A40008D018823C9F00E94234DF8CF8091D01AA0 -:104A50009091D11AA091D21AB091D31A8233F0E179 -:104A60009F07A105B10509F05CC48091D81A909107 -:104A7000D91A009709F027C480910702882309F406 -:104A80000CC31CC3049711F00C94343210925502DD -:104A90000C9434328091D81A9091D91A81309105B2 -:104AA000D9F41092550280910702882319F082E010 -:104AB00090E002C083E090E09093291B8093281B34 -:104AC00085E080931C1B82E880931F1B8EE190E1A0 -:104AD000A0E0B0E00C9455338230910519F506EC56 -:104AE00014E0F80181918F01882319F00E94234D71 -:104AF000F8CF81E08093550280915612843049F0BE -:104B000081E09AE59093291B8093281B85E390E030 -:104B100081CF81E09AE59093291B8093281B86E33F -:104B200090E078CF8330910509F04CC020910702C6 -:104B3000222319F19093291B8093281B85E08093F1 -:104B40001C1B82E880931F1B8EE190E1A0E0B0E087 -:104B50008093201B9093211BA093221BB093231BB7 -:104B60000E94C1EB40E060E070E088EC92E40E94BB -:104B70001AD6109207020C94343282E090E090939F -:104B8000291B8093281B85E080931C1B82E880935F -:104B90001F1B8EE190E1A0E0B0E08093201B90937A -:104BA000211BA093221BB093231B0E94C1EB40E06A -:104BB00060E070E0CB010E941AD681E0809307028A -:104BC0000C943432049711F00C9434328091E40840 -:104BD0008823F1F082E090E09093291B8093281BBA -:104BE00085E080931C1B82E880931F1B8FE190E17E -:104BF000A0E0B0E08093201B9093211BA093221B88 -:104C0000B093231B0E94C1EB1092E4080C94343241 -:104C100083E090E09093291B8093281B85E080938C -:104C20001C1B82E880931F1B8FE190E1A0E0B0E0A5 -:104C30008093201B9093211BA093221BB093231BD6 -:104C40000E94C1EB81E08093E4080C9434326091BF -:104C5000D81A7091D91A80E090E00F94EC0F6B0194 -:104C60007C0120E030E04AEF53E40F94E70F87FF28 -:104C700011C020E030E040E251E4C701B6010F94DA -:104C80004B1918166CF0C12CD12C70E2E72E71E490 -:104C9000F72E06C0C12CD12CEAEFEE2EE3E4FE2E57 -:104CA000C701B6010F94571870936E0260936D029E -:104CB0000C9434328091D01A9091D11AA091D21ACA -:104CC000B091D31A8830F0E19F07A105B10509F032 -:104CD00050C081E09AE59093291B8093281B8DE2B8 -:104CE00090E090932B1B80932A1B87E080931C1BE2 -:104CF00012E810931F1B84E890E0A0E0B0E08093DE -:104D0000201B9093211BA093221BB093231B0E9476 -:104D1000C1EB1092291B1092281B05E000931C1B6D -:104D200010931F1B80E190E1A0E0B0E08093201B76 -:104D30009093211BA093221BB093231B0E94C1EBD5 -:104D40001092291B1092281B00931C1B10931F1BF1 -:104D500082E190E1A0E0B0E08093201B9093211BC2 -:104D6000A093221BB093231B0E94C1EB0E94B3D5DA -:104D70008FC08A3020E19207A105B105E1F580914D -:104D8000D81A9091D91A813F910511F00C943432C0 -:104D900081E09AE59093291B8093281B86E390E09D -:104DA00090932B1B80932A1B87E080931C1B82E827 -:104DB00080931F1B84E890E0A0E0B0E08093201B6C -:104DC0009093211BA093221BB093231B0E94C1EB45 -:104DD0004CE355E063E475E084E00E940BB860E0CA -:104DE0008FE295E00E9474D585E295E090930A09E0 -:104DF000809309094DC08C309041A105B10509F09F -:104E000047C08091D81A9091D91A019709F040C0F3 -:104E10000F94C1071092561281E0809355028CE0E6 -:104E200090E09093291B8093281B85E080931C1BA6 -:104E300012E810931F1B84E190E1A0E0B0E08093A2 -:104E4000201B9093211BA093221BB093231B0E9435 -:104E5000C1EB81E09AE59093291B8093281B85E3A1 -:104E600090E090932B1B80932A1B87E080931C1B60 -:104E700010931F1B84E890E0A0E0B0E08093201B1B -:104E80009093211BA093221BB093231B0E94C1EB84 -:104E90008091D01A9091D11AA091D21AB091D31AC0 -:104EA0008C309041A105B10511F00C943432809101 -:104EB000D81A9091D91A029711F00C9434320F94A9 -:104EC000C10781E08093FF0710925612809355022C -:104ED000109202081092010881E09AE59093291B34 -:104EE0008093281B82E590E095CD2091D81A3091CF -:104EF000D91AB90180E090E037FF09C00F94EC0F98 -:104F000020E030E040E857E40F94EA1602C00F9426 -:104F1000EC0F20E030E048EC52E40F94E5176B0111 -:104F20007C0120E030E040EA51EC0F944B190091F5 -:104F300080191091811987FD2BC020E030E040EAF4 -:104F400051E4C701B6010F94E70F18160CF1B80130 -:104F5000110F880B990B0F94EE0FA70196010F9478 -:104F6000EA1620E030E048EC53E40F944D109058DE -:104F70000F945718CB010E94B6EEC701B6010E94EC -:104F800049BD8EE596E090930A098093090926C0F1 -:104F9000B801110F880B990B0F94EE0F20E030E051 -:104FA00048EC52E40F944D100F9457187093291B3E -:104FB0006093281B85E080931C1B82E880931F1B55 -:104FC00086E290E1A0E0B0E08093201B9093211B4B -:104FD000A093221BB093231B0E94C1EB6091801908 -:104FE00070918119072E000C880B990B0F94EE0F0E -:104FF0008E010B5E1F4F23E041E00F94BF0A9F9389 -:105000008F9380E596E09F938F93045111091F932E -:105010000F930F947F0FC8010E944ABF0F900F900B -:105020000F900F900F900F900C9434328091D81AFB -:105030009091D91A009729F481E0809355020C943D -:10504000343281309105B1F480910702882349F010 -:1050500081E09AE59093291B8093281B8CE390E0D4 -:10506000D9CC81E09AE59093291B8093281B8BE390 -:1050700090E0D0CC82309105F9F28330910539F57A -:105080008091070240E0882389F060E070E088ECBE -:1050900092E40E941AD61092070281E09AE590935A -:1050A000291B8093281B89E390E0B4CC60E070E07A -:1050B000CB010E941AD681E08093070281E09AE535 -:1050C0009093291B8093281B8AE390E0A3CC853022 -:1050D000910559F540E060E070E084E393E40E94BC -:1050E000BEBC46E060E070E08CE892E40E94BEBC8A -:1050F00084EB90E09093291B8093281B05E000939C -:105100001C1B12E810931F1B84E390E1A0E0B0E0A9 -:105110008093201B9093211BA093221BB093231BF1 -:105120000E94C1EB86E490E02DC086309105C1F568 -:1051300040E060E070E080E793E40E94BEBC46E09F -:1051400060E070E08CED92E40E94BEBC80EF90E0E5 -:105150009093291B8093281B05E000931C1B12E8E9 -:1051600010931F1B84E390E1A0E0B0E08093201B2C -:105170009093211BA093221BB093231B0E94C1EB91 -:105180008EE690E09093291B8093281B00931C1BB4 -:1051900010931F1B8AE390E1A0E0B0E00C9455331C -:1051A000813F910511F00C94343240E060E070E0F2 -:1051B000CB010E941AD641E060E070E0CB010E9472 -:1051C0001AD61092070240E060E070E0CB010E9426 -:1051D000BEBC46E060E070E0CB010E94BEBC109215 -:1051E000291B1092281B05E000931C1B12E810934A -:1051F0001F1B84E390E1A0E0B0E08093201B90931C -:10520000211BA093221BB093231B0E94C1EB61E0E2 -:1052100070E080E090E00E9470BE1092291B109216 -:10522000281B00931C1B10931F1B8AE390E1A0E036 -:10523000B0E08093201B9093211BA093221BB0937E -:10524000231B0E94C1EB61E070E080E090E00E94CF -:1052500070BE84E190E09093291B8093281B0093FB -:105260001C1B10931F1B84E190E1A0E0B0E0809331 -:10527000201B9093211BA093221BB093231B0E9401 -:10528000C1EB81E09AE59093291B8093281B89E369 -:1052900090E090932B1B80932A1B87E080931C1B2C -:1052A00010931F1B84E890E0A0E0B0E08093201BE7 -:1052B0009093211BA093221BB093231B0E94C1EB50 -:1052C00082E00C942D3281309105B1F440E060E031 -:1052D00070E0CB010E94BEBC1092291B1092281BCB -:1052E00085E080931C1B82E880931F1B84E390E180 -:1052F000A0E0B0E00C945533029711F00C943432D6 -:1053000046E060E070E0CB010E94BEBC1092291B19 -:105310001092281B85E080931C1B82E880931F1B42 -:1053200039CF843320E19207A105B10551F4609192 -:10533000D81A7091D91A80E090E00F94EC0F40E0F9 -:1053400010C08A339041A105B10511F00C9434329C -:105350006091D81A7091D91A80E090E00F94EC0F08 -:1053600046E00E94BEBC0C9434328091D81A9091D1 -:10537000D91A009709F460CE8130910509F04CC02C -:105380008091900B882319F083E090E002C082E0C6 -:1053900090E09093291B8093281B85E080931C1B31 -:1053A00082E880931F1B85E490E1A0E0B0E0809349 -:1053B000201B9093211BA093221BB093231B0E94C0 -:1053C000C1EB8AE090E09093291B8093281B85E035 -:1053D00080931C1B82E880931F1B80E092E1A0E079 -:1053E000B0E08093201B9093211BA093221BB093CD -:1053F000231B0E94C1EB0E942BBD811103C080E4DE -:1054000096E002C084E396E090930A09809309092C -:1054100082E08093571272C18230910509F0A8C0D2 -:1054200081E08093550288E0E5EFF7E0DF011D920F -:105430008A95E9F780E090E0A0E2B1E48093F50777 -:105440009093F607A093F707B093F8078093F907B6 -:105450009093FA07A093FB07B093FC0784E690E0D3 -:105460009093291B8093281B05E000931C1B12E8D6 -:1054700010931F1B84E590E1A0E0B0E08093201B17 -:105480009093211BA093221BB093231B0E94C1EB7E -:1054900020E030E040E251E46091F9077091FA07B2 -:1054A0008091FB079091FC070F944D100F945718B3 -:1054B0007093291B6093281B00931C1B10931F1BC8 -:1054C00088E590E1A0E0B0E08093201B9093211B41 -:1054D000A093221BB093231B0E94C1EB6091BA08DA -:1054E0007091BB088091BC089091BD080F9457182B -:1054F0007093291B6093281B00931C1B10931F1B88 -:1055000086E390E1A0E0B0E08093201B9093211B04 -:10551000A093221BB093231B0E94C1EB8091BE0875 -:105520009091BF089093291B8093281B00931C1B0C -:1055300010931F1B84E390E1A0E0B0E08093201B58 -:105540009093211BA093221BB093231B0E94C1EBBD -:1055500062E070E080E090E00E9470BE81E09AE539 -:105560009093291B8093281B81E490E00C9448338E -:105570008330910509F077C01092030880E00E9403 -:105580005CBE20E030E040E251E40F944D100F94F7 -:1055900057187093291B6093281B05E000931C1B70 -:1055A00012E810931F1B88E490E1A0E0B0E0809324 -:1055B000201B9093211BA093221BB093231B0E94BE -:1055C000C1EB81E00E945CBE20E030E040E251E4AB -:1055D0000F944D100F9457187093291B6093281B3C -:1055E00000931C1B10931F1B8AE490E1A0E0B0E025 -:1055F0008093201B9093211BA093221BB093231B0D -:105600000E94C1EB82E00E945CBE20E030E040E2FC -:1056100051E40F944D100F9457187093291B609309 -:10562000281B00931C1B10931F1B8CE490E1A0E02F -:10563000B0E08093201B9093211BA093221BB0937A -:10564000231B0E94C1EB62E070E080E090E00E94CA -:1056500070BE81E09AE59093291B8093281B87E414 -:1056600090E00C9448338430910509F4FDC68530F0 -:10567000910549F44EE750E160E070E08DEE94E072 -:105680000E9470EBF1C6069709F0EEC680E396E043 -:1056900090930A09809309098BE090E053C28091AE -:1056A000D81A9091D91A019711F51092550281E0FC -:1056B0009AE59093291B8093281B8FE390E09093A9 -:1056C0002B1B80932A1B87E080931C1B82E880930E -:1056D0001F1B84E890E0A0E0B0E08093201B909333 -:1056E000211BA093221BB093231B0E94C1EB80912E -:1056F000D81A9091D91A029709F0B6C681E09AE5B6 -:105700009093291B8093281B80E490E083C98091AB -:10571000D81A9091D91A8E35910509F4A5C168F56A -:105720008330910509F45FC1A0F48130910509F43B -:105730006EC1029709F000C242E060E070E080E8CC -:1057400090E40E947EBD40E060E070E082E893E477 -:105750006AC18430910509F473C1059709F0ECC161 -:1057600042E060E070E080E890E40E947EBD40E0AE -:1057700060E070E082E893E46FC18136910509F43E -:1057800069C098F58F35910509F48AC08036910576 -:1057900009F0D2C183E08093571283E090E09093A8 -:1057A000291B8093281B85E080931C1B82E8809333 -:1057B0001F1B8DE890E1A0E0B0E08093201B909348 -:1057C000211BA093221BB093231B0E94C1EBE12C51 -:1057D000F12C00E0DD24D394AA24A39445E0942E78 -:1057E00055E0852E62E8762E85C08236910561F0FF -:1057F0008336910509F0A0C18091801980FF6EC6A3 -:10580000869580FD6EC66AC6609180197091811977 -:10581000072E000C880B990B0F94EE0F2DEC3CEC2F -:105820004CEC5DE30F94EB166B017C0120E030E063 -:1058300040EA51EC0F944B1987FD82C120E030E023 -:1058400040EA51E4C701B6010F94E70F18160CF0B7 -:105850004FC676C16091801970918119072E000C96 -:10586000880B990B0F94EE0F2DEC3CEC4CEC5DE3A8 -:105870000F94EA166B017C0120E030E040EA51EC25 -:105880000F944B1987FD5CC120E030E040EA51E401 -:10589000C701B6010F94E70F18160CF08CC650C163 -:1058A00080E00E94ACB60E942BBD811103C087ED41 -:1058B00095E002C089EC95E090930A09809309096C -:1058C00082E08093571281E09AE59093291B8093A0 -:1058D000281B84E590E090932B1B80932A1B87E084 -:1058E00080931C1B82E880931F1B84E890E0A0E05B -:1058F000B0E017C1DD2031F0CC24C39435E0B32EE5 -:1059000010E005C0CC24CA94BB24BA9414E0DA2475 -:10591000B116D1F1802F90E04897A4F50F5FF70101 -:10592000919EE00DF11D1124EE0FFF1FEE0FFF1FE2 -:10593000EB50F74E20E030E04AE754E4608171819B -:10594000828193810F944D100F9457187093291BE7 -:105950006093281B80921C1B70921F1B802F90E06D -:105960008158974F880F991F092E000CAA0BBB0B6B -:105970008093201B9093211BA093221BB093231B89 -:105980000E94C1EB1C0DC4CFBFEFEB1AFB0AE5E090 -:10599000EE16F10409F0AECF81E09AE59093291B51 -:1059A0008093281B85E590E090932B1B80932A1B06 -:1059B00087E080931C1B82E880931F1B84E890E0A3 -:1059C000A0E0B0E08093201B9093211BA093221BAA -:1059D000B093231B0E94C1EB85EC95E090930A09DC -:1059E00080930909ADC042E060E070E080E890E497 -:1059F0000E947EBD40E060E070E086E193E40E949A -:105A00007EBD41E060E070E086E193E413C042E0D7 -:105A100060E070E080E890E40E947EBD40E060E0DD -:105A200070E080E292E40E947EBD41E060E070E0C0 -:105A300080E292E40E947EBD86E08093571280C08F -:105A400042E060E070E080E890E40E947EBD40E0CB -:105A500060E070E080E292E40E947EBD41E060E0A0 -:105A600070E082E893E4E6CF8091900B81111CC036 -:105A700083E090E09093291B8093281B85E080931E -:105A80001C1B82E880931F1B85E490E1A0E0B0E03E -:105A90008093201B9093211BA093221BB093231B68 -:105AA0000E94C1EB81E01BC082E090E09093291B33 -:105AB0008093281B85E080931C1B82E880931F1B2A -:105AC00085E490E1A0E0B0E08093201B9093211B3F -:105AD000A093221BB093231B0E94C1EB80E00E9485 -:105AE000ACB66091801970918119072E000C880B5B -:105AF000990B0F94EE0F20E030E048EC52E40F9445 -:105B00004D100F9457187093291B6093281B85E044 -:105B100080931C1B82E880931F1B86E290E1A0E02B -:105B2000B0E08093201B9093211BA093221BB09385 -:105B3000231B0E94C1EB04C089EA95E00E942E4E0F -:105B40008AE090E09093291B8093281B85E0809346 -:105B50001C1B82E880931F1B4BC184E0809357126B -:105B60008091D01A9091D11AA091D21AB091D31AE3 -:105B70006091D81A7091D91A8834F0E19F07A10575 -:105B8000B10509F453C08A3420E19207A105B1059B -:105B900009F456C08C3430E19307A105B10509F42E -:105BA0005AC086349041A105B10509F05EC063304A -:105BB0007105B9F588E995E090930A098093090980 -:105BC00081E080930408809355021092F40781E0ED -:105BD0009AE59093291B8093281B8AE490E0909388 -:105BE0002B1B80932A1B87E080931C1B12E81093C9 -:105BF0001F1B84E890E0A0E0B0E08093201B90930E -:105C0000211BA093221BB093231B0E94C1EB8AE0AF -:105C100090E09093291B8093281B85E080931C1BA8 -:105C2000E5C060930308109257121EC480E090E014 -:105C3000A6E9B3E48CA39DA3AEA3BFA3312C15C0EA -:105C400080E090E0A6E9B3E48CA39DA3AEA3BFA33C -:105C5000332433940AC080E090E0A8ECB3E48CA332 -:105C60009DA3AEA3BFA382E0382E80E090E00F9406 -:105C7000EC0F20E030E040E251E40F94E5176B01B7 -:105C80007C0120E030E0A9010F94E70F87FF09C0F5 -:105C90001092EE071092EF071092F0071092F107A2 -:105CA0001FC02CA13DA14EA15FA1C701B6010F9459 -:105CB0004B1918164CF0C092EE07D092EF07E09205 -:105CC000F007F092F1070CC08CA19DA1AEA1BFA17D -:105CD0008093EE079093EF07A093F007B093F1073E -:105CE0006091EE077091EF078091F0079091F107B6 -:105CF000432D0E947EBD61E070E080E090E00E9454 -:105D000070BE80E00E945CBE20E030E040E251E4E2 -:105D10000F944D100F9457187093291B6093281BF4 -:105D200005E000931C1B12E810931F1B88E490E110 -:105D3000A0E0B0E08093201B9093211BA093221B36 -:105D4000B093231B0E94C1EB81E00E945CBE20E067 -:105D500030E040E251E40F944D100F9457187093C7 -:105D6000291B6093281B00931C1B10931F1B8AE4A4 -:105D700090E1A0E0B0E08093201B9093211BA093C2 -:105D8000221BB093231B0E94C1EB82E00E945CBEE9 -:105D900020E030E040E251E40F944D100F9457188A -:105DA0007093291B6093281B00931C1B10931F1BCF -:105DB0008CE490E1A0E0B0E08093201B9093211B45 -:105DC000A093221BB093231B0E94C1EB61E070E003 -:105DD00080E090E00E9470BE109257128AE090E03E -:105DE0009093291B8093281B00931C1B10931F1B4F -:105DF00080E092E1A0E0B0E058C48091D01A909188 -:105E0000D11AA091D21AB091D31A8635E0E19E073B -:105E1000A105B10509F041C020E030E040E253E4C3 -:105E20006091BA087091BB088091BC089091BD0840 -:105E30000F94E70F2091D81A3091D91A87FF40C4E8 -:105E40002530310508F03CC480EA90E09093291B8E -:105E50008093281B85E080931C1B12E810931F1B66 -:105E600080E290E1A0E0B0E08093201B9093211BA2 -:105E7000A093221BB093231B0E94C1EB65E070E04E -:105E800080E090E00E9470BE81E09AE59093291B2B -:105E90008093281B82E490E0FBC38435F0E19F07E8 -:105EA000A105B105B9F46091D81A7091D91A80E0B2 -:105EB00090E00F94EC0F20E030E040E251E40F94CA -:105EC000E5176093F5077093F6078093F7079093B3 -:105ED000F807CAC288359041A105B10509F0C4C2CE -:105EE0006091D81A7091D91A80E090E00F94EC0F6D -:105EF00020E030E040E251E40F94E5176093F907A9 -:105F00007093FA078093FB079093FC07ADC26091F2 -:105F1000D81A7091D91A82E895E00E94C9B8809188 -:105F2000D81A9091D91A82309105A1F038F40097CF -:105F300071F00197E1F486E195E094C28430910517 -:105F400079F058F0059799F487E595E00BC080E06B -:105F500095E088C284E795E005C08AE695E002C036 -:105F600085E695E090930A09809309097DC28AE24B -:105F700095E078C289E395E00E942E4E8091D81A70 -:105F80009091D91A8130910509F054C00E9472BDD8 -:105F9000811103C0649908C067C2813009F064C2EE -:105FA0008091030180FF60C287E495E00E942E4E3D -:105FB00081E00E9492B78DE090E09093291B80933E -:105FC000281B85E080931C1B12E810931F1B84E1A3 -:105FD00090E1A0E0B0E08093201B9093211BA09360 -:105FE000221BB093231B0E94C1EB83E080935612C7 -:105FF00081E09AE59093291B8093281B85E390E02C -:1060000090932B1B80932A1B87E080931C1B10937B -:106010001F1B84E890E0A0E0B0E08093201B9093E9 -:10602000211BA093221BB093231B0E94C1EB109253 -:10603000EA071AC2892B09F017C28FE595E00E9482 -:106040002E4E8091EA07813039F585E795E00E9470 -:106050002E4E81E09AE59093291B8093281B8EE2B7 -:1060600090E090932B1B80932A1B87E080931C1B4E -:1060700082E880931F1B84E890E0A0E0B0E080936A -:10608000201B9093211BA093221BB093231B0E94E3 -:10609000C1EB1092551235C0823069F489E895E061 -:1060A0000E942E4E81E09AE59093291B8093281B35 -:1060B00086E390E00EC0833031F58DE995E00E94D3 -:1060C0002E4E81E09AE59093291B8093281B81E452 -:1060D00090E090932B1B80932A1B87E080931C1BDE -:1060E00082E880931F1B84E890E0A0E0B0E08093FA -:1060F000201B9093211BA093221BB093231B0E9473 -:10610000C1EB1092CB181092EA070E94B3D5ACC134 -:106110008091D81A9091D91A8F3F910531F028F0CB -:106120008FEF90E0A0E0B0E002C0A0E0B0E080938C -:10613000080290930902A0930A02B0930B02809187 -:10614000080290910902A0910A02B0910B020097F7 -:10615000A105B10509F51092291B1092281B05E035 -:1061600000931C1B12E810931F1B8AE890E1A0E02B -:10617000B0E08093201B9093211BA093221BB0932F -:10618000231B0E94C1EB89E090E09093291B809330 -:10619000281B00931C1B3DC00196A11DB11D05E0ED -:1061A000B695A795979587950A95D1F70197A10977 -:1061B000B109009731E0A307B10550F0B093291B56 -:1061C000A093281B90932B1B80932A1B87E005C06C -:1061D0009093291B8093281B85E080931C1B12E859 -:1061E00010931F1B8AE890E1A0E0B0E08093201B91 -:1061F0009093211BA093221BB093231B0E94C1EB01 -:1062000088E090E09093291B8093281B85E0809381 -:106210001C1B10931F1B8CE890E1A0E0B0E0809362 -:10622000201B9093211BA093221BB093231B0E9441 -:10623000C1EB8091080290910902A0910A02B091ED -:106240000B02BA2FA92F982F88270097E1E0AE07FD -:10625000B10550F0B093291BA093281B90932B1BE2 -:1062600080932A1B87E005C09093291B8093281BED -:1062700085E080931C1B82E880931F1B81EA90E0DD -:10628000A0E0B0E012C281EB95E00E942E4E0E9489 -:10629000B2BC4091D01A5091D11A6091D21A70912B -:1062A000D31A882339F0433DF0E25F076105710599 -:1062B00009F465C3423D50426105710509F0D4C03F -:1062C0008091D81A9091D91A019709F0AFC40E9411 -:1062D000B2BC882309F4AAC48091EF0D87FDC4C025 -:1062E000A2E18A02C00111248655904F0E9489586C -:1062F000C12C90E2D92EE12CF12C05E012E810928D -:10630000291B1092281B00931C1B10931F1BC0926B -:10631000201BD092211BE092221BF092231B0E9493 -:10632000C1EBBFEFCB1ADB0AEB0AFB0AEAE0CE16A1 -:10633000E0E2DE06E104F10411F70091EF0DF2E175 -:106340000F02800111240E5B114FF8010190002013 -:10635000E9F7C8018E1B9F0B439697FD01967C01C0 -:10636000F594E7941E141F040CF05AC49E012F5F8D -:106370003F4F690184E1D9011D928A95E9F7A70190 -:1063800062EC75E0C9010F945E1AB801C6018E0D6A -:106390009F1D0F94491A40E050E260E070E0C60192 -:1063A0000E9470EB62E070E080E090E00E9470BEBE -:1063B00040E060E070E08FE793E40E941AD641E08D -:1063C00060E070E08FE793E40E941AD61092070213 -:1063D0008DE090E09093291B8093281B85E08093AB -:1063E0001C1B12E810931F1B84E190E1A0E0B0E0B9 -:1063F0008093201B9093211BA093221BB093231BFF -:106400000E94C1EB62E070E080E090E00E9470BE0C -:1064100081E09AE59093291B8093281B85E390E007 -:1064200090932B1B80932A1B87E080931C1B109357 -:106430001F1B84E890E0A0E0B0E08093201B9093C5 -:10644000211BA093221BB093231B0E94C1EB81E070 -:10645000809355028093551283E08093561204C0B6 -:106460008CE495E00E942E4E80E5ECECFAE1DF0131 -:106470001D928A95E9F78AE58093CD1A85EA809383 -:10648000CE1A0C940F1E82E899E10E949756F701EC -:10649000E459F44E808380916C1B8A3581F01E1480 -:1064A0001F0414F00C94301FD601E02F1D92EA95C2 -:1064B000E9F71092F3071092F2070C94301F62E094 -:1064C00070E080E090E00E9470BEFFEFEF1AFF0ADC -:1064D000F092F307E092F2070C94301F80E296E00E -:1064E00002C08FE096E090930A0980930909F9CAE7 -:1064F00088E290E00E94B6EE609180197091811957 -:10650000072E000C880B990B0F94EE0F2DEC3CEC32 -:106510004CEC5DE30F94EB160E9449BD609180192D -:1065200070918119072E000C880B990B0F94EE0FB8 -:1065300020E030E048EC52E40F944D100F945718CF -:106540007093291B6093281B85E080931C1B82E8B5 -:1065500080931F1B86E290E1A0E0B0E08093201BB7 -:106560009093211BA093221BB093231B0E94C1EB8D -:106570006091801970918119072E000C880B990B7E -:106580000F94EE0F8E010B5E1F4F23E041E00F943E -:10659000BF0A9F938F9381E096E09F938F9304515E -:1065A00011091F930F930F947F0FC8010E944ABFD8 -:1065B0008CEF95E062C088ED9FEF0E94B6EE60918F -:1065C000801970918119072E000C880B990B0F947C -:1065D000EE0F2DEC3CEC4CEC5DE30F94EA160E94C0 -:1065E00049BD6091801970918119072E000C880BAC -:1065F000990B0F94EE0F20E030E048EC52E40F943A -:106600004D100F9457187093291B6093281B85E039 -:1066100080931C1B82E880931F1B86E290E1A0E020 -:10662000B0E08093201B9093211BA093221BB0937A -:10663000231B0E94C1EB6091801970918119072E74 -:10664000000C880B990B0F94EE0F8E010B5E1F4F01 -:1066500023E041E00F94BF0A9F938F938EEE95E065 -:106660009F938F93045111091F930F930F947F0FE2 -:10667000C8010E944ABF89EE95E090930A09809371 -:1066800009090F900F900F900F900F900F9058CA1C -:1066900090932B1B80932A1B87E080931C1B1093E5 -:1066A0001F1B84E890E0A0E0B0E08093201B909353 -:1066B000211BA093221BB093231B0E94C1EBD4CEBD -:1066C0002430310589F481E00F9495072091F90772 -:1066D0003091FA074091FB075091FC070F94EB169D -:1066E00041E00F946907B2C02530310508F4F3C0CA -:1066F0002630310509F430C108F022C181E08093D1 -:10670000FD0740E060E070E08EE393E40E94BEBCD1 -:1067100020E030E048EC52E46091BA087091BB0888 -:106720008091BC089091BD080F944D106B017C01C5 -:106730006091BE087091BF08072E000C880B990B62 -:106740000F94EE0F9B01AC01C701B6010F94E51742 -:106750000F945E186436710510F064E670E0709373 -:10676000291B6093281B05E000931C1B12E8109363 -:106770001F1B84E290E1A0E0B0E08093201B909387 -:10678000211BA093221BB093231B0E94C1EB60919D -:10679000BA087091BB088091BC089091BD080F9415 -:1067A00057187093291B6093281B00931C1B109390 -:1067B0001F1B86E390E1A0E0B0E08093201B909344 -:1067C000211BA093221BB093231B0E94C1EB80913D -:1067D000BE089091BF089093291B8093281B0093BB -:1067E0001C1B10931F1B84E390E1A0E0B0E080939A -:1067F000201B9093211BA093221BB093231B0E946C -:10680000C1EB65E070E080E090E00E9470BE81E046 -:106810009AE59093291B8093281B84E490E0909341 -:106820002B1B80932A1B87E080931C1B10931F1B3C -:1068300084E890E0A0E0B0E08093201B9093211BBF -:10684000A093221BB093231B0E94C1EB20E030E0F9 -:1068500040E251E46091F5077091F6078091F707E7 -:106860009091F8070F944D100F9457187093291BAF -:106870006093281B05E000931C1B12E810931F1B5C -:1068800084E590E1A0E0B0E08093201B9093211B71 -:10689000A093221BB093231B0E94C1EB20E030E0A9 -:1068A00040E251E46091F9077091FA078091FB078B -:1068B0009091FC070F944D100F9457187093291B5B -:1068C0006093281B00931C1B10931F1B88E590E10D -:1068D000A0E0B0E0EACE2230310579F480E00F94F8 -:1068E00095072091F5073091F6074091F7075091F1 -:1068F000F8070F94EB1640E0F4CE2330310570F02A -:1069000081E00F9495072091F9073091FA074091A3 -:10691000FB075091FC070F94EA16E2CE21303105B7 -:1069200009F094CF80E00F9495072091F5073091FE -:10693000F6074091F7075091F8070F94EA16DBCF5E -:10694000213F310509F082CF1092FD0761E070E030 -:1069500080E090E00E9470BE81E09AE59093291B50 -:106960008093281B81E490E090932B1B80932A1B3B -:1069700087E080931C1B82E880931F1B59CF8FE018 -:1069800096E00E942E4E8091F00D9091F10D992786 -:106990002091D81A3091D91A8217930708F464CD40 -:1069A0008AEB95E00E942E4E8091D81A81508093F8 -:1069B000EF0DA4ED8A2EA0E29A2EA12CB12C05E0B9 -:1069C00012E81092291B1092281B00931C1B109395 -:1069D0001F1B8092201B9092211BA092221BB09221 -:1069E000231B0E94C1EB2FEF821A920AA20AB20A5D -:1069F0003EED831630E29306A104B10411F78091B5 -:106A0000EF0DA2E18A02C0011124FC01EE5BF14FFF -:106A10007F0101900020E9F7C7018E1B9F0B439671 -:106A200097FD01968C011595079510161106FCF43B -:106A30009E012F5F3F4F690184E1D9011D928A9524 -:106A4000E9F7A80162EC75E0C9010F945E1AB7017D -:106A5000C601800F911F0F94491A44ED50E260E087 -:106A600070E0C6010E9470EB05E012E806C044ED3C -:106A700050E260E070E0C701F5CF1092291B109240 -:106A8000281B00931C1B10931F1B8092201B9092AD -:106A9000211BA092221BB092231B0E94C1EBBFEFCF -:106AA0008B1A9B0AAB0ABB0AE6EE8E16E0E29E0644 -:106AB000A104B10411F78E010F5F1F4F84E1D801CB -:106AC0001D928A95E9F78091F10D8F938091F00DD9 -:106AD0008F938091D91A8F938091D81A8F938CECD1 -:106AE00095E09F938F931F930F930F94781A4EED19 -:106AF00050E260E070E0C8010E9470EB62E070E07C -:106B000080E090E00E9470BE0FB6F894DEBF0FBE2A -:106B1000CDBF31E2C32E32E1D32EE12CF12C43E183 -:106B2000442E40E6542E612C712C88248394912CA1 -:106B3000AA24AA94BA2C75E0272EE2E83E2E0AE099 -:106B400010E08091F00D9091F10D8815990594F168 -:106B5000B092291BA092281B20921C1B30921F1B55 -:106B60004092201B5092211B6092221B7092231B8B -:106B70000E94C1EB1093291B0093281B20921C1B21 -:106B800030921F1BC092201BD092211BE092221B2F -:106B9000F092231B0E94C1EBFFEF8F1A9F0A20E1A6 -:106BA000420E511C611C711C3FEFC31AD30AE30A49 -:106BB000F30AC7CF8091D81A9091D91A24E0880F90 -:106BC000991F2A95E1F78D5F9F49A0E0B0E020EF83 -:106BD00037E83093291B2093281B05E000931C1BEA -:106BE00012E810931F1B8093201B9093211BA093EE -:106BF000221BB093231B0E94C1EB8091D81A909165 -:106C0000D91A805E9D4EA0E0B0E026E030E03093DF -:106C1000291B2093281B00931C1B10931F1B45CD81 -:106C200040E050E260E070E0C801BACB8091D81A31 -:106C30009091D91A892B11F40C941C2815CCE39649 -:106C40000FB6F894DEBF0FBECDBFDF91CF911F917D -:106C50000F91FF90EF90DF90CF90BF90AF909F90FB -:106C60008F907F906F905F904F903F902F900895FE -:106C70002F923F924F925F926F927F928F929F924C -:106C8000AF92BF92CF92DF92EF92FF920F931F933A -:106C9000CF93DF93CDB7DEB7C154D1090FB6F894C7 -:106CA000DEBF0FBECDBF22968FAF229720911E0868 -:106CB0002CAF21E020931E088091CA188D3409F46E -:106CC00001C5843511F40C94AC48873411F00C9450 -:106CD000BD488091C8189091C9188A31910509F46E -:106CE00021C2B4F48430910534F482309105DCF58E -:106CF00097FF2DC0E3C48C30910509F40FC2853194 -:106D0000910511F40C94BF48049709F0D7C4C7C18A -:106D10008A32910509F45BC454F48C31910509F46D -:106D20002AC20CF403C24D9709F435C2C7C48B358F -:106D3000910509F4CCC38C35910509F4CCC38A358F -:106D4000910509F0BBC410921D080C94BF488091B6 -:106D50003602882311F40C94BF480E9499AD0E941A -:106D600025DF0C94BF4820913602222311F40C94A5 -:106D7000BF4811E0029709F010E00E9499AD198216 -:106D80001A821B821C821D821E821F82188682E547 -:106D90000E941E7F882309F43AC10E949E7E4B0107 -:106DA0005C0120E030E0A9010F94E70F882309F48B -:106DB00044C14091780B5091790B60917A0B70919E -:106DC0007B0B4CA35DA36EA37FA360917C0B7091A2 -:106DD0007D0B80917E0B90917F0B68A779A78AA786 -:106DE0009BA78091160B9091170BA091180BB09157 -:106DF000190B8CA79DA7AEA7BFA720911A0B3091A6 -:106E00001B0B40911C0B50911D0B28AB39AB4AABAF -:106E10005BAB9C01AD016CA17DA18EA19FA10F94E4 -:106E2000E70F81110DC028A939A94AA95BA968A556 -:106E300079A58AA59BA50F94E70F882309F4FDC0C7 -:106E400020E030E0A901C501B4010F94E70F881FCD -:106E50008827881F181749F040E050E060E87FEB72 -:106E600048AF59AF6AAF7BAF08C060E070E080E820 -:106E70009FE368AF79AF8AAF9BAF2CA13DA14EA134 -:106E80005FA16CA57DA58EA59FA50F94EA166CAB9E -:106E90007DAB8EAB9FAB28A539A54AA55BA568A99C -:106EA00079A98AA99BA90F94EA166B017C012CA9E8 -:106EB0003DA94EA95FA9CA01B9010F944D102B013C -:106EC0003C01A7019601C701B6010F944D109B012B -:106ED000AC01C301B2010F94EB160F9499192B0169 -:106EE0003C019B01AC0160E070E080E89FE30F94FF -:106EF000E51721966CAF7DAF8EAF9FAF219720E055 -:106F000030E040E05FE3C301B2010F944D102B016C -:106F10003C01A5019401C501B4010F944D104B0132 -:106F20005C01A3019201C301B2010F944D109B01BA -:106F3000AC01C501B4010F94EA160F94991928AD5C -:106F400039AD4AAD5BAD0F944D104B015C01C701EB -:106F5000B601905821962CAD3DAD4EAD5FAD219759 -:106F60000F944D10A50194010F944D106B017C01FD -:106F70002CA53DA54EA55FA56CA17DA18EA19FA1CD -:106F80000F94EB1620E030E040E05FE30F944D10EB -:106F90009B01AC01C701B6010F94EB162CA13DA1DA -:106FA0004EA15FA10F94EA1669837A838B839C8339 -:106FB00028A939A94AA95BA968A579A58AA59BA58D -:106FC0000F94EB1620E030E040E05FE30F944D10AB -:106FD0006B017C0121962CAD3DAD4EAD5FAD21978F -:106FE0006CA97DA98EA99FA90F944D10A5019401AC -:106FF0000F944D109B01AC01C701B6010F94EB1625 -:1070000028A539A54AA55BA50F94EA1612C089E404 -:107010000E941E7F882331F00E949E7E69837A83BE -:107020008B839C838AE40E941E7F882331F00E9418 -:107030009E7E6D837E838F83988720E030E0A90158 -:1070400069817A818B819C810F94E70F81110BC03C -:1070500020E030E0A9016D817E818F8198850F94B9 -:10706000E70F8823A1F0412FBE016F5F7F4F86E1BC -:107070009BE00E94B7C90E94EE68609378197093F4 -:10708000791980937A1990937B190C94BF480E94C8 -:1070900007B980EE96E00E9427B70C94BF4880E5C0 -:1070A0000E941E7F882329F00E94F1F96B017C0168 -:1070B00003C0C12CD12C760183E50E941E7F88235A -:1070C00061F00E949E7E20E030E04AE754E40F9495 -:1070D0004D100F945E186B017C010E9413D98091B2 -:1070E000270B811105C060E086EF96E00E9474D501 -:1070F0000E94EE68C60ED71EE81EF91E0E94EE68BA -:10710000DC01CB018C199D09AE09BF09B7FD02C096 -:107110000C94BF4880E00E944F4EF0CF0E9479B09F -:107120000C94BF480E94407F0C94BF480E941D648D -:1071300081110C94BF4880E090E0A8E4B2E4898318 -:107140009A83AB83BC8380E090E0A0E2B1E48D83BE -:107150009E83AF83B88789879A87AB87BC8760E0B7 -:1071600070E080E50E9466B0BE016F5F7F4F0E94B5 -:10717000ACD40C94BF488091260B8770873011F0F7 -:107180000C94CA4860E08FE40E942B7F81110C941C -:10719000BF480C94CA4860E083E50E948DFB182F1D -:1071A000863030F085EC97E00E9427B70C94BF48FA -:1071B000833009F404C128F48130E9F0823049F1C8 -:1071C00006C0843009F451C1853009F45EC182EBF8 -:1071D00097E00E9427B70E94CBB6882339F08091B0 -:1071E000900B0E94ACB80E9412B855C184EA97E097 -:1071F0000E9427B750C10E9489B6109201021092D6 -:10720000000289E997E090930A09809309090C9498 -:10721000BF48809100029091010297FF06C080E76D -:1072200097E00E9427B70C94BF480097A1F4809183 -:107230006C028093250819821A821B821C821C8E84 -:107240001D8E1E8E1F8EBE016F5F7F4FCE014C962E -:107250000E9420E327C0815065E00F94A01680FFB4 -:1072600003C024E0291B922F25E09202F001112493 -:10727000E80FF11D87FDFA95EE0FFF1FEE0FFF1FC0 -:10728000EB50F74E8091800B9091810BA091820B77 -:10729000B091830B80839183A283B383809125086F -:1072A00080936C02809100029091010289319105D6 -:1072B0000CF063C010926C029C012F5F3F4F309323 -:1072C00001022093000265E00F94A01680FF03C026 -:1072D00024E0291B922F19821A821B821C8244E00F -:1072E000840290011124B9016557744E4B01DB01F2 -:1072F0002D913D914D915C91B4E09B02C001112410 -:10730000FC01E156F44E5F016081718182819381BD -:10731000DE0111966D01E12CF12C00EA10E40E94CF -:1073200041E219821A821B821C828DEC9CECACE437 -:10733000BEE38C8F9D8FAE8FBF8FB601CE014C9672 -:107340000E9420E3F50180819181A281B381809325 -:10735000780B9093790BA0937A0BB0937B0BF4018D -:1073600080819181A281B38180937C0B90937D0B6E -:10737000A0937E0BB0937F0B90C080E090E0A0EADA -:10738000B0E48093800B9093810BA093820BB09319 -:10739000830B8FE492E00E9422E20E9413D98FEFC8 -:1073A0009FEF90930102809300028CE597E00E948A -:1073B00027B70E94C26681E00E94ACB66EC089E425 -:1073C0000E941E7F8823B1F00E949A7E182F85307C -:1073D00060F064E070E089E497E00E94E7B886E43A -:1073E00097E00E9427B70C94BF488AE40E941E7F52 -:1073F000811105C08AE40F94B90A0C94BF480E9419 -:107400009A7E082F853060F064E070E083E397E0B7 -:107410000E94E7B880E397E00E9427B70C94BF482A -:107420008AE50E941E7F8823D9F00E949E7E9B01E0 -:10743000AC0165E01602F0011124E00FF11D07FD1B -:10744000FA95EE0FFF1FEE0FFF1FEB50F74E208354 -:10745000318342835383602F812F0E948BBE33C0C0 -:107460008AE50F94B90A0C94BF488AE50E941E7FF2 -:107470008823B1F30E949E7E6093F1187093F218F6 -:107480008093F3189093F4181EC080E00E94ACB66D -:107490000E9489B618C01230B1F460910002709158 -:1074A00001026931710514F069E170E081E297E051 -:1074B0000E94E7B869E170E08CE197E00E94E7B8CC -:1074C0008AE00E94234D0E945DE30C94BF48209304 -:1074D0001D080C94BF4850EE252E52E0352E65EE67 -:1074E000E62E68E1F62E88E79BE09DA38CA379ED5C -:1074F000C72E78E1D72E00E010E0D1018D911D015B -:107500000E941E7F882309F44BC00E949E7E2B019F -:107510003C01133049F0F6012081318142815381D1 -:107520000F94EA162B013C01ACA1BDA12D913D9118 -:107530004D915C91C301B2010F94EA164B015C01BD -:107540002DEB37E346E855EB0F944B1987FD0AC046 -:107550002DEB37E346E855E3C501B4010F94E70F7F -:107560001816F4F4133051F44092840B5092850BAA -:107570006092860B7092870B01E012C0A501940106 -:10758000F70160817181828193810F94EB16D7019D -:107590006D937D938D939C931397812F0E9456DE5C -:1075A0001F5FB4E0EB0EF11CECA1FDA13496FDA32E -:1075B000ECA3F4E0CF0ED11C143009F09ECF0023D1 -:1075C00009F481CF84E89BE00E9424D97CCF80918C -:1075D0003602882311F40C94BF4889E40E941E7F70 -:1075E000E82E882321F00E949A7E082F01C000E037 -:1075F0008AE40E941E7FF82E882321F00E949A7E42 -:10760000182F01C010E0EE2011F0053020F4FF200B -:1076100041F0153030F08CED97E00E9427B70C94C4 -:10762000BF480E94487DEE2091F024E00202F00164 -:107630001124E156F44E80819181A281B38180931F -:10764000160B9093170BA093180BB093190BFF20F8 -:1076500091F034E01302F0011124E557F44E8081DB -:107660009181A281B38180931A0B90931B0BA093FD -:107670001C0BB0931D0B40E050E0BA0186E40E9461 -:10768000B9BF6B017C0120E030E0A9010F944B19D8 -:10769000181684F420E030E040E752E4C701B60158 -:1076A0000F94E51760934F0270935002809351023C -:1076B000909352020E9425DF0C94BF480E940F64F1 -:1076C0000C94BF488091C8189091C91883379105D0 -:1076D00009F4B6C70CF0D4C08934910509F47BC411 -:1076E0000CF05CC08931910509F4FCC21CF58431B1 -:1076F000910509F473C27CF48131910509F45AC2F1 -:107700002CF4029708F4D3C10C94A948429709F4C9 -:10771000C8C60C94A9488631910509F489C20CF4B5 -:1077200083C28731910509F48CC2489709F4A1C23C -:107730000C94A9488E31910509F461C3ACF48B31E6 -:10774000910509F4E8C20CF4D8C28C31910509F412 -:107750004CC34D9711F00C94A9488091CC1C8E7F9E -:107760008093CC1C0C94BF488132910509F4DCC392 -:107770004CF48F31910509F4EBC3809709F49EC353 -:107780000C94A9488A32910509F402C48B9711F030 -:107790000C94A9480E94BDB40C94BF48883691054A -:1077A00009F4C2C4D4F58135910509F468C6C4F45E -:1077B0008C34910509F41EC44CF48B34910511F0FE -:1077C0000C94A9480E9479FD0C94BF488D34910512 -:1077D00009F414C48E34910509F414C40C94A94816 -:1077E0008435910509F45DC674F48235910509F478 -:1077F00055C68335910511F00C94A94881E080931A -:1078000017080C94BF488535910509F476C68C3568 -:10781000910509F48BC60C94A9488D36910509F49D -:10782000BBC48CF48A36910509F4F6C50CF4BAC5CC -:107830008B36910509F416C68C36910511F40C941B -:10784000BF480C94A9488037910511F40C94BF48A7 -:1078500054F48E36910509F409C58F36910509F463 -:1078600016C50C94A9488137910509F455C582378E -:10787000910511F00C94A9480E949BCD0C94BF482F -:107880008D3241E0940711F40C949A450CF086C0B7 -:10789000893C910511F40C944744DCF58937910536 -:1078A00009F485C7ECF48637910509F443C734F42D -:1078B0008537910509F42DC70C94A94887379105A0 -:1078C00009F472C78837910511F00C94A94881E03A -:1078D0008093F9088093F8080E94B0E40C94BF48A4 -:1078E0008B39910509F472C554F48D37910509F46B -:1078F000C3C58C38910509F431C50C94A9488E3B59 -:10790000910509F43DC5883C910509F457C70C94CD -:10791000A948833D910511F40C94DA440CF58C3C94 -:10792000910511F40C948C4434F48B3C910509F4CA -:10793000D4C70C94A9488D3C910511F40C94BD4416 -:107940008E3C910511F00C94A948F0EECF2EF2E098 -:10795000DF2EACEFEA2EA8E0FA2E10E00C94C8441B -:107960008D3D910511F40C94ED4464F4893D91052D -:1079700011F40C94DD448C3D910511F40C94E04419 -:107980000C94A948823E910511F40C94434582322F -:10799000914011F40C948F450C94A948853F71E0F7 -:1079A000970711F40C948D470CF044C08A39B1E06C -:1079B0009B0711F40C94BF48C4F48F32F1E09F0789 -:1079C00011F40C94D14614F40C948D46803331E0BC -:1079D000930711F40C941A468039914011F00C94DD -:1079E000A9480E9413D90C94BF48853A51E09507E5 -:1079F00011F40C94F8467CF48C3971E0970711F47B -:107A00000C94D446843A914011F00C94A9480E94F9 -:107A100099FB0C94BF488C3AB1E09B0711F40C948D -:107A2000FB46843F914011F00C94A9480E9428CF56 -:107A30000C94BF488835F2E09F0711F40C94B547C9 -:107A4000B4F4873F31E0930711F40C94934714F496 -:107A50000C949047883F51E0950711F40C949C4793 -:107A60008C30924011F40C94AD470C94A9488438A2 -:107A700073E0970711F40C9433486CF48B35B2E043 -:107A80009B0711F40C94B8478C36934011F40C9476 -:107A9000BF480C94A948803AF3E09F0709F448C214 -:107AA000873E934011F40C949B480C94A948009194 -:107AB000A8181091A91880E50E941E7F882361F004 -:107AC0000E94F1F96B017C01BB24B394672B682BF6 -:107AD000692B31F4B12C04C0B12CC12CD12C76010E -:107AE00083E50E941E7F882311F40C94994A0E941A -:107AF0009E7E20E030E04AE754E40F944D100F944E -:107B00005E186B017C01B1100BC0672B682B692BD1 -:107B100039F40115110521F0D8018C91811102C0B1 -:107B2000B12C02C0BB24B3940E9413D9B11003C07E -:107B30008EE196E001C0C8010E948FBF10911E081F -:107B400083E080931E0881E08093CB184DE058E0DD -:107B500066E178E082E00E94F0B78BEF97E00E9448 -:107B60008FBFC114D104E104F104B1F00E94EE68AA -:107B7000C60ED71EE81EF91E0E94EE68DC01CB017E -:107B80008C199D09AE09BF09B7FF0EC08091CB18B3 -:107B900081110C949E4A08C08091CB18882321F053 -:107BA00080E00E944F4EF8CF1092CB1810931E0821 -:107BB0000C94BF488091C41884FF02C00C94A34A5F -:107BC0008091C61887FF02C00C94A34A8091C71801 -:107BD000837011F00C94A34A0C94C04A80E498E09E -:107BE0000E9427B71092FD0A88E79AE10E94499502 -:107BF0008BE1E8E7FAE1DE01119601900D928A959A -:107C0000E1F740E050E0BE016F5F7F4F80E090E021 -:107C10000E94F659CE0101960E947F9681E398E07A -:107C20000E9427B70C94BF480E94E1580C94BF48AB -:107C30000E9470588091CC1C877F8093CC1C0C9440 -:107C4000BF48E091A818F091A9188081882329F0F5 -:107C5000803209F410823196F8CF40E061E08091E3 -:107C6000A8189091A9180E94CC5B1092CC180C9483 -:107C7000BF4880918F0A8823E9F080E090E0A0EA75 -:107C8000B1E488A399A3AAA3BBA31C8E1D8E1E8E4C -:107C90001F8E19821A821B821C8220E0AE01405E78 -:107CA0005F4FBE01645E7F4FCE0101960E942FB9E7 -:107CB0000C94BF480E9402C7882321F00E9481587B -:107CC0000E9479FD40E050E061E578E085E00E94A7 -:107CD0000BB861E08DE79BE20E9436B70E94F8D5B1 -:107CE0000C94BF488091CC1C82FF03C08B7F809393 -:107CF000CC1C0E9498AF0C94BF488091CC1C83FD93 -:107D000002C00C94BF4883E50E941E7F81110C9431 -:107D1000CF4A0C94BF4883E40E94D57E8823D9F1D2 -:107D200085E698E00E9427B78091221A882351F1B6 -:107D3000BE016F5F7F4F8FE19AE10E9410948E0128 -:107D40000F5F1F4FF80181918F01882319F00E9466 -:107D5000234DF8CFBE016F5F7F4F80E090E00E941F -:107D6000945B8091A00D882389F080E20E94234DCE -:107D700000EA1DE0D8018D918D01882339F00E9421 -:107D8000234DF8CF8BE598E00E9427B78AE00E9448 -:107D9000234D0C94BF4883E50E941E7F882309F180 -:107DA0000E94767E182F90E0CD970CF01CE3109384 -:107DB0000E080E94EE686B017C01212F30E0A8EED6 -:107DC000B3E00F949116C60ED71EE81EF91EC0929E -:107DD0000A08D0920B08E0920C08F0920D080C945F -:107DE000BF480E9449580C94BF4840E060E0809131 -:107DF000A8189091A9180E94CC5B0C94BF48809160 -:107E0000CC1C83FD02C00C94BF480E94F563809196 -:107E1000CC1C83FD02C00C94BF486091A8187091DF -:107E2000A918CE014C960E94CEED8C01009711F45A -:107E30000C94BF486C8D7D8D19821C8222E0AC01B0 -:107E4000CE0101960E94629A811102C0F12C14C0E9 -:107E5000CE0101960E943CED8823C1F361E0CE0182 -:107E600001960E94F493009789F325EEFC0120838C -:107E70001C820E940396F82ECE0101960E947F96E6 -:107E8000B801FF2089F08FE898E00E94F4B88AE0FA -:107E90000E94234D1092C81C1092C91C1092CA1C3B -:107EA0001092CB1C0C94BF4887E798E00E94F4B86E -:107EB00084E798E00E9427B70C94BF488091CC1CBF -:107EC00082FD0E9413D98091CC1C83FD02C00C94CA -:107ED000BF4860E080E50E942B7F182F482F61E0AB -:107EE0008091A8189091A9180E94CC5B83E50E940C -:107EF0001E7F882381F00E94667EAB01BC01409307 -:107F0000C81C5093C91C6093CA1C7093CB1C8FE192 -:107F10009AE10E940A930E94815811110C94BF4863 -:107F20000E9479FD0C94BF480E9425C60C94BF485E -:107F30002091A8183091A9189091CC1C9260909330 -:107F4000CC1C40E060E0C9010E94CC5B0C94BF48AF -:107F50000E9424D46C8F7D8F8E8F9F8FBE016F5FA8 -:107F60007F4FCE014C960E9449C560E0CE0101963C -:107F70000E94CFD50E940BB9BE016F5F7F4F8DE984 -:107F800098E00E94F4B88AE00E94234D0C94BF4808 -:107F900083E50E941E7F882311F40C94BF480E9441 -:107FA000767EF82E6DE070E080E50E944CAC8C018E -:107FB00097FF02C00C94BF48E82E60E089E40E945D -:107FC0002B7F81110C94E04A802F0E94444C811138 -:107FD00077C50C94E04A80E50E94D57E882311F491 -:107FE0000C94BF488091CC1C82FF02C00C94BF4807 -:107FF0000C94F94A0E9473D40C94BF480E94EEA4DA -:108000000C94BF4860E070E083E50E944CAC8E3475 -:10801000910531F40E942BFE0E94F8D50C94BF48C4 -:1080200088E099E00E9427B76091E8087091E9081C -:108030008FEF98E00E94C9B86091EA087091EB0850 -:1080400082EF98E00E94C9B86091E8087091E90851 -:108050008091EA089091EB08681B790B80915C1283 -:10806000815021E030E0823010F020E030E0621BEF -:10807000730B87EE98E00E94C9B88AE00E94234DF6 -:108080008FED98E00E9427B78091EC089091ED0861 -:10809000A091EE08B091EF088C8F9D8FAE8FBF8FAF -:1080A000BE016F5F7F4FCE014C960E9449C5BE0155 -:1080B0006F5F7F4F82ED98E00E94F4B88091F008E6 -:1080C0009091F108A091F208B091F3088C8F9D8FE8 -:1080D000AE8FBF8FBE016F5F7F4FCE014C960E9467 -:1080E00049C5BE016F5F7F4F82EC98E00E94F4B8F3 -:1080F00020E030E04AE754E46091F4087091F5081C -:108100008091F6089091F7080F94E517AB01BC0138 -:108110008AEA98E00E94D6B88DE60E94234D8AE054 -:108120000E94234D0C94BF4880912A1283FF02C005 -:108130000C94BF480E9448AE182F87FF02C00C94D1 -:10814000BF4883E50E941E7F882311F10E949E7E16 -:108150000F9457187B01212F110F330BF901EE0FEC -:10816000FF1FEF5DFD4E718360834091770B50E000 -:108170002417350711F00C94BF48CB010E94539B84 -:10818000F1E5EF16F10424F40E94EEA40E94F8D564 -:108190000F9439070C94BF4880912A1283FF02C0C4 -:1081A0000C94BF480E9448AE082F87FF02C00C9471 -:1081B000BF4883E50E941E7FF82E811107C082E52B -:1081C0000E941E7F182F882309F446C00E949E7EBD -:1081D0000F945718402F002E000C550BFA01EE0F8C -:1081E000FF1FEF5DFD4E718360832091770B30E0C0 -:1081F0004217530709F0C3C7CB010E94539B0E944B -:108200009E7E20E030E040EA52E40F94E70F18161B -:1082100014F40C94044B0E94EEA40E94F8D56091D3 -:10822000BE087091BF08072E000C880B990B0F94A5 -:10823000EE0F2091BA083091BB084091BC085091D4 -:10824000BD080F944B19181614F40C94084BFF201A -:1082500011F40C94084B11E00F943907112309F421 -:108260008EC76F2D802F0E94928A89C78EE40E944C -:108270001E7F882309F483C70E94667E6093A4183A -:108280007093A5188093A6189093A71878C783E5D4 -:108290000E94D57E882331F060E083E50E948DFB4B -:1082A00080932A120E940BB98EE199E00E9427B7B1 -:1082B00080912A12882369F134E1E32E39E0F32E0C -:1082C00000E010E020E080912A1290E0A0E0B0E011 -:1082D000002E04C0B695A795979587950A94D2F776 -:1082E00080FF0EC0DD24D394D20E222319F08CE23D -:1082F0000E94234DF701859194910E9427B72D2D5F -:108300000F5F1F4F32E0E30EF11C05301105D9F667 -:108310003DCD80E199E038CD83E50E941E7F882322 -:1083200071F00E94767E282F30E02D3331051CF449 -:108330008093020224C78CE38093020220C70E942C -:108340000BB94091020250E060E070E085E299E0F4 -:108350000E94B8B88AE00E94234D11C780912A126A -:1083600083FD0DC783E50E941E7F882309F407C79C -:108370000E949E7E0F945718CB010E943A7DFFC643 -:1083800080912A1283FDFBC683E50E941E7F182F71 -:1083900081110C940D4B82E50E941E7F81110C947B -:1083A0000D4BEDC60E9448AE182F87FD0AC08AE427 -:1083B00099E00E9427B7812F0E94A1888AE00E943D -:1083C000234D4CAD40931E080C94274C83E50E942E -:1083D0001E7F882309F4D3C60E94767E182F90E072 -:1083E000CD970CF01CE3109313080E94EE686B010C -:1083F0007C01212F30E0A8EEB3E00F949116C60E59 -:10840000D71EE81EF91EC0920F08D0921008E09205 -:108410001108F0921208B3C66091770B80E50E94B4 -:108420008DFB182F823008F0AAC681E40E94D57E09 -:10843000882341F0E091770BF0E0E95DFD4E60812B -:1084400070E002C06FEF70E083E50E9466B08F3F7E -:10845000910519F010F08FEF90E0BC01812F0E9480 -:1084600083F98DC66091770B80E50E948DFB60E0FB -:1084700070E00E9483F983C60E9498AF80C60E9474 -:108480007E920E94EEA40E94A7DA0E94884C68EEB9 -:1084900073E080E090E00E94F8B671C61092170871 -:1084A0006EC683E50E941E7F882399F00E949E7EFF -:1084B00020E030E04AE754E40F944D100F945E182A -:1084C0006093030270930402809305029093060266 -:1084D00056C68091C41884FF02C00C94424B809110 -:1084E000C61887FF02C00C94424B8091C718837056 -:1084F00011F00C94424B0C94734B83E50E94D57E93 -:10850000882309F43CC60E949E7E20E030E04AE7C2 -:1085100054E40F944D100F945E18609318087093F4 -:10852000190880931A0890931B0829C60E9448AE28 -:1085300087FD25C69091C41894FD04C09091C6187B -:1085400097FF0AC090EEC92E92E0D92E29EDE22EB7 -:1085500021E1F22E10E009C09091C718937091F7B5 -:10856000682F81E00E9482B40AC6D6018D916D0108 -:108570000E941E7F882309F459C0133009F04FC0B0 -:108580000E949E7E4B015C0120E030E040EA51E415 -:108590000F94E70F87FF3AC0A50194016091F9118C -:1085A0007091FA118091FB119091FC110F94E517D5 -:1085B0002B013C019B01AC016091091270910A12E0 -:1085C00080910B1290910C120F944D106093091230 -:1085D00070930A1280930B1290930C1260912311E6 -:1085E0007091241180912511909126110F94EC0F18 -:1085F000A30192010F944D100F945E186093231104 -:108600007093241180932511909326118092F91173 -:108610009092FA11A092FB11B092FC1107C00E9437 -:108620009E7EF701648B758B868B978B1F5FF4E0C2 -:10863000EF0EF11C143009F098CF0E94747B9FC597 -:1086400081E79AE00E9427B760E081E69AE00E9405 -:1086500081CD60E08CE49AE00E9481CD61E085E408 -:108660009AE00E9481CD61E08AE39AE00E9481CD88 -:1086700061E08AE29AE00E9481CD60E081E29AE0C6 -:108680000E9481CD61E087E19AE00E9481CD60E0A7 -:108690008DE09AE00E9481CD60E085E09AE00E9442 -:1086A00081CD61E087EF99E00E9481CD61E089EEA4 -:1086B00099E00E9481CD60E08AED99E00E9481CD31 -:1086C00060E08CEC99E00E9481CD60E086EB99E05F -:1086D0000E9481CD61E085EA99E00E9481CD61E050 -:1086E00086E999E00E9481CD61E081E899E00E94ED -:1086F00081CD61E08EE699E00E9481CD60E081E667 -:1087000099E00E9481CD60E08DE499E00E9481CDE6 -:1087100036C58091A8189091A918009741F0DC0106 -:108720002C91222321F060E00E94CFD528C50E9421 -:10873000F8D525C50091A8181091A91894E0F12C3E -:1087400040E0915021F1F8018081282F2B7F2134C6 -:1087500021F421812133D9F407C08035C1F481810E -:1087600080538A3048F013C0813421F0853421F4DD -:1087700041E002C0FF24F39498012E5F3F4F89012E -:108780002F5F3F4FF80180818032C9F3DACF41116A -:108790000E940BB9FF2021F089E59BE00E9427B7DA -:1087A000C8010E942E4EEBC40E946EE4E8C41092F1 -:1087B000F9081092F8080E94B0E4E1C40E9448AEA3 -:1087C000182F87FDDCC484E40E94D57E882309F439 -:1087D0005BC00E949E7E6B017C0101E020E030E0E6 -:1087E000A9010F94E70F811101C000E0009359190E -:1087F00020E030E0A901C701B6010F94E70F8823FC -:1088000009F442C00E949E7E24E01202F00111246D -:10881000EE59F64E608371838283938320E030E0CB -:10882000A901609162197091631980916419909106 -:1088300065190F94E70F81110CC080E090E0A0EE65 -:10884000BFE38093621990936319A0936419B09366 -:10885000651920E030E0A9016091661970916719EF -:1088600080916819909169190F94E70F81110CC0DC -:1088700080E090E0A0EEBFE38093661990936719C3 -:10888000A0936819B09369190E94FEDB78C40E9416 -:1088900048AE87FD74C410EEE12E12E0F12E09ED12 -:1088A00011E189EEC82E81E1D82ED7018D917D018D -:1088B0000E94D57E882349F00E949E7E0F945E1808 -:1088C000F80160837183828393830C5F1F4FC0160E -:1088D000D10659F70E949CD852C40E9448AE87FD29 -:1088E0004EC4B0EEEB2EB2E0FB2E09ED11E1D70144 -:1088F0008D917D010E94D57E882339F00E949E7E55 -:10890000F80164A375A386A397A30C5F1F4FF1E141 -:10891000093E1F0761F733C48091C51887FDE6C67D -:108920008091C6188E7009F0E1C640910D125091E9 -:108930000E1260910F127091101283E69BE00E945C -:10894000D6B8409111125091121260911312709189 -:10895000141280E69BE00E94D6B840911512509107 -:10896000161260911712709118128DE59BE00E940B -:10897000D6B88AE00E94234D02C40E9401FAFFC3C8 -:108980001F5FF4E0EF0EF11C133011F40C94633A06 -:10899000D6018D916D010E94D57E882389F30E94B6 -:1089A0009E7EF7016083718382839383812F0E946F -:1089B00056DEE6CF0E94CDB3E2C30E94C3ACDFC354 -:1089C00083E50E941E7F882309F4D9C30E949A7E02 -:1089D00090936E0280936D02D2C30E9448AEF82E2F -:1089E00087FDCDC383E50E941E7F0F2D0F2C000C49 -:1089F000110B882369F10E949A7EF801EE0FFF1F88 -:108A0000E859FD4F91838083000F111F000F111F44 -:108A100098012D5D3D4F7901BC01990F880B990B91 -:108A20000F94EE0F2AE037ED43E25CE30F944D1014 -:108A3000F801E65AF64E20813181428153810F942C -:108A40004D10D7016D937D938D939C93139797C38E -:108A50000E940BB985E40E94234D80E38F0D0E9494 -:108A6000234DF801EE0FFF1FE859FD4F6081718122 -:108A700083E79BE00E94E7B885E20E94234D8AE0ED -:108A80000E94234D7CC380E50E94D57E882309F493 -:108A900076C360E070E080E50E944CACF82E6FEF8A -:108AA0007FEF83E50E944CAC8C010196039708F0A0 -:108AB00066C3F7FC64C38F2D0E94444C882339F0B1 -:108AC0000E9407B98BE79BE00E9427B758C30E941A -:108AD00013D960E08F2D0E9490670F3FBFEF1B07F7 -:108AE00031F00130110571F000E010E00DC08F2D64 -:108AF0000E94386731E020E0892B09F030E0032F35 -:108B0000122F02C001E010E08F2D0E9438678017FD -:108B1000910709F434C380E00E944F4EF5CF8AE5F7 -:108B20000E941E7F811128C683E50E941E7F81114D -:108B300023C625C360E085E40E948DFB811173C0CC -:108B400080E50E94D57E882351F00E949E7E60932E -:108B5000C1087093C2088093C3089093C40889E445 -:108B60000E94D57E882381F00E949E7E2CEA35ECFF -:108B700047E25EE30F944D106093C5087093C608FA -:108B80008093C7089093C80884E40E94D57E882308 -:108B900081F00E949E7E2CEA35EC47E25EE30F9462 -:108BA000E5176093C9087093CA088093CB08909327 -:108BB000CC080E940BB94091C1085091C208609145 -:108BC000C3087091C40884EA9BE00E94D6B82CEADE -:108BD00035EC47E25EE36091C5087091C60880916C -:108BE000C7089091C8080F94E517AB01BC0180EA53 -:108BF0009BE00E94D6B82CEA35EC47E25EE3609138 -:108C0000C9087091CA088091CB089091CC080F9444 -:108C10004D10AB01BC018CE99BE00E94D6B88AE004 -:108C20000E94234DACC20E9407B98AE89BE00E94D3 -:108C300027B7A5C280E50E94D57E882351F00E9407 -:108C40009E7E6093D8087093D9088093DA08909339 -:108C5000DB0889E40E94D57E882381F00E949E7EF5 -:108C60002CEA35EC47E25EE30F944D106093DC088C -:108C70007093DD088093DE089093DF0884E40E94FF -:108C8000D57E882381F00E949E7E2CEA35EC47E257 -:108C90005EE30F94E5176093E0087093E10880931A -:108CA000E2089093E3080E940BB94091D8085091D4 -:108CB000D9086091DA087091DB0880EB9BE00E9494 -:108CC000D6B82CEA35EC47E25EE36091DC0870919F -:108CD000DD088091DE089091DF080F94E517AB0165 -:108CE000BC018CEA9BE00E94D6B82CEA35EC47E246 -:108CF0005EE36091E0087091E1088091E208909154 -:108D0000E3080F944D10AB01BC0188EA9BE00E9480 -:108D1000D6B88AE00E94234D32C283E50E94D57EF8 -:108D2000182F882371F00E949E7E0F94571870931D -:108D300054026093530221E0672B09F020E0209356 -:108D4000291280E50E94D57E882359F02091530294 -:108D500030915402232B11F00E948A7E80932912B5 -:108D60000EC211110CC20E940BB980ED9BE00E9453 -:108D700027B780912912882319F088EB9BE002C065 -:108D800084EB9BE00E9427B76091530270915402DC -:108D90008FEB9BE00E94E7B88BEB9BE00E9427B72C -:108DA000EEC10E94D0BFEBC18091C418887809F051 -:108DB00013C58091C618867009F00EC50E940BB9C4 -:108DC00083E09CE00E9427B7809156020E94ACB8D5 -:108DD00040916F0250917002609171027091720225 -:108DE00083EE9BE00E94D6B88AE00E94234DC7C163 -:108DF0000E94A9FAC4C10E941D648111C0C10AEA7F -:108E00001BE2E8E7FBE0FDA3ECA39E012F5F3F4FD1 -:108E100049015FEFA52E5BE2B52E1901F8016591BE -:108E2000759185919491ACA1BDA1CD90DD90ED900F -:108E3000FD90BDA3ACA3A70196010F94EA162B01E8 -:108E40003C01F101608371838283938320E030E0F1 -:108E500040EA51EC0F944B1987FD0AC020E030E046 -:108E600040EA51E4C301B2010F94E70F18162CF445 -:108E7000F501849118160CF4DFC4D101CD90DD907A -:108E8000ED90FD901D0120E030E040EA51ECC7017B -:108E9000B6010F944B1987FD0AC020E030E040EA8C -:108EA00051E4C701B6010F94E70F181664F40E944D -:108EB00007B982E39CE00E9427B761E084E29CE06E -:108EC0000E9474D55CC10C5F1F4FBFEFAB1ABB0A89 -:108ED000E6EBFBE2E017F10709F0A0CF4CEFE42E40 -:108EE00048E0F42E10E0F40181919191A191B191AB -:108EF0004F01F70181939193A193B1937F01812F4A -:108F00000E9456DE1F5F133071F70E945DE360E040 -:108F100084E19CE00E9474D532C10E94A4F32FC169 -:108F20000E94EAEE2CC161E083E50E942B7F91E074 -:108F300089270E9471F023C181E08093151D0E9452 -:108F4000BBE41092151D882309F419C10E940BB9C6 -:108F500080E59CE00E9427B712C18091CC1C82FF63 -:108F60000EC180628093CC1C0AC10E9472AE07C100 -:108F70000E9448AE082F87FD02C185E50E94D57E7C -:108F80008823B1F1A02E002E000CBB080E949E7E0B -:108F90006B017C0120E030E0A9010F944B1987FFA1 -:108FA00004C0F7FAF094F7F8F094C50133E0880FA5 -:108FB000991F3A95E1F79C01265E324E5901D9017D -:108FC000CD92DD92ED92FC92139720E030E04AEFD3 -:108FD00053E4C701B6010F944B1918164CF480E006 -:108FE00090E0AAEFB3E4F50180839183A283B38379 -:108FF0008CE40E94D57E882309F4C1C0002E000CA9 -:10900000110B0E949E7E6B017C0120E030E0A901E3 -:109010000F944B1987FF04C0F7FAF094F7F8F09417 -:1090200023E0000F111F2A95E1F7065E124ED801CA -:109030001496CD92DD92ED92FC92179720E030E0ED -:109040004AEF53E4C701B6010F944B1918160CF000 -:1090500096C080E090E0AAEFB3E4F80184839583A2 -:10906000A683B7838CC06091770B70E084E50E9483 -:109070004CAC8C01823028F084E89CE00E9427B739 -:109080007EC08BE40E941E7F882349F10E949E7E51 -:109090006B017C0120E030E0A9010F944B1987FDA2 -:1090A00019C020E030E040E251E4C701B6010F945E -:1090B000E70F18167CF00E9413D9F801FF27EE0F76 -:1090C000FF1FEE0FFF1FE15DFE4EC082D182E282E4 -:1090D000F38255C085E69CE00E9427B750C00E94ED -:1090E0000BB98BE59CE00E9427B70FE211E1C12C80 -:1090F000D12C760180E20E94234DC701B6010E9467 -:10910000974D8DE30E94234DD8016D917D918D91F6 -:109110009D918D0142E00E94B34DBFEFCB1ADB0A57 -:10912000EB0AFB0AE2E0CE16D104E104F10411F4EB -:109130000C94C63EDFCF81E0809336021092670B1D -:1091400060E083E50E942B7F811119C00E9410C747 -:1091500016C00E940F6413C01091C8188091770B3D -:10916000181729F060E083E50E942B7F01C081E0A1 -:10917000682F812F0E94118C02C00E940F642296DA -:10918000FFAD2297F11102C00E9458C72CAD209369 -:109190001E085DC30E9413D93091900B3CAB80E058 -:1091A0000E94ACB680914F0290915002A091510262 -:1091B000B09152028093210890932208A093230833 -:1091C000B093240880916D0290916E0290932008D4 -:1091D00080931F0884E690E090936E0280936D0266 -:1091E00081E08093F9080E94B0E488E50E94D57E72 -:1091F000182F89E50E94D57E082F8AE50E94D57E2A -:10920000101395C1181711F0012F91C101E011E061 -:1092100071E07CA70E94487D82E50E941E7F882322 -:1092200061F00E949E7E6B017C0120E030E0A9018C -:109230000F94E70F882369F106C0C12CD12C80E878 -:10924000E82E80E4F82E111103C0002309F4FCC0BD -:10925000C0921E0BD0921F0BE092200BF092210BBC -:10926000A70196016091800B7091810B8091820B18 -:109270009091830B0F94E70F87FF0BC019821A821E -:109280001B821C82BE016F5F7F4F8EE19BE00E94BC -:1092900020E3112309F4D3C0002309F4CDC01092B8 -:1092A0007C0B10927D0B10927E0B10927F0B109214 -:1092B000780B1092790B10927A0B10927B0B0E9414 -:1092C0005BE3EFEFFBE2849188AFE3EFFBE2C59055 -:1092D000D590E590F490E7EFFBE285909590A5900E -:1092E000B490A5019401C701B6010F944B1918164B -:1092F0002CF4A7019601C501B40104C0A501940195 -:10930000C701B6010F94E5172B013C01EAEBFBE224 -:1093100025913591459154912CA33DA34EA35FA374 -:10932000E6EBFBE2459155916591749148A759A7E9 -:109330006AA77BA79A01AB016CA17DA18EA19FA119 -:109340000F944B19181634F428A439A45AA558AB15 -:109350001BA505C02CA03DA06EA168AB1FA1A30159 -:109360009201C301B2010F944D1020E030E040E8BB -:109370005FE30F94EB160F949919910148A9512FAF -:109380000F944D1068A379A38AA39BA3E0E0FCE2AD -:10939000149120E030E040EC5FE3C501B4010F948C -:1093A0004D104B015C01612F110F770B880B990B4E -:1093B0000F94EE0F9B01AC01C501B4010F944D1049 -:1093C00069837A838B839C8320E030E040EC5FE309 -:1093D000C701B6010F944D106B017C01A8AD6A2F37 -:1093E000AA0F770B880B990B0F94EE0F9B01AC0122 -:1093F000C701B6010F944D106C8F7D8F8E8F9F8F9C -:10940000AE01405E5F4FBE016F5F7F4FCE014C9655 -:109410000E94FEE20F94AE0A10927C0B10927D0B1C -:1094200010927E0B10927F0B1092780B1092790B9A -:1094300010927A0B10927B0B80E00F94DD070023D3 -:1094400019F081E00F94DD07BCA5BB2309F44BC0E4 -:10945000809180198370833061F060E08EE097E046 -:109460000E9474D50E940BB98FEF96E00E9427B737 -:109470003AC00E945BE380E090E0A8E4B2E480930D -:10948000160B9093170BA093180BB093190B80E059 -:1094900090E0ACE8B2E480931A0B90931B0BA0937E -:1094A0001C0BB0931D0B8091800B9091810BA091B0 -:1094B000820BB091830B80931E0B90931F0BA09394 -:1094C000200BB093210B19821A821B821C82AE01E1 -:1094D0004F5F5F4F6AE17BE086E19BE00E94FEE226 -:1094E00082E00F94DD070E945BE38091F80880938F -:1094F000F9088CA90E94ACB68091210890912208AD -:10950000A0912308B091240880934F0290935002B9 -:10951000A0935102B093520280911F0890912008AD -:1095200090936E0280936D020E945DE328CE8CA71B -:1095300071CEB1100C94903D0C94893D80E00E9456 -:109540004F4E0C94BC3D88E50E94D57E81115F98FA -:1095500089E50E94D57E81118A988AE50E94D57E90 -:10956000882329F08091080181708093060185E4A9 -:109570000E94D57E882309F402CE12984798FFCD29 -:1095800060E088E298E00E9474D55F988A988091A4 -:10959000080181708093060112984798F0CD0E94CF -:1095A000667EAB01BC014093C81C5093C91C6093FC -:1095B000CA1C7093CB1C8FE19AE10E940A93DFCD05 -:1095C00061E0802F0E9490676F2D802F0E9461675D -:1095D0006F2D70E0802F0E94CC6747E0E41203C03B -:1095E000F0922812CCCD59E0E512C9CDF0922712A5 -:1095F000C6CD0E94767E90E08536910514F084E613 -:1096000090E08093CC18BBCD0E9479FD0C940F4163 -:10961000802F0E9483880C942B410E949E7E0F9481 -:109620005718CB010E943A7D0E949E7E20E030E0D8 -:1096300040EA50E40F944B19181614F40E9479FD77 -:109640006091D5087091D608072E000C880B990BF5 -:109650000F94EE0F2091D1083091D2084091D30899 -:109660005091D4080F944B1918161CF48BE399E011 -:1096700002C08CE299E060E00E9474D5812F0E94C4 -:1096800013897DCD0E9413D988E50E94D57E882359 -:1096900031F05F9A809180198E7F8093801989E5DF -:1096A0000E94D57E882331F08A9A809180198D7F1F -:1096B000809380198AE50E94D57E882359F0809195 -:1096C00008018095817080930601809180198B7FBD -:1096D0008093801985E40E94D57E882309F44FCDBC -:1096E0000E94414C4CCD0E94A7DA49CD83E50E94EF -:1096F0001E7F882391F00E949E7E60930D127093CE -:109700000E1280930F1290931012609315127093A3 -:109710001612809317129093181280E50E941E7FF4 -:10972000882351F00E949E7E60930D1270930E125A -:1097300080930F129093101282E50E941E7F88235F -:1097400051F00E949E7E60931112709312128093CA -:1097500013129093141284E50E941E7F882309F44B -:109760000ECD0E949E7E6093151270931612809308 -:1097700017129093181203CD0E949E7E20E030E0D5 -:1097800040E050EC0F94E70F87FD12C00E949E7ED0 -:1097900020E030E040E050E40F944B1918161CF024 -:1097A0000E949E7E09C060E070E080E090E404C00A -:1097B00060E070E080E090EC2091F5113091F611BE -:1097C0004091F7115091F8110F944D100F945718C4 -:1097D000CB010E94B6EED3CC88E40E94D57E8823CC -:1097E00021F00E948A7E80931C0882E50E94D57E2B -:1097F000082F83E50E94D57E182F011102C088230F -:1098000051F01092B4080E94694C112321F00E947B -:109810008A7E8093560284E40E94D57E882309F4D0 -:10982000AECC0E949E7E60936F0270937002809314 -:10983000710290937202A3CCF7FAF094F7F8F094C7 -:10984000D101CD92DD92ED92FC92139716CBCF5BB6 -:10985000DF4F0FB6F894DEBF0FBECDBFDF91CF91C3 -:109860001F910F91FF90EF90DF90CF90BF90AF903E -:109870009F908F907F906F905F904F903F902F9030 -:109880000895129A479A0895FF920F931F93CF93CA -:10989000DF931F92CDB7DEB7F82E06EB1CE041E058 -:1098A00050E0B801CE0101960F94210F89818F11EC -:1098B00002C081E007C00F5F1F4F8CE0023D180718 -:1098C00071F780E00F90DF91CF911F910F91FF9082 -:1098D000089580916F0290917002A0917102B091F1 -:1098E0007202E1EBF7E180839183A283B3838483E7 -:1098F0009583A683B783089580912B08811107C0B3 -:109900000E94A4F3882319F081E080932B08089526 -:1099100060E070E080E00E9483F960E070E081E048 -:109920000C9483F98F929F92AF92BF92CF92DF9265 -:10993000EF92FF920F93CF93DF931F92CDB7DEB7D5 -:109940005C016B017A014901F501808191810F94DD -:1099500017168983002311F0F6018083BE016F5F23 -:109960007F4FC4010E9458EBF501808191810196DF -:1099700091838083FFEFCF1ADF0A81E0E81AF108B4 -:1099800019F780E00F90DF91CF910F91FF90EF904A -:10999000DF90CF90BF90AF909F908F9008957F926F -:1099A0008F929F92AF92BF92CF92DF92EF92FF92EF -:1099B0000F931F93CF93DF931F92CDB7DEB77C0138 -:1099C00059018B016B01C40ED51E0C151D0559F1F3 -:1099D000F70180809180F80171908F017982C40134 -:1099E0000F941716781691F0672DC4010F941F1667 -:1099F000C4010F9417169981891741F00E940BB981 -:109A00008CE99CE00E9427B781E00EC0BE016F5F29 -:109A10007F4FC5010E9458EBF7018081918101962B -:109A200091838083D2CF80E00F90DF91CF911F91FF -:109A30000F91FF90EF90DF90CF90BF90AF909F90ED -:109A40008F907F9008959091C00095FFFCCF8093F8 -:109A5000C60008958F929F92AF92BF92EF92FF92AD -:109A60000F931F93CF93DF93CDB7DEB7A0970FB6B9 -:109A7000F894DEBF0FBECDBF61157105810591055C -:109A800091F100E0842E912CA12CB12C102FEE240A -:109A9000E394F12CEC0EFD1EE00EF11C07FDFA9490 -:109AA000A50194010F943D16F7016083B901CA0125 -:109AB0000F5F611571058105910541F71F3F31F178 -:109AC000E1E0F0E0EC0FFD1FE10FF11D17FDFA954D -:109AD00080818A3010F097E301C090E3890F0E94E3 -:109AE000234D1150EBCF80E3A0960FB6F894DEBF64 -:109AF0000FBECDBFDF91CF911F910F91FF90EF90DF -:109B0000BF90AF909F908F900C94234DA0960FB66E -:109B1000F894DEBF0FBECDBFDF91CF911F910F91A3 -:109B2000FF90EF90BF90AF909F908F900895CF924D -:109B3000DF92EF92FF926B017C0197FF0BC08DE2E9 -:109B40000E94234DF094E094D094C094C11CD11C89 -:109B5000E11CF11C4AE0C701B601FF90EF90DF90D5 -:109B6000CF900C942A4D8F929F92AF92BF92CF923A -:109B7000DF92EF92FF92CF936B017C01B42E20E035 -:109B800030E0A9010F94E70F87FF07C08DE20E9424 -:109B9000234DF7FAF094F7F8F094C0E060E070E03D -:109BA00080E09FE3CB1541F02DEC3CEC4CEC5DE309 -:109BB0000F944D10CF5FF6CF9B01AC01C701B601EA -:109BC0000F94EB166B017C010F945E184B015C0146 -:109BD0004AE00E942A4DCC2389F1C501B4010F94BB -:109BE000EC0F9B01AC01C701B6010F94EA166B01A3 -:109BF0007C018EE20E94234D20E030E040E251E4FF -:109C0000C701B6010F944D104B015C010F9457181A -:109C10006B01770FEE08FF08C701B6010E94974D50 -:109C2000C701B6010F94EE0F9B01AC01C501B40151 -:109C30000F94EA166B017C01C150F1F6CF91FF90B1 -:109C4000EF90DF90CF90BF90AF909F908F9008954E -:109C50008DE00E94234D8AE00C94234DCF93DF9337 -:109C6000EC018991882319F00E94234DFACFDF91EE -:109C7000CF910C94284E809120189091211898171C -:109C800059F0E92FF0E0E05EF74E82819F5F9F7709 -:109C90009093211890E008958FEF9FEF08952F92F1 -:109CA0003F924F925F926F927F928F929F92AF926C -:109CB000BF92CF92DF92EF92FF920F931F93CF93B9 -:109CC000DF93CDB7DEB728970FB6F894DEBF0FBE8F -:109CD000CDBFE82E0E94311A0E94EE684B015C0154 -:109CE00080910202882359F180911E08882339F15E -:109CF00040912C0850912D0860912E0870912F08EA -:109D000095018401041B150B260B370B37FD2AC068 -:109D1000833079F03CF4813094F00E940BB981E0FB -:109D20009DE00BC0843059F40E940BB982ED9CE099 -:109D300004C00E940BB98AEE9CE00E9427B72091D4 -:109D4000020230E0A8EEB3E00F949116860E971E43 -:109D5000A81EB91E80922C0890922D08A0922E0861 -:109D6000B0922F0880915602882309F44FC0809149 -:109D7000B40881114BC08091CC1C82FD09C0809138 -:109D80005C12813029F080918F0A882309F43EC04B -:109D9000F8948091770B4CB142954170209103016A -:109DA000922F917020FD92E0492B93E0492750E0DB -:109DB00060E070E0082E04C076956795579547954A -:109DC0000A94D2F714E0819FC001112440FD0FC016 -:109DD00040916F0250917002609171027091720215 -:109DE000FC01EF54F84E4083518362837383FC017E -:109DF000EF54F84E6081718182819381789420E0E4 -:109E000030E0A9010F94E70F87FD9AC580918C0A75 -:109E1000843008F07FC20E94EE684B015C018091A3 -:109E20008C0A81111DC08091201890912118891BE6 -:109E30008F77B1F48091950890919608A09197083A -:109E4000B0919808A5019401281B390B4A0B5B0BB4 -:109E5000DA01C901885E9340A109B109B7FFE3C5E2 -:109E600070E6F72E80918C0A843008F036C180911C -:109E7000201890912118891B8F7709F42EC10E9418 -:109E80003B4EAC0197FDEECF2091A2183091A31864 -:109E90008A3019F08D3009F0E8C01092940821152D -:109EA000310519F40E9481F5DDCFF901EC5CF74F23 -:109EB00010821092A3181092A21804E318E0F8017F -:109EC0008191803211F48F01FACF8E3409F07AC07B -:109ED0000115110509F476C063E87EE0C8010F940E -:109EE000650F6C01892B41F06EE470E0C8010496A7 -:109EF0000F943E1A009709F4C8014AE050E060E070 -:109F000070E001960F94DD0C609330087093310877 -:109F100080933208909333084090A4185090A5186D -:109F20006090A6187090A7183FEF431A530A630A6F -:109F3000730A641575058605970531F0CD2821F45F -:109F400060E080E59EE0C7C06AE270E0C8010F945F -:109F50006D1A9C01009709F1982F901BD12C992321 -:109F600039F09150F801E90FF11D8081D826F7CF23 -:109F70004AE050E060E070E0C90101960F94DD0C0A -:109F80004D2C512C612C712C641575058605970597 -:109F900041F060E081E39EE09EC060E087E09EE0EB -:109FA0009AC08091300890913108A0913208B09108 -:109FB00033088093A4189093A518A093A618B09383 -:109FC000A71812C08091CC1C80FF0EC06FEF7FE0FD -:109FD000C8010F94650F009709F47AC0FC018381D2 -:109FE00080538A3008F474C08091360281111CC0FD -:109FF00067E470E0C8010F943E1A0097A9F04AE0A8 -:10A0000050E060E070E001960F94DD0C6430710563 -:10A010008105910548F486E69DE00E9427B760E03F -:10A020008CE59DE00E9474D58092950890929608E8 -:10A03000A0929708B0929808809134088B3309F465 -:10A0400011CF80918C0A843008F00CCF80910809E0 -:10A05000F89EC001112464E378E0855F964F0F9469 -:10A06000491A81E00E94ADC7FDCE2F3531050CF0B5 -:10A07000F9CE8C35C1F40E943B4E97FDF3CE209172 -:10A0800094082111EFCE2091A2183091A318A901B4 -:10A090004F5F5F4F5093A3184093A218F901EC5CF7 -:10A0A000F74F8083DFCE8B3321F481E080939408D7 -:10A0B000D9CE809194088111D5CEC9010196909393 -:10A0C000A3188093A218F901EC5CF74F4083CACE25 -:10A0D00060E08DED9DE00E942CC78091CC1C82FF3A -:10A0E00019C180918C0A811102C010929A08DD2456 -:10A0F000D3944091C81C5091C91C6091CA1C7091A6 -:10A10000CB1C8091C41C9091C51CA091C61CB09121 -:10A11000C71C481759076A077B0708F4D12C00E0D1 -:10A1200010E0CC24C39440E6B42E54E6A52E69E694 -:10A13000962E80918C0A843008F0ECC0D110EAC0D1 -:10A1400080919A088111E6C08091271A9091281A6F -:10A15000A091291AB0912A1A8093C81C9093C91C07 -:10A16000A093CA1CB093CB1C41E050E0BE016F5FCE -:10A170007F4F8FE19AE10E94EF96019719F4898150 -:10A1800090E002C08FEF9FEFF82E4090C81C5090D7 -:10A19000C91C6090CA1C7090CB1C4091C41C50918B -:10A1A000C51C6091C61C7091C71CDD24D394441655 -:10A1B00055066606770608F4D12C44165506660641 -:10A1C0007706B0F4019609F461C02AE0F21609F4AA -:10A1D0006EC03DE0F31609F46AC043E2F41619F0CC -:10A1E0005AE3F5127CC080919908811178C054C05F -:10A1F0000E9413D98FE19AE10E9476968091C31C48 -:10A20000882339F181508093C31C989EC00111248A -:10A2100041E061E08C56954F0E94CC5BE091C31CFD -:10A2200064E0E69FF0011124E057F54F4081518131 -:10A23000628173814093C81C5093C91C6093CA1CEF -:10A240007093CB1C8FE19AE10E940A930E9481587F -:10A2500016C00E9470580E94A7DA0E94EEA40E94C5 -:10A2600024D46D3371058105910518F48EE89EE0C4 -:10A2700002C083E99EE00E94F4C7A092CC188091AE -:10A28000CC1C82FD0DC086EA9EE004C00E9407B986 -:10A2900087E99EE00E9427B773E2F71208C005C065 -:10A2A00053E2F512CDC300E010E0C0929A0810927C -:10A2B00099080115110519F40E9481F50DC08091CE -:10A2C0000809B89E000D111D1124F801E55FF64F35 -:10A2D000108280E00E94ADC700E010E02ACF0F3569 -:10A2E000110508F026CF8BE3F81203C0C09299083D -:10A2F00020CF8091990881111CCF80910809F80125 -:10A30000B89EE00DF11D1124E55FF64FF0820F5F5E -:10A310001F4F0FCF0E94EE684B015C01409118085F -:10A320005091190860911A0870911B084115510548 -:10A330006105710529F18091781990917919A091A1 -:10A340007A19B0917B19840F951FA61FB71F95012D -:10A350008401081B190B2A0B3B0B37FD11C00E940F -:10A3600007B96091690B70916A0B8AEB9EE00E94BD -:10A37000F4B88AE00E94234D80E090E00E9467ECF0 -:10A38000409103025091040260910502709106020F -:10A39000411551056105710509F44EC09091961A59 -:10A3A0008091971A981759F00E94EE686093781977 -:10A3B0007093791980937A1990937B193DC080919D -:10A3C0008F0A811137C0E11035C0809178199091C2 -:10A3D0007919A0917A19B0917B19840F951FA61F46 -:10A3E000B71FA5019401281B390B4A0B5B0B57FDC6 -:10A3F00021C08091AB0881111FC081E08093AB0820 -:10A400005F9A809180198E7F809380198A9A8091BB -:10A4100080198D7F809380198091080180958170CB -:10A4200080930601809180198B7F809380190E9410 -:10A43000414C02C01092AB088091A7089091A808E7 -:10A44000A091A908B091AA08B501A401481B590B15 -:10A450006A0B7B0B77FDBCC12091961A9091971ADD -:10A4600080912F0210913002291317C0609127129A -:10A47000869FB0011124660F672F661F770B7195B9 -:10A48000062F80912812819FB0011124660F672F3B -:10A49000661F770B7195162F29C02091971A54E5E6 -:10A4A000259F900111242F593D4EF901EE5AFF4F7F -:10A4B0006081869FB0011124660F672F661F770B9E -:10A4C0007195062F31968081819FB0011124660F0E -:10A4D000672F661F770B7195162F8091971A9091B1 -:10A4E000961A981719F08F5F8F70F9CF002331F10A -:10A4F0000E94EE68C0909F08D090A008E090A1084C -:10A50000F090A208DC01CB01C114D104E104F104F4 -:10A5100069F48C599F4FAF4FBF4F80939F08909322 -:10A52000A008A093A108B093A20806C08C199D09A9 -:10A53000AE09BF09B7FF0AC00FEF08C010929F080D -:10A540001092A0081092A1081092A208602F70E04B -:10A5500089E00E94CC67112331F10E94EE68C0901F -:10A56000A308D090A408E090A508F090A608DC010C -:10A57000CB01C114D104E104F10469F48C599F4F5B -:10A58000AF4FBF4F8093A3089093A408A093A50852 -:10A59000B093A60806C08C199D09AE09BF09B7FF84 -:10A5A0000AC01FEF08C01092A3081092A4081092CE -:10A5B000A5081092A608612F70E087E00E94CC6782 -:10A5C0008091D411882309F4F6C0E0901B02F0902A -:10A5D0001C0200911D0210911E026091BE08709134 -:10A5E000BF086E5F7F4F072E000C880B990B0F94EE -:10A5F000EE0F9701A8010F94E70F87FDDCC03090A4 -:10A60000971A212C1A821B821C828091961A83151C -:10A6100009F467C0832D90E064E5689FF001699FAD -:10A62000F00D1124EF59FD4E458956896789708DCB -:10A63000452B462B472B89F4418D528D638D748DAC -:10A64000452B462B472B49F4458D568D678D70A1C0 -:10A65000452B462B472B09F43FC074E5789F9001AA -:10A66000799F300D1124C9018F599D4E6C01FC0159 -:10A6700061817281838194810F9499192B013C012E -:10A68000F60161A172A183A194A10F94EC0F6D83D7 -:10A690007E838F839887F60165A176A187A190A517 -:10A6A0000F94EC0F9B01AC016D817E818F819885A9 -:10A6B0000F94E517A30192010F944D103B016C011B -:10A6C000222D3A814B815C810F944B19181624F48A -:10A6D000262C7A82CB82DC8281E0830D8F70382E2B -:10A6E00094CF20911F02309120024091210250917D -:10A6F0002202622D7A818B819C810F944D109701EB -:10A70000A8010F94EB163B016C01209017023090CA -:10A7100018024090190250901A029B01AC01B70137 -:10A72000C8010F944B1918166CF09101A201B301E6 -:10A73000C6010F944B1918161CF47101820102C056 -:10A740007301860140909B0850909C0860909D0882 -:10A7500070909E089701A801C301B2010F944B1994 -:10A760001816C4F420E037ED43EA5CE3B701C801F2 -:10A770000F944D106B017C0128E431EE4AE75FE352 -:10A78000C301B2010F944D10A70196010F94EB166F -:10A790007B018C01C701D80180939B0890939C0892 -:10A7A000A0939D08B0939E08B701C8010F94571855 -:10A7B000CB010E94539BF4E68F0E911CA11CB11C8F -:10A7C0008092A7089092A808A092A908B092AA081F -:10A7D0000E9481F580915C12813009F06EC00E9468 -:10A7E000EE686B017C018091B0089091B108A09156 -:10A7F000B208B091B30897018601081B190B2A0B08 -:10A800003B0B37FD3AC080905D1290905E12A09095 -:10A810005F12B09060120E9424D460935D12709316 -:10A820005E1280935F12909360120091EC08109179 -:10A83000ED082091EE083091EF08081919092A094E -:10A840003B09DC01CB01800F911FA21FB31F809336 -:10A85000EC089093ED08A093EE08B093EF08D701B1 -:10A86000C601805F984DAF4FBF4F8093B008909363 -:10A87000B108A093B208B093B3088091AC0890914E -:10A88000AD08A091AE08B091AF08A7019601281BB2 -:10A89000390B4A0B5B0B57FD10C030E8C30E3EEE80 -:10A8A000D31EE11CF11CC092AC08D092AD08E0921E -:10A8B000AE08F092AF080E9405FE8091130888232D -:10A8C00091F00E94EE6800910F08109110082091FD -:10A8D000110830911208DC01CB01801B910BA20BF7 -:10A8E000B30BB7FFB0C00E94EE686B017C012091F2 -:10A8F0000E08222309F4C6C080910A0890910B0823 -:10A90000A0910C08B0910D08B701A601481B590B86 -:10A910006A0B7B0B77FDB6C030E0A8EEB3E00F9476 -:10A920009116C60ED71EE81EF91EC0920A08D092D4 -:10A930000B08E0920C08F0920D080E944958A2C042 -:10A9400011E01093B40880918F0A811169C081E3EE -:10A9500096E00E942E4E84E08093561282E080930F -:10A96000EA0781E09AE59093291B8093281B8EE4E7 -:10A9700090E090932B1B80932A1B87E080931C1BF5 -:10A9800082E880931F1B84E890E0A0E0B0E0809311 -:10A99000201B9093211BA093221BB093231B0E948A -:10A9A000C1EB0091770B005D10930C180E944EB71D -:10A9B00040E06BE47DE08FEE97E20E9466B7802F67 -:10A9C0000E94234D8AE00E94234D0E945AB7809135 -:10A9D0001C0860E0182719F08FEC96E20DC089E39F -:10A9E0009DE00E9436B7802F0E94234D8AE00E948E -:10A9F000234D60E083E19DE00E9436B787E29DE051 -:10AA00000E9427B7802F0E94234D8AE00E94234D89 -:10AA1000112331F089E19DE090930A09809309099F -:10AA20000E9413D9F3C988E89EE00E9427B780925C -:10AA3000950890929608A0929708B092980810CA2C -:10AA40001092990839CC0E94EE686B017C0120912C -:10AA5000130830E0A8EEB3E00F949116C60ED71E8F -:10AA6000E81EF91EC0920F08D0921008E09211085B -:10AA7000F09212088091770B0E94A1888AE00E94D0 -:10AA8000234D31CF28960FB6F894DEBF0FBECDBF51 -:10AA9000DF91CF911F910F91FF90EF90DF90CF90BA -:10AAA000BF90AF909F908F907F906F905F904F90EE -:10AAB0003F902F9008951F920F920FB60F9211247E -:10AAC0000F900FBE0F901F9018951F920F920FB608 -:10AAD0000F9211240BB60F920F931F932F933F9356 -:10AAE0004F935F936F937F938F939F93AF93BF9396 -:10AAF000CF93DF93EF93FF9300912118D09120180B -:10AB000011E01D0F1F77C091C60090912A08492FB0 -:10AB1000092E000C550B660B770B4131510508F0DF -:10AB200064C0FA018827ED56FF4F8F4F0D94D6165B -:10AB3000CD3449F0CE34B9F481E006C0CA3338F0E0 -:10AB4000CD3409F043C082E080932A0875C0C03339 -:10AB500008F072C0C03209F46FC0CD32B9F56CC0D4 -:10AB6000C13351F018F4C03289F566C0C43331F0F6 -:10AB7000C83361F58BE0E8CF83E0E6CF88E0E4CF2F -:10AB8000C03321F0C13311F586E0DECF84E0DCCFA5 -:10AB9000C833E1F485E0D8CFC233C1F487E0D4CF25 -:10ABA000C133A1F489E0D0CFC03381F48AE0CCCFA7 -:10ABB000C73361F48CE0C8CFC63341F48DE0C4CF15 -:10ABC000C032D1F1C33511F48EE0BECF80E1BCCFED -:10ABD00080ED8C0F8A3080F59FE090932A08809357 -:10ABE00029082AC0CA3041F525C0CA3029F580910C -:10ABF0008A1B8823F9F0973089F03CF49530D1F422 -:10AC0000109216021092CB1815C09A3059F09F304E -:10AC100089F4809129080E9492B70CC081E080934A -:10AC2000491D08C00E94FDDA0E9413D90E94AD633D -:10AC30000E945BE310922A08011731F0ED2FF0E03B -:10AC4000E05EF74EC283D12FD0932018FF91EF9191 -:10AC5000DF91CF91BF91AF919F918F917F916F9134 -:10AC60005F914F913F912F911F910F910F900BBECC -:10AC70000F900FBE0F901F9018958EBD0DB407FE5C -:10AC8000FDCF08958FEF8EBD0DB407FEFDCF8EB5BD -:10AC90000895909164009B7F90936400982F906A30 -:10ACA00096959CBD80FD03C091E0863009F490E04C -:10ACB0009DBD0895CF92DF92EF92FF920F931F9365 -:10ACC000CF93DF936C017A018B01C0E0D0E0CE1509 -:10ACD000DF0581F0D8016D918D01D601ED91FC91D8 -:10ACE0000190F081E02DC6011995892B11F0219674 -:10ACF000EECF7E01C701DF91CF911F910F91FF90A1 -:10AD0000EF90DF90CF900895089580E090E008954F -:10AD1000FC01538D448D252F30E0842F90E0821B61 -:10AD2000930B541710F0CF96089501970895FC01E6 -:10AD3000918D828D981761F0828DDF01A80FB11D72 -:10AD40005D968C91928D9F5F9F73928F90E0089596 -:10AD50008FEF9FEF0895FC01918D828D981731F050 -:10AD6000828DE80FF11D858D90E008958FEF9FEFA4 -:10AD70000895FC01918D228D892F90E0805C9F4F7A -:10AD8000821B91098F739927089582E899E10E94A7 -:10AD9000B95621E0892B09F420E0822F0895FC01A7 -:10ADA000848DDF01A80FB11DA35ABF4F2C91848D54 -:10ADB00090E001968F739927848FA689B7892C9389 -:10ADC000A089B1898C91837080648C93938D848DDC -:10ADD000981306C00288F389E02D80818F7D8083DF -:10ADE0000895EF92FF920F931F93CF93DF93EC019F -:10ADF00081E0888F9B8D8C8D981305C0E889F98937 -:10AE0000808185FD26C0F62E0B8D10E00F5F1F4F51 -:10AE10000F731127E02E8C8DE8120CC00FB607FCC3 -:10AE2000FACFE889F989808185FFF5CFCE010E94AC -:10AE3000CF56F1CF8B8DFE01E80FF11DE35AFF4F86 -:10AE4000F0829FB7F8940B8FEA89FB89808180623A -:10AE50000AC09FB7F894EE89FF896083E889F98971 -:10AE600080818370806480839FBF81E090E0DF9168 -:10AE7000CF911F910F91FF90EF900895CF93DF93A3 -:10AE8000EC01888D8823C9F0EA89FB89808185FDE2 -:10AE900005C0A889B9898C9186FD0FC00FB607FC43 -:10AEA000F5CF808185FFF2CFA889B9898C9185FF84 -:10AEB000EDCFCE010E94CF56E7CFDF91CF9108951D -:10AEC00080E090E0892B41F080E090E0892B21F038 -:10AED0000E940000811121C080E090E0892B41F0A8 -:10AEE00080E090E0892B21F00E940000811118C0C1 -:10AEF00080E090E0892B21F00E94C556811113C09B -:10AF000080E090E0892BA1F080E090E0892B81F037 -:10AF10000E94000081110AC008950E940000DCCF49 -:10AF20000E940000E5CF0E940000EACF0C940000D0 -:10AF30000895FC0120E03EE2DB014C91403241F0FB -:10AF4000283011F430833196DB014C9140833196E7 -:10AF50002F5F6F5F7F4F2B3079F7108208950F942A -:10AF6000FD190F931F93CF93DF938B01EA01DB0150 -:10AF70006D917C910E941094D801ED91FC911197F4 -:10AF800090818881992349F0893638F43196ED9380 -:10AF9000FC9388818F5F8883EFCF893658F48FE2E6 -:10AFA0008083F801808191810196918380838881DB -:10AFB0008F5F8883DF91CF911F910F9108951F922A -:10AFC0000F920FB60F9211240BB60F922F933F934F -:10AFD0004F935F936F937F938F939F93AF93BF93A1 -:10AFE000EF93FF9382E899E10E94CF56FF91EF9192 -:10AFF000BF91AF919F918F917F916F915F914F9191 -:10B000003F912F910F900BBE0F900FBE0F901F908E -:10B0100018951F920F920FB60F9211240BB60F9234 -:10B020002F938F939F93EF93FF93E0919219F09159 -:10B0300093198081E0919819F091991982FD12C0BD -:10B04000908180919B198F5F8F7320919C1982173B -:10B0500051F0E0919B19F0E0EE57F64E958F8093FA -:10B060009B1901C08081FF91EF919F918F912F914A -:10B070000F900BBE0F900FBE0F901F9018958BE195 -:10B08000E8E7FAE1ADE5BAE101900D928A95E1F7C2 -:10B0900008958091CC1C82FF1FC08FE791E10E9430 -:10B0A00027B76091C81C7091C91C8091CA1C9091EF -:10B0B000CB1C4AE00E942A4D8FE20E94234D6091F2 -:10B0C000C41C7091C51C8091C61C9091C71C4AE09D -:10B0D0000E942A4D0C94284E81E991E10C9427B7E7 -:10B0E00010928F0A8091CC1C8F7D8B7F8093CC1C1B -:10B0F0000E9402C7882321F08FE19AE10C94769692 -:10B1000008958091CC1C83FF03C084608093CC1C85 -:10B110000895CF92DF92EF92FF920F931F93CF93F8 -:10B12000DF93CDB7DEB7EDB6FEB6DC010D900020A3 -:10B13000E9F79D01281B390B2C5F3F4F4DB75EB7D8 -:10B14000421B530B0FB6F8945EBF0FBE4DBF0DB739 -:10B150001EB70F5F1F4F9F938F938BE790E19F93D5 -:10B160008F931F930F930F947F0F680154E0C50EC8 -:10B17000D11C0F900F900F900F900F900F90F60131 -:10B180008081882349F0082E000C990B0F94021A35 -:10B19000F60181936F01F3CFC8010E94C2C787E710 -:10B1A00090E10E94F4C70FB6F894FEBE0FBEEDBE4C -:10B1B000DF91CF911F910F91FF90EF90DF90CF9093 -:10B1C00008958F929F92AF92BF92CF92DF92EF92AB -:10B1D000FF92CF938091CC1C877F8093CC1C809171 -:10B1E0007B1A882321F088E79AE10E9476961092D4 -:10B1F0005C1A1092591A85E38093581A0E94EE68DF -:10B200006B017C0120EDC20E27E0D21EE11CF11C77 -:10B21000A89561E08091581A0E94616761E0809171 -:10B22000581A0E949067209A289A219A2398229A65 -:10B2300081E00E94495685E080935A1A0E9449563F -:10B24000CAE08FEF0E943D56C150D9F7A89520E083 -:10B2500030E0A90160E088E59AE10E94569580936C -:10B260005B1A813061F00E94EE68DC01CB018C1921 -:10B270009D09AE09BF09B7FDEACF81E062C0A8957C -:10B280002AEA31E040E050E068E088E59AE10E9477 -:10B290005695853011F481E00AC0C4E00E94425600 -:10B2A00080935B1AC150D1F78A3A61F482E08093AF -:10B2B0005C1AA89580915C1A823081F0812C912CC7 -:10B2C000540111C00E94EE68DC01CB018C199D096C -:10B2D000AE09BF09B7FDD4CF82E033C0812C912CD9 -:10B2E000A12C80E4B82E20E030E0A90167E388E5D6 -:10B2F0009AE10E945695A501940169E288E59AE1D8 -:10B300000E94569580935B1A882361F00E94EE6834 -:10B31000DC01CB018C199D09AE09BF09B7FDE3CF54 -:10B320008AE00FC080915C1A823021F520E030E085 -:10B33000A9016AE388E59AE10E945695882361F0A5 -:10B3400088E08093591A88E59AE10E944E950E9400 -:10B350000BB989E690E122C00E944256807C803C75 -:10B3600019F483E080935C1A0E9442560E94425670 -:10B370000E94425688E59AE10E944E9510925A1A10 -:10B3800081E00E94786181110CC080E00E947861A8 -:10B39000811107C00E9407B985E590E10E9427B797 -:10B3A0001AC06AE37AE188E79AE10E94A1938111C9 -:10B3B00005C00E9407B984E490E1F0CF8091CC1CD5 -:10B3C00088608093CC1C0E940BB988E390E10E94B6 -:10B3D00027B70E947C4CCF91FF90EF90DF90CF90E9 -:10B3E000BF90AF909F908F900C943F582F923F92B8 -:10B3F0005F926F927F928F929F92AF92BF92CF9205 -:10B40000DF92EF92FF920F931F93CF93DF93CDB70D -:10B41000DEB7C356D1090FB6F894DEBF0FBECDBF5D -:10B420008C016B014A012DB63EB6512C7E0187E599 -:10B43000E80EF11CF6018381823008F41FC180857B -:10B440009185A285B3858F719927AA27BB27892B60 -:10B450008A2B8B2B09F012C11092A00D40EA5DE0FF -:10B46000BE016F5F7F4FC6010E940B9818160CF04B -:10B4700005C18C85982F9871903129F42091FD0A8F -:10B480002150223078F42981222309F4F7C0253E87 -:10B4900089F22E3279F22091A00D2E3259F28A7063 -:10B4A00049F67CC06DB67EB6BE016F5F7F4FC701A7 -:10B4B0000E9499570115110521F0F8018081811131 -:10B4C00063C021E081E090E0F70101900020E9F7FE -:10B4D0003197EE19FF09E80FF91F32968DB79EB725 -:10B4E0008E1B9F0B0FB6F8949EBF0FBE8DBFEDB79E -:10B4F000FEB731965F01211102C0B80102C068E8B1 -:10B5000076E0C5010F94491AB701C5010F94331AAB -:10B5100068E876E0C5010F94331A19A21CA221E055 -:10B52000A701B601CE0181960E94629A81110DC0D9 -:10B530008091FD0A811109C00E940BB984E290E15B -:10B540000E9427B7C7010E942E4E8BE1FE01B196E3 -:10B55000DE01DC9601900D928A95E1F740E050E023 -:10B56000BE01645C7F4FC5010E94F659CE01CC96A6 -:10B570000E947F96CE0181960E947F960FB6F89426 -:10B580007EBE0FBE6DBE56CFF80101900020E9F7D8 -:10B590003197CF01801B910B20E096CF21E09031B5 -:10B5A00009F020E08091CC1C20FB84F98093CC1C16 -:10B5B000903141F08985873409F03CCF8A858E37F8 -:10B5C00009F438CF8091FD0A813021F068F0823093 -:10B5D000C1F130CF8091000B9091010B01969093B7 -:10B5E000010B8093000B26CFBE016F5F7F4F82EE71 -:10B5F0009DE00E9499570115110529F482EEA82EAD -:10B600008DE0B82E09C05801F50181915F018823B2 -:10B61000A9F30E94234DF8CFF50181915F018823A2 -:10B6200019F00E94234DF8CF80E20E94234D6D8DCA -:10B630007E8D8F8D98A14AE00E942A4D0E94284E4F -:10B64000F9CEBE016F5F7F4F82EE9DE00E94995759 -:10B650008114910441F062EE7DE0C4010F94201A40 -:10B66000892B51F40BC0852D90E02091FE0A30917A -:10B67000FF0A8217930711F05394DCCE0FB6F894AB -:10B680003EBE0FBE2DBECD59DF4F0FB6F894DEBFC4 -:10B690000FBECDBFDF91CF911F910F91FF90EF9023 -:10B6A000DF90CF90BF90AF909F908F907F906F90E2 -:10B6B0005F903F902F900895CF93DF93CDB7DEB783 -:10B6C0006B970FB6F894DEBF0FBECDBF81E08093BD -:10B6D000FD0A1092010B1092000B8DE59AE10E9479 -:10B6E00049958BE1EDE5FAE1DE01119601900D92AD -:10B6F0008A95E1F740E050E0BE016F5F7F4F80E048 -:10B7000090E00E94F659CE0101960E947F968091AA -:10B71000000B9091010B6B960FB6F894DEBF0FBE35 -:10B72000CDBFDF91CF9108950F931F93CF93DF93F8 -:10B73000CDB7DEB76B970FB6F894DEBF0FBECDBFA7 -:10B740008B0122E02093FD0A9093FF0A8093FE0A6A -:10B750008DE59AE10E9449958BE1EDE5FAE1DE0184 -:10B76000119601900D928A95E1F7A801BE016F5FD5 -:10B770007F4F80E090E00E94F659CE0101960E9432 -:10B780007F966B960FB6F894DEBF0FBECDBFDF91EC -:10B79000CF911F910F910895DF92EF92FF920F9337 -:10B7A0001F93CF93DF9300D01F92CDB7DEB72091C8 -:10B7B000CC1C23FF3DC1F42EE62E8C010E9402C753 -:10B7C000882309F481C0FF2009F48CC08091C31C38 -:10B7D000882351F00E9407B98AE391E10E9427B7BC -:10B7E00080E090E00E9467EC85E99AE09A83898383 -:10B7F0008FE28093940A81E08B83F12C9BE1D92E18 -:10B800008091C21CF81678F4DF9CC0011124AE01AF -:10B810004D5F5F4FBE016F5F7F4F8C54944E0E940F -:10B82000B157F394EDCF8B818B3578F4AE014D5F3A -:10B830005F4FBE016F5F7F4F8FE19AE10E94B1576A -:10B8400089819A8101979A838983E981FA8110829B -:10B85000E091C31C84E0E89FF0011124E057F54F0C -:10B860008091C81C9091C91CA091CA1CB091CB1C9E -:10B8700080839183A283B3830E940BB9B80181E2D4 -:10B8800091E10E94F4B86091C31C89E6689FB00101 -:10B8900011246C56754F86E191E10E94F4B84091F5 -:10B8A000C81C5091C91C6091CA1C7091CB1C80E1CE -:10B8B00091E10E94B8B88AE00E94234D8091C31C98 -:10B8C0008F5F8093C31C26C0FF2039F00E940BB904 -:10B8D00080E091E10E9427B71DC01092C31C82E056 -:10B8E000F82E02C0FF24F3940E940BB98BEF90E175 -:10B8F0000E9427B781E0F81609F497C087EE90E11F -:10B900000E9427B7B80183EF90E10E94F4B88AE063 -:10B910000E94234D0E947058B801CE0103960E94E8 -:10B92000CEED8C01009709F483C06B817C81EE2001 -:10B9300009F450C021E0AC018FE19AE10E94629AC3 -:10B94000882309F43FC08091301A9091311AA09158 -:10B95000321AB091331A8093C41C9093C51CA093E3 -:10B96000C61CB093C71C1092C81C1092C91C109220 -:10B97000CA1C1092CB1CB80189ED90E10E94F4B86A -:10B980004091C41C5091C51C6091C61C7091C71C8D -:10B9900081ED90E10E94B8B88AE00E94234D82ECCC -:10B9A00090E10E9427B7B80180E090E00E94945B8C -:10B9B0008091A00D811102C0C80102C080EA9DE003 -:10B9C00060E030C0B8018EEA90E10E94F4B88BEAE2 -:10B9D00090E10FC026E5AC018FE19AE10E94629AE6 -:10B9E00081110AC0B80187E990E10E94F4B884E9A6 -:10B9F00090E10E9427B71CC08091CC1C816080938D -:10BA0000CC1CB80180E090E00E94945B10928A1BED -:10BA1000B80182E890E10E94F4B88AE00E94234DC8 -:10BA200060E0C8010E94CFD503C08DEE90E168CFE1 -:10BA30000F900F900F900F90DF91CF911F910F916A -:10BA4000FF90EF90DF900895CF92DF92EF92FF92F8 -:10BA5000CF936B017C01C42F8091950D9091960D31 -:10BA6000A091970DB091980D8C159D05AE05BF0561 -:10BA7000D1F00E940396811102C080E018C025E930 -:10BA80003BE0B701A60180919E0D90919F0D0E9411 -:10BA90008596882391F3C092950DD092960DE092F1 -:10BAA000970DF092980D81E0C11180939D0DCF917B -:10BAB000FF90EF90DF90CF9008954F925F926F923A -:10BAC0007F928F929F92AF92BF92CF92DF92EF922E -:10BAD000FF920F931F93CF93DF93EC0142305105F8 -:10BAE0006105710510F480E069C089859A85AB8590 -:10BAF000BC850196A11DB11D84179507A607B70740 -:10BB000090F38F89803149F4852E962EA72EBB2481 -:10BB10008B899C89AD89BE890FC0803221F78B88C3 -:10BB20009C88AD88BE88DB01CA01E7E0B695A79581 -:10BB300097958795EA95D1F7880E991EAA1EBB1E88 -:10BB4000280139016A017B0141E0C501B4010E946D -:10BB5000245D882341F29F89903161F4DD24EE2435 -:10BB6000FF249601220F331FF901EB56F44F518247 -:10BB7000408211C0E894C7F8DD24EE24FF2496012A -:10BB8000220F331F220F331FF901EB56F44F40826F -:10BB90005182628273829A89923080F04D815E81F7 -:10BBA0006F817885840E951EA61EB71E8092990D12 -:10BBB00090929A0DA0929B0DB0929C0DDF91CF9127 -:10BBC0001F910F91FF90EF90DF90CF90BF90AF90BB -:10BBD0009F908F907F906F905F904F900895CF923D -:10BBE000DF92EF92FF920F931F93CF93DF93FC01AD -:10BBF00081859285A385B4850196A11DB11D841709 -:10BC00009507A607B70710F480E061C087898031E7 -:10BC100049F4BB27A72F962F852FC388D488E588A2 -:10BC2000F6880FC0803281F783899489A589B68907 -:10BC30006A017B01C7E0F694E794D794C794CA954C -:10BC4000D1F78C0D9D1DAE1DBF1DE9016A017B0161 -:10BC50008F014091950D5091960D6091970D7091C7 -:10BC6000980D84179507A607B70739F040E0BC0187 -:10BC7000CD010E94245D882339F2F8018789803143 -:10BC800079F4B701A601552766277727440F551F7A -:10BC9000FA01EB56F44F80819181A0E0B0E012C030 -:10BCA000B701A6014F77552766277727440F551F01 -:10BCB000440F551FFA01EB56F44F80819181A28108 -:10BCC000B381BF7088839983AA83BB8381E0DF91AE -:10BCD000CF911F910F91FF90EF90DF90CF9008953B -:10BCE0004F925F926F927F92AF92BF92CF92DF920C -:10BCF000EF92FF920F931F93CF93DF9300D01F9289 -:10BD0000CDB7DEB78C0149835A836B837C8359019D -:10BD1000C12CD12C7601412C82E0582E612C712C43 -:10BD200049815A816B817C819E012F5F3F4FC80101 -:10BD30000E94EF5D882341F1D301C201F80105841F -:10BD400004C0880F991FAA1FBB1F0A94D2F7C80E00 -:10BD5000D91EEA1EFB1E49815A816B817C8187892D -:10BD6000803139F481E0483F5F4F6105710538F457 -:10BD7000D7CF81E0483F5F4F6F4F7F4088F2F5019A -:10BD8000C082D182E282F3820F900F900F900F90C9 -:10BD9000DF91CF911F910F91FF90EF90DF90CF90A7 -:10BDA000BF90AF907F906F905F904F90089590E01C -:10BDB000FC013197E231F10508F04EC08827EC55BF -:10BDC000FF4F8F4F0D94D616809180008F7703C060 -:10BDD000809180008F7D8093800008958091800005 -:10BDE000877FF9CF84B58F7702C084B58F7D84BDFE -:10BDF00008958091B0008F7703C08091B0008F7D4F -:10BE00008093B0000895809190008F7707C0809153 -:10BE100090008F7D03C080919000877F8093900079 -:10BE200008958091A0008F7707C08091A0008F7D3A -:10BE300003C08091A000877F8093A0000895809127 -:10BE400020018F7707C0809120018F7D03C08091F2 -:10BE50002001877F8093200108953FB7F894809157 -:10BE6000060B9091070BA091080BB091090B26B51A -:10BE7000A89B05C02F3F19F00196A11DB11D3FBF22 -:10BE8000BA2FA92F982F8827820F911DA11DB11DB0 -:10BE9000BC01CD0142E0660F771F881F991F4A95AC -:10BEA000D1F70895CF93DF93CDB7DEB78091670BBD -:10BEB00081110FC09E01275F3F4F44ED52E16FE3B8 -:10BEC00070E087E29BE00F94AE0F87E29BE00E9458 -:10BED0004ABFDF91CF9108952F923F924F925F9288 -:10BEE0006F927F928F929F92AF92BF92CF92DF928A -:10BEF000EF92FF920F931F93CF93DF93D82FC62F0C -:10BF00008AE896E00E942E4ED1115AC0CC2389F0C7 -:10BF10000E945C5B8C01C12CD12CC0E0D0E0A12C34 -:10BF2000B12C80EA282E8DE0382E44244394512CE5 -:10BF30003FC00E94B2BC8111EBCF44C0C016D106F5 -:10BF400008F037C1C5014496C816D90608F031C1BA -:10BF50002FEFC21AD20A0F3F3FEF130709F0C3C1F8 -:10BF60000E945C5B8C018C159D0508F04EC1F101AF -:10BF700001900020E9F73197CF01805A9D403C01A4 -:10BF8000EE24E394F12C97012056324F490146E00C -:10BF900050E063E976E0C9010F94501A892B09F04B -:10BFA000F4C0E614F7040CF43FC18FEFA81AB80AE6 -:10BFB0000F3F2FEF120711F60E945C5B8C01BECF82 -:10BFC000C111A6CF3AE0C32E30E2D32EE12CF12CE2 -:10BFD000C5E0D2E8812C912C54011092291B1092BB -:10BFE000281BC0931C1BD0931F1BD701C601880DB3 -:10BFF000991DAA1DBB1D8093201B9093211BA0930C -:10C00000221BB093231B0E94C1EB8FEF881A980A62 -:10C01000A80AB80A9AE089169104A104B104E9F6C5 -:10C020002AE0C20ED11CE11CF11C32EDC31630E235 -:10C03000D306E104F10471F6C12C20E2D22EE12CEA -:10C04000F12CD5E0C2E81092291B1092281BD09346 -:10C050001C1BC0931F1BC092201BD092211BE0927F -:10C06000221BF092231B0E94C1EB1092291B1092FD -:10C07000281BD0931C1BC0931F1BD701C6018C52D9 -:10C080009F4FAF4FBF4F8093201B9093211BA093D6 -:10C09000221BB093231B0E94C1EB8FEFC81AD80A52 -:10C0A000E80AF80A9AE0C91690E2D906E104F10418 -:10C0B00051F69EEDC92E90E2D92EE12CF12CD5E05F -:10C0C000C2E81092291B1092281BD0931C1BC0930E -:10C0D0001F1BC092201BD092211BE092221BF092CA -:10C0E000231B0E94C1EB2FEFC21AD20AE20AF20A06 -:10C0F00036EEC31630E2D306E104F10411F7CC2486 -:10C10000C39482E1D82EE12CF12C0AE010E0D5E0B6 -:10C11000C2E81093291B0093281BD0931C1BC093CB -:10C120001F1BC092201BD092211BE092221BF09279 -:10C13000231B0E94C1EB1093291B0093281BD09353 -:10C140001C1BC0931F1BD701C6018096A11DB11DEA -:10C150008093201B9093211BA093221BB093231B41 -:10C160000E94C1EB8FEFC81AD80AE80AF80A95E1D5 -:10C17000C91692E1D906E104F10459F689ED93E07C -:10C180000E942E4E82E190E016C046E050E06AE93F -:10C1900076E0C4010F94501A892B09F402CF3FEFC7 -:10C1A000E31AF30AC7010197861597050CF4EBCE45 -:10C1B000F8CE81E190E09093291B8093281B85E0C5 -:10C1C00080931C1B82E880931F1B84E190E1A0E018 -:10C1D000B0E08093201B9093211BA093221BB0936F -:10C1E000231BDF91CF911F910F91FF90EF90DF9074 -:10C1F000CF90BF90AF909F908F907F906F905F9007 -:10C200004F903F902F900C94C1EB0F3F8FEF18078A -:10C2100019F40E945C5B8C0160E070E0C8018C192D -:10C220009D090E94945BA3CE22E12C9FC0012D9F0B -:10C23000900D11249C012E5B314F4901A701423121 -:10C24000510514F041E150E060EA7DE0C4010F9433 -:10C250005E1A32E13C9FC0013D9F900D112462EEB9 -:10C260007DE08655904F0F94491A8AE08C9FA0017B -:10C270008D9F500D1124465F5F4D052E000C660BFF -:10C28000770BFE01EE0FFF1FEE0FFF1FE151F24F84 -:10C290004383548365837683C4010E9470EB7E01DF -:10C2A0009FEFE91AF90AF092F10DE092F00D509229 -:10C2B000291B4092281B25E020931C1B32E8309359 -:10C2C0001F1BCF5FDD4ECE01DD0FAA0BBB0B809392 -:10C2D000201B9093211BA093221BB093231B0E9431 -:10C2E000C1EBE70165CE0C151D0508F440CE94CFD7 -:10C2F0004F925F926F927F928F929F92AF92BF9276 -:10C30000CF92DF92EF92FF921F93CF93DF93C82FCC -:10C3100088E59AE190939F0D80939E0D1092511A9B -:10C3200082E090E0A0E0B0E080933A1A90933B1A4C -:10C33000A0933C1AB0933D1A10929D0D1092990D46 -:10C3400010929A0D10929B0D10929C0D8FEF9FEF03 -:10C35000DC018093950D9093960DA093970DB0936B -:10C36000980DCC2379F1C53008F001C140E060E0C0 -:10C3700070E0CB010E94245D882309F4F8C020E11D -:10C38000C29FC00111248B57944FFC01E254FE4F11 -:10C3900020812F7709F0EBC03C964081518162816A -:10C3A0007381443651056105710508F4E0C0349786 -:10C3B000C080D180E280F380C114D104E104F10493 -:10C3C00021F4D5C0C12CD12C760140E0C701B601C3 -:10C3D0000E94245D182F882309F4C9C08091A00B06 -:10C3E0009091A10B8115924009F0C1C0A091A50BBD -:10C3F000AA2309F4BCC06091A30B7091A40B611532 -:10C40000710509F4B4C08090A20B882009F4AFC074 -:10C41000A0934C1A80923E1A80E0912CA12CB12C52 -:10C42000412C512C32014394C82FA3019201082EB4 -:10C4300004C0220F331F441F551F0A94D2F78216DF -:10C440009306A406B50639F08F5FC83069F789E016 -:10C450008093471A8CC08093471A2091AB0B309180 -:10C46000AC0B2115310519F040E050E008C02091D7 -:10C47000B90B3091BA0B4091BB0B5091BC0B209380 -:10C480003F1A3093401A4093411A5093421A460182 -:10C490005701860E971EA11CB11C80924D1A9092D6 -:10C4A0004E1AA0924F1AB092501AE091A60BF0913A -:10C4B000A70BF093531AE093521AB0E00F947E1634 -:10C4C000860E971EA81EB91E8092541A9092551A75 -:10C4D000A092561AB092571A85E0EE0FFF1F8A9568 -:10C4E000E1F7E150FE4FEF2FFF27E6958E0E9F1EDE -:10C4F000A11CB11C8092481A9092491AA0924A1A23 -:10C50000B0924B1A2091A80B3091A90B211531053F -:10C5100021F0A90160E070E008C04091B50B509196 -:10C52000B60B6091B70B7091B80BD701C601881993 -:10C530009909AA09BB09840F951FA61FB71F04C03C -:10C54000B695A79597958795CA95D2F78093431A84 -:10C550009093441AA093451AB093461A853F2FE052 -:10C560009207A105B10528F48CE08093511A10E0E0 -:10C570001AC0853F9F4FA105B10510F480E111C09D -:10C580008091C10B9091C20BA091C30BB091C40BD1 -:10C590008093541A9093551AA093561AB093571A31 -:10C5A00080E28093511A812FDF91CF911F91FF90EC -:10C5B000EF90DF90CF90BF90AF909F908F907F9043 -:10C5C0006F905F904F900895FF920F931F93CF93BA -:10C5D000DF938B01D82FC92F9B01482F592F6091D2 -:10C5E000910B7091920B8091930B9091940B0F94FF -:10C5F000E70F882309F45FC0F090900B80E00E9461 -:10C60000ACB620E030E0A901B8018D2F9C2F0F942B -:10C610004B19181624F000E010E0D0E0C0E0C8018B -:10C62000AD2FBC2F8093910B9093920BA093930B03 -:10C63000B093940B2DEB37E346E855EBB8018D2F03 -:10C640009C2F0F944B1987FD0BC02DEB37E346E869 -:10C6500055E3B8018D2F9C2F0F94E70F181654F453 -:10C6600098014D2F5C2F60E070E080E89FE30F940D -:10C67000E51703C060E070E0CB0160938C0B709312 -:10C680008D0B80938E0B90938F0B80EF9FEFA9E71C -:10C69000B4EC8093880B9093890BA0938A0BB09392 -:10C6A0008B0BFF2041F081E0DF91CF911F910F9123 -:10C6B000FF900C94ACB6DF91CF911F910F91FF903A -:10C6C0000895CF93DF93CDB7DEB760970FB6F89498 -:10C6D000DEBF0FBECDBFE8E7FBE080819181A28184 -:10C6E000B38189839A83AB83BC8384819581A6813E -:10C6F000B7818D839E83AF83B88780859185A2851E -:10C70000B38589879A87AB87BC8784859585A685FD -:10C71000B7858D879E87AF87B88BAE01475F5F4F28 -:10C72000BE016B5F7F4FCE0101960E9458DB9E01D8 -:10C73000235F3F4FAE01475F5F4FBE016B5F7F4F8F -:10C74000CE0101960E9480D960960FB6F894DEBFA4 -:10C750000FBECDBFDF91CF910895CF93DF93CDB7BB -:10C76000DEB760970FB6F894DEBF0FBECDBF0E9454 -:10C770003FE3EBE6FBE080819181A281B381898375 -:10C780009A83AB83BC8384819581A681B7818D8395 -:10C790009E83AF83B88780859185A285B38589877D -:10C7A0009A87AB87BC878091840B9091850BA09171 -:10C7B000860BB091870B8D879E87AF87B88BCE0194 -:10C7C00001960E9424DB80E1FE013196A8E7BBE0E0 -:10C7D00001900D928A95E1F760960FB6F894DEBF4E -:10C7E0000FBECDBFDF91CF9108958FE19AE10E94F6 -:10C7F00043968FE19AE10E9476968091CC1C8D7FC2 -:10C800008E7F8093CC1C1092C81C1092C91C109271 -:10C81000CA1C1092CB1C81E080938A1B08950E9451 -:10C820000BB96091690B70916A0B89EE92E10E94DD -:10C83000F4B886EE92E10C9427B71F93CF93DF9361 -:10C840008091260BC82FC270D82FD470182F11706A -:10C8500080FF04C0CC2311F0D11145C00E940BB958 -:10C860008EEC92E10E9427B7111103C088E50E9467 -:10C87000234DC11103C089E50E94234DD11103C08E -:10C880008AE50E94234D86EC92E10E9427B7DD23C2 -:10C8900019F04BEC55E002C042EB57E0CC2319F005 -:10C8A0002BEC35E002C021EA36E0112319F08BECC5 -:10C8B00095E002C08BE596E05F934F933F932F93F3 -:10C8C0009F938F9384ED92E19F938F931F920E9489 -:10C8D000525F8DB79EB709960FB6F8949EBF0FBEF4 -:10C8E0008DBF81E001C080E0DF91CF911F9108955D -:10C8F000AF92BF92CF92DF92EF92FF920F931F936E -:10C90000CF93DF93CDB7DEB72C970FB6F894DEBF89 -:10C910000FBECDBF20EEC22E22E0D22E5C0170E011 -:10C92000CB0180529D4F7C01CE14DF0409F180E2DF -:10C930000E94234DF60181916F010E94234D8AE3ED -:10C940000E94234DF50161917191819191915F0157 -:10C950008E010F5F1F4F23E041E00F94BF0A8C014F -:10C96000F80181918F018823F9F20E94234DF8CFBD -:10C970008AE00E94234D2C960FB6F894DEBF0FBEBE -:10C98000CDBFDF91CF911F910F91FF90EF90DF907E -:10C99000CF90BF90AF900895CF93DF9300D01F92B8 -:10C9A000CDB7DEB78091121181111BC081E0809359 -:10C9B00012118091120B9091130BA091140BB09156 -:10C9C000150BB05889839A83AB83BC839E012F5F7C -:10C9D0003F4F4EE15BE06AE17BE086E19BE00E9435 -:10C9E000527D0F900F900F900F90DF91CF9108958F -:10C9F000CF93DF9300D01F92CDB7DEB78091121195 -:10CA00008823F9F02AE939E949E95FE36091120BDB -:10CA10007091130B8091140B9091150B0F944D1086 -:10CA200069837A838B839C839E012F5F3F4F4EE106 -:10CA30005BE06AE17BE086E19BE00E94527D109220 -:10CA400012110F900F900F900F90DF91CF910895DA -:10CA50002F923F924F925F926F927F928F929F920E -:10CA6000AF92BF92CF92DF92EF92FF920F931F93FC -:10CA7000CF93DF93CDB7DEB7A0970FB6F894DEBFA4 -:10CA80000FBECDBF1C018B015A8749873C872B877E -:10CA9000C090780BD090790BE0907A0BF0907B0BE4 -:10CAA000DC018D919D910D90BC91A02D8D879E876D -:10CAB000AF87B88B9C01AD01C701B6010F94EA1690 -:10CAC0002B013C0180917C0B90917D0BA0917E0B02 -:10CAD000B0917F0B898B9A8BAB8BBC8BD8018D91DE -:10CAE0009D910D90BC91A02D8D8B9E8BAF8BB88F9F -:10CAF0009C01AD0169897A898B899C890F94EA161A -:10CB00004B015C01A3019201C301B2010F944D10CE -:10CB10002B013C01A5019401C501B4010F944D10F6 -:10CB20009B01AC01C301B2010F94EB16698F7A8FA0 -:10CB30008B8F9C8FE985FA8540805180628073805D -:10CB4000A3019201C701B6010F94EA166D8F7E8F83 -:10CB50008F8F98A3AB85BC858D909D90AD90BC9038 -:10CB6000A501940169897A898B899C890F94EA16B9 -:10CB70006B017C012D853E854F855889C301B2012B -:10CB80000F94EA162B013C012D893E894F89588D5F -:10CB9000C501B4010F94EA164B015C01A301920197 -:10CBA000C301B2010F944D102B013C01A50194016A -:10CBB000C501B4010F944D109B01AC01C301B2013A -:10CBC0000F94EB160F9499194B015C012D8D3E8D3E -:10CBD0004F8D58A1CA01B9010F944D102B013C0192 -:10CBE000A7019601C701B6010F944D109B01AC013E -:10CBF000C301B2010F94EB169B01AC01698D7A8DD4 -:10CC00008B8D9C8D0F944B19181604F520E030E0A5 -:10CC1000A901C501B4010F944B1987FF04C0C501D8 -:10CC2000B401905802C0C501B40120E030E040EAF0 -:10CC300050E40F944B1918164CF49801A1016B8520 -:10CC40007C8589859A850E94286583C020E030E034 -:10CC500040E050E4698D7A8D8B8D9C8D0F944B193B -:10CC600018160CF044C00E94CC6419821A821B82F0 -:10CC70001C8220E030E040E05FE36091800B709127 -:10CC8000810B8091820B9091830B0F94EB166D8337 -:10CC90007E838F8398879E012F5F3F4FAE014B5F4E -:10CCA0005F4F6CE77BE088E79BE00E94527D198232 -:10CCB0001A821B821C8220E030E040E05FE360913A -:10CCC0000A0B70910B0B80910C0B90910D0B0F9434 -:10CCD000EB166D837E838F8398879E012F5F3F4F76 -:10CCE000AE014B5F5F4FB801C1010E94527D1982B6 -:10CCF0001A821B821C829E012F5F3F4F4AE05BE03D -:10CD0000B801C1010E94527D2DEC3CEC4CEC5CE37F -:10CD1000C501B4010F944D109B01AC0160910E0B45 -:10CD200070910F0B8091100B9091110B0F944D107F -:10CD300069837A838B839C830E94F8649E012F5FB2 -:10CD40003F4F4AE05BE06B857C8589859A850E9430 -:10CD5000527DA0960FB6F894DEBF0FBECDBFDF9117 -:10CD6000CF911F910F91FF90EF90DF90CF90BF90E8 -:10CD7000AF909F908F907F906F905F904F903F907B -:10CD80002F9008954F925F926F927F928F929F9211 -:10CD9000AF92BF92CF92DF92EF92FF920F931F93C9 -:10CDA000CF93DF93CDB7DEB74DB65EB66090690B1B -:10CDB00070906A0B82ECE82E82E1F82E8DB69EB65A -:10CDC0006AE070E0C7010F942A0F6C01009721F010 -:10CDD0008C010E191F0904C0C7010F94350F8C0177 -:10CDE000C80101962DB73EB7281B390B0FB6F89432 -:10CDF0003EBF0FBE2DBF8DB79EB701965C01A80147 -:10CE0000B7010F94560FF501E00FF11F1082C50115 -:10CE10000E944FC881E00E943836C114D10451F0FD -:10CE200076019FEFE91AF90A0FB6F8949EBE0FBE7D -:10CE30008DBEC4CF0FB6F8949EBE0FBE8DBEC3018B -:10CE40000E944FC80FB6F8945EBE0FBE4DBEDF9174 -:10CE5000CF911F910F91FF90EF90DF90CF90BF90F7 -:10CE6000AF909F908F907F906F905F904F900895BC -:10CE7000CF93DF93282F30E0F901E458FD4E8491E1 -:10CE8000F901EA5CFD4ED491F901E051FE4EC491E6 -:10CE9000CC2391F081110E94D75EEC2FF0E0EE0FD1 -:10CEA000FF1FEA52FE4EA591B491EC91ED2381E073 -:10CEB00090E021F480E002C080E090E0DF91CF912B -:10CEC00008951F93CF93DF93282F30E0F901E458A2 -:10CED000FD4E8491F901EA5CFD4ED491F901E051D7 -:10CEE000FE4EC491CC23C1F0162F81110E94D75E53 -:10CEF000EC2FF0E0EE0FFF1FE454FE4EA591B4912D -:10CF00009FB7F894111104C08C91D095D82302C01A -:10CF1000EC91DE2BDC939FBFDF91CF911F910895A1 -:10CF2000CF93DF9390E0FC01EA5CFD4E2491FC017D -:10CF3000E051FE4E8491882361F190E0880F991FA3 -:10CF4000FC01EE55FE4EC591D491FC01E454FE4E19 -:10CF5000A591B491611109C09FB7F894888120957B -:10CF600082238883EC912E230BC0623061F49FB73B -:10CF7000F8948881322F309583238883EC912E2B6F -:10CF80002C939FBF06C08FB7F894E8812E2B28837F -:10CF90008FBFDF91CF9108951F93CF93DF93182F09 -:10CFA000EB0161E00E949067209711F460E004C0FB -:10CFB000CF3FD10539F461E0812FDF91CF911F91EF -:10CFC0000C946167E12FF0E0E458FD4EE4918E2F60 -:10CFD00090E0FC013197E231F10508F09DC088270F -:10CFE000EA54FF4F8F4F0D94D61684B5806884BDE8 -:10CFF000C7BD97C084B5806284BDC8BD92C0809112 -:10D000008000806880938000D0938900C09388005E -:10D0100088C080918000806280938000D0938B00D4 -:10D02000C0938A007EC080918000886080938000D9 -:10D03000D0938D00C0938C0074C08091B000806844 -:10D040008093B000C093B3006CC08091B000806248 -:10D050008093B000C093B40064C080919000806859 -:10D0600080939000D0939900C09398005AC080910B -:10D070009000806280939000D0939B00C0939A00B0 -:10D0800050C080919000886080939000D0939D0064 -:10D09000C0939C0046C08091A00080688093A0004F -:10D0A0008091A0008F7B8093A000D093A900C093B3 -:10D0B000A80037C08091A00080628093A000D09328 -:10D0C000AB00C093AA002DC08091A000886080931F -:10D0D000A000D093AD00C093AC0023C0809120018C -:10D0E000806880932001D0932901C093280119C042 -:10D0F00080912001806280932001D0932B01C09306 -:10D100002A010FC080912001886080932001D09374 -:10D110002D01C0932C0105C0C038D1050CF04BCFB8 -:10D1200045CFDF91CF911F910895863308F0865344 -:10D1300090917B00282F2870977F922B90937B00F3 -:10D140008770806480937C0080917A0080648093F3 -:10D150007A0080917A0086FDFCCF80917800209142 -:10D16000790090E0922B08958F929F92AF92BF9298 -:10D17000CF92DF92EF92FF926B017C010E942D5FB4 -:10D180004B015C01C114D104E104F104F1F00E94EF -:10D190002D5FDC01CB0188199909AA09BB09883EDA -:10D1A0009340A105B10570F321E0C21AD108E1084E -:10D1B000F10888EE880E83E0981EA11CB11CC114F2 -:10D1C000D104E104F10419F7DDCFFF90EF90DF9077 -:10D1D000CF90BF90AF909F908F9008952FB7F89405 -:10D1E0006091020B7091030B8091040B9091050BE1 -:10D1F0002FBF08952F923F924F925F926F927F922E -:10D200008F929F92AF92BF92CF92DF92EF92FF9256 -:10D210000F931F93CF93DF93CDB7DEB7CA59D109D0 -:10D220000FB6F894DEBF0FBECDBF4B015A011901F6 -:10D23000E096EFAEE097C057DF4FD982C882C05961 -:10D24000D040DC012D913D914D915C91E8962CAF41 -:10D250003DAF4EAF5FAFE8972091ED113091EE11E9 -:10D260004091EF115091F011E8966CAD7DAD8EAD0F -:10D270009FADE8970F944D100F9458192B013C0166 -:10D2800025966CAF7DAF8EAF9FAF2597D4012D91C2 -:10D290003D914D915C91E4962CAF3DAF4EAF5FAFA9 -:10D2A000E4972091F1113091F2114091F3115091D6 -:10D2B000F411E4966CAD7DAD8EAD9FADE4970F9407 -:10D2C0004D100F945819A7966CAF7DAF8EAF9FAFDE -:10D2D000A79729966CAF7DAF8EAF9FAF2997D501E9 -:10D2E0002D913D914D915C91AF962CAF3DAF4EAFDE -:10D2F0005FAFAF972091F5113091F6114091F71182 -:10D300005091F811AF966CAD7DAD8EAD9FADAF97DE -:10D310000F944D100F9458196B017C012D966CAF32 -:10D320007DAF8EAF9FAF2D97D1012D913D914D9146 -:10D330005C91AB962CAF3DAF4EAF5FAFAB972091FA -:10D34000F9113091FA114091FB115091FC11AB96FB -:10D350006CAD7DAD8EAD9FADAB970F944D100F941E -:10D3600058194B015C0161966CAF7DAF8EAF9FAFDA -:10D370006197E8962CAD3DAD4EAD5FADE8976596F3 -:10D380002CAF3DAF4EAF5FAF6597E4968CAD9DADD2 -:10D39000AEADBFADE49769968CAF9DAFAEAFBFAFFA -:10D3A0006997AF962CAD3DAD4EAD5FADAF976D9625 -:10D3B0002CAF3DAF4EAF5FAF6D97AB968CAD9DADD3 -:10D3C000AEADBFADAB97A1968CAF9DAFAEAFBFAFCB -:10D3D000A19780912A1283FF16C08092C81A90925A -:10D3E000C91AA092CA1AB092CB1AAB962CAD3DAD19 -:10D3F0004EAD5FADAB972093B81A3093B91A4093F6 -:10D40000BA1A5093BB1A8091D7119091D811892BD9 -:10D4100009F0A3C3D801BC91ED96BFAFED97F80119 -:10D42000F181C058DF4FF883C058D040D801129620 -:10D43000BC91CC57DF4FB883C458D040F801F3817A -:10D44000C857DF4FF883C858D0408091961A909102 -:10D45000971A891B8F708F3021F480E00E944F4E05 -:10D46000F4CF2091961AC856DF4F2883C859D04070 -:10D470008091961A282E312C8091BC1A9091BD1A59 -:10D48000A091BE1AB091BF1A481A590A6A0A7B0ABB -:10D490008091C01A9091C11AA091C21AB091C31A7A -:10D4A000A7962CAD3DAD4EAD5FADA797281B390BB0 -:10D4B0004A0B5B0BA7962CAF3DAF4EAF5FAFA79764 -:10D4C0008091C41A9091C51AA091C61AB091C71A3A -:10D4D000A7019601281B390B4A0B5B0BE4962CAF76 -:10D4E0003DAF4EAF5FAFE4978091C81A9091C91AD3 -:10D4F000A091CA1AB091CB1AA5019401281B390B2F -:10D500004A0B5B0BE8962CAF3DAF4EAF5FAFE89791 -:10D51000232B242B252B09F492C0809129128111F1 -:10D5200033C06091BA087091BB088091BC0890919B -:10D53000BD080F945718209153023091540262177E -:10D54000730714F58092C81A9092C91AA092CA1A49 -:10D55000B092CB1AAB968CAD9DADAEADBFADAB97D7 -:10D560008093B81A9093B91AA093BA1AB093BB1AC1 -:10D570000E940BB98BE193E10E9427B7E8961CAE9D -:10D580001DAE1EAE1FAEE897E096AFADE09794E0FB -:10D59000A99F800111240D5D1D4FE8966CAD7DADF6 -:10D5A0008EAD9FADE8970F94EE0FF8012081318189 -:10D5B000428153810F944D106B017C0120E030E0DB -:10D5C000A9010F944B1987FF04C0F7FAF094F7F8FC -:10D5D000F09420E030E04AEF53E46091F91170914B -:10D5E000FA118091FB119091FC110F944D10A7013D -:10D5F00096010F94E70F87FF22C08092C81A90927D -:10D60000C91AA092CA1AB092CB1AAB962CAD3DADF6 -:10D610004EAD5FADAB972093B81A3093B91A4093D3 -:10D62000BA1A5093BB1A0E940BB98CEF92E10E9478 -:10D6300027B7E8961CAE1DAE1EAE1FAEE897D3010D -:10D64000C2018827B7FD83959927AA27BB27B82E43 -:10D65000A7962CAD3DAD4EAD5FADA79757FF03C06C -:10D66000382F3260B32EE4968CAD9DADAEADBFAD1C -:10D67000E497B7FF03C09B2D9460B92EE8962CADBC -:10D680003DAD4EAD5FADE89757FF03C03B2D386011 -:10D69000B32EE0965FADE09744E0549F80011124E3 -:10D6A0000D5D1D4FE8966CAD7DAD8EAD9FADE897DD -:10D6B0000F94EE0FD8012D913D914D915C910F94F7 -:10D6C0004D106B017C0120E030E0A9010F944B1953 -:10D6D00087FF04C0C701B601905802C0C701B60158 -:10D6E00020E030E040E05FE30F94EB160F945E180B -:10D6F000AF966CAF7DAF8EAF9FAFAF9784E5829D45 -:10D70000F001839DF00D1124EF59FD4E1082B6AA51 -:10D710005301420177FE07C08824992454018418DC -:10D720009508A608B70884E5829DF001839DF00D59 -:10D730001124EF59FD4E858A968AA78AB08EA79646 -:10D740002CAD3DAD4EAD5FADA797AB962CAF3DAFC9 -:10D750004EAF5FAFAB9757FF0DC0509540953095DA -:10D7600021953F4F4F4F5F4FAB962CAF3DAF4EAF24 -:10D770005FAFAB9784E5829DF001839DF00D11248E -:10D78000EF59FD4EAB968CAD9DADAEADBFADAB9739 -:10D79000818F928FA38FB48FE4962CAD3DAD4EADAB -:10D7A0005FADE497EC962CAF3DAF4EAF5FAFEC971B -:10D7B00057FF0DC050954095309521953F4F4F4FE5 -:10D7C0005F4FEC962CAF3DAF4EAF5FAFEC9784E56B -:10D7D000829DF001839DF00D1124EF59FD4EEC96D2 -:10D7E0008CAD9DADAEADBFADEC97858F968FA78FFD -:10D7F000B0A3C301B2010F94EE0F2091A117309195 -:10D80000A2174091A3175091A4170F944D10C4571D -:10D81000DF4F688379838A839B83CC58D04069AB80 -:10D820007AAB8BAB9CABA7966CAD7DAD8EAD9FAD4F -:10D83000A7970F94EE0F2091A5173091A61740914E -:10D84000A7175091A8170F944D102B013C016DABF9 -:10D850007EAB8FAB98AFE4966CAD7DAD8EAD9FADDA -:10D86000E4970F94EE0F2091A9173091AA174091D9 -:10D87000AB175091AC170F944D10A7966CAF7DAFBE -:10D880008EAF9FAFA79769AF7AAF8BAF9CAF209158 -:10D89000AD173091AE174091AF175091B017C70137 -:10D8A000B6010F944D106B017C0121966CAF7DAFDA -:10D8B0008EAF9FAF219796E089169104A104B10421 -:10D8C0001CF5AB962CAD3DAD4EAD5FADAB972630A4 -:10D8D000310541055105C4F4EC968CAD9DADAEAD5E -:10D8E000BFADEC970697A105B10574F420E030E0D8 -:10D8F000A901C701B6010F944B1987FF18C0F7FAA9 -:10D90000F094F7F8F09413C0C057DF4FA881B981A5 -:10D91000C059D040CD90DD90ED90FC9020E030E0FB -:10D92000A901C701B6010F94E70F882369F084E5C8 -:10D93000829DF001839DF00D1124EF59FD4EC586A7 -:10D94000D686E786F08A3AC0C457DF4F28813981EE -:10D950004A815B81CC58D040CA01B9010F944D1067 -:10D960006B017C01A3019201C301B2010F944D1020 -:10D970009B01AC01C701B6010F94EB166B017C0152 -:10D98000A7962CAD3DAD4EAD5FADA797CA01B901CD -:10D990000F944D109B01AC01C701B6010F94EB161B -:10D9A0000F94991924E5229DF001239DF00D112477 -:10D9B000EF59FD4E658776878787908B84E5829D3A -:10D9C000F001839DF00D1124EF59FD4EAF962CAD63 -:10D9D0003DAD4EAD5FADAF9721A332A343A354A39A -:10D9E000582D492D3A2D2B2DAB968CAD9DADAEAD5E -:10D9F000BFADAB9788169906AA06BB0660F4A89639 -:10DA00005FADA897A9964FADA997AA963FADAA97E3 -:10DA1000AB962FADAB97852F942FA32FB22FEC96FB -:10DA20002CAD3DAD4EAD5FADEC9782179307A407CB -:10DA3000B50710F4DA01C901AF962CAD3DAD4EAD7E -:10DA40005FADAF9782179307A407B50710F4DA010B -:10DA5000C90124E5229DF001239DF00D1124EF5909 -:10DA6000FD4E85A396A3A7A3B0A70697A105B10570 -:10DA700010F40C94D17ADF01AE5ABF4F8091271277 -:10DA80008C931196809128128C93E0963FADE0978D -:10DA900031A789288A288B2809F05F9884E5829D20 -:10DAA000F001839DF00D1124EF59FD4E818D928D73 -:10DAB000A38DB48D892B8A2B8B2B09F08A9884E552 -:10DAC000829DF001839DF00D1124EF59FD4E858D4F -:10DAD000968DA78DB0A1892B8A2B8B2B29F0809155 -:10DAE0000801817080930601AF968CAD9DADAEADFF -:10DAF000BFADAF97892B8A2B8B2B91F1809147116A -:10DB0000882319F081508093471180914811882310 -:10DB100099F0815080934811E0969FADE09799234A -:10DB200019F0913081F025C0811101C0479A1298F7 -:10DB300080E2809347111DC0E096FFADE097FF2380 -:10DB4000A9F3F130B1F480914711811101C0129A0B -:10DB5000479880E2809348110CC080E00C945A7B77 -:10DB6000E0901D12F0901E1200911F1210912012D1 -:10DB700008C0E0901912F0901A1200911B12109137 -:10DB80001C129701A801ED966FADED97C058DF4FBD -:10DB90007881C058D040CC57DF4F8881C458D040DE -:10DBA000C857DF4F9881C858D0400F94E70F87FFC0 -:10DBB00012C0ED96EFAEED97C058DF4FF882C05817 -:10DBC000D040CC57DF4F0883C458D040C857DF4FF0 -:10DBD0001883C858D04084E5829DF001839DF00DE4 -:10DBE0001124EF59FD4E4584568467847088A30143 -:10DBF000920160E070E080E89FE30F94E517EC96F7 -:10DC00006CAF7DAF8EAF9FAFEC97ED962FADED97DC -:10DC1000C058DF4F3881C058D040CC57DF4F4881C3 -:10DC2000C458D040C857DF4F5881C858D0400F94CF -:10DC30004D104B015C018091961A9091941A891BAA -:10DC40008F70C857DF4F8883C858D040A501940112 -:10DC500060E074E284E799E40F94E5170F94581993 -:10DC60006B017C01C857DF4F8881C858D040825073 -:10DC70008630D0F58091E9119091EA11A091EB11D5 -:10DC8000B091EC11C816D906EA06FB0668F58C19A6 -:10DC90009D09AE09BF09BC01CD01660F771F881F22 -:10DCA000991FC857DF4FA881C858D0400A2F10E0ED -:10DCB00020E030E0A90198010F943D16CA01B90196 -:10DCC0000F94EC0F0F9458196C0D7D1D8E1D9F1D28 -:10DCD0000F94EC0F9B01AC0160E074E284E799E4DF -:10DCE0000F94E5174B015C01A5019401C301B2013A -:10DCF0000F944D109B01AC010F944D10C457DF4F92 -:10DD0000688379838A839B83CC58D04084E5829D45 -:10DD10008001839D100D11240F591D4EC457DF4FF4 -:10DD2000288139814A815B81CC58D040D801119635 -:10DD30002D933D934D935C93149795962D913D9122 -:10DD40004D915C919897C458DF4F288339834A835B -:10DD50005B83CC57D040CA01B9010F94EC0FC05877 -:10DD6000DF4F688379838A839B83C058D0409B01AF -:10DD7000AC01C501B4010F944D100F94C9170F9455 -:10DD80005E18C057DF4F688379838A839B83C059AD -:10DD9000D040F801EE5BFF4F6083718382839383F1 -:10DDA0008E010F5C1F4FFE01B196CC57DF4FF983F8 -:10DDB000E883C458D0402DEF31E1CA56DF4F398394 -:10DDC0002883C659D040A801405F5F4FC756DF4F38 -:10DDD00059834883C959D040CC56DF4FF983E88333 -:10DDE000C459D040A4961FAEA497A8961FAEA8977A -:10DDF00050E8E0965FAFE0978FE3E1968FAFE19751 -:10DE0000D8012D913D914D915D918D01C501B401D8 -:10DE10000F944D106B017C01CC56DF4FE881F981E6 -:10DE2000C459D0406193719381939193CC56DF4F45 -:10DE3000F983E883C459D04020E030E0A9010F9471 -:10DE40004B1987FF04C0F7FAF094F7F8F094CA561C -:10DE5000DF4FA881B981C659D0404D905D906D903B -:10DE60007D90CA56DF4FB983A883C659D040A70119 -:10DE70009601C301B2010F94E70F87FF24C0A701E9 -:10DE80009601C301B2010F94E5177B016C01A496C2 -:10DE90002FADA497A8963FADA897E0964FADE09719 -:10DEA000E1965FADE1970F94E70F87FF0CC0A49652 -:10DEB000EFAEA497A896FFAEA897E096CFAEE097F6 -:10DEC000E196DFAEE197C756DF4FE881F981C95986 -:10DED000D040E017F10709F093CF20E030E040E8B0 -:10DEE0005FE3A4966FADA497A8967FADA897E09640 -:10DEF0008FADE097E1969FADE1970F94E70F87FF15 -:10DF000084C08E010F5C1F4FA4962FADA497A896D6 -:10DF10003FADA897E0964FADE097E1965FADE197F2 -:10DF2000CC57DF4FA881B981C458D0406D917D9105 -:10DF30008D919C910F944D10CC57DF4FE881F98162 -:10DF4000C458D0406193719381939193CC57DF4F24 -:10DF5000F983E883C458D0400E171F07A9F624E5BB -:10DF6000229DC001239D900D11249C012F593D4EEF -:10DF7000790189010E5B1F4FC057DF4F688179819E -:10DF80008A819B81C059D0400F94EC0FA4962FAD8D -:10DF9000A497A8963FADA897E0964FADE097E1967D -:10DFA0005FADE1970F944D100F945E18D8016D93FB -:10DFB0007D938D939C931397A4962FADA497A896C9 -:10DFC0003FADA897E0964FADE097E1965FADE19742 -:10DFD000A4966FADA497A8967FADA897E0968FAD55 -:10DFE000E097E1969FADE1970F944D10C457DF4F36 -:10DFF000288139814A815B81CC58D0400F944D10E3 -:10E00000F7016183728383839483C058DF4F288133 -:10E0100039814A815B81C058D040EC966CAD7DADB2 -:10E020008EAD9FADEC970F944D10A7966CAF7DAF62 -:10E030008EAF9FAFA79784E5829D8001839D100DD1 -:10E0400011240F591D4ED80155968D909D90AD907D -:10E05000BC90589781149104A104B10469F55996B4 -:10E060008D919D910D90BC91A02D892B8A2B8B2B8E -:10E0700019F5F801858D968DA78DB0A1892B8A2B76 -:10E080008B2BD1F420911112309112124091131266 -:10E0900050911412A7966CAD7DAD8EAD9FADA79734 -:10E0A0000F944D100F94C9170F945E182B013C016B -:10E0B000D801D7961C9247C3AF962CAD3DAD4EAD5F -:10E0C0005FADAF97232B242B252B49F020910D1208 -:10E0D00030910E1240910F125091101208C02091F1 -:10E0E0001512309116124091171250911812A796DE -:10E0F0006CAD7DAD8EAD9FADA7970F944D100F9475 -:10E10000C9170F945E182B013C01AF968CAD9DADE5 -:10E11000AEADBFADAF97892B8A2B8B2BF9F0E09179 -:10E12000770B94E0E99FF0011124E15DFE4E20E0C1 -:10E1300030E0A90160817181828193810F94E70FA2 -:10E14000882361F081E0E8962CAD3DAD4EAD5FAD2A -:10E15000E89712161306140615060CF080E094E5F5 -:10E16000929D8001939D100D11240F591D4ED801D1 -:10E17000D7968C93882309F4D0C02091AC1A3091A3 -:10E18000AD1A4091AE1A5091AF1A65966CAD7DAD47 -:10E190008EAD9FAD65970F94EA16AB966CAF7DAFD1 -:10E1A0008EAF9FAFAB972091B01A3091B11A4091CA -:10E1B000B21A5091B31A69966CAD7DAD8EAD9FAD1C -:10E1C00069970F94EA16E8966CAF7DAF8EAF9FAF5C -:10E1D000E8972091B41A3091B51A4091B61A50912F -:10E1E000B71A6D966CAD7DAD8EAD9FAD6D970F94EA -:10E1F000EA166B017C01AB962CAD3DAD4EAD5FAD2B -:10E20000AB97CA01B9010F944D10AB966CAF7DAFBF -:10E210008EAF9FAFAB97E8962CAD3DAD4EAD5FADE9 -:10E22000E897CA01B9010F944D109B01AC01AB9660 -:10E230006CAD7DAD8EAD9FADAB970F94EB16AB96ED -:10E240006CAF7DAF8EAF9FAFAB97A7019601C701B3 -:10E25000B6010F944D109B01AC01AB966CAD7DAD3A -:10E260008EAD9FADAB970F94EB160F9499196B0180 -:10E270007C012091B81A3091B91A4091BA1A509184 -:10E28000BB1AA1966CAD7DAD8EAD9FADA1970F94DD -:10E29000EA16A70196010F94E5176B017C01F801BE -:10E2A000FE96608371838283938320E030E040E4B4 -:10E2B00050E40F944B1918161CF4F80117AA2DC03E -:10E2C000E091770B24E0E29FF0011124E15DFE4E26 -:10E2D0002081318142815381C701B6010F944D10D5 -:10E2E0009B01AC0160912B1170912C1180912D112B -:10E2F00090912E110F94E517A7962CAD3DAD4EAD24 -:10E300005FADA7970F944D100F945E1864157505B7 -:10E310008605970510F42B013C01809127119091FF -:10E320002811A0912911B0912A11C458DF4F2881DA -:10E3300039814A815B81CC57D04082179307A4076B -:10E34000B50708F4DCC081149104A104B10411F1F3 -:10E3500060911711709118118091191190911A11F3 -:10E360006415750586059705A8F40F942D166B01A5 -:10E370007C01A5019401C301B2010F942D16C616AC -:10E38000D706E806F90630F4C701B6010F943D162A -:10E3900029013A0184E5829DF001839DF00D11244D -:10E3A000EF59FD4EC18CD28CE38CF48CC114D10496 -:10E3B000E104F10451F160911B1170911C118091E5 -:10E3C0001D1190911E116415750586059705E8F4D9 -:10E3D000C458DF4F288139814A815B81CC57D040B6 -:10E3E0000F942D164B015C01A7019601C301B201E8 -:10E3F0000F942D1686169706A806B90630F4C501A7 -:10E40000B4010F943D1629013A0184E5829DF00183 -:10E41000839DF00D1124EF59FD4EC58CD68CE78CF1 -:10E42000F0A0C114D104E104F10451F160911F1175 -:10E430007091201180912111909122116415750520 -:10E4400086059705E8F4C458DF4F288139814A8151 -:10E450005B81CC57D0400F942D164B015C01A70176 -:10E460009601C301B2010F942D1686169706A806D1 -:10E47000B90630F4C501B4010F943D1629013A01E3 -:10E4800084E5829DF001839DF00D1124EF59FD4E2E -:10E49000C1A0D2A0E3A0F4A0C114D104E104F1040E -:10E4A00009F451C1609123117091241180912511BB -:10E4B00090912611641575058605970508F043C1EE -:10E4C000C458DF4F288139814A815B81CC57D040C5 -:10E4D0000F942D164B015C01A7019601C301B201F7 -:10E4E0000F942D1686169706A806B90608F02BC1BC -:10E4F000C501B4010F943D1629013A0124C18114CC -:10E500009104A104B104D9F160911711709118110F -:10E510008091191190911A1164157505860597055A -:10E5200070F50F94EC0FC058DF4F288139814A8174 -:10E530005B81C058D0400F944D106B017C01C50128 -:10E54000B4010F94EC0F4B015C01C301B2010F94B5 -:10E55000EC0FA50194010F944D109B01AC01C70174 -:10E56000B6010F94E70F87FF0AC0A5019401C70108 -:10E57000B6010F94E5170F945E182B013C0184E55A -:10E58000829DF001839DF00D1124EF59FD4E818C89 -:10E59000928CA38CB48C81149104A104B104D9F1A0 -:10E5A00060911B1170911C1180911D1190911E1191 -:10E5B000641575058605970570F50F94EC0FC05826 -:10E5C000DF4F288139814A815B81C058D0400F9448 -:10E5D0004D106B017C01C501B4010F94EC0F4B0190 -:10E5E0005C01C301B2010F94EC0FA50194010F94DB -:10E5F0004D109B01AC01C701B6010F94E70F87FFD7 -:10E600000AC0A5019401C701B6010F94E5170F9444 -:10E610005E182B013C0184E5829DF001839DF00D85 -:10E620001124EF59FD4E858C968CA78CB0A08114D7 -:10E630009104A104B104D9F160911F1170912011CE -:10E640008091211190912211641575058605970519 -:10E6500070F50F94EC0FC058DF4F288139814A8143 -:10E660005B81C058D0400F944D106B017C01C501F7 -:10E67000B4010F94EC0F4B015C01C301B2010F9484 -:10E68000EC0FA50194010F944D109B01AC01C70143 -:10E69000B6010F94E70F87FF0AC0A5019401C701D7 -:10E6A000B6010F94E5170F945E182B013C0184E529 -:10E6B000829DF001839DF00D1124EF59FD4E81A044 -:10E6C00092A0A3A0B4A081149104A104B104D9F133 -:10E6D0006091231170912411809125119091261140 -:10E6E000641575058605970570F50F94EC0FC058F5 -:10E6F000DF4F288139814A815B81C058D0400F9417 -:10E700004D106B017C01C501B4010F94EC0F4B015E -:10E710005C01C301B2010F94EC0FA50194010F94A9 -:10E720004D109B01AC01C701B6010F94E70F87FFA5 -:10E730000AC0A5019401C701B6010F94E5170F9413 -:10E740005E182B013C0184E5829D8001839D100DA4 -:10E7500011240F591D4EF801E25BFF4F4082518298 -:10E7600062827382C301B2010F94EC0F6B017C01D2 -:10E77000A7962CAD3DAD4EAD5FADA7970F94E517B5 -:10E78000E4966CAF7DAF8EAF9FAFE497D801519602 -:10E790006D937D938D939C9354972DEB37E346E0D7 -:10E7A00051E4C701B6010F944D100F945E18F801A3 -:10E7B00062AB73AB84AB95AB87A98823A9F1E091D9 -:10E7C000770B24E0E29FF0011124E15DFE4ED801B9 -:10E7D000DE962D913D914D915C9160817181828198 -:10E7E00093810F944D10E4962CAD3DAD4EAD5FADD1 -:10E7F000E4970F944D102091F9113091FA11409146 -:10E80000FB115091FC110F944D109B01AC0160E085 -:10E8100074E284EF99E40F94E5170F945E18D80121 -:10E82000D9967C936E93D89729A93AA94BA95CA94C -:10E83000EC966CAD7DAD8EAD9FADEC970F944D1009 -:10E84000AF966CAF7DAF8EAF9FAFAF97698B7A8B72 -:10E850008B8B9C8B2DA93EA94FA958ADEC966CAD26 -:10E860007DAD8EAD9FADEC970F944D102B013C010B -:10E870006D8B7E8B8F8B988F29AD3AAD4BAD5CAD98 -:10E88000EC966CAD7DAD8EAD9FADEC970F944D10B9 -:10E890004B015C01698F7A8F8B8F9C8F21962CADF9 -:10E8A0003DAD4EAD5FAD2197EC966CAD7DAD8EADBF -:10E8B0009FADEC970F944D10EC966CAF7DAF8EAF83 -:10E8C0009FAFEC976D8F7E8F8F8F98A3C857DF4FC8 -:10E8D000B881C858D040BB2309F4DBC2E091981A34 -:10E8E000A496EFAFA497F091991AA896FFAFA897B6 -:10E8F00020919A1AE5962FAFE59730919B1AE096F2 -:10E900003FAFE0972DEB37E346E855E3BF01E596CF -:10E910008FADE597E0969FADE0970F94E70F87FDE9 -:10E92000B8C28091371190913811A0913911B091EE -:10E930003A11C458DF4F88839983AA83BB83CC578D -:10E94000D04020913B1130913C1140913D115091AC -:10E950003E11C058DF4F288339834A835B83C058F8 -:10E96000D04080913F1190914011A0914111B09100 -:10E970004211CC57DF4F88839983AA83BB83C45845 -:10E98000D040209143113091441140914511509154 -:10E990004611C857DF4F288339834A835B83C858A1 -:10E9A000D040C458DF4F688179818A819B81CC57E0 -:10E9B000D0409058AF962CAD3DAD4EAD5FADAF970A -:10E9C0000F944D106B017C01C058DF4F28813981B5 -:10E9D0004A815B81C058D040C301B2010F944D10F1 -:10E9E0009B01AC01C701B6010F94EA166B017C01D3 -:10E9F000CC57DF4F288139814A815B81C458D04090 -:10EA0000C501B4010F944D109B01AC01C701B601C3 -:10EA10000F94EA166B017C01C857DF4F28813981BA -:10EA20004A815B81C858D040EC966CAD7DAD8EAD0F -:10EA30009FADEC970F944D109B01AC01C701B6013F -:10EA40000F94EA166B017C012FEE3FEF4FE75FE377 -:10EA50000F944B1918160CF4BEC12FEE3FEF4FE781 -:10EA60005FEBC701B6010F94E70F87FF08C03FEEC9 -:10EA7000C32EDD24DA943FE7E32E3FEBF32EC45898 -:10EA8000DF4F288139814A815B81CC57D040AF96D6 -:10EA90006CAD7DAD8EAD9FADAF970F94EA166983D7 -:10EAA0007A838B839C83C058DF4F288139814A81C8 -:10EAB0005B81C058D040C301B2010F94EA166D8348 -:10EAC0007E838F839887CC57DF4F288139814A8195 -:10EAD0005B81C458D040C501B4010F94EA16698720 -:10EAE0007A878B879C87C857DF4F288139814A8175 -:10EAF0005B81C858D040EC966CAD7DAD8EAD9FADBE -:10EB0000EC970F94EA166D877E878F87988BAE01FE -:10EB10004F5F5F4FAD965FAF4EAFAD97CE01419661 -:10EB2000A3969FAF8EAFA3978A01812C912C54019D -:10EB3000D8014D905D906D907D908D0120E030E08A -:10EB4000A901C301B2010F94E70F882371F0A3015B -:10EB50009201C301B2010F944D109B01AC01C5019C -:10EB6000B4010F94EB164B015C01A396EEADFFAD23 -:10EB7000A397E017F107E1F6C501B4010F949919C5 -:10EB80009B01AC0160E070E080E89FE30F94E51723 -:10EB90004B015C01AD960EAD1FADAD97A501940183 -:10EBA000D8016D917D918D919C910F944D10F8013C -:10EBB00061937193819391938F01A3962EAD3FAD95 -:10EBC000A3972E173F0751F709ED11E1E1965FACCE -:10EBD000E197E2966FACE297E3967FACE397E49619 -:10EBE0004FACE497AD96AEADBFADAD978D909D9017 -:10EBF000AD90BD90AD96BFAFAEAFAD9720E030E029 -:10EC0000A901C501B4010F94E70F882331F1F80180 -:10EC100060817181828193810F94EC0FA501940131 -:10EC20000F94E5174B015C0120E030E0A9010F943F -:10EC30004B1987FF04C0B7FAB094B7F8B094252DEC -:10EC4000362D472D542DC501B4010F94E70F87FFD2 -:10EC500004C0582C692C7A2C4B2C0C5F1F4FA396A8 -:10EC60002EAD3FADA397AD964EAD5FADAD972417DA -:10EC7000350709F0B7CFA701960160E070E080E8A2 -:10EC80009FE30F94EA1620E030E040E05FE30F944A -:10EC90004D100F9499194B015C0120911311309183 -:10ECA00014114091151150911611652D762D872D57 -:10ECB000942D0F944D10A50194010F944D10AF9613 -:10ECC0006CAF7DAF8EAF9FAFAF97A501940160E0B1 -:10ECD00070E080E89FE30F94EA169B01AC01AF96C9 -:10ECE0006CAD7DAD8EAD9FADAF970F94E517AC9633 -:10ECF0006FAFAC97E9967FAFE9978C0184E5829D71 -:10ED0000F001839DF00D1124EF59FD4E858496840A -:10ED1000A784B08820E030E040E85FE3C501B4019B -:10ED20000F94E70F87FF61C0A7019601C701B601E5 -:10ED30000F944D1023EC38EB42E35FEB0F944D1032 -:10ED400023EF36E64FE55FE30F94EA16A70196013D -:10ED50000F944D102BED3FE049EC5FE30F94EB1661 -:10ED60002CEE31E548E35EE30F94EA166B017C017B -:10ED700024EE3BEC46E150E40F944B191816ACF529 -:10ED8000A70196016BED7FE089E490E40F94EA1609 -:10ED90009B01AC01C501B4010F94E517252D362D5B -:10EDA000472D542D0F944D106B017C019B01AC013C -:10EDB000AC966FADAC97E9967FADE997C8010F941B -:10EDC0004B19181694F4AC96CFAEAC97E996DFAE1B -:10EDD000E99787010AC05BE0AC965FAFAC9787ED1F -:10EDE000E9968FAFE99703E21BE384E5829DF0018A -:10EDF000839DF00D1124EF59FD4EC180D280E38038 -:10EE0000F4809601A701A4966FADA497A8967FAD54 -:10EE1000A897E5968FADE597E0969FADE0970F94A4 -:10EE20004B19181664F4A496CFAEA497A896DFAE3B -:10EE3000A897E596EFAEE597E096FFAEE097AC9623 -:10EE40002FADAC97E9963FADE997A801A4966FADB9 -:10EE5000A497A8967FADA897E5968FADE597E09625 -:10EE60009FADE0970F944B191816FCF4AC969FAD2C -:10EE7000AC97A4969FAFA497E996AFADE997A896F3 -:10EE8000AFAFA897E5960FAFE597E0961FAFE09775 -:10EE90000CC0A4961FAEA497A8961FAEA897E5969F -:10EEA0001FAEE597E0961FAEE09780E1FE017196F8 -:10EEB000A7E3B1E101900D928A95E1F784E5829D87 -:10EEC0008001839D100D11240F591D4EA4968FAD06 -:10EED000A497A8969FADA897E596AFADE597E09665 -:10EEE000BFADE097F80181879287A387B487E49646 -:10EEF0006CAD7DAD8EAD9FADE49790589B01AC019C -:10EF00000F94EB16D8011D962D913D914D915C917A -:10EF100050970F944D109B01AC016BE077ED83E2AD -:10EF20009BE30F94EA162BE0C22E27EDD22E23E2AC -:10EF3000E22E2BE3F22EF801C582D682E782F0861C -:10EF4000B080C180D280E380F480A70196010F9445 -:10EF50004B1987FD02C083E001C081E08B2994E555 -:10EF6000929DF001939DF00D1124EF59FD4E808389 -:10EF700080E1FE01B196ACE9BAE101900D928A956B -:10EF8000E1F7C092981AD092991AE0929A1AF092E8 -:10EF90009B1A80E1FE01EF5BFF4FACEBBAE1019001 -:10EFA0000D928A95E1F780E1FE01EF5AFF4FACEA3E -:10EFB000BAE101900D928A95E1F79091961A8091AD -:10EFC000971A981303C084E68093931AC856DF4FAC -:10EFD0008881C859D0408F5F8F708093961A809136 -:10EFE000961A9091951A81508F70891709F4B6C0BE -:10EFF000F090961A8FEF8F0D8F70A4968FAFA49715 -:10F00000B090951A8091961AB81609F476C0C12C62 -:10F01000D12CA496FFADA497FB1509F46EC06F2EFA -:10F02000712C24E5269D8001279D100D11240F5978 -:10F030001D4ED8018C9183FD3DC0AC960FAFAC97AF -:10F04000E9961FAFE99701151105D1F11996BC9109 -:10F05000A896BFAFA897F801F285E596FFAFE597B0 -:10F06000D8011B96BC91E096BFAFE097F801F485FC -:10F07000E196FFAFE197D80115962D903D904D9008 -:10F080005C901897A2019101A8966FADA897E5969C -:10F090007FADE597E0968FADE0979F2F0F94E70F38 -:10F0A0008111F0C1C114D10459F0F601808180FDB5 -:10F0B000E9C106C0AC96CFAEAC97E996DFAEE99752 -:10F0C000A4968FADA49781508F70A4968FAFA4970C -:10F0D0008091951A8B1107C0AC96CFACAC97E9968E -:10F0E000DFACE99796CFA496FFADA497FB1529F066 -:10F0F00081E08B0D8F70B82EEBCF2091951AA496DE -:10F100002FAFA497C12CD12C8091961AA4963FAD15 -:10F11000A497831719F1832E912C44E5489D800113 -:10F12000499D100D11240F591D4ED8018C9183FD5E -:10F130000AC05801C114D10439F0C6010E94DDF99A -:10F14000811102C035C25601A4968FADA4978F5F7E -:10F150008F70A4968FAFA4976501D6CF4091971A70 -:10F16000A4964FAFA4975091961AA8965FAFA89710 -:10F1700024E5A4968FADA497A8969FADA89789176C -:10F1800079F0892F81508F70289FF0011124EF5959 -:10F19000FD4E908193FF04C0A8968FAFA897E9CF4A -:10F1A000812C912CA12CB12CE5961FAEE597E09611 -:10F1B0001FAEE097E1961FAEE197AC961FAEAC97FD -:10F1C000212C312C00E010E0A896AFADA897A496B2 -:10F1D000BFADA497AB1709F4D4C0E4E5EB9FC00121 -:10F1E00011249C012F593D4E1901D9018C9183FDA9 -:10F1F00019C015966D917D918D919C9118970F94E2 -:10F200009919F62EE72ED82EC92E0115110509F4ED -:10F210009EC0F801808180FD12C0D1018C9180FDDB -:10F220000EC095C0E596FFACE597E096EFACE09791 -:10F23000E196DFACE197AC96CFACAC978DC0F8010E -:10F24000808181608083C8010E94DDF981117BC0CB -:10F25000F80161817281838194810F9499192B0146 -:10F260003C019B01AC0160E070E080E89FE30F94FB -:10F27000E5174B015C019B01AC016F2D7E2D8D2D9F -:10F280009C2D0F944D1069837A838B839C83E59624 -:10F290002FADE597E0963FADE097E1964FADE19752 -:10F2A000AC965FADAC97C501B4010F944D10698B5E -:10F2B0007A8B8B8B9C8BAE014F5F5F4FBE016F5E75 -:10F2C0007F4FC8010E947FDCD801D7968C9188239C -:10F2D000D1F1E091770BB4E0EB9FF0011124E15DF7 -:10F2E000FE4ED801DE962D913D914D915C9160814D -:10F2F0007181828193810F944D102091F911309189 -:10F30000FA114091FB115091FC110F944D104B01DB -:10F310005C019B01AC01C301B2010F944D100F942D -:10F320005E18F80173AF62AFA50194016F2D7E2DB9 -:10F330008D2D9C2D0F944D100F945E18D801DD96E5 -:10F340007C936E93DC97F80180818E7F80838F2C75 -:10F350009E2CAD2CBC2C8101A4968FADA4978F5F01 -:10F360008F70A4968FAFA497E596FFAEE597E096D1 -:10F37000EFAEE097E196DFAEE197AC96CFAEAC97FB -:10F3800023CF2114310409F40CC1D1018C91816087 -:10F390008C93C8010E94DDF981116FC0F101618178 -:10F3A0007281838194810F9499196B017C019B0177 -:10F3B000AC0160E070E080E89FE30F94E5172B015B -:10F3C0003C012DEC3CEC4CE45DE30F944D10698363 -:10F3D0007A838B839C839401A501C301B2010F94AE -:10F3E0004D10698B7A8B8B8B9C8BAE014F5F5F4F7F -:10F3F000BE016F5E7F4FC1010E947FDCD101D796B5 -:10F400008C918823D1F1E091770BB4E0EB9FF00170 -:10F410001124E15DFE4ED101DE962D913D914D917D -:10F420005C9160817181828193810F944D10209154 -:10F43000F9113091FA114091FB115091FC110F9488 -:10F440004D104B015C019B01AC01C701B6010F944B -:10F450004D100F945E18F10173AF62AF2DEC3CECD0 -:10F460004CE45DE3C501B4010F944D100F945E1898 -:10F47000D101DD967C936E93DC97F10180818E7FC4 -:10F4800080838FC024E5269DF001279DF00D112477 -:10F49000EF59FD4E808181FD4BC0C114D10441F074 -:10F4A000D6011596CD90DD90ED90FC90189708C090 -:10F4B0008BE0C82E87EDD82E83E2E82E8BE3F82E62 -:10F4C000B4E5B69DF001B79DF00D1124EF59FD4E46 -:10F4D00081899289A389B489BC01CD0190589B018F -:10F4E000AC010F94EB16F8012585368547855089C8 -:10F4F0000F944D109B01AC01C701B6010F94EA16A1 -:10F50000E62E872E982EA92E262F372F482F592FDB -:10F51000A8966FADA897E5967FADE597E0968FAD7D -:10F52000E097E1969FADE1970F94E70F87FF0CC03E -:10F53000A896EFACA897E5968FACE597E0969FACC0 -:10F54000E097E196AFACE1972E2D382D492D5A2D3D -:10F55000C201B1010F94E70F882309F4B1CDF4E59E -:10F56000F69DC001F79D900D11249C012F593D4E31 -:10F570006901D9018C9181608C93C8010E94DDF9E9 -:10F58000882329F0F60180818E7F808399CD8E2D8E -:10F59000982DA92DBA2DF60185839683A783B08770 -:10F5A0008FCD80916F00826080936F0081E082C078 -:10F5B000D6018C9181FD58C0D60115962D913D91B3 -:10F5C0004D915C911897AB962CAF3DAF4EAF5FAFAE -:10F5D000AB971501B5E02B0E311CF8014580568024 -:10F5E00067807084A3019201AB966CAD7DAD8EAD4A -:10F5F0009FADAB970F94E70F87FF36C0F601818967 -:10F600009289A389B489BC01CD0190589B01AC01BA -:10F610000F94EB16D6011D962D913D914D915C9165 -:10F6200050970F944D109B01AC01AB966CAD7DAD26 -:10F630008EAD9FADAB970F94EA166B017C019B01D9 -:10F64000AC01C301B2010F944B1918166CF4D80128 -:10F650008C9181608C93C5010E94DDF98823F1F0C3 -:10F66000F80180818E7F808324E5289DF001299D0B -:10F67000F00D1124EF59FD4E2185328543855485C7 -:10F6800065817681878190850F94E70F81115CCD2C -:10F69000A4963FADA4973093951A56CDD101CD9243 -:10F6A000DD92ED92FC921397A496BFADA497B09310 -:10F6B000951ADACFC656DF4F0FB6F894DEBF0FBEED -:10F6C000CDBFDF91CF911F910F91FF90EF90DF9011 -:10F6D000CF90BF90AF909F908F907F906F905F90F2 -:10F6E0004F903F902F9008950F931F93CF93DF93E8 -:10F6F0000DEE11E1C1EAD7E1F8012191319141917B -:10F7000051918F0160E070E080E89FE30F94E5176E -:10F710006993799389939993F7E1C13BDF0761F787 -:10F720000E946163DF91CF911F910F910C949CD83F -:10F73000CF92DF92EF92FF92C0904F02D090500292 -:10F74000E0905102F0905202FC0180819181A281EF -:10F75000B38180934F0290935002A0935102B093D3 -:10F7600052020E9425DFC0924F02D0925002E092D6 -:10F770005102F0925202FF90EF90DF90CF900895E7 -:10F780002F923F924F925F926F927F928F929F92B1 -:10F79000AF92BF92CF92DF92EF92FF920F931F939F -:10F7A000CF93DF93CDB7DEB7A2970FB6F894DEBF45 -:10F7B0000FBECDBF9F8F8E8F79A368A32FE93BE14A -:10F7C0003A87298700E010E03FEF38874FEF4F83FB -:10F7D0005FEF5B8B8FE48C8B93EC9D8BA7E4AE8B00 -:10F7E00021E030E040E050E0002E04C0220F331F43 -:10F7F000441F551F0A94D2F72A8F3B8F4C8F5D8F81 -:10F8000049E851E15A8B498B8BE89BE19C878B87B8 -:10F81000312C0AA3A989BA898D919D91BA8BA98BA4 -:10F82000A0E0B0E02A8D3B8D4C8D5D8D822393232B -:10F83000A423B523892B8A2B8B2B09F0C8C0A9855B -:10F84000BA85CD90DD90ED90FC90AB85BC852D9177 -:10F850003D914D915C912D873E874F87588BA70135 -:10F860009601EE8DFF8D60817181828193810F946D -:10F87000EA162B013C012D853E854F855889A8A1AC -:10F88000B9A16D917D918D919C910F94EA164B01D8 -:10F890005C01A3019201C301B2010F944D102B0131 -:10F8A0003C01A5019401C501B4010F944D109B01C9 -:10F8B000AC01C301B2010F94EB160F9499194B01DF -:10F8C0005C01A70196016091AD117091AE1180911C -:10F8D000AF119091B0110F94EA166B017C012D8548 -:10F8E0003E854F8558896091A9117091AA11809128 -:10F8F000AB119091AC110F94EA162B013C01A701BA -:10F900009601C701B6010F944D106B017C01A30154 -:10F910009201C301B2010F944D109B01AC01C701CC -:10F92000B6010F94EB160F94991920E030E040E7F0 -:10F9300051E40F94E517A50194010F94EB166B01A8 -:10F940007C018090B1119090B211A090B311B09051 -:10F95000B41120E030E040E85FE3C501B4010F944A -:10F960004B191816FCF4C501B4010F9457184B013C -:10F970005C0116161706180619063CF40F942A0B9C -:10F98000A50194010F945F1603C060E070E0CB0105 -:10F990000F94EE0F9B01AC01B601C7010F94EB165B -:10F9A0006B017C012B893C894D895E89B601C701B9 -:10F9B0000F94E70F87FF0BC0BAA1B8873F822C2CAA -:10F9C000DF8AE88EF98ECB8ADC8AED8AFE8A339450 -:10F9D000EB85FC853496FC87EB87F5E03F121ACF68 -:10F9E0000F5F1F4F29853A852C5F3F4F3A87298744 -:10F9F0000530110509F0F4CE3F81E32FF0E0EE0F62 -:10FA0000FF1FE757FE4E81E090E0088402C0880F98 -:10FA1000991F0A94E2F720813181822B932B9183E5 -:10FA20008083822D9F89A88DB98D8B839C83AD8324 -:10FA3000BE83422D5C816D817E8128853F8180E07F -:10FA400090E0A2960FB6F894DEBF0FBECDBFDF9157 -:10FA5000CF911F910F91FF90EF90DF90CF90BF90CB -:10FA6000AF909F908F907F906F905F904F903F905E -:10FA70002F9008958C3891051CF02CE880E002C08E -:10FA8000282F892F2093D5088093D6080C942F9285 -:10FA900080E1E8E7FBE0A6E1BBE001900D928A95EA -:10FAA000E1F708952F923F924F925F926F927F926B -:10FAB0008F929F92AF92BF92CF92DF92EF92FF927E -:10FAC0000F931F93CF93DF9300D01F921F92CDB758 -:10FAD000DEB77C018B016A0119018090780B909050 -:10FAE000790BA0907A0BB0907B0BA5019401FC01DF -:10FAF00060817181828193810F94E70FF1E0FD8332 -:10FB0000811112C020917C0B30917D0B40917E0BB6 -:10FB100050917F0BF80160817181828193810F94F4 -:10FB2000E70F811101C01D82F60140805180628083 -:10FB3000738020912B0230912C0240912D02509124 -:10FB40002E02C301B2010F94E70F882309F455C0B8 -:10FB500040922B0250922C0260922D0270922E0243 -:10FB600020E030E040E05FE3609105127091061202 -:10FB700080910712909108120F944D1069837A8337 -:10FB80008B839C838092160B9092170BA092180B7C -:10FB9000B092190B80917C0B90917D0BA0917E0B04 -:10FBA000B0917F0B80931A0B90931B0BA0931C0BAF -:10FBB000B0931D0BF60180819181A281B381809366 -:10FBC0001E0B90931F0BA093200BB093210B8091E1 -:10FBD000840B9091850BA091860BB091870B80933D -:10FBE000220B9093230BA093240BB093250BCE01F3 -:10FBF00001960E94987B0E94487DFD81F1110FC003 -:10FC000020E030E040EC5FE36091091270910A124D -:10FC100080910B1290910C120F94E51704C060E0D4 -:10FC200070E080EA91E469837A838B839C83F70197 -:10FC300080819181A281B3818093160B9093170BE1 -:10FC4000A093180BB093190BF80180819181A281C8 -:10FC5000B38180931A0B90931B0BA0931C0BB09352 -:10FC60001D0BF10120813181428153816091220B72 -:10FC70007091230B8091240B9091250B0F94EB1620 -:10FC80006093220B7093230B8093240B9093250B8E -:10FC9000CE0101960E94987B0E94487D0F900F90A4 -:10FCA0000F900F900F90DF91CF911F910F91FF90C8 -:10FCB000EF90DF90CF90BF90AF909F908F907F900C -:10FCC0006F905F904F903F902F90089580917E1D90 -:10FCD00090917F1D009731F04AE050E060E070E0C5 -:10FCE0000D94DD0C60E070E0CB0108950E94667E0B -:10FCF00097FD0CC00E94667E6F3F710581059105DE -:10FD000009F034F40E94667E862F089580E00895FD -:10FD10008FEF089580917E1D90917F1D892B39F082 -:10FD20000E94767E91E0811103C090E001C091E0D5 -:10FD3000892F08950E94667ECB0108950F931F932B -:10FD4000CF9380917E1D90917F1D009711F1FC0152 -:10FD50008F01C1912C2F2F7DA9F0C53411F0C5362C -:10FD6000B9F7F801108260E070E080917E1D9091FB -:10FD70007F1D0F94810BF801C083562F472F382F1A -:10FD8000292F0BC060E070E0CF911F910F910D946F -:10FD9000810B50E040E030E020E0652F742F832F8E -:10FDA000922FCF911F910F91089581548A3108F0BD -:10FDB00042C0E82FF0E04091C4185091C5186091FE -:10FDC000C6187091C71804C07695679557954795E2 -:10FDD0008A95D2F7842F817040FF2FC0E655F74EE9 -:10FDE0009081992309F1E091690BF0916A0BE90F79 -:10FDF000F11D908120ED290F2A3098F09E3211F4E8 -:10FE000091810CC09D3211F09B3271F4918120EDF3 -:10FE1000290F2A3030F09E3239F4928190539A3073 -:10FE200018F42E2F9F2F02C020E090E020937E1D1B -:10FE300090937F1D089580E0089508950E94D57ED7 -:10FE4000882341F081E020917E1D30917F1D232B7E -:10FE500009F480E00895CF93DF93C82FD62F0E9436 -:10FE60001E7F882321F0DF91CF910C948A7E8C2F06 -:10FE70000E94D57E811101C08D2FDF91CF91089511 -:10FE80002F923F924F925F926F927F928F929F92AA -:10FE9000AF92BF92CF92DF92EF92FF920F931F9398 -:10FEA000CF93DF93CDB7DEB7C755D1090FB6F8941E -:10FEB000DEBF0FBECDBF8EE795E10E9427B70E943F -:10FEC0001D6481110C94388884E50E941E7F88236C -:10FED00029F00E949A7E60E00E94118C80E090E000 -:10FEE000A0E8BFE380930E0B90930F0BA093100B31 -:10FEF000B093110B8093120B9093130BA093140BE0 -:10FF0000B093150B8DEC9CECACE4BEE380930A0B34 -:10FF100090930B0BA0930C0BB0930D0B80E090E033 -:10FF2000A0E2B1E48093BA119093BB11A093BC11ED -:10FF3000B093BD118CE390E09093B9118093B81108 -:10FF40008DEC90E09093B7118093B6111092B5119B -:10FF50004AE959E969E97EE38FE40E94B9BF6BAFD2 -:10FF60007CAF8DAF9EAF60E083E40E942B7F6696EE -:10FF70008FAF669760E08BE40E942B7F67968FAF10 -:10FF8000679782E40E941E7F8823C9F00E949E7EAC -:10FF90000F9457187093B9116093B81161157105DA -:10FFA00071F0685271096536710548F06CE870E0CF -:10FFB00080E595E10E94E7B88BE495E1AEC18CE461 -:10FFC0000E941E7F882301F10E949E7E6B017C01AE -:10FFD00060930A0B70930B0B80930C0B90930D0B9B -:10FFE00020E030E0A9010F944B1987FD0AC020E002 -:10FFF00030E040E050E4C701B6010F94E70F181657 -:020000021000EC -:100000001CF483E295E189C181E50E94D57E8823B5 -:1000100051F180917E1D90917F1D892B09F10E94E5 -:100020009E7E6B017C016093120B7093130B809387 -:10003000140B9093150B2DEC3CEC4CE45DE30F940A -:100040004B1987FD0AC020E030E040E751E4C701CA -:10005000B6010F94E70F181634F482EF94E15DC1F6 -:1000600087EC94E15AC183E50E941E7F8823C9F082 -:100070000E949E7E4B015C012DEC3CEC4CEC5DE360 -:100080000F944B1987FD0AC020E030E040E050E4B7 -:10009000C501B4010F94E70F181654F480EA94E1F7 -:1000A0003CC1FDEC8F2EFCEC9F2EA92CFEE3BF2E55 -:1000B00080E50E94D57E882371F180917E1D90910C -:1000C0007F1D892B19F488E694E127C18091B51131 -:1000D0008F5F8093B5110E949E7E6B017C016093BF -:1000E000BA117093BB118093BC119093BD1120E0A5 -:1000F00030E0A9010F944B1987FD0AC020E030E0E1 -:1001000048EC51E4C701B6010F94E70F18161CF430 -:1001100080E494E102C186E40E941E7F8823C9F036 -:100120000E949E7E6B017C0120E030E040E85FE3AE -:100130000F944B1987FD0AC020E030E040E850E4FE -:10014000C701B6010F94E70F18164CF487E194E14C -:10015000E4C0C12CD12CE0EEEE2EEFE3FE2EA70181 -:100160009601C701B6010F944D109B01AC0160E0F0 -:1001700070E084E490E40F94E51720910E0B309129 -:100180000F0B4091100B5091110B0F944D102B0140 -:100190003C01A5019401C501B4010F944D10A701C4 -:1001A00096010F944D102CEE31E548EB5DE30F9472 -:1001B000E5179B01AC01C301B2010F944D10609390 -:1001C0000E0B70930F0B8093100B9093110B88E420 -:1001D0000E941E7F882381F00E949E7E0F945718F4 -:1001E0007093B7116093B611655A7109683871053B -:1001F00018F089EE93E191C085E50E94D57E8823B1 -:10020000F1F00E94EE68611571058105910511F00C -:100210000F94780B80917E1D90917F1D892B19F092 -:100220000E949E7E04C060E070E088E492E46093E7 -:10023000B1117093B2118093B3119093B41182E510 -:100240000E94D57E811103C085EB93E166C0809149 -:100250007E1D90917F1D892B61F00E949A7E2F96C2 -:100260009FAF8EAF2F97181619064CF081E893E1D7 -:1002700054C00AE110E02F961FAF0EAF2F9788E50C -:100280000E941E7F882369F00E949E7E2091D918CB -:100290003091DA184091DB185091DC180F94EA166F -:1002A00008C06091780B7091790B80917A0B9091D6 -:1002B0007B0B6093AD117093AE118093AF1190934F -:1002C000B01189E50E941E7F882379F00E949E7EEE -:1002D0002091DD183091DE184091DF185091E01820 -:1002E0000F94EA16AB01BC0108C040917C0B509101 -:1002F0007D0B60917E0B70917F0B4093A911509301 -:10030000AA116093AB117093AC118DEA91E10E9438 -:100310003AFD811105C087E593E10E9427B7A8C681 -:1003200084E40E94D57E91E089270E94ACB620E04B -:1003300030E040EA50E46091800B7091810B809135 -:10034000820B9091830B0F94E70F87FF1CC0198AD3 -:100350001A8A1B8A1C8A80E090E0A0EAB0E48983B4 -:100360009A83AB83BC83BE016F5E7F4FCE01019643 -:100370000E9420E380E1E6E1FBE0A8E7BBE001901A -:100380000D928A95E1F71091591968961FAF6897F9 -:10039000109259190E94FEDB86E393E10E9427B771 -:1003A0008091B8119091B9118A31910574F48091BE -:1003B000B6119091B7110E94539B61E08091770B29 -:1003C0000E94928A811109C064C50E943A7D81E031 -:1003D0000E9413898111EBCF5CC51092840B10929F -:1003E000850B1092860B1092870B84E89BE00E948D -:1003F00024D98091B5118823B1F10E94487D2091C4 -:10040000220B3091230B4091240B5091250B6091CE -:10041000BA117091BB118091BC119091BD110F94D4 -:10042000EB166093220B7093230B8093240B909315 -:10043000250B20E030E040E751E460910912709113 -:100440000A1280910B1290910C120F94E517698398 -:100450007A838B839C83CE0101960E94987B0E94B5 -:10046000487D0E94CC6480E2E9E8F1E1DF01082FD9 -:100470001D920A95E9F7E9E6F1E1DF01082F1D92E7 -:100480000A95E9F7E9E4F1E1DF011D928A95E9F7C0 -:100490000E94487D80910A0B90910B0BA0910C0B50 -:1004A000B0910D0B80931E0B90931F0BA093200B0C -:1004B000B093210B19821A821B821C829E012F5F2E -:1004C0003F4F4EE15BE06AE17BE086E19BE00E940A -:1004D000527D9E01255C3F4F4EE15BE06AE17BE08F -:1004E00086E19BE00E94527D66960FAD66970023E1 -:1004F00029F06CE77BE088E79BE004C069EA71E1E2 -:100500008DEA91E10E94C07B298F3A8F4B8F5C8FDF -:100510006D8F7E8F3FAF2D962FAF2D972D961FADF0 -:100520002D9717FD9EC40FAD07FD9BC424E012025A -:10053000F0011124E156F44E4080518062807380B6 -:10054000C201D3018FAB98AFA9AFBAAF34E00302B9 -:10055000F0011124E557F44E1081C18032802380D0 -:10056000412F5C2D632D722DCE01C7960E943AFD5E -:10057000882309F47AC420E030E040EA50E4B20174 -:10058000C3010F94EB16F62E072FD82EE92E862FD7 -:10059000902FAD2DBE2D8BAB9CABADABBEAB812FE9 -:1005A0009C2DA32DB22D8FA798ABA9ABBAAB2D96DE -:1005B0004FAD2D97411146C05FAD51111FC020E0D6 -:1005C00030E040EA50E4612F7C2D832D922D0F9472 -:1005D000EB1621966FAF219723967FAF2397259631 -:1005E0008FAF259727969FAF27970FADF42C002349 -:1005F00009F4C2C0052DD62CE72C82C0C201D3015C -:100600008BAB9CABADABBEAB20E030E040EA50E43E -:10061000612F7C2D832D922D0F94EA166FA778AB56 -:1006200089AB9AAB2FAD243054F221961FAF21979E -:100630002396CFAE239725963FAE259727962FAECC -:1006400027975EC02D964FAD2D9744300CF45CC0BB -:100650000FAD04305CF020E030E040EA50E4B2013D -:10066000C3010F94EA16362F272F03C0342D252DF2 -:10067000C301432F522FBC014BAB5CAB6DAB7EABC8 -:100680000FAD01111FC020E030E040EA50E4B2019C -:10069000C3010F94EA16F62E072FD82EE92E20E07C -:1006A00030E040EA50E4612F7C2D832D922D0F9491 -:1006B000EB166FA778AB89AB9AAB2FAD222309F469 -:1006C0005FC008C00FADF42C04300CF4CDC4052D70 -:1006D000D62CE72C20E030E040EA50E4612F7C2D5E -:1006E000832D922D0F94EA1621966FAF21972396B2 -:1006F0007FAF239725968FAF259727969FAF279794 -:100700003FAD343084F148C04FAD41110FC020E0FF -:1007100030E040E251E46F2D702F8D2D9E2D0F940F -:10072000EA16F62E072FD82EE92E11C05FAD5430F1 -:10073000E4F120E030E040E251E46F2D702F8D2D88 -:100740009E2D0F94EA166BAB7CAB8DAB9EAB2196C6 -:100750001FAF21972396CFAE239725963FAE2597BF -:1007600027962FAE279772ED872E73E5972E7BE79E -:10077000A72E71E4B72E2DC0052DD62CE72C0CC06A -:1007800021961FAF21972396CFAE239725963FAE94 -:10079000259727962FAE279762ED862E63E5962E36 -:1007A0006BEFA62E60E4B62E14C021961FAF2197E2 -:1007B0002396CFAE239725963FAE259727962FAE4B -:1007C000279752ED852E53E5952E5BEFA52E51E42C -:1007D000B52E8BA99CA9ADA9BEA92C968CAF9DAFB7 -:1007E000AEAFBFAF2C979C01AD01B201C3010F9416 -:1007F000EA16698B7A8B8B8B9C8B4FA458A869A8BF -:100800007AA8A3019201612F7C2D832D922D0F9444 -:10081000EA166D8B7E8B8F8B988F2C962CAD3DAD11 -:100820004EAD5FAD2C976091780B7091790B8091F4 -:100830007A0B90917B0B0F94EA162C966CAF7DAFE0 -:100840008EAF9FAF2C97A301920160917C0B7091AA -:100850007D0B80917E0B90917F0B0F94EA162B01FC -:100860003C018F2D902FAD2DBE2D89839A83AB83B4 -:10087000BC8321968FAD219723969FAD2397259614 -:10088000AFAD25972796BFAD27978D839E83AF8306 -:10089000B88780910A0B90910B0BA0910C0BB09133 -:1008A0000D0B89879A87AB87BC872DEC3CEC4CEC11 -:1008B0005CE3C501B4010F944D1020910E0B3091F3 -:1008C0000F0B4091100B5091110B0F944D10209174 -:1008D000840B3091850B4091860B5091870B0F94C0 -:1008E000EB166D877E878F87988B2C962CAD3DAD50 -:1008F0004EAD5FAD2C97CA01B9010F944D106B013D -:100900007C01A3019201C301B2010F944D109B0120 -:10091000AC01C701B6010F94EB1620E030E040E0D7 -:1009200050E40F944B1918160CF047C00E94CC6489 -:100930001BA21CA21DA21EA220E030E040E05FE34B -:100940006091800B7091810B8091820B9091830B51 -:100950000F94EB166F8F78A389A39AA39E012D5D48 -:100960003F4FAE01415E5F4F6CE77BE088E79BE065 -:100970000E94527D1BA21CA21DA21EA220E030E0FC -:1009800040E05FE360910A0B70910B0B80910C0BC0 -:1009900090910D0B0F94EB166F8F78A389A39AA3F8 -:1009A0009E012D5D3F4FAE01415E5F4FBE01615D17 -:1009B0007F4FCE01C3960E94527D1F8E18A219A2AE -:1009C0001AA29E01215E3F4F4AE05BE0BE01615DDD -:1009D0007F4FCE01C3960E94527D0E94F8644090E2 -:1009E0004F02509050026090510270905202E0907D -:1009F0000112F09002120091031210910412A090C3 -:100A0000FD11B090FE11C090FF11D0900012950121 -:100A1000A601B701C8010F944B19181614F47501FB -:100A2000860120E030E040E251E4B701C8010F94B4 -:100A3000E51760934F027093500280935102909398 -:100A4000520240E0BE016F5E7F4FCE0101960E94D0 -:100A5000B7C940924F025092500260925102709278 -:100A600052020E94487D0FE91BE122961FAF0EAF94 -:100A70002297212C312C822D1FEF211A310A412C73 -:100A8000512C32014394082E04C0440C551C661CA2 -:100A9000771C0A94D2F741E050E060E070E0022C4D -:100AA00004C0440F551F661F771F0A94D2F78A01AE -:100AB0009B01042915292629372965960CAF1DAFFE -:100AC0002EAF3FAF659701E010E002C0000F111F8D -:100AD0008A95E2F761961FAF0EAF619709E411E1C5 -:100AE00029E831E128963FAF2EAF289749E651E13A -:100AF00026965FAF4EAF26978BE89BE124969FAF7B -:100B00008EAF24972896AEADBFAD28972A96BFAF7B -:100B1000AEAF2A978D919C91A0E0B0E065962CAD88 -:100B20003DAD4EAD5FAD659782239323A423B523DE -:100B300082179307A407B50709F09EC02696AEADAD -:100B4000BFAD26978D919C91A0E0B0E084219521C6 -:100B5000A621B721892B8A2B8B2B09F08DC020E091 -:100B600030E040E050E42296AEADBFAD22976D91EB -:100B70007D918D919C910F94EB166B017C016BA77D -:100B80007CA78DA79EA720E030E040E050E42296AD -:100B9000EEADFFAD229764817581868197810F94B8 -:100BA000EA164B015C016BA37CA38DA39EA320E0FE -:100BB00030E040E85FE3C701B6010F94E70F87FF1D -:100BC000D1C180E090E0A0E8BFE38BA79CA7ADA7D0 -:100BD000BEA72496AEADBFAD2497CD90DD90ED902D -:100BE000FC9020E030E040E85FE3C701B6010F94DD -:100BF000E70F87FDC7C120E030E845E953E4C701AE -:100C0000B6010F944B1918163CF4C12C30E8D32EC2 -:100C100035E9E32E33E4F32ECF8ED8A2E9A2FAA26F -:100C2000CFA2D8A6E9A6FAA620E030E040E85FE32C -:100C3000C501B4010F94E70F87FFABC180E090E0DE -:100C4000A0E8BFE38BA39CA3ADA3BEA3B701A601FD -:100C5000CE018B960E943AFD8111ABC12696EEAD76 -:100C6000FFAD26978081918161962EAD3FAD619752 -:100C7000822B932B9183808328964EAD5FAD28976E -:100C80004E5F5F4F28965FAF4EAF28972A96AEAD66 -:100C9000BFAD2A978D919C91A0E0B0E08421952171 -:100CA000A621B721892B8A2B8B2B09F4B0C0FA011E -:100CB00080819181A0E0B0E084219521A621B72117 -:100CC000892B8A2B8B2B09F4A2C0F801808191819A -:100CD000A0E0B0E084219521A621B721892B8A2BA1 -:100CE0008B2B09F094C020E030E040E050E42496E3 -:100CF000AEADBFAD24976D917D918D919C910F9478 -:100D0000EB162C966CAF7DAF8EAF9FAF2C976FA379 -:100D100078A789A79AA720E030E040E050E4249625 -:100D2000EEADFFAD249764817581868197810F9424 -:100D3000EA164B015C016F8F78A389A39AA32296D0 -:100D4000AEADBFAD2297CD90DD90ED90FC9020E050 -:100D500030E040E85FE3C701B6010F94E70F87FD7D -:100D60003FC120E030E845E953E4C701B6010F94E4 -:100D70004B1918163CF4C12C90E8D92E95E9E92EB0 -:100D800093E4F92ECBA2DCA2EDA2FEA2CBA6DCA6B8 -:100D9000EDA6FEA620E030E040E85FE32C966CADC7 -:100DA0007DAD8EAD9FAD2C970F94E70F87FF1FC1D0 -:100DB00080E090E0A0E8BFE38FA398A7A9A7BAA717 -:100DC00020E030E040E85FE3C501B4010F94E70F95 -:100DD00087FF21C180E090E0A0E8BFE38F8F98A358 -:100DE000A9A3BAA34FA158A569A57AA5CE018B9650 -:100DF0000E943AFD81111FC1F801808191816196A5 -:100E00002EAD3FAD6197822B932B918380830E5F34 -:100E10001F4F26964EAD5FAD26974E5F5F4F2696CD -:100E20005FAF4EAF269724968EAD9FAD2497049664 -:100E300024969FAF8EAF2497A3E5B1E1A017B10729 -:100E400009F060CE22960EAD1FAD22970C5F1F4FAA -:100E500022961FAF0EAF229715E02116310409F03C -:100E60000ACE80912018809321182F960EAD1FADC9 -:100E70002F97015011092F961FAF0EAF2F97012BFF -:100E800041F02D961FAD2D9717FD03C00FAD07FF45 -:100E90002BCB6FEF8BE493E10E9474D50E94CC645E -:100EA00080E090E0A0EAB0E480931E0B90931F0BCB -:100EB000A093200BB093210B19821A821B821C82F3 -:100EC0009E012F5F3F4F4EE15BE06AE17BE086E1F0 -:100ED0009BE00E94527D8091AD119091AE11A09146 -:100EE000AF11B091B0118093160B9093170BA09394 -:100EF000180BB093190B8091A9119091AA11A09190 -:100F0000AB11B091AC1180931A0B90931B0BA09373 -:100F10001C0BB0931D0B19821A821B821C829E012E -:100F20002F5F3F4F4EE15BE06AE17BE086E19BE0B3 -:100F30000E94527D68961FAD6897109359190E94C0 -:100F4000FEDB67960FAD6797011192C01092D6082D -:100F50001092D5080E942F928091770B90E00E940A -:100F6000539B86C020E030E845E953E4C701B60151 -:100F70000F944B1918160CF02CCE80E090E8A5E9E0 -:100F8000B3E423CEC12CD12C20E8E22E2FE3F22EA5 -:100F900043CE20E030E845E953E4C501B4010F94A5 -:100FA0004B1918160CF052CE80E090E8A5E9B3E496 -:100FB00049CEB701A601CE0183960E943AFD88234F -:100FC00009F44CCE9E01215E3F4FAE014D5D5F4F57 -:100FD000BE01695D7F4FCE018B960E9428653ECE93 -:100FE000C12CD12C80E8E82E8FE3F82ECBCE20E068 -:100FF00030E845E953E42C966CAD7DAD8EAD9FADE8 -:101000002C970F944B1918160CF0DACE80E090E86C -:10101000A5E9B3E4D1CE20E030E845E953E4C501C9 -:10102000B4010F944B1918160CF0DCCE80E090E858 -:10103000A5E9B3E4D3CE4F8D58A169A17AA1CE0121 -:1010400083960E943AFD882309F4D6CE9E01215E44 -:101050003F4FAE014D5D5F4FBE01695D7F4FCE01D9 -:101060008B960E942865C8CE052DD62CE72C17CB71 -:10107000C95ADF4F0FB6F894DEBF0FBECDBFDF9168 -:10108000CF911F910F91FF90EF90DF90CF90BF9085 -:10109000AF909F908F907F906F905F904F903F9018 -:1010A0002F900895EF92FF920F931F93CF937C019F -:1010B0008B014F3F11F4C2E401C0C4E580E20E94FD -:1010C000234D8C2F0E94234D8AE30E94234DF7016C -:1010D000608171818281938142E00E94B34DF80169 -:1010E000408151816281738186E596E10E94D6B884 -:1010F00062E070E080E090E0CF911F910F91FF904F -:10110000EF900C94B4686091BE087091BF08072EF0 -:10111000000C880B990B0F94EE0F2091BA083091B8 -:10112000BB084091BC085091BD080F944B1918168C -:101130001CF082E696E102C08FE696E160E00C9436 -:1011400074D51F93CF93DF93CDB7DEB728970FB633 -:10115000F894DEBF0FBECDBF182F6091BE0870910E -:10116000BF08072E000C880B990B0F94EE0F6D83B0 -:101170007E838F8398878091BA089091BB08A09155 -:10118000BC08B091BD0889839A83AB83BC834CEFC4 -:10119000BE016B5F7F4FCE0101960E945288609125 -:1011A000D5087091D608072E000C880B990B0F9468 -:1011B000EE0F6D837E838F8398878091D108909105 -:1011C000D208A091D308B091D40889839A83AB83C5 -:1011D000BC834FEFBE016B5F7F4FCE0101960E9433 -:1011E00052881F3F41F087E11802F0011124EA54B0 -:1011F000F74F628502C06091D70870E08EE596E1F6 -:101200000E94E7B86091D70870E089E596E10E94F6 -:10121000E7B828960FB6F894DEBF0FBECDBFDF91BA -:10122000CF911F9108952F923F924F925F926F92AC -:101230007F928F929F92AF92BF92CF92DF92EF9266 -:10124000FF920F931F93CF93DF93CDB7DEB76397D2 -:101250000FB6F894DEBF0FBECDBF898B81E08093BF -:1012600016021A821B821C821D8219861A861B8610 -:101270001C8619821D862CE32E873CE13F8746E4BD -:10128000488B312C212C50E85A8B8FEB8B8B91E0C3 -:101290009887812C912C54016091D5087091D608C3 -:1012A000072E000C880B990B0F94EE0F7B018C011D -:1012B0009B01AC01632D722D8A899B890F94E70FE6 -:1012C000882361F16091D1087091D2088091D30890 -:1012D0009091D408A989A1110EC0B1E0B9839701FA -:1012E000A8010F944B1918160CF019823E2C2F2CC4 -:1012F0000A8B1B8B13C09701A8010F944B1918166A -:1013000044F480911602882309F4F1C00E94F8D5B4 -:10131000EEC03E2C2F2C0A8B1B8B19820E94EE688C -:101320006B017C01DC01CB0129853A854B855C850D -:10133000821B930BA40BB50BB7FD34C0D701C601BC -:1013400088519C4FAF4FBF4F89879A87AB87BC8727 -:101350008091770B0E94A18880E896E10E9427B7D0 -:1013600081149104A104B104B9F0D501C401805FD6 -:10137000984DAF4FBF4FBC01CD016C197D098E094F -:101380009F0928EE33E040E050E00F943D16CA017B -:10139000B9010E94974D03C08FE30E94234D8AE05C -:1013A0000E94234D80E00E944F4E0E94EE686093A1 -:1013B00078197093791980937A1990937B19909189 -:1013C000D1089E83A091D208AF830091D3081091D9 -:1013D000D408292F3A2FA801632D722D8A899B8961 -:1013E0000F94EA162B013C0120E030E0A9010F9494 -:1013F0004B1987FF04C077FA709477F870948114C2 -:101400009104A104B104B1F420E030E040E85FE3CE -:10141000C301B2010F94E70F87FF18C0B8854601DA -:101420005701BB2399F020E1820E27E2921EA11CF6 -:10143000B11C0CC020E030E040E450E4C301B20134 -:101440000F944B19181614F44601570139813323B0 -:10145000A9F18A819B81AC81BD81892B8A2B8B2B41 -:1014600061F0D701C6012A813B814C815D81821BDD -:10147000930BA40BB50BB7FD21C02E813F81A801B2 -:101480006D857E858F8598890F94EA1620E030E07F -:1014900040EC5FE30F94E70F87FD33CFD701C60120 -:1014A000805A9541AF4FBF4F8A839B83AC83BD83E6 -:1014B0009E819D87AF81AE870F87188B8091160222 -:1014C000882309F41ECF81149104A104B10411F4FE -:1014D0001886E2CEB0E1CB1AB7E2DB0AE108F108E8 -:1014E000C818D908EA08FB08F7FCF2CF0ACF8091A8 -:1014F000160263960FB6F894DEBF0FBECDBFDF9124 -:10150000CF911F910F91FF90EF90DF90CF90BF9000 -:10151000AF909F908F907F906F905F904F903F9093 -:101520002F9008952F923F924F925F926F927F92E9 -:101530008F929F92AF92BF92CF92DF92EF92FF92E3 -:101540000F931F93CF93DF93CDB7DEB764970FB69A -:10155000F894DEBF0FBECDBF898B6A8B81E080938C -:1015600016021A821B821C821D8219861A861B860D -:101570001C8621E0288719821D863CE33E874CE1CA -:101580004F8756E4588B312C212C80E88B8B9FEBB6 -:101590009C8B812C912C54016091BE087091BF08E6 -:1015A000072E000C880B990B0F94EE0F7B018C011A -:1015B0009B01AC01632D722D8B899C890F94E70FE1 -:1015C000882361F16091BA087091BB088091BC08D2 -:1015D0009091BD08AA89A1110EC0B1E0B98397010D -:1015E000A8010F944B1918160CF019823E2C2F2CC1 -:1015F0000B8B1C8B13C09701A8010F944B19181665 -:1016000044F480911602882309F4F0C00E94F8D5B2 -:10161000EDC03E2C2F2C0B8B1C8B19820E94EE6888 -:101620006B017C01DC01CB0129853A854B855C850A -:10163000821B930BA40BB50BB7FD33C0D701C601BA -:1016400088519C4FAF4FBF4F89879A87AB87BC8724 -:1016500089890E94A1888CE796E10E9427B78114AE -:101660009104A104B104B9F0D501C401805F984D83 -:10167000AF4FBF4FBC01CD016C197D098E099F0989 -:1016800028EE33E040E050E00F943D16CA01B90166 -:101690000E94974D03C08FE30E94234D8AE00E9471 -:1016A000234D80E00E944F4E0E94EE6860937819AF -:1016B0007093791980937A1990937B199091BA0855 -:1016C0009E83A091BB08AF830091BC081091BD0818 -:1016D000292F3A2FA801632D722D8B899C890F9495 -:1016E000EA162B013C0120E030E0A9010F944B19D0 -:1016F00087FF04C077FA709477F87094811491048E -:10170000A104B104B1F420E030E040E85FE3C3019C -:10171000B2010F94E70F87FF18C0B8854601570143 -:10172000BB2399F020E1820E27E2921EA11CB11C7E -:101730000CC020E030E040E450E4C301B2010F945B -:101740004B19181614F44601570139813323A9F1B6 -:101750008A819B81AC81BD81892B8A2B8B2B61F087 -:10176000D701C6012A813B814C815D81821B930B8D -:10177000A40BB50BB7FD21C02E813F81A8016D855B -:101780007E858F8598890F94EA1620E030E040EC42 -:101790005FE30F94E70F87FD34CFD701C601805A6E -:1017A0009541AF4FBF4F8A839B83AC83BD839E819E -:1017B0009D87AF81AE870F87188B80911602882393 -:1017C00009F41FCF81149104A104B10411F4188607 -:1017D000E3CEB0E1CB1AB7E2DB0AE108F108C818A2 -:1017E000D908EA08FB08F7FCF2CF0BCF809116026C -:1017F00064960FB6F894DEBF0FBECDBFDF91CF91D8 -:101800001F910F91FF90EF90DF90CF90BF90AF901E -:101810009F908F907F906F905F904F903F902F9010 -:1018200008952F923F924F925F926F927F928F9284 -:101830009F92AF92BF92CF92DF92EF92FF920F935F -:101840001F93CF93DF93CDB7DEB729970FB6F894E8 -:10185000DEBF0FBECDBFF82E762E0E9413D981E0D9 -:101860008F1598F40E940BB984E50E94234D6F2DCB -:1018700070E080E090E00E94974D80E20E94234D4E -:1018800084E896E10E9427B7F7C1711008C08091E3 -:10189000260B877077247394873009F4712C90900D -:1018A000770B81E087258987882389F088248394B2 -:1018B00020E030E0A90160912B1270912C128091F0 -:1018C0002D1290912E120F94E70F811101C0812CDF -:1018D00080912A1283FD53C18091291281114FC139 -:1018E0002091BE083091BF0880915302909154021C -:1018F000281739070CF043C1882049F00E940BB922 -:1019000088EA96E10E9427B7F092770BB5C166246A -:101910006394F91409F424C120904F0230905002CE -:10192000409051025090520280E090E0A8ECB2E466 -:1019300080934F0290935002A0935102B0935202B1 -:1019400080E00E94FAE181E00E94FAE182E00E94D8 -:10195000FAE10E94487D8985882309F470C02091AE -:101960003F123091401240914112509142126091C9 -:10197000800B7091810B8091820B9091830B0F945F -:10198000EB166093800B7093810B8093820B909386 -:10199000830BA0904B02B0904C02C0904D02D090AF -:1019A0004E02A60195010F944B19181644F4A0920B -:1019B000800BB092810BC092820BD092830BA12C32 -:1019C000B12C6501E090770B05E012E124E83BE0E3 -:1019D00040E85BE06CE77BE088E79BE00E9494DBFB -:1019E0008091371290913812A0913912B0913A1229 -:1019F0008093780B9093790BA0937A0BB0937B0B29 -:101A000080913B1290913C12A0913D12B0913E12F8 -:101A100080937C0B90937D0BA0937E0BB0937F0BF8 -:101A2000E92C0FE412E024E83BE040E85BE06CE7DF -:101A30007BE088E79BE00E9494DB0E9413D920E0C2 -:101A400030E0A9016091780B7091790B80917A0B4D -:101A500090917B0B0F94EB166093780B7093790B3E -:101A600080937A0B90937B0B20E030E0A90160918A -:101A70007C0B70917D0B80917E0B90917F0B0F946E -:101A8000EB1660937C0B70937D0B80937E0B909391 -:101A90007F0B20E030E0A9016091800B7091810BF9 -:101AA0008091820B9091830B0F94EB166093800BC7 -:101AB0007093810B8093820B9093830BF092770B42 -:101AC0000E945BE3711044C080913602882309F4C0 -:101AD0003FC0892D90E0FC01EB5DFD4E2091271267 -:101AE00020836F2D70E0FB01EB5DFD4E2081209384 -:101AF00027122091BE083091BF08880F991FFC0162 -:101B0000EF5DFD4E31832083660F771FFB01EF5D94 -:101B1000FD4E80819181009761F02817390749F0C7 -:101B20000E94539B80E00E94838860E080E00E94D6 -:101B3000928A811050C086E19BE00E948EDE8985EA -:101B4000882331F065E072E18EE19BE00E9420E3A2 -:101B500020924F0230925002409251025092520213 -:101B60000E9413D90E940BB96091770B70E086E94F -:101B700096E10E94E7B88AE00E94234D7DC088204C -:101B800041F16091351270913612072E000C880BCE -:101B9000990B0F94EE0F20E030E040E752E40F94F1 -:101BA000E5176D837E838F83988780912B129091A8 -:101BB0002C12A0912D12B0912E12B05889839A83C5 -:101BC000AB83BC83BE016B5F7F4FCE0101960E9449 -:101BD00044B6612C9ECE6110AECF609133127091ED -:101BE0003412072E000C880B990B0F94EE0F20E097 -:101BF00030E040E752E40F94E51769837A838B83E2 -:101C00009C83BE016F5F7F4F8BE292E10E9444B6DE -:101C100080E090E0A0E4B0E489839A83AB83BC8346 -:101C2000BE016F5F7F4F8FE292E10E9444B60E9437 -:101C300013D920E030E040E050E46091840B7091D3 -:101C4000850B8091860B9091870B0F94EA16609319 -:101C5000840B7093850B8093860B9093870B609316 -:101C6000220B7093230B8093240B9093250B82E21D -:101C70009BE00E9424D95FCF29960FB6F894DEBF6F -:101C80000FBECDBFDF91CF911F910F91FF90EF90CD -:101C9000DF90CF90BF90AF909F908F907F906F908C -:101CA0005F904F903F902F900895EF92FF920F9387 -:101CB0001F93CF93DF93809135028F37A0F08F571A -:101CC0009091C00890935112992311F02C9A01C061 -:101CD0002C982091D7082093501290910201222332 -:101CE00069F090950BC090915112891708F02C98CB -:101CF00090915012891728F0909102019072909360 -:101D000000018F5F8093350290914F1281E0892707 -:101D100080934F128091340285301CF411E0180F2B -:101D200001C010E0823009F4B9C054F4882301F1F5 -:101D3000813009F0E8C088E080937B0085E4C5C06D -:101D4000843009F4CAC00CF4BCC0853009F0DBC093 -:101D500090914E12911102C080934E1280914E12BA -:101D6000815080934E12882309F4CDC015E0CBC07A -:101D7000809133028F5F80311CF480933302C3C0A3 -:101D8000109233028091D511811113C08091B60851 -:101D90009091B7089093B9088093B8088091CD08C6 -:101DA0009091CE089093D0088093CF0881E08093E3 -:101DB000D5111092B7081092B6081092CE08109262 -:101DC000CD08E090B808F090B908F194E194F108DA -:101DD0008091BE089091BF0801E0181619062CF0FA -:101DE0008091C008811101C000E0809110029091A3 -:101DF00011029195819591098E159F053CF446EC51 -:101E000055E167EE75E180E00E9447F5002389F017 -:101E100080910E0290910F02919581959109E8169B -:101E2000F9063CF449EF55E16AE176E180E00E9471 -:101E300047F58091D5089091D60801E0181619064B -:101E40002CF08091D708811101C000E02091CF08CB -:101E50003091D0088091E5089091E60882179307A9 -:101E60003CF046ED55E167EE75E18FEF0E9447F5D6 -:101E7000002309F448C02091CF083091D008809108 -:101E80000C0290910D0228173907ECF149E056E158 -:101E90006AE176E18FEF0E9447F535C080917A00C4 -:101EA00086FD2EC080917800909179002091B6082F -:101EB0003091B708820F931F9093B7088093B608AC -:101EC00022C088E080937B0086E480937C00809130 -:101ED0007A00806480937A0016C080917A0086FD33 -:101EE00011C080917800909179002091CD083091B7 -:101EF000CE08820F931F9093CE088093CD0803C025 -:101F000012E001C014E01093340220917C1930914A -:101F10007D192115310509F43AC0F8949091090111 -:101F200092708091080181708093060180910B016D -:101F3000121613060CF08095827080930901000040 -:101F40000000000080910B0180958870809309014A -:101F500084E08A950000E9F780910B0188708093F6 -:101F6000090180910B019111809582708093090184 -:101F7000789480917C1990917D191216130614F4AF -:101F8000019701C0019690937D1980937C198091EF -:101F9000D611882309F44DC0809132028E5F8F776D -:101FA00080933202811145C08CB185FB882780F96E -:101FB000C82F80E0D82F8091030181FDC2604B992A -:101FC000C46000914C1210914D120C271D27011571 -:101FD000110579F100FF07C0BE016170772781E428 -:101FE00096E10E94E7B801FF08C06C2F669561700A -:101FF00070E088E396E10E94E7B802FF08C0C2FBE8 -:10200000662760F970E08FE296E10E94E7B88CE203 -:1020100096E10E9427B710914B12612F70E08DE07E -:102020000E94CC67109510934B12D0934D12C09321 -:102030004C128091F90881110E940EE48091D71111 -:102040009091D811009769F001979093D8118093DF -:10205000D711892B31F48AE496E190930A09809391 -:102060000909DF91CF911F910F91FF90EF90089593 -:102070000F930FB70F9300916E000B7F00936E00CC -:1020800078940F930BB70F930CB70F921F922F9367 -:102090003F934F935F936F937F938F939F93AF93F0 -:1020A000BF93EF93FF9311240E94558EFF91EF9100 -:1020B000BF91AF919F918F917F916F915F914F9160 -:1020C0003F912F911F900F900CBF0F910BBF0F915D -:1020D0000460F89400936E000F910FBF0F91189554 -:1020E0002F923F924F925F926F927F928F929F9228 -:1020F000AF92BF92CF92DF92EF92FF920F931F9316 -:10210000CF93DF93CDB7DEB729970FB6F894DEBF34 -:102110000FBECDBF1C017B836A8329831F830E837F -:10212000FD82EC8227FD10C0022E000C330B398794 -:102130002887398185E03802F0011124E153FE4EF1 -:1021400084818823E1F008C08091CE11882399F022 -:10215000E1E0F0E0F987E887F1011482E885F9858C -:10216000EE0FFF1FEE0FFF1FED5BFD4E1082118281 -:10217000128213822EC021E030E039872887FA01CD -:10218000C080D180E280F38008851985000F111F7F -:10219000000F111F0D5B1D4EA7019601F801608114 -:1021A0007181828193810F94E70F882391F0F80168 -:1021B000C082D182E282F38211E020E030E0A90106 -:1021C000C701B6010F944B1918160CF010E0F1017D -:1021D0001483F10184818230F9F0833009F401C164 -:1021E000813009F023C1E885F985EE0FFF1FEE0F5E -:1021F000FF1FED5BFD4E2081318142815381EA81D9 -:10220000FB8160817181828193810F94E70F87FD4B -:102210000DC182E0F101848380913102882309F4A9 -:1022200093C0F981F7FD90C08F2FFF0F990B8C01A0 -:102230001816190614F401E010E0F801E95DFD4EEE -:102240002081222371F1EA81FB81C080D180E2806C -:10225000F380880F991F880F991FFC01ED5BFD4EDD -:1022600080809180A280B3802C813D81B90180E083 -:1022700090E00F94EC0F2B013C0120E030E040E8AF -:102280005EE30F944D109B01AC01C501B4010F94A6 -:10229000EA169B01AC01C701B6010F944B1987FDEB -:1022A00005C0F801E15DFD4F80E81AC023E830EC7D -:1022B0004AEA5EE3C301B2010F944D109B01AC01E9 -:1022C000C501B4010F94EA169B01AC01C701B60128 -:1022D0000F944B19015D1D4F87FD04C080E6F80186 -:1022E000808332C020E030E040E05FE3C301B20110 -:1022F0000F944D109B01AC01C501B4010F94EA1677 -:102300009B01AC01C701B6010F944B1987FD02C0B8 -:1023100080E4E5CF2DEC3CEC4CE45FE3C301B2017B -:102320000F944D109B01AC01C501B4010F94EA1646 -:102330009B01AC01C701B6010F944B1987FD02C088 -:1023400080E2CDCFF801108208851985000F111F9A -:10235000000F111F98012D5B3D4E39872887EC81B6 -:10236000FD81BF0180E090E00F94EC0F9B01AC0178 -:10237000E885F98560817181828193810F94EA16E5 -:102380009B01AC01EA81FB81608171818281938133 -:102390000F944B1987FD14C00E94EE686B017C01FD -:1023A0002E813F81A8EEB3E00F949116C60ED71E82 -:1023B000E81EF91EF101C082D182E282F38236C0AA -:1023C0000E94EE68F1010081118122813381DC01DC -:1023D000CB01801B910BA20BB30BB7FD27C083E091 -:1023E0008483F981FF3F19F04FE855E102C042EACA -:1023F00055E166EB75E1898129960FB6F894DEBF49 -:102400000FBECDBFDF91CF911F910F91FF90EF9045 -:10241000DF90CF90BF90AF909F908F907F906F9004 -:102420005F904F903F902F900C9447F529960FB6F0 -:10243000F894DEBF0FBECDBFDF91CF911F910F91FA -:10244000FF90EF90DF90CF90BF90AF909F908F90D4 -:102450007F906F905F904F903F902F900895CF9214 -:10246000DF92EF92FF926091D5087091D6086115C6 -:102470007105C1F0C090D108D090D208E090D30887 -:10248000F090D40866507109072E000C880B990B48 -:102490000F94EE0F9B01AC01C701B6010F94E70F3B -:1024A00087FD09C01092C6111092C7111092C81171 -:1024B0001092C9111EC020E030E040E050E4C70196 -:1024C000B6010F94EB160F945E187093C5116093CC -:1024D000C4110E94EE68DC01CB01805E9044AD4FD8 -:1024E000BF4F8093C6119093C711A093C811B093AA -:1024F000C911FF90EF90DF90CF900895CF93DF93B5 -:102500001092D41180E090E00E94539BCDECD8E073 -:10251000198618860E942F9280E090E00E94539BBB -:102520001092C0082C98198618861A86809102018C -:10253000807280930001DF91CF910895CF92DF9256 -:10254000EF92FF926091BE087091BF08611571050E -:10255000C1F0C090BA08D090BB08E090BC08F090E1 -:10256000BD0866507109072E000C880B990B0F945B -:10257000EE0F9B01AC01C701B6010F94E70F87FD79 -:1025800009C01092C0111092C1111092C211109284 -:10259000C3111EC020E030E040E050E4C701B601A6 -:1025A0000F94EB160F945E187093BF116093BE11D9 -:1025B0000E94EE68DC01CB01805B9C43AF4FBF4FB4 -:1025C0008093C0119093C111A093C211B093C31115 -:1025D000FF90EF90DF90CF900895CF93DF93C6EBFD -:1025E000D8E060E08A819B810E949BF46C837D83AC -:1025F0008E839F83CDECD8E08A819B810E9402F478 -:102600006C837D838E839F83A8951092D511DF9173 -:10261000CF9108958F929F92AF92BF92CF92DF9207 -:10262000EF92FF920F931F93CF93DF93EC018B8177 -:10263000811102C080E078C009891A892B893C8900 -:102640000417150726073707A8F36A017B018230B4 -:1026500029F4C886D986EA86FB860DC0C114D10448 -:10266000E104F10451F4188619861A861B861C822F -:102670001D821E821F8281E057C088849984AA84AB -:10268000BB84E98DFA8D258530E0275F3F4FB5018A -:10269000A4014150510961097109022E04C07695C7 -:1026A0006795579547950A94D2F7D701C6010197C8 -:1026B000A109B10904C0B695A795979587952A9564 -:1026C000D2F784179507A607B70720F089288A282C -:1026D0008B2871F44D895E896F89788D4C835D8379 -:1026E0006E837F834C015D018E010C5F1F4F16C00E -:1026F000841B950BA60BB70BF5CF4C815D816E81CA -:102700007F819801898D9A8D0E94EF5D91E0891AF1 -:102710009108A108B108882309F48CCF8114910491 -:10272000A104B10451F795CFDF91CF911F910F9183 -:10273000FF90EF90DF90CF90BF90AF909F908F90E1 -:1027400008950F931F93CF93DF93FC0123812223DE -:1027500011F080E044C08B01EC01FB0187898031DE -:1027600039F18032B1F783E08B83F801428D538DCC -:10277000648D758D4D8B5E8B6F8B788F9E012F5E78 -:102780003F4FC8010E94705E882319F31A8F098F8A -:1027900081E08983188619861A861B861C821D8211 -:1027A0001E821F82188A1C861D861E861F8617C0E1 -:1027B00082E08B831D8A1E8A1F8A188EFB01808D02 -:1027C000918DA0E0B0E025E0880F991FAA1FBB1FE4 -:1027D0002A95D1F7898B9A8BAB8BBC8BD7CFDF91A6 -:1027E000CF911F910F910895CF93DF93EC0141E0BA -:1027F000611101C040E06C857D858E859F850E94BA -:10280000245D882341F0888920E2829FC001112441 -:102810008B56944F02C080E090E0DF91CF910895F5 -:10282000CF93DF93EB01FC012381211102C080E0F3 -:1028300028C02250223020F48FE28883198220C0E1 -:1028400060E00E94F493009791F3FC0190E080E037 -:102850002EE23081303269F0883029F4DE01A90F90 -:10286000B11D2C939F5FDE01A90FB11D30813C93F8 -:102870009F5F8F5F31968B3061F7C90FD11D188232 -:1028800081E0DF91CF9108953F924F925F926F92D6 -:102890007F928F929F92AF92BF92CF92DF92EF92F0 -:1028A000FF920F931F93CF93DF93CDB7DEB72C9793 -:1028B0000FB6F894DEBF0FBECDBF5C01DC015996A8 -:1028C0008D909C905A97F40181859285A385B4855B -:1028D0009C01AD012F5F3F4F4F4F5F4F29873A87D4 -:1028E0004B875C87D5011496CD90DD90ED90FC90E0 -:1028F0001797C114D104E104F10439F0BFEFCB1AEA -:10290000DB0AEB0AFB0A312C07C0F401C080D1803E -:10291000E280F38033243394260137011D821E8226 -:102920001F821886F40181859285A385B4852D8147 -:102930003E814F815885281739074A075B0708F001 -:1029400064C089859A85AB85BC858C159D05AE05CF -:10295000BF0550F482E0C82ED12CE12CF12C92E07E -:10296000492E512C612C712C9E012F5F3F4FB701D6 -:10297000A601C4010E94EF5D882309F446C0898145 -:102980009A81AB81BC81892B8A2B8B2B41F026014C -:1029900037019FEF491A590A690A790A05C0C41418 -:1029A000D504E604F70491F02D813E814F815885CE -:1029B0002F5F3F4F4F4F5F4F2D833E834F8358878D -:1029C0003FEFC31AD30AE30AF30AACCF0FEF1FEFAE -:1029D0002FEF3FE0B301A201C4010E945D5DF82E1C -:1029E000882399F0D50114964D915D916D917C915C -:1029F0001797411551056105710549F09301820151 -:102A0000C4010E945D5D811102C0F12C29C0D50175 -:102A100014964D925D926D927C921797332051F0EF -:102A2000D301C2010196A11DB11DF40180839183E0 -:102A3000A283B383F50185899689A789B08D892BF7 -:102A40008A2B8B2B69F4D50155964D925D926D9230 -:102A50007C92589711968C911197806811968C935F -:102A60008F2D2C960FB6F894DEBF0FBECDBFDF9131 -:102A7000CF911F910F91FF90EF90DF90CF90BF907B -:102A8000AF909F908F907F906F905F904F903F900E -:102A9000089540E050E0BA010C940A9361E0FC0113 -:102AA00080810E9461678FEF0C943D56EF92FF92F8 -:102AB0001F93CF93DF9300D01F92CDB7DEB77C0179 -:102AC000162F29833A834B835C83FC0182810E9409 -:102AD000495660E0F70180810E9461670E9418ED0D -:102AE000812F80640E943D568C810E943D568B81CF -:102AF0000E943D568A810E943D5689810E943D5622 -:102B0000112311F087E801C085E90E943D561C3071 -:102B100011F40E94425610E00E944256F70183834E -:102B200087FF04C01F3F11F01F5FF6CF0F900F907B -:102B30000F900F90DF91CF911F91FF90EF9008952C -:102B40000F931F93CF93DF93EC0189018C81833026 -:102B500039F089E0440F551F661F771F8A95D1F71A -:102B60009A01AB0168E1CE010E945695811128C0FF -:102B70008EEF8EBDF801C8019E5F0DB407FEFDCF3C -:102B800020812EBD0DB407FEFDCF21812EBD3296D2 -:102B90008E179F0791F70DB407FEFDCF8FEF0E94B0 -:102BA0003D568FEF0E943D560E9442568B838F7197 -:102BB000853041F083E18983CE010E944E9519C092 -:102BC00086E016C00E9418ED882379F020E030E0FE -:102BD000A9016DE0CE010E945695811108C00E94A6 -:102BE0004256811104C011E005C087E101C086E1B1 -:102BF000898310E0CE010E944E95812FDF91CF9105 -:102C00001F910F910895CF9380919D0D8823B9F165 -:102C10004091950D5091960D6091970D7091980D82 -:102C200025E93BE080919E0D90919F0D0E94A0951B -:102C3000C82F811102C0C0E023C04091990D50916E -:102C40009A0D60919B0D70919C0D41155105610588 -:102C5000710591F025E93BE080919E0D90919F0DCB -:102C60000E94A095882339F31092990D10929A0D25 -:102C700010929B0D10929C0D10929D0D01C0C1E011 -:102C80008C2FCF910895CF93DF93EC018B81882314 -:102C900039F1898187FF20C061E0CE010E94F49361 -:102CA000FC01892BE9F08081853ED1F08B81823057 -:102CB00040F489899A89AB89BC89848F958FA68FC6 -:102CC000B78F8D899E89AF89B88D938F828FB58B91 -:102CD000A48B89818F778983DF91CF910C940396A0 -:102CE00081E0888380E0DF91CF910895CF93DF93D7 -:102CF000EC010E9443961B82DF91CF910895FC0165 -:102D0000238121110C9476960895CF92DF92EF9251 -:102D1000FF920F931F93CF93DF93EC0189018C8176 -:102D2000833039F089E0440F551F661F771F8A955D -:102D3000D1F79A01AB0161E1CE010E94569588233B -:102D400039F084E08983CE010E944E9580E03EC038 -:102D50000E94EE686B017C012CE2C20E21E0D21EC3 -:102D6000E11CF11C0E9442568B838F3F61F40E944C -:102D7000EE68DC01CB018C199D09AE09BF09B7FDD6 -:102D8000F1CF81E11DC08E3FD1F48FEF8EBDF801F0 -:102D9000D801A150BE4F0DB407FEFDCF9EB5919353 -:102DA0008EBDEA17FB07B9F70DB407FEFDCF8EB550 -:102DB0008C930E9442560E94425611E003C08FE05D -:102DC000898310E0CE010E944E95812FDF91CF9133 -:102DD0001F910F91FF90EF90DF90CF9008952F9269 -:102DE0003F924F925F926F927F928F929F92AF929B -:102DF000BF92CF92DF92EF92FF920F931F93CF93E8 -:102E0000DF9300D01F92CDB7DEB79C838B834B013D -:102E10005A01DC0113968C91811103C08FEF9FEF53 -:102E2000E3C0EB81FC81818180FFF8CFEB81FC81E5 -:102E300081899289A389B48940855185628573858A -:102E4000841B950BA60BB70BA50160E070E08417FF -:102E50009507A607B70708F45C0175018B819C8173 -:102E600004969A838983612C42E0742EE114F10464 -:102E700009F48BC0AB81BC8118964D915D916D9129 -:102E80007C911B976A01B1E0DB22EB81FC812381FD -:102E9000818D928D1A012B0139E056944794379415 -:102EA00027943A95D1F7223061F4FC01828D938DFD -:102EB000A48DB58DBC01CD01620D731D841D951DC2 -:102EC0004AC0DC0114961C9111501221C114D10486 -:102ED00001F511111EC0452B462B472B59F4EB81F0 -:102EE000FC8185899689A789B08D84839583A68383 -:102EF000B7830FC0AB81BC8114964D915D916D91EC -:102F00007C91179729813A810E94EF5D882309F40B -:102F100085CFEB81FC81218D328D84819581A681C5 -:102F2000B7810297A109B109F901058404C0880F8E -:102F3000991FAA1FBB1F0A94D2F74685578560893F -:102F40007189840F951FA61FB71FBC01CD01610FAA -:102F5000711D811D911D93012C193D0987012E15AD -:102F60003F0508F489010115F2E01F0779F520916A -:102F7000950D3091960D4091970D5091980D6217D7 -:102F800073078407950719F421C0C5012DC094016A -:102F9000AB01BC0180919E0D90919F0D0E94859682 -:102FA000882309F43BCF800E911EEB81FC81808544 -:102FB0009185A285B385800F911FA11DB11D8087CA -:102FC0009187A287B387E01AF10A50CF40E00E94B0 -:102FD000245D882309F422CFB6016B56744FA801F3 -:102FE000C4010F94171ADFCF0F900F900F900F901E -:102FF000DF91CF911F910F91FF90EF90DF90CF90D5 -:10300000BF90AF909F908F907F906F905F904F9008 -:103010003F902F900895DF92EF92FF920F931F93AE -:10302000CF93DF938C01EB017A018DE0D82E40E243 -:1030300050E0BE01C8010E94EF968032910539F040 -:1030400021E0892B09F420E0822F819544C028815A -:103050002223C9F1253E11F02E3231F4E114F1049E -:1030600031F3F7011082E3CFE114F10441F13B8524 -:103070003F733F3021F54A8D5B8D452B01F52F7154 -:103080003FEF320F3530D8F430E021503109D29E75 -:10309000C001D39E900D1124D701A80FB91FFE01C6 -:1030A00020E0AD01253088F431813D932F5F3296C9 -:1030B0002D30C1F7288126FF02C0FA0115862B8525 -:1030C00023FDB5CF08C080E006C02B3010F434815A -:1030D000ECCF3681EACFDF91CF911F910F91FF9016 -:1030E000EF90DF9008954F925F926F927F929F9240 -:1030F000AF92BF92CF92DF92EF92FF920F931F9306 -:10310000CF93DF931F92CDB7DEB78C017B015A01BD -:10311000C22EDB0159968D919C915A97F801928F9E -:10312000818FCB010E944995912CF7018085918573 -:10313000A285B3854189528963897489841795076B -:10314000A607B70708F060C025E0B695A795979544 -:1031500087952A95D1F7F82FFF70DF2ED7011396A8 -:103160008C91823008F460C041E050E0BE016F5F96 -:103170007F4FC7010E94EF96019719F4898190E073 -:1031800002C08FEF9FEF019609F44EC0F7018085D2 -:103190009185A285B3854F96A11DB11D808791872A -:1031A000A287B387F0E2DF9EB00111246B56744F03 -:1031B00061157105C9F1DB018C91882319F0853EF9 -:1031C000C1F46CC191100EC08091950D9091960D37 -:1031D000A091970DB091980DF80184879587A687E7 -:1031E000B787D08ADB018C91882361F0992493946E -:1031F0009CCF4BE050E0C5010F940A1A892B09F0CF -:1032000094CF14C0992493948C2D8274823461F4E9 -:10321000992009F48BC0F801D08861E0C8010E94B0 -:10322000F493009709F00DC180E03BC1C7FCFCCFCF -:10323000F0E2DF9EA00111249A012B56344FD901F0 -:103240001B968C91817121F08C2D827109F06AC0DE -:103250008091950D9091960DA091970DB091980D3C -:10326000F80184879587A687B787D08ACA018B56CD -:10327000944F7C01DC0154964D915C91559760E030 -:1032800070E0DA0199278827858B968BA78BB08F02 -:10329000F701428D538D60E070E0482B592B6A2B6B -:1032A0007B2BD80155964D935D936D937C935897E6 -:1032B000F9018385887161F4F701848D958DA68D60 -:1032C000B78DF801818B928BA38BB48B81E010C0FA -:1032D000803141F598012F5E3F4FD80159968D916D -:1032E0009C915A970E94705E8823E1F084E0F80177 -:1032F00083838C2D8F70D80111968C931197F801D0 -:10330000148215821682178218961D921D921D92A4 -:103310001C921B97C4FEB5C0C8010E943CED8111F0 -:10332000B0C082CFD80113961C927ECFD7011396DE -:103330008C911397823009F477CF51968D919D919E -:103340000D90BC91A02D803E9F4FAF41B10508F07C -:103350006BCFC7010E944494882309F465CF0E9473 -:103360000396882309F460CFD70159962D913C919B -:103370005A9714968D919D910D90BC91A02D029716 -:10338000A109B109F901058404C0880F991FAA1F7A -:10339000BB1F0A94D2F74684578460887188480E10 -:1033A000591E6A1E7B1E81E080939D0D4092950DF3 -:1033B0005092960D6092970D7092980D80E092E079 -:1033C000E5E9FBE0DF019C011D9221503040E1F76F -:1033D000DD24D394D7015996ED91FC915A978481BD -:1033E000D81698F425E93BE0B301A2014D0D511D1B -:1033F000611D711D80919E0D90919F0D0E94A09561 -:10340000882309F411CFD394E5CF80E092E0A0E0C7 -:10341000B0E0058404C0880F991FAA1FBB1F0A943F -:10342000D2F7F7014189528963897489840F951F06 -:10343000A61FB71F818B928BA38BB48B85E99BE072 -:10344000D12C20E2DC011D922A95E9F72BE0F50151 -:10345000DC0101900D922A95E1F721E238E2FC01AE -:10346000318B208B40E058E057874687338B228B87 -:10347000318F208F578B468B0E9403968111D8CEB7 -:10348000D3CEC5FE09C0F801418952896389748988 -:10349000C8010E940A9305C081E003C09110A6CE26 -:1034A00093CE0F90DF91CF911F910F91FF90EF90EE -:1034B000DF90CF90BF90AF909F907F906F905F9084 -:1034C0004F9008952F923F924F925F926F927F920A -:1034D0008F929F92AF92BF92CF92DF92EF92FF9224 -:1034E0000F931F93CF93DF93CDB7DEB7C254D109AB -:1034F0000FB6F894DEBF0FBECDBF4C015B016A0171 -:10350000322E19821C821C8E1F8E6115710511F4DA -:1035100010E0A6C0FC0183818111FACFFA018081FD -:103520008F3209F09BC0F50183818250823010F404 -:1035300085010CC0F501618D728DCE014C960E9403 -:10354000A193882329F38E01045E1F4FC6016C01ED -:103550000196F60120812F32D1F3CE0101967C0134 -:103560003C012E019CE1490E511C2396EFAE23979E -:103570002F2C9BE09150E7E3F0E0EC0FFD1FE90FEB -:10358000F11D80E280839111F5CF960147E0D901CA -:103590008D91882369F18F3259F18E3239F44A3096 -:1035A00009F4B6CF98E04AE09D01F1CFE9EBF6E1EE -:1035B0002491222321F031968213FACFA9CF491703 -:1035C00008F4A6CF813208F4A3CF8F3709F4A0CF37 -:1035D00021E0290FE7E3F0E0EC0FFD1FE90FF11DFB -:1035E0009FE9980F9A3108F480528083922FDCCFA4 -:1035F0008FA9803209F48CCF6901F90180812F5F96 -:103600003F4F8F32C9F38823F9F021E0AE01495CC6 -:103610005F4FB801C7010E947398882309F478CFDF -:103620000A151B0519F0C8010E9476966E147F04D6 -:1036300041F023969FAD2397822D8701E92EF82E26 -:1036400098CF942D852DF9CF232DAE01495C5F4F86 -:10365000B801C4010E947398182F02C08B017DCF5E -:10366000CE014C960E947F96CE0101960E947F96D5 -:10367000812FCE5BDF4F0FB6F894DEBF0FBECDBFFC -:10368000DF91CF911F910F91FF90EF90DF90CF903E -:10369000BF90AF909F908F907F906F905F904F9072 -:1036A0003F902F90089520911402309115022F50D1 -:1036B0003109821793070CF49C013093BF082093C3 -:1036C000BE0880E00C949E928091961A9091971A71 -:1036D000891B8F7019F480E090E008959091931AFF -:1036E000992351F0833030F48FEF890F19F08093D4 -:1036F000931AF1CF1092931AE091971A84E5E89FFC -:10370000F0011124EF59FD4E808180FDE4CF8091BE -:10371000971A8F5F8F708093941A9091971A809167 -:10372000951A981304C08091941A8093951ACF012A -:1037300008950F930FB70F9300916E000F930B7FB7 -:1037400000936E0000916F000D7F00936F000F9348 -:103750000BB70F930CB70F921F922F933F934F937A -:103760005F936F937F938F939F93AF93BF93EF93E9 -:10377000FF9311240E940A9CFF91EF91BF91AF919A -:103780009F918F917F916F915F914F913F912F9179 -:103790001F900F900CBF0F910BBF0F910260F89418 -:1037A00000936F000F9100936E000F910FBF0F9168 -:1037B00018958091FA0880FF03C089988FEF02C0A6 -:1037C000899A81E08093BA178091FA08869580FFE4 -:1037D00003C08F9A8FEF02C08F9881E08093BB1750 -:1037E0008091FA088695869580FF08C080910B012C -:1037F00080958270809309018FEF06C080910B0144 -:1038000082708093090181E08093BC170000000062 -:10381000000008952F923F924F925F926F927F9295 -:103820008F929F92AF92BF92CF92DF92EF92FF92D0 -:103830000F931F93CF93DF93CDB7DEB72D970FB6BE -:10384000F894DEBF0FBECDBF8FEF9FEF909389003E -:10385000809388002AE02987212C312C44244A9423 -:10386000542C320178948091081890910918A091F5 -:103870000A18B0910B18892B8A2B8B2B09F0D9C110 -:1038800080912C1D8823E1F010922C1D80912A1D1F -:1038900090912B1D892B09F4CCC11092B91710926D -:1038A0002B1D10922A1D9091961A8091971A9817A5 -:1038B00009F4BFC18091971A8F5F8F708093971A18 -:1038C00080912A1D90912B1D892B09F4B2C1C090C3 -:1038D0000418D0900518E0900618F0900718409151 -:1038E000001850910118609102187091031800910E -:1038F000F31710E020E030E0DB01CA018C199D09CC -:10390000AE09BF09081719072A073B0710F4D901A8 -:10391000C801482F8C0D9D1DAE1DBF1D809304183E -:1039200090930518A0930618B0930718209184006F -:1039300030918500225E3F4FC090D917D090DA17A2 -:10394000E090DB17F090DC178091C9179091CA17AF -:10395000A091CB17B091CC178C0D9D1DAE1DBF1D36 -:103960008093D9179093DA17A093DB17B093DC17E5 -:10397000B7FD1CC0889AC090391DD0903A1DE090C8 -:103980003B1DF0903C1D8091BA17082E000C990B3E -:10399000AA0BBB0B8C0D9D1DAE1DBF1D8093391D49 -:1039A00090933A1DA0933B1DB0933C1DC090DD1732 -:1039B000D090DE17E090DF17F090E0178091CD17E0 -:1039C0009091CE17A091CF17B091D0178C0D9D1D5F -:1039D000AE1DBF1D8093DD179093DE17A093DF17F8 -:1039E000B093E017B7FD1CC08E9AC0903D1DD090DB -:1039F0003E1DE0903F1DF090401D8091BB17082EAA -:103A0000000C990BAA0BBB0B8C0D9D1DAE1DBF1D91 -:103A100080933D1D90933E1DA0933F1DB093401D8C -:103A2000C090E117D090E217E090E317F090E41710 -:103A30008091D1179091D217A091D317B091D4173C -:103A40008C0D9D1DAE1DBF1D8093E1179093E21755 -:103A5000A093E317B093E417B7FD21C080910B0149 -:103A60008095887080930901C090411DD090421DBF -:103A7000E090431DF090441D8091BC17082E000C6F -:103A8000990BAA0BBB0B8C0D9D1DAE1DBF1D80930A -:103A9000411D9093421DA093431DB093441DC090BF -:103AA000E517D090E617E090E717F090E8178091BF -:103AB000D5179091D617A091D717B091D8178C0D24 -:103AC0009D1DAE1DBF1D8093E5179093E617A09333 -:103AD000E717B093E817B7FD3AC08090451D909066 -:103AE000461DA090471DB090481DC090BD170C2CDE -:103AF000000CDD08EE08FF08C80CD91CEA1CFB1CF2 -:103B0000C092451DD092461DE092471DF092481D7F -:103B1000C090C517D090C617E090C717F090C8178F -:103B20008C199D09AE09BF098093E5179093E6179C -:103B3000A093E717B093E8179091FA088091F117D6 -:103B400093FF02C0815001C08F5F8093F117809175 -:103B500084009091850082179307C8F38091D9174C -:103B60009091DA17A091DB17B091DC17B7FD15C063 -:103B7000C090C517D090C617E090C717F090C8172F -:103B80008C199D09AE09BF098093D9179093DA1754 -:103B9000A093DB17B093DC1788988091DD17909184 -:103BA000DE17A091DF17B091E017B7FD15C0C090E8 -:103BB000C517D090C617E090C717F090C8178C199A -:103BC0009D09AE09BF098093DD179093DE17A0937E -:103BD000DF17B093E0178E988091E1179091E2176C -:103BE000A091E317B091E417B7FD19C0C090C517B5 -:103BF000D090C617E090C717F090C8178C199D0990 -:103C0000AE09BF098093E1179093E217A093E317E1 -:103C1000B093E41780910B018870809309014150A3 -:103C200041F0809184009091850082179307C8F33A -:103C300081CE8091600290916102A0916202B09168 -:103C40006302892B8A2B8B2B09F0AAC08091F21773 -:103C5000882309F452C08090041890900518A09011 -:103C60000618B0900718C090ED17D090EE17E090AE -:103C7000EF17F090F0178091F117C814D904EA04F7 -:103C8000FB0488F42091C2173091C3174091C017EC -:103C90005091C1174217530730F481508093F117A8 -:103CA0002150310915C08C149D04AE04BF04E8F402 -:103CB0002091C2173091C3174091BE175091BF1782 -:103CC0002417350790F48F5F8093F1172F5F3F4FD4 -:103CD0003093C3172093C21740915C0250915D024C -:103CE00060915E0270915F020BC040925C02509244 -:103CF0005D0260925E0270925F024FEF5FEFBA0169 -:103D00009091F1178091C41797FD06C0811102C0F0 -:103D1000169A07C0439805C0811102C0169801C0C9 -:103D2000439A00000000000020918400309185003B -:103D3000225E3F4F8091F117882351F18091C41783 -:103D4000811102C0149A01C0419A8091840090911F -:103D5000850082179307C8F38091F11787FF02C08F -:103D60008F5F01C081508093F1178091C41781113A -:103D700002C0149801C041988091F1178823D1F2B4 -:103D8000809184009091850082179307C8F3D0CF6B -:103D900040936002509361026093620270936302E9 -:103DA0008091081890910918A0910A18B0910B18E9 -:103DB000892B8A2B8B2B09F0F1C3A0912A1DB0917E -:103DC0002B1D109709F403C6C0900418D090051855 -:103DD000E0900618F09007184091001850910118D3 -:103DE0006091021870910318C416D506E606F7060E -:103DF00008F479C080915602882309F45AC0559678 -:103E00004D915D916D917C915897452B462B472B99 -:103E1000C1F459964D915D916D917C915C97452BC4 -:103E2000462B472B71F45D964D915D916D917C9180 -:103E30009097452B462B472B21F480918F0A88239E -:103E4000C1F191966D917D918D919C9194979996E8 -:103E50000C91999734E0039F80011124F801EF54ED -:103E6000F84EC080D180E280F380D6962C9123FF5B -:103E700007C090958095709561957F4F8F4F9F4FAC -:103E80000F94EE0F2091AD173091AE174091AF1700 -:103E90005091B0170F944D109B01AC01C701B601B2 -:103EA0000F94EA16F801EF54F84E60837183828311 -:103EB00093831092B91710922B1D10922A1D909186 -:103EC000961A8091971A981709F481C58091971ACC -:103ED0008F5F8F708093971A00ED802E07E0902EF1 -:103EE000A12CB12C8AC14091FC175091FD17609113 -:103EF000FE177091FF174C155D056E057F0508F4E0 -:103F00006DC04091F8175091F9176091FA177091B0 -:103F1000FB17D2960D911D912D913C91D597EE27CF -:103F2000419FF12D529FC001629F900D619F800DB6 -:103F3000911D429FF00D811D9E1F519FF00D811D0F -:103F40009E1F609FF00D811D9E1F509FF10D8E1FC3 -:103F50009E1FF6958E1F9E1F349F800D911D359FCD -:103F6000900D1124FD01EA5BFF4F00811181228138 -:103F70003381080F191F211D311D0093F417109371 -:103F8000F5172093F6173093F7173497C080D18038 -:103F9000E280F380C016D106E206F30640F4C09238 -:103FA000F417D092F517E092F617F092F717C09039 -:103FB000F417D090F517E090F617F090F71789EC0A -:103FC0009EE121E0FC0185909590A590B4908C1421 -:103FD0009D04AE04BF0408F45BC365C32091ED17D4 -:103FE0003091EE174091EF175091F01729833A83E3 -:103FF0004B835C832C153D054E055F0508F070C0B2 -:104000004091E9175091EA176091EB177091EC1706 -:104010004A875B876C877D87D2960D911D912D9184 -:104020003C91D597EE27419FF12D529FC001629F91 -:10403000900D619F800D911D429FF00D811D9E1F6F -:10404000519FF00D811D9E1F609FF00D811D9E1FD1 -:10405000509FF10D8E1F9E1FF6958E1F9E1F349F41 -:10406000800D911D359F900D11248C0120E030E0D2 -:104070008090F4179090F517A090F617B090F7176E -:10408000FD01E65BFF4F081519052A053B05A0F465 -:1040900040815181628173814D835E836F83788714 -:1040A000801A910AA20AB30A84169506A606B706D4 -:1040B00038F44A015B0104C080809180A280B38003 -:1040C00089EC9EE151E05D83FC01059115912591FC -:1040D0003491081519052A053B0508F468C375C312 -:1040E0008091F1178823D9F0D8964D915C91D9979A -:1040F00060E070E000915C0210915D0220915E0230 -:1041000030915F02401751076207730741F0109228 -:10411000600210926102109262021092630240915A -:1041200058025091590260915A0270915B0277FFD8 -:104130005CC0AE5BBF4F8D919D910D90BC91A02D49 -:1041400029EC3EE141E0F901C590D590E590F4906D -:10415000C816D906EA06FB0658F4B695A7959795B2 -:104160008795440F2C5F3F4F7EE1253E370759F777 -:104170004093F31780329105A105B10520F480E248 -:1041800090E0A0E0B0E08097A109B109811538E086 -:104190009307A105B10508F4D4C344E0949F9001AE -:1041A00011242753354EF901329645915491EE274B -:1041B000859FB001849F610D7E1F06946E1F7E1F38 -:1041C0001124CB01A0E0B0E0F9014591549160E0E9 -:1041D00070E0481B590B6A0B7B0B409358025093BD -:1041E000590260935A0270935B028090580290903B -:1041F0005902A0905A02B0905B0280912A1D9091C2 -:104200002B1D892B09F0C2C10E94649B90932B1D2A -:1042100080932A1D892B09F4B9C1E0912A1DF091E0 -:104220002B1D808183FF3EC085899689A789B08D2B -:104230008093391D90933A1DA0933B1DB0933C1D74 -:10424000818D928DA38DB48D80933D1D90933E1DE5 -:10425000A0933F1DB093401D858D968DA78DB0A175 -:104260008093411D9093421DA093431DB093441D24 -:1042700081A192A1A3A1B4A18093451D9093461D55 -:10428000A093471DB093481D9091961A8091971A5C -:10429000981709F4B9CF8091971A8F5F8F70809328 -:1042A000971AB2CFC588D688E788F08C81E0C11410 -:1042B000D104E104F10409F480E0018D128D238D15 -:1042C000348D011511052105310509F08260458DF8 -:1042D000568D678D70A1411551056105710509F075 -:1042E00084608093B9171092E9171092EA17109220 -:1042F000EB171092EC171092F8171092F917109212 -:10430000FA171092FB1785A196A1A7A1B0A58093DB -:10431000001890930118A0930218B09303188824F2 -:1043200099245401881A990AAA0ABB0A8092E517AF -:104330009092E617A092E717B092E8178092E117E3 -:104340009092E217A092E317B092E4178092DD17E3 -:104350009092DE17A092DF17B092E0178092D917E3 -:104360009092DA17A092DB17B092DC17CC0CDD1C10 -:10437000EE1CFF1CC092C917D092CA17E092CB174F -:10438000F092CC17000F111F221F331F0093CD177F -:104390001093CE172093CF173093D017440F551F8B -:1043A000661F771F4093D1175093D2176093D3178E -:1043B0007093D41741A152A163A174A1440F551F5A -:1043C000661F771F4093D5175093D6176093D71762 -:1043D0007093D817880F991FAA1FBB1F8093C5170A -:1043E0009093C617A093C717B093C81710920418DC -:1043F00010920518109206181092071882A593A51E -:10440000A4A5B5A58093FC179093FD17A093FE1764 -:10441000B093FF1786A597A5A0A9B1A98093ED1722 -:104420009093EE17A093EF17B093F01781A58093A8 -:10443000C41720915702821721F01092C3171092CF -:10444000C21797A99093F217992309F144AD55AD7E -:104450005093C1174093C01742AD53AD5093BF174F -:104460004093BE1710926002109261021092620295 -:104470001092630240AD51AD60E070E040935C0289 -:1044800050935D0260935E0270935F0208C0409299 -:104490005C0250925D0260925E0270925F0296A989 -:1044A0003091FA08931302C0821731F09093FA0802 -:1044B000809357020E94D99B8091F90881110E9434 -:1044C0000EE4409258025092590260925A02709241 -:1044D0005B02E0912A1DF0912B1DEA5BFF4F80816A -:1044E0009181A281B3818093F4179093F517A093E3 -:1044F000F617B093F71729EC3EE141E0F901C590BA -:10450000D590E590F490C816D906EA06FB0660F44B -:10451000B695A79597958795440F2C5F3F4FE5EE8D -:10452000FEE1E217F30751F74093F317803291054C -:10453000A105B10520F480E290E0A0E0B0E0809712 -:10454000A109B109811558E09507A105B10508F445 -:104550001BC264E0969F900111242753354EF90148 -:10456000329645915491EE27859FB001849F610D4D -:104570007E1F06946E1F7E1F1124F9018590949072 -:10458000A12CB12C861A970AA108B10880920818AC -:1045900090920918A0920A18B0920B18009108186E -:1045A0001091091820910A1830910B18409160025F -:1045B000509161026091620270916302F02E198342 -:1045C000F22FE32F401751076207730720F4F42EF0 -:1045D0005983F62FE72F8F2D9981AF2FBE2F00978C -:1045E000E1E0AE07B10520F08FEF9FEFA0E0B0E073 -:1045F000081B190B2A0B3B0B009308181093091882 -:1046000020930A1830930B184F3FFFEF5F076F0797 -:104610007F0761F0481B590B6A0B7B0B40936002CC -:10462000509361026093620270936302F894209148 -:10463000840030918500205F3F4F49854150498774 -:10464000442339F0280E391E2216330608F40AC90D -:1046500001C01901309289002092880078942D962B -:104660000FB6F894DEBF0FBECDBFDF91CF911F9183 -:104670000F91FF90EF90DF90CF90BF90AF909F9001 -:104680008F907F906F905F904F903F902F90089504 -:10469000F694E794D794C794220F0496EEE1853EF2 -:1046A0009E0709F08FCC2093F317F0E2CF16D104C8 -:1046B000E104F10428F410E2C12ED12CE12CF12CFC -:1046C00080E2C81AD108E108F108C114E8E0DE066A -:1046D000E104F104F8F0F4E0DF9EC00111248753F7 -:1046E000954EFC01329625913491FC2DEE27F39FD7 -:1046F0008001F29F010D1E1F06940E1F1E1F112424 -:10470000FC0185909490A12CB12C801A910AA108EB -:10471000B10822C097018601369527951795079510 -:10472000F801EC7F9F012753394EF9018590949051 -:10473000F901329685919491EC2DE770E89F9001F4 -:10474000E99F300D1124F3E036952795FA95E1F7AE -:10475000821A930AA12CB12C480D591D6A1D7B1D8C -:104760004093F8175093F9176093FA177093FB175B -:104770009091F2178091F117992309F474C088235E -:1047800009F43BCDD8968D919C91D997A0E0B0E0EB -:1047900040915C0250915D0260915E0270915F02F7 -:1047A00084179507A607B70709F060C026CDB69411 -:1047B000A794979487942D81220F2D83049645EE1C -:1047C0005EE14817590709F07FCC5D815093F317DC -:1047D00060E286169104A104B10428F450E2852E0B -:1047E000912CA12CB12C60E2861A9108A108B10885 -:1047F000811478E09706A104B10408F440C0E4E015 -:104800009E9EC00111248753954EFC01329625913E -:104810003491F82DEE27F39F8001F29F010D1E1FAA -:1048200006940E1F1E1F1124FC0185909490A12C4C -:10483000B12C801A910AA108B1084A855B856C8564 -:104840007D85480D591D6A1D7B1D4093E9175093C6 -:10485000EA176093EB177093EC178091F2178111B0 -:1048600032C08091F117882309F4C7CC10926002FE -:10487000109261021092620210926302BECC950106 -:1048800084013695279517950795F801EC7F9F01D0 -:104890002753394EF90185919491F901329605918A -:1048A0001491E82DE770E09F9001E19F300D1124F5 -:1048B00043E0369527954A95E1F74C01821A930A11 -:1048C000A12CB12CBACF49815A816B817C812D8179 -:1048D000420F511D611D711D4C155D056E057F0553 -:1048E000C8F48091F117882309F487CCD8964D91AC -:1048F0005C91D99760E070E000915C0210915D02DC -:1049000020915E0230915F024017510762077307E2 -:1049100009F473CC1092600210926102109262024C -:1049200010926302D8968D919C91D997A0E0B0E047 -:1049300080935C0290935D02A0935E02B0935F024D -:104940005CCCAC01BD017695679557954795FA010A -:10495000EC7F9F012753394EF90145915491F9019C -:104960003296659174918770869F9001879F300D74 -:104970001124C901F3E096958795FA95E1F7481B54 -:10498000590B60E070E029CCAC01BD0176956795CC -:1049900057954795FA01EC7F9F012753394EF9014E -:1049A00085909490F9013296459154918770849F37 -:1049B0009001859F300D1124C901A3E0969587953C -:1049C000AA95E1F7881A990AA12CB12CDFCD80EDC8 -:1049D000882E87E0982EA12CB12C16CCCF92DF9296 -:1049E000EF92FF920F931F9380915C12815082305F -:1049F00010F080E0A7C08FEB96E00E942E4E8091D1 -:104A00005712833009F441C083EA96E00E942E4E8B -:104A10008FEA96E00E942E4E40E060E070E0CB010D -:104A20000E941AD641E060E070E0CB010E941AD6E5 -:104A300081E0809307021092551221E030E030931C -:104A40005412209353128093550281E09AE590937B -:104A5000291B8093281B8DE290E090932B1B809361 -:104A60002A1B87E080931C1B82E880931F1B84E82D -:104A700090E0A0E0B0E08093201B9093211BA093D6 -:104A8000221BB093231B0E94C1EB10925C120E9468 -:104A9000EE68609358127093591280935A12909353 -:104AA0005B128091EA089091EB0801969093EB08D5 -:104AB0008093EA08C0905D12D0905E12E0905F1281 -:104AC000F09060120E9424D460935D1270935E1285 -:104AD00080935F12909360120091EC081091ED08A2 -:104AE0002091EE083091EF080C191D092E093F099D -:104AF000DC01CB01800F911FA21FB31F8093EC0834 -:104B00009093ED08A093EE08B093EF080E9424D490 -:104B10000091F0081091F1082091F2083091F3080B -:104B2000061717072807390750F40E9424D460930A -:104B3000F0087093F1088093F2089093F3080E94B4 -:104B400005FE81E01F910F91FF90EF90DF90CF90D5 -:104B50000895082E000C990BFC01E051FE4EE491E3 -:104B6000EE2399F0F0E0EE0FFF1FEA52FE4EA59102 -:104B7000B4912C91FC01EA5CFD4E8491822321E0EA -:104B800090E009F420E0822F089580E090E00895FD -:104B9000082E000C990BFC01E051FE4EE491F0E070 -:104BA000EE0FFF1FEE55FE4EA591B4912C91FC0126 -:104BB000EA5CFD4EE491E22381E009F480E008958F -:104BC000CF93DF93C82F82E893E20E9427B70C2E81 -:104BD000000CDD0BFE01E051FE4E8491805C0E94D2 -:104BE000234DFE01EA5CFD4EE49180E3E13021F0CB -:104BF000E6958F5F8933D1F7DF91CF910C94234DE8 -:104C00000F931F93CF93DF93CDB7DEB764970FB6A3 -:104C1000F894DEBF0FBECDBFE82FF0E0E458FD4EA4 -:104C2000E4918E2F90E0FC013197E231F10508F01C -:104C300049C28827E853FF4F8F4F0D94D61684B58D -:104C4000807C09F43FC287B51F928F9387E492E27C -:104C50009F938F938E010F5F1F4F1F930F930F949E -:104C60007F0F0F900F900F900F900F900F90F80103 -:104C700081918F01811102C081E025C20E94234DE4 -:104C8000F6CF84B5807309F41DC288B51F928F9347 -:104C90008DE392E29F938F938E010F5F1F4F1F93BF -:104CA0000F930F947F0F0F900F900F900F900F9016 -:104CB0000F90F80181918F018823F1F20E94234D1A -:104CC000F8CF80918000807C09F4FCC1809188003D -:104CD000909189009F938F9383E392E29F938F93A8 -:104CE0008E010F5F1F4F1F930F930F947F0F0F9035 -:104CF0000F900F900F900F900F90F80181918F01FE -:104D0000882309F4B9CF0E94234DF7CF809180000A -:104D1000807309F4D7C180918A0090918B009F9392 -:104D20008F9389E292E29F938F938E010F5F1F4FC3 -:104D30001F930F930F947F0F0F900F900F900F9072 -:104D40000F900F90F80181918F01882309F494CF7F -:104D50000E94234DF7CF809180008C7009F4B2C17E -:104D600080918C0090918D009F938F938FE192E2C0 -:104D70009F938F938E010F5F1F4F1F930F930F947D -:104D80007F0F0F900F900F900F900F900F90F801E2 -:104D900081918F01882309F46FCF0E94234DF7CFB3 -:104DA0008091B000807C09F48DC18091B3001F9286 -:104DB0008F9385E192E29F938F938E010F5F1F4F38 -:104DC0001F930F930F947F0F0F900F900F900F90E2 -:104DD0000F900F90F80181918F01882309F44CCF37 -:104DE0000E94234DF7CF8091B000807309F46AC10F -:104DF0008091B4001F928F938BE092E29F938F93E8 -:104E00008E010F5F1F4F1F930F930F947F0F0F9013 -:104E10000F900F900F900F900F90F80181918F01DC -:104E2000882309F429CF0E94234DF7CF8091900069 -:104E3000807C09F447C180919800909199009F93DC -:104E40008F9381E092E29F938F938E010F5F1F4FAC -:104E50001F930F930F947F0F0F900F900F900F9051 -:104E60000F900F90F80181918F01882309F404CFEE -:104E70000E94234DF7CF80919000807309F422C1E6 -:104E800080919A0090919B009F938F9387EF91E27E -:104E90009F938F938E010F5F1F4F1F930F930F945C -:104EA0007F0F0F900F900F900F900F900F90F801C1 -:104EB00081918F01882309F4DFCE0E94234DF7CF23 -:104EC000809190008C7009F4FDC080919C009091BD -:104ED0009D009F938F938DEE91E29F938F938E0110 -:104EE0000F5F1F4F1F930F930F947F0F0F900F9023 -:104EF0000F900F900F900F90F80181918F018823F0 -:104F000009F4BACE0E94234DF7CF8091A000807C97 -:104F100009F4D8C08091A8009091A9009F938F9325 -:104F200083EE91E29F938F938E010F5F1F4F1F932C -:104F30000F930F947F0F0F900F900F900F900F9083 -:104F40000F90F80181918F01882309F495CE0E947A -:104F5000234DF7CF8091A000807309F4B3C08091F6 -:104F6000AA009091AB009F938F9389ED91E29F935C -:104F70008F938E010F5F1F4F1F930F930F947F0F1F -:104F80000F900F900F900F900F900F90F80181915C -:104F90008F01882309F470CE0E94234DF7CF8091B2 -:104FA000A0008C7009F48EC08091AC009091AD008F -:104FB0009F938F938FEC91E29F938F938E010F5F5E -:104FC0001F4F1F930F930F947F0F0F900F900F9011 -:104FD0000F900F900F90F80181918F01882309F4B1 -:104FE0004BCE0E94234DF7CF80912001807C09F4A5 -:104FF00069C080912801909129019F938F9385EC3E -:1050000091E29F938F938E010F5F1F4F1F930F931A -:105010000F947F0F0F900F900F900F900F900F90A5 -:10502000F80181918F01882309F426CE0E94234D37 -:10503000F7CF80912001807309F444C080912A0148 -:1050400090912B019F938F938BEB91E29F938F9382 -:105050008E010F5F1F4F1F930F930F947F0F0F90C1 -:105060000F900F900F900F900F90F80181918F018A -:10507000882309F401CE0E94234DF7CF80912001AF -:105080008C7001F180912C0190912D019F938F9351 -:1050900081EB91E29F938F938E010F5F1F4F1F93C0 -:1050A0000F930F947F0F0F900F900F900F900F9012 -:1050B0000F90F80181918F01882309F4DDCD0E94C2 -:1050C000234DF7CF80E064960FB6F894DEBF0FBE95 -:1050D000CDBFDF91CF911F910F9108954F925F92B5 -:1050E0006F927F928F929F92AF92BF92CF92DF92F8 -:1050F000EF92FF920F931F93CF93DF93CDB7DEB75D -:1051000064970FB6F894DEBF0FBECDBF082FF62E02 -:10511000E42E882E912C26E0829FC0011124FC01F0 -:10512000E95CFC4D65907490FC01EB5CFC4D5F010B -:1051300045905490F3018081482F487050E060E022 -:1051400070E07695679557954795F2011081137039 -:10515000142BF4E0EF1209C0807190E0A0E0B0E001 -:10516000B695A79597958795182B8BE293E20E94A9 -:1051700027B7005D802F0E94234D8F2D0E94234D65 -:1051800083E00E941CB7F401EE0FFF1F8F2D0F2C40 -:10519000000C990B9E012F5F3F4F690133E0E80D32 -:1051A000F91D81549109E80FF91FEE0FFF1FE95F08 -:1051B000FC4DE3121BC0A591B4918C911F928F936B -:1051C0008DEF92E29F938F93DF92CF920F947F0F98 -:1051D0000F900F900F900F900F900F90F60181910C -:1051E0006F01882309F10E94234DF8CFA591B49156 -:1051F00011968C9111978F938C918F9383EF92E2FC -:105200009F938F93DF92CF920F947F0F0F900F9009 -:105210000F900F900F900F90F60181916F018823EE -:1052200019F00E94234DF8CF612F70E089EE92E2D1 -:105230000E94E7B8F501C590D4908DE592E20E94F6 -:1052400027B7802F0E94234DF2E4FF1691F023E44C -:10525000F216F9F031E4F3122DC0F60140814295C7 -:1052600046954695437050E060E070E089E592E233 -:105270001FC0F6014081407350E060E070E094E0B0 -:1052800076956795579547959A95D1F785E592E27A -:105290000FC0F60140814C7050E060E070E082E0A9 -:1052A00076956795579547958A95D1F781E592E26E -:1052B0000E94B8B8F3014081477050E060E070E0B0 -:1052C00080EE92E20E94B8B887ED92E20E9427B782 -:1052D000802F0E94234DF201608170E083ED92E205 -:1052E0000E94E7B88AEC92E20E9427B7802F0E94C2 -:1052F000234DF301608170E086EC92E20E94E7B8F2 -:1053000086E0889DF001899DF00D1124E75CFC4D3D -:10531000C590D4908CEB92E20E9427B7802F0E9418 -:10532000234DF601608170E089EB92E20E94E7B8BC -:1053300000EC0F0DF3E0EF1207C0197F59F485E67A -:1053400092E20E9427B706C0812F8B7FC1F31C50C9 -:105350001230A8F3F601808190E0A0E0B0E004C034 -:10536000B695A795979587950A95D2F780FF04C0C3 -:105370008EE792E20E9427B7F601808180FF04C089 -:105380008BE992E20E9427B764960FB6F894DEBFCD -:105390000FBECDBFDF91CF911F910F91FF90EF9086 -:1053A000DF90CF90BF90AF909F908F907F906F9045 -:1053B0005F904F900895CF93DF93C82FD0E0FE0108 -:1053C000E458FD4EE4918E2F90E0FC013197E231DC -:1053D000F105E8F58827E652FF4F8F4F0D94D6165A -:1053E00043E061E402C043E062E480E02EC044E0B8 -:1053F00061E405C044E062E402C044E063E481E0AB -:1054000024C043E061E402C043E062E482E01DC0E6 -:1054100044E061E405C044E062E402C044E063E4C7 -:1054200083E013C044E061E405C044E062E402C0EC -:1054300044E063E484E009C044E061E405C044E082 -:1054400062E402C044E063E485E00E946EA88FE756 -:1054500093E20E9427B7FE01E051FE4EE491E23054 -:10546000F9F4FE01EA5CFD4EE491E038C9F48BE703 -:1054700093E20E9427B782E10E941CB783E793E280 -:105480000E9427B789E593E20E9427B78EE00E9429 -:105490001CB744E063E481E0DF91CF910C946EA8E7 -:1054A000DF91CF9108952F923F924F925F926F922A -:1054B0007F928F929F92AF92BF92CF92DF92EF92A4 -:1054C000FF920F931F93CF93DF93CDB7DEB7AC97C7 -:1054D0000FB6F894DEBF0FBECDBF182F6CA7542EA9 -:1054E000B22EA32E92E1692E94E2792E00E080E0A4 -:1054F000812E012E000C99082AEC210F2BA7FE010A -:1055000031967F01F30132964490242C312C2814DB -:10551000390409F0A4C081115DC001115BC0AF92D4 -:10552000BF922AE034E23F932F93FF92EF920F94C1 -:105530007F0FFAA6E9A60F900F900F900F900F9093 -:105540000F906701F60181916F01882319F00E9485 -:10555000234DF8CF1F924F9225E034E23F932F93D3 -:10556000FF92EF920F947F0F0F900F900F900F907C -:105570000F900F906701F60181916F01882319F058 -:105580000E94234DF8CF812F0E94E0A5FBA5F7FDD7 -:105590001DC026E3221A31083F922F928BEF93E22F -:1055A0009F938F93FF92EF920F947F0F0F900F9026 -:1055B0000F900F900F900F90E9A5FAA58191FAA78F -:1055C000E9A78823B1F00E94234DF6CF88E00E941E -:1055D0001CB70FC08EE20E94234DEB2DFA2DDF0188 -:1055E0000D900020E9F78A2F8B19875E0E941CB767 -:1055F00001E0F301C590D490412CF6018491811112 -:1056000007C0312C87E2C82ED12CC418D1080AC09B -:105610000E94234D4394FFEFCF1ADF0A27E2421284 -:10562000ECCF0AC0832D90E08C159D052CF480E210 -:105630000E94234D3394F6CF552069F0812F0E94AC -:10564000444C882309F4C9C03CA53111C6C080EF81 -:1056500093E20E9427B78AE00E94234D81E0F4E0A4 -:105660006F0E711C26E0621625E2720609F04ACF21 -:105670008111F9C0AF92BF9283EC93E29F938F9315 -:10568000CE0101967C019F938F930F947F0F67014A -:105690000F900F900F900F900F900F905701F50102 -:1056A00081915F01882319F00E94234DF8CF9F92CA -:1056B0008F928EEB93E29F938F93FF92EF920F94D2 -:1056C0007F0F0F900F900F900F900F900F9057013A -:1056D000F50181915F01882319F00E94234DF8CFD5 -:1056E000812F0E94E0A50AEC010F07FD1BC0C40139 -:1056F000C6979F938F9384EB93E29F938F93FF9230 -:10570000EF920F947F0F0F900F900F900F900F90CC -:105710000F905701F50181915F01882331F00E94BC -:10572000234DF8CF88E00E941CB783EA93E20E94E1 -:1057300027B7552009F44DC0812F0E9400A6811182 -:1057400042C0812F0E94C8A5882331F087E10E94C2 -:105750001CB78BEC93E22CC0003128F5802F0E94FF -:105760009568092E000CAA0BBB0BBF93AF939F93B8 -:105770008F938FE893E29F938F93FF92EF920F9412 -:105780007F0F0FB6F894DEBF0FBECDBFF60181913B -:105790006F01882319F00E94234DF8CF8BE893E224 -:1057A0000E9427B703C087E10E941CB785ED93E2F2 -:1057B0000E9427B7812F0E94A9A5BC01990F880BD1 -:1057C000990B0E94974D87E10E941CB7812F0E9480 -:1057D000DBA98AE00E94234D46C0F3013396E49191 -:1057E000E11121C08BA50E949568092E000CAA0B1F -:1057F000BB0BBF93AF939F938F938FED93E29F93D8 -:105800008F93FF92EF920F947F0F67010FB6F8947A -:10581000DEBF0FBECDBFF60181916F018823E9F095 -:105820000E94234DF8CF812F0E94C8A5811103C08B -:1058300085ED93E207C0812F0E9400A681110DC063 -:105840008BEC93E20E9427B7812F0E94A9A5BC018F -:10585000990F880B990B0E94974D0111FCCE812F57 -:105860000E94DBA9F8CEAC960FB6F894DEBF0FBE4F -:10587000CDBFDF91CF911F910F91FF90EF90DF90FF -:10588000CF90BF90AF909F908F907F906F905F90E0 -:105890004F903F902F900895CF93DF93EB010E949C -:1058A0001E7F882321F0DF91CF910C949A7ECE0148 -:1058B000DF91CF910895811103C089E891E202C080 -:1058C00085E991E20E9427B740912B1250912C124A -:1058D00060912D1270912E128EEA91E20E94D6B83C -:1058E00040912F125091301260913112709132120A -:1058F0008BEA91E20E94D6B8609133127091341213 -:10590000072E000C880B990B0F94EE0FAB01BC0116 -:1059100088EA91E20E94D6B86091351270913612F1 -:10592000072E000C880B990B0F94EE0FAB01BC01F6 -:1059300085EA91E20E94D6B8409137125091381210 -:105940006091391270913A1282EA91E20E94D6B8BF -:1059500040913B1250913C1260913D1270913E1269 -:105960008FE991E20E94D6B840913F1250914012C7 -:1059700060914112709142128CE991E20E94D6B876 -:105980008AE00C94234DCF92DF92EF92FF9283E551 -:105990000E941E7F882339F10E949E7E6B017C014C -:1059A00020E030E0A9010F94E70F87FD11C020E04F -:1059B00030E04AEF53E4C701B6010F944B191816B3 -:1059C00054F4C12CD12C9AEFE92E93E4F92E03C0A4 -:1059D000C12CD12C7601C0922B12D0922C12E092C5 -:1059E0002D12F0922E1285E40E941E7F882339F139 -:1059F0000E949E7E6B017C0120E030E0A9010F94A3 -:105A0000E70F87FD11C020E030E04AEF53E4C70103 -:105A1000B6010F944B19181654F4C12CD12C8AEFEF -:105A2000E82E83E4F82E03C0C12CD12C7601C0925D -:105A30002F12D0923012E0923112F092321280E5A1 -:105A40000E941E7F8823A1F00E949E7E0F9457180B -:105A50006A3071053CF0693185E178072CF068E126 -:105A600075E102C06AE070E0709334126093331203 -:105A700082E50E941E7F8823A1F00E949E7E0F94E3 -:105A800057186A3071053CF0693185E178072CF0D0 -:105A900068E175E102C06AE070E0709336126093CD -:105AA000351288E50E941E7F882351F00E949E7E59 -:105AB00060933712709338128093391290933A1290 -:105AC00089E50E941E7F882351F00E949E7E60938C -:105AD0003B1270933C1280933D1290933E128AE5E4 -:105AE0000E941E7F882351F00E949E7E60933F1289 -:105AF0007093401280934112909342128091C41887 -:105B000084FD12C08091C51887FD0EC08091C61813 -:105B1000867851F48091C718837031F4FF90EF902C -:105B2000DF90CF900C945BACFF90EF90DF90CF9024 -:105B300008959F92AF92BF92CF92DF92EF92FF9221 -:105B40000F931F93CF93DF9380EEA82E82E0B82EA1 -:105B500006E11BE0C8E7DBE099EDC92E98E1D92EFC -:105B600024E1E22E28E0F22E912CF50181915F01D3 -:105B70000E941E7F882309F10E949E7EF7012081EA -:105B8000211104C020911D08222339F02881398178 -:105B90004A815B810F94EB160AC0F3E09F1639F03F -:105BA000F60120813181428153810F94EA16F80178 -:105BB000608371838283938309C088819981AA81DC -:105BC000BB81F80180839183A283B38393940C5F9C -:105BD0001F4F2496F4E0CF0ED11C2FEFE21AF20AE9 -:105BE00084E09812C2CF40E050E0BA0186E40E94FF -:105BF000B9BF20E030E0A9010F944B19181684F4C6 -:105C00000E949E7E20E030E040E752E40F94E517CA -:105C100060934F027093500280935102909352020E -:105C200080912A1283FD28C08091E708882321F102 -:105C30002091840B3091850B4091860B5091870BFE -:105C40006091220B7091230B8091240B9091250B76 -:105C50000F94EA162091F4083091F5084091F60867 -:105C60005091F7080F94EB166093F4087093F508C1 -:105C70008093F6089093F708DF91CF911F910F91D1 -:105C8000FF90EF90DF90CF90BF90AF909F900895DE -:105C9000CF9384E50E941E7F882301F10E94767EC7 -:105CA000C82F8230ECF00E940BB98DE40E94234D86 -:105CB0006091C8187091C918072E000C880B990BB9 -:105CC0000E94974D6C2FCC0F770B82EE95E20E94CD -:105CD000E7B88AE00E94234D8FEF02C08091770BD6 -:105CE000CF910895CF92DF92EF92FF921F93CF93BF -:105CF000DF93CDB7DEB7A0970FB6F894DEBF0FBE27 -:105D0000CDBF80E090E0A8E4B2E489839A83AB83BE -:105D1000BC8380E090E0A0E2B1E48D839E83AF83FA -:105D2000B88789879A87AB87BC870E9448AEF82ED0 -:105D300087FDF0C00E941D6481110E94C26610910F -:105D4000770B212F30E08F2D0F2C000C990B28178B -:105D5000390721F060E08F2D0E94118C85E40E94AC -:105D6000D57E882381F00E949E7E6B017C0120E01D -:105D700030E0A9010F944B1987FF0BC0F7FAF0949C -:105D8000F7F8F09406C0C12CD12C80E8E82E80E40E -:105D9000F82EF7FAF094F7F8F094C98ADA8AEB8AC9 -:105DA000FC8A8AE50E941E7F882351F040E050E083 -:105DB000BA018AE50E94B9BF69877A878B879C8779 -:105DC00088E50E941E7F882351F040E050E0BA0130 -:105DD00088E50E94B9BF69837A838B839C8389E5B8 -:105DE0000E941E7F882351F040E050E0BA0189E50F -:105DF0000E94B9BF6D837E838F83988785E50E945B -:105E0000D57E882329F00E949E7E6B017C010CC008 -:105E1000E091770B88E0E89FF0011124E65EF24EF6 -:105E2000C080D180E280F38020E030E0A901C7018A -:105E3000B6010F944B1987FF04C0F7FAF094F7F8F6 -:105E4000F094F7FAF094F7F8F094CD8ADE8AEF8AAE -:105E5000F88E198E1A8E1B8E1C8E8CE40E94D57EB5 -:105E6000882329F00E949E7E6B017C010CC0E0918A -:105E7000770B88E0E89FF0011124E65EF24EC480C3 -:105E8000D580E680F78020E030E0A901C701B601A7 -:105E90000F944B1987FF04C0F7FAF094F7F8F094C9 -:105EA000CD8EDE8EEF8EF8A262E070E082E40E947A -:105EB0004CACF82E21E0AE014B5E5F4FBE016F5F30 -:105EC0007F4FCE0141960E945CBB8823D9F06F2D95 -:105ED00081E00E94BEBA80E090E0A0EAB1E48D8744 -:105EE0009E87AF87B88B80918F0A882359F02F2D1A -:105EF000AE01435F5F4FBE01635E7F4FCE014996A7 -:105F00000E942FB98091770B181721F060E0812F44 -:105F10000E94118CA0960FB6F894DEBF0FBECDBFC5 -:105F2000DF91CF911F91FF90EF90DF90CF90089578 -:105F3000CF92DF92EF92FF92CF93DF93CDB7DEB790 -:105F40006C970FB6F894DEBF0FBECDBF8CE40E94F5 -:105F5000D57E882381F00E949E7E6B017C0120E02B -:105F600030E0A9010F944B1987FF0BC0F7FAF094AA -:105F7000F7F8F09406C0C12CD12C80E8E82E80E41C -:105F8000F82EF7FAF094F7F8F094C98EDA8EEB8ECB -:105F9000FC8E80E090E0A8E4B2E489839A83AB832E -:105FA000BC8380E090E0A0E2B1E48D839E83AF8368 -:105FB000B88789879A87AB87BC8788E50E941E7F50 -:105FC0008823A1F040E050E0BA0188E50E94B9BF03 -:105FD0002091D9183091DA184091DB185091DC18D3 -:105FE0000F94EA1669837A838B839C8389E50E94E8 -:105FF0001E7F8823A1F040E050E0BA0189E50E94AD -:10600000B9BF2091D9183091DA184091DB1850911E -:10601000DC180F94EA166D837E838F8398878AE558 -:106020000E941E7F882351F040E050E0BA018AE5CB -:106030000E94B9BF69877A878B879C87F090CC1CB8 -:10604000F2FAFF24F0F81D861E861F86188A20E0CB -:10605000AE01435F5F4FBE016F5F7F4FCE01499638 -:106060000E945CBB882329F1F11023C060E080E02E -:106070000E94BEBA80E090E0A0E8B0E48D8B9E8BD9 -:10608000AF8BB88F198A1A8A1B8A1C8A1D861E86B6 -:106090001F86188A80918F0A882359F020E0AE016C -:1060A0004B5E5F4FBE016F5E7F4FCE010D960E942B -:1060B0002FB96C960FB6F894DEBF0FBECDBFDF913F -:1060C000CF91FF90EF90DF90CF900895CF93DF9323 -:1060D000D62FC72F0E941E7F882329F00E94667E3C -:1060E000262F972F02C02D2F9C2F822FDF91CF912B -:1060F00008952F923F924F925F926F927F928F926C -:106100009F92AF92BF92CF92DF92EF92FF920F9346 -:106110001F93CF93DF93CDB7DEB7E6970FB6F89412 -:10612000DEBF0FBECDBF0E941D6481111DC360E0A4 -:1061300070E080E50E9466B0882E6CE070E083E538 -:106140000E9466B05C018DA763E070E084E50E9468 -:1061500066B0382E40E050E060ED70E482E50E94C9 -:10616000B9BF6B017C018091C61887FD07C0809183 -:10617000C718837019F499249394F4C260E088E5F9 -:106180000E942B7F982E60E089E50E942B7F811171 -:10619000E9C280E0982A2091900B2EA7822F0E94BE -:1061A000ACB680E090E0A0EAB3E48D879E87AF872D -:1061B000B88B412C512C20E2622E22E4722E498AA7 -:1061C0005A8A6B8A7C8A40E050E060E87FE34D8B1E -:1061D0005E8B6F8B788F00E010E026E933E4098353 -:1061E0001A832B833C834D825E826F827886498737 -:1061F0005A876B877C8722E082120CC0911005C001 -:106200008EEB95E20E9427B7A9C289839A83AB835C -:10621000BC8324C090FC10C08091780B9091790BC6 -:10622000A0917A0BB0917B0B89839A83AB83BC835B -:106230008D879E87AF87B88B91FC10C080917C0BB7 -:1062400090917D0BA0917E0BB0917F0B8D839E83EF -:10625000AF83B887898B9A8BAB8BBC8B8091800B7B -:106260009091810BA091820BB091830B89A79AA783 -:10627000ABA7BCA789879A87AB87BC878D8B9E8B82 -:10628000AF8BB88F91E0891629F0A2E08A1609F445 -:1062900070C10CC22D853E854F85588969817A81F0 -:1062A0008B819C810F94EA166B017C0120E030E029 -:1062B000A9010F94E70F882309F450C229893A896C -:1062C0004B895C896D817E818F8198850F94EA1658 -:1062D0004B015C0120E030E0A9010F94E70F882317 -:1062E00009F43CC28091780B9091790BA0917A0BC4 -:1062F000B0917B0B8FA798ABA9ABBAAB80917C0B0D -:1063000090917D0BA0917E0BB0917F0B8BAB9CABE2 -:10631000ADABBEAB198E1A8E1B8E1C8EAE01475EC6 -:106320005F4FBE016F5E7F4FCE010D960E94FEE271 -:10633000032D000F20E030E0A901C701B6010F9442 -:106340004B1987FF08C0D701C601B0588DA39EA383 -:10635000AFA3B8A704C0CDA2DEA2EFA2F8A620E0AA -:1063600030E0A901C501B4010F944B1914012501B6 -:1063700087FF04C057FA509457F850942DA13EA1BE -:106380004FA158A5C201B1010F94E70F181624F4CC -:1063900034011A2DFB2C02C036011E2D802E912CAB -:1063A000B401092C000C880B990B0F94EE0F9B0184 -:1063B000AC01B301812F9F2D0F94E5176B017C0178 -:1063C000712C9DA5791608F0C0C010E0812F012E18 -:1063D000000C990B881599050CF059C010FD04C0EC -:1063E000DE011D965D0103C0CE0101965C012DA169 -:1063F0003EA14FA158A5C201B1010F94E70F412F53 -:10640000012E000C550B660B770B198E1A8E1B8E06 -:106410001C8E1816ECF0CB01BA010F94EE0FA701F9 -:1064200096010F944D109B01AC016D857E858F8583 -:1064300098890F94EB166D8F7E8F8F8F98A3B5017F -:106440006C5F7F4FAE01475E5F4FCE014D961BC024 -:10645000CB01BA010F94EE0FA70196010F944D10D6 -:106460009B01AC0169897A898B899C890F94EB1611 -:106470006D8F7E8F8F8F98A3AE01475E5F4FBE01F9 -:10648000635E7F4FC5010E94FEE21F5F9FCF102F0A -:1064900017FD59C010FD04C0DE011D965D0103C04B -:1064A000CE0101965C012DA13EA14FA158A5C201CC -:1064B000B1010F94E70F412F012E000C550B660B15 -:1064C000770B198E1A8E1B8E1C8E1816ECF0CB01D2 -:1064D000BA010F94EE0FA70196010F944D109B0186 -:1064E000AC016D857E858F8598890F94EB166D8F35 -:1064F0007E8F8F8F98A3B5016C5F7F4FAE01475E93 -:106500005F4FCE014D961BC0CB01BA010F94EE0F29 -:10651000A70196010F944D109B01AC0169897A89FE -:106520008B899C890F94EB166D8F7E8F8F8F98A32C -:10653000AE01475E5F4FBE01635E7F4FC5010E94A3 -:10654000FEE21150A5CF73943CCF198E1A8E1B8E8C -:106550001C8EDE0159966D01E9A4FAA40BA51CA5B9 -:106560002BA93CA94DA95EA96FA578A989A99AA9CB -:10657000F3C0BDA5BB2309F4F1C08091780B9091C5 -:10658000790BA0917A0BB0917B0B8DA39EA3AFA347 -:10659000B8A780907C0B90907D0BA0907E0BB09064 -:1065A0007F0B198E1A8E1B8E1C8EAE01475E5F4FBD -:1065B000BE016F5E7F4FCE010D960E94FEE210E09D -:1065C000212C312C19A21AA21BA21CA2B101032C4E -:1065D000000C880B990B0F94EE0F2CE739ED40E27D -:1065E0005FE30F944D102B013C010F94E0179B01CA -:1065F000AC01C701B6010F944D109B01AC016D8138 -:106600007E818F8198850F94EB166D8F7E8F8F8F93 -:1066100098A3C301B2010F948B199B01AC01C70170 -:10662000B6010F944D109B01AC0169817A818B8179 -:106630009C810F94EB16698F7A8F8B8F9C8FAE01A4 -:106640004F5D5F4FBE01635E7F4FCE0149960E9452 -:10665000FEE29FEF291A390AAAE02A16310409F04E -:10666000B1CF1F5FBDA51B1708F4AACF198E1A8ED4 -:106670001B8E1C8EAE01475E5F4FBE016F5E7F4F6B -:10668000CE010D960E94FEE2198E1A8E1B8E1C8E74 -:10669000CE0149966C01E9A4FAA40BA51CA5A5019D -:1066A00094016DA17EA18FA198A556C04090780B52 -:1066B0005090790B60907A0B70907B0B80917C0BE3 -:1066C00090917D0BA0917E0BB0917F0B8DA39EA32B -:1066D000AFA3B8A7198E1A8E1B8E1C8EAE01475E13 -:1066E0005F4FBE016F5E7F4FCE010D960E94FEE2AE -:1066F000BB24B594A79410E0812F90E0198E1A8ED8 -:106700001B8E1C8E8A159B05D4F4AE01475E5F4F2D -:10671000BE016B5F7F4FCE0101960E94FEE2198E93 -:106720001A8E1B8E1C8EAE01475E5F4FBE016F5EE0 -:106730007F4FCE010D960E94FEE21F5FDDCFDE018E -:1067400059966D01E9A4FAA40BA51CA52DA13EA1A3 -:106750004FA158A5C301B2010E9441E28EA50E943B -:10676000ACB602C082E016CDE6960FB6F894DEBF56 -:106770000FBECDBFDF91CF911F910F91FF90EF9092 -:10678000DF90CF90BF90AF909F908F907F906F9051 -:106790005F904F903F902F9008950E940BB98EEA22 -:1067A00095E20E9427B783E50E94D57E882321F0D9 -:1067B0000E948A7E80936C0280916C02811103C0DA -:1067C00087E895E202C08BE895E20E9427B786EA47 -:1067D00095E20E9427B72091D9183091DA1840919C -:1067E000DB185091DC18609137027091380280916B -:1067F000390290913A020F94EB16AB01BC0184EA86 -:1068000095E20E94D6B82091DD183091DE184091B3 -:10681000DF185091E01860913F0270914002809122 -:106820004102909142020F94EB16AB01BC0181EA48 -:1068300095E20E94D6B82091E1183091E21840917B -:10684000E3185091E41860914702709148028091DA -:10685000490290914A020F94EB16AB01BC018EE9FC -:1068600095E20E94D6B886E995E20E9427B720916A -:10687000D9183091DA184091DB185091DC186091EA -:106880003B0270913C0280913D0290913E020F9438 -:10689000EB16AB01BC0184E995E20E94D6B82091C9 -:1068A000DD183091DE184091DF185091E0186091AA -:1068B00043027091440280914502909146020F94E8 -:1068C000EB16AB01BC0181E995E20E94D6B820919C -:1068D000E1183091E2184091E3185091E41860916A -:1068E0004B0270914C0280914D0290914E020F9498 -:1068F000EB16AB01BC018EE895E20E94D6B88AE0A7 -:106900000C94234D882319F00E940BB903C080E238 -:106910000E94234D4091ED115091EE116091EF11C5 -:106920007091F01180E895E20E94D6B84091F11183 -:106930005091F2116091F3117091F4118DE795E28D -:106940000E94D6B84091F5115091F6116091F7115F -:106950007091F8118AE795E20E94D6B84091F9113A -:106960005091FA116091FB117091FC1187E795E24B -:106970000E94D6B88AE00C94234D2F923F924F92FA -:106980005F926F927F928F929F92AF92BF92CF92BF -:10699000DF92EF92FF920F931F93CF93DF93CDB7C8 -:1069A000DEB72DB63EB684E50E94D57E882309F475 -:1069B00041C060E089E40E942B7F082F61E070E015 -:1069C00082E50E944CAC6C0160E070E083E50E94BF -:1069D0004CAC182F65E470E08CE40E944CAC5C0178 -:1069E00064EF71E087E50E944CAC2C01990F6608BA -:1069F0007708812F90E0A816B906CCF01634A8F4D9 -:106A00000111E2C0812F0E94444C882309F4DCC0AC -:106A100027ED36E041E060E0812F0E9453AA8AE032 -:106A20000E94234D8AE00E94234D1F5FE2CF86E043 -:106A300095E224C085E40E94D57E8823B1F00E94AF -:106A40008A7E8093D61186E695E20E9427B78091D0 -:106A5000D611811103C088E595E202C08CE595E26C -:106A60000E9427B78FE595E209C083E50E94D57E95 -:106A7000882339F00E9407B98DE095E20E9427B77C -:106A8000EBC060E070E080E50E944CAC8C01F82E19 -:106A900080E50E941E7F811107C035E4301708F49D -:106AA000DBC085E4E82E01C0E02E60E089E40E94AE -:106AB0002B7F582E60E087E50E942B7F882309F406 -:106AC00080C08DB69EB689E495E20E9427B7680122 -:106AD000DD248E2D90E08C199D090196EDB7FEB74F -:106AE000E81BF90B0FB6F894FEBF0FBEEDBF2DB734 -:106AF0003EB72F5F3F4F5901E01660F0063440F477 -:106B0000511094C0802F0E94444C882309F48EC0F9 -:106B10000F5FF2CF40901E0883E080931E0881E053 -:106B20008093CB1840E355E269E375E282E00E946E -:106B3000F0B780E295E20E948FBF7F2CE71418F136 -:106B400035E43715F0F0511005C0872D0E94444CF4 -:106B5000811117C0872D0E943867682E072D10E01D -:106B60000C191D090A0D1B1DF8018081681649F0DA -:106B70002BEC35E040E0652D872D0E9453AAF801EB -:106B800060827394DBCF8091CB18882339F068EC56 -:106B900070E080E090E00E94F8B6CFCF40921E08EF -:106BA0000FB6F8949EBE0FBE8DBE56C0F5E4FF151D -:106BB00038F02BEC35E041E0652D8F2D0E9453AA73 -:106BC000F394EF1498F748C0A89522EE36E041E020 -:106BD000602F812F0E9453AA61E0812F0E9490674D -:106BE000E12CF12CEC14FD040CF01CCFA89560E016 -:106BF000812F0E946167C301B2010E94F8B6A89577 -:106C000061E0812F0E946167C301B2010E94F8B662 -:106C1000A89560E0812F0E946167C301B2010E94C4 -:106C2000F8B6A8952FEFE21AF20ADCCF62E0802FC7 -:106C30000E94906761E070E080E090E00E94B4689C -:106C4000602E712C6C187D08802F0E943867F5012A -:106C5000E60DF71D80835CCF0FB6F8943EBE0FBEE5 -:106C60002DBEDF91CF911F910F91FF90EF90DF909C -:106C7000CF90BF90AF909F908F907F906F905F90DC -:106C80004F903F902F900895AF92BF92CF92DF9296 -:106C9000EF920F931F93CF93DF936C018B011092B0 -:106CA000B4080E94694CE090770BC8E7DBE084E011 -:106CB000E89EF0011124ED5DFD4F2081318142817C -:106CC0005381F60160817181828193810F94E51770 -:106CD0002C853D854E855F850F94EB166C877D87EF -:106CE0008E879F87A12CB12C650124E83BE040E80A -:106CF0005BE06CE77BE0CE010E9494DBDF91CF91FB -:106D00001F910F91EF90DF90CF90BF90AF900C94B8 -:106D100013D9CF93DF931092F1181092F2181092BA -:106D2000F3181092F41884E6E5EFF8E1DF011D9204 -:106D30008A95E9F7C0E0D0E020E030E0A9016D2FAE -:106D40008C2F0E948BBEDF5FD530B1F7CF5FC5308F -:106D500091F7DF91CF9108959091900B9817D1F012 -:106D60000E9413D98091900B882359F040E85BE092 -:106D70006CE77BE088E79BE00E9458DB1092900B69 -:106D800007C081E08093900B88E79BE00E9424DBA2 -:106D90000C945BE30895EF92FF921F93CF93DF93E0 -:106DA00085EFE82E88E1F82E15E0C0E0D0E020E085 -:106DB00030E0A901F701EC0FFD1F60817181828134 -:106DC00093810F94E70F81110CC02496C431D10533 -:106DD00071F7115084E1E80EF11C1111E6CF80E04B -:106DE00001C081E0DF91CF911F91FF90EF90089556 -:106DF000CF92DF92EF92FF926B017C0183E3C81682 -:106E0000D104E104F10470F082E3C81AD108E1086A -:106E1000F10862E370E080E090E00E94B4680E94B4 -:106E200081F5ECCFC701B6010E94B468FF90EF90E6 -:106E3000DF90CF900C9481F5CF93C82FCC2329F00D -:106E400080E20E94234DC150F9CFCF910895CF9396 -:106E5000DF93FC018491EF012196882321F00E94A9 -:106E6000234DFE01F7CFDF91CF9108950F931F932C -:106E7000CF938C01C62F85E196E20E9427B7C80107 -:106E80000E9427B7CC2331F08AE0CF911F910F9158 -:106E90000C94234DCF911F910F91089560E08AE2E9 -:106EA00096E20E9436B786E296E20E9427B78AE011 -:106EB0000C94234D60E08AE296E20E9436B782E3AA -:106EC00096E20E9427B78AE00C94234DEF92FF923E -:106ED0000F931F93CF937C018B01C42F60E08AE254 -:106EE00096E20E9436B7C7010E9427B780E20E944F -:106EF000234DC8010E9427B7CC2341F08AE0CF91EF -:106F00001F910F91FF90EF900C94234DCF911F9103 -:106F10000F91FF90EF90089541E0BC018FE196E260 -:106F20000C9466B7CF93DF93C0910C1810920C1895 -:106F3000C230B9F118F4C13041F041C0C430B1F1F0 -:106F4000C530E9F5CDE5D6E23FC081111DC00E94F4 -:106F50004EB741E068EC76E28FEE97E20E9466B7AA -:106F60008DEB96E20E948CB78091B408882319F0CB -:106F70008FEA96E204C0C0930C1886EA96E20E945B -:106F80008CB70E945AB71EC08130E1F48091B408DA -:106F90008823C1F0109256021092B4080E94694CE6 -:106FA00011C01092CB18C9E7D6E20EC082EA96E271 -:106FB00090930A0980930909C8E6D6E205C0CFE498 -:106FC000D6E202C0C2E9D6E287E396E20E9427B782 -:106FD000CE010E9427B78AE0DF91CF910C94234D18 -:106FE0000F931F93CF93DF938B01EA0180930C18CB -:106FF0000E944EB741E0B8018FEE97E20E9466B75B -:10700000209719F0CE010E948CB7DF91CF911F918C -:107010000F910C945AB790910C18911102C00C94D6 -:10702000F0B708958F929F92AF92BF92CF92DF9266 -:10703000EF92FF920F931F93CF93DF93CDEED6E0A5 -:107040008991882319F00E94234DFACF6091F1189D -:107050007091F2188091F3189091F41845E00E9415 -:10706000B34D82E096E20E9427B7C12CD12C760165 -:1070700088E00E941CB7C701B6010E94974D8FEFB0 -:10708000C81AD80AE80AF80A95E0C916D104E1043A -:10709000F10471F78AE00E94234D05EF18E1C12C3D -:1070A000D12C760180E20E94234DC701B6010E94D7 -:1070B000974DC0E0D0E080E20E94234DF801EC0F34 -:1070C000FD1F80809180A280B380A5019401C5013D -:1070D000B4010F94DD19811112C020E030E0A90144 -:1070E000C501B4010F944B1987FD03C08BE20E94C8 -:1070F000234D45E0C501B4010E94B34D09C0B12C38 -:1071000080E20E94234DB3948DE398E0B912F9CF49 -:107110006496C436D10579F68AE00E94234D8FEF3C -:10712000C81AD80AE80AF80A0C5F1F4F95E0C9167A -:10713000D104E104F10409F0B5CF8AE0DF91CF91E9 -:107140001F910F91FF90EF90DF90CF90BF90AF9085 -:107150009F908F900C94234D811103C087E895E296 -:1071600002C08BE895E20E9427B78AE00C94234D79 -:10717000CF92DF92EF92FF926A017B010E9427B7C4 -:107180004AE0C701B601FF90EF90DF90CF900C94DA -:107190002A4DCF93DF93EB010E9427B7BE0180E019 -:1071A00090E04AE0DF91CF910C942A4DCF92DF928C -:1071B000EF92FF926A017B010E9427B742E0C7016C -:1071C000B601FF90EF90DF90CF900C94B34DCF932A -:1071D000DF93EB010E9427B7BE01DD0F880B990BEF -:1071E000DF91CF910C94974D0F931F93CF93DF9323 -:1071F0008B010E9427B7E8018991882319F00E942A -:10720000234DFACFDF91CF911F910F9108958BEF0E -:1072100095E20C9427B785EF95E20C9427B78091FF -:107220002A1283FD0FC08091291281110BC0209179 -:10723000BE083091BF0880915302909154022817E4 -:1072400039072CF061E08091770B0C94928A0E94B0 -:107250000BB986ED97E20E9427B780E008958F92E0 -:107260009F92AF92BF92CF92DF92EF92FF921F93C5 -:10727000CF93DF9300D01F92CDB7DEB75C016B01D7 -:107280007A011091D3110E9458D6111116C0809125 -:107290002912811112C06091BA087091BB088091C7 -:1072A000BC089091BD080F9457182091530230915B -:1072B0005402621773070CF4C5C00E940FB98823EB -:1072C00009F4C0C01123B9F10E940BB984E498E21B -:1072D0000E9427B790901E0883E080931E0881E0EB -:1072E0008093CB181091770B105D82E080930C187F -:1072F0000E944EB740E064E378E28FEE97E20E948E -:1073000066B7812F0E94234D8AE00E94234D8BE2B5 -:1073100098E20E948CB70E945AB78DE198E20E94D1 -:107320008FBF8091CB18882321F081E00E944F4EBF -:10733000F8CF90921E0820E030E0A901F5016081AD -:107340007181828193810F94E70F882371F080E02F -:1073500090E0A0ECB0E489839A83AB83BC83BE0148 -:107360006F5F7F4FC5010E9444B620E030E0A90165 -:10737000F60160817181828193810F94E70F8823E8 -:1073800051F18090111290901212A0901312B090AF -:10739000141280E090E0A8ECB1E480931112909375 -:1073A0001212A0931312B093141280E090E0A0EF99 -:1073B000B1E489839A83AB83BC83BE016F5F7F4F47 -:1073C000C6010E9444B68092111290921212A092AD -:1073D0001312B092141220E030E0A901F70160818D -:1073E0007181828193810F944B19181674F480E097 -:1073F00090E0A0E4B0E489839A83AB83BC83BE01B0 -:107400006F5F7F4FC7010E9444B681E080930C18E4 -:107410000E944EB741E066E178E28FEE97E20E946B -:1074200066B78CE098E20E948CB78091B4088823FC -:1074300019F08EEF97E202C085EF97E20E948CB7B9 -:107440000E945AB720E030E0A90160911C187091A9 -:107450001D1880911E1890911F180F94E70F87FF39 -:107460000FC080E090E0A0E7B2E489839A83AB8309 -:10747000BC83BE016F5F7F4F8CE198E10E9444B6F0 -:1074800080E090E0A8E4B2E489839A83AB83BC8374 -:10749000AE014F5F5F4F64E178E180E198E10E94C7 -:1074A000FEE280E090E0A0EAB0E489839A83AB83B7 -:1074B000BC83BE016F5F7F4F88E198E10E9420E3AB -:1074C00080911C1890911D18A0911E18B0911F1842 -:1074D0008093840B9093850BA093860BB093870BBE -:1074E0008093220B9093230BA093240BB093250B36 -:1074F00082E29BE00E9424D961E087EE97E20E943D -:1075000036B780918F0A815080938F0A40E050E017 -:1075100060E778E285E00E940BB880918F0A8823AB -:1075200039F00E94815880918F0A815080938F0A90 -:1075300080910F18882351F010920F1880910D1828 -:107540008093271280910E188093281280915C12EC -:10755000823011F40E9479FD0E94F8D50F900F90AF -:107560000F900F90DF91CF911F91FF90EF90DF90E0 -:10757000CF90BF90AF909F908F9008950F931F93DF -:10758000CF93DF93C82F0E940BB9C11103C08DEEBA -:1075900096E202C08FE097E20E9427B70E94EE6851 -:1075A000DC01CB0188539045AF4FBF4F8093CF1183 -:1075B0009093D011A093D111B093D2111092D31106 -:1075C00010911E0883E080931E0881E08093CB1801 -:1075D0004FEB57E268EC77E282E00E94F0B781EB74 -:1075E00097E20E948FBFCC2319F0CFE0D7E202C010 -:1075F000CDEED6E201E08091CB18882309F455C086 -:107600008091D311882309F44CC00E940BB98AE8F9 -:1076100097E20E9427B745E757E26CE777E282E0FE -:107620000E94F0B787E697E20E948FBF8091CB1847 -:10763000882321F081E00E944F4EF8CF40E050E0D7 -:107640006DE577E282E00E94F0B780E597E20E9464 -:107650004ABF0E9458D60E940FB90E940BB9CE01B2 -:107660000E9427B70E94EE68DC01CB018853904549 -:10767000AF4FBF4F8093CF119093D011A093D111F2 -:10768000B093D2111092D3114BE357E264E477E246 -:1076900082E00E94F0B782E097E00E948FBF0093E3 -:1076A000CB1881E00E944F4EA6CF10931E08DF91A9 -:1076B000CF911F910F9108958F929F92AF92BF9299 -:1076C000CF92DF92EF92FF921F93CF93DF93CDB7CC -:1076D000DEB728970FB6F894DEBF0FBECDBF20915E -:1076E0008F0A21112BC17A015B016C0161E08FECE3 -:1076F00096E20E9436B740E050E067EE76E285E021 -:107700000E940BB880912A1283FD22C020E030E055 -:10771000A901F70160817181828193810F94E70F44 -:107720008823B1F010912912111112C02091530237 -:10773000309154028091BE089091BF088217930740 -:107740003CF40E940BB986ED96E20E9427B7F7C081 -:1077500080918F0A91E0980F90938F0A9091CC1CA2 -:1077600092FF06C09B7F9093CC1C8E5F80938F0A04 -:107770000E9473D480E1E8E7FBE0A0E1B8E101906A -:107780000D928A95E1F70E9413D980910F1881110B -:107790000FC081E080930F188091271280930D18FD -:1077A000109227128091281280930E18109228129E -:1077B00020E030E0A901F60160817181828193812E -:1077C0000F94E70F882319F180912912811111C0BC -:1077D0006091BA087091BB088091BC089091BD0877 -:1077E0000F94571820915302309154026217730777 -:1077F00074F080E090E0A0E7B2E489839A83AB83E1 -:10780000BC83BE016F5F7F4FC6010E9444B60E94D9 -:107810001D64811104C0B50182E00E94ACD420E057 -:1078200030E0A901F70160817181828193810F9419 -:10783000E70F811102C011E082C00E940FB9182F1A -:107840008823C9F380E090E0A0E7B2E48D839E83B3 -:10785000AF83B88780E090E0A0E8B0EC89839A839A -:10786000AB83BC83BE016B5F7F4FCE0101960E944C -:1078700044B668E873E180E090E00E94F8B6809139 -:10788000091290910A12A0910B12B0910C128D83E3 -:107890009E83AF83B88780E090E0A0E8B0E489835E -:1078A0009A83AB83BC83BE016B5F7F4FCE01019691 -:1078B0000E9444B68090111290901212A090131260 -:1078C000B090141280E090E0A8ECB1E48093111223 -:1078D00090931212A0931312B093141280E090E0D0 -:1078E000A4E2B2E48D839E83AF83B887F7018081E1 -:1078F0009181A281B38189839A83AB83BC83BE01CA -:107900006B5F7F4FCE0101960E9444B680921112A8 -:1079100090921212A0921312B09214128091770BCF -:10792000882321F0813019F4479A01C0129A64E645 -:1079300070E080E090E00E94F8B601C010E0812F76 -:1079400028960FB6F894DEBF0FBECDBFDF91CF9162 -:107950001F91FF90EF90DF90CF90BF90AF909F90DE -:107960008F9008958091090180FD06C08091CC1C04 -:1079700083FB882780F9089580E008950F931F9373 -:10798000CF93DF938B01D82FC92F4630C1F41092CB -:10799000CA111092CB111092CC111092CD111092ED -:1079A000CE110E942F9220E030E04CE053E4B80169 -:1079B0008D2F9C2F0F94E70F87FD0FC01DC00E94D5 -:1079C00058D620E030E046E953E4B8018D2F9C2FD3 -:1079D0000F94E70F87FD20C02EC020E030E0A90102 -:1079E000B8018D2F9C2F0F944B1918164CF000E006 -:1079F00010E0D0E0C0E004C000E010E0DCE0C3E450 -:107A0000B8018D2F9C2F0F945718CB01DF91CF9188 -:107A10001F910F910C943A7D20E030E0A901B8014C -:107A20008D2F9C2F0F944B1918164CF000E010E08E -:107A3000D0E0C0E004C000E010E0D6E9C3E4B80143 -:107A40008D2F9C2F0F945718CB01DF91CF911F9151 -:107A50000F910C94539B90918019977081E097300F -:107A600009F080E008958091961A9091971A891BE9 -:107A70008F7069F480918C0A811109C081E0209196 -:107A8000090930910A09232B19F480E0089581E057 -:107A90000895CF92DF92EF92FF926B017C0160918B -:107AA000801970918119072E000C880B990B0F9487 -:107AB000EE0F9B01AC01C701B6010F94EA162091AD -:107AC000F5113091F6114091F7115091F8110F9482 -:107AD0004D100F945718CB01FF90EF90DF90CF908F -:107AE0000C94B6EEE091770BE150E53028F4F0E02D -:107AF000E850FD4F8081089580E008953F924F92B5 -:107B00005F926F927F928F929F92AF92BF92CF922D -:107B1000DF92EF92FF920F931F93CF93DF93CDB736 -:107B2000DEB762970FB6F894DEBF0FBECDBF2B0154 -:107B30003C01342E24E0429FC00111249A8B898B92 -:107B4000FC01E858F44FC080D180E280F38020E04F -:107B500030E04AE754E4C701B6010F94EA164B013E -:107B60005C0120E030E04AE754E4C701B6010F941D -:107B7000EB167B018C0180916C028823D1F181E0AE -:107B8000381639F13816A0F092E0391232C08090E0 -:107B9000470290904802A0904902B0904A02E090BB -:107BA0004B02F0904C0200914D0210914E0221C008 -:107BB0008090370290903802A0903902B0903A023B -:107BC000E0903B02F0903C0200913D0210913E0299 -:107BD00010C080903F0290904002A0904102B0906F -:107BE0004202E0904302F09044020091450210915D -:107BF000460280E1E8EEF2E0DE01119601900D927E -:107C00008A95E1F7E1E0F0E0EC0FFD1F89899A89A0 -:107C1000E80FF91F20E030E040E752E46081718115 -:107C2000828193810F94E51760934F027093500205 -:107C300080935102909352028091811981FF0E949A -:107C4000487D9201A301B701C8010F944B19181682 -:107C500014F4720183019701A801B401C5010F94C6 -:107C6000E70F87FD02C074018501E989FA89EA5EA0 -:107C7000F44FC701D80180839183A283B38380919D -:107C8000811982608093811962960FB6F894DEBFE5 -:107C90000FBECDBFDF91CF911F910F91FF90EF905D -:107CA000DF90CF90BF90AF909F908F907F906F901C -:107CB0005F904F903F9008952091811990E0880F38 -:107CC000991F880F991FFC0121FF03C0EA5EF44F42 -:107CD00002C0E858F44F60817181828193810895D8 -:107CE0002091811920FF14C020E83EE3629FA0018B -:107CF000639F500D729F500D1124CA019695879570 -:107D000096958795009731F08A950000E9F70895D8 -:107D10000C94F8B608959F92AF92BF92CF92DF92E3 -:107D2000EF92FF920F931F93CF93DF93809157129F -:107D3000833009F50E942BBD8823E9F06091D508B6 -:107D40007091D608072E000C880B990B0F94EE0F3C -:107D500020E030E040E85FE30F94EA162091D1087C -:107D60003091D2084091D3085091D4080F94E70F76 -:107D700018160CF062C0D0E0FF24F39400E010E08D -:107D8000EE24E39445E0D42EC0E0CC24C39455E027 -:107D9000B52E65E0A62E72E8972EFC24DC16D1F1F4 -:107DA0008D2F90E04897A4F5DF5FF801BC9EE00DB1 -:107DB000F11D1124EE0FFF1FEE0FFF1FEB50F74ECA -:107DC00020E030E04AE754E4608171818281938150 -:107DD0000F944D100F9457187093291B6093281B14 -:107DE000A0921C1B90921F1B8D2F90E08158974FE3 -:107DF000880F991F092E000CAA0BBB0B8093201B28 -:107E00009093211BA093221BB093231B0E94C1EBD4 -:107E1000CE0DC4CF0F5F1F4F0530110579F1F11062 -:107E200006C0EE24EA94DD24DA94C4E0B6CFEE2452 -:107E3000E39435E0D32EC0E0B0CF81E09AE5909393 -:107E4000291B8093281B80E490E090932B1B809348 -:107E50002A1B87E080931C1B82E880931F1B84E809 -:107E600090E0A0E0B0E08093201B9093211BA093B2 -:107E7000221BB093231B0E94C1EB7DCFDF91CF91DA -:107E80001F910F91FF90EF90DF90CF90BF90AF9038 -:107E90009F900895AF92BF92CF92DF92EF92FF92A0 -:107EA0000F931F93CF93DF93EC0188EEC82E80E2EF -:107EB000D82EE12CF12C02E8A12C90E2B92E15E08D -:107EC00000931F1BC092201BD092211BE092221B0B -:107ED000F092231BB092291BA092281B10931C1B0D -:107EE0000E94C1EB8FEFC81AD80AE80AF80A80E1AD -:107EF000C81681E2D806E104F10411F748EE50E219 -:107F000060E070E0CE01DF91CF911F910F91FF9063 -:107F1000EF90DF90CF90BF90AF900C9470EB84E027 -:107F20008093561282E08093EA0781E09AE590936D -:107F3000291B8093281B8EE490E090932B1B809349 -:107F40002A1B87E080931C1B82E880931F1B84E818 -:107F500090E0A0E0B0E08093201B9093211BA093C1 -:107F6000221BB093231B0E94C1EB83E197E00C948A -:107F70002E4ECF92DF92EF92FF926A017B010E9418 -:107F80001E7F882331F0FF90EF90DF90CF900C940C -:107F90009E7EC701B601FF90EF90DF90CF900895CD -:107FA0002F923F924F925F926F927F928F929F9209 -:107FB000AF92BF92CF92DF92EF92FF920F931F93F7 -:107FC000CF93DF93CDB7DEB7CC54D1090FB6F89479 -:107FD000DEBF0FBECDBF60E070E085E40E944CAC18 -:107FE000182F81E0810F823018F08DEA9AE240C0AC -:107FF00065E070E083E40E944CAC89A760E085E511 -:108000000E942B7F2B968FAF2B9717FF05C040E068 -:1080100050E06CE872E404C040E050E066E173E4D4 -:1080200083E50E94B9BF0F945718072E000C880BE8 -:10803000990B0F94EE0F6D837E838F832D969FAFE8 -:108040002D970E94EE682B013C011F3F09F0EBC405 -:1080500020E030E047E053E46D817E818F812D96F2 -:108060009FAD2D970F944B191816ECF482E89AE205 -:10807000C45BDF4F0FB6F894DEBF0FBECDBFDF91FC -:10808000CF911F910F91FF90EF90DF90CF90BF9015 -:10809000AF909F908F907F906F905F904F903F90A8 -:1080A0002F900C9427B78EE69AE20E9427B70E9481 -:1080B0007E928FE78093D70824EB30E0A8EEB3E000 -:1080C0000F9491166BA77CA78DA79EA79B01AC016F -:1080D000240D351D461D571D28AF39AF4AAF5BAF84 -:1080E00081E080931602109231021F3FF9F48BEA6F -:1080F0009AEAAAEABEE38CAF9DAFAEAFBFAF2DEC5C -:108100003CEC4CE45EE324962CAF3DAF4EAF5FAF4A -:10811000249746EB59E226965FAF4EAF269780E84C -:1081200099E228969FAF8EAF28971EC020E030E0DE -:1081300040E05EE32CAF3DAF4EAF5FAF8AE999E917 -:10814000A9E1BFE324968CAF9DAFAEAFBFAF24973C -:10815000A4EAB9E22696BFAFAEAF2697EDE6F9E204 -:108160002896FFAFEEAF289749A25AA26BA27CA235 -:108170004FA658AA69AA7AAA2FE730E040E050E05B -:10818000288739874A875B87188A198A1A8A1B8A3F -:108190001C861D861E861F86C12CD12C76011E8A48 -:1081A00030E43F8B4CE1488F56E4598F1A8E1B8E7A -:1081B0001C8E1D8E1BAACCAADDAAEEAAFFAAFFE781 -:1081C0008F2E912CA12CB12C1DA21EA21FA218A68D -:1081D00081E088A31D8A1C8A212C312C00E02C967A -:1081E0001FAE2C97A7E11A02C00111248A54974FA1 -:1081F000FC013A962A96FFAFEEAF2A979C012C5FBE -:108200003F4F3F8F2E8F49A5042E000C550B5AA7C8 -:1082100049A780911602882309F457C20E94EE688C -:1082200069837A838B839C838091D511882309F499 -:10823000BAC00E94ED921F3F61F42090D1083090A7 -:10824000D2080091D3085091D4082C965FAF2C9798 -:108250000EC0AE8DBF8D2C9011963C90119712964A -:108260000C9112971396BC912C96BFAF2C972A8D28 -:108270003B8D4C8D5D8DB101802F2C969FAD2C9741 -:108280000F944B1918163CF42A8E3B8E0C8F2C96AB -:10829000EFAD2C97ED8F2E893F89488D598DB10117 -:1082A000802F2C969FAD2C970F94E70F87FF07C068 -:1082B0002E8A3F8A088F2C96FFAD2C97F98F28A124 -:1082C000222309F44DC09101402F2C965FAD2C97CD -:1082D0006D817E818F812D969FAD2D970F94E70F35 -:1082E00087FF61C049815A816B817C81441955099E -:1082F00066097709DB01CA0188589341A109B109D0 -:10830000B7FD51C088859985AA85BB8588199909CB -:10831000AA09BB09B595A795979587951F3F19F4AD -:108320008093D70805C02A96EEADFFAD2A978083CB -:108330004DA35EA36FA378A7FD81FA8F2E812B8FAB -:108340003F813C8F2D964FAD2D974D8F89819A811E -:10835000AB81BC8189A39AA3ABA3BCA318A223C001 -:108360009101402F2C965FAD2C976D817E818F817E -:108370002D969FAD2D970F944B191816A4F4898153 -:108380009A81AB81BC8129A13AA14BA15CA1821B3E -:10839000930BA40BB50BAC01BD01485853416109C7 -:1083A000710977FFB1C120E030E040EA51E46D810E -:1083B0007E818F812D969FAD2D970F94EB169101A5 -:1083C000402F2C965FAD2C970F94E70F87FF03C0CB -:1083D00088ED99E2BCC089819A81AB81BC812FA5CF -:1083E00038A949A95AA9821B930BA40BB50BB7FD59 -:1083F00093C01F3F19F48091770B01C0812F0E9419 -:10840000A1888AE00E94234D89819A81AB81BC8139 -:108410008053984FAF4FBF4F8FA798ABA9ABBAAB64 -:108420009BA9911159C02CA93DA94EA95FA9B101E1 -:10843000802F2C969FAD2C970F944B191816BCF5D6 -:1084400020E030E040E050E4B101802F2C969FAD59 -:108450002C970F94EB166CAB7DAB8EAB9FAB2BA523 -:108460003CA54DA55EA589819A81AB81BC81280F71 -:10847000391F4A1F5B1F28AF39AF4AAF5BAF20E0FF -:1084800030E040EC50E46D817E818F812D969FAD70 -:108490002D970F94EA169101402F2C965FAD2C97E3 -:1084A0000F94E70F881F8827881F8BAB35C0898101 -:1084B0009A81AB81BC8128AD39AD4AAD5BAD821BE1 -:1084C000930BA40BB50BB7FD27C026964EAD5FAD41 -:1084D000269769EC79E21DC020E030E040EA51E4E3 -:1084E0006D817E818F812D969FAD2D970F94EA1619 -:1084F0009B01AC01B101802F2C969FAD2C970F945E -:10850000E70F87FF09C028964EAD5FAD289764E955 -:1085100079E2812F0E9447F589819A81AB81BC81E4 -:10852000880F991FAA1FBB1F29A13AA14BA15CA1CB -:10853000821B930BA40BB50B84199509A609B709E7 -:1085400081389F44A241B10528F08FE499E20E944E -:1085500027B7BBC049A55AA58C899D8948175907DB -:108560000CF0B0C003970CF4ADC082EF98E20E940B -:1085700027B71F3F29F4A2EEB8E2BA83A98304C04B -:10858000E1EEF8E2FA83E98380ED98E20E9427B7F2 -:1085900089819A810E9427B7B701A6018EEE98E2E1 -:1085A0000E94D6B88AE00E94234D80ED98E20E9496 -:1085B00027B789819A810E9427B74C855D856E8592 -:1085C0007F858AEE98E20E94D6B88AE00E94234D09 -:1085D00080ED98E20E9427B789819A810E9427B78F -:1085E000488959896A897B8986EE98E20E94D6B8C3 -:1085F0008AE00E94234D2B96FFAD2B97FF2309F4B1 -:1086000066C01F3F69F5C092D808D092D908E092A1 -:10861000DA08F092DB082CEA35EC47E25EE36C8581 -:108620007D858E859F850F944D106093DC08709337 -:10863000DD088093DE089093DF082CEA35EC47E2F2 -:108640005EE3688979898A899B890F94E51760932D -:10865000E0087093E1088093E2089093E30837C044 -:1086600047E11402900111242A54374F3A83298399 -:10867000D9011B96CD92DD92ED92FC921E972CEAC9 -:1086800035EC47E25EE36C857D858E859F850F9492 -:108690004D10E981FA816787708B818B928B2CEA70 -:1086A00035EC47E25EE3688979898A899B890F9472 -:1086B000E517A981BA8153966D937D938D939C9311 -:1086C000569705C00E94311AA4CD0E947E9281E087 -:1086D00080933102C45BDF4F0FB6F894DEBF0FBE4C -:1086E000CDBFDF91CF911F910F91FF90EF90DF9061 -:1086F000CF90BF90AF909F908F907F906F905F9042 -:108700004F903F902F9008954C895D89452B09F437 -:1087100051C14DA05EA06FA078A4480E591E6A1EDC -:108720007B1E2DA13EA14FA158A5281B390B4A0B3A -:108730005B0BC501B4010F942D16A30192010F9498 -:108740005F1688849984AA84BB84820E931EA41E1B -:10875000B51E54E185169104A104B1040CF18CEE10 -:1087600088169104A104B1043CF490E889169104A0 -:10877000A104B10434F422C06BEE862E912CA12CFE -:10878000B12C88869986AA86BB862EEF30E040E021 -:1087900050E0281939094A095B0949015A0112C0F8 -:1087A00084E190E0A0E0B0E088879987AA87BB8742 -:1087B00054E1852E912CA12CB12C04C08886998679 -:1087C000AA86BB8686E69AE20E9427B768857985E5 -:1087D0008A859B850E94974D81E69AE20E9427B781 -:1087E000C501B4010E94974D4E895F89688D798DCE -:1087F0008AE59AE20E94D6B84A8D5B8D6C8D7D8D9C -:1088000083E59AE20E94D6B8AC89BD8913970CF42F -:10881000D1C0C501B4010F94EE0F20E030E040E874 -:1088200050E40F944D106B017C012E893F89488DD7 -:10883000598D6A8D7B8D8C8D9D8D0F94EA162BED55 -:108840003FE049E450E40F944D1020E030E040E078 -:108850005FE30F944D109B01AC01C701B6010F946B -:10886000E5176B017C01C301B2010F94EE0F2FE6F7 -:1088700032E143E85AE30F944D102B013C01B7015C -:10888000A6018DE49AE20E94D6B8B301A20187E462 -:108890009AE20E94D6B81F3F09F044C02DEC3CEC90 -:1088A0004CE45EE3C701B6010F944D106B017C01EF -:1088B0009B01AC010F94EB16A30192010F94E517F5 -:1088C0006C877D878E879F87A7019601C301B201C0 -:1088D0000F944D1020E030E040E450E40F94E51791 -:1088E000688B798B8A8B9B8B87E39AE20E9427B7F0 -:1088F000B701A60181E39AE20E94D6B84C855D8556 -:108900006E857F858BE29AE20E94D6B848895989A4 -:108910006A897B8985E29AE20E94D6B88AE00E9441 -:10892000234D4AC024962CAD3DAD4EAD5FAD24978E -:10893000C701B6010F944D106B017C019B01AC0186 -:10894000C301B2010F944D102CAD3DAD4EAD5FADE6 -:108950000F944D10688B798B8A8B9B8BA7019601A6 -:10896000C701B6010F94EB16A30192010F94E5170E -:108970006C877D878E879F8785E19AE20E9427B763 -:10898000B701A6018FE09AE20E94D6B84C855D85BA -:108990006E857F8589E09AE20E94D6B84889598918 -:1089A0006A897B8983E09AE20E94D6B88AE00E94B5 -:1089B000234D11C01F3F79F488859985AA85BB8511 -:1089C000880D991DAA1DBB1DB595A79597958795EF -:1089D0008093D70811C088859985AA85BB85880DA5 -:1089E000991DAA1DBB1DB595A795979587952A96A4 -:1089F000EEADFFAD2A9780832C893D892F5F3F4FD5 -:108A00003D8B2C8B3D813E8B4E814F8B5F81588FF0 -:108A10002D968FAD2D97898F49805A806B807C80F1 -:108A200091E098A3C0CCE12E012E000CFF08F701C5 -:108A300083E0EE0FFF1F8A95E1F7E25FFD4F66814D -:108A400077816F507109072E000C880B990B0F94DA -:108A5000EE0F9B01AC016D817E818F812D969FADC4 -:108A60002D970F944B1918160CF400CB8EE69AE252 -:108A70000E9427B70E947E9287E18E9DF0018F9D14 -:108A8000F00D1124EA54F74F8FE7828722E330E09C -:108A900015CB2F923F924F925F926F927F928F925F -:108AA0009F92AF92BF92CF92DF92EF92FF920F937D -:108AB0001F93CF93DF93EB01FC0180809180A28014 -:108AC000B380C501B40120E831E541E050E00F94E6 -:108AD0003D16C9016DE671E00F94AE166B017C0185 -:108AE000C501B40120E13EE040E050E00F943D16A6 -:108AF000CA01B90128E130E040E050E00F943D1692 -:108B0000362E272E062F172F8CE3482E512C612C42 -:108B1000712CC501B401A30192010F943D16B62E2C -:108B2000A72ECA01B901A30192010F943D16CB01F2 -:108B3000C114D104D9F0AF92BF927F936F932F925B -:108B40003F92FF92EF92DF92CF928CEB98E29F934D -:108B50008F93DF93CF930F947F0F8DB79EB70E96B1 -:108B60000FB6F8949EBF0FBE8DBF5CC0E114F10438 -:108B7000C9F0AF92BF927F936F932F923F92FF9273 -:108B8000EF928CEA98E29F938F93DF93CF930F94A9 -:108B90007F0FEDB7FEB73C960FB6F894FEBF0FBE41 -:108BA000EDBF40C0012BB9F0AF92BF927F936F939E -:108BB0002F923F9280EA98E29F938F93DF93CF9317 -:108BC0000F947F0F8DB79EB70A960FB6F8949EBF8D -:108BD0000FBE8DBF27C0892BA9F0AF92BF927F93A4 -:108BE0006F9388E998E29F938F93DF93CF930F94CD -:108BF0007F0FEDB7FEB738960FB6F894FEBF0FBEE5 -:108C0000EDBF10C0AF92BF9284E998E29F938F931B -:108C1000DF93CF930F947F0F0F900F900F900F90D3 -:108C20000F900F90DF91CF911F910F91FF90EF90D8 -:108C3000DF90CF90BF90AF909F908F907F906F907C -:108C40005F904F903F902F9008958F929F92AF9298 -:108C5000BF92CF92DF92EF92FF920F931F93CF9329 -:108C6000DF93CDB7DEB7E6970FB6F894DEBF0FBE41 -:108C7000CDBF0091A8181091A91882E08093FD0A39 -:108C8000F80101900020E9F731975F01A01AB10ABD -:108C9000F801CF01801B910B8A159B0534F480816C -:108CA0008F3209F410823196F4CF8BE1E8E7FAE1D4 -:108CB000DE015C9601900D928A95E1F7E12CF12C92 -:108CC000EA14FB040CF084C0F801EE0DFF1D808156 -:108CD000811103C08FEFE81AF80A6801CE0CDF1C7F -:108CE000F6018081882309F473C0FFEFEF1AFF0AB1 -:108CF000F801EE0DFF1D7F01E01AF10A819181114B -:108D0000FACFCE014C960E9449958BE1FE017C96EC -:108D1000DE01119601900D928A95E1F7A601BE0140 -:108D20006F5F7F4F80E090E00E94F659CE01019680 -:108D30000E947F968FE20E94234D8091A00D8111A9 -:108D400003C08DE297E002C080EA9DE04C01F4018F -:108D500081914F01882319F00E94234DF8CF809113 -:108D6000CC1C84FF35C019821C8221E0A601BE0103 -:108D7000645E7F4FCE0101960E94629A811116C0F7 -:108D80008AE00E94234D0E940BB980E898E20E947D -:108D900027B7F60181916F01882319F00E94234DB6 -:108DA000F8CFCE0101960E947F9612C0CE014C965C -:108DB0000E9476968BE1FE013196DE015C96019071 -:108DC0000D928A95E1F7CE0101960E947F9678CFA9 -:108DD0008AE00E94234DCE014C960E947F96E69633 -:108DE0000FB6F894DEBF0FBECDBFDF91CF911F91BC -:108DF0000F91FF90EF90DF90CF90BF90AF909F903A -:108E00008F9008959091CC1C93FB882780F993FF55 -:108E100006C081E09091221A911101C080E008956E -:108E2000E0E2F8E18081818387E798E20E9427B73A -:108E30008091A4189091A518A091A618B091A71898 -:108E4000BC01CD016F5F7F4F8F4F9F4F0E94974DA9 -:108E50000E94284E0C9458C70F931F93CF938C01F8 -:108E6000C62F0E9407B9C8010E9427B76091A418B5 -:108E70007091A5188091A6189091A7180E94974DFF -:108E80000E94284EC11104C00E943B4E0196E1F79A -:108E90000E9410C7EC2FEE0FFF0BEE55F74E11821C -:108EA0001082CF911F910F91089563E00C94786424 -:108EB000CF93DF93E0918B0AF0E0EA57F44E808184 -:108EC000882309F447C082E39BE20E9427B7C09140 -:108ED0008B0A80E6C89FE0011124C55FD64F8881C8 -:108EE0008E3479F480E20E94234D89910E94234DB3 -:108EF000899190ED980F9A30C8F38D32B9F38B3287 -:108F0000A9F38FE29BE20E9427B78091961A909175 -:108F1000971A891B8F706FE070E0681B7109072E2C -:108F2000000C880B990B0E94974D8CE29BE20E94EB -:108F300027B780918C0A64E070E0681B7109072EE6 -:108F4000000C880B990B0E94974D8AE0DF91CF911E -:108F50000C94234DDF91CF91089590910809E92F4A -:108F6000F0E0EA57F44E80839F5F943018F49093BA -:108F7000080902C01092080980918C0A8F5F8093C3 -:108F80008C0A0895CF93DF93EC018881882349F1FF -:108F90008A3039F18D3029F18B33F9F080918C0AC8 -:108FA0008430D8F48091080920E6829FC001112402 -:108FB000BE01855F964F0F94491A80E00E94ADC7AD -:108FC0000E940BB9BE018FE19BE20E94F4B88CE1D4 -:108FD0009BE2DF91CF910C9427B780E00E944F4E27 -:108FE000D4CFDF91CF9108955F926F927F928F924D -:108FF0009F92AF92BF92CF92DF92EF92FF920F9328 -:109000001F93CF93DF93CDB7DEB76DB67EB67C01ED -:1090100000E010E08DB69EB6F701E00FF11F54900E -:10902000C80101965C01552029F09AE0591611F00B -:109030008501F2CF8DB79EB78A199B090FB6F894B8 -:109040009EBF0FBE8DBF01966C01A801B7010F94A2 -:10905000210FF601E00FF11F1082C6010E94C2C766 -:10906000552041F0EA0CFB1C0FB6F8949EBE0FBED3 -:109070008DBED0CF0FB6F8947EBE0FBE6DBEDF9111 -:10908000CF911F910F91FF90EF90DF90CF90BF9005 -:10909000AF909F908F907F906F905F9008958F9288 -:1090A0009F92AF92BF92CF92DF92EF92FF920F9377 -:1090B0001F93CF931092A9181092A8182FE3209312 -:1090C000CA181092C9181092C8181092C418109299 -:1090D000C5181092C6181092C7189C01F90190810A -:1090E0002F5F3F4F9032D1F39E34C9F4818190EDD0 -:1090F000980F9A3020F08D3211F08B3281F4DF011D -:1091000012969D012F5F3F4F8C9180538A3010F44F -:10911000D901F7CFFD01119680818032D9F3F09308 -:109120006A0BE093690B8F010F5F1F4FC0816AE2EA -:1091300070E0C8010F943E1A009731F0FC0131979E -:1091400080818032E1F31182CD3429F0C43519F0E9 -:10915000C73409F000C1F80180810F5F1F4F8032D2 -:10916000D1F380538A3008F0F6C0C093CA18109229 -:10917000C9181092C8184AE08091C8189091C9186F -:10918000489F9001499F300D11243093C9182093B6 -:10919000C8183196DF0111978C91082E000C990B9D -:1091A000C097820F931F9093C9188093C81820818D -:1091B00020532A3008F3DF0131962C912032D9F365 -:1091C000CD34D1F48E31910591F03CF48731910585 -:1091D00071F08C31910581F40AC08537910564F0F6 -:1091E0008737910524F0803A23E0920729F4B09361 -:1091F000A918A093A818AFC01092A9181092A81887 -:109200001091690BC12CD12C7601C394FD013196CC -:109210004C91442309F49FC04132A1F4CD3491F420 -:109220008032910579F4F093A918E093A81863E2CD -:1092300070E0CF010F943E1A009709F48CC0FC0136 -:10924000108289C041544A3108F059C0BF01FB0166 -:1092500020816F5F7F4F2032D1F330ED320F3A30F3 -:1092600010F12E3211F421810CC02D3211F02B326D -:1092700059F4218130ED320F3A30A8F02E3221F42A -:10928000228120532A3078F02091A8183091A91813 -:10929000232B09F05DC09F01215031093093A9189B -:1092A0002093A81855C09F01A42FB0E04601570194 -:1092B00004C0880C991CAA1CBB1C4A95D2F7B501A6 -:1092C000A4018090C4189090C518A090C618B090C2 -:1092D000C718482959296A297B294093C4185093F3 -:1092E000C5186093C6187093C7182115310511F081 -:1092F000211B01C020E0A655B74E2C930AC0209137 -:10930000A8183091A918232B21F4B093A918A09381 -:10931000A818208121542A3110F4DF0177CFAF0142 -:10932000FA01DA012D912223C1F330ED320F3A30E8 -:1093300010F4AD01F5CF33ED320F3230D0F32B32D4 -:10934000C1F3FA014F5F5F4F20812032D1F3E5CFA7 -:1093500020E030E0A9CFCF911F910F91FF90EF90C7 -:10936000DF90CF90BF90AF909F908F9008952F92F5 -:109370003F924F925F926F927F928F929F92AF92A5 -:10938000BF92CF92DF92EF92FF920F931F93CF93F2 -:10939000DF93CDB7DEB7C454D1090FB6F894DEBF62 -:1093A0000FBECDBF9AA789A77CAB6BAB142FDB0197 -:1093B0008D909D90AD90BC9013972401350177FA64 -:1093C000709477F870941496CD90DD90ED90FC90A9 -:1093D0001797A701960150582D8B3E8B4F8B588FB6 -:1093E000A3019201C301B2010F944D106D8F7E8FC6 -:1093F0008F8F98A32D893E894F89588DCA01B90155 -:109400000F944D109B01AC016D8D7E8D8F8D98A1B9 -:109410000F94EB160F9499196DAB7EAB8FAB98AF91 -:109420008091780B9091790BA0917A0BB0917B0B86 -:109430008D8F9E8FAF8FB8A39C01AD01C501B40184 -:109440000F94EB1669AF7AAF8BAF9CAF20917C0B7A -:1094500030917D0B40917E0B50917F0B2DA33EA34D -:109460004FA358A7C701B6010F94EB1621966CAF16 -:109470007DAF8EAF9FAF2197A9A5BAA58D919D9184 -:109480000D90BC91A02D89A39AA3ABA3BCA329AD39 -:109490003AAD4BAD5CADBC01CD010F94EA166B014A -:1094A0007C01A9A5BAA514962D913D914D915C9191 -:1094B00017972BA73CA74DA75EA721962CAD3DADD6 -:1094C0004EAD5FAD21976BA57CA58DA59EA50F9494 -:1094D000EA164B015C012091800B3091810B409189 -:1094E000820B5091830B25962CAF3DAF4EAF5FAFF3 -:1094F0002597A9A5BAA518966D917D918D919C91FE -:109500001B970F94EA16698F7A8F8B8F9C8FA70118 -:109510009601C301B2010F944D106FA778AB89ABD0 -:109520009AABA50194016D897E898F89988D0F94DE -:109530004D109B01AC016FA578A989A99AA90F9438 -:10954000EB166FA778AB89AB9AABA5019401C30169 -:10955000B2010F944D104B015C01A70196016D897A -:109560007E898F89988D0F944D109B01AC01C501A8 -:10957000B4010F94EA162FA538A949A95AA90F9446 -:109580006A176B017C0120E030E0A9010F94E70F1E -:1095900087FF0AC02BED3FE049EC50E4C701B6015C -:1095A0000F94EB166B017C012BED3FE049EC50E48E -:1095B000C701B6010F94E51720E030E040EC51E41C -:1095C0000F944D100F94C9170F945E181B01672B51 -:1095D00019F422242394312C112351F02BED3FE078 -:1095E00049EC50E4C701B6010F94EA166B017C0107 -:1095F00020E030E0A901C701B6010F94E70F811107 -:1096000023C029A13AA14BA15CA16D8D7E8D8F8DC8 -:1096100098A10F94E70F811117C02BA53CA54DA56C -:109620005EA56DA17EA18FA198A50F94E70F811172 -:109630000BC038E1232E312C4BEDC42E4FE0D42E3D -:1096400049ECE42E40E4F42E2DA93EA94FA958ADD3 -:10965000C701B6010F944D104B015C0120E030E0D2 -:10966000A901698D7A8D8B8D9C8D0F94E70F8823CE -:10967000D9F0A5019401C501B4010F944D104B011F -:109680005C01298D3A8D4B8D5C8DCA01B9010F9417 -:109690004D109B01AC01C501B4010F94EB160F9462 -:1096A00099194B015C010DC020E030E0A901C50112 -:1096B000B4010F944B1987FF04C0B7FAB094B7F800 -:1096C000B0942FE632E143E85AE3C501B4010F94A8 -:1096D000E70F87FDFCC12091840B3091850B4091F1 -:1096E000860B5091870B29A33AA34BA35CA3C5011A -:1096F000B4010F948D180F945E187EA36DA36215AC -:10970000730510F43EA22DA2ADA1BEA1BD0180E063 -:1097100090E00F94EC0F4B015C019B01AC01C70181 -:10972000B6010F94E5176D8F7E8F8F8F98A3A501DB -:109730009401698D7A8D8B8D9C8D0F94E5176DAB9F -:109740007EAB8FAB98AF29A13AA14BA15CA1E9A553 -:10975000FAA564857585868597850F94EA16A50117 -:1097600094010F94E5176FA778AB89AB9AAB2D8D59 -:109770003E8D4F8D58A1CA01B9010F944D1020E0C4 -:1097800030E040E05FE30F944D109B01AC0160E0DE -:1097900070E080E89FE30F94EA166BA77CA78DA783 -:1097A0009EA725962CAD3DAD4EAD5FAD2597298783 -:1097B0003A874B875C8789A19AA1ABA1BCA18D8711 -:1097C0009E87AF87B88B60916D0270916E02072EF5 -:1097D000000C880B990B0F94EE0F20914F023091E3 -:1097E000500240915102509152020F944D102AE0C4 -:1097F00037ED43E25CE30F944D10698B7A8B8B8BD2 -:109800009C8B0E94EE689B01AC0128533F4F4F4F49 -:109810005F4F29A33AA34BA35CA322242394312CAA -:1098200039E1398F4DA15EA12416350608F021C11A -:109830000E9481F50E94EE68DC01CB0129A13AA1CA -:109840004BA15CA1821B930BA40BB50BB7FD0FC002 -:109850000E94EE689B01AC0128533F4F4F4F5F4F72 -:1098600029A33AA34BA35CA380E00E944F4E398DFD -:109870003150398F3323E9F12BA53CA54DA55EA5C9 -:109880006D897E898F89988D0F944D106B017C01B5 -:109890002D8D3E8D4F8D58A1C301B2010F944D10F7 -:1098A000A70196010F94EB166B017C012BA53CA53B -:1098B0004DA55EA5C301B2010F944D104B015C0193 -:1098C0002D8D3E8D4F8D58A16D897E898F89988D04 -:1098D0000F944D109B01AC01C501B4010F94EA1621 -:1098E0002B013C01C601D7018D8B9E8BAF8BB88FAE -:1098F00066C0B10180E090E00F94EC0F2D8D3E8D9D -:109900004F8D58A10F944D106B017C010F94E017FF -:109910006D8B7E8B8F8B988FC701B6010F948B193F -:109920004B015C01ABA9BCA9CD90DD90ED90FC9002 -:109930001397F7FAF094F7F8F09414962D913D915F -:109940004D915C911797298F3A8F4B8F5C8FA701B0 -:1099500096016D897E898F89988D0F944D102B010A -:109960003C01298D3A8D4B8D5C8DC501B4010F945E -:109970004D109B01AC01C301B2010F94EB162B01FA -:109980003C01A7019601C501B4010F944D106B0174 -:109990007C01298D3A8D4B8D5C8D6D897E898F89F7 -:1099A000988D0F944D109B01AC01C701B6010F9427 -:1099B000EA166D8B7E8B8F8B988FB9E1B98F29ADAD -:1099C0003AAD4BAD5CADC301B2010F94EB166983A8 -:1099D0007A838B839C8321962CAD3DAD4EAD5FADDC -:1099E00021976D897E898F89988D0F94EB166D83F1 -:1099F0007E838F8398872DA93EA94FA958AD69858D -:109A00007A858B859C850F94EB1669877A878B877F -:109A10009C872FA538A949A95AA96D857E858F8570 -:109A200098890F94EB166D877E878F87988BCE0170 -:109A300001960E948EDEA12CB12C90E8C92E9FE3E6 -:109A4000D92EE090770B8E010F5E1F4F9E01235F92 -:109A50003F4FAE01475F5F4FBE016B5F7F4FCE014F -:109A600001960E9494DB882321F0EFEF2E1A3E0A24 -:109A7000D9CE80E1E9A5FAA5DE01119601900D92FB -:109A80008A95E1F7CE0101960E948EDEA12CB12CC1 -:109A900080E8C82E8FE3D82EE090770B8E010F5E02 -:109AA0001F4F9E01235F3F4FAE01475F5F4FBE01D7 -:109AB0006B5F7F4FCE0101960E9494DB80E1FE0137 -:109AC0003196A8E7BBE001900D928A95E1F7CC5B57 -:109AD000DF4F0FB6F894DEBF0FBECDBFDF91CF9141 -:109AE0001F910F91FF90EF90DF90CF90BF90AF90BC -:109AF0009F908F907F906F905F904F903F902F90AE -:109B000008950F931F93CF938C01C62F87E19BE29B -:109B10000E9427B7C8010E9427B78AE30E94234DFD -:109B20006C2F70E080E090E00E94974DCF911F91E4 -:109B30000F910C94284EEF92FF921F93CF93DF93D7 -:109B4000CDB7DEB7C454D1090FB6F894DEBF0FBE4F -:109B5000CDBF84E40E94D57E882309F44DC18DE0F9 -:109B60009BE20E9427B72091D9183091DA184091D2 -:109B7000DB185091DC186091780B7091790B809113 -:109B80007A0B90917B0B0F94EB1669AF7AAF8BAF8A -:109B90009CAF2091DD183091DE184091DF18509174 -:109BA000E01860917C0B70917D0B80917E0B909101 -:109BB0007F0B0F94EB1621966CAF7DAF8EAF9FAFEE -:109BC00021972091E1183091E2184091E3185091CB -:109BD000E4186091800B7091810B8091820B9091C1 -:109BE000830B0F94EB1625966CAF7DAF8EAF9FAFB6 -:109BF0002597CE01C9960E9455C784E09BE20E943A -:109C000027B788E79BE00E9455C78091780B909119 -:109C1000790BA0917A0BB0917B0B8DA79EA7AFA774 -:109C2000B8AB80917C0B90917D0BA0917E0BB09195 -:109C30007F0B89AB9AABABABBCAB8091800B9091A7 -:109C4000810BA091820BB091830B8DAB9EABAFAB20 -:109C5000B8AF8BEF9AE20E9427B7AE014B5C5F4F23 -:109C6000BE016F5C7F4FCE018D960E9458DBCE0106 -:109C70008D960E9455C782EF9AE20E9427B78DA564 -:109C80009EA5AFA5B8A989A39AA3ABA3BCA389A994 -:109C90009AA9ABA9BCA98DA39EA3AFA3B8A78DA970 -:109CA0009EA9AFA9B8AD89A79AA7ABA7BCA7CE01BB -:109CB00081960E9424DBCE0181960E9455C70E94A6 -:109CC00013D989EE9AE20E9427B780EEE82E82E04F -:109CD000F82E10E080E20E94234DF70181917F0170 -:109CE0000E94234D8AE30E94234D812F0E94C0F9D8 -:109CF0000E94974D1F5F143069F78AE00E94234D40 -:109D000080EE9AE20E9427B70E943FE380916B0B9E -:109D100090916C0BA0916D0BB0916E0B898B9A8B0F -:109D2000AB8BBC8B80916F0B9091700BA091710BE2 -:109D3000B091720B8D8B9E8BAF8BB88F8091730B14 -:109D40009091740BA091750BB091760B898F9A8FBF -:109D5000AB8FBC8F83E00E9491DA6D8F7E8F8F8FE7 -:109D600098A364E0CE0141960E9478642DA53EA59B -:109D70004FA558A969897A898B899C890F94EA161D -:109D800069837A838B839C8329A93AA94BA95CA90F -:109D90006D897E898F89988D0F94EA166D837E83F5 -:109DA0008F8398872DA93EA94FA958AD698D7A8DCB -:109DB0008B8D9C8D0F94EA1669877A878B879C8799 -:109DC0002091840B3091850B4091860B5091870B2D -:109DD0006D8D7E8D8F8D98A10F94EA166D877E878D -:109DE0008F87988B87ED9AE20E9427B764E0CE01B7 -:109DF00001960E94786404C00E9413D90E945DE31A -:109E0000CC5BDF4F0FB6F894DEBF0FBECDBFDF9146 -:109E1000CF911F91FF90EF900895CF93DF93C09162 -:109E20008B0A80E6C89FE0011124C55FD64F809160 -:109E30002A1280FF05C00E940BB9CE010E942E4E4F -:109E4000CE010E944FC880E0DF91CF910C9438364C -:109E5000CF92DF92EF92FF920F931F93CF93DF93F6 -:109E6000CDB7DEB7CE5AD1090FB6F894DEBF0FBE1C -:109E7000CDBFCF55DF4F188219821A821B82C15A7B -:109E8000D0408091650790916607A0916707B091D7 -:109E90006807CB55DF4F88839983AA83BB83C55A54 -:109EA000D040C755DF4F19821882C95AD04084E686 -:109EB00090E0C555DF4F99838883CB5AD0401092EC -:109EC00077199E0127553F4F44E050E0BE016B5586 -:109ED0007F4FCE0185559F4F0E94CF4CC555DF4F18 -:109EE00088819981CB5AD0400296C555DF4F99831E -:109EF0008883CB5AD040C755DF4F19821882C95A80 -:109F0000D04081E0C255DF4F8883CE5AD0409E01B9 -:109F100027553F4F41E050E0BE0162557F4FCE01D3 -:109F200085559F4F0E94CF4C9E0127553F4F48E4D7 -:109F300050E069ED71E1CE0185559F4F0E94CF4CF5 -:109F40008E010F5F1F4F80E1F80111928A95E9F7AA -:109F500080E090E0A0EAB0E489839A83AB83BC837D -:109F60009E0127553F4F40E150E0B801CE01855595 -:109F70009F4F0E94CF4C9E0127553F4F44E050E039 -:109F800063E171E1CE0185559F4F0E94CF4C9E0148 -:109F900027553F4F4CE050E06CEF78E0CE018555FF -:109FA0009F4F0E94CF4C9E0127553F4F41E050E00C -:109FB00066E572E0CE0185559F4F0E94CF4C9E0111 -:109FC00027553F4F44E050E06FE672E0CE018555E3 -:109FD0009F4F0E94CF4C8091910B9091920BA0913A -:109FE000930BB091940B89839A83AB83BC839E01BE -:109FF00027553F4F44E050E0B801CE0185559F4FB3 -:10A000000E94CF4C7E01FDE6EF0EF11C85E0F701CA -:10A01000808389839E0127553F4F44E050E061EFE4 -:10A0200078E1CE0185559F4F0E94CF4C9E01275568 -:10A030003F4F41E050E0B701CE0185559F4F0E9450 -:10A04000CF4C9E0127553F4F41E050E0B801CE0173 -:10A0500085559F4F0E94CF4C9E0127553F4F44E6A8 -:10A0600050E065EF78E1CE0185559F4F0E94CF4CBF -:10A070008CE0F80111928A95E9F79E0127553F4F30 -:10A0800044E050E0B801CE0185559F4F0E94CF4C6F -:10A090009E0127553F4F44E050E0BE016B5F7F4F6C -:10A0A000CE0185559F4F0E94CF4C9E0127553F4FB3 -:10A0B00044E050E0BE01675F7F4FCE0185559F4F62 -:10A0C0000E94CF4CCF55DF4F188219821A821B8213 -:10A0D000C15AD0403AE0D32EDA94DD2071F09E01CF -:10A0E00027553F4F44E050E0BE016F557F4FCE01F2 -:10A0F00085559F4F0E94CF4CEFCF83E0C355DF4F74 -:10A100008883CD5AD040C356DF4F8883CD59D04085 -:10A11000F701108211821282138219821A821B8225 -:10A120001C82CF55DF4F188219821A821B82C15AB6 -:10A13000D0409E0127553F4F41E050E0BE0163559E -:10A140007F4FCE0185559F4F0E94CF4C9E012755D2 -:10A150003F4F41E050E0BE0163567F4FCE01855531 -:10A160009F4F0E94CF4C9E0127553F4F44E050E047 -:10A17000B801CE0185559F4F0E94CF4C9E012755B7 -:10A180003F4F44E050E0B701CE0185559F4F0E94FC -:10A19000CF4C2AE0C22ED12CF1E0CF1AD10871F0B9 -:10A1A0009E0127553F4F44E050E0BE016F557F4F61 -:10A1B000CE0185559F4F0E94CF4CEECFF701108204 -:10A1C0008FEF89839E0127553F4F41E050E0B70153 -:10A1D000CE0185559F4F0E94CF4C9E0127553F4F82 -:10A1E00041E050E0B801CE0185559F4F0E94CF4C11 -:10A1F00080E1D82EF8018D2D11928A95E9F79E0104 -:10A2000027553F4F40E150E0B801CE0185559F4FA3 -:10A210000E94CF4C19829E0127553F4F41E050E0EC -:10A22000B801CE0185559F4F0E94CF4C8091FD0211 -:10A230009091FE02A091FF02B0910003F70180838C -:10A240009183A283B3838091010390910203A09133 -:10A250000303B091040389839A83AB83BC83C35601 -:10A26000DF4F1882CD59D040C256DF4F1882CE59E9 -:10A27000D0409E0127553F4F44E050E0B701CE014A -:10A2800085559F4F0E94CF4C9E0127553F4F44E07C -:10A2900050E0B801CE0185559F4F0E94CF4C9E01E2 -:10A2A00027553F4F42E050E0BE0163567F4FCE013D -:10A2B00085559F4F0E94CF4CF8011192DA94E9F72F -:10A2C00080E090E0A0E8BFE38D879E87AF87B88BE2 -:10A2D0008091C1089091C208A091C308B091C408B0 -:10A2E00089839A83AB83BC838091C5089091C6080B -:10A2F000A091C708B091C8088D839E83AF83B887AB -:10A300008091C9089091CA08A091CB08B091CC085F -:10A3100089879A87AB87BC879E0127553F4F40E1CD -:10A3200050E0B801CE0185559F4F0E94CF4C84E18B -:10A3300090E09A8389839E0127553F4F42E050E089 -:10A34000B801CE0185559F4F0E94CF4C9E012755E5 -:10A350003F4F4CE050E068ED78E0CE0185559F4FCF -:10A360000E94CF4C8FE790E09A8389839E01275506 -:10A370003F4F42E050E0B801CE0185559F4F0E940B -:10A38000CF4C81E089839E0127553F4F41E050E04B -:10A39000B801CE0185559F4F0E94CF4C80E2E5E089 -:10A3A000F3E0D80101900D928A95E1F79E012755BF -:10A3B0003F4F40E250E0B801CE0185559F4F0E94CB -:10A3C000CF4CF70110829E0127553F4F41E050E0EE -:10A3D000B701CE0185559F4F0E94CF4C9E01275556 -:10A3E0003F4F41E050E069E579E1CE0185559F4F4F -:10A3F0000E94CF4C9E0127553F4F48E050E062E657 -:10A4000079E1CE0185559F4F0E94CF4C8AE1F8013A -:10A4100011928A95E9F79E0127553F4F4AE150E096 -:10A42000B801CE0185559F4F0E94CF4C84E3E5E2F1 -:10A43000F3E0D80101900D928A95E1F79E0127552E -:10A440003F4F44E350E0B801CE0185559F4F0E9435 -:10A45000CF4C88E0F80111928A95E9F79E012755C3 -:10A460003F4F48E050E0B801CE0185559F4F0E9414 -:10A47000CF4C8DE0F80111928A95E9F79E0127559E -:10A480003F4F4DE050E0B801CE0185559F4F0E94EF -:10A49000CF4C9E0127553F4F48E050E06FE271E1FD -:10A4A000CE0185559F4F0E94CF4C9CE0D92EF801DC -:10A4B0008D2D11928A95E9F79E0127553F4F4CE06B -:10A4C00050E0B801CE0185559F4F0E94CF4C8CE6DD -:10A4D000F80111928A95E9F79E0127553F4F4CE606 -:10A4E00050E0B801CE0185559F4F0E94CF4C9E0190 -:10A4F00027553F4F4CE050E06DEC78E1CE0185559B -:10A500009F4F0E94CF4C9E0127553F4F40E150E0A6 -:10A510006AE17DE1CE0185559F4F0E94CF4C9E019F -:10A5200027553F4F48E150E06BE272E1CE0185557F -:10A530009F4F0E94CF4CF7011192DA94E9F7C3556F -:10A54000DF4F1882CD5AD04080E090E0A0E4B0E424 -:10A55000C356DF4F88839983AA83BB83CD59D040EC -:10A560009E0127553F4F44E050E0B701CE0185558D -:10A570009F4F0E94CF4C9E0127553F4F44E050E033 -:10A58000B7016C5F7F4FCE0185559F4F0E94CF4C26 -:10A590009E0127553F4F44E050E0B701685F7F4F71 -:10A5A000CE0185559F4F0E94CF4C9E0127553F4FAE -:10A5B00041E050E0BE0163557F4FCE0185559F4F6E -:10A5C0000E94CF4C9E0127553F4F44E050E0BE0112 -:10A5D00063567F4FCE0185559F4F0E94CF4C80E33D -:10A5E000F70111928A95E9F781E397E00E942E4ED8 -:10A5F0009E0127553F4F40E350E0B701CE018555FE -:10A600009F4F0E94CF4C10917719111155C0C5551D -:10A61000DF4FC880D980CB5AD040F4E6CF1AD1089A -:10A62000C755DF4F88819981C95AD040F70191837E -:10A63000808384E690E0C555DF4F99838883CB5AA9 -:10A64000D0409E0127553F4F44E050E069E873E059 -:10A65000CE0185559F4F0E94CF4C9E0127553F4FFD -:10A6600042E050E0B701CE0185559F4F0E94CF4C8C -:10A670000E940BB9B60188E99BE20E94C9B8F701B4 -:10A680004081518160E070E08BE89BE20E94B8B8A5 -:10A6900088E89BE20E9427B7C114F3E0DF0639F097 -:10A6A0000E9407B98CEB9CE20E9427B711E08091D1 -:10A6B0007719182B1093771985E497E00E942E4E96 -:10A6C0009091771981E08927C255DF4F0FB6F89432 -:10A6D000DEBF0FBECDBFDF91CF911F910F91FF90D5 -:10A6E000EF90DF90CF900895CF92DF92EF92FF929C -:10A6F0001F93CF93DF93CDB7DEB760970FB6F89473 -:10A70000DEBF0FBECDBF8091780B9091790BA091E9 -:10A710007A0BB0917B0B89839A83AB83BC83809146 -:10A720007C0B90917D0BA0917E0BB0917F0B8D8364 -:10A730009E83AF83B8878091800B9091810BA0910D -:10A74000820BB091830B89879A87AB87BC878091F6 -:10A75000840B9091850BA091860BB091870B8D8710 -:10A760009E87AF87B88B0E949CD80E94FEDB10E0CA -:10A77000812F0E9456DE812F0E94FAE11F5F133065 -:10A78000B9F76091161D7091171D8091181D909159 -:10A79000191D0E94E46223EF34E045E35FE360911A -:10A7A00013117091141180911511909116110F943D -:10A7B0004D106B017C016091E5117091E611809163 -:10A7C000E7119091E8110F94EC0F9B01AC01C701C8 -:10A7D000B6010F944D1029E732E84AE550E40F9492 -:10A7E0004D100F94991960932B1170932C11809335 -:10A7F0002D1190932E110E94747B40E150E068E788 -:10A800007BE0CE0101960F940A1A892B79F06096AD -:10A810000FB6F894DEBF0FBECDBFDF91CF911F9171 -:10A82000FF90EF90DF90CF900C945DE360960FB6B1 -:10A83000F894DEBF0FBECDBFDF91CF911F91FF9087 -:10A84000EF90DF90CF9008950F931F9380915C124B -:10A85000813019F40E94EE6808C06091581270911E -:10A86000591280915A1290915B120091801D1091A3 -:10A87000811D2091821D3091831D601B710B820B05 -:10A88000930B28EE33E040E050E00F943D168091AA -:10A89000841D9091851DA091861DB091871DBC01DE -:10A8A000CD01620F731F841F951F1F910F91089593 -:10A8B00010925C121092801D1092811D1092821DC8 -:10A8C0001092831D109258121092591210925A121F -:10A8D00010925B121092841D1092851D1092861D9D -:10A8E0001092871D089580915C12813099F589E658 -:10A8F00097E00E942E4E81E09AE59093291B809369 -:10A90000281B87E590E090932B1B80932A1B87E000 -:10A9100080931C1B82E880931F1B84E890E0A0E0DA -:10A92000B0E08093201B9093211BA093221BB09337 -:10A93000231B0E94C1EB82E080935C120E94EE68B0 -:10A94000609358127093591280935A1290935B122D -:10A9500081E0089580E008958F929F92AF92BF9218 -:10A96000CF92DF92EF92FF920F931F93CF93DF93DB -:10A97000CDB7DEB72C970FB6F894DEBF0FBECDBFB4 -:10A980008B0140E050E068E472E44D835E836F83A6 -:10A99000788740E050E060EA70E449875A876B8727 -:10A9A0007C87813019F0823039F02AC0BE01675FA0 -:10A9B0007F4FC801089646C0F80120853185428541 -:10A9C00053856091800B7091810B8091820B9091E7 -:10A9D000830B0F94EB166B017C0120E030E048EC18 -:10A9E00053E40F94E70F87FD06C0C12CD12C88ECEF -:10A9F000E82E83E4F82EC982DA82EB82FC821DC045 -:10AA00008090800B9090810BA090820BB090830B74 -:10AA1000F801C084D184E284F3849601A701B401D3 -:10AA2000C5010F94E70F87FD02C064017501C601DF -:10AA3000D70189839A83AB83BC83BE01675F7F4F55 -:10AA4000CE0101960E9420E3B8016C5F7F4FAE01FA -:10AA50004B5F5F4FC8010E94FEE20E945DE32C96AF -:10AA60000FB6F894DEBF0FBECDBFDF91CF911F911F -:10AA70000F91FF90EF90DF90CF90BF90AF909F909D -:10AA80008F9008958091CC1C82FF2AC00E9402C73B -:10AA9000882319F18091C41C9091C51CA091C61CFB -:10AAA000B091C71C0097A105B105B9F0BC01CD015B -:10AAB0006D597F4F8F4F9F4F24E630E040E050E0CC -:10AAC0000F943D166091C81C7091C91C8091CA1CDE -:10AAD0009091CB1C0F943D1601C020E02093CC1820 -:10AAE0008091CC188F7708950F931F93CF93DF93A6 -:10AAF0008C0167FF03C01092670B60E08091670BC9 -:10AB000090E0262F062E000C330B2817390734F15E -:10AB10006093670BC8010F94350F800F911FEC01F4 -:10AB2000C01BD10BC034D1053CF00197FC0124912E -:10AB3000207C2038D1F3F3CFDD27AE01B80187E2C6 -:10AB40009BE00F94560FC95DD44F188287E29BE0BB -:10AB5000DF91CF911F910F910C944ABFDF91CF915C -:10AB60001F910F9108951092CB18109216028091A8 -:10AB7000CC1C80628093CC1C61E08FE59BE20E943C -:10AB800036B740E050E064E77BE285E00E940BB816 -:10AB90000E94EEA460E086E69BE20C9474D5CF930D -:10ABA000DF932091670B211120C0FC010190002050 -:10ABB000E9F73197EF01C81BD90BC034D1052CF050 -:10ABC0002291207C2038E1F3F5CFBC01DD27AE01D6 -:10ABD00087E29BE00F945E1AC95DD44F188287E22A -:10ABE0009BE0DF91CF910C944ABFDF91CF91089504 -:10ABF0008091CC1C82FD05C080915C12823069F48A -:10AC000011C08091A00D882319F080EA9DE002C058 -:10AC100082EE9DE061E00C94CFD5813031F486E482 -:10AC20009BE205C082E59BE202C085E39BE26FEFF9 -:10AC30000C9474D5FF920F931F93CF93DF938B01E6 -:10AC4000D82FC92FF42E20E030E048EC52E40F94C6 -:10AC5000E70F87FF0FC020E030E0A901B8018D2F7A -:10AC60009C2F0F944B1918164CF000E010E0D0E028 -:10AC7000C0E004C000E010E0D8ECC2E4B8018D2FC1 -:10AC80009C2F0F9457189B01AC01AFEFB0E00F94CD -:10AC90007E1624E630E040E050E00F945F16B901E4 -:10ACA0008F2DDF91CF911F910F91FF900C9483F91D -:10ACB000EFECF1E11082118212821382148280E0A3 -:10ACC0000C949E922F923F924F925F926F927F923E -:10ACD0008F929F92AF92BF92CF92DF92EF92FF92AC -:10ACE0000F931F93CF93DF93CDB7DEB762970FB665 -:10ACF000F894DEBF0FBECDBF588B4F87DC018D901F -:10AD00009D90AD90BC90DB018D919D910D90BC917B -:10AD1000A02D89839A83AB83BC8320E030E040EA96 -:10AD200050E4C501B4010F94EA1629E33EE843E676 -:10AD30005CE30F944D100F945718643014F063E0E7 -:10AD400002C067FD60E0E62E660FFF0887010F5F17 -:10AD50001F4F20E030E048EC51E469817A818B811B -:10AD60009C810F94EA1628E031E244E85CE30F94FA -:10AD70004D100F945718643014F063E002C067FD63 -:10AD800060E0262E660F3308F701EE0FFF1FEE0F6F -:10AD9000FF1FE156F44E408051806280738025E0B1 -:10ADA0002E9DF0012F9DF00D1124FE83ED83E20D09 -:10ADB000F31DEE0FFF1FEE0FFF1FEB50F74EC0808D -:10ADC000D180E280F380F801EE0FFF1FEE0FFF1F2E -:10ADD000E156F44EA30192016081718182819381D9 -:10ADE0000F94EA166F83788789879A87A301920167 -:10ADF000C501B4010F94EA166B877C878D879E8707 -:10AE0000A5E0A09FC001A19F900D11249A8B898B72 -:10AE1000FC01E20DF31DEE0FFF1FEE0FFF1FEB50C5 -:10AE2000F74EA701960160817181828193810F9411 -:10AE3000EA162F81388549855A850F94E5172B85A9 -:10AE40003C854D855E850F944D10A70196010F94AA -:10AE5000EB166B017C0181010F5F1F4FED81FE81BD -:10AE6000E00FF11FEE0FFF1FEE0FFF1FEB50F74E2D -:10AE70004080518062807380F101EE0FFF1FEE0F62 -:10AE8000FF1FE557F44E80809180A280B380E9894E -:10AE9000FA89E00FF11FEE0FFF1FEE0FFF1FEB50BF -:10AEA000F74EA301920160817181828193810F9499 -:10AEB000EA162F81388549855A850F94E5172B8529 -:10AEC0003C854D855E850F944D10A30192010F9432 -:10AED000EB16A70196010F94EA162B013C01000F17 -:10AEE000111F000F111FF801E557F44EA501940141 -:10AEF00060817181828193810F94EA169B01AC017C -:10AF0000C301B2010F94E5172B013C01A501940187 -:10AF100069817A818B819C810F94EA169B01AC0137 -:10AF2000C301B2010F944D10A70196010F94EB16C7 -:10AF3000EF85F88920813181428153810F944D1032 -:10AF40002091F1183091F2184091F3185091F418B3 -:10AF50000F94EB1662960FB6F894DEBF0FBECDBF0E -:10AF6000DF91CF911F910F91FF90EF90DF90CF90E5 -:10AF7000BF90AF909F908F907F906F905F904F9019 -:10AF80003F902F9008958F929F92AF92BF92CF9251 -:10AF9000DF92EF92FF92CF93DF93EC018090910BC1 -:10AFA0009090920BA090930BB090940B20E030E027 -:10AFB000A901C501B4010F94E70F882309F44AC021 -:10AFC000C880D980EA80FB80A7019601C501B40141 -:10AFD0000F94E70F18160CF042C02091880B3091A7 -:10AFE000890B40918A0B50918B0BC701B6010F94CE -:10AFF000E70F882331F1C092880BD092890BE09241 -:10B000008A0BF0928B0B20918C0B30918D0B409121 -:10B010008E0B50918F0B688179818A819B810F946F -:10B020004D109B01AC0160E070E080E89FE30F945D -:10B03000EA166093640270936502809366029093AF -:10B04000670260916402709165028091660290913E -:10B05000670208C060E070E080E89FE303C060E042 -:10B0600070E0CB01DF91CF91FF90EF90DF90CF9018 -:10B07000BF90AF909F908F9008958091961A909175 -:10B08000971A891B8F708F3021F480E00E944F4EF9 -:10B09000F4CF8091961A8F5F8F70E091961A94E5A5 -:10B0A0009E9FF0011124EF59FD4EDF011D929A95EC -:10B0B000E9F798E090834091BC1A5091BD1A6091D5 -:10B0C000BE1A7091BF1A458B568B678B708F40915B -:10B0D000C01A5091C11A6091C21A7091C31A418F5F -:10B0E000528F638F748F4091C41A5091C51A60912A -:10B0F000C61A7091C71A458F568F678F70A34091FB -:10B10000C81A5091C91A6091CA1A7091CB1A41A3FA -:10B1100052A363A374A32091961A9091971A2913AE -:10B1200003C094E69093931A8093961A80916F00CF -:10B13000826080936F000895CF92DF92EF92FF922A -:10B140000F931F93CF93DF93C9EDD1E107E111E195 -:10B15000C12CD12C7601C3946991799189919991EF -:10B160000F94EC0F288939894A895B890F944D1017 -:10B170000F945E18F80161937193819391938F01FD -:10B18000C616D706E806F90610F46B017C01F1E15A -:10B19000C93EDF0709F76FEF7FEFCB01A7019601EB -:10B1A0000F943D16209327113093281140932911B5 -:10B1B00050932A1123EF34E045E35FE360911311CC -:10B1C0007091141180911511909116110F944D10DA -:10B1D0006B017C016091E5117091E6118091E7119E -:10B1E0009091E8110F94EC0F9B01AC01C701B601DF -:10B1F0000F944D1029E732E84AE550E40F944D10C2 -:10B200000F94991960932B1170932C1180932D1129 -:10B2100090932E11DF91CF911F910F91FF90EF909E -:10B22000DF90CF9008959091961A8091971A981375 -:10B2300006C08091D7119091D811892B21F080E020 -:10B240000E944F4EF0CF0895CF92DF92EF92FF927F -:10B25000FC01C080D180E280F3802091F91130910F -:10B26000FA114091FB115091FC11C701B6010F94E6 -:10B270004D100F9458196093C81A7093C91A80938F -:10B28000CA1A9093CB1AC092B81AD092B91AE09207 -:10B29000BA1AF092BB1A9091961A8091971A981741 -:10B2A00031F0FF90EF90DF90CF900C943DD80E944A -:10B2B00013D980916F00982F927081FF05C0809103 -:10B2C0006F008D7F80936F004091C81A5091C91A0A -:10B2D0006091CA1A7091CB1A4093451D5093461D38 -:10B2E0006093471D7093481D992329F080916F004A -:10B2F000826080936F00FF90EF90DF90CF90089571 -:10B300008F929F92AF92BF92EF92FF920F931F93F3 -:10B31000CF93DF937B018A01E901FC01808091805A -:10B32000A280B3802091ED113091EE114091EF1188 -:10B330005091F011C501B4010F944D100F9458199C -:10B340006093BC1A7093BD1A8093BE1A9093BF1A73 -:10B350002091F1113091F2114091F3115091F411BB -:10B36000F70160817181828193810F944D100F9458 -:10B3700058196093C01A7093C11A8093C21A90939F -:10B38000C31A2091F5113091F6114091F7115091A7 -:10B39000F811F80160817181828193810F944D10C1 -:10B3A0000F9458196093C41A7093C51A8093C61AE3 -:10B3B0009093C71A2091F9113091FA114091FB1125 -:10B3C0005091FC11688179818A819B810F944D1085 -:10B3D0000F9458196093C81A7093C91A8093CA1AA7 -:10B3E0009093CB1A8092AC1A9092AD1AA092AE1A9A -:10B3F000B092AF1AF70180819181A281B3818093CD -:10B40000B01A9093B11AA093B21AB093B31AF8017C -:10B4100080819181A281B3818093B41A9093B51AEF -:10B42000A093B61AB093B71A88819981AA81BB817B -:10B430008093B81A9093B91AA093BA1AB093BB1A12 -:10B440009091961A8091971A981761F0DF91CF9199 -:10B450001F910F91FF90EF90BF90AF909F908F90B2 -:10B460000C943DD80E9413D980916F00982F927050 -:10B4700081FF05C080916F008D7F80936F004091A8 -:10B48000BC1A5091BD1A6091BE1A7091BF1A4093B8 -:10B49000391D50933A1D60933B1D70933C1D4091A4 -:10B4A000C01A5091C11A6091C21A7091C31A409388 -:10B4B0003D1D50933E1D60933F1D7093401D409174 -:10B4C000C41A5091C51A6091C61A7091C71A409358 -:10B4D000411D5093421D6093431D7093441D409144 -:10B4E000C81A5091C91A6091CA1A7091CB1A409328 -:10B4F000451D5093461D6093471D7093481D992329 -:10B5000029F080916F00826080936F00DF91CF916E -:10B510001F910F91FF90EF90BF90AF909F908F90F1 -:10B520000895CF93DF93C82F0E94C0F924E0C29FF3 -:10B53000E0011124CF55D84E0F94EE0F28813981A8 -:10B540004A815B810F944D10DF91CF9108959091C6 -:10B55000961A8091971A981306C08091D7119091EE -:10B56000D811892B21F080E00E944F4EF0CF5F9AD6 -:10B57000809180198E7F809380198A9A809180199A -:10B580008D7F8093801980910801809581708093D0 -:10B590000601809180198B7F809380190C94414C17 -:10B5A000CF93DF9390916F00292F227091FF05C0F8 -:10B5B00090916F009D7F90936F0094E0899FA00110 -:10B5C0001124FA01E35DF24E6081718182819381E1 -:10B5D000222329F020916F00226020936F00EA015E -:10B5E000CF55D84E0F94EE0F288139814A815B8167 -:10B5F0000F944D10DF91CF91089580916F00982F97 -:10B60000927081FF05C080916F008D7F80936F00E5 -:10B610008091971A8093961A8093951A8093941A22 -:10B6200084E68093931A28EE33E03093D811209368 -:10B63000D711992329F080916F00826080936F0069 -:10B6400081E080932C1D08950F931F93CF93DF9378 -:10B6500000D01F92CDB7DEB72091900B2223F9F0D6 -:10B660008C0108960E94C3D769837A838B839C835D -:10B67000B8016C5F7F4FAE014F5F5F4FC8010E9402 -:10B6800062D69B01AC01F801608571858285938546 -:10B690000F94EA16F80160877187828793870F906D -:10B6A0000F900F900F90DF91CF911F910F91089500 -:10B6B000CF92DF92EF92FF920F931F93CF93DF937E -:10B6C00000D01F92CDB7DEB72091900B2223F9F066 -:10B6D0008A016B017C01CA010E94C3D769837A8306 -:10B6E0008B839C83AE014F5F5F4FB601C7010E9401 -:10B6F00062D69B01AC01F8016081718182819381E6 -:10B700000F94EB16F80160837183828393830F900B -:10B710000F900F900F90DF91CF911F910F91FF909D -:10B72000EF90DF90CF900895AF92BF92CF92DF92CB -:10B73000EF920F931F93CF93DF93CDB7DEB764974C -:10B740000FB6F894DEBF0FBECDBFA98ABA8ACB8AE6 -:10B75000DC8AFC0180819181A281B38189839A83F3 -:10B76000AB83BC83FB0180819181A281B3818D83F6 -:10B770009E83AF83B887FA0180819181A281B381D2 -:10B7800089879A87AB87BC87F90180819181A281E3 -:10B79000B3818D879E87AF87B88BAE01475F5F4FC0 -:10B7A000BE016B5F7F4FCE0101960E9458DB8091F6 -:10B7B000D7119091D811892B81F4CE0141966C015B -:10B7C0009E01235F3F4FAE01475F5F4FBE016B5F3E -:10B7D0007F4F40970E94FA6801C080E064960FB6E0 -:10B7E000F894DEBF0FBECDBFDF91CF911F910F91B7 -:10B7F000EF90DF90CF90BF90AF9008957F928F929F -:10B800009F92AF92BF92CF92DF92EF92FF920F93EF -:10B810001F93CF93DF9370905919CAE5D9E198E649 -:10B82000C92E92E0D92E23E2E22E22E0F22E02E689 -:10B8300019E1772059F1F80180809180A280B380CE -:10B8400020E030E0A901C501B4010F94E70F88237F -:10B85000E9F020E030E040E05FE3C501B4010F947F -:10B860004D109B01AC010F944D102BED3FE049E4CE -:10B8700050E40F944D109B01AC0160E070E080E853 -:10B880009FE30F94E5174B015C0106C0812C912CBE -:10B8900080E8A82E8FE3B82E89929992A992B99246 -:10B8A000F601619171916F01072E000C880B990BC5 -:10B8B0000F94EE0F2AE037ED43E25CE30F944D1056 -:10B8C000A50194010F944D10F70161937193819339 -:10B8D00091937F010C5F1F4FF9E1C236DF0709F03A -:10B8E000A8CFDF91CF911F910F91FF90EF90DF9044 -:10B8F000CF90BF90AF909F908F907F9008954F9280 -:10B900005F926F927F928F929F92AF92BF92CF92EF -:10B91000DF92EF92FF920F931F93CF93DF93CDB7F8 -:10B92000DEB768970FB6F894DEBF0FBECDBF8C01AF -:10B930005B015A834983FC01EE5BFF4F608171819B -:10B94000828193810F94EC0F6B017C01D5012D91C5 -:10B950003D914D915C910F944D100F94C9170F9428 -:10B960005E1869877A878B879C87E981FA812081B5 -:10B97000318142815381C701B6010F944D100F945C -:10B98000C9170F945E186D877E878F87988B2985DE -:10B990003A854B855C85283731054105510540F4D2 -:10B9A00088E790E0A0E0B0E089879A87AB87BC8702 -:10B9B0002D853E854F85588928373105410551052C -:10B9C00040F488E790E0A0E0B0E08D879E87AF87E5 -:10B9D000B88BF801E25BFF4F2081318142815381B6 -:10B9E00029833A834B835C83CA01B9010F94EE0F1C -:10B9F0002B013C0169857A858B859C850F94EC0F22 -:10BA0000698B7A8B8B8B9C8B20E030E0A901C30182 -:10BA1000B2010F94E70F882329F1A7019601C7010E -:10BA2000B6010F944D104B015C0129893A894B896D -:10BA30005C89CA01B9010F944D109B01AC01C5018D -:10BA4000B4010F94EA164B015C01A3019201C301FA -:10BA5000B2010F94EB169B01AC01C501B4010F9428 -:10BA6000E51703C060E070E0CB010F94C9170F9495 -:10BA70005E186D837E838F83988769817A818B813D -:10BA80009C8190958095709561957F4F8F4F9F4FCA -:10BA90000F94EE0F4B015C016D857E858F85988933 -:10BAA0000F94EC0F69837A838B839C8320E030E0D2 -:10BAB000A901C501B4010F94E70F882349F1298139 -:10BAC0003A814B815C81CA01B9010F944D106D8B95 -:10BAD0007E8B8F8B988FA7019601C701B6010F94BB -:10BAE0004D109B01AC016D897E898F89988D0F94D3 -:10BAF000EA166B017C01A5019401C501B4010F9404 -:10BB0000EB169B01AC01C701B6010F94E51703C00A -:10BB100060E070E0CB010F948D18D80195968D9060 -:10BB20009D90AD90BC909897750164012D813E81E8 -:10BB30004F815885C21AD30AE40AF50A0F945E1899 -:10BB4000C61AD70AE80AF90AF7FE75C020E030E005 -:10BB5000A901C301B2010F94E70F882309F443C080 -:10BB6000C501B4010F94EC0F6B017C01A30192019C -:10BB7000C301B2010F94EB169B01AC01C701B601E2 -:10BB80000F944D106B017C0129893A894B895C899E -:10BB9000CA01B9010F944D109B01AC01C701B60158 -:10BBA0000F94EA166B017C0129813A814B815C81FB -:10BBB000CA01B9010F944D109B01AC01C701B60138 -:10BBC0000F94EB166B017C0120E030E040E850E47C -:10BBD000C301B2010F944D109B01AC01C701B60126 -:10BBE0000F94E51703C060E070E0CB010F94C91714 -:10BBF0007B018D83998320E030E0A9010F944B19DC -:10BC0000181624F0E12CF12C1D821982B7018D81C8 -:10BC100099810F945E186D837E838F839887861633 -:10BC20009706A806B90620F48D829E82AF82B88658 -:10BC3000C12CD12C76018D819E81AF81B885F80110 -:10BC400082A793A7A4A7B5A7C80ED91EEA1EFB1EFC -:10BC5000C6A6D7A6E0AAF1AAEA5BFF4F29853A85D6 -:10BC60004B855C85208331834283538334968D8555 -:10BC70009E85AF85B88980839183A283B3836896BC -:10BC80000FB6F894DEBF0FBECDBFDF91CF911F91ED -:10BC90000F91FF90EF90DF90CF90BF90AF909F906B -:10BCA0008F907F906F905F904F900895CF93DF9328 -:10BCB00024E0829FC0011124EC01C752D74EFC0141 -:10BCC000E450F74FDC01AB51B74E2D913D914D91B2 -:10BCD0005C9160817181828193810F94EB166883FE -:10BCE00079838A839B83DF91CF910895CF93C82F67 -:10BCF000CB01009711F00E9427B781E19CE20E94DE -:10BD000027B7C11103C082E09CE202C087E09CE239 -:10BD10000E9427B78AE0CF910C94234DCF92DF92F7 -:10BD2000EF92FF92CF93DF9320916C02222309F4CC -:10BD300085C0EC01C0903702D0903802E090390203 -:10BD4000F0903A02288139814A815B81C701B601AE -:10BD50000F944B19181624F4C882D982EA82FB8208 -:10BD6000C0903B02D0903C02E0903D02F0903E0239 -:10BD7000288139814A815B81C701B6010F94E70FA1 -:10BD800087FF04C0C882D982EA82FB82C0903F024A -:10BD9000D0904002E0904102F09042022C813D811F -:10BDA0004E815F81C701B6010F944B19181624F418 -:10BDB000CC82DD82EE82FF82C0904302D0904402AA -:10BDC000E0904502F09046022C813D814E815F81DA -:10BDD000C701B6010F94E70F87FF04C0CC82DD8254 -:10BDE000EE82FF82C0904702D0904802E090490264 -:10BDF000F0904A02288539854A855B85C701B601DE -:10BE00000F944B19181624F4C886D986EA86FB8647 -:10BE1000C0904B02D0904C02E0904D02F0904E0248 -:10BE2000288539854A855B85C701B6010F94E70FE0 -:10BE300087FF04C0C886D986EA86FB86DF91CF914A -:10BE4000FF90EF90DF90CF9008952F923F924F9206 -:10BE50005F926F927F928F929F92AF92BF92CF929A -:10BE6000DF92EF92FF920F931F93CF93DF93CDB7A3 -:10BE7000DEB7E4970FB6F894DEBF0FBECDBF86E104 -:10BE80009BE00E948EDE80912A1283FD81C0C090CB -:10BE9000220BD090230BE090240BF090250B2091E7 -:10BEA000840B3091850B4091860B5091870BC70115 -:10BEB000B6010F94E70F882309F46AC08091291214 -:10BEC00081111FC06091BA087091BB088091BC08B5 -:10BED0009091BD080F94571820915302309154024D -:10BEE0006217730774F4C092840BD092850BE092B2 -:10BEF000860BF092870B0E940BB981EA9CE20E94AC -:10BF000027B78090220B9090230BA090240BB09029 -:10BF1000250B2091840B3091850B4091860B50911D -:10BF2000870BC501B4010F94EA166B017C0120E078 -:10BF300030E0A9010F944B1987FF04C0F7FAF09481 -:10BF4000F7F8F094E091770B84E0E89FF00111247A -:10BF5000ED5DFD4F2081318142815381C701B601E2 -:10BF60000F944D1020E030E04AEF53E40F944B194A -:10BF7000181674F48092840B9092850BA092860B15 -:10BF8000B092870B0E940BB982E89CE20E9427B70F -:10BF90008091900BE0906D02F0906E02882309F181 -:10BFA0008090910B9090920BA090930BB090940B7B -:10BFB00020E030E0A901C501B4010F94E70F882308 -:10BFC00009F45DC020911E0B30911F0B4091200B96 -:10BFD0005091210BC501B4010F944B1918160CF4A4 -:10BFE0004EC0B701FF0C880B990B0F94EE0F2091F8 -:10BFF0004F023091500240915102509152020F94E1 -:10C000004D102AE037ED43E25CE30F944D10698355 -:10C010007A838B839C83A12CB12C6501E090770BF4 -:10C020008E010F5F1F4F22E23BE04EE15BE06AE1D1 -:10C030007BE086E19BE00E9494DB80E1E6E1FBE0AF -:10C04000A8E7BBE001900D928A95E1F7E4960FB660 -:10C05000F894DEBF0FBECDBFDF91CF911F910F913E -:10C06000FF90EF90DF90CF90BF90AF909F908F9018 -:10C070007F906F905F904F903F902F900895B70101 -:10C08000FF0C880B990B0F94EE0F20914F0230910B -:10C09000500240915102509152020F944D102AE0EB -:10C0A00037ED43E25CE30F944D1069A37AA38BA3B1 -:10C0B0009CA32091780B3091790B40917A0B509191 -:10C0C0007B0B6091160B7091170B8091180B909160 -:10C0D000190B0F94EA1669A77AA78BA79CA7209142 -:10C0E0007C0B30917D0B40917E0B50917F0B6091CA -:10C0F0001A0B70911B0B80911C0B90911D0B0F94D0 -:10C10000EA162B013C0120E030E0A90169A57AA5DF -:10C110008BA59CA50F94E70F81110DC020E030E0A6 -:10C12000A901C301B2010F94E70F811104C0A12C32 -:10C13000B12C6501E5C02091800B3091810B4091BD -:10C14000820B5091830B60911E0B70911F0B80919D -:10C15000200B9091210B0F94EA166DA77EA78FA755 -:10C1600098AB2091840B3091850B4091860B5091B8 -:10C17000870B6091220B7091230B8091240B90917F -:10C18000250B0F94EA166DA37EA38FA398A729A56C -:10C190003AA54BA55CA5CA01B9010F944D106B01DE -:10C1A0007C01A3019201C301B2010F944D109B01C8 -:10C1B000AC01C701B6010F94EB166B017C012DA5F4 -:10C1C0003EA54FA558A9CA01B9010F944D109B0176 -:10C1D000AC01C701B6010F94EB160F9499196B01CE -:10C1E0007C012DEB37E346E855E30F94E70F87FF1B -:10C1F00013C020E030E0A9016DA17EA18FA198A518 -:10C200000F944B19CDA0DEA0EFA0F8A487FF04C0C7 -:10C21000F7FAF094F7F8F0942DEB37E346E855E39E -:10C22000C701B6010F94E70F87FD07CF20E030E08C -:10C2300040EA51E4C701B6010F94E5170F945E1868 -:10C240001B01672B19F422242394312CB10180E0C7 -:10C2500090E00F94EC0F9B01AC0160E070E080E88F -:10C260009FE30F94E5174B015C019B01AC01C701F3 -:10C27000B6010F944D1069AB7AAB8BAB9CABA501AB -:10C28000940169A57AA58BA59CA50F944D10698B87 -:10C290007A8B8B8B9C8BA5019401C301B2010F9407 -:10C2A0004D106D8B7E8B8F8B988FA50194016DA5A2 -:10C2B0007EA58FA598A90F944D10698F7A8F8B8FCB -:10C2C0009C8FA50194016DA17EA18FA198A50F94CB -:10C2D0004D106D8F7E8F8F8F98A380E1E8E7FBE094 -:10C2E000DE01119601900D928A95E1F799249394BD -:10C2F00091E0291A310851F4A9A8BAA8CBA8DCA862 -:10C30000E090770B8E010F5D1F4F8DCE80916F19DE -:10C31000811112C00E94EE68DC01CB0188539F4F4F -:10C32000AF4FBF4F80936B1990936C19A0936D1909 -:10C33000B0936E1990926F190E9481F50E94EE6879 -:10C34000C0906B19D0906C19E0906D19F0906E1937 -:10C35000DC01CB018C199D09AE09BF09B7FD13C0E3 -:10C360000E94EE68DC01CB0188539F4FAF4FBF4F57 -:10C3700080936B1990936C19A0936D19B0936E19FB -:10C3800080E00E944F4E6E01E1E1CE0ED11CCE0145 -:10C3900001967C015601F601219131914191519113 -:10C3A0006F01F70160817181828193810F94EB1697 -:10C3B000F70161937193819391937F01AE16BF064C -:10C3C00051F7A9A8BAA8CBA8DCA8E090770B8E01FA -:10C3D0000F5D1F4F9E01235F3F4FAE01475F5F4FD1 -:10C3E000BE016B5F7F4FCE0101960E9494DB8111ED -:10C3F0007FCF82CFA82FB0E0CD01880F991F880F83 -:10C40000991FFC01EA58F34D45915591659174913E -:10C4100033E0AA0FBB1F3A95E1F7A95CBD4F4D93DE -:10C420005D936D937C931397FC01E659F34D459111 -:10C4300055916591749114964D935D936D937C9392 -:10C4400017970895AF92BF92CF92DF92EF920F931A -:10C450001F93A12CB12C6501E090770B8C0124E88F -:10C460003BE040E85BE06CE77BE088E79BE00E9414 -:10C4700094DB1F910F91EF90DF90CF90BF90AF9022 -:10C4800008954F925F926F927F928F929F92AF9298 -:10C49000BF92CF92DF92EF92FF920F931F93CF93B1 -:10C4A000DF93CDB7DEB72C970FB6F894DEBF0FBE83 -:10C4B000CDBF2B013C0129873A874B875C87470119 -:10C4C0005801F601E080F1800281138120E030E024 -:10C4D000A901B701C8010F94E70F81110BC0EEEB62 -:10C4E000FBE285919591A591B491582F492F3A2F50 -:10C4F0002B2F04C05E2D4F2D302F212F852F942FF1 -:10C50000A32FB22F89839A83AB83BC8320E030E0D2 -:10C51000A901B701C8010F94E70F811104C0E12CF4 -:10C52000F12C08EC12E4C701D8018D839E83AF8300 -:10C53000B887A50194016091800B7091810B809167 -:10C54000820B9091830B0F94E70F87FF0CC08092B2 -:10C55000800B9092810BA092820BB092830BCE0144 -:10C5600001960E9422E24092780B5092790B6092E1 -:10C570007A0B70927B0B89859A85AB85BC858093FD -:10C580007C0B90937D0BA0937E0BB0937F0BCE0121 -:10C5900005960E9422E22091800B3091810B409100 -:10C5A000820B5091830BC501B4010F94E70F87FFF5 -:10C5B0000CC08092800B9092810BA092820BB09263 -:10C5C000830BCE0101960E9422E20E9413D92C9681 -:10C5D0000FB6F894DEBF0FBECDBFDF91CF911F9194 -:10C5E0000F91FF90EF90DF90CF90BF90AF909F9012 -:10C5F0008F907F906F905F904F900895CF92DF92D1 -:10C60000EF92FF920F931F936A01E090800BF090DE -:10C61000810B0091820B1091830BFB0120813181F2 -:10C6200042815381FC0160817181828193810E94EA -:10C6300041E21F910F91FF90EF90DF90CF9008950E -:10C64000CF92DF92EF92FF920F931F936B01FC0149 -:10C65000E080F18002811381E8E7FBE024813581ED -:10C660004681578160817181828193810E9441E27C -:10C670001F910F91FF90EF90DF90CF900895CF938F -:10C68000DF9380E00E9491DACBE6DBE06883798378 -:10C690008A839B8381E00E9491DA6C837D838E8301 -:10C6A0009F8382E00E9491DA688779878A879B87D7 -:10C6B000DF91CF9108950C9461634F925F926F92D6 -:10C6C0007F928F929F92AF92BF92CF92DF92EF9222 -:10C6D000FF922091D9183091DA184091DB185091CF -:10C6E000DC186091780B7091790B80917A0B9091A6 -:10C6F0007B0B0F94EB16AB01BC0187E69CE20E941A -:10C70000D6B82091DD183091DE184091DF18509195 -:10C71000E01860917C0B70917D0B80917E0B909165 -:10C720007F0B0F94EB16AB01BC0183E69CE20E94E9 -:10C73000D6B82091E1183091E2184091E318509159 -:10C74000E4186091800B7091810B8091820B909125 -:10C75000830B0F94EB16AB01BC018FE59CE20E94AA -:10C76000D6B84091840B5091850B6091860B7091E7 -:10C77000870B8BE59CE20E94D6B880916F00982FC2 -:10C78000927081FF05C080916F008D7F80936F0054 -:10C790004090391D50903A1D60903B1D70903C1D9B -:10C7A00080903D1D90903E1DA0903F1DB090401D7B -:10C7B000C090411DD090421DE090431DF090441D5B -:10C7C000992329F080916F00826080936F0081E54A -:10C7D0009CE20E9427B7C301B2010E94974D8DE4ED -:10C7E0009CE20E9427B7C501B4010E94974D89E4DD -:10C7F0009CE20E9427B7C701B6010E94974D8AE0CC -:10C80000FF90EF90DF90CF90BF90AF909F908F9070 -:10C810007F906F905F904F900C94234D80916A1998 -:10C82000659B02C0816001C08E7F80936A199091E0 -:10C83000030180916A1991FF02C0826001C08D7F5F -:10C8400080936A1980916A194B9B02C0846001C071 -:10C850008B7F80936A198091B91780FF10C08091F7 -:10C86000FA0880FF0CC080916A1980FF08C080918F -:10C870008D0A816080938D0A80E00E9498F98091F2 -:10C88000B917869580FF11C08091FA08869580FFC0 -:10C890000CC080916A1981FF08C080918D0A826066 -:10C8A00080938D0A81E00E9498F98091B91786954E -:10C8B000869580FF12C08091FA088695869580FF44 -:10C8C0000CC080916A1982FF08C080918D0A846033 -:10C8D00080938D0A82E00C9498F908958FE29CE28F -:10C8E0000E9427B78CB169E27CE285FB882780F93A -:10C8F0000E9476DE8091030163E27CE2869581707E -:10C900000E9476DE89B16DE17CE283FB882780F9A5 -:10C910000E9476DE84E19CE20E9427B782E00E94BA -:10C92000386721E0892B09F420E060E070E0822F75 -:10C930000E9476DE84E19CE20E9427B780E20E949A -:10C94000234D82E30E94234D8FE00E94386721E04F -:10C95000892B09F420E060E070E0822F0C9476DEF1 -:10C960008091F908882331F062E070E080E090E087 -:10C970000C94F8B608952F923F924F925F926F9267 -:10C980007F928F929F92AF92BF92CF92DF92EF925F -:10C99000FF920F931F93CF93DF93CDB7DEB7CC59A0 -:10C9A000D1090FB6F894DEBF0FBECDBF2DB63EB68F -:10C9B000CB56DF4F19821882C559D04084E690E0EB -:10C9C000C956DF4F99838883C759D04001E09E0143 -:10C9D0002B563F4F44E050E0BE016F567F4FCE01D3 -:10C9E00089569F4F0E94924C9E012B563F4F42E02A -:10C9F00050E0BE0167567F4FCE0189569F4F0E947F -:10CA0000924C43E050E0BE016F567F4F89E893E0BF -:10CA10000F94501A892B19F1CC56DF4F8881C459D5 -:10CA2000D040882359F08FE3CF56DF4F8883C15918 -:10CA3000D040CE56DF4F1882C259D0400E940BB969 -:10CA4000BE016F567F4F84E59DE20E94F4B886E4F4 -:10CA50009DE20E9427B781E080937719FBC5C357F9 -:10CA6000DF4F188219821A821B82CD58D040CB56D4 -:10CA7000DF4F19821882C559D04001E09E012B5624 -:10CA80003F4F41E050E0BE0164567F4FCE018956D2 -:10CA90009F4F0E94924C4DB65EB680E1E9E5F3E00F -:10CAA000DE01A358BF4F01900D928A95E1F780E116 -:10CAB000E9E6F3E0DE01A359BF4F01900D928A959C -:10CAC000E1F780E1E9E7F3E09E012F5F3F4F690165 -:10CAD000D90101900D928A95E1F7C456DF4F488144 -:10CAE000CC59D04050E04D5F5F4F440F551F440F6D -:10CAF000551F6DB77EB7641B750B0FB6F8947EBFDC -:10CB00000FBE6DBF8DB79EB701965C010091151DDC -:10CB100011E001272C563F4FBC01CE0189569F4F93 -:10CB20000E94924C0091151D01279E012B563F4FEC -:10CB300044E050E069EE71E1CE0189569F4F0E94BA -:10CB4000924CC456DF4FE880CC59D040F12C93E092 -:10CB5000E90EF11CEE0CFF1CEE0CFF1CADB7BEB7CE -:10CB6000AE19BF090FB6F894BEBF0FBEADBFEDB78B -:10CB7000FEB731964F012DB73EB72E193F090FB6BC -:10CB8000F8943EBF0FBE2DBF6DB77EB76F5F7F4F6E -:10CB90003B010091151D01279E012B563F4FA70118 -:10CBA000BF01CE0189569F4F0E94924C0091151DE6 -:10CBB00001279E012B563F4FA701B301CE01895695 -:10CBC0009F4F0E94924C0091151D002309F44EC006 -:10CBD00011E001279E012B563F4F44E050E06DE0ED -:10CBE00072E1CE0189569F4F0E94924C0091151D13 -:10CBF00001279E012B563F4F44E050E061E172E176 -:10CC0000CE0189569F4F0E94924C0091151D01271D -:10CC10009E012B563F4F44E050E065E172E1CE01AA -:10CC200089569F4F0E94924C0091151D01279E012D -:10CC30002B563F4F44E050E069E172E1CE01895646 -:10CC40009F4F0E94924C0091151D01279E012B566B -:10CC50003F4F44E050E06DE172E1CE0189569F4FB5 -:10CC60000E94924C15E0FF24F39472C0C456DF4F2B -:10CC70002881CC59D04030E02E5F3F4FE9EDF1E103 -:10CC800080E090E076012817390714F0D50111C033 -:10CC9000AC018430910510F043E050E0440F551F83 -:10CCA000440F551F6DE770E06C0F7D1F460F571F37 -:10CCB000DA014D915D916D917C9141935193619316 -:10CCC00071932817390714F0D40111C0AC018430D6 -:10CCD000910510F043E050E0440F551F440F551FDD -:10CCE0006DE670E06C0F7D1F460F571FDA014D9106 -:10CCF0005D916D917C91408B518B628B738B28176A -:10CD0000390714F0D3010DC0AC018430910510F047 -:10CD100043E050E0440F551F440F551F4E0D5F1D5B -:10CD2000DA014D915D916D917C9140A351A362A375 -:10CD300073A30196B4E06B0E711C44E0840E911C49 -:10CD400064E0A60EB11C8430910509F09CCF40CF61 -:10CD500011500091151D112379F00F259E012B56BE -:10CD60003F4F44E050E0BE0163577F4FCE018956EC -:10CD70009F4F0E94924CECCF11E001279E012B5651 -:10CD80003F4F44E050E063E171E1CE0189569F4F8F -:10CD90000E94924C0FB6F8945EBE0FBE4DBE00913D -:10CDA000151D01279E012B563F4F4CE050E06CEFC4 -:10CDB00078E0CE0189569F4F0E94924C0091151D3C -:10CDC00001279E012B563F4F41E050E066E572E09F -:10CDD000CE0189569F4F0E94924C0091151D01274C -:10CDE0009E012B563F4F44E050E0BE016F5F7F4FE6 -:10CDF000CE0189569F4F0E94924C0091151D011142 -:10CE00000CC089819A81AB81BC8180936F02909321 -:10CE10007002A0937102B093720211E001279E018B -:10CE20002B563F4F44E050E066E17DE1CE0189564C -:10CE30009F4F0E94924C0091151D01279E012B5679 -:10CE40003F4F44E050E0BE0163577F4FCE0189560B -:10CE50009F4F0E94924C01E09E012B563F4F41E0B4 -:10CE600050E0BE0163597F4FCE0189569F4F0E940B -:10CE7000924C9E012B563F4F41E050E0BE016F5F48 -:10CE80007F4FCE0189569F4F0E94924C0091151DF5 -:10CE9000011110C0C357DF4F88819981AA81BB81DE -:10CEA000CD58D0408093F1189093F218A093F318C6 -:10CEB000B093F418AE968FADAE97853091F489811A -:10CEC000853079F481E008279E012B563F4F44E6D8 -:10CED00050E065EF78E1CE0189569F4F0E94924C59 -:10CEE00025C0011102C00E9489B6AE96AFACAE97C4 -:10CEF0008981A89E50011124E12CF12C11E0EA1443 -:10CF0000FB04A1F00091151D01279E012B563F4FF8 -:10CF100044E050E0BE0163577F4FCE0189569F4FDA -:10CF20000E94924C7FEFE71AF70AE9CF0091151D96 -:10CF300011E001279E012B563F4F44E050E0B6011F -:10CF4000CE0189569F4F0E94924C0091151D0127DA -:10CF50009E012B563F4F44E050E0BE016B5F7F4F78 -:10CF6000CE0189569F4F0E94924C0091151D0127BA -:10CF70009E012B563F4F44E050E0BE01675F7F4F5C -:10CF8000CE0189569F4F0E94924C1AE0FF24F394E1 -:10CF9000115089F00091151D0F259E012B563F4F12 -:10CFA00044E050E0BE0163577F4FCE0189569F4F4A -:10CFB0000E94924CEDCF01E09E012B563F4F41E085 -:10CFC00050E0BE0165567F4FCE0189569F4F0E94AB -:10CFD000924C9E012B563F4F41E050E0BE016358FA -:10CFE0007F4FCE0189569F4F0E94924C0091151D94 -:10CFF00011E001279E012B563F4F44E050E0BE0157 -:10D0000063597F4FCE0189569F4F0E94924C0091E9 -:10D01000151D01279E012B563F4F44E050E0BE01F5 -:10D020006F5F7F4FCE0189569F4F0E94924CC5562D -:10D03000DF4FA880CB59D040EE968FADEE97A89EDB -:10D0400050011124E12CF12C0091151DAE14BF04E8 -:10D0500091F001279E012B563F4F44E050E0BE0166 -:10D0600063577F4FCE0189569F4F0E94924C8FEF9E -:10D07000E81AF80AE9CF11E001279E012B563F4F2D -:10D0800041E050E0BE0163597F4FCE0189569F4F6A -:10D090000E94924C0091151D01279E012B563F4F77 -:10D0A00041E050E0BE016F5F7F4FCE0189569F4F38 -:10D0B0000E94924C0091151D01279E012B563F4F57 -:10D0C00040E150E0BE016F5F7F4FCE0189569F4F18 -:10D0D0000E94924C0091151D01279E012B563F4F37 -:10D0E00041E050E0BE016F5F7F4FCE0189569F4FF8 -:10D0F0000E94924C0091151D01279E012B563F4F17 -:10D1000044E050E0BE0163597F4FCE0189569F4FE6 -:10D110000E94924C0091151D01279E012B563F4FF6 -:10D1200044E050E0BE016F5F7F4FCE0189569F4FB4 -:10D130000E94924C0091151D01279E012B563F4FD6 -:10D1400042E050E0BE0163587F4FCE0189569F4FA9 -:10D150000E94924C0091151D01279E012B563F4FB6 -:10D1600040E150E0BE016F5F7F4FCE0189569F4F77 -:10D170000E94924C0091151D01112EC089809A8049 -:10D18000AB80BC8020E030E84BE355E4C501B4013E -:10D190000F94E70F882301F18092C1089092C20892 -:10D1A000A092C308B092C4088D819E81AF81B885DA -:10D1B0008093C5089093C608A093C708B093C80889 -:10D1C00089859A85AB85BC858093C9089093CA08E8 -:10D1D000A093CB08B093CC0811E001279E012B56F9 -:10D1E0003F4F42E050E0BE016F5F7F4FCE01895656 -:10D1F0009F4F0E94924C0091151D01279E012B56B6 -:10D200003F4F4CE050E0BE016F5F7F4FCE0189562B -:10D210009F4F0E94924C0091151D011115C020E0F6 -:10D2200030E84BE355E469817A818B819C810F94CE -:10D23000E70F882349F08CE0FE013196A8EDB8E0B5 -:10D2400001900D928A95E1F711E001279E012B567E -:10D250003F4F42E050E0BE016F5F7F4FCE018956E5 -:10D260009F4F0E94924C0091151D01279E012B5645 -:10D270003F4F41E050E0BE016F5F7F4FCE018956C6 -:10D280009F4F0E94924C0091151D01279E012B5625 -:10D290003F4F40E250E0BE016F5F7F4FCE018956A5 -:10D2A0009F4F0E94924C0091151D01279E012B5605 -:10D2B0003F4F41E050E0BE0163597F4FCE01895698 -:10D2C0009F4F0E94924C0091151D01279E012B56E5 -:10D2D0003F4F49E050E0BE016F5F7F4FCE0189565E -:10D2E0009F4F0E94924C0091151D01110CC0898125 -:10D2F0008093591988E0FE013296A2E6B9E10190C7 -:10D300000D928A95E1F711E001279E012B563F4FC0 -:10D310004AE150E0BE016F5F7F4FCE0189569F4FBB -:10D320000E94924C0091151D01279E012B563F4FE4 -:10D3300044E350E0BE016F5F7F4FCE0189569F4F9F -:10D340000E94924C0091151D01279E012B563F4FC4 -:10D3500048E050E0BE016F5F7F4FCE0189569F4F7E -:10D360000E94924C0091151D01279E012B563F4FA4 -:10D370004DE050E0BE016F5F7F4FCE0189569F4F59 -:10D380000E94924C0091151D01279E012B563F4F84 -:10D3900048E050E0BE016F5F7F4FCE0189569F4F3E -:10D3A0000E94924C0091151D011109C088E0FE01F8 -:10D3B0003196AFE2B1E101900D928A95E1F711E06B -:10D3C00001279E012B563F4F4CE050E0B601CE01A5 -:10D3D00089569F4F0E94924C0091151D01279E0176 -:10D3E0002B563F4F4CE650E0B601CE0189569F4F79 -:10D3F0000E94924C19821A821B821C821D821E82FC -:10D400001F82188619861A861B861C860091151D98 -:10D4100001279E012B563F4F4CE050E0B601CE0154 -:10D4200089569F4F0E94924C0091151D01279E0125 -:10D430002B563F4F40E150E06AE17DE1CE01895635 -:10D440009F4F0E94924C0091151D01279E012B5663 -:10D450003F4F48E150E06BE272E1CE0189569F4FA9 -:10D460000E94924C0091151D01279E012B563F4FA3 -:10D4700044E050E0B601CE0189569F4F0E94924C85 -:10D480000091151D01279E012B563F4F44E050E0AF -:10D49000BE016B5F7F4FCE0189569F4F0E94924C19 -:10D4A0000091151D01279E012B563F4F44E050E08F -:10D4B000BE01675F7F4FCE0189569F4F0E94924CFD -:10D4C0000091151D01279E012B563F4F41E050E072 -:10D4D000BE0163587F4FCE0189569F4F0E94924CE8 -:10D4E0000091151D01279E012B563F4F44E050E04F -:10D4F000BE0163597F4FCE0189569F4F0E94924CC7 -:10D5000080E3D6011D928A95E9F70091151D012748 -:10D510009E012B563F4F40E350E0B601CE018956A5 -:10D520009F4F0E94924C8091151D811104C080E88C -:10D5300097E00E942E4EC956DF4F88819981C759C6 -:10D54000D0408436934041F00E9407B98CEB9CE2B6 -:10D550000E9427B781E001C080E08093771988237B -:10D56000C1F00E940BB9C956DF4F68817981C75954 -:10D57000D040645671098EE39DE20E94E7B860E0F6 -:10D5800073E086E39DE20E94C9B88AE00E94234DC1 -:10D5900057C0CB56DF4F28813981C559D040C75677 -:10D5A000DF4F88819981C959D04028173907E1F0A8 -:10D5B00081E0809377190E9407B9C756DF4F6881D1 -:10D5C0007981C959D04086E19DE20E94C9B8CB5605 -:10D5D000DF4F68817981C559D04081E19DE20E9489 -:10D5E000C9B881E09DE22AC08091151D811128C033 -:10D5F0000E940BB909E813E0F80181918F0188239B -:10D6000019F00E94234DF8CFC956DF4F6881798108 -:10D61000C759D0406456710984EE9CE20E94E7B875 -:10D62000CB56DF4F48815981C559D04060E070E04A -:10D6300087ED9CE20E94B8B884ED9CE20E9427B777 -:10D640008091151D811106C080917719811102C04A -:10D650000E9474D38091151D811102C00E9471F047 -:10D660009091771981E089270FB6F8943EBE0FBEDE -:10D670002DBEC456DF4F0FB6F894DEBF0FBECDBF30 -:10D68000DF91CF911F910F91FF90EF90DF90CF909E -:10D69000BF90AF909F908F907F906F905F904F90D2 -:10D6A0003F902F90089584E08A950000E9F708954F -:10D6B000FC01DB018C9120813181382798E0A901A0 -:10D6C000440F551F37FD06C09A019150C1F73183B1 -:10D6D000208308959A01B1E22B27B0E13B27F5CFD3 -:10D6E000EF92FF920F931F93CF93DF93FC01019072 -:10D6F0000020E9F731979F01281B390B12161306FA -:10D70000CCF56AE560936C1B65EA60936D1B63E082 -:10D71000620F60936E1B62E860936F1B5093701BE7 -:10D720004093711BFC01A2E7BBE1820F931F419163 -:10D730004D93E817F907D9F78CE6E82E8BE1F82E20 -:10D7400000E010E0E9012596C017D10764F0D70189 -:10D750006D917D0182E899E10E94F1560E9453EBA0 -:10D760000F5F1F4FF1CF8AE1ECE6FBE1DF011D9275 -:10D770008A95E9F7DF91CF911F910F91FF90EF907C -:10D7800008950F931F93CF93DF9320911D1B2A358C -:10D7900009F098C090911E1B953A09F093C08091B2 -:10D7A0001C1B833008F48EC020936C1B90936D1B60 -:10D7B00080936E1B90911F1B90936F1B9038B1F458 -:10D7C0009091201B9093701BE8E2FBE1A1E7BBE185 -:10D7D00020E030E090E00297281739070CF044C0B1 -:10D7E000408132964D932F5F3F4FF6CF833061F4E7 -:10D7F000913809F064C08091201B8093701B809148 -:10D80000241B8093711B30C09238F1F49091201B3F -:10D810002091211B2093701B9093711BE2E7FBE189 -:10D8200020E030E090E0039728173907ECF4D901A5 -:10D83000AE7FA85DB44E4C9111965C9150834183AC -:10D840002E5F3F4F3296F0CF843071F4933861F4FD -:10D850008091201B9091211B9093701B8093711BD2 -:10D860008091241B8093721B0CE61BE1C0E0D0E08A -:10D8700080911C1B90E002968C179D075CF0D801EC -:10D880006D918D0182E899E10E94F1560E9453EB5F -:10D890002196EECF80E5ECE1FBE1DF011D928A9558 -:10D8A000E9F78AE1ECE6FBE1DF011D928A95E9F7F1 -:10D8B0008AE580931D1B85EA80931E1B03C0923866 -:10D8C00099F6A4CFDF91CF911F910F910895CF9337 -:10D8D000DF93CDB7DEB7A8970FB6F894DEBF0FBEC3 -:10D8E000CDBF8C010E947E920E9407B98EE99DE215 -:10D8F0000E9427B70115110511F405E91DE2809179 -:10D90000811980FD75C081608093811983E997E05A -:10D910000E942E4E882483948AE5982E9092291B8B -:10D920008092281B8FE090E090932B1B80932A1B02 -:10D9300097E0A92EA0921C1B22E8B22EB0921F1BCA -:10D9400034E8C32ED12CE12CF12CC092201BD092B4 -:10D95000211BE092221BF092231B0E94C1EB9092AC -:10D96000291B8092281B88E590E090932B1B8093C5 -:10D970002A1BA0921C1BB0921F1BC092201BD0928E -:10D98000211BE092221BF092231B0E94C1EB63E05B -:10D9900070E080E090E00E9470BE8AE289838A8312 -:10D9A0008B838C83DE011596F801CE0101969D01D3 -:10D9B000281B390B44913196442311F04D93F7CF36 -:10D9C000FC01E20FF31F2AE2AF01481B590B48325A -:10D9D000510511F02193F8CF40E650E160E070E08E -:10D9E0000E9470EB6AE070E080E090E00E9470BE00 -:10D9F00061E08CE89DE20E9436B789EE93E030E664 -:10DA0000019729F0232F2A950000E9F7F9CFF89420 -:10DA100089EE93E038EE019729F0232F2A95000034 -:10DA2000E9F7F9CF0E947E920E94414CA895FECF63 -:10DA3000CF92DF92EF92FF920E94EE686B017C0121 -:10DA400028E5C20E22E0D21EE11CF11C0E944256C3 -:10DA50008F3F61F00E94EE68DC01CB018C199D09BB -:10DA6000AE09BF09B7FDF2CF80E001C081E0FF90B1 -:10DA7000EF90DF90CF9008958F929F92AF92BF92D8 -:10DA8000CF92DF92EF92FF920F931F93CF93DF938A -:10DA900000D01F92CDB7DEB7FC018381813079F5CC -:10DAA000818181FF2CC081899289A389B489892BC6 -:10DAB0008A2B8B2B09F448C07F0140E050E0BA016B -:10DAC000CF010E940A938823D1F0F70185889688B8 -:10DAD000A788B08CC18CD28C82E090E0A0E0B0E04E -:10DAE000F60180839183A283B3839E012F5F3F4F12 -:10DAF000B501A401C6010E94EF5D811102C080E062 -:10DB00003CC000E010E09801B501A401C6010E94EC -:10DB10005D5D8823A1F389809A80AB80BC80F6018B -:10DB20008789803141F4F8EF8F16FFEF9F06A1043B -:10DB3000B10460F4DACF88EF88168FEF9806A80654 -:10DB40008FE0B80618F4D1CF81E017C0F701158A2D -:10DB5000168A178A108E118A128A138A148A818172 -:10DB600080688183C7010E944396882341F240E088 -:10DB700050E0BA01C7010E940A930F900F900F90D6 -:10DB80000F90DF91CF911F910F91FF90EF90DF9059 -:10DB9000CF90BF90AF909F908F9008952F923F921B -:10DBA0004F925F926F927F928F929F92AF92BF92AD -:10DBB000CF92DF92EF92FF920F931F93CF93DF9359 -:10DBC0001F921F92CDB7DEB77C012DB73EB73A83C7 -:10DBD000298380910D1D811107C01092F21C1092B3 -:10DBE000F51C81E080930D1D8091EA1C811107C016 -:10DBF0001092CF1C1092D21C81E08093EA1CFB0192 -:10DC000080818F3259F488E79AE1F701918380830C -:10DC10001092C21C8B010F5F1F4F06C08DE59AE169 -:10DC2000F701918380838B01F7012080318022EFFF -:10DC3000C22E2CE1D22E0115110509F479C04DB682 -:10DC40005EB66FE270E0C8010F943E1A4C010817EF -:10DC5000190708F06BC03C01601A710A7724C301F0 -:10DC600001962DB73EB7281B390B0FB6F8943EBF6F -:10DC70000FBE2DBF8DB79EB701965C01A301B80101 -:10DC80000F945E1AF501E60DF71D1082F701608111 -:10DC9000718121E0A501C6010E94629A81110FC025 -:10DCA000B50188E79DE20E94F4B885E79DE20E94F5 -:10DCB00027B70FB6F8945EBE0FBE4DBE39C0F70150 -:10DCC000808191812816390611F00E947696F7011D -:10DCD000D182C082A091C21CAA3080F481E08A0F58 -:10DCE0008093C21CFBE1FA9FD0011124AC54B44EC6 -:10DCF000F6018BE101900D928A95E1F7F7018081A1 -:10DD00009181825F9C4129F49FECC92E9CE1D92E20 -:10DD100004C082EFC82E8CE1D82E84010F5F1F4F04 -:10DD20000FB6F8945EBE0FBE4DBE85CFC80102C0CF -:10DD300080E090E029813A810FB6F8943EBF0FBE93 -:10DD40002DBF0F900F90DF91CF911F910F91FF90FA -:10DD5000EF90DF90CF90BF90AF909F908F907F908B -:10DD60006F905F904F903F902F9008952091801971 -:10DD70002695269520FF2DC02091CD1C3091CE1CDC -:10DD8000280F391F3093CE1C2093CD1C20917E1973 -:10DD900030917F19280F391F30937F1920937E19F6 -:10DDA0002091080121702093060120917C19309167 -:10DDB0007D19820F931F90937D1980937C190E9487 -:10DDC000EE68609378197093791980937A1990931B -:10DDD0007B190895A9EDB1E120E030E0C9012430BC -:10DDE000310510F083E090E0880F991F880F991F8C -:10DDF000FC01E25DF14D4591559165917491549608 -:10DE00004D935D936D937C935797FC01E25EF14DCA -:10DE1000459155916591749194964D935D936D9351 -:10DE20007C939797FC01E25FF14D45915591659187 -:10DE300074914D935D936D937D932F5F3F4F24308D -:10DE4000310509F0CBCF80E29EE4A0E0B0E0809302 -:10DE5000E9119093EA11A093EB11B093EC1180E0DB -:10DE600090E0A6E9B3E480930D1290930E12A09374 -:10DE70000F12B093101240E050E06AE774E4409350 -:10DE80001112509312126093131270931412809314 -:10DE9000151290931612A0931712B09318121092A5 -:10DEA000191210921A1210921B1210921C12109238 -:10DEB0001D1210921E1210921F12109220128AE050 -:10DEC00097EDA3EABDE38093131190931411A093EF -:10DED0001511B09316118CE0ECEFF8E0DF011D9204 -:10DEE0008A95E9F781E0809356021092B4080E9467 -:10DEF000694C80E090E0A0EAB0E480936F029093D8 -:10DF00007002A0937102B093720280E090E0A0EAE8 -:10DF1000B2E480932B1290932C12A0932D12B09305 -:10DF20002E1240E050E060E070E440932F125093D6 -:10DF30003012609331127093321288EB9BE0909311 -:10DF4000341280933312909336128093351288E006 -:10DF5000EFE9F3E0A7E3B2E101900D928A95E1F7D2 -:10DF600040933F12509340126093411270934212BB -:10DF70008EE997E00E942E4E1092161D1092171DEA -:10DF80001092181D1092191D80E00E94ACB60E94DC -:10DF900089B680E090E0A8E9B1E48093C10890934D -:10DFA000C208A093C308B093C4088AE891EEAAE619 -:10DFB000BEE38093C5089093C608A093C708B093AA -:10DFC000C80880E89AE6A9ECB3E48093C908909366 -:10DFD000CA08A093CB08B093CC0883EC95E9ACE2D7 -:10DFE000B4E48093D8089093D908A093DA08B0934A -:10DFF000DB0880E29BE1A2E9B1E48093DC08909326 -:10E00000DD08A093DE08B093DF0887EF9CEDABEC52 -:10E01000B5E48093E0089093E108A093E208B09300 -:10E02000E3081092591980E090E0A0EEBFE38093DE -:10E03000621990936319A0936419B0936519809342 -:10E04000661990936719A0936819B0936919109293 -:10E05000F9081092F8080E94B0E410922F11109263 -:10E06000301110923111109232111092331110921E -:10E070003411109235111092361140E050E067EDE6 -:10E0800073E440931A1D50931B1D60931C1D7093E5 -:10E090001D1D80E090E0A1EEB3E480931E1D9093DF -:10E0A0001F1DA093201DB093211D4093221D50934E -:10E0B000231D6093241D7093251D8093261D90932E -:10E0C000271DA093281DB093291D0E9474D30E9480 -:10E0D0000BB98BEE9DE20E9427B78EE997E00C9476 -:10E0E0002E4E8F929F92AF92BF92CF92DF92EF927D -:10E0F000FF920F931F93CF93C82F811102C00E94EC -:10E100000BB988EB90E30E9427B782EB90E30E9463 -:10E1100027B78AE00E94234D8AE00E94234DC11157 -:10E1200014C00E940BB98FE990E30E9427B7809139 -:10E130005919882321F08AE00E94234D04C084E904 -:10E1400090E30E9427B70E940BB940916219509149 -:10E15000631960916419709165198BE890E30E94CE -:10E16000D6B88AE00E94234DC11102C00E940BB9AB -:10E1700040916619509167196091681970916919F9 -:10E180008FE790E30E94D6B88AE00E94234D8091E9 -:10E190005919811108C0C11102C00E940BB984E74E -:10E1A00090E30E9427B7C11106C00E940BB983E615 -:10E1B00090E30E9427B76FEF81E08C270E9482B422 -:10E1C000C11108C00E940BB985E490E30E9427B7F3 -:10E1D0000E940BB94091FD115091FE116091FF1109 -:10E1E000709100128CE390E30E94D6B84091011226 -:10E1F00050910212609103127091041289E390E32E -:10E200000E94D6B8409105125091061260910712F3 -:10E210007091081286E390E30E94D6B840910912EB -:10E2200050910A1260910B1270910C1283E390E3EB -:10E230000E94D6B88AE00E94234DC11108C00E94F6 -:10E240000BB981E190E30E9427B70E940BB960915E -:10E25000D9117091DA118091DB119091DC110F943A -:10E26000EC0FAB01BC0188E090E30E94D6B860914E -:10E27000DD117091DE118091DF119091E0110F940A -:10E28000EC0FAB01BC0185E090E30E94D6B8609131 -:10E29000E1117091E2118091E3119091E4110F94DA -:10E2A000EC0FAB01BC0182E090E30E94D6B8609114 -:10E2B000E5117091E6118091E7119091E8110F94AA -:10E2C000EC0FAB01BC018FEF9FE20E94D6B88AE051 -:10E2D0000E94234DC11108C00E940BB985EB9FE23B -:10E2E0000E9427B70E940BB940910D1250910E1257 -:10E2F00060910F12709110128CEA9FE20E94D6B8C2 -:10E3000040911112509112126091131270911412D7 -:10E3100089EA9FE20E94D6B84091151250911612D8 -:10E32000609117127091181286EA9FE20E94D6B887 -:10E330008AE00E94234DC1110FC00E940BB98EE5E7 -:10E340009FE20E9427B781E59FE20E9427B78AE0FB -:10E350000E94234D0E940BB96091E9117091EA115E -:10E360008091EB119091EC110F94EC0FAB01BC017B -:10E3700088E49FE20E94D6B84091191250911A1277 -:10E3800060911B1270911C1285E49FE20E94D6B826 -:10E3900040911D1250911E1260911F127091201217 -:10E3A00082E49FE20E94D6B840911311509114115B -:10E3B00060911511709116118FE39FE20E94D6B8FB -:10E3C0008AE00E94234DC11108C00E940BB981E36D -:10E3D0009FE20E9427B70E940BB94091FC08509120 -:10E3E000FD086091FE087091FF0888E29FE20E949C -:10E3F000D6B84091000950910109609102097091CD -:10E40000030985E29FE20E94D6B840910409509129 -:10E410000509609106097091070982E29FE20E9456 -:10E42000D6B88AE00E94234DC11108C00E940BB9E2 -:10E430008EE09FE20E9427B70E940BB96091900B7B -:10E4400070E085E09FE20E94E7B84091910B509107 -:10E45000920B6091930B7091940B82E09FE20E946B -:10E46000D6B88AE00E94234D0E94CBB6882309F4D7 -:10E4700044C035EFC32E38E1D32E01E010E0AA24CA -:10E48000A394B12CE12CF12CC11102C00E940BB954 -:10E49000B50187EF9EE20E94E7B8B80184EF9EE2E3 -:10E4A0000E94E7B891EB892E97E0992EF4018191B3 -:10E4B0004F01882319F00E94234DF8CFF601EE0D8D -:10E4C000FF1D608171818281938145E00E94B34D7F -:10E4D0008AE00E94234DF4E1EF0EF11C8FEFA81AA1 -:10E4E000B80AE4E6EE16F10479F6F4E0CF0ED11C9A -:10E4F0000F5F1F4F0630110511F6C11108C00E94B1 -:10E500000BB985EE9EE20E9427B70E940BB940919D -:10E51000C1085091C2086091C3087091C4088CED85 -:10E520009EE20E94D6B82CEA35EC47E25EE36091A9 -:10E53000C5087091C6088091C7089091C8080F94CB -:10E54000E517AB01BC0189ED9EE20E94D6B82CEA2A -:10E5500035EC47E25EE36091C9087091CA0880918A -:10E56000CB089091CC080F944D10AB01BC0186ED07 -:10E570009EE20E94D6B88AE00E94234DC11102C0DB -:10E580000E940BB94091D8085091D9086091DA08DF -:10E590007091DB088DEC9EE20E94D6B82CEA35EC37 -:10E5A00047E25EE36091DC087091DD088091DE084F -:10E5B0009091DF080F94E517AB01BC018AEC9EE255 -:10E5C0000E94D6B82CEA35EC47E25EE36091E008A1 -:10E5D0007091E1088091E2089091E3080F944D104A -:10E5E000AB01BC0187EC9EE20E94D6B88AE00E9493 -:10E5F000234DC11108C00E940BB986EB9EE20E9418 -:10E6000027B70E940BB98FE2E82E81E1F82E00E0D7 -:10E6100010E0B8018DEA9EE20E94E7B8F70141914F -:10E620005191619171917F018AEA9EE20E94D6B870 -:10E630008AE00E94234D0F5F1F4F0230110549F7FA -:10E64000C11108C00E940BB98BE89EE20E9427B757 -:10E650000E940BB98EE39EE20E9427B740911E1DD7 -:10E6600050911F1D6091201D7091211D86E89EE232 -:10E670000E94D6B840911A1D50911B1D60911C1D1F -:10E6800070911D1D83E89EE20E94D6B88AE00E9428 -:10E69000234DC11102C00E940BB98EE39EE20E947D -:10E6A00027B74091261D5091271D6091281D70911C -:10E6B000291D8EE79EE20E94D6B84091221D5091FE -:10E6C000231D6091241D7091251D8BE79EE20E9401 -:10E6D000D6B88AE00E94234DC11108C00E940BB930 -:10E6E0008BE69EE20E9427B70E940BB981E00E9450 -:10E6F0005BACC11108C00E940BB982E59EE20E948A -:10E7000027B70E940BB96091560270E089E49EE23F -:10E710000E94E7B840916F025091700260917102BF -:10E720007091720286E49EE20E94D6B88AE0CF9190 -:10E730001F910F91FF90EF90DF90CF90BF90AF901F -:10E740009F908F900C94234DCF9381E08093151D63 -:10E750000E94BBE41092151D882309F446C00E9454 -:10E76000BBE4C82F84EB97E00E942E4E6091801985 -:10E7700070918119072E000C880B990B0F94EE0FE6 -:10E78000AB01BC018EEB9DE20E94D6B88AE00E94EC -:10E79000234D6091801970918119072E000C880B10 -:10E7A000990B0F94EE0F20E030E048EC52E40F9408 -:10E7B0004D100F9457187093291B6093281B85E008 -:10E7C00080931C1B82E880931F1B86E290E1A0E0EF -:10E7D000B0E08093201B9093211BA093221BB09349 -:10E7E000231B0E94C1EB8C2F0BC00E94EAEE0E94FB -:10E7F00028CF0E940BB987ED9DE20E9427B780E0E9 -:10E80000CF9108958F929F92AF92BF92CF92DF9255 -:10E81000EF92FF920F931F93CF93DF93F0E2FF2EBF -:10E82000E12CAE2DB0E0BD016F0D711D75956795A2 -:10E83000611103C0E9EAF2E306C06E1511F0F612A9 -:10E840000BC0E5E2F3E365917491072E000C880B91 -:10E85000990B0F94EE0F62C09B0121503109220FDA -:10E86000331F220F331FF901E955FD4C0591149117 -:10E87000AB01440F551F440F551FFA01E955FD4CDC -:10E88000C591D4918017910714F4F62ECCCFC817F8 -:10E89000D90714F4E62EC5CFF901E755FD4CE590F4 -:10E8A000F490FA01E755FD4CC590D490BC01601B73 -:10E8B000710B072E000C880B990B0F94EE0F4B0178 -:10E8C0005C01B6016E197F09072E000C880B990BAD -:10E8D0000F94EE0F9B01AC01C501B4010F944D10D4 -:10E8E0004B015C01C01BD10BBE01DD0F880B990BE6 -:10E8F0000F94EE0F9B01AC01C501B4010F94E51715 -:10E900004B015C01B701FF0C880B990B0F94EE0FC4 -:10E910009B01AC01C501B4010F94EB16DF91CF91BF -:10E920001F910F91FF90EF90DF90CF90BF90AF902D -:10E930009F908F9008958F929F92AF92BF92CF92A7 -:10E94000DF92EF92FF920F931F93CF93DF93C62F27 -:10E95000662381F00E9407B96C2F70E080E090E0A0 -:10E960000E94974D89E892E30E9427B780E090E0EB -:10E970000E9467ECF0E4FF2EE12CAE2DB0E0BD016B -:10E980006F0D711D75956795611103C0EFEDF0E393 -:10E9900006C06E1511F0F6120BC0EBEDF1E36591B8 -:10E9A0007491072E000C880B990B0F94EE0F62C028 -:10E9B0009B0121503109220F331F220F331FF90110 -:10E9C000E352FF4C05911491AB01440F551F440FC6 -:10E9D000551FFA01E352FF4CC591D491801791075E -:10E9E00014F4F62ECCCFC817D90714F4E62EC5CFF1 -:10E9F000F901E152FF4CE590F490FA01E152FF4C2D -:10EA0000C590D490BC01601B710B072E000C880BC5 -:10EA1000990B0F94EE0F4B015C01B6016E197F0943 -:10EA2000072E000C880B990B0F94EE0F9B01AC0185 -:10EA3000C501B4010F944D104B015C01C01BD10BFB -:10EA4000BE01DD0F880B990B0F94EE0F9B01AC01FB -:10EA5000C501B4010F94E5174B015C01B701FF0C30 -:10EA6000880B990B0F94EE0F9B01AC01C501B4010B -:10EA70000F94EB16DF91CF911F910F91FF90EF90C4 -:10EA8000DF90CF90BF90AF909F908F900895EF92BE -:10EA9000FF920F931F93CF93C82F7B018A01809120 -:10EAA00036028823D1F00E9407B9C7010E9427B718 -:10EAB00081EE91E30E9427B7C7FD08C06C2FCC0FF1 -:10EAC000770B880B990B0E94974D04C08DED91E355 -:10EAD0000E9427B78AE00E94234D0E947E92809177 -:10EAE0004A1D811108C081E080934A1D10923602B0 -:10EAF000C8010E9467ECCF911F910F91FF90EF909A -:10EB000008952F923F924F925F926F927F928F92D1 -:10EB10009F92AF92BF92CF92DF92EF92FF920F93AC -:10EB20001F93CF93DF93CDB7DEB763970FB6F894FB -:10EB3000DEBF0FBECDBF8091491D81111DC08091E8 -:10EB4000D51181111DC063960FB6F894DEBF0FBEBC -:10EB5000CDBFDF91CF911F910F91FF90EF90DF908C -:10EB6000CF90BF90AF909F908F907F906F905F906D -:10EB70004F903F902F90089580E090E00E9467ECC6 -:10EB80000E94ED920E94EE682B013C0160911402FC -:10EB900070911502072E000C880B990B0F94EE0F45 -:10EBA0009B01AC016091BA087091BB088091BC08D0 -:10EBB0009091BD080F944B1918163CF446E652E3A9 -:10EBC00069E772E380E00E9447F58091D3118823C2 -:10EBD00009F4F7C16091BE087091BF08072E000CC0 -:10EBE000880B990B0F94EE0F69837A838B839C8338 -:10EBF0003AE0E32EF12C0CE310E020E0AE014F5F91 -:10EC00005F4F6AEB78E089E79DE10E947090C090C9 -:10EC1000BA08D090BB08E090BC08F090BD086091A5 -:10EC2000120270911302072E000C880B990B0F949F -:10EC3000EE0F9B01AC01C701B6010F944B191816DA -:10EC40000CF49AC060E06093C0088091C01190916C -:10EC5000C111A091C211B091C3110097A105B105D6 -:10EC6000F9F0A3019201281B390B4A0B5B0B57FDEE -:10EC700017C06091BE117091BF1180E090E00F94B9 -:10EC8000EC0F9B01AC01C701B6010F94E70F87FFA2 -:10EC90000AC345E452E367E572E380E00E9447F56A -:10ECA00020E030E046E153E46091D1087091D20851 -:10ECB0008091D3089091D4080F944B1918160CF436 -:10ECC000D2C18091C6119091C711A091C811B09185 -:10ECD000C9110097A105B10529F1A3019201281BD3 -:10ECE000390B4A0B5B0B57FD1DC06091C41170912D -:10ECF000C51180E090E00F94EC0F9B01AC01609196 -:10ED0000D1087091D2088091D3089091D4080F94C3 -:10ED1000E70F87FFB0C14FEF51E362E172E38FEF7E -:10ED20000E9447F58091CE11882309F483C1609138 -:10ED3000D5087091D608072E000C880B990B0F94FC -:10ED4000EE0F69837A838B839C8392E0E92EF12C0A -:10ED500002E310E02FEFAE014F5F5F4F61ED78E00F -:10ED600084E79DE10E9470908091CE11882309F480 -:10ED700041C11092D708E7CE60911402709115023C -:10ED8000072E000C880B990B0F94EE0F9B01AC0122 -:10ED9000C701B6010F94E70F87FF54CF6091BE08FB -:10EDA0007091BF086115710509F478C2072E000C37 -:10EDB000880B990B0F94EE0FA70196010F94EA169A -:10EDC0004B015C0120E030E040E251EC0F94E70F92 -:10EDD00087FD64C28091D311811160C220E030E0D0 -:10EDE00040E251E4C501B4010F944B1918160CF41C -:10EDF00067C28091731D811167C280916B1D9091D4 -:10EE00006C1DA0916D1DB0916E1D8D839E83AF838F -:10EE1000B88720916F1D3091701D4091711D5091E8 -:10EE2000721D29873A874B875C87A70196016091FD -:10EE30005F1D7091601D8091611D9091621D0F9406 -:10EE4000EA162091C9083091CA084091CB08509128 -:10EE5000CC080F944D102D813E814F8158850F9421 -:10EE6000EA1620ED3CEC4CE45DE30F944D102D814F -:10EE70003E814F8158850F94EB166D837E838F837F -:10EE8000988760936B1D70936C1D80936D1D90939C -:10EE90006E1D8091C5089091C608A091C708B091D9 -:10EEA000C8088D879E87AF87B88B29853A854B85A3 -:10EEB0005C85C501B4010F94EB16162F072F1C01BA -:10EEC00020E030E0A9010F94E70F87FD12C22D85E5 -:10EED0003E854F85588960E070E08FE793E40F949A -:10EEE000E5176987798B8A8B9B8B212F302FA101A6 -:10EEF0000F94E70F87FF04C0198509892A883B888A -:10EF0000812F902FD10180936F1D9093701DA0933E -:10EF1000711DB093721D2091C1083091C2084091BB -:10EF2000C3085091C408C501B4010F944D104B01A2 -:10EF30005C016093631D7093641D8093651D9093C5 -:10EF4000661D212F302FA1016D857E858F859889C3 -:10EF50000F944D109B01AC016093671D7093681D69 -:10EF60008093691D90936A1DC501B4010F94EB163F -:10EF70002D813E814F8158850F94EB1620E030E0C3 -:10EF8000A9010F94EB164B015C0120E030E0A901D0 -:10EF90000F94E70F87FD85C120E030E04FE753E491 -:10EFA000C501B4010F944B1918160CF070C16FE72E -:10EFB000C0925F1DD092601DE092611DF092621DB3 -:10EFC00042CE8091CF119091D011A091D111B091EA -:10EFD000D2110097A105B10509F4FCCDA30192015E -:10EFE000281B390B4A0B5B0B57FDF4CD81E0809356 -:10EFF000D311F0CDC090D108D090D208E090D308C2 -:10F00000F090D40820E030E040EA50E4C701B601B7 -:10F010000F944B1987FD0AC020E030E046E153E42D -:10F02000C701B6010F94E70F181644F560E060932E -:10F03000D70889CD8091CA119091CB11A091CC11A4 -:10F04000B091CD110097A105B10509F470CEA301CF -:10F050009201281B390B4A0B5B0B57FD68CE81E0F0 -:10F060008093CE1164CE41E252E365E372E38FEF09 -:10F070000E9447F526CE0E942F9254CE6091D5086B -:10F080007091D6086115710509F411C1072E000CA5 -:10F09000880B990B0F94EE0FA70196010F94EA16B7 -:10F0A0004B015C0120E030E040E251EC0F94E70FAF -:10F0B00087FDFDC020E030E040E251E4C501B4012D -:10F0C0000F944B1918160CF4F6C04090DC085090C1 -:10F0D000DD086090DE087090DF0880917302811176 -:10F0E000FEC020915B1D30915C1D40915D1D5091D3 -:10F0F0005E1D8091571D9091581DA091591DB09192 -:10F100005A1D8D839E83AF83B887C501B4010F94C8 -:10F11000EB16162F072F382E292E20E030E0A901FC -:10F120000F94E70F87FDEAC0A301920160E070E051 -:10F130008FE793E40F94E5176D877987898B9A8B16 -:10F14000212F302F432D522D0F94E70F87FF04C03E -:10F150001D85098539882A88812F902FA32DB22DEE -:10F1600080935B1D90935C1DA0935D1DB0935E1D0D -:10F170002091D8083091D9084091DA085091DB08E5 -:10F18000C501B4010F944D104B015C0160934F1DFC -:10F190007093501D8093511D9093521D212F302F3D -:10F1A000432D522DC301B2010F944D102B013C0190 -:10F1B0006093531D7093541D8093551D9093561D5D -:10F1C000A701960160914B1D70914C1D80914D1DC2 -:10F1D00090914E1D0F94EA162091E0083091E108BD -:10F1E0004091E2085091E3080F944D102D813E812B -:10F1F0004F8158850F94EA1620ED3CEC4CE45DE31A -:10F200000F944D102D813E814F8158850F94EB1640 -:10F210006D837E838F8398876093571D7093581DED -:10F220008093591D90935A1DC0924B1DD0924C1D36 -:10F23000E0924D1DF0924E1DA3019201C501B40153 -:10F240000F94EB162D813E814F8158850F94EB165C -:10F2500020E030E0A9010F94EB166B017C0120E067 -:10F2600030E0A9010F94E70F87FDE0CE20E030E009 -:10F270004FE753E4C701B6010F944B191816F4F089 -:10F28000C701B6010F94571875956795D0CEC50183 -:10F29000B4010F945718759567958ACE81E08093D5 -:10F2A000731D60E085CE80E00E949E92F9CC81E0E3 -:10F2B00080937302BBCE81E0809373026FE7B7CE79 -:10F2C00081E08093731D73CE1092731D19861A8688 -:10F2D0001B861C861D821E821F821886A6CD109258 -:10F2E00073021D821E821F82188620E030E0A90171 -:10F2F0000CCF10E000E0212C312C02CE10E000E019 -:10F30000312C212C29CF6F3F710519F010F06FEFD0 -:10F3100070E09091770B981741F0823040F4E82F1D -:10F32000F0E0EB5DFD4E6083089560932712089531 -:10F3300090916F00292F227091FF05C090916F006E -:10F340009D7F90936F0034E0839FC0011124FC01E6 -:10F35000E75CF24E4081518162817381FC01E35D83 -:10F36000F24E408351836283738381E080932C1D2E -:10F37000222329F080916F00826080936F000895AE -:10F3800090916F00292F227091FF05C090916F001E -:10F390009D7F90936F0094E0899FF0011124E75CBA -:10F3A000F24E6081718182819381222329F0209124 -:10F3B0006F00226020936F000895BC0120912A1DE8 -:10F3C00030912B1D40912A1D50912B1D241735077C -:10F3D00011F09A01F7CF81E02617370709F080E096 -:10F3E000089580917E1D90917F1D009731F04AE035 -:10F3F00050E060E070E00D940B0E60E070E0CB0137 -:10F4000008958F929F92AF92BF92CF92DF92EF9228 -:10F41000FF928091C41881FD09C08091C51881FDBB -:10F4200005C08091C6188C7009F48AC082E40E94DD -:10F43000D57E882351F00E94F1F96093E911709311 -:10F44000EA118093EB119093EC1183E50E94D57E35 -:10F45000882351F00E949E7E6093191270931A12B5 -:10F4600080931B1290931C1284E50E94D57E882302 -:10F4700051F00E949E7E60931D1270931E12809325 -:10F480001F12909320128AE40E94D57E882309F4EB -:10F4900057C00E949E7E6B017C012AE037ED43E25B -:10F4A0005CE30F944B1987FD3DC02AE939E949E92E -:10F4B0005EE3C701B6010F94E70F18169CF1C092E6 -:10F4C0001311D0921411E0921511F092161160915F -:10F4D000E5117091E6118091E7119091E8110F9478 -:10F4E000EC0F4B015C0123EF34E045E35FE3C70120 -:10F4F000B6010F944D109B01AC01C501B4010F94EE -:10F500004D1029E732E84AE550E40F944D100F946E -:10F51000991960932B1170932C1180932D11909356 -:10F520002E110EC00E9407B989ED93E3FF90EF9072 -:10F53000DF90CF90BF90AF909F908F900C9427B7A3 -:10F54000FF90EF90DF90CF90BF90AF909F908F9003 -:10F550000895CF92DF92EF92FF920F931F93CF9374 -:10F56000DF9388E50E94D57ED82E89E40E94D57E5F -:10F57000C82E882321F00E949A7E182F27C0DD20F4 -:10F5800011F10E949E7E2091D9183091DA18409195 -:10F59000DB185091DC180F94EA1620E030E040EAC6 -:10F5A00050E40F94EA1620E030E040E152E40F947A -:10F5B000EB1629E33EE843E65CE30F944D100F940D -:10F5C0005718653010F01FEF01C0162F89E50E9413 -:10F5D000D57E082F8AE40E94D57EC82F882321F08B -:10F5E0000E949A7ED82F27C0002311F10E949E7E90 -:10F5F0002091DD183091DE184091DF185091E0180D -:10F600000F94EA1620E030E048EC51E40F94EA163B -:10F6100020E030E048EF51E40F94EB1628E031E2AF -:10F6200044E85CE30F944D100F945718653010F0C8 -:10F63000DFEF01C0D62F8AE50E94D57EE82E81112A -:10F6400005C081E50E94D57EF82E01C0F12CC110C5 -:10F6500001C0C0E08C2F90E0D11001C000E0800F0D -:10F66000911D019721F4E11007C0F11005C00E941F -:10F6700007B989EB93E308C017FD02C0D7FF0EC09E -:10F680000E9407B98AE993E3DF91CF911F910F910F -:10F69000FF90EF90DF90CF900C9427B70E949E7E52 -:10F6A0009B01AC01012F110F110BAD2FDD0FBB0B17 -:10F6B000FF2099F085E0809FF001819FF00D1124DB -:10F6C000EA0FFB1FEE0FFF1FEE0FFF1FEB50F74E71 -:10F6D000608171818281938103C060E070E0CB0121 -:10F6E000E5E0E09FE001E19FD00D1124CA0FDB1F90 -:10F6F000CC0FDD1FCC0FDD1FCB50D74E0F94EB1678 -:10F70000688379838A839B83DF91CF911F910F91C7 -:10F71000FF90EF90DF90CF900895CF93C62F0E9477 -:10F720001E7F882319F0CF910C94767E8C2FCF9179 -:10F7300008952F923F924F925F926F927F928F9295 -:10F740009F92AF92BF92CF92DF92EF92FF920F9370 -:10F750001F93CF93DF93CDB7DEB762970FB6F894C0 -:10F76000DEBF0FBECDBF83E50E94D57E882349F062 -:10F770000E948A7E182F811106C080E00E94ACB6DC -:10F7800002C01091900B8091780B9091790BA09111 -:10F790007A0BB0917B0B89839A83AB83BC83809176 -:10F7A0007C0B90917D0BA0917E0BB0917F0B8D8394 -:10F7B0009E83AF83B8878091800B9091810BA0913D -:10F7C000820BB091830B89879A87AB87BC8786E5CC -:10F7D0000E94D57E682E0E94CBB6882309F4B1C062 -:10F7E00083E40E94D57E882309F4B6C00E949E7EE1 -:10F7F0001B012C01712C812C68EC962E72ECA72E2B -:10F80000B12CC12C28EC2F8732E4388B85E08D8712 -:10F810009D8591509D879F3FD9F1E5E0EE8735E0CA -:10F82000399F900111243A8B298B3E8531503E87B8 -:10F830003F3F71F3E989FA89E30FF11DEE0FFF1FD6 -:10F84000EE0FFF1FEB50F74ED080E180F280038176 -:10F850002B2D3C2D4F8558896D2D7E2D8F2D902F72 -:10F860000F94E70F87FF04C0BD2CCE2CFF86088BBA -:10F870002D2D3E2D4F2D502F672D782D892D9A2D12 -:10F880000F94E70F87FFD1CF7D2C4701A02ECDCF5E -:10F89000272D382D492D5A2D6B2D7C2D8F8598893C -:10F8A0000F94EB1620E030E040E05FE30F944D1042 -:10F8B000A20191010F94EB161B012C012DEB37E3F4 -:10F8C00046E855EB0F944B1987FD0AC02DEB37E343 -:10F8D00046E855E3C201B1010F94E70F1816E4F5AD -:10F8E00080E00E94ACB605E045E0C42E0150A0F1D6 -:10F8F00035E0D32EC09E50011124DA949FEFD91623 -:10F90000A9F37501ED0CF11CC701880F991F880F31 -:10F91000991FFC01EB50F74E7F01A201910160811C -:10F920007181828193810F94EA169B01AC01F701EA -:10F9300060837183828393836D2D802F0E948BBEA1 -:10F94000DCCF111102C0662099F00E940BB98CE740 -:10F9500093E30E9427B718C0662051F00E94CBB6EF -:10F96000882331F086E693E30E9427B70E9412B8FD -:10F970008AE50E94D57E882321F00E949E7E0E9407 -:10F98000E462812F0E94ACB6112351F08091900B5C -:10F99000811106C00E9407B987E493E30E9427B74C -:10F9A0000E940BB989E393E30E9427B78091900BE3 -:10F9B0000E94ACB80E940BB98CE293E30E9427B777 -:10F9C000C090910BD090920BE090930BF090940B21 -:10F9D00020E030E0A901C701B6010F944B191816B9 -:10F9E00044F442E0C701B6010E94B34D0E94284E84 -:10F9F00004C087E293E30E9427B74CE050E068E739 -:10FA00007BE0CE0101960F940A1A892BD1F0629601 -:10FA10000FB6F894DEBF0FBECDBFDF91CF911F911F -:10FA20000F91FF90EF90DF90CF90BF90AF909F909D -:10FA30008F907F906F905F904F903F902F900C949D -:10FA40005DE362960FB6F894DEBF0FBECDBFDF91C7 -:10FA5000CF911F910F91FF90EF90DF90CF90BF90CB -:10FA6000AF909F908F907F906F905F904F903F905E -:10FA70002F900895CF92DF92EF92FF92CF93DF9372 -:10FA8000EC016A017B0127E137EB41ED58EBC7013F -:10FA9000B6010F944B1987FD23C023E030E046E9FF -:10FAA00053E4C701B6010F94E70F1816CCF0C880D5 -:10FAB000D980EA80FB8027E137EB41ED58EBC701A5 -:10FAC000B6010F944B1987FD0BC0C1E023E030E075 -:10FAD00046E953E4C701B6010F94E70F18160CF47A -:10FAE000C0E08C2FDF91CF91FF90EF90DF90CF900F -:10FAF0000895CF93DF93D0915C1281ED97E00E943F -:10FB00002E4E80915712873009F445C083E08093D0 -:10FB1000561281E08093550280E190E09093291B7A -:10FB20008093281B85E080931C1BC2E8C0931F1B99 -:10FB300084E190E1A0E0B0E08093201B9093211B32 -:10FB4000A093221BB093231B0E94C1EB61E070E0E5 -:10FB500080E090E00E9470BE81E09AE59093291BBE -:10FB60008093281B85E390E090932B1B80932A1BA6 -:10FB700087E080931C1BC0931F1B84E890E0A0E0EB -:10FB8000B0E08093201B9093211BA093221BB09385 -:10FB9000231B0E94C1EB80915C12813081F1823085 -:10FBA00059F40E9424D46093841D7093851D809322 -:10FBB000861D9093871D02C00E9458D481E08093D7 -:10FBC0005C120E94EE686093801D7093811D80938B -:10FBD000821D9093831DD230A1F08091E80890910E -:10FBE000E90801969093E9088093E80810925D1265 -:10FBF00010925E1210925F121092601202C080E0AA -:10FC000001C081E0DF91CF910895CF93DF9300D0C1 -:10FC10001F92CDB7DEB78091E7088823A9F083E370 -:10FC200090E09C838B831A8219829E012F5F3F4F45 -:10FC300040E150E068EE78E0CE0103960E94CF4CA0 -:10FC400085E497E00E942E4E0F900F900F900F903A -:10FC5000DF91CF910895CF93DF9300D01F921F9231 -:10FC6000CDB7DEB781E08093E708E8EEF8E080E109 -:10FC7000DF011D928A95E9F70E9405FE86E18D83DA -:10FC800082E390E09C838B831A8219829E012F5F0E -:10FC90003F4F41E050E0BE016B5F7F4FCE010396C6 -:10FCA0000E94CF4C0F900F900F900F900F90DF910C -:10FCB000CF9108951F920F920FB60F9211242F9398 -:10FCC0003F938F939F93AF93BF938091020B90913B -:10FCD000030BA091040BB091050B3091881D23E01C -:10FCE000230F2D3720F40196A11DB11D05C026E874 -:10FCF000230F0296A11DB11D2093881D8093020B36 -:10FD00009093030BA093040BB093050B8091060B0B -:10FD10009091070BA091080BB091090B0196A11DC2 -:10FD2000B11D8093060B9093070BA093080BB09323 -:10FD3000090BBF91AF919F918F913F912F910F90A0 -:10FD40000FBE0F901F901895CF93DF93CDB7DEB7FE -:10FD5000A9970FB6F894DEBF0FBECDBF789484B5D7 -:10FD6000826084BD84B5816084BD85B5826085BDB7 -:10FD700085B5816085BD80916E00816080936E0045 -:10FD80001092810080918100826080938100809137 -:10FD900081008160809381008091800081608093E8 -:10FDA00080008091B10084608093B1008091B000A8 -:10FDB00081608093B0008091910082608093910077 -:10FDC000809191008160809391008091900081608A -:10FDD000809390008091A10082608093A100809127 -:10FDE000A10081608093A1008091A0008160809338 -:10FDF000A0008091210182608093210180912101E6 -:10FE00008160809321018091200181608093200195 -:10FE100080917A00846080937A0080917A00826079 -:10FE200080937A0080917A00816080937A0080913B -:10FE30007A00806880937A001092C1006C98749A5E -:10FE4000809104018E7F809304018091050180954B -:10FE50008170809303011092B4080E94694C109243 -:10FE6000C0008091C00082608093C0001092C500E5 -:10FE700087E08093C4008091C10080618093C100BD -:10FE80008091C10088608093C1008091C10080682A -:10FE90008093C1000E94EE6885EC9FE00E9427B726 -:10FEA0000E940BB914B710FF04C08CEB9FE00E94B6 -:10FEB00027B711FF04C08BEA9FE00E9427B712FF0B -:10FEC00004C089E99FE00E9427B713FF04C088E8B7 -:10FED0009FE00E9427B715FF04C087E79FE00E94BC -:10FEE00027B714BE80E79FE00E9427B780E20E94F8 -:10FEF000234D87E69FE00E9427B78AE00E94234DAA -:10FF00000E940BB987E59FE00E9427B78CE49FE031 -:10FF10000E9427B781E39FE00E9427B70E940BB998 -:10FF20008AE19FE00E9427B70E940BB98091891D4A -:10FF300090918A1D9E012F5F3F4F7901B901009773 -:10FF400019F0681B790B02C06F587D418BE09FE070 -:10FF50000E94E7B860E475E084EF9EE00E94E7B895 -:10FF60008AE00E94234D80910A018E7F80930A01CE -:10FF700080910B018095817080930901E091921925 -:10FF8000F091931982E08083E0918E19F0918F199E -:10FF90001082E0919019F091911980E18083109284 -:10FFA0009A19E0919619F091971986E08083E09173 -:10FFB0009419F0919519808180618083E091941962 -:10FFC000F0919519808188608083E0919419F09177 -:10FFD0009519808180688083E0919419F09195193A -:10FFE00080818F7D80838AE580931D1B8093CD1A4D -:10FFF00085EA80931E1B8093CE1A8AE1ECE6FBE132 -:020000022000DC -:10000000DF011D928A95E9F780E290E0A0E0B0E080 -:100010008093080290930902A0930A02B0930B0206 -:100020008091E408882319F083E090E002C082E028 -:1000300090E09093291B8093281B85E080931C1BE4 -:1000400082E880931F1B8FE190E1A0E0B0E08093F5 -:10005000201B9093211BA093221BB093231B0E9473 -:10006000C1EB84E690E09093291B8093281B05E068 -:1000700000931C1B12E810931F1B86E090E1A0E088 -:10008000B0E08093201B9093211BA093221BB09380 -:10009000231B0E94C1EB8BE090E09093291B80937F -:1000A000281B00931C1B10931F1B80E092E1A0E013 -:1000B000B0E08093201B9093211BA093221BB09350 -:1000C000231B0E94C1EB1092291B1092281B009346 -:1000D0001C1B10931F1B84E390E1A0E0B0E0809311 -:1000E000201B9093211BA093221BB093231B0E94E3 -:1000F000C1EB1092291B1092281B00931C1B10931C -:100100001F1B8AE390E1A0E0B0E08093201B909356 -:10011000211BA093221BB093231B0E94C1EB609173 -:10012000BA087091BB088091BC089091BD080F94EB -:1001300057187093291B6093281B00931C1B109366 -:100140001F1B86E390E1A0E0B0E08093201B90931A -:10015000211BA093221BB093231B0E94C1EB609133 -:10016000D1087091D2088091D3089091D4080F944F -:1001700057187093291B6093281B00931C1B109326 -:100180001F1B8CE390E1A0E0B0E08093201B9093D4 -:10019000211BA093221BB093231B0E94C1EB82E082 -:1001A00090E09093291B8093281B00931C1B1093B5 -:1001B0001F1B8EE190E1A0E0B0E08093201B9093A4 -:1001C000211BA093221BB093231B0E94C1EB81E053 -:1001D00080930702B0E68B2EB0E19B2EA12CB12CB0 -:1001E00015E0C12E02E8D02E1092291B1092281B78 -:1001F00005E0C0921C1B12E8D0921F1B8092201BAE -:100200009092211BA092221BB092231B0E94C1EB53 -:10021000BFEF8B1A9B0AAB0ABB0AE4E78E16E0E13C -:100220009E06A104B10401F784E1D7011D928A95CD -:10023000E9F781E08F9390E99F938F939CE29F93DE -:100240008F939F9386E496E09F938F93FF92EF9214 -:100250000F94781A40E650E160E070E083E596E0A4 -:100260000E9470EB4AE650E160E070E08DE596E0B8 -:100270000E9470EB44E750E160E070E0C7010E942B -:1002800070EB4EE750E160E070E08DEE94E00E948C -:1002900070EB1092291B1092281B00931C1B1093CB -:1002A0001F1B8EE090E1A0E0B0E08093201B9093B4 -:1002B000211BA093221BB093231B0E94C1EB109221 -:1002C000291B1092281B00931C1B10931F1B8FE0EF -:1002D00090E1A0E0B0E08093201B9093211BA093BD -:1002E000221BB093231B0E94C1EBEDB7FEB73A96D9 -:1002F0000FB6F894FEBF0FBEEDBFAAE08A2EA0E2B3 -:100300009A2EA12CB12C15E002E8412C512C32017F -:100310001092291B1092281B10931C1B00931F1B6B -:10032000D301C201880D991DAA1DBB1D8093201BFE -:100330009093211BA093221BB093231B0E94C1EB1F -:10034000FFEF4F1A5F0A6F0A7F0A2AE04216510434 -:1003500061047104E9F63AE0830E911CA11CB11C02 -:1003600042ED841640E29406A104B10471F6812C9A -:10037000F0E29F2EA12CB12C05E012E81092291B6F -:100380001092281B00931C1B10931F1B8092201B94 -:100390009092211BA092221BB092231B0E94C1EBC2 -:1003A0001092291B1092281B00931C1B10931F1BDB -:1003B000D501C4018C529F4FAF4FBF4F8093201B7C -:1003C0009093211BA093221BB093231B0E94C1EB8F -:1003D0005FEF851A950AA50AB50A8AE0881680E2B9 -:1003E0009806A104B10451F6EEED8E2EE0E29E2EA9 -:1003F000A12CB12C05E012E81092291B1092281BA9 -:1004000000931C1B10931F1B8092201B9092211B9A -:10041000A092221BB092231B0E94C1EB9FEF891A6E -:10042000990AA90AB90AA6EE8A16A0E29A06A104B8 -:10043000B10411F78824839462E1962EA12CB12C8B -:100440007AE0C72ED12C05E012E8D092291BC09289 -:10045000281B00931C1B10931F1B8092201B909243 -:10046000211BA092221BB092231B0E94C1EBD092B1 -:10047000291BC092281B00931C1B10931F1BD50126 -:10048000C4018096A11DB11D8093201B9093211B58 -:10049000A093221BB093231B0E94C1EBBFEF8B1ACA -:1004A0009B0AAB0ABB0AE5E18E16E2E19E06A104B7 -:1004B000B10459F681E796E00E942E4E0E94F8D5CD -:1004C0000E947C4C4CEFC42E48E0D42E08E71BE081 -:1004D00054E8A52E5BE0B52ED6012D913D914D91AE -:1004E0005D916D01F80160817181828193810F942A -:1004F000EB16D8016D937D938D939D938D01AA1674 -:10050000BB0651F70E945BE3249A2C98809101016D -:1005100080628093010180910201807280930001CA -:1005200080910101806480930101809101018061CB -:100530008093010187ED80937A0010927E001092E3 -:100540007D0080917D00806280937D0080917D00A0 -:10055000806480937D0080E888BD80916E00846017 -:1005600080936E006AEF70E080E090E00E94B468D3 -:1005700085E090E0909313028093120200910E02A6 -:1005800010910F0260E0C8010E949BF420E030E06F -:1005900040EA50E40F94E70F87FF07C000511109AC -:1005A00010930F0200930E02E9CF8BE391E090933A -:1005B000150280931402009110021091110260E064 -:1005C000C8010E949BF420E030E84DE953E40F9409 -:1005D0004B1918163CF4005F1F4F10931102009343 -:1005E0001002E9CF00910C0210910D02C8010E9487 -:1005F00002F420E030E040EA50E40F94E70F87FF78 -:1006000007C00051110910930D0200930C02EACFAC -:100610000091E5081091E608C8010E9402F420E06C -:1006200030E046E153E40F944B1918163CF4005F98 -:100630001F4F1093E6080093E508EACF0E9458D4B4 -:1006400019A682E390E09AA389A31A8219821E0157 -:10065000B1E22B0E311C01E0970141E050E0BE01F8 -:10066000675D7F4FC1010E94924C89A5863119F0C8 -:100670000E942BFE0FC083E390E09AA389A31A8205 -:10068000198201E0970140E150E068EE78E0C10195 -:100690000E94924C81E08093E7086D98759A809152 -:1006A00004018D7F80930401809105018095827003 -:1006B0008093030153985B9A1092F9081092F808FE -:1006C0000E94B0E4819A879A80910A0182608093A7 -:1006D0000A010E9A3B9A579A5F9A829A8A9A809157 -:1006E00007018160809307018091080180958170E6 -:1006F000809306010A9A129A3F9A479A809A88989C -:100700005F9A809180198E7F80938019869A8E9847 -:100710008A9A809180198D7F8093801980910A0137 -:10072000886080930A0180910B0188708093090191 -:1007300080910801809581708093060180918019D5 -:100740008B7F809380190C9A1498129A399A419849 -:10075000479A809180008C7F8093800080918100F7 -:10076000877E886080938100809180008F73809362 -:10077000800080918100887F82608093810080E08A -:1007800090E49093890080938800109285001092E5 -:10079000840080916F00826080936F00789486E07F -:1007A0008093FA080E94D99B98E288E10FB6F894EA -:1007B000A895809360000FBE909360001092B31BC9 -:1007C0000E943F58FE0131965F0180E00E944F4E2B -:1007D0008091B31B87FD41C08091CC1C82FD3DC040 -:1007E00083FD03C00E94E15802C00E947C4C8091AE -:1007F000CC1C83FF2FC08091B31B082E000C990BDB -:10080000C0969F938F932CEC3FE03F932F933F92A2 -:100810002F920F947F0F88E79AE10E9449950F90DD -:100820000F900F900F900F900F9080917B1A823055 -:1008300088F08091801A9091811AA091821AB091CB -:10084000831A8F719927AA27BB27892B8A2B8B2B79 -:1008500009F466C1FFEFF093B31B8091CC1C85FFB8 -:100860001EC00E94705810928C0A109208091092B3 -:100870008B0A0E94FDDA0E9413D90E94AD630E9488 -:100880005BE30E94EEA40E947E920E94884C10922C -:1008900016022EE130E130930A09209309098DB642 -:1008A0009EB66091090970910A096115710581F080 -:1008B000E12CF12CFB01EE0DFF1D749087010F5F01 -:1008C0001F4F772039F03AE0731621F07801F2CF0C -:1008D00080E02CC0EDB7FEB7E01BF10B0FB6F8942B -:1008E000FEBF0FBEEDBF2DB73EB72F5F3F4F690173 -:1008F000A701C9010F94210FF601EE0DFF1D108213 -:10090000772009F445C18091090990910A09080FDF -:10091000191F10930A0900930909EF2831F0C60145 -:100920000E944FC880E00E94383681E00FB6F894EC -:100930009EBE0FBE8DBE8111C3C080918C0A8823DC -:1009400009F4BEC08091CC1C80FFA4C000918B0A2A -:1009500040E6409F80011124055F164F6FEF7FE056 -:10096000C8010F94650F009769F0DC0113968C9114 -:1009700080538A3038F00E94F5638CEE9FE00E942D -:1009800027B78BC0F80101900020E9F731977F016C -:10099000E01AF10A10921F1A6EE470E0C8010F9479 -:1009A0003E1A6C01892B09F400C160E270E0C601B7 -:1009B0000F943E1A8C010F5F1F4F6AE270E0C60170 -:1009C0000F943E1AFC013197BDE0B1832AE02283E7 -:1009D0001382F80101900020E9F731977F01E01AB6 -:1009E000F10A8091221A813009F0DBC08091201A2F -:1009F00081FFD7C082FF16C04091301A5091311A42 -:100A00006091321A7091331A8091271A9091281AA6 -:100A1000A091291AB0912A1A84179507A607B7073B -:100A200009F0B9C04091271A5091281A6091291AEB -:100A300070912A1AE114F10409F0BEC08091301AB5 -:100A40009091311AA091321AB091331A84179507F8 -:100A5000A607B70768F44093301A5093311A609391 -:100A6000321A7093331A8091201A80688093201A6A -:100A70008091201A83FDB0C180911F1A882331F024 -:100A80000E9407B985ED9FE00E9427B78091CC1C9A -:100A900081FF03C00E940DCF02C00E9458C7809101 -:100AA0008C0A882369F0815080938C0A80918B0A8C -:100AB0008F5F843018F480938B0A02C010928B0AE7 -:100AC00080918D0A882339F190918D0A80918E0A48 -:100AD000981709F10E940BB98FE090E10E9427B7A7 -:100AE00080918D0A80FD7FC180918D0A84FD7BC13C -:100AF00080918D0A81FD81C180918D0A85FD7DC126 -:100B000080918D0A82FD83C180918D0A86FD7FC10F -:100B10008AE00E94234D80918D0A80938E0A55CEE3 -:100B200040E050E0B50188E79AE10E940B98181662 -:100B30000CF090CEF50101900020E9F73197FE2EE0 -:100B4000FA18FA945FEFF51669F085010F0D111D83 -:100B5000F7FC1A95D8018C9190E00F94021AF801D5 -:100B60008083EFCF8A858E3709F45FCE45E050E071 -:100B7000B101C5010F94501A892B09F056CEC1015D -:100B80000E9489588091B31B8F5F8093B31B65CE01 -:100B900000E010E0BECE8FE19AE10E940A9381113D -:100BA00041CFA1E0A0931F1A67CF31E0E31AF1080B -:100BB000F801EE0DFF1D08CF8091381A9091391A77 -:100BC000DC0114967C902FEF270D2A013B0139E0C0 -:100BD00076946794579447943A95D1F7722E74207F -:100BE0006A01B1E0DB2271104CC0C114D10409F0DC -:100BF00048C04091231A5091241A6091251A70918F -:100C0000261A411551056105710569F48091341A60 -:100C10009091351AA091361AB091371A0097A10514 -:100C2000B10539F51FC095010E94EF5D882309F4D5 -:100C3000B8CF89819A81AB81BC81E091381AF0915B -:100C4000391A2789203139F4883FEFEF9E07A10533 -:100C5000B10540F40EC0883FFFEF9F07AF07FFE0EC -:100C6000BF0738F08FE19AE10E944494811109C0D6 -:100C700098CF8093231A9093241AA093251AB093A7 -:100C8000261A80E092E08C199D0947018E159F0578 -:100C900008F44C01E091381AF091391A8091231A26 -:100CA0009091241AA091251AB091261A0297A109B1 -:100CB000B109058404C0880F991FAA1FBB1F0A949D -:100CC000D2F74685578560897189840F951FA61FC5 -:100CD000B71F9C01AD01270D311D411D511D29017B -:100CE0003A01811432E0930631F58091950D90918F -:100CF000960DA091970DB091980D481659066A0669 -:100D00007B0669F410929D0D8FEF9FEFDC018093BD -:100D1000950D9093960DA093970DB093980D980113 -:100D2000B301A20180919E0D90919F0D0E94A0950C -:100D3000811139C036CFC114D10431F54091271A41 -:100D40005091281A6091291A70912A1A8091301AAC -:100D50009091311AA091321AB091331A481759075D -:100D60006A077B0788F00E940396882309F419CF4D -:100D700091E090939D0D4092950D5092960D60924A -:100D8000970D7092980D08C041E0C301B2010E9416 -:100D9000245D882309F405CFA401B801C6018B5650 -:100DA000944F0F94171A8091271A9091281AA091A6 -:100DB000291AB0912A1A880D991DA11DB11D809381 -:100DC000271A9093281AA093291AB0932A1A080D6B -:100DD000191DE818F90826CE8FE19AE10E94439682 -:100DE00081114ACEDECE80E00E94D0DAAB01BC0198 -:100DF0008BE090E10E94D6B87BCE81E00E94D0DAF1 -:100E0000AB01BC0187E090E10E94D6B879CE82E0C8 -:100E10000E94D0DAAB01BC0183E090E10E94D6B819 -:100E200077CECF93DF938FE19AE10E947F96C2EC59 -:100E3000DCE16B97CE010E947F968BE1C43BD80723 -:100E4000C1F78DE59AE10E947F9688E79AE1DF91EC -:100E5000CF910C947F96CF93C82F8091770B8C17EE -:100E600021F061E08C2F0E94118CC093770BCF9101 -:100E7000089586E40E94D57E8093D411882351F092 -:100E80000E949E7E60931F02709320028093210235 -:100E90009093220283E50E94D57E882351F00E9420 -:100EA0009E7E60931B0270931C0280931D029093A0 -:100EB0001E0282E40E94D57E882351F00E949E7E0D -:100EC00060931702709318028093190290931A028C -:100ED0000895CF92DF92EF92FF926B017C01842FF5 -:100EE0000F942B0780E090E0A0E8BFE380934F02CF -:100EF00090935002A0935102B093520280918119B5 -:100F000081FF0E94487DC092220BD092230BE09279 -:100F1000240BF092250B80918119826080938119B6 -:100F2000FF90EF90DF90CF900895CF92DF92EF92F5 -:100F3000FF92CF93F82E0E9472BDC82F8F2D0F9471 -:100F40002B078091811981FF09C0C090220BD0909E -:100F5000230BE090240BF090250B08C0C090840B6D -:100F6000D090850BE090860BF090870B8C2F0F9420 -:100F70002B07C701B601CF91FF90EF90DF90CF9084 -:100F800008950E94F8D51092CB18109216020E9474 -:100F900002C7882321F08091CC1C82FF07C061E04A -:100FA0008DE79BE20E9436B70C9479FD84E89BE2C2 -:100FB00090930A0980930909F2CF4F925F926F9242 -:100FC0007F928F929F92AF92BF92DF92EF92FF92A9 -:100FD0000F931F93CF93DF93D82EC82FD0E0FE013D -:100FE000E150F44D64917E01EE0CFF1CEE0CFF1CF1 -:100FF000F701ED50F44D4590559065907490062E94 -:10100000000C770B880B990B0F94EE0F4B015C01D2 -:1010100020E030E040EC5FE3C301B2010F944D10DB -:10102000A50194010F944D10AB01BC0100E010E04C -:1010300098018D2D0F94A708F701E951F44D2591E2 -:10104000359145915491C501B4010F944D104B0158 -:101050005C0120E030E0A9010F94E70F882309F438 -:1010600037C000E010E09801B501A40170588D2D43 -:101070000F94A708FE01EC51F44D6491611107C073 -:101080000E940BB982EC9BE20E9427B76AE0F7014D -:10109000EA54F44D459055906590749070E080E06E -:1010A00090E00F94EE0F9B01AC01C301B2010F94CD -:1010B000E5172B013C01A5019401C501B4010F9472 -:1010C000EB16AB01BC01930182018D2D0F94A70893 -:1010D00081E090E001C0880FDA94EAF790918019DE -:1010E000982B909380199091260B892B8093260B37 -:1010F000F701E655F44D85919591A591B491E701DD -:10110000C858D44F88839983AA83BB8310927F19D0 -:1011100010927E190E945BE3F701EA5EF44F88812A -:101120009981AA81BB8180839183A283B383DF915C -:10113000CF911F910F91FF90EF90DF90BF90AF90F4 -:101140009F908F907F906F905F904F9008952F9217 -:101150003F924F925F926F927F929F92AF92BF9217 -:10116000CF92DF92EF92FF920F931F93CF93DF9373 -:10117000CDB7DEB768970FB6F894DEBF0FBECDBF10 -:101180001A012B01922EF32EC82ED12CF601E1501C -:10119000F44DE491AA24A3941E160CF4A12CBB24B4 -:1011A000B39420E030E0A901C201B1010F944B19C2 -:1011B00018160CF0B12C80E00E9491DA69837A83D2 -:1011C0008B839C8381E00E9491DA6D837E838F8381 -:1011D000988782E00E9491DA69877A878B879C875B -:1011E00083E00E9491DA6D877E878F87988BCC0C85 -:1011F000DD1CCC0CDD1C66246394712C6C0E7D1EF2 -:101200006C0C7D1CF30110821182128213829E01EC -:10121000235F3F4FAE01475F5F4FBE016B5F7F4F64 -:10122000CE0101960E9480D9F30120823182428250 -:1012300053821D8A1E8A1F8A188EE090770B20E049 -:1012400030E0A901B801892D9F2D0F94E70F81117E -:101250000AC0F601EA54F44D85919591A591B49197 -:101260008C019A2EFB2EC801A92DBF2D898B9A8B3C -:10127000AB8BBC8B8091D7119091D811892B91F4B5 -:10128000CE0145966C018E010F5E1F4F9E01235FBC -:101290003F4FAE01475F5F4FBE016B5F7F4F44978B -:1012A0000E94FA680E9413D9AB100F94AE0A689698 -:1012B0000FB6F894DEBF0FBECDBFDF91CF911F9167 -:1012C0000F91FF90EF90DF90CF90BF90AF909F90E5 -:1012D0007F906F905F904F903F902F900895109265 -:1012E00085191092841988EE93E0A0E0B0E0809315 -:1012F000861990938719A0938819B093891981E969 -:1013000093E0909383198093821985ED90E09093F8 -:101310008F1980938E1984ED90E0909391198093AA -:10132000901980ED90E0909393198093921981ED3C -:1013300090E0909395198093941982ED90E09093AA -:1013400097198093961986ED90E090939919809360 -:10135000981910929B1910929C1910929D19109235 -:101360009E191092781A10927B1A10925D1A1092A0 -:10137000601AE4EBFBE1108213827B962CE1E23CE5 -:10138000F207C9F789E18093591A10925C1A1092FA -:10139000511A10921F1A1092221A80E1ECEBFAE116 -:1013A000DF01282F1D922A95E9F7ECEAFAE1DF0127 -:1013B000282F1D922A95E9F7ECE9FAE1DF011D9249 -:1013C0008A95E9F71092981A1092991A10929A1A1F -:1013D00010929B1A1092971A1092961A1092951AC0 -:1013E0001092941A1092931A8AE580931D1B809391 -:1013F000CD1A85EA80931E1B8093CE1A8AE1ECE613 -:10140000FBE1DF011D928A95E9F781E08093861B5D -:101410008093871B8093881B8093891B80938A1BF2 -:1014200080E090E0A0EAB0E480939F1B9093A01B23 -:10143000A093A11BB093A21B80E090E0AAE9B2E4C4 -:101440008093A31B9093A41BA093A51BB093A61BF2 -:1014500080E090E0A5E1B3E48093A71B9093A81BE4 -:10146000A093A91BB093AA1B40E050E06DE573E484 -:101470004093AB1B5093AC1B6093AD1B7093AE1BA2 -:1014800040E050E862E973E44093AF1B5093B01B17 -:101490006093B11B7093B21B40E050E068EC71E4C4 -:1014A00040938B1B50938C1B60938D1B70938E1BF2 -:1014B00040E050E06EEA72E440938F1B5093901B23 -:1014C0006093911B7093921B8093931B9093941B3A -:1014D000A093951BB093961B80E090E0A3E5B3E446 -:1014E0008093971B9093981BA093991BB0939A1B82 -:1014F00080E090E8A8E8B3E480939B1B90939C1B4A -:10150000A0939D1BB0939E1B0E9489B68091CC1C1A -:10151000847F8B7F8093CC1C1092C81C1092C91CB6 -:101520001092CA1C1092CB1C1092C41C1092C51CA5 -:101530001092C61C1092C71C1092C31C1092C21CA1 -:101540008EE091E0E4EBFBE1DF019C011D92215074 -:101550003040E1F78FEF8093B31B089580918D0A9F -:10156000882319F010928D0A08958FEC90E30E9461 -:1015700067EC0E94234D8BE893E30C9427B7EF921E -:101580000F931F93CF93DF93E80147FD02C034E030 -:1015900001C034E1042E000C550B57FF03C05195D8 -:1015A00041955109E32E022F242FAE010F94C4124E -:1015B000CE01DF91CF911F910F91EF9008958F92FF -:1015C0009F92AF92BF92CF92DF92EF92FF92CF9312 -:1015D000DF93EC01688179818A819B8161157105B6 -:1015E0008105910521F464E279ED8BE597E02DE129 -:1015F00033EF41E050E00F945F1649015A019B011F -:10160000AC01A7EAB1E40F947E166B017C01ACEE4D -:10161000B4EFA50194010F948C16DC01CB018C0D65 -:101620009D1DAE1DBF1DB7FF03C00197A109B048A6 -:1016300088839983AA83BB83BC01CD019F77DF9107 -:10164000CF91FF90EF90DF90CF90BF90AF909F90A1 -:101650008F9008958F929F92AF92BF92CF92DF9218 -:10166000EF92FF9260917402709175028091760200 -:1016700090917702611571058105910521F464E26D -:1016800079ED8BE597E02DE133EF41E050E00F94E9 -:101690005F1649015A019B01AC01A7EAB1E40F941E -:1016A0007E166B017C01ACEEB4EFA50194010F94A2 -:1016B0008C16DC01CB018C0D9D1DAE1DBF1DB7FF2F -:1016C00003C00197A109B0488093740290937502FA -:1016D000A0937602B0937702BC01CD019F77FF9073 -:1016E000EF90DF90CF90BF90AF909F908F90089534 -:1016F00060937402709375028093760290937702E0 -:1017000008958F929F92AF92BF92CF92DF92EF9205 -:10171000FF920F931F93CF93DF93EC016B01611541 -:10172000710519F0FB01918380837E01FFEFEF1AB1 -:10173000FF0A0881802F90E00F94180F892B11F079 -:10174000E701F3CF0D3239F47E0182E0E80EF11C9F -:10175000098111E008C00B3229F47E0192E0E90E04 -:10176000F11C098110E0E701219743E050E068EFA8 -:1017700073E0CE010F943E0F892BC1F4239645E010 -:1017800050E063EF73E0CE010F943E0F892B09F414 -:101790002596C114D10419F0F601D183C08311112B -:1017A000F6C060E070E080E89FE7FAC043E050E0F8 -:1017B00060EF73E0CE010F943E0F892B59F4C114F2 -:1017C000D10409F4E9C0F2E0EF0EF11CF601F18258 -:1017D000E082E2C020E030E0A901C0E0D0E0F70103 -:1017E00060EDA62EA00E89E08A1530F1912F92604F -:1017F000B92E812F887012FF04C0811124C0219658 -:1018000022C081112197A5E0B0E00F947E16DC0183 -:10181000CB01880F991FAA1FBB1F9C01AD012A0D88 -:10182000311D411D511D283989E93807480789E1D3 -:10183000580748F0166006C09EEFA9120AC013FDB3 -:1018400040C01860B12E8FEFE81AF80A00811B2DF6 -:10185000C6CF802F8F7D8534A1F580818D3211F424 -:10186000106106C08B3221F0319661E070E004C057 -:101870008181329662E070E080538A3018F0E61B76 -:10188000F70B1FC060E070E060389CE079075CF403 -:10189000DB01AA0FBB1FAA0FBB1F6A0F7B1F660FBE -:1018A000771F680F711D3196DF0111978C9180535E -:1018B0008A3050F314FF03C0719561957109C60F0A -:1018C000D71F11FF08C0C114D10429F0CF0101971F -:1018D000F60191838083CA01B9010F94EC0F212F87 -:1018E0002370233019F04B015C0106C04B015C01F1 -:1018F000B7FAB094B7F8B09420E030E0A901C50180 -:10190000B4010F94E70F882309F43EC0D7FF06C047 -:10191000D195C195D1090FE014E002C007E214E0AF -:101920006801F8E1CF1AD10890E2E92EF12CCE152A -:10193000DF0574F0F8012591359145915491C50169 -:10194000B4010F944D104B015C01CE19DF09EFCFAC -:1019500004501109F594E7940C151D0541F78A2DE3 -:10196000880F8B2D881F8F3F49F020E030E0A901C0 -:10197000C501B4010F94E70F811106C082E290E027 -:1019800090938E1D80938D1DC501B40109C060E048 -:1019900070E080E89FEF04C060E070E080EC9FE7BB -:1019A000DF91CF911F910F91FF90EF90DF90CF903B -:1019B000BF90AF909F908F9008953F924F925F920B -:1019C0006F927F928F929F92AF92BF92CF92DF924F -:1019D000EF92FF920F931F93CF93DF935C016B0104 -:1019E0007A016115710519F0FB0191838083E1147F -:1019F000F10429F0C7010297839708F0E5C0E501DB -:101A00002196F5011081812F90E00F94180F892BFA -:101A100011F05E01F4CF1D3229F42196F5011181F8 -:101A200001E007C01B3221F4E5012296F501118186 -:101A300000E0E114F10409F1F0E1EF16F10429F4FA -:101A40003FC010E3E114F10421F128E0E216F104B3 -:101A500001F154F4E2E0EE16F10421F5812C912C11 -:101A6000A12CB0E4BB2E3EC0FAE0EF16F10439F031 -:101A700020E1E216F104B1F430C0103319F1FAE0BC -:101A8000EF2EF12CACEC8A2E982CA82CACE0BA2EC0 -:101A900029C078E0E72EF12C812C912CA12CE0E1DB -:101AA000BE2E20C060E070E080E090E897010F2C2F -:101AB000000C440B550B0F943D1649015A0112C0FE -:101AC000103359F488818F7D883509F0BACF198198 -:101AD0002296026080E1E82EF12C812C912CA12C21 -:101AE00068E0B62E40E060E070E0CB0127010F2CEB -:101AF000000C66087708FE0150ED352E310E29E006 -:101B0000231570F42FEB210F2A3118F439EC332E02 -:101B100006C02FE9210F2A3118F529EA322E310E9D -:101B2000232D30E02E153F05DCF447FD16C0861648 -:101B30009706A806B90670F0A30192010F942D161E -:101B4000630D711D811D911D61307105810520E8B6 -:101B5000920710F04FEF01C041E021961081CBCFEA -:101B6000202F2170C114D10471F0442329F0219752 -:101B7000F601D183C08307C001FF19C02297F60187 -:101B8000D183C08314C047FF12C0222329F060E034 -:101B900070E080E090E804C06FEF7FEF8FEF9FE789 -:101BA00022E230E030938E1D20938D1D09C0222348 -:101BB00081F090958095709561957F4F8F4F9F4FE5 -:101BC000462F372F282F12C040E030E020E090E071 -:101BD0000DC097FFF5CF82E290E090938E1D809329 -:101BE0008D1D6FEF7FEF8FEF9FE7EACF642F732F8D -:101BF000822FDF91CF911F910F91FF90EF90DF9097 -:101C0000CF90BF90AF909F908F907F906F905F909C -:101C10004F903F9008953F924F925F926F927F92C4 -:101C20008F929F92AF92BF92CF92DF92EF92FF92EC -:101C30000F931F93CF93DF935C016B017A016115C2 -:101C4000710519F0FB0191838083E114F10429F0FF -:101C5000C7010297839708F0C9C0E5012196F501F5 -:101C60001081812F90E00F94180F892B11F05E01E5 -:101C7000F4CF1D3229F42196F501118101E007C04E -:101C80001B3221F4E5012296F501118100E0E114F7 -:101C9000F104B1F0F0E1EF16F10429F4B0C010E363 -:101CA000E114F10401F12AE0E216F104B1F180E15E -:101CB000E816F10471F0E8E0EE16F104F1F413C057 -:101CC000103341F588818F7D883549F71981229637 -:101CD0000260F0E1EF2EF12C88248A94982CA82C35 -:101CE000AFE0BA2E20C078E0E72EF12C88248A9449 -:101CF000982CA82CEFE1BE2E16C06FEF7FEFCB0122 -:101D000097010F2C000C440B550B0F943D16490105 -:101D10005A0109C08AE0E82EF12C69E9862E982C38 -:101D2000A82C69E1B62E40E060E070E0CB0127010D -:101D30000F2C000C66087708FE0150ED352E310E91 -:101D400029E0231570F42FEB210F2A3118F439EC18 -:101D5000332E06C02FE9210F2A3130F529EA322E21 -:101D6000310E232D30E02E153F05F4F44F3FC9F01E -:101D700086169706A806B90688F0A30192010F946B -:101D80002D16232D30E040E050E0620F731F841FBA -:101D9000951F621773078407950710F44FEF01C072 -:101DA00041E021961081C8CFC114D10451F04423E1 -:101DB00011F0219703C001FF04C02297F601D183DF -:101DC000C08300FF07C090958095709561957F4F07 -:101DD0008F4F9F4F4F3F79F482E290E090938E1D9A -:101DE00080938D1D3FEF2FEF9FEF0DC040E030E05F -:101DF00020E090E008C0462F372F282F04C0103372 -:101E000009F067CF5FCF642F732F822FDF91CF91BF -:101E10001F910F91FF90EF90DF90CF90BF90AF9008 -:101E20009F908F907F906F905F904F903F9008951C -:101E300091110D941315803219F089508550C8F70F -:101E40000895FB01DC0102C005900D924150504005 -:101E5000D8F70895FC010590061621F00020D9F767 -:101E6000C00108953197CF010895FC01059000202D -:101E7000E9F7809590958E0F9F1F0895FB01DC0177 -:101E80004150504088F08D9181341CF08B350CF41A -:101E9000805E659161341CF06B350CF4605E861BCE -:101EA000611171F3990B0895881BFCCFFB01DC01D4 -:101EB0004150504048F005900D920020C9F701C0F4 -:101EC0001D9241505040E0F70895FB015591552374 -:101ED000A9F0BF01DC014D9145174111E1F759F41B -:101EE000CD010590002049F04D9140154111C9F3F5 -:101EF000FB014111EFCF81E090E0019708950F932E -:101F00001F93CF93DF93CDB7DEB72E970FB6F8941C -:101F1000DEBF0FBECDBF0E891F898EE08C831A8372 -:101F200009838FEF9FE79E838D83AE01465E5F4FEF -:101F3000688D798DCE0101960F94BA10EF81F885E6 -:101F4000E00FF11F10822E960FB6F894DEBF0FBE81 -:101F5000CDBFDF91CF911F910F9108950F931F93E4 -:101F6000CF93DF93CDB7DEB72E970FB6F894DEBFD1 -:101F70000FBECDBF8C01FA018EE08C831A830983DA -:101F800077FF02C060E070E8CB0101979E838D83EC -:101F9000A901BF01CE0101960F94BA104D815E8157 -:101FA00057FD0AC02F813885421753070CF49A0158 -:101FB000F801E20FF31F10822E960FB6F894DEBFE1 -:101FC0000FBECDBFDF91CF911F910F9108950F9458 -:101FD000291008F481E00895E89409C097FB3EF4C5 -:101FE00090958095709561957F4F8F4F9F4F992366 -:101FF000A9F0F92F96E9BB279395F69587957795E4 -:102000006795B795F111F8CFFAF4BB0F11F460FFA3 -:102010001BC06F5F7F4F8F4F9F4F16C0882311F0FB -:1020200096E911C0772321F09EE8872F762F05C00F -:10203000662371F096E8862F70E060E02AF09A95AA -:10204000660F771F881FDAF7880F9695879597F99F -:102050000895990F0008550FAA0BE0E8FEEF161639 -:102060001706E807F907C0F012161306E407F5078C -:1020700098F0621B730B840B950B39F40A2661F000 -:10208000232B242B252B21F408950A2609F4A140A3 -:10209000A6958FEF811D811D08950F9460100D94FA -:1020A000DD150F94CF1538F00F94D61520F0952339 -:1020B00011F00D94C6150D94CC1511240D94111624 -:1020C0000F94EE1570F3959FC1F3950F50E0551FD7 -:1020D000629FF001729FBB27F00DB11D639FAA277D -:1020E000F00DB11DAA1F649F6627B00DA11D661FCC -:1020F000829F2227B00DA11D621F739FB00DA11DED -:10210000621F839FA00D611D221F749F3327A00DA6 -:10211000611D231F849F600D211D822F762F6A2F42 -:1021200011249F5750409AF0F1F088234AF0EE0FA7 -:10213000FF1FBB1F661F771F881F91505040A9F7D4 -:102140009E3F510580F00D94C6150D9411165F3F0A -:10215000E4F3983ED4F3869577956795B795F79510 -:10216000E7959F5FC1F7FE2B880F911D9695879588 -:1021700097F908952F923F924F925F926F927F92BC -:102180008F929F92AF92BF92CF92DF92EF92FF9287 -:102190000F931F93CF93DF93CDB7DEB72B970FB677 -:1021A000F894DEBF0FBECDBF6C017B018A01FC013C -:1021B00017821682838181FFCCC1CE0101963C013A -:1021C000F6019381F70193FD859193FF81917F0142 -:1021D000882309F4BAC1853239F493FD859193FFC0 -:1021E00081917F01853229F4B60190E00F942C157E -:1021F000E7CF912C212C312CFFE1F315D8F08B3255 -:1022000079F038F4803279F08332A1F4232D206103 -:102210001DC08D3261F0803369F4232D216016C01A -:10222000832D8260382EE32DE4603E2E2AC0F32DEC -:10223000F8601DC037FC2DC020ED280F2A3040F07B -:102240008E32B9F436FC81C1232D2064322E19C0A0 -:1022500036FE06C08AE0989E200D1124922E11C0F1 -:10226000EAE02E9E200D1124222EF32DF0623F2E47 -:1022700008C08C3621F4832D8068382E02C0883641 -:1022800041F4F70193FD859193FF81917F018111C5 -:10229000B3CF982F9F7D9554933028F40C5F1F4F38 -:1022A0009FE399830DC0833631F0833771F0833516 -:1022B00009F059C021C0F801808189830E5F1F4F4A -:1022C00088248394912C530113C02801F2E04F0E0F -:1022D000511CF801A080B18036FE03C0692D70E06A -:1022E00002C06FEF7FEFC5010F9421154C018201F1 -:1022F000F32DFF773F2E16C0280122E0420E511C1D -:10230000F801A080B18036FE03C0692D70E002C0E4 -:102310006FEF7FEFC5010F9416154C01F32DF06898 -:102320003F2E820133FC1BC0822D90E08816990657 -:10233000B0F4B60180E290E00F942C152A94F4CF0B -:10234000F50137FC859137FE81915F01B60190E080 -:102350000F942C1521102A9421E0821A91088114DF -:10236000910471F7E8C0843611F0893641F5F8011F -:1023700037FE07C060817181828193810C5F1F4F9E -:1023800008C060817181072E000C880B990B0E5FCD -:102390001F4FF32DFF763F2E97FF09C09095809534 -:1023A000709561957F4F8F4F9F4FF0683F2E2AE0C9 -:1023B00030E0A3010F946815882E861845C0853734 -:1023C00031F4232D2F7EB22E2AE030E025C0932D4C -:1023D000997FB92E8F36C1F018F4883579F0B5C0E1 -:1023E000803719F0883721F0B0C0E92FE061BE2EA8 -:1023F000B4FE0DC0FB2DF460BF2E09C034FE0AC030 -:10240000292F2660B22E06C028E030E005C020E16A -:1024100030E002C020E132E0F801B7FE07C0608181 -:102420007181828193810C5F1F4F06C06081718131 -:1024300080E090E00E5F1F4FA3010F946815882E77 -:102440008618FB2DFF773F2E36FE0DC0232D2E7FE5 -:10245000A22E891458F434FE0BC032FC09C0832D1F -:102460008E7EA82E05C0B82CA32C03C0B82C01C0AA -:10247000B92CA4FE0FC0FE01E80DF11D8081803350 -:1024800021F49A2D997EA92E09C0A2FE06C0B3940C -:10249000B39404C08A2D867809F0B394A3FC11C0CC -:1024A000A0FE06C0B21488F4280C922C9B180EC013 -:1024B000B21460F4B60180E290E00F942C15B3944E -:1024C000F7CFB21418F42B1802C0982C212CA4FEBC -:1024D00010C0B60180E390E00F942C15A2FE17C047 -:1024E000A1FC03C088E790E002C088E590E0B60157 -:1024F0000CC08A2D867859F0A1FE02C08BE201C083 -:1025000080E2A7FC8DE2B60190E00F942C158914AF -:1025100038F4B60180E390E00F942C159A94F7CF2D -:102520008A94F301E80DF11D8081B60190E00F94CB -:102530002C158110F5CF222009F442CEB60180E29D -:1025400090E00F942C152A94F6CFF601868197819E -:1025500002C08FEF9FEF2B960FB6F894DEBF0FBE31 -:10256000CDBFDF91CF911F910F91FF90EF90DF9042 -:10257000CF90BF90AF909F908F907F906F905F9023 -:102580004F903F902F9008958F929F92AF92BF925D -:10259000CF92DF92EF92FF920F931F93CF93DF932F -:1025A000CDB7DEB729970FB6F894DEBF0FBECDBF0B -:1025B0006A01122FB02E2BE3201720F0FF24F39492 -:1025C000F00E02C02CE3F22E0F2D27E0AE014F5F7C -:1025D0005F4F0F943B14BC014981842F8970813077 -:1025E00031F0E1FC06C0E0FE06C090E205C09DE2CD -:1025F00003C09BE201C090E05E2D507143FF3CC0E0 -:10260000911102C083E001C084E0811718F4212FEA -:10261000281B01C020E051110BC0F601822F30E2CF -:10262000882319F031938150FBCFC20ED11C20E0DA -:10263000992329F0D6019C93F60131966F01C601CA -:102640000396E2FE0AC03EE4D6013C9341E41196B3 -:102650004C93119712963C9306C03EE6F6013083E8 -:1026600041E641833283FC01322F40E2332309F4F7 -:1026700042C041933150FACF42FF44C0911102C091 -:1026800083E001C084E0811718F4212F281B01C0CA -:1026900020E051110BC0F601822F30E2882319F09F -:1026A00031938150FBCFC20ED11C20E0992329F039 -:1026B000D6019C93F60131966F01C6010396E2FEA6 -:1026C0000BC039E4D6013C933EE411963C9311973C -:1026D00036E412963C9307C039E6F60130833EE6B5 -:1026E000318336E63283FC01322F40E2332319F086 -:1026F00041933150FBCFFC01E20FF11D10828EEFB0 -:102700009FEFA6C021E030E0911102C020E030E050 -:10271000161617061CF4FB01319602C0E1E0F0E04A -:102720002E0F3F1FBB2021F0EB2DF0E0319602C0B1 -:10273000E0E0F0E02E0F3F1FE12FF0E02E173F0703 -:102740001CF4121B212F01C020E08E2D887159F43A -:10275000F601822F30E2882319F031938150FBCFAC -:10276000C20ED11C20E0992329F0D6019C93F601DA -:1027700031966F0151110BC0F601822F90E388232F -:1027800019F091938150FBCFC20ED11C20E00F2D88 -:10279000060F9A81342F307144FF03C0913309F43E -:1027A0000150101624F4093018F008E001C001E0CF -:1027B000AB0177FF02C040E050E0FB01E41BF50BEA -:1027C000A1E0B0E0AC0FBD1FEA0FFB1F8EE2A82E08 -:1027D0004B01801A91080B2D10E0119501951109FC -:1027E0004F3FBFEF5B0721F4D601AC9211966D010C -:1027F000641775072CF08416950614F4818101C0C6 -:1028000080E3415051093196D60111967D01401760 -:10281000510724F0D6018C936701E2CF6417750746 -:1028200039F4963320F4953319F4311101C081E362 -:10283000F6018083F701822F90E2882319F09193AB -:102840008150FBCFF701E20FF11D108280E090E094 -:1028500029960FB6F894DEBF0FBECDBFDF91CF91A2 -:102860001F910F91FF90EF90DF90CF90BF90AF90AE -:102870009F908F900895283008F027E03327DA01E1 -:10288000990F311D87FD916000966105710539F43E -:1028900032602E5F3D9330E32A95E1F708959F3F24 -:1028A00030F080387105610509F03C5F3C5F3D9375 -:1028B000913008F08068911DDF93CF931F930F93A1 -:1028C000FF92EF92192F987F9695E92F96959695FE -:1028D000E90FFF27EB57FB4F99273327EE24FF24FF -:1028E000A701E70105900894079428F4360FE71E26 -:1028F000F81E491F511D660F771F881F991F0694E8 -:10290000A1F70590079428F4E70EF81E491F561FFB -:10291000C11D770F881F991F661F0694A1F70590A8 -:10292000079428F4F80E491F561FC71FD11D880FA2 -:10293000991F661F771F0694A1F70590079420F44E -:10294000490F561FC71FD81F990F661F771F881F73 -:102950000694A9F784911095177041F0D695C79504 -:1029600057954795F794E7941A95C1F7EBE2F4E091 -:1029700068941590159135916591959105907FE238 -:102980007395E118F10A430B560BC90BD009C0F738 -:10299000E10CF11E431F561FC91FD01D7EF470337A -:1029A00011F48A95E6CFE894015030F0080F0AF44C -:1029B0000027021708F4202F2395022F7A3328F0DE -:1029C00079E37D932A95E9F710C07D932A9589F6DE -:1029D000069497956795379517951794E118F10A1E -:1029E000430B560BC90BD00998F023957E91739534 -:1029F0007A3308F070E37C932013B8F77E9170610E -:102A00007D9330F0839571E37D9370E32A95E1F730 -:102A10001124EF90FF900F911F91CF91DF91992793 -:102A200087FD90950895992788270895FC010590C2 -:102A3000615070400110D8F7809590958E0F9F1FC0 -:102A40000895FC016150704001900110D8F7809505 -:102A500090958E0F9F1F08950F931F93CF93DF9331 -:102A6000FB01238121FD03C08FEF9FEF2CC022FFCC -:102A700016C046815781248135814217530744F49B -:102A8000A081B1819D012F5F3F4F318320838C93C3 -:102A9000268137812F5F3F4F3783268314C08B01F8 -:102AA000EC01FB010084F185E02D1995892BE1F6FD -:102AB000D80116968D919C911797019617969C9325 -:102AC0008E931697CE01DF91CF911F910F910895AC -:102AD000FA01AA27283051F1203181F1E8946F934F -:102AE0006E7F6E5F7F4F8F4F9F4FAF4FB1E03ED0F5 -:102AF000B4E03CD0670F781F891F9A1FA11D680F93 -:102B0000791F8A1F911DA11D6A0F711D811D911DC5 -:102B1000A11D20D009F468943F912AE0269F11243A -:102B20003019305D3193DEF6CF010895462F47709E -:102B3000405D4193B3E00FD0C9F7F6CF462F4F70F9 -:102B4000405D4A3318F0495D31FD4052419302D057 -:102B5000A9F7EACFB4E0A6959795879577956795FD -:102B6000BA95C9F700976105710508959B01AC01FD -:102B70000A2E06945795479537952795BA95C9F724 -:102B8000620F731F841F951FA01D089597F99F67FB -:102B900080E870E060E008959FEF80EC08950024E5 -:102BA0000A941616170618060906089500240A94B2 -:102BB00012161306140605060895092E0394000C38 -:102BC00011F4882352F0BB0F40F4BF2B11F460FFC7 -:102BD00004C06F5F7F4F8F4F9F4F089557FD9058F0 -:102BE000440F551F59F05F3F71F04795880F97FBD1 -:102BF000991F61F09F3F79F087950895121613068B -:102C00001406551FF2CF4695F1DF08C016161706B9 -:102C10001806991FF1CF86957105610508940895EE -:102C2000E894BB2766277727CB0197F90895F99990 -:102C3000FECF92BD81BDF89A992780B50895262FC1 -:102C4000F999FECF1FBA92BD81BD20BD0FB6F89491 -:102C5000FA9AF99A0FBE01960895DB018F939F931C -:102C60000F947E16BF91AF91A29F800D911DA39FDF -:102C7000900DB29F900D11240895A1E21A2EAA1B67 -:102C8000BB1BFD010DC0AA1FBB1FEE1FFF1FA2171C -:102C9000B307E407F50720F0A21BB30BE40BF50B19 -:102CA000661F771F881F991F1A9469F760957095A2 -:102CB000809590959B01AC01BD01CF010895052E33 -:102CC00097FB1EF400940F94761657FD07D00F94CF -:102CD0003D1607FC03D04EF40D94761650954095A2 -:102CE000309521953F4F4F4F5F4F089590958095B8 -:102CF000709561957F4F8F4F9F4F08950F94911658 -:102D0000A59F900DB49F900DA49F800D911D11243F -:102D10000895B7FF0D947E160F947E16821B930BB9 -:102D20000895A29FB001B39FC001A39F700D811DA4 -:102D30001124911DB29F700D811D1124911D0895C4 -:102D400087FB082E062687FD819567FD61950F9408 -:102D5000DE160EF4919507FC81950895AA1BBB1B06 -:102D600051E107C0AA1FBB1FA617B70710F0A61B8B -:102D7000B70B881F991F5A95A9F780959095BC01AC -:102D8000CD01089597FB072E16F4009407D077FD28 -:102D900009D00F94AE1607FC05D03EF490958195AE -:102DA0009F4F0895709561957F4F0895EE0FFF1F17 -:102DB000881F8BBF0790F691E02D1994991B79E03D -:102DC00004C0991F961708F0961B881F7A95C9F7BB -:102DD000809508955058BB27AA270F9402170D9489 -:102DE000DD150F94CF1538F00F94D61520F039F477 -:102DF0009F3F19F426F40D94CC150EF4E095E7FBF3 -:102E00000D94C615E92F0F94EE1558F3BA17620703 -:102E100073078407950720F079F4A6F50D94101632 -:102E20000EF4E0950B2EBA2FA02D0B01B9019001E5 -:102E30000C01CA01A0011124FF27591B99F0593F29 -:102E400050F4503E68F11A16F040A22F232F342F71 -:102E50004427585FF3CF469537952795A795F040BF -:102E60005395C9F77EF41F16BA0B620B730B840BD4 -:102E7000BAF09150A1F0FF0FBB1F661F771F881F8C -:102E8000C2F70EC0BA0F621F731F841F48F48795E4 -:102E900077956795B795F7959E3F08F0B0CF9395D6 -:102EA000880F08F09927EE0F9795879508950F944E -:102EB000CF1560F080E891E009F49EEF0F94D615ED -:102EC00028F040E851E071F45EEF0CC00D94CC1591 -:102ED0000D941016E92FE0780F94EE1540F3092EAB -:102EE000052AB1F3261737074807590738F00E2E81 -:102EF00007F8E02569F0E025E0640AC0EF6307F811 -:102F0000009407FADB01B9019D01DC01CA01AD01A2 -:102F1000EF930F94FC170F94DD150F949A175F91A0 -:102F2000552339F02BED3FE049E450FD49EC0D9479 -:102F3000EB160895DF93DD27B92FBF7740E85FE3F5 -:102F40001616170648075B0718F4D92F0F94501967 -:102F50009F938F937F936F930F94D919E8EDF1E0CE -:102F60000F94CD180F94DD152F913F914F915F91E4 -:102F70000F946010DD2351F09058A2EA2AED3FE053 -:102F800049EC5FE3D0785D270F940217DF910D9431 -:102F9000DD150F94331990F09F3748F4911116F412 -:102FA0000D94111660E070E080E89FE3089526F02C -:102FB0001B16611D711D811D0D94A4180D94BF1861 -:102FC0000F94F618E3950D941F190F94F9170D94AB -:102FD000DD150F94D61558F00F94CF1540F029F455 -:102FE0005F3F29F00D94C61551110D9411160D94E3 -:102FF000CC150F94EE1568F39923B1F3552391F393 -:10300000951B550BBB27AA2762177307840738F057 -:103010009F5F5F4F220F331F441FAA1FA9F335D0B4 -:103020000E2E3AF0E0E832D091505040E695001C68 -:10303000CAF72BD0FE2F29D0660F771F881FBB1F22 -:10304000261737074807AB07B0E809F0BB0B802D00 -:10305000BF01FF2793585F4F3AF09E3F510578F02C -:103060000D94C6150D9411165F3FE4F3983ED4F30A -:10307000869577956795B795F7959F5FC9F7880F00 -:10308000911D9695879597F90895E1E0660F771F52 -:10309000881FBB1F621773078407BA0720F0621BE3 -:1030A000730B840BBA0BEE1F88F7E09508950F940D -:1030B0005E186894B1110D94111608950F94F615C9 -:1030C00088F09F5798F0B92F9927B751B0F0E1F0E9 -:1030D000660F771F881F991F1AF0BA95C9F714C099 -:1030E000B13091F00F941016B1E008950D941016C0 -:1030F000672F782F8827B85F39F0B93FCCF38695D2 -:1031000077956795B395D9F73EF49095809570952E -:1031100061957F4F8F4F9F4F08950F94331990F013 -:103120009F3748F4911116F00D94111660E070E08D -:1031300080E89FEB089526F41B16611D711D811D0B -:103140000D94A4180D94BF18882371F4772321F0EF -:103150009850872B762F07C0662311F499270DC04E -:103160009051862B70E060E02AF09A95660F771FE9 -:10317000881FDAF7880F9695879597F908959F3FEE -:1031800031F0915020F4879577956795B795880F22 -:10319000911D9695879597F90895DF93CF931F9387 -:1031A0000F93FF92EF92DF927B018C01689406C02F -:1031B000DA2EEF010F946010FE01E894A59125919D -:1031C000359145915591A6F3EF010F940217FE0139 -:1031D0009701A801DA9469F7DF90EF90FF900F91C3 -:1031E0001F91CF91DF9108950D94CC150F94F61592 -:1031F000D8F3E894E0E0BB279F57F0F02AED3FE0DA -:1032000049EC06C0EE0FBB0F661F771F881F28F022 -:10321000B23A62077307840728F0B25A620B730B45 -:10322000840BE3959A9572F7803830F49A95BB0F2A -:10323000661F771F881FD2F790480D94C118EF932F -:10324000E0FF07C0A2EA2AED3FE049EC5FEB0F94F4 -:1032500002170F94DD150F90039401FC9058E5E0E0 -:10326000F2E00D94E9190F94F615A0F0BEE7B91736 -:1032700088F4BB279F3860F41616B11D672F782F8E -:103280008827985FF7CF869577956795B11D9395B9 -:103290009639C8F308950F94291008F48FEF089514 -:1032A0009B01AC0160E070E080E89FE30D94E517BE -:1032B0000F94F61558F19E5760F19851A0F0E9F07F -:1032C000983020F5092E9927660F771F881F991FC0 -:1032D0000A94D1F712C0062E672F782F8827985F9F -:1032E00011F4000C07C0993FB4F386957795679564 -:1032F0009395D9F7611D711D811D3EF490958095C0 -:10330000709561957F4F8F4F9F4F089568940D94EE -:1033100011160D9410169F930F94F6180F9007FC3A -:10332000EE5F0D941F1919F416F40D94CC150D943D -:10333000BF180F94F615B8F39923C9F3B6F39F5746 -:10334000550B87FF0F94E2190024A0E640EA900194 -:1033500080585695979528F4805C660F771F881FD4 -:1033600020F026173707480730F4621B730B840BD5 -:10337000202931294A2BA695179407942025312519 -:103380004A2758F7660F771F881F20F02617370740 -:10339000480730F4620B730B840B200D311D411D67 -:1033A000A09581F7B901842F9158880F969587953C -:1033B00008959B01AC010D944D100F942910880BBA -:1033C000990B089591505040660F771F881FD2F7D0 -:1033D00008959F938F937F936F93FF93EF939B0138 -:1033E000AC010F944D10EF91FF910F94CD182F91D8 -:1033F0003F914F915F910D944D1081E090E0F894D2 -:103400000D94A71A9111089581548A5108F4805E91 -:10341000855A0895FB01DC0104C08D91019080194B -:1034200021F441505040C8F7881B990B0895FB01C7 -:10343000DC0102C001900D9241505040D8F7089530 -:10344000FB01DC018D9181341CF08B350CF4805E26 -:10345000619161341CF06B350CF4605E861B611168 -:1034600089F3990B0895FB01DC010D900020E9F729 -:10347000119701900D920020E1F70895FC018191D0 -:10348000861721F08823D9F7992708953197CF011E -:103490000895FB01DC0101900D920020E1F70895F1 -:1034A000FB01DC014150504030F08D9101908019BA -:1034B00019F40020B9F7881B990B0895FB01DC0172 -:1034C0004150504048F001900D920020C9F701C0D2 -:1034D0001D9241505040E0F70895FC0181E090E0DA -:1034E0000190061609F4CF010020D1F70197089545 -:1034F0000F931F93CF93DF93CDB7DEB72E970FB601 -:10350000F894DEBF0FBECDBF0E891F8986E08C8385 -:103510001A8309838FEF9FE79E838D83AE01465EFA -:103520005F4F688D798DCE0101960F94BA10EF81AF -:10353000F885E00FF11F10822E960FB6F894DEBFCB -:103540000FBECDBFDF91CF911F910F91089519E16B -:10355000CDEFD9E100E006C0802FFE010F94D61612 -:103560002196011DCE3FD10780E00807A9F7F89406 -:02357000FFCF8B -:10357200FFFF02C0D401000180000000FF3FFF3FB7 -:1035820000000000FF3F0100007A4300005243CDDB -:10359200CCCC3D0000803F0000803F5CFF79C480BE -:1035A200800110FF060101000000000000964300A8 -:1035B20000000000009643000000000000C8430025 -:1035C20000C841A0000101FFFFFFFFFFFFFFFFFF57 -:1035D200FFFFFFFF0000803F640064000164000001 -:1035E20000A04001010000000210000004100000D1 -:1035F20006100000081000000A1000000C10000065 -:1036020026100000301000003210000034100000BC -:103612003A1000003E10000040100000441000006C -:1036220046100000481000004A1000004C10000034 -:103632005410000056100000581000005C100000EA -:103642005E1000005F100000881000000000000003 -:1036520058595A45CDCCCC3C00409C4500007A4597 -:1036620000007A43000070420102030405B400F036 -:103672000046006E0000004040000034420000009E -:1036820000000000000000000000005041000000A7 -:10369200000000004164000000640000000300001C -:1036A200006400000064000000030000000300004A -:1036B200001E0000001E0000001E0000001E000090 -:1036C200001E0000001E000000DC050000DC0500FA -:1036D20000640000004B0000000000A0420000A0B7 -:1036E200420000C8430000BE420000FA430000FA54 -:1036F200430000204100009642563730000000008F -:1037020000F1565A5688563E57B9569756AB560050 -:10371200809343000020412A2A2A496E6974696E07 -:10372200672063617264206973204F4B2A2A2A0042 -:103732002A2A2A496E6974696E672063617264205D -:103742006661696C732A2A2A002A2A2A43617264F2 -:103752002052656D6F7665642A2A2A003D3D7761A5 -:10376200697477617920313D3D003D3D776169742F -:1037720077617920333D3D0020207374617274704B -:10378200726F6772657373200020202A2A2A2A2A00 -:103792002A2A5254535F48616E646C6544617461B5 -:1037A2002A2A2A2A2A2A2A2A20003D3D20436865FD -:1037B200636B6B65793D3D000A2048616E646C6500 -:1037C2002044617461205072696E7446696C652090 -:1037D200312053657474696E672053637265656E38 -:1037E20020000A2048616E646C6520446174612087 -:1037F2005072696E7446696C652032205365747428 -:10380200696E672053637265656E20000A20486105 -:103812006E646C652044617461205072696E7446F6 -:10382200696C6520332053657474696E6720536335 -:103832007265656E20000A2048616E646C652044E2 -:103842006174612041646A75737420322053657417 -:1038520074696E672053637265656E200074696EC9 -:10386200796D616368696E657333642E636F6D0091 -:103872004368696E657365204E6F7420537570706E -:103882006F7274656400456E676C69736820416C81 -:1038920072656164792053657400496E76616C6962 -:1038A20064204F7074696F6E000A204E6F20466963 -:1038B2006C616D656E7400526573756D6520596536 -:1038C2007320647572696E67207072696E7400206D -:1038D20046696C616D656E7420526573706F6E73AC -:1038E20065204E6F0046696C616D656E742053747D -:1038F20061742030202D20310046696C616D656E47 -:103902007420537461742030202D20320046696C7B -:10391200616D656E7420537461742030202D2033E4 -:103922000046696C656E616D650052656364617421 -:1039320061002020202020202020200025642F2527 -:1039420064003D3D7761697477617920343D3D00C3 -:103952003D3D7761697477617920353D3D003D3D9C -:1039620048656174696E6720446F6E6520436861C3 -:103972006E67652046696C616D656E743D3D0046FB -:10398200696C656E616D652D4D6564696100436C9E -:1039920069636B20746F20526573756D652E2E2ED0 -:1039A200003D3D6F6E46696C616D656E7452756E59 -:1039B2006F75743D3D0025642058202564205820F1 -:1039C200256400544D33442043522D5800322E308A -:1039D2005F44573320544D33442053534D444E4E8D -:1039E200003D3D4477696E20496E697420436F6DD6 -:1039F200706C6574653D3D002F00534455706461E1 -:103A02007465002E67636F6465002E47434F44451B -:103A120000590073746F7070696E67203D3D002F0E -:103A22002F616374696F6E3A63616E63656C003D0A -:103A32003D6F6E5072696E7454696D657253746F26 -:103A4200707065643D3D00556E746F7563686564A2 -:103A5200200050756C73696E672020200035783520 -:103A6200206D6573682E205A206F66667365743AFE -:103A720020005265686561742066696E69736865C5 -:103A8200642E003D3D6F6E55736572436F6E6669BD -:103A9200726D52657175697265643D3D003F3F3FCD -:103AA200003D3D6F6E53746F726553657474696E39 -:103AB20067733D3D003D3D6F6E436F6E666967758E -:103AC200726174696F6E53746F7265577269747440 -:103AD200656E3D3D00455252003D3D6F6E5072692C -:103AE2006E7454696D65725061757365643D3D0015 -:103AF2003D3D6F6E4C6F616453657474696E67739C -:103B02003D3D002A2A2A6B696C6C2A2A2A003D3D17 -:103B12006F6E466163746F727952657365743D3D71 -:103B220000205A003D3D6F6E436F6E666967757285 -:103B32006174696F6E53746F7265526561643D3D65 -:103B4200003D3D6F6E5072696E7454696D657253BB -:0A3B52007461727465643D3D00006B -:00000001FF diff --git a/CRX_Stock_NoFil_DW3.hex b/CRX_Stock_NoFil_DW3.hex deleted file mode 100644 index 022eeec08e..0000000000 --- a/CRX_Stock_NoFil_DW3.hex +++ /dev/null @@ -1,9054 +0,0 @@ -:100000000C9492190C94C3190C94C3190C94C31931 -:100010000C94C3190C94C3190C94C3190C94C319F0 -:100020000C94C3190C94C3190C94C3190C94C319E0 -:100030000C94C3190C94C3190C94C3190C94C319D0 -:100040000C94C3190C9485670C94C3190C94C319B0 -:100050000C94C3190C94C3190C94FC980C949CFB3D -:100060000C94C3190C94BB530C94B1530C94C31946 -:100070000C94C3190C94C3190C94C3190C94C31990 -:100080000C94C3190C94C3190C94C3190C94C31980 -:100090000C94C3190C94C3190C94C3190C94C31970 -:1000A0000C94C3190C94C3190C94C3190C94C31960 -:1000B0000C94C3190C94C3190C94C3190C94C31950 -:1000C0000C94C3190C94C3190C94C3190C945F5667 -:1000D0000C9435560C94C3190C94C3190C94C31981 -:1000E0000C94C319721BB81BBE1BE51BF21BFB1B38 -:1000F000061CCC23DE24BB25EE25B631B6310927FC -:10010000AA27BA24B631B6314929E32A1B2BB631C6 -:10011000412DB631B631912EB631B6311B2F4E2F4F -:10012000B6310E30C930EE53F453065416541E54F3 -:100130004B5422544B5426542A544B542E5432546C -:1001400036543E544B544854485D4B5D3A5D3E5DD9 -:10015000445D825D4F5D535D595D5D5D615D675DD1 -:100160006B5D6F5D825D755D795D7D5D4B66506633 -:1001700055665F666966E26673667B6683668D6652 -:100180009766A166B066BA66E266C466CE66D86651 -:100190009EA4C0A4E0A405A52AA5E1A64FA572A52A -:1001A00095A5BAA5DFA504A629A64EA6E1A673A625 -:1001B00098A6BDA66FA872A876A879A87CA8A6A8BC -:1001C00080A883A887A88AA88DA891A894A897A892 -:1001D000A6A89BA89EA8A1A8084AD73B3BCE016E23 -:1001E00084BCBFFDC12F3D6C74319ABD56833DDA8E -:1001F0003D00C77F11BED9E4BB4C3E916BAAAABE9D -:10020000000000803F05A84CCDB2D44EB93836A9C5 -:10021000020C50B9918688083CA6AAAA2ABE000002 -:1002200000803F000C9487A80C9497660C940927D3 -:100230000C942A540C94A6A80C949EA40C943A5D99 -:100240000C949BA80C9495A50C9405A50C9479A8E6 -:100250000C943E5D0C94B6310C94E0A40C94DE2416 -:100260000C9422540C9491A80C944FA50C944854CF -:100270000C942E540C94EE250C9494A80C94F21B20 -:100280000C94DE540C94595D0C94EE530C948D66D2 -:100290000C94535D0C9447550C9472A50C944B66CA -:1002A0000C940F550C947D5D0D94A6060C94165479 -:1002B0000C941B2B0C94485D0C94912E0C94DFA590 -:1002C0000C9498A60C94ED540C9401550C94AA2708 -:1002D0000C944EA60C946F5D0C940E300C94825DC1 -:1002E0000C9497A80C94E2660C9455660C94445DAB -:1002F0000C9429A60C941B2F0C944E2F0C943E5456 -:100300000C9483A80C9494550C94675D0C947CA871 -:100310000C94D8660C94B81B0C94B0660C94E51B36 -:100320000C94C0A40C942AA50C94755D0C94BDA6E5 -:100330000C9450660C94BB250C94E32A0C94B05496 -:100340000C94CE660C94F4530C94721B0C94412DB7 -:100350000C944F5D0C94BA240C949EA80C94A16646 -:100360000C9432540C9404A60C944B5D0C941E54C3 -:100370000C94061C0C9436540C9476A80C9480A80B -:100380000C9483660C94615D0C94A1A80C94E1A676 -:100390000C9426540C9473660C946B5D0C945D5D08 -:1003A0000C947B660D9442040C94BA660C94BE1BAC -:1003B0000C9469660C944B540C948AA80C944929AB -:1003C0000C948DA80C94CC230C94BAA50C945F6665 -:1003D0000C9406540C9473A60C94C4660C94C93007 -:1003E0000C9472A80C94795D0C946FA80C94FB1B70 -:1003F0004E414E494E495459494E46CDCCCC3D0A0A -:10040000D7233C17B7D13877CC2B329595E6241FEC -:10041000B14F0A000020410000C84200401C4620A5 -:10042000BCBE4CCA1B0E5AAEC59D7400407A10F378 -:100430005A00A0724E18090010A5D4E80000E87612 -:1004400048170000E40B54020000CA9A3B00000069 -:10045000E1F505000080969800000040420F000082 -:1004600000A08601000000102700000000E8030043 -:100470000000006400000000000A0000000000010D -:1004800000000000002C76D888DC674F0823DFC10D -:10049000DFAE59E1B1B796E5E3E453C63AE65199C8 -:1004A0007696E8E6C28426EB898C9B62ED407C6FF1 -:1004B000FCEFBC9C9F40F2BAA56FA5F490055A2AA8 -:1004C000F75C936B6CF9676DC11BFCE0E40D47FEB4 -:1004D000F520E6B500D0ED902E03009435770500A9 -:1004E00080841E080000204E0A000000C80C333330 -:1004F00033330F986E12831141EF8D2114893BE63F -:100500005516CFFEE6DB18D1844B381BF77C1D90C7 -:100510001DA4BBE424203284725E228100C9F12430 -:10052000ECA1E53D274D323520500A4D32340050C4 -:1005300072696E74205061757365640052657375DD -:100540006D65005549205061757365004E6F204DF3 -:1005500061746368203A004D333033452D31533692 -:1005600035433455004D393939004D3530320A4D57 -:10057000353030004D333033453053323135433828 -:1005800055000A202A2A2A7265636461742E646108 -:1005900074615B305D203D004732380A47312046A8 -:1005A00031303030205A313000556E737570706FB5 -:1005B00072746564204F7074696F6E2053656C654A -:1005C000637465640047323800473120463130306B -:1005D00030205A302E30004732380A473120463119 -:1005E000303030205A302E30004D353030005A2017 -:1005F0004F6666736574203A202573004D353030A0 -:10060000005A204F6666736574203A2025730047B0 -:1006100032385A0A473146313530305A302E3000A0 -:100620004732380A473146313530305A302E3000A3 -:100630004D383400473146313030305A302E30009A -:100640004732380A473146313030305A302E300088 -:100650005A204F6666736574203A202573004D3525 -:100660003030004D383400426567696E53776974E5 -:100670006368007265636461742E61646472203D16 -:100680003D007265636461742E646174615B305D0A -:10069000203D3D0077616974776179203D3D000A16 -:1006A000202A2A2A4E6F7A7A6C6554656D705374CD -:1006B000617475735B325D203D00434F4D4D554E67 -:1006C00049434154494F4E0044525952554E0045FA -:1006D00052524F525300494E464F004543484F0037 -:1006E00047322F47332062616420706172616D650B -:1006F000746572730A00536C6565702E2E2E004867 -:100700006F6D652058592046697273740A00486FEE -:100710006D65205859204669727374004F46460033 -:100720004F4E00206F6620004D424C20473239204A -:10073000706F696E742000290A004A206F7574205A -:100740006F662072616E67652028302D00290A00CF -:1007500049206F7574206F662072616E676520286E -:10076000302D004D6573682070726F62696E67206E -:10077000646F6E652E0A005374617274206D657328 -:10078000682070726F62696E6720776974682022D2 -:10079000473239205331222066697273742E0A0061 -:1007A0004732380A47323920533200686173206E6D -:1007B0006F20646174612E0A004D65736820426584 -:1007C00064204C6576656C696E67200053206F75F8 -:1007D00074206F662072616E67652028302D352980 -:1007E0002E0A004D65736820706F696E7420636116 -:1007F0006E6E6F74206265207265736F6C766564CF -:100800000A004D302F3120427265616B2043616CCC -:100810006C656400436F6E74696E7565004D302FB2 -:100820003120427265616B2043616C6C6564004EDF -:100830006F204D6F76652E00456E642066696C658D -:10084000206C6973740A00426567696E2066696C82 -:1008500065206C6973740A00526573756D65205369 -:100860004400286E6F2066696C65290043757272BA -:10087000656E742066696C653A20002E0A00446536 -:100880006C6574696F6E206661696C65642C2046C6 -:10089000696C653A200046696C652064656C657416 -:1008A00065643A005072696E742074696D653A200F -:1008B000000A53746174733A2046696C616D656E09 -:1008C0007420757365643A20002C204C6F6E676548 -:1008D0007374206A6F623A2000546F74616C2074E4 -:1008E000696D653A200053746174733A20002C20BE -:1008F0004661696C65643A20002C2046696E697314 -:100900006865643A20005072696E74733A2000532F -:10091000746174733A20006F666600DB06D606CFFA -:1009200006C806BA0644454255473A004D313133B0 -:1009300020530042656420436F6F6C696E672E2EF2 -:100940002E004265642048656174696E672E2E2E04 -:10095000006F6B004348414D4245525F54454D5036 -:1009600045524154555245004D4F54494F4E5F4DED -:100970004F44455300544845524D414C5F50524FEF -:1009800054454354494F4E004155544F5245504FE2 -:1009900052545F53445F5354415455530050524F87 -:1009A0004D50545F535550504F525400454D455291 -:1009B00047454E43595F50415253455200434153BE -:1009C000455F4C494748545F4252494748544E4559 -:1009D000535300544F47474C455F4C494748545385 -:1009E00000534F4654574152455F504F57455200B0 -:1009F0004255494C445F50455243454E54004C4586 -:100A000056454C494E475F44415441005A5F50524D -:100A10004F4245004155544F4C4556454C005052AD -:100A2000494E545F4A4F420050524F47524553532C -:100A3000004155544F5245504F52545F54454D500C -:100A400000564F4C554D4554524943004545505270 -:100A50004F4D0042494E4152595F46494C455F5403 -:100A600052414E534645520053455249414C5F58FE -:100A70004F4E5F584F4646004649524D57415245EA -:100A80005F4E414D453A4D61726C696E20322E3099 -:100A90005F44573320544D33442053534D444E4EFE -:100AA00020534F555243455F434F44455F55524C89 -:100AB0003A68747470733A2F2F6769746875622E80 -:100AC000636F6D2F496E73616E6974794175746FD0 -:100AD0006D6174696F6E2F4D61726C696E2F7472E7 -:100AE00065652F437265616C6974795F4D61726CE5 -:100AF000696E322E302E782050524F544F434F4C57 -:100B00005F56455253494F4E3A312E30204D4143A6 -:100B100048494E455F545950453A544D334420435B -:100B2000522D582045585452554445525F434F5515 -:100B30004E543A3220555549443A636564653261F2 -:100B400032662D343161322D343734382D396231EB -:100B5000322D6335356336326633363766660A00C2 -:100B60002F2F2000205400205200416363656C65E4 -:100B7000726174696F6E3A20500020466C6F773A4C -:100B8000200050726F7465637465642050696E0A4A -:100B900000496E76616C696420657874727564656D -:100BA000720A0020643A0020693A0020703A00205E -:100BB000643A0020693A0020703A00646973006565 -:100BC0006E0043290A0061626C656420286D696EBD -:100BD0002074656D702000436F6C642065787472BA -:100BE000756465732061726520004F666673657475 -:100BF00073204170706C696564004572723A2054CC -:100C00006F6F206661722100546F6F2066617220E1 -:100C100066726F6D207265666572656E63652070C1 -:100C20006F696E740A00454550524F4D204F4B0A74 -:100C300000416476616E6365204B003F4B20766116 -:100C40006C7565206F7574206F662072616E6765C4 -:100C50002028302D3130292E0A003F542076616C37 -:100C60007565206F7574206F662072616E67652EE2 -:100C70000A004572726F722077726974696E67201C -:100C8000746F20454550524F4D210A0036372603D8 -:100C90003C3D380E2E303E121A1C1824221E0844E9 -:100CA0000AFF430809070001627573793A207061F1 -:100CB0007573656420666F7220696E7075740A00C2 -:100CC000627573793A2070617573656420666F721E -:100CD00020757365720A00627573793A2070726FBD -:100CE00063657373696E670A0053544F50504544EF -:100CF0002E20005072696E7465722073746F70706C -:100D000065642064756520746F206572726F7273FC -:100D10002E2046697820746865206572726F722093 -:100D2000616E6420757365204D39393920746F20E8 -:100D3000726573746172742E202854656D706572CB -:100D400061747572652069732072657365742E20F5 -:100D500053657420697420616674657220726573CE -:100D600074617274696E67290A004E6F204368656A -:100D7000636B73756D2077697468206C696E65208C -:100D80006E756D6265722C204C617374204C696EB7 -:100D9000653A20004E6F20436865636B73756D2064 -:100DA00077697468206C696E65206E756D62657216 -:100DB0002C204C617374204C696E653A2000636886 -:100DC00065636B73756D206D69736D617463682CF9 -:100DD000204C617374204C696E653A20004C696E3A -:100DE00065204E756D626572206973206E6F742088 -:100DF0004C617374204C696E65204E756D6265722E -:100E00002B312C204C617374204C696E653A2000A4 -:100E10004D31313000776169740A004D313137004E -:100E20004D33310053442072656164206572726FE6 -:100E3000720A00446F6E65207072696E74696E6725 -:100E40002066696C650A004B494C4C2063617573E0 -:100E5000656420627920746F6F206D756368206906 -:100E60006E6163746976652074696D65202D2063F9 -:100E7000757272656E7420636F6D6D616E643A2079 -:100E8000002020506C616E6E6572427566666572F8 -:100E900042797465733A20002046726565204D657D -:100EA0006D6F72793A2000436F6D70696C65643ABA -:100EB0002053657020203820323031390A00207CE0 -:100EC00020417574686F723A2054696E794D616380 -:100ED00068696E657333440A00323031392D30371A -:100EE0002D333000204C617374205570646174653B -:100EF000643A2000322E305F4457330A004D61724D -:100F00006C696E0020536F6674776172652052655C -:100F10007365740A00205761746368646F672052B8 -:100F2000657365740A002042726F776E206F757466 -:100F30002052657365740A002045787465726E618D -:100F40006C2052657365740A00506F776572557036 -:100F50000A0073746172740A006175746F25632EE0 -:100F600067006572726F722077726974696E6720AC -:100F7000746F2066696C650A00446F6E652073614A -:100F800076696E672066696C652E0A004D323900FD -:100F9000205A3A0020593A0020583A00656E64738E -:100FA000746F7073206869743A200047323858595A -:100FB0000043616E6E6F74206F70656E2073756292 -:100FC000646972200053442063617264206F6B0A6D -:100FD000006F70656E526F6F74206661696C656436 -:100FE0000A00766F6C756D652E696E697420666196 -:100FF000696C65640A00534420696E6974206661F7 -:10100000696C0A004D3234004D323320257300578D -:10101000726974696E6720746F2066696C653A2026 -:10102000002E0A006F70656E206661696C65642C25 -:101030002046696C653A20002E0A006F70656E20AC -:101040006661696C65642C2046696C653A200046CF -:10105000696C652073656C65637465640A00205370 -:10106000697A653A200046696C65206F70656E6527 -:10107000643A2000667265736800646F696E670089 -:101080002066696C653A20004E6F772000454E441B -:1010900020535542524F5554494E450A0022207064 -:1010A0006F73002220706172656E743A220053558E -:1010B00042524F5554494E452043414C4C20746197 -:1010C000726765743A2200747279696E6720746F72 -:1010D0002063616C6C207375622D67636F6465209B -:1010E00066696C6573207769746820746F6F206D12 -:1010F000616E79206C6576656C732E204D415820A9 -:101100006C6576656C2069733A310A00534420702F -:1011100072696E74696E67206279746520004E6F23 -:1011200074205344207072696E74696E670A0000FF -:10113000002100240027002A002D00300033000188 -:10114000010000040107010A010000220025002817 -:10115000002B002E003100340002010000050108C0 -:10116000010B01000020002300260029002C002F85 -:101170000032000001000003010601090105050518 -:1011800005070508080808020202020A0A080804FE -:10119000040404010101010101010103030303032C -:1011A000030303040707070C0C0C0C0C0C0C0C02BB -:1011B00002020206060606060606060B0B0B0B0BC2 -:1011C0000B0B0B01021020200808102040102040BB -:1011D00080020102010804020101020408102040FB -:1011E0008080402010080402018004020180402019 -:1011F0001008040201080402010102040810204042 -:1012000080010204081020408000000A0B02090C33 -:101210000D0E08070304010000000000000000009C -:1012200000000000000000000000000000000000BE -:10123000000000000012111000000000000000007B -:101240000000000000000000000000000000004757 -:101250003238002046697273740A00486F6D652049 -:1012600000486F6D652025732573257320466972CC -:10127000737400220A00556E6B6E6F776E20636F79 -:101280006D6D616E643A20220024F4D43050C38E18 -:1012900020C2A24017828B7011127A910D816CD9F5 -:1012A0000AA861E108C7586607615143061E4B5DF5 -:1012B00005C145A7041A411104093D98037139314C -:1012C000034036DB0265339102D4305402802E1D78 -:1012D00002632CEE01752AC501B028A001102781F8 -:1012E000018F2564012B244B01E0223401AC211F26 -:1012F000018D200D01801FFC00841EED00971DDF75 -:1013000000B81CD200E61BC600201BBC00641AB249 -:1013100000B219A8000A19A0006A189900D1179103 -:101320000040178B00B516840031167E00B3157986 -:10133000003A157300C7146F0058146A00EE136664 -:10134000008813630025135E00C7125B006C125700 -:101350000015125400C111510070114F0021114BA2 -:1013600000D61049008D104700461044000210427C -:1013700000C00F4000800F3E00420F3C00060F3BB4 -:1013800000CB0E3800930E37005C0E3500270E346C -:1013900000F30D3200C10D3100900D3000600D2EB4 -:1013A00000320D2D00050D2C00D90C2B00AE0C29A0 -:1013B00000850C29005C0C2700350C27000E0C263C -:1013C00000E80B2400C40B2400A00B23007D0B239A -:1013D000005A0B2100390B2100180B2000F80A1FBE -:1013E00000D90A1E00BB0A1E009D0A1D00800A1DAE -:1013F00000630A1C00470A1B002C0A1B00110A1A72 -:1014000000F7091A00DD091900C4091900AB091910 -:1014100000920917007B091800630917004C091690 -:101420000036091600200916000A091500F50815EE -:1014300000E0081400CC081400B8081400A4081434 -:1014400000900813007D0812006B08130058081262 -:101450000046081200340811002308110012081178 -:101460000001081100F0071000E0071000D007107D -:1014700000C0071000B0070F00A107100091070E71 -:101480000083070F0074070F0065070E0057070E53 -:101490000049070E003B070D002E070E0020070D28 -:1014A0000013070D0006070D00F9060C00ED060DF0 -:1014B00000E0060C00D4060C00C8060C00BC060CAC -:1014C00000B0060C00A4060B0099060C008D060B5C -:1014D0000082060B0077060B006C060B0061060A03 -:1014E0000057060B004C060A0042060A0038060A9E -:1014F000002E060A0024060A001A060A0010060931 -:101500000007060A00FD050900F4050900EB0509BE -:1015100000E2050900D9050900D0050900C7050941 -:1015200000BE050900B5050800AD050800A50509C0 -:10153000009C050800940508008C05080084050837 -:10154000007C050800740508006C050700650508A7 -:10155000005D050700560508004E05070047050712 -:10156000004005080038050700310507002A050777 -:1015700000230507001C050600160507000F0507D8 -:10158000000805060002050700FB040600F5040735 -:1015900000EE040600E8040600E2040700DB04068F -:1015A00000D5040600CF040600C9040600C30406E3 -:1015B00000BD040600B7040600B1040500AC040633 -:1015C00000A6040600A00405009B0406009504057F -:1015D00000900406008A04050085040500800406C6 -:1015E000007A04050075040500700405006B04050D -:1015F0000066040500610405005C0405005704054D -:1016000000520405004D040500480405004304058C -:10161000003E0404003A04050035040500300404CB -:10162000002C04050027040400230405001E040404 -:10163000001A04040016040500110404000D04043B -:1016400000090405000404040000040400FC030471 -:1016500000F8030400F4030400F0030400EC0304A6 -:1016600000E8030400E4030400E0030400DC0304D6 -:1016700000D8030400D4030400D0030400CC030406 -:1016800000C8030300C503030024F404D9201BC4CD -:101690000C5C0E9804C4095F0265077101F405F93A -:1016A00000FB04B30048048700C1036900580355D8 -:1016B0000003034500BE023A008402310053022AAF -:1016C000002902250004022000E4011C00C80119C1 -:1016D00000AF01170098011400840113007101107C -:1016E000006101100051010E0043010D0036010B95 -:1016F000002B010B0020010B00150109000C010952 -:101700000003010800FB000800F3000800EB0007DD -:1017100000E4000600DE000600D8000600D2000645 -:1017200000CC000500C7000500C2000500BD000494 -:1017300000B9000400B5000400B1000400AD0004CD -:1017400000A9000400A5000300A20003009F0004FC -:10175000009B000300980003009500020093000323 -:1017600000900003008D0002008B0003008800023F -:10177000008600020084000300810002007F000256 -:10178000007D0002007B000200790002007700016A -:101790000076000200740002007200010071000275 -:1017A000006F0002006D0001006C0002006A000181 -:1017B0000069000200670001006600010065000189 -:1017C000006400020062000100610001006000018D -:1017D000005F0002005D0001005C0001005B000191 -:1017E000005A000100590001005800010057000193 -:1017F0000056000100550001005400010053000094 -:10180000005300010052000100510001005000018E -:10181000004F0001004E0000004E0001004D00018D -:10182000004C0001004B0000004B0001004A000189 -:101830000049000100480000004800010047000185 -:101840000046000000460001004500000045000180 -:10185000004400010043000000430001004200007A -:101860000042000100410000004100010040000171 -:10187000003F0000003F0001003E0000003E00016C -:10188000003D0000003D0001003C0000003C000065 -:10189000003C0001003B0000003B0001003A00005A -:1018A000003A000100390000003900010038000052 -:1018B0000038000000380001003700000037000148 -:1018C0000036000000360000003600010035000040 -:1018D0000035000000350001003400000034000035 -:1018E0000034000100330000003300000033000129 -:1018F0000032000000320000003200010031000020 -:101900000031000000310001003000000030000014 -:1019100000300001002F0000002F0000002F000009 -:10192000002F0001002E0000002E0000002E0001FC -:10193000002D0000002D0000002D0000002D0001F2 -:10194000002C0000002C0000002C0000002C0001E6 -:10195000002B0000002B0000002B0000002B0001DA -:10196000002A0000002A0000002A0000002A0001CE -:1019700000290000002900000029000000290000C3 -:1019800000290001002800000028000000280000B5 -:1019900000280000002800010027000000270000A8 -:1019A000002700000027000000270001002600009B -:1019B000002600000026000000260000002600018E -:1019C0000025000000250000002500000025000083 -:1019D0000025000000250001002400000024000074 -:1019E0000024000000240000002400010023000067 -:1019F000002300000023000000230000002300005B -:101A0000002300000023000100220000002200004B -:101A1000002200000022000000220000002200013D -:101A20000021000000210000002100000021000032 -:101A30000021000000210000002100010020000022 -:101A40000020000000200000002000000020000016 -:101A5000002000000020000000200001001F000006 -:101A6000001F0000001F0000001F0000001F0000FA -:101A7000001F0000001F0001001E0000001E0000EB -:101A8000001E0000001E000000C23100001C2600E5 -:101A900000F4190000D80F0000EB080000C004009B -:101AA00000750200004001000020746F6F206C6F11 -:101AB0006E6720657874727573696F6E20707265D9 -:101AC00076656E7465640A0020636F6C64206578C7 -:101AD00074727573696F6E2070726576656E746569 -:101AE000640A0057616974696E6720666F722068C6 -:101AF00065617475702E0A004C656176696E6720A9 -:101B0000473236003F5370656369666965642058E3 -:101B10002C5920636F6F7264696E617465206F75F4 -:101B200074206F6620626F756E64732E0A003F2802 -:101B3000522965706561742076616C7565206E6FE1 -:101B40007420706C61757369626C653B206D757390 -:101B500074206265206174206C6561737420312E7D -:101B60000A003F2852296570656174206D75737491 -:101B700020626520737065636966696564207768B3 -:101B8000656E206E6F74207573696E6720616E20BC -:101B90004C43442E0A003F5370656369666965646F -:101BA000206E6F7A7A6C652074656D7065726174F1 -:101BB000757265206E6F7420706C61757369626CEC -:101BC000652E0A003F537065636966696564206627 -:101BD000696C616D656E742073697A65206E6F74CF -:101BE00020706C61757369626C652E0A003F5370DA -:101BF00065636966696564207072696D65206C65EE -:101C00006E677468206E6F7420706C6175736962A2 -:101C10006C652E0A003F5072696D65206C656E67B9 -:101C20007468206D757374206265207370656369D4 -:101C300066696564207768656E206E6F74207573C1 -:101C4000696E6720616E204C43442E0A003F53703A -:101C500065636966696564206E6F7A7A6C65207366 -:101C6000697A65206E6F7420706C61757369626C3F -:101C7000652E0A003F52657472616374696F6E204D -:101C80004D756C7469706C696572206D7573742024 -:101C90006265207370656369666965642E0A003F3A -:101CA0005370656369666965642052657472616327 -:101CB00074696F6E204D756C7469706C6965722003 -:101CC0006E6F7420706C61757369626C652E0A00AA -:101CD0003F537065636966696564206C61796572FC -:101CE00020686569676874206E6F7420706C617518 -:101CF0007369626C652E0A0043292E0A003F5370F7 -:101D000065636966696564206265642074656D70E9 -:101D100065726174757265206E6F7420706C617588 -:101D20007369626C65202834302D00473236207389 -:101D300074617274696E672E2E2E0A00453120542C -:101D40004845524D414C2052554E41574159004251 -:101D5000454420544845524D414C2052554E415720 -:101D6000415900546865726D616C2052756E6177DF -:101D70006179004531204572723A204D41585445F1 -:101D80004D50004572723A204D415854454D5020F7 -:101D9000424544004D415854454D50207472696786 -:101DA0006765726564004531204572723A204D497D -:101DB0004E54454D50004572723A204D494E54459F -:101DC0004D5020424544004D494E54454D502074DD -:101DD0007269676765726564000A0A0020205A5FAD -:101DE0004D494E3A002020595F4D494E3A0020207F -:101DF000585F4D494E3A004D383420582059205AEA -:101E0000204500202F002042403A0020403A004563 -:101E100020436F6F6C696E672E2E2E00452048653B -:101E20006174696E672E2E2E0020573A0020573AB3 -:101E300000496E76616C69642065787472756465BA -:101E4000720A00416374697665204578747275641E -:101E500065723A2000486F74656E6420746F6F205D -:101E6000636F6C640A007C3C3E5E2B3D3F2F5B5DE4 -:101E70003B2C2A225C005A5F53544F505F50494E0E -:101E8000005A5F535445505F50494E005A5F4D49C8 -:101E90004E5F50494E005A5F454E41424C455F509F -:101EA000494E005A5F4449525F50494E005A5F43C1 -:101EB000535F50494E00595F53544F505F50494E45 -:101EC00000595F535445505F50494E00595F4D498A -:101ED0004E5F50494E00595F454E41424C455F5060 -:101EE000494E00595F4449525F50494E00595F4383 -:101EF000535F50494E00585F53544F505F50494E06 -:101F000000585F535445505F50494E00585F4D494B -:101F10004E5F50494E00585F454E41424C455F5020 -:101F2000494E00585F4449525F50494E00585F4344 -:101F3000535F50494E0053535F50494E0053455232 -:101F4000564F335F50494E00534552564F325F5003 -:101F5000494E00534552564F315F50494E0053454C -:101F600052564F305F50494E005344535300534430 -:101F70005F4445544543545F50494E0053434B5FC3 -:101F800050494E0052414D50535F44395F50494EC5 -:101F90000052414D50535F44385F50494E0052410A -:101FA0004D50535F4431305F50494E004D4F5349BF -:101FB0005F50494E004D4F534645545F445F504972 -:101FC0004E004D49534F5F50494E004D41583636F3 -:101FD00037355F53535F50494E004C45445F50497D -:101FE0004E004845415445525F4245445F50494E7A -:101FF000004845415445525F305F50494E004649C4 -:102000004C5F52554E4F55545F50494E0046414E1D -:10201000315F50494E0046414E5F50494E004531B8 -:102020005F535445505F50494E0045315F454E4126 -:10203000424C455F50494E0045315F4449525F5024 -:10204000494E0045315F43535F50494E0045305F74 -:10205000535445505F50494E0045305F454E414214 -:102060004C455F50494E0045305F4449525F5049EE -:102070004E0045305F43535F50494E00455F4D551C -:1020800058325F50494E00455F4D5558315F5049B9 -:102090004E00455F4D5558305F50494E00415652F5 -:1020A0005F53535F50494E004156525F53434B5F5D -:1020B00050494E004156525F4D4F53495F50494E73 -:1020C000004156525F4D49534F5F50494E005445B1 -:1020D0004D505F4245445F50494E0054454D505F5E -:1020E000315F50494E0054454D505F305F50494E6E -:1020F0000046494C57494454485F50494E00545893 -:10210000440052584400546F6F6C6368616E676599 -:102110003A0020204D32313700205A00205900204B -:1021200058002052002050002045002053005057F6 -:102130004D3A20202534640050574D3A2020253454 -:10214000640050574D3A20202534640050574D3AD2 -:1021500020202534640050574D3A20202534640057 -:1021600050574D3A20202534640050574D3A2020D6 -:102170002534640050574D3A2020253464005057D0 -:102180004D3A20202534640050574D3A2020253404 -:10219000640050574D3A20202534640050574D3A82 -:1021A00020202534640050574D3A20202534640007 -:1021B00050574D3A20202534640050574D3A202086 -:1021C0002534640050574D3A202025346400433AAA -:1021D0002000423A2000413A200020202020434F96 -:1021E0004D002020206E6F6E2D7374616E646172DD -:1021F000642050574D206D6F646500202020636F70 -:102200006D7061726520696E74657272757074208C -:10221000656E61626C6564002020206F7665726671 -:102220006C6F7720696E7465727275707420656E5C -:1022300061626C6564003A20002020202054494DE2 -:10224000534B00423A2000202020205443435200A8 -:10225000413A2000202020205443435200202020D7 -:102260002043533A20002020202057474D3A200099 -:1022700050574D3A20202534640050574D3A2020C5 -:102280002534640047004800000088008A008C0064 -:10229000B300B400000098009A009C00A800AA00B7 -:1022A000AC0028012A012C012020202054494D4552 -:1022B0005200440045006E00800081006F00B000B5 -:1022C000B1007000900091007100A000A1007200A8 -:1022D00020012101730020697320616C736F2074E9 -:1022E00069656420746F20746869732070696E007A -:1022F00054494D45523143000A202E002020002031 -:1023000020506F72743A20002020200020202041AD -:102310006E616C6F6720696E203D2025356C64000E -:102320003C756E757365642F756E6B6E6F776E3E60 -:102330000020284125326429202000253364200014 -:10234000257350494E3A20004F7574707574203DC6 -:102350002000496E70757420203D2000416E616C34 -:102360006F6720696E203D2025356C640070726FA8 -:102370007465637465642000202841253264292037 -:1023800020002533642000257350494E3A20000276 -:10239000210001FE200101F1203B00E6204300DB8B -:1023A000204500CE204400C1203201B4203301A8D2 -:1023B0002034019D2035019220280187202A017CAC -:1023C000202C0172202A0167201C01592018014D80 -:1023D000201A0143202C01382022012A201E011E30 -:1023E000202401162009010D200701FE1F0201F122 -:1023F0001F0A01E21F0801DA1F0D01CB1F4201C2B3 -:102400001F3201B51F0701AC1F33019E1F0A019146 -:102410001F0801841F09017C1F34016E1F310169EF -:102420001F35015E1F0B01531F0601481F05013DAB -:102430001F0401361F35012D1F3501231F370116DB -:102440001F26010C1F0301011F3601F61E0301EDBB -:102450001E3101E31E3D01D61E3801CC1E0E01C106 -:102460001E3C01B61E0E01AD1E2801A31E300196B2 -:102470001E3E018C1E1201811E2E01761E12014489 -:102480006F6E652E0A00534552564F206E6F7420B2 -:102490007365742075702E0A004D343320576169BE -:1024A000742043616C6C656400436F6E74696E7573 -:1024B00065004D343320576169742043616C6C654D -:1024C00064005761746368696E672070696E730A8F -:1024D0000064697300656E0061626C65640A006582 -:1024E0006E6473746F70206D6F6E69746F7220000C -:1024F000204500205A00205900204D393220580034 -:10250000205A00205900580020204D61783A2000C0 -:10251000205A00205900580020204D696E3A2000B2 -:10252000536F667420656E6473746F70733A200025 -:102530005761726E696E67203A20436C65616E2048 -:10254000436972636C652072657175697265732089 -:1025500058590A0020496E76616C69642065787468 -:1025600072756465722000526573656E643A20006E -:1025700043616E6E6F74206F70656E207375626458 -:10258000697220002569730025696D202569730033 -:102590002569682025696D202569730025696420F7 -:1025A0002569682025696D202569730025697920D2 -:1025B000256964202569682025696D2025697300D7 -:1025C00023646566696E652044454641554C545FF9 -:1025D0000000626564004B6420004B6920004B7072 -:1025E0002000504944204175746F74756E652066F3 -:1025F000696E69736865642120507574207468651C -:10260000206C617374204B702C204B6920616E64C8 -:10261000204B6420636F6E7374616E7473206672F6 -:102620006F6D2062656C6F7720696E746F20436FE9 -:102630006E66696775726174696F6E2E680A005004 -:102640004944204175746F74756E65206661696CCC -:102650006564212074696D656F75740A00453120C9 -:10266000544845524D414C2052554E415741590016 -:1026700042454420544845524D414C2052554E410C -:1026800057415900546865726D616C2052756E61D6 -:102690007761790045312048656174696E6720462D -:1026A00061696C6564004265642048656174696EA7 -:1026B00067204661696C65640048656174696E678E -:1026C000206661696C656400504944204175746FEF -:1026D00074756E65206661696C6564212054656D52 -:1026E000706572617475726520746F6F20686967B8 -:1026F000680A00204B643A2000204B693A200020F1 -:102700004B703A20000A20436C6173736963205058 -:102710004944200A00204B643A2000204B693A20AB -:1027200000204B703A20000A204E6F206F766572B1 -:1027300073686F6F740A002054753A2000204B753F -:102740003A2000206D61783A2000206D696E3A20B1 -:102750000020643A200020626961733A20005049E9 -:1027600044204175746F74756E6520737461727462 -:102770000A00504944204175746F74756E65206677 -:1027800061696C6564212054656D70657261747552 -:10279000726520746F6F20686967680A0050494449 -:1027A000204175746F74756E65206661696C65642F -:1027B0002120426164206578747275646572206EB0 -:1027C000756D6265720A006563686F3A00457272E2 -:1027D0006F723A000A4D6561737572656420706F9F -:1027E000696E74733A0A002F2F616374696F6E3AD1 -:1027F00000627574746F6E00656E640070726F6D48 -:1028000070745F0073686F77004D383736205265FB -:1028100073706F6E64696E672050524F4D50545FF5 -:1028200000554E4B4E4F574E205354415445004790 -:10283000434F44455F494E464F004C43445F50412F -:102840005553455F524553554D450046494C414D02 -:10285000454E545F52554E4F55545F434F4E544969 -:102860004E55450046494C414D454E545F52554EDC -:102870004F5554004D323400436F6E74696E756568 -:10288000005075726765204D6F72650050617573F9 -:1028900065640070617573656400486F74656E648B -:1028A00020746F6F20636F6C640A005061757365EC -:1028B00000507265737320627574746F6E20286F98 -:1028C00072204D3130382920746F20726573756D18 -:1028D000650A00496E736572742066696C616D6586 -:1028E0006E7420616E6420707265737320627574FB -:1028F000746F6E20286F72204D313038290A0043E2 -:102900006F6E74696E756500526568656174204408 -:102910006F6E6500526568656174696E672E2E2E54 -:1029200000526568656174696E6700486561746529 -:102930007254696D656F75740052656865617400E5 -:1029400048656174657254696D656F757400507285 -:1029500065737320627574746F6E20286F72204DDA -:102960003130382920746F2068656174206E6F7A69 -:102970007A6C650A004E6F7A7A6C65205061726BD2 -:10298000656400436F6E74696E7565004E6F7A7A88 -:102990006C65205061726B656400486F74656E648D -:1029A00020746F6F20636F6C640A00726573756DBD -:1029B000656400626567696E00436F6E74696E7569 -:1029C000650050757267654D6F7265005061757373 -:1029D0006564004C6F61642046696C616D656E745E -:1029E00000436F6E74696E7565004C6F61642046BC -:1029F000696C616D656E74205400496E7365727404 -:102A00002066696C616D656E7420616E6420707201 -:102A100065737320627574746F6E20286F72204D19 -:102A2000313038290A00526573756D650044696656 -:102A30006665723A200046726F6D5374703A0053A7 -:102A40007465707065723A00556E4C6576656C3AC7 -:102A5000004C6576656C65643A005261773A2020D7 -:102A60002020000A4C6F676963616C3A0043617013 -:102A70003A00220A00656E7175657565696E67209A -:102A800022002042002050006F6B00544D33442040 -:102A900043522D582052656164792E005072696E40 -:102AA00074696E672E2E2E005072696E742050610C -:102AB000757365640063616E63656C005072696E66 -:102AC000742041626F727465640055492041626FE1 -:102AD000727400726573756D65004D323400290A99 -:102AE000002062797465733B206372632000536534 -:102AF0007474696E67732053746F72656420280064 -:102B0000000000000000000000000000000048423B -:102B100000004842000080405761726E696E673A5B -:102B200020486F6D696E672042756D70204469762C -:102B300069736F72203C20310A000202040000A079 -:102B4000400000A0400000004000009643000096B6 -:102B5000430000C843FFFFFF6F70656E0054524989 -:102B6000474745524544003A20007A5F6D696E0040 -:102B7000795F6D696E00785F6D696E005265706F88 -:102B80007274696E6720656E6473746F70207374FD -:102B9000617475730A00205A3A0020593A002043A4 -:102BA0006F756E7420583A0020453A00205A3A005A -:102BB00020593A00583A000000964300009643001E -:102BC00000C84300000000000000000000000020DA -:102BD000746F6F206C6F6E6720657874727573699F -:102BE0006F6E2070726576656E7465640A0020638E -:102BF0006F6C6420657874727573696F6E20707283 -:102C00006576656E7465640A00454550524F4D20E7 -:102C10006461746173697A65206572726F722E0ADD -:102C200000290A002062797465733B206372632077 -:102C3000002073746F7265642073657474696E67C5 -:102C40007320726574726965766564202800202897 -:102C500063616C63756C6174656429210A002021CD -:102C60003D2000454550524F4D20435243206D6951 -:102C7000736D61746368202D202873746F726564AE -:102C80002920002053697A653A2000496E646578EE -:102C90003A2000204D61726C696E3D563730290A2A -:102CA00000454550524F4D2076657273696F6E2016 -:102CB0006D69736D617463682028454550524F4DAE -:102CC0003D002E0A006F70656E206661696C656458 -:102CD0002C2046696C653A2000706F7765726F66CC -:102CE00066004B494C4C45442E20005072696E746E -:102CF00065722068616C7465642E206B696C6C2849 -:102D0000292063616C6C6564210A000A20696E6980 -:102D100074207A70726F62655F7A6F66667365742D -:102D2000203D2000454550524F4D20496E69746941 -:102D3000616C697A65640A0048617264636F6465F6 -:102D4000642044656661756C742053657474696EA3 -:102D50006773204C6F616465640A00DC050000DC69 -:102D6000050000640000004B0000000000FA430072 -:102D700000FA4300002041000096420000A04200FB -:102D800000A0420000C8430000BE4220204D363063 -:102D9000332000546F6F6C2D6368616E67696E67D6 -:102DA0003A0A002055005431204C00205500543080 -:102DB000204C0046696C616D656E74206C6F6164B7 -:102DC0002F756E6C6F6164206C656E677468733A02 -:102DD0000A00204B0020204D3930302054004C692F -:102DE0006E65617220416476616E63653A0A002007 -:102DF000440020490020204D33303420500020442E -:102E00000020490020204D333031205000504944EB -:102E10002073657474696E67733A0A002059002044 -:102E200020473239205333205800205A0020204DAB -:102E30003432302053004D65736820426564204C65 -:102E40006576656C696E673A0A00205A0020590061 -:102E500020204D323036205800486F6D65206F6657 -:102E6000667365743A0A00204A002054002053001B -:102E700020204D323035204200204A3C6A756E6376 -:102E80005F6465763E00416476616E6365643A20F6 -:102E9000423C6D696E5F7365676D656E745F7469E2 -:102EA0006D655F75733E20533C6D696E5F66656549 -:102EB00064726174653E20543C6D696E5F7472612A -:102EC00076656C5F66656564726174653E0020546A -:102ED0000020520020204D323034205000416363E6 -:102EE000656C65726174696F6E2028756E697473A4 -:102EF0002F7332293A20503C7072696E745F61639F -:102F000063656C3E20523C726574726163745F61EC -:102F10006363656C3E20543C74726176656C5F61DE -:102F20006363656C3E0A00204500205A002059006A -:102F300020204D3230312058004D6178696D756D1B -:102F400020416363656C65726174696F6E202875DA -:102F50006E6974732F7332293A0A00204500205A93 -:102F60000020590020204D3230332058004D617828 -:102F7000696D756D2066656564726174657320287E -:102F8000756E6974732F73293A0A005374657073F0 -:102F90002070657220756E69743A0A0020204D32E7 -:102FA00030302044300A0020204D3230302054315F -:102FB00020440020204D32303020440020446973EA -:102FC00061626C65640A0046696C616D656E7420AF -:102FD00073657474696E67733A0020286D6D2900FB -:102FE0002020473231202020203B20556E69747309 -:102FF00020696E206D6D00486F6D696E67204661B7 -:10300000696C65640070012C0190012701B00122F8 -:1030100001C0011D01F00118011002130130020E60 -:10302000016002090190020401C002FF000003FADE -:10303000004003F5008003F000D003EB002004E61D -:10304000007004E100E004DC004005D700C005D2B8 -:10305000004006CD00D006C8008007C3003008BE7F -:1030600000F008B900C009B400B00AAF00B00BAA64 -:1030700000D00CA500000EA000500F9B00C01096C1 -:10308000005012910000148C00C0158700B0178208 -:1030900000B0197D00D01B7800001E730040206E28 -:1030A0000090226900F024640040275F0090295AB4 -:1030B00000E02B5500102E500020304B00103246FF -:1030C00000E033410090353C001037370070383253 -:1030D00000A0392D00B03A2800A03B2300603C1E20 -:1030E00000103D1900903D1400103E0F00703E0A84 -:1030F00000C03E0500003F0000403FFBFF803FF660 -:10310000FFC03FF1FF626564002C20737973746522 -:103110006D2073746F7070656421204865617465FB -:10312000725F49443A2000426564204865617469D1 -:103130006E67204661696C65640048656174696EFC -:1031400067206661696C65640042454420544845C7 -:10315000524D414C2052554E4157415900546865DB -:10316000726D616C2052756E617761790045312016 -:1031700048656174696E67204661696C65640048E2 -:10318000656174696E67206661696C6564004531CC -:1031900020544845524D414C2052554E41574159BB -:1031A00000546865726D616C2052756E617761794B -:1031B00000202D20496E76616C69642065787472F8 -:1031C00075646572206E756D62657220210A00104B -:1031D00000C90210012C014001220170011801B048 -:1031E000010E01F00104015002FA00B002F00030BB -:1031F00003E600D003DC009004D2007005C800A0F4 -:1032000006BE000008B400B009AA00D00BA0006000 -:103210000E960060118C000015820020197800C005 -:103220001D6E00A0226400B0275A00902C500000B0 -:10323000314600E0343C0010383200903A280060FB -:103240003C1E00A03D1400803E0A00203F00004FBD -:1032500046460A00466164652048656967687420CF -:1032600000426564204C6576656C696E6720004697 -:1032700061696C656420746F20656E61626C6520A5 -:10328000426564204C6576656C696E670A004D6521 -:10329000736820426564204C6576656C20646174B7 -:1032A000613A0A00496E76616C6964206D657368E5 -:1032B0002E0A00206E6F7420656E74657265642E30 -:1032C0000A004D65736820706F696E742063616ECB -:1032D0006E6F74206265207265736F6C7665640A28 -:1032E000004D34323120696E636F727265637420F1 -:1032F000706172616D657465722075736167650ACE -:10330000003F4A206F7574206F662072616E67659A -:103310002028302E303120746F20302E33290A00BF -:103320005401D20111241FBECFEFD1E2DEBFCDBFC9 -:1033300000E00CBF17E0A0E0B2E0E0EEFFE202E048 -:103340000BBF02C007900D92A03DB107D9F72DE148 -:10335000A0EDB7E001C01D92AB36B207E1F719E16D -:10336000C1E9D9E100E006C021970109802FFE01E3 -:103370000F940D14C039D10780E00807A9F70E9407 -:10338000E6FB0D94DE170C9400002F923F924F92B3 -:103390005F926F927F928F929F92AF92BF92CF92E5 -:1033A000DF92EF92FF920F931F93CF93DF93CDB7EE -:1033B000DEB7E3970FB6F894DEBF0FBECDBF8091A6 -:1033C0000901817091E098272091EF07921781F110 -:1033D0009093EF07811116C00E9437578091B01C5F -:1033E00083FF09C082EA93E00E944A4D61E080E0D9 -:1033F0000E94C25D1DC060E081E00E94C25D8BEB57 -:1034000093E014C00091B01C03FB002700F90E9458 -:10341000C6568091B01C877F8093B01C002341F07A -:1034200060E081E00E94C25D84ED93E00E944A4D1D -:103430008091651981FF11C180917A1A90917B1A50 -:10344000891B8F70843008F008C18CE0EAEFFAE045 -:10345000DE01119601900D928A95E1F780915C0B47 -:1034600090915D0BA0915E0BB0915F0B88A799A71F -:10347000AAA7BBA79C01AD016091FA0A7091FB0A53 -:103480008091FC0A9091FD0A0F9421146B017C013C -:103490006093FA0A7093FB0A8093FC0A9093FD0AEA -:1034A0008091600B9091610BA091620BB091630BC6 -:1034B0008CA79DA7AEA7BFA79C01AD016091FE0A96 -:1034C0007091FF0A8091000B9091010B0F942114D1 -:1034D00068A379A38AA39BA36093FE0A7093FF0A53 -:1034E0008093000B9093010B8091640B9091650B7E -:1034F000A091660BB091670B88AB99ABAAABBBAB45 -:103500009C01AD016091020B7091030B8091040B43 -:103510009091050B0F9421144B015C016093020BF9 -:103520007093030B8093040B9093050BA7019601F6 -:10353000C701B6010F94840D2B013C0128A139A1CC -:103540004AA15BA1CA01B9010F94840D9B01AC0192 -:10355000C301B2010F9422142B013C01A501940177 -:10356000C501B4010F94840D9B01AC01C301B201EC -:103570000F9422140F94D0169B01AC0160E070E010 -:1035800080E89FE30F941C1520915D0230915E024C -:1035900040915F02509160020F94840D2DEC3CEC41 -:1035A0004CEC5DE30F94840D20E030E040E85EE3F6 -:1035B0000F94840D2B013C0120E030E040E85FE3F4 -:1035C0000F941E0D87FFF3C3A3019201C701B6013B -:1035D0000F94840D28A539A54AA55BA50F94221444 -:1035E0006093FA0A7093FB0A8093FC0A9093FD0A99 -:1035F000A301920168A179A18AA19BA10F94840DD6 -:103600002CA53DA54EA55FA50F9422146093FE0A3C -:103610007093FF0A8093000B9093010BA30192011A -:10362000C501B4010F94840D28A939A94AA95BA941 -:103630000F9422146093020B7093030B8093040B7E -:103640009093050B0E9470DD8CE0FE013196AAEF8D -:10365000BAE001900D928A95E1F78091EE07811111 -:103660000C94A5358091EC079091ED079C012F5F9C -:103670003F4F3093ED072093EC07883E934010F4C2 -:103680000C94A53581E08093EE071092ED0710921F -:10369000EC0780910411882309F49AC30E9444B571 -:1036A000811196C38091EB078F5F8093EB07809128 -:1036B000EB07853620F01092EB0710920411E09191 -:1036C00004118E2FEE0F990BAA0BBB0BFC01319747 -:1036D000E730F10508F0A0C08827EE58FF4F8F4F64 -:1036E0000D940D140E943CB5882309F495C081E027 -:1036F0008093170287EE93E00E944A4D80E190E0AC -:1037000090930D1B80930C1B85E08093001B02E8B7 -:103710000093031B84E190E1A0E0B0E08093041BE0 -:103720009093051BA093061BB093071B0E94B8E95A -:1037300081E09AE590930D1B80930C1B86E390E04B -:1037400090930F1B80930E1B87E08093001B0093C8 -:10375000031B84E890E0A0E0B0E08093041B90930A -:10376000051BA093061BB093071B0E94B8E952C02B -:103770000E943CB5882309F44FC048C085EF93E010 -:103780000E944A4D81E09AE590930D1B80930C1B9B -:1037900080E490E090930F1B80930E1B07E0009352 -:1037A000001B82E88093031B84E890E0A0E0B0E077 -:1037B0008093041B9093051BA093061BB093071BDB -:1037C0000E94B8E90093041127C08091EA0788237A -:1037D00019F10E943CB58823F9F00E9444B581118B -:1037E0001BC0F9C20E943CB58823B1F00E9444B5C9 -:1037F000811112C01EC30E9444B581110DC042E068 -:1038000060E070E0CB010E9483B504C00E9444B523 -:10381000811102C01092041180911702882309F4CB -:10382000AEC28091001190910111892B09F08FC1D6 -:103830008091E7079091E807892B09F01EC184E089 -:1038400096E090930D1B80930C1B80EA90E8909378 -:103850000F1B80930E1B17E01093001B02E80093D0 -:10386000031B80EA90E0A0E0B0E08093041B9093FB -:10387000051BA093061BB093071B0E94B8E980911B -:10388000080290910902A0910A02B0910B020097E0 -:10389000A105B10511F510920D1B10920C1B15E03E -:1038A0001093001B0093031B8AE890E1A0E0B0E0B6 -:1038B0008093041B9093051BA093061BB093071BDA -:1038C0000E94B8E989E090E090930D1B80930C1B57 -:1038D0001093001B0093031B40C00196A11DB11D56 -:1038E000F5E0B695A79597958795FA95D1F7019745 -:1038F000A109B109009731E0A307B10558F0B093D1 -:103900000D1BA0930C1B90930F1B80930E1B109309 -:10391000001B07C090930D1B80930C1B85E08093C8 -:10392000001B12E81093031B8AE890E1A0E0B0E0CE -:103930008093041B9093051BA093061BB093071B59 -:103940000E94B8E988E090E090930D1B80930C1BD7 -:1039500085E08093001B1093031B8CE890E1A0E0AE -:10396000B0E08093041B9093051BA093061BB093BB -:10397000071B0E94B8E98091080290910902A0916A -:103980000A02B0910B020097E1E0AE07B10550F0DA -:10399000B0930D1BA0930C1B90930F1B80930E1BD9 -:1039A00087E005C090930D1B80930C1B85E08093EE -:1039B000001B82E88093031B88E890E1A0E0B0E060 -:1039C0008093041B9093051BA093061BB093071BC9 -:1039D0000E94B8E98091080290910902A0910A0220 -:1039E000B0910B02BA2FA92F982F88270097F1E0EA -:1039F000AF07B10550F0B0930D1BA0930C1B909333 -:103A00000F1B80930E1B87E005C090930D1B8093C6 -:103A10000C1B85E08093001B12E81093031B81EAC6 -:103A200090E0A0E0B0E08093041B9093051BA0936E -:103A3000061BB093071B0E94B8E98091740B882382 -:103A400019F082E090E002C083E090E090930D1BBB -:103A500080930C1B85E08093001B1093031B85E46F -:103A600090E1A0E0B0E08093041B9093051BA0932D -:103A7000061BB093071B0E94B8E90091E70710915D -:103A8000E807053611057CF410930D1B00930C1B01 -:103A900085E08093001B82E88093031B80E090E127 -:103AA000A0E0B0E011C0C8018456910990930D1BAD -:103AB00080930C1B85E08093001B82E88093031B9E -:103AC00081E090E1A0E0B0E08093041B9093051B9F -:103AD000A093061BB093071B0E94B8E90F5F1F4F0E -:103AE0001093E8070093E707093C110564F183E0B0 -:103AF00094E00E944A4D81E090E090930111809300 -:103B000000118093170281E09AE590930D1B80933A -:103B10000C1B8DE290E090930F1B80930E1B87E0AF -:103B20008093001B82E88093031B84E890E0A0E070 -:103B3000B0E08093041B9093051BA093061BB093E9 -:103B4000071B0E94B8E91092EE070C94A5358091EE -:103B50007A1A90917B1A891B8F7009F094C10E9488 -:103B600007BF811190C18091B01C82FD8CC114C32C -:103B700084E690E090930D1B80930C1B1093001B28 -:103B80000093031B8EE090E1A0E0B0E08093041B63 -:103B90009093051BA093061BB093071B0E94B8E9E6 -:103BA000C60182539048880F991F90930D1B8093F4 -:103BB0000C1B1093001B0093031B8FE090E1A0E00F -:103BC000B0E08093041B9093051BA093061BB09359 -:103BD000071B0E94B8E90E948DD390E090930D1BC3 -:103BE00080930C1B85E08093001B82E88093031B6D -:103BF00086E190E1A0E0B0E08093041B9093051B68 -:103C0000A093061BB093071B0E94B8E9609164194A -:103C100070916519072E000C880B990B0F94250DD8 -:103C200020E030E048EC52E40F94840D0F948E15A0 -:103C300070930D1B60930C1B15E01093001B02E8A2 -:103C40000093031B86E290E1A0E0B0E08093041BA8 -:103C50009093051BA093061BB093071B0E94B8E925 -:103C600060919E0870919F088091A0089091A10892 -:103C70000F948E1570930D1B60930C1B1093001BFB -:103C80000093031B86E390E1A0E0B0E08093041B67 -:103C90009093051BA093061BB093071B0E94B8E9E5 -:103CA0006091B5087091B6088091B7089091B808F6 -:103CB0000F948E1570930D1B60930C1B1093001BBB -:103CC0000093031B8CE390E1A0E0B0E08093041B21 -:103CD0009093051BA093061BB093071B0E94B8E9A5 -:103CE0008091A2089091A30890930D1B80930C1BC8 -:103CF0001093001B0093031B84E390E1A0E0B0E06D -:103D00008093041B9093051BA093061BB093071B85 -:103D10000E94B8E98091B9089091BA0890930D1B60 -:103D200080930C1B1093001B0093031B8AE390E10C -:103D3000A0E0B0E08093041B9093051BA093061BAA -:103D4000B093071B0E94B8E90091E30701113CC141 -:103D50008091E507811138C18091EA0781118BC1FB -:103D60008091B41A9091B51AA091B61AB091B71A71 -:103D70008C3420E19207A105B10509F0A1C130E51D -:103D8000C32E3BE1D32E0AE186E699E10E940F554E -:103D9000E090D807F090D907181619060CF085C3E3 -:103DA0008AE1E816F10414F40C94C9317EC38CE066 -:103DB000FE013196AAEFBAE001900D928A95E1F7E3 -:103DC0000E9470DD809165198D7F8093651945CCC7 -:103DD0001092EB076CCC8DEC95E00E944A4D8091DF -:103DE000E90790E0A0E0B0E0895B9F4FAE4FB54A95 -:103DF00021E03AE530930D1B20930C1B90930F1B91 -:103E000080930E1B87E08093001B82E88093031B46 -:103E100084E890E0A0E0B0E08093041B9093051B41 -:103E2000A093061BB093071B0E94B8E91092EA0703 -:103E3000F1CC81E080931702109204118BED95E094 -:103E40000E944A4D81E09AE590930D1B80930C1BD4 -:103E50008EE490E090930F1B80930E1B87E080937D -:103E6000001B82E88093031B84E890E0A0E0B0E0B0 -:103E70008093041B9093051BA093061BB093071B14 -:103E80000E94B8E9C9CC8CE090E090930D1B809320 -:103E90000C1B05E00093001B82E88093031B84E168 -:103EA00090E1A0E0B0E08093041B9093051BA093E9 -:103EB000061BB093071B0E94B8E90E946FD220E155 -:103EC0003EE040E050E00F9474132115310591E07D -:103ED0004907510560F050930D1B40930C1B309324 -:103EE0000F1B20930E1B87E08093001B06C03093AE -:103EF0000D1B20930C1B0093001B02E80093031B77 -:103F000080E190E1A0E0B0E08093041B9093051B5A -:103F1000A093061BB093071B0E94B8E90E946FD2C2 -:103F200020E13EE040E050E00F9474132CE330E0D9 -:103F300040E050E00F94741330930D1B20930C1B42 -:103F400015E01093001B0093031B82E190E1A0E0B9 -:103F5000B0E08093041B9093051BA093061BB093C5 -:103F6000071B0E94B8E90E948DD3882391F00E941C -:103F70008DD38F5F8093E607C82ED12C833308F052 -:103F8000F7CDC601880F991F90930D1B80930C1BD2 -:103F900004C010920D1B10920C1B1093001B009379 -:103FA000031B8EE090E1A0E0B0E08093041B9093AF -:103FB000051BA093061BB093071B0E94B8E9109243 -:103FC0000D1B10920C1BF5CD20E030E048EC52E4C4 -:103FD00060919E0870919F088091A0089091A1081F -:103FE0000F94840D6B017C016091A2087091A3086D -:103FF000072E000C880B990B0F94250D9B01AC012B -:10400000C701B6010F941C150F9495156436710500 -:1040100010F064E670E070930D1B60930C1B45E09C -:10402000A42EA092001B52E8B52EB092031B84E28E -:1040300090E1A0E0B0E08093041B9093051BA09357 -:10404000061BB093071B0E94B8E9C0909E08D09051 -:104050009F08E090A008F090A10820E030E040E246 -:1040600053E4C701B6010F94821618160CF03AC13A -:10407000011188C137C18091DA0701E0080F009370 -:10408000DA0790E090930D1B80930C1B85E08093E2 -:10409000001B82E88093031B82E490E1A0E0B0E083 -:1040A0008093041B9093051BA093061BB093071BE2 -:1040B0000E94B8E90A3008F453CE1092DA0750CEC5 -:1040C0008A349041A105B10509F459CE80E00E94DF -:1040D00061B620E030E040E251E40F94840D0F948B -:1040E0008E1570930D1B60930C1B15E01093001B35 -:1040F00002E80093031B88E490E1A0E0B0E0809325 -:10410000041B9093051BA093061BB093071B0E94F2 -:10411000B8E981E00E9461B620E030E040E251E47D -:104120000F94840D0F948E1570930D1B60930C1BD0 -:104130001093001B0093031B8AE490E1A0E0B0E021 -:104140008093041B9093051BA093061BB093071B41 -:104150000E94B8E982E00E9461B620E030E040E2CF -:1041600051E40F94840D0F948E1570930D1B609382 -:104170000C1B1093001B0093031B8CE490E1A0E048 -:10418000B0E08093041B9093051BA093061BB09393 -:10419000071B0E94B8E9F3CD8091B5089091B6084D -:1041A000A091B708B091B80888A399A3AAA3BBA30C -:1041B0006091B9087091BA08072E000C880B990B12 -:1041C0000F94250D6B017C0120E030E040E050E4CD -:1041D0000F94211428A139A14AA15BA10F94821642 -:1041E000181604F140909E0850909F086090A00817 -:1041F0007090A1086091A2087091A308072E000C8E -:10420000880B990B0F94250D4B015C0120E030E0E9 -:1042100040E251E40F942114A30192010F948216FD -:10422000181604F58DE090E090930D1B80930C1B05 -:1042300085E08093001B82E88093031B84E190E17A -:10424000A0E0B0E08093041B9093051BA093061B95 -:10425000B093071B0E94B8E98091031181113FC000 -:1042600081E03DC020E030E040E050E4C701B6010D -:104270000F94221428A139A14AA15BA10F941E0D0D -:1042800087FD0EC020E030E040E251E4C501B401FA -:104290000F942214A30192010F941E0D87FFB6CC38 -:1042A00084E190E090930D1B80930C1B85E080933C -:1042B000001B82E88093031B84E190E1A0E0B0E062 -:1042C0008093041B9093051BA093061BB093071BC0 -:1042D0000E94B8E980910311811101C082E08093AE -:1042E000031194CC6091A2087091A308072E000CD2 -:1042F000880B990B0F94250D9B01AC01C701B601EA -:104300000F9482166091E50787FDAEC0662309F41D -:1043100023CD062E000C770B8FE996E00E94D8C1C2 -:104320001092E5071092E8071092E70784E090E00A -:1043300090930D1B80930C1B85E08093001B02E87B -:104340000093031B8EE890E1A0E0B0E08093041B93 -:104350009093051BA093061BB093071B0E94B8E91E -:1043600081E09AE590930D1B80930C1B83E590E010 -:1043700090930F1B80930E1B87E08093001B00938C -:10438000031B63C01092E30720E030E040E251E4F9 -:104390006091DB077091DC078091DD079091DE076B -:1043A0000F94840D0F948E1570930D1B60930C1B4E -:1043B000A092001BB092031B84E590E1A0E0B0E066 -:1043C0008093041B9093051BA093061BB093071BBF -:1043D0000E94B8E920E030E040E251E46091DF075C -:1043E0007091E0078091E1079091E2070F94840DAE -:1043F0000F948E1570930D1B60930C1BA092001BE5 -:10440000B092031B88E590E1A0E0B0E08093041B2C -:104410009093051BA093061BB093071B0E94B8E95D -:1044200089EE95E00E944A4D81E09AE590930D1B3C -:1044300080930C1B81E490E090930F1B80930E1BE4 -:1044400087E08093001BB092031B84E890E0A0E01B -:10445000B0E08093041B9093051BA093061BB093C0 -:10446000071B0E94B8E978CC662309F475CC8091CB -:10447000E7079091E8079C012F5F3F4F3093E807D3 -:104480002093E70765E070E00F94F91390930D1BFC -:1044900080930C1B85E08093001B82E88093031BB4 -:1044A0008EE890E1A0E0B0E0D4CF1E141F040CF021 -:1044B0004ACB9091B11A8091501B981322C09091D1 -:1044C000B21A8091511B98131CC023E0E216F1042C -:1044D000C4F09091521B9093B01A8091531B80931B -:1044E000B31A9330D1F4982F9D7F9038B1F4909106 -:1044F000541B9F3409F059C09091551B9B3409F00F -:1045000054C08AE1E0E5FBE1DF011D928A95E9F7FD -:104510001092D9071092D80716CB833809F045C0FE -:104520008091541B9091551B982789279827A0E0CC -:10453000B0E08093B41A9093B51AA093B61AB093D2 -:10454000B71AC090561BD12CE12CF12CC092B81A8E -:10455000D092B91AE092BA1AF092BB1AA7E5BBE161 -:1045600040E050E0BA014C155D056E057F0508F08E -:104570004AC04A015B01B694A79497948794F401CA -:104580003696EE0FFF1FE055F54E8C9190E0982F78 -:10459000882711962C911197822B918380834E5FEF -:1045A0005F4F6F4F7F4F1296DECF813861F580915C -:1045B000541B90E0A0E0B0E08093B41A9093B51A39 -:1045C000A093B61AB093B71A8091551B482F50E0AC -:1045D00060E070E04093B81A5093B91A6093BA1A29 -:1045E0007093BB1AA6E5BBE1ECEBFAE190E020E0AA -:1045F00030E02817390739F04D9150E0419351933D -:104600002F5F3F4FF6CF8AE1E0E5FBE1DF011D922E -:104610008A95E9F71092D9071092D80784E194E0BF -:104620000E944A4D60910411161664F4062E000C87 -:10463000770B84E996E00E94D8C18AE00E943F4C43 -:104640000C94BA316091BC1A7091BD1A82E896E060 -:104650000E94BAC18AE00E943F4C4091B41A509126 -:10466000B51A6091B61A7091B71A83E796E00E9466 -:10467000A9C18AE00E943F4C8091B41A9091B51A6A -:10468000A091B61AB091B71AE3E7F2E000E010E0AB -:1046900041915191619171914115510561057105EA -:1046A000D1F1481759076A077B0791F5AC01BD01A5 -:1046B0004850504161097109453051056105710546 -:1046C00068F1AC01BD01477F42335041610571057E -:1046D00041F18433F0E19F07A105B10511F1AC016F -:1046E000BD014654504161097109473051056105CA -:1046F0007105D0F0AC01BD0144555041610971090B -:10470000453051056105710588F402E110E00EC0E5 -:104710000F5F1F4FBDCF0FEF1FEF08C003E010E08A -:1047200005C008E010E002C00FE010E08A5090429F -:10473000A109B109833D9105A105B10530F00F3FF5 -:104740002FEF120721F40C94BA3109E110E0F5E3E0 -:10475000CF2EF4E0DF2EF60181916F01882319F04E -:104760000E943F4CF8CFB801012E000C880B990B2A -:104770000E94B34C0E94444D87E696E00E944A4D49 -:104780000A31110510F00C94B631F8018827E7586A -:10479000FF4F8F4F0D940D148091BC1A9091BD1A4C -:1047A00081309105E1F4109217028FEF8093D30DC1 -:1047B00060E080E00E94C25D03E414E0D8018D91C6 -:1047C0008D01882319F00E943F4CF8CF81E09AE5D3 -:1047D00090930D1B80930C1B8EE290E0AFC0823053 -:1047E000910509F0B7C081E0809317020E94FED3C3 -:1047F00083E696E09093EE088093ED088BE090E0DE -:1048000090930D1B80930C1B05E00093001B12E896 -:104810001093031B80E092E1A0E0B0E08093041BC2 -:104820009093051BA093061BB093071B0E94B8E949 -:1048300010920D1B10920C1B0093001B1093031B76 -:104840008EE090E1A0E0B0E08093041B9093051B04 -:10485000A093061BB093071B0E94B8E910920D1B92 -:1048600010920C1B0093001B1093031B8FE090E130 -:10487000A0E0B0E08093041B9093051BA093061B5F -:10488000B093071B0E94B8E910920D1B10920C1BED -:104890000093001B1093031B86E190E1A0E0B0E0C1 -:1048A0008093041B9093051BA093061BB093071BDA -:1048B0000E94B8E962E070E080E090E00E9475B686 -:1048C00010920D1B10920C1B0093001B1093031BE6 -:1048D00080E190E1A0E0B0E08093041B9093051B81 -:1048E000A093061BB093071B0E94B8E910920D1B02 -:1048F00010920C1B0093001B1093031B82E190E1AC -:10490000A0E0B0E08093041B9093051BA093061BCE -:10491000B093071B0E94B8E90DE614E0F8018191FD -:104920008F01882319F00E943F4CF8CF81E09AE56F -:1049300090930D1B80930C1B8DE290E090930F1BC6 -:1049400080930E1B87E08093001B82E88093031BFB -:104950000C94D7328330910549F581E0809317029A -:1049600007E914E0D8018D918D018823C9F00E94D8 -:104970003F4CF8CF8091B41A9091B51AA091B61A15 -:10498000B091B71A8233F0E19F07A105B10509F094 -:104990005CC48091BC1A9091BD1A009709F022C4A2 -:1049A00080910702882309F40CC31CC3049711F0FB -:1049B0000C94BA31109217020C94BA318091BC1A3F -:1049C0009091BD1A81309105D9F41092170280910F -:1049D0000702882319F082E090E002C083E090E0B3 -:1049E00090930D1B80930C1B85E08093001B82E845 -:1049F0008093031B8EE190E1A0E0B0E00C94DB32E9 -:104A00008230910519F501EC14E0F80181918F01D4 -:104A1000882319F00E943F4CF8CF81E08093170261 -:104A200080910311843049F081E09AE590930D1B49 -:104A300080930C1B85E390E081CF81E09AE5909311 -:104A40000D1B80930C1B86E390E078CF833091059B -:104A500009F04CC020910702222319F190930D1BFD -:104A600080930C1B85E08093001B82E88093031BDE -:104A70008EE190E1A0E0B0E08093041B9093051BD1 -:104A8000A093061BB093071B0E94B8E940E060E0CA -:104A900070E088EC92E40E9465D4109207020C94B6 -:104AA000BA3182E090E090930D1B80930C1B85E05F -:104AB0008093001B82E88093031B8EE190E1A0E0CD -:104AC000B0E08093041B9093051BA093061BB0934A -:104AD000071B0E94B8E940E060E070E0CB010E9453 -:104AE00065D481E0809307020C94BA31049711F0E9 -:104AF0000C94BA318091C8088823F1F082E090E0EC -:104B000090930D1B80930C1B85E08093001B82E823 -:104B10008093031B8FE190E1A0E0B0E08093041B41 -:104B20009093051BA093061BB093071B0E94B8E946 -:104B30001092C8080C94BA3183E090E090930D1B5A -:104B400080930C1B85E08093001B82E88093031BFD -:104B50008FE190E1A0E0B0E08093041B9093051BEF -:104B6000A093061BB093071B0E94B8E981E08093D5 -:104B7000C8080C94BA316091BC1A7091BD1A80E0DB -:104B800090E00F94230D6B017C0120E030E04AEFB0 -:104B900053E40F941E0D87FF11C020E030E040E287 -:104BA00051E4C701B6010F94821618166CF0C12C9F -:104BB000D12C70E2E72E71E4F72E06C0C12CD12C67 -:104BC000EAEFEE2EE3E4FE2EC701B6010F948E1538 -:104BD00070936D0260936C020C94BA318091B41A98 -:104BE0009091B51AA091B61AB091B71A8830F0E139 -:104BF0009F07A105B10509F050C081E09AE59093A7 -:104C00000D1B80930C1B8DE290E090930F1B809303 -:104C10000E1B87E08093001B12E81093031B84E8AF -:104C200090E0A0E0B0E08093041B9093051BA0935C -:104C3000061BB093071B0E94B8E910920D1B10923F -:104C40000C1B05E00093001B1093031B80E190E117 -:104C5000A0E0B0E08093041B9093051BA093061B7B -:104C6000B093071B0E94B8E910920D1B10920C1B09 -:104C70000093001B1093031B82E190E1A0E0B0E0E1 -:104C80008093041B9093051BA093061BB093071BF6 -:104C90000E94B8E90E94FED38FC08A3020E19207BB -:104CA000A105B105E1F58091BC1A9091BD1A813F33 -:104CB000910511F00C94BA3181E09AE590930D1BA7 -:104CC00080930C1B86E390E090930F1B80930E1B48 -:104CD00087E08093001B82E88093031B84E890E0C8 -:104CE000A0E0B0E08093041B9093051BA093061BEB -:104CF000B093071B0E94B8E94CE355E063E475E00C -:104D000084E00E9408C160E08FE295E00E94BFD37A -:104D100085E295E09093EE088093ED084DC08C30CD -:104D20009041A105B10509F047C08091BC1A90914E -:104D3000BD1A019709F040C00F94F80410920311B6 -:104D400081E0809317028CE090E090930D1B80939C -:104D50000C1B85E08093001B12E81093031B84E179 -:104D600090E1A0E0B0E08093041B9093051BA0931A -:104D7000061BB093071B0E94B8E981E09AE5909367 -:104D80000D1B80930C1B85E390E090930F1B809389 -:104D90000E1B87E08093001B1093031B84E890E0B8 -:104DA000A0E0B0E08093041B9093051BA093061B2A -:104DB000B093071B0E94B8E98091B41A9091B51A7C -:104DC000A091B61AB091B71A8C309041A105B105E7 -:104DD00011F00C94BA318091BC1A9091BD1A0297CF -:104DE00011F00C94BA310F94F80481E08093E50738 -:104DF00010920311809317021092E8071092E707B0 -:104E000081E09AE590930D1B80930C1B82E590E066 -:104E100095CD2091BC1A3091BD1AB90180E090E087 -:104E200037FF09C00F94230D20E030E040E857E43D -:104E30000F94211402C00F94230D20E030E048ECC1 -:104E400052E40F941C156B017C0120E030E040EA35 -:104E500051EC0F948216009164191091651987FD29 -:104E60002BC020E030E040EA51E4C701B6010F94C6 -:104E70001E0D18160CF1B801110F880B990B0F9429 -:104E8000250DA70196010F94211420E030E048EC95 -:104E900053E40F94840D90580F948E15CB010E940B -:104EA000ADECC701B6010E945AB58EE596E090932D -:104EB000EE088093ED0826C0B801110F880B990BFE -:104EC0000F94250D20E030E048EC52E40F94840D5F -:104ED0000F948E1570930D1B60930C1B85E08093CF -:104EE000001B82E88093031B86E290E1A0E0B0E023 -:104EF0008093041B9093051BA093061BB093071B84 -:104F00000E94B8E96091641970916519072E000C30 -:104F1000880B990B0F94250D8E010B5E1F4F23E01C -:104F200041E00F94F6079F938F9380E596E09F935F -:104F30008F93045111091F930F930F94B60CC8015E -:104F40000E944FB70F900F900F900F900F900F90FF -:104F50000C94BA318091BC1A9091BD1A009729F433 -:104F600081E0809317020C94BA3181309105B1F43D -:104F700080910702882349F081E09AE590930D1B08 -:104F800080930C1B8CE390E0D9CC81E09AE5909360 -:104F90000D1B80930C1B8BE390E0D0CC82309105ED -:104FA000F9F28330910539F58091070240E08823BA -:104FB00089F060E070E088EC92E40E9465D4109281 -:104FC000070281E09AE590930D1B80930C1B89E307 -:104FD00090E0B4CC60E070E0CB010E9465D481E049 -:104FE0008093070281E09AE590930D1B80930C1B40 -:104FF0008AE390E0A3CC8530910559F540E060E06C -:1050000070E084E393E40E94CFB446E060E070E097 -:105010008CE892E40E94CFB484EB90E090930D1B57 -:1050200080930C1B05E00093001B12E81093031BF8 -:1050300084E390E1A0E0B0E08093041B9093051B13 -:10504000A093061BB093071B0E94B8E986E490E08A -:105050002DC08630910599F540E060E070E080E772 -:1050600093E40E94CFB446E060E070E08CED92E4FF -:105070000E94CFB480EF90E090930D1B80930C1BA7 -:1050800005E00093001B12E81093031B84E390E1FA -:10509000A0E0B0E08093041B9093051BA093061B37 -:1050A000B093071B0E94B8E98EE690E090930D1B29 -:1050B00080930C1B0093001B1093031BC0C0813F07 -:1050C000910511F00C94BA3140E060E070E0CB0142 -:1050D0000E9465D441E060E070E0CB010E9465D49D -:1050E0001092070240E060E070E0CB010E94CFB474 -:1050F00046E060E070E0CB010E94CFB410920D1B3F -:1051000010920C1B05E00093001B12E81093031B88 -:1051100084E390E1A0E0B0E08093041B9093051B32 -:10512000A093061BB093071B0E94B8E961E070E0F2 -:1051300080E090E00E9475B610920D1B10920C1B3F -:105140000093001B1093031B8AE390E1A0E0B0E002 -:105150008093041B9093051BA093061BB093071B21 -:105160000E94B8E961E070E080E090E00E9475B6CE -:1051700084E190E090930D1B80930C1B0093001B27 -:105180001093031B84E190E1A0E0B0E08093041B46 -:105190009093051BA093061BB093071B0E94B8E9D0 -:1051A00081E09AE590930D1B80930C1B89E390E0BE -:1051B00090930F1B80930E1B87E08093001B10932E -:1051C000031B84E890E0A0E0B0E08093041B909380 -:1051D000051BA093061BB093071B0E94B8E982E051 -:1051E0000C94B33181309105B1F440E060E070E09F -:1051F000CB010E94CFB410920D1B10920C1B85E0C6 -:105200008093001B82E88093031B84E390E1A0E07D -:10521000B0E00C94DB32029711F00C94BA3146E006 -:1052200060E070E0CB010E94CFB410920D1B109291 -:105230000C1B85E08093001B82E88093031B8AE3AC -:1052400090E1A0E0B0E00C94DB32843320E19207DF -:10525000A105B10551F46091BC1A7091BD1A80E0AE -:1052600090E00F94230D40E010C08A339041A105D7 -:10527000B10511F00C94BA316091BC1A7091BD1A4D -:1052800080E090E00F94230D46E00E94CFB40C9490 -:10529000BA318091BC1A9091BD1A009709F460CE82 -:1052A0008130910509F04CC08091740B882319F06E -:1052B00083E090E002C082E090E090930D1B809329 -:1052C0000C1B85E08093001B82E88093031B85E420 -:1052D00090E1A0E0B0E08093041B9093051BA093A5 -:1052E000061BB093071B0E94B8E98AE090E09093F8 -:1052F0000D1B80930C1B85E08093001B82E880933C -:10530000031B80E092E1A0E0B0E08093041B909347 -:10531000051BA093061BB093071B0E94B8E90E94CF -:105320003CB5811103C080E496E002C084E396E0BE -:105330009093EE088093ED0882E08093041172C18F -:105340008230910509F0A8C081E08093170288E0BF -:10535000EBEDF7E0DF011D928A95E9F780E090E040 -:10536000A0E2B1E48093DB079093DC07A093DD0714 -:10537000B093DE078093DF079093E007A093E107E7 -:10538000B093E20784E690E090930D1B80930C1B92 -:1053900005E00093001B12E81093031B84E590E1E5 -:1053A000A0E0B0E08093041B9093051BA093061B24 -:1053B000B093071B0E94B8E920E030E040E251E4DE -:1053C0006091DF077091E0078091E1079091E2071B -:1053D0000F94840D0F948E1570930D1B60930C1B0E -:1053E0000093001B1093031B88E590E1A0E0B0E060 -:1053F0008093041B9093051BA093061BB093071B7F -:105400000E94B8E960919E0870919F088091A00861 -:105410009091A1080F948E1570930D1B60930C1B37 -:105420000093001B1093031B86E390E1A0E0B0E023 -:105430008093041B9093051BA093061BB093071B3E -:105440000E94B8E98091A2089091A30890930D1B47 -:1054500080930C1B0093001B1093031B84E390E1CB -:10546000A0E0B0E08093041B9093051BA093061B63 -:10547000B093071B0E94B8E962E070E080E090E022 -:105480000E9475B681E09AE590930D1B80930C1BEA -:1054900081E490E00C94CE328330910509F077C01E -:1054A0001092E90780E00E9461B620E030E040E21F -:1054B00051E40F94840D0F948E1570930D1B60931F -:1054C0000C1B05E00093001B12E81093031B88E4FB -:1054D00090E1A0E0B0E08093041B9093051BA093A3 -:1054E000061BB093071B0E94B8E981E00E9461B6D9 -:1054F00020E030E040E251E40F94840D0F948E15CB -:1055000070930D1B60930C1B0093001B1093031BE7 -:105510008AE490E1A0E0B0E08093041B9093051B27 -:10552000A093061BB093071B0E94B8E982E00E947B -:1055300061B620E030E040E251E40F94840D0F9416 -:105540008E1570930D1B60930C1B0093001B109322 -:10555000031B8CE490E1A0E0B0E08093041B9093E7 -:10556000051BA093061BB093071B0E94B8E962E0DD -:1055700070E080E090E00E9475B681E09AE590933B -:105580000D1B80930C1B87E490E00C94CE3284308A -:10559000910509F4EFC68530910549F44EE750E1D5 -:1055A00060E070E088EE94E00E9467E9E3C6069749 -:1055B00009F0E0C680E396E09093EE088093ED0852 -:1055C0008BE090E053C28091BC1A9091BD1A019774 -:1055D00011F51092170281E09AE590930D1B8093CC -:1055E0000C1B8FE390E090930F1B80930E1B87E0C2 -:1055F0008093001B82E88093031B84E890E0A0E086 -:10560000B0E08093041B9093051BA093061BB093FE -:10561000071B0E94B8E98091BC1A9091BD1A0297AD -:1056200009F0A8C681E09AE590930D1B80930C1BAE -:1056300080E490E083C98091BC1A9091BD1A8E35A8 -:10564000910509F4A5C168F58330910509F45FC19E -:10565000A0F48130910509F46EC1029709F000C2EF -:1056600042E060E070E080E890E40E9483B540E0B2 -:1056700060E070E082E893E46AC18430910509F447 -:1056800073C1059709F0ECC142E060E070E080E88A -:1056900090E40E9483B540E060E070E082E893E42B -:1056A0006FC18136910509F469C098F58F35910570 -:1056B00009F48AC08036910509F0D2C183E0809355 -:1056C000041183E090E090930D1B80930C1B85E008 -:1056D0008093001B82E88093031B8DE890E1A0E09B -:1056E000B0E08093041B9093051BA093061BB0931E -:1056F000071B0E94B8E9E12CF12C00E0DD24D394D3 -:10570000AA24A39445E0942E55E0852E62E8762ED7 -:1057100085C08236910561F08336910509F0A0C1FC -:105720008091641980FF60C6869580FD60C65CC666 -:105730006091641970916519072E000C880B990B04 -:105740000F94250D2DEC3CEC4CEC5DE30F942214F2 -:105750006B017C0120E030E040EA51EC0F948216AE -:1057600087FD82C120E030E040EA51E4C701B60184 -:105770000F941E0D18160CF041C676C16091641985 -:1057800070916519072E000C880B990B0F94250D4D -:105790002DEC3CEC4CEC5DE30F9421146B017C018F -:1057A00020E030E040EA51EC0F94821687FD5CC1A6 -:1057B00020E030E040EA51E4C701B6010F941E0D2D -:1057C00018160CF07EC650C180E00E94BDBF0E943A -:1057D0003CB5811103C087ED95E002C089EC95E0EE -:1057E0009093EE088093ED0882E08093041181E0AD -:1057F0009AE590930D1B80930C1B84E590E09093A9 -:105800000F1B80930E1B87E08093001B82E8809320 -:10581000031B84E890E0A0E0B0E017C1DD2031F088 -:10582000CC24C39435E0B32E10E005C0CC24CA9438 -:10583000BB24BA9414E0DA24B116D1F1802F90E0A1 -:105840004897A4F50F5FF701919EE00DF11D11241B -:10585000EE0FFF1FEE0FFF1FE752F74E20E030E084 -:105860004AE754E460817181828193810F94840DB1 -:105870000F948E1570930D1B60930C1B8092001B70 -:105880007092031B802F90E08158974F880F991FCB -:10589000092E000CAA0BBB0B8093041B9093051BD5 -:1058A000A093061BB093071B0E94B8E91C0DC4CF40 -:1058B000BFEFEB1AFB0AE5E0EE16F10409F0AECFFC -:1058C00081E09AE590930D1B80930C1B85E590E099 -:1058D00090930F1B80930E1B87E08093001B82E840 -:1058E0008093031B84E890E0A0E0B0E08093041B69 -:1058F0009093051BA093061BB093071B0E94B8E969 -:1059000085EC95E09093EE088093ED08ADC042E001 -:1059100060E070E080E890E40E9483B540E060E0E1 -:1059200070E086E193E40E9483B541E060E070E0BE -:1059300086E193E413C042E060E070E080E890E428 -:105940000E9483B540E060E070E080E292E40E9453 -:1059500083B541E060E070E080E292E40E9483B5AC -:1059600086E08093041180C042E060E070E080E84F -:1059700090E40E9483B540E060E070E080E292E451 -:105980000E9483B541E060E070E082E893E4E6CFF6 -:105990008091740B81111CC083E090E090930D1BEB -:1059A00080930C1B85E08093001B82E88093031B8F -:1059B00085E490E1A0E0B0E08093041B9093051B88 -:1059C000A093061BB093071B0E94B8E981E01BC09F -:1059D00082E090E090930D1B80930C1B85E08093F8 -:1059E000001B82E88093031B85E490E1A0E0B0E017 -:1059F0008093041B9093051BA093061BB093071B79 -:105A00000E94B8E980E00E94BDBF60916419709166 -:105A10006519072E000C880B990B0F94250D20E0BB -:105A200030E048EC52E40F94840D0F948E1570937F -:105A30000D1B60930C1B85E08093001B82E8809314 -:105A4000031B86E290E1A0E0B0E08093041B9093FA -:105A5000051BA093061BB093071B0E94B8E904C066 -:105A600089EA95E00E944A4D8AE090E090930D1BF0 -:105A700080930C1B85E08093001B82E88093031BBE -:105A80004BC184E0809304118091B41A9091B51AAF -:105A9000A091B61AB091B71A6091BC1A7091BD1A54 -:105AA0008834F0E19F07A105B10509F453C08A3499 -:105AB00020E19207A105B10509F456C08C3430E10C -:105AC0009307A105B10509F45AC086349041A10598 -:105AD000B10509F05EC063307105B9F588E995E05C -:105AE0009093EE088093ED0881E08093EA0780931D -:105AF00017021092DA0781E09AE590930D1B8093CC -:105B00000C1B8AE490E090930F1B80930E1B87E0A0 -:105B10008093001B12E81093031B84E890E0A0E040 -:105B2000B0E08093041B9093051BA093061BB093D9 -:105B3000071B0E94B8E98AE090E090930D1B8093C8 -:105B40000C1B85E08093001BE5C06093E907109271 -:105B5000041110C480E090E0A6E9B3E48CA39DA3F7 -:105B6000AEA3BFA3312C15C080E090E0A6E9B3E45A -:105B70008CA39DA3AEA3BFA3332433940AC080E0BB -:105B800090E0A8ECB3E48CA39DA3AEA3BFA382E0F6 -:105B9000382E80E090E00F94230D20E030E040E2CA -:105BA00051E40F941C156B017C0120E030E0A90149 -:105BB0000F941E0D87FF09C01092D4071092D507CD -:105BC0001092D6071092D7071FC02CA13DA14EA15D -:105BD0005FA1C701B6010F94821618164CF0C0924F -:105BE000D407D092D507E092D607F092D7070CC021 -:105BF0008CA19DA1AEA1BFA18093D4079093D5079E -:105C0000A093D607B093D7076091D4077091D507BA -:105C10008091D6079091D707432D0E9483B561E00C -:105C200070E080E090E00E9475B680E00E9461B66E -:105C300020E030E040E251E40F94840D0F948E1583 -:105C400070930D1B60930C1B05E00093001B12E882 -:105C50001093031B88E490E1A0E0B0E08093041B64 -:105C60009093051BA093061BB093071B0E94B8E9F5 -:105C700081E00E9461B620E030E040E251E40F9400 -:105C8000840D0F948E1570930D1B60930C1B009365 -:105C9000001B1093031B8AE490E1A0E0B0E0809326 -:105CA000041B9093051BA093061BB093071B0E9437 -:105CB000B8E982E00E9461B620E030E040E251E4C1 -:105CC0000F94840D0F948E1570930D1B60930C1B15 -:105CD0000093001B1093031B8CE490E1A0E0B0E064 -:105CE0008093041B9093051BA093061BB093071B86 -:105CF0000E94B8E961E070E080E090E00E9475B633 -:105D0000109204118AE090E090930D1B80930C1B7D -:105D10000093001B1093031B80E092E1A0E0B0E031 -:105D20004AC48091B41A9091B51AA091B61AB09154 -:105D3000B71A8635E0E19E07A105B10509F041C01B -:105D400020E030E040E253E460919E0870919F08AB -:105D50008091A0089091A1080F941E0D2091BC1A6B -:105D60003091BD1A87FF32C42530310508F02EC4AA -:105D700080EA90E090930D1B80930C1B85E080934C -:105D8000001B12E81093031B80E290E1A0E0B0E05A -:105D90008093041B9093051BA093061BB093071BD5 -:105DA0000E94B8E965E070E080E090E00E9475B67E -:105DB00081E09AE590930D1B80930C1B82E490E0A8 -:105DC000EDC38435F0E19F07A105B105B9F46091F9 -:105DD000BC1A7091BD1A80E090E00F94230D20E072 -:105DE00030E040E251E40F941C156093DB077093A0 -:105DF000DC078093DD079093DE07BCC288359041B5 -:105E0000A105B10509F0B6C26091BC1A7091BD1A26 -:105E100080E090E00F94230D20E030E040E251E478 -:105E20000F941C156093DF077093E0078093E107E0 -:105E30009093E2079FC26091BC1A7091BD1A82E8EC -:105E400095E00E94BAC18091BC1A9091BD1A82302F -:105E50009105A1F038F4009771F00197E1F481E128 -:105E600095E086C28430910599F058F0059799F431 -:105E700087E595E008C08BEF94E07AC284E795E06F -:105E800002C08AE695E09093EE088093ED0872C216 -:105E900085E695E0F8CF85E295E06AC284E395E077 -:105EA0000E944A4D8091BC1A9091BD1A8130910593 -:105EB00009F046C082E495E00E944A4D81E00E94CC -:105EC000A3C08DE090E090930D1B80930C1B85E0A8 -:105ED0008093001B12E81093031B84E190E1A0E083 -:105EE000B0E08093041B9093051BA093061BB09316 -:105EF000071B0E94B8E983E08093031181E09AE5D3 -:105F000090930D1B80930C1B85E390E090930F1BE7 -:105F100080930E1B87E08093001B1093031B84E883 -:105F200090E0A0E0B0E08093041B9093051BA09349 -:105F3000061BB093071B0E94B8E91092D0071AC243 -:105F4000892B09F017C28AE595E00E944A4D80919D -:105F5000D007813039F580E795E00E944A4D81E015 -:105F60009AE590930D1B80930C1B8EE290E090932A -:105F70000F1B80930E1B87E08093001B82E88093A9 -:105F8000031B84E890E0A0E0B0E08093041B9093B2 -:105F9000051BA093061BB093071B0E94B8E9109243 -:105FA000021135C0823069F484E895E00E944A4DC0 -:105FB00081E09AE590930D1B80930C1B86E390E0A3 -:105FC0000EC0833031F588E995E00E944A4D81E0AA -:105FD0009AE590930D1B80930C1B81E490E09093C5 -:105FE0000F1B80930E1B87E08093001B82E8809339 -:105FF000031B84E890E0A0E0B0E08093041B909342 -:10600000051BA093061BB093071B0E94B8E91092D2 -:10601000AF181092D0070E94FED3ACC18091BC1A79 -:106020009091BD1A8F3F910531F028F08FEF90E0ED -:10603000A0E0B0E002C0A0E0B0E08093080290933E -:106040000902A0930A02B0930B028091080290917A -:106050000902A0910A02B0910B020097A105B105B7 -:1060600009F510920D1B10920C1B05E00093001B0C -:1060700012E81093031B8AE890E1A0E0B0E080935F -:10608000041B9093051BA093061BB093071B0E9453 -:10609000B8E989E090E090930D1B80930C1B00936E -:1060A000001B3DC00196A11DB11D05E0B695A79549 -:1060B000979587950A95D1F70197A109B10900979E -:1060C00031E0A307B10550F0B0930D1BA0930C1B5A -:1060D00090930F1B80930E1B87E005C090930D1BC0 -:1060E00080930C1B85E08093001B12E81093031B28 -:1060F0008AE890E1A0E0B0E08093041B9093051B38 -:10610000A093061BB093071B0E94B8E988E090E0BB -:1061100090930D1B80930C1B85E08093001B1093C4 -:10612000031B8CE890E1A0E0B0E08093041B909307 -:10613000051BA093061BB093071B0E94B8E9809132 -:10614000080290910902A0910A02B0910B02BA2FA5 -:10615000A92F982F88270097E1E0AE07B10550F0EE -:10616000B0930D1BA0930C1B90930F1B80930E1BE1 -:1061700087E005C090930D1B80930C1B85E08093F6 -:10618000001B82E88093031B81EA90E0A0E0B0E06E -:1061900012C28CEA95E00E944A4D0E94C3B440911D -:1061A000B41A5091B51A6091B61A7091B71A882333 -:1061B00039F0433DF0E25F076105710509F465C3FD -:1061C000423D50426105710509F0D4C08091BC1A6E -:1061D0009091BD1A019709F0AFC40E94C3B48823FF -:1061E00009F4AAC48091D30D87FDC4C0A2E18A023C -:1061F000C00111248257904F0E94DF56C12C90E2BB -:10620000D92EE12CF12C05E012E810920D1B109212 -:106210000C1B0093001B1093031BC092041BD09215 -:10622000051BE092061BF092071B0E94B8E9BFEF26 -:10623000CB1ADB0AEB0AFB0AEAE0CE16E0E2DE0646 -:10624000E104F10411F70091D30DF2E10F02800196 -:1062500011240A5D114FF80101900020E9F7C801EF -:106260008E1B9F0B439697FD01967C01F594E79456 -:106270001E141F040CF05AC49E012F5F3F4F69018A -:1062800084E1D9011D928A95E9F7A7016DEB75E0CC -:10629000C9010F949517B801C6018E0D9F1D0F946B -:1062A000801740E050E260E070E0C6010E9467E9BC -:1062B00062E070E080E090E00E9475B640E060E04F -:1062C00070E08FE793E40E9465D441E060E070E005 -:1062D0008FE793E40E9465D4109207028DE090E06E -:1062E00090930D1B80930C1B85E08093001B12E89C -:1062F0001093031B84E190E1A0E0B0E08093041BC5 -:106300009093051BA093061BB093071B0E94B8E94E -:1063100062E070E080E090E00E9475B681E09AE56E -:1063200090930D1B80930C1B85E390E090930F1BC3 -:1063300080930E1B87E08093001B1093031B84E85F -:1063400090E0A0E0B0E08093041B9093051BA09325 -:10635000061BB093071B0E94B8E981E080931702E7 -:106360008093021183E08093031104C08CE495E0D4 -:106370000E944A4D80E5E0EBFAE1DF011D928A952B -:10638000E9F78AE58093B11A85EA8093B21A0C94F2 -:10639000A31D86E699E10E94ED54F701E05BF44EFF -:1063A00080838091501B8A3581F01E141F0414F0E5 -:1063B0000C94C41ED601E02F1D92EA95E9F71092C5 -:1063C000D9071092D8070C94C41E62E070E080E0F8 -:1063D00090E00E9475B6FFEFEF1AFF0AF092D9071E -:1063E000E092D8070C94C41E80E296E002C08FE0D1 -:1063F00096E09093EE088093ED0807CB88E290E05A -:106400000E94ADEC6091641970916519072E000C23 -:10641000880B990B0F94250D2DEC3CEC4CEC5DE3B7 -:106420000F9422140E945AB56091641970916519F5 -:10643000072E000C880B990B0F94250D20E030E0FF -:1064400048EC52E40F94840D0F948E1570930D1B3D -:1064500060930C1B85E08093001B82E88093031BF4 -:1064600086E290E1A0E0B0E08093041B9093051BCE -:10647000A093061BB093071B0E94B8E960916419B2 -:1064800070916519072E000C880B990B0F94250D40 -:106490008E010B5E1F4F23E041E00F94F6079F93A0 -:1064A0008F9381E096E09F938F93045111091F937E -:1064B0000F930F94B60CC8010E944FB78CEF95E074 -:1064C00062C088ED9FEF0E94ADEC609164197091FD -:1064D0006519072E000C880B990B0F94250D2DECD8 -:1064E0003CEC4CEC5DE30F9421140E945AB5609192 -:1064F000641970916519072E000C880B990B0F9485 -:10650000250D20E030E048EC52E40F94840D0F9408 -:106510008E1570930D1B60930C1B85E08093001B00 -:1065200082E88093031B86E290E1A0E0B0E08093D4 -:10653000041B9093051BA093061BB093071B0E949E -:10654000B8E96091641970916519072E000C880BE9 -:10655000990B0F94250D8E010B5E1F4F23E041E038 -:106560000F94F6079F938F938EEE95E09F938F93F2 -:10657000045111091F930F930F94B60CC8010E9488 -:106580004FB789EE95E09093EE088093ED080F9059 -:106590000F900F900F900F900F9066CA90930F1B63 -:1065A00080930E1B87E08093001B1093031B84E8ED -:1065B00090E0A0E0B0E08093041B9093051BA093B3 -:1065C000061BB093071B0E94B8E9D4CE24303105D6 -:1065D00089F481E00F94C6042091DF073091E00731 -:1065E0004091E1075091E2070F94221441E00F948B -:1065F0009A04B2C02530310508F4F3C026303105C5 -:1066000009F430C108F022C181E08093E30740E043 -:1066100060E070E08EE393E40E94CFB420E030E0CD -:1066200048EC52E460919E0870919F088091A00808 -:106630009091A1080F94840D6B017C016091A208D8 -:106640007091A308072E000C880B990B0F94250D51 -:106650009B01AC01C701B6010F941C150F94951551 -:106660006436710510F064E670E070930D1B609362 -:106670000C1B05E00093001B12E81093031B84E23F -:1066800090E1A0E0B0E08093041B9093051BA093E1 -:10669000061BB093071B0E94B8E960919E08709199 -:1066A0009F088091A0089091A1080F948E15709377 -:1066B0000D1B60930C1B0093001B1093031B86E3C0 -:1066C00090E1A0E0B0E08093041B9093051BA093A1 -:1066D000061BB093071B0E94B8E98091A208909115 -:1066E000A30890930D1B80930C1B0093001B109329 -:1066F000031B84E390E1A0E0B0E08093041B90933F -:10670000051BA093061BB093071B0E94B8E965E028 -:1067100070E080E090E00E9475B681E09AE5909389 -:106720000D1B80930C1B84E490E090930F1B8093CF -:106730000E1B87E08093001B1093031B84E890E0FE -:10674000A0E0B0E08093041B9093051BA093061B70 -:10675000B093071B0E94B8E920E030E040E251E42A -:106760006091DB077091DC078091DD079091DE0777 -:106770000F94840D0F948E1570930D1B60930C1B5A -:1067800005E00093001B12E81093031B84E590E1E1 -:10679000A0E0B0E08093041B9093051BA093061B20 -:1067A000B093071B0E94B8E920E030E040E251E4DA -:1067B0006091DF077091E0078091E1079091E20717 -:1067C0000F94840D0F948E1570930D1B60930C1B0A -:1067D0000093001B1093031B88E590E1A0E0B0E05C -:1067E000EACE2230310579F480E00F94C60420917E -:1067F000DB073091DC074091DD075091DE070F94F5 -:10680000221440E0F4CE2330310570F081E00F9483 -:10681000C6042091DF073091E0074091E1075091D5 -:10682000E2070F942114E2CE2130310509F094CF14 -:1068300080E00F94C6042091DB073091DC07409183 -:10684000DD075091DE070F942114DBCF213F310586 -:1068500009F082CF1092E30761E070E080E090E001 -:106860000E9475B681E09AE590930D1B80930C1BF6 -:1068700081E490E090930F1B80930E1B87E0809340 -:10688000001B82E88093031B59CF8AE096E00E94A8 -:106890004A4D8091D40D9091D50D99272091BC1A25 -:1068A0003091BD1A8217930708F464CD85EB95E00B -:1068B0000E944A4D8091BC1A81508093D30DA4ED63 -:1068C0008A2EA0E29A2EA12CB12C05E012E810929B -:1068D0000D1B10920C1B0093001B1093031B809246 -:1068E000041B9092051BA092061BB092071B0E94EE -:1068F000B8E92FEF821A920AA20AB20A3EED831675 -:1069000030E29306A104B10411F78091D30DA2E106 -:106910008A02C0011124FC01EA5DF14F7F01019060 -:106920000020E9F7C7018E1B9F0B439697FD019648 -:106930008C011595079510161106FCF49E012F5F2A -:106940003F4F690184E1D9011D928A95E9F7A801B9 -:106950006DEB75E0C9010F949517B701C601800F63 -:10696000911F0F94801744ED50E260E070E0C60183 -:106970000E9467E905E012E806C044ED50E260E0DD -:1069800070E0C701F5CF10920D1B10920C1B009305 -:10699000001B1093031B8092041B9092051BA09276 -:1069A000061BB092071B0E94B8E9BFEF8B1A9B0A27 -:1069B000AB0ABB0AE6EE8E16E0E29E06A104B10425 -:1069C00011F78E010F5F1F4F84E1D8011D928A9548 -:1069D000E9F78091D50D8F938091D40D8F9380919D -:1069E000BD1A8F938091BC1A8F9387EC95E09F938B -:1069F0008F931F930F930F94AF174EED50E260E00B -:106A000070E0C8010E9467E962E070E080E090E019 -:106A10000E9475B60FB6F894DEBF0FBECDBF31E24F -:106A2000C32E32E1D32EE12CF12C43E1442E40E67B -:106A3000542E612C712C88248394912CAA24AA941E -:106A4000BA2C75E0272EE2E83E2E0AE010E0809195 -:106A5000D40D9091D50D8815990594F1B0920D1B28 -:106A6000A0920C1B2092001B3092031B4092041B2F -:106A70005092051B6092061B7092071B0E94B8E99A -:106A800010930D1B00930C1B2092001B3092031BD4 -:106A9000C092041BD092051BE092061BF092071BCC -:106AA0000E94B8E9FFEF8F1A9F0A20E1420E511CA5 -:106AB000611C711C3FEFC31AD30AE30AF30AC7CF64 -:106AC0008091BC1A9091BD1A24E0880F991F2A95D5 -:106AD000E1F78D5F9F49A0E0B0E020EF37E8309309 -:106AE0000D1B20930C1B05E00093001B12E8109374 -:106AF000031B8093041B9093051BA093061BB0936C -:106B0000071B0E94B8E98091BC1A9091BD1A805E63 -:106B10009D4EA0E0B0E026E030E030930D1B2093C6 -:106B20000C1B0093001B1093031B45CD40E050E26B -:106B300060E070E0C801BACB8091BC1A9091BD1A98 -:106B4000892B11F40C94B02715CCE3960FB6F8946A -:106B5000DEBF0FBECDBFDF91CF911F910F91FF9090 -:106B6000EF90DF90CF90BF90AF909F908F907F90ED -:106B70006F905F904F903F902F9008952F923F928B -:106B80004F925F926F927F928F929F92AF92BF923D -:106B9000CF92DF92EF92FF920F931F93CF93DF93E9 -:106BA000CDB7DEB7C154D1090FB6F894DEBF0FBE22 -:106BB000CDBF22968FAF2297209103082CAF21E002 -:106BC000209303088091AE188D3409F40BC58435E9 -:106BD00011F40C940E48873411F00C941F488091E6 -:106BE000AC189091AD188A31910509F421C2B4F422 -:106BF0008430910534F482309105DCF597FF2DC087 -:106C0000EDC48C30910509F40FC28531910511F462 -:106C10000C942148049709F0E1C4C7C18A32910558 -:106C200009F465C454F48C31910509F42AC20CF4BA -:106C300003C24D9709F435C2D1C48B35910509F4CF -:106C4000D6C38C35910509F4D6C38A35910509F070 -:106C5000C5C4109202080C942148809144028823F4 -:106C600011F40C9421480E9418AC0E9470DD0C9421 -:106C7000214820914402222311F40C94214811E070 -:106C8000029709F010E00E9418AC19821A821B8248 -:106C90001C821D821E821F82188682E50E94E28766 -:106CA000882309F43AC10E9462874B015C0120E00D -:106CB00030E0A9010F941E0D882309F444C14091CE -:106CC0005C0B50915D0B60915E0B70915F0B4CA360 -:106CD0005DA36EA37FA36091600B7091610B8091A7 -:106CE000620B9091630B68A779A78AA79BA78091F5 -:106CF000FA0A9091FB0AA091FC0AB091FD0A8CA7B8 -:106D00009DA7AEA7BFA72091FE0A3091FF0A409130 -:106D1000000B5091010B28AB39AB4AAB5BAB9C012C -:106D2000AD016CA17DA18EA19FA10F941E0D8111BB -:106D30000DC028A939A94AA95BA968A579A58AA582 -:106D40009BA50F941E0D882309F4FDC020E030E0C0 -:106D5000A901C501B4010F941E0D881F8827881F43 -:106D6000181749F040E050E060E87FEB48AF59AFBA -:106D70006AAF7BAF08C060E070E080E89FE368AF77 -:106D800079AF8AAF9BAF2CA13DA14EA15FA16CA5AD -:106D90007DA58EA59FA50F9421146CAB7DAB8EAB0A -:106DA0009FAB28A539A54AA55BA568A979A98AA999 -:106DB0009BA90F9421146B017C012CA93DA94EA91C -:106DC0005FA9CA01B9010F94840D2B013C01A701F1 -:106DD0009601C701B6010F94840D9B01AC01C3015C -:106DE000B2010F9422140F94D0162B013C019B0189 -:106DF000AC0160E070E080E89FE30F941C152196E1 -:106E00006CAF7DAF8EAF9FAF219720E030E040E0C8 -:106E10005FE3C301B2010F94840D2B013C01A50176 -:106E20009401C501B4010F94840D4B015C01A301D1 -:106E30009201C301B2010F94840D9B01AC01C50105 -:106E4000B4010F9421140F94D01628AD39AD4AAD7A -:106E50005BAD0F94840D4B015C01C701B6019058E6 -:106E600021962CAD3DAD4EAD5FAD21970F94840DB5 -:106E7000A50194010F94840D6B017C012CA53DA507 -:106E80004EA55FA56CA17DA18EA19FA10F94221498 -:106E900020E030E040E05FE30F94840D9B01AC0103 -:106EA000C701B6010F9422142CA13DA14EA15FA1F0 -:106EB0000F94211469837A838B839C8328A939A931 -:106EC0004AA95BA968A579A58AA59BA50F94221458 -:106ED00020E030E040E05FE30F94840D6B017C0123 -:106EE00021962CAD3DAD4EAD5FAD21976CA97DA92E -:106EF0008EA99FA90F94840DA50194010F94840D70 -:106F00009B01AC01C701B6010F94221428A539A535 -:106F10004AA55BA50F94211412C089E40E94E28760 -:106F2000882331F00E94628769837A838B839C83F4 -:106F30008AE40E94E287882331F00E9462876D8391 -:106F40007E838F83988720E030E0A90169817A8170 -:106F50008B819C810F941E0D81110BC020E030E0CD -:106F6000A9016D817E818F8198850F941E0D8823E4 -:106F7000A1F0412FBE016F5F7F4F8AEF9AE00E9420 -:106F8000FDC70E94446760935C1970935D198093FC -:106F90005E1990935F190C9421480E94F8C180EE0D -:106FA00096E00E9438C00C94214880E50E94E28758 -:106FB000882329F00E94B5F76B017C0103C0C12C26 -:106FC000D12C760183E50E94E287882361F00E943C -:106FD000628720E030E04AE754E40F94840D0F9478 -:106FE00095156B017C010E945ED780910B0B81117E -:106FF00005C060E086EF96E00E94BFD30E94446720 -:10700000C60ED71EE81EF91E0E944467DC01CB01A4 -:107010008C199D09AE09BF09B7FD02C00C94214827 -:1070200080E00E946B4DF0CF0E94F8AE0C94214896 -:107030000E9404880C9421480E94736281110C9470 -:10704000214880E090E0A8E4B2E489839A83AB838E -:10705000BC8380E090E0A0E2B1E48D839E83AF83A7 -:10706000B88789879A87AB87BC8760E070E080E546 -:107070000E94E5AEBE016F5F7F4F0E94F7D20C9475 -:10708000214880910A0B8770873011F00C942C48AE -:1070900060E08FE40E94EF8781110C9421480C94EA -:1070A0002C4860E083E50E9451F9182F863030F0BB -:1070B0008CEC97E00E9438C00C942148833009F48E -:1070C0000EC128F4813039F1823099F106C0843044 -:1070D00009F45BC1853009F468C189EB97E00E942F -:1070E00038C00E94DCBF882389F08091740B88230C -:1070F00019F080E297E002C08CE197E00E9438C06E -:107100008AE00E943F4C0E940FC155C18BEA97E074 -:107110000E9438C050C10E949ABF10920102109282 -:10712000000280EA97E09093EE088093ED080C94BB -:107130002148809100029091010297FF06C087E7E5 -:1071400097E00E9438C00C9421480097A1F48091E8 -:107150006B0280930A0819821A821B821C821C8E81 -:107160001D8E1E8E1F8EBE016F5F7F4FCE014C960F -:107170000E946BE127C0815065E00F94D71380FF18 -:1071800003C024E0291B922F25E09202F001112474 -:10719000E80FF11D87FDFA95EE0FFF1FEE0FFF1FA1 -:1071A000E752F74E8091640B9091650BA091660BAE -:1071B000B091670B80839183A283B38380910A0887 -:1071C00080936B02809100029091010289319105B8 -:1071D0000CF063C010926B029C012F5F3F4F309305 -:1071E00001022093000265E00F94D71380FF03C0D3 -:1071F00024E0291B922F19821A821B821C8244E0F0 -:10720000840290011124B9016159744E4B01DB01D4 -:107210002D913D914D915C91B4E09B02C0011124F0 -:10722000FC01ED57F44E5F01608171818281938191 -:10723000DE0111966D01E12CF12C00EA10E40E94B0 -:107240008CE019821A821B821C828DEC9CECACE4CF -:10725000BEE38C8F9D8FAE8FBF8FB601CE014C9653 -:107260000E946BE1F50180819181A281B3818093BD -:107270005C0B90935D0BA0935E0BB0935F0BF401DE -:1072800080819181A281B3818093600B9093610B87 -:10729000A093620BB093630B90C080E090E0A0EAF3 -:1072A000B0E48093640B9093650BA093660BB0934E -:1072B000670B8DE592E00E946DE00E945ED78FEF34 -:1072C0009FEF909301028093000283E697E00E9473 -:1072D00038C00E94186581E00E94BDBF6EC089E47D -:1072E0000E94E2878823B1F00E945E87182F8530C4 -:1072F00060F064E070E080E597E00E94D8C18DE422 -:1073000097E00E9438C00C9421488AE40E94E287EA -:10731000811105C08AE40F94F0070C9421480E9463 -:107320005E87082F853060F064E070E08AE397E0C4 -:107330000E94D8C187E397E00E9438C00C9421488E -:107340008AE50E94E2878823D9F00E9462879B0128 -:10735000AC0165E01602F0011124E00FF11D07FDFC -:10736000FA95EE0FFF1FEE0FFF1FE752F74E208337 -:10737000318342835383602F812F0E9490B633C0A4 -:107380008AE50F94F0070C9421488AE50E94E28771 -:107390008823B1F30E9462876093D5187093D61842 -:1073A0008093D7189093D8181EC080E00E94BDBF6C -:1073B0000E949ABF18C01230B1F46091000270911F -:1073C00001026931710514F069E170E088E297E02B -:1073D0000E94D8C169E170E083E297E00E94D8C1C1 -:1073E0008AE00E943F4C0E94A8E10C94214820931F -:1073F00002080C9421485BED252E52E0352E69ECF5 -:10740000E62E68E1F62E8CE59BE09DA38CA37DEB38 -:10741000C72E78E1D72E00E010E0D1018D911D013B -:107420000E94E287882309F44BC00E9462872B01E7 -:107430003C01133049F0F6012081318142815381B2 -:107440000F9421142B013C01ACA1BDA12D913D91C4 -:107450004D915C91C301B2010F9421144B015C0169 -:107460002DEB37E346E855EB0F94821687FD0AC0F3 -:107470002DEB37E346E855E3C501B4010F941E0D2B -:107480001816F4F4133051F44092680B5092690BC3 -:1074900060926A0B70926B0B01E012C0A50194011F -:1074A000F70160817181828193810F942214D70149 -:1074B0006D937D938D939C931397812F0E94A1DCF4 -:1074C0001F5FB4E0EB0EF11CECA1FDA13496FDA30F -:1074D000ECA3F4E0CF0ED11C143009F09ECF0023B2 -:1074E00009F481CF88E69BE00E946FD77CCF809122 -:1074F0004402882311F40C94214889E40E94E28715 -:10750000E82E882321F00E945E87082F01C000E04A -:107510008AE40E94E287F82E882321F00E945E8789 -:10752000182F01C010E0EE2011F0053020F4FF20EC -:1075300041F0153030F083EE97E00E9438C00C9493 -:1075400021480E940C86EE2091F024E00202F00116 -:107550001124ED57F44E80819181A281B3818093F3 -:10756000FA0A9093FB0AA093FC0AB093FD0AFF204D -:1075700091F034E01302F0011124E159F44E8081BE -:107580009181A281B3818093FE0A9093FF0AA09318 -:10759000000BB093010B40E050E0BA0186E40E947A -:1075A000BEB76B017C0120E030E0A9010F94821688 -:1075B000181684F420E030E040E752E4C701B60139 -:1075C0000F941C1560935D0270935E0280935F02BE -:1075D000909360020E9470DD0C9421480E946562C5 -:1075E0000C9421488091AC189091AD188337910587 -:1075F00009F4A8C70CF0D4C08934910509F475C406 -:107600000CF05CC08931910509F4F6C21CF5843197 -:10761000910509F46DC27CF48131910509F454C2DD -:107620002CF4029708F4CDC10C940B48429709F44E -:10763000B9C60C940B488631910509F483C20CF449 -:107640007DC28731910509F486C2489709F49BC22F -:107650000C940B488E31910509F45BC3ACF48B316B -:10766000910509F4E2C20CF4D2C28C31910509F4FF -:1076700046C34D9711F00C940B488091B01C8E7F3F -:107680008093B01C0C9421488132910509F4D6C333 -:107690004CF48F31910509F4E5C3809709F498C340 -:1076A0000C940B488A32910509F4FCC38B9711F0B6 -:1076B0000C940B480E943CB30C94214888369105E9 -:1076C00009F4BCC4D4F58135910509F459C6C4F454 -:1076D0008C34910509F418C44CF48B34910511F0E5 -:1076E0000C940B480E9434710C9421488D34910500 -:1076F00009F40EC48E34910509F40EC40C940B48A1 -:107700008435910509F44EC674F48235910509F467 -:1077100046C68335910511F00C940B4881E08093A7 -:10772000FD070C9421488535910509F468C68C3510 -:10773000910509F47DC60C940B488D36910509F42A -:10774000B3C48CF48A36910509F4EAC50CF4AEC5CD -:107750008B36910509F40AC68C36910511F40C9408 -:1077600021480C940B488037910511F40C94214862 -:1077700054F48E36910509F4FDC48F36910509F451 -:107780000AC50C940B488137910509F449C5823725 -:10779000910511F00C940B480E94E1CB0C94214808 -:1077A000823241E0940711F40C9413450CF07DC033 -:1077B000883C910509F484C7D4F58937910509F40B -:1077C00078C7ECF48637910509F436C734F4853769 -:1077D000910509F420C70C940B488737910509F4EB -:1077E00065C78837910511F00C940B4881E08093B0 -:1077F000DD088093DC080E94D5E20C9421488C3887 -:10780000910509F42FC54CF48D37910511F00C94B6 -:107810000B480E9417AE0C9421488B39910509F44E -:1078200059C58E3B910509F42FC50C940B488E3C2D -:10783000910511F40C943F44C4F48B3C910509F478 -:10784000CEC734F4893C910509F4A3C70C940B48C6 -:107850008C3C910509F4E2C78D3C910511F00C9424 -:107860000B480E94C5F70C9421488C3D910511F4FA -:107870000C94644474F4833D910511F40C946144B8 -:10788000893D910511F00C940B480E9442AB0C9479 -:1078900021488D3D910511F40C947144823E91056F -:1078A00011F40C94C7440C940B48853F61E0960793 -:1078B00011F40C94EF460CF047C08039A1E09A0710 -:1078C00011F40C945846DCF48E32E1E09E0711F47A -:1078D0000C9411463CF48D32914011F40C941E45E9 -:1078E0000C940B488F3231E0930711F40C945546F9 -:1078F0008033914011F40C949E450C940B48853ACA -:1079000051E0950711F40C945B467CF48A3971E0E0 -:10791000970711F40C942148843A914011F00C948B -:107920000B480E945DF90C9421488C3AB1E09B070A -:1079300011F40C945E46843F914011F00C940B4876 -:107940000E946ECD0C9421488835F2E09F0711F417 -:107950000C941747B4F4873F31E0930711F40C946B -:10796000F54614F40C94F246883F51E0950711F463 -:107970000C94FE468C30924011F40C940F470C94FA -:107980000B48843873E0970711F40C9495476CF416 -:107990008B35B2E09B0711F40C941A478C36934058 -:1079A00011F40C9421480C940B48803AF3E09F07A3 -:1079B00009F448C2873E934011F40C94FD470C949F -:1079C0000B48009178181091791880E50E94E287A1 -:1079D000882361F00E94B5F76B017C01BB24B3944E -:1079E000672B682B692B31F4B12C04C0B12CC12C4E -:1079F000D12C760183E50E94E287882311F40C9450 -:107A0000FB490E94628720E030E04AE754E40F948B -:107A1000840D0F9495156B017C01B1100BC0672B81 -:107A2000682B692B39F40115110521F0D8018C91CF -:107A3000811102C0B12C02C0BB24B3940E945ED756 -:107A4000B11003C089E196E001C0C8010E9494B75B -:107A50001091030883E08093030881E08093AF18BE -:107A600044E158E06DE178E082E00E94EDC082E000 -:107A700098E00E9494B7C114D104E104F104B1F07C -:107A80000E944467C60ED71EE81EF91E0E94446776 -:107A9000DC01CB018C199D09AE09BF09B7FF0EC0EF -:107AA0008091AF1881110C94004A08C08091AF18E2 -:107AB000882321F080E00E946B4DF8CF1092AF1820 -:107AC000109303080C9421488091A81884FF02C0E9 -:107AD0000C94054A8091AA1887FF02C00C94054AAD -:107AE0008091AB18837011F00C94054A0C94224AD3 -:107AF00087E498E00E9438C01092E10A8CE59AE190 -:107B00000E940D9E8BE1ECE5FAE1DE0111960190F9 -:107B10000D928A95E1F740E050E0BE016F5F7F4F24 -:107B200080E090E00E944C58CE0101960E94439F55 -:107B300088E398E00E9438C00C9421480E9437578F -:107B40000C9421480E94C6568091B01C877F809378 -:107B5000B01C0C942148E0917818F091791880813C -:107B6000882329F0803209F410823196F8CF40E062 -:107B700061E080917818909179180E94225A1092B1 -:107B8000B0180C9421488091730A8823E9F080E0B2 -:107B900090E0A0EAB1E488A399A3AAA3BBA31C8E9A -:107BA0001D8E1E8E1F8E19821A821B821C8220E05F -:107BB000AE01405E5F4FBE01645E7F4FCE01019615 -:107BC0000E9420C20C9421480E9407BF882321F004 -:107BD0000E94D7560E94347140E050E068E578E09A -:107BE00085E00E9408C161E083ED9AE20E9447C0EF -:107BF0000E9443D40C9421488091B01C82FF03C0A2 -:107C00008B7F8093B01C0E9417AE0C94214880910A -:107C1000B01C83FD02C00C94214883E50E94E287DA -:107C200081110C94314A0C94214883E40E94998775 -:107C30008823D9F18CE698E00E9438C08091061A1A -:107C4000882351F1BE016F5F7F4F83E09AE10E946C -:107C5000D49C8E010F5F1F4FF80181918F01882303 -:107C600019F00E943F4CF8CFBE016F5F7F4F80E05C -:107C700090E00E94EA598091840D882389F080E287 -:107C80000E943F4C04E81DE0D8018D918D018823AE -:107C900039F00E943F4CF8CF82E698E00E9438C04D -:107CA0008AE00E943F4C0C94214883E50E94E287C1 -:107CB000882309F10E943A87182F90E0CD970CF0A5 -:107CC0001CE31093F4070E9444676B017C01212F91 -:107CD00030E0A8EEB3E00F94C813C60ED71EE81E1E -:107CE000F91EC092F007D092F107E092F207F092ED -:107CF000F3070C9421480E949F560C94214840E0C1 -:107D000060E080917818909179180E94225A0C9422 -:107D100021488091B01C83FD02C00C9421480E9430 -:107D20004B628091B01C83FD02C00C94214860918D -:107D3000781870917918CE014C960E94C5EB8C0191 -:107D4000009711F40C9421486C8D7D8D19821C8252 -:107D500022E0AC01CE0101960E9426A3811102C04F -:107D6000F12C14C0CE0101960E9433EB8823C1F39D -:107D700061E0CE0101960E94B89C009789F325EE40 -:107D8000FC0120831C820E94C79EF82ECE01019622 -:107D90000E94439FB801FF2089F086E998E00E9485 -:107DA000E5C18AE00E943F4C1092AC1C1092AD1CC1 -:107DB0001092AE1C1092AF1C0C9421488EE798E0F4 -:107DC0000E94E5C18BE798E00E9438C00C942148DE -:107DD0008091B01C82FD0E945ED78091B01C83FD13 -:107DE00002C00C94214860E080E50E94EF87182FC4 -:107DF000482F61E080917818909179180E94225A5A -:107E000083E50E94E287882381F00E942A87AB01E4 -:107E1000BC014093AC1C5093AD1C6093AE1C70939E -:107E2000AF1C83E09AE10E94CE9B0E94D7561111AD -:107E30000C9421480E9434710C9421480E942ABE5F -:107E40000C94214820917818309179189091B01CA9 -:107E500092609093B01C40E060E0C9010E94225AF9 -:107E60000C9421480E946FD26C8F7D8F8E8F9F8FD4 -:107E7000BE016F5F7F4FCE014C960E944EBD60E009 -:107E8000CE0101960E941AD40E94FCC1BE016F5F10 -:107E90007F4F84EA98E00E94E5C18AE00E943F4C4F -:107EA0000C94214883E50E94E287882311F40C9406 -:107EB00021480E943A87F82E6DE070E080E50E942C -:107EC000CBAA8C0197FF02C00C942148E82E60E0F9 -:107ED00089E40E94EF8781110C94424A802F0E940E -:107EE000734B811171C50C94424A80E50E949987B9 -:107EF000882311F40C9421488091B01C82FF02C0A9 -:107F00000C9421480C945B4A0E94BED20C942148E8 -:107F10000E9479700C94214860E070E083E50E9433 -:107F2000CBAA8E34910531F40E946DFB0E9443D49C -:107F30000C9421488FE099E00E9438C06091CC08F1 -:107F40007091CD0886E099E00E94BAC16091CE0898 -:107F50007091CF0889EF98E00E94BAC16091CC0877 -:107F60007091CD088091CE089091CF08681B790B55 -:107F700080910911815021E030E0823010F020E042 -:107F800030E0621B730B8EEE98E00E94BAC18AE06B -:107F90000E943F4C86EE98E00E9438C08091D00845 -:107FA0009091D108A091D208B091D3088C8F9D8F69 -:107FB000AE8FBF8FBE016F5F7F4FCE014C960E9488 -:107FC0004EBDBE016F5F7F4F89ED98E00E94E5C115 -:107FD0008091D4089091D508A091D608B091D70887 -:107FE0008C8F9D8FAE8FBF8FBE016F5F7F4FCE0195 -:107FF0004C960E944EBDBE016F5F7F4F89EC98E0AA -:108000000E94E5C120E030E04AE754E46091D808DE -:108010007091D9088091DA089091DB080F941C15B3 -:10802000AB01BC0181EB98E00E94C7C18DE60E94C4 -:108030003F4C8AE00E943F4C0C9421488091C81725 -:1080400083FF02C00C9421480E94C7AC182F87FF01 -:1080500002C00C94214883E50E94E287882309F13D -:108060000E9462870F948E157B01212F110F330B15 -:10807000F901EE0FFF1FE154F84E718360834091C8 -:108080005B0B50E02417350709F0DBC7CB010E94DA -:1080900017A4F1E5EF16F10424F40E9479700E9410 -:1080A00043D40F946A04CDC78091C81783FDC9C714 -:1080B0000E94C7AC082F87FDC4C783E50E94E287F2 -:1080C000F82E811107C082E50E94E287182F8823CD -:1080D00009F446C00E9462870F948E15402F002E2F -:1080E000000C550BFA01EE0FFF1FE154F84E71839F -:1080F000608320915B0B30E04217530709F0A1C762 -:10810000CB010E9417A40E94628720E030E040EA81 -:1081100052E40F941E0D181614F40C94664A0E9433 -:1081200079700E9443D46091A2087091A308072E31 -:10813000000C880B990B0F94250D20919E0830910F -:108140009F084091A0085091A1080F94821618161C -:1081500014F40C946A4AFF2011F40C946A4A11E05A -:108160000F946A04112309F46CC76F2D802F0E94AD -:10817000569367C78EE40E94E287882309F461C79B -:108180000E942A87609374187093751880937618EC -:108190009093771856C783E50E949987882331F01A -:1081A00060E083E50E9451F98093C8170E94FCC1EA -:1081B00085E299E00E9438C08091C817882369F150 -:1081C0003BE1E32E39E0F32E00E010E020E0809167 -:1081D000C81790E0A0E0B0E0002E04C0B695A795C7 -:1081E000979587950A94D2F780FF0EC0DD24D3942B -:1081F000D20E222319F08CE20E943F4CF7018591A8 -:1082000094910E9438C02D2D0F5F1F4F32E0E30E76 -:10821000F11C05301105D9F643CD87E199E03ECD3B -:1082200083E50E94E287882371F00E943A87282F15 -:1082300030E02D3331051CF48093020202C78CE339 -:1082400080930202FEC60E94FCC14091020250E0EF -:1082500060E070E08CE299E00E94A9C18AE00E948F -:108260003F4CEFC68091C81783FDEBC683E50E94A3 -:10827000E287882309F4E5C60E9462870F948E1571 -:10828000CB010E94FE85DDC68091C81783FDD9C64B -:1082900083E50E94E287182F81110C946F4A82E5D2 -:1082A0000E94E28781110C946F4ACBC60E94C7AC32 -:1082B000182F87FD0AC081E599E00E9438C0812F00 -:1082C0000E9465918AE00E943F4C4CAD40930308A8 -:1082D0000C94564B83E50E94E287882309F4B1C6CB -:1082E0000E943A87182F90E0CD970CF01CE3109372 -:1082F000F9070E9444676B017C01212F30E0A8EE52 -:10830000B3E00F94C813C60ED71EE81EF91EC09224 -:10831000F507D092F607E092F707F092F80791C6BA -:1083200060915B0B80E50E9451F9182F823008F0B4 -:1083300088C681E40E949987882341F0E0915B0B15 -:10834000F0E0EB53F84E608170E002C06FEF70E038 -:1083500083E50E94E5AE8F3F910519F010F08FEF95 -:1083600090E0BC01812F0E9447F76BC660915B0BC8 -:1083700080E50E9451F960E070E00E9447F761C615 -:108380000E94429B0E9479700E94F2D80E94A44BE6 -:1083900068EE73E080E090E00E9409C052C610923F -:1083A000FD074FC683E50E94E287882399F00E946B -:1083B000628720E030E04AE754E40F94840D0F9484 -:1083C00095156093030270930402809305029093C5 -:1083D000060237C68091A81884FF02C00C94A44AF4 -:1083E0008091AA1887FF02C00C94A44A8091AB1810 -:1083F000837011F00C94A44A0E94F2D822C683E53F -:108400000E949987882309F41CC60E94628720E095 -:1084100030E04AE754E40F94840D0F94951560936F -:10842000FE077093FF07809300089093010809C628 -:108430000E94C7AC87FD05C69091A81894FD04C0A2 -:108440009091AA1897FF0AC09BEDC92E92E0D92EF1 -:1084500027E7E22E27E1F22E10E009C09091AB1839 -:10846000937091F7682F81E00E9401B3EAC5D601AD -:108470008D916D010E94E287882309F459C0133061 -:1084800009F04FC00E9462874B015C0120E030E0A0 -:1084900040EA51E40F941E0D87FF3AC0A5019401F4 -:1084A00060919717709198178091991790919A17EA -:1084B0000F941C152B013C019B01AC016091A71787 -:1084C0007091A8178091A9179091AA170F94840D05 -:1084D0006093A7177093A8178093A9179093AA1772 -:1084E0006091B1167091B2168091B3169091B41646 -:1084F0000F94230DA30192010F94840D0F949515F1 -:108500006093B1167093B2168093B3169093B4161D -:108510008092971790929817A0929917B0929A17F5 -:1085200007C00E946287F701648B758B868B978BDF -:108530001F5FF4E0EF0EF11C143009F098CF0E9499 -:1085400038847FC588E79AE00E9438C060E088E6FA -:108550009AE00E94C7CB60E083E59AE00E94C7CB17 -:1085600061E08CE49AE00E94C7CB61E081E49AE08C -:108570000E94C7CB61E081E39AE00E94C7CB60E034 -:1085800088E29AE00E94C7CB61E08EE19AE00E9407 -:10859000C7CB60E084E19AE00E94C7CB60E08CE04A -:1085A0009AE00E94C7CB61E08EEF99E00E94C7CBB2 -:1085B00061E080EF99E00E94C7CB60E081EE99E036 -:1085C0000E94C7CB60E083ED99E00E94C7CB60E0DA -:1085D0008DEB99E00E94C7CB61E08CEA99E00E94A4 -:1085E000C7CB61E08DE999E00E94C7CB61E088E8E4 -:1085F00099E00E94C7CB61E085E799E00E94C7CB74 -:1086000060E088E699E00E94C7CB60E084E599E0ED -:108610000E94C7CB16C58091781890917918009761 -:1086200041F0DC012C91222321F060E00E941AD459 -:1086300008C50E9443D405C5009178181091791897 -:1086400094E0F12C40E0915021F1F8018081282F35 -:108650002B7F213421F421812133D9F407C08035C7 -:10866000C1F4818180538A3048F013C0813421F0F5 -:10867000853421F441E002C0FF24F39498012E5F79 -:108680003F4F89012F5F3F4FF80180818032C9F34E -:10869000DACF41110E94FCC1FF2021F080E69BE06F -:1086A0000E9438C0C8010E944A4DCBC40E94B9E262 -:1086B000C8C41092DD081092DC080E94D5E2C1C443 -:1086C0000E94C7AC182F87FDBCC484E40E94998720 -:1086D000882309F45BC00E9462876B017C0101E082 -:1086E00020E030E0A9010F941E0D811101C000E0CF -:1086F00000933D1920E030E0A901C701B6010F94B5 -:108700001E0D882309F442C00E94628724E01202F1 -:10871000F0011124EA5BF64E6083718382839383B8 -:1087200020E030E0A90160914619709147198091CD -:108730004819909149190F941E0D81110CC080E0C9 -:1087400090E0A0EEBFE38093461990934719A09361 -:108750004819B093491920E030E0A90160914A1905 -:1087600070914B1980914C1990914D190F941E0DD9 -:1087700081110CC080E090E0A0EEBFE380934A1925 -:1087800090934B19A0934C19B0934D190E9449DA5C -:1087900058C40E94C7AC87FD54C41BEDE12E12E003 -:1087A000F12E07E717E187E8C82E87E1D82ED70119 -:1087B0008D917D010E949987882349F00E946287EC -:1087C0000F949515F80160837183828393830C5F06 -:1087D0001F4FC016D10659F70E94E7D632C40E9437 -:1087E000C7AC87FD2EC4BBEDEB2EB2E0FB2E07E736 -:1087F00017E1D7018D917D010E949987882339F077 -:108800000E946287F80164A375A386A397A30C5FF7 -:108810001F4FF7E107381F0761F713C48091A918AC -:1088200087FDC3C68091AA188E7009F0BEC640911C -:10883000AB175091AC176091AD177091AE178AE6E7 -:108840009BE00E94C7C14091AF175091B017609153 -:10885000B1177091B21787E69BE00E94C7C14091A3 -:10886000B3175091B4176091B5177091B61784E69D -:108870009BE00E94C7C18AE00E943F4CE2C3FBED2F -:10888000CF2EF2E0DF2EA0EEEA2EA8E0FA2E10E0C6 -:10889000D6018D916D010E949987882351F00E9425 -:1088A0006287F7016083718382839383812F0E94A3 -:1088B000A1DC1F5FF4E0EF0EF11C133049F70C94BC -:1088C000F3390E944CB2BDC383E50E94E28788233E -:1088D00009F4B7C30E945E8790936D0280936C0287 -:1088E000B0C30E94C7ACF82E87FDABC383E50E94DE -:1088F000E2870F2D0F2C000C110B882369F10E94C9 -:108900005E87F801EE0FFF1FE959FD4F91838083C9 -:10891000000F111F000F111F98012F5C3D4F7901AF -:10892000BC01990F880B990B0F94250D2AE037EDA8 -:1089300043E25CE30F94840DF801E25CF64E208183 -:108940003181428153810F94840DD7016D937D93C2 -:108950008D939C93139775C30E94FCC185E40E947C -:108960003F4C80E38F0D0E943F4CF801EE0FFF1F3C -:10897000E959FD4F608171818AE79BE00E94D8C16F -:1089800085E20E943F4C8AE00E943F4C5AC380E53A -:108990000E949987882309F454C360E070E080E561 -:1089A0000E94CBAAF82E6FEF7FEF83E50E94CBAA3F -:1089B0008C010196039708F044C3F7FC42C38F2D46 -:1089C0000E94734B882339F00E94F8C182E89BE033 -:1089D0000E9438C036C30E945ED760E08F2D0E948F -:1089E000E6650F3FBFEF1B0731F00130110571F055 -:1089F00000E010E00DC08F2D0E948E6531E020E078 -:108A0000892B09F030E0032F122F02C001E010E0A3 -:108A10008F2D0E948E658017910709F412C380E0A4 -:108A20000E946B4DF5CF8AE50E94E287811103C653 -:108A300083E50E94E2878111FEC503C360E085E4FF -:108A40000E9451F9811173C080E50E9499878823A3 -:108A500051F00E9462876093A5087093A6088093E6 -:108A6000A7089093A80889E40E949987882381F039 -:108A70000E9462872CEA35EC47E25EE30F94840D96 -:108A80006093A9087093AA088093AB089093AC08F0 -:108A900084E40E949987882381F00E9462872CEAEF -:108AA00035EC47E25EE30F941C156093AD087093BC -:108AB000AE088093AF089093B0080E94FCC140912B -:108AC000A5085091A6086091A7087091A8088BEAA4 -:108AD0009BE00E94C7C12CEA35EC47E25EE360915F -:108AE000A9087091AA088091AB089091AC080F94E6 -:108AF0001C15AB01BC0187EA9BE00E94C7C12CEAB0 -:108B000035EC47E25EE36091AD087091AE0880916C -:108B1000AF089091B0080F94840DAB01BC0183EABB -:108B20009BE00E94C7C18AE00E943F4C8AC20E941B -:108B3000F8C181E99BE00E9438C083C280E50E94B1 -:108B40009987882351F00E9462876093BC087093D4 -:108B5000BD088093BE089093BF0889E40E9499875E -:108B6000882381F00E9462872CEA35EC47E25EE3BD -:108B70000F94840D6093C0087093C1088093C2085D -:108B80009093C30884E40E949987882381F00E940F -:108B900062872CEA35EC47E25EE30F941C15609384 -:108BA000C4087093C5088093C6089093C7080E94B4 -:108BB000FCC14091BC085091BD086091BE08709105 -:108BC000BF0887EB9BE00E94C7C12CEA35EC47E267 -:108BD0005EE36091C0087091C1088091C2089091D5 -:108BE000C3080F941C15AB01BC0183EB9BE00E94F2 -:108BF000C7C12CEA35EC47E25EE36091C40870918E -:108C0000C5088091C6089091C7080F94840DAB01E8 -:108C1000BC018FEA9BE00E94C7C18AE00E943F4CE2 -:108C200010C283E50E949987182F882371F00E9453 -:108C300062870F948E15709362026093610221E047 -:108C4000672B09F020E02093C71780E50E949987E1 -:108C5000882359F02091610230916202232B11F098 -:108C60000E944E878093C717ECC11111EAC10E9480 -:108C7000FCC187ED9BE00E9438C08091C717882314 -:108C800019F08FEB9BE002C08BEB9BE00E9438C099 -:108C9000609161027091620286EC9BE00E94D8C1F3 -:108CA00082EC9BE00E9438C0CCC10E94D5B7C9C1FC -:108CB0000E945ED7C6C10E946DF8C3C10E94736254 -:108CC0008111BFC100E01BE2ECE5FBE0FDA3ECA3DA -:108CD0009E012F5F3F4F490155E5A52E5BE2B52E62 -:108CE0001901F8016591759185919491ACA1BDA18F -:108CF000CD90DD90ED90FD90BDA3ACA3A7019601B2 -:108D00000F9421142B013C01F10160837183828354 -:108D1000938320E030E040EA51EC0F94821687FD07 -:108D20000AC020E030E040EA51E4C301B2010F94F0 -:108D30001E0D18162CF4F501849118160CF4ABC412 -:108D4000D101CD90DD90ED90FD901D0120E030E04F -:108D500040EA51ECC701B6010F94821687FD0AC0A4 -:108D600020E030E040EA51E4C701B6010F941E0D47 -:108D7000181664F40E94F8C188E09CE00E9438C094 -:108D800061E08AEF9BE00E94BFD35BC10C5F1F4F85 -:108D9000BFEFAB1ABB0AEBE20C301E0709F0A1CF04 -:108DA00040EEE42E48E0F42E10E0F4018191919120 -:108DB000A191B1914F01F70181939193A193B19347 -:108DC0007F01812F0E94A1DC1F5F133071F70E9489 -:108DD000A8E160E08AEE9BE00E94BFD332C10E940E -:108DE00068F12FC10E94E1EC2CC161E083E50E9493 -:108DF000EF8791E089270E9455EE23C181E080939F -:108E0000F91C0E94E0E21092F91C882309F419C1B0 -:108E10000E94FCC186E29CE00E9438C012C1809191 -:108E2000B01C82FF0EC180628093B01C0AC10E94F8 -:108E3000F1AC07C10E94C7AC082F87FD02C185E5D0 -:108E40000E9499878823B1F1A02E002E000CBB0848 -:108E50000E9462876B017C0120E030E0A9010F9441 -:108E6000821687FF04C0F7FAF094F7F8F094C50172 -:108E700033E0880F991F3A95E1F79C012250334E59 -:108E80005901D901CD92DD92ED92FC92139720E029 -:108E900030E04AEF53E4C701B6010F94821618166A -:108EA0004CF480E090E0AAEFB3E4F5018083918375 -:108EB000A283B3838CE40E949987882309F4C1C0FC -:108EC000002E000C110B0E9462876B017C0120E0D8 -:108ED00030E0A9010F94821687FF04C0F7FAF094DE -:108EE000F7F8F09423E0000F111F2A95E1F70250E4 -:108EF000134ED8011496CD92DD92ED92FC92179705 -:108F000020E030E04AEF53E4C701B6010F94821627 -:108F100018160CF096C080E090E0AAEFB3E4F801D8 -:108F200084839583A683B7838CC060915B0B70E0CC -:108F300084E50E94CBAA8C01823028F08AE59CE06F -:108F40000E9438C07EC08BE40E94E287882349F1EA -:108F50000E9462876B017C0120E030E0A9010F9440 -:108F6000821687FD19C020E030E040E251E4C701DD -:108F7000B6010F941E0D18167CF00E945ED7F80102 -:108F8000FF27EE0FFF1FEE0FFF1FE354F94EC082C5 -:108F9000D182E282F38255C08BE39CE00E9438C00C -:108FA00050C00E94FCC181E39CE00E9438C00DEBE0 -:108FB00016E1C12CD12C760180E20E943F4CC70102 -:108FC000B6010E94B34C8DE30E943F4CD8016D91D5 -:108FD0007D918D919D918D0142E00E94CF4CBFEF1C -:108FE000CB1ADB0AEB0AFB0AE2E0CE16D104E1045D -:108FF000F10411F40C94503EDFCF81E080934402E1 -:1090000010924B0B60E083E50E94EF87811119C03D -:109010000E9415BF16C00E94656213C01091AC1863 -:1090200080915B0B181729F060E083E50E94EF87C1 -:1090300001C081E0682F812F0E94D59402C00E9458 -:1090400065622296FFAD2297F11102C00E949EC573 -:109050002CAD209303082AC30E945ED73091740B75 -:109060003CAB80E00E94BDBF80915D0290915E02AA -:10907000A0915F02B0916002809306089093070868 -:10908000A0930808B093090880916C0290916D023A -:10909000909305088093040884E690E090936D0215 -:1090A00080936C0281E08093DD080E94D5E288E520 -:1090B0000E949987182F89E50E949987082F8AE5D1 -:1090C0000E949987101395C1181711F0012F91C1B3 -:1090D00001E011E071E07CA70E940C8682E50E940D -:1090E000E287882361F00E9462876B017C0120E0A7 -:1090F00030E0A9010F941E0D882369F106C0C12C30 -:10910000D12C80E8E82E80E4F82E111103C0002352 -:1091100009F4FCC0C092020BD092030BE092040B46 -:10912000F092050BA70196016091640B7091650B9D -:109130008091660B9091670B0F941E0D87FF0BC0FB -:1091400019821A821B821C82BE016F5F7F4F82E0F0 -:109150009BE00E946BE1112309F4D3C0002309F4C2 -:10916000CDC01092600B1092610B1092620B1092A6 -:10917000630B10925C0B10925D0B10925E0B1092C1 -:109180005F0B0E94A6E1E5E5FBE2849188AFE9E48C -:10919000FBE2C590D590E590F490EDE4FBE285907C -:1091A0009590A590B490A5019401C701B6010F94C4 -:1091B000821618162CF4A7019601C501B40104C04B -:1091C000A5019401C701B6010F941C152B013C01A8 -:1091D000E0E1FBE225913591459154912CA33DA30B -:1091E0004EA35FA3ECE0FBE245915591659174912C -:1091F00048A759A76AA77BA79A01AB016CA17DA1DB -:109200008EA19FA10F948216181634F428A439A4B5 -:109210005AA558AB1BA505C02CA03DA06EA168ABFC -:109220001FA1A3019201C301B2010F94840D20E09C -:1092300030E040E85FE30F9422140F94D0169101C0 -:1092400048A9512F0F94840D68A379A38AA39BA3E7 -:10925000E6E5FBE2149120E030E040EC5FE3C5017D -:10926000B4010F94840D4B015C01612F110F770B3A -:10927000880B990B0F94250D9B01AC01C501B4011E -:109280000F94840D69837A838B839C8320E030E084 -:1092900040EC5FE3C701B6010F94840D6B017C01C4 -:1092A000A8AD6A2FAA0F770B880B990B0F94250D89 -:1092B0009B01AC01C701B6010F94840D6C8F7D8FAB -:1092C0008E8F9F8FAE01405E5F4FBE016F5F7F4FFD -:1092D000CE014C960E9449E10F94E5071092600B75 -:1092E0001092610B1092620B1092630B10925C0B48 -:1092F00010925D0B10925E0B10925F0B80E00F944A -:109300001405002319F081E00F941405BCA5BB23BC -:1093100009F44BC0809164198370833061F060E080 -:109320008EE097E00E94BFD30E94FCC18FEF96E0D1 -:109330000E9438C03AC00E94A6E180E090E0A8E414 -:10934000B2E48093FA0A9093FB0AA093FC0AB093CC -:10935000FD0A80E090E0ACE8B2E48093FE0A9093CE -:10936000FF0AA093000BB093010B8091640B9091C6 -:10937000650BA091660BB091670B8093020B9093E5 -:10938000030BA093040BB093050B19821A821B8266 -:109390001C82AE014F5F5F4F6EEF7AE08AEF9AE07A -:1093A0000E9449E182E00F9414050E94A6E1809199 -:1093B000DC088093DD088CA90E94BDBF809106085F -:1093C00090910708A0910808B091090880935D0268 -:1093D00090935E02A0935F02B093600280910408B4 -:1093E0009091050890936D0280936C020E94A8E111 -:1093F00028CE8CA771CEB1100C941A3D0C94133D5D -:1094000080E00E946B4D0C94463D88E50E94998750 -:1094100081115F9889E50E94998781118A988AE570 -:109420000E949987882329F0809108018170809398 -:10943000060185E40E949987882309F402CE1298D8 -:109440004798FFCD60E08FE298E00E94BFD35F981D -:109450008A9880910801817080930601129847983C -:10946000F0CD0E942A87AB01BC014093AC1C509305 -:10947000AD1C6093AE1C7093AF1C83E09AE10E9418 -:10948000CE9BDFCD61E0802F0E94E6656F2D802F9F -:109490000E94B7656F2D70E0802F0E94226647E022 -:1094A000E41203C0F092C617CCCD59E0E512C9CD45 -:1094B000F092C517C6CD0E943A8790E08536910597 -:1094C00014F084E690E08093B018BBCD0E94347114 -:1094D0000C949340802F0E9447910C94AF400E94BF -:1094E00062870F948E15CB010E94FE850E946287D1 -:1094F00020E030E040EA50E40F948216181614F48D -:109500000E9434716091B9087091BA08072E000C5E -:10951000880B990B0F94250D2091B5083091B60852 -:109520004091B7085091B8080F94821618161CF491 -:1095300082E499E002C083E399E060E00E94BFD337 -:10954000812F0E94D7917DCD0E945ED788E50E9431 -:109550009987882331F05F9A809164198E7F809378 -:10956000641989E50E949987882331F08A9A80914D -:1095700064198D7F809364198AE50E9499878823F6 -:1095800059F0809108018095817080930601809147 -:1095900064198B7F8093641985E40E9499878823DE -:1095A00009F44FCD0E94704B4CCD83E50E94E287B9 -:1095B000882391F00E9462876093AB177093AC1779 -:1095C0008093AD179093AE176093B3177093B41751 -:1095D0008093B5179093B61780E50E94E2878823A1 -:1095E00051F00E9462876093AB177093AC17809321 -:1095F000AD179093AE1782E50E94E287882351F061 -:109600000E9462876093AF177093B0178093B11771 -:109610009093B21784E50E94E287882309F411CD64 -:109620000E9462876093B3177093B4178093B51745 -:109630009093B61706CD0E94628720E030E040E0AC -:1096400050EC0F941E0D87FD12C00E94628720E02F -:1096500030E040E050E40F94821618161CF00E948F -:10966000628709C060E070E080E090E404C060E0E0 -:1096700070E080E090EC2091931730919417409126 -:109680009517509196170F94840D0F948E15CB015A -:109690000E94ADECD6CCF7FAF094F7F8F094D10133 -:1096A000CD92DD92ED92FC9213974ACBCF5BDF4FC8 -:1096B0000FB6F894DEBF0FBECDBFDF91CF911F91E3 -:1096C0000F91FF90EF90DF90CF90BF90AF909F9061 -:1096D0008F907F906F905F904F903F902F90089564 -:1096E000129A479A0895FF920F931F93CF93DF9397 -:1096F0001F92CDB7DEB7F82E0CE81CE041E050E039 -:10970000B801CE0101960F94580C89818F1102C0C7 -:1097100081E007C00F5F1F4F8CE0083A180771F710 -:1097200080E00F90DF91CF911F910F91FF900895EE -:1097300080911008811107C00E9468F1882319F0F8 -:1097400081E080931008089560E070E080E00E945E -:1097500047F760E070E081E00C9447F78F929F92AA -:10976000AF92BF92CF92DF92EF92FF920F93CF937F -:10977000DF931F92CDB7DEB75C016B017A0149011F -:10978000F501808191810F944E138983002311F09C -:10979000F6018083BE016F5F7F4FC4010E944FE9D5 -:1097A000F50180819181019691838083FFEFCF1A2B -:1097B000DF0A81E0E81AF10819F780E00F90DF91E5 -:1097C000CF910F91FF90EF90DF90CF90BF90AF902F -:1097D0009F908F9008957F928F929F92AF92BF92A9 -:1097E000CF92DF92EF92FF920F931F93CF93DF936D -:1097F0001F92CDB7DEB77C0159018B016B01C40EFE -:10980000D51E0C151D0559F1F70180809180F801D6 -:1098100071908F017982C4010F944E13781691F0E4 -:10982000672DC4010F945613C4010F944E139981F0 -:10983000891741F00E94FCC182E79CE00E9438C079 -:1098400081E00EC0BE016F5F7F4FC5010E944FE9EE -:10985000F70180819181019691838083D2CF80E04E -:109860000F90DF91CF911F910F91FF90EF90DF90BC -:10987000CF90BF90AF909F908F907F9008959091E0 -:10988000C00095FFFCCF8093C60008958F929F92F1 -:10989000AF92BF92EF92FF920F931F93CF93DF93FC -:1098A000CDB7DEB7A0970FB6F894DEBF0FBECDBF21 -:1098B000611571058105910591F100E0842E912CCF -:1098C000A12CB12C102FEE24E394F12CEC0EFD1EF4 -:1098D000E00EF11C07FDFA94A50194010F94741396 -:1098E000F7016083B901CA010F5F61157105810538 -:1098F000910541F71F3F31F1E1E0F0E0EC0FFD1F72 -:10990000E10FF11D17FDFA9580818A3010F097E381 -:1099100001C090E3890F0E943F4C1150EBCF80E3D0 -:10992000A0960FB6F894DEBF0FBECDBFDF91CF91EA -:109930001F910F91FF90EF90BF90AF909F908F90ED -:109940000C943F4CA0960FB6F894DEBF0FBECDBF6F -:10995000DF91CF911F910F91FF90EF90BF90AF904B -:109960009F908F900895CF92DF92EF92FF926B01BC -:109970007C0197FF0BC08DE20E943F4CF094E09475 -:10998000D094C094C11CD11CE11CF11C4AE0C70159 -:10999000B601FF90EF90DF90CF900C94464C8F92E1 -:1099A0009F92AF92BF92CF92DF92EF92FF92CF93AE -:1099B0006B017C01B42E20E030E0A9010F941E0D54 -:1099C00087FF07C08DE20E943F4CF7FAF094F7F84A -:1099D000F094C0E060E070E080E09FE3CB1541F0E0 -:1099E0002DEC3CEC4CEC5DE30F94840DCF5FF6CF97 -:1099F0009B01AC01C701B6010F9422146B017C01DD -:109A00000F9495154B015C014AE00E94464CCC2313 -:109A100089F1C501B4010F94230D9B01AC01C7016D -:109A2000B6010F9421146B017C018EE20E943F4C21 -:109A300020E030E040E251E4C701B6010F94840D0C -:109A40004B015C010F948E156B01770FEE08FF0838 -:109A5000C701B6010E94B34CC701B6010F94250D92 -:109A60009B01AC01C501B4010F9421146B017C0171 -:109A7000C150F1F6CF91FF90EF90DF90CF90BF9063 -:109A8000AF909F908F9008958DE00E943F4C8AE0A8 -:109A90000C943F4CCF93DF93EC018991882319F00C -:109AA0000E943F4CFACFDF91CF910C94444D8091AE -:109AB000F0179091F117981759F0E92FF0E0E05165 -:109AC000F84E82819F5F9F779093F11790E0089501 -:109AD0008FEF9FEF08952F923F924F925F926F9278 -:109AE0007F928F929F92AF92BF92CF92DF92EF922E -:109AF000FF920F931F93CF93DF93CDB7DEB72897D5 -:109B00000FB6F894DEBF0FBECDBFE82E0E94C51978 -:109B10000E9444674B015C0180910202882359F145 -:109B200080910308882339F140911108509112085F -:109B3000609113087091140895018401041B150BA2 -:109B4000260B370B37FD2AC0833079F03CF4813087 -:109B500094F00E94FCC187ED9CE00BC0843059F466 -:109B60000E94FCC188EA9CE004C00E94FCC180EC19 -:109B70009CE00E9438C02091020230E0A8EEB3E0E1 -:109B80000F94C813860E971EA81EB91E8092110846 -:109B900090921208A0921308B09214088091700A53 -:109BA000843008F07FC20E9444674B015C018091C1 -:109BB000700A81111DC08091F0179091F117891BD7 -:109BC0008F77B1F480917A0890917B08A0917C08FE -:109BD000B0917D08A5019401281B390B4A0B5B0B42 -:109BE000DA01C901885E9340A109B109B7FF71C5C7 -:109BF00070E6F72E8091700A843008F036C18091AB -:109C0000F0179091F117891B8F7709F42EC10E94EC -:109C1000574DAC0197FDEECF20917218309173181B -:109C20008A3019F08D3009F0E8C0109279082115BA -:109C3000310519F40E9445F3DDCFF901E75EF74FD6 -:109C40001082109273181092721809E118E0F8014E -:109C50008191803211F48F01FACF8E3409F07AC0ED -:109C60000115110509F476C060E17EE0C8010F948A -:109C70009C0C6C01892B41F06EE470E0C8010496E5 -:109C80000F947517009709F4C8014AE050E060E0AE -:109C900070E001960F94140A6093150870931608EB -:109CA0008093170890931808409074185090751876 -:109CB00060907618709077183FEF431A530A630A42 -:109CC000730A641575058605970531F0CD2821F4D2 -:109CD00060E08DED9DE0C7C06AE270E0C8010F94BE -:109CE000A4179C01009709F1982F901BD12C992360 -:109CF00039F09150F801E90FF11D8081D826F7CF96 -:109D00004AE050E060E070E0C90101960F94140A47 -:109D10004D2C512C612C712C641575058605970509 -:109D200041F060E08EEB9DE09EC060E084E99DE044 -:109D30009AC08091150890911608A0911708B091CB -:109D400018088093741890937518A0937618B093A0 -:109D5000771812C08091B01C80FF0EC06CE87FE0C5 -:109D6000C8010F949C0C009709F47AC0FC01838110 -:109D700080538A3008F474C08091440281111CC061 -:109D800067E470E0C8010F9475170097A9F04AE0E6 -:109D900050E060E070E001960F94140A64307105A1 -:109DA0008105910548F483EF9CE00E9438C060E093 -:109DB00089EE9CE00E94BFD380927A0890927B0843 -:109DC000A0927C08B0927D08809119088B3309F429 -:109DD00011CF8091700A843008F00CCF8091EC088C -:109DE000F89EC001112469E178E08151974F0F94EA -:109DF000801781E00E94F3C5FDCE2F3531050CF0B0 -:109E0000F9CE8C35C1F40E94574D97FDF3CE2091C9 -:109E100079082111EFCE2091721830917318A901A1 -:109E20004F5F5F4F5093731840937218F901E75ECC -:109E3000F74F8083DFCE8B3321F481E08093790864 -:109E4000D9CE809179088111D5CEC9010196909320 -:109E5000731880937218F901E75EF74F4083CACEFA -:109E600060E08AE69DE00E9431BF8091B01C82FFD5 -:109E700019C18091700A811102C010927F08DD24FF -:109E8000D3944091AC1C5091AD1C6091AE1C70916C -:109E9000AF1C8091A81C9091A91CA091AA1CB09104 -:109EA000AB1C481759076A077B0708F4D12C00E060 -:109EB00010E0CC24C39440E6B42E54E6A52E69E607 -:109EC000962E8091700A843008F0ECC0D110EAC060 -:109ED00080917F088111E6C080910B1A90910C1A35 -:109EE000A0910D1AB0910E1A8093AC1C9093AD1CEA -:109EF000A093AE1CB093AF1C41E050E0BE016F5F79 -:109F00007F4F83E09AE10E94B39F019719F4898102 -:109F100090E002C08FEF9FEFF82E4090AC1C509065 -:109F2000AD1C6090AE1C7090AF1C4091A81C50916D -:109F3000A91C6091AA1C7091AB1CDD24D39444161B -:109F400055066606770608F4D12C441655066606B3 -:109F50007706B0F4019609F461C02AE0F21609F41C -:109F60006EC03DE0F31609F46AC043E2F41619F03E -:109F70005AE3F5127CC080917E08811178C054C0EC -:109F80000E945ED783E09AE10E943A9F8091A71CCD -:109F9000882339F181508093A71C989EC001112419 -:109FA00041E061E08858954F0E94225AE091A71C39 -:109FB00064E0E69FF0011124EC58F54F4081518197 -:109FC000628173814093AC1C5093AD1C6093AE1CB6 -:109FD0007093AF1C83E09AE10E94CE9B0E94D756FB -:109FE00016C00E94C6560E94F2D80E9479700E9444 -:109FF0006FD26D3371058105910518F48BE19EE0F8 -:10A0000002C080E29EE00E943AC6A092B018809101 -:10A01000B01C82FD0DC083E39EE004C00E94F8C125 -:10A0200084E29EE00E9438C073E2F71208C005C0C7 -:10A0300053E2F5125BC300E010E0C0927F0810927B -:10A040007E080115110519F40E9445F30DC0809199 -:10A05000EC08B89E000D111D1124F801E151F74FD5 -:10A06000108280E00E94F3C500E010E02ACF0F3597 -:10A07000110508F026CF8BE3F81203C0C0927E08CA -:10A0800020CF80917E0881111CCF8091EC08F801CF -:10A09000B89EE00DF11D1124E151F74FF0820F5FE2 -:10A0A0001F4F0FCF0E9444674B015C014091FE0798 -:10A0B0005091FF076091000870910108411551050A -:10A0C0006105710529F180915C1990915D19A0914C -:10A0D0005E19B0915F19840F951FA61FB71F9501D8 -:10A0E0008401081B190B2A0B3B0B37FD11C00E9482 -:10A0F000F8C160914D0B70914E0B87E49EE00E9479 -:10A10000E5C18AE00E943F4C80E090E00E945EEA58 -:10A110004091030250910402609105027091060281 -:10A12000411551056105710509F44EC090917A1AE7 -:10A1300080917B1A981759F00E94446760935C19CC -:10A1400070935D1980935E1990935F193DC0809163 -:10A15000730A811137C0E11035C080915C1990916C -:10A160005D19A0915E19B0915F19840F951FA61F0C -:10A17000B71FA5019401281B390B4A0B5B0B57FD38 -:10A1800021C08091900881111FC081E080939008C8 -:10A190005F9A809164198E7F809364198A9A809166 -:10A1A00064198D7F80936419809108018095817076 -:10A1B00080930601809164198B7F809364190E94BB -:10A1C000704B02C01092900880918C0890918D087D -:10A1D000A0918E08B0918F08B501A401481B590BBE -:10A1E0006A0B7B0B77FDBDC190917A1A80917B1A27 -:10A1F00060913D0230913E02981318C08091C517BE -:10A20000869F80011124B801660F672F661F770BA8 -:10A210007195062F8091C617839FB0011124660F98 -:10A22000672F661F770B7195162F29C080917B1AB7 -:10A2300054E5859FC0011124825F9E4EFC01EE5AB9 -:10A24000FF4F2081269FB0011124660F672F661FE4 -:10A25000770B7195062F31968081839FB001112471 -:10A26000660F672F661F770B7195162F80917B1AEB -:10A2700090917A1A981719F08F5F8F70F9CF002399 -:10A2800031F10E944467C0908408D0908508E09026 -:10A290008608F0908708DC01CB01C114D104E104E9 -:10A2A000F10469F48C599F4FAF4FBF4F80938408DE -:10A2B00090938508A0938608B093870806C08C19F0 -:10A2C0009D09AE09BF09B7FF0AC00FEF08C0109281 -:10A2D0008408109285081092860810928708602FD3 -:10A2E00070E089E00E942266112331F10E944467E8 -:10A2F000C0908808D0908908E0908A08F0908B0878 -:10A30000DC01CB01C114D104E104F10469F48C59DE -:10A310009F4FAF4FBF4F8093880890938908A093B9 -:10A320008A08B0938B0806C08C199D09AE09BF0935 -:10A33000B7FF0AC01FEF08C0109288081092890862 -:10A3400010928A0810928B08612F70E087E00E94BB -:10A35000226680917217882309F4F6C0E0902902E2 -:10A36000F0902A0200912B0210912C026091A20819 -:10A370007091A3086E5F7F4F072E000C880B990B1E -:10A380000F94250D9701A8010F941E0D87FDDCC0C9 -:10A3900030907B1A212C1A821B821C8280917A1A9F -:10A3A000831509F467C0832D90E064E5689FF00190 -:10A3B000699FF00D1124E25FFE4E45895689678939 -:10A3C000708D452B462B472B89F4418D528D638D23 -:10A3D000748D452B462B472B49F4458D568D678D43 -:10A3E00070A1452B462B472B09F43FC074E5789F9D -:10A3F0009001799F300D1124C901825F9E4E6C013E -:10A40000FC0161817281838194810F94D0162B01AC -:10A410003C01F60161A172A183A194A10F94230DC7 -:10A420006D837E838F839887F60165A176A187A1CE -:10A4300090A50F94230D9B01AC016D817E818F81CE -:10A4400098850F941C15A30192010F94840D3B0174 -:10A450006C01222D3A814B815C810F948216181673 -:10A4600024F4262C7A82CB82DC8281E0830D8F70EB -:10A47000382E94CF20912D0230912E0240912F0240 -:10A4800050913002622D7A818B819C810F94840DD2 -:10A490009701A8010F9422143B016C012090250222 -:10A4A0003090260240902702509028029B01AC0178 -:10A4B000B701C8010F94821618166CF09101A20121 -:10A4C000B301C6010F94821618161CF471018201A3 -:10A4D00002C073018601409080085090810860900E -:10A4E0008208709083089701A801C301B2010F94FC -:10A4F00082161816C4F420E037ED43EA5CE3B70196 -:10A50000C8010F94840D6B017C0128E431EE4AE709 -:10A510005FE3C301B2010F94840DA70196010F946C -:10A5200022147B018C01C701D8018093800890938D -:10A530008108A0938208B0938308B701C8010F94E3 -:10A540008E15CB010E9417A4F4E68F0E911CA11C5E -:10A55000B11C80928C0890928D08A0928E08B092C7 -:10A560008F080E9445F380910911813009F06EC077 -:10A570000E9444676B017C01809195089091960838 -:10A58000A0919708B091980897018601081B190BB4 -:10A590002A0B3B0B37FD3AC080900A1190900B11AB -:10A5A000A0900C11B0900D110E946FD260930A110F -:10A5B00070930B1180930C1190930D110091D008A2 -:10A5C0001091D1082091D2083091D30808191909A7 -:10A5D0002A093B09DC01CB01800F911FA21FB31F89 -:10A5E0008093D0089093D108A093D208B093D30859 -:10A5F000D701C601805F984DAF4FBF4F809395083C -:10A6000090939608A0939708B0939808809191082A -:10A6100090919208A0919308B0919408A701960197 -:10A62000281B390B4A0B5B0B57FD10C030E8C30EDB -:10A630003EEED31EE11CF11CC0929108D09292080C -:10A64000E0929308F09294080E9447FB8091F907EA -:10A65000882391F00E9444670091F5071091F60756 -:10A660002091F7073091F807DC01CB01801B910B9B -:10A67000A20BB30BB7FF3DC00E9444676B017C0186 -:10A680002091F407222309F453C08091F0079091A0 -:10A69000F107A091F207B091F307B701A601481B9B -:10A6A000590B6A0B7B0B77FD43C030E0A8EEB3E09B -:10A6B0000F94C813C60ED71EE81EF91EC092F007ED -:10A6C000D092F107E092F207F092F3070E949F56B2 -:10A6D0002FC085E19EE00E9438C080927A08909257 -:10A6E0007B08A0927C08B0927D0882CA10927E08F6 -:10A6F000ABCC0E9444676B017C012091F90730E0EC -:10A70000A8EEB3E00F94C813C60ED71EE81EF91EBC -:10A71000C092F507D092F607E092F707F092F8079B -:10A7200080915B0B0E9465918AE00E943F4CA4CF10 -:10A7300028960FB6F894DEBF0FBECDBFDF91CF9144 -:10A740001F910F91FF90EF90DF90CF90BF90AF904F -:10A750009F908F907F906F905F904F903F902F9041 -:10A7600008951F920F920FB60F9211240F900FBEF3 -:10A770000F901F9018951F920F920FB60F921124F1 -:10A780000BB60F920F931F932F933F934F935F93AB -:10A790006F937F938F939F93AF93BF93CF93DF93E9 -:10A7A000EF93FF930091F117D091F01711E01D0F77 -:10A7B0001F77C091C60090910F08492F092E000CF9 -:10A7C000550B660B770B4131510508F064C0FA0157 -:10A7D0008827ED56FF4F8F4F0D940D14CD3449F05F -:10A7E000CE34B9F481E006C0CA3338F0CD3409F074 -:10A7F00043C082E080930F0875C0C03308F072C078 -:10A80000C03209F46FC0CD32B9F56CC0C13351F01C -:10A8100018F4C03289F566C0C43331F0C83361F52D -:10A820008BE0E8CF83E0E6CF88E0E4CFC03321F0CF -:10A83000C13311F586E0DECF84E0DCCFC833E1F42C -:10A8400085E0D8CFC233C1F487E0D4CFC133A1F4BF -:10A8500089E0D0CFC03381F48AE0CCCFC73361F434 -:10A860008CE0C8CFC63341F48DE0C4CFC032D1F103 -:10A87000C33511F48EE0BECF80E1BCCF80ED8C0FEC -:10A880008A3080F59FE090930F0880930E082AC0CD -:10A89000CA3041F525C0CA3029F580916E1B882346 -:10A8A000F9F0973089F03CF49530D1F4109216020B -:10A8B0001092AF1815C09A3059F09F3089F48091EA -:10A8C0000E080E94A3C00CC081E080932D1D08C01B -:10A8D0000E9448D90E945ED70E9403620E94A6E1AE -:10A8E00010920F08011731F0ED2FF0E0E051F84E13 -:10A8F000C283D12FD093F017FF91EF91DF91CF91C9 -:10A90000BF91AF919F918F917F916F915F914F9187 -:10A910003F912F911F910F910F900BBE0F900FBE83 -:10A920000F901F9018958EBD0DB407FEFDCF0895B2 -:10A930008FEF8EBD0DB407FEFDCF8EB508959091BB -:10A9400064009B7F90936400982F906A96959CBDBD -:10A9500080FD03C091E0863009F490E09DBD08952C -:10A96000CF92DF92EF92FF920F931F93CF93DF93DB -:10A970006C017A018B01C0E0D0E0CE15DF0581F0DB -:10A98000D8016D918D01D601ED91FC910190F0817E -:10A99000E02DC6011995892B11F02196EECF7E018D -:10A9A000C701DF91CF911F910F91FF90EF90DF9042 -:10A9B000CF900895089580E090E00895FC01538DB4 -:10A9C000448D252F30E0842F90E0821B930B541789 -:10A9D00010F0CF96089501970895FC01918D828D16 -:10A9E000981761F0828DDF01A80FB11D5D968C91E3 -:10A9F000928D9F5F9F73928F90E008958FEF9FEFEE -:10AA00000895FC01918D828D981731F0828DE80FA9 -:10AA1000F11D858D90E008958FEF9FEF0895FC0163 -:10AA2000918D228D892F90E0805C9F4F821B910930 -:10AA30008F739927089586E699E10E940F5521E0CA -:10AA4000892B09F420E0822F0895FC01848DDF0119 -:10AA5000A80FB11DA35ABF4F2C91848D90E0019691 -:10AA60008F739927848FA689B7892C93A089B18980 -:10AA70008C91837080648C93938D848D981306C021 -:10AA80000288F389E02D80818F7D80830895EF9285 -:10AA9000FF920F931F93CF93DF93EC0181E0888F98 -:10AAA0009B8D8C8D981305C0E889F989808185FD7F -:10AAB00026C0F62E0B8D10E00F5F1F4F0F7311276E -:10AAC000E02E8C8DE8120CC00FB607FCFACFE88997 -:10AAD000F989808185FFF5CFCE010E942555F1CF00 -:10AAE0008B8DFE01E80FF11DE35AFF4FF0829FB7F7 -:10AAF000F8940B8FEA89FB89808180620AC09FB736 -:10AB0000F894EE89FF896083E889F98980818370F0 -:10AB1000806480839FBF81E090E0DF91CF911F919F -:10AB20000F91FF90EF900895CF93DF93EC01888D04 -:10AB30008823C9F0EA89FB89808185FD05C0A88941 -:10AB4000B9898C9186FD0FC00FB607FCF5CF8081C7 -:10AB500085FFF2CFA889B9898C9185FFEDCFCE0111 -:10AB60000E942555E7CFDF91CF91089580E090E0D6 -:10AB7000892B41F080E090E0892B21F00E940000B9 -:10AB8000811121C080E090E0892B41F080E090E0CD -:10AB9000892B21F00E940000811118C080E090E014 -:10ABA000892B21F00E941B55811113C080E090E099 -:10ABB000892BA1F080E090E0892B81F00E940000B9 -:10ABC00081110AC008950E940000DCCF0E9400009D -:10ABD000E5CF0E940000EACF0C9400000895FC012C -:10ABE00020E03EE2DB014C91403241F0283011F48C -:10ABF00030833196DB014C91408331962F5F6F5F3C -:10AC00007F4F2B3079F7108208950F9434170F93EC -:10AC10001F93CF93DF938B01EA01DB016D917C9150 -:10AC20000E94D49CD801ED91FC911197908188816C -:10AC3000992349F0893638F43196ED93FC93888155 -:10AC40008F5F8883EFCF893658F48FE28083F801D5 -:10AC50008081918101969183808388818F5F888331 -:10AC6000DF91CF911F910F9108951F920F920FB610 -:10AC70000F9211240BB60F922F933F934F935F9334 -:10AC80006F937F938F939F93AF93BF93EF93FF93B4 -:10AC900086E699E10E942555FF91EF91BF91AF9112 -:10ACA0009F918F917F916F915F914F913F912F91E4 -:10ACB0000F900BBE0F900FBE0F901F9018951F9214 -:10ACC0000F920FB60F9211240BB60F922F938F9302 -:10ACD0009F93EF93FF93E0917619F091771980811C -:10ACE000E0917C19F0917D1982FD12C090818091D4 -:10ACF0007F198F5F8F7320918019821751F0E09137 -:10AD00007F19F0E0EA59F64E958F80937F1901C0C4 -:10AD10008081FF91EF919F918F912F910F900BBEAA -:10AD20000F900FBE0F901F9018958BE1ECE5FAE1A4 -:10AD3000A1E4BAE101900D928A95E1F7089580911E -:10AD4000B01C82FF1FC08CE091E10E9438C060916E -:10AD5000AC1C7091AD1C8091AE1C9091AF1C4AE070 -:10AD60000E94464C8FE20E943F4C6091A81C70915B -:10AD7000A91C8091AA1C9091AB1C4AE00E94464CF1 -:10AD80000C94444D8EE191E10C9438C01092730AFA -:10AD90008091B01C8F7D8B7F8093B01C0E9407BF79 -:10ADA000882321F083E09AE10C943A9F08958091E2 -:10ADB000B01C83FF03C084608093B01C0895CF92C1 -:10ADC000DF92EF92FF920F931F93CF93DF93CDB754 -:10ADD000DEB7EDB6FEB6DC010D900020E9F79D016F -:10ADE000281B390B2C5F3F4F4DB75EB7421B530BEF -:10ADF0000FB6F8945EBF0FBE4DBF0DB71EB70F5F05 -:10AE00001F4F9F938F9388E090E19F938F931F93A1 -:10AE10000F930F94B60C680154E0C50ED11C0F902F -:10AE20000F900F900F900F900F90F6018081882364 -:10AE300049F0082E000C990B0F943917F6018193F5 -:10AE40006F01F3CFC8010E9408C684E090E10E9420 -:10AE50003AC60FB6F894FEBE0FBEEDBEDF91CF919D -:10AE60001F910F91FF90EF90DF90CF9008958F92F8 -:10AE70009F92AF92BF92CF92DF92EF92FF92CF93C9 -:10AE80008091B01C877F8093B01C80915F1A8823CB -:10AE900021F08CE59AE10E943A9F1092401A10929C -:10AEA0003D1A85E380933C1A0E9444676B017C0144 -:10AEB00020EDC20E27E0D21EE11CF11CA89561E036 -:10AEC00080913C1A0E94B76561E080913C1A0E9413 -:10AED000E665209A289A219A2398229A81E00E9476 -:10AEE0009F5485E080933E1A0E949F54CAE08FEFE2 -:10AEF0000E949354C150D9F7A89520E030E0A901F1 -:10AF000060E08CE39AE10E941A9E80933F1A8130A0 -:10AF100061F00E944467DC01CB018C199D09AE09E8 -:10AF2000BF09B7FDEACF81E062C0A8952AEA31E007 -:10AF300040E050E068E08CE39AE10E941A9E853080 -:10AF400011F481E00AC0C4E00E94985480933F1A33 -:10AF5000C150D1F78A3A61F482E08093401AA895F3 -:10AF60008091401A823081F0812C912C540111C0C3 -:10AF70000E944467DC01CB018C199D09AE09BF0911 -:10AF8000B7FDD4CF82E033C0812C912CA12C80E47A -:10AF9000B82E20E030E0A90167E38CE39AE10E943B -:10AFA0001A9EA501940169E28CE39AE10E941A9E1F -:10AFB00080933F1A882361F00E944467DC01CB0133 -:10AFC0008C199D09AE09BF09B7FDE3CF8AE00FC018 -:10AFD0008091401A823021F520E030E0A9016AE337 -:10AFE0008CE39AE10E941A9E882361F088E08093A6 -:10AFF0003D1A8CE39AE10E94129E0E94FCC186EFEA -:10B000009FE022C00E949854807C803C19F483E029 -:10B010008093401A0E9498540E9498540E94985419 -:10B020008CE39AE10E94129E10923E1A81E00E94E7 -:10B03000CE5F81110CC080E00E94CE5F811107C0FD -:10B040000E94F8C182EE9FE00E9438C01AC06EE1F3 -:10B050007AE18CE59AE10E94659C811105C00E940D -:10B06000F8C181ED9FE0F0CF8091B01C88608093A3 -:10B07000B01C0E94FCC185EC9FE00E9438C00E9479 -:10B08000984BCF91FF90EF90DF90CF90BF90AF9013 -:10B090009F908F900C9495562F923F925F926F9253 -:10B0A0007F928F929F92AF92BF92CF92DF92EF9258 -:10B0B000FF920F931F93CF93DF93CDB7DEB7C356A5 -:10B0C000D1090FB6F894DEBF0FBECDBF8C016B0166 -:10B0D0004A012DB63EB6512C7E0187E5E80EF11CE3 -:10B0E000F6018381823008F41FC180859185A28595 -:10B0F000B3858F719927AA27BB27892B8A2B8B2B86 -:10B1000009F012C11092840D44E85DE0BE016F5F4A -:10B110007F4FC6010E94CFA018160CF005C18C8588 -:10B12000982F9871903129F42091E10A2150223012 -:10B1300078F42981222309F4F7C0253E89F22E32C2 -:10B1400079F22091840D2E3259F28A7049F67CC032 -:10B150006DB67EB6BE016F5F7F4FC7010E94EF558F -:10B160000115110521F0F8018081811163C021E0F2 -:10B1700081E090E0F70101900020E9F73197EE19A6 -:10B18000FF09E80FF91F32968DB79EB78E1B9F0BF4 -:10B190000FB6F8949EBF0FBE8DBFEDB7FEB73196C8 -:10B1A0005F01211102C0B80102C06EE676E0C50160 -:10B1B0000F948017B701C5010F946A176EE676E009 -:10B1C000C5010F946A1719A21CA221E0A701B601BC -:10B1D000CE0181960E9426A381110DC08091E10AC3 -:10B1E000811109C00E94FCC181EB9FE00E9438C020 -:10B1F000C7010E944A4D8BE1FE01B196DE01DC964B -:10B2000001900D928A95E1F740E050E0BE01645C48 -:10B210007F4FC5010E944C58CE01CC960E94439F9F -:10B22000CE0181960E94439F0FB6F8947EBE0FBE5A -:10B230006DBE56CFF80101900020E9F73197CF019C -:10B24000801B910B20E096CF21E0903109F020E0A7 -:10B250008091B01C20FB84F98093B01C903141F0A8 -:10B260008985873409F03CCF8A858E3709F438CF39 -:10B270008091E10A813021F068F08230C1F130CF55 -:10B280008091E40A9091E50A01969093E50A8093F3 -:10B29000E40A26CFBE016F5F7F4F86EC9DE00E94DF -:10B2A000EF550115110529F486ECA82E8DE0B82E76 -:10B2B00009C05801F50181915F018823A9F30E941B -:10B2C0003F4CF8CFF50181915F01882319F00E946E -:10B2D0003F4CF8CF80E20E943F4C6D8D7E8D8F8D6C -:10B2E00098A14AE00E94464C0E94444DF9CEBE010E -:10B2F0006F5F7F4F86EC9DE00E94EF5581149104B3 -:10B3000041F066EC7DE0C4010F945717892B51F48E -:10B310000BC0852D90E02091E20A3091E30A82175C -:10B32000930711F05394DCCE0FB6F8943EBE0FBED7 -:10B330002DBECD59DF4F0FB6F894DEBF0FBECDBF87 -:10B34000DF91CF911F910F91FF90EF90DF90CF9001 -:10B35000BF90AF909F908F907F906F905F903F9045 -:10B360002F900895CF93DF93CDB7DEB76B970FB6CD -:10B37000F894DEBF0FBECDBF81E08093E10A10924A -:10B38000E50A1092E40A81E49AE10E940D9E8BE1A5 -:10B39000E1E4FAE1DE01119601900D928A95E1F760 -:10B3A00040E050E0BE016F5F7F4F80E090E00E9480 -:10B3B0004C58CE0101960E94439F8091E40A9091DF -:10B3C000E50A6B960FB6F894DEBF0FBECDBFDF91D6 -:10B3D000CF9108950F931F93CF93DF93CDB7DEB72F -:10B3E0006B970FB6F894DEBF0FBECDBF8B0122E086 -:10B3F0002093E10A9093E30A8093E20A81E49AE1C0 -:10B400000E940D9E8BE1E1E4FAE1DE0111960190CC -:10B410000D928A95E1F7A801BE016F5F7F4F80E032 -:10B4200090E00E944C58CE0101960E94439F6B967B -:10B430000FB6F894DEBF0FBECDBFDF91CF911F9145 -:10B440000F910895DF92EF92FF920F931F93CF9386 -:10B45000DF9300D01F92CDB7DEB72091B01C23FF41 -:10B460003DC1F42EE62E8C010E9407BF882309F40B -:10B4700081C0FF2009F48CC08091A71C882351F063 -:10B480000E94F8C187EC90E10E9438C080E090E013 -:10B490000E945EEA89E79AE09A8389838FE280932B -:10B4A000780A81E08B83F12C9BE1D92E8091A61C38 -:10B4B000F81678F4DF9CC0011124AE014D5F5F4F98 -:10B4C000BE016F5F7F4F8856944E0E940756F394DB -:10B4D000EDCF8B818B3578F4AE014D5F5F4FBE01B0 -:10B4E0006F5F7F4F83E09AE10E94075689819A81BE -:10B4F00001979A838983E981FA811082E091A71CE0 -:10B5000084E0E89FF0011124EC58F54F8091AC1CC9 -:10B510009091AD1CA091AE1CB091AF1C8083918323 -:10B52000A283B3830E94FCC1B8018EEA90E10E941D -:10B53000E5C16091A71C89E6689FB0011124685895 -:10B54000754F83EA90E10E94E5C14091AC1C509197 -:10B55000AD1C6091AE1C7091AF1C8DE990E10E9412 -:10B56000A9C18AE00E943F4C8091A71C8F5F809305 -:10B57000A71C26C0FF2039F00E94FCC18DE890E195 -:10B580000E9438C01DC01092A71C82E0F82E02C095 -:10B59000FF24F3940E94FCC188E890E10E9438C027 -:10B5A00081E0F81609F497C084E790E10E9438C062 -:10B5B000B80180E890E10E94E5C18AE00E943F4C1A -:10B5C0000E94C656B801CE0103960E94C5EB8C01BD -:10B5D000009709F483C06B817C81EE2009F450C090 -:10B5E00021E0AC0183E09AE10E9426A3882309F4BC -:10B5F0003FC08091141A9091151AA091161AB0911B -:10B60000171A8093A81C9093A91CA093AA1CB0930E -:10B61000AB1C1092AC1C1092AD1C1092AE1C109280 -:10B62000AF1CB80186E690E10E94E5C14091A81CDC -:10B630005091A91C6091AA1C7091AB1C8EE590E101 -:10B640000E94A9C18AE00E943F4C8FE490E10E94D1 -:10B6500038C0B80180E090E00E94EA598091840DE2 -:10B66000811102C0C80102C084E89DE060E030C0E2 -:10B67000B8018BE390E10E94E5C188E390E10FC03F -:10B6800026E5AC0183E09AE10E9426A381110AC05D -:10B69000B80184E290E10E94E5C181E290E10E945C -:10B6A00038C01CC08091B01C81608093B01CB80170 -:10B6B00080E090E00E94EA5910926E1BB8018FE082 -:10B6C00090E10E94E5C18AE00E943F4C60E0C80121 -:10B6D0000E941AD403C08AE790E168CF0F900F90C0 -:10B6E0000F900F90DF91CF911F910F91FF90EF90EE -:10B6F000DF900895CF92DF92EF92FF92CF936B018C -:10B700007C01C42F8091790D90917A0DA0917B0DD1 -:10B71000B0917C0D8C159D05AE05BF05D1F00E9442 -:10B72000C79E811102C080E018C029E73BE0B70145 -:10B73000A6018091820D9091830D0E94499F8823DC -:10B7400091F3C092790DD0927A0DE0927B0DF09238 -:10B750007C0D81E0C1118093810DCF91FF90EF901E -:10B76000DF90CF9008954F925F926F927F928F9269 -:10B770009F92AF92BF92CF92DF92EF92FF920F9380 -:10B780001F93CF93DF93EC014230510561057105A2 -:10B7900010F480E069C089859A85AB85BC850196E7 -:10B7A000A11DB11D84179507A607B70790F38F89D0 -:10B7B000803149F4852E962EA72EBB248B899C8937 -:10B7C000AD89BE890FC0803221F78B889C88AD88F7 -:10B7D000BE88DB01CA01E7E0B695A79597958795E6 -:10B7E000EA95D1F7880E991EAA1EBB1E28013901C1 -:10B7F0006A017B0141E0C501B4010E947A5B8823A4 -:10B8000041F29F89903161F4DD24EE24FF249601FA -:10B81000220F331FF901E758F44F5182408211C0C3 -:10B82000E894C7F8DD24EE24FF249601220F331F8D -:10B83000220F331FF901E758F44F40825182628290 -:10B8400073829A89923080F04D815E816F81788514 -:10B85000840E951EA61EB71E80927D0D90927E0DC1 -:10B86000A0927F0DB092800DDF91CF911F910F912B -:10B87000FF90EF90DF90CF90BF90AF909F908F9010 -:10B880007F906F905F904F900895CF92DF92EF92EC -:10B89000FF920F931F93CF93DF93FC0181859285D5 -:10B8A000A385B4850196A11DB11D84179507A60730 -:10B8B000B70710F480E061C08789803149F4BB2765 -:10B8C000A72F962F852FC388D488E588F6880FC0C8 -:10B8D000803281F783899489A589B6896A017B01C1 -:10B8E000C7E0F694E794D794C794CA95D1F78C0D26 -:10B8F0009D1DAE1DBF1DE9016A017B018F014091B5 -:10B90000790D50917A0D60917B0D70917C0D8417AB -:10B910009507A607B70739F040E0BC01CD010E94AA -:10B920007A5B882339F2F8018789803179F4B7018D -:10B93000A601552766277727440F551FFA01E758B8 -:10B94000F44F80819181A0E0B0E012C0B701A60160 -:10B950004F77552766277727440F551F440F551FEC -:10B96000FA01E758F44F80819181A281B381BF70C1 -:10B9700088839983AA83BB8381E0DF91CF911F9154 -:10B980000F91FF90EF90DF90CF9008954F925F92CC -:10B990006F927F92AF92BF92CF92DF92EF92FF921F -:10B9A0000F931F93CF93DF9300D01F92CDB7DEB7D5 -:10B9B0008C0149835A836B837C835901C12CD12C20 -:10B9C0007601412C82E0582E612C712C49815A81DC -:10B9D0006B817C819E012F5F3F4FC8010E94455CB7 -:10B9E000882341F1D301C201F801058404C0880F06 -:10B9F000991FAA1FBB1F0A94D2F7C80ED91EEA1EB0 -:10BA0000FB1E49815A816B817C818789803139F4A1 -:10BA100081E0483F5F4F6105710538F4D7CF81E081 -:10BA2000483F5F4F6F4F7F4088F2F501C082D1825F -:10BA3000E282F3820F900F900F900F90DF91CF91E1 -:10BA40001F910F91FF90EF90DF90CF90BF90AF903C -:10BA50007F906F905F904F90089590E0FC01319738 -:10BA6000E231F10508F04EC08827EC55FF4F8F4FAB -:10BA70000D940D14809180008F7703C08091800019 -:10BA80008F7D80938000089580918000877FF9CF1B -:10BA900084B58F7702C084B58F7D84BD0895809171 -:10BAA000B0008F7703C08091B0008F7D8093B0008D -:10BAB0000895809190008F7707C0809190008F7DCE -:10BAC00003C080919000877F8093900008958091BB -:10BAD000A0008F7707C08091A0008F7D03C0809168 -:10BAE000A000877F8093A0000895809120018F7728 -:10BAF00007C0809120018F7D03C080912001877F46 -:10BB00008093200108953FB7F8948091EA0A9091BC -:10BB1000EB0AA091EC0AB091ED0A26B5A89B05C0EE -:10BB20002F3F19F00196A11DB11D3FBFBA2FA92FBC -:10BB3000982F8827820F911DA11DB11DBC01CD0139 -:10BB400042E0660F771F881F991F4A95D1F7089525 -:10BB5000CF93DF93CDB7DEB780914B0B81110FC030 -:10BB60009E01275F3F4F41E652E16FE370E08BE0BB -:10BB70009BE00F94E50C8BE09BE00E944FB7DF91B8 -:10BB8000CF9108952F923F924F925F926F927F9242 -:10BB90008F929F92AF92BF92CF92DF92EF92FF92DD -:10BBA0000F931F93CF93DF93D82FC62F80E796E094 -:10BBB0000E944A4DD1115AC0CC2389F00E94B2593B -:10BBC0008C01C12CD12CC0E0D0E0A12CB12C84E898 -:10BBD000282E8DE0382E44244394512C3FC00E94DF -:10BBE000C3B48111EBCF44C0C016D10608F037C1F1 -:10BBF000C5014496C816D90608F031C12FEFC21A04 -:10BC0000D20A0F3F3FEF130709F0C3C10E94B25998 -:10BC10008C018C159D0508F04EC1F10101900020AA -:10BC2000E9F73197CF0184589D403C01EE24E3941D -:10BC3000F12C97012C57324F490146E050E069E75B -:10BC400076E0C9010F948717892B09F0F4C0E61438 -:10BC5000F7040CF43FC18FEFA81AB80A0F3F2FEF7B -:10BC6000120711F60E94B2598C01BECFC111A6CFA6 -:10BC70003AE0C32E30E2D32EE12CF12CC5E0D2E81D -:10BC8000812C912C540110920D1B10920C1BC0930F -:10BC9000001BD093031BD701C601880D991DAA1D57 -:10BCA000BB1D8093041B9093051BA093061BB093B0 -:10BCB000071B0E94B8E98FEF881A980AA80AB80AE9 -:10BCC0009AE089169104A104B104E9F62AE0C20EB3 -:10BCD000D11CE11CF11C32EDC31630E2D306E104A5 -:10BCE000F10471F6C12C20E2D22EE12CF12CD5E02A -:10BCF000C2E810920D1B10920C1BD093001BC09336 -:10BD0000031BC092041BD092051BE092061BF0920D -:10BD1000071B0E94B8E910920D1B10920C1BD093C8 -:10BD2000001BC093031BD701C6018C529F4FAF4F1E -:10BD3000BF4F8093041B9093051BA093061BB093E9 -:10BD4000071B0E94B8E98FEFC81AD80AE80AF80A58 -:10BD50009AE0C91690E2D906E104F10451F69EED8D -:10BD6000C92E90E2D92EE12CF12CD5E0C2E8109238 -:10BD70000D1B10920C1BD093001BC093031BC09291 -:10BD8000041BD092051BE092061BF092071B0E9439 -:10BD9000B8E92FEFC21AD20AE20AF20A36EEC31647 -:10BDA00030E2D306E104F10411F7CC24C39482E11C -:10BDB000D82EE12CF12C0AE010E0D5E0C2E8109377 -:10BDC0000D1B00930C1BD093001BC093031BC09250 -:10BDD000041BD092051BE092061BF092071B0E94E9 -:10BDE000B8E910930D1B00930C1BD093001BC0935C -:10BDF000031BD701C6018096A11DB11D8093041BB2 -:10BE00009093051BA093061BB093071B0E94B8E9F3 -:10BE10008FEFC81AD80AE80AF80A95E1C91692E124 -:10BE2000D906E104F10459F684ED93E00E944A4DED -:10BE300082E190E016C046E050E060E876E0C401A0 -:10BE40000F948717892B09F402CF3FEFE31AF30A07 -:10BE5000C7010197861597050CF4EBCEF8CE81E16A -:10BE600090E090930D1B80930C1B85E08093001B4A -:10BE700082E88093031B84E190E1A0E0B0E080932E -:10BE8000041B9093051BA093061BB093071BDF9127 -:10BE9000CF911F910F91FF90EF90DF90CF90BF90C7 -:10BEA000AF909F908F907F906F905F904F903F905A -:10BEB0002F900C94B8E90F3F8FEF180719F40E94E8 -:10BEC000B2598C0160E070E0C8018C199D090E9494 -:10BED000EA59A3CE22E12C9FC0012D9F900D112481 -:10BEE0009C012A5D314F4901A7014231510514F0EF -:10BEF00041E150E064E87DE0C4010F94951732E120 -:10BF00003C9FC0013D9F900D112466EC7DE082575F -:10BF1000904F0F9480178AE08C9FA0018D9F500D49 -:10BF20001124465F5F4D052E000C660B770BFE015A -:10BF3000EE0FFF1FEE0FFF1FED52F24F43835483AE -:10BF400065837683C4010E9467E97E019FEFE91A49 -:10BF5000F90AF092D50DE092D40D50920D1B40924B -:10BF60000C1B25E02093001B32E83093031BCF5FAE -:10BF7000DD4ECE01DD0FAA0BBB0B8093041B90930B -:10BF8000051BA093061BB093071B0E94B8E9E701AD -:10BF900065CE0C151D0508F440CE94CF4F925F92EC -:10BFA0006F927F928F929F92AF92BF92CF92DF92C9 -:10BFB000EF92FF921F93CF93DF93C82F8CE39AE108 -:10BFC0009093830D8093820D1092351A82E090E059 -:10BFD000A0E0B0E080931E1A90931F1AA093201A3D -:10BFE000B093211A1092810D10927D0D10927E0D4A -:10BFF00010927F0D1092800D8FEF9FEFDC018093E8 -:10C00000790D90937A0DA0937B0DB0937C0DCC238A -:10C0100079F1C53008F001C140E060E070E0CB018B -:10C020000E947A5B882309F4F8C020E1C29FC00116 -:10C0300011248759944FFC01E254FE4F20812F7741 -:10C0400009F0EBC03C964081518162817381443696 -:10C0500051056105710508F4E0C03497C080D180B6 -:10C06000E280F380C114D104E104F10421F4D5C0CD -:10C07000C12CD12C760140E0C701B6010E947A5B49 -:10C08000182F882309F4C9C08091840B9091850BE7 -:10C090008115924009F0C1C0A091890BAA2309F42F -:10C0A000BCC06091870B7091880B6115710509F414 -:10C0B000B4C08090860B882009F4AFC0A093301ADA -:10C0C0008092221A80E0912CA12CB12C412C512C71 -:10C0D00032014394C82FA3019201082E04C0220FFD -:10C0E000331F441F551F0A94D2F782169306A406E5 -:10C0F000B50639F08F5FC83069F789E080932B1A55 -:10C100008CC080932B1A20918F0B3091900B2115AE -:10C11000310519F040E050E008C020919D0B3091AE -:10C120009E0B40919F0B5091A00B2093231A3093AC -:10C13000241A4093251A5093261A46015701860E59 -:10C14000971EA11CB11C8092311A9092321AA092B3 -:10C15000331AB092341AE0918A0BF0918B0BF09362 -:10C16000371AE093361AB0E00F94B513860E971E77 -:10C17000A81EB91E8092381A9092391AA0923A1AC3 -:10C18000B0923B1A85E0EE0FFF1F8A95E1F7E15070 -:10C19000FE4FEF2FFF27E6958E0E9F1EA11CB11CB0 -:10C1A00080922C1A90922D1AA0922E1AB0922F1AC9 -:10C1B00020918C0B30918D0B2115310521F0A901B7 -:10C1C00060E070E008C04091990B50919A0B60912B -:10C1D0009B0B70919C0BD701C60188199909AA097C -:10C1E000BB09840F951FA61FB71F04C0B695A7955E -:10C1F00097958795CA95D2F78093271A9093281A16 -:10C20000A093291AB0932A1A853F2FE09207A1051F -:10C21000B10528F48CE08093351A10E01AC0853FF0 -:10C220009F4FA105B10510F480E111C08091A50BCD -:10C230009091A60BA091A70BB091A80B8093381AF0 -:10C240009093391AA0933A1AB0933B1A80E28093E4 -:10C25000351A812FDF91CF911F91FF90EF90DF90E2 -:10C26000CF90BF90AF909F908F907F906F905F9096 -:10C270004F900895FF920F931F93CF93DF938B01FD -:10C28000D82FC92F9B01482F592F6091750B7091A2 -:10C29000760B8091770B9091780B0F941E0D88236D -:10C2A00009F45FC0F090740B80E00E94BDBF20E0F5 -:10C2B00030E0A901B8018D2F9C2F0F94821618161B -:10C2C00024F000E010E0D0E0C0E0C801AD2FBC2FAA -:10C2D0008093750B9093760BA093770BB093780BAC -:10C2E0002DEB37E346E855EBB8018D2F9C2F0F94CB -:10C2F000821687FD0BC02DEB37E346E855E3B80106 -:10C300008D2F9C2F0F941E0D181654F498014D2F4D -:10C310005C2F60E070E080E89FE30F941C1503C081 -:10C3200060E070E0CB016093700B7093710B8093B1 -:10C33000720B9093730B80EF9FEFA9E7B4EC80939F -:10C340006C0B90936D0BA0936E0BB0936F0BFF2053 -:10C3500041F081E0DF91CF911F910F91FF900C94FC -:10C36000BDBFDF91CF911F910F91FF900895CF93A3 -:10C37000DF93CDB7DEB760970FB6F894DEBF0FBE80 -:10C38000CDBFECE5FBE080819181A281B3818983FF -:10C390009A83AB83BC8384819581A681B7818D8389 -:10C3A0009E83AF83B88780859185A285B385898771 -:10C3B0009A87AB87BC8784859585A685B7858D8749 -:10C3C0009E87AF87B88BAE01475F5F4FBE016B5F43 -:10C3D0007F4FCE0101960E94A3D99E01235F3F4F5C -:10C3E000AE01475F5F4FBE016B5F7F4FCE0101968D -:10C3F0000E94CBD760960FB6F894DEBF0FBECDBFBC -:10C40000DF91CF910895CF93DF93CDB7DEB76097DB -:10C410000FB6F894DEBF0FBECDBF0E948AE1EFE4F5 -:10C42000FBE080819181A281B38189839A83AB8370 -:10C43000BC8384819581A681B7818D839E83AF83E0 -:10C44000B88780859185A285B38589879A87AB87D0 -:10C45000BC878091680B9091690BA0916A0BB09199 -:10C460006B0B8D879E87AF87B88BCE0101960E949C -:10C470006FD980E1FE013196ACE5BBE001900D92F1 -:10C480008A95E1F760960FB6F894DEBF0FBECDBF78 -:10C49000DF91CF91089583E09AE10E94079F83E0A6 -:10C4A0009AE10E943A9F8091B01C8D7F8E7F80938D -:10C4B000B01C1092AC1C1092AD1C1092AE1C1092CD -:10C4C000AF1C81E080936E1B08950E94FCC16091B7 -:10C4D0004D0B70914E0B86E792E10E94E5C183E718 -:10C4E00092E10C9438C01F93CF93DF9380910A0B95 -:10C4F000C82FC270D82FD470182F117080FF04C0BD -:10C50000CC2311F0D11145C00E94FCC18BE592E112 -:10C510000E9438C0111103C088E50E943F4CC11130 -:10C5200003C089E50E943F4CD11103C08AE50E94F7 -:10C530003F4C83E592E10E9438C0DD2319F046ECC0 -:10C5400055E002C040EB57E0CC2319F026EC35E073 -:10C5500002C027E836E0112319F086EC95E002C00E -:10C5600081E496E05F934F933F932F939F938F9334 -:10C5700081E692E19F938F931F920E94A85D8DB7F1 -:10C580009EB709960FB6F8949EBF0FBE8DBF81E08F -:10C5900001C080E0DF91CF911F910895AF92BF92CB -:10C5A000CF92DF92EF92FF920F931F93CF93DF937F -:10C5B000CDB7DEB72C970FB6F894DEBF0FBECDBF58 -:10C5C0002BEDC22E22E0D22E5C0170E0CB01855211 -:10C5D0009D4F7C01CE14DF0409F180E20E943F4CA4 -:10C5E000F60181916F010E943F4C8AE30E943F4C0B -:10C5F000F50161917191819191915F018E010F5FC0 -:10C600001F4F23E041E00F94F6078C01F801819160 -:10C610008F018823F9F20E943F4CF8CF8AE00E94F4 -:10C620003F4C2C960FB6F894DEBF0FBECDBFDF9106 -:10C63000CF911F910F91FF90EF90DF90CF90BF901F -:10C64000AF900895CF93DF9300D01F92CDB7DEB7A0 -:10C650008091F61081111BC081E08093F6108091CB -:10C66000F60A9091F70AA091F80AB091F90AB05829 -:10C6700089839A83AB83BC839E012F5F3F4F42E047 -:10C680005BE06EEF7AE08AEF9AE00E9416860F90E8 -:10C690000F900F900F90DF91CF910895CF93DF937C -:10C6A00000D01F92CDB7DEB78091F6108823F9F045 -:10C6B0002AE939E949E95FE36091F60A7091F70ADE -:10C6C0008091F80A9091F90A0F94840D69837A8316 -:10C6D0008B839C839E012F5F3F4F42E05BE06EEFB8 -:10C6E0007AE08AEF9AE00E9416861092F6100F9078 -:10C6F0000F900F900F90DF91CF9108952F923F925E -:10C700004F925F926F927F928F929F92AF92BF9261 -:10C71000CF92DF92EF92FF920F931F93CF93DF930D -:10C72000CDB7DEB7A0970FB6F894DEBF0FBECDBF72 -:10C730001C018B015A8749873C872B87C0905C0B73 -:10C74000D0905D0BE0905E0BF0905F0BDC018D9163 -:10C750009D910D90BC91A02D8D879E87AF87B88B42 -:10C760009C01AD01C701B6010F9421142B013C01BE -:10C770008091600B9091610BA091620BB091630B63 -:10C78000898B9A8BAB8BBC8BD8018D919D910D9031 -:10C79000BC91A02D8D8B9E8BAF8BB88F9C01AD0172 -:10C7A00069897A898B899C890F9421144B015C01DA -:10C7B000A3019201C301B2010F94840D2B013C012E -:10C7C000A5019401C501B4010F94840D9B01AC0136 -:10C7D000C301B2010F942214698F7A8F8B8F9C8FC3 -:10C7E000E985FA854080518062807380A3019201BF -:10C7F000C701B6010F9421146D8F7E8F8F8F98A380 -:10C80000AB85BC858D909D90AD90BC90A5019401A9 -:10C8100069897A898B899C890F9421146B017C0129 -:10C820002D853E854F855889C301B2010F9421148F -:10C830002B013C012D893E894F89588DC501B401DA -:10C840000F9421144B015C01A3019201C301B201B9 -:10C850000F94840D2B013C01A5019401C501B40185 -:10C860000F94840D9B01AC01C301B2010F942214FB -:10C870000F94D0164B015C012D8D3E8D4F8D58A12C -:10C88000CA01B9010F94840D2B013C01A701960147 -:10C89000C701B6010F94840D9B01AC01C301B20125 -:10C8A0000F9422149B01AC01698D7A8D8B8D9C8D28 -:10C8B0000F948216181604F520E030E0A901C50196 -:10C8C000B4010F94821687FF04C0C501B4019058CB -:10C8D00002C0C501B40120E030E040EA50E40F940A -:10C8E000821618164CF49801A1016B857C85898508 -:10C8F0009A850E947E6383C020E030E040E050E4EF -:10C90000698D7A8D8B8D9C8D0F94821618160CF084 -:10C9100044C00E94226319821A821B821C8220E07A -:10C9200030E040E05FE36091640B7091650B8091B3 -:10C93000660B9091670B0F9422146D837E838F8317 -:10C9400098879E012F5F3F4FAE014B5F5F4F60E6C0 -:10C950007BE08CE59BE00E94168619821A821B827E -:10C960001C8220E030E040E05FE36091EE0A7091CD -:10C97000EF0A8091F00A9091F10A0F9422146D83CE -:10C980007E838F8398879E012F5F3F4FAE014B5F61 -:10C990005F4FB801C1010E94168619821A821B825C -:10C9A0001C829E012F5F3F4F4EEE5AE0B801C1013D -:10C9B0000E9416862DEC3CEC4CEC5CE3C501B40106 -:10C9C0000F94840D9B01AC016091F20A7091F30AFF -:10C9D0008091F40A9091F50A0F94840D69837A830B -:10C9E0008B839C830E944E639E012F5F3F4F4EEED0 -:10C9F0005AE06B857C8589859A850E941686A0966B -:10CA00000FB6F894DEBF0FBECDBFDF91CF911F915F -:10CA10000F91FF90EF90DF90CF90BF90AF909F90DD -:10CA20008F907F906F905F904F903F902F900895E0 -:10CA30004F925F926F927F928F929F92AF92BF922E -:10CA4000CF92DF92EF92FF920F931F93CF93DF93DA -:10CA5000CDB7DEB74DB65EB660904D0B70904E0B05 -:10CA60008FE4E82E82E1F82E8DB69EB66AE070E083 -:10CA7000C7010F94610C6C01009721F08C010E1915 -:10CA80001F0904C0C7010F946C0C8C01C8010196EA -:10CA90002DB73EB7281B390B0FB6F8943EBF0FBE1B -:10CAA0002DBF8DB79EB701965C01A801B7010F9409 -:10CAB0008D0CF501E00FF11F1082C5010E9495C693 -:10CAC00081E00E94BE35C114D10451F076019FEF80 -:10CAD000E91AF90A0FB6F8949EBE0FBE8DBEC4CFF8 -:10CAE0000FB6F8949EBE0FBE8DBEC3010E9495C6C0 -:10CAF0000FB6F8945EBE0FBE4DBEDF91CF911F9171 -:10CB00000F91FF90EF90DF90CF90BF90AF909F90EC -:10CB10008F907F906F905F904F900895CF93DF93A9 -:10CB2000282F30E0F901E75FFD4E8491F901ED53C4 -:10CB3000FE4ED491F901E358FE4EC491CC2391F0FE -:10CB400081110E942D5DEC2FF0E0EE0FFF1FED59DB -:10CB5000FE4EA591B491EC91ED2381E090E021F49B -:10CB600080E002C080E090E0DF91CF9108951F93B4 -:10CB7000CF93DF93282F30E0F901E75FFD4E8491DA -:10CB8000F901ED53FE4ED491F901E358FE4EC491E4 -:10CB9000CC23C1F0162F81110E942D5DEC2FF0E007 -:10CBA000EE0FFF1FE75BFE4EA591B4919FB7F8947F -:10CBB000111104C08C91D095D82302C0EC91DE2BCA -:10CBC000DC939FBFDF91CF911F910895CF93DF93A7 -:10CBD00090E0FC01ED53FE4E2491FC01E358FE4E23 -:10CBE0008491882361F190E0880F991FFC01E15D39 -:10CBF000FE4EC591D491FC01E75BFE4EA591B49128 -:10CC0000611109C09FB7F894888120958223888399 -:10CC1000EC912E230BC0623061F49FB7F8948881A9 -:10CC2000322F309583238883EC912E2B2C939FBF3A -:10CC300006C08FB7F894E8812E2B28838FBFDF9131 -:10CC4000CF9108951F93CF93DF93182FEB0161E0ED -:10CC50000E94E665209711F460E004C0CF3FD10543 -:10CC600039F461E0812FDF91CF911F910C94B7656A -:10CC7000E12FF0E0E75FFD4EE4918E2F90E0FC01A4 -:10CC80003197E231F10508F09DC08827EA54FF4F43 -:10CC90008F4F0D940D1484B5806884BDC7BD97C0B7 -:10CCA00084B5806284BDC8BD92C0809180008068D8 -:10CCB00080938000D0938900C093880088C08091C1 -:10CCC0008000806280938000D0938B00C0938A00A4 -:10CCD0007EC080918000886080938000D0938D001A -:10CCE000C0938C0074C08091B00080688093B000C5 -:10CCF000C093B3006CC08091B00080628093B0009C -:10CD0000C093B40064C080919000806880939000CC -:10CD1000D0939900C09398005AC08091900080628F -:10CD200080939000D0939B00C0939A0050C0809154 -:10CD30009000886080939000D0939D00C0939C00E9 -:10CD400046C08091A00080688093A0008091A000E0 -:10CD50008F7B8093A000D093A900C093A80037C018 -:10CD60008091A00080628093A000D093AB00C0931C -:10CD7000AA002DC08091A00088608093A000D0936D -:10CD8000AD00C093AC0023C08091200180688093E7 -:10CD90002001D0932901C093280119C0809120015E -:10CDA000806280932001D0932B01C0932A010FC091 -:10CDB00080912001886080932001D0932D01C09341 -:10CDC0002C0105C0C038D1050CF04BCF45CFDF9109 -:10CDD000CF911F910895863308F0865390917B0080 -:10CDE000282F2870977F922B90937B008770806408 -:10CDF00080937C0080917A00806480937A00809197 -:10CE00007A0086FDFCCF809178002091790090E037 -:10CE1000922B08958F929F92AF92BF92CF92DF9202 -:10CE2000EF92FF926B017C010E94835D4B015C01DC -:10CE3000C114D104E104F104F1F00E94835DDC012E -:10CE4000CB0188199909AA09BB09883E9340A1051D -:10CE5000B10570F321E0C21AD108E108F10888EEAB -:10CE6000880E83E0981EA11CB11CC114D104E104FA -:10CE7000F10419F7DDCFFF90EF90DF90CF90BF90D6 -:10CE8000AF909F908F9008952FB7F8946091E60A25 -:10CE90007091E70A8091E80A9091E90A2FBF0895FE -:10CEA00080917A1A90917B1A891B8F7019F480E017 -:10CEB00090E008959091771A992351F0833030F4DF -:10CEC0008FEF890F19F08093771AF1CF1092771AAC -:10CED000E0917B1A84E5E89FF0011124E25FFE4EA9 -:10CEE000808180FDE4CF80917B1A8F5F8F7080936B -:10CEF000781A90917B1A8091791A981304C08091C6 -:10CF0000781A8093791ACF0108950F930FB70F9372 -:10CF100000916E000F930B7F00936E0000916F00E5 -:10CF20000D7F00936F000F930BB70F930CB70F9209 -:10CF30001F922F933F934F935F936F937F938F93A2 -:10CF40009F93AF93BF93EF93FF9311240E94F667D3 -:10CF5000FF91EF91BF91AF919F918F917F916F91D1 -:10CF60005F914F913F912F911F900F900CBF0F91A8 -:10CF70000BBF0F910260F89400936F000F91009324 -:10CF80006E000F910FBF0F9118958091DE0880FF02 -:10CF900003C089988FEF02C0899A81E080934F1671 -:10CFA0008091DE08869580FF03C08F9A8FEF02C0C4 -:10CFB0008F9881E0809350168091DE088695869543 -:10CFC00080FF08C080910B018095827080930901D9 -:10CFD0008FEF06C080910B0182708093090181E080 -:10CFE0008093511600000000000008952F923F9298 -:10CFF0004F925F926F927F928F929F92AF92BF9269 -:10D00000CF92DF92EF92FF920F931F93CF93DF9314 -:10D01000CDB7DEB72D970FB6F894DEBF0FBECDBFEC -:10D020008FEF9FEF90938900809388002AE02987F3 -:10D03000212C312C44244A94542C32017894809130 -:10D040009D1690919E16A0919F16B091A016892BC7 -:10D050008A2B8B2B09F0D9C18091101D8823E1F018 -:10D060001092101D80910E1D90910F1D892B09F4B7 -:10D07000CCC110924E1610920F1D10920E1D909161 -:10D080007A1A80917B1A981709F4BFC180917B1A94 -:10D090008F5F8F7080937B1A80910E1D90910F1D72 -:10D0A000892B09F4B2C1C0909916D0909A16E090DD -:10D0B0009B16F0909C164091951650919616609193 -:10D0C0009716709198160091881610E020E030E0D5 -:10D0D000DB01CA018C199D09AE09BF0908171907A0 -:10D0E0002A073B0710F4D901C801482F8C0D9D1D5C -:10D0F000AE1DBF1D8093991690939A16A0939B1610 -:10D10000B0939C162091840030918500225E3F4FA1 -:10D11000C0906E16D0906F16E0907016F090711659 -:10D1200080915E1690915F16A0916016B091611685 -:10D130008C0D9D1DAE1DBF1D80936E1690936F16B6 -:10D14000A0937016B0937116B7FD1CC0889AC0905A -:10D150001D1DD0901E1DE0901F1DF090201D809180 -:10D160004F16082E000C990BAA0BBB0B8C0D9D1DA6 -:10D17000AE1DBF1D80931D1D90931E1DA0931F1DEE -:10D18000B093201DC0907216D0907316E090741664 -:10D19000F09075168091621690916316A0916416B6 -:10D1A000B09165168C0D9D1DAE1DBF1D809372162E -:10D1B00090937316A0937416B0937516B7FD1CC0A8 -:10D1C0008E9AC090211DD090221DE090231DF090DA -:10D1D000241D80915016082E000C990BAA0BBB0B36 -:10D1E0008C0D9D1DAE1DBF1D8093211D9093221D92 -:10D1F000A093231DB093241DC0907616D09077166F -:10D20000E0907816F09079168091661690916716E6 -:10D21000A0916816B09169168C0D9D1DAE1DBF1DA5 -:10D220008093761690937716A0937816B09379161C -:10D23000B7FD21C080910B01809588708093090112 -:10D24000C090251DD090261DE090271DF090281D30 -:10D2500080915116082E000C990BAA0BBB0B8C0D5C -:10D260009D1DAE1DBF1D8093251D9093261DA0936F -:10D27000271DB093281DC0907A16D0907B16E090A1 -:10D280007C16F0907D1680916A1690916B16A09195 -:10D290006C16B0916D168C0D9D1DAE1DBF1D80933B -:10D2A0007A1690937B16A0937C16B0937D16B7FDEB -:10D2B0003AC08090291D90902A1DA0902B1DB090FF -:10D2C0002C1DC09052160C2C000CDD08EE08FF0837 -:10D2D000C80CD91CEA1CFB1CC092291DD0922A1D27 -:10D2E000E0922B1DF0922C1DC0905A16D0905B1628 -:10D2F000E0905C16F0905D168C199D09AE09BF098F -:10D3000080937A1690937B16A0937C16B0937D162B -:10D310009091DE088091861693FF02C0815001C073 -:10D320008F5F80938616809184009091850082178C -:10D330009307C8F380916E1690916F16A0917016A6 -:10D34000B0917116B7FD15C0C0905A16D0905B16FB -:10D35000E0905C16F0905D168C199D09AE09BF092E -:10D3600080936E1690936F16A0937016B0937116FB -:10D3700088988091721690917316A0917416B0914E -:10D380007516B7FD15C0C0905A16D0905B16E09088 -:10D390005C16F0905D168C199D09AE09BF0980934B -:10D3A000721690937316A0937416B09375168E9898 -:10D3B0008091761690917716A0917816B091791693 -:10D3C000B7FD19C0C0905A16D0905B16E0905C165D -:10D3D000F0905D168C199D09AE09BF0980937616F1 -:10D3E00090937716A0937816B093791680910B01DD -:10D3F000887080930901415041F0809184009091A0 -:10D40000850082179307C8F381CE80912102909105 -:10D410002202A0912302B0912402892B8A2B8B2B0C -:10D4200009F0AAC080918716882309F452C0809021 -:10D43000991690909A16A0909B16B0909C16C0904A -:10D440008216D0908316E0908416F0908516809115 -:10D450008616C814D904EA04FB0488F420915716F0 -:10D460003091581640915516509156164217530751 -:10D4700030F48150809386162150310915C08C14E8 -:10D480009D04AE04BF04E8F420915716309158165D -:10D4900040915316509154162417350790F48F5F1E -:10D4A000809386162F5F3F4F309358162093571660 -:10D4B00040911D0250911E0260911F027091200246 -:10D4C0000BC040921D0250921E0260921F02709289 -:10D4D00020024FEF5FEFBA019091861680915916A6 -:10D4E00097FD06C0811102C0169A07C0439805C077 -:10D4F000811102C0169801C0439A0000000000008C -:10D500002091840030918500225E3F4F80918616E5 -:10D51000882351F180915916811102C0149A01C0DB -:10D52000419A809184009091850082179307C8F3F7 -:10D530008091861687FF02C08F5F01C08150809363 -:10D54000861680915916811102C0149801C0419825 -:10D55000809186168823D1F2809184009091850075 -:10D5600082179307C8F3D0CF409321025093220231 -:10D57000609323027093240280919D1690919E16D1 -:10D58000A0919F16B091A016892B8A2B8B2B09F0A6 -:10D5900091C3A0910E1DB0910F1D109709F4A2C563 -:10D5A000C0909916D0909A16E0909B16F0909C1619 -:10D5B0004091951650919616609197167091981615 -:10D5C000C416D506E606F706D0F010924E16109255 -:10D5D0000F1D10920E1D90917A1A80917B1A981748 -:10D5E00009F480C580917B1A8F5F8F7080937B1ABE -:10D5F00000ED802E07E0902EA12CB12C8AC1409125 -:10D6000091165091921660919316709194164C1544 -:10D610005D056E057F0508F46DC040918D16509133 -:10D620008E1660918F1670919016D2960D911D9165 -:10D630002D913C91D597EE27419FF12D529FC0012E -:10D64000629F900D619F800D911D429FF00D811D85 -:10D650009E1F519FF00D811D9E1F609FF00D811D2B -:10D660009E1F509FF10D8E1F9E1FF6958E1F9E1FB1 -:10D67000349F800D911D359F900D1124FD01EA5BB3 -:10D68000FF4F0081118122813381080F191F211D55 -:10D69000311D0093891610938A1620938B163093B0 -:10D6A0008C163497C080D180E280F380C016D106FA -:10D6B000E206F30640F4C0928916D0928A16E092F0 -:10D6C0008B16F0928C16C0908916D0908A16E09036 -:10D6D0008B16F0908C1689E89AE121E0FC01859088 -:10D6E0009590A590B4908C149D04AE04BF0408F4EA -:10D6F0005BC365C3209182163091831640918416D6 -:10D700005091851629833A834B835C832C153D0504 -:10D710004E055F0508F070C040917E1650917F164F -:10D7200060918016709181164A875B876C877D8730 -:10D73000D2960D911D912D913C91D597EE27419F49 -:10D74000F12D529FC001629F900D619F800D911D30 -:10D75000429FF00D811D9E1F519FF00D811D9E1F48 -:10D76000609FF00D811D9E1F509FF10D8E1F9E1F0B -:10D77000F6958E1F9E1F349F800D911D359F900D35 -:10D7800011248C0120E030E08090891690908A1658 -:10D79000A0908B16B0908C16FD01E65BFF4F08152C -:10D7A00019052A053B05A0F44081518162817381EE -:10D7B0004D835E836F837887801A910AA20AB30A29 -:10D7C00084169506A606B70638F44A015B0104C024 -:10D7D00080809180A280B38089E89AE151E05D83E6 -:10D7E000FC010591159125913491081519052A051B -:10D7F0003B0508F468C374C3809186168823D9F06A -:10D80000D8964D915C91D99760E070E000911D022F -:10D8100010911E0220911F023091200240175107E3 -:10D820006207730741F010922102109222021092B7 -:10D830002302109224024091190250911A02609121 -:10D840001B0270911C0277FF5CC0AE5BBF4F8D91D5 -:10D850009D910D90BC91A02D29E83AE141E0F9019C -:10D86000C590D590E590F490C816D906EA06FB0657 -:10D8700058F4B695A79597958795440F2C5F3F4F21 -:10D880006AE1253A360759F74093881680329105A8 -:10D89000A105B10520F480E290E0A0E0B0E080971F -:10D8A000A109B109811538E09307A105B10508F474 -:10D8B000D3C344E0949F900111242757394EF901B6 -:10D8C000329645915491EE27859FB001849F610D5A -:10D8D0007E1F06946E1F7E1F1124CB01A0E0B0E0D6 -:10D8E000F9014591549160E070E0481B590B6A0BB7 -:10D8F0007B0B4093190250931A0260931B027093A2 -:10D900001C028090190290901A02A0901B02B09005 -:10D910001C0280910E1D90910F1D892B09F0C2C130 -:10D920000E94506790930F1D80930E1D892B09F460 -:10D93000B9C1E0910E1DF0910F1D808183FF3EC0A3 -:10D9400085899689A789B08D80931D1D90931E1D92 -:10D95000A0931F1DB093201D818D928DA38DB48D3A -:10D960008093211D9093221DA093231DB093241D0D -:10D97000858D968DA78DB0A18093251D9093261D32 -:10D98000A093271DB093281D81A192A1A3A1B4A1AA -:10D990008093291D90932A1DA0932B1DB0932C1DBD -:10D9A00090917A1A80917B1A981709F4B9CF8091D7 -:10D9B0007B1A8F5F8F7080937B1AB2CFC588D68811 -:10D9C000E788F08C81E0C114D104E104F10409F48A -:10D9D00080E0018D128D238D348D011511052105F7 -:10D9E000310509F08260458D568D678D70A1411516 -:10D9F00051056105710509F0846080934E161092FF -:10DA00007E1610927F161092801610928116109238 -:10DA10008D1610928E1610928F161092901685A168 -:10DA200096A1A7A1B0A58093951690939616A09362 -:10DA30009716B0939816882499245401881A990A45 -:10DA4000AA0ABB0A80927A1690927B16A0927C1644 -:10DA5000B0927D168092761690927716A0927816E4 -:10DA6000B09279168092721690927316A0927416E4 -:10DA7000B092751680926E1690926F16A0927016E4 -:10DA8000B0927116CC0CDD1CEE1CFF1CC0925E1611 -:10DA9000D0925F16E0926016F0926116000F111F8F -:10DAA000221F331F0093621610936316209364168F -:10DAB00030936516440F551F661F771F40936616F7 -:10DAC00050936716609368167093691641A152A12E -:10DAD00063A174A1440F551F661F771F40936A16F8 -:10DAE00050936B1660936C1670936D16880F991F88 -:10DAF000AA1FBB1F80935A1690935B16A0935C16C7 -:10DB0000B0935D161092991610929A1610929B1669 -:10DB100010929C1682A593A5A4A5B5A580939116F5 -:10DB200090939216A0939316B093941686A597A5FA -:10DB3000A0A9B1A98093821690938316A09384160E -:10DB4000B093851681A580935916209118028217EB -:10DB500021F0109258161092571697A99093871695 -:10DB6000992309F144AD55AD50935616409355167F -:10DB700042AD53AD50935416409353161092210268 -:10DB800010922202109223021092240240AD51AD55 -:10DB900060E070E040931D0250931E0260931F02EC -:10DBA0007093200208C040921D0250921E026092A3 -:10DBB0001F027092200296A93091DE08931302C0D2 -:10DBC000821731F09093DE08809318020E94C56797 -:10DBD0008091DD0881110E9459E240921902509211 -:10DBE0001A0260921B0270921C02E0910E1DF091CD -:10DBF0000F1DEA5BFF4F80819181A281B3818093E9 -:10DC0000891690938A16A0938B16B0938C1629E8E8 -:10DC10003AE141E0F901C590D590E590F490C8163D -:10DC2000D906EA06FB0660F4B695A7959795879501 -:10DC3000440F2C5F3F4FE5EAFAE1E217F30751F793 -:10DC40004093881680329105A105B10520F480E249 -:10DC500090E0A0E0B0E08097A109B109811558E0FB -:10DC60009507A105B10508F41AC264E0969F9001DA -:10DC700011242757394EF901329645915491EE27D8 -:10DC8000859FB001849F610D7E1F06946E1F7E1FCD -:10DC90001124F90185909490A12CB12C861A970A31 -:10DCA000A108B10880929D1690929E16A0929F1690 -:10DCB000B092A01600919D1610919E1620919F166D -:10DCC0003091A016409121025091220260912302CE -:10DCD00070912402F02E1983F22FE32F4017510781 -:10DCE0006207730720F4F42E5983F62FE72F8F2D48 -:10DCF0009981AF2FBE2F0097E1E0AE07B10520F06C -:10DD00008FEF9FEFA0E0B0E0081B190B2A0B3B0B35 -:10DD100000939D1610939E1620939F163093A01685 -:10DD20004F3FFFEF5F076F077F0761F0481B590BFD -:10DD30006A0B7B0B409321025093220260932302D3 -:10DD400070932402F8942091840030918500205F24 -:10DD50003F4F498541504987442339F0280E391EE9 -:10DD60002216330608F46AC901C0190130928900ED -:10DD70002092880078942D960FB6F894DEBF0FBEDF -:10DD8000CDBFDF91CF911F910F91FF90EF90DF906A -:10DD9000CF90BF90AF909F908F907F906F905F904B -:10DDA0004F903F902F900895F694E794D794C7949E -:10DDB000220F0496EAE1853A9E0709F08FCC209362 -:10DDC0008816F0E2CF16D104E104F10428F410E241 -:10DDD000C12ED12CE12CF12C30E2C31AD108E1087C -:10DDE000F108C11488E0D806E104F104F8F0E4E099 -:10DDF000DE9EC00111248757994EFC013296259171 -:10DE00003491FC2DEE27F39F8001F29F010D1E1F20 -:10DE100006940E1F1E1F1124FC0185909490A12CC6 -:10DE2000B12C801A910AA108B10822C0970186017D -:10DE30003695279517950795F801EC7F9F01275791 -:10DE40003D4EF90185909490F90132968591949117 -:10DE5000EC2DE770E89F9001E99F300D1124F3E06D -:10DE600036952795FA95E1F7821A930AA12CB12CE1 -:10DE7000480D591D6A1D7B1D40938D1650938E16BB -:10DE800060938F16709390169091871680918616E6 -:10DE9000992309F473C0882309F43BCDD8968D915A -:10DEA0009C91D997A0E0B0E040911D0250911E02D4 -:10DEB00060911F027091200284179507A607B7078B -:10DEC00009F05FC026CDB694A794979487942D81CE -:10DED000220F2D8304963AE1853A930709F080CC0E -:10DEE0004D814093881650E285169104A104B10437 -:10DEF00028F450E2852E912CA12CB12C60E2861AD8 -:10DF00009108A108B108811478E09706A104B10432 -:10DF100008F440C0E4E09E9EC00111248757994E4A -:10DF2000FC01329625913491F82DEE27F39F800164 -:10DF3000F29F010D1E1F06940E1F1E1F1124FC01CF -:10DF400085909490A12CB12C801A910AA108B10857 -:10DF50004A855B856C857D85480D591D6A1D7B1D35 -:10DF600040937E1650937F166093801670938116AF -:10DF700080918716811132C080918616882309F41A -:10DF8000C8CC109221021092220210922302109209 -:10DF90002402BFCC950184013695279517950795E6 -:10DFA000F801EC7F9F0127573D4EF901859194912F -:10DFB000F901329605911491E82DE770E09F9001E8 -:10DFC000E19F300D112443E0369527954A95E1F7FE -:10DFD0004C01821A930AA12CB12CBACF49815A81E3 -:10DFE0006B817C812D81420F511D611D711D4C156E -:10DFF0005D056E057F05C8F480918616882309F4B7 -:10E0000088CCD8964D915C91D99760E070E00091F2 -:10E010001D0210911E0220911F0230912002401714 -:10E0200051076207730709F474CC10922102109211 -:10E0300022021092230210922402D8968D919C9174 -:10E04000D997A0E0B0E080931D0290931E02A093A8 -:10E050001F02B09320025DCCAC01BD01769567959F -:10E0600057954795FA01EC7F9F0127573D4EF901DF -:10E0700045915491F9013296659174918770869F0C -:10E080009001879F300D1124C901F3E09695879583 -:10E09000FA95E1F7481B590B60E070E02ACCAC011F -:10E0A000BD017695679557954795FA01EC7F9F01DD -:10E0B00027573D4EF90185909490F901329645918C -:10E0C00054918770849F9001859F300D1124C90160 -:10E0D000A3E096958795AA95E1F7881A990AA12C4D -:10E0E000B12CE0CD80ED882E87E0982EA12CB12CAC -:10E0F00017CCCF92DF92EF92FF920F931F938091F4 -:10E1000009118150823010F080E0A7C085EA96E0C6 -:10E110000E944A4D80910411833009F441C089E87E -:10E1200096E00E944A4D85E996E00E944A4D40E003 -:10E1300060E070E0CB010E9465D441E060E070E0F7 -:10E14000CB010E9465D481E08093070210920211F6 -:10E1500021E030E0309301112093001180931702E9 -:10E1600081E09AE590930D1B80930C1B8DE290E06B -:10E1700090930F1B80930E1B87E08093001B82E817 -:10E180008093031B84E890E0A0E0B0E08093041B40 -:10E190009093051BA093061BB093071B0E94B8E940 -:10E1A000109209110E944467609305117093061143 -:10E1B00080930711909308118091CE089091CF0819 -:10E1C00001969093CF088093CE08C0900A11D0900A -:10E1D0000B11E0900C11F0900D110E946FD2609322 -:10E1E0000A1170930B1180930C1190930D110091F3 -:10E1F000D0081091D1082091D2083091D3080C1981 -:10E200001D092E093F09DC01CB01800F911FA21FC0 -:10E21000B31F8093D0089093D108A093D208B093F5 -:10E22000D3080E946FD20091D4081091D508209194 -:10E23000D6083091D708061717072807390750F472 -:10E240000E946FD26093D4087093D5088093D6084B -:10E250009093D7080E9447FB81E01F910F91FF9098 -:10E26000EF90DF90CF900895CF93DF93C091091185 -:10E270008DEB96E00E944A4D80910411873009F49D -:10E2800045C083E08093031181E08093170280E111 -:10E2900090E090930D1B80930C1B85E08093001BF6 -:10E2A000D2E8D093031B84E190E1A0E0B0E080933A -:10E2B000041B9093051BA093061BB093071B0E94A1 -:10E2C000B8E961E070E080E090E00E9475B681E01E -:10E2D0009AE590930D1B80930C1B85E390E090933F -:10E2E0000F1B80930E1B87E08093001BD093031BB2 -:10E2F00084E890E0A0E0B0E08093041B9093051BBD -:10E30000A093061BB093071B0E94B8E9C13081F1AE -:10E31000C23059F40E946FD26093FB107093FC10CE -:10E320008093FD109093FE1002C00E94A3D281E062 -:10E33000809309110E9444676093F7107093F8105E -:10E340008093F9109093FA10C230A1F08091CC081C -:10E350009091CD0801969093CD088093CC081092AF -:10E360000A1110920B1110920C1110920D1102C093 -:10E3700080E001C081E0DF91CF9108952F923F921C -:10E380004F925F926F927F928F929F92AF92BF92C5 -:10E39000CF92DF92EF92FF920F931F93CF93DF9371 -:10E3A000CDB7DEB7CA59D1090FB6F894DEBF0FBE9C -:10E3B000CDBF4B015A011901E096EFAEE097C0576F -:10E3C000DF4FD982C882C059D040DC012D913D91E8 -:10E3D0004D915C91E8962CAF3DAF4EAF5FAFE897A3 -:10E3E00020918B1730918C1740918D1750918E177B -:10E3F000E8966CAD7DAD8EAD9FADE8970F94840D22 -:10E400000F948F162B013C0125966CAF7DAF8EAF1C -:10E410009FAF2597D4012D913D914D915C91E4964C -:10E420002CAF3DAF4EAF5FAFE49720918F17309187 -:10E4300090174091911750919217E4966CAD7DAD75 -:10E440008EAD9FADE4970F94840D0F948F16A79611 -:10E450006CAF7DAF8EAF9FAFA79729966CAF7DAFA6 -:10E460008EAF9FAF2997D5012D913D914D915C9134 -:10E47000AF962CAF3DAF4EAF5FAFAF9720919317E4 -:10E48000309194174091951750919617AF966CADB7 -:10E490007DAD8EAD9FADAF970F94840D0F948F1609 -:10E4A0006B017C012D966CAF7DAF8EAF9FAF2D972A -:10E4B000D1012D913D914D915C91AB962CAF3DAF2B -:10E4C0004EAF5FAFAB97209197173091981740915F -:10E4D000991750919A17AB966CAD7DAD8EAD9FADEF -:10E4E000AB970F94840D0F948F164B015C016196CE -:10E4F0006CAF7DAF8EAF9FAF6197E8962CAD3DAD11 -:10E500004EAD5FADE89765962CAF3DAF4EAF5FAFB8 -:10E510006597E4968CAD9DADAEADBFADE4976996C1 -:10E520008CAF9DAFAEAFBFAF6997AF962CAD3DAD91 -:10E530004EAD5FADAF976D962CAF3DAF4EAF5FAFB9 -:10E540006D97AB968CAD9DADAEADBFADAB97A196C3 -:10E550008CAF9DAFAEAFBFAFA1978091C81783FFBF -:10E5600016C08092AC1A9092AD1AA092AE1AB092D8 -:10E57000AF1AAB962CAD3DAD4EAD5FADAB972093D2 -:10E580009C1A30939D1A40939E1A50939F1A809123 -:10E59000751790917617892B09F0A3C3D801BC9108 -:10E5A000ED96BFAFED97F801F181C058DF4FF883CA -:10E5B000C058D040D8011296BC91CC57DF4FB883D9 -:10E5C000C458D040F801F381C857DF4FF883C858CA -:10E5D000D04080917A1A90917B1A891B8F708F306E -:10E5E00021F480E00E946B4DF4CF20917A1AC85636 -:10E5F000DF4F2883C859D04080917A1A282E312CB9 -:10E600008091A01A9091A11AA091A21AB091A31A78 -:10E61000481A590A6A0A7B0A8091A41A9091A51A8D -:10E62000A091A61AB091A71AA7962CAD3DAD4EADFC -:10E630005FADA797281B390B4A0B5B0BA7962CAF36 -:10E640003DAF4EAF5FAFA7978091A81A9091A91ADE -:10E65000A091AA1AB091AB1AA7019601281B390BF9 -:10E660004A0B5B0BE4962CAF3DAF4EAF5FAFE49728 -:10E670008091AC1A9091AD1AA091AE1AB091AF1AD8 -:10E68000A5019401281B390B4A0B5B0BE8962CAFB4 -:10E690003DAF4EAF5FAFE897232B242B252B09F41A -:10E6A00092C08091C717811133C060919E0870910C -:10E6B0009F088091A0089091A1080F948E15209139 -:10E6C0006102309162026217730714F58092AC1AEE -:10E6D0009092AD1AA092AE1AB092AF1AAB968CADD2 -:10E6E0009DADAEADBFADAB9780939C1A90939D1A34 -:10E6F000A0939E1AB0939F1A0E94FCC188EC9AE1E5 -:10E700000E9438C0E8961CAE1DAE1EAE1FAEE89744 -:10E71000E096AFADE09794E0A99F800111240F5CD3 -:10E720001D4FE8966CAD7DAD8EAD9FADE8970F9413 -:10E73000250DF80120813181428153810F94840D90 -:10E740006B017C0120E030E0A9010F94821687FF65 -:10E7500004C0F7FAF094F7F8F09420E030E04AEFC4 -:10E7600053E4609197177091981780919917909141 -:10E770009A170F94840DA70196010F941E0D87FF21 -:10E7800022C08092AC1A9092AD1AA092AE1AB092AA -:10E79000AF1AAB962CAD3DAD4EAD5FADAB972093B0 -:10E7A0009C1A30939D1A40939E1A50939F1A0E9470 -:10E7B000FCC189EA9AE10E9438C0E8961CAE1DAE01 -:10E7C0001EAE1FAEE897D301C2018827B7FD83951F -:10E7D0009927AA27BB27B82EA7962CAD3DAD4EADE5 -:10E7E0005FADA79757FF03C0382F3260B32EE49672 -:10E7F0008CAD9DADAEADBFADE497B7FF03C09B2D13 -:10E800009460B92EE8962CAD3DAD4EAD5FADE89766 -:10E8100057FF03C03B2D3860B32EE0965FADE09705 -:10E8200044E0549F800111240F5C1D4FE8966CADAD -:10E830007DAD8EAD9FADE8970F94250DD8012D913C -:10E840003D914D915C910F94840D6B017C0120E012 -:10E8500030E0A9010F94821687FF04C0C701B601FA -:10E86000905802C0C701B60120E030E040E05FE30D -:10E870000F9422140F949515AF966CAF7DAF8EAFA9 -:10E880009FAFAF9784E5829DF001839DF00D112429 -:10E89000E25FFE4E1082B6AA5301420177FE07C026 -:10E8A00088249924540184189508A608B70884E59B -:10E8B000829DF001839DF00D1124E25FFE4E858A5A -:10E8C000968AA78AB08EA7962CAD3DAD4EAD5FADB2 -:10E8D000A797AB962CAF3DAF4EAF5FAFAB9757FF4F -:10E8E0000DC050954095309521953F4F4F4F5F4F4C -:10E8F000AB962CAF3DAF4EAF5FAFAB9784E5829D3B -:10E90000F001839DF00D1124E25FFE4EAB968CADBD -:10E910009DADAEADBFADAB97818F928FA38FB48FFE -:10E92000E4962CAD3DAD4EAD5FADE497EC962CAFCB -:10E930003DAF4EAF5FAFEC9757FF0DC05095409580 -:10E94000309521953F4F4F4F5F4FEC962CAF3DAF29 -:10E950004EAF5FAFEC9784E5829DF001839DF00D93 -:10E960001124E25FFE4EEC968CAD9DADAEADBFAD19 -:10E97000EC97858F968FA78FB0A3C301B2010F9438 -:10E98000250D2091C5163091C6164091C71650919D -:10E99000C8160F94840DC457DF4F688379838A8328 -:10E9A0009B83CC58D04069AB7AAB8BAB9CABA79622 -:10E9B0006CAD7DAD8EAD9FADA7970F94250D2091C9 -:10E9C000C9163091CA164091CB165091CC160F94AF -:10E9D000840D2B013C016DAB7EAB8FAB98AFE49601 -:10E9E0006CAD7DAD8EAD9FADE4970F94250D20915C -:10E9F000CD163091CE164091CF165091D0160F946F -:10EA0000840DA7966CAF7DAF8EAF9FAFA79769AF10 -:10EA10007AAF8BAF9CAF2091D1163091D216409136 -:10EA2000D3165091D416C701B6010F94840D6B0113 -:10EA30007C0121966CAF7DAF8EAF9FAF219796E0A2 -:10EA400089169104A104B1041CF5AB962CAD3DAD23 -:10EA50004EAD5FADAB972630310541055105C4F48D -:10EA6000EC968CAD9DADAEADBFADEC970697A10514 -:10EA7000B10574F420E030E0A901C701B6010F949C -:10EA8000821687FF18C0F7FAF094F7F8F09413C0D5 -:10EA9000C057DF4FA881B981C059D040CD90DD90DB -:10EAA000ED90FC9020E030E0A901C701B6010F9481 -:10EAB0001E0D882369F084E5829DF001839DF00D91 -:10EAC0001124E25FFE4EC586D686E786F08A3AC0FC -:10EAD000C457DF4F288139814A815B81CC58D040AF -:10EAE000CA01B9010F94840D6B017C01A30192014D -:10EAF000C301B2010F94840D9B01AC01C701B601A3 -:10EB00000F9422146B017C01A7962CAD3DAD4EAD48 -:10EB10005FADA797CA01B9010F94840D9B01AC01A9 -:10EB2000C701B6010F9422140F94D01624E5229D3C -:10EB3000F001239DF00D1124E25FFE4E658776877C -:10EB40008787908B84E5829DF001839DF00D1124D1 -:10EB5000E25FFE4EAF962CAD3DAD4EAD5FADAF97D3 -:10EB600021A332A343A354A3582D492D3A2D2B2D75 -:10EB7000AB968CAD9DADAEADBFADAB97881699068B -:10EB8000AA06BB0660F4A8965FADA897A9964FADFC -:10EB9000A997AA963FADAA97AB962FADAB97852FB5 -:10EBA000942FA32FB22FEC962CAD3DAD4EAD5FADA3 -:10EBB000EC9782179307A407B50710F4DA01C9018F -:10EBC000AF962CAD3DAD4EAD5FADAF9782179307BD -:10EBD000A407B50710F4DA01C90124E5229DF0016C -:10EBE000239DF00D1124E25FFE4E85A396A3A7A3FB -:10EBF000B0A70697A105B10510F40C949583DF0129 -:10EC0000AE5ABF4F8091C5178C9311968091C6174D -:10EC10008C93E0963FADE09731A789288A288B280E -:10EC200009F05F9884E5829DF001839DF00D112429 -:10EC3000E25FFE4E818D928DA38DB48D892B8A2B40 -:10EC40008B2B09F08A9884E5829DF001839DF00D5D -:10EC50001124E25FFE4E858D968DA78DB0A1892B84 -:10EC60008A2B8B2B29F080910801817080930601FB -:10EC7000AF968CAD9DADAEADBFADAF97892B8A2B56 -:10EC80008B2B91F18091E516882319F081508093A8 -:10EC9000E5168091E616882399F081508093E61658 -:10ECA000E0969FADE097992319F0913081F025C04F -:10ECB000811101C0479A129880E28093E5161DC029 -:10ECC000E096FFADE097FF23A9F3F130B1F4809116 -:10ECD000E516811101C0129A479880E28093E616EA -:10ECE0000CC080E00C941E84E090BB17F090BC1721 -:10ECF0000091BD171091BE1708C0E090B717F090B3 -:10ED0000B8170091B9171091BA179701A801ED969D -:10ED10006FADED97C058DF4F7881C058D040CC57C9 -:10ED2000DF4F8881C458D040C857DF4F9881C858FA -:10ED3000D0400F941E0D87FF12C0ED96EFAEED97F9 -:10ED4000C058DF4FF882C058D040CC57DF4F0883FF -:10ED5000C458D040C857DF4F1883C858D04084E506 -:10ED6000829DF001839DF00D1124E25FFE4E4584EB -:10ED7000568467847088A301920160E070E080E8A7 -:10ED80009FE30F941C15EC966CAF7DAF8EAF9FAFD9 -:10ED9000EC97ED962FADED97C058DF4F3881C058F6 -:10EDA000D040CC57DF4F4881C458D040C857DF4FC0 -:10EDB0005881C858D0400F94840D4B015C0180915C -:10EDC0007A1A9091781A891B8F70C857DF4F888301 -:10EDD000C858D040A501940160E074E284E799E44A -:10EDE0000F941C150F948F166B017C01C857DF4FD1 -:10EDF0008881C858D04082508630D0F580918717DE -:10EE000090918817A0918917B0918A17C816D906D2 -:10EE1000EA06FB0668F58C199D09AE09BF09BC011D -:10EE2000CD01660F771F881F991FC857DF4FA88134 -:10EE3000C858D0400A2F10E020E030E0A901980126 -:10EE40000F947413CA01B9010F94230D0F948F16F8 -:10EE50006C0D7D1D8E1D9F1D0F94230D9B01AC011C -:10EE600060E074E284E799E40F941C154B015C01A7 -:10EE7000A5019401C301B2010F94840D9B01AC0163 -:10EE80000F94840DC457DF4F688379838A839B83F3 -:10EE9000CC58D04084E5829D8001839D100D1124C3 -:10EEA000025F1E4EC457DF4F288139814A815B8142 -:10EEB000CC58D040D80111962D933D934D935C933F -:10EEC000149795962D913D914D915C919897C458CA -:10EED000DF4F288339834A835B83CC57D040CA01F4 -:10EEE000B9010F94230DC058DF4F688379838A835B -:10EEF0009B83C058D0409B01AC01C501B4010F9465 -:10EF0000840D0F9400150F949515C057DF4F68833B -:10EF100079838A839B83C059D040F801EE5BFF4F11 -:10EF200060837183828393838E010F5C1F4FFE0188 -:10EF3000B196CC57DF4FF983E883C458D0402BE912 -:10EF400037E1CA56DF4F39832883C659D040A8011C -:10EF5000405F5F4FC756DF4F59834883C959D04040 -:10EF6000CC56DF4FF983E883C459D040A4961FAE36 -:10EF7000A497A8961FAEA89750E8E0965FAFE097D9 -:10EF80008FE3E1968FAFE197D8012D913D914D919F -:10EF90005D918D01C501B4010F94840D6B017C015D -:10EFA000CC56DF4FE881F981C459D0406193719309 -:10EFB00081939193CC56DF4FF983E883C459D040B5 -:10EFC00020E030E0A9010F94821687FF04C0F7FA11 -:10EFD000F094F7F8F094CA56DF4FA881B981C6596A -:10EFE000D0404D905D906D907D90CA56DF4FB983B3 -:10EFF000A883C659D040A7019601C301B2010F945E -:10F000001E0D87FF24C0A7019601C301B2010F9412 -:10F010001C157B016C01A4962FADA497A8963FAD5B -:10F02000A897E0964FADE097E1965FADE1970F941A -:10F030001E0D87FF0CC0A496EFAEA497A896FFAE56 -:10F04000A897E096CFAEE097E196DFAEE197C7567E -:10F05000DF4FE881F981C959D040E017F10709F085 -:10F0600093CF20E030E040E85FE3A4966FADA49733 -:10F07000A8967FADA897E0968FADE097E1969FADFB -:10F08000E1970F941E0D87FF84C08E010F5C1F4F08 -:10F09000A4962FADA497A8963FADA897E0964FAD44 -:10F0A000E097E1965FADE197CC57DF4FA881B9813A -:10F0B000C458D0406D917D918D919C910F94840D99 -:10F0C000CC57DF4FE881F981C458D04061937193E8 -:10F0D00081939193CC57DF4FF983E883C458D04094 -:10F0E0000E171F07A9F624E5229DC001239D900D50 -:10F0F00011249C01225F3E4E790189010E5B1F4F56 -:10F10000C057DF4F688179818A819B81C059D04087 -:10F110000F94230DA4962FADA497A8963FADA89762 -:10F12000E0964FADE097E1965FADE1970F94840DC7 -:10F130000F949515D8016D937D938D939C931397A0 -:10F14000A4962FADA497A8963FADA897E0964FAD93 -:10F15000E097E1965FADE197A4966FADA497A8966E -:10F160007FADA897E0968FADE097E1969FADE197D0 -:10F170000F94840DC457DF4F288139814A815B8108 -:10F18000CC58D0400F94840DF70161837283838340 -:10F190009483C058DF4F288139814A815B81C058F0 -:10F1A000D040EC966CAD7DAD8EAD9FADEC970F94DD -:10F1B000840DA7966CAF7DAF8EAF9FAFA79784E508 -:10F1C000829D8001839D100D1124025F1E4ED80187 -:10F1D00055968D909D90AD90BC9058978114910458 -:10F1E000A104B10469F559968D919D910D90BC9142 -:10F1F000A02D892B8A2B8B2B19F5F801858D968DE7 -:10F20000A78DB0A1892B8A2B8B2BD1F42091AF171E -:10F210003091B0174091B1175091B217A7966CADCD -:10F220007DAD8EAD9FADA7970F94840D0F94001503 -:10F230000F9495152B013C01D801D7961C9247C31A -:10F24000AF962CAD3DAD4EAD5FADAF97232B242BCC -:10F25000252B49F02091AB173091AC174091AD1799 -:10F260005091AE1708C02091B3173091B417409158 -:10F27000B5175091B617A7966CAD7DAD8EAD9FAD0D -:10F28000A7970F94840D0F9400150F9495152B01DB -:10F290003C01AF968CAD9DADAEADBFADAF97892BA8 -:10F2A0008A2B8B2BF9F0E0915B0B94E0E99FF00146 -:10F2B0001124E354F94E20E030E0A901608171810E -:10F2C000828193810F941E0D882361F081E0E8967E -:10F2D0002CAD3DAD4EAD5FADE8971216130614068A -:10F2E00015060CF080E094E5929D8001939D100D31 -:10F2F0001124025F1E4ED801D7968C93882309F4FF -:10F30000D0C02091901A3091911A4091921A509148 -:10F31000931A65966CAD7DAD8EAD9FAD65970F94DC -:10F320002114AB966CAF7DAF8EAF9FAFAB972091A2 -:10F33000941A3091951A4091961A5091971A69969D -:10F340006CAD7DAD8EAD9FAD69970F942114E8969D -:10F350006CAF7DAF8EAF9FAFE8972091981A309138 -:10F36000991A40919A1A50919B1A6D966CAD7DAD89 -:10F370008EAD9FAD6D970F9421146B017C01AB9600 -:10F380002CAD3DAD4EAD5FADAB97CA01B9010F9449 -:10F39000840DAB966CAF7DAF8EAF9FAFAB97E89609 -:10F3A0002CAD3DAD4EAD5FADE897CA01B9010F94EC -:10F3B000840D9B01AC01AB966CAD7DAD8EAD9FAD68 -:10F3C000AB970F942214AB966CAF7DAF8EAF9FAF0F -:10F3D000AB97A7019601C701B6010F94840D9B015D -:10F3E000AC01AB966CAD7DAD8EAD9FADAB970F9480 -:10F3F00022140F94D0166B017C0120919C1A30913D -:10F400009D1A40919E1A50919F1AA1966CAD7DADA8 -:10F410008EAD9FADA1970F942114A70196010F9473 -:10F420001C156B017C01F801FE9660837183828359 -:10F43000938320E030E040E450E40F9482161816E5 -:10F440001CF4F80117AA2DC0E0915B0B24E0E29FA9 -:10F45000F0011124E354F94E20813181428153811E -:10F46000C701B6010F94840D9B01AC016091B916E0 -:10F470007091BA168091BB169091BC160F941C1512 -:10F48000A7962CAD3DAD4EAD5FADA7970F94840D03 -:10F490000F949515641575058605970510F42B01D5 -:10F4A0003C018091B5169091B616A091B716B09117 -:10F4B000B816C458DF4F288139814A815B81CC5707 -:10F4C000D04082179307A407B50708F4DCC0811465 -:10F4D0009104A104B10411F16091A5167091A616D2 -:10F4E0008091A7169091A816641575058605970555 -:10F4F000A8F40F9464136B017C01A5019401C3016E -:10F50000B2010F946413C616D706E806F90630F464 -:10F51000C701B6010F94741329013A0184E5829D55 -:10F52000F001839DF00D1124E25FFE4EC18CD28C60 -:10F53000E38CF48CC114D104E104F10451F1609125 -:10F54000A9167091AA168091AB169091AC1664150D -:10F55000750586059705E8F4C458DF4F2881398181 -:10F560004A815B81CC57D0400F9464134B015C01FE -:10F57000A7019601C301B2010F9464138616970682 -:10F58000A806B90630F4C501B4010F94741329011B -:10F590003A0184E5829DF001839DF00D1124E25F24 -:10F5A000FE4EC58CD68CE78CF0A0C114D104E104CA -:10F5B000F10451F16091AD167091AE168091AF16C5 -:10F5C0009091B0166415750586059705E8F4C45842 -:10F5D000DF4F288139814A815B81CC57D0400F941D -:10F5E00064134B015C01A7019601C301B2010F94A2 -:10F5F000641386169706A806B90630F4C501B4014F -:10F600000F94741329013A0184E5829DF001839DD2 -:10F61000F00D1124E25FFE4EC1A0D2A0E3A0F4A041 -:10F62000C114D104E104F10409F451C16091B1168F -:10F630007091B2168091B3169091B4166415750549 -:10F640008605970508F043C1C458DF4F28813981EA -:10F650004A815B81CC57D0400F9464134B015C010D -:10F66000A7019601C301B2010F9464138616970691 -:10F67000A806B90608F02BC1C501B4010F94741394 -:10F6800029013A0124C181149104A104B104D9F1E2 -:10F690006091A5167091A6168091A7169091A81654 -:10F6A000641575058605970570F50F94230DC058F0 -:10F6B000DF4F288139814A815B81C058D0400F9447 -:10F6C000840D6B017C01C501B4010F94230D4B0126 -:10F6D0005C01C301B2010F94230DA50194010F94A5 -:10F6E000840D9B01AC01C701B6010F941E0D87FF6D -:10F6F0000AC0A5019401C701B6010F941C150F940F -:10F7000095152B013C0184E5829DF001839DF00D50 -:10F710001124E25FFE4E818C928CA38CB48C8114F8 -:10F720009104A104B104D9F16091A9167091AA16AF -:10F730008091AB169091AC166415750586059705FA -:10F7400070F50F94230DC058DF4F288139814A810D -:10F750005B81C058D0400F94840D6B017C01C501C2 -:10F76000B4010F94230D4B015C01C301B2010F944E -:10F77000230DA50194010F94840D9B01AC01C701D9 -:10F78000B6010F941E0D87FF0AC0A5019401C701A1 -:10F79000B6010F941C150F9495152B013C0184E5BF -:10F7A000829DF001839DF00D1124E25FFE4E858C59 -:10F7B000968CA78CB0A081149104A104B104D9F156 -:10F7C0006091AD167091AE168091AF169091B01603 -:10F7D000641575058605970570F50F94230DC058BF -:10F7E000DF4F288139814A815B81C058D0400F9416 -:10F7F000840D6B017C01C501B4010F94230D4B01F5 -:10F800005C01C301B2010F94230DA50194010F9473 -:10F81000840D9B01AC01C701B6010F941E0D87FF3B -:10F820000AC0A5019401C701B6010F941C150F94DD -:10F8300095152B013C0184E5829DF001839DF00D1F -:10F840001124E25FFE4E81A092A0A3A0B4A0811477 -:10F850009104A104B104D9F16091B1167091B2166E -:10F860008091B3169091B4166415750586059705B9 -:10F8700070F50F94230DC058DF4F288139814A81DC -:10F880005B81C058D0400F94840D6B017C01C50191 -:10F89000B4010F94230D4B015C01C301B2010F941D -:10F8A000230DA50194010F94840D9B01AC01C701A8 -:10F8B000B6010F941E0D87FF0AC0A5019401C70170 -:10F8C000B6010F941C150F9495152B013C0184E58E -:10F8D000829D8001839D100D1124025F1E4EF80150 -:10F8E000E25BFF4F4082518262827382C301B201A8 -:10F8F0000F94230D6B017C01A7962CAD3DAD4EAD51 -:10F900005FADA7970F941C15E4966CAF7DAF8EAFDB -:10F910009FAFE497D80151966D937D938D939C93FF -:10F9200054972DEB37E346E051E4C701B6010F943D -:10F93000840D0F949515F80162AB73AB84AB95AB56 -:10F9400087A98823A9F1E0915B0B24E0E29FF001F5 -:10F950001124E354F94ED801DE962D913D914D913D -:10F960005C9160817181828193810F94840DE49612 -:10F970002CAD3DAD4EAD5FADE4970F94840D20915D -:10F980009717309198174091991750919A170F94A3 -:10F99000840D9B01AC0160E074E284EF99E40F9464 -:10F9A0001C150F949515D801D9967C936E93D89712 -:10F9B00029A93AA94BA95CA9EC966CAD7DAD8EAD99 -:10F9C0009FADEC970F94840DAF966CAF7DAF8EAF6B -:10F9D0009FAFAF97698B7A8B8B8B9C8B2DA93EA9A0 -:10F9E0004FA958ADEC966CAD7DAD8EAD9FADEC974B -:10F9F0000F94840D2B013C016D8B7E8B8F8B988F28 -:10FA000029AD3AAD4BAD5CADEC966CAD7DAD8EAD38 -:10FA10009FADEC970F94840D4B015C01698F7A8F39 -:10FA20008B8F9C8F21962CAD3DAD4EAD5FAD219758 -:10FA3000EC966CAD7DAD8EAD9FADEC970F94840DC3 -:10FA4000EC966CAF7DAF8EAF9FAFEC976D8F7E8FD6 -:10FA50008F8F98A3C857DF4FB881C858D040BB23B9 -:10FA600009F4DBC2E0917C1AA496EFAFA497F09161 -:10FA70007D1AA896FFAFA89720917E1AE5962FAF22 -:10FA8000E59730917F1AE0963FAFE0972DEB37E393 -:10FA900046E855E3BF01E5968FADE597E0969FAD4B -:10FAA000E0970F941E0D87FDB8C28091D5169091F6 -:10FAB000D616A091D716B091D816C458DF4F8883B8 -:10FAC0009983AA83BB83CC57D0402091D91630911B -:10FAD000DA164091DB165091DC16C058DF4F2883B0 -:10FAE00039834A835B83C058D0408091DD16909162 -:10FAF000DE16A091DF16B091E016CC57DF4F888359 -:10FB00009983AA83BB83C458D0402091E1163091D9 -:10FB1000E2164091E3165091E416C857DF4F288350 -:10FB200039834A835B83C858D040C458DF4F68810B -:10FB300079818A819B81CC57D0409058AF962CAD6B -:10FB40003DAD4EAD5FADAF970F94840D6B017C0161 -:10FB5000C058DF4F288139814A815B81C058D0402D -:10FB6000C301B2010F94840D9B01AC01C701B60122 -:10FB70000F9421146B017C01CC57DF4F2881398110 -:10FB80004A815B81C458D040C501B4010F94840DF3 -:10FB90009B01AC01C701B6010F9421146B017C01DC -:10FBA000C857DF4F288139814A815B81C858D040CE -:10FBB000EC966CAD7DAD8EAD9FADEC970F94840D42 -:10FBC0009B01AC01C701B6010F9421146B017C01AC -:10FBD0002FEE3FEF4FE75FE30F94821618160CF4F9 -:10FBE000BEC12FEE3FEF4FE75FEBC701B6010F94A9 -:10FBF0001E0D87FF08C03FEEC32EDD24DA943FE7D9 -:10FC0000E32E3FEBF32EC458DF4F288139814A8120 -:10FC10005B81CC57D040AF966CAD7DAD8EAD9FADC6 -:10FC2000AF970F94211469837A838B839C83C05888 -:10FC3000DF4F288139814A815B81C058D040C301A0 -:10FC4000B2010F9421146D837E838F839887CC57E4 -:10FC5000DF4F288139814A815B81C458D040C5017A -:10FC6000B4010F94211469877A878B879C87C857C2 -:10FC7000DF4F288139814A815B81C858D040EC969A -:10FC80006CAD7DAD8EAD9FADEC970F9421146D875B -:10FC90007E878F87988BAE014F5F5F4FAD965FAFCA -:10FCA0004EAFAD97CE014196A3969FAF8EAFA3976F -:10FCB0008A01812C912C5401D8014D905D906D905A -:10FCC0007D908D0120E030E0A901C301B2010F94C5 -:10FCD0001E0D882371F0A3019201C301B2010F949C -:10FCE000840D9B01AC01C501B4010F9422144B019A -:10FCF0005C01A396EEADFFADA397E017F107E1F627 -:10FD0000C501B4010F94D0169B01AC0160E070E016 -:10FD100080E89FE30F941C154B015C01AD960EAD7E -:10FD20001FADAD97A5019401D8016D917D918D9185 -:10FD30009C910F94840DF801619371938193919339 -:10FD40008F01A3962EAD3FADA3972E173F0751F716 -:10FD500007E717E1E1965FACE197E2966FACE297B7 -:10FD6000E3967FACE397E4964FACE497AD96AEADE7 -:10FD7000BFADAD978D909D90AD90BD90AD96BFAF4E -:10FD8000AEAFAD9720E030E0A901C501B4010F94FA -:10FD90001E0D882331F1F801608171818281938188 -:10FDA0000F94230DA50194010F941C154B015C01C8 -:10FDB00020E030E0A9010F94821687FF04C0B7FA53 -:10FDC000B094B7F8B094252D362D472D542DC5018C -:10FDD000B4010F941E0D87FF04C0582C692C7A2C97 -:10FDE0004B2C0C5F1F4FA3962EAD3FADA397AD9646 -:10FDF0004EAD5FADAD972417350709F0B7CFA7011A -:10FE0000960160E070E080E89FE30F94211420E009 -:10FE100030E040E05FE30F94840D0F94D0164B0167 -:10FE20005C012091A1163091A2164091A316509129 -:10FE3000A416652D762D872D942D0F94840DA50184 -:10FE400094010F94840DAF966CAF7DAF8EAF9FAFD2 -:10FE5000AF97A501940160E070E080E89FE30F9404 -:10FE600021149B01AC01AF966CAD7DAD8EAD9FAD05 -:10FE7000AF970F941C15AC966FAFAC97E9967FAF18 -:10FE8000E9978C0184E5829DF001839DF00D11249A -:10FE9000E25FFE4E85849684A784B08820E030E03F -:10FEA00040E85FE3C501B4010F941E0D87FF61C0F8 -:10FEB000A7019601C701B6010F94840D23EC38EB1E -:10FEC00042E35FEB0F94840D23EF36E64FE55FE3EB -:10FED0000F942114A70196010F94840D2BED3FE0A0 -:10FEE00049EC5FE30F9422142CEE31E548E35EE326 -:10FEF0000F9421146B017C0124EE3BEC46E150E4AD -:10FF00000F9482161816ACF5A70196016BED7FE0F1 -:10FF100089E490E40F9421149B01AC01C501B40164 -:10FF20000F941C15252D362D472D542D0F94840D1F -:10FF30006B017C019B01AC01AC966FADAC97E9966F -:10FF40007FADE997C8010F948216181694F4AC9609 -:10FF5000CFAEAC97E996DFAEE99787010AC05BE0C8 -:10FF6000AC965FAFAC9787EDE9968FAFE99703E268 -:10FF70001BE384E5829DF001839DF00D1124E25F77 -:10FF8000FE4EC180D280E380F4809601A701A49642 -:10FF90006FADA497A8967FADA897E5968FADE5972E -:10FFA000E0969FADE0970F948216181664F4A4961D -:10FFB000CFAEA497A896DFAEA897E596EFAEE597EB -:10FFC000E096FFAEE097AC962FADAC97E9963FADCB -:10FFD000E997A801A4966FADA497A8967FADA897BE -:10FFE000E5968FADE597E0969FADE0970F9482166A -:10FFF0001816FCF4AC969FADAC97A4969FAFA4974F -:020000021000EC -:10000000E996AFADE997A896AFAFA897E5960FAF81 -:10001000E597E0961FAFE0970CC0A4961FAEA4979B -:10002000A8961FAEA897E5961FAEE597E0961FAE7F -:10003000E09780E1FE017196A5EDB6E101900D9289 -:100040008A95E1F784E5829D8001839D100D11243E -:10005000025F1E4EA4968FADA497A8969FADA89759 -:10006000E596AFADE597E096BFADE097F8018187E3 -:100070009287A387B487E4966CAD7DAD8EAD9FADBE -:10008000E49790589B01AC010F942214D8011D965F -:100090002D913D914D915C9150970F94840D9B0152 -:1000A000AC016BE077ED83E29BE30F9421142BE02E -:1000B000C22E27EDD22E23E2E22E2BE3F22EF80100 -:1000C000C582D682E782F086B080C180D280E3808C -:1000D000F480A70196010F94821687FD02C083E089 -:1000E00001C081E08B2994E5929DF001939DF00D74 -:1000F0001124E25FFE4E808380E1FE01B196A0E80C -:10010000BAE101900D928A95E1F7C0927C1AD092E3 -:100110007D1AE0927E1AF0927F1A80E1FE01EF5B79 -:10012000FF4FA0EABAE101900D928A95E1F780E1D4 -:10013000FE01EF5AFF4FA0E9BAE101900D928A95B6 -:10014000E1F790917A1A80917B1A981303C084E6A4 -:100150008093771AC856DF4F8881C859D0408F5F87 -:100160008F7080937A1A80917A1A9091791A8150BF -:100170008F70891709F4B6C0F0907A1A8FEF8F0D3F -:100180008F70A4968FAFA497B090791A80917A1A45 -:10019000B81609F476C0C12CD12CA496FFADA49753 -:1001A000FB1509F46EC06F2E712C24E5269D80018D -:1001B000279D100D1124025F1E4ED8018C9183FDE6 -:1001C0003DC0AC960FAFAC97E9961FAFE99701150C -:1001D0001105D1F11996BC91A896BFAFA897F80167 -:1001E000F285E596FFAFE597D8011B96BC91E096A6 -:1001F000BFAFE097F801F485E196FFAFE197D80132 -:1002000015962D903D904D905C901897A20191010C -:10021000A8966FADA897E5967FADE597E0968FAD70 -:10022000E0979F2F0F941E0D8111F0C1C114D104CE -:1002300059F0F601808180FDE9C106C0AC96CFAED1 -:10024000AC97E996DFAEE997A4968FADA49781505D -:100250008F70A4968FAFA4978091791A8B1107C0E5 -:10026000AC96CFACAC97E996DFACE99796CFA49665 -:10027000FFADA497FB1529F081E08B0D8F70B82E90 -:10028000EBCF2091791AA4962FAFA497C12CD12C33 -:1002900080917A1AA4963FADA497831719F1832E03 -:1002A000912C44E5489D8001499D100D1124025F69 -:1002B0001E4ED8018C9183FD0AC05801C114D1048F -:1002C00039F0C6010E94A1F7811102C035C2560162 -:1002D000A4968FADA4978F5F8F70A4968FAFA497CD -:1002E0006501D6CF40917B1AA4964FAFA497509149 -:1002F0007A1AA8965FAFA89724E5A4968FADA49725 -:10030000A8969FADA897891779F0892F81508F7093 -:10031000289FF0011124E25FFE4E908193FF04C0FC -:10032000A8968FAFA897E9CF812C912CA12CB12C46 -:10033000E5961FAEE597E0961FAEE097E1961FAEFB -:10034000E197AC961FAEAC97212C312C00E010E069 -:10035000A896AFADA897A496BFADA497AB1709F424 -:10036000D4C0E4E5EB9FC00111249C01225F3E4E06 -:100370001901D9018C9183FD19C015966D917D915C -:100380008D919C9118970F94D016F62EE72ED82EAB -:10039000C92E0115110509F49EC0F801808180FD68 -:1003A00012C0D1018C9180FD0EC095C0E596FFACC6 -:1003B000E597E096EFACE097E196DFACE197AC967D -:1003C000CFACAC978DC0F801808181608083C8017B -:1003D0000E94A1F781117BC0F80161817281838144 -:1003E00094810F94D0162B013C019B01AC0160E07D -:1003F00070E080E89FE30F941C154B015C019B01AA -:10040000AC016F2D7E2D8D2D9C2D0F94840D698355 -:100410007A838B839C83E5962FADE597E0963FAD7D -:10042000E097E1964FADE197AC965FADAC97C50113 -:10043000B4010F94840D698B7A8B8B8B9C8BAE01EE -:100440004F5F5F4FBE016F5E7F4FC8010E94CADAE7 -:10045000D801D7968C918823D1F1E0915B0BB4E061 -:10046000EB9FF0011124E354F94ED801DE962D9153 -:100470003D914D915C9160817181828193810F9456 -:10048000840D2091971730919817409199175091AA -:100490009A170F94840D4B015C019B01AC01C301C1 -:1004A000B2010F94840D0F949515F80173AF62AFEC -:1004B000A50194016F2D7E2D8D2D9C2D0F94840D03 -:1004C0000F949515D801DD967C936E93DC97F80117 -:1004D00080818E7F80838F2C9E2CAD2CBC2C810143 -:1004E000A4968FADA4978F5F8F70A4968FAFA497BB -:1004F000E596FFAEE597E096EFAEE097E196DFAECA -:10050000E197AC96CFAEAC9723CF2114310409F418 -:100510000CC1D1018C9181608C93C8010E94A1F71C -:1005200081116FC0F10161817281838194810F9487 -:10053000D0166B017C019B01AC0160E070E080E8AB -:100540009FE30F941C152B013C012DEC3CEC4CE47B -:100550005DE30F94840D69837A838B839C8394017C -:10056000A501C301B2010F94840D698B7A8B8B8B2B -:100570009C8BAE014F5F5F4FBE016F5E7F4FC1012D -:100580000E94CADAD101D7968C918823D1F1E091EB -:100590005B0BB4E0EB9FF0011124E354F94ED10161 -:1005A000DE962D913D914D915C91608171818281AA -:1005B00093810F94840D2091971730919817409153 -:1005C000991750919A170F94840D4B015C019B0170 -:1005D000AC01C701B6010F94840D0F949515F1017C -:1005E00073AF62AF2DEC3CEC4CE45DE3C501B401AC -:1005F0000F94840D0F949515D101DD967C936E9325 -:10060000DC97F10180818E7F80838FC024E5269D59 -:10061000F001279DF00D1124E25FFE4E808181FDE7 -:100620004BC0C114D10441F0D6011596CD90DD9098 -:10063000ED90FC90189708C08BE0C82E87EDD82E5F -:1006400083E2E82E8BE3F82EB4E5B69DF001B79D6A -:10065000F00D1124E25FFE4E81899289A389B4894D -:10066000BC01CD0190589B01AC010F942214F801FC -:1006700025853685478550890F94840D9B01AC01F3 -:10068000C701B6010F942114E62E872E982EA92EAD -:10069000262F372F482F592FA8966FADA897E5968C -:1006A0007FADE597E0968FADE097E1969FADE1973E -:1006B0000F941E0D87FF0CC0A896EFACA897E59687 -:1006C0008FACE597E0969FACE097E196AFACE197F1 -:1006D0002E2D382D492D5A2DC201B1010F941E0D1A -:1006E000882309F4B1CDF4E5F69DC001F79D900D86 -:1006F00011249C01225F3E4E6901D9018C918160D9 -:100700008C93C8010E94A1F7882329F0F60180810B -:100710008E7F808399CD8E2D982DA92DBA2DF6012F -:1007200085839683A783B0878FCD80916F00826089 -:1007300080936F0081E082C0D6018C9181FD58C00A -:10074000D60115962D913D914D915C911897AB96E0 -:100750002CAF3DAF4EAF5FAFAB971501B5E02B0EA1 -:10076000311CF8014580568067807084A301920196 -:10077000AB966CAD7DAD8EAD9FADAB970F941E0D5E -:1007800087FF36C0F60181899289A389B489BC01AB -:10079000CD0190589B01AC010F942214D6011D96F7 -:1007A0002D913D914D915C9150970F94840D9B013B -:1007B000AC01AB966CAD7DAD8EAD9FADAB970F949C -:1007C00021146B017C019B01AC01C301B2010F94A8 -:1007D000821618166CF4D8018C9181608C93C50137 -:1007E0000E94A1F78823F1F0F80180818E7F808339 -:1007F00024E5289DF001299DF00D1124E25FFE4EB5 -:1008000021853285438554856581768187819085F0 -:100810000F941E0D81115CCDA4963FADA49730932B -:10082000791A56CDD101CD92DD92ED92FC921397BB -:10083000A496BFADA497B093791ADACFC656DF4F0E -:100840000FB6F894DEBF0FBECDBFDF91CF911F91E1 -:100850000F91FF90EF90DF90CF90BF90AF909F905F -:100860008F907F906F905F904F903F902F90089562 -:100870000F931F93CF93DF930BE817E1C5ECD6E1FD -:10088000F80121913191419151918F0160E070E027 -:1008900080E89FE30F941C1569937993899399934A -:1008A000F6E1C53DDF0761F70E94B761DF91CF91A7 -:1008B0001F910F910C94E7D6CF92DF92EF92FF92A7 -:1008C000C0905D02D0905E02E0905F02F090600206 -:1008D000FC0180819181A281B38180935D0290931C -:1008E0005E02A0935F02B09360020E9470DDC0922E -:1008F0005D02D0925E02E0925F02F0926002FF9091 -:10090000EF90DF90CF9008952F923F924F925F9299 -:100910006F927F928F929F92AF92BF92CF92DF920F -:10092000EF92FF920F931F93CF93DF93CDB7DEB774 -:10093000A2970FB6F894DEBF0FBECDBF9F8F8E8FEC -:1009400079A368A323E83BE13A87298700E010E018 -:100950003FEF38874FEF4F835FEF5B8B8FE48C8BDC -:1009600093EC9D8BA7E4AE8B21E030E040E050E0BB -:10097000002E04C0220F331F441F551F0A94D2F7C4 -:100980002A8F3B8F4C8F5D8F47E257E15A8B498B03 -:100990008FE69BE19C878B87312C0AA3A989BA89B2 -:1009A0008D919D91BA8BA98BA0E0B0E02A8D3B8DF3 -:1009B0004C8D5D8D82239323A423B523892B8A2B11 -:1009C0008B2B09F0C8C0A985BA85CD90DD90ED903C -:1009D000FC90AB85BC852D913D914D915C912D870F -:1009E0003E874F87588BA7019601EE8DFF8D608162 -:1009F0007181828193810F9421142B013C012D85FB -:100A00003E854F855889A8A1B9A16D917D918D91A1 -:100A10009C910F9421144B015C01A3019201C3012D -:100A2000B2010F94840D2B013C01A5019401C50175 -:100A3000B4010F94840D9B01AC01C301B2010F946A -:100A400022140F94D0164B015C01A701960160910E -:100A50004B1770914C1780914D1790914E170F9432 -:100A600021146B017C012D853E854F85588960914D -:100A70004717709148178091491790914A170F9422 -:100A800021142B013C01A7019601C701B6010F9467 -:100A9000840D6B017C01A3019201C301B2010F948B -:100AA000840D9B01AC01C701B6010F9422140F9471 -:100AB000D01620E030E040E751E40F941C15A5016A -:100AC00094010F9422146B017C0180904F17909039 -:100AD0005017A0905117B090521720E030E040E836 -:100AE0005FE3C501B4010F9482161816FCF4C5012A -:100AF000B4010F948E154B015C01161617061806EB -:100B000019063CF40F946108A50194010F94961303 -:100B100003C060E070E0CB010F94250D9B01AC0198 -:100B2000B601C7010F9422146B017C012B893C890B -:100B30004D895E89B601C7010F941E0D87FF0BC05A -:100B4000BAA1B8873F822C2CDF8AE88EF98ECB8A37 -:100B5000DC8AED8AFE8A3394EB85FC853496FC872B -:100B6000EB87F5E03F121ACF0F5F1F4F29853A85BB -:100B70002C5F3F4F3A8729870530110509F0F4CEE5 -:100B80003F81E32FF0E0EE0FFF1FE95DF84E81E0BB -:100B900090E0088402C0880F991F0A94E2F7208130 -:100BA0003181822B932B91838083822D9F89A88D05 -:100BB000B98D8B839C83AD83BE83422D5C816D8117 -:100BC0007E8128853F8180E090E0A2960FB6F89460 -:100BD000DEBF0FBECDBFDF91CF911F910F91FF9070 -:100BE000EF90DF90CF90BF90AF909F908F907F90CD -:100BF0006F905F904F903F902F9008958C389105A3 -:100C00001CF02CE880E002C0282F892F2093B9081F -:100C10008093BA080C94F39A80E1ECE5FBE0AAEF2C -:100C2000BAE001900D928A95E1F708952F923F92D4 -:100C30004F925F926F927F928F929F92AF92BF92EC -:100C4000CF92DF92EF92FF920F931F93CF93DF9398 -:100C500000D01F921F92CDB7DEB77C018B016A01D5 -:100C6000190180905C0B90905D0BA0905E0BB09092 -:100C70005F0BA5019401FC016081718182819381E8 -:100C80000F941E0DF1E0FD83811112C02091600BC5 -:100C90003091610B4091620B5091630BF8016081C0 -:100CA0007181828193810F941E0D811101C01D827B -:100CB000F60140805180628073802091390230912A -:100CC0003A0240913B0250913C02C301B2010F94A1 -:100CD0001E0D882309F455C04092390250923A0201 -:100CE00060923B0270923C0220E030E040E05FE323 -:100CF0006091A3177091A4178091A5179091A617E2 -:100D00000F94840D69837A838B839C838092FA0A83 -:100D10009092FB0AA092FC0AB092FD0A8091600BAF -:100D20009091610BA091620BB091630B8093FE0ACE -:100D30009093FF0AA093000BB093010BF601808102 -:100D40009181A281B3818093020B9093030BA093B6 -:100D5000040BB093050B8091680B9091690BA091E7 -:100D60006A0BB0916B0B8093060B9093070BA093CB -:100D7000080BB093090BCE0101960E945C840E947F -:100D80000C86FD81F1110FC020E030E040EC5FE304 -:100D90006091A7177091A8178091A9179091AA1731 -:100DA0000F941C1504C060E070E080EA91E4698350 -:100DB0007A838B839C83F70180819181A281B381A7 -:100DC0008093FA0A9093FB0AA093FC0AB093FD0A61 -:100DD000F80180819181A281B3818093FE0A909372 -:100DE000FF0AA093000BB093010BF1012081318128 -:100DF000428153816091060B7091070B8091080B23 -:100E00009091090B0F9422146093060B7093070BBB -:100E10008093080B9093090BCE0101960E945C848D -:100E20000E940C860F900F900F900F900F90DF9103 -:100E3000CF911F910F91FF90EF90DF90CF90BF90D7 -:100E4000AF909F908F907F906F905F904F903F906A -:100E50002F9008958091621D9091631D009731F04D -:100E60004AE050E060E070E00D94140A60E070E049 -:100E7000CB0108950E942A8797FD0CC00E942A8703 -:100E80006F3F71058105910509F034F40E942A87AE -:100E9000862F089580E008958FEF08958091621D58 -:100EA0009091631D892B39F00E943A8791E081115E -:100EB00003C090E001C091E0892F08950E942A8725 -:100EC000CB0108950F931F93CF938091621D909152 -:100ED000631D009711F1FC018F01C1912C2F2F7D13 -:100EE000A9F0C53411F0C536B9F7F801108260E0F9 -:100EF00070E08091621D9091631D0F94B808F80115 -:100F0000C083562F472F382F292F0BC060E070E089 -:100F1000CF911F910F910D94B80850E040E030E060 -:100F200020E0652F742F832F922FCF911F910F9167 -:100F3000089581548A3108F042C0E82FF0E04091D2 -:100F4000A8185091A9186091AA187091AB1804C004 -:100F500076956795579547958A95D2F7842F817036 -:100F600040FF2FC0E257F74E9081992309F1E0919D -:100F70004D0BF0914E0BE90FF11D908120ED290FE3 -:100F80002A3098F09E3211F491810CC09D3211F0FC -:100F90009B3271F4918120ED290F2A3030F09E327E -:100FA00039F4928190539A3018F42E2F9F2F02C05B -:100FB00020E090E02093621D9093631D089580E0EF -:100FC000089508950E949987882341F081E0209137 -:100FD000621D3091631D232B09F480E00895CF93A7 -:100FE000DF93C82FD62F0E94E287882321F0DF915C -:100FF000CF910C944E878C2F0E949987811101C04C -:101000008D2FDF91CF9108952F923F924F925F9253 -:101010006F927F928F929F92AF92BF92CF92DF9208 -:10102000EF92FF920F931F93CF93DF93CDB7DEB76D -:10103000C755D1090FB6F894DEBF0FBECDBF8BE206 -:101040009DE10E9438C00E94736281110C94FC9053 -:1010500084E50E94E287882329F00E945E8760E091 -:101060000E94D59480E090E0A0E8BFE38093F20A6C -:101070009093F30AA093F40AB093F50A8093F60ACA -:101080009093F70AA093F80AB093F90A8DEC9CECC0 -:10109000ACE4BEE38093EE0A9093EF0AA093F00ACB -:1010A000B093F10A80E090E0A0E2B1E48093581799 -:1010B00090935917A0935A17B0935B178CE390E065 -:1010C00090935717809356178DEC90E09093551797 -:1010D00080935417109253174AE959E969E97EE35E -:1010E0008FE40E94BEB76BAF7CAF8DAF9EAF60E068 -:1010F00083E40E94EF8766968FAF669760E08BE48B -:101100000E94EF8767968FAF679782E40E94E2871D -:101110008823C9F00E9462870F948E157093571729 -:10112000609356176115710571F068527109653643 -:10113000710548F06CE870E08DEF9CE10E94D8C129 -:1011400088EF9CE1AEC18CE40E94E287882301F124 -:101150000E9462876B017C016093EE0A7093EF0A34 -:101160008093F00A9093F10A20E030E0A9010F94F7 -:10117000821687FD0AC020E030E040E050E4C7015D -:10118000B6010F941E0D18161CF480ED9CE189C168 -:1011900081E50E949987882351F18091621D909189 -:1011A000631D892B09F10E9462876B017C016093AA -:1011B000F60A7093F70A8093F80A9093F90A2DECD7 -:1011C0003CEC4CE45DE30F94821687FD0AC020E0FE -:1011D00030E040E751E4C701B6010F941E0D181628 -:1011E00034F48FE99CE15DC184E79CE15AC183E559 -:1011F0000E94E2878823C9F00E9462874B015C014C -:101200002DEC3CEC4CEC5DE30F94821687FD0AC09C -:1012100020E030E040E050E4C501B4010F941E0D21 -:10122000181654F48DE49CE13CC1FDEC8F2EFCECCF -:101230009F2EA92CFEE3BF2E80E50E94998788236C -:1012400071F18091621D9091631D892B19F485E1E4 -:101250009CE127C1809153178F5F809353170E94A1 -:1012600062876B017C0160935817709359178093C4 -:101270005A1790935B1720E030E0A9010F94821673 -:1012800087FD0AC020E030E048EC51E4C701B60118 -:101290000F941E0D18161CF48DEE9BE102C186E41E -:1012A0000E94E2878823C9F00E9462876B017C015B -:1012B00020E030E040E85FE30F94821687FD0AC02B -:1012C00020E030E040E850E4C701B6010F941E0D65 -:1012D00018164CF484EC9BE1E4C0C12CD12CE0EE58 -:1012E000EE2EEFE3FE2EA7019601C701B6010F9483 -:1012F000840D9B01AC0160E070E084E490E40F9405 -:101300001C152091F20A3091F30A4091F40A509191 -:10131000F50A0F94840D2B013C01A5019401C50130 -:10132000B4010F94840DA70196010F94840D2CEE47 -:1013300031E548EB5DE30F941C159B01AC01C30143 -:10134000B2010F94840D6093F20A7093F30A8093B4 -:10135000F40A9093F50A88E40E94E287882381F0DA -:101360000E9462870F948E157093551760935417DF -:10137000655A71096838710518F086E99BE191C0DA -:1013800085E50E9499878823F1F00E9444676115E2 -:1013900071058105910511F00F94AF088091621DD0 -:1013A0009091631D892B19F00E94628704C060E050 -:1013B00070E088E492E460934F1770935017809325 -:1013C00051179093521782E50E949987811103C0AB -:1013D00082E69BE166C08091621D9091631D892B1E -:1013E00061F00E945E872F969FAF8EAF2F971816E1 -:1013F00019064CF08EE29BE154C00AE110E02F96F2 -:101400001FAF0EAF2F9788E50E94E287882369F00F -:101410000E9462872091BD183091BE184091BF187C -:101420005091C0180F94211408C060915C0B70910A -:101430005D0B80915E0B90915F0B60934B177093E7 -:101440004C1780934D1790934E1789E50E94E287C1 -:10145000882379F00E9462872091C1183091C218C8 -:101460004091C3185091C4180F942114AB01BC01D2 -:1014700008C04091600B5091610B6091620B7091BC -:10148000630B409347175093481760934917709325 -:101490004A178BE497E10E9408FB811105C084E0A4 -:1014A0009BE10E9438C0A8C684E40E94998791E01D -:1014B00089270E94BDBF20E030E040EA50E46091FF -:1014C000640B7091650B8091660B9091670B0F9484 -:1014D0001E0D87FF1CC0198A1A8A1B8A1C8A80E08D -:1014E00090E0A0EAB0E489839A83AB83BC83BE0119 -:1014F0006F5E7F4FCE0101960E946BE180E1EAEFC3 -:10150000FAE0ACE5BBE001900D928A95E1F710910D -:101510003D1968961FAF689710923D190E9449DAED -:1015200083EE9AE10E9438C0809156179091571728 -:101530008A31910574F480915417909155170E9447 -:1015400017A461E080915B0B0E945693811109C042 -:1015500064C50E94FE8581E00E94D7918111EBCF86 -:101560005CC51092680B1092690B10926A0B109276 -:101570006B0B88E69BE00E946FD7809153178823FE -:10158000B1F10E940C862091060B3091070B40911F -:10159000080B5091090B6091581770915917809161 -:1015A0005A1790915B170F9422146093060B709357 -:1015B000070B8093080B9093090B20E030E040E785 -:1015C00051E46091A7177091A8178091A917909185 -:1015D000AA170F941C1569837A838B839C83CE0191 -:1015E00001960E945C840E940C860E94226380E225 -:1015F000E7E2F7E1DF01082F1D920A95E9F7E7E03E -:10160000F7E1DF01082F1D920A95E9F7E7EEF6E111 -:10161000DF011D928A95E9F70E940C868091EE0AFF -:101620009091EF0AA091F00AB091F10A8093020B19 -:101630009093030BA093040BB093050B19821A82AD -:101640001B821C829E012F5F3F4F42E05BE06EEFEA -:101650007AE08AEF9AE00E9416869E01255C3F4F51 -:1016600042E05BE06EEF7AE08AEF9AE00E94168635 -:1016700066960FAD6697002329F060E67BE08CE567 -:101680009BE004C067E477E18BE497E10E948484E7 -:10169000298F3A8F4B8F5C8F6D8F7E8F3FAF2D964A -:1016A0002FAF2D972D961FAD2D9717FD9EC40FAD13 -:1016B00007FD9BC424E01202F0011124ED57F44E03 -:1016C0004080518062807380C201D3018FAB98AF9C -:1016D000A9AFBAAF34E00302F0011124E159F44E8E -:1016E0001081C18032802380412F5C2D632D722DAB -:1016F000CE01C7960E9408FB882309F47AC420E033 -:1017000030E040EA50E4B201C3010F942214F62EF7 -:10171000072FD82EE92E862F902FAD2DBE2D8BAB07 -:101720009CABADABBEAB812F9C2DA32DB22D8FA753 -:1017300098ABA9ABBAAB2D964FAD2D97411146C0D2 -:101740005FAD51111FC020E030E040EA50E4612F4E -:101750007C2D832D922D0F94221421966FAF21970B -:1017600023967FAF239725968FAF259727969FAF18 -:1017700027970FADF42C002309F4C2C0052DD62CF9 -:10178000E72C82C0C201D3018BAB9CABADABBEAB2F -:1017900020E030E040EA50E4612F7C2D832D922D33 -:1017A0000F9421146FA778AB89AB9AAB2FAD24307F -:1017B00054F221961FAF21972396CFAE23972596FB -:1017C0003FAE259727962FAE27975EC02D964FAD3B -:1017D0002D9744300CF45CC00FAD04305CF020E079 -:1017E00030E040EA50E4B201C3010F942114362FD7 -:1017F000272F03C0342D252DC301432F522FBC01A9 -:101800004BAB5CAB6DAB7EAB0FAD01111FC020E0ED -:1018100030E040EA50E4B201C3010F942114F62EE7 -:10182000072FD82EE92E20E030E040EA50E4612F67 -:101830007C2D832D922D0F9422146FA778AB89AB4A -:101840009AAB2FAD222309F45FC008C00FADF42C72 -:1018500004300CF4CDC4052DD62CE72C20E030E06C -:1018600040EA50E4612F7C2D832D922D0F9421149A -:1018700021966FAF219723967FAF239725968FAF41 -:10188000259727969FAF27973FAD343084F148C006 -:101890004FAD41110FC020E030E040E251E46F2D28 -:1018A000702F8D2D9E2D0F942114F62E072FD82EDC -:1018B000E92E11C05FAD5430E4F120E030E040E2A9 -:1018C00051E46F2D702F8D2D9E2D0F9421146BAB35 -:1018D0007CAB8DAB9EAB21961FAF21972396CFAEED -:1018E000239725963FAE259727962FAE279772ED23 -:1018F000872E73E5972E7BE7A72E71E4B72E2DC0B8 -:10190000052DD62CE72C0CC021961FAF21972396CE -:10191000CFAE239725963FAE259727962FAE2797D4 -:1019200062ED862E63E5962E6BEFA62E60E4B62E52 -:1019300014C021961FAF21972396CFAE23972596EB -:101940003FAE259727962FAE279752ED852E53E56C -:10195000952E5BEFA52E51E4B52E8BA99CA9ADA9C0 -:10196000BEA92C968CAF9DAFAEAFBFAF2C979C019C -:10197000AD01B201C3010F942114698B7A8B8B8B5B -:101980009C8B4FA458A869A87AA8A3019201612F43 -:101990007C2D832D922D0F9421146D8B7E8B8F8B3C -:1019A000988F2C962CAD3DAD4EAD5FAD2C976091D0 -:1019B0005C0B70915D0B80915E0B90915F0B0F94AF -:1019C00021142C966CAF7DAF8EAF9FAF2C97A301E7 -:1019D00092016091600B7091610B8091620B90910C -:1019E000630B0F9421142B013C018F2D902FAD2DF3 -:1019F000BE2D89839A83AB83BC8321968FAD2197BB -:101A000023969FAD23972596AFAD25972796BFAD1B -:101A100027978D839E83AF83B8878091EE0A90913C -:101A2000EF0AA091F00AB091F10A89879A87AB87F3 -:101A3000BC872DEC3CEC4CEC5CE3C501B4010F948D -:101A4000840D2091F20A3091F30A4091F40A5091EA -:101A5000F50A0F94840D2091680B3091690B409129 -:101A60006A0B50916B0B0F9422146D877E878F87C2 -:101A7000988B2C962CAD3DAD4EAD5FAD2C97CA0129 -:101A8000B9010F94840D6B017C01A3019201C30184 -:101A9000B2010F94840D9B01AC01C701B6010F94F4 -:101AA000221420E030E040E050E40F948216181633 -:101AB0000CF047C00E9422631BA21CA21DA21EA202 -:101AC00020E030E040E05FE36091640B7091650BD3 -:101AD0008091660B9091670B0F9422146F8F78A3FF -:101AE00089A39AA39E012D5D3F4FAE01415E5F4FDA -:101AF00060E67BE08CE59BE00E9416861BA21CA2A0 -:101B00001DA21EA220E030E040E05FE36091EE0AFB -:101B10007091EF0A8091F00A9091F10A0F942214CB -:101B20006F8F78A389A39AA39E012D5D3F4FAE01CD -:101B3000415E5F4FBE01615D7F4FCE01C3960E9443 -:101B400016861F8E18A219A21AA29E01215E3F4F6F -:101B50004EEE5AE0BE01615D7F4FCE01C3960E94FA -:101B600016860E944E6340905D0250905E02609027 -:101B70005F0270906002E0909F17F090A0170091B4 -:101B8000A1171091A217A0909B17B0909C17C0901E -:101B90009D17D0909E179501A601B701C8010F941B -:101BA0008216181614F47501860120E030E040E238 -:101BB00051E4B701C8010F941C1560935D02709346 -:101BC0005E0280935F029093600240E0BE016F5E10 -:101BD0007F4FCE0101960E94FDC740925D02509258 -:101BE0005E0260925F02709260020E940C8603E8BF -:101BF0001BE122961FAF0EAF2297212C312C822D94 -:101C00001FEF211A310A412C512C32014394082E26 -:101C100004C0440C551C661C771C0A94D2F741E0A2 -:101C200050E060E070E0022C04C0440F551F661FB6 -:101C3000771F0A94D2F78A019B01042915292629C6 -:101C4000372965960CAF1DAF2EAF3FAF659701E00A -:101C500010E002C0000F111F8A95E2F761961FAFD6 -:101C60000EAF619707EE16E127E237E128963FAF06 -:101C70002EAF289747E057E126965FAF4EAF2697E5 -:101C80008FE69BE124969FAF8EAF24972896AEAD4A -:101C9000BFAD28972A96BFAFAEAF2A978D919C9182 -:101CA000A0E0B0E065962CAD3DAD4EAD5FAD659763 -:101CB00082239323A423B52382179307A407B50790 -:101CC00009F09EC02696AEADBFAD26978D919C9132 -:101CD000A0E0B0E084219521A621B721892B8A2B91 -:101CE0008B2B09F08DC020E030E040E050E42296DC -:101CF000AEADBFAD22976D917D918D919C910F946A -:101D000022146B017C016BA77CA78DA79EA720E006 -:101D100030E040E050E42296EEADFFAD22976481C2 -:101D20007581868197810F9421144B015C016BA30F -:101D30007CA38DA39EA320E030E040E85FE3C701D1 -:101D4000B6010F941E0D87FFD1C180E090E0A0E89E -:101D5000BFE38BA79CA7ADA7BEA72496AEADBFAD32 -:101D60002497CD90DD90ED90FC9020E030E040E8AD -:101D70005FE3C701B6010F941E0D87FDC7C120E0C8 -:101D800030E845E953E4C701B6010F9482161816EE -:101D90003CF4C12C30E8D32E35E9E32E33E4F32EA6 -:101DA000CF8ED8A2E9A2FAA2CFA2D8A6E9A6FAA617 -:101DB00020E030E040E85FE3C501B4010F941E0D60 -:101DC00087FFABC180E090E0A0E8BFE38BA39CA3BA -:101DD000ADA3BEA3B701A601CE018B960E9408FB5E -:101DE0008111ABC12696EEADFFAD26978081918122 -:101DF00061962EAD3FAD6197822B932B91838083AB -:101E000028964EAD5FAD28974E5F5F4F28965FAF27 -:101E10004EAF28972A96AEADBFAD2A978D919C9173 -:101E2000A0E0B0E084219521A621B721892B8A2B3F -:101E30008B2B09F4B0C0FA0180819181A0E0B0E061 -:101E400084219521A621B721892B8A2B8B2B09F47C -:101E5000A2C0F80180819181A0E0B0E084219521A9 -:101E6000A621B721892B8A2B8B2B09F094C020E067 -:101E700030E040E050E42496AEADBFAD24976D91C4 -:101E80007D918D919C910F9422142C966CAF7DAF17 -:101E90008EAF9FAF2C976FA378A789A79AA720E052 -:101EA00030E040E050E42496EEADFFAD249764812D -:101EB0007581868197810F9421144B015C016F8F8E -:101EC00078A389A39AA32296AEADBFAD2297CD90F9 -:101ED000DD90ED90FC9020E030E040E85FE3C7014A -:101EE000B6010F941E0D87FD3FC120E030E845E9A3 -:101EF00053E4C701B6010F94821618163CF4C12CA6 -:101F000090E8D92E95E9E92E93E4F92ECBA2DCA234 -:101F1000EDA2FEA2CBA6DCA6EDA6FEA620E030E058 -:101F200040E85FE32C966CAD7DAD8EAD9FAD2C97F8 -:101F30000F941E0D87FF1FC180E090E0A0E8BFE373 -:101F40008FA398A7A9A7BAA720E030E040E85FE3F5 -:101F5000C501B4010F941E0D87FF21C180E090E000 -:101F6000A0E8BFE38F8F98A3A9A3BAA34FA158A558 -:101F700069A57AA5CE018B960E9408FB81111FC12D -:101F8000F8018081918161962EAD3FAD6197822BE2 -:101F9000932B918380830E5F1F4F26964EAD5FADCE -:101FA00026974E5F5F4F26965FAF4EAF26972496DB -:101FB0008EAD9FAD2497049624969FAF8EAF249745 -:101FC000A1EFB6E1A017B10709F060CE22960EADE1 -:101FD0001FAD22970C5F1F4F22961FAF0EAF2297A7 -:101FE00015E02116310409F00ACE8091F017809394 -:101FF000F1172F960EAD1FAD2F97015011092F9697 -:102000001FAF0EAF2F97012B41F02D961FAD2D97CF -:1020100017FD03C00FAD07FF2BCB6FEF88EF9AE1E1 -:102020000E94BFD30E94226380E090E0A0EAB0E467 -:102030008093020B9093030BA093040BB093050BBA -:1020400019821A821B821C829E012F5F3F4F42E041 -:102050005BE06EEF7AE08AEF9AE00E94168680914C -:102060004B1790914C17A0914D17B0914E1780933C -:10207000FA0A9093FB0AA093FC0AB093FD0A8091A0 -:10208000471790914817A0914917B0914A1780932C -:10209000FE0A9093FF0AA093000BB093010B1982E4 -:1020A0001A821B821C829E012F5F3F4F42E05BE041 -:1020B0006EEF7AE08AEF9AE00E94168668961FAD6E -:1020C000689710933D190E9449DA67960FAD67979C -:1020D000011192C01092BA081092B9080E94F39AA6 -:1020E00080915B0B90E00E9417A486C020E030E84E -:1020F00045E953E4C701B6010F94821618160CF097 -:102100002CCE80E090E8A5E9B3E423CEC12CD12CFD -:1021100020E8E22E2FE3F22E43CE20E030E845E91E -:1021200053E4C501B4010F94821618160CF052CE78 -:1021300080E090E8A5E9B3E449CEB701A601CE015D -:1021400083960E9408FB882309F44CCE9E01215EF1 -:102150003F4FAE014D5D5F4FBE01695D7F4FCE01C8 -:102160008B960E947E633ECEC12CD12C80E8E82E57 -:102170008FE3F82ECBCE20E030E845E953E42C96EF -:102180006CAD7DAD8EAD9FAD2C970F948216181659 -:102190000CF0DACE80E090E8A5E9B3E4D1CE20E0FF -:1021A00030E845E953E4C501B4010F9482161816CE -:1021B0000CF0DCCE80E090E8A5E9B3E4D3CE4F8DFF -:1021C00058A169A17AA1CE0183960E9408FB8823B9 -:1021D00009F4D6CE9E01215E3F4FAE014D5D5F4FAB -:1021E000BE01695D7F4FCE018B960E947E63C8CE93 -:1021F000052DD62CE72C17CBC95ADF4F0FB6F89414 -:10220000DEBF0FBECDBFDF91CF911F910F91FF9029 -:10221000EF90DF90CF90BF90AF909F908F907F9086 -:102220006F905F904F903F902F900895EF92FF92A4 -:102230000F931F93CF937C018B014F3F11F4C2E4A6 -:1022400001C0C4E580E20E943F4C8C2F0E943F4CAD -:102250008AE30E943F4CF701608171818281938102 -:1022600042E00E94CF4CF80140815181628173812C -:1022700083E09EE10E94C7C162E070E080E090E0F0 -:10228000CF911F910F91FF90EF900C940A6760918E -:10229000A2087091A308072E000C880B990B0F94CD -:1022A000250D20919E0830919F084091A0085091E3 -:1022B000A1080F94821618161CF08FE09EE102C050 -:1022C0008CE19EE160E00C94BFD31F93CF93DF932A -:1022D000CDB7DEB728970FB6F894DEBF0FBECDBFDF -:1022E000182F6091A2087091A308072E000C880B8C -:1022F000990B0F94250D6D837E838F839887809132 -:102300009E0890919F08A091A008B091A108898390 -:102310009A83AB83BC834CEFBE016B5F7F4FCE01D2 -:1023200001960E9416916091B9087091BA08072E23 -:10233000000C880B990B0F94250D6D837E838F8382 -:1023400098878091B5089091B608A091B708B09190 -:10235000B80889839A83AB83BC834FEFBE016B5F60 -:102360007F4FCE0101960E9416911F3F41F087E1F9 -:102370001802F0011124E656F74F628502C0609101 -:10238000BB0870E08BE09EE10E94D8C16091BB0861 -:1023900070E086E09EE10E94D8C128960FB6F894BE -:1023A000DEBF0FBECDBFDF91CF911F9108952F9259 -:1023B0003F924F925F926F927F928F929F92AF92D5 -:1023C000BF92CF92DF92EF92FF920F931F93CF9322 -:1023D000DF93CDB7DEB763970FB6F894DEBF0FBEBD -:1023E000CDBF898B81E0809316021A821B821C82EA -:1023F0001D8219861A861B861C8619821D862CE36F -:102400002E873CE13F8746E4488B312C212C50E855 -:102410005A8B8FEB8B8B91E09887812C912C5401F8 -:102420006091B9087091BA08072E000C880B990BBF -:102430000F94250D7B018C019B01AC01632D722D46 -:102440008A899B890F941E0D882361F16091B508DC -:102450007091B6088091B7089091B808A989A11128 -:102460000EC0B1E0B9839701A8010F948216181627 -:102470000CF019823E2C2F2C0A8B1B8B13C097015A -:10248000A8010F948216181644F48091160288232E -:1024900009F4F1C00E9443D4EEC03E2C2F2C0A8BCD -:1024A0001B8B19820E9444676B017C01DC01CB010C -:1024B00029853A854B855C85821B930BA40BB50B54 -:1024C000B7FD34C0D701C60188519C4FAF4FBF4FF5 -:1024D00089879A87AB87BC8780915B0B0E94659147 -:1024E0008DE29EE10E9438C081149104A104B104E0 -:1024F000B9F0D501C401805F984DAF4FBF4FBC010B -:10250000CD016C197D098E099F0928EE33E040E06A -:1025100050E00F947413CA01B9010E94B34C03C078 -:102520008FE30E943F4C8AE00E943F4C80E00E9473 -:102530006B4D0E94446760935C1970935D198093A2 -:102540005E1990935F199091B5089E83A091B6088B -:10255000AF830091B7081091B808292F3A2FA8012E -:10256000632D722D8A899B890F9421142B013C01C4 -:1025700020E030E0A9010F94821687FF04C077FAAB -:10258000709477F8709481149104A104B104B1F4AB -:1025900020E030E040E85FE3C301B2010F941E0D7C -:1025A00087FF18C0B88546015701BB2399F020E189 -:1025B000820E27E2921EA11CB11C0CC020E030E06C -:1025C00040E450E4C301B2010F948216181614F4CB -:1025D0004601570139813323A9F18A819B81AC815E -:1025E000BD81892B8A2B8B2B61F0D701C6012A81F3 -:1025F0003B814C815D81821B930BA40BB50BB7FD16 -:1026000021C02E813F81A8016D857E858F859889A7 -:102610000F94211420E030E040EC5FE30F941E0D96 -:1026200087FD33CFD701C601805A9541AF4FBF4FC9 -:102630008A839B83AC83BD839E819D87AF81AE8758 -:102640000F87188B80911602882309F41ECF8114FE -:102650009104A104B10411F41886E2CEB0E1CB1AC2 -:10266000B7E2DB0AE108F108C818D908EA08FB0854 -:10267000F7FCF2CF0ACF8091160263960FB6F8945A -:10268000DEBF0FBECDBFDF91CF911F910F91FF90A5 -:10269000EF90DF90CF90BF90AF909F908F907F9002 -:1026A0006F905F904F903F902F9008952F923F92A0 -:1026B0004F925F926F927F928F929F92AF92BF9252 -:1026C000CF92DF92EF92FF920F931F93CF93DF93FE -:1026D000CDB7DEB764970FB6F894DEBF0FBECDBF9F -:1026E000898B6A8B81E0809316021A821B821C827E -:1026F0001D8219861A861B861C8621E0288719826E -:102700001D863CE33E874CE14F8756E4588B312CC5 -:10271000212C80E88B8B9FEB9C8B812C912C54017E -:102720006091A2087091A308072E000C880B990BEA -:102730000F94250D7B018C019B01AC01632D722D43 -:102740008B899C890F941E0D882361F160919E08EE -:1027500070919F088091A0089091A108AA89A11169 -:102760000EC0B1E0B9839701A8010F948216181624 -:102770000CF019823E2C2F2C0B8B1C8B13C0970155 -:10278000A8010F948216181644F48091160288232B -:1027900009F4F0C00E9443D4EDC03E2C2F2C0B8BCB -:1027A0001C8B19820E9444676B017C01DC01CB0108 -:1027B00029853A854B855C85821B930BA40BB50B51 -:1027C000B7FD33C0D701C60188519C4FAF4FBF4FF3 -:1027D00089879A87AB87BC8789890E94659189E23E -:1027E0009EE10E9438C081149104A104B104B9F0A3 -:1027F000D501C401805F984DAF4FBF4FBC01CD01E3 -:102800006C197D098E099F0928EE33E040E050E005 -:102810000F947413CA01B9010E94B34C03C08FE333 -:102820000E943F4C8AE00E943F4C80E00E946B4D2A -:102830000E94446760935C1970935D1980935E19E0 -:1028400090935F1990919E089E83A0919F08AF83FB -:102850000091A0081091A108292F3A2FA801632DFB -:10286000722D8B899C890F9421142B013C0120E04F -:1028700030E0A9010F94821687FF04C077FA7094A4 -:1028800077F8709481149104A104B104B1F420E0AC -:1028900030E040E85FE3C301B2010F941E0D87FFF3 -:1028A00018C0B88546015701BB2399F020E1820E7C -:1028B00027E2921EA11CB11C0CC020E030E040E4D5 -:1028C00050E4C301B2010F948216181614F44601A5 -:1028D000570139813323A9F18A819B81AC81BD8164 -:1028E000892B8A2B8B2B61F0D701C6012A813B8172 -:1028F0004C815D81821B930BA40BB50BB7FD21C0EE -:102900002E813F81A8016D857E858F8598890F94E2 -:10291000211420E030E040EC5FE30F941E0D87FDB2 -:1029200034CFD701C601805A9541AF4FBF4F8A833C -:102930009B83AC83BD839E819D87AF81AE870F87CC -:10294000188B80911602882309F41FCF81149104FB -:10295000A104B10411F41886E3CEB0E1CB1AB7E2BA -:10296000DB0AE108F108C818D908EA08FB08F7FCF7 -:10297000F2CF0BCF8091160264960FB6F894DEBFAB -:102980000FBECDBFDF91CF911F910F91FF90EF90C0 -:10299000DF90CF90BF90AF909F908F907F906F907F -:1029A0005F904F903F902F9008952F923F924F92BB -:1029B0005F926F927F928F929F92AF92BF92CF92CF -:1029C000DF92EF92FF920F931F93CF93DF93CDB7D8 -:1029D000DEB729970FB6F894DEBF0FBECDBFF82E35 -:1029E000762E0E945ED781E08F1598F40E94FCC17C -:1029F00084E50E943F4C6F2D70E080E090E00E94E3 -:102A0000B34C80E20E943F4C81E39EE10E9438C0BB -:102A1000F7C1711008C080910A0B877077247394F6 -:102A2000873009F4712C90905B0B81E087258987B2 -:102A3000882389F08824839420E030E0A901609104 -:102A4000C9177091CA178091CB179091CC170F942A -:102A50001E0D811101C0812C8091C81783FD53C1C7 -:102A60008091C71781114FC12091A2083091A3080E -:102A70008091610290916202281739070CF043C1DE -:102A8000882049F00E94FCC185E59EE10E9438C083 -:102A9000F0925B0BB5C166246394F91409F424C168 -:102AA00020905D0230905E0240905F025090600284 -:102AB00080E090E0A8ECB2E480935D0290935E0227 -:102AC000A0935F02B093600280E00E9445E081E045 -:102AD0000E9445E082E00E9445E00E940C868985C4 -:102AE000882309F470C02091DD173091DE174091E2 -:102AF000DF175091E0176091640B7091650B809126 -:102B0000660B9091670B0F9422146093640B709383 -:102B1000650B8093660B9093670BA0905902B09061 -:102B20005A02C0905B02D0905C02A60195010F94FE -:102B30008216181644F4A092640BB092650BC092F2 -:102B4000660BD092670BA12CB12C6501E0905B0B5A -:102B500003EA17E128E63BE044E65BE060E67BE061 -:102B60008CE59BE00E94DFD98091D5179091D61714 -:102B7000A091D717B091D81780935C0B90935D0B01 -:102B8000A0935E0BB0935F0B8091D9179091DA17E9 -:102B9000A091DB17B091DC178093600B9093610BD1 -:102BA000A093620BB093630BE92C0DE512E028E6CD -:102BB0003BE044E65BE060E67BE08CE59BE00E9466 -:102BC000DFD90E945ED720E030E0A90160915C0B64 -:102BD00070915D0B80915E0B90915F0B0F942214AE -:102BE00060935C0B70935D0B80935E0B90935F0B17 -:102BF00020E030E0A9016091600B7091610B809141 -:102C0000620B9091630B0F9422146093600B70938E -:102C1000610B8093620B9093630B20E030E0A9017D -:102C20006091640B7091650B8091660B9091670BBE -:102C30000F9422146093640B7093650B8093660B62 -:102C40009093670BF0925B0B0E94A6E1711044C059 -:102C500080914402882309F43FC0892D90E0FC0153 -:102C6000ED53F84E2091C51720836F2D70E0FB01C6 -:102C7000ED53F84E20812093C5172091A208309182 -:102C8000A308880F991FFC01E154F84E318320837B -:102C9000660F771FFB01E154F84E80819181009708 -:102CA00061F02817390749F00E9417A480E00E94BC -:102CB000479160E080E00E945693811050C08AEFF7 -:102CC0009AE00E94D9DC8985882331F063EA77E1B4 -:102CD00082E09BE00E946BE120925D0230925E02F6 -:102CE00040925F02509260020E945ED70E94FCC137 -:102CF00060915B0B70E083E49EE10E94D8C18AE0A2 -:102D00000E943F4C7DC0882041F16091D3177091A3 -:102D1000D417072E000C880B990B0F94250D20E07B -:102D200030E040E752E40F941C156D837E838F835F -:102D300098878091C9179091CA17A091CB17B0912D -:102D4000CC17B05889839A83AB83BC83BE016B5F79 -:102D50007F4FCE0101960E945ABF612C9ECE61101A -:102D6000AECF6091D1177091D217072E000C880B4F -:102D7000990B0F94250D20E030E040E752E40F94CA -:102D80001C1569837A838B839C83BE016F5F7F4FA1 -:102D900089EC97E10E945ABF80E090E0A0E4B0E4A3 -:102DA00089839A83AB83BC83BE016F5F7F4F8DECB9 -:102DB00097E10E945ABF0E945ED720E030E040E0D9 -:102DC00050E46091680B7091690B80916A0B90914F -:102DD0006B0B0F9421146093680B7093690B8093B5 -:102DE0006A0B90936B0B6093060B7093070B8093A9 -:102DF000080B9093090B86E09BE00E946FD75FCF92 -:102E000029960FB6F894DEBF0FBECDBFDF91CF91EC -:102E10001F910F91FF90EF90DF90CF90BF90AF90F8 -:102E20009F908F907F906F905F904F903F902F90EA -:102E30000895EF92FF920F931F93CF93DF938091AA -:102E400043028F37A0F08F579091A4089093EF170B -:102E5000992311F02C9A01C02C982091BB08209343 -:102E6000EE1790910201222369F090950BC090918A -:102E7000EF17891708F02C989091EE17891728F012 -:102E8000909102019072909300018F5F80934302B2 -:102E90009091ED1781E089278093ED178091420290 -:102EA00085301CF411E0180F01C010E0823009F4E5 -:102EB000B9C054F4882301F1813009F0E8C088E0FA -:102EC00080937B0085E4C5C0843009F4CAC00CF44B -:102ED000BCC0853009F0DBC09091EC17911102C0A5 -:102EE0008093EC178091EC1781508093EC17882326 -:102EF00009F4CDC015E0CBC0809141028F5F8031D5 -:102F00001CF480934102C3C0109241028091731758 -:102F1000811113C080919A0890919B0890939D080D -:102F200080939C088091B1089091B2089093B40866 -:102F30008093B30881E08093731710929B081092DE -:102F40009A081092B2081092B108E0909C08F09094 -:102F50009D08F194E194F1088091A2089091A30852 -:102F600001E0181619062CF08091A408811101C007 -:102F700000E0809110029091110291958195910944 -:102F80008E159F053CF443E75DE164E97DE180E057 -:102F90000E940BF3002389F080910E0290910F02A2 -:102FA000919581959109E816F9063CF446EA5DE1B0 -:102FB00067EC7DE180E00E940BF38091B90890916D -:102FC000BA0801E0181619062CF08091BB0881118F -:102FD00001C000E02091B3083091B4088091C90885 -:102FE0009091CA08821793073CF043E85DE164E9D9 -:102FF0007DE18FEF0E940BF3002309F448C020917C -:10300000B3083091B40880910C0290910D022817FA -:103010003907ECF146EB5DE167EC7DE18FEF0E9453 -:103020000BF335C080917A0086FD2EC08091780028 -:103030009091790020919A0830919B08820F931FFC -:1030400090939B0880939A0822C088E080937B002D -:1030500086E480937C0080917A00806480937A007B -:1030600016C080917A0086FD11C080917800909101 -:1030700079002091B1083091B208820F931F90938C -:10308000B2088093B10803C012E001C014E01093AD -:10309000420220916019309161192115310509F41E -:1030A0003AC0F89490910901927080910801817062 -:1030B0008093060180910B01121613060CF0809587 -:1030C00082708093090100000000000080910B01D4 -:1030D000809588708093090184E08A950000E9F763 -:1030E00080910B0188708093090180910B019111EF -:1030F00080958270809309017894809160199091F5 -:1031000061191216130614F4019701C001969093E9 -:1031100061198093601980917417882309F44DC058 -:10312000809140028E5F8F7780934002811145C06D -:103130008CB185FB882780F9C82F80E0D82F80913B -:10314000030181FDC2604B99C4600091EA171091A0 -:10315000EB170C271D270115110579F100FF07C09A -:10316000BE01617077278EEE9DE10E94D8C101FFFC -:1031700008C06C2F6695617070E085EE9DE10E943D -:10318000D8C102FF08C0C2FB662760F970E08CED71 -:103190009DE10E94D8C189ED9DE10E9438C0109147 -:1031A000E917612F70E08DE00E9422661095109360 -:1031B000E917D093EB17C093EA178091DD088111CE -:1031C0000E9459E28091751790917617009769F0E7 -:1031D00001979093761780937517892B31F487EFB9 -:1031E0009DE19093EE088093ED08DF91CF911F91C0 -:1031F0000F91FF90EF9008950F930FB70F930091E9 -:103200006E000B7F00936E0078940F930BB70F93B3 -:103210000CB70F921F922F933F934F935F936F932F -:103220007F938F939F93AF93BF93EF93FF9311245B -:103230000E941997FF91EF91BF91AF919F918F914C -:103240007F916F915F914F913F912F911F900F90C0 -:103250000CBF0F910BBF0F910460F89400936E00A8 -:103260000F910FBF0F9118952F923F924F925F923F -:103270006F927F928F929F92AF92BF92CF92DF9286 -:10328000EF92FF920F931F93CF93DF93CDB7DEB7EB -:1032900029970FB6F894DEBF0FBECDBF1C017B830C -:1032A0006A8329831F830E83FD82EC8227FD10C071 -:1032B000022E000C330B39872887398185E03802CC -:1032C000F0011124E359F84E84818823E1F008C00D -:1032D00080916C17882399F0E1E0F0E0F987E887A6 -:1032E000F1011482E885F985EE0FFF1FEE0FFF1F35 -:1032F000EF51F84E10821182128213822EC021E00B -:1033000030E039872887FA01C080D180E280F380DD -:1033100008851985000F111F000F111F0F51184E3E -:10332000A7019601F80160817181828193810F94D8 -:103330001E0D882391F0F801C082D182E282F382CF -:1033400011E020E030E0A901C701B6010F94821618 -:1033500018160CF010E0F1011483F1018481823021 -:10336000F9F0833009F401C1813009F023C1E88507 -:10337000F985EE0FFF1FEE0FFF1FEF51F84E208172 -:10338000318142815381EA81FB8160817181828137 -:1033900093810F941E0D87FD0DC182E0F10184839E -:1033A00080913F02882309F493C0F981F7FD90C012 -:1033B0008F2FFF0F990B8C011816190614F401E0DA -:1033C00010E0F801EB53F84E2081222371F1EA81DD -:1033D000FB81C080D180E280F380880F991F880F25 -:1033E000991FFC01EF51F84E80809180A280B3803C -:1033F0002C813D81B90180E090E00F94230D2B01D9 -:103400003C0120E030E040E85EE30F94840D9B0136 -:10341000AC01C501B4010F9421149B01AC01C7019B -:10342000B6010F94821687FD05C0F801E35CFD4FDD -:1034300080E81AC023E830EC4AEA5EE3C301B20137 -:103440000F94840D9B01AC01C501B4010F942114AC -:103450009B01AC01C701B6010F948216035C1D4F9E -:1034600087FD04C080E6F801808332C020E030E0B0 -:1034700040E05FE3C301B2010F94840D9B01AC01F6 -:10348000C501B4010F9421149B01AC01C701B60121 -:103490000F94821687FD02C080E4E5CF2DEC3CEC52 -:1034A0004CE45FE3C301B2010F94840D9B01AC01B6 -:1034B000C501B4010F9421149B01AC01C701B601F1 -:1034C0000F94821687FD02C080E2CDCFF8011082F2 -:1034D00008851985000F111F000F111F98012F512A -:1034E000384E39872887EC81FD81BF0180E090E06C -:1034F0000F94230D9B01AC01E885F98560817181F2 -:10350000828193810F9421149B01AC01EA81FB819C -:1035100060817181828193810F94821687FD14C02E -:103520000E9444676B017C012E813F81A8EEB3E0CD -:103530000F94C813C60ED71EE81EF91EF101C082F3 -:10354000D182E282F38236C00E944467F101008199 -:10355000118122813381DC01CB01801B910BA20BF5 -:10356000B30BB7FD27C083E08483F981FF3F19F0D7 -:103570004CE35DE102C04FE45DE163E67DE18981FA -:1035800029960FB6F894DEBF0FBECDBFDF91CF9165 -:103590001F910F91FF90EF90DF90CF90BF90AF9071 -:1035A0009F908F907F906F905F904F903F902F9063 -:1035B0000C940BF329960FB6F894DEBF0FBECDBF67 -:1035C000DF91CF911F910F91FF90EF90DF90CF90FF -:1035D000BF90AF909F908F907F906F905F904F9033 -:1035E0003F902F900895CF92DF92EF92FF926091DB -:1035F000B9087091BA0861157105C1F0C090B5089D -:10360000D090B608E090B708F090B80866507109FD -:10361000072E000C880B990B0F94250D9B01AC0114 -:10362000C701B6010F941E0D87FD09C010926417E3 -:103630001092651710926617109267171EC020E04F -:1036400030E040E050E4C701B6010F9422140F941B -:10365000951570936317609362170E944467DC01AD -:10366000CB01805E9044AD4FBF4F80936417909321 -:103670006517A0936617B0936717FF90EF90DF90E0 -:10368000CF900895CF93DF931092721780E090E06F -:103690000E9417A4C1EBD8E0198618860E94F39AFD -:1036A00080E090E00E9417A41092A4082C9819863C -:1036B00018861A8680910201807280930001DF9142 -:1036C000CF910895CF92DF92EF92FF926091A2087E -:1036D0007091A30861157105C1F0C0909E08D0904B -:1036E0009F08E090A008F090A10866507109072E8D -:1036F000000C880B990B0F94250D9B01AC01C701A1 -:10370000B6010F941E0D87FD09C010925E1710922E -:103710005F1710926017109261171EC020E030E012 -:1037200040E050E4C701B6010F9422140F949515A0 -:1037300070935D1760935C170E944467DC01CB01B6 -:10374000805B9C43AF4FBF4F80935E1790935F1792 -:10375000A0936017B0936117FF90EF90DF90CF9028 -:103760000895CF93DF93CAE9D8E060E08A819B8116 -:103770000E945FF26C837D838E839F83C1EBD8E0D0 -:103780008A819B810E94C6F16C837D838E839F8397 -:10379000A89510927317DF91CF9108958F929F9201 -:1037A000AF92BF92CF92DF92EF92FF920F931F934F -:1037B000CF93DF93EC018B81811102C080E078C050 -:1037C00009891A892B893C890417150726073707A9 -:1037D000A8F36A017B01823029F4C886D986EA867B -:1037E000FB860DC0C114D104E104F10451F4188624 -:1037F00019861A861B861C821D821E821F8281E00A -:1038000057C088849984AA84BB84E98DFA8D258564 -:1038100030E0275F3F4FB501A401415051096109D4 -:103820007109022E04C076956795579547950A94BD -:10383000D2F7D701C6010197A109B10904C0B69515 -:10384000A795979587952A95D2F784179507A60788 -:10385000B70720F089288A288B2871F44D895E8962 -:103860006F89788D4C835D836E837F834C015D010E -:103870008E010C5F1F4F16C0841B950BA60BB70B58 -:10388000F5CF4C815D816E817F819801898D9A8D04 -:103890000E94455C91E0891A9108A108B10888232B -:1038A00009F48CCF81149104A104B10451F795CF90 -:1038B000DF91CF911F910F91FF90EF90DF90CF900C -:1038C000BF90AF909F908F9008950F931F93CF93C9 -:1038D000DF93FC012381222311F080E044C08B019F -:1038E000EC01FB018789803139F18032B1F783E047 -:1038F0008B83F801428D538D648D758D4D8B5E8B5E -:103900006F8B788F9E012F5E3F4FC8010E94C65C6F -:10391000882319F31A8F098F81E089831886198605 -:103920001A861B861C821D821E821F82188A1C8694 -:103930001D861E861F8617C082E08B831D8A1E8A05 -:103940001F8A188EFB01808D918DA0E0B0E025E0EC -:10395000880F991FAA1FBB1F2A95D1F7898B9A8BB5 -:10396000AB8BBC8BD7CFDF91CF911F910F91089577 -:10397000CF93DF93EC0141E0611101C040E06C8521 -:103980007D858E859F850E947A5B882341F088899A -:1039900020E2829FC00111248758944F02C080E02A -:1039A00090E0DF91CF910895CF93DF93EB01FC017D -:1039B0002381211102C080E028C02250223020F44F -:1039C0008FE28883198220C060E00E94B89C009733 -:1039D00091F3FC0190E080E02EE23081303269F01A -:1039E000883029F4DE01A90FB11D2C939F5FDE0101 -:1039F000A90FB11D30813C939F5F8F5F31968B3053 -:103A000061F7C90FD11D188281E0DF91CF91089530 -:103A10003F924F925F926F927F928F929F92AF925E -:103A2000BF92CF92DF92EF92FF920F931F93CF93AB -:103A3000DF93CDB7DEB72C970FB6F894DEBF0FBE7D -:103A4000CDBF5C01DC0159968D909C905A97F40192 -:103A500081859285A385B4859C01AD012F5F3F4F81 -:103A60004F4F5F4F29873A874B875C87D501149664 -:103A7000CD90DD90ED90FC901797C114D104E10436 -:103A8000F10439F0BFEFCB1ADB0AEB0AFB0A312C49 -:103A900007C0F401C080D180E280F38033243394E6 -:103AA000260137011D821E821F821886F40181853E -:103AB0009285A385B4852D813E814F815885281735 -:103AC00039074A075B0708F064C089859A85AB858A -:103AD000BC858C159D05AE05BF0550F482E0C82E4F -:103AE000D12CE12CF12C92E0492E512C612C712C1F -:103AF0009E012F5F3F4FB701A601C4010E94455CA4 -:103B0000882309F446C089819A81AB81BC81892BC5 -:103B10008A2B8B2B41F0260137019FEF491A590A56 -:103B2000690A790A05C0C414D504E604F70491F0C3 -:103B30002D813E814F8158852F5F3F4F4F4F5F4F03 -:103B40002D833E834F8358873FEFC31AD30AE30A7E -:103B5000F30AACCF0FEF1FEF2FEF3FE0B301A2014D -:103B6000C4010E94B35BF82E882399F0D501149606 -:103B70004D915D916D917C911797411551056105AE -:103B8000710549F093018201C4010E94B35B811168 -:103B900002C0F12C29C0D50114964D925D926D9210 -:103BA0007C921797332051F0D301C2010196A11DD9 -:103BB000B11DF40180839183A283B383F5018589CC -:103BC0009689A789B08D892B8A2B8B2B69F4D50117 -:103BD00055964D925D926D927C92589711968C916C -:103BE0001197806811968C938F2D2C960FB6F894B0 -:103BF000DEBF0FBECDBFDF91CF911F910F91FF9020 -:103C0000EF90DF90CF90BF90AF909F908F907F907C -:103C10006F905F904F903F90089540E050E0BA0160 -:103C20000C94CE9B61E0FC0180810E94B7658FEF10 -:103C30000C949354EF92FF921F93CF93DF9300D095 -:103C40001F92CDB7DEB77C01162F29833A834B83B1 -:103C50005C83FC0182810E949F5460E0F7018081B7 -:103C60000E94B7650E940FEB812F80640E949354DD -:103C70008C810E9493548B810E9493548A810E946C -:103C8000935489810E949354112311F087E801C055 -:103C900085E90E9493541C3011F40E94985410E05E -:103CA0000E949854F701838387FF04C01F3F11F0DF -:103CB0001F5FF6CF0F900F900F900F90DF91CF9175 -:103CC0001F91FF90EF9008950F931F93CF93DF9371 -:103CD000EC0189018C81833039F089E0440F551F54 -:103CE000661F771F8A95D1F79A01AB0168E1CE0173 -:103CF0000E941A9E811128C08EEF8EBDF801C80166 -:103D00009E5F0DB407FEFDCF20812EBD0DB407FED2 -:103D1000FDCF21812EBD32968E179F0791F70DB4EE -:103D200007FEFDCF8FEF0E9493548FEF0E949354B4 -:103D30000E9498548B838F71853041F083E1898391 -:103D4000CE010E94129E19C086E016C00E940FEBA1 -:103D5000882379F020E030E0A9016DE0CE010E94D7 -:103D60001A9E811108C00E949854811104C011E06C -:103D700005C087E101C086E1898310E0CE010E9481 -:103D8000129E812FDF91CF911F910F910895CF93B4 -:103D90008091810D8823B9F14091790D50917A0D70 -:103DA00060917B0D70917C0D29E73BE08091820D45 -:103DB0009091830D0E94649EC82F811102C0C0E0C3 -:103DC00023C040917D0D50917E0D60917F0D7091CB -:103DD000800D411551056105710591F029E73BE022 -:103DE0008091820D9091830D0E94649E882339F307 -:103DF00010927D0D10927E0D10927F0D1092800D0D -:103E00001092810D01C0C1E08C2FCF910895CF9306 -:103E1000DF93EC018B81882339F1898187FF20C0F2 -:103E200061E0CE010E94B89CFC01892BE9F0808101 -:103E3000853ED1F08B81823040F489899A89AB89A3 -:103E4000BC89848F958FA68FB78F8D899E89AF8906 -:103E5000B88D938F828FB58BA48B89818F7789835F -:103E6000DF91CF910C94C79E81E0888380E0DF9141 -:103E7000CF910895CF93DF93EC010E94079F1B829F -:103E8000DF91CF910895FC01238121110C943A9F79 -:103E90000895CF92DF92EF92FF920F931F93CF93EB -:103EA000DF93EC0189018C81833039F089E0440F84 -:103EB000551F661F771F8A95D1F79A01AB0161E103 -:103EC000CE010E941A9E882339F084E08983CE01B6 -:103ED0000E94129E80E03EC00E9444676B017C01FC -:103EE0002CE2C20E21E0D21EE11CF11C0E9498546B -:103EF0008B838F3F61F40E944467DC01CB018C19F6 -:103F00009D09AE09BF09B7FDF1CF81E11DC08E3F0C -:103F1000D1F48FEF8EBDF801D801A150BE4F0DB482 -:103F200007FEFDCF9EB591938EBDEA17FB07B9F74B -:103F30000DB407FEFDCF8EB58C930E9498540E945D -:103F4000985411E003C08FE0898310E0CE010E94F5 -:103F5000129E812FDF91CF911F910F91FF90EF90D3 -:103F6000DF90CF9008952F923F924F925F926F9281 -:103F70007F928F929F92AF92BF92CF92DF92EF92F9 -:103F8000FF920F931F93CF93DF9300D01F92CDB773 -:103F9000DEB79C838B834B015A01DC0113968C9115 -:103FA000811103C08FEF9FEFE3C0EB81FC81818122 -:103FB00080FFF8CFEB81FC8181899289A389B48944 -:103FC0004085518562857385841B950BA60BB70BC5 -:103FD000A50160E070E084179507A607B70708F40D -:103FE0005C0175018B819C8104969A838983612C85 -:103FF00042E0742EE114F10409F48BC0AB81BC8162 -:1040000018964D915D916D917C911B976A01B1E07D -:10401000DB22EB81FC812381818D928D1A012B01A2 -:1040200039E056944794379427943A95D1F7223043 -:1040300061F4FC01828D938DA48DB58DBC01CD0101 -:10404000620D731D841D951D4AC0DC0114961C91E0 -:1040500011501221C114D10401F511111EC0452BBC -:10406000462B472B59F4EB81FC8185899689A789DA -:10407000B08D84839583A683B7830FC0AB81BC8149 -:1040800014964D915D916D917C91179729813A819C -:104090000E94455C882309F485CFEB81FC81218D4A -:1040A000328D84819581A681B7810297A109B109DA -:1040B000F901058404C0880F991FAA1FBB1F0A9429 -:1040C000D2F74685578560897189840F951FA61F91 -:1040D000B71FBC01CD01610F711D811D911D9301A1 -:1040E0002C193D0987012E153F0508F4890101159A -:1040F000F2E01F0779F52091790D30917A0D40910A -:104100007B0D50917C0D621773078407950719F496 -:1041100021C0C5012DC09401AB01BC018091820D6D -:104120009091830D0E94499F882309F43BCF800E14 -:10413000911EEB81FC8180859185A285B385800FDE -:10414000911FA11DB11D80879187A287B387E01AB7 -:10415000F10A50CF40E00E947A5B882309F422CF15 -:10416000B6016758744FA801C4010F944E17DFCFF2 -:104170000F900F900F900F90DF91CF911F910F91A3 -:10418000FF90EF90DF90CF90BF90AF909F908F9077 -:104190007F906F905F904F903F902F900895DF92A7 -:1041A000EF92FF920F931F93CF93DF938C01EB015C -:1041B0007A018DE0D82E40E250E0BE01C8010E9495 -:1041C000B39F8032910539F021E0892B09F420E07A -:1041D000822F819544C028812223C9F1253E11F008 -:1041E0002E3231F4E114F10431F3F7011082E3CF00 -:1041F000E114F10441F13B853F733F3021F54A8DD5 -:104200005B8D452B01F52F713FEF320F3530D8F420 -:1042100030E021503109D29EC001D39E900D11246F -:10422000D701A80FB91FFE0120E0AD01253088F4A9 -:1042300031813D932F5F32962D30C1F7288126FFC3 -:1042400002C0FA0115862B8523FDB5CF08C080E09A -:1042500006C02B3010F43481ECCF3681EACFDF91E9 -:10426000CF911F910F91FF90EF90DF9008954F92A3 -:104270005F926F927F929F92AF92BF92CF92DF92A6 -:10428000EF92FF920F931F93CF93DF931F92CDB7BF -:10429000DEB78C017B015A01C22EDB0159968D914C -:1042A0009C915A97F801928F818FCB010E940D9EAD -:1042B000912CF70180859185A285B385418952892A -:1042C0006389748984179507A607B70708F060C04B -:1042D00025E0B695A795979587952A95D1F7F82F5C -:1042E000FF70DF2ED70113968C91823008F460C0E6 -:1042F00041E050E0BE016F5F7F4FC7010E94B39F56 -:10430000019719F4898190E002C08FEF9FEF019629 -:1043100009F44EC0F70180859185A285B3854F963B -:10432000A11DB11D80879187A287B387F0E2DF9E30 -:10433000B00111246758744F61157105C9F1DB0193 -:104340008C91882319F0853EC1F46CC191100EC088 -:104350008091790D90917A0DA0917B0DB0917C0D9B -:10436000F80184879587A687B787D08ADB018C916F -:10437000882361F0992493949CCF4BE050E0C501D1 -:104380000F944117892B09F094CF14C0992493946A -:104390008C2D8274823461F4992009F48BC0F80169 -:1043A000D08861E0C8010E94B89C009709F00DC157 -:1043B00080E03BC1C7FCFCCFF0E2DF9EA0011124EE -:1043C0009A012758344FD9011B968C91817121F0A5 -:1043D0008C2D827109F06AC08091790D90917A0DCF -:1043E000A0917B0DB0917C0DF80184879587A687FD -:1043F000B787D08ACA018758944F7C01DC01549654 -:104400004D915C91559760E070E0DA01992788271B -:10441000858B968BA78BB08FF701428D538D60E013 -:1044200070E0482B592B6A2B7B2BD80155964D9366 -:104430005D936D937C935897F9018385887161F43E -:10444000F701848D958DA68DB78DF801818B928BA8 -:10445000A38BB48B81E010C0803141F598012F5EB1 -:104460003F4FD80159968D919C915A970E94C65CF6 -:104470008823E1F084E0F80183838C2D8F70D801CC -:1044800011968C931197F801148215821682178267 -:1044900018961D921D921D921C921B97C4FEB5C0CA -:1044A000C8010E9433EB8111B0C082CFD8011396AE -:1044B0001C927ECFD70113968C911397823009F40A -:1044C00077CF51968D919D910D90BC91A02D803EFE -:1044D0009F4FAF41B10508F06BCFC7010E94089D07 -:1044E000882309F465CF0E94C79E882309F460CF12 -:1044F000D70159962D913C915A9714968D919D9183 -:104500000D90BC91A02D0297A109B109F901058474 -:1045100004C0880F991FAA1FBB1F0A94D2F74684B4 -:10452000578460887188480E591E6A1E7B1E81E080 -:104530008093810D4092790D50927A0D60927B0D9F -:1045400070927C0D80E092E0E9E7FBE0DF019C01E6 -:104550001D9221503040E1F7DD24D394D7015996C4 -:10456000ED91FC915A978481D81698F429E73BE0A5 -:10457000B301A2014D0D511D611D711D8091820D70 -:104580009091830D0E94649E882309F411CFD394E7 -:10459000E5CF80E092E0A0E0B0E0058404C0880FA1 -:1045A000991FAA1FBB1F0A94D2F7F70141895289AC -:1045B00063897489840F951FA61FB71F818B928B07 -:1045C000A38BB48B89E79BE0D12C20E2DC011D9208 -:1045D0002A95E9F72BE0F501DC0101900D922A956F -:1045E000E1F721E238E2FC01318B208B40E058E01A -:1045F00057874687338B228B318F208F578B468B83 -:104600000E94C79E8111D8CED3CEC5FE09C0F80145 -:104610004189528963897489C8010E94CE9B05C073 -:1046200081E003C09110A6CE93CE0F90DF91CF9181 -:104630001F910F91FF90EF90DF90CF90BF90AF90C0 -:104640009F907F906F905F904F9008952F923F9230 -:104650004F925F926F927F928F929F92AF92BF9292 -:10466000CF92DF92EF92FF920F931F93CF93DF933E -:10467000CDB7DEB7C254D1090FB6F894DEBF0FBE76 -:10468000CDBF4C015B016A01322E19821C821C8E47 -:104690001F8E6115710511F410E0A6C0FC01838125 -:1046A0008111FACFFA0180818F3209F09BC0F501A8 -:1046B00083818250823010F485010CC0F501618D38 -:1046C000728DCE014C960E94659C882329F38E0141 -:1046D000045E1F4FC6016C010196F60120812F3246 -:1046E000D1F3CE0101967C013C012E019CE1490EE3 -:1046F000511C2396EFAE23972F2C9BE09150E7E3BC -:10470000F0E0EC0FFD1FE90FF11D80E280839111B5 -:10471000F5CF960147E0D9018D91882369F18F3259 -:1047200059F18E3239F44A3009F4B6CF98E04AE0B4 -:104730009D01F1CFE6E6FEE12491222321F031969E -:104740008213FACFA9CF491708F4A6CF813208F413 -:10475000A3CF8F3709F4A0CF21E0290FE7E3F0E0E2 -:10476000EC0FFD1FE90FF11D9FE9980F9A3108F436 -:1047700080528083922FDCCF8FA9803209F48CCFB6 -:104780006901F90180812F5F3F4F8F32C9F3882380 -:10479000F9F021E0AE01495C5F4FB801C7010E940A -:1047A00037A1882309F478CF0A151B0519F0C80131 -:1047B0000E943A9F6E147F0441F023969FAD239789 -:1047C000822D8701E92EF82E98CF942D852DF9CFD3 -:1047D000232DAE01495C5F4FB801C4010E9437A18F -:1047E000182F02C08B017DCFCE014C960E94439FB3 -:1047F000CE0101960E94439F812FCE5BDF4F0FB603 -:10480000F894DEBF0FBECDBFDF91CF911F910F9106 -:10481000FF90EF90DF90CF90BF90AF909F908F90E0 -:104820007F906F905F904F903F902F9008952091D0 -:104830001402309115022F503109821793070CF49E -:104840009C013093A3082093A20880E00C94629B03 -:10485000082E000C990BFC01E358FE4EE491EE2368 -:1048600099F0F0E0EE0FFF1FED59FE4EA591B491C7 -:104870002C91FC01ED53FE4E8491822321E090E0C7 -:1048800009F420E0822F089580E090E00895082E3A -:10489000000C990BFC01E358FE4EE491F0E0EE0FA2 -:1048A000FF1FE15DFE4EA591B4912C91FC01ED53EB -:1048B000FE4EE491E22381E009F480E00895CF9375 -:1048C000DF93C82F8FEF92E20E9438C00C2E000CAD -:1048D000DD0BFE01E358FE4E8491805C0E943F4C4C -:1048E000FE01ED53FE4EE49180E3E13021F0E695C8 -:1048F0008F5F8933D1F7DF91CF910C943F4C0F93A9 -:104900001F93CF93DF93CDB7DEB764970FB6F894BC -:10491000DEBF0FBECDBFE82FF0E0E75FFD4EE491B4 -:104920008E2F90E0FC013197E231F10508F049C289 -:104930008827E853FF4F8F4F0D940D1484B5807C6A -:1049400009F43FC287B51F928F9384EC91E29F9345 -:104950008F938E010F5F1F4F1F930F930F94B60C11 -:104960000F900F900F900F900F900F90F801819182 -:104970008F01811102C081E025C20E943F4CF6CF19 -:1049800084B5807309F41DC288B51F928F938AEB9A -:1049900091E29F938F938E010F5F1F4F1F930F9391 -:1049A0000F94B60C0F900F900F900F900F900F90E8 -:1049B000F80181918F018823F1F20E943F4CF8CFDA -:1049C00080918000807C09F4FCC1809188009091E6 -:1049D00089009F938F9380EB91E29F938F938E0139 -:1049E0000F5F1F4F1F930F930F94B60C0F900F90F4 -:1049F0000F900F900F900F90F80181918F018823F5 -:104A000009F4B9CF0E943F4CF7CF809180008073AA -:104A100009F4D7C180918A0090918B009F938F9366 -:104A200086EA91E29F938F938E010F5F1F4F1F9332 -:104A30000F930F94B60C0F900F900F900F900F9054 -:104A40000F90F80181918F01882309F494CF0E947F -:104A50003F4CF7CF809180008C7009F4B2C18091F7 -:104A60008C0090918D009F938F938CE991E29F939E -:104A70008F938E010F5F1F4F1F930F930F94B60CF0 -:104A80000F900F900F900F900F900F90F801819161 -:104A90008F01882309F46FCF0E943F4CF7CF80919C -:104AA000B000807C09F48DC18091B3001F928F9378 -:104AB00082E991E29F938F938E010F5F1F4F1F93A7 -:104AC0000F930F94B60C0F900F900F900F900F90C4 -:104AD0000F90F80181918F01882309F44CCF0E9437 -:104AE0003F4CF7CF8091B000807309F46AC1809188 -:104AF000B4001F928F9388E891E29F938F938E0169 -:104B00000F5F1F4F1F930F930F94B60C0F900F90D2 -:104B10000F900F900F900F90F80181918F018823D3 -:104B200009F429CF0E943F4CF7CF80919000807C00 -:104B300009F447C180919800909199009F938F93B9 -:104B40008EE791E29F938F938E010F5F1F4F1F930C -:104B50000F930F94B60C0F900F900F900F900F9033 -:104B60000F90F80181918F01882309F404CF0E94EE -:104B70003F4CF7CF80919000807309F422C180915F -:104B80009A0090919B009F938F9384E791E29F936B -:104B90008F938E010F5F1F4F1F930F930F94B60CCF -:104BA0000F900F900F900F900F900F90F801819140 -:104BB0008F01882309F4DFCE0E943F4CF7CF80910C -:104BC00090008C7009F4FDC080919C0090919D0034 -:104BD0009F938F938AE691E29F938F938E010F5F4D -:104BE0001F4F1F930F930F94B60C0F900F900F90C1 -:104BF0000F900F900F90F80181918F01882309F495 -:104C0000BACE0E943F4CF7CF8091A000807C09F47F -:104C1000D8C08091A8009091A9009F938F9380E6BF -:104C200091E29F938F938E010F5F1F4F1F930F93FE -:104C30000F94B60C0F900F900F900F900F900F9055 -:104C4000F80181918F01882309F495CE0E943F4C91 -:104C5000F7CF8091A000807309F4B3C08091AA00BF -:104C60009091AB009F938F9386E591E29F938F93F2 -:104C70008E010F5F1F4F1F930F930F94B60C0F9071 -:104C80000F900F900F900F900F90F80181918F016E -:104C9000882309F470CE0E943F4CF7CF8091A0008A -:104CA0008C7009F48EC08091AC009091AD009F9300 -:104CB0008F938CE491E29F938F938E010F5F1F4F30 -:104CC0001F930F930F94B60C0F900F900F900F90AF -:104CD0000F900F90F80181918F01882309F44BCE3A -:104CE0000E943F4CF7CF80912001807C09F469C07D -:104CF00080912801909129019F938F9382E491E202 -:104D00009F938F938E010F5F1F4F1F930F930F94ED -:104D1000B60C0F900F900F900F900F900F90F8011E -:104D200081918F01882309F426CE0E943F4CF7CF52 -:104D300080912001807309F444C080912A019091F0 -:104D40002B019F938F9388E391E29F938F938E0122 -:104D50000F5F1F4F1F930F930F94B60C0F900F9080 -:104D60000F900F900F900F90F80181918F01882381 -:104D700009F401CE0E943F4CF7CF809120018C7046 -:104D800001F180912C0190912D019F938F938EE2E0 -:104D900091E29F938F938E010F5F1F4F1F930F938D -:104DA0000F94B60C0F900F900F900F900F900F90E4 -:104DB000F80181918F01882309F4DDCD0E943F4CD9 -:104DC000F7CF80E064960FB6F894DEBF0FBECDBF7C -:104DD000DF91CF911F910F9108954F925F926F9243 -:104DE0007F928F929F92AF92BF92CF92DF92EF927B -:104DF000FF920F931F93CF93DF93CDB7DEB76497E6 -:104E00000FB6F894DEBF0FBECDBF082FF62EE42EEE -:104E1000882E912C26E0829FC0011124FC01EC54C5 -:104E2000FD4D65907490FC01EE54FD4D5F01459081 -:104E30005490F3018081482F487050E060E070E0AA -:104E40007695679557954795F20110811370142B4D -:104E5000F4E0EF1209C0807190E0A0E0B0E0B695F8 -:104E6000A79597958795182B88EA92E20E9438C0FB -:104E7000005D802F0E943F4C8F2D0E943F4C83E0AD -:104E80000E942DC0F401EE0FFF1F8F2D0F2C000C80 -:104E9000990B9E012F5F3F4F690133E0E80DF91D2B -:104EA00081549109E80FF91FEE0FFF1FEC57FD4DDC -:104EB000E3121BC0A591B4918C911F928F938AE746 -:104EC00092E29F938F93DF92CF920F94B60C0F9044 -:104ED0000F900F900F900F900F90F60181916F013E -:104EE000882309F10E943F4CF8CFA591B491119607 -:104EF0008C9111978F938C918F9380E792E29F937F -:104F00008F93DF92CF920F94B60C0F900F900F906B -:104F10000F900F900F90F60181916F01882319F087 -:104F20000E943F4CF8CF612F70E086E692E20E942B -:104F3000D8C1F501C590D4908AED91E20E9438C0A5 -:104F4000802F0E943F4CF2E4FF1691F023E4F2160A -:104F5000F9F031E4F3122DC0F601408142954695F7 -:104F60004695437050E060E070E086ED91E21FC02E -:104F7000F6014081407350E060E070E094E0769587 -:104F80006795579547959A95D1F782ED91E20FC0B5 -:104F9000F60140814C7050E060E070E082E0769570 -:104FA0006795579547958A95D1F78EEC91E20E94C7 -:104FB000A9C1F3014081477050E060E070E08DE5E9 -:104FC00092E20E94A9C184E592E20E9438C0802F3B -:104FD0000E943F4CF201608170E080E592E20E9405 -:104FE000D8C187E492E20E9438C0802F0E943F4CD3 -:104FF000F301608170E083E492E20E94D8C186E010 -:10500000889DF001899DF00D1124EA54FD4DC59055 -:10501000D49089E392E20E9438C0802F0E943F4CD6 -:10502000F601608170E086E392E20E94D8C100EC54 -:105030000F0DF3E0EF1207C0197F59F482EE91E2F1 -:105040000E9438C006C0812F8B7FC1F31C501230E4 -:10505000A8F3F601808190E0A0E0B0E004C0B6952E -:10506000A795979587950A95D2F780FF04C08BEF97 -:1050700091E20E9438C0F601808180FF04C088E17F -:1050800092E20E9438C064960FB6F894DEBF0FBE5D -:10509000CDBFDF91CF911F910F91FF90EF90DF90E7 -:1050A000CF90BF90AF909F908F907F906F905F90C8 -:1050B0004F900895CF93DF93C82FD0E0FE01E75FB4 -:1050C000FD4EE4918E2F90E0FC013197E231F10525 -:1050D000E8F58827E652FF4F8F4F0D940D1443E0FB -:1050E00061E402C043E062E480E02EC044E061E499 -:1050F00005C044E062E402C044E063E481E024C00F -:1051000043E061E402C043E062E482E01DC044E0A9 -:1051100061E405C044E062E402C044E063E483E08B -:1051200013C044E061E405C044E062E402C044E02E -:1051300063E484E009C044E061E405C044E062E463 -:1051400002C044E063E485E00E94EDA68CEF92E2A9 -:105150000E9438C0FE01E358FE4EE491E230F9F4BB -:10516000FE01ED53FE4EE491E038C9F488EF92E27F -:105170000E9438C082E10E942DC080EF92E20E941E -:1051800038C086ED92E20E9438C08EE00E942DC0A9 -:1051900044E063E481E0DF91CF910C94EDA6DF91D0 -:1051A000CF9108952F923F924F925F926F927F928C -:1051B0008F929F92AF92BF92CF92DF92EF92FF9227 -:1051C0000F931F93CF93DF93CDB7DEB7AC970FB696 -:1051D000F894DEBF0FBECDBF182F6CA7542EB22E91 -:1051E000A32E9FE8692E93E2792E00E080E0812EC5 -:1051F000012E000C99082AEC210F2BA7FE013196F5 -:105200007F01F30132964490242C312C2814390468 -:1052100009F0A4C081115DC001115BC0AF92BF92C3 -:1052200027E833E23F932F93FF92EF920F94B60C4F -:10523000FAA6E9A60F900F900F900F900F900F9085 -:105240006701F60181916F01882319F00E943F4C9C -:10525000F8CF1F924F9222E833E23F932F93FF92B1 -:10526000EF920F94B60C0F900F900F900F900F903D -:105270000F906701F60181916F01882319F00E9458 -:105280003F4CF8CF812F0E945FA4FBA5F7FD1DC006 -:1052900026E3221A31083F922F9288E793E29F93E8 -:1052A0008F93FF92EF920F94B60C0F900F900F9088 -:1052B0000F900F900F90E9A5FAA58191FAA7E9A7A1 -:1052C0008823B1F00E943F4CF6CF88E00E942DC0A9 -:1052D0000FC08EE20E943F4CEB2DFA2DDF010D90A6 -:1052E0000020E9F78A2F8B19875E0E942DC001E00C -:1052F000F301C590D490412CF6018491811107C02F -:10530000312C87E2C82ED12CC418D1080AC00E94C3 -:105310003F4C4394FFEFCF1ADF0A27E24212ECCF53 -:105320000AC0832D90E08C159D052CF480E20E942C -:105330003F4C3394F6CF552069F0812F0E94734B78 -:10534000882309F4C9C03CA53111C6C08DE693E29B -:105350000E9438C08AE00E943F4C81E0F4E06F0E6A -:10536000711C2FE7621624E2720609F04ACF811100 -:10537000F9C0AF92BF9280E493E29F938F93CE01E6 -:1053800001967C019F938F930F94B60C67010F9049 -:105390000F900F900F900F900F905701F501819192 -:1053A0005F01882319F00E943F4CF8CF9F928F92A3 -:1053B0008BE393E29F938F93FF92EF920F94B60C3F -:1053C0000F900F900F900F900F900F905701F501D5 -:1053D00081915F01882319F00E943F4CF8CF812F03 -:1053E0000E945FA40AEC010F07FD1BC0C401C69711 -:1053F0009F938F9381E393E29F938F93FF92EF921A -:105400000F94B60C0F900F900F900F900F900F907D -:105410005701F50181915F01882331F00E943F4CD3 -:10542000F8CF88E00E942DC080E293E20E9438C04D -:10543000552009F44DC0812F0E947FA4811142C0E4 -:10544000812F0E9447A4882331F087E10E942DC05C -:1054500088E493E22CC0003128F5802F0E94EB668F -:10546000092E000CAA0BBB0BBF93AF939F938F9396 -:105470008CE093E29F938F93FF92EF920F94B60C80 -:105480000FB6F894DEBF0FBECDBFF60181916F015C -:10549000882319F00E943F4CF8CF88E093E20E94E5 -:1054A00038C003C087E10E942DC082E593E20E94CC -:1054B00038C0812F0E9428A4BC01990F880B990B3A -:1054C0000E94B34C87E10E942DC0812F0E945AA8F0 -:1054D0008AE00E943F4C46C0F3013396E491E1110B -:1054E00021C08BA50E94EB66092E000CAA0BBB0BFA -:1054F000BF93AF939F938F938CE593E29F938F938A -:10550000FF92EF920F94B60C67010FB6F894DEBFCE -:105510000FBECDBFF60181916F018823E9F00E9493 -:105520003F4CF8CF812F0E9447A4811103C082E530 -:1055300093E207C0812F0E947FA481110DC088E4EF -:1055400093E20E9438C0812F0E9428A4BC01990FC9 -:10555000880B990B0E94B34C0111FCCE812F0E9445 -:105560005AA8F8CEAC960FB6F894DEBF0FBECDBFEA -:10557000DF91CF911F910F91FF90EF90DF90CF902F -:10558000BF90AF909F908F907F906F905F904F9063 -:105590003F902F900895CF93DF93EB010E94E28715 -:1055A000882321F0DF91CF910C945E87CE01DF91AB -:1055B000CF910895811103C086E091E202C082E19B -:1055C00091E20E9438C04091C9175091CA1760916A -:1055D000CB177091CC178BE291E20E94C7C140912A -:1055E000CD175091CE176091CF177091D01788E2E8 -:1055F00091E20E94C7C16091D1177091D217072E16 -:10560000000C880B990B0F94250DAB01BC0185E2B2 -:1056100091E20E94C7C16091D3177091D417072EF1 -:10562000000C880B990B0F94250DAB01BC0182E295 -:1056300091E20E94C7C14091D5175091D617609151 -:10564000D7177091D8178FE191E20E94C7C140919E -:10565000D9175091DA176091DB177091DC178CE144 -:1056600091E20E94C7C14091DD175091DE17609111 -:10567000DF177091E01789E191E20E94C7C18AE0CB -:105680000C943F4CCF92DF92EF92FF9283E50E9401 -:10569000E287882339F10E9462876B017C0120E058 -:1056A00030E0A9010F941E0D87FD11C020E030E00D -:1056B0004AEF53E4C701B6010F948216181654F44A -:1056C000C12CD12C9AEFE92E93E4F92E03C0C12C02 -:1056D000D12C7601C092C917D092CA17E092CB178D -:1056E000F092CC1785E40E94E287882339F10E946A -:1056F00062876B017C0120E030E0A9010F941E0D50 -:1057000087FD11C020E030E04AEF53E4C701B60145 -:105710000F948216181654F4C12CD12C8AEFE82E5F -:1057200083E4F82E03C0C12CD12C7601C092CD1792 -:10573000D092CE17E092CF17F092D01780E50E945A -:10574000E2878823A1F00E9462870F948E156A3049 -:1057500071053CF0693185E178072CF068E175E16D -:1057600002C06AE070E07093D2176093D11782E5AF -:105770000E94E2878823A1F00E9462870F948E1511 -:105780006A3071053CF0693185E178072CF068E1F9 -:1057900075E102C06AE070E07093D4176093D3178C -:1057A00088E50E94E287882351F00E946287609317 -:1057B000D5177093D6178093D7179093D81789E58C -:1057C0000E94E287882351F00E9462876093D91774 -:1057D0007093DA178093DB179093DC178AE50E94A9 -:1057E000E287882351F00E9462876093DD177093EF -:1057F000DE178093DF179093E0178091A81884FD3F -:1058000012C08091A91887FD0EC08091AA188678D1 -:1058100051F48091AB18837031F4FF90EF90DF90DA -:10582000CF900C94DAAAFF90EF90DF90CF9008957C -:105830009F92AF92BF92CF92DF92EF92FF920F931F -:105840001F93CF93DF938BEDA82E82E0B82E0AEF43 -:105850001AE0CCE5DBE09DEBC92E98E1D92E2AEFCA -:10586000E22E27E0F22E912CF50181915F010E943A -:10587000E287882309F10E946287F70120812111C4 -:1058800004C020910208222339F0288139814A81FD -:105890005B810F9422140AC0F3E09F1639F0F601E1 -:1058A00020813181428153810F942114F80160835A -:1058B00071838283938309C088819981AA81BB8186 -:1058C000F80180839183A283B38393940C5F1F4F6D -:1058D0002496F4E0CF0ED11C2FEFE21AF20A84E0F6 -:1058E0009812C2CF40E050E0BA0186E40E94BEB7F1 -:1058F00020E030E0A9010F948216181684F40E946B -:10590000628720E030E040E752E40F941C1560937A -:105910005D0270935E0280935F02909360028091BB -:10592000C81783FD28C08091CB08882321F12091DE -:10593000680B3091690B40916A0B50916B0B609131 -:10594000060B7091070B8091080B9091090B0F9437 -:1059500021142091D8083091D9084091DA0850914B -:10596000DB080F9422146093D8087093D9088093B1 -:10597000DA089093DB08DF91CF911F910F91FF9090 -:10598000EF90DF90CF90BF90AF909F900895CF930E -:1059900084E50E94E287882301F10E943A87C82F9C -:1059A0008230ECF00E94FCC18DE40E943F4C60917B -:1059B000AC187091AD18072E000C880B990B0E9443 -:1059C000B34C6C2FCC0F770B84E595E20E94D8C1C5 -:1059D0008AE00E943F4C8FEF02C080915B0BCF9119 -:1059E0000895CF92DF92EF92FF921F93CF93DF93B0 -:1059F000CDB7DEB7A0970FB6F894DEBF0FBECDBF10 -:105A000080E090E0A8E4B2E489839A83AB83BC830E -:105A100080E090E0A0E2B1E48D839E83AF83B887FD -:105A200089879A87AB87BC870E94C7ACF82E87FD11 -:105A3000F0C00E94736281110E94186510915B0B87 -:105A4000212F30E08F2D0F2C000C990B28173907D0 -:105A500021F060E08F2D0E94D59485E40E94998703 -:105A6000882381F00E9462876B017C0120E030E096 -:105A7000A9010F94821687FF0BC0F7FAF094F7F88C -:105A8000F09406C0C12CD12C80E8E82E80E4F82EDA -:105A9000F7FAF094F7F8F094C98ADA8AEB8AFC8A6C -:105AA0008AE50E94E287882351F040E050E0BA0185 -:105AB0008AE50E94BEB769877A878B879C8788E5CD -:105AC0000E94E287882351F040E050E0BA0188E567 -:105AD0000E94BEB769837A838B839C8389E50E9489 -:105AE000E287882351F040E050E0BA0189E50E9446 -:105AF000BEB76D837E838F83988785E50E949987E3 -:105B0000882329F00E9462876B017C010CC0E09120 -:105B10005B0B88E0E89FF0011124E250F34EC08057 -:105B2000D180E280F38020E030E0A901C701B60116 -:105B30000F94821687FF04C0F7FAF094F7F8F094F8 -:105B4000F7FAF094F7F8F094CD8ADE8AEF8AF88EAF -:105B5000198E1A8E1B8E1C8E8CE40E9499878823C6 -:105B600029F00E9462876B017C010CC0E0915B0B05 -:105B700088E0E89FF0011124E250F34EC480D58004 -:105B8000E680F78020E030E0A901C701B6010F945C -:105B9000821687FF04C0F7FAF094F7F8F094CD8EE0 -:105BA000DE8EEF8EF8A262E070E082E40E94CBAA63 -:105BB000F82E21E0AE014B5E5F4FBE016F5F7F4F5D -:105BC000CE0141960E9445C48823D9F06F2D81E013 -:105BD0000E94A7C380E090E0A0EAB1E48D879E8791 -:105BE000AF87B88B8091730A882359F02F2DAE01AF -:105BF000435F5F4FBE01635E7F4FCE0149960E94B7 -:105C000020C280915B0B181721F060E0812F0E9469 -:105C1000D594A0960FB6F894DEBF0FBECDBFDF912E -:105C2000CF911F91FF90EF90DF90CF900895CF928A -:105C3000DF92EF92FF92CF93DF93CDB7DEB76C97F1 -:105C40000FB6F894DEBF0FBECDBF8CE40E949987DB -:105C5000882381F00E9462876B017C0120E030E0A4 -:105C6000A9010F94821687FF0BC0F7FAF094F7F89A -:105C7000F09406C0C12CD12C80E8E82E80E4F82EE8 -:105C8000F7FAF094F7F8F094C98EDA8EEB8EFC8E6A -:105C900080E090E0A8E4B2E489839A83AB83BC837C -:105CA00080E090E0A0E2B1E48D839E83AF83B8876B -:105CB00089879A87AB87BC8788E50E94E28788231B -:105CC000A1F040E050E0BA0188E50E94BEB7209103 -:105CD000BD183091BE184091BF185091C0180F9454 -:105CE000211469837A838B839C8389E50E94E287F0 -:105CF0008823A1F040E050E0BA0189E50E94BEB7D8 -:105D00002091BD183091BE184091BF185091C01815 -:105D10000F9421146D837E838F8398878AE50E9478 -:105D2000E287882351F040E050E0BA018AE50E9402 -:105D3000BEB769877A878B879C87F090B01CF2FA90 -:105D4000FF24F0F81D861E861F86188A20E0AE010B -:105D5000435F5F4FBE016F5F7F4FCE0149960E9448 -:105D600045C4882329F1F11023C060E080E00E943F -:105D7000A7C380E090E0A0E8B0E48D8B9E8BAF8B52 -:105D8000B88F198A1A8A1B8A1C8A1D861E861F864E -:105D9000188A8091730A882359F020E0AE014B5E87 -:105DA0005F4FBE016F5E7F4FCE010D960E9420C2F5 -:105DB0006C960FB6F894DEBF0FBECDBFDF91CF91CA -:105DC000FF90EF90DF90CF900895CF93DF93D62F81 -:105DD000C72F0E94E287882329F00E942A87262F56 -:105DE000972F02C02D2F9C2F822FDF91CF910895E6 -:105DF0002F923F924F925F926F927F928F929F92DB -:105E0000AF92BF92CF92DF92EF92FF920F931F93C8 -:105E1000CF93DF93CDB7DEB7E6970FB6F894DEBF2A -:105E20000FBECDBF0E94736281111DC360E070E0A0 -:105E300080E50E94E5AE882E6CE070E083E50E946C -:105E4000E5AE5C018DA763E070E084E50E94E5AEFD -:105E5000382E40E050E060ED70E482E50E94BEB76D -:105E60006B017C018091AA1887FD07C08091AB1857 -:105E7000837019F499249394F4C260E088E50E9439 -:105E8000EF87982E60E089E50E94EF878111E9C2D3 -:105E900080E0982A2091740B2EA7822F0E94BDBF0C -:105EA00080E090E0A0EAB3E48D879E87AF87B88B4F -:105EB000412C512C20E2622E22E4722E498A5A8A09 -:105EC0006B8A7C8A40E050E060E87FE34D8B5E8B1C -:105ED0006F8B788F00E010E026E933E409831A83A2 -:105EE0002B833C834D825E826F82788649875A87F6 -:105EF0006B877C8722E082120CC0911005C080E382 -:105F000095E20E9438C0A9C289839A83AB83BC837F -:105F100024C090FC10C080915C0B90915D0BA0910F -:105F20005E0BB0915F0B89839A83AB83BC838D87B3 -:105F30009E87AF87B88B91FC10C08091600B9091C9 -:105F4000610BA091620BB091630B8D839E83AF8335 -:105F5000B887898B9A8BAB8BBC8B8091640B9091AB -:105F6000650BA091660BB091670B89A79AA7ABA7A9 -:105F7000BCA789879A87AB87BC878D8B9E8BAF8B9D -:105F8000B88F91E0891629F0A2E08A1609F470C151 -:105F90000CC22D853E854F85588969817A818B8118 -:105FA0009C810F9421146B017C0120E030E0A90159 -:105FB0000F941E0D882309F450C229893A894B8910 -:105FC0005C896D817E818F8198850F9421144B01AE -:105FD0005C0120E030E0A9010F941E0D882309F434 -:105FE0003CC280915C0B90915D0BA0915E0BB091D7 -:105FF0005F0B8FA798ABA9ABBAAB8091600B909168 -:10600000610BA091620BB091630B8BAB9CABADAB02 -:10601000BEAB198E1A8E1B8E1C8EAE01475E5F4F73 -:10602000BE016F5E7F4FCE010D960E9449E1032DA8 -:10603000000F20E030E0A901C701B6010F948216DD -:1060400087FF08C0D701C601B0588DA39EA3AFA398 -:10605000B8A704C0CDA2DEA2EFA2F8A620E030E0EF -:10606000A901C501B4010F9482161401250187FF0F -:1060700004C057FA509457F850942DA13EA14FA157 -:1060800058A5C201B1010F941E0D181624F4340155 -:106090001A2DFB2C02C036011E2D802E912CB4012E -:1060A000092C000C880B990B0F94250D9B01AC015A -:1060B000B301812F9F2D0F941C156B017C01712C56 -:1060C0009DA5791608F0C0C010E0812F012E000CAC -:1060D000990B881599050CF059C010FD04C0DE011C -:1060E0001D965D0103C0CE0101965C012DA13EA16C -:1060F0004FA158A5C201B1010F941E0D412F012ED1 -:10610000000C550B660B770B198E1A8E1B8E1C8E8E -:106110001816ECF0CB01BA010F94250DA7019601DA -:106120000F94840D9B01AC016D857E858F859889C8 -:106130000F9422146D8F7E8F8F8F98A3B5016C5FA3 -:106140007F4FAE01475E5F4FCE014D961BC0CB0126 -:10615000BA010F94250DA70196010F94840D9B01A0 -:10616000AC0169897A898B899C890F9422146D8F7F -:106170007E8F8F8F98A3AE01475E5F4FBE01635E37 -:106180007F4FC5010E9449E11F5F9FCF102F17FD70 -:1061900059C010FD04C0DE011D965D0103C0CE0193 -:1061A00001965C012DA13EA14FA158A5C201B101EC -:1061B0000F941E0D412F012E000C550B660B770B13 -:1061C000198E1A8E1B8E1C8E1816ECF0CB01BA019C -:1061D0000F94250DA70196010F94840D9B01AC012E -:1061E0006D857E858F8598890F9422146D8F7E8FA3 -:1061F0008F8F98A3B5016C5F7F4FAE01475E5F4FF5 -:10620000CE014D961BC0CB01BA010F94250DA701FD -:1062100096010F94840D9B01AC0169897A898B8961 -:106220009C890F9422146D8F7E8F8F8F98A3AE015F -:10623000475E5F4FBE01635E7F4FC5010E9449E12B -:106240001150A5CF73943CCF198E1A8E1B8E1C8EC5 -:10625000DE0159966D01E9A4FAA40BA51CA52BA992 -:106260003CA94DA95EA96FA578A989A99AA9F3C0EF -:10627000BDA5BB2309F4F1C080915C0B90915D0B2F -:10628000A0915E0BB0915F0B8DA39EA3AFA3B8A7A7 -:106290008090600B9090610BA090620BB090630BAC -:1062A000198E1A8E1B8E1C8EAE01475E5F4FBE018B -:1062B0006F5E7F4FCE010D960E9449E110E0212CC8 -:1062C000312C19A21AA21BA21CA2B101032C000C92 -:1062D000880B990B0F94250D2CE739ED40E25FE315 -:1062E0000F94840D2B013C010F9417159B01AC01F9 -:1062F000C701B6010F94840D9B01AC016D817E81B5 -:106300008F8198850F9422146D8F7E8F8F8F98A325 -:10631000C301B2010F94C2169B01AC01C701B601C3 -:106320000F94840D9B01AC0169817A818B819C81E2 -:106330000F942214698F7A8F8B8F9C8FAE014F5DE3 -:106340005F4FBE01635E7F4FCE0149960E9449E1D7 -:106350009FEF291A390AAAE02A16310409F0B1CFB1 -:106360001F5FBDA51B1708F4AACF198E1A8E1B8EAE -:106370001C8EAE01475E5F4FBE016F5E7F4FCE0148 -:106380000D960E9449E1198E1A8E1B8E1C8ECE012D -:1063900049966C01E9A4FAA40BA51CA5A5019401DA -:1063A0006DA17EA18FA198A556C040905C0B509026 -:1063B0005D0B60905E0B70905F0B8091600B909115 -:1063C000610BA091620BB091630B8DA39EA3AFA351 -:1063D000B8A7198E1A8E1B8E1C8EAE01475E5F4FBA -:1063E000BE016F5E7F4FCE010D960E9449E1BB2436 -:1063F000B594A79410E0812F90E0198E1A8E1B8E11 -:106400001C8E8A159B05D4F4AE01475E5F4FBE011A -:106410006B5F7F4FCE0101960E9449E1198E1A8E63 -:106420001B8E1C8EAE01475E5F4FBE016F5E7F4FBD -:10643000CE010D960E9449E11F5FDDCFDE01599626 -:106440006D01E9A4FAA40BA51CA52DA13EA14FA1A5 -:1064500058A5C301B2010E948CE08EA50E94BDBF69 -:1064600002C082E016CDE6960FB6F894DEBF0FBEEE -:10647000CDBFDF91CF911F910F91FF90EF90DF90F3 -:10648000CF90BF90AF909F908F907F906F905F90D4 -:106490004F903F902F9008950E94FCC180E295E2BA -:1064A0000E9438C083E50E949987882321F00E94CA -:1064B0004E8780936B0280916B02811103C08CE147 -:1064C00097E002C080E297E00E9438C088E195E240 -:1064D0000E9438C02091BD183091BE184091BF185D -:1064E0005091C01860914502709146028091470218 -:1064F000909148020F942214AB01BC0186E195E211 -:106500000E94C7C12091C1183091C2184091C31890 -:106510005091C41860914D0270914E0280914F02CB -:10652000909150020F942214AB01BC0183E195E2DB -:106530000E94C7C12091C5183091C6184091C71854 -:106540005091C8186091550270915602809157027F -:10655000909158020F942214AB01BC0180E195E2A6 -:106560000E94C7C188E095E20E9438C02091BD1802 -:106570003091BE184091BF185091C01860914902E7 -:1065800070914A0280914B0290914C020F94221418 -:10659000AB01BC0186E095E20E94C7C12091C11801 -:1065A0003091C2184091C3185091C41860915102A3 -:1065B0007091520280915302909154020F942214D0 -:1065C000AB01BC0183E095E20E94C7C12091C518D0 -:1065D0003091C6184091C7185091C818609159025F -:1065E00070915A0280915B0290915C020F94221488 -:1065F000AB01BC0180E095E20E94C7C18AE00C9427 -:106600003F4C882319F00E94FCC103C080E20E9425 -:106610003F4C40918B1750918C1760918D17709162 -:106620008E1789EF94E20E94C7C140918F17509155 -:106630009017609191177091921786EF94E20E94E3 -:10664000C7C140919317509194176091951770911D -:10665000961783EF94E20E94C7C14091971750911B -:1066600098176091991770919A1780EF94E20E94A1 -:10667000C7C18AE00C943F4C2F923F924F925F9299 -:106680006F927F928F929F92AF92BF92CF92DF9242 -:10669000EF92FF920F931F93CF93DF93CDB7DEB7A7 -:1066A0002DB63EB684E50E949987882309F441C03F -:1066B00060E089E40E94EF87082F61E070E082E5E6 -:1066C0000E94CBAA6C0160E070E083E50E94CBAA37 -:1066D000182F65E470E08CE40E94CBAA5C0164EFA3 -:1066E00071E087E50E94CBAA2C01990F6608770814 -:1066F000812F90E0A816B906CCF01634A8F4011149 -:10670000E2C0812F0E94734B882309F4DCC025ED81 -:1067100036E041E060E0812F0E94D2A88AE00E942A -:106720003F4C8AE00E943F4C1F5FE2CF8FE794E22C -:1067300024C085E40E9499878823B1F00E944E8787 -:10674000809374178FED94E20E9438C08091741783 -:10675000811103C081ED94E202C085ED94E20E94B4 -:1067600038C088ED94E209C083E50E9499878823A8 -:1067700039F00E94F8C186E894E20E9438C0EBC06C -:1067800060E070E080E50E94CBAA8C01F82E80E5E5 -:106790000E94E287811107C035E4301708F4DBC09E -:1067A00085E4E82E01C0E02E60E089E40E94EF87D6 -:1067B000582E60E087E50E94EF87882309F480C0A7 -:1067C0008DB69EB682EC94E20E9438C06801DD244A -:1067D0008E2D90E08C199D090196EDB7FEB7E81B50 -:1067E000F90B0FB6F894FEBF0FBEEDBF2DB73EB745 -:1067F0002F5F3F4F5901E01660F0063440F451100E -:1068000094C0802F0E94734B882309F48EC00F5FC1 -:10681000F2CF4090030883E08093030881E08093E7 -:10682000AF1849EA54E262EB74E282E00E94EDC0E4 -:1068300089E994E20E9494B77F2CE71418F135E4BB -:106840003715F0F0511005C0872D0E94734B811150 -:1068500017C0872D0E948E65682E072D10E00C1939 -:106860001D090A0D1B1DF8018081681649F026ECF0 -:1068700035E040E0652D872D0E94D2A8F8016082A6 -:106880007394DBCF8091AF18882339F068EC70E007 -:1068900080E090E00E9409C0CFCF409203080FB67D -:1068A000F8949EBE0FBE8DBE56C0F5E4FF1538F0BD -:1068B00026EC35E041E0652D8F2D0E94D2A8F3949F -:1068C000EF1498F748C0A89520EE36E041E0602F1D -:1068D000812F0E94D2A861E0812F0E94E665E12C01 -:1068E000F12CEC14FD040CF01CCFA89560E0812F76 -:1068F0000E94B765C301B2010E9409C0A89561E07A -:10690000812F0E94B765C301B2010E9409C0A895FA -:1069100060E0812F0E94B765C301B2010E9409C0E7 -:10692000A8952FEFE21AF20ADCCF62E0802F0E94D6 -:10693000E66561E070E080E090E00E940A67602E0A -:10694000712C6C187D08802F0E948E65F501E60D74 -:10695000F71D80835CCF0FB6F8943EBE0FBE2DBEF0 -:10696000DF91CF911F910F91FF90EF90DF90CF902B -:10697000BF90AF909F908F907F906F905F904F905F -:106980003F902F9008958091090180FD06C080916D -:10699000B01C83FB882780F9089580E008950F9349 -:1069A0001F93CF93DF938B01D82FC92F4630C1F4AB -:1069B000109268171092691710926A1710926B174D -:1069C00010926C170E94F39A20E030E04CE053E400 -:1069D000B8018D2F9C2F0F941E0D87FD0FC01DC079 -:1069E0000E94A3D420E030E046E953E4B8018D2FA3 -:1069F0009C2F0F941E0D87FD20C02EC020E030E09C -:106A0000A901B8018D2F9C2F0F94821618164CF0F7 -:106A100000E010E0D0E0C0E004C000E010E0DCE006 -:106A2000C3E4B8018D2F9C2F0F948E15CB01DF91FD -:106A3000CF911F910F910C94FE8520E030E0A901C9 -:106A4000B8018D2F9C2F0F94821618164CF000E081 -:106A500010E0D0E0C0E004C000E010E0D6E9C3E4FC -:106A6000B8018D2F9C2F0F948E15CB01DF91CF9104 -:106A70001F910F910C9417A490916419977081E065 -:106A8000973009F080E0089580917A1A90917B1AEE -:106A9000891B8F7069F48091700A811109C081E0AF -:106AA0002091ED083091EE08232B19F480E0089531 -:106AB00081E00895CF92DF92EF92FF926B017C010B -:106AC0006091641970916519072E000C880B990B61 -:106AD0000F94250D9B01AC01C701B6010F94211441 -:106AE00020919317309194174091951750919617D4 -:106AF0000F94840D0F948E15CB01FF90EF90DF90D3 -:106B0000CF900C94ADEC3F924F925F926F927F9238 -:106B10008F929F92AF92BF92CF92DF92EF92FF92AD -:106B20000F931F93CF93DF93CDB7DEB762970FB666 -:106B3000F894DEBF0FBECDBF2B013C01342E24E004 -:106B4000429FC00111249A8B898BFC01E45AF44FB7 -:106B5000C080D180E280F38020E030E04AE754E456 -:106B6000C701B6010F9421144B015C0120E030E015 -:106B70004AE754E4C701B6010F9422147B018C014B -:106B800080916B028823D1F181E0381639F13816F3 -:106B9000A0F092E0391232C08090550290905602D7 -:106BA000A0905702B0905802E0905902F0905A021B -:106BB00000915B0210915C0221C080904502909090 -:106BC0004602A0904702B0904802E0904902F0903F -:106BD0004A0200914B0210914C0210C080904D026D -:106BE00090904E02A0904F02B0905002E09051025F -:106BF000F0905202009153021091540280E1E3EEB2 -:106C0000F2E0DE01119601900D928A95E1F7E1E044 -:106C1000F0E0EC0FFD1F89899A89E80FF91F20E049 -:106C200030E040E752E460817181828193810F946A -:106C30001C1560935D0270935E0280935F029093D7 -:106C400060028091651981FF0E940C869201A30168 -:106C5000B701C8010F948216181614F4720183014B -:106C60009701A801B401C5010F941E0D87FD02C054 -:106C700074018501E989FA89E650F54FC701D80109 -:106C800080839183A283B38380916519826080930E -:106C9000651962960FB6F894DEBF0FBECDBFDF91C7 -:106CA000CF911F910F91FF90EF90DF90CF90BF9009 -:106CB000AF909F908F907F906F905F904F903F909C -:106CC00008952091651990E0880F991F880F991FEA -:106CD000FC0121FF03C0E650F54F02C0E45AF44F17 -:106CE000608171818281938108952091651920FFCF -:106CF00014C020E83EE3629FA001639F500D729F85 -:106D0000500D1124CA019695879596958795009701 -:106D100031F08A950000E9F708950C9409C00895B0 -:106D20009F92AF92BF92CF92DF92EF92FF920F931A -:106D30001F93CF93DF9380910411833009F50E9454 -:106D40003CB58823E9F06091B9087091BA08072E24 -:106D5000000C880B990B0F94250D20E030E040E8E3 -:106D60005FE30F9421142091B5083091B60840914B -:106D7000B7085091B8080F941E0D18160CF062C099 -:106D8000D0E0FF24F39400E010E0EE24E39445E02B -:106D9000D42EC0E0CC24C39455E0B52E65E0A62ED9 -:106DA00072E8972EFC24DC16D1F18D2F90E04897E5 -:106DB000A4F5DF5FF801BC9EE00DF11D1124EE0F7C -:106DC000FF1FEE0FFF1FE752F74E20E030E04AE7CB -:106DD00054E460817181828193810F94840D0F94BA -:106DE0008E1570930D1B60930C1BA092001B90924C -:106DF000031B8D2F90E08158974F880F991F092E04 -:106E0000000CAA0BBB0B8093041B9093051BA09353 -:106E1000061BB093071B0E94B8E9CE0DC4CF0F5FCD -:106E20001F4F0530110579F1F11006C0EE24EA94E8 -:106E3000DD24DA94C4E0B6CFEE24E39435E0D32E1B -:106E4000C0E0B0CF81E09AE590930D1B80930C1BBE -:106E500080E490E090930F1B80930E1B87E080935B -:106E6000001B82E88093031B84E890E0A0E0B0E080 -:106E70008093041B9093051BA093061BB093071BE4 -:106E80000E94B8E97DCFDF91CF911F910F91FF90C4 -:106E9000EF90DF90CF90BF90AF909F900895AF920A -:106EA000BF92CF92DF92EF92FF920F931F93CF93F7 -:106EB000DF93EC0188EEC82E80E2D82EE12CF12C75 -:106EC00002E8A12C90E2B92E15E00093031BC092BA -:106ED000041BD092051BE092061BF092071BB09298 -:106EE0000D1BA0920C1B1093001B0E94B8E98FEFA2 -:106EF000C81AD80AE80AF80A80E1C81681E2D8065A -:106F0000E104F10411F748EE50E260E070E0CE01D8 -:106F1000DF91CF911F910F91FF90EF90DF90CF9075 -:106F2000BF90AF900C9467E984E08093031182E0F6 -:106F30008093D00781E09AE590930D1B80930C1B02 -:106F40008EE490E090930F1B80930E1B87E080935C -:106F5000001B82E88093031B84E890E0A0E0B0E08F -:106F60008093041B9093051BA093061BB093071BF3 -:106F70000E94B8E98BEE96E00C944A4DCF92DF92D6 -:106F8000EF92FF926A017B010E94E287882331F031 -:106F9000FF90EF90DF90CF900C946287C701B6010D -:106FA000FF90EF90DF90CF9008952F923F924F92F5 -:106FB0005F926F927F928F929F92AF92BF92CF9289 -:106FC000DF92EF92FF920F931F93CF93DF93CDB792 -:106FD000DEB7CC54D1090FB6F894DEBF0FBECDBFDB -:106FE00060E070E085E40E94CBAA182F81E0810F59 -:106FF000823018F08DE997E240C065E070E083E4EC -:107000000E94CBAA89A760E085E50E94EF872B96B6 -:107010008FAF2B9717FF05C040E050E06CE872E49B -:1070200004C040E050E066E173E483E50E94BEB72F -:107030000F948E15072E000C880B990B0F94250DBD -:107040006D837E838F832D969FAF2D970E9444671B -:107050002B013C011F3F09F0EBC420E030E047E08A -:1070600053E46D817E818F812D969FAD2D970F9476 -:1070700082161816ECF482E797E2C45BDF4F0FB676 -:10708000F894DEBF0FBECDBFDF91CF911F910F915E -:10709000FF90EF90DF90CF90BF90AF909F908F9038 -:1070A0007F906F905F904F903F902F900C9438C0DE -:1070B0008EE597E20E9438C00E94429B8FE7809342 -:1070C000BB0824EB30E0A8EEB3E00F94C8136BA725 -:1070D0007CA78DA79EA79B01AC01240D351D461DE5 -:1070E000571D28AF39AF4AAF5BAF81E080931602DE -:1070F00010923F021F3FF9F48BEA9AEAAAEABEE334 -:107100008CAF9DAFAEAFBFAF2DEC3CEC4CE45EE37B -:1071100024962CAF3DAF4EAF5FAF249746EA56E2C0 -:1071200026965FAF4EAF269780E796E228969FAFF0 -:107130008EAF28971EC020E030E040E05EE32CAF29 -:107140003DAF4EAF5FAF8AE999E9A9E1BFE324966D -:107150008CAF9DAFAEAFBFAF2497A4E9B6E2269641 -:10716000BFAFAEAF2697EDE5F6E22896FFAFEEAFE4 -:10717000289749A25AA26BA27CA24FA658AA69AA34 -:107180007AAA2FE730E040E050E0288739874A8725 -:107190005B87188A198A1A8A1B8A1C861D861E8696 -:1071A0001F86C12CD12C76011E8A30E43F8B4CE126 -:1071B000488F56E4598F1A8E1B8E1C8E1D8E1BAA6B -:1071C000CCAADDAAEEAAFFAAFFE78F2E912CA12C54 -:1071D000B12C1DA21EA21FA218A681E088A31D8AA1 -:1071E0001C8A212C312C00E02C961FAE2C97A7E195 -:1071F0001A02C00111248656974FFC013A962A962E -:10720000FFAFEEAF2A979C012C5F3F4F3F8F2E8F31 -:1072100049A5042E000C550B5AA749A780911602C8 -:10722000882309F457C20E94446769837A838B8359 -:107230009C8380917317882309F4BAC00E94B19B84 -:107240001F3F61F42090B5083090B6080091B70850 -:107250005091B8082C965FAF2C970EC0AE8DBF8DA5 -:107260002C9011963C90119712960C9112971396B0 -:10727000BC912C96BFAF2C972A8D3B8D4C8D5D8D8C -:10728000B101802F2C969FAD2C970F948216181663 -:107290003CF42A8E3B8E0C8F2C96EFAD2C97ED8F05 -:1072A0002E893F89488D598DB101802F2C969FAD35 -:1072B0002C970F941E0D87FF07C02E8A3F8A088FD8 -:1072C0002C96FFAD2C97F98F28A1222309F44DC0ED -:1072D0009101402F2C965FAD2C976D817E818F811F -:1072E0002D969FAD2D970F941E0D87FF61C049818C -:1072F0005A816B817C814419550966097709DB0144 -:10730000CA0188589341A109B109B7FD51C08885C8 -:107310009985AA85BB8588199909AA09BB09B595DC -:10732000A795979587951F3F19F48093BB0805C0D3 -:107330002A96EEADFFAD2A9780834DA35EA36FA37F -:1073400078A7FD81FA8F2E812B8F3F813C8F2D9660 -:107350004FAD2D974D8F89819A81AB81BC8189A3D7 -:107360009AA3ABA3BCA318A223C09101402F2C96D3 -:107370005FAD2C976D817E818F812D969FAD2D976E -:107380000F9482161816A4F489819A81AB81BC816E -:1073900029A13AA14BA15CA1821B930BA40BB50BB5 -:1073A000AC01BD01485853416109710977FFB1C172 -:1073B00020E030E040EA51E46D817E818F812D969E -:1073C0009FAD2D970F9422149101402F2C965FAD05 -:1073D0002C970F941E0D87FF03C088EC96E2BCC06B -:1073E00089819A81AB81BC812FA538A949A95AA965 -:1073F000821B930BA40BB50BB7FD93C01F3F19F471 -:1074000080915B0B01C0812F0E9465918AE00E94F0 -:107410003F4C89819A81AB81BC818053984FAF4F9B -:10742000BF4F8FA798ABA9ABBAAB9BA9911159C01D -:107430002CA93DA94EA95FA9B101802F2C969FAD23 -:107440002C970F9482161816BCF520E030E040E02F -:1074500050E4B101802F2C969FAD2C970F942214ED -:107460006CAB7DAB8EAB9FAB2BA53CA54DA55EA5B4 -:1074700089819A81AB81BC81280F391F4A1F5B1F0C -:1074800028AF39AF4AAF5BAF20E030E040EC50E4CA -:107490006D817E818F812D969FAD2D970F94211444 -:1074A0009101402F2C965FAD2C970F941E0D881FD5 -:1074B0008827881F8BAB35C089819A81AB81BC81BD -:1074C00028AD39AD4AAD5BAD821B930BA40BB50B58 -:1074D000B7FD27C026964EAD5FAD269769EB76E2E5 -:1074E0001DC020E030E040EA51E46D817E818F8153 -:1074F0002D969FAD2D970F9421149B01AC01B101E6 -:10750000802F2C969FAD2C970F941E0D87FF09C0DE -:1075100028964EAD5FAD289764E876E2812F0E94F1 -:107520000BF389819A81AB81BC81880F991FAA1FB7 -:10753000BB1F29A13AA14BA15CA1821B930BA40BF9 -:10754000B50B84199509A609B70981389F44A24152 -:10755000B10528F08FE396E20E9438C0BBC049A570 -:107560005AA58C899D89481759070CF0B0C003971C -:107570000CF4ADC082EE95E20E9438C01F3F29F4A2 -:10758000A2EDB5E2BA83A98304C0E1EDF5E2FA8386 -:10759000E98380EC95E20E9438C089819A810E943B -:1075A00038C0B701A6018EED95E20E94C7C18AE0FE -:1075B0000E943F4C80EC95E20E9438C089819A81FC -:1075C0000E9438C04C855D856E857F858AED95E289 -:1075D0000E94C7C18AE00E943F4C80EC95E20E9465 -:1075E00038C089819A810E9438C0488959896A893E -:1075F0007B8986ED95E20E94C7C18AE00E943F4CDC -:107600002B96FFAD2B97FF2309F466C01F3F69F54A -:10761000C092BC08D092BD08E092BE08F092BF08AC -:107620002CEA35EC47E25EE36C857D858E859F858F -:107630000F94840D6093C0087093C1088093C208B2 -:107640009093C3082CEA35EC47E25EE368897989B8 -:107650008A899B890F941C156093C4087093C50890 -:107660008093C6089093C70837C047E11402900181 -:1076700011242656374F3A832983D9011B96CD9280 -:10768000DD92ED92FC921E972CEA35EC47E25EE328 -:107690006C857D858E859F850F94840DE981FA81A7 -:1076A0006787708B818B928B2CEA35EC47E25EE327 -:1076B000688979898A899B890F941C15A981BA8167 -:1076C00053966D937D938D939C93569705C00E941E -:1076D000C519A4CD0E94429B81E080933F02C45B08 -:1076E000DF4F0FB6F894DEBF0FBECDBFDF91CF9155 -:1076F0001F910F91FF90EF90DF90CF90BF90AF90D0 -:107700009F908F907F906F905F904F903F902F90C1 -:1077100008954C895D89452B09F451C14DA05EA0A7 -:107720006FA078A4480E591E6A1E7B1E2DA13EA193 -:107730004FA158A5281B390B4A0B5B0BC501B4019F -:107740000F946413A30192010F9496138884998473 -:10775000AA84BB84820E931EA41EB51E54E1851616 -:107760009104A104B1040CF18CEE88169104A104DB -:10777000B1043CF490E889169104A104B10434F4F6 -:1077800022C06BEE862E912CA12CB12C8886998676 -:10779000AA86BB862EEF30E040E050E02819390978 -:1077A0004A095B0949015A0112C084E190E0A0E056 -:1077B000B0E088879987AA87BB8754E1852E912CF2 -:1077C000A12CB12C04C088869986AA86BB8686E542 -:1077D00097E20E9438C0688579858A859B850E94DA -:1077E000B34C81E597E20E9438C0C501B4010E9404 -:1077F000B34C4E895F89688D798D8AE497E20E9447 -:10780000C7C14A8D5B8D6C8D7D8D83E497E20E94AC -:10781000C7C1AC89BD8913970CF4D1C0C501B401AF -:107820000F94250D20E030E040E850E40F94840DE3 -:107830006B017C012E893F89488D598D6A8D7B8D26 -:107840008C8D9D8D0F9421142BED3FE049E450E485 -:107850000F94840D20E030E040E05FE30F94840D4E -:107860009B01AC01C701B6010F941C156B017C0193 -:10787000C301B2010F94250D2FE632E143E85AE32C -:107880000F94840D2B013C01B701A6018DE397E213 -:107890000E94C7C1B301A20187E397E20E94C7C15A -:1078A0001F3F09F044C02DEC3CEC4CE45EE3C70103 -:1078B000B6010F94840D6B017C019B01AC010F9408 -:1078C0002214A30192010F941C156C877D878E876B -:1078D0009F87A7019601C301B2010F94840D20E098 -:1078E00030E040E450E40F941C15688B798B8A8B50 -:1078F0009B8B87E297E20E9438C0B701A60181E224 -:1079000097E20E94C7C14C855D856E857F858BE1BE -:1079100097E20E94C7C1488959896A897B8985E1B4 -:1079200097E20E94C7C18AE00E943F4C4AC0249659 -:107930002CAD3DAD4EAD5FAD2497C701B6010F94A0 -:10794000840D6B017C019B01AC01C301B2010F945A -:10795000840D2CAD3DAD4EAD5FAD0F94840D688BA5 -:10796000798B8A8B9B8BA7019601C701B6010F9477 -:107970002214A30192010F941C156C877D878E87BA -:107980009F8785E097E20E9438C0B701A6018FEF7C -:1079900096E20E94C7C14C855D856E857F8589EF23 -:1079A00096E20E94C7C1488959896A897B8983EF19 -:1079B00096E20E94C7C18AE00E943F4C11C01F3F5F -:1079C00079F488859985AA85BB85880D991DAA1D9E -:1079D000BB1DB595A795979587958093BB0811C05A -:1079E00088859985AA85BB85880D991DAA1DBB1D13 -:1079F000B595A795979587952A96EEADFFAD2A97F1 -:107A000080832C893D892F5F3F4F3D8B2C8B3D819F -:107A10003E8B4E814F8B5F81588F2D968FAD2D976A -:107A2000898F49805A806B807C8091E098A3C0CC7C -:107A3000E12E012E000CFF08F70183E0EE0FFF1F7F -:107A40008A95E1F7E25FFD4F668177816F5071099A -:107A5000072E000C880B990B0F94250D9B01AC0190 -:107A60006D817E818F812D969FAD2D970F9482160B -:107A700018160CF400CB8EE597E20E9438C00E94E5 -:107A8000429B87E18E9DF0018F9DF00D1124E656FB -:107A9000F74F8FE7828722E330E015CB2F923F929A -:107AA0004F925F926F927F928F929F92AF92BF920E -:107AB000CF92DF92EF92FF920F931F93CF93DF93BA -:107AC000EB01FC0180809180A280B380C501B401EC -:107AD00020E831E541E050E00F947413C9016DE6F0 -:107AE00071E00F94E5136B017C01C501B40120E145 -:107AF0003EE040E050E00F947413CA01B90128E160 -:107B000030E040E050E00F947413362E272E062FFD -:107B1000172F8CE3482E512C612C712CC501B40118 -:107B2000A30192010F947413B62EA72ECA01B901B6 -:107B3000A30192010F947413CB01C114D104D9F0A5 -:107B4000AF92BF927F936F932F923F92FF92EF92EB -:107B5000DF92CF928CEA95E29F938F93DF93CF933E -:107B60000F94B60C8DB79EB70E960FB6F8949EBFC5 -:107B70000FBE8DBF5CC0E114F104C9F0AF92BF929B -:107B80007F936F932F923F92FF92EF928CE995E251 -:107B90009F938F93DF93CF930F94B60CEDB7FEB7FF -:107BA0003C960FB6F894FEBF0FBEEDBF40C0012B50 -:107BB000B9F0AF92BF927F936F932F923F9280E97B -:107BC00095E29F938F93DF93CF930F94B60C8DB76D -:107BD0009EB70A960FB6F8949EBF0FBE8DBF27C002 -:107BE000892BA9F0AF92BF927F936F9388E895E2BB -:107BF0009F938F93DF93CF930F94B60CEDB7FEB79F -:107C000038960FB6F894FEBF0FBEEDBF10C0AF920E -:107C1000BF9284E895E29F938F93DF93CF930F9465 -:107C2000B60C0F900F900F900F900F900F90DF9168 -:107C3000CF911F910F91FF90EF90DF90CF90BF9069 -:107C4000AF909F908F907F906F905F904F903F90FC -:107C50002F9008958F929F92AF92BF92CF92DF9212 -:107C6000EF92FF920F931F93CF93DF93CDB7DEB7C1 -:107C7000E6970FB6F894DEBF0FBECDBF009178181F -:107C80001091791882E08093E10AF80101900020B8 -:107C9000E9F731975F01A01AB10AF801CF01801B03 -:107CA000910B8A159B0534F480818F3209F4108280 -:107CB0003196F4CF8BE1ECE5FAE1DE015C960190C0 -:107CC0000D928A95E1F7E12CF12CEA14FB040CF0FB -:107CD00084C0F801EE0DFF1D8081811103C08FEF7C -:107CE000E81AF80A6801CE0CDF1CF60180818823AF -:107CF00009F473C0FFEFEF1AFF0AF801EE0DFF1D44 -:107D00007F01E01AF10A81918111FACFCE014C96E0 -:107D10000E940D9E8BE1FE017C96DE011196019082 -:107D20000D928A95E1F7A601BE016F5F7F4F80E05B -:107D300090E00E944C58CE0101960E94439F8FE232 -:107D40000E943F4C8091840D811103C085E097E033 -:107D500002C084E89DE04C01F40181914F01882329 -:107D600019F00E943F4CF8CF8091B01C84FF35C0C1 -:107D700019821C8221E0A601BE01645E7F4FCE0104 -:107D800001960E9426A3811116C08AE00E943F4CF2 -:107D90000E94FCC180E795E20E9438C0F601819103 -:107DA0006F01882319F00E943F4CF8CFCE01019655 -:107DB0000E94439F12C0CE014C960E943A9F8BE1D5 -:107DC000FE013196DE015C9601900D928A95E1F7F5 -:107DD000CE0101960E94439F78CF8AE00E943F4CDB -:107DE000CE014C960E94439FE6960FB6F894DEBFF4 -:107DF0000FBECDBFDF91CF911F910F91FF90EF90FC -:107E0000DF90CF90BF90AF909F908F90089590910A -:107E1000B01C93FB882780F993FF06C081E0909106 -:107E2000061A911101C080E00895E0EFF7E180812A -:107E3000818387E695E20E9438C080917418909102 -:107E40007518A0917618B0917718BC01CD016F5FBD -:107E50007F4F8F4F9F4F0E94B34C0E94444D0C9414 -:107E60009EC50F931F93CF938C01C62F0E94F8C11C -:107E7000C8010E9438C06091741870917518809183 -:107E80007618909177180E94B34C0E94444DC1110E -:107E900004C00E94574D0196E1F70E9415BFEC2FD8 -:107EA000EE0FFF0BEE58F74E11821082CF911F910B -:107EB0000F910895AF92BF92CF92DF92EF920F93FE -:107EC0001F93CF93DF938B01E0905B0BCCE5DBE05E -:107ED00024E0E29EF0011124EF5CFD4F208131810E -:107EE00042815381FC0160817181828193810F9471 -:107EF0001C152C853D854E855F850F9422146C875B -:107F00007D878E879F87A12CB12C650128E63BE0F9 -:107F100044E65BE060E67BE0CE010E94DFD9DF91C2 -:107F2000CF911F910F91EF90DF90CF90BF90AF90C6 -:107F30000C945ED7CF93DF931092D5181092D61879 -:107F40001092D7181092D81884E6E9EDF8E1DF0115 -:107F50001D928A95E9F7C0E0D0E020E030E0A90169 -:107F60006D2F8C2F0E9490B6DF5FD530B1F7CF5FB9 -:107F7000C53091F7DF91CF9108959091740B9817C8 -:107F8000D1F00E945ED78091740B882359F044E6AB -:107F90005BE060E67BE08CE59BE00E94A3D9109259 -:107FA000740B07C081E08093740B8CE59BE00E940A -:107FB0006FD90C94A6E10895EF92FF921F93CF938F -:107FC000DF9389EDE82E88E1F82E15E0C0E0D0E0DF -:107FD00020E030E0A901F701EC0FFD1F6081718105 -:107FE000828193810F941E0D81110CC02496C4319F -:107FF000D10571F7115084E1E80EF11C1111E6CFA3 -:1080000080E001C081E0DF91CF911F91FF90EF9060 -:108010000895CF92DF92EF92FF926B017C0183E390 -:10802000C816D104E104F10470F082E3C81AD10843 -:10803000E108F10862E370E080E090E00E940A67E6 -:108040000E9445F3ECCFC701B6010E940A67FF907A -:10805000EF90DF90CF900C9445F3CF93C82FCC23B3 -:1080600029F080E20E943F4CC150F9CFCF91089592 -:10807000CF93DF93FC018491EF012196882321F0B7 -:108080000E943F4CFE01F7CFDF91CF9108950F93EF -:108090001F93CF938C01C62F87EE97E20E9438C0C2 -:1080A000C8010E9438C0CC2331F08AE0CF911F91E3 -:1080B0000F910C943F4CCF911F910F91089560E068 -:1080C0008CEF97E20E9447C084E098E20E9438C09B -:1080D0008AE00C943F4C60E08CEF97E20E9447C02E -:1080E00088EF97E20E9438C08AE00C943F4CEF92F0 -:1080F000FF920F931F93CF937C018B01C42F60E0FD -:108100008CEF97E20E9447C0C7010E9438C080E20E -:108110000E943F4CC8010E9438C0CC2341F08AE045 -:10812000CF911F910F91FF90EF900C943F4CCF9106 -:108130001F910F91FF90EF90089541E0BC0181EFF6 -:1081400097E20C9477C0CF93DF93C0917D18109283 -:108150007D18C23019F118F4C13041F02DC0C4307F -:1081600011F1C53049F5CFE2D8E22BC0811127C00B -:108170000E946BC041E06CE878E283EB99E20E94D8 -:1081800077C081E898E20E949DC0C0937D1888E77F -:1081900098E20E949DC00E945FC011C01092AF186B -:1081A000CBE4D8E20EC084E798E29093EE08809387 -:1081B000ED08CAE3D8E205C0C1E2D8E202C0C4E6D5 -:1081C000D8E289E098E20E9438C0CE010E9438C00F -:1081D0008AE0DF91CF910C943F4C0F931F93CF9384 -:1081E000DF938B01EA0180937D180E946BC041E010 -:1081F000B80183EB99E20E9477C0209719F0CE0175 -:108200000E949DC0DF91CF911F910F910C945FC090 -:1082100090917D18911102C00C94EDC008958F9239 -:108220009F92AF92BF92CF92DF92EF92FF920F9305 -:108230001F93CF93DF93C9E0D7E08991882319F08A -:108240000E943F4CFACF6091D5187091D61880915A -:10825000D7189091D81845E00E94CF4C84ED97E252 -:108260000E9438C0C12CD12C760188E00E942DC01C -:10827000C701B6010E94B34C8FEFC81AD80AE80AAA -:10828000F80A95E0C916D104E104F10471F78AE017 -:108290000E943F4C09ED18E1C12CD12C760180E2FF -:1082A0000E943F4CC701B6010E94B34CC0E0D0E031 -:1082B00080E20E943F4CF801EC0FFD1F808091800E -:1082C000A280B380A5019401C501B4010F941417D5 -:1082D000811112C020E030E0A901C501B4010F9462 -:1082E000821687FD03C08BE20E943F4C45E0C5012A -:1082F000B4010E94CF4C09C0B12C80E20E943F4CD7 -:10830000B3948DE398E0B912F9CF6496C436D105E1 -:1083100079F68AE00E943F4C8FEFC81AD80AE80A23 -:10832000F80A0C5F1F4F95E0C916D104E104F1046F -:1083300009F0B5CF8AE0DF91CF911F910F91FF90A7 -:10834000EF90DF90CF90BF90AF909F908F900C9464 -:108350003F4CCF92DF92EF92FF926A017B010E9425 -:1083600038C04AE0C701B601FF90EF90DF90CF9090 -:108370000C94464CCF93DF93EB010E9438C0BE01B2 -:1083800080E090E04AE0DF91CF910C94464CCF9290 -:10839000DF92EF92FF926A017B010E9438C042E0B7 -:1083A000C701B601FF90EF90DF90CF900C94CF4CB7 -:1083B000CF93DF93EB010E9438C0BE01DD0F880B25 -:1083C000990BDF91CF910C94B34C0F931F93CF93E4 -:1083D000DF938B010E9438C0E8018991882319F04E -:1083E0000E943F4CFACFDF91CF911F910F910895DA -:1083F0008DEC97E20C9438C087EC97E20C9438C06F -:108400008091C81783FD0FC08091C71781110BC0E1 -:108410002091A2083091A30880916102909162029C -:10842000281739072CF061E080915B0B0C94569370 -:108430000E94FCC18AE999E20E9438C080E0089558 -:108440008F929F92AF92BF92CF92DF92EF92FF9264 -:108450000F931F93CF93DF9300D01F92CDB7DEB75A -:108460006C017B018A01B09071170E94A3D4B110F6 -:1084700016C08091C717811112C060919E0870913B -:108480009F088091A0089091A1080F948E152091CB -:10849000610230916202621773070CF4BBC00E9444 -:1084A00000C2882309F4B6C0BB20A1F10E94FCC120 -:1084B0008AEF99E20E9438C0B090030883E080936D -:1084C000030881E08093AF1882E080937D180E94BA -:1084D0006BC040E06AEE79E283EB99E20E9477C0DC -:1084E00080E30E943F4C8AE00E943F4C81EE99E27B -:1084F0000E949DC00E945FC083ED99E20E9494B7E4 -:108500008091AF18882321F081E00E946B4DF8CF55 -:10851000B092030820E030E0A901F601608171818A -:10852000828193810F941E0D882371F080E090E08A -:10853000A0ECB0E489839A83AB83BC83BE016F5FF8 -:108540007F4FC6010E945ABF20E030E0A901F70129 -:1085500060817181828193810F941E0D882351F176 -:108560008090AF179090B017A090B117B090B2174D -:1085700080E090E0A8ECB1E48093AF179093B0173F -:10858000A093B117B093B21780E090E0A0EFB1E4F0 -:1085900089839A83AB83BC83BE016F5F7F4FC70122 -:1085A0000E945ABF8092AF179092B017A092B11755 -:1085B000B092B21720E030E0A901F801608171812A -:1085C000828193810F948216181674F480E090E0F3 -:1085D000A0E4B0E489839A83AB83BC83BE016F5F60 -:1085E0007F4FC8010E945ABF81E080937D180E948E -:1085F0006BC041E06CEC79E283EB99E20E9477C0BA -:1086000082EC99E20E949DC089EB99E20E949DC094 -:108610000E945FC020E030E0A90160918A1870914B -:108620008B1880918C1890918D180F941E0D87FFD8 -:108630000FC080E090E0A0E7B2E489839A83AB8327 -:10864000BC83BE016F5F7F4F8AE898E10E945ABFEA -:1086500080E090E0A8E4B2E489839A83AB83BC8392 -:10866000AE014F5F5F4F62E878E18EE798E10E94CC -:1086700049E180E090E0A0EAB0E489839A83AB838B -:10868000BC83BE016F5F7F4F86E898E10E946BE17B -:1086900080918A1890918B18A0918C18B0918D18A8 -:1086A0008093680B9093690BA0936A0BB0936B0B4C -:1086B0008093060B9093070BA093080BB093090BC4 -:1086C00086E09BE00E946FD761E08BEA99E20E940E -:1086D00047C08091730A81508093730A40E050E054 -:1086E00066E27AE285E00E9408C18091730A8823DD -:1086F00039F00E94D7568091730A81508093730A93 -:1087000080917C18882351F010927C1880917A18FF -:108710008093C51780917B188093C61780910911AB -:10872000823011F40E9434710E9443D40F900F9054 -:108730000F900F90DF91CF911F910F91FF90EF90CD -:10874000DF90CF90BF90AF909F908F9008950F9340 -:108750001F93CF93DF93C82F0E94FCC1C11103C0A8 -:1087600081EB98E202C083ED98E20E9438C00E943B -:108770004467DC01CB0188539045AF4FBF4F8093D6 -:108780006D1790936E17A0936F17B0937017109298 -:1087900071171091030883E08093030881E08093B0 -:1087A000AF1843E859E26CE879E282E00E94EDC03C -:1087B00085E799E20E9494B7CC2319F0C3EDD8E283 -:1087C00002C0C1EBD8E201E08091AF18882309F420 -:1087D00055C080917117882309F44CC00E94FCC1D8 -:1087E0008EE499E20E9438C049E359E260E479E2FC -:1087F00082E00E94EDC08BE299E20E9494B78091E2 -:10880000AF18882321F081E00E946B4DF8CF40E043 -:1088100050E061E279E282E00E94EDC084E199E2F9 -:108820000E944FB70E94A3D40E9400C20E94FCC1C4 -:10883000CE010E9438C00E944467DC01CB018853FE -:108840009045AF4FBF4F80936D1790936E17A093D5 -:108850006F17B0937017109271174FEF58E268E0DE -:1088600079E282E00E94EDC08EE197E00E9494B729 -:108870000093AF1881E00E946B4DA6CF10930308C0 -:10888000DF91CF911F910F9108958F929F92AF9298 -:10889000BF92CF92DF92EF92FF921F93CF93DF931D -:1088A000CDB7DEB728970FB6F894DEBF0FBECDBFA9 -:1088B0002091730A21112BC17A015B016C0161E0E7 -:1088C00083E998E20E9447C040E050E06BEA78E21A -:1088D00085E00E9408C18091C81783FD22C020E076 -:1088E00030E0A901F70160817181828193810F9449 -:1088F0001E0D8823B1F01091C717111112C02091DD -:108900006102309162028091A2089091A3088217BF -:1089100093073CF40E94FCC18AE998E20E9438C0A7 -:10892000F7C08091730A91E0980F9093730A909129 -:10893000B01C92FF06C09B7F9093B01C8E5F80930B -:10894000730A0E94BED280E1ECE5FBE0AEE7B8E13D -:1089500001900D928A95E1F70E945ED780917C1874 -:1089600081110FC081E080937C188091C51780939E -:108970007A181092C5178091C61780937B181092B1 -:10898000C61720E030E0A901F60160817181828183 -:1089900093810F941E0D882319F18091C7178111BF -:1089A00011C060919E0870919F088091A0089091DD -:1089B000A1080F948E152091610230916202621716 -:1089C000730774F080E090E0A0E7B2E489839A83B3 -:1089D000AB83BC83BE016F5F7F4FC6010E945ABF4D -:1089E0000E947362811104C0B50182E00E94F7D237 -:1089F00020E030E0A901F7016081718182819381DB -:108A00000F941E0D811102C011E082C00E9400C2AD -:108A1000182F8823C9F380E090E0A0E7B2E48D83AB -:108A20009E83AF83B88780E090E0A0E8B0EC8983B4 -:108A30009A83AB83BC83BE016B5F7F4FCE010196EF -:108A40000E945ABF68E873E180E090E00E9409C08C -:108A50008091A7179091A817A091A917B091AA1774 -:108A60008D839E83AF83B88780E090E0A0E8B0E478 -:108A700089839A83AB83BC83BE016B5F7F4FCE013A -:108A800001960E945ABF8090AF179090B017A090A7 -:108A9000B117B090B21780E090E0A8ECB1E48093F9 -:108AA000AF179093B017A093B117B093B21780E0AF -:108AB00090E0A4E2B2E48D839E83AF83B887F70190 -:108AC00080819181A281B38189839A83AB83BC83A6 -:108AD000BE016B5F7F4FCE0101960E945ABF80920C -:108AE000AF179092B017A092B117B092B2178091C1 -:108AF0005B0B882321F0813019F4479A01C0129A48 -:108B000064E670E080E090E00E9409C001C010E0DF -:108B1000812F28960FB6F894DEBF0FBECDBFDF9130 -:108B2000CF911F91FF90EF90DF90CF90BF90AF90CB -:108B30009F908F90089563E00C94CE62CF93DF9363 -:108B4000E0916F0AF0E0E659F44E8081882309F441 -:108B500047C088E89AE20E9438C0C0916F0A80E658 -:108B6000C89FE0011124C151D74F88818E3479F418 -:108B700080E20E943F4C89910E943F4C899190ED88 -:108B8000980F9A30C8F38D32B9F38B32A9F385E888 -:108B90009AE20E9438C080917A1A90917B1A891BC0 -:108BA0008F706FE070E0681B7109072E000C880B56 -:108BB000990B0E94B34C82E89AE20E9438C08091DF -:108BC000700A64E070E0681B7109072E000C880BC6 -:108BD000990B0E94B34C8AE0DF91CF910C943F4CEB -:108BE000DF91CF9108959091EC08E92FF0E0E659DC -:108BF000F44E80839F5F943018F49093EC0802C089 -:108C00001092EC088091700A8F5F8093700A08952B -:108C1000CF93DF93EC018881882349F18A3039F1C1 -:108C20008D3029F18B33F9F08091700A8430D8F4BB -:108C30008091EC0820E6829FC0011124BE01815181 -:108C4000974F0F94801780E00E94F3C50E94FCC1EB -:108C5000BE0185E79AE20E94E5C182E79AE2DF91D0 -:108C6000CF910C9438C080E00E946B4DD4CFDF913F -:108C7000CF9108955F926F927F928F929F92AF9261 -:108C8000BF92CF92DF92EF92FF920F931F93CF93F9 -:108C9000DF93CDB7DEB76DB67EB67C0100E010E0A5 -:108CA0008DB69EB6F701E00FF11F5490C8010196F2 -:108CB0005C01552029F09AE0591611F08501F2CF98 -:108CC0008DB79EB78A199B090FB6F8949EBF0FBE49 -:108CD0008DBF01966C01A801B7010F94580CF601E5 -:108CE000E00FF11F1082C6010E9408C6552041F016 -:108CF000EA0CFB1C0FB6F8949EBE0FBE8DBED0CF03 -:108D00000FB6F8947EBE0FBE6DBEDF91CF911F915E -:108D10000F91FF90EF90DF90CF90BF90AF909F901A -:108D20008F907F906F905F9008958F929F92AF92F7 -:108D3000BF92CF92DF92EF92FF920F931F93CF9348 -:108D400010927918109278182FE32093AE18109291 -:108D5000AD181092AC181092A8181092A918109281 -:108D6000AA181092AB189C01F90190812F5F3F4F18 -:108D70009032D1F39E34C9F4818190ED980F9A30EE -:108D800020F08D3211F08B3281F4DF0112969D01BB -:108D90002F5F3F4F8C9180538A3010F4D901F7CF69 -:108DA000FD01119680818032D9F3F0934E0BE09350 -:108DB0004D0B8F010F5F1F4FC0816AE270E0C80149 -:108DC0000F947517009731F0FC0131978081803244 -:108DD000E1F31182CD3429F0C43519F0C73409F01C -:108DE00000C1F80180810F5F1F4F8032D1F38053A3 -:108DF0008A3008F0F6C0C093AE181092AD181092E9 -:108E0000AC184AE08091AC189091AD18489F900141 -:108E1000499F300D11243093AD182093AC18319632 -:108E2000DF0111978C91082E000C990BC097820FCF -:108E3000931F9093AD188093AC18208120532A3053 -:108E400008F3DF0131962C912032D9F3CD34D1F4DF -:108E50008E31910591F03CF48731910571F08C31A0 -:108E6000910581F40AC08537910564F08737910533 -:108E700024F0803A23E0920729F4B0937918A09364 -:108E80007818AFC0109279181092781810914D0B85 -:108E9000C12CD12C7601C394FD0131964C91442311 -:108EA00009F49FC04132A1F4CD3491F48032910590 -:108EB00079F4F0937918E093781863E270E0CF01C9 -:108EC0000F947517009709F48CC0FC01108289C0BB -:108ED00041544A3108F059C0BF01FB0120816F5F46 -:108EE0007F4F2032D1F330ED320F3A3010F12E3275 -:108EF00011F421810CC02D3211F02B3259F4218153 -:108F000030ED320F3A30A8F02E3221F42281205376 -:108F10002A3078F02091781830917918232B09F0B5 -:108F20005DC09F0121503109309379182093781842 -:108F300055C09F01A42FB0E04601570104C0880C22 -:108F4000991CAA1CBB1C4A95D2F7B501A4018090BC -:108F5000A8189090A918A090AA18B090AB1848290A -:108F600059296A297B294093A8185093A91860931E -:108F7000AA187093AB182115310511F0211B01C0FF -:108F800020E0A257B74E2C930AC020917818309158 -:108F90007918232B21F4B0937918A09378182081A5 -:108FA00021542A3110F4DF0177CFAF01FA01DA0141 -:108FB0002D912223C1F330ED320F3A3010F4AD0180 -:108FC000F5CF33ED320F3230D0F32B32C1F3FA014B -:108FD0004F5F5F4F20812032D1F3E5CF20E030E0BA -:108FE000A9CFCF911F910F91FF90EF90DF90CF907D -:108FF000BF90AF909F908F9008952F923F924F9285 -:109000005F926F927F928F929F92AF92BF92CF9218 -:10901000DF92EF92FF920F931F93CF93DF93CDB721 -:10902000DEB7C454D1090FB6F894DEBF0FBECDBF72 -:109030009AA789A77CAB6BAB142FDB018D909D9019 -:10904000AD90BC9013972401350177FA709477F8AE -:1090500070941496CD90DD90ED90FC901797A70139 -:10906000960150582D8B3E8B4F8B588FA301920148 -:10907000C301B2010F94840D6D8F7E8F8F8F98A3E3 -:109080002D893E894F89588DCA01B9010F94840DED -:109090009B01AC016D8D7E8D8F8D98A10F94221454 -:1090A0000F94D0166DAB7EAB8FAB98AF80915C0BFD -:1090B00090915D0BA0915E0BB0915F0B8D8F9E8F99 -:1090C000AF8FB8A39C01AD01C501B4010F94221468 -:1090D00069AF7AAF8BAF9CAF2091600B3091610B81 -:1090E0004091620B5091630B2DA33EA34FA358A751 -:1090F000C701B6010F94221421966CAF7DAF8EAFDD -:109100009FAF2197A9A5BAA58D919D910D90BC9176 -:10911000A02D89A39AA3ABA3BCA329AD3AAD4BADB7 -:109120005CADBC01CD010F9421146B017C01A9A59C -:10913000BAA514962D913D914D915C9117972BA74F -:109140003CA74DA75EA721962CAD3DAD4EAD5FADC2 -:1091500021976BA57CA58DA59EA50F9421144B018D -:109160005C012091640B3091650B4091660B50912E -:10917000670B25962CAF3DAF4EAF5FAF2597A9A5E6 -:10918000BAA518966D917D918D919C911B970F9426 -:109190002114698F7A8F8B8F9C8FA7019601C30151 -:1091A000B2010F94840D6FA778AB89AB9AABA50180 -:1091B00094016D897E898F89988D0F94840D9B0110 -:1091C000AC016FA578A989A99AA90F9422146FA759 -:1091D00078AB89AB9AABA5019401C301B2010F949E -:1091E000840D4B015C01A70196016D897E898F89F1 -:1091F000988D0F94840D9B01AC01C501B4010F94AF -:1092000021142FA538A949A95AA90F94A1146B01BB -:109210007C0120E030E0A9010F941E0D87FF0AC0F9 -:109220002BED3FE049EC50E4C701B6010F94221446 -:109230006B017C012BED3FE049EC50E4C701B60126 -:109240000F941C1520E030E040EC51E40F94840DA5 -:109250000F9400150F9495151B01672B19F4222408 -:109260002394312C112351F02BED3FE049EC50E4D5 -:10927000C701B6010F9421146B017C0120E030E09E -:10928000A901C701B6010F941E0D811123C029A1A8 -:109290003AA14BA15CA16D8D7E8D8F8D98A10F940D -:1092A0001E0D811117C02BA53CA54DA55EA56DA176 -:1092B0007EA18FA198A50F941E0D81110BC038E1DE -:1092C000232E312C4BEDC42E4FE0D42E49ECE42E4E -:1092D00040E4F42E2DA93EA94FA958ADC701B6010F -:1092E0000F94840D4B015C0120E030E0A901698DF1 -:1092F0007A8D8B8D9C8D0F941E0D8823D9F0A5013E -:109300009401C501B4010F94840D4B015C01298DBA -:109310003A8D4B8D5C8DCA01B9010F94840D9B0170 -:10932000AC01C501B4010F9422140F94D0164B0167 -:109330005C010DC020E030E0A901C501B4010F942B -:10934000821687FF04C0B7FAB094B7F8B0942FE63E -:1093500032E143E85AE3C501B4010F941E0D87FDC5 -:10936000FCC12091680B3091690B40916A0B5091C0 -:109370006B0B29A33AA34BA35CA3C501B4010F94C3 -:10938000C4150F9495157EA36DA36215730510F493 -:109390003EA22DA2ADA1BEA1BD0180E090E00F9440 -:1093A000230D4B015C019B01AC01C701B6010F9479 -:1093B0001C156D8F7E8F8F8F98A3A5019401698DE9 -:1093C0007A8D8B8D9C8D0F941C156DAB7EAB8FAB06 -:1093D00098AF29A13AA14BA15CA1E9A5FAA56485A2 -:1093E0007585868597850F942114A50194010F94A6 -:1093F0001C156FA778AB89AB9AAB2D8D3E8D4F8D29 -:1094000058A1CA01B9010F94840D20E030E040E07A -:109410005FE30F94840D9B01AC0160E070E080E895 -:109420009FE30F9421146BA77CA78DA79EA7259679 -:109430002CAD3DAD4EAD5FAD259729873A874B8763 -:109440005C8789A19AA1ABA1BCA18D879E87AF87BC -:10945000B88B60916C0270916D02072E000C880B26 -:10946000990B0F94250D20915D0230915E02409181 -:109470005F02509160020F94840D2AE037ED43E2C1 -:109480005CE30F94840D698B7A8B8B8B9C8B0E9491 -:1094900044679B01AC0128533F4F4F4F5F4F29A3B7 -:1094A0003AA34BA35CA322242394312C39E1398FB6 -:1094B0004DA15EA12416350608F021C10E9445F396 -:1094C0000E944467DC01CB0129A13AA14BA15CA118 -:1094D000821B930BA40BB50BB7FD0FC00E94446712 -:1094E0009B01AC0128533F4F4F4F5F4F29A33AA335 -:1094F0004BA35CA380E00E946B4D398D3150398FB6 -:109500003323E9F12BA53CA54DA55EA56D897E8988 -:109510008F89988D0F94840D6B017C012D8D3E8D6C -:109520004F8D58A1C301B2010F94840DA70196017C -:109530000F9422146B017C012BA53CA54DA55EA5C3 -:10954000C301B2010F94840D4B015C012D8D3E8D42 -:109550004F8D58A16D897E898F89988D0F94840DC8 -:109560009B01AC01C501B4010F9421142B013C01F6 -:10957000C601D7018D8B9E8BAF8BB88F66C0B101B2 -:1095800080E090E00F94230D2D8D3E8D4F8D58A1DE -:109590000F94840D6B017C010F9417156D8B7E8BDE -:1095A0008F8B988FC701B6010F94C2164B015C01D7 -:1095B000ABA9BCA9CD90DD90ED90FC901397F7FA84 -:1095C000F094F7F8F09414962D913D914D915C91A3 -:1095D0001797298F3A8F4B8F5C8FA70196016D8962 -:1095E0007E898F89988D0F94840D2B013C01298DE4 -:1095F0003A8D4B8D5C8DC501B4010F94840D9B0198 -:10960000AC01C301B2010F9422142B013C01A7014C -:109610009601C501B4010F94840D6B017C01298D65 -:109620003A8D4B8D5C8D6D897E898F89988D0F94D5 -:10963000840D9B01AC01C701B6010F9421146D8B01 -:109640007E8B8F8B988FB9E1B98F29AD3AAD4BAD39 -:109650005CADC301B2010F94221469837A838B83BA -:109660009C8321962CAD3DAD4EAD5FAD21976D89AC -:109670007E898F89988D0F9422146D837E838F83CA -:1096800098872DA93EA94FA958AD69857A858B8504 -:109690009C850F94221469877A878B879C872FA5D6 -:1096A00038A949A95AA96D857E858F8598890F9417 -:1096B00022146D877E878F87988BCE0101960E943A -:1096C000D9DCA12CB12C90E8C92E9FE3D92EE090D3 -:1096D0005B0B8E010F5E1F4F9E01235F3F4FAE015C -:1096E000475F5F4FBE016B5F7F4FCE0101960E94C7 -:1096F000DFD9882321F0EFEF2E1A3E0AD9CE80E180 -:10970000E9A5FAA5DE01119601900D928A95E1F77F -:10971000CE0101960E94D9DCA12CB12C80E8C82E84 -:109720008FE3D82EE0905B0B8E010F5E1F4F9E01E2 -:10973000235F3F4FAE01475F5F4FBE016B5F7F4FBF -:10974000CE0101960E94DFD980E1FE013196ACE5A1 -:10975000BBE001900D928A95E1F7CC5BDF4F0FB62D -:10976000F894DEBF0FBECDBFDF91CF911F910F9157 -:10977000FF90EF90DF90CF90BF90AF909F908F9031 -:109780007F906F905F904F903F902F9008950F9330 -:109790001F93CF938C01C62F8DE69AE20E9438C0AA -:1097A000C8010E9438C08AE30E943F4C6C2F70E0D1 -:1097B00080E090E00E94B34CCF911F910F910C94E8 -:1097C000444DEF92FF921F93CF93DF93CDB7DEB757 -:1097D000C454D1090FB6F894DEBF0FBECDBF84E4E8 -:1097E0000E949987882309F44DC183E69AE20E947A -:1097F00038C02091BD183091BE184091BF185091CB -:10980000C01860915C0B70915D0B80915E0B909124 -:109810005F0B0F94221469AF7AAF8BAF9CAF20918E -:10982000C1183091C2184091C3185091C41860916A -:10983000600B7091610B8091620B9091630B0F94A0 -:10984000221421966CAF7DAF8EAF9FAF21972091F0 -:10985000C5183091C6184091C7185091C81860912A -:10986000640B7091650B8091660B9091670B0F9460 -:10987000221425966CAF7DAF8EAF9FAF2597CE019A -:10988000C9960E949BC58AE59AE20E9438C08CE581 -:109890009BE00E949BC580915C0B90915D0BA09119 -:1098A0005E0BB0915F0B8DA79EA7AFA7B8AB809161 -:1098B000600B9091610BA091620BB091630B89AB2F -:1098C0009AABABABBCAB8091640B9091650BA09154 -:1098D000660BB091670B8DAB9EABAFABB8AF81E5BC -:1098E0009AE20E9438C0AE014B5C5F4FBE016F5CD4 -:1098F0007F4FCE018D960E94A3D9CE018D960E94F6 -:109900009BC588E49AE20E9438C08DA59EA5AFA5AC -:10991000B8A989A39AA3ABA3BCA389A99AA9ABA907 -:10992000BCA98DA39EA3AFA3B8A78DA99EA9AFA9DB -:10993000B8AD89A79AA7ABA7BCA7CE0181960E9414 -:109940006FD9CE0181960E949BC50E945ED78FE39E -:109950009AE20E9438C08BEDE82E82E0F82E10E0EB -:1099600080E20E943F4CF70181917F010E943F4CB1 -:109970008AE30E943F4C812F0E9484F70E94B34CDF -:109980001F5F143069F78AE00E943F4C86E39AE239 -:109990000E9438C00E948AE180914F0B9091500B39 -:1099A000A091510BB091520B898B9A8BAB8BBC8BD6 -:1099B0008091530B9091540BA091550BB091560B85 -:1099C0008D8B9E8BAF8BB88F8091570B9091580BDE -:1099D000A091590BB0915A0B898F9A8FAB8FBC8F86 -:1099E00083E00E94DCD86D8F7E8F8F8F98A364E018 -:1099F000CE0141960E94CE622DA53EA54FA558A945 -:109A000069897A898B899C890F94211469837A8367 -:109A10008B839C8329A93AA94BA95CA96D897E896E -:109A20008F89988D0F9421146D837E838F839887FF -:109A30002DA93EA94FA958AD698D7A8D8B8D9C8D2E -:109A40000F94211469877A878B879C872091680BF4 -:109A50003091690B40916A0B50916B0B6D8D7E8D2F -:109A60008F8D98A10F9421146D877E878F87988B97 -:109A70008DE29AE20E9438C064E0CE0101960E9415 -:109A8000CE6204C00E945ED70E94A8E1CC5BDF4F8B -:109A90000FB6F894DEBF0FBECDBFDF91CF911F91FF -:109AA000FF90EF900895CF93DF93C0916F0A80E607 -:109AB000C89FE0011124C151D74F8091C81780FF82 -:109AC00005C00E94FCC1CE010E944A4DCE010E94F9 -:109AD00095C680E0DF91CF910C94BE35CF92DF9296 -:109AE000EF92FF920F931F93CF93DF93CDB7DEB723 -:109AF000CE5AD1090FB6F894DEBF0FBECDBFCF55F9 -:109B0000DF4F188219821A821B82C15AD04080917D -:109B1000630790916407A0916507B0916607CB55E4 -:109B2000DF4F88839983AA83BB83C55AD040C7552A -:109B3000DF4F19821882C95AD04084E690E0C5559B -:109B4000DF4F99838883CB5AD04010925B199E01D6 -:109B500027553F4F44E050E0BE016B557F4FCE018B -:109B600085559F4F0E94EB4BC555DF4F88819981EA -:109B7000CB5AD0400296C555DF4F99838883CB5A84 -:109B8000D040C755DF4F19821882C95AD040DD2412 -:109B9000D394C255DF4FD882CE5AD0409E0127556C -:109BA0003F4F41E050E0BE0162557F4FCE018555E9 -:109BB0009F4F0E94EB4B9E0127553F4F48E450E0DA -:109BC00067E777E1CE0185559F4F0E94EB4B8E01F1 -:109BD0000F5F1F4F80E1F80111928A95E9F780E04D -:109BE00090E0A0EAB0E489839A83AB83BC839E01B2 -:109BF00027553F4F40E150E0B801CE0185559F4FBA -:109C00000E94EB4B9E0127553F4F44E050E061EA34 -:109C100076E1CE0185559F4F0E94EB4B9E01275563 -:109C20003F4F4CE050E060EE78E0CE0185559F4F0D -:109C30000E94EB4B7E01FDE6EF0EF11CF701D08296 -:109C400019821A821B821C829E0127553F4F41E0D8 -:109C500050E0B701CE0185559F4F0E94EB4B9E010E -:109C600027553F4F44E050E0B801CE0185559F4F46 -:109C70000E94EB4B8091750B9091760BA091770B26 -:109C8000B091780B89839A83AB83BC839E0127555F -:109C90003F4F44E050E0B801CE0185559F4F0E94F0 -:109CA000EB4B85E0F701808389839E0127553F4F69 -:109CB00044E050E065ED78E1CE0185559F4F0E946C -:109CC000EB4B9E0127553F4F41E050E0B701CE01DD -:109CD00085559F4F0E94EB4B9E0127553F4F41E01A -:109CE00050E0B801CE0185559F4F0E94EB4B9E017D -:109CF00027553F4F44E650E069ED78E1CE018555A8 -:109D00009F4F0E94EB4B8CE0F80111928A95E9F786 -:109D10009E0127553F4F44E050E0B801CE018555E4 -:109D20009F4F0E94EB4B9E0127553F4F44E050E070 -:109D3000BE016B5F7F4FCE0185559F4F0E94EB4B5D -:109D40009E0127553F4F44E050E0BE01675F7F4FC3 -:109D5000CE0185559F4F0E94EB4BCF55DF4F1882A8 -:109D600019821A821B82C15AD0403AE0D32EDA946B -:109D7000DD2071F09E0127553F4F44E050E0BE01C9 -:109D80006F557F4FCE0185559F4F0E94EB4BEFCF14 -:109D900083E0C355DF4F8883CD5AD040C356DF4F91 -:109DA0008883CD59D040F70110821182128213822C -:109DB00019821A821B821C82CF55DF4F18821982AA -:109DC0001A821B82C15AD0409E0127553F4F41E065 -:109DD00050E0BE0163557F4FCE0185559F4F0E94D5 -:109DE000EB4B9E0127553F4F41E050E0BE016356CB -:109DF0007F4FCE0185559F4F0E94EB4B9E0127550B -:109E00003F4F44E050E0B801CE0185559F4F0E947E -:109E1000EB4B9E0127553F4F44E050E0B701CE0188 -:109E200085559F4F0E94EB4B2AE0C22ED12CF1E0CA -:109E3000CF1AD10871F09E0127553F4F44E050E002 -:109E4000BE016F557F4FCE0185559F4F0E94EB4B52 -:109E5000EECFF70110828FEF89839E0127553F4F88 -:109E600041E050E0B701CE0185559F4F0E94EB4B7A -:109E70009E0127553F4F41E050E0B801CE01855586 -:109E80009F4F0E94EB4B80E1D82EF8018D2D11924F -:109E90008A95E9F79E0127553F4F40E150E0B80110 -:109EA000CE0185559F4F0E94EB4B19829E0127558D -:109EB0003F4F41E050E0B801CE0185559F4F0E94D1 -:109EC000EB4B8091F8029091F902A091FA02B091C7 -:109ED000FB02F70180839183A283B3838091FC020C -:109EE0009091FD02A091FE02B091FF0289839A83B6 -:109EF000AB83BC83C356DF4F1882CD59D040C256C6 -:109F0000DF4F1882CE59D0409E0127553F4F44E085 -:109F100050E0B701CE0185559F4F0E94EB4B9E014B -:109F200027553F4F44E050E0B801CE0185559F4F83 -:109F30000E94EB4B9E0127553F4F42E050E0BE018F -:109F400063567F4FCE0185559F4F0E94EB4BF80122 -:109F50001192DA94E9F780E090E0A0E8BFE38D8702 -:109F60009E87AF87B88B8091A5089091A608A09195 -:109F7000A708B091A80889839A83AB83BC8380919A -:109F8000A9089091AA08A091AB08B091AC088D8364 -:109F90009E83AF83B8878091AD089091AE08A09161 -:109FA000AF08B091B00889879A87AB87BC879E01BC -:109FB00027553F4F40E150E0B801CE0185559F4FF6 -:109FC0000E94EB4B84E190E09A8389839E012755A0 -:109FD0003F4F42E050E0B801CE0185559F4F0E94AF -:109FE000EB4B9E0127553F4F4CE050E06CEB78E087 -:109FF000CE0185559F4F0E94EB4B8FE790E09A83EF -:10A0000089839E0127553F4F42E050E0B801CE01C1 -:10A0100085559F4F0E94EB4B81E089839E01275518 -:10A020003F4F41E050E0B801CE0185559F4F0E945F -:10A03000EB4B80E2E0E0F3E0D80101900D928A95CD -:10A04000E1F79E0127553F4F40E250E0B801CE01B5 -:10A0500085559F4F0E94EB4BF70110829E012755BB -:10A060003F4F41E050E0B701CE0185559F4F0E9420 -:10A07000EB4B9E0127553F4F41E050E06DE379E106 -:10A08000CE0185559F4F0E94EB4B9E0127553F4FB8 -:10A0900048E050E066E479E1CE0185559F4F0E948B -:10A0A000EB4B8AE1F80111928A95E9F79E01275559 -:10A0B0003F4F4AE150E0B801CE0185559F4F0E94C5 -:10A0C000EB4B84E3E0E2F3E0D80101900D928A9536 -:10A0D000E1F79E0127553F4F44E350E0B801CE0120 -:10A0E00085559F4F0E94EB4B88E0F80111928A95AD -:10A0F000E9F79E0127553F4F48E050E0B801CE01F7 -:10A1000085559F4F0E94EB4B8DE0F80111928A9587 -:10A11000E9F79E0127553F4F4DE050E0B801CE01D1 -:10A1200085559F4F0E94EB4B9E0127553F4F48E0BE -:10A1300050E06DEB76E1CE0185559F4F0E94EB4BD1 -:10A140009CE0D92EF8018D2D11928A95E9F79E0198 -:10A1500027553F4F4CE050E0B801CE0185559F4F49 -:10A160000E94EB4B8CE6F80111928A95E9F79E016B -:10A1700027553F4F4CE650E0B801CE0185559F4F23 -:10A180000E94EB4B9E0127553F4F4CE050E061EBA6 -:10A1900078E1CE0185559F4F0E94EB4B9E012755DC -:10A1A0003F4F40E150E06EEF7CE1CE0185559F4F7F -:10A1B0000E94EB4B9E0127553F4F48E150E069EC70 -:10A1C00077E1CE0185559F4F0E94EB4BF70111922D -:10A1D000DA94E9F7C355DF4F1882CD5AD04080E0BA -:10A1E00090E0A0E4B0E4C356DF4F88839983AA834C -:10A1F000BB83CD59D0409E0127553F4F44E050E0EE -:10A20000B701CE0185559F4F0E94EB4B9E0127550C -:10A210003F4F44E050E0B7016C5F7F4FCE01855562 -:10A220009F4F0E94EB4B9E0127553F4F44E050E06B -:10A23000B701685F7F4FCE0185559F4F0E94EB4B62 -:10A240009E0127553F4F41E050E0BE0163557F4FCF -:10A25000CE0185559F4F0E94EB4B9E0127553F4FE6 -:10A2600044E050E0BE0163567F4FCE0185559F4FBD -:10A270000E94EB4B80E3F70111928A95E9F78FE298 -:10A2800097E00E944A4D9E0127553F4F40E350E022 -:10A29000B701CE0185559F4F0E94EB4B10915B1982 -:10A2A000111155C0C555DF4FC880D980CB5AD04059 -:10A2B000F4E6CF1AD108C755DF4F88819981C95A72 -:10A2C000D040F7019183808384E690E0C555DF4F4D -:10A2D00099838883CB5AD0409E0127553F4F44E055 -:10A2E00050E064E873E0CE0185559F4F0E94EB4B30 -:10A2F0009E0127553F4F42E050E0B701CE01855502 -:10A300009F4F0E94EB4B0E94FCC1B6018EEE9AE279 -:10A310000E94BAC1F7014081518160E070E081EE96 -:10A320009AE20E94A9C18EED9AE20E9438C0C1143F -:10A33000F3E0DF0639F00E94F8C189E09CE20E9458 -:10A3400038C011E080915B19182B10935B1983E4DE -:10A3500097E00E944A4D90915B1981E08927C25590 -:10A36000DF4F0FB6F894DEBF0FBECDBFDF91CF91A8 -:10A370001F910F91FF90EF90DF90CF900895CF92B3 -:10A38000DF92EF92FF921F93CF93DF93CDB7DEB7AB -:10A3900060970FB6F894DEBF0FBECDBF80915C0B07 -:10A3A00090915D0BA0915E0BB0915F0B89839A83B6 -:10A3B000AB83BC838091600B9091610BA091620B89 -:10A3C000B091630B8D839E83AF83B8878091640BBC -:10A3D0009091650BA091660BB091670B89879A8766 -:10A3E000AB87BC878091680B9091690BA0916A0B39 -:10A3F000B0916B0B8D879E87AF87B88B0E94E7D695 -:10A400000E9449DA10E0812F0E94A1DC812F0E9476 -:10A4100045E01F5F1330B9F76091FA1C7091FB1C87 -:10A420008091FC1C9091FD1C0E943A6123EF34E066 -:10A4300045E35FE36091A1167091A2168091A31687 -:10A440009091A4160F94840D6B017C016091831789 -:10A450007091841780918517909186170F94230D22 -:10A460009B01AC01C701B6010F94840D29E732E8C6 -:10A470004AE550E40F94840D0F94D0166093B916FA -:10A480007093BA168093BB169093BC160E943884C2 -:10A4900040E150E06CE57BE0CE0101960F9441175E -:10A4A000892B79F060960FB6F894DEBF0FBECDBF52 -:10A4B000DF91CF911F91FF90EF90DF90CF900C94A0 -:10A4C000A8E160960FB6F894DEBF0FBECDBFDF9156 -:10A4D000CF911F91FF90EF90DF90CF9008950F9351 -:10A4E0001F9380910911813019F40E94446708C0BC -:10A4F00060910511709106118091071190910811DA -:10A500000091F7101091F8102091F9103091FA1085 -:10A51000601B710B820B930B28EE33E040E050E0A0 -:10A520000F9474138091FB109091FC10A091FD107A -:10A53000B091FE10BC01CD01620F731F841F951FE7 -:10A540001F910F910895109209111092F710109217 -:10A55000F8101092F9101092FA1010920511109242 -:10A56000061110920711109208111092FB10109210 -:10A57000FC101092FD101092FE10089580910911A8 -:10A58000813099F587E697E00E944A4D81E09AE58F -:10A5900090930D1B80930C1B87E590E090930F1B0D -:10A5A00080930E1B87E08093001B82E88093031B3F -:10A5B00084E890E0A0E0B0E08093041B9093051B3A -:10A5C000A093061BB093071B0E94B8E982E080931A -:10A5D00009110E94446760930511709306118093DE -:10A5E00007119093081181E0089580E008958F92FB -:10A5F0009F92AF92BF92CF92DF92EF92FF920F9312 -:10A600001F93CF93DF93CDB7DEB72C970FB6F89497 -:10A61000DEBF0FBECDBF8B0140E050E068E472E4C6 -:10A620004D835E836F83788740E050E060EA70E49A -:10A6300049875A876B877C87813019F0823039F0DF -:10A640002AC0BE01675F7F4FC801089646C0F80167 -:10A6500020853185428553856091640B7091650B2F -:10A660008091660B9091670B0F9422146B017C0113 -:10A6700020E030E048EC53E40F941E0D87FD06C047 -:10A68000C12CD12C88ECE82E83E4F82EC982DA8222 -:10A69000EB82FC821DC08090640B9090650BA090B3 -:10A6A000660BB090670BF801C084D184E284F38418 -:10A6B0009601A701B401C5010F941E0D87FD02C0CC -:10A6C00064017501C601D70189839A83AB83BC837A -:10A6D000BE01675F7F4FCE0101960E946BE1B8011A -:10A6E0006C5F7F4FAE014B5F5F4FC8010E9449E135 -:10A6F0000E94A8E12C960FB6F894DEBF0FBECDBF26 -:10A70000DF91CF911F910F91FF90EF90DF90CF904D -:10A71000BF90AF909F908F9008958091B01C82FF62 -:10A720002AC00E9407BF882319F18091A81C90912C -:10A73000A91CA091AA1CB091AB1C0097A105B10562 -:10A74000B9F0BC01CD016D597F4F8F4F9F4F24E66B -:10A7500030E040E050E00F9474136091AC1C7091B5 -:10A76000AD1C8091AE1C9091AF1C0F94741301C06E -:10A7700020E02093B0188091B0188F7708950F9340 -:10A780001F93CF93DF938C0167FF03C010924B0B95 -:10A7900060E080914B0B90E0262F062E000C330BCF -:10A7A0002817390734F160934B0BC8010F946C0CD8 -:10A7B000800F911FEC01C01BD10BC034D1053CF0C0 -:10A7C0000197FC012491207C2038D1F3F3CFDD27C1 -:10A7D000AE01B8018BE09BE00F948D0CC55FD44FA8 -:10A7E00018828BE09BE0DF91CF911F910F910C9429 -:10A7F0004FB7DF91CF911F910F9108951092AF182D -:10A80000109216028091B01C80628093B01C61E0AF -:10A8100085EB9AE20E9447C040E050E06AEC7AE2A1 -:10A8200085E00E9408C10E94797060E08CEB9AE29A -:10A830000C94BFD3CF93DF9320914B0B211120C0F9 -:10A84000FC0101900020E9F73197EF01C81BD90BFB -:10A85000C034D1052CF02291207C2038E1F3F5CFD3 -:10A86000BC01DD27AE018BE09BE00F949517C55F1F -:10A87000D44F18828BE09BE0DF91CF910C944FB7BF -:10A88000DF91CF9108958091B01C82FD05C0809129 -:10A890000911823069F411C08091840D882319F068 -:10A8A00084E89DE002C086EC9DE061E00C941AD43F -:10A8B000813031F48CE99AE205C088EA9AE202C05C -:10A8C0008BE89AE26FEF0C94BFD3FF920F931F9324 -:10A8D000CF93DF938B01D82FC92FF42E20E030E0E7 -:10A8E00048EC52E40F941E0D87FF0FC020E030E0CB -:10A8F000A901B8018D2F9C2F0F94821618164CF0C9 -:10A9000000E010E0D0E0C0E004C000E010E0D8ECCF -:10A91000C2E4B8018D2F9C2F0F948E159B01AC01C2 -:10A92000AFEFB0E00F94B51324E630E040E050E024 -:10A930000F949613B9018F2DDF91CF911F910F9135 -:10A94000FF900C9447F7EDE6F7E110821182128236 -:10A950001382148280E00C94629B2F923F924F925C -:10A960005F926F927F928F929F92AF92BF92CF929F -:10A97000DF92EF92FF920F931F93CF93DF93CDB7A8 -:10A98000DEB762970FB6F894DEBF0FBECDBF588B0F -:10A990004F87DC018D909D90AD90BC90DB018D9137 -:10A9A0009D910D90BC91A02D89839A83AB83BC832C -:10A9B00020E030E040EA50E4C501B4010F942114D6 -:10A9C00029E33EE843E65CE30F94840D0F948E1573 -:10A9D000643014F063E002C067FD60E0E62E660FAD -:10A9E000FF0887010F5F1F4F20E030E048EC51E483 -:10A9F00069817A818B819C810F94211428E031E256 -:10AA000044E85CE30F94840D0F948E15643014F0C9 -:10AA100063E002C067FD60E0262E660F3308F70191 -:10AA2000EE0FFF1FEE0FFF1FED57F44E40805180D9 -:10AA30006280738025E02E9DF0012F9DF00D112482 -:10AA4000FE83ED83E20DF31DEE0FFF1FEE0FFF1FE0 -:10AA5000E752F74EC080D180E280F380F801EE0F1C -:10AA6000FF1FEE0FFF1FED57F44EA301920160810F -:10AA70007181828193810F9421146F8378878987F4 -:10AA80009A87A3019201C501B4010F9421146B8729 -:10AA90007C878D879E87A5E0A09FC001A19F900D18 -:10AAA00011249A8B898BFC01E20DF31DEE0FFF1F21 -:10AAB000EE0FFF1FE752F74EA701960160817181EB -:10AAC000828193810F9421142F81388549855A857D -:10AAD0000F941C152B853C854D855E850F94840D48 -:10AAE000A70196010F9422146B017C0181010F5F75 -:10AAF0001F4FED81FE81E00FF11FEE0FFF1FEE0FE4 -:10AB0000FF1FE752F74E4080518062807380F10151 -:10AB1000EE0FFF1FEE0FFF1FE159F44E8080918072 -:10AB2000A280B380E989FA89E00FF11FEE0FFF1FC1 -:10AB3000EE0FFF1FE752F74EA30192016081718172 -:10AB4000828193810F9421142F81388549855A85FC -:10AB50000F941C152B853C854D855E850F94840DC7 -:10AB6000A30192010F942214A70196010F942114BE -:10AB70002B013C01000F111F000F111FF801E159BB -:10AB8000F44EA501940160817181828193810F94BB -:10AB900021149B01AC01C301B2010F941C152B01C0 -:10ABA0003C01A501940169817A818B819C810F947C -:10ABB00021149B01AC01C301B2010F94840DA701C4 -:10ABC00096010F942214EF85F8892081318142810A -:10ABD00053810F94840D2091D5183091D61840914F -:10ABE000D7185091D8180F94221462960FB6F89483 -:10ABF000DEBF0FBECDBFDF91CF911F910F91FF90B0 -:10AC0000EF90DF90CF90BF90AF909F908F907F900C -:10AC10006F905F904F903F902F9008958F929F92EA -:10AC2000AF92BF92CF92DF92EF92FF92CF93DF93DA -:10AC3000EC018090750B9090760BA090770BB09004 -:10AC4000780B20E030E0A901C501B4010F941E0D7E -:10AC5000882309F44AC0C880D980EA80FB80A70114 -:10AC60009601C501B4010F941E0D18160CF042C0D8 -:10AC700020916C0B30916D0B40916E0B50916F0BCE -:10AC8000C701B6010F941E0D882331F1C0926C0BE1 -:10AC9000D0926D0BE0926E0BF0926F0B2091700BC7 -:10ACA0003091710B4091720B5091730B68817981D7 -:10ACB0008A819B810F94840D9B01AC0160E070E060 -:10ACC00080E89FE30F942114609363027093640201 -:10ACD00080936502909366026091630270916402B2 -:10ACE000809165029091660208C060E070E080E8A3 -:10ACF0009FE303C060E070E0CB01DF91CF91FF9054 -:10AD0000EF90DF90CF90BF90AF909F908F9008957D -:10AD100080917A1A90917B1A891B8F708F3021F461 -:10AD200080E00E946B4DF4CF80917A1A8F5F8F7014 -:10AD3000E0917A1A94E59E9FF0011124E25FFE4EA5 -:10AD4000DF011D929A95E9F798E090834091A01A4F -:10AD50005091A11A6091A21A7091A31A458B568B3B -:10AD6000678B708F4091A41A5091A51A6091A61A12 -:10AD70007091A71A418F528F638F748F4091A81AD8 -:10AD80005091A91A6091AA1A7091AB1A458F568FEB -:10AD9000678F70A34091AC1A5091AD1A6091AE1AB2 -:10ADA0007091AF1A41A352A363A374A320917A1A9E -:10ADB00090917B1A291303C094E69093771A80939D -:10ADC0007A1A80916F00826080936F000895CF920D -:10ADD000DF92EF92FF920F931F93CF93DF93C7E71A -:10ADE000D7E105EA16E1C12CD12C7601C394699113 -:10ADF0007991899199910F94230D288939894A89EC -:10AE00005B890F94840D0F949515F80161937193EC -:10AE1000819391938F01C616D706E806F90610F4C0 -:10AE20006B017C01F7E1C738DF0709F76FEF7FEFB0 -:10AE3000CB01A70196010F9474132093B51630939C -:10AE4000B6164093B7165093B81623EF34E045E397 -:10AE50005FE36091A1167091A2168091A316909164 -:10AE6000A4160F94840D6B017C016091831770917F -:10AE7000841780918517909186170F94230D9B015D -:10AE8000AC01C701B6010F94840D29E732E84AE509 -:10AE900050E40F94840D0F94D0166093B9167093FC -:10AEA000BA168093BB169093BC16DF91CF911F9179 -:10AEB0000F91FF90EF90DF90CF90089590917A1AC4 -:10AEC00080917B1A981306C0809175179091761720 -:10AED000892B21F080E00E946B4DF0CF0895CF9236 -:10AEE000DF92EF92FF92FC01C080D180E280F3807C -:10AEF00020919717309198174091991750919A1770 -:10AF0000C701B6010F94840D0F948F166093AC1A8D -:10AF10007093AD1A8093AE1A9093AF1AC0929C1A98 -:10AF2000D0929D1AE0929E1AF0929F1A90917A1AEE -:10AF300080917B1A981731F0FF90EF90DF90CF90BF -:10AF40000C9488D60E945ED780916F00982F9270E3 -:10AF500081FF05C080916F008D7F80936F004091CD -:10AF6000AC1A5091AD1A6091AE1A7091AF1A40931D -:10AF7000291D50932A1D60932B1D70932C1D99231E -:10AF800029F080916F00826080936F00FF90EF90B6 -:10AF9000DF90CF9008958F929F92AF92BF92EF92E1 -:10AFA000FF920F931F93CF93DF937B018A01E901F7 -:10AFB000FC0180809180A280B38020918B1730911A -:10AFC0008C1740918D1750918E17C501B4010F94C5 -:10AFD000840D0F948F166093A01A7093A11A80931A -:10AFE000A21A9093A31A20918F1730919017409135 -:10AFF000911750919217F70160817181828193813D -:10B000000F94840D0F948F166093A41A7093A51A51 -:10B010008093A61A9093A71A2091931730919417B2 -:10B020004091951750919617F80160817181828146 -:10B0300093810F94840D0F948F166093A81A7093C8 -:10B04000A91A8093AA1A9093AB1A2091971730915E -:10B0500098174091991750919A17688179818A8140 -:10B060009B810F94840D0F948F166093AC1A70938C -:10B07000AD1A8093AE1A9093AF1A8092901A909264 -:10B08000911AA092921AB092931AF701808191813D -:10B09000A281B3818093941A9093951AA093961AE3 -:10B0A000B093971AF80180819181A281B381809336 -:10B0B000981A9093991AA0939A1AB0939B1A888120 -:10B0C0009981AA81BB8180939C1A90939D1AA09329 -:10B0D0009E1AB0939F1A90917A1A80917B1A9817B2 -:10B0E00061F0DF91CF911F910F91FF90EF90BF9092 -:10B0F000AF909F908F900C9488D60E945ED78091DD -:10B100006F00982F927081FF05C080916F008D7F36 -:10B1100080936F004091A01A5091A11A6091A21AD9 -:10B120007091A31A40931D1D50931E1D60931F1D07 -:10B130007093201D4091A41A5091A51A6091A61AEF -:10B140007091A71A4093211D5093221D6093231DD7 -:10B150007093241D4091A81A5091A91A6091AA1ABF -:10B160007091AB1A4093251D5093261D6093271DA7 -:10B170007093281D4091AC1A5091AD1A6091AE1A8F -:10B180007091AF1A4093291D50932A1D60932B1D77 -:10B1900070932C1D992329F080916F008260809319 -:10B1A0006F00DF91CF911F910F91FF90EF90BF90B3 -:10B1B000AF909F908F900895CF93DF93C82F0E94F8 -:10B1C00084F724E0C29FE0011124CB53D94E0F94A1 -:10B1D000250D288139814A815B810F94840DDF918F -:10B1E000CF91089590917A1A80917B1A981306C096 -:10B1F0008091751790917617892B21F080E00E943D -:10B200006B4DF0CF5F9A809164198E7F80936419A3 -:10B210008A9A809164198D7F8093641980910801C6 -:10B220008095817080930601809164198B7F809353 -:10B2300064190C94704BCF93DF9390916F00292F7A -:10B24000227091FF05C090916F009D7F90936F00D9 -:10B2500094E0899FA0011124FA01EF5EF24E608113 -:10B26000718182819381222329F020916F002260D5 -:10B2700020936F00EA01CB53D94E0F94250D2881FE -:10B2800039814A815B810F94840DDF91CF910895BC -:10B2900080916F00982F927081FF05C080916F00A0 -:10B2A0008D7F80936F0080917B1A80937A1A8093B0 -:10B2B000791A8093781A84E68093771A28EE33E01F -:10B2C0003093761720937517992329F080916F009A -:10B2D000826080936F0081E08093101D08950F932A -:10B2E0001F93CF93DF9300D01F92CDB7DEB720918D -:10B2F000740B2223F9F08C0108960E940ED6698304 -:10B300007A838B839C83B8016C5F7F4FAE014F5F64 -:10B310005F4FC8010E94ADD49B01AC01F80160856C -:10B320007185828593850F942114F8016087718758 -:10B33000828793870F900F900F900F90DF91CF919E -:10B340001F910F910895CF92DF92EF92FF920F938A -:10B350001F93CF93DF9300D01F92CDB7DEB720911C -:10B36000740B2223F9F08A016B017C01CA010E944F -:10B370000ED669837A838B839C83AE014F5F5F4FC8 -:10B38000B601C7010E94ADD49B01AC01F8016081F8 -:10B390007181828193810F942214F80160837183FB -:10B3A000828393830F900F900F900F90DF91CF9136 -:10B3B0001F910F91FF90EF90DF90CF900895AF9283 -:10B3C000BF92CF92DF92EF920F931F93CF93DF93B1 -:10B3D000CDB7DEB764970FB6F894DEBF0FBECDBF12 -:10B3E000A98ABA8ACB8ADC8AFC0180819181A281F8 -:10B3F000B38189839A83AB83BC83FB018081918174 -:10B40000A281B3818D839E83AF83B887FA01808147 -:10B410009181A281B38189879A87AB87BC87F90123 -:10B4200080819181A281B3818D879E87AF87B88B00 -:10B43000AE01475F5F4FBE016B5F7F4FCE0101964C -:10B440000E94A3D98091751790917617892B81F46A -:10B45000CE0141966C019E01235F3F4FAE01475FD5 -:10B460005F4FBE016B5F7F4F40970E94BE7101C06E -:10B4700080E064960FB6F894DEBF0FBECDBFDF91BB -:10B48000CF911F910F91EF90DF90CF90BF90AF9031 -:10B4900008957F928F929F92AF92BF92CF92DF9248 -:10B4A000EF92FF920F931F93CF93DF9370903D190C -:10B4B000CEE3D9E197E6C92E92E0D92E21E3E22E20 -:10B4C00022E0F22E06E419E1772059F1F80180809C -:10B4D0009180A280B38020E030E0A901C501B401D1 -:10B4E0000F941E0D8823E9F020E030E040E05FE398 -:10B4F000C501B4010F94840D9B01AC010F94840D20 -:10B500002BED3FE049E450E40F94840D9B01AC0126 -:10B5100060E070E080E89FE30F941C154B015C0134 -:10B5200006C0812C912C80E8A82E8FE3B82E89923A -:10B530009992A992B992F601619171916F01072ECA -:10B54000000C880B990B0F94250D2AE037ED43E290 -:10B550005CE30F94840DA50194010F94840DF70111 -:10B5600061937193819391937F010C5F1F4FF9E178 -:10B57000C634DF0709F0A8CFDF91CF911F910F915B -:10B58000FF90EF90DF90CF90BF90AF909F908F9003 -:10B590007F9008954F925F926F927F928F929F92C9 -:10B5A000AF92BF92CF92DF92EF92FF920F931F93D1 -:10B5B000CF93DF93CDB7DEB768970FB6F894DEBFB1 -:10B5C0000FBECDBF8C015B015A834983FC01EE5B4A -:10B5D000FF4F60817181828193810F94230D6B01F4 -:10B5E0007C01D5012D913D914D915C910F94840D7D -:10B5F0000F9400150F94951569877A878B879C8720 -:10B60000E981FA812081318142815381C701B601EC -:10B610000F94840D0F9400150F9495156D877E87F8 -:10B620008F87988B29853A854B855C85283731052E -:10B630004105510540F488E790E0A0E0B0E089873B -:10B640009A87AB87BC872D853E854F8558892837DB -:10B6500031054105510540F488E790E0A0E0B0E0F5 -:10B660008D879E87AF87B88BF801E25BFF4F208103 -:10B6700031814281538129833A834B835C83CA01A0 -:10B68000B9010F94250D2B013C0169857A858B85C5 -:10B690009C850F94230D698B7A8B8B8B9C8B20E080 -:10B6A00030E0A901C301B2010F941E0D882329F1D6 -:10B6B000A7019601C701B6010F94840D4B015C01EF -:10B6C00029893A894B895C89CA01B9010F94840D93 -:10B6D0009B01AC01C501B4010F9421144B015C0125 -:10B6E000A3019201C301B2010F9422149B01AC018A -:10B6F000C501B4010F941C1503C060E070E0CB01DC -:10B700000F9400150F9495156D837E838F83988712 -:10B7100069817A818B819C819095809570956195E6 -:10B720007F4F8F4F9F4F0F94250D4B015C016D850F -:10B730007E858F8598890F94230D69837A838B8307 -:10B740009C8320E030E0A901C501B4010F941E0DD7 -:10B75000882349F129813A814B815C81CA01B90171 -:10B760000F94840D6D8B7E8B8F8B988FA701960124 -:10B77000C701B6010F94840D9B01AC016D897E89D0 -:10B780008F89988D0F9421146B017C01A501940180 -:10B79000C501B4010F9422149B01AC01C701B6018D -:10B7A0000F941C1503C060E070E0CB010F94C4152A -:10B7B000D80195968D909D90AD90BC90989775010D -:10B7C00064012D813E814F815885C21AD30AE40A53 -:10B7D000F50A0F949515C61AD70AE80AF90AF7FE72 -:10B7E00075C020E030E0A901C301B2010F941E0D25 -:10B7F000882309F443C0C501B4010F94230D6B01E4 -:10B800007C01A3019201C301B2010F9422149B0198 -:10B81000AC01C701B6010F94840D6B017C0129892D -:10B820003A894B895C89CA01B9010F94840D9B0147 -:10B83000AC01C701B6010F9421146B017C01298171 -:10B840003A814B815C81CA01B9010F94840D9B013F -:10B85000AC01C701B6010F9422146B017C0120E0FA -:10B8600030E040E850E4C301B2010F94840D9B0125 -:10B87000AC01C701B6010F941C1503C060E070E075 -:10B88000CB010F9400157B018D83998320E030E07C -:10B89000A9010F948216181624F0E12CF12C1D82B8 -:10B8A0001982B7018D8199810F9495156D837E83DF -:10B8B0008F83988786169706A806B90620F48D828E -:10B8C0009E82AF82B886C12CD12C76018D819E815B -:10B8D000AF81B885F80182A793A7A4A7B5A7C80E22 -:10B8E000D91EEA1EFB1EC6A6D7A6E0AAF1AAEA5BED -:10B8F000FF4F29853A854B855C85208331834283C0 -:10B90000538334968D859E85AF85B88980839183D6 -:10B91000A283B38368960FB6F894DEBF0FBECDBF87 -:10B92000DF91CF911F910F91FF90EF90DF90CF901B -:10B93000BF90AF909F908F907F906F905F904F904F -:10B940000895CF93DF9324E0829FC0011124EC017E -:10B95000C354D74EFC01E052F74FDC01A753B74E5A -:10B960002D913D914D915C91608171818281938196 -:10B970000F942214688379838A839B83DF91CF910C -:10B980000895CF93C82FCB01009711F00E9438C0C3 -:10B9900087E69BE20E9438C0C11103C088E59BE2A4 -:10B9A00002C08DE59BE20E9438C08AE0CF910C94E2 -:10B9B0003F4CCF92DF92EF92FF92CF93DF93209193 -:10B9C0006B02222309F485C0EC01C0904502D0909F -:10B9D0004602E0904702F0904802288139814A816E -:10B9E0005B81C701B6010F948216181624F4C88231 -:10B9F000D982EA82FB82C0904902D0904A02E0904C -:10BA00004B02F0904C02288139814A815B81C70149 -:10BA1000B6010F941E0D87FF04C0C882D982EA8246 -:10BA2000FB82C0904D02D0904E02E0904F02F09009 -:10BA300050022C813D814E815F81C701B6010F9478 -:10BA40008216181624F4CC82DD82EE82FF82C0902A -:10BA50005102D0905202E0905302F09054022C8197 -:10BA60003D814E815F81C701B6010F941E0D87FF96 -:10BA700004C0CC82DD82EE82FF82C0905502D0905D -:10BA80005602E0905702F0905802288539854A8581 -:10BA90005B85C701B6010F948216181624F4C88678 -:10BAA000D986EA86FB86C0905902D0905A02E0906F -:10BAB0005B02F0905C02288539854A855B85C70169 -:10BAC000B6010F941E0D87FF04C0C886D986EA868A -:10BAD000FB86DF91CF91FF90EF90DF90CF9008959C -:10BAE0002F923F924F925F926F927F928F929F928E -:10BAF000AF92BF92CF92DF92EF92FF920F931F937C -:10BB0000CF93DF93CDB7DEB7E4970FB6F894DEBFDF -:10BB10000FBECDBF8AEF9AE00E94D9DC8091C81792 -:10BB200083FD81C0C090060BD090070BE090080BFE -:10BB3000F090090B2091680B3091690B40916A0BD2 -:10BB400050916B0BC701B6010F941E0D882309F4A9 -:10BB50006AC08091C71781111FC060919E087091C3 -:10BB60009F088091A0089091A1080F948E152091B4 -:10BB70006102309162026217730774F4C092680B1D -:10BB8000D092690BE0926A0BF0926B0B0E94FCC1A1 -:10BB90008EEE9BE20E9438C08090060B9090070BBF -:10BBA000A090080BB090090B2091680B3091690BA5 -:10BBB00040916A0B50916B0BC501B4010F94211495 -:10BBC0006B017C0120E030E0A9010F94821687FF11 -:10BBD00004C0F7FAF094F7F8F094E0915B0B84E07E -:10BBE000E89FF0011124EF5CFD4F208131814281FB -:10BBF0005381C701B6010F94840D20E030E04AEF75 -:10BC000053E40F948216181674F48092680B909285 -:10BC1000690BA0926A0BB0926B0B0E94FCC18FEC77 -:10BC20009BE20E9438C08091740BE0906C02F0900F -:10BC30006D02882309F18090750B9090760BA0908F -:10BC4000770BB090780B20E030E0A901C501B4017A -:10BC50000F941E0D882309F45DC02091020B3091D2 -:10BC6000030B4091040B5091050BC501B4010F94D7 -:10BC7000821618160CF44EC0B701FF0C880B990BF6 -:10BC80000F94250D20915D0230915E0240915F027C -:10BC9000509160020F94840D2AE037ED43E25CE39B -:10BCA0000F94840D69837A838B839C83A12CB12CA0 -:10BCB0006501E0905B0B8E010F5F1F4F26E03BE0BC -:10BCC00042E05BE06EEF7AE08AEF9AE00E94DFD913 -:10BCD00080E1EAEFFAE0ACE5BBE001900D928A95D5 -:10BCE000E1F7E4960FB6F894DEBF0FBECDBFDF914B -:10BCF000CF911F910F91FF90EF90DF90CF90BF9069 -:10BD0000AF909F908F907F906F905F904F903F90FB -:10BD10002F900895B701FF0C880B990B0F94250DF8 -:10BD200020915D0230915E0240915F02509160026D -:10BD30000F94840D2AE037ED43E25CE30F94840D09 -:10BD400069A37AA38BA39CA320915C0B30915D0B1C -:10BD500040915E0B50915F0B6091FA0A7091FB0A63 -:10BD60008091FC0A9091FD0A0F94211469A77AA78B -:10BD70008BA79CA72091600B3091610B4091620BC7 -:10BD80005091630B6091FE0A7091FF0A8091000B45 -:10BD90009091010B0F9421142B013C0120E030E025 -:10BDA000A90169A57AA58BA59CA50F941E0D8111EB -:10BDB0000DC020E030E0A901C301B2010F941E0DB7 -:10BDC000811104C0A12CB12C6501E5C02091640B48 -:10BDD0003091650B4091660B5091670B6091020B9F -:10BDE0007091030B8091040B9091050B0F9421141B -:10BDF0006DA77EA78FA798AB2091680B3091690B38 -:10BE000040916A0B50916B0B6091060B7091070B80 -:10BE10008091080B9091090B0F9421146DA37EA3C0 -:10BE20008FA398A729A53AA54BA55CA5CA01B9017E -:10BE30000F94840D6B017C01A3019201C301B20137 -:10BE40000F94840D9B01AC01C701B6010F9422141D -:10BE50006B017C012DA53EA54FA558A9CA01B901CA -:10BE60000F94840D9B01AC01C701B6010F942214FD -:10BE70000F94D0166B017C012DEB37E346E855E3B8 -:10BE80000F941E0D87FF13C020E030E0A9016DA1C3 -:10BE90007EA18FA198A50F948216CDA0DEA0EFA061 -:10BEA000F8A487FF04C0F7FAF094F7F8F0942DEBAC -:10BEB00037E346E855E3C701B6010F941E0D87FD31 -:10BEC00007CF20E030E040EA51E4C701B6010F940B -:10BED0001C150F9495151B01672B19F4222423942C -:10BEE000312CB10180E090E00F94230D9B01AC0157 -:10BEF00060E070E080E89FE30F941C154B015C014B -:10BF00009B01AC01C701B6010F94840D69AB7AABFC -:10BF10008BAB9CABA501940169A57AA58BA59CA5CB -:10BF20000F94840D698B7A8B8B8B9C8BA50194016C -:10BF3000C301B2010F94840D6D8B7E8B8F8B988F14 -:10BF4000A50194016DA57EA58FA598A90F94840DD8 -:10BF5000698F7A8F8B8F9C8FA50194016DA17EA133 -:10BF60008FA198A50F94840D6D8F7E8F8F8F98A3CE -:10BF700080E1ECE5FBE0DE01119601900D928A95DF -:10BF8000E1F79924939491E0291A310851F4A9A872 -:10BF9000BAA8CBA8DCA8E0905B0B8E010F5D1F4F09 -:10BFA0008DCE80915319811112C00E944467DC012B -:10BFB000CB0188539F4FAF4FBF4F80934F19909342 -:10BFC0005019A0935119B0935219909253190E948D -:10BFD00045F30E944467C0904F19D0905019E090EB -:10BFE0005119F0905219DC01CB018C199D09AE0951 -:10BFF000BF09B7FD13C00E944467DC01CB01885321 -:10C000009F4FAF4FBF4F80934F1990935019A093FC -:10C010005119B093521980E00E946B4D6E01E1E11D -:10C02000CE0ED11CCE0101967C015601F601219164 -:10C030003191419151916F01F7016081718182814C -:10C0400093810F942214F7016193719381939193DB -:10C050007F01AE16BF0651F7A9A8BAA8CBA8DCA8E5 -:10C06000E0905B0B8E010F5D1F4F9E01235F3F4FE2 -:10C07000AE01475F5F4FBE016B5F7F4FCE01019600 -:10C080000E94DFD981117FCF82CFA82FB0E0CD01F0 -:10C09000880F991F880F991FFC01ED53F44D4591AE -:10C0A00055916591749133E0AA0FBB1F3A95E1F762 -:10C0B000AB5BBD4F4D935D936D937C931397FC01E8 -:10C0C000E954F44D459155916591749114964D93B1 -:10C0D0005D936D937C9317970895AF92BF92CF9223 -:10C0E000DF92EF920F931F93A12CB12C6501E0908A -:10C0F0005B0B8C0128E63BE044E65BE060E67BE01E -:10C100008CE59BE00E94DFD91F910F91EF90DF90AB -:10C11000CF90BF90AF9008954F925F926F927F92B1 -:10C120008F929F92AF92BF92CF92DF92EF92FF9247 -:10C130000F931F93CF93DF93CDB7DEB72C970FB636 -:10C14000F894DEBF0FBECDBF2B013C0129873A8793 -:10C150004B875C8747015801F601E080F18002813E -:10C16000138120E030E0A901B701C8010F941E0D32 -:10C1700081110BC0E4E1FBE285919591A591B49109 -:10C18000582F492F3A2F2B2F04C05E2D4F2D302FC3 -:10C19000212F852F942FA32FB22F89839A83AB83CE -:10C1A000BC8320E030E0A901B701C8010F941E0D47 -:10C1B000811104C0E12CF12C08EC12E4C701D80174 -:10C1C0008D839E83AF83B887A50194016091640B32 -:10C1D0007091650B8091660B9091670B0F941E0D0B -:10C1E00087FF0CC08092640B9092650BA092660B47 -:10C1F000B092670BCE0101960E946DE040925C0BFD -:10C2000050925D0B60925E0B70925F0B89859A85F0 -:10C21000AB85BC858093600B9093610BA093620B00 -:10C22000B093630BCE0105960E946DE02091640BE4 -:10C230003091650B4091660B5091670BC501B401BD -:10C240000F941E0D87FF0CC08092640B9092650BBB -:10C25000A092660BB092670BCE0101960E946DE032 -:10C260000E945ED72C960FB6F894DEBF0FBECDBFEE -:10C27000DF91CF911F910F91FF90EF90DF90CF90C2 -:10C28000BF90AF909F908F907F906F905F904F90F6 -:10C290000895CF92DF92EF92FF920F931F936A015E -:10C2A000E090640BF090650B0091660B1091670BAA -:10C2B000FB012081318142815381FC0160817181C8 -:10C2C000828193810E948CE01F910F91FF90EF90EB -:10C2D000DF90CF900895CF92DF92EF92FF920F936D -:10C2E0001F936B01FC01E080F18002811381ECE57A -:10C2F000FBE0248135814681578160817181828193 -:10C3000093810E948CE01F910F91FF90EF90DF903E -:10C31000CF900895CF93DF9380E00E94DCD8CFE4E4 -:10C32000DBE0688379838A839B8381E00E94DCD889 -:10C330006C837D838E839F8382E00E94DCD8688734 -:10C3400079878A879B87DF91CF9108950C94B76195 -:10C350004F925F926F927F928F929F92AF92BF9215 -:10C36000CF92DF92EF92FF922091BD183091BE18CC -:10C370004091BF185091C01860915C0B70915D0B9B -:10C3800080915E0B90915F0B0F942214AB01BC0166 -:10C3900084EB9BE20E94C7C12091C1183091C21862 -:10C3A0004091C3185091C4186091600B7091610B5B -:10C3B0008091620B9091630B0F942214AB01BC012E -:10C3C00080EB9BE20E94C7C12091C5183091C6182E -:10C3D0004091C7185091C8186091640B7091650B1B -:10C3E0008091660B9091670B0F942214AB01BC01F6 -:10C3F0008CEA9BE20E94C7C14091680B5091690B87 -:10C4000060916A0B70916B0B88EA9BE20E94C7C136 -:10C4100080916F00982F927081FF05C080916F000E -:10C420008D7F80936F0040901D1D50901E1D609069 -:10C430001F1D7090201D8090211D9090221DA090A6 -:10C44000231DB090241DC090251DD090261DE09086 -:10C45000271DF090281D992329F080916F0082609C -:10C4600080936F008EE99BE20E9438C0C301B20145 -:10C470000E94B34C8AE99BE20E9438C0C501B40116 -:10C480000E94B34C86E99BE20E9438C0C701B60106 -:10C490000E94B34C8AE0FF90EF90DF90CF90BF9066 -:10C4A000AF909F908F907F906F905F904F900C9483 -:10C4B0003F4C80914E19659B02C0816001C08E7F08 -:10C4C00080934E199091030180914E1991FF02C003 -:10C4D000826001C08D7F80934E1980914E194B9BD5 -:10C4E00002C0846001C08B7F80934E1980914E16EC -:10C4F00080FF10C08091DE0880FF0CC080914E1933 -:10C5000080FF08C08091710A81608093710A80E089 -:10C510000E945CF780914E16869580FF11C0809135 -:10C52000DE08869580FF0CC080914E1981FF08C0FF -:10C530008091710A82608093710A81E00E945CF7A9 -:10C5400080914E168695869580FF12C08091DE08F8 -:10C550008695869580FF0CC080914E1982FF08C099 -:10C560008091710A84608093710A82E00C945CF778 -:10C5700008958CE79BE20E9438C08CB166E77BE2AD -:10C5800085FB882780F90E94C1DC8091030160E768 -:10C590007BE2869581700E94C1DC89B16AE67BE20C -:10C5A00083FB882780F90C94C1DC8091DD08882307 -:10C5B00031F062E070E080E090E00C9409C00895F2 -:10C5C0002F923F924F925F926F927F928F929F92A3 -:10C5D000AF92BF92CF92DF92EF92FF920F931F9391 -:10C5E000CF93DF93CDB7DEB7CC59D1090FB6F8940E -:10C5F000DEBF0FBECDBF2DB63EB6CB56DF4F198284 -:10C600001882C559D04084E690E0C956DF4F99831F -:10C610008883C759D04001E09E012B563F4F44E02C -:10C6200050E0BE016F567F4FCE0189569F4F0E944A -:10C63000AE4B9E012B563F4F42E050E0BE01675685 -:10C640007F4FCE0189569F4F0E94AE4B43E050E092 -:10C65000BE016F567F4F84E893E00F948717892BB4 -:10C6600019F1CC56DF4F8881C459D040882359F046 -:10C670008FE3CF56DF4F8883C159D040CE56DF4F6E -:10C680001882C259D0400E94FCC1BE016F567F4F34 -:10C6900081EA9CE20E94E5C183E99CE20E9438C0E5 -:10C6A00081E080935B19CDC5C357DF4F1882198293 -:10C6B0001A821B82CD58D040CB56DF4F1982188288 -:10C6C000C559D04001E09E012B563F4F41E050E05C -:10C6D000BE0164567F4FCE0189569F4F0E94AE4BDC -:10C6E0004DB65EB680E1E4E5F3E0DE01A358BF4F4E -:10C6F00001900D928A95E1F780E1E4E6F3E0DE0136 -:10C70000A359BF4F01900D928A95E1F780E1E4E7CC -:10C71000F3E09E012F5F3F4F3901D90101900D9247 -:10C720008A95E1F7C456DF4F4881CC59D04050E09C -:10C730004D5F5F4F440F551F440F551F6DB77EB7B8 -:10C74000641B750B0FB6F8947EBF0FBE6DBF8DB71F -:10C750009EB701966C010091F91C11E001272C563F -:10C760003F4FBC01CE0189569F4F0E94AE4B0091B6 -:10C77000F91C01279E012B563F4F44E050E067E82B -:10C7800077E1CE0189569F4F0E94AE4BC456DF4FD2 -:10C79000E880CC59D040F12C93E0E90EF11CEE0C6E -:10C7A000FF1CEE0CFF1CADB7BEB7AE19BF090FB62C -:10C7B000F894BEBF0FBEADBFEDB7FEB731965F01B7 -:10C7C0002DB73EB72E193F090FB6F8943EBF0FBEE6 -:10C7D0002DBF6DB77EB76F5F7F4F4B010091F91C86 -:10C7E00001279E012B563F4FA701BF01CE0189565D -:10C7F0009F4F0E94AE4B0091F91C01279E012B56C2 -:10C800003F4FA701B401CE0189569F4F0E94AE4B06 -:10C810000091F91C002309F44EC011E001279E018C -:10C820002B563F4F44E050E06BEA77E1CE0189564A -:10C830009F4F0E94AE4B0091F91C01279E012B5681 -:10C840003F4F44E050E06FEA77E1CE0189569F4FB9 -:10C850000E94AE4B0091F91C01279E012B563F4FC1 -:10C8600044E050E063EB77E1CE0189569F4F0E9490 -:10C87000AE4B0091F91C01279E012B563F4F44E01F -:10C8800050E067EB77E1CE0189569F4F0E94AE4B97 -:10C890000091F91C01279E012B563F4F44E050E0C8 -:10C8A0006BEB77E1CE0189569F4F0E94AE4B15E0AE -:10C8B000FF24F39471C0C456DF4F2881CC59D04077 -:10C8C00030E02E5F3F4FE7E7F7E180E090E0281788 -:10C8D000390714F0D60111C0AC018430910510F075 -:10C8E00043E050E0440F551F440F551F6DE770E0C3 -:10C8F0006C0F7D1F460F571FDA014D915D916D91B1 -:10C900007C9141935193619371932817390714F0E7 -:10C91000D50111C0AC018430910510F043E050E026 -:10C92000440F551F440F551F6DE670E06C0F7D1FBF -:10C93000460F571FDA014D915D916D917C91408BAF -:10C94000518B628B738B2817390714F0D4010DC0FB -:10C95000AC018430910510F043E050E0440F551FC6 -:10C96000440F551F460D571DDA014D915D916D9194 -:10C970007C9140A351A362A373A30196B4E08B0EF4 -:10C98000911C44E0A40EB11C64E0C60ED11C84309E -:10C99000910509F09CCF41CF11500091F91C112352 -:10C9A00079F00F259E012B563F4F44E050E0BE0129 -:10C9B00063577F4FCE0189569F4F0E94AE4BECCFFD -:10C9C00011E001279E012B563F4F44E050E061EA01 -:10C9D00076E1CE0189569F4F0E94AE4B0FB6F89478 -:10C9E0005EBE0FBE4DBE0091F91C01279E012B5665 -:10C9F0003F4F4CE050E060EE78E0CE0189569F4F0B -:10CA00000E94AE4B0091F91C01279E012B563F4F0F -:10CA100041E050E0BE0163597F4FCE0189569F4FE0 -:10CA20000E94AE4B0091F91C01279E012B563F4FEF -:10CA300044E050E0CE0101967C01BC018A569F4F34 -:10CA40000E94AE4B0091F91C01279E012B563F4FCF -:10CA500044E050E06AEF7CE1CE0189569F4F0E948E -:10CA6000AE4B0091F91C01279E012B563F4F44E02D -:10CA700050E0BE0163577F4FCE0189569F4F0E9401 -:10CA8000AE4B01E09E012B563F4F41E050E0BE010E -:10CA900063597F4FCE0189569F4F0E94AE4B9E0136 -:10CAA0002B563F4F41E050E0B701CE0189569F4FD2 -:10CAB0000E94AE4B0091F91C011110C0C357DF4F0B -:10CAC00088819981AA81BB81CD58D0408093D518A7 -:10CAD0009093D618A093D718B093D818AE968FAD70 -:10CAE000AE97853091F48981853079F481E008270B -:10CAF0009E012B563F4F44E650E069ED78E1CE01B0 -:10CB000089569F4F0E94AE4B25C0011102C00E9462 -:10CB10009ABFAE96AFACAE978981A89E5001112402 -:10CB2000C12CD12C11E0CA14DB04A1F00091F91C36 -:10CB300001279E012B563F4F44E050E0BE01635752 -:10CB40007F4FCE0189569F4F0E94AE4B9FEFC91A6F -:10CB5000D90AE9CF0091F91C11E001279E012B565B -:10CB60003F4F44E050E0B701CE0189569F4F0E94ED -:10CB7000AE4B0091F91C01279E012B563F4F44E01C -:10CB800050E0BE016B5F7F4FCE0189569F4F0E94E0 -:10CB9000AE4B0091F91C01279E012B563F4F44E0FC -:10CBA00050E0BE01675F7F4FCE0189569F4F0E94C4 -:10CBB000AE4B1AE0DD24D394115089F00091F91C9A -:10CBC0000D259E012B563F4F44E050E0BE016357B8 -:10CBD0007F4FCE0189569F4F0E94AE4BEDCF01E0B3 -:10CBE0009E012B563F4F41E050E0BE0165567F4FFE -:10CBF000CE0189569F4F0E94AE4B9E012B563F4F50 -:10CC000041E050E0BE0163587F4FCE0189569F4FEF -:10CC10000E94AE4B0091F91C11E001279E012B569A -:10CC20003F4F44E050E0BE0163597F4FCE0189562B -:10CC30009F4F0E94AE4B0091F91C01279E012B567D -:10CC40003F4F44E050E0BE016F5F7F4FCE018956F9 -:10CC50009F4F0E94AE4BC556DF4FA880CB59D040A6 -:10CC6000EE968FADEE97A89E50011124C12CD12CC9 -:10CC70000091F91CAC14BD0491F001279E012B56C4 -:10CC80003F4F44E050E0BE0163577F4FCE018956CD -:10CC90009F4F0E94AE4BAFEFCA1ADA0AE9CF11E0FC -:10CCA00001279E012B563F4F41E050E0BE016359E2 -:10CCB0007F4FCE0189569F4F0E94AE4B0091F91CC9 -:10CCC00001279E012B563F4F41E050E0B701CE01B6 -:10CCD00089569F4F0E94AE4B0091F91C01279E017F -:10CCE0002B563F4F40E150E0B701CE0189569F4F90 -:10CCF0000E94AE4B0091F91C01279E012B563F4F1D -:10CD000041E050E0B701CE0189569F4F0E94AE4BE3 -:10CD10000091F91C01279E012B563F4F44E050E043 -:10CD2000BE0163597F4FCE0189569F4F0E94AE4B83 -:10CD30000091F91C01279E012B563F4F44E050E023 -:10CD4000B701CE0189569F4F0E94AE4B0091F91C4E -:10CD500001279E012B563F4F42E050E0BE01635831 -:10CD60007F4FCE0189569F4F0E94AE4B0091F91C18 -:10CD700001279E012B563F4F40E150E0B701CE0105 -:10CD800089569F4F0E94AE4B0091F91C01112EC095 -:10CD900089809A80AB80BC8020E030E84BE355E48A -:10CDA000C501B4010F941E0D882301F18092A508DE -:10CDB0009092A608A092A708B092A8088D819E81A3 -:10CDC000AF81B8858093A9089093AA08A093AB0877 -:10CDD000B093AC0889859A85AB85BC858093AD08F6 -:10CDE0009093AE08A093AF08B093B00811E001276C -:10CDF0009E012B563F4F42E050E0BE016F5F7F4FD8 -:10CE0000CE0189569F4F0E94AE4B0091F91C01271D -:10CE10009E012B563F4F4CE050E0BE016F5F7F4FAD -:10CE2000CE0189569F4F0E94AE4B0091F91C011113 -:10CE300015C020E030E84BE355E469817A818B81AD -:10CE40009C810F941E0D882349F08CE0FE013196E1 -:10CE5000ACEBB8E001900D928A95E1F711E0012763 -:10CE60009E012B563F4F42E050E0B701CE0189565C -:10CE70009F4F0E94AE4B0091F91C01279E012B563B -:10CE80003F4F41E050E0B701CE0189569F4F0E94CD -:10CE9000AE4B0091F91C01279E012B563F4F40E2FB -:10CEA00050E0B701CE0189569F4F0E94AE4B0091D2 -:10CEB000F91C01279E012B563F4F41E050E0BE0177 -:10CEC00063597F4FCE0189569F4F0E94AE4B009110 -:10CED000F91C01279E012B563F4F49E050E0B70156 -:10CEE000CE0189569F4F0E94AE4B0091F91C011153 -:10CEF0000CC0898180933D1988E0FE013296A6E43A -:10CF0000B9E101900D928A95E1F711E001279E01A8 -:10CF10002B563F4F4AE150E0B701CE0189569F4F53 -:10CF20000E94AE4B0091F91C01279E012B563F4FEA -:10CF300044E350E0B701CE0189569F4F0E94AE4BAB -:10CF40000091F91C01279E012B563F4F48E050E00D -:10CF5000B701CE0189569F4F0E94AE4B0091F91C3C -:10CF600001279E012B563F4F4DE050E0B701CE0107 -:10CF700089569F4F0E94AE4B0091F91C01279E01DC -:10CF80002B563F4F48E050E0B701CE0189569F4FE6 -:10CF90000E94AE4B0091F91C011108C088E0F70116 -:10CFA000ADEBB6E101900D928A95E1F711E0012712 -:10CFB0009E012B563F4F4CE050E0B701CE01895601 -:10CFC0009F4F0E94AE4B0091F91C01279E012B56EA -:10CFD0003F4F4CE650E0B701CE0189569F4F0E946B -:10CFE000AE4B19821A821B821C821D821E821F82F6 -:10CFF000188619861A861B861C860091F91C012743 -:10D000009E012B563F4F4CE050E0B701CE018956B0 -:10D010009F4F0E94AE4B0091F91C01279E012B5699 -:10D020003F4F40E150E06EEF7CE1CE0189569F4FCB -:10D030000E94AE4B0091F91C01279E012B563F4FD9 -:10D0400048E150E069EC77E1CE0189569F4F0E949C -:10D05000AE4B0091F91C01279E012B563F4F44E037 -:10D0600050E0B701CE0189569F4F0E94AE4B009110 -:10D07000F91C01279E012B563F4F44E050E0BE01B2 -:10D080006B5F7F4FCE0189569F4F0E94AE4B009140 -:10D09000F91C01279E012B563F4F44E050E0BE0192 -:10D0A000675F7F4FCE0189569F4F0E94AE4B009124 -:10D0B000F91C01279E012B563F4F41E050E0BE0175 -:10D0C00063587F4FCE0189569F4F0E94AE4B00910F -:10D0D000F91C01279E012B563F4F44E050E0BE0152 -:10D0E00063597F4FCE0189569F4F0E94AE4B80E31C -:10D0F000F70111928A95E9F70091F91C01279E0129 -:10D100002B563F4F40E350E0B701CE0189569F4F69 -:10D110000E94AE4B8091F91C811104C08EE797E00C -:10D120000E944A4DC956DF4F88819981C759D04026 -:10D130008436934041F00E94F8C189E09CE20E944D -:10D1400038C081E001C080E080935B198823C1F082 -:10D150000E94FCC1C956DF4F68817981C759D04010 -:10D16000645671098BE89CE20E94D8C160E073E0CC -:10D1700083E89CE20E94BAC18AE00E943F4C57C0FB -:10D18000CB56DF4F28813981C559D040C756DF4F74 -:10D1900088819981C959D04028173907E1F081E089 -:10D1A00080935B190E94F8C1C756DF4F688179816F -:10D1B000C959D04083E69CE20E94BAC1CB56DF4FEA -:10D1C00068817981C559D0408EE59CE20E94BAC140 -:10D1D0008EE49CE22AC08091F91C811128C00E9433 -:10D1E000FCC104E813E0D8018D918D01882319F06A -:10D1F0000E943F4CF8CFC956DF4F68817981C759EB -:10D20000D0406456710981E39CE20E94D8C1CB569C -:10D21000DF4F48815981C559D04060E070E084E219 -:10D220009CE20E94A9C181E29CE20E9438C08091E8 -:10D23000F91C811106C080915B19811102C00E9406 -:10D24000BFD18091F91C811102C00E9455EE9091CE -:10D250005B1981E089270FB6F8943EBE0FBE2DBE44 -:10D26000C456DF4F0FB6F894DEBF0FBECDBFDF91BF -:10D27000CF911F910F91FF90EF90DF90CF90BF90D3 -:10D28000AF909F908F907F906F905F904F903F9066 -:10D290002F90089584E08A950000E9F70895FC0135 -:10D2A000DB018C9120813181382798E0A901440F5E -:10D2B000551F37FD06C09A019150C1F73183208375 -:10D2C00008959A01B1E22B27B0E13B27F5CFEF9209 -:10D2D000FF920F931F93CF93DF93FC0101900020E7 -:10D2E000E9F731979F01281B390B12161306CCF56D -:10D2F0006AE56093501B65EA6093511B63E0620F1F -:10D300006093521B62E86093531B5093541B4093ED -:10D31000551BFC01A6E5BBE1820F931F41914D9384 -:10D32000E817F907D9F780E5E82E8BE1F82E00E041 -:10D3300010E0E9012596C017D10764F0D7016D917F -:10D340007D0186E699E10E9447550E944AE90F5FF8 -:10D350001F4FF1CF8AE1E0E5FBE1DF011D928A95E5 -:10D36000E9F7DF91CF911F910F91FF90EF90089512 -:10D370000F931F93CF93DF932091011B2A3509F060 -:10D3800098C09091021B953A09F093C08091001BC0 -:10D39000833008F48EC02093501B9093511B8093D0 -:10D3A000521B9091031B9093531B9038B1F49091B2 -:10D3B000041B9093541BECE0FBE1A5E5BBE120E0EE -:10D3C00030E090E00297281739070CF044C0408104 -:10D3D00032964D932F5F3F4FF6CF833061F49138F3 -:10D3E00009F064C08091041B8093541B8091081B3A -:10D3F0008093551B30C09238F1F49091041B20911A -:10D40000051B2093541B9093551BE6E5FBE120E0A0 -:10D4100030E090E0039728173907ECF4D901AE7F8C -:10D42000A45FB44E4C9111965C91508341832E5F62 -:10D430003F4F3296F0CF843071F4933861F480918D -:10D44000041B9091051B9093541B8093551B809156 -:10D45000081B8093561B00E51BE1C0E0D0E08091E3 -:10D46000001B90E002968C179D075CF0D8016D912F -:10D470008D0186E699E10E9447550E944AE921966E -:10D48000EECF80E5E0E0FBE1DF011D928A95E9F750 -:10D490008AE1E0E5FBE1DF011D928A95E9F78AE583 -:10D4A0008093011B85EA8093021B03C0923899F692 -:10D4B000A4CFDF91CF911F910F910895CF93DF9368 -:10D4C000CDB7DEB7A8970FB6F894DEBF0FBECDBFBD -:10D4D0008C010E94429B0E94F8C18BEE9CE20E944C -:10D4E00038C00115110511F402EE1CE28091651996 -:10D4F00080FD75C081608093651981E997E00E9485 -:10D500004A4D882483948AE5982E90920D1B809230 -:10D510000C1B8FE090E090930F1B80930E1B97E005 -:10D52000A92EA092001B22E8B22EB092031B34E871 -:10D53000C32ED12CE12CF12CC092041BD092051BE0 -:10D54000E092061BF092071B0E94B8E990920D1B17 -:10D5500080920C1B88E590E090930F1B80930E1B2C -:10D56000A092001BB092031BC092041BD092051B1B -:10D57000E092061BF092071B0E94B8E963E070E09E -:10D5800080E090E00E9475B68AE289838A838B836B -:10D590008C83DE011596F801CE0101969D01281BB2 -:10D5A000390B44913196442311F04D93F7CFFC0190 -:10D5B000E20FF31F2AE2AF01481B590B4832510515 -:10D5C00011F02193F8CF40E650E160E070E00E9456 -:10D5D00067E96AE070E080E090E00E9475B661E083 -:10D5E00089ED9CE20E9447C089EE93E030E6019706 -:10D5F00029F0232F2A950000E9F7F9CFF89489EE56 -:10D6000093E038EE019729F0232F2A950000E9F7DF -:10D61000F9CF0E94429B0E94704BA895FECFCF92FB -:10D62000DF92EF92FF920E9444676B017C0128E534 -:10D63000C20E22E0D21EE11CF11C0E9498548F3FC2 -:10D6400061F00E944467DC01CB018C199D09AE0991 -:10D65000BF09B7FDF2CF80E001C081E0FF90EF90FD -:10D66000DF90CF9008958F929F92AF92BF92CF920A -:10D67000DF92EF92FF920F931F93CF93DF9300D02F -:10D680001F92CDB7DEB7FC018381813079F58181AE -:10D6900081FF2CC081899289A389B489892B8A2B27 -:10D6A0008B2B09F448C07F0140E050E0BA01CF0164 -:10D6B0000E94CE9B8823D1F0F70185889688A788A1 -:10D6C000B08CC18CD28C82E090E0A0E0B0E0F6019A -:10D6D00080839183A283B3839E012F5F3F4FB50167 -:10D6E000A401C6010E94455C811102C080E03CC0DB -:10D6F00000E010E09801B501A401C6010E94B35BEF -:10D700008823A1F389809A80AB80BC80F601878949 -:10D71000803141F4F8EF8F16FFEF9F06A104B104AA -:10D7200060F4DACF88EF88168FEF9806A8068FE0AE -:10D73000B80618F4D1CF81E017C0F701158A168A10 -:10D74000178A108E118A128A138A148A818180683E -:10D750008183C7010E94079F882341F240E050E087 -:10D76000BA01C7010E94CE9B0F900F900F900F90AF -:10D77000DF91CF911F910F91FF90EF90DF90CF90AD -:10D78000BF90AF909F908F9008952F923F924F92AD -:10D790005F926F927F928F929F92AF92BF92CF9241 -:10D7A000DF92EF92FF920F931F93CF93DF931F921D -:10D7B0001F92CDB7DEB77C012DB73EB73A832983E0 -:10D7C0008091F11C811107C01092D61C1092D91CB7 -:10D7D00081E08093F11C8091CE1C811107C01092D2 -:10D7E000B31C1092B61C81E08093CE1CFB0180819B -:10D7F0008F3259F48CE59AE1F7019183808310927E -:10D80000A61C8B010F5F1F4F06C081E49AE1F70150 -:10D81000918380838B01F7012080318026EDC22E19 -:10D820002CE1D22E0115110509F479C04DB65EB672 -:10D830006FE270E0C8010F9475174C0108171907C3 -:10D8400008F06BC03C01601A710A7724C30101968D -:10D850002DB73EB7281B390B0FB6F8943EBF0FBE4D -:10D860002DBF8DB79EB701965C01A301B8010F943F -:10D870009517F501E60DF71D1082F70160817181A2 -:10D8800021E0A501C6010E9426A381110FC0B501A8 -:10D8900085EC9CE20E94E5C182EC9CE20E9438C0CB -:10D8A0000FB6F8945EBE0FBE4DBE39C0F701808141 -:10D8B00091812816390611F00E943A9FF701D18212 -:10D8C000C082A091A61CAA3080F481E08A0F8093C8 -:10D8D000A61CFBE1FA9FD0011124A856B44EF60114 -:10D8E0008BE101900D928A95E1F7F701808191819A -:10D8F000865D9C4129F493EBC92E9CE1D92E04C08E -:10D9000086EDC82E8CE1D82E84010F5F1F4F0FB615 -:10D91000F8945EBE0FBE4DBE85CFC80102C080E048 -:10D9200090E029813A810FB6F8943EBF0FBE2DBF1B -:10D930000F900F90DF91CF911F910F91FF90EF907B -:10D94000DF90CF90BF90AF909F908F907F906F901F -:10D950005F904F903F902F900895209164192695E5 -:10D96000269520FF2DC02091B11C3091B21C280FAC -:10D97000391F3093B21C2093B11C20916219309151 -:10D980006319280F391F309363192093621920916E -:10D9900008012170209306012091601930916119CE -:10D9A000820F931F90936119809360190E944467BE -:10D9B00060935C1970935D1980935E1990935F1961 -:10D9C0000895A7E7B7E120E030E0C9012430310530 -:10D9D00010F083E090E0880F991F880F991FFC01D9 -:10D9E000E558F24D459155916591749154964D933A -:10D9F0005D936D937C935797FC01E559F24D4591EA -:10DA000055916591749194964D935D936D937C932C -:10DA10009797FC01E55AF24D4591559165917491A6 -:10DA20004D935D936D937D932F5F3F4F2430310570 -:10DA300009F0CBCF80E29EE4A0E0B0E080938717AE -:10DA400090938817A0938917B0938A1780E090E08D -:10DA5000A6E9B3E48093AB179093AC17A093AD17EE -:10DA6000B093AE1740E050E06AE774E44093AF171C -:10DA70005093B0176093B1177093B2178093B31798 -:10DA80009093B417A093B517B093B6171092B71729 -:10DA90001092B8171092B9171092BA171092BB17BC -:10DAA0001092BC171092BD171092BE178AE097ED26 -:10DAB000A3EABDE38093A1169093A216A093A316A8 -:10DAC000B093A4168CE0E0EEF8E0DF011D928A9599 -:10DAD000E9F780E090E0A0EAB2E48093C917909360 -:10DAE000CA17A093CB17B093CC1740E050E060E08A -:10DAF00070E44093CD175093CE176093CF17709377 -:10DB0000D01788EB9BE09093D2178093D117909316 -:10DB1000D4178093D31788E0EAE9F3E0A5EDB7E1E5 -:10DB200001900D928A95E1F74093DD175093DE172F -:10DB30006093DF177093E0178CE997E00E944A4DDD -:10DB40001092FA1C1092FB1C1092FC1C1092FD1CEF -:10DB500080E00E94BDBF0E949ABF80E090E0A8E9EB -:10DB6000B1E48093A5089093A608A093A708B0936A -:10DB7000A8088AE891EEAAE6BEE38093A9089093EC -:10DB8000AA08A093AB08B093AC0880E89AE6A9EC89 -:10DB9000B3E48093AD089093AE08A093AF08B09320 -:10DBA000B00883EC95E9ACE2B4E48093BC089093B0 -:10DBB000BD08A093BE08B093BF0880E29BE1A2E934 -:10DBC000B1E48093C0089093C108A093C208B093B9 -:10DBD000C30887EF9CEDABECB5E48093C408909349 -:10DBE000C508A093C608B093C70810923D1980E0FD -:10DBF00090E0A0EEBFE38093461990934719A0935D -:10DC00004819B093491980934A1990934B19A093DE -:10DC10004C19B0934D191092DD081092DC080E9447 -:10DC2000D5E21092BD161092BE161092BF16109239 -:10DC3000C0161092C1161092C2161092C3161092FE -:10DC4000C41640E050E067ED73E44093FE1C50932F -:10DC5000FF1C6093001D7093011D80E090E0A1EE19 -:10DC6000B3E48093021D9093031DA093041DB09311 -:10DC7000051D4093061D5093071D6093081D70936A -:10DC8000091D80930A1D90930B1DA0930C1DB0934A -:10DC90000D1D0E94BFD10E94FCC188E39DE20E943D -:10DCA00038C08CE997E00C944A4D8F929F92AF92C6 -:10DCB000BF92CF92DF92EF92FF920F931F93CF9379 -:10DCC000C82F811102C00E94FCC180EE9FE20E9419 -:10DCD00038C08AED9FE20E9438C08AE00E943F4C23 -:10DCE0008AE00E943F4CC11114C00E94FCC187EC25 -:10DCF0009FE20E9438C080913D19882321F08AE07C -:10DD00000E943F4C04C08CEB9FE20E9438C00E94EE -:10DD1000FCC1409146195091471960914819709182 -:10DD2000491983EB9FE20E94C7C18AE00E943F4CE1 -:10DD3000C11102C00E94FCC140914A1950914B1977 -:10DD400060914C1970914D1987EA9FE20E94C7C1FA -:10DD50008AE00E943F4C80913D19811108C0C11199 -:10DD600002C00E94FCC18CE99FE20E9438C0C11130 -:10DD700006C00E94FCC18BE89FE20E9438C06FEF92 -:10DD800081E08C270E9401B3C11108C00E94FCC130 -:10DD90008DE69FE20E9438C00E94FCC140919B1713 -:10DDA00050919C1760919D1770919E1784E69FE299 -:10DDB0000E94C7C140919F175091A0176091A11771 -:10DDC0007091A21781E69FE20E94C7C14091A317FC -:10DDD0005091A4176091A5177091A6178EE59FE248 -:10DDE0000E94C7C14091A7175091A8176091A91729 -:10DDF0007091AA178BE59FE20E94C7C18AE00E943A -:10DE00003F4CC11108C00E94FCC189E39FE20E94FF -:10DE100038C00E94FCC1609177177091781780918B -:10DE2000791790917A170F94230DAB01BC0180E311 -:10DE30009FE20E94C7C160917B1770917C1780910F -:10DE40007D1790917E170F94230DAB01BC018DE2DD -:10DE50009FE20E94C7C160917F17709180178091E7 -:10DE60008117909182170F94230DAB01BC018AE2B8 -:10DE70009FE20E94C7C160918317709184178091BF -:10DE80008517909186170F94230DAB01BC0187E293 -:10DE90009FE20E94C7C18AE00E943F4CC11108C0A6 -:10DEA0000E94FCC18DED9EE20E9438C00E94FCC120 -:10DEB0004091AB175091AC176091AD177091AE17B0 -:10DEC00084ED9EE20E94C7C14091AF175091B017F8 -:10DED0006091B1177091B21781ED9EE20E94C7C1A7 -:10DEE0004091B3175091B4176091B5177091B61760 -:10DEF0008EEC9EE20E94C7C18AE00E943F4CC11195 -:10DF00000FC00E94FCC186E89EE20E9438C089E7EB -:10DF10009EE20E9438C08AE00E943F4C0E94FCC1F1 -:10DF200060918717709188178091891790918A174F -:10DF30000F94230DAB01BC0180E79EE20E94C7C194 -:10DF40004091B7175091B8176091B9177091BA17EF -:10DF50008DE69EE20E94C7C14091BB175091BC174D -:10DF60006091BD177091BE178AE69EE20E94C7C1FC -:10DF70004091A1165091A2166091A3167091A4161B -:10DF800087E69EE20E94C7C18AE00E943F4CC11111 -:10DF900008C00E94FCC189E59EE20E9438C00E9430 -:10DFA000FCC14091E0085091E1086091E208709155 -:10DFB000E30880E59EE20E94C7C14091E4085091C9 -:10DFC000E5086091E6087091E7088DE49EE20E9402 -:10DFD000C7C14091E8085091E9086091EA08709142 -:10DFE000EB088AE49EE20E94C7C18AE00E943F4C8F -:10DFF000C11108C00E94FCC186E39EE20E9438C0A5 -:10E000000E94FCC16091740B70E08DE29EE20E9460 -:10E01000D8C14091750B5091760B6091770B709140 -:10E02000780B8AE29EE20E94C7C18AE00E943F4CC0 -:10E030000E94DCBF882309F444C039EDC32E38E1C7 -:10E04000D32E01E010E0AA24A394B12CE12CF12CF2 -:10E05000C11102C00E94FCC1B5018FE19EE20E9485 -:10E06000D8C1B8018CE19EE20E94D8C19FEA892EF6 -:10E0700097E0992EF40181914F01882319F00E94B5 -:10E080003F4CF8CFF601EE0DFF1D6081718182815A -:10E09000938145E00E94CF4C8AE00E943F4CF4E11E -:10E0A000EF0EF11C8FEFA81AB80AE4E6EE16F104A1 -:10E0B00079F6F4E0CF0ED11C0F5F1F4F063011052B -:10E0C00011F6C11108C00E94FCC18DE09EE20E94C1 -:10E0D00038C00E94FCC14091A5085091A6086091EB -:10E0E000A7087091A80884E09EE20E94C7C12CEAAC -:10E0F00035EC47E25EE36091A9087091AA0880912F -:10E10000AB089091AC080F941C15AB01BC0181E0E9 -:10E110009EE20E94C7C12CEA35EC47E25EE36091C3 -:10E12000AD087091AE088091AF089091B0080F943F -:10E13000840DAB01BC018EEF9DE20E94C7C18AE055 -:10E140000E943F4CC11102C00E94FCC14091BC081A -:10E150005091BD086091BE087091BF0885EF9DE2A7 -:10E160000E94C7C12CEA35EC47E25EE36091C0082B -:10E170007091C1088091C2089091C3080F941C153A -:10E18000AB01BC0182EF9DE20E94C7C12CEA35ECD5 -:10E1900047E25EE36091C4087091C5088091C608AB -:10E1A0009091C7080F94840DAB01BC018FEE9DE2E6 -:10E1B0000E94C7C18AE00E943F4CC11108C00E9462 -:10E1C000FCC18EED9DE20E9438C00E94FCC18DEB27 -:10E1D000E82E86E1F82E00E010E0B80185ED9DE222 -:10E1E0000E94D8C1F70141915191619171917F01D4 -:10E1F00082ED9DE20E94C7C18AE00E943F4C0F5F02 -:10E200001F4F0230110549F7C11108C00E94FCC11F -:10E2100083EB9DE20E9438C00E94FCC18BE89DE226 -:10E220000E9438C04091021D5091031D6091041D51 -:10E230007091051D8EEA9DE20E94C7C14091FE1CAF -:10E240005091FF1C6091001D7091011D8BEA9DE2B1 -:10E250000E94C7C18AE00E943F4CC11102C00E94C7 -:10E26000FCC18BE89DE20E9438C040910A1D50918C -:10E270000B1D60910C1D70910D1D86EA9DE20E94A0 -:10E28000C7C14091061D5091071D6091081D7091F6 -:10E29000091D83EA9DE20E94C7C18AE00E943F4CAB -:10E2A000C11108C00E94FCC183E99DE20E9438C0F0 -:10E2B0000E94FCC181E0CF911F910F91FF90EF90E0 -:10E2C000DF90CF90BF90AF909F908F900C94DAAA80 -:10E2D000CF9381E08093F91C0E94E0E21092F91C38 -:10E2E000882309F446C00E94E0E2C82F82EB97E041 -:10E2F0000E944A4D6091641970916519072E000CB7 -:10E30000880B990B0F94250DAB01BC018BE09DE2AE -:10E310000E94C7C18AE00E943F4C609164197091CD -:10E320006519072E000C880B990B0F94250D20E022 -:10E3300030E048EC52E40F94840D0F948E157093E6 -:10E340000D1B60930C1B85E08093001B82E880937B -:10E35000031B86E290E1A0E0B0E08093041B909361 -:10E36000051BA093061BB093071B0E94B8E98C2FD6 -:10E370000BC00E94E1EC0E946ECD0E94FCC184E2C1 -:10E380009DE20E9438C080E0CF9108958F929F92C5 -:10E39000AF92BF92CF92DF92EF92FF920F931F93B3 -:10E3A000CF93DF93F0E2FF2EE12CAE2DB0E0BD0164 -:10E3B0006F0D711D75956795611103C0E1EDF1E376 -:10E3C00006C06E1511F0F6120BC0EDE4F2E3659194 -:10E3D0007491072E000C880B990B0F94250D62C0C9 -:10E3E0009B0121503109220F331F220F331FF901E6 -:10E3F000E153FE4C05911491AB01440F551F440F9E -:10E40000551FFA01E153FE4CC591D4918017910735 -:10E4100014F4F62ECCCFC817D90714F4E62EC5CFC6 -:10E42000F901EF52FE4CE590F490FA01EF52FE4CE8 -:10E43000C590D490BC01601B710B072E000C880B9B -:10E44000990B0F94250D4B015C01B6016E197F09E4 -:10E45000072E000C880B990B0F94250D9B01AC0126 -:10E46000C501B4010F94840D4B015C01C01BD10B9D -:10E47000BE01DD0F880B990B0F94250D9B01AC019C -:10E48000C501B4010F941C154B015C01B701FF0CD1 -:10E49000880B990B0F94250D9B01AC01C501B401AC -:10E4A0000F942214DF91CF911F910F91FF90EF9065 -:10E4B000DF90CF90BF90AF909F908F9008958F92F4 -:10E4C0009F92AF92BF92CF92DF92EF92FF920F9303 -:10E4D0001F93CF93DF93C62F662381F00E94F8C16C -:10E4E0006C2F70E080E090E00E94B34C81EB91E3F0 -:10E4F0000E9438C080E090E00E945EEAF0E4FF2EC7 -:10E50000E12CAE2DB0E0BD016F0D711D75956795C5 -:10E51000611103C0E7E0F0E306C06E1511F0F612DA -:10E520000BC0E3E0F1E365917491072E000C880BBA -:10E53000990B0F94250D62C09B0121503109220FC8 -:10E54000331F220F331FF901EB5FFF4C059114912C -:10E55000AB01440F551F440F551FFA01EB5FFF4CF1 -:10E56000C591D4918017910714F4F62ECCCFC8171B -:10E57000D90714F4E62EC5CFF901E95FFF4CE59009 -:10E58000F490FA01E95FFF4CC590D490BC01601B88 -:10E59000710B072E000C880B990B0F94250D4B0166 -:10E5A0005C01B6016E197F09072E000C880B990BD0 -:10E5B0000F94250D9B01AC01C501B4010F94840D8E -:10E5C0004B015C01C01BD10BBE01DD0F880B990B09 -:10E5D0000F94250D9B01AC01C501B4010F941C15CE -:10E5E0004B015C01B701FF0C880B990B0F94250DB3 -:10E5F0009B01AC01C501B4010F942214DF91CF91AE -:10E600001F910F91FF90EF90DF90CF90BF90AF9050 -:10E610009F908F900895EF92FF920F931F93CF9347 -:10E62000C82F7B018A01809144028823D1F00E9487 -:10E63000F8C1C7010E9438C089E091E30E9438C048 -:10E64000C7FD08C06C2FCC0F770B880B990B0E946D -:10E65000B34C04C085E091E30E9438C08AE00E9478 -:10E660003F4C0E94429B80912E1D811108C081E089 -:10E6700080932E1D10924402C8010E945EEACF9141 -:10E680001F910F91FF90EF9008952F923F924F921C -:10E690005F926F927F928F929F92AF92BF92CF9232 -:10E6A000DF92EF92FF920F931F93CF93DF93CDB73B -:10E6B000DEB763970FB6F894DEBF0FBECDBF809173 -:10E6C0002D1D81111DC08091731781111DC063968E -:10E6D0000FB6F894DEBF0FBECDBFDF91CF911F9173 -:10E6E0000F91FF90EF90DF90CF90BF90AF909F90F1 -:10E6F0008F907F906F905F904F903F902F900895F4 -:10E7000080E090E00E945EEA0E94B19B0E94446714 -:10E710002B013C016091140270911502072E000C30 -:10E72000880B990B0F94250D9B01AC0160919E08FD -:10E7300070919F088091A0089091A1080F94821673 -:10E7400018163CF44EE851E361EA71E380E00E9460 -:10E750000BF380917117882309F4F7C16091A20827 -:10E760007091A308072E000C880B990B0F94250DB0 -:10E7700069837A838B839C833AE0E32EF12C0CE34C -:10E7800010E020E0AE014F5F5F4F6EE978E08DE56D -:10E790009DE10E943499C0909E08D0909F08E0901F -:10E7A000A008F090A1086091120270911302072E48 -:10E7B000000C880B990B0F94250D9B01AC01C70130 -:10E7C000B6010F94821618160CF49AC060E060939C -:10E7D000A40880915E1790915F17A0916017B09187 -:10E7E00061170097A105B105F9F0A3019201281B5B -:10E7F000390B4A0B5B0B57FD17C060915C1770918A -:10E800005D1780E090E00F94230D9B01AC01C701E0 -:10E81000B6010F941E0D87FF0AC34DE651E36FE763 -:10E8200071E380E00E940BF320E030E046E153E426 -:10E830006091B5087091B6088091B7089091B808BA -:10E840000F94821618160CF4D2C18091641790911F -:10E850006517A0916617B09167170097A105B105DC -:10E8600029F1A3019201281B390B4A0B5B0B57FDC1 -:10E870001DC0609162177091631780E090E00F9463 -:10E88000230D9B01AC016091B5087091B608809191 -:10E89000B7089091B8080F941E0D87FFB0C147E2EA -:10E8A00051E36AE371E38FEF0E940BF380916C17E1 -:10E8B000882309F483C16091B9087091BA08072EC2 -:10E8C000000C880B990B0F94250D69837A838B8339 -:10E8D0009C8392E0E92EF12C02E310E02FEFAE01D1 -:10E8E0004F5F5F4F65EB78E088E59DE10E943499CA -:10E8F00080916C17882309F441C11092BB08E7CEC0 -:10E900006091140270911502072E000C880B990B70 -:10E910000F94250D9B01AC01C701B6010F941E0D8C -:10E9200087FF54CF6091A2087091A308611571050B -:10E9300009F478C2072E000C880B990B0F94250D53 -:10E94000A70196010F9421144B015C0120E030E0F7 -:10E9500040E251EC0F941E0D87FD64C28091711747 -:10E96000811160C220E030E040E251E4C501B40111 -:10E970000F94821618160CF467C28091571D8111EE -:10E9800067C280914F1D9091501DA091511DB09173 -:10E99000521D8D839E83AF83B8872091531D309184 -:10E9A000541D4091551D5091561D29873A874B871C -:10E9B0005C87A70196016091431D7091441D809171 -:10E9C000451D9091461D0F9421142091AD08309162 -:10E9D000AE084091AF085091B0080F94840D2D817E -:10E9E0003E814F8158850F94211420ED3CEC4CE47E -:10E9F0005DE30F94840D2D813E814F8158850F94E6 -:10EA000022146D837E838F83988760934F1D70934C -:10EA1000501D8093511D9093521D8091A908909193 -:10EA2000AA08A091AB08B091AC088D879E87AF87EC -:10EA3000B88B29853A854B855C85C501B4010F9457 -:10EA40002214162F072F1C0120E030E0A9010F949B -:10EA50001E0D87FD12C22D853E854F85588960E0C9 -:10EA600070E08FE793E40F941C156987798B8A8B8C -:10EA70009B8B212F302FA1010F941E0D87FF04C007 -:10EA8000198509892A883B88812F902FD10180938D -:10EA9000531D9093541DA093551DB093561D209166 -:10EAA000A5083091A6084091A7085091A808C50173 -:10EAB000B4010F94840D4B015C016093471D70936A -:10EAC000481D8093491D90934A1D212F302FA1018D -:10EAD0006D857E858F8598890F94840D9B01AC018F -:10EAE00060934B1D70934C1D80934D1D90934E1D54 -:10EAF000C501B4010F9422142D813E814F815885A8 -:10EB00000F94221420E030E0A9010F9422144B014D -:10EB10005C0120E030E0A9010F941E0D87FD85C146 -:10EB200020E030E04FE753E4C501B4010F948216B2 -:10EB300018160CF070C16FE7C092431DD092441DAF -:10EB4000E092451DF092461D42CE80916D17909146 -:10EB50006E17A0916F17B09170170097A105B105BE -:10EB600009F4FCCDA3019201281B390B4A0B5B0B66 -:10EB700057FDF4CD81E080937117F0CDC090B508BA -:10EB8000D090B608E090B708F090B80820E030E0E8 -:10EB900040EA50E4C701B6010F94821687FD0AC00F -:10EBA00020E030E046E153E4C701B6010F941E0DAA -:10EBB000181644F560E06093BB0889CD8091681712 -:10EBC00090916917A0916A17B0916B170097A105F2 -:10EBD000B10509F470CEA3019201281B390B4A0B31 -:10EBE0005B0B57FD68CE81E080936C1764CE49E4DF -:10EBF00051E36DE571E38FEF0E940BF326CE0E9487 -:10EC0000F39A54CE6091B9087091BA0861157105F4 -:10EC100009F411C1072E000C880B990B0F94250DD8 -:10EC2000A70196010F9421144B015C0120E030E014 -:10EC300040E251EC0F941E0D87FDFDC020E030E056 -:10EC400040E251E4C501B4010F94821618160CF489 -:10EC5000F6C04090C0085090C1086090C208709003 -:10EC6000C30880916E028111FEC020913F1D30913A -:10EC7000401D4091411D5091421D80913B1D90913E -:10EC80003C1DA0913D1DB0913E1D8D839E83AF83A1 -:10EC9000B887C501B4010F942214162F072F382E00 -:10ECA000292E20E030E0A9010F941E0D87FDEAC057 -:10ECB000A301920160E070E08FE793E40F941C15CC -:10ECC0006D877987898B9A8B212F302F432D522D79 -:10ECD0000F941E0D87FF04C01D85098539882A8879 -:10ECE000812F902FA32DB22D80933F1D9093401D17 -:10ECF000A093411DB093421D2091BC083091BD08E6 -:10ED00004091BE085091BF08C501B4010F94840D15 -:10ED10004B015C016093331D7093341D8093351D4E -:10ED20009093361D212F302F432D522DC301B20158 -:10ED30000F94840D2B013C016093371D7093381D97 -:10ED40008093391D90933A1DA701960160912F1D64 -:10ED50007091301D8091311D9091321D0F942114BE -:10ED60002091C4083091C5084091C6085091C70849 -:10ED70000F94840D2D813E814F8158850F9421146D -:10ED800020ED3CEC4CE45DE30F94840D2D813E813D -:10ED90004F8158850F9422146D837E838F839887CB -:10EDA00060933B1D70933C1D80933D1D90933E1DD1 -:10EDB000C0922F1DD092301DE092311DF092321D75 -:10EDC000A3019201C501B4010F9422142D813E814B -:10EDD0004F8158850F94221420E030E0A9010F9450 -:10EDE00022146B017C0120E030E0A9010F941E0D7C -:10EDF00087FDE0CE20E030E04FE753E4C701B601E5 -:10EE00000F9482161816F4F0C701B6010F948E15F0 -:10EE100075956795D0CEC501B4010F948E15759583 -:10EE200067958ACE81E08093571D60E085CE80E0B3 -:10EE30000E94629BF9CC81E080936E02BBCE81E0A0 -:10EE400080936E026FE7B7CE81E08093571D73CE3B -:10EE50001092571D19861A861B861C861D821E82DB -:10EE60001F821886A6CD10926E021D821E821F82FE -:10EE7000188620E030E0A9010CCF10E000E0212C42 -:10EE8000312C02CE10E000E0312C212C29CF6F3F35 -:10EE9000710519F010F06FEF70E090915B0B98170F -:10EEA00041F0823040F4E82FF0E0ED53F84E6083FB -:10EEB00008956093C517089590916F00292F2270CF -:10EEC00091FF05C090916F009D7F90936F0034E09B -:10EED000839FC0011124FC01E35EF24E4081518109 -:10EEE00062817381FC01EF5EF24E40835183628345 -:10EEF000738381E08093101D222329F080916F009D -:10EF0000826080936F00089590916F00292F227086 -:10EF100091FF05C090916F009D7F90936F0094E0EA -:10EF2000899FF0011124E35EF24E6081718182813C -:10EF30009381222329F020916F00226020936F009B -:10EF40000895BC0120910E1D30910F1D40910E1DA2 -:10EF500050910F1D2417350711F09A01F7CF81E06A -:10EF60002617370709F080E008958091621D90917F -:10EF7000631D009731F04AE050E060E070E00D94CE -:10EF8000420B60E070E0CB0108958F929F92AF92A8 -:10EF9000BF92CF92DF92EF92FF928091A81881FDED -:10EFA00009C08091A91881FD05C08091AA188C70B4 -:10EFB00009F48AC082E40E949987882351F00E9454 -:10EFC000B5F760938717709388178093891790938C -:10EFD0008A1783E50E949987882351F00E946287EF -:10EFE0006093B7177093B8178093B9179093BA17B7 -:10EFF00084E50E949987882351F00E94628760937C -:10F00000BB177093BC178093BD179093BE178AE40B -:10F010000E949987882309F457C00E9462876B0178 -:10F020007C012AE037ED43E25CE30F94821687FD12 -:10F030003DC02AE939E949E95EE3C701B6010F9409 -:10F040001E0D18169CF1C092A116D092A216E09245 -:10F05000A316F092A4166091831770918417809183 -:10F060008517909186170F94230D4B015C0123EFB8 -:10F0700034E045E35FE3C701B6010F94840D9B01C3 -:10F08000AC01C501B4010F94840D29E732E84AE5CB -:10F0900050E40F94840D0F94D0166093B9167093BA -:10F0A000BA168093BB169093BC160EC00E94F8C18E -:10F0B00081E093E3FF90EF90DF90CF90BF90AF900F -:10F0C0009F908F900C9438C0FF90EF90DF90CF907E -:10F0D000BF90AF909F908F900895CF92DF92EF9264 -:10F0E000FF920F931F93CF93DF9388E50E94998738 -:10F0F000D82E89E40E949987C82E882321F00E9487 -:10F100005E87182F27C0DD2011F10E9462872091B1 -:10F11000BD183091BE184091BF185091C0180F947F -:10F12000211420E030E040EA50E40F94211420E064 -:10F1300030E040E152E40F94221429E33EE843E634 -:10F140005CE30F94840D0F948E15653010F01FEF63 -:10F1500001C0162F89E50E949987082F8AE40E9432 -:10F160009987C82F882321F00E945E87D82F27C057 -:10F17000002311F10E9462872091C1183091C218BA -:10F180004091C3185091C4180F94211420E030E02E -:10F1900048EC51E40F94211420E030E048EF51E4B2 -:10F1A0000F94221428E031E244E85CE30F94840DCC -:10F1B0000F948E15653010F0DFEF01C0D62F8AE571 -:10F1C0000E949987E82E811105C081E50E949987E8 -:10F1D000F82E01C0F12CC11001C0C0E08C2F90E0CE -:10F1E000D11001C000E0800F911D019721F4E110C2 -:10F1F00007C0F11005C00E94F8C181EE92E308C07B -:10F2000017FD02C0D7FF0EC00E94F8C182EC92E346 -:10F21000DF91CF911F910F91FF90EF90DF90CF90F2 -:10F220000C9438C00E9462879B01AC01012F110F22 -:10F23000110BAD2FDD0FBB0BFF2099F085E0809FF8 -:10F24000F001819FF00D1124EA0FFB1FEE0FFF1F4D -:10F25000EE0FFF1FE752F74E60817181828193812B -:10F2600003C060E070E0CB01E5E0E09FE001E19FDA -:10F27000D00D1124CA0FDB1FCC0FDD1FCC0FDD1FFB -:10F28000C752D74E0F942214688379838A839B8355 -:10F29000DF91CF911F910F91FF90EF90DF90CF9072 -:10F2A0000895CF93C62F0E94E287882319F0CF914B -:10F2B0000C943A878C2FCF9108952F923F924F92C2 -:10F2C0005F926F927F928F929F92AF92BF92CF92F6 -:10F2D000DF92EF92FF920F931F93CF93DF93CDB7FF -:10F2E000DEB762970FB6F894DEBF0FBECDBF83E5E1 -:10F2F0000E949987882349F00E944E87182F811118 -:10F3000006C080E00E94BDBF02C01091740B8091C6 -:10F310005C0B90915D0BA0915E0BB0915F0B8983AC -:10F320009A83AB83BC838091600B9091610BA09119 -:10F33000620BB091630B8D839E83AF83B8878091FE -:10F34000640B9091650BA091660BB091670B898758 -:10F350009A87AB87BC8786E50E949987682E0E94B2 -:10F36000DCBF882309F4B1C083E40E949987882315 -:10F3700009F4B6C00E9462871B012C01712C812CFC -:10F3800068EC962E72ECA72EB12CC12C28EC2F879E -:10F3900032E4388B85E08D879D8591509D879F3F16 -:10F3A000D9F1E5E0EE8735E0399F900111243A8BE1 -:10F3B000298B3E8531503E873F3F71F3E989FA89B9 -:10F3C000E30FF11DEE0FFF1FEE0FFF1FE752F74E89 -:10F3D000D080E180F28003812B2D3C2D4F85588910 -:10F3E0006D2D7E2D8F2D902F0F941E0D87FF04C045 -:10F3F000BD2CCE2CFF86088B2D2D3E2D4F2D502F52 -:10F40000672D782D892D9A2D0F941E0D87FFD1CF52 -:10F410007D2C4701A02ECDCF272D382D492D5A2DDB -:10F420006B2D7C2D8F8598890F94221420E030E07D -:10F4300040E05FE30F94840DA20191010F94221428 -:10F440001B012C012DEB37E346E855EB0F94821698 -:10F4500087FD0AC02DEB37E346E855E3C201B10151 -:10F460000F941E0D1816E4F580E00E94BDBF05E064 -:10F4700045E0C42E0150A0F135E0D32EC09E5001CE -:10F480001124DA949FEFD916A9F37501ED0CF11C44 -:10F49000C701880F991F880F991FFC01E752F74E8B -:10F4A0007F01A201910160817181828193810F941A -:10F4B00021149B01AC01F7016083718382839383E4 -:10F4C0006D2D802F0E9490B6DCCF111102C06620F6 -:10F4D00099F00E94FCC184EA92E30E9438C018C0EF -:10F4E000662051F00E94DCBF882331F08EE892E361 -:10F4F0000E9438C00E940FC18AE50E949987882324 -:10F5000021F00E9462870E943A61812F0E94BDBF54 -:10F51000112351F08091740B811106C00E94F8C133 -:10F520008FE692E30E9438C00E94FCC181E692E31C -:10F530000E9438C08091740B811103C08CE197E068 -:10F5400002C080E297E00E9438C08AE00E943F4CEF -:10F550000E94FCC184E592E30E9438C0C090750B04 -:10F56000D090760BE090770BF090780B20E030E0B5 -:10F57000A901C701B6010F948216181644F442E09F -:10F58000C701B6010E94CF4C0E94444D04C08FE4D5 -:10F5900092E30E9438C04CE050E06CE57BE0CE0185 -:10F5A00001960F944117892BD1F062960FB6F8940B -:10F5B000DEBF0FBECDBFDF91CF911F910F91FF90A6 -:10F5C000EF90DF90CF90BF90AF909F908F907F9003 -:10F5D0006F905F904F903F902F900C94A8E16296AF -:10F5E0000FB6F894DEBF0FBECDBFDF91CF911F9154 -:10F5F0000F91FF90EF90DF90CF90BF90AF909F90D2 -:10F600008F907F906F905F904F903F902F900895D4 -:10F61000CF92DF92EF92FF92CF93DF93EC016A01DA -:10F620007B0127E137EB41ED58EBC701B6010F94A1 -:10F63000821687FD23C023E030E046E953E4C7018A -:10F64000B6010F941E0D1816CCF0C880D980EA8040 -:10F65000FB8027E137EB41ED58EBC701B6010F9472 -:10F66000821687FD0BC0C1E023E030E046E953E499 -:10F67000C701B6010F941E0D18160CF4C0E08C2FB4 -:10F68000DF91CF91FF90EF90DF90CF900895CF93CF -:10F69000DF9300D01F92CDB7DEB78091CB088823CF -:10F6A000A9F083E390E09C838B831A8219829E01E8 -:10F6B0002F5F3F4F40E150E06CEC78E0CE010396C5 -:10F6C0000E94EB4B83E497E00E944A4D0F900F900D -:10F6D0000F900F90DF91CF910895CF93DF9300D0DB -:10F6E0001F921F92CDB7DEB781E08093CB08ECEC80 -:10F6F000F8E080E1DF011D928A95E9F70E9447FB5F -:10F7000086E18D8382E390E09C838B831A82198249 -:10F710009E012F5F3F4F41E050E0BE016B5F7F4F86 -:10F72000CE0103960E94EB4B0F900F900F900F901D -:10F730000F90DF91CF9108951F920F920FB60F9205 -:10F7400011242F933F938F939F93AF93BF938091F7 -:10F75000E60A9091E70AA091E80AB091E90A30918F -:10F76000641D23E0230F2D3720F40196A11DB11D48 -:10F7700005C026E8230F0296A11DB11D2093641D2C -:10F780008093E60A9093E70AA093E80AB093E90A07 -:10F790008091EA0A9091EB0AA091EC0AB091ED0AEF -:10F7A0000196A11DB11D8093EA0A9093EB0AA093E4 -:10F7B000EC0AB093ED0ABF91AF919F918F913F9169 -:10F7C0002F910F900FBE0F901F901895CF93DF933E -:10F7D000CDB7DEB7A9970FB6F894DEBF0FBECDBF89 -:10F7E000789484B5826084BD84B5816084BD85B51C -:10F7F000826085BD85B5816085BD80916E00816028 -:10F8000080936E00109281008091810082608093CD -:10F8100081008091810081608093810080918000CF -:10F820008160809380008091B10084608093B100FA -:10F830008091B00081608093B000809191008260DF -:10F8400080939100809191008160809391008091DC -:10F8500090008160809390008091A10082608093ED -:10F86000A1008091A10081608093A1008091A000FF -:10F8700081608093A00080912101826080932101AA -:10F88000809121018160809321018091200181601C -:10F890008093200180917A00846080937A00809127 -:10F8A0007A00826080937A0080917A0081608093F0 -:10F8B0007A0080917A00806880937A001092C1006B -:10F8C0001092C0008091C00082608093C0001092AE -:10F8D000C50087E08093C4008091C100806180935F -:10F8E000C1008091C10088608093C1008091C100F7 -:10F8F00080688093C1000E94446782E59FE00E9477 -:10F9000038C00E94FCC114B710FF04C089E49FE016 -:10F910000E9438C011FF04C088E39FE00E9438C0F5 -:10F9200012FF04C086E29FE00E9438C013FF04C0AB -:10F9300085E19FE00E9438C015FF04C084E09FE08D -:10F940000E9438C014BE8DEF9EE00E9438C080E255 -:10F950000E943F4C84EF9EE00E9438C08AE00E94E3 -:10F960003F4C0E94FCC184EE9EE00E9438C089EDAD -:10F970009EE00E9438C08EEB9EE00E9438C00E943C -:10F98000FCC187EA9EE00E9438C00E94FCC18091C1 -:10F99000651D9091661D9E012F5F3F4F7901B90152 -:10F9A000009719F0681B790B02C06B567D4188E9FE -:10F9B0009EE00E94D8C160E475E081E89EE00E946C -:10F9C000D8C18AE00E943F4C80910A018E7F8093CB -:10F9D0000A0180910B018095817080930901E0916B -:10F9E0007619F091771982E08083E0917219F09195 -:10F9F00073191082E0917419F091751980E1808378 -:10FA000010927E19E0917A19F0917B1986E080833B -:10FA1000E0917819F0917919808180618083E0917B -:10FA20007819F0917919808188608083E091781944 -:10FA3000F0917919808180688083E0917819F09144 -:10FA4000791980818F7D80838AE58093011B809363 -:10FA5000B11A85EA8093021B8093B21A8AE1E0E52D -:10FA6000FBE1DF011D928A95E9F780E290E0A0E0DA -:10FA7000B0E08093080290930902A0930A02B09329 -:10FA80000B028091C808882319F083E090E002C03F -:10FA900082E090E090930D1B80930C1B85E0809397 -:10FAA000001B82E88093031B8FE190E1A0E0B0E0AF -:10FAB0008093041B9093051BA093061BB093071B18 -:10FAC0000E94B8E984E690E090930D1B80930C1B94 -:10FAD00005E00093001B12E81093031B86E090E101 -:10FAE000A0E0B0E08093041B9093051BA093061B3D -:10FAF000B093071B0E94B8E98BE090E090930D1B38 -:10FB000080930C1B0093001B1093031B80E092E179 -:10FB1000A0E0B0E08093041B9093051BA093061B0C -:10FB2000B093071B0E94B8E910920D1B10920C1B9A -:10FB30000093001B1093031B84E390E1A0E0B0E06E -:10FB40008093041B9093051BA093061BB093071B87 -:10FB50000E94B8E910920D1B10920C1B0093001B21 -:10FB60001093031B8AE390E1A0E0B0E08093041BB4 -:10FB70009093051BA093061BB093071B0E94B8E946 -:10FB800060919E0870919F088091A0089091A108B3 -:10FB90000F948E1570930D1B60930C1B0093001B2C -:10FBA0001093031B86E390E1A0E0B0E08093041B78 -:10FBB0009093051BA093061BB093071B0E94B8E906 -:10FBC0006091B5087091B6088091B7089091B80817 -:10FBD0000F948E1570930D1B60930C1B0093001BEC -:10FBE0001093031B8CE390E1A0E0B0E08093041B32 -:10FBF0009093051BA093061BB093071B0E94B8E9C6 -:10FC000082E090E090930D1B80930C1B0093001BEF -:10FC10001093031B8EE190E1A0E0B0E08093041B01 -:10FC20009093051BA093061BB093071B0E94B8E995 -:10FC300081E080930702B0E68B2EB0E19B2EA12CD1 -:10FC4000B12C15E0C12E02E8D02E10920D1B10929F -:10FC50000C1B05E0C092001B12E8D092031B80929F -:10FC6000041B9092051BA092061BB092071B0E94DA -:10FC7000B8E9BFEF8B1A9B0AAB0ABB0AE4E78E1602 -:10FC8000E0E19E06A104B10401F784E1D7011D92D1 -:10FC90008A95E9F781E08F9390E99F938F939CE297 -:10FCA0009F938F939F938CE296E09F938F93FF9205 -:10FCB000EF920F94AF1740E650E160E070E089E307 -:10FCC00096E00E9467E94AE650E160E070E083E474 -:10FCD00096E00E9467E944E750E160E070E0C70108 -:10FCE0000E9467E94EE750E160E070E088EE94E042 -:10FCF0000E9467E910920D1B10920C1B0093001BD1 -:10FD00001093031B8EE090E1A0E0B0E08093041B11 -:10FD10009093051BA093061BB093071B0E94B8E9A4 -:10FD200010920D1B10920C1B0093001B1093031BD1 -:10FD30008FE090E1A0E0B0E08093041B9093051B5E -:10FD4000A093061BB093071B0E94B8E9EDB7FEB75E -:10FD50003A960FB6F894FEBF0FBEEDBFAAE08A2E0A -:10FD6000A0E29A2EA12CB12C15E002E8412C512CD6 -:10FD7000320110920D1B10920C1B1093001B00936C -:10FD8000031BD301C201880D991DAA1DBB1D8093C1 -:10FD9000041B9093051BA093061BB093071B0E94A6 -:10FDA000B8E9FFEF4F1A5F0A6F0A7F0A2AE042168E -:10FDB000510461047104E9F63AE0830E911CA11C20 -:10FDC000B11C42ED841640E29406A104B10471F620 -:10FDD000812CF0E29F2EA12CB12C05E012E81092AC -:10FDE0000D1B10920C1B0093001B1093031B8092A1 -:10FDF000041B9092051BA092061BB092071B0E9449 -:10FE0000B8E910920D1B10920C1B0093001B10936D -:10FE1000031BD501C4018C529F4FAF4FBF4F80933E -:10FE2000041B9093051BA093061BB093071B0E9415 -:10FE3000B8E95FEF851A950AA50AB50A8AE088161F -:10FE400080E29806A104B10451F6EEED8E2EE0E2B8 -:10FE50009E2EA12CB12C05E012E810920D1B1092E1 -:10FE60000C1B0093001B1093031B8092041B9092A9 -:10FE7000051BA092061BB092071B0E94B8E99FEFDA -:10FE8000891A990AA90AB90AA6EE8A16A0E29A0660 -:10FE9000A104B10411F78824839462E1962EA12C69 -:10FEA000B12C7AE0C72ED12C05E012E8D0920D1BC0 -:10FEB000C0920C1B0093001B1093031B8092041B29 -:10FEC0009092051BA092061BB092071B0E94B8E9F6 -:10FED000D0920D1BC0920C1B0093001B1093031BB0 -:10FEE000D501C4018096A11DB11D8093041B909380 -:10FEF000051BA093061BB093071B0E94B8E9BFEF38 -:10FF00008B1A9B0AAB0ABB0AE5E18E16E2E19E065C -:10FF1000A104B10459F687E596E00E944A4D0E947B -:10FF200043D40E94984B40EEC42E48E0D42E0CE5FA -:10FF30001BE058E6A52E5BE0B52ED6012D913D9134 -:10FF40004D915D916D01F801608171818281938194 -:10FF50000F942214D8016D937D938D939D938D0101 -:10FF6000AA16BB0651F70E94A6E1249A2C9880910C -:10FF7000010180628093010180910201807280936F -:10FF80000001809101018064809301018091010151 -:10FF900080618093010187ED80937A0010927E004A -:10FFA00010927D0080917D00806280937D00809121 -:10FFB0007D00806480937D0080E888BD80916E0024 -:10FFC000846080936E006AEF70E080E090E00E94B1 -:10FFD0000A6785E090E090931302809312020091EB -:10FFE0000E0210910F0260E0C8010E945FF220E053 -:10FFF00030E040EA50E40F941E0D87FF07C0005127 -:020000022000DC -:10000000110910930F0200930E02E9CF8BE391E0E8 -:100010009093150280931402009110021091110226 -:1000200060E0C8010E945FF220E030E84DE953E44F -:100030000F94821618163CF4005F1F4F10931102A4 -:1000400000931002E9CF00910C0210910D02C8013B -:100050000E94C6F120E030E040EA50E40F941E0D0B -:1000600087FF07C00051110910930D0200930C0285 -:10007000EACF0091C9081091CA08C8010E94C6F1D0 -:1000800020E030E046E153E40F94821618163CF469 -:10009000005F1F4F1093CA080093C908EACF0E945F -:1000A000A3D219A682E390E09AA389A31A821982A7 -:1000B0001E01B1E22B0E311C01E0970141E050E03E -:1000C000BE01675D7F4FC1010E94AE4B89A586319D -:1000D00019F00E946DFB0FC083E390E09AA389A3FF -:1000E0001A82198201E0970140E150E06CEC78E05F -:1000F000C1010E94AE4B81E08093CB086D98759A48 -:10010000809104018D7F8093040180910501809589 -:1001100082708093030153985B9A1092DD081092CD -:10012000DC080E94D5E2819A879A80910A01826058 -:1001300080930A010E9A3B9A579A5F9A829A8A9AFA -:10014000809107018160809307018091080180956B -:100150008170809306010A9A129A3F9A479A809A70 -:1001600088985F9A809164198E7F80936419869A2B -:100170008E988A9A809164198D7F809364198091FA -:100180000A01886080930A0180910B018870809336 -:10019000090180910801809581708093060180910A -:1001A00064198B7F809364190C9A1498129A399A67 -:1001B0004198479A809180008C7F80938000809145 -:1001C0008100877E886080938100809180008F739A -:1001D0008093800080918100887F8260809381007D -:1001E00080E090E4909389008093880010928500CD -:1001F0001092840080916F00826080936F007894E9 -:1002000086E08093DE080E94C56798E288E10FB619 -:10021000F894A895809360000FBE909360001092B0 -:10022000971B0E949556FE0131965F0180E00E9467 -:100230006B4D8091971B87FD41C08091B01C82FD62 -:100240003DC083FD03C00E94375702C00E94984BF7 -:100250008091B01C83FF2FC08091971B082E000C4B -:10026000990BC0969F938F9329E53FE03F932F937F -:100270003F922F920F94B60C8CE59AE10E940D9E4E -:100280000F900F900F900F900F900F9080915F1A2A -:10029000823088F08091641A9091651AA091661A54 -:1002A000B091671A8F719927AA27BB27892B8A2BB0 -:1002B0008B2B09F466C1FFEFF093971B8091B01C64 -:1002C00085FF1EC00E94C6561092700A1092EC085C -:1002D00010926F0A0E9448D90E945ED70E94036262 -:1002E0000E94A6E10E9479700E94429B0E94A44B4A -:1002F000109216022BEA3FE03093EE082093ED08AF -:100300008DB69EB66091ED087091EE08611571058D -:1003100081F0E12CF12CFB01EE0DFF1D74908701A3 -:100320000F5F1F4F772039F03AE0731621F0780104 -:10033000F2CF80E02CC0EDB7FEB7E01BF10B0FB69B -:10034000F894FEBF0FBEEDBF2DB73EB72F5F3F4FF6 -:100350006901A701C9010F94580CF601EE0DFF1DAC -:100360001082772009F445C18091ED089091EE0844 -:10037000080F191F1093EE080093ED08EF2831F0D5 -:10038000C6010E9495C680E00E94BE3581E00FB68E -:10039000F8949EBE0FBE8DBE8111C3C08091700ABD -:1003A000882309F4BEC08091B01C80FFA4C00091D6 -:1003B0006F0A40E6409F800111240151174F6CE8FD -:1003C0007FE0C8010F949C0C009769F0DC01139644 -:1003D0008C9180538A3038F00E944B6289E79FE00D -:1003E0000E9438C08BC0F80101900020E9F73197D6 -:1003F0007F01E01AF10A1092031A6EE470E0C8015E -:100400000F9475176C01892B09F400C160E270E04C -:10041000C6010F9475178C010F5F1F4F6AE270E0E1 -:10042000C6010F947517FC013197BDE0B1832AE036 -:1004300022831382F80101900020E9F731977F01B0 -:10044000E01AF10A8091061A813009F0DBC0809130 -:10045000041A81FFD7C082FF16C04091141A509130 -:10046000151A6091161A7091171A80910B1A9091B3 -:100470000C1AA0910D1AB0910E1A84179507A607B1 -:10048000B70709F0B9C040910B1A50910C1A60914E -:100490000D1A70910E1AE114F10409F0BEC080919A -:1004A000141A9091151AA091161AB091171A841760 -:1004B0009507A607B70768F44093141A5093151AC6 -:1004C0006093161A7093171A8091041A80688093AB -:1004D000041A8091041A83FDB0C18091031A882305 -:1004E00031F00E94F8C182E69FE00E9438C08091FE -:1004F000B01C81FF03C00E9453CD02C00E949EC564 -:100500008091700A882369F081508093700A8091ED -:100510006F0A8F5F843018F480936F0A02C01092C4 -:100520006F0A8091710A882339F19091710A809144 -:10053000720A981709F10E94FCC18CE99FE00E94A1 -:1005400038C08091710A80FD7FC18091710A84FD5D -:100550007BC18091710A81FD81C18091710A85FD05 -:100560007DC18091710A82FD83C18091710A86FDEF -:100570007FC18AE00E943F4C8091710A8093720A89 -:1005800055CE40E050E0B5018CE59AE10E94CFA045 -:1005900018160CF090CEF50101900020E9F7319784 -:1005A000FE2EFA18FA945FEFF51669F085010F0D2B -:1005B000111DF7FC1A95D8018C9190E00F94391712 -:1005C000F8018083EFCF8A858E3709F45FCE45E04E -:1005D00050E0B101C5010F948717892B09F056CE61 -:1005E000C1010E94DF568091971B8F5F8093971BFC -:1005F00065CE00E010E0BECE83E09AE10E94CE9B83 -:10060000811141CFA1E0A093031A67CF31E0E31A33 -:10061000F108F801EE0DFF1D08CF80911C1A909192 -:100620001D1ADC0114967C902FEF270D2A013B0147 -:1006300039E076946794579447943A95D1F7722E9F -:1006400074206A01B1E0DB2271104CC0C114D104E6 -:1006500009F048C04091071A5091081A6091091A90 -:1006600070910A1A411551056105710569F480916F -:10067000181A9091191AA0911A1AB0911B1A009782 -:10068000A105B10539F51FC095010E94455C88237D -:1006900009F4B8CF89819A81AB81BC81E0911C1AA1 -:1006A000F0911D1A2789203139F4883FEFEF9E071A -:1006B000A105B10540F40EC0883FFFEF9F07AF07CB -:1006C000FFE0BF0738F083E09AE10E94089D8111A6 -:1006D00009C098CF8093071A9093081AA093091A1B -:1006E000B0930A1A80E092E08C199D0947018E159B -:1006F0009F0508F44C01E0911C1AF0911D1A80919D -:10070000071A9091081AA091091AB0910A1A029733 -:10071000A109B109058404C0880F991FAA1FBB1F36 -:100720000A94D2F74685578560897189840F951F91 -:10073000A61FB71F9C01AD01270D311D411D511D85 -:1007400029013A01811432E0930631F58091790D47 -:1007500090917A0DA0917B0DB0917C0D48165906B1 -:100760006A067B0669F41092810D8FEF9FEFDC0122 -:100770008093790D90937A0DA0937B0DB0937C0DAF -:100780009801B301A2018091820D9091830D0E9486 -:10079000649E811139C036CFC114D10431F5409126 -:1007A0000B1A50910C1A60910D1A70910E1A8091CB -:1007B000141A9091151AA091161AB091171A481789 -:1007C00059076A077B0788F00E94C79E882309F4AF -:1007D00019CF91E09093810D4092790D50927A0D4E -:1007E00060927B0D70927C0D08C041E0C301B201A4 -:1007F0000E947A5B882309F405CFA401B801C601E1 -:100800008758944F0F944E1780910B1A90910C1AA1 -:10081000A0910D1AB0910E1A880D991DA11DB11D40 -:1008200080930B1A90930C1AA0930D1AB0930E1A82 -:10083000080D191DE818F90826CE83E09AE10E94F8 -:10084000079F81114ACEDECE80E00E941BD9AB010A -:10085000BC0188E99FE00E94C7C17BCE81E00E9475 -:100860001BD9AB01BC0184E99FE00E94C7C179CECE -:1008700082E00E941BD9AB01BC0180E99FE00E948D -:10088000C7C177CECF93DF9383E09AE10E94439F65 -:10089000C6EADCE16B97CE010E94439F8BE1C83929 -:1008A000D807C1F781E49AE10E94439F8CE59AE161 -:1008B000DF91CF910C94439FCF93C82F80915B0B16 -:1008C0008C1721F061E08C2F0E94D594C0935B0BB4 -:1008D000CF91089586E40E949987809372178823A8 -:1008E00051F00E94628760932D0270932E028093D4 -:1008F0002F029093300283E50E949987882351F05C -:100900000E9462876093290270932A0280932B02CF -:1009100090932C0282E40E949987882351F00E94D0 -:10092000628760932502709326028093270290933A -:1009300028020895CF92DF92EF92FF926B017C0123 -:10094000842F0F945C0480E090E0A0E8BFE38093E4 -:100950005D0290935E02A0935F02B093600280916B -:10096000651981FF0E940C86C092060BD092070B7E -:10097000E092080BF092090B8091651982608093D8 -:100980006519FF90EF90DF90CF900895CF92DF929E -:10099000EF92FF92CF93E0915B0BE150E53028F4AA -:1009A000F0E0ED50FD4FC08101C0C0E00F945C0449 -:1009B0008091651981FF09C0C090060BD090070B8C -:1009C000E090080BF090090B08C0C090680BD09025 -:1009D000690BE0906A0BF0906B0B8C2F0F945C040A -:1009E000C701B601CF91FF90EF90DF90CF900895AF -:1009F0000E9443D41092AF18109216020E9407BFB3 -:100A0000882321F08091B01C82FF07C061E083ED54 -:100A10009AE20E9447C00C9434718AED9AE2909356 -:100A2000EE088093ED08F2CF4F925F926F927F9223 -:100A30008F929F92AF92BF92DF92EF92FF920F93AD -:100A40001F93CF93DF93D82EC82FD0E0FE01EB5A2F -:100A5000F44D64917E01EE0CFF1CEE0CFF1CF701BF -:100A6000E75BF44D4590559065907490062E000C10 -:100A7000770B880B990B0F94250D4B015C0120E03F -:100A800030E040EC5FE3C301B2010F94840DA50197 -:100A900094010F94840DAB01BC0100E010E09801BB -:100AA0008D2D0F94DE05F701E35CF44D2591359112 -:100AB00045915491C501B4010F94840D4B015C0123 -:100AC00020E030E0A9010F941E0D882309F437C0FF -:100AD00000E010E09801B501A40170588D2D0F942D -:100AE000DE05FE01E65CF44D6491611107C00E94D1 -:100AF000FCC188E19BE20E9438C06AE0F701E45F34 -:100B0000F44D459055906590749070E080E090E0D1 -:100B10000F94250D9B01AC01C301B2010F941C156C -:100B20002B013C01A5019401C501B4010F942214CD -:100B3000AB01BC01930182018D2D0F94DE0581E094 -:100B400090E001C0880FDA94EAF790916419982B2D -:100B50009093641990910A0B892B80930A0BF701EB -:100B6000E050F54D85919591A591B491E701C45A56 -:100B7000D44F88839983AA83BB8310926319109200 -:100B800062190E94A6E1F701E650F54F888199812C -:100B9000AA81BB8180839183A283B383DF91CF91AC -:100BA0001F910F91FF90EF90DF90BF90AF909F90BB -:100BB0008F907F906F905F904F9008952F923F920B -:100BC0004F925F926F927F929F92AF92BF92CF921D -:100BD000DF92EF92FF920F931F93CF93DF93CDB7E6 -:100BE000DEB768970FB6F894DEBF0FBECDBF1A010F -:100BF0002B01922EF32EC82ED12CF601EB5AF44D78 -:100C0000E491AA24A3941E160CF4A12CBB24B39443 -:100C100020E030E0A901C201B1010F94821618163C -:100C20000CF0B12C80E00E94DCD869837A838B833E -:100C30009C8381E00E94DCD86D837E838F839887BC -:100C400082E00E94DCD869877A878B879C8783E063 -:100C50000E94DCD86D877E878F87988BCC0CDD1C3B -:100C6000CC0CDD1C66246394712C6C0E7D1E6C0C08 -:100C70007D1CF30110821182128213829E01235F78 -:100C80003F4FAE01475F5F4FBE016B5F7F4FCE01AD -:100C900001960E94CBD7F301208231824282538297 -:100CA0001D8A1E8A1F8A188EE0905B0B20E030E0C0 -:100CB000A901B801892D9F2D0F941E0D81110AC025 -:100CC000F601E45FF44D85919591A591B4918C0165 -:100CD0009A2EFB2EC801A92DBF2D898B9A8BAB8B29 -:100CE000BC8B8091751790917617892B91F4CE016A -:100CF00045966C018E010F5E1F4F9E01235F3F4F93 -:100D0000AE01475F5F4FBE016B5F7F4F44970E940C -:100D1000BE710E945ED7AB100F94E50768960FB6C0 -:100D2000F894DEBF0FBECDBFDF91CF911F910F9121 -:100D3000FF90EF90DF90CF90BF90AF909F907F900B -:100D40006F905F904F903F902F9008951092691987 -:100D50001092681988EE93E0A0E0B0E080936A19E1 -:100D600090936B19A0936C19B0936D198CE893E074 -:100D7000909367198093661985ED90E090937319AD -:100D80008093721984ED90E0909375198093741993 -:100D900080ED90E0909377198093761981ED90E043 -:100DA000909379198093781982ED90E090937B1954 -:100DB00080937A1986ED90E090937D1980937C1949 -:100DC00010927F1910928019109281191092821935 -:100DD00010925C1A10925F1A1092411A1092441AE3 -:100DE000E8E9FBE1108213827B962CE1E63AF207F8 -:100DF000C9F789E180933D1A1092401A1092351A72 -:100E00001092031A1092061A80E1E0EAFAE1DF017B -:100E1000282F1D922A95E9F7E0E9FAE1DF01282F52 -:100E20001D922A95E9F7E0E8FAE1DF011D928A9523 -:100E3000E9F710927C1A10927D1A10927E1A109285 -:100E40007F1A10927B1A10927A1A1092791A1092C5 -:100E5000781A1092771A8AE58093011B8093B11A51 -:100E600085EA8093021B8093B21A8AE1E0E5FBE1F8 -:100E7000DF011D928A95E9F781E080936A1B8093D8 -:100E80006B1B80936C1B80936D1B80936E1B80E0AB -:100E900090E0A0EAB0E48093831B9093841BA0931E -:100EA000851BB093861B80E090E0AAE9B2E48093B2 -:100EB000871B9093881BA093891BB0938A1B80E0AB -:100EC00090E0A5E1B3E480938B1B90938C1BA093DF -:100ED0008D1BB0938E1B40E050E06DE573E44093B2 -:100EE0008F1B5093901B6093911B7093921B40E05B -:100EF00050E862E973E44093931B5093941B609312 -:100F0000951B7093961B40E050E068EC71E44093B1 -:100F10006F1B5093701B6093711B7093721B40E0AA -:100F200050E06EEA72E44093731B5093741B60931D -:100F3000751B7093761B8093771B9093781BA093FF -:100F4000791BB0937A1B80E090E0A3E5B3E4809333 -:100F50007B1B90937C1BA0937D1BB0937E1B80E03A -:100F600090E8A8E8B3E480937F1B9093801BA09344 -:100F7000811BB093821B0E949ABF8091B01C847F1A -:100F80008B7F8093B01C1092AC1C1092AD1C109201 -:100F9000AE1C1092AF1C1092A81C1092A91C1092AB -:100FA000AA1C1092AB1C1092A71C1092A61C8EE0DB -:100FB00091E0E8E9FBE1DF019C011D922150304006 -:100FC000E1F78FEF8093971B08958091710A882332 -:100FD00019F01092710A089587EF9FE20E945EEA6D -:100FE0000E943F4C83EB92E30C9438C0EF920F9336 -:100FF0001F93CF93DF93E80147FD02C034E001C0A7 -:1010000034E1042E000C550B57FF03C05195419558 -:101010005109E32E022F242FAE010F94FB0FCE01B6 -:10102000DF91CF911F910F91EF9008958F929F9232 -:10103000AF92BF92CF92DF92EF92FF92CF93DF9366 -:10104000EC01688179818A819B8161157105810537 -:10105000910521F464E279ED8BE597E02DE133EF22 -:1010600041E050E00F94961349015A019B01AC01F5 -:10107000A7EAB1E40F94B5136B017C01ACEEB4EFB9 -:10108000A50194010F94C313DC01CB018C0D9D1DB0 -:10109000AE1DBF1DB7FF03C00197A109B0488883EB -:1010A0009983AA83BB83BC01CD019F77DF91CF9148 -:1010B000FF90EF90DF90CF90BF90AF909F908F9078 -:1010C00008958F929F92AF92BF92CF92DF92EF924C -:1010D000FF9260916F027091700280917102909105 -:1010E0007202611571058105910521F464E279EDC3 -:1010F0008BE597E02DE133EF41E050E00F9496133C -:1011000049015A019B01AC01A7EAB1E40F94B51360 -:101110006B017C01ACEEB4EFA50194010F94C313F5 -:10112000DC01CB018C0D9D1DAE1DBF1DB7FF03C0A3 -:101130000197A109B04880936F0290937002A09329 -:101140007102B0937202BC01CD019F77FF90EF90C6 -:10115000DF90CF90BF90AF909F908F900895609355 -:101160006F027093700280937102909372020895DF -:101170008F929F92AF92BF92CF92DF92EF92FF92A7 -:101180000F931F93CF93DF93EC016B0161157105F2 -:1011900019F0FB01918380837E01FFEFEF1AFF0AB4 -:1011A0000881802F90E00F944F0C892B11F0E701FC -:1011B000F3CF0D3239F47E0182E0E80EF11C098193 -:1011C00011E008C00B3229F47E0192E0E90EF11C17 -:1011D000098110E0E701219743E050E068EF73E0F8 -:1011E000CE010F94750C892BC1F4239645E050E095 -:1011F00063EF73E0CE010F94750C892B09F42596EB -:10120000C114D10419F0F601D183C0831111F6C0C5 -:1012100060E070E080E89FE7FAC043E050E060EFF4 -:1012200073E0CE010F94750C892B59F4C114D104CD -:1012300009F4E9C0F2E0EF0EF11CF601F182E08260 -:10124000E2C020E030E0A901C0E0D0E0F70160EDAD -:10125000A62EA00E89E08A1530F1912F9260B92E4A -:10126000812F887012FF04C0811124C0219622C0F2 -:1012700081112197A5E0B0E00F94B513DC01CB01FB -:10128000880F991FAA1FBB1F9C01AD012A0D311D9C -:10129000411D511D283989E93807480789E1580758 -:1012A00048F0166006C09EEFA9120AC013FD40C0A8 -:1012B0001860B12E8FEFE81AF80A00811B2DC6CFF7 -:1012C000802F8F7D8534A1F580818D3211F41061DE -:1012D00006C08B3221F0319661E070E004C081815C -:1012E000329662E070E080538A3018F0E61BF70B0C -:1012F0001FC060E070E060389CE079075CF4DB01BF -:10130000AA0FBB1FAA0FBB1F6A0F7B1F660F771F99 -:10131000680F711D3196DF0111978C9180538A30CF -:1013200050F314FF03C0719561957109C60FD71F63 -:1013300011FF08C0C114D10429F0CF010197F601B3 -:1013400091838083CA01B9010F94230D212F23704B -:10135000233019F04B015C0106C04B015C01B7FA68 -:10136000B094B7F8B09420E030E0A901C501B40111 -:101370000F941E0D882309F43EC0D7FF06C0D195F7 -:10138000C195D1090FE014E002C007E214E0680142 -:10139000F8E1CF1AD10890E2E92EF12CCE15DF0545 -:1013A00074F0F8012591359145915491C501B4012E -:1013B0000F94840D4B015C01CE19DF09EFCF04506F -:1013C0001109F594E7940C151D0541F78A2D880F36 -:1013D0008B2D881F8F3F49F020E030E0A901C50127 -:1013E000B4010F941E0D811106C082E290E090932B -:1013F0006A1D8093691DC501B40109C060E070E0F9 -:1014000080E89FEF04C060E070E080EC9FE7DF9130 -:10141000CF911F910F91FF90EF90DF90CF90BF90F1 -:10142000AF909F908F9008953F924F925F926F92EE -:101430007F928F929F92AF92BF92CF92DF92EF9264 -:10144000FF920F931F93CF93DF935C016B017A019F -:101450006115710519F0FB0191838083E114F1049A -:1014600029F0C7010297839708F0E5C0E5012196AE -:10147000F5011081812F90E00F944F0C892B11F012 -:101480005E01F4CF1D3229F42196F501118101E0AE -:1014900007C01B3221F4E5012296F501118100E01D -:1014A000E114F10409F1F0E1EF16F10429F43FC071 -:1014B00010E3E114F10421F128E0E216F10401F156 -:1014C00054F4E2E0EE16F10421F5812C912CA12CCC -:1014D000B0E4BB2E3EC0FAE0EF16F10439F020E193 -:1014E000E216F104B1F430C0103319F1FAE0EF2E36 -:1014F000F12CACEC8A2E982CA82CACE0BA2E29C08A -:1015000078E0E72EF12C812C912CA12CE0E1BE2E6D -:1015100020C060E070E080E090E897010F2C000CA4 -:10152000440B550B0F94741349015A0112C0103328 -:1015300059F488818F7D883509F0BACF19812296B8 -:10154000026080E1E82EF12C812C912CA12C68E026 -:10155000B62E40E060E070E0CB0127010F2C000CBC -:1015600066087708FE0150ED352E310E29E023156F -:1015700070F42FEB210F2A3118F439EC332E06C00A -:101580002FE9210F2A3118F529EA322E310E232DA9 -:1015900030E02E153F05DCF447FD16C08616970691 -:1015A000A806B90670F0A30192010F946413630DAD -:1015B000711D811D911D61307105810520E8920723 -:1015C00010F04FEF01C041E021961081CBCF202FCA -:1015D0002170C114D10471F0442329F02197F60140 -:1015E000D183C08307C001FF19C02297F601D183C0 -:1015F000C08314C047FF12C0222329F060E070E0CE -:1016000080E090E804C06FEF7FEF8FEF9FE722E26A -:1016100030E030936A1D2093691D09C0222381F0B8 -:1016200090958095709561957F4F8F4F9F4F462F76 -:10163000372F282F12C040E030E020E090E00DC0AE -:1016400097FFF5CF82E290E090936A1D8093691D29 -:101650006FEF7FEF8FEF9FE7EACF642F732F822F1B -:10166000DF91CF911F910F91FF90EF90DF90CF907E -:10167000BF90AF909F908F907F906F905F904F90B2 -:101680003F9008953F924F925F926F927F928F9218 -:101690009F92AF92BF92CF92DF92EF92FF920F9301 -:1016A0001F93CF93DF935C016B017A016115710584 -:1016B00019F0FB0191838083E114F10429F0C70143 -:1016C0000297839708F0C9C0E5012196F5011081C2 -:1016D000812F90E00F944F0C892B11F05E01F4CF15 -:1016E0001D3229F42196F501118101E007C01B325A -:1016F00021F4E5012296F501118100E0E114F104E5 -:10170000B1F0F0E1EF16F10429F4B0C010E3E114F8 -:10171000F10401F12AE0E216F104B1F180E1E816EA -:10172000F10471F0E8E0EE16F104F1F413C01033A7 -:1017300041F588818F7D883549F7198122960260AD -:10174000F0E1EF2EF12C88248A94982CA82CAFE09D -:10175000BA2E20C078E0E72EF12C88248A94982CA9 -:10176000A82CEFE1BE2E16C06FEF7FEFCB019701E3 -:101770000F2C000C440B550B0F94741349015A01A4 -:1017800009C08AE0E82EF12C69E9862E982CA82C55 -:1017900069E1B62E40E060E070E0CB0127010F2C3C -:1017A000000C66087708FE0150ED352E310E29E059 -:1017B000231570F42FEB210F2A3118F439EC332E56 -:1017C00006C02FE9210F2A3130F529EA322E310ED9 -:1017D000232D30E02E153F05F4F44F3FC9F0861657 -:1017E0009706A806B90688F0A30192010F94641326 -:1017F000232D30E040E050E0620F731F841F951FDF -:10180000621773078407950710F44FEF01C041E09A -:1018100021961081C8CFC114D10451F0442311F096 -:10182000219703C001FF04C02297F601D183C08332 -:1018300000FF07C090958095709561957F4F8F4F01 -:101840009F4F4F3F79F482E290E090936A1D80931E -:10185000691D3FEF2FEF9FEF0DC040E030E020E02B -:1018600090E008C0462F372F282F04C0103309F00E -:1018700067CF5FCF642F732F822FDF91CF911F919E -:101880000F91FF90EF90DF90CF90BF90AF909F901F -:101890008F907F906F905F904F903F90089591113F -:1018A0000D944A12803219F089508550C8F7089576 -:1018B000FB01DC0102C005900D9241505040D8F769 -:1018C0000895FC010590061621F00020D9F7C0010B -:1018D00008953197CF010895FC0105900020E9F7A4 -:1018E000809590958E0F9F1F0895FB01DC0141505C -:1018F000504088F08D9181341CF08B350CF4805E63 -:10190000659161341CF06B350CF4605E861B6111CF -:1019100071F3990B0895881BFCCFFB01DC0141504A -:10192000504048F005900D920020C9F701C01D926B -:1019300041505040E0F70895FB0155915523A9F01F -:10194000BF01DC014D9145174111E1F759F4CD017B -:101950000590002049F04D9140154111C9F3FB015C -:101960004111EFCF81E090E0019708950F931F930D -:10197000CF93DF93CDB7DEB72E970FB6F894DEBFC7 -:101980000FBECDBF0E891F898EE08C831A83098319 -:101990008FEF9FE79E838D83AE01465E5F4F688D1C -:1019A000798DCE0101960F94F10DEF81F885E00F4E -:1019B000F11F10822E960FB6F894DEBF0FBECDBF7A -:1019C000DF91CF911F910F9108950F931F93CF93A4 -:1019D000DF93CDB7DEB72E970FB6F894DEBF0FBEFC -:1019E000CDBF8C01FA018EE08C831A83098377FFC7 -:1019F00002C060E070E8CB0101979E838D83A9014E -:101A0000BF01CE0101960F94F10D4D815E8157FD0E -:101A10000AC02F813885421753070CF49A01F80148 -:101A2000E20FF31F10822E960FB6F894DEBF0FBEA2 -:101A3000CDBFDF91CF911F910F9108950F94600D4D -:101A400008F481E00895E89409C097FB3EF490956E -:101A50008095709561957F4F8F4F9F4F9923A9F087 -:101A6000F92F96E9BB279395F69587957795679516 -:101A7000B795F111F8CFFAF4BB0F11F460FF1BC05A -:101A80006F5F7F4F8F4F9F4F16C0882311F096E9ED -:101A900011C0772321F09EE8872F762F05C066239B -:101AA00071F096E8862F70E060E02AF09A95660F54 -:101AB000771F881FDAF7880F9695879597F908950D -:101AC000990F0008550FAA0BE0E8FEEF161617064F -:101AD000E807F907C0F012161306E407F50798F0B7 -:101AE000621B730B840B950B39F40A2661F0232BD0 -:101AF000242B252B21F408950A2609F4A140A6954C -:101B00008FEF811D811D08950F94970D0D9414136F -:101B10000F94061338F00F940D1320F0952311F055 -:101B20000D94FD120D94031311240D9448130F947A -:101B3000251370F3959FC1F3950F50E0551F629FD9 -:101B4000F001729FBB27F00DB11D639FAA27F00D16 -:101B5000B11DAA1F649F6627B00DA11D661F829F3D -:101B60002227B00DA11D621F739FB00DA11D621F22 -:101B7000839FA00D611D221F749F3327A00D611D3F -:101B8000231F849F600D211D822F762F6A2F112421 -:101B90009F5750409AF0F1F088234AF0EE0FFF1F54 -:101BA000BB1F661F771F881F91505040A9F79E3FAB -:101BB000510580F00D94FD120D9448135F3FE4F33E -:101BC000983ED4F3869577956795B795F795E79501 -:101BD0009F5FC1F7FE2B880F911D9695879597F90A -:101BE00008952F923F924F925F926F927F928F92C1 -:101BF0009F92AF92BF92CF92DF92EF92FF920F939C -:101C00001F93CF93DF93CDB7DEB72B970FB6F89422 -:101C1000DEBF0FBECDBF6C017B018A01FC011782C4 -:101C20001682838181FFCCC1CE0101963C01F60171 -:101C30009381F70193FD859193FF81917F01882323 -:101C400009F4BAC1853239F493FD859193FF8191EE -:101C50007F01853229F4B60190E00F946312E7CF3B -:101C6000912C212C312CFFE1F315D8F08B3279F037 -:101C700038F4803279F08332A1F4232D20611DC025 -:101C80008D3261F0803369F4232D216016C0832DDD -:101C90008260382EE32DE4603E2E2AC0F32DF860DA -:101CA0001DC037FC2DC020ED280F2A3040F08E32A9 -:101CB000B9F436FC81C1232D2064322E19C036FEC2 -:101CC00006C08AE0989E200D1124922E11C0EAE0F1 -:101CD0002E9E200D1124222EF32DF0623F2E08C0DF -:101CE0008C3621F4832D8068382E02C0883641F46A -:101CF000F70193FD859193FF81917F018111B3CF0E -:101D0000982F9F7D9554933028F40C5F1F4F9FE3CD -:101D100099830DC0833631F0833771F0833509F034 -:101D200059C021C0F801808189830E5F1F4F88242C -:101D30008394912C530113C02801F2E04F0E511CE3 -:101D4000F801A080B18036FE03C0692D70E002C0AA -:101D50006FEF7FEFC5010F9458124C018201F32DF4 -:101D6000FF773F2E16C0280122E0420E511CF801D9 -:101D7000A080B18036FE03C0692D70E002C06FEF15 -:101D80007FEFC5010F944D124C01F32DF0683F2EEB -:101D9000820133FC1BC0822D90E088169906B0F4B6 -:101DA000B60180E290E00F9463122A94F4CFF5011B -:101DB00037FC859137FE81915F01B60190E00F9469 -:101DC000631221102A9421E0821A9108811491044F -:101DD00071F7E8C0843611F0893641F5F80137FE15 -:101DE00007C060817181828193810C5F1F4F08C0A1 -:101DF00060817181072E000C880B990B0E5F1F4FBD -:101E0000F32DFF763F2E97FF09C090958095709532 -:101E100061957F4F8F4F9F4FF0683F2E2AE030E053 -:101E2000A3010F949F12882E861845C0853731F480 -:101E3000232D2F7EB22E2AE030E025C0932D997FEE -:101E4000B92E8F36C1F018F4883579F0B5C08037D7 -:101E500019F0883721F0B0C0E92FE061BE2EB4FE42 -:101E60000DC0FB2DF460BF2E09C034FE0AC0292F1F -:101E70002660B22E06C028E030E005C020E130E048 -:101E800002C020E132E0F801B7FE07C06081718135 -:101E9000828193810C5F1F4F06C06081718180E059 -:101EA00090E00E5F1F4FA3010F949F12882E86189B -:101EB000FB2DFF773F2E36FE0DC0232D2E7FA22E49 -:101EC000891458F434FE0BC032FC09C0832D8E7E79 -:101ED000A82E05C0B82CA32C03C0B82C01C0B92C67 -:101EE000A4FE0FC0FE01E80DF11D8081803321F4B6 -:101EF0009A2D997EA92E09C0A2FE06C0B394B39470 -:101F000004C08A2D867809F0B394A3FC11C0A0FE0A -:101F100006C0B21488F4280C922C9B180EC0B21480 -:101F200060F4B60180E290E00F946312B394F7CFAF -:101F3000B21418F42B1802C0982C212CA4FE10C047 -:101F4000B60180E390E00F946312A2FE17C0A1FCDB -:101F500003C088E790E002C088E590E0B6010CC0BD -:101F60008A2D867859F0A1FE02C08BE201C080E282 -:101F7000A7FC8DE2B60190E00F946312891438F447 -:101F8000B60180E390E00F9463129A94F7CF8A949D -:101F9000F301E80DF11D8081B60190E00F9463120A -:101FA0008110F5CF222009F442CEB60180E290E004 -:101FB0000F9463122A94F6CFF6018681978102C0AE -:101FC0008FEF9FEF2B960FB6F894DEBF0FBECDBFFD -:101FD000DF91CF911F910F91FF90EF90DF90CF9005 -:101FE000BF90AF909F908F907F906F905F904F9039 -:101FF0003F902F9008958F929F92AF92BF92CF9271 -:10200000DF92EF92FF920F931F93CF93DF93CDB7A1 -:10201000DEB729970FB6F894DEBF0FBECDBF6A01B9 -:10202000122FB02E2BE3201720F0FF24F394F00E94 -:1020300002C02CE3F22E0F2D27E0AE014F5F5F4F61 -:102040000F947211BC014981842F8970813031F065 -:10205000E1FC06C0E0FE06C090E205C09DE203C0C0 -:102060009BE201C090E05E2D507143FF3CC0911196 -:1020700002C083E001C084E0811718F4212F281BDF -:1020800001C020E051110BC0F601822F30E28823FD -:1020900019F031938150FBCFC20ED11C20E099235F -:1020A00029F0D6019C93F60131966F01C601039683 -:1020B000E2FE0AC03EE4D6013C9341E411964C9303 -:1020C000119712963C9306C03EE6F601308341E636 -:1020D00041833283FC01322F40E2332309F442C0B2 -:1020E00041933150FACF42FF44C0911102C083E0C6 -:1020F00001C084E0811718F4212F281B01C020E0C3 -:1021000051110BC0F601822F30E2882319F0319370 -:102110008150FBCFC20ED11C20E0992329F0D601BB -:102120009C93F60131966F01C6010396E2FE0BC047 -:1021300039E4D6013C933EE411963C93119736E482 -:1021400012963C9307C039E6F60130833EE63183B0 -:1021500036E63283FC01322F40E2332319F04193FB -:102160003150FBCFFC01E20FF11D10828EEF9FEF8B -:10217000A6C021E030E0911102C020E030E0161648 -:1021800017061CF4FB01319602C0E1E0F0E02E0FCF -:102190003F1FBB2021F0EB2DF0E0319602C0E0E0C4 -:1021A000F0E02E0F3F1FE12FF0E02E173F071CF449 -:1021B000121B212F01C020E08E2D887159F4F601E9 -:1021C000822F30E2882319F031938150FBCFC20E69 -:1021D000D11C20E0992329F0D6019C93F601319679 -:1021E0006F0151110BC0F601822F90E3882319F083 -:1021F00091938150FBCFC20ED11C20E00F2D060F12 -:102200009A81342F307144FF03C0913309F4015097 -:10221000101624F4093018F008E001C001E0AB0109 -:1022200077FF02C040E050E0FB01E41BF50BA1E0AA -:10223000B0E0AC0FBD1FEA0FFB1F8EE2A82E4B01D2 -:10224000801A91080B2D10E01195019511094F3F4F -:10225000BFEF5B0721F4D601AC9211966D016417B4 -:1022600075072CF08416950614F4818101C080E373 -:10227000415051093196D60111967D014017510701 -:1022800024F0D6018C936701E2CF6417750739F407 -:10229000963320F4953319F4311101C081E3F6012E -:1022A0008083F701822F90E2882319F09193815067 -:1022B000FBCFF701E20FF11D108280E090E029963C -:1022C0000FB6F894DEBF0FBECDBFDF91CF911F9147 -:1022D0000F91FF90EF90DF90CF90BF90AF909F90C5 -:1022E0008F900895283008F027E03327DA01990FFE -:1022F000311D87FD916000966105710539F43260EA -:102300002E5F3D9330E32A95E1F708959F3F30F02B -:1023100080387105610509F03C5F3C5F3D93913069 -:1023200008F08068911DDF93CF931F930F93FF9266 -:10233000EF92192F987F9695E92F96959695E90F2C -:10234000FF27EB57FB4F99273327EE24FF24A701E4 -:10235000E70105900894079428F4360FE71EF81E4D -:10236000491F511D660F771F881F991F0694A1F7FB -:102370000590079428F4E70EF81E491F561FC11D4B -:10238000770F881F991F661F0694A1F70590079481 -:1023900028F4F80E491F561FC71FD11D880F991F1B -:1023A000661F771F0694A1F70590079420F4490F44 -:1023B000561FC71FD81F990F661F771F881F0694C7 -:1023C000A9F784911095177041F0D695C795579548 -:1023D0004795F794E7941A95C1F7EBE2F4E0689417 -:1023E0001590159135916591959105907FE27395C2 -:1023F000E118F10A430B560BC90BD009C0F7E10CE9 -:10240000F11E431F561FC91FD01D7EF4703311F4F7 -:102410008A95E6CFE894015030F0080F0AF40027BF -:10242000021708F4202F2395022F7A3328F079E33E -:102430007D932A95E9F710C07D932A9589F6069435 -:1024400097956795379517951794E118F10A430BFF -:10245000560BC90BD00998F023957E9173957A336A -:1024600008F070E37C932013B8F77E9170617D9340 -:1024700030F0839571E37D9370E32A95E1F71124A1 -:10248000EF90FF900F911F91CF91DF91992787FDDA -:1024900090950895992788270895FC01059061502B -:1024A00070400110D8F7809590958E0F9F1F08956A -:1024B000FC016150704001900110D8F78095909513 -:1024C0008E0F9F1F08950F931F93CF93DF93FB01F0 -:1024D000238121FD03C08FEF9FEF2CC022FF16C088 -:1024E00046815781248135814217530744F4A081E6 -:1024F000B1819D012F5F3F4F318320838C932681D3 -:1025000037812F5F3F4F3783268314C08B01EC0147 -:10251000FB010084F185E02D1995892BE1F6D801A6 -:1025200016968D919C911797019617969C938E9372 -:102530001697CE01DF91CF911F910F910895FA0167 -:10254000AA27283051F1203181F1E8946F936E7FF2 -:102550006E5F7F4F8F4F9F4FAF4FB1E03ED0B4E0E3 -:102560003CD0670F781F891F9A1FA11D680F791F24 -:102570008A1F911DA11D6A0F711D811D911DA11D35 -:1025800020D009F468943F912AE0269F1124301945 -:10259000305D3193DEF6CF010895462F4770405DE0 -:1025A0004193B3E00FD0C9F7F6CF462F4F70405D8F -:1025B0004A3318F0495D31FD4052419302D0A9F7EA -:1025C000EACFB4E0A6959795879577956795BA95E4 -:1025D000C9F700976105710508959B01AC010A2EAA -:1025E00006945795479537952795BA95C9F7620F81 -:1025F000731F841F951FA01D089597F99F6780E89A -:1026000070E060E008959FEF80EC089500240A9444 -:102610001616170618060906089500240A941216BD -:102620001306140605060895092E0394000C11F4F0 -:10263000882352F0BB0F40F4BF2B11F460FF04C09D -:102640006F5F7F4F8F4F9F4F089557FD9058440FF6 -:10265000551F59F05F3F71F04795880F97FB991F01 -:1026600061F09F3F79F087950895121613061406BE -:10267000551FF2CF4695F1DF08C01616170618064B -:10268000991FF1CF86957105610508940895E89426 -:10269000BB2766277727CB0197F90895F999FECFD5 -:1026A00092BD81BDF89A992780B50895262FF99992 -:1026B000FECF1FBA92BD81BD20BD0FB6F894FA9A25 -:1026C000F99A0FBE01960895DB018F939F930F94A3 -:1026D000B513BF91AF91A29F800D911DA39F900D47 -:1026E000B29F900D11240895A1E21A2EAA1BBB1BC4 -:1026F000FD010DC0AA1FBB1FEE1FFF1FA217B307CE -:10270000E407F50720F0A21BB30BE40BF50B661FE3 -:10271000771F881F991F1A9469F7609570958095A7 -:1027200090959B01AC01BD01CF010895052E97FB4B -:102730001EF400940F94AD1357FD07D00F9474133B -:1027400007FC03D04EF40D94AD1350954095309591 -:1027500021953F4F4F4F5F4F08959095809570950D -:1027600061957F4F8F4F9F4F08950F94C813A59F7A -:10277000900DB49F900DA49F800D911D112408957C -:10278000B7FF0D94B5130F94B513821B930B0895E7 -:10279000A29FB001B39FC001A39F700D811D1124A2 -:1027A000911DB29F700D811D1124911D089587FB0D -:1027B000082E062687FD819567FD61950F941514F7 -:1027C0000EF4919507FC81950895AA1BBB1B51E15E -:1027D00007C0AA1FBB1FA617B70710F0A61BB70B91 -:1027E000881F991F5A95A9F780959095BC01CD0136 -:1027F000089597FB072E16F4009407D077FD09D0B3 -:102800000F94E51307FC05D03EF4909581959F4FFA -:102810000895709561957F4F0895EE0FFF1F881FF3 -:102820008BBF0790F691E02D1994991B79E004C0B5 -:10283000991F961708F0961B881F7A95C9F78095FF -:1028400008955058BB27AA270F9439140D941413D8 -:102850000F94061338F00F940D1320F039F49F3FB6 -:1028600019F426F40D9403130EF4E095E7FB0D9490 -:10287000FD12E92F0F94251358F3BA176207730757 -:102880008407950720F079F4A6F50D9447130EF40C -:10289000E0950B2EBA2FA02D0B01B90190010C0170 -:1028A000CA01A0011124FF27591B99F0593F50F488 -:1028B000503E68F11A16F040A22F232F342F4427E0 -:1028C000585FF3CF469537952795A795F0405395D8 -:1028D000C9F77EF41F16BA0B620B730B840BBAF0A8 -:1028E0009150A1F0FF0FBB1F661F771F881FC2F713 -:1028F0000EC0BA0F621F731F841F48F48795779527 -:102900006795B795F7959E3F08F0B0CF9395880FE0 -:1029100008F09927EE0F9795879508950F94061361 -:1029200060F080E891E009F49EEF0F940D1328F019 -:1029300040E851E071F45EEF0CC00D9403130D9468 -:102940004713E92FE0780F94251340F3092E052A49 -:10295000B1F3261737074807590738F00E2E07F846 -:10296000E02569F0E025E0640AC0EF6307F8009411 -:1029700007FADB01B9019D01DC01CA01AD01EF934A -:102980000F9433150F9414130F94D1145F915523A2 -:1029900039F02BED3FE049E450FD49EC0D94221451 -:1029A0000895DF93DD27B92FBF7740E85FE3161660 -:1029B000170648075B0718F4D92F0F9487169F93C3 -:1029C0008F937F936F930F941017E8EDF1E00F94BE -:1029D00004160F9414132F913F914F915F910F9410 -:1029E000970DDD2351F09058A2EA2AED3FE049EC23 -:1029F0005FE3D0785D270F943914DF910D941413A1 -:102A00000F946A1690F09F3748F4911116F40D94C4 -:102A1000481360E070E080E89FE3089526F01B16FD -:102A2000611D711D811D0D94DB150D94F6150F941C -:102A30002D16E3950D9456160F9430150D9414131E -:102A40000F940D1358F00F94061340F029F45F3FD4 -:102A500029F00D94FD1251110D9448130D94031398 -:102A60000F94251368F39923B1F3552391F3951B24 -:102A7000550BBB27AA2762177307840738F09F5F9F -:102A80005F4F220F331F441FAA1FA9F335D00E2E0C -:102A90003AF0E0E832D091505040E695001CCAF779 -:102AA0002BD0FE2F29D0660F771F881FBB1F26173C -:102AB00037074807AB07B0E809F0BB0B802DBF0113 -:102AC000FF2793585F4F3AF09E3F510578F00D94E1 -:102AD000FD120D9448135F3FE4F3983ED4F38695BE -:102AE00077956795B795F7959F5FC9F7880F911D03 -:102AF0009695879597F90895E1E0660F771F881FEF -:102B0000BB1F621773078407BA0720F0621B730BA1 -:102B1000840BBA0BEE1F88F7E09508950F94951576 -:102B20006894B1110D94481308950F942D1388F0F3 -:102B30009F5798F0B92F9927B751B0F0E1F0660F81 -:102B4000771F881F991F1AF0BA95C9F714C0B130C2 -:102B500091F00F944713B1E008950D944713672F38 -:102B6000782F8827B85F39F0B93FCCF386957795F1 -:102B70006795B395D9F73EF49095809570956195DA -:102B80007F4F8F4F9F4F08950F946A1690F09F3795 -:102B900048F4911116F00D94481360E070E080E85D -:102BA0009FEB089526F41B16611D711D811D0D9468 -:102BB000DB150D94F615882371F4772321F09850D6 -:102BC000872B762F07C0662311F499270DC09051EB -:102BD000862B70E060E02AF09A95660F771F881FB9 -:102BE000DAF7880F9695879597F908959F3F31F00A -:102BF000915020F4879577956795B795880F911D2B -:102C00009695879597F90895DF93CF931F930F9328 -:102C1000FF92EF92DF927B018C01689406C0DA2E5E -:102C2000EF010F94970DFE01E894A5912591359140 -:102C300045915591A6F3EF010F943914FE019701C8 -:102C4000A801DA9469F7DF90EF90FF900F911F9140 -:102C5000CF91DF9108950D9403130F942D13D8F3A2 -:102C6000E894E0E0BB279F57F0F02AED3FE049EC05 -:102C700006C0EE0FBB0F661F771F881F28F0B23A01 -:102C800062077307840728F0B25A620B730B840B38 -:102C9000E3959A9572F7803830F49A95BB0F661FCA -:102CA000771F881FD2F790480D94F815EF93E0FF37 -:102CB00007C0A2EA2AED3FE049EC5FEB0F9439141C -:102CC0000F9414130F90039401FC9058E5E0F2E088 -:102CD0000D9420170F942D13A0F0BEE7B91788F4B8 -:102CE000BB279F3860F41616B11D672F782F8827F1 -:102CF000985FF7CF869577956795B11D939596392F -:102D0000C8F308950F94600D08F48FEF08959B01A8 -:102D1000AC0160E070E080E89FE30D941C150F9417 -:102D20002D1358F19E5760F19851A0F0E9F09830BA -:102D300020F5092E9927660F771F881F991F0A947F -:102D4000D1F712C0062E672F782F8827985F11F4CD -:102D5000000C07C0993FB4F38695779567959395D6 -:102D6000D9F7611D711D811D3EF490958095709578 -:102D700061957F4F8F4F9F4F089568940D9448132E -:102D80000D9447139F930F942D160F9007FCEE5F41 -:102D90000D94561619F416F40D9403130D94F615AC -:102DA0000F942D13B8F39923C9F3B6F39F57550B1E -:102DB00087FF0F9419170024A0E640EA900180587D -:102DC0005695979528F4805C660F771F881F20F032 -:102DD00026173707480730F4621B730B840B202932 -:102DE00031294A2BA69517940794202531254A2787 -:102DF00058F7660F771F881F20F0261737074807F8 -:102E000030F4620B730B840B200D311D411DA09516 -:102E100081F7B901842F9158880F96958795089569 -:102E20009B01AC010D94840D0F94600D880B990BE0 -:102E3000089591505040660F771F881FD2F708956C -:102E40009F938F937F936F93FF93EF939B01AC01BD -:102E50000F94840DEF91FF910F9404162F913F91E1 -:102E60004F915F910D94840D81E090E0F8940D9462 -:102E7000DE179111089581548A5108F4805E855AB5 -:102E80000895FB01DC0104C08D910190801921F4AB -:102E900041505040C8F7881B990B0895FB01DC0195 -:102EA00002C001900D9241505040D8F70895FB01A7 -:102EB000DC018D9181341CF08B350CF4805E6191C6 -:102EC00061341CF06B350CF4605E861B611189F374 -:102ED000990B0895FB01DC010D900020E9F7119793 -:102EE00001900D920020E1F70895FC018191861771 -:102EF00021F08823D9F7992708953197CF010895B4 -:102F0000FB01DC0101900D920020E1F70895FB0127 -:102F1000DC014150504030F08D910190801919F43E -:102F20000020B9F7881B990B0895FB01DC01415083 -:102F3000504048F001900D920020C9F701C01D9249 -:102F400041505040E0F70895FC0181E090E001908D -:102F5000061609F4CF010020D1F7019708950F93C9 -:102F60001F93CF93DF93CDB7DEB72E970FB6F894AC -:102F7000DEBF0FBECDBF0E891F8986E08C831A830A -:102F800009838FEF9FE79E838D83AE01465E5F4F7F -:102F9000688D798DCE0101960F94F10DEF81F88542 -:102FA000E00FF11F10822E960FB6F894DEBF0FBE11 -:102FB000CDBFDF91CF911F910F91089519E1C1E924 -:102FC000D9E100E006C0802FFE010F940D14219678 -:102FD000011DC239D10780E00807A9F7F894FFCF97 -:102FE000FFFF02C0D401000180000000FF3FFF3F4F -:102FF00000000000FF3F0101FFFFFFFFFFFFFFFF99 -:10300000FFFFFFFFFF00007A4300005243CDCCCC0E -:103010003D0000803F0000803F5CFF79C48080015C -:1030200010FF0601010000000000009643000000B0 -:103030000000009643000000000000C8430000C8E4 -:1030400041A0000000803F640064000164000101B1 -:10305000000000021000000410000006100000082C -:103060001000000A1000000C1000002610000030B4 -:1030700010000032100000341000003A1000003E32 -:1030800010000040100000441000004610000048EE -:103090001000004A1000004C1000005410000056B0 -:1030A000100000581000005C1000005E1000005F6F -:1030B000100000881000000000000058595A45CD4B -:1030C000CCCC3C00409C4500007A4500007A43008F -:1030D0000070420102030405B400F00046006E00D7 -:1030E00000004040000034420000000000000000EA -:1030F00000000000000050410000000000000041FE -:103100006400000064000000030000006400000090 -:103110006400000003000000030000001E00000027 -:103120001E0000001E0000001E0000001E00000027 -:103130001E000000DC050000DC050000640000004B -:103140004B0000000000A0420000A0420000C84365 -:103150000000BE420000FA430000FA430000204194 -:103160000000964256373000000000004755B0542A -:10317000DE5494550F55ED540155008093430000E3 -:1031800020412A2A2A496E6974696E672063617238 -:1031900064206973204F4B2A2A2A002A2A2A496E62 -:1031A0006974696E672063617264206661696C731B -:1031B0002A2A2A002A2A2A436172642052656D6FE6 -:1031C0007665642A2A2A003D3D77616974776179C2 -:1031D00020313D3D003D3D77616974776179203351 -:1031E0003D3D002020737461727470726F67726568 -:1031F0007373200020202A2A2A2A2A2A2A5254536A -:103200005F48616E646C65446174612A2A2A2A2AC7 -:103210002A2A2A20003D3D20436865636B6B65794F -:103220003D3D000A2048616E646C65204461746114 -:10323000205072696E7446696C6520312053657444 -:1032400074696E672053637265656E20000A2048BA -:10325000616E646C652044617461205072696E74A3 -:1032600046696C6520322053657474696E6720531B -:10327000637265656E20000A2048616E646C65208B -:1032800044617461205072696E7446696C652033C4 -:103290002053657474696E672053637265656E2090 -:1032A000000A2048616E646C6520446174612041AD -:1032B000646A75737420322053657474696E672074 -:1032C00053637265656E200074696E796D61636821 -:1032D000696E657333642E636F6D004368696E6554 -:1032E0007365204E6F7420537570706F72746564CF -:1032F00000456E676C69736820416C726561647922 -:103300002053657400496E76616C6964204F707457 -:10331000696F6E000A204E6F2046696C616D656EA4 -:103320007400526573756D652059657320647572FC -:10333000696E67207072696E74002046696C616DF9 -:10334000656E7420526573706F6E7365204E6F00EA -:1033500046696C616D656E74205374617420302011 -:103360002D20310046696C616D656E742053746167 -:10337000742030202D20320046696C616D656E74BA -:1033800020537461742030202D20330046696C6511 -:103390006E616D6500526563646174610020202078 -:1033A0002020202020200025642F2564003D3D772B -:1033B00061697477617920343D3D003D3D776169F5 -:1033C0007477617920353D3D003D3D486561746904 -:1033D0006E6720446F6E65204368616E67652046A6 -:1033E000696C616D656E743D3D0046696C656E612A -:1033F0006D652D4D6564696100436C69636B207474 -:103400006F20526573756D652E2E2E002564205831 -:10341000202564205820256400544D334420435215 -:103420002D5800322E305F44573320544D33442002 -:1034300053534D444E4E003D3D4477696E20496ED6 -:10344000697420436F6D706C6574653D3D002F009D -:103450005344557064617465002E67636F64650042 -:103460002E47434F444500590073746F7070696E66 -:1034700067203D3D002F2F616374696F6E3A636171 -:103480006E63656C003D3D6F6E5072696E74546979 -:103490006D657253746F707065643D3D003D3D6FA6 -:1034A0006E5072696E7454696D6572537461727492 -:1034B00065643D3D00556E746F75636865642000FA -:1034C00050756C73696E67202020003D3D6F6E550E -:1034D000736572436F6E6669726D5265717569725C -:1034E00065643D3D003F3F3F00357835206D657395 -:1034F000682E205A206F66667365743A2000526504 -:10350000686561742066696E69736865642E003D44 -:103510003D6F6E53746F726553657474696E677333 -:103520003D3D003D3D6F6E436F6E6669677572612C -:1035300074696F6E53746F72655772697474656ED7 -:103540003D3D00455252003D3D6F6E5072696E74B4 -:1035500054696D65725061757365643D3D003D3D14 -:103560006F6E4C6F616453657474696E67733D3D33 -:10357000002A2A2A6B696C6C2A2A2A003D3D6F6E4C -:10358000466163746F727952657365743D3D0020C6 -:103590005A003D3D6F6E436F6E6669677572617468 -:1035A000696F6E53746F7265526561643D3D0000D2 -:00000001FF diff --git a/Ender5Plus_BIL_DW3.hex b/Ender5Plus_BIL_DW3.hex deleted file mode 100644 index b6cbed8ef2..0000000000 --- a/Ender5Plus_BIL_DW3.hex +++ /dev/null @@ -1,9806 +0,0 @@ -:100000000C94441D0C94751D0C94751D0C94751D59 -:100010000C94751D0C94751D0C94751D0C94751D18 -:100020000C94751D0C94751D0C94751D0C94751D08 -:100030000C94751D0C94751D0C94751D0C94751DF8 -:100040000C94751D0C9442930C94751D0C94751DA5 -:100050000C94751D0C94751D0C9457D50D947F143C -:100060000C94751D0C94DA5A0C94D05A0C94751D8E -:100070000C94751D0C94751D0C94751D0C94751DB8 -:100080000C948B520C94751D0C94751D0C94751D5D -:100090000C94751D0C94751D0C94751D0C94751D98 -:1000A0000C94751D0C94751D0C945D520C94751D6B -:1000B0000C94751D0C94751D0C94751D0C942F5289 -:1000C0000C94751D0C94751D0C94751D0C947F5D1E -:1000D0000C94555D0C94751D0C94751D0C94751D38 -:1000E0000C94751D241F6A1F701F971FA41FAD1F3E -:1000F000B81F7C279C287829AB2908350835C62AE3 -:10010000692B782808350835062D9F2ED72E0835FF -:10011000D53008350835263208350835B032E33297 -:1001200008355F331B34E62EEE2E122F362F6A2F42 -:100130000D3021303A304730543068300D5B135B5E -:10014000255B355B3D5B6A5B415B6A5B455B495B9D -:100150006A5B4D5B515B555B5D5B6A5B675B129EE7 -:10016000349E549E799E9E9E55A0C39EE69E099FF6 -:100170002E9F539F789F9D9FC29F55A0E79F0CA0E5 -:1001800031A0E3A1E6A1EAA1EDA1F0A11AA2F4A198 -:10019000F7A1FBA1FEA101A205A208A20BA21AA22F -:1001A0000FA212A215A2FFE702E8F1E7F5E7FBE7CD -:1001B00039E806E80AE810E814E818E81EE822E83A -:1001C00026E839E82CE830E834E8F8EDFDED02EEF9 -:1001D0000CEE16EE8FEE20EE28EE30EE3AEE44EE08 -:1001E0004EEE5DEE67EE8FEE71EE7BEE85EE084A29 -:1001F000D73B3BCE016E84BCBFFDC12F3D6C74313B -:100200009ABD56833DDA3D00C77F11BED9E4BB4C91 -:100210003E916BAAAABE000000803F05A84CCDB25B -:10022000D44EB93836A9020C50B9918688083CA63C -:10023000AAAA2ABE000000803F000C9416EE0C947F -:1002400022E80C94A41F0C940D5B0C94D5300C94F4 -:10025000C29F0C9478290D94281E0C94F8ED0C94F0 -:1002600067EE0C940FA20C9430E80C94F0A10C945F -:10027000B81F0C94799E0C94FEA10C943AEE0C9449 -:10028000241F0C9468300C941B340C94E69E0C9440 -:10029000515B0C94E3320C94062D0C94F5E70C940E -:1002A000B45C0C9402EE0C94F7A10C940CEE0C943C -:1002B000AD1F0C94FFE70C94EAA10C9426320C9429 -:1002C00006E80C9408350C94495B0C94692B0C944B -:1002D00026E80C940AE80C94122F0C940D5C0C94F4 -:1002E00028EE0C94D05B0C9454300C94FE5B0C9470 -:1002F0000CA00C94215C0C9410E80C94FDED0C9473 -:1003000008A20C949E9E0C9415A20C940D300C9493 -:1003100002E80C94E3A10C94135B0C94E79F0C94FB -:10032000455B0C94539F0C9439E80C94F1E70C94C2 -:10033000F4A10C946A5B0C94789F0C9420EE0C94BE -:10034000FBE70C942CE80C946A2F0C9418E80C949E -:100350009C280C94AB290C9471EE0C9421300C94D5 -:10036000675B0C940BA20C942F5C0C945F330C9481 -:10037000355B0C942E9F0C944D5B0C946A1F0C946F -:100380008FEE0C949D9F0C94099F0C94B0320C94AA -:10039000549E0C9412A20C9455A00C944EEE0C9406 -:1003A0009F2E0C94675C0C947C270C943A300C9430 -:1003B00044EE0C94415B0C94C39E0C94555B0C94DE -:1003C000362F0C9414E80C94FBA10C94255B0C9430 -:1003D000E62E0C9431A00C943D5B0C9401A20C947D -:1003E0001AA20C941EE80C9478280C94129E0C947B -:1003F00034E80C945D5B0C945DEE0C947BEE0C94F5 -:10040000E6A10D94831D0C94EE2E0C94701F0C9499 -:1004100047300C9485EE0C94D72E0C9430EE0C944F -:10042000349E0C94C62A0C94971F0C9405A20C942D -:10043000EDA14E414E494E495459494E46CDCCCC82 -:100440003D0AD7233C17B7D13877CC2B329595E6A8 -:10045000241FB14F0A000020410000C84200401C88 -:100460004620BCBE4CCA1B0E5AAEC59D7400407AD5 -:1004700010F35A00A0724E18090010A5D4E800002D -:10048000E87648170000E40B54020000CA9A3B00CB -:100490000000E1F505000080969800000040420F42 -:1004A000000000A08601000000102700000000E806 -:1004B00003000000006400000000000A00000000CB -:1004C000000100000000002C76D888DC674F08236C -:1004D000DFC1DFAE59E1B1B796E5E3E453C63AE6D2 -:1004E00051997696E8E6C28426EB898C9B62ED40B2 -:1004F0007C6FFCEFBC9C9F40F2BAA56FA5F4900501 -:100500005A2AF75C936B6CF9676DC11BFCE0E40D34 -:1005100047FEF520E6B500D0ED902E030094357728 -:10052000050080841E080000204E0A000000C80C50 -:10053000333333330F986E12831141EF8D211489B9 -:100540003BE65516CFFEE6DB18D1844B381BF77C13 -:100550001D901DA4BBE424203284725E228100C958 -:10056000F124ECA1E53D274D323520500A4D3234BF -:10057000005072696E742050617573656400526535 -:1005800073756D65005549205061757365004E6F38 -:10059000204D61746368203A004D333033452D316E -:1005A000533635433455004D393939004D353032E5 -:1005B0000A4D353030004D3330334530533231350C -:1005C000433855000A202A2A2A7265636461742E12 -:1005D000646174615B305D203D004732380A473109 -:1005E000204631303030205A313000556E737570EE -:1005F000706F72746564204F7074696F6E205365FC -:100600006C6563746564004D3139305335350A4784 -:1006100032380A4732390A4D3430300A4D313034DD -:10062000533231350A4732380A4D3130395332317D -:10063000350A4D34323053310A4731583130305950 -:1006400031303046353030300A47315A300A4D3576 -:1006500030300A4D31313720536574205A204F66AF -:1006600066736574004731204631303030205A308F -:100670002E30004732380A473120463130303020A2 -:100680005A302E30004D353030005A204F66667398 -:100690006574203A202573004D353030005A204FC4 -:1006A0006666736574203A202573004732385A0A0B -:1006B000473146313530305A302E30004732380A13 -:1006C000473146313530305A302E30004D38340005 -:1006D000473146313030305A302E30004732380AF8 -:1006E000473146313030305A302E30005A204F6674 -:1006F00066736574203A202573004D353030004D07 -:10070000383400426567696E5377697463680072B4 -:1007100065636461742E61646472203D3D0072659E -:10072000636461742E646174615B305D203D3D00E3 -:1007300077616974776179203D3D000A202A2A2A71 -:100740004E6F7A7A6C6554656D705374617475730D -:100750005B325D203D00434F4D4D554E4943415462 -:10076000494F4E0044525952554E004552524F5235 -:100770005300494E464F004543484F0047322F47EC -:10078000332062616420706172616D65746572739B -:100790000A00536C6565702E2E2E005A2050726F21 -:1007A00062652050617374204265640A005A2050CB -:1007B000726F626520506173742042656400486FF7 -:1007C0006D652058592046697273740A00486F6D30 -:1007D00065205859204669727374004D31313720B5 -:1007E00050726F6265206661696C65642E0A4732DB -:1007F000380A0070726F62655F72657769706500B4 -:10080000473239205265747279696E670050726F91 -:1008100062696E67204661696C6564004D313137ED -:1008200020426564206C6576656C696E6720666140 -:10083000696C65642E0A4730205A31300A4D3330D6 -:10084000302050323520533838300A4D3330302084 -:100850005035302053300A4D33303020503235205F -:10086000533838300A4D3330302050353020533033 -:100870000A4D3330302050323520533838300A4D4D -:10088000333030205035302053300A473420533134 -:100890000070726F62655F6661696C6564004D31FE -:1008A000313720426564206C6576656C696E67201F -:1008B000646F6E652E00205A3A200020593A2000BD -:1008C00042656420583A20004D65736820706F6956 -:1008D0006E742063616E6E6F742062652072657342 -:1008E0006F6C7665640A004E6F204D6F76652E0042 -:1008F000456E642066696C65206C6973740A0042F9 -:100900006567696E2066696C65206C6973740A009E -:10091000526573756D6520534400286E6F206669BB -:100920006C65290043757272656E742066696C652A -:100930003A20002E0A0044656C6574696F6E20666B -:1009400061696C65642C2046696C653A20004669D3 -:100950006C652064656C657465643A005072696EFC -:10096000742074696D653A20000A53746174733A97 -:100970002046696C616D656E7420757365643A20FC -:10098000002C204C6F6E67657374206A6F623A208A -:1009900000546F74616C2074696D653A2000537463 -:1009A0006174733A20002C204661696C65643A20BA -:1009B000002C2046696E69736865643A20005072A5 -:1009C000696E74733A200053746174733A20004561 -:1009D00020436F6F6C696E672E2E2E004520486590 -:1009E0006174696E672E2E2E006F6666007707723F -:1009F000076B076407560744454255473A004D3197 -:100A0000313320530042656420436F6F6C696E6719 -:100A10002E2E2E004265642048656174696E672E33 -:100A20002E2E006F6B004348414D4245525F5445A6 -:100A30004D5045524154555245004D4F54494F4E2B -:100A40005F4D4F44455300544845524D414C5F5013 -:100A5000524F54454354494F4E004155544F52450F -:100A6000504F52545F53445F5354415455530050B8 -:100A7000524F4D50545F535550504F525400454DB6 -:100A8000455247454E43595F5041525345520043EA -:100A90004153455F4C494748545F42524947485487 -:100AA0004E45535300544F47474C455F4C494748C8 -:100AB000545300534F4654574152455F504F57458A -:100AC00052004255494C445F50455243454E5400F4 -:100AD0004C4556454C494E475F44415441005A5F8E -:100AE00050524F4245004155544F4C4556454C00DD -:100AF0005052494E545F4A4F420050524F47524560 -:100B00005353004155544F5245504F52545F544532 -:100B10004D5000564F4C554D4554524943004545A4 -:100B200050524F4D0042494E4152595F46494C4543 -:100B30005F5452414E534645520053455249414C31 -:100B40005F584F4E5F584F4646004649524D5741F9 -:100B500052455F4E414D453A4D61726C696E20328F -:100B60002E305F44573320544D3344204535505385 -:100B70004D44424220534F555243455F434F4445F5 -:100B80005F55524C3A68747470733A2F2F676974CA -:100B90006875622E636F6D2F496E73616E6974792B -:100BA0004175746F6D6174696F6E2F4D61726C6900 -:100BB0006E2F747265652F437265616C6974795F1D -:100BC0004D61726C696E322E302E782050524F5427 -:100BD0004F434F4C5F56455253494F4E3A312E309A -:100BE000204D414348494E455F545950453A544D74 -:100BF000334420453520506C757320455854525568 -:100C00004445525F434F554E543A3120555549445F -:100C10003A63656465326132662D343161322D3458 -:100C20003734382D396231322D63353563363266CB -:100C300033363766660A002F2F200020466C6F7708 -:100C40003A200050726F7465637465642050696E59 -:100C50000A00206F7574206F662072616E67650AE6 -:100C600000536572766F20003A200020536572763B -:100C70006F200050726F6265205A204F6666736560 -:100C8000743A2000496E76616C69642065787472EC -:100C9000756465720A0020643A0020693A00207089 -:100CA0003A0020643A0020693A0020703A006469F2 -:100CB0007300656E0043290A0061626C6564202838 -:100CC0006D696E2074656D702000436F6C642065E3 -:100CD000787472756465732061726520004F4646B2 -:100CE000004F4E0046696C616D656E742072756EC2 -:100CF0006F75742064697374616E636520286D6D0F -:100D0000293A200046696C616D656E742072756EBB -:100D10006F757420004D65736820706F696E742064 -:100D200063616E6E6F74206265207265736F6C769E -:100D300065640A004D34323120696E636F727265EA -:100D4000637420706172616D657465722075736182 -:100D500067650A004F666673657473204170706C36 -:100D6000696564004572723A20546F6F2066617243 -:100D70002100546F6F206661722066726F6D207261 -:100D800065666572656E636520706F696E740A00D2 -:100D9000454550524F4D204F4B0A003F4B20766146 -:100DA0006C7565206F7574206F662072616E676563 -:100DB0002028302D3130292E0A00416476616E637F -:100DC00065204B3D004572726F72207772697469BD -:100DD0006E6720746F20454550524F4D210A0036F2 -:100DE0003726033C3D380E2E303E121A1C1808449C -:100DF0000AFF430809070001627573793A207061A0 -:100E00007573656420666F7220696E7075740A0070 -:100E1000627573793A2070617573656420666F72CC -:100E200020757365720A00627573793A2070726F6B -:100E300063657373696E670A007061757365004D51 -:100E4000363030200A204D313137200A00206669C3 -:100E50006C616D656E745F72756E6F75742000667F -:100E6000696C616D656E745F72756E6F7574205418 -:100E70000046696C616D656E7452756E6F75742095 -:100E8000540053544F505045442E20005072696E08 -:100E90007465722073746F7070656420647565206A -:100EA000746F206572726F72732E20466978207499 -:100EB0006865206572726F7220616E64207573655B -:100EC000204D39393920746F2072657374617274E2 -:100ED0002E202854656D7065726174757265206985 -:100EE000732072657365742E2053657420697420B5 -:100EF00061667465722072657374617274696E677D -:100F0000290A004E6F20436865636B73756D207707 -:100F1000697468206C696E65206E756D6265722CEF -:100F2000204C617374204C696E653A20004E6F202E -:100F3000436865636B73756D2077697468206C69AD -:100F40006E65206E756D6265722C204C6173742025 -:100F50004C696E653A2000636865636B73756D203C -:100F60006D69736D617463682C204C617374204CDF -:100F7000696E653A20004C696E65204E756D62653C -:100F800072206973206E6F74204C617374204C69F9 -:100F90006E65204E756D6265722B312C204C61732D -:100FA00074204C696E653A20004D31313000776114 -:100FB00069740A004D313137004D333100534420FC -:100FC00072656164206572726F720A00446F6E65AB -:100FD000207072696E74696E672066696C650A00BC -:100FE0004B494C4C206361757365642062792074B1 -:100FF0006F6F206D75636820696E616374697665D3 -:101000002074696D65202D2063757272656E742081 -:10101000636F6D6D616E643A20002020506C616ECC -:101020006E657242756666657242797465733A20C0 -:10103000002046726565204D656D6F72793A20001B -:10104000436F6D70696C65643A2053657020203879 -:1010500020323031390A00207C20417574686F726B -:101060003A2054696E794D616368696E65733344E3 -:101070000A00323031392D30372D333000204C61A9 -:10108000737420557064617465643A2000322E30A8 -:101090005F4457330A004D61726C696E0020536FD4 -:1010A0006674776172652052657365740A00205713 -:1010B00061746368646F672052657365740A002009 -:1010C00042726F776E206F75742052657365740A73 -:1010D000002045787465726E616C2052657365748A -:1010E0000A00506F77657255700A007374617274EC -:1010F0000A006175746F25632E67006572726F72E6 -:101100002077726974696E6720746F2066696C65F8 -:101110000A00446F6E6520736176696E67206669A8 -:101120006C652E0A004D323900205A3A0020593A97 -:101130000020583A00656E6473746F70732068699C -:10114000743A200047323858590043616E6E6F740C -:10115000206F70656E20737562646972200053445D -:101160002063617264206F6B0A006F70656E526F4E -:101170006F74206661696C65640A00766F6C756DCA -:10118000652E696E6974206661696C65640A005336 -:101190004420696E6974206661696C0A004D3234BE -:1011A000004D32332025730057726974696E6720D1 -:1011B000746F2066696C653A20002E0A006F7065B6 -:1011C0006E206661696C65642C2046696C653A2006 -:1011D000002E0A006F70656E206661696C65642C74 -:1011E0002046696C653A200046696C652073656C21 -:1011F00065637465640A002053697A653A20004685 -:10120000696C65206F70656E65643A200066726572 -:10121000736800646F696E67002066696C653A20C8 -:10122000004E6F772000454E4420535542524F5593 -:1012300054494E450A002220706F730022207061CD -:1012400072656E743A2200535542524F5554494EBE -:10125000452043414C4C207461726765743A22000A -:10126000747279696E6720746F2063616C6C20738F -:1012700075622D67636F64652066696C657320779E -:1012800069746820746F6F206D616E79206C65766B -:10129000656C732E204D4158206C6576656C206915 -:1012A000733A310A005344207072696E74696E6734 -:1012B000206279746520004E6F7420534420707250 -:1012C000696E74696E670A00496E76616C696420A4 -:1012D00065787472756465720A007C3C3E5E2B3DD5 -:1012E0003F2F5B5D3B2C2A225C00220A00556E6B6F -:1012F0006E6F776E20636F6D6D616E643A202200B1 -:1013000020746F6F206C6F6E6720657874727573D0 -:10131000696F6E2070726576656E7465640A002070 -:10132000636F6C6420657874727573696F6E20707A -:10133000726576656E7465640A004D3238302050EF -:1013400030205339300050726F62696E6720506FE1 -:10135000696E742025692F2569002E0A002F005020 -:10136000726F62696E67206D65736820706F696E59 -:10137000742000202844525952554E2900473239D2 -:10138000204175746F20426564204C6576656C69F8 -:101390006E67003F20284C2C522C462C4229206F8F -:1013A0007574206F6620626F756E64732E0A003F3D -:1013B0002856296572626F7365206C6576656C20AE -:1013C000697320696D706C61757369626C65202842 -:1013D000302D34292E0A00426164205A2076616C37 -:1013E00075650A004E6F2062696C696E65617220D6 -:1013F000677269640A0046696E6973686564210AE8 -:1014000000206F662000205A00205900476F696E47 -:101410006720746F3A20580043570A0020646972AD -:101420003A0020616E676C653A00537461727420F3 -:101430007261646975733A00506F736974696F6E95 -:10144000696E67207468652070726F62652E2E2E3B -:101450000A003F4E756D626572206F66206C65678D -:101460007320696E206D6F76656D656E74206E6F8A -:101470007420706C61757369626C652028302D3141 -:1014800035292E0A003F2028582C5929206F7574C1 -:10149000206F6620626F756E64732E0A003F536181 -:1014A0006D706C652073697A65206E6F7420706C46 -:1014B00061757369626C652028342D3530292E0AD8 -:1014C000004D3438205A2D50726F6265205265707D -:1014D0006561746162696C69747920546573740A1A -:1014E000003F2856296572626F7365206C657665CA -:1014F0006C20697320696D706C61757369626C65CD -:101500002028302D34292E0A0053544F5020636177 -:101510006C6C65642062656361757365206F66201D -:10152000424C546F756368206572726F72202D2073 -:10153000726573746172742077697468204D3939EB -:10154000390A0053544F502063616C6C656420620B -:10155000656361757365206F6620424C546F7563D7 -:1015600068206572726F72202D20726573746172CB -:10157000742077697468204D3939390A002F2F613A -:101580006374696F6E3A00627574746F6E00656E95 -:10159000640070726F6D70745F0073686F77004DD8 -:1015A00038373620526573706F6E64696E672050ED -:1015B000524F4D50545F00554E4B4E4F574E205397 -:1015C000544154450047434F44455F494E464F0000 -:1015D0004C43445F50415553455F524553554D452B -:1015E0000046494C414D454E545F52554E4F55545F -:1015F0005F434F4E54494E55450046494C414D4579 -:101600004E545F52554E4F5554004D323400436F87 -:101610006E74696E75650044697361626C655275BC -:101620006E6F7574005075726765204D6F7265003E -:101630005061757365640070617573656400486F0F -:1016400074656E6420746F6F20636F6C640A005061 -:101650006175736500507265737320627574746F81 -:101660006E20286F72204D3130382920746F20721F -:101670006573756D650A00496E73657274206669DD -:101680006C616D656E7420616E6420707265737339 -:1016900020627574746F6E20286F72204D3130385F -:1016A000290A00436F6E74696E756500526568653E -:1016B000617420446F6E6500526568656174696E7F -:1016C000672E2E2E00526568656174696E6700484A -:1016D000656174657254696D656F757400526568F3 -:1016E0006561740048656174657254696D656F75F4 -:1016F0007400507265737320627574746F6E202865 -:101700006F72204D3130382920746F206865617404 -:10171000206E6F7A7A6C650A004E6F7A7A6C65205B -:101720005061726B656400436F6E74696E7565001D -:101730004E6F7A7A6C65205061726B656400486FF9 -:1017400074656E6420746F6F20636F6C640A00723E -:101750006573756D656400626567696E00436F6EE1 -:1017600074696E75650044697361626C6552756E6B -:101770006F75740050757267654D6F7265005061CA -:1017800075736564004C6F61642046696C616D65BA -:101790006E7400436F6E74696E7565004C6F6164A2 -:1017A0002046696C616D656E74205400496E7365E6 -:1017B00072742066696C616D656E7420616E642060 -:1017C000707265737320627574746F6E20286F7207 -:1017D000204D313038290A00526573756D6500243B -:1017E000F4D43050C38E20C2A24017828B701112E5 -:1017F0007A910D816CD90AA861E108C75866076122 -:101800005143061E4B5D05C145A7041A4111040949 -:101810003D9803713931034036DB0265339102D4C0 -:10182000305402802E1D02632CEE01752AC501B0D2 -:1018300028A001102781018F2564012B244B01E092 -:10184000223401AC211F018D200D01801FFC00847A -:101850001EED00971DDF00B81CD200E61BC600205D -:101860001BBC00641AB200B219A8000A19A0006AD1 -:10187000189900D117910040178B00B516840031DC -:10188000167E00B31579003A157300C7146F00581F -:10189000146A00EE1366008813630025135E00C708 -:1018A000125B006C12570015125400C111510070E8 -:1018B000114F0021114B00D61049008D10470046F2 -:1018C00010440002104200C00F4000800F3E004252 -:1018D0000F3C00060F3B00CB0E3800930E37005C28 -:1018E0000E3500270E3400F30D3200C10D3100908B -:1018F0000D3000600D2E00320D2D00050D2C00D98D -:101900000C2B00AE0C2900850C29005C0C2700353F -:101910000C27000E0C2600E80B2400C40B2400A0AA -:101920000B23007D0B23005A0B2100390B210018DB -:101930000B2000F80A1F00D90A1E00BB0A1E009DDA -:101940000A1D00800A1D00630A1C00470A1B002CA8 -:101950000A1B00110A1A00F7091A00DD091900C450 -:10196000091900AB091900920917007B09180063D7 -:101970000917004C09160036091600200916000A3E -:10198000091500F5081500E0081400CC081400B88B -:10199000081400A4081400900813007D0812006BBE -:1019A00008130058081200460812003408110023DA -:1019B0000811001208110001081100F0071000E0E2 -:1019C000071000D0071000C0071000B0070F00A1DB -:1019D00007100091070E0083070F0074070F0065C2 -:1019E000070E0057070E0049070E003B070D002E9B -:1019F000070E0020070D0013070D0006070D00F964 -:101A0000060C00ED060D00E0060C00D4060C00C824 -:101A1000060C00BC060C00B0060C00A4060B0099D6 -:101A2000060C008D060B0082060B0077060B006C7F -:101A3000060B0061060A0057060B004C060A00421E -:101A4000060A0038060A002E060A0024060A001AB2 -:101A5000060A001006090007060A00FD050900F441 -:101A6000050900EB050900E2050900D9050900D0C8 -:101A7000050900C7050900BE050900B5050800AD48 -:101A8000050800A50509009C050800940508008CC0 -:101A9000050800840508007C050800740508006C32 -:101AA000050700650508005D050700560508004E9E -:101AB0000507004705070040050800380507003105 -:101AC0000507002A050700230507001C0506001668 -:101AD0000507000F0507000805060002050700FBC3 -:101AE000040600F5040700EE040600E8040600E220 -:101AF000040700DB040600D5040600CF040600C975 -:101B0000040600C3040600BD040600B7040600B1C5 -:101B1000040500AC040600A6040600A00405009B12 -:101B200004060095040500900406008A040500855B -:101B3000040500800406007A0405007504050070A1 -:101B40000405006B04050066040500610405005CE3 -:101B500004050057040500520405004D0405004823 -:101B6000040500430405003E0404003A0405003562 -:101B7000040500300404002C04050027040400239D -:101B80000405001E0404001A0404001604050011D4 -:101B90000404000D0404000904050004040400000A -:101BA000040400FC030400F8030400F4030400F040 -:101BB000030400EC030400E8030400E4030400E071 -:101BC000030400DC030400D8030400D4030400D0A1 -:101BD000030400CC030400C8030300C5030300246E -:101BE000F404D9201BC40C5C0E9804C4095F026580 -:101BF000077101F405F900FB04B30048048700C134 -:101C00000369005803550003034500BE023A0084EF -:101C100002310053022A002902250004022000E4B8 -:101C2000011C00C8011900AF0117009801140084BD -:101C3000011300710110006101100051010E0043F9 -:101C4000010D0036010B002B010B0020010B0015CC -:101C50000109000C01090003010800FB000800F362 -:101C6000000800EB000700E4000600DE000600D8D4 -:101C7000000600D2000600CC000500C7000500C227 -:101C8000000500BD000400B9000400B5000400B167 -:101C9000000400AD000400A9000400A5000300A298 -:101CA0000003009F0004009B0003009800030095C0 -:101CB00000020093000300900003008D0002008BDF -:101CC00000030088000200860002008400030081F7 -:101CD0000002007F0002007D0002007B000200790C -:101CE000000200770001007600020074000200721A -:101CF000000100710002006F0002006D0001006C25 -:101D00000002006A0001006900020067000100662D -:101D10000001006500010064000200620001006132 -:101D2000000100600001005F0002005D0001005C36 -:101D30000001005B0001005A000100590001005839 -:101D40000001005700010056000100550001005439 -:101D50000001005300000053000100520001005137 -:101D6000000100500001004F0001004E0000004E35 -:101D70000001004D0001004C0001004B0000004B31 -:101D80000001004A0001004900010048000000482D -:101D90000001004700010046000000460001004528 -:101DA0000000004500010044000100430000004322 -:101DB000000100420000004200010041000000411B -:101DC000000100400001003F0000003F0001003E14 -:101DD0000000003E0001003D0000003D0001003C0D -:101DE0000000003C0000003C0001003B0000003B04 -:101DF0000001003A0000003A0001003900000039FB -:101E000000010038000000380000003800010037F1 -:101E100000000037000100360000003600000036E8 -:101E200000010035000000350000003500010034DD -:101E300000000034000000340001003300000033D3 -:101E400000000033000100320000003200000032C8 -:101E500000010031000000310000003100010030BD -:101E600000000030000000300001002F0000002FB3 -:101E70000000002F0000002F0001002E0000002EA7 -:101E80000000002E0001002D0000002D0000002D9C -:101E90000000002D0001002C0000002C0000002C90 -:101EA0000000002C0001002B0000002B0000002B84 -:101EB0000000002B0001002A0000002A0000002A78 -:101EC0000000002A0001002900000029000000296C -:101ED000000000290000002900010028000000285F -:101EE0000000002800000028000000280001002752 -:101EF0000000002700000027000000270000002746 -:101F00000001002600000026000000260000002638 -:101F1000000000260001002500000025000000252B -:101F2000000000250000002500000025000100241D -:101F30000000002400000024000000240000002411 -:101F40000001002300000023000000230000002304 -:101F500000000023000000230000002300010022F5 -:101F600000000022000000220000002200000022E9 -:101F700000000022000100210000002100000021DB -:101F800000000021000000210000002100000021CD -:101F900000010020000000200000002000000020C0 -:101FA00000000020000000200000002000000020B1 -:101FB0000001001F0000001F0000001F0000001FA4 -:101FC0000000001F0000001F0000001F0001001E95 -:101FD0000000001E0000001E0000001E000000C2E5 -:101FE0003100001C260000F4190000D80F0000EB9F -:101FF000080000C004000075020000400100005A03 -:102000005F53544F505F50494E005A5F53544550F0 -:102010005F50494E005A5F4D494E5F50494E005A3D -:102020005F454E41424C455F50494E005A5F44491E -:10203000525F50494E005A5F43535F50494E00591A -:102040005F53544F505F50494E00595F53544550B1 -:102050005F50494E00595F4D41585F50494E0059FD -:102060005F454E41424C455F50494E00595F4449DF -:10207000525F50494E00595F43535F50494E0058DC -:102080005F53544F505F50494E00585F5354455072 -:102090005F50494E00585F4D41585F50494E0058BF -:1020A0005F454E41424C455F50494E00585F4449A0 -:1020B000525F50494E00585F43535F50494E0053A2 -:1020C000535F50494E00534552564F335F50494E6F -:1020D00000534552564F325F50494E0053455256B9 -:1020E0004F315F50494E00534552564F305F504973 -:1020F0004E00534453530053445F444554454354A6 -:102100005F50494E0053434B5F50494E0052414D82 -:1021100050535F44395F50494E0052414D50535F18 -:1021200044385F50494E0052414D50535F44313066 -:102130005F50494E004D4F53495F50494E004D4F3F -:10214000534645545F445F50494E004D49534F5FDD -:1021500050494E004D4158363637355F53535F5026 -:10216000494E004C45445F50494E00484541544556 -:10217000525F4245445F50494E00484541544552E4 -:102180005F305F50494E0046494C5F52554E4F55A7 -:10219000545F50494E0046414E315F50494E004613 -:1021A000414E5F50494E0045315F535445505F509A -:1021B000494E0045315F454E41424C455F50494EC6 -:1021C0000045315F4449525F50494E0045315F43FD -:1021D000535F50494E0045305F535445505F50495E -:1021E0004E0045305F454E41424C455F50494E00E0 -:1021F00045305F4449525F50494E0045305F43537C -:102200005F50494E00455F4D5558325F50494E0072 -:10221000455F4D5558315F50494E00455F4D55580B -:10222000305F50494E004156525F53535F50494E04 -:10223000004156525F53434B5F50494E0041565246 -:102240005F4D4F53495F50494E004156525F4D49D3 -:10225000534F5F50494E0054454D505F4245445FD7 -:1022600050494E0054454D505F315F50494E005427 -:10227000454D505F305F50494E0046494C574944E8 -:1022800054485F50494E005458440052584400206E -:102290005400205200416363656C65726174696F1C -:1022A0006E3A2050003F4A206F7574206F6620728E -:1022B000616E67652028302E303120746F20302EFB -:1022C00033290A0050574D3A2020253464005057D6 -:1022D0004D3A20202534640050574D3A20202534B3 -:1022E000640050574D3A20202534640050574D3A31 -:1022F00020202534640050574D3A202025346400B6 -:1023000050574D3A20202534640050574D3A202034 -:102310002534640050574D3A20202534640050572E -:102320004D3A20202534640050574D3A2020253462 -:10233000640050574D3A20202534640050574D3AE0 -:1023400020202534640050574D3A20202534640065 -:1023500050574D3A20202534640050574D3A2020E4 -:1023600025346400433A2000423A2000413A2000DC -:1023700020202020434F4D002020206E6F6E2D73B3 -:1023800074616E646172642050574D206D6F646596 -:1023900000202020636F6D7061726520696E746526 -:1023A000727275707420656E61626C6564002020C5 -:1023B000206F766572666C6F7720696E74657272D5 -:1023C00075707420656E61626C6564003A2000204F -:1023D00020202054494D534B00423A200020202019 -:1023E000205443435200413A2000202020205443EF -:1023F0004352002020202043533A20002020202058 -:1024000057474D3A200050574D3A2020253464005C -:1024100050574D3A20202534640047004800000002 -:1024200088008A008C00B300B400000098009A0075 -:102430009C00A800AA00AC0028012A012C01202041 -:10244000202054494D455200440045006E00800054 -:1024500081006F00B000B100700090009100710029 -:10246000A000A100720020012101730020697320E7 -:10247000616C736F207469656420746F207468697F -:10248000732070696E0054494D45523143000A2053 -:102490002E002020002020506F72743A200020204F -:1024A0002000202020416E616C6F6720696E203D06 -:1024B0002025356C64003C756E757365642F756EF0 -:1024C0006B6E6F776E3E00202841253264292020F4 -:1024D000002533642000257350494E3A20004F7583 -:1024E00074707574203D2000496E70757420203D15 -:1024F0002000416E616C6F6720696E203D2025359C -:102500006C640070726F74656374656420002028C9 -:102510004125326429202000253364200025735092 -:10252000494E3A20008B220001872201017A223B8A -:10253000006F22430064224500572244004A2232A1 -:10254000013D22330131223401262235011B22288C -:102550000110222A0105222C01FB212A01F0211C55 -:1025600001E2211801D6211A01CC212C01C121221E -:1025700001B3211E01A72124019F210901962107F2 -:1025800001872102017A210A016B21080163210DD3 -:1025900001542142014B2132013E210701352133F3 -:1025A0000127210A011A2108010D21090105213401 -:1025B00001F7203101F2203501E7200B01DC200674 -:1025C00001D1200501C6200401BF203501B6203508 -:1025D00001AC2037019F202601952003018A203677 -:1025E000017F200301762031016C203D015F2038FE -:1025F0000155200E014A203C013F200E01362028C3 -:10260000012C2030011F203E01152012010A202E2E -:1026100001FF1F120157616974696E6720666F724E -:10262000206865617475702E0A004C656176696E6C -:102630006720473236003F53706563696669656499 -:1026400020582C5920636F6F7264696E6174652025 -:102650006F7574206F6620626F756E64732E0A004A -:102660003F28522965706561742076616C7565201C -:102670006E6F7420706C61757369626C653B206D60 -:10268000757374206265206174206C6561737420B9 -:10269000312E0A003F2852296570656174206D75DE -:1026A0007374206265207370656369666965642070 -:1026B0007768656E206E6F74207573696E67206130 -:1026C0006E204C43442E0A003F537065636966696F -:1026D0006564206E6F7A7A6C652074656D706572C2 -:1026E0006174757265206E6F7420706C61757369AA -:1026F000626C652E0A003F537065636966696564A4 -:102700002066696C616D656E742073697A65206EF0 -:102710006F7420706C61757369626C652E0A003F7E -:10272000537065636966696564207072696D6520C0 -:102730006C656E677468206E6F7420706C61757361 -:1027400069626C652E0A003F5072696D65206C6588 -:102750006E677468206D7573742062652073706590 -:10276000636966696564207768656E206E6F7420A2 -:102770007573696E6720616E204C43442E0A003FDA -:10278000537065636966696564206E6F7A7A6C65FB -:102790002073697A65206E6F7420706C617573693F -:1027A000626C652E0A003F52657472616374696FD2 -:1027B0006E204D756C7469706C696572206D7573EF -:1027C00074206265207370656369666965642E0AAA -:1027D000003F537065636966696564205265747271 -:1027E000616374696F6E204D756C7469706C696596 -:1027F00072206E6F7420706C61757369626C652EE7 -:102800000A003F537065636966696564206C61798D -:10281000657220686569676874206E6F7420706CDB -:1028200061757369626C652E0A0043292E0A003FA8 -:1028300053706563696669656420626564207465C8 -:102840006D7065726174757265206E6F7420706C46 -:1028500061757369626C65202834302D004732360B -:10286000207374617274696E672E2E2E0A004F46B3 -:10287000460A0046616465204865696768742000FF -:10288000426564204C6576656C696E672000466120 -:10289000696C656420746F20656E61626C652042AE -:1028A0006564204C6576656C696E670A00496E76D2 -:1028B000616C6964206D6573682E0A004469666600 -:1028C00065723A200046726F6D5374703A0053740B -:1028D00065707065723A00556E4C6576656C3A00AD -:1028E0004C6576656C65643A005261773A20202029 -:1028F00020000A4C6F676963616C3A004361703A6B -:10290000004D302F3120427265616B2043616C6C49 -:10291000656400436F6E74696E7565004D302F31CC -:1029200020427265616B2043616C6C65640050727B -:102930006F6265205A204F66667365743A200050B6 -:10294000726F62652059204F66667365743A200085 -:1029500050726F62652058204F66667365743A2026 -:10296000003F59206F7574206F662072616E676535 -:102970002028302D33363020746F20333630290A2A -:10298000003F58206F7574206F662072616E676516 -:102990002028302D33363020746F20333630290A0A -:1029A000003F5A206F7574206F662072616E6765F4 -:1029B00020282D323020746F203230290A00220A5C -:1029C00000656E7175657565696E6720220020422D -:1029D000002050006F6B000000B4430000B44300BF -:1029E00000000000004842000048420000804057BC -:1029F00061726E696E673A20486F6D696E6720423A -:102A0000756D702044697669736F72203C20310ABD -:102A1000000202040000A0400000A04000000040AE -:102A20000000B4430000B4430000C8430101FF525A -:102A30006573656E643A200043616E6E6F74206F3B -:102A400070656E2073756264697220002569730079 -:102A500025696D20256973002569682025696D2029 -:102A600025697300256964202569682025696D2022 -:102A70002569730025697920256964202569682006 -:102A800025696D202569730023646566696E65207C -:102A900044454641554C545F0000626564004B64F8 -:102AA00020004B6920004B702000504944204175A4 -:102AB000746F74756E652066696E697368656421EC -:102AC0002050757420746865206C617374204B709D -:102AD0002C204B6920616E64204B6420636F6E7301 -:102AE00074616E74732066726F6D2062656C6F77AF -:102AF00020696E746F20436F6E66696775726174CA -:102B0000696F6E2E680A00504944204175746F74D5 -:102B1000756E65206661696C6564212074696D65F8 -:102B20006F75740A00453120544845524D414C2080 -:102B300052554E4157415900424544205448455250 -:102B40004D414C2052554E415741590054686572D1 -:102B50006D616C2052756E61776179004531204856 -:102B6000656174696E67204661696C6564004265E1 -:102B7000642048656174696E67204661696C6564AC -:102B80000048656174696E67206661696C65640000 -:102B9000504944204175746F74756E652066616993 -:102BA0006C6564212054656D706572617475726521 -:102BB00020746F6F20686967680A00204B643A20B0 -:102BC00000204B693A2000204B703A20000A204335 -:102BD0006C617373696320504944200A00204B6480 -:102BE0003A2000204B693A2000204B703A20000A1E -:102BF000204E6F206F76657273686F6F740A0020C5 -:102C000054753A2000204B753A2000206D61783AC7 -:102C10002000206D696E3A200020643A2000206276 -:102C20006961733A2000504944204175746F74758E -:102C30006E652073746172740A00504944204175B6 -:102C4000746F74756E65206661696C6564212054CB -:102C5000656D706572617475726520746F6F206840 -:102C60006967680A00504944204175746F74756E35 -:102C700065206661696C6564212042616420657825 -:102C8000747275646572206E756D6265720A00708B -:102C9000012C0190012701B0012201C0011D01F0AA -:102CA0000118011002130130020E016002090190A7 -:102CB000020401C002FF000003FA004003F5008097 -:102CC00003F000D003EB002004E6007004E100E014 -:102CD00004DC004005D700C005D2004006CD00D07E -:102CE00006C8008007C3003008BE00F008B900C065 -:102CF00009B400B00AAF00B00BAA00D00CA50000C8 -:102D00000EA000500F9B00C01096005012910000C2 -:102D1000148C00C0158700B0178200B0197D00D058 -:102D20001B7800001E730040206E0090226900F0A6 -:102D300024640040275F0090295A00E02B550010C2 -:102D40002E500020304B0010324600E033410090FE -:102D5000353C001037370070383200A0392D00B0F4 -:102D60003A2800A03B2300603C1E00103D19009053 -:102D70003D1400103E0F00703E0A00C03E050000EA -:102D80003F0000403FFBFF803FF6FFC03FF1FF20C8 -:102D90002D20496E76616C69642065787472756463 -:102DA0006572206E756D62657220210A001000C97F -:102DB0000210012C014001220170011801B0010E26 -:102DC00001F00104015002FA00B002F0003003E605 -:102DD00000D003DC009004D2007005C800A006BE3D -:102DE000000008B400B009AA00D00BA000600E9645 -:102DF0000060118C000015820020197800C01D6E43 -:102E000000A0226400B0275A00902C5000003146E8 -:102E100000E0343C0010383200903A2800603C1E3C -:102E200000A03D1400803E0A00203F0000453120F4 -:102E3000544845524D414C2052554E41574159003E -:102E400042454420544845524D414C2052554E4134 -:102E500057415900546865726D616C2052756E61FE -:102E6000776179004531204572723A204D415854BE -:102E7000454D50004572723A204D415854454D50D1 -:102E800020424544004D415854454D5020747269CC -:102E9000676765726564004531204572723A204D5E -:102EA000494E54454D50004572723A204D494E549A -:102EB000454D5020424544004D494E54454D50200B -:102EC000747269676765726564000A0A0020205A97 -:102ED0005F4D494E3A002020595F4D41583A00203D -:102EE00020585F4D41583A004D3834205820592021 -:102EF0005A204500202F002042403A0020403A004E -:102F000020573A0020573A006F70656E00545249BE -:102F1000474745524544003A200066696C616D653B -:102F20006E74007A5F6D696E00795F6D617800780C -:102F30005F6D6178005265706F7274696E672065AD -:102F40006E6473746F70207374617475730A0020FB -:102F50005A3A0020593A0020436F756E7420583A4F -:102F60000020453A00205A3A0020593A00583A00C9 -:102F700020746F6F206C6F6E672065787472757344 -:102F8000696F6E2070726576656E7465640A0020E4 -:102F9000636F6C6420657874727573696F6E2070EE -:102FA000726576656E7465640A00446F6E652E0AFC -:102FB0000066616C7365004641494C3A204E6F20B3 -:102FC00074726967676572206465746563746564AB -:102FD0000A004641494C3A204E6F6973652064658A -:102FE000746563746564202D20706C656173652061 -:102FF00072652D72756E20746573740A00206465A5 -:103000007465637465642E0A003D20424C546F75EC -:103010006368207072652056332E3120286F72202D -:10302000636F6D70617469626C6529003D205A2080 -:10303000536572766F2050726F6265003D20424C7E -:10304000546F7563682056332E310020282B2F2DA6 -:1030500020346D73293A20003A2033306D73206F8D -:1030600072206D6F72650A002E2050756C7365209A -:103070007769647468002A2A20506C656173652042 -:10308000747269676765722070726F626520776914 -:103090007468696E20333020736563202A2A0A0021 -:1030A0004641494C3A20424C544F55434820656EA6 -:1030B00061626C6564202D205365742075702074E6 -:1030C0006869732064657669636520617320612097 -:1030D000536572766F2050726F62652077697468ED -:1030E00020494E56455254494E472073657420740A -:1030F0006F202774727565272E0A002020444550E2 -:103100004C4F5945442073746174653A204C4F57B5 -:1031100020286C6F676963203029002020444550C7 -:103120004C4F5945442073746174653A20484947AF -:103130004820286C6F676963203129003D204D6568 -:103140006368616E6963616C20537769746368209A -:1031500064657465637465640A005741524E494E54 -:10316000473A20494E56455254494E47207365749C -:1031700074696E672070726F6261626C792062613F -:10318000636B77617264732E0A002E204465706C45 -:103190006F7920262073746F7720342074696D65F1 -:1031A000730A003D20424C546F75636820436C6184 -:1031B0007373696320312E322C20312E332C20532F -:1031C0006D61727420312E302C20322E302C203242 -:1031D0002E322C20332E302C20332E312064657477 -:1031E00065637465642E0A002E20436865636B2056 -:1031F000666F7220424C544F5543480A002E205AA5 -:103200005F4D494E5F454E4453544F505F494E56B3 -:10321000455254494E473A20002E2050726F626545 -:10322000205A5F4D494E5F50494E3A20002C207382 -:10323000746F7720616E676C653A202020002C2027 -:103240006465706C6F7920616E676C653A2000531D -:103250006572766F2070726F626520746573740A90 -:103260002E207573696E6720696E6465783A202038 -:10327000004D343320576169742043616C6C656480 -:1032800000436F6E74696E7565004D34332057616D -:1032900069742043616C6C6564005761746368698C -:1032A0006E672070696E730A0064697300656E0052 -:1032B00061626C65640A00656E6473746F70206D82 -:1032C0006F6E69746F722000204500205A002059EB -:1032D00000204D3932205800205A00205900580053 -:1032E00020204D61783A2000205A002059005800D3 -:1032F00020204D696E3A2000536F667420656E641D -:1033000073746F70733A20004732380020496E762C -:10331000616C696420657874727564657220000060 -:10332000002100240027002A002D00300033000176 -:10333000010000040107010A010000220025002805 -:10334000002B002E003100340002010000050108AE -:10335000010B01000020002300260029002C002F73 -:103360000032000001000003010601090105050506 -:1033700005070508080808020202020A0A080804EC -:10338000040404010101010101010103030303031A -:10339000030303040707070C0C0C0C0C0C0C0C02A9 -:1033A00002020206060606060606060B0B0B0B0BB0 -:1033B0000B0B0B01021020200808102040102040A9 -:1033C00080020102010804020101020408102040E9 -:1033D0008080402010080402018004020180402007 -:1033E0001008040201080402010102040810204030 -:1033F00080010204081020408000000A0B02090C22 -:103400000D0E08070304010000000000000000008A -:1034100000000000000000000000000000000000AC -:103420000000000000121110000000000000000069 -:10343000000000000000000000000000000000503C -:10344000726F62696E67204661696C65640A00503C -:10345000726F62696E67204661696C656400486FCF -:103460006D6520257325732573204669727374007A -:103470002046697273740A00486F6D652000544DD0 -:10348000334420453520506C757320526561647952 -:103490002E005072696E74696E672E2E2E00507267 -:1034A000696E74205061757365640063616E636555 -:1034B0006C005072696E742041626F7274656400B2 -:1034C00055492041626F727400726573756D6500B5 -:1034D0004D3234000000B4430000B4430000C84340 -:1034E000000000000000000000000000290A002089 -:1034F00062797465733B2063726320005365747452 -:10350000696E67732053746F7265642028004545A7 -:1035100050524F4D206461746173697A6520657201 -:10352000726F722E0A00290A002062797465733B5B -:103530002063726320002073746F7265642073656A -:103540007474696E677320726574726965766564F8 -:10355000202800202863616C63756C6174656429A0 -:10356000210A0020213D2000454550524F4D204367 -:103570005243206D69736D61746368202D20287338 -:10358000746F7265642920002053697A653A2000BF -:10359000496E6465783A2000204D61726C696E3D19 -:1035A000563730290A00454550524F4D20766572F6 -:1035B00073696F6E206D69736D617463682028454F -:1035C0004550524F4D3D000A20696E6974207A7053 -:1035D000726F62655F7A6F6666736574203D200066 -:1035E000454550524F4D20496E697469616C697A46 -:1035F00065640A0048617264636F646564204465B1 -:103600006661756C742053657474696E6773204CC1 -:103610006F616465640A00D0070000D00700006491 -:103620000000004B00000000803B4400803B440051 -:10363000002041000096420000A0420000A042008D -:103640000048440000BE423A0A0020204D36303384 -:10365000200020440020204D3431322053004669A0 -:103660006C616D656E742072756E6F757420736514 -:103670006E736F723A0A002055004C0046696C6107 -:103680006D656E74206C6F61642F756E6C6F616414 -:10369000206C656E677468733A0A0020204D3930DB -:1036A00030204B004C696E65617220416476616E1A -:1036B00063653A0A0020204D383531205A00202019 -:1036C0004D38353120590020204D383531205800F3 -:1036D0005A2D50726F6265204F66667365740020C4 -:1036E000440020490020204D333034205000204435 -:1036F0000020490020204D333031205000504944F3 -:103700002073657474696E67733A0A00204A00205A -:10371000204732392057204900205A0020204D34BC -:1037200032302053004175746F20426564204C652F -:1037300076656C696E673A0A00205A0020590020AD -:10374000204D323036205800486F6D65206F666618 -:103750007365743A0A00204A002054002053002068 -:10376000204D323035204200204A3C6A756E635F3E -:103770006465763E00416476616E6365643A20421A -:103780003C6D696E5F7365676D656E745F74696DBE -:10379000655F75733E20533C6D696E5F6665656459 -:1037A000726174653E20543C6D696E5F747261761F -:1037B000656C5F66656564726174653E00205400E7 -:1037C00020520020204D3230342050004163636588 -:1037D0006C65726174696F6E2028756E6974732FE1 -:1037E0007332293A20503C7072696E745F61636372 -:1037F000656C3E20523C726574726163745F6163F4 -:1038000063656C3E20543C74726176656C5F6163E5 -:1038100063656C3E0A00204500205A0020590020B4 -:10382000204D3230312058004D6178696D756D2022 -:10383000416363656C65726174696F6E2028756E93 -:103840006974732F7332293A0A00204500205A0008 -:1038500020590020204D3230332058004D617869C6 -:103860006D756D2066656564726174657320287579 -:103870006E6974732F73293A0A005374657073204C -:1038800070657220756E69743A0A0020204D3230DE -:10389000302044300A0020204D32303020440020B7 -:1038A00044697361626C65640A0046696C616D65A8 -:1038B0006E742073657474696E67733A0020286DA6 -:1038C0006D29002020473231202020203B20556EDA -:1038D00069747320696E206D6D00486F6D696E6745 -:1038E000204661696C6564002E0A006F70656E2069 -:1038F0006661696C65642C2046696C653A200070CD -:103900006F7765726F6666004B494C4C45442E20BC -:10391000005072696E7465722068616C7465642E03 -:10392000206B696C6C28292063616C6C6564210ACA -:103930000053544F505045442E20005072696E740D -:1039400065722073746F707065642064756520748F -:103950006F206572726F72732E20466978207468CA -:1039600065206572726F7220616E642075736520C8 -:103970004D39393920746F20726573746172742EF9 -:10398000202854656D706572617475726520697365 -:103990002072657365742E205365742069742061EC -:1039A000667465722072657374617274696E6729DA -:1039B0000A006563686F3A004572726F723A00429E -:1039C000696C696E656172204C6576656C696E67BD -:1039D00020477269643A0A00626564002C2073799A -:1039E0007374656D2073746F707065642120486511 -:1039F000617465725F49443A2000426564204865FD -:103A00006174696E67204661696C65640048656130 -:103A100074696E67206661696C6564004245442084 -:103A2000544845524D414C2052554E415741590042 -:103A3000546865726D616C2052756E6177617900B2 -:103A400045312048656174696E67204661696C651F -:103A5000640048656174696E67206661696C6564BD -:103A600000453120544845524D414C2052554E415D -:103A700057415900546865726D616C2052756E61D2 -:103A8000776179002B01010211241FBECFEFD1E233 -:103A9000DEBFCDBF00E00CBF18E0A0E0B2E0E0EF79 -:103AA000FDE502E00BBF02C007900D92AC3BB107F1 -:103AB000D9F72EE1ACEBB8E001C01D92A339B207F3 -:103AC000E1F71DE1C3E4DDE100E006C02197010953 -:103AD000802FFE010F94212BC234D10780E008070C -:103AE000A9F70F94C9140D94E62E0C9400002F92A0 -:103AF0003F924F925F926F927F928F929F92AF927E -:103B0000BF92CF92DF92EF92FF920F931F93CF93CA -:103B1000DF93CDB7DEB7E3970FB6F894DEBF0FBEE5 -:103B2000CDBF80910901817091E098272091DB0839 -:103B3000921781F19093DB08811116C00E94575EA5 -:103B40008091391883FF09C08FEB93E00E94C45322 -:103B500061E080E00F94AD0B1DC060E081E00F9448 -:103B6000AD0B88ED93E014C00091391803FB0027DA -:103B700000F90E94E65D80913918877F809339189B -:103B8000002341F060E081E00F94AD0B81EF93E002 -:103B90000E94C4538091A61481FF11C180912B16FD -:103BA00090912C16891B8F70843008F008C18CE02E -:103BB000E5EAF3E1DE01119601900D928A95E1F7B5 -:103BC0008091770290917802A0917902B0917A0267 -:103BD00088A799A7AAA7BBA79C01AD016091A513CF -:103BE0007091A6138091A7139091A8130F94292B7D -:103BF0006B017C016093A5137093A6138093A713A8 -:103C00009093A81380917B0290917C02A0917D02F9 -:103C1000B0917E028CA79DA7AEA7BFA79C01AD0166 -:103C20006091A9137091AA138091AB139091AC137A -:103C30000F94292B68A379A38AA39BA36093A9134C -:103C40007093AA138093AB139093AC1380917F026F -:103C500090918002A0918102B091820288AB99ABD1 -:103C6000AAABBBAB9C01AD016091AD137091AE13DB -:103C70008091AF139091B0130F94292B4B015C01ED -:103C80006093AD137093AE138093AF139093B01302 -:103C9000A7019601C701B6010F949A242B013C019C -:103CA00028A139A14AA15BA1CA01B9010F949A24A4 -:103CB0009B01AC01C301B2010F942A2B2B013C01E3 -:103CC000A5019401C501B4010F949A249B01AC0194 -:103CD000C301B2010F942A2B0F94D82D9B01AC0184 -:103CE00060E070E080E89FE30F94242C209165024F -:103CF0003091660240916702509168020F949A24B5 -:103D00002DEC3CEC4CEC5DE30F949A2420E030E089 -:103D100040E85EE30F949A242B013C0120E030E060 -:103D200040E85FE30F94342487FFF1C3A3019201BD -:103D3000C701B6010F949A2428A539A54AA55BA509 -:103D40000F942A2B6093A5137093A6138093A71347 -:103D50009093A813A301920168A179A18AA19BA1C4 -:103D60000F949A242CA53DA54EA55FA50F942A2B50 -:103D70006093A9137093AA138093AB139093AC1321 -:103D8000A3019201C501B4010F949A2428A939A96D -:103D90004AA95BA90F942A2B6093AD137093AE13BD -:103DA0008093AF139093B0130E941FDB8CE0FE0151 -:103DB0003196A5EAB3E101900D928A95E1F78091E1 -:103DC000DA0881110C945A398091D8089091D90859 -:103DD0009C012F5F3F4F3093D9082093D808883E2D -:103DE000934010F40C945A3981E08093DA081092D1 -:103DF000D9081092D8088091B312882309F498C387 -:103E00000E94EAC5811194C38091D7088F5F809387 -:103E1000D7088091D708853620F01092D7081092E5 -:103E2000B312E091B3128E2FEE0F990BAA0BBB0BBE -:103E3000FC013197E730F10508F0A0C08827EE5863 -:103E4000FF4F8F4F0D94212B0E94E2C5882309F468 -:103E500095C081E080933E0284E094E00E94C453C8 -:103E600080E190E09093BE168093BD1685E080932C -:103E7000B11602E80093B41684E190E1A0E0B0E04E -:103E80008093B5169093B616A093B716B093B81654 -:103E90000F94D10281E09AE59093BE168093BD16EF -:103EA00086E390E09093C0168093BF1687E08093DE -:103EB000B1160093B41684E890E0A0E0B0E08093DF -:103EC000B5169093B616A093B716B093B8160F9484 -:103ED000D10252C00E94E2C5882309F44FC048C0F5 -:103EE00082E194E00E94C45381E09AE59093BE166B -:103EF0008093BD1680E490E09093C0168093BF1627 -:103F000007E00093B11682E88093B41684E890E04D -:103F1000A0E0B0E08093B5169093B616A093B716C4 -:103F2000B093B8160F94D1020093B31227C08091BA -:103F3000D608882319F10E94E2C58823F9F00E946F -:103F4000EAC581111BC0F7C20E94E2C58823B1F007 -:103F50000E94EAC5811112C01CC30E94EAC58111EA -:103F60000DC042E060E070E0CB010E9400C604C0DA -:103F70000E94EAC5811102C01092B31280913E02E4 -:103F8000882309F4ACC28091AF129091B012892BB2 -:103F900009F08FC18091D3089091D408892B09F042 -:103FA0001EC184E096E09093BE168093BD1680EA11 -:103FB00090E89093C0168093BF1617E01093B11647 -:103FC00002E80093B41680EA90E0A0E0B0E08093AD -:103FD000B5169093B616A093B716B093B8160F9473 -:103FE000D1028091060290910702A0910802B0913F -:103FF00009020097A105B10511F51092BE161092A5 -:10400000BD1615E01093B1160093B4168AE890E13E -:10401000A0E0B0E08093B5169093B616A093B716C3 -:10402000B093B8160F94D10289E090E09093BE1639 -:104030008093BD161093B1160093B41640C001963C -:10404000A11DB11DF5E0B695A79597958795FA95B1 -:10405000D1F70197A109B109009731E0A307B10594 -:1040600058F0B093BE16A093BD169093C0168093DF -:10407000BF161093B11607C09093BE168093BD165D -:1040800085E08093B11612E81093B4168AE890E1A7 -:10409000A0E0B0E08093B5169093B616A093B71643 -:1040A000B093B8160F94D10288E090E09093BE16BA -:1040B0008093BD1685E08093B1161093B4168CE8FA -:1040C00090E1A0E0B0E08093B5169093B616A0936F -:1040D000B716B093B8160F94D10280910602909152 -:1040E0000702A0910802B09109020097E1E0AE0733 -:1040F000B10550F0B093BE16A093BD169093C016B4 -:104100008093BF1687E005C09093BE168093BD16BE -:1041100085E08093B11682E88093B41688E890E138 -:10412000A0E0B0E08093B5169093B616A093B716B2 -:10413000B093B8160F94D1028091060290910702B5 -:10414000A0910802B0910902BA2FA92F982F8827B1 -:104150000097F1E0AF07B10550F0B093BE16A09301 -:10416000BD169093C0168093BF1687E005C090934C -:10417000BE168093BD1685E08093B11612E81093A9 -:10418000B41681EA90E0A0E0B0E08093B516909379 -:10419000B616A093B716B093B8160F94D1028091BB -:1041A000B618882319F082E090E002C083E090E026 -:1041B0009093BE168093BD1685E08093B116109340 -:1041C000B41685E490E1A0E0B0E08093B51690933A -:1041D000B616A093B716B093B8160F94D1020091FB -:1041E000D3081091D408053611057CF41093BE163F -:1041F0000093BD1685E08093B11682E88093B416D3 -:1042000080E090E1A0E0B0E011C0C80184569109BF -:104210009093BE168093BD1685E08093B11682E818 -:104220008093B41681E090E1A0E0B0E08093B516F1 -:104230009093B616A093B716B093B8160F94D10208 -:104240000F5F1F4F1093D4080093D308093C11054A -:1042500064F180E294E00E94C45381E090E0909386 -:10426000B0128093AF1280933E0281E09AE5909362 -:10427000BE168093BD168DE290E09093C016809399 -:10428000BF1687E08093B11682E88093B41684E865 -:1042900090E0A0E0B0E08093B5169093B616A0939E -:1042A000B716B093B8160F94D1021092DA080C9496 -:1042B0005A3980912B1690912C16891B8F7009F01A -:1042C00092C10E9487CF81118EC18091391882FDE1 -:1042D0008AC112C384E690E09093BE168093BD1607 -:1042E0001093B1160093B4168EE090E1A0E0B0E018 -:1042F0008093B5169093B616A093B716B093B816E0 -:104300000F94D102C60182539048880F991F909351 -:10431000BE168093BD161093B1160093B4168FE0AD -:1043200090E1A0E0B0E08093B5169093B616A0930C -:10433000B716B093B8160F94D1020E9417F590E00B -:104340009093BE168093BD1685E08093B11682E8E7 -:104350008093B41686E190E1A0E0B0E08093B516BA -:104360009093B616A093B716B093B8160F94D102D7 -:1043700020E030E048EC52E46091C9137091CA1318 -:104380008091CB139091CC130F949A240F94962C78 -:104390007093BE166093BD1615E01093B11602E837 -:1043A0000093B41686E290E1A0E0B0E08093B516E9 -:1043B0009093B616A093B716B093B8160F94D10287 -:1043C0006091EE0B7091EF0B8091F00B9091F10BDF -:1043D0000F94962C7093BE166093BD161093B11671 -:1043E0000093B41686E390E1A0E0B0E08093B516A8 -:1043F0009093B616A093B716B093B8160F94D10247 -:1044000060918709709188098091890990918A0942 -:104410000F94962C7093BE166093BD161093B11630 -:104420000093B4168CE390E1A0E0B0E08093B51661 -:104430009093B616A093B716B093B8160F94D10206 -:104440008091F20B9091F30B9093BE168093BD1662 -:104450001093B1160093B41684E390E1A0E0B0E0AD -:104460008093B5169093B616A093B716B093B8166E -:104470000F94D10280918B0990918C099093BE1674 -:104480008093BD161093B1160093B4168AE390E1A1 -:10449000A0E0B0E08093B5169093B616A093B7163F -:1044A000B093B8160F94D1020091CF0801113CC10E -:1044B0008091D108811138C18091D60881118BC1BA -:1044C0008091651690916616A0916716B091681656 -:1044D0008C3420E19207A105B10509F0A1C131E0BA -:1044E000C32E37E1D32E0AE187EA94E10E942F5CC4 -:1044F000E090C408F090C508181619060CF085C3A2 -:104500008AE1E816F10414F40C941B357EC38CE0A8 -:10451000FE013196A5EAB3E101900D928A95E1F78B -:104520000E941FDB8091A6148D7F8093A61447CC38 -:104530001092D7086ECC82ED95E00E94C453809112 -:10454000D50890E0A0E0B0E0895B9F4FAE4FB54A40 -:1045500021E03AE53093BE162093BD169093C01625 -:104560008093BF1687E08093B11682E88093B416DB -:1045700084E890E0A0E0B0E08093B5169093B61682 -:10458000A093B716B093B8160F94D1021092D60824 -:10459000F3CC81E080933E021092B31280EE95E05E -:1045A0000E94C45381E09AE59093BE168093BD1695 -:1045B0008EE490E09093C0168093BF1687E08093BE -:1045C000B11682E88093B41684E890E0A0E0B0E0F1 -:1045D0008093B5169093B616A093B716B093B816FD -:1045E0000F94D102CBCC8CE090E09093BE168093D8 -:1045F000BD1605E00093B11682E88093B41684E1FD -:1046000090E1A0E0B0E08093B5169093B616A09329 -:10461000B716B093B8160F94D1020E94F9F320E1B7 -:104620003EE040E050E00F948A2A2115310591E0E8 -:104630004907510560F05093BE164093BD16309364 -:10464000C0162093BF1687E08093B11606C0309342 -:10465000BE162093BD160093B11602E80093B4165F -:1046600080E190E1A0E0B0E08093B5169093B6169B -:10467000A093B716B093B8160F94D1020E94F9F325 -:1046800020E13EE040E050E00F948A2A2CE330E045 -:1046900040E050E00F948A2A3093BE162093BD1656 -:1046A00015E01093B1160093B41682E190E1A0E0FA -:1046B000B0E08093B5169093B616A093B716B0935A -:1046C000B8160F94D1020E9417F5882391F00E942A -:1046D00017F58F5F8093D208C82ED12C833308F052 -:1046E000F9CDC601880F991F9093BE168093BD1611 -:1046F00004C01092BE161092BD161093B11600930E -:10470000B4168EE090E1A0E0B0E08093B5169093EF -:10471000B616A093B716B093B8160F94D1021092A4 -:10472000BE161092BD16F7CD20E030E048EC52E402 -:104730006091EE0B7091EF0B8091F00B9091F10B6B -:104740000F949A246B017C016091F20B7091F30B32 -:10475000072E000C880B990B0F943B249B01AC0196 -:10476000C701B6010F94242C0F949D2C643671055B -:1047700010F064E670E07093BE166093BD1645E0DD -:10478000A42EA092B11652E8B52EB092B41684E2CF -:1047900090E1A0E0B0E08093B5169093B616A09398 -:1047A000B716B093B8160F94D102C090EE0BD0900C -:1047B000EF0BE090F00BF090F10B20E030E040E2E6 -:1047C00053E4C701B6010F948A2D18160CF03AC1B4 -:1047D000011188C137C18091C60801E0080F00931C -:1047E000C60890E09093BE168093BD1685E0809336 -:1047F000B11682E88093B41682E490E1A0E0B0E0C4 -:104800008093B5169093B616A093B716B093B816CA -:104810000F94D1020A3008F453CE1092C60850CE3D -:104820008A349041A105B10509F459CE80E00E9477 -:10483000DEC620E030E040E251E40F949A240F9469 -:10484000962C7093BE166093BD1615E01093B116AA -:1048500002E80093B41688E490E1A0E0B0E0809311 -:10486000B5169093B616A093B716B093B8160F94DA -:10487000D10281E00E94DEC620E030E040E251E457 -:104880000F949A240F94962C7093BE166093BD16C5 -:104890001093B1160093B4168AE490E1A0E0B0E062 -:1048A0008093B5169093B616A093B716B093B8162A -:1048B0000F94D10282E00E94DEC620E030E040E2A8 -:1048C00051E40F949A240F94962C7093BE16609323 -:1048D000BD161093B1160093B4168CE490E1A0E0DD -:1048E000B0E08093B5169093B616A093B716B09328 -:1048F000B8160F94D102F3CD809187099091880961 -:10490000A0918909B0918A0988A399A3AAA3BBA3FE -:1049100060918B0970918C09072E000C880B990B04 -:104920000F943B246B017C0120E030E040E050E438 -:104930000F94292B28A139A14AA15BA10F948A2D9C -:10494000181604F14090EE0B5090EF0B6090F00BB6 -:104950007090F10B6091F20B7091F30B072E000C2D -:10496000880B990B0F943B244B015C0120E030E055 -:1049700040E251E40F94292BA30192010F948A2D58 -:10498000181604F58DE090E09093BE168093BD1646 -:1049900085E08093B11682E88093B41684E190E1BB -:1049A000A0E0B0E08093B5169093B616A093B7162A -:1049B000B093B8160F94D1028091B21281113FC00A -:1049C00081E03DC020E030E040E050E4C701B601A6 -:1049D0000F942A2B28A139A14AA15BA10F9434245A -:1049E00087FD0EC020E030E040E251E4C501B40193 -:1049F0000F942A2BA30192010F94342487FFB8CC83 -:104A000084E190E09093BE168093BD1685E080937C -:104A1000B11682E88093B41684E190E1A0E0B0E0A2 -:104A20008093B5169093B616A093B716B093B816A8 -:104A30000F94D1028091B212811101C082E0809363 -:104A4000B21296CC6091F20B7091F30B072E000C12 -:104A5000880B990B0F943B249B01AC01C701B60155 -:104A60000F948A2D6091D10887FDAEC0662309F4AA -:104A700023CD062E000C770B8BE397E00F94620B8F -:104A80001092D1081092D4081092D30884E090E0DC -:104A90009093BE168093BD1685E08093B11602E810 -:104AA0000093B4168EE890E1A0E0B0E08093B516D4 -:104AB0009093B616A093B716B093B8160F94D10280 -:104AC00081E09AE59093BE168093BD1683E590E051 -:104AD0009093C0168093BF1687E08093B116009321 -:104AE000B41663C01092CF0820E030E040E251E4F9 -:104AF0006091C7087091C8088091C9089091CA0850 -:104B00000F949A240F94962C7093BE166093BD1642 -:104B1000A092B116B092B41684E590E1A0E0B0E0A6 -:104B20008093B5169093B616A093B716B093B816A7 -:104B30000F94D10220E030E040E251E46091CB08D4 -:104B40007091CC088091CD089091CE080F949A2452 -:104B50000F94962C7093BE166093BD16A092B1165A -:104B6000B092B41688E590E1A0E0B0E08093B5166D -:104B70009093B616A093B716B093B8160F94D102BF -:104B80008EEE95E00E94C45381E09AE59093BE16A4 -:104B90008093BD1681E490E09093C0168093BF1679 -:104BA00087E08093B116B092B41684E890E0A0E05C -:104BB000B0E08093B5169093B616A093B716B09355 -:104BC000B8160F94D10278CC662309F475CC809185 -:104BD000D3089091D4089C012F5F3F4F3093D408A5 -:104BE0002093D30865E070E00F940D2B9093BE16D0 -:104BF0008093BD1685E08093B11682E88093B41649 -:104C00008EE890E1A0E0B0E0D4CF1E141F040CF0B9 -:104C10004CCB9091621680910117981322C090910D -:104C200063168091021798131CC023E0E216F1046A -:104C3000C4F09091031790936116809104178093AC -:104C400064169330D1F4982F9D7F9038B1F49091F1 -:104C500005179F3409F059C0909106179B3409F04D -:104C600054C08AE1E1E0F7E1DF011D928A95E9F79E -:104C70001092C5081092C40818CB833809F045C0BB -:104C80008091051790910617982789279827A0E00B -:104C9000B0E08093651690936616A0936716B09364 -:104CA0006816C0900717D12CE12CF12CC092691620 -:104CB000D0926A16E0926B16F0926C16A8E0B7E1FB -:104CC00040E050E0BA014C155D056E057F0508F027 -:104CD0004AC04A015B01B694A79497948794F40163 -:104CE0003696EE0FFF1FEF59F94E8C9190E0982FFA -:104CF000882711962C911197822B918380834E5F88 -:104D00005F4F6F4F7F4F1296DECF813861F58091F4 -:104D1000051790E0A0E0B0E08093651690936616CA -:104D2000A0936716B093681680910617482F50E03D -:104D300060E070E04093691650936A1660936B16BA -:104D400070936C16A7E0B7E1EDE6F6E190E020E0A5 -:104D500030E02817390739F04D9150E041935193D5 -:104D60002F5F3F4FF6CF8AE1E1E0F7E1DF011D92CF -:104D70008A95E9F71092C5081092C40881E394E07F -:104D80000E94C4536091B312161664F4062E000CF0 -:104D9000770B80E397E00F94620B8AE00E94B95290 -:104DA0000C940C3560916D1670916E168EE197E043 -:104DB0000F94440B8AE00E94B952409165165091BD -:104DC000661660916716709168168FE097E00F94F1 -:104DD000330B8AE00E94B952809165169091661655 -:104DE000A0916716B0916816EDE8F2E000E010E0DF -:104DF0004191519161917191411551056105710583 -:104E0000D1F1481759076A077B0791F5AC01BD013D -:104E100048505041610971094530510561057105DE -:104E200068F1AC01BD01477F423350416105710516 -:104E300041F18433F0E19F07A105B10511F1AC0107 -:104E4000BD01465450416109710947305105610562 -:104E50007105D0F0AC01BD014455504161097109A3 -:104E6000453051056105710588F402E110E00EC07E -:104E70000F5F1F4FBDCF0FEF1FEF08C003E010E023 -:104E800005C008E010E002C00FE010E08A50904238 -:104E9000A109B109833D9105A105B10530F00F3F8E -:104EA0002FEF120721F40C940C3509E110E0F2E524 -:104EB000CF2EF4E0DF2EF60181916F01882319F0E7 -:104EC0000E94B952F8CFB801012E000C880B990B43 -:104ED0000E942D530E94BE5383E097E00E94C4536A -:104EE0000A31110510F00C940835F8018827E758AD -:104EF000FF4F8F4F0D94212B80916D1690916E1660 -:104F000081309105E1F410923E028FEF8093151BE2 -:104F100060E080E00F94AD0B00E614E0D8018D91C5 -:104F20008D01882319F00E94B952F8CF81E09AE5EB -:104F30009093BE168093BD168EE290E0AFC0823093 -:104F4000910509F0C5C081E080933E020E9488F57A -:104F50008FEF96E09093C0098093BF098BE090E0BB -:104F60009093BE168093BD1605E00093B11612E82B -:104F70001093B41680E092E1A0E0B0E08093B51603 -:104F80009093B616A093B716B093B8160F94D102AB -:104F90001092BE161092BD160093B1161093B4165F -:104FA0008EE090E1A0E0B0E08093B5169093B61645 -:104FB000A093B716B093B8160F94D1021092BE16F4 -:104FC0001092BD160093B1161093B4168FE090E1C5 -:104FD000A0E0B0E08093B5169093B616A093B716F4 -:104FE000B093B8160F94D1021092BE161092BD164F -:104FF0000093B1161093B41686E190E1A0E0B0E002 -:105000008093B5169093B616A093B716B093B816C2 -:105010000F94D10262E070E080E090E00E94F2C65E -:105020001092BE161092BD160093B1161093B416CE -:1050300080E190E1A0E0B0E08093B5169093B616C1 -:10504000A093B716B093B8160F94D1021092BE1663 -:105050001092BD160093B1161093B41682E190E140 -:10506000A0E0B0E08093B5169093B616A093B71663 -:10507000B093B8160F94D1020AE814E0F8018191B8 -:105080008F01882319F00E94B952F8CF81E09AE588 -:105090009093BE168093BD168DE290E09093C0165B -:1050A0008093BF1687E08093B11682E88093B41690 -:1050B00084E890E0A0E0B0E08093B5169093B61637 -:1050C000A093B716B093B8160F94D1020C940C3578 -:1050D0008330910549F581E080933E0204EB14E0B2 -:1050E000D8018D918D018823C9F00E94B952F8CF63 -:1050F0008091651690916616A0916716B09168161A -:105100008233F0E19F07A105B10509F05BC48091EE -:105110006D1690916E16009709F023C480910502D8 -:10512000882309F40DC31DC3049711F00C940C35AA -:1051300010923E020C940C3580916D1690916E1673 -:1051400081309105D1F410923E02809105028823AE -:1051500019F082E090E002C083E090E09093BE16E8 -:105160008093BD1685E08093B11682E88093B416D3 -:105170008EE190E1A0E0B0E09FCF8230910519F57B -:105180000EED14E0F80181918F01882319F00E943F -:10519000B952F8CF81E080933E028091B212843000 -:1051A00049F081E09AE59093BE168093BD1685E3A1 -:1051B00090E074CF81E09AE59093BE168093BD167F -:1051C00086E390E06BCF8330910509F04CC02091CD -:1051D0000502222319F19093BE168093BD1685E037 -:1051E0008093B11682E88093B4168EE190E1A0E03E -:1051F000B0E08093B5169093B616A093B716B0930F -:10520000B8160F94D10240E060E070E088EC92E4C0 -:105210000E94EFF5109205020C940C3582E090E0AC -:105220009093BE168093BD1685E08093B11682E8F8 -:105230008093B4168EE190E1A0E0B0E08093B516C3 -:105240009093B616A093B716B093B8160F94D102E8 -:1052500040E060E070E0CB010E94EFF581E08093D8 -:1052600005020C940C35049711F00C940C358091C8 -:105270009A098823F1F082E090E09093BE16809323 -:10528000BD1685E08093B11682E88093B4168FE155 -:1052900090E1A0E0B0E08093B5169093B616A0938D -:1052A000B716B093B8160F94D10210929A090C94C5 -:1052B0000C3583E090E09093BE168093BD1685E098 -:1052C0008093B11682E88093B4168FE190E1A0E05C -:1052D000B0E08093B5169093B616A093B716B0932E -:1052E000B8160F94D10281E080939A090C940C3582 -:1052F00060916D1670916E1680E090E00F943924E5 -:105300006B017C0120E030E04AEF53E40F94342439 -:1053100087FF11C020E030E040E251E4C701B60150 -:105320000F948A2D18166CF0C12CD12C70E2E72E48 -:1053300071E4F72E06C0C12CD12CEAEFEE2EE3E487 -:10534000FE2EC701B6010F94962C709360026093F5 -:105350005F020C940C358091651690916616A091B1 -:105360006716B09168168830F0E19F07A105B10576 -:1053700009F050C081E09AE59093BE168093BD1667 -:105380008DE290E09093C0168093BF1687E08093E3 -:10539000B11612E81093B41684E890E0A0E0B0E0F3 -:1053A0008093B5169093B616A093B716B093B8161F -:1053B0000F94D1021092BE161092BD1605E0009314 -:1053C000B1161093B41680E190E1A0E0B0E08093B4 -:1053D000B5169093B616A093B716B093B8160F945F -:1053E000D1021092BE161092BD160093B116109302 -:1053F000B41682E190E1A0E0B0E08093B5169093FE -:10540000B616A093B716B093B8160F94D1020E94A7 -:1054100088F58FC08A3020E19207A105B105E1F53A -:1054200080916D1690916E16813F910511F00C944C -:105430000C3581E09AE59093BE168093BD1686E305 -:1054400090E09093C0168093BF1687E08093B116CA -:1054500082E88093B41684E890E0A0E0B0E0809306 -:10546000B5169093B616A093B716B093B8160F94CE -:10547000D1024EE755E065E875E084E00E94A28E17 -:1054800060E081E795E00E9449F587E695E090931A -:10549000C0098093BF094DC08C309041A105B10572 -:1054A00009F047C080916D1690916E16019709F032 -:1054B00040C00F940C1E1092B21281E080933E0205 -:1054C0008CE090E09093BE168093BD1685E08093AB -:1054D000B11612E81093B41684E190E1A0E0B0E0B8 -:1054E0008093B5169093B616A093B716B093B816DE -:1054F0000F94D10281E09AE59093BE168093BD1679 -:1055000085E390E09093C0168093BF1687E0809368 -:10551000B1161093B41684E890E0A0E0B0E0809358 -:10552000B5169093B616A093B716B093B8160F940D -:10553000D1028091651690916616A0916716B09180 -:1055400068168C309041A105B10511F00C940C3512 -:1055500080916D1690916E16029711F00C940C3597 -:105560000F940C1E81E08093D1081092B2128093A8 -:105570003E021092D4081092D30881E09AE59093ED -:10558000BE168093BD1682E590E088CD20916D1601 -:1055900030916E16B90180E090E037FF09C00F949A -:1055A000392420E030E040E857E40F94292B02C072 -:1055B0000F94392420E030E048EC52E40F94242C7E -:1055C0006B017C0120E030E040EA51EC0F948A2D21 -:1055D00087FD31C020E030E040EA51E4C701B60168 -:1055E0000F94342418163CF1A70196016091C91359 -:1055F0007091CA138091CB139091CC130F94292BE7 -:1056000020E030E048EC53E40F949A2490580F9433 -:10561000962CCB010F94C605C092C913D092CA1321 -:10562000E092CB13F092CC138AEF96E09093C009EE -:105630008093BF0928C020E030E048EC52E460913C -:10564000C9137091CA138091CB139091CC130F940E -:105650009A240F94962C7093BE166093BD1685E025 -:105660008093B11682E88093B41686E290E1A0E0C0 -:10567000B0E08093B5169093B616A093B716B0938A -:10568000B8160F94D1026091C9137091CA1380911A -:10569000CB139091CC138E010B5E1F4F23E041E0A2 -:1056A0000F940C1F9F938F938CEE96E09F938F9394 -:1056B000045111091F930F930F94CC23C8010E942A -:1056C000CCC70F900F900F900F900F900F900C94ED -:1056D0000C3580916D1690916E16009729F481E03B -:1056E00080933E020C940C3581309105B1F4809189 -:1056F0000502882349F081E09AE59093BE168093D5 -:10570000BD168CE390E0CACC81E09AE59093BE167A -:105710008093BD168BE390E0C1CC82309105F9F205 -:105720008330910539F58091050240E0882389F0A6 -:1057300060E070E088EC92E40E94EFF510920502C0 -:1057400081E09AE59093BE168093BD1689E390E0C0 -:10575000A5CC60E070E0CB010E94EFF581E0809382 -:10576000050281E09AE59093BE168093BD168AE308 -:1057700090E094CC8530910559F540E060E070E010 -:1057800084E393E40E9475C546E060E070E08CE835 -:1057900092E40E9475C584EB90E09093BE168093CE -:1057A000BD1605E00093B11612E81093B41684E319 -:1057B00090E1A0E0B0E08093B5169093B616A09368 -:1057C000B716B093B8160F94D10286E490E02DC0BE -:1057D0008630910599F540E060E070E080E793E461 -:1057E0000E9475C546E060E070E08CED92E40E9496 -:1057F00075C580EF90E09093BE168093BD1605E0CE -:105800000093B11612E81093B41684E390E1A0E07F -:10581000B0E08093B5169093B616A093B716B093E8 -:10582000B8160F94D1028EE690E09093BE16809346 -:10583000BD160093B1161093B416BFC0813F9105F9 -:1058400011F00C940C3540E060E070E0CB010E9458 -:10585000EFF541E060E070E0CB010E94EFF51092BF -:10586000050240E060E070E0CB010E9475C546E0B3 -:1058700060E070E0CB010E9475C51092BE161092D8 -:10588000BD1605E00093B11612E81093B41684E338 -:1058900090E1A0E0B0E08093B5169093B616A09387 -:1058A000B716B093B8160F94D10261E070E080E0B3 -:1058B00090E00E94F2C61092BE161092BD160093A0 -:1058C000B1161093B4168AE390E1A0E0B0E08093A3 -:1058D000B5169093B616A093B716B093B8160F945A -:1058E000D10261E070E080E090E00E94F2C684E1C5 -:1058F00090E09093BE168093BD160093B11610935E -:10590000B41684E190E1A0E0B0E08093B5169093E6 -:10591000B616A093B716B093B8160F94D10281E0D3 -:105920009AE59093BE168093BD1689E390E090931C -:10593000C0168093BF1687E08093B1161093B416FB -:1059400084E890E0A0E0B0E08093B5169093B6169E -:10595000A093B716B093B8160F94D10282E00C94BE -:10596000053581309105A9F440E060E070E0CB019D -:105970000E9475C51092BE161092BD1685E08093E8 -:10598000B11682E88093B41684E390E1A0E0B0E021 -:1059900093CB029711F00C940C3546E060E070E078 -:1059A000CB010E9475C51092BE161092BD1685E0FF -:1059B0008093B11682E88093B4168AE390E1A0E068 -:1059C000B0E07ACB843320E19207A105B10551F410 -:1059D00060916D1670916E1680E090E00F943924FE -:1059E00040E010C08A339041A105B10511F00C943C -:1059F0000C3560916D1670916E1680E090E00F94FA -:105A0000392446E00E9475C50C940C3580916D16C2 -:105A100090916E16009709F462CE8130910509F0DD -:105A20004CC08091B618882319F083E090E002C042 -:105A300082E090E09093BE168093BD1685E080933F -:105A4000B11682E88093B41685E490E1A0E0B0E05E -:105A50008093B5169093B616A093B716B093B81668 -:105A60000F94D1028AE090E09093BE168093BD1609 -:105A700085E08093B11682E88093B41680E092E1CD -:105A8000A0E0B0E08093B5169093B616A093B71639 -:105A9000B093B8160F94D1020E94E2C5811103C0E1 -:105AA0008CED96E002C080ED96E09093C009809363 -:105AB000BF0982E08093B31271C18230910509F071 -:105AC000A8C081E080933E0288E0E7ECF8E0DF01C7 -:105AD0001D928A95E9F780E090E0A0E2B1E480931E -:105AE000C7089093C808A093C908B093CA088093C8 -:105AF000CB089093CC08A093CD08B093CE0884E651 -:105B000090E09093BE168093BD1605E00093B11609 -:105B100012E81093B41684E590E1A0E0B0E0809321 -:105B2000B5169093B616A093B716B093B8160F9407 -:105B3000D10220E030E040E251E46091CB08709166 -:105B4000CC088091CD089091CE080F949A240F94A0 -:105B5000962C7093BE166093BD160093B1161093E9 -:105B6000B41688E590E1A0E0B0E08093B51690937C -:105B7000B616A093B716B093B8160F94D1026091E1 -:105B8000EE0B7091EF0B8091F00B9091F10B0F9455 -:105B9000962C7093BE166093BD160093B1161093A9 -:105BA000B41686E390E1A0E0B0E08093B516909340 -:105BB000B616A093B716B093B8160F94D102809181 -:105BC000F20B9091F30B9093BE168093BD16009349 -:105BD000B1161093B41684E390E1A0E0B0E0809396 -:105BE000B5169093B616A093B716B093B8160F9447 -:105BF000D10262E070E080E090E00E94F2C681E0B5 -:105C00009AE59093BE168093BD1681E490E00C94C3 -:105C100048368330910509F076C01092D50880E0AF -:105C20000E94DEC620E030E040E251E40F949A2466 -:105C30000F94962C7093BE166093BD1605E00093EA -:105C4000B11612E81093B41688E490E1A0E0B0E039 -:105C50008093B5169093B616A093B716B093B81666 -:105C60000F94D10281E00E94DEC620E030E040E2E5 -:105C700051E40F949A240F94962C7093BE1660935F -:105C8000BD160093B1161093B4168AE490E1A0E01B -:105C9000B0E08093B5169093B616A093B716B09364 -:105CA000B8160F94D10282E00E94DEC620E030E0F8 -:105CB00040E251E40F949A240F94962C7093BE16F0 -:105CC0006093BD160093B1161093B4168CE490E166 -:105CD000A0E0B0E08093B5169093B616A093B716E7 -:105CE000B093B8160F94D10262E070E080E090E0CB -:105CF0000E94F2C681E09AE59093BE168093BD168D -:105D000087E490E0C5C78430910509F485C68530E5 -:105D1000910549F44EE750E160E070E085E095E0E0 -:105D20000F94800279C6069709F076C68CEC96E04F -:105D30009093C0098093BF098BE090E02BC28091C3 -:105D40006D1690916E16019711F510923E0281E04A -:105D50009AE59093BE168093BD168FE390E09093E2 -:105D6000C0168093BF1687E08093B11682E88093B7 -:105D7000B41684E890E0A0E0B0E08093B51690936C -:105D8000B616A093B716B093B8160F94D1028091AF -:105D90006D1690916E16029709F03EC681E09AE565 -:105DA0009093BE168093BD1680E490E077C9E09191 -:105DB0006D16F0916E163197EB30F10508F0E4C1E5 -:105DC0008827ED56FF4F8F4F0D94212B8091A514FE -:105DD00080FF5CC6869580FD5CC658C62DEC3CEC09 -:105DE0004CEC5DE36091C9137091CA138091CB13A1 -:105DF0009091CC130F942A2B6B017C0120E030E0B2 -:105E000040EA51EC0F948A2D87FDC2C120E030E0BA -:105E100040EA51E4C701B6010F94342418160CF07F -:105E20003FC6B6C12DEC3CEC4CEC5DE36091C91370 -:105E30007091CA138091CB139091CC130F94292B9E -:105E40006B017C0120E030E040EA51EC0F948A2D98 -:105E500087FD9EC120E030E040EA51E4C701B60171 -:105E60000F94342418160CF092C692C180E00F945F -:105E700013080E94E2C5811103C083E796E002C0C7 -:105E800085E696E09093C0098093BF0982E08093F5 -:105E9000B31281E09AE59093BE168093BD1684E517 -:105EA00090E09093C0168093BF1687E08093B11660 -:105EB00082E88093B41684E890E0A0E0B0E080939C -:105EC000B5169093B616A093B716B093B8160F9464 -:105ED000D1025EC183E08093B31283E090E090939F -:105EE000BE168093BD1685E08093B11682E880933C -:105EF000B4168DE890E1A0E0B0E08093B5169093E1 -:105F0000B616A093B716B093B8160F94D102E12C31 -:105F1000F12C00E0DD24D394AA24A39445E0942E30 -:105F200055E0852E62E8762EDD2031F0CC24C39436 -:105F300035E0B32E10E005C0CC24CA94BB24BA943B -:105F400014E0DA24B116D1F1802F90E04897A4F53F -:105F50000F5FF701919EE00DF11D1124EE0FFF1F61 -:105F6000EE0FFF1FE75CFB4E20E030E04AE754E411 -:105F700060817181828193810F949A240F94962C71 -:105F80007093BE166093BD168092B1167092B416CF -:105F9000802F90E08158974F880F991F092E000C91 -:105FA000AA0BBB0B8093B5169093B616A093B716A9 -:105FB000B093B8160F94D1021C0DC4CFBFEFEB1AEB -:105FC000FB0AE5E0EE16F10409F0AECF81E09AE5B8 -:105FD0009093BE168093BD1685E590E09093C01611 -:105FE0008093BF1687E08093B11682E88093B41641 -:105FF00084E890E0A0E0B0E08093B5169093B616E8 -:10600000A093B716B093B8160F94D10287E096E02C -:106010009093C0098093BF09BBC042E060E070E08C -:1060200080E890E40E9400C640E060E070E084E315 -:1060300093E40E9400C641E060E070E084E393E4F2 -:1060400013C042E060E070E080E890E40E9400C687 -:1060500040E060E070E080E292E40E9400C641E02F -:1060600060E070E080E292E40E9400C686E08093E7 -:10607000B3128EC042E060E070E080E890E40E94DD -:1060800000C640E060E070E080EA93E4E6CF42E0E2 -:1060900060E070E080E890E40E9400C640E060E0CC -:1060A00070E080EA93E40CC042E060E070E080E8D9 -:1060B00090E40E9400C640E060E070E080E292E47C -:1060C0000E9400C641E060E070E080EA93E4CCCF3B -:1060D0008091B61881111CC083E090E09093BE16A9 -:1060E0008093BD1685E08093B11682E88093B41644 -:1060F00085E490E1A0E0B0E08093B5169093B616E9 -:10610000A093B716B093B8160F94D10281E01BC0CC -:1061100082E090E09093BE168093BD1685E0809358 -:10612000B11682E88093B41685E490E1A0E0B0E077 -:106130008093B5169093B616A093B716B093B81681 -:106140000F94D10280E00F94130820E030E048EC77 -:1061500052E46091C9137091CA138091CB1390914E -:10616000CC130F949A240F94962C7093BE166093C0 -:10617000BD1685E08093B11682E88093B41686E25E -:1061800090E1A0E0B0E09BCE8BEE95E00E94C4537E -:106190008AE090E09093BE168093BD1685E08093D0 -:1061A000B11682E88093B4164BC184E08093B31299 -:1061B0008091651690916616A0916716B091681649 -:1061C00060916D1670916E168834F0E19F07A105FD -:1061D000B10509F453C08A3420E19207A105B10545 -:1061E00009F456C08C3430E19307A105B10509F4D8 -:1061F0005AC086349041A105B10509F05EC06330F4 -:106200007105B9F58AED95E09093C0098093BF09B7 -:1062100081E08093D60880933E021092C60881E008 -:106220009AE59093BE168093BD168AE490E0909311 -:10623000C0168093BF1687E08093B11612E81093C2 -:10624000B41684E890E0A0E0B0E08093B516909397 -:10625000B616A093B716B093B8160F94D1028AE081 -:1062600090E09093BE168093BD1685E08093B116A2 -:10627000E5C06093D5081092B312CEC380E090E0E1 -:10628000A4EBB3E48CA39DA3AEA3BFA3312C15C094 -:1062900080E090E0A4EBB3E48CA39DA3AEA3BFA3E6 -:1062A000332433940AC080E090E0A8ECB3E48CA3DC -:1062B0009DA3AEA3BFA382E0382E80E090E00F94B0 -:1062C000392420E030E040E251E40F94242C6B01AB -:1062D0007C0120E030E0A9010F94342487FF09C03D -:1062E0001092C0081092C1081092C2081092C30800 -:1062F0001FC02CA13DA14EA15FA1C701B6010F9403 -:106300008A2D18164CF0C092C008D092C108E092B5 -:10631000C208F092C3080CC08CA19DA1AEA1BFA180 -:106320008093C0089093C108A093C208B093C3089B -:106330006091C0087091C1088091C2089091C30813 -:10634000432D0E9400C661E070E080E090E00E9472 -:10635000F2C680E00E94DEC620E030E040E251E478 -:106360000F949A240F94962C7093BE166093BD16CA -:1063700005E00093B11612E81093B41688E490E19A -:10638000A0E0B0E08093B5169093B616A093B71630 -:10639000B093B8160F94D10281E00E94DEC620E0CF -:1063A00030E040E251E40F949A240F94962C7093BD -:1063B000BE166093BD160093B1161093B4168AE40E -:1063C00090E1A0E0B0E08093B5169093B616A0934C -:1063D000B716B093B8160F94D10282E00E94DEC6C1 -:1063E00020E030E040E251E40F949A240F94962C80 -:1063F0007093BE166093BD160093B1161093B41639 -:106400008CE490E1A0E0B0E08093B5169093B616CE -:10641000A093B716B093B8160F94D10261E070E064 -:1064200080E090E00E94F2C61092B3128AE090E001 -:106430009093BE168093BD160093B1161093B416B8 -:1064400080E092E1A0E0B0E00C945C2880916516B9 -:1064500090916616A0916716B09168168635E0E1B6 -:106460009E07A105B10509F041C020E030E040E2FF -:1064700053E46091EE0B7091EF0B8091F00B9091D3 -:10648000F10B0F94342420916D1630916E1687FF16 -:106490000AC42530310508F006C480EA90E09093E4 -:1064A000BE168093BD1685E08093B11612E8109356 -:1064B000B41680E290E1A0E0B0E08093B51690932E -:1064C000B616A093B716B093B8160F94D10265E034 -:1064D00070E080E090E00E94F2C681E09AE590933F -:1064E000BE168093BD1682E490E0D2C38435F0E1FD -:1064F0009F07A105B105B9F460916D1670916E16F4 -:1065000080E090E00F94392420E030E040E251E454 -:106510000F94242C6093C7087093C8088093C9080F -:106520009093CA0879C288359041A105B10509F058 -:1065300073C260916D1670916E1680E090E00F94BA -:10654000392420E030E040E251E40F94242C6093A1 -:10655000CB087093CC088093CD089093CE085CC292 -:1065600060916D1670916E1684EC95E00F94440B5B -:1065700080916D1690916E1682309105A1F038F4DD -:10658000009771F00197E1F48EE295E043C2843008 -:10659000910579F058F0059799F489E995E00BC0D9 -:1065A00088E195E037C286EB95E005C08CEA95E07E -:1065B00002C087EA95E09093C0098093BF092CC27E -:1065C00082E495E027C281E595E00E94C453809162 -:1065D0006D1690916E168130910519F46499C3C4BB -:1065E0001BC2892B09F018C28FE595E00E94C453A5 -:1065F0008091BC08813039F585E795E00E94C4534D -:1066000081E09AE59093BE168093BD168EE290E0ED -:106610009093C0168093BF1687E08093B11682E8EE -:106620008093B41684E890E0A0E0B0E08093B516C3 -:106630009093B616A093B716B093B8160F94D102E4 -:106640001092B11235C0823069F489E895E00E9459 -:10665000C45381E09AE59093BE168093BD1686E3FD -:1066600090E00EC0833031F58DE995E00E94C4536F -:1066700081E09AE59093BE168093BD1681E490E088 -:106680009093C0168093BF1687E08093B11682E87E -:106690008093B41684E890E0A0E0B0E08093B51653 -:1066A0009093B616A093B716B093B8160F94D10274 -:1066B000109214141092BC080E9488F5ADC180910C -:1066C0006D1690916E168F3F910531F028F08FEF87 -:1066D00090E0A0E0B0E002C0A0E0B0E0809306024D -:1066E00090930702A0930802B093090280910602DA -:1066F00090910702A0910802B09109020097A105AC -:10670000B10509F51092BE161092BD1605E0009372 -:10671000B11612E81093B4168AE890E1A0E0B0E058 -:106720008093B5169093B616A093B716B093B8168B -:106730000F94D10289E090E09093BE168093BD162D -:106740000093B1163DC00196A11DB11D05E0B6959F -:10675000A795979587950A95D1F70197A109B10952 -:10676000009731E0A307B10550F0B093BE16A09397 -:10677000BD169093C0168093BF1687E005C0909316 -:10678000BE168093BD1685E08093B11612E8109373 -:10679000B4168AE890E1A0E0B0E08093B51690933B -:1067A000B616A093B716B093B8160F94D10288E02E -:1067B00090E09093BE168093BD1685E08093B1164D -:1067C0001093B4168CE890E1A0E0B0E08093B51689 -:1067D0009093B616A093B716B093B8160F94D10243 -:1067E0008091060290910702A0910802B0910902DF -:1067F000BA2FA92F982F88270097E1E0AE07B1059F -:1068000050F0B093BE16A093BD169093C01680931F -:10681000BF1687E005C09093BE168093BD1685E035 -:106820008093B11682E88093B41681EA90E0A0E0EC -:10683000B0E00C945C2881EB95E00E94C4530E9468 -:1068400069C5409165165091661660916716709102 -:106850006816882339F0433DF0E25F076105710552 -:1068600009F4C7C3423D50426105710509F0D4C027 -:1068700080916D1690916E16019709F00CC50E94DB -:1068800069C5882309F407C58091151B87FDC4C01D -:10689000A2E18A02C00111248053934E0E94FF5D41 -:1068A000C12C90E2D92EE12CF12C05E012E81092D7 -:1068B000BE161092BD160093B1161093B416C09276 -:1068C000B516D092B616E092B716F092B8160F949D -:1068D000D102BFEFCB1ADB0AEB0AFB0AEAE0CE16C5 -:1068E000E0E2DE06E104F10411F70091151BF2E18C -:1068F0000F02800111240859144EF8010190002064 -:10690000E9F7C8018E1B9F0B439697FD01967C010A -:10691000F594E7941E141F040CF0C6C49E012F5F6B -:106920003F4F690184E1D9011D928A95E9F7A701DA -:1069300062EC75E0C9010F949D2EB801C6018E0D61 -:106940009F1D0F94882E40E050E260E070E0C60189 -:106950000F94800262E070E080E090E00E94F2C656 -:1069600040E060E070E08FE793E40E94EFF541E0E3 -:1069700060E070E08FE793E40E94EFF5109205026B -:106980008DE090E09093BE168093BD1685E08093D5 -:10699000B11612E81093B41684E190E1A0E0B0E0E3 -:1069A0008093B5169093B616A093B716B093B81609 -:1069B0000F94D10262E070E080E090E00E94F2C6A5 -:1069C00081E09AE59093BE168093BD1685E390E032 -:1069D0009093C0168093BF1687E08093B1161093F2 -:1069E000B41684E890E0A0E0B0E08093B5169093F0 -:1069F000B616A093B716B093B8160F94D10281E0E3 -:106A000080933E028093B11283E08093B21204C05F -:106A10008EE895E00E94C45380E5E1E6F6E1DF01EF -:106A20001D928A95E9F78AE58093621685EA80933C -:106A300063160C94552187EA94E10E940D5CF701DE -:106A4000EF5FF84E8083809101178A3581F01E1424 -:106A50001F0414F00C947422D601E02F1D92EA95C5 -:106A6000E9F71092C5081092C4080C94742262E0F1 -:106A700070E080E090E00E94F2C6FFEFEF1AFF0A9C -:106A8000F092C508E092C4080C9474228CEB96E056 -:106A900002C08BEA96E09093C0098093BF0955CB62 -:106AA00088E290E00F94C6052DEC3CEC4CEC5DE3E5 -:106AB0006091C9137091CA138091CB139091CC133C -:106AC0000F942A2B6B017C0120E030E040EA51EC6E -:106AD0000F948A2D87FD12C020E030E040EA51E497 -:106AE000C701B6010F943424181644F0C092C9139C -:106AF000D092CA13E092CB13F092CC1320E030E096 -:106B000048EC52E46091C9137091CA138091CB1381 -:106B10009091CC130F949A240F94962C7093BE16D8 -:106B20006093BD1685E08093B11682E88093B41619 -:106B300086E290E1A0E0B0E08093B5169093B6169F -:106B4000A093B716B093B8160F94D1026091C913F1 -:106B50007091CA138091CB139091CC138E010B5E70 -:106B60001F4F23E041E00F940C1F9F938F938DE9FB -:106B700096E09F938F93045111091F930F930F94E5 -:106B8000CC23C8010E94CCC788E996E076C088ED86 -:106B90009FEF0F94C6052DEC3CEC4CEC5DE360914F -:106BA000C9137091CA138091CB139091CC130F9499 -:106BB000292B6B017C0120E030E040EA51EC0F947E -:106BC0008A2D87FD12C020E030E040EA51E4C70181 -:106BD000B6010F943424181644F0C092C913D09211 -:106BE000CA13E092CB13F092CC1320E030E048ECD3 -:106BF00052E46091C9137091CA138091CB139091A4 -:106C0000CC130F949A240F94962C7093BE16609315 -:106C1000BD1685E08093B11682E88093B41686E2B3 -:106C200090E1A0E0B0E08093B5169093B616A093E3 -:106C3000B716B093B8160F94D1026091C913709132 -:106C4000CA138091CB139091CC138E010B5E1F4F12 -:106C500023E041E00F940C1F9F938F938AE896E006 -:106C60009F938F93045111091F930F930F94CC237B -:106C7000C8010E94CCC785E896E09093C009809334 -:106C8000BF090F900F900F900F900F900F9080CA38 -:106C90009093C0168093BF1687E08093B11610932F -:106CA000B4160C9458282430310589F481E00F94EF -:106CB000F61D2091CB083091CC084091CD08509121 -:106CC000CE080F942A2B41E00F94CD1DB2C0253081 -:106CD000310508F4F4C02630310509F431C108F05B -:106CE00023C181E08093CF0840E060E070E08EE354 -:106CF00093E40E9475C520E030E048EC52E46091D6 -:106D0000EE0B7091EF0B8091F00B9091F10B0F94C3 -:106D10009A246B017C016091F20B7091F30B072EAA -:106D2000000C880B990B0F943B249B01AC01C7010D -:106D3000B6010F94242C0F949D2C6436710510F02D -:106D400064E670E07093BE166093BD1605E0009394 -:106D5000B11612E81093B41684E290E1A0E0B0E01E -:106D60008093B5169093B616A093B716B093B81645 -:106D70000F94D1026091EE0B7091EF0B8091F00BAC -:106D80009091F10B0F94962C7093BE166093BD16E4 -:106D90000093B1161093B41686E390E1A0E0B0E042 -:106DA0008093B5169093B616A093B716B093B81605 -:106DB0000F94D1028091F20B9091F30B9093BE1639 -:106DC0008093BD160093B1161093B41684E390E13E -:106DD000A0E0B0E08093B5169093B616A093B716D6 -:106DE000B093B8160F94D10265E070E080E090E0B7 -:106DF0000E94F2C681E09AE59093BE168093BD167C -:106E000084E490E09093C0168093BF1687E080934F -:106E1000B1161093B41684E890E0A0E0B0E080933F -:106E2000B5169093B616A093B716B093B8160F94F4 -:106E3000D10220E030E040E251E46091C708709157 -:106E4000C8088091C9089091CA080F949A240F9499 -:106E5000962C7093BE166093BD1605E00093B11694 -:106E600012E81093B41684E590E1A0E0B0E08093BE -:106E7000B5169093B616A093B716B093B8160F94A4 -:106E8000D10220E030E040E251E46091CB08709103 -:106E9000CC088091CD089091CE080F949A240F943D -:106EA000962C7093BE166093BD160093B116109386 -:106EB000B41688E590E1A0E0B0E00C945C282230A4 -:106EC000310579F480E00F94F61D2091C7083091C8 -:106ED000C8084091C9085091CA080F942A2B40E075 -:106EE000F3CE2330310570F081E00F94F61D209130 -:106EF000CB083091CC084091CD085091CE080F942A -:106F0000292BE1CE2130310509F093CF80E00F9499 -:106F1000F61D2091C7083091C8084091C9085091CA -:106F2000CA080F94292BDBCF213F310509F081CF0F -:106F30001092CF0861E070E080E090E00E94F2C61D -:106F400081E09AE59093BE168093BD1681E490E0AF -:106F50009093C0168093BF1687E08093B11682E8A5 -:106F60008093B41658CF8FE096E00E94C45381E01E -:106F70000E948B8D8DE090E09093BE168093BD169D -:106F800085E08093B11612E81093B41684E190E185 -:106F9000A0E0B0E08093B5169093B616A093B71614 -:106FA000B093B8160F94D10283E08093B21281E0BF -:106FB0009AE59093BE168093BD1685E390E090937A -:106FC000C0168093BF1687E08093B1161093B41655 -:106FD00084E890E0A0E0B0E08093B5169093B616F8 -:106FE000A093B716B093B8160F94D1021092BC08B4 -:106FF00013CD87E296E00E94C4538091161B9091B6 -:10700000171B992720916D1630916E1682179307E2 -:1070100008F402CD8AEB95E00E94C45380916D166E -:1070200081508093151BA4ED8A2EA0E29A2EA12CEC -:10703000B12C05E012E81092BE161092BD16009316 -:10704000B1161093B4168092B5169092B616A0920F -:10705000B716B092B8160F94D1022FEF821A920A87 -:10706000A20AB20A3EED831630E29306A104B104EF -:1070700011F78091151BA2E18A02C0011124FC01C5 -:10708000E859F44E7F0101900020E9F7C7018E1BFB -:107090009F0B439697FD01968C0115950795101649 -:1070A0001106FCF49E012F5F3F4F690184E1D90175 -:1070B0001D928A95E9F7A80162EC75E0C9010F9469 -:1070C0009D2EB701C601800F911F0F94882E44EDAD -:1070D00050E260E070E0C6010F94800205E012E823 -:1070E00006C044ED50E260E070E0C701F5CF1092B9 -:1070F000BE161092BD160093B1161093B41680926E -:10710000B5169092B616A092B716B092B8160F9414 -:10711000D102BFEF8B1A9B0AAB0ABB0AE6EE8E16B2 -:10712000E0E29E06A104B10411F78E010F5F1F4F2C -:1071300084E1D8011D928A95E9F78091171B8F93FE -:107140008091161B8F9380916E168F9380916D1690 -:107150008F938CEC95E09F938F931F930F930F94D5 -:10716000B72E4EED50E260E070E0C8010F9480024F -:1071700062E070E080E090E00E94F2C60FB6F89402 -:10718000DEBF0FBECDBF31E2C32E32E1D32EE12CE4 -:10719000F12C43E1442E40E6542E612C712C8824BE -:1071A0008394912CAA24AA94BA2C75E0272EE2E8A5 -:1071B0003E2E0AE010E08091161B9091171B881557 -:1071C000990594F1B092BE16A092BD162092B11608 -:1071D0003092B4164092B5165092B6166092B71619 -:1071E0007092B8160F94D1021093BE160093BD167C -:1071F0002092B1163092B416C092B516D092B6163F -:10720000E092B716F092B8160F94D102FFEF8F1AE2 -:107210009F0A20E1420E511C611C711C3FEFC31AF2 -:10722000D30AE30AF30AC7CF80916D1690916E16C8 -:1072300024E0880F991F2A95E1F78D5F9F49A0E010 -:10724000B0E020EF37E83093BE162093BD1605E07E -:107250000093B11612E81093B4168093B51690936C -:10726000B616A093B716B093B8160F94D1028091BA -:107270006D1690916E16805E9D4EA0E0B0E026E007 -:1072800030E03093BE162093BD160093B1161093D4 -:10729000B4160C945C2880916D1690916E16892B13 -:1072A00011F40C946F2BB8CB40E050E260E070E03A -:1072B000C8014ECBE3960FB6F894DEBF0FBECDBF2C -:1072C000DF91CF911F910F91FF90EF90DF90CF90C2 -:1072D000BF90AF909F908F907F906F905F904F90F6 -:1072E0003F902F9008952F923F924F925F926F920E -:1072F0007F928F929F92AF92BF92CF92DF92EF9246 -:10730000FF920F931F93CF93DF93CDB7DEB7C15496 -:10731000D1090FB6F894DEBF0FBECDBF22968FAF56 -:10732000229720916F122CAF21E020936F12809151 -:1073300090128D3409F4B3C4843511F40C94A44B29 -:10734000873411F00C94AB4B80918E1290918F1278 -:107350008B31910509F420C2B4F48430910534F4E2 -:1073600082309105E4F597FF2EC095C485319105D3 -:1073700011F40C94AD4B8A31910509F409C20497BC -:1073800009F089C4C6C18A32910509F4B5C34CF429 -:107390008D319105B1F00CF429C24E9709F465C204 -:1073A0007AC48B35910509F425C38C35910509F410 -:1073B00025C38A35910509F06EC41092EF080C942C -:1073C000AD4B14E03FC280918702882311F40C94E6 -:1073D000AD4B0E9456E10E941FDB0C94AD4B2091F7 -:1073E0008702222311F40C94AD4B11E0029709F0AF -:1073F00010E00E9456E119821A821B821C821D82B3 -:107400001E821F82188682E50E940D8D882309F452 -:1074100038C10E948D8C4B015C0120E030E0A90155 -:107420000F943424882309F442C18091770290910B -:107430007802A0917902B0917A028CA39DA3AEA3A9 -:10744000BFA380917B0290917C02A0917D02B091BC -:107450007E0288A799A7AAA7BBA78091A5139091A0 -:10746000A613A091A713B091A8138CA79DA7AEA7B0 -:10747000BFA78091A9139091AA13A091AB13B091CB -:10748000AC1388AB99ABAAABBBAB2CA53DA54EA565 -:107490005FA56CA17DA18EA19FA10F9434248111C1 -:1074A0000DC028A939A94AA95BA968A579A58AA50B -:1074B0009BA50F943424882309F4F9C020E030E020 -:1074C000A901C501B4010F943424881F8827881F9F -:1074D000181729F080E090E0A0E8BFEB04C080E03E -:1074E00090E0A0E8BFE388AF99AFAAAFBBAF2CA1F3 -:1074F0003DA14EA15FA16CA57DA58EA59FA50F9472 -:10750000292B6CAB7DAB8EAB9FAB28A539A54AA5CB -:107510005BA568A979A98AA99BA90F94292B6B015E -:107520007C012CA93DA94EA95FA9CA01B9010F94FC -:107530009A242B013C01A7019601C701B6010F94C3 -:107540009A249B01AC01C301B2010F942A2B0F9422 -:10755000D82D2B013C019B01AC0160E070E080E87C -:107560009FE30F94242C21966CAF7DAF8EAF9FAF1D -:10757000219720E030E040E05FE3C301B2010F94C7 -:107580009A242B013C01A5019401C501B4010F947B -:107590009A244B015C01A3019201C301B2010F9433 -:1075A0009A249B01AC01C501B4010F94292B0F94BF -:1075B000D82D28AD39AD4AAD5BAD0F949A244B015F -:1075C0005C01C701B601905821962CAD3DAD4EAD82 -:1075D0005FAD21970F949A24A50194010F949A24EA -:1075E0006B017C012CA53DA54EA55FA56CA17DA1DD -:1075F0008EA19FA10F942A2B20E030E040E05FE3B2 -:107600000F949A249B01AC01C701B6010F942A2B59 -:107610002CA13DA14EA15FA10F94292B69837A83F0 -:107620008B839C8328A939A94AA95BA968A579A558 -:107630008AA59BA50F942A2B20E030E040E05FE371 -:107640000F949A246B017C0121962CAD3DAD4EAD7B -:107650005FAD21976CA97DA98EA99FA90F949A244B -:10766000A50194010F949A249B01AC01C701B601B6 -:107670000F942A2B28A539A54AA55BA50F94292B81 -:1076800012C089E40E940D8D882331F00E948D8CF8 -:1076900069837A838B839C838AE40E940D8D88237F -:1076A00031F00E948D8C6D837E838F83988720E0DC -:1076B00030E0A90169817A818B819C810F94342407 -:1076C00081110BC020E030E0A9016D817E818F81A6 -:1076D00098850F9434248823A1F0412FBE016F5F59 -:1076E0007F4F85EA93E10E949DB50E94F1EE609381 -:1076F0009D1470939E1480939F149093A0140C94E7 -:10770000AD4B0F94820B8CE797E00F949D0A0C947D -:10771000AD4B80E50E940D8D882329F00E94B5A411 -:107720006B017C0103C0C12CD12C760183E50E9442 -:107730000D8D882361F00E948D8C20E030E04AE7B7 -:1077400054E40F949A240F949D2C6B017C010E94A9 -:107750001CBF8091CE13811105C060E082E997E0E3 -:107760000E9449F50E94F1EEC60ED71EE81EF91ED2 -:107770000E94F1EEDC01CB018C199D09AE09BF0915 -:10778000B7FD02C00C94AD4B80E00E94E553F0CFF2 -:107790000E94BBA90C94AD4B0E9497E881110C94F8 -:1077A000AD4B80E090E0A8E4B2E489839A83AB8398 -:1077B000BC8380E090E0A0E2B1E48D839E83AF8340 -:1077C000B88789879A87AB87BC8780E50E940D8D33 -:1077D000882321F00E94558C862F01C080E0BE01D5 -:1077E0006F5F7F4F0E9481F40C94AD4B8091CD135D -:1077F0008770873011F00C94D14B60E08FE40E94C9 -:107800001A8D81110C94AD4B0C94D14B8091B6180C -:1078100081111DC00E941B848823F9F0115011F4BE -:107820000C94BB4D40E050E060E078E085E00E94C1 -:10783000E98D61E083EF97E00E942F8D8BED97E05B -:107840000E9480BB0E9497E8882301F306C060E095 -:107850008FE40E941A8D8823E9F20E94538D8EE9ED -:1078600098E00E9480BB0C94AD4B2091C1133091E5 -:10787000C2134091C3135091C41360917702709169 -:1078800078028091790290917A020F942A2BAB01B1 -:10789000BC0188E50E943BC86C8F7D8F8E8F9F8FC7 -:1078A0002091C5133091C6134091C7135091C8134E -:1078B00060917B0270917C0280917D0290917E02AA -:1078C0000F942A2BAB01BC0189E50E943BC8698358 -:1078D0007A838B839C83BE016F5F7F4FCE014C9672 -:1078E0000E94ACA5882311F40C94AD4B80E00F945A -:1078F00013080E9403DE61E085E40E941A8D182FB0 -:1079000021E0482FBE016F5F7F4FCE014C960E9451 -:1079100046E96B017C019B01AC010F941C2E811187 -:107920005FC08C8C9D8CAE8CBF8C20E030E0A901B8 -:10793000C501B4010F94342487FF05C027E137EB5C -:1079400041E558EB04C027E137EB41E558E3C501B9 -:10795000B4010F942A2BAB01BC0180EC98E00F948A -:10796000510B89809A80AB80BC8020E030E0A90177 -:10797000C501B4010F94342487FF05C027E137EB1C -:1079800041E558EB04C027E137EB41E558E3C50179 -:10799000B4010F942A2BAB01BC018BEB98E00F9440 -:1079A000510B20E030E0A901C701B6010F94342447 -:1079B00087FF05C027E137EB41E558EB04C027E11D -:1079C00037EB41E558E3C701B6010F942A2BAB0111 -:1079D000BC0186EB98E00F94510B8AE00E94B952EB -:1079E0000E94EADD113011F40E94B39C0E94B0DFC6 -:1079F0000C94AD4B2093EF080C94AD4B95E0292EE1 -:107A000093E0392E21E9E22E22E1F22E27E732E03F -:107A10003DA32CA335EBC32E33E1D32E00E010E0C1 -:107A2000D1018D911D010E940D8D882309F44BC059 -:107A30000E948D8C2B013C01133049F0F60120810E -:107A40003181428153810F94292B2B013C01ACA140 -:107A5000BDA12D913D914D915C91C301B2010F9457 -:107A6000292B4B015C012DEB37E346E855EB0F94D6 -:107A70008A2D87FD0AC02DEB37E346E855E3C501A3 -:107A8000B4010F9434241816F4F4133051F44092D6 -:107A9000830250928402609285027092860201E015 -:107AA00012C0A5019401F7016081718182819381E7 -:107AB0000F942A2BD7016D937D938D939C931397ED -:107AC000812F0E9449C51F5FB4E0EB0EF11CECA1B1 -:107AD000FDA13496FDA3ECA3F4E0CF0ED11C14302D -:107AE00009F09ECF002321F083E892E00E942DBF91 -:107AF0000E94B0DF0C94AD4B80918702882311F473 -:107B00000C94AD4B89E40E940D8D082F882321F041 -:107B10000E94898CE82E01C0E12C8AE40E940D8D20 -:107B2000182F882321F00E94898CF82E01C0F12C97 -:107B3000002319F024E02E1528F0112349F034E039 -:107B40003F1530F488EC98E00F949D0A0C94AD4BEF -:107B50000E944B8C0023F1F020912D1430912E14B3 -:107B60004E2D4203B001439F700D112480912314C8 -:107B700090912414680F791F072E000C880B990B25 -:107B80000F943B246093A5137093A6138093A713BF -:107B90009093A8131123F1F020912F1430913014F9 -:107BA0004F2D4203B001439F700D11248091251485 -:107BB00090912614680F791F072E000C880B990BE3 -:107BC0000F943B246093A9137093AA138093AB1373 -:107BD0009093AC1360E080E50E941A8D8823C1F178 -:107BE0000023D1F02091C1133091C2134091C313EF -:107BF0005091C4136091A5137091A6138091A7139F -:107C00009091A8130F94292B6093A5137093A6133A -:107C10008093A7139093A8131123D1F02091C5133B -:107C20003091C6134091C7135091C8136091A913A6 -:107C30007091AA138091AB139091AC130F94292BE0 -:107C40006093A9137093AA138093AB139093AC1312 -:107C500040E050E0BA0186E40E943BC86B017C0121 -:107C600020E030E0A9010F948A2D181684F420E05A -:107C700030E040E752E4C701B6010F94242C609332 -:107C800065027093660280936702909368020E9477 -:107C90001FDB0C94AD4B0E94737F0C94AD4B809115 -:107CA0008E1290918F128537910509F4B6C70CF0AA -:107CB00053C18934910509F494C40CF06CC08A3125 -:107CC000910509F419C3B4F58431910509F48EC204 -:107CD00094F48131910509F468C244F4029710F0DC -:107CE0000C94A14B0E9463B90C94AD4B429709F4DC -:107CF000C2C60C94A14B8731910509F4A1C28CF442 -:107D00008531910509F498C2469711F00C94A14B66 -:107D10000E94E65D80913918877F809339180C9412 -:107D2000AD4B8831910509F4A3C2499709F4D9C232 -:107D30000C94A14B8F31910509F40CC47CF48C3167 -:107D4000910509F451C30CF4E5C28D31910509F494 -:107D500055C34E9709F459C30C94A14B8A3291052F -:107D600009F418C464F48032910509F4ADC3819715 -:107D700011F00C94A14B0E94AACE0C94AD4B8B3207 -:107D8000910509F42AC4C09711F00C94A14B0E94EC -:107D9000817F0C94AD4B8836910509F4CBC4D4F5A2 -:107DA0008135910509F44FC6C4F48C34910509F46A -:107DB00027C44CF48B34910511F00C94A14B0E9414 -:107DC000E7BC0C94AD4B8D34910509F41DC48E3481 -:107DD000910509F41DC40C94A14B8435910509F457 -:107DE0004AC674F48235910509F442C6833591057B -:107DF00011F00C94A14B81E08093E9080C94AD4BF9 -:107E00008535910509F463C68C35910509F478C66A -:107E10000C94A14B8E36910509F40BC5D4F48B3626 -:107E2000910509F400C654F48936910509F49DC5FD -:107E30008A36910509F4CFC50C94A14B8C36910577 -:107E400011F40C94AD4B8D36910509F497C40C9444 -:107E5000A14B8137910509F442C55CF48F36910539 -:107E600009F4F8C48037910511F40C94AD4B0C94CF -:107E7000A14B8237910509F4CDC68337910511F0E6 -:107E80000C94A14B8AE49BE00F949D0A60E08AE386 -:107E90009BE00E94F4B960E085E29BE00E94F4B9A7 -:107EA00061E08EE19BE00E94F4B961E083E19BE038 -:107EB0000E94F4B961E083E09BE00E94F4B960E0C5 -:107EC0008AEF9AE00E94F4B961E080EF9AE00E94A4 -:107ED000F4B961E086EE9AE00E94F4B961E08EEDBB -:107EE0009AE00E94F4B961E080ED9AE00E94F4B952 -:107EF00061E082EC9AE00E94F4B960E083EB9AE0E2 -:107F00000E94F4B960E085EA9AE00E94F4B960E06A -:107F10008FE89AE00E94F4B961E08EE79AE00E944F -:107F2000F4B961E08FE69AE00E94F4B961E08AE575 -:107F30009AE00E94F4B961E087E49AE00E94F4B903 -:107F400060E08AE39AE00E94F4B960E086E29AE099 -:107F50000E94F4B90C94AD4B8F32A1E09A0711F452 -:107F60000C94A5490CF079C08B3C910509F41EC70F -:107F7000ACF58D37910509F463C5BCF487379105DD -:107F800009F496C60CF45AC68837910509F493C6CD -:107F90008937910511F00C94A14B1092AF09109202 -:107FA000AE090E943DE10C94AD4B8E3B910509F466 -:107FB000CAC454F48C38910509F4B3C48B399105C3 -:107FC00009F4E3C40C94A14B883C910509F47BC6E9 -:107FD000893C910509F4C4C60C94A14B8D3D9105D3 -:107FE00009F438C7E4F48E3C910509F401C76CF438 -:107FF0008C3C910509F4F9C68D3C910511F00C9467 -:10800000A14B0E94C5A40C94AD4B833D910509F48E -:1080100011C78C3D910509F410C70C94A14B823215 -:10802000E1E09E0711F40C94634854F4823E9105FC -:1080300009F466C78831914009F4AEC70C94A14B8E -:108040008D3231E0930711F40C946E488E329140DA -:1080500011F40C9461490C94A14B853FA1E09A075F -:1080600011F40C94BC4A0CF04EC08A39E1E09E0732 -:1080700011F40C94AD4B14F5803921E0920711F402 -:108080000C94A8493CF48033914011F40C94EE48D0 -:108090000C94A14B8139A1E09A0711F40C94AB49DF -:1080A0008239914011F00C94A14B80E00E94FB9C1E -:1080B0000E94B39C0E94B0DF0C94AD4B853AE1E086 -:1080C0009E0711F40C94BC497CF48C3921E0920792 -:1080D00011F40C94B149843A914011F00C94A14BE5 -:1080E0000E94FCA60C94AD4B8C3A41E0940711F42D -:1080F0000C942C4A843F914011F00C94A14B0E94A7 -:10810000FDEE0C94AD4B8B35B2E09B0711F40C9453 -:10811000DE4A5CF5883FF1E09F0711F40C94C24AF7 -:10812000ACF4863F31E0930711F40C94BF4A873FCB -:10813000914011F00C94A14B61E083E50E941A8DEF -:1081400091E089270E9434FE0C94AD4B8C30A2E064 -:108150009A0711F40C94D34A8835924011F00C948C -:10816000A14B0E942EE20C94AD4B8438E3E09E07B5 -:1081700011F40C94574B6CF4833523E0920711F4FF -:108180000C94DB4A8C36934011F40C94AD4B0C9458 -:10819000A14B803A43E0940709F4CCC1873E934059 -:1081A00011F40C94934B0C94A14B80918A1284FF90 -:1081B00002C00C94CD4D80918C1287FF02C00C94AC -:1081C000CD4D80918D12837011F00C94CD4D60E0F7 -:1081D00087EE98E00E9449F55F988A98809108019F -:1081E00081708093060112980C94AD4B8FEF98E04C -:1081F0000F949D0A1092B30B8DE995E10E948C6655 -:108200008BE1EDE9F5E1DE01119601900D928A9581 -:10821000E1F740E050E0BE016F5F7F4F80E090E00B -:108220000E946C5FCE0101960E94C26780EF98E0C9 -:108230000F949D0A0C94AD4B0E94575E0C94AD4B6D -:10824000E0914513F09146138081882329F0803214 -:1082500009F410823196F8CF40E061E08091451337 -:10826000909146130E944261109215140C94AD4BEC -:108270008091450B8823E9F080E090E0A0EAB1E42A -:1082800088A399A3AAA3BBA31C8E1D8E1E8E1F8E2E -:1082900019821A821B821C8220E0AE01405E5F4F71 -:1082A000BE01645E7F4FCE0101960E94A98E0C94A0 -:1082B000AD4B0E9487CF882321F00E94F75D0E947A -:1082C000E7BC40E050E060E179E085E00E94A28EEA -:1082D00061E089EC94E30E942F8D0E94CDF50C940F -:1082E000AD4B8091391882FF03C08B7F8093391882 -:1082F0000E9435E30C94AD4B8091391883FD02C088 -:108300000C94AD4B83E50E940D8D81110C94E94DC9 -:108310000C94AD4B83E40E94C48C8823D9F184E291 -:1083200099E00F949D0A80914715882351F1BE0171 -:108330006F5F7F4F84E495E10E9453658E010F5F6C -:108340001F4FF80181918F01882319F00E94B952C3 -:10835000F8CFBE016F5F7F4F80E090E00E940A611E -:108360008091C61A882389F080E20E94B95206ECF7 -:108370001AE1D8018D918D01882339F00E94B952FC -:10838000F8CF8AE199E00F949D0A8AE00E94B952E1 -:108390000C94AD4B83E50E940D8D882309F10E945A -:1083A000658C182F90E0CD970CF01CE31093E0083B -:1083B0000E94F1EE6B017C01212F30E0A8EEB3E0CA -:1083C0000F94DE2AC60ED71EE81EF91EC092DC08E6 -:1083D000D092DD08E092DE08F092DF080C94AD4BFD -:1083E0000E94BF5D0C94AD4B40E060E0809145136E -:1083F000909146130E9442610C94AD4B80913918C4 -:108400008E7F809339180C94AD4B8091391883FD81 -:1084100002C00C94AD4B0E942BEB8091391883FD68 -:1084200002C00C94AD4B6091451370914613CE0180 -:108430004C960F94DE048C01009711F40C94AD4B14 -:108440006C8D7D8D19821C8222E0AC01CE010196DB -:108450000E94A56B811102C0F12C14C0CE010196BF -:108460000F944C048823C1F361E0CE0101960E9471 -:108470003765009789F325EEFC0120831C820E945A -:108480004667F82ECE0101960E94C267B801FF2010 -:1084900089F08EE499E00F946F0B8AE00E94B95244 -:1084A000109235181092361810923718109238180A -:1084B0000C94AD4B86E399E00F946F0B83E399E046 -:1084C0000F949D0A0C94AD4B8091391882FD0E9447 -:1084D0001CBF8091391883FD02C00C94AD4B60E045 -:1084E00080E50E941A8D182F482F61E08091451376 -:1084F000909146130E94426183E50E940D8D88236E -:1085000081F00E94558CAB01BC014093351850930B -:108510003618609337187093381884E495E10E94F8 -:108520004D640E94F75D11110C94AD4B0E94E7BCA5 -:108530000C94AD4B2091451330914613909139180E -:1085400092609093391840E060E0C9010E94426156 -:108550000C94AD4B0E94F9F36C8F7D8F8E8F9F8FA3 -:10856000BE016F5F7F4FCE014C960E94CECD60E082 -:10857000CE0101960E94A4F50F94860BBE016F5F99 -:108580007F4F8CE599E00F946F0B8AE00E94B952FF -:108590000C94AD4B83E50E940D8D882311F40C944F -:1085A000AD4B0E94658CF82E6DE070E080E50E9476 -:1085B000E1A68C0197FF02C00C94AD4BE82E60E061 -:1085C00089E40E941A8D81110C94FA4D802F0E942B -:1085D0002A508111B2C40C94FA4D0E94F3E40C9419 -:1085E000AD4B80E50E94C48C882311F40C94AD4BF4 -:1085F0008091391882FF02C00C94AD4B0C94134E3D -:108600000E9448F40C94AD4B0E9497BD0C94AD4B66 -:1086100060E070E083E50E94E1A68E34910531F4BC -:108620000E9452BE0E94CDF50C94AD4B87EC99E0B0 -:108630000F949D0A60919E0970919F098EEB99E0BD -:108640000F94440B6091A0097091A10981EB99E00E -:108650000F94440B60919E0970919F098091A0092D -:108660009091A109681B790B8091B812815021E08B -:1086700030E0823010F020E030E0621B730B86EABD -:1086800099E00F94440B8AE00E94B9528EE999E078 -:108690000F949D0A8091A2099091A309A091A40929 -:1086A000B091A5098C8F9D8FAE8FBF8FBE016F5F7C -:1086B0007F4FCE014C960E94CECDBE016F5F7F4FA3 -:1086C00081E999E00F946F0B8091A6099091A70919 -:1086D000A091A809B091A9098C8F9D8FAE8FBF8FF3 -:1086E000BE016F5F7F4FCE014C960E94CECDBE0182 -:1086F0006F5F7F4F81E899E00F946F0B20E030E0CF -:108700004AE754E46091AA097091AB098091AC09E1 -:108710009091AD090F94242CAB01BC0189E699E03E -:108720000F94510B8DE60E94B9528AE00E94B95213 -:108730000C94AD4B8091371183FF02C00C94AD4B6C -:108740000E9405E287FF02C00C94AD4B83E50E94B6 -:108750000D8D882379F00E948D8C0F94962C8B01BF -:10876000CB010E94ECD70135110524F40E9497BD7E -:108770000E94CDF50F949D1D0C94AD4B8091371147 -:1087800083FF02C00C94AD4B0E9405E2F82E87FFD8 -:1087900002C00C94AD4B83E50E940D8D082F811112 -:1087A00006C082E50E940D8D182F8823C1F10E941A -:1087B0008D8C0F94962CCB010E94ECD70E948D8C4F -:1087C00020E030E040EA52E40F943424181614F408 -:1087D0000C941E4E0E9497BD0E94CDF56091F20B45 -:1087E0007091F30B072E000C880B990B0F943B2410 -:1087F0004B015C014090EE0B5090EF0B6090F00B42 -:108800007090F10BA30192010F948A2D181614F4A5 -:108810000C94314E002311F40C94224E11E00F946D -:108820009D1D112309F499C7602F8F2D0E94FBD144 -:1088300094C78EE40E940D8D882309F48EC70E9490 -:10884000558C60934113709342138093431390931C -:10885000441383C783E50E94C48C882331F060E011 -:1088600083E50E94F0A6809337110F94860B87EF63 -:1088700099E00F949D0A80913711882369F18DEE5C -:10888000E82E89E0F82E00E010E020E0809137111A -:1088900090E0A0E0B0E0002E04C0B695A7959795B3 -:1088A00087950A94D2F780FF0EC0DD24D394D20EB0 -:1088B000222319F08CE20E94B952F701859194911C -:1088C0000F949D0A2D2D0F5F1F4FF2E0EF0EF11C4C -:1088D00005301105D9F659CD89EE99E054CD83E5DF -:1088E0000E940D8D882371F00E94658C282F30E046 -:1088F0002D3331051CF4809300022FC78CE3809345 -:1089000000022BC70F94860B4091000250E060E0FC -:1089100070E08EEF99E00F94330B8AE00E94B95219 -:108920001CC78091371183FD18C783E50E940D8D08 -:10893000882309F412C70E948D8C0F94962CCB01CA -:108940000E943D8C0AC78091371183FD06C783E5DD -:108950000E940D8D182F81110C94344E82E50E94D7 -:108960000D8D81110C94344EF8C60E9405E2182F2B -:1089700087FDFAC683E29AE00F949D0A812F0E9438 -:108980000BD08AE00E94B952EFC683E50E940D8D9C -:10899000882309F4E2C60E94658C182F90E0CD97D9 -:1089A0000CF01CE31093E5080E94F1EE6B017C01D2 -:1089B000212F30E0A8EEB3E00F94DE2AC60ED71EBA -:1089C000E81EF91EC092E108D092E208E092E308A6 -:1089D000F092E408C2C660E080E50E94F0A6F82E9E -:1089E00031E0381708F4B9C681E40E94C48C8823AA -:1089F00021F06091D70B062F02C00FEF10E083E546 -:108A00000E940D8D882349F00E94558C8B016F3F89 -:108A1000710519F010F00FEF10E0EF2DF0E0E952C2 -:108A2000F44F00839AC660E080E50E94F0A6823091 -:108A300008F093C6E82FF0E0E952F44F10828DC69B -:108A40000E9435E38AC60E94FDD70E9497BD0E940E -:108A5000B0C00E946C501092121410921114109217 -:108A6000101468EE73E080E090E00F946E0A75C613 -:108A70001092E90872C683E50E940D8D882399F053 -:108A80000E948D8C20E030E04AE754E40F949A2451 -:108A90000F949D2C60930102709302028093030255 -:108AA000909304025AC680918A1284FF02C00C94EB -:108AB000694E80918C1287FF02C00C94694E8091A0 -:108AC0008D12837011F00C94694E0C949A4E83E5CC -:108AD0000E94C48C882309F440C60E948D8C20E03B -:108AE00030E04AE754E40F949A240F949D2C60934D -:108AF000EA087093EB088093EC089093ED082DC67C -:108B00000E9405E287FD29C690918A1294FD04C057 -:108B100090918C1297FF0AC015E0C12E13E0D12E60 -:108B200008E3E02E01E1F02E10E009C090918D12D3 -:108B3000937091F7682F81E00E94B8E40EC6D601C9 -:108B40008D916D010E940D8D882309F459C0133059 -:108B500009F04FC00E948D8C4B015C0120E030E099 -:108B600040EA51E40F94342487FF3AC0A5019401F0 -:108B7000609158117091591180915A1190915B1127 -:108B80000F94242C2B013C019B01AC0160916811D6 -:108B90007091691180916A1190916B110F949A24D0 -:108BA000609368117093691180936A1190936B11AF -:108BB0006091CB0B7091CC0B8091CD0B9091CE0B33 -:108BC0000F943924A30192010F949A240F949D2CA1 -:108BD0006093CB0B7093CC0B8093CD0B9093CE0B0B -:108BE0008092581190925911A0925A11B0925B1133 -:108BF00007C00E948D8CF701648B758B868B978BD9 -:108C00001F5FF4E0EF0EF11C143009F098CF0E94C2 -:108C1000F8BEA3C50E940EBAA0C5809145139091DD -:108C20004613009741F0DC012C91222321F060E0F3 -:108C30000E94A4F592C50E94CDF58FC50091451301 -:108C40001091461394E0F12C40E0915021F1F8018D -:108C50008081282F2B7F213421F421812133D9F4E5 -:108C600007C08035C1F4818180538A3048F013C039 -:108C7000813421F0853421F441E002C0FF24F394D3 -:108C800098012E5F3F4F89012F5F3F4FF801808190 -:108C90008032C9F3DACF41110F94860BFF2021F007 -:108CA00087E39CE00F949D0AC8010E94C45355C5F8 -:108CB0000E94E6E052C581E08093AF098093AE093F -:108CC0000E943DE14AC50E9405E2182F87FD45C577 -:108CD00084E40E94C48C882309F43FC00E948D8CD8 -:108CE0006B017C0101E020E030E0A9010F94342405 -:108CF000811101C000E000939D1220E030E0A90145 -:108D0000C701B6010F943424882339F10E948D8C59 -:108D100024E01202F0011124EE55FD4E60837183B0 -:108D20008283938320E030E0A9016091A2127091C8 -:108D3000A3128091A4129091A5120F943424811152 -:108D40000CC080E090E0A0EEBFE38093A21290936D -:108D5000A312A093A412B093A5120E94DAC1FDC47D -:108D60000E9405E287FDF9C4A5E0EA2EA3E0FA2EF1 -:108D700008E311E1B8E4CB2EB1E1DB2ED7018D91F0 -:108D80007D010E94C48C882349F00E948D8C0F9431 -:108D90009D2CF80160837183828393830C5F1F4F46 -:108DA000C016D10659F70E9481BED7C40E9405E2C1 -:108DB00087FDD3C4F5E0EF2EF3E0FF2E08E311E1C9 -:108DC000D7018D917D010E94C48C882339F00E94C7 -:108DD0008D8CF80164A375A386A397A30C5F1F4F26 -:108DE000F1E108341F0761F7B8C40E943FA4B5C47D -:108DF00075E0C72E73E0D72EE2EBEE2EE9E0FE2EF3 -:108E000010E0D6018D916D010E94C48C882351F031 -:108E10000E948D8CF7016083718382839383812FFD -:108E20000E9449C51F5FF4E0EF0EF11C133049F7B3 -:108E30000C94783D0E9403E490C483E50E940D8D5C -:108E4000882309F48AC40E94898C909360028093DD -:108E50005F0283C40E9405E2F82E87FD7EC483E58D -:108E60000E940D8D0F2D0F2C000C110B882369F122 -:108E70000E94898CF801EE0FFF1FE05DFD4F91838A -:108E80008083000F111F000F111F98012B5E3D4FB3 -:108E90007901BC01990F880B990B0F943B242AE0B0 -:108EA00037ED43E25CE30F949A24F801E256FD4E5D -:108EB00020813181428153810F949A24D7016D938F -:108EC0007D938D939C93139748C40F94860B85E4F0 -:108ED0000E94B95280E38F0D0E94B952000F111FFA -:108EE000F801E05DFD4F608171818BE39CE00F94A0 -:108EF000620B85E20E94B9528AE00E94B9522DC4E9 -:108F000080E50E94C48C882309F427C460E070E0E7 -:108F100080E50E94E1A6F82E6FEF7FEF83E50E94C7 -:108F2000E1A68C010196039708F017C4F7FC15C45D -:108F30008F2D0E942A50882339F00F94820B83E4EE -:108F40009CE00F949D0A09C40E941CBF60E08F2D15 -:108F50000E9493ED0F3FBFEF1B0731F00130110569 -:108F600071F000E010E00DC08F2D0E943BED31E06C -:108F700020E0892B09F030E0032F122F02C001E01E -:108F800010E08F2D0E943BED8017910709F4E5C397 -:108F900080E00E94E553F5CF80E50E94C48C8823D1 -:108FA00009F4DBC30E94898C8C01892B09F07FC0F6 -:108FB00083E50E94C48C882389F00E94898C8F3FAE -:108FC000EFEF9E0729F485E296E10E947150C5C338 -:108FD000BC0185E296E10E944151BFC30F94860B0C -:108FE00060E070E08BE69CE00F94620B80912716A6 -:108FF00028E532E06901C81AD10887FDD394CC0C6A -:10900000DD1CCC0CDD1C0D2C000CEE08FF08809143 -:10901000261628E830E04901881A910887FD9394C4 -:10902000880C991C880C991C092C000CAA08BB08F8 -:10903000809125168F3FC1F090E0FC01EE0FFF1FDD -:109040008E0F9F1FFC01E854FA4E2181328183E08C -:10905000220F331F8A95E1F794E0369527959A956C -:10906000E1F72E5F3F4F02C020E030E02F5F3F4F1F -:10907000C901330FAA0BBB0B9C01AD01281939099B -:109080004A095B09A4EBB0E00F94CB2AA701960133 -:10909000281939094A095B090F94AC2AB90188E6F5 -:1090A0009CE00F94620B8AE00E94B95256C30F9461 -:1090B000820BB80181E69CE00F94620B82E59CE094 -:1090C0000F949D0A4AC38AE50E940D8D811135C611 -:1090D00083E50E940D8D811130C63FC360E085E4B9 -:1090E0000E94F0A6811173C080E50E94C48C882381 -:1090F00051F00E948D8C6093F50B7093F60B80936A -:10910000F70B9093F80B89E40E94C48C882381F0BC -:109110000E948D8C2CEA35EC47E25EE30F949A2492 -:109120006093F90B7093FA0B8093FB0B9093FC0BFD -:1091300084E40E94C48C882381F00E948D8C2CEAE8 -:1091400035EC47E25EE30F94242C6093FD0B7093A3 -:10915000FE0B8093FF0B9093000C0F94860B4091B5 -:10916000F50B5091F60B6091F70B7091F80B8EE9AF -:109170009CE00F94510B2CEA35EC47E25EE36091E2 -:10918000F90B7091FA0B8091FB0B9091FC0B0F94F3 -:10919000242CAB01BC018AE99CE00F94510B2CEA12 -:1091A00035EC47E25EE36091FD0B7091FE0B809120 -:1091B000FF0B9091000C0F949A24AB01BC0186E93F -:1091C0009CE00F94510B8AE00E94B952C6C20F94E2 -:1091D000820B84E89CE00F949D0ABFC280E50E9448 -:1091E000C48C882351F00E948D8C60938E097093FB -:1091F0008F09809390099093910989E40E94C48C0F -:10920000882381F00E948D8C2CEA35EC47E25EE3E6 -:109210000F949A2460939209709393098093940910 -:109220009093950984E40E94C48C882381F00E9465 -:109230008D8C2CEA35EC47E25EE30F94242C60938E -:1092400096097093970980939809909399090F94C0 -:10925000860B40918E0950918F0960919009709111 -:1092600091098AEA9CE00F94510B2CEA35EC47E215 -:109270005EE36091920970919309809194099091B5 -:1092800095090F94242CAB01BC0186EA9CE00F9455 -:10929000510B2CEA35EC47E25EE360919609709140 -:1092A000970980919809909199090F949A24AB019C -:1092B000BC0182EA9CE00F94510B8AE00E94B952F3 -:1092C0004CC283E50E94C48C182F882371F00E9441 -:1092D0008D8C0F94962C70931A026093190221E0E2 -:1092E000672B09F020E02093E90B80E50E94C48CF5 -:1092F000882359F02091190230911A02232B11F082 -:109300000E94798C8093E90B28C2111126C20F9418 -:10931000860B8AEC9CE00F949D0A8091E90B8823D0 -:1093200019F082EB9CE002C08EEA9CE00F949D0A4B -:109330006091190270911A0289EB9CE00F94620B04 -:1093400085EB9CE00F949D0A08C20E9452C805C29A -:109350000E941CBF02C281E00E94FB9C0E94B0DF01 -:10936000FCC180918A12887809F04CC580918C12DA -:10937000867009F047C576C56FEF7FEF89E40E94DC -:10938000E1A6F82E6FEF7FEF8AE40E94E1A6E82EB7 -:109390008AE50E94C48C182F811105C081E50E94C6 -:1093A000C48CB82E01C0B12CF7FC06C0E7FC04C089 -:1093B000111109C0B11007C00F94820B84E39DE026 -:1093C0000F949D0ACAC1F4E0FF1510F0FE1538F4A1 -:1093D0000F94820B85E19DE00F949D0ABEC1CF2CB6 -:1093E0000F2C000CDD080E2D0E2C000C110B0E9412 -:1093F0008D8CBB2099F025E02C9DF0012D9DF00D6A -:109400001124E00FF11FEE0FFF1FEE0FFF1FE75CAF -:10941000FB4E208131814281538103C020E030E046 -:10942000A9010F942A2B9B01AC0185E08C9DF001D2 -:109430008D9DF00D1124E00FF11FEE0FFF1FEE0FB9 -:10944000FF1FE75CFB4E20833183428353836E2DE5 -:109450008F2D0E940DC781C10E9497E881117DC1A7 -:1094600007ED19E227E732E03DA32CA3CE010196D8 -:109470005C014CE2842E4AE2942E1C01F8016591B5 -:10948000759185919491ACA1BDA1CD90DD90ED90A9 -:10949000FD90BDA3ACA3A70196010F94292B2B012E -:1094A0003C01F101608371838283938320E030E08B -:1094B00040EA51EC0F948A2D87FD0AC020E030E08D -:1094C00040EA51E4C301B2010F94342418162CF47D -:1094D000F401849118160CF4E9C4D101CD90DD900B -:1094E000ED90FD901D0120E030E040EA51ECC70115 -:1094F000B6010F948A2D87FD0AC020E030E040EAD3 -:1095000051E4C701B6010F943424181664F40F9483 -:10951000820B82E79DE00F949D0A61E084E69DE066 -:109520000E9449F51AC10C5F1F4FBFEF8B1A9B0AAF -:10953000E9E2033E1E0709F0A1CF32EBE32E39E04A -:10954000F32E10E0F50181919191A191B1915F010C -:10955000F70181939193A193B1937F01812F0E9491 -:1095600049C51F5F133071F70E94B0DF60E084E5EA -:109570009DE00E9449F5F1C00F945601EEC00E9493 -:10958000E7FCEBC081E0809328140E9442F6109221 -:109590002814882309F4E1C00F94860B80E99DE02C -:1095A0000F949D0ADAC08091391882FFD6C080627C -:1095B00080933918D2C00E9479B3CFC00E9405E2CF -:1095C000082F87FDCAC085E50E94C48C8823B1F1AD -:1095D000E02E002E000CFF080E948D8C4B015C01D8 -:1095E00020E030E0A9010F948A2D87FF04C0B7FA6C -:1095F000B094B7F8B094C70123E0880F991F2A955B -:10960000E1F79C012F5C3B4E7901D9018D929D922F -:10961000AD92BC92139720E030E04AEF53E4C501CD -:10962000B4010F948A2D18164CF480E090E0AAEF54 -:10963000B3E4F70180839183A283B3838CE40E9417 -:10964000C48C882309F489C0002E000C110B0E94E1 -:109650008D8C6B017C0120E030E0A9010F948A2DF4 -:1096600087FF04C0F7FAF094F7F8F09420E030E0B8 -:109670004AEF53E4C701B6010F948A2D980193E095 -:10968000220F331F9A95E1F7F901EF5CFB4E181694 -:109690002CF0C482D582E682F7825FC080E090E041 -:1096A000AAEFB3E484839583A683B78356C08BE483 -:1096B0000E940D8D882329F10E948D8C6B017C0105 -:1096C00020E030E0A9010F948A2D87FD15C020E02D -:1096D00030E040E251E4C701B6010F94342418167B -:1096E0005CF00E941CBFC092010CD092020CE09270 -:1096F000030CF092040C31C08BE99DE00F949D0A9D -:109700002CC00F94860B4091010C5091020C60917B -:10971000030C7091040C8AEB9DE00F94510B8AE0CE -:109720000E94B9521AC081E08093870210920E14F1 -:1097300060E083E50E941A8D81110FC00E9495CFD1 -:109740000CC00E94737F09C080918E12882329F07B -:109750000E94966C02C00E94737F2296FFAD2297F2 -:10976000F11102C00E9482B22CAD20936F12CF5B28 -:10977000DF4F0FB6F894DEBF0FBECDBFDF91CF91A4 -:109780001F910F91FF90EF90DF90CF90BF90AF901F -:109790009F908F907F906F905F904F903F902F9011 -:1097A00008950E941CBF3091B6183CAB80E00F9426 -:1097B00013080E9403DE81E08093AF090E943DE11F -:1097C00088E50E94C48C182F89E50E94C48C082F5C -:1097D0008AE50E94C48C1013C0C1181711F0012F24 -:1097E000BCC101E011E091E09CA70E944B8C82E596 -:1097F0000E940D8D882361F00E948D8C6B017C018D -:1098000020E030E0A9010F943424882369F106C0D8 -:10981000C12CD12C40E8E42E40E4F42E111103C0F9 -:10982000002309F4FCC0C092AD13D092AE13E092B5 -:10983000AF13F092B013A701960160917F0270916F -:10984000800280918102909182020F94342487FFDC -:109850000BC019821A821B821C82BE016F5F7F4F70 -:109860008DEA93E10E9405DF112309F4D3C00023A0 -:1098700009F4CDC010927B0210927C0210927D02FE -:1098800010927E0210927702109278021092790262 -:1098900010927A020E94AEDFECE2FAE2A491A8AF45 -:1098A000E0E2FAE2C590D590E590F490E4E2FAE2C5 -:1098B00085909590A590B490A5019401C701B6013B -:1098C0000F948A2D18162CF4A7019601C501B40136 -:1098D00004C0A5019401C701B6010F94242C2B01EB -:1098E0003C01E7EEF9E285919591A591B4918CA3A5 -:1098F0009DA3AEA3BFA3E3EEF9E285919591A59157 -:10990000B49188A799A7AAA7BBA79C01AD016CA198 -:109910007DA18EA19FA10F948A2D181634F428A43E -:1099200039A49AA598AB1BA505C02CA03DA0AEA15B -:10993000A8AB1FA1A3019201C301B2010F949A2405 -:1099400020E030E040E85FE30F942A2B0F94D82DFD -:10995000910148A9512F0F949A2468A379A38AA34F -:109960009BA3EDE2FAE2149120E030E040EC5FE3EB -:10997000C501B4010F949A244B015C01612F110FB2 -:10998000770B880B990B0F943B249B01AC01C5010D -:10999000B4010F949A2469837A838B839C8320E09B -:1099A00030E040EC5FE3C701B6010F949A246B01ED -:1099B0007C01B8AD6B2FBB0F770B880B990B0F9405 -:1099C0003B249B01AC01C701B6010F949A246C8F14 -:1099D0007D8F8E8F9F8FAE01405E5F4FBE016F5FA8 -:1099E0007F4FCE014C960E94E3DE0E94DCFC109279 -:1099F0007B0210927C0210927D0210927E021092E5 -:109A00007702109278021092790210927A0280E026 -:109A10000E9416C4002319F081E00E9416C4ECA530 -:109A2000EE2309F48CC080E00E9444928091A5143A -:109A30008370833051F060E08DEC97E00E9449F52F -:109A40000F94860B8EEB97E093C00E94AEDF80915F -:109A50007F0290918002A0918102B0918202809356 -:109A6000AD139093AE13A093AF13B093B0132091A6 -:109A7000C1133091C2134091C3135091C41360E0DD -:109A800070E088E492E40F94292B6B017C016093D1 -:109A9000A5137093A6138093A7139093A8132091F6 -:109AA000C5133091C6134091C7135091C81360E09D -:109AB00070E088E492E40F94292B4B015C016093E1 -:109AC000A9137093AA138093AB139093AC1327E15F -:109AD00037EB41ED58EB0F948A2D87FD40C023E012 -:109AE00030E044EB53E4C501B4010F94342418165C -:109AF000B4F127E137EB41ED58EBC701B6010F9404 -:109B00008A2D87FD2CC023E030E044EB53E4C701ED -:109B1000B6010F943424181614F119821A821B828C -:109B20001C82AE014F5F5F4F69EA73E185EA93E102 -:109B30000E94E3DE82E00E9416C40E94B39C0E9451 -:109B4000AEDF8091AE098093AF098CA90F94130802 -:109B50000E94EADD0E94B0DF00CE8CA746CE60E016 -:109B60008DEA97E00E9449F50F94860B8BE997E008 -:109B70000F949D0AE2CF61E081E998E00E942F8D69 -:109B80008CE198E00E9480BB61E08BEA94E30E9444 -:109B90002F8D8DE098E00F94770388E50E94C48CA8 -:109BA00081115F9889E50E94C48C81118A988AE5A9 -:109BB0000E94C48C882329F08091080181708093D1 -:109BC000060185E40E94C48C882309F4C6CD12984E -:109BD000C4CD0E94558CAB01BC0140933518509305 -:109BE0003618609337187093381884E495E10E9412 -:109BF0004D64B3CD61E0802F0E9493ED6F2D802FD7 -:109C00000E9464ED6F2D70E0802F0E94CFED47E041 -:109C1000E41203C0F092D80BA0CD89E0E8129DCDEC -:109C2000F092D70B9ACD0E94658C90E08536910515 -:109C300014F084E690E0809315148FCD0E94E7BC69 -:109C40000C94EE43A3019201C501B4010F948A2D37 -:109C500018163CF08FEC99E060E00E9449F50C94F6 -:109C60000E448CED99E0F8CF0E948D8C0F94962CC9 -:109C7000CB010E943D8C0E948D8C20E030E040EAB8 -:109C800050E40F948A2D181614F40E94E7BC6091DA -:109C90008B0970918C09072E000C880B990B0F947F -:109CA0003B2420918709309188094091890950917E -:109CB0008A090F948A2D18161CF484E19AE002C0D8 -:109CC00085E09AE060E00E9449F5812F0E947DD0F6 -:109CD00044CD0E941CBF88E50E94C48C882331F0CB -:109CE0005F9A8091A5148E7F8093A51489E50E94C8 -:109CF000C48C882331F08A9A8091A5148D7F80933B -:109D0000A5148AE50E94C48C882359F0809108012B -:109D100080958170809306018091A5148B7F80933C -:109D2000A51485E40E94C48C882309F416CD0E94F2 -:109D3000285013CD0E94B0C010CD0E948D8C20E021 -:109D400030E040E050EC0F94342487FD15C00E94B1 -:109D50008D8C20E030E040E050E40F948A2D1816FE -:109D60002CF00E948D8C6B017C010BC0C12CD12C7E -:109D7000E12C10E4F12E05C0C12CD12CE12CB0EC6B -:109D8000FB2E209154113091551140915611509154 -:109D90005711C701B6010F949A240F94962CCB014A -:109DA0000F94C60580E50E94C48C882329F00E9488 -:109DB000798C882309F4D1CCA70196016091C9134D -:109DC0007091CA138091CB139091CC130F942A2BCE -:109DD0006093C9137093CA138093CB139093CC13E1 -:109DE0000F94860B4091C9135091CA136091CB1305 -:109DF0007091CC1383E79CE00F94510B8AE00E9492 -:109E0000B952ABCC88E40E94C48C882321F00E9414 -:109E1000798C8093EE0882E50E94C48C082F83E53C -:109E20000E94C48C182F011102C0882351F0109297 -:109E300081090E944F50112321F00E94798C809358 -:109E40001B0284E40E94C48C882309F486CC0E94FF -:109E50008D8C6093690270936A0280936B02909379 -:109E60006C027BCC0F94860B84E09DE00F949D0ADE -:109E700080911B02811117C08DED9CE00F949D0A0B -:109E80008AE00E94B9524091690250916A02609141 -:109E90006B0270916C0284EE9CE00F94510B8AE08F -:109EA0000E94B9525ACC81EE9CE0E8CFF7FAF094C8 -:109EB000F7F8F094D101CD92DD92ED92FC921397D8 -:109EC0000CCBCF92DF92EF92FF920F931F93CF9321 -:109ED000DF936C018B017A01EC01CB50D74F888165 -:109EE00087FF04C0FB011182108224C02CE02C9D4E -:109EF000C0012D9D900D11242881AC01420F511DF0 -:109F000027FD5A952091241630E04217530794F408 -:109F10002881AC01420F511D27FD5A959A01FA0183 -:109F2000EE0FFF1F2E0F3F1FF901E854FA4E20815C -:109F300027FD19C088818F5F88832CE02C9DC0018C -:109F40002D9D900D11242881AC01420F511D27FD3C -:109F50005A952091241630E042175307BCF428810B -:109F60002C3044F113C02881820F911D27FD9A9552 -:109F7000FC01EE0FFF1F8E0F9F1FFC01E854FA4EED -:109F8000808160E08F770E9464EDD4CFF8018081FA -:109F90009181049680349C4918F480E49CE904C0C3 -:109FA000F801808191810496F701918380838FEF7E -:109FB000888345C0F801408151812881BC01620F2E -:109FC000711D27FD7A959B01FB01EE0FFF1F2E0FE0 -:109FD0003F1FF901E854FA4E21813281240F351FC9 -:109FE000F701318320832881AC01420F511D27FDE9 -:109FF0005A959A01FA01EE0FFF1F2E0F3F1FF9012C -:10A00000E854FA4E208127FF1AC02881820F911D43 -:10A0100027FD9A95FC01EE0FFF1F8E0F9F1FFC017D -:10A02000E854FA4E808161E08F77DF91CF911F91E4 -:10A030000F91FF90EF90DF90CF900C9464EDDF9143 -:10A04000CF911F910F91FF90EF90DF90CF900895E7 -:10A05000129A0895FF920F931F93CF93DF931F924D -:10A06000CDB7DEB7F82E0FED1DE041E050E0B801AE -:10A07000CE0101960F946E2389818F1102C081E079 -:10A0800007C00F5F1F4F8DE0083F180771F780E092 -:10A090000F90DF91CF911F910F91FF9008958091C4 -:10A0A000690290916A02A0916B02B0916C02809358 -:10A0B000A2119093A311A093A411B093A511089598 -:10A0C0008091F808811107C00F945601882319F078 -:10A0D00081E08093F8080895E7EDFBE0108211829B -:10A0E0000895DC01EC91F0E0CF01880F991FE80F93 -:10A0F000F91FE854FA4E80818F77808308958F92FC -:10A100009F92AF92BF92CF92DF92EF92FF920F9306 -:10A11000CF93DF931F92CDB7DEB75C016B017A015D -:10A120004901F501808191810F94642A898300237C -:10A1300011F0F6018083BE016F5F7F4FC4010F9461 -:10A140006802F50180819181019691838083FFEF00 -:10A15000CF1ADF0A81E0E81AF10819F780E00F90C2 -:10A16000DF91CF910F91FF90EF90DF90CF90BF9054 -:10A17000AF909F908F9008957F928F929F92AF9211 -:10A18000BF92CF92DF92EF92FF920F931F93CF93E4 -:10A19000DF931F92CDB7DEB77C0159018B016B01B4 -:10A1A000C40ED51E0C151D0559F1F7018080918054 -:10A1B000F80171908F017982C4010F94642A781696 -:10A1C00091F0672DC4010F946C2AC4010F94642A86 -:10A1D0009981891741F00F94860B85EC9DE00F94CF -:10A1E0009D0A81E00EC0BE016F5F7F4FC5010F94D5 -:10A1F0006802F70180819181019691838083D2CF9B -:10A2000080E00F90DF91CF911F910F91FF90EF9021 -:10A21000DF90CF90BF90AF909F908F907F900895E8 -:10A22000009781F41092900082E080939100109248 -:10A23000950010929400C19A809171008260809381 -:10A24000710008958130910569F41092A00082E0B8 -:10A250008093A1001092A5001092A40089BB809366 -:10A2600072000895029761F41092200182E08093B9 -:10A27000210110922501109224018ABB8093730062 -:10A2800008957F928F929F92AF92BF92CF92DF926A -:10A29000EF92FF920F931F93CF93DF93FC01908176 -:10A2A000943208F0CEC06B017F01892F90E0FC0151 -:10A2B000EE0FFF1F8E0F9F1FFC01E854FA4E8081A6 -:10A2C00061E08F770E9493EDF70111821282808105 -:10A2D0006CE00F94ED2AFCE08F9FB001112440E068 -:10A2E00050E09B01240F351FF901EE0FFF1F2E0FC9 -:10A2F0003F1FF901E854FA4E908197FD08C04F5F67 -:10A300005F4F4C30510569F790E00E941051F70102 -:10A310007080C72DD0E08E01000F111FF801EC0FE7 -:10A32000FD1FE854FA4E80818068808377FC89C0E5 -:10A33000F0E2CF16F2E0DF060CF041C0F7018281B7 -:10A3400028E532E0281B310987FD3395220F331FA2 -:10A35000220F331F032E000C440B550B818168E83C -:10A3600070E04B01881A910887FD9394880C991C22 -:10A37000880C991C092C000CAA08BB08D7FC0BC040 -:10A38000B601653B710514F064EB70E0072E000C1C -:10A39000880B990B03C060E070E0CB0128193909E4 -:10A3A0004A095B090F947A2A24EB30E040E050E040 -:10A3B0000F94AC2A820E931EA41EB51E01C0460146 -:10A3C000F3E2F71558F1F701218188E890E0821B4C -:10A3D000910927FD9395880F991F880F991F88165B -:10A3E000990684F0F701228188E592E0821B9109A9 -:10A3F00027FD9395880F991F880F991F8816990636 -:10A400000CF4C40102972FB7F894C00FD11FC854A1 -:10A41000DA4E880F991F9A8389832FBF62E370E019 -:10A4200080E090E0DF91CF911F910F91FF90EF902E -:10A43000DF90CF90BF90AF909F908F907F900D94C2 -:10A440006E0ADF91CF911F910F91FF90EF90DF90F7 -:10A45000CF90BF90AF909F908F907F9008951F9264 -:10A460000F920FB60F9211240BB60F922F933F93BA -:10A470004F935F936F937F938F939F93AF93BF930C -:10A48000EF93FF9348E251E064E271E082E090E0F4 -:10A490000E94614FFF91EF91BF91AF919F918F917A -:10A4A0007F916F915F914F913F912F910F900BBED4 -:10A4B0000F900FBE0F901F9018951F920F920FB61E -:10A4C0000F9211240BB60F922F933F934F935F93EC -:10A4D0006F937F938F939F93AF93BF93EF93FF936C -:10A4E00048EA50E064EA70E081E090E00E94614F49 -:10A4F000FF91EF91BF91AF919F918F917F916F915C -:10A500005F914F913F912F910F900BBE0F900FBE17 -:10A510000F901F9018951F920F920FB60F92112453 -:10A520000BB60F922F933F934F935F936F937F934D -:10A530008F939F93AF93BF93EF93FF9348E950E0BE -:10A5400064E970E080E090E00E94614FFF91EF913C -:10A55000BF91AF919F918F917F916F915F914F913B -:10A560003F912F910F900BBE0F900FBE0F901F9039 -:10A5700018959091C00095FFFCCF8093C600089578 -:10A580008F929F92AF92BF92EF92FF920F931F9381 -:10A59000CF93DF93CDB7DEB7A0970FB6F894DEBFA9 -:10A5A0000FBECDBF611571058105910591F100E0E8 -:10A5B000842E912CA12CB12C102FEE24E394F12C9D -:10A5C000EC0EFD1EE00EF11C07FDFA94A5019401AE -:10A5D0000F948A2AF7016083B901CA010F5F6115E0 -:10A5E00071058105910541F71F3F31F1E1E0F0E090 -:10A5F000EC0FFD1FE10FF11D17FDFA9580818A30E8 -:10A6000010F097E301C090E3890F0E94B9521150F6 -:10A61000EBCF80E3A0960FB6F894DEBF0FBECDBFA0 -:10A62000DF91CF911F910F91FF90EF90BF90AF906E -:10A630009F908F900C94B952A0960FB6F894DEBFFD -:10A640000FBECDBFDF91CF911F910F91FF90EF9083 -:10A65000BF90AF909F908F900895CF92DF92EF922E -:10A66000FF926B017C0197FF0BC08DE20E94B952F3 -:10A67000F094E094D094C094C11CD11CE11CF11C56 -:10A680004AE0C701B601FF90EF90DF90CF900C94A5 -:10A69000C0528F929F92AF92BF92CF92DF92EF9271 -:10A6A000FF92CF936B017C01B42E20E030E0A90132 -:10A6B0000F94342487FF07C08DE20E94B952F7FA45 -:10A6C000F094F7F8F094C0E060E070E080E09FE381 -:10A6D000CB1541F02DEC3CEC4CEC5DE30F949A244F -:10A6E000CF5FF6CF9B01AC01C701B6010F942A2BB7 -:10A6F0006B017C010F949D2C4B015C014AE00E9490 -:10A70000C052CC2389F1C501B4010F9439249B01B7 -:10A71000AC01C701B6010F94292B6B017C018EE2BD -:10A720000E94B95220E030E040E251E4C701B60196 -:10A730000F949A244B015C010F94962C6B01770FB8 -:10A74000EE08FF08C701B6010E942D53C701B601EC -:10A750000F943B249B01AC01C501B4010F94292B3C -:10A760006B017C01C150F1F6CF91FF90EF90DF902B -:10A77000CF90BF90AF909F908F9008958DE00E94F2 -:10A78000B9528AE00C94B952CF93DF93EC018991CE -:10A79000882319F00E94B952FACFDF91CF910C941F -:10A7A000BE538091BD129091BE12981759F0E92FB7 -:10A7B000F0E0E354FD4E82819F5F9F779093BE123D -:10A7C00090E008958FEF9FEF08952F923F924F9260 -:10A7D0005F926F927F928F929F92AF92BF92CF9231 -:10A7E000DF92EF92FF920F931F93CF93DF93CDB73A -:10A7F000DEB728970FB6F894DEBF0FBECDBFE82EA8 -:10A800000E94771D0E94F1EE4B015C0180910002D5 -:10A81000882359F180916F12882339F14091F9080A -:10A820005091FA086091FB087091FC089501840131 -:10A83000041B150B260B370B37FD2AC0833079F02C -:10A840003CF4813094F00F94860B87E29EE00BC0BD -:10A85000843059F40F94860B88EF9DE004C00F9468 -:10A86000860B80E19EE00F949D0A2091000230E06B -:10A87000A8EEB3E00F94DE2A860E971EA81EB91E1E -:10A880008092F9089092FA08A092FB08B092FC0816 -:10A8900080911B02882319F18091810981111FC0C9 -:10A8A0008091391882FD08C08091B812813021F062 -:10A8B0008091450B882399F0F894649919C66091AA -:10A8C000A2117091A3118091A4119091A511789477 -:10A8D00020E030E0A9010F94342487FD99C58091D0 -:10A8E000420B843008F07EC20E94F1EE4B015C0105 -:10A8F0008091420B81111DC08091BD129091BE12BA -:10A90000891B8F77B1F48091620990916309A091BE -:10A910006409B0916509A5019401281B390B4A0B04 -:10A920005B0BDA01C901885E9340A109B109B7FF49 -:10A93000F0C570E6F72E8091420B843008F035C1E7 -:10A940008091BD129091BE12891B8F7709F42DC1A1 -:10A950000E94D153AC0197FDEECF20913F1330916F -:10A9600040138A3019F08D3009F0ECC01092610963 -:10A970002115310519F40F941F10DDCFF901EF5F98 -:10A98000F64F10821092401310923F1301E019E02D -:10A99000F8018191803211F48F01FACF8E3409F0E1 -:10A9A0007AC00115110509F476C069EA7FE0C80193 -:10A9B0000F94B2236C01892B41F06EE470E0C80162 -:10A9C00004960F947D2E009709F4C8014AE050E0E8 -:10A9D00060E070E001960F942A216093FD08709367 -:10A9E000FE088093FF089093000940904113509017 -:10A9F000421360904313709044133FEF431A530A7D -:10AA0000630A730A641575058605970531F0CD282C -:10AA100021F460E086E79FE051C06AE270E0C8017F -:10AA20000F94AC2E9C01009709F1982F901BD12C0C -:10AA3000992339F09150F801E90FF11D8081D82652 -:10AA4000F7CF4AE050E060E070E0C90101960F9452 -:10AA50002A214D2C512C612C712C6415750586050D -:10AA6000970541F060E087E59FE028C060E08DE257 -:10AA70009FE024C08091FD089091FE08A091FF08FE -:10AA8000B09100098093411390934213A093431314 -:10AA9000B093441316C08091391880FF12C065E24C -:10AAA00071E1C8010F94B223009729F0FC01838162 -:10AAB00080538A3030F460E083E09FE00E94B1CFA1 -:10AAC00074C08091870281111CC067E470E0C801E6 -:10AAD0000F947D2E0097A9F04AE050E060E070E00E -:10AAE00001960F942A21643071058105910548F47F -:10AAF0008CE89EE00F949D0A60E082E89EE00E9450 -:10AB000049F58092620990926309A0926409B0921B -:10AB10006509809101098B3309F40DCF8091420BB7 -:10AB2000843008F008CF8091BE09F89EC00111243E -:10AB300061E079E08F53964F0F94882E81E00E9458 -:10AB4000D7B2F9CE2F3531050CF0F5CE8C35C1F4E6 -:10AB50000E94D15397FDEFCE209161092111EBCED8 -:10AB600020913F1330914013A9014F5F5F4F5093E5 -:10AB7000401340933F13F901EF5FF64F8083DBCE24 -:10AB80008B3321F481E080936109D5CE80916109F6 -:10AB90008111D1CEC90101969093401380933F1348 -:10ABA000F901EF5FF64F4083C6CE8091391882FFDE -:10ABB00019C18091420B811102C010926709DD24F6 -:10ABC000D394409135185091361860913718709190 -:10ABD00038188091311890913218A0913318B091A3 -:10ABE0003418481759076A077B0708F4D12C00E08E -:10ABF00010E0CC24C39440E6B42E54E6A52E69E6BA -:10AC0000962E8091420B843008F0ECC0D110EAC03F -:10AC1000809167098111E6C080914C1590914D1586 -:10AC2000A0914E15B0914F1580933518909336181A -:10AC3000A0933718B093381841E050E0BE016F5F21 -:10AC40007F4F84E495E10E943268019719F489816D -:10AC500090E002C08FEF9FEFF82E40903518509093 -:10AC6000361860903718709038184091311850910C -:10AC700032186091331870913418DD24D39444163F -:10AC800055066606770608F4D12C44165506660666 -:10AC90007706B0F4019609F461C02AE0F21609F4CF -:10ACA0006EC03DE0F31609F46AC043E2F41619F0F1 -:10ACB0005AE3F5127CC080916609811178C054C0B6 -:10ACC0000E941CBF84E495E10E94B967809130180E -:10ACD000882339F1815080933018989EC001112447 -:10ACE00041E061E0865B944F0E944261E091301840 -:10ACF00064E0E69FF0011124EA5BF44F408151814A -:10AD000062817381409335185093361860933718D9 -:10AD10007093381884E495E10E944D640E94F75DB9 -:10AD200016C00E94E65D0E94B0C00E9497BD0E94BE -:10AD3000F9F36D3371058105910518F484EB9FE0FB -:10AD400002C089EB9FE00E941EB3A092151480916F -:10AD5000391882FD0DC08CEC9FE004C00F94820B6B -:10AD60008DEB9FE00F949D0A73E2F71208C005C0B7 -:10AD700053E2F512DBC300E010E0C09267091092C5 -:10AD800066090115110519F40F941F100DC080916B -:10AD9000BE09B89E000D111D1124F801EF53F64FA6 -:10ADA000108280E00E94D7B200E010E02ACF0F3579 -:10ADB000110508F026CF8BE3F81203C0C092660994 -:10ADC00020CF8091660981111CCF8091BE09F801C6 -:10ADD000B89EE00DF11D1124EF53F64FF0820F5F86 -:10ADE0001F4F0FCF0E94F1EE4B015C014091EA082A -:10ADF0005091EB086091EC087091ED0841155105F8 -:10AE00006105710529F180919D1490919E14A09186 -:10AE10009F14B091A014840F951FA61FB71F950112 -:10AE20008401081B190B2A0B3B0B37FD11C00F9433 -:10AE3000820B6091B90B7091BA0B80EE9FE00F947A -:10AE40006F0B8AE00E94B95280E090E00F94770384 -:10AE5000409101025091020260910302709104023C -:10AE6000411551056105710509F44EC090912B16ED -:10AE700080912C16981759F00E94F1EE60939D1462 -:10AE800070939E1480939F149093A0143DC0809162 -:10AE9000450B811137C0E11035C080919D14909110 -:10AEA0009E14A0919F14B091A014840F951FA61F0B -:10AEB000B71FA5019401281B390B4A0B5B0B57FDEB -:10AEC00021C08091780981111FC081E080937809A9 -:10AED0005F9A8091A5148E7F8093A5148A9A8091A1 -:10AEE000A5148D7F8093A5148091080180958170B1 -:10AEF000809306018091A5148B7F8093A5140E94F6 -:10AF0000285002C0109278098091740990917509B7 -:10AF1000A0917609B0917709B501A401481B590B9E -:10AF20006A0B7B0B77FDBCC120912B1690912C16E0 -:10AF300080913F0210914002291317C06091D70BF6 -:10AF4000869FB0011124660F672F661F770B7195DE -:10AF5000062F8091D80B189FB0011124660F672F20 -:10AF6000661F770B7195162F29C020912C1653E57B -:10AF7000259F900111242B5F334FF901EF5AFF4FAA -:10AF80006081869FB0011124660F672F661F770BC3 -:10AF90007195062F31968081819FB0011124660F33 -:10AFA000672F661F770B7195162F80912C16909145 -:10AFB0002B16981719F08F5F8F70F9CF002331F19E -:10AFC0000E94F1EEC0906C09D0906D09E0906E097E -:10AFD000F0906F09DC01CB01C114D104E104F1044C -:10AFE00069F48C599F4FAF4FBF4F80936C0990937A -:10AFF0006D09A0936E09B0936F0906C08C199D0965 -:10B00000AE09BF09B7FF0AC00FEF08C010926C0964 -:10B0100010926D0910926E0910926F09602F70E006 -:10B0200089E00E94CFED112331F10E94F1EEC09032 -:10B030007009D0907109E0907209F0907309DC01F9 -:10B04000CB01C114D104E104F10469F48C599F4F80 -:10B05000AF4FBF4F8093700990937109A09372090D -:10B06000B093730906C08C199D09AE09BF09B7FFDB -:10B070000AC01FEF08C01092700910927109109257 -:10B08000720910927309612F70E087E00E94CFED82 -:10B0900080915D13882309F4F6C0E0903602F090A9 -:10B0A000370200913802109139026091F20B7091D1 -:10B0B000F30B6E5F7F4F072E000C880B990B0F94DC -:10B0C0003B249701A8010F94342487FDDCC0309005 -:10B0D0002C16212C1A821B821C8280912B16831520 -:10B0E00009F467C0832D90E063E5689FF001699FD4 -:10B0F000F00D1124EB5FF34F458956896789708DF8 -:10B10000452B462B472B89F4418D528D638D748DD1 -:10B11000452B462B472B49F4458D568D678D70A1E5 -:10B12000452B462B472B09F43FC073E5789F9001D0 -:10B13000799F300D1124C9018B5F934F6C01FC0185 -:10B1400061817281838194810F94D82D2B013C0100 -:10B15000F60161A172A183A194A10F9439246D839A -:10B160007E838F839887F60165A176A187A190A53C -:10B170000F9439249B01AC016D817E818F8198856C -:10B180000F94242CA30192010F949A243B016C018B -:10B19000222D3A814B815C810F948A2D181624F45C -:10B1A000262C7A82CB82DC8281E0830D8F70382E50 -:10B1B00094CF20913A0230913B0240913C02509151 -:10B1C0003D02622D7A818B819C810F949A24970194 -:10B1D000A8010F942A2B3B016C0120903202309081 -:10B1E000330240903402509035029B01AC01B7010C -:10B1F000C8010F948A2D18166CF09101A201B301B9 -:10B20000C6010F948A2D18161CF47101820102C028 -:10B2100073018601409068095090690960906A093D -:10B2200070906B099701A801C301B2010F948A2D98 -:10B230001816C4F420E037ED43EA5CE3B701C80117 -:10B240000F949A246B017C0128E431EE4AE75FE316 -:10B25000C301B2010F949A24A70196010F942A2BDF -:10B260007B018C01C701D80180936809909369091B -:10B27000A0936A09B0936B09B701C8010F94962C8B -:10B28000CB010E94ECD7F4E68F0E911CA11CB11CDF -:10B290008092740990927509A0927609B09277090C -:10B2A0000F941F108091B812813009F06EC00E9477 -:10B2B000F1EE6B017C0180917D0990917E09A09156 -:10B2C0007F09B091800997018601081B190B2A0B91 -:10B2D0003B0B37FD3AC08090B9129090BA12A09003 -:10B2E000BB12B090BC120E94F9F36093B912709334 -:10B2F000BA128093BB129093BC120091A2091091D4 -:10B30000A3092091A4093091A509081919092A094E -:10B310003B09DC01CB01800F911FA21FB31F80935B -:10B32000A2099093A309A093A409B093A509D701FA -:10B33000C601805F984DAF4FBF4F80937D099093BA -:10B340007E09A0937F09B09380098091790990913B -:10B350007A09A0917B09B0917C09A7019601281B6D -:10B36000390B4A0B5B0B57FD10C030E8C30E3EEEA5 -:10B37000D31EE11CF11CC0927909D0927A09E092A7 -:10B380007B09F0927C090E9471BD8091E5088823B9 -:10B3900091F00E94F1EE0091E1081091E2082091F5 -:10B3A000E3083091E408DC01CB01801B910BA20B78 -:10B3B000B30BB7FFBEC00E94F1EE6B017C01209180 -:10B3C000E008222309F4D3C08091DC089091DD08C5 -:10B3D000A091DE08B091DF08B701A601481B590B08 -:10B3E0006A0B7B0B77FDC3C030E0A8EEB3E00F948F -:10B3F000DE2AC60ED71EE81EF91EC092DC08D092C7 -:10B40000DD08E092DE08F092DF080E94BF5DAFC069 -:10B4100011E0109381098091450B811166C086E38C -:10B4200096E00E94C45384E08093B21282E080933D -:10B43000BC0881E09AE59093BE168093BD168EE419 -:10B4400090E09093C0168093BF1687E08093B1166A -:10B4500082E88093B41684E890E0A0E0B0E08093A6 -:10B46000B5169093B616A093B716B093B8160F946E -:10B47000D102109391110E94538D40E061E77EE06C -:10B4800087E597E10E945F8D80E30E94B9528AE0D0 -:10B490000E94B9520E94478D8091EE0860E0182703 -:10B4A00019F087E396E10DC08FE59EE00E942F8D95 -:10B4B00080E30E94B9528AE00E94B95260E089E3B9 -:10B4C0009EE00E942F8D8DE49EE00F949D0A80E304 -:10B4D0000E94B9528AE00E94B952112331F08FE3E1 -:10B4E0009EE09093C0098093BF090E941CBFF7C9DA -:10B4F0008091690290916A02A0916B02B0916C02F6 -:10B500008093A2119093A311A093A411B093A511BD -:10B51000D6C98EEA9FE00F949D0A809262099092AC -:10B520006309A0926409B092650903CA1092660982 -:10B530002BCC0E94F1EE6B017C012091E50830E0FC -:10B54000A8EEB3E00F94DE2AC60ED71EE81EF91E41 -:10B55000C092E108D092E208E092E308F092E40899 -:10B5600080E00E940BD08AE00E94B95224CF289636 -:10B570000FB6F894DEBF0FBECDBFDF91CF911F9104 -:10B580000F91FF90EF90DF90CF90BF90AF909F9082 -:10B590008F907F906F905F904F903F902F90089585 -:10B5A0001F920F920FB60F9211240F900FBE0F90A3 -:10B5B0001F9018951F920F920FB60F9211240BB681 -:10B5C0000F920F931F932F933F934F935F936F931C -:10B5D0007F938F939F93AF93BF93CF93DF93EF931B -:10B5E000FF930091BE12D091BD1211E01D0F1F7785 -:10B5F000C091C6009091F408492F092E000C550BFC -:10B60000660B770B4131510508F064C0FA018827B9 -:10B61000E256FF4F8F4F0D94212BCD3449F0CE349D -:10B62000B9F481E006C0CA3338F0CD3409F043C024 -:10B6300082E08093F40876C0C03308F073C0C03253 -:10B6400009F470C0CD32B9F56DC0C13351F018F4B2 -:10B65000C03289F567C0C43331F0C83361F58BE07F -:10B66000E8CF83E0E6CF88E0E4CFC03321F0C133F8 -:10B6700011F586E0DECF84E0DCCFC833E1F485E06D -:10B68000D8CFC233C1F487E0D4CFC133A1F489E06D -:10B69000D0CFC03381F48AE0CCCFC73361F48CE0E3 -:10B6A000C8CFC63341F48DE0C4CFC032D9F1C33521 -:10B6B00011F48EE0BECF80E1BCCF80ED8C0F8A30DC -:10B6C00088F59FE09093F4088093F3082BC0CA306C -:10B6D00049F526C0CA3031F580911F17882301F142 -:10B6E000973089F03CF49530D9F4109214021092FE -:10B6F000141416C09A3059F09F3091F48091F308D9 -:10B700000E948B8D0DC081E08093571E09C00E945E -:10B7100006C10E941CBF8EEF0E9440DF0E94AEDF78 -:10B720001092F408011731F0ED2FF0E0E354FD4ED4 -:10B73000C283D12FD093BD12FF91EF91DF91CF91B2 -:10B74000BF91AF919F918F917F916F915F914F9139 -:10B750003F912F911F910F910F900BBE0F900FBE35 -:10B760000F901F9018958EBD0DB407FEFDCF089564 -:10B770008FEF8EBD0DB407FEFDCF8EB5089590916D -:10B7800064009B7F90936400982F906A96959CBD6F -:10B7900080FD03C091E0863009F490E09DBD0895DE -:10B7A000CF92DF92EF92FF920F931F93CF93DF938D -:10B7B0006C017A018B01C0E0D0E0CE15DF0581F08D -:10B7C000D8016D918D01D601ED91FC910190F08130 -:10B7D000E02DC6011995892B11F02196EECF7E013F -:10B7E000C701DF91CF911F910F91FF90EF90DF90F4 -:10B7F000CF900895089580E090E00895FC01538D66 -:10B80000448D252F30E0842F90E0821B930B54173A -:10B8100010F0CF96089501970895FC01918D828DC7 -:10B82000981761F0828DDF01A80FB11D5D968C9194 -:10B83000928D9F5F9F73928F90E008958FEF9FEF9F -:10B840000895FC01918D828D981731F0828DE80F5B -:10B85000F11D858D90E008958FEF9FEF0895FC0115 -:10B86000918D228D892F90E0805C9F4F821B9109E2 -:10B870008F739927089587EA94E10E942F5C21E055 -:10B88000892B09F420E0822F0895FC01848DDF01CB -:10B89000A80FB11DA35ABF4F2C91848D90E0019643 -:10B8A0008F739927848FA689B7892C93A089B18932 -:10B8B0008C91837080648C93938D848D981306C0D3 -:10B8C0000288F389E02D80818F7D80830895EF9237 -:10B8D000FF920F931F93CF93DF93EC0181E0888F4A -:10B8E0009B8D8C8D981305C0E889F989808185FD31 -:10B8F00026C0F62E0B8D10E00F5F1F4F0F73112720 -:10B90000E02E8C8DE8120CC00FB607FCFACFE88948 -:10B91000F989808185FFF5CFCE010E94455CF1CF8A -:10B920008B8DFE01E80FF11DE35AFF4FF0829FB7A8 -:10B93000F8940B8FEA89FB89808180620AC09FB7E7 -:10B94000F894EE89FF896083E889F98980818370A2 -:10B95000806480839FBF81E090E0DF91CF911F9151 -:10B960000F91FF90EF900895CF93DF93EC01888DB6 -:10B970008823C9F0EA89FB89808185FD05C0A889F3 -:10B98000B9898C9186FD0FC00FB607FCF5CF808179 -:10B9900085FFF2CFA889B9898C9185FFEDCFCE01C3 -:10B9A0000E94455CE7CFDF91CF91089580E090E061 -:10B9B000892B41F080E090E0892B21F00E9400006B -:10B9C000811121C080E090E0892B41F080E090E07F -:10B9D000892B21F00E940000811118C080E090E0C6 -:10B9E000892B21F00E943B5C811113C080E090E024 -:10B9F000892BA1F080E090E0892B81F00E9400006B -:10BA000081110AC008950E940000DCCF0E9400004E -:10BA1000E5CF0E940000EACF0C9400000895FC01DD -:10BA200020E03EE2DB014C91403241F0283011F43D -:10BA300030833196DB014C91408331962F5F6F5FED -:10BA40007F4F2B3079F7108208950F943C2E0F937F -:10BA50001F93CF93DF938B01EA01DB016D917C9102 -:10BA60000E945365D801ED91FC91119790818881D6 -:10BA7000992349F0893638F43196ED93FC93888107 -:10BA80008F5F8883EFCF893658F48FE28083F80187 -:10BA90008081918101969183808388818F5F8883E3 -:10BAA000DF91CF911F910F9108951F920F920FB6C2 -:10BAB0000F9211240BB60F922F933F934F935F93E6 -:10BAC0006F937F938F939F93AF93BF93EF93FF9366 -:10BAD00087EA94E10E94455CFF91EF91BF91AF919D -:10BAE0009F918F917F916F915F914F913F912F9196 -:10BAF0000F900BBE0F900FBE0F901F9018951F92C6 -:10BB00000F920FB60F9211240BB60F922F938F93B3 -:10BB10009F93EF93FF93E091B714F091B814808155 -:10BB2000E091BD14F091BE1482FD12C0908180910D -:10BB3000C0148F5F8F732091C114821751F0E09170 -:10BB4000C014F0E0E955FB4E958F8093C01401C0FE -:10BB50008081FF91EF919F918F912F910F900BBE5C -:10BB60000F900FBE0F901F9018958BE1EDE9F5E156 -:10BB7000A2E8B5E101900D928A95E1F708958091D0 -:10BB8000391882FF1FC085EA92E10F949D0A6091E7 -:10BB900035187091361880913718909138184AE00E -:10BBA0000E94C0528FE20E94B95260913118709188 -:10BBB000321880913318909134184AE00E94C05294 -:10BBC0000C94BE5387EB92E10D949D0A1092450BA5 -:10BBD000809139188F7D8B7F809339180E9487CF91 -:10BBE000882321F084E495E10C94B967089580914D -:10BBF000391883FF03C08460809339180895CF9269 -:10BC0000DF92EF92FF920F931F93CF93DF93CDB705 -:10BC1000DEB7EDB6FEB6DC010D900020E9F79D0120 -:10BC2000281B390B2C5F3F4F4DB75EB7421B530BA0 -:10BC30000FB6F8945EBF0FBE4DBF0DB71EB70F5FB6 -:10BC40001F4F9F938F9381EA91E19F938F931F934F -:10BC50000F930F94CC23680154E0C50ED11C0F90B4 -:10BC60000F900F900F900F900F90F6018081882316 -:10BC700049F0082E000C990B0F94412EF601819388 -:10BC80006F01F3CFC8010E94ECB28DE991E10E94EF -:10BC90001EB30FB6F894FEBE0FBEEDBEDF91CF917E -:10BCA0001F910F91FF90EF90DF90CF9008958F92AA -:10BCB0009F92AF92BF92CF92DF92EF92FF92CF937B -:10BCC00080913918877F809339188091A015882337 -:10BCD00021F08DE995E10E94B967109281151092CB -:10BCE0007E1585E380937D150E94F1EE6B017C014A -:10BCF00020EDC20E27E0D21EE11CF11CA89561E0E8 -:10BD000080917D150E9464ED61E080917D150E9417 -:10BD100093ED209A289A219A2398229A81E00E94F2 -:10BD2000BF5B85E080937F150E94BF5BCAE08FEF09 -:10BD30000E94B35BC150D9F7A89520E030E0A9017B -:10BD400060E08DE795E10E949966809380158130CF -:10BD500061F00E94F1EEDC01CB018C199D09AE0966 -:10BD6000BF09B7FDEACF81E062C0A8952AEA31E0B9 -:10BD700040E050E068E08DE795E10E9499668530EB -:10BD800011F481E00AC0C4E00E94B85B8093801582 -:10BD9000C150D1F78A3A61F482E080938115A89569 -:10BDA00080918115823081F0812C912C540111C039 -:10BDB0000E94F1EEDC01CB018C199D09AE09BF098F -:10BDC000B7FDD4CF82E033C0812C912CA12C80E42C -:10BDD000B82E20E030E0A90167E38DE795E10E94ED -:10BDE0009966A501940169E28DE795E10E94996643 -:10BDF00080938015882361F00E94F1EEDC01CB0175 -:10BE00008C199D09AE09BF09B7FDE3CF8AE00FC0C9 -:10BE100080918115823021F520E030E0A9016AE3AC -:10BE20008DE795E10E949966882361F088E0809310 -:10BE30007E158DE795E10E9491660F94860B8FE841 -:10BE400091E122C00E94B85B807C803C19F483E0C1 -:10BE5000809381150E94B85B0E94B85B0E94B85B1A -:10BE60008DE795E10E94916610927F1581E00F9415 -:10BE7000B90D81110CC080E00F94B90D811107C07C -:10BE80000F94820B8BE791E10F949D0A1AC06FE526 -:10BE900075E18DE995E10E94E464811105C00F947C -:10BEA000820B8AE691E1F0CF809139188860809307 -:10BEB00039180F94860B8EE591E10F949D0A0E942C -:10BEC0006050CF91FF90EF90DF90CF90BF90AF90F8 -:10BED0009F908F900C94B55D2F923F925F926F92DE -:10BEE0007F928F929F92AF92BF92CF92DF92EF920A -:10BEF000FF920F931F93CF93DF93CDB7DEB7C35657 -:10BF0000D1090FB6F894DEBF0FBECDBF8C016B0117 -:10BF10004A012DB63EB6512C7E0187E5E80EF11C94 -:10BF2000F6018381823008F41FC180859185A28546 -:10BF3000B3858F719927AA27BB27892B8A2B8B2B37 -:10BF400009F012C11092C61A46EC5AE1BE016F5FA9 -:10BF50007F4FC6010E944E6918160CF005C18C85F2 -:10BF6000982F9871903129F42091B30B21502230F1 -:10BF700078F42981222309F4F7C0253E89F22E3274 -:10BF800079F22091C61A2E3259F28A7049F67CC095 -:10BF90006DB67EB6BE016F5F7F4FC7010E940F5D19 -:10BFA0000115110521F0F8018081811163C021E0A4 -:10BFB00081E090E0F70101900020E9F73197EE1958 -:10BFC000FF09E80FF91F32968DB79EB78E1B9F0BA6 -:10BFD0000FB6F8949EBF0FBE8DBFEDB7FEB731967A -:10BFE0005F01211102C0B80102C062E976E0C5011B -:10BFF0000F94882EB701C5010F94722E62E976E086 -:10C00000C5010F94722E19A21CA221E0A701B6014E -:10C01000CE0181960E94A56B81110DC08091B30B5A -:10C02000811109C00F94860B8AE491E10F949D0A57 -:10C03000C7010E94C4538BE1FE01B196DE01DC967C -:10C0400001900D928A95E1F740E050E0BE01645CFA -:10C050007F4FC5010E946C5FCE01CC960E94C267E3 -:10C06000CE0181960E94C2670FB6F8947EBE0FBEC5 -:10C070006DBE56CFF80101900020E9F73197CF014E -:10C08000801B910B20E096CF21E0903109F020E059 -:10C090008091391820FB84F980933918903141F050 -:10C0A0008985873409F03CCF8A858E3709F438CFEB -:10C0B0008091B30B813021F068F08230C1F130CF34 -:10C0C0008091B60B9091B70B01969093B70B80932C -:10C0D000B60B26CFBE016F5F7F4F88E09BE10E94C9 -:10C0E0000F5D0115110529F488E0A82E8BE1B82E0B -:10C0F00009C05801F50181915F018823A9F30E94CD -:10C10000B952F8CFF50181915F01882319F00E949F -:10C11000B952F8CF80E20E94B9526D8D7E8D8F8D1D -:10C1200098A14AE00E94C0520E94BE53F9CEBE01BF -:10C130006F5F7F4F88E09BE10E940F5D8114910447 -:10C1400041F068E07BE1C4010F945F2E892B51F42C -:10C150000BC0852D90E02091B40B3091B50B821768 -:10C16000930711F05394DCCE0FB6F8943EBE0FBE89 -:10C170002DBECD59DF4F0FB6F894DEBF0FBECDBF39 -:10C18000DF91CF911F910F91FF90EF90DF90CF90B3 -:10C19000BF90AF909F908F907F906F905F903F90F7 -:10C1A0002F900895CF93DF93CDB7DEB76B970FB67F -:10C1B000F894DEBF0FBECDBF81E08093B30B109229 -:10C1C000B70B1092B60B82E895E10E948C668BE16A -:10C1D000E2E8F5E1DE01119601900D928A95E1F712 -:10C1E00040E050E0BE016F5F7F4F80E090E00E9432 -:10C1F0006C5FCE0101960E94C2678091B60B909150 -:10C20000B70B6B960FB6F894DEBF0FBECDBFDF91B4 -:10C21000CF9108950F931F93CF93DF93CDB7DEB7E0 -:10C220006B970FB6F894DEBF0FBECDBF8B0122E037 -:10C230002093B30B9093B50B8093B40B82E895E1F8 -:10C240000E948C668BE1E2E8F5E1DE011196019037 -:10C250000D928A95E1F7A801BE016F5F7F4F80E0E4 -:10C2600090E00E946C5FCE0101960E94C2676B96BF -:10C270000FB6F894DEBF0FBECDBFDF91CF911F91F7 -:10C280000F910895DF92EF92FF920F931F93CF9338 -:10C29000DF9300D01F92CDB7DEB72091391823FF6E -:10C2A0003DC1F42EE62E8C010E9487CF882309F42D -:10C2B00081C0FF2009F48CC080913018882351F090 -:10C2C0000F94820B80E692E10F949D0A80E090E04B -:10C2D0000F9477038BE49BE09A8389838FE28093AA -:10C2E0004A0B81E08B83F12C9BE1D92E80912F1892 -:10C2F000F81678F4DF9CC0011124AE014D5F5F4F4A -:10C30000BE016F5F7F4F8F5D984E0E94275DF39453 -:10C31000EDCF8B818B3578F4AE014D5F5F4FBE0161 -:10C320006F5F7F4F84E495E10E94275D89819A8148 -:10C3300001979A838983E981FA811082E09130180C -:10C3400084E0E89FF0011124EA5BF44F80913518F6 -:10C3500090913618A0913718B09138188083918346 -:10C36000A283B3830F94860BB80187E492E10F9404 -:10C370006F0B6091301889E6689FB0011124665BED -:10C38000744F8CE392E10F946F0B409135185091EC -:10C390003618609137187091381886E392E10F943F -:10C3A000330B8AE00E94B952809130188F5F8093DE -:10C3B000301826C0FF2039F00F94860B86E292E1F8 -:10C3C0000F949D0A1DC01092301882E0F82E02C012 -:10C3D000FF24F3940F94860B81E292E10F949D0A5F -:10C3E00081E0F81609F497C08DE092E10F949D0A60 -:10C3F000B80189E192E10F946F0B8AE00E94B95273 -:10C400000E94E65DB801CE0103960F94DE048C0114 -:10C41000009709F483C06B817C81EE2009F450C041 -:10C4200021E0AC0184E495E10E94A56B882309F426 -:10C430003FC08091551590915615A0915715B09118 -:10C4400058158093311890933218A0933318B093F5 -:10C45000341810923518109236181092371810921E -:10C460003818B8018FEF91E10F946F0B409131189C -:10C4700050913218609133187091341887EF91E120 -:10C480000F94330B8AE00E94B95288EE91E10F9429 -:10C490009D0AB80180E090E00E940A618091C61A6E -:10C4A000811102C0C80102C086EC9AE160E030C090 -:10C4B000B80184ED91E10F946F0B81ED91E10FC014 -:10C4C00026E5AC0184E495E10E94A56B81110AC0C8 -:10C4D000B8018DEB91E10F946F0B8AEB91E10F9412 -:10C4E0009D0A1CC080913918816080933918B80169 -:10C4F00080E090E00E940A6110921F17B80188EA5C -:10C5000091E10F946F0B8AE00E94B95260E0C8017C -:10C510000E94A4F503C083E192E168CF0F900F90D1 -:10C520000F900F90DF91CF911F910F91FF90EF909F -:10C53000DF900895CF92DF92EF92FF92CF936B013D -:10C540007C01C42F8091BB1A9091BC1AA091BD1A96 -:10C55000B091BE1A8C159D05AE05BF05D1F00E94A5 -:10C560004667811102C080E018C02BEB38E1B701AB -:10C57000A6018091C41A9091C51A0E94C8678823A9 -:10C5800091F3C092BB1AD092BC1AE092BD1AF092FD -:10C59000BE1A81E0C1118093C31ACF91FF90EF9032 -:10C5A000DF90CF9008954F925F926F927F928F921B -:10C5B0009F92AF92BF92CF92DF92EF92FF920F9332 -:10C5C0001F93CF93DF93EC01423051056105710554 -:10C5D00010F480E069C089859A85AB85BC85019699 -:10C5E000A11DB11D84179507A607B70790F38F8982 -:10C5F000803149F4852E962EA72EBB248B899C89E9 -:10C60000AD89BE890FC0803221F78B889C88AD88A8 -:10C61000BE88DB01CA01E7E0B695A7959795879597 -:10C62000EA95D1F7880E991EAA1EBB1E2801390172 -:10C630006A017B0141E0C501B4010E949A6288232E -:10C6400041F29F89903161F4DD24EE24FF249601AC -:10C65000220F331FF901E554F74E5182408211C079 -:10C66000E894C7F8DD24EE24FF249601220F331F3F -:10C67000220F331FF901E554F74E40825182628246 -:10C6800073829A89923080F04D815E816F817885C6 -:10C69000840E951EA61EB71E8092BF1A9092C01AD5 -:10C6A000A092C11AB092C21ADF91CF911F910F913F -:10C6B000FF90EF90DF90CF90BF90AF909F908F90C2 -:10C6C0007F906F905F904F900895CF92DF92EF929E -:10C6D000FF920F931F93CF93DF93FC018185928587 -:10C6E000A385B4850196A11DB11D84179507A607E2 -:10C6F000B70710F480E061C08789803149F4BB2717 -:10C70000A72F962F852FC388D488E588F6880FC079 -:10C71000803281F783899489A589B6896A017B0172 -:10C72000C7E0F694E794D794C794CA95D1F78C0DD7 -:10C730009D1DAE1DBF1DE9016A017B018F01409166 -:10C74000BB1A5091BC1A6091BD1A7091BE1A841721 -:10C750009507A607B70739F040E0BC01CD010E945C -:10C760009A62882339F2F8018789803179F4B70118 -:10C77000A601552766277727440F551FFA01E55470 -:10C78000F74E80819181A0E0B0E012C0B701A60110 -:10C790004F77552766277727440F551F440F551F9E -:10C7A000FA01E554F74E80819181A281B381BF7077 -:10C7B00088839983AA83BB8381E0DF91CF911F9106 -:10C7C0000F91FF90EF90DF90CF9008954F925F927E -:10C7D0006F927F92AF92BF92CF92DF92EF92FF92D1 -:10C7E0000F931F93CF93DF9300D01F92CDB7DEB787 -:10C7F0008C0149835A836B837C835901C12CD12CD2 -:10C800007601412C82E0582E612C712C49815A818D -:10C810006B817C819E012F5F3F4FC8010E94656341 -:10C82000882341F1D301C201F801058404C0880FB7 -:10C83000991FAA1FBB1F0A94D2F7C80ED91EEA1E61 -:10C84000FB1E49815A816B817C818789803139F453 -:10C8500081E0483F5F4F6105710538F4D7CF81E033 -:10C86000483F5F4F6F4F7F4088F2F501C082D18211 -:10C87000E282F3820F900F900F900F90DF91CF9193 -:10C880001F910F91FF90EF90DF90CF90BF90AF90EE -:10C890007F906F905F904F9008958F929F92AF928C -:10C8A000BF92CF92DF92EF92FF920F931F93CF939D -:10C8B000DF93EC018B81811102C080E078C009898F -:10C8C0001A892B893C890417150726073707A8F30F -:10C8D0006A017B01823029F4C886D986EA86FB8604 -:10C8E0000DC0C114D104E104F10451F41886198675 -:10C8F0001A861B861C821D821E821F8281E057C001 -:10C9000088849984AA84BB84E98DFA8D258530E0DA -:10C91000275F3F4FB501A4014150510961097109D9 -:10C92000022E04C076956795579547950A94D2F7DD -:10C93000D701C6010197A109B10904C0B695A79511 -:10C94000979587952A95D2F784179507A607B70775 -:10C9500020F089288A288B2871F44D895E896F8997 -:10C96000788D4C835D836E837F834C015D018E01E6 -:10C970000C5F1F4F16C0841B950BA60BB70BF5CF92 -:10C980004C815D816E817F819801898D9A8D0E9495 -:10C99000656391E0891A9108A108B108882309F418 -:10C9A0008CCF81149104A104B10451F795CFDF918C -:10C9B000CF911F910F91FF90EF90DF90CF90BF909C -:10C9C000AF909F908F9008950F931F93CF93DF9315 -:10C9D000FC012381222311F080E044C08B01EC0193 -:10C9E000FB018789803139F18032B1F783E08B8395 -:10C9F000F801428D538D648D758D4D8B5E8B6F8BE1 -:10CA0000788F9E012F5E3F4FC8010E94E663882306 -:10CA100019F31A8F098F81E08983188619861A867F -:10CA20001B861C821D821E821F82188A1C861D8600 -:10CA30001E861F8617C082E08B831D8A1E8A1F8A6E -:10CA4000188EFB01808D918DA0E0B0E025E0880F6D -:10CA5000991FAA1FBB1F2A95D1F7898B9A8BAB8B85 -:10CA6000BC8BD7CFDF91CF911F910F910895CF93BA -:10CA7000DF93EC0141E0611101C040E06C857D85F0 -:10CA80008E859F850E949A62882341F0888920E2E2 -:10CA9000829FC00111248554974E02C080E090E02F -:10CAA000DF91CF910895CF93DF93EB01FC012381B8 -:10CAB000211102C080E028C02250223020F48FE2F1 -:10CAC0008883198220C060E00E943765009791F347 -:10CAD000FC0190E080E02EE23081303269F0883055 -:10CAE00029F4DE01A90FB11D2C939F5FDE01A90F70 -:10CAF000B11D30813C939F5F8F5F31968B3061F722 -:10CB0000C90FD11D188281E0DF91CF9108953F9226 -:10CB10004F925F926F927F928F929F92AF92BF924D -:10CB2000CF92DF92EF92FF920F931F93CF93DF93F9 -:10CB3000CDB7DEB72C970FB6F894DEBF0FBECDBFD2 -:10CB40005C01DC0159968D909C905A97F401818587 -:10CB50009285A385B4859C01AD012F5F3F4F4F4F58 -:10CB60005F4F29873A874B875C87D5011496CD9014 -:10CB7000DD90ED90FC901797C114D104E104F1040D -:10CB800039F0BFEFCB1ADB0AEB0AFB0A312C07C0E6 -:10CB9000F401C080D180E280F380332433942601F5 -:10CBA00037011D821E821F821886F40181859285BD -:10CBB000A385B4852D813E814F815885281739077B -:10CBC0004A075B0708F064C089859A85AB85BC85F8 -:10CBD0008C159D05AE05BF0550F482E0C82ED12C02 -:10CBE000E12CF12C92E0492E512C612C712C9E01EC -:10CBF0002F5F3F4FB701A601C4010E9465638823E0 -:10CC000009F446C089819A81AB81BC81892B8A2B2A -:10CC10008B2B41F0260137019FEF491A590A690A07 -:10CC2000790A05C0C414D504E604F70491F02D81F7 -:10CC30003E814F8158852F5F3F4F4F4F5F4F2D8370 -:10CC40003E834F8358873FEFC31AD30AE30AF30AA0 -:10CC5000ACCF0FEF1FEF2FEF3FE0B301A201C401F4 -:10CC60000E94D362F82E882399F0D50114964D9135 -:10CC70005D916D917C911797411551056105710585 -:10CC800049F093018201C4010E94D362811102C064 -:10CC9000F12C29C0D50114964D925D926D927C9233 -:10CCA0001797332051F0D301C2010196A11DB11D88 -:10CCB000F40180839183A283B383F50185899689EA -:10CCC000A789B08D892B8A2B8B2B69F4D5015596BA -:10CCD0004D925D926D927C92589711968C9111971E -:10CCE000806811968C938F2D2C960FB6F894DEBF2A -:10CCF0000FBECDBFDF91CF911F910F91FF90EF90AD -:10CD0000DF90CF90BF90AF909F908F907F906F906B -:10CD10005F904F903F90089540E050E0BA010C942E -:10CD20004D6461E0FC0180810E9464ED8FEF0C9402 -:10CD3000B35BEF92FF921F93CF93DF9300D01F92CC -:10CD4000CDB7DEB77C01162F29833A834B835C83F2 -:10CD5000FC0182810E94BF5B60E0F70180810E943C -:10CD600064ED0F942804812F80640E94B35B8C8152 -:10CD70000E94B35B8B810E94B35B8A810E94B35B8C -:10CD800089810E94B35B112311F087E801C085E916 -:10CD90000E94B35B1C3011F40E94B85B10E00E944B -:10CDA000B85BF701838387FF04C01F3F11F01F5F4B -:10CDB000F6CF0F900F900F900F90DF91CF911F91B2 -:10CDC000FF90EF9008950F931F93CF93DF93EC01A3 -:10CDD00089018C81833039F089E0440F551F661F2B -:10CDE000771F8A95D1F79A01AB0168E1CE010E94C5 -:10CDF0009966811128C08EEF8EBDF801C8019E5F33 -:10CE00000DB407FEFDCF20812EBD0DB407FEFDCF72 -:10CE100021812EBD32968E179F0791F70DB407FE24 -:10CE2000FDCF8FEF0E94B35B8FEF0E94B35B0E9438 -:10CE3000B85B8B838F71853041F083E18983CE01AC -:10CE40000E94916619C086E016C00F9428048823BA -:10CE500079F020E030E0A9016DE0CE010E949966F2 -:10CE6000811108C00E94B85B811104C011E005C0A7 -:10CE700087E101C086E1898310E0CE010E949166BE -:10CE8000812FDF91CF911F910F910895CF938091C2 -:10CE9000C31A8823B9F14091BB1A5091BC1A609112 -:10CEA000BD1A7091BE1A2BEB38E18091C41A909193 -:10CEB000C51A0E94E366C82F811102C0C0E023C0DA -:10CEC0004091BF1A5091C01A6091C11A7091C21A54 -:10CED000411551056105710591F02BEB38E1809109 -:10CEE000C41A9091C51A0E94E366882339F3109200 -:10CEF000BF1A1092C01A1092C11A1092C21A109240 -:10CF0000C31A01C0C1E08C2FCF910895CF93DF9356 -:10CF1000EC018B81882339F1898187FF20C061E092 -:10CF2000CE010E943765FC01892BE9F08081853EA6 -:10CF3000D1F08B81823040F489899A89AB89BC8990 -:10CF4000848F958FA68FB78F8D899E89AF89B88D75 -:10CF5000938F828FB58BA48B89818F778983DF91A3 -:10CF6000CF910C94466781E0888380E0DF91CF9178 -:10CF70000895CF93DF93EC010E9486671B82DF91B7 -:10CF8000CF910895FC01238121110C94B967089574 -:10CF9000CF92DF92EF92FF920F931F93CF93DF9385 -:10CFA000EC0189018C81833039F089E0440F551FF1 -:10CFB000661F771F8A95D1F79A01AB0161E1CE0117 -:10CFC0000E949966882339F084E08983CE010E940B -:10CFD000916680E03EC00E94F1EE6B017C012CE284 -:10CFE000C20E21E0D21EE11CF11C0E94B85B8B83B3 -:10CFF0008F3F61F40E94F1EEDC01CB018C199D0999 -:10D00000AE09BF09B7FDF1CF81E11DC08E3FD1F45C -:10D010008FEF8EBDF801D801A150BE4F0DB407FEB1 -:10D02000FDCF9EB591938EBDEA17FB07B9F70DB4FE -:10D0300007FEFDCF8EB58C930E94B85B0E94B85B53 -:10D0400011E003C08FE0898310E0CE010E94916659 -:10D05000812FDF91CF911F910F91FF90EF90DF9083 -:10D06000CF9008952F923F924F925F926F927F924E -:10D070008F929F92AF92BF92CF92DF92EF92FF92E8 -:10D080000F931F93CF93DF9300D01F92CDB7DEB7DE -:10D090009C838B834B015A01DC0113968C91811187 -:10D0A00003C08FEF9FEFE3C0EB81FC81818180FFA4 -:10D0B000F8CFEB81FC8181899289A389B48940856D -:10D0C000518562857385841B950BA60BB70BA50153 -:10D0D00060E070E084179507A607B70708F45C01C5 -:10D0E00075018B819C8104969A838983612C42E02F -:10D0F000742EE114F10409F48BC0AB81BC81189645 -:10D100004D915D916D917C911B976A01B1E0DB229D -:10D11000EB81FC812381818D928D1A012B0139E0F5 -:10D1200056944794379427943A95D1F7223061F476 -:10D13000FC01828D938DA48DB58DBC01CD01620D56 -:10D14000731D841D951D4AC0DC0114961C9111505D -:10D150001221C114D10401F511111EC0452B462B1B -:10D16000472B59F4EB81FC8185899689A789B08D7D -:10D1700084839583A683B7830FC0AB81BC8114964B -:10D180004D915D916D917C91179729813A810E9413 -:10D190006563882309F485CFEB81FC81218D328D75 -:10D1A00084819581A681B7810297A109B109F9010E -:10D1B000058404C0880F991FAA1FBB1F0A94D2F7C9 -:10D1C0004685578560897189840F951FA61FB71FF3 -:10D1D000BC01CD01610F711D811D911D93012C19A1 -:10D1E0003D0987012E153F0508F489010115F2E07C -:10D1F0001F0779F52091BB1A3091BC1A4091BD1AD6 -:10D200005091BE1A621773078407950719F421C05D -:10D21000C5012DC09401AB01BC018091C41A90914D -:10D22000C51A0E94C867882309F43BCF800E911E5F -:10D23000EB81FC8180859185A285B385800F911F4C -:10D24000A11DB11D80879187A287B387E01AF10ADB -:10D2500050CF40E00E949A62882309F422CFB601A1 -:10D260006554774EA801C4010F94562EDFCF0F905E -:10D270000F900F900F90DF91CF911F910F91FF9022 -:10D28000EF90DF90CF90BF90AF909F908F907F9066 -:10D290006F905F904F903F902F900895DF92EF92A4 -:10D2A000FF920F931F93CF93DF938C01EB017A01D1 -:10D2B0008DE0D82E40E250E0BE01C8010E943268E5 -:10D2C0008032910539F021E0892B09F420E0822F8A -:10D2D000819544C028812223C9F1253E11F02E32C8 -:10D2E00031F4E114F10431F3F7011082E3CFE114DA -:10D2F000F10441F13B853F733F3021F54A8D5B8D51 -:10D30000452B01F52F713FEF320F3530D8F430E067 -:10D3100021503109D29EC001D39E900D1124D70116 -:10D32000A80FB91FFE0120E0AD01253088F431813E -:10D330003D932F5F32962D30C1F7288126FF02C022 -:10D34000FA0115862B8523FDB5CF08C080E006C005 -:10D350002B3010F43481ECCF3681EACFDF91CF91BE -:10D360001F910F91FF90EF90DF9008954F925F9281 -:10D370006F927F929F92AF92BF92CF92DF92EF9285 -:10D38000FF920F931F93CF93DF931F92CDB7DEB71A -:10D390008C017B015A01C22EDB0159968D919C9123 -:10D3A0005A97F801928F818FCB010E948C66912C45 -:10D3B000F70180859185A285B3854189528963896A -:10D3C000748984179507A607B70708F060C025E0A1 -:10D3D000B695A795979587952A95D1F7F82FFF7061 -:10D3E000DF2ED70113968C91823008F460C041E0A3 -:10D3F00050E0BE016F5F7F4FC7010E943268019706 -:10D4000019F4898190E002C08FEF9FEF019609F433 -:10D410004EC0F70180859185A285B3854F96A11DE9 -:10D42000B11D80879187A287B387F0E2DF9EB001AC -:10D4300011246554774E61157105C9F1DB018C919A -:10D44000882319F0853EC1F46CC191100EC0809103 -:10D45000BB1A9091BC1AA091BD1AB091BE1AF801E6 -:10D4600084879587A687B787D08ADB018C9188232C -:10D4700061F0992493949CCF4BE050E0C5010F9448 -:10D48000492E892B09F094CF14C0992493948C2DA4 -:10D490008274823461F4992009F48BC0F801D08839 -:10D4A00061E0C8010E943765009709F00DC180E076 -:10D4B0003BC1C7FCFCCFF0E2DF9EA00111249A0122 -:10D4C0002554374ED9011B968C91817121F08C2DFA -:10D4D000827109F06AC08091BB1A9091BC1AA09128 -:10D4E000BD1AB091BE1AF80184879587A687B787C1 -:10D4F000D08ACA018554974E7C01DC0154964D9127 -:10D500005C91559760E070E0DA0199278827858B58 -:10D51000968BA78BB08FF701428D538D60E070E042 -:10D52000482B592B6A2B7B2BD80155964D935D9335 -:10D530006D937C935897F9018385887161F4F701A5 -:10D54000848D958DA68DB78DF801818B928BA38BE1 -:10D55000B48B81E010C0803141F598012F5E3F4FC0 -:10D56000D80159968D919C915A970E94E663882321 -:10D57000E1F084E0F80183838C2D8F70D80111963F -:10D580008C931197F80114821582168217821896CF -:10D590001D921D921D921C921B97C4FEB5C0C8011E -:10D5A0000F944C048111B0C082CFD80113961C9205 -:10D5B0007ECFD70113968C911397823009F477CFE1 -:10D5C00051968D919D910D90BC91A02D803E9F4FC5 -:10D5D000AF41B10508F06BCFC7010E948765882372 -:10D5E00009F465CF0E944667882309F460CFD7010C -:10D5F00059962D913C915A9714968D919D910D902D -:10D60000BC91A02D0297A109B109F901058404C0BC -:10D61000880F991FAA1FBB1F0A94D2F7468457840C -:10D6200060887188480E591E6A1E7B1E81E08093B7 -:10D63000C31A4092BB1A5092BC1A6092BD1A7092E3 -:10D64000BE1A80E092E0EBEBF8E1DF019C011D9255 -:10D6500021503040E1F7DD24D394D7015996ED9164 -:10D66000FC915A978481D81698F42BEB38E1B301DA -:10D67000A2014D0D511D611D711D8091C41A909123 -:10D68000C51A0E94E366882309F411CFD394E5CF2D -:10D6900080E092E0A0E0B0E0058404C0880F991F0C -:10D6A000AA1FBB1F0A94D2F7F701418952896389E7 -:10D6B0007489840F951FA61FB71F818B928BA38B34 -:10D6C000B48B8BEB98E1D12C20E2DC011D922A95E2 -:10D6D000E9F72BE0F501DC0101900D922A95E1F7C5 -:10D6E00021E238E2FC01318B208B40E058E0578783 -:10D6F0004687338B228B318F208F578B468B0E942E -:10D7000046678111D8CED3CEC5FE09C0F801418944 -:10D71000528963897489C8010E944D6405C081E003 -:10D7200003C09110A6CE93CE0F90DF91CF911F91A1 -:10D730000F91FF90EF90DF90CF90BF90AF909F90B0 -:10D740007F906F905F904F9008952F923F924F92ED -:10D750005F926F927F928F929F92AF92BF92CF9281 -:10D76000DF92EF92FF920F931F93CF93DF93CDB78A -:10D77000DEB7C254D1090FB6F894DEBF0FBECDBFDD -:10D780004C015B016A01322E19821C821C8E1F8E95 -:10D790006115710511F410E0A6C0FC0183818111AF -:10D7A000FACFFA0180818F3209F09BC0F5018381A5 -:10D7B0008250823010F485010CC0F501618D728DAC -:10D7C000CE014C960E94E464882329F38E01045E06 -:10D7D0001F4FC6016C010196F60120812F32D1F353 -:10D7E000CE0101967C013C012E019CE1490E511CA9 -:10D7F0002396EFAE23972F2C9BE09150E7E3F0E0C8 -:10D80000EC0FFD1FE90FF11D80E280839111F5CF30 -:10D81000960147E0D9018D91882369F18F3259F142 -:10D820008E3239F44A3009F4B6CF98E04AE09D01CF -:10D83000F1CFEAEDF2E12491222321F03196821317 -:10D84000FACFA9CF491708F4A6CF813208F4A3CFA5 -:10D850008F3709F4A0CF21E0290FE7E3F0E0EC0FC8 -:10D86000FD1FE90FF11D9FE9980F9A3108F48052CE -:10D870008083922FDCCF8FA9803209F48CCF69018D -:10D88000F90180812F5F3F4F8F32C9F38823F9F070 -:10D8900021E0AE01495C5F4FB801C7010E94B66943 -:10D8A000882309F478CF0A151B0519F0C8010E94D6 -:10D8B000B9676E147F0441F023969FAD2397822DA4 -:10D8C0008701E92EF82E98CF942D852DF9CF232DA1 -:10D8D000AE01495C5F4FB801C4010E94B669182FC0 -:10D8E00002C08B017DCFCE014C960E94C267CE0153 -:10D8F00001960E94C267812FCE5BDF4F0FB6F8946E -:10D90000DEBF0FBECDBFDF91CF911F910F91FF9072 -:10D91000EF90DF90CF90BF90AF909F908F907F90CF -:10D920006F905F904F903F902F900895CF93C82FA6 -:10D930000F94860B84E50E94B9526C2F70E080E052 -:10D9400090E00E942D5380E20E94B95288EC92E14F -:10D95000CF910D949D0A2F923F924F925F926F92BA -:10D960007F928F929F92AF92BF92CF92DF92EF926F -:10D97000FF920F931F93CF93DF93CDB7DEB7CD59AF -:10D98000D1090FB6F894DEBF0FBECDBF4B015A01CF -:10D990006901ED96FFAEEEAEED97DC012D913D9164 -:10D9A0004D915C91E3962CAF3DAF4EAF5FAFE397E7 -:10D9B00020914C1130914D1140914E1150914F11C9 -:10D9C000E3966CAD7DAD8EAD9FADE3970F949A2439 -:10D9D0000F94972DA7966CAF7DAF8EAF9FAFA79793 -:10D9E00065966CAF7DAF8EAF9FAF6597D4012D91DB -:10D9F0003D914D915C91AF962CAF3DAF4EAF5FAF77 -:10DA0000AF97209150113091511140915211509186 -:10DA10005311AF966CAD7DAD8EAD9FADAF970F94AA -:10DA20009A240F94972D2B013C0169966CAF7DAF22 -:10DA30008EAF9FAF6997D5012D913D914D915C912E -:10DA4000E7962CAF3DAF4EAF5FAFE79720915411F3 -:10DA5000309155114091561150915711E7966CAD88 -:10DA60007DAD8EAD9FADE7970F949A240F94972DBF -:10DA70004B015C016D966CAF7DAF8EAF9FAF6D9724 -:10DA8000D6012D913D914D915C91AB962CAF3DAF60 -:10DA90004EAF5FAFAB972091581130915911409123 -:10DAA0005A1150915B11AB966CAD7DAD8EAD9FADB3 -:10DAB000AB970F949A240F94972D6B017C01A1963C -:10DAC0006CAF7DAF8EAF9FAFA197E3962CAD3DAD10 -:10DAD0004EAD5FADE39725962CAF3DAF4EAF5FAF38 -:10DAE0002597AF968CAD9DADAEADBFADAF972996E6 -:10DAF0008CAF9DAFAEAFBFAF2997E7962CAD3DADD4 -:10DB00004EAD5FADE7972D962CAF3DAF4EAF5FAFFB -:10DB10002D97AB968CAD9DADAEADBFADAB9761967D -:10DB20008CAF9DAFAEAFBFAF61978091371183FFD0 -:10DB300016C0C0925D16D0925E16E0925F16F0920B -:10DB40006016AB962CAD3DAD4EAD5FADAB9720935F -:10DB50004D1630934E1640934F16509350168091A9 -:10DB6000351190913611892B11F00C94817DD801DB -:10DB7000BC91C158DF4FB883CF57D040F801F18135 -:10DB8000CD57DF4FF883C358D040D8011296BC91CF -:10DB9000C957DF4FB883C758D040F801038180913F -:10DBA0002B1690912C16891B8F708F3021F480E0FA -:10DBB0000E94E553F4CFF0912B16C556DF4FF88342 -:10DBC000CB59D04080912B16282E312C80915116A4 -:10DBD00090915216A0915316B0915416A7962CAD61 -:10DBE0003DAD4EAD5FADA797281B390B4A0B5B0BC4 -:10DBF000A7962CAF3DAF4EAF5FAFA797809155165C -:10DC000090915616A0915716B0915816481A590A75 -:10DC10006A0A7B0A8091591690915A16A0915B1658 -:10DC2000B0915C16A5019401281B390B4A0B5B0BC4 -:10DC3000AF962CAF3DAF4EAF5FAFAF9780915D1603 -:10DC400090915E16A0915F16B0916016A7019601A3 -:10DC5000281B390B4A0B5B0BE3962CAF3DAF4EAF45 -:10DC60005FAFE397232B242B252B09F48CC08091E5 -:10DC7000E90B811133C06091EE0B7091EF0B809135 -:10DC8000F00B9091F10B0F94962C2091190230918A -:10DC90001A026217730714F5C0925D16D0925E16D1 -:10DCA000E0925F16F0926016AB968CAD9DADAEAD76 -:10DCB000BFADAB9780934D1690934E16A0934F1621 -:10DCC000B09350160F94860B8FE193E10F949D0A49 -:10DCD000E3961CAE1DAE1EAE1FAEE397E3966CAD91 -:10DCE0007DAD8EAD9FADE3970F943B24209115023F -:10DCF0003091160240911702509118020F949A2405 -:10DD00004B015C0120E030E0A9010F948A2D87FFD0 -:10DD100004C0B7FAB094B7F8B09420E030E04AEF0E -:10DD200053E4609158117091591180915A1190915A -:10DD30005B110F949A24A50194010F94342487FF5A -:10DD400022C0C0925D16D0925E16E0925F16F092ED -:10DD50006016AB962CAD3DAD4EAD5FADAB9720934D -:10DD60004D1630934E1640934F16509350160F9405 -:10DD7000860B80E093E10F949D0AE3961CAE1DAEE6 -:10DD80001EAE1FAEE397A7968CAD9DADAEADBFADF9 -:10DD9000A7978827B7FD83959927AA27BB27182F10 -:10DDA00077FC1260AF968CAD9DADAEADBFADAF97B9 -:10DDB000B7FD1460E3962CAD3DAD4EAD5FADE3977E -:10DDC00057FD1860E3966CAD7DAD8EAD9FADE397CA -:10DDD0000F943B24209115023091160240911702B6 -:10DDE000509118020F949A246B017C0120E030E0DE -:10DDF000A9010F948A2D87FF04C0C701B60190586E -:10DE000002C0C701B60120E030E040E05FE30F94BC -:10DE10002A2B0F949D2CEB966CAF7DAF8EAF9FAFEE -:10DE2000EB9783E5829DF001839DF00D1124EB5F5C -:10DE3000F34F108215ABA7968CAC9DACAEACBFACCB -:10DE4000A797B7FE08C0B094A09490948094811CCA -:10DE5000911CA11CB11C83E5829DF001839DF00DF6 -:10DE60001124EB5FF34F858A968AA78AB08EAB9612 -:10DE70004CAE5DAE6EAE7FAEAB9777FE0DC0882721 -:10DE80009927DC0184199509A609B709AB968CAFCF -:10DE90009DAFAEAFBFAFAB9783E5829DF001839D91 -:10DEA000F00D1124EB5FF34FAB962CAD3DAD4EADB5 -:10DEB0005FADAB97218F328F438F548FAF968CAD70 -:10DEC0009DADAEADBFADAF97E7968CAF9DAFAEAF9A -:10DED000BFAFE797B7FF0DC0B095A095909581951E -:10DEE0009F4FAF4FBF4FE7968CAF9DAFAEAFBFAF69 -:10DEF000E79783E5829DF001839DF00D1124EB5F90 -:10DF0000F34FE7962CAD3DAD4EAD5FADE797258F56 -:10DF1000368F478F50A3A7966CAD7DAD8EAD9FAD6C -:10DF2000A7970F943B242091D90B3091DA0B4091A5 -:10DF3000DB0B5091DC0B0F949A24A7966CAF7DAF4E -:10DF40008EAF9FAFA79769AB7AAB8BAB9CABC3018E -:10DF5000B2010F943B242091DD0B3091DE0B4091F8 -:10DF6000DF0B5091E00B0F949A242B013C016DAB19 -:10DF70007EAB8FAB98AFAF966CAD7DAD8EAD9FADE8 -:10DF8000AF970F943B242091E10B3091E20B40912D -:10DF9000E30B5091E40B0F949A24AF966CAF7DAFD6 -:10DFA0008EAF9FAFAF9769AF7AAF8BAF9CAF209129 -:10DFB000E50B3091E60B4091E70B5091E80BC70160 -:10DFC000B6010F949A246B017C0121966CAF7DAF52 -:10DFD0008EAF9FAF219736E083169104A104B10460 -:10DFE0001CF5AB968CAD9DADAEADBFADAB970697B6 -:10DFF000A105B105CCF4E7962CAD3DAD4EAD5FADBE -:10E00000E797263031054105510574F420E030E0F2 -:10E01000A901C701B6010F948A2D87FF16C0F7FA30 -:10E02000F094F7F8F09411C0ED96AEADBFADED975A -:10E03000CD90DD90ED90FC9020E030E0A901C7018B -:10E04000B6010F943424882369F083E5829DF001A2 -:10E05000839DF00D1124EB5FF34FC586D686E786CE -:10E06000F08A38C0A7962CAD3DAD4EAD5FADA797F9 -:10E07000CA01B9010F949A246B017C01A30192019A -:10E08000C301B2010F949A249B01AC01C701B601F0 -:10E090000F942A2B6B017C01AF962CAD3DAD4EAD9C -:10E0A0005FADAF97CA01B9010F949A249B01AC01EF -:10E0B000C701B6010F942A2B0F94D82D23E5229D7A -:10E0C000F001239DF00D1124EB5FF34F65877687F8 -:10E0D0008787908B83E5829DF001839DF00D11244D -:10E0E000EB5FF34FEB962CAD3DAD4EAD5FADEB97D7 -:10E0F00021A332A343A354A3582D492D3A2D2B2DF0 -:10E10000AB968CAD9DADAEADBFADAB978816990605 -:10E11000AA06BB0660F4A8965FADA897A9964FAD76 -:10E12000A997AA963FADAA97AB962FADAB97852F2F -:10E13000942FA32FB22FE7962CAD3DAD4EAD5FAD22 -:10E14000E79782179307A407B50710F4DA01C9010E -:10E15000EB962CAD3DAD4EAD5FADEB9782179307BF -:10E16000A407B50710F4DA01C90123E5229DF001E7 -:10E17000239DF00D1124EB5FF34F85A396A3A7A376 -:10E18000B0A70697A105B10510F40C941C7EDF0121 -:10E19000AF5ABF4F8091D70B8C93EE5AFF4F8091AF -:10E1A000D80B808389288A288B2809F05F9883E51B -:10E1B000829DF001839DF00D1124EB5FF34F818D63 -:10E1C000928DA38DB48D892B8A2B8B2B09F08A9885 -:10E1D00083E5829DF001839DF00D1124EB5FF34FE9 -:10E1E000858D968DA78DB0A1892B8A2B8B2B29F03D -:10E1F00080910801817080930601EB968CAD9DADF6 -:10E20000AEADBFADEB97892B8A2B8B2B11F40C9401 -:10E21000837D80919011882319F081508093901113 -:10E22000129880E280939011D0907811E09079114B -:10E23000F0907A1110917B112D2D3E2D4F2D512FE5 -:10E24000C158DF4F6881CF57D040CD57DF4F78811D -:10E25000C358D040C957DF4F8881C758D040902F4E -:10E260000F94342487FF10C0C158DF4FD882CF5796 -:10E27000D040CD57DF4FE882C358D040C957DF4F59 -:10E28000F882C758D040012F83E5829DF001839D1D -:10E29000F00D1124EB5FF34F45845684678470883A -:10E2A000A301920160E070E080E89FE30F94242CCA -:10E2B000EF966CAF7DAF8EAF9FAFEF97C158DF4F3A -:10E2C0002881CF57D040CD57DF4F3881C358D04039 -:10E2D000C957DF4F4881C758D040502F0F949A2418 -:10E2E0004B015C0180912B1690912916891B8F7030 -:10E2F000C557DF4F8883CB58D040A501940160E01B -:10E3000074E284E799E40F94242C0F94972D6B0109 -:10E310007C01C557DF4F8881CB58D0408250863072 -:10E32000D0F58091481190914911A0914A11B09176 -:10E330004B11C816D906EA06FB0668F58C199D092B -:10E34000AE09BF09BC01CD01660F771F881F991F59 -:10E35000C557DF4FA881CB58D0400A2F10E020E0EE -:10E3600030E0A90198010F948A2ACA01B9010F94DB -:10E3700039240F94972D6C0D7D1D8E1D9F1D0F94BC -:10E3800039249B01AC0160E074E284E799E40F94C6 -:10E39000242C4B015C01A5019401C301B2010F942F -:10E3A0009A249B01AC010F949A24C157DF4F6883D4 -:10E3B00079838A839B83CF58D04083E5829D8001F7 -:10E3C000839D100D11240B5F134FC157DF4F288120 -:10E3D00039814A815B81CF58D040D80111962D9365 -:10E3E0003D934D935C93149795962D913D914D914E -:10E3F0005C919897C158DF4F288339834A835B83A8 -:10E40000CF57D040CA01B9010F943924CD57DF4FFF -:10E41000688379838A839B83C358D0409B01AC0176 -:10E42000C501B4010F949A240F94082C0F949D2CCD -:10E43000CD56DF4F688379838A839B83C359D0404D -:10E44000F801EF5BFF4F60837183828393838E01BA -:10E450000F5C1F4FFE01B196C957DF4FF983E88368 -:10E46000C758D0402CE531E1C756DF4F39832883A8 -:10E47000C959D040A801405F5F4FC456DF4F598350 -:10E480004883CC59D040C956DF4FF983E883C75938 -:10E49000D040A4961FAEA497A8961FAEA89750E8A8 -:10E4A000AC965FAFAC978FE3E4968FAFE497D8015B -:10E4B0002D913D914D915D918D01C501B4010F9458 -:10E4C0009A246B017C01C956DF4FE881F981C75955 -:10E4D000D0406193719381939193C956DF4FF98333 -:10E4E000E883C759D04020E030E0A9010F948A2D7D -:10E4F00087FF04C0F7FAF094F7F8F094C756DF4F9F -:10E50000A881B981C959D0404D905D906D907D90A2 -:10E51000C756DF4FB983A883C959D040A7019601D8 -:10E52000C301B2010F94342487FF24C0A7019601D0 -:10E53000C301B2010F94242C7B016C01A4962FAD72 -:10E54000A497A8963FADA897AC964FADAC97E4962C -:10E550005FADE4970F94342487FF0CC0A496EFAE10 -:10E56000A497A896FFAEA897AC96CFAEAC97E496CA -:10E57000DFAEE497C456DF4FE881F981CC59D04033 -:10E58000E017F10709F093CF20E030E040E85FE3C7 -:10E59000A4966FADA497A8967FADA897AC968FADC3 -:10E5A000AC97E4969FADE4970F94342487FF84C022 -:10E5B0008E010F5C1F4FA4962FADA497A8963FAD78 -:10E5C000A897AC964FADAC97E4965FADE497C9576A -:10E5D000DF4FA881B981C758D0406D917D918D9151 -:10E5E0009C910F949A24C957DF4FE881F981C7584D -:10E5F000D0406193719381939193C957DF4FF98311 -:10E60000E883C758D0400E171F07A9F623E5229DBF -:10E61000C001239D900D11249C012B5F334F790184 -:10E6200089010F5B1F4FCD56DF4F688179818A8149 -:10E630009B81C359D0400F943924A4962FADA49741 -:10E64000A8963FADA897AC964FADAC97E4965FAD5A -:10E65000E4970F949A240F949D2CD8016D937D9389 -:10E660008D939C931397A4962FADA497A8963FAD36 -:10E67000A897AC964FADAC97E4965FADE497A4969F -:10E680006FADA497A8967FADA897AC968FADAC97C9 -:10E69000E4969FADE4970F949A24C157DF4F2881E9 -:10E6A00039814A815B81CF58D0400F949A24F70179 -:10E6B0006183728383839483CD57DF4F28813981AF -:10E6C0004A815B81C358D040EF966CAD7DAD8EAD75 -:10E6D0009FADEF970F949A24A7966CAF7DAF8EAF46 -:10E6E0009FAFA79783E5829D8001839D100D112424 -:10E6F0000B5F134FD80155968D909D90AD90BC90B7 -:10E70000589781149104A104B10469F559968D912B -:10E710009D910D90BC91A02D892B8A2B8B2B19F5E7 -:10E72000F801858D968DA78DB0A1892B8A2B8B2B17 -:10E73000D1F420917011309171114091721150916A -:10E740007311A7966CAD7DAD8EAD9FADA7970F945D -:10E750009A240F94082C0F949D2C2B013C01D80176 -:10E76000D6961C923FC3EB962CAD3DAD4EAD5FAD42 -:10E77000EB97232B242B252B49F020916C11309102 -:10E780006D1140916E1150916F1108C0209174115C -:10E79000309175114091761150917711A7966CAD1B -:10E7A0007DAD8EAD9FADA7970F949A240F94082C42 -:10E7B0000F949D2C2B013C01EB968CAD9DADAEAD25 -:10E7C000BFADEB97892B8A2B8B2BD9F020E030E063 -:10E7D000A9016091010C7091020C8091030C909141 -:10E7E000040C0F943424882361F081E0E3962CAD6F -:10E7F0003DAD4EAD5FADE397121613061406150638 -:10E800000CF080E093E5929D8001939D100D112402 -:10E810000B5F134FD801D6968C93882309F4CCC094 -:10E820002091411630914216409143165091441662 -:10E8300025966CAD7DAD8EAD9FAD25970F94292BA0 -:10E84000AB966CAF7DAF8EAF9FAFAB972091451667 -:10E8500030914616409147165091481629966CAD56 -:10E860007DAD8EAD9FAD29970F94292BE3966CAFAC -:10E870007DAF8EAF9FAFE3972091491630914A1636 -:10E8800040914B1650914C162D966CAD7DAD8EADD2 -:10E890009FAD2D970F94292B6B017C01AB962CAD6E -:10E8A0003DAD4EAD5FADAB97CA01B9010F949A244F -:10E8B000AB966CAF7DAF8EAF9FAFAB97E3962CADB1 -:10E8C0003DAD4EAD5FADE397CA01B9010F949A24F7 -:10E8D0009B01AC01AB966CAD7DAD8EAD9FADAB97A2 -:10E8E0000F942A2BAB966CAF7DAF8EAF9FAFAB97DB -:10E8F000A7019601C701B6010F949A249B01AC01B0 -:10E90000AB966CAD7DAD8EAD9FADAB970F942A2BC2 -:10E910000F94D82D6B017C0120914D1630914E162D -:10E9200040914F165091501661966CAD7DAD8EADF5 -:10E930009FAD61970F94292BA70196010F94242C6A -:10E940006B017C01F801FD96608371838283938360 -:10E9500020E030E040E450E40F948A2D18161CF4B7 -:10E96000F80116AA29C02091010C3091020C4091A7 -:10E97000030C5091040CC701B6010F949A249B011B -:10E98000AC016091D30B7091D40B8091D50B909119 -:10E99000D60B0F94242CA7962CAD3DAD4EAD5FAD9C -:10E9A000A7970F949A240F949D2C641575058605DE -:10E9B000970510F42B013C018091CF0B9091D00B67 -:10E9C000A091D10BB091D20BC158DF4F2881398172 -:10E9D0004A815B81CF57D04082179307A407B507C0 -:10E9E00008F4DCC081149104A104B10411F1609118 -:10E9F000BF0B7091C00B8091C10B9091C20B64153D -:10EA0000750586059705A8F40F947A2A6B017C0199 -:10EA1000A5019401C301B2010F947A2AC616D70644 -:10EA2000E806F90630F4C701B6010F948A2A2901D5 -:10EA30003A0183E5829DF001839DF00D1124EB5F87 -:10EA4000F34FC18CD28CE38CF48CC114D104E1045B -:10EA5000F10451F16091C30B7091C40B8091C50B0F -:10EA60009091C60B6415750586059705E8F4C158A5 -:10EA7000DF4F288139814A815B81CF57D0400F9485 -:10EA80007A2A4B015C01A7019601C301B2010F94E0 -:10EA90007A2A86169706A806B90630F4C501B4018D -:10EAA0000F948A2A29013A0183E5829DF001839D12 -:10EAB000F00D1124EB5FF34FC58CD68CE78CF0A0E2 -:10EAC000C114D104E104F10451F16091C70B7091BC -:10EAD000C80B8091C90B9091CA0B6415750586050A -:10EAE0009705E8F4C158DF4F288139814A815B815D -:10EAF000CF57D0400F947A2A4B015C01A7019601B1 -:10EB0000C301B2010F947A2A86169706A806B906A1 -:10EB100030F4C501B4010F948A2A29013A0183E532 -:10EB2000829DF001839DF00D1124EB5FF34FC1A096 -:10EB3000D2A0E3A0F4A0C114D104E104F10409F4CB -:10EB400051C16091CB0B7091CC0B8091CD0B90910A -:10EB5000CE0B641575058605970508F043C1C158AD -:10EB6000DF4F288139814A815B81CF57D0400F9494 -:10EB70007A2A4B015C01A7019601C301B2010F94EF -:10EB80007A2A86169706A806B90608F02BC1C50191 -:10EB9000B4010F948A2A29013A0124C181149104F5 -:10EBA000A104B104D9F16091BF0B7091C00B8091A9 -:10EBB000C10B9091C20B641575058605970570F51C -:10EBC0000F943924CD57DF4F288139814A815B81E9 -:10EBD000C358D0400F949A246B017C01C501B40145 -:10EBE0000F9439244B015C01C301B2010F94392405 -:10EBF000A50194010F949A249B01AC01C701B601B1 -:10EC00000F94342487FF0AC0A5019401C701B601FF -:10EC10000F94242C0F949D2C2B013C0183E5829DA5 -:10EC2000F001839DF00D1124EB5FF34F818C928CEA -:10EC3000A38CB48C81149104A104B104D9F1609126 -:10EC4000C30B7091C40B8091C50B9091C60B6415DA -:10EC500075058605970570F50F943924CD57DF4F5C -:10EC6000288139814A815B81C358D0400F949A240E -:10EC70006B017C01C501B4010F9439244B015C0187 -:10EC8000C301B2010F943924A50194010F949A2471 -:10EC90009B01AC01C701B6010F94342487FF0AC061 -:10ECA000A5019401C701B6010F94242C0F949D2C4B -:10ECB0002B013C0183E5829DF001839DF00D112421 -:10ECC000EB5FF34F858C968CA78CB0A081149104D8 -:10ECD000A104B104D9F16091C70B7091C80B809168 -:10ECE000C90B9091CA0B641575058605970570F5DB -:10ECF0000F943924CD57DF4F288139814A815B81B8 -:10ED0000C358D0400F949A246B017C01C501B40113 -:10ED10000F9439244B015C01C301B2010F943924D3 -:10ED2000A50194010F949A249B01AC01C701B6017F -:10ED30000F94342487FF0AC0A5019401C701B601CE -:10ED40000F94242C0F949D2C2B013C0183E5829D74 -:10ED5000F001839DF00D1124EB5FF34F81A092A091 -:10ED6000A3A0B4A081149104A104B104D9F16091CD -:10ED7000CB0B7091CC0B8091CD0B9091CE0B641589 -:10ED800075058605970570F50F943924CD57DF4F2B -:10ED9000288139814A815B81C358D0400F949A24DD -:10EDA0006B017C01C501B4010F9439244B015C0156 -:10EDB000C301B2010F943924A50194010F949A2440 -:10EDC0009B01AC01C701B6010F94342487FF0AC030 -:10EDD000A5019401C701B6010F94242C0F949D2C1A -:10EDE0002B013C0183E5829D8001839D100D112440 -:10EDF0000B5F134FF801E35BFF4F40825182628249 -:10EE00007382C301B2010F9439246B017C01A79670 -:10EE10002CAD3DAD4EAD5FADA7970F94242CE7967A -:10EE20006CAF7DAF8EAF9FAFE797D80151966D93D2 -:10EE30007D938D939C9354972DEB37E346E051E4FB -:10EE4000C701B6010F949A240F949D2CF80161AB71 -:10EE500072AB83AB94AB86A9882381F1FD962081A8 -:10EE60003181428153816091010C7091020C80913B -:10EE7000030C9091040C0F949A24E7962CAD3DADB1 -:10EE80004EAD5FADE7970F949A24209158113091C1 -:10EE9000591140915A1150915B110F949A249B0182 -:10EEA000AC0160E074E284EF99E40F94242C0F9499 -:10EEB0009D2CD801D8967C936E93D79729A93AA90F -:10EEC0004BA95CA9EF966CAD7DAD8EAD9FADEF9774 -:10EED0000F949A24EB966CAF7DAF8EAF9FAFEB97FC -:10EEE000698B7A8B8B8B9C8B2DA93EA94FA958AD32 -:10EEF000EF966CAD7DAD8EAD9FADEF970F949A24DC -:10EF00002B013C016D8B7E8B8F8B988F29AD3AAD99 -:10EF10004BAD5CADEF966CAD7DAD8EAD9FADEF971B -:10EF20000F949A244B015C01698F7A8F8B8F9C8F91 -:10EF300021962CAD3DAD4EAD5FAD2197EF966CADFA -:10EF40007DAD8EAD9FADEF970F949A24EF966CAF89 -:10EF50007DAF8EAF9FAFEF976D8F7E8F8F8F98A312 -:10EF6000C557DF4FB881CB58D040BB2309F4DBC273 -:10EF7000E0912D16A496EFAFA497F0912E16A896C7 -:10EF8000FFAFA89720912F16E0962FAFE097309112 -:10EF90003016AC963FAFAC972DEB37E346E855E320 -:10EFA000BF01E0968FADE097AC969FADAC970F9404 -:10EFB000342487FDB8C28091801190918111A09175 -:10EFC0008211B0918311C158DF4F88839983AA833E -:10EFD000BB83CF57D040209184113091851140914F -:10EFE000861150918711CD57DF4F288339834A838B -:10EFF0005B83C358D0408091881190918911A09172 -:10F000008A11B0918B11C957DF4F88839983AA83E6 -:10F01000BB83C758D04020918C1130918D11409105 -:10F020008E1150918F11C557DF4F288339834A8342 -:10F030005B83CB58D040C158DF4F688179818A818A -:10F040009B81CF57D0409058EB962CAD3DAD4EAD47 -:10F050005FADEB970F949A246B017C01CD57DF4F86 -:10F06000288139814A815B81C358D040C301B201F4 -:10F070000F949A249B01AC01C701B6010F94292B70 -:10F080006B017C01C957DF4F288139814A815B813F -:10F09000C758D040C501B4010F949A249B01AC011C -:10F0A000C701B6010F94292B6B017C01C557DF4FB7 -:10F0B000288139814A815B81CB58D040EF966CAD75 -:10F0C0007DAD8EAD9FADEF970F949A249B01AC015F -:10F0D000C701B6010F94292B6B017C012FEE3FEF86 -:10F0E0004FE75FE30F948A2D18160CF4BEC12FEE84 -:10F0F0003FEF4FE75FEBC701B6010F94342487FF62 -:10F1000008C03FEEC32EDD24DA943FE7E32E3FEB49 -:10F11000F32EC158DF4F288139814A815B81CF5757 -:10F12000D040EB966CAD7DAD8EAD9FADEB970F945F -:10F13000292B69837A838B839C83CD57DF4F28816A -:10F1400039814A815B81C358D040C301B2010F9419 -:10F15000292B6D837E838F839887C957DF4F288142 -:10F1600039814A815B81C758D040C501B4010F94F1 -:10F17000292B69877A878B879C87C557DF4F288122 -:10F1800039814A815B81CB58D040EF966CAD7DAD23 -:10F190008EAD9FADEF970F94292B6D877E878F875C -:10F1A000988BAE014F5F5F4FE9965FAF4EAFE99727 -:10F1B000CE014196A3969FAF8EAFA3978A01812C73 -:10F1C000912C5401D8014D905D906D907D908D01F2 -:10F1D00020E030E0A901C301B2010F943424882358 -:10F1E00071F0A3019201C301B2010F949A249B0113 -:10F1F000AC01C501B4010F942A2B4B015C01A3960D -:10F20000EEADFFADA397E017F107E1F6C501B4013C -:10F210000F94D82D9B01AC0160E070E080E89FE383 -:10F220000F94242C4B015C01E9960EAD1FADE997BC -:10F23000A5019401D8016D917D918D919C910F94C0 -:10F240009A24F80161937193819391938F01A3960E -:10F250002EAD3FADA3972E173F0751F708E311E1FD -:10F26000E4965FACE497E5966FACE597E6967FACE5 -:10F27000E697E7964FACE797E996AEADBFADE99755 -:10F280008D909D90AD90BD90E996BFAFAEAFE997E0 -:10F2900020E030E0A901C501B4010F943424882393 -:10F2A00031F1F80160817181828193810F94392459 -:10F2B000A50194010F94242C4B015C0120E030E067 -:10F2C000A9010F948A2D87FF04C0B7FAB094B7F84C -:10F2D000B094252D362D472D542DC501B4010F9422 -:10F2E000342487FF04C0582C692C7A2C4B2C0C5FDB -:10F2F0001F4FA3962EAD3FADA397E9964EAD5FADE0 -:10F30000E9972417350709F0B7CFA701960160E008 -:10F3100070E080E89FE30F94292B20E030E040E08C -:10F320005FE30F949A240F94D82D4B015C01209138 -:10F33000BB0B3091BC0B4091BD0B5091BE0B652DAA -:10F34000762D872D942D0F949A24A50194010F9466 -:10F350009A24EB966CAF7DAF8EAF9FAFEB97A50174 -:10F36000940160E070E080E89FE30F94292B9B01FB -:10F37000AC01EB966CAD7DAD8EAD9FADEB970F9470 -:10F38000242CE8966FAFE897EC967FAFEC978C0152 -:10F3900083E5829DF001839DF00D1124EB5FF34F17 -:10F3A00085849684A784B08820E030E040E85FE35D -:10F3B000C501B4010F94342487FF61C0A7019601F1 -:10F3C000C701B6010F949A2423EC38EB42E35FEBBC -:10F3D0000F949A2423EF36E64FE55FE30F94292B31 -:10F3E000A70196010F949A242BED3FE049EC5FE3CF -:10F3F0000F942A2B2CEE31E548E35EE30F94292B82 -:10F400006B017C0124EE3BEC46E150E40F948A2D25 -:10F410001816ACF5A70196016BED7FE089E490E446 -:10F420000F94292B9B01AC01C501B4010F94242C2E -:10F43000252D362D472D542D0F949A246B017C01D8 -:10F440009B01AC01E8966FADE897EC967FADEC9729 -:10F45000C8010F948A2D181694F4E896CFAEE89759 -:10F46000EC96DFAEEC9787010AC05BE0E8965FAFF1 -:10F47000E89787EDEC968FAFEC9703E21BE383E50B -:10F48000829DF001839DF00D1124EB5FF34FC1804D -:10F49000D280E380F4809601A701A4966FADA49773 -:10F4A000A8967FADA897E0968FADE097AC969FADFC -:10F4B000AC970F948A2D181664F4A496CFAEA49737 -:10F4C000A896DFAEA897E096EFAEE097AC96FFAEB9 -:10F4D000AC97E8962FADE897EC963FADEC97A80176 -:10F4E000A4966FADA497A8967FADA897E0968FAD30 -:10F4F000E097AC969FADAC970F948A2D1816FCF44C -:10F50000E8969FADE897A4969FAFA497EC96AFAD11 -:10F51000EC97A896AFAFA897E0960FAFE097AC96A0 -:10F520001FAFAC970CC0A4961FAEA497A8961FAEB1 -:10F53000A897E0961FAEE097AC961FAEAC9780E11F -:10F54000FE017196A0E8B1E101900D928A95E1F774 -:10F5500083E5829D8001839D100D11240B5F134F65 -:10F56000A4968FADA497A8969FADA897E096AFAD4F -:10F57000E097AC96BFADAC97F80181879287A387DF -:10F58000B487E7966CAD7DAD8EAD9FADE797905893 -:10F590009B01AC010F942A2BD8011D962D913D9112 -:10F5A0004D915C9150970F949A249B01AC016BE0B4 -:10F5B00077ED83E29BE30F94292B2BE0C22E27EDFE -:10F5C000D22E23E2E22E2BE3F22EF801C582D68260 -:10F5D000E782F086B080C180D280E380F480A7010A -:10F5E00096010F948A2D87FD02C083E001C081E05F -:10F5F0008B2993E5929DF001939DF00D1124EB5F13 -:10F60000F34F808380E1FE01B196A1E3B6E1019062 -:10F610000D928A95E1F7C0922D16D0922E16E092A7 -:10F620002F16F092301680E1FE01EF5AFF4FA1E550 -:10F63000B6E101900D928A95E1F780E1FE01EF5B62 -:10F64000FF4FA1E4B6E101900D928A95E1F7909108 -:10F650002B1680912C16981303C084E680932816ED -:10F66000C556DF4F8881CB59D0408F5F8F70809314 -:10F670002B1680912B1690912A1681508F70891726 -:10F6800009F4B3C0F0902B168FEF8F0D8F70A496F6 -:10F690008FAFA497B0902A1680912B16B81609F454 -:10F6A00073C0C12CD12CA496FFADA497FB1509F40F -:10F6B0006BC06F2E712C23E5269D8001279D100DB8 -:10F6C00011240B5F134FD8018C9183FD3AC0E8964B -:10F6D0000FAFE897EC961FAFEC971996BC91A896E0 -:10F6E000BFAFA897F801F285E096FFAFE097D80189 -:10F6F0001B96BC91AC96BFAFAC97F801F485E4962D -:10F70000FFAFE497D80115962D903D904D905C90F9 -:10F710001897A2019101A8966FADA897E0967FADCA -:10F72000E097AC968FADAC979F2F0F943424811146 -:10F73000F4C1C114D10459F0F601808180FDEDC1FE -:10F7400006C0E896CFAEE897EC96DFAEEC97A496AD -:10F750008FADA49781508F70A4968FAFA49780919E -:10F760002A168B1107C0E896CFACE897EC96DFAC71 -:10F77000EC9799CFA496FFADA497FB1529F081E0F3 -:10F780008B0D8F70B82EEBCF20912A16A4962FAF39 -:10F79000A497C12CD12C80912B16A4963FADA49791 -:10F7A000831719F1832E912C43E5489D8001499DD3 -:10F7B000100D11240B5F134FD8018C9183FD0AC0EB -:10F7C0005801C114D10439F0C6010F946B14811192 -:10F7D00002C039C25601A4968FADA4978F5F8F7077 -:10F7E000A4968FAFA4976501D6CF40912C16A4960E -:10F7F0004FAFA49750912B16A8965FAFA89723E51B -:10F80000A4968FADA497A8969FADA897891779F075 -:10F81000892F81508F70289FF0011124EB5FF34FE7 -:10F82000908193FF04C0A8968FAFA897E9CF812C51 -:10F83000912CA12CB12CE0961FAEE097AC961FAE98 -:10F84000AC97E4961FAEE497E8961FAEE897212C9C -:10F85000312C00E010E0A896AFADA897A496BFADFC -:10F86000A497AB1709F4D0C0E3E5EB9FC0011124C6 -:10F870009C012B5F334F1901D9018C9183FD19C075 -:10F8800015966D917D918D919C9118970F94D82D1F -:10F89000F62EE72ED82EC92E0115110509F49AC0AF -:10F8A000F801808180FD12C0D1018C9180FD0EC0D5 -:10F8B00091C0E096FFACE097AC96EFACAC97E496C5 -:10F8C000DFACE497E896CFACE89789C0F801808177 -:10F8D00081608083C8010F946B14811177C0F80197 -:10F8E00061817281838194810F94D82D2B013C0119 -:10F8F0009B01AC0160E070E080E89FE30F94242C52 -:10F900004B015C019B01AC016F2D7E2D8D2D9C2D3B -:10F910000F949A2469837A838B839C83E0962FAD1E -:10F92000E097AC963FADAC97E4964FADE497E89680 -:10F930005FADE897C501B4010F949A24698B7A8B67 -:10F940008B8B9C8BAE014F5F5F4FBE016F5E7F4F15 -:10F95000C8010E943FC2D801D6968C918823B1F18C -:10F960002091010C3091020C4091030C5091040C39 -:10F97000F801FD9660817181828193810F949A24B0 -:10F98000209158113091591140915A1150915B11A9 -:10F990000F949A244B015C019B01AC01C301B2019D -:10F9A0000F949A240F949D2CF80172AF61AFA501BA -:10F9B00094016F2D7E2D8D2D9C2D0F949A240F94E4 -:10F9C0009D2CD801DC967C936E93DB97F8018081A7 -:10F9D0008E7F80838F2C9E2CAD2CBC2C8101A49615 -:10F9E0008FADA4978F5F8F70A4968FAFA497E0968A -:10F9F000FFAEE097AC96EFAEAC97E496DFAEE4973F -:10FA0000E896CFAEE89727CF2114310409F414C14A -:10FA1000D1018C9181608C93C8010F946B1481117A -:10FA20006BC0F10161817281838194810F94D82D23 -:10FA30006B017C019B01AC0160E070E080E89FE31A -:10FA40000F94242C2B013C012DEC3CEC4CE45DE3A9 -:10FA50000F949A2469837A838B839C839401A501F4 -:10FA6000C301B2010F949A24698B7A8B8B8B9C8B88 -:10FA7000AE014F5F5F4FBE016F5E7F4FC1010E94BD -:10FA80003FC2D101D6968C918823B1F12091010C0F -:10FA90003091020C4091030C5091040CF101FD9641 -:10FAA00060817181828193810F949A2420915811F1 -:10FAB0003091591140915A1150915B110F949A2431 -:10FAC0004B015C019B01AC01C701B6010F949A2464 -:10FAD0000F949D2CF10172AF61AF2DEC3CEC4CE426 -:10FAE0005DE3C501B4010F949A240F949D2CD101BC -:10FAF000DC967C936E93DB97F10180818E7F80830F -:10FB00009BC080E022C1D0907C11E0907D11F090EC -:10FB10007E1110917F110C941C7123E5269DF0013C -:10FB2000279DF00D1124EB5FF34F808181FD4BC0C9 -:10FB3000C114D10441F0D6011596CD90DD90ED9021 -:10FB4000FC90189708C08BE0C82E87EDD82E83E272 -:10FB5000E82E8BE3F82EB3E5B69DF001B79DF00DCE -:10FB60001124EB5FF34F81899289A389B489BC0189 -:10FB7000CD0190589B01AC010F942A2BF8012585EB -:10FB80003685478550890F949A249B01AC01C701A3 -:10FB9000B6010F94292BE62E872E982EA92E262FFC -:10FBA000372F482F592FA8966FADA897E0967FADB5 -:10FBB000E097AC968FADAC97E4969FADE4970F9429 -:10FBC000342487FF0CC0A896EFACA897E0968FACC2 -:10FBD000E097AC969FACAC97E496AFACE4972E2D33 -:10FBE000382D492D5A2DC201B1010F943424882398 -:10FBF00009F4ADCDF3E5F69DC001F79D900D1124FC -:10FC00009C012B5F334F6901D9018C9181608C93EA -:10FC1000C8010F946B14882329F0F60180818E7F30 -:10FC2000808395CD8E2D982DA92DBA2DF601858333 -:10FC30009683A783B0878BCD80916F00826080937D -:10FC40006F0081E082C0D6018C9181FD58C0D60141 -:10FC500015962D913D914D915C911897AB962CAFD7 -:10FC60003DAF4EAF5FAFAB971501B5E02B0E311C2A -:10FC7000F8014580568067807084A3019201AB969D -:10FC80006CAD7DAD8EAD9FADAB970F94342487FFE7 -:10FC900036C0F60181899289A389B489BC01CD015E -:10FCA00090589B01AC010F942A2BD6011D962D91E3 -:10FCB0003D914D915C9150970F949A249B01AC011A -:10FCC000AB966CAD7DAD8EAD9FADAB970F94292BF0 -:10FCD0006B017C019B01AC01C301B2010F948A2D21 -:10FCE00018166CF4D8018C9181608C93C5010F9427 -:10FCF0006B148823F1F0F80180818E7F808323E5E7 -:10FD0000289DF001299DF00D1124EB5FF34F218513 -:10FD100032854385548565817681878190850F94EE -:10FD20003424811158CDA4963FADA49730932A1660 -:10FD300052CDD101CD92DD92ED92FC921397A49613 -:10FD4000BFADA497B0932A16DACFC356DF4F0FB6D4 -:10FD5000F894DEBF0FBECDBFDF91CF911F910F9101 -:10FD6000FF90EF90DF90CF90BF90AF909F908F90DB -:10FD70007F906F905F904F903F902F900895CF921B -:10FD8000DF92EF92FF920F931F93CF93DF93CDB744 -:10FD9000DEB764970FB6F894DEBF0FBECDBFC98A39 -:10FDA000DA8AEB8AFC8AFC0180819181A281B3818D -:10FDB00089839A83AB83BC83FB0180819181A2817B -:10FDC000B3818D839E83AF83B887FA01808191814F -:10FDD000A281B38189879A87AB87BC87F90180812B -:10FDE0009181A281B3818D879E87AF87B88BAE0149 -:10FDF000475F5F4FBE016B5F7F4FCE0101960E9450 -:10FE000064C18091351190913611892B81F4CE0116 -:10FE100041967C019E01235F3F4FAE01475F5F4FDC -:10FE2000BE016B5F7F4F40970E94AB6C01C080E0CA -:10FE300064960FB6F894DEBF0FBECDBFDF91CF91B1 -:10FE40001F910F91FF90EF90DF90CF900895CF9387 -:10FE5000DF93CDB7DEB760970FB6F894DEBF0FBE65 -:10FE6000CDBFE7E7F2E080819181A281B3818983F0 -:10FE70009A83AB83BC8384819581A681B7818D836E -:10FE80009E83AF83B88780859185A285B385898756 -:10FE90009A87AB87BC8784859585A685B7858D872E -:10FEA0009E87AF87B88BAE01475F5F4FBE016B5F28 -:10FEB0007F4FCE0101960E9464C19E01235F3F4F98 -:10FEC000AE01475F5F4FBE016B5F7F4FCE01019672 -:10FED0000E9489BF60960FB6F894DEBF0FBECDBFFB -:10FEE000DF91CF9108950F94860B6091B90B7091BB -:10FEF000BA0B8DEE92E10F946F0B8AEE92E10D94A6 -:10FF00009D0A2F923F924F925F926F927F928F92B3 -:10FF10009F92AF92BF92CF92DF92EF92FF920F9398 -:10FF20001F93CF93DF93CDB7DEB7C154D1090FB67E -:10FF3000F894DEBF0FBECDBF2DB73EB73FA72EA7AB -:10FF40000E9497E881114FC461E086E50E94F0A607 -:10FF50008D8B853018F081EE94E179C03D89332393 -:10FF600021F081EC94E10F949D0A6AE080E50E9403 -:10FF7000F0A6182F8CEF810F8F3218F08DE994E1E5 -:10FF800066C060E085E40E941A8D811103C082E0A2 -:10FF90008FA302C091E09FA36091770270917802D5 -:10FFA0008091790290917A026D837E838F83988706 -:10FFB000C0907B02D0907C02E0907D02F0907E02A7 -:10FFC000C986DA86EB86FC862091C1133091C21374 -:10FFD0004091C3135091C4130F942A2BAB01BC0161 -:10FFE00088E50E943BC86D877E878F87988B29851F -:10FFF0003A854B855C856091C5137091C6138091DD -:020000021000EC -:10000000C7139091C8130F942A2BAB01BC0189E54B -:100010000E943BC8698B7A8B8B8B9C8BBE016F5E79 -:100020007F4FCE010D960E94ACA5811103C085E8DB -:1000300094E10DC08CE40E94C48C082F882381F0C9 -:100040000E94658C8E8B803128F082E594E10F94BC -:100050009D0AC9C3AE89A13021F4B2E0BE8B01C0B4 -:100060001E8A60E083E50E941A8D8CAB882321F004 -:10007000011102C0E7E0EE8BFD89F33020F088E348 -:1000800094E10F949D0A2091B6182BAF80E00F9455 -:1000900013080E9403DE812F90E09EAB8DABADB7BD -:1000A000BEB7E4E01E9FA019B10911240FB6F89461 -:1000B000BEBF0FBEADBF2DB73EB72F5F3F4F3DA7B1 -:1000C0002CA72D894FA1BE016F5E7F4FCE010D96EB -:1000D0000E9446E99B01AC010F941C2E8111ECC2D9 -:1000E0000E94F1EE611571058105910511F00F94E3 -:1000F000C51F33EF3F8B8FE4888F93EC998F37ECDC -:10010000232EA3EFAA8FBFE4BB8FE3ECEC8FF7E4C1 -:10011000FD8F1EA233243394412C512C32014AA26C -:100120005BA26CA27DA22E89822F90E0DC01119748 -:100130002296BFAFAEAF2297FEA1EF2FF0E0FF8F68 -:10014000EE8F2DA93EA9E217F3070CF0CDC23E8930 -:10015000332309F46EC10F94771F2AE030E040E0AA -:1001600050E00F94AC2A0F943B2420E030E040EAAA -:1001700050E40F948A2D18161CF001E010E002C024 -:100180000FEF1FEF0F94771F28E631E040E050E0BB -:100190000F94AC2A0F943B244B015C010F94771F02 -:1001A00028E230E040E050E00F94AC2A6B5F7F4FD4 -:1001B0008F4F9F4F0F943B2468A779A78AA79BA7CF -:1001C0008D898430E1F448A559A56AA57BA58AE20A -:1001D00094E10F94510BB501A40182E294E10F94D4 -:1001E000510B8CE194E10F949D0A0130110519F433 -:1001F00083E40E94B95288E194E10F949D0A312C66 -:10020000C801110FAA0BBB0B8FAB98AFA9AFBAAF48 -:10021000832D90E02296AEADBFAD22978A179B0743 -:100220000CF007C1BCA9BB2379F06FA978AD89ADEB -:100230009AAD0F943B249B01AC010F942A2B20E034 -:1002400030E040E952E41AC00F94771F24E130E017 -:1002500040E050E00F94AC2A675E7F4F8F4F9F4F76 -:100260000F943B246B017C016FA978AD89AD9AADE9 -:100270000F943B249B01AC01C701B6010F949A2453 -:100280009B01AC01C501B4010F942A2B4B015C0109 -:1002900020E030E044EB53E40F948A2D18164CF420 -:1002A00020E030E044EB53E4C501B4010F94292B66 -:1002B000EDCF20E030E0A901C501B4010F94342452 -:1002C00087FF0BC020E030E044EB53E4C501B401EC -:1002D0000F942A2B4B015C01ECCF2BED3FE049E45E -:1002E00050E4C501B4010F949A2420E030E044E3C7 -:1002F00053E40F94242C6B017C010F941F2C68ABEA -:1003000079AB8AAB9BAB2091C1133091C213409162 -:10031000C3135091C4136D857E858F8598890F9482 -:10032000292B6CAF7DAF8EAF9FAF28A939A94AA901 -:100330005BA968A579A58AA59BA50F949A249B0122 -:10034000AC016CAD7DAD8EAD9FAD0F942A2B6D834E -:100350007E838F839887C701B6010F94CA2D68AB3F -:1003600079AB8AAB9BAB2091C5133091C6134091FA -:10037000C7135091C81369897A898B899C890F9416 -:10038000292B6B017C0128A939A94AA95BA968A579 -:1003900079A58AA59BA50F949A249B01AC01C7015E -:1003A000B6010F942A2B69877A878B879C8748E64A -:1003B00051E060E070E0CE0105960F94A20F48E690 -:1003C00051E060E070E0CE0109960F94A20FED8934 -:1003D000E430F9F44D815E816F8178858CE094E1A1 -:1003E0000F94510B49855A856B857C8589E094E192 -:1003F0000F94510B40917F025091800260918102D5 -:100400007091820286E094E10F94510B8AE00E9481 -:10041000B95219821A821B821C82AE014F5F5F4F54 -:10042000BE01675F7F4FCE0105960E94E3DE3394E5 -:10043000EFCE20E04FA1BE016F5E7F4FCE010D9643 -:100440000E9446E9D62EE72EF82E192FEE8DFF8D4D -:10045000EE0FFF1FEE0FFF1F2CA53DA5E20FF31FB0 -:10046000862F9E2DAF2DB12F80839183A283B383DE -:10047000312C2D2D3E2D4F2D512F6D2D7E2D8F2D5D -:10048000912F0F941C2E811102C0332433942D2DF3 -:100490003E2D4F2D512F6D2D7E2D8F2D912F0F9491 -:1004A0001C2E811121C100E0412C512C3201ECA500 -:1004B000FDA534E0039FE00DF11D11242081318161 -:1004C00042815381C301B2010F942A2B2B013C01BD -:1004D0000F5F8EA1801758F78E8C9F8C9FEF891A23 -:1004E000990A092C000CAA08BB08C501B4010F9495 -:1004F0003B246E8F7F8F88A399A39B01AC01C3011E -:10050000B2010F94242C6AA37BA38CA39DA32A8DF4 -:100510003B8D4C8D5D8D6D2D7E2D8F2D912F0F94EC -:10052000342487FF04C0DA8EEB8EFC8E1D8F2F895A -:10053000388D498D522D6D2D7E2D8F2D912F0F943D -:100540008A2D181624F4DF8AE88EF98E212EC12C0C -:10055000412C512C3201ECA5FDA5A4E0CA9EE00D72 -:10056000F11D11242AA13BA14CA15DA160817181E3 -:10057000828193810F94292B9B01AC010F949A24C3 -:100580009B01AC01C301B2010F942A2B2B013C014A -:10059000C394BEA1BC15F8F62E8D3F8D48A159A17C -:1005A0000F94242C0F94D82D2B013C018D8982505F -:1005B0008E3708F07DC0C501B4010E942D536DA98E -:1005C0007EA981E094E10F94620B94E9A92E96E054 -:1005D000B92EF50181915F01882319F00E94B9526B -:1005E000F8CF43E06D2D7E2D8F2D912F0E94495322 -:1005F000FD89F23009F459C00AE916E0D8018D915D -:100600008D01882319F00E94B952F8CF44E06AA105 -:100610007BA18CA19DA10E94495302EA16E0F8013A -:1006200081918F01882319F00E94B952F8CF46E0DA -:10063000C301B2010E9449530BEA16E0D8018D9123 -:100640008D01882319F00E94B952F8CF43E06A8DDA -:100650007B8D8C8D9D8D0E94495302EB16E0F80135 -:1006600081918F01882319F00E94B952F8CF43E09D -:100670006F89788D898D922D0E94495309EB16E080 -:10068000D8018D918D01882319F00E94B952F8CFBD -:100690002A8D3B8D4C8D5D8D6F89788D898D922D46 -:1006A0000F94292B43E00E9449538AE00E94B952DB -:1006B000BEA1BF5FBEA340CDE3EFEF8BFFE4F88F99 -:1006C00023EC298F87EC282E33EF3A8F8FE48B8F22 -:1006D00093EC9C8FA7E4AD8F312C412C512C32012F -:1006E0004AA25BA26CA27DA280E00E94FB9C332008 -:1006F00009F46AC086EF93E10F949D0ABD89BB237C -:1007000009F44DC002EC16E0F80181918F018823B5 -:1007100019F00E94B952F8CF46E06AA17BA18CA1E2 -:100720009DA10E94495309EC16E0D8018D918D01DD -:10073000882319F00E94B952F8CF43E06A8D7B8D6F -:100740008C8D9D8D0E94495300ED16E0F80181913A -:100750008F01882319F00E94B952F8CF43E06F89C6 -:10076000788D898D922D0E94495307ED16E0D801AE -:100770008D918D01882319F00E94B952F8CF2A8DEE -:100780003B8D4C8D5D8D6F89788D898D922D0F9469 -:10079000292B43E00E9449538AE00E94B95200EE9F -:1007A00016E0F80181918F01882319F00E94B95257 -:1007B000F8CF46E0C301B2010E9449538AE00E948B -:1007C000B9528AE00E94B9520E94EADD8BAD0F94C3 -:1007D00013080E94B0DF2EA53FA50FB6F8943EBFC8 -:1007E0000FBE2DBF07C08EA59FA50FB6F8949EBF64 -:1007F0000FBE8DBFAEA5BFA50FB6F894BEBF0FBE8E -:10080000ADBFCF5BDF4F0FB6F894DEBF0FBECDBFDD -:10081000DF91CF911F910F91FF90EF90DF90CF90DC -:10082000BF90AF909F908F907F906F905F904F9010 -:100830003F902F9008952F923F924F925F926F9228 -:100840007F928F929F92AF92BF92CF92DF92EF9260 -:10085000FF920F931F93CF93DF93CDB7DEB7E2974D -:100860000FB6F894DEBF0FBECDBF2091B6182F8B08 -:1008700087E50E94C48C882309F4FAC080912D1466 -:1008800090912E14892B29F40F94820B84EE93E11E -:1008900034C08AE50E940D8D882379F00E948D8CEA -:1008A0002091BD133091BE134091BF135091C013DE -:1008B0000F94292B6B017C0108C0C0907F02D0905F -:1008C0008002E0908102F090820220E030E040E27D -:1008D00051ECC701B6010F948A2D87FD0AC020E0B4 -:1008E00030E040E251E4C701B6010F9434241816F9 -:1008F0003CF40F94820B87ED93E10F949D0AC0C0E6 -:1009000040E050E060EC7FE788E50E943BC8209122 -:10091000B5133091B6134091B7135091B8130F949B -:10092000292B2B013C0140E050E060EC7FE789E59A -:100930000E943BC82091B9133091BA134091BB1368 -:100940005091BC130F94292B4B015C016FEF89E48C -:100950000E94F0A6182F6FEF8AE40E94F0A6082FDD -:10096000A3019201C301B2010F941C2E811158C042 -:10097000A5019401C501B4010F941C2E811150C032 -:100980006091231470912414072E000C880B990B8E -:100990000F943B249B01AC01C301B2010F94292B9E -:1009A00020E030E0A9010F942A2B20E030E0A901DB -:1009B0000F94242C0F94962C162F6091251470916F -:1009C0002614072E000C880B990B0F943B249B01D7 -:1009D000AC01C501B4010F94292B20E030E0A9013E -:1009E0000F942A2B20E030E0A9010F94242C0F94BF -:1009F000962C062F812F012E000C990B97FD04C019 -:100A000005971CF014E001C010E0802F002E000CB0 -:100A1000990B97FD04C005971CF004E001C000E0AD -:100A2000153070F5063060F580E00F94130835E05E -:100A30001302F0011124E00FF11D07FDFA95EE0FEE -:100A4000FF1FEE0FFF1FE75CFB4EC082D182E282E8 -:100A5000F382A7019601602F812F0E940DC78F8915 -:100A60000F9413086F89662359F00E94B0DF08C005 -:100A70008AE40E94C48C182F882321F00E94C0921F -:100A800010E0CBC460E070E086E50E94E1A69A8F9A -:100A9000898F059718F08FEA93E195C260E084E4AE -:100AA0000E941A8D8B8F40E050E0BA018AE50E94C7 -:100AB0003BC86AA77BA78CA79DA740E050E86BEBDB -:100AC00075E483E50E943BC820E030E040E752E453 -:100AD0000F94242C609361027093620280936302EE -:100AE0009093640288E40E94C48C882309F4FCC0BB -:100AF0000E948D8C0F94962C6B017C014B012090F1 -:100B0000C1133090C2134090C3135090C41320E01F -:100B100030E0A901C201B1010F942A2B762EA72E35 -:100B2000B82E092F20E030E040E450E40F94342444 -:100B300087FF05C0712CA12CF0E4BF2E00E4B601A4 -:100B400097FE02C06F5F7F4F7595679571956195B0 -:100B500071096C547F4F072E000C880B990B0F9472 -:100B60003B244B01682E988F272D3A2D4B2D502F6B -:100B70000F948A2D181624F4782CA92CB62C088DE5 -:100B8000672D7A2D8B2D902F0F94962C6B8B7C8B51 -:100B90008D8B9E8B8B899C899A8B898B20E030E092 -:100BA00044EB53E4C201B1010F942A2B762EA72EF9 -:100BB000B82E092F20E030E842EB53E40F948A2D41 -:100BC000181634F4712C50E8A52E62EBB62E03E40F -:100BD0006B897C896C0D7D1D072E000C880B990B91 -:100BE0000F943B241B012C01272D3A2D4B2D502F08 -:100BF0000F94342487FF04C0722CA32CB42C052D31 -:100C0000672D7A2D8B2D902F0F94962C7C8B6B8BD0 -:100C10002090C5133090C6134090C7135090C8134E -:100C200020E030E0A901C201B1010F942A2B762EF9 -:100C3000A72EB82E092F20E030E040E450E40F94B6 -:100C4000342487FF05C0712CA12C40E4B42E00E4AD -:100C5000272D3A2D4B2D502FB401862D988D0F94B2 -:100C60008A2D181624F4782CA92CB62C088D672D03 -:100C70007A2D8B2D902F0F94962C3B014C015B010C -:100C800020E030E044EB53E4C201B1010F942A2B81 -:100C9000362E472E582E092F20E030E842EB53E441 -:100CA0000F948A2D181634F4312C20E8422E32EBA2 -:100CB000532E03E4C60CD71CB601DD0C880B990B30 -:100CC0000F943B246B017C01232D342D452D502F97 -:100CD0000F94342487FF04C03C2C4D2C5E2C0F2D28 -:100CE000632D742D852D21C18CE40E940D8D8823E8 -:100CF00069F00E948D8C2091B5133091B61340910C -:100D0000B7135091B8130F94292B2BC020E030E07B -:100D1000A9016091C1137091C2138091C313909186 -:100D2000C4130F942A2B6B017C0120E030E040E4D7 -:100D300050E40F94342487FD0DC020E030E0A90179 -:100D4000C701B6010F94342487FF09C0C12CD12CF0 -:100D5000760105C0C12CD12C90E4E92EFE2CC701F0 -:100D6000B6010F94962C7A8B698B82E50E940D8DCB -:100D7000882369F00E948D8C2091B5133091B613B1 -:100D80004091B7135091B8130F94292B3DC020E028 -:100D900030E044EB53E46091C1137091C213809131 -:100DA000C3139091C4130F942A2BD62EE72EF82E3E -:100DB000092F20E030E842EB53E40F948A2D1816F7 -:100DC00034F4D12C00E8E02E82EBF82E03E469899C -:100DD0007A8968597E4F072E000C880B990B0F9467 -:100DE0003B24962EA72EB82EC92E2D2D3E2D4F2DED -:100DF000502F0F94342487FF03C0D92C75010C2D7C -:100E00006D2D7E2D8F2D902F0F94962C7C8B6B8BC0 -:100E100086E40E940D8D882369F00E948D8C2091BC -:100E2000B9133091BA134091BB135091BC130F9476 -:100E3000292B2BC020E030E0A9016091C5137091EF -:100E4000C6138091C7139091C8130F942A2B6B017E -:100E50007C0120E030E040E450E40F94342487FD2E -:100E60000DC020E030E0A901C701B6010F94342481 -:100E700087FF09C0C12CD12C760105C0C12CD12C13 -:100E8000B0E4EB2EFE2CC701B6010F94962C5B014B -:100E900082E40E940D8D882369F00E948D8C209140 -:100EA000B9133091BA134091BB135091BC130F94F6 -:100EB000292B3CC020E030E044EB53E46091C513A3 -:100EC0007091C6138091C7139091C8130F942A2B69 -:100ED000D62EE72EF82E092F20E030E842EB53E41F -:100EE0000F948A2D181634F4D12CF0E8EF2EA2EBD3 -:100EF000FA2E03E4B50168597E4F072E000C880BCB -:100F0000990B0F943B24762E872E982EC92E2D2DCB -:100F10003E2D4F2D502F0F94342487FF03C0D72C24 -:100F200074010C2D6D2D7E2D8F2D902F0F94962CEE -:100F30007B01B5010B2C000C880B990B0F943B2403 -:100F40006D8F7E8F8F8F98A369837A838B839C8329 -:100F5000A989BA89BD01BB0F880B990B0F943B245B -:100F600069A37AA38BA39CA36D837E838F839887C9 -:100F7000BE016F5F7F4FCE0105960E94ACA588230E -:100F800001F1B7010F2C000C880B990B0F943B2437 -:100F900069877A878B879C872B893C89B901330FB6 -:100FA000880B990B0F943B246D877E878F87988BD6 -:100FB000BE01675F7F4FCE010D960E94ACA58130C8 -:100FC00029F083E993E10F949D0A27C2898D9A8DB8 -:100FD000892B71F08DE793E10F949D0A9B8D9923E6 -:100FE00021F083E793E10F949D0A8AE00E94B952B1 -:100FF0000E941CBF80E00F94130881E00E94FB9CBC -:10100000882321F08F890F9413083ACD0B891C890E -:10101000A989BA890A1B1B0B17FF02C00D5F1F4F5E -:101020001595079515950795B801012E000C880BAD -:10103000990B0F943B246DA37EA38FA398A7EA1866 -:10104000FB08F7FE03C0B3E0EB0EF11C47019594DB -:10105000879495948794B401092C000C880B990B04 -:101060000F943B246B017C010E9403DE60912D14E0 -:1010700070912E14072E000C880B990B0F943B24B3 -:101080009B01AC016DA17EA18FA198A50F94342482 -:10109000811122C060912F1470913014072E000C22 -:1010A000880B990B0F943B249B01AC01C701B6013F -:1010B0000F943424811110C0809123149091241432 -:1010C00029893A892817390739F480912514909194 -:1010D0002614A816B906A9F00E94C09210932E14E7 -:1010E00000932D149092301480922F1489899A893C -:1010F0009093241480932314B0922614A092251464 -:101100001F8A60E085E40E941A8D882319F091E01F -:1011100099A702C0A2E0A9A7B1E0BC8F212C312C75 -:10112000812C912C540121E0298B31E0388F65E02E -:101130006B8B10E02EA6298931E02327298B0C8D9B -:10114000C101032C000CAA0BBB0B8FA798ABA9AB5A -:10115000BAAB9B89911709F4BEC0612F012E000C18 -:10116000770B880B990B0F943B242DA13EA14FA127 -:1011700058A50F949A2429A13AA14BA15CA10F94E0 -:101180002A2B2B013C016FA578A989A99AA90F9454 -:101190003B24A70196010F949A242D8D3E8D4F8DEF -:1011A00058A10F942A2B4B015C0120E030E0A901EB -:1011B000C301B2010F94342487FF04C020E030E063 -:1011C000A90104C020E030E040E05FE3C301B201C8 -:1011D0000F942A2B0F94CC2C69837A838B839C8366 -:1011E00020E030E0A901C501B4010F94342487FF49 -:1011F00004C020E030E0A90104C020E030E040E07D -:101200005FE3C501B4010F942A2B0F94CC2C6D839E -:101210007E838F839887A98DBA8DAB2B81F0602F49 -:1012200070E08FE593E10F94620B69E170E08DE56A -:1012300093E10F94620B8AE593E10F949D0A1F924C -:10124000B9E1BF931F920F9326E433E13F932F93AD -:101250001F920E947DE8298D49A5BE016B5F7F4FDB -:10126000CE0101960E9446E94B015C010FB6F8944D -:10127000DEBF0FBECDBF9B01AC010F941C2E882397 -:1012800021F08F890F94130833C0A50194016AA53A -:101290007BA58CA59DA50F942A2B9B01AC0165E035 -:1012A0001603F0011124E20DF31DEE0FFF1FEE0FE8 -:1012B000FF1FE75CFB4E20833183428353836EA57F -:1012C000812F0E940DC780E00E94E5530F5F888D3B -:1012D000180F1F8A3ECF94E02916310449F0A5016A -:1012E0009401C501B4010F941C2E882309F480C019 -:1012F0000E94CDF580E00E94FB9C882351F08F89ED -:101300000F941308812C912C90ECA92E9FE7B92EF5 -:1013100054C0A5019401C501B4010F941C2E811184 -:101320004CC0AB8DAA2309F10F94AC0A0F94590855 -:10133000BB8DB1113FC087E792E00F94FA059B0186 -:10134000AC0160917F027091800280918102909146 -:1013500082020F94292B60937F0270938002809306 -:1013600081029093820281E026C012E084E0F82E90 -:1013700002E0EF2CE11ADF2CD01A21E041E0602FCF -:10138000812F0F94C60821E04FEF602F8E2D0F9410 -:10139000C6082FEF41E06D2D812F0F94C6082FEF67 -:1013A0004FEF6D2D8E2D0F94C608015020F7115070 -:1013B000F8F6BACF8F898093B6180E94EADD809143 -:1013C000B61881110E94AEDF0E94B39C0E941CBF20 -:1013D0008AE393E10E9480BB0E94B0DF11E0A50187 -:1013E0009401C501B4010F941C2E811116C048CB85 -:1013F0002989222361F081E0888F95E09B8B10E0A2 -:10140000AFEF2A1A3A0ABC8DBB5FBC8F93CE3FEF79 -:10141000388F6FEF6B8B14E0F3CF812FE2960FB60E -:10142000F894DEBF0FBECDBFDF91CF911F910F911A -:10143000FF90EF90DF90CF90BF90AF909F908F90F4 -:101440007F906F905F904F903F902F900895809184 -:10145000371183FD0FC08091E90B81110BC02091E2 -:10146000F20B3091F30B8091190290911A02281718 -:10147000390724F061E080E00C94FBD10F94860BD7 -:101480008EE397E10F949D0A80E00895CF92DF925A -:10149000EF92FF920F931F93CF93DF937C018B0109 -:1014A000109281090E944F50C7E7D2E020911502A7 -:1014B000309116024091170250911802F701608195 -:1014C0007181828193810F94242C2C853D854E85DA -:1014D0005F850F942A2B6C877D878E879F87C12C11 -:1014E000D12C760123E832E04FE752E06BE772E05F -:1014F000CE010E94BF7EDF91CF911F910F91FF908F -:10150000EF90DF90CF900C941CBFCF92DF92EF92C0 -:10151000FF92C0906502D0906602E0906702F09062 -:101520006802FC0180819181A281B3818093650270 -:1015300090936602A0936702B09368020E941FDB3B -:10154000C0926502D0926602E0926702F092680251 -:10155000FF90EF90DF90CF9008952F923F924F929F -:101560005F926F927F928F929F92AF92BF92CF9233 -:10157000DF92EF92FF920F931F93CF93DF93CDB73C -:10158000DEB76F970FB6F894DEBF0FBECDBF9C8F4E -:101590008B8F7E8F6D8F212C312C2FEF28873FEF83 -:1015A0003F834FEF488B5FE4598B83EC8A8B97E442 -:1015B0009B8B21E030E040E050E0022C04C0220F81 -:1015C000331F441F551F0A94D2F72F8B388F498F32 -:1015D0005A8F4AEF51E15B874A8700E010E02F8E77 -:1015E000AA85BB858D919D91BB87AA87A0E0B0E0BD -:1015F0002F89388D498D5A8D82239323A423B523B7 -:10160000892B8A2B8B2B09F0ECC080912D149091A3 -:101610002E14289EB001299E700D389E700D112445 -:101620008091231490912414680F791F072E000CC9 -:10163000880B990B0F943B246C877D878E879F873F -:1016400080912F1490913014089FB001099F700D64 -:10165000189F700D11248091251490912614680F05 -:10166000791F072E000C880B990B0F943B246B01FC -:101670007C012C853D854E855F85AB8DBC8D6D9144 -:101680007D918D919C910F94292B2B013C01A701F9 -:101690009601ED8DFE8D60817181828193810F9421 -:1016A000292B4B015C01A3019201C301B2010F94EC -:1016B0009A242B013C01A5019401C501B4010F94AA -:1016C0009A249B01AC01C301B2010F942A2B0F9401 -:1016D000D82D4B015C012C853D854E855F85609141 -:1016E0001E1270911F1280912012909121120F945E -:1016F000292B2B013C01A701960160911A127091D0 -:101700001B1280911C1290911D120F94292B6B01BA -:101710007C01A3019201C301B2010F949A242B0111 -:101720003C01A7019601C701B6010F949A249B01C1 -:10173000AC01C301B2010F942A2B0F94D82D20E0E5 -:1017400030E040E751E40F94242CA50194010F945C -:101750002A2B6B017C018090221290902312A09082 -:101760002412B090251220E030E040E85FE3C5018C -:10177000B4010F948A2D1816FCF4C501B4010F941E -:10178000962C4B015C0116161706180619063CF438 -:101790000F94771FA50194010F94AC2A03C060E059 -:1017A00070E0CB010F943B249B01AC01B601C70153 -:1017B0000F942A2B6B017C01288939894A895B891E -:1017C000B601C7010F94342487FF0BC0FF8DF88743 -:1017D0000F83C986DC8AED8AFE8AC88AD98AEA8A9A -:1017E000FB8A0F5F1F4F0530110509F0F9CE2FEF6F -:1017F000221A320A35E02316310409F0DACE4F817D -:10180000E42FF0E0EE0FFF1FE650FE4E81E090E087 -:10181000088402C0880F991F0A94E2F72081318161 -:10182000822B932B9183808389859C89AD89BE8986 -:101830008B839C83AD83BE83482F5C816D817E81C9 -:1018400028853F8180E090E06F960FB6F894DEBF68 -:101850000FBECDBFDF91CF911F910F91FF90EF9001 -:10186000DF90CF90BF90AF909F908F907F906F90C0 -:101870005F904F903F902F9008958C3891051CF009 -:101880002CE880E002C0282F892F20938B098093B9 -:101890008C090C944ED780E1E7E7F2E0A5EAB3E1CA -:1018A00001900D928A95E1F708958091F811909139 -:1018B000F911009731F04AE050E060E070E00D94DB -:1018C0002A2160E070E0CB0108950E94558C97FDBD -:1018D0000CC00E94558C6F3F71058105910509F080 -:1018E00034F40E94558C862F089580E008958FEF80 -:1018F00008958091F8119091F911892B39F00E9487 -:10190000658C91E0811103C090E001C091E0892FC6 -:1019100008950E94558CCB0108950F931F93CF9388 -:101920008091F8119091F911009711F1FC018F014C -:10193000C1912C2F2F7DA9F0C53411F0C536B9F710 -:10194000F801108260E070E08091F8119091F91137 -:101950000F94CE1FF801C083562F472F382F292F01 -:101960000BC060E070E0CF911F910F910D94CE1FDE -:1019700050E040E030E020E0652F742F832F922F5D -:10198000CF911F910F91089581548A3108F042C080 -:10199000E82FF0E040918A1250918B1260918C12E6 -:1019A00070918D1204C076956795579547958A95E5 -:1019B000D2F7842F817040FF2FC0E059FD4E9081F7 -:1019C000992309F1E091B90BF091BA0BE90FF11DE0 -:1019D000908120ED290F2A3098F09E3211F49181E8 -:1019E0000CC09D3211F09B3271F4918120ED290FD2 -:1019F0002A3030F09E3239F4928190539A3018F4A4 -:101A00002E2F9F2F02C020E090E02093F81190939A -:101A1000F911089580E0089508950E94C48C8823E8 -:101A200041F081E02091F8113091F911232B09F454 -:101A300080E00895CF93DF93C82FD62F0E940D8D9D -:101A4000882321F0DF91CF910C94798C8C2F0E9408 -:101A5000C48C811101C08D2FDF91CF9108950F9318 -:101A60001F93CF938C01C62F8DE795E10F949D0AAC -:101A7000C8010F949D0ACC2331F08AE0CF911F91C9 -:101A80000F910C94B952CF911F910F91089560E07E -:101A900082E995E10E942F8D8AE995E10F949D0AD4 -:101AA0008AE00C94B95260E082E995E10E942F8DA2 -:101AB0008EE895E10F949D0A8AE00C94B952EF925A -:101AC000FF920F931F93CF937C018B01C42F60E093 -:101AD00082E995E10E942F8DC7010F949D0A80E253 -:101AE0000E94B952C8010F949D0ACC2341F08AE0AC -:101AF000CF911F910F91FF90EF900C94B952CF911D -:101B00001F910F91FF90EF90089541E0BC0187E88D -:101B100095E10C945F8DCF93DF93C091911110925A -:101B20009111C230B9F118F4C13041F041C0C43054 -:101B3000B1F1C530E9F5C5ECD5E13FC081111DC05B -:101B40000E94538D41E060E376E187E597E10E94D2 -:101B50005F8D85E296E10E94858D809181098823C1 -:101B600019F087E196E104C0C09391118EE096E1EF -:101B70000E94858D0E94478D1EC08130E1F48091C6 -:101B800081098823C1F010921B02109281090E94E2 -:101B90004F5011C010921414C1EED5E10EC08AE06E -:101BA00096E19093C0098093BF09C0EDD5E105C0CF -:101BB000C7EBD5E102C0CAEFD5E18FE995E10F94FB -:101BC0009D0ACE010F949D0A8AE0DF91CF910C947B -:101BD000B9520F931F93CF93DF938B01EA01809348 -:101BE00091110E94538D41E0B80187E597E10E9471 -:101BF0005F8D209719F0CE010E94858DDF91CF91E6 -:101C00001F910F910C94478D0F931F93CF93DF93E8 -:101C1000C82F0F94860BC11103C085E596E102C061 -:101C200087E796E10F949D0A0E94F1EEDC01CB015B -:101C300088539045AF4FBF4F8093581390935913DB -:101C4000A0935A13B0935B1310925C1310916F1210 -:101C500083E080936F1281E08093141447E257E190 -:101C600060E377E182E00E94E98D89E197E10E94DB -:101C700011C8CC2319F0C7E7D6E102C0C5E5D6E10B -:101C800001E080911414882309F455C080915C13FD -:101C9000882309F44CC00F94860B82EF96E10F94D1 -:101CA0009D0A4DED56E164EE76E182E00E94E98DF9 -:101CB0008FEC96E10E9411C880911414882321F0C2 -:101CC00081E00E94E553F8CF40E050E065EC76E11A -:101CD00082E00E94E98D88EB96E10E94CCC70E94C9 -:101CE00038F60E94278A0F94860BCE010F949D0A26 -:101CF0000E94F1EEDC01CB0188539045AF4FBF4FFE -:101D00008093581390935913A0935A13B0935B1375 -:101D100010925C1343EA56E16CEA76E182E00E949D -:101D2000E98D85EF96E00E9411C80093141481E0BC -:101D30000E94E553A6CF10936F12DF91CF911F91B0 -:101D40000F91089590919111911102C00C94E98D19 -:101D500008958F929F92AF92BF92CF92DF92EF92AF -:101D6000FF920F931F93CF93DF9300D01F92CDB7B5 -:101D7000DEB76C017B018A01B0905C130E9438F6DB -:101D8000B11016C08091E90B811112C06091EE0B69 -:101D90007091EF0B8091F00B9091F10B0F94962CBA -:101DA0002091190230911A02621773070CF4C2C015 -:101DB0000E94278A882309F4BDC0BB20A1F10F949B -:101DC000860B8CEA97E10F949D0AB0906F1283E026 -:101DD00080936F1281E08093141482E080939111BC -:101DE0000E94538D40E06CE977E187E597E10E941E -:101DF0005F8D80E30E94B9528AE00E94B95283E964 -:101E000097E10E94858D0E94478D85E897E10E94A9 -:101E100011C880911414882321F081E00E94E553B9 -:101E2000F8CFB0926F1220E030E0A901F601608196 -:101E30007181828193810F943424882371F080E032 -:101E400090E0A0ECB0E489839A83AB83BC83BE01AD -:101E50006F5F7F4FC6010E94468A20E030E0A901F3 -:101E6000F70160817181828193810F9434248823EA -:101E700051F18090701190907111A0907211B090FA -:101E8000731180E090E0A8ECB1E48093701190931E -:101E90007111A0937211B093731180E090E0A0EFE4 -:101EA000B1E489839A83AB83BC83BE016F5F7F4FAC -:101EB000C7010E94468A8092701190927111A0927F -:101EC0007211B092731120E030E0A901F801608135 -:101ED0007181828193810F948A2D181674F480E0A9 -:101EE00090E0A0E4B0E489839A83AB83BC83BE0115 -:101EF0006F5F7F4FC8010E94468A81E080939111F5 -:101F00000E94538D41E06EE777E187E597E10E94FB -:101F10005F8D84E797E10E94858D809181098823F8 -:101F200019F086E697E102C08DE597E10E94858D64 -:101F30000E94478D20E030E0A90160919E117091D0 -:101F40009F118091A0119091A1110F94342487FFCB -:101F50000FC080E090E0A0E7B2E489839A83AB836E -:101F6000BC83BE016F5F7F4F8EE991E10E94468A7C -:101F700080E090E0A8E4B2E489839A83AB83BC83D9 -:101F8000AE014F5F5F4F66E971E182E991E10E9426 -:101F9000E3DE80E090E0A0EAB0E489839A83AB833B -:101FA000BC83BE016F5F7F4F8AE991E10E9405DF2C -:101FB00080919E1190919F11A091A011B091A111BB -:101FC0008093830290938402A0938502B09386024B -:101FD0008093B1139093B213A093B313B093B4133F -:101FE00081EB93E10E942DBF61E08FE497E10E94B5 -:101FF0002F8D8091450B81508093450B40E050E040 -:1020000068ED77E185E00E94A28E8091450B8823E0 -:1020100039F00E94F75D8091450B81508093450B0C -:1020200080E00E945FE88091B812823011F40E9433 -:10203000E7BC0E94CDF50F900F900F900F90DF91AD -:10204000CF911F910F91FF90EF90DF90CF90BF90B5 -:10205000AF909F908F9008958F929F92AF92BF9272 -:10206000CF92DF92EF92FF921F93CF93DF93CDB782 -:10207000DEB728970FB6F894DEBF0FBECDBF209114 -:10208000450B211113C17A015B016C0161E087E30B -:1020900096E10E942F8D40E050E06FE476E185E00C -:1020A0000E94A28E8091371183FD22C020E030E093 -:1020B000A901F70160817181828193810F94342499 -:1020C0008823B1F01091E90B111112C0209119026F -:1020D00030911A028091F20B9091F30B82179307C3 -:1020E0003CF40F94860B8EE396E10F949D0ADFC0BB -:1020F0008091450B91E0980F9093450B9091391882 -:1021000092FF06C09B7F909339188E5F8093450B9A -:102110000E9448F480E1E7E7F2E0A2E9B1E1019032 -:102120000D928A95E1F70E941CBF81E00E945FE852 -:1021300020E030E0A901F601608171818281938104 -:102140000F943424882319F18091E90B811111C077 -:102150006091EE0B7091EF0B8091F00B9091F10B71 -:102160000F94962C2091190230911A02621773076E -:1021700074F080E090E0A0E7B2E489839A83AB83B7 -:10218000BC83BE016F5F7F4FC6010E94468A0E94DA -:1021900097E8811104C0B50182E00E9481F420E03B -:1021A00030E0A901F70160817181828193810F94F0 -:1021B0003424811102C011E07AC00E94278A182FAE -:1021C0008823C9F380E090E0A0E7B2E48D839E838A -:1021D000AF83B88780E090E0A0E8B0EC89839A8371 -:1021E000AB83BC83BE016B5F7F4FCE0101960E9423 -:1021F000468A68E873E180E090E00F946E0A80916F -:10220000681190916911A0916A11B0916B118D8341 -:102210009E83AF83B88780E090E0A0E8B0E4898334 -:102220009A83AB83BC83BE016B5F7F4FCE01019667 -:102230000E94468A8090701190907111A090721146 -:10224000B090731180E090E0A8ECB1E4809370113D -:1022500090937111A0937211B093731180E090E08C -:10226000A4E2B2E48D839E83AF83B887F7018081B7 -:102270009181A281B38189839A83AB83BC83BE01A0 -:102280006B5F7F4FCE0101960E94468A809270114B -:1022900090927111A0927211B0927311129A64E629 -:1022A00070E080E090E00F946E0A01C010E0812F92 -:1022B00028960FB6F894DEBF0FBECDBFDF91CF9149 -:1022C0001F91FF90EF90DF90CF90BF90AF909F90C5 -:1022D0008F900895CF93DF93EB01682F70E085E234 -:1022E00096E10E944151688179818A819B81643F96 -:1022F00021E072078105910520F464EF71E080E030 -:1023000090E00F946E0A89B183FB882780F9DF91F2 -:10231000CF910895CF92DF92EF92FF921F93CF93C8 -:10232000DF9300D01F92CDB7DEB78EEEC82E82E0CD -:10233000D82EE12CF12CC982DA82EB82FC82BE011C -:102340006F5F7F4F8AE50E946A91811102C010E0A1 -:1023500023C084EF91E0A0E0B0E089839A83AB834F -:10236000BC83BE016F5F7F4F80EA0E946A91C98281 -:10237000DA82EB82FC82BE016F5F7F4F8AE50E94AA -:102380006A91182F882319F30F94820B83E495E147 -:102390000F949D0A0F948A0B812F0F900F900F902E -:1023A0000F90DF91CF911F91FF90EF90DF90CF9032 -:1023B0000895CF92DF92EF92FF92CF93DF9300D0F8 -:1023C0001F92CDB7DEB78EEEC82E82E0D82EE12C5C -:1023D000F12CC982DA82EB82FC82BE016F5F7F4FF3 -:1023E0008AE00E946A91811102C0F12C41C084EF01 -:1023F00091E0A0E0B0E089839A83AB83BC83BE0107 -:102400006F5F7F4F80EA0E946A91C982DA82EB8215 -:10241000FC82BE016F5F7F4F8AE50E946A91C9828C -:10242000DA82EB82FC82BE016F5F7F4F8AE00E94FE -:102430006A91C982DA82EB82FC82BE016F5F7F4FB4 -:102440008AE50E946A91C982DA82EB82FC82BE012F -:102450006F5F7F4F8AE00E946A91F82E882329F2ED -:102460000F94820B89E095E10F949D0A0F948A0BDB -:102470008F2D0F900F900F900F90DF91CF91FF90C5 -:10248000EF90DF90CF9008958F929F92AF92BF927E -:10249000CF92DF92EF92FF92CF93DF9300D01F9203 -:1024A000CDB7DEB7B82E84EF91E0A0E0B0E089832D -:1024B0009A83AB83BC83BE016F5F7F4F80EA0E942B -:1024C0006A919EEEC92E92E0D92EE12CF12CC982A0 -:1024D000DA82EB82FC82BE016F5F7F4F8AE50E9449 -:1024E0006A918091221481113CC0BB20D1F1C98234 -:1024F000DA82EB82FC82BE016F5F7F4F8AE00E942E -:102500006A9186E9882E912CA12CB12C89829A821D -:10251000AB82BC82BE016F5F7F4F8CE80E946A91E4 -:1025200089829A82AB82BC82BE016F5F7F4F82E854 -:102530000E946A9189829A82AB82BC82BE016F5FDF -:102540007F4F8CE80E946A91C982DA82EB82FC821A -:10255000BE016F5F7F4F8AE50E946A9181E08093A0 -:1025600022140F900F900F900F90DF91CF91FF905A -:10257000EF90DF90CF90BF90AF909F908F90089595 -:102580008F929F92AF92BF92EF92FF920F931F9301 -:10259000CF93DF9380E00F941308109230141092C1 -:1025A0002F1410922E1410922D14109226141092A3 -:1025B0002514109224141092231409E314E1C0E0AE -:1025C000812C912C80ECA82E8FE7B82EE12CF12CD9 -:1025D000D0E0F801EE0DFF1D80829182A282B382CD -:1025E00020E030E0A9016D2F8C2F0E940DC7DF5F26 -:1025F00084E0E80EF11CD53061F7CF5F0C5E1F4F11 -:10260000C53021F7DF91CF911F910F91FF90EF908F -:10261000BF90AF909F908F90089580912B169091CE -:102620002C16891B8F7019F480E090E0089590912A -:102630002816992351F0833030F48FEF890F19F069 -:1026400080932816F1CF10922816E0912C1683E57E -:10265000E89FF0011124EB5FF34F808180FDE4CF10 -:1026600080912C168F5F8F708093291690912C1675 -:1026700080912A16981304C08091291680932A16F7 -:10268000CF0108950F930FB70F9300916E000F9332 -:102690000B7F00936E0000916F000D7F00936F0021 -:1026A0000F930BB70F930CB70F921F922F933F937B -:1026B0004F935F936F937F938F939F93AF93BF934A -:1026C000EF93FF9311240E94B393FF91EF91BF9179 -:1026D000AF919F918F917F916F915F914F913F91BA -:1026E0002F911F900F900CBF0F910BBF0F910260A5 -:1026F000F89400936F000F9100936E000F910FBF3D -:102700000F9118958091B00980FF03C089988FEFD1 -:1027100002C0899A81E08093A7118091B0098695C3 -:1027200080FF03C08F988FEF02C08F9A81E0809363 -:10273000A8118091B0098695869580FF07C0809189 -:102740000B018270809309018FEF07C080910B010C -:10275000809582708093090181E08093A911000027 -:102760000000000008952F923F924F925F926F9267 -:102770007F928F929F92AF92BF92CF92DF92EF9211 -:10278000FF920F931F93CF93DF93CDB7DEB72D97B3 -:102790000FB6F894DEBF0FBECDBF8FEF9FEF9093C3 -:1027A0008900809388002AE02987212C312C442439 -:1027B0004A94542C320178948091F4119091F5113F -:1027C000A091F611B091F711892B8A2B8B2B09F070 -:1027D000D9C180913A1E8823E1F010923A1E80916F -:1027E000381E9091391E892B09F4CCC11092A61184 -:1027F0001092391E1092381E90912B1680912C1633 -:10280000981709F4BFC180912C168F5F8F70809349 -:102810002C168091381E9091391E892B09F4B2C173 -:10282000C090F011D090F111E090F211F090F311FE -:102830004091EC115091ED116091EE117091EF11FA -:102840000091DF1110E020E030E0DB01CA018C19BB -:102850009D09AE09BF09081719072A073B0710F49D -:10286000D901C801482F8C0D9D1DAE1DBF1D809341 -:10287000F0119093F111A093F211B093F311209104 -:10288000840030918500225E3F4FC090C511D090EA -:10289000C611E090C711F090C8118091B5119091C8 -:1028A000B611A091B711B091B8118C0D9D1DAE1D40 -:1028B000BF1D8093C5119093C611A093C711B0930B -:1028C000C811B7FD1CC0889AC090471ED090481E02 -:1028D000E090491EF0904A1E8091A711082E000C2E -:1028E000990BAA0BBB0B8C0D9D1DAE1DBF1D8093BC -:1028F000471E9093481EA093491EB0934A1EC09055 -:10290000C911D090CA11E090CB11F090CC118091F8 -:10291000B9119091BA11A091BB11B091BC118C0D5D -:102920009D1DAE1DBF1D8093C9119093CA11A09328 -:10293000CB11B093CC11B7FD1CC08E9AC0904B1E2A -:10294000D0904C1EE0904D1EF0904E1E8091A8112C -:10295000082E000C990BAA0BBB0B8C0D9D1DAE1DF8 -:10296000BF1D80934B1E90934C1EA0934D1EB093A1 -:102970004E1EC090CD11D090CE11E090CF11F090AE -:10298000D0118091BD119091BE11A091BF11B09155 -:10299000C0118C0D9D1DAE1DBF1D8093CD11909358 -:1029A000CE11A093CF11B093D011B7FD21C080916B -:1029B0000B018095887080930901C0904F1ED090C4 -:1029C000501EE090511EF090521E8091A911082EC9 -:1029D000000C990BAA0BBB0B8C0D9D1DAE1DBF1DD2 -:1029E00080934F1E9093501EA093511EB093521E81 -:1029F000C090D111D090D211E090D311F090D411A9 -:102A00008091C1119091C211A091C311B091C411D4 -:102A10008C0D9D1DAE1DBF1D8093D1119093D211C1 -:102A2000A093D311B093D411B7FD3AC08090531E38 -:102A30009090541EA090551EB090561EC090AA11A2 -:102A40000C2C000CDD08EE08FF08C80CD91CEA1C91 -:102A5000FB1CC092531ED092541EE092551EF09261 -:102A6000561EC090B111D090B211E090B311F09009 -:102A7000B4118C199D09AE09BF098093D1119093AF -:102A8000D211A093D311B093D4119091B009809139 -:102A9000DD1193FF02C0815001C08F5F8093DD1173 -:102AA000809184009091850082179307C8F38091EC -:102AB000C5119091C611A091C711B091C811B7FD71 -:102AC00015C0C090B111D090B211E090B311F09048 -:102AD000B4118C199D09AE09BF098093C51190935B -:102AE000C611A093C711B093C81188988091C911DD -:102AF0009091CA11A091CB11B091CC11B7FD15C026 -:102B0000C090B111D090B211E090B311F090B41117 -:102B10008C199D09AE09BF098093C9119093CA1100 -:102B2000A093CB11B093CC118E988091CD11909140 -:102B3000CE11A091CF11B091D011B7FD19C0C090A6 -:102B4000B111D090B211E090B311F090B4118C1982 -:102B50009D09AE09BF098093CD119093CE11A0932A -:102B6000CF11B093D01180910B018870809309012F -:102B7000415041F080918400909185008217930725 -:102B8000C8F381CE8091240290912502A091260263 -:102B9000B0912702892B8A2B8B2B09F094C080914E -:102BA000DE11882309F452C08090F0119090F11149 -:102BB000A090F211B090F311C090D911D090DA1119 -:102BC000E090DB11F090DC118091DD11C814D90484 -:102BD000EA04FB0488F42091AB113091AC114091D0 -:102BE000AF115091B0114217530730F481508093C8 -:102BF000DD112150310915C08C149D04AE04BF04B1 -:102C0000E8F42091AB113091AC114091AD1150918D -:102C1000AE112417350790F48F5F8093DD112F5F7D -:102C20003F4F3093AC112093AB1140912002509153 -:102C3000210260912202709123020BC04092200277 -:102C40005092210260922202709223024FEF5FEFB6 -:102C5000BA018091DD1187FD02C0169A01C0169855 -:102C60000000000000002091840030918500225E69 -:102C70003F4F8091DD118823F1F0149A80918400F8 -:102C80009091850082179307C8F38091DD1187FF2B -:102C900002C08F5F01C081508093DD111498809134 -:102CA000DD11882331F38091840090918500821793 -:102CB0009307C8F3DCCF409324025093250260931E -:102CC0002602709327028091F4119091F511A09142 -:102CD000F611B091F711892B8A2B8B2B09F0DAC3EF -:102CE000A091381EB091391E109709F4ECC5C09020 -:102CF000F011D090F111E090F211F090F3114091A9 -:102D0000EC115091ED116091EE117091EF11C4161C -:102D1000D506E606F70608F474C080911B028823E6 -:102D200009F455C055964D915D916D917C915897E0 -:102D3000452B462B472BC1F459964D915D916D91D2 -:102D40007C915C97452B462B472B71F45D964D91FA -:102D50005D916D917C919097452B462B472B21F4EB -:102D60008091450B882399F191966D917D918D917C -:102D70009C919497C090A211D090A311E090A411BF -:102D8000F090A511D5962C9123FF07C090958095C2 -:102D9000709561957F4F8F4F9F4F0F943B242091EB -:102DA000E50B3091E60B4091E70B5091E80B0F9447 -:102DB0009A249B01AC01C701B6010F94292B6093A3 -:102DC000A2117093A3118093A4119093A511109256 -:102DD000A6111092391E1092381E90912B168091D8 -:102DE0002C16981709F46FC580912C168F5F8F7081 -:102DF00080932C1600ED802E07E0902EA12CB12C94 -:102E00008AC14091E8115091E9116091EA117091E5 -:102E1000EB114C155D056E057F0508F46DC0409102 -:102E2000E4115091E5116091E6117091E711D1968E -:102E30000D911D912D913C91D497EE27419FF12D3D -:102E4000529FC001629F900D619F800D911D429F16 -:102E5000F00D811D9E1F519FF00D811D9E1F609FD3 -:102E6000F00D811D9E1F509FF10D8E1F9E1FF69528 -:102E70008E1F9E1F349F800D911D359F900D112434 -:102E8000FD01EB5BFF4F0081118122813381080F2F -:102E9000191F211D311D0093E0111093E1112093A2 -:102EA000E2113093E3113497C080D180E280F38047 -:102EB000C016D106E206F30640F4C092E011D092AB -:102EC000E111E092E211F092E311C090E011D09094 -:102ED000E111E090E211F090E3118FED9FE121E02C -:102EE000FC0185909590A590B4908C149D04AE043F -:102EF000BF0408F449C353C32091D9113091DA11AA -:102F00004091DB115091DC1129833A834B835C8320 -:102F10002C153D054E055F0508F070C04091D51198 -:102F20005091D6116091D7117091D8114A875B8763 -:102F30006C877D87D1960D911D912D913C91D497F1 -:102F4000EE27419FF12D529FC001629F900D619F1E -:102F5000800D911D429FF00D811D9E1F519FF00D10 -:102F6000811D9E1F609FF00D811D9E1F509FF10DC2 -:102F70008E1F9E1FF6958E1F9E1F349F800D911DE4 -:102F8000359F900D11248C0120E030E08090E011FD -:102F90009090E111A090E211B090E311FD01E75B88 -:102FA000FF4F081519052A053B05A0F44081518102 -:102FB000628173814D835E836F837887801A910A63 -:102FC000A20AB30A84169506A606B70638F44A0183 -:102FD0005B0104C080809180A280B3808FED9FE16F -:102FE00051E05D83FC0105911591259134910815FF -:102FF00019052A053B0508F456C363C38091DD110A -:103000008823D9F0D7964D915C91D89760E070E015 -:10301000009120021091210220912202309123027E -:10302000401751076207730741F010922402109273 -:103030002502109226021092270240911C02509104 -:103040001D0260911E0270911F0277FF5CC0AF5B92 -:10305000BF4F8D919D910D90BC91A02D2FED3FE123 -:1030600041E0F901C590D590E590F490C816D906D5 -:10307000EA06FB0658F4B695A79597958795440FF1 -:103080002C5F3F4F7FE12B3F370759F74093DF110C -:1030900080329105A105B10520F480E290E0A0E026 -:1030A000B0E08097A109B109811538E09307A10527 -:1030B000B10508F4C2C344E0949F90011124215249 -:1030C000344EF901329645915491EE27859FB00117 -:1030D000849F610D7E1F06946E1F7E1F1124CB01FD -:1030E000A0E0B0E0F9014591549160E070E0481B28 -:1030F000590B6A0B7B0B40931C0250931D0260938B -:103100001E0270931F0280901C0290901D02A090DE -:103110001E02B0901F028091381E9091391E892B9B -:1031200009F0B0C10E940D939093391E8093381E10 -:10313000892B09F4A7C1E091381EF091391E8081D6 -:1031400083FF3EC085899689A789B08D8093471EED -:103150009093481EA093491EB0934A1E818D928D74 -:10316000A38DB48D80934B1E90934C1EA0934D1E47 -:10317000B0934E1E858D968DA78DB0A180934F1E66 -:103180009093501EA093511EB093521E81A192A104 -:10319000A3A1B4A18093531E9093541EA093551ED7 -:1031A000B093561E90912B1680912C16981709F407 -:1031B000B9CF80912C168F5F8F7080932C16B2CF71 -:1031C000C588D688E788F08C81E0C114D104E10479 -:1031D000F10409F480E0018D128D238D348D0115E9 -:1031E00011052105310509F08260458D568D678DE9 -:1031F00070A1411551056105710509F08460809346 -:10320000A6111092D5111092D6111092D7111092CA -:10321000D8111092E4111092E5111092E61110925B -:10322000E71185A196A1A7A1B0A58093EC11909379 -:10323000ED11A093EE11B093EF118824992454015D -:10324000881A990AAA0ABB0A8092D1119092D211C7 -:10325000A092D311B092D4118092CD119092CE1140 -:10326000A092CF11B092D0118092C9119092CA1140 -:10327000A092CB11B092CC118092C5119092C61140 -:10328000A092C711B092C811CC0CDD1CEE1CFF1C23 -:10329000C092B511D092B611E092B711F092B81168 -:1032A000000F111F221F331F0093B9111093BA1181 -:1032B0002093BB113093BC11440F551F661F771F1D -:1032C0004093BD115093BE116093BF117093C01114 -:1032D00041A152A163A174A1440F551F661F771F1E -:1032E0004093C1115093C2116093C3117093C411E4 -:1032F000880F991FAA1FBB1F8093B1119093B21121 -:10330000A093B311B093B4111092F0111092F11177 -:103310001092F2111092F31181A592A5A3A5B4A564 -:103320008093E8119093E911A093EA11B093EB1107 -:1033300085A596A5A7A5B0A98093D9119093DA1178 -:10334000A093DB11B093DC1186A98093DE11882352 -:1033500009F183AD94AD9093B0118093AF1181AD1D -:1033600092AD9093AE118093AD1110922402109201 -:103370002502109226021092270287A990ADA0E0A4 -:10338000B0E08093200290932102A0932202B09398 -:10339000230208C040922002509221026092220231 -:1033A0007092230285A99091B009891721F080932A -:1033B000B0090E9482930E9461E040921C025092E8 -:1033C0001D0260921E0270921F02E091381EF09161 -:1033D000391EEB5BFF4F80819181A281B381809385 -:1033E000E0119093E111A093E211B093E3112FED5E -:1033F0003FE141E0F901C590D590E590F490C81601 -:10340000D906EA06FB0660F4B695A79597958795C9 -:10341000440F2C5F3F4FEBEFFFE1E217F30751F74B -:103420004093DF1180329105A105B10520F480E2BF -:1034300090E0A0E0B0E08097A109B109811558E0C3 -:103440009507A105B10508F41BC264E0969F9001A1 -:1034500011242152344EF901329645915491EE27B0 -:10346000859FB001849F610D7E1F06946E1F7E1F95 -:103470001124F90185909490A12CB12C861A970AF9 -:10348000A108B1088092F4119092F511A092F61162 -:10349000B092F7110091F4111091F5112091F611ED -:1034A0003091F7114091240250912502609126023B -:1034B00070912702F02E1983F22FE32F4017510746 -:1034C0006207730720F4F42E5983F62FE72F8F2D10 -:1034D0009981AF2FBE2F0097E1E0AE07B10520F034 -:1034E0008FEF9FEFA0E0B0E0081B190B2A0B3B0BFE -:1034F0000093F4111093F5112093F6113093F71106 -:103500004F3FFFEF5F076F077F0761F0481B590BC5 -:103510006A0B7B0B40932402509325026093260292 -:1035200070932702F8942091840030918500205FE9 -:103530003F4F498541504987442339F0280E391EB1 -:103540002216330608F437C901C0190130928900E8 -:103550002092880078942D960FB6F894DEBF0FBEA7 -:10356000CDBFDF91CF911F910F91FF90EF90DF9032 -:10357000CF90BF90AF909F908F907F906F905F9013 -:103580004F903F902F900895F694E794D794C79466 -:10359000220F0496EFE18B3F9E0709F0A1CC209308 -:1035A000DF11F0E2CF16D104E104F10428F410E2B7 -:1035B000C12ED12CE12CF12C30E2C31AD108E10844 -:1035C000F108C11488E0D806E104F104F8F0E4E061 -:1035D000DE9EC00111248152944EFC013296259149 -:1035E0003491FC2DEE27F39F8001F29F010D1E1FE9 -:1035F00006940E1F1E1F1124FC0185909490A12C8F -:10360000B12C801A910AA108B10822C09701860145 -:103610003695279517950795F801EC7F9F01215264 -:10362000384EF90185909490F901329685919491E4 -:10363000EC2DE770E89F9001E99F300D1124F3E035 -:1036400036952795FA95E1F7821A930AA12CB12CA9 -:10365000480D591D6A1D7B1D4093E4115093E511DF -:103660006093E6117093E7119091DE118091DD1166 -:10367000992309F474C0882309F44DCDD7968D9110 -:103680009C91D897A0E0B0E0409120025091210297 -:10369000609122027091230284179507A607B7074D -:1036A00009F060C038CDB694A794979487942D8183 -:1036B000220F2D8304964BEF5FE14817590709F05D -:1036C00091CC5D815093DF1160E286169104A104D4 -:1036D000B10428F450E2852E912CA12CB12C60E28B -:1036E000861A9108A108B108811478E09706A10410 -:1036F000B10408F440C0E4E09E9EC0011124815250 -:10370000944EFC01329625913491F82DEE27F39FCB -:103710008001F29F010D1E1F06940E1F1E1F112413 -:10372000FC0185909490A12CB12C801A910AA108DB -:10373000B1084A855B856C857D85480D591D6A1DDC -:103740007B1D4093D5115093D6116093D711709380 -:10375000D8118091DE11811132C08091DD11882352 -:1037600009F4D9CC1092240210922502109226025C -:1037700010922702D0CC9501840136952795179594 -:103780000795F801EC7F9F012152384EF901859190 -:103790009491F901329605911491E82DE770E09F1C -:1037A0009001E19F300D112443E0369527954A950D -:1037B000E1F74C01821A930AA12CB12CBACF4981AE -:1037C0005A816B817C812D81420F511D611D711DBC -:1037D0004C155D056E057F05C8F48091DD118823C9 -:1037E00009F499CCD7964D915C91D89760E070E040 -:1037F0000091200210912102209122023091230297 -:10380000401751076207730709F485CC1092240210 -:10381000109225021092260210922702D7968D91BF -:103820009C91D897A0E0B0E0809320029093210271 -:10383000A0932202B09323026ECCAC01BD01769519 -:10384000679557954795FA01EC7F9F012152384EB5 -:10385000F90145915491F9013296659174918770FF -:10386000869F9001879F300D1124C901F3E0969542 -:103870008795FA95E1F7481B590B60E070E03BCC67 -:10388000AC01BD017695679557954795FA01EC7F98 -:103890009F012152384EF90185909490F90132969A -:1038A000459154918770849F9001859F300D11241C -:1038B000C901A3E096958795AA95E1F7881A990A18 -:1038C000A12CB12CDFCD80ED882E87E0982EA12C85 -:1038D000B12C28CC1F93CF93DF93CDB7DEB72897B9 -:1038E0000FB6F894DEBF0FBECDBF69837A838B839A -:1038F0009C832D833E834F8358870E94D9918823D0 -:1039000011F081E026C081E00E945FE869E170E08B -:1039100080E090E00F946E0ABE016B5F7F4FCE0196 -:1039200001960E9405DF1091430B147080E00E9405 -:103930005FE8112321F00E948A918111E2CF109259 -:10394000430B82E00E9440DF0E94AEDF81E0111154 -:1039500080E028960FB6F894DEBF0FBECDBFDF9192 -:10396000CF911F910895CF92DF92EF92FF92CF9364 -:10397000DF93CDB7DEB728970FB6F894DEBF0FBE42 -:10398000CDBF20E030E040EA50E460917F027091CA -:10399000800280918102909182020F9434248823C6 -:1039A000E9F01D821E821F821886C12CD12C80EA6C -:1039B000E82E80E4F82EC982DA82EB82FC82BE0116 -:1039C0006B5F7F4FCE0101960E9405DFC0927F02A0 -:1039D000D0928002E0928102F092820228960FB685 -:1039E000F894DEBF0FBECDBFDF91CF91FF90EF9077 -:1039F000DF90CF900895BF92CF92DF92EF92FF9227 -:103A00000F931F93CF93DF93CDB7DEB728970FB6F1 -:103A1000F894DEBF0FBECDBF9091B109981709F49D -:103A20007AC0B82E80E090E0A0E2B1E48D839E835E -:103A3000AF83B887C090C913D090CA13E090CB135E -:103A4000F090CC1320E030E0A901C701B6010F943B -:103A5000342487FF0CC0A701960160E070E080E28B -:103A600091E40F94292B6D837E838F83988720E0C8 -:103A700030E048EC53E46D817E818F8198850F940E -:103A80008A2D181644F480E090E0A8ECB3E48D830E -:103A90009E83AF83B8872D813E814F815885609189 -:103AA0007F027091800280918102909182020F9436 -:103AB000342487FF0BC019821A821B821C82BE012C -:103AC0006F5F7F4FCE0105960E9405DF6091770200 -:103AD000709178028091790290917A0220917B0214 -:103AE00030917C0240917D0250917E0219821A82AF -:103AF0001B821C82E0907F02F09080020091810284 -:103B000010918202FE0131966F010E9422DEB09276 -:103B1000B1090E943DE180E028960FB6F894DEBF1F -:103B20000FBECDBFDF91CF911F910F91FF90EF900E -:103B3000DF90CF90BF900895082E000C990BFC01E8 -:103B4000E359FC4CE491EE2399F0F0E0EE0FFF1FF7 -:103B5000ED5AFC4CA591B4912C91FC01ED54FC4C18 -:103B60008491822321E090E009F420E0822F0895DF -:103B700080E090E00895082E000C990BFC01E359B9 -:103B8000FC4CE491F0E0EE0FFF1FE15EFC4CA591D0 -:103B9000B4912C91FC01ED54FC4CE491E22381E0C2 -:103BA00009F480E00895CF93DF93C82F85E994E26C -:103BB0000F949D0A0C2E000CDD0BFE01E359FC4C0A -:103BC0008491805C0E94B952FE01ED54FC4CE4915A -:103BD00080E3E13021F0E6958F5F8933D1F7DF9103 -:103BE000CF910C94B9520F931F93CF93DF93CDB71E -:103BF000DEB764970FB6F894DEBF0FBECDBFE82FD7 -:103C0000F0E0E750FC4CE4918E2F90E0FC013197FE -:103C1000E231F10508F049C28827E155FF4F8F4F87 -:103C20000D94212B84B5807C09F43FC287B51F9287 -:103C30008F938AE593E29F938F938E010F5F1F4FBF -:103C40001F930F930F94CC230F900F900F900F9012 -:103C50000F900F90F80181918F01811102C081E0D6 -:103C600025C20E94B952F6CF84B5807309F41DC2F3 -:103C700088B51F928F9380E593E29F938F938E0177 -:103C80000F5F1F4F1F930F930F94CC230F900F9034 -:103C90000F900F900F900F90F80181918F01882362 -:103CA000F1F20E94B952F8CF80918000807C09F433 -:103CB000FCC180918800909189009F938F9386E446 -:103CC00093E29F938F938E010F5F1F4F1F930F936C -:103CD0000F94CC230F900F900F900F900F900F9098 -:103CE000F80181918F01882309F4B9CF0E94B9525C -:103CF000F7CF80918000807309F4D7C180918A004A -:103D000090918B009F938F938CE393E29F938F937B -:103D10008E010F5F1F4F1F930F930F94CC230F90B3 -:103D20000F900F900F900F900F90F80181918F01DD -:103D3000882309F494CF0E94B952F7CF8091800074 -:103D40008C7009F4B2C180918C0090918D009F938A -:103D50008F9382E393E29F938F938E010F5F1F4FA8 -:103D60001F930F930F94CC230F900F900F900F90F1 -:103D70000F900F90F80181918F01882309F46FCF84 -:103D80000E94B952F7CF8091B000807C09F48DC1B8 -:103D90008091B3001F928F9388E293E29F938F9359 -:103DA0008E010F5F1F4F1F930F930F94CC230F9023 -:103DB0000F900F900F900F900F90F80181918F014D -:103DC000882309F44CCF0E94B952F7CF8091B000FC -:103DD000807309F46AC18091B4001F928F938EE1C1 -:103DE00093E29F938F938E010F5F1F4F1F930F934B -:103DF0000F94CC230F900F900F900F900F900F9077 -:103E0000F80181918F01882309F429CF0E94B952CA -:103E1000F7CF80919000807C09F447C18091980091 -:103E2000909199009F938F9384E193E29F938F9356 -:103E30008E010F5F1F4F1F930F930F94CC230F9092 -:103E40000F900F900F900F900F90F80181918F01BC -:103E5000882309F404CF0E94B952F7CF80919000D3 -:103E6000807309F422C180919A0090919B009F93E6 -:103E70008F938AE093E29F938F938E010F5F1F4F82 -:103E80001F930F930F94CC230F900F900F900F90D0 -:103E90000F900F90F80181918F01882309F4DFCEF4 -:103EA0000E94B952F7CF809190008C7009F4FDC048 -:103EB00080919C0090919D009F938F9380E093E26E -:103EC0009F938F938E010F5F1F4F1F930F930F943C -:103ED000CC230F900F900F900F900F900F90F80140 -:103EE00081918F01882309F4BACE0E94B952F7CF8D -:103EF0008091A000807C09F4D8C08091A8009091A6 -:103F0000A9009F938F9386EF92E29F938F938E01E8 -:103F10000F5F1F4F1F930F930F94CC230F900F90A1 -:103F20000F900F900F900F90F80181918F018823CF -:103F300009F495CE0E94B952F7CF8091A00080730A -:103F400009F4B3C08091AA009091AB009F938F9326 -:103F50008CEE92E29F938F938E010F5F1F4F1F9302 -:103F60000F930F94CC230F900F900F900F900F9002 -:103F70000F90F80181918F01882309F470CE0E947F -:103F8000B952F7CF8091A0008C7009F48EC0809157 -:103F9000AC009091AD009F938F9382EE92E29F933D -:103FA0008F938E010F5F1F4F1F930F930F94CC239E -:103FB0000F900F900F900F900F900F90F80181913C -:103FC0008F01882309F44BCE0E94B952F7CF80911C -:103FD0002001807C09F469C0809128019091290119 -:103FE0009F938F9388ED92E29F938F938E010F5F43 -:103FF0001F4F1F930F930F94CC230F900F900F9090 -:104000000F900F900F90F80181918F01882309F490 -:1040100026CE0E94B952F7CF80912001807309F417 -:1040200044C080912A0190912B019F938F938EEC35 -:1040300092E29F938F938E010F5F1F4F1F930F93F9 -:104040000F94CC230F900F900F900F900F900F9024 -:10405000F80181918F01882309F401CE0E94B952A1 -:10406000F7CF809120018C7001F180912C0190910B -:104070002D019F938F9384EC92E29F938F938E01F7 -:104080000F5F1F4F1F930F930F94CC230F900F9030 -:104090000F900F900F900F90F80181918F0188235E -:1040A00009F4DDCD0E94B952F7CF80E064960FB6D7 -:1040B000F894DEBF0FBECDBFDF91CF911F910F915E -:1040C00008954F925F926F927F928F929F92AF92DC -:1040D000BF92CF92DF92EF92FF920F931F93CF93F5 -:1040E000DF93CDB7DEB764970FB6F894DEBF0FBE8F -:1040F000CDBF082FF62EE42E882E912C26E0829F2D -:10410000C0011124FC01E65BFB4D65907490FC013D -:10411000E85BFB4D5F0145905490F3018081482F8F -:10412000487050E060E070E0769567955795479548 -:10413000F20110811370142BF4E0EF1209C08071AA -:1041400090E0A0E0B0E0B695A79597958795182BDD -:104150008EE394E20F949D0A005D802F0E94B95275 -:104160008F2D0E94B95283E00F94920AF401EE0F52 -:10417000FF1F8F2D0F2C000C990B9E012F5F3F4FBF -:10418000690133E0E80DF91D81549109E80FF91F29 -:10419000EE0FFF1FE65EFB4DE3121BC0A591B4912D -:1041A0008C911F928F9380E194E29F938F93DF9283 -:1041B000CF920F94CC230F900F900F900F900F90F1 -:1041C0000F90F60181916F01882309F10E94B95285 -:1041D000F8CFA591B49111968C9111978F938C91F2 -:1041E0008F9386E094E29F938F93DF92CF920F9408 -:1041F000CC230F900F900F900F900F900F90F6011F -:1042000081916F01882319F00E94B952F8CF612F74 -:1042100070E08CEF93E20F94620BF501C590D4909F -:1042200080E793E20F949D0A802F0E94B952F2E436 -:10423000FF1691F023E4F216F9F031E4F3122DC0E9 -:10424000F6014081429546954695437050E060E006 -:1042500070E08CE693E21FC0F6014081407350E0AD -:1042600060E070E094E076956795579547959A954C -:10427000D1F788E693E20FC0F60140814C7050E020 -:1042800060E070E082E076956795579547958A954E -:10429000D1F784E693E20F94330BF301408147702A -:1042A00050E060E070E083EF93E20F94330B8AEE0E -:1042B00093E20F949D0A802F0E94B952F20160810F -:1042C00070E086EE93E20F94620B8DED93E20F9413 -:1042D0009D0A802F0E94B952F301608170E089ED40 -:1042E00093E20F94620B86E0889DF001899DF00DAA -:1042F0001124E45BFB4DC590D4908FEC93E20F94B6 -:104300009D0A802F0E94B952F601608170E08CEC0A -:1043100093E20F94620B00EC0F0DF3E0EF1207C075 -:10432000197F59F488E793E20F949D0A06C0812F04 -:104330008B7FC1F31C501230A8F3F601808190E00E -:10434000A0E0B0E004C0B695A795979587950A952B -:10435000D2F780FF04C081E993E20F949D0AF60131 -:10436000808180FF04C08EEA93E20F949D0A6496D8 -:104370000FB6F894DEBF0FBECDBFDF91CF911F9176 -:104380000F91FF90EF90DF90CF90BF90AF909F90F4 -:104390008F907F906F905F904F900895CF93DF93B1 -:1043A000C82FD0E0FE01E750FC4CE4918E2F90E046 -:1043B000FC013197E231F105E8F58827EF53FF4F13 -:1043C0008F4F0D94212B43E061E402C043E062E48F -:1043D00080E02EC044E061E405C044E062E402C035 -:1043E00044E063E481E024C043E061E402C043E0D0 -:1043F00062E482E01DC044E061E405C044E062E4A0 -:1044000002C044E063E483E013C044E061E405C01B -:1044100044E062E402C044E063E484E009C044E0B4 -:1044200061E405C044E062E402C044E063E485E086 -:104430000E9461A082E994E20F949D0AFE01E35973 -:10444000FC4CE491E230F9F4FE01ED54FC4CE491B3 -:10445000E038C9F48EE894E20F949D0A82E10F944B -:10446000920A86E894E20F949D0A8CE694E20F94F7 -:104470009D0A8EE00F94920A44E063E481E0DF91AC -:10448000CF910C9461A0DF91CF9108952F923F922C -:104490004F925F926F927F928F929F92AF92BF9254 -:1044A000CF92DF92EF92FF920F931F93CF93DF9300 -:1044B000CDB7DEB7AC970FB6F894DEBF0FBECDBF59 -:1044C000182F6CA7542EB22EA32E95E2692E95E2DA -:1044D000792E00E080E0812E012E000C99082AEC54 -:1044E000210F2BA7FE0131967F01F30132964490F4 -:1044F000242C312C2814390409F0A4C081115DC08A -:1045000001115BC0AF92BF922DE135E23F932F9333 -:10451000FF92EF920F94CC23FAA6E9A60F900F908A -:104520000F900F900F900F906701F60181916F012E -:10453000882319F00E94B952F8CF1F924F9228E1B8 -:1045400035E23F932F93FF92EF920F94CC230F907D -:104550000F900F900F900F900F906701F6018191CF -:104560006F01882319F00E94B952F8CF812F0E9461 -:10457000D39DFBA5F7FD1DC026E3221A31083F920B -:104580002F928EE095E29F938F93FF92EF920F947C -:10459000CC230F900F900F900F900F900F90E9A5E4 -:1045A000FAA58191FAA7E9A78823B1F00E94B95230 -:1045B000F6CF88E00F94920A0FC08EE20E94B952A3 -:1045C000EB2DFA2DDF010D900020E9F78A2F8B19D2 -:1045D000875E0F94920A01E0F301C590D490412CBC -:1045E000F6018491811107C0312C87E2C82ED12CAD -:1045F000C418D1080AC00E94B9524394FFEFCF1AE1 -:10460000DF0A27E24212ECCF0AC0832D90E08C151E -:104610009D052CF480E20E94B9523394F6CF5520C8 -:1046200069F0812F0E942A50882309F4C9C03CA553 -:104630003111C6C083E095E20F949D0A8AE00E9482 -:10464000B95281E0F4E06F0E711C25E1621626E29A -:10465000720609F04ACF8111F9C0AF92BF9286ED80 -:1046600094E29F938F93CE0101967C019F938F9349 -:104670000F94CC2367010F900F900F900F900F9025 -:104680000F905701F50181915F01882319F00E9475 -:10469000B952F8CF9F928F9281ED94E29F938F93BE -:1046A000FF92EF920F94CC230F900F900F900F90EA -:1046B0000F900F905701F50181915F01882319F048 -:1046C0000E94B952F8CF812F0E94D39D0AEC010FAE -:1046D00007FD1BC0C401C6979F938F9387EC94E29C -:1046E0009F938F93FF92EF920F94CC230F900F9094 -:1046F0000F900F900F900F905701F50181915F017E -:10470000882331F00E94B952F8CF88E00F94920AC2 -:1047100086EB94E20F949D0A552009F44DC0812F39 -:104720000E94F39D811142C0812F0E94BB9D88236E -:1047300031F087E10F94920A8EED94E22CC00031A3 -:1047400028F5802F0E9498EE092E000CAA0BBB0BB7 -:10475000BF93AF939F938F9382EA94E29F938F933B -:10476000FF92EF920F94CC230FB6F894DEBF0FBEEA -:10477000CDBFF60181916F01882319F00E94B952D3 -:10478000F8CF8EE994E20F949D0A03C087E10F945D -:10479000920A88EE94E20F949D0A812F0E949C9DBC -:1047A000BC01990F880B990B0E942D5387E10F9440 -:1047B000920A812F0E94CEA18AE00E94B95246C07F -:1047C000F3013396E491E11121C08BA50E9498EE8C -:1047D000092E000CAA0BBB0BBF93AF939F938F9333 -:1047E00082EF94E29F938F93FF92EF920F94CC23EA -:1047F00067010FB6F894DEBF0FBECDBFF601819101 -:104800006F018823E9F00E94B952F8CF812F0E94EE -:10481000BB9D811103C088EE94E207C0812F0E94E6 -:10482000F39D81110DC08EED94E20F949D0A812FAE -:104830000E949C9DBC01990F880B990B0E942D53DF -:104840000111FCCE812F0E94CEA1F8CEAC960FB6FE -:10485000F894DEBF0FBECDBFDF91CF911F910F91B6 -:10486000FF90EF90DF90CF90BF90AF909F908F9090 -:104870007F906F905F904F903F902F900895809120 -:104880008B1287FD05C080918C128E7009F445C093 -:1048900083E50E940D8D882391F00E948D8C60939A -:1048A0006C1170936D1180936E1190936F116093E2 -:1048B000741170937511809376119093771180E540 -:1048C0000E940D8D882351F00E948D8C60936C1195 -:1048D00070936D1180936E1190936F1182E50E9419 -:1048E0000D8D882351F00E948D8C60937011709310 -:1048F0007111809372119093731184E50E940D8D54 -:10490000882391F10E948D8C6093741170937511BE -:104910008093761190937711089540916C11509186 -:104920006D1160916E1170916F1185E992E20F9493 -:10493000510B4091701150917111609172117091F1 -:10494000731182E992E20F94510B409174115091CE -:10495000751160917611709177118FE892E20F9442 -:10496000510B8AE00C94B95208958091F8119091FE -:10497000F911009731F04AE050E060E070E00D94EA -:10498000582260E070E0CB0108958F929F92AF9221 -:10499000BF92CF92DF92EF92FF9280918A1281FDB7 -:1049A00009C080918B1281FD05C080918C128C70A2 -:1049B00009F48AC082E40E94C48C882351F00E94CA -:1049C000B5A4609348117093491180934A11909354 -:1049D0004B1183E50E94C48C882351F00E948D8C7A -:1049E000609378117093791180937A1190937B1171 -:1049F00084E50E94C48C882351F00E948D8C6093C2 -:104A00007C1170937D1180937E1190937F118AE4C5 -:104A10000E94C48C882309F457C00E948D8C6B01BE -:104A20007C012AE037ED43E25CE30F948A2D87FD99 -:104A30003DC02AE939E949E95EE3C701B6010F94AF -:104A4000342418169CF1C092BB0BD092BC0BE092A0 -:104A5000BD0BF092BE0B6091441170914511809195 -:104A60004611909147110F9439244B015C0123EFBB -:104A700034E045E35FE3C701B6010F949A249B013C -:104A8000AC01C501B4010F949A2429E732E84AE544 -:104A900050E40F949A240F94D82D6093D30B709305 -:104AA000D40B8093D50B9093D60B0EC00F94820B32 -:104AB00085EA92E2FF90EF90DF90CF90BF90AF90A9 -:104AC0009F908F900D949D0AFF90EF90DF90CF9074 -:104AD000BF90AF909F908F900895CF92DF92EF920A -:104AE000FF92CF93DF93EC016A017B0127E137EB63 -:104AF00041ED58EBC701B6010F948A2D87FD23C005 -:104B000023E030E044EB53E4C701B6010F943424B2 -:104B10001816CCF0C880D980EA80FB8027E137EBFB -:104B200041ED58EBC701B6010F948A2D87FD0BC0EC -:104B3000C1E023E030E044EB53E4C701B6010F9439 -:104B4000342418160CF4C0E08C2FDF91CF91FF9025 -:104B5000EF90DF90CF9008954F925F926F927F9287 -:104B60008F929F92AF92BF92CF92DF92EF92FF927D -:104B7000CF93DF93CDB7DEB728970FB6F894DEBF9B -:104B80000FBECDBF9E838D83DB01CD90DD90ED9078 -:104B9000FC908091C5139091C613A091C713B0915A -:104BA000C81389839A83AB83BC839C01AD01C70181 -:104BB000B6010F94292B2B013C01AD81BE818D9054 -:104BC0009D90AD90BC908091C1139091C213A09123 -:104BD000C313B091C4138D839E83AF83B88727E13D -:104BE00037EB41ED58EBC301B2010F948A2D87FDDD -:104BF0004FC023E030E044EB53E4C301B2010F9413 -:104C0000342418160CF444C02D813E814F81588500 -:104C1000C501B4010F94292B2B013C0127E137EB8F -:104C200041ED58EB0F948A2D87FD32C023E030E030 -:104C300044EB53E4C301B2010F943424181644F139 -:104C400020E030E0A9016D817E818F8198850F94ED -:104C50002A2B2B013C0120E030E040E450E40F948B -:104C6000342487FF05C0412C512C30E4632E762C70 -:104C700027E137EB41ED58E3C301B2010F94292B33 -:104C80009B01AC01C501B4010F948A2D87FF02C0BE -:104C9000198281C020E030E044EB53E46D817E81D5 -:104CA0008F8198850F942A2B2B013C0120E030E85E -:104CB00042EB53E40F948A2D18163CF4412C20E863 -:104CC000522E22EB622E23E4722E27E137EB41EDC8 -:104CD00058E3C301B2010F942A2B9B01AC01C5011B -:104CE000B4010F94342418169CF220E030E0A9019E -:104CF00069817A818B819C810F942A2B4B015C0105 -:104D000020E030E040E450E40F94342487FF05C0F5 -:104D1000812C912C90E4A92EBA2C27E137EB41EDA0 -:104D200058E3C501B4010F94292B9B01AC01C701C5 -:104D3000B6010F948A2D87FDABCF20E030E044EB25 -:104D400053E469817A818B819C810F942A2B4B01DA -:104D50005C0120E030E842EB53E40F948A2D1816F2 -:104D60003CF4812C80E8982E82EBA82E83E4B82EA8 -:104D700027E137EB41ED58E3C501B4010F942A2B2D -:104D80009B01AC0191E09983C701B6010F943424D3 -:104D900018160CF47DCF898128960FB6F894DEBFE3 -:104DA0000FBECDBFDF91CF91FF90EF90DF90CF90FE -:104DB000BF90AF909F908F907F906F905F904F903B -:104DC0000895CF93DF93EB010E940D8D882321F08E -:104DD000DF91CF910C94898CCE01DF91CF91089512 -:104DE000CF93C62F0E940D8D882319F0CF910C947C -:104DF000658C8C2FCF9108952F923F924F925F92A6 -:104E00006F927F928F929F92AF92BF92CF92DF92DA -:104E1000EF92FF920F931F93CF93DF93CDB7DEB73F -:104E200062970FB6F894DEBF0FBECDBF83E50E9438 -:104E3000C48C882349F00E94798C182F811106C0F8 -:104E400080E00F94130802C01091B6188091770289 -:104E500090917802A0917902B0917A0289839A8325 -:104E6000AB83BC8380917B0290917C02A0917D02F8 -:104E7000B0917E028D839E83AF83B88780917F023D -:104E800090918002A0918102B091820289879A87D5 -:104E9000AB87BC8786E50E94C48C682E80912D1458 -:104EA00090912E14892B09F4B1C083E40E94C48C24 -:104EB000882309F4B6C00E948D8C1B012C01712C33 -:104EC000812C68EC962E72ECA72EB12CC12C28EC0C -:104ED0002F8732E4388B85E08D879D8591509D87A3 -:104EE0009F3FD9F1E5E0EE8735E0399F900111242D -:104EF0003A8B298B3E8531503E873F3F71F3E989DC -:104F0000FA89E30FF11DEE0FFF1FEE0FFF1FE75CA5 -:104F1000FB4ED080E180F28003812B2D3C2D4F850C -:104F200058896D2D7E2D8F2D902F0F94342487FF5F -:104F300004C0BD2CCE2CFF86088B2D2D3E2D4F2D71 -:104F4000502F672D782D892D9A2D0F94342487FFAB -:104F5000D1CF7D2C4701A02ECDCF272D382D492D27 -:104F60005A2D6B2D7C2D8F8598890F942A2B20E04C -:104F700030E040E05FE30F949A24A20191010F9486 -:104F80002A2B1B012C012DEB37E346E855EB0F9440 -:104F90008A2D87FD0AC02DEB37E346E855E3C201B1 -:104FA000B1010F9434241816E4F580E00F9413082F -:104FB00005E045E0C42E0150A0F135E0D32EC09E9F -:104FC00050011124DA949FEFD916A9F37501ED0C65 -:104FD000F11CC701880F991F880F991FFC01E75C1E -:104FE000FB4E7F01A20191016081718182819381D9 -:104FF0000F94292B9B01AC01F7016083718382839D -:1050000093836D2D802F0E940DC7DCCF111102C03C -:10501000662089F00F94860B8DEA98E20F949D0A22 -:1050200016C0662041F080912D1490912E14892B8A -:1050300011F00F94AC0A8AE50E94C48C882321F0F9 -:105040000E948D8C0F94250F812F0F94130811232C -:1050500051F08091B618811106C00F94820B8EE832 -:1050600098E20F949D0A0F94860B80E898E20F94C3 -:105070009D0A8091B618811103C08DED9CE002C09D -:1050800081EE9CE00F949D0A8AE00E94B9520F9431 -:10509000860B83E798E20F949D0AC090B718D090D2 -:1050A000B818E090B918F090BA1820E030E0A901E3 -:1050B000C701B6010F948A2D181644F442E0C701C7 -:1050C000B6010E9449530E94BE5304C08EE698E286 -:1050D0000F949D0A4CE050E067E772E0CE01019624 -:1050E0000F94492E892BD1F062960FB6F894DEBF4B -:1050F0000FBECDBFDF91CF911F910F91FF90EF9029 -:10510000DF90CF90BF90AF909F908F907F906F90E7 -:105110005F904F903F902F900C94B0DF62960FB647 -:10512000F894DEBF0FBECDBFDF91CF911F910F91DD -:10513000FF90EF90DF90CF90BF90AF909F908F90B7 -:105140007F906F905F904F903F902F9008952F9297 -:105150003F924F925F926F927F928F929F92AF9207 -:10516000BF92CF92DF92EF92FF920F931F93CF9354 -:10517000DF9300D01F921F92CDB7DEB77C018B0169 -:105180006A0119018090770290907802A0907902CC -:10519000B0907A02A5019401FC0160817181828145 -:1051A00093810F943424F1E0FD83811112C020918A -:1051B0007B0230917C0240917D0250917E02F80189 -:1051C00060817181828193810F943424811101C0A7 -:1051D0001D82F601408051806280738020912802F8 -:1051E0003091290240912A0250912B02C301B20151 -:1051F0000F943424882309F455C040922802509219 -:10520000290260922A0270922B0220E030E040E0F6 -:105210005FE36091641170916511809166119091C6 -:1052200067110F949A2469837A838B839C8380927D -:10523000A5139092A613A092A713B092A8138091E1 -:105240007B0290917C02A0917D02B0917E028093BE -:10525000A9139093AA13A093AB13B093AC13F601C8 -:1052600080819181A281B3818093AD139093AE131D -:10527000A093AF13B093B0138091830290918402F6 -:10528000A0918502B09186028093B1139093B213DE -:10529000A093B313B093B413CE0101960E94858AF4 -:1052A0000E944B8CFD81F1110FC020E030E040ECFA -:1052B0005FE3609168117091691180916A1190911A -:1052C0006B110F94242C04C060E070E080EA91E43C -:1052D00069837A838B839C83F70180819181A2818A -:1052E000B3818093A5139093A613A093A713B093B3 -:1052F000A813F80180819181A281B3818093A913C1 -:105300009093AA13A093AB13B093AC13F101208137 -:105310003181428153816091B1137091B2138091B8 -:10532000B3139091B4130F942A2B6093B11370931D -:10533000B2138093B3139093B413CE0101960E94DD -:10534000858A0E944B8C0F900F900F900F900F90BA -:10535000DF91CF911F910F91FF90EF90DF90CF9051 -:10536000BF90AF909F908F907F906F905F904F9085 -:105370003F902F9008952F923F924F925F926F929D -:105380007F928F929F92AF92BF92CF92DF92EF92D5 -:10539000FF920F931F93CF93DF93CDB7DEB7C35523 -:1053A000D1090FB6F894DEBF0FBECDBF8DE598E2F0 -:1053B0000F949D0A0E9497E881110C9465B284E5D0 -:1053C0000E940D8D882329F00E94898C81110E94F2 -:1053D000966C80E090E0A0E8BFE380939D139093EB -:1053E0009E13A0939F13B093A0138093A113909347 -:1053F000A213A093A313B093A4138DEC9CECACE484 -:10540000BEE38093991390939A13A0939B13B09348 -:105410009C1380E090E0A0E2B1E480936B12909343 -:105420006C12A0936D12B0936E128CE390E0909387 -:105430006A12809369128DEC90E0909368128093C9 -:105440006712109266124AE959E969E97EE38FE42E -:105450000E943BC86BAF7CAF8DAF9EAF60E083E432 -:105460000E941A8D60968FAF609760E08BE40E9477 -:105470001A8D61968FAF619782E40E940D8D88230B -:10548000C9F00E948D8C0F94962C70936A126093D1 -:1054900069126115710571F06852710965367105FF -:1054A00048F06CE870E08FE298E20F94620B8AE2B9 -:1054B00098E2AEC18CE40E940D8D882301F10E9418 -:1054C0008D8C6B017C016093991370939A13809378 -:1054D0009B1390939C1320E030E0A9010F948A2D38 -:1054E00087FD0AC020E030E040E050E4C701B6018B -:1054F0000F94342418161CF482E098E289C181E5E7 -:105500000E94C48C882351F18091F8119091F91177 -:10551000892B09F10E948D8C6B017C016093A11392 -:105520007093A2138093A3139093A4132DEC3CECDF -:105530004CE45DE30F948A2D87FD0AC020E030E043 -:1055400040E751E4C701B6010F943424181634F42F -:1055500081ED97E25DC186EA97E25AC183E50E9438 -:105560000D8D8823C9F00E948D8C4B015C012DECC0 -:105570003CEC4CEC5DE30F948A2D87FD0AC020E0E3 -:1055800030E040E050E4C501B4010F943424181613 -:1055900054F48FE797E23CC17DEC872E7CEC972E8C -:1055A000A92C7EE3B72E80E50E94C48C882371F17C -:1055B0008091F8119091F911892B19F487E497E201 -:1055C00027C1809166128F5F809366120E948D8C36 -:1055D0006B017C0160936B1270936C1280936D125F -:1055E00090936E1220E030E0A9010F948A2D87FD80 -:1055F0000AC020E030E048EC51E4C701B6010F9446 -:10560000342418161CF48FE197E202C186E40E944C -:105610000D8D8823C9F00E948D8C6B017C0120E0E8 -:1056200030E040E85FE30F948A2D87FD0AC020E058 -:1056300030E040E850E4C701B6010F943424181656 -:105640004CF486EF96E2E4C0C12CD12C60EEE62E3D -:105650006FE3F62EA7019601C701B6010F949A24B5 -:105660009B01AC0160E070E084E490E40F94242C92 -:1056700020919D1330919E1340919F135091A01340 -:105680000F949A242B013C01A5019401C501B4019A -:105690000F949A24A70196010F949A242CEE31E5D9 -:1056A00048EB5DE30F94242C9B01AC01C301B201D4 -:1056B0000F949A2460939D1370939E1380939F136D -:1056C0009093A01388E40E940D8D882381F00E949E -:1056D0008D8C0F94962C7093681260936712655AA4 -:1056E00071096838710518F088EC96E291C085E57B -:1056F0000E94C48C8823F1F00E94F1EE61157105BF -:105700008105910511F00F94C51F8091F8119091BA -:10571000F911892B19F00E948D8C04C060E070E0B3 -:1057200088E492E4609322127093231280932412EF -:105730009093251282E50E94C48C811103C084E9F4 -:1057400096E266C08091F8119091F911892B61F071 -:105750000E94898C2F969FAF8EAF2F97181619062F -:105760004CF080E696E254C02AE130E02F963FAF3D -:105770002EAF2F9788E50E940D8D882369F00E9437 -:105780008D8C2091B5133091B6134091B713509181 -:10579000B8130F94292B08C060917702709178029A -:1057A0008091790290917A0260931E1270931F1279 -:1057B000809320129093211289E50E940D8D8823F9 -:1057C00079F00E948D8C2091B9133091BA134091D9 -:1057D000BB135091BC130F94292BAB01BC0108C023 -:1057E00040917B0250917C0260917D0270917E021B -:1057F00040931A1250931B1260931C1270931D1247 -:105800008EE192E10E946DA5811105C086E396E2CA -:105810000F949D0A5AC684E40E94C48C91E08927A3 -:105820000F94130820E030E040EA50E460917F02DA -:105830007091800280918102909182020F943424B1 -:1058400087FF1CC0198A1A8A1B8A1C8A80E090E094 -:10585000A0EAB0E489839A83AB83BC83BE016F5E08 -:105860007F4FCE0101960E9405DF80E1E5EAF3E17A -:10587000A7E7B2E001900D928A95E1F730919D1271 -:1058800062963FAF629710929D120E94DAC185E145 -:1058900096E20F949D0A8091691290916A128A3162 -:1058A00091056CF480916712909168120E94ECD778 -:1058B00061E080E00E94FBD1811109C059C50E94BE -:1058C0003D8C81E00E947DD08111ECCF51C51092BA -:1058D000830210928402109285021092860283E85D -:1058E00092E00E942DBF809166128823B1F10E9440 -:1058F0004B8C2091B1133091B2134091B31350915E -:10590000B41360916B1270916C1280916D12909132 -:105910006E120F942A2B6093B1137093B21380937D -:10592000B3139093B41320E030E040E751E460916A -:1059300068117091691180916A1190916B110F94A7 -:10594000242C69837A838B839C83CE0101960E94E9 -:10595000858A0E944B8C0E9445EB80E2EAEFF1E1E0 -:10596000DF01282F1D922A95E9F7E6E4F2E1DF0135 -:10597000282F1D922A95E9F7E6E2F2E1DF011D9258 -:105980008A95E9F70E944B8C8091991390919A1314 -:10599000A0919B13B0919C138093AD139093AE1381 -:1059A000A093AF13B093B01319821A821B821C828A -:1059B0009E012F5F3F4F4DEA53E169EA73E185EAAB -:1059C00093E10E94A7A89E01255C3F4F4DEA53E159 -:1059D00069EA73E185EA93E10E94A7A86096BFADEA -:1059E0006097BB2329F06BE772E087E792E004C081 -:1059F0006AE172E18EE192E10E94AD8A298F3A8FCD -:105A00004B8F5C8F6D8F7E8F3FAF2D962FAF2D9775 -:105A10002D96EFAD2D97E7FD94C4FFADF7FD91C432 -:105A200020912D1430912E144E2F4203B001439F2C -:105A3000700D11248091231490912414680F791F04 -:105A4000072E000C880B990B0F943B242B013C0173 -:105A5000CB01D3018FAB98AFA9AFBAAF20912F1470 -:105A6000309130144FAD4203B001439F700D1124AB -:105A70008091251490912614680F791F072E000C31 -:105A8000880B990B0F943B24162F072FF82EE92E25 -:105A9000462F572F682F792FCE01C7960E946DA5EC -:105AA000882309F452C420E030E040EA50E4B20117 -:105AB000C3010F942A2BD62E272E382EC92E862FBF -:105AC000922DA32DBC2D8BAB9CABADABBEAB812F70 -:105AD000902FAF2DBE2D8FA798ABA9ABBAAB2D964B -:105AE0008FAD2D9781114AC09FAD91111FC020E04D -:105AF00030E040EA50E4612F702F8F2D9E2D0F94DF -:105B00002A2B21966FAF219723967FAF2397259657 -:105B10008FAF259727969FAF2797AFADD42C252C15 -:105B2000362CC72CAA2309F4C6C023C0C201D30156 -:105B30008BAB9CABADABBEAB20E030E040EA50E4B9 -:105B4000612F702F8F2D9E2D0F94292B6FA778AB6F -:105B500089AB9AABBFADB43054F221961FAF2197F9 -:105B600023960FAF23972596FFAE25972796EFAE86 -:105B70002797EFADE4300CF489C09DC02D96FFADA2 -:105B80002D97F4300CF453C02FAD24305CF020E09E -:105B900030E040EA50E4B201C3010F94292B362FC4 -:105BA000272F03C0342D252DC301432F522FBC01B5 -:105BB0004BAB5CAB6DAB7EAB3FAD31117DC420E038 -:105BC00030E040EA50E4B201C3010F94292BD62EF5 -:105BD000272E382EC92E20E030E040EA50E4612F15 -:105BE000702F8F2D9E2D0F942A2B6FA778AB89AB2A -:105BF0009AAB4FAD442309F452C020E030E040EAB4 -:105C000050E4612F702F8F2D9E2D0F94292B2196FC -:105C10006FAF219723967FAF239725968FAF259758 -:105C200027969FAF27978FAD843084F144C09FADF6 -:105C300091110FC020E030E040E251E46D2D722D53 -:105C4000832D9C2D0F94292BD62E272E382EC92E2E -:105C500011C0AFADA430C4F120E030E040E251E427 -:105C60006D2D722D832D9C2D0F94292B6BAB7CAB4E -:105C70008DAB9EAB21961FAF219723960FAF239735 -:105C80002596FFAE25972796EFAE279752ED852EE6 -:105C900053E5952E5BE7A52E51E4B52E29C021963C -:105CA0001FAF219723960FAF23972596FFAE259719 -:105CB0002796EFAE279742ED842E43E5942E4BEFC7 -:105CC000A42E40E4B42E14C021961FAF2197239632 -:105CD0000FAF23972596FFAE25972796EFAE279710 -:105CE00032ED832E33E5932E3BEFA32E31E4B32E1A -:105CF0008BA99CA9ADA9BEA92C968CAF9DAFAEAFC8 -:105D0000BFAF2C979C01AD01B201C3010F94292BA9 -:105D1000698B7A8B8B8B9C8B4FA458A869A87AA827 -:105D2000A3019201612F702F8F2D9E2D0F94292B8F -:105D30006D8B7E8B8F8B988F2C962CAD3DAD4EADA1 -:105D40005FAD2C9760917702709178028091790213 -:105D500090917A020F94292B2C966CAF7DAF8EAF69 -:105D60009FAF2C97A301920160917B0270917C02FE -:105D700080917D0290917E020F94292B2B013C0192 -:105D80008D2D922DA32DBC2D89839A83AB83BC834B -:105D900021968FAD219723969FAD23972596AFAD82 -:105DA00025972796BFAD27978D839E83AF83B887AE -:105DB0008091991390919A13A0919B13B0919C1389 -:105DC00089879A87AB87BC872DEC3CEC4CEC5CE375 -:105DD000C501B4010F949A2420919D1330919E1314 -:105DE00040919F135091A0130F949A242091830205 -:105DF0003091840240918502509186020F942A2BA3 -:105E00006D877E878F87988B2C962CAD3DAD4EADE0 -:105E10005FAD2C97CA01B9010F949A246B017C01E4 -:105E2000A3019201C301B2010F949A249B01AC011A -:105E3000C701B6010F942A2B20E030E040E050E487 -:105E40000F948A2D18160CF047C00E9445EB1BA238 -:105E50001CA21DA21EA220E030E040E05FE36091A2 -:105E60007F027091800280918102909182020F9452 -:105E70002A2B6F8F78A389A39AA39E012D5D3F4F94 -:105E8000AE01415E5F4F6BE772E087E792E00E94F0 -:105E9000A7A81BA21CA21DA21EA220E030E040E089 -:105EA0005FE36091991370919A1380919B13909185 -:105EB0009C130F942A2B6F8F78A389A39AA39E011A -:105EC0002D5D3F4FAE01415E5F4FBE01615D7F4F73 -:105ED000CE01C3960E94A7A81F8E18A219A21AA2CB -:105EE0009E01215E3F4F49E953E1BE01615D7F4F55 -:105EF000CE01C3960E94A7A80E9471EB4090650254 -:105F0000509066026090670270906802E0906011A5 -:105F1000F09061110091621110916311A0905C11D9 -:105F2000B0905D11C0905E11D0905F119501A601F7 -:105F3000B701C8010F948A2D181614F47501860153 -:105F400020E030E040E251E4B701C8010F94242C76 -:105F50006093650270936602809367029093680273 -:105F600040E0BE016F5E7F4FCE0101960E949DB55D -:105F700040926502509266026092670270926802D7 -:105F80000E944B8C22242394312CD1011197289606 -:105F9000BFAFAEAF2897812C912C540183942796E4 -:105FA0000FAC279704C0880C991CAA1CBB1C0A9430 -:105FB000D2F7412C512C32014394022C04C0440CE2 -:105FC000551C661C771C0A94D2F7482859286A2861 -:105FD0007B28E1E0F0E027960FAC279702C0EE0F98 -:105FE000FF1F0A94E2F72A96FFAFEEAF2A9726E248 -:105FF00032E126963FAF2EAF26978AEF91E12496A5 -:106000009FAF8EAF2497A6E4B2E12296BFAFAEAFAA -:106010002297C12CD12C2496EEADFFAD2497649627 -:10602000FFAFEEAF649780819181A0E0B0E0842162 -:106030009521A621B72184159505A605B70509F078 -:1060400099C02296AEADBFAD22978D919C91A0E0F4 -:10605000B0E088219921AA21BB21892B8A2B8B2B87 -:1060600009F088C00091231410912414E0902D149D -:10607000F0902E1428962EAD3FAD28972E9DB0019E -:106080002F9D700D3E9D700D1124600F711F6E5F6E -:106090007F4F072E000C880B990B0F943B246BA7A6 -:1060A0007CA78DA79EA72E9CB0012F9C700D3E9CB7 -:1060B000700D1124600F711F62507109072E000CC2 -:1060C000880B990B0F943B246BA37CA38DA39EA3F9 -:1060D00047E651E061E070E0CE018B960F94A20F8D -:1060E00080912F1490913014C89EB001C99E700DFC -:1060F000D89E700D11248091251490912614680F5C -:10610000791F161617060CF09BC1683631E073072D -:1061100014F067E671E0072E000C880B990B0F94C2 -:106120003B246F8F78A389A39AA36FA378A789A72D -:106130009AA747E651E061E070E0CE0183960F94A4 -:10614000A20F4FA158A569A57AA5CE018B960E94F2 -:106150006DA581117AC12296AEADBFAD22978D910A -:106160009C9111972A96EEADFFAD2A978E2B9F2B0F -:106170008D939C9324962EAD3FAD24972E5F3F4F79 -:1061800024963FAF2EAF24976496AEADBFAD649713 -:106190008D919C91A0E0B0E088219921AA21BB219A -:1061A000892B8A2B8B2B09F4A9C0F901808191815D -:1061B000A0E0B0E088219921AA21BB21892B8A2B5C -:1061C0008B2B09F49BC02696EEADFFAD2697808100 -:1061D0009181A0E0B0E088219921AA21BB21892BDF -:1061E0008A2B8B2B09F08AC000912514109126145C -:1061F000E0902F14F0903014CE9CB001CF9C700D25 -:10620000DE9C700D1124600F711F6E5F7F4F072E93 -:10621000000C880B990B0F943B246FA378A789A7D8 -:106220009AA7C60101968E9DB0018F9D700D9E9D0F -:10623000700D1124600F711F62507109072E000C40 -:10624000880B990B0F943B246F8F78A389A39AA393 -:1062500080912D1490912E1428962EAD3FAD289745 -:10626000289FB001299F700D389F700D11248091D7 -:10627000231490912414680F791F161617060CF03A -:10628000FDC0683631E0730714F067E671E0072E51 -:10629000000C880B990B0F943B246BA37CA38DA35C -:1062A0009EA36BA77CA78DA79EA747E651E061E060 -:1062B00070E0CE0187960F94A20F47E651E061E0AF -:1062C00070E0CE014F960F94A20F4FA158A569A57B -:1062D0007AA5CE018B960E946DA58111D4C0269619 -:1062E000AEADBFAD26978D919C9111972A96EEADDC -:1062F000FFAD2A978E2B9F2B8D939C93FFEFCF1A88 -:10630000DF0A26962EAD3FAD26972E5F3F4F26968D -:106310003FAF2EAF269722968EAD9FAD2297029665 -:1063200022969FAF8EAF229795E0C916D10409F04F -:1063300072CEAFEF2A1A3A0AB6E02B16310409F0F2 -:1063400024CE8091BD128093BE122F96EEADFFAD8C -:106350002F9731972F96FFAFEEAF2F97EF2B41F08E -:106360002D96FFAD2D97F7FD03C02FAD27FF36CB40 -:106370006FEF8AE296E20E9449F50E9445EB80E0C9 -:1063800090E0A0EAB0E48093AD139093AE13A09395 -:10639000AF13B093B01319821A821B821C829E0124 -:1063A0002F5F3F4F4DEA53E169EA73E185EA93E1DC -:1063B0000E94A7A880911E1290911F12A0912012F6 -:1063C000B09121128093A5139093A613A093A713C5 -:1063D000B093A81380911A1290911B12A0911C12D5 -:1063E000B0911D128093A9139093AA13A093AB139D -:1063F000B093AC1319821A821B821C829E012F5FFC -:106400003F4F4DEA53E169EA73E185EA93E10E9467 -:10641000A7A862963FAD629730939D120E94DAC1A1 -:1064200061964FAD6197411150C010928C09109246 -:106430008B090E944ED780E090E00E94ECD745C0C7 -:1064400060E070E080E89FE36CCE4F8D58A169A1B9 -:106450007AA1CE0183960E946DA5882309F47BCE94 -:106460009E01215E3F4FAE014D5D5F4FBE01695DF4 -:106470007F4FCE018B960E94A1EB6DCE60E070E065 -:1064800080E89FE30ACF4F8D58A169A17AA1CE0180 -:1064900083960E946DA5882309F421CF9E01215E79 -:1064A0003F4FAE014D5D5F4FBE01695D7F4FCE0135 -:1064B0008B960E94A1EB13CFFFADD42C252C362C4C -:1064C000C72CF4300CF099CB86CBCD5ADF4F0FB6EA -:1064D000F894DEBF0FBECDBFDF91CF911F910F911A -:1064E000FF90EF90DF90CF90BF90AF909F908F90F4 -:1064F0007F906F905F904F903F902F90089563E052 -:106500000C94F2E8CF93DF93E091410BF0E0E55E6D -:10651000F84E8081882309F447C084ED99E20F94F6 -:106520009D0AC091410B80E6C89FE0011124CF5322 -:10653000D64F88818E3479F480E20E94B9528991D5 -:106540000E94B952899190ED980F9A30C8F38D321C -:10655000B9F38B32A9F381ED99E20F949D0A8091F2 -:106560002B1690912C16891B8F706FE070E0681BC2 -:106570007109072E000C880B990B0E942D538EEC8D -:1065800099E20F949D0A8091420B64E070E0681BD1 -:106590007109072E000C880B990B0E942D538AE07D -:1065A000DF91CF910C94B952DF91CF9108959091E2 -:1065B000BE09E92FF0E0E55EF84E80839F5F9430DE -:1065C00018F49093BE0902C01092BE098091420B4C -:1065D0008F5F8093420B0895CF93DF93EC01888106 -:1065E000882349F18A3039F18D3029F18B33F9F064 -:1065F0008091420B8430D8F48091BE0920E6829FBE -:10660000C0011124BE018F53964F0F94882E80E055 -:106610000E94D7B20F94860BBE0181EC99E20F94D1 -:106620006F0B8EEB99E2DF91CF910D949D0A80E084 -:106630000E94E553D4CFDF91CF9108955F926F927E -:106640007F928F929F92AF92BF92CF92DF92EF9202 -:10665000FF920F931F93CF93DF93CDB7DEB76DB645 -:106660007EB67C0100E010E08DB69EB6F701E00F2B -:10667000F11F5490C80101965C01552029F09AE061 -:10668000591611F08501F2CF8DB79EB78A199B0973 -:106690000FB6F8949EBF0FBE8DBF01966C01A80186 -:1066A000B7010F946E23F601E00FF11F1082C601AF -:1066B0000E94ECB2552041F0EA0CFB1C0FB6F89496 -:1066C0009EBE0FBE8DBED0CF0FB6F8947EBE0FBE5D -:1066D0006DBEDF91CF911F910F91FF90EF90DF90F2 -:1066E000CF90BF90AF909F908F907F906F905F9072 -:1066F0000895CF92DF92EF92FF928AE50E940D8D6E -:10670000882321F10E948D8C6B017C0120E030E018 -:1067100040EA51EC0F948A2D87FD13C020E030E051 -:1067200040EA51E4C701B6010F94342418164CF026 -:10673000C092C913D092CA13E092CB13F092CC133B -:106740008FC00F94820B81EA99E228C088E50E94ED -:106750000D8D882349F10E948D8C6B017C0120E016 -:1067600030E044EB53EC0F948A2D87FD13C020E0FA -:1067700030E044EB53E4C701B6010F9434241816FB -:106780004CF0C092C113D092C213E092C313F092A6 -:10679000C41366C00F94820B81E899E2FF90EF90DA -:1067A000DF90CF900D949D0A89E50E940D8D88237E -:1067B00021F10E948D8C6B017C0120E030E044EBE4 -:1067C00053EC0F948A2D87FD13C020E030E044EB9A -:1067D00053E4C701B6010F94342418164CF0C0924C -:1067E000C513D092C613E092C713F092C81338C0F5 -:1067F0000F94820B81E699E2D1CF0F94860B4091E2 -:10680000C1135091C2136091C3137091C41380E5FA -:1068100099E20F94510B8AE00E94B9524091C5133E -:106820005091C6136091C7137091C8138FE399E21A -:106830000F94510B8AE00E94B9524091C9135091B4 -:10684000CA136091CB137091CC138EE299E20F942E -:10685000510B8AE0FF90EF90DF90CF900C94B952EB -:10686000FF90EF90DF90CF9008958F929F92AF921C -:10687000BF92CF92DF92EF92FF920F931F93CF932D -:1068800010924613109245132FE32093901210920A -:106890008F1210928E1210928A1210928B121092F6 -:1068A0008C1210928D129C01F90190812F5F3F4F45 -:1068B0009032D1F39E34C9F4818190ED980F9A30D3 -:1068C00020F08D3211F08B3281F4DF0112969D01A0 -:1068D0002F5F3F4F8C9180538A3010F4D901F7CF4E -:1068E000FD01119680818032D9F3F093BA0BE093C9 -:1068F000B90B8F010F5F1F4FC0816AE270E0C801C2 -:106900000F947D2E009731F0FC0131978081803209 -:10691000E1F31182CD3429F0C43519F0C73409F000 -:1069200000C1F80180810F5F1F4F8032D1F3805387 -:106930008A3008F0F6C0C093901210928F12109215 -:106940008E124AE080918E1290918F12489F900192 -:10695000499F300D112430938F1220938E1231965F -:10696000DF0111978C91082E000C990BC097820FB4 -:10697000931F90938F1280938E12208120532A3080 -:1069800008F3DF0131962C912032D9F3CD34D1F4C4 -:106990008E31910591F03CF48731910571F08C3185 -:1069A000910581F40AC08537910564F08737910518 -:1069B00024F0803A23E0920729F4B0934613A09381 -:1069C0004513AFC010924613109245131091B90BA6 -:1069D000C12CD12C7601C394FD0131964C914423F6 -:1069E00009F49FC04132A1F4CD3491F48032910575 -:1069F00079F4F0934613E093451363E270E0CF011E -:106A00000F947D2E009709F48CC0FC01108289C080 -:106A100041544A3108F059C0BF01FB0120816F5F2A -:106A20007F4F2032D1F330ED320F3A3010F12E3259 -:106A300011F421810CC02D3211F02B3259F4218137 -:106A400030ED320F3A30A8F02E3221F4228120535B -:106A50002A3078F02091451330914613232B09F00A -:106A60005DC09F0121503109309346132093451397 -:106A700055C09F01A42FB0E04601570104C0880C07 -:106A8000991CAA1CBB1C4A95D2F7B501A4018090A1 -:106A90008A1290908B12A0908C12B0908D1248297F -:106AA00059296A297B2940938A1250938B1260934B -:106AB0008C1270938D122115310511F0211B01C02C -:106AC00020E0A059BD4E2C930AC02091451330916F -:106AD0004613232B21F4B0934613A0934513208132 -:106AE00021542A3110F4DF0177CFAF01FA01DA0126 -:106AF0002D912223C1F330ED320F3A3010F4AD0165 -:106B0000F5CF33ED320F3230D0F32B32C1F3FA012F -:106B10004F5F5F4F20812032D1F3E5CF20E030E09E -:106B2000A9CFCF911F910F91FF90EF90DF90CF9061 -:106B3000BF90AF909F908F9008952F923F924F9269 -:106B40005F926F927F928F929F92AF92BF92CF92FD -:106B5000DF92EF92FF920F931F93CF93DF93CDB706 -:106B6000DEB7C454D1090FB6F894DEBF0FBECDBF57 -:106B70009AA789A77CAB6BAB142FDB018D909D90FE -:106B8000AD90BC9013972401350177FA709477F893 -:106B900070941496CD90DD90ED90FC901797A7011E -:106BA000960150582D8B3E8B4F8B588FA30192012D -:106BB000C301B2010F949A246D8F7E8F8F8F98A39B -:106BC0002D893E894F89588DCA01B9010F949A24A5 -:106BD0009B01AC016D8D7E8D8F8D98A10F942A2B1A -:106BE0000F94D82D6DAB7EAB8FAB98AF80917702B1 -:106BF00090917802A0917902B0917A028D8F9E8F48 -:106C0000AF8FB8A39C01AD01C501B4010F942A2B2D -:106C100069AF7AAF8BAF9CAF20917B0230917C0241 -:106C200040917D0250917E022DA33EA34FA358A711 -:106C3000C701B6010F942A2B21966CAF7DAF8EAFA2 -:106C40009FAF2197A9A5BAA58D919D910D90BC915B -:106C5000A02D89A39AA3ABA3BCA329AD3AAD4BAD9C -:106C60005CADBC01CD010F94292B6B017C01A9A562 -:106C7000BAA514962D913D914D915C9117972BA734 -:106C80003CA74DA75EA721962CAD3DAD4EAD5FADA7 -:106C900021976BA57CA58DA59EA50F94292B4B0153 -:106CA0005C0120917F0230918002409181025091DD -:106CB000820225962CAF3DAF4EAF5FAF2597A9A5B9 -:106CC000BAA518966D917D918D919C911B970F940B -:106CD000292B698F7A8F8B8F9C8FA7019601C30117 -:106CE000B2010F949A246FA778AB89AB9AABA50138 -:106CF00094016D897E898F89988D0F949A249B01C8 -:106D0000AC016FA578A989A99AA90F942A2B6FA71E -:106D100078AB89AB9AABA5019401C301B2010F9482 -:106D20009A244B015C01A70196016D897E898F89A8 -:106D3000988D0F949A249B01AC01C501B4010F9466 -:106D4000292B2FA538A949A95AA90F94A92B6B0162 -:106D50007C0120E030E0A9010F94342487FF0AC0B1 -:106D60002BED3FE049EC50E4C701B6010F942A2B0C -:106D70006B017C012BED3FE049EC50E4C701B6010B -:106D80000F94242C20E030E040EC51E40F949A243E -:106D90000F94082C0F949D2C1B01672B19F42224AF -:106DA0002394312C112351F02BED3FE049EC50E4BA -:106DB000C701B6010F94292B6B017C0120E030E064 -:106DC000A901C701B6010F943424811123C029A160 -:106DD0003AA14BA15CA16D8D7E8D8F8D98A10F94F2 -:106DE0003424811117C02BA53CA54DA55EA56DA12E -:106DF0007EA18FA198A50F94342481110BC038E196 -:106E0000232E312C4BEDC42E4FE0D42E49ECE42E32 -:106E100040E4F42E2DA93EA94FA958ADC701B601F3 -:106E20000F949A244B015C0120E030E0A901698DA8 -:106E30007A8D8B8D9C8D0F9434248823D9F0A501F5 -:106E40009401C501B4010F949A244B015C01298D72 -:106E50003A8D4B8D5C8DCA01B9010F949A249B0128 -:106E6000AC01C501B4010F942A2B0F94D82D4B010E -:106E70005C010DC020E030E0A901C501B4010F9410 -:106E80008A2D87FF04C0B7FAB094B7F8B0942FE604 -:106E900032E143E85AE3C501B4010F94342487FD7D -:106EA000F8C1209183023091840240918502509173 -:106EB000860229A33AA34BA35CA3C501B4010F9496 -:106EC000CC2C0F949D2C7EA36DA36215730510F43A -:106ED0003EA22DA2ADA1BEA1BD0180E090E00F9425 -:106EE00039244B015C019B01AC01C701B6010F9431 -:106EF000242C6D8F7E8F8F8F98A3A5019401698DAF -:106F00007A8D8B8D9C8D0F94242C6DAB7EAB8FABCB -:106F100098AF29A13AA14BA15CA1E9A5FAA5648586 -:106F20007585868597850F94292BA50194010F946B -:106F3000242C6FA778AB89AB9AAB2D8D3E8D4F8DEE -:106F400058A1CA01B9010F949A2420E030E040E032 -:106F50005FE30F949A249B01AC0160E070E080E84D -:106F60009FE30F94292B6BA77CA78DA79EA725963F -:106F70002CAD3DAD4EAD5FAD259729873A874B8748 -:106F80005C8789A19AA1ABA1BCA18D879E87AF87A1 -:106F9000B88B60915F0270916002072E000C880B25 -:106FA000990B0F943B242091650230916602409129 -:106FB0006702509168020F949A242AE037ED43E269 -:106FC0005CE30F949A24698B7A8B8B8B9C8B0E9449 -:106FD000F1EE9B01AC0128533F4F4F4F5F4F29A368 -:106FE0003AA34BA35CA322242394312C39E1398F9B -:106FF0004DA15EA12416350608F01FC10F941F1085 -:107000000E94F1EEDC01CB0129A13AA14BA15CA1C8 -:10701000821B930BA40BB50BB7FD0FC00E94F1EEC2 -:107020009B01AC0128533F4F4F4F5F4F29A33AA319 -:107030004BA35CA380E00E94E553398D3150398F1A -:107040003323E9F12BA53CA54DA55EA56D897E896D -:107050008F89988D0F949A246B017C012D8D3E8D24 -:107060004F8D58A1C301B2010F949A24A701960134 -:107070000F942A2B6B017C012BA53CA54DA55EA589 -:10708000C301B2010F949A244B015C012D8D3E8DFA -:107090004F8D58A16D897E898F89988D0F949A2480 -:1070A0009B01AC01C501B4010F94292B2B013C01BC -:1070B000C601D7018D8B9E8BAF8BB88F66C0B10197 -:1070C00080E090E00F9439242D8D3E8D4F8D58A196 -:1070D0000F949A246B017C010F941F2C6D8B7E8B77 -:1070E0008F8B988FC701B6010F94CA2D4B015C019D -:1070F000ABA9BCA9CD90DD90ED90FC901397F7FA69 -:10710000F094F7F8F09414962D913D914D915C9187 -:107110001797298F3A8F4B8F5C8FA70196016D8946 -:107120007E898F89988D0F949A242B013C01298D9B -:107130003A8D4B8D5C8DC501B4010F949A249B014F -:10714000AC01C301B2010F942A2B2B013C01A70112 -:107150009601C501B4010F949A246B017C01298D1D -:107160003A8D4B8D5C8D6D897E898F89988D0F94BA -:107170009A249B01AC01C701B6010F94292B6D8B9A -:107180007E8B8F8B988FB9E1B98F29AD3AAD4BAD1E -:107190005CADC301B2010F942A2B69837A838B8380 -:1071A0009C8321962CAD3DAD4EAD5FAD21976D8991 -:1071B0007E898F89988D0F942A2B6D837E838F8390 -:1071C00098872DA93EA94FA958AD69857A858B85E9 -:1071D0009C850F942A2B69877A878B879C872FA59C -:1071E00038A949A95AA96D857E858F8598890F94FC -:1071F0002A2B6D877E878F87988BCE0101960E9400 -:1072000088DAC12CD12C90E8E92E9FE3F92E8E016B -:107210000F5E1F4F9E01235F3F4FAE01475F5F4FE1 -:10722000BE016B5F7F4FCE0101960E94BF7E882317 -:1072300021F0EFEF2E1A3E0ADBCE80E1E9A5FAA598 -:10724000DE01119601900D928A95E1F7CE0101962B -:107250000E9488DAC12CD12C80E8E82E8FE3F82E2A -:107260008E010F5E1F4F9E01235F3F4FAE01475FB0 -:107270005F4FBE016B5F7F4FCE0101960E94BF7EC4 -:1072800080E1FE013196A7E7B2E001900D928A9568 -:10729000E1F7CC5BDF4F0FB6F894DEBF0FBECDBF7A -:1072A000DF91CF911F910F91FF90EF90DF90CF90E2 -:1072B000BF90AF909F908F907F906F905F904F9016 -:1072C0003F902F900895CF92DF92EF92FF921F93FD -:1072D000CF93DF93C0914513D091461380E50E9470 -:1072E0000D8D882359F00E94B5A46B017C0111E03B -:1072F000672B682B692B31F410E004C010E0C12C1F -:10730000D12C760183E50E940D8D882309F465C098 -:107310000E948D8C20E030E04AE754E40F949A24D8 -:107320000F949D2C6B017C01111109C0672B682BF8 -:10733000692B29F4209719F08881811102C010E08F -:1073400001C011E00E941CBF112311F0CE0102C048 -:1073500086E097E00E9411C8C0916F1283E080938D -:107360006F1281E08093141443E159E26CE179E2F9 -:1073700082E00E94E98D81E099E20E9411C8C11467 -:10738000D104E104F104A9F00E94F1EEC60ED71E6B -:10739000E81EF91E0E94F1EEDC01CB018C199D095B -:1073A000AE09BF09B7FF0DC080911414811118C038 -:1073B00008C080911414882321F080E00E94E553D6 -:1073C000F8CF10921414C0936F12DF91CF911F91D8 -:1073D000FF90EF90DF90CF9008951111B0CFAACF1A -:1073E00080E00E94E553D6CF0F931F93CF938C017B -:1073F000C62F8CEF98E20F949D0AC8010F949D0A46 -:107400008AE30E94B9526C2F70E080E090E00E9405 -:107410002D53CF911F910F910C94BE53EF92FF9279 -:107420001F93CF93DF93CDB7DEB7C454D1090FB606 -:10743000F894DEBF0FBECDBF84E40E94C48C8823C5 -:1074400009F44DC182EF98E20F949D0A2091B51383 -:107450003091B6134091B7135091B81360917702F1 -:10746000709178028091790290917A020F942A2B80 -:1074700069AF7AAF8BAF9CAF2091B9133091BA133B -:107480004091BB135091BC1360917B0270917C02C0 -:1074900080917D0290917E020F942A2B21966CAFF1 -:1074A0007DAF8EAF9FAF21972091BD133091BE135A -:1074B0004091BF135091C01360917F027091800280 -:1074C00080918102909182020F942A2B25966CAFB5 -:1074D0007DAF8EAF9FAF2597CE01C9960E947FB238 -:1074E00089EE98E20F949D0A87E792E00E947FB2AE -:1074F0008091770290917802A0917902B0917A02FE -:107500008DA79EA7AFA7B8AB80917B0290917C021C -:10751000A0917D02B0917E0289AB9AABABABBCABC4 -:1075200080917F0290918002A0918102B0918202AD -:107530008DAB9EABAFABB8AF80EE98E20F949D0AD7 -:10754000AE014B5C5F4FBE016F5C7F4FCE018D96ED -:107550000E9464C1CE018D960E947FB287ED98E2B1 -:107560000F949D0A8DA59EA5AFA5B8A989A39AA33E -:10757000ABA3BCA389A99AA9ABA9BCA98DA39EA3BF -:10758000AFA3B8A78DA99EA9AFA9B8AD89A79AA79F -:10759000ABA7BCA7CE0181960E942DC1CE018196DA -:1075A0000E947FB20E941CBF8EEC98E20F949D0A4D -:1075B00085E0E82E83E0F82E10E080E20E94B952C8 -:1075C000F70181917F010E94B9528AE30E94B9526A -:1075D000812F0F944E140E942D531F5F143069F7B2 -:1075E0008AE00E94B95285EC98E20F949D0A0E94AD -:1075F00024DF80916F1390917013A0917113B0915B -:107600007213898B9A8BAB8BBC8B80917313909187 -:107610007413A0917513B09176138D8B9E8BAF8BE5 -:10762000B88F8091771390917813A0917913B091CE -:107630007A13898F9A8FAB8FBC8F83E00E949AC098 -:107640006D8F7E8F8F8F98A364E0CE0141960E944C -:10765000F2E82DA53EA54FA558A969897A898B899D -:107660009C890F94292B69837A838B839C8329A916 -:107670003AA94BA95CA96D897E898F89988D0F9451 -:10768000292B6D837E838F8398872DA93EA94FA9CF -:1076900058AD698D7A8D8B8D9C8D0F94292B6987C0 -:1076A0007A878B879C872091830230918402409156 -:1076B0008502509186026D8D7E8D8F8D98A10F94DD -:1076C000292B6D877E878F87988B8CEB98E20F94A0 -:1076D0009D0A64E0CE0101960E94F2E804C00E9477 -:1076E0001CBF0E94B0DFCC5BDF4F0FB6F894DEBF4B -:1076F0000FBECDBFDF91CF911F91FF90EF90089506 -:107700004F925F926F927F928F929F92AF92BF92B1 -:10771000CF92DF92EF92FF920F931F93CF93DF935D -:10772000CDB7DEB77C014DB65EB66090B90B7090F8 -:10773000BA0B8DB69EB66AE070E0C7010F9477234E -:107740006C01009721F08C010E191F0904C0C701BC -:107750000F9482238C01C80101962DB73EB7281BD8 -:10776000390B0FB6F8943EBF0FBE2DBF8DB79EB735 -:1077700001965C01A801B7010F94A323F501E00F66 -:10778000F11F1082C5010E9435B481E00E94733957 -:10779000C114D10451F076019FEFE91AF90A0FB62E -:1077A000F8949EBE0FBE8DBEC4CF0FB6F8949EBE99 -:1077B0000FBE8DBEC3010E9435B40FB6F8945EBEF5 -:1077C0000FBE4DBEDF91CF911F910F91FF90EF90B3 -:1077D000DF90CF90BF90AF909F908F907F906F90F1 -:1077E0005F904F900895CF93DF93C091410B80E657 -:1077F000C89FE0011124CF53D64F8091371180FFED -:1078000005C00F94860BCE010E94C453CE010E9486 -:1078100035B480E0DF91CF910C9473398F929F92B1 -:10782000AF92BF92CF92DF92EF92FF92CF93DF930E -:10783000EC018090B7189090B818A090B918B0904B -:10784000BA1820E030E0A901C501B4010F94342436 -:10785000882309F44AC0C880D980EA80FB80A70148 -:107860009601C501B4010F94342418160CF042C0DF -:107870002091AE183091AF184091B0185091B118C6 -:10788000C701B6010F943424882331F1C092AE1899 -:10789000D092AF18E092B018F092B1182091B218BF -:1078A0003091B3184091B4185091B518688179811E -:1078B0008A819B810F949A249B01AC0160E070E067 -:1078C00080E89FE30F94292B60932C0270932D0284 -:1078D00080932E0290932F0260912C0270912D02C2 -:1078E00080912E0290912F0208C060E070E080E845 -:1078F0009FE303C060E070E0CB01DF91CF91FF9088 -:10790000EF90DF90CF90BF90AF909F908F900895B1 -:1079100080912B1690912C16891B8F708F3021F43B -:1079200080E00E94E553F4CF80912B168F5F8F701B -:10793000E0912B1693E59E9FF0011124EB5FF34F2E -:10794000DF011D929A95E9F798E0908340915116D6 -:10795000509152166091531670915416458B568B68 -:10796000678B708F4091551650915616609157163F -:1079700070915816418F528F638F748F40915916B2 -:1079800050915A1660915B1670915C16458F568F18 -:10799000678F70A340915D1650915E1660915F16DF -:1079A0007091601641A352A363A374A320912B1678 -:1079B00090912C16291303C094E690932816809377 -:1079C0002B1680916F00826080936F000895CF9393 -:1079D000DF93C091B81289E197E00E94C45380916F -:1079E000B312873009F445C083E08093B21281E07E -:1079F00080933E0280E190E09093BE168093BD1686 -:107A000085E08093B116D2E8D093B41684E190E17A -:107A1000A0E0B0E08093B5169093B616A093B71689 -:107A2000B093B8160F94D10261E070E080E090E06E -:107A30000E94F2C681E09AE59093BE168093BD162F -:107A400085E390E09093C0168093BF1687E0809303 -:107A5000B116D093B41684E890E0A0E0B0E0809333 -:107A6000B5169093B616A093B716B093B8160F94A8 -:107A7000D102C13081F1C23059F40E94F9F3609310 -:107A8000AA127093AB128093AC129093AD1202C005 -:107A90000E942DF481E08093B8120E94F1EE609371 -:107AA000A6127093A7128093A8129093A912C230C5 -:107AB000A1F080919E0990919F09019690939F0952 -:107AC00080939E091092B9121092BA121092BB12B2 -:107AD0001092BC1202C080E001C081E0DF91CF9122 -:107AE0000895CF93DF9300D01F92CDB7DEB780917A -:107AF0009D098823A9F083E390E09C838B831A82FD -:107B000019829E012F5F3F4F40E150E06EE979E01E -:107B1000CE0103960E94BC5081E397E00E94C453BB -:107B20000F900F900F900F90DF91CF910895CF920B -:107B3000DF92EF92FF920F931F938091B8128150C2 -:107B4000823010F080E0A7C08DE697E00E94C45319 -:107B50008091B312833009F441C081E597E00E941F -:107B6000C4538DE597E00E94C45340E060E070E0AC -:107B7000CB010E94EFF541E060E070E0CB010E9494 -:107B8000EFF581E0809305021092B11221E030E020 -:107B90003093B0122093AF1280933E0281E09AE5B9 -:107BA0009093BE168093BD168DE290E09093C01620 -:107BB0008093BF1687E08093B11682E88093B41655 -:107BC00084E890E0A0E0B0E08093B5169093B616FC -:107BD000A093B716B093B8160F94D1021092B812B2 -:107BE0000E94F1EE6093B4127093B5128093B612B6 -:107BF0009093B7128091A0099091A109019690935A -:107C0000A1098093A009C090B912D090BA12E09057 -:107C1000BB12F090BC120E94F9F36093B9127093FA -:107C2000BA128093BB129093BC120091A2091091DA -:107C3000A3092091A4093091A5090C191D092E0949 -:107C40003F09DC01CB01800F911FA21FB31F80935E -:107C5000A2099093A309A093A409B093A5090E9437 -:107C6000F9F30091A6091091A7092091A809309174 -:107C7000A909061717072807390750F40E94F9F3D6 -:107C80006093A6097093A7098093A8099093A90906 -:107C90000E9471BD81E01F910F91FF90EF90DF90E6 -:107CA000CF900895CF93DF9300D01F921F92CDB74E -:107CB000DEB781E080939D09EEE9F9E080E1DF0124 -:107CC0001D928A95E9F70E9471BD86E18D8382E35A -:107CD00090E09C838B831A8219829E012F5F3F4F15 -:107CE00041E050E0BE016B5F7F4FCE0103960E94E2 -:107CF000BC500F900F900F900F900F90DF91CF918D -:107D00000895CF92DF92EF92FF920F931F93CF933C -:107D1000DF93C8E3D1E10FEB1BE0C12CD12C76013E -:107D2000C39469917991899199910F943924288903 -:107D300039894A895B890F949A240F949D2CF80104 -:107D400061937193819391938F01C616D706E806CC -:107D5000F90610F46B017C01F1E1C834DF0709F783 -:107D60006FEF7FEFCB01A70196010F948A2A209332 -:107D7000CF0B3093D00B4093D10B5093D20B23EF0A -:107D800034E045E35FE36091BB0B7091BC0B8091E5 -:107D9000BD0B9091BE0B0F949A246B017C016091F6 -:107DA00044117091451180914611909147110F94A3 -:107DB00039249B01AC01C701B6010F949A2429E72D -:107DC00032E84AE550E40F949A240F94D82D60933A -:107DD000D30B7093D40B8093D50B9093D60BDF917C -:107DE000CF911F910F91FF90EF90DF90CF9008956A -:107DF0000F931F93CF93DF930CE411E1C9EDDBE008 -:107E0000F80121913191419151918F0160E070E031 -:107E100080E89FE30F94242C699379938993999335 -:107E2000FBE0C93EDF0761F70E94277FDF91CF911A -:107E30001F910F910C9481BE90912B1680912C165E -:107E4000981306C08091351190913611892B21F03D -:107E500080E00E94E553F0CF0895CF92DF92EF9239 -:107E6000FF92FC01C080D180E280F3802091581104 -:107E70003091591140915A1150915B11C701B601CF -:107E80000F949A240F94972D60935D1670935E164D -:107E900080935F1690936016C0924D16D0924E1646 -:107EA000E0924F16F092501690912B1680912C165E -:107EB000981731F0FF90EF90DF90CF900C9488BC32 -:107EC0000E941CBF80916F00982F927081FF05C0A7 -:107ED00080916F008D7F80936F0040915D1650916F -:107EE0005E1660915F16709160164093531E50931A -:107EF000541E6093551E7093561E992329F080914D -:107F00006F00826080936F00FF90EF90DF90CF90C2 -:107F100008958F929F92AF92BF92EF92FF920F932C -:107F20001F93CF93DF937B018A01E901FC018080DD -:107F30009180A280B38020914C1130914D114091DD -:107F40004E1150914F11C501B4010F949A240F9412 -:107F5000972D6093511670935216809353169093F9 -:107F6000541620915011309151114091521150915D -:107F70005311F70160817181828193810F949A245A -:107F80000F94972D6093551670935616809357163D -:107F900090935816209154113091551140915611DB -:107FA00050915711F80160817181828193810F9402 -:107FB0009A240F94972D6093591670935A168093B4 -:107FC0005B1690935C162091581130915911409195 -:107FD0005A1150915B11688179818A819B810F943C -:107FE0009A240F94972D60935D1670935E1680937C -:107FF0005F16909360168092411690924216A0925E -:108000004316B0924416F70180819181A281B38119 -:108010008093451690934616A0934716B093481642 -:10802000F80180819181A281B38180934916909358 -:108030004A16A0934B16B0934C1688819981AA8159 -:10804000BB8180934D1690934E16A0934F16B0931C -:10805000501690912B1680912C16981761F0DF9195 -:10806000CF911F910F91FF90EF90BF90AF909F9095 -:108070008F900C9488BC0E941CBF80916F00982F39 -:10808000927081FF05C080916F008D7F80936F009B -:10809000409151165091521660915316709154169A -:1080A0004093471E5093481E6093491E70934A1E8A -:1080B000409155165091561660915716709158166A -:1080C00040934B1E50934C1E60934D1E70934E1E5A -:1080D0004091591650915A1660915B1670915C163A -:1080E00040934F1E5093501E6093511E7093521E2A -:1080F00040915D1650915E1660915F16709160160A -:108100004093531E5093541E6093551E7093561EF9 -:10811000992329F080916F00826080936F00DF9136 -:10812000CF911F910F91FF90EF90BF90AF909F90D4 -:108130008F900895CF93DF93C82F0F944E1424E0AF -:10814000C29FE0011124C752D44F0F943B242881D1 -:1081500039814A815B810F949A24DF91CF910895F0 -:1081600090912B1680912C16981306C08091351192 -:1081700090913611892B21F080E00E94E553F0CFD9 -:108180005F9A8091A5148E7F8093A5148A9A80911E -:10819000A5148D7F8093A51480910801809581702E -:1081A000809306018091A5148B7F8093A5140C9475 -:1081B0002850CF93DF9390916F00292F227091FF69 -:1081C00005C090916F009D7F90936F0094E0899F10 -:1081D000A0011124FA01E55CF14E60817181828178 -:1081E0009381222329F020916F00226020936F0059 -:1081F000EA01C752D44F0F943B24288139814A8128 -:108200005B810F949A24DF91CF91089580916F0044 -:10821000982F927081FF05C080916F008D7F8093B1 -:108220006F0080912C1680932B1680932A168093D2 -:10823000291684E68093281628EE33E03093361111 -:1082400020933511992329F080916F0082608093EB -:108250006F0081E080933A1E0895CF92DF92EF92F3 -:10826000FF92CF93DF932091B618222331F1EC01D6 -:1082700008960E940EBC6B017C0120E030E0A90151 -:108280000F943424882361F0CE010F94FA059B01EA -:10829000AC01C701B6010F949A249B01AC0103C045 -:1082A00020E030E0A901688579858A859B850F9457 -:1082B000292B688779878A879B87DF91CF91FF90E9 -:1082C000EF90DF90CF9008954F925F926F927F92E0 -:1082D000AF92BF92CF92DF92EF92FF920F931F93D4 -:1082E000CF93DF93CDB7DEB72C970FB6F894DEBFF0 -:1082F0000FBECDBF2091B618222309F446C08A01D3 -:108300007B016C01CA010E940EBC2B013C01CE0115 -:1083100001965C018CE0F50111928A95E9F7F6016E -:1083200080819181A281B38189839A83AB83BC834D -:10833000F70180819181A281B3818D839E83AF8378 -:10834000B88720E030E0A901C301B2010F943424C2 -:10835000882361F0C5010F94FA059B01AC01C301AC -:10836000B2010F949A249B01AC0103C020E030E0DD -:10837000A901F80160817181828193810F942A2B78 -:10838000F80160837183828393832C960FB6F894EF -:10839000DEBF0FBECDBFDF91CF911F910F91FF9038 -:1083A000EF90DF90CF90BF90AF907F906F905F90F5 -:1083B0004F900895CF92DF92EF92FF9280919D129D -:1083C000882371F1C090A212D090A312E090A41261 -:1083D000F090A51220E030E0A901C701B6010F948A -:1083E00034248823E9F020E030E040E05FE3C70177 -:1083F000B6010F949A249B01AC010F949A242BEDA3 -:108400003FE049E450E40F949A249B01AC0160E002 -:1084100070E080E89FE30F94242C6B017C0106C080 -:10842000C12CD12C80E8E82E8FE3F82EC0929E124A -:10843000D0929F12E092A012F092A11260913002AD -:1084400070913102072E000C880B990B0F943B247E -:108450002AE037ED43E25CE30F949A24A7019601EA -:108460000F949A246093150270931602809317025A -:1084700090931802FF90EF90DF90CF9008954F9265 -:108480005F926F927F928F929F92AF92BF92CF92A4 -:10849000DF92EF92FF920F931F93CF93DF93CDB7AD -:1084A000DEB768970FB6F894DEBF0FBECDBF8C0164 -:1084B0005B015A834983FC01EF5BFF4F608171814F -:1084C000828193810F9439246B017C01D5012D9118 -:1084D0003D914D915C910F949A240F94082C0F9428 -:1084E0009D2C69877A878B879C87E981FA81208117 -:1084F000318142815381C701B6010F949A240F94B0 -:10850000082C0F949D2C6D877E878F87988B2985EB -:108510003A854B855C85283731054105510540F486 -:1085200088E790E0A0E0B0E089879A87AB87BC87B6 -:108530002D853E854F8558892837310541055105E0 -:1085400040F488E790E0A0E0B0E08D879E87AF8799 -:10855000B88BF801E35BFF4F208131814281538169 -:1085600029833A834B835C83CA01B9010F943B246E -:108570002B013C0169857A858B859C850F94392474 -:10858000698B7A8B8B8B9C8B20E030E0A901C30137 -:10859000B2010F943424882329F1A7019601C70161 -:1085A000B6010F949A244B015C0129893A894B89C1 -:1085B0005C89CA01B9010F949A249B01AC01C501E1 -:1085C000B4010F94292B4B015C01A3019201C3015B -:1085D000B2010F942A2B9B01AC01C501B4010F9489 -:1085E000242C03C060E070E0CB010F94082C0F94A2 -:1085F0009D2C6D837E838F83988769817A818B819F -:108600009C8190958095709561957F4F8F4F9F4F7E -:108610000F943B244B015C016D857E858F85988985 -:108620000F94392469837A838B839C8320E030E024 -:10863000A901C501B4010F943424882349F129818B -:108640003A814B815C81CA01B9010F949A246D8BE8 -:108650007E8B8F8B988FA7019601C701B6010F946F -:108660009A249B01AC016D897E898F89988D0F9426 -:10867000292B6B017C01A5019401C501B4010F9464 -:108680002A2B9B01AC01C701B6010F94242C03C017 -:1086900060E070E0CB010F94CC2CD80195968D90C2 -:1086A0009D90AD90BC909897750164012D813E819D -:1086B0004F815885C21AD30AE40AF50A0F949D2CFB -:1086C000C61AD70AE80AF90AF7FE75C020E030E0BA -:1086D000A901C301B2010F943424882309F443C0D3 -:1086E000C501B4010F9439246B017C01A3019201EF -:1086F000C301B2010F942A2B9B01AC01C701B60143 -:108700000F949A246B017C0129893A894B895C89F1 -:10871000CA01B9010F949A249B01AC01C701B601AB -:108720000F94292B6B017C0129813A814B815C815B -:10873000CA01B9010F949A249B01AC01C701B6018B -:108740000F942A2B6B017C0120E030E040E850E4DC -:10875000C301B2010F949A249B01AC01C701B60179 -:108760000F94242C03C060E070E0CB010F94082C20 -:108770007B018D83998320E030E0A9010F948A2D3D -:10878000181624F0E12CF12C1D821982B7018D817D -:1087900099810F949D2C6D837E838F839887861695 -:1087A0009706A806B90620F48D829E82AF82B8860D -:1087B000C12CD12C76018D819E81AF81B885F801C5 -:1087C00081A792A7A3A7B4A7C80ED91EEA1EFB1EB5 -:1087D000C5A6D6A6E7A6F0AAEB5BFF4F29853A858A -:1087E0004B855C85208331834283538334968D850A -:1087F0009E85AF85B88980839183A283B383689671 -:108800000FB6F894DEBF0FBECDBFDF91CF911F91A1 -:108810000F91FF90EF90DF90CF90BF90AF909F901F -:108820008F907F906F905F904F9008954F925F92DE -:108830006F927F928F929F92AF92BF92CF92DF9270 -:10884000EF92FF920F931F93CF93C82FE82EF12C36 -:10885000F701E45DF54DB490823049F481E00E9467 -:10886000FB9C811106C10E94D991811102C167014F -:10887000CC0CDD1CCC0CDD1CF601E05EF54D45900A -:108880005590659074906B2DBB0C770B880B990BF2 -:108890000F943B244B015C0120E030E040EC5FE3AF -:1088A000C301B2010F949A24A50194010F949A2454 -:1088B000AB01BC0100E010E098018C2F0E94B2D9FE -:1088C000C23009F0CAC00E948A91E0E070E060EA1C -:1088D00080E42E2F372F462F582FC501B4010F9457 -:1088E0009A244B015C0120E030E0A9010F9434246C -:1088F000882309F44EC0C23021F000E010E0980156 -:1089000004C000E010E020E830E4B501A401705894 -:108910008C2F0E94B2D9C23051F40E94D99181119A -:10892000A8C0412C512C612C90E4792E21C0F70174 -:10893000EF5EF54D6491611107C00F94860B8FEEC9 -:1089400099E20F949D0A6AE0F601ED51F64D4590CB -:1089500055906590749070E080E090E00F943B2417 -:108960009B01AC01C301B2010F94242C2B013C01EB -:10897000A5019401C501B4010F942A2BAB01BC01E0 -:10898000930182018C2F0E94B2D9C23011F40E944F -:108990008A9181E090E00C2E01C0880F0A94EAF7DA -:1089A0009091A514982B9093A5149091CD13892B99 -:1089B0008093CD13F601E952F64D85919591A591DD -:1089C000B491F601E958FD4F80839183A283B3836C -:1089D000C230D1F42091C9133091CA134091CB1306 -:1089E0005091CC1360917F0270918002809181023E -:1089F000909182020F94292B60937F0270938002E2 -:108A000080938102909382021092A4141092A31476 -:108A10000E94AEDFF601EB55FC4ED601A958BD4FC2 -:108A20008D919D910D90BC91A02D80839183A28307 -:108A3000B383C230F1F480E0CF911F910F91FF908A -:108A4000EF90DF90CF90BF90AF909F908F907F90EE -:108A50006F905F904F900C94FB9CF601EC5EF54D8F -:108A600085919591A591B491E82F792F6A2F8B2F3D -:108A700030CFCF911F910F91FF90EF90DF90CF906B -:108A8000BF90AF909F908F907F906F905F904F902E -:108A90000895CF93DF9324E0829FC0011124EC015D -:108AA000CB54DC4EFC01EE54F64FDC01AF56BD4E0C -:108AB0002D913D914D915C91608171818281938175 -:108AC0000F942A2B688379838A839B83DF91CF91CC -:108AD00008958091090180FD06C08091391883FBBB -:108AE000882780F9089580E008950F931F93CF930E -:108AF000DF938B01D82FC92F4630C1F41092531346 -:108B0000109254131092551310925613109257133B -:108B10000E944ED720E030E04CE053E4B8018D2FA6 -:108B20009C2F0F94342487FD0FC01DC00E9438F67F -:108B300020E030E046E953E4B8018D2F9C2F0F94DC -:108B4000342487FD20C02EC020E030E0A901B80108 -:108B50008D2F9C2F0F948A2D18164CF000E010E0FA -:108B6000D0E0C0E004C000E010E0DCE0C3E4B80105 -:108B70008D2F9C2F0F94962CCB01DF91CF911F91BD -:108B80000F910C943D8C20E030E0A901B8018D2FAD -:108B90009C2F0F948A2D18164CF000E010E0D0E0C6 -:108BA000C0E004C000E010E0D6E9C3E4B8018D2FB6 -:108BB0009C2F0F94962CCB01DF91CF911F910F9199 -:108BC0000C94ECD79091A514977081E0973009F040 -:108BD00080E0089580912B1690912C16891B8F7040 -:108BE00069F48091420B811109C081E02091BF0995 -:108BF0003091C009232B19F480E0089581E0089595 -:108C00003F924F925F926F927F928F929F92AF921C -:108C1000BF92CF92DF92EF92FF920F931F93CF9369 -:108C2000DF93CDB7DEB762970FB6F894DEBF0FBE05 -:108C3000CDBF2B013C01342E24E0429FC001112402 -:108C40009A8B898BFC01E958FD4FC080D180E2806E -:108C5000F38020E030E04AE754E4C701B6010F9406 -:108C6000292B4B015C0120E030E04AE754E4C701C6 -:108C7000B6010F942A2B7B018C0180915E02882320 -:108C8000D1F181E0381639F13816A0F092E03912AE -:108C900032C08090560290905702A0905802B09037 -:108CA0005902E0905A02F0905B0200915C02109130 -:108CB0005D0221C08090460290904702A090480239 -:108CC000B0904902E0904A02F0904B0200914C02B1 -:108CD00010914D0210C080904E0290904F02A090D3 -:108CE0005002B0905102E0905202F0905302009175 -:108CF00054021091550280E1E5EFF2E0DE01119699 -:108D000001900D928A95E1F7E1E0F0E0EC0FFD1F94 -:108D100089899A89E80FF91F20E030E040E752E4A2 -:108D200060817181828193810F94242C609365020C -:108D30007093660280936702909368028091A614F4 -:108D400081FF0E944B8C9201A301B701C8010F94CF -:108D50008A2D181614F4720183019701A801B40139 -:108D6000C5010F94342487FD02C074018501E9898F -:108D7000FA89EB55FC4EC701D80180839183A28309 -:108D8000B3838091A61482608093A61462960FB676 -:108D9000F894DEBF0FBECDBFDF91CF911F910F9131 -:108DA000FF90EF90DF90CF90BF90AF909F908F900B -:108DB0007F906F905F904F903F9008952091A61400 -:108DC00090E0880F991F880F991FFC0121FF03C0B5 -:108DD000EB55FC4E02C0E958FD4F608171818281E4 -:108DE000938108952091A61420FF14C020E83EE34B -:108DF000629FA001639F500D729F500D1124CA0104 -:108E00009695879596958795009731F08A950000FD -:108E1000E9F708950D946E0A08959F92AF92BF925C -:108E2000CF92DF92EF92FF920F931F93CF93DF9336 -:108E30008091B312833009F50E94E2C58823E9F0DE -:108E400060918B0970918C09072E000C880B990B8F -:108E50000F943B2420E030E040E85FE30F94292B9F -:108E600020918709309188094091890950918A0998 -:108E70000F94342418160CF062C0D0E0FF24F39451 -:108E800000E010E0EE24E39445E0D42EC0E0CC24D2 -:108E9000C39455E0B52E65E0A62E72E8972EFC240B -:108EA000DC16D1F18D2F90E04897A4F5DF5FF80133 -:108EB000BC9EE00DF11D1124EE0FFF1FEE0FFF1FF2 -:108EC000E75CFB4E20E030E04AE754E460817181CA -:108ED000828193810F949A240F94962C7093BE16DE -:108EE0006093BD16A092B1169092B4168D2F90E0AB -:108EF0008158974F880F991F092E000CAA0BBB0BA6 -:108F00008093B5169093B616A093B716B093B81683 -:108F10000F94D102CE0DC4CF0F5F1F4F0530110546 -:108F200079F1F11006C0EE24EA94DD24DA94C4E06D -:108F3000B6CFEE24E39435E0D32EC0E0B0CF81E08D -:108F40009AE59093BE168093BD1680E490E09093CE -:108F5000C0168093BF1687E08093B11682E8809395 -:108F6000B41684E890E0A0E0B0E08093B51690934A -:108F7000B616A093B716B093B8160F94D1027DCF52 -:108F8000DF91CF911F910F91FF90EF90DF90CF90E5 -:108F9000BF90AF909F900895AF92BF92CF92DF9213 -:108FA000EF92FF920F931F93CF93DF93EC0188EE24 -:108FB000C82E80E2D82EE12CF12C02E8A12C90E200 -:108FC000B92E15E00093B416C092B516D092B6161D -:108FD000E092B716F092B816B092BE16A092BD16E7 -:108FE0001093B1160F94D1028FEFC81AD80AE80A6D -:108FF000F80A80E1C81681E2D806E104F10411F70D -:1090000048EE50E260E070E0CE01DF91CF911F9119 -:109010000F91FF90EF90DF90CF90BF90AF900D94A5 -:10902000800284E08093B21282E08093BC0881E0E9 -:109030009AE59093BE168093BD168EE490E09093CF -:10904000C0168093BF1687E08093B11682E88093A4 -:10905000B41684E890E0A0E0B0E08093B516909359 -:10906000B616A093B716B093B8160F94D10285E840 -:1090700097E00C94C453CF92DF92EF92FF926A0173 -:109080007B010E940D8D882331F0FF90EF90DF90DF -:10909000CF900C948D8CC701B601FF90EF90DF90BC -:1090A000CF9008952F923F924F925F926F927F924E -:1090B0008F929F92AF92BF92CF92DF92EF92FF92E8 -:1090C0000F931F93CF93DF93CDB7DEB7CD54D10964 -:1090D0000FB6F894DEBF0FBECDBF60E070E085E450 -:1090E0000E94E1A6182F81E0810F823018F085E6FA -:1090F0009CE254C065E070E083E40E94E1A689A789 -:1091000060E085E50E941A8D2C968FAF2C9717FF93 -:1091100005C040E050E06CE872E404C040E050E07C -:1091200066E173E483E50E943BC80F94962C072EFA -:10913000000C880B990B0F943B246D837E838F83E7 -:109140002E969FAF2E970E94F1EE2B013C011F3F00 -:1091500009F409C5E12E012E000CFF08F70183E098 -:10916000EE0FFF1F8A95E1F7E45FFD4F668177817F -:109170006F507109072E000C880B990B0F943B243C -:109180009B01AC016D817E818F812E969FAD2E97C4 -:109190000F948A2D1816ECF48AE39CE2C35BDF4F30 -:1091A0000FB6F894DEBF0FBECDBFDF91CF911F91F8 -:1091B0000F91FF90EF90DF90CF90BF90AF909F9076 -:1091C0008F907F906F905F904F903F902F900D9475 -:1091D0009D0A86E29CE20F949D0A0E94FDD787E1DA -:1091E0008E9DF0018F9DF00D1124E651F44F8FE715 -:1091F000828722E330E0A8EEB3E00F94DE2A6BA76B -:109200007CA78DA79EA79B01AC01240D351D461D93 -:10921000571D28AF39AF4AAF5BAF81E0809314028E -:10922000109241021F3F11F58BEA9AEAAAEABEE3C7 -:109230008CAF9DAFAEAFBFAF2DEC3CEC4CE45EE32A -:1092400024962CAF3DAF4EAF5FAF249725961FAE4F -:1092500025974EE65BE227965FAF4EAF279788E3F0 -:109260009BE229969FAF8EAF299721C020E030E086 -:1092700040E05EE32CAF3DAF4EAF5FAF8AE999E9C6 -:10928000A9E1BFE324968CAF9DAFAEAFBFAF2497EB -:1092900025961FAF2597ACE5BBE22796BFAFAEAFD3 -:1092A0002797E5E2FBE22996FFAFEEAF299749A2A7 -:1092B0005AA26BA27CA24FA658AA69AA7AAA2FE743 -:1092C00030E040E050E0288739874A875B87188A7A -:1092D000198A1A8A1B8A1C861D861E861F86C12C27 -:1092E000D12C76011E8A30E43F8B4CE1488F56E446 -:1092F000598F1A8E1B8E1C8E1D8E1BAACCAADDAA1E -:10930000EEAAFFAAFFE78F2E912CA12CB12C1DA253 -:109310001EA21FA218A681E088A31D8A1C8A212CE8 -:10932000312C00E02D961FAE2D97A7E11A02C00147 -:1093300011248651944FFC013A962B96FFAFEEAF65 -:109340002B979C012C5F3F4F3F8F2E8F49A5042EFA -:10935000000C550B5AA749A780911402882309F4E1 -:1093600054C20E94F1EE69837A838B839C8380913F -:109370005E13882309F4BAC00E9462D91F3F61F4CA -:1093800020908709309088090091890950918A09B5 -:109390002D965FAF2D970EC0AE8DBF8D2C90119680 -:1093A0003C90119712960C9112971396BC912D96A2 -:1093B000BFAF2D972A8D3B8D4C8D5D8DB101802FD8 -:1093C0002D969FAD2D970F948A2D18163CF42A8E5A -:1093D0003B8E0C8F2D96EFAD2D97ED8F2E893F890B -:1093E000488D598DB101802F2D969FAD2D970F94EB -:1093F000342487FF07C02E8A3F8A088F2D96FFAD41 -:109400002D97F98F28A1222309F44DC09101402FF7 -:109410002D965FAD2D976D817E818F812E969FADAC -:109420002E970F94342487FF61C049815A816B8144 -:109430007C814419550966097709DB01CA018858FE -:109440009341A109B109B7FD51C088859985AA85C5 -:10945000BB8588199909AA09BB09B595A795979560 -:1094600087951F3F19F480938D0905C02B96EEADAB -:10947000FFAD2B9780834DA35EA36FA378A7FD81DB -:10948000FA8F2E812B8F3F813C8F2E964FAD2E97DA -:109490004D8F89819A81AB81BC8189A39AA3ABA3AB -:1094A000BCA318A223C09101402F2D965FAD2D972C -:1094B0006D817E818F812E969FAD2E970F948A2D80 -:1094C0001816A4F489819A81AB81BC8129A13AA1A3 -:1094D0004BA15CA1821B930BA40BB50BAC01BD018E -:1094E000485853416109710977FFAEC120E030E06F -:1094F00040EA51E46D817E818F812E969FAD2E973B -:109500000F942A2B9101402F2D965FAD2D970F942C -:10951000342487FF03C080E99BE2B9C089819A8126 -:10952000AB81BC812FA538A949A95AA9821B930BED -:10953000A40BB50BB7FD90C025968FAD25970E9463 -:109540000BD08AE00E94B95289819A81AB81BC819B -:109550008053984FAF4FBF4F8FA798ABA9ABBAAB13 -:109560009BA9911159C02CA93DA94EA95FA9B10190 -:10957000802F2D969FAD2D970F948A2D1816BCF530 -:1095800020E030E040E050E4B101802F2D969FAD07 -:109590002D970F942A2B6CAB7DAB8EAB9FAB2BA57D -:1095A0003CA54DA55EA589819A81AB81BC81280F20 -:1095B000391F4A1F5B1F28AF39AF4AAF5BAF20E0AE -:1095C00030E040EC50E46D817E818F812E969FAD1E -:1095D0002E970F94292B9101402F2D965FAD2D973B -:1095E0000F943424881F8827881F8BAB35C089814E -:1095F0009A81AB81BC8128AD39AD4AAD5BAD821B90 -:10960000930BA40BB50BB7FD27C027964EAD5FADEE -:10961000279761E87BE21DC020E030E040EA51E49A -:109620006D817E818F812E969FAD2E970F94292B71 -:109630009B01AC01B101802F2D969FAD2D970F940A -:10964000342487FF09C029964EAD5FAD29976CE49D -:109650007BE2812F0F94E50F89819A81AB81BC81D8 -:10966000880F991FAA1FBB1F29A13AA14BA15CA17A -:10967000821B930BA40BB50B84199509A609B70996 -:1096800081389F44A241B10528F087E09BE20F9406 -:109690009D0ABBC049A55AA58C899D8948175907C1 -:1096A0000CF0B0C003970CF4ADC08AEA9AE20F94B4 -:1096B0009D0A1F3F29F4AAE9BAE2BA83A98304C02C -:1096C000E9E9FAE2FA83E98388E89AE20F949D0ACD -:1096D00089819A810F949D0AB701A60186EA9AE2D0 -:1096E0000F94510B8AE00E94B95288E89AE20F94D5 -:1096F0009D0A89819A810F949D0A4C855D856E85AE -:109700007F8582EA9AE20F94510B8AE00E94B95257 -:1097100088E89AE20F949D0A89819A810F949D0AA4 -:10972000488959896A897B898EE99AE20F94510B9D -:109730008AE00E94B9522C96FFAD2C97FF2309F4C2 -:1097400066C01F3F69F5C0928E09D0928F09E092E2 -:109750009009F09291092CEA35EC47E25EE36C85C2 -:109760007D858E859F850F949A24609392097093CE -:10977000930980939409909395092CEA35EC47E27C -:109780005EE3688979898A899B890F94242C609388 -:10979000960970939709809398099093990937C017 -:1097A00047E11402900111242651344F3A83298352 -:1097B000D9011B96CD92DD92ED92FC921E972CEA78 -:1097C00035EC47E25EE36C857D858E859F850F9441 -:1097D0009A24E981FA816787708B818B928B2CEABE -:1097E00035EC47E25EE3688979898A899B890F9421 -:1097F000242CA981BA8153966D937D938D939C936C -:10980000569705C00E94771DA7CD0E94FDD781E025 -:1098100080934102C35BDF4F0FB6F894DEBF0FBEEB -:10982000CDBFDF91CF911F910F91FF90EF90DF900F -:10983000CF90BF90AF909F908F907F906F905F90F0 -:109840004F903F902F9008954C895D89452B09F4E6 -:1098500051C14DA05EA06FA078A4480E591E6A1E8B -:109860007B1E2DA13EA14FA158A5281B390B4A0BE9 -:109870005B0BC501B4010F947A2AA30192010F94E6 -:10988000AC2A88849984AA84BB84820E931EA41E69 -:10989000B51E54E185169104A104B1040CF18CEEBF -:1098A00088169104A104B1043CF490E8891691044F -:1098B000A104B10434F422C06BEE862E912CA12CAD -:1098C000B12C88869986AA86BB862EEF30E040E0D0 -:1098D00050E0281939094A095B0949015A0112C0A7 -:1098E00084E190E0A0E0B0E088879987AA87BB87F1 -:1098F00054E1852E912CA12CB12C04C08886998628 -:10990000AA86BB868EE19CE20F949D0A68857985C4 -:109910008A859B850E942D5389E19CE20F949D0AC4 -:10992000C501B4010E942D534E895F89688D798DE0 -:1099300082E19CE20F94510B4A8D5B8D6C8D7D8D85 -:109940008BE09CE20F94510BAC89BD8913970CF40A -:10995000D1C0C501B4010F943B2420E030E040E8C1 -:1099600050E40F949A246B017C012E893F89488D25 -:10997000598D6A8D7B8D8C8D9D8D0F94292B2BEDB0 -:109980003FE049E450E40F949A2420E030E040E0C6 -:109990005FE30F949A249B01AC01C701B6010F94B9 -:1099A000242C6B017C01C301B2010F943B242FE6F0 -:1099B00032E143E85AE30F949A242B013C01B701AA -:1099C000A60185E09CE20F94510BB301A2018FEF39 -:1099D0009BE20F94510B1F3F09F044C02DEC3CEC6F -:1099E0004CE45EE3C701B6010F949A246B017C013D -:1099F0009B01AC010F942A2BA30192010F94242CFC -:109A00006C877D878E879F87A7019601C301B2016E -:109A10000F949A2420E030E040E450E40F94242C8A -:109A2000688B798B8A8B9B8B8FEE9BE20F949D0AC0 -:109A3000B701A60189EE9BE20F94510B4C855D8521 -:109A40006E857F8583EE9BE20F94510B488959897F -:109A50006A897B898DED9BE20F94510B8AE00E940D -:109A6000B9524AC024962CAD3DAD4EAD5FAD2497A2 -:109A7000C701B6010F949A246B017C019B01AC01D4 -:109A8000C301B2010F949A242CAD3DAD4EAD5FAD34 -:109A90000F949A24688B798B8A8B9B8BA7019601F4 -:109AA000C701B6010F942A2BA30192010F94242C15 -:109AB0006C877D878E879F878DEC9BE20F949D0A34 -:109AC000B701A60187EC9BE20F94510B4C855D8595 -:109AD0006E857F8581EC9BE20F94510B48895989F3 -:109AE0006A897B898BEB9BE20F94510B8AE00E9481 -:109AF000B95211C01F3F79F488859985AA85BB8525 -:109B0000880D991DAA1DBB1DB595A795979587959D -:109B100080938D0911C088859985AA85BB85880D9C -:109B2000991DAA1DBB1DB595A795979587952B9651 -:109B3000EEADFFAD2B9780832C893D892F5F3F4F82 -:109B40003D8B2C8B3D813E8B4E814F8B5F81588F9F -:109B50002E968FAD2E97898F49805A806B807C809E -:109B600091E098A3C3CC20E030E047E053E46D815E -:109B70007E818F812E969FAD2E970F948A2D181679 -:109B80000CF40ACB86E29CE20F949D0A0E94FDD75A -:109B90008FE780938D0924EB30E02DCB2F923F92FD -:109BA0004F925F926F927F928F929F92AF92BF92ED -:109BB000CF92DF92EF92FF920F931F93CF93DF9399 -:109BC000EB01FC0180809180A280B380C501B401CB -:109BD00020E831E541E050E00F948A2AC9016DE6A2 -:109BE00071E00F94F92A6B017C01C501B40120E1F9 -:109BF0003EE040E050E00F948A2ACA01B90128E112 -:109C000030E040E050E00F948A2A362E272E062FAF -:109C1000172F8CE3482E512C612C712CC501B401F7 -:109C2000A30192010F948A2AB62EA72ECA01B90168 -:109C3000A30192010F948A2ACB01C114D104D9F057 -:109C4000AF92BF927F936F932F923F92FF92EF92CA -:109C5000DF92CF9284E79AE29F938F93DF93CF9323 -:109C60000F94CC238DB79EB70E960FB6F8949EBF77 -:109C70000FBE8DBF5CC0E114F104C9F0AF92BF927A -:109C80007F936F932F923F92FF92EF9284E69AE236 -:109C90009F938F93DF93CF930F94CC23EDB7FEB7B1 -:109CA0003C960FB6F894FEBF0FBEEDBF40C0012B2F -:109CB000B9F0AF92BF927F936F932F923F9288E556 -:109CC0009AE29F938F93DF93CF930F94CC238DB71A -:109CD0009EB70A960FB6F8949EBF0FBE8DBF27C0E1 -:109CE000892BA9F0AF92BF927F936F9380E59AE2A0 -:109CF0009F938F93DF93CF930F94CC23EDB7FEB751 -:109D000038960FB6F894FEBF0FBEEDBF10C0AF92ED -:109D1000BF928CE49AE29F938F93DF93CF930F943B -:109D2000CC230F900F900F900F900F900F90DF911A -:109D3000CF911F910F91FF90EF90DF90CF90BF9048 -:109D4000AF909F908F907F906F905F904F903F90DB -:109D50002F9008958F929F92AF92BF92CF92DF92F1 -:109D6000EF92FF920F931F93CF93DF93CDB7DEB7A0 -:109D7000E6970FB6F894DEBF0FBECDBF0091451336 -:109D80001091461382E08093B30BF80101900020FC -:109D9000E9F731975F01A01AB10AF801CF01801BE2 -:109DA000910B8A159B0534F480818F3209F410825F -:109DB0003196F4CF8BE1EDE9F5E1DE015C9601909F -:109DC0000D928A95E1F7E12CF12CEA14FB040CF0DA -:109DD00084C0F801EE0DFF1D8081811103C08FEF5B -:109DE000E81AF80A6801CE0CDF1CF601808188238E -:109DF00009F473C0FFEFEF1AFF0AF801EE0DFF1D23 -:109E00007F01E01AF10A81918111FACFCE014C96BF -:109E10000E948C668BE1FE017C96DE01119601901A -:109E20000D928A95E1F7A601BE016F5F7F4F80E03A -:109E300090E00E946C5FCE0101960E94C2678FE2A3 -:109E40000E94B9528091C61A811103C08FE997E030 -:109E500002C086EC9AE14C01F40181914F01882304 -:109E600019F00E94B952F8CF8091391884FF35C09B -:109E700019821C8221E0A601BE01645E7F4FCE01E3 -:109E800001960E94A56B811116C08AE00E94B9520A -:109E90000F94860B88E39AE20F949D0AF601819154 -:109EA0006F01882319F00E94B952F8CFCE010196B4 -:109EB0000E94C26712C0CE014C960E94B9678BE126 -:109EC000FE013196DE015C9601900D928A95E1F7D4 -:109ED000CE0101960E94C26778CF8AE00E94B952F3 -:109EE000CE014C960E94C267E6960FB6F894DEBF8C -:109EF0000FBECDBFDF91CF911F910F91FF90EF90DB -:109F0000DF90CF90BF90AF909F908F9008959091E9 -:109F1000391893FB882780F993FF06C081E0909160 -:109F20004715911101C080E00895EDEBF2E18081C9 -:109F300081838FE29AE20F949D0A80914113909160 -:109F40004213A0914313B0914413BC01CD016F5F44 -:109F50007F4F8F4F9F4F0E942D530E94BE530C94F2 -:109F600082B20F931F93CF938C01C62F0F94820B55 -:109F7000C8010F949D0A6091411370914213809122 -:109F80004313909144130E942D530E94BE53C1115C -:109F900004C00E94D1530196E1F70E9495CFEC2FA7 -:109FA000EE0FFF0BE15CFC4E11821082CF911F91EE -:109FB0000F910895EF92FF920F931F93CF937C011F -:109FC0008B014F3F11F4C2E401C0C4E580E20E945E -:109FD000B9528C2F0E94B9528AE30E94B952F701FC -:109FE000608171818281938142E00E944953F8012E -:109FF000408151816281738184EF9EE20F94510B05 -:10A0000062E070E080E090E0CF911F910F91FF90AF -:10A01000EF900C94B7EE1F93CF93DF93CDB7DEB7DD -:10A0200028970FB6F894DEBF0FBECDBF182F6091F2 -:10A03000F20B7091F30B072E000C880B990B0F9409 -:10A040003B246D837E838F8398878091EE0B909164 -:10A05000EF0BA091F00BB091F10B89839A83AB8346 -:10A06000BC834CEFBE016B5F7F4FCE0101960E9417 -:10A07000DACF60918B0970918C09072E000C880B48 -:10A08000990B0F943B246D837E838F8398878091F7 -:10A09000870990918809A0918909B0918A098983DB -:10A0A0009A83AB83BC834FEFBE016B5F7F4FCE01C2 -:10A0B00001960E94DACF1F3F41F087E11802F001BC -:10A0C0001124E651F44F628502C060918D0970E061 -:10A0D0008CEF9EE20F94620B60918D0970E087EF28 -:10A0E0009EE20F94620B28960FB6F894DEBF0FBE67 -:10A0F000CDBFDF91CF911F9108952F923F924F9244 -:10A100005F926F927F928F929F92AF92BF92CF9207 -:10A11000DF92EF92FF920F931F93CF93DF93CDB710 -:10A12000DEB763970FB6F894DEBF0FBECDBF898B45 -:10A1300081E0809314021A821B821C821D82198680 -:10A140001A861B861C8619821D862CE32E873CE10D -:10A150003F8746E4488B312C212C50E85A8B8FEBFB -:10A160008B8B91E09887812C912C540160918B0905 -:10A1700070918C09072E000C880B990B0F943B24CF -:10A180007B018C019B01AC01632D722D8A899B8917 -:10A190000F943424882361F16091870970918809B4 -:10A1A0008091890990918A09A989A1110EC0B1E015 -:10A1B000B9839701A8010F948A2D18160CF0198203 -:10A1C0003E2C2F2C0A8B1B8B13C09701A8010F94D8 -:10A1D0008A2D181644F480911402882309F4F0C0E3 -:10A1E0000E94CDF5EDC03E2C2F2C0A8B1B8B1982C3 -:10A1F0000E94F1EE6B017C01DC01CB0129853A85DF -:10A200004B855C85821B930BA40BB50BB7FD33C04C -:10A21000D701C60188519C4FAF4FBF4F89879A879E -:10A22000AB87BC8780E00E940BD084E09FE20F9454 -:10A230009D0A81149104A104B104B9F0D501C401AF -:10A24000805F984DAF4FBF4FBC01CD016C197D09A8 -:10A250008E099F0928EE33E040E050E00F948A2AEF -:10A26000CA01B9010E942D5303C08FE30E94B95265 -:10A270008AE00E94B95280E00E94E5530E94F1EE0C -:10A2800060939D1470939E1480939F149093A014D8 -:10A29000909187099E83A0918809AF8300918909D5 -:10A2A00010918A09292F3A2FA801632D722D8A89CE -:10A2B0009B890F94292B2B013C0120E030E0A90160 -:10A2C0000F948A2D87FF04C077FA709477F8709402 -:10A2D00081149104A104B104B1F420E030E040E81D -:10A2E0005FE3C301B2010F94342487FF18C0B8851F -:10A2F00046015701BB2399F020E1820E27E2921E0E -:10A30000A11CB11C0CC020E030E040E450E4C301CB -:10A31000B2010F948A2D181614F4460157013981A1 -:10A320003323A9F18A819B81AC81BD81892B8A2B42 -:10A330008B2B61F0D701C6012A813B814C815D8165 -:10A34000821B930BA40BB50BB7FD21C02E813F815F -:10A35000A8016D857E858F8598890F94292B20E033 -:10A3600030E040EC5FE30F94342487FD34CFD70115 -:10A37000C601805A9541AF4FBF4F8A839B83AC8300 -:10A38000BD839E819D87AF81AE870F87188B80919B -:10A390001402882309F41FCF81149104A104B1048D -:10A3A00011F41886E3CEB0E1CB1AB7E2DB0AE1087C -:10A3B000F108C818D908EA08FB08F7FCF2CF0BCF60 -:10A3C0008091140263960FB6F894DEBF0FBECDBF26 -:10A3D000DF91CF911F910F91FF90EF90DF90CF9081 -:10A3E000BF90AF909F908F907F906F905F904F90B5 -:10A3F0003F902F9008952F923F924F925F926F92CD -:10A400007F928F929F92AF92BF92CF92DF92EF9204 -:10A41000FF920F931F93CF93DF93CDB7DEB764976F -:10A420000FB6F894DEBF0FBECDBF898B6A8B81E07B -:10A43000809314021A821B821C821D8219861A863E -:10A440001B861C8621E0288719821D863CE33E87F7 -:10A450004CE14F8756E4588B312C212C80E88B8BB4 -:10A460009FEB9C8B812C912C54016091F20B70918D -:10A47000F30B072E000C880B990B0F943B247B01E8 -:10A480008C019B01AC01632D722D8B899C890F94EB -:10A490003424882361F16091EE0B7091EF0B809171 -:10A4A000F00B9091F10BAA89A1110EC0B1E0B98314 -:10A4B0009701A8010F948A2D18160CF019823E2CD2 -:10A4C0002F2C0B8B1C8B13C09701A8010F948A2D86 -:10A4D000181644F480911402882309F4F0C00E94F5 -:10A4E000CDF5EDC03E2C2F2C0B8B1C8B19820E94BE -:10A4F000F1EE6B017C01DC01CB0129853A854B85AE -:10A500005C85821B930BA40BB50BB7FD33C0D70141 -:10A51000C60188519C4FAF4FBF4F89879A87AB8741 -:10A52000BC8789890E940BD080E09FE20F949D0A2E -:10A5300081149104A104B104B9F0D501C401805F74 -:10A54000984DAF4FBF4FBC01CD016C197D098E09ED -:10A550009F0928EE33E040E050E00F948A2ACA01B8 -:10A56000B9010E942D5303C08FE30E94B9528AE0C3 -:10A570000E94B95280E00E94E5530E94F1EE609380 -:10A580009D1470939E1480939F149093A0149091A7 -:10A59000EE0B9E83A091EF0BAF830091F00B109117 -:10A5A000F10B292F3A2FA801632D722D8B899C89DD -:10A5B0000F94292B2B013C0120E030E0A9010F94DE -:10A5C0008A2D87FF04C077FA709477F8709481140D -:10A5D0009104A104B104B1F420E030E040E85FE36D -:10A5E000C301B2010F94342487FF18C0B885460117 -:10A5F0005701BB2399F020E1820E27E2921EA11C95 -:10A60000B11C0CC020E030E040E450E4C301B201D2 -:10A610000F948A2D181614F44601570139813323FB -:10A62000A9F18A819B81AC81BD81892B8A2B8B2BDF -:10A6300061F0D701C6012A813B814C815D81821B7B -:10A64000930BA40BB50BB7FD21C02E813F81A80150 -:10A650006D857E858F8598890F94292B20E030E0C9 -:10A6600040EC5FE30F94342487FD34CFD701C6015B -:10A67000805A9541AF4FBF4F8A839B83AC83BD8384 -:10A680009E819D87AF81AE870F87188B80911402C2 -:10A69000882309F41FCF81149104A104B10411F49B -:10A6A0001886E3CEB0E1CB1AB7E2DB0AE108F10885 -:10A6B000C818D908EA08FB08F7FCF2CF0BCF809145 -:10A6C000140264960FB6F894DEBF0FBECDBFDF91C3 -:10A6D000CF911F910F91FF90EF90DF90CF90BF909F -:10A6E000AF909F908F907F906F905F904F903F9032 -:10A6F0002F9008950F931F93CF93DF93809145027E -:10A700008F37A0F08F579091F40B90936E1399238D -:10A7100011F02C9A01C02C9820918D0920936D1373 -:10A7200090910201222369F090950BC090916E13D5 -:10A73000891708F02C9890916D13891728F0909143 -:10A7400002019072909300018F5F80934502909177 -:10A750006C1381E0892780936C13809144028530CB -:10A760001CF4C1E0C80F01C0C0E0823009F4B9C0D8 -:10A7700054F4882301F1813009F0E8C088E0809327 -:10A780007B0085E4C5C0843009F4CAC00CF4BCC0A9 -:10A79000853009F0DBC090916B13911102C080935A -:10A7A0006B1380916B13815080936B13882309F492 -:10A7B000CDC0C5E0CBC0809143028F5F80311CF4D7 -:10A7C00080934302C3C01092430280915E138111B3 -:10A7D00013C08091EA0B9091EB0B9093ED0B80935B -:10A7E000EC0B809183099091840990938609809362 -:10A7F000850981E080935E131092EB0B1092EA0BB7 -:10A8000010928409109283090091EC0B1091ED0BCA -:10A810001195019511098091F20B9091F30BD1E004 -:10A82000181619062CF08091F40B811101C0D0E0AC -:10A8300080910E0290910F02919581959109801758 -:10A8400091073CF444E65EE265E87EE280E00F9426 -:10A85000E50FDD2389F080910C0290910D02919516 -:10A8600081959109081719073CF447E95EE268EB06 -:10A870007EE280E00F94E50F80918B0990918C0926 -:10A88000D1E0181619062CF080918D09811101C0B4 -:10A89000D0E0209185093091860980919B099091A3 -:10A8A0009C09821793073CF044E75EE265E87EE28C -:10A8B0008FEF0F94E50FDD2309F448C0209185093F -:10A8C0003091860980910A0290910B02281739076E -:10A8D000ECF147EA5EE268EB7EE28FEF0F94E50F62 -:10A8E00035C080917A0086FD2EC0809178009091CD -:10A8F00079002091EA0B3091EB0B820F931F90931C -:10A90000EB0B8093EA0B22C088E080937B0086E407 -:10A9100080937C0080917A00806480937A0016C0D6 -:10A9200080917A0086FD11C0809178009091790025 -:10A930002091830930918409820F931F9093840999 -:10A940008093830903C0C2E001C0C4E0C093440205 -:10A950002091A1143091A2142115310509F43AC0B7 -:10A96000F894909109019270809108018170809310 -:10A97000060180910B01121613060CF4809582706B -:10A980008093090100000000000080910B01809578 -:10A9900088708093090184E08A950000E9F780912E -:10A9A0000B0188708093090180910B0191118095B2 -:10A9B00082708093090178948091A1149091A214DF -:10A9C0001216130614F4019701C001969093A21475 -:10A9D0008093A11480915F13882309F44EC0809165 -:10A9E00042028E5F8F7780934202811146C0659B41 -:10A9F00003C0C0E1D0E002C0C0E0D0E0809103011C -:10AA000081FDC0624B99C4600091691310916A1373 -:10AA10000C271D270115110581F104FF08C06C2FBB -:10AA20006295617070E08FED9EE20F94620B05FFFE -:10AA300008C0C5FB662760F970E086ED9EE20F94C2 -:10AA4000620B02FF08C0C2FB662760F970E08DEC64 -:10AA50009EE20F94620B8AEC9EE20F949D0A109185 -:10AA60006813612F70E08DE00E94CFED1095109378 -:10AA70006813D0936A13C09369130E9461E08091B8 -:10AA8000351190913611009769F001979093361126 -:10AA900080933511892B31F488EE9EE29093C009A2 -:10AAA0008093BF09DF91CF911F910F9108950F936C -:10AAB0000FB70F9300916E000B7F00936E00789498 -:10AAC0000F930BB70F930CB70F921F922F933F93D7 -:10AAD0004F935F936F937F938F939F93AF93BF93A6 -:10AAE000EF93FF9311240E947AD3FF91EF91BF91CE -:10AAF000AF919F918F917F916F915F914F913F9116 -:10AB00002F911F900F900CBF0F910BBF0F910460FE -:10AB1000F89400936E000F910FBF0F9118952F922C -:10AB20003F924F925F926F927F928F929F92AF92DD -:10AB3000BF92CF92DF92EF92FF920F931F93CF932A -:10AB4000DF93CDB7DEB729970FB6F894DEBF0FBEFF -:10AB5000CDBF1C017B836A8329831F830E83FD8203 -:10AB6000EC8227FD10C0022E000C330B398728879A -:10AB7000398185E03802F0011124E85AFC4E8481C5 -:10AB80008823E1F008C080915713882399F0E1E011 -:10AB9000F0E0F987E887F1011482E885F985EE0F86 -:10ABA000FF1FEE0FFF1FE05AFC4E1082118212822F -:10ABB00013822EC021E030E039872887FA01C08057 -:10ABC000D180E280F38008851985000F111F000FE6 -:10ABD000111F005A1C4EA7019601F8016081718176 -:10ABE000828193810F943424882391F0F801C082EC -:10ABF000D182E282F38211E020E030E0A901C701B6 -:10AC0000B6010F948A2D18160CF010E0F101148390 -:10AC1000F10184818230F9F0833009F401C181307F -:10AC200009F023C1E885F985EE0FFF1FEE0FFF1F26 -:10AC3000E05AFC4E2081318142815381EA81FB81BF -:10AC400060817181828193810F94342487FD0DC1CD -:10AC500082E0F101848380914102882309F493C04A -:10AC6000F981F7FD90C08F2FFF0F990B8C011816FB -:10AC7000190614F401E010E0F801E952F44F2081C4 -:10AC8000222371F1EA81FB81C080D180E280F380D0 -:10AC9000880F991F880F991FFC01E05AFC4E808095 -:10ACA0009180A280B3802C813D81B90180E090E049 -:10ACB0000F9439242B013C0120E030E040E85EE3B2 -:10ACC0000F949A249B01AC01C501B4010F94292B68 -:10ACD0009B01AC01C701B6010F948A2D87FD05C009 -:10ACE000F801E15CFD4F80E81AC023E830EC4AEA45 -:10ACF0005EE3C301B2010F949A249B01AC01C5012C -:10AD0000B4010F94292B9B01AC01C701B6010F942C -:10AD10008A2D015C1D4F87FD04C080E6F801808309 -:10AD200032C020E030E040E05FE3C301B2010F94A5 -:10AD30009A249B01AC01C501B4010F94292B9B01FE -:10AD4000AC01C701B6010F948A2D87FD02C080E4D3 -:10AD5000E5CF2DEC3CEC4CE45FE3C301B2010F9472 -:10AD60009A249B01AC01C501B4010F94292B9B01CE -:10AD7000AC01C701B6010F948A2D87FD02C080E2A5 -:10AD8000CDCFF801108208851985000F111F000F23 -:10AD9000111F9801205A3C4E39872887EC81FD818C -:10ADA000BF0180E090E00F9439249B01AC01E8855D -:10ADB000F98560817181828193810F94292B9B0198 -:10ADC000AC01EA81FB8160817181828193810F9462 -:10ADD0008A2D87FD14C00E94F1EE6B017C012E814B -:10ADE0003F81A8EEB3E00F94DE2AC60ED71EE81E00 -:10ADF000F91EF101C082D182E282F38236C00E9444 -:10AE0000F1EEF1010081118122813381DC01CB015E -:10AE1000801B910BA20BB30BB7FD27C083E084838B -:10AE2000F981FF3F19F04DE25EE202C040E45EE2CC -:10AE300064E57EE2898129960FB6F894DEBF0FBEE5 -:10AE4000CDBFDF91CF911F910F91FF90EF90DF90D9 -:10AE5000CF90BF90AF909F908F907F906F905F90BA -:10AE60004F903F902F900D94E50F29960FB6F894D0 -:10AE7000DEBF0FBECDBFDF91CF911F910F91FF902D -:10AE8000EF90DF90CF90BF90AF909F908F907F908A -:10AE90006F905F904F903F902F900895CF92DF92E8 -:10AEA000EF92FF9260918B0970918C096115710589 -:10AEB000C1F0C0908709D0908809E0908909F0908E -:10AEC0008A0966507109072E000C880B990B0F94A4 -:10AED0003B249B01AC01C701B6010F94342487FDCC -:10AEE00009C010924F1310925013109251131092E8 -:10AEF00052131EC020E030E040E050E4C701B6012C -:10AF00000F942A2B0F949D2C70934E1360934D1326 -:10AF10000E94F1EEDC01CB01805E9044AD4FBF4F4B -:10AF200080934F1390935013A0935113B0935213E7 -:10AF3000FF90EF90DF90CF900895CF92DF92EF9245 -:10AF4000FF926091F20B7091F30B61157105C1F0E6 -:10AF5000C090EE0BD090EF0BE090F00BF090F10B67 -:10AF600066507109072E000C880B990B0F943B2437 -:10AF70009B01AC01C701B6010F94342487FD09C0C1 -:10AF80001092491310924A1310924B1310924C13C3 -:10AF90001EC020E030E040E050E4C701B6010F944D -:10AFA0002A2B0F949D2C70934813609347130E9493 -:10AFB000F1EEDC01CB01805B9C43AF4FBF4F809330 -:10AFC000491390934A13A0934B13B0934C13FF90E3 -:10AFD000EF90DF90CF9008952091120230911302EC -:10AFE0002F503109821793070CF49C013093F30B17 -:10AFF0002093F20B80E00C949DD7CF93DF931092B7 -:10B000005D1380E090E00E94ECD7C3E8D9E0198698 -:10B0100018860E944ED780E090E00E94ECD71092F4 -:10B02000F40B2C98198618861A868091020180727A -:10B0300080930001DF91CF9108958F929F92AF92FC -:10B04000BF92CF92DF92EF92FF920F931F93CF9315 -:10B05000DF93F0E2FF2EE12CAE2DB0E0BD016F0DCD -:10B06000711D75956795611103C0EFEAFDE206C099 -:10B070006E1511F0F6120BC0EBE2FEE265917491D1 -:10B08000072E000C880B990B0F943B2462C09B0188 -:10B0900021503109220F331F220F331FF901E355CD -:10B0A000F24D05911491AB01440F551F440F551FEC -:10B0B000FA01E355F24DC591D4918017910714F42C -:10B0C000F62ECCCFC817D90714F4E62EC5CFF90158 -:10B0D000E155F24DE590F490FA01E155F24DC5903D -:10B0E000D490BC01601B710B072E000C880B990BD0 -:10B0F0000F943B244B015C01B6016E197F09072EAA -:10B10000000C880B990B0F943B249B01AC01C501EB -:10B11000B4010F949A244B015C01C01BD10BBE01FA -:10B12000DD0F880B990B0F943B249B01AC01C501EB -:10B13000B4010F94242C4B015C01B701FF0C880B68 -:10B14000990B0F943B249B01AC01C501B4010F94F2 -:10B150002A2BDF91CF911F910F91FF90EF90DF90FD -:10B16000CF90BF90AF909F908F9008958F929F92B5 -:10B17000AF92BF92CF92DF92EF92FF920F931F9305 -:10B18000CF93DF93C62F662381F00F94820B6C2F31 -:10B1900070E080E090E00E942D538FE89DE20F94D4 -:10B1A0009D0A80E090E00F947703F0E4FF2EE12CFD -:10B1B000AE2DB0E0BD016F0D711D759567956111E4 -:10B1C00003C0E1E9FCE206C06E1511F0F6120BC0F7 -:10B1D000EDE8FDE265917491072E000C880B990B48 -:10B1E0000F943B2462C09B0121503109220F331F71 -:10B1F000220F331FF901E157F34D05911491AB0173 -:10B20000440F551F440F551FFA01E157F34DC591E7 -:10B21000D4918017910714F4F62ECCCFC817D90714 -:10B2200014F4E62EC5CFF901EF56F34DE590F490F6 -:10B23000FA01EF56F34DC590D490BC01601B710B21 -:10B24000072E000C880B990B0F943B244B015C01DB -:10B25000B6016E197F09072E000C880B990B0F940D -:10B260003B249B01AC01C501B4010F949A244B010E -:10B270005C01C01BD10BBE01DD0F880B990B0F9435 -:10B280003B249B01AC01C501B4010F94242C4B015C -:10B290005C01B701FF0C880B990B0F943B249B01B9 -:10B2A000AC01C501B4010F942A2BDF91CF911F91FE -:10B2B0000F91FF90EF90DF90CF90BF90AF909F9055 -:10B2C0008F900895CF93DF93CAEEDBE060E08A8130 -:10B2D0009B810E94B6D86C837D838E839F83C3E855 -:10B2E000D9E08A819B810E941DD86C837D838E83E7 -:10B2F0009F83A89510925E13DF91CF910895CF920E -:10B30000DF92EF92FF920F931F93C12CD12C760105 -:10B310008C0123E832E04FE752E06BE772E087E709 -:10B3200092E00E94BF7E1F910F91FF90EF90DF90FF -:10B33000CF900895CF93C82FCB01009711F00F94B1 -:10B340009D0A87E19FE20F949D0AC11103C088E026 -:10B350009FE202C08DE09FE20F949D0A8AE0CF91A8 -:10B360000C94B9524F925F926F927F928F929F92FC -:10B37000AF92BF92CF92DF92EF92FF920F931F9303 -:10B38000CF93DF93CDB7DEB768970FB6F894DEBFE3 -:10B390000FBECDBFC82E2A013B015901E82EF12C6A -:10B3A000F701E45DF54DE491992493941E160CF495 -:10B3B000912CDD24D39420E030E0A901C301B20137 -:10B3C0000F948A2D18160CF0D12CD92461F082E04C -:10B3D000C81209C081E00E945FE869E170E080E086 -:10B3E00090E00F946E0A80E00E949AC069837A838D -:10B3F0008B839C8381E00E949AC06D837E838F83C0 -:10B40000988782E00E949AC069877A878B879C8799 -:10B4100083E00E949AC06D877E878F87988BEE0CA1 -:10B42000FF1CEE0CFF1C88248394912C8C0E9D1E17 -:10B430008E0C9F1CF40110821182128213829E01D5 -:10B44000235F3F4FAE01475F5F4FBE016B5F7F4F92 -:10B45000CE0101960E9489BFF4014082518262822E -:10B4600073821D8A1E8A1F8A188E20E030E0A9018F -:10B47000B801C5010F943424811109C0F701ED51C1 -:10B48000F64D85919591A591B4918C015D01C8010E -:10B49000D501898B9A8BAB8BBC8B809135119091A8 -:10B4A0003611892B91F4CE0145967C018E010F5EF9 -:10B4B0001F4F9E01235F3F4FAE01475F5F4FBE01AD -:10B4C0006B5F7F4F44970E94AB6C0E941CBFDD20D6 -:10B4D00041F092E0C91203C080E00E945FE80E9440 -:10B4E000DCFC68960FB6F894DEBF0FBECDBFDF91CF -:10B4F000CF911F910F91FF90EF90DF90CF90BF9071 -:10B50000AF909F908F907F906F905F904F90089535 -:10B51000CF92DF92EF92FF92CF93DF9320915E0262 -:10B52000222309F485C0EC01C0904602D090470266 -:10B53000E0904802F0904902288139814A815B817C -:10B54000C701B6010F948A2D181624F4C882D98237 -:10B55000EA82FB82C0904A02D0904B02E0904C02FB -:10B56000F0904D02288139814A815B81C701B60183 -:10B570000F94342487FF04C0C882D982EA82FB82F8 -:10B58000C0904E02D0904F02E0905002F0905102D5 -:10B590002C813D814E815F81C701B6010F948A2DB8 -:10B5A000181624F4CC82DD82EE82FF82C090520213 -:10B5B000D0905302E0905402F09055022C813D81CE -:10B5C0004E815F81C701B6010F94342487FF04C008 -:10B5D000CC82DD82EE82FF82C0905602D09057026C -:10B5E000E0905802F0905902288539854A855B859C -:10B5F000C701B6010F948A2D181624F4C886D9867F -:10B60000EA86FB86C0905A02D0905B02E0905C0212 -:10B61000F0905D02288539854A855B85C701B601B2 -:10B620000F94342487FF04C0C886D986EA86FB8637 -:10B63000DF91CF91FF90EF90DF90CF9008952F9200 -:10B640003F924F925F926F927F928F929F92AF92B2 -:10B65000BF92CF92DF92EF92FF920F931F93CF93FF -:10B66000DF93CDB7DEB7E4970FB6F894DEBF0FBE19 -:10B67000CDBF85EA93E10E9488DA8091371183FD7E -:10B680007DC0C090B113D090B213E090B313F0908E -:10B69000B41320918302309184024091850250912D -:10B6A0008602C701B6010F943424882309F466C0CA -:10B6B0008091E90B81111FC06091EE0B7091EF0B2F -:10B6C0008091F00B9091F10B0F94962C2091190220 -:10B6D00030911A026217730774F4C0928302D092F9 -:10B6E0008402E0928502F09286020F94860B8FE826 -:10B6F0009FE20F949D0A8090B1139090B213A09096 -:10B70000B313B090B413209183023091840240911E -:10B71000850250918602C501B4010F94292B6B015B -:10B720007C0120E030E0A9010F948A2D87FF04C03E -:10B73000F7FAF094F7F8F094209115023091160280 -:10B740004091170250911802C701B6010F949A2434 -:10B7500020E030E04AEF53E40F948A2D181674F479 -:10B760008092830290928402A0928502B092860217 -:10B770000F94860B80E79FE20F949D0A8091B61884 -:10B78000E0905F02F0906002882309F18090B71882 -:10B790009090B818A090B918B090BA1820E030E096 -:10B7A000A901C501B4010F943424882309F45BC0B6 -:10B7B0002091AD133091AE134091AF135091B0135F -:10B7C000C501B4010F948A2D18160CF44CC0B701B2 -:10B7D000FF0C880B990B0F943B242091650230914C -:10B7E000660240916702509168020F949A242AE001 -:10B7F00037ED43E25CE30F949A2469837A838B8369 -:10B800009C83C12CD12C76018E010F5F1F4F21EB41 -:10B8100033E14DEA53E169EA73E185EA93E10E947D -:10B82000BF7E80E1E5EAF3E1A7E7B2E001900D9287 -:10B830008A95E1F7E4960FB6F894DEBF0FBECDBF50 -:10B84000DF91CF911F910F91FF90EF90DF90CF90FC -:10B85000BF90AF909F908F907F906F905F904F9030 -:10B860003F902F900895B701FF0C880B990B0F9410 -:10B870003B2420916502309166024091670250910D -:10B8800068020F949A242AE037ED43E25CE30F94B8 -:10B890009A2469A37AA38BA39CA320917702309169 -:10B8A00078024091790250917A026091A5137091CB -:10B8B000A6138091A7139091A8130F94292B69A721 -:10B8C0007AA78BA79CA720917B0230917C024091A4 -:10B8D0007D0250917E026091A9137091AA1380910C -:10B8E000AB139091AC130F94292B2B013C0120E05A -:10B8F00030E0A90169A57AA58BA59CA50F943424F5 -:10B9000081110DC020E030E0A901C301B2010F9404 -:10B910003424811104C0C12CD12C7601E5C02091C2 -:10B920007F023091800240918102509182026091A9 -:10B93000AD137091AE138091AF139091B0130F942B -:10B94000292B6DA77EA78FA798AB209183023091FA -:10B95000840240918502509186026091B1137091EA -:10B96000B2138091B3139091B4130F94292B6DA34C -:10B970007EA38FA398A729A53AA54BA55CA5CA01CC -:10B98000B9010F949A246B017C01A3019201C301B8 -:10B99000B2010F949A249B01AC01C701B6010F9428 -:10B9A0002A2B6B017C012DA53EA54FA558A9CA01E4 -:10B9B000B9010F949A249B01AC01C701B6010F9401 -:10B9C0002A2B0F94D82D6B017C012DEB37E346E831 -:10B9D00055E30F94342487FF13C020E030E0A90121 -:10B9E0006DA17EA18FA198A50F948A2DCDA0DEA078 -:10B9F000EFA0F8A487FF04C0F7FAF094F7F8F094EA -:10BA00002DEB37E346E855E3C701B6010F94342424 -:10BA100087FD07CF20E030E040EA51E4C701B601DE -:10BA20000F94242C0F949D2C1B01672B19F42224B6 -:10BA30002394312CB10180E090E00F9439249B01D4 -:10BA4000AC0160E070E080E89FE30F94242C4B0190 -:10BA50005C019B01AC01C701B6010F949A2469AB4C -:10BA60007AAB8BAB9CABA501940169A57AA58BA59C -:10BA70009CA50F949A24698B7A8B8B8B9C8BA50148 -:10BA80009401C301B2010F949A246D8B7E8B8F8B2E -:10BA9000988FA50194016DA57EA58FA598A90F94F7 -:10BAA0009A24698F7A8F8B8F9C8FA50194016DA149 -:10BAB0007EA18FA198A50F949A246D8F7E8F8F8F72 -:10BAC00098A380E1E7E7F2E0DE01119601900D9284 -:10BAD0008A95E1F79924939481E0281A310841F47A -:10BAE000C9A8DAA8EBA8FCA88E010F5D1F4F8FCE66 -:10BAF00080918913811112C00E94F1EEDC01CB010B -:10BB000088539F4FAF4FBF4F8093851390938613F9 -:10BB1000A0938713B0938813909289130F941F10EA -:10BB20000E94F1EEC0908513D0908613E0908713A9 -:10BB3000F0908813DC01CB018C199D09AE09BF0977 -:10BB4000B7FD13C00E94F1EEDC01CB0188539F4F7B -:10BB5000AF4FBF4F8093851390938613A0938713A5 -:10BB6000B093881380E00E94E5536E0191E1C90E05 -:10BB7000D11CFE0131967F015601F60121913191D0 -:10BB8000419151916F01F7016081718182819381AF -:10BB90000F942A2BF70161937193819391937F0105 -:10BBA000AE16BF0651F7C9A8DAA8EBA8FCA88E010B -:10BBB0000F5D1F4F9E01235F3F4FAE01475F5F4FF9 -:10BBC000BE016B5F7F4FCE0101960E94BF7E811147 -:10BBD00083CF86CF8091811390918213A09183139C -:10BBE000B09184138093650290936602A0936702DC -:10BBF000B093680280917F139091801390936002BC -:10BC000080935F0208958091650290916602A091F1 -:10BC10006702B09168028093811390938213A0937E -:10BC20008313B093841380915F029091600290938C -:10BC3000801380937F1384E690E09093600280935A -:10BC40005F0208954F925F926F927F928F929F92C0 -:10BC5000AF92BF92CF92DF92EF92FF920F931F931A -:10BC6000CF93DF93CDB7DEB72C970FB6F894DEBF36 -:10BC70000FBECDBF2B013C0129873A874B875C87DC -:10BC800047015801F601E080F1800281138120E034 -:10BC900030E0A901B701C8010F94342481110BC011 -:10BCA000EBEEF9E285919591A591B491582F492F2A -:10BCB0003A2F2B2F04C05E2D4F2D302F212F852F93 -:10BCC000942FA32FB22F89839A83AB83BC8320E068 -:10BCD00030E0A901B701C8010F943424811108C0D4 -:10BCE000E0906102F09062020091630210916402A0 -:10BCF000C701D8018D839E83AF83B887A5019401C6 -:10BD000060917F0270918002809181029091820205 -:10BD10000F94342487FF0CC080927F02909280029F -:10BD2000A0928102B0928202CE0101960E947FD938 -:10BD300040927702509278026092790270927A0271 -:10BD400089859A85AB85BC8580937B0290937C0224 -:10BD5000A0937D02B0937E02CE0105960E947FD90A -:10BD600020917F02309180024091810250918202A5 -:10BD7000C501B4010F94342487FF0CC080927F0268 -:10BD800090928002A0928102B0928202CE0101962E -:10BD90000E947FD90E941CBF2C960FB6F894DEBF7C -:10BDA0000FBECDBFDF91CF911F910F91FF90EF900C -:10BDB000DF90CF90BF90AF909F908F907F906F90CB -:10BDC0005F904F900895CF92DF92EF92FF920F9382 -:10BDD0001F936A01E0907F02F0908002009181023F -:10BDE00010918202FB012081318142815381FC014B -:10BDF00060817181828193810E9422DE1F910F9167 -:10BE0000FF90EF90DF90CF900895CF92DF92EF9266 -:10BE1000FF920F931F936B01FC01E080F180028180 -:10BE20001381E7E7F2E02481358146815781608103 -:10BE30007181828193810E9422DE1F910F91FF9078 -:10BE4000EF90DF90CF900895CF93DF9380E00E9432 -:10BE50009AC0CFE6D3E1688379838A839B8381E0AC -:10BE60000E949AC06C837D838E839F8382E00E94B0 -:10BE70009AC0688779878A879B87DF91CF910895D9 -:10BE80001F93CF93DF93CDB7DEB760970FB6F894CB -:10BE9000DEBF0FBECDBF182F0E9424DF80916F132D -:10BEA00090917013A0917113B091721389839A834A -:10BEB000AB83BC838091731390917413A09175131D -:10BEC000B09176138D839E83AF83B887809177136B -:10BED00090917813A0917913B0917A1389879A87FA -:10BEE000AB87BC878091830290918402A0918502E8 -:10BEF000B09186028D879E87AF87B88BCE01019661 -:10BF00000E942DC11E3F51F480E1FE013196A7E74A -:10BF1000B2E001900D928A95E1F716C024E0129FDD -:10BF2000C0011124FC01E958FD4FA1E0B0E0AC0FC5 -:10BF3000BD1FA80FB91F8D919D910D90BC91A02D93 -:10BF400080839183A283B38360960FB6F894DEBF9B -:10BF50000FBECDBFDF91CF911F9108950C94277F25 -:10BF60004F925F926F927F928F929F92AF92BF9209 -:10BF7000CF92DF92EF92FF922091B5133091B613DA -:10BF80004091B7135091B813609177027091780285 -:10BF90008091790290917A020F942A2BAB01BC0117 -:10BFA0008DE69FE20F94510B2091B9133091BA1393 -:10BFB0004091BB135091BC1360917B0270917C0245 -:10BFC00080917D0290917E020F942A2BAB01BC01DF -:10BFD00089E69FE20F94510B2091BD133091BE135F -:10BFE0004091BF135091C01360917F027091800205 -:10BFF00080918102909182020F942A2BAB01BC01A7 -:10C0000085E69FE20F94510B409183025091840288 -:10C01000609185027091860281E69FE20F94510B38 -:10C0200080916F00982F927081FF05C080916F0002 -:10C030008D7F80936F004090471E5090481E609007 -:10C04000491E70904A1E80904B1E90904C1EA090EE -:10C050004D1EB0904E1EC0904F1ED090501EE090CE -:10C06000511EF090521E992329F080916F0082603A -:10C0700080936F0087E59FE20F949D0AC301B20190 -:10C080000E942D5383E59FE20F949D0AC501B401E0 -:10C090000E942D538FE49FE20F949D0AC701B601C1 -:10C0A0000E942D538AE0FF90EF90DF90CF90BF90D9 -:10C0B000AF909F908F907F906F905F904F900C9477 -:10C0C000B95280917E13659B02C0806101C08F7E52 -:10C0D00080937E139091030180917E1391FF02C0A3 -:10C0E000806201C08F7D80937E1380917E134B9B75 -:10C0F00002C0846001C08B7F80937E1390917D137A -:10C1000080917E13981731F092E090937C13809386 -:10C110007D1309C080917C13882329F0815080937E -:10C120007C13882349F08091AF09811108C0809168 -:10C13000B109811104C0089590937B13F4CF8091CD -:10C14000A61180FF10C08091B00980FD0CC08091C5 -:10C150007B1384FF08C08091430B80618093430B65 -:10C1600080E00F9426148091A611869580FF11C05F -:10C170008091B009869580FD0CC080917B1385FF6E -:10C1800008C08091430B80628093430B81E00F9441 -:10C1900026148091A6118695869580FF16C0809101 -:10C1A000B0098695869580FF10C08091B1098823DB -:10C1B00061F080917B1382FF08C08091430B846003 -:10C1C0008093430B82E00D9426140895CF93DF9360 -:10C1D00000D01F92CDB7DEB784EF91E0A0E0B0E0D1 -:10C1E00089839A83AB83BC83BE016F5F7F4F8CE3EF -:10C1F0000E946A9185E39FE20F949D0A8CB16FE2E1 -:10C200007FE285FB882780F90E949AD980910301FB -:10C2100069E27FE2869581700E949AD989B163E2D2 -:10C220007FE283FB882780F90E949AD98CB16AE16A -:10C230007FE2829581700E949AD98EEE92E0A0E012 -:10C24000B0E04B9911C089839A83AB83BC83BE0154 -:10C250006F5F7F4F8AE00E946A910F900F900F905E -:10C260000F90DF91CF91089589839A83AB83BC832C -:10C27000BE016F5F7F4F8AE5EECF8091AF098111DC -:10C2800005C08091B109811101C0089562E070E09C -:10C2900080E090E00F946E0A80917C13882329F04F -:10C2A00061E070E080E090E0F5CF08959F92AF925A -:10C2B000BF92CF92DF92EF92FF920F931F93CF9393 -:10C2C000DF9385E0A82E83E0B82E05EA13E1C7E7E7 -:10C2D000D2E095EBC92E93E1D92E26EEE22E28E08E -:10C2E000F22E912CF50181915F010E940D8D882322 -:10C2F00009F10E948D8CF7012081211104C0209149 -:10C30000EF08222339F0288139814A815B810F941B -:10C310002A2B0AC0F3E09F1639F0F6012081318103 -:10C32000428153810F94292BF801608371838283AA -:10C33000938309C088819981AA81BB81F801808398 -:10C340009183A283B38393940C5F1F4F2496F4E0F0 -:10C35000CF0ED11C2FEFE21AF20A84E09812C2CF5E -:10C3600040E050E0BA0186E40E943BC820E030E0A3 -:10C37000A9010F948A2D181684F40E948D8C20E058 -:10C3800030E040E752E40F94242C609365027093F0 -:10C39000660280936702909368028091371183FD53 -:10C3A00028C080919D09882321F12091830230913A -:10C3B000840240918502509186026091B113709180 -:10C3C000B2138091B3139091B4130F94292B209141 -:10C3D000AA093091AB094091AC095091AD090F9475 -:10C3E0002A2B6093AA097093AB098093AC099093B0 -:10C3F000AD09DF91CF911F910F91FF90EF90DF90EA -:10C40000CF90BF90AF909F900895CF9384E50E9406 -:10C410000D8D882301F10E94658CC82F1816E4F455 -:10C420000F94860B8DE40E94B95260918E12709128 -:10C430008F12072E000C880B990B0E942D536C2F26 -:10C44000CC0F770B8CE093E30F94620B8AE00E9491 -:10C45000B9528FEF01C080E0CF910895CF92DF9263 -:10C46000EF92FF92CF93DF93CDB7DEB7A0970FB6D1 -:10C47000F894DEBF0FBECDBF80E090E0A8E4B2E448 -:10C4800089839A83AB83BC8380E090E0A0E2B1E42F -:10C490008D839E83AF83B88789879A87AB87BC8754 -:10C4A0000E9405E287FDD4C00E9497E8882321F00E -:10C4B00088E093E30E9480BB85E40E94C48C8823BB -:10C4C00081F00E948D8C6B017C0120E030E0A9019D -:10C4D0000F948A2D87FF0BC0F7FAF094F7F8F094C9 -:10C4E00006C0C12CD12C80E8E82E80E4F82EF7FAA3 -:10C4F000F094F7F8F094C98ADA8AEB8AFC8A8AE524 -:10C500000E940D8D882351F040E050E0BA018AE589 -:10C510000E943BC869877A878B879C8788E50E9441 -:10C520000D8D882351F040E050E0BA0188E50E946B -:10C530003BC869837A838B839C8389E50E940D8D38 -:10C54000882351F040E050E0BA0189E50E943BC8E1 -:10C550006D837E838F83988785E50E94C48C8823B2 -:10C5600029F00E948D8C6B017C0108C0C0903114B1 -:10C57000D0903214E0903314F090341420E030E086 -:10C58000A901C701B6010F948A2D87FF04C0F7FAED -:10C59000F094F7F8F094F7FAF094F7F8F094CD8A65 -:10C5A000DE8AEF8AF88E198E1A8E1B8E1C8E8CE412 -:10C5B0000E94C48C882329F00E948D8C6B017C0121 -:10C5C00008C0C0903514D0903614E0903714F09025 -:10C5D000381420E030E0A901C701B6010F948A2D7C -:10C5E00087FF04C0F7FAF094F7F8F094CD8EDE8E52 -:10C5F000EF8EF8A262E070E082E40E94E1A6F82EDD -:10C6000021E0AE014B5E5F4FBE016F5F7F4FCE01F9 -:10C6100041960E942C908823D9F06F2D81E00E94D2 -:10C62000048E80E090E0A0EAB1E48D879E87AF871A -:10C63000B88B8091450B882359F02F2DAE01435FB5 -:10C640005F4FBE01635E7F4FCE0149960E94A98E67 -:10C65000A0960FB6F894DEBF0FBECDBFDF91CF918D -:10C66000FF90EF90DF90CF900895CF92DF92EF92FE -:10C67000FF92CF93DF93CDB7DEB76C970FB6F894E8 -:10C68000DEBF0FBECDBF8CE40E94C48C882381F036 -:10C690000E948D8C6B017C0120E030E0A9010F9499 -:10C6A0008A2D87FF0BC0F7FAF094F7F8F09406C0D4 -:10C6B000C12CD12C80E8E82E80E4F82EF7FAF09413 -:10C6C000F7F8F094C98EDA8EEB8EFC8E80E090E065 -:10C6D000A8E4B2E489839A83AB83BC8380E090E0D2 -:10C6E000A0E2B1E48D839E83AF83B88789879A8760 -:10C6F000AB87BC8788E50E940D8D8823A1F040E0C0 -:10C7000050E0BA0188E50E943BC82091B5133091F2 -:10C71000B6134091B7135091B8130F94292B698326 -:10C720007A838B839C8389E50E940D8D8823A1F0F9 -:10C7300040E050E0BA0189E50E943BC82091B51362 -:10C740003091B6134091B7135091B8130F94292B21 -:10C750006D837E838F8398878AE50E940D8D882361 -:10C7600051F040E050E0BA018AE50E943BC8698779 -:10C770007A878B879C87F0903918F2FAFF24F0F8BB -:10C780001D861E861F86188A20E0AE01435F5F4F1C -:10C79000BE016F5F7F4FCE0149960E942C90882387 -:10C7A00029F1F11023C060E080E00E94048E80E057 -:10C7B00090E0A0E8B0E48D8B9E8BAF8BB88F198A88 -:10C7C0001A8A1B8A1C8A1D861E861F86188A8091DB -:10C7D000450B882359F020E0AE014B5E5F4FBE0150 -:10C7E0006F5E7F4FCE010D960E94A98E6C960FB69C -:10C7F000F894DEBF0FBECDBFDF91CF91FF90EF90D9 -:10C80000DF90CF9008950F94860B88EF92E30F94FA -:10C810009D0A83E50E94C48C882321F00E94798CB4 -:10C8200080935E0280915E02811103C08DED9CE0D9 -:10C8300002C081EE9CE00F949D0A80EF92E30F947A -:10C840009D0A2091B5133091B6134091B7135091C2 -:10C85000B81360914602709147028091480290910E -:10C8600049020F942A2BAB01BC018EEE92E30F9488 -:10C87000510B2091B9133091BA134091BB135091D1 -:10C88000BC1360914E0270914F02809150029091C2 -:10C8900051020F942A2BAB01BC018BEE92E30F9453 -:10C8A000510B2091BD133091BE134091BF13509195 -:10C8B000C013609156027091570280915802909176 -:10C8C00059020F942A2BAB01BC0188EE92E30F941E -:10C8D000510B80EE92E30F949D0A2091B513309195 -:10C8E000B6134091B7135091B81360914A027091FA -:10C8F0004B0280914C0290914D020F942A2BAB0178 -:10C90000BC018EED92E30F94510B2091B91330913D -:10C91000BA134091BB135091BC13609152027091B5 -:10C92000530280915402909155020F942A2BAB012F -:10C93000BC018BED92E30F94510B2091BD1330910C -:10C94000BE134091BF135091C01360915A02709171 -:10C950005B0280915C0290915D020F942A2BAB01E7 -:10C96000BC0188ED92E30F94510B8AE00C94B9520C -:10C97000882319F00F94860B03C080E20E94B952FD -:10C9800040914C1150914D1160914E1170914F1189 -:10C9900081ED92E30F94510B409150115091511140 -:10C9A00060915211709153118EEC92E30F94510BE0 -:10C9B0004091541150915511609156117091571139 -:10C9C0008BEC92E30F94510B4091581150915911F7 -:10C9D00060915A1170915B1188EC92E30F94510BA6 -:10C9E0008AE00C94B9522F923F924F925F926F92CD -:10C9F0007F928F929F92AF92BF92CF92DF92EF92EF -:10CA0000FF920F931F93CF93DF9300D01F92CDB768 -:10CA1000DEB72DB63EB684E50E94C48C882309F4A7 -:10CA200041C060E089E40E941A8D082F61E070E047 -:10CA300082E50E94E1A66C0160E070E083E50E945F -:10CA4000E1A6182F65E470E08CE40E94E1A65C0189 -:10CA500064EF71E087E50E94E1A62C01990F66085A -:10CA60007708812F90E0A816B906CCF01634A8F408 -:10CA7000011156C1812F0E942A50882309F450C108 -:10CA800023EA37E041E060E0812F0E9446A28AE07D -:10CA90000E94B9528AE00E94B9521F5FE2CF8AEA2F -:10CAA0009FE299C085E40E94C48C8823B1F00E9463 -:10CAB000798C80935F1387EB92E30F949D0A8091AA -:10CAC0005F13811103C089EA92E302C08DEA92E309 -:10CAD0000F949D0A80EB92E37EC083E50E94C48C94 -:10CAE000882309F47BC060E080E50E94F0A6082F4F -:10CAF00010E0B8018FE492E30F94620BF801EE0F9F -:10CB0000FF1FEE0FFF1FE759FC4F608171818EE31D -:10CB100092E30F94440B6AE570E08DE292E30F9488 -:10CB2000440B8AE00E94B95262E170E089E192E32D -:10CB30000F94620B8AE00E94B9528DEF91E30F943B -:10CB40009D0A81EB9FE20F949D0A8AE00E94B952F0 -:10CB500053985B9A88EE91E30F949D0A54EF452E0B -:10CB600055245394612C712C49825A826B827C82A9 -:10CB7000BE016F5F7F4F80EA0E946A916EEE862E43 -:10CB800062E0962EA12CB12C89829A82AB82BC8263 -:10CB9000BE016F5F7F4F8AE50E946A917801EE0CBB -:10CBA000FF1C4B990DC149825A826B827C82BE0167 -:10CBB0006F5F7F4F8CE30E946A914B99E3C000C185 -:10CBC0008FEFE81AF80A98E9E9169AE3F90609F0EE -:10CBD00046C187EB9FE20F949D0ADAC160E070E0E6 -:10CBE00080E50E94E1A68C01F82E80E50E940D8D63 -:10CBF000811107C0E5E4E01708F4CAC195E4E92E05 -:10CC000001C0E02E60E089E40E941A8D582E60E099 -:10CC100087E50E941A8D882309F47FC08DB69EB6E1 -:10CC20008AE992E30F949D0A6801DD248E2D90E03D -:10CC30008C199D0901962DB73EB7281B390B0FB6ED -:10CC4000F8943EBF0FBE2DBF8DB79EB701965C0115 -:10CC5000E01660F0063440F4511064C1802F0E9449 -:10CC60002A50882309F45EC10F5FF2CF40906F1203 -:10CC700083E080936F1281E08093141441E852E3C3 -:10CC80006AE872E382E00E94E98D81E792E30E9404 -:10CC900011C87F2CE71418F195E49715F0F05110A6 -:10CCA00005C0872D0E942A50811117C0872D0E9430 -:10CCB0003BED682E072D10E00C191D090A0D1B1DF8 -:10CCC000F8018081681649F02BEC35E040E0652DD5 -:10CCD000872D0E9446A2F80160827394DBCF809179 -:10CCE0001414882339F068EC70E080E090E00F9431 -:10CCF0006E0ACFCF40926F120FB6F8949EBE0FBE51 -:10CD00008DBE46C1F5E4FF1538F02BEC35E041E06F -:10CD1000652D8F2D0E9446A2F394EF1498F738C129 -:10CD2000A8952EEA37E041E0602F812F0E9446A2AD -:10CD300061E0812F0E9493EDE12CF12CEC14FD04B5 -:10CD40000CF0A8CEA89560E0812F0E9464EDC3018D -:10CD5000B2010F946E0AA89561E0812F0E9464EDE4 -:10CD6000C301B2010F946E0AA89560E0812F0E9462 -:10CD700064EDC301B2010F946E0AA8952FEFE21A79 -:10CD8000F20ADCCF89829A82AB82BC82BE016F5FDD -:10CD90007F4F8AE00E946A914B9912C089829A82E1 -:10CDA000AB82BC82BE016F5F7F4F8AE50E946A91B1 -:10CDB00083EA91E30F949D0ACC24C394D12C36C00E -:10CDC0008AE891E30F949D0A84E0B82EC701800F92 -:10CDD000911F9C012B5D394E69016AE070E0C6012C -:10CDE0000E94415164EF71E080E090E00F946E0A80 -:10CDF000A9B06AE570E0C6010E94415164EF71E09C -:10CE000080E090E00F946E0A89B1BA94B110E5CF3A -:10CE10008870D82EA3FE9CC08AE591E30F949D0AEA -:10CE2000DD2009F4A2C0C12CDD24D3940E0D1F1DFA -:10CE30000B5D194E6AE070E0C8010E94415164EF39 -:10CE400071E080E090E00F946E0A86E790E30F9423 -:10CE50009D0AE12CF12C34EFA32EBB24B39462E0A5 -:10CE600070E080E090E00F946E0AC701B5010F9466 -:10CE7000F92A892B51F40E94F1EE60939D1470936E -:10CE80009E1480939F149093A01489B183FB8827EC -:10CE900080F98D1509F494CEE12CF12C89B183FB36 -:10CEA000882780F9D81669F062E070E080E090E0B1 -:10CEB0000F946E0A8FEFE81AF80A9FE0E916F10462 -:10CEC00069F788E690E30F949D0A3FE0E316F104CA -:10CED00049F488E590E30F949D0ACC20A9F08CE3F7 -:10CEE00090E314C0B701660F771F8BE490E30F94B3 -:10CEF000440B8AE00E94B95234E0E316F10408F0D2 -:10CF000044C082ED9FE206C08CE290E30F949D0A3C -:10CF10008DEF9FE20F949D0A6AE570E0C8010E94C0 -:10CF2000415136C062E0802F0E9493ED61E070E0D5 -:10CF300080E090E00E94B7EE602E712C6C187D08A6 -:10CF4000802F0E943BEDF501E60DF71D80838CCE0E -:10CF5000882349F08CE391E30F949D0A69EB77E015 -:10CF60008BEF90E30AC0C12C61CF8CE391E30F9467 -:10CF70009D0A64EE77E08BE191E30F946F0B8AE0FA -:10CF80000E94B95280EA90E326CE89E090E3BECFBA -:10CF90000FB6F8943EBE0FBE2DBE0F900F900F90AF -:10CFA0000F90DF91CF911F910F91FF90EF90DF9045 -:10CFB000CF90BF90AF909F908F907F906F905F9039 -:10CFC0004F903F902F90089590E0FC013197E2310F -:10CFD000F10508F04EC08827ED52FF4F8F4F0D949A -:10CFE000212B809180008F7703C0809180008F7DFE -:10CFF00080938000089580918000877FF9CF84B569 -:10D000008F7702C084B58F7D84BD08958091B00074 -:10D010008F7703C08091B0008F7D8093B00008951A -:10D02000809190008F7707C0809190008F7D03C022 -:10D0300080919000877F8093900008958091A00058 -:10D040008F7707C08091A0008F7D03C08091A000E2 -:10D05000877F8093A0000895809120018F7707C07B -:10D06000809120018F7D03C080912001877F809374 -:10D07000200108953FB7F8948091951390919613ED -:10D08000A0919713B091981326B5A89B05C02F3F88 -:10D0900019F00196A11DB11D3FBFBA2FA92F982FDE -:10D0A0008827820F911DA11DB11DBC01CD0142E059 -:10D0B000660F771F881F991F4A95D1F708959091A1 -:10D0C00012149817C9F080931214811109C080912D -:10D0D00010148093D70B809111148093D80B08956E -:10D0E0008091D70B809310141092D70B8091D80B9E -:10D0F000809311141092D80B0895CF93DF93CDB77E -:10D10000DEB780910E1481110FC09E01275F3F4F43 -:10D110004F8158856FE370E08EEC93E10F94FB2311 -:10D120008EEC93E10E94CCC7DF91CF9108951F93BD -:10D13000CF93DF938091CD13C82FC270D82FD470B6 -:10D14000182F117080FF04C0CC2311F0D11145C0FD -:10D150000F94860B88E794E30F949D0A111103C086 -:10D1600088E50E94B952C11103C089E50E94B952F5 -:10D17000D11103C08AE50E94B95280E794E30F946D -:10D180009D0ADD2319F04BEC55E002C04AE758E058 -:10D19000CC2319F02BEC35E002C02EE038E011234F -:10D1A00019F08BEC95E002C080E198E05F934F931B -:10D1B0003F932F939F938F938EE594E39F938F9349 -:10D1C0001F920E947DE88DB79EB709960FB6F8941E -:10D1D0009EBF0FBE8DBF81E001C080E0DF91CF9187 -:10D1E0001F910895AF92BF92CF92DF92EF92FF927C -:10D1F0000F931F93CF93DF93CDB7DEB72C970FB666 -:10D20000F894DEBF0FBECDBF25E0C22E23E0D22EA4 -:10D210005C0170E0CB018B5F9C4F7C01CE14DF047E -:10D2200009F180E20E94B952F60181916F010E94DA -:10D23000B9528AE30E94B952F501619171918191CD -:10D2400091915F018E010F5F1F4F23E041E00F942A -:10D250000C1F8C01F80181918F018823F9F20E9443 -:10D26000B952F8CF8AE00E94B9522C960FB6F894C2 -:10D27000DEBF0FBECDBFDF91CF911F910F91FF9009 -:10D28000EF90DF90CF90BF90AF9008952F923F9294 -:10D290004F925F926F927F928F929F92AF92BF92C6 -:10D2A000CF92DF92EF92FF920F931F93CF93DF9372 -:10D2B000CDB7DEB760970FB6F894DEBF0FBECDBF17 -:10D2C0009A8789877C876B87342E222E0E94ACA593 -:10D2D000882309F493C1E985FA856081718182818F -:10D2E0009381EB85FC85C080D180E280F380209122 -:10D2F000C1133091C2134091C3135091C4130F94C2 -:10D30000292B4B015C012091C5133091C61340912C -:10D31000C7135091C813C701B6010F94292B9B0165 -:10D32000AC01E0907F02F0908002009181021091A8 -:10D330008202409065025090660260906702709091 -:10D3400068028091610290916202A0916302B091A3 -:10D3500064028093650290936602A0936702B09383 -:10D36000680219821A821B821C82CE0101966C010E -:10D37000C501B4010E9422DE81E00E94FB9C811164 -:10D38000C4C08091A51482FF11C02091C9133091AF -:10D39000CA134091CB135091CC1360E070E080E44D -:10D3A00090EC0F94292B4B015C0106C0812C912C31 -:10D3B00030E2A32E31ECB32E20E030E040E850E420 -:10D3C000C501B4010E946A9C882329F060E070E0E6 -:10D3D00080EC9FE753C0C0907F02D0908002E09025 -:10D3E0008102F090820280E090E0A0E8B0E48983BE -:10D3F0009A83AB83BC8320E030E040EA50E4C7016D -:10D40000B6010F942A2B6D837E838F839887BE018C -:10D410006F5F7F4FCE0105960E9405DF20E030E070 -:10D4200040E050E4C501B4010E946A9C8111CECF56 -:10D4300020E030E040E450E460917F02709180028F -:10D4400080918102909182020F949A246D877E8749 -:10D450008F87988BA7019601C701B6010F942A2BDD -:10D460009B01AC016D857E858F8598890F942A2B51 -:10D470002DEC3CEC4CE45EE30F949A242091C9130C -:10D480003091CA134091CB135091CC130F942A2B97 -:10D490006B018C018EEF830D823050F580E090E0BF -:10D4A000A0E8B0E489839A83AB83BC8360917F0258 -:10D4B000709180028091810290918202E3E03E1699 -:10D4C00029F020E030E040EA50E404C020E030E001 -:10D4D00048EC51E40F942A2B6D837E838F839887C9 -:10D4E000BE016F5F7F4FCE0105960E9405DF08C029 -:10D4F000F1E03F1205C080E00E94FB9C811105C055 -:10D5000022E0221508F05BC008C0F2E0F21508F036 -:10D510007AC0C12CD12C00EC1FE722E1E22E28E0DA -:10D52000F22EF70181917F01882319F00E94B952F0 -:10D53000F8CF2091B5133091B6134091B7135091A5 -:10D54000B813E985FA8560817181828193810F9496 -:10D550002A2B43E00E9449539AE1E92E98E0F92EE4 -:10D56000F70181917F01882319F00E94B952F8CF09 -:10D570002091B9133091BA134091BB135091BC1351 -:10D58000EB85FC8560817181828193810F942A2BC8 -:10D5900043E00E9449538FE1E82E88E0F82EF7011E -:10D5A00081917F01882319F00E94B952F8CF43E09E -:10D5B000B601C8010E9449538AE00E94B9524092C4 -:10D5C000650250926602609267027092680296014C -:10D5D000A801B601C8010F941C2E882309F180E030 -:10D5E0000E94FB9C60E08FE494E30E9449F50F9455 -:10D5F000820B8FE394E30F949D0A12C0C12CD12CAF -:10D6000000EC1FE70DC040926502509266026092E6 -:10D61000670270926802C12CD12C00EC1FE7DFCFAB -:10D62000B601C80160960FB6F894DEBF0FBECDBF3D -:10D63000DF91CF911F910F91FF90EF90DF90CF90EE -:10D64000BF90AF909F908F907F906F905F904F9022 -:10D650003F902F90089584E495E10E94866784E4CA -:10D6600095E10E94B967809139188D7F8E7F8093F4 -:10D6700039181092351810923618109237181092E7 -:10D68000381881E080931F170895CF93DF9300D05F -:10D690001F92CDB7DEB78091131481111BC081E0BA -:10D6A000809313148091A1139091A213A091A313BE -:10D6B000B091A413B05889839A83AB83BC839E0135 -:10D6C0002F5F3F4F4DEA53E169EA73E185EA93E149 -:10D6D0000E94A7A80F900F900F900F90DF91CF910D -:10D6E0000895CF93DF9300D01F92CDB7DEB780911E -:10D6F00013148823F9F02AE939E949E95FE36091D5 -:10D70000A1137091A2138091A3139091A4130F946D -:10D710009A2469837A838B839C839E012F5F3F4F7A -:10D720004DEA53E169EA73E185EA93E10E94A7A813 -:10D73000109213140F900F900F900F90DF91CF91D4 -:10D7400008952F923F924F925F926F927F928F92A5 -:10D750009F92AF92BF92CF92DF92EF92FF920F9380 -:10D760001F93CF93DF93CDB7DEB7A0970FB6F89492 -:10D77000DEBF0FBECDBF1C018B015A8749873C8796 -:10D780002B87C0907702D0907802E0907902F090D9 -:10D790007A02DC018D919D910D90BC91A02D8D8719 -:10D7A0009E87AF87B88B9C01AD01C701B6010F946E -:10D7B000292B2B013C0180917B0290917C02A0914E -:10D7C0007D02B0917E02898B9A8BAB8BBC8BD8018A -:10D7D0008D919D910D90BC91A02D8D8B9E8BAF8BCB -:10D7E000B88F9C01AD0169897A898B899C890F94D6 -:10D7F000292B4B015C01A3019201C301B2010F94DB -:10D800009A242B013C01A5019401C501B4010F9498 -:10D810009A249B01AC01C301B2010F942A2B698F9A -:10D820007A8F8B8F9C8FE985FA854080518062804A -:10D830007380A3019201C701B6010F94292B6D8F4C -:10D840007E8F8F8F98A3AB85BC858D909D90AD907A -:10D85000BC90A501940169897A898B899C890F9470 -:10D86000292B6B017C012D853E854F855889C3018D -:10D87000B2010F94292B2B013C012D893E894F8940 -:10D88000588DC501B4010F94292B4B015C01A301F4 -:10D890009201C301B2010F949A242B013C01A5010E -:10D8A0009401C501B4010F949A249B01AC01C301FA -:10D8B000B2010F942A2B0F94D82D4B015C012D8DB2 -:10D8C0003E8D4F8D58A1CA01B9010F949A242B01A6 -:10D8D0003C01A7019601C701B6010F949A249B0150 -:10D8E000AC01C301B2010F942A2B9B01AC01698DDD -:10D8F0007A8D8B8D9C8D0F948A2D181604F520E05F -:10D9000030E0A901C501B4010F948A2D87FF04C03E -:10D91000C501B401905802C0C501B40120E030E057 -:10D9200040EA50E40F948A2D18164CF49801A10196 -:10D930006B857C8589859A850E94A1EB83C020E058 -:10D9400030E040E050E4698D7A8D8B8D9C8D0F9492 -:10D950008A2D18160CF044C00E9445EB19821A82D9 -:10D960001B821C8220E030E040E05FE360917F0298 -:10D970007091800280918102909182020F942A2BF3 -:10D980006D837E838F8398879E012F5F3F4FAE010B -:10D990004B5F5F4F6BE772E087E792E00E94A7A8BA -:10D9A00019821A821B821C8220E030E040E05FE393 -:10D9B0006091991370919A1380919B1390919C138D -:10D9C0000F942A2B6D837E838F8398879E012F5F10 -:10D9D0003F4FAE014B5F5F4FB801C1010E94A7A846 -:10D9E00019821A821B821C829E012F5F3F4F49E9D8 -:10D9F00053E1B801C1010E94A7A82DEC3CEC4CEC0E -:10DA00005CE3C501B4010F949A249B01AC016091C1 -:10DA10009D1370919E1380919F139091A0130F946A -:10DA20009A2469837A838B839C830E9471EB9E0185 -:10DA30002F5F3F4F49E953E16B857C8589859A8546 -:10DA40000E94A7A8A0960FB6F894DEBF0FBECDBF68 -:10DA5000DF91CF911F910F91FF90EF90DF90CF90CA -:10DA6000BF90AF909F908F907F906F905F904F90FE -:10DA70003F902F900895CF93DF93282F30E0F90146 -:10DA8000E750FC4C8491F901ED54FC4CD491F90120 -:10DA9000E359FC4CC491CC2391F081110E94E4E73E -:10DAA000EC2FF0E0EE0FFF1FED5AFC4CA591B49166 -:10DAB000EC91ED2381E090E021F480E002C080E071 -:10DAC00090E0DF91CF9108951F93CF93DF93282F9C -:10DAD00030E0F901E750FC4C8491F901ED54FC4C25 -:10DAE000D491F901E359FC4CC491CC23C1F0162F19 -:10DAF00081110E94E4E7EC2FF0E0EE0FFF1FE75CDE -:10DB0000FC4CA591B4919FB7F894111104C08C916D -:10DB1000D095D82302C0EC91DE2BDC939FBFDF9120 -:10DB2000CF911F910895CF93DF9390E0FC01ED54C6 -:10DB3000FC4C2491FC01E359FC4C8491882361F155 -:10DB400090E0880F991FFC01E15EFC4CC591D491D7 -:10DB5000FC01E75CFC4CA591B491611109C09FB731 -:10DB6000F8948881209582238883EC912E230BC022 -:10DB7000623061F49FB7F8948881322F3095832307 -:10DB80008883EC912E2B2C939FBF06C08FB7F894FF -:10DB9000E8812E2B28838FBFDF91CF9108951F93AB -:10DBA000CF93DF93182FEB0161E00E9493ED209754 -:10DBB00011F460E004C0CF3FD10539F461E0812F5A -:10DBC000DF91CF911F910C9464EDE12FF0E0E750CD -:10DBD000FC4CE4918E2F90E0FC013197E231F1058D -:10DBE00008F09DC08827EB51FF4F8F4F0D94212BDC -:10DBF00084B5806884BDC7BD97C084B5806284BD8C -:10DC0000C8BD92C080918000806880938000D093CE -:10DC10008900C093880088C08091800080628093D2 -:10DC20008000D0938B00C0938A007EC080918000DA -:10DC3000886080938000D0938D00C0938C0074C066 -:10DC40008091B00080688093B000C093B3006CC036 -:10DC50008091B00080628093B000C093B40064C033 -:10DC600080919000806880939000D0939900C09339 -:10DC700098005AC080919000806280939000D09369 -:10DC80009B00C0939A0050C0809190008860809360 -:10DC90009000D0939D00C0939C0046C08091A0004E -:10DCA00080688093A0008091A0008F7B8093A0006B -:10DCB000D093A900C093A80037C08091A0008062D3 -:10DCC0008093A000D093AB00C093AA002DC0809198 -:10DCD000A00088608093A000D093AD00C093AC00FA -:10DCE00023C080912001806880932001D093290176 -:10DCF000C093280119C08091200180628093200187 -:10DD0000D0932B01C0932A010FC08091200188601D -:10DD100080932001D0932D01C0932C0105C0C03801 -:10DD2000D1050CF04BCF45CFDF91CF911F910895D6 -:10DD3000863308F0865390917B00282F2870977FB8 -:10DD4000922B90937B008770806480937C008091FD -:10DD50007A00806480937A0080917A0086FDFCCFFF -:10DD6000809178002091790090E0922B08958F9215 -:10DD70009F92AF92BF92CF92DF92EF92FF926B0190 -:10DD80007C010E943AE84B015C01C114D104E1041A -:10DD9000F104F1F00E943AE8DC01CB0188199909FD -:10DDA000AA09BB09883E9340A105B10570F321E0A3 -:10DDB000C21AD108E108F10888EE880E83E0981EA7 -:10DDC000A11CB11CC114D104E104F10419F7DDCF89 -:10DDD000FF90EF90DF90CF90BF90AF909F908F908B -:10DDE00008952FB7F89460919113709192138091D8 -:10DDF0009313909194132FBF0895CF92DF92EF92D7 -:10DE0000FF920F931F93CF93DF93CDB7DEB7CE5A18 -:10DE1000D1090FB6F894DEBF0FBECDBFCF55DF4F8F -:10DE2000188219821A821B82C15AD0408091380808 -:10DE300090913908A0913A08B0913B08CB55DF4F3B -:10DE400088839983AA83BB83C55AD040C755DF4FC7 -:10DE500019821882C95AD04084E690E0C555DF4F38 -:10DE600099838883CB5AD040109227149E0127555E -:10DE70003F4F44E050E0BE016B557F4FCE018555CA -:10DE80009F4F0E94BC50C555DF4F88819981CB5A66 -:10DE9000D0400296C555DF4F99838883CB5AD04036 -:10DEA000C755DF4F19821882C95AD04081E0C25548 -:10DEB000DF4F8883CE5AD0409E0127553F4F41E027 -:10DEC00050E0BE0162557F4FCE0185559F4F0E94A5 -:10DED000BC509E0127553F4F48E450E068E371E194 -:10DEE000CE0185559F4F0E94BC508E010F5F1F4F82 -:10DEF00080E1F80111928A95E9F780E090E0A0EACC -:10DF0000B0E489839A83AB83BC839E0127553F4F3E -:10DF100040E150E0B801CE0185559F4F0E94BC50B2 -:10DF20009E0127553F4F44E050E06BEB7BE0CE0174 -:10DF300085559F4F0E94BC509E0127553F4F4CE096 -:10DF400050E062EB79E0CE0185559F4F0E94BC50B6 -:10DF50009E0127553F4F41E050E06BE172E0CE015A -:10DF600085559F4F0E94BC509E0127553F4F44E06E -:10DF700050E069E672E0CE0185559F4F0E94BC508B -:10DF80008091B7189091B818A091B918B091BA18AB -:10DF900089839A83AB83BC839E0127553F4F44E01E -:10DFA00050E0B801CE0185559F4F0E94BC50CF551F -:10DFB000DF4F188219821A821B82C15AD0407E011B -:10DFC000FDE6EF0EF11C83E0F701808389839E015B -:10DFD00027553F4F44E050E0BE016F557F4FCE01C3 -:10DFE00085559F4F0E94BC509E0127553F4F41E0F1 -:10DFF00050E0B701CE0185559F4F0E94BC509E0155 -:10E0000027553F4F41E050E0B801CE0185559F4F65 -:10E010000E94BC502AE0D22EDA949E0127553F4F31 -:10E0200044E050E0DD2049F0BE016F557F4FCE0146 -:10E0300085559F4F0E94BC50EFCF61EC73E1CE013C -:10E0400085559F4F0E94BC509E0127553F4F44E08D -:10E0500050E065EC73E1CE0185559F4F0E94BC50A6 -:10E060009E0127553F4F44E050E069EC73E1CE013B -:10E0700085559F4F0E94BC50CF55DF4F18821982A3 -:10E080001A821B82C15AD0409AE0D92EDA94DD2040 -:10E0900071F09E0127553F4F44E050E0BE016F559F -:10E0A0007F4FCE0185559F4F0E94BC50EFCF85E03A -:10E0B000F701808389839E0127553F4F41E050E05F -:10E0C000B701CE0185559F4F0E94BC509E01275538 -:10E0D0003F4F41E050E0B801CE0185559F4F0E946F -:10E0E000BC509E0127553F4F44E050E06DE274E183 -:10E0F000CE0185559F4F0E94BC509E0127553F4F32 -:10E1000044E050E063E274E1CE0185559F4F0E94E8 -:10E11000BC509E0127553F4F44E650E069E374E14F -:10E12000CE0185559F4F0E94BC50F70110828FEFA2 -:10E1300089839E0127553F4F41E050E0B701CE0152 -:10E1400085559F4F0E94BC509E0127553F4F41E08F -:10E1500050E0B801CE0185559F4F0E94BC509E01F2 -:10E1600027553F4F44E050E069E673E0CE01855506 -:10E170009F4F0E94BC509E0127553F4F41E050E009 -:10E1800062E274E1CE0185559F4F0E94BC508091A0 -:10E190000D0390910E03A0910F03B0911003F701AE -:10E1A00080839183A283B3838091110390911203A2 -:10E1B000A0911303B091140389839A83AB83BC832A -:10E1C000C356DF4F1882CD59D040C256DF4F188258 -:10E1D000CE59D0409E0127553F4F44E050E0B70153 -:10E1E000CE0185559F4F0E94BC509E0127553F4F41 -:10E1F00044E050E0B801CE0185559F4F0E94BC50CD -:10E200009E0127553F4F42E050E0BE0163567F4FCD -:10E21000CE0185559F4F0E94BC5080E1F8011192BC -:10E220008A95E9F780E090E0A0E8BFE38D879E87BC -:10E23000AF87B88B8091F50B9091F60BA091F70BFF -:10E24000B091F80B89839A83AB83BC838091F90BDF -:10E250009091FA0BA091FB0BB091FC0B8D839E83E8 -:10E26000AF83B8878091FD0B9091FE0BA091FF0BBF -:10E27000B091000C89879A87AB87BC879E01275590 -:10E280003F4F40E150E0B801CE0185559F4F0E94BD -:10E29000BC5084E190E09A8389839E0127553F4FCB -:10E2A00042E050E0B801CE0185559F4F0E94BC501E -:10E2B0009E0127553F4F4CE050E06EE879E0CE01DB -:10E2C00085559F4F0E94BC508FE790E09A838983C9 -:10E2D0009E0127553F4F42E050E0B801CE018555E1 -:10E2E0009F4F0E94BC5081E089839E0127553F4F7C -:10E2F00041E050E0B801CE0185559F4F0E94BC50CF -:10E3000080E2E5E1F3E0D80101900D928A95E1F712 -:10E310009E0127553F4F40E250E0B801CE018555A0 -:10E320009F4F0E94BC50F70110829E0127553F4F1E -:10E3300041E050E0B701CE0185559F4F0E94BC508F -:10E340009E0127553F4F41E050E06DE972E1CE015B -:10E3500085559F4F0E94BC509E0127553F4F44E07A -:10E3600050E062EA72E1CE0185559F4F0E94BC5099 -:10E370008AE1F80111928A95E9F79E0127553F4FEE -:10E380004AE150E0B801CE0185559F4F0E94BC5034 -:10E3900084E3E5E3F3E0D80101900D928A95E1F77B -:10E3A0009E0127553F4F44E350E0B801CE0185550B -:10E3B0009F4F0E94BC5088E0F80111928A95E9F7BE -:10E3C0009E0127553F4F48E050E0B801CE018555EA -:10E3D0009F4F0E94BC508DE0F80111928A95E9F799 -:10E3E0009E0127553F4F4DE050E0B801CE018555C5 -:10E3F0009F4F0E94BC509E0127553F4F44E050E084 -:10E4000061E07CE0CE0185559F4F0E94BC508CE0BE -:10E41000D82EF8018D2D11928A95E9F79E01275586 -:10E420003F4F4CE050E0B801CE0185559F4F0E9410 -:10E43000BC508CE6F80111928A95E9F79E012755A8 -:10E440003F4F4CE650E0B801CE0185559F4F0E94EA -:10E45000BC509E0127553F4F4CE050E066E174E10F -:10E46000CE0185559F4F0E94BC509E0127553F4FBE -:10E4700048E050E061E374E1CE0185559F4F0E9472 -:10E48000BC50F7011192DA94E9F7C355DF4F1882B7 -:10E49000CD5AD04080E090E0A0E4B0E4C356DF4F16 -:10E4A00088839983AA83BB83CD59D0409E01275589 -:10E4B0003F4F44E050E0B701CE0185559F4F0E9489 -:10E4C000BC509E0127553F4F44E050E0B7016C5FC0 -:10E4D0007F4FCE0185559F4F0E94BC509E0127550E -:10E4E0003F4F44E050E0B701685F7F4FCE01855554 -:10E4F0009F4F0E94BC509E0127553F4F41E050E086 -:10E50000BE0163557F4FCE0185559F4F0E94BC5081 -:10E510009E0127553F4F44E050E0BE0163567F4FB8 -:10E52000CE0185559F4F0E94BC5080E3F7011192A8 -:10E530008A95E9F784E298E00E94C4539E0127552A -:10E540003F4F40E350E0B701CE0185559F4F0E94F9 -:10E55000BC5010912714111156C0C555DF4FC8800B -:10E56000D980CB5AD040F4E6CF1AD108C755DF4F37 -:10E5700088819981C95AD040F7019183808384E6CC -:10E5800090E0C555DF4F99838883CB5AD0409E01D8 -:10E5900027553F4F44E050E06DE973E0CE018555CB -:10E5A0009F4F0E94BC509E0127553F4F42E050E0D4 -:10E5B000B701CE0185559F4F0E94BC500F94860B2A -:10E5C000B6018CEF94E30F94440BF7014081518125 -:10E5D00060E070E08FEE94E30F94330B8CEE94E3E5 -:10E5E0000F949D0AFCECCF16F2E0DF0639F00F9491 -:10E5F000820B8EE095E30F949D0A11E08091271421 -:10E60000182B1093271481E397E00E94C453909134 -:10E61000271481E08927C255DF4F0FB6F894DEBF7B -:10E620000FBECDBFDF91CF911F910F91FF90EF9063 -:10E63000DF90CF900895AF92BF92CF92DF92EF928A -:10E64000FF921F93CF93DF93CDB7DEB760970FB6DE -:10E65000F894DEBF0FBECDBF809177029091780213 -:10E66000A0917902B0917A0289839A83AB83BC83AB -:10E6700080917B0290917C02A0917D02B0917E02FC -:10E680008D839E83AF83B88780917F0290918002B3 -:10E69000A0918102B091820289879A87AB87BC875B -:10E6A0008091830290918402A0918502B0918602AC -:10E6B0008D879E87AF87B88B0E9481BE0E94DAC18A -:10E6C00080EEA82E84E3B82E96E4E92E92E0F92E8F -:10E6D00024EDC22E24E3D22E10E0812F0E9449C5E2 -:10E6E000F50185919591A591B491F701808391836E -:10E6F000A283B383F60185919591A591B491F70119 -:10E7000084839583A683B7831F5FF4E0AF0EB11CAB -:10E7100088E0E80EF11CE4E0CE0ED11C1330E9F6DF -:10E720006091291470912A1480912B1490912C14CB -:10E730000F94250F0F94590823EF34E045E35FE36E -:10E740006091BB0B7091BC0B8091BD0B9091BE0B87 -:10E750000F949A246B017C016091441170914511D2 -:10E7600080914611909147110F9439249B01AC017F -:10E77000C701B6010F949A2429E732E84AE550E42C -:10E780000F949A240F94D82D6093D30B7093D40BCD -:10E790008093D50B9093D60B0E94F8BE40E150E0D9 -:10E7A00067E772E0CE0101960F94492E892B89F01C -:10E7B00060960FB6F894DEBF0FBECDBFDF91CF914C -:10E7C0001F91FF90EF90DF90CF90BF90AF900C948F -:10E7D000B0DF60960FB6F894DEBF0FBECDBFDF91FD -:10E7E000CF911F91FF90EF90DF90CF90BF90AF90AF -:10E7F00008950F931F938091B812813019F40E94ED -:10E80000F1EE08C06091B4127091B5128091B61209 -:10E810009091B7120091A6121091A7122091A81200 -:10E820003091A912601B710B820B930B28EE33E021 -:10E8300040E050E00F948A2A8091AA129091AB1286 -:10E84000A091AC12B091AD12BC01CD01620F731F4B -:10E85000841F951F1F910F9108951092B812109266 -:10E86000A6121092A7121092A8121092A91210923A -:10E87000B4121092B5121092B6121092B7121092F2 -:10E88000AA121092AB121092AC121092AD1208950F -:10E890008091B812813099F58CE398E00E94C453BE -:10E8A00081E09AE59093BE168093BD1687E590E0CF -:10E8B0009093C0168093BF1687E08093B11682E8CC -:10E8C0008093B41684E890E0A0E0B0E08093B516A1 -:10E8D0009093B616A093B716B093B8160F94D102C2 -:10E8E00082E08093B8120E94F1EE6093B4127093AC -:10E8F000B5128093B6129093B71281E0089580E02C -:10E9000008958F929F92AF92BF92CF92DF92EF9233 -:10E91000FF920F931F93CF93DF93CDB7DEB72C9762 -:10E920000FB6F894DEBF0FBECDBF8B0140E050E0C4 -:10E9300068E472E44D835E836F83788740E050E043 -:10E9400060EA70E449875A876B877C87813019F0C9 -:10E95000823039F02AC0BE01675F7F4FC801089638 -:10E9600046C0F801208531854285538560917F023C -:10E970007091800280918102909182020F942A2BE3 -:10E980006B017C0120E030E048EC53E40F94342428 -:10E9900087FD06C0C12CD12C88ECE82E83E4F82E2C -:10E9A000C982DA82EB82FC821DC080907F02909047 -:10E9B0008002A0908102B0908202F801C084D184CC -:10E9C000E284F3849601A701B401C5010F943424B5 -:10E9D00087FD02C064017501C601D70189839A834E -:10E9E000AB83BC83BE01675F7F4FCE0101960E945F -:10E9F00005DFB8016C5F7F4FAE014B5F5F4FC80111 -:10EA00000E94E3DE0E94B0DF2C960FB6F894DEBFC2 -:10EA10000FBECDBFDF91CF911F910F91FF90EF906F -:10EA2000DF90CF90BF90AF909F908F90089580918E -:10EA3000391882FF2AC00E9487CF882319F180915C -:10EA4000311890913218A0913318B0913418009772 -:10EA5000A105B105B9F0BC01CD016D597F4F8F4FB4 -:10EA60009F4F24E630E040E050E00F948A2A609106 -:10EA700035187091361880913718909138180F9486 -:10EA80008A2A01C020E020931514809115148F77F5 -:10EA900008950F931F93CF93DF938C0167FF03C0FB -:10EAA00010920E1460E080910E1490E0262F062E36 -:10EAB000000C330B2817390734F160930E14C8018A -:10EAC0000F948223800F911FEC01C01BD10BC03427 -:10EAD000D1053CF00197FC012491207C2038D1F332 -:10EAE000F3CFDD27AE01B8018EEC93E10F94A323A1 -:10EAF000C253DC4E18828EEC93E1DF91CF911F91CF -:10EB00000F910C94CCC7DF91CF911F910F91089575 -:10EB1000109214141092140280913918806280931C -:10EB2000391861E08BEA94E30E942F8D40E050E0B9 -:10EB300060EC74E385E00E94A28E0E9497BD60E0C5 -:10EB400082EB94E30C9449F5CF93DF9320910E145C -:10EB5000211120C0FC0101900020E9F73197EF015D -:10EB6000C81BD90BC034D1052CF02291207C203851 -:10EB7000E1F3F5CFBC01DD27AE018EEC93E10F94FC -:10EB80009D2EC253DC4E18828EEC93E1DF91CF9123 -:10EB90000C94CCC7DF91CF9108958091391882FDF4 -:10EBA00005C08091B812823069F411C08091C61AF4 -:10EBB000882319F086EC9AE102C088E09BE161E0CD -:10EBC0000C94A4F5813031F482E994E305C08EE918 -:10EBD00094E302C08EE794E36FEF0C9449F5FF9243 -:10EBE0000F931F93CF93DF938B01D82FC92FF42E50 -:10EBF00020E030E048EC52E40F94342487FF0FC04B -:10EC000020E030E0A901B8018D2F9C2F0F948A2DB0 -:10EC100018164CF000E010E0D0E0C0E004C000E0C6 -:10EC200010E0D8ECC2E481E08F15E0F0B8018D2F40 -:10EC30009C2F0F94962C9B01AC01AFEFB0E00F948A -:10EC4000CB2A24E630E040E050E00F94AC2AEF2DD0 -:10EC5000F0E0E952F44F2F3F310519F010F02FEF9B -:10EC600030E02083DF91CF911F910F91FF900895A5 -:10EC7000E8E5F3E11082118212821382148280E0AF -:10EC80000C949DD72F923F924F925F926F927F92FA -:10EC90008F929F92AF92BF92CF92DF92EF92FF92AC -:10ECA0000F931F93CF93DF93CDB7DEB7CE59D10922 -:10ECB0000FB6F894DEBF0FBECDBF2DB63EB6CB5615 -:10ECC000DF4F19821882C559D04084E690E0C956BA -:10ECD000DF4F99838883C759D04001E09E012B56AE -:10ECE0003F4F44E050E0BE016F567F4FCE01895642 -:10ECF0009F4F0E947F509E012B563F4F42E050E0B5 -:10ED0000BE0167567F4FCE0189569F4F0E947F50AC -:10ED100043E050E0BE016F567F4F8DE993E00F94C2 -:10ED20008F2E892B19F1CC56DF4F8881C459D040E2 -:10ED3000882359F08FE3CF56DF4F8883C159D040E5 -:10ED4000CE56DF4F1882C259D0400F94860BBE01B9 -:10ED50006F567F4F86EA95E30F946F0B88E995E332 -:10ED60000F949D0A81E080932714FDC5C357DF4FA0 -:10ED7000188219821A821B82CD58D040CB56DF4FA1 -:10ED800019821882C559D04001E09E012B563F4F91 -:10ED900041E050E0BE0164567F4FCE0189569F4F3F -:10EDA0000E947F504DB65EB680E1EDE6F3E0DE01F5 -:10EDB000A358BF4F01900D928A95E1F780E1EDE7EE -:10EDC000F3E0DE01A359BF4F01900D928A95E1F760 -:10EDD00080E1EDE8F3E09E012F5F3F4F7901D9011B -:10EDE00001900D928A95E1F7C456DF4F4881CC59C6 -:10EDF000D04050E04D5F5F4F440F551F440F551FEB -:10EE00008DB79EB7841B950B0FB6F8949EBF0FBEAF -:10EE10008DBFADB7BEB711965D010091281411E00A -:10EE200001272C563F4FBD01CE0189569F4F0E94AE -:10EE30007F500091281401279E012B563F4F44E03C -:10EE400050E068E471E1CE0189569F4F0E947F50E7 -:10EE5000C456DF4FC880CC59D040D12CB3E0CB0E84 -:10EE6000D11CCC0CDD1CCC0CDD1CEDB7FEB7EC19B5 -:10EE7000FD090FB6F894FEBF0FBEEDBF2DB73EB72C -:10EE80002F5F3F4F49014DB75EB74C195D090FB673 -:10EE9000F8945EBF0FBE4DBF8DB79EB701963C0183 -:10EEA0000091281401279E012B563F4FA601B40163 -:10EEB000CE0189569F4F0E947F5000912814012750 -:10EEC0009E012B563F4FA601B301CE0189569F4F9D -:10EED0000E947F5000912814002309F44EC011E0D5 -:10EEE00001279E012B563F4F44E050E06CE671E154 -:10EEF000CE0189569F4F0E947F5000912814012710 -:10EF00009E012B563F4F44E050E060E771E1CE0197 -:10EF100089569F4F0E947F500091281401279E011F -:10EF20002B563F4F44E050E064E771E1CE01895633 -:10EF30009F4F0E947F500091281401279E012B565D -:10EF40003F4F44E050E068E771E1CE0189569F4FA2 -:10EF50000E947F500091281401279E012B563F4F9D -:10EF600044E050E06CE771E1CE0189569F4F0E946A -:10EF70007F5015E0DD24D39489C0C456DF4F28812B -:10EF8000CC59D04030E02E5F3F4FE8E3F1E1C3566B -:10EF9000DF4FB982A882CD59D04080E090E0B70120 -:10EFA000281739073CF0C356DF4FA881B981CD59E6 -:10EFB000D04012C0AC018430910510F043E050E025 -:10EFC000440F551F440F551FBDE7CB2ED12CCC0E3F -:10EFD000DD1E4C0D5D1DDA01AD90BD90CD90DC9035 -:10EFE000A192B192C192D1922817390714F0D4019D -:10EFF00012C0AC018430910510F043E050E0440FA2 -:10F00000551F440F551F1DE6C12ED12CCC0EDD1E01 -:10F010004C0D5D1DDA01AD90BD90CD90DC90A08AC5 -:10F02000B18AC28AD38A2817390714F0D3010DC0D8 -:10F03000AC018430910510F043E050E0440F551FBF -:10F04000440F551F460F571FDA01AD90BD90CD906C -:10F05000DC90A0A2B1A2C2A2D3A20196B4E06B0E32 -:10F06000711C44E0840E911CC356DF4FA881B98106 -:10F07000CD59D0401496C356DF4FB983A883CD59DC -:10F08000D0408430910509F08BCF29CF11500091E9 -:10F090002814112379F00D259E012B563F4F44E093 -:10F0A00050E0BE0163577F4FCE0189569F4F0E94AB -:10F0B0007F50ECCF11E001279E012B563F4F44E0DB -:10F0C00050E06BEB7BE0CE0189569F4F0E947F5052 -:10F0D0000FB6F8945EBE0FBE4DBE009128140127F6 -:10F0E0009E012B563F4F4CE050E062EB79E0CE01A1 -:10F0F00089569F4F0E947F500091281401279E013E -:10F100002B563F4F41E050E06BE172E0CE01895653 -:10F110009F4F0E947F500091281401279E012B567B -:10F120003F4F44E050E0BE016F5F7F4FCE018956F4 -:10F130009F4F0E947F500091281401110CC08981BB -:10F140009A81AB81BC818093690290936A02A093FB -:10F150006B02B0936C0211E001279E012B563F4FCA -:10F1600044E050E069E274E1CE0189569F4F0E946D -:10F170007F500091281401279E012B563F4F44E0F9 -:10F1800050E0BE0163577F4FCE0189569F4F0E94CA -:10F190007F5001E09E012B563F4F41E050E0BE0101 -:10F1A00063597F4FCE0189569F4F0E947F509E0129 -:10F1B0002B563F4F41E050E0BE016F5F7F4FCE01C5 -:10F1C00089569F4F0E947F50AE96AFACAE97898113 -:10F1D000A89E50011124C12CD12C00912814CA14CE -:10F1E000DB0491F001279E012B563F4F44E050E095 -:10F1F000BE0163577F4FCE0189569F4F0E947F50BB -:10F20000BFEFCB1ADB0AE9CF11E001279E012B5695 -:10F210003F4F44E050E061EC73E1CE0189569F4FCF -:10F220000E947F500091281401279E012B563F4FCA -:10F2300044E050E065EC73E1CE0189569F4F0E9497 -:10F240007F500091281401279E012B563F4F44E028 -:10F2500050E069EC73E1CE0189569F4F0E947F50C8 -:10F260001AE0DD24D394115089F0009128140D2563 -:10F270009E012B563F4F44E050E0BE0163577F4F45 -:10F28000CE0189569F4F0E947F50EDCF01E09E0135 -:10F290002B563F4F41E050E0BE0165567F4FCE01F7 -:10F2A00089569F4F0E947F509E012B563F4F41E051 -:10F2B00050E0BE0163587F4FCE0189569F4F0E9498 -:10F2C0007F50C556DF4F8881CB59D040009128141C -:10F2D0008530C9F5EE968FADEE978530A1F5011119 -:10F2E00003C080E00F9413080091281411E0012757 -:10F2F0009E012B563F4F44E050E06DE274E1CE0199 -:10F3000089569F4F0E947F500091281401279E012B -:10F310002B563F4F44E050E063E274E1CE01895642 -:10F320009F4F0E947F500091281401279E012B5669 -:10F330003F4F44E650E069E374E1CE0189569F4FA8 -:10F340000E947F5043C011E001279E012B563F4F82 -:10F3500044E050E0BE0163597F4FCE0189569F4F74 -:10F360000E947F500091281401279E012B563F4F89 -:10F3700044E050E0BE016F5F7F4FCE0189569F4F42 -:10F380000E947F50C556DF4FA880CB59D040EE96E3 -:10F390008FADEE97A89E50011124C12CD12CAC1436 -:10F3A000BD04A1F00091281401279E012B563F4F68 -:10F3B00044E050E0BE0163577F4FCE0189569F4F16 -:10F3C0000E947F50EFEFCE1ADE0AE9CF0091281499 -:10F3D00011E001279E012B563F4F41E050E0BE0156 -:10F3E00063597F4FCE0189569F4F0E947F500091F5 -:10F3F000281401279E012B563F4F41E050E0B701F2 -:10F40000CE0189569F4F0E947F50009128140127FA -:10F410009E012B563F4F44E050E0B701CE01895684 -:10F420009F4F0E947F500091281401279E012B5668 -:10F430003F4F41E050E062E274E1CE0189569F4FB8 -:10F440000E947F500091281401279E012B563F4FA8 -:10F4500044E050E0BE0163597F4FCE0189569F4F73 -:10F460000E947F500091281401279E012B563F4F88 -:10F4700044E050E0B701CE0189569F4F0E947F5073 -:10F480000091281401279E012B563F4F42E050E087 -:10F49000BE0163587F4FCE0189569F4F0E947F5017 -:10F4A0000091281401279E012B563F4F40E150E068 -:10F4B000B701CE0189569F4F0E947F5000912814BA -:10F4C00001112EC089809A80AB80BC8020E030E89A -:10F4D0004BE355E4C501B4010F943424882301F1B2 -:10F4E0008092F50B9092F60BA092F70BB092F80B6E -:10F4F0008D819E81AF81B8858093F90B9093FA0B33 -:10F50000A093FB0BB093FC0B89859A85AB85BC85DA -:10F510008093FD0B9093FE0BA093FF0BB093000C18 -:10F5200011E001279E012B563F4F42E050E0BE0103 -:10F530006F5F7F4FCE0189569F4F0E947F50009191 -:10F54000281401279E012B563F4F4CE050E0BE018E -:10F550006F5F7F4FCE0189569F4F0E947F50009171 -:10F560002814011115C020E030E84BE355E469810F -:10F570007A818B819C810F943424882349F08CE01C -:10F58000FE013196AEE8B9E001900D928A95E1F75F -:10F5900011E001279E012B563F4F42E050E0B7019A -:10F5A000CE0189569F4F0E947F5000912814012759 -:10F5B0009E012B563F4F41E050E0B701CE018956E6 -:10F5C0009F4F0E947F500091281401279E012B56C7 -:10F5D0003F4F40E250E0B701CE0189569F4F0E9455 -:10F5E0007F500091281401279E012B563F4F41E088 -:10F5F00050E0BE0163597F4FCE0189569F4F0E9454 -:10F600007F500091281401279E012B563F4F45E063 -:10F6100050E0B701CE0189569F4F0E947F50009164 -:10F62000281401110FC0898180939D128A819B81CA -:10F63000AC81BD818093A2129093A312A093A412D7 -:10F64000B093A51211E001279E012B563F4F4AE1CE -:10F6500050E0B701CE0189569F4F0E947F50009124 -:10F66000281401279E012B563F4F44E350E0B70179 -:10F67000CE0189569F4F0E947F5000912814012788 -:10F680009E012B563F4F48E050E0B701CE0189560E -:10F690009F4F0E947F500091281401279E012B56F6 -:10F6A0003F4F4DE050E0B701CE0189569F4F0E9479 -:10F6B0007F500091281401279E012B563F4F44E0B4 -:10F6C00050E0B701CE0189569F4F0E947F500091B4 -:10F6D000281401110CC089819A81AB81BC8180936F -:10F6E000010C9093020CA093030CB093040C11E056 -:10F6F00001279E012B563F4F4CE050E0B701CE0151 -:10F7000089569F4F0E947F500091281401279E0127 -:10F710002B563F4F4CE650E0B701CE0189569F4F24 -:10F720000E947F5019821A821B821C821D821E82B7 -:10F730001F82188619861A861B861C86009128143B -:10F7400001279E012B563F4F4CE050E0B701CE0100 -:10F7500089569F4F0E947F500091281401279E01D7 -:10F760002B563F4F48E050E061E374E1CE018956EB -:10F770009F4F0E947F500091281401279E012B5615 -:10F780003F4F44E050E0B701CE0189569F4F0E94A1 -:10F790007F500091281401279E012B563F4F44E0D3 -:10F7A00050E0BE016B5F7F4FCE0189569F4F0E9494 -:10F7B0007F500091281401279E012B563F4F44E0B3 -:10F7C00050E0BE01675F7F4FCE0189569F4F0E9478 -:10F7D0007F500091281401279E012B563F4F41E096 -:10F7E00050E0BE0163587F4FCE0189569F4F0E9463 -:10F7F0007F500091281401279E012B563F4F44E073 -:10F8000050E0BE0163597F4FCE0189569F4F0E9441 -:10F810007F5080E3D7011D928A95E9F70091281463 -:10F8200001279E012B563F4F40E350E0B701CE0128 -:10F8300089569F4F0E947F5080912814811104C0E7 -:10F8400083E598E00E94C453C956DF4F88819981AF -:10F85000C759D0408033934041F00F94820B8EE023 -:10F8600095E30F949D0A81E001C080E08093271406 -:10F870008823C1F00F94860BC956DF4F68817981C8 -:10F88000C759D0406456710980E995E30F94620B23 -:10F890006CEC72E088E895E30F94440B8AE00E94D8 -:10F8A000B95257C0CB56DF4F28813981C559D04056 -:10F8B000C756DF4F88819981C959D0402817390729 -:10F8C000E1F081E0809327140F94820BC756DF4F3D -:10F8D00068817981C959D04088E695E30F94440B3B -:10F8E000CB56DF4F68817981C559D04083E695E3D7 -:10F8F0000F94440B83E595E32AC08091281481116D -:10F9000028C00F94860B0DE913E0F80181918F0157 -:10F91000882319F00E94B952F8CFC956DF4F688189 -:10F920007981C759D0406456710986E395E30F94F5 -:10F93000620BCB56DF4F48815981C559D04060E0FA -:10F9400070E089E295E30F94330B86E295E30F9420 -:10F950009D0A80912814811106C08091271481117D -:10F9600002C00E941BF380912814811102C00E94E2 -:10F9700034FE9091271481E089270FB6F8943EBE9B -:10F980000FBE2DBEC256DF4F0FB6F894DEBF0FBEBE -:10F99000CDBFDF91CF911F910F91FF90EF90DF903E -:10F9A000CF90BF90AF909F908F907F906F905F901F -:10F9B0004F903F902F9008958091430B882319F02A -:10F9C0001092430B08958AED98E30F947703A8E310 -:10F9D000B1E120E030E0C9012430310510F083E0CE -:10F9E00090E0880F991F880F991FFC01E95CF94C82 -:10F9F000459155916591749154964D935D936D9396 -:10FA00007C935797FC01E95DF94C459155916591BF -:10FA1000749194964D935D936D937C939797FC01AD -:10FA2000E95EF94C45915591659174914D935D93C3 -:10FA30006D937D932F5F3F4F2430310509F0CBCF7D -:10FA400080E29EE4A0E0B0E08093481190934911D9 -:10FA5000A0934A11B0934B1180E090E0A6E9B3E483 -:10FA600080936C1190936D11A0936E11B0936F11F0 -:10FA700040E050E06AE774E44093701150937111D4 -:10FA80006093721170937311809374119093751138 -:10FA9000A0937611B093771110927811109279118A -:10FAA00010927A1110927B1110927C1110927D119C -:10FAB00010927E1110927F118AE097EDA3EABDE3C8 -:10FAC0008093BB0B9093BC0BA093BD0BB093BE0B6C -:10FAD0008CE0E2EBF9E0DF011D928A95E9F781E025 -:10FAE00080931B02109281090E944F5080E090E0A9 -:10FAF000A0EAB0E48093690290936A02A0936B023B -:10FB0000B0936C0286E698E00E94C45310922914C8 -:10FB100010922A1410922B1410922C140E94C0924E -:10FB200080E090E0A4E2B2EC8093C1139093C21302 -:10FB3000A093C313B093C41380E090E0A0E0B1ECB5 -:10FB40008093C5139093C613A093C713B093C813A3 -:10FB50001092C9131092CA131092CB131092CC13A7 -:10FB60008FE195E8ABE6B1E48093F50B9093F60B4B -:10FB7000A093F70BB093F80B85E391E5A5E1BEE305 -:10FB80008093F90B9093FA0BA093FB0BB093FC0BB3 -:10FB900081E294EDAAEBB3E48093FD0B9093FE0B0E -:10FBA000A093FF0BB093000C83EC95E9ACE2B4E4B6 -:10FBB00080938E0990938F09A0939009B093910937 -:10FBC00080E29BE1A2E9B1E48093920990939309CA -:10FBD000A0939409B093950987EF9CEDABECB5E445 -:10FBE0008093960990939709A0939809B0939909E7 -:10FBF00010929D1280E090E0A0EEBFE38093A212ED -:10FC00009093A312A093A412B093A5121092AF09DF -:10FC10001092AE090E943DE11092010C1092020C6C -:10FC20001092030C1092040C80E090E0A7EDB3E476 -:10FC30008093311490933214A0933314B0933414FE -:10FC40008093351490933614A0933714B0933814DE -:10FC50000E941BF30F94860B84EF95E30F949D0A8B -:10FC600086E698E00C94C4538F929F92AF92BF9215 -:10FC7000CF92DF92EF92FF920F931F93CF93C82FF3 -:10FC8000811102C00F94860B83EC98E30F949D0AB8 -:10FC90008DEB98E30F949D0A8AE00E94B9528AE0A6 -:10FCA0000E94B952C11114C00F94860B8AEA98E3DE -:10FCB0000F949D0A80919D12882321F08AE00E9472 -:10FCC000B95204C08FE998E30F949D0A0F94860BF4 -:10FCD0004091A2125091A3126091A4127091A512AA -:10FCE00086E998E30F94510B8AE00E94B952809103 -:10FCF0009D12811108C0C11102C00F94860B8BE8C0 -:10FD000098E30F949D0AC11106C00F94860B8AE7F1 -:10FD100098E30F949D0A6FEF81E08C270E94B8E46E -:10FD2000C11108C00F94860B8CE598E30F949D0ACF -:10FD30000F94860B40915C1150915D1160915E11A2 -:10FD400070915F1183E598E30F94510B409160111E -:10FD500050916111609162117091631180E598E397 -:10FD60000F94510B4091641150916511609166118F -:10FD7000709167118DE498E30F94510B40916811D5 -:10FD80005091691160916A1170916B118AE498E346 -:10FD90000F94510B8AE00E94B952C11108C00F9410 -:10FDA000860B88E298E30F949D0A0F94860B60916E -:10FDB00038117091391180913A1190913B110F9443 -:10FDC0003924AB01BC018FE198E30F94510B609192 -:10FDD0003C1170913D1180913E1190913F110F9413 -:10FDE0003924AB01BC018CE198E30F94510B609175 -:10FDF00040117091411180914211909143110F94E3 -:10FE00003924AB01BC0189E198E30F94510B609157 -:10FE100044117091451180914611909147110F94B2 -:10FE20003924AB01BC0186E198E30F94510B8AE0C1 -:10FE30000E94B952C11108C00F94860B8CEC97E355 -:10FE40000F949D0A0F94860B40916C1150916D1187 -:10FE500060916E1170916F1183EC97E30F94510BC9 -:10FE600040917011509171116091721170917311E4 -:10FE700080EC97E30F94510B4091741150917511E0 -:10FE800060917611709177118DEB97E30F94510B80 -:10FE90008AE00E94B952C1110FC00F94860B85E70A -:10FEA00097E30F949D0A88E697E30F949D0A8AE0F2 -:10FEB0000E94B9520F94860B6091481170914911BC -:10FEC00080914A1190914B110F943924AB01BC01E0 -:10FED0008FE597E30F94510B409178115091791170 -:10FEE00060917A1170917B118CE597E30F94510B1F -:10FEF00040917C1150917D1160917E1170917F1124 -:10FF000089E597E30F94510B4091BB0B5091BC0BCB -:10FF10006091BD0B7091BE0B86E597E30F94510B7A -:10FF20008AE00E94B952C11108C00F94860B88E480 -:10FF300097E30F949D0A0F94860B4091B20950915C -:10FF4000B3096091B4097091B5098FE397E30F94F9 -:10FF5000510B4091B6095091B7096091B809709161 -:10FF6000B9098CE397E30F94510B4091BA09509172 -:10FF7000BB096091BC097091BD0989E397E30F94B7 -:10FF8000510B8AE00E94B952C11108C00F94860B30 -:10FF900085E297E30F949D0A0F94860B6091B61843 -:10FFA00070E08CE197E30F94620B4091B718509189 -:10FFB000B8186091B9187091BA1889E197E30F9455 -:10FFC000510B8AE00E94B95280912D1490912E1409 -:10FFD000892B09F443C099E3C92E94E1D92E00E09E -:10FFE00010E0E12CF12CA12CB12CC11102C00F9416 -:10FFF000860BB5018FE097E30F94620BB8018CE09C -:020000022000DC -:1000000097E30F94620B89E7882E88E0982EF4011D -:1000100081914F01882319F00E94B952F8CFF6015F -:10002000EE0DFF1D608171818281938145E00E9408 -:1000300049538AE00E94B952FFEFAF1ABF0A84E128 -:10004000E80EF11CE4E6EE16F10479F60F5F1F4F9F -:10005000F4E0CF0ED11C0530110519F6C11108C00E -:100060000F94860B8DEF96E30F949D0A0F94860BE9 -:100070004091F50B5091F60B6091F70B7091F80BD6 -:1000800084EF96E30F94510B2CEA35EC47E25EE3E4 -:100090006091F90B7091FA0B8091FB0B9091FC0B26 -:1000A0000F94242CAB01BC0181EF96E30F94510B0C -:1000B0002CEA35EC47E25EE36091FD0B7091FE0B9C -:1000C0008091FF0B9091000C0F949A24AB01BC011E -:1000D0008EEE96E30F94510B8AE00E94B952C11143 -:1000E00002C00F94860B40918E0950918F09609148 -:1000F00090097091910985EE96E30F94510B2CEACB -:1001000035EC47E25EE3609192097091930980912A -:100110009409909195090F94242CAB01BC0182EEB7 -:1001200096E30F94510B2CEA35EC47E25EE36091C5 -:1001300096097091970980919809909199090F9467 -:100140009A24AB01BC018FED96E30F94510B8AE02A -:100150000E94B952C11110C00F94860B80ED96E336 -:100160000F949D0A8DEB98E30F949D0A87E496E324 -:100170000F949D0A0F94860B4091C1135091C213A6 -:100180006091C3137091C41387EC96E30F94510BE5 -:100190008AE00E94B9524091C5135091C6136091F4 -:1001A000C7137091C8138EEB96E30F94510B8AE03E -:1001B0000E94B9524091C9135091CA136091CB1358 -:1001C0007091CC1385EB96E30F94510B8AE00E945B -:1001D000B952C11108C00F94860B84EA96E30F94BC -:1001E0009D0A0F94860B4091010C5091020C609176 -:1001F000030C7091040C8BE996E30F94510B8AE089 -:100200000E94B952C11108C00F94860B8CE796E387 -:100210000F949D0A0F94860B8AE496E30F949D0A2F -:100220004091351450913614609137147091381400 -:100230008AE796E30F94510B409131145091321498 -:10024000609133147091341487E796E30F94510B47 -:100250008AE00E94B952C11108C00F94860B8EE546 -:1002600096E30F949D0A0F94860B60911B0270E039 -:1002700085E596E30F94620B4091690250916A0202 -:1002800060916B0270916C0282E596E30F94510BC2 -:100290008AE0CF911F910F91FF90EF90DF90CF9068 -:1002A000BF90AF909F908F900C94B9528F929F9275 -:1002B000AF92BF92CF92DF92EF92FF920F931F9374 -:1002C000CF93DF9381E0809328140E9442F610922E -:1002D0002814882309F4DFC00E9442F6D82E8CE748 -:1002E00098E00E94C45380912D1490912E14892B74 -:1002F00009F47BC0EE24E394F12C00E010E0D1E09F -:1003000035E0C32EC0E0BB24B39445E0A42E55E0F5 -:10031000952E62E8862EEB24CC16D1F18F2D90E03D -:100320004897A4F5F394F801AC9EE00DF11D11245B -:10033000EE0FFF1FEE0FFF1FE75CFB4E20E030E0EB -:100340004AE754E460817181828193810F949A24F9 -:100350000F94962C7093BE166093BD169092B116B2 -:100360008092B4164F2D50E04158574F440F551FFF -:10037000052E000C660B770B4093B5165093B616FE -:100380006093B7167093B8160F94D102CD0FC4CFF7 -:100390000F5F1F4F0530110561F0E11005C0DFEF61 -:1003A000CC24CA94C4E0B7CFD1E025E0C22EC0E08F -:1003B000B2CF83E090E09093BE168093BD1685E0A7 -:1003C0008093B11682E88093B41685E490E1A0E0B2 -:1003D000B0E08093B5169093B616A093B716B0937D -:1003E000B8160F94D10281E01BC082E090E0909398 -:1003F000BE168093BD1685E08093B11682E8809387 -:10040000B41685E490E1A0E0B0E08093B516909337 -:10041000B616A093B716B093B8160F94D10280E029 -:100420000F9413084091C9135091CA136091CB13D4 -:100430007091CC1387EC95E30F94510B8AE00E94E6 -:10044000B95220E030E048EC52E46091C913709159 -:10045000CA138091CB139091CC130F949A240F94CC -:10046000962C7093BE166093BD1685E08093B116EE -:1004700082E88093B41686E290E1A0E0B0E0809339 -:10048000B5169093B616A093B716B093B8160F94FE -:10049000D1028D2D0BC00E94E7FC0E94FDEE0F944F -:1004A000860B80EE95E30F949D0A80E0DF91CF915B -:1004B0001F910F91FF90EF90DF90CF90BF90AF9082 -:1004C0009F908F90089584E08A950000E9F7089541 -:1004D000FC01DB018C9120813181382798E0A90152 -:1004E000440F551F37FD06C09A019150C1F7318363 -:1004F000208308959A01B1E22B27B0E13B27F5CF85 -:10050000EF92FF920F931F93CF93DF93FC01019023 -:100510000020E9F731979F01281B390B12161306AB -:10052000CCF56AE56093011765EA6093021763E012 -:10053000620F6093031762E86093041750930517E6 -:1005400040930617FC01A7E0B7E1820F931F41918A -:100550004D93E817F907D9F781E0E82E87E1F82EE7 -:1005600000E010E0E9012596C017D10764F0D7013B -:100570006D917D0187EA94E10E94675C0F946302AC -:100580000F5F1F4FF1CF8AE1E1E0F7E1DF011D923C -:100590008A95E9F7DF91CF911F910F91FF90EF902E -:1005A00008950F931F93CF93DF932091B2162A35AE -:1005B00009F098C09091B316953A09F093C08091D4 -:1005C000B116833008F48EC0209301179093021760 -:1005D000809303179091B416909304179038B1F458 -:1005E0009091B51690930517EDEBF6E1A6E0B7E113 -:1005F00020E030E090E00297281739070CF044C063 -:10060000408132964D932F5F3F4FF6CF833061F498 -:10061000913809F064C08091B516809305178091D8 -:10062000B9168093061730C09238F1F49091B51640 -:100630002091B6162093051790930617E7E0F7E18F -:1006400020E030E090E0039728173907ECF4D90157 -:10065000AE7FA354B94E4C9111965C915083418367 -:100660002E5F3F4F3296F0CF843071F4933861F4AF -:100670008091B5169091B616909305178093061742 -:100680008091B9168093071701E017E1C0E0D0E030 -:100690008091B11690E002968C179D075CF0D8010E -:1006A0006D918D0187EA94E10E94675C0F9463026B -:1006B0002196EECF80E5E1EBF6E1DF011D928A9510 -:1006C000E9F78AE1E1E0F7E1DF011D928A95E9F7B8 -:1006D0008AE58093B21685EA8093B31603C09238F8 -:1006E00099F6A4CFDF91CF911F910F910895CF93E9 -:1006F000DF93CDB7DEB7A8970FB6F894DEBF0FBE75 -:10070000CDBF8C010E94FDD70F94820B81E199E34C -:100710000F949D0A0115110511F408E019E3809169 -:10072000A61480FD75C081608093A61489E998E0C5 -:100730000E94C453882483948AE5982E9092BE1612 -:100740008092BD168FE090E09093C0168093BF1604 -:1007500097E0A92EA092B11622E8B22EB092B4165C -:1007600034E8C32ED12CE12CF12CC092B516D092D6 -:10077000B616E092B716F092B8160F94D102909286 -:10078000BE168092BD1688E590E09093C0168093C7 -:10079000BF16A092B116B092B416C092B516D09200 -:1007A000B616E092B716F092B8160F94D10263E035 -:1007B00070E080E090E00E94F2C68AE289838A833A -:1007C0008B838C83DE011596F801CE0101969D0185 -:1007D000281B390B44913196442311F04D93F7CFE8 -:1007E000FC01E20FF31F2AE2AF01481B590B48320C -:1007F000510511F02193F8CF40E650E160E070E040 -:100800000F9480026AE070E080E090E00E94F2C6FF -:1008100061E08FEF98E30E942F8D89EE93E030E640 -:10082000019729F0232F2A950000E9F7F9CFF894D2 -:1008300089EE93E038EE019729F0232F2A950000E6 -:10084000E9F7F9CF0E94FDD70E942850A895FECF66 -:10085000CF92DF92EF92FF920E94F1EE6B017C014A -:1008600028E5C20E22E0D21EE11CF11C0E94B85BFA -:100870008F3F61F00E94F1EEDC01CB018C199D09E4 -:10088000AE09BF09B7FDF2CF80E001C081E0FF9063 -:10089000EF90DF90CF9008958F929F92AF92BF928A -:1008A000CF92DF92EF92FF920F931F93CF93DF933C -:1008B00000D01F92CDB7DEB7FC018381813079F57E -:1008C000818181FF2CC081899289A389B489892B78 -:1008D0008A2B8B2B09F448C07F0140E050E0BA011D -:1008E000CF010E944D648823D1F0F7018588968856 -:1008F000A788B08CC18CD28C82E090E0A0E0B0E000 -:10090000F60180839183A283B3839E012F5F3F4FC3 -:10091000B501A401C6010E946563811102C080E097 -:100920003CC000E010E09801B501A401C6010E949E -:10093000D3628823A1F389809A80AB80BC80F601C2 -:100940008789803141F4F8EF8F16FFEF9F06A104ED -:10095000B10460F4DACF88EF88168FEF9806A80606 -:100960008FE0B80618F4D1CF81E017C0F701158ADF -:10097000168A178A108E118A128A138A148A818124 -:1009800080688183C7010E948667882341F240E026 -:1009900050E0BA01C7010E944D640F900F900F9074 -:1009A0000F90DF91CF911F910F91FF90EF90DF900B -:1009B000CF90BF90AF909F908F9008952F923F92CD -:1009C0004F925F926F927F928F929F92AF92BF925F -:1009D000CF92DF92EF92FF920F931F93CF93DF930B -:1009E0001F921F92CDB7DEB77C012DB73EB73A8379 -:1009F000298380917A18811107C010925F18109294 -:100A0000621881E080937A1880915718811107C08D -:100A100010923C1810923F1881E080935718FB0108 -:100A200080818F3259F48DE995E1F70191838083BC -:100A300010922F188B010F5F1F4F06C082E895E1BF -:100A4000F701918380838B01F701208031802FE5AE -:100A5000C22E28E1D22E0115110509F479C04DB638 -:100A60005EB66FE270E0C8010F947D2E4C0108174E -:100A7000190708F06BC03C01601A710A7724C301A2 -:100A800001962DB73EB7281B390B0FB6F8943EBF21 -:100A90000FBE2DBF8DB79EB701965C01A301B801B3 -:100AA0000F949D2EF501E60DF71D1082F701608170 -:100AB000718121E0A501C6010E94A56B81110FC0C3 -:100AC000B5018BEE98E30F946F0B88EE98E30F94CB -:100AD0009D0A0FB6F8945EBE0FBE4DBE39C0F70139 -:100AE000808191812816390611F00E94B967F701BB -:100AF000D182C082A0912F18AA3080F481E08A0FA1 -:100B000080932F18FBE1FA9FD0011124AF5DB84EFE -:100B1000F6018BE101900D928A95E1F7F701808152 -:100B200091818F55984129F49CE3C92E98E1D92EE3 -:100B300004C08FE5C82E88E1D82E84010F5F1F4FB7 -:100B40000FB6F8945EBE0FBE4DBE85CFC80102C081 -:100B500080E090E029813A810FB6F8943EBF0FBE45 -:100B60002DBF0F900F90DF91CF911F910F91FF90AC -:100B7000EF90DF90CF90BF90AF909F908F907F903D -:100B80006F905F904F903F902F9008952091A51403 -:100B90002695269520FF2DC020913A1830913B18BC -:100BA000280F391F30933B1820933A182091A31433 -:100BB0003091A414280F391F3093A4142093A31448 -:100BC000209108012170209306012091A1143091F9 -:100BD000A214820F931F9093A2148093A1140E94D9 -:100BE000F1EE60939D1470939E1480939F149093E4 -:100BF000A01408954F925F926F927F928F929F926E -:100C0000AF92BF92CF92DF92EF92FF920F931F931A -:100C1000CF93DF93EC016091231470912414072E7D -:100C2000000C880B990B0F943B249B01AC0168814D -:100C300079818A819B810F94292B6B017C016091C2 -:100C4000251470912614072E000C880B990B0F9415 -:100C50003B249B01AC016C817D818E819F810F942F -:100C6000292B4B015C012091730230917402409159 -:100C7000750250917602C701B6010F94342488237F -:100C800009F467C0C0927302D0927402E0927502B8 -:100C9000F09276022091A6183091A7184091A818DA -:100CA0005091A918C701B6010F949A242B013C0159 -:100CB0000F94CC2C6B017C0120E030E0A9010F9453 -:100CC000342487FD11C020E030E040E850E4C70143 -:100CD000B6010F948A2D181654F4C12CD12CC0E8FB -:100CE000EC2EC0E4FC2E03C0C12CD12C7601A70150 -:100CF0009601C301B2010F94292B2B013C0120E086 -:100D000030E0A9010F94342487FD09C04092A21855 -:100D10005092A3186092A4187092A51808C010925F -:100D2000A2181092A3181092A4181092A518C70127 -:100D3000B6010F94962C6093A118062E000C770B29 -:100D40006F5F7F4F6430710514F064E070E0609372 -:100D5000A01820916F023091700240917102509161 -:100D60007202C501B4010F943424D0916E02109127 -:100D7000A118811103C0D11368C028C180926F02ED -:100D800090927002A0927102B09272022091AA1801 -:100D90003091AB184091AC185091AD18C501B40119 -:100DA0000F949A244B015C010F94CC2C6B017C01B5 -:100DB00020E030E0A9010F94342487FD11C020E029 -:100DC00030E040E850E4C701B6010F948A2D1816B0 -:100DD00054F4C12CD12CB0E8EB2EB0E4FB2E03C0B0 -:100DE000C12CD12C7601A7019601C501B4010F9445 -:100DF000292B4B015C0120E030E0A9010F94342441 -:100E000087FD09C080929C1890929D18A0929E1810 -:100E1000B0929F1808C010929C1810929D181092C2 -:100E20009E1810929F18C701B6010F94962C6093DC -:100E30009B18062E000C770B6F5F7F4F6430710597 -:100E400014F064E070E060939A18C0919B18D1137D -:100E500005C080916D028C1709F46EC010936E026C -:100E6000C0936D020C2E000CDD0B85E0F82E2F2DAB -:100E70001203C0011124FC01EC0FFD1FEE0FFF1F38 -:100E8000EE0FFF1FE75CFB4E2081318142815381D1 -:100E90002093961830939718409398185093991868 -:100EA00000919A18002E000C110BFC01E00FF11FAD -:100EB000EE0FFF1FEE0FFF1FE75CFB4E608171819D -:100EC000828193810F94292B6093921870939318C9 -:100ED00080939418909395182091A0183F2D230388 -:100EE000F0011124CE0FDF1FCC0FDD1FCC0FDD1F53 -:100EF000C75CDB4E288139814A815B8120938E1843 -:100F000030938F184093901850939118E00FF11F71 -:100F1000EE0FFF1FEE0FFF1FE75CFB4E608171813C -:100F2000828193810F94292B60938A1870938B1878 -:100F300080938C1890938D1880909C1890909D1899 -:100F4000A0909E18B0909F182091921830919318FD -:100F50004091941850919518C501B4010F949A24AA -:100F6000209196183091971840919818509199189F -:100F70000F942A2B6B017C0160938618709387185D -:100F8000809388189093891820918A1830918B1833 -:100F900040918C1850918D18C501B4010F949A247A -:100FA00020918E1830918F1840919018509191187F -:100FB0000F942A2BA70196010F94292B6093821876 -:100FC00070938318809384189093851820918218C9 -:100FD0003091831840918418509185186091A2181F -:100FE0007091A3188091A4189091A5180F949A2439 -:100FF000209186183091871840918818509189184F -:101000000F942A2BDF91CF911F910F91FF90EF90BA -:10101000DF90CF90BF90AF909F908F907F906F9018 -:101020005F904F900895CF93DF93CDB7DEB72C97A5 -:101030000FB6F894DEBF0FBECDBF882331F02091EC -:101040002D1430912E14232B59F19091B618891735 -:1010500039F10E941CBF8CE0E3EBF3E0DE01119656 -:1010600001900D928A95E1F7CE0101960F94FA0551 -:101070008091B618882359F04FE752E06BE772E091 -:1010800087E792E00E9464C11092B61807C081E021 -:101090008093B61887E792E00E942DC10E94AEDFD0 -:1010A0002C960FB6F894DEBF0FBECDBFDF91CF9167 -:1010B0000895CF92DF92EF92FF9260912D1470917C -:1010C0002E14072E000C880B990B0F943B246B01F8 -:1010D0007C012DEB37E346E855EB0F948A2D87FD15 -:1010E0000AC02DEB37E346E855E3C701B6010F947C -:1010F000342418164CF4A701960160E070E080E8F3 -:101100009FE30F94242C03C060E070E0CB01609358 -:10111000A6187093A7188093A8189093A9186091A7 -:101120002F1470913014072E000C880B990B0F941C -:101130003B246B017C012DEB37E346E855EB0F9424 -:101140008A2D87FD0AC02DEB37E346E855E3C7013A -:10115000B6010F94342418164CF4A701960160E0F0 -:1011600070E080E89FE30F94242C03C060E070E0FF -:10117000CB016093AA187093AB188093AC1890932E -:10118000AD18FF90EF90DF90CF9008952F923F928F -:101190004F925F926F927F928F929F92AF92BF9287 -:1011A000CF92DF92EF92FF920F931F93CF93DF9333 -:1011B000CDB7DEB760970FB6F894DEBF0FBECDBFD8 -:1011C0008A876B87942EA22E282F30E03D872C87AC -:1011D00070E07987688715E0129FC001139F900D1A -:1011E00011249F878E87FB01E80FF91FEE0FFF1F69 -:1011F000EE0FFF1FE75CFB4E60817181828193815E -:101200009B01AC010F941C2E882309F44EC14A8522 -:10121000490D2B852A0D149FB0011124E885F9850D -:10122000E60FF71FEE0FFF1FEE0FFF1FE75CFB4EF1 -:10123000D080E180F2800381490D149FA001112428 -:10124000E885F985E40FF51FEE0FFF1FEE0FFF1F76 -:10125000E75CFB4E1081918082807380822F90E04A -:10126000EE85FF85E80FF91FEE0FFF1FEE0FFF1F42 -:10127000E75CFB4E608051803280338139832A0DD8 -:1012800030E0EE85FF85E20FF31FEE0FFF1FEE0F3C -:10129000FF1FE75CFB4EFF87EE87F081FA83EE8548 -:1012A000FF85F181FB83EE85FF85F281FC83EE856E -:1012B000FF85F381FD83FB01E80FF91FEE0FFF1F90 -:1012C000EE0FFF1FE75CFB4E60816E83B180728181 -:1012D0007F8383818E87FA01E20FF31FEE0FFF1FDA -:1012E000EE0FFF1FE75CFB4E4080A1809281988B40 -:1012F0002380212F392D482D572D612F792D882DB1 -:10130000972D0F941C2E882321F010E0912C812C16 -:10131000712C2D2D3E2D4F2D502F6D2D7E2D8F2D6F -:10132000902F0F941C2E882321F0D12EE92CF82C1D -:10133000072D2A813B814C815D816A817B818C8173 -:101340009D810F941C2E882321F01A821B821C82FF -:101350001D82262D352D432D5981662D752D832D0A -:1013600099810F941C2E882329F06A805B803C8031 -:10137000ED81E983242D3A2D4889522D642D7A2D53 -:101380008889922D0F941C2E882321F0412CA12CAA -:10139000188A212C2E813B2D4F815E856E817B2DFD -:1013A0008F819E850F941C2E882329F04E82BA2CA3 -:1013B000F889FF832E862D2D3E2D4F2D502F6D2D1C -:1013C0007E2D8F2D902F0F942A2B212F392D482DD4 -:1013D000572D0F94292B6B017C01262D352D432D84 -:1013E0005981662D752D832D99810F942A2B2A8181 -:1013F0003B814C815D810F94292B9B01AC01C7017E -:10140000B6010F942A2B3B014C012E813B2D4F81BD -:101410005E856E817B2D8F819E850F942A2B242DD6 -:101420003A2D4889522D0F94292B9B01AC01C40100 -:10143000B3010F942A2B20E030E040E450E40F94F5 -:10144000242C9B01AC0185E06C857D85869FF00195 -:10145000879FF00D112488859985E80FF91FEE0FFD -:10146000FF1FEE0FFF1FE75CFB4E2083318342839B -:1014700053836B858A8560960FB6F894DEBF0FBEE6 -:10148000CDBFDF91CF911F910F91FF90EF90DF9033 -:10149000CF90BF90AF909F908F907F906F905F9014 -:1014A0004F903F902F900C940DC760960FB6F89414 -:1014B000DEBF0FBECDBFDF91CF911F910F91FF9087 -:1014C000EF90DF90CF90BF90AF909F908F907F90E4 -:1014D0006F905F904F903F902F900895CF92DF9242 -:1014E000EF92FF926B017C0183E3C816D104E10403 -:1014F000F10470F082E3C81AD108E108F10862E350 -:1015000070E080E090E00E94B7EE0F941F10ECCFE7 -:10151000C701B6010E94B7EEFF90EF90DF90CF9029 -:101520000D941F10CF93C82FCC2329F080E20E9486 -:10153000B952C150F9CFCF910895CF93DF93FC01F9 -:101540008491EF012196882321F00E94B952FE0177 -:10155000F7CFDF91CF9108958F929F92AF92BF9274 -:10156000CF92DF92EF92FF920F931F93CF93DF936F -:101570008FEB99E30F949D0AC12CD12C760186E064 -:101580000F94920AC701B6010E942D538FEFC81A1B -:10159000D80AE80AF80A95E0C916D104E104F10472 -:1015A00071F78AE00E94B95209E314E1C12CD12CF1 -:1015B000760180E20E94B952C701B6010E942D5304 -:1015C000C0E0D0E080E20E94B952F801EC0FFD1FAC -:1015D00080809180A280B380A5019401C501B401EF -:1015E0000F941C2E811112C020E030E0A901C5012A -:1015F000B4010F948A2D87FD03C08BE20E94B9527B -:1016000043E0C501B4010E94495309C0B12C80E2F6 -:101610000E94B952B3948DE396E0B912F9CF649663 -:10162000C436D10579F68AE00E94B9528FEFC81A04 -:10163000D80AE80AF80A0C5F1F4F95E0C916D104D2 -:10164000E104F10409F0B5CF8AE0DF91CF911F9159 -:101650000F91FF90EF90DF90CF90BF90AF909F9051 -:101660008F900C94B952CF92DF92EF92FF926A0161 -:101670007B010F949D0A4AE0C701B601FF90EF90ED -:10168000DF90CF900C94C052CF93DF93EB010F9477 -:101690009D0ABE0180E090E04AE0DF91CF910C947A -:1016A000C052CF92DF92EF92FF926A017B010F94BA -:1016B0009D0A42E0C701B601FF90EF90DF90CF9006 -:1016C0000C944953CF93DF93EB010F949D0ABE0115 -:1016D000DD0F880B990BDF91CF910C942D530F9355 -:1016E0001F93CF93DF938B010F949D0AE80189919B -:1016F000882319F00E94B952FACFDF91CF911F9140 -:101700000F91089588EB99E30D949D0A82EB99E37C -:101710000D949D0A0E94FDD70E9497BD80911214DE -:10172000882319F080E00E945FE880918702882377 -:1017300099F00F94820B8BE399E30F949D0A60E07C -:1017400081E399E30E9449F56EE571E080E090E065 -:101750000F946E0A1092870208952F923F924F9233 -:101760005F926F927F928F929F92AF92BF92CF9231 -:10177000DF92EF92FF920F931F93CF93DF93D82FB7 -:10178000C62F84EA98E00E94C453D1115AC0CC23DA -:1017900089F00E94D2608C01C12CD12CC0E0D0E035 -:1017A000A12CB12C86EC282E8AE1382E44244394B7 -:1017B000512C3FC00E9469C58111EBCF44C0C016B7 -:1017C000D10608F037C1C5014496C816D90608F0FD -:1017D00031C12FEFC21AD20A0F3F3FEF130709F0B2 -:1017E000C3C10E94D2608C018C159D0508F04EC1CA -:1017F000F10101900020E9F73197CF01865C9A4111 -:101800003C01EE24E394F12C97012A53354E490113 -:1018100046E050E06DEA78E0C9010F948F2E892BE5 -:1018200009F0F4C0E614F7040CF43FC18FEFA81AD6 -:10183000B80A0F3F2FEF120711F60E94D2608C01F9 -:10184000BECFC111A6CF3AE0C32E30E2D32EE12C99 -:10185000F12CC5E0D2E8812C912C54011092BE16D7 -:101860001092BD16C093B116D093B416D701C6011D -:10187000880D991DAA1DBB1D8093B5169093B616B1 -:10188000A093B716B093B8160F94D1028FEF881AB1 -:10189000980AA80AB80A9AE089169104A104B1042A -:1018A000E9F62AE0C20ED11CE11CF11C32EDC31690 -:1018B00030E2D306E104F10471F6C12C20E2D22E0D -:1018C000E12CF12CD5E0C2E81092BE161092BD16A4 -:1018D000D093B116C093B416C092B516D092B61676 -:1018E000E092B716F092B8160F94D1021092BE167D -:1018F0001092BD16D093B116C093B416D701C6018D -:101900008C529F4FAF4FBF4F8093B5169093B61632 -:10191000A093B716B093B8160F94D1028FEFC81AE0 -:10192000D80AE80AF80A9AE0C91690E2D906E10452 -:10193000F10451F69EEDC92E90E2D92EE12CF12C46 -:10194000D5E0C2E81092BE161092BD16D093B11623 -:10195000C093B416C092B516D092B616E092B716E0 -:10196000F092B8160F94D1022FEFC21AD20AE20AEF -:10197000F20A36EEC31630E2D306E104F10411F7A1 -:10198000CC24C39482E1D82EE12CF12C0AE010E0A3 -:10199000D5E0C2E81093BE160093BD16D093B116E1 -:1019A000C093B416C092B516D092B616E092B71690 -:1019B000F092B8160F94D1021093BE160093BD1684 -:1019C000D093B116C093B416D701C6018096A11D5D -:1019D000B11D8093B5169093B616A093B716B09329 -:1019E000B8160F94D1028FEFC81AD80AE80AF80A7D -:1019F00095E1C91692E1D906E104F10459F681EFA7 -:101A000093E00E94C45382E190E016C046E050E0AB -:101A100064EB78E0C4010F948F2E892B09F402CF78 -:101A20003FEFE31AF30AC7010197861597050CF4F7 -:101A3000EBCEF8CE81E190E09093BE168093BD1678 -:101A400085E08093B11682E88093B41684E190E13A -:101A5000A0E0B0E08093B5169093B616A093B716A9 -:101A6000B093B816DF91CF911F910F91FF90EF9037 -:101A7000DF90CF90BF90AF909F908F907F906F90AE -:101A80005F904F903F902F900D94D1020F3F8FEFBA -:101A9000180719F40E94D2608C0160E070E0C80160 -:101AA0008C199D090E940A61A3CE22E12C9FC001DE -:101AB0002D9F900D11249C012859344E4901A701F6 -:101AC0004231510514F041E150E066EC7AE1C40185 -:101AD0000F949D2E32E13C9FC0013D9F900D11243B -:101AE00068E07BE18053934E0F94882E8AE08C9FB0 -:101AF000A0018D9F500D1124465F5F4D052E000CF7 -:101B0000660B770BFE01EE0FFF1FEE0FFF1FEB5E64 -:101B1000F44E4383548365837683C4010F9480021B -:101B20007E019FEFE91AF90AF092171BE092161B4B -:101B30005092BE164092BD1625E02093B11632E8B1 -:101B40003093B416CF5FDD4ECE01DD0FAA0BBB0B79 -:101B50008093B5169093B616A093B716B093B816A7 -:101B60000F94D102E70165CE0C151D0508F440CE97 -:101B700094CF4F925F926F927F928F929F92AF928B -:101B8000BF92CF92DF92EF92FF921F93CF93DF939A -:101B9000C82F8DE795E19093C51A8093C41A1092CF -:101BA000761582E090E0A0E0B0E080935F1590931E -:101BB0006015A0936115B09362151092C31A10922C -:101BC000BF1A1092C01A1092C11A1092C21A8FEF47 -:101BD0009FEFDC018093BB1A9093BC1AA093BD1AAF -:101BE000B093BE1ACC2379F1C53008F001C140E0B2 -:101BF00060E070E0CB010E949A62882309F4F8C08B -:101C000020E1C29FC00111248555974EFC01E2548A -:101C1000FE4F20812F7709F0EBC03C964081518127 -:101C200062817381443651056105710508F4E0C095 -:101C30003497C080D180E280F380C114D104E104E4 -:101C4000F10421F4D5C0C12CD12C760140E0C701AC -:101C5000B6010E949A62182F882309F4C9C08091A6 -:101C6000C6189091C7188115924009F0C1C0A09183 -:101C7000CB18AA2309F4BCC06091C9187091CA1886 -:101C80006115710509F4B4C08090C818882009F462 -:101C9000AFC0A09371158092631580E0912CA12CA8 -:101CA000B12C412C512C32014394C82FA301920135 -:101CB000082E04C0220F331F441F551F0A94D2F769 -:101CC00082169306A406B50639F08F5FC83069F70F -:101CD00089E080936C158CC080936C152091D1188D -:101CE0003091D2182115310519F040E050E008C0BC -:101CF0002091DF183091E0184091E1185091E218DE -:101D000020936415309365154093661550936715BD -:101D100046015701860E971EA11CB11C80927215B8 -:101D200090927315A0927415B0927515E091CC182D -:101D3000F091CD18F0937815E0937715B0E00F94FB -:101D4000CB2A860E971EA81EB91E809279159092F6 -:101D50007A15A0927B15B0927C1585E0EE0FFF1FDF -:101D60008A95E1F7E150FE4FEF2FFF27E6958E0EA3 -:101D70009F1EA11CB11C80926D1590926E15A092B1 -:101D80006F15B09270152091CE183091CF18211593 -:101D9000310521F0A90160E070E008C04091DB1836 -:101DA0005091DC186091DD187091DE18D701C601E2 -:101DB00088199909AA09BB09840F951FA61FB71F87 -:101DC00004C0B695A79597958795CA95D2F7809345 -:101DD000681590936915A0936A15B0936B15853FAC -:101DE0002FE09207A105B10528F48CE080937615C9 -:101DF00010E01AC0853F9F4FA105B10510F480E1A6 -:101E000011C08091E7189091E818A091E918B0915D -:101E1000EA188093791590937A15A0937B15B09367 -:101E20007C1580E280937615812FDF91CF911F91F1 -:101E3000FF90EF90DF90CF90BF90AF909F908F90EA -:101E40007F906F905F904F900895FF920F931F9334 -:101E5000CF93DF938B01D82FC92F9B01482F592F88 -:101E60006091B7187091B8188091B9189091BA180C -:101E70000F943424882309F45FC0F090B61880E0F2 -:101E80000F94130820E030E0A901B8018D2F9C2F9A -:101E90000F948A2D181624F000E010E0D0E0C0E086 -:101EA000C801AD2FBC2F8093B7189093B818A0939A -:101EB000B918B093BA182DEB37E346E855EBB801E3 -:101EC0008D2F9C2F0F948A2D87FD0BC02DEB37E3B0 -:101ED00046E855E3B8018D2F9C2F0F943424181633 -:101EE00054F498014D2F5C2F60E070E080E89FE390 -:101EF0000F94242C03C060E070E0CB016093B21813 -:101F00007093B3188093B4189093B51880EF9FEF37 -:101F1000A9E7B4EC8093AE189093AF18A093B018D3 -:101F2000B093B118FF2041F081E0DF91CF911F9174 -:101F30000F91FF900D941308DF91CF911F910F9196 -:101F4000FF9008958F929F92AF92BF92CF92DF92AF -:101F5000EF92FF920F931F93CF93DF93EC018A01CF -:101F6000C880D980EA80FB80072E000C880B990B73 -:101F70000F943B244B015C019B01AC01C701B601EE -:101F80000F94342487FD10C0B801110F880B990BF2 -:101F90000F943B244B015C019B01AC01C701B601CE -:101FA0000F948A2D181624F488829982AA82BB8203 -:101FB000DF91CF911F910F91FF90EF90DF90CF9025 -:101FC000BF90AF909F908F900895EF92FF920F93E4 -:101FD0001F93CF93C82F7B018A01809187028823AA -:101FE000D1F00F94820BC7010F949D0A8CED99E3F9 -:101FF0000F949D0AC7FD08C06C2FCC0F770B880B80 -:10200000990B0E942D5304C088ED99E30F949D0A0B -:102010008AE00E94B9520E94FDD78091581E81111A -:1020200008C081E08093581E10928702C8010F9467 -:102030007703CF911F910F91FF90EF9008952F920A -:102040003F924F925F926F927F928F929F92AF9248 -:10205000BF92CF92DF92EF92FF920F931F93CF9395 -:10206000DF93CDB7DEB72F970FB6F894DEBF0FBE64 -:10207000CDBF8091571E81111DC080915E138111CB -:102080001DC02F960FB6F894DEBF0FBECDBFDF91F7 -:10209000CF911F910F91FF90EF90DF90CF90BF9065 -:1020A000AF909F908F907F906F905F904F903F90F8 -:1020B0002F90089580E090E00F9477030E9462D9FA -:1020C0000E94F1EE4B015C016091120270911302CB -:1020D000072E000C880B990B0F943B249B01AC013D -:1020E0006091EE0B7091EF0B8091F00B9091F10BE2 -:1020F0000F948A2D18163CF441E65AE364E77AE31C -:1021000080E00F94E50F80915C13882309F404C2EA -:102110006091F20B7091F30B072E000C880B990B5A -:102120000F943B2469837A838B839C833AE0E32E6C -:10213000F12C0CE310E020E0AE014F5F5F4F6EEE3C -:102140007BE087E89EE10E948FD5C090EE0BD09097 -:10215000EF0BE090F00BF090F10B6091100270919A -:102160001102072E000C880B990B0F943B249B0146 -:10217000AC01C701B6010F948A2D18160CF4A0C04B -:1021800060E06093F40B8091491390914A13A09101 -:102190004B13B0914C130097A105B10529F1A5018E -:1021A0009401281B390B4A0B5B0B57FD1DC0609136 -:1021B00047137091481380E090E00F9439249B01FD -:1021C000AC016091EE0B7091EF0B8091F00B909150 -:1021D000F10B0F94342487FF08C340E45AE362E50F -:1021E0007AE380E00F94E50F20E030E046E153E42D -:1021F00060918709709188098091890990918A0975 -:102200000F948A2D18160CF4D7C180914F1390911A -:102210005013A0915113B09152130097A105B1052D -:1022200029F1A5019401281B390B4A0B5B0B57FDC3 -:102230001DC060914D1370914E1380E090E00F949B -:1022400039249B01AC0160918709709188098091C4 -:10225000890990918A090F94342487FFB5C14AEF08 -:1022600059E36DE07AE38FEF0F94E50F80915713F8 -:10227000882309F48AC160918B0970918C09072E1B -:10228000000C880B990B0F943B2469837A838B8312 -:102290009C8392E0E92EF12C02E310E02FEFAE01D7 -:1022A0004F5F5F4F67E879E082E89EE10E948FD53B -:1022B00080915713882309F448C110928D09E1CE0B -:1022C0006091120270911302072E000C880B990B7B -:1022D0000F943B249B01AC01C701B6010F94342439 -:1022E00087FF4ECF6091F20B7091F30B6115710572 -:1022F00009F476C2072E000C880B990B0F943B242F -:10230000A70196010F94292B2B013C0120E030E01E -:1023100040E251EC0F94342487FD62C280915C133B -:1023200081115EC220E030E040E251E4C301B2011D -:102330000F948A2D18160CF465C28091811E8111AC -:1023400066C28091791E90917A1EA0917B1EB091F9 -:102350007C1E8D839E83AF83B88720917D1E309134 -:102360007E1E40917F1E5091801E29873A874B87A1 -:102370005C87A701960160916D1E70916E1E809121 -:102380006F1E9091701E0F94292B2091FD0B3091A0 -:10239000FE0B4091FF0B5091000C0F949A242D815D -:1023A0003E814F8158850F94292B20ED3CEC4CE465 -:1023B0005DE30F949A242D813E814F8158850F94BF -:1023C0002A2B6B017C016093791E70937A1E809397 -:1023D0007B1E90937C1E8091F90B9091FA0BA0913B -:1023E000FB0BB091FC0B8D839E83AF83B88729854F -:1023F0003A854B855C85C301B2010F942A2B162FB9 -:10240000072F382E292E20E030E0A9010F94342424 -:1024100087FD12C22D813E814F81588560E070E0BA -:102420008FE793E40F94242C69877D878E879F879D -:10243000212F302F432D522D0F94342487FF04C0B9 -:1024400019850D853E842F84812F902FA32DB22DC9 -:1024500080937D1E90937E1EA0937F1EB093801E5E -:102460002091F50B3091F60B4091F70B5091F80B42 -:10247000C301B2010F949A242B013C016093711E99 -:102480007093721E8093731E9093741E212F302FB1 -:10249000432D522D6D817E818F8198850F949A24D2 -:1024A0009B01AC016093751E7093761E8093771E1E -:1024B0009093781EC301B2010F942A2BA7019601B5 -:1024C0000F942A2B20E030E0A9010F942A2B698376 -:1024D0007A838B839C834FEF50E060E070E0CE0105 -:1024E00001960F94A20FC090EE0BD090EF0BE090EE -:1024F000F00BF090F10B69817A818B819C810F94B4 -:10250000962C75956795C0926D1ED0926E1EE092C6 -:102510006F1EF092701E35CE809158139091591312 -:10252000A0915A13B0915B130097A105B10509F46E -:10253000EFCDA5019401281B390B4A0B5B0B57FD0E -:10254000E7CD81E080935C13E3CDC0908709D09004 -:102550008809E0908909F0908A0920E030E040EA9B -:1025600050E4C701B6010F948A2D87FD0AC020E010 -:1025700030E046E153E4C701B6010F943424181645 -:1025800034F560E060938D097CCD80915313909178 -:102590005413A0915513B09156130097A105B1059E -:1025A00009F469CE881A990AAA0ABB0AB7FC63CE55 -:1025B00081E0809357135FCE4CE15AE360E37AE306 -:1025C0008FEF0F94E50F21CE0E944ED74FCE609132 -:1025D0008B0970918C096115710509F40AC1072EE8 -:1025E000000C880B990B0F943B24A70196010F94C4 -:1025F000292B4B015C0120E030E040E251EC0F94CC -:10260000342487FDF6C020E030E040E251E4C5010B -:10261000B4010F948A2D18160CF4EFC04090920963 -:102620005090930960909409709095098091880268 -:102630008111F8C02091691E30916A1E40916B1E75 -:1026400050916C1E8091651E9091661EA091671E30 -:10265000B091681E8D839E83AF83B887C501B40196 -:102660000F942A2B162F072F382E292E20E030E02A -:10267000A9010F94342487FDE4C0A301920160E016 -:1026800070E08FE793E40F94242C69877D878E8711 -:102690009F87212F302F432D522D0F94342487FFF5 -:1026A00004C019850D853E842F84812F902FA32D82 -:1026B000B22D8093691E90936A1EA0936B1EB093F7 -:1026C0006C1E20918E0930918F0940919009509194 -:1026D0009109C501B4010F949A244B015C016093E8 -:1026E0005D1E70935E1E80935F1E9093601E212F6F -:1026F000302F432D522DC301B2010F949A242B0188 -:102700003C016093611E7093621E8093631E9093E0 -:10271000641EA70196016091591E70915A1E809106 -:102720005B1E90915C1E0F94292B2091960930918D -:10273000970940919809509199090F949A242D81F5 -:102740003E814F8158850F94292B20ED3CEC4CE4C1 -:102750005DE30F949A242D813E814F8158850F941B -:102760002A2B6D837E838F8398876093651E709379 -:10277000661E8093671E9093681EC092591ED09269 -:102780005A1EE0925B1EF0925C1EA3019201C501ED -:10279000B4010F942A2B2D813E814F8158850F94CF -:1027A0002A2B20E030E0A9010F942A2B6B017C0139 -:1027B00020E030E0A9010F94342487FDE2CE20E030 -:1027C00030E04FE753E4C701B6010F948A2D181685 -:1027D000BCF0C701B6010F94962C75956795D2CEC3 -:1027E00081E08093811E60E08ECE80E00E949DD7C4 -:1027F000FBCC81E080938802C4CE81E08093880284 -:102800006FE7C0CE81E08093811E6FE77CCE10928F -:10281000811E19861A861B861C861D821E821F82B7 -:102820001886A7CD109288021D821E821F821886EC -:1028300020E030E0A90112CF10E000E0312C212C83 -:1028400003CE10E000E0312C212C2FCF90916F00AF -:10285000292F227091FF05C090916F009D7F90936A -:102860006F0034E0839FC0011124FC01E95BF14E4D -:102870004081518162817381FC01E55CF14E4083AE -:1028800051836283738381E080933A1E222329F06F -:1028900080916F00826080936F00089590916F0027 -:1028A000292F227091FF05C090916F009D7F90931A -:1028B0006F0094E0899FF0011124E95BF14E608183 -:1028C000718182819381222329F020916F002260FF -:1028D00020936F000895BC012091381E3091391E5D -:1028E0004091381E5091391E2417350711F09A0176 -:1028F000F7CF81E02617370709F080E008951F928F -:102900000F920FB60F9211242F933F938F939F93A3 -:10291000AF93BF938091911390919213A0919313D1 -:10292000B091941330918C1E23E0230F2D3720F4A7 -:102930000196A11DB11D05C026E8230F0296A11D19 -:10294000B11D20938C1E8093911390939213A093AA -:102950009313B09394138091951390919613A09133 -:102960009713B09198130196A11DB11D80939513F3 -:1029700090939613A0939713B0939813BF91AF9130 -:102980009F918F913F912F910F900FBE0F901F90AD -:102990001895CF93DF93CDB7DEB7A9970FB6F8940C -:1029A000DEBF0FBECDBF789484B5826084BD84B590 -:1029B000816084BD85B5826085BD85B5816085BD3A -:1029C00080916E00816080936E00109281008091F2 -:1029D000810082608093810080918100816080937A -:1029E0008100809180008160809380008091B1009F -:1029F00084608093B1008091B00081608093B000CA -:102A0000809191008260809391008091910081601B -:102A100080939100809190008160809390008091DC -:102A2000A10082608093A1008091A10081608093C9 -:102A3000A1008091A00081608093A000809121017D -:102A40008260809321018091210181608093210126 -:102A50008091200181608093200180917A008460C0 -:102A600080937A0080917A00826080937A008091CE -:102A70007A00816080937A0080917A0080688093E8 -:102A80007A001092C100259A2D986C98749A109231 -:102A900081090E944F501092C0008091C000826056 -:102AA0008093C0001092C50087E08093C40080919D -:102AB000C10080618093C1008091C10088608093D3 -:102AC000C1008091C10080688093C1000E94F1EE36 -:102AD0008BEE90E10F949D0A0F94860B14B710FFB4 -:102AE00004C082EE90E10F949D0A11FF04C081EDB5 -:102AF00090E10F949D0A12FF04C08FEB90E10F94B8 -:102B00009D0A13FF04C08EEA90E10F949D0A15FF01 -:102B100004C08DE990E10F949D0A14BE86E990E10E -:102B20000F949D0A80E20E94B9528DE890E10F94C3 -:102B30009D0A8AE00E94B9520F94860B8DE790E1BE -:102B40000F949D0A82E790E10F949D0A87E590E13A -:102B50000F949D0A0F94860B80E490E10F949D0AD8 -:102B60000F94860B80918D1E90918E1E9E012F5F7B -:102B70003F4F7901B901009719F0681B790B02C02A -:102B800063597E4181E390E10F94620B60E375E04D -:102B90008AE190E10F94620B8AE00E94B952809121 -:102BA0000A018E7F80930A0180910B0180958170CC -:102BB00080930901E091B714F091B81482E080830A -:102BC000E091B314F091B4141082E091B514F09137 -:102BD000B61480E180831092BF14E091BB14F09191 -:102BE000BC1486E08083E091B914F091BA1480811E -:102BF00080618083E091B914F091BA14808188607B -:102C00008083E091B914F091BA1480818068808348 -:102C1000E091B914F091BA1480818F7D80838AE5A8 -:102C20008093B2168093621685EA8093B3168093E0 -:102C300063168AE1E1E0F7E1DF011D928A95E9F789 -:102C400080E290E0A0E0B0E080930602909307025B -:102C5000A0930802B093090280919A09882319F081 -:102C600083E090E002C082E090E09093BE168093F3 -:102C7000BD1685E08093B11682E88093B4168FE18B -:102C800090E1A0E0B0E08093B5169093B616A093C3 -:102C9000B716B093B8160F94D10284E690E09093E3 -:102CA000BE168093BD1605E00093B11612E810938E -:102CB000B41686E090E1A0E0B0E08093B516909362 -:102CC000B616A093B716B093B8160F94D1028BE046 -:102CD00090E09093BE168093BD160093B1161093AA -:102CE000B41680E092E1A0E0B0E08093B516909336 -:102CF000B616A093B716B093B8160F94D1021092DF -:102D0000BE161092BD160093B1161093B41684E34C -:102D100090E1A0E0B0E08093B5169093B616A09332 -:102D2000B716B093B8160F94D1021092BE16109237 -:102D3000BD160093B1161093B4168AE390E1A0E09B -:102D4000B0E08093B5169093B616A093B716B093E3 -:102D5000B8160F94D1026091EE0B7091EF0B809139 -:102D6000F00B9091F10B0F94962C7093BE1660931C -:102D7000BD160093B1161093B41686E390E1A0E05F -:102D8000B0E08093B5169093B616A093B716B093A3 -:102D9000B8160F94D10260918709709188098091CB -:102DA000890990918A090F94962C7093BE166093AE -:102DB000BD160093B1161093B4168CE390E1A0E019 -:102DC000B0E08093B5169093B616A093B716B09363 -:102DD000B8160F94D10282E090E09093BE168093D3 -:102DE000BD160093B1161093B4168EE190E1A0E0E9 -:102DF000B0E08093B5169093B616A093B716B09333 -:102E0000B8160F94D10281E08093050260E6862E09 -:102E100060E1962EA12CB12C75E0C72EE2E8DE2EE3 -:102E20001092BE161092BD1605E0C092B11612E8BF -:102E3000D092B4168092B5169092B616A092B7169C -:102E4000B092B8160F94D102BFEF8B1A9B0AAB0A4F -:102E5000BB0AE4E78E16E0E19E06A104B10401F787 -:102E600084E1D7011D928A95E9F781E08F9390E97B -:102E70009F938F9398E69F938F939F938BE496E015 -:102E80009F938F93FF92EF920F94B72E40E650E1FD -:102E900060E070E088E596E00F9480024AE650E139 -:102EA00060E070E085E696E00F94800244E750E130 -:102EB00060E070E0C7010F9480024EE750E160E0EF -:102EC00070E085E095E00F9480021092BE1610929B -:102ED000BD160093B1161093B4168EE090E1A0E0F9 -:102EE000B0E08093B5169093B616A093B716B09342 -:102EF000B8160F94D1021092BE161092BD16009310 -:102F0000B1161093B4168FE090E1A0E0B0E080938A -:102F1000B5169093B616A093B716B093B8160F9443 -:102F2000D102EDB7FEB73A960FB6F894FEBF0FBECA -:102F3000EDBF5AE0852E50E2952EA12CB12C15E064 -:102F400002E8412C512C32011092BE161092BD168F -:102F50001093B1160093B416D501C401840D951DCC -:102F6000A61DB71D8093B5169093B616A093B716FD -:102F7000B093B8160F94D102FFEF4F1A5F0A6F0A91 -:102F80007F0A2AE04216510461047104E9F63AE02E -:102F9000830E911CA11CB11C42ED841640E29406E4 -:102FA000A104B10471F6812C40E2942EA12CB12C25 -:102FB00005E012E81092BE161092BD160093B116ED -:102FC0001093B4168092B5169092B616A092B716CA -:102FD000B092B8160F94D1021092BE161092BD1680 -:102FE0000093B1161093B416D501C4018C529F4FB3 -:102FF000AF4FBF4F8093B5169093B616A093B716F8 -:10300000B093B8160F94D1025FEF851A950AA50AFE -:10301000B50A8AE0881680E29806A104B10451F648 -:103020003EED832E30E2932EA12CB12C05E012E868 -:103030001092BE161092BD160093B1161093B416DE -:103040008092B5169092B616A092B716B092B816A6 -:103050000F94D1029FEF891A990AA90AB90AA6EE1C -:103060008A16A0E29A06A104B10411F78824839479 -:1030700092E1992EA12CB12C2AE0C22ED12C05E090 -:1030800012E8D092BE16C092BD160093B1161093EE -:10309000B4168092B5169092B616A092B716B0925A -:1030A000B8160F94D102D092BE16C092BD160093EE -:1030B000B1161093B416D501C4018096A11DB11D9F -:1030C0008093B5169093B616A093B716B093B81622 -:1030D0000F94D102BFEF8B1A9B0AAB0ABB0AE5E142 -:1030E0008E16E2E19E06A104B10459F68BE796E044 -:1030F0000E94C4530E94CDF50E94605012EBC12E75 -:1031000019E0D12E07E712E083E8A82E82E0B82E5E -:10311000D6012D913D914D915D916D01F801608138 -:103120007181828193810F942A2BD8016D937D93B5 -:103130008D939D938D01AA16BB0651F70E94AEDFB9 -:10314000249A2C98809101018062809301018091E2 -:10315000020180728093000180910101806480935C -:1031600001018091010180618093010187ED8093CD -:103170007A0010927E0010927D0080917D00806226 -:1031800080937D0080917D00806480937D0080E845 -:1031900088BD80916E00846080936E006AEF70E05D -:1031A00080E090E00E94B7EE85E090E090931102FD -:1031B0008093100200910C0210910D0260E0C80192 -:1031C0000E94B6D820E030E040EA50E40F94342466 -:1031D00087FF07C00051110910930D0200930C02E4 -:1031E000E9CF8BE391E09093130280931202009158 -:1031F0000E0210910F0260E0C8010E94B6D820E0D4 -:1032000030E84DE953E40F948A2D18163CF4005F22 -:103210001F4F10930F0200930E02E9CF00910A0294 -:1032200010910B02C8010E941DD820E030E040EA56 -:1032300050E40F94342487FF07C000511109109304 -:103240000B0200930A02EACF00919B0910919C099E -:10325000C8010E941DD820E030E046E153E40F94FD -:103260008A2D18163CF4005F1F4F10939C090093A1 -:103270009B09EACF0E942DF419A682E390E09AA35D -:1032800089A31A8219821E01B1E22B0E311C01E0C2 -:10329000970141E050E0BE01675D7F4FC1010E9490 -:1032A0007F5089A5863119F00E9452BE0FC083E37A -:1032B00090E09AA389A31A82198201E0970140E164 -:1032C00050E06EE979E0C1010E947F5081E0809377 -:1032D0009D0953985B9A6D98759A809104018D7F32 -:1032E0008093040180910501809582708093030191 -:1032F0001092AF091092AE090E943DE1819A879A1F -:1033000080910A01826080930A010E9A3B9A579A33 -:103310005F9A829A8A9A809107018160809307015F -:103320008091080180958170809306010A9A129A13 -:103330003F9A479A809A88985F9A8091A5148E7FC9 -:103340008093A514869A8E988A9A8091A5148D7F71 -:103350008093A51480910A01886080930A0180916E -:103360000B0188708093090180910801809581701C -:10337000809306018091A5148B7F8093A5140C9AED -:103380001498129A809180008C7F809380008091A5 -:103390008100877E886080938100809180008F7398 -:1033A0008093800080918100887F8260809381007B -:1033B00080E090E4909389008093880010928500CB -:1033C0001092840080916F00826080936F007894E7 -:1033D0001092B0090E948293E0912516E43208F021 -:1033E00042C0F0E0CF01880F991FE80FF91FE854A1 -:1033F000FA4E808180788B60808361E08BE00E9450 -:1034000093ED1092261610922716809125166CE0E7 -:103410000F94ED2A90E0ECE08E9FB001112440E083 -:1034200050E09B01240F351FF901EE0FFF1F2E0FF7 -:103430003F1FF901E854FA4E208127FD07C04F5F76 -:103440005F4F4C30510569F70E941051E0912516ED -:10345000F0E0CF01880F991FE80FF91FE854FA4EEA -:1034600080818068808385E296E10E9471506AE5E0 -:1034700070E085E296E10E9441511092B1090E94EC -:103480003DE181E00E94449298E288E10FB6F89411 -:10349000A895809360000FBE909360001092201753 -:1034A0000E94B55D9E012F5F3F4F590180E00E9451 -:1034B000E5538091201787FD41C08091391882FD26 -:1034C0003DC083FD03C00E94575E02C00E94605051 -:1034D0008091391883FF2FC080912017082E000C8F -:1034E000990BC0969F938F9342EF50E15F934F9358 -:1034F0003F922F920F94CC238DE995E10E948C6628 -:103500000F900F900F900F900F900F908091A0153B -:10351000823088F08091A5159091A615A091A715ED -:10352000B091A8158F719927AA27BB27892B8A2BC1 -:103530008B2B09F467C1FFEFF093201780913918A6 -:1035400085FF1FC00E94E65D1092420B1092BE09DB -:103550001092410B0E9406C10E941CBF8EEF0E9478 -:1035600040DF0E94AEDF0E9497BD0E94FDD70E94FF -:103570006C501092140224E431E13093C00920937E -:10358000BF098DB69EB66091BF097091C0096115E3 -:10359000710581F0E12CF12CFB01EE0DFF1D749003 -:1035A00087010F5F1F4F772039F03AE0731621F043 -:1035B0007801F2CF80E02CC0EDB7FEB7E01BF10B35 -:1035C0000FB6F894FEBF0FBEEDBF2DB73EB72F5F0D -:1035D0003F4F6901A701C9010F946E23F601EE0D5B -:1035E000FF1D1082772009F445C18091BF09909199 -:1035F000C009080F191F1093C0090093BF09EF28D5 -:1036000031F0C6010E9435B480E00E94733981E038 -:103610000FB6F8949EBE0FBE8DBE8111C3C08091BF -:10362000420B882309F4BEC08091391880FF9EC0E8 -:103630000091410B40E6409F800111240F53164F2B -:1036400065E271E1C8010F94B223009739F0DC0103 -:1036500013968C9180538A3008F08BC0F80101904A -:103660000020E9F731977F01E01AF10A1092441522 -:103670006EE470E0C8010F947D2E6C01892B09F473 -:1036800006C160E270E0C6010F947D2E8C010F5FD1 -:103690001F4F6AE270E0C6010F947D2EFC01319746 -:1036A000BDE0B1832AE022831382F801019000205B -:1036B000E9F731977F01E01AF10A809147158130CF -:1036C00009F0E1C08091451581FFDDC082FF16C081 -:1036D0004091551550915615609157157091581598 -:1036E00080914C1590914D15A0914E15B0914F15AC -:1036F00084179507A607B70709F0BFC040914C157E -:1037000050914D1560914E1570914F15E114F104D3 -:1037100009F0C4C08091551590915615A091571588 -:10372000B091581584179507A607B70768F440931A -:1037300055155093561560935715709358158091F1 -:1037400045158068809345158091451583FDB6C168 -:1037500080914415882331F00F94820B8BEF90E118 -:103760000F949D0A8091391881FF09C00E94F3BB14 -:1037700008C00E942BEB82E191E10F949D0A0E9408 -:1037800082B28091420B882369F081508093420B72 -:103790008091410B8F5F843018F48093410B02C0FD -:1037A0001092410B8091430B882339F19091430B88 -:1037B0008091440B981709F10F94860B85E391E1F2 -:1037C0000F949D0A8091430B80FD7FC18091430B34 -:1037D00084FD7BC18091430B81FD81C18091430BAE -:1037E00085FD7DC18091430B82FD83C18091430B98 -:1037F00086FD7FC18AE00E94B9528091430B80937D -:10380000440B54CE40E050E0B5018DE995E10E94B3 -:103810004E6918160CF08FCEF50101900020E9F7E3 -:103820003197FE2EFA18FA949FEFF91669F0850188 -:103830000F0D111DF7FC1A95D8018C9190E00F9493 -:10384000412EF8018083EFCF8A858E3709F45ECE52 -:1038500045E050E0B101C5010F948F2E892B09F08E -:1038600055CEC1010E94FF5D809120178F5F80932C -:10387000201764CE00E010E0BECE84E495E10E9403 -:103880004D6481113BCFA1E0A093441561CF31E09D -:10389000E31AF108F801EE0DFF1D02CF80915D15CE -:1038A00090915E15DC0114967C902FEF270D2A0174 -:1038B0003B0139E076946794579447943A95D1F751 -:1038C000722E74206A01B1E0DB2271104CC0C11469 -:1038D000D10409F048C040914815509149156091B4 -:1038E0004A1570914B15411551056105710569F433 -:1038F0008091591590915A15A0915B15B0915C1566 -:103900000097A105B10539F51FC095010E946563B7 -:10391000882309F4B8CF89819A81AB81BC81E09179 -:103920005D15F0915E152789203139F4883FEFEF5E -:103930009E07A105B10540F40EC0883FFFEF9F0729 -:10394000AF07FFE0BF0738F084E495E10E94876588 -:10395000811109C098CF8093481590934915A09381 -:103960004A15B0934B1580E092E08C199D094701F0 -:103970008E159F0508F44C01E0915D15F0915E15E0 -:103980008091481590914915A0914A15B0914B1519 -:103990000297A109B109058404C0880F991FAA1FC5 -:1039A000BB1F0A94D2F74685578560897189840FB9 -:1039B000951FA61FB71F9C01AD01270D311D411D8D -:1039C000511D29013A01811432E0930631F58091AD -:1039D000BB1A9091BC1AA091BD1AB091BE1A48169C -:1039E00059066A067B0669F41092C31A8FEF9FEF9F -:1039F000DC018093BB1A9093BC1AA093BD1AB093BC -:103A0000BE1A9801B301A2018091C41A9091C51AFF -:103A10000E94E366811139C036CFC114D10431F55B -:103A200040914C1550914D1560914E1570914F1568 -:103A30008091551590915615A0915715B091581534 -:103A4000481759076A077B0788F00E944667882352 -:103A500009F419CF91E09093C31A4092BB1A509287 -:103A6000BC1A6092BD1A7092BE1A08C041E0C30130 -:103A7000B2010E949A62882309F405CFA401B8011B -:103A8000C6018554974E0F94562E80914C159091F7 -:103A90004D15A0914E15B0914F15880D991DA11D82 -:103AA000B11D80934C1590934D15A0934E15B09376 -:103AB0004F15080D191DE818F90820CE84E495E18A -:103AC0000E948667811144CEDECE80E00E94D9C07C -:103AD000AB01BC0181E391E10F94510B7BCE81E0FE -:103AE0000E94D9C0AB01BC018DE291E10F94510B52 -:103AF00079CE82E00E94D9C0AB01BC0189E291E19C -:103B00000F94510B77CECF93DF9384E495E10E941D -:103B1000C267CFE2D8E16B97CE010E94C26787E10E -:103B2000C132D807C1F782E895E10E94C2678DE9EA -:103B300095E1DF91CF910C94C26786E40E94C48C1A -:103B400080935D13882351F00E948D8C60933A021C -:103B500070933B0280933C0290933D0283E50E9468 -:103B6000C48C882351F00E948D8C60933602709330 -:103B70003702809338029093390282E40E94C48C09 -:103B8000882351F00E948D8C60933202709333022F -:103B900080933402909335020895CF92DF92EF9292 -:103BA000FF926B017C0180E090E0A0E8BFE380938E -:103BB000650290936602A0936702B09368028091B9 -:103BC000A61481FF0E944B8CC092B113D092B21305 -:103BD000E092B313F092B4138091A61482608093A4 -:103BE000A614FF90EF90DF90CF9008958091A614D7 -:103BF00081FF09C06091B1137091B2138091B3132A -:103C00009091B41308956091830270918402809121 -:103C100085029091860208950E94CDF510921414A9 -:103C2000109214020E9487CF882321F080913918C6 -:103C300082FF07C061E089EC94E30E942F8D0C9411 -:103C4000E7BC80ED94E39093C0098093BF09F2CF65 -:103C50001092AA141092A91488EE93E0A0E0B0E0AC -:103C60008093AB149093AC14A093AD14B093AE14A6 -:103C700085EA93E09093A8148093A71485ED90E0D3 -:103C80009093B4148093B31484ED90E09093B614A1 -:103C90008093B51480ED90E09093B8148093B7149E -:103CA00081ED90E09093BA148093B91482ED90E086 -:103CB0009093BC148093BB1486ED90E09093BE1457 -:103CC0008093BD141092C0141092C1141092C214AB -:103CD0001092C31410929D151092A0151092821587 -:103CE00010928515E1E2F7E1108213827B9628E1BC -:103CF000EF32F207C9F789E180937E1510928115A2 -:103D00001092761510924415109247158091241642 -:103D1000843220F08FEF8093251613C091E0980F26 -:103D2000909324168093251690E0FC01EE0FFF1F60 -:103D30008E0F9F1FFC01E854FA4E88EB9BE09283A4 -:103D4000818380E1E1E5F6E1DF01282F1D922A95CC -:103D5000E9F7E1E4F6E1DF01282F1D922A95E9F762 -:103D6000E1E3F6E1DF011D928A95E9F710922D1645 -:103D700010922E1610922F161092301610922C16AA -:103D800010922B1610922A161092291610922816AD -:103D90008AE58093B2168093621685EA8093B31603 -:103DA000809363168AE1E1E0F7E1DF011D928A95D5 -:103DB000E9F781E080931B1780931C1780931D17F0 -:103DC00080931E1780931F1780913918847F8B7FF3 -:103DD00080933918109235181092361810923718AF -:103DE000109238181092311810923218109233181D -:103DF000109234181092301810922F188EE091E023 -:103E0000E1E2F7E1DF019C011D9221503040E1F732 -:103E10008FEF809320170895EF920F931F93CF9306 -:103E2000DF93E80147FD02C034E001C034E1042E15 -:103E3000000C550B57FF03C0519541955109E32ED6 -:103E4000022F242FAE010F941127CE01DF91CF91C5 -:103E50001F910F91EF9008958F929F92AF92BF9212 -:103E6000CF92DF92EF92FF92CF93DF93EC016881C4 -:103E700079818A819B81611571058105910521F404 -:103E800064E279ED8BE597E02DE133EF41E050E01E -:103E90000F94AC2A49015A019B01AC01A7EAB1E495 -:103EA0000F94CB2A6B017C01ACEEB4EFA501940119 -:103EB0000F94D92ADC01CB018C0D9D1DAE1DBF1DB9 -:103EC000B7FF03C00197A109B04888839983AA83EB -:103ED000BB83BC01CD019F77DF91CF91FF90EF9025 -:103EE000DF90CF90BF90AF909F908F9008958F926A -:103EF0009F92AF92BF92CF92DF92EF92FF9260912A -:103F0000890270918A0280918B0290918C026115D6 -:103F100071058105910521F464E279ED8BE597E067 -:103F20002DE133EF41E050E00F94AC2A49015A01F2 -:103F30009B01AC01A7EAB1E40F94CB2A6B017C0191 -:103F4000ACEEB4EFA50194010F94D92ADC01CB01AA -:103F50008C0D9D1DAE1DBF1DB7FF03C00197A109AC -:103F6000B0488093890290938A02A0938B02B09309 -:103F70008C02BC01CD019F77FF90EF90DF90CF9036 -:103F8000BF90AF909F908F90089560938902709337 -:103F90008A0280938B0290938C0208958F929F9255 -:103FA000AF92BF92CF92DF92EF92FF920F931F9347 -:103FB000CF93DF93EC016B016115710519F0FB01E3 -:103FC000918380837E01FFEFEF1AFF0A0881802F23 -:103FD00090E00F946523892B11F0E701F3CF0D32A8 -:103FE00039F47E0182E0E80EF11C098111E008C07D -:103FF0000B3229F47E0192E0E90EF11C098110E0F8 -:10400000E701219743E050E06AE374E0CE010F94AA -:104010008B23892BC1F4239645E050E065E374E0DF -:10402000CE010F948B23892B09F42596C114D1045A -:1040300019F0F601D183C0831111F6C060E070E081 -:1040400080E89FE7FAC043E050E062E374E0CE010D -:104050000F948B23892B59F4C114D10409F4E9C0BE -:10406000F2E0EF0EF11CF601F182E082E2C020E006 -:1040700030E0A901C0E0D0E0F70160EDA62EA00E6F -:1040800089E08A1530F1912F9260B92E812F8870C6 -:1040900012FF04C0811124C0219622C081112197F2 -:1040A000A5E0B0E00F94CB2ADC01CB01880F991F6B -:1040B000AA1FBB1F9C01AD012A0D311D411D511DC1 -:1040C000283989E93807480789E1580748F0166018 -:1040D00006C09EEFA9120AC013FD40C01860B12EA1 -:1040E0008FEFE81AF80A00811B2DC6CF802F8F7D35 -:1040F0008534A1F580818D3211F4106106C08B32B8 -:1041000021F0319661E070E004C08181329662E076 -:1041100070E080538A3018F0E61BF70B1FC060E098 -:1041200070E060389CE079075CF4DB01AA0FBB1FEC -:10413000AA0FBB1F6A0F7B1F660F771F680F711DC9 -:104140003196DF0111978C9180538A3050F314FF20 -:1041500003C0719561957109C60FD71F11FF08C083 -:10416000C114D10429F0CF010197F6019183808316 -:10417000CA01B9010F943924212F2370233019F07B -:104180004B015C0106C04B015C01B7FAB094B7F873 -:10419000B09420E030E0A901C501B4010F943424AB -:1041A000882309F43EC0D7FF06C0D195C195D10937 -:1041B00001E514E002C009E614E06801F8E1CF1A55 -:1041C000D10890E2E92EF12CCE15DF0574F0F8014C -:1041D0002591359145915491C501B4010F949A24CC -:1041E0004B015C01CE19DF09EFCF04501109F594A2 -:1041F000E7940C151D0541F78A2D880F8B2D881F1C -:104200008F3F49F020E030E0A901C501B4010F94CF -:104210003424811106C082E290E09093921E809334 -:10422000911EC501B40109C060E070E080E89FEF15 -:1042300004C060E070E080EC9FE7DF91CF911F91B8 -:104240000F91FF90EF90DF90CF90BF90AF909F9035 -:104250008F9008953F924F925F926F927F928F92CC -:104260009F92AF92BF92CF92DF92EF92FF920F9305 -:104270001F93CF93DF935C016B017A016115710588 -:1042800019F0FB0191838083E114F10429F0C70147 -:104290000297839708F0E5C0E5012196F5011081AA -:1042A000812F90E00F946523892B11F05E01F4CFEC -:1042B0001D3229F42196F501118101E007C01B325E -:1042C00021F4E5012296F501118100E0E114F104E9 -:1042D00009F1F0E1EF16F10429F43FC010E3E11415 -:1042E000F10421F128E0E216F10401F154F4E2E0D6 -:1042F000EE16F10421F5812C912CA12CB0E4BB2EFB -:104300003EC0FAE0EF16F10439F020E1E216F104C4 -:10431000B1F430C0103319F1FAE0EF2EF12CACEC0F -:104320008A2E982CA82CACE0BA2E29C078E0E72E73 -:10433000F12C812C912CA12CE0E1BE2E20C060E05C -:1043400070E080E090E897010F2C000C440B550BB7 -:104350000F948A2A49015A0112C0103359F48881F6 -:104360008F7D883509F0BACF19812296026080E1ED -:10437000E82EF12C812C912CA12C68E0B62E40E087 -:1043800060E070E0CB0127010F2C000C6608770875 -:10439000FE0150ED352E310E29E0231570F42FEB80 -:1043A000210F2A3118F439EC332E06C02FE9210FE2 -:1043B0002A3118F529EA322E310E232D30E02E1540 -:1043C0003F05DCF447FD16C086169706A806B90619 -:1043D00070F0A30192010F947A2A630D711D811D63 -:1043E000911D61307105810520E8920710F04FEFB3 -:1043F00001C041E021961081CBCF202F2170C11444 -:10440000D10471F0442329F02197F601D183C083B0 -:1044100007C001FF19C02297F601D183C08314C0E1 -:1044200047FF12C0222329F060E070E080E090E8AE -:1044300004C06FEF7FEF8FEF9FE722E230E0309311 -:10444000921E2093911E09C0222381F090958095A1 -:10445000709561957F4F8F4F9F4F462F372F282F95 -:1044600012C040E030E020E090E00DC097FFF5CFB3 -:1044700082E290E09093921E8093911E6FEF7FEF07 -:104480008FEF9FE7EACF642F732F822FDF91CF91B9 -:104490001F910F91FF90EF90DF90CF90BF90AF9062 -:1044A0009F908F907F906F905F904F903F90089576 -:1044B0003F924F925F926F927F928F929F92AF92B4 -:1044C000BF92CF92DF92EF92FF920F931F93CF9301 -:1044D000DF935C016B017A016115710519F0FB0135 -:1044E00091838083E114F10429F0C7010297839737 -:1044F00008F0C9C0E5012196F5011081812F90E0F7 -:104500000F946523892B11F05E01F4CF1D3229F43D -:104510002196F501118101E007C01B3221F4E5016C -:104520002296F501118100E0E114F104B1F0F0E10F -:10453000EF16F10429F4B0C010E3E114F10401F125 -:104540002AE0E216F104B1F180E1E816F10471F01D -:10455000E8E0EE16F104F1F413C0103341F5888160 -:104560008F7D883549F7198122960260F0E1EF2EA0 -:10457000F12C88248A94982CA82CAFE0BA2E20C065 -:1045800078E0E72EF12C88248A94982CA82CEFE16F -:10459000BE2E16C06FEF7FEFCB0197010F2C000CE2 -:1045A000440B550B0F948A2A49015A0109C08AE02D -:1045B000E82EF12C69E9862E982CA82C69E1B62EFC -:1045C00040E060E070E0CB0127010F2C000C660892 -:1045D0007708FE0150ED352E310E29E0231570F4D9 -:1045E0002FEB210F2A3118F439EC332E06C02FE9B6 -:1045F000210F2A3130F529EA322E310E232D30E0F9 -:104600002E153F05F4F44F3FC9F086169706A8060D -:10461000B90688F0A30192010F947A2A232D30E085 -:1046200040E050E0620F731F841F951F62177307ED -:104630008407950710F44FEF01C041E021961081E7 -:10464000C8CFC114D10451F0442311F0219703C005 -:1046500001FF04C02297F601D183C08300FF07C089 -:1046600090958095709561957F4F8F4F9F4F4F3FED -:1046700079F482E290E09093921E8093911E3FEF36 -:104680002FEF9FEF0DC040E030E020E090E008C049 -:10469000462F372F282F04C0103309F067CF5FCF84 -:1046A000642F732F822FDF91CF911F910F91FF9075 -:1046B000EF90DF90CF90BF90AF909F908F907F90C2 -:1046C0006F905F904F903F90089591110D946029E5 -:1046D000803219F089508550C8F70895FB01DC013C -:1046E00002C005900D9241505040D8F70895FC014A -:1046F0000590061621F00020D9F7C00108953197E2 -:10470000CF010895FC0105900020E9F78095909570 -:104710008E0F9F1F0895FB01DC014150504088F02F -:104720008D9181341CF08B350CF4805E6591613481 -:104730001CF06B350CF4605E861B611171F3990BF4 -:104740000895881BFCCFFB01DC014150504048F02C -:1047500005900D920020C9F701C01D9241505040B4 -:10476000E0F70895FB0155915523A9F0BF01DC0145 -:104770004D9145174111E1F759F4CD010590002005 -:1047800049F04D9140154111C9F3FB014111EFCFA3 -:1047900081E090E0019708950F931F93CF93DF93EB -:1047A000CDB7DEB72E970FB6F894DEBF0FBECDBFE4 -:1047B0000E891F898EE08C831A8309838FEF9FE710 -:1047C0009E838D83AE01465E5F4F688D798DCE01ED -:1047D00001960F940725EF81F885E00FF11F1082F5 -:1047E0002E960FB6F894DEBF0FBECDBFDF91CF91EE -:1047F0001F910F9108950F931F93CF93DF93CDB720 -:10480000DEB72E970FB6F894DEBF0FBECDBF8C017A -:10481000FA018EE08C831A83098377FF02C060E07F -:1048200070E8CB0101979E838D83A901BF01CE0162 -:1048300001960F9407254D815E8157FD0AC02F8197 -:104840003885421753070CF49A01F801E20FF31F61 -:1048500010822E960FB6F894DEBF0FBECDBFDF914B -:10486000CF911F910F9108950F94762408F481E061 -:104870000895E89409C097FB3EF490958095709553 -:1048800061957F4F8F4F9F4F9923A9F0F92F96E99C -:10489000BB279395F695879577956795B795F11111 -:1048A000F8CFFAF4BB0F11F460FF1BC06F5F7F4FAE -:1048B0008F4F9F4F16C0882311F096E911C07723C0 -:1048C00021F09EE8872F762F05C0662371F096E8C9 -:1048D000862F70E060E02AF09A95660F771F881F98 -:1048E000DAF7880F9695879597F90895990F00083C -:1048F000550FAA0BE0E8FEEF16161706E807F907B2 -:10490000C0F012161306E407F50798F0621B730B4C -:10491000840B950B39F40A2661F0232B242B252BCD -:1049200021F408950A2609F4A140A6958FEF811D70 -:10493000811D08950F94AD240D942A2A0F941C2AEA -:1049400038F00F94232A20F0952311F00D94132AA8 -:104950000D94192A11240D945E2A0F943B2A70F3AA -:10496000959FC1F3950F50E0551F629FF001729F14 -:10497000BB27F00DB11D639FAA27F00DB11DAA1F23 -:10498000649F6627B00DA11D661F829F2227B00D70 -:10499000A11D621F739FB00DA11D621F839FA00DFB -:1049A000611D221F749F3327A00D611D231F849F4B -:1049B000600D211D822F762F6A2F11249F575040A2 -:1049C0009AF0F1F088234AF0EE0FFF1FBB1F661F1D -:1049D000771F881F91505040A9F79E3F510580F0E6 -:1049E0000D94132A0D945E2A5F3FE4F3983ED4F3AE -:1049F000869577956795B795F795E7959F5FC1F78A -:104A0000FE2B880F911D9695879597F908952F9203 -:104A10003F924F925F926F927F928F929F92AF924E -:104A2000BF92CF92DF92EF92FF920F931F93CF939B -:104A3000DF93CDB7DEB72B970FB6F894DEBF0FBE6E -:104A4000CDBF6C017B018A01FC0117821682838134 -:104A500081FFCCC1CE0101963C01F6019381F701A3 -:104A600093FD859193FF81917F01882309F4BAC159 -:104A7000853239F493FD859193FF81917F018532D1 -:104A800029F4B60190E00F947929E7CF912C212CDD -:104A9000312CFFE1F315D8F08B3279F038F4803205 -:104AA00079F08332A1F4232D20611DC08D3261F095 -:104AB000803369F4232D216016C0832D8260382E47 -:104AC000E32DE4603E2E2AC0F32DF8601DC037FCB4 -:104AD0002DC020ED280F2A3040F08E32B9F436FC7C -:104AE00081C1232D2064322E19C036FE06C08AE013 -:104AF000989E200D1124922E11C0EAE02E9E200DCA -:104B00001124222EF32DF0623F2E08C08C3621F4A2 -:104B1000832D8068382E02C0883641F4F70193FD5A -:104B2000859193FF81917F018111B3CF982F9F7D54 -:104B30009554933028F40C5F1F4F9FE399830DC069 -:104B4000833631F0833771F0833509F059C021C0C5 -:104B5000F801808189830E5F1F4F88248394912CF4 -:104B6000530113C02801F2E04F0E511CF801A08040 -:104B7000B18036FE03C0692D70E002C06FEF7FEF99 -:104B8000C5010F946E294C018201F32DFF773F2E52 -:104B900016C0280122E0420E511CF801A080B1800D -:104BA00036FE03C0692D70E002C06FEF7FEFC501D4 -:104BB0000F9463294C01F32DF0683F2E820133FCE2 -:104BC0001BC0822D90E088169906B0F4B60180E2F1 -:104BD00090E00F9479292A94F4CFF50137FC859160 -:104BE00037FE81915F01B60190E00F947929211081 -:104BF0002A9421E0821A91088114910471F7E8C087 -:104C0000843611F0893641F5F80137FE07C060811E -:104C10007181828193810C5F1F4F08C06081718117 -:104C2000072E000C880B990B0E5F1F4FF32DFF769C -:104C30003F2E97FF09C090958095709561957F4FA5 -:104C40008F4F9F4FF0683F2E2AE030E0A3010F9472 -:104C5000B529882E861845C0853731F4232D2F7E3F -:104C6000B22E2AE030E025C0932D997FB92E8F36E1 -:104C7000C1F018F4883579F0B5C0803719F088375D -:104C800021F0B0C0E92FE061BE2EB4FE0DC0FB2DB7 -:104C9000F460BF2E09C034FE0AC0292F2660B22E50 -:104CA00006C028E030E005C020E130E002C020E18D -:104CB00032E0F801B7FE07C0608171818281938183 -:104CC0000C5F1F4F06C06081718180E090E00E5F35 -:104CD0001F4FA3010F94B529882E8618FB2DFF774F -:104CE0003F2E36FE0DC0232D2E7FA22E891458F4A0 -:104CF00034FE0BC032FC09C0832D8E7EA82E05C069 -:104D0000B82CA32C03C0B82C01C0B92CA4FE0FC032 -:104D1000FE01E80DF11D8081803321F49A2D997EEA -:104D2000A92E09C0A2FE06C0B394B39404C08A2D74 -:104D3000867809F0B394A3FC11C0A0FE06C0B2149B -:104D400088F4280C922C9B180EC0B21460F4B601A3 -:104D500080E290E00F947929B394F7CFB21418F45D -:104D60002B1802C0982C212CA4FE10C0B60180E3A1 -:104D700090E00F947929A2FE17C0A1FC03C088E738 -:104D800090E002C088E590E0B6010CC08A2D8678DC -:104D900059F0A1FE02C08BE201C080E2A7FC8DE2C7 -:104DA000B60190E00F947929891438F4B60180E3B4 -:104DB00090E00F9479299A94F7CF8A94F301E80D43 -:104DC000F11D8081B60190E00F9479298110F5CF13 -:104DD000222009F442CEB60180E290E00F947929B6 -:104DE0002A94F6CFF6018681978102C08FEF9FEF5C -:104DF0002B960FB6F894DEBF0FBECDBFDF91CF91DB -:104E00001F910F91FF90EF90DF90CF90BF90AF90E8 -:104E10009F908F907F906F905F904F903F902F90DA -:104E200008958F929F92AF92BF92CF92DF92EF92AE -:104E3000FF920F931F93CF93DF93CDB7DEB72997E0 -:104E40000FB6F894DEBF0FBECDBF6A01122FB02E91 -:104E50002BE3201720F0FF24F394F00E02C02CE384 -:104E6000F22E0F2D27E0AE014F5F5F4F0F94882881 -:104E7000BC014981842F8970813031F0E1FC06C08A -:104E8000E0FE06C090E205C09DE203C09BE201C0C7 -:104E900090E05E2D507143FF3CC0911102C083E051 -:104EA00001C084E0811718F4212F281B01C020E0E5 -:104EB00051110BC0F601822F30E2882319F0319393 -:104EC0008150FBCFC20ED11C20E0992329F0D601DE -:104ED0009C93F60131966F01C6010396E2FE0AC06B -:104EE0003EE4D6013C9341E411964C9311971296FF -:104EF0003C9306C03EE6F601308341E641833283AF -:104F0000FC01322F40E2332309F442C04193315077 -:104F1000FACF42FF44C0911102C083E001C084E097 -:104F2000811718F4212F281B01C020E051110BC05C -:104F3000F601822F30E2882319F031938150FBCFA4 -:104F4000C20ED11C20E0992329F0D6019C93F601D2 -:104F500031966F01C6010396E2FE0BC039E4D6011B -:104F60003C933EE411963C93119736E412963C93A1 -:104F700007C039E6F60130833EE6318336E63283F8 -:104F8000FC01322F40E2332319F041933150FBCF23 -:104F9000FC01E20FF11D10828EEF9FEFA6C021E011 -:104FA00030E0911102C020E030E0161617061CF424 -:104FB000FB01319602C0E1E0F0E02E0F3F1FBB2065 -:104FC00021F0EB2DF0E0319602C0E0E0F0E02E0F92 -:104FD0003F1FE12FF0E02E173F071CF4121B212F7B -:104FE00001C020E08E2D887159F4F601822F30E245 -:104FF000882319F031938150FBCFC20ED11C20E0E1 -:10500000992329F0D6019C93F60131966F01511135 -:105010000BC0F601822F90E3882319F09193815001 -:10502000FBCFC20ED11C20E00F2D060F9A81342F2A -:10503000307144FF03C0913309F40150101624F479 -:10504000093018F008E001C001E0AB0177FF02C0B1 -:1050500040E050E0FB01E41BF50BA1E0B0E0AC0F39 -:10506000BD1FEA0FFB1F8EE2A82E4B01801A91088C -:105070000B2D10E01195019511094F3FBFEF5B0714 -:1050800021F4D601AC9211966D01641775072CF0CE -:105090008416950614F4818101C080E341505109C2 -:1050A0003196D60111967D014017510724F0D601A3 -:1050B0008C936701E2CF6417750739F4963320F4B7 -:1050C000953319F4311101C081E3F6018083F701B2 -:1050D000822F90E2882319F091938150FBCFF70142 -:1050E000E20FF11D108280E090E029960FB6F8944F -:1050F000DEBF0FBECDBFDF91CF911F910F91FF900B -:10510000EF90DF90CF90BF90AF909F908F900895D9 -:10511000283008F027E03327DA01990F311D87FD89 -:10512000916000966105710539F432602E5F3D9300 -:1051300030E32A95E1F708959F3F30F080387105FC -:10514000610509F03C5F3C5F3D93913008F0806859 -:10515000911DDF93CF931F930F93FF92EF92192F1F -:10516000987F9695E92F96959695E90FFF27E95335 -:10517000FB4F99273327EE24FF24A701E701059071 -:105180000894079428F4360FE71EF81E491F511D96 -:10519000660F771F881F991F0694A1F70590079443 -:1051A00028F4E70EF81E491F561FC11D770F881FF0 -:1051B000991F661F0694A1F70590079428F4F80E2E -:1051C000491F561FC71FD11D880F991F661F771FC4 -:1051D0000694A1F70590079420F4490F561FC71FA6 -:1051E000D81F990F661F771F881F0694A9F784910F -:1051F0001095177041F0D695C79557954795F79438 -:10520000E7941A95C1F7EDE6F4E0689415901591CE -:1052100035916591959105907FE27395E118F10ABA -:10522000430B560BC90BD009C0F7E10CF11E431F0D -:10523000561FC91FD01D7EF4703311F48A95E6CF36 -:10524000E894015030F0080F0AF40027021708F420 -:10525000202F2395022F7A3328F079E37D932A9526 -:10526000E9F710C07D932A9589F60694979567957E -:10527000379517951794E118F10A430B560BC90B94 -:10528000D00998F023957E9173957A3308F070E3F6 -:105290007C932013B8F77E9170617D9330F08395F5 -:1052A00071E37D9370E32A95E1F71124EF90FF906D -:1052B0000F911F91CF91DF91992787FD90950895C8 -:1052C000992788270895FC010590615070400110CE -:1052D000D8F7809590958E0F9F1F0895FC0161501F -:1052E000704001900110D8F7809590958E0F9F1F08 -:1052F00008950F931F93CF93DF93FB01238121FD2B -:1053000003C08FEF9FEF2CC022FF16C0468157814C -:10531000248135814217530744F4A081B1819D0156 -:105320002F5F3F4F318320838C93268137812F5FFE -:105330003F4F3783268314C08B01EC01FB010084AF -:10534000F185E02D1995892BE1F6D80116968D91FE -:105350009C911797019617969C938E931697CE0162 -:10536000DF91CF911F910F910895FA01AA2728305C -:1053700051F1203181F1E8946F936E7F6E5F7F4F22 -:105380008F4F9F4FAF4FB1E03ED0B4E03CD0670F9E -:10539000781F891F9A1FA11D680F791F8A1F911DF1 -:1053A000A11D6A0F711D811D911DA11D20D009F441 -:1053B00068943F912AE0269F11243019305D319383 -:1053C000DEF6CF010895462F4770405D4193B3E06C -:1053D0000FD0C9F7F6CF462F4F70405D4A3318F013 -:1053E000495D31FD4052419302D0A9F7EACFB4E0C4 -:1053F000A6959795879577956795BA95C9F700977C -:105400006105710508959B01AC010A2E069457951C -:10541000479537952795BA95C9F7620F731F841F73 -:10542000951FA01D089597F99F6780E870E060E0E0 -:1054300008959FEF80EC089500240A94161617062D -:1054400018060906089500240A9412161306140675 -:1054500005060895092E0394000C11F4882352F0D8 -:10546000BB0F40F4BF2B11F460FF04C06F5F7F4F90 -:105470008F4F9F4F089557FD9058440F551F59F077 -:105480005F3F71F04795880F97FB991F61F09F3F31 -:1054900079F087950895121613061406551FF2CF5A -:1054A0004695F1DF08C0161617061806991FF1CFAA -:1054B00086957105610508940895E894BB276627D1 -:1054C0007727CB0197F90895F999FECF92BD81BD59 -:1054D000F89A992780B50895262FF999FECF1FBA1B -:1054E00092BD81BD20BD0FB6F894FA9AF99A0FBE0D -:1054F00001960895DB018F939F930F94CB2ABF9160 -:10550000AF91A29F800D911DA39F900DB29F900D12 -:1055100011240895A1E21A2EAA1BBB1BFD010DC088 -:10552000AA1FBB1FEE1FFF1FA217B307E407F50753 -:1055300020F0A21BB30BE40BF50B661F771F881F2F -:10554000991F1A9469F760957095809590959B01C5 -:10555000AC01BD01CF010895052E97FB1EF4009408 -:105560000F94C32A57FD07D00F948A2A07FC03D053 -:105570004EF40D94C32A50954095309521953F4F98 -:105580004F4F5F4F089590958095709561957F4F2F -:105590008F4F9F4F08950F94DE2AA59F900DB49FC3 -:1055A000900DA49F800D911D11240895B7FF0D94B7 -:1055B000CB2A0F94CB2A821B930B0895A29FB00194 -:1055C000B39FC001A39F700D811D1124911DB29F37 -:1055D000700D811D1124911D0895991B79E004C05F -:1055E000991F961708F0961B881F7A95C9F7809522 -:1055F0000895AA1BBB1B51E107C0AA1FBB1FA6171A -:10560000B70710F0A61BB70B881F991F5A95A9F76B -:1056100080959095BC01CD01089597FB072E16F457 -:10562000009407D077FD09D00F94F92A07FC05D024 -:105630003EF4909581959F4F0895709561957F4FA9 -:105640000895EE0FFF1F881F8BBF0790F691E02D86 -:1056500019945058BB27AA270F94412B0D942A2A3E -:105660000F941C2A38F00F94232A20F039F49F3F1E -:1056700019F426F40D94192A0EF4E095E7FB0D9425 -:10568000132AE92F0F943B2A58F3BA1762077307BE -:105690008407950720F079F4A6F50D945D2A0EF4A1 -:1056A000E0950B2EBA2FA02D0B01B90190010C0132 -:1056B000CA01A0011124FF27591B99F0593F50F44A -:1056C000503E68F11A16F040A22F232F342F4427A2 -:1056D000585FF3CF469537952795A795F04053959A -:1056E000C9F77EF41F16BA0B620B730B840BBAF06A -:1056F0009150A1F0FF0FBB1F661F771F881FC2F7D5 -:105700000EC0BA0F621F731F841F48F487957795E8 -:105710006795B795F7959E3F08F0B0CF9395880FA2 -:1057200008F09927EE0F9795879508950F941C2AF6 -:1057300060F080E891E009F49EEF0F94232A28F0AE -:1057400040E851E071F45EEF0CC00D94192A0D94FD -:105750005D2AE92FE0780F943B2A40F3092E052AB1 -:10576000B1F3261737074807590738F00E2E07F808 -:10577000E02569F0E025E0640AC0EF6307F80094D3 -:1057800007FADB01B9019D01DC01CA01AD01EF930C -:105790000F943B2C0F942A2A0F94D92B5F915523F9 -:1057A00039F02BED3FE049E450FD49EC0D942A2BF4 -:1057B0000895DF93DD27B92FBF7740E85FE3161622 -:1057C000170648075B0718F4D92F0F948F2D9F9366 -:1057D0008F937F936F930F94182EEEEEF1E00F945A -:1057E0000C2D0F942A2A2F913F914F915F910F9486 -:1057F000AD24DD2351F09058A2EA2AED3FE049ECB8 -:105800005FE3D0785D270F94412BDF910D942A2A16 -:105810000F94722D90F09F3748F4911116F40D9467 -:105820005E2A60E070E080E89FE3089526F01B1692 -:10583000611D711D811D0D94E32C0D94FE2C0F94A0 -:10584000352DE3950D945E2D0F94382C0D942A2A56 -:105850000F94232A58F00F941C2A40F029F45F3F3C -:1058600029F00D94132A51110D945E2A0D94192AD2 -:105870000F943B2A68F39923B1F3552391F3951BB9 -:10588000550BBB27AA2762177307840738F09F5F61 -:105890005F4F220F331F441FAA1FA9F335D00E2ECE -:1058A0003AF0E0E832D091505040E695001CCAF73B -:1058B0002BD0FE2F29D0660F771F881FBB1F2617FE -:1058C00037074807AB07B0E809F0BB0B802DBF01D5 -:1058D000FF2793585F4F3AF09E3F510578F00D94A3 -:1058E000132A0D945E2A5F3FE4F3983ED4F3869525 -:1058F00077956795B795F7959F5FC9F7880F911DC5 -:105900009695879597F90895E1E0660F771F881FB0 -:10591000BB1F621773078407BA0720F0621B730B63 -:10592000840BBA0BEE1F88F7E09508950F949D2C19 -:105930006894B1110D945E2A08950F94432A88F05B -:105940009F5798F0B92F9927B751B0F0E1F0660F43 -:10595000771F881F991F1AF0BA95C9F714C0B13084 -:1059600091F00F945D2AB1E008950D945D2A672FA0 -:10597000782F8827B85F39F0B93FCCF386957795B3 -:105980006795B395D9F73EF490958095709561959C -:105990007F4F8F4F9F4F08950F94722D90F09F3738 -:1059A00048F4911116F00D945E2A60E070E080E8F2 -:1059B0009FEB089526F41B16611D711D811D0D942A -:1059C000E32C0D94FE2C882371F4772321F098505A -:1059D000872B762F07C0662311F499270DC09051AD -:1059E000862B70E060E02AF09A95660F771F881F7B -:1059F000DAF7880F9695879597F908959F3F31F0CC -:105A0000915020F4879577956795B795880F911DEC -:105A10009695879597F90895DF93CF931F930F93EA -:105A2000FF92EF92DF927B018C01689406C0DA2E20 -:105A3000EF010F94AD24FE01E894A59125913591D5 -:105A400045915591A6F3EF010F94412BFE0197016B -:105A5000A801DA9469F7DF90EF90FF900F911F9102 -:105A6000CF91DF9108950D94192A0F94432AD8F30A -:105A7000E894E0E0BB279F57F0F02AED3FE049ECC7 -:105A800006C0EE0FBB0F661F771F881F28F0B23AC3 -:105A900062077307840728F0B25A620B730B840BFA -:105AA000E3959A9572F7803830F49A95BB0F661F8C -:105AB000771F881FD2F790480D94002DEF93E0FFD9 -:105AC00007C0A2EA2AED3FE049EC5FEB0F94412BBF -:105AD0000F942A2A0F90039401FC9058EBE1F2E016 -:105AE0000D94282E0F94432AA0F0BEE7B91788F42E -:105AF000BB279F3860F41616B11D672F782F8827B3 -:105B0000985FF7CF869577956795B11D93959639F0 -:105B1000C8F308950F94762408F48FEF08959B013D -:105B2000AC0160E070E080E89FE30D94242C0F94BA -:105B3000432A58F19E5760F19851A0F0E9F098304F -:105B400020F5092E9927660F771F881F991F0A9441 -:105B5000D1F712C0062E672F782F8827985F11F48F -:105B6000000C07C0993FB4F3869577956795939598 -:105B7000D9F7611D711D811D3EF49095809570953A -:105B800061957F4F8F4F9F4F089568940D945E2AC3 -:105B90000D945D2A9F930F94352D0F9007FCEE5FB7 -:105BA0000D945E2D19F416F40D94192A0D94FE2C03 -:105BB0000F94432AB8F39923C9F3B6F39F57550BB3 -:105BC00087FF0F94212E0024A0E640EA9001805820 -:105BD0005695979528F4805C660F771F881F20F0F4 -:105BE00026173707480730F4621B730B840B2029F4 -:105BF00031294A2BA69517940794202531254A2749 -:105C000058F7660F771F881F20F0261737074807B9 -:105C100030F4620B730B840B200D311D411DA095D8 -:105C200081F7B901842F9158880F9695879508952B -:105C30009B01AC010D949A240F947624880B990B48 -:105C4000089591505040660F771F881FD2F708952E -:105C50009F938F937F936F93FF93EF939B01AC017F -:105C60000F949A24EF91FF910F940C2D2F913F9157 -:105C70004F915F910D949A2481E090E0F8940D94F7 -:105C8000E62E9111089581548A5108F4805E855A58 -:105C90000895FB01DC0104C08D910190801921F46D -:105CA00041505040C8F7881B990B0895FB01DC0157 -:105CB00002C001900D9241505040D8F70895FB0169 -:105CC000DC018D9181341CF08B350CF4805E619188 -:105CD00061341CF06B350CF4605E861B611189F336 -:105CE000990B0895FB01DC010D900020E9F7119755 -:105CF00001900D920020E1F70895FC018191861733 -:105D000021F08823D9F7992708953197CF01089575 -:105D1000FB01DC0101900D920020E1F70895FB01E9 -:105D2000DC014150504030F08D910190801919F400 -:105D30000020B9F7881B990B0895FB01DC01415045 -:105D4000504048F001900D920020C9F701C01D920B -:105D500041505040E0F70895FC0181E090E001904F -:105D6000061609F4CF010020D1F7019708950F938B -:105D70001F93CF93DF93CDB7DEB72E970FB6F8946E -:105D8000DEBF0FBECDBF0E891F8986E08C831A83CC -:105D900009838FEF9FE79E838D83AE01465E5F4F41 -:105DA000688D798DCE0101960F940725EF81F885D6 -:105DB000E00FF11F10822E960FB6F894DEBF0FBED3 -:105DC000CDBFDF91CF911F910F9108951DE1C3E4E5 -:105DD000DDE100E006C0802FFE010F94212B21960B -:105DE000011DC434D10780E00807A9F7F894FFCF5C -:105DF00002C0D401000180000000FF3FFF3F00000F -:105E00000000FF3F010000803FA00001FFFFFFFFF7 -:105E1000FFFFFFFFFFFFFFFF5CFF79C40000803F33 -:105E2000640000007A4300005243CDCCCC3D018099 -:105E3000800110FF0601000000000000B4430000D4 -:105E400000000000B443000000000000C8430164EB -:105E5000000000C8420000C8410000A0409D9DF025 -:105E6000FF79C4F0FF79C40000B4430000B44300DC -:105E7000000000000000000101010000000210000D -:105E8000000410000006100000081000000A1000B6 -:105E9000000C10000026100000301000003210002E -:105EA00000341000003A1000003E100000401000C6 -:105EB000004410000046100000481000004A100086 -:105EC000004C100000541000005610000058100044 -:105ED000005C1000005E1000005F100000881000E1 -:105EE000000000000000409C4500007A4500007A58 -:105EF000430000704258595A45CDCCCC3CB400F018 -:105F00000046006E000000404000003442000000E7 -:105F100000000000000000000000005041000000F0 -:105F20000000000041640000006400000003000065 -:105F30000064000000640000000300000003000093 -:105F4000001E0000001E0000001E0000001E0000D9 -:105F5000001E0000001E0000000A005A00D00700CA -:105F600000D0070000640000004B0000000000A00B -:105F7000420000A042000048440000BE4200803BB6 -:105F80004400803B440000204100009642563730D8 -:105F90000000000000675CD05BFE5BB45C2F5C0D12 -:105FA0005C215CFF3F1CC6FF3F1CC6000000002AAE -:105FB0002A2A496E6974696E672063617264206978 -:105FC00073204F4B2A2A2A002A2A2A496E697469AB -:105FD0006E672063617264206661696C732A2A2A85 -:105FE000002A2A2A436172642052656D6F766564C7 -:105FF0002A2A2A003D3D7761697477617920313D15 -:106000003D003D3D7761697477617920333D3D0006 -:106010002020737461727470726F6772657373207D -:106020000020202A2A2A2A2A2A2A5254535F486109 -:106030006E646C65446174612A2A2A2A2A2A2A2AF3 -:1060400020003D3D20436865636B6B65793D3D00F5 -:106050000A2048616E646C6520446174612050724E -:10606000696E7446696C6520312053657474696E7D -:10607000672053637265656E20000A2048616E6474 -:106080006C652044617461205072696E7446696C5D -:106090006520322053657474696E6720536372659E -:1060A000656E20000A2048616E646C65204461744E -:1060B00061205072696E7446696C652033205365A7 -:1060C0007474696E672053637265656E20000A20E0 -:1060D00048616E646C6520446174612041646A7536 -:1060E000737420322053657474696E672053637231 -:1060F00065656E200074696E796D616368696E65AF -:106100007333642E636F6D004368696E6573652039 -:106110004E6F7420537570706F7274656400456EB5 -:10612000676C69736820416C72656164792053659E -:106130007400496E76616C6964204F7074696F6E8B -:10614000000A204E6F2046696C616D656E740020F8 -:1061500046696C616D656E7420526573706F6E7305 -:1061600065204E6F0046696C616D656E74205374D6 -:1061700061742030202D20310046696C616D656EA0 -:106180007420537461742030202D20320046696CD5 -:10619000616D656E7420537461742030202D20333E -:1061A0000046696C656E616D65005265636461747B -:1061B00061002020202020202020200025642F2581 -:1061C00064003D3D7761697477617920343D3D001D -:1061D0003D3D7761697477617920353D3D003D3DF6 -:1061E00048656174696E6720446F6E65204368611D -:1061F0006E67652046696C616D656E743D3D005249 -:106200006573756D652059657320647572696E6775 -:10621000207072696E740046696C656E616D652DE3 -:106220004D65646961003D3D6F6E46696C616D65E9 -:106230006E7452756E6F75743D3D00256420582054 -:106240002564205820256400544D334420453520D2 -:10625000506C757300322E305F44573320544D33E9 -:106260004420453550534D444242003D3D447769FA -:106270006E20496E697420436F6D706C6574653D66 -:106280003D002F003A207A3A2000206D65616E3A79 -:106290002000207369676D613A2000206D696E3AB5 -:1062A0002000206D61783A20002072616E67653AA7 -:1062B00020004D65616E3A2000204D696E3A200045 -:1062C000204D61783A20002052616E67653A2000C7 -:1062D0005374616E646172642044657669617469A7 -:1062E0006F6E3A20005265686561742066696E6958 -:1062F000736865642E00436C69636B20746F205271 -:106300006573756D652E2E2E003D3D6F6E50726962 -:106310006E7454696D6572537461727465643D3D49 -:10632000003D3D6F6E436F6E66696775726174699B -:106330006F6E53746F72655772697474656E3D3D0C -:106340000073746F7070696E67203D3D002F2F6180 -:106350006374696F6E3A63616E63656C003D3D6F97 -:106360006E5072696E7454696D657253746F70709B -:1063700065643D3D003D3D6F6E55736572436F6EC4 -:106380006669726D52657175697265643D3D003F65 -:106390003F3F00556E746F756368656420005075EB -:1063A0006C73696E6720202000202053544F57459E -:1063B0004420287472696767657265642920737464 -:1063C0006174653A204849474820286C6F676963C3 -:1063D00020312900202053544F57454420287472FF -:1063E00069676765726564292073746174653A2012 -:1063F0004C4F5720286C6F67696320302900590083 -:10640000580042656420583A200020593A20002064 -:106410005A3A20003D3D6F6E53746F726553657438 -:1064200074696E67733D3D00455252003D3D6F6E8D -:106430005072696E7454696D6572506175736564EC -:106440003D3D003D3D6F6E4C6F61645365747469F2 -:106450006E67733D3D003D3D6F6E466163746F72C4 -:106460007952657365743D3D00205A003D3D6F6E65 -:10647000436F6E66696775726174696F6E53746F8E -:106480007265526561643D3D002A2A2A6B696C6C15 -:106490002A2A2A005344557064617465002E67638C -:0C64A0006F6465002E47434F4445000028 -:00000001FF diff --git a/Ender5Plus_UBL_DW3.hex b/Ender5Plus_UBL_DW3.hex deleted file mode 100644 index 41339430a5..0000000000 --- a/Ender5Plus_UBL_DW3.hex +++ /dev/null @@ -1,11598 +0,0 @@ -:100000000C9483300C94B4300C94B4300C94B43011 -:100010000C94B4300C94B4300C94B4300C94B430D0 -:100020000C94B4300C94B4300C94B4300C94B430C0 -:100030000C94B4300C94B4300C94B4300C94B430B0 -:100040000C94B4300C945FF60C94B4300C94B4302F -:100050000C94B4300C94B4300C9448F20D941240CB -:100060000C94B4300C94696E0C945F6E0C94B430A4 -:100070000C94B4300C94B4300C94B4300C94B43070 -:100080000C94F9650C94B4300C94B4300C94B430E6 -:100090000C94B4300C94B4300C94B4300C94B43050 -:1000A0000C94B4300C94B4300C94CB650C94B430F4 -:1000B0000C94B4300C94B4300C94B4300C949D6512 -:1000C0000C94B4300C94B4300C94B4300C940E7185 -:1000D0000C94E4700C94B4300C94B4300C94B430A0 -:1000E0000C94B4306332A932AF32D632E332EC3200 -:1000F000F732B93AD93BB53CE83C4B484B48033E54 -:10010000A63EB53B4B484B484340DC4114424B486C -:1001100018444B484B4869454B484B48F3452646E5 -:100120004B48A2465E4723422B424F427342A742AE -:10013000504364437D438A439743AB439C6EA26E16 -:10014000B46EC46ECC6EF96ED06EF96ED46ED86E8D -:10015000F96EDC6EE06EE46EEC6EF96EF66EE496AF -:10016000EB9671977697CF98D498E4989B015902B3 -:10017000E901B5011702E301AD012F02CB01C10175 -:100180003D027F0161022902E3013B022502FF01DA -:10019000630205024102150251024F024502FB01B2 -:1001A0000702F1013F02C9018301F9014F02FD017C -:1001B0005B025D029901BB01F301A3018101D3013F -:1001C00065019101E501AB01A1015502B3013302C3 -:1001D000D301B90121024B02B101BD014302AF01BC -:1001E0008701BF01EF0173016901D7010302B70164 -:1001F000CD01F701BF012B02ED011902084AD73BDF -:100200003BCE016E84BCBFFDC12F3D6C74319ABDE5 -:1002100056833DDA3D00C77F11BED9E4BB4C3E9109 -:100220006BAAAABE000000803F05A84CCDB2D44EF8 -:10023000B93836A9020C50B9918688083CA6AAAAFA -:100240002ABE000000803F07634236B79BD8A71A3A -:1002500039685618AEBAAB558C1D3CB7CC5763BD48 -:100260006DEDFD753EF6177231BF000000803F084E -:10027000000000BE922449123EABAAAA2ABECDCCF1 -:10028000CC4C3E00000080BEABAAAAAA3E000000F3 -:1002900000BF000000803F0000000000084178D34C -:1002A000BB4387D1133D190E3CC3BD4282AD2B3EEB -:1002B00068EC8276BED98FE1A93E4C80EFFFBE018B -:1002C000C4FF7F3F0000000000000D94833B0C94AE -:1002D000E46E0D94453F0C945F6F0C94A7420C9410 -:1002E0005E470C94CF980D943D3F0C9471970C94FD -:1002F000CC6E0C947D430C94D93B0C94B06F0D9450 -:10030000F2370D94783B0D94DD390C9469450D94CA -:100310002B3F0C94B93A0C94D4980C944F420C9403 -:10032000D06E0D94873B0C949C6E0C94D86E0C94FC -:100330002B420D947C3B0D94D0370C94B46E0C94EE -:10034000F7320D94953B0D94723B0C9476970C9478 -:10035000C46E0C94E83C0D94913B0D94E1370D94E0 -:10036000213F0D940D3F0D949F3B0D94DA370D9472 -:10037000633F0D94A93B0D947F3B0D94123F0D9468 -:10038000A43F0D94EB370C94DC6E0D9419540C942F -:10039000BE6F0D94B8390D94E8370D94723F0C94EC -:1003A00043400C9497430D94B63B0C94EB960D94FC -:1003B0004F3F0C9443700C94EC320C9418440C9402 -:1003C00050430C94EC6E0D9407380D948D3B0C94B7 -:1003D000D6320D94D7370C94A26E0D94903F0D94A5 -:1003E000353F0D946E390D946E3B0C948D6F0D94CA -:1003F0007C3F0D94023A0D9426390D94273A0D94C2 -:1004000002380C94F3450D94593F0D9474380D94B3 -:1004100049390C9464430C94A63E0C94E06E0C9401 -:1004200026460C949C6F0C9463320D94B9380D944D -:10043000DD370D949A3F0C94D46E0C94B53B0C941C -:10044000AF320D94AD3B0C94E4980D94FF370D94AE -:10045000BE540D94F8370D94863F0C9414420D94BD -:10046000E4370C948A430D94A33B0C94F66F0C94E0 -:10047000F66E0C94DC410D94FC370D94EE370D9420 -:1004800093390D9494380D94173F0D9403390C94BF -:10049000AB430C944B480D94B13B0C94A2460D9485 -:1004A000953A0D94DE380C9473420D949B3B0C945A -:1004B000B53C0D94D3370D944C3A0D94713A0C948D -:1004C00023420D94F5370D9452380C94E4960C9415 -:1004D000A9320C94F96E0C94E3320C94033E4E4115 -:1004E0004E494E495459494E46CDCCCC3D0AD723AE -:1004F0003C17B7D13877CC2B329595E6241FB14FF6 -:100500000A000020410000C84200401C4620BCBE3A -:100510004CCA1B0E5AAEC59D7400407A10F35A00A7 -:10052000A0724E18090010A5D4E80000E87648171C -:100530000000E40B54020000CA9A3B000000E1F501 -:1005400005000080969800000040420F000000A0C7 -:100550008601000000102700000000E803000000F2 -:10056000006400000000000A00000000000100001C -:100570000000002C76D888DC674F0823DFC1DFAE8F -:1005800059E1B1B796E5E3E453C63AE65199769658 -:10059000E8E6C28426EB898C9B62ED407C6FFCEF21 -:1005A000BC9C9F40F2BAA56FA5F490055A2AF75C4F -:1005B000936B6CF9676DC11BFCE0E40D47FEF52001 -:1005C000E6B500D0ED902E030094357705008084C9 -:1005D0001E080000204E0A000000C80C33333333DD -:1005E0000F986E12831141EF8D2114893BE6551649 -:1005F000CFFEE6DB18D1844B381BF77C1D901DA481 -:10060000BBE424203284725E228100C9F124ECA173 -:10061000E53D274D323520500A4D32340050726985 -:100620006E742050617573656400526573756D65F5 -:10063000005549205061757365004E6F204D6174FF -:100640006368203A004D333033452D3153363543FE -:100650003455004D393939004D3530320A4D353079 -:1006600030004D3330334530533231354338550047 -:100670000A202A2A2A7265636461742E6461746197 -:100680005B305D203D004732380A4731204631302B -:100690003030205A313000556E737570706F72743F -:1006A0006564204F7074696F6E2053656C65637468 -:1006B0006564004D3139305335350A4732380A47C1 -:1006C000323950310A47323950330A4732395331BF -:1006D0000A47323953300A47323946302E300A47FA -:1006E0003239410A4D313034533231350A473238CC -:1006F0000A4D313039533231350A473158313530AE -:100700005931353046353030300A47315A300A4D8C -:100710003530300A4D3430300A4D31313720536591 -:1007200074205A204F666673657400473120463145 -:10073000303030205A302E30004732380A473120CE -:100740004631303030205A302E30004D35303000B8 -:100750005A204F6666736574203A202573004D3524 -:100760003030005A204F6666736574203A20257336 -:10077000004732385A0A473146313530305A302E28 -:1007800030004732380A473146313530305A302E42 -:1007900030004D383400473146313030305A302E39 -:1007A00030004732380A473146313030305A302E27 -:1007B00030005A204F6666736574203A2025730016 -:1007C0004D353030004D383400426567696E5377DF -:1007D00069746368007265636461742E6164647235 -:1007E000203D3D007265636461742E646174615BD9 -:1007F000305D203D3D0077616974776179203D3D32 -:10080000000A202A2A2A4E6F7A7A6C6554656D7028 -:100810005374617475735B325D203D00434F4D4DE1 -:10082000554E49434154494F4E0044525952554E3A -:10083000004552524F525300494E464F00454348DF -:100840004F0047322F47332062616420706172612C -:100850006D65746572730A00536C6565702E2E2E7B -:10086000005A2050726F6265205061737420426597 -:10087000640A005A2050726F6265205061737420C0 -:1008800042656400486F6D6520585920466972734F -:10089000740A00486F6D6520585920466972737458 -:1008A00000205A3A200020593A200042656420581E -:1008B0003A20004D65736820706F696E7420636123 -:1008C0006E6E6F74206265207265736F6C766564FE -:1008D0000A004D302F3120427265616B2043616CFC -:1008E0006C656400436F6E74696E7565004D302FE2 -:1008F0003120427265616B2043616C6C6564004E0F -:100900006F204D6F76652E00456E642066696C65BC -:10091000206C6973740A00426567696E2066696CB1 -:1009200065206C6973740A00526573756D65205398 -:100930004400286E6F2066696C65290043757272E9 -:10094000656E742066696C653A20002E0A00446565 -:100950006C6574696F6E206661696C65642C2046F5 -:10096000696C653A200046696C652064656C657445 -:1009700065643A005072696E742074696D653A203E -:10098000000A53746174733A2046696C616D656E38 -:100990007420757365643A20002C204C6F6E676577 -:1009A0007374206A6F623A2000546F74616C207413 -:1009B000696D653A200053746174733A20002C20ED -:1009C0004661696C65643A20002C2046696E697343 -:1009D0006865643A20005072696E74733A2000535F -:1009E000746174733A20004520436F6F6C696E67C1 -:1009F0002E2E2E00452048656174696E672E2E2EBE -:100A0000006F6666003D08380831082A081C084453 -:100A1000454255473A004D31313320530042656419 -:100A200020436F6F6C696E672E2E2E004265642026 -:100A300048656174696E672E2E2E006F6B00434807 -:100A4000414D4245525F54454D50455241545552D7 -:100A500045004D4F54494F4E5F4D4F444553005450 -:100A60004845524D414C5F50524F54454354494FB5 -:100A70004E004155544F5245504F52545F53445FBE -:100A80005354415455530050524F4D50545F535599 -:100A900050504F525400454D455247454E43595FC3 -:100AA00050415253455200434153455F4C494748DA -:100AB000545F4252494748544E45535300544F47A0 -:100AC000474C455F4C494748545300534F46545791 -:100AD0004152455F504F574552004255494C445F83 -:100AE00050455243454E54004C4556454C494E479F -:100AF0005F44415441005A5F50524F4245004155B6 -:100B0000544F4C4556454C005052494E545F4A4F45 -:100B1000420050524F4752455353004155544F5293 -:100B200045504F52545F54454D5000564F4C554D13 -:100B3000455452494300454550524F4D0042494E9D -:100B40004152595F46494C455F5452414E534645C8 -:100B5000520053455249414C5F584F4E5F584F46E3 -:100B600046004649524D574152455F4E414D453A28 -:100B70004D61726C696E20322E305F4457332054C1 -:100B80004D334420453550534D44425520534F5525 -:100B90005243455F434F44455F55524C3A68747425 -:100BA00070733A2F2F6769746875622E636F6D2FAB -:100BB000496E73616E6974794175746F6D617469A2 -:100BC0006F6E2F4D61726C696E2F747265652F4365 -:100BD0007265616C6974795F4D61726C696E322EF9 -:100BE000302E782050524F544F434F4C5F56455251 -:100BF00053494F4E3A312E30204D414348494E45DE -:100C00005F545950453A544D334420453520506C7B -:100C100075732045585452554445525F434F554EC5 -:100C2000543A3120555549443A636564653261321E -:100C3000662D343161322D343734382D39623132FA -:100C40002D6335356336326633363766660A002FD4 -:100C50002F2000205400205200416363656C6572B0 -:100C60006174696F6E3A20500020466C6F773A20AD -:100C70000050726F7465637465642050696E0A0079 -:100C8000206F7574206F662072616E67650A00536D -:100C90006572766F20003A200020536572766F20CF -:100CA0000050726F6265205A204F66667365743A11 -:100CB0002000496E76616C69642065787472756491 -:100CC00065720A0020643A0020693A0020703A00F8 -:100CD00020643A0020693A0020703A006469730089 -:100CE000656E0043290A0061626C656420286D69A5 -:100CF0006E2074656D702000436F6C64206578749D -:100D000072756465732061726520004F4646004F1E -:100D10004E0046696C616D656E742072756E6F75FC -:100D2000742064697374616E636520286D6D293A5F -:100D3000200046696C616D656E742072756E6F750A -:100D40007420004F666673657473204170706C691F -:100D50006564004572723A20546F6F20666172219B -:100D600000546F6F206661722066726F6D2072652D -:100D7000666572656E636520706F696E740A004502 -:100D80004550524F4D204F4B0A003F4B2076616C2F -:100D90007565206F7574206F662072616E676520BF -:100DA00028302D3130292E0A00416476616E63654A -:100DB000204B3D0024F404D9201BC40C5C0E980485 -:100DC000C4095F0265077101F405F900FB04B30073 -:100DD00048048700C1036900580355000303450018 -:100DE000BE023A008402310053022A002902250083 -:100DF00004022000E4011C00C8011900AF01170023 -:100E000098011400840113007101100061011000A9 -:100E100051010E0043010D0036010B002B010B00A8 -:100E200020010B00150109000C0109000301080055 -:100E3000FB000800F3000800EB000700E4000600D8 -:100E4000DE000600D8000600D2000600CC00050037 -:100E5000C7000500C2000500BD000400B900040081 -:100E6000B5000400B1000400AD000400A9000400B6 -:100E7000A5000300A20003009F0004009B000300E4 -:100E80009800030095000200930003009000030007 -:100E90008D0002008B000300880002008600020023 -:100EA00084000300810002007F0002007D00020038 -:100EB0007B0002007900020077000100760002004A -:100EC0007400020072000100710002006F00020055 -:100ED0006D0001006C0002006A0001006900020060 -:100EE0006700010066000100650001006400020067 -:100EF0006200010061000100600001005F0002006B -:100F00005D0001005C0001005B0001005A0001006F -:100F1000590001005800010057000100560001006F -:100F2000550001005400010053000000530001006F -:100F30005200010051000100500001004F0001006B -:100F40004E0000004E0001004D0001004C00010069 -:100F50004B0000004B0001004A0001004900010065 -:100F60004800000048000100470001004600000062 -:100F7000460001004500000045000100440001005A -:100F80004300000043000100420000004200010055 -:100F90004100000041000100400001003F0000004E -:100FA0003F0001003E0000003E0001003D00000047 -:100FB0003D0001003C0000003C0000003C0001003E -:100FC0003B0000003B0001003A0000003A00010035 -:100FD000390000003900010038000000380000002E -:100FE0003800010037000000370001003600000023 -:100FF000360000003600010035000000350000001A -:10100000350001003400000034000000340001000D -:101010003300000033000000330001003200000004 -:1010200032000000320001003100000031000000F9 -:1010300031000100300000003000000030000100ED -:101040002F0000002F0000002F0000002F000100E3 -:101050002E0000002E0000002E0001002D000000D8 -:101060002D0000002D0000002D0001002C000000CC -:101070002C0000002C0000002C0001002B000000C0 -:101080002B0000002B0000002B0001002A000000B4 -:101090002A0000002A0000002A00010029000000A8 -:1010A000290000002900000029000000290001009B -:1010B0002800000028000000280000002800000090 -:1010C0002800010027000000270000002700000082 -:1010D0002700000027000100260000002600000075 -:1010E0002600000026000000260001002500000068 -:1010F000250000002500000025000000250000005C -:10110000250001002400000024000000240000004D -:101110002400000024000100230000002300000040 -:101120002300000023000000230000002300000033 -:101130002300010022000000220000002200000025 -:101140002200000022000000220001002100000017 -:10115000210000002100000021000000210000000B -:1011600021000000210001002000000020000000FC -:1011700020000000200000002000000020000000EF -:1011800020000000200001001F0000001F000000E0 -:101190001F0000001F0000001F0000001F000000D3 -:1011A0001F0001001E0000001E0000001E000000C5 -:1011B0001E00000024F4D43050C38E20C2A2401779 -:1011C000828B7011127A910D816CD90AA861E108A5 -:1011D000C7586607615143061E4B5D05C145A7040C -:1011E0001A411104093D9803713931034036DB027D -:1011F00065339102D4305402802E1D02632CEE011F -:10120000752AC501B028A001102781018F2564012E -:101210002B244B01E0223401AC211F018D200D0154 -:10122000801FFC00841EED00971DDF00B81CD2005B -:10123000E61BC600201BBC00641AB200B219A8004D -:101240000A19A0006A189900D117910040178B0065 -:10125000B516840031167E00B31579003A15730077 -:10126000C7146F0058146A00EE13660088136300F9 -:1012700025135E00C7125B006C1257001512540054 -:10128000C111510070114F0021114B00D6104900BF -:101290008D1047004610440002104200C00F40006D -:1012A000800F3E00420F3C00060F3B00CB0E380083 -:1012B000930E37005C0E3500270E3400F30D32001C -:1012C000C10D3100900D3000600D2E00320D2D004B -:1012D000050D2C00D90C2B00AE0C2900850C290023 -:1012E0005C0C2700350C27000E0C2600E80B2400B0 -:1012F000C40B2400A00B23007D0B23005A0B2100FC -:10130000390B2100180B2000F80A1F00D90A1E0013 -:10131000BB0A1E009D0A1D00800A1D00630A1C00F6 -:10132000470A1B002C0A1B00110A1A00F7091A00B1 -:10133000DD091900C4091900AB0919009209170049 -:101340007B091800630917004C09160036091600BE -:10135000200916000A091500F5081500E008140018 -:10136000CC081400B8081400A40814009008130056 -:101370007D0812006B08130058081200460812007E -:10138000340811002308110012081100010811008F -:10139000F0071000E0071000D0071000C007100091 -:1013A000B0070F00A107100091070E0083070F0080 -:1013B00074070F0065070E0057070E0049070E005F -:1013C0003B070D002E070E0020070D0013070D0030 -:1013D00006070D00F9060C00ED060D00E0060C00F6 -:1013E000D4060C00C8060C00BC060C00B0060C00AD -:1013F000A4060B0099060C008D060B0082060B005C -:1014000077060B006C060B0061060A0057060B00FE -:101410004C060A0042060A0038060A002E060A0098 -:1014200024060A001A060A001006090007060A0028 -:10143000FD050900F4050900EB050900E2050900B6 -:10144000D9050900D0050900C7050900BE05090036 -:10145000B5050800AD050800A50509009C050800B4 -:10146000940508008C050800840508007C05080028 -:10147000740508006C050700650508005D05070098 -:10148000560508004E0507004705070040050800FF -:1014900038050700310507002A0507002305070066 -:1014A0001C050600160507000F05070008050600C5 -:1014B00002050700FB040600F5040700EE04060021 -:1014C000E8040600E2040700DB040600D504060079 -:1014D000CF040600C9040600C3040600BD040600CC -:1014E000B7040600B1040500AC040600A60406001B -:1014F000A00405009B040600950405009004060066 -:101500008A04050085040500800406007A040500AD -:1015100075040500700405006B04050066040500F1 -:10152000610405005C040500570405005204050031 -:101530004D04050048040500430405003E04040072 -:101540003A04050035040500300404002C040500AD -:1015500027040400230405001E0404001A040400E8 -:1015600016040500110404000D040400090405001C -:101570000404040000040400FC030400F803040055 -:10158000F4030400F0030400EC030400E803040087 -:10159000E4030400E0030400DC030400D8030400B7 -:1015A000D4030400D0030400CC030400C8030300E8 -:1015B000C5030300726F746174696F6E206D61748E -:1015C0007269783A0A0024F404D9201BC40C5C0E1A -:1015D0009804C4095F0265077101F405F900FB0472 -:1015E000B30048048700C103690058035500030392 -:1015F0004500BE023A008402310053022A0029024B -:10160000250004022000E4011C00C8011900AF01FC -:10161000170098011400840113007101100061018A -:10162000100051010E0043010D0036010B002B018B -:101630000B0020010B00150109000C01090003013A -:101640000800FB000800F3000800EB000700E400BE -:101650000600DE000600D8000600D2000600CC001E -:101660000500C7000500C2000500BD000400B90068 -:101670000400B5000400B1000400AD000400A9009E -:101680000400A5000300A20003009F0004009B00CB -:1016900003009800030095000200930003009000EF -:1016A00003008D0002008B0003008800020086000A -:1016B000020084000300810002007F0002007D0020 -:1016C00002007B0002007900020077000100760032 -:1016D00002007400020072000100710002006F003D -:1016E00002006D0001006C0002006A000100690048 -:1016F000020067000100660001006500010064004F -:1017000002006200010061000100600001005F0052 -:1017100002005D0001005C0001005B0001005A0056 -:101720000100590001005800010057000100560057 -:101730000100550001005400010053000000530057 -:1017400001005200010051000100500001004F0053 -:1017500001004E0000004E0001004D0001004C0051 -:1017600001004B0000004B0001004A00010049004D -:101770000100480000004800010047000100460049 -:101780000000460001004500000045000100440043 -:10179000010043000000430001004200000042003D -:1017A00001004100000041000100400001003F0035 -:1017B00000003F0001003E0000003E0001003D002F -:1017C00000003D0001003C0000003C0000003C0027 -:1017D00001003B0000003B0001003A0000003A001D -:1017E0000100390000003900010038000000380015 -:1017F000000038000100370000003700010036000B -:101800000000360000003600010035000000350001 -:1018100000003500010034000000340000003400F6 -:1018200001003300000033000000330001003200EB -:1018300000003200000032000100310000003100E1 -:1018400000003100010030000000300000003000D6 -:1018500001002F0000002F0000002F0000002F00CB -:1018600001002E0000002E0000002E0001002D00BF -:1018700000002D0000002D0000002D0001002C00B4 -:1018800000002C0000002C0000002C0001002B00A8 -:1018900000002B0000002B0000002B0001002A009C -:1018A00000002A0000002A0000002A000100290090 -:1018B0000000290000002900000029000000290084 -:1018C0000100280000002800000028000000280077 -:1018D000000028000100270000002700000027006A -:1018E000000027000000270001002600000026005D -:1018F0000000260000002600000026000100250050 -:101900000000250000002500000025000000250043 -:101910000000250001002400000024000000240035 -:101920000000240000002400010023000000230028 -:10193000000023000000230000002300000023001B -:10194000000023000100220000002200000022000D -:1019500000002200000022000000220001002100FF -:1019600000002100000021000000210000002100F3 -:1019700000002100000021000100200000002000E4 -:1019800000002000000020000000200000002000D7 -:10199000000020000000200001001F0000001F00C8 -:1019A00000001F0000001F0000001F0000001F00BB -:1019B00000001F0001001E0000001E0000001E00AD -:1019C00000001E00000024F4D43050C38E20C2A2B8 -:1019D0004017828B7011127A910D816CD90AA8611F -:1019E000E108C7586607615143061E4B5D05C145B6 -:1019F000A7041A411104093D980371393103403697 -:101A0000DB0265339102D4305402802E1D02632C18 -:101A1000EE01752AC501B028A001102781018F258C -:101A200064012B244B01E0223401AC211F018D20E5 -:101A30000D01801FFC00841EED00971DDF00B81C07 -:101A4000D200E61BC600201BBC00641AB200B2190B -:101A5000A8000A19A0006A189900D1179100401730 -:101A60008B00B516840031167E00B31579003A1547 -:101A70007300C7146F0058146A00EE1366008813D1 -:101A8000630025135E00C7125B006C12570015122D -:101A90005400C111510070114F0021114B00D6109C -:101AA00049008D1047004610440002104200C00F4C -:101AB0004000800F3E00420F3C00060F3B00CB0E63 -:101AC0003800930E37005C0E3500270E3400F30DFE -:101AD0003200C10D3100900D3000600D2E00320D2E -:101AE0002D00050D2C00D90C2B00AE0C2900850C07 -:101AF00029005C0C2700350C27000E0C2600E80B93 -:101B00002400C40B2400A00B23007D0B23005A0BE0 -:101B10002100390B2100180B2000F80A1F00D90AF8 -:101B20001E00BB0A1E009D0A1D00800A1D00630ADC -:101B30001C00470A1B002C0A1B00110A1A00F70997 -:101B40001A00DD091900C4091900AB09190092092E -:101B500017007B091800630917004C0916003609A5 -:101B60001600200916000A091500F5081500E008FE -:101B70001400CC081400B8081400A408140090083D -:101B800013007D0812006B08130058081200460865 -:101B90001200340811002308110012081100010876 -:101BA0001100F0071000E0071000D0071000C00778 -:101BB0001000B0070F00A107100091070E00830767 -:101BC0000F0074070F0065070E0057070E00490746 -:101BD0000E003B070D002E070E0020070D00130717 -:101BE0000D0006070D00F9060C00ED060D00E006DD -:101BF0000C00D4060C00C8060C00BC060C00B00695 -:101C00000C00A4060B0099060C008D060B00820642 -:101C10000B0077060B006C060B0061060A005706E6 -:101C20000B004C060A0042060A0038060A002E067F -:101C30000A0024060A001A060A0010060900070610 -:101C40000A00FD050900F4050900EB050900E2059D -:101C50000900D9050900D0050900C7050900BE051E -:101C60000900B5050800AD050800A50509009C059B -:101C70000800940508008C050800840508007C0510 -:101C80000800740508006C050700650508005D057F -:101C90000700560508004E050700470507004005E8 -:101CA000080038050700310507002A05070023054D -:101CB00007001C050600160507000F0507000805AC -:101CC000060002050700FB040600F5040700EE0409 -:101CD0000600E8040600E2040700DB040600D50461 -:101CE0000600CF040600C9040600C3040600BD04B4 -:101CF0000600B7040600B1040500AC040600A60403 -:101D00000600A00405009B0406009504050090044D -:101D100006008A04050085040500800406007A0494 -:101D2000050075040500700405006B0405006604D9 -:101D30000500610405005C04050057040500520419 -:101D400005004D04050048040500430405003E0459 -:101D500004003A04050035040500300404002C0496 -:101D6000050027040400230405001E0404001A04CF -:101D7000040016040500110404000D040400090405 -:101D800005000404040000040400FC030400F8033C -:101D90000400F4030400F0030400EC030400E8036F -:101DA0000400E4030400E0030400DC030400D8039F -:101DB0000400D4030400D0030400CC030400C803CF -:101DC0000300C503030024F404D9201BC40C5C0EDB -:101DD0009804C4095F0265077101F405F900FB046A -:101DE000B30048048700C10369005803550003038A -:101DF0004500BE023A008402310053022A00290243 -:101E0000250004022000E4011C00C8011900AF01F4 -:101E10001700980114008401130071011000610182 -:101E2000100051010E0043010D0036010B002B0183 -:101E30000B0020010B00150109000C010900030132 -:101E40000800FB000800F3000800EB000700E400B6 -:101E50000600DE000600D8000600D2000600CC0016 -:101E60000500C7000500C2000500BD000400B90060 -:101E70000400B5000400B1000400AD000400A90096 -:101E80000400A5000300A20003009F0004009B00C3 -:101E900003009800030095000200930003009000E7 -:101EA00003008D0002008B00030088000200860002 -:101EB000020084000300810002007F0002007D0018 -:101EC00002007B000200790002007700010076002A -:101ED00002007400020072000100710002006F0035 -:101EE00002006D0001006C0002006A000100690040 -:101EF0000200670001006600010065000100640047 -:101F000002006200010061000100600001005F004A -:101F100002005D0001005C0001005B0001005A004E -:101F2000010059000100580001005700010056004F -:101F3000010055000100540001005300000053004F -:101F400001005200010051000100500001004F004B -:101F500001004E0000004E0001004D0001004C0049 -:101F600001004B0000004B0001004A000100490045 -:101F70000100480000004800010047000100460041 -:101F8000000046000100450000004500010044003B -:101F90000100430000004300010042000000420035 -:101FA00001004100000041000100400001003F002D -:101FB00000003F0001003E0000003E0001003D0027 -:101FC00000003D0001003C0000003C0000003C001F -:101FD00001003B0000003B0001003A0000003A0015 -:101FE000010039000000390001003800000038000D -:101FF0000000380001003700000037000100360003 -:1020000000003600000036000100350000003500F9 -:1020100000003500010034000000340000003400EE -:1020200001003300000033000000330001003200E3 -:1020300000003200000032000100310000003100D9 -:1020400000003100010030000000300000003000CE -:1020500001002F0000002F0000002F0000002F00C3 -:1020600001002E0000002E0000002E0001002D00B7 -:1020700000002D0000002D0000002D0001002C00AC -:1020800000002C0000002C0000002C0001002B00A0 -:1020900000002B0000002B0000002B0001002A0094 -:1020A00000002A0000002A0000002A000100290088 -:1020B000000029000000290000002900000029007C -:1020C000010028000000280000002800000028006F -:1020D0000000280001002700000027000000270062 -:1020E0000000270000002700010026000000260055 -:1020F0000000260000002600000026000100250048 -:10210000000025000000250000002500000025003B -:10211000000025000100240000002400000024002D -:102120000000240000002400010023000000230020 -:102130000000230000002300000023000000230013 -:102140000000230001002200000022000000220005 -:1021500000002200000022000000220001002100F7 -:1021600000002100000021000000210000002100EB -:1021700000002100000021000100200000002000DC -:1021800000002000000020000000200000002000CF -:10219000000020000000200001001F0000001F00C0 -:1021A00000001F0000001F0000001F0000001F00B3 -:1021B00000001F0001001E0000001E0000001E00A5 -:1021C00000001E00000024F4D43050C38E20C2A2B0 -:1021D0004017828B7011127A910D816CD90AA86117 -:1021E000E108C7586607615143061E4B5D05C145AE -:1021F000A7041A411104093D98037139310340368F -:10220000DB0265339102D4305402802E1D02632C10 -:10221000EE01752AC501B028A001102781018F2584 -:1022200064012B244B01E0223401AC211F018D20DD -:102230000D01801FFC00841EED00971DDF00B81CFF -:10224000D200E61BC600201BBC00641AB200B21903 -:10225000A8000A19A0006A189900D1179100401728 -:102260008B00B516840031167E00B31579003A153F -:102270007300C7146F0058146A00EE1366008813C9 -:10228000630025135E00C7125B006C125700151225 -:102290005400C111510070114F0021114B00D61094 -:1022A00049008D1047004610440002104200C00F44 -:1022B0004000800F3E00420F3C00060F3B00CB0E5B -:1022C0003800930E37005C0E3500270E3400F30DF6 -:1022D0003200C10D3100900D3000600D2E00320D26 -:1022E0002D00050D2C00D90C2B00AE0C2900850CFF -:1022F00029005C0C2700350C27000E0C2600E80B8B -:102300002400C40B2400A00B23007D0B23005A0BD8 -:102310002100390B2100180B2000F80A1F00D90AF0 -:102320001E00BB0A1E009D0A1D00800A1D00630AD4 -:102330001C00470A1B002C0A1B00110A1A00F7098F -:102340001A00DD091900C4091900AB091900920926 -:1023500017007B091800630917004C09160036099D -:102360001600200916000A091500F5081500E008F6 -:102370001400CC081400B8081400A4081400900835 -:1023800013007D0812006B0813005808120046085D -:10239000120034081100230811001208110001086E -:1023A0001100F0071000E0071000D0071000C00770 -:1023B0001000B0070F00A107100091070E0083075F -:1023C0000F0074070F0065070E0057070E0049073E -:1023D0000E003B070D002E070E0020070D0013070F -:1023E0000D0006070D00F9060C00ED060D00E006D5 -:1023F0000C00D4060C00C8060C00BC060C00B0068D -:102400000C00A4060B0099060C008D060B0082063A -:102410000B0077060B006C060B0061060A005706DE -:102420000B004C060A0042060A0038060A002E0677 -:102430000A0024060A001A060A0010060900070608 -:102440000A00FD050900F4050900EB050900E20595 -:102450000900D9050900D0050900C7050900BE0516 -:102460000900B5050800AD050800A50509009C0593 -:102470000800940508008C050800840508007C0508 -:102480000800740508006C050700650508005D0577 -:102490000700560508004E050700470507004005E0 -:1024A000080038050700310507002A050700230545 -:1024B00007001C050600160507000F0507000805A4 -:1024C000060002050700FB040600F5040700EE0401 -:1024D0000600E8040600E2040700DB040600D50459 -:1024E0000600CF040600C9040600C3040600BD04AC -:1024F0000600B7040600B1040500AC040600A604FB -:102500000600A00405009B04060095040500900445 -:1025100006008A04050085040500800406007A048C -:10252000050075040500700405006B0405006604D1 -:102530000500610405005C04050057040500520411 -:1025400005004D04050048040500430405003E0451 -:1025500004003A04050035040500300404002C048E -:10256000050027040400230405001E0404001A04C7 -:10257000040016040500110404000D0404000904FD -:1025800005000404040000040400FC030400F80334 -:102590000400F4030400F0030400EC030400E80367 -:1025A0000400E4030400E0030400DC030400D80397 -:1025B0000400D4030400D0030400CC030400C803C7 -:1025C0000300C503030070012C0190012701B00135 -:1025D0002201C0011D01F001180110021301300297 -:1025E0000E016002090190020401C002FF00000315 -:1025F000FA004003F5008003F000D003EB00200454 -:10260000E6007004E100E004DC004005D700C005EE -:10261000D2004006CD00D006C8008007C3003008B5 -:10262000BE00F008B900C009B400B00AAF00B00B9A -:10263000AA00D00CA500000EA000500F9B00C010F7 -:1026400096005012910000148C00C0158700B0173E -:102650008200B0197D00D01B7800001E730040205E -:102660006E0090226900F024640040275F009029EA -:102670005A00E02B5500102E500020304B00103235 -:102680004600E033410090353C0010373700703889 -:102690003200A0392D00B03A2800A03B2300603C56 -:1026A0001E00103D1900903D1400103E0F00703EBA -:1026B0000A00C03E0500003F0000403FFBFF803F96 -:1026C000F6FFC03FF1FF1000C90210012C014001CC -:1026D000220170011801B0010E01F0010401500245 -:1026E000FA00B002F0003003E600D003DC009004F2 -:1026F000D2007005C800A006BE000008B400B009F2 -:10270000AA00D00BA000600E960060118C0000158E -:10271000820020197800C01D6E00A0226400B0273E -:102720005A00902C500000314600E0343C00103834 -:102730003200903A2800603C1E00A03D1400803E0C -:102740000A00203F000024F404D9201BC40C5C0EB6 -:102750009804C4095F0265077101F405F900FB04E0 -:10276000B30048048700C103690058035500030300 -:102770004500BE023A008402310053022A002902B9 -:10278000250004022000E4011C00C8011900AF016B -:1027900017009801140084011300710110006101F9 -:1027A000100051010E0043010D0036010B002B01FA -:1027B0000B0020010B00150109000C0109000301A9 -:1027C0000800FB000800F3000800EB000700E4002D -:1027D0000600DE000600D8000600D2000600CC008D -:1027E0000500C7000500C2000500BD000400B900D7 -:1027F0000400B5000400B1000400AD000400A9000D -:102800000400A5000300A20003009F0004009B0039 -:10281000030098000300950002009300030090005D -:1028200003008D0002008B00030088000200860078 -:10283000020084000300810002007F0002007D008E -:1028400002007B00020079000200770001007600A0 -:1028500002007400020072000100710002006F00AB -:1028600002006D0001006C0002006A0001006900B6 -:1028700002006700010066000100650001006400BD -:1028800002006200010061000100600001005F00C1 -:1028900002005D0001005C0001005B0001005A00C5 -:1028A00001005900010058000100570001005600C6 -:1028B00001005500010054000100530000005300C6 -:1028C00001005200010051000100500001004F00C2 -:1028D00001004E0000004E0001004D0001004C00C0 -:1028E00001004B0000004B0001004A0001004900BC -:1028F00001004800000048000100470001004600B8 -:1029000000004600010045000000450001004400B1 -:1029100001004300000043000100420000004200AB -:1029200001004100000041000100400001003F00A3 -:1029300000003F0001003E0000003E0001003D009D -:1029400000003D0001003C0000003C0000003C0095 -:1029500001003B0000003B0001003A0000003A008B -:102960000100390000003900010038000000380083 -:102970000000380001003700000037000100360079 -:102980000000360000003600010035000000350070 -:102990000000350001003400000034000000340065 -:1029A000010033000000330000003300010032005A -:1029B0000000320000003200010031000000310050 -:1029C0000000310001003000000030000000300045 -:1029D00001002F0000002F0000002F0000002F003A -:1029E00001002E0000002E0000002E0001002D002E -:1029F00000002D0000002D0000002D0001002C0023 -:102A000000002C0000002C0000002C0001002B0016 -:102A100000002B0000002B0000002B0001002A000A -:102A200000002A0000002A0000002A0001002900FE -:102A300000002900000029000000290000002900F2 -:102A400001002800000028000000280000002800E5 -:102A500000002800010027000000270000002700D8 -:102A600000002700000027000100260000002600CB -:102A700000002600000026000000260001002500BE -:102A800000002500000025000000250000002500B2 -:102A900000002500010024000000240000002400A4 -:102AA0000000240000002400010023000000230097 -:102AB000000023000000230000002300000023008A -:102AC000000023000100220000002200000022007C -:102AD000000022000000220000002200010021006E -:102AE0000000210000002100000021000000210062 -:102AF0000000210000002100010020000000200053 -:102B00000000200000002000000020000000200045 -:102B1000000020000000200001001F0000001F0036 -:102B200000001F0000001F0000001F0000001F0029 -:102B300000001F0001001E0000001E0000001E001B -:102B400000001E00000024F4D43050C38E20C2A226 -:102B50004017828B7011127A910D816CD90AA8618D -:102B6000E108C7586607615143061E4B5D05C14524 -:102B7000A7041A411104093D980371393103403605 -:102B8000DB0265339102D4305402802E1D02632C87 -:102B9000EE01752AC501B028A001102781018F25FB -:102BA00064012B244B01E0223401AC211F018D2054 -:102BB0000D01801FFC00841EED00971DDF00B81C76 -:102BC000D200E61BC600201BBC00641AB200B2197A -:102BD000A8000A19A0006A189900D117910040179F -:102BE0008B00B516840031167E00B31579003A15B6 -:102BF0007300C7146F0058146A00EE136600881340 -:102C0000630025135E00C7125B006C12570015129B -:102C10005400C111510070114F0021114B00D6100A -:102C200049008D1047004610440002104200C00FBA -:102C30004000800F3E00420F3C00060F3B00CB0ED1 -:102C40003800930E37005C0E3500270E3400F30D6C -:102C50003200C10D3100900D3000600D2E00320D9C -:102C60002D00050D2C00D90C2B00AE0C2900850C75 -:102C700029005C0C2700350C27000E0C2600E80B01 -:102C80002400C40B2400A00B23007D0B23005A0B4F -:102C90002100390B2100180B2000F80A1F00D90A67 -:102CA0001E00BB0A1E009D0A1D00800A1D00630A4B -:102CB0001C00470A1B002C0A1B00110A1A00F70906 -:102CC0001A00DD091900C4091900AB09190092099D -:102CD00017007B091800630917004C091600360914 -:102CE0001600200916000A091500F5081500E0086D -:102CF0001400CC081400B8081400A40814009008AC -:102D000013007D0812006B081300580812004608D3 -:102D100012003408110023081100120811000108E4 -:102D20001100F0071000E0071000D0071000C007E6 -:102D30001000B0070F00A107100091070E008307D5 -:102D40000F0074070F0065070E0057070E004907B4 -:102D50000E003B070D002E070E0020070D00130785 -:102D60000D0006070D00F9060C00ED060D00E0064B -:102D70000C00D4060C00C8060C00BC060C00B00603 -:102D80000C00A4060B0099060C008D060B008206B1 -:102D90000B0077060B006C060B0061060A00570655 -:102DA0000B004C060A0042060A0038060A002E06EE -:102DB0000A0024060A001A060A001006090007067F -:102DC0000A00FD050900F4050900EB050900E2050C -:102DD0000900D9050900D0050900C7050900BE058D -:102DE0000900B5050800AD050800A50509009C050A -:102DF0000800940508008C050800840508007C057F -:102E00000800740508006C050700650508005D05ED -:102E10000700560508004E05070047050700400556 -:102E2000080038050700310507002A0507002305BB -:102E300007001C050600160507000F05070008051A -:102E4000060002050700FB040600F5040700EE0477 -:102E50000600E8040600E2040700DB040600D504CF -:102E60000600CF040600C9040600C3040600BD0422 -:102E70000600B7040600B1040500AC040600A60471 -:102E80000600A00405009B040600950405009004BC -:102E900006008A04050085040500800406007A0403 -:102EA000050075040500700405006B040500660448 -:102EB0000500610405005C04050057040500520488 -:102EC00005004D04050048040500430405003E04C8 -:102ED00004003A04050035040500300404002C0405 -:102EE000050027040400230405001E0404001A043E -:102EF000040016040500110404000D040400090474 -:102F000005000404040000040400FC030400F803AA -:102F10000400F4030400F0030400EC030400E803DD -:102F20000400E4030400E0030400DC030400D8030D -:102F30000400D4030400D0030400CC030400C8033D -:102F40000300C5030300256C642E25696D004D61E7 -:102F5000726C696E20322E305F44573300206D61F1 -:102F6000783A00206D696E3A004178697320004517 -:102F700072726F722077726974696E6720746F2045 -:102F8000454550524F4D210A00363726033C3D3807 -:102F90000E2E303E121A1C1808440AFF4308090777 -:102FA0000001627573793A207061757365642066FB -:102FB0006F7220696E7075740A00627573793A20B9 -:102FC00070617573656420666F7220757365720A2F -:102FD00000627573793A2070726F63657373696EFE -:102FE000670A007061757365004D363030200A2025 -:102FF0004D313137200A002066696C616D656E7451 -:103000005F72756E6F7574200066696C616D656EB8 -:10301000745F72756E6F757420540046696C616DD3 -:10302000656E7452756E6F757420540053544F5012 -:103030005045442E20005072696E7465722073747E -:103040006F707065642064756520746F206572729E -:103050006F72732E204669782074686520657272DD -:103060006F7220616E6420757365204D3939392087 -:10307000746F20726573746172742E202854656DAC -:10308000706572617475726520697320726573650D -:10309000742E2053657420697420616674657220F3 -:1030A00072657374617274696E67290A004E6F20CD -:1030B000436865636B73756D2077697468206C690C -:1030C0006E65206E756D6265722C204C6173742084 -:1030D0004C696E653A20004E6F20436865636B73E0 -:1030E000756D2077697468206C696E65206E756DEA -:1030F0006265722C204C617374204C696E653A20B5 -:1031000000636865636B73756D206D69736D6174C1 -:1031100063682C204C617374204C696E653A200002 -:103120004C696E65204E756D626572206973206E04 -:103130006F74204C617374204C696E65204E756D00 -:103140006265722B312C204C617374204C696E6562 -:103150003A20004D31313000776169740A004D31F9 -:103160003137004D3331005344207265616420656E -:1031700072726F720A00446F6E65207072696E74AD -:10318000696E672066696C650A004B494C4C206388 -:10319000617573656420627920746F6F206D75634B -:1031A0006820696E6163746976652074696D652055 -:1031B0002D2063757272656E7420636F6D6D616E24 -:1031C000643A20002020506C616E6E657242756614 -:1031D00066657242797465733A20002046726565AF -:1031E000204D656D6F72793A2000436F6D70696C88 -:1031F00065643A2053657020203820323031390A16 -:1032000000207C20417574686F723A2054696E7991 -:103210004D616368696E657333440A003230313939 -:103220002D30372D333000204C617374205570647D -:10323000617465643A2000322E305F4457330A00CF -:103240004D61726C696E0020536F667477617265B0 -:103250002052657365740A00205761746368646F57 -:10326000672052657365740A002042726F776E2082 -:103270006F75742052657365740A00204578746513 -:10328000726E616C2052657365740A00506F7765C9 -:103290007255700A0073746172740A006175746FFC -:1032A00025632E67006572726F7220777269746988 -:1032B0006E6720746F2066696C650A00446F6E65E6 -:1032C00020736176696E672066696C652E0A004D11 -:1032D000323900205A3A0020593A0020583A006505 -:1032E0006E6473746F7073206869743A200047329B -:1032F0003858590043616E6E6F74206F70656E2090 -:1033000073756264697220005344206361726420A3 -:103310006F6B0A006F70656E526F6F742066616923 -:103320006C65640A00766F6C756D652E696E6974E4 -:10333000206661696C65640A00534420696E697493 -:10334000206661696C0A004D3234004D323320250D -:10335000730057726974696E6720746F2066696CB8 -:10336000653A20002E0A006F70656E206661696CF8 -:1033700065642C2046696C653A20002E0A006F7047 -:10338000656E206661696C65642C2046696C653ADF -:10339000200046696C652073656C65637465640A1A -:1033A000002053697A653A200046696C65206F7089 -:1033B000656E65643A2000667265736800646F69C3 -:1033C0006E67002066696C653A20004E6F772000BA -:1033D000454E4420535542524F5554494E450A00DC -:1033E0002220706F73002220706172656E743A2221 -:1033F00000535542524F5554494E452043414C4C81 -:10340000207461726765743A2200747279696E671C -:1034100020746F2063616C6C207375622D67636F1D -:1034200064652066696C6573207769746820746FC1 -:103430006F206D616E79206C6576656C732E204D02 -:103440004158206C6576656C2069733A310A0053E7 -:1034500044207072696E74696E67206279746520A9 -:10346000004E6F74205344207072696E74696E67E9 -:103470000A0020746F6F206C6F6E6720657874721D -:103480007573696F6E2070726576656E7465640A17 -:103490000020636F6C6420657874727573696F6E59 -:1034A0002070726576656E7465640A002020207C49 -:1034B0000A004E414E0020202E20202000207C00BB -:1034C0004C43443A0A004353563A0A0020666F724E -:1034D00020003A0A0A000A42656420546F706F6740 -:1034E0007261706879205265706F7274004732386B -:1034F000004D3238302050302053393000446F6E48 -:10350000652E0A003F496E76616C69642073746FA2 -:103510007261676520736C6F742E0A3F5573652066 -:103520003020746F20003F454550524F4D2073743A -:103530006F72616765206E6F7420617661696C617E -:10354000626C652E0A00446F6E652E0A003F496E5C -:1035500076616C69642073746F7261676520736C47 -:103560006F742E0A3F557365203020746F20003F22 -:10357000454550524F4D2073746F72616765206EE0 -:103580006F7420617661696C61626C652E0A003F20 -:103590005034206973206F6E6C7920617661696C9C -:1035A00061626C65207768656E20616E204C4344D3 -:1035B0002069732070726573656E742E0A003F5027 -:1035C00032206973206F6E6C7920617661696C615D -:1035D000626C65207768656E20616E204C434420E4 -:1035E00069732070726573656E742E0A00292E0A45 -:1035F0000A0050726F62696E672061726F756E6447 -:103600002028004D65736820696E76616C6964617D -:103610007465642E2050726F62696E67206D6573E9 -:10362000682E0A004D657368207A65726F65642E96 -:103630000A0044656661756C742073746F7261670B -:103640006520736C6F7420302073656C65637465DE -:10365000642E0A004C6F6164696E67207465737430 -:103660005F7061747465726E2076616C7565732E1F -:103670000A0A00496E76616C696420746573745F30 -:103680007061747465726E2076616C75652E202889 -:103690002D3120746F2032290A0A004C6F63617447 -:1036A000696F6E7320696E76616C696461746564BC -:1036B0002E0A0A00456E74697265204D6573682094 -:1036C000696E76616C6964617465642E0A0A002013 -:1036D00042002050006F6B00526573656E643A20A3 -:1036E0000043616E6E6F74206F70656E207375623B -:1036F00064697220002569730025696D202569734E -:10370000002569682025696D202569730025696495 -:10371000202569682025696D202569730025697950 -:1037200020256964202569682025696D2025697335 -:103730000023646566696E652044454641554C54D6 -:103740005F0000626564004B6420004B6920004B01 -:10375000702000504944204175746F74756E652067 -:1037600066696E6973686564212050757420746899 -:1037700065206C617374204B702C204B6920616E46 -:1037800064204B6420636F6E7374616E7473206683 -:10379000726F6D2062656C6F7720696E746F204365 -:1037A0006F6E66696775726174696F6E2E680A0064 -:1037B000504944204175746F74756E652066616967 -:1037C0006C6564212074696D656F75740A004531FC -:1037D00020544845524D414C2052554E4157415975 -:1037E0000042454420544845524D414C2052554ECC -:1037F0004157415900546865726D616C2052756E75 -:10380000617761790045312048656174696E672090 -:103810004661696C6564004265642048656174694D -:103820006E67204661696C65640048656174696E05 -:1038300067206661696C6564005049442041757475 -:103840006F74756E65206661696C656421205465CE -:103850006D706572617475726520746F6F20686930 -:1038600067680A00204B643A2000204B693A200028 -:10387000204B703A20000A20436C61737369632007 -:10388000504944200A00204B643A2000204B693AFA -:103890002000204B703A20000A204E6F206F766582 -:1038A0007273686F6F740A002054753A2000204BC1 -:1038B000753A2000206D61783A2000206D696E3ADB -:1038C000200020643A200020626961733A20005091 -:1038D0004944204175746F74756E6520737461720C -:1038E000740A00504944204175746F74756E6520E8 -:1038F0006661696C6564212054656D7065726174E0 -:1039000075726520746F6F20686967680A00504996 -:1039100044204175746F74756E65206661696C65CD -:103920006421204261642065787472756465722038 -:103930006E756D6265720A0020746F6F206C6F6E19 -:103940006720657874727573696F6E207072657622 -:10395000656E7465640A0020636F6C64206578741A -:10396000727573696F6E2070726576656E746564CA -:103970000A00486F6D6520257325732573204669FD -:10398000727374002046697273740A00486F6D6523 -:1039900020000000B4430000B44300000000000019 -:1039A000484200004842000080405761726E696ED4 -:1039B000673A20486F6D696E672042756D702044CC -:1039C000697669736F72203C20310A00020204009C -:1039D00000A0400000A040000000400000B44300F0 -:1039E00000B4430000C8430101FF496E76616C6971 -:1039F000642065787472756465720A007C3C3E5E72 -:103A00002B3D3F2F5B5D3B2C2A225C0050726F6286 -:103A1000696E67204661696C65640A0050726F6266 -:103A2000696E67204661696C6564003F556E61622E -:103A30006C6520746F2073617665206D65736820F6 -:103A4000646174612E0A003F556E61626C6520747A -:103A50006F206C6F6164206D6573682064617461B0 -:103A60002E0A00D0070000D0070000640000004BC1 -:103A700000000000803B4400803B440000204100E7 -:103A80000096420000A0420000A04200004844000E -:103A900000BE42556E696669656420426564204CCB -:103AA0006576656C696E67003A0A0020204D3630F5 -:103AB00033200020440020204D3431322053004672 -:103AC000696C616D656E742072756E6F75742073AC -:103AD000656E736F723A0A002055004C0046696C9F -:103AE000616D656E74206C6F61642F756E6C6F61B3 -:103AF00064206C656E677468733A0A0020204D3943 -:103B00003030204B004C696E6561722041647661F3 -:103B10006E63653A0A0020204D383531205A002066 -:103B2000204D38353120590020204D38353120586E -:103B3000005A2D50726F6265204F6666736574007F -:103B400020440020490020204D33303420500020F4 -:103B5000440020490020204D33303120500050498E -:103B6000442073657474696E67733A0A00206D654A -:103B7000736865732E0A0A00454550524F4D206305 -:103B8000616E20686F6C6420000A41637469766519 -:103B9000204D65736820536C6F743A2000205A00E2 -:103BA00020204D3432302053003A0A00205A0020A1 -:103BB000590020204D323036205800486F6D652066 -:103BC0006F66667365743A0A00204A00205400202C -:103BD000530020204D323035204200204A3C6A7587 -:103BE0006E635F6465763E00416476616E63656412 -:103BF0003A20423C6D696E5F7365676D656E745FF8 -:103C000074696D655F75733E20533C6D696E5F66C8 -:103C1000656564726174653E20543C6D696E5F74C5 -:103C2000726176656C5F66656564726174653E009D -:103C300020540020520020204D32303420500041CA -:103C40006363656C65726174696F6E2028756E6957 -:103C500074732F7332293A20503C7072696E745F0E -:103C6000616363656C3E20523C726574726163747B -:103C70005F616363656C3E20543C74726176656C71 -:103C80005F616363656C3E0A00204500205A002096 -:103C9000590020204D3230312058004D6178696D37 -:103CA000756D20416363656C65726174696F6E2028 -:103CB00028756E6974732F7332293A0A0020450003 -:103CC000205A0020590020204D3230332058004D1A -:103CD0006178696D756D2066656564726174657380 -:103CE0002028756E6974732F73293A0A005374651E -:103CF00070732070657220756E69743A0A00202016 -:103D00004D3230302044300A0020204D32303020F7 -:103D100044002044697361626C65640A0046696C02 -:103D2000616D656E742073657474696E67733A00B3 -:103D300020286D6D29002020473231202020203B93 -:103D400020556E69747320696E206D6D00486F6D2B -:103D5000696E67204661696C6564006F70656E000E -:103D6000545249474745524544003A200066696C21 -:103D7000616D656E74007A5F6D696E00795F6D616B -:103D80007800785F6D6178005265706F7274696E4B -:103D90006720656E6473746F7020737461747573DB -:103DA0000A00205A3A0020593A0020436F756E7479 -:103DB00020583A0020453A00205A3A0020593A004B -:103DC000583A005A5F53544F505F50494E005A5F63 -:103DD000535445505F50494E005A5F4D494E5F5015 -:103DE000494E005A5F454E41424C455F50494E0096 -:103DF0005A5F4449525F50494E005A5F43535F50E7 -:103E0000494E00595F53544F505F50494E00595F1F -:103E1000535445505F50494E00595F4D41585F50D3 -:103E2000494E00595F454E41424C455F50494E0056 -:103E3000595F4449525F50494E00595F43535F50A8 -:103E4000494E00585F53544F505F50494E00585FE1 -:103E5000535445505F50494E00585F4D41585F5094 -:103E6000494E00585F454E41424C455F50494E0017 -:103E7000585F4449525F50494E00585F43535F506A -:103E8000494E0053535F50494E00534552564F33ED -:103E90005F50494E00534552564F325F50494E00D5 -:103EA000534552564F315F50494E00534552564F7D -:103EB000305F50494E00534453530053445F4445D0 -:103EC000544543545F50494E0053434B5F50494E55 -:103ED0000052414D50535F44395F50494E005241AA -:103EE0004D50535F44385F50494E0052414D50533E -:103EF0005F4431305F50494E004D4F53495F504948 -:103F00004E004D4F534645545F445F50494E004D5F -:103F100049534F5F50494E004D4158363637355F53 -:103F200053535F50494E004C45445F50494E004842 -:103F300045415445525F4245445F50494E00484513 -:103F4000415445525F305F50494E0046494C5F52E4 -:103F5000554E4F55545F50494E0046414E315F50CB -:103F6000494E0046414E5F50494E0045315F535423 -:103F700045505F50494E0045315F454E41424C45EA -:103F80005F50494E0045315F4449525F50494E00F1 -:103F900045315F43535F50494E0045305F535445B0 -:103FA000505F50494E0045305F454E41424C455FA1 -:103FB00050494E0045305F4449525F50494E0045DC -:103FC000305F43535F50494E00455F4D5558325F57 -:103FD00050494E00455F4D5558315F50494E0045A0 -:103FE0005F4D5558305F50494E004156525F535314 -:103FF0005F50494E004156525F53434B5F50494E0C -:10400000004156525F4D4F53495F50494E00415653 -:10401000525F4D49534F5F50494E0054454D505FDC -:104020004245445F50494E0054454D505F315F500A -:10403000494E0054454D505F305F50494E0046494F -:104040004C57494454485F50494E0054584400521C -:1040500058440020202000202020416E616C6F67B2 -:1040600020696E203D2025356C64003C756E7573AB -:1040700065642F756E6B6E6F776E3E00202841254C -:104080003264292020002533642000257350494ED6 -:104090003A20004F7574707574203D2000496E7091 -:1040A000757420203D2000416E616C6F6720696E41 -:1040B000203D2025356C640070726F7465637465F3 -:1040C0006420002028412532642920200025336403 -:1040D0002000257350494E3A20004F4000014B40CC -:1040E00001013E403B0033404300284045001B4057 -:1040F00044000E40320101403301F53F3401EA3FF4 -:104100003501DF3F2801D43F2A01C93F2C01BF3FC1 -:104110002A01B43F1C01A63F18019A3F1A01903FA3 -:104120002C01853F2201773F1E016B3F2401633F35 -:1041300009015A3F07014B3F02013E3F0A012F3F51 -:104140000801273F0D01183F42010F3F3201023F96 -:104150000701F93E3301EB3E0A01DE3E0801D13E84 -:104160000901C93E3401BB3E3101B63E3501AB3ECB -:104170000B01A03E0601953E05018A3E0401833EE7 -:1041800035017A3E3501703E3701633E2601593EC6 -:1041900003014E3E3601433E03013A3E3101303EBB -:1041A0003D01233E3801193E0E010E3E3C01033E07 -:1041B0000E01FA3D2801F03D3001E33D3E01D93DBD -:1041C0001201CE3D2E01C33D1201446F6E652E0AD1 -:1041D0000066616C7365004641494C3A204E6F2081 -:1041E0007472696767657220646574656374656479 -:1041F0000A004641494C3A204E6F69736520646558 -:10420000746563746564202D20706C65617365202E -:1042100072652D72756E20746573740A0020646572 -:104220007465637465642E0A003D20424C546F75BA -:104230006368207072652056332E3120286F7220FB -:10424000636F6D70617469626C6529003D205A204E -:10425000536572766F2050726F6265003D20424C4C -:10426000546F7563682056332E310020282B2F2D74 -:1042700020346D73293A20003A2033306D73206F5B -:1042800072206D6F72650A002E2050756C73652068 -:104290007769647468002A2A20506C656173652010 -:1042A000747269676765722070726F6265207769E2 -:1042B0007468696E20333020736563202A2A0A00EF -:1042C0004641494C3A20424C544F55434820656E74 -:1042D00061626C6564202D205365742075702074B4 -:1042E0006869732064657669636520617320612065 -:1042F000536572766F2050726F62652077697468BB -:1043000020494E56455254494E47207365742074D7 -:104310006F202774727565272E0A002020444550AF -:104320004C4F5945442073746174653A204C4F5783 -:1043300020286C6F67696320302900202044455095 -:104340004C4F5945442073746174653A204849477D -:104350004820286C6F676963203129003D204D6536 -:104360006368616E6963616C205377697463682068 -:1043700064657465637465640A005741524E494E22 -:10438000473A20494E56455254494E47207365746A -:1043900074696E672070726F6261626C792062610D -:1043A000636B77617264732E0A002E204465706C13 -:1043B0006F7920262073746F7720342074696D65BF -:1043C000730A003D20424C546F75636820436C6152 -:1043D0007373696320312E322C20312E332C2053FD -:1043E0006D61727420312E302C20322E302C203210 -:1043F0002E322C20332E302C20332E312064657445 -:1044000065637465642E0A002E20436865636B2023 -:10441000666F7220424C544F5543480A002E205A72 -:104420005F4D494E5F454E4453544F505F494E5681 -:10443000455254494E473A20002E2050726F626513 -:10444000205A5F4D494E5F50494E3A20002C207350 -:10445000746F7720616E676C653A202020002C20F5 -:104460006465706C6F7920616E676C653A200053EB -:104470006572766F2070726F626520746573740A5E -:104480002E207573696E6720696E6465783A202006 -:10449000004D343320576169742043616C6C65644E -:1044A00000436F6E74696E7565004D34332057613B -:1044B00069742043616C6C6564005761746368695A -:1044C0006E672070696E730A0064697300656E0020 -:1044D00061626C65640A00656E6473746F70206D50 -:1044E0006F6E69746F722000204500205A002059B9 -:1044F00000204D3932205800205A00205900580021 -:1045000020204D61783A2000205A002059005800A0 -:1045100020204D696E3A2000536F667420656E64EA -:1045200073746F70733A200020496E76616C696411 -:1045300020657874727564657220000500000601BC -:104540000004000601000605000000060004004A01 -:1045500045454540453B455D0A00436F756C642009 -:104560006E6F7420636F6D706C657465204C53467C -:104570002100436F727265637465645F5A3D005435 -:10458000696C74696E6720506F696E742025692F9D -:104590002569000A0A002F0054696C74696E67204F -:1045A0006D65736820706F696E7420003F4572728C -:1045B0006F722070726F62696E6720706F696E74BF -:1045C0002E2041626F7274696E67206F7065726130 -:1045D00074696F6E2E0A00436F727265637465644E -:1045E0005F5A3D0054696C74696E6720506F696E44 -:1045F0007420332F330054696C74696E67206D65C5 -:1046000073682028332F33290A00436F7272656361 -:104610007465645F5A3D0054696C74696E6720501C -:104620006F696E7420322F330054696C74696E6741 -:10463000206D6573682028322F33290A00436F727A -:104640007265637465645F5A3D0054696C74696E89 -:104650006720506F696E7420312F330054696C7479 -:10466000696E67206D6573682028312F33290A0031 -:10467000646F6E650A00496E737566666963696585 -:104680006E7420646174610A00000040409A99933E -:10469000429A991043676657439A198F430080B234 -:1046A0004367E6D543CE4CF9439A590E44CD0C20CE -:1046B0004400C0314434734344672655449AD96654 -:1046C00044CE8C784400208544000040409A999361 -:1046D000429A991043676657439A198F430080B2F4 -:1046E0004367E6D543CE4CF9439A590E44CD0C208E -:1046F0004400C0314434734344672655449AD96614 -:1047000044CE8C7844002085444578747261706F83 -:104710006C6174696E67206D6573682E2E2E00576C -:10472000616974696E6720666F722068656174756F -:10473000702E0A004C656176696E6720473236003C -:104740003F53706563696669656420582C5920631E -:104750006F6F7264696E617465206F7574206F6627 -:1047600020626F756E64732E0A003F2852296570AF -:104770006561742076616C7565206E6F7420706C55 -:1047800061757369626C653B206D75737420626539 -:10479000206174206C6561737420312E0A003F28FB -:1047A00052296570656174206D757374206265208F -:1047B000737065636966696564207768656E206EED -:1047C0006F74207573696E6720616E204C43442EB0 -:1047D0000A003F537065636966696564206E6F7A8D -:1047E0007A6C652074656D70657261747572652090 -:1047F0006E6F7420706C61757369626C652E0A004F -:104800003F5370656369666965642066696C616DB4 -:10481000656E742073697A65206E6F7420706C61A8 -:10482000757369626C652E0A003F53706563696633 -:10483000696564207072696D65206C656E67746867 -:10484000206E6F7420706C61757369626C652E0ADE -:10485000003F5072696D65206C656E677468206DED -:104860007573742062652073706563696669656439 -:10487000207768656E206E6F74207573696E67208F -:10488000616E204C43442E0A003F53706563696695 -:10489000696564206E6F7A7A6C652073697A652029 -:1048A0006E6F7420706C61757369626C652E0A009E -:1048B0003F52657472616374696F6E204D756C74DC -:1048C00069706C696572206D757374206265207300 -:1048D00070656369666965642E0A003F537065639D -:1048E00069666965642052657472616374696F6E8C -:1048F000204D756C7469706C696572206E6F7420E0 -:10490000706C61757369626C652E0A003F53706547 -:10491000636966696564206C6179657220686569A0 -:10492000676874206E6F7420706C61757369626C57 -:10493000652E0A0043292E0A003F5370656369669D -:10494000696564206265642074656D706572617468 -:10495000757265206E6F7420706C61757369626C1E -:1049600065202834302D004732362073746172740C -:10497000696E672E2E2E0A0070012C01900127010E -:10498000B0012201C0011D01F00118011002130144 -:1049900030020E016002090190020401C002FF0012 -:1049A0000003FA004003F5008003F000D003EB00A1 -:1049B0002004E6007004E100E004DC004005D700BC -:1049C000C005D2004006CD00D006C8008007C30055 -:1049D0003008BE00F008B900C009B400B00AAF004A -:1049E000B00BAA00D00CA500000EA000500F9B0039 -:1049F000C01096005012910000148C00C015870062 -:104A0000B0178200B0197D00D01B7800001E730023 -:104A100040206E0090226900F024640040275F006F -:104A200090295A00E02B5500102E500020304B00EA -:104A300010324600E033410090353C00103737001B -:104A400070383200A0392D00B03A2800A03B230076 -:104A5000603C1E00103D1900903D1400103E0F00F8 -:104A6000703E0A00C03E0500003F0000403FFBFFD3 -:104A7000803FF6FFC03FF1FF202D20496E76616C2C -:104A80006964206578747275646572206E756D62F4 -:104A9000657220210A001000C90210012C0140019A -:104AA000220170011801B0010E01F0010401500251 -:104AB000FA00B002F0003003E600D003DC009004FE -:104AC000D2007005C800A006BE000008B400B009FE -:104AD000AA00D00BA000600E960060118C0000159B -:104AE000820020197800C01D6E00A0226400B0274B -:104AF0005A00902C500000314600E0343C00103841 -:104B00003200903A2800603C1E00A03D1400803E18 -:104B10000A00203F0000453120544845524D414C89 -:104B20002052554E41574159004245442054484572 -:104B3000524D414C2052554E4157415900546865E1 -:104B4000726D616C2052756E61776179004531201C -:104B50004572723A204D415854454D50004572728D -:104B60003A204D415854454D5020424544004D4156 -:104B70005854454D502074726967676572656400CA -:104B80004531204572723A204D494E54454D5000F2 -:104B90004572723A204D494E54454D50204245448D -:104BA000004D494E54454D502074726967676572D7 -:104BB0006564000A0A0020205A5F4D494E3A0020E1 -:104BC00020595F4D41583A002020585F4D41583AD6 -:104BD000004D383420582059205A204500202F00FD -:104BE0002042403A0020403A0020573A0020573AED -:104BF0000024F4D43050C38E20C2A24017828B70A0 -:104C000011127A910D816CD90AA861E108C7586622 -:104C100007615143061E4B5D05C145A7041A4111AA -:104C200004093D9803713931034036DB0265339145 -:104C300002D4305402802E1D02632CEE01752AC569 -:104C400001B028A001102781018F2564012B244B7E -:104C500001E0223401AC211F018D200D01801FFCD9 -:104C600000841EED00971DDF00B81CD200E61BC6B5 -:104C700000201BBC00641AB200B219A8000A19A0D7 -:104C8000006A189900D117910040178B00B516845F -:104C90000031167E00B31579003A157300C7146F02 -:104CA0000058146A00EE1366008813630025135E33 -:104CB00000C7125B006C12570015125400C111514D -:104CC0000070114F0021114B00D61049008D104784 -:104CD000004610440002104200C00F4000800F3E0A -:104CE00000420F3C00060F3B00CB0E3800930E37FE -:104CF000005C0E3500270E3400F30D3200C10D317B -:104D000000900D3000600D2E00320D2D00050D2C91 -:104D100000D90C2B00AE0C2900850C29005C0C2757 -:104D200000350C27000E0C2600E80B2400C40B24D1 -:104D300000A00B23007D0B23005A0B2100390B210F -:104D400000180B2000F80A1F00D90A1E00BB0A1E1B -:104D5000009D0A1D00800A1D00630A1C00470A1BF3 -:104D6000002C0A1B00110A1A00F7091A00DD0919A4 -:104D700000C4091900AB091900920917007B091832 -:104D800000630917004C09160036091600200916A1 -:104D9000000A091500F5081500E0081400CC0814F5 -:104DA00000B8081400A4081400900813007D08122D -:104DB000006B08130058081200460812003408114E -:104DC00000230811001208110001081100F007105B -:104DD00000E0071000D0071000C0071000B0070F58 -:104DE00000A107100091070E0083070F0074070F42 -:104DF0000065070E0057070E0049070E003B070D20 -:104E0000002E070E0020070D0013070D0006070DEA -:104E100000F9060C00ED060D00E0060C00D4060CAF -:104E200000C8060C00BC060C00B0060C00A4060B63 -:104E30000099060C008D060B0082060B0077060B0E -:104E4000006C060B0061060A0057060B004C060AB0 -:104E50000042060A0038060A002E060A0024060A46 -:104E6000001A060A001006090007060A00FD0509D7 -:104E700000F4050900EB050900E2050900D9050960 -:104E800000D0050900C7050900BE050900B50508E1 -:104E900000AD050800A50509009C0508009405085B -:104EA000008C050800840508007C050800740508CE -:104EB000006C050700650508005D0507005605083C -:104EC000004E0507004705070040050800380507A4 -:104ED00000310507002A050700230507001C050609 -:104EE00000160507000F0507000805060002050764 -:104EF00000FB040600F5040700EE040600E80406C3 -:104F000000E2040700DB040600D5040600CF040617 -:104F100000C9040600C3040600BD040600B7040669 -:104F200000B1040500AC040600A6040600A00405B8 -:104F3000009B04060095040500900406008A040501 -:104F40000085040500800406007A04050075040548 -:104F500000700405006B040500660405006104058B -:104F6000005C04050057040500520405004D0405CB -:104F70000048040500430405003E0404003A04050B -:104F80000035040500300404002C04050027040447 -:104F900000230405001E0404001A0404001604057E -:104FA00000110404000D04040009040500040404B5 -:104FB0000000040400FC030400F8030400F40304EC -:104FC00000F0030400EC030400E8030400E403041D -:104FD00000E0030400DC030400D8030400D403044D -:104FE00000D0030400CC030400C8030300C503037E -:104FF0000024F404D9201BC40C5C0E9804C4095F7F -:105000000265077101F405F900FB04B30048048749 -:1050100000C10369005803550003034500BE023A6E -:10502000008402310053022A0029022500040220D4 -:1050300000E4011C00C8011900AF01170098011419 -:105040000084011300710110006101100051010E74 -:105050000043010D0036010B002B010B0020010B5A -:1050600000150109000C01090003010800FB0008FC -:1050700000F3000800EB000700E4000600DE000675 -:1050800000D8000600D2000600CC000500C70005CD -:1050900000C2000500BD000400B9000400B5000412 -:1050A00000B1000400AD000400A9000400A5000345 -:1050B00000A20003009F0004009B0003009800036F -:1050C000009500020093000300900003008D000291 -:1050D000008B0003008800020086000200840003A9 -:1050E00000810002007F0002007D0002007B0002C0 -:1050F00000790002007700010076000200740002CF -:105100000072000100710002006F0002006D0001DA -:10511000006C0002006A00010069000200670001E3 -:1051200000660001006500010064000200620001E9 -:105130000061000100600001005F0002005D0001ED -:10514000005C0001005B0001005A000100590001F1 -:1051500000580001005700010056000100550001F1 -:1051600000540001005300000053000100520001F0 -:105170000051000100500001004F0001004E0000EE -:10518000004E0001004D0001004C0001004B0000EA -:10519000004B0001004A00010049000100480000E6 -:1051A00000480001004700010046000000460001E1 -:1051B00000450000004500010044000100430000DC -:1051C00000430001004200000042000100410000D5 -:1051D0000041000100400001003F0000003F0001CD -:1051E000003E0000003E0001003D0000003D0001C7 -:1051F000003C0000003C0000003C0001003B0000BF -:10520000003B0001003A0000003A000100390000B4 -:1052100000390001003800000038000000380001AB -:1052200000370000003700010036000000360000A3 -:105230000036000100350000003500000035000197 -:10524000003400000034000000340001003300008E -:105250000033000000330001003200000032000083 -:105260000032000100310000003100000031000177 -:10527000003000000030000000300001002F00006E -:10528000002F0000002F0000002F0001002E000062 -:10529000002E0000002E0001002D0000002D000057 -:1052A000002D0000002D0001002C0000002C00004B -:1052B000002C0000002C0001002B0000002B00003F -:1052C000002B0000002B0001002A0000002A000033 -:1052D000002A0000002A0001002900000029000027 -:1052E000002900000029000000290001002800001A -:1052F000002800000028000000280000002800010D -:105300000027000000270000002700000027000001 -:1053100000270001002600000026000000260000F3 -:1053200000260000002600010025000000250000E6 -:1053300000250000002500000025000000250001D8 -:1053400000240000002400000024000000240000CD -:1053500000240001002300000023000000230000BF -:1053600000230000002300000023000000230001B0 -:1053700000220000002200000022000000220000A5 -:105380000022000000220001002100000021000096 -:105390000021000000210000002100000021000089 -:1053A000002100010020000000200000002000007B -:1053B000002000000020000000200000002000006D -:1053C00000200001001F0000001F0000001F00005F -:1053D000001F0000001F0000001F0000001F000150 -:1053E000001E0000001E0000001E0000001E000045 -:1053F00000C23100001C260000F4190000D80F0084 -:1054000000EB080000C0040000750200004001002D -:1054100000544D334420453520506C75732052653F -:105420006164792E005072696E74696E672E2E2E3B -:10543000005072696E742050617573656400636119 -:105440006E63656C005072696E742041626F727495 -:1054500065640055492041626F727400726573750E -:105460006D65004D3234000000B4430000B44300C9 -:1054700000C8430000000000000000000000004ED3 -:105480006F20454550524F4D2E0A0053544F502027 -:1054900063616C6C65642062656361757365206F20 -:1054A0006620424C546F756368206572726F72207B -:1054B0002D20726573746172742077697468204D51 -:1054C0003939390A0053544F502063616C6C65645C -:1054D0002062656361757365206F6620424C546F6E -:1054E000756368206572726F72202D207265737407 -:1054F0006172742077697468204D3939390A002F38 -:105500002F616374696F6E3A00627574746F6E0018 -:10551000656E640070726F6D70745F0073686F7792 -:10552000004D38373620526573706F6E64696E6750 -:105530002050524F4D50545F00554E4B4E4F574EDA -:105540002053544154450047434F44455F494E461C -:105550004F004C43445F50415553455F52455355AE -:105560004D450046494C414D454E545F52554E4FB6 -:1055700055545F434F4E54494E55450046494C41A2 -:105580004D454E545F52554E4F5554004D323400E8 -:10559000436F6E74696E75650044697361626C6512 -:1055A00052756E6F7574005075726765204D6F721D -:1055B00065005061757365640070617573656400A2 -:1055C000486F74656E6420746F6F20636F6C640A3B -:1055D0000050617573650050726573732062757455 -:1055E000746F6E20286F72204D3130382920746F0F -:1055F00020726573756D650A00496E73657274205B -:1056000066696C616D656E7420616E642070726590 -:10561000737320627574746F6E20286F72204D3121 -:105620003038290A00436F6E74696E7565005265E3 -:105630006865617420446F6E6500526568656174C9 -:10564000696E672E2E2E00526568656174696E67FB -:105650000048656174657254696D656F75740052B8 -:1056600065686561740048656174657254696D654B -:105670006F757400507265737320627574746F6E09 -:1056800020286F72204D3130382920746F206865D2 -:105690006174206E6F7A7A6C650A004E6F7A7A6C4C -:1056A00065205061726B656400436F6E74696E753E -:1056B00065004E6F7A7A6C65205061726B6564008C -:1056C000486F74656E6420746F6F20636F6C640A3A -:1056D00000726573756D656400626567696E00438D -:1056E0006F6E74696E75650044697361626C6552B2 -:1056F000756E6F75740050757267654D6F726500D9 -:10570000506175736564004C6F61642046696C611B -:105710006D656E7400436F6E74696E7565004C6FD5 -:1057200061642046696C616D656E74205400496E39 -:10573000736572742066696C616D656E7420616E4C -:105740006420707265737320627574746F6E2028A4 -:105750006F72204D313038290A00526573756D65BE -:10576000004F46460A0046616465204865696768DF -:10577000742000426564204C6576656C696E672014 -:10578000004661696C656420746F20656E61626CAF -:105790006520426564204C6576656C696E670A0019 -:1057A000496E76616C6964206D6573682E0A0076B7 -:1057B000616C69640A53746F7261676520736C6F02 -:1057C000743A2000696E004D65736820697320008B -:1057D0003F557365203020746F20003F496E76611D -:1057E0006C69642073746F7261676520736C6F7489 -:1057F0002E0A003F454550524F4D2073746F726121 -:105800006765206E6F7420617661696C61626C659A -:105810002E0A004D65736820706F696E7420636195 -:105820006E6E6F74206265207265736F6C7665644E -:105830000A004D34323120696E636F727265637491 -:1058400020706172616D6574657220757361676542 -:105850000A0046696E6973686564210A00206F66F4 -:105860002000205A00205900476F696E6720746F2E -:105870003A20580043570A00206469723A002061B8 -:105880006E676C653A00537461727420726164696A -:1058900075733A00506F736974696F6E696E672033 -:1058A0007468652070726F62652E2E2E0A003F4E5E -:1058B000756D626572206F66206C65677320696E16 -:1058C000206D6F76656D656E74206E6F7420706CE0 -:1058D00061757369626C652028302D3135292E0A77 -:1058E000003F2028582C5929206F7574206F66209E -:1058F000626F756E64732E0A003F53616D706C6544 -:105900002073697A65206E6F7420706C617573699D -:10591000626C652028342D3530292E0A004D34382C -:10592000205A2D50726F62652052657065617461F6 -:1059300062696C69747920546573740A003F285653 -:10594000296572626F7365206C6576656C2069737A -:1059500020696D706C61757369626C652028302DEB -:1059600034292E0A003F4D65736820746F6F2062E2 -:10597000696720666F7220454550524F4D2E0A00D0 -:105980004E6F20454550524F4D2E0A000A20696E39 -:105990006974207A70726F62655F7A6F666673658C -:1059A00074203D2000454550524F4D20496E69748A -:1059B00069616C697A65640A004469666665723A71 -:1059C000200046726F6D5374703A005374657070A6 -:1059D00065723A00556E4C6576656C3A004C65769A -:1059E000656C65643A005261773A20202020000AF5 -:1059F0004C6F676963616C3A004361703A005072A2 -:105A00006F6265205A204F66667365743A200050B5 -:105A1000726F62652059204F66667365743A200084 -:105A200050726F62652058204F66667365743A2025 -:105A3000003F59206F7574206F662072616E676534 -:105A40002028302D33363020746F20333630290A29 -:105A5000003F58206F7574206F662072616E676515 -:105A60002028302D33363020746F20333630290A09 -:105A7000003F5A206F7574206F662072616E6765F3 -:105A800020282D323020746F203230290A00220A5B -:105A900000656E7175657565696E6720220023204B -:105AA0006F662073616D706C65733A200050726F81 -:105AB00062696E6720506F696E742025692F2569B1 -:105AC000002E0A0A002F000A50726F62696E67206A -:105AD0006D65736820706F696E742000496E766121 -:105AE0006C6964206D617020747970652E0A0A00FB -:105AF0003F28462961646520686569676874206687 -:105B00006F7220426564204C6576656C20436F722D -:105B100072656374696F6E206E6F7420706C61754E -:105B20007369626C652E0A0A003F43616E27742018 -:105B3000616374697661746520616E642064656177 -:105B4000637469766174652061742074686520737C -:105B5000616D652074696D652E0A0A00426F746874 -:105B6000205820262059206C6F636174696F6E7312 -:105B7000206D757374206265207370656369666952 -:105B800065642E0A0A003F496E76616C696420677D -:105B90007269642073697A6520284A2920737065C8 -:105BA0006369666965642028322D39292E0A0A0046 -:105BB0003F285029686173652076616C756520699E -:105BC0006E76616C69642028302D36292E0A0A0011 -:105BD0003F2856296572626F7365206C6576656C27 -:105BE00020697320696D706C61757369626C6520E2 -:105BF00028302D34292E0A0A003F28522965706565 -:105C0000746974696F6E20636F756E7420696E7647 -:105C1000616C69642028312B292E0A0A002E0A00A3 -:105C20006F70656E206661696C65642C2046696CD6 -:105C3000653A2000706F7765726F6666004B494C5D -:105C40004C45442E20005072696E74657220686164 -:105C50006C7465642E206B696C6C28292063616C00 -:105C60006C6564210A003F4A206F7574206F6620BE -:105C700072616E67652028302E303120746F2030BD -:105C80002E33290A0050574D3A2020253464005005 -:105C9000574D3A20202534640050574D3A20202596 -:105CA00034640050574D3A20202534640050574D3D -:105CB0003A20202534640050574D3A202025346482 -:105CC0000050574D3A20202534640050574D3A205B -:105CD000202534640050574D3A202025346400506C -:105CE000574D3A20202534640050574D3A20202546 -:105CF00034640050574D3A20202534640050574DED -:105D00003A20202534640050574D3A202025346431 -:105D10000050574D3A20202534640050574D3A200A -:105D20002025346400433A2000423A2000413A20C2 -:105D30000020202020434F4D002020206E6F6E2D2C -:105D40007374616E646172642050574D206D6F648E -:105D50006500202020636F6D7061726520696E742C -:105D600065727275707420656E61626C6564002086 -:105D700020206F766572666C6F7720696E7465722D -:105D80007275707420656E61626C6564003A200003 -:105D90002020202054494D534B00423A200020201F -:105DA00020205443435200413A2000202020205418 -:105DB000434352002020202043533A20002020203B -:105DC0002057474D3A200050574D3A202025346443 -:105DD0000050574D3A202025346400470048000009 -:105DE0000088008A008C00B300B400000098009A7C -:105DF000009C00A800AA00AC0028012A012C012068 -:105E000020202054494D455200440045006E00803A -:105E10000081006F00B000B100700090009100712F -:105E200000A000A10072002001210173002069730D -:105E300020616C736F207469656420746F207468CE -:105E400069732070696E0054494D45523143000A10 -:105E5000202E002020002020506F72743A20000075 -:105E6000002100240027002A002D0030003300010B -:105E7000010000040107010A01000022002500289A -:105E8000002B002E00310034000201000005010843 -:105E9000010B01000020002300260029002C002F08 -:105EA000003200000100000301060109010505059B -:105EB00005070508080808020202020A0A08080481 -:105EC00004040401010101010101010303030303AF -:105ED000030303040707070C0C0C0C0C0C0C0C023E -:105EE00002020206060606060606060B0B0B0B0B45 -:105EF0000B0B0B010210202008081020401020403E -:105F0000800201020108040201010204081020407D -:105F1000808040201008040201800402018040209B -:105F200010080402010804020101020408102040C4 -:105F300080010204081020408000000A0B02090CB6 -:105F40000D0E08070304010000000000000000001F -:105F50000000000000000000000000000000000041 -:105F600000000000001211100000000000000000FE -:105F700000000000000000000000000000000022FF -:105F80000A00556E6B6E6F776E20636F6D6D616E7C -:105F9000643A202200626564002C20737973746572 -:105FA0006D2073746F70706564212048656174653D -:105FB000725F49443A200042656420486561746913 -:105FC0006E67204661696C65640048656174696E3E -:105FD00067206661696C6564004245442054484509 -:105FE000524D414C2052554E41574159005468651D -:105FF000726D616C2052756E617761790045312058 -:1060000048656174696E67204661696C6564004823 -:10601000656174696E67206661696C65640045310D -:1060200020544845524D414C2052554E41574159FC -:1060300000546865726D616C2052756E617761798C -:106040000053544F505045442E20005072696E74D6 -:1060500065722073746F7070656420647565207458 -:106060006F206572726F72732E2046697820746893 -:1060700065206572726F7220616E64207573652091 -:106080004D39393920746F20726573746172742EC2 -:10609000202854656D70657261747572652069732E -:1060A0002072657365742E205365742069742061B5 -:1060B000667465722072657374617274696E6729A3 -:1060C0000A006563686F3A004572726F723A002089 -:1060D0004A0020204D3432312049002020473239F7 -:1060E000204939390A006163746976650A00696E6E -:1060F00000002053797374656D2076312E30312085 -:1061000000002702C50111241FBECFEFD1E2DEBF80 -:10611000CDBF00E00CBF18E0A0E0B2E0E2EDFDEC86 -:1061200002E00BBF02C007900D92AA3CB107D9F75D -:106130002EE1AAECB8E001C01D92A63BB207E1F740 -:1061400010E3C2E8D0E300E006C021970109802FE8 -:10615000FE010F94BF61C138D10780E00807A9F79D -:106160000F945F4B0D94D7660C9400002F923F92D2 -:106170004F925F926F927F928F929F92AF92BF9257 -:10618000CF92DF92EF92FF920F931F93CF93DF9303 -:10619000CDB7DEB7E3970FB6F894DEBF0FBECDBF25 -:1061A00080910901817091E098272091E908921768 -:1061B00081F19093E908811116C00E94E6718091E7 -:1061C0006C1883FF09C085EA93E00E94456761E08F -:1061D00080E00F9439451DC060E081E00F9439459F -:1061E0008EEB93E014C000916C1803FB002700F9BC -:1061F0000E94757180916C18877F80936C180023C2 -:1062000041F060E081E00F94394587ED93E00E9412 -:1062100045678091D71481FF11C180915C169091E0 -:106220005D16891B8F70843008F008C18CE0E2ECA9 -:10623000F8E1DE01119601900D928A95E1F78091C7 -:10624000150290911602A0911702B091180288A72A -:1062500099A7AAA7BBA79C01AD016091C218709134 -:10626000C3188091C4189091C5180F94C7616B0131 -:106270007C016093C2187093C3188093C4189093E4 -:10628000C5188091190290911A02A0911B02B09139 -:106290001C028CA79DA7AEA7BFA79C01AD01609172 -:1062A000C6187091C7188091C8189091C9180F949A -:1062B000C76168A379A38AA39BA36093C618709350 -:1062C000C7188093C8189093C91880911D029091A7 -:1062D0001E02A0911F02B091200288AB99ABAAAB1D -:1062E000BBAB9C01AD016091CA187091CB18809135 -:1062F000CC189091CD180F94C7614B015C0160934D -:10630000CA187093CB188093CC189093CD18A7011E -:106310009601C701B6010F94385B2B013C0128A1FF -:1063200039A14AA15BA1CA01B9010F94385B9B0155 -:10633000AC01C301B2010F94C8612B013C01A5015E -:106340009401C501B4010F94385B9B01AC01C301FA -:10635000B2010F94C8610F94C6649B01AC0160E068 -:1063600070E080E89FE30F94C26220915502309163 -:10637000560240915702509158020F94385B2DEC11 -:106380003CEC4CEC5DE30F94385B20E030E040E8FF -:106390005EE30F94385B2B013C0120E030E040E8E5 -:1063A0005FE30F94D25A87FFF1C3A3019201C701A3 -:1063B000B6010F94385B28A539A54AA55BA50F94B3 -:1063C000C8616093C2187093C3188093C4189093E7 -:1063D000C518A301920168A179A18AA19BA10F947C -:1063E000385B2CA53DA54EA55FA50F94C8616093B1 -:1063F000C6187093C7188093C8189093C918A30142 -:106400009201C501B4010F94385B28A939A94AA9A2 -:106410005BA90F94C8616093CA187093CB188093DE -:10642000CC189093CD180E94F3A98CE0FE01319610 -:10643000A2ECB8E101900D928A95E1F78091E8080D -:1064400081110C949D4C8091E6089091E7089C0185 -:106450002F5F3F4F3093E7082093E608883E934034 -:1064600010F40C949D4C81E08093E8081092E708AA -:106470001092E6088091F412882309F498C30E94D0 -:10648000509A811194C38091E5088F5F8093E5084D -:106490008091E508853620F01092E5081092F412FC -:1064A000E091F4128E2FEE0F990BAA0BBB0BFC019F -:1064B0003197E730F10508F0A0C08827EE58FF4F6C -:1064C0008F4F0D94BF610E94489A882309F495C0AC -:1064D00081E0809354028AEE93E00E94456780E158 -:1064E00090E09093F1168093F01685E08093E41687 -:1064F00002E80093E71684E190E1A0E0B0E0809329 -:10650000E8169093E916A093EA16B093EB160F9451 -:10651000E63281E09AE59093F1168093F01686E3D7 -:1065200090E09093F3168093F21687E08093E41640 -:106530000093E71684E890E0A0E0B0E08093E816CE -:106540009093E916A093EA16B093EB160F94E632F7 -:1065500052C00E94489A882309F44FC048C088EF6F -:1065600093E00E94456781E09AE59093F11680934D -:10657000F01680E490E09093F3168093F21607E013 -:106580000093E41682E88093E71684E890E0A0E0A8 -:10659000B0E08093E8169093E916A093EA16B093C2 -:1065A000EB160F94E6320093F41227C08091E408B2 -:1065B000882319F10E94489A8823F9F00E94509A82 -:1065C00081111BC0F7C20E94489A8823B1F00E9433 -:1065D000509A811112C01CC30E94509A81110DC0A3 -:1065E00042E060E070E0CB010E94669A04C00E9425 -:1065F000509A811102C01092F412809154028823A3 -:1066000009F4ACC28091F0129091F112892B09F03B -:106610008FC18091E1089091E208892B09F01EC199 -:1066200084E096E09093F1168093F01680EA90E86B -:106630009093F3168093F21617E01093E41602E895 -:106640000093E71680EA90E0A0E0B0E08093E816BF -:106650009093E916A093EA16B093EB160F94E632E6 -:106660008091060290910702A0910802B091090260 -:106670000097A105B10511F51092F1161092F016D0 -:1066800015E01093E4160093E7168AE890E1A0E085 -:10669000B0E08093E8169093E916A093EA16B093C1 -:1066A000EB160F94E63289E090E09093F116809318 -:1066B000F0161093E4160093E71640C00196A11D52 -:1066C000B11DF5E0B695A79597958795FA95D1F701 -:1066D0000197A109B109009731E0A307B10558F06E -:1066E000B093F116A093F0169093F3168093F216E0 -:1066F0001093E41607C09093F1168093F01685E08E -:106700008093E41612E81093E7168AE890E1A0E07F -:10671000B0E08093E8169093E916A093EA16B09340 -:10672000EB160F94E63288E090E09093F116809398 -:10673000F01685E08093E4161093E7168CE890E15C -:10674000A0E0B0E08093E8169093E916A093EA16D3 -:10675000B093EB160F94E6328091060290910702F7 -:10676000A0910802B09109020097E1E0AE07B105DF -:1067700050F0B093F116A093F0169093F316809317 -:10678000F21687E005C09093F1168093F01685E02D -:106790008093E41682E88093E71688E890E1A0E011 -:1067A000B0E08093E8169093E916A093EA16B093B0 -:1067B000EB160F94E6328091060290910702A091A9 -:1067C0000802B0910902BA2FA92F982F88270097A5 -:1067D000F1E0AF07B10550F0B093F116A093F016B9 -:1067E0009093F3168093F21687E005C09093F1160C -:1067F0008093F01685E08093E41612E81093E71674 -:1068000081EA90E0A0E0B0E08093E8169093E9166A -:10681000A093EA16B093EB160F94E6328091E6123D -:10682000882319F082E090E002C083E090E090932A -:10683000F1168093F01685E08093E4161093E71626 -:1068400085E490E1A0E0B0E08093E8169093E9162B -:10685000A093EA16B093EB160F94E6320091E1088C -:106860001091E208053611057CF41093F11600939F -:10687000F01685E08093E41682E88093E71680E0C6 -:1068800090E1A0E0B0E011C0C80184569109909356 -:10689000F1168093F01685E08093E41682E88093E9 -:1068A000E71681E090E1A0E0B0E08093E8169093D5 -:1068B000E916A093EA16B093EB160F94E6320F5F39 -:1068C0001F4F1093E2080093E108093C110564F1A1 -:1068D00086E094E00E94456781E090E09093F11299 -:1068E0008093F0128093540281E09AE59093F11620 -:1068F0008093F0168DE290E09093F3168093F21659 -:1069000087E08093E41682E88093E71684E890E0BD -:10691000A0E0B0E08093E8169093E916A093EA1601 -:10692000B093EB160F94E6321092E8080C949D4C4D -:1069300080915C1690915D16891B8F7009F092C151 -:106940000E94F1A381118EC180916C1882FD8AC1D1 -:1069500012C384E690E09093F1168093F0161093A2 -:10696000E4160093E7168EE090E1A0E0B0E080939B -:10697000E8169093E916A093EA16B093EB160F94DD -:10698000E632C60182539048880F991F9093F11602 -:106990008093F0161093E4160093E7168FE090E1D1 -:1069A000A0E0B0E08093E8169093E916A093EA1671 -:1069B000B093EB160F94E6320F94490890E0909351 -:1069C000F1168093F01685E08093E41682E88093B8 -:1069D000E71686E190E1A0E0B0E08093E81690939E -:1069E000E916A093EA16B093EB160F94E63220E076 -:1069F00030E048EC52E460911213709113138091CF -:106A00001413909115130F94385B0F9434637093A3 -:106A1000F1166093F01615E01093E41602E8009367 -:106A2000E71686E290E1A0E0B0E08093E81690934C -:106A3000E916A093EA16B093EB160F94E632609134 -:106A4000880C7091890C80918A0C90918B0C0F941A -:106A500034637093F1166093F0161093E41600936C -:106A6000E71686E390E1A0E0B0E08093E81690930B -:106A7000E916A093EA16B093EB160F94E6326091F4 -:106A8000200A7091210A8091220A9091230A0F9482 -:106A900034637093F1166093F0161093E41600932C -:106AA000E7168CE390E1A0E0B0E08093E8169093C5 -:106AB000E916A093EA16B093EB160F94E632809194 -:106AC0008C0C90918D0C9093F1168093F01610938E -:106AD000E4160093E71684E390E1A0E0B0E0809331 -:106AE000E8169093E916A093EA16B093EB160F946C -:106AF000E6328091240A9091250A9093F1168093B2 -:106B0000F0161093E4160093E7168AE390E1A0E0F4 -:106B1000B0E08093E8169093E916A093EA16B0933C -:106B2000EB160F94E6320091DD0801113CC1809113 -:106B3000DF08811138C18091E40881118BC18091F7 -:106B4000981690919916A0919A16B0919B168C3434 -:106B500020E19207A105B10509F0A1C134E3C32EDC -:106B600037E1D32E0AE188ED94E10E94BE6FE090F8 -:106B7000D208F090D308181619060CF085C38AE1E4 -:106B8000E816F10414F40C945E487EC38CE0FE0118 -:106B90003196A2ECB8E101900D928A95E1F70E943E -:106BA000F3A98091D7148D7F8093D71447CC10928E -:106BB000E5086ECC88EB95E00E9445678091E3087C -:106BC00090E0A0E0B0E0895B9F4FAE4FB54A21E076 -:106BD0003AE53093F1162093F0169093F3168093D4 -:106BE000F21687E08093E41682E88093E71684E843 -:106BF00090E0A0E0B0E08093E8169093E916A093AF -:106C0000EA16B093EB160F94E6321092E408F3CC38 -:106C100081E0809354021092F41286EC95E00E9479 -:106C2000456781E09AE59093F1168093F0168EE423 -:106C300090E09093F3168093F21687E08093E41629 -:106C400082E88093E71684E890E0A0E0B0E08093CB -:106C5000E8169093E916A093EA16B093EB160F94FA -:106C6000E632CBCC8CE090E09093F1168093F01656 -:106C700005E00093E41682E88093E71684E190E152 -:106C8000A0E0B0E08093E8169093E916A093EA168E -:106C9000B093EB160F94E6320F94200520E13EE00E -:106CA00040E050E00F9428612115310591E049073B -:106CB000510560F05093F1164093F0163093F3169F -:106CC0002093F21687E08093E41606C03093F11605 -:106CD0002093F0160093E41602E80093E71680E193 -:106CE00090E1A0E0B0E08093E8169093E916A093BD -:106CF000EA16B093EB160F94E6320F94200520E1CC -:106D00003EE040E050E00F9428612CE330E040E0AA -:106D100050E00F9428613093F1162093F01615E09F -:106D20001093E4160093E71682E190E1A0E0B0E052 -:106D30008093E8169093E916A093EA16B093EB16A9 -:106D40000F94E6320F944908882391F00F94490874 -:106D50008F5F8093E008C82ED12C833308F0F9CDE3 -:106D6000C601880F991F9093F1168093F01604C006 -:106D70001092F1161092F0161093E4160093E71695 -:106D80008EE090E1A0E0B0E08093E8169093E916E1 -:106D9000A093EA16B093EB160F94E6321092F11618 -:106DA0001092F016F7CD20E030E048EC52E460910C -:106DB000880C7091890C80918A0C90918B0C0F94A7 -:106DC000385B6B017C0160918C0C70918D0C072EEF -:106DD000000C880B990B0F94D95A9B01AC01C70189 -:106DE000B6010F94C2620F943B636436710510F0D4 -:106DF00064E670E07093F1166093F01645E0A42EFF -:106E0000A092E41652E8B52EB092E71684E290E123 -:106E1000A0E0B0E08093E8169093E916A093EA16FC -:106E2000B093EB160F94E632C090880CD090890C8A -:106E3000E0908A0CF0908B0C20E030E040E253E4CC -:106E4000C701B6010F94286418160CF03AC101115D -:106E500088C137C18091D40801E0080F0093D4089D -:106E600090E09093F1168093F01685E08093E416FD -:106E700082E88093E71682E490E1A0E0B0E080939E -:106E8000E8169093E916A093EA16B093EB160F94C8 -:106E9000E6320A3008F453CE1092D40850CE8A3429 -:106EA0009041A105B10509F459CE80E00E94449BB0 -:106EB00020E030E040E251E40F94385B0F943463FB -:106EC0007093F1166093F01615E01093E41602E843 -:106ED0000093E71688E490E1A0E0B0E08093E81624 -:106EE0009093E916A093EA16B093EB160F94E6324E -:106EF00081E00E94449B20E030E040E251E40F94A6 -:106F0000385B0F9434637093F1166093F01610930E -:106F1000E4160093E7168AE490E1A0E0B0E08093E5 -:106F2000E8169093E916A093EA16B093EB160F9427 -:106F3000E63282E00E94449B20E030E040E251E4EF -:106F40000F94385B0F9434637093F1166093F016CE -:106F50001093E4160093E7168CE490E1A0E0B0E013 -:106F60008093E8169093E916A093EA16B093EB1677 -:106F70000F94E632F3CD8091200A9091210AA091DE -:106F8000220AB091230A88A399A3AAA3BBA3609164 -:106F9000240A7091250A072E000C880B990B0F9478 -:106FA000D95A6B017C0120E030E040E050E40F94BE -:106FB000C76128A139A14AA15BA10F9428641816C2 -:106FC00004F14090880C5090890C60908A0C70906D -:106FD0008B0C60918C0C70918D0C072E000C880B23 -:106FE000990B0F94D95A4B015C0120E030E040E24C -:106FF00051E40F94C761A30192010F9428641816FD -:1070000004F58DE090E09093F1168093F01685E002 -:107010008093E41682E88093E71684E190E1A0E093 -:10702000B0E08093E8169093E916A093EA16B09327 -:10703000EB160F94E6328091F31281113FC081E08C -:107040003DC020E030E040E050E4C701B6010F94BD -:10705000C86128A139A14AA15BA10F94D25A87FD2A -:107060000EC020E030E040E251E4C501B4010F94CD -:10707000C861A30192010F94D25A87FFB8CC84E172 -:1070800090E09093F1168093F01685E08093E416DB -:1070900082E88093E71684E190E1A0E0B0E080937D -:1070A000E8169093E916A093EA16B093EB160F94A6 -:1070B000E6328091F312811101C082E08093F312D5 -:1070C00096CC60918C0C70918D0C072E000C880B67 -:1070D000990B0F94D95A9B01AC01C701B6010F94CB -:1070E00028646091DF0887FDAEC0662309F423CDD4 -:1070F000062E000C770B81E098E00F94A84A1092BE -:10710000DF081092E2081092E10884E090E090938A -:10711000F1168093F01685E08093E41602E8009360 -:10712000E7168EE890E1A0E0B0E08093E816909337 -:10713000E916A093EA16B093EB160F94E63281E0BD -:107140009AE59093F1168093F01683E590E0909382 -:10715000F3168093F21687E08093E4160093E71607 -:1071600063C01092DD0820E030E040E251E460911D -:10717000D5087091D6088091D7089091D8080F94BF -:10718000385B0F9434637093F1166093F016A092FD -:10719000E416B092E71684E590E1A0E0B0E08093B9 -:1071A000E8169093E916A093EA16B093EB160F94A5 -:1071B000E63220E030E040E251E46091D90870917D -:1071C000DA088091DB089091DC080F94385B0F940B -:1071D00034637093F1166093F016A092E416B092A7 -:1071E000E71688E590E1A0E0B0E08093E816909380 -:1071F000E916A093EA16B093EB160F94E63284EDED -:1072000095E00E94456781E09AE59093F11680939E -:10721000F01681E490E09093F3168093F21687E0E5 -:107220008093E416B092E71684E890E0A0E0B0E026 -:107230008093E8169093E916A093EA16B093EB16A4 -:107240000F94E63278CC662309F475CC8091E1087E -:107250009091E2089C012F5F3F4F3093E20820930A -:10726000E10865E070E00F94AB619093F1168093B4 -:10727000F01685E08093E41682E88093E7168EE8A6 -:1072800090E1A0E0B0E0D4CF1E141F040CF04CCB72 -:107290009091951680913417981322C0909196166C -:1072A0008091351798131CC023E0E216F104C4F056 -:1072B0009091361790939416809137178093971674 -:1072C0009330D1F4982F9D7F9038B1F49091381776 -:1072D0009F3409F059C0909139179B3409F054C07C -:1072E0008AE1E4E3F7E1DF011D928A95E9F7109264 -:1072F000D3081092D20818CB833809F045C080918A -:10730000381790913917982789279827A0E0B0E07F -:107310008093981690939916A0939A16B0939B1603 -:10732000C0903A17D12CE12CF12CC0929C16D0922F -:107330009D16E0929E16F0929F16ABE3B7E140E0F7 -:1073400050E0BA014C155D056E057F0508F04AC096 -:107350004A015B01B694A79497948794F4013696FA -:10736000EE0FFF1FEC56F94E8C9190E0982F882776 -:1073700011962C911197822B918380834E5F5F4FE2 -:107380006F4F7F4F1296DECF813861F580913817AD -:1073900090E0A0E0B0E08093981690939916A093A7 -:1073A0009A16B0939B1680913917482F50E060E0F1 -:1073B00070E040939C1650939D1660939E167093B8 -:1073C0009F16AAE3B7E1E0EAF6E190E020E030E0C2 -:1073D0002817390739F04D9150E0419351932F5FB1 -:1073E0003F4FF6CF8AE1E4E3F7E1DF011D928A9592 -:1073F000E9F71092D3081092D20887E194E00E9436 -:1074000045676091F412161664F4062E000C770B93 -:1074100086EF97E00F94A84A8AE00E9427660C94B2 -:107420004F486091A0167091A11684EE97E00F94DA -:107430008A4A8AE00E9427664091981650919916D0 -:1074400060919A1670919B1685ED97E00F94794A9A -:107450008AE00E9427668091981690919916A091D3 -:107460009A16B0919B16E3E8F2E000E010E041913B -:107470005191619171914115510561057105D1F1EC -:10748000481759076A077B0791F5AC01BD014850C1 -:10749000504161097109453051056105710568F177 -:1074A000AC01BD01477F423350416105710541F197 -:1074B0008433F0E19F07A105B10511F1AC01BD01D5 -:1074C0004654504161097109473051056105710504 -:1074D000D0F0AC01BD0144555041610971094530FE -:1074E00051056105710588F402E110E00EC00F5FDF -:1074F0001F4FBDCF0FEF1FEF08C003E010E005C026 -:1075000008E010E002C00FE010E08A509042A109AC -:10751000B109833D9105A105B10530F00F3F2FEF73 -:10752000120721F40C944F4809E110E0F8E3CF2E44 -:10753000F4E0DF2EF60181916F01882319F00E949B -:107540002766F8CF6AE070E0C8010E94B7660E9423 -:107550003F6789EC97E00E9445670A31110510F0FA -:107560000C944B48F8018827E758FF4F8F4F0D9434 -:10757000BF618091A0169091A11681309105E1F430 -:10758000109254028FEF80938D1B60E080E00F9487 -:10759000394506E414E0D8018D918D01882319F056 -:1075A0000E942766F8CF81E09AE59093F1168093C8 -:1075B000F0168EE290E0AFC08230910509F0C5C0B0 -:1075C00081E0809354020F94BA0885EC97E0909381 -:1075D000590A8093580A8BE090E09093F1168093BB -:1075E000F01605E00093E41612E81093E71680E029 -:1075F00092E1A0E0B0E08093E8169093E916A093A2 -:10760000EA16B093EB160F94E6321092F116109230 -:10761000F0160093E4161093E7168EE090E1A0E0D8 -:10762000B0E08093E8169093E916A093EA16B09321 -:10763000EB160F94E6321092F1161092F0160093AA -:10764000E4161093E7168FE090E1A0E0B0E080939D -:10765000E8169093E916A093EA16B093EB160F94F0 -:10766000E6321092F1161092F0160093E416109381 -:10767000E71686E190E1A0E0B0E08093E8169093F1 -:10768000E916A093EA16B093EB160F94E63262E087 -:1076900070E080E090E00E94589B1092F1161092EA -:1076A000F0160093E4161093E71680E190E1A0E055 -:1076B000B0E08093E8169093E916A093EA16B09391 -:1076C000EB160F94E6321092F1161092F01600931A -:1076D000E4161093E71682E190E1A0E0B0E0809319 -:1076E000E8169093E916A093EA16B093EB160F9460 -:1076F000E63200E714E0F80181918F01882319F048 -:107700000E942766F8CF81E09AE59093F116809366 -:10771000F0168DE290E09093F3168093F21687E0D6 -:107720008093E41682E88093E71684E890E0A0E076 -:10773000B0E08093E8169093E916A093EA16B09310 -:10774000EB160F94E6320C944F488330910549F5BF -:1077500081E0809354020AE914E0D8018D918D01F3 -:107760008823C9F00E942766F8CF809198169091DF -:107770009916A0919A16B0919B168233F0E19F075B -:10778000A105B10509F05BC48091A0169091A116E6 -:10779000009709F023C480910502882309F40DC3E2 -:1077A0001DC3049711F00C944F48109254020C948E -:1077B0004F488091A0169091A11681309105D1F487 -:1077C0001092540280910502882319F082E090E023 -:1077D00002C083E090E09093F1168093F01685E06C -:1077E0008093E41682E88093E7168EE190E1A0E0B2 -:1077F000B0E09FCF8230910519F504EC14E0F80158 -:1078000081918F01882319F00E942766F8CF81E0CB -:10781000809354028091F312843049F081E09AE51C -:107820009093F1168093F01685E390E074CF81E099 -:107830009AE59093F1168093F01686E390E06BCF73 -:107840008330910509F04CC020910502222319F1E3 -:107850009093F1168093F01685E08093E41682E809 -:107860008093E7168EE190E1A0E0B0E08093E81607 -:107870009093E916A093EA16B093EB160F94E632B4 -:1078800040E060E070E088EC92E40F943E091092D2 -:1078900005020C944F4882E090E09093F11680939B -:1078A000F01685E08093E41682E88093E7168EE177 -:1078B00090E1A0E0B0E08093E8169093E916A093E1 -:1078C000EA16B093EB160F94E63240E060E070E009 -:1078D000CB010F943E0981E0809305020C944F4840 -:1078E000049711F00C944F488091330A8823F1F0EB -:1078F00082E090E09093F1168093F01685E08093FB -:10790000E41682E88093E7168FE190E1A0E0B0E012 -:107910008093E8169093E916A093EA16B093EB16BD -:107920000F94E6321092330A0C944F4883E090E0B3 -:107930009093F1168093F01685E08093E41682E828 -:107940008093E7168FE190E1A0E0B0E08093E81625 -:107950009093E916A093EA16B093EB160F94E632D3 -:1079600081E08093330A0C944F486091A016709187 -:10797000A11680E090E00F94D75A6B017C0120E0C3 -:1079800030E04AEF53E40F94D25A87FF11C020E051 -:1079900030E040E251E4C701B6010F9428641816A4 -:1079A0006CF0C12CD12C70E2E72E71E4F72E06C0EA -:1079B000C12CD12CEAEFEE2EE3E4FE2EC701B60176 -:1079C0000F94346370934502609344020C944F48C3 -:1079D0008091981690919916A0919A16B0919B1645 -:1079E0008830F0E19F07A105B10509F050C081E0A2 -:1079F0009AE59093F1168093F0168DE290E09093C3 -:107A0000F3168093F21687E08093E41612E8109341 -:107A1000E71684E890E0A0E0B0E08093E816909349 -:107A2000E916A093EA16B093EB160F94E632109283 -:107A3000F1161092F01605E00093E4161093E71685 -:107A400080E190E1A0E0B0E08093E8169093E91621 -:107A5000A093EA16B093EB160F94E6321092F1164B -:107A60001092F0160093E4161093E71682E190E16D -:107A7000A0E0B0E08093E8169093E916A093EA1690 -:107A8000B093EB160F94E6320F94BA088FC08A3089 -:107A900020E19207A105B105E1F58091A016909132 -:107AA000A116813F910511F00C944F4881E09AE5B1 -:107AB0009093F1168093F01686E390E09093F3167E -:107AC0008093F21687E08093E41682E88093E716AD -:107AD00084E890E0A0E0B0E08093E8169093E91687 -:107AE000A093EA16B093EB160F94E6324AE256E002 -:107AF00061E376E084E00F94620B60E08DE196E054 -:107B00000F947B0883E196E09093590A8093580A7A -:107B10004DC08C309041A105B10509F047C080915E -:107B2000A0169091A116019709F040C00F94A2549D -:107B30001092F31281E0809354028CE090E09093D5 -:107B4000F1168093F01685E08093E41612E8109306 -:107B5000E71684E190E1A0E0B0E08093E81690930E -:107B6000E916A093EA16B093EB160F94E63281E083 -:107B70009AE59093F1168093F01685E390E0909348 -:107B8000F3168093F21687E08093E4161093E716BD -:107B900084E890E0A0E0B0E08093E8169093E916C6 -:107BA000A093EA16B093EB160F94E63280919816E4 -:107BB00090919916A0919A16B0919B168C30904195 -:107BC000A105B10511F00C944F488091A016909139 -:107BD000A116029711F00C944F480F94A25481E023 -:107BE0008093DF081092F312809354021092E208FF -:107BF0001092E10881E09AE59093F1168093F016D7 -:107C000082E590E088CD2091A0163091A116B901AF -:107C100080E090E037FF09C00F94D75A20E030E0B1 -:107C200040E857E40F94C76102C00F94D75A20E090 -:107C300030E048EC52E40F94C2626B017C0120E01A -:107C400030E040EA51EC0F94286487FD31C020E019 -:107C500030E040EA51E4C701B6010F94D25A181639 -:107C60003CF1A7019601609112137091131380915A -:107C70001413909115130F94C76120E030E048EC85 -:107C800053E40F94385B90580F943463CB010F94F6 -:107C9000DB35C0921213D0921313E0921413F092BA -:107CA000151380EC97E09093590A8093580A28C0E6 -:107CB00020E030E048EC52E460911213709113130D -:107CC00080911413909115130F94385B0F943463C3 -:107CD0007093F1166093F01685E08093E41682E8C5 -:107CE0008093E71686E290E1A0E0B0E08093E8168A -:107CF0009093E916A093EA16B093EB160F94E63230 -:107D000060911213709113138091141390911513B5 -:107D10008E010B5E1F4F23E041E00F94AA559F9305 -:107D20008F9382EB97E09F938F93045111091F93D8 -:107D30000F930F946A5AC8010E94369C0F900F90BF -:107D40000F900F900F900F900C944F488091A016B9 -:107D50009091A116009729F481E0809354020C942D -:107D60004F4881309105B1F480910502882349F094 -:107D700081E09AE59093F1168093F0168CE390E001 -:107D8000CACC81E09AE59093F1168093F0168BE3CC -:107D900090E0C1CC82309105F9F28330910539F53C -:107DA0008091050240E0882389F060E070E088EC73 -:107DB00092E40F943E091092050281E09AE59093B7 -:107DC000F1168093F01689E390E0A5CC60E070E0B6 -:107DD000CB010F943E0981E08093050281E09AE592 -:107DE0009093F1168093F0168AE390E094CC85305E -:107DF000910559F540E060E070E084E393E40E946F -:107E0000DB9946E060E070E08CE892E40E94DB9948 -:107E100084EB90E09093F1168093F01605E00093C8 -:107E2000E41612E81093E71684E390E1A0E0B0E0D6 -:107E30008093E8169093E916A093EA16B093EB1698 -:107E40000F94E63286E490E02DC08630910599F5D6 -:107E500040E060E070E080E793E40E94DB9946E058 -:107E600060E070E08CED92E40E94DB9980EF90E09E -:107E70009093F1168093F01605E00093E41612E853 -:107E80001093E71684E390E1A0E0B0E08093E81659 -:107E90009093E916A093EA16B093EB160F94E6328E -:107EA0008EE690E09093F1168093F0160093E4161E -:107EB0001093E716BFC0813F910511F00C944F4815 -:107EC00040E060E070E0CB010F943E0941E060E0EB -:107ED00070E0CB010F943E091092050240E060E093 -:107EE00070E0CB010E94DB9946E060E070E0CB01DE -:107EF0000E94DB991092F1161092F01605E00093A3 -:107F0000E41612E81093E71684E390E1A0E0B0E0F5 -:107F10008093E8169093E916A093EA16B093EB16B7 -:107F20000F94E63261E070E080E090E00E94589BA0 -:107F30001092F1161092F0160093E4161093E716C3 -:107F40008AE390E1A0E0B0E08093E8169093E91610 -:107F5000A093EA16B093EB160F94E63261E070E05E -:107F600080E090E00E94589B84E190E09093F116AD -:107F70008093F0160093E4161093E71684E190E1E5 -:107F8000A0E0B0E08093E8169093E916A093EA167B -:107F9000B093EB160F94E63281E09AE59093F116D8 -:107FA0008093F01689E390E09093F3168093F21695 -:107FB00087E08093E4161093E71684E890E0A0E051 -:107FC000B0E08093E8169093E916A093EA16B09378 -:107FD000EB160F94E63282E00C944848813091050C -:107FE000A9F440E060E070E0CB010E94DB991092C0 -:107FF000F1161092F01685E08093E41682E88093E3 -:10800000E71684E390E1A0E0B0E093CB029711F093 -:108010000C944F4846E060E070E0CB010E94DB9991 -:108020001092F1161092F01685E08093E41682E823 -:108030008093E7168AE390E1A0E0B0E07ACB843346 -:1080400020E19207A105B10551F46091A01670914D -:10805000A11680E090E00F94D75A40E010C08A3318 -:108060009041A105B10511F00C944F486091A01604 -:108070007091A11680E090E00F94D75A46E00E94DC -:10808000DB990C944F488091A0169091A11600970F -:1080900009F462CE8130910509F04CC08091E6125E -:1080A000882319F083E090E002C082E090E0909392 -:1080B000F1168093F01685E08093E41682E88093B1 -:1080C000E71685E490E1A0E0B0E08093E816909395 -:1080D000E916A093EA16B093EB160F94E6328AE005 -:1080E00090E09093F1168093F01685E08093E4166B -:1080F00082E88093E71680E092E1A0E0B0E0809310 -:10810000E8169093E916A093EA16B093EB160F9435 -:10811000E6320E94489A811103C082EA97E002C0C9 -:1081200086E997E09093590A8093580A82E08093F9 -:10813000F41271C18230910509F0A8C081E08093EA -:10814000540288E0E5EDF8E0DF011D928A95E9F739 -:1081500080E090E0A0E2B1E48093D5089093D60847 -:10816000A093D708B093D8088093D9089093DA08E1 -:10817000A093DB08B093DC0884E690E09093F116BE -:108180008093F01605E00093E41612E81093E716CA -:1081900084E590E1A0E0B0E08093E8169093E916C2 -:1081A000A093EA16B093EB160F94E63220E030E08D -:1081B00040E251E46091D9087091DA088091DB08BF -:1081C0009091DC080F94385B0F9434637093F11630 -:1081D0006093F0160093E4161093E71688E590E19B -:1081E000A0E0B0E08093E8169093E916A093EA1619 -:1081F000B093EB160F94E6326091880C7091890C65 -:1082000080918A0C90918B0C0F9434637093F116CB -:108210006093F0160093E4161093E71686E390E15E -:10822000A0E0B0E08093E8169093E916A093EA16D8 -:10823000B093EB160F94E63280918C0C90918D0CDC -:108240009093F1168093F0160093E4161093E716BE -:1082500084E390E1A0E0B0E08093E8169093E91603 -:10826000A093EA16B093EB160F94E63262E070E04A -:1082700080E090E00E94589B81E09AE59093F1168F -:108280008093F01681E490E00C948B498330910543 -:1082900009F076C01092E30880E00E94449B20E041 -:1082A00030E040E251E40F94385B0F9434637093F4 -:1082B000F1166093F01605E00093E41612E81093AF -:1082C000E71688E490E1A0E0B0E08093E816909390 -:1082D000E916A093EA16B093EB160F94E63281E00C -:1082E0000E94449B20E030E040E251E40F94385B70 -:1082F0000F9434637093F1166093F0160093E416B4 -:108300001093E7168AE490E1A0E0B0E08093E816CD -:108310009093E916A093EA16B093EB160F94E63209 -:1083200082E00E94449B20E030E040E251E40F9460 -:10833000385B0F9434637093F1166093F0160093DA -:10834000E4161093E7168CE490E1A0E0B0E080938F -:10835000E8169093E916A093EA16B093EB160F94E3 -:10836000E63262E070E080E090E00E94589B81E09D -:108370009AE59093F1168093F01687E490E0CBC7CE -:108380008430910509F48BC68530910549F44EE798 -:1083900050E160E070E08BEE94E00F9495327FC680 -:1083A000069709F07CC682E997E09093590A80937A -:1083B000580A8BE090E031C28091A0169091A116EE -:1083C000019711F51092540281E09AE59093F1160D -:1083D0008093F0168FE390E09093F3168093F2165B -:1083E00087E08093E41682E88093E71684E890E0C3 -:1083F000A0E0B0E08093E8169093E916A093EA1607 -:10840000B093EB160F94E6328091A0169091A116CE -:10841000029709F044C681E09AE59093F1168093A3 -:10842000F01680E490E077C9E091A016F091A116D3 -:108430003197EB30F10508F0EAC18827ED56FF4F80 -:108440008F4F0D94BF618091D61480FF62C68695D0 -:1084500080FD62C65EC62DEC3CEC4CEC5DE36091A9 -:1084600012137091131380911413909115130F949C -:10847000C8616B017C0120E030E040EA51EC0F94D0 -:10848000286487FDC8C120E030E040EA51E4C7011C -:10849000B6010F94D25A18160CF045C6BCC12DEC8B -:1084A0003CEC4CEC5DE360911213709113138091DE -:1084B0001413909115130F94C7616B017C0120E098 -:1084C00030E040EA51EC0F94286487FDA4C120E01D -:1084D00030E040EA51E4C701B6010F94D25A1816B1 -:1084E0000CF098C698C180E00F94B1480E94489A59 -:1084F000811103C089E397E002C08BE297E090937B -:10850000590A8093580A82E08093F41281E09AE538 -:108510009093F1168093F01684E590E09093F31613 -:108520008093F21687E08093E41682E88093E71642 -:1085300084E890E0A0E0B0E08093E8169093E9161C -:10854000A093EA16B093EB160F94E63264C183E071 -:108550008093F41283E090E09093F1168093F016EC -:1085600085E08093E41682E88093E7168DE890E139 -:10857000A0E0B0E08093E8169093E916A093EA1685 -:10858000B093EB160F94E632E12CF12C00E0DD24E1 -:10859000D394AA24A39446E0942E55E0852E62E855 -:1085A000762EDD2031F0CC24C39436E0B32E10E0DB -:1085B00005C0CC24CA94BB24BA9415E0DA24B116C1 -:1085C00009F43FC0802F90E08397CCF51530B9F1C6 -:1085D000B5E0EB16A1F10F5FF701919EE00DF11DE3 -:1085E0001124EE0FFF1FEE0FFF1FEA5CFD4E20E08F -:1085F00030E04AE754E460817181828193810F9475 -:10860000385B0F9434637093F1166093F016809288 -:10861000E4167092E716802F90E08158974F880FEC -:10862000991F092E000CAA0BBB0B8093E8169093A0 -:10863000E916A093EA16B093EB160F94E6321C0DE0 -:10864000BECFEFEFEE1AFE0AF6E0EF16F10409F0E6 -:10865000A8CF81E09AE59093F1168093F01685E516 -:1086600090E09093F3168093F21687E08093E416DF -:1086700082E88093E71684E890E0A0E0B0E0809381 -:10868000E8169093E916A093EA16B093EB160F94B0 -:10869000E63283EB96E09093590A8093580ABBC068 -:1086A00042E060E070E080E890E40E94669A40E07A -:1086B00060E070E084E393E40E94669A41E060E049 -:1086C00070E084E393E413C042E060E070E080E88F -:1086D00090E40E94669A40E060E070E080E292E4FC -:1086E0000E94669A41E060E070E080E292E40E94BD -:1086F000669A86E08093F4128EC042E060E070E0FB -:1087000080E890E40E94669A40E060E070E080EAD1 -:1087100093E4E6CF42E060E070E080E890E40E94FD -:10872000669A40E060E070E080EA93E40CC042E0CA -:1087300060E070E080E890E40E94669A40E060E0CB -:1087400070E080E292E40E94669A41E060E070E0AE -:1087500080EA93E4CCCF8091E61281111CC083E0C3 -:1087600090E09093F1168093F01685E08093E416E4 -:1087700082E88093E71685E490E1A0E0B0E0809382 -:10878000E8169093E916A093EA16B093EB160F94AF -:10879000E63281E01BC082E090E09093F116809376 -:1087A000F01685E08093E41682E88093E71685E46E -:1087B00090E1A0E0B0E08093E8169093E916A093D2 -:1087C000EA16B093EB160F94E63280E00F94B148AE -:1087D00020E030E048EC52E46091121370911313E2 -:1087E00080911413909115130F94385B0F94346398 -:1087F0007093F1166093F01685E08093E41682E89A -:108800008093E71686E290E1A0E0B0E095CE87E99C -:1088100096E00E9445678AE090E09093F11680937D -:10882000F01685E08093E41682E88093E7164BC14A -:1088300084E08093F4128091981690919916A091FB -:108840009A16B0919B166091A0167091A11688346B -:1088500020E19207A105B10509F453C08A3430E143 -:108860009307A105B10509F456C08C34E0E19E07D9 -:10887000A105B10509F45AC086349041A105B1059E -:1088800009F05EC063307105B9F586E896E0909313 -:10889000590A8093580A81E08093E4088093540237 -:1088A0001092D40881E09AE59093F1168093F01627 -:1088B0008AE490E09093F3168093F21687E0809319 -:1088C000E41612E81093E71684E890E0A0E0B0E028 -:1088D0008093E8169093E916A093EA16B093EB16EE -:1088E0000F94E6328AE090E09093F1168093F016B0 -:1088F00085E08093E416E5C06093E3081092F412DB -:10890000CEC380E090E0A4EBB3E48CA39DA3AEA320 -:10891000BFA3312C15C080E090E0A4EBB3E48CA39E -:108920009DA3AEA3BFA3332433940AC080E090E09C -:10893000A8ECB3E48CA39DA3AEA3BFA382E0382E22 -:1089400080E090E00F94D75A20E030E040E251E41C -:108950000F94C2626B017C0120E030E0A9010F940A -:10896000D25A87FF09C01092CE081092CF081092F9 -:10897000D0081092D1081FC02CA13DA14EA15FA12B -:10898000C701B6010F94286418164CF0C092CE08A7 -:10899000D092CF08E092D008F092D1080CC08CA100 -:1089A0009DA1AEA1BFA18093CE089093CF08A093C4 -:1089B000D008B093D1086091CE087091CF08809113 -:1089C000D0089091D108432D0E94669A61E070E032 -:1089D00080E090E00E94589B80E00E94449B20E051 -:1089E00030E040E251E40F94385B0F9434637093AD -:1089F000F1166093F01605E00093E41612E8109368 -:108A0000E71688E490E1A0E0B0E08093E816909348 -:108A1000E916A093EA16B093EB160F94E63281E0C4 -:108A20000E94449B20E030E040E251E40F94385B28 -:108A30000F9434637093F1166093F0160093E4166C -:108A40001093E7168AE490E1A0E0B0E08093E81686 -:108A50009093E916A093EA16B093EB160F94E632C2 -:108A600082E00E94449B20E030E040E251E40F9419 -:108A7000385B0F9434637093F1166093F016009393 -:108A8000E4161093E7168CE490E1A0E0B0E0809348 -:108A9000E8169093E916A093EA16B093EB160F949C -:108AA000E63261E070E080E090E00E94589B109216 -:108AB000F4128AE090E09093F1168093F016009300 -:108AC000E4161093E71680E092E1A0E0B0E00C9489 -:108AD000993B8091981690919916A0919A16B09111 -:108AE0009B168635E0E19E07A105B10509F041C05E -:108AF00020E030E040E253E46091880C7091890CF2 -:108B000080918A0C90918B0C0F94D25A2091A016D0 -:108B10003091A11687FF0AC42530310508F006C43C -:108B200080EA90E09093F1168093F01685E08093B0 -:108B3000E41612E81093E71680E290E1A0E0B0E0BE -:108B40008093E8169093E916A093EA16B093EB167B -:108B50000F94E63265E070E080E090E00E94589B60 -:108B600081E09AE59093F1168093F01682E490E00C -:108B7000D2C38435F0E19F07A105B105B9F4609136 -:108B8000A0167091A11680E090E00F94D75A20E0D3 -:108B900030E040E251E40F94C2626093D5087093D4 -:108BA000D6088093D7089093D80879C28835904129 -:108BB000A105B10509F073C26091A0167091A116CC -:108BC00080E090E00F94D75A20E030E040E251E49A -:108BD0000F94C2626093D9087093DA088093DB081F -:108BE0009093DC085CC26091A0167091A11680E79A -:108BF00096E00F948A4A8091A0169091A116823037 -:108C00009105A1F038F4009771F00197E1F484E147 -:108C100095E043C28430910579F058F0059799F4B6 -:108C200085E496E00BC08EEF94E037C282E696E0D2 -:108C300005C088E596E002C083E596E09093590A66 -:108C40008093580A2CC288E295E027C287E395E01A -:108C50000E9445678091A0169091A11681309105E0 -:108C600019F46499C3C41BC2892B09F018C285E4A6 -:108C700095E00E9445678091CA08813039F58BE5FF -:108C800095E00E94456781E09AE59093F116809304 -:108C9000F0168EE290E09093F3168093F21687E040 -:108CA0008093E41682E88093E71684E890E0A0E0E1 -:108CB000B0E08093E8169093E916A093EA16B0937B -:108CC000EB160F94E6321092F21235C0823069F43E -:108CD0008FE695E00E94456781E09AE59093F11652 -:108CE0008093F01686E390E00EC0833031F583E880 -:108CF00095E00E94456781E09AE59093F116809394 -:108D0000F01681E490E09093F3168093F21687E0DA -:108D10008093E41682E88093E71684E890E0A0E070 -:108D2000B0E08093E8169093E916A093EA16B0930A -:108D3000EB160F94E63210926B141092CA080F943F -:108D4000BA08ADC18091A0169091A1168F3F9105F0 -:108D500031F028F08FEF90E0A0E0B0E002C0A0E09A -:108D6000B0E08093060290930702A0930802B093AC -:108D700009028091060290910702A0910802B09129 -:108D800009020097A105B10509F51092F11610929C -:108D9000F01605E00093E41612E81093E7168AE84F -:108DA00090E1A0E0B0E08093E8169093E916A093DC -:108DB000EA16B093EB160F94E63289E090E09093B8 -:108DC000F1168093F0160093E4163DC00196A11DA4 -:108DD000B11D05E0B695A795979587950A95D1F7AA -:108DE0000197A109B109009731E0A307B10550F03F -:108DF000B093F116A093F0169093F3168093F216A9 -:108E000087E005C09093F1168093F01685E080937B -:108E1000E41612E81093E7168AE890E1A0E0B0E0CB -:108E20008093E8169093E916A093EA16B093EB1698 -:108E30000F94E63288E090E09093F1168093F0165C -:108E400085E08093E4161093E7168CE890E1A0E0AB -:108E5000B0E08093E8169093E916A093EA16B093D9 -:108E6000EB160F94E6328091060290910702A091D2 -:108E70000802B0910902BA2FA92F982F88270097CE -:108E8000E1E0AE07B10550F0B093F116A093F016F3 -:108E90009093F3168093F21687E005C09093F11635 -:108EA0008093F01685E08093E41682E88093E716BD -:108EB00081EA90E0A0E0B0E00C94993B87E995E06E -:108EC0000E9445670E94CF9940919816509199163B -:108ED00060919A1670919B16882339F0433DF0E219 -:108EE0005F076105710509F4C7C3423D5042610542 -:108EF000710509F0D4C08091A0169091A116019738 -:108F000009F012C50E94CF99882309F40DC58091FC -:108F10008D1B87FDC4C0A2E18A02C0011124885BB9 -:108F2000924E0E948E71C12C90E2D92EE12CF12C30 -:108F300005E012E81092F1161092F0160093E41674 -:108F40001093E716C092E816D092E916E092EA165E -:108F5000F092EB160F94E632BFEFCB1ADB0AEB0A66 -:108F6000FB0AEAE0CE16E0E2DE06E104F10411F7C6 -:108F700000918D1BF2E10F02800111240052144E6A -:108F8000F80101900020E9F7C8018E1B9F0B439662 -:108F900097FD01967C01F594E7941E141F040CF0D4 -:108FA000BDC49E012F5F3F4F690184E1D9011D922D -:108FB0008A95E9F7A70168EA75E0C9010F948E6602 -:108FC000B801C6018E0D9F1D0F94796640E050E2F6 -:108FD00060E070E0C6010F94953262E070E080E0DE -:108FE00090E00E94589B40E060E070E08FE793E4DF -:108FF0000F943E0941E060E070E08FE793E40F9446 -:109000003E09109205028DE090E09093F116809356 -:10901000F01685E08093E41612E81093E71684E1D9 -:1090200090E1A0E0B0E08093E8169093E916A09359 -:10903000EA16B093EB160F94E63262E070E080E03F -:1090400090E00E94589B81E09AE59093F1168093FE -:10905000F01685E390E09093F3168093F21687E084 -:109060008093E4161093E71684E890E0A0E0B0E067 -:109070008093E8169093E916A093EA16B093EB1646 -:109080000F94E63281E0809354028093F21283E0E1 -:109090008093F31204C08AE396E00E94456780E55E -:1090A000E4E9F6E1DF011D928A95E9F78AE580930C -:1090B000951685EA809396160C94943488ED94E185 -:1090C0000E949C6FF701EC5CF84E8083809134170E -:1090D0008A3581F01E141F0414F00C94B335D601A8 -:1090E000E02F1D92EA95E9F71092D3081092D2086A -:1090F0000C94B33562E070E080E090E00E94589BF1 -:10910000FFEFEF1AFF0AF092D308E092D2080C9416 -:10911000B33582E897E002C081E797E09093590A5F -:109120008093580A55CB88E290E00F94DB352DEC04 -:109130003CEC4CEC5DE36091121370911313809141 -:109140001413909115130F94C8616B017C0120E0FA -:1091500030E040EA51EC0F94286487FD12C020E013 -:1091600030E040EA51E4C701B6010F94D25A181614 -:1091700044F0C0921213D0921313E0921413F092A1 -:10918000151320E030E048EC52E460911213709126 -:10919000131380911413909115130F94385B0F944F -:1091A00034637093F1166093F01685E08093E416B3 -:1091B00082E88093E71686E290E1A0E0B0E0809339 -:1091C000E8169093E916A093EA16B093EB160F9465 -:1091D000E6326091121370911313809114139091E1 -:1091E00015138E010B5E1F4F23E041E00F94AA552B -:1091F0009F938F9383E697E09F938F930451110978 -:109200001F930F930F946A5AC8010E94369C8EE5F3 -:1092100097E076C088ED9FEF0F94DB352DEC3CECAA -:109220004CEC5DE360911213709113138091141351 -:10923000909115130F94C7616B017C0120E030E021 -:1092400040EA51EC0F94286487FD12C020E030E022 -:1092500040EA51E4C701B6010F94D25A181644F0FF -:10926000C0921213D0921313E0921413F0921513BC -:1092700020E030E048EC52E4609112137091131337 -:1092800080911413909115130F94385B0F943463ED -:109290007093F1166093F01685E08093E41682E8EF -:1092A0008093E71686E290E1A0E0B0E08093E816B4 -:1092B0009093E916A093EA16B093EB160F94E6325A -:1092C00060911213709113138091141390911513E0 -:1092D0008E010B5E1F4F23E041E00F94AA559F9330 -:1092E0008F9380E597E09F938F93045111091F930B -:1092F0000F930F946A5AC8010E94369C8BE497E042 -:109300009093590A8093580A0F900F900F900F90E6 -:109310000F900F9080CA9093F3168093F21687E017 -:109320008093E4161093E7160C94953B2430310596 -:1093300089F481E00F945C542091D9083091DA08C7 -:109340004091DB085091DC080F94C86141E00F9414 -:109350003354B2C02530310508F4F4C0263031054D -:1093600009F431C108F023C181E08093DD0840E0B9 -:1093700060E070E08EE393E40E94DB9920E030E04F -:1093800048EC52E46091880C7091890C80918A0CB1 -:1093900090918B0C0F94385B6B017C0160918C0C6D -:1093A00070918D0C072E000C880B990B0F94D95AD5 -:1093B0009B01AC01C701B6010F94C2620F943B63DD -:1093C0006436710510F064E670E07093F1166093F6 -:1093D000F01605E00093E41612E81093E71684E215 -:1093E00090E1A0E0B0E08093E8169093E916A09396 -:1093F000EA16B093EB160F94E6326091880C7091E8 -:10940000890C80918A0C90918B0C0F94346370932B -:10941000F1166093F0160093E4161093E71686E3B6 -:1094200090E1A0E0B0E08093E8169093E916A09355 -:10943000EA16B093EB160F94E63280918C0C909163 -:109440008D0C9093F1168093F0160093E416109310 -:10945000E71684E390E1A0E0B0E08093E8169093F3 -:10946000E916A093EA16B093EB160F94E63265E086 -:1094700070E080E090E00E94589B81E09AE5909334 -:10948000F1168093F01684E490E09093F3168093A5 -:10949000F21687E08093E4161093E71684E890E0D4 -:1094A000A0E0B0E08093E8169093E916A093EA1646 -:1094B000B093EB160F94E63220E030E040E251E446 -:1094C0006091D5087091D6088091D7089091D808FE -:1094D0000F94385B0F9434637093F1166093F01619 -:1094E00005E00093E41612E81093E71684E590E196 -:1094F000A0E0B0E08093E8169093E916A093EA16F6 -:10950000B093EB160F94E63220E030E040E251E4F5 -:109510006091D9087091DA088091DB089091DC089D -:109520000F94385B0F9434637093F1166093F016C8 -:109530000093E4161093E71688E590E1A0E0B0E010 -:109540000C94993B2230310579F480E00F945C54FF -:109550002091D5083091D6084091D7085091D8086D -:109560000F94C86140E0F3CE2330310570F081E004 -:109570000F945C542091D9083091DA084091DB08AF -:109580005091DC080F94C761E1CE2130310509F01C -:1095900093CF80E00F945C542091D5083091D60889 -:1095A0004091D7085091D8080F94C761DBCF213F75 -:1095B000310509F081CF1092DD0861E070E080E0B4 -:1095C00090E00E94589B81E09AE59093F116809379 -:1095D000F01681E490E09093F3168093F21687E002 -:1095E0008093E41682E88093E71658CF85EF95E0E4 -:1095F0000E94456781E00F944B0A8DE090E09093C4 -:10960000F1168093F01685E08093E41612E810932B -:10961000E71684E190E1A0E0B0E08093E816909333 -:10962000E916A093EA16B093EB160F94E63283E0A6 -:109630008093F31281E09AE59093F1168093F016EF -:1096400085E390E09093F3168093F21687E0809381 -:10965000E4161093E71684E890E0A0E0B0E0809371 -:10966000E8169093E916A093EA16B093EB160F94C0 -:10967000E6321092CA0813CD8DE096E00E9445674D -:1096800080918E1B90918F1B99272091A01630916D -:10969000A1168217930708F402CD80EA95E00E9494 -:1096A00045678091A016815080938D1BA4ED8A2E72 -:1096B000A0E29A2EA12CB12C05E012E81092F1162E -:1096C0001092F0160093E4161093E7168092E816B5 -:1096D0009092E916A092EA16B092EB160F94E63239 -:1096E0002FEF821A920AA20AB20A3EED831630E2E6 -:1096F0009306A104B10411F780918D1BA2E18A02A7 -:10970000C0011124FC01E052F44E7F0101900020C1 -:10971000E9F7C7018E1B9F0B439697FD01968C01BD -:109720001595079510161106FCF49E012F5F3F4F0B -:10973000690184E1D9011D928A95E9F7A80168EAD7 -:1097400075E0C9010F948E66B701C601800F911FA5 -:109750000F94796644ED50E260E070E0C6010F942A -:10976000953205E012E806C044ED50E260E070E09A -:10977000C701F5CF1092F1161092F0160093E4167F -:109780001093E7168092E8169092E916A092EA16D6 -:10979000B092EB160F94E632BFEF8B1A9B0AAB0A1E -:1097A000BB0AE6EE8E16E0E29E06A104B10411F7B4 -:1097B0008E010F5F1F4F84E1D8011D928A95E9F752 -:1097C00080918F1B8F9380918E1B8F938091A11618 -:1097D0008F938091A0168F9382EB95E09F938F9348 -:1097E0001F930F930F94A8664EED50E260E070E077 -:1097F000C8010F94953262E070E080E090E00E9432 -:10980000589B0FB6F894DEBF0FBECDBF31E2C32E1A -:1098100032E1D32EE12CF12C43E1442E40E6542ECC -:10982000612C712C88248394912CAA24AA94BA2C9C -:1098300075E0272EE2E83E2E0AE010E080918E1BB4 -:1098400090918F1B8815990594F1B092F116A09212 -:10985000F0162092E4163092E7164092E8165092E5 -:10986000E9166092EA167092EB160F94E6321093A6 -:10987000F1160093F0162092E4163092E716C0928B -:10988000E816D092E916E092EA16F092EB160F94E1 -:10989000E632FFEF8F1A9F0A20E1420E511C611C35 -:1098A000711C3FEFC31AD30AE30AF30AC7CF8091B2 -:1098B000A0169091A11624E0880F991F2A95E1F730 -:1098C0008D5F9F49A0E0B0E020EF37E83093F116BC -:1098D0002093F01605E00093E41612E81093E716C3 -:1098E0008093E8169093E916A093EA16B093EB16CE -:1098F0000F94E6328091A0169091A116805E9D4E45 -:10990000A0E0B0E026E030E03093F1162093F016AE -:109910000093E4161093E7160C94993B40E050E254 -:1099200060E070E0C80157CB8091A0169091A1161D -:10993000892B11F40C94AC3EB2CBE3960FB6F8949D -:10994000DEBF0FBECDBFDF91CF911F910F91FF9072 -:10995000EF90DF90CF90BF90AF909F908F907F90CF -:109960006F905F904F903F902F9008952F923F926D -:109970004F925F926F927F928F929F92AF92BF921F -:10998000CF92DF92EF92FF920F931F93CF93DF93CB -:10999000CDB7DEB7C154D1090FB6F894DEBF0FBE04 -:1099A000CDBF22968FAF22972091FE082CAF21E0E9 -:1099B0002093FE088091B7148D3409F465C4843572 -:1099C00011F40C94C65E873411F00C94CD5E809136 -:1099D000B5149091B6148B31910509F41FC2B4F4FB -:1099E0008430910534F482309105DCF597FF2DC069 -:1099F00047C48531910511F40C94CF5E8A319105ED -:109A000009F408C2049709F03BC4C5C18A32910524 -:109A100009F48DC354F48D31910509F43CC20CF462 -:109A20002AC24E9709F43BC22BC48B35910509F429 -:109A3000FCC28C35910509F4FCC28A35910509F008 -:109A40001FC41092FD080C94CF5E80917D02882384 -:109A500011F40C94CF5E0E94EFCE0E94F3A90C94F7 -:109A6000CF5E20917D02222311F40C94CF5E11E091 -:109A7000029709F010E00E94EFCE19821A821B8231 -:109A80001C821D821E821F82188682E50E940B8D19 -:109A9000882309F438C10E948B8C4B015C0120E0C3 -:109AA00030E0A9010F94D25A882309F442C1809171 -:109AB000150290911602A0911702B09118028CA382 -:109AC0009DA3AEA3BFA38091190290911A02A09109 -:109AD0001B02B0911C0288A799A7AAA7BBA78091D7 -:109AE000C2189091C318A091C418B091C5188CA742 -:109AF0009DA7AEA7BFA78091C6189091C718A09147 -:109B0000C818B091C91888AB99ABAAABBBAB2CA550 -:109B10003DA54EA55FA56CA17DA18EA19FA10F942F -:109B2000D25A81110DC028A939A94AA95BA968A5F3 -:109B300079A58AA59BA50F94D25A882309F4F9C068 -:109B400020E030E0A901C501B4010F94D25A881F6A -:109B50008827881F181729F080E090E0A0E8BFEB65 -:109B600004C080E090E0A0E8BFE388AF99AFAAAF5F -:109B7000BBAF2CA13DA14EA15FA16CA57DA58EA57B -:109B80009FA50F94C7616CAB7DAB8EAB9FAB28A537 -:109B900039A54AA55BA568A979A98AA99BA90F94AB -:109BA000C7616B017C012CA93DA94EA95FA9CA011F -:109BB000B9010F94385B2B013C01A7019601C70145 -:109BC000B6010F94385B9B01AC01C301B2010F9445 -:109BD000C8610F94C6642B013C019B01AC0160E09D -:109BE00070E080E89FE30F94C26221966CAF7DAF76 -:109BF0008EAF9FAF219720E030E040E05FE3C301EC -:109C0000B2010F94385B2B013C01A5019401C50101 -:109C1000B4010F94385B4B015C01A3019201C301B5 -:109C2000B2010F94385B9B01AC01C501B4010F94E4 -:109C3000C7610F94C66428AD39AD4AAD5BAD0F94D2 -:109C4000385B4B015C01C701B601905821962CADE1 -:109C50003DAD4EAD5FAD21970F94385BA5019401EA -:109C60000F94385B6B017C012CA53DA54EA55FA52B -:109C70006CA17DA18EA19FA10F94C86120E030E06E -:109C800040E05FE30F94385B9B01AC01C701B60174 -:109C90000F94C8612CA13DA14EA15FA10F94C76193 -:109CA00069837A838B839C8328A939A94AA95BA9F4 -:109CB00068A579A58AA59BA50F94C86120E030E02E -:109CC00040E05FE30F94385B6B017C0121962CAD83 -:109CD0003DAD4EAD5FAD21976CA97DA98EA99FA921 -:109CE0000F94385BA50194010F94385B9B01AC0184 -:109CF000C701B6010F94C86128A539A54AA55BA57F -:109D00000F94C76112C089E40E940B8D882331F043 -:109D10000E948B8C69837A838B839C838AE40E9464 -:109D20000B8D882331F00E948B8C6D837E838F8313 -:109D3000988720E030E0A90169817A818B819C813C -:109D40000F94D25A81110BC020E030E0A9016D813F -:109D50007E818F8198850F94D25A8823A1F0412F5C -:109D6000BE016F5F7F4F82EC98E10F944B210F94FF -:109D700006406093CE147093CF148093D0149093C8 -:109D8000D1140C94CF5E0F94C74A82E498E00F94EC -:109D90004B4A0C94CF5E80E50E940B8D882329F0FE -:109DA0000F94EB106B017C0103C0C12CD12C760108 -:109DB00083E50E940B8D882361F00E948B8C20E04C -:109DC00030E04AE754E40F94385B0F943B636B0137 -:109DD0007C010E941AC280912A14811105C060E0A2 -:109DE00088E598E00F947B080F940640C60ED71EB6 -:109DF000E81EF91E0F940640DC01CB018C199D0969 -:109E0000AE09BF09B7FD02C00C94CF5E80E00E948E -:109E10006B67F0CF0E9480E40C94CF5E41E061E07C -:109E200081E00E94ECA881110C94CF5E80E090E06C -:109E3000A8E4B2E489839A83AB83BC8380E090E09A -:109E4000A0E2B1E48D839E83AF83B88789879A8728 -:109E5000AB87BC8780E50E940B8D882321F00E9490 -:109E6000778C862F01C080E0BE016F5F7F4F0F941B -:109E7000A8050C94CF5E8091D6128770873011F0C0 -:109E80000C94F35E60E08FE40E946BE481110C940B -:109E9000CF5E0C94F35E0E9490920C94CF5E209162 -:109EA0000A1330910B1340910C1350910D136091D4 -:109EB00015027091160280911702909118020F946A -:109EC000C861AB01BC0188E50E94A59C6C8F7D8FA9 -:109ED0008E8F9F8F20910E1330910F13409110138E -:109EE000509111136091190270911A0280911B0216 -:109EF00090911C020F94C861AB01BC0189E50E94DE -:109F0000A59C69837A838B839C83BE016F5F7F4F9F -:109F1000CE014C960E94218F882311F40C94CF5EC1 -:109F200080E00F94B1480E9419B361E085E40E947B -:109F30006BE4182F01E021E0482FBE016F5F7F4FD7 -:109F4000CE014C960E94EDBD6B017C019B01AC01E2 -:109F50000F94156581115FC08C8C9D8CAE8CBF8C6D -:109F600020E030E0A901C501B4010F94D25A87FF67 -:109F700005C027E137EB41E558EB04C027E137EB9B -:109F800041E558E3C501B4010F94C861AB01BC01C0 -:109F90008BEA98E00F94974A89809A80AB80BC80C6 -:109FA00020E030E0A901C501B4010F94D25A87FF27 -:109FB00005C027E137EB41E558EB04C027E137EB5B -:109FC00041E558E3C501B4010F94C861AB01BC0180 -:109FD00086EA98E00F94974A20E030E0A901C70193 -:109FE000B6010F94D25A87FF05C027E137EB41E550 -:109FF00058EB04C027E137EB41E558E3C701B60150 -:10A000000F94C861AB01BC0181EA98E00F94974AB4 -:10A010008AE00E9427660E9400B3113011F40E946A -:10A0200004BD0E9465C90C94CF5E2093FD080C947A -:10A03000CF5EB1EA2B2EB3E03B2E1AECE12E12E1FB -:10A04000F12E25E132E03DA32CA30EEFC02E02E15C -:10A05000D02E00E010E0D1018D911D010E940B8DEA -:10A06000882309F44BC00E948B8C2B013C011330D8 -:10A0700049F0F60120813181428153810F94C761FB -:10A080002B013C01ACA1BDA12D913D914D915C9165 -:10A09000C301B2010F94C7614B015C012DEB37E3A3 -:10A0A00046E855EB0F94286487FD0AC02DEB37E393 -:10A0B00046E855E3C501B4010F94D25A1816F4F4DA -:10A0C000133051F4409221025092220260922302F6 -:10A0D0007092240201E012C0A5019401F701608191 -:10A0E0007181828193810F94C861D7016D937D93B3 -:10A0F0008D939C931397812F0E94CCA81F5FB4E08F -:10A10000EB0EF11CECA1FDA13496FDA3ECA3F4E051 -:10A11000CF0ED11C143009F09ECF002321F081E234 -:10A1200092E00E942BC20E9465C90C94CF5E809180 -:10A130007D02882311F40C94CF5E89E40E940B8D7C -:10A14000082F882321F00E94878CE82E01C0E12C83 -:10A150008AE40E940B8D182F882321F00E94878C9F -:10A16000F82E01C0F12C002319F025E02E1528F05F -:10A17000112349F035E03F1530F483EB98E00F945C -:10A180004B4A0C94CF5E0E9429E3002359F08E2D98 -:10A190000E94558D6093C2187093C3188093C418A1 -:10A1A0009093C518112359F08F2D0E94278D60932D -:10A1B000C6187093C7188093C8189093C91860E0A8 -:10A1C00080E50E946BE48823C1F10023D1F0209147 -:10A1D0000A1330910B1340910C1350910D136091A1 -:10A1E000C2187091C3188091C4189091C5180F942B -:10A1F000C7616093C2187093C3188093C41890937A -:10A20000C5181123D1F020910E1330910F134091F6 -:10A210001013509111136091C6187091C718809156 -:10A22000C8189091C9180F94C7616093C6187093AD -:10A23000C7188093C8189093C91840E050E0BA013D -:10A2400086E40E94A59C6B017C0120E030E0A9011E -:10A250000F942864181684F420E030E040E752E4BC -:10A26000C701B6010F94C262609355027093560203 -:10A2700080935702909358020E94F3A90C94CF5EEA -:10A280000F94F63B0C94CF5E8091B5149091B61468 -:10A290008537910511F40C946E590CF050C1893436 -:10A2A000910509F409C50CF069C08A31910509F4DA -:10A2B0008EC39CF58431910509F403C37CF481318C -:10A2C000910509F4EAC22CF4029708F463C20C94D5 -:10A2D000C35E429709F430C70C94C35E8731910581 -:10A2E00009F419C38CF48531910509F410C346971C -:10A2F00011F00C94C35E0E94757180916C18877F79 -:10A3000080936C180C94CF5E8831910509F41BC3BF -:10A31000499709F451C30C94C35E8F31910509F438 -:10A3200084C47CF48C31910509F4C9C30CF45DC379 -:10A330008D31910509F4CDC34E9709F4D1C30C9426 -:10A34000C35E8A32910509F490C464F480329105A9 -:10A3500009F425C4819711F00C94C35E0E9414A3E4 -:10A360000C94CF5E8B32910509F4A2C4C09711F012 -:10A370000C94C35E0F9407110C94CF5E8836910540 -:10A3800009F442C5D4F58135910509F4BDC6C4F47C -:10A390008C34910509F49FC44CF48B34910511F071 -:10A3A0000C94C35E0E94E5BF0C94CF5E8D34910582 -:10A3B00009F495C48E34910509F495C40C94C35ED8 -:10A3C0008435910509F4B8C674F48235910509F411 -:10A3D000B0C68335910511F00C94C35E81E0809383 -:10A3E000F7080C94CF5E8535910509F4D1C68C35FC -:10A3F000910509F4E6C60C94C35E8E36910509F406 -:10A4000079C5D4F48B36910509F46EC654F48936B7 -:10A41000910509F40BC68A36910509F43DC60C94E2 -:10A42000C35E8C36910511F40C94CF5E8D36910588 -:10A4300009F409C50C94C35E8137910509F4B0C5D0 -:10A440005CF48F36910509F466C58037910511F4E7 -:10A450000C94CF5E0C94C35E8237910509F43BC720 -:10A460008337910511F00C94C35E82E69BE00F9454 -:10A470004B4A60E082E59BE00F94282560E08DE385 -:10A480009BE00F94282561E086E39BE00F9428254C -:10A4900061E08BE29BE00F94282561E08BE19BE07B -:10A4A0000F94282560E082E19BE00F94282561E06D -:10A4B00088E09BE00F94282561E08EEF9AE00F94EE -:10A4C000282561E086EF9AE00F94282561E088EE68 -:10A4D0009AE00F94282561E08AED9AE00F942825F0 -:10A4E00060E08BEC9AE00F94282560E08DEB9AE019 -:10A4F0000F94282560E087EA9AE00F94282561E010 -:10A5000086E99AE00F94282561E087E89AE00F94A5 -:10A51000282561E082E79AE00F94282561E08FE525 -:10A520009AE00F94282560E082E59AE00F942825B0 -:10A5300060E08EE39AE00F9428250C94CF5E8F3272 -:10A54000A1E09A0711F40C94315D0CF07BC08B3CB8 -:10A55000910509F489C7ACF58D37910509F4D1C58A -:10A56000BCF48737910509F404C70CF4C8C68837D2 -:10A57000910509F401C78937910511F00C94C35E68 -:10A580001092480A1092470A0E9464C70C94CF5E4A -:10A590008E3B910509F438C554F48C38910509F4C3 -:10A5A00021C58B39910509F451C50C94C35E883CD3 -:10A5B000910509F4E9C6893C910509F432C70C9468 -:10A5C000C35E8D3D910509F4D1C7E4F48E3C91053D -:10A5D00009F49AC76CF48C3C910509F464C78D3C6E -:10A5E000910511F00C94C35E0F94B93A0C94CF5EB0 -:10A5F000833D910509F4AAC78C3D910509F4A9C7CB -:10A600000C94C35E8232E1E09E0711F40C94EF5B80 -:10A6100064F4823E910511F40C940C5B88319140F6 -:10A6200011F40C94585B0C94C35E8D3231E09307A7 -:10A6300011F40C94FA5B8E32914011F40C94ED5CA1 -:10A640000C94C35E853FB1E09B0711F40C94DE5D72 -:10A650000CF04EC08A39F1E09F0711F40C94CF5EE4 -:10A6600014F5803931E0930711F40C94345D3CF417 -:10A670008033914011F40C947A5C0C94C35E813960 -:10A68000E1E09E0711F40C94375D8239914011F09E -:10A690000C94C35E80E00E944CBD0E9404BD0E94E9 -:10A6A00065C90C94CF5E853A21E0920711F40C94B1 -:10A6B000485D7CF48C39A1E09A0711F40C943D5D5F -:10A6C000843A914011F00C94C35E0F9456160C948A -:10A6D000CF5E8C3AE1E09E0711F40C944B5D843F11 -:10A6E000914011F00C94C35E0E9487FF0C94CF5EE2 -:10A6F0008B3522E0920711F40C94005E5CF5883FE4 -:10A70000A1E09A0711F40C94E45DACF4863FE1E01B -:10A710009E0711F40C94E15D873F914011F00C9479 -:10A72000C35E61E083E50E946BE491E089270E94AB -:10A7300016CA0C94CF5E8C3022E0920711F40C9470 -:10A74000F55D8835924011F00C94C35E0E94C5CF30 -:10A750000C94CF5E8438A3E09A0711F40C94795ED0 -:10A760006CF48335E3E09E0711F40C94FD5D8C36A8 -:10A77000934011F40C94CF5E0C94C35E803A23E0B6 -:10A78000920709F442C2873E934011F40C94B55EDF -:10A790000C94C35E009134121091351280E50E9432 -:10A7A0000B8D882361F00F94EB106B017C01BB24AF -:10A7B000B394672B682B692B31F4B12C04C0B12CF6 -:10A7C000C12CD12C760183E50E940B8D882311F4D6 -:10A7D0000C94DD600E948B8C20E030E04AE754E46A -:10A7E0000F94385B0F943B636B017C01B1100BC07D -:10A7F000672B682B692B39F40115110521F0D8015D -:10A800008C91811102C0B12C02C0BB24B3940E9470 -:10A810001AC2B11003C08CE196E001C0C8010E94C9 -:10A820007B9C1091FE0883E08093FE0881E080937A -:10A830006B1444EE58E06DEE78E082E00F94A90AC4 -:10A8400082ED98E00E947B9CC114D104E104F104E4 -:10A85000B1F00F940640C60ED71EE81EF91E0F94E5 -:10A860000640DC01CB018C199D09AE09BF09B7FF79 -:10A870000EC080916B1481110C94E26008C080912D -:10A880006B14882321F080E00E946B67F8CF109250 -:10A890006B141093FE080C94CF5E8091B11484FF6A -:10A8A00002C00C94E7608091B31487FF02C00C943F -:10A8B000E7608091B414837011F00C94E7600C94FD -:10A8C000036187E199E00F944B4A10924C0C8EEC97 -:10A8D00095E10E94B8B58BE1EEECF5E1DE01119651 -:10A8E00001900D928A95E1F740E050E0BE016F5F64 -:10A8F0007F4F80E090E00E94FB72CE0101960E94A3 -:10A90000EEB688E099E00F944B4A0C94CF5E0E941B -:10A91000E6710C94CF5EE0913412F0913512808193 -:10A92000882329F0803209F410823196F8CF40E074 -:10A9300061E080913412909135120E94D17410928E -:10A940006C140C94CF5E8091DE0B8823E9F080E0DC -:10A9500090E0A0EAB1E488A399A3AAA3BBA31C8EAC -:10A960001D8E1E8E1F8E19821A821B821C8220E071 -:10A97000AE01405E5F4FBE01645E7F4FCE01019627 -:10A980000F94690B0C94CF5E0E94F1A3882321F0F1 -:10A990000E9486710E94E5BF40E050E068E279E0E5 -:10A9A00085E00F94620B61E08CE594E50F94EF096C -:10A9B0000F941C090C94CF5E80916C1882FF03C029 -:10A9C0008B7F80936C180E94CCD00C94CF5E8091CA -:10A9D0006C1883FD02C00C94CF5E83E50E940B8D42 -:10A9E00081110C9411610C94CF5E83E40E94C28C9F -:10A9F0008823D9F18CE399E00F944B4A8091781524 -:10AA0000882351F1BE016F5F7F4F85E795E10E947A -:10AA10007FB48E010F5F1F4FF80181918F01882352 -:10AA200019F00E942766F8CFBE016F5F7F4F80E06C -:10AA300090E00E94997480913E1B882389F080E207 -:10AA40000E9427660EE31BE1D8018D918D018823BA -:10AA500039F00E942766F8CF82E399E00F944B4AC1 -:10AA60008AE00E9427660C94CF5E83E50E940B8DDE -:10AA7000882309F10E9447E4182F90E0CD970CF04D -:10AA80001CE31093EE080F9406406B017C01212F0C -:10AA900030E0A8EEB3E00F947C61C60ED71EE81E2E -:10AAA000F91EC092EA08D092EB08E092EC08F0920E -:10AAB000ED080C94CF5E0E944E710C94CF5E40E086 -:10AAC00060E080913412909135120E94D1740C9400 -:10AAD000CF5E80916C188E7F80936C180C94CF5E43 -:10AAE00080916C1883FD02C00C94CF5E0F94DC3B08 -:10AAF00080916C1883FD02C00C94CF5E609134127B -:10AB000070913512CE014C960F94F3348C0100975E -:10AB100011F40C94CF5E6C8D7D8D19821C8222E025 -:10AB2000AC01CE0101960E94D1BA811102C0F12C74 -:10AB300014C0CE0101960F9461348823C1F361E003 -:10AB4000CE0101960E9463B4009789F325EEFC01C3 -:10AB500020831C820E9472B6F82ECE0101960E94BC -:10AB6000EEB6B801FF2089F086E699E00F94B44A6A -:10AB70008AE00E9427661092681810926918109255 -:10AB80006A1810926B180C94CF5E8EE499E00F94C3 -:10AB9000B44A8BE499E00F944B4A0C94CF5E8091B9 -:10ABA0006C1882FD0E941AC280916C1883FD02C04D -:10ABB0000C94CF5E60E080E50E946BE4182F482F74 -:10ABC00061E080913412909135120E94D17483E536 -:10ABD0000E940B8D882381F00E94778CAB01BC0111 -:10ABE000409368185093691860936A1870936B18B3 -:10ABF00085E795E10E9479B30E94867111110C944A -:10AC0000CF5E0E94E5BF0C94CF5E2091341230914C -:10AC1000351290916C18926090936C1840E060E04F -:10AC2000C9010E94D1740C94CF5E0F9420056C8FE3 -:10AC30007D8F8E8F9F8FBE016F5F7F4FCE014C96B1 -:10AC40000E9438A260E0CE0101960F94F3080F94A1 -:10AC5000CB4ABE016F5F7F4F84E799E00F94B44AFF -:10AC60008AE00E9427660C94CF5E83E50E940B8DDC -:10AC7000882311F40C94CF5E0E9447E4F82E6DE017 -:10AC800070E080E50E94188D8C0197FF02C00C9443 -:10AC9000CF5EE82E60E089E40E946BE481110C94A1 -:10ACA0002261802F0E9498638111D3C40C94226189 -:10ACB0000E948AD20C94CF5E80E50E94C28C8823C9 -:10ACC00011F40C94CF5E80916C1882FF02C00C943A -:10ACD000CF5E0C943B610F946F050C94CF5E0E9485 -:10ACE00095C00C94CF5E60E070E083E50E94188D03 -:10ACF0008E34910531F40E9450C10F941C090C94BC -:10AD0000CF5E8FED99E00F944B4A6091370A7091B6 -:10AD1000380A86ED99E00F948A4A6091390A709159 -:10AD20003A0A89EC99E00F948A4A6091370A709147 -:10AD3000380A8091390A90913A0A681B790B809100 -:10AD4000F912815021E030E0823010F020E030E054 -:10AD5000621B730B8EEB99E00F948A4A8AE00E9483 -:10AD6000276686EB99E00F944B4A80913B0A9091BD -:10AD70003C0AA0913D0AB0913E0A8C8F9D8FAE8F08 -:10AD8000BF8FBE016F5F7F4FCE014C960E9438A2ED -:10AD9000BE016F5F7F4F89EA99E00F94B44A8091BA -:10ADA0003F0A9091400AA091410AB091420A8C8FCB -:10ADB0009D8FAE8FBF8FBE016F5F7F4FCE014C96D0 -:10ADC0000E9438A2BE016F5F7F4F89E999E00F941E -:10ADD000B44A20E030E04AE754E46091430A7091BD -:10ADE000440A8091450A9091460A0F94C262AB01D1 -:10ADF000BC0181E899E00F94974A8DE60E9427668E -:10AE00008AE00E942766CBC78091CF1183FDC7C718 -:10AE10000E949ECF87FDC3C783E50E940B8D8823C8 -:10AE200079F00E948B8C0F9434638B01CB010E94CC -:10AE3000D7BB0135110524F40E9495C00F941C095D -:10AE40000F947254ACC78091CF1183FDA8C70E94A4 -:10AE50009ECFF82E87FDA3C783E50E940B8D082F98 -:10AE6000811106C082E50E940B8D182F8823C1F145 -:10AE70000E948B8C0F943463CB010E94D7BB0E943D -:10AE80008B8C20E030E040EA52E40F94D25A18163E -:10AE900014F40C9446610E9495C00F941C096091B3 -:10AEA0008C0C70918D0C072E000C880B990B0F9455 -:10AEB000D95A4B015C014090880C5090890C6090ED -:10AEC0008A0C70908B0CA30192010F9428641816C1 -:10AED00014F40C945961002311F40C944A6111E0AC -:10AEE0000F947254112309F45AC7602F8F2D0E94BA -:10AEF000ECEE55C78EE40E940B8D882309F44FC7F2 -:10AF00000E94778C609330127093311280933212CA -:10AF10009093331244C783E50E94C28C882331F09A -:10AF200060E083E50F94FB108093CF110F94CB4A20 -:10AF30008FE09AE00F944B4A8091CF11882369F1FA -:10AF4000A5E0EA2EAAE0FA2E00E010E020E08091D1 -:10AF5000CF1190E0A0E0B0E0002E04C0B695A79518 -:10AF6000979587950A94D2F780FF0EC0DD24D3947D -:10AF7000D20E222319F08CE20E942766F7018591F8 -:10AF800094910F944B4A2D2D0F5F1F4FF2E0EF0E5F -:10AF9000F11C05301105D9F663CD81E09AE05ECD54 -:10AFA00083E50E940B8D882371F00E9447E4282FCF -:10AFB00030E02D3331051CF480930002F0C68CE3A1 -:10AFC00080930002ECC60F94CB4A4091000250E0FF -:10AFD00060E070E086E19AE00F94794A8AE00E948E -:10AFE0002766DDC68091CF1183FDD9C683E50E9417 -:10AFF0000B8D882309F4D3C60E948B8C0F94346385 -:10B00000CB010E941BE3CBC68091CF1183FDC7C645 -:10B0100083E50E940B8D182F81110C945C6182E5F1 -:10B020000E940B8D81110C945C61B9C60E949ECF69 -:10B03000182F87FDBBC68BE39AE00F944B4A812FF4 -:10B040000E94FCEC8AE00E942766B0C683E50E945D -:10B050000B8D882309F4A3C60E9447E4182F90E0C3 -:10B06000CD970CF01CE31093F3080F9406406B018E -:10B070007C01212F30E0A8EEB3E00F947C61C60E76 -:10B08000D71EE81EF91EC092EF08D092F008E09299 -:10B09000F108F092F20883C660E080E50F94FB109F -:10B0A000F82E31E0381708F47AC681E40E94C28C89 -:10B0B000882321F06091710C062F02C00FEF10E081 -:10B0C00083E50E940B8D882349F00E94778C8B01C9 -:10B0D0006F3F710519F010F00FEF10E0EF2DF0E069 -:10B0E000EF58F34F00835BC660E080E50F94FB10E0 -:10B0F000823008F054C6E82FF0E0EF58F34F10828A -:10B100004EC60E94CCD04BC60E948EF40E9495C0C1 -:10B110000E94AEC30E94DA631092540C1092530C3A -:10B120001092520C68EE73E080E090E00F941C4A9D -:10B1300036C61092F70833C683E50E940B8D88232C -:10B1400099F00E948B8C20E030E04AE754E40F94A1 -:10B15000385B0F943B63609301027093020280930B -:10B160000302909304021BC68091B11484FF02C0B5 -:10B170000C9491618091B31487FF02C00C9491618B -:10B180008091B414837011F00C9491610C94C2619D -:10B1900083E50E94C28C882309F401C60E948B8C2F -:10B1A00020E030E04AE754E40F94385B0F943B63AF -:10B1B0006093F8087093F9088093FA089093FB085D -:10B1C000EEC50E949ECF87FDEAC59091B11494FD13 -:10B1D00004C09091B31497FF0AC0E1EACE2EE3E0D9 -:10B1E000DE2EF0EDEF2EF1E1FF2E10E009C0909180 -:10B1F000B414937091F7682F81E00E944FD2CFC5AD -:10B20000D6018D916D010E940B8D882309F459C0E0 -:10B21000133009F04FC00E948B8C4B015C0120E081 -:10B2200030E040EA51E40F94D25A87FF3AC0A501BA -:10B2300094016091F0117091F1118091F21190914F -:10B24000F3110F94C2622B013C019B01AC01609190 -:10B2500000127091011280910212909103120F94CA -:10B26000385B6093001270930112809302129093E6 -:10B2700003126091650C7091660C8091670C90913F -:10B28000680C0F94D75AA30192010F94385B0F9466 -:10B290003B636093650C7093660C8093670C90938E -:10B2A000680C8092F0119092F111A092F211B0927C -:10B2B000F31107C00E948B8CF701648B758B868B12 -:10B2C000978B1F5FF4E0EF0EF11C143009F098CF5C -:10B2D0000E94F6C164C50F94422561C58091341265 -:10B2E00090913512009741F0DC012C91222321F03E -:10B2F00060E00F94F30853C50F941C0950C50091EA -:10B3000034121091351294E0F12C40E0915021F16B -:10B31000F8018081282F2B7F213421F421812133D2 -:10B32000D9F407C08035C1F4818180538A3048F058 -:10B3300013C0813421F0853421F441E002C0FF24A0 -:10B34000F39498012E5F3F4F89012F5F3F4FF80123 -:10B3500080818032C9F3DACF41110F94CB4AFF20AC -:10B3600021F08FE49CE00F944B4AC8010E9445678E -:10B3700016C50E940DC713C581E08093480A8093CB -:10B38000470A0E9464C70BC50E949ECF182F87FDF5 -:10B3900006C584E40E94C28C882309F43FC00E9441 -:10B3A0008B8C6B017C0101E020E030E0A9010F945F -:10B3B000D25A811101C000E00093DD1220E030E09C -:10B3C000A901C701B6010F94D25A882339F10E940E -:10B3D0008B8C24E01202F0011124EE51FD4E6083AB -:10B3E00071838283938320E030E0A9016091E212AF -:10B3F0007091E3128091E4129091E5120F94D25A69 -:10B4000081110CC080E090E0A0EEBFE38093E212D7 -:10B410009093E312A093E412B093E5120E94A7C4A4 -:10B42000BEC40E949ECF87FDBAC471EAE72E73E0C6 -:10B43000F72E00ED11E1D7018D917D010E94C28CA4 -:10B44000882349F00E948B8C0F943B63F801608342 -:10B450007183828393830C5F1F4FF1E1003E1F07CE -:10B4600051F70E947FC19BC40E949ECF87FD97C465 -:10B4700061EAE62E63E0F62E00ED11E1D7018D9131 -:10B480007D010E94C28C882339F00E948B8CF801C8 -:10B4900064A375A386A397A30C5F1F4FF1E1003E41 -:10B4A0001F0761F77CC48091B21487FD6EC780913D -:10B4B000B3148E7009F069C74091041250910512BF -:10B4C000609106127091071289E59CE00F94974AEB -:10B4D000409108125091091260910A1270910B125A -:10B4E00086E59CE00F94974A40910C1250910D1202 -:10B4F00060910E1270910F1283E59CE00F94974AB1 -:10B500008AE00E9427664BC441EAC42E43E0D42E51 -:10B510005BE4E52E5AE0F52E10E0D6018D916D0129 -:10B520000E94C28C882351F00E948B8CF7016083AB -:10B53000718382839383812F0E94CCA81F5FF4E0E4 -:10B54000EF0EF11C133049F70C9493500E949AD1DE -:10B5500026C483E50E940B8D882309F420C40E9431 -:10B56000878C909345028093440219C40E949ECF19 -:10B57000F82E87FD14C483E50E940B8D0F2D0F2C30 -:10B58000000C110B882369F10E94878CF801EE0FE3 -:10B59000FF1FEA5BFD4F91838083000F111F000F97 -:10B5A000111F98012B5D3D4F7901BC01990F880B4C -:10B5B000990B0F94D95A2AE037ED43E25CE30F94DC -:10B5C000385BF801E252FD4E208131814281538186 -:10B5D0000F94385BD7016D937D938D939C93139754 -:10B5E000DEC30F94CB4A85E40E94276680E38F0D6B -:10B5F0000E942766F801EE0FFF1FEA5BFD4F608196 -:10B60000718189E69CE00F94A84A85E20E94276632 -:10B610008AE00E942766C3C380E50E94C28C88230B -:10B6200009F4BDC360E070E080E50E94188DF82E3B -:10B630006FEF7FEF83E50E94188D8C0101960397D1 -:10B6400008F0ADC3F7FCABC38F2D0E94986388232D -:10B6500039F00F94C74A81E79CE00F944B4A9FC38F -:10B660000E941AC260E08F2D0F94A83E0F3FBFEFDB -:10B670001B0731F00130110571F000E010E00DC042 -:10B680008F2D0F94503E31E020E0892B09F030E0FF -:10B69000032F122F02C001E010E08F2D0F94503EB7 -:10B6A0008017910709F47BC380E00E946B67F5CF98 -:10B6B00080E50E94C28C882309F471C30E94878CA4 -:10B6C0008C01892B09F07FC083E50E94C28C8823FE -:10B6D00089F00E94878C8F3FEFEF9E0729F486E563 -:10B6E00096E10E94DF635BC3BC0186E596E10E94A0 -:10B6F000AF6455C30F94CB4A60E070E089E99CE0E9 -:10B700000F94A84A8091581628E532E06901C81ABA -:10B71000D10887FDD394CC0CDD1CCC0CDD1C0D2C8A -:10B72000000CEE08FF088091571628E830E0490128 -:10B73000881A910887FD9394880C991C880C991C91 -:10B74000092C000CAA08BB08809156168F3FC1F047 -:10B7500090E0FC01EE0FFF1F8E0F9F1FFC01E751D1 -:10B76000FA4E21813281E3E0220F331FEA95E1F79F -:10B77000F4E036952795FA95E1F72E5F3F4F02C02A -:10B7800020E030E02F5F3F4FC901330FAA0BBB0B06 -:10B790009C01AD01281939094A095B09A4EBB0E005 -:10B7A0000F946961A7019601281939094A095B09B3 -:10B7B0000F944A61B90186E99CE00F94A84A8AE097 -:10B7C0000E942766ECC20F94C74AB8018FE89CE03C -:10B7D0000F94A84A80E89CE00F944B4AE0C28AE5A7 -:10B7E0000E940B8D811117C683E50E940B8D81117C -:10B7F00012C6D5C260E085E40F94FB10811173C0BE -:10B8000080E50E94C28C882351F00E948B8C60934B -:10B810008F0C7093900C8093910C9093920C89E410 -:10B820000E94C28C882381F00E948B8C2CEA35EC1C -:10B8300047E25EE30F94385B6093930C7093940C33 -:10B840008093950C9093960C84E40E94C28C88237C -:10B8500081F00E948B8C2CEA35EC47E25EE30F947A -:10B86000C2626093970C7093980C8093990C90939C -:10B870009A0C0F94CB4A40918F0C5091900C609190 -:10B88000910C7091920C8CEC9CE00F94974A2CEAEE -:10B8900035EC47E25EE36091930C7091940C8091DB -:10B8A000950C9091960C0F94C262AB01BC0188EC90 -:10B8B0009CE00F94974A2CEA35EC47E25EE36091F6 -:10B8C000970C7091980C8091990C90919A0C0F9410 -:10B8D000385BAB01BC0184EC9CE00F94974A8AE092 -:10B8E0000E9427665CC20F94C74A82EB9CE00F94CB -:10B8F0004B4A55C280E50E94C28C882351F00E94B9 -:10B900008B8C6093270A7093280A8093290A90935E -:10B910002A0A89E40E94C28C882381F00E948B8CC1 -:10B920002CEA35EC47E25EE30F94385B60932B0A18 -:10B9300070932C0A80932D0A90932E0A84E40E941F -:10B94000C28C882381F00E948B8C2CEA35EC47E274 -:10B950005EE30F94C26260932F0A7093300A809363 -:10B96000310A9093320A0F94CB4A4091270A5091A2 -:10B97000280A6091290A70912A0A88ED9CE00F94A8 -:10B98000974A2CEA35EC47E25EE360912B0A70910E -:10B990002C0A80912D0A90912E0A0F94C262AB015D -:10B9A000BC0184ED9CE00F94974A2CEA35EC47E209 -:10B9B0005EE360912F0A7091300A8091310A909174 -:10B9C000320A0F94385BAB01BC0180ED9CE00F9410 -:10B9D000974A8AE00E942766E2C183E50E94C28CF2 -:10B9E000182F882371F00E948B8C0F94346370930E -:10B9F0002A026093290221E0672B09F020E02093BE -:10BA0000830C80E50E94C28C882359F02091290282 -:10BA100030912A02232B11F00E945BE48093830C67 -:10BA2000BEC11111BCC10F94CB4A88EF9CE00F94AA -:10BA30004B4A8091830C882319F080EE9CE002C071 -:10BA40008CED9CE00F944B4A6091290270912A0280 -:10BA500087EE9CE00F94A84A83EE9CE00F944B4A3B -:10BA60009EC10E94BC9C9BC10E941AC298C181E0E9 -:10BA70000E944CBD0E9465C992C18091B114887822 -:10BA800009F052C58091B314867009F04DC528C5E0 -:10BA90000F94881584C141E061E081E00E94ECA828 -:10BAA00081117DC102E919E325E132E03DA32CA318 -:10BAB000CE0101965C0147EE842E49E3942E1C01D1 -:10BAC000F8016591759185919491ACA1BDA1CD903E -:10BAD000DD90ED90FD90BDA3ACA3A70196010F945E -:10BAE000C7612B013C01F1016083718382839383E1 -:10BAF00020E030E040EA51EC0F94286487FD0AC052 -:10BB000020E030E040EA51E4C301B2010F94D25A80 -:10BB100018162CF4F401849118160CF435C5D101D3 -:10BB2000CD90DD90ED90FD901D0120E030E040EAE9 -:10BB300051ECC701B6010F94286487FD0AC020E0CC -:10BB400030E040EA51E4C701B6010F94D25A18160A -:10BB500064F40F94C74A81E69DE00F944B4A61E07C -:10BB600083E59DE00F947B081AC10C5F1F4FBFEF68 -:10BB70008B1A9B0AE9E30E391E0709F0A1CF3BE4BB -:10BB8000E32E3AE0F32E10E0F50181919191A1911D -:10BB9000B1915F01F70181939193A193B1937F01DB -:10BBA000812F0E94CCA81F5F133071F70E9465C9D6 -:10BBB00060E083E49DE00F947B08F1C00F94CE1DFC -:10BBC000EEC00E9488C7EBC081E0809396140F946A -:10BBD000B91710929614882309F4E1C00F94CB4A48 -:10BBE0008FE79DE00F944B4ADAC080916C1882FF7A -:10BBF000D6C0806280936C18D2C00F94271FCFC02C -:10BC00000E949ECF082F87FDCAC085E50E94C28C86 -:10BC10008823B1F1E02E002E000CFF080E948B8CCF -:10BC20004B015C0120E030E0A9010F94286487FFFC -:10BC300004C0B7FAB094B7F8B094C70123E0880FF6 -:10BC4000991F2A95E1F79C01265E3C4E7901D901A6 -:10BC50008D929D92AD92BC92139720E030E04AEF16 -:10BC600053E4C501B4010F94286418164CF480E025 -:10BC700090E0AAEFB3E4F70180839183A283B383BA -:10BC80008CE40E94C28C882309F489C0002E000C29 -:10BC9000110B0E948B8C6B017C0120E030E0A9012C -:10BCA0000F94286487FF04C0F7FAF094F7F8F09433 -:10BCB00020E030E04AEF53E4C701B6010F94286456 -:10BCC000980193E0220F331F9A95E1F7F901E65EA0 -:10BCD000FC4E18162CF0C482D582E682F7825FC033 -:10BCE00080E090E0AAEFB3E484839583A683B783D2 -:10BCF00056C08BE40E940B8D882329F10E948B8C07 -:10BD00006B017C0120E030E0A9010F94286487FDDD -:10BD100015C020E030E040E251E4C701B6010F94C5 -:10BD2000D25A18165CF00E941AC2C0929B0CD09294 -:10BD30009C0CE0929D0CF0929E0C31C08AE89DE034 -:10BD40000F944B4A2CC00F94CB4A40919B0C5091BE -:10BD50009C0C60919D0C70919E0C89EA9DE00F9463 -:10BD6000974A8AE00E9427661AC081E080937D028C -:10BD700010926A1460E083E50E946BE481110FC0A9 -:10BD80000E9454A40CC00F94F63B09C08091B514D6 -:10BD9000882329F00E94C2BB02C00F94F63B229672 -:10BDA000FFAD2297F11102C00E94FFA32CAD20939A -:10BDB000FE08CF5BDF4F0FB6F894DEBF0FBECDBFDE -:10BDC000DF91CF911F910F91FF90EF90DF90CF9077 -:10BDD000BF90AF909F908F907F906F905F904F90AB -:10BDE0003F902F9008950E941AC23091E6123CAB0A -:10BDF00080E00F94B1480E9419B381E08093480A13 -:10BE00000E9464C788E50E94C28C182F89E50E94B1 -:10BE1000C28C082F8AE50E94C28C1013BBC1181770 -:10BE200011F0012FB7C101E011E091E09CA70E9441 -:10BE300029E382E50E940B8D882361F00E948B8CA0 -:10BE40006B017C0120E030E0A9010F94D25A8823D5 -:10BE500069F106C0C12CD12C80E8E82E80E4F82ED0 -:10BE6000111103C0002309F4FCC0C092CA18D0927B -:10BE7000CB18E092CC18F092CD18A70196016091F2 -:10BE80001D0270911E0280911F02909120020F945A -:10BE9000D25A87FF0BC019821A821B821C82BE01F4 -:10BEA0006F5F7F4F8AEC98E10E945AB3112309F427 -:10BEB000D3C0002309F4CDC01092190210921A02C7 -:10BEC00010921B0210921C02109215021092160280 -:10BED00010921702109218020E9486C6E7EEF9E34C -:10BEE000A491A8AFEBEDF9E3C590D590E590F4905F -:10BEF000EFEDF9E385909590A590B490A50194019C -:10BF0000C701B6010F94286418162CF4A7019601F6 -:10BF1000C501B40104C0A5019401C701B6010F9485 -:10BF2000C2622B013C01E2EAF9E385919591A5916A -:10BF3000B4918CA39DA3AEA3BFA3EEE9F9E38591D1 -:10BF40009591A591B49188A799A7AAA7BBA79C0191 -:10BF5000AD016CA17DA18EA19FA10F94286418163C -:10BF600034F428A439A49AA598AB1BA505C02CA02D -:10BF70003DA0AEA1A8AB1FA1A3019201C301B201D4 -:10BF80000F94385B20E030E040E85FE30F94C86135 -:10BF90000F94C664910148A9512F0F94385B68A390 -:10BFA00079A38AA39BA3E8EEF9E3149120E030E0A3 -:10BFB00040EC5FE3C501B4010F94385B4B015C01B9 -:10BFC000612F110F770B880B990B0F94D95A9B0196 -:10BFD000AC01C501B4010F94385B69837A838B830C -:10BFE0009C8320E030E040EC5FE3C701B6010F9492 -:10BFF000385B6B017C01B8AD6B2FBB0F770B880BE7 -:10C00000990B0F94D95A9B01AC01C701B6010F944B -:10C01000385B6C8F7D8F8E8F9F8FAE01405E5F4F40 -:10C02000BE016F5F7F4FCE014C960E9438B30E94D5 -:10C030007DC71092190210921A0210921B021092E0 -:10C040001C02109215021092160210921702109202 -:10C05000180280E00E9499A7002319F081E00E9455 -:10C0600099A7ECA5EE2309F487C080E00F94070F91 -:10C070008091D6148370833051F060E083E998E0BA -:10C080000F947B080F94CB4A84E898E071C00E941B -:10C0900086C680911D0290911E02A0911F02B09150 -:10C0A00020028093CA189093CB18A093CC18B09319 -:10C0B000CD1820910A1330910B1340910C1350911D -:10C0C0000D1360E070E088E492E40F94C7616B01A7 -:10C0D0007C016093C2187093C3188093C418909326 -:10C0E000C51820910E1330910F13409110135091E9 -:10C0F000111360E070E088E492E40F94C7614B0193 -:10C100005C016093C6187093C7188093C818909309 -:10C11000C91827E137EB41ED58EB0F94286487FDF0 -:10C120001EC023E030E044EB53E4C501B4010F949A -:10C13000D25A1816A4F027E137EB41ED58EBC701AE -:10C14000B6010F94286487FD0AC023E030E044EB79 -:10C1500053E4C701B6010F94D25A1816ECF460E00C -:10C1600083E798E00F947B080F94CB4A81E698E030 -:10C170000F944B4A0E9404BD0E9486C68091470AD4 -:10C180008093480A8CA90F94B1480E9400B30E9482 -:10C1900065C905CE8CA74BCE19821A821B821C82E0 -:10C1A000AE014F5F5F4F66EC78E182EC98E10E9450 -:10C1B00038B382E00E9499A7DDCFB1100C940354EC -:10C1C0000C94FC5380E00E946B670C942F5488E51C -:10C1D0000E94C28C81115F9889E50E94C28C8111F6 -:10C1E0008A988AE50E94C28C882329F080910801F0 -:10C1F00081708093060185E40E94C28C882309F433 -:10C20000CECD1298CCCD60E08FEF98E00F947B08F4 -:10C210005F988A9880910801817080930601129836 -:10C22000BECD0E94778CAB01BC014093681850933F -:10C23000691860936A1870936B1885E795E10E94FE -:10C2400079B3ADCD61E0802F0F94A83E6F2D802F84 -:10C250000F94793E6F2D70E0802F0F94E43E87E0BD -:10C26000E81203C0F092720C9ACD99E0E91297CDD2 -:10C27000F092710C94CD0E9447E490E085369105D0 -:10C2800014F084E690E080936C1489CD0E94E5BFA1 -:10C290000C944F57A3019201C501B4010F94286477 -:10C2A00018163CF087EE99E060E00F947B080C9440 -:10C2B0006F5784EF99E0F8CF0E948B8C0F94346312 -:10C2C000CB010E941BE30E948B8C20E030E040EA0F -:10C2D00050E40F942864181614F40E94E5BF60918E -:10C2E000240A7091250A072E000C880B990B0F94D5 -:10C2F000D95A2091200A3091210A4091220A509166 -:10C30000230A0F94286418161CF48CE29AE002C0E9 -:10C310008DE19AE060E00F947B08812F0E946EED22 -:10C320003ECD0E941AC288E50E94C28C882331F05B -:10C330005F9A8091D6148E7F8093D61489E50E94EF -:10C34000C28C882331F08A9A8091D6148D7F809395 -:10C35000D6148AE50E94C28C882359F08091080186 -:10C3600080958170809306018091D6148B7F809395 -:10C37000D61485E40E94C28C882309F410CD0E9453 -:10C3800096630DCD0E94AEC30ACD83E50E940B8D4E -:10C39000882391F00E948B8C609304127093051295 -:10C3A000809306129093071260930C1270930D12F3 -:10C3B00080930E1290930F1280E50E940B8D8823BC -:10C3C00051F00E948B8C609304127093051280933D -:10C3D00006129093071282E50E940B8D882351F07C -:10C3E0000E948B8C609308127093091280930A123A -:10C3F00090930B1284E50E940B8D882309F4CFCC17 -:10C400000E948B8C60930C1270930D1280930E120D -:10C4100090930F12C4CC0E948B8C20E030E040E05F -:10C4200050EC0F94D25A87FD15C00E948B8C20E0EF -:10C4300030E040E050E40F94286418162CF00E947D -:10C440008B8C6B017C010BC0C12CD12CE12C60E4E6 -:10C45000F62E05C0C12CD12CE12C50ECF52E2091EC -:10C46000EC113091ED114091EE115091EF11C70197 -:10C47000B6010F94385B0F943463CB010F94DB3516 -:10C4800080E50E94C28C882329F00E945BE4882307 -:10C4900009F485CCA70196016091121370911313D2 -:10C4A00080911413909115130F94C8616093121327 -:10C4B0007093131380931413909315130F94CB4A16 -:10C4C000409112135091131360911413709115132E -:10C4D00081EA9CE00F94974A8AE00E9427665FCC2D -:10C4E0000F94CB4A82E39DE00F944B4A80916802FF -:10C4F000811117C08BE09DE00F944B4A8AE00E94A7 -:10C5000027664091590250915A0260915B027091E6 -:10C510005C0282E19DE00F94974A8AE00E942766C0 -:10C520003ECC8FE09DE0E8CF88E40E94C28C882357 -:10C5300021F00E945BE48093FC0882E50E94C28C9B -:10C54000082F83E50E94C28C182F011102C0882396 -:10C5500051F010921A0A0E94BD63112321F00E942B -:10C560005BE48093680284E40E94C28C882309F40F -:10C5700016CC0E948B8C6093590270935A02809360 -:10C580005B0290935C020BCCF7FAF094F7F8F0940E -:10C59000D101CD92DD92ED92FC921397C0CACF9259 -:10C5A000DF92EF92FF920F931F93CF93DF936C0173 -:10C5B0008B017A01EC01C45FD64F888187FF04C0EC -:10C5C000FB011182108224C02CE02C9DC0012D9D06 -:10C5D000900D11242881AC01420F511D27FD5A9561 -:10C5E0002091551630E04217530794F42881AC018E -:10C5F000420F511D27FD5A959A01FA01EE0FFF1FB8 -:10C600002E0F3F1FF901E751FA4E208127FD19C077 -:10C6100088818F5F88832CE02C9DC0012D9D900D1B -:10C6200011242881AC01420F511D27FD5A952091FC -:10C63000551630E042175307BCF428812C3044F1E2 -:10C6400013C02881820F911D27FD9A95FC01EE0FE2 -:10C65000FF1F8E0F9F1FFC01E751FA4E808160E0A3 -:10C660008F770F94793ED4CFF80180819181049621 -:10C6700080349C4918F480E49CE904C0F80180816E -:10C6800091810496F701918380838FEF888345C061 -:10C69000F801408151812881BC01620F711D27FD85 -:10C6A0007A959B01FB01EE0FFF1F2E0F3F1FF90133 -:10C6B000E751FA4E21813281240F351FF701318372 -:10C6C00020832881AC01420F511D27FD5A959A0104 -:10C6D000FA01EE0FFF1F2E0F3F1FF901E751FA4E2F -:10C6E000208127FF1AC02881820F911D27FD9A956E -:10C6F000FC01EE0FFF1F8E0F9F1FFC01E751FA4E4A -:10C70000808161E08F77DF91CF911F910F91FF9032 -:10C71000EF90DF90CF900D94793EDF91CF911F91F4 -:10C720000F91FF90EF90DF90CF900895129A0895A7 -:10C73000FF920F931F93CF93DF931F92CDB7DEB776 -:10C74000F82E09E81FE241E050E0B801CE01019661 -:10C750000F940C5A89818F1102C081E007C00F5FCE -:10C760001F4F8FE2023A180771F780E00F90DF91B8 -:10C77000CF911F910F91FF90089580915902909150 -:10C780005A02A0915B02B0915C028093D413909303 -:10C79000D513A093D613B093D713089580910F09A2 -:10C7A000811107C00F94CE1D882319F081E080937A -:10C7B0000F090895E1E7FCE0108211820895DC0181 -:10C7C000EC91F0E0CF01880F991FE80FF91FE751B6 -:10C7D000FA4E80818F77808308958F929F92AF92D7 -:10C7E000BF92CF92DF92EF92FF920F93CF93DF939E -:10C7F0001F92CDB7DEB75C016B017A014901F501EB -:10C80000808191810F9402618983002311F0F601E8 -:10C810008083BE016F5F7F4FC4010F947D32F501AD -:10C8200080819181019691838083FFEFCF1ADF0A87 -:10C8300081E0E81AF10819F780E00F90DF91CF91BD -:10C840000F91FF90EF90DF90CF90BF90AF909F90AF -:10C850008F9008957F928F929F92AF92BF92CF92C6 -:10C86000DF92EF92FF920F931F93CF93DF931F926C -:10C87000CDB7DEB77C0159018B016B01C40ED51E0B -:10C880000C151D0559F1F70180809180F801719018 -:10C890008F017982C4010F940261781691F0672D9F -:10C8A000C4010F940A61C4010F9402619981891730 -:10C8B00041F00F94CB4A8FE69FE20F944B4A81E000 -:10C8C0000EC0BE016F5F7F4FC5010F947D32F7012F -:10C8D00080819181019691838083D2CF80E00F90F7 -:10C8E000DF91CF911F910F91FF90EF90DF90CF904C -:10C8F000BF90AF909F908F907F900895009781F4A4 -:10C900001092900082E08093910010929500109216 -:10C910009400C19A809171008260809371000895A3 -:10C920008130910569F41092A00082E08093A1000B -:10C930001092A5001092A40089BB80937200089504 -:10C94000029761F41092200182E0809321011092FD -:10C950002501109224018ABB8093730008957F9271 -:10C960008F929F92AF92BF92CF92DF92EF92FF92FF -:10C970000F931F93CF93DF93FC019081943208F0C3 -:10C98000CEC06B017F01892F90E0FC01EE0FFF1FED -:10C990008E0F9F1FFC01E751FA4E808161E08F7777 -:10C9A0000F94A83EF7011182128280816CE00F94EF -:10C9B0008B61FCE08F9FB001112440E050E09B01AF -:10C9C000240F351FF901EE0FFF1F2E0F3F1FF90136 -:10C9D000E751FA4E908197FD08C04F5F5F4F4C3092 -:10C9E000510569F790E00E947E64F7017080C72DC1 -:10C9F000D0E08E01000F111FF801EC0FFD1FE75171 -:10CA0000FA4E80818068808377FC89C0F0E2CF167F -:10CA1000F2E0DF060CF041C0F701828128E532E048 -:10CA2000281B310987FD3395220F331F220F331F37 -:10CA3000032E000C440B550B818168E870E04B011C -:10CA4000881A910887FD9394880C991C880C991C6E -:10CA5000092C000CAA08BB08D7FC0BC0B601653B2B -:10CA6000710514F064EB70E0072E000C880B990B35 -:10CA700003C060E070E0CB01281939094A095B095D -:10CA80000F94186124EB30E040E050E00F944A61CD -:10CA9000820E931EA41EB51E01C04601F3E2F715D7 -:10CAA00058F1F701218188E890E0821B910927FD68 -:10CAB0009395880F991F880F991F8816990684F0FF -:10CAC000F701228188E592E0821B910927FD939569 -:10CAD000880F991F880F991F881699060CF4C401B6 -:10CAE00002972FB7F894C00FD11FC751DA4E880FA5 -:10CAF000991F9A8389832FBF62E370E080E090E002 -:10CB0000DF91CF911F910F91FF90EF90DF90CF9029 -:10CB1000BF90AF909F908F907F900D941C4ADF91B3 -:10CB2000CF911F910F91FF90EF90DF90CF90BF902A -:10CB3000AF909F908F907F9008951F920F920FB6A5 -:10CB40000F9211240BB60F922F933F934F935F9345 -:10CB50006F937F938F939F93AF93BF93EF93FF93C5 -:10CB600048E251E064E271E082E090E00E94CF622E -:10CB7000FF91EF91BF91AF919F918F917F916F91B5 -:10CB80005F914F913F912F910F900BBE0F900FBE71 -:10CB90000F901F9018951F920F920FB60F921124AD -:10CBA0000BB60F922F933F934F935F936F937F93A7 -:10CBB0008F939F93AF93BF93EF93FF9348EA50E017 -:10CBC00064EA70E081E090E00E94CF62FF91EF9113 -:10CBD000BF91AF919F918F917F916F915F914F9195 -:10CBE0003F912F910F900BBE0F900FBE0F901F9093 -:10CBF00018951F920F920FB60F9211240BB60F9239 -:10CC00002F933F934F935F936F937F938F939F9354 -:10CC1000AF93BF93EF93FF9348E950E064E970E06E -:10CC200080E090E00E94CF62FF91EF91BF91AF91C1 -:10CC30009F918F917F916F915F914F913F912F9134 -:10CC40000F900BBE0F900FBE0F901F9018959091F4 -:10CC5000C00095FFFCCF8093C60008958F929F92ED -:10CC6000AF92BF92EF92FF920F931F93CF93DF93F8 -:10CC7000CDB7DEB7A0970FB6F894DEBF0FBECDBF1D -:10CC8000611571058105910591F100E0842E912CCB -:10CC9000A12CB12C102FEE24E394F12CEC0EFD1EF0 -:10CCA000E00EF11C07FDFA94A50194010F94286190 -:10CCB000F7016083B901CA010F5F61157105810534 -:10CCC000910541F71F3F31F1E1E0F0E0EC0FFD1F6E -:10CCD000E10FF11D17FDFA9580818A3010F097E37E -:10CCE00001C090E3890F0E9427661150EBCF80E3CB -:10CCF000A0960FB6F894DEBF0FBECDBFDF91CF91E7 -:10CD00001F910F91FF90EF90BF90AF909F908F90E9 -:10CD10000C942766A0960FB6F894DEBF0FBECDBF69 -:10CD2000DF91CF911F910F91FF90EF90BF90AF9047 -:10CD30009F908F900895CF92DF92EF92FF926B01B8 -:10CD40007C0197FF0BC08DE20E942766F094E0946F -:10CD5000D094C094C11CD11CE11CF11C4AE0C70155 -:10CD6000B601FF90EF90DF90CF900C942E66AB0150 -:10CD7000672B11F40C942766BC01990F880B990B53 -:10CD80004A30510511F40C949B660C942E668F92D8 -:10CD90009F92AF92BF92CF92DF92EF92FF92CF938A -:10CDA0006B017C01B42E20E030E0A9010F94D25A2F -:10CDB00087FF07C08DE20E942766F7FAF094F7F824 -:10CDC000F094C0E060E070E080E09FE3CB1541F0BC -:10CDD0002DEC3CEC4CEC5DE30F94385BCF5FF6CF71 -:10CDE0009B01AC01C701B6010F94C8616B017C01C6 -:10CDF0000F943B634B015C014AE00E942E66CC23FA -:10CE000091F1C501B4010F94D75A9B01AC01C70140 -:10CE1000B6010F94C7616B017C018EE20E94276608 -:10CE200020E030E040E251E4C701B6010F94385BE6 -:10CE30004B015C010F9434636B017C016AE070E08C -:10CE4000C6010E94B766B601DD0C880B990B0F94E2 -:10CE5000D95A9B01AC01C501B4010F94C7616B01A4 -:10CE60007C01C150E9F6CF91FF90EF90DF90CF9019 -:10CE7000BF90AF909F908F9008950C94C7668DE0FF -:10CE80000E9427668AE00C942766CF93DF93EC011B -:10CE90008991882319F00E942766FACFDF91CF91FC -:10CEA0000C943F67E4E1F9E08081818308958091EB -:10CEB000140990911509981759F0E92FF0E0EC5EEC -:10CEC000F64F82819F5F9F779093150990E00895B8 -:10CED0008FEF9FEF08952F923F924F925F926F9244 -:10CEE0007F928F929F92AF92BF92CF92DF92EF92FA -:10CEF000FF920F931F93CF93DF93CDB7DEB72897A1 -:10CF00000FB6F894DEBF0FBECDBFE82E0E94B6303C -:10CF10000F9406404B015C0180912B1281112FC0B0 -:10CF200080910002882359F18091FE08882339F10D -:10CF300040911009509111096091120970911309E3 -:10CF400095018401041B150B260B370B37FD2AC0F6 -:10CF5000833079F03CF4813094F00F94CB4A81ED2A -:10CF60009FE20BC0843059F40F94CB4A82EA9FE2CF -:10CF700004C00F94CB4A8AEB9FE20F944B4A209156 -:10CF8000000230E0A8EEB3E00F947C61860E971E9D -:10CF9000A81EB91E8092100990921109A092120940 -:10CFA000B092130980916802882319F180911A0ABE -:10CFB00081111FC080916C1882FD08C08091F91208 -:10CFC000813021F08091DE0B882399F0F8946499E8 -:10CFD0001EC66091D4137091D5138091D613909191 -:10CFE000D713789420E030E0A9010F94D25A87FD3E -:10CFF0009EC58091DB0B843008F07FC20F94064001 -:10D000004B015C018091DB0B81111DC080911409E3 -:10D0100090911509891B8F77B1F48091FB0990914C -:10D02000FC09A091FD09B091FE09A5019401281BFE -:10D03000390B4A0B5B0BDA01C901885E9340A109E9 -:10D04000B109B7FFF5C570E6F72E8091DB0B843090 -:10D0500008F036C18091140990911509891B8F77CA -:10D0600009F42EC10E945767AC0197FDEECF2091C5 -:10D070002E1230912F128A3019F08D3009F0E8C04D -:10D080001092FA092115310519F40F94D940DDCF1A -:10D09000F901E656F64F108210922F1210922E12BE -:10D0A0000AE919E0F8018191803211F48F01FACF79 -:10D0B0008E3409F07AC00115110509F476C063E5D4 -:10D0C00071E3C8010F94505A6C01892B41F06EE452 -:10D0D00070E0C80104960F946E66009709F4C801C9 -:10D0E0004AE050E060E070E001960F94C85760930A -:10D0F00096097093970980939809909399094090A5 -:10D1000030125090311260903212709033123FEF13 -:10D11000431A530A630A730A641575058605970551 -:10D1200031F0CD2821F460E080E291E3C7C06AE2EB -:10D1300070E0C8010F949D669C01009709F1982F3B -:10D14000901BD12C992339F09150F801E90FF11D72 -:10D150008081D826F7CF4AE050E060E070E0C90156 -:10D1600001960F94C8574D2C512C612C712C6415CD -:10D1700075058605970541F060E081E091E39EC06A -:10D1800060E087ED90E39AC08091960990919709AD -:10D19000A0919809B091990980933012909331121F -:10D1A000A0933212B093331212C080916C1880FF9A -:10D1B0000EC06FEC72E3C8010F94505A009709F447 -:10D1C0007AC0FC01838180538A3008F474C0809156 -:10D1D0007D0281111CC067E470E0C8010F946E6687 -:10D1E0000097A9F04AE050E060E070E001960F94EB -:10D1F000C857643071058105910548F486E390E3D2 -:10D200000F944B4A60E08CE290E30F947B0880928D -:10D21000FB099092FC09A092FD09B092FE09809151 -:10D220009A098B3309F411CF8091DB0B843008F01D -:10D230000CCF8091570AF89EC00111246AE979E069 -:10D24000865A954F0F94796681E00F94E01EFDCECB -:10D250002F3531050CF0F9CE8C35C1F40E9457679B -:10D2600097FDF3CE2091FA092111EFCE20912E12D5 -:10D2700030912F12A9014F5F5F4F50932F124093AF -:10D280002E12F901E656F64F8083DFCE8B3321F460 -:10D2900081E08093FA09D9CE8091FA098111D5CE27 -:10D2A000C901019690932F1280932E12F901E65630 -:10D2B000F64F4083CACE60E08DEA90E30E946EA4F0 -:10D2C00080916C1882FF19C18091DB0B811102C023 -:10D2D0001092000ADD24D394409168185091691887 -:10D2E00060916A1870916B1880916418909165181C -:10D2F000A0916618B0916718481759076A077B070D -:10D3000008F4D12C00E010E0CC24C39440E6B42E05 -:10D3100054E6A52E69E6962E8091DB0B843008F04A -:10D32000ECC0D110EAC08091000A8111E6C0809162 -:10D330007D1590917E15A0917F15B09180158093F9 -:10D34000681890936918A0936A18B0936B1841E01D -:10D3500050E0BE016F5F7F4F85E795E10E945EB7A9 -:10D36000019719F4898190E002C08FEF9FEFF82EAA -:10D37000409068185090691860906A1870906B1807 -:10D380004091641850916518609166187091671803 -:10D39000DD24D394441655066606770608F4D12C8E -:10D3A0004416550666067706B0F4019609F461C086 -:10D3B0002AE0F21609F46EC03DE0F31609F46AC0E3 -:10D3C00043E2F41619F05AE3F5127CC08091FF098C -:10D3D000811178C054C00E941AC285E795E10E946D -:10D3E000E5B680916318882339F1815080936318E2 -:10D3F000989EC001112441E061E08D51944F0E943C -:10D40000D174E091631864E0E69FF0011124E152C9 -:10D41000F44F408151816281738140936818509329 -:10D42000691860936A1870936B1885E795E10E94FC -:10D4300079B30E94867116C00E9475710E94AEC3B6 -:10D440000E9495C00F9420056D33710581059105EB -:10D4500018F48EE591E302C083E691E30E9497A45D -:10D46000A0926C1480916C1882FD0DC086E791E348 -:10D4700004C00F94C74A87E691E30F944B4A73E2C6 -:10D48000F71208C005C053E2F512DFC300E010E058 -:10D49000C092000A1092FF090115110519F40F94AA -:10D4A000D9400DC08091570AB89E000D111D11245E -:10D4B000F801E65AF54F108280E00F94E01E00E07C -:10D4C00010E02ACF0F35110508F026CF8BE3F812B4 -:10D4D00003C0C092FF0920CF8091FF0981111CCFAA -:10D4E0008091570AF801B89EE00DF11D1124E65A0B -:10D4F000F54FF0820F5F1F4F0FCF0F9406404B0187 -:10D500005C014091F8085091F9086091FA08709117 -:10D51000FB08411551056105710529F18091CE1473 -:10D520009091CF14A091D014B091D114840F951F75 -:10D53000A61FB71F95018401081B190B2A0B3B0B73 -:10D5400037FD11C00F94C74A6091D3187091D41859 -:10D550008AE891E30F94B44A8AE00E94276680E04B -:10D5600090E00F948C33409101025091020260913F -:10D57000030270910402411551056105710509F41A -:10D580004EC090915C1680915D16981759F00F94DB -:10D5900006406093CE147093CF148093D014909370 -:10D5A000D1143DC08091DE0B811137C0E11035C030 -:10D5B0008091CE149091CF14A091D014B091D11439 -:10D5C000840F951FA61FB71FA5019401281B390BB7 -:10D5D0004A0B5B0B57FD21C08091110A81111FC0BE -:10D5E00081E08093110A5F9A8091D6148E7F809398 -:10D5F000D6148A9A8091D6148D7F8093D614809108 -:10D60000080180958170809306018091D6148B7FEC -:10D610008093D6140E94966302C01092110A8091E2 -:10D620000D0A90910E0AA0910F0AB091100AB5014F -:10D63000A401481B590B6A0B7B0B77FDBCC12091E1 -:10D640005C1690915D16809161021091620229131F -:10D6500017C06091710C869FB0011124660F672F6F -:10D66000661F770B7195062F8091720C819FB00118 -:10D670001124660F672F661F770B7195162F29C02F -:10D6800020915D1653E5259F900111242156334FBB -:10D69000F901EF5AFF4F6081869FB0011124660F98 -:10D6A000672F661F770B7195062F31968081819FBA -:10D6B000B0011124660F672F661F770B7195162F27 -:10D6C00080915D1690915C16981719F08F5F8F709E -:10D6D000F9CF002331F10F940640C090050AD09095 -:10D6E000060AE090070AF090080ADC01CB01C11499 -:10D6F000D104E104F10469F48C599F4FAF4FBF4F3F -:10D700008093050A9093060AA093070AB093080A2B -:10D7100006C08C199D09AE09BF09B7FF0AC00FEFFB -:10D7200008C01092050A1092060A1092070A109279 -:10D73000080A602F70E089E00F94E43E112331F174 -:10D740000F940640C090090AD0900A0AE0900B0A94 -:10D75000F0900C0ADC01CB01C114D104E104F10406 -:10D7600069F48C599F4FAF4FBF4F8093090A909334 -:10D770000A0AA0930B0AB0930C0A06C08C199D09E3 -:10D78000AE09BF09B7FF0AC01FEF08C01092090A0F -:10D7900010920A0A10920B0A10920C0A612F70E084 -:10D7A00087E00F94E43E8091C213882309F4F6C009 -:10D7B000E0904C02F0904D0200914E0210914F0209 -:10D7C00060918C0C70918D0C6E5F7F4F072E000C5A -:10D7D000880B990B0F94D95A9701A8010F94D25A2C -:10D7E00087FDDCC030905D16212C1A821B821C82C2 -:10D7F00080915C16831509F467C0832D90E063E582 -:10D80000689FF001699FF00D1124E156F34F45899F -:10D8100056896789708D452B462B472B89F4418D9E -:10D82000528D638D748D452B462B472B49F4458DC6 -:10D83000568D678D70A1452B462B472B09F43FC0B1 -:10D8400073E5789F9001799F300D1124C9018156AD -:10D85000934F6C01FC0161817281838194810F94EB -:10D86000C6642B013C01F60161A172A183A194A1C0 -:10D870000F94D75A6D837E838F839887F60165A1B5 -:10D8800076A187A190A50F94D75A9B01AC016D8119 -:10D890007E818F8198850F94C262A30192010F94BB -:10D8A000385B3B016C01222D3A814B815C810F94E6 -:10D8B0002864181624F4262C7A82CB82DC8281E03C -:10D8C000830D8F70382E94CF2091500230915102E9 -:10D8D0004091520250915302622D7A818B819C813A -:10D8E0000F94385B9701A8010F94C8613B016C014C -:10D8F000209048023090490240904A0250904B02DA -:10D900009B01AC01B701C8010F94286418166CF094 -:10D910009101A201B301C6010F94286418161CF4EA -:10D920007101820102C0730186014090010A50908A -:10D93000020A6090030A7090040A9701A801C301CB -:10D94000B2010F9428641816C4F420E037ED43EABE -:10D950005CE3B701C8010F94385B6B017C0128E4DC -:10D9600031EE4AE75FE3C301B2010F94385BA701D0 -:10D9700096010F94C8617B018C01C701D801809387 -:10D98000010A9093020AA093030AB093040AB70114 -:10D99000C8010F943463CB010E94D7BBF4E68F0E0D -:10D9A000911CA11CB11C80920D0A90920E0AA092AB -:10D9B0000F0AB092100A0F94D9408091F912813069 -:10D9C00009F06EC00F9406406B017C018091160A2D -:10D9D0009091170AA091180AB091190A970186012F -:10D9E000081B190B2A0B3B0B37FD3AC08090FA122B -:10D9F0009090FB12A090FC12B090FD120F942005A5 -:10DA00006093FA127093FB128093FC129093FD12B4 -:10DA100000913B0A10913C0A20913D0A30913E0A48 -:10DA2000081919092A093B09DC01CB01800F911F54 -:10DA3000A21FB31F80933B0A90933C0AA0933D0A18 -:10DA4000B0933E0AD701C601805F984DAF4FBF4FDC -:10DA50008093160A9093170AA093180AB093190A94 -:10DA60008091120A9091130AA091140AB091150A9C -:10DA7000A7019601281B390B4A0B5B0B57FD10C001 -:10DA800030E8C30E3EEED31EE11CF11CC092120A18 -:10DA9000D092130AE092140AF092150A0E946FC005 -:10DAA00080912B128111F2C08091F308882391F0AC -:10DAB0000F9406400091EF081091F0082091F108B2 -:10DAC0003091F208DC01CB01801B910BA20BB30B50 -:10DAD000B7FFBEC00F9406406B017C012091EE0899 -:10DAE000222309F4D3C08091EA089091EB08A09119 -:10DAF000EC08B091ED08B701A601481B590B6A0B61 -:10DB00007B0B77FDC3C030E0A8EEB3E00F947C61DF -:10DB1000C60ED71EE81EF91EC092EA08D092EB0886 -:10DB2000E092EC08F092ED080E944E71AFC011E057 -:10DB300010931A0A8091DE0B811166C08FE296E085 -:10DB40000E94456784E08093F31282E08093CA08C4 -:10DB500081E09AE59093F1168093F0168EE490E0C0 -:10DB60009093F3168093F21687E08093E41682E890 -:10DB70008093E71684E890E0A0E0B0E08093E81698 -:10DB80009093E916A093EA16B093EB160F94E63241 -:10DB9000109381140F94130A40E06BE170E389ED58 -:10DBA00096E50F941F0A80E30E9427668AE00E9490 -:10DBB00027660F94070A8091FC0860E0182719F087 -:10DBC00089EB95E50DC089E090E30F94EF0980E3C0 -:10DBD0000E9427668AE00E94276660E083EE9FE24B -:10DBE0000F94EF0987EF9FE20F944B4A80E30E9466 -:10DBF00027668AE00E942766112331F089EE9FE2B2 -:10DC00009093590A8093580A0E941AC2F2C98091CF -:10DC1000590290915A02A0915B02B0915C028093EC -:10DC2000D4139093D513A093D613B093D713D1C91F -:10DC300088E591E30F944B4A8092FB099092FC098E -:10DC4000A092FD09B092FE09FEC91092FF0927CCEF -:10DC50000F9406406B017C012091F30830E0A8EEA0 -:10DC6000B3E00F947C61C60ED71EE81EF91EC09269 -:10DC7000EF08D092F008E092F108F092F20880E00C -:10DC80000E94FCEC8AE00E94276624CF28960FB6FB -:10DC9000F894DEBF0FBECDBFDF91CF911F910F91E2 -:10DCA000FF90EF90DF90CF90BF90AF909F908F90BC -:10DCB0007F906F905F904F903F902F9008951F92AC -:10DCC0000F920FB60F9211240F900FBE0F901F905E -:10DCD00018951F920F920FB60F9211240BB60F9248 -:10DCE0000F931F932F933F934F935F936F937F9364 -:10DCF0008F939F93AF93BF93CF93DF93EF93FF9354 -:10DD000000911509D091140911E01D0F1F77C091E2 -:10DD1000C60090910B09492F092E000C550B660B7C -:10DD2000770B4131510508F064C0FA018827E256AB -:10DD3000FF4F8F4F0D94BF61CD3449F0CE34B9F40D -:10DD400081E006C0CA3338F0CD3409F043C082E028 -:10DD500080930B0976C0C03308F073C0C03209F459 -:10DD600070C0CD32B9F56DC0C13351F018F4C03276 -:10DD700089F567C0C43331F0C83361F58BE0E8CF73 -:10DD800083E0E6CF88E0E4CFC03321F0C13311F562 -:10DD900086E0DECF84E0DCCFC833E1F485E0D8CF85 -:10DDA000C233C1F487E0D4CFC133A1F489E0D0CF2E -:10DDB000C03381F48AE0CCCFC73361F48CE0C8CFA4 -:10DDC000C63341F48DE0C4CFC032D9F1C33511F46C -:10DDD0008EE0BECF80E1BCCF80ED8C0F8A3088F51D -:10DDE0009FE090930B0980930A092BC0CA3049F534 -:10DDF00026C0CA3031F580915217882301F197303F -:10DE000089F03CF49530D9F41092140210926B14FE -:10DE100016C09A3059F09F3091F480910A090F94FE -:10DE20004B0A0DC081E08093FE1809C00E9404C413 -:10DE30000E941AC28EEF0E9418C60E9486C61092D7 -:10DE40000B09011731F0ED2FF0E0EC5EF64FC283C5 -:10DE5000D12FD0931409FF91EF91DF91CF91BF9112 -:10DE6000AF919F918F917F916F915F914F913F9172 -:10DE70002F911F910F910F900BBE0F900FBE0F901F -:10DE80001F9018958EBD0DB407FEFDCF08958FEF3E -:10DE90008EBD0DB407FEFDCF8EB508959091640040 -:10DEA0009B7F90936400982F906A96959CBD80FD0F -:10DEB00003C091E0863009F490E09DBD0895CF92B3 -:10DEC000DF92EF92FF920F931F93CF93DF936C013A -:10DED0007A018B01C0E0D0E0CE15DF0581F0D801DA -:10DEE0006D918D01D601ED91FC910190F081E02DB5 -:10DEF000C6011995892B11F02196EECF7E01C7013D -:10DF0000DF91CF911F910F91FF90EF90DF90CF9015 -:10DF10000895089580E090E00895FC01538D448DAC -:10DF2000252F30E0842F90E0821B930B541710F0C4 -:10DF3000CF96089501970895FC01918D828D9817D1 -:10DF400061F0828DDF01A80FB11D5D968C91928DDD -:10DF50009F5F9F73928F90E008958FEF9FEF0895DA -:10DF6000FC01918D828D981731F0828DE80FF11DA3 -:10DF7000858D90E008958FEF9FEF0895FC01918DBE -:10DF8000228D892F90E0805C9F4F821B91098F73B7 -:10DF90009927089588ED94E10E94BE6F21E0892BB6 -:10DFA00009F420E0822F0895FC01848DDF01A80F81 -:10DFB000B11DA35ABF4F2C91848D90E001968F73B1 -:10DFC0009927848FA689B7892C93A089B1898C91D0 -:10DFD000837080648C93938D848D981306C002881F -:10DFE000F389E02D80818F7D80830895EF92FF92E9 -:10DFF0000F931F93CF93DF93EC0181E0888F9B8D6C -:10E000008C8D981305C0E889F989808185FD26C02B -:10E01000F62E0B8D10E00F5F1F4F0F731127E02EB0 -:10E020008C8DE8120CC00FB607FCFACFE889F9898D -:10E03000808185FFF5CFCE010E94D46FF1CF8B8D0B -:10E04000FE01E80FF11DE35AFF4FF0829FB7F894ED -:10E050000B8FEA89FB89808180620AC09FB7F894A0 -:10E06000EE89FF896083E889F98980818370806403 -:10E0700080839FBF81E090E0DF91CF911F910F914E -:10E08000FF90EF900895CF93DF93EC01888D882364 -:10E09000C9F0EA89FB89808185FD05C0A889B98915 -:10E0A0008C9186FD0FC00FB607FCF5CF808185FFF0 -:10E0B000F2CFA889B9898C9185FFEDCFCE010E945E -:10E0C000D46FE7CFDF91CF91089580E090E0892B66 -:10E0D00041F080E090E0892B21F00E940000811146 -:10E0E00021C080E090E0892B41F080E090E0892B16 -:10E0F00021F00E940000811118C080E090E0892B7F -:10E1000021F00E94CA6F811113C080E090E0892B3A -:10E11000A1F080E090E0892B81F00E940000811145 -:10E120000AC008950E940000DCCF0E940000E5CFE5 -:10E130000E940000EACF0C9400000895FC0120E04A -:10E140003EE2DB014C91403241F0283011F4308343 -:10E150003196DB014C91408331962F5F6F5F7F4F8B -:10E160002B3079F7108208950F942D660F931F932B -:10E17000CF93DF938B01EA01DB016D917C910E94CB -:10E180007FB4D801ED91FC911197908188819923FA -:10E1900049F0893638F43196ED93FC9388818F5F8E -:10E1A0008883EFCF893658F48FE28083F80180812D -:10E1B000918101969183808388818F5F8883DF912D -:10E1C000CF911F910F9108951F920F920FB60F924A -:10E1D00011240BB60F922F933F934F935F936F933E -:10E1E0007F938F939F93AF93BF93EF93FF9388EDAC -:10E1F00094E10E94D46FFF91EF91BF91AF919F91F5 -:10E200008F917F916F915F914F913F912F910F90DF -:10E210000BBE0F900FBE0F901F9018951F920F927C -:10E220000FB60F9211240BB60F922F938F939F93DB -:10E23000EF93FF93E091E814F091E9148081E0916D -:10E24000EE14F091EF1482FD12C090818091F114D0 -:10E250008F5F8F732091F214821751F0E091F114C7 -:10E26000F0E0E852FB4E958F8093F11401C080815D -:10E27000FF91EF919F918F912F910F900BBE0F9077 -:10E280000FBE0F901F9018958BE1EEECF5E1A3EB1C -:10E29000B5E101900D928A95E1F7089580916C188F -:10E2A00082FF1FC08FE494E30F944B4A609168187B -:10E2B0007091691880916A1890916B184AE00E94D9 -:10E2C0002E668FE20E94276660916418709165182F -:10E2D00080916618909167184AE00E942E660C940F -:10E2E0003F6781E694E30D944B4A1092DE0B8091D8 -:10E2F0006C188F7D8B7F80936C180E94F1A388230C -:10E3000021F085E795E10C94E5B6089580916C18AD -:10E3100083FF03C0846080936C180895CF92DF92CE -:10E32000EF92FF920F931F93CF93DF93CDB7DEB79A -:10E33000EDB6FEB6DC010D900020E9F79D01281B2B -:10E34000390B2C5F3F4F4DB75EB7421B530B0FB6D7 -:10E35000F8945EBF0FBE4DBF0DB71EB70F5F1F4FC6 -:10E360009F938F938BE493E39F938F931F930F93CC -:10E370000F946A5A680154E0C50ED11C0F900F909B -:10E380000F900F900F900F90F6018081882349F035 -:10E39000082E000C990B0F943266F60181936F01E1 -:10E3A000F3CFC8010F94F51E87E493E30E9497A46E -:10E3B0000FB6F894FEBE0FBEEDBEDF91CF911F9158 -:10E3C0000F91FF90EF90DF90CF9008958F929F92E2 -:10E3D000AF92BF92CF92DF92EF92FF92CF93809154 -:10E3E0006C18877F80936C188091D115882321F059 -:10E3F0008EEC95E10E94E5B61092B2151092AF1521 -:10E4000085E38093AE150F9406406B017C0120EDEF -:10E41000C20E27E0D21EE11CF11CA89561E080919C -:10E42000AE150F94793E61E08091AE150F94A83E31 -:10E43000209A289A219A2398229A81E00E944E6F6E -:10E4400085E08093B0150E944E6FCAE08FEF0E9466 -:10E45000426FC150D9F7A89520E030E0A90160E0F3 -:10E460008EEA95E10E94C5B58093B115813061F0C7 -:10E470000F940640DC01CB018C199D09AE09BF0940 -:10E48000B7FDEACF81E062C0A8952AEA31E040E01A -:10E4900050E068E08EEA95E10E94C5B5853011F440 -:10E4A00081E00AC0C4E00E94476F8093B115C1505B -:10E4B000D1F78A3A61F482E08093B215A8958091F1 -:10E4C000B215823081F0812C912C540111C00F942F -:10E4D0000640DC01CB018C199D09AE09BF09B7FDCF -:10E4E000D4CF82E033C0812C912CA12C80E4B82EB3 -:10E4F00020E030E0A90167E38EEA95E10E94C5B50E -:10E50000A501940169E28EEA95E10E94C5B5809368 -:10E51000B115882361F00F940640DC01CB018C1902 -:10E520009D09AE09BF09B7FDE3CF8AE00FC0809116 -:10E53000B215823021F520E030E0A9016AE38EEACD -:10E5400095E10E94C5B5882361F088E08093AF15FE -:10E550008EEA95E10E94BDB50F94CB4A89E393E31F -:10E5600022C00E94476F807C803C19F483E0809336 -:10E57000B2150E94476F0E94476F0E94476F8EEA54 -:10E5800095E10E94BDB51092B01581E00F9445470A -:10E5900081110CC080E00F944547811107C00F9492 -:10E5A000C74A85E293E30F944B4A1AC060E975E1CC -:10E5B0008EEC95E10E9410B4811105C00F94C74AFA -:10E5C00084E193E3F0CF80916C18886080936C189D -:10E5D0000F94CB4A88E093E30F944B4A0E94CE639A -:10E5E000CF91FF90EF90DF90CF90BF90AF909F9032 -:10E5F0008F900C9444712F923F925F926F927F9212 -:10E600008F929F92AF92BF92CF92DF92EF92FF9242 -:10E610000F931F93CF93DF93CDB7DEB7C356D109C6 -:10E620000FB6F894DEBF0FBECDBF8C016B014A015F -:10E630002DB63EB6512C7E0187E5E80EF11CF601A1 -:10E640008381823008F41FC180859185A285B385BE -:10E650008F719927AA27BB27892B8A2B8B2B09F02F -:10E6600012C110923E1B4EE35BE1BE016F5F7F4F14 -:10E67000C6010E947AB818160CF005C18C85982F37 -:10E680009871903129F420914C0C2150223078F46B -:10E690002981222309F4F7C0253E89F22E3279F22E -:10E6A00020913E1B2E3259F28A7049F67CC06DB61D -:10E6B0007EB6BE016F5F7F4FC7010E949E7001153D -:10E6C000110521F0F8018081811163C021E081E012 -:10E6D00090E0F70101900020E9F73197EE19FF096A -:10E6E000E80FF91F32968DB79EB78E1B9F0B0FB6A2 -:10E6F000F8949EBF0FBE8DBFEDB7FEB731965F0198 -:10E70000211102C0B80102C06BE876E0C5010F9488 -:10E710007966B701C5010F9463666BE876E0C501C1 -:10E720000F94636619A21CA221E0A701B601CE01D5 -:10E7300081960E94D1BA81110DC080914C0C81113B -:10E7400009C00F94CB4A84EF92E30F944B4AC70160 -:10E750000E9445678BE1FE01B196DE01DC960190D7 -:10E760000D928A95E1F740E050E0BE01645C7F4F76 -:10E77000C5010E94FB72CE01CC960E94EEB6CE017E -:10E7800081960E94EEB60FB6F8947EBE0FBE6DBEA7 -:10E7900056CFF80101900020E9F73197CF01801B97 -:10E7A000910B20E096CF21E0903109F020E080919C -:10E7B0006C1820FB84F980936C18903141F08985A6 -:10E7C000873409F03CCF8A858E3709F438CF8091A1 -:10E7D0004C0C813021F068F08230C1F130CF809153 -:10E7E0004F0C9091500C01969093500C80934F0CCD -:10E7F00026CFBE016F5F7F4F80E89BE10E949E7035 -:10E800000115110529F480E8A82E8BE1B82E09C066 -:10E810005801F50181915F018823A9F30E942766C1 -:10E82000F8CFF50181915F01882319F00E942766D6 -:10E83000F8CF80E20E9427666D8D7E8D8F8D98A126 -:10E840004AE00E942E660E943F67F9CEBE016F5FCC -:10E850007F4F80E89BE10E949E708114910441F0FB -:10E8600060E87BE1C4010F945066892B51F40BC022 -:10E87000852D90E020914D0C30914E0C821793071E -:10E8800011F05394DCCE0FB6F8943EBE0FBE2DBEF1 -:10E89000CD59DF4F0FB6F894DEBF0FBECDBFDF916D -:10E8A000CF911F910F91FF90EF90DF90CF90BF908D -:10E8B000AF909F908F907F906F905F903F902F9040 -:10E8C0000895CF93DF93CDB7DEB76B970FB6F8946B -:10E8D000DEBF0FBECDBF81E080934C0C1092500C78 -:10E8E00010924F0C83EB95E10E94B8B58BE1E3EBFE -:10E8F000F5E1DE01119601900D928A95E1F740E075 -:10E9000050E0BE016F5F7F4F80E090E00E94FB729D -:10E91000CE0101960E94EEB680914F0C9091500C62 -:10E920006B960FB6F894DEBF0FBECDBFDF91CF91CF -:10E9300008950F931F93CF93DF93CDB7DEB76B97F7 -:10E940000FB6F894DEBF0FBECDBF8B0122E020933F -:10E950004C0C90934E0C80934D0C83EB95E10E94F0 -:10E96000B8B58BE1E3EBF5E1DE01119601900D9274 -:10E970008A95E1F7A801BE016F5F7F4F80E090E0CC -:10E980000E94FB72CE0101960E94EEB66B960FB606 -:10E99000F894DEBF0FBECDBFDF91CF911F910F91D5 -:10E9A0000895DF92EF92FF920F931F93CF93DF931F -:10E9B00000D01F92CDB7DEB720916C1823FF3DC168 -:10E9C000F42EE62E8C010E94F1A3882309F481C065 -:10E9D000FF2009F48CC080916318882351F00F94B4 -:10E9E000C74A8AE094E30F944B4A80E090E00F948A -:10E9F0008C3384EE9BE09A8389838FE28093E30BD0 -:10EA000081E08B83F12C9BE1D92E80916218F8165E -:10EA100078F4DF9CC0011124AE014D5F5F4FBE0151 -:10EA20006F5F7F4F8C5A984E0E94B670F394EDCF73 -:10EA30008B818B3578F4AE014D5F5F4FBE016F5F08 -:10EA40007F4F85E795E10E94B67089819A81019791 -:10EA50009A838983E981FA811082E091631884E0C6 -:10EA6000E89FF0011124E152F44F809168189091D1 -:10EA70006918A0916A18B0916B1880839183A28362 -:10EA8000B3830F94CB4AB80181EF93E30F94B44A58 -:10EA90006091631889E6689FB00111246D51744F2D -:10EAA00086EE93E30F94B44A409168185091691828 -:10EAB00060916A1870916B1880EE93E30F94794A15 -:10EAC0008AE00E942766809163188F5F80936318A5 -:10EAD00026C0FF2039F00F94CB4A80ED93E30F94CA -:10EAE0004B4A1DC01092631882E0F82E02C0FF242A -:10EAF000F3940F94CB4A8BEC93E30F944B4A81E051 -:10EB0000F81609F497C087EB93E30F944B4AB801CA -:10EB100083EC93E30F94B44A8AE00E9427660E9434 -:10EB20007571B801CE0103960F94F3348C010097F0 -:10EB300009F483C06B817C81EE2009F450C021E090 -:10EB4000AC0185E795E10E94D1BA882309F43FC062 -:10EB50008091861590918715A0918815B09189159F -:10EB60008093641890936518A0936618B093671803 -:10EB7000109268181092691810926A1810926B1807 -:10EB8000B80189EA93E30F94B44A40916418509114 -:10EB90006518609166187091671881EA93E30F9485 -:10EBA000794A8AE00E94276682E993E30F944B4AF0 -:10EBB000B80180E090E00E94997480913E1B811121 -:10EBC00002C0C80102C08EE39BE160E030C0B80122 -:10EBD0008EE793E30F94B44A8BE793E30FC026E5E7 -:10EBE000AC0185E795E10E94D1BA81110AC0B80154 -:10EBF00087E693E30F94B44A84E693E30F944B4A79 -:10EC00001CC080916C18816080936C18B80180E002 -:10EC100090E00E94997410925217B80182E593E334 -:10EC20000F94B44A8AE00E94276660E0C8010F94FE -:10EC3000F30803C08DEB93E368CF0F900F900F9014 -:10EC40000F90DF91CF911F910F91FF90EF90DF9088 -:10EC50000895CF92DF92EF92FF92CF936B017C01E8 -:10EC6000C42F8091331B9091341BA091351BB09120 -:10EC7000361B8C159D05AE05BF05D1F00E9472B6FE -:10EC8000811102C080E018C023E339E1B701A60179 -:10EC900080913C1B90913D1B0E94F4B6882391F318 -:10ECA000C092331BD092341BE092351BF092361B7E -:10ECB00081E0C11180933B1BCF91FF90EF90DF90DB -:10ECC000CF9008954F925F926F927F928F929F9212 -:10ECD000AF92BF92CF92DF92EF92FF920F931F936A -:10ECE000CF93DF93EC01423051056105710510F4BB -:10ECF00080E069C089859A85AB85BC850196A11D98 -:10ED0000B11D84179507A607B70790F38F89803147 -:10ED100049F4852E962EA72EBB248B899C89AD891C -:10ED2000BE890FC0803221F78B889C88AD88BE8851 -:10ED3000DB01CA01E7E0B695A79597958795EA9517 -:10ED4000D1F7880E991EAA1EBB1E280139016A013F -:10ED50007B0141E0C501B4010E942976882341F27C -:10ED60009F89903161F4DD24EE24FF249601220F67 -:10ED7000331FF901ED5CF64E5182408211C0E894D8 -:10ED8000C7F8DD24EE24FF249601220F331F220F43 -:10ED9000331FF901ED5CF64E40825182628273822C -:10EDA0009A89923080F04D815E816F817885840EE2 -:10EDB000951EA61EB71E8092371B9092381BA092FC -:10EDC000391BB0923A1BDF91CF911F910F91FF90A9 -:10EDD000EF90DF90CF90BF90AF909F908F907F90FB -:10EDE0006F905F904F900895CF92DF92EF92FF92D5 -:10EDF0000F931F93CF93DF93FC0181859285A385A9 -:10EE0000B4850196A11DB11D84179507A607B70704 -:10EE100010F480E061C08789803149F4BB27A72FB7 -:10EE2000962F852FC388D488E588F6880FC0803256 -:10EE300081F783899489A589B6896A017B01C7E036 -:10EE4000F694E794D794C794CA95D1F78C0D9D1D7D -:10EE5000AE1DBF1DE9016A017B018F014091331B8B -:10EE60005091341B6091351B7091361B84179507A8 -:10EE7000A607B70739F040E0BC01CD010E94297612 -:10EE8000882339F2F8018789803179F4B701A60126 -:10EE9000552766277727440F551FFA01ED5CF64E7C -:10EEA00080819181A0E0B0E012C0B701A6014F7748 -:10EEB000552766277727440F551F440F551FFA0122 -:10EEC000ED5CF64E80819181A281B381BF70888311 -:10EED0009983AA83BB8381E0DF91CF911F910F912A -:10EEE000FF90EF90DF90CF9008954F925F926F92D6 -:10EEF0007F92AF92BF92CF92DF92EF92FF920F93E9 -:10EF00001F93CF93DF9300D01F92CDB7DEB78C0154 -:10EF100049835A836B837C835901C12CD12C7601A0 -:10EF2000412C82E0582E612C712C49815A816B81D1 -:10EF30007C819E012F5F3F4FC8010E94F476882399 -:10EF400041F1D301C201F801058404C0880F991F63 -:10EF5000AA1FBB1F0A94D2F7C80ED91EEA1EFB1EB9 -:10EF600049815A816B817C818789803139F481E0C4 -:10EF7000483F5F4F6105710538F4D7CF81E0483FC6 -:10EF80005F4F6F4F7F4088F2F501C082D182E282ED -:10EF9000F3820F900F900F900F90DF91CF911F9100 -:10EFA0000F91FF90EF90DF90CF90BF90AF907F9048 -:10EFB0006F905F904F9008952F923F924F925F9283 -:10EFC0006F927F928F929F92AF92BF92CF92DF9279 -:10EFD000EF92FF920F931F93CF93DF93CDB7DEB7DE -:10EFE000CD59D1090FB6F894DEBF0FBECDBFE09169 -:10EFF0001812F0911912EF2B11F00C94DC88C55700 -:10F00000DF4FF982E882CB58D040180189017A019C -:10F010006B01FC012081318142815381E3962CAF49 -:10F020003DAF4EAF5FAFE3972091E4113091E51112 -:10F030004091E6115091E711E3966CAD7DAD8EAD38 -:10F040009FADE3970F94385B0F9435642B013C011F -:10F0500065966CAF7DAF8EAF9FAF6597D6018D91F2 -:10F060009D910D90BC91A02DAF968CAF9DAFAEAF92 -:10F07000BFAFAF972091E8113091E9114091EA11AB -:10F080005091EB11BC01CD010F94385B0F943564A6 -:10F090004B015C0169966CAF7DAF8EAF9FAF6997F6 -:10F0A000D7012D913D914D915C91E7962CAF3DAFED -:10F0B0004EAF5FAFE7972091EC113091ED11409189 -:10F0C000EE115091EF11E7966CAD7DAD8EAD9FAD19 -:10F0D000E7970F94385B0F9435646B017C016D9654 -:10F0E0006CAF7DAF8EAF9FAF6D97D8012D913D91E5 -:10F0F0004D915C91A7962CAF3DAF4EAF5FAFA797F8 -:10F100002091F0113091F1114091F2115091F311D1 -:10F11000A7966CAD7DAD8EAD9FADA7970F94385B74 -:10F120000F943564AB966CAF7DAF8EAF9FAFAB974E -:10F13000A1966CAF7DAF8EAF9FAFA197E3962CAD3C -:10F140003DAD4EAD5FADE39725962CAF3DAF4EAFD5 -:10F150005FAF2597AF968CAD9DADAEADBFADAF9710 -:10F1600029968CAF9DAFAEAFBFAF2997E7962CAD78 -:10F170003DAD4EAD5FADE7972D962CAF3DAF4EAF99 -:10F180005FAF2D97A7968CAD9DADAEADBFADA797E8 -:10F1900061968CAF9DAFAEAFBFAF61978091CF113D -:10F1A00083FF1CC0AB962CAD3DAD4EAD5FADAB97B4 -:10F1B00020938E1630938F1640939016509391168D -:10F1C000A7968CAD9DADAEADBFADA79780937E16D3 -:10F1D00090937F16A0938016B0938116D101BC91B5 -:10F1E000C158DF4FB883CF57D040F101F181CD57DF -:10F1F000DF4FF883C358D040D1011296BC91C95754 -:10F20000DF4FB883C758D040F101038180915C166D -:10F2100090915D16891B8F708F3021F480E00E94E1 -:10F220006B67F4CFF0915C16C556DF4FF883CB596E -:10F23000D04080915C16282E312C809182169091BE -:10F240008316A0918416B0918516481A590A6A0A45 -:10F250007B0A8091861690918716A0918816B091AE -:10F260008916881A990AAA0ABB0A80918A1690916F -:10F270008B16A0918C16B0918D16A7019601281BB4 -:10F28000390B4A0B5B0BAF962CAF3DAF4EAF5FAF68 -:10F29000AF9780918E1690918F16A0919016B09195 -:10F2A0009116AB96CCACDDACEEACFFACAB97C81A0C -:10F2B000D90AEA0AFB0AE396CCAEDDAEEEAEFFAEAB -:10F2C000E397CD28CE28CF2809F498C08091830CED -:10F2D000811139C06091880C7091890C80918A0CE1 -:10F2E00090918B0C0F9434632091290230912A0263 -:10F2F0006217730744F5AB96CCACDDACEEACFFAC5B -:10F30000AB97C0928E16D0928F16E0929016F09224 -:10F310009116A796CCACDDACEEACFFACA797C09233 -:10F320007E16D0927F16E0928016F09281160F948E -:10F33000CB4A81E994E30F944B4AE3961CAE1DAE91 -:10F340001EAE1FAEE397E3966CAD7DAD8EAD9FAD67 -:10F35000E3970F94D95A20912502309126024091CB -:10F360002702509128020F94385B6B017C0120E04A -:10F3700030E0A9010F94286487FF04C0F7FAF094E5 -:10F38000F7F8F09420E030E04AEF53E46091F01198 -:10F390007091F1118091F2119091F3110F94385BFB -:10F3A000A70196010F94D25A87FF28C0AB96CCAC28 -:10F3B000DDACEEACFFACAB97C0928E16D0928F1640 -:10F3C000E0929016F0929116A796CCACDDACEEAC24 -:10F3D000FFACA797C0927E16D0927F16E09280165F -:10F3E000F09281160F94CB4A82E794E30F944B4A34 -:10F3F000E3961CAE1DAE1EAE1FAEE397D301C20155 -:10F400008827B7FD83959927AA27BB27182FB7FC14 -:10F410001260AF96CCACDDACEEACFFACAF97F7FCB6 -:10F420001460E396CCACDDACEEACFFACE397F7FC3C -:10F430001860E3966CAD7DAD8EAD9FADE3970F94F4 -:10F44000D95A2091250230912602409127025091ED -:10F4500028020F94385B6B017C0120E030E0A901A9 -:10F460000F94286487FF04C0C701B601905802C0FA -:10F47000C701B60120E030E040E05FE30F94C861CF -:10F480000F943B63EB966CAF7DAF8EAF9FAFEB9766 -:10F4900083E5829DF001839DF00D1124E156F34F29 -:10F4A000108215ABA7964CAE5DAE6EAE7FAEA79741 -:10F4B00077FE0DC022273327A901241935094609F3 -:10F4C0005709A7962CAF3DAF4EAF5FAFA79783E527 -:10F4D000829DF001839DF00D1124E156F34FA79614 -:10F4E0008CAD9DADAEADBFADA797858B968BA78B31 -:10F4F000B08FAB968CAE9DAEAEAEBFAEAB97B7FE47 -:10F500000DC022273327A901281939094A095B09A7 -:10F51000AB962CAF3DAF4EAF5FAFAB9783E5829D0F -:10F52000F001839DF00D1124E156F34FAB968CADA5 -:10F530009DADAEADBFADAB97818F928FA38FB48FD2 -:10F54000AF962CAD3DAD4EAD5FADAF97E7962CAF0E -:10F550003DAF4EAF5FAFE79757FF0DC05095409559 -:10F56000309521953F4F4F4F5F4FE7962CAF3DAF02 -:10F570004EAF5FAFE79783E5829DF001839DF00D6D -:10F580001124E156F34FE7968CAD9DADAEADBFAD06 -:10F59000E797858F968FA78FB0A3C301B2010F9411 -:10F5A000D95A2091730C3091740C4091750C509184 -:10F5B000760C0F94385BEF966CAF7DAF8EAF9FAF3C -:10F5C000EF9769AB7AAB8BAB9CABC501B4010F94E1 -:10F5D000D95A2091770C3091780C4091790C509148 -:10F5E0007A0C0F94385B2B013C016DAB7EAB8FAB7B -:10F5F00098AFAF966CAD7DAD8EAD9FADAF970F94CC -:10F60000D95A20917B0C30917C0C40917D0C50910B -:10F610007E0C0F94385B4B015C0169AF7AAF8BAF06 -:10F620009CAF20917F0C3091800C4091810C5091C7 -:10F63000820CC701B6010F94385B6B017C012196E7 -:10F640006CAF7DAF8EAF9FAF2197A7962CAD3DAD30 -:10F650004EAD5FADA79726303105410551051CF52C -:10F66000AB968CAD9DADAEADBFADAB970697A1058A -:10F67000B105CCF4E7962CAD3DAD4EAD5FADE7974F -:10F68000263031054105510574F420E030E0A90130 -:10F69000C701B6010F94286487FF18C0F7FAF094E9 -:10F6A000F7F8F09413C0C557DF4FA881B981CB5844 -:10F6B000D040CD90DD90ED90FC9020E030E0A901AD -:10F6C000C701B6010F94D25A882369F083E5829D61 -:10F6D000F001839DF00D1124E156F34FC586D686C7 -:10F6E000E786F08A34C0EF962CAD3DAD4EAD5FADF0 -:10F6F000EF97CA01B9010F94385B6B017C01A3013C -:10F700009201C301B2010F94385B9B01AC01C701A8 -:10F71000B6010F94C8616B017C01A5019401C5017C -:10F72000B4010F94385B9B01AC01C701B6010F9483 -:10F73000C8610F94C66423E5229DF001239DF00D5E -:10F740001124E156F34F658776878787908B83E591 -:10F75000829DF001839DF00D1124E156F34FEB964D -:10F76000CCACDDACEEACFFACEB97C1A2D2A2E3A275 -:10F77000F4A2A4965FADA497A5964FADA597A696C3 -:10F780003FADA697A7962FADA797A796CCACDDACBB -:10F79000EEACFFACA797AB968CAD9DADAEADBFAD5B -:10F7A000AB97C816D906EA06FB0660F4A8965FADCB -:10F7B000A897A9964FADA997AA963FADAA97AB96E1 -:10F7C0002FADAB97852F942FA32FB22FE796CCACFC -:10F7D000DDACEEACFFACE7978C159D05AE05BF0523 -:10F7E00010F4D701C601EB96CCACDDACEEACFFACAF -:10F7F000EB978C159D05AE05BF0510F4D701C6012A -:10F8000023E5229DF001239DF00D1124E156F34FD5 -:10F8100085A396A3A7A3B0A70697A105B10510F4E9 -:10F820000C94D588DF01AF5ABF4F8091710C8C9337 -:10F83000EE5AFF4F8091720C8083A796CCACDDAC62 -:10F84000EEACFFACA797CD28CE28CF2809F05F9863 -:10F8500083E5829DF001839DF00D1124E156F34F65 -:10F86000818D928DA38DB48D892B8A2B8B2B09F0E2 -:10F870008A9883E5829DF001839DF00D1124E15665 -:10F88000F34F858D968DA78DB0A1892B8A2B8B2B5D -:10F8900029F080910801817080930601EB96CCAC31 -:10F8A000DDACEEACFFACEB97CD28CE28CF2811F421 -:10F8B0000C94DE8880912A12882319F0815080935D -:10F8C0002A12129880E280932A12D0901012E090AF -:10F8D0001112F0901212109113122D2D3E2D4F2D5A -:10F8E000512FC158DF4F6881CF57D040CD57DF4FE0 -:10F8F0007881C358D040C957DF4F8881C758D0405E -:10F90000902F0F94D25A87FF10C0C158DF4FD88272 -:10F91000CF57D040CD57DF4FE882C358D040C957AA -:10F92000DF4FF882C758D040012F83E5829DF00158 -:10F93000839DF00D1124E156F34F4584568467846E -:10F940007088A301920160E070E080E89FE30F946B -:10F95000C262EF966CAF7DAF8EAF9FAFEF97C1588D -:10F96000DF4F2881CF57D040CD57DF4F3881C35864 -:10F97000D040C957DF4F4881C758D040502F0F940F -:10F98000385B4B015C0180915C1690915A16891B83 -:10F990008F70C557DF4F8883CB58D040A5019401A5 -:10F9A00060E074E284E799E40F94C2620F943564D6 -:10F9B0006B017C01C557DF4F8881CB58D040825006 -:10F9C0008630D0F58091E0119091E111A091E21183 -:10F9D000B091E311C816D906EA06FB0668F58C1942 -:10F9E0009D09AE09BF09BC01CD01660F771F881FB5 -:10F9F000991FC557DF4F4881CB58D040042F10E0E6 -:10FA000020E030E0A90198010F942861CA01B901F2 -:10FA10000F94D75A0F9435646C0D7D1D8E1D9F1D5C -:10FA20000F94D75A9B01AC0160E074E284E799E43B -:10FA30000F94C2624B015C01A5019401C301B201A4 -:10FA40000F94385B9B01AC010F94385BC157DF4FBB -:10FA5000688379838A839B83CF58D04083E5829DD6 -:10FA60008001839D100D11240156134FC157DF4FA4 -:10FA7000C880D980EA80FB80CF58D040D801119649 -:10FA8000CD92DD92ED92FC9214979596CD90DD90FB -:10FA9000ED90FC909897C158DF4FC882D982EA82D6 -:10FAA000FB82CF57D040C701B6010F94D75ACD572C -:10FAB000DF4F688379838A839B83C358D0409B013F -:10FAC000AC01C501B4010F94385B0F94A6620F948A -:10FAD0003B63CD56DF4F688379838A839B83C35909 -:10FAE000D040F801EF5BFF4F608371838283938383 -:10FAF0008E010F5C1F4FFE01B196C957DF4FF9838E -:10FB0000E883C758D04024EF31E1C756DF4F39832F -:10FB10002883C959D040A801405F5F4FC456DF4FCA -:10FB200059834883CC59D040C956DF4FF983E883C5 -:10FB3000C759D040A4961FAEA497A8961FAEA89709 -:10FB400050E8AC965FAFAC978FE3E4968FAFE49745 -:10FB5000D8012D913D914D915D918D01C501B4016B -:10FB60000F94385B6B017C01C956DF4FE881F98146 -:10FB7000C759D0406193719381939193C956DF4FD8 -:10FB8000F983E883C759D04020E030E0A9010F9401 -:10FB9000286487FF04C0F7FAF094F7F8F094C7568A -:10FBA000DF4FA881B981C959D0404D905D906D90CB -:10FBB0007D90C756DF4FB983A883C959D040A701AC -:10FBC0009601C301B2010F94D25A87FF26C0A70144 -:10FBD0009601C301B2010F94C2627B016C019B01CB -:10FBE000AC01A4966FADA497A8967FADA897AC96EC -:10FBF0008FADAC97E4969FADE4970F9428641816E8 -:10FC000064F4A496EFAEA497A896FFAEA897AC961E -:10FC1000CFAEAC97E496DFAEE497C456DF4FC88012 -:10FC2000D980CC59D040C016D10609F091CF20E040 -:10FC300030E040E85FE3A4966FADA497A8967FAD4F -:10FC4000A897AC968FADAC97E4969FADE4970F94D0 -:10FC5000D25A87FF84C08E010F5C1F4FA4962FAD30 -:10FC6000A497A8963FADA897AC964FADAC97E496F5 -:10FC70005FADE497C957DF4FA881B981C758D0401D -:10FC80006D917D918D919C910F94385BC957DF4F99 -:10FC9000E881F981C758D040619371938193919322 -:10FCA000C957DF4FF983E883C758D0400E171F07A5 -:10FCB000A9F623E5229DC001239D900D11249C01EE -:10FCC0002156334F790189010F5B1F4FCD56DF4F0E -:10FCD000688179818A819B81C359D0400F94D75A1A -:10FCE000A4962FADA497A8963FADA897AC964FAD1C -:10FCF000AC97E4965FADE4970F94385B0F943B6349 -:10FD0000D8016D937D938D939C931397A4962FADFB -:10FD1000A497A8963FADA897AC964FADAC97E49644 -:10FD20005FADE497A4966FADA497A8967FADA89712 -:10FD3000AC968FADAC97E4969FADE4970F94385B8B -:10FD4000C157DF4F288139814A815B81CF58D0402C -:10FD50000F94385BF7016183728383839483CD575B -:10FD6000DF4F288139814A815B81C358D040EF96AB -:10FD70006CAD7DAD8EAD9FADEF970F94385BA796C0 -:10FD80006CAF7DAF8EAF9FAFA79783E5829D80015B -:10FD9000839D100D11240156134FD80155968D9057 -:10FDA0009D90AD90BC90589781149104A104B1042A -:10FDB00069F559968D919D910D90BC91A02D892B3F -:10FDC0008A2B8B2B19F5F801858D968DA78DB0A107 -:10FDD000892B8A2B8B2BD1F4209108123091091298 -:10FDE00040910A1250910B12A7966CAD7DAD8EAD6D -:10FDF0009FADA7970F94385B0F94A6620F943B6357 -:10FE00002B013C01D801D6961C9241C3EB96CCAC99 -:10FE1000DDACEEACFFACEB97CD28CE28CF2849F077 -:10FE20002091041230910512409106125091071250 -:10FE300008C020910C1230910D1240910E12509179 -:10FE40000F12A7966CAD7DAD8EAD9FADA7970F94A9 -:10FE5000385B0F94A6620F943B632B013C01EB9639 -:10FE6000CCACDDACEEACFFACEB97CD28CE28CF28E8 -:10FE7000D9F020E030E0A90160919B0C70919C0CBE -:10FE800080919D0C90919E0C0F94D25A882361F022 -:10FE900081E0E396CCACDDACEEACFFACE3971C1498 -:10FEA0001D041E041F040CF080E093E5929D800168 -:10FEB000939D100D11240156134FD801D6968C93A3 -:10FEC000882309F4CCC020917216309173164091AA -:10FED00074165091751625966CAD7DAD8EAD9FADA7 -:10FEE00025970F94C761AB966CAF7DAF8EAF9FAF78 -:10FEF000AB972091761630917716409178165091F5 -:10FF0000791629966CAD7DAD8EAD9FAD29970F9476 -:10FF1000C761E3966CAF7DAF8EAF9FAFE397209143 -:10FF20007A1630917B1640917C1650917D162D9655 -:10FF30006CAD7DAD8EAD9FAD2D970F94C7616B01FC -:10FF40007C01AB962CAD3DAD4EAD5FADAB97CA011C -:10FF5000B9010F94385BAB966CAF7DAF8EAF9FAF9E -:10FF6000AB97E3962CAD3DAD4EAD5FADE397CA01C7 -:10FF7000B9010F94385B9B01AC01AB966CAD7DADC4 -:10FF80008EAD9FADAB970F94C861AB966CAF7DAF54 -:10FF90008EAF9FAFAB97A7019601C701B6010F9433 -:10FFA000385B9B01AC01AB966CAD7DAD8EAD9FAD6A -:10FFB000AB970F94C8610F94C6646B017C012091CC -:10FFC0007E1630917F164091801650918116619671 -:10FFD0006CAD7DAD8EAD9FAD61970F94C761A701EC -:10FFE00096010F94C2626B017C01F801FD9660835B -:10FFF00071838283938320E030E040E450E40F94E7 -:020000021000EC -:10000000286418161CF4F80116AA29C020919B0C2C -:1000100030919C0C40919D0C50919E0CC701B601F3 -:100020000F94385B9B01AC0160916D0C70916E0C6C -:1000300080916F0C9091700C0F94C262A7962CADBA -:100040003DAD4EAD5FADA7970F94385B0F943B630A -:10005000641575058605970510F42B013C01809108 -:10006000690C90916A0CA0916B0CB0916C0CC1580A -:10007000DF4FC880D980EA80FB80CF57D0408C15F5 -:100080009D05AE05BF0508F4DEC081149104A104EE -:10009000B10421F16091590C70915A0C80915B0C64 -:1000A00090915C0C6415750586059705B8F4A70159 -:1000B00096010F9418616B017C01A5019401C301A5 -:1000C000B2010F941861C616D706E806F90630F497 -:1000D000C701B6010F94286129013A0183E5829D89 -:1000E000F001839DF00D1124E156F34FC18CD28CA9 -:1000F000E38CF48CC114D104E104F10451F160915A -:100100005D0C70915E0C80915F0C9091600C641599 -:10011000750586059705E8F4C158DF4F28813981B8 -:100120004A815B81CF57D0400F9418614B015C012D -:10013000A7019601C301B2010F94186186169706B4 -:10014000A806B90630F4C501B4010F94286129014D -:100150003A0183E5829DF001839DF00D1124E15663 -:10016000F34FC58CD68CE78CF0A0C114D104E10408 -:10017000F10451F16091610C7091620C8091630CFB -:100180009091640C6415750586059705E8F4C158CF -:10019000DF4F288139814A815B81CF57D0400F944E -:1001A00018614B015C01A7019601C301B2010F94D4 -:1001B000186186169706A806B90630F4C501B40181 -:1001C0000F94286129013A0183E5829DF001839D06 -:1001D000F00D1124E156F34FC1A0D2A0E3A0F4A08A -:1001E000C114D104E104F10409F451C16091650C1A -:1001F0007091660C8091670C9091680C6415750580 -:100200008605970508F043C1C158DF4F2881398121 -:100210004A815B81CF57D0400F9418614B015C013C -:10022000A7019601C301B2010F94186186169706C3 -:10023000A806B90608F02BC1C501B4010F942861C6 -:1002400029013A0124C181149104A104B104D9F116 -:100250006091590C70915A0C80915B0C90915C0CE0 -:10026000641575058605970570F50F94D75ACD5717 -:10027000DF4F288139814A815B81C358D0400F9478 -:10028000385B6B017C01C501B4010F94D75A4B0157 -:100290005C01C301B2010F94D75AA50194010F94D8 -:1002A000385B9B01AC01C701B6010F94D25A87FF9E -:1002B0000AC0A5019401C701B6010F94C2620F9450 -:1002C0003B632B013C0183E5829DF001839DF00D92 -:1002D0001124E156F34F818C928CA38CB48C811441 -:1002E0009104A104B104D9F160915D0C70915E0C90 -:1002F00080915F0C9091600C6415750586059705DB -:1003000070F50F94D75ACD57DF4F288139814A8134 -:100310005B81C358D0400F94385B6B017C01C501F1 -:10032000B4010F94D75A4B015C01C301B2010F9481 -:10033000D75AA50194010F94385B9B01AC01C7010A -:10034000B6010F94D25A87FF0AC0A5019401C701D4 -:10035000B6010F94C2620F943B632B013C0183E50D -:10036000829DF001839DF00D1124E156F34F858CA1 -:10037000968CA78CB0A081149104A104B104D9F18A -:100380006091610C7091620C8091630C9091640C8F -:10039000641575058605970570F50F94D75ACD57E6 -:1003A000DF4F288139814A815B81C358D0400F9447 -:1003B000385B6B017C01C501B4010F94D75A4B0126 -:1003C0005C01C301B2010F94D75AA50194010F94A7 -:1003D000385B9B01AC01C701B6010F94D25A87FF6D -:1003E0000AC0A5019401C701B6010F94C2620F941F -:1003F0003B632B013C0183E5829DF001839DF00D61 -:100400001124E156F34F81A092A0A3A0B4A08114BF -:100410009104A104B104D9F16091650C7091660C4E -:100420008091670C9091680C641575058605970599 -:1004300070F50F94D75ACD57DF4F288139814A8103 -:100440005B81C358D0400F94385B6B017C01C501C0 -:10045000B4010F94D75A4B015C01C301B2010F9450 -:10046000D75AA50194010F94385B9B01AC01C701D9 -:10047000B6010F94D25A87FF0AC0A5019401C701A3 -:10048000B6010F94C2620F943B632B013C0183E5DC -:10049000829D8001839D100D11240156134FF80198 -:1004A000E35BFF4F4082518262827382C301B201DB -:1004B0000F94D75A6B017C01A7962CAD3DAD4EAD84 -:1004C0005FADA7970F94C262E7966CAF7DAF8EAF1A -:1004D0009FAFE797D80151966D937D938D939C9331 -:1004E00054972DEB37E346E051E4C701B6010F9472 -:1004F000385B0F943B63F80161AB72AB83AB94AB99 -:1005000086A9882381F1FD96208131814281538122 -:1005100060919B0C70919C0C80919D0C90919E0C15 -:100520000F94385BE7962CAD3DAD4EAD5FADE797D0 -:100530000F94385B2091F0113091F1114091F2113C -:100540005091F3110F94385B9B01AC0160E074E2B1 -:1005500084EF99E40F94C2620F943B63D801D8965C -:100560007C936E93D79729A93AA94BA95CA9EF96DA -:100570006CAD7DAD8EAD9FADEF970F94385BEB9674 -:100580006CAF7DAF8EAF9FAFEB97698B7A8B8B8B08 -:100590009C8B2DA93EA94FA958ADEF966CAD7DADB2 -:1005A0008EAD9FADEF970F94385B2B013C016D8BA7 -:1005B0007E8B8F8B988F29AD3AAD4BAD5CADEF96AE -:1005C0006CAD7DAD8EAD9FADEF970F94385B4B0159 -:1005D0005C01698F7A8F8B8F9C8F21962CAD3DADFE -:1005E0004EAD5FAD2197EF966CAD7DAD8EAD9FADFD -:1005F000EF970F94385BEF966CAF7DAF8EAF9FAFE8 -:10060000EF976D8F7E8F8F8F98A3C557DF4FC88070 -:10061000CB58D040CC2009F4D9C2D0905E16A49615 -:10062000DFAEA497E0905F16A896EFAEA897F09083 -:100630006016E096FFAEE097C0906116AC96CFAE24 -:10064000AC972DEB37E346E855E36D2D7E2D8F2DCE -:100650009C2D0F94D25A87FDB9C2C0901A12D09027 -:100660001B12E0901C12F0901D12C158DF4FC8827F -:10067000D982EA82FB82CF57D040C0901E12D09020 -:100680001F12E0902012F0902112CD57DF4FC88248 -:10069000D982EA82FB82C358D040C0902212D09007 -:1006A0002312E0902412F0902512C957DF4FC88220 -:1006B000D982EA82FB82C758D040C0902612D090DF -:1006C0002712E0902812F0902912C557DF4FC882F8 -:1006D000D982EA82FB82CB58D040C158DF4F688173 -:1006E00079818A819B81CF57D0409058EB962CAD71 -:1006F0003DAD4EAD5FADEB970F94385B6B017C0168 -:10070000CD57DF4F288139814A815B81C358D04062 -:10071000C301B2010F94385B9B01AC01C701B60164 -:100720000F94C7616B017C01C957DF4F2881398164 -:100730004A815B81C758D040C501B4010F94385B32 -:100740009B01AC01C701B6010F94C7616B017C012D -:10075000C557DF4F288139814A815B81CB58D04012 -:10076000EF966CAD7DAD8EAD9FADEF970F94385B7E -:100770009B01AC01C701B6010F94C7616B017C01FD -:100780002FEE3FEF4FE75FE30F94286418160CF449 -:10079000BFC12FEE3FEF4FE75FEBC701B6010F94EC -:1007A000D25A87FF08C0FFEECF2EDD24DA94FFE790 -:1007B000EF2EFFEBFF2EC158DF4F288139814A8190 -:1007C0005B81CF57D040EB966CAD7DAD8EAD9FADCC -:1007D000EB970F94C76169837A838B839C83CD5792 -:1007E000DF4F288139814A815B81C358D040C301E2 -:1007F000B2010F94C7616D837E838F839887C95739 -:10080000DF4F288139814A815B81C758D040C501BB -:10081000B4010F94C76169877A878B879C87C55716 -:10082000DF4F288139814A815B81CB58D040EF96D8 -:100830006CAD7DAD8EAD9FADEF970F94C7616D87A9 -:100840007E878F87988B9E012F5F3F4FE9963FAF42 -:100850002EAFE997AE014F5E5F4FA3965FAF4EAFED -:10086000A3978901812C912C5401D8014D905D9062 -:100870006D907D908D0120E030E0A901C301B201AF -:100880000F94D25A882371F0A3019201C301B201DF -:100890000F94385B9B01AC01C501B4010F94C86192 -:1008A0004B015C01A396EEADFFADA397E017F107F6 -:1008B000E1F6C501B4010F94C6649B01AC0160E090 -:1008C00070E080E89FE30F94C2624B015C01E996FF -:1008D0000EAD1FADE997A5019401D8016D917D91F1 -:1008E0008D919C910F94385BF80161937193819382 -:1008F00091938F01A3962EAD3FADA3972E173F077F -:1009000051F700ED11E1E4965FACE497E5966FAC2A -:10091000E597E6967FACE697E7964FACE797E996C2 -:10092000AEADBFADE9978D909D90AD90BD90E9962D -:10093000BFAFAEAFE99720E030E0A901C501B40137 -:100940000F94D25A882331F1F8016081718182813C -:1009500093810F94D75AA50194010F94C2624B0161 -:100960005C0120E030E0A9010F94286487FF04C0F7 -:10097000B7FAB094B7F8B094252D362D472D542DE5 -:10098000C501B4010F94D25A87FF04C0582C692CBA -:100990007A2C4B2C0C5F1F4FA3962EAD3FADA39727 -:1009A000E9964EAD5FADE9972417350709F0B7CF4B -:1009B000A701960160E070E080E89FE30F94C761B3 -:1009C00020E030E040E05FE30F94385B0F94C664B2 -:1009D0004B015C012091550C3091560C4091570C05 -:1009E0005091580C652D762D872D942D0F94385BE2 -:1009F000A50194010F94385BEB966CAF7DAF8EAF81 -:100A00009FAFEB97A501940160E070E080E89FE361 -:100A10000F94C7619B01AC01EB966CAD7DAD8EADC3 -:100A20009FADEB970F94C262E8966FAFE897EC9694 -:100A30007FAFEC978C0183E5829DF001839DF00DE3 -:100A40001124E156F34F85849684A784B08820E072 -:100A500030E040E85FE3C501B4010F94D25A87FF4C -:100A600061C0A7019601C701B6010F94385B23EC62 -:100A700038EB42E35FEB0F94385B23EF36E64FE54C -:100A80005FE30F94C761A70196010F94385B2BEDCC -:100A90003FE049EC5FE30F94C8612CEE31E548E399 -:100AA0005EE30F94C7616B017C0124EE3BEC46E1F1 -:100AB00050E40F9428641816ACF5A70196016BED6D -:100AC0007FE089E490E40F94C7619B01AC01C5010C -:100AD000B4010F94C262252D362D472D542D0F944D -:100AE000385B6B017C019B01AC01E8966FADE89728 -:100AF000EC967FADEC97C8010F942864181694F417 -:100B0000E896CFAEE897EC96DFAEEC9787010AC087 -:100B10005BE0E8965FAFE89787EDEC968FAFEC97D8 -:100B200003E21BE383E5829DF001839DF00D112418 -:100B3000E156F34FC180D280E380F4809601A70193 -:100B4000A4966FADA497A8967FADA897E0968FADB9 -:100B5000E097AC969FADAC970F942864181664F498 -:100B6000A496CFAEA497A896DFAEA897E096EFAE76 -:100B7000E097AC96FFAEAC97E8962FADE897EC9671 -:100B80003FADEC97A801A4966FADA497A8967FAD52 -:100B9000A897E0968FADE097AC969FADAC970F9479 -:100BA00028641816FCF4E896CFACE897A496CFAE6C -:100BB000A497EC96DFACEC97A896DFAEA897E096EA -:100BC0000FAFE097AC961FAFAC970CC0A4961FAECA -:100BD000A497A8961FAEA897E0961FAEE097AC9694 -:100BE0001FAEAC9780E1FE017196AAE1B2E10190DF -:100BF0000D928A95E1F783E5829D8001839D100D1A -:100C000011240156134FA4968FADA497A8969FADBB -:100C1000A897E096AFADE097AC96BFADAC97F80162 -:100C200081879287A387B487E7966CAD7DAD8EAD43 -:100C30009FADE79790589B01AC010F94C861D80114 -:100C40001D962D913D914D915C9150970F94385B7D -:100C50009B01AC016BE077ED83E29BE30F94C761EE -:100C6000EBE0CE2EE7EDDE2EE3E2EE2EEBE3FE2E02 -:100C7000F801C582D682E782F086B080C180D2803A -:100C8000E380F480A70196010F94286487FD02C0D9 -:100C900083E001C081E08B2993E5929DF001939D53 -:100CA000F00D1124E156F34F808380E1FE01B196EF -:100CB000A2E6B6E101900D928A95E1F7C0925E1628 -:100CC000D0925F16E0926016F092611680E1FE010C -:100CD000EF5AFF4FA2E8B6E101900D928A95E1F735 -:100CE00080E1FE01EF5BFF4FA2E7B6E101900D92BC -:100CF0008A95E1F790915C1680915D16981303C078 -:100D000084E680935916C556DF4F8881CB59D04071 -:100D10008F5F8F7080935C1680915C1690915B164C -:100D200081508F70891709F4B4C0F0905C168FEF72 -:100D30008F0D8F70A4968FAFA497B0905B168091A3 -:100D40005C16B81609F473C0C12CD12CA496EFAC74 -:100D5000A497EB1409F46BC06E2C712C53E5F52E9F -:100D6000F69C8001F79C100D11240156134FD801F9 -:100D70008C9183FD39C0E8960FAFE897EC961FAFD2 -:100D8000EC971996EC901997A896EFAEA8971A963B -:100D9000FC901A97E096FFAEE0971B96EC901B979D -:100DA000AC96EFAEAC971C96FC901C97E496FFAE09 -:100DB000E49715962D903D904D905C901897A20168 -:100DC0009101A8966FADA897E0967FADE097C70117 -:100DD0000F94D25A8111FCC1C114D10459F0D6012B -:100DE0008C9180FDF5C106C0E896CFAEE897EC96F1 -:100DF000DFAEEC97A4968FADA49781508F70A49628 -:100E00008FAFA49780915B168B1107C0E896CFAC8B -:100E1000E897EC96DFACEC9799CFA496CFACA4976B -:100E2000CB1429F081E08B0D8F70B82EEBCFD090D2 -:100E30005B16A496DFAEA497C12CD12C80915C16D2 -:100E4000A496EFACA4978E1521F18E2C912C33E54E -:100E5000F32EF89C8001F99C100D11240156134FBC -:100E6000D8018C9183FD0AC05801C114D10439F016 -:100E7000C6010F942545811102C039C25601A496BE -:100E80008FADA4978F5F8F70A4968FAFA4976501E5 -:100E9000D5CFF0905D16A496FFAEA497C0905C16D7 -:100EA000A896CFAEA89723E5A496DFACA497A89602 -:100EB000EFACA897DE1479F08E2D81508F70289FAB -:100EC000F0011124E156F34F908193FF04C0A896DE -:100ED0008FAFA897E9CF812C912CA12CB12CE09653 -:100EE0001FAEE097AC961FAEAC97E4961FAEE497AA -:100EF000E8961FAEE897212C312C00E010E0A89670 -:100F0000FFACA897A496CFACA497FC1409F4D1C069 -:100F100093E5D92EDC9CC00111249C012156334F4E -:100F20001901D9018C9183FD19C015966D917D91A0 -:100F30008D919C9118970F94C664F62EE72ED82EAB -:100F4000C92E0115110509F49AC0F801808180FDB0 -:100F500012C0D1018C9180FD0EC091C0E096FFAC13 -:100F6000E097AC96EFACAC97E496DFACE497E896EC -:100F7000CFACE89789C0F801808181608083C80187 -:100F80000F942545811177C0F801618172818381B9 -:100F900094810F94C6642B013C019B01AC0160E07D -:100FA00070E080E89FE30F94C2624B015C019B01FB -:100FB000AC016F2D7E2D8D2D9C2D0F94385B698398 -:100FC0007A838B839C83E0962FADE097AC963FAD00 -:100FD000AC97E4964FADE497E8965FADE897C5010E -:100FE000B4010F94385B698B7A8B8B8B9C8BAE0131 -:100FF0004F5F5F4FBE016F5E7F4FC8010E94C2A569 -:10100000D801D6968C918823B1F120919B0C309118 -:101010009C0C40919D0C50919E0CF801FD966081B6 -:101020007181828193810F94385B2091F01130910E -:10103000F1114091F2115091F3110F94385B4B0173 -:101040005C019B01AC01C301B2010F94385B0F94AA -:101050003B63F80172AF61AFA50194016F2D7E2D46 -:101060008D2D9C2D0F94385B0F943B63D801DC963B -:101070007C936E93DB97F80180818E7F80838F2C29 -:101080009E2CAD2CBC2C8101A4968FADA4978F5FB4 -:101090008F70A4968FAFA497E096FFAEE097AC96C2 -:1010A000EFAEAC97E496DFAEE497E896CFAEE89764 -:1010B00026CF2114310409F478C0D1018C918160CC -:1010C0008C93C8010F94254581116BC0F10161819A -:1010D0007281838194810F94C6646B017C019B01B2 -:1010E000AC0160E070E080E89FE30F94C2622B01E6 -:1010F0003C012DEC3CEC4CE45DE30F94385B6983E0 -:101100007A838B839C839401A501C301B2010F9460 -:10111000385B698B7A8B8B8B9C8BAE014F5F5F4FFB -:10112000BE016F5E7F4FC1010E94C2A5D101D6965C -:101130008C918823B1F120919B0C30919C0C4091B3 -:101140009D0C50919E0CF101FD9660817181828110 -:1011500093810F94385B2091F0113091F1114091FF -:10116000F2115091F3110F94385B4B015C019B011C -:10117000AC01C701B6010F94385B0F943B63F101DA -:1011800072AF61AF2DEC3CEC4CE45DE3C501B40102 -:101190000F94385B0F943B63D101DC967C936E9384 -:1011A000DB97F10180818E7F808380916F00826068 -:1011B00080936F0081E01EC180E01CC1D0901412AA -:1011C000E0901512F0901612109117120C946D7C8D -:1011D00083E5E82EE69CF001E79CF00D1124E15632 -:1011E000F34F808181FD4BC0C114D10431F0F60171 -:1011F000C580D680E780F08408C04BE0C42E47ED60 -:10120000D42E43E2E42E4BE3F42E23E5269DF00199 -:10121000279DF00D1124E156F34F81899289A3890E -:10122000B489BC01CD0190589B01AC010F94C861F9 -:10123000D8011D962D913D914D915C9150970F9441 -:10124000385B9B01AC01C701B6010F94C761E62E64 -:10125000872E982EA92E262F372F482F592FA89644 -:101260006FADA897E0967FADE097AC968FADAC9749 -:10127000E4969FADE4970F94D25A87FF0CC0A896CE -:10128000EFACA897E0968FACE097AC969FACAC978C -:10129000E496AFACE4972E2D382D492D5A2DC2017E -:1012A000B1010F94D25A882309F4A4CDB3E5B69DB9 -:1012B000C001B79D900D1124FC01E156F34F6F0161 -:1012C000808181608083C8010F942545882329F09F -:1012D000D6018C918E7F8C938DCD8E2D982DA92D3E -:1012E000BA2DF60185839683A783B08783CDD60177 -:1012F0008C9181FD58C0D60115962D913D914D914F -:101300005C911897AB962CAF3DAF4EAF5FAFAB97EC -:101310001501B5E02B0E311CF80145805680678021 -:101320007084A3019201AB966CAD7DAD8EAD9FAD87 -:10133000AB970F94D25A87FF36C0F6018189928904 -:10134000A389B489BC01CD0190589B01AC010F94D5 -:10135000C861D6011D962D913D914D915C9150979C -:101360000F94385B9B01AC01AB966CAD7DAD8EAD3F -:101370009FADAB970F94C7616B017C019B01AC01E2 -:10138000C301B2010F94286418166CF4D8018C9133 -:1013900081608C93C5010F9425458823F9F0F801ED -:1013A00080818E7F808323E5D22ED89CF001D99C4A -:1013B000F00D1124E156F34F218532854385548584 -:1013C00065817681878190850F94D25A811157CD9E -:1013D000A496EFACA497E0925B1651CDD101CD92CB -:1013E000DD92ED92FC921397A496CFACA497C09295 -:1013F0005B16D9CFC356DF4F0FB6F894DEBF0FBED2 -:10140000CDBFDF91CF911F910F91FF90EF90DF90B3 -:10141000CF90BF90AF909F908F907F906F905F9094 -:101420004F903F902F900895CF92DF92EF92FF92CE -:101430000F931F93CF93DF93CDB7DEB764970FB6AB -:10144000F894DEBF0FBECDBFC98ADA8AEB8AFC8A68 -:10145000FC0180819181A281B38189839A83AB83CE -:10146000BC83FB0180819181A281B3818D839E83A6 -:10147000AF83B887FA0180819181A281B381898786 -:101480009A87AB87BC87F90180819181A281B38162 -:101490008D879E87AF87B88BCE0141967C019E01D8 -:1014A000235F3F4FAE01475F5F4FBE016B5F7F4FD2 -:1014B00040970E94DC7764960FB6F894DEBF0FBEAB -:1014C000CDBFDF91CF911F910F91FF90EF90DF90F3 -:1014D000CF900895CF93DF93CDB7DEB760970FB667 -:1014E000F894DEBF0FBECDBFE5E1F2E080819181CF -:1014F000A281B38189839A83AB83BC8384819581E4 -:10150000A681B7818D839E83AF83B88780859185BF -:10151000A285B38589879A87AB87BC8784859585A3 -:10152000A685B7858D879E87AF87B88BAE01475F4D -:101530005F4FBE016B5F7F4FCE0101960E9465C475 -:101540009E01235F3F4FAE01475F5F4FBE016B5F60 -:101550007F4FCE0101960E9487C260960FB6F89425 -:10156000DEBF0FBECDBFDF91CF9108959091540C97 -:101570009817C9F08093540C811109C08091520CC6 -:101580008093710C8091530C8093720C089580911C -:10159000710C8093520C1092710C8091720C80939C -:1015A000530C1092720C089520E030E040E450E4B7 -:1015B0000F94C7612AE939E94DE052E40F94C861FC -:1015C00024E939E647E65CE30F94385B0F94346313 -:1015D000663010F4862F08958FEF08951F93CF93F0 -:1015E000DF93182F87E00F94404AC0E0D0E080E2FC -:1015F0000E9427666AE070E0CE010E94B766812FE4 -:101600000F94404A2196C630D10589F76AE070E010 -:1016100080E090E0DF91CF911F910D941C4A0F93D1 -:101620001F93CF93DF938B01EA010F94404A88E226 -:101630000E942766043611054CF480E20E9427665A -:101640000A3011051CF480E20E9427666AE070E00F -:10165000C8010E94B7668CE20E942766C436D10595 -:101660004CF480E20E942766CA30D1051CF480E267 -:101670000E9427666AE070E0CE010E94B76689E2A8 -:101680000E94276665E070E080E090E0DF91CF91F6 -:101690001F910F910D941C4A8F929F92AF92BF920F -:1016A000CF92DF92EF92FF920F931F93CF93DF932E -:1016B000EC017B018A016901FB01208131814281BA -:1016C0005381688179818A819B810F94C861688385 -:1016D00079838A839B83F801208131814281538100 -:1016E0006C817D818E819F810F94C8616C837D8325 -:1016F0008E839F83F60120813181428153816885E9 -:1017000079858A859B850F94C861688779878A87E0 -:101710009B87F70160817181828193819B01AC017C -:101720000F94385B9B01AC016C857D858E859F8510 -:101730000F94C8616C877D878E879F87F8016081D1 -:101740007181828193819B01AC010F94385B9B0175 -:10175000AC01688979898A899B890F94C861688BF3 -:10176000798B8A8B9B8BF601608171818281938159 -:101770009B01AC010F94385B9B01AC016C897D89A6 -:101780008E899F890F94C8616C8B7D8B8E8B9F8B0C -:10179000F8012081318142815381F701608171819B -:1017A000828193810F94385B9B01AC01688D798DA8 -:1017B0008A8D9B8D0F94C861688F798F8A8F9B8FDC -:1017C000F6012081318142815381F701608171816D -:1017D000828193810F94385B9B01AC016C8D7D8D70 -:1017E0008E8D9F8D0F94C8616C8F7D8F8E8F9F8F94 -:1017F000F6012081318142815381F801608171813C -:10180000828193810F94385B9B01AC0168A179A11F -:101810008AA19BA10F94C86168A379A38AA39BA303 -:101820008CA09DA0AEA0BFA0F701C080D180E280B7 -:10183000F38020E030E0A901C701B6010F942864CD -:1018400087FF04C0F7FAF094F7F8F094A701960127 -:10185000B401C5010F94D25A87FD02C0640175011D -:10186000CCA2DDA2EEA2FFA288A499A4AAA4BBA444 -:10187000F801C080D180E280F38020E030E0A9014F -:10188000C701B6010F94286487FF04C0F7FAF094EB -:10189000F7F8F0949401A501C701B6010F942864EC -:1018A000181614F064017501C8A6D9A6EAA6FBA60D -:1018B00020E030E040E85FE368AD79AD8AAD9BADF4 -:1018C0000F94C86168AF79AF8AAF9BAFDF91CF91BA -:1018D0001F910F91FF90EF90DF90CF90BF90AF904E -:1018E0009F908F9008958DEE94E30D94B42680918F -:1018F000921490919314009731F04AE050E060E028 -:1019000070E00D94C85760E070E0CB0108950E942C -:10191000778CCB0108950F931F93CF9380919214EE -:1019200090919314009711F1FC018F01C1912C2F1C -:101930002F7DA9F0C53411F0C536B9F7F801108232 -:1019400060E070E080919214909193140F946C5623 -:10195000F801C083562F472F382F292F0BC060E086 -:1019600070E0CF911F910F910D946C5650E040E0C4 -:1019700030E020E0652F742F832F922FCF911F919D -:101980000F91089581548A3108F042C0E82FF0E0A9 -:101990004091B1145091B2146091B3147091B41489 -:1019A00004C076956795579547958A95D2F7842F09 -:1019B000817040FF2FC0E956FB4E9081992309F1B9 -:1019C000E091D318F091D418E90FF11D908120ED2A -:1019D000290F2A3098F09E3211F491810CC09D326B -:1019E00011F09B3271F4918120ED290F2A3030F0F3 -:1019F0009E3239F4928190539A3018F42E2F9F2FF3 -:101A000002C020E090E020939214909393140895E4 -:101A100080E0089508950E94C28C882341F081E0FF -:101A20002091921430919314232B09F480E00895AF -:101A3000CF93DF93EB010E940B8D882321F0DF9180 -:101A4000CF910C94878CCE01DF91CF910895E82F30 -:101A5000F0E0863078F4EE0FFF1FEE0FFF1FE75720 -:101A6000F94B4591559165917491F42FE52F362FDF -:101A7000272F16C0BF01FF0F880B990B0F94D95A5F -:101A80002AE939E94DE852E40F94385B20E030E070 -:101A900040E450E40F94C861F62FE72F382F292F28 -:101AA0006F2F7E2F832F922F0895E82FF0E086303E -:101AB00078F4EE0FFF1FEE0FFF1FE753F94B459130 -:101AC000559165917491F42FE52F362F272F16C06D -:101AD000BF01FF0F880B990B0F94D95A2AE939E9F6 -:101AE0004DE852E40F94385B20E030E040E450E4ED -:101AF0000F94C861F62FE72F382F292F6F2F7E2FD5 -:101B0000832F922F08952F923F924F925F926F9260 -:101B10007F928F929F92AF92BF92CF92DF92EF927D -:101B2000FF920F931F93CF93DF93CDB7DEB76297EA -:101B30000FB6F894DEBF0FBECDBF9A838983788B32 -:101B40006F87FC0180809180A280B380C501B401C1 -:101B50000F945110898BEF85F889C080D180E28085 -:101B6000F380C701B6010F9451108A8B20E030E05A -:101B700040E450E4C501B4010F94286487FD1EC001 -:101B800020E030E842EB53E4C501B4010F94D25A8F -:101B90001816A4F020E030E040E450E4C701B6019C -:101BA0000F94286487FD0AC020E030E842EB53E43C -:101BB000C701B6010F94D25A181624F4C12CD12CA7 -:101BC000760124C1F9892F2EFF0F3308C10125E0CA -:101BD0002216310414F084E090E0AC014F5F5F4FB7 -:101BE0005E874D8759895F5F5D83852F0E94558D84 -:101BF00069877A878B879C8789890E94558D6B01BD -:101C00007C0186E0829DF001839DF00D11249A896C -:101C1000092F990F110BE00FF11FEE0FFF1FEE0FB1 -:101C2000FF1FEA5CFD4E40805180628073802D85ED -:101C30003E85829FF001839FF00D1124E00FF11F7C -:101C4000EE0FFF1FEE0FFF1FEA5CFD4EA301920196 -:101C500060817181828193810F94C7614B015C0126 -:101C6000A7019601E981FA81608171818281938166 -:101C70000F94C7619B01AC01C501B4010F94385B9F -:101C80004B015C01A701960169857A858B859C854E -:101C90000F94C7619B01AC01C501B4010F94C262EE -:101CA000A30192010F94C86169877A878B879C870B -:101CB000C8010530110514F084E090E05C01FFEFED -:101CC000AF1ABF0A8D810E94558D6D837E838F83ED -:101CD000988789890E94558D6B017C0126E0229DA1 -:101CE000C001239D900D1124FC01EA0DFB1DEE0F98 -:101CF000FF1FEE0FFF1FEA5CFD4E408051806280A7 -:101D000073804D855E85249FC001259F900D112411 -:101D1000FC01EA0DFB1DEE0FFF1FEE0FFF1FEA5C3B -:101D2000FD4EA301920160817181828193810F94A4 -:101D3000C7614B015C01A7019601E981FA816081CD -:101D40007181828193810F94C7619B01AC01C501B0 -:101D5000B4010F94385B4B015C01A70196016D81C2 -:101D60007E818F8198850F94C7619B01AC01C5016D -:101D7000B4010F94C262A30192010F94C8612B01B8 -:101D80003C018A898F5F0E94278D69837A838B83C8 -:101D90009C838A890E94278D6B017C019B01AC0189 -:101DA000EF85F88960817181828193810F94C76189 -:101DB0004B015C0129853A854B855C85C301B201E5 -:101DC0000F94C7619B01AC01C501B4010F94385B4E -:101DD0004B015C01A701960169817A818B819C810D -:101DE0000F94C7619B01AC01C501B4010F94C2629D -:101DF00029853A854B855C850F94C8616B017C0110 -:101E00009B01AC010F9415658111D8CEC701B601B5 -:101E100062960FB6F894DEBF0FBECDBFDF91CF91B3 -:101E20001F910F91FF90EF90DF90CF90BF90AF90F8 -:101E30009F908F907F906F905F904F903F902F90EA -:101E400008954F925F926F927F928F929F92AF927E -:101E5000BF92CF92DF92EF92FF921F93CF93DF93C7 -:101E6000CDB7DEB72C970FB6F894DEBF0FBECDBF4F -:101E7000DB01CD90DD90ED90FC9020910E13309120 -:101E80000F1340911013509111132D833E834F83F4 -:101E90005887DC018D909D90AD90BC9020910A13E5 -:101EA00030910B1340910C1350910D1329873A87F1 -:101EB0004B875C87C501B4010F94C76169837A833E -:101EC0008B839C832D813E814F815885C701B6014C -:101ED0000F94C761AB01BC01CE0101960E94C5BC45 -:101EE000182F882309F4A9C020E030E0A9016985F2 -:101EF0007A858B859C850F94C8612B013C0120E07D -:101F000030E040E450E40F94D25A87FF05C0412CE2 -:101F1000512C30E4632E762C27E137EB41ED58E36A -:101F2000C301B2010F94C7619B01AC01C501B401AB -:101F30000F94286487FD80C020E030E044EB53E438 -:101F400069857A858B859C850F94C8612B013C013E -:101F500020E030E842EB53E40F94286418163CF478 -:101F6000412C20E8522E22EB622E23E4722E27E130 -:101F700037EB41ED58E3C301B2010F94C8619B01F7 -:101F8000AC01C501B4010F94D25A18160CF454C018 -:101F900020E030E0A9016D817E818F8198850F94CA -:101FA000C8614B015C0120E030E040E450E40F9454 -:101FB000D25A87FF05C0812C912C90E4A92EBA2C0F -:101FC00027E137EB41ED58E3C501B4010F94C76138 -:101FD0009B01AC01C701B6010F94286487FD2CC09A -:101FE00020E030E044EB53E46D817E818F81988561 -:101FF0000F94C8614B015C0120E030E842EB53E4F0 -:102000000F94286418163CF4812C80E8982E82EBFB -:10201000A82E83E4B82E27E137EB41ED58E3C50144 -:10202000B4010F94C8619B01AC0111E0C701B60176 -:102030000F94D25A18160CF410E0812F2C960FB67C -:10204000F894DEBF0FBECDBFDF91CF911F91FF90FF -:10205000EF90DF90CF90BF90AF909F908F907F9048 -:102060006F905F904F900895681779070CF4CB013B -:102070000895861797070CF4CB0108950F931F93CB -:10208000CF93DF93CDB7DEB76F970FB6F894DEBF6F -:102090000FBECDBF9F8F8E8F81E080932B1288E083 -:1020A0008B838EE18C838E8D9F8D8370992721E0A9 -:1020B000892B09F020E02D8321E08E8D9F8D0197E3 -:1020C00009F020E02E8321E08E8D9F8D029709F08C -:1020D00020E02F838E8D9F8D8470992721E0892B9E -:1020E00009F420E0288786ED94E30F944B4A8D8114 -:1020F000882379F182ED94E30F944B4A68E671E00E -:1021000085E691E00E9434908C0160E070E083E00D -:1021100090E00E943990A801BC0184E00E940F8BDE -:1021200068E671E085E691E00E9434908C0168E6F3 -:1021300071E085E691E00E943490A801BC018EE137 -:102140000E940F8B8AE00E94276686E00E94EE8A3A -:102150000EC08CEC94E30F944B4A8E81882319F0C7 -:1021600086EC94E302C080EC94E30F944B4A809198 -:10217000150290911602A0911702B09118022091B9 -:102180000A1330910B1340910C1350910D13BC01A5 -:10219000CD010F94C861DC01CB018A8F9B8FAC8F7E -:1021A000BD8F8A8D9B8DAC8DBD8DBC01CD010E94F4 -:1021B000D48A082E000C990BAA0BBB0BBC01CD01D5 -:1021C0000F94D95ADC01CB0189879A87AB87BC87EA -:1021D0008091190290911A02A0911B02B0911C02E9 -:1021E00020910E1330910F13409110135091111341 -:1021F000BC01CD010F94C861DC01CB018E8B9F8B9C -:10220000A88FB98F8E899F89A88DB98DBC01CD010A -:102210000E94D48A082E000C990BAA0BBB0BBC01A0 -:10222000CD010F94D95ADC01CB018D879E87AF87F2 -:10223000B88B9F8181E08927882319F08AE00E946A -:10224000276685E08983898188230CF4F4C08D8119 -:10225000882391F089818A301CF480E20E942766ED -:102260008981082E000C990B6AE070E00E94B76625 -:102270008DEB94E30F944B4A1A828A81863008F0E2 -:10228000BFC08A81882F90E0092E000CAA0BBB0BDF -:10229000BC01CD010F94D95ADC01CB0129853A85C7 -:1022A0004B855C85BC01CD010F94D25A8823C1F4C3 -:1022B0008981082E000C990BAA0BBB0BBC01CD0128 -:1022C0000F94D95ADC01CB012D853E854F85588965 -:1022D000BC01CD010F94D25A882311F481E001C0D2 -:1022E00080E0898B8D81882341F08989882311F0D2 -:1022F0008BE501C080E20E9427668A81282F30E0AA -:102300008981482F880F550BC901880F991F820FAB -:10231000931F880F991F840F951F880F991F880F8F -:10232000991F8A5C9D4EFC0180819181A281B381BD -:102330008A8B9B8BAC8BBD8B8F81882309F045C02A -:102340002A893B894C895D896A897B898C899D8929 -:102350000F941565882359F08D81882319F086EB39 -:1023600094E302C082EB94E30F944B4A2EC08D811C -:10237000882319F48E81882341F18D818823D9F037 -:1023800020E030E0A9016A897B898C899D890F94BE -:102390002864882384F020E030E0A9016A897B89E1 -:1023A0008C899D890F942864181614F48BE201C05F -:1023B00080E20E9427668A899B89AC89BD8943E0B7 -:1023C00050E0BC01CD010E943D678E81882331F031 -:1023D0008A81853018F489E00E9427668D818823E0 -:1023E00041F08989882311F08DE501C080E20E94C7 -:1023F000276680E00E946B678A818F5F8A833DCF6A -:102400009F8181E08927882319F08AE00E9427664E -:102410008981882361F08D81882349F0988581E046 -:102420008927882321F08CEA94E30F944B4A898111 -:102430008150898308CF8D81882381F186E00E94B5 -:10244000EE8A8AE00E94276660E070E083E090E018 -:102450000E9439908C0160E070E083E090E00E947F -:102460003990A801BC0184E00E940F8B60E070E00D -:1024700083E090E00E9439908C0168E671E085E687 -:1024800091E00E943490A801BC018EE10E940F8B64 -:102490008AE00E9427668AE00E94276610922B122B -:1024A0006F960FB6F894DEBF0FBECDBFDF91CF9110 -:1024B0001F910F9108958F929F92AF92BF92EF92CA -:1024C000FF920F931F93CF93DF934B015C0106E3C1 -:1024D00012E1C0E0E12CF12CD0E0F801EE0DFF1D7F -:1024E00080829182A282B382A50194016D2F8C2FEC -:1024F0000E94739BDF5F84E0E80EF11CD63069F721 -:10250000CF5F085E1F4FC63029F7DF91CF911F9133 -:102510000F91FF90EF90BF90AF909F908F90089594 -:102520006F927F928F929F92AF92BF92CF92DF92E3 -:10253000EF92FF920F931F93CF93DF93CDB7DEB748 -:10254000C554D1090FB6F894DEBF0FBECDBF1982B6 -:102550000F947B2C882309F00CC76FEF7FEF80E589 -:102560000E94188D8A878A85813059F08A85823049 -:1025700041F08A85843029F08AE40E94C28C882345 -:1025800011F081E001C080E08B878B85882359F0B2 -:102590000E941AC241E061E081E00E94ECA8882319 -:1025A00011F00E94738C89E40E94C28C882309F484 -:1025B000BFC01A82809192149091931421E0892BCC -:1025C00009F420E0222319F00E94878C02C081E0E8 -:1025D00090E09093C6148093C5148091C514909197 -:1025E000C61484973CF060E070E080EC9FE70E94A6 -:1025F0005B929AC08091C5149091C6149C012150A1 -:1026000031093093C6142093C51421E0892B09F4B5 -:1026100020E0222309F488C08A81853120F01A82C3 -:1026200080E00E946B6700E010E020E04DEB54E199 -:1026300061EC74E181E00F94FD27A22EB32EC42E2D -:10264000D52EE62EF72E082F192F2A2D3B2D4C2D97 -:102650005D2D6E2D7F2D802F912FFE01E05CFF4FB1 -:102660002083FE01EF5BFF4F3083FE01EE5BFF4FE7 -:102670004083FE01ED5BFF4F5083FE01EC5BFF4F9B -:102680006083FE01EB5BFF4F7083CE01805C9F4F48 -:10269000FC01808188235CF460E070E080EC9FE7BF -:1026A0000E945B9284EB96E30F944B4A3DC0CE01AF -:1026B000805C9F4FFC018081282F880F330BCE0157 -:1026C0008F5B9F4FFC018081482F880F550BC901FC -:1026D000880F991F820F931F880F991F840F951FD2 -:1026E000880F991F880F991F9C012A5C3D4E80E03E -:1026F00090E0A0ECBFE7F90180839183A283B383CC -:10270000CE018F5B9F4FFC018081682FCE01805CE2 -:102710009F4FFC01808120E030E0A9010E94739B63 -:102720008A818F5F8A8366CF8BE996E30F944B4A49 -:1027300081E50E94C28C882309F491C28091921491 -:102740009091931421E0892B09F420E0222319F0C1 -:102750000E94878C02C08DE99FEF9D878C878C85B6 -:102760009D858F3F9F4F24F08C859D8503972CF08E -:1027700083E796E30F944B4AFCC584E596E30F94F8 -:102780004B4A8C859D858130910509F4DDC08230EE -:10279000910509F4E2C1892B09F061C21B828B818A -:1027A000863008F05CC21C828C81863008F0C8C07C -:1027B0008B81882F90E0092E000CAA0BBB0BBC016B -:1027C000CD010F94D95ADC01CB019C01AD0160E031 -:1027D00070E080E490E40F94C761DC01CB018E8748 -:1027E0009F87A88BB98B8C81882F90E0092E000CD5 -:1027F000AA0BBB0BBC01CD010F94D95ADC01CB0154 -:102800009C01AD0160E070E080E490E40F94C7614A -:10281000DC01CB018A8B9B8BAC8BBD8B8B81082F12 -:1028200010E08C81A82EB12C8B81282F30E08C8178 -:10283000482F50E0C901880F991F820F931F880FFE -:10284000991F840F951F880F991F880F991F8A5C05 -:102850009D4EFC01C080D180E280F3802E853F85B3 -:10286000488959896E857F85888999890F94385B55 -:10287000DC01CB013C014D012A893B894C895D89F2 -:102880006A897B898C899D890F94385BDC01CB0137 -:102890009C01AD01C401B3010F94C861DC01CB01FF -:1028A000BC01CD010F94C664DC01CB019C01AD01DC -:1028B000BC01CD010F94C861DC01CB019C01AD01CD -:1028C000C701B6010F94C861DC01CB019C01AD01C9 -:1028D000C801880F991F800F911F880F991F8A0DBB -:1028E0009B1D880F991F880F991F8A5C9D4EFC01C4 -:1028F00020833183428353838B81282F30E08C8166 -:10290000482F50E0C901880F991F820F931F880F2D -:10291000991F840F951F880F991F880F991F8A5C34 -:102920009D4EFC0180819181A281B3819C01AD010A -:102930006C818B810E94739B8C818F5F8C8334CFE1 -:102940008B818F5F8B832BCF1D828D81863008F02A -:1029500086C18D81082F10E08D81E82EF12C8D81AC -:10296000282F30E08D81482F50E0C901880F991F32 -:10297000820F931F880F991F840F951F880F991F2F -:10298000880F991F8A5C9D4EFC0180819181A281F4 -:10299000B38127EE3BEF4FE151E4BC01CD010F9431 -:1029A000C861DC01CB019C01AD01C801880F991FF2 -:1029B000800F911F880F991F8E0D9F1D880F991FE3 -:1029C000880F991F8A5C9D4EFC01208331834283CE -:1029D00053838D81E82EF12C8D81282F30E081E00A -:1029E0009D81953008F080E0882F90E0820F931F42 -:1029F000892B19F001E010E002C00FEF1FEF8D816D -:102A0000482F50E08D81282F30E081E09D81953066 -:102A100008F080E0882F90E0820F931F892B19F037 -:102A200021E030E002C02FEF3FEFCA01880F991F6D -:102A3000840F951F880F991F820F931F880F991F6E -:102A4000880F991F8A5C9D4EFC0180819181A28133 -:102A5000B38127EE3BEF4FE151E4BC01CD010F9470 -:102A6000C861DC01CB019C01AD01C701880F991F32 -:102A70008E0D9F1D880F991F800F911F880F991F22 -:102A8000880F991F8A5C9D4EFC012083318342830D -:102A900053838D81282F30E08D81482F50E0C9016C -:102AA000880F991F820F931F880F991F840F951FFE -:102AB000880F991F880F991F8A5C9D4EFC018081A9 -:102AC0009181A281B3819C01AD016D818D810E94B4 -:102AD000739B8D81482F50E08D81282F30E081E05D -:102AE0009D81953008F080E0882F90E0820F931F41 -:102AF000892B19F021E030E002C02FEF3FEFCA012F -:102B0000880F991F840F951F880F991F820F931F9D -:102B1000880F991F880F991F8A5C9D4EFC01808148 -:102B20009181A281B3812D81422F50E021E03D812E -:102B3000353008F020E0222F30E0240F351F232B02 -:102B400011F061E001C06FEF9C01AD018D810E9429 -:102B5000739B8D818F5F8D83F8CE82E08E838E8113 -:102B6000843008F07CC082E08F838F81843008F04D -:102B700072C083E40E94C28C882349F02091C7145C -:102B80003091C8144091C9145091CA1404C02AE06D -:102B900037ED4FE151E48E81082F10E08F81E82E50 -:102BA000F12C8E81682F70E08F81E82FF0E0CB014F -:102BB000880F991F860F971F880F991F8E0F9F1FD1 -:102BC000880F991F880F991F8A5C9D4EFC01808198 -:102BD0009181A281B381BC01CD010F94C861DC0158 -:102BE000CB019C01AD01C801880F991F800F911F77 -:102BF000880F991F8E0D9F1D880F991F880F991F91 -:102C00008A5C9D4EFC0120833183428353838E81F5 -:102C1000282F30E08F81482F50E0C901880F991F7D -:102C2000820F931F880F991F840F951F880F991F7C -:102C3000880F991F8A5C9D4EFC0180819181A28141 -:102C4000B3819C01AD016F818E810E94739B8F8146 -:102C50008F5F8F838ACF8E818F5F8E8380CF8AE450 -:102C60000E94C28C882309F47AC080913513909118 -:102C70003613892B41F00F94742C80E00E94F1DA16 -:102C80000F946C2C07C00F94742C81E00E94F1DA31 -:102C90000F946C2C1AAA1BAA1CAA1DAA68E671E044 -:102CA00085E691E00E9434908C0160E070E083E062 -:102CB00090E00E9439909801281B390BC901092E18 -:102CC000000CAA0BBB0BBC01CD010F94D95ADC013F -:102CD000CB0120E030E040E05FE3BC01CD010F9488 -:102CE000385BDC01CB018EA79FA7A8ABB9AB68E628 -:102CF00071E085E691E00E9434908C0160E070E024 -:102D000083E090E00E943990F801E81BF90BCF01B5 -:102D1000092E000CAA0BBB0BBC01CD010F94D95A94 -:102D2000DC01CB0120E030E040E05FE3BC01CD01FD -:102D30000F94385BDC01CB018AA79BA7ACA7BDA78A -:102D4000AE014E5C5F4F9E01225D3F4FCE018A96E1 -:102D5000B9010E9438B30E9465C981E0898380E58A -:102D60000E94C28C882309F433C28091BB149091D5 -:102D7000BC14992384F08091BB149091BC140297E9 -:102D800054F4809122138F3F31F41092221382E386 -:102D900096E30F944B4A8091BB149091BC14092E7A -:102DA000000CAA0BBB0B40E050E026E030E0841B97 -:102DB000950B2817390708F40BC2FC018827E15549 -:102DC000FF4F8F4F0D94BF610F94D94884E296E373 -:102DD0000F944B4AFDC183E40E94C28C982F81E07E -:102DE0008927882331F00F94D04883E096E30F942D -:102DF0004B4A8091331390913413029724F18091C0 -:102E0000C1149091C214A091C314B091C41422EFC4 -:102E100035E3AC01BD01C9010F94974A8CE20E94D1 -:102E200027668091BD149091BE14A091BF14B091FB -:102E3000C01442E050E0BC01CD010E943D678DEE20 -:102E400095E30F944B4A85E50E94C28C082F85E4D8 -:102E50000E94C28CF82E84E50E94C28C182F8091AB -:102E60000E1390910F13A0911013B0911113209194 -:102E7000BD143091BE144091BF145091C014BC01D8 -:102E8000CD010F94C861DC01CB018EA39FA3A8A73D -:102E9000B9A780910A1390910B13A0910C13B091D4 -:102EA0000D132091C1143091C2144091C31450915C -:102EB000C414BC01CD010F94C861DC01CB018AA30D -:102EC0009BA3ACA3BDA3BE016A5D7F4FCE018296DA -:102ED0002F2D412F0F9417300E9465C981E08983FF -:102EE00077C18EEB95E30F944B4A43C28091BA149D -:102EF000882309F4EDC08091C5149091C61484977D -:102F00006CF08091C7149091C814A091C914B0912D -:102F1000CA14BC01CD010E945B9259C18091C514B5 -:102F20009091C6149C01215031093093C61420930E -:102F3000C51421E0892B09F420E0222309F447C1BC -:102F400000E010E020E04DEB54E161EC74E180E042 -:102F50000F94FD27A22EB32EC42ED52EE62EF72ECB -:102F6000082F192F2A2D3B2D4C2D5D2D6E2D7F2DD9 -:102F7000802F912F2AAF3BAF4CAF5DAF6EAF7FAFCD -:102F80008AAD88230CF05AC018868885863008F0F0 -:102F90001EC119868985863008F04CC08885282F87 -:102FA00030E08985482F50E0C901880F991F820FB2 -:102FB000931F880F991F840F951F880F991F880FE3 -:102FC000991F8A5C9D4EFC0180819181A281B38111 -:102FD00011E09C01AD01BC01CD010F941565882362 -:102FE00009F410E0112311F18885682F70E08985BC -:102FF000E82FF0E02091C7143091C8144091C91413 -:103000005091CA14CB01880F991F860F971F880F04 -:10301000991F8E0F9F1F880F991F880F991F8A5C19 -:103020009D4EFC01208331834283538389858F5FCA -:103030008987B0CF88858F5F8887A7CF8AAD682FB3 -:10304000880F770B8BADE82F880FFF0B2091C714EB -:103050003091C8144091C9145091CA14CB01880F03 -:10306000991F860F971F880F991F8E0F9F1F880F1C -:10307000991F880F991F8A5C9D4EFC012083318324 -:10308000428353838AAD282F880F330B8BAD482F93 -:10309000880F550BC901880F991F820F931F880F46 -:1030A000991F840F951F880F991F880F991F8A5C9D -:1030B0009D4EFC0180819181A281B3812BAD622F55 -:1030C0002AAD722F9C01AD01872F0E94739B26CFE2 -:1030D0000E948B8CDC01CB018E8B9F8BA88FB98FCC -:1030E00020E030E040E251E46E897F89888D998D3F -:1030F0000F94385BDC01CB01BC01CD010F940A6554 -:10310000DC01CB01BC01CD010F943463DC01CB01A8 -:103110004E97019709F040C026E636E646E450E4B3 -:103120006E897F89888D998D0F94C761DC01CB01F1 -:1031300020E030E048EC52E4BC01CD010F94385B54 -:10314000DC01CB018A8F9B8FAC8FBD8F20E030E0FC -:10315000A9016A8D7B8D8C8D9D8D0F94D25A882309 -:1031600079F08A8D9B8DAC8DBD8D9C01AD0160E0A9 -:1031700070E080E291E40F946864DC01CB0103C04D -:1031800080E090E0DC018EAB9FABA8AFB9AFCE0181 -:10319000C6960E947BD51CC00E9416E119C08FE81C -:1031A00095E30F944B4AE5C08091C7149091C814E1 -:1031B000A091C914B091CA142091BA14AC01BD01F8 -:1031C000822F0F94D72E04C00F948C2E01C00000C4 -:1031D0008CE40E94C28C882309F455C0809192141B -:1031E0009091931421E0892B09F420E0222319F017 -:1031F0000E94878C05C080912213082E000C990B29 -:1032000090932D1280932C120E94D2C89F8F8E8F84 -:103210008E8D9F8D892B29F48FE695E30F944B4A71 -:10322000A8C080912C1290912D12992364F08E8D5C -:103230009F8D9C012150310980912C1290912D126B -:103240002817390774F48E8D9F8D9C012150310908 -:103250008DE495E3B9010F94A84A8AE00E9427669D -:1032600088C080912C1290912D1260E070E00E9435 -:10327000DEC880912C1290912D128093221386E447 -:1032800095E30F944B4A83E50E94C28C882309F48E -:103290005CC0809192149091931421E0892B09F4E1 -:1032A00020E0222319F00E94878C05C08091221310 -:1032B000082E000C990B90932D1280932C12809164 -:1032C0002C1290912D12019619F40F94CF4A51C0EF -:1032D0000E94D2C899A388A388A199A1892B29F417 -:1032E00086E295E30F944B4A3BC080912C1290915B -:1032F0002D12992364F088A199A19C0121503109D4 -:1033000080912C1290912D122817390774F488A1FE -:1033100099A19C012150310984E095E3B9010F94F2 -:10332000A84A8AE00E9427661BC080912C129091C7 -:103330002D120E9428C980912C1290912D128093F9 -:1033400022138DEF94E30F944B4A84E50E94C28CC4 -:10335000882331F08091B8149091B9140E943E9066 -:103360008981882331F00E941AC281EF94E30F947F -:10337000B426CB5BDF4F0FB6F894DEBF0FBECDBFD8 -:10338000DF91CF911F910F91FF90EF90DF90CF9041 -:10339000BF90AF909F908F907F906F900895809195 -:1033A000090180FD06C080916C1883FB882780F995 -:1033B000089580E008950F931F93CF93DF938B01BF -:1033C000D82FC92F4630C1F41092B8131092B913F8 -:1033D0001092BA131092BB131092BC130E943FF4C8 -:1033E00020E030E04CE053E4B8018D2F9C2F0F9487 -:1033F000D25A87FD0FC01DC00F94870920E030E02E -:1034000046E953E4B8018D2F9C2F0F94D25A87FDC3 -:1034100020C02EC020E030E0A901B8018D2F9C2FE4 -:103420000F94286418164CF000E010E0D0E0C0E0E3 -:1034300004C000E010E0DCE0C3E4B8018D2F9C2F55 -:103440000F943463CB01DF91CF911F910F910C94B6 -:103450001BE320E030E0A901B8018D2F9C2F0F94D1 -:10346000286418164CF000E010E0D0E0C0E004C082 -:1034700000E010E0D6E9C3E4B8018D2F9C2F0F9433 -:103480003463CB01DF91CF911F910F910C94D7BB87 -:103490009091D614977081E0973009F080E00895FC -:1034A00080915C1690915D16891B8F7069F48091F4 -:1034B000DB0B811109C081E02091580A3091590A33 -:1034C000232B19F480E0089581E008953F924F92F4 -:1034D0005F926F927F928F929F92AF92BF92CF92A4 -:1034E000DF92EF92FF920F931F93CF93DF93CDB7AD -:1034F000DEB762970FB6F894DEBF0FBECDBF2B01CB -:103500003C01342E24E0429FC00111249A8B898B08 -:10351000FC01EB5EFD4FC080D180E280F38020E0B3 -:1035200030E04AE754E4C701B6010F94C7614B018C -:103530005C0120E030E04AE754E4C701B6010F9493 -:10354000C8617B018C01809143028823D1F181E025 -:10355000381639F13816A0F092E0391232C0809056 -:103560003B0290903C02A0903D02B0903E02E09061 -:103570003F02F0904002009141021091420221C0AE -:1035800080902B0290902C02A0902D02B0902E02E1 -:10359000E0902F02F090300200913102109132023F -:1035A00010C08090330290903402A0903502B09009 -:1035B0003602E0903702F090380200913902109103 -:1035C0003A0280E1EBEEF2E0DE01119601900D92FD -:1035D0008A95E1F7E1E0F0E0EC0FFD1F89899A8917 -:1035E000E80FF91F20E030E040E752E4608171818C -:1035F000828193810F94C262609355027093560248 -:1036000080935702909358028091D71481FF0E94B3 -:1036100029E39201A301B701C8010F942864181689 -:1036200014F4720183019701A801B401C5010F943C -:10363000D25A87FD02C074018501E989FA89EE53E7 -:10364000F74EC701D80180839183A283B383809111 -:10365000D71482608093D71462960FB6F894DEBFB9 -:103660000FBECDBFDF91CF911F910F91FF90EF90D3 -:10367000DF90CF90BF90AF909F908F907F906F9092 -:103680005F904F903F9008952091D71490E0880F5D -:10369000991F880F991FFC0121FF03C0EE53F74EBD -:1036A00002C0EB5EFD4F608171818281938108953C -:1036B0002091D71420FF14C020E83EE3629FA001B0 -:1036C000639F500D729F500D1124CA0196958795E6 -:1036D00096958795009731F08A950000E9F708954F -:1036E0000D941C4A08959F92AF92BF92CF92DF92A1 -:1036F000EF92FF920F931F93CF93DF938091F41279 -:10370000833009F50E94489A8823E9F06091240AE1 -:103710007091250A072E000C880B990B0F94D95A2B -:1037200020E030E040E85FE30F94C7612091200A79 -:103730003091210A4091220A5091230A0F94D25AC3 -:1037400018160CF066C0D0E000E010E0FF24F394FF -:10375000EE24E39446E0D42EC0E0CC24C39456E09B -:10376000B52E65E0A62E72E8972EFC24DC16F1F14A -:103770008D2F90E08397C4F5C530B1F10530A1F1EC -:10378000DF5FF801BC9EE00DF11D1124EE0FFF1F5D -:10379000EE0FFF1FEA5CFD4E20E030E04AE754E404 -:1037A00060817181828193810F94385B0F943463BF -:1037B0007093F1166093F016A092E4169092E716BB -:1037C0008D2F90E08158974F880F991F092E000C7C -:1037D000AA0BBB0B8093E8169093E916A093EA1608 -:1037E000B093EB160F94E632CE0DC0CF0F5F1F4F94 -:1037F0000630110579F1F11006C0EE24EA94DD24BB -:10380000DA94C5E0B2CFEE24E39436E0D32EC0E0E4 -:10381000ACCF81E09AE59093F1168093F01680E4A6 -:1038200090E09093F3168093F21687E08093E4166D -:1038300082E88093E71684E890E0A0E0B0E080930F -:10384000E8169093E916A093EA16B093EB160F943E -:10385000E63279CFDF91CF911F910F91FF90EF90DA -:10386000DF90CF90BF90AF909F900895AF92BF929E -:10387000CF92DF92EF92FF920F931F93CF93DF933C -:10388000EC0188EEC82E80E2D82EE12CF12C02E863 -:10389000A12C90E2B92E15E00093E716C092E8162D -:1038A000D092E916E092EA16F092EB16B092F11679 -:1038B000A092F0161093E4160F94E6328FEFC81A18 -:1038C000D80AE80AF80A80E1C81681E2D806E104BD -:1038D000F10411F748EE50E260E070E0CE01DF91B4 -:1038E000CF911F910F91FF90EF90DF90CF90BF90FD -:1038F000AF900D94953284E08093F31282E0809330 -:10390000CA0881E09AE59093F1168093F0168EE450 -:1039100090E09093F3168093F21687E08093E4167C -:1039200082E88093E71684E890E0A0E0B0E080931E -:10393000E8169093E916A093EA16B093EB160F944D -:10394000E6328DE896E00C944567CF92DF92EF92D5 -:10395000FF926A017B010E940B8D882331F0FF905A -:10396000EF90DF90CF900C948B8CC701B601FF9045 -:10397000EF90DF90CF9008952F923F924F925F92F9 -:103980006F927F928F929F92AF92BF92CF92DF926F -:10399000EF92FF920F931F93CF93DF93CDB7DEB7D4 -:1039A000CD54D1090FB6F894DEBF0FBECDBF60E095 -:1039B00070E085E40E94188D182F81E0810F82301D -:1039C00018F08EE099E354C065E070E083E40E9453 -:1039D000188D89A760E085E50E946BE42C968FAF77 -:1039E0002C9717FF05C040E050E06CE872E404C07B -:1039F00040E050E066E173E483E50E94A59C0F94EB -:103A00003463072E000C880B990B0F94D95A6D83E1 -:103A10007E838F832E969FAF2E970F9406402B01A7 -:103A20003C011F3F09F409C5E12E012E000CFF08DF -:103A3000F70183E0EE0FFF1F8A95E1F7E45FFD4F8A -:103A4000668177816F507109072E000C880B990BE6 -:103A50000F94D95A9B01AC016D817E818F812E9686 -:103A60009FAD2E970F9428641816ECF483EE98E31C -:103A7000C35BDF4F0FB6F894DEBF0FBECDBFDF9143 -:103A8000CF911F910F91FF90EF90DF90CF90BF905B -:103A9000AF909F908F907F906F905F904F903F90EE -:103AA0002F900D944B4A8FEC98E30F944B4A0E9451 -:103AB0008EF487E18E9DF0018F9DF00D1124EC575F -:103AC000F34F8FE7828722E330E0A8EEB3E00F9454 -:103AD0007C616BA77CA78DA79EA79B01AC01240DE1 -:103AE000351D461D571D28AF39AF4AAF5BAF81E08A -:103AF00080931402109263021F3F11F58BEA9AEA39 -:103B0000AAEABEE38CAF9DAFAEAFBFAF2DEC3CECED -:103B10004CE45EE324962CAF3DAF4EAF5FAF2497ED -:103B200025961FAE259747E158E327965FAF4EAF26 -:103B3000279781EE97E329969FAF8EAF299721C0F3 -:103B400020E030E040E05EE32CAF3DAF4EAF5FAF32 -:103B50008AE999E9A9E1BFE324968CAF9DAFAEAFA6 -:103B6000BFAF249725961FAF2597A5E0B8E327960A -:103B7000BFAFAEAF2797EEECF7E32996FFAFEEAFFE -:103B8000299749A25AA26BA27CA24FA658AA69AA59 -:103B90007AAA2FE730E040E050E0288739874A874B -:103BA0005B87188A198A1A8A1B8A1C861D861E86BC -:103BB0001F86C12CD12C76011E8A30E43F8B4CE14C -:103BC000488F56E4598F1A8E1B8E1C8E1D8E1BAA91 -:103BD000CCAADDAAEEAAFFAAFFE78F2E912CA12C7A -:103BE000B12C1DA21EA21FA218A681E088A31D8AC7 -:103BF0001C8A212C312C00E02D961FAE2D97A7E1B9 -:103C00001A02C00111248C57934FFC013A962B964F -:103C1000FFAFEEAF2B979C012C5F3F4F3F8F2E8F56 -:103C200049A5042E000C550B5AA749A780911402F0 -:103C3000882309F454C20F94064069837A838B83E6 -:103C40009C838091C313882309F4BAC00E9442F672 -:103C50001F3F61F42090200A3090210A0091220A2F -:103C60005091230A2D965FAF2D970EC0AE8DBF8D5C -:103C70002C9011963C90119712960C9112971396D6 -:103C8000BC912D96BFAF2D972A8D3B8D4C8D5D8DB0 -:103C9000B101802F2D969FAD2D970F942864181693 -:103CA0003CF42A8E3B8E0C8F2D96EFAD2D97ED8F29 -:103CB0002E893F89488D598DB101802F2D969FAD5A -:103CC0002D970F94D25A87FF07C02E8A3F8A088FFC -:103CD0002D96FFAD2D97F98F28A1222309F44DC011 -:103CE0009101402F2D965FAD2D976D817E818F8143 -:103CF0002E969FAD2E970F94D25A87FF61C04981AF -:103D00005A816B817C814419550966097709DB0169 -:103D1000CA0188589341A109B109B7FD51C08885EE -:103D20009985AA85BB8588199909AA09BB09B59502 -:103D3000A795979587951F3F19F48093260A05C08C -:103D40002B96EEADFFAD2B9780834DA35EA36FA3A3 -:103D500078A7FD81FA8F2E812B8F3F813C8F2E9685 -:103D60004FAD2E974D8F89819A81AB81BC8189A3FC -:103D70009AA3ABA3BCA318A223C09101402F2D96F8 -:103D80005FAD2D976D817E818F812E969FAD2E9791 -:103D90000F9428641816A4F489819A81AB81BC81A0 -:103DA00029A13AA14BA15CA1821B930BA40BB50BDB -:103DB000AC01BD01485853416109710977FFAEC19B -:103DC00020E030E040EA51E46D817E818F812E96C3 -:103DD0009FAD2E970F94C8619101402F2D965FAD36 -:103DE0002D970F94D25A87FF03C089E398E3B9C097 -:103DF00089819A81AB81BC812FA538A949A95AA98B -:103E0000821B930BA40BB50BB7FD90C025968FAD0D -:103E100025970E94FCEC8AE00E94276689819A819E -:103E2000AB81BC818053984FAF4FBF4F8FA798ABEA -:103E3000A9ABBAAB9BA9911159C02CA93DA94EA918 -:103E40005FA9B101802F2D969FAD2D970F94286407 -:103E50001816BCF520E030E040E050E4B101802FBE -:103E60002D969FAD2D970F94C8616CAB7DAB8EAB3B -:103E70009FAB2BA53CA54DA55EA589819A81AB8101 -:103E8000BC81280F391F4A1F5B1F28AF39AF4AAFCB -:103E90005BAF20E030E040EC50E46D817E818F81AB -:103EA0002E969FAD2E970F94C7619101402F2D96AE -:103EB0005FAD2D970F94D25A881F8827881F8BAB30 -:103EC00035C089819A81AB81BC8128AD39AD4AADBD -:103ED0005BAD821B930BA40BB50BB7FD27C02796D8 -:103EE0004EAD5FAD27976AE278E31DC020E030E079 -:103EF00040EA51E46D817E818F812E969FAD2E9791 -:103F00000F94C7619B01AC01B101802F2D969FAD2D -:103F10002D970F94D25A87FF09C029964EAD5FADF9 -:103F2000299765EF77E3812F0F949F4089819A81CC -:103F3000AB81BC81880F991FAA1FBB1F29A13AA181 -:103F40004BA15CA1821B930BA40BB50B84199509A3 -:103F5000A609B70981389F44A241B10528F080EB3A -:103F600097E30F944B4ABBC049A55AA58C899D89FC -:103F7000481759070CF0B0C003970CF4ADC083E5A7 -:103F800097E30F944B4A1F3F29F4A3E4B7E3BA83A6 -:103F9000A98304C0E2E4F7E3FA83E98381E397E3CA -:103FA0000F944B4A89819A810F944B4AB701A6011D -:103FB0008FE497E30F94974A8AE00E94276681E393 -:103FC00097E30F944B4A89819A810F944B4A4C8511 -:103FD0005D856E857F858BE497E30F94974A8AE031 -:103FE0000E94276681E397E30F944B4A89819A8167 -:103FF0000F944B4A488959896A897B8987E497E3FA -:104000000F94974A8AE00E9427662C96FFAD2C9762 -:10401000FF2309F466C01F3F69F5C092270AD092BA -:10402000280AE092290AF0922A0A2CEA35EC47E2A3 -:104030005EE36C857D858E859F850F94385B6093EC -:104040002B0A70932C0A80932D0A90932E0A2CEA47 -:1040500035EC47E25EE3688979898A899B890F9408 -:10406000C26260932F0A7093300A8093310A909352 -:10407000320A37C047E11402900111242C57334F04 -:104080003A832983D9011B96CD92DD92ED92FC9261 -:104090001E972CEA35EC47E25EE36C857D858E85C4 -:1040A0009F850F94385BE981FA816787708B818BDC -:1040B000928B2CEA35EC47E25EE3688979898A893C -:1040C0009B890F94C262A981BA8153966D937D93A7 -:1040D0008D939C93569705C00E94B630A7CD0E9441 -:1040E0008EF481E080936302C35BDF4F0FB6F894D8 -:1040F000DEBF0FBECDBFDF91CF911F910F91FF901B -:10410000EF90DF90CF90BF90AF909F908F907F9077 -:104110006F905F904F903F902F9008954C895D89EC -:10412000452B09F451C14DA05EA06FA078A4480EA4 -:10413000591E6A1E7B1E2DA13EA14FA158A5281B0A -:10414000390B4A0B5B0BC501B4010F941861A30135 -:1041500092010F944A6188849984AA84BB84820E58 -:10416000931EA41EB51E54E185169104A104B1044A -:104170000CF18CEE88169104A104B1043CF490E893 -:1041800089169104A104B10434F422C06BEE862E8A -:10419000912CA12CB12C88869986AA86BB862EEFFD -:1041A00030E040E050E0281939094A095B0949012B -:1041B0005A0112C084E190E0A0E0B0E088879987BE -:1041C000AA87BB8754E1852E912CA12CB12C04C069 -:1041D00088869986AA86BB8687EC98E30F944B4A1B -:1041E000688579858A859B850E949B6682EC98E329 -:1041F0000F944B4AC501B4010E949B664E895F89AA -:10420000688D798D8BEB98E30F94974A4A8D5B8D7F -:104210006C8D7D8D84EB98E30F94974AAC89BD89B2 -:1042200013970CF4D1C0C501B4010F94D95A20E002 -:1042300030E040E850E40F94385B6B017C012E893C -:104240003F89488D598D6A8D7B8D8C8D9D8D0F9406 -:10425000C7612BED3FE049E450E40F94385B20E068 -:1042600030E040E05FE30F94385B9B01AC01C70195 -:10427000B6010F94C2626B017C01C301B2010F94BD -:10428000D95A2FE632E143E85AE30F94385B2B0109 -:104290003C01B701A6018EEA98E30F94974AB30157 -:1042A000A20188EA98E30F94974A1F3F09F044C09F -:1042B0002DEC3CEC4CE45EE3C701B6010F94385B97 -:1042C0006B017C019B01AC010F94C861A3019201B9 -:1042D0000F94C2626C877D878E879F87A7019601A6 -:1042E000C301B2010F94385B20E030E040E450E4B9 -:1042F0000F94C262688B798B8A8B9B8B88E998E3D9 -:104300000F944B4AB701A60182E998E30F94974AAC -:104310004C855D856E857F858CE898E30F94974A80 -:10432000488959896A897B8986E898E30F94974A76 -:104330008AE00E9427664AC024962CAD3DAD4EAD62 -:104340005FAD2497C701B6010F94385B6B017C0108 -:104350009B01AC01C301B2010F94385B2CAD3DADA4 -:104360004EAD5FAD0F94385B688B798B8A8B9B8BDE -:10437000A7019601C701B6010F94C861A30192017C -:104380000F94C2626C877D878E879F8786E798E34C -:104390000F944B4AB701A60180E798E30F94974A20 -:1043A0004C855D856E857F858AE698E30F94974AF4 -:1043B000488959896A897B8984E698E30F94974AEA -:1043C0008AE00E94276611C01F3F79F4888599858D -:1043D000AA85BB85880D991DAA1DBB1DB595A795FE -:1043E000979587958093260A11C088859985AA8517 -:1043F000BB85880D991DAA1DBB1DB595A7959795E1 -:1044000087952B96EEADFFAD2B9780832C893D8948 -:104410002F5F3F4F3D8B2C8B3D813E8B4E814F8BD1 -:104420005F81588F2E968FAD2E97898F49805A8045 -:104430006B807C8091E098A3C3CC20E030E047E023 -:1044400053E46D817E818F812E969FAD2E970F94C0 -:10445000286418160CF40ACB8FEC98E30F944B4A9F -:104460000E948EF48FE78093260A24EB30E02DCB58 -:104470002F923F924F925F926F927F928F929F9274 -:10448000AF92BF92CF92DF92EF92FF920F931F9362 -:10449000CF93DF93EB01FC0180809180A280B380F9 -:1044A000C501B40120E831E541E050E00F942861F6 -:1044B000C9016DE671E00F9497616B017C01C50144 -:1044C000B40120E13EE040E050E00F942861CA01D1 -:1044D000B90128E130E040E050E00F942861362E29 -:1044E000272E062F172F8CE3482E512C612C712C70 -:1044F000C501B401A30192010F942861B62EA72E25 -:10450000CA01B901A30192010F942861CB01C11422 -:10451000D104D9F0AF92BF927F936F932F923F92C5 -:10452000FF92EF92DF92CF928DE197E39F938F936B -:10453000DF93CF930F946A5A8DB79EB70E960FB63E -:10454000F8949EBF0FBE8DBF5CC0E114F104C9F0AA -:10455000AF92BF927F936F932F923F92FF92EF9211 -:104560008DE097E39F938F93DF93CF930F946A5AD5 -:10457000EDB7FEB73C960FB6F894FEBF0FBEEDBF89 -:1045800040C0012BB9F0AF92BF927F936F932F92EF -:104590003F9281E097E39F938F93DF93CF930F94A4 -:1045A0006A5A8DB79EB70A960FB6F8949EBF0FBE93 -:1045B0008DBF27C0892BA9F0AF92BF927F936F93D5 -:1045C00089EF96E39F938F93DF93CF930F946A5A6B -:1045D000EDB7FEB738960FB6F894FEBF0FBEEDBF2D -:1045E00010C0AF92BF9285EF96E39F938F93DF93B6 -:1045F000CF930F946A5A0F900F900F900F900F90D7 -:104600000F90DF91CF911F910F91FF90EF90DF906E -:10461000CF90BF90AF909F908F907F906F905F9062 -:104620004F903F902F9008958F929F92AF92BF929C -:10463000CF92DF92EF92FF920F931F93CF93DF936E -:10464000CDB7DEB7E6970FB6F894DEBF0FBECDBF8D -:10465000009134121091351282E080934C0CF801D5 -:1046600001900020E9F731975F01A01AB10AF80123 -:10467000CF01801B910B8A159B0534F480818F320A -:1046800009F410823196F4CF8BE1EEECF5E1DE0116 -:104690005C9601900D928A95E1F7E12CF12CEA14D9 -:1046A000FB040CF084C0F801EE0DFF1D8081811128 -:1046B00003C08FEFE81AF80A6801CE0CDF1CF60180 -:1046C0008081882309F473C0FFEFEF1AFF0AF80115 -:1046D000EE0DFF1D7F01E01AF10A81918111FACFE1 -:1046E000CE014C960E94B8B58BE1FE017C96DE01AE -:1046F000119601900D928A95E1F7A601BE016F5FB8 -:104700007F4F80E090E00E94FB72CE0101960E94F4 -:10471000EEB68FE20E94276680913E1B811103C096 -:1047200087EA96E002C08EE39BE14C01F40181919F -:104730004F01882319F00E942766F8CF80916C18EA -:1047400084FF35C019821C8221E0A601BE01645E8F -:104750007F4FCE0101960E94D1BA811116C08AE026 -:104760000E9427660F94CB4A81EE96E30F944B4A42 -:10477000F60181916F01882319F00E942766F8CF16 -:10478000CE0101960E94EEB612C0CE014C960E9458 -:10479000E5B68BE1FE013196DE015C9601900D924B -:1047A0008A95E1F7CE0101960E94EEB678CF8AE0B5 -:1047B0000E942766CE014C960E94EEB6E6960FB692 -:1047C000F894DEBF0FBECDBFDF91CF911F910F9147 -:1047D000FF90EF90DF90CF90BF90AF909F908F9021 -:1047E000089590916C1893FB882780F993FF06C079 -:1047F00081E090917815911101C080E00895CF93E8 -:10480000DF93E091DA0BF0E0E25BF84E80818823E1 -:1048100009F447C085ED96E30F944B4AC091DA0B3B -:1048200040E6C49FE0011124C65AD54F88818E34DA -:1048300079F480E20E94276689910E942766899117 -:1048400090ED980F9A30C8F38D32B9F38B32A9F3FB -:1048500082ED96E30F944B4A90915C1680915D1621 -:10486000981B9F706AE070E02FE030E0A901491BBF -:104870005109CA010E94B7668FEC96E30F944B4A28 -:104880009091DB0B6AE070E024E030E0A901491B65 -:104890005109CA010E94B7668AE0DF91CF910C945A -:1048A0002766DF91CF9108950E94526788ED96E3C5 -:1048B0000F944B4A8091301290913112A091321294 -:1048C000B0913312BC01CD016F5F7F4F8F4F9F4F6F -:1048D0000E949B660E943F670C94FFA30F931F9357 -:1048E000CF938C01C62F0F94C74AC8010F944B4A2F -:1048F0006091301270913112809132129091331286 -:104900000E949B660E943F67C11104C00E945767C6 -:104910000196E1F70E9454A4EC2FEE0FFF0BE25D2D -:10492000FD4E11821082CF911F910F9108955F92D9 -:104930006F927F928F929F92AF92BF92CF92DF92AF -:10494000EF92FF920F931F93CF93DF93CDB7DEB714 -:104950006DB67EB67C0100E010E08DB69EB6F70124 -:10496000E00FF11F5490C80101965C01552029F019 -:104970009AE0591611F08501F2CF8DB79EB78A19CA -:104980009B090FB6F8949EBF0FBE8DBF01966C01B8 -:10499000A801B7010F940C5AF601E00FF11F108225 -:1049A000C6010F94F51E552041F0EA0CFB1C0FB612 -:1049B000F8949EBE0FBE8DBED0CF0FB6F8947EBECB -:1049C0000FBE6DBEDF91CF911F910F91FF90EF90C1 -:1049D000DF90CF90BF90AF909F908F907F906F901F -:1049E0005F9008954F925F926F927F928F929F9205 -:1049F000AF92BF92CF92DF92EF92FF920F931F93ED -:104A0000CF93DF93CDB7DEB768970FB6F894DEBFCC -:104A10000FBECDBFC82E2A013B015901E82EF12C53 -:104A2000F701E951F64CE491992493941E160CF485 -:104A3000912CDD24D39420E030E0A901C301B20120 -:104A40000F94286418160CF0D12CD92461F082E060 -:104A5000C81209C081E00E94B68A69E170E080E076 -:104A600090E00F941C4A80E00E9498C369837A8387 -:104A70008B839C8381E00E9498C36D837E838F83A8 -:104A8000988782E00E9498C369877A878B879C8782 -:104A900083E00E9498C36D877E878F87988BEE0C8A -:104AA000FF1CEE0CFF1C88248394912C8C0E9D1E01 -:104AB0008E0C9F1CF40110821182128213829E01BF -:104AC000235F3F4FAE01475F5F4FBE016B5F7F4F7C -:104AD000CE0101960E9487C2F40140825182628217 -:104AE00073821D8A1E8A1F8A188E20E030E0A90179 -:104AF000B801C5010F94D25A811109C0F701E256DD -:104B0000F64C85919591A591B4918C015D01C801F8 -:104B1000D501898B9A8BAB8BBC8BCE0145967C01E2 -:104B20008E010F5E1F4F9E01235F3F4FAE01475F17 -:104B30005F4FBE016B5F7F4F44970E94DC770E94FE -:104B40001AC2DD2041F092E0C91203C080E00E9449 -:104B5000B68A0E947DC768960FB6F894DEBF0FBE76 -:104B6000CDBFDF91CF911F910F91FF90EF90DF901C -:104B7000CF90BF90AF909F908F907F906F905F90FD -:104B80004F9008954F925F926F927F928F929F9273 -:104B9000AF92BF92CF92DF92EF92FF920F931F934B -:104BA000CF93DF93CDB7DEB768970FB6F894DEBF2B -:104BB0000FBECDBF8C015B015A834983FC01EF5BC3 -:104BC000FF4F60817181828193810F94D75A6B016D -:104BD0007C01D5012D913D914D915C910F94385BF5 -:104BE0000F94A6620F943B6369877A878B879C87B3 -:104BF000E981FA812081318142815381C701B60167 -:104C00000F94385B0F94A6620F943B636D877E8789 -:104C10008F87988B29853A854B855C8528373105A8 -:104C20004105510540F488E790E0A0E0B0E08987B5 -:104C30009A87AB87BC872D853E854F855889283755 -:104C400031054105510540F488E790E0A0E0B0E06F -:104C50008D879E87AF87B88BF801E35BFF4F20817C -:104C600031814281538129833A834B835C83CA011A -:104C7000B9010F94D95A2B013C0169857A858B853E -:104C80009C850F94D75A698B7A8B8B8B9C8B20E0F9 -:104C900030E0A901C301B2010F94D25A882329F14F -:104CA000A7019601C701B6010F94385B4B015C0167 -:104CB00029893A894B895C89CA01B9010F94385B0B -:104CC0009B01AC01C501B4010F94C7614B015C01AC -:104CD000A3019201C301B2010F94C8619B01AC0111 -:104CE000C501B4010F94C26203C060E070E0CB0163 -:104CF0000F94A6620F943B636D837E838F839887A6 -:104D000069817A818B819C81909580957095619560 -:104D10007F4F8F4F9F4F0F94D95A4B015C016D8588 -:104D20007E858F8598890F94D75A69837A838B8380 -:104D30009C8320E030E0A901C501B4010F94D25A50 -:104D4000882349F129813A814B815C81CA01B901EB -:104D50000F94385B6D8B7E8B8F8B988FA70196019C -:104D6000C701B6010F94385B9B01AC016D897E8948 -:104D70008F89988D0F94C7616B017C01A501940107 -:104D8000C501B4010F94C8619B01AC01C701B60114 -:104D90000F94C26203C060E070E0CB010F946A63BD -:104DA000D80195968D909D90AD90BC909897750187 -:104DB00064012D813E814F815885C21AD30AE40ACD -:104DC000F50A0F943B63C61AD70AE80AF90AF7FEF8 -:104DD00075C020E030E0A901C301B2010F94D25A9E -:104DE000882309F443C0C501B4010F94D75A6B015D -:104DF0007C01A3019201C301B2010F94C8619B0120 -:104E0000AC01C701B6010F94385B6B017C012989A5 -:104E10003A894B895C89CA01B9010F94385B9B01BF -:104E2000AC01C701B6010F94C7616B017C012981F8 -:104E30003A814B815C81CA01B9010F94385B9B01B7 -:104E4000AC01C701B6010F94C8616B017C0120E081 -:104E500030E040E850E4C301B2010F94385B9B019D -:104E6000AC01C701B6010F94C26203C060E070E0FC -:104E7000CB010F94A6627B018D83998320E030E003 -:104E8000A9010F942864181624F0E12CF12C1D823E -:104E90001982B7018D8199810F943B636D837E8365 -:104EA0008F83988786169706A806B90620F48D8208 -:104EB0009E82AF82B886C12CD12C76018D819E81D5 -:104EC000AF81B885F80181A792A7A3A7B4A7C80EA0 -:104ED000D91EEA1EFB1EC5A6D6A6E7A6F0AAEB5B66 -:104EE000FF4F29853A854B855C852083318342833A -:104EF000538334968D859E85AF85B8898083918351 -:104F0000A283B38368960FB6F894DEBF0FBECDBF01 -:104F1000DF91CF911F910F91FF90EF90DF90CF9095 -:104F2000BF90AF909F908F907F906F905F904F90C9 -:104F300008954F925F926F927F928F929F92AF925D -:104F4000BF92CF92DF92EF92FF920F931F93CF9376 -:104F5000C82FE82EF12CF701E951F64CB4908230BD -:104F600049F481E00E944CBD811106C10F949C0E52 -:104F7000811102C16701CC0CDD1CCC0CDD1CF601DB -:104F8000E552F64C45905590659074906B2DBB0C96 -:104F9000770B880B990B0F94D95A4B015C0120E0D9 -:104FA00030E040EC5FE3C301B2010F94385BA50130 -:104FB00094010F94385BAB01BC0100E010E0980154 -:104FC0008C2F0E94F2A4C23009F0CAC00F944D0E7B -:104FD000E0E070E060EA80E42E2F372F462F582F54 -:104FE000C501B4010F94385B4B015C0120E030E057 -:104FF000A9010F94D25A882309F44EC0C23021F07F -:1050000000E010E0980104C000E010E020E830E487 -:10501000B501A40170588C2F0E94F2A4C23051F443 -:105020000F949C0E8111A8C0412C512C612C90E44E -:10503000792E21C0F701E453F64C6491611107C049 -:105040000F94CB4A8AEA99E30F944B4A6AE0F6013F -:10505000E256F64C459055906590749070E080E073 -:1050600090E00F94D95A9B01AC01C301B2010F9497 -:10507000C2622B013C01A5019401C501B4010F944A -:10508000C861AB01BC01930182018C2F0E94F2A484 -:10509000C23011F40F944D0E81E090E00C2E01C04F -:1050A000880F0A94EAF79091D614982B9093D6140F -:1050B0009091D612892B8093D612F601EE56F64CBB -:1050C00085919591A591B491F601EB5EFD4F80839A -:1050D0009183A283B383C230D1F420911213309113 -:1050E0001313409114135091151360911D02709188 -:1050F0001E0280911F02909120020F94C76160935D -:105100001D0270931E0280931F0290932002109242 -:10511000D5141092D4140E9486C6F601EE53F74EB1 -:10512000D601AB5EBD4F8D919D910D90BC91A02D90 -:1051300080839183A283B383C230F1F480E0CF9166 -:105140001F910F91FF90EF90DF90CF90BF90AF90A5 -:105150009F908F907F906F905F904F900C944CBD7C -:10516000F601E153F64C85919591A591B491E82F04 -:10517000792F6A2F8B2F30CFCF911F910F91FF90F6 -:10518000EF90DF90CF90BF90AF909F908F907F90E7 -:105190006F905F904F900895CF93DF9324E0829FAC -:1051A000C0011124EC01C250DD4EFC01E55BF54F5E -:1051B000DC01A653BD4E2D913D914D915C916081D6 -:1051C0007181828193810F94C861688379838A8316 -:1051D0009B83DF91CF9108951F93CF93DF93882313 -:1051E00029F0D091D612D095D17001C0D0E06623BD -:1051F00039F01091D6121695117081E0182701C070 -:1052000010E0442341F0C091D612C2FBCC27C0F974 -:1052100081E0C82701C0C0E0D11105C0111103C051 -:10522000CC2309F444C00F94CB4A8CE899E30F9443 -:105230004B4ADD2319F088E50E942766112319F0F7 -:1052400089E50E942766CC2319F08AE50E9427662B -:1052500084E899E30F944B4AC11103C041EB55E038 -:1052600002C047EC58E0111103C021EB35E002C049 -:105270002BEA36E0D11103C081EB95E002C08DEA44 -:1052800096E05F934F933F932F939F938F9382E783 -:1052900099E39F938F931F920F94D6088DB79EB773 -:1052A00009960FB6F8949EBF0FBE8DBFC1E08C2F3C -:1052B000DF91CF911F910895CF92DF92EF92FF92ED -:1052C000CF93DF9320914302222309F485C0EC01A0 -:1052D000C0902B02D0902C02E0902D02F0902E0274 -:1052E000288139814A815B81C701B6010F94286406 -:1052F000181624F4C882D982EA82FB82C0902F0259 -:10530000D0903002E0903102F09032022881398151 -:105310004A815B81C701B6010F94D25A87FF04C04E -:10532000C882D982EA82FB82C0903302D0903402D4 -:10533000E0903502F09036022C813D814E815F81F4 -:10534000C701B6010F942864181624F4CC82DD82BC -:10535000EE82FF82C0903702D0903802E09039028E -:10536000F0903A022C813D814E815F81C701B601E8 -:105370000F94D25A87FF04C0CC82DD82EE82FF8276 -:10538000C0903B02D0903C02E0903D02F0903E0283 -:10539000288539854A855B85C701B6010F94286445 -:1053A000181624F4C886D986EA86FB86C0903F0288 -:1053B000D0904002E0904102F09042022885398569 -:1053C0004A855B85C701B6010F94D25A87FF04C096 -:1053D000C886D986EA86FB86DF91CF91FF90EF9051 -:1053E000DF90CF9008952F923F924F925F926F92ED -:1053F0007F928F929F92AF92BF92CF92DF92EF9265 -:10540000FF920F931F93CF93DF93CDB7DEB7C857AB -:10541000D1090FB6F894DEBF0FBECDBF82EC98E184 -:105420000E945CA98091CF1183FD7DC0C090CE18F1 -:10543000D090CF18E090D018F090D1182091210290 -:10544000309122024091230250912402C701B601FB -:105450000F94D25A882309F466C08091830C81117D -:105460001FC06091880C7091890C80918A0C90917A -:105470008B0C0F9434632091290230912A02621719 -:10548000730774F4C0922102D0922202E0922302A8 -:10549000F09224020F94CB4A87E599E30F944B4A8C -:1054A0008090CE189090CF18A090D018B090D118BE -:1054B0002091210230912202409123025091240236 -:1054C000C501B4010F94C7616B017C0120E030E09D -:1054D000A9010F94286487FF04C0F7FAF094F7F845 -:1054E000F09420912502309126024091270250919C -:1054F0002802C701B6010F94385B20E030E04AEF84 -:1055000053E40F942864181674F480922102909248 -:105510002202A0922302B09224020F94CB4A88E385 -:1055200099E30F944B4A8091E61200914402109146 -:105530004502882309F1C090C612D090C712E090AE -:10554000C812F090C91220E030E0A901C701B601ED -:105550000F94D25A882309F455C02091CA1830916B -:10556000CB184091CC185091CD18C701B6010F94BB -:10557000286418160CF446C0B801110F880B990B5B -:105580000F94D95A209155023091560240915702FA -:10559000509158020F94385B2AE037ED43E25CE308 -:1055A0000F94385B69837A838B839C83C12CD12CC5 -:1055B00076018E010F5F1F4F2EEC38E14AEC58E167 -:1055C00066EC78E182EC98E10E94148A0F94E11075 -:1055D000C858DF4F0FB6F894DEBF0FBECDBFDF91C6 -:1055E000CF911F910F91FF90EF90DF90CF90BF90E0 -:1055F000AF909F908F907F906F905F904F903F9073 -:105600002F900895B801110F880B990B0F94D95A58 -:105610002091550230915602409157025091580204 -:105620000F94385B2AE037ED43E25CE30F94385B7C -:105630006DA77EA78FA798AB509115025BAB8091A9 -:1056400016028FAB9091170226969FAF2697A091D6 -:1056500018022796AFAF2797E0901902F0901A0230 -:1056600000911B0210911C022B96ECAEFDAE0EAF0A -:105670001FAF2B9700911D0210911E0220911F0257 -:1056800030912002A3960CAF1DAF2EAF3FAFA39772 -:105690002091210230912202409123025091240254 -:1056A000A7962CAF3DAF4EAF5FAFA797C090C21883 -:1056B000D090C318E090C418F090C518C982DA825F -:1056C000EB82FC828090C6189090C718A090C818F2 -:1056D000B090C9188D829E82AF82B8864090CA1859 -:1056E0005090CB186090CC187090CD1849865A868F -:1056F0006B867C868091CE189091CF18A091D0189F -:10570000B091D11823968CAF9DAFAEAFBFAF2397AA -:105710008D879E87AF87B88B6BA97FA926968FADA3 -:10572000269727969FAD27970F945110A82F880F83 -:10573000BB0BBAABA9AB2B966CAD7DAD8EAD9FAD5F -:105740002B970F945110E82F880FFF0BFCAFEBAF96 -:10575000C701B6010F945110E8968FAFE897082F54 -:10576000002E000C110B2D961FAF0EAF2D97C5010B -:10577000B4010F945110E9968FAFE997282F022EAC -:10578000000C330B25963FAF2EAF259749A95AA998 -:1057900040175107A1F50BAD1CAD25962EAD3FADC1 -:1057A00025970217130759F52D964EAD5FAD2D972E -:1057B0004630510520F42630310508F451C11D8AC8 -:1057C0001E8A1F8A188E20E030E0A901C301B201B1 -:1057D0000F94C861698B7A8B8B8B9C8BCE0145961D -:1057E0007C018E01035D1F4F9E01235F3F4FAE0181 -:1057F0004F5E5F4FBE016B5F7F4F449741C22BA945 -:105800003FA926964FAD269727965FAD2797C701EC -:10581000B6010F94C7616B017C012B962CAD3DAD99 -:105820004EAD5FAD2B97C501B4010F94C7614B011D -:105830005C01E1E0F0E02F96FFAFEEAF2F9720E0A4 -:1058400030E0A9010F94D25A87FD04C02F961FAEF5 -:105850001EAE2F9720E030E0A901C701B6010F94DA -:10586000D25A87FF10C297018601305863960CAF59 -:105870001DAF2EAF3FAF639720E030E0A901C50117 -:10588000B4010F94D25A87FF05C2A5019401505864 -:1058900067962CAF3DAF4EAF5FAF679749A95AA946 -:1058A0002D968EAD9FAD2D974817590709F4F9C174 -:1058B00020E030E0A901C701B6010F94D25A87FF5A -:1058C000F5C1AFEFBFEF6D96BFAFAEAF6D970BAD4C -:1058D0001CAD25962EAD3FAD25970217130709F491 -:1058E000ECC120E030E0A901C501B4010F94D25A07 -:1058F00087FFE8C14FEF5FEF6F965FAF4EAF6F97D7 -:1059000067962CAD3DAD4EAD5FAD679763966CADC0 -:105910007DAD8EAD9FAD63970F94286418160CF47F -:10592000D8C114018501A7962CAD3DAD4EAD5FAD3C -:10593000A79723966CAD7DAD8EAD9FAD23970F9449 -:10594000C76169A77AA78BA79CA79101A8010F94AB -:10595000C262AB966CAF7DAF8EAF9FAFAB97A39695 -:105960002CAD3DAD4EAD5FADA397C301B2010F9419 -:10597000C7619101A8010F94C262AF966CAF7DAF71 -:105980008EAF9FAFAF97A7019601C501B4010F94E9 -:10599000C2626B966CAF7DAF8EAF9FAF6B979B0172 -:1059A000AC016BA97FA926968FAD269727969FAD50 -:1059B00027970F94385B9B01AC012B966CAD7DADA6 -:1059C0008EAD9FAD2B970F94C761E3966CAF7DAF03 -:1059D0008EAF9FAFE397AB964CAC5DAC6EAC7FAC3B -:1059E000AB97E89477F86D96AEADBFAD6D97AB2BE6 -:1059F00009F08BC22BAC3CAC2F96EEADFFAD2F97D0 -:105A00002E0E3F1E2596EEACFFAC2597EE0EFF1E28 -:105A10002F96FFAEEEAE2F976B960CAD1DAD2EAD53 -:105A20003FAD6B973F770BAF1CAF2DAF3EAF2F96BF -:105A30002EAD3FAD2F972215330509F04DC12981B9 -:105A40003A814B815C8160911502709116028091C0 -:105A50001702909118020F94D25A882309F4BEC5F8 -:105A600089809A80AB80BC80E8968FADE8970E94D1 -:105A7000558D9B01AC012D966EAD7FAD2D976F5F5F -:105A80007F4FA6E0A69FC001A79F900D11242596E9 -:105A9000EEADFFAD2597E80FF91FEE0FFF1FEE0FDC -:105AA000FF1FEA5CFD4EE080F18002811381EBAACA -:105AB000FCAA0DAB1EAB2D960EAD1FAD2D97A09F72 -:105AC000B001A19F700D11242596EEADFFAD259775 -:105AD000E60FF71FEE0FFF1FEE0FFF1FEA5CFD4EF4 -:105AE00040805180628073802596AEADBFAD259712 -:105AF0001196FC01EA0FFB1FEE0FFF1FEE0FFF1FB9 -:105B0000EA5CFD4EE080F18002811381EFAAF8AEDD -:105B100009AF1AAFA60FB71FAA0FBB1FAA0FBB1F53 -:105B2000AA5CBD4ECD90DD90ED90FC902D960EAD13 -:105B30001FAD2D97053011058CF5C501B4010F94EB -:105B4000C76124E939E647E65CE30F94385B4B0113 -:105B50005C01A30192016BA97CA98DA99EA90F9458 -:105B6000C761A50194010F94385BA30192010F94C2 -:105B7000C8612B013C01A70196016FA978AD89ADE1 -:105B80009AAD0F94C761A50194010F94385BA701EA -:105B900096010F94C8616B017C0105C0C12CD12C0A -:105BA0007601260137018D809E80AF80B884E9960A -:105BB0008FADE9970E94278D9B01AC0125968EAD94 -:105BC0009FAD259705975CF5C501B4010F94C7619A -:105BD00024E939E647E65CE30F94385B4B015C014E -:105BE000A3019201C701B6010F94C7619B01AC01EB -:105BF000C501B4010F94385BA30192010F94C861F1 -:105C00006B017C01CE0109960F9467109B01AC01DA -:105C1000C701B6010F94385B6B017C0103C0C12C36 -:105C2000D12C76011D8A1E8A1F8A188E89849A8437 -:105C3000AB84BC84A7019601C701B6010F9415651A -:105C4000882319F0C12CD12C7601A7019601C5013A -:105C5000B4010F94C861698B7A8B8B8B9C8BDE01AE -:105C600055967D018E01035D1F4F9E01235F3F4FBF -:105C7000AE014F5E5F4FBE016B5F7F4FCE0101965D -:105C80000E94DC77A3CC6396CCAEDDAEEEAEFFAE69 -:105C90006397F2CD67968CAE9DAEAEAEBFAE679702 -:105CA000FDCD6D961FAE1EAE6D9711CEE1E0F0E01A -:105CB0006D96FFAFEEAF6D970ACE6F961FAE1EAE1C -:105CC0006F971ECE81E090E06F969FAF8EAF6F977B -:105CD00017CE1601870127CE6F964EAD5FAD6F9739 -:105CE000240E351E122D822D0E94278D6B017C0102 -:105CF0002FEF3FEF4FE75FE76BAD7CAD8DAD9EAD16 -:105D00000F94156581110CC02FEF3FEF4FE75FE750 -:105D10006BAD7CAD8DAD9EAD0F94D25A1816ACF024 -:105D2000E3962CAD3DAD4EAD5FADE397C701B60137 -:105D30000F94C7616B962CAD3DAD4EAD5FAD6B97CB -:105D40000F94C262362F272F08C03BA92FA9269691 -:105D50008FAD269727969FAD2797432F522FBC01D3 -:105D60004D8F5E8F6F8F78A389A99AA9069770F4DB -:105D700096E02916310450F4A10169A97AA9CE014F -:105D80004D960F94EA0F6B017C0103C0C12CD12CFE -:105D90007601CE0109960F946710A70196010F9422 -:105DA000385B6B017C019B01AC010F941565882366 -:105DB00019F0C12CD12C7601812F0E94278D4B0127 -:105DC0005C01698F7A8F8B8F9C8F9B01AC012B9626 -:105DD0006CAD7DAD8EAD9FAD2B970F94D25A8823BD -:105DE00009F425CE2FEF3FEF4FE75FE7C301B20184 -:105DF0000F94156581110BC02FEF3FEF4FE75FE761 -:105E0000C301B2010F94D25A18160CF452C067960F -:105E10002CAD3DAD4EAD5FAD679763966CAD7DAD7E -:105E20008EAD9FAD63970F94286418166CF42BA960 -:105E30003FA926964FAD269727965FAD27976D8D84 -:105E40007E8D8F8D98A108C02B962CAD3DAD4EADAB -:105E50005FAD2B97C501B4010F94C7614B015C0185 -:105E60009B01AC01AB966CAD7DAD8EAD9FADAB979C -:105E70000F94385BA7962CAD3DAD4EAD5FADA797A7 -:105E80000F94C86169A77AA78BA79CA7A501940165 -:105E9000AF966CAD7DAD8EAD9FADAF970F94385B77 -:105EA000A3962CAD3DAD4EAD5FADA3970F94C861E9 -:105EB0000CC08D859E85AF85B88989A79AA7ABA7A9 -:105EC000BCA769857A858B859C851D8A1E8A1F8A59 -:105ED000188EA70196010F94C861698B7A8B8B8B02 -:105EE0009C8BDE0155967D018E01035D1F4F9E0147 -:105EF000275D3F4FAE014F5E5F4FBE01675E7F4F34 -:105F0000CE014D960E94DC7792CDE1E0F0E0219643 -:105F1000FFAFEEAF219720E030E0A901C701B60145 -:105F20000F94D25A87FD04C021961FAE1EAE219752 -:105F300029A83AA82196EEACFFAC21972E0C3F1C65 -:105F40006F960EAD1FAD6F97012B09F007C12D960F -:105F50002EAD3FAD2D972E0D3F1D21963FAF2EAF9D -:105F6000219721964EAD5FAD21974215530509F457 -:105F700066CD6D968EAD9FAD6D97280E391E122D94 -:105F8000822D0E94558D9B01AC016B966CAD7DAD51 -:105F90008EAD9FAD6B970F94385BE3962CAD3DAD06 -:105FA0004EAD5FADE3970F94C8616D8F7E8F8F8F7D -:105FB00098A396E02916310470F4ABADBCADA630C1 -:105FC000B10548F4AD01B101CE014D960F94830F98 -:105FD0006B017C0103C0C12CD12C7601CE01099646 -:105FE0000F946710A70196010F94385B6B017C0139 -:105FF0009B01AC010F941565882319F0C12CD12C9D -:106000007601812F0E94558D4B015C01698F7A8F3B -:106010008B8F9C8F9B01AC016BA97FA926968FADBE -:10602000269727969FAD27970F94D25A882309F475 -:1060300098CF2FEF3FEF4FE75FE7C301B2010F9417 -:10604000156581110BC02FEF3FEF4FE75FE7C301ED -:10605000B2010F94D25A18160CF452C067962CADA8 -:106060003DAD4EAD5FAD679763966CAD7DAD8EADCA -:106070009FAD63970F94286418165CF42BA93FA971 -:1060800026964FAD269727965FAD2797C501B40199 -:106090000AC02B962CAD3DAD4EAD5FAD2B976D8DEF -:1060A0007E8D8F8D98A10F94C7614B015C019B0180 -:1060B000AC01AB966CAD7DAD8EAD9FADAB970F9443 -:1060C000385BA7962CAD3DAD4EAD5FADA7970F9455 -:1060D000C86169A77AA78BA79CA7A5019401AF9671 -:1060E0006CAD7DAD8EAD9FADAF970F94385BA39631 -:1060F0002CAD3DAD4EAD5FADA3970F94C8610CC004 -:106100008D859E85AF85B88989A79AA7ABA7BCA7BF -:1061100069857A858B859C851D8A1E8A1F8A188EC3 -:10612000A70196010F94C861698B7A8B8B8B9C8B2E -:10613000FE0175967F018E01035D1F4F9E01275D55 -:106140003F4FAE014F5E5F4FBE01635E7F4FCE019A -:1061500049960E94DC77811104CF71CC8BAD9CAD48 -:106160002596EEACFFAC25978E199F0929A93AA96F -:106170002D960EAD1FAD2D97201B310B37FF03C0A1 -:10618000319521953109E5963FAF2EAFE59797FF01 -:1061900003C0919581959109E7969FAF8EAFE797E0 -:1061A0003AAA29AA2BAC3CAC2F962EAD3FAD2F9727 -:1061B000220E331EE5964EAD5FADE597452B39F4C3 -:1061C000E7968EAD9FADE797892B09F438CC89A966 -:1061D0006C969FAD6C97890F0E94558D6DA37EA321 -:1061E0008FA398A76E968FAD6E97820D0E94278D14 -:1061F0004B015C0169A37AA38BA39CA3CDA0DEA075 -:10620000EFA0F8A4A70196016B966CAD7DAD8EADA5 -:106210009FAD6B970F94385BE3962CAD3DAD4EADC3 -:106220005FADE3970F94C8616D8F7E8F8F8F98A3BA -:10623000E3962CAD3DAD4EAD5FADE397C501B40126 -:106240000F94C7616B962CAD3DAD4EAD5FAD6B97B6 -:106250000F94C2629B01AC01698F7A8F8B8F9C8FE8 -:1062600001E010E0C701B6010F94D25A87FD02C0C9 -:1062700000E010E02196AEADBFAD21970A171B07D5 -:1062800009F0D1C06F96EEADFFAD6F972E0E3F1E99 -:1062900069A97AA96A1B7B0B6630710560F4F6E088 -:1062A0002F16310440F4A101CE0149960F94EA0F54 -:1062B0006B017C0103C0C12CD12C7601CE01099663 -:1062C0000F946710A70196010F94385B6B017C0156 -:1062D0009B01AC010F941565882319F0C12CD12CBA -:1062E00076012FEF3FEF4FE75FE7C301B2010F9455 -:1062F000156581110BC02FEF3FEF4FE75FE7C3013B -:10630000B2010F94D25A18160CF454C067962CADF3 -:106310003DAD4EAD5FAD679763966CAD7DAD8EAD17 -:106320009FAD63970F94286418166CF42BA93FA9AE -:1063300026964FAD269727965FAD2797698D7A8D64 -:106340008B8D9C8D0AC02B962CAD3DAD4EAD5FADB7 -:106350002B9769A17AA18BA19CA10F94C7614B01D6 -:106360005C019B01AC01AB966CAD7DAD8EAD9FAD7C -:10637000AB970F94385BA7962CAD3DAD4EAD5FAD9E -:10638000A7970F94C86169A77AA78BA79CA7A501B7 -:106390009401AF966CAD7DAD8EAD9FADAF970F9470 -:1063A000385BA3962CAD3DAD4EAD5FADA3970F947A -:1063B000C8610CC08D859E85AF85B88989A79AA7CD -:1063C000ABA7BCA769857A858B859C851D8A1E8AAB -:1063D0001F8A188EA70196010F94C861698B7A8B6A -:1063E0008B8B9C8B8E010B5E1F4F7801085E1F4FBD -:1063F0009E01275D3F4FAE014F5E5F4FBE016F5D57 -:106400007F4FCE0149960E94DC77882309F417CB91 -:10641000E7962EAD3FADE79721503109E7963FAFA4 -:106420002EAFE797D6C089A99AA96D96AEADBFAD3C -:106430006D978A0F9B1F9AAB89AB8630910590F4BC -:10644000A1012F96EEADFFAD2F974E1B5F0B46308F -:10645000510540F4BC01CE014D960F94830F6B01A2 -:106460007C0103C0C12CD12C7601CE0109960F947A -:106470006710A70196010F94385B6B017C019B01AB -:10648000AC010F941565882319F0C12CD12C76012D -:106490002FEF3FEF4FE75FE7C301B2010F941565A0 -:1064A00081110BC02FEF3FEF4FE75FE7C301B20150 -:1064B0000F94D25A18160CF454C067962CAD3DAD0B -:1064C0004EAD5FAD679763966CAD7DAD8EAD9FAD04 -:1064D00063970F94286418166CF42BA93FA926968D -:1064E0004FAD269727965FAD27976DA17EA18FA10F -:1064F00098A50AC02B962CAD3DAD4EAD5FAD2B9748 -:106500006D8D7E8D8F8D98A10F94C7614B015C01BD -:106510009B01AC01AB966CAD7DAD8EAD9FADAB97E5 -:106520000F94385BA7962CAD3DAD4EAD5FADA797F0 -:106530000F94C86169A77AA78BA79CA7A5019401AE -:10654000AF966CAD7DAD8EAD9FADAF970F94385BC0 -:10655000A3962CAD3DAD4EAD5FADA3970F94C86132 -:106560000CC08D859E85AF85B88989A79AA7ABA7F2 -:10657000BCA769857A858B859C851D8A1E8A1F8AA2 -:10658000188EA70196010F94C861698B7A8B8B8B4B -:106590009C8B8E010B5E1F4F7801085E1F4F9E0182 -:1065A000275D3F4FAE014F5E5F4FBE01635E7F4F81 -:1065B000CE0185960E94DC77882309F440CAE596CF -:1065C0002EAD3FADE59721503109E5963FAF2EAF97 -:1065D000E5972F3F3F4F09F0EDCD31CA2D813E8128 -:1065E0004F8158856091190270911A0280911B02A7 -:1065F00090911C020F94D25A811132CA0C94E6AACF -:106600008091D9129091DA12A091DB12B091DC1234 -:106610008093550290935602A0935702B09358026C -:106620008091D7129091D8129093450280934402A2 -:1066300008958091550290915602A0915702B09111 -:1066400058028093D9129093DA12A093DB12B09380 -:10665000DC1280914402909145029093D81280936D -:10666000D71284E690E09093450280934402089507 -:10667000CF92DF92EF92FF920F931F936A01E09007 -:106680001D02F0901E0200911F0210912002FB01DA -:106690002081318142815381FC016081718182813D -:1066A00093810E943FC51F910F91FF90EF90DF9063 -:1066B000CF900895CF92DF92EF92FF920F931F93A6 -:1066C0006B01FC01E080F18002811381E5E1F2E0E1 -:1066D00024813581468157816081718182819381D6 -:1066E0000E943FC51F910F91FF90EF90DF90CF90D8 -:1066F00008958F929F92AF92BF92CF92DF92EF92C6 -:10670000FF920F931F93CF93DF93EC018B81811145 -:1067100002C080E078C009891A892B893C89041756 -:10672000150726073707A8F36A017B01823029F491 -:10673000C886D986EA86FB860DC0C114D104E1045F -:10674000F10451F4188619861A861B861C821D8254 -:106750001E821F8281E057C088849984AA84BB84EA -:10676000E98DFA8D258530E0275F3F4FB501A40103 -:106770004150510961097109022E04C0769567954F -:10678000579547950A94D2F7D701C6010197A109F9 -:10679000B10904C0B695A795979587952A95D2F724 -:1067A00084179507A607B70720F089288A288B2821 -:1067B00071F44D895E896F89788D4C835D836E831A -:1067C0007F834C015D018E010C5F1F4F16C0841B3F -:1067D000950BA60BB70BF5CF4C815D816E817F8148 -:1067E0009801898D9A8D0E94F47691E0891A91081A -:1067F000A108B108882309F48CCF81149104A10465 -:10680000B10451F795CFDF91CF911F910F91FF9078 -:10681000EF90DF90CF90BF90AF909F908F900895B2 -:106820000F931F93CF93DF93FC012381222311F059 -:1068300080E044C08B01EC01FB018789803139F194 -:106840008032B1F783E08B83F801428D538D648DE4 -:10685000758D4D8B5E8B6F8B788F9E012F5E3F4FBA -:10686000C8010E947577882319F31A8F098F81E078 -:106870008983188619861A861B861C821D821E82B1 -:106880001F82188A1C861D861E861F8617C082E0FE -:106890008B831D8A1E8A1F8A188EFB01808D918D25 -:1068A000A0E0B0E025E0880F991FAA1FBB1F2A9522 -:1068B000D1F7898B9A8BAB8BBC8BD7CFDF91CF91E4 -:1068C0001F910F910895CF93DF93EC0141E0611187 -:1068D00001C040E06C857D858E859F850E9429766C -:1068E000882341F0888920E2829FC00111248D5CB9 -:1068F000964E02C080E090E0DF91CF910895CF9353 -:10690000DF93EB01FC012381211102C080E028C04C -:106910002250223020F48FE28883198220C060E068 -:106920000E9463B4009791F3FC0190E080E02EE2B6 -:106930003081303269F0883029F4DE01A90FB11DB1 -:106940002C939F5FDE01A90FB11D30813C939F5FA7 -:106950008F5F31968B3061F7C90FD11D188281E0AE -:10696000DF91CF9108953F924F925F926F927F9205 -:106970008F929F92AF92BF92CF92DF92EF92FF924F -:106980000F931F93CF93DF93CDB7DEB72C970FB63E -:10699000F894DEBF0FBECDBF5C01DC0159968D902F -:1069A0009C905A97F40181859285A385B4859C01BA -:1069B000AD012F5F3F4F4F4F5F4F29873A874B877E -:1069C0005C87D5011496CD90DD90ED90FC901797E3 -:1069D000C114D104E104F10439F0BFEFCB1ADB0A92 -:1069E000EB0AFB0A312C07C0F401C080D180E280A1 -:1069F000F38033243394260137011D821E821F82C7 -:106A00001886F40181859285A385B4852D813E8108 -:106A10004F815885281739074A075B0708F064C07B -:106A200089859A85AB85BC858C159D05AE05BF050E -:106A300050F482E0C82ED12CE12CF12C92E0492EAA -:106A4000512C612C712C9E012F5F3F4FB701A60185 -:106A5000C4010E94F476882309F446C089819A8192 -:106A6000AB81BC81892B8A2B8B2B41F0260137010E -:106A70009FEF491A590A690A790A05C0C414D50456 -:106A8000E604F70491F02D813E814F8158852F5FF8 -:106A90003F4F4F4F5F4F2D833E834F8358873FEFCC -:106AA000C31AD30AE30AF30AACCF0FEF1FEF2FEF9D -:106AB0003FE0B301A201C4010E946276F82E882350 -:106AC00099F0D50114964D915D916D917C91179738 -:106AD000411551056105710549F093018201C40119 -:106AE0000E946276811102C0F12C29C0D501149652 -:106AF0004D925D926D927C921797332051F0D301A5 -:106B0000C2010196A11DB11DF40180839183A2836E -:106B1000B383F50185899689A789B08D892B8A2B46 -:106B20008B2B69F4D50155964D925D926D927C92B6 -:106B3000589711968C911197806811968C938F2D90 -:106B40002C960FB6F894DEBF0FBECDBFDF91CF916C -:106B50001F910F91FF90EF90DF90CF90BF90AF907B -:106B60009F908F907F906F905F904F903F9008958F -:106B700040E050E0BA010C9479B361E0FC018081FF -:106B80000F94793E8FEF0C94426FEF92FF921F9318 -:106B9000CF93DF9300D01F92CDB7DEB77C01162FC5 -:106BA00029833A834B835C83FC0182810E944E6F70 -:106BB00060E0F70180810F94793E0F943D34812F7E -:106BC00080640E94426F8C810E94426F8B810E9480 -:106BD000426F8A810E94426F89810E94426F112315 -:106BE00011F087E801C085E90E94426F1C3011F462 -:106BF0000E94476F10E00E94476FF701838387FF71 -:106C000004C01F3F11F01F5FF6CF0F900F900F9041 -:106C10000F90DF91CF911F91FF90EF9008950F9308 -:106C20001F93CF93DF93EC0189018C81833039F07E -:106C300089E0440F551F661F771F8A95D1F79A0187 -:106C4000AB0168E1CE010E94C5B5811128C08EEF6D -:106C50008EBDF801C8019E5F0DB407FEFDCF2081F7 -:106C60002EBD0DB407FEFDCF21812EBD32968E17AD -:106C70009F0791F70DB407FEFDCF8FEF0E94426F83 -:106C80008FEF0E94426F0E94476F8B838F71853018 -:106C900041F083E18983CE010E94BDB519C086E031 -:106CA00016C00F943D34882379F020E030E0A9012C -:106CB0006DE0CE010E94C5B5811108C00E94476FEA -:106CC000811104C011E005C087E101C086E189831C -:106CD00010E0CE010E94BDB5812FDF91CF911F91B1 -:106CE0000F910895CF9380913B1B8823B9F1409178 -:106CF000331B5091341B6091351B7091361B23E37D -:106D000039E180913C1B90913D1B0E940FB6C82F2A -:106D1000811102C0C0E023C04091371B5091381B45 -:106D20006091391B70913A1B411551056105710540 -:106D300091F023E339E180913C1B90913D1B0E942F -:106D40000FB6882339F31092371B1092381B10921C -:106D5000391B10923A1B10923B1B01C0C1E08C2FD3 -:106D6000CF910895CF93DF93EC018B81882339F184 -:106D7000898187FF20C061E0CE010E9463B4FC01DD -:106D8000892BE9F08081853ED1F08B81823040F4FF -:106D900089899A89AB89BC89848F958FA68FB78F93 -:106DA0008D899E89AF89B88D938F828FB58BA48B87 -:106DB00089818F778983DF91CF910C9472B681E0BE -:106DC000888380E0DF91CF910895CF93DF93EC012A -:106DD0000E94B2B61B82DF91CF910895FC012381FE -:106DE00021110C94E5B60895CF92DF92EF92FF92B5 -:106DF0000F931F93CF93DF93EC0189018C81833034 -:106E000039F089E0440F551F661F771F8A95D1F727 -:106E10009A01AB0161E1CE010E94C5B5882339F02A -:106E200084E08983CE010E94BDB580E03EC00F940E -:106E300006406B017C012CE2C20E21E0D21EE11C57 -:106E4000F11C0E94476F8B838F3F61F40F940640C3 -:106E5000DC01CB018C199D09AE09BF09B7FDF1CF4B -:106E600081E11DC08E3FD1F48FEF8EBDF801D801B6 -:106E7000A150BE4F0DB407FEFDCF9EB591938EBDC0 -:106E8000EA17FB07B9F70DB407FEFDCF8EB58C935B -:106E90000E94476F0E94476F11E003C08FE0898313 -:106EA00010E0CE010E94BDB5812FDF91CF911F91DF -:106EB0000F91FF90EF90DF90CF9008952F923F9227 -:106EC0004F925F926F927F928F929F92AF92BF92FA -:106ED000CF92DF92EF92FF920F931F93CF93DF93A6 -:106EE00000D01F92CDB7DEB79C838B834B015A0134 -:106EF000DC0113968C91811103C08FEF9FEFE3C0EB -:106F0000EB81FC81818180FFF8CFEB81FC8181895D -:106F10009289A389B4894085518562857385841BD4 -:106F2000950BA60BB70BA50160E070E084179507E1 -:106F3000A607B70708F45C0175018B819C81049654 -:106F40009A838983612C42E0742EE114F10409F4E0 -:106F50008BC0AB81BC8118964D915D916D917C91F8 -:106F60001B976A01B1E0DB22EB81FC812381818DDB -:106F7000928D1A012B0139E0569447943794279447 -:106F80003A95D1F7223061F4FC01828D938DA48D66 -:106F9000B58DBC01CD01620D731D841D951D4AC0C8 -:106FA000DC0114961C9111501221C114D10401F579 -:106FB00011111EC0452B462B472B59F4EB81FC8148 -:106FC00085899689A789B08D84839583A683B783A5 -:106FD0000FC0AB81BC8114964D915D916D917C91F8 -:106FE000179729813A810E94F476882309F485CF86 -:106FF000EB81FC81218D328D84819581A681B781C1 -:107000000297A109B109F901058404C0880F991FED -:10701000AA1FBB1F0A94D2F74685578560897189DC -:10702000840F951FA61FB71FBC01CD01610F711DF5 -:10703000811D911D93012C193D0987012E153F05D6 -:1070400008F489010115F2E01F0779F52091331B3F -:107050003091341B4091351B5091361B62177307DA -:107060008407950719F421C0C5012DC09401AB0117 -:10707000BC0180913C1B90913D1B0E94F4B688237B -:1070800009F43BCF800E911EEB81FC8180859185B8 -:10709000A285B385800F911FA11DB11D80879187A7 -:1070A000A287B387E01AF10A50CF40E00E94297608 -:1070B000882309F422CFB6016D5C764EA801C40185 -:1070C0000F944766DFCF0F900F900F900F90DF91D6 -:1070D000CF911F910F91FF90EF90DF90CF90BF90D5 -:1070E000AF909F908F907F906F905F904F903F9068 -:1070F0002F900895DF92EF92FF920F931F93CF93FB -:10710000DF938C01EB017A018DE0D82E40E250E054 -:10711000BE01C8010E945EB78032910539F021E0BE -:10712000892B09F420E0822F819544C028812223F5 -:10713000C9F1253E11F02E3231F4E114F10431F39E -:10714000F7011082E3CFE114F10441F13B853F7375 -:107150003F3021F54A8D5B8D452B01F52F713FEFB7 -:10716000320F3530D8F430E021503109D29EC001C1 -:10717000D39E900D1124D701A80FB91FFE0120E066 -:10718000AD01253088F431813D932F5F32962D304B -:10719000C1F7288126FF02C0FA0115862B8523FD41 -:1071A000B5CF08C080E006C02B3010F43481ECCF9E -:1071B0003681EACFDF91CF911F910F91FF90EF9031 -:1071C000DF9008954F925F926F927F929F92AF925D -:1071D000BF92CF92DF92EF92FF920F931F93CF93C4 -:1071E000DF931F92CDB7DEB78C017B015A01C22E0F -:1071F000DB0159968D919C915A97F801928F818F5E -:10720000CB010E94B8B5912CF70180859185A285AC -:10721000B385418952896389748984179507A607C4 -:10722000B70708F060C025E0B695A79597958795B4 -:107230002A95D1F7F82FFF70DF2ED70113968C9186 -:10724000823008F460C041E050E0BE016F5F7F4FC4 -:10725000C7010E945EB7019719F4898190E002C0CE -:107260008FEF9FEF019609F44EC0F701808591855D -:10727000A285B3854F96A11DB11D80879187A287F6 -:10728000B387F0E2DF9EB00111246D5C764E61158C -:107290007105C9F1DB018C91882319F0853EC1F499 -:1072A0006CC191100EC08091331B9091341BA09142 -:1072B000351BB091361BF80184879587A687B78761 -:1072C000D08ADB018C91882361F0992493949CCF20 -:1072D0004BE050E0C5010F943A66892B09F094CF3A -:1072E00014C0992493948C2D8274823461F4992073 -:1072F00009F48BC0F801D08861E0C8010E9463B432 -:10730000009709F00DC180E03BC1C7FCFCCFF0E263 -:10731000DF9EA00111249A012D5C364ED9011B96E7 -:107320008C91817121F08C2D827109F06AC080915D -:10733000331B9091341BA091351BB091361BF80183 -:1073400084879587A687B787D08ACA018D5C964EB9 -:107350007C01DC0154964D915C91559760E070E0A2 -:10736000DA0199278827858B968BA78BB08FF70139 -:10737000428D538D60E070E0482B592B6A2B7B2B9C -:10738000D80155964D935D936D937C935897F90171 -:107390008385887161F4F701848D958DA68DB78DF5 -:1073A000F801818B928BA38BB48B81E010C080316C -:1073B00041F598012F5E3F4FD80159968D919C91D0 -:1073C0005A970E9475778823E1F084E0F80183835F -:1073D0008C2D8F70D80111968C931197F80114821F -:1073E00015821682178218961D921D921D921C926C -:1073F0001B97C4FEB5C0C8010F9461348111B0C0A1 -:1074000082CFD80113961C927ECFD70113968C9110 -:107410001397823009F477CF51968D919D910D90FD -:10742000BC91A02D803E9F4FAF41B10508F06BCFBE -:10743000C7010E94B3B4882309F465CF0E9472B6D5 -:10744000882309F460CFD70159962D913C915A9722 -:1074500014968D919D910D90BC91A02D0297A1093C -:10746000B109F901058404C0880F991FAA1FBB1F29 -:107470000A94D2F74684578460887188480E591E52 -:107480006A1E7B1E81E080933B1B4092331B50920F -:10749000341B6092351B7092361B80E092E0E3E370 -:1074A000F9E1DF019C011D9221503040E1F7DD241C -:1074B000D394D7015996ED91FC915A978481D816AF -:1074C00098F423E339E1B301A2014D0D511D611D73 -:1074D000711D80913C1B90913D1B0E940FB688232B -:1074E00009F411CFD394E5CF80E092E0A0E0B0E0C2 -:1074F000058404C0880F991FAA1FBB1F0A94D2F7E6 -:10750000F7014189528963897489840F951FA61FE9 -:10751000B71F818B928BA38BB48B83E399E1D12C22 -:1075200020E2DC011D922A95E9F72BE0F501DC0150 -:1075300001900D922A95E1F721E238E2FC01318BAE -:10754000208B40E058E057874687338B228B318F62 -:10755000208F578B468B0E9472B68111D8CED3CE26 -:10756000C5FE09C0F8014189528963897489C8013F -:107570000E9479B305C081E003C09110A6CE93CEDE -:107580000F90DF91CF911F910F91FF90EF90DF90BF -:10759000CF90BF90AF909F907F906F905F904F90F3 -:1075A00008952F923F924F925F926F927F928F92A7 -:1075B0009F92AF92BF92CF92DF92EF92FF920F9382 -:1075C0001F93CF93DF93CDB7DEB7C254D1090FB667 -:1075D000F894DEBF0FBECDBF4C015B016A01322EB5 -:1075E00019821C821C8E1F8E6115710511F410E02A -:1075F000A6C0FC0183818111FACFFA0180818F320C -:1076000009F09BC0F50183818250823010F485011E -:107610000CC0F501618D728DCE014C960E9410B4A4 -:10762000882329F38E01045E1F4FC6016C01019669 -:10763000F60120812F32D1F3CE0101967C013C016D -:107640002E019CE1490E511C2396EFAE23972F2C5F -:107650009BE09150E7E3F0E0EC0FFD1FE90FF11D17 -:1076600080E280839111F5CF960147E0D9018D9199 -:10767000882369F18F3259F18E3239F44A3009F496 -:10768000B6CF98E04AE09D01F1CFECEFF9E3249109 -:10769000222321F031968213FACFA9CF491708F49B -:1076A000A6CF813208F4A3CF8F3709F4A0CF21E011 -:1076B000290FE7E3F0E0EC0FFD1FE90FF11D9FE953 -:1076C000980F9A3108F480528083922FDCCF8FA9D3 -:1076D000803209F48CCF6901F90180812F5F3F4F1F -:1076E0008F32C9F38823F9F021E0AE01495C5F4F86 -:1076F000B801C7010E94E2B8882309F478CF0A15BF -:107700001B0519F0C8010E94E5B66E147F0441F014 -:1077100023969FAD2397822D8701E92EF82E98CFCF -:10772000942D852DF9CF232DAE01495C5F4FB80113 -:10773000C4010E94E2B8182F02C08B017DCFCE0198 -:107740004C960E94EEB6CE0101960E94EEB6812FB5 -:10775000CE5BDF4F0FB6F894DEBF0FBECDBFDF911B -:10776000CF911F910F91FF90EF90DF90CF90BF903E -:10777000AF909F908F907F906F905F904F903F90D1 -:107780002F900895CF93C82F0F94CB4A84E50E9481 -:1077900027666AE070E08C2F90E00E94B76680E276 -:1077A0000E9427668AEE99E3CF910D944B4A20916F -:1077B0001202309113022F503109821793070CF4F3 -:1077C0009C0130938D0C20938C0C80E00C94AEF4D3 -:1077D0001F93CF93DF93CDB7DEB728970FB6F894FA -:1077E000DEBF0FBECDBF69837A838B839C832D83DD -:1077F0003E834F8358870F949C0E882311F081E0BD -:1078000026C081E00E94B68A69E170E080E090E0E5 -:107810000F941C4ABE016B5F7F4FCE0101960E9400 -:107820005AB31091DC0B147080E00E94B68A1123C9 -:1078300021F00F944D0E8111E2CF1092DC0B82E00B -:107840000E9418C60E9486C681E0111180E0289629 -:107850000FB6F894DEBF0FBECDBFDF91CF911F9161 -:10786000089580915C1690915D16891B8F708F3002 -:1078700021F480E00E946B67F4CF80915C168F5FEB -:107880008F70E0915C1693E59E9FF0011124E15604 -:10789000F34FDF011D929A95E9F798E090834091AC -:1078A0008216509183166091841670918516458BCF -:1078B000568B678B708F409186165091871660911A -:1078C000881670918916418F528F638F748F409103 -:1078D0008A1650918B1660918C1670918D16458F7B -:1078E000568F678F70A340918E1650918F166091BE -:1078F00090167091911641A352A363A374A3209193 -:107900005C1690915D16291303C094E69093591666 -:1079100080935C1680916F00826080936F00089561 -:1079200080915C1690915D16891B8F7019F480E030 -:1079300090E0089590915916992351F0833030F4D6 -:107940008FEF890F19F080935916F1CF10925916C5 -:10795000E0915D1683E5E89FF0011124E156F34FB5 -:10796000808180FDE4CF80915D168F5F8F70809362 -:107970005A1690915D1680915B16981304C0809101 -:107980005A1680935B16CF010895CF92DF92EF9243 -:10799000FF92CF93DF93EC016A017B0127E137EB84 -:1079A00041ED58EBC701B6010F94286487FD23C051 -:1079B00023E030E044EB53E4C701B6010F94D25A00 -:1079C0001816CCF0C880D980EA80FB8027E137EB1D -:1079D00041ED58EBC701B6010F94286487FD0BC039 -:1079E000C1E023E030E044EB53E4C701B6010F945B -:1079F000D25A18160CF4C0E08C2FDF91CF91FF9073 -:107A0000EF90DF90CF900895CF92DF92EF92FF92A8 -:107A1000CF93DF93CDB7DEB728970FB6F894DEBFCC -:107A20000FBECDBF20E030E040EA50E460911D027F -:107A300070911E0280911F02909120020F94D25AE1 -:107A40008823E9F01D821E821F821886C12CD12C4A -:107A500080EAE82E80E4F82EC982DA82EB82FC828A -:107A6000BE016B5F7F4FCE0101960E945AB3C09258 -:107A70001D02D0921E02E0921F02F0922002289670 -:107A80000FB6F894DEBF0FBECDBFDF91CF91FF9050 -:107A9000EF90DF90CF900895BF92CF92DF92EF9258 -:107AA000FF920F931F93CF93DF93CDB7DEB7289745 -:107AB0000FB6F894DEBF0FBECDBF90914A0A98175B -:107AC00009F47AC0B82E80E090E0A0E2B1E48D83A2 -:107AD0009E83AF83B887C0901213D0901313E090A9 -:107AE0001413F090151320E030E0A901C701B6018E -:107AF0000F94D25A87FF0CC0A701960160E070E096 -:107B000080E291E40F94C7616D837E838F839887B1 -:107B100020E030E048EC53E46D817E818F819885D0 -:107B20000F942864181644F480E090E0A8ECB3E4C5 -:107B30008D839E83AF83B8872D813E814F81588589 -:107B400060911D0270911E0280911F02909120028F -:107B50000F94D25A87FF0BC019821A821B821C8293 -:107B6000BE016F5F7F4FCE0105960E945AB36091B0 -:107B700015027091160280911702909118022091BF -:107B8000190230911A0240911B0250911C02198275 -:107B90001A821B821C82E0901D02F0901E0200914E -:107BA0001F0210912002FE0131966F010E943FC515 -:107BB000B0924A0A0E9464C780E028960FB6F894F3 -:107BC000DEBF0FBECDBFDF91CF911F910F91FF9010 -:107BD000EF90DF90CF90BF9008952F923F924F92F9 -:107BE0005F926F927F928F929F92AF92BF92CF924D -:107BF000DF92EF92FF920F931F93CF93DF93CDB756 -:107C0000DEB764970FB6F894DEBF0FBECDBF9E8778 -:107C10008D87788B6F87342E222EFC01C080D18017 -:107C2000E280F380C986DA86EB86FC86FB018080E1 -:107C30009180A280B380002321F10E94218F8823AC -:107C400009F496C120910A1330910B1340910C1343 -:107C500050910D13C701B6010F94C76169877A87E8 -:107C60008B879C8720910E1330910F134091101336 -:107C700050911113C501B4010F94C7614B015C0110 -:107C800009C0B501A401CE0109960E94C5BC882394 -:107C900009F46EC1E0901D02F0901E0200911F02D7 -:107CA0001091200240905502509056026090570269 -:107CB0007090580280E090E0A8ECB2E48093550206 -:107CC00090935602A0935702B093580219821A82D9 -:107CD0001B821C8269857A858B859C859E012F5F1E -:107CE0003F4F6901A50194010E943FC581E00E94B8 -:107CF0004CBD8111C4C08091D61482FF11C0209167 -:107D0000121330911313409114135091151360E026 -:107D100070E080E490EC0F94C7614B015C0106C0F9 -:107D2000812C912C30E2A32E31ECB32E20E030E0F8 -:107D300040E850E4C501B4010E94E8BB882329F063 -:107D400060E070E080EC9FE753C0C0901D02D090CF -:107D50001E02E0901F02F090200280E090E0A0E878 -:107D6000B0E489839A83AB83BC8320E030E040EAAF -:107D700050E4C701B6010F94C8616D837E838F8381 -:107D80009887BE016F5F7F4FCE0105960E945AB360 -:107D900020E030E040E050E4C501B4010E94E8BBBF -:107DA0008111CECF20E030E040E450E460911D022C -:107DB00070911E0280911F02909120020F94385BF7 -:107DC000698B7A8B8B8B9C8BA7019601C701B601BF -:107DD0000F94C8619B01AC0169897A898B899C8960 -:107DE0000F94C8612DEC3CEC4CE45EE30F94385BDF -:107DF00020911213309113134091141350911513C5 -:107E00000F94C8616B018C018EEF830D823050F5A9 -:107E100080E090E0A0E8B0E48D839E83AF83B887D4 -:107E200020911D0230911E0240911F0250912002AC -:107E300083E0381629F060E070E080EA90E404C046 -:107E400060E070E088EC91E40F94C86169837A8304 -:107E50008B839C83BE016B5F7F4FCE0101960E9496 -:107E60005AB308C0E1E03E1205C080E00E944CBD5C -:107E7000811105C0F2E0F21508F05BC008C0F2E025 -:107E8000F21508F07AC0C12CD12C00EC1FE72FEAC4 -:107E9000E22E26E0F22EF70181917F01882319F06E -:107EA0000E942766F8CF2091FE123091FF12409178 -:107EB000001350910113ED85FE85608171818281EF -:107EC00093810F94C86143E00E94C76697EBE92E47 -:107ED00096E0F92EF70181917F01882319F00E9425 -:107EE0002766F8CF209102133091031340910413B9 -:107EF00050910513EF85F8896081718182819381AA -:107F00000F94C86143E00E94C7668CEBE82E86E0C0 -:107F1000F82EF70181917F01882319F00E942766CE -:107F2000F8CF43E0B601C8010E94C7668AE00E940C -:107F30002766409255025092560260925702709204 -:107F400058029601A801B601C8010F94156588234F -:107F500009F180E00E944CBD60E08CE19AE30F944F -:107F60007B080F94C74A8CE09AE30F944B4A12C0E7 -:107F7000C12CD12C00EC1FE70DC04092550250924D -:107F800056026092570270925802C12CD12C00EC1C -:107F90001FE7DFCFB601C80164960FB6F894DEBFC5 -:107FA0000FBECDBFDF91CF911F910F91FF90EF904A -:107FB000DF90CF90BF90AF909F908F907F906F9009 -:107FC0005F904F903F902F900895CF93DF93C09193 -:107FD000F91281EC96E00E9445678091F412873097 -:107FE00009F445C083E08093F31281E0809354024A -:107FF00080E190E09093F1168093F01685E08093F5 -:10800000E416D2E8D093E71684E190E1A0E0B0E076 -:108010008093E8169093E916A093EA16B093EB16B6 -:108020000F94E63261E070E080E090E00E94589B9F -:1080300081E09AE59093F1168093F01685E390E045 -:108040009093F3168093F21687E08093E416D09312 -:10805000E71684E890E0A0E0B0E08093E816909303 -:10806000E916A093EA16B093EB160F94E632C130EE -:1080700081F1C23059F40F9420056093EB12709394 -:10808000EC128093ED129093EE1202C00F945405FF -:1080900081E08093F9120F9406406093E712709389 -:1080A000E8128093E9129093EA12C230A1F0809115 -:1080B000370A9091380A01969093380A8093370ACC -:1080C0001092FA121092FB121092FC121092FD12F2 -:1080D00002C080E001C081E0DF91CF910895CF938D -:1080E000DF9300D01F92CDB7DEB78091360A882388 -:1080F000A9F083E390E09C838B831A8219829E010E -:108100002F5F3F4F40E150E067E37AE0CE010396F6 -:108110000E942A6489ED96E00E9445670F900F90B7 -:108120000F900F90DF91CF910895CF92DF92EF9251 -:10813000FF920F931F938091F9128150823010F0BB -:1081400080E0A7C085E197E00E9445678091F41226 -:10815000833009F441C089EF96E00E94456785E0CD -:1081600097E00E94456740E060E070E0CB010F942B -:108170003E0941E060E070E0CB010F943E0981E0F0 -:10818000809305021092F21221E030E03093F11258 -:108190002093F0128093540281E09AE59093F116B7 -:1081A0008093F0168DE290E09093F3168093F21690 -:1081B00087E08093E41682E88093E71684E890E0F5 -:1081C000A0E0B0E08093E8169093E916A093EA1639 -:1081D000B093EB160F94E6321092F9120F9406400A -:1081E0006093F5127093F6128093F7129093F81241 -:1081F0008091390A90913A0A019690933A0A8093B5 -:10820000390AC090FA12D090FB12E090FC12F09064 -:10821000FD120F9420056093FA127093FB12809365 -:10822000FC129093FD1200913B0A10913C0A2091A0 -:108230003D0A30913E0A0C191D092E093F09DC0147 -:10824000CB01800F911FA21FB31F80933B0A909315 -:108250003C0AA0933D0AB0933E0A0F94200500917A -:108260003F0A1091400A2091410A3091420A0617B4 -:1082700017072807390750F40F94200560933F0A29 -:108280007093400A8093410A9093420A0E946FC003 -:1082900081E01F910F91FF90EF90DF90CF900895B4 -:1082A000CF93DF9300D01F921F92CDB7DEB781E04E -:1082B0008093360AE7E3FAE080E1DF011D928A95B8 -:1082C000E9F70E946FC086E18D8382E390E09C8392 -:1082D0008B831A8219829E012F5F3F4F41E050E04D -:1082E000BE016B5F7F4FCE0103960E942A640F9000 -:1082F0000F900F900F900F90DF91CF910895CF9234 -:10830000DF92EF92FF920F931F93CF93DF93C0ED15 -:10831000D1E109E51CE0C12CD12C7601C39469910F -:108320007991899199910F94D75A288939894A89E5 -:108330005B890F94385B0F943B63F80161937193F1 -:10834000819391938F01C616D706E806F90610F4BB -:108350006B017C01F1E1C03EDF0709F76FEF7FEFB2 -:10836000CB01A70196010F9428612093690C3093EB -:108370006A0C40936B0C50936C0C23EF34E045E394 -:108380005FE36091550C7091560C8091570C909161 -:10839000580C0F94385B6B017C016091DC1170917B -:1083A000DD118091DE119091DF110F94D75A9B015E -:1083B000AC01C701B6010F94385B29E732E84AE502 -:1083C00050E40F94385B0F94C66460936D0C709307 -:1083D0006E0C80936F0C9093700CDF91CF911F9176 -:1083E0000F91FF90EF90DF90CF9008950F931F9320 -:1083F000CF93DF9304EE11E1C3E7DCE0F8012191B4 -:108400003191419151918F0160E070E080E89FE3EC -:108410000F94C2626993799389939993FCE0C3386E -:10842000DF0761F70E946A8ADF91CF911F910F9158 -:108430000C947FC190915C1680915D16981306C0D4 -:108440008091181290911912892B21F080E00E94DE -:108450006B67F0CF0895CF92DF92EF92FF92FC010D -:10846000C080D180E280F3802091F0113091F11131 -:108470004091F2115091F311C701B6010F94385B8E -:108480000F94356460938E1670938F1680939016B8 -:1084900090939116C0927E16D0927F16E09280162D -:1084A000F092811690915C1680915D16981731F0CC -:1084B000FF90EF90DF90CF900C9431BC0E941AC2D5 -:1084C00080916F00982F927081FF05C080916F009E -:1084D0008D7F80936F0040918E1650918F16609122 -:1084E0009016709191164093FA185093FB18609370 -:1084F000FC187093FD18992329F080916F00826019 -:1085000080936F00FF90EF90DF90CF9008958F924F -:108510009F92AF92BF92EF92FF920F931F93CF93D0 -:10852000DF937B018A01E901FC0180809180A280B8 -:10853000B3802091E4113091E5114091E611509102 -:10854000E711C501B4010F94385B0F943564609353 -:1085500082167093831680938416909385162091CB -:10856000E8113091E9114091EA115091EB11F701B6 -:1085700060817181828193810F94385B0F9435649F -:108580006093861670938716809388169093891649 -:108590002091EC113091ED114091EE115091EF11BD -:1085A000F80160817181828193810F94385B0F940F -:1085B000356460938A1670938B1680938C16909313 -:1085C0008D162091F0113091F1114091F2115091DE -:1085D000F311688179818A819B810F94385B0F94B4 -:1085E000356460938E1670938F16809390169093D7 -:1085F00091168092721690927316A0927416B09291 -:108600007516F70180819181A281B38180937616DE -:1086100090937716A0937816B0937916F80180811D -:108620009181A281B38180937A1690937B16A09357 -:108630007C16B0937D1688819981AA81BB81809335 -:108640007E1690937F16A0938016B093811690911A -:108650005C1680915D16981761F0DF91CF911F91A4 -:108660000F91FF90EF90BF90AF909F908F900C94E0 -:1086700031BC0E941AC280916F00982F927081FFC6 -:1086800005C080916F008D7F80936F0040918216AE -:108690005091831660918416709185164093EE1860 -:1086A0005093EF186093F0187093F118409186166C -:1086B0005091871660918816709189164093F21830 -:1086C0005093F3186093F4187093F51840918A163C -:1086D00050918B1660918C1670918D164093F61800 -:1086E0005093F7186093F8187093F91840918E160C -:1086F00050918F1660919016709191164093FA18D0 -:108700005093FB186093FC187093FD18992329F07F -:1087100080916F00826080936F00DF91CF911F91F5 -:108720000F91FF90EF90BF90AF909F908F90089522 -:10873000CF93DF93C82F0F94084524E0C29FE00138 -:108740001124CD58D34F0F94D95A288139814A81A9 -:108750005B810F94385BDF91CF91089590915C1607 -:1087600080915D16981306C080911812909119128D -:10877000892B21F080E00E946B67F0CF5F9A809197 -:10878000D6148E7F8093D6148A9A8091D6148D7FCA -:108790008093D614809108018095817080930601A2 -:1087A0008091D6148B7F8093D6140C949663CF93CC -:1087B000DF9390916F00292F227091FF05C0909157 -:1087C0006F009D7F90936F0094E0899FA00111241A -:1087D000FA01EE51F74E60817181828193812223EB -:1087E00029F020916F00226020936F00EA01CD589C -:1087F000D34F0F94D95A288139814A815B810F94D4 -:10880000385BDF91CF91089580916F00982F92701F -:1088100081FF05C080916F008D7F80936F008091F4 -:108820005D1680935C1680935B1680935A1684E6DF -:108830008093591628EE33E03093191220931812C2 -:10884000992329F080916F00826080936F0081E00E -:108850008093E1180895CF92DF92EF92FF92CF9329 -:10886000DF932091E612222349F1EC0108960F9440 -:1088700067106B017C0120E030E0A9010F94D25A0F -:10888000882379F0BE016C5F7F4FCE010E94838DFB -:108890009B01AC01C701B6010F94385B9B01AC0191 -:1088A00003C020E030E0A901688579858A859B8531 -:1088B0000F94C761688779878A879B87DF91CF91FB -:1088C000FF90EF90DF90CF9008958F929F92AF929C -:1088D000BF92EF92FF920F931F93CF93DF9320915C -:1088E000E612222349F1EA017B018C01CA010F94AF -:1088F00067104B015C0120E030E0A9010F94D25ACF -:10890000882369F0B701C8010E94838D9B01AC01E7 -:10891000C501B4010F94385B9B01AC0103C020E09A -:1089200030E0A901688179818A819B810F94C861B7 -:10893000688379838A839B83DF91CF911F910F9105 -:10894000FF90EF90BF90AF909F908F900895CF923F -:10895000DF92EF92FF928091DD12882371F1C09037 -:10896000E212D090E312E090E412F090E51220E0E1 -:1089700030E0A901C701B6010F94D25A8823E9F06B -:1089800020E030E040E05FE3C701B6010F94385BC0 -:108990009B01AC010F94385B2BED3FE049E450E4C0 -:1089A0000F94385B9B01AC0160E070E080E89FE3CE -:1089B0000F94C2626B017C0106C0C12CD12C80E8EF -:1089C000E82E8FE3F82EC092DE12D092DF12E092F2 -:1089D000E012F092E1126091460270914702072E78 -:1089E000000C880B990B0F94D95A2AE037ED43E21B -:1089F0005CE30F94385BA70196010F94385B60939A -:108A00002502709326028093270290932802FF90FC -:108A1000EF90DF90CF900895CF92DF92EF92FF9288 -:108A20000F931F93C12CD12C76018C0121E232E0EF -:108A30004DE152E069E172E085E192E00E94148A22 -:108A40001F910F91FF90EF90DF90CF900895CF93FB -:108A5000C82FCB01009711F00F944B4A8AE69DE393 -:108A60000F944B4AC11103C08BE59DE302C080E621 -:108A70009DE30F944B4A8AE0CF910C9427664F9266 -:108A80005F926F927F928F929F92AF92BF92CF929E -:108A9000DF92EF92FF920F931F93CF93DF93CDB7A7 -:108AA000DEB72C970FB6F894DEBF0FBECDBF2B01FB -:108AB0003C0129873A874B875C8747015801F601BB -:108AC000E080F1800281138120E030E0A901B7014C -:108AD000C8010F94D25A81110BC0E6EAF9E38591DF -:108AE0009591A591B491582F492F3A2F2B2F04C05F -:108AF0005E2D4F2D302F212F852F942FA32FB22F96 -:108B000089839A83AB83BC8320E030E0A901B7015D -:108B1000C8010F94D25A811104C0E12CF12C08EC49 -:108B200012E4C701D8018D839E83AF83B887A50166 -:108B3000940160911D0270911E0280911F0290911C -:108B400020020F94D25A87FF0CC080921D0290928F -:108B50001E02A0921F02B0922002CE0101960E9436 -:108B60000CC5409215025092160260921702709244 -:108B7000180289859A85AB85BC85809319029093EC -:108B80001A02A0931B02B0931C02CE0105960E940C -:108B90000CC520911D0230911E0240911F02509180 -:108BA0002002C501B4010F94D25A87FF0CC08092F5 -:108BB0001D0290921E02A0921F02B0922002CE01CE -:108BC00001960E940CC50E941AC22C960FB6F8940A -:108BD000DEBF0FBECDBFDF91CF911F910F91FF90F0 -:108BE000EF90DF90CF90BF90AF909F908F907F904D -:108BF0006F905F904F900895CF93DF9380E00E9435 -:108C000098C3C3E2D3E1688379838A839B8381E03D -:108C10000E9498C36C837D838E839F8382E00E9431 -:108C200098C3688779878A879B87DF91CF9108955A -:108C30001F93CF93DF93CDB7DEB760970FB6F8944D -:108C4000DEBF0FBECDBF182F0E94FCC5809123133D -:108C500090912413A0912513B091261389839A83B0 -:108C6000AB83BC838091271390912813A091291383 -:108C7000B0912A138D839E83AF83B88780912B1385 -:108C800090912C13A0912D13B0912E1389879A8760 -:108C9000AB87BC878091210290912202A091230290 -:108CA000B09124028D879E87AF87B88BCE01019645 -:108CB0000E942BC41E3F51F480E1FE013196A5E1D4 -:108CC000B2E001900D928A95E1F716C024E0129F60 -:108CD000C0011124FC01EB5EFD4FA1E0B0E0AC0F40 -:108CE000BD1FA80FB91F8D919D910D90BC91A02D16 -:108CF00080839183A283B38360960FB6F894DEBF1E -:108D00000FBECDBFDF91CF911F9108950C946A8A59 -:108D100080913213659B02C0806101C08F7E809379 -:108D20003213909103018091321391FF02C080624F -:108D300001C08F7D80933213809132134B9B02C010 -:108D4000846001C08B7F80933213909131138091A6 -:108D50003213981731F092E09093301380933113CF -:108D600009C080913013882329F0815080933013FB -:108D7000882349F08091480A811108C080914A0AED -:108D8000811104C0089590932F13F4CF8091D813CC -:108D900080FF10C08091490A80FD0CC080912F1384 -:108DA00084FF08C08091DC0B80618093DC0B80E045 -:108DB0000F94E0448091D813869580FF11C0809174 -:108DC000490A869580FD0CC080912F1385FF08C04D -:108DD0008091DC0B80628093DC0B81E00F94E04497 -:108DE0008091D8138695869580FF16C08091490A98 -:108DF0008695869580FF10C080914A0A882361F08D -:108E000080912F1382FF08C08091DC0B84608093D7 -:108E1000DC0B82E00D94E0440895CF93DF9300D003 -:108E20001F92CDB7DEB784EF91E0A0E0B0E0898378 -:108E30009A83AB83BC83BE016F5F7F4F8CE30F943B -:108E40002D0E88E89DE30F944B4A8CB162E87DE3D8 -:108E500085FB882780F90E9427C5809103016CE774 -:108E60007DE3869581700E9427C589B166E77DE321 -:108E700083FB882780F90E9427C58CB16DE67DE3CE -:108E8000829581700E9427C58EEE92E0A0E0B0E04E -:108E90004B9911C089839A83AB83BC83BE016F5FFA -:108EA0007F4F8AE00F942D0E0F900F900F900F9030 -:108EB000DF91CF91089589839A83AB83BC83BE01F0 -:108EC0006F5F7F4F8AE5EECF8091480A811105C020 -:108ED00080914A0A811101C0089562E070E080E04B -:108EE00090E00F941C4A80913013882329F061E0B0 -:108EF00070E080E090E0F5CF08958091DC0B88234E -:108F000019F01092DC0B08958DE49DE30F948C33DF -:108F1000A0EDB1E120E030E0C9012430310510F0CE -:108F200083E090E0880F991F880F991FFC01ED578F -:108F3000F54C459155916591749154964D935D937F -:108F40006D937C935797FC01ED58F54C45915591E5 -:108F50006591749194964D935D936D937C939797DF -:108F6000FC01ED59F54C45915591659174914D93E6 -:108F70005D936D937D932F5F3F4F2430310509F052 -:108F8000CBCF80E29EE4A0E0B0E08093E01190932C -:108F9000E111A093E211B093E31180E090E0A6E923 -:108FA000B3E48093041290930512A0930612B09339 -:108FB000071240E050E06AE774E4409308125093CF -:108FC000091260930A1270930B1280930C12909303 -:108FD0000D12A0930E12B0930F1210921012109255 -:108FE0001112109212121092131210921412109267 -:108FF000151210921612109217128AE097EDA3EA3A -:10900000BDE38093550C9093560CA093570CB093EE -:10901000580C8CE0EBE4FAE0DF011D928A95E9F749 -:1090200081E08093680210921A0A0E94BD6380E07A -:1090300090E0A0EAB0E48093590290935A02A09382 -:109040005B02B0935C028DE297E00E94456710924C -:10905000161310921713109218131092191380E020 -:109060000F94B1480F94D94880E090E0A4E2B2ECAC -:1090700080930A1390930B13A0930C13B0930D13CA -:1090800080E090E0A0E0B1EC80930E1390930F137A -:10909000A0931013B0931113109212131092131384 -:1090A00010921413109215138FE195E8ABE6B1E41A -:1090B00080938F0C9093900CA093910CB093920C92 -:1090C00085E391E5A5E1BEE38093930C9093940C26 -:1090D000A093950CB093960C81E294EDAAEBB3E4C7 -:1090E0008093970C9093980CA093990CB0939A0C42 -:1090F00083EC95E9ACE2B4E48093270A9093280AC4 -:10910000A093290AB0932A0A80E29BE1A2E9B1E484 -:1091100080932B0A90932C0AA0932D0AB0932E0AC9 -:1091200087EF9CEDABECB5E480932F0A9093300A67 -:10913000A093310AB093320A1092DD1280E090E0E1 -:10914000A0EEBFE38093E2129093E312A093E412A7 -:10915000B093E5121092480A1092470A0E9464C721 -:1091600010929B0C10929C0C10929D0C10929E0CD5 -:1091700080E090E0A7EDB3E480931A1390931B1363 -:10918000A0931C13B0931D1380931E1390931F1371 -:10919000A0932013B09321130F94AC038DE297E0BA -:1091A0000C9445678091921690919316805193404C -:1091B00060E970E00F949761CB010895EF92FF9200 -:1091C0000F931F93CF93DF9300D01F92CDB7DEB7DD -:1091D000182F7B010E94D2C817FD2FC0212F110F1D -:1091E000330B281739074CF52F5F3F4F80E9829FDB -:1091F000A001839F500D1124809192169091931697 -:10920000841B950B9C838B831A821982E114F104D1 -:1092100011F0B70102C066E372E101E09E012F5F29 -:109220003F4F40E950E0CE0103960E94ED63882352 -:1092300021F087E49AE30F944B4A0F900F900F9020 -:109240000F90DF91CF911F910F91FF90EF900895B4 -:109250001F93CF93DF9300D01F92CDB7DEB7182FA7 -:109260000E94D2C817FD29C0212F110F330B2817D8 -:1092700039071CF52F5F3F4F80E9829FA001839F34 -:10928000500D11248091921690919316841B950B8A -:109290009C838B831A8219829E012F5F3F4F40E986 -:1092A00050E066E372E1CE0103960E942A648823AF -:1092B00021F08BE29AE30F944B4A0F900F900F909E -:1092C0000F90DF91CF911F9108954F925F926F920F -:1092D0007F928F929F92AF92BF92CF92DF92EF9246 -:1092E000FF922091FE123091FF1240910013509195 -:1092F00001136091150270911602809117029091EE -:1093000018020F94C861AB01BC0180EC9DE30F947F -:10931000974A209102133091031340910413509106 -:1093200005136091190270911A0280911B029091AD -:109330001C020F94C861AB01BC018CEB9DE30F9440 -:10934000974A2091061330910713409108135091CA -:10935000091360911D0270911E0280911F0290916D -:1093600020020F94C861AB01BC0188EB9DE30F9410 -:10937000974A4091210250912202609123027091FC -:10938000240284EB9DE30F94974A80916F00982FFD -:10939000927081FF05C080916F008D7F80936F0078 -:1093A0004090EE185090EF186090F0187090F118FF -:1093B0008090F2189090F318A090F418B090F518DF -:1093C000C090F618D090F718E090F818F090F918BF -:1093D000992329F080916F00826080936F008AEA60 -:1093E0009DE30F944B4AC301B2010E949B6686EA3B -:1093F0009DE30F944B4AC501B4010E949B6682EA2B -:109400009DE30F944B4AC701B6010E949B668AE018 -:10941000FF90EF90DF90CF90BF90AF909F908F9094 -:109420007F906F905F904F900C942766CF93C82FDA -:10943000811102C00F94CB4A86E39DE30F944B4AFF -:1094400080E39DE30F944B4A8AE00E9427668AE0FE -:109450000E942766C11114C00F94CB4A8DE19DE391 -:109460000F944B4A8091DD12882321F08AE00E94FC -:10947000276604C082E19DE30F944B4A0F94CB4AC8 -:109480004091E2125091E3126091E4127091E51262 -:1094900089E09DE30F94974A8AE00E9427668091B5 -:1094A000DD12811108C0C11102C00F94CB4A8EEFAA -:1094B0009CE30F944B4AC11106C00F94CB4A8DEE2A -:1094C0009CE30F944B4A6FEF81E08C270E944FD2B0 -:1094D000C11108C00F94CB4A8FEC9CE30F944B4A08 -:1094E0000F94CB4A4091F4115091F5116091F6110F -:1094F0007091F71186EC9CE30F94974A4091F81114 -:109500005091F9116091FA117091FB1183EC9CE379 -:109510000F94974A4091FC115091FD116091FE11FA -:109520007091FF1180EC9CE30F94974A40910012D8 -:109530005091011260910212709103128DEB9CE325 -:109540000F94974A8AE00E942766C11108C00F94C1 -:10955000CB4A8BE99CE30F944B4A0F94CB4A609122 -:10956000D0117091D1118091D2119091D3110F949B -:10957000D75AAB01BC0182E99CE30F94974A6091F2 -:10958000D4117091D5118091D6119091D7110F946B -:10959000D75AAB01BC018FE89CE30F94974A6091C6 -:1095A000D8117091D9118091DA119091DB110F943B -:1095B000D75AAB01BC018CE89CE30F94974A6091A9 -:1095C000DC117091DD118091DE119091DF110F940B -:1095D000D75AAB01BC0189E89CE30F94974A8AE013 -:1095E0000E942766C11108C00F94CB4A8FE39CE309 -:1095F0000F944B4A0F94CB4A40910412509105129C -:10960000609106127091071286E39CE30F94974ACB -:10961000409108125091091260910A1270910B1238 -:1096200083E39CE30F94974A40910C1250910D12E2 -:1096300060910E1270910F1280E39CE30F94974A91 -:109640008AE00E942766C1110FC00F94CB4A88EEB2 -:109650009BE30F944B4A8BED9BE30F944B4A8AE0BC -:109660000E9427660F94CB4A6091E0117091E1113E -:109670008091E2119091E3110F94D75AAB01BC0194 -:1096800082ED9BE30F94974A409110125091111272 -:1096900060911212709113128FEC9BE30F94974A12 -:1096A0004091141250911512609116127091171278 -:1096B0008CEC9BE30F94974A4091550C5091560CBB -:1096C0006091570C7091580C89EC9BE30F94974A6A -:1096D0008AE00E942766C11108C00F94CB4A8BEB29 -:1096E0009BE30F944B4A0F94CB4A40914B0A509105 -:1096F0004C0A60914D0A70914E0A82EB9BE30F94E5 -:10970000974A40914F0A5091500A6091510A7091C6 -:10971000520A8FEA9BE30F94974A4091530A509163 -:10972000540A6091550A7091560A8CEA9BE30F9493 -:10973000974A8AE00E942766C1110CC00F94CB4A59 -:1097400083E99AE30F944B4A89EA9BE30F944B4ACF -:109750000F94CB4A6091E61270E080EA9BE30F948D -:10976000A84A4091C6125091C7126091C8127091D8 -:10977000C9128DE99BE30F94974A8AE00E942766FD -:10978000C11124C08AE00E9427660F945A4A609152 -:109790002213062E000C770B89E89BE30F94A84A4E -:1097A0008AE00E9427660E94D2C8BC0188E79BE33A -:1097B0000F948A4A8DE69BE30F944B4A0F94CB4A51 -:1097C0008EE59BE30F944B4A0F94CB4A40918F0C4C -:1097D0005091900C6091910C7091920C85E59BE3F7 -:1097E0000F94974A2CEA35EC47E25EE36091930CC4 -:1097F0007091940C8091950C9091960C0F94C2628C -:10980000AB01BC0182E59BE30F94974A2CEA35EC4F -:1098100047E25EE36091970C7091980C8091990CEF -:1098200090919A0C0F94385BAB01BC018FE49BE3E1 -:109830000F94974A8AE00E942766C11102C00F94D4 -:10984000CB4A4091270A5091280A6091290A7091C9 -:109850002A0A86E49BE30F94974A2CEA35EC47E208 -:109860005EE360912B0A70912C0A80912D0A9091F1 -:109870002E0A0F94C262AB01BC0183E49BE30F94F8 -:10988000974A2CEA35EC47E25EE360912F0A70912B -:10989000300A8091310A9091320A0F94385BAB0103 -:1098A000BC0180E49BE30F94974A8AE00E942766FC -:1098B000C11110C00F94CB4A81E39BE30F944B4A34 -:1098C00080E39DE30F944B4A88EA9AE30F944B4A56 -:1098D0000F94CB4A40910A1350910B1360910C13D3 -:1098E00070910D1388E29BE30F94974A8AE00E94DF -:1098F000276640910E1350910F13609110137091D1 -:1099000011138FE19BE30F94974A8AE00E94276628 -:109910004091121350911313609114137091151309 -:1099200086E19BE30F94974A8AE00E942766C11163 -:1099300008C00F94CB4A85E09BE30F944B4A0F94E9 -:10994000CB4A40919B0C50919C0C60919D0C709166 -:109950009E0C8CEF9AE30F94974A8AE00E94276648 -:10996000C11108C00F94CB4A8DED9AE30F944B4A76 -:109970000F94CB4A8BEA9AE30F944B4A40911E1303 -:1099800050911F1360912013709121138BED9AE376 -:109990000F94974A40911A1350911B1360911C1316 -:1099A00070911D1388ED9AE30F94974A8AE00E9404 -:1099B0002766C11108C00F94CB4A8FEB9AE30F942E -:1099C0004B4A0F94CB4A6091680270E086EB9AE3B1 -:1099D0000F94A84A4091590250915A0260915B023B -:1099E00070915C0283EB9AE30F94974A8AE0CF91DF -:1099F0000C9427662F923F924F925F926F927F92C4 -:109A00008F929F92AF92BF92CF92DF92EF92FF928E -:109A10000F931F93CF93DF93CDB7DEB7AC970FB6FD -:109A2000F894DEBF0FBECDBF182F6CA7542EB22EF8 -:109A3000A32E9AED692E90E4792E00E080E0812E2D -:109A4000012E000C99082AEC210F2BA7FE0131965C -:109A50007F01F30132964490242C312C28143904D0 -:109A600009F0A4C081115DC001115BC0AF92BF922B -:109A700022ED30E43F932F93FF92EF920F946A5AB6 -:109A8000FAA6E9A60F900F900F900F900F900F90ED -:109A90006701F60181916F01882319F00E94276602 -:109AA000F8CF1F924F922DEC30E43F932F93FF920B -:109AB000EF920F946A5A0F900F900F900F900F90A3 -:109AC0000F906701F60181916F01882319F00E94C0 -:109AD0002766F8CF812F0F947C37FBA5F7FD1DC0BB -:109AE00026E3221A31083F922F9283EC90E49F9351 -:109AF0008F93FF92EF920F946A5A0F900F900F90EE -:109B00000F900F900F90E9A5FAA58191FAA7E9A708 -:109B10008823B1F00E942766F6CF88E00F94404A70 -:109B20000FC08EE20E942766EB2DFA2DDF010D900B -:109B30000020E9F78A2F8B19875E0F94404A01E0D5 -:109B4000F301C590D490412CF6018491811107C096 -:109B5000312C87E2C82ED12CC418D1080AC00E942B -:109B600027664394FFEFCF1ADF0A27E24212ECCFB9 -:109B70000AC0832D90E08C159D052CF480E20E9494 -:109B800027663394F6CF552069F0812F0E949863A1 -:109B9000882309F4C7C03CA53111C4C088EB90E408 -:109BA0000F944B4A8AE00E94276681E0F4E06F0E32 -:109BB000711C2AEC621621E4720609F04ACF811169 -:109BC000F5C0AF92BF928BE890E49F938F93CE0144 -:109BD00001967C019F938F930F946A5A67010F90AF -:109BE0000F900F900F900F900F905701F5018191FA -:109BF0005F01882319F00E942766F8CF9F928F9209 -:109C000086E890E49F938F93FF92EF920F946A5AA5 -:109C10000F900F900F900F900F900F905701F5013C -:109C200081915F01882319F00E942766F8CF812F68 -:109C30000F947C370AEC010F07FD1BC0C401C697C7 -:109C40009F938F938CE790E49F938F93FF92EF9273 -:109C50000F946A5A0F900F900F900F900F900F90E3 -:109C60005701F50181915F01882331F00E94276639 -:109C7000F8CF88E00F94404A8BE690E40F944B4A6B -:109C8000552009F44BC0812F0F943338811140C007 -:109C9000812F0F94A13A882331F087E10F94404A35 -:109CA00083E990E42CC0003128F5802F0F94AD3F5C -:109CB000092E000CAA0BBB0BBF93AF939F938F93FE -:109CC00087E590E49F938F93FF92EF920F946A5AE7 -:109CD0000FB6F894DEBF0FBECDBFF60181916F01C4 -:109CE000882319F00E942766F8CF83E590E40F944B -:109CF0004B4A03C087E10F94404A8DE990E40F94EA -:109D00004B4A812F0F949C376AE070E00E94B7663F -:109D100087E10F94404A812F0F94BB378AE00E945D -:109D2000276644C0F3013396E491E11121C08BA56D -:109D30000F94AD3F092E000CAA0BBB0BBF93AF9342 -:109D40009F938F9387EA90E49F938F93FF92EF9274 -:109D50000F946A5A67010FB6F894DEBF0FBECDBFED -:109D6000F60181916F018823D9F00E942766F8CF10 -:109D7000812F0F94A13A811103C08DE990E407C0AF -:109D8000812F0F94333881110BC083E990E40F9435 -:109D90004B4A812F0F949C376AE070E00E94B766AF -:109DA000011100CF812F0F94BB37FCCEAC960FB6BC -:109DB000F894DEBF0FBECDBFDF91CF911F910F9101 -:109DC000FF90EF90DF90CF90BF90AF909F908F90DB -:109DD0007F906F905F904F903F902F9008959F924B -:109DE000AF92BF92CF92DF92EF92FF920F931F93A9 -:109DF000CF93DF9381EAA82E83E0B82E02EC18E11E -:109E0000C5E1D2E09EEFC92E92E1D92E24EFE22ED9 -:109E100028E0F22E912CF50181915F010E940B8DBB -:109E2000882309F10E948B8CF7012081211104C045 -:109E30002091FD08222339F0288139814A815B81F4 -:109E40000F94C8610AC0F3E09F1639F0F601208133 -:109E50003181428153810F94C761F801608371831E -:109E60008283938309C088819981AA81BB81F8018B -:109E700080839183A283B38393940C5F1F4F2496B6 -:109E8000F4E0CF0ED11C2FEFE21AF20A84E0981210 -:109E9000C2CF40E050E0BA0186E40E94A59C20E0D9 -:109EA00030E0A9010F942864181684F40E948B8C6A -:109EB00020E030E040E752E40F94C2626093550224 -:109EC0007093560280935702909358028091CF115D -:109ED00083FD28C08091360A882321F12091210238 -:109EE0003091220240912302509124026091CE18B9 -:109EF0007091CF188091D0189091D1180F94C761AC -:109F00002091430A3091440A4091450A5091460AF3 -:109F10000F94C8616093430A7093440A8093450A82 -:109F20009093460ADF91CF911F910F91FF90EF9090 -:109F3000DF90CF90BF90AF909F900895CF9384E52E -:109F40000E940B8D8823F1F00E9447E4C82F181659 -:109F5000D4F40F94CB4A8DE40E9427666AE070E047 -:109F60008091B5149091B6140E94B7666C2FCC0FF7 -:109F7000770B88E295E40F94A84A8AE00E9427664E -:109F80008FEF01C080E0CF910895CF92DF92EF92E2 -:109F9000FF92CF93DF93CDB7DEB7A0970FB6F894BB -:109FA000DEBF0FBECDBF80E090E0A8E4B2E48983BD -:109FB0009A83AB83BC8380E090E0A0E2B1E48D8320 -:109FC0009E83AF83B88789879A87AB87BC870E94B7 -:109FD0009ECF87FDD4C041E061E081E00E94ECA803 -:109FE00081110E94738C85E40E94C28C882381F0C9 -:109FF0000E948B8C6B017C0120E030E0A9010F9462 -:10A00000286487FF0BC0F7FAF094F7F8F09406C0C5 -:10A01000C12CD12C80E8E82E80E4F82EF7FAF094D9 -:10A02000F7F8F094C98ADA8AEB8AFC8A8AE50E94FA -:10A030000B8D882351F040E050E0BA018AE50E9480 -:10A04000A59C69877A878B879C8788E50E940B8D02 -:10A05000882351F040E050E0BA0188E50E94A59CB9 -:10A0600069837A838B839C8389E50E940B8D882387 -:10A0700051F040E050E0BA0189E50E94A59C6D8353 -:10A080007E838F83988785E50E94C28C882329F080 -:10A090000E948B8C6B017C0108C0C0901A13D09079 -:10A0A0001B13E0901C13F0901D1320E030E0A90179 -:10A0B000C701B6010F94286487FF04C0F7FAF09433 -:10A0C000F7F8F094F7FAF094F7F8F094CD8ADE8A76 -:10A0D000EF8AF88E198E1A8E1B8E1C8E8CE40E94CD -:10A0E000C28C882329F00E948B8C6B017C0108C0F4 -:10A0F000C0901E13D0901F13E0902013F0902113F6 -:10A1000020E030E0A901C701B6010F94286487FF61 -:10A1100004C0F7FAF094F7F8F094CD8EDE8EEF8E4F -:10A12000F8A262E070E082E40E94188DF82E21E02F -:10A13000AE014B5E5F4FBE016F5F7F4FCE01419618 -:10A140000F94EC0C8823D9F06F2D81E00F94C40A92 -:10A1500080E090E0A0EAB1E48D879E87AF87B88B5E -:10A160008091DE0B882359F02F2DAE01435F5F4FA6 -:10A17000BE01635E7F4FCE0149960F94690BA09696 -:10A180000FB6F894DEBF0FBECDBFDF91CF91FF9029 -:10A19000EF90DF90CF900895CF92DF92EF92FF92F1 -:10A1A000CF93DF93CDB7DEB76C970FB6F894DEBFD1 -:10A1B0000FBECDBF8CE40E94C28C882381F00E9428 -:10A1C0008B8C6B017C0120E030E0A9010F942864A6 -:10A1D00087FF0BC0F7FAF094F7F8F09406C0C12C93 -:10A1E000D12C80E8E82E80E4F82EF7FAF094F7F806 -:10A1F000F094C98EDA8EEB8EFC8E80E090E0A8E4BD -:10A20000B2E489839A83AB83BC8380E090E0A0E2D0 -:10A21000B1E48D839E83AF83B88789879A87AB87A4 -:10A22000BC8788E50E940B8D8823A1F040E050E0B8 -:10A23000BA0188E50E94A59C2091FE123091FF1280 -:10A2400040910013509101130F94C76169837A8381 -:10A250008B839C8389E50E940B8D8823A1F040E0CD -:10A2600050E0BA0189E50E94A59C2091FE12309130 -:10A27000FF1240910013509101130F94C7616D8339 -:10A280007E838F8398878AE50E940B8D882351F007 -:10A2900040E050E0BA018AE50E94A59C69877A8770 -:10A2A0008B879C87F0906C18F2FAFF24F0F81D86DB -:10A2B0001E861F86188A20E0AE01435F5F4FBE01F5 -:10A2C0006F5F7F4FCE0149960F94EC0C882329F1E4 -:10A2D000F11023C060E080E00F94C40A80E090E0B9 -:10A2E000A0E8B0E48D8B9E8BAF8BB88F198A1A8A49 -:10A2F0001B8A1C8A1D861E861F86188A8091DE0B8B -:10A30000882359F020E0AE014B5E5F4FBE016F5EC7 -:10A310007F4FCE010D960F94690B6C960FB6F89493 -:10A32000DEBF0FBECDBFDF91CF91FF90EF90DF90EA -:10A33000CF9008950F94CB4A88E195E40F944B4A4F -:10A3400083E50E94C28C882321F00E945BE4809305 -:10A35000430280914302811103C08BE09DE002C063 -:10A360008FE09DE00F944B4A80E195E40F944B4AB7 -:10A370002091FE123091FF12409100135091011371 -:10A3800060912B0270912C0280912D0290912E02EF -:10A390000F94C861AB01BC018EE095E40F94974A1D -:10A3A000209102133091031340910413509105132F -:10A3B000609133027091340280913502909136029F -:10A3C0000F94C861AB01BC018BE095E40F94974AF0 -:10A3D00020910613309107134091081350910913EF -:10A3E00060913B0270913C0280913D0290913E024F -:10A3F0000F94C861AB01BC0188E095E40F94974AC3 -:10A4000080E095E40F944B4A2091FE123091FF12A8 -:10A41000409100135091011360912F02709130020E -:10A4200080913102909132020F94C861AB01BC015E -:10A430008EEF94E40F94974A209102133091031306 -:10A4400040910413509105136091370270913802C6 -:10A450008091390290913A020F94C861AB01BC011E -:10A460008BEF94E40F94974A2091061330910713D1 -:10A47000409108135091091360913F02709140027E -:10A4800080914102909142020F94C861AB01BC01DE -:10A4900088EF94E40F94974A8AE00C942766882307 -:10A4A00019F00F94CB4A03C080E20E9427664091C6 -:10A4B000E4115091E5116091E6117091E71181EF7F -:10A4C00094E40F94974A4091E8115091E9116091FA -:10A4D000EA117091EB118EEE94E40F94974A40913B -:10A4E000EC115091ED116091EE117091EF118BEE26 -:10A4F00094E40F94974A4091F0115091F1116091BA -:10A50000F2117091F31188EE94E40F94974A8AE067 -:10A510000C9427662F923F924F925F926F927F9298 -:10A520008F929F92AF92BF92CF92DF92EF92FF9263 -:10A530000F931F93CF93DF9300D01F92CDB7DEB759 -:10A540002DB63EB684E50E94C28C882309F441C032 -:10A5500060E089E40E946BE4082F61E070E082E52E -:10A560000E94188D6C0160E070E083E50E94188DF8 -:10A57000182F65E470E08CE40E94188D5C0164EF94 -:10A5800071E087E50E94188D2C01990F6608770805 -:10A59000812F90E0A816B906CCF01634A8F401116A -:10A5A00056C1812F0E949863882309F450C120E48A -:10A5B00037E041E060E0812F0E94FACC8AE00E94FF -:10A5C00027668AE00E9427661F5FE2CF8AEC91E44B -:10A5D00099C085E40E94C28C8823B1F00E945BE49C -:10A5E0008093C41387ED94E40F944B4A8091C41375 -:10A5F000811103C089EC94E402C08DEC94E40F94C3 -:10A600004B4A80ED94E47EC083E50E94C28C88238F -:10A6100009F47BC060E080E50F94FB10082F10E088 -:10A62000B8018FE694E40F94A84AF801EE0FFF1FDB -:10A63000EE0FFF1FE95AFC4F608171818EE594E4B3 -:10A640000F948A4A6AE570E08DE494E40F948A4A94 -:10A650008AE00E94276662E170E089E394E40F9447 -:10A66000A84A8AE00E9427668DE194E40F944B4A41 -:10A6700081ED91E40F944B4A8AE00E94276653983B -:10A680005B9A88E094E40F944B4A54EF452E55248E -:10A690005394612C712C49825A826B827C82BE0158 -:10A6A0006F5F7F4F80EA0F942D0E6EEE862E62E074 -:10A6B000962EA12CB12C89829A82AB82BC82BE01DB -:10A6C0006F5F7F4F8AE50F942D0E7801EE0CFF1C13 -:10A6D0004B990DC149825A826B827C82BE016F5FA9 -:10A6E0007F4F8CE30F942D0E4B99E3C000C18FEF89 -:10A6F000E81AF80A98E9E9169AE3F90609F046C15A -:10A7000087ED91E40F944B4ADAC160E070E080E598 -:10A710000E94188D8C01F82E80E50E940B8D81110E -:10A7200007C0E5E4E01708F4CAC195E4E92E01C0CA -:10A73000E02E60E089E40E946BE4582E60E087E53B -:10A740000E946BE4882309F47FC08DB69EB68AEB25 -:10A7500094E40F944B4A6801DD248E2D90E08C190F -:10A760009D0901962DB73EB7281B390B0FB6F894FB -:10A770003EBF0FBE2DBF8DB79EB701965C01E016A0 -:10A7800060F0063440F4511064C1802F0E94986339 -:10A79000882309F45EC10F5FF2CF4090FE0883E08A -:10A7A0008093FE0881E080936B1441EA54E46AEAE6 -:10A7B00074E482E00F94A90A81E994E40E947B9CEE -:10A7C0007F2CE71418F195E49715F0F0511005C0AF -:10A7D000872D0E949863811117C0872D0F94503EDA -:10A7E000682E072D10E00C191D090A0D1B1DF8011C -:10A7F0008081681649F021EB35E040E0652D872D1A -:10A800000E94FACCF80160827394DBCF80916B14C4 -:10A81000882339F068EC70E080E090E00F941C4AE7 -:10A82000CFCF4092FE080FB6F8949EBE0FBE8DBEED -:10A8300046C1F5E4FF1538F021EB35E041E0652D28 -:10A840008F2D0E94FACCF394EF1498F738C1A89595 -:10A850002BE437E041E0602F812F0E94FACC61E0C9 -:10A86000812F0F94A83EE12CF12CEC14FD040CF088 -:10A87000A8CEA89560E0812F0F94793EC301B20164 -:10A880000F941C4AA89561E0812F0F94793EC30173 -:10A89000B2010F941C4AA89560E0812F0F94793E75 -:10A8A000C301B2010F941C4AA8952FEFE21AF20AD5 -:10A8B000DCCF89829A82AB82BC82BE016F5F7F4F00 -:10A8C0008AE00F942D0E4B9912C089829A82AB8236 -:10A8D000BC82BE016F5F7F4F8AE50F942D0E83EC23 -:10A8E00093E40F944B4ACC24C394D12C36C08AEA0B -:10A8F00093E40F944B4A84E0B82EC701800F911F58 -:10A900009C012A5A394E69016AE070E0C6010E9432 -:10A91000AF6464EF71E080E090E00F941C4AA9B04E -:10A920006AE570E0C6010E94AF6464EF71E080E008 -:10A9300090E00F941C4A89B1BA94B110E5CF8870A9 -:10A94000D82EA3FE9CC08AE793E40F944B4ADD20E7 -:10A9500009F4A2C0C12CDD24D3940E0D1F1D0A5A88 -:10A96000194E6AE070E0C8010E94AF6464EF71E0C4 -:10A9700080E090E00F941C4A86E992E40F944B4AE1 -:10A98000E12CF12C34EFA32EBB24B39462E070E0F1 -:10A9900080E090E00F941C4AC701B5010F949761C5 -:10A9A000892B51F40F9406406093CE147093CF140A -:10A9B0008093D0149093D11489B183FB882780F9B8 -:10A9C0008D1509F494CEE12CF12C89B183FB8827F5 -:10A9D00080F9D81669F062E070E080E090E00F94B2 -:10A9E0001C4A8FEFE81AF80A9FE0E916F10469F7AC -:10A9F00088E892E40F944B4A3FE0E316F10449F4EF -:10AA000088E792E40F944B4ACC20A9F08CE592E4BD -:10AA100014C0B701660F771F8BE692E40F948A4A41 -:10AA20008AE00E94276634E0E316F10408F044C08F -:10AA300082EF91E406C08CE492E40F944B4A8DE1DE -:10AA400092E40F944B4A6AE570E0C8010E94AF643B -:10AA500036C062E0802F0F94A83E61E070E080E095 -:10AA600090E00F94CC3F602E712C6C187D08802FE5 -:10AA70000F94503EF501E60DF71D80838CCE8823A0 -:10AA800049F08CE593E40F944B4A66E577E08BE15F -:10AA900093E40AC0C12C61CF8CE593E40F944B4A38 -:10AAA00061E877E08BE393E40F94B44A8AE00E9474 -:10AAB000276680EC92E426CE89E292E4BECF0FB600 -:10AAC000F8943EBE0FBE2DBE0F900F900F900F90CA -:10AAD000DF91CF911F910F91FF90EF90DF90CF907A -:10AAE000BF90AF909F908F907F906F905F904F90AE -:10AAF0003F902F9008952F923F924F925F926F92C6 -:10AB00007F928F929F92AF92BF92CF92DF92EF92FD -:10AB1000FF920F931F93CF93DF93CDB7DEB7C05B48 -:10AB2000D1090FB6F894DEBF0FBECDBF8C019E01D8 -:10AB3000235C3F4F2B963FAF2EAF2B978CE0D90174 -:10AB40001D928A95E9F789E097E40F944B4A2AE928 -:10AB500039E94DE852E4F801608171818281938185 -:10AB60000F94385BCA55DF4F688379838A839B8350 -:10AB7000C65AD0402DE330E02C0F3D1F245F3F4FDD -:10AB8000C155DF4F39832883CF5AD040AE01435C93 -:10AB90005F4F6A0196E3892E92E1992E01E010E061 -:10ABA0005401E12CF12CD5016D917D918D919D91F8 -:10ABB0005D019B01AC010F94156581110EC0F6017A -:10ABC00020813181C8010E2C02C0880F991F0A9480 -:10ABD000E2F7822B932B91838083FFEFEF1AFF0A1A -:10ABE00026E0E216F104F9F638E1830E911C42E00A -:10ABF000C40ED11CC155DF4F88819981CF5AD040F6 -:10AC0000C816D90669F6A6E3B2E1C355DF4FB9838A -:10AC1000A883CD5AD040E9ECF6E4C555DF4FF9835F -:10AC2000E883CB5AD040C655DF4F1882CA5AD0406D -:10AC30009E012F5F3F4F2D963FAF2EAF2D97C555ED -:10AC4000DF4FE881F981CB5AD04085919591A5914C -:10AC5000B491C456DF4F88839983AA83BB83CC59B0 -:10AC6000D040C355DF4FA881B981CD5AD0406996F5 -:10AC7000BFAFAEAF6997E9E8F6E46C96FFAFEEAF11 -:10AC80006C976A961FAE6A976C96EEADFFAD6C97A7 -:10AC90002591359145915491AC962CAF3DAF4EAF77 -:10ACA0005FAFAC976996AEADBFAD69976D917D9181 -:10ACB0008D919C919B01AC010F941565811163C02E -:10ACC0006A96BFAD6A97BF5F6A96BFAF6A976C9688 -:10ACD000EEADFFAD6C9734966C96FFAFEEAF6C9710 -:10ACE00069962EAD3FAD69972C5F3F4F69963FAF98 -:10ACF0002EAF6997B63041F6C655DF4F3881CA5A34 -:10AD0000D0403F5FC655DF4F3883CA5AD040C55543 -:10AD1000DF4F48815981CB5AD0404C5F5F4FC555BA -:10AD2000DF4F59834883CB5AD040C355DF4F8881CA -:10AD30009981CD5AD0404896C355DF4F9983888377 -:10AD4000CD5AD040363009F07ACF80E796E40F94A0 -:10AD50004B4AC055DF4F0FB6F894DEBF0FBECDBFD4 -:10AD6000DF91CF911F910F91FF90EF90DF90CF90E7 -:10AD7000BF90AF909F908F907F906F905F904F901B -:10AD80003F902F9008952D96EEADFFAD2D972CE3BB -:10AD900011922A95E9F789819A81AB81BC81C457C8 -:10ADA000DF4F88839983AA83BB83CC58D0402D8101 -:10ADB0003E814F815885C057DF4F288339834A83AE -:10ADC0005B83C059D04089859A85AB85BC85C857BF -:10ADD000DF4F88839983AA83BB83C858D0402D85D1 -:10ADE0003E854F855889CC57DF4F288339834A8366 -:10ADF0005B83C458D04089899A89AB89BC89C05883 -:10AE0000DF4F88839983AA83BB83C058D0402D89A4 -:10AE10003E894F89588DC458DF4F288339834A8330 -:10AE20005B83CC57D040898D9A8DAB8DBC8DEC96D1 -:10AE30008CAF9DAFAEAFBFAFEC972D8D3E8D4F8DDC -:10AE400058A1E8962CAF3DAF4EAF5FAFE89789A110 -:10AE50009AA1ABA1BCA1E4968CAF9DAFAEAFBFAF42 -:10AE6000E49729AD3AAD4BAD5CADE0962CAF3DAF6C -:10AE70004EAF5FAFE0973DA1CC56DF4F3883C4594A -:10AE8000D0404EA1CB56DF4F4883C559D0405FA17B -:10AE9000CA56DF4F5883C659D04088A5C956DF4FE0 -:10AEA0008883C759D04099A5C856DF4F9883C859A1 -:10AEB000D040AAA5C756DF4FA883C959D040BBA52B -:10AEC000C656DF4FB883CA59D040ECA5C556DF4FF0 -:10AED000E883CB59D04026E332E1CC55DF4F3983AC -:10AEE0002883C45AD040AE01435C5F4FC056DF4F49 -:10AEF00059834883C05AD04089EC96E4CE55DF4F41 -:10AF000099838883C25AD040CE55DF4FE881F981BA -:10AF1000C25AD0402591359145915491A0962CAFBD -:10AF20003DAF4EAF5FAFA097C056DF4FA881B9814C -:10AF3000C05AD0408D919D91C056DF4FB983A883F0 -:10AF4000C05AD0409C0140E050E0A8962CAF3DAFE5 -:10AF50004EAF5FAFA897CC55DF4F48815981C45A97 -:10AF6000D0402F965FAF4EAF2F9789E8282E86E40A -:10AF7000382E00E010E0A8968CAD9DADAEADBFAD13 -:10AF8000A897002E04C0B695A795979587950A9423 -:10AF9000D2F780FFEBC1F10185919591A591B49114 -:10AFA00063968CAF9DAFAEAFBFAF63972F96AEAD3C -:10AFB000BFAD2F978D909D90AD90BC90C456DF4F44 -:10AFC000288139814A815B81CC59D040A0966CADF3 -:10AFD0007DAD8EAD9FADA0970F94C7612B013C0155 -:10AFE000AC962CAD3DAD4EAD5FADAC9763966CAD00 -:10AFF0007DAD8EAD9FAD63970F94C7616B017C01F2 -:10B00000A3019201C301B2010F94385B2B013C01F3 -:10B01000A7019601C701B6010F94385B9B01AC01F3 -:10B02000C301B2010F94C8610F94C6649B01AC01C7 -:10B03000CA55DF4F688179818A819B81C65AD04089 -:10B040000F94C26220E030E040E85FE30F94C861F3 -:10B0500067966CAF7DAF8EAF9FAF6797A0962CAD14 -:10B060003DAD4EAD5FADA0970F94385B6B017C0199 -:10B070009B01AC01C457DF4F688179818A819B8134 -:10B08000CC58D0400F94C861C457DF4F6883798390 -:10B090008A839B83CC58D04063962CAD3DAD4EAD9A -:10B0A0005FAD639767966CAD7DAD8EAD9FAD6797D5 -:10B0B0000F94385B2B013C019B01AC01C057DF4F63 -:10B0C000688179818A819B81C059D0400F94C86181 -:10B0D000C057DF4F688379838A839B83C059D040F0 -:10B0E00067962CAD3DAD4EAD5FAD6797C501B40120 -:10B0F0000F94385BA4966CAF7DAF8EAF9FAFA497D3 -:10B100009B01AC01C857DF4F688179818A819B819F -:10B11000C858D0400F94C861C857DF4F68837983FF -:10B120008A839B83C858D040A7019601A0966CAD36 -:10B130007DAD8EAD9FADA0970F94385B9B01AC01A8 -:10B14000CC57DF4F688179818A819B81C458D04078 -:10B150000F94C861CC57DF4F688379838A839B83C0 -:10B16000C458D040A301920163966CAD7DAD8EAD05 -:10B170009FAD63970F94385B9B01AC01C058DF4FC4 -:10B18000688179818A819B81C058D0400F94C861C1 -:10B19000C058DF4F688379838A839B83C058D0402F -:10B1A000A4962CAD3DAD4EAD5FADA497C501B401E5 -:10B1B0000F94385B9B01AC01C458DF4F68817981E3 -:10B1C0008A819B81CC57D0400F94C861C458DF4F0F -:10B1D000688379838A839B83CC57D040A7019601EB -:10B1E00063966CAD7DAD8EAD9FAD63970F94385B6C -:10B1F0009B01AC01EC966CAD7DAD8EAD9FADEC9737 -:10B200000F94C861EC966CAF7DAF8EAF9FAFEC979B -:10B21000A7019601C501B4010F94385B9B01AC01F5 -:10B22000E8966CAD7DAD8EAD9FADE8970F94C8618B -:10B23000E8966CAF7DAF8EAF9FAFE897A301920108 -:10B24000C501B4010F94385B9B01AC01E4966CAD71 -:10B250007DAD8EAD9FADE4970F94C861E4966CAF61 -:10B260007DAF8EAF9FAFE49767962CAD3DAD4EADF1 -:10B270005FAD6797E0966CAD7DAD8EAD9FADE0970D -:10B280000F94C861E0966CAF7DAF8EAF9FAFE09733 -:10B2900020E030E0A901C701B6010F94286487FDC2 -:10B2A00098C1CC56DF4F2881C459D040CB56DF4FD0 -:10B2B0003881C559D040CA56DF4F4881C659D04061 -:10B2C000C956DF4F5881C759D040C701B6010F9406 -:10B2D00028641816A4F4CC56DF4FC882C459D04055 -:10B2E000CB56DF4FD882C559D040CA56DF4FE882CF -:10B2F000C659D040C956DF4FF882C759D04020E028 -:10B3000030E0A901C301B2010F94286487FD5CC13C -:10B31000C856DF4F2881C859D040C756DF4F388103 -:10B32000C959D040C656DF4F4881CA59D040C5568A -:10B33000DF4F5881CB59D040C301B2010F9428642C -:10B340001816A4F4C856DF4F4882C859D040C756D3 -:10B35000DF4F5882C959D040C656DF4F6882CA595C -:10B36000D040C556DF4F7882CB59D0400F5F1F4F7A -:10B37000B4E02B0E311C2F96EEADFFAD2F97349617 -:10B380002F96FFAFEEAF2F970630110509F0F3CDE2 -:10B39000CE55DF4F28813981C25AD0402C5F3F4FB4 -:10B3A000CE55DF4F39832883C25AD040CC55DF4F6A -:10B3B00048815981C45AD040485E5F4FCC55DF4F19 -:10B3C00059834883C45AD040C056DF4F8881998141 -:10B3D000C05AD040C155DF4FA881B981CF5AD04063 -:10B3E0008A179B0709F090CDC856DF4F8881C8594E -:10B3F000D040C756DF4F9881C959D040C656DF4F5D -:10B40000A881CA59D040C556DF4FB881CB59D0402A -:10B4100089A79AA7ABA7BCA7CC56DF4F8881C45990 -:10B42000D040CB56DF4F9881C559D040CA56DF4F28 -:10B43000A881C659D040C956DF4FB881C759D040FE -:10B440008DA39EA3AFA3B8A7C457DF4F288139812E -:10B450004A815B81CC58D04029833A834B835C83FB -:10B46000C057DF4F88819981AA81BB81C059D040E4 -:10B470008D839E83AF83B887C857DF4F288139817A -:10B480004A815B81C858D04029873A874B875C87BF -:10B49000CC57DF4F88819981AA81BB81C458D040A5 -:10B4A0008D879E87AF87B88BC058DF4F2881398141 -:10B4B0004A815B81C058D040298B3A8B4B8B5C8B87 -:10B4C000C458DF4F88819981AA81BB81CC57D04075 -:10B4D0008D8B9E8BAF8BB88FEC962CAD3DAD4EAD6A -:10B4E0005FADEC97298F3A8F4B8F5C8FE8968CADD0 -:10B4F0009DADAEADBFADE8978D8F9E8FAF8FB8A3DA -:10B50000E4962CAD3DAD4EAD5FADE49729A33AA3D3 -:10B510004BA35CA3E0968CAD9DADAEADBFADE09707 -:10B5200089AF9AAFABAFBCAFCE0101960F943E0688 -:10B53000892B09F053C0CDA8DEA8EFA8F8ACF7FA24 -:10B54000F094F7F8F0942DA53EA54FA558A9C45640 -:10B55000DF4F688179818A819B81CC59D0400F94DB -:10B56000385B9B01AC01C701B6010F94C7616B0149 -:10B570007C0129A93AA94BA95CA9AC966CAD7DAD1B -:10B580008EAD9FADAC970F94385B9B01AC01C701AA -:10B59000B6010F94C7619B01AC016996AEADBFAD1A -:10B5A00069976D937D938D939C9313976A966FAD76 -:10B5B0006A97C655DF4F8881CA5AD0400E94739B54 -:10B5C00080E00E946B677CCB77FA709477F8709478 -:10B5D0009FCEF7FAF094F7F8F09463CE86E796E4FE -:10B5E000B6CB2F923F924F925F926F927F928F9243 -:10B5F0009F92AF92BF92CF92DF92EF92FF920F9302 -:10B600001F93CF93DF93CDB7DEB7C359D1090FB6E0 -:10B61000F894DEBF0FBECDBF382E80900A139090F5 -:10B620000B13A0900C13B0900D1320E030E0A90193 -:10B63000C501B4010F94C8612B013C0120E030E04A -:10B6400040E450E40F94D25A87FF05C0412C512C9E -:10B65000F0E46F2E762C20E030E044EB53E4C5019B -:10B66000B4010F94C861E9966CAF7DAF8EAF9FAF08 -:10B67000E99720E030E842EB53E40F942864181671 -:10B6800054F480E090E8A2EBB3E4E9968CAF9DAF70 -:10B69000AEAFBFAFE997C0900E13D0900F13E090FC -:10B6A0001013F090111320E030E0A901C701B6019A -:10B6B0000F94C8614B015C0120E030E040E450E4AD -:10B6C0000F94D25A87FF05C0812C912CE0E4AE2E56 -:10B6D000BA2C20E030E044EB53E4C701B6010F94EC -:10B6E000C861ED966CAF7DAF8EAF9FAFED9720E058 -:10B6F00030E842EB53E40F942864181654F480E0C9 -:10B7000090E8A2EBB3E4ED968CAF9DAFAEAFBFAFC8 -:10B71000ED970091351310913613DE0111967D01DE -:10B720008CE3FD0111928A95E9F7332009F4C6C133 -:10B730008CE596E40F944B4A8AE496E49F938F93AA -:10B740001F920F94D60820913313412C512C60EA9C -:10B75000662E63E4762E2D964CAE5DAE6EAE7FAE59 -:10B760002D97812C912C78E4A72E72E4B72E219688 -:10B770008CAE9DAEAEAEBFAE219701E042E0BE0101 -:10B78000675B7F4FCE01CD960E94EDBDE1966CAF19 -:10B790007DAF8EAF9FAFE1970F900F900F909B0101 -:10B7A000AC010F94156581115AC32D964CAE5DAE58 -:10B7B0006EAE7FAE2D9721968CAE9DAEAEAEBFAE77 -:10B7C0002197BE01675B7F4FCE01CD960E94838D8E -:10B7D0009B01AC01E1966CAD7DAD8EAD9FADE19767 -:10B7E0000F94C761E1966CAF7DAF8EAF9FAFE197CD -:10B7F0008091331390913413049784F080E10F9477 -:10B80000404AE1964CAD5DAD6EAD7FADE1978DE305 -:10B8100096E40F94974A8AE00E942766812C912C27 -:10B8200040EAA42E43E4B42E2D968CAE9DAEAEAE6F -:10B83000BFAE2D9780E090E0A8E4B2E421968CAFF3 -:10B840009DAFAEAFBFAF21979E0123593F4FAE01D1 -:10B85000475B5F4FBE01635C7F4FC7010E944C8B0B -:10B8600089E296E40F944B4A87E196E49F938F9385 -:10B870001F920F94D608209133132D968CAE9DAE57 -:10B88000AEAEBFAE2D97412C512C56E9652E53E438 -:10B89000752E21964CAE5DAE6EAE7FAE219701E067 -:10B8A00042E0BE01675B7F4FCE01CD960E94EDBDA9 -:10B8B000E1966CAF7DAF8EAF9FAFE1970F900F9089 -:10B8C0000F909B01AC010F9415658111C8C22D9694 -:10B8D0008CAE9DAEAEAEBFAE2D9721964CAE5DAE9A -:10B8E0006EAE7FAE2197BE01675B7F4FCE01CD96D6 -:10B8F0000E94838D9B01AC01E1966CAD7DAD8EAD58 -:10B900009FADE1970F94C761E1966CAF7DAF8EAFAD -:10B910009FAFE1978091331390913413049784F093 -:10B9200080E10F94404AE1964CAD5DAD6EAD7FADC8 -:10B93000E1978AE096E40F94974A8AE00E9427668E -:10B9400080E090E0A0EAB3E42D968CAF9DAFAEAF5F -:10B95000BFAF2D97812C912C26E9A22E23E4B22E85 -:10B9600021968CAE9DAEAEAEBFAE21979E012359FF -:10B970003F4FAE01475B5F4FBE01635C7F4FC70126 -:10B980000E944C8B86EF95E40F944B4A84EE95E42D -:10B990009F938F931F920F94D60820913313412CBD -:10B9A000512C38E4632E32E4732E2D964CAE5DAEEE -:10B9B0006EAE7FAE2D9721968CAE9DAEAEAEBFAE75 -:10B9C000219701E041E0BE01675B7F4FCE01CD963C -:10B9D0000E94EDBDE1966CAF7DAF8EAF9FAFE1975A -:10B9E0000F900F900F909B01AC010F941565811182 -:10B9F00036C22D964CAE5DAE6EAE7FAE2D972196C3 -:10BA00008CAE9DAEAEAEBFAE2197BE01675B7F4FE1 -:10BA1000CE01CD960E94838D9B01AC01E1966CAD69 -:10BA20007DAD8EAD9FADE1970F94C761E1966CAF90 -:10BA30007DAF8EAF9FAFE197809133139091341318 -:10BA4000049784F080E10F94404AE1964CAD5DADDF -:10BA50006EAD7FADE19787ED95E40F94974A8AE04C -:10BA60000E94276680E090E0A8E4B2E42D968CAFB7 -:10BA70009DAFAEAFBFAF2D9780E090E0A6E9B3E4F5 -:10BA800021968CAF9DAFAEAFBFAF21979E012359DA -:10BA90003F4FAE01475B5F4FBE01635C7F4FC70105 -:10BAA0000E944C8B312C80E00E944CBD0E9404BD52 -:10BAB000332009F4C6C18CEA95E4D6C1C301B201B2 -:10BAC0000F943463CE57DF4F79836883C258D040D8 -:10BAD000C501B4010F943463CC57DF4F7983688379 -:10BAE000C458D040B80161507109072E000C880B72 -:10BAF000990B0F94D95A2B013C01009F9001019F93 -:10BB0000300D300D1124EF963FAF2EAFEF97212C63 -:10BB100031E0CF57DF4F3883C158D040D12CE29667 -:10BB20001FAEE297312CCE57DF4F88819981C258E2 -:10BB3000D040092E000CAA0BBB0BC657DF4F8883E1 -:10BB40009983AA83BB83CA58D040CC57DF4F8881E2 -:10BB50009981C458D040092E000CAA0BBB0BC257C8 -:10BB6000DF4F88839983AA83BB83CE58D040CE56BB -:10BB7000DF4FE882C259D040CD56DF4FF882C3591B -:10BB8000D040022D10E080913513909136130817A4 -:10BB900019070CF056C1E9966CAD7DAD8EAD9FAD29 -:10BBA000E9970F943463CE57DF4FA881B981C2580B -:10BBB000D0406A1B7B0B072E000C880B990B0F944F -:10BBC000D95AA30192010F94C2624B015C01B801E2 -:10BBD000110F880B990B0F94D95A9B01AC01C50129 -:10BBE000B4010F94385B4B015C01C657DF4F68818D -:10BBF00079818A819B81CA58D0400F94D95A9B0180 -:10BC0000AC01C501B4010F94C8612D966CAF7DAF36 -:10BC10008EAF9FAF2D97CF57DF4FA880C158D04030 -:10BC2000BD2C9FE7892E95E4992EFA2CCF57DF4F34 -:10BC3000B881C158D040FB1ACF2C0F2C000CDD0866 -:10BC40000091351310913613C016D1060CF0E9C0DF -:10BC5000C257DF4F688179818A819B81CE58D0405D -:10BC60000F94D95ACA57DF4F688379838A839B839D -:10BC7000C658D040E296EFADE297EE2351F0B801FE -:10BC8000615071096C197D09072E000C880B990B06 -:10BC900005C06F2DFF0C770B880B990B0F94D95AA9 -:10BCA0006B017C01ED966CAD7DAD8EAD9FADED97DA -:10BCB0000F943463CC57DF4F28813981C458D0406A -:10BCC000621B730B072E000C880B990B0F94D95A2B -:10BCD000A30192010F94C262A70196010F94385BF1 -:10BCE000CA57DF4F288139814A815B81C658D040CD -:10BCF0000F94C86121966CAF7DAF8EAF9FAF219737 -:10BD000031108BC0B50188E995E40F948A4AEF960B -:10BD10006EAD7FADEF9786E995E40F948A4A83E98B -:10BD200095E40F944B4AEF963FADEF973F93EE9615 -:10BD30008FADEE978F93BF92AF929F928F921F928B -:10BD40000F94D6081091331385E40E94C28C0FB66D -:10BD5000F894DEBF0FBECDBF811102C042E001C02A -:10BD600041E001E0212FBE01635C7F4FCE01875B84 -:10BD70009F4F0E94EDBDE1966CAF7DAF8EAF9FAF40 -:10BD8000E197332433949B01AC010F941565811125 -:10BD900001C0312CBE01635C7F4FCE01875B9F4F9A -:10BDA0000E94838D9B01AC01E1966CAD7DAD8EADA3 -:10BDB0009FADE1970F94C761E1966CAF7DAF8EAFF9 -:10BDC0009FAFE1978091331390913413049784F0DF -:10BDD00080E10F94404AE1964CAD5DAD6EAD7FAD14 -:10BDE000E19782E795E40F94974A8AE00E942766DC -:10BDF0009E0123593F4FAE01435C5F4FBE01675B1D -:10BE00007F4FCE56DF4F8881C259D040CD56DF4F8D -:10BE10009881C359D0400E944C8BBFEFAB1ABB0A2C -:10BE200004CF81E0E296EFADE297E827E296EFAF2C -:10BE3000E2972394CF57DF4FA882C158D040DB2C24 -:10BE4000A0CE80E00E944CBD0E9404BD31100AC00B -:10BE5000CE0101960F943E06892B21F408C03324AD -:10BE6000339421CE8AE595E40F944B4AC5C189A944 -:10BE70009AA9ABA9BCA94DA55EA56FA578A9A59661 -:10BE80004CAF5DAF6EAF7FAFA597A9968CAF9DAF5E -:10BE9000AEAFBFAFA99780E090E0A0E8BFE3AD965A -:10BEA0008CAF9DAFAEAFBFAFAD97CE018F599F4F57 -:10BEB0000F948904809133139091341303977CF18C -:10BEC0000BEA17E0D8018D918D01882319F00E94AB -:10BED0002766F8CFA5966CAD7DAD8EAD9FADA597CD -:10BEE00047E00E94C7668CE20E942766A9966CAD67 -:10BEF0007DAD8EAD9FADA99747E00E94C7668CE2ED -:10BF00000E942766AD966CAD7DAD8EAD9FADAD97B1 -:10BF100047E00E94C76687E595E40F944B4A89A9DC -:10BF20009AA9ABA9BCA9CDA4DEA4EFA4F8A86996F0 -:10BF3000CCAEDDAEEEAEFFAE69976D968CAF9DAF29 -:10BF4000AEAFBFAF6D97812C912C80E8A82E8FE308 -:10BF5000B82EA1968CAE9DAEAEAEBFAEA197CE016F -:10BF60008B5A9F4F0F9489042D968CAE9DAEAEAE2A -:10BF7000BFAE2D9761961CAE1DAE1EAE1FAE619773 -:10BF8000F7FAF094F7F8F0946596CCAEDDAEEEAE2D -:10BF9000FFAE6597CE01875B9F4F0F94890469962A -:10BFA0008CAD9DADAEADBFAD6997E5968CAF9DAF45 -:10BFB000AEAFBFAFE59761968CAD9DADAEADBFADF9 -:10BFC0006197E9968CAF9DAFAEAFBFAFE9976D9625 -:10BFD0004CAC5DAC6EAC7FAC6D972D968CAD9DADD1 -:10BFE000AEADBFAD2D97ED968CAF9DAFAEAFBFAFF1 -:10BFF000ED97A1968CAC9DACAEACBFACA19765960D -:10C00000CCACDDACEEACFFAC6597A7019601C301EB -:10C01000B2010F94385BC358DF4F688379838A83FA -:10C020009B83CD57D040A5019401E9966CAD7DADC1 -:10C030008EAD9FADE9970F94385B9B01AC01C3585F -:10C04000DF4F688179818A819B81CD57D0400F94E1 -:10C05000C76121966CAF7DAF8EAF9FAF2197A501D1 -:10C060009401ED966CAD7DAD8EAD9FADED970F94C7 -:10C07000385B4B015C01A7019601E5966CAD7DAD87 -:10C080008EAD9FADE5970F94385B9B01AC01C50168 -:10C09000B4010F94C76125966CAF7DAF8EAF9FAF93 -:10C0A0002597E9962CAD3DAD4EAD5FADE997E59690 -:10C0B0006CAD7DAD8EAD9FADE5970F94385B6B0198 -:10C0C0007C01ED962CAD3DAD4EAD5FADED97C3015E -:10C0D000B2010F94385B9B01AC01C701B6010F940C -:10C0E000C76129966CAF7DAF8EAF9FAF2997CE0108 -:10C0F000CD960F94890465968CAD9DADAEADBFAD68 -:10C100006597E9968CAF9DAFAEAFBFAFE997299623 -:10C110008CAD9DADAEADBFAD2997ED968CAF9DAF0B -:10C12000AEAFBFAFED97A196CCACDDACEEACFFAC43 -:10C13000A19706E312E1212CE3961FAF0EAFE39720 -:10C14000312C822D0E94558D4B015C01832D0E9464 -:10C15000278D2B013C01E9962CAD3DAD4EAD5FAD79 -:10C16000E997C501B4010F94385B4B015C01ED9672 -:10C170002CAD3DAD4EAD5FADED97C301B2010F9457 -:10C18000385B9B01AC01C501B4010F94C8614B0140 -:10C190005C01E396AEADBFADE3972D913D914D911E -:10C1A0005C91C701B6010F94385B9B01AC01C501DE -:10C1B000B4010F94C8612DA93EA94FA958AD0F94A1 -:10C1C000C7619B01AC01E396EEADFFADE3976193D0 -:10C1D000719381939193E396FFAFEEAFE397632D55 -:10C1E000822D0E94739B3394F6E03F12AACF2394D2 -:10C1F000085E1F4F2F12A0CFCD56DF4F0FB6F89419 -:10C20000DEBF0FBECDBFDF91CF911F910F91FF9089 -:10C21000EF90DF90CF90BF90AF909F908F907F90E6 -:10C220006F905F904F903F902F900895AF92BF9284 -:10C23000CF92DF92EF92FF920F931F93CF93DF93F2 -:10C240008FE4E82E85E4F82EF70185919491FC01A6 -:10C25000C4903296D4903197C4913296049131961D -:10C260008491882321F1CC161CF0AA24AA9402C040 -:10C27000AA24A394002E000C110B0C2E000CDD0B35 -:10C280008D2D90E080179107B1F1BC2C8B2D90E0A3 -:10C290008C179D0751F020E04A2D6D2D8B2D0F94AA -:10C2A0004B27811102C0BA0CF1CFD394E9CFD0163D -:10C2B0001CF0AA24AA9402C0AA24A3940C2E000C59 -:10C2C000DD0B002E000C110B8C2D90E08C179D07C0 -:10C2D00091F0BD2C8B2D90E08017910751F02A2D05 -:10C2E00040E06B2D8C2D0F944B27811102C0BA0CAE -:10C2F000F1CFC394E9CFF2E0EF0EF11C87E5E81629 -:10C3000085E4F80609F0A0CFDF91CF911F910F913E -:10C31000FF90EF90DF90CF90BF90AF900895CF92B5 -:10C32000DF92EF92FF92C0905502D0905602E090BB -:10C330005702F0905802FC0180819181A281B38163 -:10C340008093550290935602A0935702B0935802DF -:10C350000E94F3A9C0925502D0925602E092570271 -:10C36000F0925802FF90EF90DF90CF9008952F92B7 -:10C370003F924F925F926F927F928F929F92AF9275 -:10C38000BF92CF92DF92EF92FF920F931F93CF93C2 -:10C39000DF93CDB7DEB76F970FB6F894DEBF0FBE51 -:10C3A000CDBF9C8F8B8F7E8F6D8F212C312C0FEF0B -:10C3B0002FEF2F833FEF3F874FE4488B53EC598B90 -:10C3C00087E48A8B2E8A21E030E040E050E0022CA6 -:10C3D00004C0220F331F441F551F0A94D2F72F8B1E -:10C3E000388F498F5A8F47E753E15E874D8710E0BA -:10C3F0002F8EAD85BE858D919D91BE87AD87A0E0C6 -:10C40000B0E02F89388D498D5A8D82239323A42340 -:10C41000B523892B8A2B8B2B09F0C3C08E890E94F0 -:10C42000558D6B017C01812F0E94278D69877A874A -:10C430008B879C87A7019601AB8DBC8D6D917D91FB -:10C440008D919C910F94C7612B013C0129853A8500 -:10C450004B855C85ED8DFE8D60817181828193813C -:10C460000F94C7614B015C01A3019201C301B201AA -:10C470000F94385B2B013C01A5019401C501B40167 -:10C480000F94385B9B01AC01C301B2010F94C861EA -:10C490000F94C6644B015C01A701960160919B1348 -:10C4A00070919C1380919D1390919E130F94C7617E -:10C4B0006B017C0129853A854B855C8560919713DA -:10C4C000709198138091991390919A130F94C7616A -:10C4D0002B013C01A7019601C701B6010F94385BFF -:10C4E0006B017C01A3019201C301B2010F94385B7F -:10C4F0009B01AC01C701B6010F94C8610F94C664DB -:10C5000020E030E040E751E40F94C262A5019401BD -:10C510000F94C8616B017C0180909F139090A013D1 -:10C52000A090A113B090A21320E030E040E85FE3B8 -:10C53000C501B4010F9428641816FCF4C501B401B8 -:10C540000F9434634B015C01161617061806190682 -:10C550003CF40F941556A50194010F944A6103C051 -:10C5600060E070E0CB010F94D95A9B01AC01B60199 -:10C57000C7010F94C8616B017C012F8538894989F7 -:10C580005A89B601C7010F94D25A87FF0AC00F8D8E -:10C590001F83C886DB8AEC8AFD8ACF86D88AE98A1F -:10C5A000FA8A1F5F163009F024CFFFEF2F1A3F0AD7 -:10C5B00026E02216310409F005CF3F81E32FF0E099 -:10C5C000EE0FFF1FE958FC4E81E090E0002E02C004 -:10C5D000880F991F0A94E2F720813181822B932BD7 -:10C5E0009183808388859B89AC89BD898B839C835B -:10C5F000AD83BE83482F5C816D817E81202F3F817A -:10C6000080E090E06F960FB6F894DEBF0FBECDBF0E -:10C61000DF91CF911F910F91FF90EF90DF90CF901E -:10C62000BF90AF909F908F907F906F905F904F9052 -:10C630003F902F9008958C3891051CF02CE880E0F5 -:10C6400002C0282F892F2093240A8093250A0C9456 -:10C650003FF480E1E5E1F2E0A2ECB8E101900D9257 -:10C660008A95E1F708952F923F924F925F926F92D1 -:10C670007F928F929F92AF92BF92CF92DF92EF9272 -:10C68000FF920F931F93CF93DF9300D01F921F92BF -:10C69000CDB7DEB77C018B016A01190180901502CC -:10C6A00090901602A0901702B0901802A501940174 -:10C6B000FC0160817181828193810F94D25AF1E0F3 -:10C6C000FD83811112C02091190230911A0240910C -:10C6D0001B0250911C02F80160817181828193815B -:10C6E0000F94D25A811101C01D82F6014080518001 -:10C6F0006280738020915D0230915E0240915F0202 -:10C7000050916002C301B2010F94D25A882309F4F8 -:10C7100055C040925D0250925E0260925F0270923C -:10C72000600220E030E040E05FE36091FC11709136 -:10C73000FD118091FE119091FF110F94385B698378 -:10C740007A838B839C838092C2189092C318A092A4 -:10C75000C418B092C5188091190290911A02A09144 -:10C760001B02B0911C028093C6189093C718A09327 -:10C77000C818B093C918F60180819181A281B38154 -:10C780008093CA189093CB18A093CC18B093CD186F -:10C790008091210290912202A0912302B091240263 -:10C7A0008093CE189093CF18A093D018B093D1183F -:10C7B000CE0101960E948FE10E9429E3FD81F111D3 -:10C7C0000FC020E030E040EC5FE360910012709118 -:10C7D000011280910212909103120F94C26204C060 -:10C7E00060E070E080EA91E469837A838B839C83C4 -:10C7F000F70180819181A281B3818093C2189093C7 -:10C80000C318A093C418B093C518F8018081918112 -:10C81000A281B3818093C6189093C718A093C818BB -:10C82000B093C918F1012081318142815381609117 -:10C83000CE187091CF188091D0189091D1180F9484 -:10C84000C8616093CE187093CF188093D0189093DE -:10C85000D118CE0101960E948FE10E9429E30F902A -:10C860000F900F900F900F90DF91CF911F910F912C -:10C87000FF90EF90DF90CF90BF90AF909F908F9000 -:10C880007F906F905F904F903F902F9008950E94FF -:10C89000778C97FD0CC00E94778C6F3F71058105E6 -:10C8A000910509F034F40E94778C862F089580E07A -:10C8B00008958FEF08958091921490919314892B8D -:10C8C00039F00E9447E491E0811103C090E001C07B -:10C8D00091E0892F0895CF93DF93C82FD62F0E9420 -:10C8E0000B8D882321F0DF91CF910C945BE48C2F8A -:10C8F0000E94C28C811101C08D2FDF91CF910895CC -:10C900002F923F924F925F926F927F928F929F925F -:10C91000AF92BF92CF92DF92EF92FF920F931F934D -:10C92000CF93DF93CDB7DEB7C055D1090FB6F894DA -:10C93000DEBF0FBECDBF87E699E40F944B4A41E0BE -:10C9400061E081E00E94ECA881110C94B1EC84E5D7 -:10C950000E940B8D882329F00E94878C81110E94F0 -:10C96000C2BB80E090E0A0E8BFE38093BA18909348 -:10C97000BB18A093BC18B093BD188093BE189093B9 -:10C98000BF18A093C018B093C1188DEC9CECACE418 -:10C99000BEE38093B6189093B718A093B818B093DD -:10C9A000B91880E090E0A0E2B1E48093A8139093DE -:10C9B000A913A093AA13B093AB138CE390E09093C8 -:10C9C000A7138093A6138DEC90E09093A51380930A -:10C9D000A4131092A3134AE959E969E97EE38FE4AD -:10C9E0000E94A59C6BAF7CAF8DAF9EAF60E083E4EF -:10C9F0000E946BE42F968FAF2F9760E08BE40E942C -:10CA00006BE460968FAF609782E40E940B8D882361 -:10CA1000C9F00E948B8C0F9434637093A7136093BA -:10CA2000A6136115710571F06852710965367105BB -:10CA300048F06CE870E089E399E40F94A84A84E335 -:10CA400099E4AEC18CE40E940B8D882301F10E9411 -:10CA50008B8C6B017C016093B6187093B718809330 -:10CA6000B8189093B91820E030E0A9010F94286419 -:10CA700087FD0AC020E030E040E050E4C701B60185 -:10CA80000F94D25A18161CF48CE099E489C181E500 -:10CA90000E94C28C882351F180919214909193143A -:10CAA000892B09F10E948B8C6B017C016093BE186D -:10CAB0007093BF188093C0189093C1182DEC3CEC74 -:10CAC0004CE45DE30F94286487FD0AC020E030E069 -:10CAD00040E751E4C701B6010F94D25A181634F456 -:10CAE0008BED98E45DC180EB98E45AC183E50E9428 -:10CAF0000B8D8823C9F00E948B8C4B015C012DECBF -:10CB00003CEC4CEC5DE30F94286487FD0AC020E008 -:10CB100030E040E050E4C501B4010F94D25A181639 -:10CB200054F489E898E43CC1EDEC8E2EECEC9E2E9A -:10CB3000A92CEEE3BE2E80E50E94C28C882371F101 -:10CB40008091921490919314892B19F481E598E4C3 -:10CB500027C18091A3138F5F8093A3130E948B8CB6 -:10CB60006B017C016093A8137093A9138093AA139F -:10CB70009093AB1320E030E0A9010F94286487FD67 -:10CB80000AC020E030E048EC51E4C701B6010F9440 -:10CB9000D25A18161CF489E298E402C186E40E9475 -:10CBA0000B8D8823C9F00E948B8C6B017C0120E0E7 -:10CBB00030E040E85FE30F94286487FD0AC020E07E -:10CBC00030E040E850E4C701B6010F94D25A18167D -:10CBD0004CF480E098E4E4C0C12CD12C70EEE72E38 -:10CBE0007FE3F72EA7019601C701B6010F94385BCA -:10CBF0009B01AC0160E070E084E490E40F94C262B9 -:10CC00002091BA183091BB184091BC185091BD18B2 -:10CC10000F94385B2B013C01A5019401C501B401BF -:10CC20000F94385BA70196010F94385B2CEE31E529 -:10CC300048EB5DE30F94C2629B01AC01C301B201FA -:10CC40000F94385B6093BA187093BB188093BC182C -:10CC50009093BD1888E40E940B8D882381F00E9478 -:10CC60008B8C0F9434637093A5136093A413655A4F -:10CC700071096838710518F082ED97E491C085E577 -:10CC80000E94C28C8823F1F00F9406406115710553 -:10CC90008105910511F00F94635680919214909143 -:10CCA0009314892B19F00E948B8C04C060E070E013 -:10CCB00088E492E460939F137093A0138093A11370 -:10CCC0009093A21382E50E94C28C811103C08EE969 -:10CCD00097E466C08091921490919314892B61F02F -:10CCE0000E94878C2E969FAF8EAF2E97181619062E -:10CCF0004CF08AE697E454C025E230E02E963FAF30 -:10CD00002EAF2E9788E50E940B8D882369F00E9434 -:10CD10008B8C2091FE123091FF12409100135091A4 -:10CD200001130F94C76108C060911502709116023B -:10CD3000809117029091180260939B1370939C133B -:10CD400080939D1390939E1389E50E940B8D8823F9 -:10CD500079F00E948B8C2091021330910313409143 -:10CD60000413509105130F94C761AB01BC0108C0B7 -:10CD70004091190250911A0260911B0270911C029D -:10CD800040939713509398136093991370939A1349 -:10CD90008BE993E10E94C5BC811105C080E497E452 -:10CDA0000F944B4ADEC584E40E94C28C91E089272F -:10CDB0000F94B14820E030E040EA50E460911D0259 -:10CDC00070911E0280911F02909120020F94D25AFE -:10CDD00087FF15C0198A1A8A1B8A1C8A80E090E096 -:10CDE000A0EAB0E489839A83AB83BC83BE016F5E03 -:10CDF0007F4FCE0101960E945AB30F94E1103091FB -:10CE0000DD1261963FAF61971092DD120E94A7C4B8 -:10CE10008FE197E40F944B4A8091A6139091A7134A -:10CE20008A3191056CF48091A4139091A5130E940E -:10CE3000D7BB61E080E00E94ECEE811109C0DAC44A -:10CE40000E941BE381E00E946EED8111ECCFD2C401 -:10CE500010922102109222021092230210922402B8 -:10CE600081E292E00E942BC28091A3138823B1F14A -:10CE70000E9429E32091CE183091CF184091D0180C -:10CE80005091D1186091A8137091A9138091AA13A1 -:10CE90009091AB130F94C8616093CE187093CF1824 -:10CEA0008093D0189093D11820E030E040E751E40F -:10CEB0006091001270910112809102129091031200 -:10CEC0000F94C26269837A838B839C83CE0101961F -:10CED0000E948FE10E9429E30F94583C80E2E7E72B -:10CEE000F3E1DF01282F1D922A95E9F7E7E5F3E149 -:10CEF000DF01282F1D922A95E9F7E7E3F3E1DF012F -:10CF00001D928A95E9F70E9429E38091B6189091C5 -:10CF1000B718A091B818B091B9188093CA18909317 -:10CF2000CB18A093CC18B093CD1819821A821B820B -:10CF30001C829E012F5F3F4F4AEC58E166EC78E17E -:10CF400082EC98E10E9433E39E01255C3F4F4AEC5E -:10CF500058E166EC78E182EC98E10E9433E32F9689 -:10CF6000BFAD2F97BB2329F069E172E085E192E024 -:10CF700004C067E973E18BE993E10E94B7E13FAF39 -:10CF80002C962FAF2C972C96EFAD2C97E7FD1DC458 -:10CF9000FFADF7FD1AC48E2F0E94558D2B013C0169 -:10CFA000CB01D3018FAB98AFA9AFBAAF8FAD0E94C1 -:10CFB000278D162F072FF82EE92E462F572F682F73 -:10CFC000792FCE01C7960E94C5BC882309F4FFC300 -:10CFD00020E030E040EA50E4B201C3010F94C861A0 -:10CFE000D62E372E282EC92E862F932DA22DBC2D5E -:10CFF0008BAB9CABADABBEAB812F902FAF2DBE2DBD -:10D000008FA798ABA9ABBAAB2C962FAD2C9721115B -:10D010004AC03FAD31111FC020E030E040EA50E48B -:10D02000612F702F8F2D9E2D0F94C86121966FAFA9 -:10D03000219723967FAF239725968FAF2597279625 -:10D040009FAF27978FADD42C352C262CC72C882347 -:10D0500009F4C6C023C0C201D3018BAB9CABADABFE -:10D06000BEAB20E030E040EA50E4612F702F8F2DFE -:10D070009E2D0F94C7616FA778AB89AB9AAB9FAD1C -:10D08000953054F221961FAF219723960FAF239727 -:10D090002596FFAE25972796EFAE2797AFADA53023 -:10D0A0000CF489C09DC02C96BFAD2C97B5300CF404 -:10D0B00053C0EFADE5305CF020E030E040EA50E4F2 -:10D0C000B201C3010F94C761362F272F03C0342D3F -:10D0D000252DC301432F522FBC014BAB5CAB6DAB75 -:10D0E0007EABFFADF11134C420E030E040EA50E403 -:10D0F000B201C3010F94C761D62E372E282EC92E38 -:10D1000020E030E040EA50E4612F702F8F2D9E2DFB -:10D110000F94C8616FA778AB89AB9AAB2FAD222370 -:10D1200009F452C020E030E040EA50E4612F702F53 -:10D130008F2D9E2D0F94C76121966FAF2197239657 -:10D140007FAF239725968FAF259727969FAF279779 -:10D150003FAD353084F144C08FAD81110FC020E068 -:10D1600030E040E251E46D2D732D822D9C2D0F9403 -:10D17000C761D62E372E282EC92E11C09FAD9530EF -:10D18000C4F120E030E040E251E46D2D732D822D9A -:10D190009C2D0F94C7616BAB7CAB8DAB9EAB219686 -:10D1A0001FAF219723960FAF23972596FFAE2597A4 -:10D1B0002796EFAE279762ED862E63E5962E6BE7F6 -:10D1C000A62E61E4B62E29C021961FAF2197239683 -:10D1D0000FAF23972596FFAE25972796EFAE27979B -:10D1E00052ED852E53E5952E5BEFA52E50E4B52E1E -:10D1F00014C021961FAF219723960FAF2397259632 -:10D20000FFAE25972796EFAE279742ED842E43E594 -:10D21000942E4BEFA42E41E4B42E8BA99CA9ADA96A -:10D22000BEA92B968CAF9DAFAEAFBFAF2B979C0125 -:10D23000AD01B201C3010F94C761698B7A8B8B8BEF -:10D240009C8B4FA458A869A87AA8A3019201612FCA -:10D25000702F8F2D9E2D0F94C7616D8B7E8B8F8BC2 -:10D26000988F2B962CAD3DAD4EAD5FAD2B97609159 -:10D2700015027091160280911702909118020F9476 -:10D28000C7612B966CAF7DAF8EAF9FAF2B97A3017D -:10D2900092016091190270911A0280911B02909183 -:10D2A0001C020F94C7612B013C018D2D932DA22DE3 -:10D2B000BC2D89839A83AB83BC8321968FAD219744 -:10D2C00023969FAD23972596AFAD25972796BFADA3 -:10D2D00027978D839E83AF83B8878091B6189091EE -:10D2E000B718A091B818B091B91889879A87AB87F9 -:10D2F000BC872091790230917A0240917B02509153 -:10D300007C02C501B4010F94385B2091BA183091AA -:10D31000BB184091BC185091BD180F94385B2091F8 -:10D3200021023091220240912302509124020F9455 -:10D33000C8616D877E878F87988B2B962CAD3DAD0E -:10D340004EAD5FAD2B97CA01B9010F94385B6B01ED -:10D350007C01A3019201C301B2010F94385B9B01D0 -:10D36000AC01C701B6010F94C86120E030E040E095 -:10D3700050E40F94286418160CF047C00F94583CE2 -:10D380001BA21CA21DA21EA220E030E040E05FE331 -:10D3900060911D0270911E0280911F0290912002E7 -:10D3A0000F94C8616F8F78A389A39AA39E012D5D06 -:10D3B0003F4FAE01415E5F4F69E172E085E192E06F -:10D3C0000E9433E31BA21CA21DA21EA220E030E09B -:10D3D00040E05FE36091B6187091B7188091B8187B -:10D3E0009091B9180F94C8616F8F78A389A39AA3FD -:10D3F0009E012D5D3F4FAE01415E5F4FBE01615DFD -:10D400007F4FCE01C3960E9433E31F8E18A219A24C -:10D410001AA29E01215E3F4F46EB58E1BE01615DBD -:10D420007F4FCE01C3960E9433E30F94843C40901B -:10D430005502509056026090570270905802E0904A -:10D44000F811F090F9110091FA111091FB11A090D0 -:10D45000F411B090F511C090F611D090F71195012C -:10D46000A601B701C8010F942864181614F47501B9 -:10D47000860120E030E040E251E4B701C8010F949A -:10D48000C262609355027093560280935702909344 -:10D49000580240E0BE016F5E7F4FCE0101960F94AF -:10D4A0004B21409255025092560260925702709260 -:10D4B00058020E9429E3A1E0B0E02496BFAFAEAFCE -:10D4C0002497212C312C022D2396BFAD239727962C -:10D4D000BFAF2797C12CD12C7601C394022C04C076 -:10D4E000CC0CDD1CEE1CFF1C0A94D2F7812C912C75 -:10D4F0005401839404C0880C991CAA1CBB1CBA95C7 -:10D50000D2F78C289D28AE28BF28E1E0F0E0022C5D -:10D5100002C0EE0FFF1F0A94E2F72696FFAFEEAFB0 -:10D52000269727E3622E23E1722E37E7432E33E15D -:10D53000532E27E533E122963FAF2EAF229710E01E -:10D5400029965FAE4EAE2997D2018D919C91A0E0B5 -:10D55000B0E088219921AA21BB2188159905AA0547 -:10D56000BB0509F077C02296AEADBFAD22978D9175 -:10D570009C91A0E0B0E08C219D21AE21BF21892BA0 -:10D580008A2B8B2B09F066C0802F0E94558D20E0DE -:10D5900030E040E050E40F94C8616BA77CA78DA7F2 -:10D5A0009EA727968FAD27970E94558D20E030E0EB -:10D5B00040E050E40F94C7616BA37CA38DA39EA3AE -:10D5C00047E651E061E070E0CE018B960F945C403D -:10D5D000812F0E94278D20E030E040E85FE30F9428 -:10D5E000D25A87FD6FC1812F0E94278D20E030E83D -:10D5F00043EB53E40F94286418160CF468C1812F90 -:10D600000E94278D6F8F78A389A39AA36FA378A711 -:10D6100089A79AA747E651E061E070E0CE018396C2 -:10D620000F945C404FA158A569A57AA5CE018B96B1 -:10D630000E94C5BC811150C12296EEADFFAD22976C -:10D640008081918126962EAD3FAD2697822B932B1C -:10D650009183808332E0430E511C2996AEADBFAD5D -:10D6600029978D919C91A0E0B0E08C219D21AE2165 -:10D67000BF21892B8A2B8B2B09F485C0B1E0B10F18 -:10D680002896BFAF2897F20180819181A0E0B0E099 -:10D690008C219D21AE21BF21892B8A2B8B2B09F454 -:10D6A00072C0F30180819181A0E0B0E08C219D21C6 -:10D6B000AE21BF21892B8A2B8B2B09F064C0812FCF -:10D6C0000E94278D20E030E040E050E40F94C861D4 -:10D6D0006FA378A789A79AA728968FAD28970E944D -:10D6E000278D20E030E040E050E40F94C7616F8F59 -:10D6F00078A389A39AA3802F0E94558D20E030E063 -:10D7000040E85FE30F94D25A87FDFFC0802F0E944C -:10D71000558D20E030E843EB53E40F94286418164D -:10D720000CF4F8C0802F0E94558D6BA37CA38DA3B1 -:10D730009EA36BA77CA78DA79EA747E651E061E05B -:10D7400070E0CE0187960F945C4047E651E061E0BF -:10D7500070E0CE014F960F945C404FA158A569A58B -:10D760007AA5CE018B960E94C5BC8111D8C0D30189 -:10D770008D919C9111972696EEADFFAD26978E2B3D -:10D780009F2B8D939C931F5FF2E06F0E711C22966E -:10D790002EAD3FAD22972E5F3F4F22963FAF2EAF6B -:10D7A0002297163009F0CCCE3FEF231A330A249685 -:10D7B0008EAD9FAD2497019624969FAF8EAF249790 -:10D7C00096E02916310409F07ECE0E9452672E960B -:10D7D000AEADBFAD2E9711972E96BFAFAEAF2E97C1 -:10D7E000AB2B41F02C96BFAD2C97B7FD03C0EFAD2E -:10D7F000E7FFB5CB6FEF84E397E40F947B080F94BA -:10D80000583C80E090E0A0EAB0E48093CA1890937E -:10D81000CB18A093CC18B093CD1819821A821B8212 -:10D820001C829E012F5F3F4F4AEC58E166EC78E185 -:10D8300082EC98E10E9433E380919B1390919C13BA -:10D84000A0919D13B0919E138093C2189093C3181A -:10D85000A093C418B093C518809197139091981312 -:10D86000A0919913B0919A138093C6189093C718FA -:10D87000A093C818B093C91819821A821B821C82FF -:10D880009E012F5F3F4F4AEC58E166EC78E182EC55 -:10D8900098E10E9433E36196FFAD6197F093DD124A -:10D8A0000E94A7C460962FAD609721115AC01092B4 -:10D8B000250A1092240A0E943FF480E090E00E9422 -:10D8C000D7BB4FC060E070E080E89FE39BCE60E094 -:10D8D00070E883EB93E496CE4F8D58A169A17AA1AD -:10D8E000CE0183960E94C5BC882309F4A5CE9E0173 -:10D8F000215E3F4FAE014D5D5F4FBE01695D7F4FC1 -:10D90000CE018B960F94B43C97CE60E070E080E837 -:10D910009FE30BCF60E070E883EB93E406CF4F8D7D -:10D9200058A169A17AA1CE0183960E94C5BC882323 -:10D9300009F41DCF9E01215E3F4FAE014D5D5F4F4B -:10D94000BE01695D7F4FCE018B960F94B43C0FCF23 -:10D95000FFADD42C352C262CC72CF5300CF0E2CBA7 -:10D96000CFCBC05BDF4F0FB6F894DEBF0FBECDBF8D -:10D97000DF91CF911F910F91FF90EF90DF90CF90AB -:10D98000BF90AF909F908F907F906F905F904F90DF -:10D990003F902F900895EF92FF920F931F93CF9394 -:10D9A0007C018B014F3F11F4C2E401C0C4E580E269 -:10D9B0000E9427668C2F0E9427668AE30E942766B2 -:10D9C000F701608171818281938142E00E94C76684 -:10D9D000F80140815181628173818DED9BE40F9448 -:10D9E000974A62E070E080E090E0CF911F910F9144 -:10D9F000FF90EF900D94CC3F1F93CF93DF93CDB763 -:10DA0000DEB728970FB6F894DEBF0FBECDBF182F34 -:10DA100060918C0C70918D0C072E000C880B990B6B -:10DA20000F94D95A6D837E838F8398878091880C59 -:10DA30009091890CA0918A0CB0918B0C89839A8368 -:10DA4000AB83BC834CEFBE016B5F7F4FCE01019671 -:10DA50000E94CBEC6091240A7091250A072E000CDD -:10DA6000880B990B0F94D95A6D837E838F83988787 -:10DA70008091200A9091210AA091220AB091230A54 -:10DA800089839A83AB83BC834FEFBE016B5F7F4F6B -:10DA9000CE0101960E94CBEC1F3F41F087E11802B6 -:10DAA000F0011124EC57F34F628502C06091260A01 -:10DAB00070E085EE9BE40F94A84A6091260A70E01E -:10DAC00080EE9BE40F94A84A28960FB6F894DEBF28 -:10DAD0000FBECDBFDF91CF911F9108952F923F923E -:10DAE0004F925F926F927F928F929F92AF92BF926E -:10DAF000CF92DF92EF92FF920F931F93CF93DF931A -:10DB0000CDB7DEB763970FB6F894DEBF0FBECDBFBB -:10DB1000898B81E0809314021A821B821C821D82F1 -:10DB200019861A861B861C8619821D862CE32E8771 -:10DB30003CE13F8746E4488B312C212C50E85A8B3E -:10DB40008FEB8B8B91E09887812C912C5401609105 -:10DB5000240A7091250A072E000C880B990B0F944C -:10DB6000D95A7B018C019B01AC01632D722D8A89EE -:10DB70009B890F94D25A882361F16091200A709199 -:10DB8000210A8091220A9091230AA989A1110EC02D -:10DB9000B1E0B9839701A8010F94286418160CF01E -:10DBA00019823E2C2F2C0A8B1B8B13C09701A801C6 -:10DBB0000F942864181644F480911402882309F401 -:10DBC000F0C00F941C09EDC03E2C2F2C0A8B1B8B30 -:10DBD00019820F9406406B017C01DC01CB01298581 -:10DBE0003A854B855C85821B930BA40BB50BB7FD67 -:10DBF00033C0D701C60188519C4FAF4FBF4F8987B3 -:10DC00009A87AB87BC8780E00E94FCEC8DEE9BE49A -:10DC10000F944B4A81149104A104B104B9F0D501C9 -:10DC2000C401805F984DAF4FBF4FBC01CD016C194F -:10DC30007D098E099F0928EE33E040E050E00F9403 -:10DC40002861CA01B9010E949B6603C08FE30E944C -:10DC500027668AE00E94276680E00E946B670F9427 -:10DC600006406093CE147093CF148093D014909399 -:10DC7000D1149091200A9E83A091210AAF83009134 -:10DC8000220A1091230A292F3A2FA801632D722D01 -:10DC90008A899B890F94C7612B013C0120E030E009 -:10DCA000A9010F94286487FF04C077FA709477F86D -:10DCB000709481149104A104B104B1F420E030E027 -:10DCC00040E85FE3C301B2010F94D25A87FF18C046 -:10DCD000B88546015701BB2399F020E1820E27E267 -:10DCE000921EA11CB11C0CC020E030E040E450E4C6 -:10DCF000C301B2010F942864181614F446015701A9 -:10DD000039813323A9F18A819B81AC81BD81892B23 -:10DD10008A2B8B2B61F0D701C6012A813B814C8174 -:10DD20005D81821B930BA40BB50BB7FD21C02E8127 -:10DD30003F81A8016D857E858F8598890F94C76185 -:10DD400020E030E040EC5FE30F94D25A87FD34CFFF -:10DD5000D701C601805A9541AF4FBF4F8A839B833D -:10DD6000AC83BD839E819D87AF81AE870F87188B63 -:10DD700080911402882309F41FCF81149104A10417 -:10DD8000B10411F41886E3CEB0E1CB1AB7E2DB0A96 -:10DD9000E108F108C818D908EA08FB08F7FCF2CF37 -:10DDA0000BCF8091140263960FB6F894DEBF0FBEBE -:10DDB000CDBFDF91CF911F910F91FF90EF90DF903A -:10DDC000CF90BF90AF909F908F907F906F905F901B -:10DDD0004F903F902F9008952F923F924F925F92D5 -:10DDE0006F927F928F929F92AF92BF92CF92DF926B -:10DDF000EF92FF920F931F93CF93DF93CDB7DEB7D0 -:10DE000064970FB6F894DEBF0FBECDBF898B6A8BC7 -:10DE100081E0809314021A821B821C821D82198663 -:10DE20001A861B861C8621E0288719821D863CE302 -:10DE30003E874CE14F8756E4588B312C212C80E8EB -:10DE40008B8B9FEB9C8B812C912C540160918C0CC3 -:10DE500070918D0C072E000C880B990B0F94D95ADA -:10DE60007B018C019B01AC01632D722D8B899C89F8 -:10DE70000F94D25A882361F16091880C7091890CBB -:10DE800080918A0C90918B0CAA89A1110EC0B1E0EF -:10DE9000B9839701A8010F94286418160CF0198211 -:10DEA0003E2C2F2C0B8B1C8B13C09701A8010F94B9 -:10DEB0002864181644F480911402882309F4F0C0F1 -:10DEC0000F941C09EDC03E2C2F2C0B8B1C8B198240 -:10DED0000F9406406B017C01DC01CB0129853A855A -:10DEE0004B855C85821B930BA40BB50BB7FD33C030 -:10DEF000D701C60188519C4FAF4FBF4F89879A8782 -:10DF0000AB87BC8789890E94FCEC89EE9BE40F9467 -:10DF10004B4A81149104A104B104B9F0D501C401A4 -:10DF2000805F984DAF4FBF4FBC01CD016C197D098B -:10DF30008E099F0928EE33E040E050E00F942861FD -:10DF4000CA01B9010E949B6603C08FE30E94276645 -:10DF50008AE00E94276680E00E946B670F9406406B -:10DF60006093CE147093CF148093D0149093D114F7 -:10DF70009091880C9E83A091890CAF8300918A0CAC -:10DF800010918B0C292F3A2FA801632D722D8B89AC -:10DF90009C890F94C7612B013C0120E030E0A9016E -:10DFA0000F94286487FF04C077FA709477F8709410 -:10DFB00081149104A104B104B1F420E030E040E800 -:10DFC0005FE3C301B2010F94D25A87FF18C0B8852E -:10DFD00046015701BB2399F020E1820E27E2921EF1 -:10DFE000A11CB11C0CC020E030E040E450E4C301AF -:10DFF000B2010F942864181614F4460157013981B0 -:10E000003323A9F18A819B81AC81BD81892B8A2B25 -:10E010008B2B61F0D701C6012A813B814C815D8148 -:10E02000821B930BA40BB50BB7FD21C02E813F8142 -:10E03000A8016D857E858F8598890F94C76120E042 -:10E0400030E040EC5FE30F94D25A87FD34CFD70124 -:10E05000C601805A9541AF4FBF4F8A839B83AC83E3 -:10E06000BD839E819D87AF81AE870F87188B80917E -:10E070001402882309F41FCF81149104A104B10470 -:10E0800011F41886E3CEB0E1CB1AB7E2DB0AE1085F -:10E09000F108C818D908EA08FB08F7FCF2CF0BCF43 -:10E0A0008091140264960FB6F894DEBF0FBECDBF08 -:10E0B000DF91CF911F910F91FF90EF90DF90CF9064 -:10E0C000BF90AF909F908F907F906F905F904F9098 -:10E0D0003F902F9008950F931F93CF93DF938091DC -:10E0E00067028F37A0F08F5790918E0C9093D313C7 -:10E0F000992311F02C9A01C02C982091260A209384 -:10E10000D21390910201222369F090950BC0909157 -:10E11000D313891708F02C989091D213891728F0FF -:10E12000909102019072909300018F5F809367023B -:10E130009091D11381E089278093D1138091660259 -:10E1400085301CF4C1E0C80F01C0C0E0823009F482 -:10E15000B9C054F4882301F1813009F0E8C088E0A7 -:10E1600080937B0085E4C5C0843009F4CAC00CF4F8 -:10E17000BCC0853009F0DBC09091D013911102C072 -:10E180008093D0138091D01381508093D013882333 -:10E1900009F4CDC0C5E0CBC0809165028F5F8031AE -:10E1A0001CF480936502C3C0109265028091C31372 -:10E1B000811113C08091840C9091850C9093870CF1 -:10E1C0008093860C80911C0A90911D0A90931F0ADF -:10E1D00080931E0A81E08093C3131092850C1092E5 -:10E1E000840C10921D0A10921C0A0091860C10914A -:10E1F000870C11950195110980918C0C90918D0CD3 -:10E20000D1E0181619062CF080918E0C811101C0F6 -:10E21000D0E080910E0290910F0291958195910925 -:10E22000801791073CF44DE45BE46EE67BE480E00C -:10E230000F949F40DD2389F080910C0290910D0294 -:10E24000919581959109081719073CF440E85BE422 -:10E2500061EA7BE480E00F949F408091240A9091D2 -:10E26000250AD1E0181619062CF08091260A811192 -:10E2700001C0D0E020911E0A30911F0A8091340A1B -:10E280009091350A821793073CF04DE55BE46EE60A -:10E290007BE48FEF0F949F40DD2309F448C0209169 -:10E2A0001E0A30911F0A80910A0290910B022817D2 -:10E2B0003907ECF140E95BE461EA7BE48FEF0F940E -:10E2C0009F4035C080917A0086FD2EC080917800F5 -:10E2D000909179002091840C3091850C820F931FCE -:10E2E0009093850C8093840C22C088E080937B00FF -:10E2F00086E480937C0080917A00806480937A0029 -:10E3000016C080917A0086FD11C0809178009091AE -:10E31000790020911C0A30911D0A820F931F90935F -:10E320001D0A80931C0A03C0C2E001C0C4E0C09370 -:10E3300066022091D2143091D3142115310509F4CD -:10E340003AC0F8949091090192708091080181700F -:10E350008093060180910B01121613060CF4809530 -:10E3600082708093090100000000000080910B0181 -:10E37000809588708093090184E08A950000E9F710 -:10E3800080910B0188708093090180910B0191119C -:10E39000809582708093090178948091D214909135 -:10E3A000D3141216130614F4019701C0019690932A -:10E3B000D3148093D2148091C413882309F44EC0DF -:10E3C000809164028E5F8F7780936402811146C0D2 -:10E3D000659B03C0C0E1D0E002C0C0E0D0E0809106 -:10E3E000030181FDC0624B99C4600091CE1310916E -:10E3F000CF130C271D270115110581F104FF08C05B -:10E400006C2F6295617070E088EC9BE40F94A84AD1 -:10E4100005FF08C0C5FB662760F970E08FEB9BE441 -:10E420000F94A84A02FF08C0C2FB662760F970E09B -:10E4300086EB9BE40F94A84A83EB9BE40F944B4A32 -:10E440001091CD13612F70E08DE00F94E43E109594 -:10E450001093CD13D093CF13C093CE130E9488C6D0 -:10E460008091181290911912009769F0019790937A -:10E47000191280931812892B31F481ED9BE490934B -:10E48000590A8093580ADF91CF911F910F910895F7 -:10E490000F930FB70F9300916E000B7F00936E00E8 -:10E4A00078940F930BB70F930CB70F921F922F9383 -:10E4B0003F934F935F936F937F938F939F93AF930C -:10E4C000BF93EF93FF9311240E946BF0FF91EF91A4 -:10E4D000BF91AF919F918F917F916F915F914F917C -:10E4E0003F912F911F900F900CBF0F910BBF0F9179 -:10E4F0000460F89400936E000F910FBF0F91189570 -:10E500002F923F924F925F926F927F928F929F9243 -:10E51000AF92BF92CF92DF92EF92FF920F931F9331 -:10E52000CF93DF93CDB7DEB729970FB6F894DEBF50 -:10E530000FBECDBF1C017B836A8329831F830E839B -:10E54000FD82EC8227FD10C0022E000C330B3987B0 -:10E550002887398185E03802F0011124E354FC4E0C -:10E5600084818823E1F008C08091BC13882399F04E -:10E57000E1E0F0E0F987E887F1011482E885F985A8 -:10E58000EE0FFF1FEE0FFF1FEB53FC4E10821182A8 -:10E59000128213822EC021E030E039872887FA01E9 -:10E5A000C080D180E280F38008851985000F111F9B -:10E5B000000F111F0B531C4EA7019601F80160813B -:10E5C0007181828193810F94D25A882391F0F8014E -:10E5D000C082D182E282F38211E020E030E0A90122 -:10E5E000C701B6010F94286418160CF010E0F10171 -:10E5F0001483F10184818230F9F0833009F401C180 -:10E60000813009F023C1E885F985EE0FFF1FEE0F79 -:10E61000FF1FEB53FC4E2081318142815381EA81FF -:10E62000FB8160817181828193810F94D25A87FD31 -:10E630000DC182E0F101848380916302882309F493 -:10E6400093C0F981F7FD90C08F2FFF0F990B8C01BC -:10E650001816190614F401E010E0F801EF58F34F12 -:10E660002081222371F1EA81FB81C080D180E28088 -:10E67000F380880F991F880F991FFC01EB53FC4E04 -:10E6800080809180A280B3802C813D81B90180E09F -:10E6900090E00F94D75A2B013C0120E030E040E895 -:10E6A0005EE30F94385B9B01AC01C501B4010F948C -:10E6B000C7619B01AC01C701B6010F94286487FDB7 -:10E6C00005C0F801EF59FD4F80E81AC023E830EC8F -:10E6D0004AEA5EE3C301B2010F94385B9B01AC01CF -:10E6E000C501B4010F94C7619B01AC01C701B6011C -:10E6F0000F9428640F591D4F87FD04C080E6F80170 -:10E70000808332C020E030E040E05FE3C301B2012B -:10E710000F94385B9B01AC01C501B4010F94C76134 -:10E720009B01AC01C701B6010F94286487FD02C0AC -:10E7300080E4E5CF2DEC3CEC4CE45FE3C301B20197 -:10E740000F94385B9B01AC01C501B4010F94C76104 -:10E750009B01AC01C701B6010F94286487FD02C07C -:10E7600080E2CDCFF801108208851985000F111FB6 -:10E77000000F111F98012B533C4E39872887EC81DD -:10E78000FD81BF0180E090E00F94D75A9B01AC015E -:10E79000E885F98560817181828193810F94C761D9 -:10E7A0009B01AC01EA81FB8160817181828193814F -:10E7B0000F94286487FD14C00F9406406B017C0100 -:10E7C0002E813F81A8EEB3E00F947C61C60ED71E68 -:10E7D000E81EF91EF101C082D182E282F38236C0C6 -:10E7E0000F940640F1010081118122813381DC0107 -:10E7F000CB01801B910BA20BB30BB7FD27C083E0AD -:10E800008483F981FF3F19F046E15BE402C049E2ED -:10E810005BE46DE37BE4898129960FB6F894DEBF53 -:10E820000FBECDBFDF91CF911F910F91FF90EF9061 -:10E83000DF90CF90BF90AF909F908F907F906F9020 -:10E840005F904F903F902F900D949F4029960FB668 -:10E85000F894DEBF0FBECDBFDF91CF911F910F9116 -:10E86000FF90EF90DF90CF90BF90AF909F908F90F0 -:10E870007F906F905F904F903F902F900895CF9230 -:10E88000DF92EF92FF926091240A7091250A611540 -:10E890007105C1F0C090200AD090210AE090220AB0 -:10E8A000F090230A66507109072E000C880B990B13 -:10E8B0000F94D95A9B01AC01C701B6010F94D25AEB -:10E8C00087FD09C01092B4131092B5131092B613BD -:10E8D0001092B7131EC020E030E040E050E4C701C2 -:10E8E000B6010F94C8610F943B637093B3136093A8 -:10E8F000B2130F940640DC01CB01805E9044AD4F13 -:10E90000BF4F8093B4139093B513A093B613B093F5 -:10E91000B713FF90EF90DF90CF900895CF93DF93E0 -:10E920001092C21380E090E00E94D7BBCCE1DAE005 -:10E93000198618860E943FF480E090E00E94D7BBC1 -:10E9400010928E0C2C98198618861A8680910201D6 -:10E95000807280930001DF91CF910895CF92DF9272 -:10E96000EF92FF9260918C0C70918D0C6115710586 -:10E97000C1F0C090880CD090890CE0908A0CF09087 -:10E980008B0C66507109072E000C880B990B0F94A5 -:10E99000D95A9B01AC01C701B6010F94D25A87FD29 -:10E9A00009C01092AE131092AF131092B0131092D0 -:10E9B000B1131EC020E030E040E050E4C701B601D2 -:10E9C0000F94C8610F943B637093AD136093AC13C5 -:10E9D0000F940640DC01CB01805B9C43AF4FBF4FDF -:10E9E0008093AE139093AF13A093B013B093B11371 -:10E9F000FF90EF90DF90CF9008958F929F92AF920B -:10EA0000BF92CF92DF92EF92FF920F931F93CF931B -:10EA1000DF93F0E2FF2EE12CAE2DB0E0BD016F0DD3 -:10EA2000711D75956795611103C0E8E9FAE406C0A8 -:10EA30006E1511F0F6120BC0E4E1FBE465917491E0 -:10EA4000072E000C880B990B0F94D95A62C09B01BA -:10EA500021503109220F331F220F331FF901EA56CB -:10EA6000F54B05911491AB01440F551F440F551FF1 -:10EA7000FA01EA56F54BC591D4918017910714F429 -:10EA8000F62ECCCFC817D90714F4E62EC5CFF9015E -:10EA9000E856F54BE590F490FA01E856F54BC59031 -:10EAA000D490BC01601B710B072E000C880B990BD6 -:10EAB0000F94D95A4B015C01B6016E197F09072EDC -:10EAC000000C880B990B0F94D95A9B01AC01C5011E -:10EAD000B4010F94385B4B015C01C01BD10BBE012C -:10EAE000DD0F880B990B0F94D95A9B01AC01C5011E -:10EAF000B4010F94C2624B015C01B701FF0C880B9B -:10EB0000990B0F94D95A9B01AC01C501B4010F9424 -:10EB1000C861DF91CF911F910F91FF90EF90DF902F -:10EB2000CF90BF90AF909F908F9008958F929F92BB -:10EB3000AF92BF92CF92DF92EF92FF920F931F930B -:10EB4000CF93DF93C62F662381F00F94C74A6AE004 -:10EB500070E08C2F90E00E94B76688E79AE40F94EB -:10EB60004B4A80E090E00F948C33F0E4FF2EE12CD0 -:10EB7000AE2DB0E0BD016F0D711D759567956111EA -:10EB800003C0EAE7F9E406C06E1511F0F6120BC0F7 -:10EB9000E6E7FAE465917491072E000C880B990B57 -:10EBA0000F94D95A62C09B0121503109220F331FA3 -:10EBB000220F331FF901E858F64B05911491AB0170 -:10EBC000440F551F440F551FFA01E858F64BC591E5 -:10EBD000D4918017910714F4F62ECCCFC817D9071B -:10EBE00014F4E62EC5CFF901E658F64BE590F49003 -:10EBF000FA01E658F64BC590D490BC01601B710B2E -:10EC0000072E000C880B990B0F94D95A4B015C010D -:10EC1000B6016E197F09072E000C880B990B0F9413 -:10EC2000D95A9B01AC01C501B4010F94385B4B016B -:10EC30005C01C01BD10BBE01DD0F880B990B0F943B -:10EC4000D95A9B01AC01C501B4010F94C2624B01BA -:10EC50005C01B701FF0C880B990B0F94D95A9B01EB -:10EC6000AC01C501B4010F94C861DF91CF911F9130 -:10EC70000F91FF90EF90DF90CF90BF90AF909F905B -:10EC80008F900895CF93DF93C4E8DCE060E08A8141 -:10EC90009B810E9496F56C837D838E839F83CCE15C -:10ECA000DAE08A819B810E94FDF46C837D838E83F0 -:10ECB0009F83A8951092C313DF91CF9108950F936E -:10ECC0000FB70F9300916E000F930B7F00936E00B0 -:10ECD00000916F000D7F00936F000F930BB70F93A0 -:10ECE0000CB70F921F922F933F934F935F936F93A5 -:10ECF0007F938F939F93AF93BF93EF93FF931124D1 -:10ED00000E94D0F6FF91EF91BF91AF919F918F91AB -:10ED10007F916F915F914F913F912F911F900F9035 -:10ED20000CBF0F910BBF0F910260F89400936F001E -:10ED30000F9100936E000F910FBF0F911895809166 -:10ED4000490A80FF03C089988FEF02C0899A81E049 -:10ED50008093D9138091490A869580FF03C08F98CC -:10ED60008FEF02C08F9A81E08093DA138091490A75 -:10ED70008695869580FF07C080910B0182708093F5 -:10ED800009018FEF07C080910B01809582708093FD -:10ED9000090181E08093DB1300000000000008956A -:10EDA0002F923F924F925F926F927F928F929F929B -:10EDB000AF92BF92CF92DF92EF92FF920F931F9389 -:10EDC000CF93DF93CDB7DEB72D970FB6F894DEBFA4 -:10EDD0000FBECDBF8FEF9FEF909389008093880087 -:10EDE0002AE02987212C312C44244A94542C3201C6 -:10EDF00078948091261490912714A0912814B091B2 -:10EE00002914892B8A2B8B2B09F0D9C18091E11809 -:10EE10008823E1F01092E1188091DF189091E018BA -:10EE2000892B09F4CCC11092D8131092E0181092DB -:10EE3000DF1890915C1680915D16981709F4BFC198 -:10EE400080915D168F5F8F7080935D168091DF18C3 -:10EE50009091E018892B09F4B2C1C0902214D0908F -:10EE60002314E0902414F090251440911E14509126 -:10EE70001F1460912014709121140091111410E05E -:10EE800020E030E0DB01CA018C199D09AE09BF0901 -:10EE9000081719072A073B0710F4D901C801482FA2 -:10EEA0008C0D9D1DAE1DBF1D8093221490932314C5 -:10EEB000A0932414B09325142091840030918500F0 -:10EEC000225E3F4FC090F713D090F813E090F913F3 -:10EED000F090FA138091E7139091E813A091E91351 -:10EEE000B091EA138C0D9D1DAE1DBF1D8093F713CD -:10EEF0009093F813A093F913B093FA13B7FD1CC0C5 -:10EF0000889AC090EE18D090EF18E090F018F0902A -:10EF1000F1188091D913082E000C990BAA0BBB0B8A -:10EF20008C0D9D1DAE1DBF1D8093EE189093EF18A4 -:10EF3000A093F018B093F118C090FB13D090FC137D -:10EF4000E090FD13F090FE138091EB139091EC1381 -:10EF5000A091ED13B091EE138C0D9D1DAE1DBF1D44 -:10EF60008093FB139093FC13A093FD13B093FE13B7 -:10EF7000B7FD1CC08E9AC090F218D090F318E090A4 -:10EF8000F418F090F5188091DA13082E000C990B04 -:10EF9000AA0BBB0B8C0D9D1DAE1DBF1D8093F218DF -:10EFA0009093F318A093F418B093F518C090FF1342 -:10EFB000D0900014E0900114F09002148091EF13AF -:10EFC0009091F013A091F113B091F2138C0D9D1D4F -:10EFD000AE1DBF1D8093FF1390930014A0930114E6 -:10EFE000B0930214B7FD21C080910B018095887009 -:10EFF00080930901C090F618D090F718E090F818A7 -:10F00000F090F9188091DB13082E000C990BAA0BD5 -:10F01000BB0B8C0D9D1DAE1DBF1D8093F6189093EC -:10F02000F718A093F818B093F918C0900314D09073 -:10F030000414E0900514F09006148091F31390915D -:10F04000F413A091F513B091F6138C0D9D1DAE1D18 -:10F05000BF1D8093031490930414A0930514B093E0 -:10F060000614B7FD3AC08090FA189090FB18A09053 -:10F07000FC18B090FD18C090DC130C2C000CDD08BF -:10F08000EE08FF08C80CD91CEA1CFB1CC092FA1839 -:10F09000D092FB18E092FC18F092FD18C090E31398 -:10F0A000D090E413E090E513F090E6138C199D09DD -:10F0B000AE09BF098093031490930414A093051420 -:10F0C000B09306149091490A80910F1493FF02C0E7 -:10F0D000815001C08F5F80930F14809184009091C4 -:10F0E000850082179307C8F38091F7139091F81366 -:10F0F000A091F913B091FA13B7FD15C0C090E313B6 -:10F10000D090E413E090E513F090E6138C199D097C -:10F11000AE09BF098093F7139093F813A093F913E6 -:10F12000B093FA1388988091FB139091FC13A091EF -:10F13000FD13B091FE13B7FD15C0C090E313D0903E -:10F14000E413E090E513F090E6138C199D09AE09E5 -:10F15000BF098093FB139093FC13A093FD13B0930E -:10F16000FE138E988091FF1390910014A0910114CA -:10F17000B0910214B7FD19C0C090E313D090E4130E -:10F18000E090E513F090E6138C199D09AE09BF09D4 -:10F190008093FF1390930014A0930114B093021472 -:10F1A00080910B01887080930901415041F080915A -:10F1B00084009091850082179307C8F381CE8091D7 -:10F1C000710290917202A0917302B0917402892B26 -:10F1D0008A2B8B2B09F094C080911014882309F49A -:10F1E00052C08090221490902314A0902414B090C8 -:10F1F0002514C0900B14D0900C14E0900D14F090D6 -:10F200000E1480910F14C814D904EA04FB0488F486 -:10F210002091DD133091DE134091E1135091E21300 -:10F220004217530730F4815080930F142150310955 -:10F2300015C08C149D04AE04BF04E8F42091DD13C6 -:10F240003091DE134091DF135091E01324173507FE -:10F2500090F48F5F80930F142F5F3F4F3093DE1336 -:10F260002093DD1340916D0250916E0260916F0208 -:10F27000709170020BC040926D0250926E026092CB -:10F280006F02709270024FEF5FEFBA0180910F141E -:10F2900087FD02C0169A01C0169800000000000009 -:10F2A0002091840030918500225E3F4F80910F14A1 -:10F2B0008823F1F0149A8091840090918500821740 -:10F2C0009307C8F380910F1487FF02C08F5F01C0BE -:10F2D000815080930F14149880910F14882331F378 -:10F2E000809184009091850082179307C8F3DCCF4A -:10F2F0004093710250937202609373027093740290 -:10F300008091261490912714A0912814B09129146B -:10F31000892B8A2B8B2B09F0DAC3A091DF18B091CF -:10F32000E018109709F4ECC5C0902214D090231473 -:10F33000E0902414F090251440911E1450911F1455 -:10F340006091201470912114C416D506E606F706C4 -:10F3500008F474C080916802882309F455C055965A -:10F360004D915D916D917C915897452B462B472B84 -:10F37000C1F459964D915D916D917C915C97452BAF -:10F38000462B472B71F45D964D915D916D917C916B -:10F390009097452B462B472B21F48091DE0B882339 -:10F3A00099F191966D917D918D919C919497C090DA -:10F3B000D413D090D513E090D613F090D713D596F0 -:10F3C0002C9123FF07C090958095709561957F4F94 -:10F3D0008F4F9F4F0F94D95A20917F0C3091800C02 -:10F3E0004091810C5091820C0F94385B9B01AC01D1 -:10F3F000C701B6010F94C7616093D4137093D513FE -:10F400008093D6139093D7131092D8131092E018CC -:10F410001092DF1890915C1680915D16981709F490 -:10F420006FC580915D168F5F8F7080935D1600EDC4 -:10F43000802E07E0902EA12CB12C8AC140911A1485 -:10F4400050911B1460911C1470911D144C155D0596 -:10F450006E057F0508F46DC0409116145091171485 -:10F460006091181470911914D1960D911D912D91E0 -:10F470003C91D497EE27419FF12D529FC001629F8E -:10F48000900D619F800D911D429FF00D811D9E1F6B -:10F49000519FF00D811D9E1F609FF00D811D9E1FCD -:10F4A000509FF10D8E1F9E1FF6958E1F9E1F349F3D -:10F4B000800D911D359F900D1124FD01EB5BFF4FD9 -:10F4C0000081118122813381080F191F211D311DF7 -:10F4D00000931214109313142093141430931514E2 -:10F4E0003497C080D180E280F380C016D106E20656 -:10F4F000F30640F4C0921214D0921314E092141444 -:10F50000F0921514C0901214D0901314E0901414BB -:10F51000F090151481EF93E521E0FC018590959022 -:10F52000A590B4908C149D04AE04BF0408F449C3A4 -:10F5300053C320910B1430910C1440910D14509131 -:10F540000E1429833A834B835C832C153D054E05AD -:10F550005F0508F070C04091071450910814609145 -:10F56000091470910A144A875B876C877D87D1964E -:10F570000D911D912D913C91D497EE27419FF12D36 -:10F58000529FC001629F900D619F800D911D429F0F -:10F59000F00D811D9E1F519FF00D811D9E1F609FCC -:10F5A000F00D811D9E1F509FF10D8E1F9E1FF69521 -:10F5B0008E1F9E1F349F800D911D359F900D11242D -:10F5C0008C0120E030E08090121490901314A090F1 -:10F5D0001414B0901514FD01E75BFF4F08151905D1 -:10F5E0002A053B05A0F440815181628173814D83DE -:10F5F0005E836F837887801A910AA20AB30A841601 -:10F600009506A606B70638F44A015B0104C080805F -:10F610009180A280B38081EF93E551E05D83FC018E -:10F620000591159125913491081519052A053B0579 -:10F6300008F456C363C380910F148823D9F0D7967A -:10F640004D915C91D89760E070E000916D0210914F -:10F650006E0220916F0230917002401751076207CD -:10F66000730741F0109271021092720210927302AD -:10F67000109274024091690250916A0260916B028B -:10F6800070916C0277FF5CC0AF5BBF4F8D919D9115 -:10F690000D90BC91A02D21EF33E541E0F901C5901B -:10F6A000D590E590F490C816D906EA06FB0658F402 -:10F6B000B695A79597958795440F2C5F3F4F74E5B6 -:10F6C0002D30370759F74093111480329105A10569 -:10F6D000B10520F480E290E0A0E0B0E08097A109BD -:10F6E000B109811538E09307A105B10508F4C2C33B -:10F6F00044E0949F900111242F50304BF901329631 -:10F7000045915491EE27859FB001849F610D7E1F26 -:10F7100006946E1F7E1F1124CB01A0E0B0E0F9011A -:10F720004591549160E070E0481B590B6A0B7B0BCC -:10F730004093690250936A0260936B0270936C026B -:10F740008090690290906A02A0906B02B0906C0267 -:10F750008091DF189091E018892B09F0B0C10E94C8 -:10F7600090BC9093E0188093DF18892B09F4A7C10F -:10F77000E091DF18F091E018808183FF3EC0858919 -:10F780009689A789B08D8093EE189093EF18A09377 -:10F79000F018B093F118818D928DA38DB48D809364 -:10F7A000F2189093F318A093F418B093F518858D80 -:10F7B000968DA78DB0A18093F6189093F718A0931B -:10F7C000F818B093F91881A192A1A3A1B4A18093D4 -:10F7D000FA189093FB18A093FC18B093FD18909121 -:10F7E0005C1680915D16981709F4B9CF80915D166B -:10F7F0008F5F8F7080935D16B2CFC588D688E788FB -:10F80000F08C81E0C114D104E104F10409F480E03A -:10F81000018D128D238D348D0115110521053105C2 -:10F8200009F08260458D568D678D70A14115510597 -:10F830006105710509F084608093D8131092071454 -:10F84000109208141092091410920A1410921614AF -:10F8500010921714109218141092191485A196A1E1 -:10F86000A7A1B0A580931E1490931F14A0932014F9 -:10F87000B0932114882499245401881A990AAA0A59 -:10F88000BB0A8092031490920414A0920514B092C3 -:10F8900006148092FF1390920014A0920114B0926B -:10F8A00002148092FB139092FC13A092FD13B0926D -:10F8B000FE138092F7139092F813A092F913B0926E -:10F8C000FA13CC0CDD1CEE1CFF1CC092E713D09287 -:10F8D000E813E092E913F092EA13000F111F221FC0 -:10F8E000331F0093EB131093EC132093ED1330931D -:10F8F000EE13440F551F661F771F4093EF1350936D -:10F90000F0136093F1137093F21341A152A163A11C -:10F9100074A1440F551F661F771F4093F313509334 -:10F92000F4136093F5137093F613880F991FAA1FB1 -:10F93000BB1F8093E3139093E413A093E513B0935C -:10F94000E613109222141092231410922414109291 -:10F95000251481A592A5A3A5B4A580931A1490930C -:10F960001B14A0931C14B0931D1485A596A5A7A5E0 -:10F97000B0A980930B1490930C14A0930D14B09322 -:10F980000E1486A980931014882309F183AD94ADD9 -:10F990009093E2138093E11381AD92AD9093E013C5 -:10F9A0008093DF1310927102109272021092730210 -:10F9B0001092740287A990ADA0E0B0E080936D0230 -:10F9C00090936E02A0936F02B093700208C04092B1 -:10F9D0006D0250926E0260926F027092700285A961 -:10F9E0009091490A891721F08093490A0E949FF655 -:10F9F0000E9488C64092690250926A0260926B022D -:10FA000070926C02E091DF18F091E018EB5BFF4F11 -:10FA100080819181A281B3818093121490931314F9 -:10FA2000A0931414B093151421EF33E541E0F901CC -:10FA3000C590D590E590F490C816D906EA06FB0665 -:10FA400060F4B695A79597958795440F2C5F3F4F27 -:10FA5000EDE0F4E5E217F30751F74093111480321B -:10FA60009105A105B10520F480E290E0A0E0B0E0AE -:10FA70008097A109B109811558E09507A105B10545 -:10FA800008F41BC264E0969F900111242F50304B64 -:10FA9000F901329645915491EE27859FB001849FDC -:10FAA000610D7E1F06946E1F7E1F1124F901859043 -:10FAB0009490A12CB12C861A970AA108B1088092C3 -:10FAC000261490922714A0922814B0922914009121 -:10FAD0002614109127142091281430912914409154 -:10FAE0007102509172026091730270917402F02E53 -:10FAF0001983F22FE32F401751076207730720F491 -:10FB0000F42E5983F62FE72F8F2D9981AF2FBE2F1B -:10FB10000097E1E0AE07B10520F08FEF9FEFA0E086 -:10FB2000B0E0081B190B2A0B3B0B00932614109313 -:10FB3000271420932814309329144F3FFFEF5F07B9 -:10FB40006F077F0761F0481B590B6A0B7B0B4093D3 -:10FB50007102509372026093730270937402F8946E -:10FB60002091840030918500205F3F4F49854150AE -:10FB70004987442339F0280E391E2216330608F42B -:10FB800037C901C019013092890020928800789409 -:10FB90002D960FB6F894DEBF0FBECDBFDF91CF918B -:10FBA0001F910F91FF90EF90DF90CF90BF90AF909B -:10FBB0009F908F907F906F905F904F903F902F908D -:10FBC0000895F694E794D794C794220F0496E4E539 -:10FBD0008D309E0709F0A1CC20931114F0E2CF16CE -:10FBE000D104E104F10428F410E2C12ED12CE12C5F -:10FBF000F12C30E2C31AD108E108F108C11488E001 -:10FC0000D806E104F104F8F0E4E0DE9EC00111241E -:10FC10008F50904BFC01329625913491FC2DEE27AC -:10FC2000F39F8001F29F010D1E1F06940E1F1E1FE1 -:10FC30001124FC0185909490A12CB12C801A910A7A -:10FC4000A108B10822C0970186013695279517951E -:10FC50000795F801EC7F9F012F50344BF9018590F7 -:10FC60009490F901329685919491EC2DE770E89F7C -:10FC70009001E99F300D1124F3E036952795FA9510 -:10FC8000E1F7821A930AA12CB12C480D591D6A1D67 -:10FC90007B1D40931614509317146093181470939F -:10FCA00019149091101480910F14992309F474C0C1 -:10FCB000882309F44DCDD7968D919C91D897A0E0DB -:10FCC000B0E040916D0250916E0260916F027091B0 -:10FCD000700284179507A607B70709F060C038CDF2 -:10FCE000B694A794979487942D81220F2D83049620 -:10FCF0004DE054E54817590709F091CC5D815093C8 -:10FD0000111460E286169104A104B10428F450E2B3 -:10FD1000852E912CA12CB12C60E2861A9108A108A5 -:10FD2000B108811478E09706A104B10408F440C03A -:10FD3000E4E09E9EC00111248F50904BFC0132964E -:10FD400025913491F82DEE27F39F8001F29F010D4C -:10FD50001E1F06940E1F1E1F1124FC0185909490F7 -:10FD6000A12CB12C801A910AA108B1084A855B85A3 -:10FD70006C857D85480D591D6A1D7B1D40930714B8 -:10FD8000509308146093091470930A14809110140E -:10FD9000811132C080910F14882309F4D9CC1092BC -:10FDA0007102109272021092730210927402D0CCFF -:10FDB000950184013695279517950795F801EC7FF5 -:10FDC0009F012F50344BF90185919491F90132969E -:10FDD00005911491E82DE770E09F9001E19F300DAF -:10FDE000112443E0369527954A95E1F74C01821A94 -:10FDF000930AA12CB12CBACF49815A816B817C81A5 -:10FE00002D81420F511D611D711D4C155D056E0543 -:10FE10007F05C8F480910F14882309F499CCD796F4 -:10FE20004D915C91D89760E070E000916D02109167 -:10FE30006E0220916F0230917002401751076207E5 -:10FE4000730709F485CC109271021092720210921D -:10FE5000730210927402D7968D919C91D897A0E06E -:10FE6000B0E080936D0290936E02A0936F02B09306 -:10FE700070026ECCAC01BD0176956795579547959C -:10FE8000FA01EC7F9F012F50344BF90145915491B9 -:10FE9000F9013296659174918770869F9001879FD2 -:10FEA000300D1124C901F3E096958795FA95E1F795 -:10FEB000481B590B60E070E03BCCAC01BD0176956E -:10FEC000679557954795FA01EC7F9F012F50344B6A -:10FED000F90185909490F90132964591549187707B -:10FEE000849F9001859F300D1124C901A3E0969550 -:10FEF0008795AA95E1F7881A990AA12CB12CDFCD34 -:10FF000080ED882E87E0982EA12CB12C28CCCF92A2 -:10FF1000DF92EF92FF920F931F93CF93DF93CDB7B2 -:10FF2000DEB7CE5AD1090FB6F894DEBF0FBECDBFF3 -:10FF3000CF55DF4F188219821A821B82C15AD040D6 -:10FF40008091D4079091D507A091D607B091D7079B -:10FF5000CB55DF4F88839983AA83BB83C55AD04092 -:10FF6000C755DF4F19821882C95AD04084E690E005 -:10FF7000C555DF4F99838883CB5AD0401092951492 -:10FF80009E0127553F4F44E050E0BE016B557F4F27 -:10FF9000CE0185559F4F0E942A64C555DF4F888149 -:10FFA0009981CB5AD0400296C555DF4F99838883FB -:10FFB000CB5AD040C755DF4F19821882C95AD0405A -:10FFC00081E0C255DF4F8883CE5AD0409E0127552D -:10FFD0003F4F41E050E0BE0162557F4FCE01855555 -:10FFE0009F4F0E942A649E0127553F4F48E450E0EE -:10FFF00060ED71E1CE0185559F4F0E942A648E010C -:020000022000DC -:100000000F5F1F4F80E1F80111928A95E9F780E0B8 -:1000100090E0A0EAB0E489839A83AB83BC839E011D -:1000200027553F4F40E150E0B801CE0185559F4F25 -:100030000E942A649E0127553F4F44E050E065E549 -:100040007CE0CE0185559F4F0E942A649E01275572 -:100050003F4F4CE050E06BE47AE0CE0185559F4F76 -:100060000E942A649E0127553F4F41E050E068E618 -:1000700072E0CE0185559F4F0E942A649E0127554C -:100080003F4F44E050E069E572E0CE0185559F4F57 -:100090000E942A648091C6129091C712A091C81242 -:1000A000B091C91289839A83AB83BC839E01275583 -:1000B0003F4F44E050E0B801CE0185559F4F0E946C -:1000C0002A64CF55DF4F188219821A821B82C15AC7 -:1000D000D0407E01FDE6EF0EF11C83E0F701808346 -:1000E00089839E0127553F4F44E050E0BE016F5584 -:1000F0007F4FCE0185559F4F0E942A649E01275550 -:100100003F4F41E050E0B701CE0185559F4F0E941F -:100110002A649E0127553F4F41E050E0B801CE01CF -:1001200085559F4F0E942A643AE0D32EDA949E01AF -:1001300027553F4F44E050E0DD2049F0BE016F55A8 -:100140007F4FCE0185559F4F0E942A64EFCF6AE012 -:1001500073E1CE0185559F4F0E942A649E01275569 -:100160003F4F44E050E06EE073E1CE0185559F4F74 -:100170000E942A649E0127553F4F44E050E062E10F -:1001800073E1CE0185559F4F0E942A64CF55DF4F02 -:10019000188219821A821B82C15AD0402AE0D22EBC -:1001A000DA94DD2071F09E0127553F4F44E050E086 -:1001B000BE016F557F4FCE0185559F4F0E942A6427 -:1001C000EFCF83E0C355DF4F8883CD5AD040C3566D -:1001D000DF4F8883CD59D040F701108211821282FF -:1001E000138219821A821B821C82CF55DF4F18821C -:1001F00019821A821B82C15AD0409E0127553F4F57 -:1002000041E050E0BE0163557F4FCE0185559F4FC1 -:100210000E942A649E0127553F4F41E050E0BE01F5 -:1002200063567F4FCE0185559F4F0E942A649E01E1 -:1002300027553F4F44E050E0B801CE0185559F4F10 -:100240000E942A649E0127553F4F44E050E0B701C9 -:10025000CE0185559F4F0E942A649AE0C92ED12C69 -:10026000F1E0CF1AD1089E0127553F4FC114D104A8 -:1002700059F044E050E0BE016F557F4FCE018555E7 -:100280009F4F0E942A64ECCF41E050E066EE72E19D -:10029000CE0185559F4F0E942A649E0127553F4FEE -:1002A00041E050E062E273E1CE0185559F4F0E942C -:1002B0002A649E0127553F4F44E050E067E573E014 -:1002C000CE0185559F4F0E942A649E0127553F4FBE -:1002D00041E050E064E974E1CE0185559F4F0E94F2 -:1002E0002A648091FB029091FC02A091FD02B091E2 -:1002F000FE02F70180839183A283B3838091FF0282 -:1003000090910003A0910103B091020389839A8325 -:10031000AB83BC83C356DF4F1882CD59D040C25641 -:10032000DF4F1882CE59D0409E0127553F4F44E001 -:1003300050E0B701CE0185559F4F0E942A649E016F -:1003400027553F4F44E050E0B801CE0185559F4FFF -:100350000E942A649E0127553F4F42E050E0BE01B3 -:1003600063567F4FCE0185559F4F0E942A6480E1DE -:10037000F80111928A95E9F780E090E0A0E8BFE3E8 -:100380008D879E87AF87B88B80918F0C9091900C52 -:10039000A091910CB091920C89839A83AB83BC831A -:1003A0008091930C9091940CA091950CB091960C27 -:1003B0008D839E83AF83B8878091970C9091980C22 -:1003C000A091990CB0919A0C89879A87AB87BC87CA -:1003D0009E0127553F4F40E150E0B801CE018555C1 -:1003E0009F4F0E942A6484E190E09A8389839E0152 -:1003F00027553F4F42E050E0B801CE0185559F4F51 -:100400000E942A649E0127553F4F4CE050E067E26E -:100410007AE0CE0185559F4F0E942A648FE790E0D5 -:100420009A8389839E0127553F4F42E050E0B801EF -:10043000CE0185559F4F0E942A6481E089839E01E9 -:1004400027553F4F41E050E0B801CE0185559F4F01 -:100450000E942A6480E2E3E0F3E0D80101900D926B -:100460008A95E1F79E0127553F4F40E250E0B801E1 -:10047000CE0185559F4F0E942A64F70110829E018C -:1004800027553F4F41E050E0B701CE0185559F4FC2 -:100490000E942A649E0127553F4F41E050E06DEDD8 -:1004A00072E1CE0185559F4F0E942A649E01275517 -:1004B0003F4F44E050E062EE72E1CE0185559F4F20 -:1004C0000E942A648AE1F80111928A95E9F79E0157 -:1004D00027553F4F4AE150E0B801CE0185559F4F67 -:1004E0000E942A6484E3E3E2F3E0D80101900D92D4 -:1004F0008A95E1F79E0127553F4F44E350E0B8014C -:10050000CE0185559F4F0E942A6488E0F801119220 -:100510008A95E9F79E0127553F4F48E050E0B80122 -:10052000CE0185559F4F0E942A648DE0F8011192FB -:100530008A95E9F79E0127553F4F4DE050E0B801FD -:10054000CE0185559F4F0E942A649E0127553F4F3B -:1005500044E050E06BE97CE0CE0185559F4F0E945E -:100560002A648CE0D82EF8018D2D11928A95E9F736 -:100570009E0127553F4F4CE050E0B801CE01855514 -:100580009F4F0E942A648CE6F80111928A95E9F740 -:100590009E0127553F4F4CE650E0B801CE018555EE -:1005A0009F4F0E942A649E0127553F4F4CE050E028 -:1005B0006DE674E1CE0185559F4F0E942A649E012D -:1005C00027553F4F48E050E06AE173E1CE01855581 -:1005D0009F4F0E942A64F7011192DA94E9F7C355FC -:1005E000DF4F1882CD5AD04080E090E0A0E4B0E424 -:1005F000C356DF4F88839983AA83BB83CD59D040EC -:100600009E0127553F4F44E050E0B701CE0185558C -:100610009F4F0E942A649E0127553F4F44E050E0BF -:10062000B7016C5F7F4FCE0185559F4F0E942A64B2 -:100630009E0127553F4F44E050E0B701685F7F4F70 -:10064000CE0185559F4F0E942A649E0127553F4F3A -:1006500041E050E0BE0163557F4FCE0185559F4F6D -:100660000E942A649E0127553F4F44E050E0BE019E -:1006700063567F4FCE0185559F4F0E942A6480E3C9 -:10068000F70111928A95E9F780EC97E00E9445679F -:100690009E0127553F4F40E350E0B701CE018555FD -:1006A0009F4F0E942A6480919514811138C0C555CE -:1006B000DF4F08811981CB5AD040C755DF4F888161 -:1006C0009981C95AD040F7019183808384E690E0F4 -:1006D000C555DF4F99838883CB5AD0409E0127555B -:1006E0003F4F44E050E06BE873E0CE0185559F4FEB -:1006F0000E942A649E0127553F4F42E050E0B70117 -:10070000CE0185559F4F0E942A6481E0003F124030 -:1007100009F480E090919514892B80939514809131 -:10072000221387FF0E9428C989ED96E00E94456741 -:100730009091951481E08927C255DF4F0FB6F89448 -:10074000DEBF0FBECDBFDF91CF911F910F91FF9004 -:10075000EF90DF90CF900895AF92BF92CF92DF924B -:10076000EF92FF921F93CF93DF93CDB7DEB76097E1 -:100770000FB6F894DEBF0FBECDBF809115029091E9 -:100780001602A0911702B091180289839A83AB8355 -:10079000BC838091190290911A02A0911B02B09122 -:1007A0001C028D839E83AF83B88780911D02909138 -:1007B0001E02A0911F02B091200289879A87AB8701 -:1007C000BC878091210290912202A0912302B091D6 -:1007D00024028D879E87AF87B88B0E947FC10E94BD -:1007E000A7C483E7A82E84E5B82E9BE2E92E92E009 -:1007F000F92E27E6C22E24E5D22E10E0812F0E948A -:10080000CCA8F50185919591A591B491F7018083CC -:100810009183A283B383F60185919591A591B491BB -:10082000F70184839583A683B7831F5FF4E0AF0E3F -:10083000B11C88E0E80EF11CE4E0CE0ED11C1330B0 -:10084000E9F6609116137091171380911813909127 -:10085000191340E00F94294923EF34E045E35FE3A7 -:100860006091550C7091560C8091570C9091580CDA -:100870000F94385B6B017C016091DC117091DD118C -:100880008091DE119091DF110F94D75A9B01AC013A -:10089000C701B6010F94385B29E732E84AE550E416 -:1008A0000F94385B0F94C66460936D0C70936E0C5C -:1008B00080936F0C9093700C0E94F6C140E150E061 -:1008C00065E172E0CE0101960F943A66892B89F0BA -:1008D00060960FB6F894DEBF0FBECDBFDF91CF910B -:1008E0001F91FF90EF90DF90CF90BF90AF900C944E -:1008F00065C960960FB6F894DEBF0FBECDBFDF911D -:10090000CF911F91FF90EF90DF90CF90BF90AF906D -:1009100008954F925F926F927F928F929F92AF92C3 -:10092000BF92CF92DF92EF92FF92CF93DF9300D0EE -:1009300000D0CDB7DEB79E838D83DC014D905D90F6 -:100940006D907C90139714968D909D90AD90BC9077 -:10095000179718968D919D910D90BC91A02D89832C -:100960009A83AB83BC83A3019201C301B2010F94AC -:10097000385B6B017C01A5019401C501B4010F94A2 -:10098000385B9B01AC01C701B6010F94C8616B01D4 -:100990007C0129813A814B815C81CA01B9010F94A4 -:1009A000385B9B01AC01C701B6010F94C8610F947D -:1009B000C6649B01AC0160E070E080E89FE30F94A7 -:1009C000C2626B017C019B01AC01C301B2010F94B7 -:1009D000385BED81FE816083718382839383A701FD -:1009E0009601C501B4010F94385BAD81BE811496A8 -:1009F0006D937D938D939C931797A70196016981C1 -:100A00007A818B819C810F94385BED81FE816087B8 -:100A100071878287938726960FB6F894DEBF0FBE44 -:100A2000CDBFDF91CF91FF90EF90DF90CF90BF903F -:100A3000AF909F908F907F906F905F904F900895B0 -:100A40000F931F938091F912813019F40F9406408F -:100A500008C06091F5127091F6128091F712909192 -:100A6000F8120091E7121091E8122091E9123091EA -:100A7000EA12601B710B820B930B28EE33E040E00F -:100A800050E00F9428618091EB129091EC12A091AC -:100A9000ED12B091EE12BC01CD01620F731F841FE5 -:100AA000951F1F910F9108951092F9121092E7125D -:100AB0001092E8121092E9121092EA121092F512B6 -:100AC0001092F6121092F7121092F8121092EB1286 -:100AD0001092EC121092ED121092EE120895809185 -:100AE000F912813099F588ED97E00E94456781E021 -:100AF0009AE59093F1168093F01687E590E0909335 -:100B0000F3168093F21687E08093E41682E88093D0 -:100B1000E71684E890E0A0E0B0E08093E8169093B8 -:100B2000E916A093EA16B093EB160F94E63282E032 -:100B30008093F9120F9406406093F5127093F612A9 -:100B40008093F7129093F81281E0089580E0089561 -:100B50008F929F92AF92BF92CF92DF92EF92FF92CD -:100B60000F931F93CF93DF93CDB7DEB72C970FB6BC -:100B7000F894DEBF0FBECDBF8B0140E050E068E4CB -:100B800072E44D835E836F83788740E050E060EAD3 -:100B900070E449875A876B877C87813019F08230EF -:100BA00039F02AC0BE01675F7F4FC801089646C072 -:100BB000F801208531854285538560911D02709131 -:100BC0001E0280911F02909120020F94C8616B0158 -:100BD0007C0120E030E048EC53E40F94D25A87FDCA -:100BE00006C0C12CD12C88ECE82E83E4F82EC982F3 -:100BF000DA82EB82FC821DC080901D0290901E0262 -:100C0000A0901F02B0902002F801C084D184E28439 -:100C1000F3849601A701B401C5010F94D25A87FD50 -:100C200002C064017501C601D70189839A83AB8331 -:100C3000BC83BE01675F7F4FCE0101960E945AB30D -:100C4000B8016C5F7F4FAE014B5F5F4FC8010E94E0 -:100C500038B30E9465C92C960FB6F894DEBF0FBE5C -:100C6000CDBFDF91CF911F910F91FF90EF90DF905B -:100C7000CF90BF90AF909F908F9008954F925F92CA -:100C80006F927F928F929F92AF92BF92CF92DF929C -:100C9000EF92FF92CF93DF93CDB7DEB76E970FB68B -:100CA000F894DEBF0FBECDBF9E8F8D8FDC01D8962E -:100CB000CD90DD90ED90FC90DB9720E030E0A90135 -:100CC000C701B6010F94D25A811103C081E090E0B0 -:100CD000CBC1A7019601ED8DFE8D6081718182816E -:100CE00093810F94C26269837A838B839C83AD8DD9 -:100CF000BE8D6D937D938D939C931397A701960161 -:100D000014966D917D918D919C9117970F94C2626D -:100D10006D837E838F839887ED8DFE8D64837583CD -:100D200086839783A7019601608571858285938567 -:100D30000F94C26269877A878B879C87AD8DBE8D41 -:100D400018966D937D938D939C931B97A7019601A5 -:100D50001C966D917D918D919C911F970F94C2620D -:100D60004B015C0129813A814B815C81CA01B90147 -:100D70000F94385B9B01AC01C501B4010F94C761AE -:100D80006D877E878F87988BED8DFE8D6487758745 -:100D900086879787A70196016089718982899389DF -:100DA0000F94C2624B015C012D813E814F815885B9 -:100DB000CA01B9010F94385B9B01AC01C501B401B4 -:100DC0000F94C761698B7A8B8B8B9C8BAD8DBE8D9D -:100DD00050966D937D938D939C935397A7019601A5 -:100DE00054966D917D918D919C9157970F94C2620D -:100DF0004B015C0129853A854B855C85CA01B901A7 -:100E00000F94385B9B01AC01C501B4010F94C7611D -:100E1000ED8DFE8D648B758B868B978BA70196016C -:100E2000608D718D828D938D0F94C2624B015C0138 -:100E30002D813E814F81588569817A818B819C818A -:100E40000F94385B9B01AC01C501B4010F94C761DD -:100E50004B015C01AD8DBE8D58966D937D938D9346 -:100E60009C935B97A701960190966D917D918D91D2 -:100E70009C9193970F94C2622B013C0129853A857E -:100E80004B855C856D817E818F8198850F94385B61 -:100E90009B01AC01C301B2010F94C7616D8B7E8BC6 -:100EA0008F8B988FED8DFE8D60A371A382A393A38A -:100EB000A7019601648D758D868D978D0F94C26202 -:100EC0006B017C0129853A854B855C8569817A8136 -:100ED0008B819C810F94385B9B01AC01C701B601EB -:100EE0000F94C761698F7A8F8B8F9C8FAD8DBE8D6C -:100EF0005C966D937D938D939C935F9729893A8936 -:100F00004B895C896D857E858F8598890F94385BC8 -:100F10006B017C01A5019401C501B4010F94385BFC -:100F20009B01AC01C701B6010F94C7616B017C0145 -:100F300020E030E0A9010F9428642601370187FFE3 -:100F400004C077FA709477F87094ED8DFE8D20A52B -:100F500031A542A553A564A175A186A197A10F94BF -:100F6000C8612FEF36EE4BED5EE20F94385BA301C4 -:100F700092010F94286487FFA9CE2D893E894F895D -:100F8000588DC501B4010F94385B2B013C01298DAC -:100F90003A8D4B8D5C8D69897A898B899C890F94F8 -:100FA000385B9B01AC01C301B2010F94C761A7017B -:100FB00096010F94C2622B013C01AD8DBE8D9C96B3 -:100FC0006D937D938D939C939F97298D3A8D4B8D37 -:100FD0005C8DC501B4010F94385B4B015C012D8918 -:100FE0003E894F89588D6D857E858F8598890F94B0 -:100FF000385B9B01AC01C501B4010F94C761A70127 -:1010000096010F94C2626B017C01ED8DFE8D60AB89 -:1010100071AB82AB93ABA301920169817A818B8121 -:101020009C810F94385B29853A854B855C850F94AC -:10103000C8614B015C01A70196016D817E818F81A2 -:1010400098850F94385B9B01AC01C501B4010F94E6 -:10105000C861DC01CB01B058ED8DFE8D84AB95AB42 -:10106000A6ABB7AB80E090E06E960FB6F894DEBF0B -:101070000FBECDBFDF91CF91FF90EF90DF90CF906B -:10108000BF90AF909F908F907F906F905F904F90A8 -:10109000089580916C1882FF2AC00E94F1A38823D2 -:1010A00019F18091641890916518A0916618B0911B -:1010B00067180097A105B105B9F0BC01CD016D59C4 -:1010C0007F4F8F4F9F4F24E630E040E050E00F9479 -:1010D0002861609168187091691880916A189091E0 -:1010E0006B180F94286101C020E020936C1480914C -:1010F0006C148F7708950F931F93CF93DF938C0118 -:1011000067FF03C010926A1460E080916A1490E057 -:10111000262F062E000C330B2817390734F1609365 -:101120006A14C8010F94205A800F911FEC01C01B54 -:10113000D10BC034D1053CF00197FC012491207CF7 -:101140002038D1F3F3CFDD27AE01B8018AE294E174 -:101150000F94415AC65DDB4E18828AE294E1DF911A -:10116000CF911F910F910C94369CDF91CF911F91DD -:101170000F91089510926B141092140280916C18C4 -:10118000806280936C1861E08EE394E50F94EF0920 -:1011900040E050E063E574E585E00F94620B0E9447 -:1011A00095C060E085E494E50D947B08CF93DF93D0 -:1011B000CDB7DEB78E8190916A14891788F080933D -:1011C0006A149E01275F3F4F4F8158856FE370E09F -:1011D0008AE294E10F94995A8AE294E10E94369C43 -:1011E000DF91CF910895CF93DF9320916A1421115D -:1011F00020C0FC0101900020E9F73197EF01C81BE6 -:10120000D90BC034D1052CF02291207C2038E1F399 -:10121000F5CFBC01DD27AE018AE294E10F948E6622 -:10122000C65DDB4E18828AE294E1DF91CF910C9487 -:10123000369CDF91CF91089580916C1882FD05C096 -:101240008091F912823069F411C080913E1B88238D -:1012500019F08EE39BE102C080E89BE161E00D9410 -:10126000F308813031F485E294E505C081E394E52B -:1012700002C081E194E56FEF0D947B08FF920F931C -:101280001F93CF93DF938B01D82FC92FF42E20E02B -:1012900030E048EC52E40F94D25A87FF0FC020E0B0 -:1012A00030E0A901B8018D2F9C2F0F9428641816E7 -:1012B0004CF000E010E0D0E0C0E004C000E010E03E -:1012C000D8ECC2E481E08F15E0F0B8018D2F9C2F9F -:1012D0000F9434639B01AC01AFEFB0E00F946961F0 -:1012E00024E630E040E050E00F944A61EF2DF0E05A -:1012F000EF58F34F2F3F310519F010F02FEF30E08A -:101300002083DF91CF911F910F91FF900895EDEB16 -:10131000F3E11082118212821382148280E00C9415 -:10132000AEF48091CF1183FD0FC08091830C8111A9 -:101330000BC020918C0C30918D0C809129029091E2 -:101340002A022817390724F061E080E00C94ECEEC3 -:101350000F94CB4A80EC96E50F944B4A80E00895B9 -:10136000CF92DF92EF92FF920F931F93CF93DF9371 -:101370007C018B0110921A0A0E94BD63C5E1D2E084 -:101380002091250230912602409127025091280297 -:10139000F70160817181828193810F94C2622C85F3 -:1013A0003D854E855F850F94C8616C877D878E87EC -:1013B0009F87C12CD12C760121E232E04DE152E031 -:1013C00069E172E0CE010E94148ADF91CF911F91F2 -:1013D0000F91FF90EF90DF90CF900C941AC20F9373 -:1013E0001F93CF938C01C62F8FEF94E50F944B4A38 -:1013F000C8010F944B4ACC2331F08AE0CF911F9162 -:101400000F910C942766CF911F910F91089560E082 -:1014100084E195E50F94EF098CE195E50F944B4A33 -:101420008AE00C94276660E084E195E50F94EF096B -:1014300080E195E50F944B4A8AE00C942766EF9281 -:10144000FF920F931F93CF937C018B01C42F60E019 -:1014500084E195E50F94EF09C7010F944B4A80E2B0 -:101460000E942766C8010F944B4ACC2341F08AE0C2 -:10147000CF911F910F91FF90EF900C942766CF9121 -:101480001F910F91FF90EF90089541E0BC0189E01A -:1014900095E50D941F0ACF93DF93C09181141092AC -:1014A0008114C230B9F118F4C13041F041C0C430E8 -:1014B000B1F1C530E9F5C7E4D5E53FC081111DC0E4 -:1014C0000F94130A41E062EB75E589ED96E50F9400 -:1014D0001F0A87EA95E50F94450A80911A0A882326 -:1014E00019F089E995E504C0C093811480E995E578 -:1014F0000F94450A0F94070A1EC08130E1F48091D1 -:101500001A0A8823C1F01092680210921A0A0E94E7 -:10151000BD6311C010926B14C3E6D5E50EC08CE814 -:1015200095E59093590A8093580AC2E5D5E505C020 -:10153000C9E3D5E502C0CCE7D5E581E295E50F9496 -:101540004B4ACE010F944B4A8AE0DF91CF910C9425 -:1015500027660F931F93CF93DF938B01EA0180934C -:1015600081140F94130A41E0B80189ED96E50F94B8 -:101570001F0A209719F0CE010F94450ADF91CF91F1 -:101580001F910F910D94070A0F931F93CF93DF9331 -:10159000C82F0F94CB4AC11103C087ED95E502C057 -:1015A00089EF95E50F944B4A0F940640DC01CB017F -:1015B00088539045AF4FBF4F8093BD139093BE1398 -:1015C000A093BF13B093C0131092C1131091FE08E3 -:1015D00083E08093FE0881E080936B1449EA56E52E -:1015E00062EB76E582E00F94A90A8BE996E50E940A -:1015F0007B9CCC2319F0C9EFD5E502C0C7EDD5E53A -:1016000001E080916B14882309F455C08091C113C7 -:10161000882309F44CC00F94CB4A84E796E50F94D5 -:101620004B4A4FE556E566E676E582E00F94A90A57 -:1016300081E596E50E947B9C80916B14882321F0C4 -:1016400081E00E946B67F8CF40E050E067E476E508 -:1016500082E00F94A90A8AE396E50E94369C0F94D3 -:1016600087090F9491090F94CB4ACE010F944B4AEE -:101670000F940640DC01CB0188539045AF4FBF4F1C -:101680008093BD139093BE13A093BF13B093C01368 -:101690001092C11345E256E56EE276E582E00F94C2 -:1016A000A90A8FEE97E00E947B9C00936B1481E067 -:1016B0000E946B67A6CF1093FE08DF91CF911F9118 -:1016C0000F91089590918114911102C00D94A90A6F -:1016D00008958F929F92AF92BF92CF92DF92EF9236 -:1016E000FF920F931F93CF93DF9300D01F92CDB73C -:1016F000DEB76C017B018A01B090C1130F9487099A -:10170000B11016C08091830C811112C06091880CB9 -:101710007091890C80918A0C90918B0C0F9434639A -:101720002091290230912A02621773070CF4C2C07B -:101730000F949109882309F4BDC0BB20A1F10F9437 -:10174000CB4A8EE297E50F944B4AB090FE0883E0B7 -:101750008093FE0881E080936B1482E08093811473 -:101760000F94130A40E06EE177E589ED96E50F945A -:101770001F0A80E30E9427668AE00E94276685E1AF -:1017800097E50F94450A0F94070A87E097E50E94B2 -:101790007B9C80916B14882321F081E00E946B6711 -:1017A000F8CFB092FE0820E030E0A901F601608198 -:1017B0007181828193810F94D25A882371F080E0E5 -:1017C00090E0A0ECB0E489839A83AB83BC83BE0134 -:1017D0006F5F7F4FC6010F94B00920E030E0A90190 -:1017E000F70160817181828193810F94D25A88239D -:1017F00051F18090081290900912A0900A12B090B6 -:101800000B1280E090E0A8ECB1E480930812909372 -:101810000912A0930A12B0930B1280E090E0A0EF9F -:10182000B1E489839A83AB83BC83BE016F5F7F4F32 -:10183000C7010F94B0098092081290920912A092E9 -:101840000A12B0920B1220E030E0A901F801608189 -:101850007181828193810F942864181674F480E05A -:1018600090E0A0E4B0E489839A83AB83BC83BE019B -:101870006F5F7F4FC8010F94B00981E0809381149E -:101880000F94130A41E060E077E589ED96E50F9447 -:101890001F0A86EF96E50F94450A80911A0A88235D -:1018A00019F088EE96E502C08FED96E50F94450A93 -:1018B0000F94070A20E030E0A90160918E14709126 -:1018C0008F1480919014909191140F94D25A87FFA5 -:1018D0000FC080E090E0A0E7B2E489839A83AB83F5 -:1018E000BC83BE016F5F7F4F8EE894E10F94B00917 -:1018F00080E090E0A8E4B2E489839A83AB83BC8360 -:10190000AE014F5F5F4F66E874E182E894E10E94A8 -:1019100038B380E090E0A0EAB0E489839A83AB8397 -:10192000BC83BE016F5F7F4F8AE894E10E945AB387 -:1019300080918E1490918F14A0919014B091911475 -:101940008093210290932202A0932302B093240259 -:101950008093CE189093CF18A093D018B093D1183D -:101960008EEC98E10E942BC261E081ED96E50F9428 -:10197000EF098091DE0B81508093DE0B40E050E058 -:101980006AE577E585E00F94620B8091DE0B882392 -:1019900039F00E9486718091DE0B81508093DE0BBE -:1019A00080E00E94B68A8091F912823011F40E9480 -:1019B000E5BF0F941C090F900F900F900F90DF91CF -:1019C000CF911F910F91FF90EF90DF90CF90BF903C -:1019D000AF909F908F9008958F929F92AF92BF92F9 -:1019E000CF92DF92EF92FF921F93CF93DF93CDB709 -:1019F000DEB728970FB6F894DEBF0FBECDBF20919B -:101A0000DE0B211116C17A015B016C0161E089EBEB -:101A100095E50F94EF0940E050E061ED75E585E054 -:101A20000F94620B8091CF1183FD22C020E030E043 -:101A3000A901F70160817181828193810F94D25A4B -:101A40008823B1F01091830C111112C0209129024A -:101A500030912A0280918C0C90918D0C8217930703 -:101A60003CF40F94CB4A80EC95E50F944B4AE2C0CE -:101A70008091DE0B91E0980F9093DE0B90916C18A3 -:101A800092FF06C09B7F90936C188E5F8093DE0B55 -:101A90000F946F0580E1E5E1F2E0A2E8B4E1019086 -:101AA0000D928A95E1F70E941AC281E00E94B68ADF -:101AB00020E030E0A901F60160817181828193818B -:101AC0000F94D25A882319F18091830C811111C08F -:101AD0006091880C7091890C80918A0C90918B0C8C -:101AE0000F9434632091290230912A026217730700 -:101AF00074F080E090E0A0E7B2E489839A83AB833E -:101B0000BC83BE016F5F7F4FC6010F94B00941E0F7 -:101B100061E081E00E94ECA8811104C0B50182E07F -:101B20000F94A80520E030E0A901F70160817181E0 -:101B3000828193810F94D25A811102C011E07AC040 -:101B40000F949109182F8823C9F380E090E0A0E753 -:101B5000B2E48D839E83AF83B88780E090E0A0E8F5 -:101B6000B0EC89839A83AB83BC83BE016B5F7F4FEC -:101B7000CE0101960F94B00968E873E180E090E02F -:101B80000F941C4A8091001290910112A0910212B0 -:101B9000B09103128D839E83AF83B88780E090E07D -:101BA000A0E8B0E489839A83AB83BC83BE016B5FFA -:101BB0007F4FCE0101960F94B0098090081290904B -:101BC0000912A0900A12B0900B1280E090E0A8ECED -:101BD000B1E48093081290930912A0930A12B09373 -:101BE0000B1280E090E0A4E2B2E48D839E83AF8389 -:101BF000B887F70180819181A281B38189839A831B -:101C0000AB83BC83BE016B5F7F4FCE0101960F9407 -:101C1000B0098092081290920912A0920A12B09212 -:101C20000B12129A64E670E080E090E00F941C4A78 -:101C300001C010E0812F28960FB6F894DEBF0FBECA -:101C4000CDBFDF91CF911F91FF90EF90DF90CF90AC -:101C5000BF90AF909F908F900895CF93DF93EB014B -:101C6000682F70E086E596E10E94AF646881798113 -:101C70008A819B81643F21E072078105910520F4F0 -:101C800064EF71E080E090E00F941C4A89B183FB1F -:101C9000882780F9DF91CF910895CF92DF92EF925C -:101CA000FF921F93CF93DF9300D01F92CDB7DEB783 -:101CB0008EEEC82E82E0D82EE12CF12CC982DA8279 -:101CC000EB82FC82BE016F5F7F4F8AE50F942D0E81 -:101CD000811102C010E023C084EF91E0A0E0B0E0E9 -:101CE00089839A83AB83BC83BE016F5F7F4F80EA99 -:101CF0000F942D0EC982DA82EB82FC82BE016F5FE7 -:101D00007F4F8AE50F942D0E182F882319F30F9417 -:101D1000C74A85EC94E50F944B4A0F943C4B812FB6 -:101D20000F900F900F900F90DF91CF911F91FF9028 -:101D3000EF90DF90CF900895CF92DF92EF92FF92D5 -:101D4000CF93DF9300D01F92CDB7DEB78EEEC82EB3 -:101D500082E0D82EE12CF12CC982DA82EB82FC825F -:101D6000BE016F5F7F4F8AE00F942D0E811102C07C -:101D7000F12C41C084EF91E0A0E0B0E089839A8328 -:101D8000AB83BC83BE016F5F7F4F80EA0F942D0E43 -:101D9000C982DA82EB82FC82BE016F5F7F4F8AE5E7 -:101DA0000F942D0EC982DA82EB82FC82BE016F5F36 -:101DB0007F4F8AE00F942D0EC982DA82EB82FC827B -:101DC000BE016F5F7F4F8AE50F942D0EC982DA82C4 -:101DD000EB82FC82BE016F5F7F4F8AE00F942D0E75 -:101DE000F82E882329F20F94C74A8BE894E50F94C4 -:101DF0004B4A0F943C4B8F2D0F900F900F900F90EC -:101E0000DF91CF91FF90EF90DF90CF9008958F9268 -:101E10009F92AF92BF92CF92DF92EF92FF92CF93B9 -:101E2000DF9300D01F92CDB7DEB7B82E84EF91E0DC -:101E3000A0E0B0E089839A83AB83BC83BE016F5F6F -:101E40007F4F80EA0F942D0E9EEEC92E92E0D92E80 -:101E5000E12CF12CC982DA82EB82FC82BE016F5F39 -:101E60007F4F8AE50F942D0E8091941481113CC010 -:101E7000BB20D1F1C982DA82EB82FC82BE016F5FA6 -:101E80007F4F8AE00F942D0E86E9882E912CA12C8D -:101E9000B12C89829A82AB82BC82BE016F5F7F4F78 -:101EA0008CE80F942D0E89829A82AB82BC82BE018F -:101EB0006F5F7F4F82E80F942D0E89829A82AB82EA -:101EC000BC82BE016F5F7F4F8CE80F942D0EC982DC -:101ED000DA82EB82FC82BE016F5F7F4F8AE50F944E -:101EE0002D0E81E0809394140F900F900F900F901F -:101EF000DF91CF91FF90EF90DF90CF90BF90AF90A8 -:101F00009F908F9008958F929F92AF92BF92CF92A1 -:101F1000DF92EF92FF920F931F93CF93DF938B018A -:101F2000EA01FC01C080D180E280F380842F0E940E -:101F3000278D9B01AC01C701B6010F94C76124E94D -:101F400039E647E65CE30F94385B4B015C0186E0C1 -:101F5000809FF001819FF00D1124EC0FFD1FEE0F0B -:101F6000FF1FEE0FFF1FEA5CFD4EC080D180E280B4 -:101F7000F380C430D10514F0C4E0D0E026E0209F07 -:101F8000C001219F900D11242196C80FD91FCC0F9D -:101F9000DD1FCC0FDD1FCA5CDD4EA70196016881F5 -:101FA00079818A819B810F94C761A50194010F9467 -:101FB000385BA70196010F94C861DF91CF911F9103 -:101FC0000F91FF90EF90DF90CF90BF90AF909F90D8 -:101FD0008F9008958F929F92AF92BF92CF92DF928F -:101FE000EF92FF920F931F93CF93DF93EB018A0140 -:101FF000FC01C080D180E280F380862F0E94558D45 -:102000009B01AC01C701B6010F94C76124E939E611 -:1020100047E65CE30F94385B4B015C0186E08C9FE4 -:10202000F0018D9FF00D1124E00FF11FEE0FFF1F47 -:10203000EE0FFF1FEA5CFD4EC080D180E280F3808E -:10204000C430D10514F0C4E0D0E0219686E08C9F26 -:10205000F0018D9FF00D1124E00FF11FEE0FFF1F17 -:10206000EE0FFF1FEA5CFD4EA701960160817181B2 -:10207000828193810F94C761A50194010F94385B0D -:10208000A70196010F94C861DF91CF911F910F9125 -:10209000FF90EF90DF90CF90BF90AF909F908F9088 -:1020A000089520E030E040E450E40F94C76124E953 -:1020B00039E647E65CE30F94385B0F943463862F70 -:1020C000663014F085E0089567FD80E008958F92F2 -:1020D0009F92AF92BF92CF92DF92EF92FF92CF93F7 -:1020E000DF93EC018090C6129090C712A090C812A6 -:1020F000B090C91220E030E0A901C501B4010F94ED -:10210000D25A882309F44AC0C880D980EA80FB806B -:10211000A7019601C501B4010F94D25A18160CF00C -:1021200042C020917D1430917E1440917F145091D3 -:102130008014C701B6010F94D25A882331F1C0929E -:102140007D14D0927E14E0927F14F092801420913E -:10215000791430917A1440917B1450917C146881E9 -:1021600079818A819B810F94385B9B01AC0160E08F -:1021700070E080E89FE30F94C761609375027093ED -:102180007602809377029093780260917502709145 -:102190007602809177029091780208C060E070E04A -:1021A00080E89FE303C060E070E0CB01DF91CF9156 -:1021B000FF90EF90DF90CF90BF90AF909F908F9067 -:1021C000089580E1E2ECF8E1A5E1B2E001900D9222 -:1021D0008A95E1F708958091921490919314009755 -:1021E00031F04AE050E060E070E00D94F65860E0B5 -:1021F00070E0CB010895CF93C62F0E940B8D8823EA -:1022000019F0CF910C9447E48C2FCF9108952F9221 -:102210003F924F925F926F927F928F929F92AF9276 -:10222000BF92CF92DF92EF92FF920F931F93CF93C3 -:10223000DF93CDB7DEB7EF970FB6F894DEBF0FBED2 -:10224000CDBF2DB73EB73DA72CA741E061E081E0AF -:102250000E94ECA8811135C461E086E50F94FB1063 -:102260008D8B853018F08DE399E579C03D89332356 -:1022700021F08DE199E50F944B4A6AE080E50F94D7 -:10228000FB10182F8CEF810F8F3218F089EF98E533 -:1022900066C060E085E40E946BE4811103C082E0C7 -:1022A0008FA302C091E09FA3609115027091160266 -:1022B00080911702909118026D837E838F83988797 -:1022C000C0901902D0901A02E0901B02F0901C02FC -:1022D000C986DA86EB86FC8620910A1330910B13AF -:1022E00040910C1350910D130F94C861AB01BC01C8 -:1022F00088E50E94A59C6D877E878F87988B2985AE -:102300003A854B855C8560910E1370910F13809117 -:102310001013909111130F94C861AB01BC0189E5B2 -:102320000E94A59C698B7A8B8B8B9C8BBE016F5E08 -:102330007F4FCE010D960E94218F811103C081EE47 -:1023400098E50DC08CE40E94C28C082F882381F090 -:102350000E9447E48A8F803128F08EEA98E50F9436 -:102360004B4AAFC3AA8DA13021F4B2E0BA8F01C0AD -:102370001A8E60E083E50E946BE48AAB882321F02B -:10238000011102C0E7E0EA8FFD89F33020F084E913 -:1023900098E50F944B4A2091E61229AF80E00F9404 -:1023A000B1480E9419B3812F90E09CAB8BABADB7C5 -:1023B000BEB7E4E01E9FA019B10911240FB6F8942E -:1023C000BEBF0FBEADBF2DB73EB72F5F3F4F3BA780 -:1023D0002AA701E02D894FA1BE016F5E7F4FCE017C -:1023E0000D960E94EDBD9B01AC010F941565811106 -:1023F000D0C20F940640611571058105910511F059 -:102400000F94635633EF3B8F8FE48C8F93EC9D8F4B -:1024100027EC222EA3EFAE8FBFE4BF8FE3ECE8A33F -:10242000F7E4F9A31EA221E02E8B412C512C32019E -:102430004AA25BA26CA27DA23A8D832F90E0DC01C0 -:102440001197BFAFAEAFFEA1EF2FF0E0F9A7E8A75D -:102450002BA93CA9E217F3070CF0B3C23A8D332342 -:1024600009F46CC10F9415562AE030E040E050E0CA -:102470000F944A610F94D95A20E030E040EA50E4CA -:102480000F94286418161CF001E010E002C00FEF52 -:102490001FEF0F94155628E631E040E050E00F940E -:1024A0004A610F94D95A4B015C010F94155628E2EA -:1024B00030E040E050E00F944A616B5F7F4F8F4FF8 -:1024C0009F4F0F94D95A6E8B7F8B888F998F8D89F0 -:1024D0008430E1F44E895F89688D798D86E898E5CE -:1024E0000F94974AB501A4018EE798E50F94974A97 -:1024F00088E798E50F944B4A0130110519F483E4FD -:102500000E94276684E798E50F944B4A312CC80156 -:10251000110FAA0BBB0B8DAB9EABAFABB8AF832D2E -:1025200090E0AEADBFAD8A179B070CF007C1BAA90A -:10253000BB2379F06DA97EA98FA998AD0F94D95AC4 -:102540009B01AC010F94C86120E030E040E952E407 -:102550001AC00F94155624E130E040E050E00F948B -:102560004A61675E7F4F8F4F9F4F0F94D95A6B011F -:102570007C016DA97EA98FA998AD0F94D95A9B01B2 -:10258000AC01C701B6010F94385B9B01AC01C501DA -:10259000B4010F94C8614B015C0120E030E044EBD2 -:1025A00053E40F94286418164CF420E030E044EB18 -:1025B00053E4C501B4010F94C761EDCF20E030E0D2 -:1025C000A901C501B4010F94D25A87FF0BC020E0C6 -:1025D00030E044EB53E4C501B4010F94C8614B01F2 -:1025E0005C01ECCF2BED3FE049E450E4C501B401C0 -:1025F0000F94385B20E030E044E353E40F94C26270 -:102600006B017C010F94BD626EA77FA788AB99AB6D -:1026100020910A1330910B1340910C1350910D131C -:102620006D857E858F8598890F94C7616AAF7BAF72 -:102630008CAF9DAF2EA53FA548A959A96E897F896A -:10264000888D998D0F94385B9B01AC016AAD7BAD91 -:102650008CAD9DAD0F94C8616D837E838F83988709 -:10266000C701B6010F94B8646EA77FA788AB99AB7A -:1026700020910E1330910F134091101350911113AC -:1026800069897A898B899C890F94C7616B017C0168 -:102690002EA53FA548A959A96E897F89888D998D56 -:1026A0000F94385B9B01AC01C701B6010F94C86160 -:1026B00069877A878B879C8748E651E060E070E005 -:1026C000CE0105960F945C4048E651E060E070E072 -:1026D000CE0109960F945C40ED89E430F9F44D8108 -:1026E0005E816F81788588E698E50F94974A4985E1 -:1026F0005A856B857C8585E698E50F94974A4091CD -:102700001D0250911E0260911F027091200282E60C -:1027100098E50F94974A8AE00E94276619821A82E8 -:102720001B821C82AE014F5F5F4FBE01675F7F4F10 -:10273000CE0105960E9438B33394F1CE01E020E03B -:102740004FA1BE016F5E7F4FCE010D960E94EDBD81 -:102750006B017C01E8A5F9A5EE0FFF1FEE0FFF1F2F -:102760002AA53BA5E20FF31FC601D7018083918301 -:10277000A283B3831E8A9601A701B601C7010F94F5 -:102780001565811102C031E03E8B9601A701B601AB -:10279000C7010F941565811114C110E0812C912C93 -:1027A0005401EAA5FBA584E0189FE00DF11D11245A -:1027B0002081318142815381C501B4010F94C861E8 -:1027C0004B015C011F5F9EA1911758F708A519A541 -:1027D0000F5F1F4FB801012E000C880B990B0F944F -:1027E000D95A2B013C019B01AC01C501B4010F94E6 -:1027F000C2626AA37BA38CA39DA32E8D3F8D48A1AB -:1028000059A1B601C7010F94D25A87FF04C0CE8EDA -:10281000DF8EE8A2F9A22B8D3C8D4D8D522DB60195 -:10282000C7010F942864181624F4CB8EDC8EED8E2D -:102830002F2C312C812C912C5401EAA5FBA5A4E06E -:102840003A9EE00DF11D11242AA13BA14CA15DA1EE -:1028500060817181828193810F94C7619B01AC017A -:102860000F94385B9B01AC01C501B4010F94C861A2 -:102870004B015C013394BEA1B315F8F6A30192019C -:102880000F94C2620F94C6642B013C018D89825063 -:102890008E3708F07AC06AE070E0C8010E94B7661F -:1028A0006BA97CA98DE598E50F94A84A00E018E093 -:1028B000F80181918F01882319F00E942766F8CFD3 -:1028C00043E0B601C7010E94C766FD89F23009F4F2 -:1028D00059C006E018E0D8018D918D01882319F0C8 -:1028E0000E942766F8CF44E06AA17BA18CA19DA13C -:1028F0000E94C7660EE018E0F80181918F018823DD -:1029000019F00E942766F8CF46E0C301B2010E9489 -:10291000C76607E118E0D8018D918D01882319F071 -:102920000E942766F8CF43E06E8D7F8D88A199A124 -:102930000E94C7660EE118E0F80181918F0188239B -:1029400019F00E942766F8CF43E06B8D7C8D8D8D4A -:10295000922D0E94C76605E218E0D8018D918D0185 -:10296000882319F00E942766F8CF2E8D3F8D48A14D -:1029700059A16B8D7C8D8D8D922D0F94C76143E095 -:102980000E94C7668AE00E942766BEA1BF5FBEA301 -:102990005ACDE3EFEB8FFFE4FC8F23EC2D8F87EC18 -:1029A000282E33EF3E8F8FE48F8F93EC98A3A7E40C -:1029B000A9A31E8A412C512C32014AA25BA26CA20F -:1029C0007DA280E00E944CBDBE89BB2309F46AC091 -:1029D00082E598E50F944B4AED89EE2309F44DC04A -:1029E0000EE218E0D8018D918D01882319F00E9424 -:1029F0002766F8CF46E06AA17BA18CA19DA10E9429 -:102A0000C76605E318E0F80181918F01882319F06A -:102A10000E942766F8CF43E06E8D7F8D88A199A133 -:102A20000E94C7660CE318E0D8018D918D018823C0 -:102A300019F00E942766F8CF43E06B8D7C8D8D8D59 -:102A4000922D0E94C76603E418E0F80181918F017E -:102A5000882319F00E942766F8CF2E8D3F8D48A15C -:102A600059A16B8D7C8D8D8D922D0F94C76143E0A4 -:102A70000E94C7668AE00E9427660CE418E0D8012D -:102A80008D918D01882319F00E942766F8CF46E0CA -:102A9000C301B2010E94C7668AE00E9427668AE0ED -:102AA0000E9427660E9400B389AD0F94B1480E942E -:102AB00065C9ECA5FDA50FB6F894FEBF0FBEEDBF2E -:102AC00007C02CA53DA50FB6F8943EBF0FBE2DBF85 -:102AD0008CA59DA50FB6F8949EBF0FBE8DBFEF9637 -:102AE0000FB6F894DEBF0FBECDBFDF91CF911F911F -:102AF0000F91FF90EF90DF90CF90BF90AF909F909D -:102B00008F907F906F905F904F903F902F9008959F -:102B10008F929F92AF92BF92CF92DF92EF92FF92ED -:102B20000F931F93CF93DF9300D000D0CDB7DEB7C4 -:102B30006FEF7FEF89E40E94188D882E6FEF7FEF93 -:102B40008AE40E94188DD82E83E40E94C28CC82E7D -:102B50008EE40E94C28CA82E8AE50E94C28C982E18 -:102B6000811105C081E50E94C28CB82E01C0B12C34 -:102B7000CC2069F000E010E020E049E152E065E19E -:102B800072E081E00F94FD27F22EE32E02C0ED2CBF -:102B9000F82C8C2D90E087FC05C0D094DD1CDD2442 -:102BA000DD1C01C0D12C8D0D911D019731F49110C8 -:102BB00009C0B11007C0A11005C00F94C74A82E335 -:102BC00098E509C085E08F1510F08E15C0F40F94BC -:102BD000C74A83E198E526960FB6F894DEBF0FBE8C -:102BE000CDBFDF91CF911F910F91FF90EF90DF90BC -:102BF000CF90BF90AF909F908F900D944B4ACF2C69 -:102C00000F2C000CDD080E2D0E2C000C110BA1104A -:102C100021C00E948B8C9B01AC01BB2099F086E007 -:102C20008C9DF0018D9DF00D1124E00FF11FEE0F32 -:102C3000FF1FEE0FFF1FEA5CFD4E608171818281F4 -:102C4000938103C060E070E0CB010F94C8619B01E9 -:102C5000AC0104C020E030E040EC5FE786E08C9DF2 -:102C6000F0018D9DF00D1124E00FF11FEE0FFF1FFD -:102C7000EE0FFF1FEA5CFD4E2083318342835383B6 -:102C80006E2D8F2D26960FB6F894DEBF0FBECDBFEA -:102C9000DF91CF911F910F91FF90EF90DF90CF9038 -:102CA000BF90AF909F908F900C94739BCF92DF92C8 -:102CB000EF92FF920F931F93CF93DF93CDB7DEB7C1 -:102CC0002C970FB6F894DEBF0FBECDBF83E50E94F0 -:102CD000C28C882349F00E945BE4182F811106C042 -:102CE00080E00F94B14802C01091E6128091150265 -:102CF00090911602A0911702B091180289839A83CD -:102D0000AB83BC838091190290911A02A0911B029F -:102D1000B0911C028D839E83AF83B88780911D0282 -:102D200090911E02A0911F02B091200289879A877C -:102D3000AB87BC878CE40E94C28C882309F452C004 -:102D400080E00F94B1488091921490919314892B54 -:102D500021F00E94878C082F02C0009122130E944C -:102D6000D2C87C01892B91F483EF97E52C960FB69E -:102D7000F894DEBF0FBECDBFDF91CF911F910F91B1 -:102D8000FF90EF90DF90CF900D944B4A07FD07C066 -:102D9000802F002E000C990B8E159F05E4F08BED13 -:102DA00097E50F944B4AB7016150710980ED97E5A3 -:102DB0000F94A84A8AE02C960FB6F894DEBF0FBE97 -:102DC000CDBFDF91CF911F910F91FF90EF90DF90DA -:102DD000CF900C94276660E070E0802F0E94DEC8E0 -:102DE000009322138CE40E94C28C811105C086E5F9 -:102DF0000E94C28C8823F9F060E084E50F94FB10F8 -:102E000090E00E943E9087EC97E50F944B4A0F9418 -:102E1000F049811104C084EC97E50F944B4A60910E -:102E20002213062E000C770B8FEA97E50F94A84A21 -:102E30008AE00E94276686E50E94C28C082F0F94C4 -:102E4000F049882391F083E40E94C28C8823C1F06A -:102E50000E948B8C6B017C0180E00F94B148B7011C -:102E6000A60181E00F94D72E0BC0111102C00023E0 -:102E700039F00F94CB4A80EA97E50F944B4A0DC086 -:102E80008AE50E94C28C882329F00E948B8C40E046 -:102E90000F942949812F0F94B148112351F080914B -:102EA000E612811106C00F94C74A81E897E50F9496 -:102EB0004B4A0F94CB4A83E797E50F944B4A809196 -:102EC000E612811103C08BE09DE002C08FE09DE01F -:102ED0000F944B4A8AE00E9427660F94CB4A86E6FD -:102EE00097E50F944B4AC090C612D090C712E0905D -:102EF000C812F090C91220E030E0A901C701B60164 -:102F00000F942864181644F442E0C701B6010E94E9 -:102F1000C7660E943F6704C081E697E50F944B4A5D -:102F20004CE050E065E172E0CE0101960F943A6604 -:102F3000892B81F02C960FB6F894DEBF0FBECDBF63 -:102F4000DF91CF911F910F91FF90EF90DF90CF9085 -:102F50000C9465C92C960FB6F894DEBF0FBECDBF9A -:102F6000DF91CF911F910F91FF90EF90DF90CF9065 -:102F700008952F923F924F925F926F927F928F921D -:102F80009F92AF92BF92CF92DF92EF92FF920F93F8 -:102F90001F93CF93DF93CDB7DEB7CC59D1090FB6CE -:102FA000F894DEBF0FBECDBF2DB63EB6CB56DF4F79 -:102FB00019821882C559D04084E690E0C956DF4F87 -:102FC00099838883C759D04001E09E012B563F4F1B -:102FD00044E050E0BE016F567F4FCE0189569F4FAF -:102FE0000E94ED639E012B563F4F42E050E0BE0130 -:102FF00067567F4FCE0189569F4F0E94ED6343E095 -:1030000050E0BE016F567F4F8BE893E00F948066CF -:10301000892BB1F0CC56DF4F8881C459D04088232A -:1030200059F08FE3CF56DF4F8883C159D040CE5639 -:10303000DF4F1882C259D04081E0809395147CC53F -:10304000C357DF4F188219821A821B82CD58D04095 -:10305000CB56DF4F19821882C559D04001E09E013E -:103060002B563F4F41E050E0BE0164567F4FCE01EA -:1030700089569F4F0E94ED634DB65EB680E1EBE549 -:10308000F3E0DE01A358BF4F01900D928A95E1F75E -:1030900080E1EBE6F3E0DE01A359BF4F01900D9212 -:1030A0008A95E1F780E1EBE7F3E09E012F5F3F4F68 -:1030B0006901D90101900D928A95E1F7C456DF4F5D -:1030C0004881CC59D04050E04D5F5F4F440F551FB1 -:1030D000440F551F6DB77EB7641B750B0FB6F89480 -:1030E0007EBF0FBE6DBF8DB79EB701965C0100918C -:1030F000961411E001272C563F4FBC01CE01895692 -:103100009F4F0E94ED630091961401279E012B565C -:103110003F4F44E050E060EE71E1CE0189569F4F91 -:103120000E94ED63C456DF4FE880CC59D040F12CAB -:1031300093E0E90EF11CEE0CFF1CEE0CFF1CADB78A -:10314000BEB7AE19BF090FB6F894BEBF0FBEADBF74 -:10315000EDB7FEB731964F012DB73EB72E193F0997 -:103160000FB6F8943EBF0FBE2DBF6DB77EB76F5F31 -:103170007F4F3B010091961401279E012B563F4F34 -:10318000A701BF01CE0189569F4F0E94ED630091B8 -:10319000961401279E012B563F4FA701B301CE0184 -:1031A00089569F4F0E94ED6300919614002309F405 -:1031B0004EC011E001279E012B563F4F44E050E0E6 -:1031C00064E072E1CE0189569F4F0E94ED63009149 -:1031D000961401279E012B563F4F44E050E068E0D3 -:1031E00072E1CE0189569F4F0E94ED6300919614C3 -:1031F00001279E012B563F4F44E050E06CE072E106 -:10320000CE0189569F4F0E94ED63009196140127CD -:103210009E012B563F4F44E050E060E172E1CE0149 -:1032200089569F4F0E94ED630091961401279E01DD -:103230002B563F4F44E050E064E172E1CE018956E5 -:103240009F4F0E94ED6315E0FF24F39472C0C456B3 -:10325000DF4F2881CC59D04030E02E5F3F4FE0ED6A -:10326000F1E180E090E076012817390714F0D501EC -:1032700011C0AC018430910510F043E050E0440FE0 -:10328000551F440F551F6DE770E06C0F7D1F460FF3 -:10329000571FDA014D915D916D917C91419351934E -:1032A000619371932817390714F0D40111C0AC0150 -:1032B0008430910510F043E050E0440F551F440F57 -:1032C000551F6DE670E06C0F7D1F460F571FDA012A -:1032D0004D915D916D917C91408B518B628B738B85 -:1032E0002817390714F0D3010DC0AC0184309105C3 -:1032F00010F043E050E0440F551F440F551F4E0D92 -:103300005F1DDA014D915D916D917C9140A351A3B8 -:1033100062A373A30196B4E06B0E711C44E0840EAB -:10332000911C64E0A60EB11C8430910509F09CCF7D -:1033300040CF115000919614112379F00F259E0172 -:103340002B563F4F44E050E0BE0163577F4FCE0104 -:1033500089569F4F0E94ED63ECCF11E001279E013B -:103360002B563F4F44E050E065E57CE0CE018956A6 -:103370009F4F0E94ED630FB6F8945EBE0FBE4DBE28 -:103380000091961401279E012B563F4F4CE050E0D0 -:103390006BE47AE0CE0189569F4F0E94ED63009165 -:1033A000961401279E012B563F4F41E050E068E6FE -:1033B00072E0CE0189569F4F0E94ED6300919614F2 -:1033C00001279E012B563F4F44E050E0BE016F5F46 -:1033D0007F4FCE0189569F4F0E94ED630091961456 -:1033E00001110CC089819A81AB81BC818093590203 -:1033F00090935A02A0935B02B0935C0211E0012704 -:103400009E012B563F4F44E050E066E173E1CE0150 -:1034100089569F4F0E94ED630091961401279E01EB -:103420002B563F4F44E050E0BE0163577F4FCE0123 -:1034300089569F4F0E94ED6301E09E012B563F4F3E -:1034400041E050E0BE0163597F4FCE0189569F4F46 -:103450000E94ED639E012B563F4F41E050E0BE01BC -:103460006F5F7F4FCE0189569F4F0E94ED63AE96EE -:10347000AFACAE978981A89E50011124E12CF12CAC -:1034800000919614EA14FB0491F001279E012B563B -:103490003F4F44E050E0BE0163577F4FCE01895655 -:1034A0009F4F0E94ED637FEFE71AF70AE9CF11E023 -:1034B00001279E012B563F4F44E050E06AE073E144 -:1034C000CE0189569F4F0E94ED630091961401270B -:1034D0009E012B563F4F44E050E06EE073E1CE0179 -:1034E00089569F4F0E94ED630091961401279E011B -:1034F0002B563F4F44E050E062E173E1CE01895624 -:103500009F4F0E94ED631AE0FF24F394115089F05D -:10351000009196140F259E012B563F4F44E050E03A -:10352000BE0163577F4FCE0189569F4F0E94ED63C6 -:10353000EDCF01E09E012B563F4F41E050E0BE0130 -:1035400065567F4FCE0189569F4F0E94ED639E01C5 -:103550002B563F4F41E050E0BE0163587F4FCE01F4 -:1035600089569F4F0E94ED630091961411E0012748 -:103570009E012B563F4F44E050E0BE0163597F4F00 -:10358000CE0189569F4F0E94ED630091961401274A -:103590009E012B563F4F44E050E0BE016F5F7F4FCE -:1035A000CE0189569F4F0E94ED63C556DF4FA8801C -:1035B000CB59D040EE968FADEE97A89E50011124C6 -:1035C000E12CF12C00919614AE14BF0491F0012768 -:1035D0009E012B563F4F44E050E0BE0163577F4FA2 -:1035E000CE0189569F4F0E94ED638FEFE81AF80ACB -:1035F000E9CF11E001279E012B563F4F41E050E0FB -:1036000066EE72E1CE0189569F4F0E94ED630091F4 -:10361000961401279E012B563F4F41E050E062E295 -:1036200073E1CE0189569F4F0E94ED63009196147D -:1036300001279E012B563F4F44E050E0BE016F5FD3 -:103640007F4FCE0189569F4F0E94ED6300919614E3 -:1036500001279E012B563F4F41E050E064E974E1A1 -:10366000CE0189569F4F0E94ED6300919614012769 -:103670009E012B563F4F44E050E0BE0163597F4FFF -:10368000CE0189569F4F0E94ED6300919614012749 -:103690009E012B563F4F44E050E0BE016F5F7F4FCD -:1036A000CE0189569F4F0E94ED6300919614012729 -:1036B0009E012B563F4F42E050E0BE0163587F4FC2 -:1036C000CE0189569F4F0E94ED6300919614012709 -:1036D0009E012B563F4F40E150E0BE016F5F7F4F90 -:1036E000CE0189569F4F0E94ED63009196140111FF -:1036F0002EC089809A80AB80BC8020E030E84BE30C -:1037000055E4C501B4010F94D25A882301F1809287 -:103710008F0C9092900CA092910CB092920C8D8193 -:103720009E81AF81B8858093930C9093940CA09365 -:10373000950CB093960C89859A85AB85BC85809352 -:10374000970C9093980CA093990CB0939A0C11E05D -:1037500001279E012B563F4F42E050E0BE016F5FB4 -:103760007F4FCE0189569F4F0E94ED6300919614C2 -:1037700001279E012B563F4F4CE050E0BE016F5F8A -:103780007F4FCE0189569F4F0E94ED6300919614A2 -:10379000011115C020E030E84BE355E469817A81DE -:1037A0008B819C810F94D25A882349F08CE0FE01D2 -:1037B0003196A7E2BAE001900D928A95E1F711E007 -:1037C00001279E012B563F4F42E050E0BE016F5F44 -:1037D0007F4FCE0189569F4F0E94ED630091961452 -:1037E00001279E012B563F4F41E050E0BE016F5F25 -:1037F0007F4FCE0189569F4F0E94ED630091961432 -:1038000001279E012B563F4F40E250E0BE016F5F03 -:103810007F4FCE0189569F4F0E94ED630091961411 -:1038200001279E012B563F4F41E050E0BE016359F6 -:103830007F4FCE0189569F4F0E94ED6300919614F1 -:1038400001279E012B563F4F45E050E0BE016F5FC0 -:103850007F4FCE0189569F4F0E94ED6300919614D1 -:1038600001110FC089818093DD128A819B81AC8117 -:10387000BD818093E2129093E312A093E412B0937F -:10388000E51211E001279E012B563F4F4AE150E01F -:10389000BE016F5F7F4FCE0189569F4F0E94ED633F -:1038A0000091961401279E012B563F4F44E350E0B0 -:1038B000BE016F5F7F4FCE0189569F4F0E94ED631F -:1038C0000091961401279E012B563F4F48E050E08F -:1038D000BE016F5F7F4FCE0189569F4F0E94ED63FF -:1038E0000091961401279E012B563F4F4DE050E06A -:1038F000BE016F5F7F4FCE0189569F4F0E94ED63DF -:103900000091961401279E012B563F4F44E050E052 -:10391000BE016F5F7F4FCE0189569F4F0E94ED63BE -:103920000091961401110CC089819A81AB81BC81F0 -:1039300080939B0C90939C0CA0939D0CB0939E0C39 -:1039400011E001279E012B563F4F4CE050E0B6019D -:10395000CE0189569F4F0E94ED6300919614012776 -:103960009E012B563F4F4CE650E0B601CE018956E2 -:103970009F4F0E94ED6319821A821B821C821D8256 -:103980001E821F82188619861A861B861C86009145 -:10399000961401279E012B563F4F4CE050E0B60194 -:1039A000CE0189569F4F0E94ED6300919614012726 -:1039B0009E012B563F4F48E050E06AE173E1CE0193 -:1039C00089569F4F0E94ED630091961401279E0136 -:1039D0002B563F4F44E050E0B601CE0189569F4F31 -:1039E0000E94ED630091961401279E012B563F4FD4 -:1039F00044E050E0BE016B5F7F4FCE0189569F4F80 -:103A00000E94ED630091961401279E012B563F4FB3 -:103A100044E050E0BE01675F7F4FCE0189569F4F63 -:103A20000E94ED630091961401279E012B563F4F93 -:103A300041E050E0BE0163587F4FCE0189569F4F51 -:103A40000E94ED630091961401279E012B563F4F73 -:103A500044E050E0BE0163597F4FCE0189569F4F2D -:103A60000E94ED6380E3D6011D928A95E9F70091EB -:103A7000961401279E012B563F4F40E350E0B601BC -:103A8000CE0189569F4F0E94ED638091961481115B -:103A900004C081E698E00E944567C956DF4F8881DF -:103AA0009981C759D04021E0803FB2E09B0709F4DB -:103AB00020E020939514803F924091F4CB56DF4F45 -:103AC00028813981C559D040C756DF4F88819981F7 -:103AD000C959D0402817390719F081E0809395140F -:103AE00080919614811106C080919514811102C0B5 -:103AF0000F94AC038091961481111EC00F945A4A02 -:103B00000E94D2C8892BF9F485E699E50F944B4AB7 -:103B100081E08093951483E99AE30F944B4A0F94C4 -:103B2000D9488091221387FD05C060E070E00E94B3 -:103B3000DEC802C00F94D9488091961481110BC041 -:103B40000E9416CA08C08AE00E94276683E99AE3A9 -:103B50000F944B4AE6CF9091951481E089270FB6D8 -:103B6000F8943EBE0FBE2DBEC456DF4F0FB6F8947C -:103B7000DEBF0FBECDBFDF91CF911F910F91FF90A0 -:103B8000EF90DF90CF90BF90AF909F908F907F90FD -:103B90006F905F904F903F902F9008958F929F92DB -:103BA000AF92BF92CF92DF92EF92FF920F931F934B -:103BB000CF93DF9381E0809396140F94B9171092FE -:103BC0009614882309F4E1C00F94B917D82E84E71E -:103BD00098E00E9445670F94F049882309F47FC05C -:103BE000F12CEE24E39400E010E0D1E036E0C32EA7 -:103BF000C0E0BB24B39446E0A42E55E0952E62E8C5 -:103C0000862EEB24CC16F1F18F2D90E08397C4F52E -:103C1000C530B1F10530A1F1F394F801AC9EE00D8F -:103C2000F11D1124EE0FFF1FEE0FFF1FEA5CFD4E8A -:103C300020E030E04AE754E4608171818281938121 -:103C40000F94385B0F9434637093F1166093F01601 -:103C50009092E4168092E7164F2D50E04158574F4E -:103C6000440F551F052E000C660B770B4093E8168A -:103C70005093E9166093EA167093EB160F94E632B0 -:103C8000CD0FC0CF0F5F1F4F0630110561F0E1105F -:103C900005C0DFEFCC24CA94C5E0B3CFD1E026E065 -:103CA000C22EC0E0AECF83E090E09093F1168093F7 -:103CB000F01685E08093E41682E88093E71685E4A9 -:103CC00090E1A0E0B0E08093E8169093E916A0930D -:103CD000EA16B093EB160F94E63281E01BC082E047 -:103CE00090E09093F1168093F01685E08093E416AF -:103CF00082E88093E71685E490E1A0E0B0E080934D -:103D0000E8169093E916A093EA16B093EB160F9479 -:103D1000E63280E00F94B148409112135091131392 -:103D200060911413709115138CE899E50F94974ADC -:103D30008AE00E94276620E030E048EC52E460917F -:103D400012137091131380911413909115130F9403 -:103D5000385B0F9434637093F1166093F01685E02E -:103D60008093E41682E88093E71686E290E1A0E073 -:103D7000B0E08093E8169093E916A093EA16B0930A -:103D8000EB160F94E6328D2D0BC00E9488C70E945F -:103D900087FF0F94CB4A85EA99E50F944B4A80E060 -:103DA000DF91CF911F910F91FF90EF90DF90CF9017 -:103DB000BF90AF909F908F90089563E00D94043C66 -:103DC0009091570AE92FF0E0E25BF84E80839F5F05 -:103DD000943018F49093570A02C01092570A8091B9 -:103DE000DB0B8F5F8093DB0B0895CF93DF93EC01A8 -:103DF0008881882349F18A3039F18D3029F18B335C -:103E0000F9F08091DB0B8430D8F48091570A20E6DA -:103E1000829FC0011124BE01865A954F0F94796686 -:103E200080E00F94E01E0F94CB4ABE0181E99AE531 -:103E30000F94B44A8EE89AE5DF91CF910D944B4AE6 -:103E400080E00E946B67D4CFDF91CF910895CF922D -:103E5000DF92EF92FF928AE50E940B8D882321F179 -:103E60000E948B8C6B017C0120E030E040EA51EC39 -:103E70000F94286487FD13C020E030E040EA51E44D -:103E8000C701B6010F94D25A18164CF0C092121303 -:103E9000D0921313E0921413F09215138FC00F9465 -:103EA000C74A81E79AE528C088E50E940B8D8823E0 -:103EB00049F10E948B8C6B017C0120E030E044EBE7 -:103EC00053EC0F94286487FD13C020E030E044EBEE -:103ED00053E4C701B6010F94D25A18164CF0C092A1 -:103EE0000A13D0920B13E0920C13F0920D1366C0DC -:103EF0000F94C74A81E59AE5FF90EF90DF90CF904D -:103F00000D944B4A89E50E940B8D882321F10E9474 -:103F10008B8C6B017C0120E030E044EB53EC0F9480 -:103F2000286487FD13C020E030E044EB53E4C70170 -:103F3000B6010F94D25A18164CF0C0920E13D092BC -:103F40000F13E0921013F092111338C00F94C74A68 -:103F500081E39AE5D1CF0F94CB4A40910A13509157 -:103F60000B1360910C1370910D1380E29AE50F947E -:103F7000974A8AE00E94276640910E1350910F13D2 -:103F800060911013709111138FE09AE50F94974A86 -:103F90008AE00E942766409112135091131360919A -:103FA0001413709115138EEF99E50F94974A8AE0D8 -:103FB000FF90EF90DF90CF900C942766FF90EF90EA -:103FC000DF90CF9008958F929F92AF92BF92CF9241 -:103FD000DF92EF92FF920F931F93CF9310923512BF -:103FE000109234122FE32093B7141092B61410924B -:103FF000B5141092B1141092B2141092B31410921E -:10400000B4149C01F90190812F5F3F4F9032D1F39E -:104010009E34C9F4818190ED980F9A3020F08D3252 -:1040200011F08B3281F4DF0112969D012F5F3F4F1B -:104030008C9180538A3010F4D901F7CFFD0111968D -:1040400080818032D9F3F093D418E093D3188F0194 -:104050000F5F1F4FC0816AE270E0C8010F946E6667 -:10406000009731F0FC01319780818032E1F31182B9 -:10407000CD3429F0C43519F0C73409F000C1F80176 -:1040800080810F5F1F4F8032D1F380538A3008F058 -:10409000F6C0C093B7141092B6141092B5144AE04B -:1040A0008091B5149091B614489F9001499F300DAE -:1040B00011243093B6142093B5143196DF01119773 -:1040C0008C91082E000C990BC097820F931F909330 -:1040D000B6148093B514208120532A3008F3DF01F1 -:1040E00031962C912032D9F3CD34D1F48E31910513 -:1040F00091F03CF48731910571F08C31910581F498 -:104100000AC08537910564F08737910524F0803A1D -:1041100023E0920729F4B0933512A0933412AFC074 -:1041200010923512109234121091D318C12CD12C48 -:104130007601C394FD0131964C91442309F49FC04C -:104140004132A1F4CD3491F48032910579F4F093A9 -:104150003512E093341263E270E0CF010F946E6683 -:10416000009709F48CC0FC01108289C041544A3187 -:1041700008F059C0BF01FB0120816F5F7F4F2032E3 -:10418000D1F330ED320F3A3010F12E3211F421819B -:104190000CC02D3211F02B3259F4218130ED320F49 -:1041A0003A30A8F02E3221F4228120532A3078F0C0 -:1041B0002091341230913512232B09F05DC09F01FC -:1041C00021503109309335122093341255C09F018C -:1041D000A42FB0E04601570104C0880C991CAA1C0A -:1041E000BB1C4A95D2F7B501A4018090B114909000 -:1041F000B214A090B314B090B414482959296A2974 -:104200007B294093B1145093B2146093B31470930C -:10421000B4142115310511F0211B01C020E0A9566D -:10422000BB4E2C930AC02091341230913512232BAF -:1042300021F4B0933512A0933412208121542A31F5 -:1042400010F4DF0177CFAF01FA01DA012D912223BB -:10425000C1F330ED320F3A3010F4AD01F5CF33ED4C -:10426000320F3230D0F32B32C1F3FA014F5F5F4F80 -:1042700020812032D1F3E5CF20E030E0A9CFCF91EB -:104280001F910F91FF90EF90DF90CF90BF90AF9074 -:104290009F908F9008952F923F924F925F926F92CE -:1042A0007F928F929F92AF92BF92CF92DF92EF92C6 -:1042B000FF920F931F93CF93DF93CDB7DEB7C45414 -:1042C000D1090FB6F894DEBF0FBECDBF9AA789A75C -:1042D0007CAB6BAB142FDB018D909D90AD90BC90AF -:1042E00013972401350177FA709477F87094149637 -:1042F000CD90DD90ED90FC901797A7019601505856 -:10430000298F3A8F4B8F5C8FA3019201C301B201B9 -:104310000F94385B69A37AA38BA39CA3298D3A8D54 -:104320004B8D5C8DCA01B9010F94385B9B01AC01C8 -:1043300069A17AA18BA19CA10F94C8610F94C66456 -:104340006DAB7EAB8FAB98AF80911D0290911E023A -:10435000A0911F02B091200289A39AA3ABA3BCA392 -:1043600020911502309116024091170250911802C7 -:104370002D8B3E8B4F8B588FC501B4010F94C861B4 -:1043800021966CAF7DAF8EAF9FAF219780911902C0 -:1043900090911A02A0911B02B0911C028DA39EA3C2 -:1043A000AFA3B8A79C01AD01C701B6010F94C861C6 -:1043B00025966CAF7DAF8EAF9FAF2597A9A5BAA507 -:1043C0002D913D914D915C912BA73CA74DA75EA7E8 -:1043D00021962CAD3DAD4EAD5FAD21976BA57CA573 -:1043E0008DA59EA50F94C7616B017C01A9A5BAA5F7 -:1043F00014962D913D914D915C9117972FA738AB55 -:1044000049AB5AAB25962CAD3DAD4EAD5FAD259772 -:104410006FA578A989A99AA90F94C7614B015C017E -:1044200029A13AA14BA15CA1E9A5FAA560857185F6 -:10443000828593850F94C7616D8F7E8F8F8F98A330 -:10444000A7019601C301B2010F94385B69AF7AAF3F -:104450008BAF9CAFA5019401698D7A8D8B8D9C8D5E -:104460000F94385B9B01AC0169AD7AAD8BAD9CAD0F -:104470000F94C86169AF7AAF8BAF9CAFA50194016F -:10448000C301B2010F94385B4B015C01A701960197 -:10449000698D7A8D8B8D9C8D0F94385B9B01AC015F -:1044A000C501B4010F94C76129AD3AAD4BAD5CAD08 -:1044B0000F9447626B017C0120E030E0A9010F946A -:1044C000D25A87FF0AC02BED3FE049EC50E4C70108 -:1044D000B6010F94C8616B017C012BED3FE049EC04 -:1044E00050E4C701B6010F94C26220E030E040EC16 -:1044F00051E40F94385B0F94A6620F943B631B0149 -:10450000672B19F422242394312C112351F02BED25 -:104510003FE049EC50E4C701B6010F94C7616B015D -:104520007C0120E030E0A901C701B6010F94D25A06 -:10453000811123C02BA53CA54DA55EA56D897E8963 -:104540008F89988D0F94D25A811117C02FA538A941 -:1045500049A95AA96DA17EA18FA198A50F94D25AFD -:1045600081110BC038E1232E312C4BEDC42E4FE0CE -:10457000D42E49ECE42E40E4F42E2DA93EA94FA9F7 -:1045800058ADC701B6010F94385B4B015C0120E0C8 -:1045900030E0A9016D8D7E8D8F8D98A10F94D25A38 -:1045A0008823D9F0A5019401C501B4010F94385BAB -:1045B0004B015C012D8D3E8D4F8D58A1CA01B90173 -:1045C0000F94385B9B01AC01C501B4010F94C86125 -:1045D0000F94C6644B015C010DC020E030E0A901DE -:1045E000C501B4010F94286487FF04C0B7FAB094E2 -:1045F000B7F8B0942FE632E143E85AE3C501B401BD -:104600000F94D25A87FD0AC22091210230912202D2 -:1046100040912302509124022D8B3E8B4F8B588F5B -:10462000C501B4010F946A630F943B637EA36DA32D -:104630006215730510F43EA22DA2ADA1BEA1BD016D -:1046400080E090E00F94D75A4B015C019B01AC01D4 -:10465000C701B6010F94C2626D8F7E8F8F8F98A3B2 -:104660002D893E894F89588DE9A5FAA56485758500 -:10467000868597850F94C761A50194010F94C26246 -:104680006DAB7EAB8FAB98AF2D8D3E8D4F8D58A10E -:10469000CA01B9010F94385B20E030E040E05FE3ED -:1046A0000F94385B9B01AC0160E070E080E89FE311 -:1046B0000F94C7616FA778AB89AB9AAB29A13AA1D8 -:1046C0004BA15CA129873A874B875C878D899E899E -:1046D000AF89B88D8D879E87AF87B88B6091440274 -:1046E00070914502072E000C880B990B0F94D95A34 -:1046F0002091550230915602409157025091580234 -:104700000F94385B2AE037ED43E25CE30F94385BAB -:10471000698B7A8B8B8B9C8B0F9406409B01AC0131 -:1047200028533F4F4F4F5F4F2BA73CA74DA75EA786 -:1047300022242394312C39E13D8B4DA15EA1241616 -:10474000350608F025C10F94D9400F940640DC01CE -:10475000CB012BA53CA54DA55EA5821B930BA40BFD -:10476000B50BB7FD0FC00F9406409B01AC01285359 -:104770003F4F4F4F5F4F2BA73CA74DA75EA780E051 -:104780000E946B673D8931503D8B3323E9F12FA5A2 -:1047900038A949A95AA9698D7A8D8B8D9C8D0F9462 -:1047A000385B6B017C012D8D3E8D4F8D58A1C3016F -:1047B000B2010F94385BA70196010F94C8616B0199 -:1047C0007C012FA538A949A95AA9C301B2010F94A8 -:1047D000385B4B015C012D8D3E8D4F8D58A1698D4D -:1047E0007A8D8B8D9C8D0F94385B9B01AC01C5013C -:1047F000B4010F94C7612B013C01C601D701898F19 -:104800009A8FAB8FBC8F66C0B10180E090E00F94AF -:10481000D75A2D8D3E8D4F8D58A10F94385B6B016B -:104820007C010F94BD62698F7A8F8B8F9C8FC7013B -:10483000B6010F94B8644B015C01ABA9BCA9CD9043 -:10484000DD90ED90FC901397F7FAF094F7F8F09460 -:1048500014962D913D914D915C9117972D8B3E8B28 -:104860004F8B588FA7019601698D7A8D8B8D9C8D0A -:104870000F94385B2B013C012D893E894F89588D5F -:10488000C501B4010F94385B9B01AC01C301B201B7 -:104890000F94C8612B013C01A7019601C501B40129 -:1048A0000F94385B6B017C012D893E894F89588DAF -:1048B000698D7A8D8B8D9C8D0F94385B9B01AC013B -:1048C000C701B6010F94C761698F7A8F8B8F9C8F58 -:1048D000B9E1BD8B21962CAD3DAD4EAD5FAD2197BD -:1048E000C301B2010F94C86169837A838B839C836F -:1048F00025962CAD3DAD4EAD5FAD2597698D7A8D7A -:104900008B8D9C8D0F94C8616D837E838F83988778 -:1049100029A13AA14BA15CA129873A874B875C87E3 -:104920002DA93EA94FA958AD6D857E858F859889A3 -:104930000F94C8616D877E878F87988BCE01019613 -:104940000E945CA9AE01475F5F4FBE016B5F7F4F66 -:10495000CE0101960E9465C4C12CD12C90E8E92EAD -:104960009FE3F92E8E010F5E1F4F9E01235F3F4F85 -:10497000AE01475F5F4FBE016B5F7F4FCE01019677 -:104980000E94148A882321F03FEF231A330AD5CEE0 -:1049900080E1E9A5FAA5DE01119601900D928A95B4 -:1049A000E1F789A19AA1ABA1BCA189879A87AB87BE -:1049B000BC87CE0101960E945CA9AE01475F5F4FA4 -:1049C000BE016B5F7F4FCE0101960E9465C4C12C72 -:1049D000D12C80E8E82E8FE3F82E8E010F5E1F4F5A -:1049E0009E01235F3F4FAE01475F5F4FBE016B5F8C -:1049F0007F4FCE0101960E94148A29A13AA14BA1B2 -:104A00005CA129873A874B875C8780E1FE0131965C -:104A1000A5E1B2E001900D928A95E1F7CC5BDF4F02 -:104A20000FB6F894DEBF0FBECDBFDF91CF911F91BF -:104A30000F91FF90EF90DF90CF90BF90AF909F903D -:104A40008F907F906F905F904F903F902F90089540 -:104A50000F931F93CF938C01C62F89EF99E50F9485 -:104A60004B4AC8010F944B4A8AE30E9427666AE0CA -:104A700070E08C2F90E00E94B766CF911F910F914C -:104A80000C943F67EF92FF921F93CF93DF93CDB7C4 -:104A9000DEB7C454D1090FB6F894DEBF0FBECDBF48 -:104AA00084E40E94C28C882309F44DC18FEE99E5FD -:104AB0000F944B4A2091FE123091FF124091001347 -:104AC00050910113609115027091160280911702A6 -:104AD000909118020F94C86169AF7AAF8BAF9CAF09 -:104AE0002091021330910313409104135091051348 -:104AF0006091190270911A0280911B0290911C0220 -:104B00000F94C86121966CAF7DAF8EAF9FAF219798 -:104B10002091061330910713409108135091091307 -:104B200060911D0270911E0280911F0290912002DF -:104B30000F94C86125966CAF7DAF8EAF9FAF259760 -:104B4000CE01C9960F94DD1E86EE99E50F944B4A6F -:104B500085E192E00F94DD1E80911502909116027E -:104B6000A0911702B09118028DA79EA7AFA7B8AB6E -:104B70008091190290911A02A0911B02B0911C021F -:104B800089AB9AABABABBCAB80911D0290911E027E -:104B9000A0911F02B09120028DAB9EABAFABB8AF1E -:104BA0008DED99E50F944B4AAE014B5C5F4FBE0112 -:104BB0006F5C7F4FCE018D960E9465C4CE018D96AD -:104BC0000F94DD1E84ED99E50F944B4A8DA59EA5AB -:104BD000AFA5B8A989A39AA3ABA3BCA389A99AA995 -:104BE000ABA9BCA98DA39EA3AFA3B8A78DA99EA96D -:104BF000AFA9B8AD89A79AA7ABA7BCA7CE018196EC -:104C00000E942BC4CE0181960F94DD1E0E941AC211 -:104C10008BEC99E50F944B4A81EAE82E83E0F82E5D -:104C200010E080E20E942766F70181917F010E94D7 -:104C300027668AE30E942766812F0F9408450E9409 -:104C40009B661F5F143069F78AE00E94276682EC3A -:104C500099E50F944B4A0E94FCC5809123139091D3 -:104C60002413A0912513B0912613898B9A8BAB8BBB -:104C7000BC8B8091271390912813A0912913B09198 -:104C80002A138D8B9E8BAF8BB88F80912B139091B5 -:104C90002C13A0912D13B0912E13898F9A8FAB8F67 -:104CA000BC8F83E00E9498C36D8F7E8F8F8F98A3F7 -:104CB00064E0CE0141960F94043C2DA53EA54FA57E -:104CC00058A969897A898B899C890F94C7616983FE -:104CD0007A838B839C8329A93AA94BA95CA96D8906 -:104CE0007E898F89988D0F94C7616D837E838F83B2 -:104CF00098872DA93EA94FA958AD698D7A8D8B8DC6 -:104D00009C8D0F94C76169877A878B879C872091D8 -:104D100021023091220240912302509124026D8D94 -:104D20007E8D8F8D98A10F94C7616D877E878F8749 -:104D3000988B89EB99E50F944B4A64E0CE0101967C -:104D40000F94043C04C00E941AC20E9465C9CC5B47 -:104D5000DF4F0FB6F894DEBF0FBECDBFDF91CF910E -:104D60001F91FF90EF9008954F925F926F927F9204 -:104D70008F929F92AF92BF92CF92DF92EF92FF926B -:104D80000F931F93CF93DF93CDB7DEB77C014DB662 -:104D90005EB66090D3187090D4188DB69EB66AE057 -:104DA00070E0C7010F94155A6C01009721F08C0137 -:104DB0000E191F0904C0C7010F94205A8C01C801A5 -:104DC00001962DB73EB7281B390B0FB6F8943EBF9E -:104DD0000FBE2DBF8DB79EB701965C01A801B7012C -:104DE0000F94415AF501E00FF11F1082C5010F9495 -:104DF000E31F81E00E94B64CC114D10451F076014A -:104E00009FEFE91AF90A0FB6F8949EBE0FBE8DBE49 -:104E1000C4CF0FB6F8949EBE0FBE8DBEC3010F94D3 -:104E2000E31F0FB6F8945EBE0FBE4DBEDF91CF916B -:104E30001F910F91FF90EF90DF90CF90BF90AF90B8 -:104E40009F908F907F906F905F904F900895CF9339 -:104E5000DF93C091DA0B80E6C89FE0011124C65AA7 -:104E6000D54F8091CF1180FF05C00F94CB4ACE0162 -:104E70000E944567CE010F94E31F80E0DF91CF9140 -:104E80000C94B64CFC01208131816217730714F435 -:104E90007183608308953F924F925F926F927F92E9 -:104EA0008F929F92AF92BF92CF92DF92EF92FF923A -:104EB0000F931F93CF93DF93D82EC62E342E422EFE -:104EC000062F10E036E0732EE82EF12CE801789ED4 -:104ED000C00DD11D1124CC0FDD1FCC0FDD1FCA5C0E -:104EE000DD4E688179818A819B819B01AC010F94A1 -:104EF00015658823E1F1532C5D0C642C6C0C272D77 -:104F0000352D3203F0011124E60DF11D67FCFA95F1 -:104F1000EE0FFF1FEE0FFF1FEA5CFD4E80809180B9 -:104F2000A280B380A5019401C501B4010F94156559 -:104F300081111DC0232D250D640C372D2303F00195 -:104F40001124E60DF11D67FCFA95EE0FFF1FEE0F21 -:104F5000FF1FEA5CFD4E4080518062807380A30198 -:104F60009201C301B2010F941565882311F080E00E -:104F700032C0A3019201C501B4010F94D25A87FF38 -:104F800005C088829982AA82BB820EC0A5019401C5 -:104F9000C501B4010F94C861A30192010F94C761C8 -:104FA000688379838A839B8386E08E9DF0018F9D41 -:104FB000F00D1124E00FF11FEE0FFF1FEE0FFF1F8A -:104FC000EA5CFD4E20813181428153816C2D8D2D13 -:104FD0000E94739B81E0DF91CF911F910F91FF9011 -:104FE000EF90DF90CF90BF90AF909F908F907F9089 -:104FF0006F905F904F903F9008952F923F924F9205 -:105000005F926F927F928F929F92AF92BF92CF9258 -:10501000DF92EF92FF920F931F93CF93DF93CDB761 -:10502000DEB7EA970FB6F894DEBF0FBECDBF8BA7F1 -:105030007DA76CA75FA74EA728AB1AAB09AB8FEF74 -:105040008E8F8E8D8D8F83EF9FE4A3ECB7EC8F8FC7 -:1050500098A3A9A3BAA38CA59DA5FC01E080F1802B -:105060000281138188A9882349F080910A139091C5 -:105070000B13A0910C13B0910D1303C080E090E0CE -:10508000DC019C01AD01C801B7010F94C861DC01CE -:10509000CB018F839887A987BA878EA59FA5FC012E -:1050A000E080F1800281138188A9882349F08091F2 -:1050B0000E1390910F13A0911013B091111303C010 -:1050C00080E090E0DC019C01AD01C801B7010F94C4 -:1050D000C861DC01CB018B879C87AD87BE878FEFD2 -:1050E0009FE4A3ECB7E489839A83AB83BC831D82DE -:1050F0008D8186300CF0D3C11E828E8186300CF0FB -:10510000CAC18BA5882329F58D81282F880F330BE1 -:105110008E81482F880F550BC901880F991F820F68 -:10512000931F880F991F840F951F880F991F880F51 -:10513000991F8A5C9D4EFC0180819181A281B3817F -:105140009C01AD01BC01CD010F941565882309F0C8 -:1051500057C08BA5813021F58D81282F880F330B07 -:105160008E81482F880F550BC901880F991F820F18 -:10517000931F880F991F840F951F880F991F880F01 -:10518000991F8A5C9D4EFC0180819181A281B3812F -:105190009C01AD01BC01CD010F941565882381F1FF -:1051A0008BA5823079F52E813D8189A99AA99A8BA8 -:1051B000898B388B2F878F85882F90E0880F991FD8 -:1051C00029893A89820F931FFC0180819181CC014A -:1051D000A0E0B0E02889222F30E004C0B695A79562 -:1051E000979587952A95D2F781709927AA27BB278B -:1051F00021E0892B8A2B8B2B09F420E0222311F04C -:1052000081E001C080E0882309F441C18D810E94C2 -:10521000558DDC01CB018BA39CA3ADA3BEA38E81D6 -:105220000E94278DDC01CB018FA398A7A9A7BAA75D -:1052300088A9882361F09E01295D3F4FCE018396A6 -:10524000B9010E94218F982F81E089270FC08FA17B -:1052500098A5A9A5BAA59E012D5D3F4FAC01BD0142 -:10526000C9010E94C5BC982F81E08927882309F0D5 -:105270000DC18BA19CA1ADA1BEA19C01AD016F810F -:10528000788589859A850F94C761DC01CB016C0113 -:105290007D018BA19CA1ADA1BEA19C01AD016F813F -:1052A000788589859A850F94C761DC01CB019C01C3 -:1052B000AD01C701B6010F94385BDC01CB016C0175 -:1052C0007D018FA198A5A9A5BAA59C01AD016B850B -:1052D0007C858D859E850F94C761DC01CB018BABEE -:1052E0009CABADABBEAB8FA198A5A9A5BAA59C01FF -:1052F000AD016B857C858D859E850F94C761DC0132 -:10530000CB019C01AD016BA97CA98DA99EA90F942D -:10531000385BDC01CB019C01AD01C701B6010F94E4 -:10532000C861DC01CB01BC01CD010F94C664DC0176 -:10533000CB018B8B9C8BAD8BBE8B8091150290919A -:105340001602A0911702B09118022BA13CA14DA109 -:105350005EA1BC01CD010F94C761DC01CB016C01E2 -:105360007D018091150290911602A0911702B091D3 -:1053700018022BA13CA14DA15EA1BC01CD010F944F -:10538000C761DC01CB019C01AD01C701B6010F94DF -:10539000385BDC01CB016C017D0180911902909199 -:1053A0001A02A0911B02B0911C022FA138A549A599 -:1053B0005AA5BC01CD010F94C761DC01CB018FABB5 -:1053C00098AFA9AFBAAF8091190290911A02A0913B -:1053D0001B02B0911C022FA138A549A55AA5BC01FA -:1053E000CD010F94C761DC01CB019C01AD016FA918 -:1053F00078AD89AD9AAD0F94385BDC01CB019C018F -:10540000AD01C701B6010F94C861DC01CB01BC013D -:10541000CD010F94C664DC01CB012DEC3CEC4CECCF -:105420005DE3BC01CD010F94385BDC01CB019C0135 -:10543000AD016B897C898D899E890F94C861DC01DF -:10544000CB018B8B9C8BAD8BBE8B29813A814B81A1 -:105450005C816B897C898D899E890F94D25A8823BF -:10546000B4F48B899C89AD89BE8989839A83AB8387 -:10547000BC838D818D8F8E818E8F89819A81AB8146 -:10548000BC818F8F98A3A9A3BAA301C000008E810D -:105490008F5F8E8332CE8D818F5F8D8329CE86E0A4 -:1054A000FE017D96DE01579601900D928A95E1F7F7 -:1054B00050E05F8940E0488D30E0398D20E02A8D52 -:1054C00090E09B8D80E08C8D252E342E432E522E25 -:1054D000692E782EA22CB32CC42CD52CE62CF72CBC -:1054E000082D192D2A2D3B2D4C2D5D2D6E2D7F2D38 -:1054F000802F912FEA960FB6F894DEBF0FBECDBF76 -:10550000DF91CF911F910F91FF90EF90DF90CF909F -:10551000BF90AF909F908F907F906F905F904F90D3 -:105520003F902F9008952F923F924F925F926F92EB -:105530007F928F929F92AF92BF92CF92DF92EF9223 -:10554000FF920F931F93CF93DF93CDB7DEB7A4974E -:105550000FB6F894DEBF0FBECDBF19821A828FEF4F -:10556000888F888D8F8B8FEF9FE4A3ECB7EC898FAA -:105570009A8FAB8FBC8F1B828B8186300CF054C10D -:105580001C828C8186300CF04BC18B81282F880FB8 -:10559000330B8C81482F880F550BC901880F991F39 -:1055A000820F931F880F991F840F951F880F991FD3 -:1055B000880F991F8A5C9D4EFC0180819181A28198 -:1055C000B38111E09C01AD01BC01CD010F941565C3 -:1055D000882309F410E0112309F41EC18B810E9475 -:1055E000558DDC01CB018D8F9E8FAF8FB8A38C8141 -:1055F0000E94278DDC01CB0189A39AA3ABA3BCA396 -:105600009E012F5D3F4FCE014D96B9010E94218F23 -:10561000982F81E08927882309F0FDC081E08983E4 -:105620008FEF8D838FEF8E8383EF9FE4A3ECB7E43E -:105630008F839887A987BA871B868B8586300CF065 -:10564000C9C01C868C8586300CF0C0C08B85282F85 -:10565000880F330B8C85482F880F550BC901880F95 -:10566000991F820F931F880F991F840F951F880F12 -:10567000991F880F991F8A5C9D4EFC018081918142 -:10568000A281B38110E09C01AD01BC01CD010F945A -:105690001565882309F411E0112309F493C081E012 -:1056A0008A838B81282F880F330B8B85082E000C63 -:1056B000990BA901481B590B8B81282F880F330B9D -:1056C0008B85082E000C990BB901681B790BCB0157 -:1056D000489F9001499F300D589F300D11248C81B7 -:1056E000482F880F550B8C85082E000C990BBA019A -:1056F000681B790B8C81482F880F550B8C85082EE1 -:10570000000C990B481B590B649FC001659F900DBD -:10571000749F900D1124820F931F092E000CAA0B69 -:10572000BB0BBC01CD010F94D95ADC01CB01BC01EC -:10573000CD010F94C6646B017C010F940640DC011F -:10574000CB012FE230E040E050E0BC01CD010F94EE -:105750002861DC01CB010D96A11DB11DBC01CD015D -:105760000F94D75ADC01CB019C01AD0160E070E0E1 -:1057700080E89FE30F94C262DC01CB019C01AD0184 -:10578000C701B6010F94C861DC01CB018D879E87EC -:10579000AF87B88B2F81388549855A856D857E8581 -:1057A0008F8598890F94D25A882364F48D859E85BD -:1057B000AF85B8898F839887A987BA878B818D83B6 -:1057C0008C818E838C858F5F8C873CCF8B858F5FA0 -:1057D0008B8733CF8A818823F9F08D818823E4F089 -:1057E000898D9A8DAB8DBC8D2F81388549855A85E1 -:1057F000BC01CD010F94D25A882374F48F8198850F -:10580000A985BA85898F9A8FAB8FBC8F8D818F8B3D -:105810008E81888F01C000008C818F5F8C83B1CE18 -:105820008B818F5F8B83A8CE9A8181E08927882323 -:1058300079F08981882361F083E08F8B83E0888F02 -:1058400080E090E0A0E8BFE3898F9A8FAB8FBC8F98 -:1058500086E0FE017796DE01519601900D928A95C1 -:10586000E1F750E0598940E04A8930E03B8920E087 -:105870002C8990E09D8980E08E89252E342E432E40 -:10588000522E692E782EA22CB32CC42CD52CE62CAB -:10589000F72C082D192D2A2D3B2D4C2D5D2D6E2D0D -:1058A0007F2D802F912FA4960FB6F894DEBF0FBEE8 -:1058B000CDBFDF91CF911F910F91FF90EF90DF90BF -:1058C000CF90BF90AF909F908F907F906F905F90A0 -:1058D0004F903F902F90089581E09091CD149111B9 -:1058E00001C080E00D94B1488091E6128093CD1400 -:1058F00080E00D94B1481F93CF93DF93CDB7DEB70F -:1059000027970FB6F894DEBF0FBECDBF1982109255 -:10591000C7141092C8141092C9141092CA1410928D -:10592000C6141092C51488E50E940B8D8093CC1488 -:105930008091CC14882329F00E948B8CDC01CB0150 -:1059400008C08091150290911602A0911702B091A3 -:1059500018028093C1149093C214A093C314B093FF -:10596000C41489E50E940B8D8093CB148091CB14D5 -:10597000882329F00E948B8CDC01CB0108C0809128 -:10598000190290911A02A0911B02B0911C028093FF -:10599000BD149093BE14A093BF14B093C01482E5BD -:1059A0000E94C28C882331F18091921490919314BB -:1059B00021E0892B09F420E0222319F00E94878C32 -:1059C00002C084E290E09093C6148093C51464E210 -:1059D00070E085EC94E10F9442278091C51490917A -:1059E000C6141816190634F089EF9BE50F944B4A3C -:1059F00081E088C186E50E94C28C882319F00E944C -:105A0000878C02C080E090E090933413809333132E -:105A10008091331390913413992334F08091331390 -:105A200090913413059734F080ED9BE50F944B4A29 -:105A300081E0898380E50E94C28C8823E1F00E9486 -:105A4000878C9B838A838A819B819093BC148093EB -:105A5000BB148091BB149091BC14992334F08091B5 -:105A6000BB149091BC14079734F080EB9BE50F9426 -:105A70004B4A81E089838AE40E94C28C882359F1D1 -:105A8000809192149091931421E0892B09F420E0E5 -:105A9000222319F00E94878C02C080E090E090934E -:105AA0003613809335138091351390913613892BDB -:105AB00091F08091351390913613029734F08091D4 -:105AC0003513909136130A9734F086E89BE50F94CE -:105AD0004B4A81E089839091CC148091CB14981724 -:105AE00031F08CE59BE50F944B4A81E089838091EE -:105AF000C1149091C214A091C314B091C41411E0C8 -:105B000020E030E0A901BC01CD010F942864882376 -:105B10000CF410E081E081278823C1F48091C11446 -:105B20009091C214A091C314B091C41411E020E06C -:105B300030E044EB53E4BC01CD010F94D25A181667 -:105B40000CF410E081E08127882361F080E090E090 -:105B5000A4E3B3E48093C1149093C214A093C3143C -:105B6000B093C4148091BD149091BE14A091BF1441 -:105B7000B091C01411E020E030E0A901BC01CD01DA -:105B80000F94286488230CF410E081E08127882397 -:105B9000C1F48091BD149091BE14A091BF14B09136 -:105BA000C01411E020E030E044EB53E4BC01CD012F -:105BB0000F94D25A18160CF410E081E08127882344 -:105BC00061F080E090E0A4E3B3E48093BD1490938F -:105BD000BE14A093BF14B093C0148981882311F020 -:105BE00081E090C081E40E94C28C882389F084E423 -:105BF0000E94C28C882331F089E29BE50F944B4AC6 -:105C000081E080C081E00F94B1480F945A4A0AC0E5 -:105C100084E40E94C28C882329F080E00F94B1486C -:105C20000F945A4A83E40E94C28C8093BA148091E4 -:105C3000BA14882361F00E948B8CDC01CB01809325 -:105C4000C7149093C814A093C914B093CA1486E4DF -:105C50000E940B8D8823D1F10E948B8CDC01CB013B -:105C60008C839D83AE83BF8311E020E030E0A901E7 -:105C70006C817D818E819F810F94286488230CF430 -:105C800010E081E08127882391F411E020E030E0EA -:105C900048EC52E46C817D818E819F810F94D25AB1 -:105CA00018160CF410E081E08127882331F080EF92 -:105CB0009AE50F944B4A81E025C08C819D81AE818D -:105CC000BF8141E0BC01CD010F94294960E070E043 -:105CD00084E50E94188D9093B9148093B814809134 -:105CE000B8149091B914992334F08091B81490911C -:105CF000B914039734F08CED9AE50F944B4A81E088 -:105D000001C080E027960FB6F894DEBF0FBECDBF6E -:105D1000DF91CF911F9108958F929F92AF92BF9282 -:105D2000EF92FF920F931F93CF93DF9386E3E82EBA -:105D300082E1F82EC0E08701D0E0F80180809180F8 -:105D4000A280B380A5019401C501B4010F9415652B -:105D5000811117C02091C7143091C8144091C91403 -:105D60005091CA14C501B4010F94C8619B01AC01E4 -:105D7000F80160837183828393836D2F8C2F0E943F -:105D8000739BDF5F0C5F1F4FD630B9F6CF5FF8E132 -:105D9000EF0EF11CC63079F6DF91CF911F910F9174 -:105DA000FF90EF90BF90AF909F908F9008952F92AB -:105DB0003F924F925F926F927F928F929F92AF929B -:105DC000BF92CF92DF92EF92FF920F931F93CF93E8 -:105DD000DF93CDB7DEB72A970FB6F894DEBF0FBEBC -:105DE000CDBF8C834D835E836F83788786E392E19A -:105DF0009B838A838C0186E0782E212C312CC12C48 -:105E0000D12C76011A861986E985FA85E00FF11FF3 -:105E100080809180A280B380A5019401C501B40166 -:105E20000F94156581110BC0A5019401C701B6013E -:105E30000F94C8616B017C019FEF291A390AE9852B -:105E4000FA853496FA87E9877897F1F67A94085EAE -:105E50001F4F7110D7CFB101032C000C880B990B89 -:105E60000F94D95A9B01AC01C701B6010F94C262CD -:105E70006B017C0186E392E19A87898796E099839A -:105E8000812C912C540100E010E0E985FA85E00FA7 -:105E9000F11F4080518062807380A3019201C30191 -:105EA000B2010F941565811112C0A7019601C301BB -:105EB000B2010F94C7619B01AC010F94385B9B0149 -:105EC000AC01C501B4010F94C8614B015C010C5FCA -:105ED0001F4F08311105C9F6E981E150E983898531 -:105EE0009A8548969A878987E111CDCFB1018EE9CD -:105EF0009AE50F94A84A8AE00E942766E1E9F8E053 -:105F0000FA87E987E985FA858191FA87E987882305 -:105F100019F00E942766F6CF46E0C701B6010E943D -:105F2000C7668AE00E942766B1016F5F7F4F072E28 -:105F3000000C880B990B0F94D95A9B01AC01C50139 -:105F4000B4010F94C2620F94C6644B015C018CE4EF -:105F500098E09A878987E985FA858191FA87E987A8 -:105F6000882319F00E942766F6CF46E0C501B401E8 -:105F70000E94C7668AE00E942766FC81FF23F1F138 -:105F800010E08A819B819A87898700E0E985FA85FC -:105F900080809180A280B380A5019401C501B401E5 -:105FA0000F94156581111AC02D813E814F8158854E -:105FB000C701B6010F94C8619B01AC01C501B401D2 -:105FC0000F94C7619B01AC01E985FA8560837183F9 -:105FD00082839383602F812F0E94739B0F5F89853B -:105FE0009A8504969A878987063081F61F5FEA8131 -:105FF000FB817896FB83EA83163019F62A960FB652 -:10600000F894DEBF0FBECDBFDF91CF911F910F91EE -:10601000FF90EF90DF90CF90BF90AF909F908F90C8 -:106020007F906F905F904F903F902F900895AF9228 -:10603000BF92CF92DF92EF92FF920F931F93CF9375 -:10604000DF93CDB7DEB7A8970FB6F894DEBF0FBECB -:10605000CDBF9BA38AA37DA36CA34EA32FA308A7A8 -:106060000F94742C81E00E944CBD84E289838EA140 -:10607000882331F08091B8149091B9140E943E9019 -:106080008981882F90E025E230E0A901481B590B57 -:10609000CA019B838A8387EC9AE52A813B81B901F7 -:1060A0000F94A84A85EC9AE564E270E00F94A84A40 -:1060B00081EC9AE50F944B4A8DEA9AE51F9224E20F -:1060C0002F932B812F932A812F93292F2F938F93F7 -:1060D0001F920F94D6088DB79EB707960FB6F89407 -:1060E000DEBF0FBECDBF88A58823C9F00F94932AC9 -:1060F000A22EB32EC42ED52EE62EF72E082F192F42 -:106100002A2D3B2D4C2D5D2D6E2D7F2D802F912F17 -:106110002C8B3D8B4E8B5F8B688F798F21C04CA170 -:106120005DA18AA19BA100E010E021E0BC0180E01C -:106130000F94FD27A22EB32EC42ED52EE62EF72EB9 -:10614000082F192F2A2D3B2D4C2D5D2D6E2D7F2DC7 -:10615000802F912F2C8B3D8B4E8B5F8B688F798F8F -:106160008C8988230CF45AC08C890E94558DDC01DF -:10617000CB018A8F9B8FAC8FBD8F8D890E94278D1D -:10618000DC01CB018E8F9F8FA8A3B9A3809133131D -:1061900090913413282F8FA1882311F031E001C092 -:1061A00032E0BE01625E7F4FCE014A9601E0432F8E -:1061B0000E94EDBDDC01CB018C839D83AE83BF8348 -:1061C0008C89282F880F330B8D89482F880F550B0A -:1061D000C901880F991F820F931F880F991F840F81 -:1061E000951F880F991F880F991F9C012A5C3D4EAF -:1061F0008C819D81AE81BF81F90180839183A283CF -:10620000B3838D89682F8C89782F8C819D81AE8195 -:10621000BF819C01AD01872F0E94739B0E94526732 -:106220008C89882344F089818150898389818823DE -:1062300011F081E001C080E0882309F018CF80E0F0 -:106240000E944CBD0E9404BD0F946C2C188A198AC0 -:106250001A8A1B8A8CA19DA1FC0180819181A28157 -:10626000B38120910E1330910F1340911013509170 -:106270001113BC01CD010F94C761DC01CB016C018E -:106280007D0160E070E083E090E00E943990092E8B -:10629000000CAA0BBB0BBC01CD010F94D95ADC0139 -:1062A000CB019C01AD01C701B6010F94D25A8823DE -:1062B0008CF460E070E083E090E00E943990092E59 -:1062C000000CAA0BBB0BBC01CD010F94D95ADC0109 -:1062D000CB0155C08CA19DA1FC0180819181A2813F -:1062E000B38120910E1330910F13409110135091F0 -:1062F0001113BC01CD010F94C761DC01CB016C010E -:106300007D0168E671E085E691E00E943490092EF7 -:10631000000CAA0BBB0BBC01CD010F94D95ADC01B8 -:10632000CB019C01AD01C701B6010F94286418167A -:106330008CF468E671E085E691E00E943490092EC5 -:10634000000CAA0BBB0BBC01CD010F94D95ADC0188 -:10635000CB0115C08CA19DA1FC0180819181A281FE -:10636000B38120910E1330910F134091101350916F -:106370001113BC01CD010F94C761DC01CB018C87E7 -:106380009D87AE87BF878AA19BA1FC0180819181F7 -:10639000A281B38120910A1330910B1340910C1309 -:1063A00050910D13BC01CD010F94C761DC01CB01ED -:1063B0006C017D0160E070E083E090E00E94399024 -:1063C000092E000CAA0BBB0BBC01CD010F94D95AAE -:1063D000DC01CB019C01AD01C701B6010F94D25A7B -:1063E00088238CF460E070E083E090E00E943990B4 -:1063F000092E000CAA0BBB0BBC01CD010F94D95A7E -:10640000DC01CB0155C08AA19BA1FC018081918157 -:10641000A281B38120910A1330910B1340910C1388 -:1064200050910D13BC01CD010F94C761DC01CB016C -:106430006C017D0168E671E085E691E00E94349090 -:10644000092E000CAA0BBB0BBC01CD010F94D95A2D -:10645000DC01CB019C01AD01C701B6010F9428649A -:1064600018168CF468E671E085E691E00E9434909D -:10647000092E000CAA0BBB0BBC01CD010F94D95AFD -:10648000DC01CB0115C08AA19BA1FC018081918117 -:10649000A281B38120910A1330910B1340910C1308 -:1064A00050910D13BC01CD010F94C761DC01CB01EC -:1064B00088879987AA87BB87AE01405F5F4F9E019F -:1064C000245F3F4FCE010896B9010E9438B3A896C9 -:1064D0000FB6F894DEBF0FBECDBFDF91CF911F91F5 -:1064E0000F91FF90EF90DF90CF90BF90AF90089505 -:1064F00084E08A950000E9F70895FC01DB018C91A6 -:1065000020813181382798E0A901440F551F37FDBC -:1065100006C09A019150C1F73183208308959A01F2 -:10652000B1E22B27B0E13B27F5CFEF92FF920F931B -:106530001F93CF93DF93FC0101900020E9F731977F -:106540009F01281B390B12161306CCF56AE56093E0 -:10655000341765EA6093351763E0620F609336176E -:1065600062E8609337175093381740933917FC014E -:10657000AAE3B7E1820F931F41914D93E817F90702 -:10658000D9F784E3E82E87E1F82E00E010E0E90176 -:106590002596C017D10764F0D7016D917D0188ED74 -:1065A00094E10E94F66F0F9478320F5F1F4FF1CF86 -:1065B0008AE1E4E3F7E1DF011D928A95E9F7DF91D3 -:1065C000CF911F910F91FF90EF9008950F931F931C -:1065D000CF93DF932091E5162A3509F098C090916A -:1065E000E616953A09F093C08091E416833008F4DA -:1065F0008EC020933417909335178093361790915F -:10660000E716909337179038B1F49091E81690936D -:106610003817E0EFF6E1A9E3B7E120E030E090E0E1 -:106620000297281739070CF044C0408132964D93E9 -:106630002F5F3F4FF6CF833061F4913809F064C08B -:106640008091E816809338178091EC168093391763 -:1066500030C09238F1F49091E8162091E916209319 -:10666000381790933917EAE3F7E120E030E090E043 -:10667000039728173907ECF4D901AE7FA051B94E22 -:106680004C9111965C91508341832E5F3F4F32961F -:10669000F0CF843071F4933861F48091E8169091D2 -:1066A000E91690933817809339178091EC168093F0 -:1066B0003A1704E317E1C0E0D0E08091E41690E0DF -:1066C00002968C179D075CF0D8016D918D0188EDC5 -:1066D00094E10E94F66F0F9478322196EECF80E518 -:1066E000E4EEF6E1DF011D928A95E9F78AE1E4E341 -:1066F000F7E1DF011D928A95E9F78AE58093E516B7 -:1067000085EA8093E61603C0923899F6A4CFDF910C -:10671000CF911F910F910895CF93DF93CDB7DEB73F -:10672000A8970FB6F894DEBF0FBECDBF8C010E94B4 -:106730008EF40F94C74A86E49CE50F944B4A0115EA -:10674000110511F40DE31CE58091D71480FD75C08F -:1067500081608093D71484EA98E00E94456788247A -:1067600083948AE5982E9092F1168092F0168FE02D -:1067700090E09093F3168093F21697E0A92EA092E2 -:10678000E41622E8B22EB092E71634E8C32ED12CDC -:10679000E12CF12CC092E816D092E916E092EA16AC -:1067A000F092EB160F94E6329092F1168092F0166A -:1067B00088E590E09093F3168093F216A092E41689 -:1067C000B092E716C092E816D092E916E092EA1667 -:1067D000F092EB160F94E63263E070E080E090E018 -:1067E0000E94589B8AE289838A838B838C83DE0193 -:1067F0001596F801CE0101969D01281B390B449195 -:106800003196442311F04D93F7CFFC01E20FF31FB3 -:106810002AE2AF01481B590B4832510511F0219370 -:10682000F8CF40E650E160E070E00F9495326AE006 -:1068300070E080E090E00E94589B61E084E39CE57A -:106840000F94EF0989EE93E030E6019729F0232FAA -:106850002A950000E9F7F9CFF89489EE93E038EE35 -:10686000019729F0232F2A950000E9F7F9CF0E941C -:106870008EF40E949663A895FECFCF92DF92EF929E -:10688000FF920F9406406B017C0128E5C20E22E0C6 -:10689000D21EE11CF11C0E94476F8F3F61F00F94E4 -:1068A0000640DC01CB018C199D09AE09BF09B7FD7B -:1068B000F2CF80E001C081E0FF90EF90DF90CF90B9 -:1068C00008958F929F92AF92BF92CF92DF92EF92F4 -:1068D000FF920F931F93CF93DF9300D01F92CDB7FA -:1068E000DEB7FC018381813079F5818181FF2CC085 -:1068F00081899289A389B489892B8A2B8B2B09F4EE -:1069000048C07F0140E050E0BA01CF010E9479B356 -:106910008823D1F0F70185889688A788B08CC18C30 -:10692000D28C82E090E0A0E0B0E0F6018083918319 -:10693000A283B3839E012F5F3F4FB501A401C6011F -:106940000E94F476811102C080E03CC000E010E0BB -:106950009801B501A401C6010E9462768823A1F3C3 -:1069600089809A80AB80BC80F6018789803141F4B0 -:10697000F8EF8F16FFEF9F06A104B10460F4DACFA1 -:1069800088EF88168FEF9806A8068FE0B80618F4EF -:10699000D1CF81E017C0F701158A168A178A108EA9 -:1069A000118A128A138A148A818180688183C701BF -:1069B0000E94B2B6882341F240E050E0BA01C7011C -:1069C0000E9479B30F900F900F900F90DF91CF91AD -:1069D0001F910F91FF90EF90DF90CF90BF90AF90FD -:1069E0009F908F9008952F923F924F925F926F9257 -:1069F0007F928F929F92AF92BF92CF92DF92EF924F -:106A0000FF920F931F93CF93DF931F921F92CDB7E7 -:106A1000DEB77C012DB73EB73A8329838091AD184C -:106A2000811107C0109292181092951881E08093FE -:106A3000AD1880918A18811107C010926F181092BA -:106A4000721881E080938A18FB0180818F3259F49B -:106A50008EEC95E1F70191838083109262188B018F -:106A60000F5F1F4F06C083EB95E1F7019183808391 -:106A70008B01F7012080318022E9C22E28E1D22E3D -:106A80000115110509F479C04DB65EB66FE270E0EC -:106A9000C8010F946E664C010817190708F06BC007 -:106AA0003C01601A710A7724C30101962DB73EB7E5 -:106AB000281B390B0FB6F8943EBF0FBE2DBF8DB704 -:106AC0009EB701965C01A301B8010F948E66F50193 -:106AD000E60DF71D1082F7016081718121E0A501AB -:106AE000C6010E94D1BA81110FC0B50180E29CE5B8 -:106AF0000F94B44A8DE19CE50F944B4A0FB6F8947D -:106B00005EBE0FBE4DBE39C0F7018081918128164F -:106B1000390611F00E94E5B6F701D182C082A0913A -:106B20006218AA3080F481E08A0F80936218FBE13A -:106B3000FA9FD0011124AC5AB84EF6018BE10190B6 -:106B40000D928A95E1F7F7018081918182599841F0 -:106B500029F49FE6C92E98E1D92E04C082E9C82EF7 -:106B600088E1D82E84010F5F1F4F0FB6F8945EBEE8 -:106B70000FBE4DBE85CFC80102C080E090E02981E4 -:106B80003A810FB6F8943EBF0FBE2DBF0F900F9005 -:106B9000DF91CF911F910F91FF90EF90DF90CF90F9 -:106BA000BF90AF909F908F907F906F905F904F902D -:106BB0003F902F9008952091D6142695269520FF7A -:106BC0002DC020916D1830916E18280F391F309309 -:106BD0006E1820936D182091D4143091D514280F7D -:106BE000391F3093D5142093D414209108012170BB -:106BF000209306012091D2143091D314820F931F59 -:106C00009093D3148093D2140F9406406093CE14C3 -:106C10007093CF148093D0149093D11408954F9211 -:106C20005F926F927F928F929F92AF92BF92CF921C -:106C3000DF92EF92FF920F931F93CF93DF93CDB725 -:106C4000DEB764970FB6F894DEBF0FBECDBF082F36 -:106C5000F62EE42E882E912C26E0829FC00111246E -:106C6000FC01E55FF14A65907490FC01E75FF14A31 -:106C70005F0145905490F3018081482F487050E0A7 -:106C800060E070E07695679557954795F201108121 -:106C90001370142BF4E0EF1209C0807190E0A0E0B3 -:106CA000B0E0B695A79597958795182B8FEF9DE542 -:106CB0000F944B4A005D802F0E9427668F2D0E9403 -:106CC000276683E00F94404AF401EE0FFF1F8F2DDB -:106CD0000F2C000C990B9E012F5F3F4F690133E091 -:106CE000E80DF91D81549109E80FF91FEE0FFF1F00 -:106CF000E552F24AE3121BC0A591B4918C911F9208 -:106D00008F9381ED9DE59F938F93DF92CF920F94A8 -:106D10006A5A0F900F900F900F900F900F90F601FE -:106D200081916F01882309F10E942766F8CFA59110 -:106D3000B49111968C9111978F938C918F9387ECCE -:106D40009DE59F938F93DF92CF920F946A5A0F9095 -:106D50000F900F900F900F900F90F60181916F019F -:106D6000882319F00E942766F8CF612F70E08DEB21 -:106D70009DE50F94A84AF501C590D49081E39DE567 -:106D80000F944B4A802F0E942766F2E4FF1691F081 -:106D900023E4F216F9F031E4F3122DC0F60140813C -:106DA000429546954695437050E060E070E08DE274 -:106DB0009DE51FC0F6014081407350E060E070E047 -:106DC00094E076956795579547959A95D1F789E21E -:106DD0009DE50FC0F60140814C7050E060E070E02E -:106DE00082E076956795579547958A95D1F785E224 -:106DF0009DE50F94794AF3014081477050E060E0CF -:106E000070E084EB9DE50F94794A8BEA9DE50F9441 -:106E10004B4A802F0E942766F201608170E087EA6A -:106E20009DE50F94A84A8EE99DE50F944B4A802F6B -:106E30000E942766F301608170E08AE99DE50F9466 -:106E4000A84A86E0889DF001899DF00D1124E35F3A -:106E5000F14AC590D49080E99DE50F944B4A802F6C -:106E60000E942766F601608170E08DE89DE50F9431 -:106E7000A84A00EC0F0DF3E0EF1207C0197F59F498 -:106E800089E39DE50F944B4A06C0812F8B7FC1F3A8 -:106E90001C501230A8F3F601808190E0A0E0B0E031 -:106EA00004C0B695A795979587950A95D2F780FF68 -:106EB00004C082E59DE50F944B4AF601808180FF76 -:106EC00004C08FE69DE50F944B4A64960FB6F89484 -:106ED000DEBF0FBECDBFDF91CF911F910F91FF900D -:106EE000EF90DF90CF90BF90AF909F908F907F906A -:106EF0006F905F904F900895CF93DF93C82F86E5F2 -:106F00009EE50F944B4A0C2E000CDD0BFE01E35561 -:106F1000F14A8491805C0E942766FE01ED50F14A9F -:106F2000E49180E3E13021F0E6958F5F8933D1F77A -:106F3000DF91CF910C942766082E000C990BFC0171 -:106F4000E355F14AE491EE2399F0F0E0EE0FFF1FD4 -:106F5000ED56F14AA591B4912C91FC01ED50F14A06 -:106F60008491822321E090E009F420E0822F0895AB -:106F700080E090E00895CF93DF93C82FD0E0FE012A -:106F8000E75CF04AE4918E2F90E0FC013197E2310A -:106F9000F105E8F58827EA54FF4F8F4F0D94BF6144 -:106FA00043E061E402C043E062E480E02EC044E0DC -:106FB00061E405C044E062E402C044E063E481E0CF -:106FC00024C043E061E402C043E062E482E01DC00B -:106FD00044E061E405C044E062E402C044E063E4EC -:106FE00083E013C044E061E405C044E062E402C011 -:106FF00044E063E484E009C044E061E405C044E0A7 -:1070000062E402C044E063E485E00F940F3683E558 -:107010009EE50F944B4AFE01E355F14AE491E230BC -:10702000F9F4FE01ED50F14AE491E038C9F48FE43F -:107030009EE50F944B4A82E10F94404A87E49EE517 -:107040000F944B4A8DE29EE50F944B4A8EE00F94CD -:10705000404A44E063E481E0DF91CF910D940F3624 -:10706000DF91CF9108950F931F93CF93DF93CDB707 -:10707000DEB764970FB6F894DEBF0FBECDBFE82F22 -:10708000F0E0E75CF04AE4918E2F90E0FC0131974C -:10709000E231F10508F049C28827E853FF4F8F4FCE -:1070A0000D94BF6184B5807C09F43FC287B51F92FF -:1070B0008F938BE19DE59F938F938E010F5F1F4F01 -:1070C0001F930F930F946A5A0F900F900F900F9089 -:1070D0000F900F90F80181918F01811102C081E022 -:1070E00025C20E942766F6CF84B5807309F41DC2BD -:1070F00088B51F928F9381E19DE59F938F938E01B9 -:107100000F5F1F4F1F930F930F946A5A0F900F90AA -:107110000F900F900F900F90F80181918F018823AD -:10712000F1F20E942766F8CF80918000807C09F4FC -:10713000FCC180918800909189009F938F9387E094 -:107140009DE59F938F938E010F5F1F4F1F930F93AA -:107150000F946A5A0F900F900F900F900F900F900E -:10716000F80181918F01882309F4B9CF0E94276625 -:10717000F7CF80918000807309F4D7C180918A0095 -:1071800090918B009F938F938DEF9CE59F938F93AE -:107190008E010F5F1F4F1F930F930F946A5A0F902A -:1071A0000F900F900F900F900F90F80181918F0129 -:1071B000882309F494CF0E942766F7CF809180003E -:1071C0008C7009F4B2C180918C0090918D009F93D6 -:1071D0008F9383EF9CE59F938F938E010F5F1F4FDB -:1071E0001F930F930F946A5A0F900F900F900F9068 -:1071F0000F900F90F80181918F01882309F46FCFD0 -:107200000E942766F7CF8091B000807C09F48DC181 -:107210008091B3001F928F9389EE9CE59F938F938B -:107220008E010F5F1F4F1F930F930F946A5A0F9099 -:107230000F900F900F900F900F90F80181918F0198 -:10724000882309F44CCF0E942766F7CF8091B000C5 -:10725000807309F46AC18091B4001F928F938FEDFF -:107260009CE59F938F938E010F5F1F4F1F930F938A -:107270000F946A5A0F900F900F900F900F900F90ED -:10728000F80181918F01882309F429CF0E94276694 -:10729000F7CF80919000807C09F447C180919800DD -:1072A000909199009F938F9385ED9CE59F938F9389 -:1072B0008E010F5F1F4F1F930F930F946A5A0F9009 -:1072C0000F900F900F900F900F90F80181918F0108 -:1072D000882309F404CF0E942766F7CF809190009D -:1072E000807309F422C180919A0090919B009F9332 -:1072F0008F938BEC9CE59F938F938E010F5F1F4FB5 -:107300001F930F930F946A5A0F900F900F900F9046 -:107310000F900F90F80181918F01882309F4DFCE3F -:107320000E942766F7CF809190008C7009F4FDC011 -:1073300080919C0090919D009F938F9381EC9CE5A0 -:107340009F938F938E010F5F1F4F1F930F930F9487 -:107350006A5A0F900F900F900F900F900F90F801B6 -:1073600081918F01882309F4BACE0E942766F7CF56 -:107370008091A000807C09F4D8C08091A8009091F1 -:10738000A9009F938F9387EB9CE59F938F938E012A -:107390000F5F1F4F1F930F930F946A5A0F900F9018 -:1073A0000F900F900F900F90F80181918F0188231B -:1073B00009F495CE0E942766F7CF8091A0008073D4 -:1073C00009F4B3C08091AA009091AB009F938F9372 -:1073D0008DEA9CE59F938F938E010F5F1F4F1F9344 -:1073E0000F930F946A5A0F900F900F900F900F9079 -:1073F0000F90F80181918F01882309F470CE0E94CB -:107400002766F7CF8091A0008C7009F48EC0809120 -:10741000AC009091AD009F938F9383EA9CE59F937E -:107420008F938E010F5F1F4F1F930F930F946A5A14 -:107430000F900F900F900F900F900F90F801819187 -:107440008F01882309F44BCE0E942766F7CF8091E5 -:107450002001807C09F469C0809128019091290164 -:107460009F938F9389E99CE59F938F938E010F5F84 -:107470001F4F1F930F930F946A5A0F900F900F9006 -:107480000F900F900F90F80181918F01882309F4DC -:1074900026CE0E942766F7CF80912001807309F4E1 -:1074A00044C080912A0190912B019F938F938FE884 -:1074B0009CE59F938F938E010F5F1F4F1F930F9338 -:1074C0000F946A5A0F900F900F900F900F900F909B -:1074D000F80181918F01882309F401CE0E9427666B -:1074E000F7CF809120018C7001F180912C01909157 -:1074F0002D019F938F9385E89CE59F938F938E0139 -:107500000F5F1F4F1F930F930F946A5A0F900F90A6 -:107510000F900F900F900F90F80181918F018823A9 -:1075200009F4DDCD0E942766F7CF80E064960FB6A0 -:10753000F894DEBF0FBECDBFDF91CF911F910F91A9 -:107540000895082E000C990BFC01E355F14AE491D3 -:10755000F0E0EE0FFF1FE15AF14AA591B4912C9192 -:10756000FC01ED50F14AE491E22381E009F480E06E -:1075700008958F929F92AF92BF92CF92DF92EF9237 -:10758000FF928091B11481FD09C08091B21481FDF8 -:1075900005C08091B3148C7009F48AC082E40E9403 -:1075A000C28C882351F00F94EB106093E01170931C -:1075B000E1118093E2119093E31183E50E94C28C64 -:1075C000882351F00E948B8C6093101270931112DB -:1075D000809312129093131284E50E94C28C882328 -:1075E00051F00E948B8C609314127093151280934B -:1075F0001612909317128AE40E94C28C882309F411 -:1076000057C00E948B8C6B017C012AE037ED43E26E -:107610005CE30F94286487FD3DC02AE939E949E914 -:107620005EE3C701B6010F94D25A18169CF1C092BE -:10763000550CD092560CE092570CF092580C609179 -:10764000DC117091DD118091DE119091DF110F94AA -:10765000D75A4B015C0123EF34E045E35FE3C701F8 -:10766000B6010F94385B9B01AC01C501B4010F94C6 -:10767000385B29E732E84AE550E40F94385B0F9411 -:10768000C66460936D0C70936E0C80936F0C909336 -:10769000700C0EC00F94C74A86E69CE5FF90EF90F1 -:1076A000DF90CF90BF90AF909F908F900D944B4AFA -:1076B000FF90EF90DF90CF90BF90AF909F908F9012 -:1076C000089590E0FC013197E231F10508F04EC0D9 -:1076D0008827E652FF4F8F4F0D94BF618091800045 -:1076E0008F7703C0809180008F7D80938000089504 -:1076F00080918000877FF9CF84B58F7702C084B5F1 -:107700008F7D84BD08958091B0008F7703C08091F4 -:10771000B0008F7D8093B0000895809190008F77A6 -:1077200007C0809190008F7D03C080919000877F7B -:107730008093900008958091A0008F7707C080917A -:10774000A0008F7D03C08091A000877F8093A00060 -:107750000895809120018F7707C0809120018F7D4F -:1077600003C080912001877F8093200108953FB757 -:10777000F8948091DA189091DB18A091DC18B09100 -:10778000DD1826B5A89B05C02F3F19F00196A11D55 -:10779000B11D3FBFBA2FA92F982F8827820F911DA7 -:1077A000A11DB11DBC01CD0142E0660F771F881FEE -:1077B000991F4A95D1F7089585E795E10E94B2B6E1 -:1077C00085E795E10E94E5B680916C188D7F8E7FEC -:1077D00080936C18109268181092691810926A18A9 -:1077E00010926B1881E08093521708950F94CB4A42 -:1077F0006091D3187091D41882E89FE50F94B44A31 -:107800008FE79FE50D944B4AAF92BF92CF92DF92E4 -:10781000EF92FF920F931F93CF93DF93CDB7DEB715 -:107820002C970FB6F894DEBF0FBECDBF21EAC22E53 -:1078300023E0D22E5C0170E0CB018F559C4F7C0180 -:10784000CE14DF0409F180E20E942766F6018191DF -:107850006F010E9427668AE30E942766F501619105 -:107860007191819191915F018E010F5F1F4F23E014 -:1078700041E00F94AA558C01F80181918F01882372 -:10788000F9F20E942766F8CF8AE00E9427662C96BC -:107890000FB6F894DEBF0FBECDBFDF91CF911F9121 -:1078A0000F91FF90EF90DF90CF90BF90AF90089531 -:1078B000CF93DF9300D01F92CDB7DEB78091DE1853 -:1078C00081111BC081E08093DE188091BE189091D9 -:1078D000BF18A091C018B091C118B05889839A837D -:1078E000AB83BC839E012F5F3F4F4AEC58E166ECAF -:1078F00078E182EC98E10E9433E30F900F900F90B3 -:107900000F90DF91CF910895CF93DF9300D01F9216 -:10791000CDB7DEB78091DE188823F9F02AE939E97E -:1079200049E95FE36091BE187091BF188091C0185B -:107930009091C1180F94385B69837A838B839C8301 -:107940009E012F5F3F4F4AEC58E166EC78E182ECF4 -:1079500098E10E9433E31092DE180F900F900F9081 -:107960000F90DF91CF9108952F923F924F925F92A7 -:107970006F927F928F929F92AF92BF92CF92DF923F -:10798000EF92FF920F931F93CF93DF93CDB7DEB7A4 -:10799000A0970FB6F894DEBF0FBECDBF1C018B01C0 -:1079A0005A8749873C872B87C0901502D0901602D2 -:1079B000E0901702F0901802DC018D919D910D90DE -:1079C000BC91A02D8D879E87AF87B88B9C01AD01A0 -:1079D000C701B6010F94C7612B013C0180911902C8 -:1079E00090911A02A0911B02B0911C02898B9A8B74 -:1079F000AB8BBC8BD8018D919D910D90BC91A02D2E -:107A00008D8B9E8BAF8BB88F9C01AD0169897A8974 -:107A10008B899C890F94C7614B015C01A301920182 -:107A2000C301B2010F94385B2B013C01A501940105 -:107A3000C501B4010F94385B9B01AC01C301B201D5 -:107A40000F94C861698F7A8F8B8F9C8FE985FA8537 -:107A50004080518062807380A3019201C701B6010A -:107A60000F94C7616D8F7E8F8F8F98A3AB85BC8578 -:107A70008D909D90AD90BC90A501940169897A8903 -:107A80008B899C890F94C7616B017C012D853E8594 -:107A90004F855889C301B2010F94C7612B013C0186 -:107AA0002D893E894F89588DC501B4010F94C76156 -:107AB0004B015C01A3019201C301B2010F94385B39 -:107AC0002B013C01A5019401C501B4010F94385B61 -:107AD0009B01AC01C301B2010F94C8610F94C6644D -:107AE0004B015C012D8D3E8D4F8D58A1CA01B9010E -:107AF0000F94385B2B013C01A7019601C701B60129 -:107B00000F94385B9B01AC01C301B2010F94C861B3 -:107B10009B01AC01698D7A8D8B8D9C8D0F942864AF -:107B2000181604F520E030E0A901C501B4010F9456 -:107B3000286487FF04C0C501B401905802C0C50184 -:107B4000B40120E030E040EA50E40F9428641816B5 -:107B50004CF49801A1016B857C8589859A850F94E9 -:107B6000B43C85C020E030E040E050E4698D7A8D7F -:107B70008B8D9C8D0F94286418160CF044C00F94C4 -:107B8000583C19821A821B821C8220E030E040E0BF -:107B90005FE360911D0270911E0280911F0290911F -:107BA00020020F94C8616D837E838F8398879E0126 -:107BB0002F5F3F4FAE014B5F5F4F69E172E085E1A0 -:107BC00092E00E9433E319821A821B821C8220E019 -:107BD00030E040E05FE36091B6187091B718809193 -:107BE000B8189091B9180F94C8616D837E838F8304 -:107BF00098879E012F5F3F4FAE014B5F5F4FB801EB -:107C0000C1010E9433E319821A821B821C829E01E9 -:107C10002F5F3F4F46EB58E1B801C1010E9433E3AB -:107C20002091790230917A0240917B0250917C023E -:107C3000C501B4010F94385B2091BA183091BB187C -:107C40004091BC185091BD180F94385B69837A83BA -:107C50008B839C830F94843C9E012F5F3F4F46EBA8 -:107C600058E16B857C8589859A850E9433E3A096CF -:107C70000FB6F894DEBF0FBECDBFDF91CF911F913D -:107C80000F91FF90EF90DF90CF90BF90AF909F90BB -:107C90008F907F906F905F904F903F902F900895BE -:107CA000CF93DF93282F30E0F901E75CF04A84910D -:107CB000F901ED50F14AD491F901E355F14AC4912B -:107CC000CC2391F081110F94613BEC2FF0E0EE0F8B -:107CD000FF1FED56F14AA591B491EC91ED2381E09F -:107CE00090E021F480E002C080E090E0DF91CF914D -:107CF00008951F93CF93DF93282F30E0F901E75CBD -:107D0000F04A8491F901ED50F14AD491F901E3551B -:107D1000F14AC491CC23C1F0162F81110F94613B1D -:107D2000EC2FF0E0EE0FFF1FE758F14AA591B49158 -:107D30009FB7F894111104C08C91D095D82302C03C -:107D4000EC91DE2BDC939FBFDF91CF911F910895C3 -:107D5000CF93DF9390E0FC01ED50F14A2491FC01B8 -:107D6000E355F14A8491882361F190E0880F991FCF -:107D7000FC01E15AF14AC591D491FC01E758F14A5E -:107D8000A591B491611109C09FB7F894888120959D -:107D900082238883EC912E230BC0623061F49FB75D -:107DA000F8948881322F309583238883EC912E2B91 -:107DB0002C939FBF06C08FB7F894E8812E2B2883A1 -:107DC0008FBFDF91CF9108951F93CF93DF93182F2B -:107DD000EB0161E00F94A83E209711F460E004C02D -:107DE000CF3FD10539F461E0812FDF91CF911F9111 -:107DF0000D94793EE12FF0E0E75CF04AE4918E2F9C -:107E000090E0FC013197E231F10508F09DC0882730 -:107E1000E451FF4F8F4F0D94BF6184B5806884BDDE -:107E2000C7BD97C084B5806284BDC8BD92C0809133 -:107E30008000806880938000D0938900C093880080 -:107E400088C080918000806280938000D0938B00F6 -:107E5000C0938A007EC080918000886080938000FB -:107E6000D0938D00C0938C0074C08091B000806866 -:107E70008093B000C093B3006CC08091B00080626A -:107E80008093B000C093B40064C08091900080687B -:107E900080939000D0939900C09398005AC080912D -:107EA0009000806280939000D0939B00C0939A00D2 -:107EB00050C080919000886080939000D0939D0086 -:107EC000C0939C0046C08091A00080688093A00071 -:107ED0008091A0008F7B8093A000D093A900C093D5 -:107EE000A80037C08091A00080628093A000D0934A -:107EF000AB00C093AA002DC08091A0008860809341 -:107F0000A000D093AD00C093AC0023C080912001AD -:107F1000806880932001D0932901C093280119C063 -:107F200080912001806280932001D0932B01C09327 -:107F30002A010FC080912001886080932001D09396 -:107F40002D01C0932C0105C0C038D1050CF04BCFDA -:107F500045CFDF91CF911F910895863308F0865366 -:107F600090917B00282F2870977F922B90937B0015 -:107F70008770806480937C0080917A008064809315 -:107F80007A0080917A0086FDFCCF80917800209164 -:107F9000790090E0922B08958F929F92AF92BF92BA -:107FA000CF92DF92EF92FF926B017C010F94B73B6F -:107FB0004B015C01C114D104E104F104F1F00F9410 -:107FC000B73BDC01CB0188199909AA09BB09883E96 -:107FD0009340A105B10570F321E0C21AD108E10870 -:107FE000F10888EE880E83E0981EA11CB11CC11414 -:107FF000D104E104F10419F7DDCFFF90EF90DF9099 -:10800000CF90BF90AF909F908F9008952FB7F89426 -:108010006091D6187091D7188091D8189091D9187E -:108020002FBF08951F920F920FB60F9211242F9316 -:108030003F938F939F93AF93BF938091D618909166 -:10804000D718A091D818B091D9183091D51823E03D -:10805000230F2D3720F40196A11DB11D05C026E880 -:10806000230F0296A11DB11D2093D5188093D61819 -:108070009093D718A093D818B093D9188091DA1894 -:108080009091DB18A091DC18B091DD180196A11D2C -:10809000B11D8093DA189093DB18A093DC18B0938D -:1080A000DD18BF91AF919F918F913F912F910F90CC -:1080B0000FBE0F901F9018958F929F92AF92BF9214 -:1080C000CF92DF92EF92FF920F931F93CF93DF93A4 -:1080D000EC018A01C880D980EA80FB80072E000C61 -:1080E000880B990B0F94D95A4B015C019B01AC0191 -:1080F000C701B6010F94D25A87FD10C0B801110F05 -:10810000880B990B0F94D95A4B015C019B01AC0170 -:10811000C701B6010F942864181624F48882998246 -:10812000AA82BB82DF91CF911F910F91FF90EF90B8 -:10813000DF90CF90BF90AF909F908F900895EF9277 -:10814000FF920F931F93CF93C82F7B018A018091D9 -:108150007D028823D1F00F94C74AC7010F944B4A80 -:1081600089E99FE50F944B4AC7FD08C06AE070E0BB -:108170008C2FCC0F990B0E94B76604C085E99FE550 -:108180000F944B4A8AE00E9427660E948EF48091E9 -:10819000FF18811108C081E08093FF1810927D02C2 -:1081A000C8010F948C33CF911F910F91FF90EF90E6 -:1081B00008952F923F924F925F926F927F928F928B -:1081C0009F92AF92BF92CF92DF92EF92FF920F9366 -:1081D0001F93CF93DF93CDB7DEB72F970FB6F894E9 -:1081E000DEBF0FBECDBF8091FE1881111DC08091F2 -:1081F000C31381111DC02F960FB6F894DEBF0FBEBA -:10820000CDBFDF91CF911F910F91FF90EF90DF9045 -:10821000CF90BF90AF909F908F907F906F905F9026 -:108220004F903F902F90089580E090E00F948C3312 -:108230000E9442F60F9406404B015C0160911202CD -:1082400070911302072E000C880B990B0F94D95ACA -:108250009B01AC016091880C7091890C80918A0C13 -:1082600090918B0C0F94286418163CF44EE150E664 -:1082700061E370E680E00F949F408091C1138823F2 -:1082800009F404C260918C0C70918D0C072E000CC7 -:10829000880B990B0F94D95A69837A838B839C83BB -:1082A0003AE0E32EF12C0CE310E020E0AE014F5F4A -:1082B0005F4F68E87CE08EE299E10E9480F2C09016 -:1082C000880CD090890CE0908A0CF0908B0C609117 -:1082D000100270911102072E000C880B990B0F945D -:1082E000D95A9B01AC01C701B6010F942864181636 -:1082F0000CF4A0C060E060938E0C8091AE1390915E -:10830000AF13A091B013B091B1130097A105B105BF -:1083100029F1A5019401281B390B4A0B5B0B57FD72 -:108320001DC06091AC137091AD1380E090E00F948C -:10833000D75A9B01AC016091880C7091890C809197 -:108340008A0C90918B0C0F94D25A87FF08C34DEF83 -:108350005FE56FE070E680E00F949F4020E030E042 -:1083600046E153E46091200A7091210A8091220A2B -:108370009091230A0F94286418160CF4D7C18091A9 -:10838000B4139091B513A091B613B091B7130097A1 -:10839000A105B10529F1A5019401281B390B4A0B50 -:1083A0005B0B57FD1DC06091B2137091B31380E059 -:1083B00090E00F94D75A9B01AC016091200A709114 -:1083C000210A8091220A9091230A0F94D25A87FFA2 -:1083D000B5C147EB5FE56AEC7FE58FEF0F949F40F7 -:1083E0008091BC13882309F48AC16091240A70919A -:1083F000250A072E000C880B990B0F94D95A698314 -:108400007A838B839C8392E0E92EF12C02E310E0C7 -:108410002FEFAE014F5F5F4F60E27AE089E299E1B2 -:108420000E9480F28091BC13882309F448C1109205 -:10843000260AE1CE6091120270911302072E000C01 -:10844000880B990B0F94D95A9B01AC01C701B60157 -:108450000F94D25A87FF4ECF60918C0C70918D0C87 -:108460006115710509F476C2072E000C880B990B73 -:108470000F94D95AA70196010F94C7612B013C01B3 -:1084800020E030E040E251EC0F94D25A87FD62C206 -:108490008091C11381115EC220E030E040E251E4DE -:1084A000C301B2010F94286418160CF465C28091C0 -:1084B0002819811166C28091201990912119A091EB -:1084C0002219B09123198D839E83AF83B8872091A1 -:1084D000241930912519409126195091271929877F -:1084E0003A874B875C87A7019601609114197091B8 -:1084F000151980911619909117190F94C761209141 -:10850000970C3091980C4091990C50919A0C0F94C3 -:10851000385B2D813E814F8158850F94C76120EDD6 -:108520003CEC4CE45DE30F94385B2D813E814F8140 -:1085300058850F94C8616B017C016093201970937A -:10854000211980932219909323198091930C909173 -:10855000940CA091950CB091960C8D839E83AF8363 -:10856000B88729853A854B855C85C301B2010F9494 -:10857000C861162F072F382E292E20E030E0A901E0 -:108580000F94D25A87FD12C22D813E814F815885AA -:1085900060E070E08FE793E40F94C26269877D87A3 -:1085A0008E879F87212F302F432D522D0F94D25A23 -:1085B00087FF04C019850D853E842F84812F902F5D -:1085C000A32DB22D8093241990932519A0932619D9 -:1085D000B093271920918F0C3091900C4091910C01 -:1085E0005091920CC301B2010F94385B2B013C01F6 -:1085F000609318197093191980931A1990931B1985 -:10860000212F302F432D522D6D817E818F819885B2 -:108610000F94385B9B01AC0160931C1970931D197A -:1086200080931E1990931F19C301B2010F94C86162 -:10863000A70196010F94C86120E030E0A9010F94D2 -:10864000C86169837A838B839C834FEF50E060E03D -:1086500070E0CE0101960F945C40C090880CD090E1 -:10866000890CE0908A0CF0908B0C69817A818B8167 -:108670009C810F94346375956795C0921419D092BC -:108680001519E0921619F092171935CE8091BD1385 -:108690009091BE13A091BF13B091C0130097A10594 -:1086A000B10509F4EFCDA5019401281B390B4A0B44 -:1086B0005B0B57FDE7CD81E08093C113E3CDC09004 -:1086C000200AD090210AE090220AF090230A20E0AC -:1086D00030E040EA50E4C701B6010F94286487FDFA -:1086E0000AC020E030E046E153E4C701B6010F9430 -:1086F000D25A181634F560E06093260A7CCD80913A -:10870000B8139091B913A091BA13B091BB1300970D -:10871000A105B10509F469CE881A990AAA0ABB0A0B -:10872000B7FC63CE81E08093BC135FCE49ED5FE57B -:108730006DEE7FE58FEF0F949F4021CE0E943FF4B6 -:108740004FCE6091240A7091250A6115710509F4D4 -:108750000AC1072E000C880B990B0F94D95AA70158 -:1087600096010F94C7614B015C0120E030E040E2CC -:1087700051EC0F94D25A87FDF6C020E030E040E281 -:1087800051E4C501B4010F94286418160CF4EFC02D -:1087900040902B0A50902C0A60902D0A70902E0A5F -:1087A00080917E028111F8C0209110193091111929 -:1087B000409112195091131980910C1990910D1933 -:1087C000A0910E19B0910F198D839E83AF83B88746 -:1087D000C501B4010F94C861162F072F382E292E1A -:1087E00020E030E0A9010F94D25A87FDE4C0A30134 -:1087F000920160E070E08FE793E40F94C2626987B2 -:108800007D878E879F87212F302F432D522D0F94E8 -:10881000D25A87FF04C019850D853E842F84812F8D -:10882000902FA32DB22D8093101990931119A0931E -:108830001219B09313192091270A3091280A4091F8 -:10884000290A50912A0AC501B4010F94385B4B01E3 -:108850005C01609304197093051980930619909335 -:108860000719212F302F432D522DC301B2010F9430 -:10887000385B2B013C0160930819709309198093B0 -:108880000A1990930B19A701960160910019709134 -:10889000011980910219909103190F94C7612091D9 -:1088A0002F0A3091300A4091310A5091320A0F94C8 -:1088B000385B2D813E814F8158850F94C76120ED33 -:1088C0003CEC4CE45DE30F94385B2D813E814F819D -:1088D00058850F94C8616D837E838F8398876093DA -:1088E0000C1970930D1980930E1990930F19C09263 -:1088F0000019D0920119E0920219F0920319A30114 -:108900009201C501B4010F94C8612D813E814F8150 -:1089100058850F94C86120E030E0A9010F94C86128 -:108920006B017C0120E030E0A9010F94D25A87FD51 -:10893000E2CE20E030E04FE753E4C701B6010F94E8 -:1089400028641816BCF0C701B6010F9434637595FE -:108950006795D2CE81E08093281960E08ECE80E0CA -:108960000E94AEF4FBCC81E080937E02C4CE81E015 -:1089700080937E026FE7C0CE81E0809328196FE775 -:108980007CCE1092281919861A861B861C861D8299 -:108990001E821F821886A7CD10927E021D821E8223 -:1089A0001F82188620E030E0A90112CF10E000E01D -:1089B000312C212C03CE10E000E0312C212C2FCFC4 -:1089C00090916F00292F227091FF05C090916F0048 -:1089D0009D7F90936F0034E0839FC0011124FC01C0 -:1089E000E251F74E4081518162817381FC01EE5169 -:1089F000F74E408351836283738381E08093E11853 -:108A0000222329F080916F00826080936F00089587 -:108A100090916F00292F227091FF05C090916F00F7 -:108A20009D7F90936F0094E0899FF0011124E251A3 -:108A3000F74E6081718182819381222329F02091F8 -:108A40006F00226020936F000895BC012091DF1811 -:108A50003091E0184091DF185091E0182417350745 -:108A600011F09A01F7CF81E02617370709F080E06F -:108A700008952F923F924F925F926F927F928F92C2 -:108A80009F92AF92BF92CF92DF92EF92FF920F939D -:108A90001F93CF93DF93D82FC62F8FEA98E00E94C1 -:108AA0004567D1115AC0CC2389F00E9461748C01B2 -:108AB000C12CD12CC0E0D0E0A12CB12C8EE3282E0B -:108AC0008BE1382E44244394512C3FC00E94CF990F -:108AD0008111EBCF44C0C016D10608F037C1C501E3 -:108AE0004496C816D90608F031C12FEFC21AD20A2F -:108AF0000F3F3FEF130709F0C3C10E9461748C015F -:108B00008C159D0508F04EC1F10101900020E9F798 -:108B10003197CF018E539B413C01EE24E394F12C1D -:108B20009701225C344E490146E050E068EB78E062 -:108B3000C9010F948066892B09F0F4C0E614F7048C -:108B40000CF43FC18FEFA81AB80A0F3F2FEF12079E -:108B500011F60E9461748C01BECFC111A6CF3AE01C -:108B6000C32E30E2D32EE12CF12CC5E0D2E8812CCB -:108B7000912C54011092F1161092F016C093E41645 -:108B8000D093E716D701C601880D991DAA1DBB1DFC -:108B90008093E8169093E916A093EA16B093EB162B -:108BA0000F94E6328FEF881A980AA80AB80A9AE05A -:108BB00089169104A104B104E9F62AE0C20ED11C81 -:108BC000E11CF11C32EDC31630E2D306E104F104DE -:108BD00071F6C12C20E2D22EE12CF12CD5E0C2E8B6 -:108BE0001092F1161092F016D093E416C093E71687 -:108BF000C092E816D092E916E092EA16F092EB16CF -:108C00000F94E6321092F1161092F016D093E416FB -:108C1000C093E716D701C6018C529F4FAF4FBF4F8D -:108C20008093E8169093E916A093EA16B093EB169A -:108C30000F94E6328FEFC81AD80AE80AF80A9AE0C9 -:108C4000C91690E2D906E104F10451F69EEDC92E51 -:108C500090E2D92EE12CF12CD5E0C2E81092F11669 -:108C60001092F016D093E416C093E716C092E8165F -:108C7000D092E916E092EA16F092EB160F94E632E3 -:108C80002FEFC21AD20AE20AF20A36EEC31630E217 -:108C9000D306E104F10411F7CC24C39482E1D82E69 -:108CA000E12CF12C0AE010E0D5E0C2E81093F116B7 -:108CB0000093F016D093E416C093E716C092E8161E -:108CC000D092E916E092EA16F092EB160F94E63293 -:108CD0001093F1160093F016D093E416C093E716A4 -:108CE000D701C6018096A11DB11D8093E81690930F -:108CF000E916A093EA16B093EB160F94E6328FEFC5 -:108D0000C81AD80AE80AF80A95E1C91692E1D90604 -:108D1000E104F10459F687ED93E00E94456782E192 -:108D200090E016C046E050E06FEB78E0C4010F948D -:108D30008066892B09F402CF3FEFE31AF30AC701DB -:108D40000197861597050CF4EBCEF8CE81E190E003 -:108D50009093F1168093F01685E08093E41682E8F4 -:108D60008093E71684E190E1A0E0B0E08093E816FC -:108D70009093E916A093EA16B093EB16DF91CF918A -:108D80001F910F91FF90EF90DF90CF90BF90AF9029 -:108D90009F908F907F906F905F904F903F902F901B -:108DA0000D94E6320F3F8FEF180719F40E9461749B -:108DB0008C0160E070E0C8018C199D090E949974D3 -:108DC000A3CE22E12C9FC0012D9F900D11249C0168 -:108DD0002052344E4901A7014231510514F041E1BE -:108DE00050E06EE37BE1C4010F948E6632E13C9F5C -:108DF000C0013D9F900D112460E87BE1885B924E9D -:108E00000F9479668AE08C9FA0018D9F500D1124EC -:108E1000465F5F4D052E000C660B770BFE01EE0FD3 -:108E2000FF1FEE0FFF1FE357F44E43835483658308 -:108E30007683C4010F9495327E019FEFE91AF90AF7 -:108E4000F0928F1BE0928E1B5092F1164092F0161A -:108E500025E02093E41632E83093E716CF5FDD4E2D -:108E6000CE01DD0FAA0BBB0B8093E8169093E91699 -:108E7000A093EA16B093EB160F94E632E70165CEA5 -:108E80000C151D0508F440CE94CF4F925F926F925F -:108E90007F928F929F92AF92BF92CF92DF92EF928A -:108EA000FF921F93CF93DF93C82F8EEA95E19093A3 -:108EB0003D1B80933C1B1092A71582E090E0A0E040 -:108EC000B0E08093901590939115A0939215B09374 -:108ED000931510923B1B1092371B1092381B109267 -:108EE000391B10923A1B8FEF9FEFDC018093331BED -:108EF0009093341BA093351BB093361BCC2379F190 -:108F0000C53008F001C140E060E070E0CB010E9494 -:108F10002976882309F4F8C020E1C29FC0011124FA -:108F20008D5D964EFC01E254FE4F20812F7709F0B3 -:108F3000EBC03C964081518162817381443651057A -:108F40006105710508F4E0C03497C080D180E280EB -:108F5000F380C114D104E104F10421F4D5C0C12C83 -:108F6000D12C760140E0C701B6010E942976182F66 -:108F7000882309F4C9C080913E1990913F19811549 -:108F8000924009F0C1C0A0914319AA2309F4BCC0C2 -:108F900060914119709142196115710509F4B4C0CD -:108FA00080904019882009F4AFC0A093A215809248 -:108FB000941580E0912CA12CB12C412C512C320124 -:108FC0004394C82FA3019201082E04C0220F331F1F -:108FD000441F551F0A94D2F782169306A406B506BD -:108FE00039F08F5FC83069F789E080939D158CC098 -:108FF00080939D152091491930914A192115310509 -:1090000019F040E050E008C02091571930915819EC -:109010004091591950915A192093951530939615EE -:10902000409397155093981546015701860E971E49 -:10903000A11CB11C8092A3159092A415A092A51515 -:10904000B092A615E0914419F0914519F093A91535 -:10905000E093A815B0E00F946961860E971EA81ED4 -:10906000B91E8092AA159092AB15A092AC15B09241 -:10907000AD1585E0EE0FFF1F8A95E1F7E150FE4F39 -:10908000EF2FFF27E6958E0E9F1EA11CB11C80922C -:109090009E1590929F15A092A015B092A1152091B7 -:1090A0004619309147192115310521F0A90160E0D9 -:1090B00070E008C0409153195091541960915519AE -:1090C00070915619D701C60188199909AA09BB09D7 -:1090D000840F951FA61FB71F04C0B695A795979537 -:1090E0008795CA95D2F78093991590939A15A09376 -:1090F0009B15B0939C15853F2FE09207A105B10504 -:1091000028F48CE08093A71510E01AC0853F9F4F8C -:10911000A105B10510F480E111C080915F19909113 -:109120006019A0916119B09162198093AA1590936A -:10913000AB15A093AC15B093AD1580E28093A71545 -:10914000812FDF91CF911F91FF90EF90DF90CF9013 -:10915000BF90AF909F908F907F906F905F904F9057 -:1091600008959091E6129817D1F00E941AC280914A -:10917000E612882359F04DE152E069E172E085E1A1 -:1091800092E00E9465C41092E61207C081E08093CD -:10919000E61285E192E00E942BC40C9486C60895E5 -:1091A00080E00F94B14860E070E080EC9FE70C94A1 -:1091B0005B921F93CF93DF931091E61280E00F94A0 -:1091C000B1488FEF8093221380E090E0A0E2B1E4F9 -:1091D0008093C6129093C712A093C812B093C9127D -:1091E0008DEC9CECACECBDE38093791490937A14F5 -:1091F000A0937B14B0937C1480EF9FEFA9E7B4ECAD -:1092000080937D1490937E14A0937F14B093801468 -:1092100080E9E6E3F2E1DF011D928A95E9F7C0E01B -:10922000D0E020E030E0A9016D2F8C2F0E94739BCD -:10923000DF5FD630B1F7CF5FC63091F7112329F049 -:10924000DF91CF911F910C9465C9DF91CF911F9150 -:109250000895CF92DF92EF92FF920F931F93CF93D7 -:10926000DF93CDB7DEB72C970FB6F894DEBF0FBEF5 -:10927000CDBF7B018C01D42E9B01AC016091C61245 -:109280007091C7128091C8129091C9120F94D25A4E -:10929000882309F496C0C090E61280E00F94B1488C -:1092A00020E030E0A901B701C8010F942864181626 -:1092B00024F0E12CF12C00E010E0C701D8018093EC -:1092C000C6129093C712A093C812B093C9122DEB87 -:1092D00037E346E855EBB701C8010F94286487FDD2 -:1092E0000AC02DEB37E346E855E3B701C8010F94F8 -:1092F000D25A18164CF49701A80160E070E080E89B -:109300009FE30F94C26203C060E070E0CB01609302 -:10931000791470937A1480937B1490937C1480EF6B -:109320009FEFA9E7B4EC80937D1490937E14A093F3 -:109330007F14B0938014CC2009F443C080911502AF -:1093400090911602A0911702B091180289839A8316 -:10935000AB83BC838091190290911A02A0911B02E9 -:10936000B0911C028D839E83AF83B88780911D02CC -:1093700090911E02A0911F02B091200289879A87C6 -:10938000AB87BC8781E00F94B148DD20D1F04CE081 -:1093900050E065E172E0CE0101960F943A66892BA8 -:1093A00081F02C960FB6F894DEBF0FBECDBFDF91D3 -:1093B000CF911F910F91FF90EF90DF90CF900C9481 -:1093C00065C92C960FB6F894DEBF0FBECDBFDF91F6 -:1093D000CF911F910F91FF90EF90DF90CF90089564 -:1093E000EF92FF921F93CF93DF9386E3E82E82E103 -:1093F000F82E16E0C0E0D0E0F701EC0FFD1F608111 -:109400007181828193819B01AC010F94156581115B -:109410000CC02496C831D10579F7115088E1E80EC7 -:10942000F11C1111E7CF81E001C080E0DF91CF9105 -:109430001F91FF90EF900895CF92DF92EF92FF92ED -:109440006B017C0183E3C816D104E104F10470F0E0 -:1094500082E3C81AD108E108F10862E370E080E015 -:1094600090E00F94CC3F0F94D940ECCFC701B601E8 -:109470000F94CC3FFF90EF90DF90CF900D94D940A8 -:10948000CF93C82FCC2329F080E20E942766C150D9 -:10949000F9CFCF910895CF93DF93FC018491EF0131 -:1094A0002196882321F00E942766FE01F7CFDF91E5 -:1094B000CF910895CF9383E99AE30F944B4AC091DB -:1094C000E61282EF90E60F944B4AC11103C08EEE74 -:1094D00090E602C081EF90E60F944B4A86EE90E64C -:1094E0000F944B4A62E370E080E090E0CF910D94DE -:1094F0001C4ACF92DF92EF92FF926A017B010F9498 -:109500004B4A4AE0C701B601FF90EF90DF90CF9041 -:109510000C942E66CF93DF93EB010F944B4ABE0160 -:1095200080E090E04AE0DF91CF910C942E66CF92DC -:10953000DF92EF92FF926A017B010F944B4A42E067 -:10954000C701B601FF90EF90DF90CF900C94C766F3 -:10955000CF93DF93EB010F944B4A6AE070E0CE01AA -:10956000DF91CF910C94B7660F931F93CF93DF9346 -:109570008B010F944B4AE8018991882319F00E94CE -:109580002766FACFDF91CF911F910F91089588EC54 -:1095900090E60D944B4A82EC90E60D944B4AAF92C4 -:1095A000BF92CF92DF92EF92FF920F931F93CF93D0 -:1095B000DF930F94F049882309F453C00F94CB4AEA -:1095C0008BED90E60F944B4A96E3C92E92E1D92E8B -:1095D000C0E0D0E0760100E010E0F7016081718129 -:1095E000828193819B01AC010F941565811129C083 -:1095F0000F94CB4ABE0182ED90E60F94A84AB801C1 -:109600008FEC90E60F94A84A86ECA82E88E0B82E3E -:10961000F50181915F01882319F00E942766F8CF38 -:10962000F701608171818281938144E00E94C76665 -:109630008AE00E9427666BE470E080E090E00F947F -:109640001C4A0F5F1F4FF4E0EF0EF11C06301105AE -:1096500021F6219688E1C80ED11CC630D10509F04B -:10966000B9CFDF91CF911F910F91FF90EF90DF90D5 -:10967000CF90BF90AF9008950E948EF40E9495C045 -:109680008091540C882319F080E00E94B68A809162 -:109690007D02882399F00F94C74A8BE490E60F94DB -:1096A0004B4A60E081E490E60F947B086EE571E040 -:1096B00080E090E00F941C4A10927D020895CF93B1 -:1096C000DF93CDB7DEB7A9970FB6F894DEBF0FBE14 -:1096D000CDBF789484B5826084BD84B5816084BD3B -:1096E00085B5826085BD85B5816085BD80916E0040 -:1096F000816080936E001092810080918100826071 -:1097000080938100809181008160809381008091AD -:1097100080008160809380008091B100846080939C -:10972000B1008091B00081608093B0008091910081 -:10973000826080939100809191008160809391007C -:10974000809190008160809390008091A100826060 -:109750008093A1008091A10081608093A1008091FD -:10976000A00081608093A00080912101826080939D -:10977000210180912101816080932101809120014C -:1097800081608093200180917A00846080937A00C8 -:1097900080917A00826080937A0080917A00816063 -:1097A00080937A0080917A00806880937A0010928A -:1097B000C100259A2D986C98749A10921A0A0E94EA -:1097C000BD631092C0008091C00082608093C00091 -:1097D0001092C50087E08093C4008091C100806131 -:1097E0008093C1008091C10088608093C100809106 -:1097F000C10080688093C1000F94064085E992E320 -:109800000F944B4A0F94CB4A14B710FF04C08CE856 -:1098100092E30F944B4A11FF04C08BE792E30F943D -:109820004B4A12FF04C089E692E30F944B4A13FFA0 -:1098300004C088E592E30F944B4A15FF04C087E407 -:1098400092E30F944B4A14BE80E492E30F944B4A88 -:1098500080E20E94276687E392E30F944B4A8AE0F6 -:109860000E9427660F94CB4A87E292E30F944B4AFB -:109870008CE192E30F944B4A81E092E30F944B4AC0 -:109880000F94CB4A8AEE91E30F944B4A0F94CB4A44 -:109890008091B01E9091B11E9E012F5F3F4F7901C4 -:1098A000B901009719F0681B790B02C0665B7E4115 -:1098B0008BED91E30F94A84A60E375E084EC91E3AB -:1098C0000F94A84A8AE00E94276680910A018E7F41 -:1098D00080930A0180910B0180958170809309012A -:1098E000E091E814F091E91482E08083E091E414BF -:1098F000F091E5141082E091E614F091E71480E114 -:1099000080831092F014E091EC14F091ED1486E055 -:109910008083E091EA14F091EB1480818061808370 -:10992000E091EA14F091EB14808188608083E091EB -:10993000EA14F091EB14808180688083E091EA144E -:10994000F091EB1480818F7D80838AE58093E5160A -:109950008093951685EA8093E616809396168AE1A1 -:10996000E4E3F7E1DF011D928A95E9F780E290E0F8 -:10997000A0E0B0E08093060290930702A093080253 -:10998000B09309028091330A882319F083E090E0B4 -:1099900002C082E090E09093F1168093F01685E08B -:1099A0008093E41682E88093E7168FE190E1A0E0CF -:1099B000B0E08093E8169093E916A093EA16B0936E -:1099C000EB160F94E63284E690E09093F1168093C4 -:1099D000F01605E00093E41612E81093E71686E00F -:1099E00090E1A0E0B0E08093E8169093E916A09390 -:1099F000EA16B093EB160F94E6328BE090E090936A -:109A0000F1168093F0160093E4161093E71680E0A9 -:109A100092E1A0E0B0E08093E8169093E916A0935D -:109A2000EA16B093EB160F94E6321092F1161092EC -:109A3000F0160093E4161093E71684E390E1A0E09B -:109A4000B0E08093E8169093E916A093EA16B093DD -:109A5000EB160F94E6321092F1161092F016009366 -:109A6000E4161093E7168AE390E1A0E0B0E080935B -:109A7000E8169093E916A093EA16B093EB160F94AC -:109A8000E6326091880C7091890C80918A0C9091DB -:109A90008B0C0F9434637093F1166093F01600935F -:109AA000E4161093E71686E390E1A0E0B0E080931F -:109AB000E8169093E916A093EA16B093EB160F946C -:109AC000E6326091200A7091210A8091220A9091D9 -:109AD000230A0F9434637093F1166093F016009389 -:109AE000E4161093E7168CE390E1A0E0B0E08093D9 -:109AF000E8169093E916A093EA16B093EB160F942C -:109B0000E63282E090E09093F1168093F016009395 -:109B1000E4161093E7168EE190E1A0E0B0E08093A8 -:109B2000E8169093E916A093EA16B093EB160F94FB -:109B3000E63281E08093050260E6862E60E1962E93 -:109B4000A12CB12C75E0C72EE2E8DE2E1092F116A2 -:109B50001092F01605E0C092E41612E8D092E716D3 -:109B60008092E8169092E916A092EA16B092EB164F -:109B70000F94E632BFEF8B1A9B0AAB0ABB0AE4E7ED -:109B80008E16E0E19E06A104B10401F784E1D7013D -:109B90001D928A95E9F781E08F9390E99F938F93C7 -:109BA00098E69F938F939F9384E496E09F938F937F -:109BB000FF92EF920F94A86640E650E160E070E0FB -:109BC00081E596E00F9495324AE650E160E070E05E -:109BD0008EE596E00F94953244E750E160E070E046 -:109BE000C7010F9495324EE750E160E070E08BEED4 -:109BF00094E00F9495321092F1161092F0160093A3 -:109C0000E4161093E7168EE090E1A0E0B0E08093B8 -:109C1000E8169093E916A093EA16B093EB160F940A -:109C2000E6321092F1161092F0160093E41610939B -:109C3000E7168FE090E1A0E0B0E08093E816909303 -:109C4000E916A093EA16B093EB160F94E632EDB73F -:109C5000FEB73A960FB6F894FEBF0FBEEDBF5AE0BE -:109C6000852E50E2952EA12CB12C15E002E8412C56 -:109C7000512C32011092F1161092F0161093E41646 -:109C80000093E716D501C401840D951DA61DB71DCF -:109C90008093E8169093E916A093EA16B093EB161A -:109CA0000F94E632FFEF4F1A5F0A6F0A7F0A2AE02D -:109CB0004216510461047104E9F63AE0830E911CE6 -:109CC000A11CB11C42ED841640E29406A104B1042B -:109CD00071F6812C40E2942EA12CB12C05E012E803 -:109CE0001092F1161092F0160093E4161093E716F6 -:109CF0008092E8169092E916A092EA16B092EB16BE -:109D00000F94E6321092F1161092F0160093E416BA -:109D10001093E716D501C4018C529F4FAF4FBF4F30 -:109D20008093E8169093E916A093EA16B093EB1689 -:109D30000F94E6325FEF851A950AA50AB50A8AE004 -:109D4000881680E29806A104B10451F63EED832EF8 -:109D500030E2932EA12CB12C05E012E81092F116FE -:109D60001092F0160093E4161093E7168092E8160E -:109D70009092E916A092EA16B092EB160F94E63292 -:109D80009FEF891A990AA90AB90AA6EE8A16A0E2D3 -:109D90009A06A104B10411F78824839492E1992EC4 -:109DA000A12CB12C2AE0C22ED12C05E012E8D092D1 -:109DB000F116C092F0160093E4161093E716809205 -:109DC000E8169092E916A092EA16B092EB160F945C -:109DD000E632D092F116C092F0160093E41610937A -:109DE000E716D501C4018096A11DB11D8093E81628 -:109DF0009093E916A093EA16B093EB160F94E6320F -:109E0000BFEF8B1A9B0AAB0ABB0AE5E18E16E2E1B3 -:109E10009E06A104B10459F684E796E00E944567C6 -:109E20000F941C090E94CE631BE4C12E1AE0D12EB0 -:109E300005E112E081E2A82E82E0B82ED6012D9134 -:109E40003D914D915D916D01F8016081718182813B -:109E500093810F94C861D8016D937D938D939D93E9 -:109E60008D01AA16BB0651F70E9486C6249A2C982B -:109E700080910101806280930101809102018072D2 -:109E800080930001809101018064809301018091A1 -:109E9000010180618093010187ED80937A00109227 -:109EA0007E0010927D0080917D00806280937D0015 -:109EB00080917D00806480937D0080E888BD8091E2 -:109EC0006E00846080936E006AEF70E080E090E046 -:109ED0000F94CC3F85E090E09093110280931002A4 -:109EE00000910C0210910D0260E0C8010E9496F5ED -:109EF00020E030E040EA50E40F94D25A87FF07C0D8 -:109F00000051110910930D0200930C02E9CF8BE36D -:109F100091E0909313028093120200910E0210912F -:109F20000F0260E0C8010E9496F520E030E84DE99C -:109F300053E40F94286418163CF4005F1F4F1093ED -:109F40000F0200930E02E9CF00910A0210910B025A -:109F5000C8010E94FDF420E030E040EA50E40F9494 -:109F6000D25A87FF07C00051110910930B020093CA -:109F70000A02EACF0091340A1091350AC8010E9402 -:109F8000FDF420E030E046E153E40F942864181615 -:109F90003CF4005F1F4F1093350A0093340AEACF58 -:109FA0000F94540519A682E390E09AA389A31A821C -:109FB00019821E01B1E22B0E311C01E0970141E034 -:109FC00050E0BE01675D7F4FC1010E94ED6389A52E -:109FD000863119F00E9450C10FC083E390E09AA32C -:109FE00089A31A82198201E0970140E150E067E3FA -:109FF0007AE0C1010E94ED6381E08093360A5398B4 -:10A000005B9A6D98759A809104018D7F809304010D -:10A010008091050180958270809303011092480A17 -:10A020001092470A0E9464C7819A879A80910A0118 -:10A03000826080930A010E9A3B9A579A5F9A829A9D -:10A040008A9A8091070181608093070180910801BD -:10A0500080958170809306010A9A129A3F9A479AD6 -:10A06000809A88985F9A8091D6148E7F8093D614B8 -:10A07000869A8E988A9A8091D6148D7F8093D61472 -:10A0800080910A01886080930A0180910B01887099 -:10A090008093090180910801809581708093060169 -:10A0A0008091D6148B7F8093D6140C9A1498129AB0 -:10A0B000809180008C7F8093800080918100877EDA -:10A0C000886080938100809180008F7380938000EE -:10A0D00080918100887F82608093810080E090E49D -:10A0E00090938900809388001092850010928400DC -:10A0F00080916F00826080936F0078941092490A7B -:10A100000E949FF6E0915616E43208F042C0F0E05B -:10A11000CF01880F991FE80FF91FE751FA4E808190 -:10A1200080788B60808361E08BE00F94A83E109272 -:10A13000571610925816809156166CE00F948B614A -:10A1400090E0ECE08E9FB001112440E050E09B01D4 -:10A15000240F351FF901EE0FFF1F2E0F3F1FF901CE -:10A16000E751FA4E208127FD07C04F5F5F4F4C300B -:10A17000510569F70E947E64E0915616F0E0CF0128 -:10A18000880F991FE80FF91FE751FA4E8081806808 -:10A19000808386E596E10E94DF636AE570E086E5EC -:10A1A00096E10E94AF6410924A0A0E9464C781E05F -:10A1B0000F94070F98E288E10FB6F894A895809362 -:10A1C00060000FBE90936000109253170E9444717C -:10A1D0009E012F5F3F4F590180E00E946B67809185 -:10A1E000531787FD41C080916C1882FD3DC083FDEF -:10A1F00003C00E94E67102C00E94CE6380916C1879 -:10A2000083FF2FC080915317082E000C990BC09626 -:10A210009F938F934CE952E35F934F933F922F921A -:10A220000F946A5A8EEC95E10E94B8B50F900F908A -:10A230000F900F900F900F908091D115823088F081 -:10A240008091D6159091D715A091D815B091D915B8 -:10A250008F719927AA27BB27892B8A2B8B2B09F46F -:10A2600067C1FFEFF093531780916C1885FF1FC0F3 -:10A270000E9475711092DB0B1092570A1092DA0B44 -:10A280000E9404C40E941AC28EEF0E9418C60E9447 -:10A2900086C60E9495C00E948EF40E94DA631092D6 -:10A2A00014022EEE32E33093590A2093580A8DB6E9 -:10A2B0009EB66091580A7091590A6115710581F036 -:10A2C000E12CF12CFB01EE0DFF1D749087010F5F57 -:10A2D0001F4F772039F03AE0731621F07801F2CF62 -:10A2E00080E02CC0EDB7FEB7E01BF10B0FB6F89481 -:10A2F000FEBF0FBEEDBF2DB73EB72F5F3F4F6901C9 -:10A30000A701C9010F940C5AF601EE0DFF1D108232 -:10A31000772009F445C18091580A9091590A080F95 -:10A32000191F1093590A0093580AEF2831F0C601FB -:10A330000F94E31F80E00E94B64C81E00FB6F894C2 -:10A340009EBE0FBE8DBE8111C3C08091DB0B8823E2 -:10A3500009F4BEC080916C1880FF9EC00091DA0B9A -:10A3600040E6409F80011124065A154F6FEC72E3BE -:10A37000C8010F94505A009739F0DC0113968C9164 -:10A3800080538A3008F08BC0F80101900020E9F773 -:10A3900031977F01E01AF10A109275156EE470E0B2 -:10A3A000C8010F946E666C01892B09F406C160E246 -:10A3B00070E0C6010F946E668C010F5F1F4F6AE25A -:10A3C00070E0C6010F946E66FC013197BDE0B18369 -:10A3D0002AE022831382F80101900020E9F73197E7 -:10A3E0007F01E01AF10A80917815813009F0E1C00F -:10A3F0008091761581FFDDC082FF16C040918615E1 -:10A4000050918715609188157091891580917D15FF -:10A4100090917E15A0917F15B091801584179507B6 -:10A42000A607B70709F0BFC040917D1550917E1572 -:10A4300060917F1570918015E114F10409F0C4C09A -:10A440008091861590918715A0918815B0918915F6 -:10A4500084179507A607B70768F4409386155093AD -:10A46000871560938815709389158091761580689B -:10A47000809376158091761583FDB6C18091751510 -:10A48000882331F00F94C74A85EA92E30F944B4A30 -:10A4900080916C1881FF09C00F94272708C00F9482 -:10A4A000DC3B8CEB92E30F944B4A0E94FFA380911C -:10A4B000DB0B882369F081508093DB0B8091DA0BF2 -:10A4C0008F5F843018F48093DA0B02C01092DA0B9D -:10A4D0008091DC0B882339F19091DC0B8091DD0BAE -:10A4E000981709F10F94CB4A8FED92E30F944B4AE2 -:10A4F0008091DC0B80FD7FC18091DC0B84FD7BC1F2 -:10A500008091DC0B81FD81C18091DC0B85FD7DC1DB -:10A510008091DC0B82FD83C18091DC0B86FD7FC1C5 -:10A520008AE00E9427668091DC0B8093DD0B54CE7D -:10A5300040E050E0B5018EEC95E10E947AB8181623 -:10A540000CF08FCEF50101900020E9F73197FE2E37 -:10A55000FA18FA949FEFF91669F085010F0D111D95 -:10A56000F7FC1A95D8018C9190E00F943266F801AF -:10A570008083EFCF8A858E3709F45ECE45E050E0C8 -:10A58000B101C5010F948066892B09F055CEC10138 -:10A590000E948E71809153178F5F8093531764CE02 -:10A5A00000E010E0BECE85E795E10E9479B381110D -:10A5B0003BCFA1E0A093751561CF31E0E31AF1081C -:10A5C000F801EE0DFF1D02CF80918E1590918F1531 -:10A5D000DC0114967C902FEF270D2A013B0139E016 -:10A5E00076946794579447943A95D1F7722E7420D5 -:10A5F0006A01B1E0DB2271104CC0C114D10409F032 -:10A6000048C04091791550917A1560917B157091F1 -:10A610007C15411551056105710569F480918A1514 -:10A6200090918B15A0918C15B0918D150097A10577 -:10A63000B10539F51FC095010E94F476882309F40D -:10A64000B8CF89819A81AB81BC81E0918E15F09160 -:10A650008F152789203139F4883FEFEF9E07A10538 -:10A66000B10540F40EC0883FFFEF9F07AF07FFE042 -:10A67000BF0738F085E795E10E94B3B4811109C0A6 -:10A6800098CF8093791590937A15A0937B15B0930A -:10A690007C1580E092E08C199D0947018E159F057D -:10A6A00008F44C01E0918E15F0918F158091791589 -:10A6B00090917A15A0917B15B0917C150297A10914 -:10A6C000B109058404C0880F991FAA1FBB1F0A94F3 -:10A6D000D2F74685578560897189840F951FA61F1B -:10A6E000B71F9C01AD01270D311D411D511D2901D1 -:10A6F0003A01811432E0930631F58091331B909139 -:10A70000341BA091351BB091361B481659066A06BA -:10A710007B0669F410923B1B8FEF9FEFDC01809367 -:10A72000331B9093341BA093351BB093361B9801B9 -:10A73000B301A20180913C1B90913D1B0E940FB67A -:10A74000811139C036CFC114D10431F540917D1546 -:10A7500050917E1560917F157091801580918615BE -:10A7600090918715A0918815B091891548175907C0 -:10A770006A077B0788F00E9472B6882309F419CF14 -:10A7800091E090933B1B4092331B5092341B60929C -:10A79000351B7092361B08C041E0C301B2010E9414 -:10A7A0002976882309F405CFA401B801C6018D5C80 -:10A7B000964E0F94476680917D1590917E15A091DD -:10A7C0007F15B0918015880D991DA11DB11D809335 -:10A7D0007D1590937E15A0937F15B0938015080D7D -:10A7E000191DE818F90820CE85E795E10E94B2B658 -:10A7F000811144CEDECE80E00E94D7C3AB01BC0104 -:10A800008BED92E30F94974A7BCE81E00E94D7C3F1 -:10A81000AB01BC0187ED92E30F94974A79CE82E0B9 -:10A820000E94D7C3AB01BC0183ED92E30F94974A1A -:10A8300077CECF93DF9385E795E10E94EEB6C2E62F -:10A84000D8E16B97CE010E94EEB687E1C435D807F8 -:10A85000C1F783EB95E10E94EEB68EEC95E1DF91B6 -:10A86000CF910C94EEB6CF92DF92EF92FF926B01F4 -:10A870007C0180E090E0A0E8BFE3809355029093D4 -:10A880005602A0935702B09358028091D71481FFCB -:10A890000E9429E3C092CE18D092CF18E092D0182F -:10A8A000F092D1188091D71482608093D714FF90D2 -:10A8B000EF90DF90CF9008958091D71481FF09C069 -:10A8C0006091CE187091CF188091D0189091D118C6 -:10A8D000089560912102709122028091230290914B -:10A8E0002402089586E40E94C28C8093C2138823B8 -:10A8F00051F00E948B8C60935002709351028093B0 -:10A9000052029093530283E50E94C28C882351F037 -:10A910000E948B8C60934C0270934D0280934E0288 -:10A9200090934F0282E40E94C28C882351F00E94CF -:10A930008B8C609348027093490280934A029093F3 -:10A940004B0208950F941C0910926B14109214027C -:10A950000E94F1A3882321F080916C1882FF07C028 -:10A9600061E08CE594E50F94EF090C94E5BF83E674 -:10A9700094E59093590A8093580AF2CF1092DB1411 -:10A980001092DA1488EE93E0A0E0B0E08093DC143B -:10A990009093DD14A093DE14B093DF1483E993E069 -:10A9A0009093D9148093D81485ED90E09093E5149A -:10A9B0008093E41484ED90E09093E7148093E61480 -:10A9C00080ED90E09093E9148093E81481ED90E09D -:10A9D0009093EB148093EA1482ED90E09093ED1441 -:10A9E0008093EC1486ED90E09093EF148093EE1436 -:10A9F0001092F1141092F2141092F3141092F414B5 -:10AA00001092CE151092D1151092B3151092B61562 -:10AA1000E4E5F7E1108213827B9628E1E236F20743 -:10AA2000C9F789E18093AF151092B2151092A7155E -:10AA3000109275151092781580915516843220F079 -:10AA40008FEF8093561613C091E0980F9093551690 -:10AA50008093561690E0FC01EE0FFF1F8E0F9F1F94 -:10AA6000FC01E751FA4E88EB9BE09283818380E101 -:10AA7000E2E8F6E1DF01282F1D922A95E9F7E2E7E7 -:10AA8000F6E1DF01282F1D922A95E9F7E2E6F6E1CB -:10AA9000DF011D928A95E9F710925E1610925F16FB -:10AAA000109260161092611610925D1610925C164C -:10AAB00010925B1610925A16109259168FE79FE06B -:10AAC00090939316809392168AE58093E51680936F -:10AAD000951685EA8093E616809396168AE1E4E35C -:10AAE000F7E1DF011D928A95E9F781E080934E1727 -:10AAF00080934F178093501780935117809352176C -:10AB00000F94D94880916C18847F8B7F80936C1848 -:10AB1000109268181092691810926A1810926B18A7 -:10AB200010926418109265181092661810926718A7 -:10AB300010926318109262188EE091E0E4E5F7E15C -:10AB4000DF019C011D9221503040E1F78FEF80938F -:10AB500053170895EF920F931F93CF93DF93E8015C -:10AB600047FD02C034E001C034E1042E000C550B57 -:10AB700057FF03C0519541955109E32E022F242F11 -:10AB8000AE010F94AF5DCE01DF91CF911F910F9178 -:10AB9000EF9008958F929F92AF92BF92CF92DF92E3 -:10ABA000EF92FF92CF93DF93EC01688179818A81E4 -:10ABB0009B81611571058105910521F464E279EDB0 -:10ABC0008BE597E02DE133EF41E050E00F944A61CF -:10ABD00049015A019B01AC01A7EAB1E40F946961F4 -:10ABE0006B017C01ACEEB4EFA50194010F94776189 -:10ABF000DC01CB018C0D9D1DAE1DBF1DB7FF03C039 -:10AC00000197A109B04888839983AA83BB83BC01BB -:10AC1000CD019F77DF91CF91FF90EF90DF90CF90A4 -:10AC2000BF90AF909F908F9008958F929F92AF9218 -:10AC3000BF92CF92DF92EF92FF9260917F0270916C -:10AC400080028091810290918202611571058105D7 -:10AC5000910521F464E279ED8BE597E02DE133EF86 -:10AC600041E050E00F944A6149015A019B01AC0157 -:10AC7000A7EAB1E40F9469616B017C01ACEEB4EF1B -:10AC8000A50194010F947761DC01CB018C0D9D1D12 -:10AC9000AE1DBF1DB7FF03C00197A109B048809347 -:10ACA0007F0290938002A0938102B0938202BC0144 -:10ACB000CD019F77FF90EF90DF90CF90BF90AF9046 -:10ACC0009F908F90089560937F027093800280938D -:10ACD00081029093820208958F929F92AF92BF92C9 -:10ACE000CF92DF92EF92FF920F931F93CF93DF9358 -:10ACF000EC016B016115710519F0FB0191838083F3 -:10AD00007E01FFEFEF1AFF0A0881802F90E00F9479 -:10AD1000035A892B11F0E701F3CF0D3239F47E018C -:10AD200082E0E80EF11C098111E008C00B3229F421 -:10AD30007E0192E0E90EF11C098110E0E701219704 -:10AD400043E050E066EE74E0CE010F94295A892B5F -:10AD5000C1F4239645E050E061EE74E0CE010F941B -:10AD6000295A892B09F42596C114D10419F0F6014A -:10AD7000D183C0831111F6C060E070E080E89FE7E6 -:10AD8000FAC043E050E06EED74E0CE010F94295A12 -:10AD9000892B59F4C114D10409F4E9C0F2E0EF0E93 -:10ADA000F11CF601F182E082E2C020E030E0A9016E -:10ADB000C0E0D0E0F70160EDA62EA00E89E08A1574 -:10ADC00030F1912F9260B92E812F887012FF04C04C -:10ADD000811124C0219622C081112197A5E0B0E005 -:10ADE0000F946961DC01CB01880F991FAA1FBB1F5B -:10ADF0009C01AD012A0D311D411D511D283989E9E4 -:10AE00003807480789E1580748F0166006C09EEFEA -:10AE1000A9120AC013FD40C01860B12E8FEFE81AC6 -:10AE2000F80A00811B2DC6CF802F8F7D8534A1F5B8 -:10AE300080818D3211F4106106C08B3221F0319681 -:10AE400061E070E004C08181329662E070E080537E -:10AE50008A3018F0E61BF70B1FC060E070E0603826 -:10AE60009CE079075CF4DB01AA0FBB1FAA0FBB1F94 -:10AE70006A0F7B1F660F771F680F711D3196DF0108 -:10AE800011978C9180538A3050F314FF03C0719551 -:10AE900061957109C60FD71F11FF08C0C114D104F5 -:10AEA00029F0CF010197F60191838083CA01B9018E -:10AEB0000F94D75A212F2370233019F04B015C01D6 -:10AEC00006C04B015C01B7FAB094B7F8B09420E02B -:10AED00030E0A901C501B4010F94D25A882309F4C6 -:10AEE0003EC0D7FF06C0D195C195D1090DEF14E042 -:10AEF00002C005E115E06801F8E1CF1AD10890E23F -:10AF0000E92EF12CCE15DF0574F0F801259135916D -:10AF100045915491C501B4010F94385B4B015C011C -:10AF2000CE19DF09EFCF04501109F594E7940C1501 -:10AF30001D0541F78A2D880F8B2D881F8F3F49F003 -:10AF400020E030E0A901C501B4010F94D25A81116B -:10AF500006C082E290E09093B51E8093B41EC501B6 -:10AF6000B40109C060E070E080E89FEF04C060E0D9 -:10AF700070E080EC9FE7DF91CF911F910F91FF90E0 -:10AF8000EF90DF90CF90BF90AF909F908F900895FB -:10AF90003F924F925F926F927F928F929F92AF9269 -:10AFA000BF92CF92DF92EF92FF920F931F93CF93B6 -:10AFB000DF935C016B017A016115710519F0FB01EA -:10AFC00091838083E114F10429F0C70102978397EC -:10AFD00008F0E5C0E5012196F5011081812F90E090 -:10AFE0000F94035A892B11F05E01F4CF1D3229F41E -:10AFF0002196F501118101E007C01B3221F4E50122 -:10B000002296F501118100E0E114F10409F1F0E16B -:10B01000EF16F10429F43FC010E3E114F10421F12B -:10B0200028E0E216F10401F154F4E2E0EE16F10436 -:10B0300021F5812C912CA12CB0E4BB2E3EC0FAE06E -:10B04000EF16F10439F020E1E216F104B1F430C05A -:10B05000103319F1FAE0EF2EF12CACEC8A2E982C7B -:10B06000A82CACE0BA2E29C078E0E72EF12C812C78 -:10B07000912CA12CE0E1BE2E20C060E070E080E0C9 -:10B0800090E897010F2C000C440B550B0F9428618E -:10B0900049015A0112C0103359F488818F7D8835D7 -:10B0A00009F0BACF19812296026080E1E82EF12CD6 -:10B0B000812C912CA12C68E0B62E40E060E070E07D -:10B0C000CB0127010F2C000C66087708FE0150ED1C -:10B0D000352E310E29E0231570F42FEB210F2A3184 -:10B0E00018F439EC332E06C02FE9210F2A3118F558 -:10B0F00029EA322E310E232D30E02E153F05DCF4E7 -:10B1000047FD16C086169706A806B90670F0A3017B -:10B1100092010F941861630D711D811D911D6130A5 -:10B120007105810520E8920710F04FEF01C041E062 -:10B1300021961081CBCF202F2170C114D10471F042 -:10B14000442329F02197F601D183C08307C001FF72 -:10B1500019C02297F601D183C08314C047FF12C0E3 -:10B16000222329F060E070E080E090E804C06FEFF7 -:10B170007FEF8FEF9FE722E230E03093B51E209300 -:10B18000B41E09C0222381F0909580957095619539 -:10B190007F4F8F4F9F4F462F372F282F12C040E0F1 -:10B1A00030E020E090E00DC097FFF5CF82E290E024 -:10B1B0009093B51E8093B41E6FEF7FEF8FEF9FE7E4 -:10B1C000EACF642F732F822FDF91CF911F910F91C0 -:10B1D000FF90EF90DF90CF90BF90AF909F908F90B7 -:10B1E0007F906F905F904F903F9008953F924F9265 -:10B1F0005F926F927F928F929F92AF92BF92CF9207 -:10B20000DF92EF92FF920F931F93CF93DF935C0136 -:10B210006B017A016115710519F0FB01918380833F -:10B22000E114F10429F0C7010297839708F0C9C01F -:10B23000E5012196F5011081812F90E00F94035ACA -:10B24000892B11F05E01F4CF1D3229F42196F5010E -:10B25000118101E007C01B3221F4E5012296F501BE -:10B26000118100E0E114F104B1F0F0E1EF16F10416 -:10B2700029F4B0C010E3E114F10401F12AE0E21670 -:10B28000F104B1F180E1E816F10471F0E8E0EE16A6 -:10B29000F104F1F413C0103341F588818F7D8835B6 -:10B2A00049F7198122960260F0E1EF2EF12C8824F3 -:10B2B0008A94982CA82CAFE0BA2E20C078E0E72E14 -:10B2C000F12C88248A94982CA82CEFE1BE2E16C06D -:10B2D0006FEF7FEFCB0197010F2C000C440B550B48 -:10B2E0000F94286149015A0109C08AE0E82EF12C27 -:10B2F00069E9862E982CA82C69E1B62E40E060E022 -:10B3000070E0CB0127010F2C000C66087708FE01C6 -:10B3100050ED352E310E29E0231570F42FEB210F5F -:10B320002A3118F439EC332E06C02FE9210F2A31C7 -:10B3300030F529EA322E310E232D30E02E153F054F -:10B34000F4F44F3FC9F086169706A806B90688F0B0 -:10B35000A30192010F941861232D30E040E050E0EA -:10B36000620F731F841F951F621773078407950769 -:10B3700010F44FEF01C041E021961081C8CFC114F5 -:10B38000D10451F0442311F0219703C001FF04C000 -:10B390002297F601D183C08300FF07C09095809566 -:10B3A000709561957F4F8F4F9F4F4F3F79F482E2A9 -:10B3B00090E09093B51E8093B41E3FEF2FEF9FEF68 -:10B3C0000DC040E030E020E090E008C0462F372F6D -:10B3D000282F04C0103309F067CF5FCF642F732F7D -:10B3E000822FDF91CF911F910F91FF90EF90DF900F -:10B3F000CF90BF90AF909F908F907F906F905F9015 -:10B400004F903F90089591110D94FE5F803219F096 -:10B4100089508550C8F70895FB01DC0102C00590F2 -:10B420000D9241505040D8F70895FC010590061642 -:10B4300021F00020D9F7C00108953197CF01089578 -:10B44000FC0105900020E9F7809590958E0F9F1FD5 -:10B450000895FB01DC014150504088F08D9181340A -:10B460001CF08B350CF4805E659161341CF06B35FB -:10B470000CF4605E861B611171F3990B0895881BB3 -:10B48000FCCFFB01DC014150504048F005900D928B -:10B490000020C9F701C01D9241505040E0F70895C7 -:10B4A000FB0155915523A9F0BF01DC014D914517D2 -:10B4B0004111E1F759F4CD010590002049F04D917B -:10B4C00040154111C9F3FB014111EFCF81E090E03C -:10B4D000019708950F931F93CF93DF93CDB7DEB7F6 -:10B4E0002E970FB6F894DEBF0FBECDBF0E891F8911 -:10B4F0008EE08C831A8309838FEF9FE79E838D8371 -:10B50000AE01465E5F4F688D798DCE0101960F9436 -:10B51000A55BEF81F885E00FF11F10822E960FB624 -:10B52000F894DEBF0FBECDBFDF91CF911F910F9179 -:10B5300008950F931F93CF93DF93CDB7DEB72E9768 -:10B540000FB6F894DEBF0FBECDBF8C01FA018EE0BE -:10B550008C831A83098377FF02C060E070E8CB0117 -:10B5600001979E838D83A901BF01CE0101960F949F -:10B57000A55B4D815E8157FD0AC02F81388542173A -:10B5800053070CF49A01F801E20FF31F10822E9674 -:10B590000FB6F894DEBF0FBECDBFDF91CF911F91E4 -:10B5A0000F9108950F94145B08F481E00895E894D6 -:10B5B00009C097FB3EF490958095709561957F4FFB -:10B5C0008F4F9F4F9923A9F0F92F96E9BB279395A9 -:10B5D000F695879577956795B795F111F8CFFAF4B9 -:10B5E000BB0F11F460FF1BC06F5F7F4F8F4F9F4FEA -:10B5F00016C0882311F096E911C0772321F09EE848 -:10B60000872F762F05C0662371F096E8862F70E0AD -:10B6100060E02AF09A95660F771F881FDAF7880F87 -:10B620009695879597F90895990F0008550FAA0BDD -:10B63000E0E8FEEF16161706E807F907C0F0121645 -:10B640001306E407F50798F0621B730B840B950B48 -:10B6500039F40A2661F0232B242B252B21F408959D -:10B660000A2609F4A140A6958FEF811D811D08953A -:10B670000F944B5B0D94C8600F94BA6038F00F9430 -:10B68000C16020F0952311F00D94B1600D94B76066 -:10B6900011240D94FC600F94D96070F3959FC1F351 -:10B6A000950F50E0551F629FF001729FBB27F00D70 -:10B6B000B11D639FAA27F00DB11DAA1F649F6627C5 -:10B6C000B00DA11D661F829F2227B00DA11D621F14 -:10B6D000739FB00DA11D621F839FA00D611D221FCE -:10B6E000749F3327A00D611D231F849F600D211DB2 -:10B6F000822F762F6A2F11249F5750409AF0F1F035 -:10B7000088234AF0EE0FFF1FBB1F661F771F881F9D -:10B7100091505040A9F79E3F510580F00D94B160C3 -:10B720000D94FC605F3FE4F3983ED4F386957795E3 -:10B730006795B795F795E7959F5FC1F7FE2B880F43 -:10B74000911D9695879597F908952F923F924F9264 -:10B750005F926F927F928F929F92AF92BF92CF92A1 -:10B76000DF92EF92FF920F931F93CF93DF93CDB7AA -:10B77000DEB72B970FB6F894DEBF0FBECDBF6C01BE -:10B780007B018A01FC0117821682838181FFCCC173 -:10B79000CE0101963C01F6019381F70193FD85915D -:10B7A00093FF81917F01882309F4BAC1853239F46E -:10B7B00093FD859193FF81917F01853229F4B60134 -:10B7C00090E00F941760E7CF912C212C312CFFE1F2 -:10B7D000F315D8F08B3279F038F4803279F0833277 -:10B7E000A1F4232D20611DC08D3261F0803369F4F6 -:10B7F000232D216016C0832D8260382EE32DE46056 -:10B800003E2E2AC0F32DF8601DC037FC2DC020ED60 -:10B81000280F2A3040F08E32B9F436FC81C1232D36 -:10B820002064322E19C036FE06C08AE0989E200D94 -:10B830001124922E11C0EAE02E9E200D1124222EFA -:10B84000F32DF0623F2E08C08C3621F4832D8068E2 -:10B85000382E02C0883641F4F70193FD859193FF9D -:10B8600081917F018111B3CF982F9F7D95549330A3 -:10B8700028F40C5F1F4F9FE399830DC0833631F08E -:10B88000833771F0833509F059C021C0F8018081F8 -:10B8900089830E5F1F4F88248394912C530113C01A -:10B8A0002801F2E04F0E511CF801A080B18036FE55 -:10B8B00003C0692D70E002C06FEF7FEFC5010F94E8 -:10B8C0000C604C018201F32DFF773F2E16C028013A -:10B8D00022E0420E511CF801A080B18036FE03C068 -:10B8E000692D70E002C06FEF7FEFC5010F9401601A -:10B8F0004C01F32DF0683F2E820133FC1BC0822DDA -:10B9000090E088169906B0F4B60180E290E00F94BA -:10B9100017602A94F4CFF50137FC859137FE8191A9 -:10B920005F01B60190E00F94176021102A9421E086 -:10B93000821A91088114910471F7E8C0843611F0DD -:10B94000893641F5F80137FE07C060817181828137 -:10B9500093810C5F1F4F08C060817181072E000C1E -:10B96000880B990B0E5F1F4FF32DFF763F2E97FF2D -:10B9700009C090958095709561957F4F8F4F9F4F2F -:10B98000F0683F2E2AE030E0A3010F945360882E28 -:10B99000861845C0853731F4232D2F7EB22E2AE03C -:10B9A00030E025C0932D997FB92E8F36C1F018F461 -:10B9B000883579F0B5C0803719F0883721F0B0C0EC -:10B9C000E92FE061BE2EB4FE0DC0FB2DF460BF2E4A -:10B9D00009C034FE0AC0292F2660B22E06C028E016 -:10B9E00030E005C020E130E002C020E132E0F801A3 -:10B9F000B7FE07C060817181828193810C5F1F4F08 -:10BA000006C06081718180E090E00E5F1F4FA3014E -:10BA10000F945360882E8618FB2DFF773F2E36FE3D -:10BA20000DC0232D2E7FA22E891458F434FE0BC096 -:10BA300032FC09C0832D8E7EA82E05C0B82CA32C05 -:10BA400003C0B82C01C0B92CA4FE0FC0FE01E80D44 -:10BA5000F11D8081803321F49A2D997EA92E09C091 -:10BA6000A2FE06C0B394B39404C08A2D867809F070 -:10BA7000B394A3FC11C0A0FE06C0B21488F4280C35 -:10BA8000922C9B180EC0B21460F4B60180E290E0D4 -:10BA90000F941760B394F7CFB21418F42B1802C0A8 -:10BAA000982C212CA4FE10C0B60180E390E00F94E6 -:10BAB0001760A2FE17C0A1FC03C088E790E002C097 -:10BAC00088E590E0B6010CC08A2D867859F0A1FE79 -:10BAD00002C08BE201C080E2A7FC8DE2B60190E0DB -:10BAE0000F941760891438F4B60180E390E00F9446 -:10BAF00017609A94F7CF8A94F301E80DF11D8081C5 -:10BB0000B60190E00F9417608110F5CF222009F460 -:10BB100042CEB60180E290E00F9417602A94F6CFEF -:10BB2000F6018681978102C08FEF9FEF2B960FB6AB -:10BB3000F894DEBF0FBECDBFDF91CF911F910F9163 -:10BB4000FF90EF90DF90CF90BF90AF909F908F903D -:10BB50007F906F905F904F903F902F9008958F92BD -:10BB60009F92AF92BF92CF92DF92EF92FF920F938C -:10BB70001F93CF93DF93CDB7DEB729970FB6F89415 -:10BB8000DEBF0FBECDBF6A01122FB02E2BE32017F0 -:10BB900020F0FF24F394F00E02C02CE3F22E0F2DC0 -:10BBA00027E0AE014F5F5F4F0F94265FBC014981D4 -:10BBB000842F8970813031F0E1FC06C0E0FE06C0C0 -:10BBC00090E205C09DE203C09BE201C090E05E2DC3 -:10BBD000507143FF3CC0911102C083E001C084E07A -:10BBE000811718F4212F281B01C020E051110BC030 -:10BBF000F601822F30E2882319F031938150FBCF78 -:10BC0000C20ED11C20E0992329F0D6019C93F601A5 -:10BC100031966F01C6010396E2FE0AC03EE4D601EA -:10BC20003C9341E411964C93119712963C9306C0B5 -:10BC30003EE6F601308341E641833283FC01322F38 -:10BC400040E2332309F442C041933150FACF42FF1E -:10BC500044C0911102C083E001C084E0811718F450 -:10BC6000212F281B01C020E051110BC0F601822FAB -:10BC700030E2882319F031938150FBCFC20ED11CE2 -:10BC800020E0992329F0D6019C93F60131966F01AB -:10BC9000C6010396E2FE0BC039E4D6013C933EE4B4 -:10BCA00011963C93119736E412963C9307C039E6FF -:10BCB000F60130833EE6318336E63283FC01322FD3 -:10BCC00040E2332319F041933150FBCFFC01E20FE6 -:10BCD000F11D10828EEF9FEFA6C021E030E09111A0 -:10BCE00002C020E030E0161617061CF4FB01319666 -:10BCF00002C0E1E0F0E02E0F3F1FBB2021F0EB2D52 -:10BD0000F0E0319602C0E0E0F0E02E0F3F1FE12F9F -:10BD1000F0E02E173F071CF4121B212F01C020E07A -:10BD20008E2D887159F4F601822F30E2882319F0A4 -:10BD300031938150FBCFC20ED11C20E0992329F012 -:10BD4000D6019C93F60131966F0151110BC0F6019B -:10BD5000822F90E3882319F091938150FBCFC20E7C -:10BD6000D11C20E00F2D060F9A81342F307144FF33 -:10BD700003C0913309F40150101624F4093018F06F -:10BD800008E001C001E0AB0177FF02C040E050E0F5 -:10BD9000FB01E41BF50BA1E0B0E0AC0FBD1FEA0F07 -:10BDA000FB1F8EE2A82E4B01801A91080B2D10E08C -:10BDB0001195019511094F3FBFEF5B0721F4D601A3 -:10BDC000AC9211966D01641775072CF084169506D8 -:10BDD00014F4818101C080E3415051093196D601AC -:10BDE00011967D014017510724F0D6018C9367010D -:10BDF000E2CF6417750739F4963320F4953319F4BC -:10BE0000311101C081E3F6018083F701822F90E2B6 -:10BE1000882319F091938150FBCFF701E20FF11DB8 -:10BE2000108280E090E029960FB6F894DEBF0FBE36 -:10BE3000CDBFDF91CF911F910F91FF90EF90DF90D9 -:10BE4000CF90BF90AF909F908F900895283008F0CA -:10BE500027E03327DA01990F311D87FD91600096A5 -:10BE60006105710539F432602E5F3D9330E32A9508 -:10BE7000E1F708959F3F30F080387105610509F0C2 -:10BE80003C5F3C5F3D93913008F08068911DDF93EB -:10BE9000CF931F930F93FF92EF92192F987F969550 -:10BEA000E92F96959695E90FFF27ED58FA4F9927B8 -:10BEB0003327EE24FF24A701E70105900894079497 -:10BEC00028F4360FE71EF81E491F511D660F771F15 -:10BED000881F991F0694A1F70590079428F4E70E90 -:10BEE000F81E491F561FC11D770F881F991F661F17 -:10BEF0000694A1F70590079428F4F80E491F561FE1 -:10BF0000C71FD11D880F991F661F771F0694A1F7C1 -:10BF10000590079420F4490F561FC71FD81F990F8B -:10BF2000661F771F881F0694A9F7849110951770D4 -:10BF300041F0D695C79557954795F794E7941A958C -:10BF4000C1F7E9E1F5E06894159015913591659197 -:10BF5000959105907FE27395E118F10A430B560B1A -:10BF6000C90BD009C0F7E10CF11E431F561FC91FB2 -:10BF7000D01D7EF4703311F48A95E6CFE894015019 -:10BF800030F0080F0AF40027021708F4202F239539 -:10BF9000022F7A3328F079E37D932A95E9F710C0D0 -:10BFA0007D932A9589F60694979567953795179509 -:10BFB0001794E118F10A430B560BC90BD00998F0FE -:10BFC00023957E9173957A3308F070E37C93201368 -:10BFD000B8F77E9170617D9330F0839571E37D9326 -:10BFE00070E32A95E1F71124EF90FF900F911F91D4 -:10BFF000CF91DF91992787FD9095089599278827FC -:10C000000895FC010590615070400110D8F78095AB -:10C0100090958E0F9F1F0895FC0161507040019014 -:10C020000110D8F7809590958E0F9F1F08950F935C -:10C030001F93CF93DF93FB01238121FD03C08FEF7B -:10C040009FEF2CC022FF16C0468157812481358185 -:10C050004217530744F4A081B1819D012F5F3F4FE8 -:10C06000318320838C93268137812F5F3F4F378325 -:10C07000268314C08B01EC01FB010084F185E02DC7 -:10C080001995892BE1F6D80116968D919C911797F9 -:10C09000019617969C938E931697CE01DF91CF91C0 -:10C0A0001F910F910895FA01AA27283051F12031EC -:10C0B00081F1E8946F936E7F6E5F7F4F8F4F9F4F3C -:10C0C000AF4FB1E03ED0B4E03CD0670F781F891F7E -:10C0D0009A1FA11D680F791F8A1F911DA11D6A0F4C -:10C0E000711D811D911DA11D20D009F468943F91FF -:10C0F0002AE0269F11243019305D3193DEF6CF01FE -:10C100000895462F4770405D4193B3E00FD0C9F7C3 -:10C11000F6CF462F4F70405D4A3318F0495D31FD30 -:10C120004052419302D0A9F7EACFB4E0A695979583 -:10C13000879577956795BA95C9F700976105710559 -:10C1400008959B01AC010A2E0694579547953795A3 -:10C150002795BA95C9F7620F731F841F951FA01DFD -:10C16000089597F99F6780E870E060E008959FEF79 -:10C1700080EC089500240A9416161706180609067E -:10C18000089500240A94121613061406050608954D -:10C19000092E0394000C11F4882352F0BB0F40F4D5 -:10C1A000BF2B11F460FF04C06F5F7F4F8F4F9F4F15 -:10C1B000089557FD9058440F551F59F05F3F71F097 -:10C1C0004795880F97FB991F61F09F3F79F08795FE -:10C1D0000895121613061406551FF2CF4695F1DF87 -:10C1E00008C0161617061806991FF1CF8695710517 -:10C1F000610508940895E894BB2766277727CB014B -:10C2000097F90895F999FECF92BD81BDF89A9927C3 -:10C2100080B50895262FF999FECF1FBA92BD81BD32 -:10C2200020BD0FB6F894FA9AF99A0FBE01960895B8 -:10C23000DB018F939F930F946961BF91AF91A29F90 -:10C24000800D911DA39F900DB29F900D1124089514 -:10C25000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F0A -:10C26000EE1FFF1FA217B307E407F50720F0A21B7C -:10C27000B30BE40BF50B661F771F881F991F1A94E9 -:10C2800069F760957095809590959B01AC01BD0113 -:10C29000CF010895052E97FB1EF400940F94616161 -:10C2A00057FD07D00F94286107FC03D04EF40D947E -:10C2B000616150954095309521953F4F4F4F5F4FAD -:10C2C000089590958095709561957F4F8F4F9F4F02 -:10C2D00008950F947C61A59F900DB49F900DA49F2D -:10C2E000800D911D11240895B7FF0D9469610F947D -:10C2F0006961821B930B0895A29FB001B39FC00197 -:10C30000A39F700D811D1124911DB29F700D811D81 -:10C310001124911D0895991B79E004C0991F961767 -:10C3200008F0961B881F7A95C9F780950895AA1B77 -:10C33000BB1B51E107C0AA1FBB1FA617B70710F010 -:10C34000A61BB70B881F991F5A95A9F78095909542 -:10C35000BC01CD01089597FB072E16F4009407D079 -:10C3600077FD09D00F94976107FC05D03EF49095B6 -:10C3700081959F4F0895709561957F4F0895EE0FB9 -:10C38000FF1F881F8BBF0790F691E02D199450581E -:10C39000BB27AA270F94DF610D94C8600F94BA6081 -:10C3A00038F00F94C16020F039F49F3F19F426F45F -:10C3B0000D94B7600EF4E095E7FB0D94B160E92FA2 -:10C3C0000F94D96058F3BA1762077307840795076B -:10C3D00020F079F4A6F50D94FB600EF4E0950B2E99 -:10C3E000BA2FA02D0B01B90190010C01CA01A001C7 -:10C3F0001124FF27591B99F0593F50F4503E68F122 -:10C400001A16F040A22F232F342F4427585FF3CF62 -:10C41000469537952795A795F0405395C9F77EF433 -:10C420001F16BA0B620B730B840BBAF09150A1F07C -:10C43000FF0FBB1F661F771F881FC2F70EC0BA0F02 -:10C44000621F731F841F48F4879577956795B7958A -:10C45000F7959E3F08F0B0CF9395880F08F0992785 -:10C46000EE0F9795879508950F94BA6060F080E875 -:10C4700091E009F49EEF0F94C16028F040E851E08C -:10C4800071F45EEF0CC00D94B7600D94FB60E92F62 -:10C49000E0780F94D96040F3092E052AB1F32617EE -:10C4A00037074807590738F00E2E07F8E02569F0DE -:10C4B000E025E0640AC0EF6307F8009407FADB01A7 -:10C4C000B9019D01DC01CA01AD01EF930F94D9625E -:10C4D0000F94C8600F9477625F91552339F02BED6C -:10C4E0003FE049E450FD49EC0D94C8610895DF93A5 -:10C4F000DD27B92FBF7740E85FE316161706480718 -:10C500005B0718F4D92F0F942D649F938F937F931B -:10C510006F930F940665ECEFF1E00F94AA630F940C -:10C52000C8602F913F914F915F910F944B5BDD233A -:10C5300051F09058A2EA2AED3FE049EC5FE3D07851 -:10C540005D270F94DF61DF910D94C8600F94106434 -:10C5500090F09F3748F4911116F40D94FC6060E060 -:10C5600070E080E89FE3089526F01B16611D711DA1 -:10C57000811D0D9481630D949C630F94D363E395A7 -:10C580000D94FC630F94D6620D94C8600F94C16043 -:10C5900058F00F94BA6040F029F45F3F29F00D94F1 -:10C5A000B16051110D94FC600D94B7600F94D96087 -:10C5B00068F39923B1F3552391F3951B550BBB27D2 -:10C5C000AA2762177307840738F09F5F5F4F220F17 -:10C5D000331F441FAA1FA9F335D00E2E3AF0E0E80E -:10C5E00032D091505040E695001CCAF72BD0FE2F58 -:10C5F00029D0660F771F881FBB1F261737074807EC -:10C60000AB07B0E809F0BB0B802DBF01FF279358A3 -:10C610005F4F3AF09E3F510578F00D94B1600D9454 -:10C62000FC605F3FE4F3983ED4F386957795679579 -:10C63000B795F7959F5FC9F7880F911D96958795D8 -:10C6400097F90895E1E0660F771F881FBB1F6217F7 -:10C6500073078407BA0720F0621B730B840BBA0BB5 -:10C66000EE1F88F7E09508950F943B636894B1112D -:10C670000D94FC6008950F94E16088F09F5798F046 -:10C68000B92F9927B751B0F0E1F0660F771F881FD7 -:10C69000991F1AF0BA95C9F714C0B13091F00F94F0 -:10C6A000FB60B1E008950D94FB60672F782F882719 -:10C6B000B85F39F0B93FCCF3869577956795B39518 -:10C6C000D9F73EF490958095709561957F4F8F4F87 -:10C6D0009F4F08950F94106490F09F3748F4911184 -:10C6E00016F00D94FC6060E070E080E89FEB089528 -:10C6F00026F41B16611D711D811D0D9481630D941F -:10C700009C63882371F4772321F09850872B762F30 -:10C7100007C0662311F499270DC09051862B70E055 -:10C7200060E02AF09A95660F771F881FDAF7880F66 -:10C730009695879597F908959F3F31F0915020F491 -:10C74000879577956795B795880F911D96958795ED -:10C7500097F90895DF93CF931F930F93FF92EF9272 -:10C76000DF927B018C01689406C0DA2EEF010F94F2 -:10C770004B5BFE01E894A59125913591459155912A -:10C78000A6F3EF010F94DF61FE019701A801DA948F -:10C7900069F7DF90EF90FF900F911F91CF91DF919C -:10C7A00008950D94B7600F94E160D8F3E894E0E049 -:10C7B000BB279F57F0F02AED3FE049EC06C0EE0F93 -:10C7C000BB0F661F771F881F28F0B23A62077307F6 -:10C7D000840728F0B25A620B730B840BE3959A9589 -:10C7E00072F7803830F49A95BB0F661F771F881F49 -:10C7F000D2F790480D949E63EF93E0FF07C0A2EA42 -:10C800002AED3FE049EC5FEB0F94DF610F94C860C5 -:10C810000F90039401FC9058E9E2F2E00D945B65FF -:10C820000F94E160A0F0BEE7B91788F4BB279F38EA -:10C8300060F41616B11D672F782F8827985FF7CF01 -:10C84000869577956795B11D93959639C8F30895A8 -:10C850000F94145B08F48FEF08959B01AC0160E026 -:10C8600070E080E89FE30D94C2620F94E16058F19C -:10C870009E5760F19851A0F0E9F0983020F5092E0C -:10C880009927660F771F881F991F0A94D1F712C046 -:10C89000062E672F782F8827985F11F4000C07C0A9 -:10C8A000993FB4F38695779567959395D9F7611D70 -:10C8B000711D811D3EF490958095709561957F4F17 -:10C8C0008F4F9F4F089568940D94FC600D94FB600A -:10C8D000FA01EE0FFF1F309621053105A1F1611518 -:10C8E000710561F48038BFE39B0749F16894903883 -:10C8F000810561F08038BFEF9B0741F099234AF52D -:10C90000FF3FE1053105210519F1E8940894E79509 -:10C91000D901AA2329F4AB2FBE2FF85FD0F310C0A2 -:10C92000FF5F70F4A695E0F7F73950F019F0FF3A81 -:10C9300038F49F779F930DD00F9007FC905808957F -:10C9400046F00D94B76060E070E080E89FE30895E2 -:10C950004FE79F775F934F933F932F930F94B1656A -:10C960002F913F914F915F910F94385B0D94226509 -:10C970009F930F94D3630F9007FCEE5F0D94FC63BD -:10C9800019F416F40D94B7600D949C630F94E16054 -:10C99000B8F39923C9F3B6F39F57550B87FF0F944C -:10C9A00054650024A0E640EA90018058569597957A -:10C9B00028F4805C660F771F881F20F02617370742 -:10C9C000480730F4621B730B840B202931294A2B52 -:10C9D000A69517940794202531254A2758F7660F06 -:10C9E000771F881F20F026173707480730F4620B9F -:10C9F000730B840B200D311D411DA09581F7B901EA -:10CA0000842F9158880F9695879508959B01AC01C6 -:10CA10000D94385B0F94106430F09F3710F40D9430 -:10CA2000FC600D9481630D949C630F94145B880BE0 -:10CA3000990B089529F416F00D94B1600D94FB60E4 -:10CA40000D94B7600F94E160A8F39638A0F707F84B -:10CA50000F92E8942BE33AEA48EB5FE70F944E5BC2 -:10CA60000F920F920F924DB75EB70F920F94F96528 -:10CA7000E7E4F2E00F94AA634F915F91EF91FF9189 -:10CA8000E595EE1FFF1F49F0FE57E0684427EE0FC3 -:10CA9000441FFA95E1F74195550B0F9473650F907C -:10CAA00007FE0D942D64089591505040660F771F36 -:10CAB000881FD2F708959F938F937F936F93FF936F -:10CAC000EF939B01AC010F94385BEF91FF910F94B2 -:10CAD000AA632F913F914F915F910D94385B0D9414 -:10CAE000B1600D949C630F94E160D8F39923C9F36E -:10CAF000940F511DA3F39150504094F059F08823A6 -:10CB000032F0660F771F881F91505040C1F79E3F4B -:10CB100051052CF7880F911D9695879597F90895E3 -:10CB20005F3FACF0983E9CF0BB2786957795679564 -:10CB3000B79508F4B1609395C1F7BB0F58F711F49E -:10CB400060FFE8CF6F5F7F4F8F4F9F4FE3CF0D9414 -:10CB5000FC6016F00D949C630D94B76068940D947E -:10CB6000B1600F94E160A8F39923C1F3AEF3DF93B2 -:10CB7000CF931F930F93FF92C92FDD2788232AF0AD -:10CB80002197660F771F881FDAF720E030E040E832 -:10CB90005FEB9FE3883920F0803E38F021968F7755 -:10CBA0000F94C861EFE6F2E004C00F94C861ECE9AD -:10CBB000F2E00F94AA638B01BE01EC01FB2E6F57CC -:10CBC00071097595771F880B990B0F94D95A28E135 -:10CBD00032E741E35FE30F944B5BAF2D9801AE0169 -:10CBE000FF900F911F91CF91DF910F94DF610D9412 -:10CBF000C860FA01DC01AA0FBB1F9B01AC01BF5743 -:10CC000028F4222733274427507820C0B75190F4C6 -:10CC1000AB2F0024469537952795011CA395D2F399 -:10CC2000002071F0220F331F441FB395DAF30ED0AA -:10CC30000D94C76161307105A0E88A07B94630F4E8 -:10CC40009B01AC016627772788279078309621F0E2 -:10CC50002083318342835383089581E090E0F894E8 -:10CC60000D94D7669111089581548A5108F4805E1D -:10CC7000855A0895FB01DC0104C08D910190801953 -:10CC800021F441505040C8F7881B990B0895FB01CF -:10CC9000DC0102C001900D9241505040D8F7089538 -:10CCA000FB01DC018D9181341CF08B350CF4805E2E -:10CCB000619161341CF06B350CF4605E861B611170 -:10CCC00089F3990B0895FB01DC010D900020E9F731 -:10CCD000119701900D920020E1F70895FC018191D8 -:10CCE000861721F08823D9F7992708953197CF0126 -:10CCF0000895FB01DC0101900D920020E1F70895F9 -:10CD0000FB01DC014150504030F08D9101908019C1 -:10CD100019F40020B9F7881B990B0895FB01DC0179 -:10CD20004150504048F001900D920020C9F701C0D9 -:10CD30001D9241505040E0F70895FC0181E090E0E1 -:10CD40000190061609F4CF010020D1F7019708954C -:10CD50000F931F93CF93DF93CDB7DEB72E970FB608 -:10CD6000F894DEBF0FBECDBF0E891F8986E08C838D -:10CD70001A8309838FEF9FE79E838D83AE01465E02 -:10CD80005F4F688D798DCE0101960F94A55BEF8181 -:10CD9000F885E00FF11F10822E960FB6F894DEBFD3 -:10CDA0000FBECDBFDF91CF911F910F91089510E37A -:10CDB000C2E8D0E300E006C0802FFE010F94BF61FF -:10CDC0002196011DC338D10780E00807A9F7F89420 -:02CDD000FFCF93 -:10CDD20002C0D401000180000000FF3FFF3F0000BD -:10CDE2000000FF3F010000B4430000B44300000014 -:10CDF20000000000000000803FA0000000000000D2 -:10CE020000B443000000000000B443000000000032 -:10CE120000C843016400640000007A4300005243EA -:10CE2200CDCCCC3D010000C8410000A0405CFF79A0 -:10CE3200C480800110FF060101FFFFFFFFFFFFFF1B -:10CE4200FFFFFFFFFF0000803FCDCCCC3C01010182 -:10CE5200000000021000000410000006100000088C -:10CE62001000000A1000000C100000261000003014 -:10CE720010000032100000341000003A1000003E92 -:10CE8200100000401000004410000046100000484E -:10CE92001000004A1000004C100000541000005610 -:10CEA200100000581000005C1000005E1000005FCF -:10CEB200100000881000000000000000409C4500A7 -:10CEC200007A4500007A4300007042B400F0004648 -:10CED200006E0000004040000034420000000000EC -:10CEE20000000000000000000050410000000000AF -:10CEF20000004164000000640000000300000064C0 -:10CF02000000006400000003000000030000001E97 -:10CF12000000001E0000001E0000001E0000001E97 -:10CF22000000001E0000000A005A00D0070000D0D6 -:10CF3200070000640000004B0000000000A0420057 -:10CF420000A042000048440000BE4200803B440072 -:10CF5200803B4400002041000096425637300000DA -:10CF6200000000F66F5F6F8D6F4370BE6F9C6FB0F5 -:10CF72006F58595A452A2A2A496E6974696E672080 -:10CF820063617264206973204F4B2A2A2A002A2A7D -:10CF92002A496E6974696E672063617264206661F2 -:10CFA200696C732A2A2A002A2A2A4361726420524F -:10CFB200656D6F7665642A2A2A003D3D7761697442 -:10CFC20077617920313D3D003D3D7761697477613C -:10CFD2007920333D3D002020737461727470726F4A -:10CFE2006772657373200020202A2A2A2A2A2A2A95 -:10CFF2005254535F48616E646C65446174612A2ABD -:10D002002A2A2A2A2A2A20003D3D20436865636B8A -:10D012006B65793D3D000A2048616E646C65204471 -:10D02200617461205072696E7446696C65203120AA -:10D0320053657474696E672053637265656E200070 -:10D042000A2048616E646C652044617461205072EC -:10D05200696E7446696C6520322053657474696E1A -:10D06200672053637265656E20000A2048616E6412 -:10D072006C652044617461205072696E7446696CFB -:10D082006520332053657474696E6720536372653B -:10D09200656E20000A2048616E646C6520446174EC -:10D0A200612041646A757374203220536574746917 -:10D0B2006E672053637265656E200074696E796DC8 -:10D0C200616368696E657333642E636F6D004368D4 -:10D0D200696E657365204E6F7420537570706F7240 -:10D0E20074656400456E676C69736820416C726593 -:10D0F2006164792053657400496E76616C696420BD -:10D102004F7074696F6E000A204E6F2046696C6121 -:10D112006D656E74002046696C616D656E74205297 -:10D122006573706F6E7365204E6F0046696C616D3A -:10D13200656E7420537461742030202D20310046B6 -:10D14200696C616D656E7420537461742030202D9A -:10D1520020320046696C616D656E7420537461748F -:10D162002030202D20330046696C656E616D6500AC -:10D1720052656364617461002020202020202020F9 -:10D18200200025642F2564003D3D77616974776135 -:10D192007920343D3D003D3D7761697477617920A6 -:10D1A200353D3D003D3D48656174696E6720446FC1 -:10D1B2006E65204368616E67652046696C616D65C6 -:10D1C2006E743D3D00526573756D6520596573201F -:10D1D200647572696E67207072696E740046696C5C -:10D1E200656E616D652D4D6564696100436C6963AF -:10D1F2006B20746F20526573756D652E2E2E003D67 -:10D202003D6F6E46696C616D656E7452756E6F75B9 -:10D21200743D3D0025642058202564205820256453 -:10D2220000544D334420453520506C757300322E26 -:10D23200305F44573320544D334420453550534DCD -:10D24200444255003D3D4477696E20496E69742021 -:10D25200436F6D706C6574653D3D002F003D3D6F01 -:10D262006E55736572436F6E6669726D5265717544 -:10D27200697265643D3D003F3F3F005900580042DE -:10D28200656420583A200020593A2000205A3A205A -:10D29200003D3D6F6E5072696E7454696D657253D4 -:10D2A2007461727465643D3D003D3D6F6E436F6E07 -:10D2B20066696775726174696F6E53746F726557D0 -:10D2C20072697474656E3D3D0073746F7070696E3F -:10D2D20067203D3D002F2F616374696F6E3A636171 -:10D2E2006E63656C003D3D6F6E5072696E74546979 -:10D2F2006D657253746F707065643D3D003D3D6FA6 -:10D302006E466163746F727952657365743D3D0058 -:10D31200556E746F7563686564200050756C73692F -:10D322006E6720202000202053544F574544202868 -:10D3320074726967676572656429207374617465C4 -:10D342003A204849474820286C6F67696320312991 -:10D3520000202053544F5745442028747269676750 -:10D3620065726564292073746174653A204C4F5765 -:10D3720020286C6F67696320302900626564207021 -:10D382006C616E65206E6F726D616C203D205B007A -:10D392003D3D6F6E53746F726553657474696E6749 -:10D3A200733D3D00455252003D3D6F6E5072696EB5 -:10D3B2007454696D65725061757365643D3D0052C8 -:10D3C20065686561742066696E69736865642E00BC -:10D3D2003A207A3A2000206D65616E3A200020736F -:10D3E20069676D613A2000206D696E3A2000206DF8 -:10D3F20061783A20002072616E67653A20004D65BF -:10D40200616E3A2000204D696E3A2000204D61780D -:10D412003A20002052616E67653A20005374616EB3 -:10D422006461726420446576696174696F6E3A2042 -:10D43200003D3D6F6E4C6F616453657474696E6735 -:10D44200733D3D003D3D6F6E436F6E666967757259 -:10D452006174696F6E53746F7265526561643D3DAC -:10D46200004D65616E204D65736820486569676887 -:10D47200743A20002A2A2A6B696C6C2A2A2A0053E1 -:10D4820044557064617465002E67636F6465002E95 -:0AD4920047434F444500205A0000B4 -:00000001FF diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index b3ffee1a04..0fc2e600f5 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -15,8 +15,8 @@ //#define MachineCR20Pro //#define MachineCR10 //#define MachineCR10S -#define MachineCR10SV2 -//#define MachineCR10SPro // Graphics LCD Requires soldering R64 and R66 +//#define MachineCR10SV2 +#define MachineCR10SPro // Graphics LCD Requires soldering R64 and R66 //#define MachineCRX //#define MachineCR10Max //#define MachineS4 @@ -691,6 +691,7 @@ * -1 : thermocouple with AD595 * 0 : not used * 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) + * 331 : (3.3V scaled thermistor 1 table) * 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! @@ -708,7 +709,8 @@ * 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" * 15 : 100k thermistor calibration for JGAurora A5 hotend * 18 : ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327 - * 20 : the PT100 circuit found in the Ultimainboard V2.x + * 20 : Pt100 with circuit in the Ultimainboard V2.x + * 201 : Pt100 with circuit in Overlord, similar to Ultimainboard V2.x * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 * 61 : 100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup * 66 : 4.7M High Temperature thermistor from Dyze Design @@ -733,7 +735,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0':"Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '512':"100k RPW-Ultra hotend thermistor", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '18':"ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327" '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '61':"100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup", '66':"Dyze Design 4.7M High Temperature thermistor", '67':"Slice Engineering 450C High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595", '998':"Dummy 1", '999':"Dummy 2", '1000':"Custom thermistor params" } + * :{ '0':"Not used", '1':"100k / 4.7k - EPCOS", '331':"(3.3V thermistor 1)", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '512':"100k RPW-Ultra hotend thermistor", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '18':"ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327" '20':"Pt100 (Ultimainboard V2.x)", '201':"Pt100 (Overlord)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '61':"100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup", '66':"Dyze Design 4.7M High Temperature thermistor", '67':"Slice Engineering 450C High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595", '998':"Dummy 1", '999':"Dummy 2", '1000':"Custom thermistor params" } */ #if ENABLED(HotendStock) || ENABLED(CrealityThermistor) #define TEMP_SENSOR_0 1 @@ -1221,10 +1223,6 @@ #define DEFAULT_TRAVEL_ACCELERATION 300 // X, Y, Z acceleration for travel (non printing) moves #endif - #define DEFAULT_XJERK 10.0 - #define DEFAULT_YJERK 5.0 - #define DEFAULT_ZJERK 0.4 - #define DEFAULT_EJERK 5.0 /** * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) @@ -1263,6 +1261,13 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ +#if DISABLED(JUNCTION_DEVIATION) + #define DEFAULT_XJERK 10.0 + #define DEFAULT_YJERK 10.0 + #define DEFAULT_ZJERK 0.3 +#endif + +#define DEFAULT_EJERK 5.0 // May be used by Linear Advance /** * S-Curve Acceleration @@ -1389,11 +1394,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1405,92 +1409,54 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ #if ENABLED(MachineCRX) && ENABLED(HotendStock) #if ENABLED(ABL_BLTOUCH) - #define X_PROBE_OFFSET_FROM_EXTRUDER -22 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER -45 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { -22, -45, 0 } #elif ENABLED(ABL_EZABL) || ENABLED(ABL_NCSW) - #define X_PROBE_OFFSET_FROM_EXTRUDER -44 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { -44, -10, 0 } #endif #elif ANY(MachineCR10SPro, MachineCR10Max) && ENABLED(HotendStock) - #if ENABLED(ABL_BLTOUCH) - #define X_PROBE_OFFSET_FROM_EXTRUDER -27 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER -0 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] - #elif ENABLED(ABL_EZABL) || ENABLED(ABL_NCSW) - #define X_PROBE_OFFSET_FROM_EXTRUDER -27 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] - #endif + #define NOZZLE_TO_PROBE_OFFSET { -27, 0, 0 } #elif ENABLED(MachineCR10SV2) #if ENABLED(ABL_BLTOUCH) - #define X_PROBE_OFFSET_FROM_EXTRUDER 45 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER 7 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { 45, 7, 0 } #elif ENABLED(ABL_EZABL) || ENABLED(ABL_NCSW) - #define X_PROBE_OFFSET_FROM_EXTRUDER 45 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER 6.5 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { 45, 7, 0 } #endif #else #if (ENABLED(ABL_BLTOUCH) && ENABLED(HotendStock)) - #define X_PROBE_OFFSET_FROM_EXTRUDER -41 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER -8 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { -41, -8, 0 } #endif #if ((ENABLED(ABL_EZABL) || ENABLED(ABL_NCSW)) && ENABLED(HotendStock)) #if ENABLED(CREALITY_ABL_MOUNT) - #define X_PROBE_OFFSET_FROM_EXTRUDER -55 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER -15 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { -55, -15, 0 } #else - #define X_PROBE_OFFSET_FROM_EXTRUDER -44 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { -44, -10, 0 } #endif #endif - #if (ENABLED(ABL_BLTOUCH) && ENABLED(HotendE3D)) + #if (ANY(ABL_BLTOUCH, ABL_EZABL,ABL_NCSW) && ENABLED(HotendE3D)) #if ENABLED(E3D_DUALFAN_MOUNT) #if ENABLED(E3D_PROBEMOUNT_LEFT) - #define X_PROBE_OFFSET_FROM_EXTRUDER -63 // X offset: -left +right [of the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { -63, 5, 0 } #else - #define X_PROBE_OFFSET_FROM_EXTRUDER 63 // X offset: -left +right [of the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { 63, 5, 0 } #endif - #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] #else - #define X_PROBE_OFFSET_FROM_EXTRUDER 32 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] - #endif - #endif - - #if ((ENABLED(ABL_EZABL) || ENABLED(ABL_NCSW)) && ENABLED(HotendE3D)) - #if ENABLED(E3D_DUALFAN_MOUNT) - #if ENABLED(E3D_PROBEMOUNT_LEFT) - #define X_PROBE_OFFSET_FROM_EXTRUDER -63 // X offset: -left +right [of the nozzle] - #else - #define X_PROBE_OFFSET_FROM_EXTRUDER 63 // X offset: -left +right [of the nozzle] - #endif - #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] - #else - #define X_PROBE_OFFSET_FROM_EXTRUDER 33 // X offset: -left +right [of the nozzle] - #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle] - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { 32, 5, 0 } #endif #endif #endif // Certain types of probes need to stay away from edges -#if ENABLED(ABL_BLTOUCH) +#if ENABLED(MachineCR10Max, MachineCR10SV2) + #define MIN_PROBE_EDGE 15 +#elif ENABLED(ABL_BLTOUCH) #define MIN_PROBE_EDGE 3 #else #define MIN_PROBE_EDGE 5 @@ -1525,7 +1491,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1543,10 +1509,14 @@ #define Z_PROBE_OFFSET_RANGE_MAX 20 // Enable the M48 repeatability test to test probe accuracy -#if (ENABLED(ABL_EZABL)|| ENABLED(ABL_BLTOUCH) || ENABLED(ABL_NCSW)) - #if(DISABLED(MachineCR10Orig)) - #define Z_MIN_PROBE_REPEATABILITY_TEST - #endif +#if (ANY(ABL_EZABL, ABL_BLTOUCH, ABL_NCSW) && DISABLED(MachineCR10Orig)) + #define Z_MIN_PROBE_REPEATABILITY_TEST +#endif + +// Before deploy/stow pause for user confirmation +//#define PAUSE_BEFORE_DEPLOY_STOW +#if ENABLED(PAUSE_BEFORE_DEPLOY_STOW) + //#define PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED // For Manual Deploy Allenkey Probe #endif /** @@ -1827,7 +1797,7 @@ // Set one or more commands to execute on filament runout. // (After 'M412 H' Marlin will ask the host to handle the process.) - #define FILAMENT_RUNOUT_SCRIPT "M600 \n M117 \n" + #define FILAMENT_RUNOUT_SCRIPT "M600" // After a runout is detected, continue printing this length of filament // before executing the runout script. Useful for a sensor at the end of @@ -1952,22 +1922,10 @@ #endif #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X -#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR) +#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR) // Set the number of grid points per dimension. -#if ENABLED(MachineCR10Max, MachineCR10SV2) - #define MESH_INSET 15 -#else - #define MESH_INSET 5 -#endif - - // Set the boundaries for probing (where the probe can reach). - #define LEFT_PROBE_BED_POSITION (_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) + MESH_INSET - #define FRONT_PROBE_BED_POSITION (_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) + MESH_INSET - #define RIGHT_PROBE_BED_POSITION (_MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) - MESH_INSET - #define BACK_PROBE_BED_POSITION (_MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) - MESH_INSET - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -2024,67 +1982,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) - -#if NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineEnder4) || ENABLED(GraphicLCD) - #define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh -#endif - -#if ENABLED(MachineEnder2) - #define PROBE_PT_1_X 50 // Probing points for 3-Point leveling of the mesh - #define PROBE_PT_1_Y 130 - #define PROBE_PT_2_X 100 - #define PROBE_PT_2_Y 130 - #define PROBE_PT_3_X 100 - #define PROBE_PT_3_Y 50 -#elif ANY(MachineEnder3, MachineEnder4, MachineEnder5, MachineCR20, MachineMini) - #define PROBE_PT_1_X 50 // Probing points for 3-Point leveling of the mesh - #define PROBE_PT_1_Y 180 - #define PROBE_PT_2_X 150 - #define PROBE_PT_2_Y 180 - #define PROBE_PT_3_X 150 - #define PROBE_PT_3_Y 50 -#elif (ENABLED(MachineCRX)) - #define PROBE_PT_1_X 50 // Probing points for 3-Point leveling of the mesh - #define PROBE_PT_1_Y 250 - #define PROBE_PT_2_X 250 - #define PROBE_PT_2_Y 250 - #define PROBE_PT_3_X 250 - #define PROBE_PT_3_Y 50 -#elif (ENABLED(MachineCR10Std)) - #define PROBE_PT_1_X 50 // Probing points for 3-Point leveling of the mesh - #define PROBE_PT_1_Y 270 - #define PROBE_PT_2_X 250 - #define PROBE_PT_2_Y 270 - #define PROBE_PT_3_X 250 - #define PROBE_PT_3_Y 50 -#elif (ENABLED(MachineEnder5Plus)) - #define PROBE_PT_1_X 50 // Probing points for 3-Point leveling of the mesh - #define PROBE_PT_1_Y 320 - #define PROBE_PT_2_X 300 - #define PROBE_PT_2_Y 320 - #define PROBE_PT_3_X 300 - #define PROBE_PT_3_Y 50 -#elif ENABLED( MachineS4) - #define PROBE_PT_1_X 60 // Probing points for 3-Point leveling of the mesh - #define PROBE_PT_1_Y 340 - #define PROBE_PT_2_X 340 - #define PROBE_PT_2_Y 340 - #define PROBE_PT_3_X 340 - #define PROBE_PT_3_Y 60 -#elif ANY(MachineS5, MachineCR10Max) - #define PROBE_PT_1_X 80 // Probing points for 3-Point leveling of the mesh - #define PROBE_PT_1_Y 420 - #define PROBE_PT_2_X 420 - #define PROBE_PT_2_Y 420 - #define PROBE_PT_3_X 420 - #define PROBE_PT_3_Y 80 -#endif -#endif /** * Add a bed leveling sub-menu for ABL or MBL. @@ -2114,11 +2011,8 @@ * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. */ -#if ENABLED(ABL_BLTOUCH) - #define Z_PROBE_END_SCRIPT "M280 P0 S90" -#else - #define Z_PROBE_END_SCRIPT "" -#endif +//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" + // @section homing @@ -2424,10 +2318,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2891,6 +2785,12 @@ // //#define MALYAN_LCD +// +// LulzBot Color Touch UI for FTDI EVE (FT800/FT810) displays +// See Configuration_adv.h for all configuration options. +// +//#define LULZBOT_TOUCH_UI + // // Third-party or vendor-customized controller interfaces. // Sources should be installed in 'src/lcd/extensible_ui'. @@ -2904,7 +2804,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2917,6 +2817,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2927,11 +2830,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -3059,7 +2959,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 06d7bcacfe..580ff5c544 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -610,7 +610,7 @@ * This feature was designed for Delta's with very fast Z moves however higher speed cartesians may function * If the machine cannot raise the probe fast enough after a trigger, it may enter a fault state. */ - //#define BLTOUCH_HS_MODE + #define BLTOUCH_HS_MODE // Safety: Enable voltage mode settings in the LCD menu. //#define BLTOUCH_LCD_VOLTAGE_MENU @@ -669,21 +669,8 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 5000, 4000, 250, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section extras - -// minimum time in microseconds that a movement needs to take if the buffer is emptied. -#define DEFAULT_MINSEGMENTTIME 20000 +// Minimum time that a segment needs to take if the buffer is emptied +#define DEFAULT_MINSEGMENTTIME 20000 // (ms) // If defined the movements slow down when the look ahead buffer is only half full #if(DISABLED(MachineCR10Orig) && DISABLED(LowMemoryBoard)) @@ -762,8 +749,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -791,9 +778,8 @@ * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the * lowest stepping frequencies. */ -#if ENABLED(SKR13) - //#define ADAPTIVE_STEP_SMOOTHING -#endif +//#define ADAPTIVE_STEP_SMOOTHING + /** * Custom Microstepping * Override as-needed for your setup. Up to 3 MS pins are supported. @@ -861,6 +847,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -875,17 +870,37 @@ #define FEEDRATE_CHANGE_BEEP_FREQUENCY 440 #endif -// Include a page of printer information in the LCD Main Menu -#if(DISABLED(MachineCR10Orig)) - #define LCD_INFO_MENU -#endif -#if ENABLED(LCD_INFO_MENU) - //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages -#endif -// Leave out seldom-used LCD menu items to recover some Program Memory - #if(ENABLED(MachineCR10Orig) || ENABLED(LowMemoryBoard)) -#define SLIM_LCD_MENUS -#endif +#if HAS_LCD_MENU + + // Include a page of printer information in the LCD Main Menu + #if(DISABLED(MachineCR10Orig)) + #define LCD_INFO_MENU + #endif + #if ENABLED(LCD_INFO_MENU) + //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages + #endif + + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + + /** + * LED Control Menu + * Add LED Control to the LCD menu + */ + //#define LED_CONTROL_MENU + #if ENABLED(LED_CONTROL_MENU) + #define LED_COLOR_PRESETS // Enable the Preset Color menu option + #if ENABLED(LED_COLOR_PRESETS) + #define LED_USER_PRESET_RED 255 // User defined RED value + #define LED_USER_PRESET_GREEN 128 // User defined GREEN value + #define LED_USER_PRESET_BLUE 0 // User defined BLUE value + #define LED_USER_PRESET_WHITE 255 // User defined WHITE value + #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity + //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup + #endif + #endif + +#endif // HAS_LCD_MENU // Scroll a longer status message into view #if(DISABLED(MachineCR10Orig) && DISABLED(LowMemoryBoard)) @@ -901,10 +916,8 @@ #if(DISABLED(MachineCR10Orig) && DISABLED(LowMemoryBoard)) #define LCD_SET_PROGRESS_MANUALLY #endif -#if ENABLED(SDSUPPORT) || ENABLED(LCD_SET_PROGRESS_MANUALLY) - #if((ENABLED(MachineEnder4) && DISABLED(GraphicLCD))) - #define LCD_PROGRESS_BAR - #endif// Show a progress bar on HD44780 LCDs for SD printing +#if HAS_CHARACTER_LCD && HAS_PRINT_PROGRESS + //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing #if ENABLED(LCD_PROGRESS_BAR) #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message @@ -912,24 +925,7 @@ //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar #endif -#endif // SDSUPPORT || LCD_SET_PROGRESS_MANUALLY - -/** - * LED Control Menu - * Enable this feature to add LED Control to the LCD menu - */ -//#define LED_CONTROL_MENU -#if ENABLED(LED_CONTROL_MENU) - #define LED_COLOR_PRESETS // Enable the Preset Color menu option - #if ENABLED(LED_COLOR_PRESETS) - #define LED_USER_PRESET_RED 255 // User defined RED value - #define LED_USER_PRESET_GREEN 128 // User defined GREEN value - #define LED_USER_PRESET_BLUE 0 // User defined BLUE value - #define LED_USER_PRESET_WHITE 255 // User defined WHITE value - #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity - //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup - #endif -#endif // LED_CONTROL_MENU +#endif #if ENABLED(SDSUPPORT) @@ -969,6 +965,7 @@ #if ENABLED(POWER_LOSS_RECOVERY) //#define POWER_LOSS_PIN 44 // Pin to detect power loss //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + //#define POWER_LOSS_PULL // Set pullup / pulldown as appropriate //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume //#define POWER_LOSS_RETRACT_LEN 10 // (mm) Length of filament to retract on fail. Requires backup power. @@ -1050,17 +1047,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1092,7 +1103,7 @@ * * :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ] */ - #define SDCARD_CONNECTION ONBOARD + //#define SDCARD_CONNECTION LCD #endif #endif // SDSUPPORT @@ -1174,6 +1185,7 @@ #define STATUS_HOTEND_ANIM // Use a second bitmap to indicate hotend heating #define STATUS_BED_ANIM // Use a second bitmap to indicate bed heating #endif + #define STATUS_CHAMBER_ANIM // Use a second bitmap to indicate chamber heating //#define STATUS_ALT_BED_BITMAP // Use the alternative bed bitmap //#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap //#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames @@ -1190,6 +1202,101 @@ #endif #endif // HAS_GRAPHICAL_LCD +// +// Lulzbot Touch UI +// +#if ENABLED(LULZBOT_TOUCH_UI) + // Display board used + //#define LCD_FTDI_VM800B35A // FTDI 3.5" with FT800 (320x240) + //#define LCD_4DSYSTEMS_4DLCD_FT843 // 4D Systems 4.3" (480x272) + //#define LCD_HAOYU_FT800CB // Haoyu with 4.3" or 5" (480x272) + //#define LCD_HAOYU_FT810CB // Haoyu with 5" (800x480) + //#define LCD_ALEPHOBJECTS_CLCD_UI // Aleph Objects Color LCD UI + + // Correct the resolution if not using the stock TFT panel. + //#define TOUCH_UI_320x240 + //#define TOUCH_UI_480x272 + //#define TOUCH_UI_800x480 + + // Mappings for boards with a standard RepRapDiscount Display connector + //#define AO_EXP1_PINMAP // AlephObjects CLCD UI EXP1 mapping + //#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping + //#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping + //#define OTHER_PIN_LAYOUT // Define pins manually below + #if ENABLED(OTHER_PIN_LAYOUT) + // The pins for CS and MOD_RESET (PD) must be chosen. + #define CLCD_MOD_RESET 9 + #define CLCD_SPI_CS 10 + + // If using software SPI, specify pins for SCLK, MOSI, MISO + //#define CLCD_USE_SOFT_SPI + #if ENABLED(CLCD_USE_SOFT_SPI) + #define CLCD_SOFT_SPI_MOSI 11 + #define CLCD_SOFT_SPI_MISO 12 + #define CLCD_SOFT_SPI_SCLK 13 + #endif + #endif + + // Display Orientation. An inverted (i.e. upside-down) display + // is supported on the FT800. The FT810 and beyond also support + // portrait and mirrored orientations. + //#define TOUCH_UI_INVERTED + //#define TOUCH_UI_PORTRAIT + //#define TOUCH_UI_MIRRORED + + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + + // Use a numeric passcode for "Screen lock" keypad. + // (recommended for smaller displays) + //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan +#endif + // @section safety /** @@ -1277,37 +1384,44 @@ // @section leveling -#if ENABLED(MESH_BED_LEVELING) +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + +#if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large - - #if( (X_PROBE_OFFSET_FROM_EXTRUDER + 15) > 0 ) - #define MESH_MIN_X (X_PROBE_OFFSET_FROM_EXTRUDER + 5) - #else - #define MESH_MIN_X 10 - #endif - - #if( (X_BED_SIZE + X_PROBE_OFFSET_FROM_EXTRUDER - 10) < X_BED_SIZE) - #define MESH_MAX_X (X_BED_SIZE + X_PROBE_OFFSET_FROM_EXTRUDER - 5) - #else - #if(ENABLED(MachineEnder3)) - #define MESH_MAX_X (X_BED_SIZE - 40) - #else - #define MESH_MAX_X (X_BED_SIZE - 10) - #endif - #endif - - #if ( (Y_PROBE_OFFSET_FROM_EXTRUDER + 25) > 10 ) - #define MESH_MIN_Y (Y_PROBE_OFFSET_FROM_EXTRUDER + 25) - #else - #define MESH_MIN_Y 25 - #endif - - #if( (Y_BED_SIZE + Y_PROBE_OFFSET_FROM_EXTRUDER - 25) < Y_BED_SIZE) - #define MESH_MAX_Y (Y_BED_SIZE + Y_PROBE_OFFSET_FROM_EXTRUDER - 25) - #else - #define MESH_MAX_Y (Y_BED_SIZE - 25) - #endif - //#define MESH_MIN_X MESH_INSET //#define MESH_MIN_Y MESH_INSET //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET) @@ -1370,7 +1484,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1382,7 +1496,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1527,19 +1642,19 @@ #define FWRETRACT #endif #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1749,78 +1864,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1953,17 +2081,27 @@ #define E5_HYBRID_THRESHOLD 30 /** + * Use StallGuard2 to home / probe X, Y, Z. + * * TMC2130, TMC2160, TMC2209, TMC2660, TMC5130, and TMC5160 only - * Use StallGuard2 to sense an obstacle and trigger an endstop. * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used for tuning the trigger sensitivity. - * Higher values make the system LESS sensitive. - * Lower value make the system MORE sensitive. - * Too low values can lead to false positives, while too high values will collide the axis without triggering. - * It is advised to set X/Y/Z_HOME_BUMP_MM to 0. - * M914 X/Y/Z to live tune the setting + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) + * + * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. + * + * SPI_ENDSTOPS *** Beta feature! *** TMC2130 Only *** + * Poll the driver through SPI to determine load when homing. + * Removes the need for a wire from DIAG1 to an endstop pin. + * + * IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when + * homing and adds a guard period for endstop triggering. */ //#define SENSORLESS_HOMING // StallGuard capable drivers only @@ -1978,8 +2116,11 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 + //#define SPI_ENDSTOPS // TMC2130 only + //#define IMPROVE_HOMING_RELIABILITY #endif /** @@ -2336,6 +2477,13 @@ #if(DISABLED(MachineCR10Orig) && DISABLED(LowMemoryBoard)) #define EXTENDED_CAPABILITIES_REPORT #endif +/** + * Expected Printer Check + * Add the M16 G-code to compare a string to the MACHINE_NAME. + * M16 with a non-matching string causes the printer to halt. + */ +//#define EXPECTED_PRINTER_CHECK + /** * Disable all Volumetric extrusion options */ @@ -2392,6 +2540,13 @@ //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode #endif +/** + * Startup commands + * + * Execute certain G-code commands immediately after power-on. + */ +//#define STARTUP_COMMANDS "M17 Z" + /** * G-code Macros * @@ -2430,7 +2585,7 @@ #endif #define USER_DESC_2 "PID Tune" - #define USER_GCODE_2 "M106 S128 \n M303 C8 S215 E1 U \n M500 \n M117 PID Tune Done" + #define USER_GCODE_2 "M106 S128 \n M303 C8 S215 E0 U \n M500 \n M117 PID Tune Done" #define USER_DESC_3 "Prep for Z Adjust" #define USER_GCODE_3 "M190S" CommBedTmp "\nM104S215\nG28\nG29L1\nG1 X100Y100F5000\nG1Z0" @@ -2461,10 +2616,6 @@ #define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2545,6 +2696,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/Marlin/src/HAL/HAL_AVR/HAL.cpp b/Marlin/src/HAL/HAL_AVR/HAL.cpp index 47cf969959..4a10f73dcf 100644 --- a/Marlin/src/HAL/HAL_AVR/HAL.cpp +++ b/Marlin/src/HAL/HAL_AVR/HAL.cpp @@ -35,7 +35,7 @@ // Public functions // ------------------------ -void HAL_init(void) { +void HAL_init() { // Init Servo Pins #define INIT_SERVO(N) OUT_WRITE(SERVO##N##_PIN, LOW) #if HAS_SERVO_0 diff --git a/Marlin/src/HAL/HAL_AVR/HAL.h b/Marlin/src/HAL/HAL_AVR/HAL.h index 7328aec2f1..9c34dc1f54 100644 --- a/Marlin/src/HAL/HAL_AVR/HAL.h +++ b/Marlin/src/HAL/HAL_AVR/HAL.h @@ -105,19 +105,19 @@ typedef int8_t pin_t; // Public functions // ------------------------ -void HAL_init(void); +void HAL_init(); -//void cli(void); +//void cli(); //void _delay_ms(const int delay); -inline void HAL_clear_reset_source(void) { MCUSR = 0; } -inline uint8_t HAL_get_reset_source(void) { return MCUSR; } +inline void HAL_clear_reset_source() { MCUSR = 0; } +inline uint8_t HAL_get_reset_source() { return MCUSR; } #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" extern "C" { - int freeMemory(void); + int freeMemory(); } #pragma GCC diagnostic pop @@ -199,9 +199,9 @@ FORCE_INLINE void HAL_timer_start(const uint8_t timer_num, const uint32_t freque /* 18 cycles maximum latency */ #define HAL_STEP_TIMER_ISR() \ -extern "C" void TIMER1_COMPA_vect (void) __attribute__ ((signal, naked, used, externally_visible)); \ -extern "C" void TIMER1_COMPA_vect_bottom (void) asm ("TIMER1_COMPA_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \ -void TIMER1_COMPA_vect (void) { \ +extern "C" void TIMER1_COMPA_vect() __attribute__ ((signal, naked, used, externally_visible)); \ +extern "C" void TIMER1_COMPA_vect_bottom() asm ("TIMER1_COMPA_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \ +void TIMER1_COMPA_vect() { \ __asm__ __volatile__ ( \ A("push r16") /* 2 Save R16 */ \ A("in r16, __SREG__") /* 1 Get SREG */ \ @@ -268,13 +268,13 @@ void TIMER1_COMPA_vect (void) { \ : \ ); \ } \ -void TIMER1_COMPA_vect_bottom(void) +void TIMER1_COMPA_vect_bottom() /* 14 cycles maximum latency */ #define HAL_TEMP_TIMER_ISR() \ -extern "C" void TIMER0_COMPB_vect (void) __attribute__ ((signal, naked, used, externally_visible)); \ -extern "C" void TIMER0_COMPB_vect_bottom(void) asm ("TIMER0_COMPB_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \ -void TIMER0_COMPB_vect (void) { \ +extern "C" void TIMER0_COMPB_vect() __attribute__ ((signal, naked, used, externally_visible)); \ +extern "C" void TIMER0_COMPB_vect_bottom() asm ("TIMER0_COMPB_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \ +void TIMER0_COMPB_vect() { \ __asm__ __volatile__ ( \ A("push r16") /* 2 Save R16 */ \ A("in r16, __SREG__") /* 1 Get SREG */ \ @@ -334,7 +334,7 @@ void TIMER0_COMPB_vect (void) { \ : \ ); \ } \ -void TIMER0_COMPB_vect_bottom(void) +void TIMER0_COMPB_vect_bottom() // ADC #ifdef DIDR2 @@ -343,7 +343,7 @@ void TIMER0_COMPB_vect_bottom(void) #define HAL_ANALOG_SELECT(pin) do{ SBI(DIDR0, pin); }while(0) #endif -inline void HAL_adc_init(void) { +inline void HAL_adc_init() { ADCSRA = _BV(ADEN) | _BV(ADSC) | _BV(ADIF) | 0x07; DIDR0 = 0; #ifdef DIDR2 diff --git a/Marlin/src/HAL/HAL_AVR/HAL_SPI.cpp b/Marlin/src/HAL/HAL_AVR/HAL_SPI.cpp index 1379207bf0..68e21aae53 100644 --- a/Marlin/src/HAL/HAL_AVR/HAL_SPI.cpp +++ b/Marlin/src/HAL/HAL_AVR/HAL_SPI.cpp @@ -33,7 +33,7 @@ #include "../../inc/MarlinConfig.h" -void spiBegin(void) { +void spiBegin() { OUT_WRITE(SS_PIN, HIGH); SET_OUTPUT(SCK_PIN); SET_INPUT(MISO_PIN); @@ -81,7 +81,7 @@ void spiBegin(void) { } /** SPI receive a byte */ - uint8_t spiRec(void) { + uint8_t spiRec() { SPDR = 0xFF; while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } return SPDR; diff --git a/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp b/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp index 57c1ed9550..3502aa6b0c 100644 --- a/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp +++ b/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp @@ -271,7 +271,7 @@ // (called with TX irqs disabled) template - FORCE_INLINE void MarlinSerial::_tx_udr_empty_irq(void) { + FORCE_INLINE void MarlinSerial::_tx_udr_empty_irq() { if (Cfg::TX_SIZE > 0) { // Read positions uint8_t t = tx_buffer.tail; @@ -363,13 +363,13 @@ } template - int MarlinSerial::peek(void) { + int MarlinSerial::peek() { const ring_buffer_pos_t h = atomic_read_rx_head(), t = rx_buffer.tail; return h == t ? -1 : rx_buffer.buffer[t]; } template - int MarlinSerial::read(void) { + int MarlinSerial::read() { const ring_buffer_pos_t h = atomic_read_rx_head(); // Read the tail. Main thread owns it, so it is safe to directly read it @@ -412,13 +412,13 @@ } template - typename MarlinSerial::ring_buffer_pos_t MarlinSerial::available(void) { + typename MarlinSerial::ring_buffer_pos_t MarlinSerial::available() { const ring_buffer_pos_t h = atomic_read_rx_head(), t = rx_buffer.tail; return (ring_buffer_pos_t)(Cfg::RX_SIZE + h - t) & (Cfg::RX_SIZE - 1); } template - void MarlinSerial::flush(void) { + void MarlinSerial::flush() { // Set the tail to the head: // - Read the RX head index in a safe way. (See atomic_read_rx_head.) @@ -505,7 +505,7 @@ } template - void MarlinSerial::flushTX(void) { + void MarlinSerial::flushTX() { if (Cfg::TX_SIZE == 0) { // No bytes written, no need to flush. This special case is needed since there's @@ -595,7 +595,7 @@ } template - void MarlinSerial::println(void) { + void MarlinSerial::println() { print('\r'); print('\n'); } diff --git a/Marlin/src/HAL/HAL_AVR/MarlinSerial.h b/Marlin/src/HAL/HAL_AVR/MarlinSerial.h index f3e2086b2c..7560d880e3 100644 --- a/Marlin/src/HAL/HAL_AVR/MarlinSerial.h +++ b/Marlin/src/HAL/HAL_AVR/MarlinSerial.h @@ -205,18 +205,18 @@ public: FORCE_INLINE static void store_rxd_char(); - FORCE_INLINE static void _tx_udr_empty_irq(void); + FORCE_INLINE static void _tx_udr_empty_irq(); public: MarlinSerial() {}; static void begin(const long); static void end(); - static int peek(void); - static int read(void); - static void flush(void); - static ring_buffer_pos_t available(void); + static int peek(); + static int read(); + static void flush(); + static ring_buffer_pos_t available(); static void write(const uint8_t c); - static void flushTX(void); + static void flushTX(); FORCE_INLINE static uint8_t dropped() { return Cfg::DROPPED_RX ? rx_dropped_bytes : 0; } FORCE_INLINE static uint8_t buffer_overruns() { return Cfg::RX_OVERRUNS ? rx_buffer_overruns : 0; } @@ -245,7 +245,7 @@ static void println(long, int = DEC); static void println(unsigned long, int = DEC); static void println(double, int = 2); - static void println(void); + static void println(); operator bool() { return true; } private: diff --git a/Marlin/src/HAL/HAL_AVR/Servo.cpp b/Marlin/src/HAL/HAL_AVR/Servo.cpp index 58e220cbaf..33818edb96 100644 --- a/Marlin/src/HAL/HAL_AVR/Servo.cpp +++ b/Marlin/src/HAL/HAL_AVR/Servo.cpp @@ -131,7 +131,7 @@ void initISR(timer16_Sequence_t timer) { TCCR1A = 0; // normal counting mode TCCR1B = _BV(CS11); // set prescaler of 8 TCNT1 = 0; // clear the timer count - #if defined(__AVR_ATmega8__)|| defined(__AVR_ATmega128__) + #if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__) SBI(TIFR, OCF1A); // clear any pending interrupts; SBI(TIMSK, OCIE1A); // enable the output compare interrupt #else diff --git a/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h b/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h index c313f95ced..b80fee610d 100644 --- a/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h @@ -41,7 +41,7 @@ #include // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstops.update(); } +void endstop_ISR() { endstops.update(); } /** * Patch for pins_arduino.h (...\Arduino\hardware\arduino\avr\variants\mega\pins_arduino.h) @@ -102,153 +102,124 @@ void pciSetup(const int8_t pin) { ISR(PCINT3_vect, ISR_ALIASOF(PCINT0_vect)); #endif -void setup_endstop_interrupts( void ) { - +void setup_endstop_interrupts() { + #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) #if HAS_X_MAX - #if (digitalPinToInterrupt(X_MAX_PIN) != NOT_AN_INTERRUPT) // if pin has an external interrupt - attachInterrupt(digitalPinToInterrupt(X_MAX_PIN), endstop_ISR, CHANGE); // assign it + #if (digitalPinToInterrupt(X_MAX_PIN) != NOT_AN_INTERRUPT) + _ATTACH(X_MAX_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! - static_assert(digitalPinToPCICR(X_MAX_PIN), "X_MAX_PIN is not interrupt-capable"); // if pin has no pin change interrupt - error - pciSetup(X_MAX_PIN); // assign it + static_assert(digitalPinToPCICR(X_MAX_PIN), "X_MAX_PIN is not interrupt-capable"); + pciSetup(X_MAX_PIN); #endif #endif - #if HAS_X_MIN #if (digitalPinToInterrupt(X_MIN_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(X_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(X_MIN_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable"); pciSetup(X_MIN_PIN); #endif #endif - #if HAS_Y_MAX #if (digitalPinToInterrupt(Y_MAX_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Y_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MAX_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Y_MAX_PIN), "Y_MAX_PIN is not interrupt-capable"); pciSetup(Y_MAX_PIN); #endif #endif - #if HAS_Y_MIN #if (digitalPinToInterrupt(Y_MIN_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Y_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MIN_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable"); pciSetup(Y_MIN_PIN); #endif #endif - #if HAS_Z_MAX #if (digitalPinToInterrupt(Z_MAX_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Z_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MAX_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Z_MAX_PIN), "Z_MAX_PIN is not interrupt-capable"); pciSetup(Z_MAX_PIN); #endif #endif - #if HAS_Z_MIN #if (digitalPinToInterrupt(Z_MIN_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Z_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Z_MIN_PIN), "Z_MIN_PIN is not interrupt-capable"); pciSetup(Z_MIN_PIN); #endif #endif - #if HAS_X2_MAX #if (digitalPinToInterrupt(X2_MAX_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(X2_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(X2_MAX_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(X2_MAX_PIN), "X2_MAX_PIN is not interrupt-capable"); pciSetup(X2_MAX_PIN); #endif #endif - #if HAS_X2_MIN #if (digitalPinToInterrupt(X2_MIN_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(X2_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(X2_MIN_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(X2_MIN_PIN), "X2_MIN_PIN is not interrupt-capable"); pciSetup(X2_MIN_PIN); #endif #endif - #if HAS_Y2_MAX #if (digitalPinToInterrupt(Y2_MAX_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Y2_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Y2_MAX_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Y2_MAX_PIN), "Y2_MAX_PIN is not interrupt-capable"); pciSetup(Y2_MAX_PIN); #endif #endif - #if HAS_Y2_MIN #if (digitalPinToInterrupt(Y2_MIN_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Y2_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Y2_MIN_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Y2_MIN_PIN), "Y2_MIN_PIN is not interrupt-capable"); pciSetup(Y2_MIN_PIN); #endif #endif - #if HAS_Z2_MAX #if (digitalPinToInterrupt(Z2_MAX_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Z2_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MAX_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Z2_MAX_PIN), "Z2_MAX_PIN is not interrupt-capable"); pciSetup(Z2_MAX_PIN); #endif #endif - #if HAS_Z2_MIN #if (digitalPinToInterrupt(Z2_MIN_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Z2_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MIN_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Z2_MIN_PIN), "Z2_MIN_PIN is not interrupt-capable"); pciSetup(Z2_MIN_PIN); #endif #endif - #if HAS_Z3_MAX #if (digitalPinToInterrupt(Z3_MAX_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Z3_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z3_MAX_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Z3_MAX_PIN), "Z3_MAX_PIN is not interrupt-capable"); pciSetup(Z3_MAX_PIN); #endif #endif - #if HAS_Z3_MIN #if (digitalPinToInterrupt(Z3_MIN_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Z3_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z3_MIN_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Z3_MIN_PIN), "Z3_MIN_PIN is not interrupt-capable"); pciSetup(Z3_MIN_PIN); #endif #endif - #if HAS_Z_MIN_PROBE_PIN #if (digitalPinToInterrupt(Z_MIN_PROBE_PIN) != NOT_AN_INTERRUPT) - attachInterrupt(digitalPinToInterrupt(Z_MIN_PROBE_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PROBE_PIN); #else - // Not all used endstop/probe -pins can raise interrupts. Please deactivate ENDSTOP_INTERRUPTS or change the pin configuration! static_assert(digitalPinToPCICR(Z_MIN_PROBE_PIN), "Z_MIN_PROBE_PIN is not interrupt-capable"); pciSetup(Z_MIN_PROBE_PIN); #endif diff --git a/Marlin/src/HAL/HAL_AVR/fast_pwm.cpp b/Marlin/src/HAL/HAL_AVR/fast_pwm.cpp index 55ca669a87..282b70de71 100644 --- a/Marlin/src/HAL/HAL_AVR/fast_pwm.cpp +++ b/Marlin/src/HAL/HAL_AVR/fast_pwm.cpp @@ -59,8 +59,8 @@ Timer get_pwm_timer(const pin_t pin) { #ifdef TCCR2 case TIMER2: { Timer timer = { - /*TCCRnQ*/ { &TCCR2, nullptr, nullptr}, - /*OCRnQ*/ { (uint16_t*)&OCR2, nullptr, nullptr}, + /*TCCRnQ*/ { &TCCR2, nullptr, nullptr }, + /*OCRnQ*/ { (uint16_t*)&OCR2, nullptr, nullptr }, /*ICRn*/ nullptr, /*n, q*/ 2, 0 }; @@ -70,8 +70,8 @@ Timer get_pwm_timer(const pin_t pin) { case TIMER2A: break; // protect TIMER2A case TIMER2B: { Timer timer = { - /*TCCRnQ*/ { &TCCR2A, &TCCR2B, nullptr}, - /*OCRnQ*/ { (uint16_t*)&OCR2A, (uint16_t*)&OCR2B, nullptr}, + /*TCCRnQ*/ { &TCCR2A, &TCCR2B, nullptr }, + /*OCRnQ*/ { (uint16_t*)&OCR2A, (uint16_t*)&OCR2B, nullptr }, /*ICRn*/ nullptr, /*n, q*/ 2, 1 }; @@ -81,8 +81,8 @@ Timer get_pwm_timer(const pin_t pin) { case TIMER2B: ++q; case TIMER2A: { Timer timer = { - /*TCCRnQ*/ { &TCCR2A, &TCCR2B, nullptr}, - /*OCRnQ*/ { (uint16_t*)&OCR2A, (uint16_t*)&OCR2B, nullptr}, + /*TCCRnQ*/ { &TCCR2A, &TCCR2B, nullptr }, + /*OCRnQ*/ { (uint16_t*)&OCR2A, (uint16_t*)&OCR2B, nullptr }, /*ICRn*/ nullptr, 2, q }; @@ -91,13 +91,24 @@ Timer get_pwm_timer(const pin_t pin) { #endif #endif #endif - #ifdef TCCR3A + #ifdef OCR3C case TIMER3C: ++q; case TIMER3B: ++q; case TIMER3A: { Timer timer = { - /*TCCRnQ*/ { &TCCR3A, &TCCR3B, &TCCR3C}, - /*OCRnQ*/ { &OCR3A, &OCR3B, &OCR3C}, + /*TCCRnQ*/ { &TCCR3A, &TCCR3B, &TCCR3C }, + /*OCRnQ*/ { &OCR3A, &OCR3B, &OCR3C }, + /*ICRn*/ &ICR3, + /*n, q*/ 3, q + }; + return timer; + } + #elif defined(OCR3B) + case TIMER3B: ++q; + case TIMER3A: { + Timer timer = { + /*TCCRnQ*/ { &TCCR3A, &TCCR3B, nullptr }, + /*OCRnQ*/ { &OCR3A, &OCR3B, nullptr }, /*ICRn*/ &ICR3, /*n, q*/ 3, q }; @@ -109,8 +120,8 @@ Timer get_pwm_timer(const pin_t pin) { case TIMER4B: ++q; case TIMER4A: { Timer timer = { - /*TCCRnQ*/ { &TCCR4A, &TCCR4B, &TCCR4C}, - /*OCRnQ*/ { &OCR4A, &OCR4B, &OCR4C}, + /*TCCRnQ*/ { &TCCR4A, &TCCR4B, &TCCR4C }, + /*OCRnQ*/ { &OCR4A, &OCR4B, &OCR4C }, /*ICRn*/ &ICR4, /*n, q*/ 4, q }; @@ -122,7 +133,7 @@ Timer get_pwm_timer(const pin_t pin) { case TIMER5B: ++q; case TIMER5A: { Timer timer = { - /*TCCRnQ*/ { &TCCR5A, &TCCR5B, &TCCR5C}, + /*TCCRnQ*/ { &TCCR5A, &TCCR5B, &TCCR5C }, /*OCRnQ*/ { &OCR5A, &OCR5B, &OCR5C }, /*ICRn*/ &ICR5, /*n, q*/ 5, q @@ -132,8 +143,8 @@ Timer get_pwm_timer(const pin_t pin) { #endif } Timer timer = { - /*TCCRnQ*/ { nullptr, nullptr, nullptr}, - /*OCRnQ*/ { nullptr, nullptr, nullptr}, + /*TCCRnQ*/ { nullptr, nullptr, nullptr }, + /*OCRnQ*/ { nullptr, nullptr, nullptr }, /*ICRn*/ nullptr, 0, 0 }; diff --git a/Marlin/src/HAL/HAL_DUE/DebugMonitor.cpp b/Marlin/src/HAL/HAL_DUE/DebugMonitor.cpp index 3b68faac15..20f10ce405 100644 --- a/Marlin/src/HAL/HAL_DUE/DebugMonitor.cpp +++ b/Marlin/src/HAL/HAL_DUE/DebugMonitor.cpp @@ -42,7 +42,7 @@ #define sw_barrier() __asm__ volatile("": : :"memory"); // (re)initialize UART0 as a monitor output to 250000,n,8,1 -static void TXBegin(void) { +static void TXBegin() { // Disable UART interrupt in NVIC NVIC_DisableIRQ( UART_IRQn ); @@ -235,7 +235,7 @@ void HardFault_HandlerC(unsigned long *sp, unsigned long lr, unsigned long cause for (;;) WDT_Restart(WDT); } -__attribute__((naked)) void NMI_Handler(void) { +__attribute__((naked)) void NMI_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -248,7 +248,7 @@ __attribute__((naked)) void NMI_Handler(void) { ); } -__attribute__((naked)) void HardFault_Handler(void) { +__attribute__((naked)) void HardFault_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -261,7 +261,7 @@ __attribute__((naked)) void HardFault_Handler(void) { ); } -__attribute__((naked)) void MemManage_Handler(void) { +__attribute__((naked)) void MemManage_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -274,7 +274,7 @@ __attribute__((naked)) void MemManage_Handler(void) { ); } -__attribute__((naked)) void BusFault_Handler(void) { +__attribute__((naked)) void BusFault_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -287,7 +287,7 @@ __attribute__((naked)) void BusFault_Handler(void) { ); } -__attribute__((naked)) void UsageFault_Handler(void) { +__attribute__((naked)) void UsageFault_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -300,7 +300,7 @@ __attribute__((naked)) void UsageFault_Handler(void) { ); } -__attribute__((naked)) void DebugMon_Handler(void) { +__attribute__((naked)) void DebugMon_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -314,7 +314,7 @@ __attribute__((naked)) void DebugMon_Handler(void) { } /* This is NOT an exception, it is an interrupt handler - Nevertheless, the framing is the same */ -__attribute__((naked)) void WDT_Handler(void) { +__attribute__((naked)) void WDT_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -327,7 +327,7 @@ __attribute__((naked)) void WDT_Handler(void) { ); } -__attribute__((naked)) void RSTC_Handler(void) { +__attribute__((naked)) void RSTC_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") diff --git a/Marlin/src/HAL/HAL_DUE/EepromEmulation.cpp b/Marlin/src/HAL/HAL_DUE/EepromEmulation.cpp index 231e4cc048..c7b7007053 100644 --- a/Marlin/src/HAL/HAL_DUE/EepromEmulation.cpp +++ b/Marlin/src/HAL/HAL_DUE/EepromEmulation.cpp @@ -922,8 +922,7 @@ static void ee_Init() { if (!ee_IsPageClean(grp * PagesPerGroup + page)) { #ifdef EE_EMU_DEBUG SERIAL_ECHO_START(); - SERIAL_ECHOPAIR("EEPROM Page ",page); - SERIAL_ECHOLNPAIR(" not clean on group ",grp); + SERIAL_ECHOLNPAIR("EEPROM Page ", page, " not clean on group ", grp); SERIAL_FLUSH(); #endif ee_PageErase(grp * PagesPerGroup + page); @@ -944,7 +943,7 @@ static void ee_Init() { #ifdef EE_EMU_DEBUG SERIAL_ECHO_START(); - SERIAL_ECHOLNPAIR("EEPROM Active page: ",curPage); + SERIAL_ECHOLNPAIR("EEPROM Active page: ", curPage); SERIAL_FLUSH(); #endif @@ -953,8 +952,7 @@ static void ee_Init() { if (!ee_IsPageClean(curGroup * PagesPerGroup + page)) { #ifdef EE_EMU_DEBUG SERIAL_ECHO_START(); - SERIAL_ECHOPAIR("EEPROM Page ",page); - SERIAL_ECHOLNPAIR(" not clean on active group ",curGroup); + SERIAL_ECHOLNPAIR("EEPROM Page ", page, " not clean on active group ", curGroup); SERIAL_FLUSH(); ee_Dump(curGroup * PagesPerGroup + page, getFlashStorage(curGroup * PagesPerGroup + page)); #endif @@ -993,7 +991,7 @@ void eeprom_read_block(void* __dst, const void* __src, size_t __n) { } } -void eeprom_flush(void) { +void eeprom_flush() { ee_Flush(); } diff --git a/Marlin/src/HAL/HAL_DUE/HAL.cpp b/Marlin/src/HAL/HAL_DUE/HAL.cpp index c98dbbc07c..735ccc6317 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL.cpp +++ b/Marlin/src/HAL/HAL_DUE/HAL.cpp @@ -42,7 +42,7 @@ uint16_t HAL_adc_result; // ------------------------ // HAL initialization task -void HAL_init(void) { +void HAL_init() { // Initialize the USB stack #if ENABLED(SDSUPPORT) OUT_WRITE(SDSS, HIGH); // Try to set SDSS inactive before any other SPI users start up @@ -51,20 +51,20 @@ void HAL_init(void) { } // HAL idle task -void HAL_idletask(void) { +void HAL_idletask() { // Perform USB stack housekeeping usb_task_idle(); } // Disable interrupts -void cli(void) { noInterrupts(); } +void cli() { noInterrupts(); } // Enable interrupts -void sei(void) { interrupts(); } +void sei() { interrupts(); } -void HAL_clear_reset_source(void) { } +void HAL_clear_reset_source() { } -uint8_t HAL_get_reset_source(void) { +uint8_t HAL_get_reset_source() { switch ((RSTC->RSTC_SR >> 8) & 0x07) { case 0: return RST_POWER_ON; case 1: return RST_BACKUP; @@ -98,7 +98,7 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) { HAL_adc_result = analogRead(adc_pin); } -uint16_t HAL_adc_get_result(void) { +uint16_t HAL_adc_get_result() { // nop return HAL_adc_result; } diff --git a/Marlin/src/HAL/HAL_DUE/HAL.h b/Marlin/src/HAL/HAL_DUE/HAL.h index feabd64fb0..2be95b683a 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL.h +++ b/Marlin/src/HAL/HAL_DUE/HAL.h @@ -88,11 +88,11 @@ typedef int8_t pin_t; #define ENABLE_ISRS() __enable_irq() #define DISABLE_ISRS() __disable_irq() -void cli(void); // Disable interrupts -void sei(void); // Enable interrupts +void cli(); // Disable interrupts +void sei(); // Enable interrupts -void HAL_clear_reset_source(void); // clear reset reason -uint8_t HAL_get_reset_source(void); // get reset reason +void HAL_clear_reset_source(); // clear reset reason +uint8_t HAL_get_reset_source(); // get reset reason // // EEPROM @@ -113,14 +113,14 @@ extern uint16_t HAL_adc_result; // result of last ADC conversion #define HAL_ANALOG_SELECT(pin) -inline void HAL_adc_init(void) {}//todo +inline void HAL_adc_init() {}//todo #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) #define HAL_READ_ADC() HAL_adc_result #define HAL_ADC_READY() true void HAL_adc_start_conversion(const uint8_t adc_pin); -uint16_t HAL_adc_get_result(void); +uint16_t HAL_adc_get_result(); // // Pin Map @@ -138,8 +138,8 @@ void noTone(const pin_t _pin); // Enable hooks into idle and setup for HAL #define HAL_IDLETASK 1 -void HAL_idletask(void); -void HAL_init(void); +void HAL_idletask(); +void HAL_init(); // // Utility functions @@ -148,7 +148,7 @@ void _delay_ms(const int delay); #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" -int freeMemory(void); +int freeMemory(); #pragma GCC diagnostic pop #ifdef __cplusplus diff --git a/Marlin/src/HAL/HAL_DUE/HAL_SPI.cpp b/Marlin/src/HAL/HAL_DUE/HAL_SPI.cpp index 94f90670c0..f942ff8082 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL_SPI.cpp +++ b/Marlin/src/HAL/HAL_DUE/HAL_SPI.cpp @@ -428,7 +428,7 @@ static void spiTxBlockX(const uint8_t* buf, uint32_t todo) { do { - (void) spiTransferTx(*buf++); + (void)spiTransferTx(*buf++); } while (--todo); } diff --git a/Marlin/src/HAL/HAL_DUE/InterruptVectors.cpp b/Marlin/src/HAL/HAL_DUE/InterruptVectors.cpp index f6061530db..b9f14823f6 100644 --- a/Marlin/src/HAL/HAL_DUE/InterruptVectors.cpp +++ b/Marlin/src/HAL/HAL_DUE/InterruptVectors.cpp @@ -48,7 +48,7 @@ static DeviceVectors ram_tab = { nullptr }; * If it is not, then it copies the ROM table to the SRAM and relocates the table * by reprogramming the NVIC registers */ -static pfnISR_Handler* get_relocated_table_addr(void) { +static pfnISR_Handler* get_relocated_table_addr() { // Get the address of the interrupt/exception table uint32_t isrtab = SCB->VTOR; diff --git a/Marlin/src/HAL/HAL_DUE/InterruptVectors.h b/Marlin/src/HAL/HAL_DUE/InterruptVectors.h index 592fb2f4cf..87dd049624 100644 --- a/Marlin/src/HAL/HAL_DUE/InterruptVectors.h +++ b/Marlin/src/HAL/HAL_DUE/InterruptVectors.h @@ -37,7 +37,7 @@ #ifdef ARDUINO_ARCH_SAM // ISR handler type -typedef void (*pfnISR_Handler)(void); +typedef void (*pfnISR_Handler)(); // Install a new interrupt vector handler for the given irq, returning the old one pfnISR_Handler install_isr(IRQn_Type irq, pfnISR_Handler newHandler); diff --git a/Marlin/src/HAL/HAL_DUE/MarlinSerial.cpp b/Marlin/src/HAL/HAL_DUE/MarlinSerial.cpp index 6d9d2cbd03..7b88b6d43e 100644 --- a/Marlin/src/HAL/HAL_DUE/MarlinSerial.cpp +++ b/Marlin/src/HAL/HAL_DUE/MarlinSerial.cpp @@ -178,7 +178,7 @@ FORCE_INLINE void MarlinSerial::store_rxd_char() { } template -FORCE_INLINE void MarlinSerial::_tx_thr_empty_irq(void) { +FORCE_INLINE void MarlinSerial::_tx_thr_empty_irq() { if (Cfg::TX_SIZE > 0) { // Read positions uint8_t t = tx_buffer.tail; @@ -221,7 +221,7 @@ FORCE_INLINE void MarlinSerial::_tx_thr_empty_irq(void) { } template -void MarlinSerial::UART_ISR(void) { +void MarlinSerial::UART_ISR() { const uint32_t status = HWUART->UART_SR; // Data received? @@ -308,13 +308,13 @@ void MarlinSerial::end() { } template -int MarlinSerial::peek(void) { +int MarlinSerial::peek() { const int v = rx_buffer.head == rx_buffer.tail ? -1 : rx_buffer.buffer[rx_buffer.tail]; return v; } template -int MarlinSerial::read(void) { +int MarlinSerial::read() { const ring_buffer_pos_t h = rx_buffer.head; ring_buffer_pos_t t = rx_buffer.tail; @@ -354,13 +354,13 @@ int MarlinSerial::read(void) { } template -typename MarlinSerial::ring_buffer_pos_t MarlinSerial::available(void) { +typename MarlinSerial::ring_buffer_pos_t MarlinSerial::available() { const ring_buffer_pos_t h = rx_buffer.head, t = rx_buffer.tail; return (ring_buffer_pos_t)(Cfg::RX_SIZE + h - t) & (Cfg::RX_SIZE - 1); } template -void MarlinSerial::flush(void) { +void MarlinSerial::flush() { rx_buffer.tail = rx_buffer.head; if (Cfg::XONOFF) { @@ -431,7 +431,7 @@ void MarlinSerial::write(const uint8_t c) { } template -void MarlinSerial::flushTX(void) { +void MarlinSerial::flushTX() { // TX if (Cfg::TX_SIZE == 0) { @@ -520,7 +520,7 @@ void MarlinSerial::print(double n, int digits) { } template -void MarlinSerial::println(void) { +void MarlinSerial::println() { print('\r'); print('\n'); } diff --git a/Marlin/src/HAL/HAL_DUE/MarlinSerial.h b/Marlin/src/HAL/HAL_DUE/MarlinSerial.h index 1ba8d82df8..92806f15b4 100644 --- a/Marlin/src/HAL/HAL_DUE/MarlinSerial.h +++ b/Marlin/src/HAL/HAL_DUE/MarlinSerial.h @@ -108,19 +108,19 @@ protected: static ring_buffer_pos_t rx_max_enqueued; FORCE_INLINE static void store_rxd_char(); - FORCE_INLINE static void _tx_thr_empty_irq(void); - static void UART_ISR(void); + FORCE_INLINE static void _tx_thr_empty_irq(); + static void UART_ISR(); public: MarlinSerial() {}; static void begin(const long); static void end(); - static int peek(void); - static int read(void); - static void flush(void); - static ring_buffer_pos_t available(void); + static int peek(); + static int read(); + static void flush(); + static ring_buffer_pos_t available(); static void write(const uint8_t c); - static void flushTX(void); + static void flushTX(); FORCE_INLINE static uint8_t dropped() { return Cfg::DROPPED_RX ? rx_dropped_bytes : 0; } FORCE_INLINE static uint8_t buffer_overruns() { return Cfg::RX_OVERRUNS ? rx_buffer_overruns : 0; } @@ -149,7 +149,7 @@ public: static void println(long, int = DEC); static void println(unsigned long, int = DEC); static void println(double, int = 2); - static void println(void); + static void println(); operator bool() { return true; } private: diff --git a/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB.cpp b/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB.cpp index 0aeec96c49..1bce07e53f 100644 --- a/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB.cpp +++ b/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB.cpp @@ -39,11 +39,11 @@ // Imports from Atmel USB Stack/CDC implementation extern "C" { - bool usb_task_cdc_isenabled(void); - bool usb_task_cdc_dtr_active(void); - bool udi_cdc_is_rx_ready(void); - int udi_cdc_getc(void); - bool udi_cdc_is_tx_ready(void); + bool usb_task_cdc_isenabled(); + bool usb_task_cdc_dtr_active(); + bool udi_cdc_is_rx_ready(); + int udi_cdc_getc(); + bool udi_cdc_is_tx_ready(); int udi_cdc_putc(int value); }; @@ -62,7 +62,7 @@ void MarlinSerialUSB::begin(const long baud_setting) { void MarlinSerialUSB::end() { } -int MarlinSerialUSB::peek(void) { +int MarlinSerialUSB::peek() { if (pending_char >= 0) return pending_char; @@ -83,7 +83,7 @@ int MarlinSerialUSB::peek(void) { return pending_char; } -int MarlinSerialUSB::read(void) { +int MarlinSerialUSB::read() { if (pending_char >= 0) { int ret = pending_char; pending_char = -1; @@ -107,7 +107,7 @@ int MarlinSerialUSB::read(void) { return c; } -bool MarlinSerialUSB::available(void) { +bool MarlinSerialUSB::available() { /* If Pending chars */ return pending_char >= 0 || /* or USB CDC enumerated and configured on the PC side and some @@ -115,8 +115,8 @@ bool MarlinSerialUSB::available(void) { (usb_task_cdc_isenabled() && udi_cdc_is_rx_ready()); } -void MarlinSerialUSB::flush(void) { } -void MarlinSerialUSB::flushTX(void) { } +void MarlinSerialUSB::flush() { } +void MarlinSerialUSB::flushTX() { } void MarlinSerialUSB::write(const uint8_t c) { @@ -186,7 +186,7 @@ void MarlinSerialUSB::print(double n, int digits) { printFloat(n, digits); } -void MarlinSerialUSB::println(void) { +void MarlinSerialUSB::println() { print('\r'); print('\n'); } diff --git a/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB.h b/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB.h index cc63232f29..3d9d4bafaa 100644 --- a/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB.h +++ b/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB.h @@ -43,11 +43,11 @@ public: MarlinSerialUSB() {}; static void begin(const long); static void end(); - static int peek(void); - static int read(void); - static void flush(void); - static void flushTX(void); - static bool available(void); + static int peek(); + static int read(); + static void flush(); + static void flushTX(); + static bool available(); static void write(const uint8_t c); #if ENABLED(SERIAL_STATS_DROPPED_RX) @@ -80,7 +80,7 @@ public: static void println(long, int = DEC); static void println(unsigned long, int = DEC); static void println(double, int = 2); - static void println(void); + static void println(); operator bool() { return true; } private: diff --git a/Marlin/src/HAL/HAL_DUE/Servo.cpp b/Marlin/src/HAL/HAL_DUE/Servo.cpp index a80d0c4f0d..f48fdf5796 100644 --- a/Marlin/src/HAL/HAL_DUE/Servo.cpp +++ b/Marlin/src/HAL/HAL_DUE/Servo.cpp @@ -56,19 +56,19 @@ static volatile int8_t Channel[_Nbr_16timers]; // counter for the s void Servo_Handler(timer16_Sequence_t timer, Tc *pTc, uint8_t channel); #ifdef _useTimer1 - void HANDLER_FOR_TIMER1(void) { Servo_Handler(_timer1, TC_FOR_TIMER1, CHANNEL_FOR_TIMER1); } + void HANDLER_FOR_TIMER1() { Servo_Handler(_timer1, TC_FOR_TIMER1, CHANNEL_FOR_TIMER1); } #endif #ifdef _useTimer2 - void HANDLER_FOR_TIMER2(void) { Servo_Handler(_timer2, TC_FOR_TIMER2, CHANNEL_FOR_TIMER2); } + void HANDLER_FOR_TIMER2() { Servo_Handler(_timer2, TC_FOR_TIMER2, CHANNEL_FOR_TIMER2); } #endif #ifdef _useTimer3 - void HANDLER_FOR_TIMER3(void) { Servo_Handler(_timer3, TC_FOR_TIMER3, CHANNEL_FOR_TIMER3); } + void HANDLER_FOR_TIMER3() { Servo_Handler(_timer3, TC_FOR_TIMER3, CHANNEL_FOR_TIMER3); } #endif #ifdef _useTimer4 - void HANDLER_FOR_TIMER4(void) { Servo_Handler(_timer4, TC_FOR_TIMER4, CHANNEL_FOR_TIMER4); } + void HANDLER_FOR_TIMER4() { Servo_Handler(_timer4, TC_FOR_TIMER4, CHANNEL_FOR_TIMER4); } #endif #ifdef _useTimer5 - void HANDLER_FOR_TIMER5(void) { Servo_Handler(_timer5, TC_FOR_TIMER5, CHANNEL_FOR_TIMER5); } + void HANDLER_FOR_TIMER5() { Servo_Handler(_timer5, TC_FOR_TIMER5, CHANNEL_FOR_TIMER5); } #endif void Servo_Handler(timer16_Sequence_t timer, Tc *tc, uint8_t channel) { diff --git a/Marlin/src/HAL/HAL_DUE/endstop_interrupts.h b/Marlin/src/HAL/HAL_DUE/endstop_interrupts.h index d97b8453cc..daa2b3c15e 100644 --- a/Marlin/src/HAL/HAL_DUE/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_DUE/endstop_interrupts.h @@ -38,45 +38,46 @@ #include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstops.update(); } +void endstop_ISR() { endstops.update(); } /** * Endstop interrupts for Due based targets. * On Due, all pins support external interrupt capability. */ -void setup_endstop_interrupts(void) { +void setup_endstop_interrupts() { + #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) #if HAS_X_MAX - attachInterrupt(digitalPinToInterrupt(X_MAX_PIN), endstop_ISR, CHANGE); // assign it + _ATTACH(X_MAX_PIN); #endif #if HAS_X_MIN - attachInterrupt(digitalPinToInterrupt(X_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(X_MIN_PIN); #endif #if HAS_Y_MAX - attachInterrupt(digitalPinToInterrupt(Y_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MAX_PIN); #endif #if HAS_Y_MIN - attachInterrupt(digitalPinToInterrupt(Y_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MIN_PIN); #endif #if HAS_Z_MAX - attachInterrupt(digitalPinToInterrupt(Z_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MAX_PIN); #endif #if HAS_Z_MIN - attachInterrupt(digitalPinToInterrupt(Z_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PIN); #endif #if HAS_Z2_MAX - attachInterrupt(digitalPinToInterrupt(Z2_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MAX_PIN); #endif #if HAS_Z2_MIN - attachInterrupt(digitalPinToInterrupt(Z2_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MIN_PIN); #endif #if HAS_Z3_MAX - attachInterrupt(digitalPinToInterrupt(Z3_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z3_MAX_PIN); #endif #if HAS_Z3_MIN - attachInterrupt(digitalPinToInterrupt(Z3_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z3_MIN_PIN); #endif #if HAS_Z_MIN_PROBE_PIN - attachInterrupt(digitalPinToInterrupt(Z_MIN_PROBE_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PROBE_PIN); #endif } diff --git a/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp index b465fcfa75..270324b689 100644 --- a/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp +++ b/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp @@ -33,7 +33,7 @@ #define E2END 0xFFF // Default to Flash emulated EEPROM size (EepromEmulation_Due.cpp) #endif -extern void eeprom_flush(void); +extern void eeprom_flush(); bool PersistentStore::access_start() { return true; } @@ -44,7 +44,7 @@ bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_DUE/usb/sd_mmc_spi_mem.cpp b/Marlin/src/HAL/HAL_DUE/usb/sd_mmc_spi_mem.cpp index 6f777d8f9e..7699f2724f 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/sd_mmc_spi_mem.cpp +++ b/Marlin/src/HAL/HAL_DUE/usb/sd_mmc_spi_mem.cpp @@ -15,11 +15,11 @@ extern "C" { #define SD_MMC_BLOCK_SIZE 512 -void sd_mmc_spi_mem_init(void) { +void sd_mmc_spi_mem_init() { } -Ctrl_status sd_mmc_spi_test_unit_ready(void) { - if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isDetected()) +Ctrl_status sd_mmc_spi_test_unit_ready() { + if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted()) return CTRL_NO_PRESENT; return CTRL_GOOD; } @@ -27,7 +27,7 @@ Ctrl_status sd_mmc_spi_test_unit_ready(void) { // NOTE: This function is defined as returning the address of the last block // in the card, which is cardSize() - 1 Ctrl_status sd_mmc_spi_read_capacity(uint32_t *nb_sector) { - if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isDetected()) + if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted()) return CTRL_NO_PRESENT; *nb_sector = card.getSd2Card().cardSize() - 1; return CTRL_GOOD; @@ -38,12 +38,12 @@ bool sd_mmc_spi_unload(bool unload) { return true; } -bool sd_mmc_spi_wr_protect(void) { +bool sd_mmc_spi_wr_protect() { return false; } -bool sd_mmc_spi_removal(void) { - if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isDetected()) +bool sd_mmc_spi_removal() { + if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted()) return true; return false; } @@ -62,7 +62,7 @@ uint8_t sector_buf[SD_MMC_BLOCK_SIZE]; // #define DEBUG_MMC Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) { - if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isDetected()) + if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted()) return CTRL_NO_PRESENT; #ifdef DEBUG_MMC @@ -99,7 +99,7 @@ Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) { } Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector) { - if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isDetected()) + if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted()) return CTRL_NO_PRESENT; #ifdef DEBUG_MMC diff --git a/Marlin/src/HAL/HAL_DUE/usb/udd.h b/Marlin/src/HAL/HAL_DUE/usb/udd.h index 10807f43d7..c87763de23 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/udd.h +++ b/Marlin/src/HAL/HAL_DUE/usb/udd.h @@ -94,11 +94,11 @@ typedef struct { uint16_t payload_size; //! Callback called after reception of ZLP from setup request - void (*callback) (void); + void (*callback)(void); //! Callback called when the buffer given (.payload) is full or empty. //! This one return false to abort data transfer, or true with a new buffer in .payload. - bool(*over_under_run) (void); + bool (*over_under_run)(void); } udd_ctrl_request_t; extern udd_ctrl_request_t udd_g_ctrlreq; @@ -123,7 +123,7 @@ extern udd_ctrl_request_t udd_g_ctrlreq; * Registered by routine udd_ep_wait_stall_clear() * Callback called when endpoint stall is cleared. */ -typedef void (*udd_callback_halt_cleared_t) (void); +typedef void (*udd_callback_halt_cleared_t)(void); /** * \brief End of transfer callback function type. diff --git a/Marlin/src/HAL/HAL_DUE/usb/udi.h b/Marlin/src/HAL/HAL_DUE/usb/udi.h index 1fc7ae5d01..709908cad9 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/udi.h +++ b/Marlin/src/HAL/HAL_DUE/usb/udi.h @@ -82,7 +82,7 @@ typedef struct { * * \return \c 1 if function was successfully done, otherwise \c 0. */ - bool(*enable) (void); + bool (*enable)(void); /** * \brief Disable the interface. @@ -95,7 +95,7 @@ typedef struct { * - the device is detached from the host (i.e. Vbus is no * longer present) */ - void (*disable) (void); + void (*disable)(void); /** * \brief Handle a control request directed at an interface. @@ -108,7 +108,7 @@ typedef struct { * * \return \c 1 if this interface supports the SETUP request, otherwise \c 0. */ - bool(*setup) (void); + bool (*setup)(void); /** * \brief Returns the current setting of the selected interface. @@ -117,12 +117,12 @@ typedef struct { * * \return alternate setting of selected interface */ - uint8_t(*getsetting) (void); + uint8_t (*getsetting)(void); /** * \brief To signal that a SOF is occurred */ - void(*sof_notify) (void); + void (*sof_notify)(void); } udi_api_t; //@} diff --git a/Marlin/src/HAL/HAL_DUE/watchdog.cpp b/Marlin/src/HAL/HAL_DUE/watchdog.cpp index 6d687bac40..1f51b75c18 100644 --- a/Marlin/src/HAL/HAL_DUE/watchdog.cpp +++ b/Marlin/src/HAL/HAL_DUE/watchdog.cpp @@ -32,7 +32,7 @@ // process, because watchdog initialization at hardware reset on SAM3X8E // is unreliable, and there is risk of unintended resets if we delay // that initialization to a later time. -void watchdogSetup(void) { +void watchdogSetup() { #if ENABLED(USE_WATCHDOG) @@ -106,7 +106,7 @@ void watchdogSetup(void) { // Initialize watchdog - On SAM3X, Watchdog was already configured // and enabled or disabled at startup, so no need to reconfigure it // here. - void watchdog_init(void) { + void watchdog_init() { // Reset watchdog to start clean WDT_Restart(WDT); } diff --git a/Marlin/src/HAL/HAL_ESP32/FlushableHardwareSerial.h b/Marlin/src/HAL/HAL_ESP32/FlushableHardwareSerial.h index 66bdbd7aae..9fca4fcbea 100644 --- a/Marlin/src/HAL/HAL_ESP32/FlushableHardwareSerial.h +++ b/Marlin/src/HAL/HAL_ESP32/FlushableHardwareSerial.h @@ -29,7 +29,7 @@ class FlushableHardwareSerial : public HardwareSerial { public: FlushableHardwareSerial(int uart_nr); - inline void flushTX(void) { /* No need to flush the hardware serial, but defined here for compatibility. */ } + inline void flushTX() { /* No need to flush the hardware serial, but defined here for compatibility. */ } }; extern FlushableHardwareSerial flushableSerial; diff --git a/Marlin/src/HAL/HAL_ESP32/HAL.cpp b/Marlin/src/HAL/HAL_ESP32/HAL.cpp index 32bc4de30a..9bf41c2e84 100644 --- a/Marlin/src/HAL/HAL_ESP32/HAL.cpp +++ b/Marlin/src/HAL/HAL_ESP32/HAL.cpp @@ -78,11 +78,11 @@ volatile int numPWMUsed = 0, // Public functions // ------------------------ -void HAL_init(void) { +void HAL_init() { i2s_init(); } -void HAL_init_board(void) { +void HAL_init_board() { #if EITHER(EEPROM_SETTINGS, WEBSUPPORT) spiffs_init(); #endif @@ -99,15 +99,15 @@ void HAL_init_board(void) { #endif } -void HAL_idletask(void) { +void HAL_idletask() { #if ENABLED(OTASUPPORT) OTA_handle(); #endif } -void HAL_clear_reset_source(void) { } +void HAL_clear_reset_source() { } -uint8_t HAL_get_reset_source(void) { return rtc_get_reset_reason(1); } +uint8_t HAL_get_reset_source() { return rtc_get_reset_reason(1); } void _delay_ms(int delay_ms) { delay(delay_ms); } diff --git a/Marlin/src/HAL/HAL_ESP32/HAL.h b/Marlin/src/HAL/HAL_ESP32/HAL.h index d77a698ec5..0736ff3c59 100644 --- a/Marlin/src/HAL/HAL_ESP32/HAL.h +++ b/Marlin/src/HAL/HAL_ESP32/HAL.h @@ -85,16 +85,16 @@ extern uint16_t HAL_adc_result; // ------------------------ // clear reset reason -void HAL_clear_reset_source (void); +void HAL_clear_reset_source(); // reset reason -uint8_t HAL_get_reset_source(void); +uint8_t HAL_get_reset_source(); void _delay_ms(int delay); #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" -int freeMemory(void); +int freeMemory(); #pragma GCC diagnostic pop void analogWrite(pin_t pin, int value); @@ -108,7 +108,7 @@ void eeprom_update_block (const void *__src, void *__dst, size_t __n); // ADC #define HAL_ANALOG_SELECT(pin) -void HAL_adc_init(void); +void HAL_adc_init(); #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) #define HAL_READ_ADC() HAL_adc_result @@ -123,6 +123,6 @@ void HAL_adc_start_conversion(uint8_t adc_pin); // Enable hooks into idle and setup for HAL #define HAL_IDLETASK 1 #define BOARD_INIT() HAL_init_board(); -void HAL_idletask(void); -void HAL_init(void); -void HAL_init_board(void); +void HAL_idletask(); +void HAL_init(); +void HAL_init_board(); diff --git a/Marlin/src/HAL/HAL_ESP32/HAL_SPI.cpp b/Marlin/src/HAL/HAL_ESP32/HAL_SPI.cpp index 96052b88ef..eba880b4fd 100644 --- a/Marlin/src/HAL/HAL_ESP32/HAL_SPI.cpp +++ b/Marlin/src/HAL/HAL_ESP32/HAL_SPI.cpp @@ -80,7 +80,7 @@ void spiInit(uint8_t spiRate) { SPI.begin(); } -uint8_t spiRec(void) { +uint8_t spiRec() { SPI.beginTransaction(spiConfig); uint8_t returnByte = SPI.transfer(0xFF); SPI.endTransaction(); diff --git a/Marlin/src/HAL/HAL_ESP32/Servo.cpp b/Marlin/src/HAL/HAL_ESP32/Servo.cpp index c6be4b1280..3c3b8fa704 100644 --- a/Marlin/src/HAL/HAL_ESP32/Servo.cpp +++ b/Marlin/src/HAL/HAL_ESP32/Servo.cpp @@ -32,25 +32,25 @@ int Servo::channel_next_free = 12; Servo::Servo() { - this->channel = channel_next_free++; + channel = channel_next_free++; } -int8_t Servo::attach(const int pin) { - if (this->channel >= CHANNEL_MAX_NUM) return -1; - if (pin > 0) this->pin = pin; +int8_t Servo::attach(const int inPin) { + if (channel >= CHANNEL_MAX_NUM) return -1; + if (pin > 0) pin = inPin; - ledcSetup(this->channel, 50, 16); // channel X, 50 Hz, 16-bit depth - ledcAttachPin(this->pin, this->channel); + ledcSetup(channel, 50, 16); // channel X, 50 Hz, 16-bit depth + ledcAttachPin(pin, channel); return true; } -void Servo::detach() { ledcDetachPin(this->pin); } +void Servo::detach() { ledcDetachPin(pin); } -int Servo::read() { return this->degrees; } +int Servo::read() { return degrees; } void Servo::write(int inDegrees) { - this->degrees = constrain(inDegrees, MIN_ANGLE, MAX_ANGLE); - int us = map(this->degrees, MIN_ANGLE, MAX_ANGLE, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH); + degrees = constrain(inDegrees, MIN_ANGLE, MAX_ANGLE); + int us = map(degrees, MIN_ANGLE, MAX_ANGLE, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH); int duty = map(us, 0, TAU_USEC, 0, MAX_COMPARE); ledcWrite(channel, duty); } @@ -58,11 +58,11 @@ void Servo::write(int inDegrees) { void Servo::move(const int value) { constexpr uint16_t servo_delay[] = SERVO_DELAY; static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); - if (this->attach(0) >= 0) { - this->write(value); - safe_delay(servo_delay[this->channel]); + if (attach(0) >= 0) { + write(value); + safe_delay(servo_delay[channel]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) - this->detach(); + detach(); #endif } } diff --git a/Marlin/src/HAL/HAL_ESP32/WebSocketSerial.cpp b/Marlin/src/HAL/HAL_ESP32/WebSocketSerial.cpp index ce2692e2d2..9a38d3996a 100644 --- a/Marlin/src/HAL/HAL_ESP32/WebSocketSerial.cpp +++ b/Marlin/src/HAL/HAL_ESP32/WebSocketSerial.cpp @@ -66,15 +66,15 @@ ring_buffer_pos_t RingBuffer::write(const uint8_t *buffer, ring_buffer_pos_t siz return written; } -int RingBuffer::available(void) { +int RingBuffer::available() { return (size - read_index + write_index) & (size - 1); } -int RingBuffer::peek(void) { +int RingBuffer::peek() { return available() ? data[read_index] : -1; } -int RingBuffer::read(void) { +int RingBuffer::read() { if (available()) { const int ret = data[read_index]; read_index = NEXT_INDEX(read_index, size); @@ -94,7 +94,7 @@ ring_buffer_pos_t RingBuffer::read(uint8_t *buffer) { return len; } -void RingBuffer::flush(void) { read_index = write_index; } +void RingBuffer::flush() { read_index = write_index; } // WebSocketSerial impl WebSocketSerial::WebSocketSerial() @@ -120,10 +120,10 @@ void WebSocketSerial::begin(const long baud_setting) { } void WebSocketSerial::end() { } -int WebSocketSerial::peek(void) { return rx_buffer.peek(); } -int WebSocketSerial::read(void) { return rx_buffer.read(); } -int WebSocketSerial::available(void) { return rx_buffer.available(); } -void WebSocketSerial::flush(void) { rx_buffer.flush(); } +int WebSocketSerial::peek() { return rx_buffer.peek(); } +int WebSocketSerial::read() { return rx_buffer.read(); } +int WebSocketSerial::available() { return rx_buffer.available(); } +void WebSocketSerial::flush() { rx_buffer.flush(); } size_t WebSocketSerial::write(const uint8_t c) { size_t ret = tx_buffer.write(c); @@ -145,7 +145,7 @@ size_t WebSocketSerial::write(const uint8_t* buffer, size_t size) { return written; } -void WebSocketSerial::flushTX(void) { +void WebSocketSerial::flushTX() { // No need to do anything as there's no benefit to sending partial lines over the websocket connection. } diff --git a/Marlin/src/HAL/HAL_ESP32/WebSocketSerial.h b/Marlin/src/HAL/HAL_ESP32/WebSocketSerial.h index 6470f941d1..9590271b01 100644 --- a/Marlin/src/HAL/HAL_ESP32/WebSocketSerial.h +++ b/Marlin/src/HAL/HAL_ESP32/WebSocketSerial.h @@ -45,11 +45,11 @@ public: RingBuffer(ring_buffer_pos_t size); ~RingBuffer(); - int available(void); - int peek(void); - int read(void); + int available(); + int peek(); + int read(); ring_buffer_pos_t read(uint8_t *buffer); - void flush(void); + void flush(); ring_buffer_pos_t write(const uint8_t c); ring_buffer_pos_t write(const uint8_t* buffer, ring_buffer_pos_t size); }; @@ -62,11 +62,11 @@ public: WebSocketSerial(); void begin(const long); void end(); - int available(void); - int peek(void); - int read(void); - void flush(void); - void flushTX(void); + int available(); + int peek(); + int read(); + void flush(); + void flushTX(); size_t write(const uint8_t c); size_t write(const uint8_t* buffer, size_t size); diff --git a/Marlin/src/HAL/HAL_ESP32/endstop_interrupts.h b/Marlin/src/HAL/HAL_ESP32/endstop_interrupts.h index 9e5fc8a665..31a3e4d667 100644 --- a/Marlin/src/HAL/HAL_ESP32/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_ESP32/endstop_interrupts.h @@ -38,40 +38,41 @@ #include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void ICACHE_RAM_ATTR endstop_ISR(void) { endstops.update(); } +void ICACHE_RAM_ATTR endstop_ISR() { endstops.update(); } -void setup_endstop_interrupts(void) { +void setup_endstop_interrupts() { + #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) #if HAS_X_MAX - attachInterrupt(digitalPinToInterrupt(X_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(X_MAX_PIN); #endif #if HAS_X_MIN - attachInterrupt(digitalPinToInterrupt(X_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(X_MIN_PIN); #endif #if HAS_Y_MAX - attachInterrupt(digitalPinToInterrupt(Y_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MAX_PIN); #endif #if HAS_Y_MIN - attachInterrupt(digitalPinToInterrupt(Y_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MIN_PIN); #endif #if HAS_Z_MAX - attachInterrupt(digitalPinToInterrupt(Z_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MAX_PIN); #endif #if HAS_Z_MIN - attachInterrupt(digitalPinToInterrupt(Z_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PIN); #endif #if HAS_Z2_MAX - attachInterrupt(digitalPinToInterrupt(Z2_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MAX_PIN); #endif #if HAS_Z2_MIN - attachInterrupt(digitalPinToInterrupt(Z2_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MIN_PIN); #endif #if HAS_Z3_MAX - attachInterrupt(digitalPinToInterrupt(Z3_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z3_MAX_PIN); #endif #if HAS_Z3_MIN - attachInterrupt(digitalPinToInterrupt(Z3_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z3_MIN_PIN); #endif #if HAS_Z_MIN_PROBE_PIN - attachInterrupt(digitalPinToInterrupt(Z_MIN_PROBE_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PROBE_PIN); #endif } diff --git a/Marlin/src/HAL/HAL_ESP32/persistent_store_spiffs.cpp b/Marlin/src/HAL/HAL_ESP32/persistent_store_spiffs.cpp index 5227da3568..deefde9155 100644 --- a/Marlin/src/HAL/HAL_ESP32/persistent_store_spiffs.cpp +++ b/Marlin/src/HAL/HAL_ESP32/persistent_store_spiffs.cpp @@ -72,7 +72,7 @@ bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { if (!eeprom_file.seek(pos)) return true; // return true for any error if (eeprom_file.write(value, size) != size) return true; diff --git a/Marlin/src/HAL/HAL_ESP32/timers.h b/Marlin/src/HAL/HAL_ESP32/timers.h index 0806fd2c77..4b01f4ba7c 100644 --- a/Marlin/src/HAL/HAL_ESP32/timers.h +++ b/Marlin/src/HAL/HAL_ESP32/timers.h @@ -79,13 +79,13 @@ typedef uint64_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_TEMP_TIMER_ISR() extern "C" void tempTC_Handler(void) -#define HAL_STEP_TIMER_ISR() extern "C" void stepTC_Handler(void) -#define HAL_PWM_TIMER_ISR() extern "C" void pwmTC_Handler(void) +#define HAL_TEMP_TIMER_ISR() extern "C" void tempTC_Handler() +#define HAL_STEP_TIMER_ISR() extern "C" void stepTC_Handler() +#define HAL_PWM_TIMER_ISR() extern "C" void pwmTC_Handler() -extern "C" void tempTC_Handler(void); -extern "C" void stepTC_Handler(void); -extern "C" void pwmTC_Handler(void); +extern "C" void tempTC_Handler(); +extern "C" void stepTC_Handler(); +extern "C" void pwmTC_Handler(); // ------------------------ // Types @@ -95,7 +95,7 @@ typedef struct { timer_group_t group; timer_idx_t idx; uint32_t divider; - void (*fn)(void); + void (*fn)(); } tTimerConfig; // ------------------------ diff --git a/Marlin/src/HAL/HAL_ESP32/watchdog.cpp b/Marlin/src/HAL/HAL_ESP32/watchdog.cpp index c653a356cf..d05e67c856 100644 --- a/Marlin/src/HAL/HAL_ESP32/watchdog.cpp +++ b/Marlin/src/HAL/HAL_ESP32/watchdog.cpp @@ -28,11 +28,11 @@ #include "watchdog.h" -void watchdogSetup(void) { +void watchdogSetup() { // do whatever. don't remove this function. } -void watchdog_init(void) { +void watchdog_init() { // TODO } diff --git a/Marlin/src/HAL/HAL_LINUX/HAL.cpp b/Marlin/src/HAL/HAL_LINUX/HAL.cpp index 0251e2e4e6..316f6b452a 100644 --- a/Marlin/src/HAL/HAL_LINUX/HAL.cpp +++ b/Marlin/src/HAL/HAL_LINUX/HAL.cpp @@ -31,10 +31,10 @@ HalSerial usb_serial; extern "C" void u8g_xMicroDelay(uint16_t val) { DELAY_US(val); } -extern "C" void u8g_MicroDelay(void) { +extern "C" void u8g_MicroDelay() { u8g_xMicroDelay(1); } -extern "C" void u8g_10MicroDelay(void) { +extern "C" void u8g_10MicroDelay() { u8g_xMicroDelay(10); } extern "C" void u8g_Delay(uint16_t val) { @@ -51,7 +51,7 @@ int freeMemory() { // ADC // ------------------------ -void HAL_adc_init(void) { +void HAL_adc_init() { } @@ -64,18 +64,18 @@ void HAL_adc_start_conversion(const uint8_t ch) { active_ch = ch; } -bool HAL_adc_finished(void) { +bool HAL_adc_finished() { return true; } -uint16_t HAL_adc_get_result(void) { +uint16_t HAL_adc_get_result() { pin_t pin = analogInputToDigitalPin(active_ch); if (!VALID_PIN(pin)) return 0; uint16_t data = ((Gpio::get(pin) >> 2) & 0x3FF); return data; // return 10bit value as Marlin expects } -void HAL_pwm_init(void) { +void HAL_pwm_init() { } diff --git a/Marlin/src/HAL/HAL_LINUX/HAL.h b/Marlin/src/HAL/HAL_LINUX/HAL.h index 9f83c9ccc3..39d68a7a10 100644 --- a/Marlin/src/HAL/HAL_LINUX/HAL.h +++ b/Marlin/src/HAL/HAL_LINUX/HAL.h @@ -78,12 +78,12 @@ extern HalSerial usb_serial; #define ENABLE_ISRS() #define DISABLE_ISRS() -inline void HAL_init(void) { } +inline void HAL_init() { } // Utility functions #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" -int freeMemory(void); +int freeMemory(); #pragma GCC diagnostic pop // ADC @@ -92,10 +92,10 @@ int freeMemory(void); #define HAL_READ_ADC() HAL_adc_get_result() #define HAL_ADC_READY() true -void HAL_adc_init(void); +void HAL_adc_init(); void HAL_adc_enable_channel(int pin); void HAL_adc_start_conversion(const uint8_t adc_pin); -uint16_t HAL_adc_get_result(void); +uint16_t HAL_adc_get_result(); /* ---------------- Delay in cycles */ FORCE_INLINE static void DELAY_CYCLES(uint64_t x) { diff --git a/Marlin/src/HAL/HAL_LINUX/arduino.cpp b/Marlin/src/HAL/HAL_LINUX/arduino.cpp index 2ead6d595d..7915d685ea 100644 --- a/Marlin/src/HAL/HAL_LINUX/arduino.cpp +++ b/Marlin/src/HAL/HAL_LINUX/arduino.cpp @@ -28,8 +28,8 @@ #include "../shared/Delay.h" // Interrupts -void cli(void) { } // Disable -void sei(void) { } // Enable +void cli() { } // Disable +void sei() { } // Enable // Time functions void _delay_ms(const int delay_ms) { diff --git a/Marlin/src/HAL/HAL_LINUX/include/Arduino.h b/Marlin/src/HAL/HAL_LINUX/include/Arduino.h index 1fbd1ba249..13a8206e1b 100644 --- a/Marlin/src/HAL/HAL_LINUX/include/Arduino.h +++ b/Marlin/src/HAL/HAL_LINUX/include/Arduino.h @@ -63,9 +63,9 @@ typedef uint8_t byte; #define constrain(value, arg_min, arg_max) ((value) < (arg_min) ? (arg_min) :((value) > (arg_max) ? (arg_max) : (value))) //Interrupts -void cli(void); // Disable -void sei(void); // Enable -void attachInterrupt(uint32_t pin, void (*callback)(void), uint32_t mode); +void cli(); // Disable +void sei(); // Enable +void attachInterrupt(uint32_t pin, void (*callback)(), uint32_t mode); void detachInterrupt(uint32_t pin); extern "C" void GpioEnableInt(uint32_t port, uint32_t pin, uint32_t mode); extern "C" void GpioDisableInt(uint32_t port, uint32_t pin); diff --git a/Marlin/src/HAL/HAL_LINUX/include/serial.h b/Marlin/src/HAL/HAL_LINUX/include/serial.h index 9098af5ff8..268bdeeeca 100644 --- a/Marlin/src/HAL/HAL_LINUX/include/serial.h +++ b/Marlin/src/HAL/HAL_LINUX/include/serial.h @@ -108,11 +108,11 @@ public: void flush() { receive_buffer.clear(); } - uint8_t availableForWrite(void) { + uint8_t availableForWrite() { return transmit_buffer.free() > 255 ? 255 : (uint8_t)transmit_buffer.free(); } - void flushTX(void) { + void flushTX() { if (host_connected) while (transmit_buffer.available()) { /* nada */ } } @@ -200,7 +200,7 @@ public: void println(unsigned long value, int nbase = 0) { print(value, nbase); println(); } void println(float value, int round = 6) { printf("%f\n" , value); } void println(double value, int round = 6) { printf("%f\n" , value); } - void println(void) { print('\n'); } + void println() { print('\n'); } volatile RingBuffer receive_buffer; volatile RingBuffer transmit_buffer; diff --git a/Marlin/src/HAL/HAL_LINUX/main.cpp b/Marlin/src/HAL/HAL_LINUX/main.cpp index 01b0eee34d..4231affba7 100644 --- a/Marlin/src/HAL/HAL_LINUX/main.cpp +++ b/Marlin/src/HAL/HAL_LINUX/main.cpp @@ -104,7 +104,7 @@ void simulation_loop() { } } -int main(void) { +int main() { std::thread write_serial (write_serial_thread); std::thread read_serial (read_serial_thread); diff --git a/Marlin/src/HAL/HAL_LINUX/timers.cpp b/Marlin/src/HAL/HAL_LINUX/timers.cpp index 625ea7a277..f293d7f408 100644 --- a/Marlin/src/HAL/HAL_LINUX/timers.cpp +++ b/Marlin/src/HAL/HAL_LINUX/timers.cpp @@ -37,7 +37,7 @@ HAL_TEMP_TIMER_ISR(); Timer timers[2]; -void HAL_timer_init(void) { +void HAL_timer_init() { timers[0].init(0, STEPPER_TIMER_RATE, TIMER0_IRQHandler); timers[1].init(1, TEMP_TIMER_RATE, TIMER1_IRQHandler); } diff --git a/Marlin/src/HAL/HAL_LINUX/timers.h b/Marlin/src/HAL/HAL_LINUX/timers.h index e883cb0150..8022aabd26 100644 --- a/Marlin/src/HAL/HAL_LINUX/timers.h +++ b/Marlin/src/HAL/HAL_LINUX/timers.h @@ -59,16 +59,16 @@ typedef uint32_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_STEP_TIMER_ISR() extern "C" void TIMER0_IRQHandler(void) -#define HAL_TEMP_TIMER_ISR() extern "C" void TIMER1_IRQHandler(void) +#define HAL_STEP_TIMER_ISR() extern "C" void TIMER0_IRQHandler() +#define HAL_TEMP_TIMER_ISR() extern "C" void TIMER1_IRQHandler() // PWM timer #define HAL_PWM_TIMER -#define HAL_PWM_TIMER_ISR() extern "C" void TIMER3_IRQHandler(void) +#define HAL_PWM_TIMER_ISR() extern "C" void TIMER3_IRQHandler() #define HAL_PWM_TIMER_IRQn -void HAL_timer_init(void); +void HAL_timer_init(); void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency); void HAL_timer_set_compare(const uint8_t timer_num, const hal_timer_t compare); diff --git a/Marlin/src/HAL/HAL_LINUX/watchdog.cpp b/Marlin/src/HAL/HAL_LINUX/watchdog.cpp index f96a05e5b8..a1ecac1cb5 100644 --- a/Marlin/src/HAL/HAL_LINUX/watchdog.cpp +++ b/Marlin/src/HAL/HAL_LINUX/watchdog.cpp @@ -28,19 +28,19 @@ #include "watchdog.h" -void watchdog_init(void) {} +void watchdog_init() {} -void HAL_clear_reset_source(void) {} +void HAL_clear_reset_source() {} -uint8_t HAL_get_reset_source(void) { +uint8_t HAL_get_reset_source() { return RST_POWER_ON; } void watchdog_reset() {} #else - void HAL_clear_reset_source(void) {} - uint8_t HAL_get_reset_source(void) { return RST_POWER_ON; } + void HAL_clear_reset_source() {} + uint8_t HAL_get_reset_source() { return RST_POWER_ON; } #endif // USE_WATCHDOG #endif // __PLAT_LINUX__ diff --git a/Marlin/src/HAL/HAL_LINUX/watchdog.h b/Marlin/src/HAL/HAL_LINUX/watchdog.h index 04ce17fe9d..5bc06f04f1 100644 --- a/Marlin/src/HAL/HAL_LINUX/watchdog.h +++ b/Marlin/src/HAL/HAL_LINUX/watchdog.h @@ -23,7 +23,7 @@ #define WDT_TIMEOUT 4000000 // 4 second timeout -void watchdog_init(void); -void watchdog_reset(void); -void HAL_clear_reset_source(void); -uint8_t HAL_get_reset_source(void); +void watchdog_init(); +void watchdog_reset(); +void HAL_clear_reset_source(); +uint8_t HAL_get_reset_source(); diff --git a/Marlin/src/HAL/HAL_LPC1768/DebugMonitor.cpp b/Marlin/src/HAL/HAL_LPC1768/DebugMonitor.cpp index 0196253df2..fefee386e5 100644 --- a/Marlin/src/HAL/HAL_LPC1768/DebugMonitor.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/DebugMonitor.cpp @@ -44,7 +44,7 @@ #define sw_barrier() __asm__ volatile("": : :"memory"); // (re)initialize UART0 as a monitor output to 250000,n,8,1 -static void TXBegin(void) { +static void TXBegin() { } // Send character through UART with no interrupts @@ -210,7 +210,7 @@ void HardFault_HandlerC(unsigned long *sp, unsigned long lr, unsigned long cause } extern "C" { -__attribute__((naked)) void NMI_Handler(void) { +__attribute__((naked)) void NMI_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -223,7 +223,7 @@ __attribute__((naked)) void NMI_Handler(void) { ); } -__attribute__((naked)) void HardFault_Handler(void) { +__attribute__((naked)) void HardFault_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -236,7 +236,7 @@ __attribute__((naked)) void HardFault_Handler(void) { ); } -__attribute__((naked)) void MemManage_Handler(void) { +__attribute__((naked)) void MemManage_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -249,7 +249,7 @@ __attribute__((naked)) void MemManage_Handler(void) { ); } -__attribute__((naked)) void BusFault_Handler(void) { +__attribute__((naked)) void BusFault_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -262,7 +262,7 @@ __attribute__((naked)) void BusFault_Handler(void) { ); } -__attribute__((naked)) void UsageFault_Handler(void) { +__attribute__((naked)) void UsageFault_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -275,7 +275,7 @@ __attribute__((naked)) void UsageFault_Handler(void) { ); } -__attribute__((naked)) void DebugMon_Handler(void) { +__attribute__((naked)) void DebugMon_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -289,7 +289,7 @@ __attribute__((naked)) void DebugMon_Handler(void) { } /* This is NOT an exception, it is an interrupt handler - Nevertheless, the framing is the same */ -__attribute__((naked)) void WDT_IRQHandler(void) { +__attribute__((naked)) void WDT_IRQHandler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") @@ -302,7 +302,7 @@ __attribute__((naked)) void WDT_IRQHandler(void) { ); } -__attribute__((naked)) void RSTC_Handler(void) { +__attribute__((naked)) void RSTC_Handler() { __asm__ __volatile__ ( ".syntax unified" "\n\t" A("tst lr, #4") diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL.cpp b/Marlin/src/HAL/HAL_LPC1768/HAL.cpp index aed7a7855c..b684145e99 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/HAL.cpp @@ -30,10 +30,10 @@ extern "C" void u8g_xMicroDelay(uint16_t val) { DELAY_US(val); } -extern "C" void u8g_MicroDelay(void) { +extern "C" void u8g_MicroDelay() { u8g_xMicroDelay(1); } -extern "C" void u8g_10MicroDelay(void) { +extern "C" void u8g_10MicroDelay() { u8g_xMicroDelay(10); } extern "C" void u8g_Delay(uint16_t val) { diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL.h b/Marlin/src/HAL/HAL_LPC1768/HAL.h index cadf35e1ca..cf2576de25 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL.h +++ b/Marlin/src/HAL/HAL_LPC1768/HAL.h @@ -28,7 +28,7 @@ #define CPU_32_BIT -void HAL_init(void); +void HAL_init(); #include #include @@ -113,7 +113,7 @@ extern "C" volatile uint32_t _millis; // #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" -int freeMemory(void); +int freeMemory(); #pragma GCC diagnostic pop // @@ -144,7 +144,7 @@ int16_t PARSED_PIN_INDEX(const char code, const int16_t dval); #define HAL_SENSITIVE_PINS P0_06, P0_07, P0_08, P0_09 #define HAL_IDLETASK 1 -void HAL_idletask(void); +void HAL_idletask(); #define PLATFORM_M997_SUPPORT void flashFirmware(int16_t value); diff --git a/Marlin/src/HAL/HAL_LPC1768/MarlinSerial.cpp b/Marlin/src/HAL/HAL_LPC1768/MarlinSerial.cpp index 2379300512..a8778f7446 100644 --- a/Marlin/src/HAL/HAL_LPC1768/MarlinSerial.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/MarlinSerial.cpp @@ -27,28 +27,28 @@ #if (defined(SERIAL_PORT) && SERIAL_PORT == 0) || (defined(SERIAL_PORT_2) && SERIAL_PORT_2 == 0) MarlinSerial MSerial(LPC_UART0); - extern "C" void UART0_IRQHandler(void) { + extern "C" void UART0_IRQHandler() { MSerial.IRQHandler(); } #endif #if (defined(SERIAL_PORT) && SERIAL_PORT == 1) || (defined(SERIAL_PORT_2) && SERIAL_PORT_2 == 1) MarlinSerial MSerial1((LPC_UART_TypeDef *) LPC_UART1); - extern "C" void UART1_IRQHandler(void) { + extern "C" void UART1_IRQHandler() { MSerial1.IRQHandler(); } #endif #if (defined(SERIAL_PORT) && SERIAL_PORT == 2) || (defined(SERIAL_PORT_2) && SERIAL_PORT_2 == 2) MarlinSerial MSerial2(LPC_UART2); - extern "C" void UART2_IRQHandler(void) { + extern "C" void UART2_IRQHandler() { MSerial2.IRQHandler(); } #endif #if (defined(SERIAL_PORT) && SERIAL_PORT == 3) || (defined(SERIAL_PORT_2) && SERIAL_PORT_2 == 3) MarlinSerial MSerial3(LPC_UART3); - extern "C" void UART3_IRQHandler(void) { + extern "C" void UART3_IRQHandler() { MSerial3.IRQHandler(); } #endif diff --git a/Marlin/src/HAL/HAL_LPC1768/Servo.h b/Marlin/src/HAL/HAL_LPC1768/Servo.h index 8b511032cb..1bbf84c73e 100644 --- a/Marlin/src/HAL/HAL_LPC1768/Servo.h +++ b/Marlin/src/HAL/HAL_LPC1768/Servo.h @@ -57,11 +57,11 @@ class libServo: public Servo { constexpr uint16_t servo_delay[] = SERVO_DELAY; static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); - if (this->attach(servo_info[this->servoIndex].Pin.nbr) >= 0) { // try to reattach - this->write(value); - safe_delay(servo_delay[this->servoIndex]); // delay to allow servo to reach position + if (attach(servo_info[servoIndex].Pin.nbr) >= 0) { // try to reattach + write(value); + safe_delay(servo_delay[servoIndex]); // delay to allow servo to reach position #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) - this->detach(); + detach(); #endif } diff --git a/Marlin/src/HAL/HAL_LPC1768/endstop_interrupts.h b/Marlin/src/HAL/HAL_LPC1768/endstop_interrupts.h index a1d9aba167..53e4b15809 100644 --- a/Marlin/src/HAL/HAL_LPC1768/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_LPC1768/endstop_interrupts.h @@ -38,73 +38,74 @@ #include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstops.update(); } +void endstop_ISR() { endstops.update(); } -void setup_endstop_interrupts(void) { +void setup_endstop_interrupts() { + #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) #if HAS_X_MAX #if !LPC1768_PIN_INTERRUPT_M(X_MAX_PIN) - #error "X_MAX_PIN is not an INTERRUPT capable pin." + #error "X_MAX_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(X_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(X_MAX_PIN); #endif #if HAS_X_MIN #if !LPC1768_PIN_INTERRUPT_M(X_MIN_PIN) - #error "X_MIN_PIN is not an INTERRUPT capable pin." + #error "X_MIN_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(X_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(X_MIN_PIN); #endif #if HAS_Y_MAX #if !LPC1768_PIN_INTERRUPT_M(Y_MAX_PIN) - #error "Y_MAX_PIN is not an INTERRUPT capable pin." + #error "Y_MAX_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(Y_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MAX_PIN); #endif #if HAS_Y_MIN #if !LPC1768_PIN_INTERRUPT_M(Y_MIN_PIN) - #error "Y_MIN_PIN is not an INTERRUPT capable pin." + #error "Y_MIN_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(Y_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MIN_PIN); #endif #if HAS_Z_MAX #if !LPC1768_PIN_INTERRUPT_M(Z_MAX_PIN) - #error "Z_MAX_PIN is not an INTERRUPT capable pin." + #error "Z_MAX_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(Z_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MAX_PIN); #endif #if HAS_Z_MIN #if !LPC1768_PIN_INTERRUPT_M(Z_MIN_PIN) - #error "Z_MIN_PIN is not an INTERRUPT capable pin." + #error "Z_MIN_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(Z_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PIN); #endif #if HAS_Z2_MAX #if !LPC1768_PIN_INTERRUPT_M(Z2_MAX_PIN) - #error "Z2_MAX_PIN is not an INTERRUPT capable pin." + #error "Z2_MAX_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(Z2_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MAX_PIN); #endif #if HAS_Z2_MIN #if !LPC1768_PIN_INTERRUPT_M(Z2_MIN_PIN) - #error "Z2_MIN_PIN is not an INTERRUPT capable pin." + #error "Z2_MIN_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(Z2_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MIN_PIN); #endif #if HAS_Z3_MAX #if !LPC1768_PIN_INTERRUPT_M(Z3_MIN_PIN) - #error "Z3_MIN_PIN is not an INTERRUPT capable pin." + #error "Z3_MIN_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(Z3_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z3_MAX_PIN); #endif #if HAS_Z3_MIN #if !LPC1768_PIN_INTERRUPT_M(Z3_MIN_PIN) - #error "Z3_MIN_PIN is not an INTERRUPT capable pin." + #error "Z3_MIN_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(Z3_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z3_MIN_PIN); #endif #if HAS_Z_MIN_PROBE_PIN #if !LPC1768_PIN_INTERRUPT_M(Z_MIN_PROBE_PIN) - #error "Z_MIN_PROBE_PIN is not an INTERRUPT capable pin." + #error "Z_MIN_PROBE_PIN is not INTERRUPT-capable." #endif - attachInterrupt(digitalPinToInterrupt(Z_MIN_PROBE_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PROBE_PIN); #endif } diff --git a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c index 28c1e01792..3ad1aff017 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c +++ b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c @@ -89,7 +89,7 @@ uint8_t digipot_mcp4451_start(uint8_t sla) { // send slave address and write bi return 1; } -void digipot_mcp4451_init(void) { +void digipot_mcp4451_init() { /** * Init I2C pin connect */ diff --git a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h index 13712e2ae0..d7e4b0dc7a 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h @@ -45,7 +45,7 @@ #include uint8_t digipot_mcp4451_start(uint8_t sla); -void digipot_mcp4451_init(void); +void digipot_mcp4451_init(); uint8_t digipot_mcp4451_send_byte(uint8_t data); #ifdef __cplusplus diff --git a/Marlin/src/HAL/HAL_LPC1768/main.cpp b/Marlin/src/HAL/HAL_LPC1768/main.cpp index b7b5040a20..ab5b184b47 100644 --- a/Marlin/src/HAL/HAL_LPC1768/main.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/main.cpp @@ -42,11 +42,11 @@ extern "C" { extern uint32_t MSC_SD_Init(uint8_t pdrv); extern "C" int isLPC1769(); -extern "C" void disk_timerproc(void); +extern "C" void disk_timerproc(); void SysTick_Callback() { disk_timerproc(); } -void HAL_init(void) { +void HAL_init() { // Init LEDs #if PIN_EXISTS(LED) @@ -149,7 +149,7 @@ void HAL_init(void) { } // HAL idle task -void HAL_idletask(void) { +void HAL_idletask() { #if ENABLED(SHARED_SD_CARD) // If Marlin is using the SD card we need to lock it to prevent access from // a PC via USB. @@ -158,7 +158,7 @@ void HAL_idletask(void) { // the disk if Marlin has it mounted. Unfortuately there is currently no way // to unmount the disk from the LCD menu. // if (IS_SD_PRINTING() || IS_SD_FILE_OPEN()) - if (card.isDetected()) + if (card.isMounted()) MSC_Aquire_Lock(); else MSC_Release_Lock(); diff --git a/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp b/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp index dac7d7a3a9..4f4f371f5e 100644 --- a/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp @@ -109,7 +109,7 @@ bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { for (size_t i = 0; i < size; i++) ram_eeprom[pos + i] = value[i]; eeprom_dirty = true; crc16(crc, value, size); diff --git a/Marlin/src/HAL/HAL_LPC1768/timers.cpp b/Marlin/src/HAL/HAL_LPC1768/timers.cpp index 914f980fc0..7bf7ff3880 100644 --- a/Marlin/src/HAL/HAL_LPC1768/timers.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/timers.cpp @@ -31,7 +31,7 @@ #include "../../inc/MarlinConfig.h" #include "timers.h" -void HAL_timer_init(void) { +void HAL_timer_init() { SBI(LPC_SC->PCONP, SBIT_TIMER0); // Power ON Timer 0 LPC_TIM0->PR = (HAL_TIMER_RATE) / (STEPPER_TIMER_RATE) - 1; // Use prescaler to set frequency if needed diff --git a/Marlin/src/HAL/HAL_LPC1768/timers.h b/Marlin/src/HAL/HAL_LPC1768/timers.h index 29cb8c437e..73ea728af1 100644 --- a/Marlin/src/HAL/HAL_LPC1768/timers.h +++ b/Marlin/src/HAL/HAL_LPC1768/timers.h @@ -53,7 +53,7 @@ #define _HAL_TIMER(T) _CAT(LPC_TIM, T) #define _HAL_TIMER_IRQ(T) TIMER##T##_IRQn -#define __HAL_TIMER_ISR(T) extern "C" void TIMER##T##_IRQHandler(void) +#define __HAL_TIMER_ISR(T) extern "C" void TIMER##T##_IRQHandler() #define _HAL_TIMER_ISR(T) __HAL_TIMER_ISR(T) typedef uint32_t hal_timer_t; @@ -94,7 +94,7 @@ typedef uint32_t hal_timer_t; // ------------------------ // Public functions // ------------------------ -void HAL_timer_init(void); +void HAL_timer_init(); void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency); FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const hal_timer_t compare) { diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_I2C_routines.c b/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_I2C_routines.c index 41a19d430f..dc81396b09 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_I2C_routines.c +++ b/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_I2C_routines.c @@ -163,7 +163,7 @@ uint8_t u8g_i2c_send_byte(uint8_t data) { return 1; } -void u8g_i2c_stop(void) { +void u8g_i2c_stop() { } diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_I2C_routines.h b/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_I2C_routines.h index 11e05ba0d0..9dd594cd9e 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_I2C_routines.h +++ b/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_I2C_routines.h @@ -25,4 +25,4 @@ void u8g_i2c_init(uint8_t options); uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos); uint8_t u8g_i2c_start(uint8_t sla); uint8_t u8g_i2c_send_byte(uint8_t data); -void u8g_i2c_stop(void); +void u8g_i2c_stop(); diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_delay.h b/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_delay.h index f37773d21c..8806e87477 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_delay.h +++ b/Marlin/src/HAL/HAL_LPC1768/u8g/LCD_delay.h @@ -35,8 +35,8 @@ #endif void U8g_delay(int msec); -void u8g_MicroDelay(void); -void u8g_10MicroDelay(void); +void u8g_MicroDelay(); +void u8g_10MicroDelay(); #ifdef __cplusplus } diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g/u8g_com_HAL_LPC1768_ssd_sw_i2c.cpp under construction b/Marlin/src/HAL/HAL_LPC1768/u8g/u8g_com_HAL_LPC1768_ssd_sw_i2c.cpp under construction index e93ff8b08d..0222c62280 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g/u8g_com_HAL_LPC1768_ssd_sw_i2c.cpp under construction +++ b/Marlin/src/HAL/HAL_LPC1768/u8g/u8g_com_HAL_LPC1768_ssd_sw_i2c.cpp under construction @@ -138,7 +138,7 @@ uint8_t u8g_i2c_start_sw(uint8_t sla) { // assert start condition and then send } -void u8g_i2c_stop_sw(void) { } +void u8g_i2c_stop_sw() { } void u8g_i2c_init_sw(uint8_t clock_option) { u8g_i2c_start(0); } // send slave address and write bit diff --git a/Marlin/src/HAL/HAL_LPC1768/watchdog.cpp b/Marlin/src/HAL/HAL_LPC1768/watchdog.cpp index e6729ff58f..55e3628603 100644 --- a/Marlin/src/HAL/HAL_LPC1768/watchdog.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/watchdog.cpp @@ -29,7 +29,7 @@ #include "lpc17xx_wdt.h" #include "watchdog.h" -void watchdog_init(void) { +void watchdog_init() { #if ENABLED(WATCHDOG_RESET_MANUAL) // We enable the watchdog timer, but only for the interrupt. @@ -56,11 +56,11 @@ void watchdog_init(void) { WDT_Start(WDT_TIMEOUT); } -void HAL_clear_reset_source(void) { +void HAL_clear_reset_source() { WDT_ClrTimeOutFlag(); } -uint8_t HAL_get_reset_source(void) { +uint8_t HAL_get_reset_source() { if (TEST(WDT_ReadTimeOutFlag(), 0)) return RST_WATCHDOG; return RST_POWER_ON; } @@ -74,10 +74,10 @@ void watchdog_reset() { #else -void watchdog_init(void) {} -void watchdog_reset(void) {} -void HAL_clear_reset_source(void) {} -uint8_t HAL_get_reset_source(void) { return RST_POWER_ON; } +void watchdog_init() {} +void watchdog_reset() {} +void HAL_clear_reset_source() {} +uint8_t HAL_get_reset_source() { return RST_POWER_ON; } #endif // USE_WATCHDOG diff --git a/Marlin/src/HAL/HAL_LPC1768/watchdog.h b/Marlin/src/HAL/HAL_LPC1768/watchdog.h index 04ce17fe9d..5bc06f04f1 100644 --- a/Marlin/src/HAL/HAL_LPC1768/watchdog.h +++ b/Marlin/src/HAL/HAL_LPC1768/watchdog.h @@ -23,7 +23,7 @@ #define WDT_TIMEOUT 4000000 // 4 second timeout -void watchdog_init(void); -void watchdog_reset(void); -void HAL_clear_reset_source(void); -uint8_t HAL_get_reset_source(void); +void watchdog_init(); +void watchdog_reset(); +void HAL_clear_reset_source(); +uint8_t HAL_get_reset_source(); diff --git a/Marlin/src/HAL/HAL_SAMD51/HAL.cpp b/Marlin/src/HAL/HAL_SAMD51/HAL.cpp index dac6037b20..d80dd17aab 100644 --- a/Marlin/src/HAL/HAL_SAMD51/HAL.cpp +++ b/Marlin/src/HAL/HAL_SAMD51/HAL.cpp @@ -368,12 +368,13 @@ uint16_t HAL_adc_result; // ------------------------ // HAL initialization task -void HAL_init(void) { +void HAL_init() { #if DMA_IS_REQUIRED dma_init(); #endif #if ENABLED(SDSUPPORT) - #if SD_CONNECTION_IS(ONBOARD) && PIN_EXISTS(SD_DETECT) // SD_DETECT_PIN may be remove when NO_SD_HOST_DRIVE is not defined in configuration_adv + // SD_DETECT_PIN may be removed if NO_SD_HOST_DRIVE is not defined in Configuration_adv.h + #if SD_CONNECTION_IS(ONBOARD) && PIN_EXISTS(SD_DETECT) SET_INPUT_PULLUP(SD_DETECT_PIN); #endif OUT_WRITE(SDSS, HIGH); // Try to set SDSS inactive before any other SPI users start up @@ -382,15 +383,15 @@ void HAL_init(void) { // HAL idle task /* -void HAL_idletask(void) { +void HAL_idletask() { } */ -void HAL_clear_reset_source(void) { } +void HAL_clear_reset_source() { } #pragma push_macro("WDT") #undef WDT // Required to be able to use '.bit.WDT'. Compiler wrongly replace struct field with WDT define -uint8_t HAL_get_reset_source(void) { +uint8_t HAL_get_reset_source() { RSTC_RCAUSE_Type resetCause; resetCause.reg = REG_RSTC_RCAUSE; @@ -420,7 +421,7 @@ int freeMemory() { // ADC // ------------------------ -void HAL_adc_init(void) { +void HAL_adc_init() { #if ADC_IS_REQUIRED memset(HAL_adc_results, 0xFF, sizeof(HAL_adc_results)); // Fill result with invalid values @@ -468,7 +469,7 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) { HAL_adc_result = 0xFFFF; } -uint16_t HAL_adc_get_result(void) { +uint16_t HAL_adc_get_result() { return HAL_adc_result; } diff --git a/Marlin/src/HAL/HAL_SAMD51/HAL.h b/Marlin/src/HAL/HAL_SAMD51/HAL.h index 87b2838eee..3489a4d285 100644 --- a/Marlin/src/HAL/HAL_SAMD51/HAL.h +++ b/Marlin/src/HAL/HAL_SAMD51/HAL.h @@ -91,8 +91,8 @@ typedef int8_t pin_t; #define cli() __disable_irq() // Disable interrupts #define sei() __enable_irq() // Enable interrupts -void HAL_clear_reset_source(void); // clear reset reason -uint8_t HAL_get_reset_source(void); // get reset reason +void HAL_clear_reset_source(); // clear reset reason +uint8_t HAL_get_reset_source(); // get reset reason // // EEPROM @@ -107,14 +107,14 @@ extern uint16_t HAL_adc_result; // result of last ADC conversion #define HAL_ANALOG_SELECT(pin) -void HAL_adc_init(void); +void HAL_adc_init(); #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) #define HAL_READ_ADC() HAL_adc_result #define HAL_ADC_READY() true void HAL_adc_start_conversion(const uint8_t adc_pin); -uint16_t HAL_adc_get_result(void); +uint16_t HAL_adc_get_result(); // // Pin Map @@ -131,10 +131,10 @@ void tone(const pin_t _pin, const unsigned int frequency, const unsigned long du void noTone(const pin_t _pin); // Enable hooks into idle and setup for HAL -void HAL_init(void); +void HAL_init(); /* #define HAL_IDLETASK 1 -void HAL_idletask(void); +void HAL_idletask(); */ // @@ -144,7 +144,7 @@ FORCE_INLINE void _delay_ms(const int delay_ms) { delay(delay_ms); } #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" -int freeMemory(void); +int freeMemory(); #pragma GCC diagnostic pop #ifdef __cplusplus diff --git a/Marlin/src/HAL/HAL_SAMD51/HAL_SPI.cpp b/Marlin/src/HAL/HAL_SAMD51/HAL_SPI.cpp index 5235d56cf9..bbd12912a2 100644 --- a/Marlin/src/HAL/HAL_SAMD51/HAL_SPI.cpp +++ b/Marlin/src/HAL/HAL_SAMD51/HAL_SPI.cpp @@ -64,7 +64,7 @@ // ------------------------ // Hardware SPI // ------------------------ - void spiBegin(void) { + void spiBegin() { spiInit(SPI_HALF_SPEED); } @@ -92,7 +92,7 @@ * * @details */ - uint8_t spiRec(void) { + uint8_t spiRec() { sdSPI.beginTransaction(spiConfig); uint8_t returnByte = sdSPI.transfer(0xFF); sdSPI.endTransaction(); diff --git a/Marlin/src/HAL/HAL_SAMD51/endstop_interrupts.h b/Marlin/src/HAL/HAL_SAMD51/endstop_interrupts.h index 26c11b6e8b..1f66e02e31 100644 --- a/Marlin/src/HAL/HAL_SAMD51/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_SAMD51/endstop_interrupts.h @@ -112,9 +112,9 @@ && !MATCH_Z_MIN_PROBE_EILINE(P)) // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstops.update(); } +void endstop_ISR() { endstops.update(); } -void setup_endstop_interrupts(void) { +void setup_endstop_interrupts() { #if HAS_X_MAX #if !AVAILABLE_EILINE(X_MAX_PIN) static_assert(false, "X_MAX_PIN has no EXTINT line available."); diff --git a/Marlin/src/HAL/HAL_SAMD51/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_SAMD51/persistent_store_eeprom.cpp index e41dd85c85..2a0c991742 100644 --- a/Marlin/src/HAL/HAL_SAMD51/persistent_store_eeprom.cpp +++ b/Marlin/src/HAL/HAL_SAMD51/persistent_store_eeprom.cpp @@ -58,7 +58,7 @@ bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { #if NONE(SPI_EEPROM, I2C_EEPROM) if (NVMCTRL->SEESTAT.bit.RLOCK) NVMCTRL_CMD(NVMCTRL_CTRLB_CMD_USEE); // Unlock E2P data write access diff --git a/Marlin/src/HAL/HAL_SAMD51/watchdog.cpp b/Marlin/src/HAL/HAL_SAMD51/watchdog.cpp index f46565b9a3..a60bcedd8a 100644 --- a/Marlin/src/HAL/HAL_SAMD51/watchdog.cpp +++ b/Marlin/src/HAL/HAL_SAMD51/watchdog.cpp @@ -27,7 +27,7 @@ #include "watchdog.h" - void watchdog_init(void) { + void watchdog_init() { // The low-power oscillator used by the WDT runs at 32,768 Hz with // a 1:32 prescale, thus 1024 Hz, though probably not super precise. diff --git a/Marlin/src/HAL/HAL_STM32/HAL.cpp b/Marlin/src/HAL/HAL_STM32/HAL.cpp index dc21069dba..6ecde3ef35 100644 --- a/Marlin/src/HAL/HAL_STM32/HAL.cpp +++ b/Marlin/src/HAL/HAL_STM32/HAL.cpp @@ -60,7 +60,7 @@ uint16_t HAL_adc_result; #endif // HAL initialization task -void HAL_init(void) { +void HAL_init() { FastIO_init(); #if ENABLED(SDSUPPORT) @@ -84,9 +84,9 @@ void HAL_init(void) { #endif // EEPROM_EMULATED_SRAM } -void HAL_clear_reset_source(void) { __HAL_RCC_CLEAR_RESET_FLAGS(); } +void HAL_clear_reset_source() { __HAL_RCC_CLEAR_RESET_FLAGS(); } -uint8_t HAL_get_reset_source(void) { +uint8_t HAL_get_reset_source() { if (__HAL_RCC_GET_FLAG(RCC_FLAG_IWDGRST) != RESET) return RST_WATCHDOG; if (__HAL_RCC_GET_FLAG(RCC_FLAG_SFTRST) != RESET) return RST_SOFTWARE; if (__HAL_RCC_GET_FLAG(RCC_FLAG_PINRST) != RESET) return RST_EXTERNAL; @@ -108,8 +108,13 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) { HAL_adc_result = analogRead(adc_pin); } -uint16_t HAL_adc_get_result(void) { +uint16_t HAL_adc_get_result() { return HAL_adc_result; } +void flashFirmware(int16_t value) { + UNUSED(value); + NVIC_SystemReset(); +} + #endif // ARDUINO_ARCH_STM32 && !STM32GENERIC diff --git a/Marlin/src/HAL/HAL_STM32/HAL.h b/Marlin/src/HAL/HAL_STM32/HAL.h index 59fe0d89db..dae75d42f2 100644 --- a/Marlin/src/HAL/HAL_STM32/HAL.h +++ b/Marlin/src/HAL/HAL_STM32/HAL.h @@ -147,13 +147,13 @@ extern uint16_t HAL_adc_result; #define __bss_end __bss_end__ // Enable hooks into setup for HAL -void HAL_init(void); +void HAL_init(); // Clear reset reason -void HAL_clear_reset_source (void); +void HAL_clear_reset_source(); // Reset reason -uint8_t HAL_get_reset_source(void); +uint8_t HAL_get_reset_source(); void _delay_ms(const int delay); @@ -185,7 +185,7 @@ void eeprom_update_block(const void *__src, void *__dst, size_t __n); #define HAL_ANALOG_SELECT(pin) pinMode(pin, INPUT) -inline void HAL_adc_init(void) {} +inline void HAL_adc_init() {} #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) #define HAL_READ_ADC() HAL_adc_result @@ -193,8 +193,11 @@ inline void HAL_adc_init(void) {} void HAL_adc_start_conversion(const uint8_t adc_pin); -uint16_t HAL_adc_get_result(void); +uint16_t HAL_adc_get_result(); #define GET_PIN_MAP_PIN(index) index #define GET_PIN_MAP_INDEX(pin) pin #define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval) + +#define PLATFORM_M997_SUPPORT +void flashFirmware(int16_t value); diff --git a/Marlin/src/HAL/HAL_STM32/HAL_SPI.cpp b/Marlin/src/HAL/HAL_STM32/HAL_SPI.cpp index ca5a131eec..45bd26d720 100644 --- a/Marlin/src/HAL/HAL_STM32/HAL_SPI.cpp +++ b/Marlin/src/HAL/HAL_STM32/HAL_SPI.cpp @@ -59,7 +59,7 @@ static SPISettings spiConfig; * * @details Only configures SS pin since stm32duino creates and initialize the SPI object */ -void spiBegin(void) { +void spiBegin() { #if !PIN_EXISTS(SS) #error "SS_PIN not defined!" #endif @@ -93,7 +93,7 @@ void spiInit(uint8_t spiRate) { * * @details */ -uint8_t spiRec(void) { +uint8_t spiRec() { SPI.beginTransaction(spiConfig); uint8_t returnByte = SPI.transfer(0xFF); SPI.endTransaction(); diff --git a/Marlin/src/HAL/HAL_STM32/Servo.cpp b/Marlin/src/HAL/HAL_STM32/Servo.cpp index 93154f7847..2882f071ac 100644 --- a/Marlin/src/HAL/HAL_STM32/Servo.cpp +++ b/Marlin/src/HAL/HAL_STM32/Servo.cpp @@ -31,24 +31,24 @@ uint8_t servoPin[MAX_SERVOS] = { 0 }; int8_t libServo::attach(const int pin) { - if (this->servoIndex >= MAX_SERVOS) return -1; - if (pin > 0) servoPin[this->servoIndex] = pin; - return Servo::attach(servoPin[this->servoIndex]); + if (servoIndex >= MAX_SERVOS) return -1; + if (pin > 0) servoPin[servoIndex] = pin; + return super::attach(servoPin[servoIndex]); } int8_t libServo::attach(const int pin, const int min, const int max) { - if (pin > 0) servoPin[this->servoIndex] = pin; - return Servo::attach(servoPin[this->servoIndex], min, max); + if (pin > 0) servoPin[servoIndex] = pin; + return super::attach(servoPin[servoIndex], min, max); } void libServo::move(const int value) { constexpr uint16_t servo_delay[] = SERVO_DELAY; static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); - if (this->attach(0) >= 0) { - this->write(value); - safe_delay(servo_delay[this->servoIndex]); + if (attach(0) >= 0) { + write(value); + safe_delay(servo_delay[servoIndex]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) - this->detach(); + detach(); #endif } } diff --git a/Marlin/src/HAL/HAL_STM32/Servo.h b/Marlin/src/HAL/HAL_STM32/Servo.h index a782c130e4..592f3a0662 100644 --- a/Marlin/src/HAL/HAL_STM32/Servo.h +++ b/Marlin/src/HAL/HAL_STM32/Servo.h @@ -31,6 +31,7 @@ class libServo : public Servo { int8_t attach(const int pin, const int min, const int max); void move(const int value); private: + typedef Servo super; uint16_t min_ticks, max_ticks; uint8_t servoIndex; // index into the channel data for this servo }; diff --git a/Marlin/src/HAL/HAL_STM32/endstop_interrupts.h b/Marlin/src/HAL/HAL_STM32/endstop_interrupts.h index 86f6d68c59..d0aa731e89 100644 --- a/Marlin/src/HAL/HAL_STM32/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_STM32/endstop_interrupts.h @@ -25,9 +25,9 @@ #include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstops.update(); } +void endstop_ISR() { endstops.update(); } -void setup_endstop_interrupts(void) { +void setup_endstop_interrupts() { #if HAS_X_MAX attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); #endif diff --git a/Marlin/src/HAL/HAL_STM32/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_STM32/persistent_store_impl.cpp index c94bce3b65..ff8313dd83 100644 --- a/Marlin/src/HAL/HAL_STM32/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_STM32/persistent_store_impl.cpp @@ -50,7 +50,7 @@ bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_STM32/persistent_store_sdcard.cpp b/Marlin/src/HAL/HAL_STM32/persistent_store_sdcard.cpp index 33bff7a7a8..6ce63073c4 100644 --- a/Marlin/src/HAL/HAL_STM32/persistent_store_sdcard.cpp +++ b/Marlin/src/HAL/HAL_STM32/persistent_store_sdcard.cpp @@ -47,7 +47,7 @@ static char _ALIGN(4) HAL_eeprom_data[HAL_EEPROM_SIZE]; #define EEPROM_FILENAME "eeprom.dat" bool PersistentStore::access_start() { - if (!card.isDetected()) return false; + if (!card.isMounted()) return false; SdFile file, root = card.getroot(); if (!file.open(&root, EEPROM_FILENAME, O_RDONLY)) @@ -62,7 +62,7 @@ static char _ALIGN(4) HAL_eeprom_data[HAL_EEPROM_SIZE]; } bool PersistentStore::access_finish() { - if (!card.isDetected()) return false; + if (!card.isMounted()) return false; SdFile file, root = card.getroot(); int bytes_written = 0; diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL.cpp b/Marlin/src/HAL/HAL_STM32F1/HAL.cpp index f3d0168342..e1f2e21ffd 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL.cpp @@ -82,7 +82,7 @@ // Public Variables // ------------------------ -#if (!defined(SERIAL_USB) && !defined(USE_USB_COMPOSITE)) +#if (defined(SERIAL_USB) && !defined(USE_USB_COMPOSITE)) USBSerial SerialUSB; #endif @@ -201,16 +201,16 @@ static void NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { #if SERIAL_PORT > 0 #if SERIAL_PORT2 #if SERIAL_PORT2 > 0 - void board_setup_usb(void) {} + void board_setup_usb() {} #endif #else - void board_setup_usb(void) {} + void board_setup_usb() {} #endif #endif } } #endif -void HAL_init(void) { +void HAL_init() { NVIC_SetPriorityGrouping(0x3); #if PIN_EXISTS(LED) OUT_WRITE(LED_PIN, LOW); @@ -226,7 +226,7 @@ void HAL_init(void) { } // HAL idle task -void HAL_idletask(void) { +void HAL_idletask() { #ifdef USE_USB_COMPOSITE #if ENABLED(SHARED_SD_CARD) // If Marlin is using the SD card we need to lock it to prevent access from @@ -245,19 +245,19 @@ void HAL_idletask(void) { /* VGPV Done with defines // disable interrupts -void cli(void) { noInterrupts(); } +void cli() { noInterrupts(); } // enable interrupts -void sei(void) { interrupts(); } +void sei() { interrupts(); } */ -void HAL_clear_reset_source(void) { } +void HAL_clear_reset_source() { } /** * TODO: Check this and change or remove. * currently returns 1 that's equal to poweron reset. */ -uint8_t HAL_get_reset_source(void) { return 1; } +uint8_t HAL_get_reset_source() { return 1; } void _delay_ms(const int delay_ms) { delay(delay_ms); } @@ -297,7 +297,7 @@ extern "C" { // ADC // ------------------------ // Init the AD in continuous capture mode -void HAL_adc_init(void) { +void HAL_adc_init() { // configure the ADC adc.calibrate(); #if F_CPU > 72000000 @@ -356,7 +356,7 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) { HAL_adc_result = (HAL_adc_results[(int)pin_index] >> 2) & 0x3FF; // shift to get 10 bits only. } -uint16_t HAL_adc_get_result(void) { return HAL_adc_result; } +uint16_t HAL_adc_get_result() { return HAL_adc_result; } uint16_t analogRead(pin_t pin) { const bool is_analog = _GET_MODE(pin) == GPIO_INPUT_ANALOG; @@ -369,4 +369,6 @@ void analogWrite(pin_t pin, int pwm_val8) { analogWrite(uint8_t(pin), pwm_val8); } +void flashFirmware(int16_t value) { nvic_sys_reset(); } + #endif // __STM32F1__ diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL.h b/Marlin/src/HAL/HAL_STM32F1/HAL.h index c096fb0831..f1017c82df 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL.h +++ b/Marlin/src/HAL/HAL_STM32F1/HAL.h @@ -42,7 +42,10 @@ #include #include "../../inc/MarlinConfigPre.h" -#include "msc_sd.h" + +#ifdef USE_USB_COMPOSITE + #include "msc_sd.h" +#endif // ------------------------ // Defines @@ -60,12 +63,6 @@ #define MSerial4 Serial4 #define MSerial5 Serial5 #else - #ifndef USE_USB_COMPOSITE - extern USBSerial SerialUSB; - #define UsbSerial SerialUSB - #else - #define UsbSerial MarlinCompositeSerial - #endif #define MSerial1 Serial #define MSerial2 Serial1 #define MSerial3 Serial2 @@ -119,9 +116,9 @@ #endif // Set interrupt grouping for this MCU -void HAL_init(void); +void HAL_init(); #define HAL_IDLETASK 1 -void HAL_idletask(void); +void HAL_idletask(); /** * TODO: review this to return 1 for pins that are not analog input @@ -186,10 +183,10 @@ extern uint16_t HAL_adc_result; #define __bss_end __bss_end__ // Clear reset reason -void HAL_clear_reset_source(void); +void HAL_clear_reset_source(); // Reset reason -uint8_t HAL_get_reset_source(void); +uint8_t HAL_get_reset_source(); void _delay_ms(const int delay); @@ -198,7 +195,7 @@ void _delay_ms(const int delay); /* extern "C" { - int freeMemory(void); + int freeMemory(); } */ @@ -238,14 +235,14 @@ void eeprom_update_block(const void *__src, void *__dst, size_t __n); #define HAL_ANALOG_SELECT(pin) pinMode(pin, INPUT_ANALOG); -void HAL_adc_init(void); +void HAL_adc_init(); #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) #define HAL_READ_ADC() HAL_adc_result #define HAL_ADC_READY() true void HAL_adc_start_conversion(const uint8_t adc_pin); -uint16_t HAL_adc_get_result(void); +uint16_t HAL_adc_get_result(); uint16_t analogRead(pin_t pin); // need HAL_ANALOG_SELECT() first void analogWrite(pin_t pin, int pwm_val8); // PWM only! mul by 257 in maple!? @@ -256,3 +253,6 @@ void analogWrite(pin_t pin, int pwm_val8); // PWM only! mul by 257 in maple!? #define JTAG_DISABLE() afio_cfg_debug_ports(AFIO_DEBUG_SW_ONLY) #define JTAGSWD_DISABLE() afio_cfg_debug_ports(AFIO_DEBUG_NONE) + +#define PLATFORM_M997_SUPPORT +void flashFirmware(int16_t value); diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_SPI.cpp b/Marlin/src/HAL/HAL_STM32F1/HAL_SPI.cpp index 5acae7bf91..9f3f34239d 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_SPI.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_SPI.cpp @@ -112,7 +112,7 @@ void spiInit(uint8_t spiRate) { * * @details */ -uint8_t spiRec(void) { +uint8_t spiRec() { uint8_t returnByte = SPI.transfer(ff); return returnByte; } diff --git a/Marlin/src/HAL/HAL_STM32F1/SPI.cpp b/Marlin/src/HAL/HAL_STM32F1/SPI.cpp index d8bf68d150..101b42a53a 100644 --- a/Marlin/src/HAL/HAL_STM32F1/SPI.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/SPI.cpp @@ -178,8 +178,7 @@ void SPIClass::end() { // FIXME [0.1.0] remove this once you have an interrupt based driver volatile uint16_t rx __attribute__((unused)) = spi_rx_reg(_currentSetting->spi_d); } - while (!spi_is_tx_empty(_currentSetting->spi_d)) { /* nada */ } - while (spi_is_busy(_currentSetting->spi_d)) { /* nada */ } + waitSpiTxEnd(_currentSetting->spi_d); spi_peripheral_disable(_currentSetting->spi_d); // added for DMA callbacks. @@ -214,31 +213,31 @@ void SPIClass::setDataSize(uint32_t datasize) { } void SPIClass::setDataMode(uint8_t dataMode) { - /* - Notes: - As far as we know the AVR numbers for dataMode match the numbers required by the STM32. - From the AVR doc http://www.atmel.com/images/doc2585.pdf section 2.4 - - SPI Mode CPOL CPHA Shift SCK-edge Capture SCK-edge - 0 0 0 Falling Rising - 1 0 1 Rising Falling - 2 1 0 Rising Falling - 3 1 1 Falling Rising - - On the STM32 it appears to be - - bit 1 - CPOL : Clock polarity - (This bit should not be changed when communication is ongoing) - 0 : CLK to 0 when idle - 1 : CLK to 1 when idle - - bit 0 - CPHA : Clock phase - (This bit should not be changed when communication is ongoing) - 0 : The first clock transition is the first data capture edge - 1 : The second clock transition is the first data capture edge - - If someone finds this is not the case or sees a logic error with this let me know ;-) - */ + /** + * Notes: + * As far as we know the AVR numbers for dataMode match the numbers required by the STM32. + * From the AVR doc http://www.atmel.com/images/doc2585.pdf section 2.4 + * + * SPI Mode CPOL CPHA Shift SCK-edge Capture SCK-edge + * 0 0 0 Falling Rising + * 1 0 1 Rising Falling + * 2 1 0 Rising Falling + * 3 1 1 Falling Rising + * + * On the STM32 it appears to be + * + * bit 1 - CPOL : Clock polarity + * (This bit should not be changed when communication is ongoing) + * 0 : CLK to 0 when idle + * 1 : CLK to 1 when idle + * + * bit 0 - CPHA : Clock phase + * (This bit should not be changed when communication is ongoing) + * 0 : The first clock transition is the first data capture edge + * 1 : The second clock transition is the first data capture edge + * + * If someone finds this is not the case or sees a logic error with this let me know ;-) + */ _currentSetting->dataMode = dataMode; uint32_t cr1 = _currentSetting->spi_d->regs->CR1 & ~(SPI_CR1_CPOL|SPI_CR1_CPHA); _currentSetting->spi_d->regs->CR1 = cr1 | (dataMode & (SPI_CR1_CPOL|SPI_CR1_CPHA)); @@ -297,8 +296,7 @@ void SPIClass::write(uint16_t data) { * This almost doubles the speed of this function. */ spi_tx_reg(_currentSetting->spi_d, data); // write the data to be transmitted into the SPI_DR register (this clears the TXE flag) - while (!spi_is_tx_empty(_currentSetting->spi_d)) { /* nada */ } // "5. Wait until TXE=1 ..." - while (spi_is_busy(_currentSetting->spi_d)) { /* nada */ } // "... and then wait until BSY=0 before disabling the SPI." + waitSpiTxEnd(_currentSetting->spi_d); } void SPIClass::write16(uint16_t data) { @@ -306,8 +304,7 @@ void SPIClass::write16(uint16_t data) { spi_tx_reg(_currentSetting->spi_d, data>>8); // write high byte while (!spi_is_tx_empty(_currentSetting->spi_d)) { /* nada */ } // Wait until TXE=1 spi_tx_reg(_currentSetting->spi_d, data); // write low byte - while (!spi_is_tx_empty(_currentSetting->spi_d)) { /* nada */ } // Wait until TXE=1 - while (spi_is_busy(_currentSetting->spi_d)) { /* nada */ } // wait until BSY=0 + waitSpiTxEnd(_currentSetting->spi_d); } void SPIClass::write(uint16_t data, uint32_t n) { @@ -323,16 +320,14 @@ void SPIClass::write(uint16_t data, uint32_t n) { void SPIClass::write(const void *data, uint32_t length) { spi_dev * spi_d = _currentSetting->spi_d; spi_tx(spi_d, data, length); // data can be array of bytes or words - while (!spi_is_tx_empty(spi_d)) { /* nada */ } // "5. Wait until TXE=1 ..." - while (spi_is_busy(spi_d)) { /* nada */ } // "... and then wait until BSY=0 before disabling the SPI." + waitSpiTxEnd(spi_d); } uint8_t SPIClass::transfer(uint8_t byte) const { spi_dev * spi_d = _currentSetting->spi_d; spi_rx_reg(spi_d); // read any previous data spi_tx_reg(spi_d, byte); // Write the data item to be transmitted into the SPI_DR register - while (!spi_is_tx_empty(spi_d)) { /* nada */ } // "5. Wait until TXE=1 ..." - while (spi_is_busy(spi_d)) { /* nada */ } // "... and then wait until BSY=0 before disabling the SPI." + waitSpiTxEnd(spi_d); return (uint8)spi_rx_reg(spi_d); // "... and read the last received data." } @@ -342,12 +337,10 @@ uint16_t SPIClass::transfer16(uint16_t data) const { spi_dev * spi_d = _currentSetting->spi_d; spi_rx_reg(spi_d); // read any previous data spi_tx_reg(spi_d, data>>8); // write high byte - while (!spi_is_tx_empty(spi_d)) { /* nada */ } // wait until TXE=1 - while (spi_is_busy(spi_d)) { /* nada */ } // wait until BSY=0 + waitSpiTxEnd(spi_d); // wait until TXE=1 and then wait until BSY=0 uint16_t ret = spi_rx_reg(spi_d)<<8; // read and shift high byte spi_tx_reg(spi_d, data); // write low byte - while (!spi_is_tx_empty(spi_d)) { /* nada */ } // wait until TXE=1 - while (spi_is_busy(spi_d)) { /* nada */ } // wait until BSY=0 + waitSpiTxEnd(spi_d); // wait until TXE=1 and then wait until BSY=0 ret += spi_rx_reg(spi_d); // read low byte return ret; } @@ -400,8 +393,7 @@ uint8_t SPIClass::dmaTransferRepeat(uint16_t length) { if ((millis() - m) > DMA_TIMEOUT) { b = 2; break; } } - while (!spi_is_tx_empty(_currentSetting->spi_d)) { /* nada */ } // "5. Wait until TXE=1 ..." - while (spi_is_busy(_currentSetting->spi_d)) { /* nada */ } // "... and then wait until BSY=0 before disabling the SPI." + waitSpiTxEnd(_currentSetting->spi_d); // until TXE=1 and BSY=0 spi_tx_dma_disable(_currentSetting->spi_d); spi_rx_dma_disable(_currentSetting->spi_d); dma_disable(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel); @@ -456,8 +448,7 @@ uint8_t SPIClass::dmaSendRepeat(uint16_t length) { // Avoid interrupts and just loop waiting for the flag to be set. if ((millis() - m) > DMA_TIMEOUT) { b = 2; break; } } - while (!spi_is_tx_empty(_currentSetting->spi_d)) { /* nada */ } // "5. Wait until TXE=1 ..." - while (spi_is_busy(_currentSetting->spi_d)) { /* nada */ } // "... and then wait until BSY=0 before disabling the SPI." + waitSpiTxEnd(_currentSetting->spi_d); // until TXE=1 and BSY=0 spi_tx_dma_disable(_currentSetting->spi_d); dma_disable(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel); dma_clear_isr_bits(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel); @@ -480,9 +471,7 @@ uint8_t SPIClass::dmaSendAsync(const void * transmitBuf, uint16_t length, bool m //delayMicroseconds(10); if ((millis() - m) > DMA_TIMEOUT) { b = 2; break; } } - - while (!spi_is_tx_empty(_currentSetting->spi_d)) { /* nada */ } // "5. Wait until TXE=1 ..." - while (spi_is_busy(_currentSetting->spi_d)) { /* nada */ } // "... and then wait until BSY=0 before disabling the SPI." + waitSpiTxEnd(_currentSetting->spi_d); // until TXE=1 and BSY=0 spi_tx_dma_disable(_currentSetting->spi_d); dma_disable(_currentSetting->spiDmaDev, _currentSetting->spiTxDmaChannel); _currentSetting->state = SPI_STATE_READY; @@ -510,7 +499,7 @@ uint8_t SPIClass::dmaSendAsync(const void * transmitBuf, uint16_t length, bool m * New functions added to manage callbacks. * Victor Perez 2017 */ -void SPIClass::onReceive(void(*callback)(void)) { +void SPIClass::onReceive(void(*callback)()) { _currentSetting->receiveCallback = callback; if (callback) { switch (_currentSetting->spi_d->clk_id) { @@ -538,7 +527,7 @@ void SPIClass::onReceive(void(*callback)(void)) { } } -void SPIClass::onTransmit(void(*callback)(void)) { +void SPIClass::onTransmit(void(*callback)()) { _currentSetting->transmitCallback = callback; if (callback) { switch (_currentSetting->spi_d->clk_id) { @@ -572,8 +561,7 @@ void SPIClass::onTransmit(void(*callback)(void)) { * during the initial setup and only set the callback to EventCallback if they are set. */ void SPIClass::EventCallback() { - while (!spi_is_tx_empty(_currentSetting->spi_d)) { /* nada */ } // "5. Wait until TXE=1 ..." - while (spi_is_busy(_currentSetting->spi_d)) { /* nada */ } // "... and then wait until BSY=0" + waitSpiTxEnd(_currentSetting->spi_d); switch (_currentSetting->state) { case SPI_STATE_TRANSFER: while (spi_is_rx_nonempty(_currentSetting->spi_d)) { /* nada */ } @@ -605,7 +593,7 @@ void SPIClass::detachInterrupt() { // Should be disableInterrupt() } -/* +/** * Pin accessors */ @@ -625,25 +613,14 @@ uint8_t SPIClass::nssPin() { return dev_to_spi_pins(_currentSetting->spi_d)->nss; } -/* +/** * Deprecated functions */ +uint8_t SPIClass::send(uint8_t data) { write(data); return 1; } +uint8_t SPIClass::send(uint8_t *buf, uint32_t len) { write(buf, len); return len; } +uint8_t SPIClass::recv() { return read(); } -uint8_t SPIClass::send(uint8_t data) { - this->write(data); - return 1; -} - -uint8_t SPIClass::send(uint8_t *buf, uint32_t len) { - this->write(buf, len); - return len; -} - -uint8_t SPIClass::recv() { - return this->read(); -} - -/* +/** * DMA call back functions, one per port. */ #if BOARD_NR_SPI >= 1 @@ -662,7 +639,7 @@ uint8_t SPIClass::recv() { } #endif -/* +/** * Auxiliary functions */ static const spi_pins* dev_to_spi_pins(spi_dev *dev) { diff --git a/Marlin/src/HAL/HAL_STM32F1/SPI.h b/Marlin/src/HAL/HAL_STM32F1/SPI.h index 4f6841697a..0162ac13bb 100644 --- a/Marlin/src/HAL/HAL_STM32F1/SPI.h +++ b/Marlin/src/HAL/HAL_STM32F1/SPI.h @@ -96,36 +96,36 @@ typedef enum { class SPISettings { public: - SPISettings(uint32_t clock, BitOrder bitOrder, uint8_t dataMode) { - if (__builtin_constant_p(clock)) - init_AlwaysInline(clock, bitOrder, dataMode, DATA_SIZE_8BIT); + SPISettings(uint32_t inClock, BitOrder inBitOrder, uint8_t inDataMode) { + if (__builtin_constant_p(inClock)) + init_AlwaysInline(inClock, inBitOrder, inDataMode, DATA_SIZE_8BIT); else - init_MightInline(clock, bitOrder, dataMode, DATA_SIZE_8BIT); + init_MightInline(inClock, inBitOrder, inDataMode, DATA_SIZE_8BIT); } - SPISettings(uint32_t clock, BitOrder bitOrder, uint8_t dataMode, uint32_t dataSize) { - if (__builtin_constant_p(clock)) - init_AlwaysInline(clock, bitOrder, dataMode, dataSize); + SPISettings(uint32_t inClock, BitOrder inBitOrder, uint8_t inDataMode, uint32_t inDataSize) { + if (__builtin_constant_p(inClock)) + init_AlwaysInline(inClock, inBitOrder, inDataMode, inDataSize); else - init_MightInline(clock, bitOrder, dataMode, dataSize); + init_MightInline(inClock, inBitOrder, inDataMode, inDataSize); } - SPISettings(uint32_t clock) { - if (__builtin_constant_p(clock)) - init_AlwaysInline(clock, MSBFIRST, SPI_MODE0, DATA_SIZE_8BIT); + SPISettings(uint32_t inClock) { + if (__builtin_constant_p(inClock)) + init_AlwaysInline(inClock, MSBFIRST, SPI_MODE0, DATA_SIZE_8BIT); else - init_MightInline(clock, MSBFIRST, SPI_MODE0, DATA_SIZE_8BIT); + init_MightInline(inClock, MSBFIRST, SPI_MODE0, DATA_SIZE_8BIT); } SPISettings() { init_AlwaysInline(4000000, MSBFIRST, SPI_MODE0, DATA_SIZE_8BIT); } private: - void init_MightInline(uint32_t clock, BitOrder bitOrder, uint8_t dataMode, uint32_t dataSize) { - init_AlwaysInline(clock, bitOrder, dataMode, dataSize); + void init_MightInline(uint32_t inClock, BitOrder inBitOrder, uint8_t inDataMode, uint32_t inDataSize) { + init_AlwaysInline(inClock, inBitOrder, inDataMode, inDataSize); } - void init_AlwaysInline(uint32_t clock, BitOrder bitOrder, uint8_t dataMode, uint32_t dataSize) __attribute__((__always_inline__)) { - this->clock = clock; - this->bitOrder = bitOrder; - this->dataMode = dataMode; - this->dataSize = dataSize; + void init_AlwaysInline(uint32_t inClock, BitOrder inBitOrder, uint8_t inDataMode, uint32_t inDataSize) __attribute__((__always_inline__)) { + clock = inClock; + bitOrder = inBitOrder; + dataMode = inDataMode; + dataSize = inDataSize; } uint32_t clock; uint32_t dataSize; @@ -137,8 +137,8 @@ private: spi_dev *spi_d; dma_channel spiRxDmaChannel, spiTxDmaChannel; dma_dev* spiDmaDev; - void (*receiveCallback)(void) = NULL; - void (*transmitCallback)(void) = NULL; + void (*receiveCallback)() = NULL; + void (*transmitCallback)() = NULL; friend class SPIClass; }; @@ -213,8 +213,8 @@ public: * onTransmit used to set the callback in case of dmaSend (tx only). That function * will NOT be called in case of TX/RX */ - void onReceive(void(*)(void)); - void onTransmit(void(*)(void)); + void onReceive(void(*)()); + void onTransmit(void(*)()); /* * I/O @@ -327,7 +327,7 @@ public: * @brief Get a pointer to the underlying libmaple spi_dev for * this HardwareSPI instance. */ - spi_dev* c_dev(void) { return _currentSetting->spi_d; } + spi_dev* c_dev() { return _currentSetting->spi_d; } spi_dev* dev() { return _currentSetting->spi_d; } @@ -339,7 +339,7 @@ public: * or 1-3 in high density devices. */ void setModule(int spi_num) { - _currentSetting=&_settings[spi_num-1];// SPI channels are called 1 2 and 3 but the array is zero indexed + _currentSetting = &_settings[spi_num - 1];// SPI channels are called 1 2 and 3 but the array is zero indexed } /* -- The following methods are deprecated --------------------------- */ @@ -406,4 +406,12 @@ private: */ }; +/** + * @brief Wait until TXE (tx empty) flag is set and BSY (busy) flag unset. + */ +static inline void waitSpiTxEnd(spi_dev *spi_d) { + while (spi_is_tx_empty(spi_d) == 0) { /* nada */ } // wait until TXE=1 + while (spi_is_busy(spi_d) != 0) { /* nada */ } // wait until BSY=0 +} + extern SPIClass SPI; diff --git a/Marlin/src/HAL/HAL_STM32F1/Servo.cpp b/Marlin/src/HAL/HAL_STM32F1/Servo.cpp index ae7f847b85..5dc2169154 100644 --- a/Marlin/src/HAL/HAL_STM32F1/Servo.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/Servo.cpp @@ -56,52 +56,50 @@ uint8_t ServoCount = 0; #define SERVO_OVERFLOW ((uint16_t)round((double)TAU_CYC / SERVO_PRESCALER)) // Unit conversions -#define US_TO_COMPARE(us) ((uint16_t)map((us), 0, TAU_USEC, 0, SERVO_OVERFLOW)) -#define COMPARE_TO_US(c) ((uint32_t)map((c), 0, SERVO_OVERFLOW, 0, TAU_USEC)) -#define ANGLE_TO_US(a) ((uint16_t)(map((a), this->minAngle, this->maxAngle, \ - SERVO_DEFAULT_MIN_PW, SERVO_DEFAULT_MAX_PW))) -#define US_TO_ANGLE(us) ((int16_t)(map((us), SERVO_DEFAULT_MIN_PW, SERVO_DEFAULT_MAX_PW, \ - this->minAngle, this->maxAngle))) +#define US_TO_COMPARE(us) uint16_t(map((us), 0, TAU_USEC, 0, SERVO_OVERFLOW)) +#define COMPARE_TO_US(c) uint32_t(map((c), 0, SERVO_OVERFLOW, 0, TAU_USEC)) +#define ANGLE_TO_US(a) uint16_t(map((a), minAngle, maxAngle, SERVO_DEFAULT_MIN_PW, SERVO_DEFAULT_MAX_PW)) +#define US_TO_ANGLE(us) int16_t(map((us), SERVO_DEFAULT_MIN_PW, SERVO_DEFAULT_MAX_PW, minAngle, maxAngle)) -void libServo::servoWrite(uint8_t pin, uint16_t duty_cycle) { +void libServo::servoWrite(uint8_t inPin, uint16_t duty_cycle) { #ifdef SERVO0_TIMER_NUM - if (this->servoIndex == 0) { - this->pwmSetDuty(duty_cycle); + if (servoIndex == 0) { + pwmSetDuty(duty_cycle); return; } #endif - timer_dev *tdev = PIN_MAP[pin].timer_device; - uint8_t tchan = PIN_MAP[pin].timer_channel; + timer_dev *tdev = PIN_MAP[inPin].timer_device; + uint8_t tchan = PIN_MAP[inPin].timer_channel; if (tdev) timer_set_compare(tdev, tchan, duty_cycle); } libServo::libServo() { - this->servoIndex = ServoCount < MAX_SERVOS ? ServoCount++ : INVALID_SERVO; + servoIndex = ServoCount < MAX_SERVOS ? ServoCount++ : INVALID_SERVO; } -bool libServo::attach(const int32_t pin, const int32_t minAngle, const int32_t maxAngle) { - if (this->servoIndex >= MAX_SERVOS) return false; - if (pin >= BOARD_NR_GPIO_PINS) return false; +bool libServo::attach(const int32_t inPin, const int32_t inMinAngle, const int32_t inMaxAngle) { + if (servoIndex >= MAX_SERVOS) return false; + if (inPin >= BOARD_NR_GPIO_PINS) return false; - this->minAngle = minAngle; - this->maxAngle = maxAngle; - this->angle = -1; + minAngle = inMinAngle; + maxAngle = inMaxAngle; + angle = -1; #ifdef SERVO0_TIMER_NUM - if (this->servoIndex == 0 && this->setupSoftPWM(pin)) { - this->pin = pin; // set attached() + if (servoIndex == 0 && setupSoftPWM(inPin)) { + pin = inPin; // set attached() return true; } #endif - if (!PWM_PIN(pin)) return false; + if (!PWM_PIN(inPin)) return false; - timer_dev *tdev = PIN_MAP[pin].timer_device; - //uint8_t tchan = PIN_MAP[pin].timer_channel; + timer_dev *tdev = PIN_MAP[inPin].timer_device; + //uint8_t tchan = PIN_MAP[inPin].timer_channel; - SET_PWM(pin); - servoWrite(pin, 0); + SET_PWM(inPin); + servoWrite(inPin, 0); timer_pause(tdev); timer_set_prescaler(tdev, SERVO_PRESCALER - 1); // prescaler is 1-based @@ -109,25 +107,24 @@ bool libServo::attach(const int32_t pin, const int32_t minAngle, const int32_t m timer_generate_update(tdev); timer_resume(tdev); - this->pin = pin; // set attached() - + pin = inPin; // set attached() return true; } bool libServo::detach() { - if (!this->attached()) return false; - this->angle = -1; - servoWrite(this->pin, 0); + if (!attached()) return false; + angle = -1; + servoWrite(pin, 0); return true; } int32_t libServo::read() const { - if (this->attached()) { + if (attached()) { #ifdef SERVO0_TIMER_NUM - if (this->servoIndex == 0) return this->angle; + if (servoIndex == 0) return angle; #endif - timer_dev *tdev = PIN_MAP[this->pin].timer_device; - uint8_t tchan = PIN_MAP[this->pin].timer_channel; + timer_dev *tdev = PIN_MAP[pin].timer_device; + uint8_t tchan = PIN_MAP[pin].timer_channel; return US_TO_ANGLE(COMPARE_TO_US(timer_get_compare(tdev, tchan))); } return 0; @@ -137,18 +134,18 @@ void libServo::move(const int32_t value) { constexpr uint16_t servo_delay[] = SERVO_DELAY; static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); - if (this->attached()) { - this->angle = constrain(value, this->minAngle, this->maxAngle); - servoWrite(this->pin, US_TO_COMPARE(ANGLE_TO_US(this->angle))); - safe_delay(servo_delay[this->servoIndex]); + if (attached()) { + angle = constrain(value, minAngle, maxAngle); + servoWrite(pin, US_TO_COMPARE(ANGLE_TO_US(angle))); + safe_delay(servo_delay[servoIndex]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) - this->detach(); + detach(); #endif } } #ifdef SERVO0_TIMER_NUM - extern "C" void Servo_IRQHandler(void) { + extern "C" void Servo_IRQHandler() { static timer_dev *tdev = get_timer_dev(SERVO0_TIMER_NUM); uint16_t SR = timer_get_status(tdev); if (SR & TIMER_SR_CC1IF) { // channel 1 off @@ -169,13 +166,13 @@ void libServo::move(const int32_t value) { } } - bool libServo::setupSoftPWM(const int32_t pin) { + bool libServo::setupSoftPWM(const int32_t inPin) { timer_dev *tdev = get_timer_dev(SERVO0_TIMER_NUM); if (!tdev) return false; #ifdef SERVO0_PWM_OD - OUT_WRITE_OD(pin, 1); + OUT_WRITE_OD(inPin, 1); #else - OUT_WRITE(pin, 0); + OUT_WRITE(inPin, 0); #endif timer_pause(tdev); @@ -206,9 +203,9 @@ void libServo::move(const int32_t value) { timer_disable_irq(tdev, 1); timer_disable_irq(tdev, 2); #ifdef SERVO0_PWM_OD - OUT_WRITE_OD(this->pin, 1); // off + OUT_WRITE_OD(pin, 1); // off #else - OUT_WRITE(this->pin, 0); + OUT_WRITE(pin, 0); #endif } } @@ -221,7 +218,7 @@ void libServo::move(const int32_t value) { #else - bool libServo::setupSoftPWM(const int32_t pin) { return false; } + bool libServo::setupSoftPWM(const int32_t inPin) { return false; } void libServo::pwmSetDuty(const uint16_t duty_cycle) {} void libServo::pauseSoftPWM() {} diff --git a/Marlin/src/HAL/HAL_STM32F1/Servo.h b/Marlin/src/HAL/HAL_STM32F1/Servo.h index f97ca7486b..92f4dd678d 100644 --- a/Marlin/src/HAL/HAL_STM32F1/Servo.h +++ b/Marlin/src/HAL/HAL_STM32F1/Servo.h @@ -41,7 +41,7 @@ class libServo { public: libServo(); bool attach(const int32_t pin, const int32_t minAngle=SERVO_DEFAULT_MIN_ANGLE, const int32_t maxAngle=SERVO_DEFAULT_MAX_ANGLE); - bool attached() const { return this->pin != NOT_ATTACHED; } + bool attached() const { return pin != NOT_ATTACHED; } bool detach(); void move(const int32_t value); int32_t read() const; diff --git a/Marlin/src/HAL/HAL_STM32F1/dogm/u8g_com_stm32duino_fsmc.cpp b/Marlin/src/HAL/HAL_STM32F1/dogm/u8g_com_stm32duino_fsmc.cpp index 35b10a2a5d..9d569772fa 100644 --- a/Marlin/src/HAL/HAL_STM32F1/dogm/u8g_com_stm32duino_fsmc.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/dogm/u8g_com_stm32duino_fsmc.cpp @@ -113,7 +113,7 @@ uint8_t u8g_com_stm32duino_fsmc_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, voi #define __ASM __asm #define __STATIC_INLINE static inline -__attribute__((always_inline)) __STATIC_INLINE void __DSB(void) { +__attribute__((always_inline)) __STATIC_INLINE void __DSB() { __ASM volatile ("dsb 0xF":::"memory"); } diff --git a/Marlin/src/HAL/HAL_STM32F1/endstop_interrupts.h b/Marlin/src/HAL/HAL_STM32F1/endstop_interrupts.h index 830f0075c0..d043b3b8db 100644 --- a/Marlin/src/HAL/HAL_STM32F1/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_STM32F1/endstop_interrupts.h @@ -50,9 +50,9 @@ #include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstops.update(); } +void endstop_ISR() { endstops.update(); } -void setup_endstop_interrupts(void) { +void setup_endstop_interrupts() { #if HAS_X_MAX attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); // assign it #endif diff --git a/Marlin/src/HAL/HAL_STM32F1/msc_sd.h b/Marlin/src/HAL/HAL_STM32F1/msc_sd.h index 825af8cdb0..9f06ca5fdb 100644 --- a/Marlin/src/HAL/HAL_STM32F1/msc_sd.h +++ b/Marlin/src/HAL/HAL_STM32F1/msc_sd.h @@ -13,7 +13,6 @@ * along with this program. If not, see . * */ - #pragma once #include diff --git a/Marlin/src/HAL/HAL_STM32F1/onboard_sd.cpp b/Marlin/src/HAL/HAL_STM32F1/onboard_sd.cpp index 6a0420223a..6e9432896d 100644 --- a/Marlin/src/HAL/HAL_STM32F1/onboard_sd.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/onboard_sd.cpp @@ -1,23 +1,23 @@ -/*------------------------------------------------------------------------*/ -/* STM32F1: MMCv3/SDv1/SDv2 (SPI mode) control module */ -/*------------------------------------------------------------------------*/ -/* -/ * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] -/ * Copyright (c) 2019 BigTreeTech [https://github.com/bigtreetech] -/ * Copyright (C) 2015, ChaN, all right reserved. -/ -/ * This software is a free software and there is NO WARRANTY. -/ * No restriction on use. You can use, modify and redistribute it for -/ personal, non-profit or commercial products UNDER YOUR RESPONSIBILITY. -/ * Redistributions of source code must retain the above copyright notice. -/ -/-------------------------------------------------------------------------*/ +/** + * STM32F1: MMCv3/SDv1/SDv2 (SPI mode) control module + * + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2019 BigTreeTech [https://github.com/bigtreetech] + * Copyright (C) 2015, ChaN, all right reserved. + * + * This software is a free software and there is NO WARRANTY. + * No restriction on use. You can use, modify and redistribute it for + * personal, non-profit or commercial products UNDER YOUR RESPONSIBILITY. + * Redistributions of source code must retain the above copyright notice. + * + */ + #include "../../inc/MarlinConfig.h" #ifdef HAS_ONBOARD_SD #include "onboard_sd.h" -#include "spi.h" +#include "SPI.h" #include "fastio.h" #ifdef SHARED_SD_CARD @@ -26,7 +26,7 @@ #endif #define ONBOARD_SD_SPI SPI #else - SPIClass OnBoardSPI(ON_BOARD_SPI_DEVICE) + SPIClass OnBoardSPI(ON_BOARD_SPI_DEVICE); #define ONBOARD_SD_SPI OnBoardSPI #endif @@ -46,8 +46,6 @@ Module Private Functions ---------------------------------------------------------------------------*/ -#include "onboard_sd.h" - /* MMC/SD command */ #define CMD0 (0) /* GO_IDLE_STATE */ #define CMD1 (1) /* SEND_OP_COND (MMC) */ @@ -130,7 +128,7 @@ static int wait_ready ( /* 1:Ready, 0:Timeout */ /* Deselect card and release SPI */ /*-----------------------------------------------------------------------*/ -static void deselect(void) { +static void deselect() { CS_HIGH(); /* CS = H */ xchg_spi(0xFF); /* Dummy clock (force DO hi-z for multiple slave SPI) */ } @@ -139,7 +137,7 @@ static void deselect(void) { /* Select card and wait for ready */ /*-----------------------------------------------------------------------*/ -static int select(void) { /* 1:OK, 0:Timeout */ +static int select() { /* 1:OK, 0:Timeout */ CS_LOW(); /* CS = L */ xchg_spi(0xFF); /* Dummy clock (force DO enabled) */ @@ -153,7 +151,7 @@ static int select(void) { /* 1:OK, 0:Timeout */ /* Control SPI module (Platform dependent) */ /*-----------------------------------------------------------------------*/ -static void power_on(void) { /* Enable SSP module and attach it to I/O pads */ +static void power_on() { /* Enable SSP module and attach it to I/O pads */ ONBOARD_SD_SPI.setModule(ON_BOARD_SPI_DEVICE); ONBOARD_SD_SPI.begin(); ONBOARD_SD_SPI.setBitOrder(MSBFIRST); @@ -161,7 +159,7 @@ static void power_on(void) { /* Enable SSP module and attach it to I/O pads */ OUT_WRITE(ONBOARD_SD_CS_PIN, HIGH); /* Set CS# high */ } -static void power_off(void) { /* Disable SPI function */ +static void power_off() { /* Disable SPI function */ select(); /* Wait for card ready */ deselect(); } diff --git a/Marlin/src/HAL/HAL_STM32F1/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_STM32F1/persistent_store_eeprom.cpp index babcdeaee3..a7fe530c6a 100644 --- a/Marlin/src/HAL/HAL_STM32F1/persistent_store_eeprom.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/persistent_store_eeprom.cpp @@ -40,7 +40,7 @@ bool PersistentStore::access_start() { } bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_STM32F1/persistent_store_sdcard.cpp b/Marlin/src/HAL/HAL_STM32F1/persistent_store_sdcard.cpp index ea7b46f4dd..38d5803f58 100644 --- a/Marlin/src/HAL/HAL_STM32F1/persistent_store_sdcard.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/persistent_store_sdcard.cpp @@ -48,7 +48,7 @@ static char _ALIGN(4) HAL_eeprom_data[HAL_EEPROM_SIZE]; #define EEPROM_FILENAME "eeprom.dat" bool PersistentStore::access_start() { - if (!card.isDetected()) return false; + if (!card.isMounted()) return false; SdFile file, root = card.getroot(); if (!file.open(&root, EEPROM_FILENAME, O_RDONLY)) @@ -63,7 +63,7 @@ static char _ALIGN(4) HAL_eeprom_data[HAL_EEPROM_SIZE]; } bool PersistentStore::access_finish() { - if (!card.isDetected()) return false; + if (!card.isMounted()) return false; SdFile file, root = card.getroot(); int bytes_written = 0; diff --git a/Marlin/src/HAL/HAL_STM32F1/sdio.cpp b/Marlin/src/HAL/HAL_STM32F1/sdio.cpp index 89bb481bd2..c1cab57a9e 100644 --- a/Marlin/src/HAL/HAL_STM32F1/sdio.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/sdio.cpp @@ -33,7 +33,7 @@ SDIO_CardInfoTypeDef SdCard; -bool SDIO_Init(void) { +bool SDIO_Init() { uint32_t count = 0U; SdCard.CardType = SdCard.CardVersion = SdCard.Class = SdCard.RelCardAdd = SdCard.BlockNbr = SdCard.BlockSize = SdCard.LogBlockNbr = SdCard.LogBlockSize = 0; @@ -107,7 +107,7 @@ bool SDIO_ReadBlock_DMA(uint32_t blockAddress, uint8_t *data) { dma_disable(SDIO_DMA_DEV, SDIO_DMA_CHANNEL); if (SDIO->STA & SDIO_STA_RXDAVL) { - while (SDIO->STA & SDIO_STA_RXDAVL) (void) SDIO->FIFO; + while (SDIO->STA & SDIO_STA_RXDAVL) (void)SDIO->FIFO; SDIO_CLEAR_FLAG(SDIO_ICR_CMD_FLAGS | SDIO_ICR_DATA_FLAGS); return false; } @@ -167,21 +167,21 @@ bool SDIO_WriteBlock(uint32_t blockAddress, const uint8_t *data) { return false; } -inline uint32_t SDIO_GetCardState(void) { return SDIO_CmdSendStatus(SdCard.RelCardAdd << 16U) ? (SDIO_GetResponse(SDIO_RESP1) >> 9U) & 0x0FU : SDIO_CARD_ERROR; } +inline uint32_t SDIO_GetCardState() { return SDIO_CmdSendStatus(SdCard.RelCardAdd << 16U) ? (SDIO_GetResponse(SDIO_RESP1) >> 9U) & 0x0FU : SDIO_CARD_ERROR; } // ------------------------ // SD Commands and Responses // ------------------------ void SDIO_SendCommand(uint16_t command, uint32_t argument) { SDIO->ARG = argument; SDIO->CMD = (uint32_t)(SDIO_CMD_CPSMEN | command); } -uint8_t SDIO_GetCommandResponse(void) { return (uint8_t)(SDIO->RESPCMD); } +uint8_t SDIO_GetCommandResponse() { return (uint8_t)(SDIO->RESPCMD); } uint32_t SDIO_GetResponse(uint32_t response) { return SDIO->RESP[response]; } -bool SDIO_CmdGoIdleState(void) { SDIO_SendCommand(CMD0_GO_IDLE_STATE, 0); return SDIO_GetCmdError(); } -bool SDIO_CmdSendCID(void) { SDIO_SendCommand(CMD2_ALL_SEND_CID, 0); return SDIO_GetCmdResp2(); } +bool SDIO_CmdGoIdleState() { SDIO_SendCommand(CMD0_GO_IDLE_STATE, 0); return SDIO_GetCmdError(); } +bool SDIO_CmdSendCID() { SDIO_SendCommand(CMD2_ALL_SEND_CID, 0); return SDIO_GetCmdResp2(); } bool SDIO_CmdSetRelAdd(uint32_t *rca) { SDIO_SendCommand(CMD3_SET_REL_ADDR, 0); return SDIO_GetCmdResp6(SDMMC_CMD_SET_REL_ADDR, rca); } bool SDIO_CmdSelDesel(uint32_t address) { SDIO_SendCommand(CMD7_SEL_DESEL_CARD, address); return SDIO_GetCmdResp1(SDMMC_CMD_SEL_DESEL_CARD); } -bool SDIO_CmdOperCond(void) { SDIO_SendCommand(CMD8_HS_SEND_EXT_CSD, SDMMC_CHECK_PATTERN); return SDIO_GetCmdResp7(); } +bool SDIO_CmdOperCond() { SDIO_SendCommand(CMD8_HS_SEND_EXT_CSD, SDMMC_CHECK_PATTERN); return SDIO_GetCmdResp7(); } bool SDIO_CmdSendCSD(uint32_t argument) { SDIO_SendCommand(CMD9_SEND_CSD, argument); return SDIO_GetCmdResp2(); } bool SDIO_CmdSendStatus(uint32_t argument) { SDIO_SendCommand(CMD13_SEND_STATUS, argument); return SDIO_GetCmdResp1(SDMMC_CMD_SEND_STATUS); } bool SDIO_CmdReadSingleBlock(uint32_t address) { SDIO_SendCommand(CMD17_READ_SINGLE_BLOCK, address); return SDIO_GetCmdResp1(SDMMC_CMD_READ_SINGLE_BLOCK); } @@ -212,7 +212,7 @@ bool SDIO_CmdAppSetClearCardDetect(uint32_t rsa) { do { if (!--count) return false; } while (!SDIO_GET_FLAG(FLAGS)); \ }while(0) -bool SDIO_GetCmdError(void) { +bool SDIO_GetCmdError() { SDIO_WAIT(SDIO_STA_CMDSENT); SDIO_CLEAR_FLAG(SDIO_ICR_CMD_FLAGS); @@ -232,7 +232,7 @@ bool SDIO_GetCmdResp1(uint8_t command) { return (SDIO_GetResponse(SDIO_RESP1) & SDMMC_OCR_ERRORBITS) == SDMMC_ALLZERO; } -bool SDIO_GetCmdResp2(void) { +bool SDIO_GetCmdResp2() { SDIO_WAIT(SDIO_STA_CCRCFAIL | SDIO_STA_CMDREND | SDIO_STA_CTIMEOUT); if (SDIO_GET_FLAG(SDIO_STA_CCRCFAIL | SDIO_STA_CTIMEOUT)) { @@ -244,7 +244,7 @@ bool SDIO_GetCmdResp2(void) { return true; } -bool SDIO_GetCmdResp3(void) { +bool SDIO_GetCmdResp3() { SDIO_WAIT(SDIO_STA_CCRCFAIL | SDIO_STA_CMDREND | SDIO_STA_CTIMEOUT); if (SDIO_GET_FLAG(SDIO_STA_CTIMEOUT)) { @@ -272,7 +272,7 @@ bool SDIO_GetCmdResp6(uint8_t command, uint32_t *rca) { return true; } -bool SDIO_GetCmdResp7(void) { +bool SDIO_GetCmdResp7() { SDIO_WAIT(SDIO_STA_CCRCFAIL | SDIO_STA_CMDREND | SDIO_STA_CTIMEOUT); if (SDIO_GET_FLAG(SDIO_STA_CTIMEOUT)) { diff --git a/Marlin/src/HAL/HAL_STM32F1/sdio.h b/Marlin/src/HAL/HAL_STM32F1/sdio.h index 2ff195d48f..ca0aced695 100644 --- a/Marlin/src/HAL/HAL_STM32F1/sdio.h +++ b/Marlin/src/HAL/HAL_STM32F1/sdio.h @@ -121,13 +121,13 @@ typedef struct { // Public functions // ------------------------ -inline uint32_t SDIO_GetCardState(void); +inline uint32_t SDIO_GetCardState(); -bool SDIO_CmdGoIdleState(void); -bool SDIO_CmdSendCID(void); +bool SDIO_CmdGoIdleState(); +bool SDIO_CmdSendCID(); bool SDIO_CmdSetRelAdd(uint32_t *rca); bool SDIO_CmdSelDesel(uint32_t address); -bool SDIO_CmdOperCond(void); +bool SDIO_CmdOperCond(); bool SDIO_CmdSendCSD(uint32_t argument); bool SDIO_CmdSendStatus(uint32_t argument); bool SDIO_CmdReadSingleBlock(uint32_t address); @@ -139,11 +139,11 @@ bool SDIO_CmdAppOperCommand(uint32_t sdType); bool SDIO_CmdAppSetClearCardDetect(uint32_t rsa); void SDIO_SendCommand(uint16_t command, uint32_t argument); -uint8_t SDIO_GetCommandResponse(void); +uint8_t SDIO_GetCommandResponse(); uint32_t SDIO_GetResponse(uint32_t response); -bool SDIO_GetCmdError(void); +bool SDIO_GetCmdError(); bool SDIO_GetCmdResp1(uint8_t command); -bool SDIO_GetCmdResp2(void); -bool SDIO_GetCmdResp3(void); +bool SDIO_GetCmdResp2(); +bool SDIO_GetCmdResp3(); bool SDIO_GetCmdResp6(uint8_t command, uint32_t *rca); -bool SDIO_GetCmdResp7(void); +bool SDIO_GetCmdResp7(); diff --git a/Marlin/src/HAL/HAL_STM32F1/timers.h b/Marlin/src/HAL/HAL_STM32F1/timers.h index c114fe5ed4..69793f4302 100644 --- a/Marlin/src/HAL/HAL_STM32F1/timers.h +++ b/Marlin/src/HAL/HAL_STM32F1/timers.h @@ -86,11 +86,11 @@ timer_dev* get_timer_dev(int number); // TODO change this -#define HAL_TEMP_TIMER_ISR() extern "C" void tempTC_Handler(void) -#define HAL_STEP_TIMER_ISR() extern "C" void stepTC_Handler(void) +#define HAL_TEMP_TIMER_ISR() extern "C" void tempTC_Handler() +#define HAL_STEP_TIMER_ISR() extern "C" void stepTC_Handler() -extern "C" void tempTC_Handler(void); -extern "C" void stepTC_Handler(void); +extern "C" void tempTC_Handler(); +extern "C" void stepTC_Handler(); // ------------------------ // Public Variables diff --git a/Marlin/src/HAL/HAL_STM32F1/watchdog.cpp b/Marlin/src/HAL/HAL_STM32F1/watchdog.cpp index ed83daba79..5696939f30 100644 --- a/Marlin/src/HAL/HAL_STM32F1/watchdog.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/watchdog.cpp @@ -40,7 +40,7 @@ void watchdog_reset() { iwdg_feed(); } -void watchdogSetup(void) { +void watchdogSetup() { // do whatever. don't remove this function. } @@ -51,7 +51,7 @@ void watchdogSetup(void) { * * @details The watchdog clock is 40Khz. We need a 4 seconds interval, so use a /256 preescaler and 625 reload value (counts down to 0) */ -void watchdog_init(void) { +void watchdog_init() { //iwdg_init(IWDG_PRE_256, STM32F1_WD_RELOAD); } diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/HAL.cpp b/Marlin/src/HAL/HAL_STM32_F4_F7/HAL.cpp index 3602c0d86b..7ed6e2c10f 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/HAL.cpp +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/HAL.cpp @@ -39,15 +39,15 @@ uint16_t HAL_adc_result; /* VGPV Done with defines // disable interrupts -void cli(void) { noInterrupts(); } +void cli() { noInterrupts(); } // enable interrupts -void sei(void) { interrupts(); } +void sei() { interrupts(); } */ -void HAL_clear_reset_source(void) { __HAL_RCC_CLEAR_RESET_FLAGS(); } +void HAL_clear_reset_source() { __HAL_RCC_CLEAR_RESET_FLAGS(); } -uint8_t HAL_get_reset_source(void) { +uint8_t HAL_get_reset_source() { if (__HAL_RCC_GET_FLAG(RCC_FLAG_IWDGRST) != RESET) return RST_WATCHDOG; if (__HAL_RCC_GET_FLAG(RCC_FLAG_SFTRST) != RESET) return RST_SOFTWARE; if (__HAL_RCC_GET_FLAG(RCC_FLAG_PINRST) != RESET) return RST_EXTERNAL; @@ -91,6 +91,6 @@ extern "C" { void HAL_adc_start_conversion(const uint8_t adc_pin) { HAL_adc_result = analogRead(adc_pin); } -uint16_t HAL_adc_get_result(void) { return HAL_adc_result; } +uint16_t HAL_adc_get_result() { return HAL_adc_result; } #endif // STM32GENERIC && (STM32F4 || STM32F7) diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/HAL.h b/Marlin/src/HAL/HAL_STM32_F4_F7/HAL.h index 0fcffc69e9..1effe2d752 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/HAL.h +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/HAL.h @@ -150,19 +150,19 @@ extern uint16_t HAL_adc_result; // Memory related #define __bss_end __bss_end__ -inline void HAL_init(void) { } +inline void HAL_init() { } // Clear reset reason -void HAL_clear_reset_source (void); +void HAL_clear_reset_source(); // Reset reason -uint8_t HAL_get_reset_source(void); +uint8_t HAL_get_reset_source(); void _delay_ms(const int delay); /* extern "C" { - int freeMemory(void); + int freeMemory(); } */ @@ -179,7 +179,7 @@ int freeMemory() { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" -static inline int freeMemory(void) { +static inline int freeMemory() { volatile char top; return &top - reinterpret_cast(_sbrk(0)); } @@ -205,14 +205,14 @@ void eeprom_update_block (const void *__src, void *__dst, size_t __n); #define HAL_ANALOG_SELECT(pin) pinMode(pin, INPUT) -inline void HAL_adc_init(void) {} +inline void HAL_adc_init() {} #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) #define HAL_READ_ADC() HAL_adc_result #define HAL_ADC_READY() true void HAL_adc_start_conversion(const uint8_t adc_pin); -uint16_t HAL_adc_get_result(void); +uint16_t HAL_adc_get_result(); #define GET_PIN_MAP_PIN(index) index #define GET_PIN_MAP_INDEX(pin) pin diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/HAL_SPI.cpp b/Marlin/src/HAL/HAL_STM32_F4_F7/HAL_SPI.cpp index d36e817752..2f85182e20 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/HAL_SPI.cpp +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/HAL_SPI.cpp @@ -71,7 +71,7 @@ static SPISettings spiConfig; * * @details Only configures SS pin since libmaple creates and initialize the SPI object */ -void spiBegin(void) { +void spiBegin() { #if !defined(SS_PIN) || SS_PIN < 0 #error SS_PIN not defined! #endif @@ -103,7 +103,7 @@ void spiInit(uint8_t spiRate) { * * @details */ -uint8_t spiRec(void) { +uint8_t spiRec() { SPI.beginTransaction(spiConfig); uint8_t returnByte = SPI.transfer(0xFF); SPI.endTransaction(); diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F4/timers.cpp b/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F4/timers.cpp index d8701ce0b2..32219962ee 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F4/timers.cpp +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F4/timers.cpp @@ -82,10 +82,10 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { } extern "C" void TIM5_IRQHandler() { - ((void(*)(void))TimerHandle[0].callback)(); + ((void(*)())TimerHandle[0].callback)(); } extern "C" void TIM7_IRQHandler() { - ((void(*)(void))TimerHandle[1].callback)(); + ((void(*)())TimerHandle[1].callback)(); } void HAL_timer_enable_interrupt(const uint8_t timer_num) { diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.cpp b/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.cpp index ac25892724..3117321ac7 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.cpp +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.cpp @@ -226,7 +226,7 @@ void TMC26XStepper::setSpeed(uint16_t whatSpeed) { this->next_step_time = this->last_step_time + this->step_delay; } -uint16_t TMC26XStepper::getSpeed(void) { return this->speed; } +uint16_t TMC26XStepper::getSpeed() { return this->speed; } /** * Moves the motor steps_to_move steps. @@ -246,7 +246,7 @@ char TMC26XStepper::step(int16_t steps_to_move) { return -1; } -char TMC26XStepper::move(void) { +char TMC26XStepper::move() { // decrement the number of steps, moving one step each time: if (this->steps_left > 0) { uint32_t time = micros(); @@ -277,11 +277,11 @@ char TMC26XStepper::move(void) { return 0; } -char TMC26XStepper::isMoving(void) { return this->steps_left > 0; } +char TMC26XStepper::isMoving() { return this->steps_left > 0; } -uint16_t TMC26XStepper::getStepsLeft(void) { return this->steps_left; } +uint16_t TMC26XStepper::getStepsLeft() { return this->steps_left; } -char TMC26XStepper::stop(void) { +char TMC26XStepper::stop() { //note to self if the motor is currently moving char state = isMoving(); //stop the motor @@ -334,7 +334,7 @@ void TMC26XStepper::setCurrent(uint16_t current) { } } -uint16_t TMC26XStepper::getCurrent(void) { +uint16_t TMC26XStepper::getCurrent() { // Calculate the current according to the datasheet to be on the safe side. // This is not the fastest but the most accurate and illustrative way. float result = (float)(stallguard2_current_register_value & CURRENT_SCALING_PATTERN), @@ -361,7 +361,7 @@ void TMC26XStepper::setStallGuardThreshold(char stallguard_threshold, char stall if (started) send262(stallguard2_current_register_value); } -char TMC26XStepper::getStallGuardThreshold(void) { +char TMC26XStepper::getStallGuardThreshold() { uint32_t stallguard_threshold = stallguard2_current_register_value & STALL_GUARD_VALUE_PATTERN; //shift it down to bit 0 stallguard_threshold >>= 8; @@ -374,7 +374,7 @@ char TMC26XStepper::getStallGuardThreshold(void) { return result; } -char TMC26XStepper::getStallGuardFilter(void) { +char TMC26XStepper::getStallGuardFilter() { if (stallguard2_current_register_value & STALL_GUARD_FILTER_ENABLED) return -1; return 0; @@ -421,7 +421,7 @@ void TMC26XStepper::setMicrosteps(const int16_t in_steps) { /** * returns the effective number of microsteps at the moment */ -int16_t TMC26XStepper::getMicrosteps(void) { return microsteps; } +int16_t TMC26XStepper::getMicrosteps() { return microsteps; } /** * constant_off_time: The off time setting controls the minimum chopper frequency. @@ -623,7 +623,7 @@ void TMC26XStepper::setCoolStepEnabled(boolean enabled) { if (started) send262(cool_step_register_value); } -boolean TMC26XStepper::isCoolStepEnabled(void) { return this->cool_step_enabled; } +boolean TMC26XStepper::isCoolStepEnabled() { return this->cool_step_enabled; } uint16_t TMC26XStepper::getCoolStepLowerSgThreshold() { // We return our internally stored value - in order to provide the correct setting even if cool step is not enabled @@ -684,7 +684,7 @@ void TMC26XStepper::readStatus(char read_value) { send262(driver_configuration_register_value); } -int16_t TMC26XStepper::getMotorPosition(void) { +int16_t TMC26XStepper::getMotorPosition() { //we read it out even if we are not started yet - perhaps it is useful information for somebody readStatus(TMC26X_READOUT_POSITION); return getReadoutValue(); @@ -692,7 +692,7 @@ int16_t TMC26XStepper::getMotorPosition(void) { //reads the StallGuard setting from last status //returns -1 if StallGuard information is not present -int16_t TMC26XStepper::getCurrentStallGuardReading(void) { +int16_t TMC26XStepper::getCurrentStallGuardReading() { //if we don't yet started there cannot be a StallGuard value if (!started) return -1; //not time optimal, but solution optiomal: @@ -701,7 +701,7 @@ int16_t TMC26XStepper::getCurrentStallGuardReading(void) { return getReadoutValue(); } -uint8_t TMC26XStepper::getCurrentCSReading(void) { +uint8_t TMC26XStepper::getCurrentCSReading() { //if we don't yet started there cannot be a StallGuard value if (!started) return 0; //not time optimal, but solution optiomal: @@ -710,7 +710,7 @@ uint8_t TMC26XStepper::getCurrentCSReading(void) { return (getReadoutValue() & 0x1F); } -uint16_t TMC26XStepper::getCurrentCurrent(void) { +uint16_t TMC26XStepper::getCurrentCurrent() { float result = (float)getCurrentCSReading(), resistor_value = (float)this->resistor, voltage = (driver_configuration_register_value & VSENSE)? 0.165 : 0.31; @@ -721,7 +721,7 @@ uint16_t TMC26XStepper::getCurrentCurrent(void) { /** * Return true if the StallGuard threshold has been reached */ -boolean TMC26XStepper::isStallGuardOverThreshold(void) { +boolean TMC26XStepper::isStallGuardOverThreshold() { if (!this->started) return false; return (driver_status_result & STATUS_STALL_GUARD_STATUS); } @@ -732,7 +732,7 @@ boolean TMC26XStepper::isStallGuardOverThreshold(void) { * OVER_TEMPERATURE_SHUTDOWN if the temperature is so hot that the driver is shut down * Any of those levels are not too good. */ -char TMC26XStepper::getOverTemperature(void) { +char TMC26XStepper::getOverTemperature() { if (!this->started) return 0; if (driver_status_result & STATUS_OVER_TEMPERATURE_SHUTDOWN) @@ -745,44 +745,44 @@ char TMC26XStepper::getOverTemperature(void) { } // Is motor channel A shorted to ground -boolean TMC26XStepper::isShortToGroundA(void) { +boolean TMC26XStepper::isShortToGroundA() { if (!this->started) return false; return (driver_status_result & STATUS_SHORT_TO_GROUND_A); } // Is motor channel B shorted to ground -boolean TMC26XStepper::isShortToGroundB(void) { +boolean TMC26XStepper::isShortToGroundB() { if (!this->started) return false; return (driver_status_result & STATUS_SHORT_TO_GROUND_B); } // Is motor channel A connected -boolean TMC26XStepper::isOpenLoadA(void) { +boolean TMC26XStepper::isOpenLoadA() { if (!this->started) return false; return (driver_status_result & STATUS_OPEN_LOAD_A); } // Is motor channel B connected -boolean TMC26XStepper::isOpenLoadB(void) { +boolean TMC26XStepper::isOpenLoadB() { if (!this->started) return false; return (driver_status_result & STATUS_OPEN_LOAD_B); } // Is chopper inactive since 2^20 clock cycles - defaults to ~0,08s -boolean TMC26XStepper::isStandStill(void) { +boolean TMC26XStepper::isStandStill() { if (!this->started) return false; return (driver_status_result & STATUS_STAND_STILL); } //is chopper inactive since 2^20 clock cycles - defaults to ~0,08s -boolean TMC26XStepper::isStallGuardReached(void) { +boolean TMC26XStepper::isStallGuardReached() { if (!this->started) return false; return (driver_status_result & STATUS_STALL_GUARD_STATUS); } //reads the StallGuard setting from last status //returns -1 if StallGuard information is not present -int16_t TMC26XStepper::getReadoutValue(void) { +int16_t TMC26XStepper::getReadoutValue() { return (int)(driver_status_result >> 10); } @@ -794,7 +794,7 @@ boolean TMC26XStepper::isCurrentScalingHalfed() { /** * version() returns the version of the library: */ -int16_t TMC26XStepper::version(void) { return 1; } +int16_t TMC26XStepper::version() { return 1; } void TMC26XStepper::debugLastStatus() { #ifdef TMC_DEBUG1 @@ -831,9 +831,8 @@ void TMC26XStepper::debugLastStatus() { SERIAL_ECHOPAIR("\n Stall Guard value:", value); } else if (readout_config == READ_STALL_GUARD_AND_COOL_STEP) { - int16_t stallGuard = value & 0xF, current = value & 0x1F0; - SERIAL_ECHOPAIR("\n Approx Stall Guard: ", stallGuard); - SERIAL_ECHOPAIR("\n Current level", current); + SERIAL_ECHOPAIR("\n Approx Stall Guard: ", value & 0xF); + SERIAL_ECHOPAIR("\n Current level", value & 0x1F0); } } #endif diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.h b/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.h index 9753aa3407..f1d0133a3b 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.h +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.h @@ -150,7 +150,7 @@ class TMC26XStepper { * \brief Report the currently selected speed in RPM. * \sa setSpeed() */ - uint16_t getSpeed(void); + uint16_t getSpeed(); /*! * \brief Set the number of microsteps in 2^i values (rounded) up to 256 @@ -170,7 +170,7 @@ class TMC26XStepper { * * \sa setMicrosteps() */ - int16_t getMicrosteps(void); + int16_t getMicrosteps(); /*! * \brief Initiate a movement with the given number of steps. Positive values move in one direction, negative in the other. @@ -204,7 +204,7 @@ class TMC26XStepper { * It is recommended to call this using a hardware timer to ensure regular invocation. * \sa step() */ - char move(void); + char move(); /*! * \brief Check whether the last movement command is done. @@ -213,13 +213,13 @@ class TMC26XStepper { * Used to determine if the motor is ready for new movements. *\sa step(), move() */ - char isMoving(void); + char isMoving(); /*! * \brief Get the number of steps left in the current movement. * \return The number of steps left in the movement. Always positive. */ - uint16_t getStepsLeft(void); + uint16_t getStepsLeft(); /*! * \brief Stop the motor immediately. @@ -227,7 +227,7 @@ class TMC26XStepper { * * This method directly and abruptly stops the motor and may be used as an emergency stop. */ - char stop(void); + char stop(); /*! * \brief Set and configure the classical Constant Off Timer Chopper @@ -309,7 +309,7 @@ class TMC26XStepper { * \return the maximum motor current in milli amps * \sa getCurrentCurrent() */ - uint16_t getCurrent(void); + uint16_t getCurrent(); /*! * \brief set the StallGuard threshold in order to get sensible StallGuard readings. @@ -332,13 +332,13 @@ class TMC26XStepper { * \brief reads out the StallGuard threshold * \return a number between -64 and 63. */ - char getStallGuardThreshold(void); + char getStallGuardThreshold(); /*! * \brief returns the current setting of the StallGuard filter * \return 0 if not set, -1 if set */ - char getStallGuardFilter(void); + char getStallGuardFilter(); /*! * \brief This method configures the CoolStep smart energy operation. You must have a proper StallGuard configuration for the motor situation (current, voltage, speed) in rder to use this feature. @@ -411,7 +411,7 @@ class TMC26XStepper { * * Keep in mind that this routine reads and writes a value via SPI - so this may take a bit time. */ - int16_t getMotorPosition(void); + int16_t getMotorPosition(); /*! * \brief Reads the current StallGuard value. @@ -419,14 +419,14 @@ class TMC26XStepper { * Keep in mind that this routine reads and writes a value via SPI - so this may take a bit time. * \sa setStallGuardThreshold() for tuning the readout to sensible ranges. */ - int16_t getCurrentStallGuardReading(void); + int16_t getCurrentStallGuardReading(); /*! * \brief Reads the current current setting value as fraction of the maximum current * Returns values between 0 and 31, representing 1/32 to 32/32 (=1) * \sa setCoolStepConfiguration() */ - uint8_t getCurrentCSReading(void); + uint8_t getCurrentCSReading(); /*! @@ -442,7 +442,7 @@ class TMC26XStepper { * may not be the fastest. * \sa getCurrentCSReading(), getResistor(), isCurrentScalingHalfed(), getCurrent() */ - uint16_t getCurrentCurrent(void); + uint16_t getCurrentCurrent(); /*! * \brief checks if there is a StallGuard warning in the last status @@ -452,7 +452,7 @@ class TMC26XStepper { * * \sa setStallGuardThreshold() for tuning the readout to sensible ranges. */ - boolean isStallGuardOverThreshold(void); + boolean isStallGuardOverThreshold(); /*! * \brief Return over temperature status of the last status readout @@ -460,7 +460,7 @@ class TMC26XStepper { * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. */ - char getOverTemperature(void); + char getOverTemperature(); /*! * \brief Is motor channel A shorted to ground detected in the last status readout. @@ -469,7 +469,7 @@ class TMC26XStepper { * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. */ - boolean isShortToGroundA(void); + boolean isShortToGroundA(); /*! * \brief Is motor channel B shorted to ground detected in the last status readout. @@ -477,14 +477,14 @@ class TMC26XStepper { * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. */ - boolean isShortToGroundB(void); + boolean isShortToGroundB(); /*! * \brief iIs motor channel A connected according to the last statu readout. * \return true is yes, false if not. * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. */ - boolean isOpenLoadA(void); + boolean isOpenLoadA(); /*! * \brief iIs motor channel A connected according to the last statu readout. @@ -492,7 +492,7 @@ class TMC26XStepper { * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. */ - boolean isOpenLoadB(void); + boolean isOpenLoadB(); /*! * \brief Is chopper inactive since 2^20 clock cycles - defaults to ~0,08s @@ -500,7 +500,7 @@ class TMC26XStepper { * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. */ - boolean isStandStill(void); + boolean isStandStill(); /*! * \brief checks if there is a StallGuard warning in the last status @@ -513,7 +513,7 @@ class TMC26XStepper { * * \sa setStallGuardThreshold() for tuning the readout to sensible ranges. */ - boolean isStallGuardReached(void); + boolean isStallGuardReached(); /*! *\brief enables or disables the motor driver bridges. If disabled the motor can run freely. If enabled not. @@ -549,13 +549,13 @@ class TMC26XStepper { * \brief Prints out all the information that can be found in the last status read out - it does not force a status readout. * The result is printed via Serial */ - void debugLastStatus(void); + void debugLastStatus(); /*! * \brief library version * \return the version number as int. */ - int16_t version(void); + int16_t version(); private: uint16_t steps_left; // The steps the motor has to do to complete the movement diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/timers.cpp b/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/timers.cpp index 95125ade88..5a3b32ef5b 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/timers.cpp +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/timers.cpp @@ -86,10 +86,10 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { //forward the interrupt extern "C" void TIM5_IRQHandler() { - ((void(*)(void))timerConfig[0].callback)(); + ((void(*)())timerConfig[0].callback)(); } extern "C" void TIM7_IRQHandler() { - ((void(*)(void))timerConfig[1].callback)(); + ((void(*)())timerConfig[1].callback)(); } void HAL_timer_set_compare(const uint8_t timer_num, const uint32_t compare) { diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/Servo.cpp b/Marlin/src/HAL/HAL_STM32_F4_F7/Servo.cpp index 736ddd45e4..b3aac77615 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/Servo.cpp +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/Servo.cpp @@ -30,22 +30,22 @@ #include "Servo.h" int8_t libServo::attach(const int pin) { - if (this->servoIndex >= MAX_SERVOS) return -1; - return Servo::attach(pin); + if (servoIndex >= MAX_SERVOS) return -1; + return super::attach(pin); } int8_t libServo::attach(const int pin, const int min, const int max) { - return Servo::attach(pin, min, max); + return super::attach(pin, min, max); } void libServo::move(const int value) { constexpr uint16_t servo_delay[] = SERVO_DELAY; static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); - if (this->attach(0) >= 0) { - this->write(value); - safe_delay(servo_delay[this->servoIndex]); + if (attach(0) >= 0) { + write(value); + safe_delay(servo_delay[servoIndex]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) - this->detach(); + detach(); #endif } } diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/Servo.h b/Marlin/src/HAL/HAL_STM32_F4_F7/Servo.h index c839c6a145..64fa05025c 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/Servo.h +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/Servo.h @@ -35,6 +35,7 @@ class libServo : public Servo { int8_t attach(const int pin, const int min, const int max); void move(const int value); private: + typedef Servo super; uint16_t min_ticks, max_ticks; uint8_t servoIndex; // index into the channel data for this servo }; diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/eeprom_emul.cpp b/Marlin/src/HAL/HAL_STM32_F4_F7/eeprom_emul.cpp index 1c9de1e212..3358fa3df7 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/eeprom_emul.cpp +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/eeprom_emul.cpp @@ -62,7 +62,7 @@ uint16_t VirtAddVarTab[NB_OF_VAR]; /* Private function prototypes -----------------------------------------------*/ /* Private functions ---------------------------------------------------------*/ -static HAL_StatusTypeDef EE_Format(void); +static HAL_StatusTypeDef EE_Format(); static uint16_t EE_FindValidPage(uint8_t Operation); static uint16_t EE_VerifyPageFullWriteVariable(uint16_t VirtAddress, uint16_t Data); static uint16_t EE_PageTransfer(uint16_t VirtAddress, uint16_t Data); @@ -75,7 +75,7 @@ static uint16_t EE_VerifyPageFullyErased(uint32_t Address); * @retval - Flash error code: on write Flash error * - FLASH_COMPLETE: on success */ -uint16_t EE_Initialize(void) { +uint16_t EE_Initialize() { /* Get Page0 and Page1 status */ uint16_t PageStatus0 = (*(__IO uint16_t*)PAGE0_BASE_ADDRESS), PageStatus1 = (*(__IO uint16_t*)PAGE1_BASE_ADDRESS); @@ -331,7 +331,7 @@ uint16_t EE_WriteVariable(uint16_t VirtAddress, uint16_t Data) { * @retval Status of the last operation (Flash write or erase) done during * EEPROM formating */ -static HAL_StatusTypeDef EE_Format(void) { +static HAL_StatusTypeDef EE_Format() { FLASH_EraseInitTypeDef pEraseInit; pEraseInit.TypeErase = FLASH_TYPEERASE_SECTORS; pEraseInit.Sector = PAGE0_ID; diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/eeprom_emul.h b/Marlin/src/HAL/HAL_STM32_F4_F7/eeprom_emul.h index 90aeeee5a3..e4094f8e13 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/eeprom_emul.h +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/eeprom_emul.h @@ -108,7 +108,7 @@ #define NB_OF_VAR uint16_t(4096) /* Exported functions ------------------------------------------------------- */ -uint16_t EE_Initialize(void); +uint16_t EE_Initialize(); uint16_t EE_ReadVariable(uint16_t VirtAddress, uint16_t* Data); uint16_t EE_WriteVariable(uint16_t VirtAddress, uint16_t Data); diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/endstop_interrupts.h b/Marlin/src/HAL/HAL_STM32_F4_F7/endstop_interrupts.h index 86f6d68c59..d0aa731e89 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/endstop_interrupts.h @@ -25,9 +25,9 @@ #include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstops.update(); } +void endstop_ISR() { endstops.update(); } -void setup_endstop_interrupts(void) { +void setup_endstop_interrupts() { #if HAS_X_MAX attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); #endif diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_STM32_F4_F7/persistent_store_eeprom.cpp index 4bd86d225d..0b119730b6 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/persistent_store_eeprom.cpp +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/persistent_store_eeprom.cpp @@ -32,7 +32,7 @@ bool PersistentStore::access_start() { return true; } bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/HAL.cpp b/Marlin/src/HAL/HAL_TEENSY31_32/HAL.cpp index 56b6097858..2e15324e3b 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/HAL.cpp +++ b/Marlin/src/HAL/HAL_TEENSY31_32/HAL.cpp @@ -44,10 +44,10 @@ static const uint8_t pin2sc1a[] = { /* // disable interrupts - void cli(void) { noInterrupts(); } + void cli() { noInterrupts(); } // enable interrupts - void sei(void) { interrupts(); } + void sei() { interrupts(); } */ void HAL_adc_init() { @@ -56,9 +56,9 @@ void HAL_adc_init() { NVIC_ENABLE_IRQ(IRQ_FTM1); } -void HAL_clear_reset_source(void) { } +void HAL_clear_reset_source() { } -uint8_t HAL_get_reset_source(void) { +uint8_t HAL_get_reset_source() { switch (RCM_SRS0) { case 128: return RST_POWER_ON; break; case 64: return RST_EXTERNAL; break; @@ -87,6 +87,6 @@ extern "C" { void HAL_adc_start_conversion(const uint8_t adc_pin) { ADC0_SC1A = pin2sc1a[adc_pin]; } -uint16_t HAL_adc_get_result(void) { return ADC0_RA; } +uint16_t HAL_adc_get_result() { return ADC0_RA; } #endif // __MK20DX256__ diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/HAL.h b/Marlin/src/HAL/HAL_TEENSY31_32/HAL.h index 99e161cf04..4813d60d69 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/HAL.h +++ b/Marlin/src/HAL/HAL_TEENSY31_32/HAL.h @@ -87,20 +87,20 @@ typedef int8_t pin_t; #undef pgm_read_word #define pgm_read_word(addr) (*((uint16_t*)(addr))) -inline void HAL_init(void) { } +inline void HAL_init() { } // Clear the reset reason -void HAL_clear_reset_source(void); +void HAL_clear_reset_source(); // Get the reason for the reset -uint8_t HAL_get_reset_source(void); +uint8_t HAL_get_reset_source(); FORCE_INLINE void _delay_ms(const int delay_ms) { delay(delay_ms); } #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" extern "C" { - int freeMemory(void); + int freeMemory(); } #pragma GCC diagnostic pop @@ -115,7 +115,7 @@ void HAL_adc_init(); #define HAL_ANALOG_SELECT(pin) void HAL_adc_start_conversion(const uint8_t adc_pin); -uint16_t HAL_adc_get_result(void); +uint16_t HAL_adc_get_result(); #define GET_PIN_MAP_PIN(index) index #define GET_PIN_MAP_INDEX(pin) pin diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/HAL_SPI.cpp b/Marlin/src/HAL/HAL_TEENSY31_32/HAL_SPI.cpp index f53658ec55..4236f02b0f 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/HAL_SPI.cpp +++ b/Marlin/src/HAL/HAL_TEENSY31_32/HAL_SPI.cpp @@ -34,7 +34,7 @@ static SPISettings spiConfig; */ // Initialize SPI bus -void spiBegin(void) { +void spiBegin() { #if !PIN_EXISTS(SS) #error "SS_PIN not defined!" #endif @@ -71,7 +71,7 @@ void spiInit(uint8_t spiRate) { } // SPI receive a byte -uint8_t spiRec(void) { +uint8_t spiRec() { SPI.beginTransaction(spiConfig); const uint8_t returnByte = SPI.transfer(0xFF); SPI.endTransaction(); diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/Servo.cpp b/Marlin/src/HAL/HAL_TEENSY31_32/Servo.cpp index 7af900b149..6451f6b172 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/Servo.cpp +++ b/Marlin/src/HAL/HAL_TEENSY31_32/Servo.cpp @@ -29,25 +29,25 @@ uint8_t servoPin[MAX_SERVOS] = { 0 }; -int8_t libServo::attach(const int pin) { - if (this->servoIndex >= MAX_SERVOS) return -1; - if (pin > 0) servoPin[this->servoIndex] = pin; - return Servo::attach(servoPin[this->servoIndex]); +int8_t libServo::attach(const int inPin) { + if (servoIndex >= MAX_SERVOS) return -1; + if (inPin > 0) servoPin[servoIndex] = inPin; + return super::attach(servoPin[servoIndex]); } -int8_t libServo::attach(const int pin, const int min, const int max) { - if (pin > 0) servoPin[this->servoIndex] = pin; - return Servo::attach(servoPin[this->servoIndex], min, max); +int8_t libServo::attach(const int inPin, const int inMin, const int inMax) { + if (inPin > 0) servoPin[servoIndex] = inPin; + return super::attach(servoPin[servoIndex], inMin, inMax); } void libServo::move(const int value) { constexpr uint16_t servo_delay[] = SERVO_DELAY; static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); - if (this->attach(0) >= 0) { - this->write(value); - safe_delay(servo_delay[this->servoIndex]); + if (attach(0) >= 0) { + write(value); + safe_delay(servo_delay[servoIndex]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) - this->detach(); + detach(); #endif } } diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/Servo.h b/Marlin/src/HAL/HAL_TEENSY31_32/Servo.h index e096dc60c8..3eb7d39b22 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/Servo.h +++ b/Marlin/src/HAL/HAL_TEENSY31_32/Servo.h @@ -30,7 +30,8 @@ class libServo : public Servo { int8_t attach(const int pin, const int min, const int max); void move(const int value); private: - uint16_t min_ticks; - uint16_t max_ticks; - uint8_t servoIndex; // index into the channel data for this servo + typedef Servo super; + uint16_t min_ticks; + uint16_t max_ticks; + uint8_t servoIndex; // index into the channel data for this servo }; diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/endstop_interrupts.h b/Marlin/src/HAL/HAL_TEENSY31_32/endstop_interrupts.h index 743f917816..221b721b35 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_TEENSY31_32/endstop_interrupts.h @@ -38,48 +38,40 @@ #include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstops.update(); } +void endstop_ISR() { endstops.update(); } /** * Endstop interrupts for Due based targets. * On Due, all pins support external interrupt capability. */ -void setup_endstop_interrupts( void ) { - +void setup_endstop_interrupts() { + #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) #if HAS_X_MAX - attachInterrupt(digitalPinToInterrupt(X_MAX_PIN), endstop_ISR, CHANGE); // assign it + _ATTACH(X_MAX_PIN); #endif - #if HAS_X_MIN - attachInterrupt(digitalPinToInterrupt(X_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(X_MIN_PIN); #endif - #if HAS_Y_MAX - attachInterrupt(digitalPinToInterrupt(Y_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MAX_PIN); #endif - #if HAS_Y_MIN - attachInterrupt(digitalPinToInterrupt(Y_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MIN_PIN); #endif - #if HAS_Z_MAX - attachInterrupt(digitalPinToInterrupt(Z_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MAX_PIN); #endif - #if HAS_Z_MIN - attachInterrupt(digitalPinToInterrupt(Z_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PIN); #endif - #if HAS_Z2_MAX - attachInterrupt(digitalPinToInterrupt(Z2_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MAX_PIN); #endif - #if HAS_Z2_MIN - attachInterrupt(digitalPinToInterrupt(Z2_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MIN_PIN); #endif - #if HAS_Z_MIN_PROBE_PIN - attachInterrupt(digitalPinToInterrupt(Z_MIN_PROBE_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PROBE_PIN); #endif } diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_TEENSY31_32/persistent_store_impl.cpp index 6da102638f..0c95277438 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_TEENSY31_32/persistent_store_impl.cpp @@ -27,7 +27,7 @@ bool PersistentStore::access_start() { return true; } bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/timers.cpp b/Marlin/src/HAL/HAL_TEENSY31_32/timers.cpp index 8531883afa..1ae4bcf4f0 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/timers.cpp +++ b/Marlin/src/HAL/HAL_TEENSY31_32/timers.cpp @@ -34,7 +34,7 @@ so that all instructions following the ISB are fetched from cache or memory, after the instruction has been completed. */ -FORCE_INLINE static void __ISB(void) { +FORCE_INLINE static void __ISB() { __asm__ __volatile__("isb 0xF":::"memory"); } @@ -42,7 +42,7 @@ FORCE_INLINE static void __ISB(void) { This function acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete. */ -FORCE_INLINE static void __DSB(void) { +FORCE_INLINE static void __DSB() { __asm__ __volatile__("dsb 0xF":::"memory"); } diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/timers.h b/Marlin/src/HAL/HAL_TEENSY31_32/timers.h index 52d4965e35..6dff7701be 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/timers.h +++ b/Marlin/src/HAL/HAL_TEENSY31_32/timers.h @@ -68,8 +68,8 @@ typedef uint32_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_STEP_TIMER_ISR() extern "C" void ftm0_isr(void) //void TC3_Handler() -#define HAL_TEMP_TIMER_ISR() extern "C" void ftm1_isr(void) //void TC4_Handler() +#define HAL_STEP_TIMER_ISR() extern "C" void ftm0_isr() //void TC3_Handler() +#define HAL_TEMP_TIMER_ISR() extern "C" void ftm1_isr() //void TC4_Handler() void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency); diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp index 33541c03bf..5848944792 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp @@ -51,10 +51,10 @@ static const uint8_t pin2sc1a[] = { /* // disable interrupts - void cli(void) { noInterrupts(); } + void cli() { noInterrupts(); } // enable interrupts - void sei(void) { interrupts(); } + void sei() { interrupts(); } */ void HAL_adc_init() { @@ -64,9 +64,9 @@ void HAL_adc_init() { NVIC_ENABLE_IRQ(IRQ_FTM1); } -void HAL_clear_reset_source(void) { } +void HAL_clear_reset_source() { } -uint8_t HAL_get_reset_source(void) { +uint8_t HAL_get_reset_source() { switch (RCM_SRS0) { case 128: return RST_POWER_ON; break; case 64: return RST_EXTERNAL; break; @@ -109,7 +109,7 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) { } } -uint16_t HAL_adc_get_result(void) { +uint16_t HAL_adc_get_result() { switch (HAL_adc_select) { case 0: return ADC0_RA; case 1: return ADC1_RA; diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h index de86198b33..e218174ad3 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h @@ -93,20 +93,20 @@ typedef int8_t pin_t; #undef pgm_read_word #define pgm_read_word(addr) (*((uint16_t*)(addr))) -inline void HAL_init(void) { } +inline void HAL_init() { } // Clear reset reason -void HAL_clear_reset_source(void); +void HAL_clear_reset_source(); // Reset reason -uint8_t HAL_get_reset_source(void); +uint8_t HAL_get_reset_source(); FORCE_INLINE void _delay_ms(const int delay_ms) { delay(delay_ms); } #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" extern "C" { - int freeMemory(void); + int freeMemory(); } #pragma GCC diagnostic pop @@ -121,7 +121,7 @@ void HAL_adc_init(); #define HAL_ANALOG_SELECT(pin) void HAL_adc_start_conversion(const uint8_t adc_pin); -uint16_t HAL_adc_get_result(void); +uint16_t HAL_adc_get_result(); #define GET_PIN_MAP_PIN(index) index #define GET_PIN_MAP_INDEX(pin) pin diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_SPI.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_SPI.cpp index 35424625d5..44ab74cc9b 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_SPI.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_SPI.cpp @@ -29,7 +29,7 @@ static SPISettings spiConfig; -void spiBegin(void) { +void spiBegin() { #if !PIN_EXISTS(SS) #error SS_PIN not defined! #endif @@ -65,7 +65,7 @@ void spiInit(uint8_t spiRate) { SPI.begin(); } -uint8_t spiRec(void) { +uint8_t spiRec() { SPI.beginTransaction(spiConfig); uint8_t returnByte = SPI.transfer(0xFF); SPI.endTransaction(); diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/Servo.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/Servo.cpp index faf72e9d1e..d376b80a7d 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/Servo.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/Servo.cpp @@ -1,3 +1,24 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ #if defined(__MK64FX512__) || defined(__MK66FX1M0__) #include "../../inc/MarlinConfig.h" @@ -8,25 +29,25 @@ uint8_t servoPin[MAX_SERVOS] = { 0 }; -int8_t libServo::attach(const int pin) { - if (this->servoIndex >= MAX_SERVOS) return -1; - if (pin > 0) servoPin[this->servoIndex] = pin; - return Servo::attach(servoPin[this->servoIndex]); +int8_t libServo::attach(const int inPin) { + if (servoIndex >= MAX_SERVOS) return -1; + if (inPin > 0) servoPin[servoIndex] = inPin; + return super::attach(servoPin[servoIndex]); } -int8_t libServo::attach(const int pin, const int min, const int max) { - if (pin > 0) servoPin[this->servoIndex] = pin; - return Servo::attach(servoPin[this->servoIndex], min, max); +int8_t libServo::attach(const int inPin, const int inMin, const int inMax) { + if (inPin > 0) servoPin[servoIndex] = inPin; + return super::attach(servoPin[servoIndex], inMin, inMax); } void libServo::move(const int value) { constexpr uint16_t servo_delay[] = SERVO_DELAY; static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); - if (this->attach(0) >= 0) { - this->write(value); - safe_delay(servo_delay[this->servoIndex]); + if (attach(0) >= 0) { + write(value); + safe_delay(servo_delay[servoIndex]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) - this->detach(); + detach(); #endif } } diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/Servo.h b/Marlin/src/HAL/HAL_TEENSY35_36/Servo.h index 4b97dbffbb..cafd323a38 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/Servo.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/Servo.h @@ -30,7 +30,8 @@ class libServo : public Servo { int8_t attach(const int pin, const int min, const int max); void move(const int value); private: - uint16_t min_ticks; - uint16_t max_ticks; - uint8_t servoIndex; // Index into the channel data for this servo + typedef Servo super; + uint16_t min_ticks; + uint16_t max_ticks; + uint8_t servoIndex; // Index into the channel data for this servo }; diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/endstop_interrupts.h b/Marlin/src/HAL/HAL_TEENSY35_36/endstop_interrupts.h index 137cb472ef..3862f2b5b8 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/endstop_interrupts.h @@ -38,44 +38,45 @@ #include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstops.update(); } +void endstop_ISR() { endstops.update(); } /** * Endstop interrupts for Due based targets. * On Due, all pins support external interrupt capability. */ -void setup_endstop_interrupts( void ) { +void setup_endstop_interrupts() { + #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) #if HAS_X_MAX - attachInterrupt(digitalPinToInterrupt(X_MAX_PIN), endstop_ISR, CHANGE); // assign it + _ATTACH(X_MAX_PIN); #endif #if HAS_X_MIN - attachInterrupt(digitalPinToInterrupt(X_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(X_MIN_PIN); #endif #if HAS_Y_MAX - attachInterrupt(digitalPinToInterrupt(Y_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MAX_PIN); #endif #if HAS_Y_MIN - attachInterrupt(digitalPinToInterrupt(Y_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Y_MIN_PIN); #endif #if HAS_Z_MAX - attachInterrupt(digitalPinToInterrupt(Z_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MAX_PIN); #endif #if HAS_Z_MIN - attachInterrupt(digitalPinToInterrupt(Z_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PIN); #endif #if HAS_Z2_MAX - attachInterrupt(digitalPinToInterrupt(Z2_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MAX_PIN); #endif #if HAS_Z2_MIN - attachInterrupt(digitalPinToInterrupt(Z2_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z2_MIN_PIN); #endif #if HAS_Z3_MAX - attachInterrupt(digitalPinToInterrupt(Z3_MAX_PIN), endstop_ISR, CHANGE); + _ATTACH(Z3_MAX_PIN); #endif #if HAS_Z3_MIN - attachInterrupt(digitalPinToInterrupt(Z3_MIN_PIN), endstop_ISR, CHANGE); + _ATTACH(Z3_MIN_PIN); #endif #if HAS_Z_MIN_PROBE_PIN - attachInterrupt(digitalPinToInterrupt(Z_MIN_PROBE_PIN), endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PROBE_PIN); #endif } diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp index 17934f71a3..2f063a4d4a 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp @@ -33,7 +33,7 @@ bool PersistentStore::access_start() { return true; } bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/timers.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/timers.cpp index af7808618f..6ee6118208 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/timers.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/timers.cpp @@ -35,7 +35,7 @@ so that all instructions following the ISB are fetched from cache or memory, after the instruction has been completed. */ -FORCE_INLINE static void __ISB(void) { +FORCE_INLINE static void __ISB() { __asm__ __volatile__("isb 0xF":::"memory"); } @@ -43,7 +43,7 @@ FORCE_INLINE static void __ISB(void) { This function acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete. */ -FORCE_INLINE static void __DSB(void) { +FORCE_INLINE static void __DSB() { __asm__ __volatile__("dsb 0xF":::"memory"); } diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/timers.h b/Marlin/src/HAL/HAL_TEENSY35_36/timers.h index 741f27c0ba..8ae51107c7 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/timers.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/timers.h @@ -67,8 +67,8 @@ typedef uint32_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_STEP_TIMER_ISR() extern "C" void ftm0_isr(void) //void TC3_Handler() -#define HAL_TEMP_TIMER_ISR() extern "C" void ftm1_isr(void) //void TC4_Handler() +#define HAL_STEP_TIMER_ISR() extern "C" void ftm0_isr() //void TC3_Handler() +#define HAL_TEMP_TIMER_ISR() extern "C" void ftm1_isr() //void TC4_Handler() void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency); diff --git a/Marlin/src/HAL/shared/Delay.h b/Marlin/src/HAL/shared/Delay.h index 1bcfb9e8a6..1c2ee47c29 100644 --- a/Marlin/src/HAL/shared/Delay.h +++ b/Marlin/src/HAL/shared/Delay.h @@ -29,8 +29,8 @@ * DELAY_US(count): Delay execution in microseconds */ -#include "../../core/macros.h" #include "../../core/millis_t.h" +#include "../../core/macros.h" #if defined(__arm__) || defined(__thumb__) diff --git a/Marlin/src/HAL/shared/HAL_SPI.h b/Marlin/src/HAL/shared/HAL_SPI.h index aa37048d34..d805207047 100644 --- a/Marlin/src/HAL/shared/HAL_SPI.h +++ b/Marlin/src/HAL/shared/HAL_SPI.h @@ -59,7 +59,7 @@ // // Initialize SPI bus -void spiBegin(void); +void spiBegin(); // Configure SPI for specified SPI speed void spiInit(uint8_t spiRate); @@ -68,7 +68,7 @@ void spiInit(uint8_t spiRate); void spiSend(uint8_t b); // Read single byte from SPI -uint8_t spiRec(void); +uint8_t spiRec(); // Read from SPI into buffer void spiRead(uint8_t* buf, uint16_t nbyte); diff --git a/Marlin/src/HAL/shared/Marduino.h b/Marlin/src/HAL/shared/Marduino.h index 4376579f85..a2de03a2b6 100644 --- a/Marlin/src/HAL/shared/Marduino.h +++ b/Marlin/src/HAL/shared/Marduino.h @@ -58,6 +58,9 @@ //#define strchr_P(s,c) strchr(s,c) #endif + #ifndef snprintf_P + #define snprintf_P snprintf + #endif #ifndef vsnprintf_P #define vsnprintf_P vsnprintf #endif diff --git a/Marlin/src/HAL/shared/backtrace/backtrace.cpp b/Marlin/src/HAL/shared/backtrace/backtrace.cpp index fc8abfa0e6..fc265615d0 100644 --- a/Marlin/src/HAL/shared/backtrace/backtrace.cpp +++ b/Marlin/src/HAL/shared/backtrace/backtrace.cpp @@ -65,7 +65,7 @@ static const UnwindCallbacks UnwCallbacks = { #endif }; -void backtrace(void) { +void backtrace() { UnwindFrame btf; uint32_t sp = 0, lr = 0, pc = 0; @@ -95,6 +95,6 @@ void backtrace(void) { #else // !__arm__ && !__thumb__ -void backtrace(void) {} +void backtrace() {} #endif diff --git a/Marlin/src/HAL/shared/backtrace/backtrace.h b/Marlin/src/HAL/shared/backtrace/backtrace.h index a3d7cc7e3d..a2b8eae594 100644 --- a/Marlin/src/HAL/shared/backtrace/backtrace.h +++ b/Marlin/src/HAL/shared/backtrace/backtrace.h @@ -22,4 +22,4 @@ #pragma once // Perform a backtrace to the serial port -void backtrace(void); +void backtrace(); diff --git a/Marlin/src/HAL/shared/backtrace/unwarm.cpp b/Marlin/src/HAL/shared/backtrace/unwarm.cpp index fb4263a272..cdc9c06c61 100644 --- a/Marlin/src/HAL/shared/backtrace/unwarm.cpp +++ b/Marlin/src/HAL/shared/backtrace/unwarm.cpp @@ -78,7 +78,7 @@ void UnwInitState(UnwState * const state, /**< Pointer to structure to fill. } // Detect if function names are available -static int __attribute__ ((noinline)) has_function_names(void) { +static int __attribute__ ((noinline)) has_function_names() { uint32_t flag_word = ((uint32_t*)(((uint32_t)(&has_function_names)) & (-4))) [-1]; return ((flag_word & 0xFF000000) == 0xFF000000) ? 1 : 0; } diff --git a/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp b/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp index ebd53cc1d9..207cd56aa8 100644 --- a/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp +++ b/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp @@ -23,9 +23,9 @@ extern "C" const UnwTabEntry __exidx_start[]; extern "C" const UnwTabEntry __exidx_end[]; /* This prevents the linking of libgcc unwinder code */ -void __aeabi_unwind_cpp_pr0(void) {}; -void __aeabi_unwind_cpp_pr1(void) {}; -void __aeabi_unwind_cpp_pr2(void) {}; +void __aeabi_unwind_cpp_pr0() {}; +void __aeabi_unwind_cpp_pr1() {}; +void __aeabi_unwind_cpp_pr2() {}; static inline __attribute__((always_inline)) uint32_t prel31_to_addr(const uint32_t *prel31) { uint32_t offset = (((uint32_t)(*prel31)) << 1) >> 1; @@ -285,7 +285,7 @@ static UnwResult UnwTabExecuteInstructions(const UnwindCallbacks *cb, UnwTabStat return UNWIND_SUCCESS; } -static inline __attribute__((always_inline)) uint32_t read_psp(void) { +static inline __attribute__((always_inline)) uint32_t read_psp() { /* Read the current PSP and return its value as a pointer */ uint32_t psp; diff --git a/Marlin/src/HAL/shared/backtrace/unwinder.cpp b/Marlin/src/HAL/shared/backtrace/unwinder.cpp index bde5899435..e63af1ed25 100644 --- a/Marlin/src/HAL/shared/backtrace/unwinder.cpp +++ b/Marlin/src/HAL/shared/backtrace/unwinder.cpp @@ -27,7 +27,7 @@ extern "C" const UnwTabEntry __exidx_start[]; extern "C" const UnwTabEntry __exidx_end[]; // Detect if unwind information is present or not -static int HasUnwindTableInfo(void) { +static int HasUnwindTableInfo() { // > 16 because there are default entries we can't supress return ((char*)(&__exidx_end) - (char*)(&__exidx_start)) > 16 ? 1 : 0; } diff --git a/Marlin/src/HAL/shared/eeprom_i2c.cpp b/Marlin/src/HAL/shared/eeprom_i2c.cpp index f5e470541d..2752b7d4cc 100644 --- a/Marlin/src/HAL/shared/eeprom_i2c.cpp +++ b/Marlin/src/HAL/shared/eeprom_i2c.cpp @@ -42,12 +42,8 @@ static uint8_t eeprom_device_address = 0x50; // Public functions // ------------------------ -static void eeprom_init(void) { - static bool eeprom_initialized = false; - if (!eeprom_initialized) { - Wire.begin(); - eeprom_initialized = true; - } +static void eeprom_init() { + Wire.begin(); } void eeprom_write_byte(uint8_t *pos, unsigned char value) { diff --git a/Marlin/src/HAL/shared/persistent_store_api.h b/Marlin/src/HAL/shared/persistent_store_api.h index 02013120a7..0f4834b9b3 100644 --- a/Marlin/src/HAL/shared/persistent_store_api.h +++ b/Marlin/src/HAL/shared/persistent_store_api.h @@ -31,7 +31,7 @@ class PersistentStore { public: static bool access_start(); static bool access_finish(); - static bool write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc); + static bool write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc); static bool read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing=true); static size_t capacity(); diff --git a/Marlin/src/HAL/shared/servo.cpp b/Marlin/src/HAL/shared/servo.cpp index 22cf6bc88f..b5975e58e7 100644 --- a/Marlin/src/HAL/shared/servo.cpp +++ b/Marlin/src/HAL/shared/servo.cpp @@ -58,11 +58,11 @@ #include "servo.h" #include "servo_private.h" -ServoInfo_t servo_info[MAX_SERVOS]; // static array of servo info structures -uint8_t ServoCount = 0; // the total number of attached servos +ServoInfo_t servo_info[MAX_SERVOS]; // static array of servo info structures +uint8_t ServoCount = 0; // the total number of attached servos -#define SERVO_MIN() (MIN_PULSE_WIDTH - this->min * 4) // minimum value in uS for this servo -#define SERVO_MAX() (MAX_PULSE_WIDTH - this->max * 4) // maximum value in uS for this servo +#define SERVO_MIN(v) (MIN_PULSE_WIDTH - (v) * 4) // minimum value in uS for this servo +#define SERVO_MAX(v) (MAX_PULSE_WIDTH - (v) * 4) // maximum value in uS for this servo /************ static functions common to all instances ***********************/ @@ -79,54 +79,54 @@ static boolean isTimerActive(timer16_Sequence_t timer) { Servo::Servo() { if (ServoCount < MAX_SERVOS) { - this->servoIndex = ServoCount++; // assign a servo index to this instance - servo_info[this->servoIndex].ticks = usToTicks(DEFAULT_PULSE_WIDTH); // store default values - 12 Aug 2009 + servoIndex = ServoCount++; // assign a servo index to this instance + servo_info[servoIndex].ticks = usToTicks(DEFAULT_PULSE_WIDTH); // store default values - 12 Aug 2009 } else - this->servoIndex = INVALID_SERVO; // too many servos + servoIndex = INVALID_SERVO; // too many servos } -int8_t Servo::attach(const int pin) { - return this->attach(pin, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH); +int8_t Servo::attach(const int inPin) { + return attach(inPin, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH); } -int8_t Servo::attach(const int pin, const int min, const int max) { +int8_t Servo::attach(const int inPin, const int inMin, const int inMax) { - if (this->servoIndex >= MAX_SERVOS) return -1; + if (servoIndex >= MAX_SERVOS) return -1; - if (pin > 0) servo_info[this->servoIndex].Pin.nbr = pin; - pinMode(servo_info[this->servoIndex].Pin.nbr, OUTPUT); // set servo pin to output + if (inPin > 0) servo_info[servoIndex].Pin.nbr = inPin; + pinMode(servo_info[servoIndex].Pin.nbr, OUTPUT); // set servo pin to output - // todo min/max check: ABS(min - MIN_PULSE_WIDTH) /4 < 128 - this->min = (MIN_PULSE_WIDTH - min) / 4; //resolution of min/max is 4 uS - this->max = (MAX_PULSE_WIDTH - max) / 4; + // TODO: min/max check: ABS(min - MIN_PULSE_WIDTH) / 4 < 128 + min = (MIN_PULSE_WIDTH - inMin) / 4; //resolution of min/max is 4 uS + max = (MAX_PULSE_WIDTH - inMax) / 4; // initialize the timer if it has not already been initialized timer16_Sequence_t timer = SERVO_INDEX_TO_TIMER(servoIndex); if (!isTimerActive(timer)) initISR(timer); - servo_info[this->servoIndex].Pin.isActive = true; // this must be set after the check for isTimerActive + servo_info[servoIndex].Pin.isActive = true; // this must be set after the check for isTimerActive - return this->servoIndex; + return servoIndex; } void Servo::detach() { - servo_info[this->servoIndex].Pin.isActive = false; + servo_info[servoIndex].Pin.isActive = false; timer16_Sequence_t timer = SERVO_INDEX_TO_TIMER(servoIndex); if (!isTimerActive(timer)) finISR(timer); } void Servo::write(int value) { if (value < MIN_PULSE_WIDTH) // treat values less than 544 as angles in degrees (valid values in microseconds are handled as microseconds) - value = map(constrain(value, 0, 180), 0, 180, SERVO_MIN(), SERVO_MAX()); - this->writeMicroseconds(value); + value = map(constrain(value, 0, 180), 0, 180, SERVO_MIN(min), SERVO_MAX(max)); + writeMicroseconds(value); } void Servo::writeMicroseconds(int value) { // calculate and store the values for the given channel - byte channel = this->servoIndex; + byte channel = servoIndex; if (channel < MAX_SERVOS) { // ensure channel is valid // ensure pulse width is valid - value = constrain(value, SERVO_MIN(), SERVO_MAX()) - (TRIM_DURATION); + value = constrain(value, SERVO_MIN(min), SERVO_MAX(max)) - (TRIM_DURATION); value = usToTicks(value); // convert to ticks after compensating for interrupt overhead - 12 Aug 2009 CRITICAL_SECTION_START; @@ -136,22 +136,22 @@ void Servo::writeMicroseconds(int value) { } // return the value as degrees -int Servo::read() { return map(this->readMicroseconds() + 1, SERVO_MIN(), SERVO_MAX(), 0, 180); } +int Servo::read() { return map(readMicroseconds() + 1, SERVO_MIN(min), SERVO_MAX(max), 0, 180); } int Servo::readMicroseconds() { - return (this->servoIndex == INVALID_SERVO) ? 0 : ticksToUs(servo_info[this->servoIndex].ticks) + (TRIM_DURATION); + return (servoIndex == INVALID_SERVO) ? 0 : ticksToUs(servo_info[servoIndex].ticks) + (TRIM_DURATION); } -bool Servo::attached() { return servo_info[this->servoIndex].Pin.isActive; } +bool Servo::attached() { return servo_info[servoIndex].Pin.isActive; } void Servo::move(const int value) { constexpr uint16_t servo_delay[] = SERVO_DELAY; static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); - if (this->attach(0) >= 0) { - this->write(value); - safe_delay(servo_delay[this->servoIndex]); + if (attach(0) >= 0) { + write(value); + safe_delay(servo_delay[servoIndex]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) - this->detach(); + detach(); #endif } } diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index e288e4837c..89501e9bfa 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -414,7 +414,7 @@ void disable_all_steppers() { void event_probe_recover() { #if ENABLED(HOST_PROMPT_SUPPORT) - host_prompt_do(PROMPT_INFO, PSTR("G29 Retrying")); + host_prompt_do(PROMPT_INFO, PSTR("G29 Retrying"), PSTR("Dismiss")); #endif #ifdef ACTION_ON_G29_RECOVER host_action(PSTR(ACTION_ON_G29_RECOVER)); @@ -672,6 +672,9 @@ void idle( bool no_stepper_sleep/*=false*/ #endif ) { + #if ENABLED(POWER_LOSS_RECOVERY) && PIN_EXISTS(POWER_LOSS) + recovery.outage(); + #endif #if ENABLED(SPI_ENDSTOPS) if (endstops.tmc_spi_homing.any @@ -811,8 +814,8 @@ void minkill(const bool steppers_off/*=false*/) { #endif } - void(*resetFunc)(void) = 0; // Declare resetFunc() at address 0 - resetFunc(); // Jump to address 0 + void (*resetFunc)() = 0; // Declare resetFunc() at address 0 + resetFunc(); // Jump to address 0 #else // !HAS_KILL @@ -959,10 +962,11 @@ void setup() { SERIAL_EOL(); #if defined(STRING_DISTRIBUTION_DATE) && defined(STRING_CONFIG_H_AUTHOR) - SERIAL_ECHO_START(); - SERIAL_ECHOPGM(MSG_CONFIGURATION_VER); - SERIAL_ECHOPGM(STRING_DISTRIBUTION_DATE); - SERIAL_ECHOLNPGM(MSG_AUTHOR STRING_CONFIG_H_AUTHOR); + SERIAL_ECHO_MSG( + MSG_CONFIGURATION_VER + STRING_DISTRIBUTION_DATE + MSG_AUTHOR STRING_CONFIG_H_AUTHOR + ); SERIAL_ECHO_MSG("Compiled: " __DATE__); #endif @@ -971,6 +975,12 @@ void setup() { // UI must be initialized before EEPROM // (because EEPROM code calls the UI). + + // Set up LEDs early + #if HAS_COLOR_LEDS + leds.setup(); + #endif + ui.init(); ui.reset_status(); @@ -978,9 +988,8 @@ void setup() { ui.show_bootscreen(); #endif - #if ENABLED(SDIO_SUPPORT) && !PIN_EXISTS(SD_DETECT) - // Auto-mount the SD for EEPROM.dat emulation - if (!card.isDetected()) card.initsd(); + #if ENABLED(SDSUPPORT) + card.mount(); // Mount the SD card before settings.first_load #endif // Load data from EEPROM if available (or use defaults) @@ -1066,10 +1075,6 @@ void setup() { OUT_WRITE(STAT_LED_BLUE_PIN, LOW); // OFF #endif - #if HAS_COLOR_LEDS - leds.setup(); - #endif - #if HAS_CASE_LIGHT #if DISABLED(CASE_LIGHT_USE_NEOPIXEL) if (PWM_PIN(CASE_LIGHT_PIN)) SET_PWM(CASE_LIGHT_PIN); else SET_OUTPUT(CASE_LIGHT_PIN); @@ -1150,6 +1155,10 @@ void setup() { card.beginautostart(); #endif + #if ENABLED(HOST_PROMPT_SUPPORT) + host_action_prompt_end(); + #endif + #if HAS_TRINAMIC && DISABLED(PS_DEFAULT_OFF) test_tmc_connection(true, true, true, true); #endif diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index d02713d273..89f1f0d20d 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -294,6 +294,8 @@ #define BOARD_STEVAL 4206 // STEVAL-3DP001V1 3D PRINTER BOARD #define BOARD_BIGTREE_SKR_PRO_V1_1 4207 // BigTreeTech SKR Pro v1.1 (STM32F407ZG) #define BOARD_BIGTREE_BTT002_V1_0 4208 // BigTreeTech BTT002 v1.0 (STM32F407VE) +#define BOARD_LERDGE_K 4209 // Lerdge K (STM32F407ZG) +#define BOARD_LERDGE_X 4210 // Lerdge X (STM32F407VE) // // ARM Cortex M7 @@ -307,11 +309,6 @@ // #define BOARD_ESP32 6000 -// -// SAMD51 ARM Cortex M4 -// -#define BOARD_AGCM4_RURAMPS4D_13 6100 - // // Simulations // diff --git a/Marlin/src/core/enum.h b/Marlin/src/core/enum.h index a6a3f57888..15118f7b28 100644 --- a/Marlin/src/core/enum.h +++ b/Marlin/src/core/enum.h @@ -49,10 +49,6 @@ enum AxisEnum : unsigned char { NO_AXIS = 0xFF }; -#if HAS_DRIVER(L6470) - enum L6470_driver_enum : unsigned char { X, Y, Z, X2, Y2, Z2, Z3, E0, E1, E2, E3, E4, E5 }; -#endif - #define LOOP_S_LE_N(VAR, S, N) for (uint8_t VAR=(S); VAR<=(N); VAR++) #define LOOP_S_L_N(VAR, S, N) for (uint8_t VAR=(S); VAR<(N); VAR++) #define LOOP_LE_N(VAR, N) LOOP_S_LE_N(VAR, 0, N) @@ -65,14 +61,3 @@ enum AxisEnum : unsigned char { #define LOOP_ABC(VAR) LOOP_S_LE_N(VAR, A_AXIS, C_AXIS) #define LOOP_ABCE(VAR) LOOP_S_LE_N(VAR, A_AXIS, E_AXIS) #define LOOP_ABCE_N(VAR) LOOP_S_L_N(VAR, A_AXIS, XYZE_N) - -typedef enum { - LINEARUNIT_MM, - LINEARUNIT_INCH -} LinearUnit; - -typedef enum { - TEMPUNIT_C, - TEMPUNIT_K, - TEMPUNIT_F -} TempUnit; diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index d6b71bee59..ee4e23fa76 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -198,9 +198,7 @@ #define MSG_Z3_MAX "z3_max" #define MSG_Z_PROBE "z_probe" #define MSG_FILAMENT_RUNOUT_SENSOR "filament" -#define MSG_PROBE_X_OFFSET "Probe X Offset" -#define MSG_PROBE_Y_OFFSET "Probe Y Offset" -#define MSG_PROBE_Z_OFFSET "Probe Z Offset" +#define MSG_PROBE_OFFSET "Probe Offset" #define MSG_SKEW_MIN "min_skew_factor: " #define MSG_SKEW_MAX "max_skew_factor: " #define MSG_ERR_MATERIAL_INDEX "M145 S out of range (0-1)" diff --git a/Marlin/src/core/macros.h b/Marlin/src/core/macros.h index ce72247c5d..faf3859f16 100644 --- a/Marlin/src/core/macros.h +++ b/Marlin/src/core/macros.h @@ -45,6 +45,14 @@ #define _O2 __attribute__((optimize("O2"))) #define _O3 __attribute__((optimize("O3"))) +#ifndef UNUSED + #if defined(ARDUINO_ARCH_STM32) && !defined(STM32GENERIC) + #define UNUSED(X) (void)X + #else + #define UNUSED(x) ((void)(x)) + #endif +#endif + // Clock speed factors #if !defined(CYCLES_PER_MICROSECOND) && !defined(__STM32F1__) #define CYCLES_PER_MICROSECOND (F_CPU / 1000000UL) // 16 or 20 on AVR @@ -53,6 +61,13 @@ // Nanoseconds per cycle #define NANOSECONDS_PER_CYCLE (1000000000.0 / F_CPU) +// Macros to make sprintf_P read from PROGMEM (AVR extension) +#ifdef __AVR__ + #define S_FMT "%S" +#else + #define S_FMT "%s" +#endif + // Macros to make a string from a macro #define STRINGIFY_(M) #M #define STRINGIFY(M) STRINGIFY_(M) @@ -63,7 +78,7 @@ // Macros for bit masks #undef _BV #define _BV(n) (1<<(n)) -#define TEST(n,b) !!((n)&_BV(b)) +#define TEST(n,b) (!!((n)&_BV(b))) #define SET_BIT_TO(N,B,TF) do{ if (TF) SBI(N,B); else CBI(N,B); }while(0) #ifndef SBI @@ -79,6 +94,7 @@ #define SBI32(n,b) (n |= _BV32(b)) #define CBI32(n,b) (n &= ~_BV32(b)) +#define cu(x) ((x)*(x)*(x)) #define RADIANS(d) ((d)*float(M_PI)/180.0f) #define DEGREES(r) ((r)*180.0f/float(M_PI)) #define HYPOT2(x,y) (sq(x)+sq(y)) @@ -94,14 +110,14 @@ // C++11 solution that is standards compliant. template static inline constexpr void NOLESS(V& v, const N n) { - if (v < n) v = n; + if (n > v) v = n; } template static inline constexpr void NOMORE(V& v, const N n) { - if (v > n) v = n; + if (n < v) v = n; } template static inline constexpr void LIMIT(V& v, const N1 n1, const N2 n2) { - if (v < n1) v = n1; - else if (v > n2) v = n2; + if (n1 > v) v = n1; + else if (n2 < v) v = n2; } #else @@ -111,21 +127,21 @@ #define NOLESS(v, n) \ do{ \ __typeof__(n) _n = (n); \ - if (v < _n) v = _n; \ + if (_n > v) v = _n; \ }while(0) #define NOMORE(v, n) \ do{ \ __typeof__(n) _n = (n); \ - if (v > _n) v = _n; \ + if (_n < v) v = _n; \ }while(0) #define LIMIT(v, n1, n2) \ do{ \ __typeof__(n1) _n1 = (n1); \ __typeof__(n2) _n2 = (n2); \ - if (v < _n1) v = _n1; \ - else if (v > _n2) v = _n2; \ + if (_n1 > v) v = _n1; \ + else if (_n2 < v) v = _n2; \ }while(0) #endif @@ -189,15 +205,26 @@ }while(0) // Macros for initializing arrays -#define ARRAY_6(v1, v2, v3, v4, v5, v6, ...) { v1, v2, v3, v4, v5, v6 } -#define ARRAY_5(v1, v2, v3, v4, v5, ...) { v1, v2, v3, v4, v5 } -#define ARRAY_4(v1, v2, v3, v4, ...) { v1, v2, v3, v4 } -#define ARRAY_3(v1, v2, v3, ...) { v1, v2, v3 } -#define ARRAY_2(v1, v2, ...) { v1, v2 } -#define ARRAY_1(v1, ...) { v1 } +#define LIST_16(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P +#define LIST_15(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O +#define LIST_14(A,B,C,D,E,F,G,H,I,J,K,L,M,N,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N +#define LIST_13(A,B,C,D,E,F,G,H,I,J,K,L,M,...) A,B,C,D,E,F,G,H,I,J,K,L,M +#define LIST_12(A,B,C,D,E,F,G,H,I,J,K,L,...) A,B,C,D,E,F,G,H,I,J,K,L +#define LIST_11(A,B,C,D,E,F,G,H,I,J,K,...) A,B,C,D,E,F,G,H,I,J,K +#define LIST_10(A,B,C,D,E,F,G,H,I,J,...) A,B,C,D,E,F,G,H,I,J +#define LIST_9( A,B,C,D,E,F,G,H,I,...) A,B,C,D,E,F,G,H,I +#define LIST_8( A,B,C,D,E,F,G,H,...) A,B,C,D,E,F,G,H +#define LIST_7( A,B,C,D,E,F,G,...) A,B,C,D,E,F,G +#define LIST_6( A,B,C,D,E,F,...) A,B,C,D,E,F +#define LIST_5( A,B,C,D,E,...) A,B,C,D,E +#define LIST_4( A,B,C,D,...) A,B,C,D +#define LIST_3( A,B,C,...) A,B,C +#define LIST_2( A,B,...) A,B +#define LIST_1( A,...) A -#define _ARRAY_N(N,V...) ARRAY_##N(V) -#define ARRAY_N(N,V...) _ARRAY_N(N,V) +#define _LIST_N(N,V...) LIST_##N(V) +#define LIST_N(N,V...) _LIST_N(N,V) +#define ARRAY_N(N,V...) { _LIST_N(N,V) } // Macros for adding #define INC_0 1 @@ -225,8 +252,11 @@ #define DECREMENT_(n) DEC_##n #define DECREMENT(n) DECREMENT_(n) +// Feedrate +typedef float feedRate_t; #define MMM_TO_MMS(MM_M) ((MM_M)/60.0f) #define MMS_TO_MMM(MM_S) ((MM_S)*60.0f) +#define MMS_SCALED(V) ((V) * 0.01f * feedrate_percentage) #define NOOP (void(0)) @@ -266,8 +296,8 @@ #endif // Use NUM_ARGS(__VA_ARGS__) to get the number of variadic arguments -#define _NUM_ARGS(_0,_24_,_23,_22,_21,_20,_19,_18,_17,_16,_15,_14,_13,_12,_11,_10,_9,_8,_7,_6,_5,_4,_3,_2,_1,N,...) N -#define NUM_ARGS(V...) _NUM_ARGS(0,V,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0) +#define _NUM_ARGS(_,Z,Y,X,W,V,U,T,S,R,Q,P,O,N,M,L,K,J,I,H,G,F,E,D,C,B,A,OUT,...) OUT +#define NUM_ARGS(V...) _NUM_ARGS(0,V,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0) #ifdef __cplusplus @@ -293,29 +323,29 @@ #else #define MIN_2(a,b) ((a)<(b)?(a):(b)) - #define MIN_3(a,...) MIN_2(a,MIN_2(__VA_ARGS__)) - #define MIN_4(a,...) MIN_2(a,MIN_3(__VA_ARGS__)) - #define MIN_5(a,...) MIN_2(a,MIN_4(__VA_ARGS__)) - #define MIN_6(a,...) MIN_2(a,MIN_5(__VA_ARGS__)) - #define MIN_7(a,...) MIN_2(a,MIN_6(__VA_ARGS__)) - #define MIN_8(a,...) MIN_2(a,MIN_7(__VA_ARGS__)) - #define MIN_9(a,...) MIN_2(a,MIN_8(__VA_ARGS__)) - #define MIN_10(a,...) MIN_2(a,MIN_9(__VA_ARGS__)) - #define __MIN_N(N, ...) MIN_##N(__VA_ARGS__) - #define _MIN_N(N, ...) __MIN_N(N,__VA_ARGS__) - #define _MIN(...) _MIN_N(NUM_ARGS(__VA_ARGS__), __VA_ARGS__) + #define MIN_3(a,V...) MIN_2(a,MIN_2(V)) + #define MIN_4(a,V...) MIN_2(a,MIN_3(V)) + #define MIN_5(a,V...) MIN_2(a,MIN_4(V)) + #define MIN_6(a,V...) MIN_2(a,MIN_5(V)) + #define MIN_7(a,V...) MIN_2(a,MIN_6(V)) + #define MIN_8(a,V...) MIN_2(a,MIN_7(V)) + #define MIN_9(a,V...) MIN_2(a,MIN_8(V)) + #define MIN_10(a,V...) MIN_2(a,MIN_9(V)) + #define __MIN_N(N,V...) MIN_##N(V) + #define _MIN_N(N,V...) __MIN_N(N,V) + #define _MIN(V...) _MIN_N(NUM_ARGS(V), V) #define MAX_2(a,b) ((a)>(b)?(a):(b)) - #define MAX_3(a,...) MAX_2(a,MAX_2(__VA_ARGS__)) - #define MAX_4(a,...) MAX_2(a,MAX_3(__VA_ARGS__)) - #define MAX_5(a,...) MAX_2(a,MAX_4(__VA_ARGS__)) - #define MAX_6(a,...) MAX_2(a,MAX_5(__VA_ARGS__)) - #define MAX_7(a,...) MAX_2(a,MAX_6(__VA_ARGS__)) - #define MAX_8(a,...) MAX_2(a,MAX_7(__VA_ARGS__)) - #define MAX_9(a,...) MAX_2(a,MAX_8(__VA_ARGS__)) - #define MAX_10(a,...) MAX_2(a,MAX_9(__VA_ARGS__)) - #define __MAX_N(N, ...) MAX_##N(__VA_ARGS__) - #define _MAX_N(N, ...) __MAX_N(N,__VA_ARGS__) - #define _MAX(...) _MAX_N(NUM_ARGS(__VA_ARGS__), __VA_ARGS__) + #define MAX_3(a,V...) MAX_2(a,MAX_2(V)) + #define MAX_4(a,V...) MAX_2(a,MAX_3(V)) + #define MAX_5(a,V...) MAX_2(a,MAX_4(V)) + #define MAX_6(a,V...) MAX_2(a,MAX_5(V)) + #define MAX_7(a,V...) MAX_2(a,MAX_6(V)) + #define MAX_8(a,V...) MAX_2(a,MAX_7(V)) + #define MAX_9(a,V...) MAX_2(a,MAX_8(V)) + #define MAX_10(a,V...) MAX_2(a,MAX_9(V)) + #define __MAX_N(N,V...) MAX_##N(V) + #define _MAX_N(N,V...) __MAX_N(N,V) + #define _MAX(V...) _MAX_N(NUM_ARGS(V), V) #endif diff --git a/Marlin/src/core/serial.cpp b/Marlin/src/core/serial.cpp index 84b64b8b62..a468802ecc 100644 --- a/Marlin/src/core/serial.cpp +++ b/Marlin/src/core/serial.cpp @@ -68,12 +68,9 @@ void print_bin(const uint16_t val) { } } -void print_xyz(PGM_P const prefix, PGM_P const suffix, const float x, const float y, const float z) { +void print_xyz(PGM_P const prefix, PGM_P const suffix, const float &x, const float &y, const float &z) { serialprintPGM(prefix); - SERIAL_CHAR('('); - SERIAL_ECHO(x); - SERIAL_ECHOPAIR(", ", y, ", ", z); - SERIAL_CHAR(')'); + SERIAL_ECHOPAIR(" " MSG_X, x, " " MSG_Y, y, " " MSG_Z, z); if (suffix) serialprintPGM(suffix); else SERIAL_EOL(); } diff --git a/Marlin/src/core/serial.h b/Marlin/src/core/serial.h index a690e0fc39..f1b18c214e 100644 --- a/Marlin/src/core/serial.h +++ b/Marlin/src/core/serial.h @@ -75,7 +75,9 @@ extern uint8_t marlin_debug_flags; #define SERIAL_PRINTF(V...) SERIAL_OUT(printf, V) #define SERIAL_FLUSH() SERIAL_OUT(flush) -#if TX_BUFFER_SIZE > 0 +#ifdef __STM32F1__ + #define SERIAL_FLUSHTX() SERIAL_OUT(flush) +#elif TX_BUFFER_SIZE > 0 #define SERIAL_FLUSHTX() SERIAL_OUT(flushTX) #else #define SERIAL_FLUSHTX() @@ -137,15 +139,42 @@ extern uint8_t marlin_debug_flags; #define _SELP_21(a,b,V...) do{ _SEP_2(a,b); _SELP_19(V); }while(0) #define _SELP_22(a,b,V...) do{ _SEP_2(a,b); _SELP_20(V); }while(0) #define _SELP_23(a,b,V...) do{ _SEP_2(a,b); _SELP_21(V); }while(0) -#define _SELP_24(a,b,V...) do{ _SEP_2(a,b); _SELP_22(V); }while(0) +#define _SELP_24(a,b,V...) do{ _SEP_2(a,b); _SELP_22(V); }while(0) // Use up two, pass the rest up #define SERIAL_ECHOLNPAIR(V...) _SELP_N(NUM_ARGS(V),V) +// Print up to 20 comma-separated pairs of values +#define __SLST_N(N,V...) _SLST_##N(V) +#define _SLST_N(N,V...) __SLST_N(N,V) +#define _SLST_1(a) SERIAL_ECHO(a) +#define _SLST_2(a,b) do{ SERIAL_ECHO(a); SERIAL_ECHOPAIR(", ",b); }while(0) +#define _SLST_3(a,b,c) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_1(c); }while(0) +#define _SLST_4(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_2(V); }while(0) +#define _SLST_5(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_3(V); }while(0) +#define _SLST_6(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_4(V); }while(0) +#define _SLST_7(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_5(V); }while(0) +#define _SLST_8(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_6(V); }while(0) +#define _SLST_9(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_7(V); }while(0) +#define _SLST_10(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_8(V); }while(0) +#define _SLST_11(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_9(V); }while(0) +#define _SLST_12(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_10(V); }while(0) +#define _SLST_13(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_11(V); }while(0) +#define _SLST_14(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_12(V); }while(0) +#define _SLST_15(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_13(V); }while(0) +#define _SLST_16(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_14(V); }while(0) +#define _SLST_17(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_15(V); }while(0) +#define _SLST_18(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_16(V); }while(0) +#define _SLST_19(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_17(V); }while(0) +#define _SLST_20(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_18(V); }while(0) // Use up two, pass the rest up + +#define SERIAL_ECHOLIST(pre,V...) do{ SERIAL_ECHOPGM(pre); _SLST_N(NUM_ARGS(V),V); }while(0) +#define SERIAL_ECHOLIST_N(N,V...) _SLST_N(N,LIST_N(N,V)) + #define SERIAL_ECHOPGM(S) (serialprintPGM(PSTR(S))) #define SERIAL_ECHOLNPGM(S) (serialprintPGM(PSTR(S "\n"))) -#define SERIAL_ECHOPAIR_F(pre, V...) do{ SERIAL_ECHO(pre); SERIAL_ECHO_F(V); }while(0) -#define SERIAL_ECHOLNPAIR_F(V...) do{ SERIAL_ECHOPAIR_F(V); SERIAL_EOL(); }while(0) +#define SERIAL_ECHOPAIR_F(S,V...) do{ SERIAL_ECHOPGM(S); SERIAL_ECHO_F(V); }while(0) +#define SERIAL_ECHOLNPAIR_F(V...) do{ SERIAL_ECHOPAIR_F(V); SERIAL_EOL(); }while(0) #define SERIAL_ECHO_START() serial_echo_start() #define SERIAL_ERROR_START() serial_error_start() @@ -184,7 +213,7 @@ void serial_spaces(uint8_t count); void print_bin(const uint16_t val); -void print_xyz(PGM_P const prefix, PGM_P const suffix, const float x, const float y, const float z); void print_xyz(PGM_P const prefix, PGM_P const suffix, const float xyz[]); +void print_xyz(PGM_P const prefix, PGM_P const suffix, const float &x, const float &y, const float &z); #define SERIAL_POS(SUFFIX,VAR) do { print_xyz(PSTR(" " STRINGIFY(VAR) "="), PSTR(" : " SUFFIX "\n"), VAR); }while(0) #define SERIAL_XYZ(PREFIX,V...) do { print_xyz(PSTR(PREFIX), nullptr, V); }while(0) diff --git a/Marlin/src/core/utility.cpp b/Marlin/src/core/utility.cpp index 3a28a9625f..5ebd84afd1 100644 --- a/Marlin/src/core/utility.cpp +++ b/Marlin/src/core/utility.cpp @@ -79,40 +79,36 @@ void safe_delay(millis_t ms) { ); #if HAS_BED_PROBE - SERIAL_ECHOPAIR( - "Probe Offset X:" STRINGIFY(zprobe_offset[X_AXIS]) - " Y:" STRINGIFY(zprobe_offset[Y_AXIS]) - " Z:", zprobe_offset[Z_AXIS] - ); - if ((zprobe_offset[X_AXIS]) > 0) + SERIAL_ECHOPAIR("Probe Offset X:", probe_offset[X_AXIS], " Y:", probe_offset[Y_AXIS], " Z:", probe_offset[Z_AXIS]); + if (probe_offset[X_AXIS] > 0) SERIAL_ECHOPGM(" (Right"); - else if ((zprobe_offset[X_AXIS]) < 0) + else if (probe_offset[X_AXIS] < 0) SERIAL_ECHOPGM(" (Left"); - else if ((zprobe_offset[Y_AXIS]) != 0) + else if (probe_offset[Y_AXIS] != 0) SERIAL_ECHOPGM(" (Middle"); else SERIAL_ECHOPGM(" (Aligned With"); - if ((zprobe_offset[Y_AXIS]) > 0) { + if (probe_offset[Y_AXIS] > 0) { #if IS_SCARA SERIAL_ECHOPGM("-Distal"); #else SERIAL_ECHOPGM("-Back"); #endif } - else if ((zprobe_offset[Y_AXIS]) < 0) { + else if (probe_offset[Y_AXIS] < 0) { #if IS_SCARA SERIAL_ECHOPGM("-Proximal"); #else SERIAL_ECHOPGM("-Front"); #endif } - else if ((zprobe_offset[X_AXIS]) != 0) + else if (probe_offset[X_AXIS] != 0) SERIAL_ECHOPGM("-Center"); - if (zprobe_offset[Z_AXIS] < 0) + if (probe_offset[Z_AXIS] < 0) SERIAL_ECHOPGM(" & Below"); - else if (zprobe_offset[Z_AXIS] > 0) + else if (probe_offset[Z_AXIS] > 0) SERIAL_ECHOPGM(" & Above"); else SERIAL_ECHOPGM(" & Same Z as"); diff --git a/Marlin/src/core/utility.h b/Marlin/src/core/utility.h index 63597fd413..4ae6a96713 100644 --- a/Marlin/src/core/utility.h +++ b/Marlin/src/core/utility.h @@ -59,7 +59,7 @@ public: inline void restore() { ref_ = val_; } }; -#define REMEMBER(N,X, ...) restorer restorer_##N(X, ##__VA_ARGS__) +#define REMEMBER(N,X,V...) const restorer restorer_##N(X, ##V) #define RESTORE(N) restorer_##N.restore() // Converts from an uint8_t in the range of 0-255 to an uint8_t diff --git a/Marlin/src/feature/I2CPositionEncoder.cpp b/Marlin/src/feature/I2CPositionEncoder.cpp index 6f3952fd97..1f73f1417b 100644 --- a/Marlin/src/feature/I2CPositionEncoder.cpp +++ b/Marlin/src/feature/I2CPositionEncoder.cpp @@ -168,7 +168,7 @@ void I2CPositionEncoder::update() { if (errPrstIdx >= I2CPE_ERR_PRST_ARRAY_SIZE) { float sumP = 0; LOOP_L_N(i, I2CPE_ERR_PRST_ARRAY_SIZE) sumP += errPrst[i]; - const int32_t errorP = int32_t(sumP * (1.0f / (I2CPE_ERR_PRST_ARRAY_SIZE))); + const int32_t errorP = int32_t(sumP * RECIPROCAL(I2CPE_ERR_PRST_ARRAY_SIZE)); SERIAL_ECHO(axis_codes[encoderAxis]); SERIAL_ECHOLNPAIR(" - err detected: ", errorP * planner.steps_to_mm[encoderAxis], "mm; correcting!"); babystep.add_steps(encoderAxis, -LROUND(errorP)); @@ -329,23 +329,22 @@ bool I2CPositionEncoder::test_axis() { float startCoord[NUM_AXIS] = { 0 }, endCoord[NUM_AXIS] = { 0 }; const float startPosition = soft_endstop[encoderAxis].min + 10, - endPosition = soft_endstop[encoderAxis].max - 10, - feedrate = FLOOR(MMM_TO_MMS((encoderAxis == Z_AXIS) ? HOMING_FEEDRATE_Z : HOMING_FEEDRATE_XY)); + endPosition = soft_endstop[encoderAxis].max - 10; + const feedRate_t fr_mm_s = FLOOR(MMM_TO_MMS((encoderAxis == Z_AXIS) ? HOMING_FEEDRATE_Z : HOMING_FEEDRATE_XY)); ec = false; - LOOP_NA(i) { + LOOP_XYZ(i) { startCoord[i] = planner.get_axis_position_mm((AxisEnum)i); endCoord[i] = planner.get_axis_position_mm((AxisEnum)i); } - startCoord[encoderAxis] = startPosition; endCoord[encoderAxis] = endPosition; planner.synchronize(); planner.buffer_line(startCoord[X_AXIS], startCoord[Y_AXIS], startCoord[Z_AXIS], - planner.get_axis_position_mm(E_AXIS), feedrate, 0); + planner.get_axis_position_mm(E_AXIS), fr_mm_s, 0); planner.synchronize(); // if the module isn't currently trusted, wait until it is (or until it should be if things are working) @@ -357,7 +356,7 @@ bool I2CPositionEncoder::test_axis() { if (trusted) { // if trusted, commence test planner.buffer_line(endCoord[X_AXIS], endCoord[Y_AXIS], endCoord[Z_AXIS], - planner.get_axis_position_mm(E_AXIS), feedrate, 0); + planner.get_axis_position_mm(E_AXIS), fr_mm_s, 0); planner.synchronize(); } @@ -380,11 +379,9 @@ void I2CPositionEncoder::calibrate_steps_mm(const uint8_t iter) { travelDistance, travelledDistance, total = 0, startCoord[NUM_AXIS] = { 0 }, endCoord[NUM_AXIS] = { 0 }; - float feedrate; - int32_t startCount, stopCount; - feedrate = MMM_TO_MMS((encoderAxis == Z_AXIS) ? HOMING_FEEDRATE_Z : HOMING_FEEDRATE_XY); + const feedRate_t fr_mm_s = MMM_TO_MMS((encoderAxis == Z_AXIS) ? HOMING_FEEDRATE_Z : HOMING_FEEDRATE_XY); bool oldec = ec; ec = false; @@ -393,9 +390,9 @@ void I2CPositionEncoder::calibrate_steps_mm(const uint8_t iter) { endDistance = soft_endstop[encoderAxis].max - 20; travelDistance = endDistance - startDistance; - LOOP_NA(i) { - startCoord[i] = planner.get_axis_position_mm((AxisEnum)i); - endCoord[i] = planner.get_axis_position_mm((AxisEnum)i); + LOOP_XYZ(a) { + startCoord[a] = planner.get_axis_position_mm((AxisEnum)a); + endCoord[a] = planner.get_axis_position_mm((AxisEnum)a); } startCoord[encoderAxis] = startDistance; @@ -405,7 +402,7 @@ void I2CPositionEncoder::calibrate_steps_mm(const uint8_t iter) { LOOP_L_N(i, iter) { planner.buffer_line(startCoord[X_AXIS], startCoord[Y_AXIS], startCoord[Z_AXIS], - planner.get_axis_position_mm(E_AXIS), feedrate, 0); + planner.get_axis_position_mm(E_AXIS), fr_mm_s, 0); planner.synchronize(); delay(250); @@ -414,7 +411,7 @@ void I2CPositionEncoder::calibrate_steps_mm(const uint8_t iter) { //do_blocking_move_to(endCoord[X_AXIS],endCoord[Y_AXIS],endCoord[Z_AXIS]); planner.buffer_line(endCoord[X_AXIS], endCoord[Y_AXIS], endCoord[Z_AXIS], - planner.get_axis_position_mm(E_AXIS), feedrate, 0); + planner.get_axis_position_mm(E_AXIS), fr_mm_s, 0); planner.synchronize(); //Read encoder distance @@ -440,7 +437,7 @@ void I2CPositionEncoder::calibrate_steps_mm(const uint8_t iter) { total += new_steps_mm; // swap start and end points so next loop runs from current position - float tempCoord = startCoord[encoderAxis]; + const float tempCoord = startCoord[encoderAxis]; startCoord[encoderAxis] = endCoord[encoderAxis]; endCoord[encoderAxis] = tempCoord; } diff --git a/Marlin/src/feature/I2CPositionEncoder.h b/Marlin/src/feature/I2CPositionEncoder.h index 072aa5e57e..ad3e30a513 100644 --- a/Marlin/src/feature/I2CPositionEncoder.h +++ b/Marlin/src/feature/I2CPositionEncoder.h @@ -168,15 +168,15 @@ class I2CPositionEncoder { bool passes_test(const bool report); - bool test_axis(void); + bool test_axis(); - FORCE_INLINE int get_error_count(void) { return errorCount; } + FORCE_INLINE int get_error_count() { return errorCount; } FORCE_INLINE void set_error_count(const int newCount) { errorCount = newCount; } FORCE_INLINE uint8_t get_address() { return i2cAddress; } FORCE_INLINE void set_address(const uint8_t addr) { i2cAddress = addr; } - FORCE_INLINE bool get_active(void) { return active; } + FORCE_INLINE bool get_active() { return active; } FORCE_INLINE void set_active(const bool a) { active = a; } FORCE_INLINE void set_inverted(const bool i) { invert = i; } @@ -219,10 +219,10 @@ class I2CPositionEncodersMgr { public: - static void init(void); + static void init(); // consider only updating one endoder per call / tick if encoders become too time intensive - static void update(void) { LOOP_PE(i) encoders[i].update(); } + static void update() { LOOP_PE(i) encoders[i].update(); } static void homed(const AxisEnum axis) { LOOP_PE(i) diff --git a/Marlin/src/feature/babystep.cpp b/Marlin/src/feature/babystep.cpp index 41d7e80075..1fc2499110 100644 --- a/Marlin/src/feature/babystep.cpp +++ b/Marlin/src/feature/babystep.cpp @@ -35,20 +35,17 @@ Babystep babystep; -volatile int16_t Babystep::todo[BS_TODO_AXIS(Z_AXIS) + 1]; - -#if HAS_LCD_MENU || ENABLED(EXTENSIBLE_UI) - int16_t Babystep::accum; - #if ENABLED(BABYSTEP_DISPLAY_TOTAL) - int16_t Babystep::axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1]; - #endif +volatile int16_t Babystep::steps[BS_TODO_AXIS(Z_AXIS) + 1]; +#if ENABLED(BABYSTEP_DISPLAY_TOTAL) + int16_t Babystep::axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1]; #endif +int16_t Babystep::accum; void Babystep::step_axis(const AxisEnum axis) { - const int16_t curTodo = todo[BS_TODO_AXIS(axis)]; // get rid of volatile for performance + const int16_t curTodo = steps[BS_TODO_AXIS(axis)]; // get rid of volatile for performance if (curTodo) { stepper.babystep((AxisEnum)axis, curTodo > 0); - if (curTodo > 0) todo[BS_TODO_AXIS(axis)]--; else todo[BS_TODO_AXIS(axis)]++; + if (curTodo > 0) steps[BS_TODO_AXIS(axis)]--; else steps[BS_TODO_AXIS(axis)]++; } } @@ -75,11 +72,9 @@ void Babystep::add_steps(const AxisEnum axis, const int16_t distance) { if (!CAN_BABYSTEP(axis)) return; - #if HAS_LCD_MENU || ENABLED(EXTENSIBLE_UI) - accum += distance; // Count up babysteps for the UI - #if ENABLED(BABYSTEP_DISPLAY_TOTAL) - axis_total[BS_TOTAL_AXIS(axis)] += distance; - #endif + accum += distance; // Count up babysteps for the UI + #if ENABLED(BABYSTEP_DISPLAY_TOTAL) + axis_total[BS_TOTAL_AXIS(axis)] += distance; #endif #if ENABLED(BABYSTEP_ALWAYS_AVAILABLE) @@ -94,30 +89,30 @@ void Babystep::add_steps(const AxisEnum axis, const int16_t distance) { case CORE_AXIS_1: // X on CoreXY and CoreXZ, Y on CoreYZ BSA_ENABLE(CORE_AXIS_1); BSA_ENABLE(CORE_AXIS_2); - todo[CORE_AXIS_1] += distance * 2; - todo[CORE_AXIS_2] += distance * 2; + steps[CORE_AXIS_1] += distance * 2; + steps[CORE_AXIS_2] += distance * 2; break; case CORE_AXIS_2: // Y on CoreXY, Z on CoreXZ and CoreYZ BSA_ENABLE(CORE_AXIS_1); BSA_ENABLE(CORE_AXIS_2); - todo[CORE_AXIS_1] += CORESIGN(distance * 2); - todo[CORE_AXIS_2] -= CORESIGN(distance * 2); + steps[CORE_AXIS_1] += CORESIGN(distance * 2); + steps[CORE_AXIS_2] -= CORESIGN(distance * 2); break; case NORMAL_AXIS: // Z on CoreXY, Y on CoreXZ, X on CoreYZ default: BSA_ENABLE(NORMAL_AXIS); - todo[NORMAL_AXIS] += distance; + steps[NORMAL_AXIS] += distance; break; } #elif CORE_IS_XZ || CORE_IS_YZ // Only Z stepping needs to be handled here BSA_ENABLE(CORE_AXIS_1); BSA_ENABLE(CORE_AXIS_2); - todo[CORE_AXIS_1] += CORESIGN(distance * 2); - todo[CORE_AXIS_2] -= CORESIGN(distance * 2); + steps[CORE_AXIS_1] += CORESIGN(distance * 2); + steps[CORE_AXIS_2] -= CORESIGN(distance * 2); #else BSA_ENABLE(Z_AXIS); - todo[Z_AXIS] += distance; + steps[Z_AXIS] += distance; #endif #else #if ENABLED(BABYSTEP_XY) @@ -125,7 +120,7 @@ void Babystep::add_steps(const AxisEnum axis, const int16_t distance) { #else BSA_ENABLE(Z_AXIS); #endif - todo[BS_TODO_AXIS(axis)] += distance; + steps[BS_TODO_AXIS(axis)] += distance; #endif #if ENABLED(BABYSTEP_ALWAYS_AVAILABLE) gcode.reset_stepper_timeout(); diff --git a/Marlin/src/feature/babystep.h b/Marlin/src/feature/babystep.h index ff3709e5ff..fbf04a03f9 100644 --- a/Marlin/src/feature/babystep.h +++ b/Marlin/src/feature/babystep.h @@ -22,7 +22,6 @@ #pragma once #include "../inc/MarlinConfigPre.h" -#include "../core/enum.h" #if IS_CORE || EITHER(BABYSTEP_XY, I2C_POSITION_ENCODERS) #define BS_TODO_AXIS(A) A @@ -30,7 +29,7 @@ #define BS_TODO_AXIS(A) 0 #endif -#if (HAS_LCD_MENU || ENABLED(EXTENSIBLE_UI)) && ENABLED(BABYSTEP_DISPLAY_TOTAL) +#if ENABLED(BABYSTEP_DISPLAY_TOTAL) #if ENABLED(BABYSTEP_XY) #define BS_TOTAL_AXIS(A) A #else @@ -40,19 +39,20 @@ class Babystep { public: - static volatile int16_t todo[BS_TODO_AXIS(Z_AXIS) + 1]; - #if HAS_LCD_MENU || ENABLED(EXTENSIBLE_UI) - static int16_t accum; // Total babysteps in current edit - #if ENABLED(BABYSTEP_DISPLAY_TOTAL) - static int16_t axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1]; // Total babysteps since G28 - static inline void reset_total(const AxisEnum axis) { + static volatile int16_t steps[BS_TODO_AXIS(Z_AXIS) + 1]; + static int16_t accum; // Total babysteps in current edit + + #if ENABLED(BABYSTEP_DISPLAY_TOTAL) + static int16_t axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1]; // Total babysteps since G28 + static inline void reset_total(const AxisEnum axis) { + if (true #if ENABLED(BABYSTEP_XY) - if (axis == Z_AXIS) + && axis == Z_AXIS #endif - axis_total[BS_TOTAL_AXIS(axis)] = 0; - } - #endif + ) axis_total[BS_TOTAL_AXIS(axis)] = 0; + } #endif + static void add_steps(const AxisEnum axis, const int16_t distance); static void add_mm(const AxisEnum axis, const float &mm); static void task(); diff --git a/Marlin/src/feature/backlash.h b/Marlin/src/feature/backlash.h index e86955b95b..19d6534917 100644 --- a/Marlin/src/feature/backlash.h +++ b/Marlin/src/feature/backlash.h @@ -28,28 +28,21 @@ constexpr uint8_t all_on = 0xFF, all_off = 0x00; class Backlash { public: - #ifdef BACKLASH_DISTANCE_MM - #if ENABLED(BACKLASH_GCODE) - static float distance_mm[XYZ]; - #else - static const float distance_mm[XYZ]; - //static constexpr float distance_mm[XYZ] = BACKLASH_DISTANCE_MM; // compiler barks at this - #endif - #endif #if ENABLED(BACKLASH_GCODE) + static float distance_mm[XYZ]; static uint8_t correction; #ifdef BACKLASH_SMOOTHING_MM static float smoothing_mm; #endif + static inline void set_correction(const float &v) { correction = _MAX(0, _MIN(1.0, v)) * all_on; } static inline float get_correction() { return float(ui8_to_percent(correction)) / 100.0f; } #else static constexpr uint8_t correction = (BACKLASH_CORRECTION) * 0xFF; + static const float distance_mm[XYZ]; #ifdef BACKLASH_SMOOTHING_MM static constexpr float smoothing_mm = BACKLASH_SMOOTHING_MM; #endif - static inline void set_correction(float) { } - static inline float get_correction() { return float(ui8_to_percent(correction)) / 100.0f; } #endif #if ENABLED(MEASURE_BACKLASH_WHEN_PROBING) @@ -60,27 +53,27 @@ public: static void measure_with_probe(); #endif - static inline float get_measurement(const uint8_t e) { + static inline float get_measurement(const AxisEnum a) { // Return the measurement averaged over all readings return ( #if ENABLED(MEASURE_BACKLASH_WHEN_PROBING) - measured_count[e] > 0 ? measured_mm[e] / measured_count[e] : + measured_count[a] > 0 ? measured_mm[a] / measured_count[a] : #endif 0 ); #if DISABLED(MEASURE_BACKLASH_WHEN_PROBING) - UNUSED(e); + UNUSED(a); #endif } - static inline bool has_measurement(const uint8_t e) { + static inline bool has_measurement(const AxisEnum a) { return (false #if ENABLED(MEASURE_BACKLASH_WHEN_PROBING) - || (measured_count[e] > 0) + || (measured_count[a] > 0) #endif ); #if DISABLED(MEASURE_BACKLASH_WHEN_PROBING) - UNUSED(e); + UNUSED(a); #endif } diff --git a/Marlin/src/feature/bedlevel/abl/abl.cpp b/Marlin/src/feature/bedlevel/abl/abl.cpp index c70cf62203..d1857af112 100644 --- a/Marlin/src/feature/bedlevel/abl/abl.cpp +++ b/Marlin/src/feature/bedlevel/abl/abl.cpp @@ -24,7 +24,6 @@ #if ENABLED(AUTO_BED_LEVELING_BILINEAR) -#include "abl.h" #include "../bedlevel.h" #include "../../../module/motion.h" @@ -282,11 +281,9 @@ float bilinear_z_offset(const float raw[XYZ]) { ry = raw[Y_AXIS] - bilinear_start[Y_AXIS]; #if ENABLED(EXTRAPOLATE_BEYOND_GRID) - // Keep using the last grid box - #define FAR_EDGE_OR_BOX 2 + #define FAR_EDGE_OR_BOX 2 // Keep using the last grid box #else - // Just use the grid far edge - #define FAR_EDGE_OR_BOX 1 + #define FAR_EDGE_OR_BOX 1 // Just use the grid far edge #endif if (last_x != rx) { @@ -363,7 +360,7 @@ float bilinear_z_offset(const float raw[XYZ]) { * Prepare a bilinear-leveled linear move on Cartesian, * splitting the move where it crosses grid borders. */ - void bilinear_line_to_destination(const float fr_mm_s, uint16_t x_splits, uint16_t y_splits) { + void bilinear_line_to_destination(const feedRate_t scaled_fr_mm_s, uint16_t x_splits, uint16_t y_splits) { // Get current and destination cells for this line int cx1 = CELL_INDEX(X, current_position[X_AXIS]), cy1 = CELL_INDEX(Y, current_position[Y_AXIS]), @@ -376,8 +373,8 @@ float bilinear_z_offset(const float raw[XYZ]) { // Start and end in the same cell? No split needed. if (cx1 == cx2 && cy1 == cy2) { - buffer_line_to_destination(fr_mm_s); set_current_from_destination(); + line_to_current_position(scaled_fr_mm_s); return; } @@ -408,8 +405,8 @@ float bilinear_z_offset(const float raw[XYZ]) { else { // Must already have been split on these border(s) // This should be a rare case. - buffer_line_to_destination(fr_mm_s); set_current_from_destination(); + line_to_current_position(scaled_fr_mm_s); return; } @@ -417,11 +414,11 @@ float bilinear_z_offset(const float raw[XYZ]) { destination[E_AXIS] = LINE_SEGMENT_END(E); // Do the split and look for more borders - bilinear_line_to_destination(fr_mm_s, x_splits, y_splits); + bilinear_line_to_destination(scaled_fr_mm_s, x_splits, y_splits); // Restore destination from stack COPY(destination, end); - bilinear_line_to_destination(fr_mm_s, x_splits, y_splits); + bilinear_line_to_destination(scaled_fr_mm_s, x_splits, y_splits); } #endif // IS_CARTESIAN && !SEGMENT_LEVELED_MOVES diff --git a/Marlin/src/feature/bedlevel/abl/abl.h b/Marlin/src/feature/bedlevel/abl/abl.h index 2ba834480f..71c7d83632 100644 --- a/Marlin/src/feature/bedlevel/abl/abl.h +++ b/Marlin/src/feature/bedlevel/abl/abl.h @@ -37,7 +37,7 @@ void refresh_bed_level(); #endif #if IS_CARTESIAN && DISABLED(SEGMENT_LEVELED_MOVES) - void bilinear_line_to_destination(const float fr_mm_s, uint16_t x_splits=0xFFFF, uint16_t y_splits=0xFFFF); + void bilinear_line_to_destination(const feedRate_t &scaled_fr_mm_s, uint16_t x_splits=0xFFFF, uint16_t y_splits=0xFFFF); #endif #define _GET_MESH_X(I) (bilinear_start[X_AXIS] + (I) * bilinear_grid_spacing[X_AXIS]) diff --git a/Marlin/src/feature/bedlevel/bedlevel.cpp b/Marlin/src/feature/bedlevel/bedlevel.cpp index e6bc47a62b..f4a17b0035 100644 --- a/Marlin/src/feature/bedlevel/bedlevel.cpp +++ b/Marlin/src/feature/bedlevel/bedlevel.cpp @@ -130,23 +130,25 @@ TemporaryBedLevelingState::TemporaryBedLevelingState(const bool enable) : saved( */ void reset_bed_level() { if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("reset_bed_level"); - set_bed_leveling_enabled(false); - #if ENABLED(MESH_BED_LEVELING) - mbl.reset(); - #elif ENABLED(AUTO_BED_LEVELING_UBL) + #if ENABLED(AUTO_BED_LEVELING_UBL) ubl.reset(); - #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) - bilinear_start[X_AXIS] = bilinear_start[Y_AXIS] = - bilinear_grid_spacing[X_AXIS] = bilinear_grid_spacing[Y_AXIS] = 0; - for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) - for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) { - z_values[x][y] = NAN; - #if ENABLED(EXTENSIBLE_UI) - ExtUI::onMeshUpdate(x, y, 0); - #endif - } - #elif ABL_PLANAR - planner.bed_level_matrix.set_to_identity(); + #else + set_bed_leveling_enabled(false); + #if ENABLED(MESH_BED_LEVELING) + mbl.reset(); + #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) + bilinear_start[X_AXIS] = bilinear_start[Y_AXIS] = + bilinear_grid_spacing[X_AXIS] = bilinear_grid_spacing[Y_AXIS] = 0; + for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) + for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) { + z_values[x][y] = NAN; + #if ENABLED(EXTENSIBLE_UI) + ExtUI::onMeshUpdate(x, y, 0); + #endif + } + #elif ABL_PLANAR + planner.bed_level_matrix.set_to_identity(); + #endif #endif } diff --git a/Marlin/src/feature/bedlevel/bedlevel.h b/Marlin/src/feature/bedlevel/bedlevel.h index e5f0db47f7..d01751407a 100644 --- a/Marlin/src/feature/bedlevel/bedlevel.h +++ b/Marlin/src/feature/bedlevel/bedlevel.h @@ -23,11 +23,6 @@ #include "../../inc/MarlinConfigPre.h" -typedef struct { - int8_t x_index, y_index; - float distance; // When populated, the distance from the search location -} mesh_index_pair; - #if ENABLED(PROBE_MANUALLY) extern bool g29_in_progress; #else @@ -56,11 +51,16 @@ class TemporaryBedLevelingState { TemporaryBedLevelingState(const bool enable); ~TemporaryBedLevelingState() { set_bed_leveling_enabled(saved); } }; -#define TEMPORARY_BED_LEVELING_STATE(enable) TemporaryBedLevelingState tbls(enable) +#define TEMPORARY_BED_LEVELING_STATE(enable) const TemporaryBedLevelingState tbls(enable) #if HAS_MESH - typedef float (&bed_mesh_t)[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y]; + typedef float bed_mesh_t[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y]; + + typedef struct { + int8_t x_index, y_index; + float distance; // When populated, the distance from the search location + } mesh_index_pair; #if ENABLED(AUTO_BED_LEVELING_BILINEAR) #include "abl/abl.h" diff --git a/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp b/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp index 6a9deaed9b..b3a1a13529 100644 --- a/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp +++ b/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp @@ -64,7 +64,7 @@ * Prepare a mesh-leveled linear move in a Cartesian setup, * splitting the move where it crosses mesh borders. */ - void mesh_bed_leveling::line_to_destination(const float fr_mm_s, uint8_t x_splits, uint8_t y_splits) { + void mesh_bed_leveling::line_to_destination(const feedRate_t &scaled_fr_mm_s, uint8_t x_splits, uint8_t y_splits) { // Get current and destination cells for this line int cx1 = cell_index_x(current_position[X_AXIS]), cy1 = cell_index_y(current_position[Y_AXIS]), @@ -77,7 +77,7 @@ // Start and end in the same cell? No split needed. if (cx1 == cx2 && cy1 == cy2) { - line_to_destination(fr_mm_s); + line_to_destination(scaled_fr_mm_s); set_current_from_destination(); return; } @@ -109,7 +109,7 @@ else { // Must already have been split on these border(s) // This should be a rare case. - line_to_destination(fr_mm_s); + line_to_destination(scaled_fr_mm_s); set_current_from_destination(); return; } @@ -118,11 +118,11 @@ destination[E_AXIS] = MBL_SEGMENT_END(E); // Do the split and look for more borders - line_to_destination(fr_mm_s, x_splits, y_splits); + line_to_destination(scaled_fr_mm_s, x_splits, y_splits); // Restore destination from stack COPY(destination, end); - line_to_destination(fr_mm_s, x_splits, y_splits); + line_to_destination(scaled_fr_mm_s, x_splits, y_splits); } #endif // IS_CARTESIAN && !SEGMENT_LEVELED_MOVES diff --git a/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.h b/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.h index e39bd0e789..def380399e 100644 --- a/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.h +++ b/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.h @@ -32,8 +32,8 @@ enum MeshLevelingState : char { MeshReset // G29 S5 }; -#define MESH_X_DIST ((MESH_MAX_X - (MESH_MIN_X)) / (GRID_MAX_POINTS_X - 1)) -#define MESH_Y_DIST ((MESH_MAX_Y - (MESH_MIN_Y)) / (GRID_MAX_POINTS_Y - 1)) +#define MESH_X_DIST (float(MESH_MAX_X - (MESH_MIN_X)) / float(GRID_MAX_POINTS_X - 1)) +#define MESH_Y_DIST (float(MESH_MAX_Y - (MESH_MIN_Y)) / float(GRID_MAX_POINTS_Y - 1)) #define _GET_MESH_X(I) mbl.index_to_xpos[I] #define _GET_MESH_Y(J) mbl.index_to_ypos[J] #define Z_VALUES_ARR mbl.z_values @@ -73,22 +73,22 @@ public: } static int8_t cell_index_x(const float &x) { - int8_t cx = (x - (MESH_MIN_X)) * (1.0f / (MESH_X_DIST)); + int8_t cx = (x - (MESH_MIN_X)) * RECIPROCAL(MESH_X_DIST); return constrain(cx, 0, (GRID_MAX_POINTS_X) - 2); } static int8_t cell_index_y(const float &y) { - int8_t cy = (y - (MESH_MIN_Y)) * (1.0f / (MESH_Y_DIST)); + int8_t cy = (y - (MESH_MIN_Y)) * RECIPROCAL(MESH_Y_DIST); return constrain(cy, 0, (GRID_MAX_POINTS_Y) - 2); } static int8_t probe_index_x(const float &x) { - int8_t px = (x - (MESH_MIN_X) + 0.5f * (MESH_X_DIST)) * (1.0f / (MESH_X_DIST)); + int8_t px = (x - (MESH_MIN_X) + 0.5f * (MESH_X_DIST)) * RECIPROCAL(MESH_X_DIST); return WITHIN(px, 0, GRID_MAX_POINTS_X - 1) ? px : -1; } static int8_t probe_index_y(const float &y) { - int8_t py = (y - (MESH_MIN_Y) + 0.5f * (MESH_Y_DIST)) * (1.0f / (MESH_Y_DIST)); + int8_t py = (y - (MESH_MIN_Y) + 0.5f * (MESH_Y_DIST)) * RECIPROCAL(MESH_Y_DIST); return WITHIN(py, 0, GRID_MAX_POINTS_Y - 1) ? py : -1; } @@ -116,7 +116,7 @@ public: } #if IS_CARTESIAN && DISABLED(SEGMENT_LEVELED_MOVES) - static void line_to_destination(const float fr_mm_s, uint8_t x_splits=0xFF, uint8_t y_splits=0xFF); + static void line_to_destination(const feedRate_t &scaled_fr_mm_s, uint8_t x_splits=0xFF, uint8_t y_splits=0xFF); #endif }; diff --git a/Marlin/src/feature/bedlevel/ubl/ubl.cpp b/Marlin/src/feature/bedlevel/ubl/ubl.cpp index 445d6ab908..4cdc4721b5 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl.cpp @@ -24,13 +24,14 @@ #if ENABLED(AUTO_BED_LEVELING_UBL) - #include "ubl.h" + #include "../bedlevel.h" + unified_bed_leveling ubl; #include "../../../module/configuration_store.h" #include "../../../module/planner.h" #include "../../../module/motion.h" - #include "../../bedlevel/bedlevel.h" + #include "../../../module/probe.h" #if ENABLED(EXTENSIBLE_UI) #include "../../../lcd/extensible_ui/ui_api.h" @@ -49,9 +50,8 @@ for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) if (!isnan(z_values[x][y])) { SERIAL_ECHO_START(); - SERIAL_ECHOPAIR(" M421 I", x, " J", y); - SERIAL_ECHOPAIR_F(" Z", z_values[x][y], 4); - SERIAL_EOL(); + SERIAL_ECHOPAIR(" M421 I", int(x), " J", int(y)); + SERIAL_ECHOLNPAIR_F(" Z", z_values[x][y], 4); serial_delay(75); // Prevent Printrun from exploding } } @@ -66,10 +66,21 @@ float unified_bed_leveling::z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y]; - // 15 is the maximum nubmer of grid points supported + 1 safety margin for now, - // until determinism prevails - constexpr float unified_bed_leveling::_mesh_index_to_xpos[16], - unified_bed_leveling::_mesh_index_to_ypos[16]; + #define _GRIDPOS(A,N) (MESH_MIN_##A + N * (MESH_##A##_DIST)) + + const float + unified_bed_leveling::_mesh_index_to_xpos[GRID_MAX_POINTS_X] PROGMEM = ARRAY_N(GRID_MAX_POINTS_X, + _GRIDPOS(X, 0), _GRIDPOS(X, 1), _GRIDPOS(X, 2), _GRIDPOS(X, 3), + _GRIDPOS(X, 4), _GRIDPOS(X, 5), _GRIDPOS(X, 6), _GRIDPOS(X, 7), + _GRIDPOS(X, 8), _GRIDPOS(X, 9), _GRIDPOS(X, 10), _GRIDPOS(X, 11), + _GRIDPOS(X, 12), _GRIDPOS(X, 13), _GRIDPOS(X, 14), _GRIDPOS(X, 15) + ), + unified_bed_leveling::_mesh_index_to_ypos[GRID_MAX_POINTS_Y] PROGMEM = ARRAY_N(GRID_MAX_POINTS_Y, + _GRIDPOS(Y, 0), _GRIDPOS(Y, 1), _GRIDPOS(Y, 2), _GRIDPOS(Y, 3), + _GRIDPOS(Y, 4), _GRIDPOS(Y, 5), _GRIDPOS(Y, 6), _GRIDPOS(Y, 7), + _GRIDPOS(Y, 8), _GRIDPOS(Y, 9), _GRIDPOS(Y, 10), _GRIDPOS(Y, 11), + _GRIDPOS(Y, 12), _GRIDPOS(Y, 13), _GRIDPOS(Y, 14), _GRIDPOS(Y, 15) + ); #if HAS_LCD_MENU bool unified_bed_leveling::lcd_map_control = false; @@ -85,9 +96,6 @@ const bool was_enabled = planner.leveling_active; set_bed_leveling_enabled(false); storage_slot = -1; - #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - planner.set_z_fade_height(10.0); - #endif ZERO(z_values); #if ENABLED(EXTENSIBLE_UI) for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) @@ -165,11 +173,11 @@ serialprintPGM(csv ? PSTR("CSV:\n") : PSTR("LCD:\n")); } - // Add XY_PROBE_OFFSET_FROM_EXTRUDER because probe_pt() subtracts these when - // moving to the xy position to be measured. This ensures better agreement between + // Add XY probe offset from extruder because probe_at_point() subtracts them when + // moving to the XY position to be measured. This ensures better agreement between // the current Z position after G28 and the mesh values. - const float current_xi = find_closest_x_index(current_position[X_AXIS] + zprobe_offset[X_AXIS]), - current_yi = find_closest_y_index(current_position[Y_AXIS] + zprobe_offset[Y_AXIS]); + const float current_xi = find_closest_x_index(current_position[X_AXIS] + probe_offset[X_AXIS]), + current_yi = find_closest_y_index(current_position[Y_AXIS] + probe_offset[Y_AXIS]); if (!lcd) SERIAL_EOL(); for (int8_t j = GRID_MAX_POINTS_Y - 1; j >= 0; j--) { diff --git a/Marlin/src/feature/bedlevel/ubl/ubl.h b/Marlin/src/feature/bedlevel/ubl/ubl.h index 20ff9b0779..6897217c38 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl.h +++ b/Marlin/src/feature/bedlevel/ubl/ubl.h @@ -23,11 +23,7 @@ //#define UBL_DEVEL_DEBUGGING -#include "../bedlevel.h" -#include "../../../module/planner.h" #include "../../../module/motion.h" -#include "../../../lcd/ultralcd.h" -#include "../../../Marlin.h" #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE) #include "../../../core/debug_out.h" @@ -108,31 +104,9 @@ class unified_bed_leveling { static int8_t storage_slot; - static float z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y]; - - // 15 is the maximum nubmer of grid points supported + 1 safety margin for now, - // until determinism prevails - static constexpr float _mesh_index_to_xpos[16] PROGMEM = { - MESH_MIN_X + 0 * (MESH_X_DIST), MESH_MIN_X + 1 * (MESH_X_DIST), - MESH_MIN_X + 2 * (MESH_X_DIST), MESH_MIN_X + 3 * (MESH_X_DIST), - MESH_MIN_X + 4 * (MESH_X_DIST), MESH_MIN_X + 5 * (MESH_X_DIST), - MESH_MIN_X + 6 * (MESH_X_DIST), MESH_MIN_X + 7 * (MESH_X_DIST), - MESH_MIN_X + 8 * (MESH_X_DIST), MESH_MIN_X + 9 * (MESH_X_DIST), - MESH_MIN_X + 10 * (MESH_X_DIST), MESH_MIN_X + 11 * (MESH_X_DIST), - MESH_MIN_X + 12 * (MESH_X_DIST), MESH_MIN_X + 13 * (MESH_X_DIST), - MESH_MIN_X + 14 * (MESH_X_DIST), MESH_MIN_X + 15 * (MESH_X_DIST) - }; - - static constexpr float _mesh_index_to_ypos[16] PROGMEM = { - MESH_MIN_Y + 0 * (MESH_Y_DIST), MESH_MIN_Y + 1 * (MESH_Y_DIST), - MESH_MIN_Y + 2 * (MESH_Y_DIST), MESH_MIN_Y + 3 * (MESH_Y_DIST), - MESH_MIN_Y + 4 * (MESH_Y_DIST), MESH_MIN_Y + 5 * (MESH_Y_DIST), - MESH_MIN_Y + 6 * (MESH_Y_DIST), MESH_MIN_Y + 7 * (MESH_Y_DIST), - MESH_MIN_Y + 8 * (MESH_Y_DIST), MESH_MIN_Y + 9 * (MESH_Y_DIST), - MESH_MIN_Y + 10 * (MESH_Y_DIST), MESH_MIN_Y + 11 * (MESH_Y_DIST), - MESH_MIN_Y + 12 * (MESH_Y_DIST), MESH_MIN_Y + 13 * (MESH_Y_DIST), - MESH_MIN_Y + 14 * (MESH_Y_DIST), MESH_MIN_Y + 15 * (MESH_Y_DIST) - }; + static bed_mesh_t z_values; + static const float _mesh_index_to_xpos[GRID_MAX_POINTS_X], + _mesh_index_to_ypos[GRID_MAX_POINTS_Y]; #if HAS_LCD_MENU static bool lcd_map_control; @@ -145,14 +119,14 @@ class unified_bed_leveling { FORCE_INLINE static void set_z(const int8_t px, const int8_t py, const float &z) { z_values[px][py] = z; } static int8_t get_cell_index_x(const float &x) { - const int8_t cx = (x - (MESH_MIN_X)) * (1.0f / (MESH_X_DIST)); + const int8_t cx = (x - (MESH_MIN_X)) * RECIPROCAL(MESH_X_DIST); return constrain(cx, 0, (GRID_MAX_POINTS_X) - 1); // -1 is appropriate if we want all movement to the X_MAX } // position. But with this defined this way, it is possible // to extrapolate off of this point even further out. Probably // that is OK because something else should be keeping that from // happening and should not be worried about at this level. static int8_t get_cell_index_y(const float &y) { - const int8_t cy = (y - (MESH_MIN_Y)) * (1.0f / (MESH_Y_DIST)); + const int8_t cy = (y - (MESH_MIN_Y)) * RECIPROCAL(MESH_Y_DIST); return constrain(cy, 0, (GRID_MAX_POINTS_Y) - 1); // -1 is appropriate if we want all movement to the Y_MAX } // position. But with this defined this way, it is possible // to extrapolate off of this point even further out. Probably @@ -160,12 +134,12 @@ class unified_bed_leveling { // happening and should not be worried about at this level. static int8_t find_closest_x_index(const float &x) { - const int8_t px = (x - (MESH_MIN_X) + (MESH_X_DIST) * 0.5) * (1.0f / (MESH_X_DIST)); + const int8_t px = (x - (MESH_MIN_X) + (MESH_X_DIST) * 0.5) * RECIPROCAL(MESH_X_DIST); return WITHIN(px, 0, GRID_MAX_POINTS_X - 1) ? px : -1; } static int8_t find_closest_y_index(const float &y) { - const int8_t py = (y - (MESH_MIN_Y) + (MESH_Y_DIST) * 0.5) * (1.0f / (MESH_Y_DIST)); + const int8_t py = (y - (MESH_MIN_Y) + (MESH_Y_DIST) * 0.5) * RECIPROCAL(MESH_Y_DIST); return WITHIN(py, 0, GRID_MAX_POINTS_Y - 1) ? py : -1; } @@ -210,7 +184,7 @@ class unified_bed_leveling { ); } - const float xratio = (rx0 - mesh_index_to_xpos(x1_i)) * (1.0f / (MESH_X_DIST)), + const float xratio = (rx0 - mesh_index_to_xpos(x1_i)) * RECIPROCAL(MESH_X_DIST), z1 = z_values[x1_i][yi]; return z1 + xratio * (z_values[_MIN(x1_i, GRID_MAX_POINTS_X - 2) + 1][yi] - z1); // Don't allow x1_i+1 to be past the end of the array @@ -239,7 +213,7 @@ class unified_bed_leveling { ); } - const float yratio = (ry0 - mesh_index_to_ypos(y1_i)) * (1.0f / (MESH_Y_DIST)), + const float yratio = (ry0 - mesh_index_to_ypos(y1_i)) * RECIPROCAL(MESH_Y_DIST), z1 = z_values[xi][y1_i]; return z1 + yratio * (z_values[xi][_MIN(y1_i, GRID_MAX_POINTS_Y - 2) + 1] - z1); // Don't allow y1_i+1 to be past the end of the array @@ -311,9 +285,9 @@ class unified_bed_leveling { } #if UBL_SEGMENTED - static bool prepare_segmented_line_to(const float (&rtarget)[XYZE], const float &feedrate); + static bool line_to_destination_segmented(const feedRate_t &scaled_fr_mm_s); #else - static void line_to_destination_cartesian(const float &fr, const uint8_t e); + static void line_to_destination_cartesian(const feedRate_t &scaled_fr_mm_s, const uint8_t e); #endif static inline bool mesh_is_valid() { diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index d5d7c4ebb1..54c7666bac 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -24,7 +24,7 @@ #if ENABLED(AUTO_BED_LEVELING_UBL) - #include "ubl.h" + #include "../bedlevel.h" #include "../../../Marlin.h" #include "../../../HAL/shared/persistent_store_api.h" @@ -33,11 +33,9 @@ #include "../../../lcd/ultralcd.h" #include "../../../module/stepper.h" #include "../../../module/planner.h" + #include "../../../module/motion.h" #include "../../../module/probe.h" #include "../../../gcode/gcode.h" - #include "../../../core/serial.h" - #include "../../../gcode/parser.h" - #include "../../../feature/bedlevel/bedlevel.h" #include "../../../libs/least_squares_fit.h" #if ENABLED(DUAL_X_CARRIAGE) @@ -292,7 +290,7 @@ * especially better for Delta printers, since it populates the center of the mesh first, allowing for * a quicker test print to verify settings. You don't need to populate the entire mesh to use it. * After all, you don't want to spend a lot of time generating a mesh only to realize the resolution - * or zprobe_offset[Z_AXIS] are incorrect. Mesh-generation gathers points starting closest to the nozzle unless + * or probe offsets are incorrect. Mesh-generation gathers points starting closest to the nozzle unless * an (X,Y) coordinate pair is given. * * Unified Bed Leveling uses a lot of EEPROM storage to hold its data, and it takes some effort to get @@ -315,7 +313,7 @@ // Check for commands that require the printer to be homed if (may_move) { planner.synchronize(); - if (axis_unhomed_error()) gcode.home_all_axes(); + if (axes_need_homing()) gcode.home_all_axes(); #if ENABLED(DUAL_X_CARRIAGE) if (active_extruder != 0) tool_change(0); #endif @@ -441,7 +439,7 @@ #if HAS_BED_PROBE - case 1: + case 1: { // // Invalidate Entire Mesh and Automatically Probe Mesh in areas that can be reached by the probe // @@ -455,12 +453,12 @@ SERIAL_ECHO(g29_y_pos); SERIAL_ECHOLNPGM(").\n"); } - probe_entire_mesh(g29_x_pos + zprobe_offset[X_AXIS], g29_y_pos + zprobe_offset[Y_AXIS], + probe_entire_mesh(g29_x_pos + probe_offset[X_AXIS], g29_y_pos + probe_offset[Y_AXIS], parser.seen('T'), parser.seen('E'), parser.seen('U')); report_current_position(); probe_deployed = true; - break; + } break; #endif // HAS_BED_PROBE @@ -484,8 +482,8 @@ g29_x_pos = X_HOME_POS; g29_y_pos = Y_HOME_POS; #else // cartesian - g29_x_pos = zprobe_offset[X_AXIS] > 0 ? X_BED_SIZE : 0; - g29_y_pos = zprobe_offset[Y_AXIS] < 0 ? Y_BED_SIZE : 0; + g29_x_pos = probe_offset[X_AXIS] > 0 ? X_BED_SIZE : 0; + g29_y_pos = probe_offset[Y_AXIS] < 0 ? Y_BED_SIZE : 0; #endif } @@ -757,10 +755,10 @@ do { if (do_ubl_mesh_map) display_map(g29_map_type); - const int current = (GRID_MAX_POINTS) - count + 1; - SERIAL_ECHOLNPAIR("\nProbing mesh point ", current, "/", int(GRID_MAX_POINTS), ".\n"); + const int point_num = (GRID_MAX_POINTS) - count + 1; + SERIAL_ECHOLNPAIR("\nProbing mesh point ", point_num, "/", int(GRID_MAX_POINTS), ".\n"); #if HAS_DISPLAY - ui.status_printf_P(0, PSTR(MSG_PROBING_MESH " %i/%i"), current, int(GRID_MAX_POINTS)); + ui.status_printf_P(0, PSTR(MSG_PROBING_MESH " %i/%i"), point_num, int(GRID_MAX_POINTS)); #endif #if HAS_LCD_MENU @@ -783,7 +781,7 @@ if (location.x_index >= 0) { // mesh point found and is reachable by probe const float rawx = mesh_index_to_xpos(location.x_index), rawy = mesh_index_to_ypos(location.y_index), - measured_z = probe_pt(rawx, rawy, stow_probe ? PROBE_PT_STOW : PROBE_PT_RAISE, g29_verbose_level); // TODO: Needs error handling + measured_z = probe_at_point(rawx, rawy, stow_probe ? PROBE_PT_STOW : PROBE_PT_RAISE, g29_verbose_level); // TODO: Needs error handling z_values[location.x_index][location.y_index] = measured_z; #if ENABLED(EXTENSIBLE_UI) ExtUI::onMeshUpdate(location.x_index, location.y_index, measured_z); @@ -802,8 +800,8 @@ restore_ubl_active_state_and_leave(); do_blocking_move_to_xy( - constrain(rx - (zprobe_offset[X_AXIS]), MESH_MIN_X, MESH_MAX_X), - constrain(ry - (zprobe_offset[Y_AXIS]), MESH_MIN_Y, MESH_MAX_Y) + constrain(rx - probe_offset[X_AXIS], MESH_MIN_X, MESH_MAX_X), + constrain(ry - probe_offset[Y_AXIS], MESH_MIN_Y, MESH_MAX_Y) ); } @@ -1091,7 +1089,7 @@ g29_verbose_level = parser.seen('V') ? parser.value_int() : 0; if (!WITHIN(g29_verbose_level, 0, 4)) { - SERIAL_ECHOLNPGM("?(V)erbose level is implausible (0-4).\n"); + SERIAL_ECHOLNPGM("?(V)erbose level implausible (0-4).\n"); err_flag = true; } @@ -1283,8 +1281,8 @@ out_mesh.distance = -99999.9f; // Get our reference position. Either the nozzle or probe location. - const float px = rx + (probe_as_reference == USE_PROBE_AS_REFERENCE ? zprobe_offset[X_AXIS] : 0), - py = ry + (probe_as_reference == USE_PROBE_AS_REFERENCE ? zprobe_offset[Y_AXIS] : 0); + const float px = rx + (probe_as_reference == USE_PROBE_AS_REFERENCE ? probe_offset[X_AXIS] : 0), + py = ry + (probe_as_reference == USE_PROBE_AS_REFERENCE ? probe_offset[Y_AXIS] : 0); float best_so_far = 99999.99f; @@ -1383,32 +1381,36 @@ #if HAS_BED_PROBE + //#define VALIDATE_MESH_TILT + #include "../../../libs/vector_3.h" void unified_bed_leveling::tilt_mesh_based_on_probed_grid(const bool do_3_pt_leveling) { - #if ENABLED(DELTA) || IS_SCARA - int16_t x_min = _MAX(MIN_PROBE_X, MESH_MIN_X), - x_max = _MIN(MAX_PROBE_X, MESH_MAX_X), - y_min = _MAX(MIN_PROBE_Y, MESH_MIN_Y), - y_max = _MIN(MAX_PROBE_Y, MESH_MAX_Y); - #else - int16_t x_min = (_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + zprobe_offset[X_AXIS])), - x_max = (_MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + zprobe_offset[X_AXIS])), - y_min = (_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + zprobe_offset[Y_AXIS])), - y_max = (_MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + zprobe_offset[Y_AXIS])); - #endif + const float x_min = probe_min_x(), x_max = probe_max_x(), + y_min = probe_min_y(), y_max = probe_max_y(), + dx = (x_max - x_min) / (g29_grid_size - 1), + dy = (y_max - y_min) / (g29_grid_size - 1); - bool abort_flag = false; + vector_3 points[3] = { + #if ENABLED(HAS_FIXED_3POINT) + vector_3(PROBE_PT_1_X, PROBE_PT_1_Y, 0), + vector_3(PROBE_PT_2_X, PROBE_PT_2_Y, 0), + vector_3(PROBE_PT_3_X, PROBE_PT_3_Y, 0) + #else + vector_3(x_min, y_min, 0), + vector_3(x_max, y_min, 0), + vector_3((x_max - x_min) / 2, y_max, 0) + #endif + }; float measured_z; + bool abort_flag = false; - const float dx = float(x_max - x_min) / (g29_grid_size - 1), - dy = float(y_max - y_min) / (g29_grid_size - 1); + #ifdef VALIDATE_MESH_TILT + float z1, z2, z3; // Needed for algorithm validation below + #endif struct linear_fit_data lsf_results; - - //float z1, z2, z3; // Needed for algorithm validation down below. - incremental_LSF_reset(&lsf_results); if (do_3_pt_leveling) { @@ -1417,17 +1419,19 @@ ui.status_printf_P(0, PSTR(MSG_LCD_TILTING_MESH " 1/3")); #endif - measured_z = probe_pt(PROBE_PT_1_X, PROBE_PT_1_Y, PROBE_PT_RAISE, g29_verbose_level); + measured_z = probe_at_point(points[0].x, points[0].y, PROBE_PT_RAISE, g29_verbose_level); if (isnan(measured_z)) abort_flag = true; else { - measured_z -= get_z_correction(PROBE_PT_1_X, PROBE_PT_1_Y); - //z1 = measured_z; + measured_z -= get_z_correction(points[0].x, points[0].y); + #ifdef VALIDATE_MESH_TILT + z1 = measured_z; + #endif if (g29_verbose_level > 3) { serial_spaces(16); SERIAL_ECHOLNPAIR("Corrected_Z=", measured_z); } - incremental_LSF(&lsf_results, PROBE_PT_1_X, PROBE_PT_1_Y, measured_z); + incremental_LSF(&lsf_results, points[0].x, points[0].y, measured_z); } if (!abort_flag) { @@ -1436,17 +1440,19 @@ ui.status_printf_P(0, PSTR(MSG_LCD_TILTING_MESH " 2/3")); #endif - measured_z = probe_pt(PROBE_PT_2_X, PROBE_PT_2_Y, PROBE_PT_RAISE, g29_verbose_level); - //z2 = measured_z; + measured_z = probe_at_point(points[1].x, points[1].y, PROBE_PT_RAISE, g29_verbose_level); + #ifdef VALIDATE_MESH_TILT + z2 = measured_z; + #endif if (isnan(measured_z)) abort_flag = true; else { - measured_z -= get_z_correction(PROBE_PT_2_X, PROBE_PT_2_Y); + measured_z -= get_z_correction(points[1].x, points[1].y); if (g29_verbose_level > 3) { serial_spaces(16); SERIAL_ECHOLNPAIR("Corrected_Z=", measured_z); } - incremental_LSF(&lsf_results, PROBE_PT_2_X, PROBE_PT_2_Y, measured_z); + incremental_LSF(&lsf_results, points[1].x, points[1].y, measured_z); } } @@ -1456,17 +1462,19 @@ ui.status_printf_P(0, PSTR(MSG_LCD_TILTING_MESH " 3/3")); #endif - measured_z = probe_pt(PROBE_PT_3_X, PROBE_PT_3_Y, PROBE_PT_STOW, g29_verbose_level); - //z3 = measured_z; + measured_z = probe_at_point(points[2].x, points[2].y, PROBE_PT_STOW, g29_verbose_level); + #ifdef VALIDATE_MESH_TILT + z3 = measured_z; + #endif if (isnan(measured_z)) abort_flag = true; else { - measured_z -= get_z_correction(PROBE_PT_3_X, PROBE_PT_3_Y); + measured_z -= get_z_correction(points[2].x, points[2].y); if (g29_verbose_level > 3) { serial_spaces(16); SERIAL_ECHOLNPAIR("Corrected_Z=", measured_z); } - incremental_LSF(&lsf_results, PROBE_PT_3_X, PROBE_PT_3_Y, measured_z); + incremental_LSF(&lsf_results, points[2].x, points[2].y, measured_z); } } @@ -1484,20 +1492,20 @@ bool zig_zag = false; - uint16_t total_points = g29_grid_size * g29_grid_size, current = 1; + uint16_t total_points = g29_grid_size * g29_grid_size, point_num = 1; for (uint8_t ix = 0; ix < g29_grid_size; ix++) { - const float rx = float(x_min) + ix * dx; + const float rx = x_min + ix * dx; for (int8_t iy = 0; iy < g29_grid_size; iy++) { - const float ry = float(y_min) + dy * (zig_zag ? g29_grid_size - 1 - iy : iy); + const float ry = y_min + dy * (zig_zag ? g29_grid_size - 1 - iy : iy); if (!abort_flag) { - SERIAL_ECHOLNPAIR("Tilting mesh point ", current, "/", total_points, "\n"); + SERIAL_ECHOLNPAIR("Tilting mesh point ", point_num, "/", total_points, "\n"); #if HAS_DISPLAY - ui.status_printf_P(0, PSTR(MSG_LCD_TILTING_MESH " %i/%i"), current, total_points); + ui.status_printf_P(0, PSTR(MSG_LCD_TILTING_MESH " %i/%i"), point_num, total_points); #endif - measured_z = probe_pt(rx, ry, parser.seen('E') ? PROBE_PT_STOW : PROBE_PT_RAISE, g29_verbose_level); // TODO: Needs error handling + measured_z = probe_at_point(rx, ry, parser.seen('E') ? PROBE_PT_STOW : PROBE_PT_RAISE, g29_verbose_level); // TODO: Needs error handling abort_flag = isnan(measured_z); @@ -1514,7 +1522,7 @@ DEBUG_ECHOPAIR_F(" correction: ", get_z_correction(rx, ry), 7); } - measured_z -= get_z_correction(rx, ry) /* + zprobe_offset[Z_AXIS] */ ; + measured_z -= get_z_correction(rx, ry) /* + probe_offset[Z_AXIS] */ ; if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR_F(" final >>>---> ", measured_z, 7); @@ -1525,7 +1533,7 @@ incremental_LSF(&lsf_results, rx, ry, measured_z); } - current++; + point_num++; } zig_zag ^= true; @@ -1612,34 +1620,34 @@ * is calculated. The Z error between the probed point locations and the get_z_correction() * numbers for those locations should be 0. */ - #if 0 - float t, t1, d; - t = normal.x * (PROBE_PT_1_X) + normal.y * (PROBE_PT_1_Y); - d = t + normal.z * z1; - DEBUG_ECHOPAIR_F("D from 1st point: ", d, 6); - DEBUG_ECHOLNPAIR_F(" Z error: ", normal.z*z1-get_z_correction(PROBE_PT_1_X, PROBE_PT_1_Y), 6); + #ifdef VALIDATE_MESH_TILT + float t, t1, d; + t = normal.x * x_min + normal.y * y_min; + d = t + normal.z * z1; + DEBUG_ECHOPAIR_F("D from 1st point: ", d, 6); + DEBUG_ECHOLNPAIR_F(" Z error: ", normal.z * z1 - get_z_correction(x_min, y_min), 6); - t = normal.x * (PROBE_PT_2_X) + normal.y * (PROBE_PT_2_Y); - d = t + normal.z * z2; - DEBUG_EOL(); - DEBUG_ECHOPAIR_F("D from 2nd point: ", d, 6); - DEBUG_ECHOLNPAIR_F(" Z error: ", normal.z*z2-get_z_correction(PROBE_PT_2_X, PROBE_PT_2_Y), 6); + t = normal.x * x_max + normal.y * y_min; + d = t + normal.z * z2; + DEBUG_EOL(); + DEBUG_ECHOPAIR_F("D from 2nd point: ", d, 6); + DEBUG_ECHOLNPAIR_F(" Z error: ", normal.z * z2 - get_z_correction(x_max, y_min), 6); - t = normal.x * (PROBE_PT_3_X) + normal.y * (PROBE_PT_3_Y); - d = t + normal.z * z3; - DEBUG_ECHOPAIR_F("D from 3rd point: ", d, 6); - DEBUG_ECHOLNPAIR_F(" Z error: ", normal.z*z3-get_z_correction(PROBE_PT_3_X, PROBE_PT_3_Y), 6); + t = normal.x * ((x_max - x_min) / 2) + normal.y * (y_min); + d = t + normal.z * z3; + DEBUG_ECHOPAIR_F("D from 3rd point: ", d, 6); + DEBUG_ECHOLNPAIR_F(" Z error: ", normal.z * z3 - get_z_correction((x_max - x_min) / 2, y_max), 6); - t = normal.x * (Z_SAFE_HOMING_X_POINT) + normal.y * (Z_SAFE_HOMING_Y_POINT); - d = t + normal.z * 0; - DEBUG_ECHOLNPAIR_F("D from home location with Z=0 : ", d, 6); + t = normal.x * (Z_SAFE_HOMING_X_POINT) + normal.y * (Z_SAFE_HOMING_Y_POINT); + d = t + normal.z * 0; + DEBUG_ECHOLNPAIR_F("D from home location with Z=0 : ", d, 6); - t = normal.x * (Z_SAFE_HOMING_X_POINT) + normal.y * (Z_SAFE_HOMING_Y_POINT); - d = t + get_z_correction(Z_SAFE_HOMING_X_POINT, Z_SAFE_HOMING_Y_POINT); // normal.z * 0; - DEBUG_ECHOPAIR_F("D from home location using mesh value for Z: ", d, 6); + t = normal.x * (Z_SAFE_HOMING_X_POINT) + normal.y * (Z_SAFE_HOMING_Y_POINT); + d = t + get_z_correction(Z_SAFE_HOMING_X_POINT, Z_SAFE_HOMING_Y_POINT); // normal.z * 0; + DEBUG_ECHOPAIR_F("D from home location using mesh value for Z: ", d, 6); - DEBUG_ECHOPAIR(" Z error: (", Z_SAFE_HOMING_X_POINT, ",", Z_SAFE_HOMING_Y_POINT); - DEBUG_ECHOLNPAIR_F(") = ", get_z_correction(Z_SAFE_HOMING_X_POINT, Z_SAFE_HOMING_Y_POINT), 6); + DEBUG_ECHOPAIR(" Z error: (", Z_SAFE_HOMING_X_POINT, ",", Z_SAFE_HOMING_Y_POINT); + DEBUG_ECHOLNPAIR_F(") = ", get_z_correction(Z_SAFE_HOMING_X_POINT, Z_SAFE_HOMING_Y_POINT), 6); #endif } // DEBUGGING(LEVELING) @@ -1720,13 +1728,13 @@ serial_delay(50); #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - SERIAL_ECHOLNPAIR_F("planner.z_fade_height : ", planner.z_fade_height, 4); + SERIAL_ECHOLNPAIR_F("Fade Height M420 Z", planner.z_fade_height, 4); #endif adjust_mesh_to_mean(g29_c_flag, g29_constant); #if HAS_BED_PROBE - SERIAL_ECHOLNPAIR_F("zprobe_offset[Z_AXIS]: ", zprobe_offset[Z_AXIS], 7); + SERIAL_ECHOLNPAIR_F("Probe Offset M851 Z", probe_offset[Z_AXIS], 7); #endif SERIAL_ECHOLNPAIR("MESH_MIN_X " STRINGIFY(MESH_MIN_X) "=", MESH_MIN_X); serial_delay(50); diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp index 4bb29d7e0b..fcce41169a 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp @@ -43,7 +43,7 @@ #if !UBL_SEGMENTED - void unified_bed_leveling::line_to_destination_cartesian(const float &feed_rate, const uint8_t extruder) { + void unified_bed_leveling::line_to_destination_cartesian(const feedRate_t &scaled_fr_mm_s, const uint8_t extruder) { /** * Much of the nozzle movement will be within the same cell. So we will do as little computation * as possible to determine if this is the case. If this move is within the same cell, we will @@ -79,16 +79,15 @@ + UBL_Z_RAISE_WHEN_OFF_MESH #endif ; - planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS] + z_raise, end[E_AXIS], feed_rate, extruder); + planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS] + z_raise, end[E_AXIS], scaled_fr_mm_s, extruder); set_current_from_destination(); - return; } FINAL_MOVE: // The distance is always MESH_X_DIST so multiply by the constant reciprocal. - const float xratio = (end[X_AXIS] - mesh_index_to_xpos(cell_dest_xi)) * (1.0f / (MESH_X_DIST)); + const float xratio = (end[X_AXIS] - mesh_index_to_xpos(cell_dest_xi)) * RECIPROCAL(MESH_X_DIST); float z1 = z_values[cell_dest_xi ][cell_dest_yi ] + xratio * (z_values[cell_dest_xi + 1][cell_dest_yi ] - z_values[cell_dest_xi][cell_dest_yi ]), @@ -98,13 +97,12 @@ if (cell_dest_xi >= GRID_MAX_POINTS_X - 1) z1 = z2 = 0.0; // X cell-fraction done. Interpolate the two Z offsets with the Y fraction for the final Z offset. - const float yratio = (end[Y_AXIS] - mesh_index_to_ypos(cell_dest_yi)) * (1.0f / (MESH_Y_DIST)), + const float yratio = (end[Y_AXIS] - mesh_index_to_ypos(cell_dest_yi)) * RECIPROCAL(MESH_Y_DIST), z0 = cell_dest_yi < GRID_MAX_POINTS_Y - 1 ? (z1 + (z2 - z1) * yratio) * planner.fade_scaling_factor_for_z(end[Z_AXIS]) : 0.0; // Undefined parts of the Mesh in z_values[][] are NAN. // Replace NAN corrections with 0.0 to prevent NAN propagation. - planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS] + (isnan(z0) ? 0.0 : z0), end[E_AXIS], feed_rate, extruder); - + planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS] + (isnan(z0) ? 0.0 : z0), end[E_AXIS], scaled_fr_mm_s, extruder); set_current_from_destination(); return; } @@ -194,7 +192,7 @@ z_position = end[Z_AXIS]; } - planner.buffer_segment(rx, ry, z_position + z0, e_position, feed_rate, extruder); + planner.buffer_segment(rx, ry, z_position + z0, e_position, scaled_fr_mm_s, extruder); } //else printf("FIRST MOVE PRUNED "); } @@ -242,7 +240,7 @@ z_position = end[Z_AXIS]; } - if (!planner.buffer_segment(rx, ry, z_position + z0, e_position, feed_rate, extruder)) + if (!planner.buffer_segment(rx, ry, z_position + z0, e_position, scaled_fr_mm_s, extruder)) break; } //else printf("FIRST MOVE PRUNED "); } @@ -297,7 +295,7 @@ e_position = end[E_AXIS]; z_position = end[Z_AXIS]; } - if (!planner.buffer_segment(rx, next_mesh_line_y, z_position + z0, e_position, feed_rate, extruder)) + if (!planner.buffer_segment(rx, next_mesh_line_y, z_position + z0, e_position, scaled_fr_mm_s, extruder)) break; current_yi += dyi; yi_cnt--; @@ -321,7 +319,7 @@ z_position = end[Z_AXIS]; } - if (!planner.buffer_segment(next_mesh_line_x, ry, z_position + z0, e_position, feed_rate, extruder)) + if (!planner.buffer_segment(next_mesh_line_x, ry, z_position + z0, e_position, scaled_fr_mm_s, extruder)) break; current_xi += dxi; xi_cnt--; @@ -356,27 +354,27 @@ * Returns true if did NOT move, false if moved (requires current_position update). */ - bool _O2 unified_bed_leveling::prepare_segmented_line_to(const float (&rtarget)[XYZE], const float &feedrate) { + bool _O2 unified_bed_leveling::line_to_destination_segmented(const feedRate_t &scaled_fr_mm_s) { - if (!position_is_reachable(rtarget[X_AXIS], rtarget[Y_AXIS])) // fail if moving outside reachable boundary + if (!position_is_reachable(destination[X_AXIS], destination[Y_AXIS])) // fail if moving outside reachable boundary return true; // did not move, so current_position still accurate const float total[XYZE] = { - rtarget[X_AXIS] - current_position[X_AXIS], - rtarget[Y_AXIS] - current_position[Y_AXIS], - rtarget[Z_AXIS] - current_position[Z_AXIS], - rtarget[E_AXIS] - current_position[E_AXIS] + destination[X_AXIS] - current_position[X_AXIS], + destination[Y_AXIS] - current_position[Y_AXIS], + destination[Z_AXIS] - current_position[Z_AXIS], + destination[E_AXIS] - current_position[E_AXIS] }; const float cartesian_xy_mm = HYPOT(total[X_AXIS], total[Y_AXIS]); // total horizontal xy distance #if IS_KINEMATIC - const float seconds = cartesian_xy_mm / feedrate; // seconds to move xy distance at requested rate - uint16_t segments = LROUND(delta_segments_per_second * seconds), // preferred number of segments for distance @ feedrate - seglimit = LROUND(cartesian_xy_mm * (1.0f / (DELTA_SEGMENT_MIN_LENGTH))); // number of segments at minimum segment length - NOMORE(segments, seglimit); // limit to minimum segment length (fewer segments) + const float seconds = cartesian_xy_mm / scaled_fr_mm_s; // Duration of XY move at requested rate + uint16_t segments = LROUND(delta_segments_per_second * seconds), // Preferred number of segments for distance @ feedrate + seglimit = LROUND(cartesian_xy_mm * RECIPROCAL(DELTA_SEGMENT_MIN_LENGTH)); // Number of segments at minimum segment length + NOMORE(segments, seglimit); // Limit to minimum segment length (fewer segments) #else - uint16_t segments = LROUND(cartesian_xy_mm * (1.0f / (DELTA_SEGMENT_MIN_LENGTH))); // cartesian fixed segment length + uint16_t segments = LROUND(cartesian_xy_mm * RECIPROCAL(DELTA_SEGMENT_MIN_LENGTH)); // cartesian fixed segment length #endif NOLESS(segments, 1U); // must have at least one segment @@ -384,7 +382,7 @@ const float segment_xyz_mm = HYPOT(cartesian_xy_mm, total[Z_AXIS]) * inv_segments; // length of each segment #if ENABLED(SCARA_FEEDRATE_SCALING) - const float inv_duration = feedrate / segment_xyz_mm; + const float inv_duration = scaled_fr_mm_s / segment_xyz_mm; #endif const float diff[XYZE] = { @@ -404,17 +402,17 @@ current_position[E_AXIS] }; - // Only compute leveling per segment if ubl active and target below z_fade_height. - if (!planner.leveling_active || !planner.leveling_active_at_z(rtarget[Z_AXIS])) { // no mesh leveling + // Just do plain segmentation if UBL is inactive or the target is above the fade height + if (!planner.leveling_active || !planner.leveling_active_at_z(destination[Z_AXIS])) { while (--segments) { LOOP_XYZE(i) raw[i] += diff[i]; - planner.buffer_line(raw, feedrate, active_extruder, segment_xyz_mm + planner.buffer_line(raw, scaled_fr_mm_s, active_extruder, segment_xyz_mm #if ENABLED(SCARA_FEEDRATE_SCALING) , inv_duration #endif ); } - planner.buffer_line(rtarget, feedrate, active_extruder, segment_xyz_mm + planner.buffer_line(destination, scaled_fr_mm_s, active_extruder, segment_xyz_mm #if ENABLED(SCARA_FEEDRATE_SCALING) , inv_duration #endif @@ -425,7 +423,7 @@ // Otherwise perform per-segment leveling #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - const float fade_scaling_factor = planner.fade_scaling_factor_for_z(rtarget[Z_AXIS]); + const float fade_scaling_factor = planner.fade_scaling_factor_for_z(destination[Z_AXIS]); #endif // increment to first segment destination @@ -440,8 +438,8 @@ // in top of loop and again re-find same adjacent cell and use it, just less efficient // for mesh inset area. - int8_t cell_xi = (raw[X_AXIS] - (MESH_MIN_X)) * (1.0f / (MESH_X_DIST)), - cell_yi = (raw[Y_AXIS] - (MESH_MIN_Y)) * (1.0f / (MESH_Y_DIST)); + int8_t cell_xi = (raw[X_AXIS] - (MESH_MIN_X)) * RECIPROCAL(MESH_X_DIST), + cell_yi = (raw[Y_AXIS] - (MESH_MIN_Y)) * RECIPROCAL(MESH_Y_DIST); LIMIT(cell_xi, 0, (GRID_MAX_POINTS_X) - 1); LIMIT(cell_yi, 0, (GRID_MAX_POINTS_Y) - 1); @@ -462,15 +460,15 @@ float cx = raw[X_AXIS] - x0, // cell-relative x and y cy = raw[Y_AXIS] - y0; - const float z_xmy0 = (z_x1y0 - z_x0y0) * (1.0f / (MESH_X_DIST)), // z slope per x along y0 (lower left to lower right) - z_xmy1 = (z_x1y1 - z_x0y1) * (1.0f / (MESH_X_DIST)); // z slope per x along y1 (upper left to upper right) + const float z_xmy0 = (z_x1y0 - z_x0y0) * RECIPROCAL(MESH_X_DIST), // z slope per x along y0 (lower left to lower right) + z_xmy1 = (z_x1y1 - z_x0y1) * RECIPROCAL(MESH_X_DIST); // z slope per x along y1 (upper left to upper right) float z_cxy0 = z_x0y0 + z_xmy0 * cx; // z height along y0 at cx (changes for each cx in cell) const float z_cxy1 = z_x0y1 + z_xmy1 * cx, // z height along y1 at cx z_cxyd = z_cxy1 - z_cxy0; // z height difference along cx from y0 to y1 - float z_cxym = z_cxyd * (1.0f / (MESH_Y_DIST)); // z slope per y along cx from y0 to y1 (changes for each cx in cell) + float z_cxym = z_cxyd * RECIPROCAL(MESH_Y_DIST); // z slope per y along cx from y0 to y1 (changes for each cx in cell) // float z_cxcy = z_cxy0 + z_cxym * cy; // interpolated mesh z height along cx at cy (do inside the segment loop) @@ -479,12 +477,11 @@ // each change by a constant for fixed segment lengths. const float z_sxy0 = z_xmy0 * diff[X_AXIS], // per-segment adjustment to z_cxy0 - z_sxym = (z_xmy1 - z_xmy0) * (1.0f / (MESH_Y_DIST)) * diff[X_AXIS]; // per-segment adjustment to z_cxym + z_sxym = (z_xmy1 - z_xmy0) * RECIPROCAL(MESH_Y_DIST) * diff[X_AXIS]; // per-segment adjustment to z_cxym for (;;) { // for all segments within this mesh cell - if (--segments == 0) // if this is last segment, use rtarget for exact - COPY(raw, rtarget); + if (--segments == 0) COPY(raw, destination); // if this is last segment, use destination for exact const float z_cxcy = (z_cxy0 + z_cxym * cy) // interpolated mesh z height along cx at cy #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) @@ -494,7 +491,7 @@ const float z = raw[Z_AXIS]; raw[Z_AXIS] += z_cxcy; - planner.buffer_line(raw, feedrate, active_extruder, segment_xyz_mm + planner.buffer_line(raw, scaled_fr_mm_s, active_extruder, segment_xyz_mm #if ENABLED(SCARA_FEEDRATE_SCALING) , inv_duration #endif diff --git a/Marlin/src/feature/binary_protocol.h b/Marlin/src/feature/binary_protocol.h index d1219081cf..58817f66ba 100644 --- a/Marlin/src/feature/binary_protocol.h +++ b/Marlin/src/feature/binary_protocol.h @@ -76,7 +76,7 @@ private: static bool file_open(char* filename) { if (!dummy_transfer) { - card.initsd(); + card.mount(); card.openFile(filename, false); if (!card.isFileOpen()) return false; } diff --git a/Marlin/src/feature/bltouch.cpp b/Marlin/src/feature/bltouch.cpp index b768fc3e80..64c052269b 100644 --- a/Marlin/src/feature/bltouch.cpp +++ b/Marlin/src/feature/bltouch.cpp @@ -110,19 +110,19 @@ bool BLTouch::triggered() { bool BLTouch::deploy_proc() { // Do a DEPLOY - if (DEBUGGING(LEVELING)) DEBUG_ECHOLN("BLTouch DEPLOY requested"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch DEPLOY requested"); // Attempt to DEPLOY, wait for DEPLOY_DELAY or ALARM if (_deploy_query_alarm()) { // The deploy might have failed or the probe is already triggered (nozzle too low?) - if (DEBUGGING(LEVELING)) DEBUG_ECHOLN("BLTouch ALARM or TRIGGER after DEPLOY, recovering"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch ALARM or TRIGGER after DEPLOY, recovering"); clear(); // Get the probe into start condition // Last attempt to DEPLOY if (_deploy_query_alarm()) { // The deploy might have failed or the probe is actually triggered (nozzle too low?) again - if (DEBUGGING(LEVELING)) DEBUG_ECHOLN("BLTouch Recovery Failed"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch Recovery Failed"); SERIAL_ERROR_MSG(MSG_STOP_BLTOUCH); // Tell the user something is wrong, needs action stop(); // but it's not too bad, no need to kill, allow restart @@ -140,14 +140,14 @@ bool BLTouch::deploy_proc() { // The trigger STOW (see motion.cpp for example) will pull up the probes pin as soon as the pulse // is registered. - if (DEBUGGING(LEVELING)) DEBUG_ECHOLN("bltouch.deploy_proc() end"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("bltouch.deploy_proc() end"); return false; // report success to caller } bool BLTouch::stow_proc() { // Do a STOW - if (DEBUGGING(LEVELING)) DEBUG_ECHOLN("BLTouch STOW requested"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch STOW requested"); // A STOW will clear a triggered condition in the probe (10ms pulse). // At the moment that we come in here, we might (pulse) or will (SW mode) see the trigger on the pin. @@ -158,7 +158,7 @@ bool BLTouch::stow_proc() { // Attempt to STOW, wait for STOW_DELAY or ALARM if (_stow_query_alarm()) { // The stow might have failed - if (DEBUGGING(LEVELING)) DEBUG_ECHOLN("BLTouch ALARM or TRIGGER after STOW, recovering"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch ALARM or TRIGGER after STOW, recovering"); _reset(); // This RESET will then also pull up the pin. If it doesn't // work and the pin is still down, there will no longer be @@ -167,7 +167,7 @@ bool BLTouch::stow_proc() { // Last attempt to STOW if (_stow_query_alarm()) { // so if there is now STILL an ALARM condition: - if (DEBUGGING(LEVELING)) DEBUG_ECHOLN("BLTouch Recovery Failed"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch Recovery Failed"); SERIAL_ERROR_MSG(MSG_STOP_BLTOUCH); // Tell the user something is wrong, needs action stop(); // but it's not too bad, no need to kill, allow restart @@ -176,7 +176,7 @@ bool BLTouch::stow_proc() { } } - if (DEBUGGING(LEVELING)) DEBUG_ECHOLN("bltouch.stow_proc() end"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("bltouch.stow_proc() end"); return false; // report success to caller } @@ -187,7 +187,7 @@ bool BLTouch::status_proc() { * This function will ensure switch state is reset after execution */ - if (DEBUGGING(LEVELING)) DEBUG_ECHOLN("BLTouch STATUS requested"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch STATUS requested"); _set_SW_mode(); // Incidentally, _set_SW_mode() will also RESET any active alarm const bool tr = triggered(); // If triggered in SW mode, the pin is up, it is STOWED diff --git a/Marlin/src/feature/dac/dac_dac084s085.h b/Marlin/src/feature/dac/dac_dac084s085.h index 80d7869ab6..09d5bb857d 100644 --- a/Marlin/src/feature/dac/dac_dac084s085.h +++ b/Marlin/src/feature/dac/dac_dac084s085.h @@ -24,7 +24,7 @@ class dac084s085 { public: dac084s085(); - static void begin(void); + static void begin(); static void setValue(const uint8_t channel, const uint8_t value); private: static void cshigh(); diff --git a/Marlin/src/feature/dac/stepper_dac.cpp b/Marlin/src/feature/dac/stepper_dac.cpp index de497fdacd..d1e101bd50 100644 --- a/Marlin/src/feature/dac/stepper_dac.cpp +++ b/Marlin/src/feature/dac/stepper_dac.cpp @@ -74,8 +74,8 @@ void dac_current_raw(uint8_t channel, uint16_t val) { mcp4728_simpleCommand(UPDATE); } -static float dac_perc(int8_t n) { return 100.0 * mcp4728_getValue(dac_order[n]) * (1.0f / (DAC_STEPPER_MAX)); } -static float dac_amps(int8_t n) { return mcp4728_getDrvPct(dac_order[n]) * (DAC_STEPPER_MAX) * 0.125 * (1.0f / (DAC_STEPPER_SENSE)); } +static float dac_perc(int8_t n) { return 100.0 * mcp4728_getValue(dac_order[n]) * RECIPROCAL(DAC_STEPPER_MAX); } +static float dac_amps(int8_t n) { return mcp4728_getDrvPct(dac_order[n]) * (DAC_STEPPER_MAX) * 0.125 * RECIPROCAL(DAC_STEPPER_SENSE); } uint8_t dac_current_get_percent(AxisEnum axis) { return mcp4728_getDrvPct(dac_order[axis]); } void dac_current_set_percents(const uint8_t pct[XYZE]) { diff --git a/Marlin/src/feature/digipot/digipot_mcp4018.cpp b/Marlin/src/feature/digipot/digipot_mcp4018.cpp index 91a64d5432..86eeab63b4 100644 --- a/Marlin/src/feature/digipot/digipot_mcp4018.cpp +++ b/Marlin/src/feature/digipot/digipot_mcp4018.cpp @@ -24,7 +24,6 @@ #if BOTH(DIGIPOT_I2C, DIGIPOT_MCP4018) -#include "../../core/enum.h" #include "Stream.h" #include "utility/twi.h" #include //https://github.com/stawel/SlowSoftI2CMaster diff --git a/Marlin/src/feature/emergency_parser.h b/Marlin/src/feature/emergency_parser.h index dadd677154..e9ce0f6645 100644 --- a/Marlin/src/feature/emergency_parser.h +++ b/Marlin/src/feature/emergency_parser.h @@ -25,7 +25,7 @@ * emergency_parser.h - Intercept special commands directly in the serial stream */ -#define FORCE_INLINE __attribute__((always_inline)) inline +#include "../inc/MarlinConfigPre.h" #if ENABLED(HOST_PROMPT_SUPPORT) #include "host_actions.h" diff --git a/Marlin/src/feature/fanmux.cpp b/Marlin/src/feature/fanmux.cpp index 7b293acbf8..6c7b56ac54 100644 --- a/Marlin/src/feature/fanmux.cpp +++ b/Marlin/src/feature/fanmux.cpp @@ -41,7 +41,7 @@ void fanmux_switch(const uint8_t e) { #endif } -void fanmux_init(void) { +void fanmux_init() { SET_OUTPUT(FANMUX0_PIN); #if PIN_EXISTS(FANMUX1) SET_OUTPUT(FANMUX1_PIN); diff --git a/Marlin/src/feature/fanmux.h b/Marlin/src/feature/fanmux.h index 517e7bfd57..492b9fd785 100644 --- a/Marlin/src/feature/fanmux.h +++ b/Marlin/src/feature/fanmux.h @@ -26,4 +26,4 @@ */ extern void fanmux_switch(const uint8_t e); -extern void fanmux_init(void); +extern void fanmux_init(); diff --git a/Marlin/src/feature/filwidth.cpp b/Marlin/src/feature/filwidth.cpp index ec90f3adf0..fb685bddc1 100644 --- a/Marlin/src/feature/filwidth.cpp +++ b/Marlin/src/feature/filwidth.cpp @@ -26,11 +26,24 @@ #include "filwidth.h" -bool filament_sensor; // = false; // M405/M406 turns filament sensor control ON/OFF. -float filament_width_nominal = DEFAULT_NOMINAL_FILAMENT_DIA, // Nominal filament width. Change with M404. - filament_width_meas = DEFAULT_MEASURED_FILAMENT_DIA; // Measured filament diameter -uint8_t meas_delay_cm = MEASUREMENT_DELAY_CM; // Distance delay setting -int8_t measurement_delay[MAX_MEASUREMENT_DELAY + 1], // Ring buffer to delayed measurement. Store extruder factor after subtracting 100 - filwidth_delay_index[2] = { 0, -1 }; // Indexes into ring buffer +FilamentWidthSensor filwidth; + +bool FilamentWidthSensor::enabled; // = false; // (M405-M406) Filament Width Sensor ON/OFF. +uint32_t FilamentWidthSensor::accum; // = 0 // ADC accumulator +uint16_t FilamentWidthSensor::raw; // = 0 // Measured filament diameter - one extruder only +float FilamentWidthSensor::nominal_mm = DEFAULT_NOMINAL_FILAMENT_DIA, // (M104) Nominal filament width + FilamentWidthSensor::measured_mm = DEFAULT_MEASURED_FILAMENT_DIA, // Measured filament diameter + FilamentWidthSensor::e_count = 0, + FilamentWidthSensor::delay_dist = 0; +uint8_t FilamentWidthSensor::meas_delay_cm = MEASUREMENT_DELAY_CM; // Distance delay setting +int8_t FilamentWidthSensor::ratios[MAX_MEASUREMENT_DELAY + 1], // Ring buffer to delay measurement. (Extruder factor minus 100) + FilamentWidthSensor::index_r, // Indexes into ring buffer + FilamentWidthSensor::index_w; + +void FilamentWidthSensor::init() { + const int8_t ratio = sample_to_size_ratio(); + for (uint8_t i = 0; i < COUNT(ratios); ++i) ratios[i] = ratio; + index_r = index_w = 0; +} #endif // FILAMENT_WIDTH_SENSOR diff --git a/Marlin/src/feature/filwidth.h b/Marlin/src/feature/filwidth.h index 91122a8605..74671b295b 100644 --- a/Marlin/src/feature/filwidth.h +++ b/Marlin/src/feature/filwidth.h @@ -22,10 +22,98 @@ #pragma once #include "../inc/MarlinConfig.h" +#include "../module/planner.h" -extern bool filament_sensor; // M405/M406 turns filament sensor control ON/OFF. -extern float filament_width_nominal, // Nominal filament width. Change with M404. - filament_width_meas; // Measured filament diameter -extern uint8_t meas_delay_cm; // Distance delay setting -extern int8_t measurement_delay[MAX_MEASUREMENT_DELAY + 1], // Ring buffer to delayed measurement. Store extruder factor after subtracting 100 - filwidth_delay_index[2]; // Indexes into ring buffer +class FilamentWidthSensor { +public: + static constexpr int MMD_CM = MAX_MEASUREMENT_DELAY + 1, MMD_MM = MMD_CM * 10; + static bool enabled; // (M405-M406) Filament Width Sensor ON/OFF. + static uint32_t accum; // ADC accumulator + static uint16_t raw; // Measured filament diameter - one extruder only + static float nominal_mm, // (M104) Nominal filament width + measured_mm, // Measured filament diameter + e_count, delay_dist; + static uint8_t meas_delay_cm; // Distance delay setting + static int8_t ratios[MMD_CM], // Ring buffer to delay measurement. (Extruder factor minus 100) + index_r, index_w; // Indexes into ring buffer + + FilamentWidthSensor() { init(); } + static void init(); + + static inline void enable(const bool ena) { enabled = ena; } + + static inline void set_delay_cm(const uint8_t cm) { + meas_delay_cm = _MIN(cm, MAX_MEASUREMENT_DELAY); + } + + /** + * Convert Filament Width (mm) to an extrusion ratio + * and reduce to an 8 bit value. + * + * A nominal width of 1.75 and measured width of 1.73 + * gives (100 * 1.75 / 1.73) for a ratio of 101 and + * a return value of 1. + */ + static int8_t sample_to_size_ratio() { + return ABS(nominal_mm - measured_mm) <= FILWIDTH_ERROR_MARGIN + ? int(100.0f * nominal_mm / measured_mm) - 100 : 0; + } + + // Apply a single ADC reading to the raw value + static void accumulate(const uint16_t adc) { + if (adc > 102) // Ignore ADC under 0.5 volts + accum += (uint32_t(adc) << 7) - (accum >> 7); + } + + // Convert raw measurement to mm + static inline float raw_to_mm(const uint16_t v) { return v * 5.0f * RECIPROCAL(16383.0f); } + static inline float raw_to_mm() { return raw_to_mm(raw); } + + // A scaled reading is ready + // Divide to get to 0-16384 range since we used 1/128 IIR filter approach + static inline void reading_ready() { raw = accum >> 10; } + + // Update mm from the raw measurement + static inline void update_measured_mm() { measured_mm = raw_to_mm(); } + + // Update ring buffer used to delay filament measurements + static inline void advance_e(const float &e_move) { + + // Increment counters with the E distance + e_count += e_move; + delay_dist += e_move; + + // Only get new measurements on forward E movement + if (!UNEAR_ZERO(e_count)) { + + // Loop the delay distance counter (modulus by the mm length) + while (delay_dist >= MMD_MM) delay_dist -= MMD_MM; + + // Convert into an index (cm) into the measurement array + index_r = int8_t(delay_dist * 0.1f); + + // If the ring buffer is not full... + if (index_r != index_w) { + e_count = 0; // Reset the E movement counter + const int8_t meas_sample = sample_to_size_ratio(); + do { + if (++index_w >= MMD_CM) index_w = 0; // The next unused slot + ratios[index_w] = meas_sample; // Store the measurement + } while (index_r != index_w); // More slots to fill? + } + } + } + + // Dynamically set the volumetric multiplier based on the delayed width measurement. + static inline void update_volumetric() { + if (enabled) { + int8_t read_index = index_r - meas_delay_cm; + if (read_index < 0) read_index += MMD_CM; // Loop around buffer if needed + LIMIT(read_index, 0, MAX_MEASUREMENT_DELAY); + planner.apply_filament_width_sensor(ratios[read_index]); + } + } + +}; + +extern FilamentWidthSensor filwidth; diff --git a/Marlin/src/feature/fwretract.cpp b/Marlin/src/feature/fwretract.cpp index dc9785c1d5..b4302cb17a 100644 --- a/Marlin/src/feature/fwretract.cpp +++ b/Marlin/src/feature/fwretract.cpp @@ -128,10 +128,7 @@ void FWRetract::retract(const bool retracting SERIAL_ECHOLNPAIR("current_hop ", current_hop); //*/ - const float old_feedrate_mm_s = feedrate_mm_s, - unscale_e = RECIPROCAL(planner.e_factor[active_extruder]), - unscale_fr = 100.0 / feedrate_percentage, // Disable feedrate scaling for retract moves - base_retract = ( + const float base_retract = ( (swapping ? settings.swap_retract_length : settings.retract_length) #if ENABLED(RETRACT_SYNC_MIXING) * (MIXING_STEPPERS) @@ -146,53 +143,53 @@ void FWRetract::retract(const bool retracting mixer.T(MIXER_AUTORETRACT_TOOL); #endif + const feedRate_t fr_max_z = planner.settings.max_feedrate_mm_s[Z_AXIS]; if (retracting) { // Retract by moving from a faux E position back to the current E position - feedrate_mm_s = ( - settings.retract_feedrate_mm_s * unscale_fr + current_retract[active_extruder] = base_retract; + prepare_internal_move_to_destination( // set_current_to_destination + settings.retract_feedrate_mm_s #if ENABLED(RETRACT_SYNC_MIXING) * (MIXING_STEPPERS) #endif ); - current_retract[active_extruder] = base_retract * unscale_e; - prepare_move_to_destination(); // set_current_to_destination // Is a Z hop set, and has the hop not yet been done? - if (settings.retract_zraise > 0.01 && !current_hop) { // Apply hop only once - current_hop += settings.retract_zraise; // Add to the hop total (again, only once) - feedrate_mm_s = planner.settings.max_feedrate_mm_s[Z_AXIS] * unscale_fr; // Maximum Z feedrate - prepare_move_to_destination(); // Raise up, set_current_to_destination + if (!current_hop && settings.retract_zraise > 0.01f) { // Apply hop only once + current_hop += settings.retract_zraise; // Add to the hop total (again, only once) + // Raise up, set_current_to_destination. Maximum Z feedrate + prepare_internal_move_to_destination(fr_max_z); } } else { // If a hop was done and Z hasn't changed, undo the Z hop if (current_hop) { - current_hop = 0.0; - feedrate_mm_s = planner.settings.max_feedrate_mm_s[Z_AXIS] * unscale_fr; // Z feedrate to max - prepare_move_to_destination(); // Lower Z, set_current_to_destination + current_hop = 0; + // Lower Z, set_current_to_destination. Maximum Z feedrate + prepare_internal_move_to_destination(fr_max_z); } const float extra_recover = swapping ? settings.swap_retract_recover_extra : settings.retract_recover_extra; - if (extra_recover != 0.0) { + if (extra_recover) { current_position[E_AXIS] -= extra_recover; // Adjust the current E position by the extra amount to recover sync_plan_position_e(); // Sync the planner position so the extra amount is recovered } - current_retract[active_extruder] = 0.0; - feedrate_mm_s = ( - (swapping ? settings.swap_retract_recover_feedrate_mm_s : settings.retract_recover_feedrate_mm_s) * unscale_fr + current_retract[active_extruder] = 0; + + const feedRate_t fr_mm_s = ( + (swapping ? settings.swap_retract_recover_feedrate_mm_s : settings.retract_recover_feedrate_mm_s) #if ENABLED(RETRACT_SYNC_MIXING) * (MIXING_STEPPERS) #endif ); - prepare_move_to_destination(); // Recover E, set_current_to_destination + prepare_internal_move_to_destination(fr_mm_s); // Recover E, set_current_to_destination } #if ENABLED(RETRACT_SYNC_MIXING) mixer.T(old_mixing_tool); // Restore original mixing tool #endif - feedrate_mm_s = old_feedrate_mm_s; // Restore original feedrate retracted[active_extruder] = retracting; // Active extruder now retracted / recovered // If swap retract/recover update the retracted_swap flag too diff --git a/Marlin/src/feature/fwretract.h b/Marlin/src/feature/fwretract.h index 7caba3dbe9..374667513d 100644 --- a/Marlin/src/feature/fwretract.h +++ b/Marlin/src/feature/fwretract.h @@ -27,21 +27,17 @@ #include "../inc/MarlinConfigPre.h" -#pragma pack(push, 1) // No padding between fields - typedef struct { - float retract_length, // M207 S - G10 Retract length - retract_feedrate_mm_s, // M207 F - G10 Retract feedrate - retract_zraise, // M207 Z - G10 Retract hop size - retract_recover_extra, // M208 S - G11 Recover length - retract_recover_feedrate_mm_s, // M208 F - G11 Recover feedrate - swap_retract_length, // M207 W - G10 Swap Retract length - swap_retract_recover_extra, // M208 W - G11 Swap Recover length - swap_retract_recover_feedrate_mm_s; // M208 R - G11 Swap Recover feedrate + float retract_length; // M207 S - G10 Retract length + feedRate_t retract_feedrate_mm_s; // M207 F - G10 Retract feedrate + float retract_zraise, // M207 Z - G10 Retract hop size + retract_recover_extra; // M208 S - G11 Recover length + feedRate_t retract_recover_feedrate_mm_s; // M208 F - G11 Recover feedrate + float swap_retract_length, // M207 W - G10 Swap Retract length + swap_retract_recover_extra; // M208 W - G11 Swap Recover length + feedRate_t swap_retract_recover_feedrate_mm_s; // M208 R - G11 Swap Recover feedrate } fwretract_settings_t; -#pragma pack(pop) - #if ENABLED(FWRETRACT) class FWRetract { diff --git a/Marlin/src/feature/host_actions.h b/Marlin/src/feature/host_actions.h index c93d3a16db..7477b6e6df 100644 --- a/Marlin/src/feature/host_actions.h +++ b/Marlin/src/feature/host_actions.h @@ -23,8 +23,6 @@ #include "../inc/MarlinConfigPre.h" -#include - void host_action(const char * const pstr, const bool eol=true); #ifdef ACTION_ON_KILL diff --git a/Marlin/src/feature/joystick.cpp b/Marlin/src/feature/joystick.cpp index efadeeff30..bb54ff1d6d 100644 --- a/Marlin/src/feature/joystick.cpp +++ b/Marlin/src/feature/joystick.cpp @@ -36,6 +36,10 @@ Joystick joystick; +#if ENABLED(EXTENSIBLE_UI) + #include "../lcd/extensible_ui/ui_api.h" +#endif + #if HAS_JOY_ADC_X temp_info_t Joystick::x; // = { 0 } #endif @@ -65,35 +69,41 @@ Joystick joystick; } #endif -void Joystick::calculate(float norm_jog[XYZ]) { - // Do nothing if enable pin (active-low) is not LOW - #if HAS_JOY_ADC_EN - if (READ(JOY_EN_PIN)) return; - #endif +#if HAS_JOY_ADC_X || HAS_JOY_ADC_Y || HAS_JOY_ADC_Z - auto _normalize_joy = [](float &adc, const int16_t raw, const int16_t (&joy_limits)[4]) { - if (WITHIN(raw, joy_limits[0], joy_limits[3])) { - // within limits, check deadzone - if (raw > joy_limits[2]) - adc = (raw - joy_limits[2]) / float(joy_limits[3] - joy_limits[2]); - else if (raw < joy_limits[1]) - adc = (raw - joy_limits[1]) / float(joy_limits[1] - joy_limits[0]); // negative value - } - }; + void Joystick::calculate(float (&norm_jog)[XYZ]) { + // Do nothing if enable pin (active-low) is not LOW + #if HAS_JOY_ADC_EN + if (READ(JOY_EN_PIN)) return; + #endif - #if HAS_JOY_ADC_X - static constexpr int16_t joy_x_limits[4] = JOY_X_LIMITS; - _normalize_joy(norm_jog[X_AXIS], x.raw, joy_x_limits); - #endif - #if HAS_JOY_ADC_Y - static constexpr int16_t joy_y_limits[4] = JOY_Y_LIMITS; - _normalize_joy(norm_jog[Y_AXIS], y.raw, joy_y_limits); - #endif - #if HAS_JOY_ADC_Z - static constexpr int16_t joy_z_limits[4] = JOY_Z_LIMITS; - _normalize_joy(norm_jog[Z_AXIS], z.raw, joy_z_limits); - #endif -} + auto _normalize_joy = [](float &norm_jog, const int16_t raw, const int16_t (&joy_limits)[4]) { + if (WITHIN(raw, joy_limits[0], joy_limits[3])) { + // within limits, check deadzone + if (raw > joy_limits[2]) + norm_jog = (raw - joy_limits[2]) / float(joy_limits[3] - joy_limits[2]); + else if (raw < joy_limits[1]) + norm_jog = (raw - joy_limits[1]) / float(joy_limits[1] - joy_limits[0]); // negative value + // Map normal to jog value via quadratic relationship + norm_jog = SIGN(norm_jog) * sq(norm_jog); + } + }; + + #if HAS_JOY_ADC_X + static constexpr int16_t joy_x_limits[4] = JOY_X_LIMITS; + _normalize_joy(norm_jog[X_AXIS], x.raw, joy_x_limits); + #endif + #if HAS_JOY_ADC_Y + static constexpr int16_t joy_y_limits[4] = JOY_Y_LIMITS; + _normalize_joy(norm_jog[Y_AXIS], y.raw, joy_y_limits); + #endif + #if HAS_JOY_ADC_Z + static constexpr int16_t joy_z_limits[4] = JOY_Z_LIMITS; + _normalize_joy(norm_jog[Z_AXIS], z.raw, joy_z_limits); + #endif + } + +#endif #if ENABLED(POLL_JOG) @@ -122,18 +132,30 @@ void Joystick::calculate(float norm_jog[XYZ]) { float norm_jog[XYZ] = { 0 }; // Use ADC values and defined limits. The active zone is normalized: -1..0 (dead) 0..1 - joystick.calculate(norm_jog); + #if HAS_JOY_ADC_X || HAS_JOY_ADC_Y || HAS_JOY_ADC_Z + joystick.calculate(norm_jog); + #endif // Other non-joystick poll-based jogging could be implemented here // with "jogging" encapsulated as a more general class. - // Jogging value maps continuously (quadratic relationship) to feedrate + #if ENABLED(EXTENSIBLE_UI) + ExtUI::_joystick_update(norm_jog); + #endif + + #if EITHER(ULTIPANEL, EXTENSIBLE_UI) + constexpr float manual_feedrate[XYZE] = MANUAL_FEEDRATE; + #endif + + // norm_jog values of [-1 .. 1] maps linearly to [-feedrate .. feedrate] float move_dist[XYZ] = { 0 }, hypot2 = 0; LOOP_XYZ(i) if (norm_jog[i]) { - move_dist[i] = seg_time * sq(norm_jog[i]) * planner.settings.max_feedrate_mm_s[i]; - // Very small movements disappear when printed as decimal with 4 digits of precision - NOLESS(move_dist[i], 0.0002f); - if (norm_jog[i] < 0) move_dist[i] *= -1; // preserve sign + move_dist[i] = seg_time * norm_jog[i] * + #if EITHER(ULTIPANEL, EXTENSIBLE_UI) + MMM_TO_MMS(manual_feedrate[i]); + #else + planner.settings.max_feedrate_mm_s[i]; + #endif hypot2 += sq(move_dist[i]); } diff --git a/Marlin/src/feature/joystick.h b/Marlin/src/feature/joystick.h index 57dd5deeb5..e96120517e 100644 --- a/Marlin/src/feature/joystick.h +++ b/Marlin/src/feature/joystick.h @@ -46,7 +46,7 @@ class Joystick { #if ENABLED(JOYSTICK_DEBUG) static void report(); #endif - static void calculate(float norm_jog[XYZ]); + static void calculate(float (&norm_jog)[XYZ]); static void inject_jog_moves(); }; diff --git a/Marlin/src/feature/leds/tempstat.cpp b/Marlin/src/feature/leds/tempstat.cpp index 601e433687..f19ae0f092 100644 --- a/Marlin/src/feature/leds/tempstat.cpp +++ b/Marlin/src/feature/leds/tempstat.cpp @@ -31,7 +31,7 @@ #include "tempstat.h" #include "../../module/temperature.h" -void handle_status_leds(void) { +void handle_status_leds() { static int8_t old_red = -1; // Invalid value to force LED initialization static millis_t next_status_led_update_ms = 0; if (ELAPSED(millis(), next_status_led_update_ms)) { diff --git a/Marlin/src/feature/leds/tempstat.h b/Marlin/src/feature/leds/tempstat.h index 6d1e2490f3..834f2e491f 100644 --- a/Marlin/src/feature/leds/tempstat.h +++ b/Marlin/src/feature/leds/tempstat.h @@ -25,4 +25,4 @@ * Marlin general RGB LED support */ -void handle_status_leds(void); +void handle_status_leds(); diff --git a/Marlin/src/feature/mixing.h b/Marlin/src/feature/mixing.h index 55b54f96c1..095f22d13b 100644 --- a/Marlin/src/feature/mixing.h +++ b/Marlin/src/feature/mixing.h @@ -142,13 +142,19 @@ class Mixer { static inline void copy_mix_to_color(mixer_comp_t (&tcolor)[MIXING_STEPPERS]) { // Scale each component to the largest one in terms of COLOR_A_MASK // So the largest component will be COLOR_A_MASK and the other will be in proportion to it - const float scale = (COLOR_A_MASK) * RECIPROCAL(float(_MAX(mix[0], mix[1]))); + const float scale = (COLOR_A_MASK) * RECIPROCAL(_MAX( + LIST_N(MIXING_STEPPERS, mix[0], mix[1], mix[2], mix[3], mix[4], mix[5]) + )); // Scale all values so their maximum is COLOR_A_MASK MIXER_STEPPER_LOOP(i) tcolor[i] = mix[i] * scale; #ifdef MIXER_NORMALIZER_DEBUG - SERIAL_ECHOLNPAIR("Mix [", int(mix[0]), ", ", int(mix[1]), "] to Color [", int(tcolor[0]), ", ", int(tcolor[1]), "]"); + SERIAL_ECHOPGM("Mix [ "); + SERIAL_ECHOLIST_N(MIXING_STEPPERS, int(mix[0]), int(mix[1]), int(mix[2]), int(mix[3]), int(mix[4]), int(mix[5])); + SERIAL_ECHOPGM(" ] to Color [ "); + SERIAL_ECHOLIST_N(MIXING_STEPPERS, int(tcolor[0]), int(tcolor[1]), int(tcolor[2]), int(tcolor[3]), int(tcolor[4]), int(tcolor[5])); + SERIAL_ECHOLNPGM(" ]"); #endif } @@ -156,10 +162,14 @@ class Mixer { float ctot = 0; MIXER_STEPPER_LOOP(i) ctot += color[j][i]; //MIXER_STEPPER_LOOP(i) mix[i] = 100.0f * color[j][i] / ctot; - mix[0] = mixer_perc_t(100.0f * color[j][0] / ctot); - mix[1] = 100 - mix[0]; + MIXER_STEPPER_LOOP(i) mix[i] = mixer_perc_t(100.0f * color[j][i] / ctot); + #ifdef MIXER_NORMALIZER_DEBUG - SERIAL_ECHOLNPAIR("V-tool ", int(j), " [", int(color[j][0]), ", ", int(color[j][1]), "] to Mix [", int(mix[0]), ", ", int(mix[1]), "]"); + SERIAL_ECHOPAIR("V-tool ", int(j), " [ "); + SERIAL_ECHOLIST_N(MIXING_STEPPERS, int(color[j][0]), int(color[j][1]), int(color[j][2]), int(color[j][3]), int(color[j][4]), int(color[j][5])); + SERIAL_ECHOPGM(" ] to Mix [ "); + SERIAL_ECHOLIST_N(MIXING_STEPPERS, int(mix[0]), int(mix[1]), int(mix[2]), int(mix[3]), int(mix[4]), int(mix[5])); + SERIAL_ECHOLNPGM(" ]"); #endif } @@ -199,10 +209,14 @@ class Mixer { static inline void update_mix_from_gradient() { float ctot = 0; MIXER_STEPPER_LOOP(i) ctot += gradient.color[i]; - mix[0] = (mixer_perc_t)CEIL(100.0f * gradient.color[0] / ctot); - mix[1] = 100 - mix[0]; + MIXER_STEPPER_LOOP(i) mix[i] = (mixer_perc_t)CEIL(100.0f * gradient.color[i] / ctot); + #ifdef MIXER_NORMALIZER_DEBUG - SERIAL_ECHOLNPAIR("Gradient [", int(gradient.color[0]), ", ", int(gradient.color[1]), "] to Mix [", int(mix[0]), ", ", int(mix[1]), "]"); + SERIAL_ECHOPGM("Gradient [ "); + SERIAL_ECHOLIST_N(MIXING_STEPPERS, int(gradient.color[0]), int(gradient.color[1]), int(gradient.color[2]), int(gradient.color[3]), int(gradient.color[4]), int(gradient.color[5])); + SERIAL_ECHOPGM(" ] to Mix [ "); + SERIAL_ECHOLIST_N(MIXING_STEPPERS, int(mix[0]), int(mix[1]), int(mix[2]), int(mix[3]), int(mix[4]), int(mix[5])); + SERIAL_ECHOLNPGM(" ]"); #endif } diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp index f1b8227b74..ff200d0afb 100644 --- a/Marlin/src/feature/pause.cpp +++ b/Marlin/src/feature/pause.cpp @@ -122,7 +122,7 @@ static bool ensure_safe_temperature(const PauseMode mode=PAUSE_MODE_SAME) { return thermalManager.wait_for_hotend(active_extruder); } -void do_pause_e_move(const float &length, const float &fr_mm_s) { +void do_pause_e_move(const float &length, const feedRate_t &fr_mm_s) { #if HAS_FILAMENT_SENSOR runout.reset(); #endif @@ -399,9 +399,10 @@ bool pause_print(const float &retract, const point_t &park_point, const float &u #elif defined(ACTION_ON_PAUSE) host_action_pause(); #endif - #if ENABLED(HOST_PROMPT_SUPPORT) - host_prompt_open(PROMPT_INFO, PSTR("Pause")); - #endif + #endif + + #if ENABLED(HOST_PROMPT_SUPPORT) + host_prompt_open(PROMPT_INFO, PSTR("Pause"), PSTR("Dismiss")); #endif if (!DEBUGGING(DRYRUN) && unload_length && thermalManager.targetTooColdToExtrude(active_extruder)) { @@ -445,7 +446,7 @@ bool pause_print(const float &retract, const point_t &park_point, const float &u do_pause_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE); // Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos) - if (!axis_unhomed_error()) + if (!axes_need_homing()) nozzle.park(2, park_point); #if ENABLED(DUAL_X_CARRIAGE) @@ -503,6 +504,8 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep #if HAS_BUZZER filament_change_beep(max_beep_count, true); + #else + UNUSED(max_beep_count); #endif // Start the heater idle timers @@ -555,7 +558,7 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep while (wait_for_user) idle(true); #if ENABLED(HOST_PROMPT_SUPPORT) - host_prompt_do(PROMPT_USER_CONTINUE, PSTR("Reheating")); + host_prompt_do(PROMPT_INFO, PSTR("Reheating")); #endif #if ENABLED(EXTENSIBLE_UI) ExtUI::onStatusChanged(PSTR("Reheating...")); @@ -649,16 +652,16 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le #endif // If resume_position is negative - if (resume_position[E_AXIS] < 0) do_pause_e_move(resume_position[E_AXIS], PAUSE_PARK_RETRACT_FEEDRATE); + if (resume_position[E_AXIS] < 0) do_pause_e_move(resume_position[E_AXIS], feedRate_t(PAUSE_PARK_RETRACT_FEEDRATE)); // Move XY to starting position, then Z - do_blocking_move_to_xy(resume_position[X_AXIS], resume_position[Y_AXIS], NOZZLE_PARK_XY_FEEDRATE); + do_blocking_move_to_xy(resume_position[X_AXIS], resume_position[Y_AXIS], feedRate_t(NOZZLE_PARK_XY_FEEDRATE)); // Move Z_AXIS to saved position - do_blocking_move_to_z(resume_position[Z_AXIS], NOZZLE_PARK_Z_FEEDRATE); + do_blocking_move_to_z(resume_position[Z_AXIS], feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); #if ADVANCED_PAUSE_RESUME_PRIME != 0 - do_pause_e_move(ADVANCED_PAUSE_RESUME_PRIME, ADVANCED_PAUSE_PURGE_FEEDRATE); + do_pause_e_move(ADVANCED_PAUSE_RESUME_PRIME, feedRate_t(ADVANCED_PAUSE_PURGE_FEEDRATE)); #endif // Now all extrusion positions are resumed and ready to be confirmed @@ -678,7 +681,7 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le --did_pause_print; #if ENABLED(HOST_PROMPT_SUPPORT) - host_prompt_open(PROMPT_INFO, PSTR("Resume")); + host_prompt_open(PROMPT_INFO, PSTR("Resuming"), PSTR("Dismiss")); #endif #if ENABLED(SDSUPPORT) diff --git a/Marlin/src/feature/pause.h b/Marlin/src/feature/pause.h index 77cbe6b3f5..deb19f46a8 100644 --- a/Marlin/src/feature/pause.h +++ b/Marlin/src/feature/pause.h @@ -81,7 +81,7 @@ extern uint8_t did_pause_print; #define DXC_PASS #endif -void do_pause_e_move(const float &length, const float &fr_mm_s); +void do_pause_e_move(const float &length, const feedRate_t &fr_mm_s); bool pause_print(const float &retract, const point_t &park_point, const float &unload_length=0, const bool show_lcd=false DXC_PARAMS); diff --git a/Marlin/src/feature/power_loss_recovery.cpp b/Marlin/src/feature/power_loss_recovery.cpp index 1c38e4f97a..3420f205f6 100644 --- a/Marlin/src/feature/power_loss_recovery.cpp +++ b/Marlin/src/feature/power_loss_recovery.cpp @@ -36,6 +36,9 @@ bool PrintJobRecovery::enabled; // Initialized by settings.load() SdFile PrintJobRecovery::file; job_recovery_info_t PrintJobRecovery::info; const char PrintJobRecovery::filename[5] = "/PLR"; +uint8_t PrintJobRecovery::queue_index_r; +uint32_t PrintJobRecovery::cmd_sdpos, // = 0 + PrintJobRecovery::sdpos[BUFSIZE]; #include "../sd/cardreader.h" #include "../lcd/ultralcd.h" @@ -95,8 +98,8 @@ void PrintJobRecovery::changed() { */ void PrintJobRecovery::check() { if (enabled) { - if (!card.isDetected()) card.initsd(); - if (card.isDetected()) { + if (!card.isMounted()) card.mount(); + if (card.isMounted()) { load(); if (!valid()) return purge(); queue.inject_P(PSTR("M1000 S")); @@ -124,6 +127,14 @@ void PrintJobRecovery::load() { debug(PSTR("Load")); } +/** + * Set info fields that won't change + */ +void PrintJobRecovery::prepare() { + card.getAbsFilename(info.sd_filename); // SD filename + cmd_sdpos = 0; +} + /** * Save the current machine state to the power-loss recovery file */ @@ -141,9 +152,6 @@ void PrintJobRecovery::save(const bool force/*=false*/, const bool save_queue/*= // Did Z change since the last call? if (force #if DISABLED(SAVE_EACH_CMD_MODE) // Always save state when enabled - #if PIN_EXISTS(POWER_LOSS) // Save if power loss pin is triggered - || READ(POWER_LOSS_PIN) == POWER_LOSS_STATE - #endif #if SAVE_INFO_INTERVAL_MS > 0 // Save if interval is elapsed || ELAPSED(ms, next_save_ms) #endif @@ -175,7 +183,9 @@ void PrintJobRecovery::save(const bool force/*=false*/, const bool save_queue/*= info.active_extruder = active_extruder; #endif - HOTEND_LOOP() info.target_temperature[e] = thermalManager.temp_hotend[e].target; + #if EXTRUDERS + HOTEND_LOOP() info.target_temperature[e] = thermalManager.temp_hotend[e].target; + #endif #if HAS_HEATED_BED info.target_temperature_bed = thermalManager.temp_bed.target; @@ -205,31 +215,23 @@ void PrintJobRecovery::save(const bool force/*=false*/, const bool save_queue/*= info.retract_hop = fwretract.current_hop; #endif - // Relative mode - info.relative_mode = relative_mode; - info.relative_modes_e = gcode.axis_relative_modes[E_AXIS]; - - // Commands in the queue - info.queue_length = save_queue ? queue.length : 0; - info.queue_index_r = queue.index_r; - COPY(info.queue_buffer, queue.command_buffer); + // Relative axis modes + info.axis_relative = gcode.axis_relative; // Elapsed print job time info.print_job_elapsed = print_job_timer.duration(); - // SD file position - card.getAbsFilename(info.sd_filename); - info.sdpos = card.getIndex(); - write(); - - // KILL now if the power-loss pin was triggered - #if PIN_EXISTS(POWER_LOSS) - if (READ(POWER_LOSS_PIN) == POWER_LOSS_STATE) kill(PSTR(MSG_OUTAGE_RECOVERY)); - #endif } } +#if PIN_EXISTS(POWER_LOSS) + void PrintJobRecovery::_outage() { + save(true); + kill(PSTR(MSG_OUTAGE_RECOVERY)); + } +#endif + /** * Save the recovery info the recovery file */ @@ -251,6 +253,8 @@ void PrintJobRecovery::resume() { #define RECOVERY_ZRAISE 2 + const uint32_t resume_sdpos = info.sdpos; // Get here before the stepper ISR overwrites it + #if HAS_LEVELING // Make sure leveling is off before any G92 and G28 gcode.process_subcommands_now_P(PSTR("M420 S0 Z0")); @@ -297,17 +301,19 @@ void PrintJobRecovery::resume() { #endif // Restore all hotend temperatures - HOTEND_LOOP() { - const int16_t et = info.target_temperature[e]; - if (et) { - #if HOTENDS > 1 - sprintf_P(cmd, PSTR("T%i"), e); + #if HOTENDS + HOTEND_LOOP() { + const int16_t et = info.target_temperature[e]; + if (et) { + #if HOTENDS > 1 + sprintf_P(cmd, PSTR("T%i"), e); + gcode.process_subcommands_now(cmd); + #endif + sprintf_P(cmd, PSTR("M109 S%i"), et); gcode.process_subcommands_now(cmd); - #endif - sprintf_P(cmd, PSTR("M109 S%i"), et); - gcode.process_subcommands_now(cmd); + } } - } + #endif // Restore print cooling fan speeds FANS_LOOP(i) { @@ -385,9 +391,8 @@ void PrintJobRecovery::resume() { sprintf_P(cmd, PSTR("G92.9 E%s"), dtostrf(info.current_position[E_AXIS], 1, 3, str_1)); gcode.process_subcommands_now(cmd); - // Relative mode - relative_mode = info.relative_mode; - gcode.axis_relative_modes[E_AXIS] = info.relative_modes_e; + // Relative axis modes + gcode.axis_relative = info.axis_relative; #if HAS_HOME_OFFSET || HAS_POSITION_SHIFT LOOP_XYZ(i) { @@ -401,16 +406,11 @@ void PrintJobRecovery::resume() { } #endif - // Process commands from the old pending queue - uint8_t c = info.queue_length, r = info.queue_index_r; - for (; c--; r = (r + 1) % BUFSIZE) - gcode.process_subcommands_now(info.queue_buffer[r]); - // Resume the SD file from the last position char *fn = info.sd_filename; sprintf_P(cmd, PSTR("M23 %s"), fn); gcode.process_subcommands_now(cmd); - sprintf_P(cmd, PSTR("M24 S%ld T%ld"), info.sdpos, info.print_job_elapsed); + sprintf_P(cmd, PSTR("M24 S%ld T%ld"), resume_sdpos, info.print_job_elapsed); gcode.process_subcommands_now(cmd); } @@ -452,12 +452,14 @@ void PrintJobRecovery::resume() { DEBUG_ECHOLNPAIR("active_extruder: ", int(info.active_extruder)); #endif - DEBUG_ECHOPGM("target_temperature: "); - HOTEND_LOOP() { - DEBUG_ECHO(info.target_temperature[e]); - if (e < HOTENDS - 1) DEBUG_CHAR(','); - } - DEBUG_EOL(); + #if HOTENDS + DEBUG_ECHOPGM("target_temperature: "); + HOTEND_LOOP() { + DEBUG_ECHO(info.target_temperature[e]); + if (e < HOTENDS - 1) DEBUG_CHAR(','); + } + DEBUG_EOL(); + #endif #if HAS_HEATED_BED DEBUG_ECHOLNPAIR("target_temperature_bed: ", info.target_temperature_bed); @@ -484,9 +486,6 @@ void PrintJobRecovery::resume() { DEBUG_EOL(); DEBUG_ECHOLNPAIR("retract_hop: ", info.retract_hop); #endif - DEBUG_ECHOLNPAIR("queue_index_r: ", int(info.queue_index_r)); - DEBUG_ECHOLNPAIR("queue_length: ", int(info.queue_length)); - for (uint8_t i = 0; i < info.queue_length; i++) DEBUG_ECHOLNPAIR("> ", info.queue_buffer[i]); DEBUG_ECHOLNPAIR("sd_filename: ", info.sd_filename); DEBUG_ECHOLNPAIR("sdpos: ", info.sdpos); DEBUG_ECHOLNPAIR("print_job_elapsed: ", info.print_job_elapsed); diff --git a/Marlin/src/feature/power_loss_recovery.h b/Marlin/src/feature/power_loss_recovery.h index 34322243fd..58b6c1dc7a 100644 --- a/Marlin/src/feature/power_loss_recovery.h +++ b/Marlin/src/feature/power_loss_recovery.h @@ -59,7 +59,9 @@ typedef struct { uint8_t active_extruder; #endif - int16_t target_temperature[HOTENDS]; + #if HOTENDS + int16_t target_temperature[HOTENDS]; + #endif #if HAS_HEATED_BED int16_t target_temperature_bed; @@ -87,16 +89,12 @@ typedef struct { #endif #endif - // Relative mode - bool relative_mode, relative_modes_e; - - // Command queue - uint8_t queue_length, queue_index_r; - char queue_buffer[BUFSIZE][MAX_CMD_SIZE]; + // Relative axis modes + uint8_t axis_relative; // SD Filename and position char sd_filename[MAXPATHNAMELENGTH]; - uint32_t sdpos; + volatile uint32_t sdpos; // Job elapsed time millis_t print_job_elapsed; @@ -112,7 +110,12 @@ class PrintJobRecovery { static SdFile file; static job_recovery_info_t info; + static uint8_t queue_index_r; //!< Queue index of the active command + static uint32_t cmd_sdpos, //!< SD position of the next command + sdpos[BUFSIZE]; //!< SD positions of queued commands + static void init(); + static void prepare(); static inline void setup() { #if PIN_EXISTS(POWER_LOSS) @@ -128,6 +131,10 @@ class PrintJobRecovery { #endif } + // Track each command's file offsets + static inline uint32_t command_sdpos() { return sdpos[queue_index_r]; } + static inline void commit_sdpos(const uint8_t index_w) { sdpos[index_w] = cmd_sdpos; } + static bool enabled; static void enable(const bool onoff); static void changed(); @@ -150,6 +157,13 @@ class PrintJobRecovery { , const bool save_queue=true ); + #if PIN_EXISTS(POWER_LOSS) + static inline void outage() { + if (enabled && IS_SD_PRINTING() && READ(POWER_LOSS_PIN) == POWER_LOSS_STATE) + _outage(); + } + #endif + static inline bool valid() { return info.valid_head && info.valid_head == info.valid_foot; } #if ENABLED(DEBUG_POWER_LOSS_RECOVERY) @@ -160,6 +174,10 @@ class PrintJobRecovery { private: static void write(); + + #if PIN_EXISTS(POWER_LOSS) + static void _outage(); + #endif }; extern PrintJobRecovery recovery; diff --git a/Marlin/src/feature/prusa_MMU2/mmu2.cpp b/Marlin/src/feature/prusa_MMU2/mmu2.cpp index 0baa5bd958..8f5537ba9c 100644 --- a/Marlin/src/feature/prusa_MMU2/mmu2.cpp +++ b/Marlin/src/feature/prusa_MMU2/mmu2.cpp @@ -102,8 +102,8 @@ char MMU2::rx_buffer[16], MMU2::tx_buffer[16]; #if HAS_LCD_MENU && ENABLED(MMU2_MENUS) struct E_Step { - float extrude; //!< extrude distance in mm - float feedRate; //!< feed rate in mm/s + float extrude; //!< extrude distance in mm + feedRate_t feedRate; //!< feed rate in mm/s }; static constexpr E_Step ramming_sequence[] PROGMEM = { MMU2_RAMMING_SEQUENCE }; @@ -432,9 +432,7 @@ bool MMU2::rx_ok() { */ void MMU2::check_version() { if (buildnr < MMU_REQUIRED_FW_BUILDNR) { - SERIAL_ERROR_START(); - SERIAL_ECHOPGM("MMU2 firmware version invalid. Required version >= "); - SERIAL_ECHOLN(MMU_REQUIRED_FW_BUILDNR); + SERIAL_ERROR_MSG("Invalid MMU2 firmware. Version >= " STRINGIFY(MMU_REQUIRED_FW_BUILDNR) " required."); kill(MSG_MMU2_WRONG_FIRMWARE); } } @@ -533,7 +531,7 @@ void MMU2::command(const uint8_t mmu_cmd) { /** * Wait for response from MMU */ -bool MMU2::get_response(void) { +bool MMU2::get_response() { while (cmd != MMU_CMD_NONE) idle(); while (!ready) { @@ -606,10 +604,10 @@ void MMU2::manage_response(const bool move_axes, const bool turn_off_nozzle) { BUZZ(200, 404); // Move XY to starting position, then Z - do_blocking_move_to_xy(resume_position[X_AXIS], resume_position[Y_AXIS], NOZZLE_PARK_XY_FEEDRATE); + do_blocking_move_to_xy(resume_position[X_AXIS], resume_position[Y_AXIS], feedRate_t(NOZZLE_PARK_XY_FEEDRATE)); // Move Z_AXIS to saved position - do_blocking_move_to_z(resume_position[Z_AXIS], NOZZLE_PARK_Z_FEEDRATE); + do_blocking_move_to_z(resume_position[Z_AXIS], feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); } else { BUZZ(200, 404); @@ -698,8 +696,6 @@ void MMU2::filament_runout() { } LCD_MESSAGEPGM(MSG_MMU2_EJECTING_FILAMENT); - const bool saved_e_relative_mode = gcode.axis_relative_modes[E_AXIS]; - gcode.axis_relative_modes[E_AXIS] = true; enable_E0(); current_position[E_AXIS] -= MMU2_FILAMENTCHANGE_EJECT_FEED; @@ -735,8 +731,6 @@ void MMU2::filament_runout() { BUZZ(200, 404); - gcode.axis_relative_modes[E_AXIS] = saved_e_relative_mode; - disable_E0(); return true; @@ -784,28 +778,22 @@ void MMU2::filament_runout() { planner.synchronize(); enable_E0(); - const bool saved_e_relative_mode = gcode.axis_relative_modes[E_AXIS]; - gcode.axis_relative_modes[E_AXIS] = true; - const E_Step* step = sequence; for (uint8_t i = 0; i < steps; i++) { - const float es = pgm_read_float(&(step->extrude)), - fr = pgm_read_float(&(step->feedRate)); + const float es = pgm_read_float(&(step->extrude)); + const feedRate_t fr_mm_m = pgm_read_float(&(step->feedRate)); DEBUG_ECHO_START(); - DEBUG_ECHOLNPAIR("E step ", es, "/", fr); + DEBUG_ECHOLNPAIR("E step ", es, "/", fr_mm_m); current_position[E_AXIS] += es; - planner.buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], - current_position[E_AXIS], MMM_TO_MMS(fr), active_extruder); + line_to_current_position(MMM_TO_MMS(fr_mm_m)); planner.synchronize(); step++; } - gcode.axis_relative_modes[E_AXIS] = saved_e_relative_mode; - disable_E0(); } diff --git a/Marlin/src/feature/prusa_MMU2/mmu2.h b/Marlin/src/feature/prusa_MMU2/mmu2.h index 0c20be9d8e..e102481c19 100644 --- a/Marlin/src/feature/prusa_MMU2/mmu2.h +++ b/Marlin/src/feature/prusa_MMU2/mmu2.h @@ -61,7 +61,7 @@ private: static void check_version(); static void command(const uint8_t cmd); - static bool get_response(void); + static bool get_response(); static void manage_response(const bool move_axes, const bool turn_off_nozzle); #if HAS_LCD_MENU && ENABLED(MMU2_MENUS) diff --git a/Marlin/src/feature/runout.h b/Marlin/src/feature/runout.h index faf2d8b110..ab92c1f7c1 100644 --- a/Marlin/src/feature/runout.h +++ b/Marlin/src/feature/runout.h @@ -27,7 +27,8 @@ #include "../sd/cardreader.h" #include "../module/printcounter.h" -#include "../module/stepper.h" +#include "../module/planner.h" +#include "../module/stepper.h" // for block_t #include "../gcode/queue.h" #include "../inc/MarlinConfig.h" @@ -97,7 +98,11 @@ class TFilamentMonitor : public FilamentMonitorBase { // Give the response a chance to update its counter. static inline void run() { - if (enabled && !filament_ran_out && (IS_SD_PRINTING() || print_job_timer.isRunning() || did_pause_print)) { + if (enabled && !filament_ran_out && (IS_SD_PRINTING() || print_job_timer.isRunning() + #if ENABLED(ADVANCED_PAUSE_FEATURE) + || did_pause_print + #endif + )) { #ifdef FILAMENT_RUNOUT_DISTANCE_MM cli(); // Prevent RunoutResponseDelayed::block_completed from accumulating here #endif diff --git a/Marlin/src/feature/touch/xpt2046.cpp b/Marlin/src/feature/touch/xpt2046.cpp index cf1afc554c..b0ab10e7ce 100644 --- a/Marlin/src/feature/touch/xpt2046.cpp +++ b/Marlin/src/feature/touch/xpt2046.cpp @@ -43,11 +43,11 @@ XPT2046 touch; extern int8_t encoderDiff; -void XPT2046::init(void) { +void XPT2046::init() { SET_INPUT(TOUCH_MISO_PIN); SET_OUTPUT(TOUCH_MOSI_PIN); SET_OUTPUT(TOUCH_SCK_PIN); - OUT_WRITE(TOUCH_CS_PIN, 1); + OUT_WRITE(TOUCH_CS_PIN, HIGH); #if PIN_EXISTS(TOUCH_INT) // Optional Pendrive interrupt pin diff --git a/Marlin/src/feature/touch/xpt2046.h b/Marlin/src/feature/touch/xpt2046.h index c4ac9d9662..384d7904bd 100644 --- a/Marlin/src/feature/touch/xpt2046.h +++ b/Marlin/src/feature/touch/xpt2046.h @@ -40,11 +40,11 @@ enum XPTCoordinate : uint8_t { class XPT2046 { public: - static void init(void); + static void init(); static uint8_t read_buttons(); bool getTouchPoint(uint16_t &x, uint16_t &y); static bool isTouched(); - inline void waitForRelease(void) { while (isTouched()) { /* nada */ } } + inline void waitForRelease() { while (isTouched()) { /* nada */ } } inline void waitForTouch(uint16_t &x, uint16_t &y) { while (!getTouchPoint(x, y)) { /* nada */ } } private: static uint16_t getInTouch(const XPTCoordinate coordinate); diff --git a/Marlin/src/feature/twibus.cpp b/Marlin/src/feature/twibus.cpp index ccd778120d..f4fe512cdf 100644 --- a/Marlin/src/feature/twibus.cpp +++ b/Marlin/src/feature/twibus.cpp @@ -34,12 +34,12 @@ TWIBus::TWIBus() { #else Wire.begin(I2C_SLAVE_ADDRESS); // Join the bus as a slave #endif - this->reset(); + reset(); } void TWIBus::reset() { - this->buffer_s = 0; - this->buffer[0] = 0x00; + buffer_s = 0; + buffer[0] = 0x00; } void TWIBus::address(const uint8_t adr) { @@ -47,7 +47,7 @@ void TWIBus::address(const uint8_t adr) { SERIAL_ECHO_MSG("Bad I2C address (8-127)"); } - this->addr = adr; + addr = adr; #if ENABLED(DEBUG_TWIBUS) debug(PSTR("address"), adr); @@ -55,8 +55,8 @@ void TWIBus::address(const uint8_t adr) { } void TWIBus::addbyte(const char c) { - if (this->buffer_s >= COUNT(this->buffer)) return; - this->buffer[this->buffer_s++] = c; + if (buffer_s >= COUNT(buffer)) return; + buffer[buffer_s++] = c; #if ENABLED(DEBUG_TWIBUS) debug(PSTR("addbyte"), c); #endif @@ -66,26 +66,26 @@ void TWIBus::addbytes(char src[], uint8_t bytes) { #if ENABLED(DEBUG_TWIBUS) debug(PSTR("addbytes"), bytes); #endif - while (bytes--) this->addbyte(*src++); + while (bytes--) addbyte(*src++); } void TWIBus::addstring(char str[]) { #if ENABLED(DEBUG_TWIBUS) debug(PSTR("addstring"), str); #endif - while (char c = *str++) this->addbyte(c); + while (char c = *str++) addbyte(c); } void TWIBus::send() { #if ENABLED(DEBUG_TWIBUS) - debug(PSTR("send"), this->addr); + debug(PSTR("send"), addr); #endif - Wire.beginTransmission(I2C_ADDRESS(this->addr)); - Wire.write(this->buffer, this->buffer_s); + Wire.beginTransmission(I2C_ADDRESS(addr)); + Wire.write(buffer, buffer_s); Wire.endTransmission(); - this->reset(); + reset(); } // static @@ -103,22 +103,22 @@ void TWIBus::echodata(uint8_t bytes, const char prefix[], uint8_t adr) { } void TWIBus::echobuffer(const char prefix[], uint8_t adr) { - echoprefix(this->buffer_s, prefix, adr); - for (uint8_t i = 0; i < this->buffer_s; i++) SERIAL_CHAR(this->buffer[i]); + echoprefix(buffer_s, prefix, adr); + for (uint8_t i = 0; i < buffer_s; i++) SERIAL_CHAR(buffer[i]); SERIAL_EOL(); } bool TWIBus::request(const uint8_t bytes) { - if (!this->addr) return false; + if (!addr) return false; #if ENABLED(DEBUG_TWIBUS) debug(PSTR("request"), bytes); #endif // requestFrom() is a blocking function - if (Wire.requestFrom(this->addr, bytes) == 0) { + if (Wire.requestFrom(addr, bytes) == 0) { #if ENABLED(DEBUG_TWIBUS) - debug("request fail", this->addr); + debug("request fail", addr); #endif return false; } @@ -131,12 +131,12 @@ void TWIBus::relay(const uint8_t bytes) { debug(PSTR("relay"), bytes); #endif - if (this->request(bytes)) - echodata(bytes, PSTR("i2c-reply"), this->addr); + if (request(bytes)) + echodata(bytes, PSTR("i2c-reply"), addr); } uint8_t TWIBus::capture(char *dst, const uint8_t bytes) { - this->reset(); + reset(); uint8_t count = 0; while (count < bytes && Wire.available()) dst[count++] = Wire.read(); @@ -168,13 +168,13 @@ void TWIBus::flush() { #endif if (str) { - this->reset(); - this->addstring(str); + reset(); + addstring(str); } - Wire.write(this->buffer, this->buffer_s); + Wire.write(buffer, buffer_s); - this->reset(); + reset(); } #endif diff --git a/Marlin/src/feature/twibus.h b/Marlin/src/feature/twibus.h index 1e2f14cfc0..cc40476374 100644 --- a/Marlin/src/feature/twibus.h +++ b/Marlin/src/feature/twibus.h @@ -218,7 +218,7 @@ class TWIBus { * If a string is passed, write it into the buffer first. */ void reply(char str[]=nullptr); - inline void reply(const char str[]) { this->reply((char*)str); } + inline void reply(const char str[]) { reply((char*)str); } #endif diff --git a/Marlin/src/gcode/bedlevel/G26.cpp b/Marlin/src/gcode/bedlevel/G26.cpp index 2d0861ad00..f98ffc88cb 100644 --- a/Marlin/src/gcode/bedlevel/G26.cpp +++ b/Marlin/src/gcode/bedlevel/G26.cpp @@ -216,41 +216,32 @@ mesh_index_pair find_closest_circle_to_print(const float &X, const float &Y) { return return_val; } -void G26_line_to_destination(const float &feed_rate) { - const float save_feedrate = feedrate_mm_s; - feedrate_mm_s = feed_rate; - prepare_move_to_destination(); // will ultimately call ubl.line_to_destination_cartesian or ubl.prepare_linear_move_to for UBL_SEGMENTED - feedrate_mm_s = save_feedrate; -} - void move_to(const float &rx, const float &ry, const float &z, const float &e_delta) { - float feed_value; static float last_z = -999.99; bool has_xy_component = (rx != current_position[X_AXIS] || ry != current_position[Y_AXIS]); // Check if X or Y is involved in the movement. if (z != last_z) { last_z = z; - feed_value = planner.settings.max_feedrate_mm_s[Z_AXIS]/(2.0); // Base the feed rate off of the configured Z_AXIS feed rate + const feedRate_t feed_value = planner.settings.max_feedrate_mm_s[Z_AXIS] * 0.5f; // Use half of the Z_AXIS max feed rate destination[X_AXIS] = current_position[X_AXIS]; destination[Y_AXIS] = current_position[Y_AXIS]; destination[Z_AXIS] = z; // We know the last_z!=z or we wouldn't be in this block of code. destination[E_AXIS] = current_position[E_AXIS]; - G26_line_to_destination(feed_value); + prepare_internal_move_to_destination(feed_value); set_destination_from_current(); } - // Check if X or Y is involved in the movement. - // Yes: a 'normal' movement. No: a retract() or recover() - feed_value = has_xy_component ? G26_XY_FEEDRATE : planner.settings.max_feedrate_mm_s[E_AXIS] / 1.5; + // If X or Y is involved do a 'normal' move. Otherwise retract/recover/hop. + const feedRate_t feed_value = has_xy_component ? feedRate_t(G26_XY_FEEDRATE) : planner.settings.max_feedrate_mm_s[E_AXIS] * 0.666f; destination[X_AXIS] = rx; destination[Y_AXIS] = ry; destination[E_AXIS] += e_delta; - G26_line_to_destination(feed_value); + prepare_internal_move_to_destination(feed_value); set_destination_from_current(); } @@ -433,6 +424,7 @@ inline bool turn_on_heaters() { */ inline bool prime_nozzle() { + const feedRate_t fr_slow_e = planner.settings.max_feedrate_mm_s[E_AXIS] / 15.0f; #if HAS_LCD_MENU #if ENABLED(PREVENT_LENGTHY_EXTRUDE) float Total_Prime = 0.0; @@ -455,7 +447,7 @@ inline bool prime_nozzle() { Total_Prime += 0.25; if (Total_Prime >= EXTRUDE_MAXLENGTH) return G26_ERR; #endif - G26_line_to_destination(planner.settings.max_feedrate_mm_s[E_AXIS] / 15.0); + prepare_internal_move_to_destination(fr_slow_e); set_destination_from_current(); planner.synchronize(); // Without this synchronize, the purge is more consistent, // but because the planner has a buffer, we won't be able @@ -478,7 +470,7 @@ inline bool prime_nozzle() { #endif set_destination_from_current(); destination[E_AXIS] += g26_prime_length; - G26_line_to_destination(planner.settings.max_feedrate_mm_s[E_AXIS] / 15.0); + prepare_internal_move_to_destination(fr_slow_e); set_destination_from_current(); retract_filament(destination); } @@ -486,12 +478,6 @@ inline bool prime_nozzle() { return G26_OK; } -float valid_trig_angle(float d) { - while (d > 360.0) d -= 360.0; - while (d < 0.0) d += 360.0; - return d; -} - /** * G26: Mesh Validation Pattern generation. * @@ -787,12 +773,13 @@ void GcodeSuite::G26() { move_to(sx, sy, g26_layer_height, 0.0); // Get to the starting point with no extrusion / un-Z bump recover_filament(destination); - const float save_feedrate = feedrate_mm_s; - feedrate_mm_s = PLANNER_XY_FEEDRATE() / 10.0; + const feedRate_t old_feedrate = feedrate_mm_s; + feedrate_mm_s = PLANNER_XY_FEEDRATE() * 0.1f; plan_arc(endpoint, arc_offset, false); // Draw a counter-clockwise arc - feedrate_mm_s = save_feedrate; + feedrate_mm_s = old_feedrate; set_destination_from_current(); + #if HAS_LCD_MENU if (user_canceled()) goto LEAVE; // Check if the user wants to stop the Mesh Validation #endif diff --git a/Marlin/src/gcode/bedlevel/G42.cpp b/Marlin/src/gcode/bedlevel/G42.cpp index f5336cdcb1..55bc82317c 100644 --- a/Marlin/src/gcode/bedlevel/G42.cpp +++ b/Marlin/src/gcode/bedlevel/G42.cpp @@ -45,23 +45,25 @@ void GcodeSuite::G42() { } set_destination_from_current(); + if (hasI) destination[X_AXIS] = _GET_MESH_X(ix); if (hasJ) destination[Y_AXIS] = _GET_MESH_Y(iy); + #if HAS_BED_PROBE if (parser.boolval('P')) { - if (hasI) destination[X_AXIS] -= zprobe_offset[X_AXIS]; - if (hasJ) destination[Y_AXIS] -= zprobe_offset[Y_AXIS]; + if (hasI) destination[X_AXIS] -= probe_offset[X_AXIS]; + if (hasJ) destination[Y_AXIS] -= probe_offset[Y_AXIS]; } #endif - const float fval = parser.linearval('F'); - if (fval > 0.0) feedrate_mm_s = MMM_TO_MMS(fval); + const feedRate_t fval = parser.linearval('F'), + fr_mm_s = fval > 0 ? MMM_TO_MMS(fval) : 0.0f; // SCARA kinematic has "safe" XY raw moves #if IS_SCARA - prepare_uninterpolated_move_to_destination(); + prepare_internal_fast_move_to_destination(fr_mm_s); #else - prepare_move_to_destination(); + prepare_internal_move_to_destination(fr_mm_s); #endif } } diff --git a/Marlin/src/gcode/bedlevel/M420.cpp b/Marlin/src/gcode/bedlevel/M420.cpp index 0ca389988a..d3d94a99cc 100644 --- a/Marlin/src/gcode/bedlevel/M420.cpp +++ b/Marlin/src/gcode/bedlevel/M420.cpp @@ -64,10 +64,12 @@ void GcodeSuite::M420() { #if ENABLED(MARLIN_DEV_MODE) if (parser.intval('S') == 2) { #if ENABLED(AUTO_BED_LEVELING_BILINEAR) - bilinear_start[X_AXIS] = (_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + zprobe_offset[X_AXIS])); - bilinear_start[Y_AXIS] = (_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + zprobe_offset[Y_AXIS])); - bilinear_grid_spacing[X_AXIS] = ((_MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + zprobe_offset[X_AXIS])) - ((_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + zprobe_offset[X_AXIS])))) / (GRID_MAX_POINTS_X - 1); - bilinear_grid_spacing[Y_AXIS] = ((_MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + zprobe_offset[Y_AXIS])) - ((_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + zprobe_offset[Y_AXIS])))) / (GRID_MAX_POINTS_Y - 1); + const float x_min = probe_min_x(), x_max = probe_max_x(), + y_min = probe_min_y(), y_max = probe_max_y(); + bilinear_start[X_AXIS] = x_min; + bilinear_start[Y_AXIS] = y_min; + bilinear_grid_spacing[X_AXIS] = (x_max - x_min) / (GRID_MAX_POINTS_X - 1); + bilinear_grid_spacing[Y_AXIS] = (y_max - y_min) / (GRID_MAX_POINTS_Y - 1); #endif for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) { @@ -76,11 +78,11 @@ void GcodeSuite::M420() { ExtUI::onMeshUpdate(x, y, Z_VALUES(x, y)); #endif } - SERIAL_ECHOPGM("Simulated " STRINGIFY(GRID_MAX_POINTS_X) "x" STRINGIFY(GRID_MAX_POINTS_X) " mesh "); - SERIAL_ECHOPAIR(" (", (_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + zprobe_offset[X_AXIS]))); - SERIAL_CHAR(','); SERIAL_ECHO((_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + zprobe_offset[Y_AXIS]))); - SERIAL_ECHOPAIR(")-(", (_MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + zprobe_offset[X_AXIS]))); - SERIAL_CHAR(','); SERIAL_ECHO((_MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + zprobe_offset[Y_AXIS]))); + SERIAL_ECHOPGM("Simulated " STRINGIFY(GRID_MAX_POINTS_X) "x" STRINGIFY(GRID_MAX_POINTS_Y) " mesh "); + SERIAL_ECHOPAIR(" (", x_min); + SERIAL_CHAR(','); SERIAL_ECHO(y_min); + SERIAL_ECHOPAIR(")-(", x_max); + SERIAL_CHAR(','); SERIAL_ECHO(y_max); SERIAL_ECHOLNPGM(")"); } #endif @@ -125,7 +127,7 @@ void GcodeSuite::M420() { } // L or V display the map info - if (parser.seen('L') || parser.seen('V')) { + if (parser.seen("LV")) { ubl.display_map(parser.byteval('T')); SERIAL_ECHOPGM("Mesh is "); if (!ubl.mesh_is_valid()) SERIAL_ECHOPGM("in"); diff --git a/Marlin/src/gcode/bedlevel/abl/G29.cpp b/Marlin/src/gcode/bedlevel/abl/G29.cpp index cdca2cd486..45eec2805d 100644 --- a/Marlin/src/gcode/bedlevel/abl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/abl/G29.cpp @@ -266,10 +266,18 @@ G29_TYPE GcodeSuite::G29() { #endif // Probe at 3 arbitrary points + const float x_min = probe_min_x(), x_max = probe_max_x(), y_min = probe_min_y(), y_max = probe_max_y(); + ABL_VAR vector_3 points[3] = { + #if ENABLED(HAS_FIXED_3POINT) vector_3(PROBE_PT_1_X, PROBE_PT_1_Y, 0), vector_3(PROBE_PT_2_X, PROBE_PT_2_Y, 0), vector_3(PROBE_PT_3_X, PROBE_PT_3_Y, 0) + #else + vector_3(x_min, y_min, 0), + vector_3(x_max, y_min, 0), + vector_3((x_max - x_min) / 2, y_max, 0) + #endif }; #endif // AUTO_BED_LEVELING_3POINT @@ -349,7 +357,7 @@ G29_TYPE GcodeSuite::G29() { verbose_level = parser.intval('V'); if (!WITHIN(verbose_level, 0, 4)) { - SERIAL_ECHOLNPGM("?(V)erbose level is implausible (0-4)."); + SERIAL_ECHOLNPGM("?(V)erbose level implausible (0-4)."); G29_RETURN(false); } @@ -370,11 +378,11 @@ G29_TYPE GcodeSuite::G29() { if (parser.seenval('P')) abl_grid_points_x = abl_grid_points_y = parser.value_int(); if (!WITHIN(abl_grid_points_x, 2, GRID_MAX_POINTS_X)) { - SERIAL_ECHOLNPGM("?Probe points (X) is implausible (2-" STRINGIFY(GRID_MAX_POINTS_X) ")."); + SERIAL_ECHOLNPGM("?Probe points (X) implausible (2-" STRINGIFY(GRID_MAX_POINTS_X) ")."); G29_RETURN(false); } if (!WITHIN(abl_grid_points_y, 2, GRID_MAX_POINTS_Y)) { - SERIAL_ECHOLNPGM("?Probe points (Y) is implausible (2-" STRINGIFY(GRID_MAX_POINTS_Y) ")."); + SERIAL_ECHOLNPGM("?Probe points (Y) implausible (2-" STRINGIFY(GRID_MAX_POINTS_Y) ")."); G29_RETURN(false); } @@ -391,18 +399,21 @@ G29_TYPE GcodeSuite::G29() { xy_probe_feedrate_mm_s = MMM_TO_MMS(parser.linearval('S', XY_PROBE_SPEED)); + const float x_min = probe_min_x(), x_max = probe_max_x(), + y_min = probe_min_y(), y_max = probe_max_y(); + if (parser.seen('H')) { const int16_t size = (int16_t)parser.value_linear_units(); - left_probe_bed_position = _MAX(X_CENTER - size / 2, (_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + zprobe_offset[X_AXIS]))); - right_probe_bed_position = _MIN(left_probe_bed_position + size, (_MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + zprobe_offset[X_AXIS]))); - front_probe_bed_position = _MAX(Y_CENTER - size / 2, (_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + zprobe_offset[Y_AXIS]))); - back_probe_bed_position = _MIN(front_probe_bed_position + size, (_MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + zprobe_offset[Y_AXIS]))); + left_probe_bed_position = _MAX(X_CENTER - size / 2, x_min); + right_probe_bed_position = _MIN(left_probe_bed_position + size, x_max); + front_probe_bed_position = _MAX(Y_CENTER - size / 2, y_min); + back_probe_bed_position = _MIN(front_probe_bed_position + size, y_max); } else { - left_probe_bed_position = parser.seenval('L') ? (int)RAW_X_POSITION(parser.value_linear_units()) : _MAX(X_CENTER - X_BED_SIZE / 2, (_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + zprobe_offset[X_AXIS]))); - right_probe_bed_position = parser.seenval('R') ? (int)RAW_X_POSITION(parser.value_linear_units()) : _MIN(left_probe_bed_position + X_BED_SIZE, (_MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + zprobe_offset[X_AXIS]))); - front_probe_bed_position = parser.seenval('F') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : _MAX(Y_CENTER - Y_BED_SIZE / 2, (_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + zprobe_offset[Y_AXIS]))); - back_probe_bed_position = parser.seenval('B') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : _MIN(front_probe_bed_position + Y_BED_SIZE, (_MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + zprobe_offset[Y_AXIS]))); + left_probe_bed_position = parser.seenval('L') ? (int)RAW_X_POSITION(parser.value_linear_units()) : _MAX(X_CENTER - X_BED_SIZE / 2, x_min); + right_probe_bed_position = parser.seenval('R') ? (int)RAW_X_POSITION(parser.value_linear_units()) : _MIN(left_probe_bed_position + X_BED_SIZE, x_max); + front_probe_bed_position = parser.seenval('F') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : _MAX(Y_CENTER - Y_BED_SIZE / 2, y_min); + back_probe_bed_position = parser.seenval('B') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : _MIN(front_probe_bed_position + Y_BED_SIZE, y_max); } if ( @@ -446,7 +457,7 @@ G29_TYPE GcodeSuite::G29() { } #endif - if (!faux) setup_for_endstop_or_probe_move(); + if (!faux) remember_feedrate_scaling_off(); #if ENABLED(AUTO_BED_LEVELING_BILINEAR) @@ -711,10 +722,10 @@ G29_TYPE GcodeSuite::G29() { if (verbose_level) SERIAL_ECHOLNPAIR("Probing mesh point ", int(pt_index), "/", int(GRID_MAX_POINTS), "."); #if HAS_DISPLAY - ui.status_printf_P(0, PSTR(MSG_PROBING_MESH " %i/%i"), int(pt_index), int(GRID_MAX_POINTS)); + ui.status_printf_P(0, PSTR(S_FMT " %i/%i"), PSTR(MSG_PROBING_MESH), int(pt_index), int(GRID_MAX_POINTS)); #endif - measured_z = faux ? 0.001 * random(-100, 101) : probe_pt(xProbe, yProbe, raise_after, verbose_level); + measured_z = faux ? 0.001 * random(-100, 101) : probe_at_point(xProbe, yProbe, raise_after, verbose_level); if (isnan(measured_z)) { set_bed_leveling_enabled(abl_should_enable); @@ -759,7 +770,7 @@ G29_TYPE GcodeSuite::G29() { // Retain the last probe position xProbe = points[i].x; yProbe = points[i].y; - measured_z = faux ? 0.001 * random(-100, 101) : probe_pt(xProbe, yProbe, raise_after, verbose_level); + measured_z = faux ? 0.001 * random(-100, 101) : probe_at_point(xProbe, yProbe, raise_after, verbose_level); if (isnan(measured_z)) { set_bed_leveling_enabled(abl_should_enable); break; @@ -769,11 +780,7 @@ G29_TYPE GcodeSuite::G29() { if (!dryrun && !isnan(measured_z)) { vector_3 planeNormal = vector_3::cross(points[0] - points[1], points[2] - points[1]).get_normal(); - if (planeNormal.z < 0) { - planeNormal.x *= -1; - planeNormal.y *= -1; - planeNormal.z *= -1; - } + if (planeNormal.z < 0) planeNormal *= -1; planner.bed_level_matrix = matrix_3x3::create_look_at(planeNormal); // Can't re-enable (on error) until the new grid is written @@ -951,8 +958,8 @@ G29_TYPE GcodeSuite::G29() { planner.leveling_active = false; // Use the last measured distance to the bed, if possible - if ( NEAR(current_position[X_AXIS], xProbe - (zprobe_offset[X_AXIS])) - && NEAR(current_position[Y_AXIS], yProbe - (zprobe_offset[Y_AXIS])) + if ( NEAR(current_position[X_AXIS], xProbe - probe_offset[X_AXIS]) + && NEAR(current_position[Y_AXIS], yProbe - probe_offset[Y_AXIS]) ) { const float simple_z = current_position[Z_AXIS] - measured_z; if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("Probed Z", simple_z, " Matrix Z", converted[Z_AXIS], " Discrepancy ", simple_z - converted[Z_AXIS]); @@ -984,7 +991,7 @@ G29_TYPE GcodeSuite::G29() { } // !isnan(measured_z) // Restore state after probing - if (!faux) clean_up_after_endstop_or_probe_move(); + if (!faux) restore_feedrate_and_scaling(); if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< G29"); diff --git a/Marlin/src/gcode/bedlevel/abl/M421.cpp b/Marlin/src/gcode/bedlevel/abl/M421.cpp index f755115317..b9470528a1 100644 --- a/Marlin/src/gcode/bedlevel/abl/M421.cpp +++ b/Marlin/src/gcode/bedlevel/abl/M421.cpp @@ -29,7 +29,7 @@ #if ENABLED(AUTO_BED_LEVELING_BILINEAR) #include "../../gcode.h" -#include "../../../feature/bedlevel/abl/abl.h" +#include "../../../feature/bedlevel/bedlevel.h" #if ENABLED(EXTENSIBLE_UI) #include "../../../lcd/extensible_ui/ui_api.h" diff --git a/Marlin/src/gcode/bedlevel/mbl/G29.cpp b/Marlin/src/gcode/bedlevel/mbl/G29.cpp index b0f6124422..eee542a6f5 100644 --- a/Marlin/src/gcode/bedlevel/mbl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/mbl/G29.cpp @@ -143,8 +143,7 @@ void GcodeSuite::G29() { #if ENABLED(MESH_G28_REST_ORIGIN) current_position[Z_AXIS] = 0; - set_destination_from_current(); - buffer_line_to_destination(homing_feedrate(Z_AXIS)); + line_to_current_position(homing_feedrate(Z_AXIS)); planner.synchronize(); #endif diff --git a/Marlin/src/gcode/bedlevel/ubl/G29.cpp b/Marlin/src/gcode/bedlevel/ubl/G29.cpp index cb130c39d6..c0f8f20439 100644 --- a/Marlin/src/gcode/bedlevel/ubl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/ubl/G29.cpp @@ -29,7 +29,7 @@ #if ENABLED(AUTO_BED_LEVELING_UBL) #include "../../gcode.h" -#include "../../../feature/bedlevel/ubl/ubl.h" +#include "../../../feature/bedlevel/bedlevel.h" void GcodeSuite::G29() { ubl.G29(); } diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp index 21a8ef0edc..514bb65891 100644 --- a/Marlin/src/gcode/calibrate/G28.cpp +++ b/Marlin/src/gcode/calibrate/G28.cpp @@ -39,9 +39,7 @@ #include "../../feature/tmc_util.h" #endif -#if HOMING_Z_WITH_PROBE || ENABLED(BLTOUCH) - #include "../../module/probe.h" -#endif +#include "../../module/probe.h" #if ENABLED(BLTOUCH) #include "../../feature/bltouch.h" @@ -124,7 +122,7 @@ return; } - if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Z_SAFE_HOMING >>>"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("home_z_safely >>>"); sync_plan_position(); @@ -136,13 +134,13 @@ destination[Z_AXIS] = current_position[Z_AXIS]; // Z is already at the right height #if HOMING_Z_WITH_PROBE - destination[X_AXIS] -= zprobe_offset[X_AXIS]; - destination[Y_AXIS] -= zprobe_offset[Y_AXIS]; + destination[X_AXIS] -= probe_offset[X_AXIS]; + destination[Y_AXIS] -= probe_offset[Y_AXIS]; #endif if (position_is_reachable(destination[X_AXIS], destination[Y_AXIS])) { - if (DEBUGGING(LEVELING)) DEBUG_POS("Z_SAFE_HOMING", destination); + if (DEBUGGING(LEVELING)) DEBUG_POS("home_z_safely", destination); // This causes the carriage on Dual X to unpark #if ENABLED(DUAL_X_CARRIAGE) @@ -161,7 +159,7 @@ SERIAL_ECHO_MSG(MSG_ZPROBE_OUT); } - if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< Z_SAFE_HOMING"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< home_z_safely"); } #endif // Z_SAFE_HOMING @@ -261,7 +259,7 @@ void GcodeSuite::G28(const bool always_home_all) { extruder_duplication_enabled = false; #endif - setup_for_endstop_or_probe_move(); + remember_feedrate_scaling_off(); endstops.enable(true); // Enable endstops for next homing move @@ -427,7 +425,7 @@ void GcodeSuite::G28(const bool always_home_all) { set_bed_leveling_enabled(leveling_was_active); #endif - clean_up_after_endstop_or_probe_move(); + restore_feedrate_and_scaling(); // Restore the active tool after homing #if HOTENDS > 1 && (DISABLED(DELTA) || ENABLED(DELTA_HOME_TO_SAFE_ZONE)) diff --git a/Marlin/src/gcode/calibrate/G33.cpp b/Marlin/src/gcode/calibrate/G33.cpp index 5eaadeb77d..1e3e84a1e4 100644 --- a/Marlin/src/gcode/calibrate/G33.cpp +++ b/Marlin/src/gcode/calibrate/G33.cpp @@ -84,7 +84,7 @@ void ac_setup(const bool reset_bed) { #endif planner.synchronize(); - setup_for_endstop_or_probe_move(); + remember_feedrate_scaling_off(); #if HAS_LEVELING if (reset_bed) reset_bed_level(); // After full calibration bed-level data is no longer valid @@ -102,7 +102,7 @@ void ac_cleanup( #if HAS_BED_PROBE STOW_PROBE(); #endif - clean_up_after_endstop_or_probe_move(); + restore_feedrate_and_scaling(); #if HOTENDS > 1 tool_change(old_tool_index, true); #endif @@ -179,10 +179,10 @@ static float std_dev_points(float z_pt[NPP + 1], const bool _0p_cal, const bool S2 += sq(z_pt[rad]); N++; } - return LROUND(SQRT(S2 / N) * 1000.0) / 1000.0 + 0.00001; + return LROUND(SQRT(S2 / N) * 1000.0f) / 1000.0f + 0.00001f; } } - return 0.00001; + return 0.00001f; } /** @@ -190,7 +190,7 @@ static float std_dev_points(float z_pt[NPP + 1], const bool _0p_cal, const bool */ static float calibration_probe(const float &nx, const float &ny, const bool stow) { #if HAS_BED_PROBE - return probe_pt(nx, ny, stow ? PROBE_PT_STOW : PROBE_PT_RAISE, 0, false); + return probe_at_point(nx, ny, stow ? PROBE_PT_STOW : PROBE_PT_RAISE, 0, false); #else UNUSED(stow); return lcd_probe_pt(nx, ny); @@ -218,7 +218,7 @@ static bool probe_calibration_points(float z_pt[NPP + 1], const int8_t probe_poi _7p_6_center = probe_points >= 5 && probe_points <= 7, _7p_9_center = probe_points >= 8; - LOOP_CAL_ALL(rad) z_pt[rad] = 0.0; + LOOP_CAL_ALL(rad) z_pt[rad] = 0.0f; if (!_0p_calibration) { @@ -228,8 +228,8 @@ static bool probe_calibration_points(float z_pt[NPP + 1], const int8_t probe_poi } if (_7p_calibration) { // probe extra center points - const float start = _7p_9_center ? float(_CA) + _7P_STEP / 3.0 : _7p_6_center ? float(_CA) : float(__C), - steps = _7p_9_center ? _4P_STEP / 3.0 : _7p_6_center ? _7P_STEP : _4P_STEP; + const float start = _7p_9_center ? float(_CA) + _7P_STEP / 3.0f : _7p_6_center ? float(_CA) : float(__C), + steps = _7p_9_center ? _4P_STEP / 3.0f : _7p_6_center ? _7P_STEP : _4P_STEP; I_LOOP_CAL_PT(rad, start, steps) { const float a = RADIANS(210 + (360 / NPP) * (rad - 1)), r = delta_calibration_radius * 0.1; @@ -241,13 +241,13 @@ static bool probe_calibration_points(float z_pt[NPP + 1], const int8_t probe_poi if (!_1p_calibration) { // probe the radius const CalEnum start = _4p_opposite_points ? _AB : __A; - const float steps = _7p_14_intermediates ? _7P_STEP / 15.0 : // 15r * 6 + 10c = 100 - _7p_11_intermediates ? _7P_STEP / 12.0 : // 12r * 6 + 9c = 81 - _7p_8_intermediates ? _7P_STEP / 9.0 : // 9r * 6 + 10c = 64 - _7p_6_intermediates ? _7P_STEP / 7.0 : // 7r * 6 + 7c = 49 - _7p_4_intermediates ? _7P_STEP / 5.0 : // 5r * 6 + 6c = 36 - _7p_2_intermediates ? _7P_STEP / 3.0 : // 3r * 6 + 7c = 25 - _7p_1_intermediates ? _7P_STEP / 2.0 : // 2r * 6 + 4c = 16 + const float steps = _7p_14_intermediates ? _7P_STEP / 15.0f : // 15r * 6 + 10c = 100 + _7p_11_intermediates ? _7P_STEP / 12.0f : // 12r * 6 + 9c = 81 + _7p_8_intermediates ? _7P_STEP / 9.0f : // 9r * 6 + 10c = 64 + _7p_6_intermediates ? _7P_STEP / 7.0f : // 7r * 6 + 7c = 49 + _7p_4_intermediates ? _7P_STEP / 5.0f : // 5r * 6 + 6c = 36 + _7p_2_intermediates ? _7P_STEP / 3.0f : // 3r * 6 + 7c = 25 + _7p_1_intermediates ? _7P_STEP / 2.0f : // 2r * 6 + 4c = 16 _7p_no_intermediates ? _7P_STEP : // 1r * 6 + 3c = 9 _4P_STEP; // .5r * 6 + 1c = 4 bool zig_zag = true; @@ -269,7 +269,7 @@ static bool probe_calibration_points(float z_pt[NPP + 1], const int8_t probe_poi LOOP_CAL_RAD(rad) z_pt[rad] /= _7P_STEP / steps; - do_blocking_move_to_xy(0.0, 0.0); + do_blocking_move_to_xy(0.0f, 0.0f); } } return true; @@ -286,7 +286,7 @@ static void reverse_kinematics_probe_points(float z_pt[NPP + 1], float mm_at_pt_ LOOP_CAL_ALL(rad) { const float a = RADIANS(210 + (360 / NPP) * (rad - 1)), - r = (rad == CEN ? 0.0 : delta_calibration_radius); + r = (rad == CEN ? 0.0f : delta_calibration_radius); pos[X_AXIS] = cos(a) * r; pos[Y_AXIS] = sin(a) * r; pos[Z_AXIS] = z_pt[rad]; @@ -298,7 +298,7 @@ static void reverse_kinematics_probe_points(float z_pt[NPP + 1], float mm_at_pt_ static void forward_kinematics_probe_points(float mm_at_pt_axis[NPP + 1][ABC], float z_pt[NPP + 1]) { const float r_quot = delta_calibration_radius / delta_radius; - #define ZPP(N,I,A) ((1 / 3.0 + r_quot * (N) / 3.0 ) * mm_at_pt_axis[I][A]) + #define ZPP(N,I,A) ((1 / 3.0f + r_quot * (N) / 3.0f ) * mm_at_pt_axis[I][A]) #define Z00(I, A) ZPP( 0, I, A) #define Zp1(I, A) ZPP(+1, I, A) #define Zm1(I, A) ZPP(-1, I, A) @@ -339,44 +339,45 @@ static void calc_kinematics_diff_probe_points(float z_pt[NPP + 1], float delta_e static float auto_tune_h() { const float r_quot = delta_calibration_radius / delta_radius; - float h_fac = 0.0; + float h_fac = 0.0f; - h_fac = r_quot / (2.0 / 3.0); + h_fac = r_quot / (2.0f / 3.0f); h_fac = 1.0f / h_fac; // (2/3)/CR return h_fac; } static float auto_tune_r() { - const float diff = 0.01; - float r_fac = 0.0, - z_pt[NPP + 1] = { 0.0 }, - delta_e[ABC] = {0.0}, - delta_r = {0.0}, - delta_t[ABC] = {0.0}; + const float diff = 0.01f; + float r_fac = 0.0f, + z_pt[NPP + 1] = { 0.0f }, + delta_e[ABC] = { 0.0f }, + delta_r = { 0.0f }, + delta_t[ABC] = { 0.0f }; delta_r = diff; calc_kinematics_diff_probe_points(z_pt, delta_e, delta_r, delta_t); - r_fac = -(z_pt[__A] + z_pt[__B] + z_pt[__C] + z_pt[_BC] + z_pt[_CA] + z_pt[_AB]) / 6.0; - r_fac = diff / r_fac / 3.0; // 1/(3*delta_Z) + r_fac = -(z_pt[__A] + z_pt[__B] + z_pt[__C] + z_pt[_BC] + z_pt[_CA] + z_pt[_AB]) / 6.0f; + r_fac = diff / r_fac / 3.0f; // 1/(3*delta_Z) return r_fac; } static float auto_tune_a() { - const float diff = 0.01; - float a_fac = 0.0, - z_pt[NPP + 1] = { 0.0 }, - delta_e[ABC] = {0.0}, - delta_r = {0.0}, - delta_t[ABC] = {0.0}; + const float diff = 0.01f; + float a_fac = 0.0f, + z_pt[NPP + 1] = { 0.0f }, + delta_e[ABC] = { 0.0f }, + delta_r = { 0.0f }, + delta_t[ABC] = { 0.0f }; + ZERO(delta_t); LOOP_XYZ(axis) { - LOOP_XYZ(axis_2) delta_t[axis_2] = 0.0; delta_t[axis] = diff; calc_kinematics_diff_probe_points(z_pt, delta_e, delta_r, delta_t); - a_fac += z_pt[uint8_t((axis * _4P_STEP) - _7P_STEP + NPP) % NPP + 1] / 6.0; - a_fac -= z_pt[uint8_t((axis * _4P_STEP) + 1 + _7P_STEP)] / 6.0; + delta_t[axis] = 0; + a_fac += z_pt[uint8_t((axis * _4P_STEP) - _7P_STEP + NPP) % NPP + 1] / 6.0f; + a_fac -= z_pt[uint8_t((axis * _4P_STEP) + 1 + _7P_STEP)] / 6.0f; } - a_fac = diff / a_fac / 3.0; // 1/(3*delta_Z) + a_fac = diff / a_fac / 3.0f; // 1/(3*delta_Z) return a_fac; } @@ -411,27 +412,27 @@ void GcodeSuite::G33() { const int8_t probe_points = parser.intval('P', DELTA_CALIBRATION_DEFAULT_POINTS); if (!WITHIN(probe_points, 0, 10)) { - SERIAL_ECHOLNPGM("?(P)oints is implausible (0-10)."); + SERIAL_ECHOLNPGM("?(P)oints implausible (0-10)."); return; } const bool towers_set = !parser.seen('T'); - const float calibration_precision = parser.floatval('C', 0.0); + const float calibration_precision = parser.floatval('C', 0.0f); if (calibration_precision < 0) { - SERIAL_ECHOLNPGM("?(C)alibration precision is implausible (>=0)."); + SERIAL_ECHOLNPGM("?(C)alibration precision implausible (>=0)."); return; } const int8_t force_iterations = parser.intval('F', 0); if (!WITHIN(force_iterations, 0, 30)) { - SERIAL_ECHOLNPGM("?(F)orce iteration is implausible (0-30)."); + SERIAL_ECHOLNPGM("?(F)orce iteration implausible (0-30)."); return; } const int8_t verbose_level = parser.byteval('V', 1); if (!WITHIN(verbose_level, 0, 3)) { - SERIAL_ECHOLNPGM("?(V)erbose level is implausible (0-3)."); + SERIAL_ECHOLNPGM("?(V)erbose level implausible (0-3)."); return; } @@ -449,7 +450,7 @@ void GcodeSuite::G33() { static const char save_message[] PROGMEM = "Save with M500 and/or copy to Configuration.h"; int8_t iterations = 0; float test_precision, - zero_std_dev = (verbose_level ? 999.0 : 0.0), // 0.0 in dry-run mode : forced end + zero_std_dev = (verbose_level ? 999.0f : 0.0f), // 0.0 in dry-run mode : forced end zero_std_dev_min = zero_std_dev, zero_std_dev_old = zero_std_dev, h_factor, @@ -475,7 +476,7 @@ void GcodeSuite::G33() { const float a = RADIANS(210 + (360 / NPP) * (axis - 1)), r = delta_calibration_radius; if (!position_is_reachable(cos(a) * r, sin(a) * r)) { - SERIAL_ECHOLNPGM("?(M665 B)ed radius is implausible."); + SERIAL_ECHOLNPGM("?(M665 B)ed radius implausible."); return; } } @@ -496,9 +497,9 @@ void GcodeSuite::G33() { do { // start iterations - float z_at_pt[NPP + 1] = { 0.0 }; + float z_at_pt[NPP + 1] = { 0.0f }; - test_precision = zero_std_dev_old != 999.0 ? (zero_std_dev + zero_std_dev_old) / 2 : zero_std_dev; + test_precision = zero_std_dev_old != 999.0f ? (zero_std_dev + zero_std_dev_old) / 2.0f : zero_std_dev; iterations++; // Probe the points @@ -514,7 +515,7 @@ void GcodeSuite::G33() { if ((zero_std_dev < test_precision || iterations <= force_iterations) && zero_std_dev > calibration_precision) { #if !HAS_BED_PROBE - test_precision = 0.00; // forced end + test_precision = 0.0f; // forced end #endif if (zero_std_dev < zero_std_dev_min) { @@ -525,9 +526,9 @@ void GcodeSuite::G33() { COPY(a_old, delta_tower_angle_trim); } - float e_delta[ABC] = { 0.0 }, - r_delta = 0.0, - t_delta[ABC] = { 0.0 }; + float e_delta[ABC] = { 0.0f }, + r_delta = 0.0f, + t_delta[ABC] = { 0.0f }; /** * convergence matrices: @@ -535,7 +536,7 @@ void GcodeSuite::G33() { * - definition of the matrix scaling parameters * - matrices for 4 and 7 point calibration */ - #define ZP(N,I) ((N) * z_at_pt[I] / 4.0) // 4.0 = divider to normalize to integers + #define ZP(N,I) ((N) * z_at_pt[I] / 4.0f) // 4.0 = divider to normalize to integers #define Z12(I) ZP(12, I) #define Z4(I) ZP(4, I) #define Z2(I) ZP(2, I) @@ -544,7 +545,7 @@ void GcodeSuite::G33() { // calculate factors const float cr_old = delta_calibration_radius; - if (_7p_9_center) delta_calibration_radius *= 0.9; + if (_7p_9_center) delta_calibration_radius *= 0.9f; h_factor = auto_tune_h(); r_factor = auto_tune_r(); a_factor = auto_tune_a(); @@ -552,11 +553,11 @@ void GcodeSuite::G33() { switch (probe_points) { case 0: - test_precision = 0.00; // forced end + test_precision = 0.0f; // forced end break; case 1: - test_precision = 0.00; // forced end + test_precision = 0.0f; // forced end LOOP_XYZ(axis) e_delta[axis] = +Z4(CEN); break; @@ -604,9 +605,9 @@ void GcodeSuite::G33() { // Normalize angles to least-squares if (_angle_results) { - float a_sum = 0.0; + float a_sum = 0.0f; LOOP_XYZ(axis) a_sum += delta_tower_angle_trim[axis]; - LOOP_XYZ(axis) delta_tower_angle_trim[axis] -= a_sum / 3.0; + LOOP_XYZ(axis) delta_tower_angle_trim[axis] -= a_sum / 3.0f; } // adjust delta_height and endstops by the max amount @@ -638,7 +639,7 @@ void GcodeSuite::G33() { char mess[21]; strcpy_P(mess, PSTR("Calibration sd:")); if (zero_std_dev_min < 1) - sprintf_P(&mess[15], PSTR("0.%03i"), (int)LROUND(zero_std_dev_min * 1000.0)); + sprintf_P(&mess[15], PSTR("0.%03i"), (int)LROUND(zero_std_dev_min * 1000.0f)); else sprintf_P(&mess[15], PSTR("%03i.x"), (int)LROUND(zero_std_dev_min)); ui.set_status(mess); @@ -670,7 +671,7 @@ void GcodeSuite::G33() { strcpy_P(mess, enddryrun); strcpy_P(&mess[11], PSTR(" sd:")); if (zero_std_dev < 1) - sprintf_P(&mess[15], PSTR("0.%03i"), (int)LROUND(zero_std_dev * 1000.0)); + sprintf_P(&mess[15], PSTR("0.%03i"), (int)LROUND(zero_std_dev * 1000.0f)); else sprintf_P(&mess[15], PSTR("%03i.x"), (int)LROUND(zero_std_dev)); ui.set_status(mess); diff --git a/Marlin/src/gcode/calibrate/G34_M422.cpp b/Marlin/src/gcode/calibrate/G34_M422.cpp index 2ec6652141..b7b366a1cf 100644 --- a/Marlin/src/gcode/calibrate/G34_M422.cpp +++ b/Marlin/src/gcode/calibrate/G34_M422.cpp @@ -162,7 +162,7 @@ void GcodeSuite::G34() { if (iteration == 0 || izstepper > 0) do_blocking_move_to_z(z_probe); // Probe a Z height for each stepper. - const float z_probed_height = probe_pt(z_auto_align_xpos[zstepper], z_auto_align_ypos[zstepper], raise_after, 0, true); + const float z_probed_height = probe_at_point(z_auto_align_xpos[zstepper], z_auto_align_ypos[zstepper], raise_after, 0, true); if (isnan(z_probed_height)) { SERIAL_ECHOLNPGM("Probing failed."); err_break = true; @@ -277,7 +277,7 @@ void GcodeSuite::G34() { // After this operation the z position needs correction set_axis_is_not_at_home(Z_AXIS); - // Stow the probe, as the last call to probe_pt(...) left + // Stow the probe, as the last call to probe_at_point(...) left // the probe deployed if it was successful. STOW_PROBE(); diff --git a/Marlin/src/gcode/calibrate/G425.cpp b/Marlin/src/gcode/calibrate/G425.cpp index 996b1515b3..5c4272346f 100644 --- a/Marlin/src/gcode/calibrate/G425.cpp +++ b/Marlin/src/gcode/calibrate/G425.cpp @@ -171,17 +171,16 @@ inline bool read_calibration_pin() { * fast in - Fast vs. precise measurement */ float measuring_movement(const AxisEnum axis, const int dir, const bool stop_state, const bool fast) { - const float step = fast ? 0.25 : CALIBRATION_MEASUREMENT_RESOLUTION; - const float mms = MMM_TO_MMS(fast ? CALIBRATION_FEEDRATE_FAST : CALIBRATION_FEEDRATE_SLOW); - const float limit = fast ? 50 : 5; + const float step = fast ? 0.25 : CALIBRATION_MEASUREMENT_RESOLUTION; + const feedRate_t mms = fast ? MMM_TO_MMS(CALIBRATION_FEEDRATE_FAST) : MMM_TO_MMS(CALIBRATION_FEEDRATE_SLOW); + const float limit = fast ? 50 : 5; set_destination_from_current(); for (float travel = 0; travel < limit; travel += step) { destination[axis] += dir * step; do_blocking_move_to(destination, mms); planner.synchronize(); - if (read_calibration_pin() == stop_state) - break; + if (read_calibration_pin() == stop_state) break; } return destination[axis]; } @@ -314,18 +313,16 @@ inline void probe_sides(measurements_t &m, const float uncertainty) { // The difference between the known and the measured location // of the calibration object is the positional error - m.pos_error[X_AXIS] = - #if HAS_X_CENTER - m.true_center[X_AXIS] - m.obj_center[X_AXIS]; - #else - 0; - #endif - m.pos_error[Y_AXIS] = - #if HAS_Y_CENTER - m.true_center[Y_AXIS] - m.obj_center[Y_AXIS]; - #else - 0; - #endif + m.pos_error[X_AXIS] = (0 + #if HAS_X_CENTER + + m.true_center[X_AXIS] - m.obj_center[X_AXIS] + #endif + ); + m.pos_error[Y_AXIS] = (0 + #if HAS_Y_CENTER + + m.true_center[Y_AXIS] - m.obj_center[Y_AXIS] + #endif + ); m.pos_error[Z_AXIS] = m.true_center[Z_AXIS] - m.obj_center[Z_AXIS]; } @@ -394,13 +391,13 @@ inline void probe_sides(measurements_t &m, const float uncertainty) { inline void report_measured_nozzle_dimensions(const measurements_t &m) { SERIAL_ECHOLNPGM("Nozzle Tip Outer Dimensions:"); - #if HAS_X_CENTER - SERIAL_ECHOLNPAIR(" X", m.nozzle_outer_dimension[X_AXIS]); - #else - UNUSED(m); - #endif - #if HAS_Y_CENTER - SERIAL_ECHOLNPAIR(" Y", m.nozzle_outer_dimension[Y_AXIS]); + #if HAS_X_CENTER || HAS_Y_CENTER + #if HAS_X_CENTER + SERIAL_ECHOLNPAIR(" X", m.nozzle_outer_dimension[X_AXIS]); + #endif + #if HAS_Y_CENTER + SERIAL_ECHOLNPAIR(" Y", m.nozzle_outer_dimension[Y_AXIS]); + #endif #else UNUSED(m); #endif @@ -412,16 +409,11 @@ inline void probe_sides(measurements_t &m, const float uncertainty) { // This function requires normalize_hotend_offsets() to be called // inline void report_hotend_offsets() { - for (uint8_t e = 1; e < HOTENDS; e++) { - SERIAL_ECHOPAIR("T", int(e)); - SERIAL_ECHOLNPGM(" Hotend Offset:"); - SERIAL_ECHOLNPAIR(" X: ", hotend_offset[X_AXIS][e]); - SERIAL_ECHOLNPAIR(" Y: ", hotend_offset[Y_AXIS][e]); - SERIAL_ECHOLNPAIR(" Z: ", hotend_offset[Z_AXIS][e]); - SERIAL_EOL(); - } + for (uint8_t e = 1; e < HOTENDS; e++) + SERIAL_ECHOLNPAIR("T", int(e), " Hotend Offset X", hotend_offset[X_AXIS][e], " Y", hotend_offset[Y_AXIS][e], " Z", hotend_offset[Z_AXIS][e]); } #endif + #endif // CALIBRATION_REPORTING /** diff --git a/Marlin/src/gcode/calibrate/M425.cpp b/Marlin/src/gcode/calibrate/M425.cpp index a9191d8217..a15287a5e6 100644 --- a/Marlin/src/gcode/calibrate/M425.cpp +++ b/Marlin/src/gcode/calibrate/M425.cpp @@ -46,10 +46,10 @@ void GcodeSuite::M425() { bool noArgs = true; - LOOP_XYZ(i) { - if (parser.seen(axis_codes[i])) { + LOOP_XYZ(a) { + if (parser.seen(axis_codes[a])) { planner.synchronize(); - backlash.distance_mm[i] = parser.has_value() ? parser.value_linear_units() : backlash.get_measurement(i); + backlash.distance_mm[a] = parser.has_value() ? parser.value_linear_units() : backlash.get_measurement(AxisEnum(a)); noArgs = false; } } @@ -88,10 +88,10 @@ void GcodeSuite::M425() { #if ENABLED(MEASURE_BACKLASH_WHEN_PROBING) SERIAL_ECHOPGM(" Average measured backlash (mm):"); if (backlash.has_any_measurement()) { - LOOP_XYZ(a) if (backlash.has_measurement(a)) { + LOOP_XYZ(a) if (backlash.has_measurement(AxisEnum(a))) { SERIAL_CHAR(' '); SERIAL_CHAR(axis_codes[a]); - SERIAL_ECHO(backlash.get_measurement(a)); + SERIAL_ECHO(backlash.get_measurement(AxisEnum(a))); } } else diff --git a/Marlin/src/gcode/calibrate/M48.cpp b/Marlin/src/gcode/calibrate/M48.cpp index dc4b5b9c68..49fc9982dc 100644 --- a/Marlin/src/gcode/calibrate/M48.cpp +++ b/Marlin/src/gcode/calibrate/M48.cpp @@ -59,7 +59,7 @@ void GcodeSuite::M48() { const int8_t verbose_level = parser.byteval('V', 1); if (!WITHIN(verbose_level, 0, 4)) { - SERIAL_ECHOLNPGM("?(V)erbose level is implausible (0-4)."); + SERIAL_ECHOLNPGM("?(V)erbose level implausible (0-4)."); return; } @@ -77,8 +77,8 @@ void GcodeSuite::M48() { float X_current = current_position[X_AXIS], Y_current = current_position[Y_AXIS]; - const float X_probe_location = parser.linearval('X', X_current + zprobe_offset[X_AXIS]), - Y_probe_location = parser.linearval('Y', Y_current + zprobe_offset[Y_AXIS]); + const float X_probe_location = parser.linearval('X', X_current + probe_offset[X_AXIS]), + Y_probe_location = parser.linearval('Y', Y_current + probe_offset[Y_AXIS]); if (!position_is_reachable_by_probe(X_probe_location, Y_probe_location)) { SERIAL_ECHOLNPGM("? (X,Y) out of bounds."); @@ -111,12 +111,12 @@ void GcodeSuite::M48() { set_bed_leveling_enabled(false); #endif - setup_for_endstop_or_probe_move(); + remember_feedrate_scaling_off(); float mean = 0.0, sigma = 0.0, min = 99999.9, max = -99999.9, sample_set[n_samples]; // Move to the first point, deploy, and probe - const float t = probe_pt(X_probe_location, Y_probe_location, raise_after, verbose_level); + const float t = probe_at_point(X_probe_location, Y_probe_location, raise_after, verbose_level); bool probing_good = !isnan(t); if (probing_good) { @@ -165,8 +165,8 @@ void GcodeSuite::M48() { while (angle < 0.0) angle += 360.0; // outside of this range. It looks like they behave correctly with // numbers outside of the range, but just to be safe we clamp them. - X_current = X_probe_location - (zprobe_offset[X_AXIS]) + cos(RADIANS(angle)) * radius; - Y_current = Y_probe_location - (zprobe_offset[Y_AXIS]) + sin(RADIANS(angle)) * radius; + X_current = X_probe_location - probe_offset[X_AXIS] + cos(RADIANS(angle)) * radius; + Y_current = Y_probe_location - probe_offset[Y_AXIS] + sin(RADIANS(angle)) * radius; #if DISABLED(DELTA) LIMIT(X_current, X_MIN_POS, X_MAX_POS); @@ -190,7 +190,7 @@ void GcodeSuite::M48() { } // n_legs // Probe a single point - sample_set[n] = probe_pt(X_probe_location, Y_probe_location, raise_after, 0); + sample_set[n] = probe_at_point(X_probe_location, Y_probe_location, raise_after, 0); // Break the loop if the probe fails probing_good = !isnan(sample_set[n]); @@ -256,7 +256,7 @@ void GcodeSuite::M48() { #endif } - clean_up_after_endstop_or_probe_move(); + restore_feedrate_and_scaling(); // Re-enable bed level correction if it had been on #if HAS_LEVELING diff --git a/Marlin/src/gcode/config/M221.cpp b/Marlin/src/gcode/config/M221.cpp index cbb31628af..116ce776b2 100644 --- a/Marlin/src/gcode/config/M221.cpp +++ b/Marlin/src/gcode/config/M221.cpp @@ -23,6 +23,8 @@ #include "../gcode.h" #include "../../module/planner.h" +#if EXTRUDERS + /** * M221: Set extrusion percentage (M221 T0 S95) */ @@ -44,3 +46,5 @@ void GcodeSuite::M221() { SERIAL_EOL(); } } + +#endif // EXTRUDERS diff --git a/Marlin/src/gcode/config/M281.cpp b/Marlin/src/gcode/config/M281.cpp index ea9c032cf0..a694cb2df4 100644 --- a/Marlin/src/gcode/config/M281.cpp +++ b/Marlin/src/gcode/config/M281.cpp @@ -41,15 +41,14 @@ void GcodeSuite::M281() { } if (!angle_change) { SERIAL_ECHO_START(); - SERIAL_ECHOPAIR(" Servo ", servo_index); - SERIAL_ECHOPAIR(" L", servo_angles[servo_index][0]); - SERIAL_ECHOLNPAIR(" U", servo_angles[servo_index][1]); + SERIAL_ECHOLNPAIR(" Servo ", servo_index, + " L", servo_angles[servo_index][0], + " U", servo_angles[servo_index][1]); } } else { SERIAL_ERROR_START(); - SERIAL_ECHOPAIR("Servo ", servo_index); - SERIAL_ECHOLNPGM(" out of range"); + SERIAL_ECHOLNPAIR("Servo ", servo_index, " out of range"); } } diff --git a/Marlin/src/gcode/config/M301.cpp b/Marlin/src/gcode/config/M301.cpp index 6c66ab48cb..25a15d7728 100644 --- a/Marlin/src/gcode/config/M301.cpp +++ b/Marlin/src/gcode/config/M301.cpp @@ -61,9 +61,9 @@ void GcodeSuite::M301() { #if ENABLED(PID_PARAMS_PER_HOTEND) SERIAL_ECHOPAIR(" e:", e); // specify extruder in serial output #endif // PID_PARAMS_PER_HOTEND - SERIAL_ECHOPAIR(" p:", PID_PARAM(Kp, e)); - SERIAL_ECHOPAIR(" i:", unscalePID_i(PID_PARAM(Ki, e))); - SERIAL_ECHOPAIR(" d:", unscalePID_d(PID_PARAM(Kd, e))); + SERIAL_ECHOPAIR(" p:", PID_PARAM(Kp, e), + " i:", unscalePID_i(PID_PARAM(Ki, e)), + " d:", unscalePID_d(PID_PARAM(Kd, e))); #if ENABLED(PID_EXTRUSION_SCALING) //Kc does not have scaling applied above, or in resetting defaults SERIAL_ECHOPAIR(" c:", PID_PARAM(Kc, e)); diff --git a/Marlin/src/gcode/config/M302.cpp b/Marlin/src/gcode/config/M302.cpp index e5ca1d3608..891f3c8258 100644 --- a/Marlin/src/gcode/config/M302.cpp +++ b/Marlin/src/gcode/config/M302.cpp @@ -56,8 +56,7 @@ void GcodeSuite::M302() { SERIAL_ECHO_START(); SERIAL_ECHOPGM("Cold extrudes are "); serialprintPGM(thermalManager.allow_cold_extrude ? PSTR("en") : PSTR("dis")); - SERIAL_ECHOPAIR("abled (min temp ", thermalManager.extrude_min_temp); - SERIAL_ECHOLNPGM("C)"); + SERIAL_ECHOLNPAIR("abled (min temp ", thermalManager.extrude_min_temp, "C)"); } } diff --git a/Marlin/src/gcode/config/M304.cpp b/Marlin/src/gcode/config/M304.cpp index f63fa03fce..3048c228d5 100644 --- a/Marlin/src/gcode/config/M304.cpp +++ b/Marlin/src/gcode/config/M304.cpp @@ -33,9 +33,9 @@ void GcodeSuite::M304() { if (parser.seen('D')) thermalManager.temp_bed.pid.Kd = scalePID_d(parser.value_float()); SERIAL_ECHO_START(); - SERIAL_ECHOPAIR(" p:", thermalManager.temp_bed.pid.Kp); - SERIAL_ECHOPAIR(" i:", unscalePID_i(thermalManager.temp_bed.pid.Ki)); - SERIAL_ECHOLNPAIR(" d:", unscalePID_d(thermalManager.temp_bed.pid.Kd)); + SERIAL_ECHOLNPAIR(" p:", thermalManager.temp_bed.pid.Kp, + " i:", unscalePID_i(thermalManager.temp_bed.pid.Ki), + " d:", unscalePID_d(thermalManager.temp_bed.pid.Kd)); } #endif // PIDTEMPBED diff --git a/Marlin/src/gcode/config/M43.cpp b/Marlin/src/gcode/config/M43.cpp index 7b048f2190..e26f6d8ee2 100644 --- a/Marlin/src/gcode/config/M43.cpp +++ b/Marlin/src/gcode/config/M43.cpp @@ -50,6 +50,12 @@ #define GET_PIN_MAP_PIN_M43(Q) GET_PIN_MAP_PIN(Q) #endif +inline void _watchdog_reset() { + #if ENABLED(USE_WATCHDOG) + watchdog_reset(); + #endif +} + inline void toggle_pins() { const bool ignore_protection = parser.boolval('I'); const int repeat = parser.intval('R', 1), @@ -65,7 +71,7 @@ inline void toggle_pins() { SERIAL_EOL(); } else { - watchdog_reset(); + _watchdog_reset(); report_pin_state_extended(pin, ignore_protection, true, "Pulsing "); #if AVR_AT90USB1286_FAMILY // Teensy IDEs don't know about these pins so must use FASTIO if (pin == TEENSY_E2) { @@ -89,10 +95,10 @@ inline void toggle_pins() { { pinMode(pin, OUTPUT); for (int16_t j = 0; j < repeat; j++) { - watchdog_reset(); extDigitalWrite(pin, 0); safe_delay(wait); - watchdog_reset(); extDigitalWrite(pin, 1); safe_delay(wait); - watchdog_reset(); extDigitalWrite(pin, 0); safe_delay(wait); - watchdog_reset(); + _watchdog_reset(); extDigitalWrite(pin, 0); safe_delay(wait); + _watchdog_reset(); extDigitalWrite(pin, 1); safe_delay(wait); + _watchdog_reset(); extDigitalWrite(pin, 0); safe_delay(wait); + _watchdog_reset(); } } } diff --git a/Marlin/src/gcode/config/M575.cpp b/Marlin/src/gcode/config/M575.cpp index a90129f470..0abc8f9fea 100644 --- a/Marlin/src/gcode/config/M575.cpp +++ b/Marlin/src/gcode/config/M575.cpp @@ -67,7 +67,7 @@ void GcodeSuite::M575() { #endif } break; - default: SERIAL_ECHO_MSG("?(B)aud rate is implausible."); + default: SERIAL_ECHO_MSG("?(B)aud rate implausible."); } } diff --git a/Marlin/src/gcode/config/M92.cpp b/Marlin/src/gcode/config/M92.cpp index 3965136e6b..f0e27e82d1 100644 --- a/Marlin/src/gcode/config/M92.cpp +++ b/Marlin/src/gcode/config/M92.cpp @@ -25,9 +25,9 @@ void report_M92(const bool echo=true, const int8_t e=-1) { if (echo) SERIAL_ECHO_START(); else SERIAL_CHAR(' '); - SERIAL_ECHOPAIR(" M92 X", LINEAR_UNIT(planner.settings.axis_steps_per_mm[X_AXIS])); - SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(planner.settings.axis_steps_per_mm[Y_AXIS])); - SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.settings.axis_steps_per_mm[Z_AXIS])); + SERIAL_ECHOPAIR(" M92 X", LINEAR_UNIT(planner.settings.axis_steps_per_mm[X_AXIS]), + " Y", LINEAR_UNIT(planner.settings.axis_steps_per_mm[Y_AXIS]), + " Z", LINEAR_UNIT(planner.settings.axis_steps_per_mm[Z_AXIS])); #if DISABLED(DISTINCT_E_FACTORS) SERIAL_ECHOPAIR(" E", VOLUMETRIC_UNIT(planner.settings.axis_steps_per_mm[E_AXIS])); #endif @@ -37,8 +37,8 @@ void report_M92(const bool echo=true, const int8_t e=-1) { for (uint8_t i = 0; i < E_STEPPERS; i++) { if (e >= 0 && i != e) continue; if (echo) SERIAL_ECHO_START(); else SERIAL_CHAR(' '); - SERIAL_ECHOPAIR(" M92 T", (int)i); - SERIAL_ECHOLNPAIR(" E", VOLUMETRIC_UNIT(planner.settings.axis_steps_per_mm[E_AXIS_N(i)])); + SERIAL_ECHOLNPAIR(" M92 T", (int)i, + " E", VOLUMETRIC_UNIT(planner.settings.axis_steps_per_mm[E_AXIS_N(i)])); } #endif @@ -101,12 +101,10 @@ void GcodeSuite::M92() { micro_steps = argH ? argH : Z_MICROSTEPS; const float z_full_step_mm = micro_steps * planner.steps_to_mm[Z_AXIS]; SERIAL_ECHO_START(); - SERIAL_ECHOPAIR("{ micro_steps:", micro_steps); - SERIAL_ECHOPAIR(", z_full_step_mm:", z_full_step_mm); + SERIAL_ECHOPAIR("{ micro_steps:", micro_steps, ", z_full_step_mm:", z_full_step_mm); if (wanted) { const float best = uint16_t(wanted / z_full_step_mm) * z_full_step_mm; - SERIAL_ECHOPGM(", best:["); - SERIAL_ECHO(best); + SERIAL_ECHOPAIR(", best:[", best); if (best != wanted) { SERIAL_CHAR(','); SERIAL_ECHO(best + z_full_step_mm); } SERIAL_CHAR(']'); } diff --git a/Marlin/src/gcode/control/M280.cpp b/Marlin/src/gcode/control/M280.cpp index 3626f0bf67..6b65e9b753 100644 --- a/Marlin/src/gcode/control/M280.cpp +++ b/Marlin/src/gcode/control/M280.cpp @@ -43,14 +43,12 @@ void GcodeSuite::M280() { } else { SERIAL_ECHO_START(); - SERIAL_ECHOPAIR(" Servo ", servo_index); - SERIAL_ECHOLNPAIR(": ", servo[servo_index].read()); + SERIAL_ECHOLNPAIR(" Servo ", servo_index, ": ", servo[servo_index].read()); } } else { SERIAL_ERROR_START(); - SERIAL_ECHOPAIR("Servo ", servo_index); - SERIAL_ECHOLNPGM(" out of range"); + SERIAL_ECHOLNPAIR("Servo ", servo_index, " out of range"); } } diff --git a/Marlin/src/gcode/control/M605.cpp b/Marlin/src/gcode/control/M605.cpp index 4009a23706..84a75686a4 100644 --- a/Marlin/src/gcode/control/M605.cpp +++ b/Marlin/src/gcode/control/M605.cpp @@ -137,8 +137,8 @@ DEBUG_EOL(); HOTEND_LOOP() { - DEBUG_ECHOPAIR(" nozzle:", int(e)); - LOOP_XYZ(j) DEBUG_ECHOPAIR(" hotend_offset[", axis_codes[j], "_AXIS][", int(e), "]=", hotend_offset[j][e]); + DEBUG_ECHOPAIR(" T", int(e)); + LOOP_XYZ(a) DEBUG_ECHOPAIR(" hotend_offset[", axis_codes[a], "_AXIS][", int(e), "]=", hotend_offset[a][e]); DEBUG_EOL(); } DEBUG_EOL(); diff --git a/Marlin/src/gcode/feature/L6470/M906.cpp b/Marlin/src/gcode/feature/L6470/M906.cpp index 7f48033190..143a6fea8d 100644 --- a/Marlin/src/gcode/feature/L6470/M906.cpp +++ b/Marlin/src/gcode/feature/L6470/M906.cpp @@ -151,7 +151,7 @@ void L6470_report_current(L6470 &motor, const uint8_t axis) { break; } SERIAL_ECHO(dtostrf(val * 100 / 256, 10, 2, numstr)); - SERIAL_ECHO("%% "); + SERIAL_ECHOPGM("%% "); serialprintPGM(suf); SERIAL_EOL(); } diff --git a/Marlin/src/gcode/feature/L6470/M916-918.cpp b/Marlin/src/gcode/feature/L6470/M916-918.cpp index b756c6cf88..3b62a0f45e 100644 --- a/Marlin/src/gcode/feature/L6470/M916-918.cpp +++ b/Marlin/src/gcode/feature/L6470/M916-918.cpp @@ -32,7 +32,7 @@ #define DEBUG_OUT ENABLED(L6470_CHITCHAT) #include "../../../core/debug_out.h" -static void jiggle_axis(const char axis_char, const float &min, const float &max, const float &rate) { +static void jiggle_axis(const char axis_char, const float &min, const float &max, const feedRate_t &fr_mm_m) { char gcode_string[30], str1[11], str2[11]; // Turn the motor(s) both directions @@ -84,7 +84,7 @@ void GcodeSuite::M916() { uint8_t driver_count = 1; float position_max; float position_min; - float final_feedrate; + feedRate_t final_fr_mm_m; uint8_t kval_hold; uint8_t ocd_th_val = 0; uint8_t stall_th_val = 0; @@ -93,10 +93,10 @@ void GcodeSuite::M916() { uint8_t j; // general purpose counter - if (L6470.get_user_input(driver_count, axis_index, axis_mon, position_max, position_min, final_feedrate, kval_hold, over_current_flag, ocd_th_val, stall_th_val, over_current_threshold)) + if (L6470.get_user_input(driver_count, axis_index, axis_mon, position_max, position_min, final_fr_mm_m, kval_hold, over_current_flag, ocd_th_val, stall_th_val, over_current_threshold)) return; // quit if invalid user input - DEBUG_ECHOLNPAIR("feedrate = ", final_feedrate); + DEBUG_ECHOLNPAIR("feedrate = ", final_fr_mm_m); planner.synchronize(); // Wait for moves to finish @@ -115,7 +115,7 @@ void GcodeSuite::M916() { L6470.set_param(axis_index[j], L6470_KVAL_HOLD, kval_hold); // Turn the motor(s) both directions - jiggle_axis(axis_mon[0][0], position_min, position_max, final_feedrate); + jiggle_axis(axis_mon[0][0], position_min, position_max, final_fr_mm_m); status_composite = 0; // clear out the old bits @@ -190,7 +190,7 @@ void GcodeSuite::M917() { uint8_t driver_count = 1; float position_max; float position_min; - float final_feedrate; + feedRate_t final_fr_mm_m; uint8_t kval_hold; uint8_t ocd_th_val = 0; uint8_t stall_th_val = 0; @@ -199,10 +199,10 @@ void GcodeSuite::M917() { uint8_t j; // general purpose counter - if (L6470.get_user_input(driver_count, axis_index, axis_mon, position_max, position_min, final_feedrate, kval_hold, over_current_flag, ocd_th_val, stall_th_val, over_current_threshold)) + if (L6470.get_user_input(driver_count, axis_index, axis_mon, position_max, position_min, final_fr_mm_m, kval_hold, over_current_flag, ocd_th_val, stall_th_val, over_current_threshold)) return; // quit if invalid user input - DEBUG_ECHOLNPAIR("feedrate = ", final_feedrate); + DEBUG_ECHOLNPAIR("feedrate = ", final_fr_mm_m); planner.synchronize(); // Wait for moves to finish for (j = 0; j < driver_count; j++) @@ -225,7 +225,7 @@ void GcodeSuite::M917() { DEBUG_ECHOPAIR("STALL threshold : ", (stall_th_val + 1) * 31.25); DEBUG_ECHOLNPAIR(" OCD threshold : ", (ocd_th_val + 1) * 375); - jiggle_axis(axis_mon[0][0], position_min, position_max, final_feedrate); + jiggle_axis(axis_mon[0][0], position_min, position_max, final_fr_mm_m); status_composite = 0; // clear out the old bits @@ -452,7 +452,7 @@ void GcodeSuite::M918() { uint16_t axis_status[3]; uint8_t driver_count = 1; float position_max, position_min; - float final_feedrate; + feedRate_t final_fr_mm_m; uint8_t kval_hold; uint8_t ocd_th_val = 0; uint8_t stall_th_val = 0; @@ -461,7 +461,7 @@ void GcodeSuite::M918() { uint8_t j; // general purpose counter - if (L6470.get_user_input(driver_count, axis_index, axis_mon, position_max, position_min, final_feedrate, kval_hold, over_current_flag, ocd_th_val, stall_th_val, over_current_threshold)) + if (L6470.get_user_input(driver_count, axis_index, axis_mon, position_max, position_min, final_fr_mm_m, kval_hold, over_current_flag, ocd_th_val, stall_th_val, over_current_threshold)) return; // quit if invalid user input uint8_t m_steps = parser.byteval('M'); @@ -489,10 +489,7 @@ void GcodeSuite::M918() { for (j = 0; j < driver_count; j++) L6470.set_param(axis_index[j], L6470_STEP_MODE, m_bits); // set microsteps - DEBUG_ECHOLNPAIR("target (maximum) feedrate = ",final_feedrate); - - float feedrate_inc = final_feedrate / 10, // start at 1/10 of max & go up by 1/10 per step) - current_feedrate = 0; + DEBUG_ECHOLNPAIR("target (maximum) feedrate = ", final_fr_mm_m); planner.synchronize(); // Wait for moves to finish @@ -502,18 +499,19 @@ void GcodeSuite::M918() { uint16_t status_composite = 0; DEBUG_ECHOLNPGM(".\n.\n."); // Make the feedrate prints easier to see - do { - current_feedrate += feedrate_inc; - DEBUG_ECHOLNPAIR("...feedrate = ", current_feedrate); + constexpr uint8_t iterations = 10; + for (uint8_t i = 1; i <= iterations; i++) { + const feedRate_t fr_mm_m = i * final_fr_mm_m / iterations; + DEBUG_ECHOLNPAIR("...feedrate = ", fr_mm_m); - jiggle_axis(axis_mon[0][0], position_min, position_max, current_feedrate); + jiggle_axis(axis_mon[0][0], position_min, position_max, fr_mm_m); for (j = 0; j < driver_count; j++) { axis_status[j] = (~L6470.get_status(axis_index[j])) & 0x0800; // bits of interest are all active low status_composite |= axis_status[j]; } if (status_composite) break; // quit if any errors flags are raised - } while (current_feedrate < final_feedrate * 0.99); + } DEBUG_ECHOPGM("Completed with errors"); if (status_composite) { diff --git a/Marlin/src/gcode/feature/advance/M900.cpp b/Marlin/src/gcode/feature/advance/M900.cpp index a5c0dc5cd7..f030511422 100644 --- a/Marlin/src/gcode/feature/advance/M900.cpp +++ b/Marlin/src/gcode/feature/advance/M900.cpp @@ -99,13 +99,13 @@ void GcodeSuite::M900() { if (!parser.seen_any()) { #if EXTRUDERS < 2 - SERIAL_ECHOLNPAIR("Advance S", ext_slot, " K", planner.extruder_advance_K[0]); - SERIAL_ECHOLNPAIR("(Slot ", 1 - ext_slot, " K", saved_extruder_advance_K[0], ")"); + SERIAL_ECHOLNPAIR("Advance S", ext_slot, " K", planner.extruder_advance_K[0], + "(Slot ", 1 - ext_slot, " K", saved_extruder_advance_K[0], ")"); #else LOOP_L_N(i, EXTRUDERS) { const int slot = (int)TEST(lin_adv_slot, i); - SERIAL_ECHOLNPAIR("Advance T", int(i), " S", slot, " K", planner.extruder_advance_K[i]); - SERIAL_ECHOLNPAIR("(Slot ", 1 - slot, " K", saved_extruder_advance_K[i], ")"); + SERIAL_ECHOLNPAIR("Advance T", int(i), " S", slot, " K", planner.extruder_advance_K[i], + "(Slot ", 1 - slot, " K", saved_extruder_advance_K[i], ")"); SERIAL_EOL(); } #endif diff --git a/Marlin/src/gcode/feature/camera/M240.cpp b/Marlin/src/gcode/feature/camera/M240.cpp index b4234cb823..3144126fe5 100644 --- a/Marlin/src/gcode/feature/camera/M240.cpp +++ b/Marlin/src/gcode/feature/camera/M240.cpp @@ -43,7 +43,7 @@ #endif #ifdef PHOTO_RETRACT_MM - inline void e_move_m240(const float length, const float fr_mm_s) { + inline void e_move_m240(const float length, const feedRate_t &fr_mm_s) { if (length && thermalManager.hotEnoughToExtrude(active_extruder)) { #if ENABLED(ADVANCED_PAUSE_FEATURE) do_pause_e_move(length, fr_mm_s); @@ -104,7 +104,8 @@ void GcodeSuite::M240() { }; #ifdef PHOTO_RETRACT_MM - constexpr float rfr = (MMS_TO_MMM( + const float rval = parser.seenval('R') ? parser.value_linear_units() : _PHOTO_RETRACT_MM; + feedRate_t sval = ( #if ENABLED(ADVANCED_PAUSE_FEATURE) PAUSE_PARK_RETRACT_FEEDRATE #elif ENABLED(FWRETRACT) @@ -112,13 +113,12 @@ void GcodeSuite::M240() { #else 45 #endif - )); - const float rval = parser.seenval('R') ? parser.value_linear_units() : _PHOTO_RETRACT_MM, - sval = parser.seenval('S') ? MMM_TO_MMS(parser.value_feedrate()) : rfr; + ); + if (parser.seenval('S')) sval = parser.value_feedrate(); e_move_m240(-rval, sval); #endif - float fr_mm_s = MMM_TO_MMS(parser.linearval('F')); + feedRate_t fr_mm_s = MMM_TO_MMS(parser.linearval('F')); if (fr_mm_s) NOLESS(fr_mm_s, 10.0f); constexpr float photo_position[XYZ] = PHOTO_POSITION; diff --git a/Marlin/src/gcode/feature/filwidth/M404-M407.cpp b/Marlin/src/gcode/feature/filwidth/M404-M407.cpp index e65a59850a..5b58416b43 100644 --- a/Marlin/src/gcode/feature/filwidth/M404-M407.cpp +++ b/Marlin/src/gcode/feature/filwidth/M404-M407.cpp @@ -34,12 +34,12 @@ * M404: Display or set (in current units) the nominal filament width (3mm, 1.75mm ) W<3.0> */ void GcodeSuite::M404() { - if (parser.seen('W')) { - filament_width_nominal = parser.value_linear_units(); - planner.volumetric_area_nominal = CIRCLE_AREA(filament_width_nominal * 0.5); + if (parser.seenval('W')) { + filwidth.nominal_mm = parser.value_linear_units(); + planner.volumetric_area_nominal = CIRCLE_AREA(filwidth.nominal_mm * 0.5); } else - SERIAL_ECHOLNPAIR("Filament dia (nominal mm):", filament_width_nominal); + SERIAL_ECHOLNPAIR("Filament dia (nominal mm):", filwidth.nominal_mm); } /** @@ -48,28 +48,17 @@ void GcodeSuite::M404() { void GcodeSuite::M405() { // This is technically a linear measurement, but since it's quantized to centimeters and is a different // unit than everything else, it uses parser.value_byte() instead of parser.value_linear_units(). - if (parser.seen('D')) { - meas_delay_cm = parser.value_byte(); - NOMORE(meas_delay_cm, MAX_MEASUREMENT_DELAY); - } + if (parser.seenval('D')) + filwidth.set_delay_cm(parser.value_byte()); - if (filwidth_delay_index[1] == -1) { // Initialize the ring buffer if not done since startup - const int8_t temp_ratio = thermalManager.widthFil_to_size_ratio(); - - for (uint8_t i = 0; i < COUNT(measurement_delay); ++i) - measurement_delay[i] = temp_ratio; - - filwidth_delay_index[0] = filwidth_delay_index[1] = 0; - } - - filament_sensor = true; + filwidth.enable(true); } /** * M406: Turn off filament sensor for control */ void GcodeSuite::M406() { - filament_sensor = false; + filwidth.enable(false); planner.calculate_volumetric_multipliers(); // Restore correct 'volumetric_multiplier' value } @@ -77,7 +66,7 @@ void GcodeSuite::M406() { * M407: Get measured filament diameter on serial output */ void GcodeSuite::M407() { - SERIAL_ECHOLNPAIR("Filament dia (measured mm):", filament_width_meas); + SERIAL_ECHOLNPAIR("Filament dia (measured mm):", filwidth.measured_mm); } #endif // FILAMENT_WIDTH_SENSOR diff --git a/Marlin/src/gcode/feature/mixing/M166.cpp b/Marlin/src/gcode/feature/mixing/M166.cpp index 1bb2e4b8f1..8b74182cde 100644 --- a/Marlin/src/gcode/feature/mixing/M166.cpp +++ b/Marlin/src/gcode/feature/mixing/M166.cpp @@ -30,15 +30,12 @@ #include "../../../feature/mixing.h" inline void echo_mix() { - SERIAL_ECHOPAIR(" (", int(mixer.mix[0])); - SERIAL_ECHOPAIR("%|", int(mixer.mix[1])); - SERIAL_ECHOPGM("%)"); + SERIAL_ECHOPAIR(" (", int(mixer.mix[0]), "%|", int(mixer.mix[1]), "%)"); } inline void echo_zt(const int t, const float &z) { mixer.update_mix_from_vtool(t); - SERIAL_ECHOPAIR(" Z", z); - SERIAL_ECHOPAIR(" T", t); + SERIAL_ECHOPAIR(" Z", z, " T", t); echo_mix(); } diff --git a/Marlin/src/gcode/feature/pause/M600.cpp b/Marlin/src/gcode/feature/pause/M600.cpp index 6cadbe6080..f2ade740b4 100644 --- a/Marlin/src/gcode/feature/pause/M600.cpp +++ b/Marlin/src/gcode/feature/pause/M600.cpp @@ -98,7 +98,7 @@ void GcodeSuite::M600() { #if ENABLED(HOME_BEFORE_FILAMENT_CHANGE) // Don't allow filament change without homing first - if (axis_unhomed_error()) home_all_axes(); + if (axes_need_homing()) home_all_axes(); #endif #if EXTRUDERS > 1 diff --git a/Marlin/src/gcode/feature/pause/M701_M702.cpp b/Marlin/src/gcode/feature/pause/M701_M702.cpp index b127a9fbad..6add2ebfae 100644 --- a/Marlin/src/gcode/feature/pause/M701_M702.cpp +++ b/Marlin/src/gcode/feature/pause/M701_M702.cpp @@ -60,8 +60,8 @@ void GcodeSuite::M701() { point_t park_point = NOZZLE_PARK_POINT; #if ENABLED(NO_MOTION_BEFORE_HOMING) - // Only raise Z if the machine is homed - if (axis_unhomed_error()) park_point.z = 0; + // Don't raise Z if the machine isn't homed + if (axes_need_homing()) park_point.z = 0; #endif #if ENABLED(MIXING_EXTRUDER) @@ -97,7 +97,7 @@ void GcodeSuite::M701() { // Lift Z axis if (park_point.z > 0) - do_blocking_move_to_z(_MIN(current_position[Z_AXIS] + park_point.z, Z_MAX_POS), NOZZLE_PARK_Z_FEEDRATE); + do_blocking_move_to_z(_MIN(current_position[Z_AXIS] + park_point.z, Z_MAX_POS), feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); // Load filament #if ENABLED(PRUSA_MMU2) @@ -116,7 +116,7 @@ void GcodeSuite::M701() { // Restore Z axis if (park_point.z > 0) - do_blocking_move_to_z(_MAX(current_position[Z_AXIS] - park_point.z, 0), NOZZLE_PARK_Z_FEEDRATE); + do_blocking_move_to_z(_MAX(current_position[Z_AXIS] - park_point.z, 0), feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); #if EXTRUDERS > 1 && DISABLED(PRUSA_MMU2) // Restore toolhead if it was changed @@ -149,8 +149,8 @@ void GcodeSuite::M702() { point_t park_point = NOZZLE_PARK_POINT; #if ENABLED(NO_MOTION_BEFORE_HOMING) - // Only raise Z if the machine is homed - if (axis_unhomed_error()) park_point.z = 0; + // Don't raise Z if the machine isn't homed + if (axes_need_homing()) park_point.z = 0; #endif #if ENABLED(MIXING_EXTRUDER) @@ -196,7 +196,7 @@ void GcodeSuite::M702() { // Lift Z axis if (park_point.z > 0) - do_blocking_move_to_z(_MIN(current_position[Z_AXIS] + park_point.z, Z_MAX_POS), NOZZLE_PARK_Z_FEEDRATE); + do_blocking_move_to_z(_MIN(current_position[Z_AXIS] + park_point.z, Z_MAX_POS), feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); // Unload filament #if ENABLED(PRUSA_MMU2) @@ -226,7 +226,7 @@ void GcodeSuite::M702() { // Restore Z axis if (park_point.z > 0) - do_blocking_move_to_z(_MAX(current_position[Z_AXIS] - park_point.z, 0), NOZZLE_PARK_Z_FEEDRATE); + do_blocking_move_to_z(_MAX(current_position[Z_AXIS] - park_point.z, 0), feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); #if EXTRUDERS > 1 && DISABLED(PRUSA_MMU2) // Restore toolhead if it was changed diff --git a/Marlin/src/gcode/feature/powerloss/M413.cpp b/Marlin/src/gcode/feature/powerloss/M413.cpp index 49f4c250af..cd1dd801b9 100644 --- a/Marlin/src/gcode/feature/powerloss/M413.cpp +++ b/Marlin/src/gcode/feature/powerloss/M413.cpp @@ -47,7 +47,7 @@ void GcodeSuite::M413() { } #if ENABLED(DEBUG_POWER_LOSS_RECOVERY) - if (parser.seen('R') || parser.seen('L')) recovery.load(); + if (parser.seen("RL")) recovery.load(); if (parser.seen('W')) recovery.save(true); if (parser.seen('P')) recovery.purge(); if (parser.seen('E')) serialprintPGM(recovery.exists() ? PSTR("PLR Exists\n") : PSTR("No PLR\n")); diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index 8ad818c925..f542f842ce 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -49,7 +49,13 @@ GcodeSuite gcode; millis_t GcodeSuite::previous_move_ms; -bool GcodeSuite::axis_relative_modes[] = AXIS_RELATIVE_MODES; +static constexpr bool ar_init[XYZE] = AXIS_RELATIVE_MODES; +uint8_t GcodeSuite::axis_relative = ( + (ar_init[X_AXIS] ? _BV(REL_X) : 0) + | (ar_init[Y_AXIS] ? _BV(REL_Y) : 0) + | (ar_init[Z_AXIS] ? _BV(REL_Z) : 0) + | (ar_init[E_AXIS] ? _BV(REL_E) : 0) +); #if ENABLED(HOST_KEEPALIVE_FEATURE) GcodeSuite::MarlinBusyState GcodeSuite::busy_state = NOT_BUSY; @@ -110,22 +116,20 @@ void GcodeSuite::get_destination_from_command() { LOOP_XYZE(i) { if ( (seen[i] = parser.seenval(axis_codes[i])) ) { const float v = parser.value_axis_units((AxisEnum)i); - destination[i] = (axis_relative_modes[i] || relative_mode) - ? current_position[i] + v - : (i == E_AXIS) ? v : LOGICAL_TO_NATIVE(v, i); + destination[i] = axis_is_relative(AxisEnum(i)) ? current_position[i] + v : (i == E_AXIS) ? v : LOGICAL_TO_NATIVE(v, i); } else destination[i] = current_position[i]; } - #if ENABLED(POWER_LOSS_RECOVERY) + #if ENABLED(POWER_LOSS_RECOVERY) && !PIN_EXISTS(POWER_LOSS) // Only update power loss recovery on moves with E if (recovery.enabled && IS_SD_PRINTING() && seen[E_AXIS] && (seen[X_AXIS] || seen[Y_AXIS])) recovery.save(); #endif if (parser.linearval('F') > 0) - feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate()); + feedrate_mm_s = parser.value_feedrate(); #if ENABLED(PRINTCOUNTER) if (!DEBUGGING(DRYRUN)) @@ -295,8 +299,8 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 80: G80(); break; // G80: Reset the current motion mode #endif - case 90: relative_mode = false; break; // G90: Relative Mode - case 91: relative_mode = true; break; // G91: Absolute Mode + case 90: set_relative_mode(false); break; // G90: Absolute Mode + case 91: set_relative_mode(true); break; // G91: Relative Mode case 92: G92(); break; // G92: Set current axis position(s) @@ -400,8 +404,18 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 100: M100(); break; // M100: Free Memory Report #endif - case 104: M104(); break; // M104: Set hot end temperature - case 109: M109(); break; // M109: Wait for hotend temperature to reach target + #if EXTRUDERS + case 104: M104(); break; // M104: Set hot end temperature + case 109: M109(); break; // M109: Wait for hotend temperature to reach target + #endif + + case 105: M105(); return; // M105: Report Temperatures (and say "ok") + + #if FAN_COUNT > 0 + case 106: M106(); break; // M106: Fan On + case 107: M107(); break; // M107: Fan Off + #endif + case 110: M110(); break; // M110: Set Current Line Number case 111: M111(); break; // M111: Set debug level @@ -410,7 +424,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 112: M112(); break; // M112: Full Shutdown case 410: M410(); break; // M410: Quickstop - Abort all the planned moves. #if ENABLED(HOST_PROMPT_SUPPORT) - case 876: M876(); break; // M876: Handle Host prompt responses + case 876: M876(); break; // M876: Handle Host prompt responses #endif #else case 108: case 112: case 410: @@ -434,17 +448,10 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { //case 191: M191(); break; // M191: Wait for chamber temperature to reach target #endif - case 105: M105(); return; // M105: Report Temperatures (and say "ok") - #if ENABLED(AUTO_REPORT_TEMPERATURES) && HAS_TEMP_SENSOR case 155: M155(); break; // M155: Set temperature auto-report interval #endif - #if FAN_COUNT > 0 - case 106: M106(); break; // M106: Fan On - case 107: M107(); break; // M107: Fan Off - #endif - #if ENABLED(PARK_HEAD_ON_PAUSE) case 125: M125(); break; // M125: Store current position and move to filament change position #endif @@ -481,7 +488,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 120: M120(); break; // M120: Enable endstops case 121: M121(); break; // M121: Disable endstops - #if HAS_LCD_MENU + #if HOTENDS && HAS_LCD_MENU case 145: M145(); break; // M145: Set material heatup parameters #endif @@ -553,7 +560,11 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { #endif case 220: M220(); break; // M220: Set Feedrate Percentage: S ("FR" on your LCD) - case 221: M221(); break; // M221: Set Flow Percentage + + #if EXTRUDERS + case 221: M221(); break; // M221: Set Flow Percentage + #endif + case 226: M226(); break; // M226: Wait until a pin reaches a state #if HAS_SERVOS @@ -816,6 +827,10 @@ void GcodeSuite::process_next_command() { PORT_REDIRECT(queue.port[queue.index_r]); + #if ENABLED(POWER_LOSS_RECOVERY) + recovery.queue_index_r = queue.index_r; + #endif + if (DEBUGGING(ECHO)) { SERIAL_ECHO_START(); SERIAL_ECHOLN(current_command); diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index c9b0cec2af..f871d6d216 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -229,7 +229,7 @@ * M701 - Load filament (Requires FILAMENT_LOAD_UNLOAD_GCODES) * M702 - Unload filament (Requires FILAMENT_LOAD_UNLOAD_GCODES) * M810-M819 - Define/execute a G-code macro (Requires GCODE_MACROS) - * M851 - Set Z probe's Z offset in current units. (Negative = below the nozzle.) + * M851 - Set Z probe's XYZ offsets in current units. (Negative values: X=left, Y=front, Z=below) * M852 - Set skew factors: "M852 [I] [J] [K]". (Requires SKEW_CORRECTION_GCODE, and SKEW_CORRECTION_FOR_Z for IJ) * M860 - Report the position of position encoder modules. * M861 - Report the status of position encoder modules. @@ -283,12 +283,31 @@ #include "../feature/I2CPositionEncoder.h" #endif +enum AxisRelative : uint8_t { REL_X, REL_Y, REL_Z, REL_E, E_MODE_ABS, E_MODE_REL }; + class GcodeSuite { public: - GcodeSuite() {} + static uint8_t axis_relative; - static bool axis_relative_modes[]; + static inline bool axis_is_relative(const AxisEnum a) { + if (a == E_AXIS) { + if (TEST(axis_relative, E_MODE_REL)) return true; + if (TEST(axis_relative, E_MODE_ABS)) return false; + } + return TEST(axis_relative, a); + } + static inline void set_relative_mode(const bool rel) { + axis_relative = rel ? _BV(REL_X) | _BV(REL_Y) | _BV(REL_Z) | _BV(REL_E) : 0; + } + static inline void set_e_relative() { + CBI(axis_relative, E_MODE_ABS); + SBI(axis_relative, E_MODE_REL); + } + static inline void set_e_absolute() { + CBI(axis_relative, E_MODE_REL); + SBI(axis_relative, E_MODE_ABS); + } #if ENABLED(CNC_WORKSPACE_PLANES) /** @@ -351,7 +370,7 @@ private: static void G0_G1( #if IS_SCARA || defined(G0_FEEDRATE) - bool fast_move=false + const bool fast_move=false #endif ); @@ -543,10 +562,17 @@ private: static void M100(); #endif - static void M104(); + #if EXTRUDERS + static void M104(); + static void M109(); + #endif + static void M105(); - static void M106(); - static void M107(); + + #if FAN_COUNT > 0 + static void M106(); + static void M107(); + #endif #if DISABLED(EMERGENCY_PARSER) static void M108(); @@ -557,8 +583,6 @@ private: #endif #endif - static void M109(); - static void M110(); static void M111(); @@ -599,7 +623,7 @@ private: //static void M191(); #endif - #if HAS_LCD_MENU + #if HOTENDS && HAS_LCD_MENU static void M145(); #endif @@ -660,7 +684,11 @@ private: #endif static void M220(); - static void M221(); + + #if EXTRUDERS + static void M221(); + #endif + static void M226(); #if ENABLED(PHOTO_GCODE) diff --git a/Marlin/src/gcode/host/M114.cpp b/Marlin/src/gcode/host/M114.cpp index 58d7ef3e33..c10b58f705 100644 --- a/Marlin/src/gcode/host/M114.cpp +++ b/Marlin/src/gcode/host/M114.cpp @@ -38,11 +38,11 @@ void report_xyze(const float pos[], const uint8_t n = 4, const uint8_t precision = 3) { char str[12]; - for (uint8_t i = 0; i < n; i++) { + for (uint8_t a = 0; a < n; a++) { SERIAL_CHAR(' '); - SERIAL_CHAR(axis_codes[i]); + SERIAL_CHAR(axis_codes[a]); SERIAL_CHAR(':'); - SERIAL_ECHO(dtostrf(pos[i], 1, precision, str)); + SERIAL_ECHO(dtostrf(pos[a], 1, precision, str)); } SERIAL_EOL(); } diff --git a/Marlin/src/gcode/lcd/M145.cpp b/Marlin/src/gcode/lcd/M145.cpp index 693a32d242..297ece268e 100644 --- a/Marlin/src/gcode/lcd/M145.cpp +++ b/Marlin/src/gcode/lcd/M145.cpp @@ -22,7 +22,7 @@ #include "../../inc/MarlinConfig.h" -#if HAS_LCD_MENU +#if HOTENDS && HAS_LCD_MENU #include "../gcode.h" #include "../../lcd/ultralcd.h" @@ -58,4 +58,4 @@ void GcodeSuite::M145() { } } -#endif // HAS_LCD_MENU +#endif // HOTENDS && HAS_LCD_MENU diff --git a/Marlin/src/gcode/motion/G0_G1.cpp b/Marlin/src/gcode/motion/G0_G1.cpp index 8d88ac91dd..fed70f553e 100644 --- a/Marlin/src/gcode/motion/G0_G1.cpp +++ b/Marlin/src/gcode/motion/G0_G1.cpp @@ -38,7 +38,7 @@ extern float destination[XYZE]; #if ENABLED(VARIABLE_G0_FEEDRATE) - float saved_g0_feedrate_mm_s = MMM_TO_MMS(G0_FEEDRATE); + feedRate_t fast_move_feedrate = MMM_TO_MMS(G0_FEEDRATE); #endif /** @@ -46,34 +46,37 @@ extern float destination[XYZE]; */ void GcodeSuite::G0_G1( #if IS_SCARA || defined(G0_FEEDRATE) - bool fast_move/*=false*/ + const bool fast_move/*=false*/ #endif ) { if (IsRunning() #if ENABLED(NO_MOTION_BEFORE_HOMING) - && !axis_unhomed_error(parser.seen('X'), parser.seen('Y'), parser.seen('Z')) + && !axis_unhomed_error( + (parser.seen('X') ? _BV(X_AXIS) : 0) + | (parser.seen('Y') ? _BV(Y_AXIS) : 0) + | (parser.seen('Z') ? _BV(Z_AXIS) : 0) ) #endif ) { #ifdef G0_FEEDRATE - float saved_feedrate_mm_s; + feedRate_t old_feedrate; #if ENABLED(VARIABLE_G0_FEEDRATE) if (fast_move) { - saved_feedrate_mm_s = feedrate_mm_s; // Back up the (old) motion mode feedrate - feedrate_mm_s = saved_g0_feedrate_mm_s; // Get G0 feedrate from last usage + old_feedrate = feedrate_mm_s; // Back up the (old) motion mode feedrate + feedrate_mm_s = fast_move_feedrate; // Get G0 feedrate from last usage } #endif #endif - get_destination_from_command(); // For X Y Z E F + get_destination_from_command(); // Process X Y Z E F parameters #ifdef G0_FEEDRATE if (fast_move) { #if ENABLED(VARIABLE_G0_FEEDRATE) - saved_g0_feedrate_mm_s = feedrate_mm_s; // Save feedrate for the next G0 + fast_move_feedrate = feedrate_mm_s; // Save feedrate for the next G0 #else - saved_feedrate_mm_s = feedrate_mm_s; // Back up the (new) motion mode feedrate + old_feedrate = feedrate_mm_s; // Back up the (new) motion mode feedrate feedrate_mm_s = MMM_TO_MMS(G0_FEEDRATE); // Get the fixed G0 feedrate #endif } @@ -97,14 +100,14 @@ void GcodeSuite::G0_G1( #endif // FWRETRACT #if IS_SCARA - fast_move ? prepare_uninterpolated_move_to_destination() : prepare_move_to_destination(); + fast_move ? prepare_fast_move_to_destination() : prepare_move_to_destination(); #else prepare_move_to_destination(); #endif #ifdef G0_FEEDRATE // Restore the motion mode feedrate - if (fast_move) feedrate_mm_s = saved_feedrate_mm_s; + if (fast_move) feedrate_mm_s = old_feedrate; #endif #if ENABLED(NANODLP_Z_SYNC) diff --git a/Marlin/src/gcode/motion/G2_G3.cpp b/Marlin/src/gcode/motion/G2_G3.cpp index 9f85d65d5e..2a713a9f41 100644 --- a/Marlin/src/gcode/motion/G2_G3.cpp +++ b/Marlin/src/gcode/motion/G2_G3.cpp @@ -146,10 +146,10 @@ void plan_arc( // Initialize the extruder axis raw[E_AXIS] = current_position[E_AXIS]; - const float fr_mm_s = MMS_SCALED(feedrate_mm_s); + const feedRate_t scaled_fr_mm_s = MMS_SCALED(feedrate_mm_s); #if ENABLED(SCARA_FEEDRATE_SCALING) - const float inv_duration = fr_mm_s / MM_PER_ARC_SEGMENT; + const float inv_duration = scaled_fr_mm_s / MM_PER_ARC_SEGMENT; #endif millis_t next_idle_ms = millis() + 200UL; @@ -206,7 +206,7 @@ void plan_arc( planner.apply_leveling(raw); #endif - if (!planner.buffer_line(raw, fr_mm_s, active_extruder, MM_PER_ARC_SEGMENT + if (!planner.buffer_line(raw, scaled_fr_mm_s, active_extruder, MM_PER_ARC_SEGMENT #if ENABLED(SCARA_FEEDRATE_SCALING) , inv_duration #endif @@ -226,7 +226,7 @@ void plan_arc( planner.apply_leveling(raw); #endif - planner.buffer_line(raw, fr_mm_s, active_extruder, MM_PER_ARC_SEGMENT + planner.buffer_line(raw, scaled_fr_mm_s, active_extruder, MM_PER_ARC_SEGMENT #if ENABLED(SCARA_FEEDRATE_SCALING) , inv_duration #endif @@ -280,20 +280,22 @@ void GcodeSuite::G2_G3(const bool clockwise) { float arc_offset[2] = { 0, 0 }; if (parser.seenval('R')) { - const float r = parser.value_linear_units(), - p1 = current_position[X_AXIS], q1 = current_position[Y_AXIS], - p2 = destination[X_AXIS], q2 = destination[Y_AXIS]; - if (r && (p2 != p1 || q2 != q1)) { - const float e = clockwise ^ (r < 0) ? -1 : 1, // clockwise -1/1, counterclockwise 1/-1 - dx = p2 - p1, dy = q2 - q1, // X and Y differences - d = HYPOT(dx, dy), // Linear distance between the points - dinv = 1/d, // Inverse of d - h = SQRT(sq(r) - sq(d * 0.5f)), // Distance to the arc pivot-point - mx = (p1 + p2) * 0.5f, my = (q1 + q2) * 0.5f,// Point between the two points - sx = -dy * dinv, sy = dx * dinv, // Slope of the perpendicular bisector - cx = mx + e * h * sx, cy = my + e * h * sy; // Pivot-point of the arc - arc_offset[0] = cx - p1; - arc_offset[1] = cy - q1; + const float r = parser.value_linear_units(); + if (r) { + const float p1 = current_position[X_AXIS], q1 = current_position[Y_AXIS], + p2 = destination[X_AXIS], q2 = destination[Y_AXIS]; + if (p2 != p1 || q2 != q1) { + const float e = clockwise ^ (r < 0) ? -1 : 1, // clockwise -1/1, counterclockwise 1/-1 + dx = p2 - p1, dy = q2 - q1, // X and Y differences + d = HYPOT(dx, dy), // Linear distance between the points + dinv = 1/d, // Inverse of d + h = SQRT(sq(r) - sq(d * 0.5f)), // Distance to the arc pivot-point + mx = (p1 + p2) * 0.5f, my = (q1 + q2) * 0.5f,// Point between the two points + sx = -dy * dinv, sy = dx * dinv, // Slope of the perpendicular bisector + cx = mx + e * h * sx, cy = my + e * h * sy; // Pivot-point of the arc + arc_offset[0] = cx - p1; + arc_offset[1] = cy - q1; + } } } else { diff --git a/Marlin/src/gcode/motion/M290.cpp b/Marlin/src/gcode/motion/M290.cpp index 2a05dd4840..7763f965cb 100644 --- a/Marlin/src/gcode/motion/M290.cpp +++ b/Marlin/src/gcode/motion/M290.cpp @@ -34,6 +34,10 @@ #include "../../core/serial.h" #endif +#if ENABLED(MESH_BED_LEVELING) + #include "../../feature/bedlevel/bedlevel.h" +#endif + #if ENABLED(BABYSTEP_ZPROBE_OFFSET) FORCE_INLINE void mod_zprobe_zoffset(const float &offs) { @@ -42,17 +46,17 @@ && active_extruder == 0 #endif ) { - zprobe_offset[Z_AXIS] += offs; + probe_offset[Z_AXIS] += offs; SERIAL_ECHO_START(); - SERIAL_ECHOLNPAIR(MSG_PROBE_Z_OFFSET ": ", zprobe_offset[Z_AXIS]); + SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET MSG_Z ": ", probe_offset[Z_AXIS]); } - #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET) - else { + else { + #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET) hotend_offset[Z_AXIS][active_extruder] -= offs; SERIAL_ECHO_START(); - SERIAL_ECHOLNPAIR(MSG_Z_OFFSET ": ", hotend_offset[Z_AXIS][active_extruder]); - } - #endif + SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET MSG_Z ": ", hotend_offset[Z_AXIS][active_extruder]); + #endif + } } #endif @@ -60,13 +64,15 @@ /** * M290: Babystepping * + * Send 'R' or no parameters for a report. + * * X - Distance to step X * Y - Distance to step Y * Z - Distance to step Z * S - Distance to step Z (alias for Z) * * With BABYSTEP_ZPROBE_OFFSET: - * P0 - Don't adjust the Z probe offset. + * P0 - Don't adjust the Z probe offset */ void GcodeSuite::M290() { #if ENABLED(BABYSTEP_XY) @@ -87,6 +93,42 @@ void GcodeSuite::M290() { #endif } #endif + + if (!parser.seen("XYZ") || parser.seen('R')) { + SERIAL_ECHO_START(); + + #if ENABLED(BABYSTEP_ZPROBE_OFFSET) + SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET " " MSG_Z, probe_offset[Z_AXIS]); + #endif + + #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET) + { + SERIAL_ECHOLNPAIR("Hotend ", int(active_extruder), "Offset" + #if ENABLED(BABYSTEP_XY) + " X", hotend_offset[X_AXIS][active_extruder], + " Y", hotend_offset[Y_AXIS][active_extruder], + #endif + " Z", hotend_offset[Z_AXIS][active_extruder] + ); + } + #endif + + #if ENABLED(MESH_BED_LEVELING) + SERIAL_ECHOLNPAIR("MBL Adjust Z", mbl.z_offset); + #endif + + #if ENABLED(BABYSTEP_DISPLAY_TOTAL) + { + SERIAL_ECHOLNPAIR("Babystep" + #if ENABLED(BABYSTEP_XY) + " X", babystep.axis_total[X_AXIS], + " Y", babystep.axis_total[Y_AXIS], + #endif + " Z", babystep.axis_total[Z_AXIS] + ); + } + #endif + } } #endif // BABYSTEPPING diff --git a/Marlin/src/gcode/parser.cpp b/Marlin/src/gcode/parser.cpp index 76a63a21af..0840043e5d 100644 --- a/Marlin/src/gcode/parser.cpp +++ b/Marlin/src/gcode/parser.cpp @@ -245,7 +245,7 @@ void GCodeParser::parse(char *p) { * For 'M118' you must use 'E1' and 'A1' rather than just 'E' or 'A' */ string_arg = nullptr; - while (const char code = *p++) { // Get the next parameter. A NUL ends the loop + while (const char code = *p++) { // Get the next parameter. A NUL ends the loop // Special handling for M32 [P] !/path/to/file.g# // The path must be the last parameter diff --git a/Marlin/src/gcode/parser.h b/Marlin/src/gcode/parser.h index 1917faa741..a4fd629b16 100644 --- a/Marlin/src/gcode/parser.h +++ b/Marlin/src/gcode/parser.h @@ -34,6 +34,14 @@ #include "../libs/hex_print_routines.h" #endif +#if ENABLED(TEMPERATURE_UNITS_SUPPORT) + typedef enum : uint8_t { TEMPUNIT_C, TEMPUNIT_K, TEMPUNIT_F } TempUnit; +#endif + +#if ENABLED(INCH_MODE_SUPPORT) + typedef enum : uint8_t { LINEARUNIT_MM, LINEARUNIT_INCH } LinearUnit; +#endif + /** * GCode parser * @@ -254,7 +262,6 @@ public: // Units modes: Inches, Fahrenheit, Kelvin #if ENABLED(INCH_MODE_SUPPORT) - static inline float mm_to_linear_unit(const float mm) { return mm / linear_unit_factor; } static inline float mm_to_volumetric_unit(const float mm) { return mm / (volumetric_enabled ? volumetric_unit_factor : linear_unit_factor); } @@ -298,7 +305,7 @@ public: #if ENABLED(TEMPERATURE_UNITS_SUPPORT) - static inline void set_input_temp_units(TempUnit units) { input_temp_units = units; } + static inline void set_input_temp_units(const TempUnit units) { input_temp_units = units; } #if HAS_LCD_MENU && DISABLED(DISABLE_M503) @@ -357,7 +364,7 @@ public: #endif // !TEMPERATURE_UNITS_SUPPORT - static inline float value_feedrate() { return value_linear_units(); } + static inline feedRate_t value_feedrate() { return MMM_TO_MMS(value_linear_units()); } void unknown_command_error(); diff --git a/Marlin/src/gcode/probe/G30.cpp b/Marlin/src/gcode/probe/G30.cpp index 73c13d129a..50d0ea6ae3 100644 --- a/Marlin/src/gcode/probe/G30.cpp +++ b/Marlin/src/gcode/probe/G30.cpp @@ -39,8 +39,8 @@ * E Engage the probe for each probe (default 1) */ void GcodeSuite::G30() { - const float xpos = parser.linearval('X', current_position[X_AXIS] + zprobe_offset[X_AXIS]), - ypos = parser.linearval('Y', current_position[Y_AXIS] + zprobe_offset[Y_AXIS]); + const float xpos = parser.linearval('X', current_position[X_AXIS] + probe_offset[X_AXIS]), + ypos = parser.linearval('Y', current_position[Y_AXIS] + probe_offset[Y_AXIS]); if (!position_is_reachable_by_probe(xpos, ypos)) return; @@ -49,18 +49,15 @@ void GcodeSuite::G30() { set_bed_leveling_enabled(false); #endif - setup_for_endstop_or_probe_move(); + remember_feedrate_scaling_off(); const ProbePtRaise raise_after = parser.boolval('E', true) ? PROBE_PT_STOW : PROBE_PT_NONE; - const float measured_z = probe_pt(xpos, ypos, raise_after, 1); + const float measured_z = probe_at_point(xpos, ypos, raise_after, 1); - if (!isnan(measured_z)) { - SERIAL_ECHOPAIR("Bed X: ", FIXFLOAT(xpos)); - SERIAL_ECHOPAIR(" Y: ", FIXFLOAT(ypos)); - SERIAL_ECHOLNPAIR(" Z: ", FIXFLOAT(measured_z)); - } + if (!isnan(measured_z)) + SERIAL_ECHOLNPAIR("Bed X: ", FIXFLOAT(xpos), " Y: ", FIXFLOAT(ypos), " Z: ", FIXFLOAT(measured_z)); - clean_up_after_endstop_or_probe_move(); + restore_feedrate_and_scaling(); #ifdef Z_AFTER_PROBING if (raise_after == PROBE_PT_STOW) move_z_after_probing(); diff --git a/Marlin/src/gcode/probe/G38.cpp b/Marlin/src/gcode/probe/G38.cpp index 1444521350..33f5611a43 100644 --- a/Marlin/src/gcode/probe/G38.cpp +++ b/Marlin/src/gcode/probe/G38.cpp @@ -109,7 +109,7 @@ void GcodeSuite::G38(const int8_t subcode) { // Get X Y Z E F get_destination_from_command(); - setup_for_endstop_or_probe_move(); + remember_feedrate_scaling_off(); const bool error_on_fail = #if ENABLED(G38_PROBE_AWAY) @@ -128,7 +128,7 @@ void GcodeSuite::G38(const int8_t subcode) { break; } - clean_up_after_endstop_or_probe_move(); + restore_feedrate_and_scaling(); } #endif // G38_PROBE_TARGET diff --git a/Marlin/src/gcode/probe/M851.cpp b/Marlin/src/gcode/probe/M851.cpp index 4deabbe813..eec6b2f255 100644 --- a/Marlin/src/gcode/probe/M851.cpp +++ b/Marlin/src/gcode/probe/M851.cpp @@ -28,35 +28,53 @@ #include "../../feature/bedlevel/bedlevel.h" #include "../../module/probe.h" +/** + * M851: Set the nozzle-to-probe offsets in current units + */ void GcodeSuite::M851() { - if (parser.seenval('Z')) { - const float value = parser.value_linear_units(); - if (WITHIN(value, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) - zprobe_offset[Z_AXIS] = value; - else - SERIAL_ERROR_MSG("?Z out of range (" STRINGIFY(Z_PROBE_OFFSET_RANGE_MIN) " to " STRINGIFY(Z_PROBE_OFFSET_RANGE_MAX) ")"); + + // Show usage with no parameters + if (!parser.seen("XYZ")) { + SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET " X", probe_offset[X_AXIS], " Y", probe_offset[Y_AXIS], " Z", probe_offset[Z_AXIS]); return; } + + float offs[XYZ] = { probe_offset[X_AXIS], probe_offset[Y_AXIS], probe_offset[Z_AXIS] }; + + bool ok = true; + if (parser.seenval('X')) { - const float value = parser.value_linear_units(); - if (WITHIN(value, 0-X_BED_SIZE, X_BED_SIZE)) - zprobe_offset[X_AXIS] = value; - else - SERIAL_ERROR_MSG("?X out of range (" STRINGIFY(0-X_BED_SIZE) " to " STRINGIFY(X_BED_SIZE) ")"); - return; + const float x = parser.value_float(); + if (WITHIN(x, -(X_BED_SIZE), X_BED_SIZE)) + offs[X_AXIS] = x; + else { + SERIAL_ECHOLNPAIR("?X out of range (-", int(X_BED_SIZE), " to ", int(X_BED_SIZE), ")"); + ok = false; + } } + if (parser.seenval('Y')) { - const float value = parser.value_linear_units(); - if (WITHIN(value, 0-Y_BED_SIZE, Y_BED_SIZE)) - zprobe_offset[Y_AXIS] = value; - else - SERIAL_ERROR_MSG("?Y out of range (" STRINGIFY(0-Y_BED_SIZE) " to " STRINGIFY(Y_BED_SIZE) ")"); - return; + const float y = parser.value_float(); + if (WITHIN(y, -(Y_BED_SIZE), Y_BED_SIZE)) + offs[Y_AXIS] = y; + else { + SERIAL_ECHOLNPAIR("?Y out of range (-", int(Y_BED_SIZE), " to ", int(Y_BED_SIZE), ")"); + ok = false; + } } - SERIAL_ECHO_START(); - SERIAL_ECHOLNPAIR(MSG_PROBE_X_OFFSET ": ", zprobe_offset[X_AXIS]); - SERIAL_ECHOLNPAIR(MSG_PROBE_Y_OFFSET ": ", zprobe_offset[Y_AXIS]); - SERIAL_ECHOLNPAIR(MSG_PROBE_Z_OFFSET ": ", zprobe_offset[Z_AXIS]); + + if (parser.seenval('Z')) { + const float z = parser.value_float(); + if (WITHIN(z, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) + offs[Z_AXIS] = z; + else { + SERIAL_ECHOLNPAIR("?Z out of range (", int(Z_PROBE_OFFSET_RANGE_MIN), " to ", int(Z_PROBE_OFFSET_RANGE_MAX), ")"); + ok = false; + } + } + + // Save the new offsets + if (ok) COPY(probe_offset, offs); } #endif // HAS_BED_PROBE diff --git a/Marlin/src/gcode/probe/M951.cpp b/Marlin/src/gcode/probe/M951.cpp index 3e27a7397f..d8d2e8f8e0 100644 --- a/Marlin/src/gcode/probe/M951.cpp +++ b/Marlin/src/gcode/probe/M951.cpp @@ -28,11 +28,10 @@ #include "../../module/tool_change.h" #include "../../module/motion.h" - mpe_settings_t mpe_settings; inline void mpe_settings_report() { - SERIAL_ECHO_START(); SERIAL_ECHOLNPGM("Magnetic Parking Extruder"); + SERIAL_ECHO_MSG("Magnetic Parking Extruder"); SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR("L: Left parking :", mpe_settings.parking_xpos[0]); SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR("R: Right parking :", mpe_settings.parking_xpos[1]); SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR("I: Grab Offset :", mpe_settings.grab_distance); diff --git a/Marlin/src/gcode/queue.cpp b/Marlin/src/gcode/queue.cpp index e741b01fb4..a9bd714c1e 100644 --- a/Marlin/src/gcode/queue.cpp +++ b/Marlin/src/gcode/queue.cpp @@ -43,6 +43,9 @@ GCodeQueue queue; #include "../feature/binary_protocol.h" #endif +#if ENABLED(POWER_LOSS_RECOVERY) + #include "../feature/power_loss_recovery.h" +#endif /** * GCode line number handling. Hosts may opt to include line numbers when @@ -120,6 +123,9 @@ void GCodeQueue::_commit_command(bool say_ok #if NUM_SERIAL > 1 port[index_w] = p; #endif + #if ENABLED(POWER_LOSS_RECOVERY) + recovery.commit_sdpos(index_w); + #endif if (++index_w >= BUFSIZE) index_w = 0; length++; } @@ -557,6 +563,10 @@ void GCodeQueue::get_serial_commands() { sd_count = 0; // clear sd line buffer _commit_command(false); + + #if ENABLED(POWER_LOSS_RECOVERY) + recovery.cmd_sdpos = card.getIndex(); // Prime for the next _commit_command + #endif } else if (sd_count >= MAX_CMD_SIZE - 1) { /** diff --git a/Marlin/src/gcode/sdcard/M21_M22.cpp b/Marlin/src/gcode/sdcard/M21_M22.cpp index 91b117602d..9362db0808 100644 --- a/Marlin/src/gcode/sdcard/M21_M22.cpp +++ b/Marlin/src/gcode/sdcard/M21_M22.cpp @@ -30,7 +30,7 @@ /** * M21: Init SD Card */ -void GcodeSuite::M21() { card.initsd(); } +void GcodeSuite::M21() { card.mount(); } /** * M22: Release SD Card diff --git a/Marlin/src/gcode/sdcard/M24_M25.cpp b/Marlin/src/gcode/sdcard/M24_M25.cpp index 81b7350f72..154a4f7c55 100644 --- a/Marlin/src/gcode/sdcard/M24_M25.cpp +++ b/Marlin/src/gcode/sdcard/M24_M25.cpp @@ -38,6 +38,10 @@ #include "../../feature/host_actions.h" #endif +#if ENABLED(POWER_LOSS_RECOVERY) + #include "../../feature/power_loss_recovery.h" +#endif + /** * M24: Start or Resume SD Print */ @@ -58,15 +62,18 @@ void GcodeSuite::M24() { if (card.isFileOpen()) { card.startFileprint(); print_job_timer.start(); + #if ENABLED(POWER_LOSS_RECOVERY) + recovery.prepare(); + #endif } #if ENABLED(HOST_ACTION_COMMANDS) - #if ENABLED(HOST_PROMPT_SUPPORT) - host_prompt_open(PROMPT_INFO, PSTR("Resume SD")); - #endif #ifdef ACTION_ON_RESUME host_action_resume(); #endif + #if ENABLED(HOST_PROMPT_SUPPORT) + host_prompt_open(PROMPT_INFO, PSTR("Resuming SD"), PSTR("Dismiss")); + #endif #endif ui.reset_status(); diff --git a/Marlin/src/gcode/sdcard/M26.cpp b/Marlin/src/gcode/sdcard/M26.cpp index e14ee5b349..0003758804 100644 --- a/Marlin/src/gcode/sdcard/M26.cpp +++ b/Marlin/src/gcode/sdcard/M26.cpp @@ -31,7 +31,7 @@ * M26: Set SD Card file index */ void GcodeSuite::M26() { - if (card.isDetected() && parser.seenval('S')) + if (card.isMounted() && parser.seenval('S')) card.setIndex(parser.value_long()); } diff --git a/Marlin/src/gcode/sdcard/M30.cpp b/Marlin/src/gcode/sdcard/M30.cpp index f4e67c0a4a..2f318687ad 100644 --- a/Marlin/src/gcode/sdcard/M30.cpp +++ b/Marlin/src/gcode/sdcard/M30.cpp @@ -31,7 +31,7 @@ * M30 : Delete SD Card file */ void GcodeSuite::M30() { - if (card.isDetected()) { + if (card.isMounted()) { card.closefile(); card.removeFile(parser.string_arg); } diff --git a/Marlin/src/gcode/sdcard/M32.cpp b/Marlin/src/gcode/sdcard/M32.cpp index dde94c1d89..7e838fe2f5 100644 --- a/Marlin/src/gcode/sdcard/M32.cpp +++ b/Marlin/src/gcode/sdcard/M32.cpp @@ -42,7 +42,7 @@ void GcodeSuite::M32() { if (IS_SD_PRINTING()) planner.synchronize(); - if (card.isDetected()) { + if (card.isMounted()) { const bool call_procedure = parser.boolval('P'); card.openFile(parser.string_arg, true, call_procedure); diff --git a/Marlin/src/gcode/stats/M31.cpp b/Marlin/src/gcode/stats/M31.cpp index 39c922071c..fdad76e99a 100644 --- a/Marlin/src/gcode/stats/M31.cpp +++ b/Marlin/src/gcode/stats/M31.cpp @@ -31,8 +31,8 @@ */ void GcodeSuite::M31() { char buffer[21]; - duration_t elapsed = print_job_timer.duration(); - elapsed.toString(buffer); + duration_t(print_job_timer.duration()).toString(buffer); + ui.set_status(buffer); SERIAL_ECHO_START(); diff --git a/Marlin/src/gcode/temperature/M104_M109.cpp b/Marlin/src/gcode/temperature/M104_M109.cpp index f4259abff9..86da46a89e 100644 --- a/Marlin/src/gcode/temperature/M104_M109.cpp +++ b/Marlin/src/gcode/temperature/M104_M109.cpp @@ -20,6 +20,10 @@ * */ +#include "../../inc/MarlinConfigPre.h" + +#if EXTRUDERS + #include "../gcode.h" #include "../../module/temperature.h" #include "../../module/motion.h" @@ -138,3 +142,5 @@ void GcodeSuite::M109() { if (set_temp) (void)thermalManager.wait_for_hotend(target_extruder, no_wait_for_cooling); } + +#endif // EXTRUDERS diff --git a/Marlin/src/gcode/units/M82_M83.cpp b/Marlin/src/gcode/units/M82_M83.cpp index 110701b6b0..11868b6ddc 100644 --- a/Marlin/src/gcode/units/M82_M83.cpp +++ b/Marlin/src/gcode/units/M82_M83.cpp @@ -25,9 +25,9 @@ /** * M82: Set E codes absolute (default) */ -void GcodeSuite::M82() { axis_relative_modes[E_AXIS] = false; } +void GcodeSuite::M82() { set_e_absolute(); } /** * M83: Set E codes relative while in Absolute Coordinates (G90) mode */ -void GcodeSuite::M83() { axis_relative_modes[E_AXIS] = true; } +void GcodeSuite::M83() { set_e_relative(); } diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index 37ec8c09ae..b9b8855428 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -26,6 +26,34 @@ * Defines that depend on advanced configuration. */ +#if EXTRUDERS == 0 + #define NO_VOLUMETRICS + #undef TEMP_SENSOR_0 + #undef TEMP_SENSOR_1 + #undef TEMP_SENSOR_2 + #undef TEMP_SENSOR_3 + #undef TEMP_SENSOR_4 + #undef TEMP_SENSOR_5 + #undef FWRETRACT + #undef PIDTEMP + #undef AUTOTEMP + #undef PID_EXTRUSION_SCALING + #undef LIN_ADVANCE + #undef FILAMENT_RUNOUT_SENSOR + #undef ADVANCED_PAUSE_FEATURE + #undef FILAMENT_RUNOUT_DISTANCE_MM + #undef FILAMENT_LOAD_UNLOAD_GCODES + #undef DISABLE_INACTIVE_EXTRUDER + #undef FILAMENT_LOAD_UNLOAD_GCODES + #undef EXTRUDER_RUNOUT_PREVENT + #undef PREVENT_COLD_EXTRUSION + #undef PREVENT_LENGTHY_EXTRUDE + #undef THERMAL_PROTECTION_HOTENDS + #undef THERMAL_PROTECTION_PERIOD + #undef WATCH_TEMP_PERIOD + #undef SHOW_TEMP_ADC_VALUES +#endif + #define HAS_CUTTER EITHER(SPINDLE_FEATURE, LASER_FEATURE) #if !defined(__AVR__) || !defined(USBCON) diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index c5730463f4..d5aae1e0f8 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -43,16 +43,6 @@ #define NOT_A_PIN 0 // For PINS_DEBUGGING #endif -#if EXTRUDERS == 0 - #define NO_VOLUMETRICS - #undef FWRETRACT - #undef LIN_ADVANCE - #undef ADVANCED_PAUSE_FEATURE - #undef DISABLE_INACTIVE_EXTRUDER - #undef EXTRUDER_RUNOUT_PREVENT - #undef FILAMENT_LOAD_UNLOAD_GCODES -#endif - #define HAS_CLASSIC_JERK (IS_KINEMATIC || DISABLED(JUNCTION_DEVIATION)) /** @@ -76,20 +66,21 @@ #endif // Define center values for future use +#define _X_HALF_BED ((X_BED_SIZE) / 2) +#define _Y_HALF_BED ((Y_BED_SIZE) / 2) #if ENABLED(BED_CENTER_AT_0_0) #define X_CENTER 0 #define Y_CENTER 0 #else - #define X_CENTER ((X_BED_SIZE) / 2) - #define Y_CENTER ((Y_BED_SIZE) / 2) + #define X_CENTER _X_HALF_BED + #define Y_CENTER _Y_HALF_BED #endif -#define Z_CENTER ((Z_MIN_POS + Z_MAX_POS) / 2) // Get the linear boundaries of the bed -#define X_MIN_BED (X_CENTER - (X_BED_SIZE) / 2) -#define X_MAX_BED (X_CENTER + (X_BED_SIZE) / 2) -#define Y_MIN_BED (Y_CENTER - (Y_BED_SIZE) / 2) -#define Y_MAX_BED (Y_CENTER + (Y_BED_SIZE) / 2) +#define X_MIN_BED (X_CENTER - _X_HALF_BED) +#define X_MAX_BED (X_MIN_BED + X_BED_SIZE) +#define Y_MIN_BED (Y_CENTER - _Y_HALF_BED) +#define Y_MAX_BED (Y_MIN_BED + Y_BED_SIZE) /** * Dual X Carriage @@ -209,6 +200,10 @@ #undef SLOWDOWN #endif +#ifndef MESH_INSET + #define MESH_INSET 0 +#endif + /** * Safe Homing Options */ @@ -539,13 +534,13 @@ /** * ARRAY_BY_EXTRUDERS based on EXTRUDERS */ -#define ARRAY_BY_EXTRUDERS(...) ARRAY_N(EXTRUDERS, __VA_ARGS__) +#define ARRAY_BY_EXTRUDERS(V...) ARRAY_N(EXTRUDERS, V) #define ARRAY_BY_EXTRUDERS1(v1) ARRAY_BY_EXTRUDERS(v1, v1, v1, v1, v1, v1) /** * ARRAY_BY_HOTENDS based on HOTENDS */ -#define ARRAY_BY_HOTENDS(...) ARRAY_N(HOTENDS, __VA_ARGS__) +#define ARRAY_BY_HOTENDS(V...) ARRAY_N(HOTENDS, V) #define ARRAY_BY_HOTENDS1(v1) ARRAY_BY_HOTENDS(v1, v1, v1, v1, v1, v1) /** @@ -556,26 +551,30 @@ #define TRINAMICS (HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC2209_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE) || HAS_DRIVER(TMC5130_STANDALONE) || HAS_DRIVER(TMC5160_STANDALONE) || HAS_DRIVER(TMC2160_STANDALONE)) -#ifndef MINIMUM_STEPPER_DIR_DELAY +#ifndef MINIMUM_STEPPER_POST_DIR_DELAY #if HAS_DRIVER(TB6560) - #define MINIMUM_STEPPER_DIR_DELAY 15000 + #define MINIMUM_STEPPER_POST_DIR_DELAY 15000 #elif HAS_DRIVER(TB6600) - #define MINIMUM_STEPPER_DIR_DELAY 1500 + #define MINIMUM_STEPPER_POST_DIR_DELAY 1500 #elif HAS_DRIVER(DRV8825) - #define MINIMUM_STEPPER_DIR_DELAY 650 + #define MINIMUM_STEPPER_POST_DIR_DELAY 650 #elif HAS_DRIVER(LV8729) - #define MINIMUM_STEPPER_DIR_DELAY 500 + #define MINIMUM_STEPPER_POST_DIR_DELAY 500 #elif HAS_DRIVER(A5984) - #define MINIMUM_STEPPER_DIR_DELAY 400 + #define MINIMUM_STEPPER_POST_DIR_DELAY 400 #elif HAS_DRIVER(A4988) - #define MINIMUM_STEPPER_DIR_DELAY 200 + #define MINIMUM_STEPPER_POST_DIR_DELAY 200 #elif TRINAMICS - #define MINIMUM_STEPPER_DIR_DELAY 20 + #define MINIMUM_STEPPER_POST_DIR_DELAY 20 #else - #define MINIMUM_STEPPER_DIR_DELAY 0 // Expect at least 10µS since one Stepper ISR must transpire + #define MINIMUM_STEPPER_POST_DIR_DELAY 0 // Expect at least 10µS since one Stepper ISR must transpire #endif #endif +#ifndef MINIMUM_STEPPER_PRE_DIR_DELAY + #define MINIMUM_STEPPER_PRE_DIR_DELAY MINIMUM_STEPPER_POST_DIR_DELAY +#endif + #ifndef MINIMUM_STEPPER_PULSE #if HAS_DRIVER(TB6560) #define MINIMUM_STEPPER_PULSE 30 @@ -1047,6 +1046,10 @@ #define BED_OR_CHAMBER (HAS_HEATED_BED || HAS_TEMP_CHAMBER) #define HAS_TEMP_SENSOR (HAS_TEMP_HOTEND || BED_OR_CHAMBER) +#if !HAS_TEMP_SENSOR + #undef AUTO_REPORT_TEMPERATURES +#endif + // PID heating #if !HAS_HEATED_BED #undef PIDTEMPBED @@ -1349,12 +1352,7 @@ #endif #endif #else - #undef X_PROBE_OFFSET_FROM_EXTRUDER - #undef Y_PROBE_OFFSET_FROM_EXTRUDER - #undef Z_PROBE_OFFSET_FROM_EXTRUDER - #define X_PROBE_OFFSET_FROM_EXTRUDER 0 - #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 + #undef NOZZLE_TO_PROBE_OFFSET #endif /** @@ -1447,10 +1445,25 @@ * Bed Probing rectangular bounds * These can be further constrained in code for Delta and SCARA */ - #ifndef MIN_PROBE_EDGE #define MIN_PROBE_EDGE 0 #endif +#ifndef MIN_PROBE_EDGE_LEFT + #define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE +#endif +#ifndef MIN_PROBE_EDGE_RIGHT + #define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE +#endif +#ifndef MIN_PROBE_EDGE_FRONT + #define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE +#endif +#ifndef MIN_PROBE_EDGE_BACK + #define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + +#ifndef NOZZLE_TO_PROBE_OFFSET + #define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } +#endif #if ENABLED(DELTA) /** @@ -1458,8 +1471,8 @@ */ #define _PROBE_RADIUS (DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) #ifndef DELTA_CALIBRATION_RADIUS - #ifdef X_PROBE_OFFSET_FROM_EXTRUDER - #define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - _MAX(ABS(), ABS(Y_PROBE_OFFSET_FROM_EXTRUDER), ABS(MIN_PROBE_EDGE))) + #ifdef NOZZLE_TO_PROBE_OFFSET + #define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - _MAX(ABS(nozzle_to_probe_offset[X_AXIS]), ABS(nozzle_to_probe_offset[Y_AXIS]), ABS(MIN_PROBE_EDGE))) #else #define DELTA_CALIBRATION_RADIUS _PROBE_RADIUS #endif @@ -1468,64 +1481,41 @@ #define DELTA_ENDSTOP_ADJ { 0, 0, 0 } #endif #ifndef DELTA_TOWER_ANGLE_TRIM - #define DELTA_TOWER_ANGLE_TRIM {0, 0, 0} + #define DELTA_TOWER_ANGLE_TRIM { 0, 0, 0 } #endif #ifndef DELTA_RADIUS_TRIM_TOWER - #define DELTA_RADIUS_TRIM_TOWER {0, 0, 0} + #define DELTA_RADIUS_TRIM_TOWER { 0, 0, 0 } #endif #ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER - #define DELTA_DIAGONAL_ROD_TRIM_TOWER {0, 0, 0} + #define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0, 0, 0 } #endif // Probing points may be verified at compile time within the radius // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!") // so that may be added to SanityCheck.h in the future. - #define _MIN_PROBE_X (X_CENTER - (_PROBE_RADIUS)) - #define _MIN_PROBE_Y (Y_CENTER - (_PROBE_RADIUS)) - #define _MAX_PROBE_X (X_CENTER + _PROBE_RADIUS) - #define _MAX_PROBE_Y (Y_CENTER + _PROBE_RADIUS) + #define PROBE_X_MIN (X_CENTER - (_PROBE_RADIUS)) + #define PROBE_Y_MIN (Y_CENTER - (_PROBE_RADIUS)) + #define PROBE_X_MAX (X_CENTER + _PROBE_RADIUS) + #define PROBE_Y_MAX (Y_CENTER + _PROBE_RADIUS) #elif IS_SCARA #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2) #define _PROBE_RADIUS (SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - #define _MIN_PROBE_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MIN_PROBE_EDGE) - #define _MIN_PROBE_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MIN_PROBE_EDGE) - #define _MAX_PROBE_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - #define _MAX_PROBE_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - -#else - - // Boundaries for Cartesian probing based on bed limits - #define _MIN_PROBE_X (_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MIN_PROBE_Y (_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MAX_PROBE_X (_MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MAX_PROBE_Y (_MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) - + #define PROBE_X_MIN (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MIN_PROBE_EDGE_LEFT) + #define PROBE_Y_MIN (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MIN_PROBE_EDGE_FRONT) + #define PROBE_X_MAX (X_CENTER + SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE_RIGHT)) + #define PROBE_Y_MAX (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE_BACK)) #endif #if ENABLED(SEGMENT_LEVELED_MOVES) && !defined(LEVELED_SEGMENT_LENGTH) #define LEVELED_SEGMENT_LENGTH 5 #endif -// These may be overridden in Configuration.h if a smaller area is desired -#ifndef MIN_PROBE_X - #define MIN_PROBE_X _MIN_PROBE_X -#endif -#ifndef MIN_PROBE_Y - #define MIN_PROBE_Y _MIN_PROBE_Y -#endif -#ifndef MAX_PROBE_X - #define MAX_PROBE_X _MAX_PROBE_X -#endif -#ifndef MAX_PROBE_Y - #define MAX_PROBE_Y _MAX_PROBE_Y -#endif - /** * Default mesh area is an area with an inset margin on the print area. */ -#if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) +#if HAS_LEVELING #if IS_KINEMATIC // Probing points may be verified at compile time within the radius // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!") @@ -1536,16 +1526,16 @@ #define _MESH_MAX_Y (Y_MAX_BED - (MESH_INSET)) #else // Boundaries for Cartesian probing based on set limits - #if ENABLED(AUTO_BED_LEVELING_UBL) + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) #define _MESH_MIN_X (_MAX(X_MIN_BED + MESH_INSET, X_MIN_POS)) // UBL is careful not to probe off the bed. It does not - #define _MESH_MIN_Y (_MAX(Y_MIN_BED + MESH_INSET, Y_MIN_POS)) // need *_PROBE_OFFSET_FROM_EXTRUDER in the mesh dimensions + #define _MESH_MIN_Y (_MAX(Y_MIN_BED + MESH_INSET, Y_MIN_POS)) // need NOZZLE_TO_PROBE_OFFSET in the mesh dimensions #define _MESH_MAX_X (_MIN(X_MAX_BED - (MESH_INSET), X_MAX_POS)) #define _MESH_MAX_Y (_MIN(Y_MAX_BED - (MESH_INSET), Y_MAX_POS)) #else - #define _MESH_MIN_X (_MAX(X_MIN_BED + MESH_INSET, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MESH_MIN_Y (_MAX(Y_MIN_BED + MESH_INSET, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MESH_MAX_X (_MIN(X_MAX_BED - (MESH_INSET), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MESH_MAX_Y (_MIN(Y_MAX_BED - (MESH_INSET), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) + #define _MESH_MIN_X (_MAX(X_MIN_BED + MESH_INSET, X_MIN_POS + nozzle_to_probe_offset[X_AXIS])) + #define _MESH_MIN_Y (_MAX(Y_MIN_BED + MESH_INSET, Y_MIN_POS + nozzle_to_probe_offset[Y_AXIS])) + #define _MESH_MAX_X (_MIN(X_MAX_BED - (MESH_INSET), X_MAX_POS + nozzle_to_probe_offset[X_AXIS])) + #define _MESH_MAX_Y (_MIN(Y_MAX_BED - (MESH_INSET), Y_MAX_POS + nozzle_to_probe_offset[Y_AXIS])) #endif #endif @@ -1565,8 +1555,12 @@ #endif // MESH_BED_LEVELING || AUTO_BED_LEVELING_UBL -#if EITHER(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_3POINT) - #if IS_KINEMATIC +#if ALL(PROBE_PT_1_X, PROBE_PT_2_X, PROBE_PT_3_X, PROBE_PT_1_Y, PROBE_PT_2_Y, PROBE_PT_3_Y) + #define HAS_FIXED_3POINT; +#endif + +#if EITHER(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_3POINT) && IS_KINEMATIC + #define HAS_FIXED_3POINT #define SIN0 0.0 #define SIN120 0.866025 #define SIN240 -0.866025 @@ -1591,41 +1585,6 @@ #ifndef PROBE_PT_3_Y #define PROBE_PT_3_Y (Y_CENTER + (_PROBE_RADIUS) * SIN240) #endif - #else - #ifndef PROBE_PT_1_X - #define PROBE_PT_1_X MIN_PROBE_X - #endif - #ifndef PROBE_PT_1_Y - #define PROBE_PT_1_Y MIN_PROBE_Y - #endif - #ifndef PROBE_PT_2_X - #define PROBE_PT_2_X MAX_PROBE_X - #endif - #ifndef PROBE_PT_2_Y - #define PROBE_PT_2_Y MIN_PROBE_Y - #endif - #ifndef PROBE_PT_3_X - #define PROBE_PT_3_X X_CENTER - #endif - #ifndef PROBE_PT_3_Y - #define PROBE_PT_3_Y MAX_PROBE_Y - #endif - #endif -#endif - -#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR) - #ifndef LEFT_PROBE_BED_POSITION - #define LEFT_PROBE_BED_POSITION MIN_PROBE_X - #endif - #ifndef RIGHT_PROBE_BED_POSITION - #define RIGHT_PROBE_BED_POSITION MAX_PROBE_X - #endif - #ifndef FRONT_PROBE_BED_POSITION - #define FRONT_PROBE_BED_POSITION MIN_PROBE_Y - #endif - #ifndef BACK_PROBE_BED_POSITION - #define BACK_PROBE_BED_POSITION MAX_PROBE_Y - #endif #endif /** @@ -1823,13 +1782,13 @@ #endif #endif -// -// The external SD card is not used. Hardware SPI is used to access the card. -// When sharing the SD card with a PC we want the menu options to -// mount/unmount the card and refresh it. So we disable card detect. -// #if ENABLED(SDSUPPORT) #if SD_CONNECTION_IS(ONBOARD) && DISABLED(NO_SD_HOST_DRIVE) + // + // The external SD card is not used. Hardware SPI is used to access the card. + // When sharing the SD card with a PC we want the menu options to + // mount/unmount the card and refresh it. So we disable card detect. + // #undef SD_DETECT_PIN #define SHARED_SD_CARD #endif diff --git a/Marlin/src/inc/MarlinConfigPre.h b/Marlin/src/inc/MarlinConfigPre.h index 63c5a6095d..96ee5d347c 100644 --- a/Marlin/src/inc/MarlinConfigPre.h +++ b/Marlin/src/inc/MarlinConfigPre.h @@ -21,11 +21,14 @@ */ #pragma once +#ifndef __MARLIN_FIRMWARE__ #define __MARLIN_FIRMWARE__ +#endif // // Prefix header to acquire configurations // +#include #include "../HAL/platforms.h" diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index eaec7529ef..636919ea81 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -248,9 +248,17 @@ #elif defined(UBL_MESH_MIN_X) || defined(UBL_MESH_MIN_Y) || defined(UBL_MESH_MAX_X) || defined(UBL_MESH_MAX_Y) #error "UBL_MESH_(MIN|MAX)_[XY] is now just MESH_(MIN|MAX)_[XY]. Please update your configuration." #elif defined(ABL_PROBE_PT_1_X) || defined(ABL_PROBE_PT_1_Y) || defined(ABL_PROBE_PT_2_X) || defined(ABL_PROBE_PT_2_Y) || defined(ABL_PROBE_PT_3_X) || defined(ABL_PROBE_PT_3_Y) - #error "ABL_PROBE_PT_[123]_[XY] is now PROBE_PT_[123]_[XY]. Please update your configuration." + #error "ABL_PROBE_PT_[123]_[XY] is no longer required. Please remove it from Configuration.h." #elif defined(UBL_PROBE_PT_1_X) || defined(UBL_PROBE_PT_1_Y) || defined(UBL_PROBE_PT_2_X) || defined(UBL_PROBE_PT_2_Y) || defined(UBL_PROBE_PT_3_X) || defined(UBL_PROBE_PT_3_Y) - #error "UBL_PROBE_PT_[123]_[XY] is now PROBE_PT_[123]_[XY]. Please update your configuration." + #error "UBL_PROBE_PT_[123]_[XY] is no longer required. Please remove it from Configuration.h." +#elif defined(LEFT_PROBE_BED_POSITION) + #error "LEFT_PROBE_BED_POSITION has been replaced by MIN_PROBE_EDGE_LEFT. Please update your configuration." +#elif defined(RIGHT_PROBE_BED_POSITION) + #error "RIGHT_PROBE_BED_POSITION has been replaced by MIN_PROBE_EDGE_RIGHT. Please update your configuration." +#elif defined(FRONT_PROBE_BED_POSITION) + #error "FRONT_PROBE_BED_POSITION has been replaced by MIN_PROBE_EDGE_FRONT. Please update your configuration." +#elif defined(BACK_PROBE_BED_POSITION) + #error "BACK_PROBE_BED_POSITION has been replaced by MIN_PROBE_EDGE_BACK. Please update your configuration." #elif defined(ENABLE_MESH_EDIT_GFX_OVERLAY) #error "ENABLE_MESH_EDIT_GFX_OVERLAY is now MESH_EDIT_GFX_OVERLAY. Please update your configuration." #elif defined(BABYSTEP_ZPROBE_GFX_REVERSE) @@ -388,6 +396,12 @@ #error "SDPOWER is now SDPOWER_PIN. Please update your configuration and/or pins." #elif defined(STRING_SPLASH_LINE1) || defined(STRING_SPLASH_LINE2) #error "STRING_SPLASH_LINE[12] are now obsolete. Please remove them from Configuration.h." +#elif defined(Z_PROBE_ALLEN_KEY_DEPLOY_1_X) || defined(Z_PROBE_ALLEN_KEY_STOW_1_X) + #error "Z_PROBE_ALLEN_KEY_(DEPLOY|STOW) coordinates are now a single setting. Please update your configuration." +#elif defined(X_PROBE_OFFSET_FROM_EXTRUDER) || defined(Y_PROBE_OFFSET_FROM_EXTRUDER) || defined(Z_PROBE_OFFSET_FROM_EXTRUDER) + #error "[XYZ]_PROBE_OFFSET_FROM_EXTRUDER is now NOZZLE_TO_PROBE_OFFSET. Please update your configuration." +#elif defined(MIN_PROBE_X) || defined(MIN_PROBE_Y) || defined(MAX_PROBE_X) || defined(MAX_PROBE_Y) + #error "(MIN|MAX)_PROBE_[XY] are now calculated at runtime. Please remove them from Configuration.h." #endif #define BOARD_MKS_13 -1000 @@ -561,6 +575,10 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Graphical LCD, or EXTENSIBLE_UI." #endif +#if !HAS_LCD_MENU && ENABLED(SD_REPRINT_LAST_SELECTED_FILE) + #error "SD_REPRINT_LAST_SELECTED_FILE currently requires a Marlin-native LCD menu." +#endif + /** * Custom Boot and Status screens */ @@ -831,7 +849,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS */ #if ENABLED(MIXING_EXTRUDER) #if EXTRUDERS > 1 - #error "MIXING_EXTRUDER currently only supports one extruder." + #error "For MIXING_EXTRUDER set MIXING_STEPPERS > 1 instead of EXTRUDERS > 1." #elif MIXING_STEPPERS < 2 #error "You must set MIXING_STEPPERS >= 2 for a mixing extruder." #elif ENABLED(FILAMENT_SENSOR) @@ -1038,15 +1056,13 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS + ENABLED(SOLENOID_PROBE) \ + ENABLED(Z_PROBE_ALLEN_KEY) \ + ENABLED(Z_PROBE_SLED) \ - + ENABLED(RACK_AND_PINION_PROBE) - #error "Please enable only one probe option: PROBE_MANUALLY, FIX_MOUNTED_PROBE, BLTOUCH, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo." + + ENABLED(RACK_AND_PINION_PROBE) \ + + ENABLED(SENSORLESS_PROBING) + #error "Please enable only one probe option: PROBE_MANUALLY, SENSORLESS_PROBING, BLTOUCH, FIX_MOUNTED_PROBE, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo." #endif #if HAS_BED_PROBE - static_assert(FLOOR(float(X_PROBE_OFFSET_FROM_EXTRUDER)) == float(X_PROBE_OFFSET_FROM_EXTRUDER), "X_PROBE_OFFSET_FROM_EXTRUDER must be an integer!"); - static_assert(FLOOR(float(Y_PROBE_OFFSET_FROM_EXTRUDER)) == float(Y_PROBE_OFFSET_FROM_EXTRUDER), "Y_PROBE_OFFSET_FROM_EXTRUDER must be an integer!"); - /** * Z_PROBE_SLED is incompatible with DELTA */ @@ -1198,15 +1214,6 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS * Bed Leveling Requirements */ -#if EITHER(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_3POINT) - static_assert(WITHIN(PROBE_PT_1_X, MIN_PROBE_X, MAX_PROBE_X), "PROBE_PT_1_X is outside the probe region."); - static_assert(WITHIN(PROBE_PT_2_X, MIN_PROBE_X, MAX_PROBE_X), "PROBE_PT_2_X is outside the probe region."); - static_assert(WITHIN(PROBE_PT_3_X, MIN_PROBE_X, MAX_PROBE_X), "PROBE_PT_3_X is outside the probe region."); - static_assert(WITHIN(PROBE_PT_1_Y, MIN_PROBE_Y, MAX_PROBE_Y), "PROBE_PT_1_Y is outside the probe region."); - static_assert(WITHIN(PROBE_PT_2_Y, MIN_PROBE_Y, MAX_PROBE_Y), "PROBE_PT_2_Y is outside the probe region."); - static_assert(WITHIN(PROBE_PT_3_Y, MIN_PROBE_Y, MAX_PROBE_Y), "PROBE_PT_3_Y is outside the probe region."); -#endif - #if ENABLED(AUTO_BED_LEVELING_UBL) /** @@ -1239,20 +1246,6 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #error "SCARA machines can only use the AUTO_BED_LEVELING_BILINEAR leveling option." #endif - /** - * Check auto bed leveling probe points - */ - #if ABL_GRID - - static_assert(LEFT_PROBE_BED_POSITION < RIGHT_PROBE_BED_POSITION, "LEFT_PROBE_BED_POSITION must be less than RIGHT_PROBE_BED_POSITION."); - static_assert(FRONT_PROBE_BED_POSITION < BACK_PROBE_BED_POSITION, "FRONT_PROBE_BED_POSITION must be less than BACK_PROBE_BED_POSITION."); - static_assert(LEFT_PROBE_BED_POSITION >= MIN_PROBE_X, "LEFT_PROBE_BED_POSITION is outside the probe region."); - static_assert(RIGHT_PROBE_BED_POSITION <= MAX_PROBE_X, "RIGHT_PROBE_BED_POSITION is outside the probe region."); - static_assert(FRONT_PROBE_BED_POSITION >= MIN_PROBE_Y, "FRONT_PROBE_BED_POSITION is outside the probe region."); - static_assert(BACK_PROBE_BED_POSITION <= MAX_PROBE_Y, "BACK_PROBE_BED_POSITION is outside the probe region."); - - #endif - #elif ENABLED(MESH_BED_LEVELING) // Hide PROBE_MANUALLY from the rest of the code @@ -1320,9 +1313,9 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS * Make sure Z_SAFE_HOMING point is reachable */ #if ENABLED(Z_SAFE_HOMING) - #if HAS_BED_PROBE - static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, MIN_PROBE_X, MAX_PROBE_X), "Z_SAFE_HOMING_X_POINT is outside the probe region."); - static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, MIN_PROBE_Y, MAX_PROBE_Y), "Z_SAFE_HOMING_Y_POINT is outside the probe region."); + #if HAS_BED_PROBE && (ENABLED(DELTA) || IS_SCARA) + static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, PROBE_X_MIN, PROBE_X_MAX), "Z_SAFE_HOMING_X_POINT is outside the probe region."); + static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, PROBE_Y_MIN, PROBE_Y_MAX), "Z_SAFE_HOMING_Y_POINT is outside the probe region."); #else static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, X_MIN_POS, X_MAX_POS), "Z_SAFE_HOMING_X_POINT can't be reached by the nozzle."); static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, Y_MIN_POS, Y_MAX_POS), "Z_SAFE_HOMING_Y_POINT can't be reached by the nozzle."); @@ -1476,8 +1469,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #error "E0_STEP_PIN or E0_DIR_PIN not defined for this board." #elif ( !(defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__)) && (!PIN_EXISTS(E0_STEP, E0_DIR) || !HAS_E0_ENABLE)) #error "E0_STEP_PIN, E0_DIR_PIN, or E0_ENABLE_PIN not defined for this board." -#elif TEMP_SENSOR_0 == 0 - #error "TEMP_SENSOR_0 is required." +#elif EXTRUDERS && TEMP_SENSOR_0 == 0 + #error "TEMP_SENSOR_0 is required with any extruders." #endif // Pins are required for heaters @@ -2070,18 +2063,54 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #if ENABLED(DELTA) && !BOTH(STEALTHCHOP_XY, STEALTHCHOP_Z) #error "SENSORLESS_HOMING on DELTA currently requires STEALTHCHOP_XY and STEALTHCHOP_Z." - #elif X_SENSORLESS && X_HOME_DIR < 0 && (X_MIN_ENDSTOP_INVERTING != X_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_XMIN)) - #error "SENSORLESS_HOMING requires X_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_XMIN when homing to X_MIN." - #elif X_SENSORLESS && X_HOME_DIR > 0 && (X_MAX_ENDSTOP_INVERTING != X_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_XMAX)) - #error "SENSORLESS_HOMING requires X_MAX_ENDSTOP_INVERTING and ENDSTOPPULLUP_XMAX when homing to X_MAX." - #elif Y_SENSORLESS && Y_HOME_DIR < 0 && (Y_MIN_ENDSTOP_INVERTING != Y_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_YMIN)) - #error "SENSORLESS_HOMING requires Y_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_YMIN when homing to Y_MIN." - #elif Y_SENSORLESS && Y_HOME_DIR > 0 && (Y_MAX_ENDSTOP_INVERTING != Y_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_YMAX)) - #error "SENSORLESS_HOMING requires Y_MAX_ENDSTOP_INVERTING and ENDSTOPPULLUP_YMAX when homing to Y_MAX." - #elif Z_SENSORLESS && Z_HOME_DIR < 0 && (Z_MIN_ENDSTOP_INVERTING != Z_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_ZMIN)) - #error "SENSORLESS_HOMING requires Z_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_ZMIN when homing to Z_MIN." - #elif Z_SENSORLESS && Z_HOME_DIR > 0 && (Z_MAX_ENDSTOP_INVERTING != Z_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_ZMAX)) - #error "SENSORLESS_HOMING requires Z_MAX_ENDSTOP_INVERTING and ENDSTOPPULLUP_ZMAX when homing to Z_MAX." + #elif X_SENSORLESS && X_HOME_DIR < 0 && DISABLED(ENDSTOPPULLUPS, ENDSTOPPULLUP_XMIN) + #error "SENSORLESS_HOMING requires ENDSTOPPULLUP_XMIN (or ENDSTOPPULLUPS) when homing to X_MIN." + #elif X_SENSORLESS && X_HOME_DIR > 0 && DISABLED(ENDSTOPPULLUPS, ENDSTOPPULLUP_XMAX) + #error "SENSORLESS_HOMING requires ENDSTOPPULLUP_XMAX (or ENDSTOPPULLUPS) when homing to X_MAX." + #elif Y_SENSORLESS && Y_HOME_DIR < 0 && DISABLED(ENDSTOPPULLUPS, ENDSTOPPULLUP_YMIN) + #error "SENSORLESS_HOMING requires ENDSTOPPULLUP_YMIN (or ENDSTOPPULLUPS) when homing to Y_MIN." + #elif Y_SENSORLESS && Y_HOME_DIR > 0 && DISABLED(ENDSTOPPULLUPS, ENDSTOPPULLUP_YMAX) + #error "SENSORLESS_HOMING requires ENDSTOPPULLUP_YMAX (or ENDSTOPPULLUPS) when homing to Y_MAX." + #elif Z_SENSORLESS && Z_HOME_DIR < 0 && DISABLED(ENDSTOPPULLUPS, ENDSTOPPULLUP_ZMIN) + #error "SENSORLESS_HOMING requires ENDSTOPPULLUP_ZMIN (or ENDSTOPPULLUPS) when homing to Z_MIN." + #elif Z_SENSORLESS && Z_HOME_DIR > 0 && DISABLED(ENDSTOPPULLUPS, ENDSTOPPULLUP_ZMAX) + #error "SENSORLESS_HOMING requires ENDSTOPPULLUP_ZMAX (or ENDSTOPPULLUPS) when homing to Z_MAX." + #elif X_SENSORLESS && X_HOME_DIR < 0 && X_MIN_ENDSTOP_INVERTING != X_ENDSTOP_INVERTING + #if X_ENDSTOP_INVERTING + #error "SENSORLESS_HOMING requires X_MIN_ENDSTOP_INVERTING = true when homing to X_MIN." + #else + #error "SENSORLESS_HOMING requires X_MIN_ENDSTOP_INVERTING = false when homing TMC2209 to X_MIN." + #endif + #elif X_SENSORLESS && X_HOME_DIR > 0 && X_MAX_ENDSTOP_INVERTING != X_ENDSTOP_INVERTING + #if X_ENDSTOP_INVERTING + #error "SENSORLESS_HOMING requires X_MAX_ENDSTOP_INVERTING = true when homing to X_MAX." + #else + #error "SENSORLESS_HOMING requires X_MAX_ENDSTOP_INVERTING = false when homing TMC2209 to X_MAX." + #endif + #elif Y_SENSORLESS && Y_HOME_DIR < 0 && Y_MIN_ENDSTOP_INVERTING != Y_ENDSTOP_INVERTING + #if Y_ENDSTOP_INVERTING + #error "SENSORLESS_HOMING requires Y_MIN_ENDSTOP_INVERTING = true when homing to Y_MIN." + #else + #error "SENSORLESS_HOMING requires Y_MIN_ENDSTOP_INVERTING = false when homing TMC2209 to Y_MIN." + #endif + #elif Y_SENSORLESS && Y_HOME_DIR > 0 && Y_MAX_ENDSTOP_INVERTING != Y_ENDSTOP_INVERTING + #if Y_ENDSTOP_INVERTING + #error "SENSORLESS_HOMING requires Y_MAX_ENDSTOP_INVERTING = true when homing to Y_MAX." + #else + #error "SENSORLESS_HOMING requires Y_MAX_ENDSTOP_INVERTING = false when homing TMC2209 to Y_MAX." + #endif + #elif Z_SENSORLESS && Z_HOME_DIR < 0 && Z_MIN_ENDSTOP_INVERTING != Z_ENDSTOP_INVERTING + #if Z_ENDSTOP_INVERTING + #error "SENSORLESS_HOMING requires Z_MIN_ENDSTOP_INVERTING = true when homing to Z_MIN." + #else + #error "SENSORLESS_HOMING requires Z_MIN_ENDSTOP_INVERTING = false when homing TMC2209 to Z_MIN." + #endif + #elif Z_SENSORLESS && Z_HOME_DIR > 0 && Z_MAX_ENDSTOP_INVERTING != Z_ENDSTOP_INVERTING + #if Z_ENDSTOP_INVERTING + #error "SENSORLESS_HOMING requires Z_MAX_ENDSTOP_INVERTING = true when homing to Z_MAX." + #else + #error "SENSORLESS_HOMING requires Z_MAX_ENDSTOP_INVERTING = false when homing TMC2209 to Z_MAX." + #endif #elif ENDSTOP_NOISE_THRESHOLD #error "SENSORLESS_HOMING is incompatible with ENDSTOP_NOISE_THRESHOLD." #elif !(X_SENSORLESS || Y_SENSORLESS || Z_SENSORLESS) @@ -2318,8 +2347,16 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) #endif #endif -#if ENABLED(BACKLASH_COMPENSATION) && IS_CORE - #error "BACKLASH_COMPENSATION is incompatible with CORE kinematics." +#if ENABLED(BACKLASH_COMPENSATION) + #if IS_CORE + #error "BACKLASH_COMPENSATION is incompatible with CORE kinematics." + #endif + #ifndef BACKLASH_DISTANCE_MM + #error "BACKLASH_COMPENSATION requires BACKLASH_DISTANCE_MM" + #endif + #ifndef BACKLASH_CORRECTION + #error "BACKLASH_COMPENSATION requires BACKLASH_CORRECTION" + #endif #endif #if ENABLED(GRADIENT_MIX) && MIXING_VIRTUAL_TOOLS < 2 @@ -2330,7 +2367,7 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) * Photo G-code requirements */ #if ENABLED(PHOTO_GCODE) - #if (PIN_EXISTS(CHDK) + PIN_EXISTS(PHOTOGRAPH_PIN) + defined(PHOTO_SWITCH_POSITION)) > 1 + #if (PIN_EXISTS(CHDK) + PIN_EXISTS(PHOTOGRAPH) + defined(PHOTO_SWITCH_POSITION)) > 1 #error "Please define only one of CHDK_PIN, PHOTOGRAPH_PIN, or PHOTO_SWITCH_POSITION." #elif defined(PHOTO_SWITCH_POSITION) && !defined(PHOTO_POSITION) #error "PHOTO_SWITCH_POSITION requires PHOTO_POSITION. Please update your Configuration_adv.h." diff --git a/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp b/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp index 781e76d379..af1fa56460 100644 --- a/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp +++ b/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp @@ -29,7 +29,7 @@ #endif extern LCD_CLASS lcd; -int lcd_glyph_height(void) { return 1; } +int lcd_glyph_height() { return 1; } typedef struct _hd44780_charmap_t { wchar_t uchar; // the unicode char @@ -1012,7 +1012,7 @@ int lcd_put_u8str_max_P(PGM_P utf8_str_P, pixel_len_t max_length) { return 0; } - int test_hd44780_charmap_all(void) { + int test_hd44780_charmap_all() { int flg_error = 0; if (test_hd44780_charmap(g_hd44780_charmap_device, COUNT(g_hd44780_charmap_device), "g_hd44780_charmap_device", 0) < 0) { flg_error = 1; diff --git a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp index b7ebc111a5..1465637504 100644 --- a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp +++ b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp @@ -47,7 +47,7 @@ #endif #if ENABLED(AUTO_BED_LEVELING_UBL) - #include "../../feature/bedlevel/ubl/ubl.h" + #include "../../feature/bedlevel/bedlevel.h" #endif // @@ -622,14 +622,9 @@ void MarlinUI::draw_status_message(const bool blink) { // Alternate Status message and Filament display if (ELAPSED(millis(), next_filament_display)) { lcd_put_u8str_P(PSTR("Dia ")); - lcd_put_u8str(ftostr12ns(filament_width_meas)); + lcd_put_u8str(ftostr12ns(filwidth.measured_mm)); lcd_put_u8str_P(PSTR(" V")); - lcd_put_u8str(i16tostr3(100.0 * ( - parser.volumetric_enabled - ? planner.volumetric_area_nominal / planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] - : planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] - ) - )); + lcd_put_u8str(i16tostr3(planner.volumetric_percent(parser.volumetric_enabled))); lcd_put_wchar('%'); return; } @@ -866,7 +861,11 @@ void MarlinUI::draw_status_screen() { char c; uint16_t per; #if HAS_FAN0 - if (blink || thermalManager.fan_speed_scaler[0] < 128) { + if (true + #if EXTRUDERS + && (blink || thermalManager.fan_speed_scaler[0] < 128) + #endif + ) { uint16_t spd = thermalManager.fan_speed[0]; if (blink) c = 'F'; #if ENABLED(ADAPTIVE_FAN_SLOWING) @@ -877,8 +876,10 @@ void MarlinUI::draw_status_screen() { else #endif { - c = 'E'; - per = planner.flow_percentage[0]; + #if EXTRUDERS + c = 'E'; + per = planner.flow_percentage[0]; + #endif } lcd_put_wchar(c); lcd_put_u8str(i16tostr3(per)); @@ -964,6 +965,8 @@ void MarlinUI::draw_status_screen() { #if HAS_LCD_MENU + #include "../menu/menu.h" + #if ENABLED(ADVANCED_PAUSE_FEATURE) void MarlinUI::draw_hotend_status(const uint8_t row, const uint8_t extruder) { @@ -975,11 +978,10 @@ void MarlinUI::draw_status_screen() { #endif // ADVANCED_PAUSE_FEATURE - void draw_menu_item_static(const uint8_t row, PGM_P pstr, const bool center/*=true*/, const bool invert/*=false*/, const char *valstr/*=nullptr*/) { - UNUSED(invert); + void draw_menu_item_static(const uint8_t row, PGM_P const pstr, const uint8_t style/*=SS_CENTER*/, const char * const valstr/*=nullptr*/) { int8_t n = LCD_WIDTH; lcd_moveto(0, row); - if (center && !valstr) { + if ((style & SS_CENTER) && !valstr) { int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2; while (--pad >= 0) { lcd_put_wchar(' '); n--; } } diff --git a/Marlin/src/lcd/dogm/dogm_Statusscreen.h b/Marlin/src/lcd/dogm/dogm_Statusscreen.h index aff3a3ae1c..a09e778809 100644 --- a/Marlin/src/lcd/dogm/dogm_Statusscreen.h +++ b/Marlin/src/lcd/dogm/dogm_Statusscreen.h @@ -69,10 +69,28 @@ // #if HAS_HEATED_BED && HOTENDS <= 4 - #if HOTENDS == 1 + #if HOTENDS == 0 + + #define STATUS_HEATERS_WIDTH 96 + + const unsigned char status_heaters_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000 + }; + + #elif HOTENDS == 1 #define STATUS_HEATERS_WIDTH 96 - #define STATUS_BED_TEXT_X (STATUS_HEATERS_WIDTH - 10) const unsigned char status_heaters_bmp[] PROGMEM = { B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000, @@ -92,7 +110,6 @@ #elif HOTENDS == 2 #define STATUS_HEATERS_WIDTH 96 - #define STATUS_BED_TEXT_X (STATUS_HEATERS_WIDTH - 10) const unsigned char status_heaters_bmp[] PROGMEM = { B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000, @@ -112,7 +129,6 @@ #elif HOTENDS == 3 #define STATUS_HEATERS_WIDTH 96 - #define STATUS_BED_TEXT_X (STATUS_HEATERS_WIDTH - 10) const unsigned char status_heaters_bmp[] PROGMEM = { B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000100,B00010000,B01000000, @@ -132,7 +148,6 @@ #else // HOTENDS > 3 #define STATUS_HEATERS_WIDTH 120 - #define STATUS_BED_TEXT_X (STATUS_HEATERS_WIDTH - 10) const unsigned char status_heaters_bmp[] PROGMEM = { B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000100,B00010000,B01000000, @@ -151,9 +166,15 @@ #endif // HOTENDS + #define STATUS_BED_TEXT_X (STATUS_HEATERS_WIDTH - 10) + #else // !HAS_HEATED_BED || HOTENDS > 3 - #if HOTENDS == 1 + #if HOTENDS == 0 + + #define STATUS_HEATERS_WIDTH 0 + + #elif HOTENDS == 1 #define STATUS_HEATERS_WIDTH 12 @@ -229,7 +250,7 @@ B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000 }; - #elif HOTENDS > 4 + #else // HOTENDS > 4 #define STATUS_HEATERS_WIDTH 108 @@ -304,105 +325,101 @@ #endif - #else + #elif HOTENDS >= 2 - #if HOTENDS >= 2 + #ifdef STATUS_HOTEND_ANIM - #ifdef STATUS_HOTEND_ANIM + const unsigned char status_hotend1_a_bmp[] PROGMEM = { + B00011111,B11100000, + B00111111,B11110000, + B00111110,B11110000, + B00111100,B11110000, + B00011010,B11100000, + B00011110,B11100000, + B00111110,B11110000, + B00111110,B11110000, + B00111110,B11110000, + B00001111,B11000000, + B00000111,B10000000, + B00000011,B00000000 + }; - const unsigned char status_hotend1_a_bmp[] PROGMEM = { - B00011111,B11100000, - B00111111,B11110000, - B00111110,B11110000, - B00111100,B11110000, - B00011010,B11100000, - B00011110,B11100000, - B00111110,B11110000, - B00111110,B11110000, - B00111110,B11110000, - B00001111,B11000000, - B00000111,B10000000, - B00000011,B00000000 - }; + const unsigned char status_hotend1_b_bmp[] PROGMEM = { + B00011111,B11100000, + B00100000,B00010000, + B00100001,B00010000, + B00100011,B00010000, + B00010101,B00100000, + B00010001,B00100000, + B00100001,B00010000, + B00100001,B00010000, + B00110001,B00110000, + B00001000,B01000000, + B00000100,B10000000, + B00000011,B00000000 + }; - const unsigned char status_hotend1_b_bmp[] PROGMEM = { - B00011111,B11100000, - B00100000,B00010000, - B00100001,B00010000, - B00100011,B00010000, - B00010101,B00100000, - B00010001,B00100000, - B00100001,B00010000, - B00100001,B00010000, - B00110001,B00110000, - B00001000,B01000000, - B00000100,B10000000, - B00000011,B00000000 - }; + const unsigned char status_hotend2_a_bmp[] PROGMEM = { + B00011111,B11100000, + B00111111,B11110000, + B00111100,B11110000, + B00111011,B01110000, + B00011111,B01100000, + B00011110,B11100000, + B00111101,B11110000, + B00111011,B11110000, + B00111000,B01110000, + B00001111,B11000000, + B00000111,B10000000, + B00000011,B00000000 + }; - const unsigned char status_hotend2_a_bmp[] PROGMEM = { - B00011111,B11100000, - B00111111,B11110000, - B00111100,B11110000, - B00111011,B01110000, - B00011111,B01100000, - B00011110,B11100000, - B00111101,B11110000, - B00111011,B11110000, - B00111000,B01110000, - B00001111,B11000000, - B00000111,B10000000, - B00000011,B00000000 - }; + const unsigned char status_hotend2_b_bmp[] PROGMEM = { + B00011111,B11100000, + B00100000,B00010000, + B00100011,B00010000, + B00100100,B10010000, + B00010000,B10100000, + B00010001,B00100000, + B00100010,B00010000, + B00100100,B00010000, + B00110111,B10110000, + B00001000,B01000000, + B00000100,B10000000, + B00000011,B00000000 + }; - const unsigned char status_hotend2_b_bmp[] PROGMEM = { - B00011111,B11100000, - B00100000,B00010000, - B00100011,B00010000, - B00100100,B10010000, - B00010000,B10100000, - B00010001,B00100000, - B00100010,B00010000, - B00100100,B00010000, - B00110111,B10110000, - B00001000,B01000000, - B00000100,B10000000, - B00000011,B00000000 - }; + #else - #else + const unsigned char status_hotend1_a_bmp[] PROGMEM = { + B00011111,B11100000, + B00111110,B11110000, + B00111100,B11110000, + B00111010,B11110000, + B00011110,B11100000, + B00011110,B11100000, + B00111110,B11110000, + B00111110,B11110000, + B00111111,B11110000, + B00001111,B11000000, + B00000111,B10000000, + B00000011,B00000000 + }; - const unsigned char status_hotend1_a_bmp[] PROGMEM = { - B00011111,B11100000, - B00111110,B11110000, - B00111100,B11110000, - B00111010,B11110000, - B00011110,B11100000, - B00011110,B11100000, - B00111110,B11110000, - B00111110,B11110000, - B00111111,B11110000, - B00001111,B11000000, - B00000111,B10000000, - B00000011,B00000000 - }; - - const unsigned char status_hotend2_a_bmp[] PROGMEM = { - B00011111,B11100000, - B00111100,B11110000, - B00111011,B01110000, - B00111111,B01110000, - B00011110,B11100000, - B00011101,B11100000, - B00111011,B11110000, - B00111000,B01110000, - B00111111,B11110000, - B00001111,B11000000, - B00000111,B10000000, - B00000011,B00000000 - }; - - #endif + const unsigned char status_hotend2_a_bmp[] PROGMEM = { + B00011111,B11100000, + B00111100,B11110000, + B00111011,B01110000, + B00111111,B01110000, + B00011110,B11100000, + B00011101,B11100000, + B00111011,B11110000, + B00111000,B01110000, + B00111111,B11110000, + B00001111,B11000000, + B00000111,B10000000, + B00000011,B00000000 + }; #endif @@ -573,6 +590,8 @@ #endif + #else + #define STATUS_HEATERS_HEIGHT 20 #endif #endif @@ -1187,20 +1206,42 @@ #define STATUS_FAN_WIDTH 0 #endif +#define _EXTRA_WIDTH (STATUS_FAN_WIDTH + STATUS_CHAMBER_WIDTH + STATUS_BED_WIDTH) + +// +// Heater Bitmap X Space Requirements +// +#if !defined(STATUS_HEATERS_XSPACE) && (STATUS_HOTEND1_WIDTH || STATUS_HEATERS_WIDTH) + #if (HOTENDS == 3 || HOTENDS == 4) && ENABLED(STATUS_COMBINE_HEATERS) + // If more heaters or they're combined, 3 bytes + #define STATUS_HEATERS_XSPACE 24 + #elif STATUS_LOGO_WIDTH > (LCD_PIXEL_WIDTH - (_EXTRA_WIDTH) - 26 * (HOTENDS)) // 128 - (20 + 24 + 26) == 58 + // If the logo won't fit at 26 width + #define STATUS_HEATERS_XSPACE 24 + #else + #define STATUS_HEATERS_XSPACE 26 + #endif +#endif + #if ENABLED(CUSTOM_STATUS_SCREEN_IMAGE) - #if STATUS_HOTEND1_WIDTH - #define HAS_SPACES ((LCD_PIXEL_WIDTH - (HOTENDS * STATUS_HOTEND1_WIDTH) - STATUS_BED_WIDTH - STATUS_CHAMBER_WIDTH - STATUS_FAN_WIDTH - 24) < STATUS_LOGO_WIDTH ? true : false) + // + // Disable the logo bitmap if insufficient space + // + #if STATUS_HEATERS_XSPACE + #define _HEATERS_WIDTH (HOTENDS * (STATUS_HEATERS_XSPACE)) // as many hotends as possible #elif STATUS_HEATERS_WIDTH - #define HAS_SPACES (((LCD_PIXEL_WIDTH - STATUS_HEATERS_WIDTH - STATUS_BED_WIDTH - STATUS_CHAMBER_WIDTH - STATUS_FAN_WIDTH - 20) < STATUS_LOGO_WIDTH) ? true : false) + #define _HEATERS_WIDTH STATUS_HEATERS_WIDTH + #else + #error "Status screen heaters region was not specified." #endif - - #if HAS_SPACES + #if STATUS_LOGO_WIDTH > (LCD_PIXEL_WIDTH - (_EXTRA_WIDTH + _HEATERS_WIDTH)) + #warning "Unable to fit custom Status Screen logo. Disabling." #undef STATUS_LOGO_WIDTH #endif #if (HOTENDS > 1 && STATUS_LOGO_WIDTH && BED_OR_CHAMBER_OR_FAN) || (HOTENDS >= 3 && !BED_OR_CHAMBER_OR_FAN) - #define _STATUS_HEATERS_X(H,S,N) (((LCD_PIXEL_WIDTH - (H * (S + N)) - STATUS_LOGO_WIDTH - STATUS_BED_WIDTH - STATUS_CHAMBER_WIDTH - STATUS_FAN_WIDTH) / 2) + STATUS_LOGO_WIDTH) + #define _STATUS_HEATERS_X(H,S,N) ((LCD_PIXEL_WIDTH - (H * (S + N)) - (_EXTRA_WIDTH) + (STATUS_LOGO_WIDTH)) / 2) #if STATUS_HOTEND1_WIDTH #if HOTENDS > 2 #define STATUS_HEATERS_X _STATUS_HEATERS_X(HOTENDS, STATUS_HOTEND1_WIDTH, 6) @@ -1240,33 +1281,21 @@ #endif // -// Heater Bitmap Properties +// Hotend Heater Bitmap starting X position // -#if STATUS_HOTEND1_WIDTH || STATUS_HEATERS_WIDTH - - #ifndef STATUS_HEATERS_XSPACE - #if (HOTENDS == 3 || HOTENDS == 4) && ENABLED(STATUS_COMBINE_HEATERS) - #define STATUS_HEATERS_XSPACE 24 - #else - #define STATUS_HEATERS_XSPACE 26 // Like the included bitmaps - #endif - #endif - - #ifndef STATUS_HEATERS_X - #if STATUS_LOGO_BYTEWIDTH - #define STATUS_HEATERS_X (STATUS_LOGO_BYTEWIDTH * 8) - #elif ((STATUS_CHAMBER_WIDTH || STATUS_FAN_WIDTH) && (STATUS_BED_WIDTH && STATUS_HOTEND_BITMAPS == 3)) || \ - ((STATUS_CHAMBER_WIDTH || STATUS_FAN_WIDTH || STATUS_BED_WIDTH) && STATUS_HOTEND_BITMAPS == 4) +#if !defined(STATUS_HEATERS_X) && (STATUS_HOTEND1_WIDTH || STATUS_HEATERS_WIDTH) + #if STATUS_LOGO_BYTEWIDTH + #define STATUS_HEATERS_X (STATUS_LOGO_BYTEWIDTH * 8) + #elif ((STATUS_CHAMBER_WIDTH || STATUS_FAN_WIDTH) && (STATUS_BED_WIDTH && STATUS_HOTEND_BITMAPS == 3)) || \ + ((STATUS_CHAMBER_WIDTH || STATUS_FAN_WIDTH || STATUS_BED_WIDTH) && STATUS_HOTEND_BITMAPS == 4) + #define STATUS_HEATERS_X 5 + #else + #if ENABLED(STATUS_COMBINE_HEATERS) && HAS_HEATED_BED && HOTENDS <= 4 #define STATUS_HEATERS_X 5 #else - #if ENABLED(STATUS_COMBINE_HEATERS) && HAS_HEATED_BED && HOTENDS <= 4 - #define STATUS_HEATERS_X 5 - #else - #define STATUS_HEATERS_X 8 // Like the included bitmaps - #endif + #define STATUS_HEATERS_X 8 // Like the included bitmaps #endif #endif - #endif #if STATUS_HOTEND1_WIDTH @@ -1431,6 +1460,10 @@ "Status heaters bitmap (status_heaters_bmp) dimensions don't match data." ); +#else // HOTENDS == 0 + + //#error "Incomplete status header" + #endif // diff --git a/Marlin/src/lcd/dogm/lcdprint_u8g.cpp b/Marlin/src/lcd/dogm/lcdprint_u8g.cpp index c9ff96547b..0ad5e998ab 100644 --- a/Marlin/src/lcd/dogm/lcdprint_u8g.cpp +++ b/Marlin/src/lcd/dogm/lcdprint_u8g.cpp @@ -20,7 +20,7 @@ #include "u8g_fontutf8.h" #include "../lcdprint.h" -int lcd_glyph_height(void) { return u8g_GetFontBBXHeight(u8g.getU8g()); } +int lcd_glyph_height() { return u8g_GetFontBBXHeight(u8g.getU8g()); } void lcd_moveto(const lcd_uint_t col, const lcd_uint_t row) { u8g.setPrintPos(col, row); } diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp index 59bc4eb0d1..e9023515cf 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp @@ -93,7 +93,10 @@ #define CHAMBER_ALT() false #endif -#define MAX_HOTEND_DRAW _MIN(HOTENDS, ((LCD_PIXEL_WIDTH - (STATUS_LOGO_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8) / (STATUS_HEATERS_XSPACE))) +#if HOTENDS + #define MAX_HOTEND_DRAW _MIN(HOTENDS, ((LCD_PIXEL_WIDTH - (STATUS_LOGO_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8) / (STATUS_HEATERS_XSPACE))) +#endif + #define STATUS_HEATERS_BOT (STATUS_HEATERS_Y + STATUS_HEATERS_HEIGHT - 1) #if ENABLED(MARLIN_DEV_MODE) @@ -127,6 +130,11 @@ FORCE_INLINE void _draw_heater_status(const heater_ind_t heater, const bool blin const bool isHeat = IFBED(BED_ALT(), HOTEND_ALT(heater)); #endif + #ifndef STATUS_HOTEND_TEXT_X + #define STATUS_HOTEND_TEXT_X(N) 0 + #define STATUS_HEATERS_Y 0 + #endif + const uint8_t tx = IFBED(STATUS_BED_TEXT_X, STATUS_HOTEND_TEXT_X(heater)); #if ENABLED(MARLIN_DEV_MODE) @@ -271,6 +279,8 @@ FORCE_INLINE void _draw_heater_status(const heater_ind_t heater, const bool blin #endif #if HAS_HEATED_CHAMBER if (dodraw) _draw_centered_temp(target + 0.5, STATUS_CHAMBER_TEXT_X, 7); + #else + UNUSED(dodraw); #endif } if (PAGE_CONTAINS(28 - INFO_FONT_ASCENT, 28 - 1)) @@ -339,13 +349,8 @@ void MarlinUI::draw_status_screen() { strcpy(ystring, ftostr4sign(LOGICAL_Y_POSITION(current_position[Y_AXIS]))); strcpy(zstring, ftostr52sp( LOGICAL_Z_POSITION(current_position[Z_AXIS]))); #if ENABLED(FILAMENT_LCD_DISPLAY) - strcpy(wstring, ftostr12ns(filament_width_meas)); - strcpy(mstring, i16tostr3(100.0 * ( - parser.volumetric_enabled - ? planner.volumetric_area_nominal / planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] - : planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] - ) - )); + strcpy(wstring, ftostr12ns(filwidth.measured_mm)); + strcpy(mstring, i16tostr3(planner.volumetric_percent(parser.volumetric_enabled))); #endif } @@ -422,8 +427,10 @@ void MarlinUI::draw_status_screen() { // if (PAGE_UNDER(6 + 1 + 12 + 1 + 6 + 1)) { // Extruders - for (uint8_t e = 0; e < MAX_HOTEND_DRAW; ++e) - _draw_heater_status((heater_ind_t)e, blink); + #if HOTENDS + for (uint8_t e = 0; e < MAX_HOTEND_DRAW; ++e) + _draw_heater_status((heater_ind_t)e, blink); + #endif // Heated bed #if DO_DRAW_BED && DISABLED(STATUS_COMBINE_HEATERS) || (HAS_HEATED_BED && ENABLED(STATUS_COMBINE_HEATERS) && HOTENDS <= 4) diff --git a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp index f651945beb..660cf07673 100644 --- a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp +++ b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp @@ -612,6 +612,8 @@ void ST7920_Lite_Status_Screen::draw_feedrate_percentage(const uint16_t percenta begin_data(); write_number(percentage, 3); write_byte('%'); + #else + UNUSED(percentage); #endif } @@ -658,7 +660,7 @@ void ST7920_Lite_Status_Screen::draw_status_message() { #endif } -void ST7920_Lite_Status_Screen::draw_position(const float x, const float y, const float z, bool position_known) { +void ST7920_Lite_Status_Screen::draw_position(const float (&pos)[XYZE], const bool position_known) { char str[7]; set_ddram_address(DDRAM_LINE_4); begin_data(); @@ -667,13 +669,13 @@ void ST7920_Lite_Status_Screen::draw_position(const float x, const float y, cons const unsigned char alt_label = position_known ? 0 : (ui.get_blink() ? ' ' : 0); write_byte(alt_label ? alt_label : 'X'); - write_str(dtostrf(x, -4, 0, str), 4); + write_str(dtostrf(pos[X_AXIS], -4, 0, str), 4); write_byte(alt_label ? alt_label : 'Y'); - write_str(dtostrf(y, -4, 0, str), 4); + write_str(dtostrf(pos[Y_AXIS], -4, 0, str), 4); write_byte(alt_label ? alt_label : 'Z'); - write_str(dtostrf(z, -5, 1, str), 5); + write_str(dtostrf(pos[Z_AXIS], -5, 1, str), 5); } bool ST7920_Lite_Status_Screen::indicators_changed() { @@ -826,16 +828,14 @@ void ST7920_Lite_Status_Screen::update_status_or_position(bool forceUpdate) { } } - if (countdown == 0 && (forceUpdate || position_changed() || + if (countdown == 0 && (forceUpdate || position_changed() #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) - blink_changed() + || blink_changed() #endif )) { - draw_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], - #if ENABLED(DISABLE_REDUCED_ACCURACY_WARNING) - true - #else - all_axes_known() + draw_position(current_position, true + #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) + && all_axes_known() #endif ); } diff --git a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h index 1fb707ca1d..18a5ed77f2 100644 --- a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h +++ b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h @@ -86,7 +86,7 @@ class ST7920_Lite_Status_Screen { static void draw_print_time(const duration_t &elapsed); static void draw_feedrate_percentage(const uint16_t percentage); static void draw_status_message(); - static void draw_position(const float x, const float y, const float z, bool position_known = true); + static void draw_position(const float (&pos)[XYZE], bool position_known = true); static bool indicators_changed(); static bool position_changed(); diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index 76c13711aa..8c1dfa3ffe 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -60,6 +60,7 @@ #if HAS_GRAPHICAL_LCD && PIN_EXISTS(FSMC_CS) #include "HAL_LCD_com_defines.h" +#include "ultralcd_DOGM.h" #include @@ -70,12 +71,12 @@ extern void LCD_IO_WriteMultiple(uint16_t color, uint32_t count); #endif -#define WIDTH 128 -#define HEIGHT 64 +#define WIDTH LCD_PIXEL_WIDTH +#define HEIGHT LCD_PIXEL_HEIGHT #define PAGE_HEIGHT 8 -#define X_LO 32 -#define Y_LO 32 +#define X_LO LCD_PIXEL_OFFSET_X +#define Y_LO LCD_PIXEL_OFFSET_Y #define X_HI (X_LO + 2 * WIDTH - 1) #define Y_HI (Y_LO + 2 * HEIGHT - 1) @@ -142,8 +143,8 @@ static const uint8_t page_first_sequence[] = { }; static const uint8_t clear_screen_sequence[] = { - U8G_ESC_ADR(0), LCD_COLUMN, U8G_ESC_ADR(1), 0x00, 0x00, 0x01, 0x3F, - U8G_ESC_ADR(0), LCD_ROW, U8G_ESC_ADR(1), 0x00, 0x00, 0x00, 0xEF, + U8G_ESC_ADR(0), LCD_COLUMN, U8G_ESC_ADR(1), 0x00, 0x00, U8G_ESC_DATA(LCD_FULL_PIXEL_WIDTH), + U8G_ESC_ADR(0), LCD_ROW, U8G_ESC_ADR(1), 0x00, 0x00, U8G_ESC_DATA(LCD_FULL_PIXEL_HEIGHT), U8G_ESC_ADR(0), LCD_WRITE_RAM, U8G_ESC_ADR(1), U8G_ESC_END }; diff --git a/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp b/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp index 1dfb6be762..5a1326daf9 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp @@ -170,32 +170,45 @@ uint8_t u8g_dev_uc1701_mini12864_HAL_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m case U8G_DEV_MSG_INIT: u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_init_seq); + #if ENABLED(MKS_MINI_12864) + u8g_Delay(5); + #endif break; case U8G_DEV_MSG_STOP: break; case U8G_DEV_MSG_PAGE_NEXT: { u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_data_start); - u8g_WriteByte(u8g, dev, 0x0B0 | (2*pb->p.page)); /* select current page */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ + #if ENABLED(MKS_MINI_12864) + u8g_Delay(5); + #endif + u8g_WriteByte(u8g, dev, 0x0B0 | (2 * pb->p.page)); /* select current page */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)pb->buf); u8g_SetChipSelect(u8g, dev, 0); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_data_start); - u8g_WriteByte(u8g, dev, 0x0B0 | (2*pb->p.page+1)); /* select current page */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ + #if ENABLED(MKS_MINI_12864) + u8g_Delay(5); + #endif + u8g_WriteByte(u8g, dev, 0x0B0 | (2 * pb->p.page + 1)); /* select current page */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); u8g_SetChipSelect(u8g, dev, 0); } break; case U8G_DEV_MSG_CONTRAST: u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + #if ENABLED(MKS_MINI_12864) + u8g_Delay(5); + #endif + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ u8g_WriteByte(u8g, dev, 0x081); u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); u8g_SetChipSelect(u8g, dev, 0); + #if ENABLED(MKS_MINI_12864) + u8g_Delay(5); + #endif return 1; } return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); diff --git a/Marlin/src/lcd/dogm/u8g_fontutf8.cpp b/Marlin/src/lcd/dogm/u8g_fontutf8.cpp index fe6cf9266c..b976e2777c 100644 --- a/Marlin/src/lcd/dogm/u8g_fontutf8.cpp +++ b/Marlin/src/lcd/dogm/u8g_fontutf8.cpp @@ -119,7 +119,7 @@ static font_group_t g_fontgroup_root = { nullptr, 0 }; /** * @brief check if font is loaded */ -static inline bool uxg_Utf8FontIsInited(void) { return flag_fontgroup_was_inited; } +static inline bool uxg_Utf8FontIsInited() { return flag_fontgroup_was_inited; } int uxg_SetUtf8Fonts (const uxg_fontinfo_t * fntinfo, int number) { flag_fontgroup_was_inited = 1; diff --git a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp b/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp index b71af96a94..7eb51eea4d 100644 --- a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp +++ b/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp @@ -21,7 +21,7 @@ */ /** - * ultralcd_DOGM.cpp + * lcd/dogm/ultralcd_DOGM.h * * Implementation of the LCD display routines for a DOGM128 graphic display. * by STB for ErikZalm/Marlin. Common LCD 128x64 pixel graphic displays. @@ -30,9 +30,9 @@ * License: http://opensource.org/licenses/BSD-3-Clause * * With the use of: - * u8glib by Oliver Kraus - * https://github.com/olikraus/U8glib_Arduino - * License: http://opensource.org/licenses/BSD-3-Clause + * u8glib by Oliver Kraus + * https://github.com/olikraus/U8glib_Arduino + * License: http://opensource.org/licenses/BSD-3-Clause */ #include "../../inc/MarlinConfigPre.h" @@ -60,7 +60,7 @@ #endif #if ENABLED(AUTO_BED_LEVELING_UBL) - #include "../../feature/bedlevel/ubl/ubl.h" + #include "../../feature/bedlevel/bedlevel.h" #endif /** @@ -309,6 +309,8 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop #if HAS_LCD_MENU + #include "../menu/menu.h" + u8g_uint_t row_y1, row_y2; #if ENABLED(ADVANCED_PAUSE_FEATURE) @@ -361,13 +363,13 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop } // Draw a static line of text in the same idiom as a menu item - void draw_menu_item_static(const uint8_t row, PGM_P pstr, const bool center/*=true*/, const bool invert/*=false*/, const char* valstr/*=nullptr*/) { + void draw_menu_item_static(const uint8_t row, PGM_P const pstr, const uint8_t style/*=SS_CENTER*/, const char * const valstr/*=nullptr*/) { - if (mark_as_selected(row, invert)) { + if (mark_as_selected(row, (style & SS_INVERT))) { u8g_uint_t n = LCD_PIXEL_WIDTH; // pixel width of string allowed - if (center && !valstr) { + if ((style & SS_CENTER) && !valstr) { int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2; while (--pad >= 0) { lcd_put_wchar(' '); n--; } } diff --git a/Marlin/src/lcd/dogm/ultralcd_DOGM.h b/Marlin/src/lcd/dogm/ultralcd_DOGM.h index 4d9662d7db..e8d1b8a1e3 100644 --- a/Marlin/src/lcd/dogm/ultralcd_DOGM.h +++ b/Marlin/src/lcd/dogm/ultralcd_DOGM.h @@ -22,7 +22,7 @@ #pragma once /** - * ultralcd_DOGM.h + * lcd/dogm/ultralcd_DOGM.h */ #include "../../inc/MarlinConfigPre.h" @@ -30,7 +30,8 @@ #include #include "HAL_LCD_class_defines.h" -// LCD selection +//#define ALTERNATIVE_LCD + #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) #define U8G_CLASS U8GLIB_ST7920_128X64_4X #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN) && (LCD_PINS_ENABLE == MOSI_PIN) @@ -40,102 +41,159 @@ #endif #elif ENABLED(U8GLIB_ST7920) + // RepRap Discount Full Graphics Smart Controller + #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN) && (LCD_PINS_ENABLE == MOSI_PIN) - #define U8G_CLASS U8GLIB_ST7920_128X64_4X_HAL - #define U8G_PARAM LCD_PINS_RS // 2 stripes, HW SPI (shared with SD card, on AVR does not use standard LCD adapter) + #define U8G_CLASS U8GLIB_ST7920_128X64_4X_HAL // 2 stripes, HW SPI (Shared with SD card. Non-standard LCD adapter on AVR.) + #define U8G_PARAM LCD_PINS_RS #else - //#define U8G_CLASS U8GLIB_ST7920_128X64_4X - //#define U8G_PARAM LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS // Original u8glib device. 2 stripes, SW SPI - #define U8G_CLASS U8GLIB_ST7920_128X64_RRD - #define U8G_PARAM LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS // Number of stripes can be adjusted in ultralcd_st7920_u8glib_rrd.h with PAGE_HEIGHT - // AVR version ignores these pin settings - // HAL version uses these pin settings + #if ENABLED(ALTERNATIVE_LCD) + #define U8G_CLASS U8GLIB_ST7920_128X64_4X // 2 stripes, SW SPI (Original u8glib device) + #else + #define U8G_CLASS U8GLIB_ST7920_128X64_RRD // Adjust stripes with PAGE_HEIGHT in ultralcd_st7920_u8glib_rrd.h + #endif + #define U8G_PARAM LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS // AVR version ignores these pin settings + // HAL version uses these pin settings #endif #elif ENABLED(CARTESIO_UI) - // The CartesioUI display - //#define U8G_CLASS U8GLIB_DOGM128_2X - //#define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0 // 4 stripes - #define U8G_CLASS U8GLIB_DOGM128_2X - #define U8G_PARAM DOGLCD_CS, DOGLCD_A0 // 4 stripes + + // CartesioUI LCD + + #if ENABLED(ALTERNATIVE_LCD) + #define U8G_CLASS U8GLIB_DOGM128_2X // 4 stripes + #define FORCE_SOFT_SPI // SW-SPI + #else + #define U8G_CLASS U8GLIB_DOGM128_2X // 4 stripes (HW-SPI) + #endif #elif ENABLED(U8GLIB_LM6059_AF) + // Based on the Adafruit ST7565 (http://www.adafruit.com/products/250) - //#define U8G_CLASS U8GLIB_LM6059 - //#define U8G_PARAM DOGLCD_CS, DOGLCD_A0 // 8 stripes - #define U8G_CLASS U8GLIB_LM6059_2X - #define U8G_PARAM DOGLCD_CS, DOGLCD_A0 // 4 stripes + + #if ENABLED(ALTERNATIVE_LCD) + #define U8G_CLASS U8GLIB_LM6059 // 8 stripes (HW-SPI) + #else + #define U8G_CLASS U8GLIB_LM6059_2X // 4 stripes (HW-SPI) + #endif #elif ENABLED(U8GLIB_ST7565_64128N) - // The MaKrPanel, Mini Viki, Viki 2.0 & AZSMZ 12864 ST7565 controller + + // MaKrPanel, Mini Viki, Viki 2.0, AZSMZ 12864 ST7565 controller + #define SMART_RAMPS (MB(RAMPS_SMART_EFB) || MB(RAMPS_SMART_EEB) || MB(RAMPS_SMART_EFF) || MB(RAMPS_SMART_EEF) || MB(RAMPS_SMART_SF)) - #if DOGLCD_SCK == SCK_PIN && DOGLCD_MOSI == MOSI_PIN && !SMART_RAMPS - #define U8G_CLASS U8GLIB_64128N_2X_HAL - #define U8G_PARAM DOGLCD_CS, DOGLCD_A0 // using HW-SPI - #else - #define U8G_CLASS U8GLIB_64128N_2X_HAL - #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0 // using SW-SPI + #define U8G_CLASS U8GLIB_64128N_2X_HAL // 4 stripes (HW-SPI) + #if SMART_RAMPS || DOGLCD_SCK != SCK_PIN || DOGLCD_MOSI != MOSI_PIN + #define FORCE_SOFT_SPI // SW-SPI #endif #elif ENABLED(MKS_12864OLED_SSD1306) + // MKS 128x64 (SSD1306) OLED I2C LCD - #define U8G_CLASS U8GLIB_SSD1306_128X64 - #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0 // 8 stripes - //#define U8G_CLASS U8GLIB_SSD1306_128X64_2X - //#define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0 // 4 stripes + + #define FORCE_SOFT_SPI // SW-SPI + + #if ENABLED(ALTERNATIVE_LCD) + #define U8G_CLASS U8GLIB_SSD1306_128X64_2X // 4 stripes + #else + #define U8G_CLASS U8GLIB_SSD1306_128X64 // 8 stripes + #endif #elif ENABLED(U8GLIB_SSD1306) - // Generic support for SSD1306 OLED I2C LCDs - //#define U8G_CLASS U8GLIB_SSD1306_128X64_2X_I2C_2_WIRE - //#define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) // 4 stripes - #define U8G_CLASS U8GLIB_SSD1306_128X64_2X - #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) // 4 stripes + + // Generic SSD1306 OLED I2C LCD + + #if ENABLED(ALTERNATIVE_LCD) + #define U8G_CLASS U8GLIB_SSD1306_128X64_2X_I2C_2_WIRE // 4 stripes + #else + #define U8G_CLASS U8GLIB_SSD1306_128X64_2X // 4 stripes + #endif + #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) #elif ENABLED(MKS_12864OLED) + // MKS 128x64 (SH1106) OLED I2C LCD - #define U8G_CLASS U8GLIB_SH1106_128X64 - #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0 // 8 stripes - //#define U8G_CLASS U8GLIB_SH1106_128X64_2X - //#define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0 // 4 stripes -#elif ENABLED(U8GLIB_SH1106) - // Generic support for SH1106 OLED I2C LCDs - //#define U8G_CLASS U8GLIB_SH1106_128X64_2X_I2C_2_WIRE - //#define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) // 4 stripes - #define U8G_CLASS U8GLIB_SH1106_128X64_2X - #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) // 4 stripes -#elif ENABLED(U8GLIB_SSD1309) - // Generic support for SSD1309 OLED I2C LCDs - #define U8G_CLASS U8GLIB_SSD1309_128X64 - #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) -#elif ENABLED(MINIPANEL) - // MINIPanel display - //#define U8G_CLASS U8GLIB_MINI12864 - //#define U8G_PARAM DOGLCD_CS, DOGLCD_A0 // 8 stripes - #define U8G_CLASS U8GLIB_MINI12864_2X - #define U8G_PARAM DOGLCD_CS, DOGLCD_A0 // 8 stripes -#elif ENABLED(FYSETC_MINI_12864) - // The FYSETC_MINI_12864 display - #define U8G_CLASS U8GLIB_MINI12864_2X_HAL - #if ENABLED(FORCE_SOFT_SPI) - #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0 // 4 stripes SW-SPI + + #define FORCE_SOFT_SPI // SW-SPI + + #if ENABLED(ALTERNATIVE_LCD) + #define U8G_CLASS U8GLIB_SH1106_128X64_2X // 4 stripes #else - #define U8G_PARAM DOGLCD_CS, DOGLCD_A0 // 4 stripes HW-SPI + #define U8G_CLASS U8GLIB_SH1106_128X64 // 8 stripes #endif + +#elif ENABLED(U8GLIB_SH1106) + + // Generic SH1106 OLED I2C LCD + + #if ENABLED(ALTERNATIVE_LCD) + #define U8G_CLASS U8GLIB_SH1106_128X64_2X_I2C_2_WIRE // 4 stripes + #else + #define U8G_CLASS U8GLIB_SH1106_128X64_2X // 4 stripes + #endif + #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) // I2C + +#elif ENABLED(U8GLIB_SSD1309) + + // Generic support for SSD1309 OLED I2C LCDs + + #define U8G_CLASS U8GLIB_SSD1309_128X64 + #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) // I2C + +#elif ENABLED(FYSETC_MINI_12864) + + // The FYSETC Mini 12864 display + + #define U8G_CLASS U8GLIB_MINI12864_2X_HAL // 4 stripes + +#elif ENABLED(MKS_MINI_12864) + + // The MKS_MINI_12864 V1/V2 aren't exact copies of the MiniPanel. + // Panel management is in u8g_dev_uc1701_mini12864_HAL.cpp with + // extra delays added to remove glitches seen with fast MCUs. + + #define U8G_CLASS U8GLIB_MINI12864_2X_HAL // 8 stripes (HW-SPI) + +#elif ENABLED(MINIPANEL) + + #if ENABLED(ALTERNATIVE_LCD) + #define U8G_CLASS U8GLIB_MINI12864 + #else + #define U8G_CLASS U8GLIB_MINI12864_2X // 8 stripes (HW-SPI) + #endif + #elif ENABLED(U8GLIB_SH1106_EINSTART) + // Connected via motherboard header + #define U8G_CLASS U8GLIB_SH1106_128X64 #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, LCD_PINS_DC, LCD_PINS_RS + #elif ENABLED(FSMC_GRAPHICAL_TFT) + // Unspecified 320x240 TFT pre-initialized by built-in bootloader + #define U8G_CLASS U8GLIB_TFT_320X240_UPSCALE_FROM_128X64 #define U8G_PARAM FSMC_CS_PIN, FSMC_RS_PIN + #else - // for regular DOGM128 display with HW-SPI - //#define U8G_CLASS U8GLIB_DOGM128 - //#define U8G_PARAM DOGLCD_CS, DOGLCD_A0 // HW-SPI Com: CS, A0 // 8 stripes - #define U8G_CLASS U8GLIB_DOGM128_2X - #define U8G_PARAM DOGLCD_CS, DOGLCD_A0 // HW-SPI Com: CS, A0 // 4 stripes + + #if ENABLED(ALTERNATIVE_LCD) + #define U8G_CLASS U8GLIB_DOGM128 // 8 stripes (HW-SPI) + #else + #define U8G_CLASS U8GLIB_DOGM128_2X // 4 stripes (HW-SPI) + #endif + +#endif + +// Use HW-SPI if no other option is specified +#ifndef U8G_PARAM + #if ENABLED(FORCE_SOFT_SPI) + #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0 // SW-SPI + #else + #define U8G_PARAM DOGLCD_CS, DOGLCD_A0 // HW-SPI + #endif #endif #ifndef LCD_PIXEL_WIDTH @@ -145,6 +203,15 @@ #define LCD_PIXEL_HEIGHT 64 #endif +// LCD_FULL_PIXEL_WIDTH = +// LCD_PIXEL_OFFSET_X + (LCD_PIXEL_WIDTH * 2) + LCD_PIXEL_OFFSET_X +#if ENABLED(FSMC_GRAPHICAL_TFT) + #define LCD_FULL_PIXEL_WIDTH 320 + #define LCD_PIXEL_OFFSET_X 32 + #define LCD_FULL_PIXEL_HEIGHT 240 + #define LCD_PIXEL_OFFSET_Y 32 +#endif + // For selective rendering within a Y range #define PAGE_OVER(ya) ((ya) <= u8g.getU8g()->current_page.y1) // Does the current page follow a region top? #define PAGE_UNDER(yb) ((yb) >= u8g.getU8g()->current_page.y0) // Does the current page precede a region bottom? diff --git a/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.cpp b/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.cpp index 53c9eeb86d..1fb3783b2d 100644 --- a/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.cpp @@ -103,7 +103,7 @@ public: // ISR for Rx void store_rxd_char(); // ISR for Tx (UDRE vector) - void tx_udr_empty_irq(void); + void tx_udr_empty_irq(); inline volatile bool is_rx_overrun() { return dgus_rx_overrun; @@ -313,7 +313,7 @@ void DGUSScreenVariableHandler::DGUSLCD_SendStringToDisplayPGM(DGUS_VP_Variable DEBUG_ECHOPAIR("new topfile calculated:", top_file); if (top_file < 0) { top_file = 0; - DEBUG_ECHOLN("Top of filelist reached"); + DEBUG_ECHOLNPGM("Top of filelist reached"); } else { int16_t max_top = filelist.count() - DGUS_SD_FILESPERSCREEN; @@ -497,21 +497,25 @@ void DGUSScreenVariableHandler::HandleTemperatureChanged(DGUS_VP_Variable &var, } void DGUSScreenVariableHandler::HandleFlowRateChanged(DGUS_VP_Variable &var, void *val_ptr) { - uint16_t newvalue = swap16(*(uint16_t*)val_ptr); - uint8_t target_extruder; - switch (var.VP) { - default: return; - #if (HOTENDS >= 1) - case VP_Flowrate_E1: target_extruder = 0; break; - #endif - #if (HOTENDS >= 2) - case VP_Flowrate_E2: target_extruder = 1; break; - #endif - } + #if EXTRUDERS + uint16_t newvalue = swap16(*(uint16_t*)val_ptr); + uint8_t target_extruder; + switch (var.VP) { + default: return; + #if (HOTENDS >= 1) + case VP_Flowrate_E1: target_extruder = 0; break; + #endif + #if (HOTENDS >= 2) + case VP_Flowrate_E2: target_extruder = 1; break; + #endif + } - planner.flow_percentage[target_extruder] = newvalue; - planner.refresh_e_factor(target_extruder); - ScreenHandler.skipVP = var.VP; // don't overwrite value the next update time as the display might autoincrement in parallel + planner.flow_percentage[target_extruder] = newvalue; + planner.refresh_e_factor(target_extruder); + ScreenHandler.skipVP = var.VP; // don't overwrite value the next update time as the display might autoincrement in parallel + #else + UNUSED(var); UNUSED(val_ptr); + #endif } void DGUSScreenVariableHandler::HandleManualExtrude(DGUS_VP_Variable &var, void *val_ptr) { @@ -575,7 +579,7 @@ void DGUSScreenVariableHandler::HandleManualMove(DGUS_VP_Variable &var, void *va buf[4] = axiscode; //DEBUG_ECHOPAIR(" ", buf); while (!enqueue_and_echo_command(buf)) idle(); - //DEBUG_ECHOLN(" ✓"); + //DEBUG_ECHOLNPGM(" ✓"); ScreenHandler.ForceCompleteUpdate(); return; } @@ -584,7 +588,7 @@ void DGUSScreenVariableHandler::HandleManualMove(DGUS_VP_Variable &var, void *va DEBUG_ECHOPAIR(" move ", axiscode); bool old_relative_mode = relative_mode; if (!relative_mode) { - //DEBUG_ECHO(" G91"); + //DEBUG_ECHOPGM(" G91"); while (!enqueue_and_echo_command("G91")) idle(); //DEBUG_ECHOPGM(" ✓ "); } @@ -597,18 +601,18 @@ void DGUSScreenVariableHandler::HandleManualMove(DGUS_VP_Variable &var, void *va snprintf_P(buf, 32, PSTR("G0 %c%s%d.%02d F%d"), axiscode, sign, value, fraction, speed); //DEBUG_ECHOPAIR(" ", buf); while (!enqueue_and_echo_command(buf)) idle(); - //DEBUG_ECHOLN(" ✓ "); + //DEBUG_ECHOLNPGM(" ✓ "); if (backup_speed != speed) { snprintf_P(buf, 32, PSTR("G0 F%d"), backup_speed); while (!enqueue_and_echo_command(buf)) idle(); //DEBUG_ECHOPAIR(" ", buf); } //while (!enqueue_and_echo_command(buf)) idle(); - //DEBUG_ECHOLN(" ✓ "); + //DEBUG_ECHOLNPGM(" ✓ "); if (!old_relative_mode) { - //DEBUG_ECHO("G90"); + //DEBUG_ECHOPGM("G90"); while (!enqueue_and_echo_command("G90")) idle(); - //DEBUG_ECHO(" ✓ "); + //DEBUG_ECHOPGM(" ✓ "); } } @@ -1009,7 +1013,7 @@ FORCE_INLINE void DGUSSerial::store_rxd_char() { } // (called with TX irqs disabled) -FORCE_INLINE void DGUSSerial::tx_udr_empty_irq(void) { +FORCE_INLINE void DGUSSerial::tx_udr_empty_irq() { // Read positions uint8_t t = tx_buffer.tail; const uint8_t h = tx_buffer.head; @@ -1035,7 +1039,7 @@ FORCE_INLINE void DGUSSerial::tx_udr_empty_irq(void) { if (h == t) CBI(DGUS_UCSRxB, UDRIEx); } -r_ring_buffer_pos_t DGUSSerial::available(void) { +r_ring_buffer_pos_t DGUSSerial::available() { const r_ring_buffer_pos_t h = atomic_read_rx_head(), t = rx_buffer.tail; return (r_ring_buffer_pos_t) (DGUS_RX_BUFFER_SIZE + h - t) & (DGUS_RX_BUFFER_SIZE - 1); } diff --git a/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp b/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp index 7d88083edb..1ac5270c4b 100644 --- a/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp @@ -166,14 +166,14 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = { // Temperature Data #if HOTENDS >= 1 - VPHELPER(VP_T_E1_Is, &thermalManager.temp_hotend[0].current, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<0>), + VPHELPER(VP_T_E1_Is, &thermalManager.temp_hotend[0].celsius, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<0>), VPHELPER(VP_T_E1_Set, &thermalManager.temp_hotend[0].target, DGUSScreenVariableHandler::HandleTemperatureChanged, &DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_Flowrate_E1, nullptr, DGUSScreenVariableHandler::HandleFlowRateChanged, &DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_EPos, &destination[3], nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<2>), VPHELPER(VP_MOVE_E1, nullptr, &DGUSScreenVariableHandler::HandleManualExtrude, nullptr), #endif #if HOTENDS >= 2 - VPHELPER(VP_T_E2_I, &thermalManager.temp_hotend[1].current, nullptr, DGUSLCD_SendFloatAsLongValueToDisplay<0>), + VPHELPER(VP_T_E2_I, &thermalManager.temp_hotend[1].celsius, nullptr, DGUSLCD_SendFloatAsLongValueToDisplay<0>), VPHELPER(VP_T_E2_S, &thermalManager.temp_hotend[1].target, DGUSScreenVariableHandler::HandleTemperatureChanged, &DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_Flowrate_E2, nullptr, DGUSScreenVariableHandler::HandleFlowRateChanged, &DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_MOVE_E2, nullptr, &DGUSScreenVariableHandler::HandleManualExtrude, nullptr), @@ -182,7 +182,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = { #error More than 2 Hotends currently not implemented on the Display UI design. #endif #if HAS_HEATED_BED - VPHELPER(VP_T_Bed_Is, &thermalManager.temp_bed.current, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<0>), + VPHELPER(VP_T_Bed_Is, &thermalManager.temp_bed.celsius, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<0>), VPHELPER(VP_T_Bed_Set, &thermalManager.temp_bed.target, DGUSScreenVariableHandler::HandleTemperatureChanged, &DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay), #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/archim2-flash/flash_storage.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/archim2-flash/flash_storage.cpp index 2e17c6492c..360f2562a1 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/archim2-flash/flash_storage.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/archim2-flash/flash_storage.cpp @@ -178,7 +178,7 @@ bool UIFlashStorage::is_present = false; ((manufacturer_id == 0x1F) && (device_type == 0x86) && (capacity == 0x01)) ; // Adesto AT255F161 if (!is_known) { - SERIAL_ECHO_START(); SERIAL_ECHOLNPGM("Unable to locate supported SPI Flash Memory."); + SERIAL_ECHO_MSG("Unable to locate supported SPI Flash Memory."); SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR(" Manufacturer ID, got: ", manufacturer_id); SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR(" Device Type , got: ", device_type); SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR(" Capacity , got: ", capacity); @@ -252,7 +252,7 @@ bool UIFlashStorage::is_present = false; return -1; } } - SERIAL_ECHO_START(); SERIAL_ECHOLNPGM("No LULZ delimiter found."); + SERIAL_ECHO_MSG("No LULZ delimiter found."); return -1; } @@ -264,7 +264,7 @@ bool UIFlashStorage::is_present = false; int32_t write_offset = read_offset + 4 + block_size; if ((write_offset + 4 + block_size) > data_storage_area_size) { - SERIAL_ECHO_START(); SERIAL_ECHOLNPGM("Not enough free space in Flash."); + SERIAL_ECHO_MSG("Not enough free space in Flash."); return -1; // Not enough free space } return write_offset; @@ -300,7 +300,7 @@ bool UIFlashStorage::is_present = false; void UIFlashStorage::write_config_data(const void *data, size_t size) { if (!is_present) { - SERIAL_ECHO_START(); SERIAL_ECHOLNPGM("SPI Flash chip not present. Not saving UI settings."); + SERIAL_ECHO_MSG("SPI Flash chip not present. Not saving UI settings."); return; } @@ -308,7 +308,7 @@ bool UIFlashStorage::is_present = false; // make sure that the data is different before rewriting. if (verify_config_data(data, size)) { - SERIAL_ECHO_START(); SERIAL_ECHOLNPGM("UI settings already written, skipping write."); + SERIAL_ECHO_MSG("UI settings already written, skipping write."); return; } @@ -427,12 +427,12 @@ bool UIFlashStorage::is_present = false; MediaFileReader reader; if (!reader.open((char*) buff)) { - SERIAL_ECHO_START(); SERIAL_ECHOLNPGM("Unable to find media file"); + SERIAL_ECHO_MSG("Unable to find media file"); return FILE_NOT_FOUND; } if (get_media_file_size(slot) != 0xFFFFFFFFUL) { - SERIAL_ECHO_START(); SERIAL_ECHOLNPGM("Media file already exists"); + SERIAL_ECHO_MSG("Media file already exists"); return WOULD_OVERWRITE; } @@ -518,9 +518,8 @@ bool UIFlashStorage::is_present = false; SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR("Boot media file size:", bytes_remaining); addr = get_media_file_start(slot); return true; - } else { - return false; } + return false; } int16_t UIFlashStorage::BootMediaReader::read(void *data, const size_t size) { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/config.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/config.h index 5313bb947f..458c901206 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/config.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/config.h @@ -76,6 +76,36 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED +// Enable UTF8 processing and rendering. Unsupported characters +// will be shown as '?'. +//#define TOUCH_UI_USE_UTF8 +#ifdef TOUCH_UI_USE_UTF8 + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #ifdef TOUCH_UI_UTF8_WESTERN_CHARSET + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif +#endif + +// When labels do not fit buttons, use smaller font +//#define TOUCH_UI_FIT_TEXT + +// Enable support for selection of languages at run-time +// (otherwise will use the value of LCD_LANGUAGE) +//#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Parental lock". // This is a recommended for smaller displays. //#define TOUCH_UI_PASSCODE @@ -84,14 +114,11 @@ //#define LCD_TIMEOUT_TO_STATUS 15000 // Enable this to debug the event framework -//#define UI_FRAMEWORK_DEBUG +//#define TOUCH_UI_DEBUG // Enable the developer's menu and screens //#define DEVELOPER_SCREENS -// Maximum feed rate for manual extrusion (mm/s) -//#define MAX_MANUAL_FEEDRATE 240 - // Sets the SPI speed in Hz #define SPI_FREQUENCY 8000000 >> SPI_SPEED diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.cpp index c7d1599451..9a04c9e835 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.cpp @@ -29,15 +29,15 @@ using namespace FTDI; using namespace FTDI::SPI; -void CLCD::enable (void) { +void CLCD::enable() { mem_write_8(REG::PCLK, Pclk); } -void CLCD::disable (void) { +void CLCD::disable() { mem_write_8(REG::PCLK, 0x00); } -void CLCD::set_brightness (uint8_t brightness) { +void CLCD::set_brightness(uint8_t brightness) { mem_write_8(REG::PWM_DUTY, min(128,brightness)); } @@ -45,7 +45,7 @@ uint8_t CLCD::get_brightness() { return mem_read_8(REG::PWM_DUTY); } -void CLCD::turn_on_backlight (void) { +void CLCD::turn_on_backlight() { mem_write_8(REG::PWM_DUTY, 128); } @@ -66,7 +66,7 @@ uint16_t CLCD::FontMetrics::get_text_width(const char *str, size_t n) const { return width; } -uint16_t CLCD::FontMetrics::get_text_width_P(const char *str, size_t n) const { +uint16_t CLCD::FontMetrics::get_text_width(progmem_str str, size_t n) const { uint16_t width = 0; const uint8_t *p = (const uint8_t *) str; for(;;) { @@ -921,10 +921,9 @@ template bool CLCD::CommandFifo::_write_unaligned(T data, uint16_t len uint32_t bytes_tail, bytes_head; uint32_t command_read_ptr; - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) if (command_write_ptr == 0xFFFFFFFFul) { - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM("Attempt to write to FIFO before CommandFifo::Cmd_Start()."); + SERIAL_ECHO_MSG("Attempt to write to FIFO before CommandFifo::Cmd_Start()."); } #endif @@ -940,7 +939,7 @@ template bool CLCD::CommandFifo::_write_unaligned(T data, uint16_t len } // Check for faults which can lock up the command processor if (has_fault()) { - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHOLNPGM("Fault waiting for space in the command processor"); #endif return false; @@ -985,7 +984,7 @@ void CLCD::CommandFifo::execute() { } void CLCD::CommandFifo::reset() { - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHOLNPGM("Resetting command processor"); #endif safe_delay(100); @@ -1004,7 +1003,7 @@ template bool CLCD::CommandFifo::write(T data, uint16_t len) { const uint8_t padding = MULTIPLE_OF_4(len) - len; if (has_fault()) { - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHOLNPGM("Faulted... ignoring write."); #endif return false; @@ -1014,21 +1013,21 @@ template bool CLCD::CommandFifo::write(T data, uint16_t len) { // management. uint16_t Command_Space = mem_read_32(REG::CMDB_SPACE) & 0x0FFF; if (Command_Space < (len + padding)) { - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); - SERIAL_ECHOPAIR("Waiting for ", len + padding); - SERIAL_ECHOPAIR(" bytes in command queue, now free: ", Command_Space); + SERIAL_ECHOPAIR("Waiting for ", len + padding, + " bytes in command queue, now free: ", Command_Space); #endif do { Command_Space = mem_read_32(REG::CMDB_SPACE) & 0x0FFF; if (has_fault()) { - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHOLNPGM("... fault"); #endif return false; } } while (Command_Space < len + padding); - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHOLNPGM("... done"); #endif } @@ -1042,17 +1041,17 @@ template bool CLCD::CommandFifo::write(progmem_str, uint16_t); // CO_PROCESSOR COMMANDS -void CLCD::CommandFifo::str (const char * data) { +void CLCD::CommandFifo::str(const char * data) { write(data, strlen(data)+1); } -void CLCD::CommandFifo::str (progmem_str data) { +void CLCD::CommandFifo::str(progmem_str data) { write(data, strlen_P((const char*)data)+1); } /******************* LCD INITIALIZATION ************************/ -void CLCD::init (void) { +void CLCD::init() { spi_init(); // Set Up I/O Lines for SPI and FT800/810 Control ftdi_reset(); // Power down/up the FT8xx with the apropriate delays @@ -1070,9 +1069,8 @@ void CLCD::init (void) { for(counter = 0; counter < 250; counter++) { uint8_t device_id = mem_read_8(REG::ID); // Read Device ID, Should Be 0x7C; if (device_id == 0x7c) { - #ifdef UI_FRAMEWORK_DEBUG - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM("FTDI chip initialized "); + #if ENABLED(TOUCH_UI_DEBUG) + SERIAL_ECHO_MSG("FTDI chip initialized "); #endif break; } @@ -1080,7 +1078,7 @@ void CLCD::init (void) { delay(1); } if (counter == 249) { - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR("Timeout waiting for device ID, should be 124, got ", device_id); #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.h index c904529931..0426911edb 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.h @@ -124,12 +124,12 @@ class CLCD { class CommandFifo; class FontMetrics; - static void init (void); - static void default_touch_transform (void); - static void default_display_orientation (void); - static void turn_on_backlight (void); - static void enable (void); - static void disable (void); + static void init(); + static void default_touch_transform(); + static void default_display_orientation(); + static void turn_on_backlight(); + static void enable(); + static void disable(); static void set_brightness (uint8_t brightness); static uint8_t get_brightness(); static void host_cmd (unsigned char host_command, unsigned char byte2); @@ -159,13 +159,14 @@ class CLCD::FontMetrics { uint32_t height; uint32_t ptr; + FontMetrics() {} FontMetrics(uint8_t font) {load(font);} void load(uint8_t font); // Returns width of string, up to a maximum of n characters. uint16_t get_text_width(const char *str, size_t n = SIZE_MAX) const; - uint16_t get_text_width_P(const char *str, size_t n = SIZE_MAX) const; + uint16_t get_text_width(progmem_str str, size_t n = SIZE_MAX) const; }; /******************* FT800/810 Graphic Commands *********************************/ @@ -178,7 +179,7 @@ class CLCD::CommandFifo { static uint32_t command_write_ptr; template bool _write_unaligned(T data, uint16_t len); #endif - void start(void); + void start(); public: template bool write(T data, uint16_t len); @@ -186,11 +187,11 @@ class CLCD::CommandFifo { public: CommandFifo() {start();} - static void reset (void); + static void reset(); static bool is_processing(); static bool has_fault(); - void execute(void); + void execute(); void cmd(uint32_t cmd32); void cmd(void* data, uint16_t len); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/constants.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/constants.h index 54836e1466..5f60881bdd 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/constants.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/constants.h @@ -148,7 +148,7 @@ namespace FTDI { constexpr uint8_t STENCIL_OP_DECR = 4; constexpr uint8_t STENCIL_OP_INVERT = 5; - typedef enum: uint32_t { + typedef enum : uint32_t { BITMAPS = 1, POINTS = 2, LINES = 3, @@ -281,7 +281,7 @@ namespace FTDI_FT810 { } namespace FTDI { - enum effect_t { + enum effect_t : unsigned char { SILENCE = 0x00, SQUARE_WAVE = 0x01, SINE_WAVE = 0x02, @@ -342,7 +342,7 @@ namespace FTDI { UNMUTE = 0x61 }; - enum note_t { + enum note_t : unsigned char { END_SONG = 0xFF, REST = 0x00, diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/spi.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/spi.cpp index 74b739aaf2..7f666be45b 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/spi.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/spi.cpp @@ -31,7 +31,7 @@ namespace FTDI { SPISettings SPI::spi_settings(SPI_FREQUENCY, MSBFIRST, SPI_MODE0); #endif - void SPI::spi_init (void) { + void SPI::spi_init() { SET_OUTPUT(CLCD_MOD_RESET); // Module Reset (a.k.a. PD, not SPI) WRITE(CLCD_MOD_RESET, 0); // start with module in power-down @@ -63,20 +63,11 @@ namespace FTDI { uint8_t k; noInterrupts(); - for(k = 0; k <8; k++) { // Output and Read each bit of spiOutByte and spiInByte - if (spiOutByte & spiIndex) { // Output MOSI Bit - WRITE(CLCD_SOFT_SPI_MOSI, 1); - } - else { - WRITE(CLCD_SOFT_SPI_MOSI, 0); - } + for (k = 0; k < 8; k++) { // Output and Read each bit of spiOutByte and spiInByte + WRITE(CLCD_SOFT_SPI_MOSI, (spiOutByte & spiIndex) ? 1 : 0); // Output MOSI Bit WRITE(CLCD_SOFT_SPI_SCLK, 1); // Pulse Clock WRITE(CLCD_SOFT_SPI_SCLK, 0); - - if (READ(CLCD_SOFT_SPI_MISO)) { - spiInByte |= spiIndex; - } - + if (READ(CLCD_SOFT_SPI_MISO)) spiInByte |= spiIndex; spiIndex >>= 1; } interrupts(); @@ -86,20 +77,13 @@ namespace FTDI { #ifdef CLCD_USE_SOFT_SPI void SPI::_soft_spi_send (uint8_t spiOutByte) { - uint8_t spiIndex = 0x80; - uint8_t k; + uint8_t k, spiIndex = 0x80; noInterrupts(); - for(k = 0; k <8; k++) { // Output each bit of spiOutByte - if (spiOutByte & spiIndex) { // Output MOSI Bit - WRITE(CLCD_SOFT_SPI_MOSI, 1); - } - else { - WRITE(CLCD_SOFT_SPI_MOSI, 0); - } + for (k = 0; k < 8; k++) { // Output each bit of spiOutByte + WRITE(CLCD_SOFT_SPI_MOSI, (spiOutByte & spiIndex) ? 1 : 0); // Output MOSI Bit WRITE(CLCD_SOFT_SPI_SCLK, 1); // Pulse Clock WRITE(CLCD_SOFT_SPI_SCLK, 0); - spiIndex >>= 1; } interrupts(); @@ -122,7 +106,7 @@ namespace FTDI { } // CLCD SPI - Chip Select - void SPI::spi_ftdi_select (void) { + void SPI::spi_ftdi_select() { #ifndef CLCD_USE_SOFT_SPI ::SPI.beginTransaction(spi_settings); #endif @@ -131,7 +115,7 @@ namespace FTDI { } // CLCD SPI - Chip Deselect - void SPI::spi_ftdi_deselect (void) { + void SPI::spi_ftdi_deselect() { WRITE(CLCD_SPI_CS, 1); #ifndef CLCD_USE_SOFT_SPI ::SPI.endTransaction(); @@ -158,7 +142,7 @@ namespace FTDI { #endif // Not really a SPI signal... - void SPI::ftdi_reset (void) { + void SPI::ftdi_reset() { WRITE(CLCD_MOD_RESET, 0); delay(6); /* minimum time for power-down is 5ms */ WRITE(CLCD_MOD_RESET, 1); @@ -166,8 +150,7 @@ namespace FTDI { } // Not really a SPI signal... - void SPI::test_pulse(void) - { + void SPI::test_pulse() { #ifdef CLCD_AUX_0 WRITE(CLCD_AUX_0, 1); delayMicroseconds(10); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/spi.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/spi.h index 18c9955a63..38f0e35d5a 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/spi.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/spi.h @@ -122,7 +122,7 @@ namespace FTDI { void spi_read_bulk( void *data, uint16_t len); bool spi_verify_bulk(const void *data, uint16_t len); - void ftdi_reset(void); - void test_pulse(void); + void ftdi_reset(); + void test_pulse(); } } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/compat.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/compat.h index 808c332769..18d0a5a1a8 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/compat.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/compat.h @@ -208,7 +208,8 @@ #define SWITCH_ENABLED_ 1 #define ENABLED(b) _CAT(SWITCH_ENABLED_, b) #define DISABLED(b) !ENABLED(b) - #define ANY(A,B) ENABLED(A) || ENABLED(B) + #define ANY(A,B) (ENABLED(A) || ENABLED(B)) + #define BOTH(A,B) (ENABLED(A) && ENABLED(B)) // Remove compiler warning on an unused variable #ifndef UNUSED diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/command_processor.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/command_processor.h index d2b0e309cc..a770ebbd24 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/command_processor.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/command_processor.h @@ -28,6 +28,11 @@ typedef struct { uint32_t rgb; } btn_colors; +// Disable TOUCH_UI_FIT_TEXT on a case-by-case basis +namespace FTDI { + constexpr uint16_t OPT_NOFIT = OPT_NOTICKS; +} + /**************************** Enhanced Command Processor **************************/ /* The CommandProcessor class wraps the CommandFifo with several features to make @@ -67,14 +72,14 @@ class CommandProcessor : public CLCD::CommandFifo { } FORCEDINLINE void linear_widget_box(int16_t &x, int16_t &y, int16_t &w, int16_t &h, bool tracker = false) { - const uint16_t th = widget_thickness()/2; + const uint16_t th = widget_thickness() / 2; if (w > h) { x += tracker ? th * 2.5 : th; - y += h/2 - th/2; + y += (h - th) / 2; w -= tracker ? th * 5.0 : th * 2; h = th; } else { - x += w/2 - th/2; + x += (w - th) / 2; y += tracker ? th * 2.5 : th; w = th; h -= tracker ? th * 5.0 : th * 2; @@ -82,9 +87,9 @@ class CommandProcessor : public CLCD::CommandFifo { } FORCEDINLINE uint16_t circular_widget_box(int16_t &x, int16_t &y, int16_t &w, int16_t &h) { - const uint16_t r = min(w,h)/2; - x += w/2; - y += h/2; + const uint16_t r = min(w,h) / 2; + x += w / 2; + y += h / 2; w = 1; h = 1; return r; @@ -200,26 +205,34 @@ class CommandProcessor : public CLCD::CommandFifo { inline CommandProcessor& rectangle(int16_t x, int16_t y, int16_t w, int16_t h) { using namespace FTDI; CLCD::CommandFifo::cmd(BEGIN(RECTS)); - CLCD::CommandFifo::cmd(VERTEX2F(x*16,y*16)); - CLCD::CommandFifo::cmd(VERTEX2F((x+w)*16,(y+h)*16)); + CLCD::CommandFifo::cmd(VERTEX2F(x * 16, y * 16)); + CLCD::CommandFifo::cmd(VERTEX2F((x + w) * 16, (y + h) * 16)); return *this; } template FORCEDINLINE CommandProcessor& toggle(int16_t x, int16_t y, int16_t w, int16_t h, T text, bool state, uint16_t options = FTDI::OPT_3D) { CLCD::FontMetrics fm(_font); - const int16_t widget_h = fm.height * 20.0/16; + const int16_t widget_h = fm.height * 20.0 / 16; //const int16_t outer_bar_r = widget_h / 2; //const int16_t knob_r = outer_bar_r - 1.5; // The y coordinate of the toggle is the baseline of the text, // so we must introduce a fudge factor based on the line height to // actually center the control. - const int16_t fudge_y = fm.height*5/16; - CLCD::CommandFifo::toggle(x + h/2, y + h/2 - widget_h/2 + fudge_y, w - h, _font, options, state); + const int16_t fudge_y = fm.height * 5 / 16; + CLCD::CommandFifo::toggle(x + h / 2, y + (h - widget_h) / 2 + fudge_y, w - h, _font, options, state); CLCD::CommandFifo::str(text); return *this; } + CommandProcessor& toggle2(int16_t x, int16_t y, int16_t w, int16_t h, progmem_str no, progmem_str yes, bool state, uint16_t options = FTDI::OPT_3D) { + char text[strlen_P((const char *)no) + strlen_P((const char *)yes) + 2]; + strcpy_P(text, (const char *)no); + strcat(text, "\xFF"); + strcat_P(text, (const char *)yes); + return toggle(x, y, w, h, text, state, options); + } + // Contrained drawing routines. These constrain the widget inside a box for easier layout. // The FORCEDINLINE ensures that the code is inlined so that all the math is done at compile time. @@ -286,23 +299,73 @@ class CommandProcessor : public CLCD::CommandFifo { return *this; } + void apply_text_alignment(int16_t &x, int16_t &y, int16_t w, int16_t h, uint16_t options) { + using namespace FTDI; + x += ((options & OPT_CENTERX) ? w/2 : ((options & OPT_RIGHTX) ? w : 0)); + y += ((options & OPT_CENTERY) ? h/2 : h); + } + + // Reduce font size until text fits the enclosing box. + template + int8_t apply_fit_text(int16_t w, int16_t h, T text) { + using namespace FTDI; + int8_t font = _font; + const bool is_utf8 = has_utf8_chars(text); + for (;font >= 26;) { + int16_t width, height; + #ifdef TOUCH_UI_USE_UTF8 + if (is_utf8) { + width = get_utf8_text_width(text, font_size_t::from_romfont(font)); + height = font_size_t::from_romfont(font).get_height(); + } else + #endif + { + CLCD::FontMetrics fm(font); + width = fm.get_text_width(text); + height = fm.height; + } + if (width < w && height < h) break; + font--; + } + return font; + } + CommandProcessor& number(int16_t x, int16_t y, int16_t w, int16_t h, int32_t n, uint16_t options = FTDI::OPT_CENTER) { using namespace FTDI; - CLCD::CommandFifo::number( - x + ((options & OPT_CENTERX) ? w/2 : ((options & OPT_RIGHTX) ? w : 0)), - y + ((options & OPT_CENTERY) ? h/2 : h), - _font, options, n); + apply_text_alignment(x, y, w, h, options); + CLCD::CommandFifo::number(x, y, _font, options, n); return *this; } - template FORCEDINLINE + template + uint16_t text_width(T text) { + using namespace FTDI; + #ifdef TOUCH_UI_USE_UTF8 + if (has_utf8_chars(text)) + return get_utf8_text_width(text, font_size_t::from_romfont(_font)); + #endif + CLCD::FontMetrics fm(_font); + return fm.get_text_width(text); + } + + template CommandProcessor& text(int16_t x, int16_t y, int16_t w, int16_t h, T text, uint16_t options = FTDI::OPT_CENTER) { using namespace FTDI; - CLCD::CommandFifo::text( - x + ((options & OPT_CENTERX) ? w/2 : ((options & OPT_RIGHTX) ? w : 0)), - y + ((options & OPT_CENTERY) ? h/2 : h), - _font, options); - CLCD::CommandFifo::str(text); + apply_text_alignment(x, y, w, h, options); + #ifdef TOUCH_UI_FIT_TEXT + const int8_t font = (options & OPT_NOFIT) ? _font : apply_fit_text(w, h, text); + #else + const int8_t font = _font; + #endif + #ifdef TOUCH_UI_USE_UTF8 + if (has_utf8_chars(text)) + draw_utf8_text(*this, x, y, text, font_size_t::from_romfont(font), options); + else + #endif + { + CLCD::CommandFifo::text(x, y, font, options); + CLCD::CommandFifo::str(text); + } return *this; } @@ -327,8 +390,29 @@ class CommandProcessor : public CLCD::CommandFifo { using namespace FTDI; bool styleModified = false; if (_btn_style_callback) styleModified = _btn_style_callback(*this, _tag, _style, options, false); - CLCD::CommandFifo::button(x, y, w, h, _font, options); - CLCD::CommandFifo::str(text); + #ifdef TOUCH_UI_FIT_TEXT + const int8_t font = (options & OPT_NOFIT) ? _font : apply_fit_text(w, h, text); + #else + const int8_t font = _font; + #endif + CLCD::CommandFifo::button(x, y, w, h, font, options); + #ifdef TOUCH_UI_USE_UTF8 + if (has_utf8_chars(text)) { + CLCD::CommandFifo::str(F("")); + apply_text_alignment(x, y, w, h, OPT_CENTER); + if (!(options & FTDI::OPT_FLAT)) { + // Reproduce the black "shadow" the FTDI adds to the button label + CLCD::CommandFifo::cmd(SAVE_CONTEXT()); + CLCD::CommandFifo::cmd(COLOR_RGB(0x00000)); + draw_utf8_text(*this, x-1, y-1, text, font_size_t::from_romfont(font), OPT_CENTER); + CLCD::CommandFifo::cmd(RESTORE_CONTEXT()); + } + // Draw the button label + draw_utf8_text(*this, x, y, text, font_size_t::from_romfont(font), OPT_CENTER); + } + else + #endif + CLCD::CommandFifo::str(text); if (_btn_style_callback && styleModified) _btn_style_callback(*this, _tag, _style, options, true); return *this; } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/dl_cache.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/dl_cache.cpp index fd6fde5f58..bf8ca61f3a 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/dl_cache.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/dl_cache.cpp @@ -78,8 +78,7 @@ bool DLCache::wait_until_idle() { const unsigned long startTime = millis(); do { if ((millis() - startTime) > 250) { - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM("Timeout on DL_Cache::Wait_Until_Idle()"); + SERIAL_ECHO_MSG("Timeout on DL_Cache::Wait_Until_Idle()"); CLCD::CommandFifo::reset(); return false; } @@ -128,17 +127,17 @@ bool DLCache::store(uint32_t num_bytes /* = 0*/) { if (dl_size > free_space) { // Not enough memory to cache the display list. - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); - SERIAL_ECHOPAIR("Not enough space in GRAM to cache display list, free space: ", free_space); - SERIAL_ECHOLNPAIR(" Required: ", dl_size); + SERIAL_ECHOLNPAIR("Not enough space in GRAM to cache display list, free space: ", free_space, + " Required: ", dl_size); #endif return false; } else { - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); - SERIAL_ECHOPAIR("Saving DL to RAMG cache, bytes: ", dl_size); - SERIAL_ECHOLNPAIR(" Free space: ", free_space); + SERIAL_ECHOLNPAIR("Saving DL to RAMG cache, bytes: ", dl_size, + " Free space: ", free_space); #endif cmd.memcpy(dl_addr, MAP::RAM_DL, dl_size); cmd.execute(); @@ -164,12 +163,12 @@ void DLCache::load_slot() { void DLCache::append() { CLCD::CommandFifo cmd; cmd.append(dl_addr, dl_size); - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) cmd.execute(); wait_until_idle(); SERIAL_ECHO_START(); - SERIAL_ECHOPAIR("Appending to DL from RAMG cache, bytes: ", dl_size); - SERIAL_ECHOLNPAIR(" REG_CMD_DL: ", CLCD::mem_read_32(REG::CMD_DL)); + SERIAL_ECHOLNPAIR("Appending to DL from RAMG cache, bytes: ", dl_size, + " REG_CMD_DL: ", CLCD::mem_read_32(REG::CMD_DL)); #endif } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/event_loop.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/event_loop.cpp index a9194fdaba..f0f693bfd8 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/event_loop.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/event_loop.cpp @@ -124,7 +124,7 @@ namespace FTDI { switch (pressed_tag) { case UNPRESSED: if (tag != 0) { - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR("Touch start: ", tag); #endif @@ -156,9 +156,11 @@ namespace FTDI { if (!UIData::flags.bits.touch_debouncing) { if (tag == pressed_tag) { // The user is holding down a button. - if (touch_timer.elapsed(1000 / TOUCH_REPEATS_PER_SECOND) && current_screen.onTouchHeld(tag)) { - current_screen.onRefresh(); - if (UIData::flags.bits.touch_repeat_sound) sound.play(repeat_sound); + if (touch_timer.elapsed(1000 / TOUCH_REPEATS_PER_SECOND)) { + if (current_screen.onTouchHeld(tag)) { + current_screen.onRefresh(); + if (UIData::flags.bits.touch_repeat_sound) sound.play(repeat_sound); + } touch_timer.start(); } } @@ -187,7 +189,7 @@ namespace FTDI { if (UIData::flags.bits.touch_end_sound) sound.play(unpress_sound); - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR("Touch end: ", tag); #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/ftdi_extended.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/ftdi_extended.h index 02a8738e9d..329bea46f1 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/ftdi_extended.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/ftdi_extended.h @@ -30,14 +30,19 @@ #endif #ifdef FTDI_EXTENDED + #include "unicode/font_size_t.h" + #include "unicode/unicode.h" + #include "unicode/standard_char_set.h" + #include "unicode/western_char_set.h" + #include "unicode/font_bitmaps.h" #include "rgb_t.h" #include "bitmap_info.h" #include "tiny_timer.h" #include "grid_layout.h" #include "dl_cache.h" - #include "screen_types.h" #include "event_loop.h" #include "command_processor.h" + #include "screen_types.h" #include "sound_player.h" #include "sound_list.h" #include "polygon.h" diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/screen_types.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/screen_types.cpp index 7dba952a0a..ec1c0d1cbb 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/screen_types.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/screen_types.cpp @@ -31,7 +31,7 @@ uint8_t ScreenRef::lookupScreen(onRedraw_func_t onRedraw_ptr) { return type; } } - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); SERIAL_ECHOPAIR("Screen not found: ", (uintptr_t) onRedraw_ptr); #endif @@ -42,7 +42,7 @@ void ScreenRef::setScreen(onRedraw_func_t onRedraw_ptr) { uint8_t type = lookupScreen(onRedraw_ptr); if (type != 0xFF) { setType(type); - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR("New screen: ", type); #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/screen_types.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/screen_types.h index ede0a92182..f1ec4fc476 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/screen_types.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/screen_types.h @@ -54,11 +54,11 @@ typedef enum { class ScreenRef { protected: - typedef void onStartup_func_t(void); - typedef void onEntry_func_t(void); - typedef void onExit_func_t(void); - typedef void onIdle_func_t(void); - typedef void onRefresh_func_t(void); + typedef void onStartup_func_t(); + typedef void onEntry_func_t(); + typedef void onExit_func_t(); + typedef void onIdle_func_t(); + typedef void onRefresh_func_t(); typedef void onRedraw_func_t(draw_mode_t); typedef bool onTouchStart_func_t(uint8_t); typedef bool onTouchHeld_func_t(uint8_t); @@ -156,8 +156,11 @@ class UncachedScreen { public: static void onRefresh() { using namespace FTDI; - CLCD::CommandFifo cmd; + CommandProcessor cmd; cmd.cmd(CMD_DLSTART); + #ifdef TOUCH_UI_USE_UTF8 + load_utf8_bitmaps(cmd); + #endif current_screen.onRedraw(BOTH); @@ -173,8 +176,7 @@ class CachedScreen { static bool storeBackground() { DLCache dlcache(DL_SLOT); if (!dlcache.store(DL_SIZE)) { - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM("CachedScreen::storeBackground() failed: not enough DL cache space"); + SERIAL_ECHO_MSG("CachedScreen::storeBackground() failed: not enough DL cache space"); return false; } return true; @@ -183,9 +185,12 @@ class CachedScreen { static void repaintBackground() { using namespace FTDI; DLCache dlcache(DL_SLOT); - CLCD::CommandFifo cmd; + CommandProcessor cmd; cmd.cmd(CMD_DLSTART); + #ifdef TOUCH_UI_USE_UTF8 + load_utf8_bitmaps(cmd); + #endif current_screen.onRedraw(BACKGROUND); dlcache.store(DL_SIZE); @@ -193,16 +198,21 @@ class CachedScreen { public: static void onRefresh() { + #if ENABLED(TOUCH_UI_DEBUG) + const uint32_t start_time = millis(); + #endif using namespace FTDI; DLCache dlcache(DL_SLOT); - CLCD::CommandFifo cmd; + CommandProcessor cmd; cmd.cmd(CMD_DLSTART); if (dlcache.has_data()) { dlcache.append(); - } - else { + } else { + #ifdef TOUCH_UI_USE_UTF8 + load_utf8_bitmaps(cmd); + #endif current_screen.onRedraw(BACKGROUND); dlcache.store(DL_SIZE); } @@ -212,5 +222,8 @@ class CachedScreen { cmd.cmd(DL::DL_DISPLAY); cmd.cmd(CMD_SWAP); cmd.execute(); + #if ENABLED(TOUCH_UI_DEBUG) + SERIAL_ECHOLNPAIR("Time to draw screen (ms): ", millis() - start_time); + #endif } }; diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/sound_player.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/sound_player.cpp index e8c5e881c5..0011d69118 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/sound_player.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/sound_player.cpp @@ -36,10 +36,9 @@ namespace FTDI { void SoundPlayer::play(effect_t effect, note_t note) { - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); - SERIAL_ECHOPAIR("Playing note ", note); - SERIAL_ECHOLNPAIR(", instrument ", effect); + SERIAL_ECHOLNPAIR("Playing note ", int(note), ", instrument ", int(effect)); #endif // Play the note diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/text_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/text_box.cpp index 69b3b7d7a6..75a445a926 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/text_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/text_box.cpp @@ -29,41 +29,33 @@ namespace FTDI { * be broken so that the display width is less than w. The line will also * be broken after a '\n'. Returns the display width of the line. */ - static uint16_t find_line_break(const CLCD::FontMetrics &fm, uint16_t w, const char *str, const char *&end) { + static uint16_t find_line_break(const FontMetrics &fm, uint16_t w, const char *str, const char *&end) { + w -= fm.get_char_width(' '); const char *p = str; - end = str + strlen(str); - uint16_t width = fm.get_text_width(str); + end = str; + uint16_t lw = 0, result = 0; for(;;) { - // Find next tentative line break. - char delim = *(p); - while (delim && delim != ' ' && delim != '\n') { - delim = *(++p); - } - // Check to see whether to break the line. - const uint16_t margin = fm.get_text_width(" "); - const uint16_t lw = p > str ? fm.get_text_width(str, p - str) + margin : 0; - if (lw < w) { - width = lw; - switch (delim) { - case '\0': - end = p; - break; - case '\n': - end = ++p; - break; - case ' ': - end = ++p; - continue; + utf8_char_t c = get_utf8_char_and_inc(p); + if (c == ' ' || c == '\n' || c == '\0') { + if (lw < w || end == str) { + end = (c == '\0') ? p-1 : p; + result = lw; } + if (c == '\0' || c == '\n') break; } - return width; + lw += fm.get_char_width(c); } + if (end == str) { + end = p-1; + result = lw; + } + return result; } /** * This function returns a measurements of the word-wrapped text box. */ - static void measure_text_box(const CLCD::FontMetrics &fm, const char *str, uint16_t &width, uint16_t &height) { + static void measure_text_box(const FontMetrics &fm, const char *str, uint16_t &width, uint16_t &height) { const char *line_start = (const char*)str; const char *line_end; const uint16_t wrap_width = width; @@ -72,7 +64,7 @@ namespace FTDI { uint16_t line_width = find_line_break(fm, wrap_width, line_start, line_end); if (line_end == line_start) break; width = max(width, line_width); - height += fm.height; + height += fm.get_height(); line_start = line_end; } } @@ -81,10 +73,11 @@ namespace FTDI { * This function draws text inside a bounding box, doing word wrapping and using the largest font that will fit. */ void draw_text_box(CommandProcessor& cmd, int x, int y, int w, int h, const char *str, uint16_t options, uint8_t font) { - CLCD::FontMetrics fm(font); - uint16_t box_width, box_height; + FontMetrics fm(font); + + // Shrink the font until we find a font that fits for(;;) { box_width = w; measure_text_box(fm, str, box_width, box_height); @@ -110,10 +103,17 @@ namespace FTDI { if (line[line_len - 1] == '\n' || line[line_len - 1] == ' ') line[line_len - 1] = 0; - cmd.CLCD::CommandFifo::text(x + dx, y + dy, font, options & ~OPT_CENTERY); - cmd.CLCD::CommandFifo::str(line); + #ifdef TOUCH_UI_USE_UTF8 + if (has_utf8_chars(line)) { + draw_utf8_text(cmd, x + dx, y + dy, line, fm.fs, options & ~OPT_CENTERY); + } else + #endif + { + cmd.CLCD::CommandFifo::text(x + dx, y + dy, font, options & ~OPT_CENTERY); + cmd.CLCD::CommandFifo::str(line); + } } - y += fm.height; + y += fm.get_height(); line_start = line_end; } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/README.txt b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/README.txt new file mode 100644 index 0000000000..818bf08cea --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/README.txt @@ -0,0 +1,40 @@ + +FTDI EVE Unicode Rendering +-------------------------- + +The FTDI EVE chips have several fonts in ROM, but these fonts only contain a +subset of ASCII characters. Notably, this excludes diacritics and accents +used in most Western languages. + +While the FTDI EVE has the capability for user-defined fonts, such fonts only +support 127 character positions, making them as limiting as the built-in fonts. + +As a further complication, high resolution TFT displays require high resolution +fonts. It is not feasible to put a complete international font into the limited +flash memory of most microprocessors. + +To work around these limitations, this library uses a custom font renderer with +the following characteristics: + + 1) Rather than providing bitmaps for different font sizes, it uses a single + bitmap for the largest font size (romfont 31) and emulates other sizes by + scaling the bitmaps using BITMAP_TRANSFORM. + + 2) Rather than loading an entire font, it combines symbols from romfont 31 + with a limited number of symbols from a custom font. For accented letters, + the rendering code combine basic letter shapes from romfont 31 with + bitmaps containing only the accent themselves. + + 3) The custom bitmap is RLE compressed into PROGMEM. For accents, which have + a fairly small number of non-white pixels, the savings are significant. + +These characteristics enable an alphabet for Western languages to be +synthesized from only a few dozen custom symbols and modest PROGMEM use (~10k) + +The text layout is done by the code in "unicode.cpp" with the help of one of +more character renderers (e.g. "western_char_set.cpp"). Each character render +is responsible for loading the necessary bitmap data into RAMG and drawing +characters as requested. + +To add symbols for other languages, it will only be necessary to make a bitmap +and implement a corresponding character renderer. diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps.cpp new file mode 100644 index 0000000000..87baeb6d20 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps.cpp @@ -0,0 +1,55 @@ +/******************* + * font_bitmap.cpp * + *******************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#include "../ftdi_extended.h" + +#ifdef FTDI_EXTENDED + +namespace FTDI { + + void write_rle_data(uint16_t addr, const uint8_t *data, size_t n) { + for (; n >= 2; n -= 2) { + uint8_t count = pgm_read_byte(data++); + uint8_t value = pgm_read_byte(data++); + while (count--) CLCD::mem_write_8(addr++, value); + } + } + + void set_font_bitmap(CommandProcessor& cmd, CLCD::FontMetrics &fm, uint8_t handle) { + cmd.cmd(BITMAP_HANDLE(handle)); + cmd.cmd(BITMAP_SOURCE(fm.ptr)); + cmd.bitmap_layout(fm.format, fm.stride, fm.height); + cmd.bitmap_size(BILINEAR, BORDER, BORDER, fm.width, fm.height); + } + + void ext_vertex2ii(CommandProcessor &cmd, int x, int y, uint8_t handle, uint8_t cell) { + if (x < 0 || y < 0 || x > 511 || y > 511) { + cmd.cmd(BITMAP_HANDLE(handle)); + cmd.cmd(CELL(cell)); + cmd.cmd(VERTEX2F(x * 16, y * 16)); + } else { + cmd.cmd(VERTEX2II(x, y, handle, cell)); + } + } + +} // namespace FTDI + +#endif // FTDI_EXTENDED diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps.h new file mode 100644 index 0000000000..85ece6b774 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps.h @@ -0,0 +1,30 @@ +/****************** + * font_bitmaps.h * + ******************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +class CommandProcessor; + +namespace FTDI { + void write_rle_data(uint16_t addr, const uint8_t *data, size_t n); + void set_font_bitmap(CommandProcessor& cmd, CLCD::FontMetrics &fm, uint8_t handle); + void ext_vertex2ii(CommandProcessor &cmd, int x, int y, uint8_t handle, uint8_t cell); +} diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps/romfont_31.pbm b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps/romfont_31.pbm new file mode 100644 index 0000000000..39cb67034f Binary files /dev/null and b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps/romfont_31.pbm differ diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps/western_char_set_bitmap_31.png b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps/western_char_set_bitmap_31.png new file mode 100644 index 0000000000..ef681923db Binary files /dev/null and b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps/western_char_set_bitmap_31.png differ diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps/western_char_set_bitmap_31.svg b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps/western_char_set_bitmap_31.svg new file mode 100644 index 0000000000..f803126c2b --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps/western_char_set_bitmap_31.svg @@ -0,0 +1,443 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + ̀ ́ ̂ ̃ ̈ ̊ ̧ıߨøÆæÐðÞþ«»¡¿¢£¤¥¹²³ºª©®±×÷¼½¾µ¦§¬ + + + + + + + + diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_size_t.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_size_t.cpp new file mode 100644 index 0000000000..c449f11537 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_size_t.cpp @@ -0,0 +1,46 @@ +/******************* + * font_size_t.cpp * + *******************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#include "../ftdi_extended.h" + +#if defined(FTDI_EXTENDED) && ENABLED(TOUCH_UI_USE_UTF8) + +namespace FTDI { + // Returns the height of a standard FTDI romfont + uint8_t font_size_t::get_romfont_height(uint8_t font) { + static const uint8_t tbl[] PROGMEM = { + 8, 8, 16, 16, 13, 17, 20, 22, 29, 38, 16, 20, 25, 28, 36, 49, 63, 83, 108 + }; + return pgm_read_byte(&tbl[font - 16]); + } + + // Sets the scaling coefficient to match a romfont size + font_size_t font_size_t::from_romfont(uint8_t font) { + return font_size_t(uint32_t(std_height) * 256 / get_romfont_height(font)); + } + + // Returns the height of the font + uint8_t font_size_t::get_height() const { + return scale(std_height); + } +} + +#endif // FTDI_EXTENDED && TOUCH_UI_USE_UTF8 diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_size_t.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_size_t.h new file mode 100644 index 0000000000..9cf6c181f5 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_size_t.h @@ -0,0 +1,55 @@ +/***************** + * font_size_t.h * + *****************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +class CommandProcessor; + +namespace FTDI { + + /* The unicode rendering of different font sizes happens by scaling a + * large-sized font bitmap using the FTDI bitmap transformation matrix. + * This keeps us from having to have load bitmaps for all font sizes. + * + * The font_size_t class helps manage this scaling factor. + */ + class font_size_t { + private: + // Standard height for font bitmaps + static constexpr uint8_t std_height = 49; + + // 8.8 fixed point scaling coefficient + uint16_t coefficient; + + font_size_t(uint16_t v) : coefficient(v) {} + public: + font_size_t() : coefficient(256) {} + + static uint8_t get_romfont_height(uint8_t font); + + static font_size_t from_romfont(uint8_t size); + + template T scale(T val) const {return (int32_t(val) * 256 / coefficient);} + + uint8_t get_height() const; + uint16_t get_coefficient() const {return coefficient;} + }; +} diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/standard_char_set.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/standard_char_set.cpp new file mode 100644 index 0000000000..fb049aee3b --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/standard_char_set.cpp @@ -0,0 +1,106 @@ +/************************* + * standard_char_set.cpp * + *************************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#include "../ftdi_extended.h" + +#if defined(FTDI_EXTENDED) && ENABLED(TOUCH_UI_USE_UTF8) + + constexpr static uint8_t std_font = 31; + + /* Lookup table of the char widths for standard ROMFONT 31 */ + + uint8_t FTDI::StandardCharSet::std_char_width(char c) { + static const uint8_t tbl[] PROGMEM = { + 10, 11, 15, 26, 25, 31, 26, 10, 15, 14, 18, 24, 9, 18, 11, 17, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 10, 10, 21, 23, 22, 20, 37, 27, 27, 26, + 28, 23, 22, 28, 29, 12, 23, 26, 22, 35, 29, 28, 26, 29, 27, 26, 26, 28, + 27, 36, 27, 26, 25, 12, 18, 12, 18, 21, 13, 23, 24, 22, 24, 22, 15, 24, + 24, 10, 11, 22, 10, 36, 24, 24, 24, 24, 15, 22, 14, 24, 21, 32, 21, 21, + 22, 15, 10, 15, 29, 10 + }; + return pgm_read_byte(&tbl[c - ' ']); + } + + /** + * Load bitmap data into RAMG. This function is called once at the start + * of the program. + * + * Parameters: + * + * addr - Address in RAMG where the font data is written + */ + + void FTDI::StandardCharSet::load_data(uint32_t) { + } + + /** + * Populates the bitmap handles for the custom into the display list. + * This function is called once at the start of each display list. + * + * Parameters: + * + * cmd - Object used for writing to the FTDI chip command queue. + */ + + void FTDI::StandardCharSet::load_bitmaps(CommandProcessor& cmd) { + CLCD::FontMetrics std_fm(std_font); + set_font_bitmap(cmd, std_fm, std_font); + } + + /** + * Renders a character at location x and y. The x position is incremented + * by the width of the character. + * + * Parameters: + * + * cmd - If non-NULL the symbol is drawn to the screen. + * If NULL, only increment position for text measurement. + * + * x, y - The location at which to draw the character. On output, + * incremented to the location of the next character. + * + * fs - A scaling object used to scale the font. The display will + * already be configured to scale bitmaps, but positions + * must be scaled using fs.scale() + * + * c - The unicode code point to draw. If the renderer does not + * support the character, it should draw nothing. + */ + + bool FTDI::StandardCharSet::render_glyph(CommandProcessor* cmd, int &x, int &y, font_size_t fs, utf8_char_t c) { + uint8_t which = (c >= ' ' && c < 128) ? c : '?'; + uint8_t width = std_char_width(which); + + if (c == '\t') { + // Special handling for the tab character + which = ' '; + width = std_char_width(' '); + } + + // Draw the character + if (cmd) ext_vertex2ii(*cmd, x, y, std_font, which); + + // Increment X to the next character position + x += fs.scale(width); + return true; + } + +#endif // FTDI_EXTENDED && TOUCH_UI_USE_UTF8 diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/standard_char_set.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/standard_char_set.h new file mode 100644 index 0000000000..17ccfe6e30 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/standard_char_set.h @@ -0,0 +1,30 @@ +/*********************** + * standard_char_set.h * + ***********************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +namespace FTDI { + class StandardCharSet { + public: + static uint8_t std_char_width(char); + static void load_data(uint32_t addr); + static void load_bitmaps(CommandProcessor&); + static bool render_glyph(CommandProcessor*, int &x, int &y, font_size_t, utf8_char_t); + }; +} diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/unicode.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/unicode.cpp new file mode 100644 index 0000000000..d717f7f154 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/unicode.cpp @@ -0,0 +1,219 @@ +/*************** + * unicode.cpp * + ***************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#include "../ftdi_extended.h" + +#if defined(FTDI_EXTENDED) && ENABLED(TOUCH_UI_USE_UTF8) + + using namespace FTDI; + + /** + * Return true if a string has UTF8 characters + * + * Parameters: + * + * c - Pointer to a string. + * + * Returns: True if the strings has UTF8 characters + */ + + bool FTDI::has_utf8_chars(const char *str) { + for (;;) { + const char c = *str++; + if (!c) break; + if ((c & 0xC0) == 0x80) return true; + } + return false; + } + + bool FTDI::has_utf8_chars(progmem_str _str) { + const char *str = (const char *) _str; + for (;;) { + const char c = pgm_read_byte(str++); + if (!c) break; + if ((c & 0xC0) == 0x80) return true; + } + return false; + } + + /** + * Return a character in a UTF8 string and increment the + * pointer to the next character + * + * Parameters: + * + * c - Pointer to a UTF8 encoded string. + * + * Returns: The packed bytes of a UTF8 encoding of a single + * character (this is not the unicode codepoint) + */ + + utf8_char_t FTDI::get_utf8_char_and_inc(const char *&c) { + utf8_char_t val = *(uint8_t*)c++; + while ((*c & 0xC0) == 0x80) + val = (val << 8) | *(uint8_t*)c++; + return val; + } + + /** + * Helper function to draw and/or measure a UTF8 string + * + * Parameters: + * + * cmd - If non-NULL the symbol is drawn to the screen. + * If NULL, only increment position for text measurement. + * + * x, y - The location at which to draw the string. + * + * str - The UTF8 string to draw or measure. + * + * fs - A scaling object used to specify the font size. + */ + + static uint16_t render_utf8_text(CommandProcessor* cmd, int x, int y, const char *str, font_size_t fs) { + const int start_x = x; + while (*str) { + const utf8_char_t c = get_utf8_char_and_inc(str); + #ifdef TOUCH_UI_UTF8_WESTERN_CHARSET + WesternCharSet::render_glyph(cmd, x, y, fs, c) || + #endif + StandardCharSet::render_glyph(cmd, x, y, fs, c); + } + return x - start_x; + } + + /** + * Load the font bitmap data into RAMG. Called once at program start. + * + * Parameters: + * + * addr - Address in RAMG where the font data is written + */ + + void FTDI::load_utf8_data(uint16_t addr) { + #ifdef TOUCH_UI_UTF8_WESTERN_CHARSET + WesternCharSet::load_data(addr); + #endif + StandardCharSet::load_data(addr); + } + + /** + * Populate the bitmap handles for the custom fonts into the display list. + * Called once at the start of each display list. + * + * Parameters: + * + * cmd - Object used for writing to the FTDI chip command queue. + */ + + void FTDI::load_utf8_bitmaps(CommandProcessor &cmd) { + #ifdef TOUCH_UI_UTF8_WESTERN_CHARSET + WesternCharSet::load_bitmaps(cmd); + #endif + StandardCharSet::load_bitmaps(cmd); + } + + /** + * Measure a UTF8 text character + * + * Parameters: + * + * c - The unicode code point to measure. + * + * fs - A scaling object used to specify the font size. + * + * Returns: A width in pixels + */ + + uint16_t FTDI::get_utf8_char_width(utf8_char_t c, font_size_t fs) { + int x = 0, y = 0; + #ifdef TOUCH_UI_UTF8_WESTERN_CHARSET + WesternCharSet::render_glyph(NULL, x, y, fs, c) || + #endif + StandardCharSet::render_glyph(NULL, x, y, fs, c); + return x; + } + + /** + * Measure a UTF8 text string + * + * Parameters: + * + * str - The UTF8 string to measure. + * + * fs - A scaling object used to specify the font size. + * + * Returns: A width in pixels + */ + + uint16_t FTDI::get_utf8_text_width(const char *str, font_size_t fs) { + return render_utf8_text(NULL, 0, 0, str, fs); + } + + uint16_t FTDI::get_utf8_text_width(progmem_str pstr, font_size_t fs) { + char str[strlen_P((const char*)pstr) + 1]; + strcpy_P(str, (const char*)pstr); + return get_utf8_text_width(str, fs); + } + + /** + * Draw a UTF8 text string + * + * Parameters: + * + * cmd - Object used for writing to the FTDI chip command queue. + * + * x, y - The location at which to draw the string. + * + * str - The UTF8 string to draw. + * + * fs - A scaling object used to specify the font size. + * + * options - Text alignment options (i.e. OPT_CENTERX, OPT_CENTERY, OPT_CENTER or OPT_RIGHTX) + * + */ + + void FTDI::draw_utf8_text(CommandProcessor& cmd, int x, int y, const char *str, font_size_t fs, uint16_t options) { + cmd.cmd(SAVE_CONTEXT()); + cmd.cmd(BITMAP_TRANSFORM_A(fs.get_coefficient())); + cmd.cmd(BITMAP_TRANSFORM_E(fs.get_coefficient())); + cmd.cmd(BEGIN(BITMAPS)); + + // Apply alignment options + if (options & OPT_CENTERX) + x -= get_utf8_text_width(str, fs) / 2; + else if (options & OPT_RIGHTX) + x -= get_utf8_text_width(str, fs); + if (options & OPT_CENTERY) + y -= fs.get_height()/2; + + // Render the text + render_utf8_text(&cmd, x, y, str, fs); + cmd.cmd(RESTORE_CONTEXT()); + } + + void FTDI::draw_utf8_text(CommandProcessor& cmd, int x, int y, progmem_str pstr, font_size_t fs, uint16_t options) { + char str[strlen_P((const char*)pstr) + 1]; + strcpy_P(str, (const char*)pstr); + draw_utf8_text(cmd, x, y, (const char*) str, fs, options); + } + +#endif // FTDI_EXTENDED && TOUCH_UI_USE_UTF8 diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/unicode.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/unicode.h new file mode 100644 index 0000000000..fedb89d172 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/unicode.h @@ -0,0 +1,111 @@ +/************* + * unicode.h * + *************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +class CommandProcessor; + +namespace FTDI { + #ifdef TOUCH_UI_USE_UTF8 + typedef uint16_t utf8_char_t; + + /** + * Converts a 32-bit codepoint into UTF-8. This compile-time function + * will be useful until the u8'a' character literal becomes more common. + */ + constexpr uint32_t utf8(const uint32_t c) { + return (c < 0x7F ) ? c : + (c < 0x7FF) ? (0x0000C080 | ((c & 0b011111000000) << 2) | (c & 0b111111)) : + (c < 0xFFFF) ? (0x00E08080 | ((c & 0b001111000000000000) << 4) | ((c & 0b111111000000) << 2) | (c & 0b111111)) : + (0xF0808080 | ((c & 0b000111000000000000000000) << 6) | ((c & 0b111111000000000000) << 4) | ((c & 0b111111000000) << 2) | (c & 0b111111)); + } + + /* Returns true if the string has UTF8 string characters */ + + bool has_utf8_chars(progmem_str str); + bool has_utf8_chars(const char *str); + + /* Returns the next character in a UTF8 string and increments the + * pointer to the next character */ + + utf8_char_t get_utf8_char_and_inc(const char *&c); + + /* Returns the next character in a UTF8 string, without incrementing */ + + inline utf8_char_t get_utf8_char(const char *c) {return get_utf8_char_and_inc(c);} + + void load_utf8_data(uint16_t addr); + #else + typedef char utf8_char_t; + + inline utf8_char_t get_utf8_char_and_inc(const char *&c) {return *c++;} + inline utf8_char_t get_utf8_char(const char *c) {return *c;} + + inline void load_utf8_data(uint16_t) {} + #endif + + void load_utf8_bitmaps(CommandProcessor& cmd); + + uint16_t get_utf8_char_width(utf8_char_t, font_size_t); + uint16_t get_utf8_text_width(progmem_str, font_size_t); + uint16_t get_utf8_text_width(const char *, font_size_t); + + void draw_utf8_text(CommandProcessor&, int x, int y, progmem_str, font_size_t, uint16_t options = 0); + void draw_utf8_text(CommandProcessor&, int x, int y, const char *, font_size_t, uint16_t options = 0); + + // Similar to CLCD::FontMetrics, but can be used with UTF8 encoded strings. + + struct FontMetrics { + #ifdef TOUCH_UI_USE_UTF8 + font_size_t fs; + #else + CLCD::FontMetrics fm; + #endif + + inline void load(uint8_t rom_font_size) { + #ifdef TOUCH_UI_USE_UTF8 + fs = font_size_t::from_romfont(rom_font_size); + #else + fm.load(rom_font_size); + #endif + } + + inline uint16_t get_char_width(utf8_char_t c) const { + #ifdef TOUCH_UI_USE_UTF8 + return get_utf8_char_width(c, fs); + #else + return fm.char_widths[(uint8_t)c]; + #endif + } + + inline uint8_t get_height() const { + #ifdef TOUCH_UI_USE_UTF8 + return fs.get_height(); + #else + return fm.height; + #endif + } + + inline FontMetrics(uint8_t rom_font_size) { + load(rom_font_size); + } + }; +} diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/western_char_set.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/western_char_set.cpp new file mode 100644 index 0000000000..688b68ae0c --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/western_char_set.cpp @@ -0,0 +1,449 @@ +/************************ + * western_char_set.cpp * + ************************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#include "../ftdi_extended.h" + +#if defined(FTDI_EXTENDED) && BOTH(TOUCH_UI_USE_UTF8, TOUCH_UI_UTF8_WESTERN_CHARSET) + + #include "western_char_set_bitmap_31.h" + + #define NUM_ELEMENTS(a) (sizeof(a)/sizeof(a[0])) + + using namespace FTDI; + + constexpr static uint8_t std_font = 31; + constexpr static uint8_t alt_font = 1; + + static uint32_t bitmap_addr; + + /* Glyphs in the WesternCharSet bitmap */ + + enum { + GRAVE, + ACUTE, + CIRCUMFLEX, + TILDE, + DIAERESIS, + DOT_ABOVE, + CEDILLA, + NO_DOT_I, +#if ENABLED(TOUCH_UI_UTF8_GERMANIC) + SHARP_S, +#endif +#if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) + LRG_O_STROKE, + SML_O_STROKE, + LRG_AE, + SML_AE, + LRG_ETH, + SML_ETH, + LRG_THORN, + SML_THORN, +#endif +#if ENABLED(TOUCH_UI_UTF8_PUNCTUATION) + LEFT_DBL_QUOTE, + RIGHT_DBL_QUOTE, + INV_EXCLAMATION, + INV_QUESTION, +#endif +#if ENABLED(TOUCH_UI_UTF8_CURRENCY) + CENT_SIGN, + POUND_SIGN, + CURRENCY_SIGN, + YEN_SIGN, +#endif +#if ENABLED(TOUCH_UI_UTF8_SUPERSCRIPTS) + SUPERSCRIPT_ONE, + SUPERSCRIPT_TWO, + SUPERSCRIPT_THREE, +#endif +#if ENABLED(TOUCH_UI_UTF8_ORDINALS) + MASCULINE_ORDINAL, + FEMININE_ORDINAL, +#endif +#if ENABLED(TOUCH_UI_UTF8_COPYRIGHT) + COPYRIGHT_SIGN, + REGISTERED_SIGN, +#endif +#if ENABLED(TOUCH_UI_UTF8_MATHEMATICS) + PLUS_MINUS_SIGN, + MULTIPLICATION_SIGN, + DIVISION_SIGN, +#endif +#if ENABLED(TOUCH_UI_UTF8_FRACTIONS) + FRACTION_QUARTER, + FRACTION_HALF, + FRACTION_THREE_FOURTHS, +#endif +#if ENABLED(TOUCH_UI_UTF8_SYMBOLS) + MICRON_SIGN, + PILCROW_SIGN, + BROKEN_BAR, + SECTION_SIGN, + NOT_SIGN +#endif + }; + + /* Centerline of characters that can take accents */ + + constexpr int8_t mid_a = 12; + constexpr int8_t mid_e = 12; + constexpr int8_t mid_i = 5; + constexpr int8_t mid_o = 12; + constexpr int8_t mid_u = 12; + constexpr int8_t mid_y = 11; + constexpr int8_t mid_n = 12; + constexpr int8_t mid_c = 12; + constexpr int8_t mid_A = 13; + constexpr int8_t mid_E = 13; + constexpr int8_t mid_I = 6; + constexpr int8_t mid_O = 14; + constexpr int8_t mid_U = 14; + constexpr int8_t mid_Y = 13; + constexpr int8_t mid_N = 15; + constexpr int8_t mid_C = 13; + + /* Centerline of accent glyphs */ + + constexpr int8_t mid_accent = 16; + + /* When reusing the DOT_ABOVE accent glyph for the degree sign, we need to trim the leading space */ + constexpr uint8_t deg_sign_leading = 9; + + /* Look-up table for constructing characters (must be ordered by unicode) + * + * Characters are either complete symbols from the Western Char Set bitmap, + * or they are constructed using a standard letter from the romfont and + * drawing an accent from the Western Char Set bitmap over it. + */ + + #define UTF8(A) uint16_t(utf8(U##A)) + + PROGMEM constexpr struct { + uint16_t unicode; + uint8_t std_char; // Glyph from standard ROMFONT (zero if none) + uint8_t alt_char; // Glyph from Western Char Set bitmap + uint8_t alt_data; // For accented characters, the centerline; else char width + } char_recipe[] = { + {0, 0, NO_DOT_I, 10 }, +#if ENABLED(TOUCH_UI_UTF8_PUNCTUATION) + {UTF8('¡'), 0 , INV_EXCLAMATION, 13 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_CURRENCY) + {UTF8('¢'), 0 , CENT_SIGN, 23 }, + {UTF8('£'), 0 , POUND_SIGN, 24 }, + {UTF8('¤'), 0 , CURRENCY_SIGN, 26 }, + {UTF8('¥'), 0 , YEN_SIGN, 26 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_SYMBOLS) + {UTF8('¦'), 0 , BROKEN_BAR, 11 }, + {UTF8('§'), 0 , SECTION_SIGN, 21 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_COPYRIGHT) + {UTF8('©'), 0 , COPYRIGHT_SIGN, 38 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_ORDINALS) + {UTF8('ª'), 0 , FEMININE_ORDINAL, 19 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_PUNCTUATION) + {UTF8('«'), 0 , LEFT_DBL_QUOTE, 23 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_SYMBOLS) + {UTF8('¬'), 0 , NOT_SIGN, 32 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_COPYRIGHT) + {UTF8('®'), 0 , REGISTERED_SIGN, 38 }, +#endif + {UTF8('°'), 0 , DOT_ABOVE, 24 }, +#if ENABLED(TOUCH_UI_UTF8_MATHEMATICS) + {UTF8('±'), 0 , NOT_SIGN, 32 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_SUPERSCRIPTS) + {UTF8('²'), 0 , SUPERSCRIPT_TWO, 16 }, + {UTF8('³'), 0 , SUPERSCRIPT_THREE, 16 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_SYMBOLS) + {UTF8('µ'), 0 , MICRON_SIGN, 28 }, + {UTF8('¶'), 0 , PILCROW_SIGN, 24 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_SUPERSCRIPTS) + {UTF8('¹'), 0 , SUPERSCRIPT_ONE, 16 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_ORDINALS) + {UTF8('º'), 0 , MASCULINE_ORDINAL, 19 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_PUNCTUATION) + {UTF8('»'), 0 , RIGHT_DBL_QUOTE, 24 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_FRACTIONS) + {UTF8('¼'), 0 , FRACTION_QUARTER, 40 }, + {UTF8('½'), 0 , FRACTION_HALF, 40 }, + {UTF8('¾'), 0 , FRACTION_THREE_FOURTHS, 40 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_PUNCTUATION) + {UTF8('¿'), 0 , INV_QUESTION, 21 }, +#endif + {UTF8('À'), 'A', GRAVE, mid_A}, + {UTF8('Á'), 'A', ACUTE, mid_A}, + {UTF8('Â'), 'A', CIRCUMFLEX, mid_A}, + {UTF8('Ã'), 'A', TILDE, mid_A}, + {UTF8('Ä'), 'A', DIAERESIS, mid_A}, + {UTF8('Å'), 'A', DOT_ABOVE, mid_A}, +#if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) + {UTF8('Æ'), 0 , LRG_AE, 40}, +#endif + {UTF8('Ç'), 'C', CEDILLA, mid_C}, + {UTF8('È'), 'E', GRAVE, mid_E}, + {UTF8('É'), 'E', ACUTE, mid_E}, + {UTF8('Ê'), 'E', CIRCUMFLEX, mid_E}, + {UTF8('Ë'), 'E', DIAERESIS, mid_E}, + {UTF8('Ì'), 'I', GRAVE, mid_I}, + {UTF8('Í'), 'I', ACUTE, mid_I}, + {UTF8('Î'), 'I', CIRCUMFLEX, mid_I}, + {UTF8('Ï'), 'I', DIAERESIS, mid_I}, +#if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) + {UTF8('Ð'), 0, LRG_ETH, 31 }, +#endif + {UTF8('Ñ'), 'N', TILDE, mid_N}, + {UTF8('Ò'), 'O', GRAVE, mid_O}, + {UTF8('Ó'), 'O', ACUTE, mid_O}, + {UTF8('Ô'), 'O', CIRCUMFLEX, mid_O}, + {UTF8('Õ'), 'O', TILDE, mid_O}, + {UTF8('Ö'), 'O', DIAERESIS, mid_O}, +#if ENABLED(TOUCH_UI_UTF8_MATHEMATICS) + {UTF8('×'), 0 , MULTIPLICATION_SIGN, 32 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) + {UTF8('Ø'), 0 , LRG_O_STROKE, 32 }, +#endif + {UTF8('Ù'), 'U', GRAVE, mid_U}, + {UTF8('Ú'), 'U', ACUTE, mid_U}, + {UTF8('Û'), 'U', CIRCUMFLEX, mid_U}, + {UTF8('Ü'), 'U', DIAERESIS, mid_U}, + {UTF8('Ý'), 'Y', ACUTE, mid_Y}, +#if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) + {UTF8('Þ'), 0 , LRG_THORN, 25 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_GERMANIC) + {UTF8('ß'), 0 , SHARP_S, 26 }, +#endif + {UTF8('à'), 'a', GRAVE, mid_a}, + {UTF8('á'), 'a', ACUTE, mid_a}, + {UTF8('â'), 'a', CIRCUMFLEX, mid_a}, + {UTF8('ã'), 'a', TILDE, mid_a}, + {UTF8('ä'), 'a', DIAERESIS, mid_a}, + {UTF8('å'), 'a', DOT_ABOVE, mid_a}, +#if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) + {UTF8('æ'), 0 , SML_AE, 40 }, +#endif + {UTF8('ç'), 'c', CEDILLA, mid_c}, + {UTF8('è'), 'e', GRAVE, mid_e}, + {UTF8('é'), 'e', ACUTE, mid_e}, + {UTF8('ê'), 'e', CIRCUMFLEX, mid_e}, + {UTF8('ë'), 'e', DIAERESIS, mid_e}, + {UTF8('ì'), 'i', GRAVE, mid_i}, + {UTF8('í'), 'i', ACUTE, mid_i}, + {UTF8('î'), 'i', CIRCUMFLEX, mid_i}, + {UTF8('ï'), 'i', DIAERESIS, mid_i}, +#if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) + {UTF8('ð'), 0, SML_ETH, 24 }, +#endif + {UTF8('ñ'), 'n', TILDE, mid_n}, + {UTF8('ò'), 'o', GRAVE, mid_o}, + {UTF8('ó'), 'o', ACUTE, mid_o}, + {UTF8('ô'), 'o', CIRCUMFLEX, mid_o}, + {UTF8('õ'), 'o', TILDE, mid_o}, + {UTF8('ö'), 'o', DIAERESIS, mid_o}, +#if ENABLED(TOUCH_UI_UTF8_MATHEMATICS) + {UTF8('÷'), 0 , DIVISION_SIGN, 32 }, +#endif +#if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) + {UTF8('ø'), 0 , SML_O_STROKE, 25 }, +#endif + {UTF8('ù'), 'u', GRAVE, mid_u}, + {UTF8('ú'), 'u', ACUTE, mid_u}, + {UTF8('û'), 'u', CIRCUMFLEX, mid_u}, + {UTF8('ü'), 'u', DIAERESIS, mid_u}, + {UTF8('ý'), 'y', ACUTE, mid_y}, +#if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) + {UTF8('þ'), 0 , SML_THORN, 25 }, +#endif + {UTF8('ÿ'), 'y', DIAERESIS, mid_y} + }; + + static_assert(UTF8('¡') == 0xC2A1, "Incorrect encoding for character"); + + /* Compile-time check that the table is in sorted order */ + + constexpr bool is_sorted(size_t n) { + return n < 2 ? true : char_recipe[n-2].unicode < char_recipe[n-1].unicode && is_sorted(n-1); + } + + static_assert(is_sorted(NUM_ELEMENTS(char_recipe)), "The table must be sorted by unicode value"); + + /* Performs a binary search to find a unicode character in the table */ + + static int8_t find_char_data(FTDI::utf8_char_t c) { + int8_t min = 0, max = NUM_ELEMENTS(char_recipe), index; + for (;;) { + index = (min + max)/2; + const uint16_t char_at = pgm_read_word(&char_recipe[index].unicode); + if (char_at == c) break; + if (min == max) return -1; + if (c > char_at) + min = index + 1; + else + max = index; + } + return index; + } + + static void get_char_data(uint8_t index, uint8_t &std_char, uint8_t &alt_char, uint8_t &alt_data) { + std_char = pgm_read_byte(&char_recipe[index].std_char); + alt_char = pgm_read_byte(&char_recipe[index].alt_char); + alt_data = pgm_read_byte(&char_recipe[index].alt_data); + } + + /** + * Load bitmap data into RAMG. This function is called once at the start + * of the program. + * + * Parameters: + * + * addr - Address in RAMG where the font data is written + */ + + void FTDI::WesternCharSet::load_data(uint32_t addr) { + // Load the alternative font metrics + CLCD::FontMetrics alt_fm; + alt_fm.ptr = addr + 148; + alt_fm.format = L4; + alt_fm.stride = 19; + alt_fm.width = 38; + alt_fm.height = 49; + for (uint8_t i = 0; i < 127; i++) + alt_fm.char_widths[i] = 0; + + // For special characters, copy the character widths from the char tables + for (uint8_t i = 0; i < NUM_ELEMENTS(char_recipe); i++) { + uint8_t std_char, alt_char, alt_data; + get_char_data(i, std_char, alt_char, alt_data); + if (std_char == 0) + alt_fm.char_widths[alt_char] = alt_data; + } + CLCD::mem_write_bulk(addr, &alt_fm, 148); + + // Decode the RLE data and load it into RAMG as a bitmap + write_rle_data(addr + 148, font, sizeof(font)); + + bitmap_addr = addr; + } + + /** + * Populates the bitmap handles for the custom into the display list. + * This function is called once at the start of each display list. + * + * Parameters: + * + * cmd - Object used for writing to the FTDI chip command queue. + */ + + void FTDI::WesternCharSet::load_bitmaps(CommandProcessor& cmd) { + CLCD::FontMetrics alt_fm; + alt_fm.ptr = bitmap_addr + 148; + alt_fm.format = L4; + alt_fm.stride = 19; + alt_fm.width = 38; + alt_fm.height = 49; + set_font_bitmap(cmd, alt_fm, alt_font); + } + + /** + * Renders a character at location x and y. The x position is incremented + * by the width of the character. + * + * Parameters: + * + * cmd - If non-NULL the symbol is drawn to the screen. + * If NULL, only increment position for text measurement. + * + * x, y - The location at which to draw the character. On output, + * incremented to the location of the next character. + * + * fs - A scaling object used to scale the font. The display will + * already be configured to scale bitmaps, but positions + * must be scaled using fs.scale() + * + * c - The unicode code point to draw. If the renderer does not + * support the character, it should return false. + + * Returns: Whether the character was supported. + */ + + bool FTDI::WesternCharSet::render_glyph(CommandProcessor* cmd, int &x, int &y, font_size_t fs, utf8_char_t c) { + + // A supported character? + if (c < UTF8('¡') || c > UTF8('ÿ')) return false; + + int8_t index = find_char_data(c); + if (index == -1) return false; + + // Determine character characteristics + uint8_t std_char, alt_char, alt_data; + get_char_data(index, std_char, alt_char, alt_data); + + bool base_special; + uint8_t base_width; + uint8_t base_char; + uint8_t accent_char; + int8_t accent_dx, accent_dy; + + if (std_char == 0) { + // Special character, non-accented + base_width = alt_data; + base_special = true; + base_char = alt_char; + accent_char = 0; + if (c == UTF8('°')) + x -= fs.scale(deg_sign_leading); + } else { + // Regular character with accent: + accent_dx = alt_data - mid_accent; + accent_dy = isupper(std_char) ? -7 : 0; + accent_char = alt_char; + base_width = StandardCharSet::std_char_width(std_char); + base_special = std_char == 'i'; + base_char = base_special ? NO_DOT_I : std_char; + } + + // If cmd != NULL, draw the glyph to the screen + if (cmd) { + ext_vertex2ii(*cmd, x, y, base_special ? alt_font : std_font, base_char); + if (accent_char) + ext_vertex2ii(*cmd, x + fs.scale(accent_dx), y + fs.scale(accent_dy), alt_font, accent_char); + } + + // Increment X to the next character position + x += fs.scale(base_width); + return true; + } + +#endif // FTDI_EXTENDED && TOUCH_UI_USE_UTF8 && TOUCH_UI_UTF8_WESTERN_CHARSET diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/western_char_set.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/western_char_set.h new file mode 100644 index 0000000000..704de95088 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/western_char_set.h @@ -0,0 +1,29 @@ +/********************** + * western_char_set.h * + **********************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +namespace FTDI { + class WesternCharSet { + public: + static void load_data(uint32_t addr); + static void load_bitmaps(CommandProcessor&); + static bool render_glyph(CommandProcessor*, int &x, int &y, font_size_t, utf8_char_t); + }; +} diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/western_char_set_bitmap_31.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/western_char_set_bitmap_31.h new file mode 100644 index 0000000000..64a14121d9 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/western_char_set_bitmap_31.h @@ -0,0 +1,1315 @@ +/******************************** + * western_european_bitmap_31.h * + ********************************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +/* This is a dump of "font_bitmaps/western_european_bitmap_31.png" + * using the tool "bitmap2cpp.py". The tool converts the image into + * 16-level grayscale and packs two pixels per byte. The resulting + * bytes are then RLE compressed to yield (count, byte) pairs. + */ + +const unsigned char font[] PROGMEM = { + + /* 0 GRAVE */ + 0x76, 0x00, 0x01, 0x08, 0x01, 0xee, 0x01, 0xe5, 0x11, 0x00, 0x01, 0xaf, + 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xd0, + 0x10, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x01, 0xf9, 0x11, 0x00, 0x01, 0x2e, + 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf2, + 0x11, 0x00, 0x01, 0x5f, 0x01, 0xfd, 0x11, 0x00, 0x01, 0x06, 0x01, 0x99, + 0x01, 0x40, 0xff, 0x00, 0xff, 0x00, 0xa4, 0x00, + + /* 1 ACUTE */ + 0x7b, 0x00, 0x01, 0x9e, 0x01, 0xee, 0x01, 0x50, 0x0f, 0x00, 0x01, 0x05, + 0x01, 0xff, 0x01, 0xf8, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0xcf, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x09, 0x01, 0xff, + 0x01, 0xd1, 0x10, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x01, 0x20, 0x0f, 0x00, + 0x01, 0x01, 0x01, 0xef, 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xaa, + 0x01, 0x40, 0xff, 0x00, 0xff, 0x00, 0xa5, 0x00, + + /* 2 CIRCUMFLEX */ + 0x79, 0x00, 0x01, 0xcf, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x07, 0x02, 0xff, + 0x01, 0x60, 0x0f, 0x00, 0x01, 0x2f, 0x02, 0xff, 0x01, 0xf2, 0x0f, 0x00, + 0x01, 0xcf, 0x01, 0xf6, 0x01, 0x6f, 0x01, 0xfb, 0x0e, 0x00, 0x01, 0x06, + 0x01, 0xff, 0x01, 0xa0, 0x01, 0x0a, 0x01, 0xff, 0x01, 0x60, 0x0d, 0x00, + 0x01, 0x1f, 0x01, 0xfd, 0x01, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x01, 0xf1, + 0x0d, 0x00, 0x01, 0xbf, 0x01, 0xf3, 0x02, 0x00, 0x01, 0x3f, 0x01, 0xfb, + 0x0c, 0x00, 0x01, 0x02, 0x01, 0x99, 0x01, 0x50, 0x02, 0x00, 0x01, 0x05, + 0x01, 0x99, 0x01, 0x20, 0xff, 0x00, 0xff, 0x00, 0xa2, 0x00, + + /* 3 TILDE */ + 0x7c, 0x00, 0x01, 0x11, 0x0d, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xc3, + 0x02, 0x00, 0x01, 0xff, 0x01, 0x80, 0x0c, 0x00, 0x01, 0xaf, 0x02, 0xff, + 0x01, 0x50, 0x01, 0x01, 0x01, 0xff, 0x01, 0x60, 0x0b, 0x00, 0x01, 0x02, + 0x01, 0xff, 0x01, 0xd9, 0x01, 0xff, 0x01, 0xf7, 0x01, 0x07, 0x01, 0xff, + 0x01, 0x40, 0x0b, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0x20, 0x01, 0x3e, + 0x02, 0xff, 0x01, 0xfd, 0x0c, 0x00, 0x01, 0x09, 0x01, 0xfe, 0x01, 0x00, + 0x01, 0x02, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xf4, 0x0c, 0x00, 0x01, 0x07, + 0x01, 0xa8, 0x02, 0x00, 0x01, 0x06, 0x01, 0x98, 0x01, 0x20, 0xff, 0x00, + 0xff, 0x00, 0xb6, 0x00, + + /* 4 DIAERESIS */ + 0x8a, 0x00, 0x02, 0x44, 0x02, 0x00, 0x02, 0x44, 0x0d, 0x00, 0x02, 0xff, + 0x01, 0x10, 0x01, 0x01, 0x02, 0xff, 0x0d, 0x00, 0x02, 0xff, 0x01, 0x10, + 0x01, 0x01, 0x02, 0xff, 0x0d, 0x00, 0x02, 0xff, 0x01, 0x10, 0x01, 0x01, + 0x02, 0xff, 0x0d, 0x00, 0x02, 0xcc, 0x01, 0x10, 0x01, 0x01, 0x02, 0xcc, + 0xff, 0x00, 0xff, 0x00, 0xc9, 0x00, + + /* 5 DOT_ABOVE / DEGREE_SIGN */ + 0x2d, 0x00, 0x01, 0x13, 0x01, 0x30, 0x10, 0x00, 0x01, 0x2b, 0x02, 0xff, + 0x01, 0xa1, 0x0e, 0x00, 0x01, 0x02, 0x01, 0xef, 0x02, 0xff, 0x01, 0xfd, + 0x01, 0x10, 0x0d, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x94, 0x01, 0x5a, + 0x01, 0xff, 0x01, 0xb0, 0x0d, 0x00, 0x01, 0x4f, 0x01, 0xf7, 0x02, 0x00, + 0x01, 0x9f, 0x01, 0xf2, 0x0d, 0x00, 0x01, 0x8f, 0x01, 0xf0, 0x02, 0x00, + 0x01, 0x2f, 0x01, 0xf6, 0x0d, 0x00, 0x01, 0x8f, 0x01, 0xe0, 0x02, 0x00, + 0x01, 0x0f, 0x01, 0xf7, 0x0d, 0x00, 0x01, 0x7f, 0x01, 0xf2, 0x02, 0x00, + 0x01, 0x4f, 0x01, 0xf5, 0x0d, 0x00, 0x01, 0x2f, 0x01, 0xfc, 0x01, 0x10, + 0x01, 0x02, 0x01, 0xdf, 0x01, 0xf0, 0x0d, 0x00, 0x01, 0x08, 0x01, 0xff, + 0x01, 0xfb, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x60, 0x0e, 0x00, 0x01, 0x9f, + 0x02, 0xff, 0x01, 0xf8, 0x0f, 0x00, 0x01, 0x03, 0x01, 0x9c, 0x01, 0xc9, + 0x01, 0x30, 0xff, 0x00, 0xff, 0x00, 0xa4, 0x00, + + /* 6 CEDILLA */ + 0xff, 0x00, 0xff, 0x00, 0xee, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0x20, + 0x11, 0x00, 0x01, 0xcf, 0x01, 0xc0, 0x11, 0x00, 0x01, 0x3f, 0x01, 0xf6, + 0x11, 0x00, 0x01, 0x0f, 0x01, 0xfb, 0x11, 0x00, 0x01, 0x3f, 0x01, 0xfd, + 0x0e, 0x00, 0x01, 0x07, 0x01, 0xd9, 0x01, 0x89, 0x01, 0xff, 0x01, 0xfb, + 0x0e, 0x00, 0x01, 0x07, 0x03, 0xff, 0x01, 0xf3, 0x0e, 0x00, 0x01, 0x04, + 0x01, 0xbd, 0x01, 0xee, 0x01, 0xd9, 0x01, 0x20, 0x2f, 0x00, + + /* 7 NO_DOT_I */ + 0xff, 0x00, 0x32, 0x00, 0x01, 0x01, 0x01, 0x99, 0x01, 0x96, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, + 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, + 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, + 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, + 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, + 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, + 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, + 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0xcd, 0x00, + +#if ENABLED(TOUCH_UI_UTF8_GERMANIC) + /* 8 SHARP_S */ + 0x8a, 0x00, 0x01, 0x35, 0x01, 0x66, 0x01, 0x52, 0x0e, 0x00, 0x01, 0x03, + 0x01, 0xaf, 0x03, 0xff, 0x01, 0xe7, 0x0d, 0x00, 0x01, 0x7f, 0x05, 0xff, + 0x01, 0xc1, 0x0b, 0x00, 0x01, 0x07, 0x02, 0xff, 0x01, 0xfc, 0x01, 0xaa, + 0x01, 0xdf, 0x01, 0xff, 0x01, 0xfc, 0x0b, 0x00, 0x01, 0x2f, 0x01, 0xff, + 0x01, 0xf9, 0x01, 0x10, 0x01, 0x00, 0x01, 0x02, 0x01, 0xcf, 0x01, 0xff, + 0x01, 0x70, 0x0a, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x80, 0x03, 0x00, + 0x01, 0x0d, 0x01, 0xff, 0x01, 0xe0, 0x0a, 0x00, 0x01, 0xef, 0x01, 0xff, + 0x04, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xf3, 0x09, 0x00, 0x01, 0x02, + 0x01, 0xff, 0x01, 0xfb, 0x04, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf7, + 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf9, 0x03, 0x00, 0x01, 0x03, + 0x01, 0x9e, 0x01, 0xff, 0x01, 0xf8, 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf8, 0x02, 0x00, 0x01, 0x01, 0x01, 0xaf, 0x02, 0xff, 0x01, 0xd7, + 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x1d, + 0x01, 0xff, 0x01, 0xfc, 0x01, 0x50, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf8, 0x02, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x70, 0x0b, 0x00, + 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x01, 0x00, 0x01, 0x01, 0x01, 0xff, + 0x01, 0xfa, 0x0c, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x01, 0x00, + 0x01, 0x05, 0x01, 0xff, 0x01, 0xf4, 0x0c, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf8, 0x01, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf4, 0x0c, 0x00, + 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x01, 0x00, 0x01, 0x05, 0x01, 0xff, + 0x01, 0xf9, 0x0c, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x01, 0x00, + 0x01, 0x02, 0x02, 0xff, 0x01, 0x50, 0x0b, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf8, 0x02, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0xf8, 0x0b, 0x00, + 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x1d, 0x02, 0xff, + 0x01, 0xd3, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x02, 0x00, + 0x01, 0x01, 0x01, 0xcf, 0x02, 0xff, 0x01, 0x70, 0x09, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf8, 0x03, 0x00, 0x01, 0x07, 0x02, 0xff, 0x01, 0xfb, + 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x04, 0x00, 0x01, 0x2b, + 0x02, 0xff, 0x01, 0xb0, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, + 0x05, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xf6, 0x08, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf8, 0x05, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfd, + 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, 0x01, 0xdf, + 0x01, 0xff, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, + 0x01, 0xbf, 0x01, 0xff, 0x01, 0x10, 0x07, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf8, 0x06, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x08, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf8, 0x05, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xfd, + 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x01, 0x02, 0x01, 0x84, + 0x03, 0x00, 0x01, 0x2d, 0x01, 0xff, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf8, 0x01, 0x02, 0x01, 0xff, 0x01, 0xec, 0x01, 0xa9, + 0x01, 0xac, 0x02, 0xff, 0x01, 0xe0, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf8, 0x01, 0x02, 0x05, 0xff, 0x01, 0xfe, 0x01, 0x20, 0x08, 0x00, + 0x01, 0x03, 0x01, 0xee, 0x01, 0xe7, 0x01, 0x01, 0x01, 0xbf, 0x03, 0xff, + 0x01, 0xfe, 0x01, 0x80, 0x0e, 0x00, 0x01, 0x35, 0x01, 0x78, 0x01, 0x76, + 0x01, 0x30, 0xb4, 0x00, +#endif + +#if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) + /* 9 LRG_O_STROKE */ + 0x93, 0x00, 0x01, 0x40, 0x0a, 0x00, 0x01, 0x47, 0x01, 0x9a, 0x01, 0xba, + 0x01, 0x95, 0x01, 0x10, 0x02, 0x00, 0x01, 0x07, 0x01, 0xf8, 0x08, 0x00, + 0x01, 0x02, 0x01, 0xaf, 0x04, 0xff, 0x01, 0xfc, 0x01, 0x50, 0x01, 0x00, + 0x01, 0x5f, 0x01, 0xff, 0x01, 0x30, 0x07, 0x00, 0x01, 0x8f, 0x06, 0xff, + 0x01, 0xfc, 0x01, 0x23, 0x01, 0xff, 0x01, 0xf6, 0x07, 0x00, 0x01, 0x1c, + 0x03, 0xff, 0x01, 0xca, 0x01, 0x9b, 0x01, 0xdf, 0x02, 0xff, 0x01, 0xfe, + 0x01, 0xff, 0x01, 0x80, 0x07, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0xfd, + 0x01, 0x50, 0x02, 0x00, 0x01, 0x02, 0x01, 0x9f, 0x02, 0xff, 0x01, 0xfa, + 0x07, 0x00, 0x01, 0x09, 0x02, 0xff, 0x01, 0x90, 0x04, 0x00, 0x01, 0x03, + 0x01, 0xef, 0x01, 0xff, 0x01, 0xf3, 0x07, 0x00, 0x01, 0x5f, 0x01, 0xff, + 0x01, 0xf9, 0x06, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0xfc, 0x07, 0x00, + 0x01, 0xdf, 0x01, 0xff, 0x01, 0xc0, 0x05, 0x00, 0x01, 0x06, 0x03, 0xff, + 0x01, 0x60, 0x05, 0x00, 0x01, 0x04, 0x02, 0xff, 0x01, 0x30, 0x05, 0x00, + 0x01, 0x4f, 0x01, 0xff, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xc0, 0x05, 0x00, + 0x01, 0x0b, 0x01, 0xff, 0x01, 0xfc, 0x05, 0x00, 0x01, 0x02, 0x01, 0xef, + 0x01, 0xf7, 0x01, 0x3f, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x0f, + 0x01, 0xff, 0x01, 0xf6, 0x05, 0x00, 0x01, 0x1d, 0x01, 0xff, 0x01, 0xa0, + 0x01, 0x0d, 0x01, 0xff, 0x01, 0xf8, 0x05, 0x00, 0x01, 0x3f, 0x01, 0xff, + 0x01, 0xf2, 0x05, 0x00, 0x01, 0xcf, 0x01, 0xfc, 0x01, 0x00, 0x01, 0x09, + 0x01, 0xff, 0x01, 0xfb, 0x05, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xe0, + 0x04, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xd1, 0x01, 0x00, 0x01, 0x06, + 0x01, 0xff, 0x01, 0xfe, 0x05, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0xc0, + 0x04, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0x20, 0x01, 0x00, 0x01, 0x03, + 0x02, 0xff, 0x05, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0xb0, 0x03, 0x00, + 0x01, 0x05, 0x01, 0xff, 0x01, 0xf4, 0x02, 0x00, 0x01, 0x02, 0x02, 0xff, + 0x01, 0x10, 0x04, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xa0, 0x03, 0x00, + 0x01, 0x3f, 0x01, 0xff, 0x01, 0x60, 0x02, 0x00, 0x01, 0x01, 0x02, 0xff, + 0x01, 0x30, 0x04, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xa0, 0x02, 0x00, + 0x01, 0x01, 0x01, 0xef, 0x01, 0xf8, 0x03, 0x00, 0x01, 0x02, 0x02, 0xff, + 0x01, 0x20, 0x04, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0xb0, 0x02, 0x00, + 0x01, 0x0d, 0x01, 0xff, 0x01, 0xb0, 0x03, 0x00, 0x01, 0x03, 0x02, 0xff, + 0x01, 0x10, 0x04, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0xc0, 0x02, 0x00, + 0x01, 0xbf, 0x01, 0xfd, 0x04, 0x00, 0x01, 0x04, 0x02, 0xff, 0x05, 0x00, + 0x01, 0x6f, 0x01, 0xff, 0x01, 0xe0, 0x01, 0x00, 0x01, 0x08, 0x01, 0xff, + 0x01, 0xe1, 0x04, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfe, 0x05, 0x00, + 0x01, 0x2f, 0x01, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x6f, 0x01, 0xff, + 0x01, 0x30, 0x04, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xfa, 0x05, 0x00, + 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf6, 0x01, 0x04, 0x01, 0xff, 0x01, 0xf5, + 0x05, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf7, 0x05, 0x00, 0x01, 0x09, + 0x01, 0xff, 0x01, 0xfc, 0x01, 0x2e, 0x01, 0xff, 0x01, 0x70, 0x05, 0x00, + 0x01, 0x5f, 0x01, 0xff, 0x01, 0xf2, 0x05, 0x00, 0x01, 0x03, 0x02, 0xff, + 0x01, 0xef, 0x01, 0xfa, 0x06, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0xb0, + 0x06, 0x00, 0x01, 0xcf, 0x02, 0xff, 0x01, 0xc0, 0x05, 0x00, 0x01, 0x06, + 0x02, 0xff, 0x01, 0x40, 0x06, 0x00, 0x01, 0x2f, 0x02, 0xff, 0x01, 0x20, + 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xfb, 0x07, 0x00, 0x01, 0x0b, + 0x02, 0xff, 0x01, 0xd2, 0x04, 0x00, 0x01, 0x06, 0x02, 0xff, 0x01, 0xe1, + 0x07, 0x00, 0x01, 0x5f, 0x03, 0xff, 0x01, 0x93, 0x02, 0x00, 0x01, 0x05, + 0x01, 0xcf, 0x02, 0xff, 0x01, 0x30, 0x06, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xfb, 0x03, 0xff, 0x01, 0xfd, 0x01, 0xde, 0x03, 0xff, 0x01, 0xe3, + 0x07, 0x00, 0x01, 0x1e, 0x01, 0xff, 0x01, 0x80, 0x01, 0x4d, 0x06, 0xff, + 0x01, 0xfa, 0x01, 0x10, 0x07, 0x00, 0x01, 0xbf, 0x01, 0xfb, 0x02, 0x00, + 0x01, 0x5c, 0x04, 0xff, 0x01, 0xe9, 0x01, 0x30, 0x08, 0x00, 0x01, 0x1c, + 0x01, 0xd0, 0x03, 0x00, 0x01, 0x04, 0x01, 0x67, 0x01, 0x86, 0x01, 0x53, + 0x0b, 0x00, 0x01, 0x10, 0xa8, 0x00, + + /* 10 SML_O_STROKE */ + 0xff, 0x00, 0x15, 0x00, 0x01, 0x02, 0x01, 0x20, 0x0c, 0x00, 0x01, 0x02, + 0x01, 0x32, 0x01, 0x10, 0x02, 0x00, 0x01, 0x1d, 0x01, 0xe3, 0x0a, 0x00, + 0x01, 0x01, 0x01, 0x7c, 0x02, 0xff, 0x01, 0xfd, 0x01, 0x82, 0x01, 0x00, + 0x01, 0xcf, 0x01, 0xf7, 0x0a, 0x00, 0x01, 0x6e, 0x05, 0xff, 0x01, 0x89, + 0x01, 0xff, 0x01, 0xa0, 0x09, 0x00, 0x01, 0x08, 0x07, 0xff, 0x01, 0xfc, + 0x0a, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xfc, 0x01, 0x50, 0x01, 0x00, + 0x01, 0x3a, 0x02, 0xff, 0x01, 0xf1, 0x09, 0x00, 0x01, 0x01, 0x02, 0xff, + 0x01, 0x90, 0x03, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0xf5, 0x09, 0x00, + 0x01, 0x08, 0x01, 0xff, 0x01, 0xfc, 0x03, 0x00, 0x01, 0x01, 0x01, 0xdf, + 0x01, 0xff, 0x01, 0xfd, 0x09, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf3, + 0x03, 0x00, 0x01, 0x0b, 0x03, 0xff, 0x01, 0x30, 0x08, 0x00, 0x01, 0x3f, + 0x01, 0xff, 0x01, 0xd0, 0x03, 0x00, 0x01, 0x9f, 0x01, 0xfa, 0x01, 0x8f, + 0x01, 0xff, 0x01, 0x80, 0x08, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0x80, + 0x02, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xc0, 0x01, 0x3f, 0x01, 0xff, + 0x01, 0xb0, 0x08, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x50, 0x02, 0x00, + 0x01, 0x3f, 0x01, 0xfe, 0x01, 0x10, 0x01, 0x1f, 0x01, 0xff, 0x01, 0xe0, + 0x08, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x40, 0x01, 0x00, 0x01, 0x02, + 0x01, 0xef, 0x01, 0xf3, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf0, + 0x08, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x30, 0x01, 0x00, 0x01, 0x0d, + 0x01, 0xff, 0x01, 0x50, 0x01, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf0, + 0x08, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x30, 0x01, 0x00, 0x01, 0xbf, + 0x01, 0xf8, 0x02, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf0, 0x08, 0x00, + 0x01, 0x9f, 0x01, 0xff, 0x01, 0x40, 0x01, 0x08, 0x01, 0xff, 0x01, 0xb0, + 0x02, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xe0, 0x08, 0x00, 0x01, 0x7f, + 0x01, 0xff, 0x01, 0x60, 0x01, 0x5f, 0x01, 0xfd, 0x03, 0x00, 0x01, 0x3f, + 0x01, 0xff, 0x01, 0xc0, 0x08, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xa3, + 0x01, 0xff, 0x01, 0xe2, 0x03, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0x90, + 0x08, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xfe, 0x01, 0xff, 0x01, 0x40, + 0x03, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x08, 0x00, 0x01, 0x0a, + 0x02, 0xff, 0x01, 0xf6, 0x03, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xfe, + 0x09, 0x00, 0x01, 0x02, 0x02, 0xff, 0x01, 0xb0, 0x03, 0x00, 0x01, 0x2e, + 0x01, 0xff, 0x01, 0xf8, 0x0a, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0xf7, + 0x02, 0x00, 0x01, 0x05, 0x01, 0xef, 0x01, 0xff, 0x01, 0xd0, 0x09, 0x00, + 0x01, 0x04, 0x03, 0xff, 0x01, 0xfc, 0x01, 0xab, 0x01, 0xef, 0x01, 0xff, + 0x01, 0xfe, 0x01, 0x20, 0x09, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xaf, + 0x05, 0xff, 0x01, 0xd2, 0x09, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x01, 0xf5, + 0x01, 0x04, 0x01, 0xbf, 0x03, 0xff, 0x01, 0xd6, 0x0a, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0x70, 0x01, 0x00, 0x01, 0x01, 0x01, 0x46, 0x01, 0x76, + 0x01, 0x52, 0x0c, 0x00, 0x01, 0x28, 0xa9, 0x00, + + /* 11 LRG_AE */ + 0x9e, 0x00, 0x01, 0x14, 0x0b, 0x44, 0x01, 0x41, 0x06, 0x00, 0x01, 0x8f, + 0x0b, 0xff, 0x01, 0xf3, 0x06, 0x00, 0x01, 0xef, 0x0b, 0xff, 0x01, 0xf3, + 0x05, 0x00, 0x01, 0x05, 0x02, 0xff, 0x01, 0xee, 0x09, 0xff, 0x01, 0xf3, + 0x05, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xf5, 0x01, 0x00, 0x01, 0xdf, + 0x01, 0xff, 0x01, 0x63, 0x06, 0x33, 0x01, 0x30, 0x05, 0x00, 0x01, 0x3f, + 0x01, 0xff, 0x01, 0xe0, 0x01, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, + 0x0c, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x80, 0x01, 0x00, 0x01, 0xdf, + 0x01, 0xff, 0x01, 0x40, 0x0b, 0x00, 0x01, 0x01, 0x02, 0xff, 0x01, 0x10, + 0x01, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, 0x0b, 0x00, 0x01, 0x07, + 0x01, 0xff, 0x01, 0xfa, 0x02, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, + 0x0b, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0xf3, 0x02, 0x00, 0x01, 0xdf, + 0x01, 0xff, 0x01, 0x40, 0x0b, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xd0, + 0x02, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, 0x0b, 0x00, 0x01, 0xbf, + 0x01, 0xff, 0x01, 0x60, 0x02, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, + 0x0a, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xfe, 0x03, 0x00, 0x01, 0xdf, + 0x01, 0xff, 0x01, 0x40, 0x0a, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xf9, + 0x03, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xed, 0x06, 0xdd, 0x01, 0x80, + 0x03, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, 0x03, 0x00, 0x01, 0xdf, + 0x08, 0xff, 0x01, 0xa0, 0x03, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xb0, + 0x03, 0x00, 0x01, 0xdf, 0x08, 0xff, 0x01, 0xa0, 0x03, 0x00, 0x01, 0xcf, + 0x01, 0xff, 0x01, 0x40, 0x03, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xa8, + 0x06, 0x88, 0x01, 0x50, 0x02, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfe, + 0x04, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, 0x09, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0xf7, 0x04, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, + 0x09, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0xf4, 0x04, 0x33, 0x01, 0xdf, + 0x01, 0xff, 0x01, 0x40, 0x09, 0x00, 0x01, 0x7f, 0x08, 0xff, 0x01, 0x40, + 0x09, 0x00, 0x01, 0xef, 0x08, 0xff, 0x01, 0x40, 0x08, 0x00, 0x01, 0x05, + 0x09, 0xff, 0x01, 0x40, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xf7, + 0x05, 0x33, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, 0x08, 0x00, 0x01, 0x2f, + 0x01, 0xff, 0x01, 0xe0, 0x05, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, + 0x08, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x80, 0x05, 0x00, 0x01, 0xdf, + 0x01, 0xff, 0x01, 0x40, 0x08, 0x00, 0x02, 0xff, 0x01, 0x20, 0x05, 0x00, + 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, 0x07, 0x00, 0x01, 0x06, 0x01, 0xff, + 0x01, 0xfb, 0x06, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xa8, 0x06, 0x88, + 0x01, 0x85, 0x01, 0x0d, 0x01, 0xff, 0x01, 0xf4, 0x06, 0x00, 0x01, 0xdf, + 0x08, 0xff, 0x01, 0xf9, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xe0, 0x06, 0x00, + 0x01, 0xdf, 0x08, 0xff, 0x01, 0xf9, 0x01, 0x8d, 0x01, 0xdd, 0x01, 0x60, + 0x06, 0x00, 0x01, 0xbd, 0x08, 0xdd, 0x01, 0xd8, 0xbe, 0x00, + + /* 12 SML_AE */ + 0xff, 0x00, 0x22, 0x00, 0x01, 0x01, 0x01, 0x34, 0x01, 0x31, 0x06, 0x00, + 0x01, 0x12, 0x01, 0x42, 0x01, 0x10, 0x05, 0x00, 0x01, 0x02, 0x01, 0x7b, + 0x01, 0xef, 0x02, 0xff, 0x01, 0xfb, 0x01, 0x60, 0x02, 0x00, 0x01, 0x03, + 0x01, 0x9e, 0x02, 0xff, 0x01, 0xfd, 0x01, 0x81, 0x04, 0x00, 0x01, 0xbf, + 0x05, 0xff, 0x01, 0xfe, 0x01, 0x40, 0x01, 0x01, 0x01, 0x9f, 0x05, 0xff, + 0x01, 0x60, 0x03, 0x00, 0x01, 0xdf, 0x02, 0xff, 0x01, 0xee, 0x03, 0xff, + 0x01, 0xf5, 0x01, 0x1d, 0x03, 0xff, 0x01, 0xef, 0x02, 0xff, 0x01, 0xf8, + 0x03, 0x00, 0x01, 0xdf, 0x01, 0xb6, 0x01, 0x30, 0x01, 0x00, 0x01, 0x01, + 0x01, 0x5d, 0x02, 0xff, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xe7, 0x01, 0x20, + 0x01, 0x00, 0x01, 0x29, 0x02, 0xff, 0x01, 0x50, 0x02, 0x00, 0x01, 0x71, + 0x05, 0x00, 0x01, 0xaf, 0x02, 0xff, 0x01, 0xfb, 0x01, 0x10, 0x03, 0x00, + 0x01, 0x4f, 0x01, 0xff, 0x01, 0xe0, 0x08, 0x00, 0x01, 0x0d, 0x02, 0xff, + 0x01, 0xd0, 0x04, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf7, 0x08, 0x00, + 0x01, 0x06, 0x02, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0xef, 0x01, 0xfd, + 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfd, 0x06, 0x00, 0x01, 0x9f, + 0x01, 0xff, 0x04, 0x00, 0x01, 0x02, 0x01, 0x45, 0x02, 0x66, 0x01, 0x67, + 0x01, 0xff, 0x01, 0xf9, 0x06, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x03, 0x00, + 0x01, 0x4a, 0x06, 0xff, 0x01, 0xfb, 0x03, 0x66, 0x01, 0x67, 0x02, 0x77, + 0x01, 0xaf, 0x01, 0xff, 0x02, 0x00, 0x01, 0x1b, 0x10, 0xff, 0x01, 0x00, + 0x01, 0x01, 0x01, 0xdf, 0x02, 0xff, 0x01, 0xca, 0x01, 0x98, 0x01, 0x88, + 0x01, 0x89, 0x0a, 0xff, 0x01, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xfd, + 0x01, 0x40, 0x03, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xfa, 0x08, 0x77, + 0x01, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0xd0, 0x04, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf7, 0x09, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x01, 0x70, + 0x04, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xfa, 0x09, 0x00, 0x01, 0x7f, + 0x01, 0xff, 0x01, 0x30, 0x04, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xfe, + 0x09, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0x30, 0x04, 0x00, 0x01, 0x0f, + 0x02, 0xff, 0x01, 0x50, 0x08, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0x60, + 0x04, 0x00, 0x01, 0x8f, 0x02, 0xff, 0x01, 0xe1, 0x08, 0x00, 0x01, 0x3f, + 0x01, 0xff, 0x01, 0xd0, 0x03, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfe, + 0x01, 0xff, 0x01, 0xfc, 0x01, 0x10, 0x05, 0x00, 0x01, 0x45, 0x01, 0x00, + 0x01, 0x0d, 0x01, 0xff, 0x01, 0xfc, 0x01, 0x20, 0x01, 0x00, 0x01, 0x01, + 0x01, 0x9f, 0x01, 0xff, 0x01, 0xa2, 0x02, 0xff, 0x01, 0xe6, 0x01, 0x10, + 0x02, 0x00, 0x01, 0x02, 0x01, 0x8d, 0x01, 0xf8, 0x01, 0x00, 0x01, 0x05, + 0x02, 0xff, 0x01, 0xfd, 0x01, 0xab, 0x01, 0xcf, 0x01, 0xff, 0x01, 0xfc, + 0x01, 0x00, 0x01, 0x3f, 0x02, 0xff, 0x01, 0xfd, 0x01, 0xba, 0x01, 0xbc, + 0x02, 0xff, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x7f, 0x05, 0xff, 0x01, 0xa0, + 0x01, 0x00, 0x01, 0x02, 0x01, 0xcf, 0x06, 0xff, 0x01, 0xf7, 0x02, 0x00, + 0x01, 0x03, 0x01, 0xbf, 0x03, 0xff, 0x01, 0xb4, 0x03, 0x00, 0x01, 0x05, + 0x01, 0xbf, 0x04, 0xff, 0x01, 0xb7, 0x01, 0x10, 0x03, 0x00, 0x01, 0x01, + 0x01, 0x46, 0x01, 0x76, 0x01, 0x41, 0x06, 0x00, 0x01, 0x35, 0x01, 0x67, + 0x01, 0x64, 0x01, 0x20, 0xad, 0x00, + + /* 13 LRG_ETH */ + 0x9a, 0x00, 0x01, 0x34, 0x03, 0x44, 0x01, 0x43, 0x01, 0x21, 0x0d, 0x00, + 0x01, 0xbf, 0x05, 0xff, 0x01, 0xfe, 0x01, 0xb8, 0x01, 0x40, 0x0a, 0x00, + 0x01, 0xbf, 0x07, 0xff, 0x01, 0xfe, 0x01, 0x81, 0x09, 0x00, 0x01, 0xbf, + 0x08, 0xff, 0x01, 0xfe, 0x01, 0x60, 0x08, 0x00, 0x01, 0xbf, 0x01, 0xff, + 0x01, 0x61, 0x02, 0x11, 0x01, 0x23, 0x01, 0x58, 0x01, 0xcf, 0x02, 0xff, + 0x01, 0xf9, 0x08, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x04, 0x00, + 0x01, 0x02, 0x01, 0x9f, 0x02, 0xff, 0x01, 0x80, 0x07, 0x00, 0x01, 0xbf, + 0x01, 0xff, 0x01, 0x50, 0x05, 0x00, 0x01, 0x04, 0x01, 0xef, 0x01, 0xff, + 0x01, 0xf4, 0x07, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x06, 0x00, + 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfd, 0x07, 0x00, 0x01, 0xbf, 0x01, 0xff, + 0x01, 0x50, 0x06, 0x00, 0x01, 0x06, 0x02, 0xff, 0x01, 0x50, 0x06, 0x00, + 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, 0x01, 0xef, 0x01, 0xff, + 0x01, 0xb0, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, + 0x01, 0x7f, 0x01, 0xff, 0x01, 0xf0, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, + 0x01, 0x50, 0x07, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0xf3, 0x06, 0x00, + 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, 0x01, 0x0f, 0x01, 0xff, + 0x01, 0xf5, 0x04, 0x00, 0x01, 0x23, 0x01, 0x33, 0x01, 0xcf, 0x01, 0xff, + 0x01, 0x73, 0x02, 0x33, 0x01, 0x30, 0x04, 0x00, 0x01, 0x0d, 0x01, 0xff, + 0x01, 0xf6, 0x04, 0x00, 0x01, 0xcf, 0x06, 0xff, 0x01, 0xf2, 0x04, 0x00, + 0x01, 0x0c, 0x01, 0xff, 0x01, 0xf7, 0x04, 0x00, 0x01, 0xcf, 0x06, 0xff, + 0x01, 0xf2, 0x04, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xf9, 0x04, 0x00, + 0x01, 0x9b, 0x01, 0xbb, 0x01, 0xef, 0x01, 0xff, 0x01, 0xdb, 0x02, 0xbb, + 0x01, 0xb1, 0x04, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, + 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, 0x01, 0x0d, 0x01, 0xff, + 0x01, 0xf7, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, + 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf6, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, + 0x01, 0x50, 0x07, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0xf4, 0x06, 0x00, + 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, 0x01, 0x5f, 0x01, 0xff, + 0x01, 0xf1, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, + 0x01, 0xaf, 0x01, 0xff, 0x01, 0xd0, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, + 0x01, 0x50, 0x06, 0x00, 0x01, 0x01, 0x02, 0xff, 0x01, 0x80, 0x06, 0x00, + 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x06, 0x00, 0x01, 0x0b, 0x02, 0xff, + 0x01, 0x20, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x06, 0x00, + 0x01, 0x8f, 0x01, 0xff, 0x01, 0xf9, 0x07, 0x00, 0x01, 0xbf, 0x01, 0xff, + 0x01, 0x50, 0x05, 0x00, 0x01, 0x0a, 0x02, 0xff, 0x01, 0xe1, 0x07, 0x00, + 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x04, 0x00, 0x01, 0x29, 0x03, 0xff, + 0x01, 0x30, 0x07, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0xa7, 0x01, 0x77, + 0x01, 0x78, 0x01, 0x9a, 0x01, 0xbf, 0x03, 0xff, 0x01, 0xe3, 0x08, 0x00, + 0x01, 0xbf, 0x08, 0xff, 0x01, 0xf9, 0x01, 0x10, 0x08, 0x00, 0x01, 0xbf, + 0x07, 0xff, 0x01, 0xd8, 0x01, 0x10, 0x09, 0x00, 0x01, 0xad, 0x03, 0xdd, + 0x01, 0xdc, 0x01, 0xcb, 0x01, 0xa7, 0x01, 0x41, 0xc7, 0x00, + + /* 14 SML_ETH */ + 0x88, 0x00, 0x01, 0x38, 0x01, 0x88, 0x01, 0x81, 0x10, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0xfc, 0x03, 0x00, 0x01, 0x5a, 0x01, 0x40, 0x0c, 0x00, + 0x01, 0xdf, 0x01, 0xff, 0x01, 0xb0, 0x01, 0x04, 0x01, 0xaf, 0x01, 0xff, + 0x01, 0xa0, 0x0c, 0x00, 0x01, 0x1e, 0x01, 0xff, 0x01, 0xfc, 0x02, 0xff, + 0x01, 0xd8, 0x01, 0x20, 0x0c, 0x00, 0x01, 0x07, 0x02, 0xff, 0x01, 0xfd, + 0x01, 0x82, 0x0d, 0x00, 0x01, 0x5a, 0x03, 0xff, 0x01, 0xf4, 0x0d, 0x00, + 0x01, 0x7f, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x87, 0x02, 0xff, 0x01, 0x30, + 0x0c, 0x00, 0x01, 0x6f, 0x01, 0xe9, 0x01, 0x30, 0x01, 0x00, 0x01, 0x8f, + 0x01, 0xff, 0x01, 0xe2, 0x0c, 0x00, 0x01, 0x03, 0x03, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0xfd, 0x01, 0x10, 0x0e, 0x00, 0x01, 0x23, 0x01, 0x44, + 0x01, 0xdf, 0x01, 0xff, 0x01, 0xb0, 0x0c, 0x00, 0x01, 0x02, 0x01, 0x9e, + 0x04, 0xff, 0x01, 0xf7, 0x0c, 0x00, 0x01, 0x7f, 0x06, 0xff, 0x01, 0x30, + 0x0a, 0x00, 0x01, 0x09, 0x02, 0xff, 0x01, 0xfe, 0x01, 0xcb, 0x01, 0xdf, + 0x02, 0xff, 0x01, 0xd0, 0x0a, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xfb, + 0x01, 0x30, 0x02, 0x00, 0x01, 0x4e, 0x01, 0xff, 0x01, 0xf5, 0x09, 0x00, + 0x01, 0x02, 0x02, 0xff, 0x01, 0x70, 0x03, 0x00, 0x01, 0x05, 0x01, 0xff, + 0x01, 0xfd, 0x09, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xfa, 0x05, 0x00, + 0x01, 0xef, 0x01, 0xff, 0x01, 0x20, 0x08, 0x00, 0x01, 0x0f, 0x01, 0xff, + 0x01, 0xf1, 0x05, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x4f, 0x01, 0xff, 0x01, 0xa0, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, + 0x01, 0xb0, 0x08, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0x70, 0x05, 0x00, + 0x01, 0x1f, 0x01, 0xff, 0x01, 0xd0, 0x08, 0x00, 0x01, 0x9f, 0x01, 0xff, + 0x01, 0x40, 0x05, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf0, 0x08, 0x00, + 0x01, 0xaf, 0x01, 0xff, 0x01, 0x30, 0x05, 0x00, 0x01, 0x0e, 0x01, 0xff, + 0x01, 0xf0, 0x08, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x30, 0x05, 0x00, + 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf0, 0x08, 0x00, 0x01, 0x9f, 0x01, 0xff, + 0x01, 0x40, 0x05, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xe0, 0x08, 0x00, + 0x01, 0x8f, 0x01, 0xff, 0x01, 0x70, 0x05, 0x00, 0x01, 0x2f, 0x01, 0xff, + 0x01, 0xd0, 0x08, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xa0, 0x05, 0x00, + 0x01, 0x6f, 0x01, 0xff, 0x01, 0x90, 0x08, 0x00, 0x01, 0x0f, 0x01, 0xff, + 0x01, 0xf1, 0x05, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x08, 0x00, + 0x01, 0x09, 0x01, 0xff, 0x01, 0xf9, 0x04, 0x00, 0x01, 0x05, 0x01, 0xff, + 0x01, 0xfe, 0x09, 0x00, 0x01, 0x02, 0x02, 0xff, 0x01, 0x60, 0x03, 0x00, + 0x01, 0x3e, 0x01, 0xff, 0x01, 0xf6, 0x0a, 0x00, 0x01, 0x7f, 0x01, 0xff, + 0x01, 0xf9, 0x01, 0x20, 0x01, 0x00, 0x01, 0x07, 0x02, 0xff, 0x01, 0xb0, + 0x0a, 0x00, 0x01, 0x09, 0x02, 0xff, 0x01, 0xfd, 0x01, 0xbd, 0x02, 0xff, + 0x01, 0xfd, 0x01, 0x10, 0x0b, 0x00, 0x01, 0x7f, 0x05, 0xff, 0x01, 0xb0, + 0x0c, 0x00, 0x01, 0x02, 0x01, 0xae, 0x03, 0xff, 0x01, 0xb4, 0x0f, 0x00, + 0x01, 0x35, 0x01, 0x65, 0x01, 0x40, 0xb6, 0x00, + + /* 15 LRG_THORN */ + 0x9a, 0x00, 0x02, 0x55, 0x11, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, + 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, + 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, + 0x05, 0xff, 0x01, 0xed, 0x01, 0xa7, 0x01, 0x10, 0x0b, 0x00, 0x07, 0xff, + 0x01, 0xfa, 0x01, 0x10, 0x0a, 0x00, 0x08, 0xff, 0x01, 0xe2, 0x0a, 0x00, + 0x02, 0xff, 0x01, 0x65, 0x01, 0x55, 0x01, 0x56, 0x01, 0x7a, 0x02, 0xff, + 0x01, 0xfe, 0x01, 0x10, 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, 0x03, 0x00, + 0x01, 0x1b, 0x02, 0xff, 0x01, 0x80, 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, + 0x04, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0xf0, 0x09, 0x00, 0x02, 0xff, + 0x01, 0x20, 0x04, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xf3, 0x09, 0x00, + 0x02, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf6, + 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0d, 0x01, 0xff, + 0x01, 0xf7, 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0d, + 0x01, 0xff, 0x01, 0xf7, 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, 0x04, 0x00, + 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf6, 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, + 0x04, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xf3, 0x09, 0x00, 0x02, 0xff, + 0x01, 0x20, 0x04, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0xf0, 0x09, 0x00, + 0x02, 0xff, 0x01, 0x20, 0x03, 0x00, 0x01, 0x1b, 0x02, 0xff, 0x01, 0x80, + 0x09, 0x00, 0x02, 0xff, 0x01, 0x65, 0x02, 0x55, 0x01, 0x7a, 0x02, 0xff, + 0x01, 0xfe, 0x01, 0x10, 0x09, 0x00, 0x08, 0xff, 0x01, 0xe2, 0x0a, 0x00, + 0x07, 0xff, 0x01, 0xfa, 0x01, 0x10, 0x0a, 0x00, 0x05, 0xff, 0x01, 0xed, + 0x01, 0xa7, 0x01, 0x10, 0x0b, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, + 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, + 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, + 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, 0x02, 0xcc, 0x01, 0x10, 0xcc, 0x00, + + /* 16 SML_THORN */ + 0x86, 0x00, 0x01, 0x02, 0x01, 0x99, 0x01, 0x94, 0x10, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, + 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, + 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, + 0x02, 0x00, 0x01, 0x13, 0x01, 0x54, 0x01, 0x20, 0x0b, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf7, 0x01, 0x00, 0x01, 0x5c, 0x02, 0xff, 0x01, 0xfd, + 0x01, 0x70, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x01, 0x0b, + 0x04, 0xff, 0x01, 0xfd, 0x01, 0x20, 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf7, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xec, 0x01, 0xdf, 0x02, 0xff, + 0x01, 0xe1, 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfd, 0x01, 0xff, + 0x01, 0xc3, 0x02, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xfc, 0x09, 0x00, + 0x01, 0x03, 0x02, 0xff, 0x01, 0xfa, 0x03, 0x00, 0x01, 0x02, 0x01, 0xef, + 0x01, 0xff, 0x01, 0x60, 0x08, 0x00, 0x01, 0x03, 0x02, 0xff, 0x01, 0xe0, + 0x04, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x01, 0xd0, 0x08, 0x00, 0x01, 0x03, + 0x02, 0xff, 0x01, 0x60, 0x04, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xf3, + 0x08, 0x00, 0x01, 0x03, 0x02, 0xff, 0x05, 0x00, 0x01, 0x06, 0x01, 0xff, + 0x01, 0xf7, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfc, 0x05, 0x00, + 0x01, 0x02, 0x01, 0xff, 0x01, 0xfb, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf9, 0x06, 0x00, 0x01, 0xff, 0x01, 0xfd, 0x08, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, 0x01, 0xef, 0x01, 0xfe, 0x08, 0x00, + 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, 0x01, 0xef, 0x01, 0xff, + 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, 0x01, 0xef, + 0x01, 0xfe, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf9, 0x06, 0x00, + 0x01, 0xff, 0x01, 0xfd, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfc, + 0x05, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xfb, 0x08, 0x00, 0x01, 0x03, + 0x02, 0xff, 0x05, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf8, 0x08, 0x00, + 0x01, 0x03, 0x02, 0xff, 0x01, 0x60, 0x04, 0x00, 0x01, 0x0c, 0x01, 0xff, + 0x01, 0xf3, 0x08, 0x00, 0x01, 0x03, 0x02, 0xff, 0x01, 0xd0, 0x04, 0x00, + 0x01, 0x5f, 0x01, 0xff, 0x01, 0xd0, 0x08, 0x00, 0x01, 0x03, 0x02, 0xff, + 0x01, 0xfa, 0x03, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0x60, + 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfd, 0x01, 0xff, 0x01, 0xb3, + 0x02, 0x00, 0x01, 0x6e, 0x01, 0xff, 0x01, 0xfc, 0x09, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf7, 0x01, 0xbf, 0x01, 0xff, 0x01, 0xec, 0x01, 0xcf, + 0x02, 0xff, 0x01, 0xe2, 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, + 0x01, 0x0b, 0x04, 0xff, 0x01, 0xfd, 0x01, 0x20, 0x09, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf7, 0x01, 0x00, 0x01, 0x6c, 0x02, 0xff, 0x01, 0xfe, + 0x01, 0x70, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x02, 0x00, + 0x01, 0x23, 0x01, 0x54, 0x01, 0x20, 0x0b, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, + 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, + 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, + 0x01, 0xf7, 0x10, 0x00, 0x01, 0x01, 0x01, 0x66, 0x01, 0x63, 0x22, 0x00, +#endif // TOUCH_UI_UTF8_SCANDINAVIAN + +#if ENABLED(TOUCH_UI_UTF8_PUNCTUATION) + /* 17 LEFT_DBL_QUOTE */ + 0xff, 0x00, 0x4a, 0x00, 0x01, 0x30, 0x03, 0x00, 0x01, 0x02, 0x0d, 0x00, + 0x01, 0x08, 0x01, 0xa0, 0x02, 0x00, 0x01, 0x01, 0x01, 0xc6, 0x0d, 0x00, + 0x01, 0xaf, 0x01, 0xa0, 0x02, 0x00, 0x01, 0x1d, 0x01, 0xf6, 0x0c, 0x00, + 0x01, 0x1c, 0x01, 0xff, 0x01, 0xa0, 0x01, 0x00, 0x01, 0x02, 0x01, 0xef, + 0x01, 0xf6, 0x0b, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x50, + 0x01, 0x00, 0x01, 0x3e, 0x01, 0xff, 0x01, 0xe2, 0x0b, 0x00, 0x01, 0x2e, + 0x01, 0xff, 0x01, 0xf4, 0x01, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xfd, + 0x01, 0x20, 0x0a, 0x00, 0x01, 0x04, 0x01, 0xef, 0x01, 0xfe, 0x01, 0x30, + 0x01, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xd1, 0x0b, 0x00, 0x01, 0x5f, + 0x01, 0xff, 0x01, 0xd2, 0x01, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xfb, + 0x0b, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfc, 0x01, 0x10, 0x01, 0x00, + 0x01, 0xaf, 0x01, 0xff, 0x01, 0xa0, 0x0b, 0x00, 0x01, 0x0c, 0x01, 0xff, + 0x01, 0xd0, 0x02, 0x00, 0x01, 0xff, 0x01, 0xfa, 0x0c, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0xf8, 0x02, 0x00, 0x01, 0xef, 0x01, 0xff, 0x01, 0x50, + 0x0c, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xa0, 0x01, 0x00, 0x01, 0x1c, + 0x01, 0xff, 0x01, 0xf6, 0x0c, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xfb, + 0x02, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x90, 0x0c, 0x00, 0x01, 0x6f, + 0x01, 0xff, 0x01, 0xd1, 0x01, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xfa, + 0x0c, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x20, 0x01, 0x00, + 0x01, 0x8f, 0x01, 0xff, 0x01, 0xb0, 0x0c, 0x00, 0x01, 0x4f, 0x01, 0xff, + 0x01, 0xa0, 0x01, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf6, 0x0c, 0x00, + 0x01, 0x02, 0x01, 0xef, 0x01, 0xa0, 0x02, 0x00, 0x01, 0x5f, 0x01, 0xf6, + 0x0d, 0x00, 0x01, 0x1d, 0x01, 0xa0, 0x02, 0x00, 0x01, 0x04, 0x01, 0xe6, + 0x0d, 0x00, 0x01, 0x01, 0x01, 0x60, 0x03, 0x00, 0x01, 0x24, 0xff, 0x00, + + /* 18 RIGHT_DBL_QUOTE */ + 0xff, 0x00, 0x46, 0x00, 0x01, 0x20, 0x03, 0x00, 0x01, 0x20, 0x0d, 0x00, + 0x01, 0x01, 0x01, 0xe3, 0x03, 0x00, 0x01, 0x5d, 0x01, 0x10, 0x0c, 0x00, + 0x01, 0x01, 0x01, 0xff, 0x01, 0x50, 0x02, 0x00, 0x01, 0x5f, 0x01, 0xe2, + 0x0c, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf6, 0x02, 0x00, 0x01, 0x5f, + 0x01, 0xfe, 0x01, 0x30, 0x0c, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x80, + 0x01, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xf5, 0x0c, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0xfa, 0x01, 0x00, 0x01, 0x01, 0x01, 0xcf, 0x01, 0xff, + 0x01, 0x60, 0x0c, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0xb0, 0x01, 0x00, + 0x01, 0x0b, 0x01, 0xff, 0x01, 0xf9, 0x0c, 0x00, 0x01, 0x06, 0x01, 0xff, + 0x01, 0xfc, 0x01, 0x10, 0x01, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xa0, + 0x0c, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x01, 0xd1, 0x01, 0x00, 0x01, 0x08, + 0x01, 0xff, 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xf5, + 0x02, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x10, 0x0b, 0x00, 0x01, 0x2d, + 0x01, 0xff, 0x01, 0xf3, 0x01, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xfe, + 0x01, 0x10, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xef, 0x01, 0xff, 0x01, 0x40, + 0x01, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x01, 0xd2, 0x0b, 0x00, 0x01, 0x4f, + 0x01, 0xff, 0x01, 0xe3, 0x01, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfc, + 0x01, 0x10, 0x0a, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x10, + 0x01, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0xb0, 0x0b, 0x00, 0x01, 0x6f, + 0x01, 0xff, 0x01, 0xc1, 0x01, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf9, + 0x0b, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x5f, + 0x01, 0xff, 0x01, 0x70, 0x0b, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0x90, + 0x02, 0x00, 0x01, 0x5f, 0x01, 0xf6, 0x0c, 0x00, 0x01, 0x01, 0x01, 0xf8, + 0x03, 0x00, 0x01, 0x5f, 0x01, 0x40, 0x0c, 0x00, 0x01, 0x01, 0x01, 0x50, + 0x03, 0x00, 0x01, 0x43, 0xff, 0x00, 0x04, 0x00, + + /* 19 INV_EXCLAMATION */ + 0xff, 0x00, 0x34, 0x00, 0x01, 0xad, 0x01, 0xdd, 0x01, 0x40, 0x10, 0x00, + 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, + 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, + 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0x34, 0x01, 0x44, + 0x01, 0x10, 0x49, 0x00, 0x01, 0x02, 0x01, 0x22, 0x11, 0x00, 0x01, 0x6f, + 0x01, 0xff, 0x11, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x11, 0x00, 0x01, 0x7f, + 0x01, 0xff, 0x01, 0x10, 0x10, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0x20, + 0x10, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x30, 0x10, 0x00, 0x01, 0xaf, + 0x01, 0xff, 0x01, 0x30, 0x10, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x40, + 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, + 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, + 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, + 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, + 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, + 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, + 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, + 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, + 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0x34, + 0x01, 0x44, 0x01, 0x10, 0x33, 0x00, + + /* 20 INV_QUESTION */ + 0xff, 0x00, 0x36, 0x00, 0x02, 0xdd, 0x11, 0x00, 0x02, 0xff, 0x11, 0x00, + 0x02, 0xff, 0x11, 0x00, 0x02, 0xff, 0x11, 0x00, 0x02, 0xff, 0x11, 0x00, + 0x02, 0x44, 0x37, 0x00, 0x01, 0xbc, 0x01, 0xcb, 0x11, 0x00, 0x01, 0xef, + 0x01, 0xfe, 0x11, 0x00, 0x01, 0xef, 0x01, 0xfe, 0x11, 0x00, 0x01, 0xef, + 0x01, 0xfe, 0x11, 0x00, 0x01, 0xff, 0x01, 0xfd, 0x10, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xfb, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xf6, + 0x10, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xd0, 0x0f, 0x00, 0x01, 0x0a, + 0x02, 0xff, 0x01, 0x30, 0x0f, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xf4, + 0x0f, 0x00, 0x01, 0x09, 0x02, 0xff, 0x01, 0x40, 0x0f, 0x00, 0x01, 0x7f, + 0x01, 0xff, 0x01, 0xf4, 0x0f, 0x00, 0x01, 0x03, 0x02, 0xff, 0x01, 0x40, + 0x0f, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf8, 0x10, 0x00, 0x01, 0x0f, + 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0xf0, + 0x10, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0e, + 0x01, 0xff, 0x01, 0xf8, 0x04, 0x00, 0x01, 0x05, 0x01, 0xd0, 0x0a, 0x00, + 0x01, 0x08, 0x02, 0xff, 0x01, 0x70, 0x02, 0x00, 0x01, 0x05, 0x01, 0xcf, + 0x01, 0xf0, 0x0a, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0xff, 0x01, 0xfe, + 0x01, 0x98, 0x01, 0x8b, 0x02, 0xff, 0x01, 0xf0, 0x0b, 0x00, 0x01, 0x3f, + 0x06, 0xff, 0x01, 0xc0, 0x0b, 0x00, 0x01, 0x02, 0x01, 0xcf, 0x04, 0xff, + 0x01, 0xc5, 0x0d, 0x00, 0x01, 0x03, 0x01, 0x8b, 0x01, 0xcc, 0x01, 0xb9, + 0x01, 0x62, 0x31, 0x00, +#endif // TOUCH_UI_UTF8_PUNCTUATION + +#if ENABLED(TOUCH_UI_UTF8_CURRENCY) + /* 21 CENT_SIGN */ + 0xb1, 0x00, 0x01, 0x01, 0x01, 0x32, 0x11, 0x00, 0x01, 0x05, 0x01, 0xfb, + 0x11, 0x00, 0x01, 0x05, 0x01, 0xfb, 0x11, 0x00, 0x01, 0x05, 0x01, 0xfb, + 0x11, 0x00, 0x01, 0x05, 0x01, 0xfc, 0x11, 0x00, 0x01, 0x05, 0x01, 0xfc, + 0x11, 0x00, 0x01, 0x39, 0x01, 0xfd, 0x01, 0x42, 0x0e, 0x00, 0x01, 0x05, + 0x01, 0xbf, 0x03, 0xff, 0x01, 0xfb, 0x01, 0x50, 0x0b, 0x00, 0x01, 0x03, + 0x01, 0xcf, 0x05, 0xff, 0x01, 0xf6, 0x0b, 0x00, 0x01, 0x4f, 0x02, 0xff, + 0x02, 0xfe, 0x01, 0xce, 0x01, 0xff, 0x01, 0xf6, 0x0a, 0x00, 0x01, 0x02, + 0x02, 0xff, 0x01, 0xe6, 0x01, 0x05, 0x01, 0xfc, 0x01, 0x00, 0x01, 0x38, + 0x01, 0xe6, 0x0a, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x10, + 0x01, 0x05, 0x01, 0xfc, 0x02, 0x00, 0x01, 0x02, 0x0a, 0x00, 0x01, 0x5f, + 0x01, 0xff, 0x01, 0xe1, 0x01, 0x00, 0x01, 0x05, 0x01, 0xfc, 0x0d, 0x00, + 0x01, 0xcf, 0x01, 0xff, 0x01, 0x60, 0x01, 0x00, 0x01, 0x05, 0x01, 0xfc, + 0x0d, 0x00, 0x02, 0xff, 0x02, 0x00, 0x01, 0x05, 0x01, 0xfc, 0x0c, 0x00, + 0x01, 0x04, 0x01, 0xff, 0x01, 0xfb, 0x02, 0x00, 0x01, 0x05, 0x01, 0xfc, + 0x0c, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x05, + 0x01, 0xfc, 0x0c, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf7, 0x02, 0x00, + 0x01, 0x05, 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xf6, + 0x02, 0x00, 0x01, 0x05, 0x01, 0xfc, 0x0c, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf7, 0x02, 0x00, 0x01, 0x05, 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x06, + 0x01, 0xff, 0x01, 0xf9, 0x02, 0x00, 0x01, 0x05, 0x01, 0xfb, 0x0c, 0x00, + 0x01, 0x03, 0x01, 0xff, 0x01, 0xfc, 0x02, 0x00, 0x01, 0x05, 0x01, 0xfb, + 0x0d, 0x00, 0x02, 0xff, 0x01, 0x10, 0x01, 0x00, 0x01, 0x05, 0x01, 0xfb, + 0x0d, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x80, 0x01, 0x00, 0x01, 0x05, + 0x01, 0xfb, 0x0d, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xf3, 0x01, 0x00, + 0x01, 0x05, 0x01, 0xfb, 0x0d, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xfe, + 0x01, 0x30, 0x01, 0x05, 0x01, 0xfb, 0x02, 0x00, 0x01, 0x33, 0x0a, 0x00, + 0x01, 0x01, 0x01, 0xef, 0x01, 0xff, 0x01, 0xf9, 0x01, 0x35, 0x01, 0xfb, + 0x01, 0x02, 0x01, 0x6c, 0x01, 0xf6, 0x0b, 0x00, 0x01, 0x2d, 0x06, 0xff, + 0x01, 0xf6, 0x0b, 0x00, 0x01, 0x01, 0x01, 0x9f, 0x05, 0xff, 0x01, 0xf5, + 0x0c, 0x00, 0x01, 0x02, 0x01, 0x8d, 0x03, 0xff, 0x01, 0xc7, 0x01, 0x20, + 0x0e, 0x00, 0x01, 0x06, 0x01, 0xfc, 0x01, 0x20, 0x10, 0x00, 0x01, 0x05, + 0x01, 0xfb, 0x11, 0x00, 0x01, 0x05, 0x01, 0xfb, 0x11, 0x00, 0x01, 0x05, + 0x01, 0xfb, 0x11, 0x00, 0x01, 0x05, 0x01, 0xfb, 0x11, 0x00, 0x01, 0x05, + 0x01, 0xfb, 0x57, 0x00, + + /* 22 POUND_SIGN */ + 0x9e, 0x00, 0x01, 0x6b, 0x01, 0xdf, 0x01, 0xfd, 0x01, 0xc9, 0x01, 0x40, + 0x0d, 0x00, 0x01, 0x6e, 0x05, 0xff, 0x01, 0x30, 0x0b, 0x00, 0x01, 0x07, + 0x06, 0xff, 0x01, 0x30, 0x0b, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0xfe, + 0x01, 0x85, 0x01, 0x34, 0x01, 0x7b, 0x01, 0xff, 0x01, 0x30, 0x0b, 0x00, + 0x01, 0xaf, 0x01, 0xff, 0x01, 0xc1, 0x03, 0x00, 0x01, 0x18, 0x01, 0x30, + 0x0a, 0x00, 0x01, 0x01, 0x02, 0xff, 0x01, 0x30, 0x0f, 0x00, 0x01, 0x04, + 0x01, 0xff, 0x01, 0xfd, 0x10, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xfa, + 0x10, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xf8, 0x10, 0x00, 0x01, 0x09, + 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, + 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, + 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, 0x0e, 0x00, 0x01, 0x0a, + 0x07, 0xff, 0x01, 0xf4, 0x0a, 0x00, 0x01, 0x0a, 0x07, 0xff, 0x01, 0xf4, + 0x0a, 0x00, 0x01, 0x08, 0x01, 0xdd, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xfe, + 0x03, 0xdd, 0x01, 0xd4, 0x0c, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, + 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, + 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, + 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0xf6, 0x0e, 0x00, 0x01, 0x4b, 0x01, 0xbb, 0x01, 0xbe, + 0x01, 0xff, 0x01, 0xfd, 0x05, 0xbb, 0x01, 0x70, 0x08, 0x00, 0x01, 0x6f, + 0x09, 0xff, 0x01, 0xa0, 0x08, 0x00, 0x01, 0x6f, 0x09, 0xff, 0x01, 0xa0, + 0x08, 0x00, 0x01, 0x4a, 0x09, 0xaa, 0x01, 0x60, 0xc5, 0x00, + + /* 23 CURRENCY_SIGN */ + 0xff, 0x00, 0x0d, 0x00, 0x01, 0x30, 0x07, 0x00, 0x01, 0x01, 0x01, 0x40, + 0x08, 0x00, 0x01, 0x0b, 0x01, 0xf5, 0x07, 0x00, 0x01, 0x1d, 0x01, 0xf4, + 0x08, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x01, + 0x01, 0xdf, 0x01, 0xff, 0x01, 0x30, 0x07, 0x00, 0x01, 0x5f, 0x01, 0xff, + 0x01, 0xf4, 0x01, 0x00, 0x01, 0x6b, 0x01, 0xdd, 0x01, 0xc8, 0x01, 0x20, + 0x01, 0x1d, 0x01, 0xff, 0x01, 0xfa, 0x08, 0x00, 0x01, 0x05, 0x02, 0xff, + 0x01, 0x8e, 0x03, 0xff, 0x01, 0xfa, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xa0, + 0x09, 0x00, 0x01, 0x5f, 0x07, 0xff, 0x01, 0xfa, 0x0a, 0x00, 0x01, 0x05, + 0x02, 0xff, 0x01, 0xe9, 0x01, 0x55, 0x01, 0x7c, 0x02, 0xff, 0x01, 0xa0, + 0x0a, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfb, 0x01, 0x10, 0x02, 0x00, + 0x01, 0x6f, 0x01, 0xff, 0x01, 0xa0, 0x0a, 0x00, 0x01, 0x0b, 0x01, 0xff, + 0x01, 0xc0, 0x03, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf2, 0x0a, 0x00, + 0x01, 0x1f, 0x01, 0xff, 0x01, 0x30, 0x04, 0x00, 0x01, 0xdf, 0x01, 0xf7, + 0x0a, 0x00, 0x01, 0x4f, 0x01, 0xfd, 0x05, 0x00, 0x01, 0x8f, 0x01, 0xfa, + 0x0a, 0x00, 0x01, 0x6f, 0x01, 0xfc, 0x05, 0x00, 0x01, 0x6f, 0x01, 0xfc, + 0x0a, 0x00, 0x01, 0x5f, 0x01, 0xfc, 0x05, 0x00, 0x01, 0x7f, 0x01, 0xfb, + 0x0a, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0x10, 0x04, 0x00, 0x01, 0xbf, + 0x01, 0xf8, 0x0a, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0x80, 0x03, 0x00, + 0x01, 0x03, 0x01, 0xff, 0x01, 0xf3, 0x0a, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf5, 0x03, 0x00, 0x01, 0x1d, 0x01, 0xff, 0x01, 0xc0, 0x0a, 0x00, + 0x01, 0x01, 0x02, 0xff, 0x01, 0x92, 0x01, 0x00, 0x01, 0x16, 0x01, 0xef, + 0x01, 0xff, 0x01, 0x60, 0x0a, 0x00, 0x01, 0x1d, 0x03, 0xff, 0x01, 0xfe, + 0x03, 0xff, 0x01, 0xf4, 0x09, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x05, 0xff, + 0x01, 0xfe, 0x02, 0xff, 0x01, 0x40, 0x08, 0x00, 0x01, 0x1d, 0x01, 0xff, + 0x01, 0xfa, 0x01, 0x06, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xfe, 0x01, 0x81, + 0x01, 0x5f, 0x01, 0xff, 0x01, 0xf4, 0x08, 0x00, 0x01, 0xcf, 0x01, 0xff, + 0x01, 0xa0, 0x01, 0x00, 0x01, 0x01, 0x01, 0x44, 0x01, 0x20, 0x01, 0x00, + 0x01, 0x05, 0x02, 0xff, 0x01, 0x20, 0x07, 0x00, 0x01, 0x4f, 0x01, 0xfa, + 0x07, 0x00, 0x01, 0x4f, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x05, 0x01, 0xa0, + 0x07, 0x00, 0x01, 0x05, 0x01, 0x80, 0xeb, 0x00, + + /* 24 YEN_SIGN */ + 0x98, 0x00, 0x01, 0x01, 0x01, 0x88, 0x01, 0x85, 0x07, 0x00, 0x01, 0x38, + 0x01, 0x88, 0x01, 0x40, 0x07, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x10, + 0x06, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x10, 0x07, 0x00, 0x01, 0x3f, + 0x01, 0xff, 0x01, 0x90, 0x05, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xf8, + 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xf2, 0x05, 0x00, 0x01, 0x0d, + 0x01, 0xff, 0x01, 0xe0, 0x08, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xfa, + 0x05, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0x60, 0x09, 0x00, 0x01, 0xaf, + 0x01, 0xff, 0x01, 0x30, 0x04, 0x00, 0x01, 0xef, 0x01, 0xfd, 0x0a, 0x00, + 0x01, 0x1f, 0x01, 0xff, 0x01, 0xc0, 0x03, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf5, 0x0a, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xf4, 0x03, 0x00, + 0x01, 0x1f, 0x01, 0xff, 0x01, 0xc0, 0x0a, 0x00, 0x01, 0x01, 0x01, 0xef, + 0x01, 0xfd, 0x03, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x40, 0x0b, 0x00, + 0x01, 0x7f, 0x01, 0xff, 0x01, 0x50, 0x01, 0x00, 0x01, 0x02, 0x01, 0xff, + 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xe0, 0x01, 0x00, + 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf3, 0x0c, 0x00, 0x01, 0x06, 0x01, 0xff, + 0x01, 0xf7, 0x01, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xa0, 0x0a, 0x00, + 0x01, 0x2a, 0x02, 0xaa, 0x01, 0xff, 0x01, 0xfe, 0x01, 0x10, 0x01, 0xbf, + 0x01, 0xff, 0x01, 0xca, 0x01, 0xaa, 0x01, 0xa5, 0x08, 0x00, 0x01, 0x4f, + 0x04, 0xff, 0x01, 0x83, 0x04, 0xff, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x3c, + 0x02, 0xcc, 0x01, 0xce, 0x01, 0xff, 0x01, 0xfd, 0x01, 0xff, 0x01, 0xfc, + 0x02, 0xcc, 0x01, 0xc6, 0x0b, 0x00, 0x01, 0x03, 0x03, 0xff, 0x01, 0x70, + 0x0f, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xfe, 0x10, 0x00, 0x01, 0x2f, + 0x01, 0xff, 0x01, 0xf5, 0x0c, 0x00, 0x01, 0x01, 0x03, 0x11, 0x01, 0x1e, + 0x01, 0xff, 0x01, 0xf3, 0x03, 0x11, 0x01, 0x10, 0x08, 0x00, 0x01, 0x4f, + 0x09, 0xff, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x4f, 0x09, 0xff, 0x01, 0xf8, + 0x08, 0x00, 0x01, 0x27, 0x03, 0x77, 0x01, 0x7e, 0x01, 0xff, 0x01, 0xf8, + 0x03, 0x77, 0x01, 0x73, 0x0c, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, + 0x10, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0e, + 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, + 0x10, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0e, + 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, + 0x10, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x08, + 0x01, 0x99, 0x01, 0x91, 0xc9, 0x00, +#endif // TOUCH_UI_UTF8_CURRENCY + +#if ENABLED(TOUCH_UI_UTF8_SUPERSCRIPTS) + /* 25 SUPERSCRIPT_ONE */ + 0x99, 0x00, 0x01, 0x01, 0x01, 0x36, 0x01, 0x9b, 0x01, 0xbb, 0x01, 0x20, + 0x0e, 0x00, 0x01, 0x3f, 0x03, 0xff, 0x01, 0x20, 0x0e, 0x00, 0x01, 0x3f, + 0x01, 0xfe, 0x01, 0xbe, 0x01, 0xff, 0x01, 0x20, 0x0e, 0x00, 0x01, 0x14, + 0x01, 0x10, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, + 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, + 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, + 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0x20, 0x0f, 0x00, 0x01, 0x11, 0x01, 0x1c, 0x01, 0xff, + 0x01, 0x31, 0x01, 0x11, 0x0d, 0x00, 0x01, 0x0d, 0x05, 0xff, 0x01, 0x40, + 0x0c, 0x00, 0x01, 0x0d, 0x05, 0xff, 0x01, 0x40, 0x0c, 0x00, 0x01, 0x01, + 0x05, 0x22, 0xff, 0x00, 0xc2, 0x00, + + /* 26 SUPERSCRIPT_TWO */ + 0x88, 0x00, 0x01, 0x01, 0x10, 0x00, 0x01, 0x16, 0x01, 0xae, 0x01, 0xff, + 0x01, 0xfd, 0x01, 0x92, 0x0e, 0x00, 0x05, 0xff, 0x01, 0x60, 0x0d, 0x00, + 0x01, 0xfe, 0x01, 0x84, 0x01, 0x22, 0x01, 0x5c, 0x01, 0xff, 0x01, 0xf3, + 0x0d, 0x00, 0x01, 0x50, 0x03, 0x00, 0x01, 0xcf, 0x01, 0xfa, 0x11, 0x00, + 0x01, 0x5f, 0x01, 0xfc, 0x11, 0x00, 0x01, 0x5f, 0x01, 0xfb, 0x11, 0x00, + 0x01, 0xcf, 0x01, 0xf4, 0x10, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x6f, 0x01, 0xfe, 0x01, 0x10, 0x0f, 0x00, 0x01, 0x05, + 0x01, 0xff, 0x01, 0xe2, 0x10, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x01, 0x30, + 0x0f, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xe3, 0x10, 0x00, 0x01, 0x6f, + 0x01, 0xfe, 0x01, 0x20, 0x0f, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xd1, + 0x10, 0x00, 0x01, 0xaf, 0x01, 0xfd, 0x01, 0x43, 0x03, 0x33, 0x0c, 0x00, + 0x01, 0x01, 0x06, 0xff, 0x0c, 0x00, 0x01, 0x01, 0x06, 0xff, 0x0d, 0x00, + 0x06, 0x22, 0xff, 0x00, 0xc2, 0x00, + + /* 27 SUPERSCRIPT_THREE */ + 0x88, 0x00, 0x01, 0x01, 0x01, 0x10, 0x0f, 0x00, 0x01, 0x39, 0x01, 0xce, + 0x02, 0xff, 0x01, 0xb5, 0x0e, 0x00, 0x01, 0x7f, 0x04, 0xff, 0x01, 0xb0, + 0x0d, 0x00, 0x01, 0x6b, 0x01, 0x73, 0x01, 0x22, 0x01, 0x38, 0x01, 0xff, + 0x01, 0xf9, 0x11, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x11, 0x00, 0x01, 0x0f, + 0x01, 0xff, 0x11, 0x00, 0x01, 0x4f, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x27, + 0x01, 0xff, 0x01, 0xf3, 0x0e, 0x00, 0x01, 0x0c, 0x02, 0xff, 0x01, 0xfa, + 0x01, 0x20, 0x0e, 0x00, 0x01, 0x0c, 0x02, 0xff, 0x01, 0xfb, 0x01, 0x40, + 0x0e, 0x00, 0x01, 0x01, 0x01, 0x23, 0x01, 0x49, 0x01, 0xff, 0x01, 0xf6, + 0x11, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0x10, 0x10, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0x60, + 0x10, 0x00, 0x01, 0x1e, 0x01, 0xff, 0x01, 0x40, 0x0c, 0x00, 0x01, 0xa4, + 0x02, 0x00, 0x01, 0x05, 0x01, 0xdf, 0x01, 0xfd, 0x0d, 0x00, 0x02, 0xff, + 0x01, 0xde, 0x02, 0xff, 0x01, 0xe3, 0x0d, 0x00, 0x01, 0xae, 0x03, 0xff, + 0x01, 0xe9, 0x01, 0x10, 0x0e, 0x00, 0x01, 0x24, 0x01, 0x55, 0x01, 0x52, + 0xff, 0x00, 0xc4, 0x00, +#endif // TOUCH_UI_UTF8_SUPERSCRIPTS + +#if ENABLED(TOUCH_UI_UTF8_ORDINALS) + /* 28 MASCULINE_ORDINAL */ + 0x89, 0x00, 0x01, 0x01, 0x01, 0x10, 0x0f, 0x00, 0x01, 0x01, 0x01, 0x8d, + 0x02, 0xff, 0x01, 0xb4, 0x0e, 0x00, 0x01, 0x4f, 0x04, 0xff, 0x01, 0xa0, + 0x0c, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xfc, 0x01, 0x63, 0x01, 0x48, + 0x01, 0xff, 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xa0, + 0x02, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0x60, 0x0b, 0x00, 0x01, 0x6f, + 0x01, 0xfe, 0x03, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xd0, 0x0b, 0x00, + 0x01, 0xbf, 0x01, 0xf7, 0x04, 0x00, 0x01, 0xff, 0x01, 0xf2, 0x0b, 0x00, + 0x01, 0xef, 0x01, 0xf3, 0x04, 0x00, 0x01, 0xcf, 0x01, 0xf6, 0x0b, 0x00, + 0x01, 0xff, 0x01, 0xf1, 0x04, 0x00, 0x01, 0xaf, 0x01, 0xf7, 0x0b, 0x00, + 0x01, 0xff, 0x01, 0xf1, 0x04, 0x00, 0x01, 0xaf, 0x01, 0xf7, 0x0b, 0x00, + 0x01, 0xff, 0x01, 0xf2, 0x04, 0x00, 0x01, 0xbf, 0x01, 0xf6, 0x0b, 0x00, + 0x01, 0xcf, 0x01, 0xf6, 0x04, 0x00, 0x01, 0xef, 0x01, 0xf4, 0x0b, 0x00, + 0x01, 0x8f, 0x01, 0xfc, 0x03, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xf0, + 0x0b, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x60, 0x02, 0x00, 0x01, 0x1d, + 0x01, 0xff, 0x01, 0x90, 0x0b, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xf8, + 0x01, 0x10, 0x01, 0x04, 0x01, 0xdf, 0x01, 0xfe, 0x01, 0x10, 0x0c, 0x00, + 0x01, 0xaf, 0x04, 0xff, 0x01, 0xe3, 0x0d, 0x00, 0x01, 0x05, 0x01, 0xdf, + 0x02, 0xff, 0x01, 0xfa, 0x01, 0x10, 0x0e, 0x00, 0x01, 0x02, 0x01, 0x56, + 0x01, 0x64, 0x21, 0x00, 0x01, 0x16, 0x06, 0x66, 0x01, 0x40, 0x0b, 0x00, + 0x01, 0x3f, 0x06, 0xff, 0x01, 0xb0, 0x0b, 0x00, 0x01, 0x3f, 0x06, 0xff, + 0x01, 0xb0, 0x0b, 0x00, 0x01, 0x01, 0x06, 0x11, 0xff, 0x00, 0x75, 0x00, + + /* 29 FEMININE_ORDINAL */ + 0x89, 0x00, 0x01, 0x12, 0x01, 0x10, 0x0f, 0x00, 0x01, 0x49, 0x01, 0xdf, + 0x02, 0xff, 0x01, 0xb4, 0x0d, 0x00, 0x01, 0x07, 0x05, 0xff, 0x01, 0xa0, + 0x0c, 0x00, 0x01, 0x07, 0x01, 0xfc, 0x01, 0x74, 0x01, 0x33, 0x01, 0x59, + 0x01, 0xff, 0x01, 0xf8, 0x0c, 0x00, 0x01, 0x03, 0x01, 0x20, 0x03, 0x00, + 0x01, 0x3f, 0x01, 0xff, 0x01, 0x10, 0x10, 0x00, 0x01, 0x09, 0x01, 0xff, + 0x01, 0x50, 0x0e, 0x00, 0x01, 0x01, 0x01, 0x11, 0x01, 0x16, 0x01, 0xff, + 0x01, 0x80, 0x0c, 0x00, 0x01, 0x05, 0x01, 0xae, 0x04, 0xff, 0x01, 0x90, + 0x0b, 0x00, 0x01, 0x01, 0x01, 0xcf, 0x05, 0xff, 0x01, 0xa0, 0x0b, 0x00, + 0x01, 0x0d, 0x01, 0xff, 0x01, 0xe9, 0x01, 0x65, 0x01, 0x44, 0x01, 0x48, + 0x01, 0xff, 0x01, 0xa0, 0x0b, 0x00, 0x01, 0x5f, 0x01, 0xfd, 0x01, 0x10, + 0x02, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xa0, 0x0b, 0x00, 0x01, 0x9f, + 0x01, 0xf6, 0x03, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xa0, 0x0b, 0x00, + 0x01, 0xaf, 0x01, 0xf5, 0x03, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xa0, + 0x0b, 0x00, 0x01, 0x9f, 0x01, 0xfa, 0x03, 0x00, 0x01, 0xaf, 0x01, 0xff, + 0x01, 0xa0, 0x0b, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xa2, 0x01, 0x00, + 0x01, 0x3b, 0x02, 0xff, 0x01, 0xa0, 0x0b, 0x00, 0x01, 0x0a, 0x04, 0xff, + 0x01, 0xe7, 0x01, 0xff, 0x01, 0xa0, 0x0c, 0x00, 0x01, 0x8f, 0x02, 0xff, + 0x01, 0xf9, 0x01, 0x15, 0x01, 0xff, 0x01, 0xa0, 0x0d, 0x00, 0x01, 0x46, + 0x01, 0x64, 0x02, 0x00, 0x01, 0x11, 0x1f, 0x00, 0x01, 0x16, 0x06, 0x66, + 0x01, 0x40, 0x0b, 0x00, 0x01, 0x3f, 0x06, 0xff, 0x01, 0xb0, 0x0b, 0x00, + 0x01, 0x3f, 0x06, 0xff, 0x01, 0xb0, 0x0b, 0x00, 0x01, 0x01, 0x06, 0x11, + 0xff, 0x00, 0x75, 0x00, +#endif // TOUCH_UI_UTF8_ORDINALS + +#if ENABLED(TOUCH_UI_UTF8_COPYRIGHT) + /* 30 COPYRIGHT_SIGN */ + 0xa0, 0x00, 0x01, 0x01, 0x01, 0x45, 0x01, 0x76, 0x01, 0x43, 0x0e, 0x00, + 0x01, 0x28, 0x01, 0xdf, 0x03, 0xff, 0x01, 0xe9, 0x01, 0x40, 0x0b, 0x00, + 0x01, 0x19, 0x02, 0xff, 0x01, 0xdb, 0x01, 0xab, 0x01, 0xce, 0x01, 0xff, + 0x01, 0xfb, 0x01, 0x30, 0x09, 0x00, 0x01, 0x03, 0x01, 0xef, 0x01, 0xfb, + 0x01, 0x50, 0x03, 0x00, 0x01, 0x38, 0x01, 0xff, 0x01, 0xf7, 0x09, 0x00, + 0x01, 0x6f, 0x01, 0xfc, 0x01, 0x30, 0x05, 0x00, 0x01, 0x19, 0x01, 0xff, + 0x01, 0xa0, 0x07, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xa0, 0x07, 0x00, + 0x01, 0x5f, 0x01, 0xfb, 0x07, 0x00, 0x01, 0x3f, 0x01, 0xf8, 0x03, 0x00, + 0x01, 0x46, 0x01, 0x88, 0x01, 0x65, 0x01, 0x10, 0x01, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0x80, 0x06, 0x00, 0x01, 0xef, 0x01, 0xa0, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x9f, 0x03, 0xff, 0x01, 0xfc, 0x01, 0x60, 0x01, 0x00, + 0x01, 0x4f, 0x01, 0xf4, 0x05, 0x00, 0x01, 0x08, 0x01, 0xfd, 0x02, 0x00, + 0x01, 0x4e, 0x02, 0xff, 0x01, 0xed, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, + 0x01, 0x00, 0x01, 0x08, 0x01, 0xfd, 0x05, 0x00, 0x01, 0x1f, 0x01, 0xf4, + 0x01, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xfe, 0x01, 0x61, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x4a, 0x01, 0xa0, 0x02, 0x00, 0x01, 0xef, 0x01, 0x60, + 0x04, 0x00, 0x01, 0x6f, 0x01, 0xc0, 0x01, 0x00, 0x01, 0x0e, 0x01, 0xff, + 0x01, 0xc1, 0x07, 0x00, 0x01, 0x7f, 0x01, 0xb0, 0x04, 0x00, 0x01, 0xbf, + 0x01, 0x60, 0x01, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0x10, 0x07, 0x00, + 0x01, 0x1f, 0x01, 0xf0, 0x04, 0x00, 0x01, 0xff, 0x01, 0x20, 0x01, 0x00, + 0x01, 0xdf, 0x01, 0xf9, 0x08, 0x00, 0x01, 0x0d, 0x01, 0xf4, 0x03, 0x00, + 0x01, 0x01, 0x01, 0xfe, 0x01, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf4, + 0x08, 0x00, 0x01, 0x0a, 0x01, 0xf6, 0x03, 0x00, 0x01, 0x03, 0x01, 0xfd, + 0x01, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xf1, 0x08, 0x00, 0x01, 0x08, + 0x01, 0xf8, 0x03, 0x00, 0x01, 0x04, 0x01, 0xfc, 0x01, 0x00, 0x01, 0x03, + 0x01, 0xff, 0x01, 0xf0, 0x08, 0x00, 0x01, 0x07, 0x01, 0xf9, 0x03, 0x00, + 0x01, 0x03, 0x01, 0xfd, 0x01, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xf1, + 0x08, 0x00, 0x01, 0x08, 0x01, 0xf8, 0x03, 0x00, 0x01, 0x01, 0x01, 0xfe, + 0x01, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf3, 0x08, 0x00, 0x01, 0x09, + 0x01, 0xf7, 0x04, 0x00, 0x01, 0xff, 0x01, 0x10, 0x01, 0x00, 0x01, 0xdf, + 0x01, 0xf8, 0x08, 0x00, 0x01, 0x0c, 0x01, 0xf5, 0x04, 0x00, 0x01, 0xbf, + 0x01, 0x60, 0x01, 0x00, 0x01, 0x8f, 0x01, 0xfe, 0x01, 0x10, 0x07, 0x00, + 0x01, 0x1f, 0x01, 0xf1, 0x04, 0x00, 0x01, 0x6f, 0x01, 0xb0, 0x01, 0x00, + 0x01, 0x1f, 0x01, 0xff, 0x01, 0xb0, 0x07, 0x00, 0x01, 0x6f, 0x01, 0xc0, + 0x04, 0x00, 0x01, 0x1f, 0x01, 0xf4, 0x01, 0x00, 0x01, 0x05, 0x01, 0xff, + 0x01, 0xfd, 0x01, 0x50, 0x02, 0x00, 0x01, 0x29, 0x01, 0xa0, 0x02, 0x00, + 0x01, 0xef, 0x01, 0x60, 0x04, 0x00, 0x01, 0x08, 0x01, 0xfd, 0x02, 0x00, + 0x01, 0x6f, 0x02, 0xff, 0x01, 0xdb, 0x01, 0xce, 0x01, 0xff, 0x01, 0xb0, + 0x01, 0x00, 0x01, 0x07, 0x01, 0xfd, 0x05, 0x00, 0x01, 0x01, 0x01, 0xef, + 0x01, 0x90, 0x01, 0x00, 0x01, 0x02, 0x01, 0xbf, 0x03, 0xff, 0x01, 0xfe, + 0x01, 0x70, 0x01, 0x00, 0x01, 0x4f, 0x01, 0xf4, 0x06, 0x00, 0x01, 0x4f, + 0x01, 0xf7, 0x02, 0x00, 0x01, 0x01, 0x01, 0x58, 0x01, 0x9a, 0x01, 0x86, + 0x01, 0x30, 0x01, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0x80, 0x06, 0x00, + 0x01, 0x06, 0x01, 0xff, 0x01, 0x90, 0x07, 0x00, 0x01, 0x4f, 0x01, 0xfb, + 0x08, 0x00, 0x01, 0x6f, 0x01, 0xfc, 0x01, 0x30, 0x05, 0x00, 0x01, 0x18, + 0x01, 0xff, 0x01, 0xb0, 0x08, 0x00, 0x01, 0x04, 0x01, 0xef, 0x01, 0xfa, + 0x01, 0x40, 0x03, 0x00, 0x01, 0x27, 0x01, 0xef, 0x01, 0xf8, 0x0a, 0x00, + 0x01, 0x19, 0x02, 0xff, 0x01, 0xca, 0x01, 0x9a, 0x01, 0xbe, 0x01, 0xff, + 0x01, 0xfc, 0x01, 0x30, 0x0b, 0x00, 0x01, 0x29, 0x01, 0xdf, 0x03, 0xff, + 0x01, 0xfa, 0x01, 0x40, 0x0d, 0x00, 0x01, 0x02, 0x01, 0x46, 0x01, 0x76, + 0x01, 0x53, 0xc5, 0x00, + + /* 31 REGISTERED_SIGN */ + 0xa0, 0x00, 0x01, 0x02, 0x01, 0x46, 0x01, 0x76, 0x01, 0x53, 0x0e, 0x00, + 0x01, 0x28, 0x01, 0xdf, 0x03, 0xff, 0x01, 0xea, 0x01, 0x40, 0x0b, 0x00, + 0x01, 0x19, 0x02, 0xff, 0x01, 0xcb, 0x01, 0x9a, 0x01, 0xce, 0x01, 0xff, + 0x01, 0xfc, 0x01, 0x30, 0x09, 0x00, 0x01, 0x04, 0x01, 0xef, 0x01, 0xfa, + 0x01, 0x40, 0x03, 0x00, 0x01, 0x38, 0x01, 0xff, 0x01, 0xf8, 0x09, 0x00, + 0x01, 0x6f, 0x01, 0xfc, 0x01, 0x30, 0x05, 0x00, 0x01, 0x18, 0x01, 0xff, + 0x01, 0xa0, 0x07, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0x90, 0x07, 0x00, + 0x01, 0x4f, 0x01, 0xfb, 0x07, 0x00, 0x01, 0x3f, 0x01, 0xf7, 0x01, 0x00, + 0x01, 0x13, 0x02, 0x33, 0x01, 0x32, 0x03, 0x00, 0x01, 0x02, 0x01, 0xff, + 0x01, 0x80, 0x06, 0x00, 0x01, 0xef, 0x01, 0xa0, 0x01, 0x00, 0x01, 0x7f, + 0x03, 0xff, 0x01, 0xfd, 0x01, 0x81, 0x02, 0x00, 0x01, 0x4f, 0x01, 0xf5, + 0x05, 0x00, 0x01, 0x08, 0x01, 0xfd, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xff, + 0x01, 0xdd, 0x01, 0xef, 0x01, 0xff, 0x01, 0xfe, 0x01, 0x30, 0x01, 0x00, + 0x01, 0x08, 0x01, 0xfe, 0x05, 0x00, 0x01, 0x1f, 0x01, 0xf4, 0x02, 0x00, + 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x3c, 0x01, 0xff, 0x01, 0xd0, + 0x02, 0x00, 0x01, 0xef, 0x01, 0x60, 0x04, 0x00, 0x01, 0x6f, 0x01, 0xc0, + 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x02, 0x01, 0xff, + 0x01, 0xf3, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xb0, 0x04, 0x00, 0x01, 0xbf, + 0x01, 0x60, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x03, 0x00, 0x01, 0xff, + 0x01, 0xf4, 0x02, 0x00, 0x01, 0x1f, 0x01, 0xf0, 0x04, 0x00, 0x01, 0xff, + 0x01, 0x10, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x03, 0x00, 0x01, 0xff, + 0x01, 0xf2, 0x02, 0x00, 0x01, 0x0c, 0x01, 0xf5, 0x03, 0x00, 0x01, 0x01, + 0x01, 0xfe, 0x03, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x08, + 0x01, 0xff, 0x01, 0xe0, 0x02, 0x00, 0x01, 0x0a, 0x01, 0xf6, 0x03, 0x00, + 0x01, 0x03, 0x01, 0xfd, 0x03, 0x00, 0x01, 0x7f, 0x01, 0xfd, 0x01, 0x88, + 0x01, 0x9a, 0x01, 0xef, 0x01, 0xfe, 0x01, 0x30, 0x02, 0x00, 0x01, 0x08, + 0x01, 0xf8, 0x03, 0x00, 0x01, 0x04, 0x01, 0xfc, 0x03, 0x00, 0x01, 0x7f, + 0x03, 0xff, 0x01, 0xfe, 0x01, 0x91, 0x03, 0x00, 0x01, 0x07, 0x01, 0xf9, + 0x03, 0x00, 0x01, 0x03, 0x01, 0xfd, 0x03, 0x00, 0x01, 0x7f, 0x01, 0xfc, + 0x01, 0x78, 0x01, 0xdf, 0x01, 0xfd, 0x01, 0x20, 0x03, 0x00, 0x01, 0x08, + 0x01, 0xf8, 0x03, 0x00, 0x01, 0x01, 0x01, 0xfe, 0x03, 0x00, 0x01, 0x7f, + 0x01, 0xfa, 0x01, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xc0, 0x03, 0x00, + 0x01, 0x09, 0x01, 0xf6, 0x04, 0x00, 0x01, 0xff, 0x01, 0x10, 0x02, 0x00, + 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0xdf, 0x01, 0xf8, 0x03, 0x00, + 0x01, 0x0c, 0x01, 0xf5, 0x04, 0x00, 0x01, 0xbf, 0x01, 0x60, 0x02, 0x00, + 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x30, + 0x02, 0x00, 0x01, 0x1f, 0x01, 0xf1, 0x04, 0x00, 0x01, 0x6f, 0x01, 0xc0, + 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x09, 0x01, 0xff, + 0x01, 0xd0, 0x02, 0x00, 0x01, 0x6f, 0x01, 0xb0, 0x04, 0x00, 0x01, 0x1f, + 0x01, 0xf4, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x01, + 0x01, 0xef, 0x01, 0xf7, 0x02, 0x00, 0x01, 0xef, 0x01, 0x60, 0x04, 0x00, + 0x01, 0x08, 0x01, 0xfd, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x03, 0x00, + 0x01, 0x6f, 0x01, 0xff, 0x01, 0x20, 0x01, 0x08, 0x01, 0xfe, 0x06, 0x00, + 0x01, 0xef, 0x01, 0xa0, 0x01, 0x00, 0x01, 0x5a, 0x01, 0xa6, 0x03, 0x00, + 0x01, 0x09, 0x01, 0xaa, 0x01, 0x60, 0x01, 0x4f, 0x01, 0xf4, 0x06, 0x00, + 0x01, 0x3f, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0x80, + 0x06, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0x90, 0x07, 0x00, 0x01, 0x4f, + 0x01, 0xfb, 0x08, 0x00, 0x01, 0x6f, 0x01, 0xfc, 0x01, 0x30, 0x05, 0x00, + 0x01, 0x19, 0x01, 0xff, 0x01, 0xa0, 0x08, 0x00, 0x01, 0x04, 0x01, 0xef, + 0x01, 0xfa, 0x01, 0x40, 0x03, 0x00, 0x01, 0x38, 0x01, 0xef, 0x01, 0xf8, + 0x0a, 0x00, 0x01, 0x19, 0x02, 0xff, 0x01, 0xcb, 0x01, 0x9a, 0x01, 0xce, + 0x01, 0xff, 0x01, 0xfc, 0x01, 0x30, 0x0b, 0x00, 0x01, 0x28, 0x01, 0xdf, + 0x03, 0xff, 0x01, 0xea, 0x01, 0x40, 0x0d, 0x00, 0x01, 0x02, 0x01, 0x45, + 0x01, 0x76, 0x01, 0x43, 0xc5, 0x00, +#endif // TOUCH_UI_UTF8_COPYRIGHT + +#if ENABLED(TOUCH_UI_UTF8_MATHEMATICS) + /* 32 PLUS_MINUS_SIGN */ + 0xeb, 0x00, 0x01, 0x02, 0x01, 0x77, 0x01, 0x70, 0x10, 0x00, 0x01, 0x06, + 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, + 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, + 0x01, 0xff, 0x01, 0xf0, 0x0b, 0x00, 0x01, 0x6a, 0x04, 0xaa, 0x01, 0xac, + 0x01, 0xff, 0x01, 0xfa, 0x05, 0xaa, 0x01, 0x20, 0x05, 0x00, 0x01, 0x9f, + 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, + 0x05, 0x00, 0x01, 0x7c, 0x04, 0xcc, 0x01, 0xcd, 0x01, 0xff, 0x01, 0xfc, + 0x05, 0xcc, 0x01, 0x30, 0x0a, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, + 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, + 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, + 0x10, 0x00, 0x01, 0x03, 0x01, 0x99, 0x01, 0x90, 0x44, 0x00, 0x01, 0x9f, + 0x0c, 0xff, 0x01, 0x30, 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, + 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x47, + 0x0c, 0x77, 0x01, 0x10, 0xc1, 0x00, + + /* 33 MULTIPLICATION_SIGN */ + 0xff, 0x00, 0x0e, 0x00, 0x01, 0x09, 0x01, 0xb0, 0x07, 0x00, 0x01, 0x03, + 0x01, 0xe4, 0x08, 0x00, 0x01, 0x9f, 0x01, 0xfb, 0x07, 0x00, 0x01, 0x3e, + 0x01, 0xff, 0x01, 0x40, 0x06, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0xff, + 0x01, 0xb0, 0x05, 0x00, 0x01, 0x03, 0x01, 0xef, 0x01, 0xff, 0x01, 0xa0, + 0x07, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, 0x05, 0x00, 0x01, 0x3e, + 0x01, 0xff, 0x01, 0xfb, 0x08, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, + 0x01, 0xb0, 0x03, 0x00, 0x01, 0x03, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, + 0x09, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, 0x03, 0x00, 0x01, 0x3e, + 0x01, 0xff, 0x01, 0xfb, 0x0a, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, + 0x01, 0xb0, 0x01, 0x00, 0x01, 0x03, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, + 0x0b, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, 0x01, 0x00, 0x01, 0x3e, + 0x01, 0xff, 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, + 0x01, 0xb3, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x0d, 0x00, 0x01, 0x3e, + 0x03, 0xff, 0x01, 0xfb, 0x0e, 0x00, 0x01, 0x03, 0x01, 0xef, 0x02, 0xff, + 0x01, 0xb0, 0x0f, 0x00, 0x01, 0x5f, 0x02, 0xff, 0x01, 0x10, 0x0e, 0x00, + 0x01, 0x03, 0x01, 0xef, 0x02, 0xff, 0x01, 0xb0, 0x0e, 0x00, 0x01, 0x3e, + 0x03, 0xff, 0x01, 0xfb, 0x0d, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, + 0x01, 0xb3, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x0c, 0x00, 0x01, 0x2e, + 0x01, 0xff, 0x01, 0xfb, 0x01, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, + 0x0b, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x01, 0x00, + 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x0a, 0x00, 0x01, 0x2e, + 0x01, 0xff, 0x01, 0xfb, 0x03, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, + 0x09, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x03, 0x00, + 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x08, 0x00, 0x01, 0x2e, + 0x01, 0xff, 0x01, 0xfb, 0x05, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, + 0x07, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x05, 0x00, + 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0xa0, 0x07, 0x00, 0x01, 0x8f, + 0x01, 0xfb, 0x07, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0x40, 0x07, 0x00, + 0x01, 0x09, 0x01, 0xb0, 0x07, 0x00, 0x01, 0x02, 0x01, 0xe4, 0xe9, 0x00, + + /* 34 DIVISION_SIGN */ + 0xff, 0x00, 0x25, 0x00, 0x01, 0x17, 0x01, 0x77, 0x01, 0x76, 0x10, 0x00, + 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, + 0x01, 0xfc, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, + 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x17, 0x01, 0x77, + 0x01, 0x76, 0x31, 0x00, 0x01, 0x24, 0x0c, 0x44, 0x01, 0x10, 0x05, 0x00, + 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, + 0x01, 0x40, 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, + 0x01, 0x12, 0x0c, 0x22, 0x31, 0x00, 0x01, 0x18, 0x01, 0x88, 0x01, 0x87, + 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x2f, + 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, + 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x16, + 0x01, 0x66, 0x01, 0x65, 0xff, 0x00, 0x01, 0x00, +#endif // TOUCH_UI_UTF8_MATHEMATICS + +#if ENABLED(TOUCH_UI_UTF8_FRACTIONS) + /* 35 FRACTION_QUARTER */ + 0x92, 0x00, 0x01, 0x01, 0x01, 0x44, 0x01, 0x40, 0x04, 0x00, 0x01, 0x04, + 0x01, 0x79, 0x01, 0xce, 0x01, 0xee, 0x01, 0x20, 0x07, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0x90, 0x04, 0x00, 0x01, 0x3f, 0x03, 0xff, 0x01, 0x20, + 0x07, 0x00, 0x01, 0x3f, 0x01, 0xfe, 0x01, 0x10, 0x04, 0x00, 0x01, 0x3f, + 0x01, 0xdb, 0x01, 0x8d, 0x01, 0xff, 0x01, 0x20, 0x07, 0x00, 0x01, 0xdf, + 0x01, 0xf5, 0x05, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x0b, 0x01, 0xff, + 0x01, 0x20, 0x06, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xc0, 0x07, 0x00, + 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x06, 0x00, 0x01, 0x1f, 0x01, 0xff, + 0x01, 0x20, 0x07, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x06, 0x00, + 0x01, 0xaf, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, + 0x05, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xe1, 0x08, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0x20, 0x05, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, + 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x05, 0x00, 0x01, 0x7f, + 0x01, 0xfc, 0x09, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x04, 0x00, + 0x01, 0x01, 0x01, 0xff, 0x01, 0xf2, 0x09, 0x00, 0x01, 0x0b, 0x01, 0xff, + 0x01, 0x20, 0x04, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0x80, 0x09, 0x00, + 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x4f, 0x01, 0xfe, + 0x0a, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0xdf, + 0x01, 0xf5, 0x0a, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x03, 0x00, + 0x01, 0x07, 0x01, 0xff, 0x01, 0xb0, 0x04, 0x00, 0x01, 0x37, 0x01, 0x77, + 0x02, 0x00, 0x01, 0x04, 0x01, 0x55, 0x01, 0x5d, 0x01, 0xff, 0x01, 0x75, + 0x01, 0x55, 0x01, 0x10, 0x01, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0x20, + 0x03, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0xff, 0x02, 0x00, 0x01, 0x0d, + 0x05, 0xff, 0x01, 0x40, 0x01, 0x00, 0x01, 0xaf, 0x01, 0xf8, 0x04, 0x00, + 0x01, 0x0c, 0x02, 0xff, 0x02, 0x00, 0x01, 0x0c, 0x05, 0xee, 0x01, 0x40, + 0x01, 0x04, 0x01, 0xff, 0x01, 0xe0, 0x04, 0x00, 0x01, 0x8f, 0x01, 0xbe, + 0x01, 0xff, 0x09, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, 0x03, 0x00, + 0x01, 0x04, 0x01, 0xfe, 0x01, 0x1e, 0x01, 0xff, 0x09, 0x00, 0x01, 0x7f, + 0x01, 0xfc, 0x04, 0x00, 0x01, 0x1e, 0x01, 0xf4, 0x01, 0x0e, 0x01, 0xff, + 0x08, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf2, 0x04, 0x00, 0x01, 0xbf, + 0x01, 0x80, 0x01, 0x0e, 0x01, 0xff, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, + 0x01, 0x80, 0x03, 0x00, 0x01, 0x08, 0x01, 0xfc, 0x01, 0x00, 0x01, 0x0e, + 0x01, 0xff, 0x08, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x04, 0x00, 0x01, 0x4f, + 0x01, 0xe1, 0x01, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x08, 0x00, 0x01, 0xdf, + 0x01, 0xf5, 0x03, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0x40, 0x01, 0x00, + 0x01, 0x0e, 0x01, 0xff, 0x07, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xb0, + 0x03, 0x00, 0x01, 0x0b, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x0e, 0x01, 0xff, + 0x07, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x20, 0x03, 0x00, 0x01, 0x3f, + 0x01, 0xf8, 0x02, 0x88, 0x01, 0x8f, 0x01, 0xff, 0x01, 0x88, 0x06, 0x00, + 0x01, 0xbf, 0x01, 0xf8, 0x04, 0x00, 0x01, 0x4f, 0x06, 0xff, 0x05, 0x00, + 0x01, 0x04, 0x01, 0xff, 0x01, 0xe0, 0x04, 0x00, 0x01, 0x2a, 0x03, 0xaa, + 0x01, 0xaf, 0x01, 0xff, 0x01, 0xaa, 0x05, 0x00, 0x01, 0x0d, 0x01, 0xff, + 0x01, 0x50, 0x08, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x06, 0x00, 0x01, 0x8f, + 0x01, 0xfb, 0x09, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x05, 0x00, 0x01, 0x02, + 0x01, 0xff, 0x01, 0xf2, 0x09, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x05, 0x00, + 0x01, 0x0b, 0x01, 0xff, 0x01, 0x80, 0x09, 0x00, 0x01, 0x05, 0x01, 0x66, + 0xbf, 0x00, + + /* 36 FRACTION_HALF */ + 0x92, 0x00, 0x01, 0x01, 0x01, 0x44, 0x01, 0x40, 0x04, 0x00, 0x01, 0x04, + 0x01, 0x7a, 0x01, 0xce, 0x01, 0xee, 0x01, 0x20, 0x07, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0x80, 0x04, 0x00, 0x01, 0x3f, 0x03, 0xff, 0x01, 0x20, + 0x07, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x05, 0x00, 0x01, 0x3f, 0x01, 0xda, + 0x01, 0x7d, 0x01, 0xff, 0x01, 0x20, 0x07, 0x00, 0x01, 0xdf, 0x01, 0xf5, + 0x07, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x06, 0x00, 0x01, 0x07, + 0x01, 0xff, 0x01, 0xc0, 0x07, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, + 0x06, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0x20, 0x07, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0x20, 0x06, 0x00, 0x01, 0xaf, 0x01, 0xf8, 0x08, 0x00, + 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x05, 0x00, 0x01, 0x04, 0x01, 0xff, + 0x01, 0xe0, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x05, 0x00, + 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, + 0x01, 0x20, 0x05, 0x00, 0x01, 0x7f, 0x01, 0xfc, 0x09, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf2, + 0x09, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0x80, 0x09, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, + 0x04, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x0a, 0x00, 0x01, 0x0b, 0x01, 0xff, + 0x01, 0x20, 0x04, 0x00, 0x01, 0xdf, 0x01, 0xf5, 0x0a, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0x20, 0x03, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xb0, + 0x01, 0x00, 0x01, 0x04, 0x01, 0x8a, 0x01, 0xcc, 0x01, 0xa7, 0x01, 0x10, + 0x02, 0x00, 0x01, 0x04, 0x01, 0x55, 0x01, 0x5d, 0x01, 0xff, 0x01, 0x75, + 0x01, 0x55, 0x01, 0x10, 0x01, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x20, + 0x01, 0x06, 0x04, 0xff, 0x01, 0xf7, 0x02, 0x00, 0x01, 0x0d, 0x05, 0xff, + 0x01, 0x40, 0x01, 0x00, 0x01, 0xbf, 0x01, 0xf8, 0x01, 0x00, 0x01, 0x08, + 0x01, 0xff, 0x01, 0xa7, 0x01, 0x68, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x70, + 0x01, 0x00, 0x01, 0x0b, 0x05, 0xdd, 0x01, 0x40, 0x01, 0x04, 0x01, 0xff, + 0x01, 0xe0, 0x01, 0x00, 0x01, 0x05, 0x01, 0x60, 0x02, 0x00, 0x01, 0x08, + 0x01, 0xff, 0x01, 0xf1, 0x08, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, + 0x06, 0x00, 0x01, 0xef, 0x01, 0xf4, 0x08, 0x00, 0x01, 0x7f, 0x01, 0xfb, + 0x07, 0x00, 0x01, 0xcf, 0x01, 0xf3, 0x07, 0x00, 0x01, 0x02, 0x01, 0xff, + 0x01, 0xf2, 0x06, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xe0, 0x07, 0x00, + 0x01, 0x0b, 0x01, 0xff, 0x01, 0x80, 0x06, 0x00, 0x01, 0x0d, 0x01, 0xff, + 0x01, 0x50, 0x07, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x07, 0x00, 0x01, 0xaf, + 0x01, 0xfa, 0x08, 0x00, 0x01, 0xdf, 0x01, 0xf5, 0x06, 0x00, 0x01, 0x09, + 0x01, 0xff, 0x01, 0xc0, 0x07, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xb0, + 0x06, 0x00, 0x01, 0x8f, 0x01, 0xfd, 0x01, 0x10, 0x07, 0x00, 0x01, 0x2f, + 0x01, 0xff, 0x01, 0x20, 0x05, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xc1, + 0x08, 0x00, 0x01, 0xbf, 0x01, 0xf8, 0x06, 0x00, 0x01, 0xaf, 0x01, 0xfb, + 0x08, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xe0, 0x05, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0xa0, 0x08, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, + 0x04, 0x00, 0x01, 0x01, 0x01, 0xcf, 0x01, 0xf9, 0x09, 0x00, 0x01, 0x8f, + 0x01, 0xfb, 0x05, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xfe, 0x03, 0xee, + 0x01, 0xe6, 0x04, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xf2, 0x05, 0x00, + 0x01, 0x0a, 0x05, 0xff, 0x01, 0xf7, 0x04, 0x00, 0x01, 0x0a, 0x01, 0xee, + 0x01, 0x70, 0x05, 0x00, 0x01, 0x04, 0x05, 0x66, 0x01, 0x62, 0xbe, 0x00, + + /* 37 FRACTION_THREE_FOURTHS */ + 0x87, 0x00, 0x01, 0x02, 0x01, 0x34, 0x01, 0x42, 0x08, 0x00, 0x01, 0x01, + 0x01, 0x55, 0x01, 0x50, 0x04, 0x00, 0x01, 0x4c, 0x03, 0xff, 0x01, 0xe9, + 0x01, 0x10, 0x06, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0x80, 0x04, 0x00, + 0x01, 0x7f, 0x01, 0xff, 0x01, 0xfe, 0x02, 0xff, 0x01, 0xe2, 0x06, 0x00, + 0x01, 0x4f, 0x01, 0xfe, 0x05, 0x00, 0x01, 0x47, 0x01, 0x30, 0x01, 0x00, + 0x01, 0x05, 0x01, 0xef, 0x01, 0xfb, 0x06, 0x00, 0x01, 0xdf, 0x01, 0xf5, + 0x09, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x05, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xb0, 0x09, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x05, 0x00, 0x01, 0x2f, + 0x01, 0xff, 0x01, 0x20, 0x09, 0x00, 0x01, 0x6f, 0x01, 0xfb, 0x05, 0x00, + 0x01, 0xbf, 0x01, 0xf8, 0x07, 0x00, 0x01, 0x03, 0x01, 0x44, 0x01, 0x5a, + 0x01, 0xff, 0x01, 0xd1, 0x04, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xe0, + 0x07, 0x00, 0x01, 0x0c, 0x02, 0xff, 0x01, 0xe7, 0x05, 0x00, 0x01, 0x0d, + 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, 0x01, 0x0b, 0x01, 0xef, 0x01, 0xff, + 0x01, 0xfe, 0x01, 0x70, 0x04, 0x00, 0x01, 0x7f, 0x01, 0xfb, 0x0a, 0x00, + 0x01, 0x16, 0x01, 0xdf, 0x01, 0xf9, 0x03, 0x00, 0x01, 0x02, 0x01, 0xff, + 0x01, 0xf2, 0x0b, 0x00, 0x01, 0x1e, 0x01, 0xff, 0x01, 0x20, 0x02, 0x00, + 0x01, 0x0b, 0x01, 0xff, 0x01, 0x80, 0x0b, 0x00, 0x01, 0x0a, 0x01, 0xff, + 0x01, 0x60, 0x02, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x0c, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0x60, 0x02, 0x00, 0x01, 0xdf, 0x01, 0xf5, 0x0c, 0x00, + 0x01, 0x2f, 0x01, 0xff, 0x01, 0x30, 0x01, 0x00, 0x01, 0x08, 0x01, 0xff, + 0x01, 0xb0, 0x04, 0x00, 0x01, 0x47, 0x01, 0x77, 0x02, 0x00, 0x01, 0xd7, + 0x01, 0x42, 0x01, 0x01, 0x01, 0x38, 0x01, 0xef, 0x01, 0xfc, 0x02, 0x00, + 0x01, 0x2f, 0x01, 0xff, 0x01, 0x20, 0x03, 0x00, 0x01, 0x02, 0x02, 0xff, + 0x02, 0x00, 0x05, 0xff, 0x01, 0xc1, 0x02, 0x00, 0x01, 0xbf, 0x01, 0xf8, + 0x04, 0x00, 0x01, 0x0c, 0x02, 0xff, 0x02, 0x00, 0x01, 0x7b, 0x01, 0xef, + 0x02, 0xff, 0x01, 0xb6, 0x02, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xe0, + 0x04, 0x00, 0x01, 0x9f, 0x01, 0xbe, 0x01, 0xff, 0x04, 0x00, 0x01, 0x22, + 0x01, 0x10, 0x03, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, 0x03, 0x00, + 0x01, 0x04, 0x01, 0xfe, 0x01, 0x1e, 0x01, 0xff, 0x09, 0x00, 0x01, 0x8f, + 0x01, 0xfb, 0x04, 0x00, 0x01, 0x1e, 0x01, 0xf3, 0x01, 0x0e, 0x01, 0xff, + 0x08, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xf2, 0x04, 0x00, 0x01, 0xcf, + 0x01, 0x70, 0x01, 0x0e, 0x01, 0xff, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, + 0x01, 0x80, 0x03, 0x00, 0x01, 0x08, 0x01, 0xfb, 0x01, 0x00, 0x01, 0x0e, + 0x01, 0xff, 0x08, 0x00, 0x01, 0x5f, 0x01, 0xfe, 0x04, 0x00, 0x01, 0x4f, + 0x01, 0xe1, 0x01, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x08, 0x00, 0x01, 0xdf, + 0x01, 0xf4, 0x03, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0x40, 0x01, 0x00, + 0x01, 0x0e, 0x01, 0xff, 0x07, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xb0, + 0x03, 0x00, 0x01, 0x0b, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x0e, 0x01, 0xff, + 0x07, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x20, 0x03, 0x00, 0x01, 0x3f, + 0x01, 0xf9, 0x02, 0x99, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x99, 0x06, 0x00, + 0x01, 0xbf, 0x01, 0xf8, 0x04, 0x00, 0x01, 0x4f, 0x06, 0xff, 0x05, 0x00, + 0x01, 0x05, 0x01, 0xff, 0x01, 0xd0, 0x04, 0x00, 0x01, 0x29, 0x03, 0x99, + 0x01, 0x9f, 0x01, 0xff, 0x01, 0x99, 0x05, 0x00, 0x01, 0x0d, 0x01, 0xff, + 0x01, 0x40, 0x08, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x06, 0x00, 0x01, 0x8f, + 0x01, 0xfb, 0x09, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x05, 0x00, 0x01, 0x02, + 0x01, 0xff, 0x01, 0xf2, 0x09, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x05, 0x00, + 0x01, 0x0a, 0x01, 0xee, 0x01, 0x70, 0x09, 0x00, 0x01, 0x04, 0x01, 0x55, + 0xbf, 0x00, +#endif // TOUCH_UI_UTF8_FRACTIONS + +#if ENABLED(TOUCH_UI_UTF8_SYMBOLS) + /* 38 MICRON_SIGN */ + 0xff, 0x00, 0x1f, 0x00, 0x01, 0x02, 0x01, 0x44, 0x01, 0x40, 0x05, 0x00, + 0x01, 0x14, 0x01, 0x44, 0x01, 0x10, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, + 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, + 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, + 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, + 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf4, 0x05, 0x00, + 0x01, 0x6f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf6, 0x05, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xff, 0x01, 0xfa, 0x05, 0x00, 0x01, 0xef, 0x01, 0xff, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x02, 0xff, 0x01, 0x20, 0x03, 0x00, + 0x01, 0x07, 0x02, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x02, 0xff, + 0x01, 0xd2, 0x03, 0x00, 0x01, 0x6f, 0x02, 0xff, 0x01, 0xa0, 0x08, 0x00, + 0x01, 0x07, 0x03, 0xff, 0x01, 0xa6, 0x01, 0x55, 0x01, 0x8d, 0x03, 0xff, + 0x01, 0xf9, 0x01, 0xa4, 0x07, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf7, + 0x05, 0xff, 0x01, 0x5d, 0x02, 0xff, 0x01, 0xf4, 0x07, 0x00, 0x01, 0x07, + 0x01, 0xff, 0x01, 0xf3, 0x01, 0x5f, 0x03, 0xff, 0x01, 0xf5, 0x01, 0x06, + 0x02, 0xff, 0x01, 0xf4, 0x07, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, + 0x01, 0x01, 0x01, 0x7c, 0x01, 0xdd, 0x01, 0xc7, 0x01, 0x10, 0x01, 0x00, + 0x01, 0x6c, 0x01, 0xdb, 0x01, 0x50, 0x07, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x10, 0x00, + 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x10, 0x00, + 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xff, + 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xee, 0x01, 0xe3, 0x35, 0x00, + + /* 39 PILCROW_SIGN */ + 0x9c, 0x00, 0x01, 0x16, 0x01, 0x9b, 0x04, 0xcc, 0x01, 0xca, 0x0b, 0x00, + 0x01, 0x19, 0x06, 0xff, 0x01, 0xfd, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xef, + 0x03, 0xff, 0x01, 0xfb, 0x01, 0xaa, 0x01, 0xaf, 0x01, 0xfd, 0x0a, 0x00, + 0x01, 0x2e, 0x04, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, + 0x0a, 0x00, 0x01, 0xbf, 0x04, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, + 0x01, 0xfd, 0x09, 0x00, 0x01, 0x03, 0x05, 0xff, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x09, 0x00, 0x01, 0x08, 0x05, 0xff, 0x01, 0xf2, + 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x09, 0x00, 0x01, 0x0b, 0x05, 0xff, + 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x09, 0x00, 0x01, 0x0c, + 0x05, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x09, 0x00, + 0x01, 0x0b, 0x05, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, + 0x09, 0x00, 0x01, 0x0a, 0x05, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, + 0x01, 0xfd, 0x09, 0x00, 0x01, 0x06, 0x05, 0xff, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0a, 0x00, 0x01, 0xef, 0x04, 0xff, 0x01, 0xf2, + 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x0a, 0x00, 0x01, 0x6f, 0x04, 0xff, + 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x0a, 0x00, 0x01, 0x08, + 0x04, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x0b, 0x00, + 0x01, 0x5e, 0x03, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, + 0x0c, 0x00, 0x01, 0x6b, 0x02, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, + 0x01, 0xfd, 0x0d, 0x00, 0x01, 0x01, 0x01, 0xcf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, + 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0x34, 0x01, 0x40, 0x01, 0x00, + 0x01, 0x04, 0x01, 0x43, 0x7a, 0x00, + + /* 40 BROKEN_BAR */ + 0xad, 0x00, 0x01, 0x07, 0x01, 0x99, 0x01, 0x60, 0x10, 0x00, 0x01, 0x0c, + 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, + 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, + 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, + 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, + 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x08, 0x01, 0xbb, 0x01, 0x70, 0x6f, 0x00, 0x01, 0x0b, + 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, + 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, + 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, + 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, + 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, + 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x04, + 0x01, 0x55, 0x01, 0x30, 0x47, 0x00, + + /* 41 SECTION_SIGN */ + 0x89, 0x00, 0x01, 0x35, 0x01, 0x64, 0x01, 0x31, 0x0e, 0x00, 0x01, 0x01, + 0x01, 0x9e, 0x03, 0xff, 0x01, 0xd9, 0x01, 0x30, 0x0c, 0x00, 0x01, 0x2e, + 0x05, 0xff, 0x01, 0xb0, 0x0c, 0x00, 0x01, 0xef, 0x01, 0xff, 0x01, 0xfb, + 0x01, 0x98, 0x01, 0xae, 0x01, 0xff, 0x01, 0xb0, 0x0b, 0x00, 0x01, 0x07, + 0x01, 0xff, 0x01, 0xfc, 0x01, 0x10, 0x02, 0x00, 0x01, 0x39, 0x01, 0xa0, + 0x0b, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0c, + 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf3, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x20, 0x10, 0x00, + 0x01, 0xdf, 0x01, 0xff, 0x01, 0xe4, 0x10, 0x00, 0x01, 0x1d, 0x02, 0xff, + 0x01, 0xa1, 0x0f, 0x00, 0x01, 0x4e, 0x03, 0xff, 0x01, 0x70, 0x0d, 0x00, + 0x01, 0x06, 0x01, 0xff, 0x01, 0xf9, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xfd, + 0x01, 0x30, 0x0c, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0x60, 0x01, 0x07, + 0x02, 0xff, 0x01, 0xf8, 0x0c, 0x00, 0x01, 0xbf, 0x01, 0xf9, 0x02, 0x00, + 0x01, 0x19, 0x02, 0xff, 0x01, 0xc0, 0x0b, 0x00, 0x01, 0xff, 0x01, 0xf3, + 0x03, 0x00, 0x01, 0x4e, 0x01, 0xff, 0x01, 0xfb, 0x0a, 0x00, 0x01, 0x01, + 0x01, 0xff, 0x01, 0xf2, 0x03, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x01, 0xff, + 0x01, 0x40, 0x09, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf7, 0x04, 0x00, + 0x01, 0x2f, 0x01, 0xff, 0x01, 0x90, 0x0a, 0x00, 0x01, 0xdf, 0x01, 0xff, + 0x01, 0x20, 0x03, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xb0, 0x0a, 0x00, + 0x01, 0x6f, 0x01, 0xff, 0x01, 0xf5, 0x03, 0x00, 0x01, 0x08, 0x01, 0xff, + 0x01, 0xa0, 0x0a, 0x00, 0x01, 0x0a, 0x02, 0xff, 0x01, 0x91, 0x02, 0x00, + 0x01, 0x0c, 0x01, 0xff, 0x01, 0x70, 0x0b, 0x00, 0x01, 0x8f, 0x01, 0xff, + 0x01, 0xfe, 0x01, 0x60, 0x01, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0x10, + 0x0b, 0x00, 0x01, 0x03, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x46, + 0x01, 0xff, 0x01, 0xf5, 0x0d, 0x00, 0x01, 0x07, 0x04, 0xff, 0x01, 0x50, + 0x0e, 0x00, 0x01, 0x2a, 0x02, 0xff, 0x01, 0xf5, 0x10, 0x00, 0x01, 0x4e, + 0x01, 0xff, 0x01, 0xfe, 0x01, 0x20, 0x0f, 0x00, 0x01, 0x01, 0x01, 0xcf, + 0x01, 0xff, 0x01, 0xc0, 0x10, 0x00, 0x01, 0x1e, 0x01, 0xff, 0x01, 0xf3, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x05, + 0x01, 0xff, 0x01, 0xf6, 0x0b, 0x00, 0x01, 0x01, 0x04, 0x00, 0x01, 0x0a, + 0x01, 0xff, 0x01, 0xf3, 0x0b, 0x00, 0x01, 0x08, 0x01, 0xe8, 0x01, 0x20, + 0x01, 0x00, 0x01, 0x01, 0x01, 0x8f, 0x01, 0xff, 0x01, 0xe0, 0x0b, 0x00, + 0x01, 0x08, 0x01, 0xff, 0x01, 0xfe, 0x01, 0xcb, 0x01, 0xdf, 0x02, 0xff, + 0x01, 0x40, 0x0b, 0x00, 0x01, 0x08, 0x05, 0xff, 0x01, 0xf5, 0x0d, 0x00, + 0x01, 0x49, 0x01, 0xdf, 0x02, 0xff, 0x01, 0xe8, 0x01, 0x20, 0x0f, 0x00, + 0x01, 0x12, 0x01, 0x21, 0x7f, 0x00, + + /* 42 NOT_SIGN */ + 0xff, 0x00, 0x7f, 0x00, 0x01, 0x12, 0x0c, 0x22, 0x06, 0x00, 0x01, 0x9f, + 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, + 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x24, + 0x0a, 0x44, 0x01, 0x6f, 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2f, + 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x40, + 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2f, + 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x40, + 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2f, + 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x17, 0x01, 0x77, 0x01, 0x10, + 0xff, 0x00, 0x34, 0x00 +#endif // TOUCH_UI_UTF8_SYMBOLS +}; diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extras/bitmap2cpp.py b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extras/bitmap2cpp.py new file mode 100644 index 0000000000..c295dfc5b8 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extras/bitmap2cpp.py @@ -0,0 +1,108 @@ +#!/usr/bin/python + +# Written By Marcio Teixeira 2019 - Aleph Objects, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# To view a copy of the GNU General Public License, go to the following +# location: . + +from __future__ import print_function +from PIL import Image +import argparse +import textwrap + +def pack_rle(data): + """Use run-length encoding to pack the bytes""" + rle = [] + value = data[0] + count = 0 + for i in data: + if i != value or count == 255: + rle.append(count) + rle.append(value) + value = i + count = 1 + else: + count += 1 + rle.append(count) + rle.append(value) + return rle + +class WriteSource: + def __init__(self, lines_in_blocks): + self.blocks = [] + self.values = [] + self.block_size = lines_in_blocks + self.rows = 0 + + def add_pixel(self, value): + self.values.append(value) + + def convert_to_4bpp(self, data, chunk_size = 0): + # Invert the image + data = map(lambda i: 255 - i, data) + # Quanitize 8-bit values into 4-bits + data = map(lambda i: i >> 4, data) + # Make sure there is an even number of elements + if (len(data) & 1) == 1: + result.append(0) + # Combine each two adjacent values into one + i = iter(data) + data = map(lambda a, b: a << 4 | b, i ,i) + # Pack the data + data = pack_rle(data) + # Convert values into hex strings + return map(lambda a: "0x" + format(a, '02x'), data) + + def end_row(self, y): + # Pad each row into even number of values + if len(self.values) & 1: + self.values.append(0) + + self.rows += 1 + if self.block_size and (self.rows % self.block_size) == 0: + self.blocks.append(self.values) + self.values = [] + + def write(self): + if len(self.values): + self.blocks.append(self.values) + + block_strs = []; + for b in self.blocks: + data = self.convert_to_4bpp(b) + data = ', '.join(data) + data = textwrap.fill(data, 75, initial_indent = ' ', subsequent_indent = ' ') + block_strs.append(data) + + print("const unsigned char font[] PROGMEM = {") + for i, b in enumerate(block_strs): + if i: + print(',') + print('\n /* {} */'.format(i)) + print(b, end='') + print("\n};") + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Converts a grayscale bitmap into a 16-level RLE packed C array for use as font data') + parser.add_argument("input") + parser.add_argument('--char_height', help='Adds a separator every so many lines', type=int) + args = parser.parse_args() + + writer = WriteSource(args.char_height) + + img = Image.open(args.input).convert('L') + for y in range(img.height): + for x in range(img.width): + writer.add_pixel(img.getpixel((x,y))) + writer.end_row(y) + writer.write() diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.cpp new file mode 100644 index 0000000000..5d33fc850f --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.cpp @@ -0,0 +1,27 @@ +/**************** + * language.cpp * + ****************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + + +#include "../../../../../Marlin.h" + +#include "language.h" + +uint8_t lang = 0; diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.h new file mode 100644 index 0000000000..a8a700864b --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.h @@ -0,0 +1,89 @@ +/************** + * language.h * + **************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ +#pragma once + +typedef const char Language_Str[]; + +// Count how many languages are defined. + +#if defined(LCD_LANGUAGE_5) + #define NUM_LANGUAGES 5 +#elif defined(LCD_LANGUAGE_4) + #define NUM_LANGUAGES 4 +#elif defined(LCD_LANGUAGE_3) + #define NUM_LANGUAGES 3 +#elif defined(LCD_LANGUAGE_2) + #define NUM_LANGUAGES 2 +#else + #define NUM_LANGUAGES 1 +#endif + +// Set undefined languages equal to the last and +// let the compiler optimize out the duplicates + +#ifndef LCD_LANGUAGE_1 + #define LCD_LANGUAGE_1 LCD_LANGUAGE +#endif + +#ifndef LCD_LANGUAGE_2 + #define LCD_LANGUAGE_2 LCD_LANGUAGE_1 +#endif + +#ifndef LCD_LANGUAGE_3 + #define LCD_LANGUAGE_3 LCD_LANGUAGE_2 +#endif + +#ifndef LCD_LANGUAGE_4 + #define LCD_LANGUAGE_4 LCD_LANGUAGE_3 +#endif + +#ifndef LCD_LANGUAGE_5 + #define LCD_LANGUAGE_5 LCD_LANGUAGE_4 +#endif + +// Indirection required to paste together the namespace name + +#define _GET_LANG(LANG) Language_##LANG +#define GET_LANG(LANG) _GET_LANG(LANG) + +#if NUM_LANGUAGES > 1 + extern uint8_t lang; + // The compiler does a good job of "flattening" out this + // if statement when there are fewer than five languages. + #define GET_TEXT(MSG) ( \ + lang == 0 ? GET_LANG(LCD_LANGUAGE_1)::MSG : \ + lang == 1 ? GET_LANG(LCD_LANGUAGE_2)::MSG : \ + lang == 2 ? GET_LANG(LCD_LANGUAGE_3)::MSG : \ + lang == 3 ? GET_LANG(LCD_LANGUAGE_4)::MSG : \ + GET_LANG(LCD_LANGUAGE_5)::MSG \ + ) +#else + #define GET_TEXT(MSG) GET_LANG(LCD_LANGUAGE_1)::MSG +#endif +#define GET_TEXTF(MSG) reinterpret_cast(GET_TEXT(MSG)) + +#define GET_LANGUAGE_NAME(N) GET_LANG(LCD_LANGUAGE_##N)::LANGUAGE + +// All the language tables go here + +#include "language_en.h" +#include "language_de.h" +#include "language_fr.h" diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_de.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_de.h new file mode 100644 index 0000000000..3c26bfb3d8 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_de.h @@ -0,0 +1,80 @@ +/***************** + * language_de.h * + *****************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +namespace Language_de { + using namespace Language_en; // Inherit undefined strings from English + + PROGMEM Language_Str LANGUAGE = u8"Deutsche"; + + PROGMEM Language_Str YES = u8"JA"; + PROGMEM Language_Str NO = u8"NEIN"; + PROGMEM Language_Str BACK = u8"Zurück"; + + PROGMEM Language_Str MOVE_AXIS = u8"Achsen bewegen"; + PROGMEM Language_Str MOTORS_OFF = u8"Motoren deaktivieren"; + PROGMEM Language_Str TEMPERATURE = u8"Temperatur"; + PROGMEM Language_Str CHANGE_FILAMENT = u8"Filament wechseln"; + PROGMEM Language_Str ADVANCED_SETTINGS = u8"Erw. Einstellungen"; + PROGMEM Language_Str ABOUT_PRINTER = u8"Über den Drucker"; + PROGMEM Language_Str PRINTER_STATISTICS = u8"Drucker-Statistik"; + + PROGMEM Language_Str ZPROBE_ZOFFSET = u8"Sondenversatz Z"; + PROGMEM Language_Str TOOL_OFFSETS = u8"Werkzeugversätze"; + PROGMEM Language_Str VELOCITY = u8"Geschwindigkeit"; + PROGMEM Language_Str ACCELERATION = u8"Beschleunigung"; + PROGMEM Language_Str ACCEL_PRINTING = u8"Beschleunigung"; + PROGMEM Language_Str ACCEL_TRAVEL = u8"A Einzug"; + PROGMEM Language_Str ACCEL_RETRACT = u8"A Leerfahrt"; + PROGMEM Language_Str BACKLASH = u8"Spiel"; + PROGMEM Language_Str SMOOTHING = u8"Glätten"; + PROGMEM Language_Str CORRECTION = u8"Korrektur"; + PROGMEM Language_Str ENDSTOPS = u8"Endstopp"; + PROGMEM Language_Str SOFT_ENDSTOPS = u8"Software-Endstopp"; + PROGMEM Language_Str RESTORE_DEFAULTS = u8"Standardwerte laden"; + + + PROGMEM Language_Str HOTEND = u8"Düse"; + PROGMEM Language_Str HOTEND1 = u8"Düse 1"; + PROGMEM Language_Str HOTEND2 = u8"Düse 2"; + PROGMEM Language_Str HOTEND3 = u8"Düse 3"; + PROGMEM Language_Str HOTEND4 = u8"Düse 4"; + PROGMEM Language_Str BED = u8"Bett"; + PROGMEM Language_Str AXIS_ALL = u8"Alle"; + + PROGMEM Language_Str FAN_SPEED = u8"Lüfter"; + + PROGMEM Language_Str PRINT_FILE = u8"Drucken"; + + PROGMEM Language_Str RESUME_PRINT = u8"SD-Druck fortsetzen"; + PROGMEM Language_Str PAUSE_PRINT = u8"SD-Druck pausieren"; + PROGMEM Language_Str STOP_PRINT = u8"SD-Druck abbrechen"; + + PROGMEM Language_Str INFO_PRINT_COUNT = u8"Gesamte Drucke"; + PROGMEM Language_Str INFO_COMPLETED_PRINTS = u8"Komplette Drucke"; + PROGMEM Language_Str INFO_PRINT_TIME = u8"Gesamte Druckzeit"; + PROGMEM Language_Str INFO_PRINT_LONGEST = u8"Längste Druckzeit"; + PROGMEM Language_Str INFO_PRINT_FILAMENT = u8"Gesamt Extrudiert"; + + PROGMEM Language_Str PRINTER_HALTED = u8"DRUCKER GESTOPPT"; + PROGMEM Language_Str PLEASE_RESET = u8"Bitte neustarten"; +}; // namespace Language_de diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_en.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_en.h new file mode 100644 index 0000000000..67904ceaef --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_en.h @@ -0,0 +1,231 @@ +/***************** + * language_en.h * + *****************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +#include "language.h" + +namespace Language_en { + PROGMEM Language_Str LANGUAGE = u8"English"; + + PROGMEM Language_Str YES = u8"Yes"; + PROGMEM Language_Str NO = u8"No"; + PROGMEM Language_Str BACK = u8"Back"; + PROGMEM Language_Str OKAY = u8"Okay"; + PROGMEM Language_Str MENU = u8"Menu"; + PROGMEM Language_Str MEDIA = u8"Media"; + + PROGMEM Language_Str AUTO_HOME = u8"Auto Home"; + PROGMEM Language_Str CLEAN_NOZZLE = u8"Clean Nozzle"; + PROGMEM Language_Str MOVE_AXIS = u8"Move Axis"; + PROGMEM Language_Str MOTORS_OFF = u8"Motors Off"; + PROGMEM Language_Str TEMPERATURE = u8"Temperature"; + PROGMEM Language_Str CHANGE_FILAMENT = u8"Change Filament"; + PROGMEM Language_Str ADVANCED_SETTINGS = u8"Advanced Settings"; + PROGMEM Language_Str ABOUT_PRINTER = u8"About Printer"; + PROGMEM Language_Str PRINTER_STATISTICS = u8"Printer Statistics"; + + PROGMEM Language_Str ZPROBE_ZOFFSET = u8"Z Offset"; + PROGMEM Language_Str STEPS_PER_MM = u8"Steps/mm"; + PROGMEM Language_Str TOOL_OFFSETS = u8"Tool Offsets"; + PROGMEM Language_Str VELOCITY = u8"Velocity"; + PROGMEM Language_Str VMAX_X = u8"Vmax X"; + PROGMEM Language_Str VMAX_Y = u8"Vmax Y"; + PROGMEM Language_Str VMAX_Z = u8"Vmax Z"; + PROGMEM Language_Str VMAX_E1 = u8"Vmax E1"; + PROGMEM Language_Str VMAX_E2 = u8"Vmax E2"; + PROGMEM Language_Str VMAX_E3 = u8"Vmax E3"; + PROGMEM Language_Str VMAX_E4 = u8"Vmax E4"; + PROGMEM Language_Str ACCELERATION = u8"Acceleration"; + PROGMEM Language_Str ACCEL_PRINTING = u8"Printing"; + PROGMEM Language_Str ACCEL_TRAVEL = u8"Travel"; + PROGMEM Language_Str ACCEL_RETRACT = u8"Retraction"; + PROGMEM Language_Str AMAX_X = u8"Amax X"; + PROGMEM Language_Str AMAX_Y = u8"Amax Y"; + PROGMEM Language_Str AMAX_Z = u8"Amax Z"; + PROGMEM Language_Str AMAX_E1 = u8"Amax E1"; + PROGMEM Language_Str AMAX_E2 = u8"Amax E2"; + PROGMEM Language_Str AMAX_E3 = u8"Amax E3"; + PROGMEM Language_Str AMAX_E4 = u8"Amax E4"; + PROGMEM Language_Str JERK = u8"Jerk"; + PROGMEM Language_Str JUNC_DEVIATION = u8"Junc Dev"; + PROGMEM Language_Str BACKLASH = u8"Backlash"; + PROGMEM Language_Str SMOOTHING = u8"Smoothing"; + PROGMEM Language_Str CORRECTION = u8"Correction"; + PROGMEM Language_Str MOTOR_CURRENT = u8"Currents"; + PROGMEM Language_Str FILAMENT = u8"Filament"; + PROGMEM Language_Str ENDSTOPS = u8"Endstops"; + PROGMEM Language_Str SOFT_ENDSTOPS = u8"Soft Endstops"; + PROGMEM Language_Str RESTORE_DEFAULTS = u8"Restore Defaults"; + + PROGMEM Language_Str HOTEND = u8"Hot End"; + PROGMEM Language_Str HOTEND1 = u8"Hot End 1"; + PROGMEM Language_Str HOTEND2 = u8"Hot End 2"; + PROGMEM Language_Str HOTEND3 = u8"Hot End 3"; + PROGMEM Language_Str HOTEND4 = u8"Hot End 4"; + PROGMEM Language_Str BED = u8"Bed"; + PROGMEM Language_Str AXIS_X = u8"X"; + PROGMEM Language_Str AXIS_Y = u8"Y"; + PROGMEM Language_Str AXIS_Z = u8"Z"; + PROGMEM Language_Str AXIS_E = u8"E"; + PROGMEM Language_Str AXIS_E1 = u8"E1"; + PROGMEM Language_Str AXIS_E2 = u8"E2"; + PROGMEM Language_Str AXIS_E3 = u8"E3"; + PROGMEM Language_Str AXIS_E4 = u8"E4"; + PROGMEM Language_Str AXIS_ALL = u8"All"; + PROGMEM Language_Str HOME = u8"Home"; + + PROGMEM Language_Str FAN_SPEED = u8"Fan Speed"; + PROGMEM Language_Str RUNOUT_SENSOR = u8"Runout Sensor"; + + PROGMEM Language_Str OPEN_DIR = u8"Open"; + PROGMEM Language_Str PRINT_FILE = u8"Print"; + + PROGMEM Language_Str RESUME_PRINT = u8"Resume Print"; + PROGMEM Language_Str PAUSE_PRINT = u8"Pause Print"; + PROGMEM Language_Str STOP_PRINT = u8"Stop Print"; + + PROGMEM Language_Str PRINT_STARTING = u8"Print starting"; + PROGMEM Language_Str PRINT_FINISHED = u8"Print finished"; + PROGMEM Language_Str PRINT_ERROR = u8"Print error"; + + PROGMEM Language_Str INFO_PRINT_COUNT = u8"Print Count"; + PROGMEM Language_Str INFO_COMPLETED_PRINTS = u8"Total Prints"; + PROGMEM Language_Str INFO_PRINT_TIME = u8"Total Print Time"; + PROGMEM Language_Str INFO_PRINT_LONGEST = u8"Longest Print"; + PROGMEM Language_Str INFO_PRINT_FILAMENT = u8"Filament Used"; + + PROGMEM Language_Str PRINTER_HALTED = u8"PRINTER HALTED"; + PROGMEM Language_Str PLEASE_RESET = u8"Please reset"; + + PROGMEM Language_Str COLOR_TOUCH_PANEL = u8"Color Touch Panel"; + #if ENABLED(TOUCH_UI_UTF8_COPYRIGHT) + PROGMEM Language_Str ABOUT_ALEPH_OBJECTS = u8"© 2019 Aleph Objects, Inc.\n\nwww.lulzbot.com"; + #else + PROGMEM Language_Str ABOUT_ALEPH_OBJECTS = u8"(C) 2019 Aleph Objects, Inc.\n\nwww.lulzbot.com"; + #endif + + PROGMEM Language_Str FIRMWARE_FOR_TOOLHEAD = u8"Firmware for toolhead:\n%s\n\n"; + + PROGMEM Language_Str HOME_SENSE = u8"Home Sense"; + PROGMEM Language_Str X_MAX = u8"X Max"; + PROGMEM Language_Str X_MIN = u8"X Min"; + PROGMEM Language_Str Y_MAX = u8"Y Max"; + PROGMEM Language_Str Y_MIN = u8"Y Min"; + PROGMEM Language_Str Z_MAX = u8"Z Max"; + PROGMEM Language_Str Z_MIN = u8"Z Min"; + PROGMEM Language_Str Z_PROBE = u8"Z Probe"; + PROGMEM Language_Str RUNOUT_1 = u8"Runout 1"; + PROGMEM Language_Str RUNOUT_2 = u8"Runout 2"; + PROGMEM Language_Str DISPLAY_MENU = u8"Display"; + PROGMEM Language_Str INTERFACE_SETTINGS = u8"Interface Settings"; + PROGMEM Language_Str MEASURE_AUTOMATICALLY = u8"Measure automatically"; + PROGMEM Language_Str H_OFFSET = u8"H Offset"; + PROGMEM Language_Str V_OFFSET = u8"V Offset"; + PROGMEM Language_Str TOUCH_SCREEN = u8"Touch Screen"; + PROGMEM Language_Str CALIBRATE = u8"Calibrate"; + + PROGMEM Language_Str UNITS_MILLIAMP = u8"mA"; + PROGMEM Language_Str UNITS_MM = u8"mm"; + PROGMEM Language_Str UNITS_MM_S = u8"mm/s"; + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + PROGMEM Language_Str UNITS_MM_S2 = u8"mm/s²"; + #else + PROGMEM Language_Str UNITS_MM_S2 = u8"mm/s^2"; + #endif + PROGMEM Language_Str UNITS_STEP_MM = u8"st/mm"; + PROGMEM Language_Str UNITS_PERCENT = u8"%"; + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + PROGMEM Language_Str UNITS_C = u8"°C"; + #else + PROGMEM Language_Str UNITS_C = u8" C"; + #endif + PROGMEM Language_Str MATERIAL_PLA = u8"PLA"; + PROGMEM Language_Str MATERIAL_ABS = u8"ABS"; + PROGMEM Language_Str MATERIAL_HIGH_TEMP = u8"High"; + PROGMEM Language_Str TEMP_IDLE = u8"idle"; + + PROGMEM Language_Str PRINTING = u8"Printing"; + PROGMEM Language_Str SET_MAXIMUM = u8"Set Maximum"; + PROGMEM Language_Str DETECTION_THRESHOLD = u8"Detection Threshold"; + PROGMEM Language_Str DISTANCE = u8"Distance"; + PROGMEM Language_Str COOLDOWN = u8"Cooldown (All Off)"; + PROGMEM Language_Str PRINT_SPEED = u8"Print Speed"; + PROGMEM Language_Str SPEED = u8"Speed"; + PROGMEM Language_Str LINEAR_ADVANCE = u8"Linear Advance"; + PROGMEM Language_Str LINEAR_ADVANCE_K = u8"K"; + PROGMEM Language_Str LINEAR_ADVANCE_K1 = u8"K E1"; + PROGMEM Language_Str LINEAR_ADVANCE_K2 = u8"K E2"; + PROGMEM Language_Str LINEAR_ADVANCE_K3 = u8"K E3"; + PROGMEM Language_Str LINEAR_ADVANCE_K4 = u8"K E4"; + PROGMEM Language_Str NUDGE_NOZZLE = u8"Nudge Nozzle"; + PROGMEM Language_Str ADJUST_BOTH_NOZZLES = u8"Adjust Both Nozzles"; + PROGMEM Language_Str SHOW_OFFSETS = u8"Show Offsets"; + PROGMEM Language_Str INCREMENT = u8"Increment"; + PROGMEM Language_Str ERASE_FLASH_WARNING = u8"Are you sure? SPI flash will be erased."; + PROGMEM Language_Str ERASING = u8"Erasing..."; + PROGMEM Language_Str ERASED = u8"SPI flash erased"; + PROGMEM Language_Str CALIBRATION_WARNING = u8"For best results, unload the filament and clean the hotend prior to starting calibration. Continue?"; + PROGMEM Language_Str ABORT_WARNING = u8"Are you sure you want to cancel the print?"; + PROGMEM Language_Str EXTRUDER_SELECTION = u8"Extruder Selection"; + PROGMEM Language_Str CURRENT_TEMPERATURE = u8"Current Temp"; + PROGMEM Language_Str REMOVAL_TEMPERATURE = u8"Removal Temp"; + PROGMEM Language_Str HEATING = u8"Heating"; + PROGMEM Language_Str CAUTION = u8"Caution:"; + PROGMEM Language_Str HOT = u8"Hot!"; + PROGMEM Language_Str UNLOAD_FILAMENT = u8"Unload"; + PROGMEM Language_Str LOAD_FILAMENT = u8"Load/Extruder"; + PROGMEM Language_Str MOMENTARY = u8"Momentary"; + PROGMEM Language_Str CONTINUOUS = u8"Continuous"; + PROGMEM Language_Str PLEASE_WAIT = u8"Please wait..."; + PROGMEM Language_Str PRINT_MENU = u8"Print Menu"; + PROGMEM Language_Str FINE_MOTION = u8"Fine motion"; + PROGMEM Language_Str ENABLE_MEDIA = u8"Enable Media"; + PROGMEM Language_Str INSERT_MEDIA = u8"Insert Media..."; + PROGMEM Language_Str LCD_BRIGHTNESS = u8"LCD brightness"; + PROGMEM Language_Str SOUND_VOLUME = u8"Sound volume"; + PROGMEM Language_Str SCREEN_LOCK = u8"Screen lock"; + PROGMEM Language_Str BOOT_SCREEN = u8"Boot screen"; + PROGMEM Language_Str INTERFACE_SOUNDS = u8"Interface Sounds"; + PROGMEM Language_Str CLICK_SOUNDS = u8"Click sounds"; + PROGMEM Language_Str EEPROM_RESTORED = u8"Settings restored from backup"; + PROGMEM Language_Str EEPROM_RESET = u8"Settings restored to default"; + PROGMEM Language_Str EEPROM_SAVED = u8"Settings saved!"; + PROGMEM Language_Str EEPROM_SAVE_PROMPT = u8"Do you wish to save these settings as defaults?"; + PROGMEM Language_Str EEPROM_RESET_WARNING = u8"Are you sure? Customizations will be lost."; + + PROGMEM Language_Str PASSCODE_REJECTED = u8"Wrong passcode!"; + PROGMEM Language_Str PASSCODE_ACCEPTED = u8"Passcode accepted!"; + PROGMEM Language_Str PASSCODE_SELECT = u8"Select Passcode:"; + PROGMEM Language_Str PASSCODE_REQUEST = u8"Enter Passcode:"; + + PROGMEM Language_Str TOUCH_CALIBRATION_START = u8"Release to begin screen calibration"; + PROGMEM Language_Str TOUCH_CALIBRATION_PROMPT = u8"Touch the dots to calibrate"; + + #ifdef LULZBOT_USE_BIOPRINTER_UI + PROGMEM Language_Str MAIN_MENU = u8"Main Menu"; + PROGMEM Language_Str RELEASE_XY_AXIS = u8"Release XY Axis"; + PROGMEM Language_Str LOAD_SYRINGE = u8"Load Syringe"; + PROGMEM Language_Str BED_TEMPERATURE = u8"Bed Temperature"; + PROGMEM Language_Str LOADING_WARNING = u8"About to home to loading position. Ensure the top and the bed of the printer are clear.\n\nContinue?"; + PROGMEM Language_Str HOMING_WARNING = u8"About to re-home plunger and auto-level. Remove syringe prior to proceeding.\n\nContinue?"; + #endif +}; // namespace Language_en diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_fr.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_fr.h new file mode 100644 index 0000000000..a9ad20d320 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_fr.h @@ -0,0 +1,86 @@ +/***************** + * language_fr.h * + *****************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +namespace Language_fr { + using namespace Language_en; // Inherit undefined strings from English + + PROGMEM Language_Str LANGUAGE = u8"Français"; + + PROGMEM Language_Str YES = u8"oui"; + PROGMEM Language_Str NO = u8"non"; + PROGMEM Language_Str BACK = u8"Retour"; + + PROGMEM Language_Str AUTO_HOME = u8"Origine auto"; + //PROGMEM Language_Str CLEAN_NOZZLE = u8"Clean Nozzle"; + PROGMEM Language_Str MOVE_AXIS = u8"Déplacer un axe"; + PROGMEM Language_Str MOTORS_OFF = u8"Arrêter moteurs"; + PROGMEM Language_Str TEMPERATURE = u8"Température"; + PROGMEM Language_Str CHANGE_FILAMENT = u8"Changer filament"; + PROGMEM Language_Str ADVANCED_SETTINGS = u8"Config. avancée"; + PROGMEM Language_Str ABOUT_PRINTER = u8"Infos imprimante"; + PROGMEM Language_Str PRINTER_STATISTICS = u8"Stats. imprimante"; + + PROGMEM Language_Str ZPROBE_ZOFFSET = u8"Décalage Z"; + PROGMEM Language_Str STEPS_PER_MM = u8"Pas/mm"; + PROGMEM Language_Str TOOL_OFFSETS = u8"Offsets Outil"; + PROGMEM Language_Str VELOCITY = u8"Vélocité"; + PROGMEM Language_Str ACCELERATION = u8"Accélération"; + PROGMEM Language_Str ACCEL_PRINTING = u8"A impr."; + PROGMEM Language_Str ACCEL_TRAVEL = u8"A dépl."; + PROGMEM Language_Str ACCEL_RETRACT = u8"A retrait"; + PROGMEM Language_Str JUNC_DEVIATION = u8"Déviat. jonct."; + //PROGMEM Language_Str BACKLASH = u8"Backlash"; + PROGMEM Language_Str SMOOTHING = u8"Lissage"; + PROGMEM Language_Str MOTOR_CURRENT = u8"Courant"; + PROGMEM Language_Str ENDSTOPS = u8"Butées"; + PROGMEM Language_Str SOFT_ENDSTOPS = u8"Butées SW"; + PROGMEM Language_Str RESTORE_DEFAULTS = u8"Restaurer défauts"; + + + PROGMEM Language_Str HOTEND = u8"Buse"; + PROGMEM Language_Str HOTEND1 = u8"Buse 1"; + PROGMEM Language_Str HOTEND2 = u8"Buse 2"; + PROGMEM Language_Str HOTEND3 = u8"Buse 3"; + PROGMEM Language_Str HOTEND4 = u8"Buse 4"; + PROGMEM Language_Str BED = u8"Lit"; + PROGMEM Language_Str AXIS_ALL = u8"Tous"; + PROGMEM Language_Str HOME = u8"Origine"; + + PROGMEM Language_Str FAN_SPEED = u8"Vitesse ventil."; + PROGMEM Language_Str RUNOUT_SENSOR = u8"Capteur fil."; + + PROGMEM Language_Str PRINT_FILE = u8"Imprimer"; + + PROGMEM Language_Str RESUME_PRINT = u8"Reprendre impr."; + PROGMEM Language_Str PAUSE_PRINT = u8"Pause impression"; + PROGMEM Language_Str STOP_PRINT = u8"Arrêter impr."; + + PROGMEM Language_Str INFO_PRINT_COUNT = u8"Nbre impressions"; + PROGMEM Language_Str INFO_COMPLETED_PRINTS = u8"Terminées"; + PROGMEM Language_Str INFO_PRINT_TIME = u8"Tps impr. total"; + PROGMEM Language_Str INFO_PRINT_LONGEST = u8"Impr. la + longue"; + PROGMEM Language_Str INFO_PRINT_FILAMENT = u8"Total filament"; + + PROGMEM Language_Str PRINTER_HALTED = u8"IMPR. STOPPÉE"; + PROGMEM Language_Str PLEASE_RESET = u8"Redémarrer SVP"; +}; // namespace Language_fr diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/languages.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/languages.h new file mode 100644 index 0000000000..03edc55157 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/languages.h @@ -0,0 +1,26 @@ +/*************** + * languages.h * + ***************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +#include "language_en.h" +#include "language_de.h" +#include "language_fr.h" diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/about_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/about_screen.cpp index f27d1401fc..b062446cab 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/about_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/about_screen.cpp @@ -49,22 +49,33 @@ void AboutScreen::onRedraw(draw_mode_t) { #ifdef LULZBOT_LCD_MACHINE_NAME LULZBOT_LCD_MACHINE_NAME #else - "Color Touch Panel" + GET_TEXTF(COLOR_TOUCH_PANEL) #endif ), OPT_CENTER, font_xlarge); + #ifdef LULZBOT_LCD_TOOLHEAD_NAME + char about_str[ + strlen_P(GET_TEXT(FIRMWARE_FOR_TOOLHEAD)) + + strlen_P(LULZBOT_LCD_TOOLHEAD_NAME) + + strlen_P(GET_TEXT(ABOUT_ALEPH_OBJECTS)) + 1]; + + sprintf_P(about_str, GET_TEXT(FIRMWARE_FOR_TOOLHEAD), LULZBOT_LCD_TOOLHEAD_NAME); + strcat_P(about_str, GET_TEXT(ABOUT_ALEPH_OBJECTS)); + #endif + cmd.tag(2); - draw_text_box(cmd, BTN_POS(1,3), BTN_SIZE(4,3), F( + draw_text_box(cmd, BTN_POS(1,3), BTN_SIZE(4,3), #ifdef LULZBOT_LCD_TOOLHEAD_NAME - "Firmware for toolhead:\n" LULZBOT_LCD_TOOLHEAD_NAME "\n\n" + about_str + #else + GET_TEXTF(ABOUT_ALEPH_OBJECTS) #endif - "(C) 2019 Aleph Objects, Inc.\n\nwww.lulzbot.com" - ), OPT_CENTER, font_medium); + , OPT_CENTER, font_medium); cmd.tag(0); draw_text_box(cmd, BTN_POS(1,6), BTN_SIZE(4,2), progmem_str(getFirmwareName_str()), OPT_CENTER, font_medium); - cmd.font(font_medium).colors(action_btn).tag(1).button(BTN_POS(2,8), BTN_SIZE(2,1), F("Okay")); + cmd.font(font_medium).colors(action_btn).tag(1).button(BTN_POS(2,8), BTN_SIZE(2,1), GET_TEXTF(OKAY)); } bool AboutScreen::onTouchEnd(uint8_t tag) { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/advanced_settings_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/advanced_settings_menu.cpp index f711003c70..f4aad3b593 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/advanced_settings_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/advanced_settings_menu.cpp @@ -49,52 +49,52 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { #else .enabled(0) #endif - .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), F("Z Offset ")) + .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXTF(ZPROBE_ZOFFSET)) .enabled(1) - .tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), F("Steps/mm")) + .tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(STEPS_PER_MM)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(13).button( BTN_POS(1,5), BTN_SIZE(1,1), F("Motor mA")) + .tag(13).button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXTF(MOTOR_CURRENT)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(14).button( BTN_POS(1,4), BTN_SIZE(1,1), F("Bump Sense")) + .tag(14).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(HOME_SENSE)) #if HOTENDS > 1 .enabled(1) #else .enabled(0) #endif - .tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), F("Nozzle Offset")) + .tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXTF(TOOL_OFFSETS)) #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) .enabled(1) #else .enabled(0) #endif - .tag(11).button( BTN_POS(1,3), BTN_SIZE(1,1), F("Filament")) - .tag(12).button( BTN_POS(1,6), BTN_SIZE(1,1), F("Endstops")) - .tag(15).button( BTN_POS(2,6), BTN_SIZE(1,1), F("Display")) - .tag(9) .button( BTN_POS(1,7), BTN_SIZE(2,1), F("Interface Settings")) - .tag(10).button( BTN_POS(1,8), BTN_SIZE(2,1), F("Restore Factory Defaults")) - .tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), F("Velocity ")) - .tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), F("Acceleration")) + .tag(11).button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXTF(FILAMENT)) + .tag(12).button( BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXTF(ENDSTOPS)) + .tag(15).button( BTN_POS(2,6), BTN_SIZE(1,1), GET_TEXTF(DISPLAY_MENU)) + .tag(9) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(INTERFACE_SETTINGS)) + .tag(10).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(RESTORE_DEFAULTS)) + .tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(VELOCITY)) + .tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXTF(ACCELERATION)) #if ENABLED(JUNCTION_DEVIATION) - .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Junc Dev")) + .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JUNC_DEVIATION)) #else - .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Jerk")) + .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JERK)) #endif #if ENABLED(BACKLASH_GCODE) .enabled(1) #else .enabled(0) #endif - .tag(8).button( BTN_POS(2,5), BTN_SIZE(1,1), F("Backlash")) + .tag(8).button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXTF(BACKLASH)) .colors(action_btn) - .tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), F("Back")); + .tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS #else @@ -105,47 +105,47 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { #else .enabled(0) #endif - .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,2), F("Z Offset ")) + .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,2), GET_TEXTF(ZPROBE_ZOFFSET)) .enabled(1) - .tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), F("Steps/mm")) + .tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(STEPS_PER_MM)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(13).button( BTN_POS(3,1), BTN_SIZE(1,1), F("Motor mA")) + .tag(13).button( BTN_POS(3,1), BTN_SIZE(1,1), GET_TEXTF(MOTOR_CURRENT)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(14).button( BTN_POS(3,2), BTN_SIZE(1,1), F("Bump Sense")) + .tag(14).button( BTN_POS(3,2), BTN_SIZE(1,1), GET_TEXTF(HOME_SENSE)) #if ENABLED(BACKLASH_GCODE) .enabled(1) #else .enabled(0) #endif - .tag(8).button( BTN_POS(3,3), BTN_SIZE(1,1), F("Backlash")) + .tag(8).button( BTN_POS(3,3), BTN_SIZE(1,1), GET_TEXTF(BACKLASH)) #if HOTENDS > 1 .enabled(1) #else .enabled(0) #endif - .tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), F("Nozzle Offsets")) - .tag(12).button( BTN_POS(3,4), BTN_SIZE(1,1), F("Endstops")) - .tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), F("Velocity ")) - .tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), F("Acceleration")) + .tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXTF(TOOL_OFFSETS)) + .tag(12).button( BTN_POS(3,4), BTN_SIZE(1,1), GET_TEXTF(ENDSTOPS)) + .tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(VELOCITY)) + .tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXTF(ACCELERATION)) #if ENABLED(JUNCTION_DEVIATION) - .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Junc Dev")) + .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JUNC_DEVIATION)) #else - .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Jerk")) + .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JERK)) #endif - .tag(11).button( BTN_POS(1,4), BTN_SIZE(1,1), F("Filament")) - .tag(15).button( BTN_POS(3,5), BTN_SIZE(1,1), F("Display")) - .tag(9) .button( BTN_POS(1,5), BTN_SIZE(2,1), F("Interface Settings")) - .tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), F("Restore Defaults")) + .tag(11).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(FILAMENT)) + .tag(15).button( BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXTF(DISPLAY_MENU)) + .tag(9) .button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(INTERFACE_SETTINGS)) + .tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(RESTORE_DEFAULTS)) .colors(action_btn) - .tag(1) .button( BTN_POS(3,6), BTN_SIZE(1,1), F("Back")); + .tag(1) .button( BTN_POS(3,6), BTN_SIZE(1,1), GET_TEXTF(BACK)); #endif } } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/backlash_compensation_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/backlash_compensation_screen.cpp index 257b80004e..925a0f2f5a 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/backlash_compensation_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/backlash_compensation_screen.cpp @@ -32,17 +32,17 @@ using namespace Theme; void BacklashCompensationScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(2).units(PSTR("mm")); - w.heading( PSTR("Axis Backlash")); - w.color(x_axis).adjuster(2, PSTR("X:"), getAxisBacklash_mm(X)); - w.color(y_axis).adjuster(4, PSTR("Y:"), getAxisBacklash_mm(Y)); - w.color(z_axis).adjuster(6, PSTR("Z:"), getAxisBacklash_mm(Z)); + w.precision(2).units( GET_TEXTF(UNITS_MM)); + w.heading( GET_TEXTF(BACKLASH)); + w.color(x_axis).adjuster(2, GET_TEXTF(AXIS_X), getAxisBacklash_mm(X)); + w.color(y_axis).adjuster(4, GET_TEXTF(AXIS_Y), getAxisBacklash_mm(Y)); + w.color(z_axis).adjuster(6, GET_TEXTF(AXIS_Z), getAxisBacklash_mm(Z)); #if ENABLED(CALIBRATION_GCODE) - w.button(12, PSTR("Measure automatically")); + w.button(12, GET_TEXTF(MEASURE_AUTOMATICALLY)); #endif - w.color(other).adjuster(8, PSTR("Smoothing:"), getBacklashSmoothing_mm()); - w.precision(0).units(PSTR("%")) - .adjuster(10, PSTR("Correction:"), getBacklashCorrection_percent()); + w.color(other).adjuster(8, GET_TEXTF(SMOOTHING), getBacklashSmoothing_mm()); + w.precision(0).units(GET_TEXTF(UNITS_PERCENT)) + .adjuster(10, GET_TEXTF(CORRECTION), getBacklashCorrection_percent()); w.precision(2).increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_numeric_adjustment_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_numeric_adjustment_screen.cpp index 2fb5c98cba..480315620c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_numeric_adjustment_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_numeric_adjustment_screen.cpp @@ -33,32 +33,82 @@ using namespace Theme; #ifdef TOUCH_UI_PORTRAIT #define GRID_COLS 13 #define GRID_ROWS 10 + #define LAYOUT_FONT font_small #else #define GRID_COLS 18 #define GRID_ROWS 7 + #define LAYOUT_FONT font_medium #endif BaseNumericAdjustmentScreen::widgets_t::widgets_t(draw_mode_t what) : _what(what) { + CommandProcessor cmd; + if (what & BACKGROUND) { - CommandProcessor cmd; cmd.cmd(CLEAR_COLOR_RGB(bg_color)) - .cmd(CLEAR(true,true,true)); + .cmd(CLEAR(true,true,true)) + .colors(normal_btn) + .cmd(COLOR_RGB(bg_text_enabled)); } - if (what & FOREGROUND) { - CommandProcessor cmd; - cmd.font(font_medium) - .colors(action_btn) + cmd.font(font_medium); + _button(cmd, 1, #ifdef TOUCH_UI_PORTRAIT - .tag(1).button( BTN_POS(1,10), BTN_SIZE(13,1), F("Back")) + BTN_POS(1,10), BTN_SIZE(13,1), #else - .tag(1).button( BTN_POS(15,7), BTN_SIZE(4,1), F("Back")) + BTN_POS(15,7), BTN_SIZE(4,1), #endif - .colors(normal_btn); - } + GET_TEXTF(BACK), true, true + ); _line = 1; - _units = PSTR(""); + _units = F(""); +} + +/** + * Speed optimization for changing button style. + */ +void BaseNumericAdjustmentScreen::widgets_t::_button_style(CommandProcessor &cmd, BaseNumericAdjustmentScreen::widgets_t::style_t style) { + if (_style != style) { + const btn_colors *old_colors = &normal_btn; + const btn_colors *new_colors = &normal_btn; + + switch(_style) { + case BTN_ACTION: old_colors = &action_btn; break; + case BTN_TOGGLE: old_colors = &ui_toggle; break; + case BTN_DISABLED: old_colors = &disabled_btn; break; + default: break; + } + switch(style) { + case BTN_ACTION: new_colors = &action_btn; break; + case BTN_TOGGLE: new_colors = &ui_toggle; break; + case BTN_DISABLED: new_colors = &disabled_btn; break; + default: break; + } + + const bool rgb_changed = old_colors->rgb != new_colors->rgb; + const bool grad_changed = old_colors->grad != new_colors->grad; + const bool fg_changed = (old_colors->fg != new_colors->fg) || (_style == TEXT_AREA); + const bool bg_changed = old_colors->bg != new_colors->bg; + + if (rgb_changed) cmd.cmd(COLOR_RGB(new_colors->rgb)); + if (grad_changed) cmd.gradcolor(new_colors->grad); + if (fg_changed) cmd.fgcolor(new_colors->fg); + if (bg_changed) cmd.bgcolor(new_colors->bg); + + _style = style; + } +} + +/** + * Speed optimization for drawing buttons. Draw all unpressed buttons in the + * background layer and draw only the pressed button in the foreground layer. + */ +void BaseNumericAdjustmentScreen::widgets_t::_button(CommandProcessor &cmd, uint8_t tag, int16_t x, int16_t y, int16_t w, int16_t h, progmem_str text, bool enabled, bool highlight) { + if (_what & BACKGROUND) enabled = true; + if ((_what & BACKGROUND) || buttonIsPressed(tag) || highlight || !enabled) { + _button_style(cmd, (!enabled) ? BTN_DISABLED : (highlight ? BTN_ACTION : BTN_NORMAL)); + cmd.tag(enabled ? tag : 0).button(x, y, w, h, text); + } } BaseNumericAdjustmentScreen::widgets_t &BaseNumericAdjustmentScreen::widgets_t::precision(uint8_t decimals, precision_default_t initial) { @@ -69,15 +119,18 @@ BaseNumericAdjustmentScreen::widgets_t &BaseNumericAdjustmentScreen::widgets_t:: return *this; } -void BaseNumericAdjustmentScreen::widgets_t::heading(const char *label) { - CommandProcessor cmd; - cmd.font(font_medium).cmd(COLOR_RGB(bg_text_enabled)); +void BaseNumericAdjustmentScreen::widgets_t::heading(progmem_str label) { if (_what & BACKGROUND) { - #ifdef TOUCH_UI_PORTRAIT - cmd.tag(0).fgcolor(bg_color).button( BTN_POS(1, _line), BTN_SIZE(12,1), progmem_str(label), OPT_FLAT); - #else - cmd.tag(0).fgcolor(bg_color).button( BTN_POS(5, _line), BTN_SIZE(8,1), progmem_str(label), OPT_FLAT); - #endif + CommandProcessor cmd; + cmd.font(font_medium) + .text( + #ifdef TOUCH_UI_PORTRAIT + BTN_POS(1, _line), BTN_SIZE(12,1), + #else + BTN_POS(5, _line), BTN_SIZE(8,1), + #endif + label + ); } _line++; @@ -93,8 +146,7 @@ void BaseNumericAdjustmentScreen::widgets_t::heading(const char *label) { #endif #endif -void BaseNumericAdjustmentScreen::widgets_t::_draw_increment_btn(uint8_t, const uint8_t tag) { - CommandProcessor cmd; +void BaseNumericAdjustmentScreen::widgets_t::_draw_increment_btn(CommandProcessor &cmd, uint8_t, const uint8_t tag) { const char *label = PSTR("?"); uint8_t pos; uint8_t & increment = screen_data.BaseNumericAdjustmentScreen.increment; @@ -112,74 +164,72 @@ void BaseNumericAdjustmentScreen::widgets_t::_draw_increment_btn(uint8_t, const default: label = PSTR("100" ); pos = _decimals + 2; break; } - cmd.tag(tag) - .colors(increment == tag ? action_btn : normal_btn) - #ifdef TOUCH_UI_PORTRAIT - .font(font_small); - #else - .font(font_medium); - #endif + const bool highlight = (_what & FOREGROUND) && (increment == tag); + switch (pos) { #ifdef TOUCH_UI_PORTRAIT - case 0: cmd.button( BTN_POS(5,_line), BTN_SIZE(2,1), progmem_str(label)); break; - case 1: cmd.button( BTN_POS(7,_line), BTN_SIZE(2,1), progmem_str(label)); break; - case 2: cmd.button( BTN_POS(9,_line), BTN_SIZE(2,1), progmem_str(label)); break; + case 0: _button(cmd, tag, BTN_POS(5,_line), BTN_SIZE(2,1), progmem_str(label), true, highlight); break; + case 1: _button(cmd, tag, BTN_POS(7,_line), BTN_SIZE(2,1), progmem_str(label), true, highlight); break; + case 2: _button(cmd, tag, BTN_POS(9,_line), BTN_SIZE(2,1), progmem_str(label), true, highlight); break; #else - case 0: cmd.button( BTN_POS(15,2), BTN_SIZE(4,1), progmem_str(label)); break; - case 1: cmd.button( BTN_POS(15,3), BTN_SIZE(4,1), progmem_str(label)); break; - case 2: cmd.button( BTN_POS(15,4), BTN_SIZE(4,1), progmem_str(label)); break; + case 0: _button(cmd, tag, BTN_POS(15,2), BTN_SIZE(4,1), progmem_str(label), true, highlight); break; + case 1: _button(cmd, tag, BTN_POS(15,3), BTN_SIZE(4,1), progmem_str(label), true, highlight); break; + case 2: _button(cmd, tag, BTN_POS(15,4), BTN_SIZE(4,1), progmem_str(label), true, highlight); break; #endif } - cmd.colors(normal_btn); } - void BaseNumericAdjustmentScreen::widgets_t::increments() { + CommandProcessor cmd; + + cmd.font(LAYOUT_FONT); + if (_what & BACKGROUND) { - CommandProcessor cmd; - cmd.fgcolor(bg_color) - .tag(0) - #ifdef TOUCH_UI_PORTRAIT - .font(font_small).button( BTN_POS(1, _line), BTN_SIZE(4,1), F("Increment:"), OPT_FLAT); - #else - .font(font_medium).button( BTN_POS(15,1), BTN_SIZE(4,1), F("Increment:"), OPT_FLAT); - #endif + cmd.text( + #ifdef TOUCH_UI_PORTRAIT + BTN_POS(1, _line), BTN_SIZE(4,1), + #else + BTN_POS(15, 1), BTN_SIZE(4,1), + #endif + GET_TEXTF(INCREMENT) + ); } - if (_what & FOREGROUND) { - _draw_increment_btn(_line+1, 245 - _decimals); - _draw_increment_btn(_line+1, 244 - _decimals); - _draw_increment_btn(_line+1, 243 - _decimals); - } + _draw_increment_btn(cmd, _line+1, 245 - _decimals); + _draw_increment_btn(cmd, _line+1, 244 - _decimals); + _draw_increment_btn(cmd, _line+1, 243 - _decimals); #ifdef TOUCH_UI_PORTRAIT - _line++; + _line++; #endif } -void BaseNumericAdjustmentScreen::widgets_t::adjuster_sram_val(uint8_t tag, const char *label, const char *value, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::adjuster_sram_val(uint8_t tag, progmem_str label, const char *value, bool is_enabled) { CommandProcessor cmd; if (_what & BACKGROUND) { - cmd.enabled(1) + _button_style(cmd, TEXT_AREA); + cmd.tag(0) .font(font_small) - .fgcolor(_color) .tag(0).button( BTN_POS(5,_line), BTN_SIZE(5,1), F(""), OPT_FLAT) - .cmd(COLOR_RGB(bg_text_enabled)) - .fgcolor(bg_color) .tag(0).button( BTN_POS(1,_line), BTN_SIZE(4,1), (progmem_str) label, OPT_FLAT); + .text( BTN_POS(1,_line), BTN_SIZE(4,1), label) + .fgcolor(_color).button( BTN_POS(5,_line), BTN_SIZE(5,1), F(""), OPT_FLAT); } - if (_what & FOREGROUND) { - cmd.colors(normal_btn) - .font(font_medium) - .tag(is_enabled ? tag : 0).enabled(is_enabled).button( BTN_POS(10,_line), BTN_SIZE(2,1), F("-")) - .tag(is_enabled ? tag+1 : 0).enabled(is_enabled).button( BTN_POS(12,_line), BTN_SIZE(2,1), F("+")) - .tag(0).font(font_small) .text ( BTN_POS(5,_line), BTN_SIZE(5,1), is_enabled ? value : "-"); + cmd.font(font_medium); + _button(cmd, tag, BTN_POS(10,_line), BTN_SIZE(2,1), F("-"), is_enabled); + _button(cmd, tag + 1, BTN_POS(12,_line), BTN_SIZE(2,1), F("+"), is_enabled); + + if ((_what & FOREGROUND) && is_enabled) { + _button_style(cmd, BTN_NORMAL); + cmd.tag(0) + .font(font_small) + .text(BTN_POS(5,_line), BTN_SIZE(5,1), value); } _line++; } -void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, const char *label, const char *value, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, progmem_str label, const char *value, bool is_enabled) { if (_what & BACKGROUND) { adjuster_sram_val(tag, label, nullptr); } @@ -191,7 +241,7 @@ void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, const char *l } } -void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, const char *label, float value, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, progmem_str label, float value, bool is_enabled) { if (_what & BACKGROUND) { adjuster_sram_val(tag, label, nullptr); } @@ -205,110 +255,90 @@ void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, const char *l } } -void BaseNumericAdjustmentScreen::widgets_t::button(uint8_t tag, const char *label, bool is_enabled) { - if (_what & FOREGROUND) { - CommandProcessor cmd; - cmd.colors(normal_btn) - .tag(is_enabled ? tag : 0) - .enabled(is_enabled) - #ifdef TOUCH_UI_PORTRAIT - .font(font_small) - #else - .font(font_medium) - #endif - .button(BTN_POS(5,_line), BTN_SIZE(9,1), progmem_str(label)); - } +void BaseNumericAdjustmentScreen::widgets_t::button(uint8_t tag, progmem_str label, bool is_enabled) { + CommandProcessor cmd; + cmd.font(LAYOUT_FONT); + _button(cmd, tag, BTN_POS(5,_line), BTN_SIZE(9,1), label, is_enabled); _line++; } -void BaseNumericAdjustmentScreen::widgets_t::text_field(uint8_t tag, const char *label, const char *value, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::text_field(uint8_t tag, progmem_str label, const char *value, bool is_enabled) { CommandProcessor cmd; if (_what & BACKGROUND) { + _button_style(cmd, TEXT_AREA); cmd.enabled(1) - .font(font_small) - .cmd(COLOR_RGB(bg_text_enabled)) - .fgcolor(_color).tag(0).button( BTN_POS(5,_line), BTN_SIZE(9,1), F(""), OPT_FLAT) - .fgcolor(bg_color) .tag(0).button( BTN_POS(1,_line), BTN_SIZE(4,1), (progmem_str) label, OPT_FLAT); - } - - if (_what & FOREGROUND) { - cmd.colors(normal_btn) - .font(font_medium) - .tag(tag).font(font_small).text ( BTN_POS(5,_line), BTN_SIZE(9,1), is_enabled ? value : "-"); - } - - _line++; -} - -void BaseNumericAdjustmentScreen::widgets_t::two_buttons(uint8_t tag1, const char *label1, uint8_t tag2, const char *label2, bool is_enabled) { - if (_what & FOREGROUND) { - CommandProcessor cmd; - cmd.enabled(is_enabled) - #ifdef TOUCH_UI_PORTRAIT - .font(font_small) - #else - .font(font_medium) - #endif - .tag(is_enabled ? tag1: 0).button(BTN_POS(5,_line), BTN_SIZE(4.5,1), progmem_str(label1)) - .tag(is_enabled ? tag2: 0).button(BTN_POS(9.5,_line), BTN_SIZE(4.5,1), progmem_str(label2)); - } - - _line++; -} - -void BaseNumericAdjustmentScreen::widgets_t::toggle(uint8_t tag, const char *label, const char *text, bool value, bool is_enabled) { - if (_what & BACKGROUND) { - CommandProcessor cmd; - cmd.fgcolor(bg_color) .tag(0) .font(font_small) - #ifdef TOUCH_UI_PORTRAIT - .button( BTN_POS(1, _line), BTN_SIZE( 8,1), progmem_str(label), OPT_FLAT); - #else - .button( BTN_POS(1, _line), BTN_SIZE(10,1), progmem_str(label), OPT_FLAT); - #endif + .text( BTN_POS(1,_line), BTN_SIZE(4,1), label) + .fgcolor(_color) + .tag(tag) + .button( BTN_POS(5,_line), BTN_SIZE(9,1), F(""), OPT_FLAT); } if (_what & FOREGROUND) { - CommandProcessor cmd; + cmd.font(font_small).text( BTN_POS(5,_line), BTN_SIZE(9,1), is_enabled ? value : "-"); + } + + _line++; +} + +void BaseNumericAdjustmentScreen::widgets_t::two_buttons(uint8_t tag1, progmem_str label1, uint8_t tag2, progmem_str label2, bool is_enabled) { + CommandProcessor cmd; + cmd.font(LAYOUT_FONT); + _button(cmd, tag1, BTN_POS(5,_line), BTN_SIZE(4.5,1), label1, is_enabled); + _button(cmd, tag2, BTN_POS(9.5,_line), BTN_SIZE(4.5,1), label2, is_enabled); + + _line++; +} + +void BaseNumericAdjustmentScreen::widgets_t::toggle(uint8_t tag, progmem_str label, bool value, bool is_enabled) { + CommandProcessor cmd; + + if (_what & BACKGROUND) { + cmd.font(font_small) + .text( + #ifdef TOUCH_UI_PORTRAIT + BTN_POS(1, _line), BTN_SIZE( 8,1), + #else + BTN_POS(1, _line), BTN_SIZE(10,1), + #endif + label + ); + } + + if (_what & FOREGROUND) { + _button_style(cmd, BTN_TOGGLE); cmd.tag(is_enabled ? tag : 0) .enabled(is_enabled) .font(font_small) - .colors(ui_toggle) - #ifdef TOUCH_UI_PORTRAIT - .toggle(BTN_POS( 9,_line), BTN_SIZE(5,1), progmem_str(text), value); - #else - .toggle(BTN_POS(10,_line), BTN_SIZE(4,1), progmem_str(text), value); - #endif + .toggle2( + #ifdef TOUCH_UI_PORTRAIT + BTN_POS( 9,_line), BTN_SIZE(5,1), + #else + BTN_POS(10,_line), BTN_SIZE(4,1), + #endif + GET_TEXTF(NO), GET_TEXTF(YES), value + ); } _line++; } void BaseNumericAdjustmentScreen::widgets_t::home_buttons(uint8_t tag) { + CommandProcessor cmd; + if (_what & BACKGROUND) { - CommandProcessor cmd; - cmd.fgcolor(bg_color) - .tag(0) - .font(font_small) - .button( BTN_POS(1, _line), BTN_SIZE(4,1), F("Home:"), OPT_FLAT); + cmd.font(font_small) + .text(BTN_POS(1, _line), BTN_SIZE(4,1), GET_TEXTF(HOME)); } - if (_what & FOREGROUND) { - CommandProcessor cmd; - cmd - #ifdef TOUCH_UI_PORTRAIT - .font(font_small) - #else - .font(font_medium) - #endif - .tag(tag+0).button(BTN_POS(5,_line), BTN_SIZE(2,1), F("X")) - .tag(tag+1).button(BTN_POS(7,_line), BTN_SIZE(2,1), F("Y")) - .tag(tag+2).button(BTN_POS(9,_line), BTN_SIZE(2,1), F("Z")) - .tag(tag+3).button(BTN_POS(11,_line), BTN_SIZE(3,1), F("All")); - } + cmd.font(LAYOUT_FONT); + _button(cmd, tag+0, BTN_POS(5,_line), BTN_SIZE(2,1), GET_TEXTF(AXIS_X)); + _button(cmd, tag+1, BTN_POS(7,_line), BTN_SIZE(2,1), GET_TEXTF(AXIS_Y)); + _button(cmd, tag+2, BTN_POS(9,_line), BTN_SIZE(2,1), GET_TEXTF(AXIS_Z)); + _button(cmd, tag+3, BTN_POS(11,_line), BTN_SIZE(3,1), GET_TEXTF(AXIS_ALL)); _line++; } @@ -316,11 +346,13 @@ void BaseNumericAdjustmentScreen::widgets_t::home_buttons(uint8_t tag) { void BaseNumericAdjustmentScreen::onEntry() { screen_data.BaseNumericAdjustmentScreen.increment = 0; // This will force the increment to be picked while drawing. BaseScreen::onEntry(); + CommandProcessor cmd; + cmd.set_button_style_callback(nullptr); } bool BaseNumericAdjustmentScreen::onTouchEnd(uint8_t tag) { switch (tag) { - case 1: GOTO_PREVIOUS(); return true; + case 1: GOTO_PREVIOUS(); return true; case 240 ... 245: screen_data.BaseNumericAdjustmentScreen.increment = tag; break; default: return current_screen.onTouchHeld(tag); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_screen.cpp index 3dc356c530..c0c7212a22 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_screen.cpp @@ -32,9 +32,14 @@ using namespace Theme; void BaseScreen::onEntry() { CommandProcessor cmd; cmd.set_button_style_callback(buttonStyleCallback); + reset_menu_timeout(); UIScreen::onEntry(); } +bool BaseScreen::buttonIsPressed(uint8_t tag) { + return tag != 0 && EventLoop::get_pressed_tag() == tag; +} + bool BaseScreen::buttonStyleCallback(CommandProcessor &cmd, uint8_t tag, uint8_t &style, uint16_t &options, bool post) { if (post) { cmd.colors(normal_btn); @@ -47,7 +52,7 @@ bool BaseScreen::buttonStyleCallback(CommandProcessor &cmd, uint8_t tag, uint8_t } #endif - if (tag != 0 && EventLoop::get_pressed_tag() == tag) { + if (buttonIsPressed(tag)) { options = OPT_FLAT; } @@ -62,9 +67,11 @@ bool BaseScreen::buttonStyleCallback(CommandProcessor &cmd, uint8_t tag, uint8_t void BaseScreen::onIdle() { #ifdef LCD_TIMEOUT_TO_STATUS - const uint32_t elapsed = millis() - last_interaction; - if (elapsed > uint32_t(LCD_TIMEOUT_TO_STATUS)) { + if ((millis() - last_interaction) > LCD_TIMEOUT_TO_STATUS) { reset_menu_timeout(); + #if ENABLED(TOUCH_UI_DEBUG) + SERIAL_ECHO_MSG("Returning to status due to menu timeout"); + #endif GOTO_SCREEN(StatusScreen); } #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_advanced_settings.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_advanced_settings.cpp index 1fddbd6541..1355010c0b 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_advanced_settings.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_advanced_settings.cpp @@ -43,52 +43,52 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { #define GRID_ROWS 9 #define GRID_COLS 2 - .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), F("Display")) + .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXTF(DISPLAY_MENU)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(3) .button( BTN_POS(1,2), BTN_SIZE(1,1), F("Motor mA")) + .tag(3) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXTF(MOTOR_CURRENT)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), F("Bump Sense")) - .tag(5) .button( BTN_POS(1,4), BTN_SIZE(1,1), F("Endstops")) + .tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXTF(HOME_SENSE)) + .tag(5) .button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(ENDSTOPS)) #if HOTENDS > 1 .enabled(1) #else .enabled(0) #endif - .tag(6) .button( BTN_POS(1,5), BTN_SIZE(1,1), F("Nozzle Offset")) + .tag(6) .button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXTF(TOOL_OFFSETS)) - .tag(7) .button( BTN_POS(2,1), BTN_SIZE(1,1), F("Steps/mm")) - .tag(8) .button( BTN_POS(2,2), BTN_SIZE(1,1), F("Velocity ")) - .tag(9) .button( BTN_POS(2,3), BTN_SIZE(1,1), F("Acceleration")) + .tag(7) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(STEPS_PER_MM)) + .tag(8) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(VELOCITY)) + .tag(9) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXTF(ACCELERATION)) #if ENABLED(JUNCTION_DEVIATION) - .tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Junc Dev")) + .tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JUNC_DEVIATION)) #else - .tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Jerk")) + .tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JERK)) #endif #if ENABLED(BACKLASH_GCODE) .enabled(1) #else .enabled(0) #endif - .tag(11) .button( BTN_POS(2,5), BTN_SIZE(1,1), F("Backlash")) + .tag(11) .button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXTF(BACKLASH)) #if ENABLED(LIN_ADVANCE) .enabled(1) #else .enabled(0) #endif - .tag(12) .button( BTN_POS(1,6), BTN_SIZE(2,1), F("Linear Advance")) - .tag(13) .button( BTN_POS(1,7), BTN_SIZE(2,1), F("Interface Settings")) - .tag(14) .button( BTN_POS(1,8), BTN_SIZE(2,1), F("Restore Factory Defaults")) + .tag(12) .button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(LINEAR_ADVANCE)) + .tag(13) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(INTERFACE_SETTINGS)) + .tag(14) .button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(RESTORE_DEFAULTS)) .colors(action_btn) - .tag(1). button( BTN_POS(1,9), BTN_SIZE(2,1), F("Back")); + .tag(1). button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_e.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_e.cpp index c106db2422..ec6b6045e7 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_e.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_e.cpp @@ -29,20 +29,14 @@ using namespace FTDI; void BioConfirmHomeE::onRedraw(draw_mode_t) { - drawMessage(F("About to re-home plunger and auto-level. Remove syringe prior to proceeding.\n\nContinue?")); + drawMessage(GET_TEXTF(HOMING_WARNING)); drawYesNoButtons(1); } bool BioConfirmHomeE::onTouchEnd(uint8_t tag) { switch (tag) { case 1: - SpinnerDialogBox::enqueueAndWait_P(F( - "G112\n" /* Home extruder */ - LULZBOT_AXIS_LEVELING_COMMANDS /* Level X axis */ - "G0 X115 Z50 F6000\n" /* Goto loading position */ - "M400\n" /* Wait for moves to finish */ - "M18 X Y" /* Unlock motors */ - )); + SpinnerDialogBox::enqueueAndWait_P(F(LULZBOT_HOME_E_COMMANDS)); current_screen.forget(); break; case 2: diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_xyz.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_xyz.cpp index dbd04fc359..71fc02bd14 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_xyz.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_xyz.cpp @@ -29,17 +29,14 @@ using namespace FTDI; void BioConfirmHomeXYZ::onRedraw(draw_mode_t) { - drawMessage(F("About to home to loading position.\nEnsure the top and the bed of the printer are clear.\n\nContinue?")); + drawMessage(GET_TEXTF(LOADING_WARNING)); drawYesNoButtons(1); } bool BioConfirmHomeXYZ::onTouchEnd(uint8_t tag) { switch (tag) { case 1: - SpinnerDialogBox::enqueueAndWait_P(F( - "G28 X Y Z\n" /* Home all axis */ - "G0 X115 Z50 F6000" /* Move to park position */ - )); + SpinnerDialogBox::enqueueAndWait_P(F(LULZBOT_HOME_XYZ_COMMANDS)); current_screen.forget(); break; case 2: diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_main_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_main_menu.cpp index 0a42bc5804..403376a180 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_main_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_main_menu.cpp @@ -42,17 +42,17 @@ void MainMenu::onRedraw(draw_mode_t what) { if (what & FOREGROUND) { CommandProcessor cmd; cmd.cmd(COLOR_RGB(bg_text_enabled)) - .font(font_large).text( BTN_POS(1,1), BTN_SIZE(2,1), F("Main Menu")) + .font(font_large).text( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXTF(MAIN_MENU)) .colors(normal_btn) .font(font_medium) - .tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), F("Load Syringe")) - .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), F("Unlock XY Axis")) - .tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), F("Bed Temperature")) - .tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), F("Interface Settings")) - .tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), F("Advanced Settings")) - .tag(7).button( BTN_POS(1,7), BTN_SIZE(2,1), F("About Printer")) + .tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(LOAD_SYRINGE)) + .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(RELEASE_XY_AXIS)) + .tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(BED_TEMPERATURE)) + .tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(INTERFACE_SETTINGS)) + .tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(ADVANCED_SETTINGS)) + .tag(7).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(ABOUT_PRINTER)) .colors(action_btn) - .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), F("Back")); + .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(BACK)); } #undef GRID_COLS diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_printing_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_printing_dialog_box.cpp index e77f047848..bcf9fb8550 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_printing_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_printing_dialog_box.cpp @@ -113,8 +113,8 @@ bool BioPrintingDialogBox::onTouchEnd(uint8_t tag) { } void BioPrintingDialogBox::setStatusMessage(progmem_str message) { - char buff[strlen_P((const char * const)message)+1]; - strcpy_P(buff, (const char * const) message); + char buff[strlen_P((const char*)message)+1]; + strcpy_P(buff, (const char*) message); setStatusMessage(buff); } @@ -130,7 +130,7 @@ void BioPrintingDialogBox::setStatusMessage(const char* message) { draw_interaction_buttons(BACKGROUND); storeBackground(); - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR("New status message: ", message); #endif @@ -141,6 +141,7 @@ void BioPrintingDialogBox::setStatusMessage(const char* message) { } void BioPrintingDialogBox::onIdle() { + reset_menu_timeout(); if (refresh_timer.elapsed(STATUS_UPDATE_INTERVAL)) { onRefresh(); refresh_timer.start(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_status_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_status_screen.cpp index 7e119a5e17..17d9eefbca 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_status_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_status_screen.cpp @@ -36,11 +36,11 @@ #define POLY(A) PolyUI::poly_reader_t(A, sizeof(A)/sizeof(A[0])) -#if ENABLED(SDSUPPORT) && defined(LULZBOT_MANUAL_USB_STARTUP) - #include "../../../../sd/cardreader.h" -#endif - const uint8_t shadow_depth = 5; +const float max_speed = 1.00; +const float min_speed = 0.02; +const float emax_speed = 2.00; +const float emin_speed = 0.70; using namespace FTDI; using namespace Theme; @@ -82,6 +82,10 @@ void StatusScreen::draw_temperature(draw_mode_t what) { .icon (x + 2, y + 2, h, v, Bed_Heat_Icon_Info, icon_scale * 2) .cmd(COLOR_RGB(bg_text_enabled)) .icon (x, y, h, v, Bed_Heat_Icon_Info, icon_scale * 2); + + #ifdef TOUCH_UI_USE_UTF8 + load_utf8_bitmaps(cmd); // Restore font bitmap handles + #endif } if (what & FOREGROUND) { @@ -91,12 +95,12 @@ void StatusScreen::draw_temperature(draw_mode_t what) { .cmd(COLOR_RGB(bg_text_enabled)); if (!isHeaterIdle(BED) && getTargetTemp_celsius(BED) > 0) { - sprintf_P(bed_str, PSTR("%-3d C"), ROUND(getTargetTemp_celsius(BED))); + format_temp(bed_str, getTargetTemp_celsius(BED)); ui.bounds(POLY(target_temp), x, y, h, v); cmd.text(x, y, h, v, bed_str); } - sprintf_P(bed_str, PSTR("%-3d C"), ROUND(getActualTemp_celsius(BED))); + format_temp(bed_str, getActualTemp_celsius(BED)); ui.bounds(POLY(actual_temp), x, y, h, v); cmd.text(x, y, h, v, bed_str); } @@ -175,13 +179,13 @@ void StatusScreen::draw_fine_motion(draw_mode_t what) { ui.bounds(POLY(fine_label), x, y, h, v); cmd.cmd(COLOR_RGB(bg_text_enabled)) - .text(x, y, h, v, F("Fine motion:")); + .text(x, y, h, v, GET_TEXTF(FINE_MOTION)); } if (what & FOREGROUND) { ui.bounds(POLY(fine_toggle), x, y, h, v); cmd.colors(ui_toggle) - .toggle(x, y, h, v, F("no\xFFyes"), fine_motion); + .toggle2(x, y, h, v, GET_TEXTF(NO), GET_TEXTF(YES), fine_motion); } } @@ -197,17 +201,9 @@ void StatusScreen::draw_overlay_icons(draw_mode_t what) { ui.button_stroke(stroke_rgb, 28); ui.button_shadow(shadow_rgb, shadow_depth); - if (!jog_xy) { - ui.button(12, POLY(padlock)); - } - - if (!e_homed) { - ui.button(13, POLY(home_e)); - } - - if (!z_homed) { - ui.button(14, POLY(home_z)); - } + if (!jog_xy) ui.button(12, POLY(padlock)); + if (!e_homed) ui.button(13, POLY(home_e)); + if (!z_homed) ui.button(14, POLY(home_z)); } } @@ -218,33 +214,26 @@ void StatusScreen::draw_buttons(draw_mode_t) { cmd.font(font_medium) .colors(normal_btn) - #if ENABLED(USB_FLASH_DRIVE_SUPPORT) && defined(LULZBOT_MANUAL_USB_STARTUP) - .enabled(!Sd2Card::ready() || has_media) - #else - .enabled(has_media) - #endif + .enabled(has_media) .colors(has_media ? action_btn : normal_btn) .tag(9).button(BTN_POS(1,9), BTN_SIZE(1,1), isPrintingFromMedia() ? - F("Printing") : - #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #ifdef LULZBOT_MANUAL_USB_STARTUP - (Sd2Card::ready() ? F("USB Drive") : F("Enable USB")) - #else - F("USB Drive") - #endif - #else - F("SD Card") - #endif + GET_TEXTF(PRINTING) : + GET_TEXTF(MEDIA) ); - cmd.colors(!has_media ? action_btn : normal_btn).tag(10).button(BTN_POS(2,9), BTN_SIZE(1,1), F("Menu")); + cmd.colors(!has_media ? action_btn : normal_btn).tag(10).button(BTN_POS(2,9), BTN_SIZE(1,1), GET_TEXTF(MENU)); } -void StatusScreen::onStartup() { +void StatusScreen::loadBitmaps() { // Load the bitmaps for the status screen constexpr uint32_t base = ftdi_memory_map::RAM_G; CLCD::mem_write_pgm(base + Bed_Heat_Icon_Info.RAMG_offset, Bed_Heat_Icon, sizeof(Bed_Heat_Icon)); + + // Load fonts for internationalization + #ifdef TOUCH_UI_USE_UTF8 + load_utf8_data(base + UTF8_FONT_OFFSET); + #endif } void StatusScreen::onRedraw(draw_mode_t what) { @@ -263,7 +252,7 @@ void StatusScreen::onRedraw(draw_mode_t what) { } bool StatusScreen::onTouchStart(uint8_t) { - increment = fine_motion ? 0.25 : 1; + increment = 0; return true; } @@ -278,19 +267,13 @@ bool StatusScreen::onTouchEnd(uint8_t tag) { jog_xy = true; injectCommands_P(PSTR("M17")); } + jog(0, 0, 0); break; - case 9: - #if ENABLED(USB_FLASH_DRIVE_SUPPORT) && defined(LULZBOT_MANUAL_USB_STARTUP) - if (!Sd2Card::ready()) { - StatusScreen::setStatusMessage(F("Insert USB drive...")); - Sd2Card::usbStartup(); - } else { - GOTO_SCREEN(FilesScreen); - } - #else - GOTO_SCREEN(FilesScreen); - #endif + case 5: + case 6: + jog(0, 0, 0); break; + case 9: GOTO_SCREEN(FilesScreen); break; case 10: GOTO_SCREEN(MainMenu); break; case 13: SpinnerDialogBox::enqueueAndWait_P(F("G112")); break; case 14: SpinnerDialogBox::enqueueAndWait_P(F("G28 Z")); break; @@ -306,25 +289,29 @@ bool StatusScreen::onTouchEnd(uint8_t tag) { bool StatusScreen::onTouchHeld(uint8_t tag) { if (tag >= 1 && tag <= 4 && !jog_xy) return false; - if (ExtUI::isMoving()) return false; // Don't allow moves to accumulate - #define UI_INCREMENT_AXIS(axis) MoveAxisScreen::setManualFeedrate(axis, increment); UI_INCREMENT(AxisPosition_mm, axis); - #define UI_DECREMENT_AXIS(axis) MoveAxisScreen::setManualFeedrate(axis, increment); UI_DECREMENT(AxisPosition_mm, axis); + const float s = min_speed + (fine_motion ? 0 : (max_speed - min_speed) * sq(increment)); switch (tag) { - case 1: UI_DECREMENT_AXIS(X); break; - case 2: UI_INCREMENT_AXIS(X); break; - case 4: UI_DECREMENT_AXIS(Y); break; // NOTE: Y directions inverted because bed rather than needle moves - case 3: UI_INCREMENT_AXIS(Y); break; - case 5: UI_DECREMENT_AXIS(Z); break; - case 6: UI_INCREMENT_AXIS(Z); break; - case 7: UI_DECREMENT_AXIS(E0); break; - case 8: UI_INCREMENT_AXIS(E0); break; - default: return false; + case 1: jog(-s, 0, 0); break; + case 2: jog( s, 0, 0); break; + case 4: jog( 0, -s, 0); break; // NOTE: Y directions inverted because bed rather than needle moves + case 3: jog( 0, s, 0); break; + case 5: jog( 0, 0, -s); break; + case 6: jog( 0, 0, s); break; + case 7: + case 8: + { + if (ExtUI::isMoving()) return false; + const feedRate_t feedrate = emin_speed + (fine_motion ? 0 : (emax_speed - emin_speed) * sq(increment)); + const float increment = 0.25 * feedrate * (tag == 7 ? -1 : 1); + MoveAxisScreen::setManualFeedrate(E0, feedrate); + UI_INCREMENT(AxisPosition_mm, E0); + current_screen.onRefresh(); + break; + } + default: + return false; } - #undef UI_DECREMENT_AXIS - #undef UI_INCREMENT_AXIS - if (increment < 10 && !fine_motion) - increment += 0.5; - current_screen.onRefresh(); + increment = min(1.0f, increment + 0.1f); return false; } @@ -337,11 +324,11 @@ void StatusScreen::setStatusMessage(const char * const str) { } void StatusScreen::onIdle() { - if (isPrintingFromMedia()) - BioPrintingDialogBox::show(); - if (refresh_timer.elapsed(STATUS_UPDATE_INTERVAL)) { - onRefresh(); + if (!EventLoop::is_touch_held()) + onRefresh(); + if (isPrintingFromMedia()) + BioPrintingDialogBox::show(); refresh_timer.start(); } } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_tune_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_tune_menu.cpp index 09aedbd337..2b22876970 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_tune_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_tune_menu.cpp @@ -38,27 +38,26 @@ void TuneMenu::onRedraw(draw_mode_t what) { .font(font_medium); } - #define GRID_ROWS 8 + #define GRID_ROWS 7 #define GRID_COLS 2 if (what & FOREGROUND) { CommandProcessor cmd; cmd.cmd(COLOR_RGB(bg_text_enabled)) - .font(font_large).text ( BTN_POS(1,1), BTN_SIZE(2,1), F("Print Menu")) + .font(font_large).text ( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXTF(PRINT_MENU)) .colors(normal_btn) .font(font_medium) - .enabled(!isPrinting()).tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), isPrinting() ? F("Printing...") : F("Print Again")) - .enabled( isPrinting()).tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), F("Print Speed")) - .tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), F("Bed Temperature")) + .enabled( isPrinting()).tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(PRINT_SPEED)) + .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(BED_TEMPERATURE)) #if ENABLED(BABYSTEPPING) .enabled(true) #else .enabled(false) #endif - .tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), F("Nudge Nozzle")) - .enabled(!isPrinting()).tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), F("Load Syringe")) - .enabled(!isPrinting()).tag(7).button( BTN_POS(1,7), BTN_SIZE(2,1), F("Unlock XY Axis")) - .colors(action_btn) .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), F("Back")); + .tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(NUDGE_NOZZLE)) + .enabled(!isPrinting()).tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(LOAD_SYRINGE)) + .enabled(!isPrinting()).tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(RELEASE_XY_AXIS)) + .colors(action_btn) .tag(1).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(BACK)); } #undef GRID_COLS #undef GRID_ROWS @@ -66,18 +65,12 @@ void TuneMenu::onRedraw(draw_mode_t what) { bool TuneMenu::onTouchEnd(uint8_t tag) { switch (tag) { - case 1: GOTO_PREVIOUS(); break; - case 2: { - FileList files; - printFile(files.shortFilename()); - GOTO_PREVIOUS(); - break; - } - case 3: GOTO_SCREEN(FeedratePercentScreen); break; - case 4: GOTO_SCREEN(TemperatureScreen); break; - case 5: GOTO_SCREEN(NudgeNozzleScreen); break; - case 6: GOTO_SCREEN(BioConfirmHomeXYZ); break; - case 7: StatusScreen::unlockMotors(); break; + case 1: GOTO_PREVIOUS(); break; + case 2: GOTO_SCREEN(FeedratePercentScreen); break; + case 3: GOTO_SCREEN(TemperatureScreen); break; + case 4: GOTO_SCREEN(NudgeNozzleScreen); break; + case 5: GOTO_SCREEN(BioConfirmHomeXYZ); break; + case 6: StatusScreen::unlockMotors(); break; default: return false; } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/boot_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/boot_screen.cpp index b2f65848d1..32c43d654a 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/boot_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/boot_screen.cpp @@ -57,12 +57,14 @@ void BootScreen::onIdle() { // in case the display is borked. InterfaceSettingsScreen::failSafeSettings(); + StatusScreen::loadBitmaps(); GOTO_SCREEN(TouchCalibrationScreen); current_screen.forget(); PUSH_SCREEN(StatusScreen); } else { if (!UIFlashStorage::is_valid()) { - SpinnerDialogBox::show(F("Please wait...")); + StatusScreen::loadBitmaps(); + SpinnerDialogBox::show(GET_TEXTF(PLEASE_WAIT)); UIFlashStorage::format_flash(); SpinnerDialogBox::hide(); } @@ -73,12 +75,19 @@ void BootScreen::onIdle() { if (!MediaPlayerScreen::playBootMedia()) showSplashScreen(); } + + StatusScreen::loadBitmaps(); + #ifdef LULZBOT_USE_BIOPRINTER_UI GOTO_SCREEN(BioConfirmHomeXYZ); current_screen.forget(); PUSH_SCREEN(StatusScreen); PUSH_SCREEN(BioConfirmHomeE); + #elif NUM_LANGUAGES > 1 + StatusScreen::setStatusMessage(F(WELCOME_MSG)); + GOTO_SCREEN(LanguageMenu); #else + StatusScreen::setStatusMessage(F(WELCOME_MSG)); GOTO_SCREEN(StatusScreen); #endif } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/change_filament_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/change_filament_screen.cpp index 8945aeb43d..de63824f0c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/change_filament_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/change_filament_screen.cpp @@ -114,31 +114,27 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) { #else .font(font_medium) #endif - .text(BTN_POS(1,1), BTN_SIZE(2,1), F("Extruder Selection:")) + .text(BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXTF(EXTRUDER_SELECTION)) #ifdef TOUCH_UI_PORTRAIT - .text(BTN_POS(1,7), BTN_SIZE(1,1), F("Current Temp:")) + .text(BTN_POS(1,7), BTN_SIZE(1,1), F("")) #else - .text(BTN_POS(3,1), BTN_SIZE(2,1), F("Current Temp:")) + .text(BTN_POS(3,1), BTN_SIZE(2,1), GET_TEXTF(CURRENT_TEMPERATURE)) .font(font_small) #endif - .text(BTN_POS(1,3), BTN_SIZE(2,1), F("Removal Temp:")); + .text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(REMOVAL_TEMPERATURE)); drawTempGradient(BTN_POS(1,4), BTN_SIZE(1,3)); } if (what & FOREGROUND) { + const extruder_t e = getExtruder(); + char e_str[15]; + if (isHeaterIdle(e)) + format_temp_and_idle(e_str, getActualTemp_celsius(e)); + else + format_temp_and_temp(e_str, getActualTemp_celsius(e), getTargetTemp_celsius(e)); - const char *idle = PSTR("%-3d C / idle"); - const char *not_idle = PSTR("%-3d / %-3d C"); - - sprintf_P( - e_str, - isHeaterIdle(getExtruder()) ? idle : not_idle, - ROUND(getActualTemp_celsius(getExtruder())), - ROUND(getTargetTemp_celsius(getExtruder())) - ); - - const rgb_t tcol = getWarmColor(getActualTemp_celsius(getExtruder()), COOL_TEMP, LOW_TEMP, MED_TEMP, HIGH_TEMP); + const rgb_t tcol = getWarmColor(getActualTemp_celsius(e), COOL_TEMP, LOW_TEMP, MED_TEMP, HIGH_TEMP); cmd.cmd(COLOR_RGB(tcol)) .tag(15) #ifdef TOUCH_UI_PORTRAIT @@ -155,15 +151,15 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) { #endif .colors(normal_btn); - const bool t_ok = getActualTemp_celsius(getExtruder()) > getSoftenTemp() - 10; + const bool t_ok = getActualTemp_celsius(e) > getSoftenTemp() - 10; if (screen_data.ChangeFilamentScreen.t_tag && !t_ok) { - cmd.text(BTN_POS(1,6), BTN_SIZE(1,1), F("Heating...")); - } else if (getActualTemp_celsius(getExtruder()) > 100) { + cmd.text(BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXTF(HEATING)); + } else if (getActualTemp_celsius(e) > 100) { cmd.cmd(COLOR_RGB(0xFF0000)) - .text(BTN_POS(1,4), BTN_SIZE(1,1), F("Caution:")) + .text(BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(CAUTION)) .colors(normal_btn) - .text(BTN_POS(1,6), BTN_SIZE(1,1), F("Hot!")); + .text(BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXTF(HOT)); } #define TOG_STYLE(A) colors(A ? action_btn : normal_btn) @@ -195,15 +191,25 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) { const bool tog7 = screen_data.ChangeFilamentScreen.repeat_tag == 7; const bool tog8 = screen_data.ChangeFilamentScreen.repeat_tag == 8; + #ifdef TOUCH_UI_PORTRAIT - cmd.font(font_large) + cmd.font(font_large); #else - cmd.font(font_small) + cmd.font(font_small); #endif - .tag(2) .TOG_STYLE(tog2) .button (BTN_POS(2,6), BTN_SIZE(1,1), F( STRINGIFY(LOW_TEMP) "C (PLA)")) - .tag(3) .TOG_STYLE(tog3) .button (BTN_POS(2,5), BTN_SIZE(1,1), F( STRINGIFY(MED_TEMP) "C (ABS)")) - .tag(4) .TOG_STYLE(tog4) .button (BTN_POS(2,4), BTN_SIZE(1,1), F( STRINGIFY(HIGH_TEMP) "C (High)")) - .colors(normal_btn) + { + char str[30]; + + format_temp_and_material(str, LOW_TEMP, GET_TEXT(MATERIAL_PLA)); + cmd.tag(2) .TOG_STYLE(tog2) .button (BTN_POS(2,6), BTN_SIZE(1,1), str); + + format_temp_and_material(str, MED_TEMP, GET_TEXT(MATERIAL_ABS)); + cmd.tag(3) .TOG_STYLE(tog3) .button (BTN_POS(2,5), BTN_SIZE(1,1), str); + + format_temp_and_material(str, HIGH_TEMP, GET_TEXT(MATERIAL_HIGH_TEMP)); + cmd.tag(4) .TOG_STYLE(tog4) .button (BTN_POS(2,4), BTN_SIZE(1,1), str); + } + cmd.colors(normal_btn) // Add tags to color gradient .cmd(COLOR_MASK(0,0,0,0)) @@ -215,23 +221,23 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) { .cmd(COLOR_RGB(t_ok ? bg_text_enabled : bg_text_disabled)) #ifdef TOUCH_UI_PORTRAIT .font(font_large) - .tag(0) .text (BTN_POS(1,8), BTN_SIZE(1,1), F("Unload")) - .text (BTN_POS(2,8), BTN_SIZE(1,1), F("Load/Extrude")) - .tag(5) .enabled(t_ok).button (BTN_POS(1,9), BTN_SIZE(1,1), F("Momentary")) - .tag(6) .enabled(t_ok).button (BTN_POS(2,9), BTN_SIZE(1,1), F("Momentary")) - .tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(1,10), BTN_SIZE(1,1), F("Continuous")) - .tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(2,10), BTN_SIZE(1,1), F("Continuous")) - .tag(1).colors(action_btn) .button (BTN_POS(1,11), BTN_SIZE(2,1), F("Back")); + .tag(0) .text (BTN_POS(1,8), BTN_SIZE(1,1), GET_TEXTF(UNLOAD_FILAMENT)) + .text (BTN_POS(2,8), BTN_SIZE(1,1), GET_TEXTF(LOAD_FILAMENT)) + .tag(5) .enabled(t_ok).button (BTN_POS(1,9), BTN_SIZE(1,1), GET_TEXTF(MOMENTARY)) + .tag(6) .enabled(t_ok).button (BTN_POS(2,9), BTN_SIZE(1,1), GET_TEXTF(MOMENTARY)) + .tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(1,10), BTN_SIZE(1,1), GET_TEXTF(CONTINUOUS)) + .tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(2,10), BTN_SIZE(1,1), GET_TEXTF(CONTINUOUS)) + .tag(1).colors(action_btn) .button (BTN_POS(1,11), BTN_SIZE(2,1), GET_TEXTF(BACK)); #else .font(font_small) - .tag(0) .text (BTN_POS(3,3), BTN_SIZE(1,1), F("Unload")) - .text (BTN_POS(4,3), BTN_SIZE(1,1), F("Load/Extrude")) - .tag(5) .enabled(t_ok).button (BTN_POS(3,4), BTN_SIZE(1,1), F("Momentary")) - .tag(6) .enabled(t_ok).button (BTN_POS(4,4), BTN_SIZE(1,1), F("Momentary")) - .tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(3,5), BTN_SIZE(1,1), F("Continuous")) - .tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(4,5), BTN_SIZE(1,1), F("Continuous")) + .tag(0) .text (BTN_POS(3,3), BTN_SIZE(1,1), GET_TEXTF(UNLOAD_FILAMENT)) + .text (BTN_POS(4,3), BTN_SIZE(1,1), GET_TEXTF(LOAD_FILAMENT)) + .tag(5) .enabled(t_ok).button (BTN_POS(3,4), BTN_SIZE(1,1), GET_TEXTF(MOMENTARY)) + .tag(6) .enabled(t_ok).button (BTN_POS(4,4), BTN_SIZE(1,1), GET_TEXTF(MOMENTARY)) + .tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXTF(CONTINUOUS)) + .tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(4,5), BTN_SIZE(1,1), GET_TEXTF(CONTINUOUS)) .font(font_medium) - .tag(1).colors(action_btn) .button (BTN_POS(3,6), BTN_SIZE(2,1), F("Back")); + .tag(1).colors(action_btn) .button (BTN_POS(3,6), BTN_SIZE(2,1), GET_TEXTF(BACK)); #endif } #undef GRID_COLS diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_abort_print_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_abort_print_dialog_box.cpp index 77d4fcfaca..32dba3df0f 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_abort_print_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_abort_print_dialog_box.cpp @@ -29,7 +29,7 @@ using namespace ExtUI; void ConfirmAbortPrintDialogBox::onRedraw(draw_mode_t) { - drawMessage(F("Are you sure you want to cancel the print?")); + drawMessage(GET_TEXTF(ABORT_WARNING)); drawYesNoButtons(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_auto_calibration_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_auto_calibration_dialog_box.cpp index 395fe83fb8..161828595f 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_auto_calibration_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_auto_calibration_dialog_box.cpp @@ -30,7 +30,7 @@ using namespace ExtUI; using namespace Theme; void ConfirmAutoCalibrationDialogBox::onRedraw(draw_mode_t) { - drawMessage(F("For best results, unload the filament and clean the hotend prior to starting calibration. Continue?")); + drawMessage(GET_TEXTF(CALIBRATION_WARNING)); drawYesNoButtons(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_erase_flash_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_erase_flash_dialog_box.cpp index 6db2ff4d3d..610d97b118 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_erase_flash_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_erase_flash_dialog_box.cpp @@ -31,17 +31,17 @@ using namespace FTDI; void ConfirmEraseFlashDialogBox::onRedraw(draw_mode_t) { - drawMessage(F("Are you sure? SPI flash will be erased.")); + drawMessage(GET_TEXTF(ERASE_FLASH_WARNING)); drawYesNoButtons(); } bool ConfirmEraseFlashDialogBox::onTouchEnd(uint8_t tag) { switch (tag) { case 1: - SpinnerDialogBox::show(F("Erasing...")); + SpinnerDialogBox::show(GET_TEXTF(ERASING)); UIFlashStorage::format_flash(); SpinnerDialogBox::hide(); - AlertDialogBox::show(F("SPI flash erased")); + AlertDialogBox::show(GET_TEXTF(ERASED)); // Remove ConfirmEraseFlashDialogBox from the stack // so the alert box doesn't return to me. current_screen.forget(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/default_acceleration_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/default_acceleration_screen.cpp index 1e1cb8457a..fdfacd58ce 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/default_acceleration_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/default_acceleration_screen.cpp @@ -33,14 +33,14 @@ using namespace Theme; void DefaultAccelerationScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(0); - w.units(PSTR("mm/s^2")); - w.heading( PSTR("Default Acceleration")); + w.units(GET_TEXTF(UNITS_MM_S2)); + w.heading( GET_TEXTF(ACCELERATION)); w.color(other); - w.adjuster( 2, PSTR("Printing:"), getPrintingAcceleration_mm_s2() ); - w.adjuster( 4, PSTR("Travel:"), getTravelAcceleration_mm_s2() ); - w.adjuster( 6, PSTR("Retraction:"), getRetractAcceleration_mm_s2() ); + w.adjuster( 2, GET_TEXTF(ACCEL_PRINTING), getPrintingAcceleration_mm_s2() ); + w.adjuster( 4, GET_TEXTF(ACCEL_TRAVEL), getTravelAcceleration_mm_s2() ); + w.adjuster( 6, GET_TEXTF(ACCEL_RETRACT), getRetractAcceleration_mm_s2() ); w.increments(); - w.button( 8, PSTR("Set Axis Maximum")); + w.button( 8, GET_TEXTF(SET_MAXIMUM)); } bool DefaultAccelerationScreen::onTouchHeld(uint8_t tag) { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/dialog_box_base_class.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/dialog_box_base_class.cpp index 6178a71e94..7d2d2e51ea 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/dialog_box_base_class.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/dialog_box_base_class.cpp @@ -45,19 +45,19 @@ void DialogBoxBaseClass::drawMessage(const T message, int16_t font) { } template void DialogBoxBaseClass::drawMessage(const char *, int16_t font); -template void DialogBoxBaseClass::drawMessage(const progmem_str, int16_t font); +template void DialogBoxBaseClass::drawMessage(progmem_str, int16_t font); void DialogBoxBaseClass::drawYesNoButtons(uint8_t default_btn) { CommandProcessor cmd; cmd.font(font_medium) - .colors(default_btn == 1 ? action_btn : normal_btn).tag(1).button( BTN_POS(1,8), BTN_SIZE(1,1), F("Yes")) - .colors(default_btn == 2 ? action_btn : normal_btn).tag(2).button( BTN_POS(2,8), BTN_SIZE(1,1), F("No")); + .colors(default_btn == 1 ? action_btn : normal_btn).tag(1).button( BTN_POS(1,8), BTN_SIZE(1,1), GET_TEXTF(YES)) + .colors(default_btn == 2 ? action_btn : normal_btn).tag(2).button( BTN_POS(2,8), BTN_SIZE(1,1), GET_TEXTF(NO)); } void DialogBoxBaseClass::drawOkayButton() { CommandProcessor cmd; cmd.font(font_medium) - .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), F("Okay")); + .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(OKAY)); } void DialogBoxBaseClass::drawButton(const progmem_str label) { @@ -80,4 +80,8 @@ bool DialogBoxBaseClass::onTouchEnd(uint8_t tag) { } } +void DialogBoxBaseClass::onIdle() { + reset_menu_timeout(); +} + #endif // LULZBOT_TOUCH_UI diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/display_tuning_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/display_tuning_screen.cpp index 7af436a5c7..eedc3d22c8 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/display_tuning_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/display_tuning_screen.cpp @@ -32,14 +32,14 @@ using namespace Theme; void DisplayTuningScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(0, BaseNumericAdjustmentScreen::DEFAULT_LOWEST); - w.units(PSTR("")); - w.heading( PSTR("Display Tuning")); + w.units(F("")); + w.heading(GET_TEXTF(DISPLAY_MENU)); w.color(other); - w.adjuster( 2, PSTR("H Offset:"), CLCD::mem_read_16(CLCD::REG::HOFFSET) ); - w.adjuster( 4, PSTR("V Offset:"), CLCD::mem_read_16(CLCD::REG::VOFFSET) ); + w.adjuster( 2, GET_TEXTF(H_OFFSET), CLCD::mem_read_16(CLCD::REG::HOFFSET) ); + w.adjuster( 4, GET_TEXTF(V_OFFSET), CLCD::mem_read_16(CLCD::REG::VOFFSET) ); w.increments(); - w.heading( PSTR("Touch Screen")); - w.button(6, PSTR("Calibrate")); + w.heading( GET_TEXTF(TOUCH_SCREEN)); + w.button(6, GET_TEXTF(CALIBRATE)); } bool DisplayTuningScreen::onTouchHeld(uint8_t tag) { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/endstop_state_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/endstop_state_screen.cpp index f1e13d3a9a..ce5cd0b4d5 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/endstop_state_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/endstop_state_screen.cpp @@ -48,7 +48,7 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) { #define GRID_ROWS 7 #define GRID_COLS 6 - #define PIN_BTN(X,Y,PIN,LABEL) button(BTN_POS(X,Y), BTN_SIZE(2,1), F(LABEL)) + #define PIN_BTN(X,Y,PIN,LABEL) button(BTN_POS(X,Y), BTN_SIZE(2,1), LABEL) #define PIN_ENABLED(LABEL,PIN,INV,X,Y) cmd.enabled(1).colors(READ(PIN##_PIN) != INV ? action_btn : normal_btn).PIN_BTN(X,Y,PIN,LABEL); #define PIN_DISABLED(LABEL,PIN,INV,X,Y) cmd.enabled(0).PIN_BTN(X,Y,PIN,LABEL); @@ -57,68 +57,69 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) { #else cmd.font(font_medium) #endif - .text(BTN_POS(1,1), BTN_SIZE(6,1), F("Endstop States:")) + .text(BTN_POS(1,1), BTN_SIZE(6,1), GET_TEXTF(ENDSTOPS)) .font(font_tiny); #if PIN_EXISTS(X_MAX) - PIN_ENABLED ("X Max", X_MAX,X_MAX_ENDSTOP_INVERTING,1,2) + PIN_ENABLED (GET_TEXTF(X_MAX), X_MAX,X_MAX_ENDSTOP_INVERTING,1,2) #else - PIN_DISABLED("X Max",X_MAX,X_MAX_ENDSTOP_INVERTING,1,2) + PIN_DISABLED(GET_TEXTF(X_MAX),X_MAX,X_MAX_ENDSTOP_INVERTING,1,2) #endif #if PIN_EXISTS(Y_MAX) - PIN_ENABLED ("Y Max",Y_MAX,Y_MAX_ENDSTOP_INVERTING,3,2) + PIN_ENABLED (GET_TEXTF(Y_MAX),Y_MAX,Y_MAX_ENDSTOP_INVERTING,3,2) #else - PIN_DISABLED("Y Max",Y_MAX,Y_MAX_ENDSTOP_INVERTING,3,2) + PIN_DISABLED(GET_TEXTF(Y_MAX),Y_MAX,Y_MAX_ENDSTOP_INVERTING,3,2) #endif #if PIN_EXISTS(Z_MAX) - PIN_ENABLED ("Z Max",Z_MAX,Z_MAX_ENDSTOP_INVERTING,5,2) + PIN_ENABLED (GET_TEXTF(Z_MAX),Z_MAX,Z_MAX_ENDSTOP_INVERTING,5,2) #else - PIN_DISABLED("Z Max",Z_MAX,Z_MAX_ENDSTOP_INVERTING,5,2) + PIN_DISABLED(GET_TEXTF(Z_MAX),Z_MAX,Z_MAX_ENDSTOP_INVERTING,5,2) #endif #if PIN_EXISTS(X_MIN) - PIN_ENABLED ("X Min",X_MIN,X_MIN_ENDSTOP_INVERTING,1,3) + PIN_ENABLED (GET_TEXTF(X_MIN),X_MIN,X_MIN_ENDSTOP_INVERTING,1,3) #else - PIN_DISABLED("X Min",X_MIN,X_MIN_ENDSTOP_INVERTING,1,3) + PIN_DISABLED(GET_TEXTF(X_MIN),X_MIN,X_MIN_ENDSTOP_INVERTING,1,3) #endif #if PIN_EXISTS(Y_MIN) - PIN_ENABLED ("Y Min",Y_MIN,Y_MIN_ENDSTOP_INVERTING,3,3) + PIN_ENABLED (GET_TEXTF(Y_MIN),Y_MIN,Y_MIN_ENDSTOP_INVERTING,3,3) #else - PIN_DISABLED("Y Min",Y_MIN,Y_MIN_ENDSTOP_INVERTING,3,3) + PIN_DISABLED(GET_TEXTF(Y_MIN),Y_MIN,Y_MIN_ENDSTOP_INVERTING,3,3) #endif #if PIN_EXISTS(Z_MIN) - PIN_ENABLED ("Z Min",Z_MIN,Z_MIN_ENDSTOP_INVERTING,5,3) + PIN_ENABLED (GET_TEXTF(Z_MIN),Z_MIN,Z_MIN_ENDSTOP_INVERTING,5,3) #else - PIN_DISABLED("Z Min",Z_MIN,Z_MIN_ENDSTOP_INVERTING,5,3) + PIN_DISABLED(GET_TEXTF(Z_MIN),Z_MIN,Z_MIN_ENDSTOP_INVERTING,5,3) #endif #if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT) - PIN_ENABLED ("Runout 1",FIL_RUNOUT, FIL_RUNOUT_INVERTING,1,4) + PIN_ENABLED (GET_TEXTF(RUNOUT_1),FIL_RUNOUT, FIL_RUNOUT_INVERTING,1,4) #else - PIN_DISABLED("Runout 1",FIL_RUNOUT, FIL_RUNOUT_INVERTING,1,4) + PIN_DISABLED(GET_TEXTF(RUNOUT_1),FIL_RUNOUT, FIL_RUNOUT_INVERTING,1,4) #endif #if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT2) - PIN_ENABLED ("Runout 2",FIL_RUNOUT2,FIL_RUNOUT_INVERTING,3,4) + PIN_ENABLED (GET_TEXTF(RUNOUT_2),FIL_RUNOUT2,FIL_RUNOUT_INVERTING,3,4) #else - PIN_DISABLED("Runout 2",FIL_RUNOUT2,FIL_RUNOUT_INVERTING,3,4) + PIN_DISABLED(GET_TEXTF(RUNOUT_2),FIL_RUNOUT2,FIL_RUNOUT_INVERTING,3,4) #endif #if PIN_EXISTS(Z_MIN_PROBE) - PIN_ENABLED ("Z Probe",Z_MIN_PROBE,Z_MIN_PROBE_ENDSTOP_INVERTING,5,4) + PIN_ENABLED (GET_TEXTF(Z_PROBE),Z_MIN_PROBE,Z_MIN_PROBE_ENDSTOP_INVERTING,5,4) #else - PIN_DISABLED("Z Probe",Z_MIN_PROBE,Z_MIN_PROBE_ENDSTOP_INVERTING,5,4) + PIN_DISABLED(GET_TEXTF(Z_PROBE),Z_MIN_PROBE,Z_MIN_PROBE_ENDSTOP_INVERTING,5,4) #endif #if HAS_SOFTWARE_ENDSTOPS #undef EDGE_R #define EDGE_R 30 - cmd.font(font_small) - .text (BTN_POS(1,5), BTN_SIZE(3,1), F("Soft Limits:"), OPT_RIGHTX | OPT_CENTERY) + cmd.cmd(COLOR_RGB(bg_text_enabled)) + .font(font_small) + .text (BTN_POS(1,5), BTN_SIZE(3,1), GET_TEXTF(SOFT_ENDSTOPS), OPT_RIGHTX | OPT_CENTERY) .colors(ui_toggle) - .tag(2).toggle(BTN_POS(4,5), BTN_SIZE(3,1), F("off\xFFon"), getSoftEndstopState()); + .tag(2).toggle2(BTN_POS(4,5), BTN_SIZE(3,1), GET_TEXTF(NO), GET_TEXTF(YES), getSoftEndstopState()); #undef EDGE_R #define EDGE_R 0 #endif cmd.font(font_medium) .colors(action_btn) - .tag(1).button( BTN_POS(1,7), BTN_SIZE(6,1), F("Back")); + .tag(1).button( BTN_POS(1,7), BTN_SIZE(6,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/feedrate_percent_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/feedrate_percent_screen.cpp index e9f527ef96..c42296f79c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/feedrate_percent_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/feedrate_percent_screen.cpp @@ -31,10 +31,10 @@ using namespace ExtUI; void FeedratePercentScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(0).units(PSTR("%")); + w.precision(0).units(GET_TEXTF(UNITS_PERCENT)); - w.heading(PSTR("Print Speed")); - w.adjuster(4, PSTR("Speed"), getFeedrate_percent()); + w.heading(GET_TEXTF(PRINT_SPEED)); + w.adjuster(4, GET_TEXTF(SPEED), getFeedrate_percent()); w.increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_menu.cpp index 55280859af..a0213d5edc 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_menu.cpp @@ -43,43 +43,43 @@ void FilamentMenu::onRedraw(draw_mode_t what) { #ifdef TOUCH_UI_PORTRAIT #define GRID_ROWS 9 #define GRID_COLS 2 - .text ( BTN_POS(1,1), BTN_SIZE(2,1), F("Filament Options:")) + .text ( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXTF(FILAMENT)) .font(font_medium).colors(normal_btn) #if ENABLED(FILAMENT_RUNOUT_SENSOR) .enabled(1) #else .enabled(0) #endif - .tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), F("Runout Sensor")) + .tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(RUNOUT_SENSOR)) #if ENABLED(LIN_ADVANCE) .enabled(1) #else .enabled(0) #endif - .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), F("Linear Advance")) + .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(LINEAR_ADVANCE)) .colors(action_btn) - .tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), F("Back")); + .tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS #else #define GRID_ROWS 6 #define GRID_COLS 3 - .text ( BTN_POS(1,1), BTN_SIZE(3,1), F("Filament Options:")) + .text ( BTN_POS(1,1), BTN_SIZE(3,1), GET_TEXTF(FILAMENT)) .font(font_medium).colors(normal_btn) #if ENABLED(FILAMENT_RUNOUT_SENSOR) .enabled(1) #else .enabled(0) #endif - .tag(2).button( BTN_POS(1,2), BTN_SIZE(3,1), F("Filament Runout")) + .tag(2).button( BTN_POS(1,2), BTN_SIZE(3,1), GET_TEXTF(RUNOUT_SENSOR)) #if ENABLED(LIN_ADVANCE) .enabled(1) #else .enabled(0) #endif - .tag(3).button( BTN_POS(1,3), BTN_SIZE(3,1), F("Linear Advance")) + .tag(3).button( BTN_POS(1,3), BTN_SIZE(3,1), GET_TEXTF(LINEAR_ADVANCE)) .colors(action_btn) - .tag(1) .button( BTN_POS(1,6), BTN_SIZE(3,1), F("Back")); + .tag(1) .button( BTN_POS(1,6), BTN_SIZE(3,1), GET_TEXTF(BACK)); #endif } } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_runout_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_runout_screen.cpp index ccad90171d..12bf61d68b 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_runout_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_runout_screen.cpp @@ -32,15 +32,15 @@ using namespace Theme; void FilamentRunoutScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.heading( PSTR("Runout Detection:")); - w.toggle( 2, PSTR("Filament Sensor:"), PSTR("off\xFFon"), getFilamentRunoutEnabled()); + w.heading( GET_TEXTF(FILAMENT)); + w.toggle( 2, GET_TEXTF(RUNOUT_SENSOR), getFilamentRunoutEnabled()); #ifdef FILAMENT_RUNOUT_DISTANCE_MM - w.heading(PSTR("Detection Threshold:")); - w.units(PSTR("mm")); + w.heading(GET_TEXTF(DETECTION_THRESHOLD)); + w.units(GET_TEXTF(UNITS_MM)); w.precision(0); w.color(e_axis); - w.adjuster( 10, PSTR("Distance:"), getFilamentRunoutDistance_mm(), getFilamentRunoutEnabled()); + w.adjuster( 10, GET_TEXTF(DISTANCE), getFilamentRunoutDistance_mm(), getFilamentRunoutEnabled()); w.increments(); #endif } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/files_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/files_screen.cpp index e8aaf36ff7..f562573bfd 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/files_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/files_screen.cpp @@ -91,7 +91,11 @@ void FilesScreen::drawFileButton(const char* filename, uint8_t tag, bool is_dir, cmd.cmd(MACRO(0)); } #endif - cmd.text (BTN_POS(1,header_h+line), BTN_SIZE(6,1), filename, OPT_CENTERY); + cmd.text (BTN_POS(1,header_h+line), BTN_SIZE(6,1), filename, OPT_CENTERY + #if ENABLED(SCROLL_LONG_FILENAMES) + | OPT_NOFIT + #endif + ); if (is_dir) { cmd.text(BTN_POS(1,header_h+line), BTN_SIZE(6,1), F("> "), OPT_CENTERY | OPT_RIGHTX); } @@ -165,13 +169,13 @@ void FilesScreen::drawFooter() { cmd.colors(normal_btn) .font(font_medium) .colors(has_selection ? normal_btn : action_btn) - .tag(back_tag).button( BTN_POS(4,y), BTN_SIZE(3,h), F("Back")) + .tag(back_tag).button( BTN_POS(4,y), BTN_SIZE(3,h), GET_TEXTF(BACK)) .enabled(has_selection) .colors(has_selection ? action_btn : normal_btn); if (screen_data.FilesScreen.flags.is_dir) { - cmd.tag(244).button( BTN_POS(1, y), BTN_SIZE(3,h), F("Open")); + cmd.tag(244).button( BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXTF(OPEN_DIR)); } else { - cmd.tag(243).button( BTN_POS(1, y), BTN_SIZE(3,h), F("Print")); + cmd.tag(243).button( BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXTF(PRINT_FILE)); } } @@ -210,7 +214,7 @@ bool FilesScreen::onTouchEnd(uint8_t tag) { break; case 243: printFile(getSelectedShortFilename()); - StatusScreen::setStatusMessage(F("Print Starting")); + StatusScreen::setStatusMessage(GET_TEXTF(PRINT_STARTING)); GOTO_SCREEN(StatusScreen); return true; case 244: @@ -234,8 +238,8 @@ bool FilesScreen::onTouchEnd(uint8_t tag) { if (FTDI::ftdi_chip >= 810) { const char *longFilename = getSelectedLongFilename(); if (longFilename[0]) { - CLCD::FontMetrics fm(font_medium); - uint16_t text_width = fm.get_text_width(longFilename); + CommandProcessor cmd; + uint16_t text_width = cmd.font(font_medium).text_width(longFilename); screen_data.FilesScreen.scroll_pos = 0; if (text_width > display_width) screen_data.FilesScreen.scroll_max = text_width - display_width + MARGIN_L + MARGIN_R; diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_settings_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_settings_screen.cpp index 265d0e103a..e1b27c79ae 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_settings_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_settings_screen.cpp @@ -69,15 +69,15 @@ void InterfaceSettingsScreen::onRedraw(draw_mode_t what) { .cmd(COLOR_RGB(bg_text_enabled)) .tag(0) .font(font_medium) - .text(BTN_POS(1,1), BTN_SIZE(4,1), F("Interface Settings")) + .text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXTF(INTERFACE_SETTINGS)) #undef EDGE_R #define EDGE_R 30 .font(font_small) .tag(0) - .text(BTN_POS(1,2), BTN_SIZE(2,1), F("LCD brightness:"), OPT_RIGHTX | OPT_CENTERY) - .text(BTN_POS(1,3), BTN_SIZE(2,1), F("Sound volume:"), OPT_RIGHTX | OPT_CENTERY) - .text(BTN_POS(1,4), BTN_SIZE(2,1), F("Screen lock:"), OPT_RIGHTX | OPT_CENTERY); - cmd.text(BTN_POS(1,5), BTN_SIZE(2,1), F("Boot screen:"), OPT_RIGHTX | OPT_CENTERY); + .text(BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(LCD_BRIGHTNESS), OPT_RIGHTX | OPT_CENTERY) + .text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(SOUND_VOLUME), OPT_RIGHTX | OPT_CENTERY) + .text(BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(SCREEN_LOCK), OPT_RIGHTX | OPT_CENTERY); + cmd.text(BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(BOOT_SCREEN), OPT_RIGHTX | OPT_CENTERY); #undef EDGE_R } @@ -94,19 +94,19 @@ void InterfaceSettingsScreen::onRedraw(draw_mode_t what) { .tag(2).slider(BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.brightness, 128) .tag(3).slider(BTN_POS(3,3), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.volume, 0xFF) .colors(ui_toggle) - .tag(4).toggle(BTN_POS(3,4), BTN_SIZE(w,1), F("off\xFFon"), LockScreen::is_enabled()) - .tag(5).toggle(BTN_POS(3,5), BTN_SIZE(w,1), F("off\xFFon"), UIData::animations_enabled()) + .tag(4).toggle2(BTN_POS(3,4), BTN_SIZE(w,1), GET_TEXTF(NO), GET_TEXTF(YES), LockScreen::is_enabled()) + .tag(5).toggle2(BTN_POS(3,5), BTN_SIZE(w,1), GET_TEXTF(NO), GET_TEXTF(YES), UIData::animations_enabled()) #undef EDGE_R #define EDGE_R 0 #ifdef TOUCH_UI_PORTRAIT .colors(normal_btn) - .tag(6).button (BTN_POS(1,6), BTN_SIZE(4,1), F("Customize Sounds")) + .tag(6).button (BTN_POS(1,6), BTN_SIZE(4,1), GET_TEXTF(INTERFACE_SOUNDS)) .colors(action_btn) - .tag(1).button (BTN_POS(1,7), BTN_SIZE(4,1), F("Back")); + .tag(1).button (BTN_POS(1,7), BTN_SIZE(4,1), GET_TEXTF(BACK)); #else - .tag(6).button (BTN_POS(1,6), BTN_SIZE(2,1), F("Customize Sounds")) + .tag(6).button (BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(INTERFACE_SOUNDS)) .colors(action_btn) - .tag(1).button (BTN_POS(3,6), BTN_SIZE(2,1), F("Back")); + .tag(1).button (BTN_POS(3,6), BTN_SIZE(2,1), GET_TEXTF(BACK)); #endif } } @@ -263,9 +263,9 @@ void InterfaceSettingsScreen::loadSettings(const char *buff) { success = persistentStore.write_data(0, data, LULZBOT_EEPROM_BACKUP_SIZE) == PERSISTENT_STORE_SUCCESS; if (success) - StatusScreen::setStatusMessage(F("Settings restored from backup")); + StatusScreen::setStatusMessage(GET_TEXTF(EEPROM_RESTORED)); else - StatusScreen::setStatusMessage(F("Settings restored to default")); + StatusScreen::setStatusMessage(GET_TEXTF(EEPROM_RESET)); return success; } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_sounds_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_sounds_screen.cpp index a1a05d0806..a116ae29fe 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_sounds_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_sounds_screen.cpp @@ -71,15 +71,15 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) { #define GRID_ROWS 9 .font(font_medium) - .text(BTN_POS(1,1), BTN_SIZE(4,1), F("Interface Sounds")) + .text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXTF(INTERFACE_SOUNDS)) #undef EDGE_R #define EDGE_R 30 .font(font_small) - .tag(0).text (BTN_POS(1,2), BTN_SIZE(2,1), F("Sound volume:"), OPT_RIGHTX | OPT_CENTERY) - .text (BTN_POS(1,3), BTN_SIZE(2,1), F("Click sounds:"), OPT_RIGHTX | OPT_CENTERY) - .text (BTN_POS(1,5), BTN_SIZE(2,1), F("Print starting:"), OPT_RIGHTX | OPT_CENTERY) - .text (BTN_POS(1,6), BTN_SIZE(2,1), F("Print finished:"), OPT_RIGHTX | OPT_CENTERY) - .text (BTN_POS(1,7), BTN_SIZE(2,1), F("Print error:"), OPT_RIGHTX | OPT_CENTERY); + .tag(0).text (BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(SOUND_VOLUME), OPT_RIGHTX | OPT_CENTERY) + .text (BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(CLICK_SOUNDS), OPT_RIGHTX | OPT_CENTERY) + .text (BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(PRINT_STARTING), OPT_RIGHTX | OPT_CENTERY) + .text (BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(PRINT_FINISHED), OPT_RIGHTX | OPT_CENTERY) + .text (BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(PRINT_ERROR), OPT_RIGHTX | OPT_CENTERY); #undef EDGE_R } @@ -95,7 +95,7 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) { #define EDGE_R 30 .tag(2).slider (BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.volume, 0xFF) .colors(ui_toggle) - .tag(3).toggle (BTN_POS(3,3), BTN_SIZE(w,1), F("off\xFFon"), UIData::touch_sounds_enabled()) + .tag(3).toggle2 (BTN_POS(3,3), BTN_SIZE(w,1), GET_TEXTF(NO), GET_TEXTF(YES), UIData::touch_sounds_enabled()) #undef EDGE_R .colors(normal_btn) #define EDGE_R 0 @@ -103,7 +103,7 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) { .tag(5).button (BTN_POS(3,6), BTN_SIZE(2,1), getSoundSelection(PRINTING_FINISHED)) .tag(6).button (BTN_POS(3,7), BTN_SIZE(2,1), getSoundSelection(PRINTING_FAILED)) .colors(action_btn) - .tag(1).button (BTN_POS(1,9), BTN_SIZE(4,1), F("Back")); + .tag(1).button (BTN_POS(1,9), BTN_SIZE(4,1), GET_TEXTF(BACK)); } } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/jerk_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/jerk_screen.cpp index 7ffb4c5ddf..7053314757 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/jerk_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/jerk_screen.cpp @@ -34,12 +34,12 @@ void JerkScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(1); - w.units(PSTR("mm/s")); - w.heading( PSTR("Maximum Jerk")); - w.color(x_axis) .adjuster( 2, PSTR("X:"), getAxisMaxJerk_mm_s(X) ); - w.color(y_axis) .adjuster( 4, PSTR("Y:"), getAxisMaxJerk_mm_s(Y) ); - w.color(z_axis) .adjuster( 6, PSTR("Z:"), getAxisMaxJerk_mm_s(Z) ); - w.color(e_axis) .adjuster( 8, PSTR("E:"), getAxisMaxJerk_mm_s(E0) ); + w.units(GET_TEXTF(UNITS_MM_S)); + w.heading(GET_TEXTF(JERK)); + w.color(x_axis) .adjuster( 2, GET_TEXTF(AXIS_X), getAxisMaxJerk_mm_s(X) ); + w.color(y_axis) .adjuster( 4, GET_TEXTF(AXIS_Y), getAxisMaxJerk_mm_s(Y) ); + w.color(z_axis) .adjuster( 6, GET_TEXTF(AXIS_Z), getAxisMaxJerk_mm_s(Z) ); + w.color(e_axis) .adjuster( 8, GET_TEXTF(AXIS_E), getAxisMaxJerk_mm_s(E0) ); w.increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/junction_deviation_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/junction_deviation_screen.cpp index 1cc4471b59..56a3b13365 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/junction_deviation_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/junction_deviation_screen.cpp @@ -33,8 +33,8 @@ using namespace Theme; void JunctionDeviationScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(2); - w.units(PSTR("mm")); - w.heading( PSTR("Junction Deviation")); + w.units(GET_TEXTF(UNITS_MM)); + w.heading(GET_TEXTF(JUNC_DEVIATION)); w.color(other) .adjuster( 2, PSTR(""), getJunctionDeviation_mm() ); w.increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/kill_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/kill_screen.cpp index 84cbd583cd..7fa8506734 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/kill_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/kill_screen.cpp @@ -46,8 +46,8 @@ void KillScreen::show(progmem_str message) { cmd.font(Theme::font_large) .cmd(COLOR_RGB(Theme::bg_text_enabled)) .text(BTN_POS(1,2), BTN_SIZE(4,1), message) - .text(BTN_POS(1,3), BTN_SIZE(4,1), F("PRINTER HALTED")) - .text(BTN_POS(1,6), BTN_SIZE(4,1), F("Please reset")); + .text(BTN_POS(1,3), BTN_SIZE(4,1), GET_TEXTF(PRINTER_HALTED)) + .text(BTN_POS(1,6), BTN_SIZE(4,1), GET_TEXTF(PLEASE_RESET)); #undef GRID_COLS #undef GRID_ROWS diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/language_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/language_menu.cpp new file mode 100644 index 0000000000..d077ae19fe --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/language_menu.cpp @@ -0,0 +1,66 @@ +/********************* + * language_menu.cpp * + *********************/ + +/**************************************************************************** + * Written By Mark Pelletier 2017 - Aleph Objects, Inc. * + * Written By Marcio Teixeira 2018 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#include "../config.h" +#include "../language/language.h" + +#if ENABLED(LULZBOT_TOUCH_UI) && NUM_LANGUAGES > 1 + +#include "screens.h" + +using namespace FTDI; +using namespace Theme; + +void LanguageMenu::onRedraw(draw_mode_t) { + CommandProcessor cmd; + cmd.cmd(CLEAR_COLOR_RGB(Theme::bg_color)) + .cmd(CLEAR(true,true,true)) + .colors(normal_btn) + .font(Theme::font_medium); + + #define GRID_ROWS 8 + #define GRID_COLS 1 + + cmd.tag(1).button(BTN_POS(1,1), BTN_SIZE(1,1), GET_LANGUAGE_NAME(1)); + cmd.tag(2).button(BTN_POS(1,2), BTN_SIZE(1,1), GET_LANGUAGE_NAME(2)); + #if NUM_LANGUAGES > 2 + cmd.tag(3).button(BTN_POS(1,3), BTN_SIZE(1,1), GET_LANGUAGE_NAME(3)); + #if NUM_LANGUAGES > 3 + cmd.tag(4).button(BTN_POS(1,4), BTN_SIZE(1,1), GET_LANGUAGE_NAME(4)); + #if NUM_LANGUAGES > 5 + cmd.tag(5).button(BTN_POS(1,5), BTN_SIZE(1,1), GET_LANGUAGE_NAME(5)); + #endif + #endif + #endif +} + +bool LanguageMenu::onTouchEnd(uint8_t tag) { + + if (tag > 0 && tag <= NUM_LANGUAGES) { + lang = tag - 1; + GOTO_SCREEN(StatusScreen); + return true; + } + return false; +} + +#endif // LULZBOT_TOUCH_UI diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/linear_advance_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/linear_advance_screen.cpp index 8b7137cb81..2c08fb24c8 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/linear_advance_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/linear_advance_screen.cpp @@ -33,16 +33,16 @@ using namespace Theme; void LinearAdvanceScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(2, DEFAULT_LOWEST).color(e_axis); - w.heading( PSTR("Linear Advance:")); + w.heading( GET_TEXTF(LINEAR_ADVANCE)); #if EXTRUDERS == 1 - w.adjuster( 2, PSTR("K:"), getLinearAdvance_mm_mm_s(E0) ); + w.adjuster( 2, GET_TEXTF(LINEAR_ADVANCE_K), getLinearAdvance_mm_mm_s(E0) ); #else - w.adjuster( 2, PSTR("K E1:"), getLinearAdvance_mm_mm_s(E0) ); - w.adjuster( 4, PSTR("K E2:"), getLinearAdvance_mm_mm_s(E1) ); + w.adjuster( 2, GET_TEXTF(LINEAR_ADVANCE_K1), getLinearAdvance_mm_mm_s(E0) ); + w.adjuster( 4, GET_TEXTF(LINEAR_ADVANCE_K2), getLinearAdvance_mm_mm_s(E1) ); #if EXTRUDERS > 2 - w.adjuster( 6, PSTR("K E3:"), getLinearAdvance_mm_mm_s(E2) ); + w.adjuster( 6, GET_TEXTF(LINEAR_ADVANCE_K3), getLinearAdvance_mm_mm_s(E2) ); #if EXTRUDERS > 3 - w.adjuster( 8, PSTR("K E4:"), getLinearAdvance_mm_mm_s(E3) ); + w.adjuster( 8, GET_TEXTF(LINEAR_ADVANCE_K4), getLinearAdvance_mm_mm_s(E3) ); #endif #endif #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/lock_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/lock_screen.cpp index 99b78933ac..ae683ced54 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/lock_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/lock_screen.cpp @@ -65,16 +65,16 @@ void LockScreen::onRedraw(draw_mode_t what) { progmem_str message; switch (message_style()) { case 'w': - message = F("Wrong passcode!"); + message = GET_TEXTF(PASSCODE_REJECTED); break; case 'g': - message = F("Passcode accepted!"); + message = GET_TEXTF(PASSCODE_ACCEPTED); break; default: if (passcode == 0) { - message = F("Select Passcode:"); + message = GET_TEXTF(PASSCODE_SELECT); } else { - message = F("Enter Passcode:"); + message = GET_TEXTF(PASSCODE_REQUEST); } } message_style() = '\0'; // Terminate the string. diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/main_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/main_menu.cpp index 9c6a3f4c2d..ae6dd58c24 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/main_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/main_menu.cpp @@ -43,53 +43,53 @@ void MainMenu::onRedraw(draw_mode_t what) { #ifdef TOUCH_UI_PORTRAIT #define GRID_ROWS 8 #define GRID_COLS 2 - .tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), F("Auto Home")) + .tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXTF(AUTO_HOME)) #ifdef NOZZLE_CLEAN_FEATURE .enabled(1) #else .enabled(0) #endif - .tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), F("Clean Nozzle")) - .tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), F("Move Axis")) - .tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), F("Motors Off")) - .tag(6).button( BTN_POS(1,3), BTN_SIZE(2,1), F("Temperature")) - .tag(7).button( BTN_POS(1,4), BTN_SIZE(2,1), F("Change Filament")) - .tag(8).button( BTN_POS(1,5), BTN_SIZE(2,1), F("Advanced Settings")) + .tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(CLEAN_NOZZLE)) + .tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXTF(MOVE_AXIS)) + .tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(MOTORS_OFF)) + .tag(6).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(TEMPERATURE)) + .tag(7).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(CHANGE_FILAMENT)) + .tag(8).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(ADVANCED_SETTINGS)) #ifdef PRINTCOUNTER .enabled(1) #else .enabled(0) #endif - .tag(9).button( BTN_POS(1,7), BTN_SIZE(2,1), F("Printer Statistics")) - .tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), F("About Printer")) + .tag(9).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(PRINTER_STATISTICS)) + .tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(ABOUT_PRINTER)) .colors(action_btn) - .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), F("Back")); + .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS #else #define GRID_ROWS 5 #define GRID_COLS 2 - .tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), F("Auto Home")) + .tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXTF(AUTO_HOME)) #if ENABLED(NOZZLE_CLEAN_FEATURE) .enabled(1) #else .enabled(0) #endif - .tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), F("Clean Nozzle")) - .tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), F("Move Axis")) - .tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), F("Motors Off")) - .tag(6).button( BTN_POS(1,3), BTN_SIZE(1,1), F("Temperature")) - .tag(7).button( BTN_POS(2,3), BTN_SIZE(1,1), F("Change Filament")) - .tag(8).button( BTN_POS(1,4), BTN_SIZE(1,1), F("Advanced Settings")) + .tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(CLEAN_NOZZLE)) + .tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXTF(MOVE_AXIS)) + .tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(MOTORS_OFF)) + .tag(6).button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXTF(TEMPERATURE)) + .tag(7).button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXTF(CHANGE_FILAMENT)) + .tag(8).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(ADVANCED_SETTINGS)) #ifdef PRINTCOUNTER .enabled(1) #else .enabled(0) #endif - .tag(9).button( BTN_POS(2,4), BTN_SIZE(1,1), F("Printer Statistics")) - .tag(10).button( BTN_POS(1,5), BTN_SIZE(1,1), F("About Printer")) + .tag(9).button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(PRINTER_STATISTICS)) + .tag(10).button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXTF(ABOUT_PRINTER)) .colors(action_btn) - .tag(1).button( BTN_POS(2,5), BTN_SIZE(1,1), F("Back")); + .tag(1).button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_acceleration_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_acceleration_screen.cpp index ccc58b5a3c..80e7f59cde 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_acceleration_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_acceleration_screen.cpp @@ -33,21 +33,21 @@ using namespace Theme; void MaxAccelerationScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(0); - w.units(PSTR("mm/s^2")); - w.heading( PSTR("Maximum Acceleration")); - w.color(x_axis) .adjuster( 2, PSTR("X:"), getAxisMaxAcceleration_mm_s2(X) ); - w.color(y_axis) .adjuster( 4, PSTR("Y:"), getAxisMaxAcceleration_mm_s2(Y) ); - w.color(z_axis) .adjuster( 6, PSTR("Z:"), getAxisMaxAcceleration_mm_s2(Z) ); + w.units(GET_TEXTF(UNITS_MM_S2)); + w.heading(GET_TEXTF(ACCELERATION)); + w.color(x_axis) .adjuster( 2, GET_TEXTF(AMAX_X), getAxisMaxAcceleration_mm_s2(X) ); + w.color(y_axis) .adjuster( 4, GET_TEXTF(AMAX_Y), getAxisMaxAcceleration_mm_s2(Y) ); + w.color(z_axis) .adjuster( 6, GET_TEXTF(AMAX_Z), getAxisMaxAcceleration_mm_s2(Z) ); #if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS) - w.color(e_axis).adjuster( 8, PSTR("E:"), getAxisMaxAcceleration_mm_s2(E0) ); + w.color(e_axis).adjuster( 8, GET_TEXTF(AMAX_E1), getAxisMaxAcceleration_mm_s2(E0) ); #elif EXTRUDERS > 1 - w.color(e_axis).adjuster( 8, PSTR("E1:"), getAxisMaxAcceleration_mm_s2(E0) ); - w.color(e_axis).adjuster(10, PSTR("E2:"), getAxisMaxAcceleration_mm_s2(E1) ); + w.color(e_axis).adjuster( 8, GET_TEXTF(AMAX_E1), getAxisMaxAcceleration_mm_s2(E0) ); + w.color(e_axis).adjuster(10, GET_TEXTF(AMAX_E2), getAxisMaxAcceleration_mm_s2(E1) ); #if EXTRUDERS > 2 - w.color(e_axis).adjuster(12, PSTR("E3:"), getAxisMaxAcceleration_mm_s2(E2) ); + w.color(e_axis).adjuster(12, GET_TEXTF(AMAX_E3), getAxisMaxAcceleration_mm_s2(E2) ); #endif #if EXTRUDERS > 3 - w.color(e_axis).adjuster(14, PSTR("E4:"), getAxisMaxAcceleration_mm_s2(E3) ); + w.color(e_axis).adjuster(14, GET_TEXTF(AMAX_E4), getAxisMaxAcceleration_mm_s2(E3) ); #endif #endif w.increments(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_velocity_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_velocity_screen.cpp index e147bfe4e1..719e5a308e 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_velocity_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_velocity_screen.cpp @@ -34,21 +34,21 @@ void MaxVelocityScreen::onRedraw(draw_mode_t what) { using namespace ExtUI; widgets_t w(what); w.precision(0); - w.units(PSTR("mm/s")); - w.heading( PSTR("Maximum Velocity")); - w.color(x_axis) .adjuster( 2, PSTR("X:"), getAxisMaxFeedrate_mm_s(X) ); - w.color(y_axis) .adjuster( 4, PSTR("Y:"), getAxisMaxFeedrate_mm_s(Y) ); - w.color(z_axis) .adjuster( 6, PSTR("Z:"), getAxisMaxFeedrate_mm_s(Z) ); + w.units(GET_TEXTF(UNITS_MM_S)); + w.heading( GET_TEXTF(VELOCITY)); + w.color(x_axis) .adjuster( 2, GET_TEXTF(VMAX_X), getAxisMaxFeedrate_mm_s(X) ); + w.color(y_axis) .adjuster( 4, GET_TEXTF(VMAX_Y), getAxisMaxFeedrate_mm_s(Y) ); + w.color(z_axis) .adjuster( 6, GET_TEXTF(VMAX_Z), getAxisMaxFeedrate_mm_s(Z) ); #if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS) - w.color(e_axis) .adjuster( 8, PSTR("E:"), getAxisMaxFeedrate_mm_s(E0) ); + w.color(e_axis) .adjuster( 8, GET_TEXTF(VMAX_E1), getAxisMaxFeedrate_mm_s(E0) ); #elif EXTRUDERS > 1 - w.color(e_axis) .adjuster( 8, PSTR("E1:"), getAxisMaxFeedrate_mm_s(E0) ); - w.color(e_axis) .adjuster( 10, PSTR("E2:"), getAxisMaxFeedrate_mm_s(E1) ); + w.color(e_axis) .adjuster( 8, GET_TEXTF(VMAX_E1), getAxisMaxFeedrate_mm_s(E0) ); + w.color(e_axis) .adjuster( 10, GET_TEXTF(VMAX_E2), getAxisMaxFeedrate_mm_s(E1) ); #if EXTRUDERS > 2 - w.color(e_axis).adjuster( 12, PSTR("E3:"), getAxisMaxFeedrate_mm_s(E2) ); + w.color(e_axis).adjuster( 12, GET_TEXTF(VMAX_E3), getAxisMaxFeedrate_mm_s(E2) ); #endif #if EXTRUDERS > 3 - w.color(e_axis).adjuster( 14, PSTR("E4:"), getAxisMaxFeedrate_mm_s(E3) ); + w.color(e_axis).adjuster( 14, GET_TEXTF(VMAX_E4), getAxisMaxFeedrate_mm_s(E3) ); #endif #endif w.increments(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/media_player_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/media_player_screen.cpp index 5db38bec09..1043dde9c7 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/media_player_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/media_player_screen.cpp @@ -66,8 +66,7 @@ bool MediaPlayerScreen::playCardMedia() { if (!reader.open(fname)) return false; - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM("Starting to play STARTUP.AVI"); + SERIAL_ECHO_MSG("Starting to play STARTUP.AVI"); playStream(&reader, MediaFileReader::read); reader.close(); #endif @@ -79,8 +78,7 @@ bool MediaPlayerScreen::playBootMedia() { UIFlashStorage::BootMediaReader reader; if (!reader.isAvailable()) return false; - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM("Starting to play boot video"); + SERIAL_ECHO_MSG("Starting to play boot video"); playStream(&reader, UIFlashStorage::BootMediaReader::read); return true; } @@ -138,8 +136,7 @@ void MediaPlayerScreen::playStream(void *obj, media_streamer_func_t *data_stream t = millis(); timeouts--; if (timeouts == 0) { - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM("Timeout playing video"); + SERIAL_ECHO_MSG("Timeout playing video"); cmd.reset(); goto exit; } @@ -151,8 +148,7 @@ void MediaPlayerScreen::playStream(void *obj, media_streamer_func_t *data_stream CLCD::mem_write_32(CLCD::REG::MEDIAFIFO_WRITE, writePtr); } while (nBytes == block_size); - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM("Done playing video"); + SERIAL_ECHO_MSG("Done playing video"); exit: spiInit(SPI_SPEED); // Restore default speed @@ -161,8 +157,11 @@ void MediaPlayerScreen::playStream(void *obj, media_streamer_func_t *data_stream // everything that is stored in RAMG. cmd.cmd(CMD_DLSTART).execute(); DLCache::init(); - StatusScreen::onStartup(); + StatusScreen::loadBitmaps(); } + #else + UNUSED(obj); + UNUSED(data_stream); #endif // FTDI_API_LEVEL >= 810 } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/move_axis_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/move_axis_screen.cpp index 60229907b9..86032e8562 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/move_axis_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/move_axis_screen.cpp @@ -36,7 +36,7 @@ void MoveAxisScreen::onEntry() { // ourselves. The relative distances are reset to zero whenever this // screen is entered. - for(uint8_t i = 0; i < ExtUI::extruderCount; i++) { + for (uint8_t i = 0; i < ExtUI::extruderCount; i++) { screen_data.MoveAxisScreen.e_rel[i] = 0; } BaseNumericAdjustmentScreen::onEntry(); @@ -45,31 +45,32 @@ void MoveAxisScreen::onEntry() { void MoveAxisScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(1); - w.units(PSTR("mm")); - w.heading( PSTR("Move Axis")); + w.units(GET_TEXTF(UNITS_MM)); + w.heading( GET_TEXTF(MOVE_AXIS)); w.home_buttons(20); - w.color(Theme::x_axis ) .adjuster( 2, PSTR("X:"), getAxisPosition_mm(X), canMove(X)); - w.color(Theme::y_axis ) .adjuster( 4, PSTR("Y:"), getAxisPosition_mm(Y), canMove(Y)); - w.color(Theme::z_axis ) .adjuster( 6, PSTR("Z:"), getAxisPosition_mm(Z), canMove(Z)); + w.color(Theme::x_axis).adjuster( 2, GET_TEXTF(AXIS_X), getAxisPosition_mm(X), canMove(X)); + w.color(Theme::y_axis).adjuster( 4, GET_TEXTF(AXIS_Y), getAxisPosition_mm(Y), canMove(Y)); + w.color(Theme::z_axis).adjuster( 6, GET_TEXTF(AXIS_Z), getAxisPosition_mm(Z), canMove(Z)); + w.color(Theme::e_axis); #if EXTRUDERS == 1 - w.color(Theme::e_axis) .adjuster( 8, PSTR("E:"), screen_data.MoveAxisScreen.e_rel[0], canMove(E0)); + w.adjuster( 8, GET_TEXTF(AXIS_E), screen_data.MoveAxisScreen.e_rel[0], canMove(E0)); #elif EXTRUDERS > 1 - w.color(Theme::e_axis) .adjuster( 8, PSTR("E1:"), screen_data.MoveAxisScreen.e_rel[0], canMove(E0)); - w.color(Theme::e_axis) .adjuster( 10, PSTR("E2:"), screen_data.MoveAxisScreen.e_rel[1], canMove(E1)); + w.adjuster( 8, GET_TEXTF(AXIS_E1), screen_data.MoveAxisScreen.e_rel[0], canMove(E0)); + w.adjuster( 10, GET_TEXTF(AXIS_E2), screen_data.MoveAxisScreen.e_rel[1], canMove(E1)); #if EXTRUDERS > 2 - w.color(Theme::e_axis) .adjuster( 12, PSTR("E3:"), screen_data.MoveAxisScreen.e_rel[2], canMove(E2)); + w.adjuster( 12, GET_TEXTF(AXIS_E3), screen_data.MoveAxisScreen.e_rel[2], canMove(E2)); #endif #if EXTRUDERS > 3 - w.color(Theme::e_axis) .adjuster( 14, PSTR("E4:"), screen_data.MoveAxisScreen.e_rel[3], canMove(E3)); + w.adjuster( 14, GET_TEXTF(AXIS_E4), screen_data.MoveAxisScreen.e_rel[3], canMove(E3)); #endif #endif w.increments(); } bool MoveAxisScreen::onTouchHeld(uint8_t tag) { - #define UI_INCREMENT_AXIS(axis) setManualFeedrate(axis, increment); UI_INCREMENT(AxisPosition_mm, axis); - #define UI_DECREMENT_AXIS(axis) setManualFeedrate(axis, increment); UI_DECREMENT(AxisPosition_mm, axis); + #define UI_INCREMENT_AXIS(axis) UI_INCREMENT(AxisPosition_mm, axis); + #define UI_DECREMENT_AXIS(axis) UI_DECREMENT(AxisPosition_mm, axis); const float increment = getIncrement(); switch (tag) { case 2: UI_DECREMENT_AXIS(X); break; @@ -93,10 +94,10 @@ bool MoveAxisScreen::onTouchHeld(uint8_t tag) { case 14: UI_DECREMENT_AXIS(E3); screen_data.MoveAxisScreen.e_rel[3] -= increment; break; case 15: UI_INCREMENT_AXIS(E3); screen_data.MoveAxisScreen.e_rel[3] += increment; break; #endif - case 20: injectCommands_P(PSTR("G28 X")); break; - case 21: injectCommands_P(PSTR("G28 Y")); break; - case 22: injectCommands_P(PSTR("G28 Z")); break; - case 23: injectCommands_P(PSTR("G28")); break; + case 20: SpinnerDialogBox::enqueueAndWait_P(F("G28 X")); break; + case 21: SpinnerDialogBox::enqueueAndWait_P(F("G28 Y")); break; + case 22: SpinnerDialogBox::enqueueAndWait_P(F("G28 Z")); break; + case 23: SpinnerDialogBox::enqueueAndWait_P(F("G28")); break; default: return false; } @@ -109,8 +110,8 @@ float MoveAxisScreen::getManualFeedrate(uint8_t axis, float increment_mm) { // Compute feedrate so that the tool lags the adjuster when it is // being held down, this allows enough margin for the planner to // connect segments and even out the motion. - constexpr float max_manual_feedrate[XYZE] = MAX_MANUAL_FEEDRATE; - return min(max_manual_feedrate[axis]/60, abs(increment_mm * TOUCH_REPEATS_PER_SECOND * 0.80)); + constexpr float manual_feedrate[XYZE] = MANUAL_FEEDRATE; + return min(manual_feedrate[axis] / 60.0f, abs(increment_mm * (TOUCH_REPEATS_PER_SECOND) * 0.80f)); } void MoveAxisScreen::setManualFeedrate(ExtUI::axis_t axis, float increment_mm) { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nozzle_offsets_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nozzle_offsets_screen.cpp index 558c1acfce..e8835ba858 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nozzle_offsets_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nozzle_offsets_screen.cpp @@ -39,14 +39,14 @@ void NozzleOffsetScreen::onEntry() { void NozzleOffsetScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(2).units(PSTR("mm")); + w.precision(2).units(GET_TEXTF(UNITS_MM)); - w.heading( PSTR("Nozzle Offset")); - w.color(Theme::x_axis).adjuster(2, PSTR("X:"), ExtUI::getNozzleOffset_mm(X, E1)); - w.color(Theme::y_axis).adjuster(4, PSTR("Y:"), ExtUI::getNozzleOffset_mm(Y, E1)); - w.color(Theme::z_axis).adjuster(6, PSTR("Z:"), ExtUI::getNozzleOffset_mm(Z, E1)); + w.heading( GET_TEXTF(TOOL_OFFSETS)); + w.color(Theme::x_axis).adjuster(2, GET_TEXTF(AXIS_X), ExtUI::getNozzleOffset_mm(X, E1)); + w.color(Theme::y_axis).adjuster(4, GET_TEXTF(AXIS_Y), ExtUI::getNozzleOffset_mm(Y, E1)); + w.color(Theme::z_axis).adjuster(6, GET_TEXTF(AXIS_Z), ExtUI::getNozzleOffset_mm(Z, E1)); #if ENABLED(CALIBRATION_GCODE) - w.button(8, PSTR("Measure automatically"), !isPrinting()); + w.button(8, GET_TEXTF(MEASURE_AUTOMATICALLY), !isPrinting()); #endif w.increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nudge_nozzle_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nudge_nozzle_screen.cpp index b956c37a9c..74e7c45040 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nudge_nozzle_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nudge_nozzle_screen.cpp @@ -44,41 +44,38 @@ void NudgeNozzleScreen::onEntry() { void NudgeNozzleScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(PSTR("mm")); + w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(GET_TEXTF(UNITS_MM)); - w.heading( PSTR("Nudge Nozzle")); + w.heading( GET_TEXTF(NUDGE_NOZZLE)); #if ENABLED(BABYSTEP_XY) - w.color(x_axis).adjuster(2, PSTR("X:"), screen_data.NudgeNozzleScreen.rel[0] / getAxisSteps_per_mm(X)); - w.color(y_axis).adjuster(4, PSTR("Y:"), screen_data.NudgeNozzleScreen.rel[1] / getAxisSteps_per_mm(Y)); + w.color(x_axis).adjuster(2, GET_TEXTF(AXIS_X), screen_data.NudgeNozzleScreen.rel[0] / getAxisSteps_per_mm(X)); + w.color(y_axis).adjuster(4, GET_TEXTF(AXIS_Y), screen_data.NudgeNozzleScreen.rel[1] / getAxisSteps_per_mm(Y)); #endif - w.color(z_axis).adjuster(6, PSTR("Z:"), screen_data.NudgeNozzleScreen.rel[2] / getAxisSteps_per_mm(Z)); + w.color(z_axis).adjuster(6, GET_TEXTF(AXIS_Z), screen_data.NudgeNozzleScreen.rel[2] / getAxisSteps_per_mm(Z)); w.increments(); #if EXTRUDERS > 1 - w.toggle (8, PSTR("Adjust Both Nozzles:"), PSTR("no\xFFyes"), screen_data.NudgeNozzleScreen.link_nozzles, PSTR("Yes\nNo")); + w.toggle (8, GET_TEXTF(ADJUST_BOTH_NOZZLES), screen_data.NudgeNozzleScreen.link_nozzles); #endif #if EXTRUDERS > 1 || HAS_BED_PROBE - w.toggle (9, PSTR("Show Offsets:"), PSTR("no\xFFyes"), screen_data.NudgeNozzleScreen.show_offsets, PSTR("Yes\nNo")); + w.toggle (9, GET_TEXTF(SHOW_OFFSETS), screen_data.NudgeNozzleScreen.show_offsets); if (screen_data.NudgeNozzleScreen.show_offsets) { - char str[19], num1[7]; + char str[19]; w.draw_mode(BOTH); w.color(other); #if HAS_BED_PROBE - dtostrf(getZOffset_mm(), 4, 2, num1); - sprintf_P(str, PSTR("%s mm"), num1); - w.text_field (0, PSTR("Z Offset"), str); + dtostrf(getZOffset_mm(), 4, 2, str); + strcat(str, " "); + strcat_P(str, GET_TEXT(UNITS_MM)); + w.text_field (0, GET_TEXTF(ZPROBE_ZOFFSET), str); #endif #if EXTRUDERS > 1 - char num2[7], num3[7]; - dtostrf(getNozzleOffset_mm(X, E1), 4, 2, num1); - dtostrf(getNozzleOffset_mm(Y, E1), 4, 2, num2); - dtostrf(getNozzleOffset_mm(Z, E1), 4, 2, num3); - sprintf_P(str, PSTR("%s; %s; %s mm"), num1, num2, num3); - w.text_field (0, PSTR("Noz. Offset"), str); + format_position(str, getNozzleOffset_mm(X, E1), getNozzleOffset_mm(Y, E1), getNozzleOffset_mm(Z, E1)); + w.text_field (0, GET_TEXTF(TOOL_OFFSETS), str); #endif } #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/restore_failsafe_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/restore_failsafe_dialog_box.cpp index a93727cd8d..717fea9cac 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/restore_failsafe_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/restore_failsafe_dialog_box.cpp @@ -29,15 +29,15 @@ using namespace ExtUI; void RestoreFailsafeDialogBox::onRedraw(draw_mode_t) { - drawMessage(F("Are you sure? Customizations will be lost.")); + drawMessage(GET_TEXTF(EEPROM_RESET_WARNING)); drawYesNoButtons(); } bool RestoreFailsafeDialogBox::onTouchEnd(uint8_t tag) { switch (tag) { case 1: - ExtUI::injectCommands_P(PSTR("M502\nM117 Factory settings restored.")); - AlertDialogBox::show(F("Factory settings restored.")); + ExtUI::injectCommands_P(PSTR("M502")); + AlertDialogBox::show(GET_TEXTF(EEPROM_RESET)); // Remove RestoreFailsafeDialogBox from the stack // so the alert box doesn't return to it. current_screen.forget(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/save_settings_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/save_settings_dialog_box.cpp index 8a58af119c..b29c171cf7 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/save_settings_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/save_settings_dialog_box.cpp @@ -31,7 +31,7 @@ using namespace ExtUI; bool SaveSettingsDialogBox::needs_save = false; void SaveSettingsDialogBox::onRedraw(draw_mode_t) { - drawMessage(F("Do you wish to save these settings as defaults?")); + drawMessage(GET_TEXTF(EEPROM_SAVE_PROMPT)); drawYesNoButtons(); } @@ -40,7 +40,7 @@ bool SaveSettingsDialogBox::onTouchEnd(uint8_t tag) { switch (tag) { case 1: injectCommands_P(PSTR("M500")); - AlertDialogBox::show(F("Settings saved!")); + AlertDialogBox::show(GET_TEXTF(EEPROM_SAVED)); // Remove SaveSettingsDialogBox from the stack // so the alert box doesn't return to me. current_screen.forget(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screen_data.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screen_data.h index ed50a8bc3f..65cb6e85d7 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screen_data.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screen_data.h @@ -67,7 +67,7 @@ union screen_data_t { struct base_numeric_adjustment_t placeholder; int16_t rel[XYZ]; #if EXTRUDERS > 1 - bool link_nozzles; + bool link_nozzles; #endif bool show_offsets; } NudgeNozzleScreen; diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.cpp index c4f456c3e4..59d4069d6c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.cpp @@ -31,6 +31,9 @@ screen_data_t screen_data; SCREEN_TABLE { DECL_SCREEN(BootScreen), + #if NUM_LANGUAGES > 1 + DECL_SCREEN(LanguageMenu), + #endif DECL_SCREEN(TouchCalibrationScreen), DECL_SCREEN(StatusScreen), DECL_SCREEN(MainMenu), diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.h index 6d50509f6f..20a1809014 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.h @@ -23,9 +23,9 @@ #pragma once #include "../ftdi_eve_lib/ftdi_eve_lib.h" +#include "../language/language.h" #include "../theme/theme.h" - -#define ROUND(val) uint16_t((val)+0.5) +#include "string_format.h" extern tiny_timer_t refresh_timer; @@ -97,6 +97,8 @@ class BaseScreen : public UIScreen { static uint32_t last_interaction; #endif + static bool buttonIsPressed(uint8_t tag); + public: static bool buttonStyleCallback(CommandProcessor &, uint8_t, uint8_t &, uint16_t &, bool); @@ -147,6 +149,7 @@ class DialogBoxBaseClass : public BaseScreen { static void onRedraw(draw_mode_t) {}; public: static bool onTouchEnd(uint8_t tag); + static void onIdle(); }; class AlertDialogBox : public DialogBoxBaseClass, public CachedScreen { @@ -219,6 +222,7 @@ class StatusScreen : public BaseScreen, public CachedScreen 1 + class LanguageMenu : public BaseScreen, public UncachedScreen { + public: + static void onRedraw(draw_mode_t); + static bool onTouchEnd(uint8_t tag); + }; +#endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/spinner_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/spinner_dialog_box.cpp index 971bd5e5ba..985a217e78 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/spinner_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/spinner_dialog_box.cpp @@ -46,7 +46,7 @@ void SpinnerDialogBox::hide() { } void SpinnerDialogBox::enqueueAndWait_P(const progmem_str commands) { - enqueueAndWait_P(F("Please wait..."), commands); + enqueueAndWait_P(GET_TEXTF(PLEASE_WAIT), commands); } void SpinnerDialogBox::enqueueAndWait_P(const progmem_str message, const progmem_str commands) { @@ -57,6 +57,7 @@ void SpinnerDialogBox::enqueueAndWait_P(const progmem_str message, const progmem } void SpinnerDialogBox::onIdle() { + reset_menu_timeout(); if (screen_data.SpinnerDialogBox.auto_hide && !commandsInQueue()) { screen_data.SpinnerDialogBox.auto_hide = false; hide(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/statistics_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/statistics_screen.cpp index 18a3a4da60..e468159d2c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/statistics_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/statistics_screen.cpp @@ -44,14 +44,14 @@ void StatisticsScreen::onRedraw(draw_mode_t what) { .tag(0) .font(Theme::font_medium) - .text(BTN_POS(1,1), BTN_SIZE(4,1), F("Printer Statistics")) + .text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXTF(PRINTER_STATISTICS)) .font(Theme::font_small) .tag(0) - .text(BTN_POS(1,2), BTN_SIZE(2,1), F("Total Prints:"), OPT_RIGHTX | OPT_CENTERY) - .text(BTN_POS(1,3), BTN_SIZE(2,1), F("Finished Prints:"), OPT_RIGHTX | OPT_CENTERY) - .text(BTN_POS(1,4), BTN_SIZE(2,1), F("Total Print Time:"), OPT_RIGHTX | OPT_CENTERY) - .text(BTN_POS(1,5), BTN_SIZE(2,1), F("Longest Print:"), OPT_RIGHTX | OPT_CENTERY) - .text(BTN_POS(1,6), BTN_SIZE(2,1), F("Filament Used:"), OPT_RIGHTX | OPT_CENTERY); + .text(BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(INFO_PRINT_COUNT), OPT_RIGHTX | OPT_CENTERY) + .text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(INFO_COMPLETED_PRINTS), OPT_RIGHTX | OPT_CENTERY) + .text(BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(INFO_PRINT_TIME), OPT_RIGHTX | OPT_CENTERY) + .text(BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(INFO_PRINT_LONGEST), OPT_RIGHTX | OPT_CENTERY) + .text(BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(INFO_PRINT_FILAMENT), OPT_RIGHTX | OPT_CENTERY); // Don't chain the following, it causes strange issues with evaluation ordering! cmd.text(BTN_POS(3,2), BTN_SIZE(2,1), getTotalPrints_str(buffer)); cmd.text(BTN_POS(3,3), BTN_SIZE(2,1), getFinishedPrints_str(buffer)); @@ -63,7 +63,7 @@ void StatisticsScreen::onRedraw(draw_mode_t what) { if (what & FOREGROUND) { cmd.font(Theme::font_medium) .colors(action_btn) - .tag(1).button(BTN_POS(1,7), BTN_SIZE(4,1), F("Back")); + .tag(1).button(BTN_POS(1,7), BTN_SIZE(4,1), GET_TEXTF(BACK)); } } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/status_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/status_screen.cpp index 420ac2b430..81fc86d5a4 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/status_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/status_screen.cpp @@ -22,17 +22,13 @@ #include "../config.h" -#if ENABLED(LULZBOT_TOUCH_UI) && !defined(LULZBOT_USE_BIOPRINTER_UI) +#if ENABLED(LULZBOT_TOUCH_UI) && DISABLED(LULZBOT_USE_BIOPRINTER_UI) #include "screens.h" #include "screen_data.h" #include "../archim2-flash/flash_storage.h" -#if ENABLED(SDSUPPORT) && defined(LULZBOT_MANUAL_USB_STARTUP) - #include "../../../../../sd/cardreader.h" -#endif - using namespace FTDI; using namespace Theme; @@ -57,9 +53,9 @@ void StatusScreen::draw_axis_position(draw_mode_t what) { .button( BTN_POS(1,7), BTN_SIZE(2,1), F(""), OPT_FLAT) .font(Theme::font_small) - .text ( BTN_POS(1,5), BTN_SIZE(1,1), F("X")) - .text ( BTN_POS(1,6), BTN_SIZE(1,1), F("Y")) - .text ( BTN_POS(1,7), BTN_SIZE(1,1), F("Z")) + .text ( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXTF(AXIS_X)) + .text ( BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXTF(AXIS_Y)) + .text ( BTN_POS(1,7), BTN_SIZE(1,1), GET_TEXTF(AXIS_Z)) .font(Theme::font_medium) .fgcolor(Theme::x_axis) .button( BTN_POS(2,5), BTN_SIZE(2,1), F(""), OPT_FLAT) @@ -73,9 +69,9 @@ void StatusScreen::draw_axis_position(draw_mode_t what) { .button( BTN_POS(3,5), BTN_SIZE(1,2), F(""), OPT_FLAT) .font(Theme::font_small) - .text ( BTN_POS(1,5), BTN_SIZE(1,1), F("X")) - .text ( BTN_POS(2,5), BTN_SIZE(1,1), F("Y")) - .text ( BTN_POS(3,5), BTN_SIZE(1,1), F("Z")) + .text ( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXTF(AXIS_X)) + .text ( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXTF(AXIS_Y)) + .text ( BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXTF(AXIS_Z)) .font(Theme::font_medium) .fgcolor(Theme::x_axis) .button( BTN_POS(1,6), BTN_SIZE(1,1), F(""), OPT_FLAT) @@ -90,26 +86,20 @@ void StatusScreen::draw_axis_position(draw_mode_t what) { char y_str[15]; char z_str[15]; - if (isAxisPositionKnown(X)) { - dtostrf(getAxisPosition_mm(X), 5, 1, x_str); - strcat_P(x_str, PSTR(" mm")); - } else { + if (isAxisPositionKnown(X)) + format_position(x_str, getAxisPosition_mm(X)); + else strcpy_P(x_str, PSTR("?")); - } - if (isAxisPositionKnown(Y)) { - dtostrf(getAxisPosition_mm(Y), 5, 1, y_str); - strcat_P(y_str, PSTR(" mm")); - } else { + if (isAxisPositionKnown(Y)) + format_position(y_str, getAxisPosition_mm(Y)); + else strcpy_P(y_str, PSTR("?")); - } - if (isAxisPositionKnown(Z)) { - dtostrf(getAxisPosition_mm(Z), 5, 1, z_str); - strcat_P(z_str, PSTR(" mm")); - } else { + if (isAxisPositionKnown(Z)) + format_position(z_str, getAxisPosition_mm(Z)); + else strcpy_P(z_str, PSTR("?")); - } cmd.tag(6).font(Theme::font_medium) #ifdef TOUCH_UI_PORTRAIT @@ -178,14 +168,18 @@ void StatusScreen::draw_temperature(draw_mode_t what) { .cmd(BITMAP_LAYOUT(Fan_Icon_Info)) .cmd(BITMAP_SIZE (Fan_Icon_Info)) .icon (BTN_POS(5,2), BTN_SIZE(1,1), Fan_Icon_Info, icon_scale); + + #ifdef TOUCH_UI_USE_UTF8 + load_utf8_bitmaps(cmd); // Restore font bitmap handles + #endif } if (what & FOREGROUND) { using namespace ExtUI; - char e0_str[15]; - char e1_str[15]; - char bed_str[15]; - char fan_str[15]; + char e0_str[20]; + char e1_str[20]; + char bed_str[20]; + char fan_str[20]; sprintf_P( fan_str, @@ -193,30 +187,22 @@ void StatusScreen::draw_temperature(draw_mode_t what) { int8_t(getActualFan_percent(FAN0)) ); - const char *idle = PSTR("%-3d C / idle"); - const char *not_idle = PSTR("%-3d / %-3d C"); + if (isHeaterIdle(BED)) + format_temp_and_idle(bed_str, getActualTemp_celsius(BED)); + else + format_temp_and_temp(bed_str, getActualTemp_celsius(BED), getTargetTemp_celsius(BED)); - sprintf_P( - bed_str, - isHeaterIdle(BED) ? idle : not_idle, - ROUND(getActualTemp_celsius(BED)), - ROUND(getTargetTemp_celsius(BED)) - ); + if (isHeaterIdle(H0)) + format_temp_and_idle(e0_str, getActualTemp_celsius(H0)); + else + format_temp_and_temp(e0_str, getActualTemp_celsius(H0), getTargetTemp_celsius(H0)); - sprintf_P( - e0_str, - isHeaterIdle(H0) ? idle : not_idle, - ROUND(getActualTemp_celsius(H0)), - ROUND(getTargetTemp_celsius(H0)) - ); #if EXTRUDERS == 2 - sprintf_P( - e1_str, - isHeaterIdle(H1) ? idle : not_idle, - ROUND(getActualTemp_celsius(H1)), - ROUND(getTargetTemp_celsius(H1)) - ); + if (isHeaterIdle(H1)) + format_temp_and_idle(e1_str, getActualTemp_celsius(H1)); + else + format_temp_and_temp(e1_str, getActualTemp_celsius(H1), getTargetTemp_celsius(H1)); #else strcpy_P( e1_str, @@ -285,33 +271,20 @@ void StatusScreen::draw_interaction_buttons(draw_mode_t what) { CommandProcessor cmd; cmd.colors(normal_btn) .font(Theme::font_medium) - #if ENABLED(USB_FLASH_DRIVE_SUPPORT) && defined(LULZBOT_MANUAL_USB_STARTUP) - .enabled(!Sd2Card::ready() || has_media) - #else - .enabled(has_media) - #endif + .enabled(has_media) .colors(has_media ? action_btn : normal_btn) + .tag(3).button( + #ifdef TOUCH_UI_PORTRAIT + BTN_POS(1,8), BTN_SIZE(2,1), + #else + BTN_POS(1,7), BTN_SIZE(2,2), + #endif + isPrintingFromMedia() ? GET_TEXTF(PRINTING) : GET_TEXTF(MEDIA) + ).colors(!has_media ? action_btn : normal_btn) #ifdef TOUCH_UI_PORTRAIT - .tag(3).button( BTN_POS(1,8), BTN_SIZE(2,1), + .tag(4).button( BTN_POS(3,8), BTN_SIZE(2,1), GET_TEXTF(MENU)); #else - .tag(3).button( BTN_POS(1,7), BTN_SIZE(2,2), - #endif - isPrintingFromMedia() ? F("Printing") : - #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #ifdef LULZBOT_MANUAL_USB_STARTUP - (Sd2Card::ready() ? F("USB Drive") : F("Enable USB")) - #else - F("USB Drive") - #endif - ) - #else - F("SD Card")) - #endif - .colors(!has_media ? action_btn : normal_btn) - #ifdef TOUCH_UI_PORTRAIT - .tag(4).button( BTN_POS(3,8), BTN_SIZE(2,1), F("MENU")); - #else - .tag(4).button( BTN_POS(3,7), BTN_SIZE(2,2), F("MENU")); + .tag(4).button( BTN_POS(3,7), BTN_SIZE(2,2), GET_TEXTF(MENU)); #endif } #undef GRID_COLS @@ -357,9 +330,10 @@ void StatusScreen::setStatusMessage(const char* message) { draw_axis_position(BACKGROUND); draw_status_message(BACKGROUND, message); draw_interaction_buttons(BACKGROUND); + storeBackground(); - #ifdef UI_FRAMEWORK_DEBUG + #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR("New status message: ", message); #endif @@ -369,9 +343,8 @@ void StatusScreen::setStatusMessage(const char* message) { } } -void StatusScreen::onStartup() { +void StatusScreen::loadBitmaps() { // Load the bitmaps for the status screen - using namespace Theme; constexpr uint32_t base = ftdi_memory_map::RAM_G; CLCD::mem_write_pgm(base + TD_Icon_Info.RAMG_offset, TD_Icon, sizeof(TD_Icon)); @@ -379,8 +352,13 @@ void StatusScreen::onStartup() { CLCD::mem_write_pgm(base + Bed_Heat_Icon_Info.RAMG_offset, Bed_Heat_Icon, sizeof(Bed_Heat_Icon)); CLCD::mem_write_pgm(base + Fan_Icon_Info.RAMG_offset, Fan_Icon, sizeof(Fan_Icon)); - setStatusMessage(F(WELCOME_MSG)); + // Load fonts for internationalization + #ifdef TOUCH_UI_USE_UTF8 + load_utf8_data(base + UTF8_FONT_OFFSET); + #endif +} +void StatusScreen::onStartup() { UIFlashStorage::initialize(); } @@ -409,18 +387,7 @@ bool StatusScreen::onTouchEnd(uint8_t tag) { using namespace ExtUI; switch (tag) { - case 3: - #if ENABLED(USB_FLASH_DRIVE_SUPPORT) && defined(LULZBOT_MANUAL_USB_STARTUP) - if (!Sd2Card::ready()) { - StatusScreen::setStatusMessage(F("Insert USB drive...")); - Sd2Card::usbStartup(); - } else { - GOTO_SCREEN(FilesScreen); - } - #else - GOTO_SCREEN(FilesScreen); - #endif - break; + case 3: GOTO_SCREEN(FilesScreen); break; case 4: if (isPrinting()) { GOTO_SCREEN(TuneMenu); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/stepper_bump_sensitivity_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/stepper_bump_sensitivity_screen.cpp index 651bfa8d5c..2a7a79baec 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/stepper_bump_sensitivity_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/stepper_bump_sensitivity_screen.cpp @@ -33,22 +33,22 @@ using namespace Theme; void StepperBumpSensitivityScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(0, BaseNumericAdjustmentScreen::DEFAULT_LOWEST); - w.heading( PSTR("TMC Bump Sensitivity")); - w.color(x_axis) .adjuster( 2, PSTR("X:"), getTMCBumpSensitivity(X), + w.heading( GET_TEXTF(HOME_SENSE)); + w.color(x_axis) .adjuster( 2, GET_TEXTF(AXIS_X), getTMCBumpSensitivity(X), #if X_SENSORLESS && AXIS_HAS_STALLGUARD(X) true #else false #endif ); - w.color(y_axis) .adjuster( 4, PSTR("Y:"), getTMCBumpSensitivity(Y), + w.color(y_axis) .adjuster( 4, GET_TEXTF(AXIS_Y), getTMCBumpSensitivity(Y), #if Y_SENSORLESS && AXIS_HAS_STALLGUARD(Y) true #else false #endif ); - w.color(z_axis) .adjuster( 6, PSTR("Z:"), getTMCBumpSensitivity(Z), + w.color(z_axis) .adjuster( 6, GET_TEXTF(AXIS_Z), getTMCBumpSensitivity(Z), #if Z_SENSORLESS && AXIS_HAS_STALLGUARD(Z) true #else diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/stepper_current_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/stepper_current_screen.cpp index edeed68251..48d542bb59 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/stepper_current_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/stepper_current_screen.cpp @@ -33,21 +33,21 @@ using namespace Theme; void StepperCurrentScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(0); - w.units(PSTR("mA")); - w.heading( PSTR("Stepper Current")); - w.color(x_axis) .adjuster( 2, PSTR("X:"), getAxisCurrent_mA(X) ); - w.color(y_axis) .adjuster( 4, PSTR("Y:"), getAxisCurrent_mA(Y) ); - w.color(z_axis) .adjuster( 6, PSTR("Z:"), getAxisCurrent_mA(Z) ); + w.units(GET_TEXTF(UNITS_MILLIAMP)); + w.heading( GET_TEXTF(MOTOR_CURRENT)); + w.color(x_axis) .adjuster( 2, GET_TEXTF(AXIS_X), getAxisCurrent_mA(X) ); + w.color(y_axis) .adjuster( 4, GET_TEXTF(AXIS_Y), getAxisCurrent_mA(Y) ); + w.color(z_axis) .adjuster( 6, GET_TEXTF(AXIS_Z), getAxisCurrent_mA(Z) ); #if EXTRUDERS == 1 - w.color(e_axis).adjuster( 8, PSTR("E:"), getAxisCurrent_mA(E0) ); + w.color(e_axis).adjuster( 8, GET_TEXTF(AXIS_E), getAxisCurrent_mA(E0) ); #elif EXTRUDERS > 1 - w.color(e_axis).adjuster( 8, PSTR("E1:"), getAxisCurrent_mA(E0) ); - w.color(e_axis).adjuster(10, PSTR("E2:"), getAxisCurrent_mA(E1) ); + w.color(e_axis).adjuster( 8, GET_TEXTF(AXIS_E1), getAxisCurrent_mA(E0) ); + w.color(e_axis).adjuster(10, GET_TEXTF(AXIS_E2), getAxisCurrent_mA(E1) ); #if EXTRUDERS > 2 - w.color(e_axis).adjuster(12, PSTR("E3:"), getAxisCurrent_mA(E2) ); + w.color(e_axis).adjuster(12, GET_TEXTF(AXIS_E3), getAxisCurrent_mA(E2) ); #endif #if EXTRUDERS > 3 - w.color(e_axis).adjuster(14, PSTR("E4:"), getAxisCurrent_mA(E3) ); + w.color(e_axis).adjuster(14, GET_TEXTF(AXIS_E4), getAxisCurrent_mA(E3) ); #endif #endif w.increments(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/steps_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/steps_screen.cpp index f368b3b425..3f69e25559 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/steps_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/steps_screen.cpp @@ -33,21 +33,21 @@ using namespace Theme; void StepsScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(0); - w.units(PSTR("st/mm")); - w.heading( PSTR("Steps/mm")); - w.color(x_axis) .adjuster( 2, PSTR("X:"), getAxisSteps_per_mm(X) ); - w.color(y_axis) .adjuster( 4, PSTR("Y:"), getAxisSteps_per_mm(Y) ); - w.color(z_axis) .adjuster( 6, PSTR("Z:"), getAxisSteps_per_mm(Z) ); + w.units(GET_TEXTF(UNITS_STEP_MM)); + w.heading( GET_TEXTF(STEPS_PER_MM)); + w.color(x_axis) .adjuster( 2, GET_TEXTF(AXIS_X), getAxisSteps_per_mm(X) ); + w.color(y_axis) .adjuster( 4, GET_TEXTF(AXIS_Y), getAxisSteps_per_mm(Y) ); + w.color(z_axis) .adjuster( 6, GET_TEXTF(AXIS_Z), getAxisSteps_per_mm(Z) ); #if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS) - w.color(e_axis) .adjuster( 8, PSTR("E:"), getAxisSteps_per_mm(E0) ); + w.color(e_axis) .adjuster( 8, GET_TEXTF(AXIS_E), getAxisSteps_per_mm(E0) ); #elif EXTRUDERS > 1 - w.color(e_axis) .adjuster( 8, PSTR("E1:"), getAxisSteps_per_mm(E0) ); - w.color(e_axis) .adjuster(10, PSTR("E2:"), getAxisSteps_per_mm(E1) ); + w.color(e_axis) .adjuster( 8, GET_TEXTF(AXIS_E1), getAxisSteps_per_mm(E0) ); + w.color(e_axis) .adjuster(10, GET_TEXTF(AXIS_E2), getAxisSteps_per_mm(E1) ); #if EXTRUDERS > 2 - w.color(e_axis) .adjuster(12, PSTR("E3:"), getAxisSteps_per_mm(E2) ); + w.color(e_axis) .adjuster(12, GET_TEXTF(AXIS_E3), getAxisSteps_per_mm(E2) ); #endif #if EXTRUDERS > 3 - w.color(e_axis) .adjuster(14, PSTR("E4:"), getAxisSteps_per_mm(E3) ); + w.color(e_axis) .adjuster(14, GET_TEXTF(AXIS_E4), getAxisSteps_per_mm(E3) ); #endif #endif w.increments(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/string_format.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/string_format.cpp new file mode 100644 index 0000000000..17a4a73cf2 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/string_format.cpp @@ -0,0 +1,89 @@ +/********************* + * string_format.cpp * + *********************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2018 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#include "../config.h" + +#if ENABLED(LULZBOT_TOUCH_UI) + +#include "screens.h" + +#define ROUND(val) uint16_t((val)+0.5) + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wno-format" + +#ifdef __AVR__ + #define S_FMT "%S" +#else + #define S_FMT "%s" +#endif + +/** + * Formats a temperature string (e.g. "100°C") + */ +void format_temp(char *str, float t1) { + sprintf_P(str, PSTR("%3d" S_FMT), ROUND(t1), GET_TEXT(UNITS_C)); +} + +/** + * Formats a temperature string for an idle heater (e.g. "100 °C / idle") + */ +void format_temp_and_idle(char *str, float t1) { + sprintf_P(str, PSTR("%3d" S_FMT " / " S_FMT), ROUND(t1), GET_TEXT(UNITS_C), GET_TEXT(TEMP_IDLE)); +} + +/** + * Formats a temperature string for an active heater (e.g. "100 / 200°C") + */ +void format_temp_and_temp(char *str, float t1, float t2) { + sprintf_P(str, PSTR("%3d / %3d" S_FMT), ROUND(t1), ROUND(t2), GET_TEXT(UNITS_C)); +} + +/** + * Formats a temperature string for a material (e.g. "100°C (PLA)") + */ +void format_temp_and_material(char *str, float t1, const char *material) { + sprintf_P(str, PSTR("%3d" S_FMT " (" S_FMT ")"), ROUND(t1), GET_TEXT(UNITS_C), material); +} + +/** + * Formats a position value (e.g. "10 mm") + */ +void format_position(char *str, float p) { + dtostrf(p, 5, 1, str); + strcat_P(str, PSTR(" ")); + strcat_P(str, GET_TEXT(UNITS_MM)); +} + +/** + * Formats a position vector (e.g. "10; 20; 30 mm") + */ +void format_position(char *str, float x, float y, float z) { + char num1[7], num2[7], num3[7]; + dtostrf(x, 4, 2, num1); + dtostrf(y, 4, 2, num2); + dtostrf(z, 4, 2, num3); + sprintf_P(str, PSTR("%s; %s; %s " S_FMT), num1, num2, num3, GET_TEXT(UNITS_MM)); +} + +#pragma GCC diagnostic pop + +#endif // LULZBOT_TOUCH_UI diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/string_format.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/string_format.h new file mode 100644 index 0000000000..d6e26fb5cb --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/string_format.h @@ -0,0 +1,29 @@ +/******************* + * string_format.h * + *******************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2018 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +void format_temp(char *str, float t1); +void format_temp_and_idle(char *str, float t1); +void format_temp_and_temp(char *str, float t1, float t2); +void format_temp_and_material(char *str, float t1, const char *material); +void format_position(char *str, float p); +void format_position(char *str, float x, float y, float z); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/temperature_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/temperature_screen.cpp index 126562d018..aeaecb4096 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/temperature_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/temperature_screen.cpp @@ -32,29 +32,29 @@ using namespace ExtUI; void TemperatureScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(0).color(temp).units(PSTR("C")); - w.heading( PSTR("Temperature:")); - w.button(30, PSTR("Cooldown (All Off)")); + w.precision(0).color(temp).units(GET_TEXTF(UNITS_C)); + w.heading(GET_TEXTF(TEMPERATURE)); + w.button(30, GET_TEXTF(COOLDOWN)); #ifndef LULZBOT_DISABLE_TOOLHEAD_HEATER #if HOTENDS == 1 - w.adjuster( 2, PSTR("Hot End:"), getTargetTemp_celsius(E0)); + w.adjuster( 2, GET_TEXTF(HOTEND), getTargetTemp_celsius(E0)); #else - w.adjuster( 2, PSTR("Hot End 1:"), getTargetTemp_celsius(E0)); - w.adjuster( 4, PSTR("Hot End 2:"), getTargetTemp_celsius(E1)); + w.adjuster( 2, GET_TEXTF(HOTEND1), getTargetTemp_celsius(E0)); + w.adjuster( 4, GET_TEXTF(HOTEND2), getTargetTemp_celsius(E1)); #if HOTENDS > 2 - w.adjuster( 6, PSTR("Hot End 3:"), getTargetTemp_celsius(E2)); + w.adjuster( 6, GET_TEXTF(HOTEND3), getTargetTemp_celsius(E2)); #endif #if HOTENDS > 3 - w.adjuster( 8, PSTR("Hot End 4:"), getTargetTemp_celsius(E3)); + w.adjuster( 8, GET_TEXTF(HOTEND4), getTargetTemp_celsius(E3)); #endif #endif #endif #if HAS_HEATED_BED - w.adjuster( 20, PSTR("Bed:"), getTargetTemp_celsius(BED)); + w.adjuster( 20, GET_TEXTF(BED), getTargetTemp_celsius(BED)); #endif #if FAN_COUNT > 0 - w.color(fan_speed).units(PSTR("%")); - w.adjuster( 10, PSTR("Fan Speed:"), getTargetFan_percent(FAN0)); + w.color(fan_speed).units(GET_TEXTF(UNITS_PERCENT)); + w.adjuster( 10, GET_TEXTF(FAN_SPEED), getTargetFan_percent(FAN0)); #endif w.increments(); } @@ -81,8 +81,8 @@ bool TemperatureScreen::onTouchHeld(uint8_t tag) { case 9: UI_INCREMENT(TargetTemp_celsius, E3); break; #endif #if FAN_COUNT > 0 - case 10: UI_DECREMENT(TargetFan_percent, FAN0); break; - case 11: UI_INCREMENT(TargetFan_percent, FAN0); break; + case 10: UI_DECREMENT(TargetFan_percent, FAN0); break; + case 11: UI_INCREMENT(TargetFan_percent, FAN0); break; #endif case 30: setTargetTemp_celsius(0,E0); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/touch_calibration_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/touch_calibration_screen.cpp index 0adf2885b0..0779bb6fb2 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/touch_calibration_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/touch_calibration_screen.cpp @@ -44,29 +44,15 @@ void TouchCalibrationScreen::onEntry() { cmd.cmd(CMD_DLSTART) .cmd(CLEAR_COLOR_RGB(bg_color)) .cmd(CLEAR(true,true,true)) - .cmd(COLOR_RGB(bg_text_enabled)) - #ifdef TOUCH_UI_PORTRAIT - .font(font_large) - .text ( BTN_POS(1,8), BTN_SIZE(4,1), F("Release to begin")) - .text ( BTN_POS(1,9), BTN_SIZE(4,1), F("screen calibration")) - #else - .font( - #ifdef TOUCH_UI_800x480 - font_large - #else - font_medium - #endif - ) - .text ( BTN_POS(1,1), BTN_SIZE(4,16), F("Release to calibrate")) - #endif - .cmd(DL::DL_DISPLAY) + .cmd(COLOR_RGB(bg_text_enabled)); + draw_text_box(cmd, BTN_POS(1,1), BTN_SIZE(4,16), GET_TEXTF(TOUCH_CALIBRATION_START), OPT_CENTER, font_large); + cmd.cmd(DL::DL_DISPLAY) .cmd(CMD_SWAP) .execute(); while (CLCD::is_touching()) { - #ifdef UI_FRAMEWORK_DEBUG - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM("Waiting for touch release"); + #if ENABLED(TOUCH_UI_DEBUG) + SERIAL_ECHO_MSG("Waiting for touch release"); #endif } } @@ -88,23 +74,10 @@ void TouchCalibrationScreen::onRedraw(draw_mode_t) { CommandProcessor cmd; cmd.cmd(CLEAR_COLOR_RGB(bg_color)) .cmd(CLEAR(true,true,true)) - .cmd(COLOR_RGB(bg_text_enabled)) + .cmd(COLOR_RGB(bg_text_enabled)); - #ifdef TOUCH_UI_PORTRAIT - .font(font_large) - .text ( BTN_POS(1,8), BTN_SIZE(4,1), F("Touch the dots")) - .text ( BTN_POS(1,9), BTN_SIZE(4,1), F("to calibrate")) - #else - .font( - #ifdef TOUCH_UI_800x480 - font_large - #else - font_medium - #endif - ) - .text ( BTN_POS(1,1), BTN_SIZE(4,16), F("Touch the dots to calibrate")) - #endif - .cmd(CMD_CALIBRATE); + draw_text_box(cmd, BTN_POS(1,1), BTN_SIZE(4,16), GET_TEXTF(TOUCH_CALIBRATION_PROMPT), OPT_CENTER, font_large); + cmd.cmd(CMD_CALIBRATE); } void TouchCalibrationScreen::onIdle() { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/tune_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/tune_menu.cpp index 08f1d67aa2..416a0146fe 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/tune_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/tune_menu.cpp @@ -52,79 +52,79 @@ void TuneMenu::onRedraw(draw_mode_t what) { cmd.colors(normal_btn) .font(font_medium) #ifdef TOUCH_UI_PORTRAIT - .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(2,1), F("Temperature")) - .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(2,1), F("Change Filament")) - #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) + .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXTF(TEMPERATURE)) + .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(CHANGE_FILAMENT)) + #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) .enabled(1) #else .enabled(0) #endif - .tag(9).button( BTN_POS(1,3), BTN_SIZE(2,1), F("Filament Options")) + .tag(9).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(FILAMENT)) #if ENABLED(BABYSTEPPING) - .tag(4).enabled(1) .button( BTN_POS(1,4), BTN_SIZE(2,1), F("Nudge Nozzle")) + .tag(4).enabled(1) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(NUDGE_NOZZLE)) #else #if HAS_BED_PROBE .enabled(1) #else .enabled(0) #endif - .tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), F("Adjust Z-Offset")) + .tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(ZPROBE_ZOFFSET)) #endif - .tag(5).enabled(1) .button( BTN_POS(1,5), BTN_SIZE(2,1), F("Print Speed")) + .tag(5).enabled(1) .button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(PRINT_SPEED)) .tag(isPrintingFromMediaPaused() ? 7 : 6) #if ENABLED(SDSUPPORT) .enabled(isPrintingFromMedia()) #else .enabled(0) #endif - .button( BTN_POS(1,6), BTN_SIZE(2,1), isPrintingFromMediaPaused() ? F("Resume Print") : F("Pause Print")) + .button( BTN_POS(1,6), BTN_SIZE(2,1), isPrintingFromMediaPaused() ? GET_TEXTF(RESUME_PRINT) : GET_TEXTF(PAUSE_PRINT)) #if ENABLED(SDSUPPORT) .enabled(isPrintingFromMedia()) #else .enabled(0) #endif - .tag(8) .button( BTN_POS(1,7), BTN_SIZE(2,1), F("Cancel Print")) + .tag(8) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(STOP_PRINT)) .tag(1).colors(action_btn) - .button( BTN_POS(1,8), BTN_SIZE(2,1), F("Back")); + .button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(BACK)); #else // TOUCH_UI_PORTRAIT - .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(1,1), F("Temperature")) - .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(1,1), F("Change Filament")) + .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXTF(TEMPERATURE)) + .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXTF(CHANGE_FILAMENT)) #if ENABLED(BABYSTEPPING) .enabled(1) #else .enabled(0) #endif #if ENABLED(BABYSTEPPING) - .tag(4) .button( BTN_POS(2,1), BTN_SIZE(1,1), F("Nudge Nozzle")) + .tag(4) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(NUDGE_NOZZLE)) #else #if HAS_BED_PROBE .enabled(1) #else .enabled(0) #endif - .tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), F("Adjust Z-Offset")) + .tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(ZPROBE_ZOFFSET)) #endif - .tag(5).enabled(1) .button( BTN_POS(2,2), BTN_SIZE(1,1), F("Print Speed")) + .tag(5).enabled(1) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(PRINT_SPEED)) .tag(isPrintingFromMediaPaused() ? 7 : 6) #if ENABLED(SDSUPPORT) .enabled(isPrintingFromMedia()) #else .enabled(0) #endif - .button( BTN_POS(1,3), BTN_SIZE(1,1), isPrintingFromMediaPaused() ? F("Resume Print") : F("Pause Print")) + .button( BTN_POS(1,3), BTN_SIZE(1,1), isPrintingFromMediaPaused() ? GET_TEXTF(RESUME_PRINT) : GET_TEXTF(PAUSE_PRINT)) #if ENABLED(SDSUPPORT) .enabled(isPrintingFromMedia()) #else .enabled(0) #endif - .tag(8). button( BTN_POS(2,3), BTN_SIZE(1,1), F("Cancel Print")) - #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) + .tag(8). button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXTF(STOP_PRINT)) + #if ENABLED(LIN_ADVANCE) || ENABLED(FILAMENT_RUNOUT_SENSOR) .enabled(1) #else .enabled(0) #endif - .tag(9).button( BTN_POS(1,4), BTN_SIZE(1,1), F("Filament Options")) - .tag(1).colors(action_btn) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Back")); + .tag(9).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(FILAMENT)) + .tag(1).colors(action_btn) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(BACK)); #endif } #undef GRID_COLS diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/z_offset_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/z_offset_screen.cpp index 5b26bb5394..32a54c09bf 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/z_offset_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/z_offset_screen.cpp @@ -32,10 +32,10 @@ using namespace Theme; void ZOffsetScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(PSTR("mm")); + w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(GET_TEXTF(UNITS_MM)); - w.heading( PSTR("Z Offset")); - w.color(z_axis).adjuster(4, PSTR("Z Offset:"), getZOffset_mm()); + w.heading( GET_TEXTF(ZPROBE_ZOFFSET)); + w.color(z_axis).adjuster(4, GET_TEXTF(ZPROBE_ZOFFSET), getZOffset_mm()); w.increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/theme/bitmaps.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/theme/bitmaps.h index da6188ab9d..00952cfc5b 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/theme/bitmaps.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/theme/bitmaps.h @@ -178,4 +178,6 @@ namespace Theme { 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFC, 0x00 }; + + constexpr PROGMEM uint32_t UTF8_FONT_OFFSET = 10000; }; // namespace Theme diff --git a/Marlin/src/lcd/extensible_ui/ui_api.cpp b/Marlin/src/lcd/extensible_ui/ui_api.cpp index 46227c22d7..539400e5e5 100644 --- a/Marlin/src/lcd/extensible_ui/ui_api.cpp +++ b/Marlin/src/lcd/extensible_ui/ui_api.cpp @@ -102,16 +102,14 @@ #include "../../feature/host_actions.h" #endif -inline float clamp(const float value, const float minimum, const float maximum) { - return _MAX(_MIN(value, maximum), minimum); -} - -static struct { - uint8_t printer_killed : 1; - uint8_t manual_motion : 1; -} flags; - namespace ExtUI { + static struct { + uint8_t printer_killed : 1; + #if ENABLED(JOYSTICK) + uint8_t jogging : 1; + #endif + } flags; + #ifdef __SAM3X8E__ /** * Implement a special millis() to allow time measurement @@ -168,8 +166,10 @@ namespace ExtUI { } void enableHeater(const extruder_t extruder) { - #if HEATER_IDLE_HANDLER + #if HOTENDS && HEATER_IDLE_HANDLER thermalManager.reset_heater_idle_timer(extruder - E0); + #else + UNUSED(extruder); #endif } @@ -184,15 +184,63 @@ namespace ExtUI { #if HAS_HEATED_CHAMBER case CHAMBER: return; // Chamber has no idle timer #endif - default: thermalManager.reset_heater_idle_timer(heater - H0); + default: + #if HOTENDS + thermalManager.reset_heater_idle_timer(heater - H0); + #endif + break; } + #else + UNUSED(heater); #endif } + #if ENABLED(JOYSTICK) + /** + * Jogs in the direction given by the vector (dx, dy, dz). + * The values range from -1 to 1 mapping to the maximum + * feedrate for an axis. + * + * The axis will continue to jog until this function is + * called with all zeros. + */ + void jog(float dx, float dy, float dz) { + // The "destination" variable is used as a scratchpad in + // Marlin by GCODE routines, but should remain untouched + // during manual jogging, allowing us to reuse the space + // for our direction vector. + destination[X] = dx; + destination[Y] = dy; + destination[Z] = dz; + flags.jogging = !NEAR_ZERO(dx) || !NEAR_ZERO(dy) || !NEAR_ZERO(dz); + } + + // Called by the polling routine in "joystick.cpp" + void _joystick_update(float (&norm_jog)[XYZ]) { + if (flags.jogging) { + #define OUT_OF_RANGE(VALUE) (VALUE < -1.0f || VALUE > 1.0f) + + if (OUT_OF_RANGE(destination[X_AXIS]) || OUT_OF_RANGE(destination[Y_AXIS]) || OUT_OF_RANGE(destination[Z_AXIS])) { + // If destination[] on any axis is out of range, it + // probably means the UI forgot to stop jogging and + // ran GCODE that wrote a position to destination[]. + // To prevent a disaster, stop jogging. + flags.jogging = false; + return; + } + norm_jog[X_AXIS] = destination[X_AXIS]; + norm_jog[Y_AXIS] = destination[Y_AXIS]; + norm_jog[Z_AXIS] = destination[Z_AXIS]; + } + } + #endif + bool isHeaterIdle(const extruder_t extruder) { return false - #if HEATER_IDLE_HANDLER + #if HOTENDS && HEATER_IDLE_HANDLER || thermalManager.hotend_idle[extruder - E0].timed_out + #else + ; UNUSED(extruder) #endif ; } @@ -206,9 +254,15 @@ namespace ExtUI { #if HAS_HEATED_CHAMBER case CHAMBER: return false; // Chamber has no idle timer #endif - default: return thermalManager.hotend_idle[heater - H0].timed_out; + default: + #if HOTENDS + return thermalManager.hotend_idle[heater - H0].timed_out; + #else + return false; + #endif } #else + UNUSED(heater); return false; #endif } @@ -264,17 +318,28 @@ namespace ExtUI { } float getAxisPosition_mm(const axis_t axis) { - return flags.manual_motion ? destination[axis] : current_position[axis]; + return + #if ENABLED(JOYSTICK) + flags.jogging ? destination[axis] : + #endif + current_position[axis]; } float getAxisPosition_mm(const extruder_t extruder) { const extruder_t old_tool = getActiveTool(); setActiveTool(extruder, true); - const float pos = flags.manual_motion ? destination[E_AXIS] : current_position[E_AXIS]; + const float pos = ( + #if ENABLED(JOYSTICK) + flags.jogging ? destination[E_AXIS] : + #endif + current_position[E_AXIS] + ); setActiveTool(old_tool, true); return pos; } + constexpr feedRate_t manual_feedrate_mm_m[XYZE] = MANUAL_FEEDRATE; + void setAxisPosition_mm(const float position, const axis_t axis) { // Start with no limits to movement float min = current_position[axis] - 1000, @@ -319,54 +384,15 @@ namespace ExtUI { } #endif - constexpr float max_manual_feedrate[XYZE] = MANUAL_FEEDRATE; - setFeedrate_mm_s(MMM_TO_MMS(max_manual_feedrate[axis])); - - if (!flags.manual_motion) set_destination_from_current(); - destination[axis] = clamp(position, min, max); - flags.manual_motion = true; + current_position[axis] = constrain(position, min, max); + line_to_current_position(MMM_TO_MMS(manual_feedrate_mm_m[axis])); } void setAxisPosition_mm(const float position, const extruder_t extruder) { setActiveTool(extruder, true); - constexpr float max_manual_feedrate[XYZE] = MANUAL_FEEDRATE; - setFeedrate_mm_s(MMM_TO_MMS(max_manual_feedrate[E_AXIS])); - if (!flags.manual_motion) set_destination_from_current(); - destination[E_AXIS] = position; - flags.manual_motion = true; - } - - void _processManualMoveToDestination() { - // Lower max_response_lag makes controls more responsive, but makes CPU work harder - constexpr float max_response_lag = 0.1; // seconds - constexpr uint8_t segments_to_buffer = 4; // keep planner filled with this many segments - - if (flags.manual_motion && planner.movesplanned() < segments_to_buffer) { - float saved_destination[XYZ]; - COPY(saved_destination, destination); - // Compute direction vector from current_position towards destination. - destination[X_AXIS] -= current_position[X_AXIS]; - destination[Y_AXIS] -= current_position[Y_AXIS]; - destination[Z_AXIS] -= current_position[Z_AXIS]; - const float inv_length = RSQRT(sq(destination[X_AXIS]) + sq(destination[Y_AXIS]) + sq(destination[Z_AXIS])); - // Find move segment length so that all segments can execute in less time than max_response_lag - const float scale = inv_length * feedrate_mm_s * max_response_lag / segments_to_buffer; - if (scale < 1) { - // Move a small bit towards the destination. - destination[X_AXIS] = scale * destination[X_AXIS] + current_position[X_AXIS]; - destination[Y_AXIS] = scale * destination[Y_AXIS] + current_position[Y_AXIS]; - destination[Z_AXIS] = scale * destination[Z_AXIS] + current_position[Z_AXIS]; - prepare_move_to_destination(); - COPY(destination, saved_destination); - } - else { - // We are close enough to finish off the move. - COPY(destination, saved_destination); - prepare_move_to_destination(); - flags.manual_motion = false; - } - } + current_position[E_AXIS] = position; + line_to_current_position(MMM_TO_MMS(manual_feedrate_mm_m[E_AXIS])); } void setActiveTool(const extruder_t extruder, bool no_move) { @@ -458,13 +484,13 @@ namespace ExtUI { void setAxisCurrent_mA(const float mA, const axis_t axis) { switch (axis) { #if AXIS_IS_TMC(X) - case X: stepperX.rms_current(clamp(mA, 500, 1500)); break; + case X: stepperX.rms_current(constrain(mA, 500, 1500)); break; #endif #if AXIS_IS_TMC(Y) - case Y: stepperY.rms_current(clamp(mA, 500, 1500)); break; + case Y: stepperY.rms_current(constrain(mA, 500, 1500)); break; #endif #if AXIS_IS_TMC(Z) - case Z: stepperZ.rms_current(clamp(mA, 500, 1500)); break; + case Z: stepperZ.rms_current(constrain(mA, 500, 1500)); break; #endif default: break; }; @@ -473,22 +499,22 @@ namespace ExtUI { void setAxisCurrent_mA(const float mA, const extruder_t extruder) { switch (extruder) { #if AXIS_IS_TMC(E0) - case E0: stepperE0.rms_current(clamp(mA, 500, 1500)); break; + case E0: stepperE0.rms_current(constrain(mA, 500, 1500)); break; #endif #if AXIS_IS_TMC(E1) - case E1: stepperE1.rms_current(clamp(mA, 500, 1500)); break; + case E1: stepperE1.rms_current(constrain(mA, 500, 1500)); break; #endif #if AXIS_IS_TMC(E2) - case E2: stepperE2.rms_current(clamp(mA, 500, 1500)); break; + case E2: stepperE2.rms_current(constrain(mA, 500, 1500)); break; #endif #if AXIS_IS_TMC(E3) - case E3: stepperE3.rms_current(clamp(mA, 500, 1500)); break; + case E3: stepperE3.rms_current(constrain(mA, 500, 1500)); break; #endif #if AXIS_IS_TMC(E4) - case E4: stepperE4.rms_current(clamp(mA, 500, 1500)); break; + case E4: stepperE4.rms_current(constrain(mA, 500, 1500)); break; #endif #if AXIS_IS_TMC(E5) - case E5: stepperE5.rms_current(clamp(mA, 500, 1500)); break; + case E5: stepperE5.rms_current(constrain(mA, 500, 1500)); break; #endif default: break; }; @@ -513,12 +539,18 @@ namespace ExtUI { switch (axis) { #if X_SENSORLESS && AXIS_HAS_STALLGUARD(X) case X: stepperX.homing_threshold(value); break; + #else + UNUSED(value); #endif #if Y_SENSORLESS && AXIS_HAS_STALLGUARD(Y) case Y: stepperY.homing_threshold(value); break; + #else + UNUSED(value); #endif #if Z_SENSORLESS && AXIS_HAS_STALLGUARD(Z) case Z: stepperZ.homing_threshold(value); break; + #else + UNUSED(value); #endif default: break; } @@ -543,20 +575,20 @@ namespace ExtUI { planner.settings.axis_steps_per_mm[E_AXIS_N(axis - E0)] = value; } - float getAxisMaxFeedrate_mm_s(const axis_t axis) { + feedRate_t getAxisMaxFeedrate_mm_s(const axis_t axis) { return planner.settings.max_feedrate_mm_s[axis]; } - float getAxisMaxFeedrate_mm_s(const extruder_t extruder) { + feedRate_t getAxisMaxFeedrate_mm_s(const extruder_t extruder) { UNUSED_E(extruder); return planner.settings.max_feedrate_mm_s[E_AXIS_N(axis - E0)]; } - void setAxisMaxFeedrate_mm_s(const float value, const axis_t axis) { + void setAxisMaxFeedrate_mm_s(const feedRate_t value, const axis_t axis) { planner.settings.max_feedrate_mm_s[axis] = value; } - void setAxisMaxFeedrate_mm_s(const float value, const extruder_t extruder) { + void setAxisMaxFeedrate_mm_s(const feedRate_t value, const extruder_t extruder) { UNUSED_E(extruder); planner.settings.max_feedrate_mm_s[E_AXIS_N(axis - E0)] = value; } @@ -585,7 +617,7 @@ namespace ExtUI { #ifdef FILAMENT_RUNOUT_DISTANCE_MM float getFilamentRunoutDistance_mm() { return runout.runout_distance(); } - void setFilamentRunoutDistance_mm(const float value) { runout.set_runout_distance(clamp(value, 0, 999)); } + void setFilamentRunoutDistance_mm(const float value) { runout.set_runout_distance(constrain(value, 0, 999)); } #endif #endif @@ -596,7 +628,7 @@ namespace ExtUI { void setLinearAdvance_mm_mm_s(const float value, const extruder_t extruder) { if (extruder < EXTRUDERS) - planner.extruder_advance_K[extruder - E0] = clamp(value, 0, 999); + planner.extruder_advance_K[extruder - E0] = constrain(value, 0, 999); } #endif @@ -607,7 +639,7 @@ namespace ExtUI { } void setJunctionDeviation_mm(const float value) { - planner.junction_deviation_mm = clamp(value, 0.01, 0.3); + planner.junction_deviation_mm = constrain(value, 0.01, 0.3); #if ENABLED(LIN_ADVANCE) planner.recalculate_max_e_jerk(); #endif @@ -632,15 +664,15 @@ namespace ExtUI { } #endif - float getFeedrate_mm_s() { return feedrate_mm_s; } - float getMinFeedrate_mm_s() { return planner.settings.min_feedrate_mm_s; } - float getMinTravelFeedrate_mm_s() { return planner.settings.min_travel_feedrate_mm_s; } + feedRate_t getFeedrate_mm_s() { return feedrate_mm_s; } + feedRate_t getMinFeedrate_mm_s() { return planner.settings.min_feedrate_mm_s; } + feedRate_t getMinTravelFeedrate_mm_s() { return planner.settings.min_travel_feedrate_mm_s; } float getPrintingAcceleration_mm_s2() { return planner.settings.acceleration; } float getRetractAcceleration_mm_s2() { return planner.settings.retract_acceleration; } float getTravelAcceleration_mm_s2() { return planner.settings.travel_acceleration; } - void setFeedrate_mm_s(const float fr) { feedrate_mm_s = fr; } - void setMinFeedrate_mm_s(const float fr) { planner.settings.min_feedrate_mm_s = fr; } - void setMinTravelFeedrate_mm_s(const float fr) { planner.settings.min_travel_feedrate_mm_s = fr; } + void setFeedrate_mm_s(const feedRate_t fr) { feedrate_mm_s = fr; } + void setMinFeedrate_mm_s(const feedRate_t fr) { planner.settings.min_feedrate_mm_s = fr; } + void setMinTravelFeedrate_mm_s(const feedRate_t fr) { planner.settings.min_travel_feedrate_mm_s = fr; } void setPrintingAcceleration_mm_s2(const float acc) { planner.settings.acceleration = acc; } void setRetractAcceleration_mm_s2(const float acc) { planner.settings.retract_acceleration = acc; } void setTravelAcceleration_mm_s2(const float acc) { planner.settings.travel_acceleration = acc; } @@ -678,7 +710,7 @@ namespace ExtUI { #if EXTRUDERS > 1 && (linked_nozzles || active_extruder == 0) #endif - ) zprobe_offset[Z_AXIS] += mm; + ) probe_offset[Z_AXIS] += mm; #else UNUSED(mm); #endif @@ -716,7 +748,7 @@ namespace ExtUI { float getZOffset_mm() { #if HAS_BED_PROBE - return zprobe_offset[Z_AXIS]; + return probe_offset[Z_AXIS]; #elif ENABLED(BABYSTEP_DISPLAY_TOTAL) return babystep.axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1]; #else @@ -727,7 +759,7 @@ namespace ExtUI { void setZOffset_mm(const float value) { #if HAS_BED_PROBE if (WITHIN(value, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) - zprobe_offset[Z_AXIS] = value; + probe_offset[Z_AXIS] = value; #elif ENABLED(BABYSTEP_DISPLAY_TOTAL) babystep.add_mm(Z_AXIS, (value - babystep.axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1])); #else @@ -762,14 +794,14 @@ namespace ExtUI { #if ENABLED(BACKLASH_GCODE) float getAxisBacklash_mm(const axis_t axis) { return backlash.distance_mm[axis]; } void setAxisBacklash_mm(const float value, const axis_t axis) - { backlash.distance_mm[axis] = clamp(value,0,5); } + { backlash.distance_mm[axis] = constrain(value,0,5); } float getBacklashCorrection_percent() { return ui8_to_percent(backlash.correction); } - void setBacklashCorrection_percent(const float value) { backlash.correction = map(clamp(value, 0, 100), 0, 100, 0, 255); } + void setBacklashCorrection_percent(const float value) { backlash.correction = map(constrain(value, 0, 100), 0, 100, 0, 255); } #ifdef BACKLASH_SMOOTHING_MM float getBacklashSmoothing_mm() { return backlash.smoothing_mm; } - void setBacklashSmoothing_mm(const float value) { backlash.smoothing_mm = clamp(value, 0, 999); } + void setBacklashSmoothing_mm(const float value) { backlash.smoothing_mm = constrain(value, 0, 999); } #endif #endif @@ -787,7 +819,7 @@ namespace ExtUI { void setLevelingActive(const bool state) { set_bed_leveling_enabled(state); } bool getMeshValid() { return leveling_is_valid(); } #if HAS_MESH - bed_mesh_t getMeshArray() { return Z_VALUES_ARR; } + bed_mesh_t& getMeshArray() { return Z_VALUES_ARR; } float getMeshPoint(const uint8_t xpos, const uint8_t ypos) { return Z_VALUES(xpos,ypos); } void setMeshPoint(const uint8_t xpos, const uint8_t ypos, const float zoff) { if (WITHIN(xpos, 0, GRID_MAX_POINTS_X) && WITHIN(ypos, 0, GRID_MAX_POINTS_Y)) { @@ -807,8 +839,8 @@ namespace ExtUI { #if ENABLED(PRINTCOUNTER) char* getTotalPrints_str(char buffer[21]) { strcpy(buffer,i16tostr3left(print_job_timer.getStats().totalPrints)); return buffer; } char* getFinishedPrints_str(char buffer[21]) { strcpy(buffer,i16tostr3left(print_job_timer.getStats().finishedPrints)); return buffer; } - char* getTotalPrintTime_str(char buffer[21]) { duration_t(print_job_timer.getStats().printTime).toString(buffer); return buffer; } - char* getLongestPrint_str(char buffer[21]) { duration_t(print_job_timer.getStats().longestPrint).toString(buffer); return buffer; } + char* getTotalPrintTime_str(char buffer[21]) { return duration_t(print_job_timer.getStats().printTime).toString(buffer); } + char* getLongestPrint_str(char buffer[21]) { return duration_t(print_job_timer.getStats().longestPrint).toString(buffer); } char* getFilamentUsed_str(char buffer[21]) { printStatistics stats = print_job_timer.getStats(); sprintf_P(buffer, PSTR("%ld.%im"), long(stats.filamentUsed / 1000), int16_t(stats.filamentUsed / 100) % 10); @@ -841,28 +873,34 @@ namespace ExtUI { } void setTargetTemp_celsius(float value, const heater_t heater) { - constexpr int16_t heater_maxtemp[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP); - const int16_t e = heater - H0; enableHeater(heater); #if HAS_HEATED_BED if (heater == BED) - thermalManager.setTargetBed(clamp(value, 0, BED_MAXTEMP - 10)); + thermalManager.setTargetBed(constrain(value, 0, BED_MAXTEMP - 10)); else #endif - thermalManager.setTargetHotend(clamp(value, 0, heater_maxtemp[e] - 15), e); + { + #if HOTENDS + static constexpr int16_t heater_maxtemp[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP, HEATER_5_MAXTEMP); + const int16_t e = heater - H0; + thermalManager.setTargetHotend(constrain(value, 0, heater_maxtemp[e] - 15), e); + #endif + } } void setTargetTemp_celsius(float value, const extruder_t extruder) { - constexpr int16_t heater_maxtemp[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP); - const int16_t e = extruder - E0; - enableHeater(extruder); - thermalManager.setTargetHotend(clamp(value, 0, heater_maxtemp[e] - 15), e); + #if HOTENDS + constexpr int16_t heater_maxtemp[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP, HEATER_5_MAXTEMP); + const int16_t e = extruder - E0; + enableHeater(extruder); + thermalManager.setTargetHotend(constrain(value, 0, heater_maxtemp[e] - 15), e); + #endif } void setTargetFan_percent(const float value, const fan_t fan) { #if FAN_COUNT > 0 if (fan < FAN_COUNT) - thermalManager.set_fan_speed(fan - FAN0, map(clamp(value, 0, 100), 0, 100, 0, 255)); + thermalManager.set_fan_speed(fan - FAN0, map(constrain(value, 0, 100), 0, 100, 0, 255)); #else UNUSED(value); UNUSED(fan); @@ -870,10 +908,10 @@ namespace ExtUI { } void setFeedrate_percent(const float value) { - feedrate_percentage = clamp(value, 10, 500); + feedrate_percentage = constrain(value, 10, 500); } - void setUserConfirmed(void) { + void setUserConfirmed() { #if HAS_RESUME_CONTINUE wait_for_user = false; #endif @@ -896,7 +934,7 @@ namespace ExtUI { } bool isMediaInserted() { - return IFSD(IS_SD_INSERTED() && card.isDetected(), false); + return IFSD(IS_SD_INSERTED() && card.isMounted(), false); } void pausePrint() { @@ -952,24 +990,23 @@ namespace ExtUI { } bool FileList::isAtRootDir() { - #if ENABLED(SDSUPPORT) - card.getWorkDirName(); - return card.filename[0] == '/'; - #else - return true; - #endif + return (true + #if ENABLED(SDSUPPORT) + && card.flag.workDirIsRoot + #endif + ); } void FileList::upDir() { #if ENABLED(SDSUPPORT) - card.updir(); + card.cdup(); num_files = 0xFFFF; #endif } void FileList::changeDir(const char * const dirname) { #if ENABLED(SDSUPPORT) - card.chdir(dirname); + card.cd(dirname); num_files = 0xFFFF; #endif } @@ -993,27 +1030,27 @@ void MarlinUI::update() { if (sd_status != last_sd_status) { last_sd_status = sd_status; if (sd_status) { - card.initsd(); - if (card.isDetected()) + card.mount(); + if (card.isMounted()) ExtUI::onMediaInserted(); else ExtUI::onMediaError(); } else { - const bool ok = card.isDetected(); + const bool ok = card.isMounted(); card.release(); if (ok) ExtUI::onMediaRemoved(); } } #endif // SDSUPPORT - ExtUI::_processManualMoveToDestination(); ExtUI::onIdle(); } void MarlinUI::kill_screen(PGM_P const msg) { + using namespace ExtUI; if (!flags.printer_killed) { flags.printer_killed = true; - ExtUI::onPrinterKilled(msg); + onPrinterKilled(msg); } } diff --git a/Marlin/src/lcd/extensible_ui/ui_api.h b/Marlin/src/lcd/extensible_ui/ui_api.h index 11a60a28a5..38cd19b579 100644 --- a/Marlin/src/lcd/extensible_ui/ui_api.h +++ b/Marlin/src/lcd/extensible_ui/ui_api.h @@ -45,6 +45,7 @@ #include "../../inc/MarlinConfig.h" namespace ExtUI { + // The ExtUI implementation can store up to this many bytes // in the EEPROM when the methods onStoreSettings and // onLoadSettings are called. @@ -61,7 +62,7 @@ namespace ExtUI { constexpr uint8_t fanCount = FAN_COUNT; #if HAS_MESH - typedef float (&bed_mesh_t)[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y]; + typedef float bed_mesh_t[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y]; #endif bool isMoving(); @@ -79,6 +80,11 @@ namespace ExtUI { void enableHeater(const heater_t); void enableHeater(const extruder_t); + #if ENABLED(JOYSTICK) + void jog(float dx, float dy, float dz); + void _joystick_update(float (&norm_jog)[XYZ]); + #endif + /** * Getters and setters * Should be used by the EXTENSIBLE_UI to query or change Marlin's state. @@ -96,7 +102,7 @@ namespace ExtUI { void setAxisCurrent_mA(const float, const axis_t); void setAxisCurrent_mA(const float, const extruder_t); - int getTMCBumpSensitivity(const axis_t); + int getTMCBumpSensitivity(const axis_t); void setTMCBumpSensitivity(const float, const axis_t); #endif @@ -110,12 +116,12 @@ namespace ExtUI { float getAxisPosition_mm(const extruder_t); float getAxisSteps_per_mm(const axis_t); float getAxisSteps_per_mm(const extruder_t); - float getAxisMaxFeedrate_mm_s(const axis_t); - float getAxisMaxFeedrate_mm_s(const extruder_t); + feedRate_t getAxisMaxFeedrate_mm_s(const axis_t); + feedRate_t getAxisMaxFeedrate_mm_s(const extruder_t); float getAxisMaxAcceleration_mm_s2(const axis_t); float getAxisMaxAcceleration_mm_s2(const extruder_t); - float getMinFeedrate_mm_s(); - float getMinTravelFeedrate_mm_s(); + feedRate_t getMinFeedrate_mm_s(); + feedRate_t getMinTravelFeedrate_mm_s(); float getPrintingAcceleration_mm_s2(); float getRetractAcceleration_mm_s2(); float getTravelAcceleration_mm_s2(); @@ -128,7 +134,7 @@ namespace ExtUI { void setLevelingActive(const bool); bool getMeshValid(); #if HAS_MESH - bed_mesh_t getMeshArray(); + bed_mesh_t& getMeshArray(); float getMeshPoint(const uint8_t xpos, const uint8_t ypos); void setMeshPoint(const uint8_t xpos, const uint8_t ypos, const float zval); void onMeshUpdate(const uint8_t xpos, const uint8_t ypos, const float zval); @@ -154,18 +160,18 @@ namespace ExtUI { void setAxisPosition_mm(const float, const extruder_t); void setAxisSteps_per_mm(const float, const axis_t); void setAxisSteps_per_mm(const float, const extruder_t); - void setAxisMaxFeedrate_mm_s(const float, const axis_t); - void setAxisMaxFeedrate_mm_s(const float, const extruder_t); + void setAxisMaxFeedrate_mm_s(const feedRate_t, const axis_t); + void setAxisMaxFeedrate_mm_s(const feedRate_t, const extruder_t); void setAxisMaxAcceleration_mm_s2(const float, const axis_t); void setAxisMaxAcceleration_mm_s2(const float, const extruder_t); - void setFeedrate_mm_s(const float); - void setMinFeedrate_mm_s(const float); - void setMinTravelFeedrate_mm_s(const float); + void setFeedrate_mm_s(const feedRate_t); + void setMinFeedrate_mm_s(const feedRate_t); + void setMinTravelFeedrate_mm_s(const feedRate_t); void setPrintingAcceleration_mm_s2(const float); void setRetractAcceleration_mm_s2(const float); void setTravelAcceleration_mm_s2(const float); void setFeedrate_percent(const float); - void setUserConfirmed(void); + void setUserConfirmed(); #if ENABLED(LIN_ADVANCE) float getLinearAdvance_mm_mm_s(const extruder_t); @@ -272,7 +278,7 @@ namespace ExtUI { void changeDir(const char * const dirname); void upDir(); bool isAtRootDir(); - uint16_t count(); + uint16_t count(); }; /** diff --git a/Marlin/src/lcd/extui_dgus_lcd.cpp b/Marlin/src/lcd/extui_dgus_lcd.cpp index b48fb9c82d..484a333095 100644 --- a/Marlin/src/lcd/extui_dgus_lcd.cpp +++ b/Marlin/src/lcd/extui_dgus_lcd.cpp @@ -57,7 +57,7 @@ namespace ExtUI { void onPrintTimerStarted() {} void onPrintTimerPaused() {} void onPrintTimerStopped() {} - void onFilamentRunout() {} + void onFilamentRunout(const extruder_t extruder) {} void onUserConfirmRequired(const char *msg) { if (msg) { diff --git a/Marlin/src/lcd/extui_malyan_lcd.cpp b/Marlin/src/lcd/extui_malyan_lcd.cpp index d6fb84ac72..8be34a3cca 100644 --- a/Marlin/src/lcd/extui_malyan_lcd.cpp +++ b/Marlin/src/lcd/extui_malyan_lcd.cpp @@ -246,13 +246,13 @@ void process_lcd_p_command(const char* command) { // Find the name of the file to print. // It's needed to echo the PRINTFILE option. // The {S:L} command should've ensured the SD card was mounted. - card.getfilename(atoi(command)); + card.selectFileByIndex(atoi(command)); // There may be a difference in how V1 and V2 LCDs handle subdirectory // prints. Investigate more. This matches the V1 motion controller actions // but the V2 LCD switches to "print" mode on {SYS:DIR} response. if (card.flag.filenameIsDir) { - card.chdir(card.filename); + card.cd(card.filename); write_to_lcd_P(PSTR("{SYS:DIR}")); } else { @@ -298,7 +298,7 @@ void process_lcd_s_command(const char* command) { case 'L': { #if ENABLED(SDSUPPORT) - if (!card.isDetected()) card.initsd(); + if (!card.isMounted()) card.mount(); // A more efficient way to do this would be to // implement a callback in the ls_SerialPrint code, but @@ -309,7 +309,7 @@ void process_lcd_s_command(const char* command) { char message_buffer[MAX_CURLY_COMMAND]; uint16_t file_count = card.get_num_Files(); for (uint16_t i = 0; i < file_count; i++) { - card.getfilename(i); + card.selectFileByIndex(i); sprintf_P(message_buffer, card.flag.filenameIsDir ? PSTR("{DIR:%s}") : PSTR("{FILE:%s}"), card.longest_filename()); write_to_lcd(message_buffer); } @@ -447,7 +447,7 @@ namespace ExtUI { void onPrintTimerStarted() {} void onPrintTimerPaused() {} void onPrintTimerStopped() {} - void onFilamentRunout() {} + void onFilamentRunout(const extruder_t extruder) {} void onUserConfirmRequired(const char * const msg) { UNUSED(msg); } void onFactoryReset() {} void onStoreSettings(char *buff) { UNUSED(buff); } diff --git a/Marlin/src/lcd/fontutils.h b/Marlin/src/lcd/fontutils.h index 28921aef25..8839e36a2b 100644 --- a/Marlin/src/lcd/fontutils.h +++ b/Marlin/src/lcd/fontutils.h @@ -8,13 +8,13 @@ */ #pragma once -#include "../HAL/shared/Marduino.h" -#include "../core/macros.h" - #include #include // wchar_t #include // uint32_t +#include "../HAL/shared/Marduino.h" +#include "../core/macros.h" + // read a byte from ROM or RAM typedef uint8_t (*read_byte_cb_t)(uint8_t * str); diff --git a/Marlin/src/lcd/language/language_an.h b/Marlin/src/lcd/language/language_an.h index 96d76c2b49..f3c4372ba7 100644 --- a/Marlin/src/lcd/language/language_an.h +++ b/Marlin/src/lcd/language/language_an.h @@ -168,9 +168,8 @@ #define MSG_ZPROBE_OUT _UxGT("Sonda Z fuera") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Auto-Test") #define MSG_BLTOUCH_RESET _UxGT("Reset BLTouch") -#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("first") -#define MSG_zprobe_zoffset _UxGT("Desfase Z") +#define MSG_HOME_FIRST _UxGT("Home %s%s%s first") +#define MSG_ZPROBE_ZOFFSET _UxGT("Desfase Z") #define MSG_BABYSTEP_X _UxGT("Micropaso X") #define MSG_BABYSTEP_Y _UxGT("Micropaso Y") #define MSG_BABYSTEP_Z _UxGT("Micropaso Z") @@ -182,7 +181,7 @@ #define MSG_ERR_MINTEMP _UxGT("Error: Temp Menima") #define MSG_ERR_MAXTEMP_BED _UxGT("Error: Temp Max base") #define MSG_ERR_MINTEMP_BED _UxGT("Error: Temp Min base") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Home XY first") #define MSG_HALTED _UxGT("IMPRESORA ATURADA") #define MSG_PLEASE_RESET _UxGT("Per favor reinic.") #define MSG_SHORT_DAY _UxGT("d") diff --git a/Marlin/src/lcd/language/language_bg.h b/Marlin/src/lcd/language/language_bg.h index 4a976ee847..3e95058ba9 100644 --- a/Marlin/src/lcd/language/language_bg.h +++ b/Marlin/src/lcd/language/language_bg.h @@ -134,7 +134,7 @@ #define MSG_INIT_MEDIA _UxGT("Иниц. SD-Карта") #define MSG_CHANGE_MEDIA _UxGT("Смяна SD-Карта") #define MSG_ZPROBE_OUT _UxGT("Z-сондата е извадена") -#define MSG_zprobe_zoffset _UxGT("Z Отстояние") +#define MSG_ZPROBE_ZOFFSET _UxGT("Z Отстояние") #define MSG_BABYSTEP_X _UxGT("Министъпка X") #define MSG_BABYSTEP_Y _UxGT("Министъпка Y") #define MSG_BABYSTEP_Z _UxGT("Министъпка Z") diff --git a/Marlin/src/lcd/language/language_ca.h b/Marlin/src/lcd/language/language_ca.h index 7ba4909bb9..cf7278851e 100644 --- a/Marlin/src/lcd/language/language_ca.h +++ b/Marlin/src/lcd/language/language_ca.h @@ -170,9 +170,8 @@ #define MSG_CHANGE_MEDIA _UxGT("Canvia SD") #define MSG_ZPROBE_OUT _UxGT("Sonda Z fora") #define MSG_BLTOUCH_RESET _UxGT("Reinicia BLTouch") -#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("primer") -#define MSG_zprobe_zoffset _UxGT("Decalatge Z") +#define MSG_HOME_FIRST _UxGT("Home %s%s%s primer") +#define MSG_ZPROBE_ZOFFSET _UxGT("Decalatge Z") #define MSG_BABYSTEP_X _UxGT("Micropas X") #define MSG_BABYSTEP_Y _UxGT("Micropas Y") #define MSG_BABYSTEP_Z _UxGT("Micropas Z") @@ -184,7 +183,7 @@ #define MSG_ERR_MINTEMP _UxGT("Err: TEMP MINIMA") #define MSG_ERR_MAXTEMP_BED _UxGT("Err: TEMPMAX LLIT") #define MSG_ERR_MINTEMP_BED _UxGT("Err: TEMPMIN LLIT") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Home XY primer") #define MSG_HALTED _UxGT("IMPRESSORA PARADA") #define MSG_PLEASE_RESET _UxGT("Reinicieu") #define MSG_SHORT_DAY _UxGT("d") // One character only diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h index f523984886..92a9e0ca83 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -116,7 +116,6 @@ #define MSG_Z_OFFSET _UxGT("2. tryska Z") #define MSG_UBL_DOING_G29 _UxGT("Provádím G29") -#define MSG_UBL_UNHOMED _UxGT("Přejeďte domů") #define MSG_UBL_TOOLS _UxGT("UBL nástroje") #define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling") #define MSG_UBL_MANUAL_MESH _UxGT("Manuální síť bodů") @@ -335,9 +334,8 @@ #define MSG_BLTOUCH_STOW _UxGT("BLTouch zasunout") #define MSG_MANUAL_DEPLOY _UxGT("Vysunout Z-sondu") #define MSG_MANUAL_STOW _UxGT("Zasunout Z-sondu") -#define MSG_HOME _UxGT("Domů") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("první") -#define MSG_zprobe_zoffset _UxGT("Z ofset") +#define MSG_HOME_FIRST _UxGT("Domů %s%s%s první") +#define MSG_ZPROBE_ZOFFSET _UxGT("Z ofset") #define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Z _UxGT("Babystep Z") @@ -354,7 +352,7 @@ #define MSG_ERR_MINTEMP_BED _UxGT("NÍZ. TEPL. PODL.") #define MSG_ERR_MAXTEMP_CHAMBER _UxGT("Err: MAXTEMP KOMORA") #define MSG_ERR_MINTEMP_CHAMBER _UxGT("Err: MINTEMP KOMORA") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Domů XY první") #define MSG_HALTED _UxGT("TISK. ZASTAVENA") #define MSG_PLEASE_RESET _UxGT("Proveďte reset") #define MSG_SHORT_DAY _UxGT("d") diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h index 9dc3e2063a..6a8d48175d 100644 --- a/Marlin/src/lcd/language/language_da.h +++ b/Marlin/src/lcd/language/language_da.h @@ -168,9 +168,8 @@ #define MSG_ZPROBE_OUT _UxGT("Probe udenfor plade") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Selv-Test") #define MSG_BLTOUCH_RESET _UxGT("Reset BLTouch") -#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("først") -#define MSG_zprobe_zoffset _UxGT("Z Offset") +#define MSG_HOME_FIRST _UxGT("Home %s%s%s først") +#define MSG_ZPROBE_ZOFFSET _UxGT("Z Offset") #define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Z _UxGT("Babystep Z") @@ -182,7 +181,7 @@ #define MSG_ERR_MINTEMP _UxGT("Fejl: Min temp") #define MSG_ERR_MAXTEMP_BED _UxGT("Fejl: Maks Plade temp") #define MSG_ERR_MINTEMP_BED _UxGT("Fejl: Min Plade temp") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Home XY først") #define MSG_HALTED _UxGT("PRINTER STOPPET") #define MSG_PLEASE_RESET _UxGT("Reset Venligst") #define MSG_SHORT_DAY _UxGT("d") // Kun et bogstav diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index 5c0df3d435..3c505b60eb 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -121,7 +121,6 @@ #define MSG_Y_OFFSET _UxGT("2. Düse Y") #define MSG_Z_OFFSET _UxGT("2. Düse Z") #define MSG_UBL_DOING_G29 _UxGT("G29 ausführen") -#define MSG_UBL_UNHOMED _UxGT("Home XYZ zuerst") #define MSG_UBL_TOOLS _UxGT("UBL-Werkzeuge") #define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling") #define MSG_UBL_MANUAL_MESH _UxGT("Netz manuell erst.") @@ -363,9 +362,8 @@ #define MSG_MANUAL_DEPLOY_TOUCHMI _UxGT("TouchMI ausfahren") #define MSG_MANUAL_DEPLOY _UxGT("Z-Sonde ausfahren") #define MSG_MANUAL_STOW _UxGT("Z-Sonde einfahren") -#define MSG_HOME _UxGT("Vorher") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("homen") -#define MSG_zprobe_zoffset _UxGT("Sondenversatz Z") +#define MSG_HOME_FIRST _UxGT("Vorher %s%s%s homen") +#define MSG_ZPROBE_ZOFFSET _UxGT("Sondenversatz Z") #define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Z _UxGT("Babystep Z") @@ -384,7 +382,7 @@ #define MSG_ERR_MINTEMP_BED _UxGT("BETT ") LCD_STR_THERMOMETER _UxGT(" UNTERSCHRITTEN") #define MSG_ERR_MAXTEMP_CHAMBER _UxGT("Err:Gehäuse max Temp") #define MSG_ERR_MINTEMP_CHAMBER _UxGT("Err:Gehäuse min Temp") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Vorher XY homen") #define MSG_HALTED _UxGT("DRUCKER GESTOPPT") #define MSG_PLEASE_RESET _UxGT("Bitte neustarten") #define MSG_SHORT_DAY _UxGT("t") // One character only diff --git a/Marlin/src/lcd/language/language_el-gr.h b/Marlin/src/lcd/language/language_el-gr.h index ac8a7816d4..5f7a1d2d36 100644 --- a/Marlin/src/lcd/language/language_el-gr.h +++ b/Marlin/src/lcd/language/language_el-gr.h @@ -166,7 +166,7 @@ #define MSG_ZPROBE_OUT _UxGT("Διερεύνηση Z εκτός κλίνης") #define MSG_YX_UNHOMED _UxGT("Επαναφορά Χ/Υ πριν από Ζ") #define MSG_XYZ_UNHOMED _UxGT("Επαναφορά ΧΥΖ πρώτα") -#define MSG_zprobe_zoffset _UxGT("Μετατόπιση Ζ") +#define MSG_ZPROBE_ZOFFSET _UxGT("Μετατόπιση Ζ") #define MSG_BABYSTEP_X _UxGT("Μικρό βήμα Χ") #define MSG_BABYSTEP_Y _UxGT("Μικρό βήμα Υ") #define MSG_BABYSTEP_Z _UxGT("Μικρό βήμα Ζ") diff --git a/Marlin/src/lcd/language/language_el.h b/Marlin/src/lcd/language/language_el.h index fa749395c2..37eb4fbe74 100644 --- a/Marlin/src/lcd/language/language_el.h +++ b/Marlin/src/lcd/language/language_el.h @@ -166,7 +166,7 @@ #define MSG_ZPROBE_OUT _UxGT("Διερεύνηση Z εκτός Επ.Εκτύπωσης") //SHORTEN #define MSG_YX_UNHOMED _UxGT("Επαναφορά Χ/Υ πριν από Ζ") //SHORTEN #define MSG_XYZ_UNHOMED _UxGT("Επαναφορά ΧΥΖ πρώτα") -#define MSG_zprobe_zoffset _UxGT("Μετατόπιση Ζ") +#define MSG_ZPROBE_ZOFFSET _UxGT("Μετατόπιση Ζ") #define MSG_BABYSTEP_X _UxGT("Μικρό βήμα Χ") #define MSG_BABYSTEP_Y _UxGT("Μικρό βήμα Υ") #define MSG_BABYSTEP_Z _UxGT("Μικρό βήμα Ζ") diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index f326734d86..ce24ecba67 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -310,9 +310,6 @@ #ifndef MSG_UBL_DOING_G29 #define MSG_UBL_DOING_G29 _UxGT("Doing G29") #endif -#ifndef MSG_UBL_UNHOMED - #define MSG_UBL_UNHOMED _UxGT("Home XYZ First") -#endif #ifndef MSG_UBL_TOOLS #define MSG_UBL_TOOLS _UxGT("UBL Tools") #endif @@ -1026,14 +1023,11 @@ #ifndef MSG_MANUAL_STOW #define MSG_MANUAL_STOW _UxGT("Stow Z-Probe") #endif -#ifndef MSG_HOME - #define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST +#ifndef MSG_HOME_FIRST + #define MSG_HOME_FIRST _UxGT("Home %s%s%s First") #endif -#ifndef MSG_FIRST - #define MSG_FIRST _UxGT("First") -#endif -#ifndef MSG_zprobe_zoffset - #define MSG_zprobe_zoffset _UxGT("Probe Z Offset") +#ifndef MSG_ZPROBE_ZOFFSET + #define MSG_ZPROBE_ZOFFSET _UxGT("Probe Z Offset") #endif #ifndef MSG_BABYSTEP_X #define MSG_BABYSTEP_X _UxGT("Babystep X") @@ -1090,7 +1084,7 @@ #define MSG_ERR_MINTEMP_CHAMBER _UxGT("Err: MINTEMP CHAMBER") #endif #ifndef MSG_ERR_Z_HOMING - #define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST + #define MSG_ERR_Z_HOMING _UxGT("Home XY First") #endif #ifndef MSG_HALTED #define MSG_HALTED _UxGT("PRINTER HALTED") @@ -1200,6 +1194,13 @@ #ifndef MSG_INFO_PROTOCOL #define MSG_INFO_PROTOCOL _UxGT("Protocol") #endif +#ifndef MSG_INFO_RUNAWAY_OFF + #define MSG_INFO_RUNAWAY_OFF _UxGT("Runaway Watch: OFF") +#endif +#ifndef MSG_INFO_RUNAWAY_ON + #define MSG_INFO_RUNAWAY_ON _UxGT("Runaway Watch: ON") +#endif + #ifndef MSG_CASE_LIGHT #define MSG_CASE_LIGHT _UxGT("Case Light") #endif diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h index ad29406b50..e38390b3f9 100644 --- a/Marlin/src/lcd/language/language_es.h +++ b/Marlin/src/lcd/language/language_es.h @@ -29,50 +29,184 @@ * */ +#define THIS_LANGUAGES_SPECIAL_SYMBOLS _UxGT ("¡¿ªáéíóúÁÉÍÓÚ") #define DISPLAY_CHARSET_ISO10646_1 #define CHARSIZE 2 -#define WELCOME_MSG MACHINE_NAME _UxGT(" lista.") +#define WELCOME_MSG MACHINE_NAME _UxGT(" lista") +#define MSG_YES _UxGT("SI") +#define MSG_NO _UxGT("NO") #define MSG_BACK _UxGT("Atrás") -#define MSG_MEDIA_INSERTED _UxGT("Media insertada") -#define MSG_MEDIA_REMOVED _UxGT("Media retirada") +#define MSG_MEDIA_ABORTING _UxGT("Cancelando...") +#define MSG_MEDIA_INSERTED _UxGT("SD/USB insertado") +#define MSG_MEDIA_REMOVED _UxGT("SD/USB retirado") +#define MSG_MEDIA_RELEASED _UxGT("SD/USB lanzado") +#define MSG_MEDIA_WAITING _UxGT("Esperando al SD/USB") +#define MSG_MEDIA_READ_ERROR _UxGT("Error lectura SD/USB") +#define MSG_MEDIA_USB_REMOVED _UxGT("Disp. USB retirado") +#define MSG_MEDIA_USB_FAILED _UxGT("Inicio USB fallido") #define MSG_LCD_ENDSTOPS _UxGT("Endstops") // Max length 8 characters +#define MSG_LCD_SOFT_ENDSTOPS _UxGT("Soft Endstops") #define MSG_MAIN _UxGT("Menú principal") +#define MSG_ADVANCED_SETTINGS _UxGT("Ajustes avanzados") +#define MSG_CONFIGURATION _UxGT("Configuración") #define MSG_AUTOSTART _UxGT("Inicio automático") #define MSG_DISABLE_STEPPERS _UxGT("Apagar motores") -#define MSG_DEBUG_MENU _UxGT("Menú depurar") -#define MSG_PROGRESS_BAR_TEST _UxGT("Prueba barra avance") +#define MSG_DEBUG_MENU _UxGT("Menú depuración") +#define MSG_PROGRESS_BAR_TEST _UxGT("Prob. barra progreso") #define MSG_AUTO_HOME _UxGT("Llevar al origen") #define MSG_AUTO_HOME_X _UxGT("Origen X") #define MSG_AUTO_HOME_Y _UxGT("Origen Y") #define MSG_AUTO_HOME_Z _UxGT("Origen Z") +#define MSG_AUTO_Z_ALIGN _UxGT("Auto alineado Z") #define MSG_LEVEL_BED_HOMING _UxGT("Origen XYZ") -#define MSG_LEVEL_BED_WAITING _UxGT("Iniciar (Presione)") +#define MSG_LEVEL_BED_WAITING _UxGT("Pulsar para comenzar") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Siguiente punto") -#define MSG_LEVEL_BED_DONE _UxGT("Nivelación lista!") +#define MSG_LEVEL_BED_DONE _UxGT("¡Nivelación lista!") +#define MSG_Z_FADE_HEIGHT _UxGT("Compensación Altura") #define MSG_SET_HOME_OFFSETS _UxGT("Ajustar desfases") -#define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicado") +#define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicada") #define MSG_SET_ORIGIN _UxGT("Establecer origen") #define MSG_PREHEAT_1 _UxGT("Precalentar " PREHEAT_1_LABEL) #define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ") #define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT(" Todo") -#define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" End") +#define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" Fin") #define MSG_PREHEAT_1_BEDONLY MSG_PREHEAT_1 _UxGT(" Cama") -#define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 _UxGT(" Config") -#define MSG_PREHEAT_2 _UxGT("Precalentar " PREHEAT_2_LABEL) +#define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 _UxGT(" Ajuste") +#define MSG_PREHEAT_2 _UxGT("Precalentar" PREHEAT_2_LABEL) #define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ") #define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT(" Todo") -#define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" End") +#define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" Fin") #define MSG_PREHEAT_2_BEDONLY MSG_PREHEAT_2 _UxGT(" Cama") -#define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 _UxGT(" Config") +#define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 _UxGT(" Ajuste") +#define MSG_PREHEAT_CUSTOM _UxGT("Precalen. Personali.") #define MSG_COOLDOWN _UxGT("Enfriar") -#define MSG_SWITCH_PS_ON _UxGT("Encender") -#define MSG_SWITCH_PS_OFF _UxGT("Apagar") +#define MSG_LASER_MENU _UxGT("Control Láser") +#define MSG_LASER_OFF _UxGT("Láser Apagado") +#define MSG_LASER_ON _UxGT("Láser Encendido") +#define MSG_LASER_POWER _UxGT("Potencia Láser") +#define MSG_SPINDLE_MENU _UxGT("Control Mandrino") +#define MSG_SPINDLE_OFF _UxGT("Mandrino Apagado") +#define MSG_SPINDLE_ON _UxGT("Mandrino Encendido") +#define MSG_SPINDLE_POWER _UxGT("Potencia Mandrino") +#define MSG_SPINDLE_REVERSE _UxGT("Invertir giro") +#define MSG_SWITCH_PS_ON _UxGT("Encender Fuente") +#define MSG_SWITCH_PS_OFF _UxGT("Apagar Fuente") #define MSG_EXTRUDE _UxGT("Extruir") #define MSG_RETRACT _UxGT("Retraer") #define MSG_MOVE_AXIS _UxGT("Mover ejes") -#define MSG_BED_LEVELING _UxGT("Nivelar cama") -#define MSG_LEVEL_BED _UxGT("Nivelar cama") +#define MSG_BED_LEVELING _UxGT("Nivelando Cama") +#define MSG_LEVEL_BED _UxGT("Nivelar Cama") +#define MSG_LEVEL_CORNERS _UxGT("Nivelar Esquinas") +#define MSG_NEXT_CORNER _UxGT("Siguente Esquina") +#define MSG_MESH_EDITOR _UxGT("Editor Mallado") +#define MSG_EDIT_MESH _UxGT("Editar Mallado") +#define MSG_EDITING_STOPPED _UxGT("Ed. Mallado parada") +#define MSG_PROBING_MESH _UxGT("Sondear Punto") +#define MSG_MESH_X _UxGT("Índice X") +#define MSG_MESH_Y _UxGT("Índice Y") +#define MSG_MESH_EDIT_Z _UxGT("Valor Z") +#define MSG_USER_MENU _UxGT("Comandos Personaliz.") +#define MSG_M48_TEST _UxGT("M48 Probar Sonda") +#define MSG_M48_POINT _UxGT("M48 Punto") +#define MSG_M48_DEVIATION _UxGT("Desviación") +#define MSG_IDEX_MENU _UxGT("Modo IDEX") +#define MSG_OFFSETS_MENU _UxGT("Desfase Boquillas") +#define MSG_IDEX_MODE_AUTOPARK _UxGT("Auto-Aparcado") +#define MSG_IDEX_MODE_DUPLICATE _UxGT("Duplicar") +#define MSG_IDEX_MODE_MIRRORED_COPY _UxGT("Copia Reflejada") +#define MSG_IDEX_MODE_FULL_CTRL _UxGT("Control Total") +#define MSG_X_OFFSET _UxGT("2ª Boquilla X") +#define MSG_Y_OFFSET _UxGT("2ª Boquilla Y") +#define MSG_Z_OFFSET _UxGT("2ª Boquilla Z") +#define MSG_UBL_DOING_G29 _UxGT("Hacer G29") +#define MSG_UBL_TOOLS _UxGT("Herramientas UBL") +#define MSG_UBL_LEVEL_BED _UxGT("Nivel.Cama.Uni.(UBL)") +#define MSG_LCD_TILTING_MESH _UxGT("Punto de inclinación") +#define MSG_UBL_MANUAL_MESH _UxGT("Crear Mallado man.") +#define MSG_UBL_BC_INSERT _UxGT("Colocar cuña y Medir") +#define MSG_UBL_BC_INSERT2 _UxGT("Medir") +#define MSG_UBL_BC_REMOVE _UxGT("Retirar y Medir Cama") +#define MSG_UBL_MOVING_TO_NEXT _UxGT("Mover al Siguente") +#define MSG_UBL_ACTIVATE_MESH _UxGT("Activar UBL") +#define MSG_UBL_DEACTIVATE_MESH _UxGT("Desactivar UBL") +#define MSG_UBL_SET_TEMP_BED _UxGT("Temp. Cama") +#define MSG_UBL_BED_TEMP_CUSTOM MSG_UBL_SET_TEMP_BED +#define MSG_UBL_SET_TEMP_HOTEND _UxGT ("Hotend Temp") +#define MSG_UBL_HOTEND_TEMP_CUSTOM MSG_UBL_SET_TEMP_HOTEND +#define MSG_UBL_MESH_EDIT _UxGT("Editar Mallado") +#define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Edit. Mallado perso.") +#define MSG_UBL_FINE_TUNE_MESH _UxGT("Ajuste fino Mallado") +#define MSG_UBL_DONE_EDITING_MESH _UxGT("Term. edici. Mallado") +#define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Crear Mallado Perso.") +#define MSG_UBL_BUILD_MESH_MENU _UxGT("Crear Mallado") +#define MSG_UBL_BUILD_MESH_M1 _UxGT("Crear Mallado (" PREHEAT_1_LABEL ")") +#define MSG_UBL_BUILD_MESH_M2 _UxGT("Crear Mallado (" PREHEAT_2_LABEL ")") +#define MSG_UBL_BUILD_COLD_MESH _UxGT("Crear Mallado Frío") +#define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Ajustar alt. Mallado") +#define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Cantidad de altura") +#define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Validar Mallado") +#define MSG_UBL_VALIDATE_MESH_M1 _UxGT("Validar Mallado (" PREHEAT_1_LABEL ")") +#define MSG_UBL_VALIDATE_MESH_M2 _UxGT("Validar Mallado (" PREHEAT_2_LABEL ")") +#define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Vali. Mallado perso.") +#define MSG_G26_HEATING_BED _UxGT("G26 Calentando Cama") +#define MSG_G26_HEATING_NOZZLE _UxGT("G26 Calent. Boquilla") +#define MSG_G26_MANUAL_PRIME _UxGT("Imprimado manual...") +#define MSG_G26_FIXED_LENGTH _UxGT("Impri. longit. fija") +#define MSG_G26_PRIME_DONE _UxGT("Imprimación Lista") +#define MSG_G26_CANCELED _UxGT("G26 Cancelado") +#define MSG_G26_LEAVING _UxGT("Dejando G26") +#define MSG_UBL_CONTINUE_MESH _UxGT("Contin. Mallado cama") +#define MSG_UBL_MESH_LEVELING _UxGT("Nivelando Mallado") +#define MSG_UBL_3POINT_MESH_LEVELING _UxGT("Nivelando 3Puntos") +#define MSG_UBL_GRID_MESH_LEVELING _UxGT("Nivel. Mallado cuad.") +#define MSG_UBL_MESH_LEVEL _UxGT("Nivel de Mallado") +#define MSG_UBL_SIDE_POINTS _UxGT("Puntos Laterales") +#define MSG_UBL_MAP_TYPE _UxGT("Tipo de mapa ") +#define MSG_UBL_OUTPUT_MAP _UxGT("Salida Mapa mallado") +#define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Salida para el host") +#define MSG_UBL_OUTPUT_MAP_CSV _UxGT("Salida para CSV") +#define MSG_UBL_OUTPUT_MAP_BACKUP _UxGT("Off Printer Backup") +#define MSG_UBL_INFO_UBL _UxGT("Salida Info. UBL") +#define MSG_UBL_FILLIN_AMOUNT _UxGT("Cantidad de relleno") +#define MSG_UBL_MANUAL_FILLIN _UxGT("Relleno manual") +#define MSG_UBL_SMART_FILLIN _UxGT("Relleno inteligente") +#define MSG_UBL_FILLIN_MESH _UxGT("Mallado de relleno") +#define MSG_UBL_INVALIDATE_ALL _UxGT("Invalidar todo") +#define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Invalidar proximos") +#define MSG_UBL_FINE_TUNE_ALL _UxGT("Ajustar Fino Todo") +#define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Ajustar Fino proxi.") +#define MSG_UBL_STORAGE_MESH_MENU _UxGT("Almacen de Mallado") +#define MSG_UBL_STORAGE_SLOT _UxGT("Huecos de memoria") +#define MSG_UBL_LOAD_MESH _UxGT("Cargar Mallado cama") +#define MSG_UBL_SAVE_MESH _UxGT("Guardar Mallado cama") +#define MSG_MESH_LOADED _UxGT("Mallado %i Cargado") +#define MSG_MESH_SAVED _UxGT("Mallado %i Guardado") +#define MSG_UBL_NO_STORAGE _UxGT("Sin guardar") +#define MSG_UBL_SAVE_ERROR _UxGT("Error: Guardar UBL") +#define MSG_UBL_RESTORE_ERROR _UxGT("Error: Restaurar UBL") +#define MSG_UBL_Z_OFFSET _UxGT("Desfase de Z: ") +#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Desfase de Z Parado") +#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Paso a Paso") + +#define MSG_LED_CONTROL _UxGT("Control LED") +#define MSG_LEDS _UxGT("Luzes") +#define MSG_LED_PRESETS _UxGT("Luz predefinida") +#define MSG_SET_LEDS_RED _UxGT("Rojo") +#define MSG_SET_LEDS_ORANGE _UxGT("Naranja") +#define MSG_SET_LEDS_YELLOW _UxGT("Amarillo") +#define MSG_SET_LEDS_GREEN _UxGT("Verde") +#define MSG_SET_LEDS_BLUE _UxGT("Azul") +#define MSG_SET_LEDS_INDIGO _UxGT("Índigo") +#define MSG_SET_LEDS_VIOLET _UxGT("Violeta") +#define MSG_SET_LEDS_WHITE _UxGT("Blanco") +#define MSG_SET_LEDS_DEFAULT _UxGT("Por defecto") +#define MSG_CUSTOM_LEDS _UxGT("Luces personalizadas") +#define MSG_INTENSITY_R _UxGT("Intensidad Rojo") +#define MSG_INTENSITY_G _UxGT("Intensidad Verde") +#define MSG_INTENSITY_B _UxGT("Intensidad Azul") +#define MSG_INTENSITY_W _UxGT("Intensidad Blanco") +#define MSG_LED_BRIGHTNESS _UxGT("Brillo") #define MSG_MOVING _UxGT("Moviendo...") #define MSG_FREE_XY _UxGT("Libre XY") @@ -80,6 +214,7 @@ #define MSG_MOVE_Y _UxGT("Mover Y") #define MSG_MOVE_Z _UxGT("Mover Z") #define MSG_MOVE_E _UxGT("Extrusor") +#define MSG_HOTEND_TOO_COLD _UxGT("Hotend muy frio") #define MSG_MOVE_Z_DIST _UxGT("Mover %smm") #define MSG_MOVE_01MM _UxGT("Mover 0.1mm") #define MSG_MOVE_1MM _UxGT("Mover 1mm") @@ -88,7 +223,9 @@ #define MSG_BED_Z _UxGT("Cama Z") #define MSG_NOZZLE _UxGT("Boquilla") #define MSG_BED _UxGT("Cama") +#define MSG_CHAMBER _UxGT("Recinto") #define MSG_FAN_SPEED _UxGT("Ventilador") +#define MSG_EXTRA_FAN_SPEED _UxGT("Vel. Ext. ventilador") #define MSG_FLOW _UxGT("Flujo") #define MSG_CONTROL _UxGT("Control") #define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min") @@ -104,10 +241,18 @@ #define MSG_SELECT _UxGT("Seleccionar") #define MSG_ACC _UxGT("Aceleración") #define MSG_JERK _UxGT("Jerk") -#define MSG_VX_JERK _UxGT("Vx-jerk") -#define MSG_VY_JERK _UxGT("Vy-jerk") -#define MSG_VZ_JERK _UxGT("Vz-jerk") -#define MSG_VE_JERK _UxGT("Ve-jerk") +#if IS_KINEMATIC + #define MSG_VA_JERK _UxGT("Va-Jerk") + #define MSG_VB_JERK _UxGT("Vb-Jerk") + #define MSG_VC_JERK _UxGT("Vc-Jerk") +#else + #define MSG_VA_JERK _UxGT("Vx-Jerk") + #define MSG_VB_JERK _UxGT("Vy-Jerk") + #define MSG_VC_JERK _UxGT("Vz-Jerk") +#endif +#define MSG_VE_JERK _UxGT("Ve-Jerk") +#define MSG_JUNCTION_DEVIATION _UxGT("Junction Dev") +#define MSG_VELOCITY _UxGT("Velocidad") #define MSG_VMAX _UxGT("Vmax") #define MSG_VMIN _UxGT("Vmin") #define MSG_VTRAV_MIN _UxGT("Vel. viaje min") @@ -116,9 +261,15 @@ #define MSG_A_RETRACT _UxGT("Acel. retrac.") #define MSG_A_TRAVEL _UxGT("Acel. Viaje") #define MSG_STEPS_PER_MM _UxGT("Pasos/mm") -#define MSG_XSTEPS _UxGT("X pasos/mm") -#define MSG_YSTEPS _UxGT("Y pasos/mm") -#define MSG_ZSTEPS _UxGT("Z pasos/mm") +#if IS_KINEMATIC + #define MSG_ASTEPS _UxGT("A pasos/mm") + #define MSG_BSTEPS _UxGT("B pasos/mm") + #define MSG_CSTEPS _UxGT("C pasos/mm") +#else + #define MSG_ASTEPS _UxGT("X pasos/mm") + #define MSG_BSTEPS _UxGT("Y pasos/mm") + #define MSG_CSTEPS _UxGT("Z pasos/mm") +#endif #define MSG_ESTEPS _UxGT("E pasos/mm") #define MSG_E1STEPS _UxGT("E1 pasos/mm") #define MSG_E2STEPS _UxGT("E2 pasos/mm") @@ -129,28 +280,44 @@ #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimiento") #define MSG_FILAMENT _UxGT("Filamento") -#define MSG_VOLUMETRIC_ENABLED _UxGT("E in mm3") +#define MSG_VOLUMETRIC_ENABLED _UxGT("E en mm") MSG_CUBED #define MSG_FILAMENT_DIAM _UxGT("Fil. Dia.") +#define MSG_FILAMENT_UNLOAD _UxGT("Descarga mm") +#define MSG_FILAMENT_LOAD _UxGT("Carga mm") #define MSG_ADVANCE_K _UxGT("Avance K") -#define MSG_CONTRAST _UxGT("Contraste") -#define MSG_STORE_EEPROM _UxGT("Guardar memoria") -#define MSG_LOAD_EEPROM _UxGT("Cargar memoria") -#define MSG_RESTORE_FAILSAFE _UxGT("Restaurar memoria") -#define MSG_REFRESH _UxGT("Volver a cargar") -#define MSG_WATCH _UxGT("Información") +#define MSG_CONTRAST _UxGT("Contraste LCD") +#define MSG_STORE_EEPROM _UxGT("Guardar EEPROM") +#define MSG_LOAD_EEPROM _UxGT("Cargar EEPROM") +#define MSG_RESTORE_FAILSAFE _UxGT("Rest. fábrica") +#define MSG_INIT_EEPROM _UxGT("Inicializar EEPROM") +#define MSG_MEDIA_UPDATE _UxGT("Actualizar SD/USB") +#define MSG_RESET_PRINTER _UxGT("Resetear Impresora") +#define MSG_REFRESH _UxGT("Recargar") +#define MSG_WATCH _UxGT("Pantalla de Inf.") #define MSG_PREPARE _UxGT("Preparar") #define MSG_TUNE _UxGT("Ajustar") +#define MSG_START_PRINT _UxGT("Iniciar impresión") +#define MSG_BUTTON_NEXT _UxGT("Siguinte") +#define MSG_BUTTON_INIT _UxGT("Iniciar") +#define MSG_BUTTON_STOP _UxGT("Parar") +#define MSG_BUTTON_PRINT _UxGT("Imprimir") +#define MSG_BUTTON_RESET _UxGT("Reiniciar") +#define MSG_BUTTON_CANCEL _UxGT("Cancelar") +#define MSG_BUTTON_DONE _UxGT("Listo") #define MSG_PAUSE_PRINT _UxGT("Pausar impresión") #define MSG_RESUME_PRINT _UxGT("Reanudar impresión") #define MSG_STOP_PRINT _UxGT("Detener impresión") -#define MSG_MEDIA_MENU _UxGT("Menú Media") -#define MSG_NO_MEDIA _UxGT("Media no presente") +#define MSG_OUTAGE_RECOVERY _UxGT("Recuper. por interr.") +#define MSG_MEDIA_MENU _UxGT("Imprim. desde SD/USB") +#define MSG_NO_MEDIA _UxGT("SD/USB no presente") #define MSG_DWELL _UxGT("Reposo...") -#define MSG_USERWAIT _UxGT("Esperando órdenes") +#define MSG_USERWAIT _UxGT("Pulsar para Reanudar") +#define MSG_PRINT_PAUSED _UxGT("Impresión Pausada") +#define MSG_PRINTING _UxGT("Imprimiendo...") #define MSG_PRINT_ABORTED _UxGT("Impresión cancelada") #define MSG_NO_MOVE _UxGT("Sin movimiento") -#define MSG_KILLED _UxGT("Parada de emergencia") -#define MSG_STOPPED _UxGT("Detenida") +#define MSG_KILLED _UxGT("MUERTA") +#define MSG_STOPPED _UxGT("DETENIDA") #define MSG_CONTROL_RETRACT _UxGT("Retraer mm") #define MSG_CONTROL_RETRACT_SWAP _UxGT("Interc. Retraer mm") #define MSG_CONTROL_RETRACTF _UxGT("Retraer V") @@ -158,105 +325,240 @@ #define MSG_CONTROL_RETRACT_RECOVER _UxGT("DesRet mm") #define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Interc. DesRet mm") #define MSG_CONTROL_RETRACT_RECOVERF _UxGT("DesRet V") +#define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("S UnRet V") #define MSG_AUTORETRACT _UxGT("Retracción Auto.") +#define MSG_FILAMENT_SWAP_LENGTH _UxGT("Inter. longitud") +#define MSG_FILAMENT_PURGE_LENGTH _UxGT("Purgar longitud") +#define MSG_TOOL_CHANGE _UxGT("Cambiar Herramienta") +#define MSG_TOOL_CHANGE_ZLIFT _UxGT("Aumentar Z") +#define MSG_SINGLENOZZLE_PRIME_SPD _UxGT("Prime Speed") +#define MSG_SINGLENOZZLE_RETRACT_SPD _UxGT("Vel. de retracción") +#define MSG_NOZZLE_STANDBY _UxGT("Colocar boquilla") #define MSG_FILAMENTCHANGE _UxGT("Cambiar filamento") -#define MSG_INIT_MEDIA _UxGT("Iniciando Media") -#define MSG_CHANGE_MEDIA _UxGT("Cambiar Media") -#define MSG_ZPROBE_OUT _UxGT("Sonda Z fuera") -#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Auto-Prueba") -#define MSG_BLTOUCH_RESET _UxGT("Reiniciar BLTouch") -#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("primero") -#define MSG_zprobe_zoffset _UxGT("Desfase Z") +#define MSG_FILAMENTLOAD _UxGT("Cargar filamento") +#define MSG_FILAMENTUNLOAD _UxGT("Descargar filamento") +#define MSG_FILAMENTUNLOAD_ALL _UxGT("Descargar todo") +#define MSG_INIT_MEDIA _UxGT("Iniciar SD/USB") +#define MSG_CHANGE_MEDIA _UxGT("Cambiar SD/USB") +#define MSG_RELEASE_MEDIA _UxGT("Lanzar SD/USB") +#define MSG_ZPROBE_OUT _UxGT("Sonda Z fuera cama") +#define MSG_SKEW_FACTOR _UxGT("Factor de desviación") +#define MSG_BLTOUCH _UxGT("BLTouch") +#define MSG_BLTOUCH_SELFTEST _UxGT("Cmd: Auto-Prueba") +#define MSG_BLTOUCH_RESET _UxGT("Cmd: Reiniciar") +#define MSG_BLTOUCH_STOW _UxGT("Cmd: Bajar pistón") +#define MSG_BLTOUCH_DEPLOY _UxGT("Cmd: Subir pistón") +#define MSG_BLTOUCH_SW_MODE _UxGT("Cmd: Modo Software") +#define MSG_BLTOUCH_5V_MODE _UxGT("Cmd: Modo 5V") +#define MSG_BLTOUCH_OD_MODE _UxGT("Cmd: Modo OD") +#define MSG_BLTOUCH_MODE_STORE _UxGT("Cmd: Modo almacenar") +#define MSG_BLTOUCH_MODE_STORE_5V _UxGT("Poner BLTouch a 5V") +#define MSG_BLTOUCH_MODE_STORE_OD _UxGT("Poner BLTouch a OD") +#define MSG_BLTOUCH_MODE_ECHO _UxGT("Informe de drenaje") +#define MSG_BLTOUCH_MODE_CHANGE _UxGT("PELIGRO: ¡Una mala configuración puede producir daños! ¿Proceder igualmente?") +#define MSG_TOUCHMI_PROBE _UxGT("TouchMI") +#define MSG_TOUCHMI_INIT _UxGT("Iniciar TouchMI") +#define MSG_TOUCHMI_ZTEST _UxGT("Test de desfase Z") +#define MSG_TOUCHMI_SAVE _UxGT("Guardar") +#define MSG_MANUAL_DEPLOY_TOUCHMI _UxGT("Subir TouchMI") +#define MSG_MANUAL_DEPLOY _UxGT("Subir Sonda Z") +#define MSG_MANUAL_STOW _UxGT("Bajar Sonda Z") +#define MSG_HOME_FIRST _UxGT("Origen %s%s%s Primero") +#define MSG_ZPROBE_ZOFFSET _UxGT("Desfase Z") #define MSG_BABYSTEP_X _UxGT("Micropaso X") #define MSG_BABYSTEP_Y _UxGT("Micropaso Y") #define MSG_BABYSTEP_Z _UxGT("Micropaso Z") +#define MSG_BABYSTEP_TOTAL _UxGT("Total") #define MSG_ENDSTOP_ABORT _UxGT("Cancelado - Endstop") -#define MSG_HEATING_FAILED_LCD _UxGT("Error: al calentar") -#define MSG_ERR_REDUNDANT_TEMP _UxGT("Error: temperatura") -#define MSG_THERMAL_RUNAWAY _UxGT("Error: temperatura") -#define MSG_ERR_MAXTEMP _UxGT("Error: Temp Máxima") -#define MSG_ERR_MINTEMP _UxGT("Error: Temp Mínima") -#define MSG_ERR_MAXTEMP_BED _UxGT("Error: Temp Max Cama") -#define MSG_ERR_MINTEMP_BED _UxGT("Error: Temp Min Cama") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST -#define MSG_HALTED _UxGT("IMPRESORA PARADA") +#define MSG_HEATING_FAILED_LCD _UxGT("Calent. fallido") +#define MSG_HEATING_FAILED_LCD_BED _UxGT("Calent. cama fallido") +#define MSG_HEATING_FAILED_LCD_CHAMBER _UxGT("Calent. Cám. fallido") +#define MSG_ERR_REDUNDANT_TEMP _UxGT("Err: TEMP. REDUN.") +#define MSG_THERMAL_RUNAWAY _UxGT("ESCAPE TERMICO") +#define MSG_THERMAL_RUNAWAY_BED _UxGT("ESC. TERMICO CAMA") +#define MSG_THERMAL_RUNAWAY_CHAMBER _UxGT("ESC. TERMICO CAMARA") +#define MSG_ERR_MAXTEMP _UxGT("Err:TEMP. MÁX") +#define MSG_ERR_MINTEMP _UxGT("Err:TEMP. MIN") +#define MSG_ERR_MAXTEMP_BED _UxGT("Err:TEMP. MÁX CAMA") +#define MSG_ERR_MINTEMP_BED _UxGT("Err:TEMP. MIN CAMA") +#define MSG_ERR_MAXTEMP_CHAMBER _UxGT("Err:TEMP. MÁX CÁMARA") +#define MSG_ERR_MINTEMP_CHAMBER _UxGT("Err:TEMP. MIN CÁMARA") +#define MSG_ERR_Z_HOMING _UxGT("Origen XY Primero") +#define MSG_HALTED _UxGT("IMPRESORA DETENIDA") #define MSG_PLEASE_RESET _UxGT("Por favor, reinicie") #define MSG_SHORT_DAY _UxGT("d") // One character only #define MSG_SHORT_HOUR _UxGT("h") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("Calentando...") +#define MSG_COOLING _UxGT("Enfriando...") #define MSG_BED_HEATING _UxGT("Calentando Cama...") +#define MSG_BED_COOLING _UxGT("Enfriando Cama...") +#define MSG_CHAMBER_HEATING _UxGT("Calentando Cámara...") +#define MSG_CHAMBER_COOLING _UxGT("Enfriando Cámara...") #define MSG_DELTA_CALIBRATE _UxGT("Calibración Delta") #define MSG_DELTA_CALIBRATE_X _UxGT("Calibrar X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrar Y") #define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrar Z") #define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrar Centro") +#define MSG_DELTA_SETTINGS _UxGT("Configuración Delta") #define MSG_DELTA_AUTO_CALIBRATE _UxGT("Auto Calibración") #define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Est. Altura Delta") -#define MSG_INFO_MENU _UxGT("Inf. Impresora") -#define MSG_INFO_PRINTER_MENU _UxGT("Inf. Impresora") +#define MSG_DELTA_Z_OFFSET_CALIBRATE _UxGT("Ajustar Sonda Z") +#define MSG_DELTA_DIAG_ROD _UxGT("Barra Diagonal") +#define MSG_DELTA_HEIGHT _UxGT("Altura") +#define MSG_DELTA_RADIUS _UxGT("Radio") +#define MSG_INFO_MENU _UxGT("Acerca de Impresora") +#define MSG_INFO_PRINTER_MENU _UxGT("Info. Impresora") +#define MSG_3POINT_LEVELING _UxGT("Nivelando 3puntos") +#define MSG_LINEAR_LEVELING _UxGT("Nivelando Lineal") +#define MSG_BILINEAR_LEVELING _UxGT("Nivelando Bilineal") +#define MSG_UBL_LEVELING _UxGT("Nivelando UBL") +#define MSG_MESH_LEVELING _UxGT("Nivelando en Mallado") #define MSG_INFO_STATS_MENU _UxGT("Estadísticas Imp.") -#define MSG_INFO_BOARD_MENU _UxGT("Inf. Controlador") +#define MSG_INFO_BOARD_MENU _UxGT("Info. Controlador") #define MSG_INFO_THERMISTOR_MENU _UxGT("Termistores") #define MSG_INFO_EXTRUDERS _UxGT("Extrusores") #define MSG_INFO_BAUDRATE _UxGT("Baudios") #define MSG_INFO_PROTOCOL _UxGT("Protocolo") #define MSG_CASE_LIGHT _UxGT("Luz cabina") +#define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Brillo cabina") #define MSG_EXPECTED_PRINTER _UxGT("Impresora incorrecta") #if LCD_WIDTH >= 20 - #define MSG_INFO_PRINT_COUNT _UxGT("Conteo de impresión") + #define MSG_INFO_PRINT_COUNT _UxGT("Cont. de impresión") #define MSG_INFO_COMPLETED_PRINTS _UxGT("Completadas") #define MSG_INFO_PRINT_TIME _UxGT("Tiempo total de imp.") #define MSG_INFO_PRINT_LONGEST _UxGT("Impresión más larga") - #define MSG_INFO_PRINT_FILAMENT _UxGT("Total de Extrusión") + #define MSG_INFO_PRINT_FILAMENT _UxGT("Total Extruido") #else #define MSG_INFO_PRINT_COUNT _UxGT("Impresiones") #define MSG_INFO_COMPLETED_PRINTS _UxGT("Completadas") #define MSG_INFO_PRINT_TIME _UxGT("Total") #define MSG_INFO_PRINT_LONGEST _UxGT("Más larga") - #define MSG_INFO_PRINT_FILAMENT _UxGT("Extrusión") + #define MSG_INFO_PRINT_FILAMENT _UxGT("Extruido") #endif - -#define MSG_INFO_MIN_TEMP _UxGT("Temperatura mínima") -#define MSG_INFO_MAX_TEMP _UxGT("Temperatura máxima") -#define MSG_INFO_PSU _UxGT("Fuente de poder") -#define MSG_DRIVE_STRENGTH _UxGT("Potencia driver") +#define MSG_INFO_MIN_TEMP _UxGT("Temp. Mínima") +#define MSG_INFO_MAX_TEMP _UxGT("Temp. Máxima") +#define MSG_INFO_PSU _UxGT("Fuente alimentación") +#define MSG_DRIVE_STRENGTH _UxGT("Fuerza de empuje") #define MSG_DAC_PERCENT _UxGT("Driver %") +#define MSG_ERROR_TMC _UxGT("ERROR CONEX. TMC") #define MSG_DAC_EEPROM_WRITE _UxGT("Escribe DAC EEPROM") - -#define MSG_FILAMENT_CHANGE_HEADER _UxGT("IMPR. PAUSADA") +#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("IMPRESIÓN PAUSADA") +#define MSG_FILAMENT_CHANGE_HEADER_LOAD _UxGT("CARGAR FILAMENTO") +#define MSG_FILAMENT_CHANGE_HEADER_UNLOAD _UxGT("DESCARGAR FILAMENTO") #define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("OPC. REINICIO:") -#define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE _UxGT("Extruir más") -#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Resumir imp.") - -#define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Temp Mínima es ") +#define MSG_FILAMENT_CHANGE_OPTION_PURGE _UxGT("Purgar más") +#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Continuar imp.") #define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Boquilla: ") +#define MSG_RUNOUT_SENSOR _UxGT("Sensor de sección") +#define MSG_RUNOUT_DISTANCE_MM _UxGT("Dist de secc. mm") +#define MSG_ERR_HOMING_FAILED _UxGT("Ir a origen Fallado") +#define MSG_ERR_PROBING_FAILED _UxGT("Sondeo Fallado") +#define MSG_M600_TOO_COLD _UxGT("M600: Muy Frio") -#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Esperando para") +#define MSG_MMU2_FILAMENT_CHANGE_HEADER _UxGT("CAMBIAR FILAMENTO") +#define MSG_MMU2_CHOOSE_FILAMENT_HEADER _UxGT("ELIJE FILAMENTO") +#define MSG_MMU2_MENU _UxGT("MMU") +#define MSG_MMU2_WRONG_FIRMWARE _UxGT("¡Actu. MMU Firmware!") +#define MSG_MMU2_NOT_RESPONDING _UxGT("MMU Necesita Cuidado") +#define MSG_MMU2_RESUME _UxGT("Continuar imp.") +#define MSG_MMU2_RESUMING _UxGT("Resumiendo...") +#define MSG_MMU2_LOAD_FILAMENT _UxGT("Cargar Filamento") +#define MSG_MMU2_LOAD_ALL _UxGT("Cargar Todo") +#define MSG_MMU2_LOAD_TO_NOZZLE _UxGT("Cargar hasta boqui.") +#define MSG_MMU2_EJECT_FILAMENT _UxGT("Expulsar Filamento") +#define MSG_MMU2_EJECT_FILAMENT0 _UxGT("Expulsar Filamento 1") +#define MSG_MMU2_EJECT_FILAMENT1 _UxGT("Expulsar Filamento 2") +#define MSG_MMU2_EJECT_FILAMENT2 _UxGT("Expulsar Filamento 3") +#define MSG_MMU2_EJECT_FILAMENT3 _UxGT("Expulsar Filamento 4") +#define MSG_MMU2_EJECT_FILAMENT4 _UxGT("Expulsar Filamento 5") +#define MSG_MMU2_UNLOAD_FILAMENT _UxGT("Descargar Filamento") +#define MSG_MMU2_LOADING_FILAMENT _UxGT("Cargando Fil. %i...") +#define MSG_MMU2_EJECTING_FILAMENT _UxGT("Expulsando Fil. ...") +#define MSG_MMU2_UNLOADING_FILAMENT _UxGT("Descargando Fil....") +#define MSG_MMU2_ALL _UxGT("Todo") +#define MSG_MMU2_FILAMENT0 _UxGT("Filamento 1") +#define MSG_MMU2_FILAMENT1 _UxGT("Filamento 2") +#define MSG_MMU2_FILAMENT2 _UxGT("Filamento 3") +#define MSG_MMU2_FILAMENT3 _UxGT("Filamento 4") +#define MSG_MMU2_FILAMENT4 _UxGT("Filamento 5") +#define MSG_MMU2_RESET _UxGT("Reiniciar MMU") +#define MSG_MMU2_RESETTING _UxGT("Reiniciando MMU...") +#define MSG_MMU2_EJECT_RECOVER _UxGT("Retirar, y pulsar") -#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserte el filamento") -#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("y presione el botón") +#define MSG_MIX _UxGT("Mezcla") +#define MSG_MIX_COMPONENT _UxGT("Componente") +#define MSG_MIXER _UxGT("Miezclador") +#define MSG_GRADIENT _UxGT("Degradado") +#define MSG_FULL_GRADIENT _UxGT("Degradado Total") +#define MSG_TOGGLE_MIX _UxGT("Mezcla Conmutada") +#define MSG_CYCLE_MIX _UxGT("Mezcla Cíclica") +#define MSG_GRADIENT_MIX _UxGT("Mezcla de Degradado") +#define MSG_REVERSE_GRADIENT _UxGT("Degradado inverso") +#define MSG_ACTIVE_VTOOL _UxGT("Activar Herr.V") +#define MSG_START_VTOOL _UxGT("Inicio Herr.V") +#define MSG_END_VTOOL _UxGT(" Fin Herr.V") +#define MSG_GRADIENT_ALIAS _UxGT("Alias Herr.V") +#define MSG_RESET_VTOOLS _UxGT("Reiniciar Herr.V") +#define MSG_COMMIT_VTOOL _UxGT("Cometer mezc. Herr.V") +#define MSG_VTOOLS_RESET _UxGT("Herr.V reiniciados") +#define MSG_START_Z _UxGT("Inicio Z") +#define MSG_END_Z _UxGT(" Fin Z") + +#define MSG_GAMES _UxGT("Games") +#define MSG_BRICKOUT _UxGT("Brickout") +#define MSG_INVADERS _UxGT("Invaders") +#define MSG_SNAKE _UxGT("Sn4k3") +#define MSG_MAZE _UxGT("Maze") #if LCD_HEIGHT >= 4 - // Up to 3 lines allowed - #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("iniciar cambio") + #define MSG_ADVANCED_PAUSE_WAITING_1 _UxGT("Pulsar el botón para") + #define MSG_ADVANCED_PAUSE_WAITING_2 _UxGT("reanudar impresión") + #define MSG_PAUSE_PRINT_INIT_1 _UxGT("Aparcando...") + #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Esperando para") + #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("iniciar el cambio") #define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("de filamento") + #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserte el filamento") + #define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("y pulse el botón") #define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("para continuar...") -#else // LCD_HEIGHT < 4 - // Up to 2 lines allowed - #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("iniciar cambio fil.") -#endif // LCD_HEIGHT < 4 + #define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Pulse el botón para") + #define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("calentar la boquilla") + #define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Calentando boquilla") + #define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Espere por favor...") + #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Espere para") + #define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("liberar el filamento") + #define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Espere para") + #define MSG_FILAMENT_CHANGE_PURGE_2 _UxGT("purgar el filamento") + #define MSG_FILAMENT_CHANGE_CONT_PURGE_1 _UxGT("Pulse para finalizar") + #define MSG_FILAMENT_CHANGE_CONT_PURGE_2 _UxGT("la purga de filamen.") + #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Esperando impresora") + #define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("para reanudar...") +#else + #define MSG_ADVANCED_PAUSE_WAITING_1 _UxGT("Pulse para continuar") + #define MSG_PAUSE_PRINT_INIT_1 _UxGT("Aparcando...") + #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Por Favor espere...") + #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserte y Pulse") + #define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Pulse para Calentar") + #define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Calentando...") + #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Liberando...") + #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Cargando...") + #define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Purgando...") + #define MSG_FILAMENT_CHANGE_CONT_PURGE_1 _UxGT("Pulse para finalizar") + #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Reanudando...") +#endif -#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Esperando para") -#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("expulsar filamento") -#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Esperado para") -#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("cargar el filamento") -#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Esperando imp.") -#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("para resumir") -#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Oprima botón para") -#define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("Calentar la boquilla") -#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Calentando boquilla") -#define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Espere por favor") +#define MSG_TMC_DRIVERS _UxGT("Controladores TMC") +#define MSG_TMC_CURRENT _UxGT("Amperaje Controlador") +#define MSG_TMC_HYBRID_THRS _UxGT("Límite Hibrido") +#define MSG_TMC_HOMING_THRS _UxGT("Origen sin sensores") +#define MSG_TMC_STEPPING_MODE _UxGT("Modo de pasos") +#define MSG_TMC_STEALTH_ENABLED _UxGT("StealthChop Habilit.") + +#define MSG_SERVICE_RESET _UxGT("Reiniciar") +#define MSG_SERVICE_IN _UxGT(" dentro:") + +#define MSG_BACKLASH _UxGT("Backlash") +#define MSG_BACKLASH_CORRECTION _UxGT("Correction") +#define MSG_BACKLASH_SMOOTHING _UxGT("Suavizado") diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h index 04456e9d54..a77ae8a7fe 100644 --- a/Marlin/src/lcd/language/language_eu.h +++ b/Marlin/src/lcd/language/language_eu.h @@ -81,7 +81,6 @@ //#define MSG_USER_MENU _UxGT("Custom Commands") #define MSG_UBL_DOING_G29 _UxGT("G29 exekutatzen") -#define MSG_UBL_UNHOMED _UxGT("XYZ etxeratu lehenengo") #define MSG_UBL_TOOLS _UxGT("UBL Tresnak") #define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling") #define MSG_UBL_MANUAL_MESH _UxGT("Sarea eskuz sortu") @@ -277,9 +276,8 @@ #define MSG_BLTOUCH_RESET _UxGT("BLTouch berrabia.") #define MSG_BLTOUCH_DEPLOY _UxGT("BLTouch jaitsi/luzatu") #define MSG_BLTOUCH_STOW _UxGT("BLTouch igo/jaso") -#define MSG_HOME _UxGT("Etxera") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("lehenengo") -#define MSG_zprobe_zoffset _UxGT("Z Konpentsatu") +#define MSG_HOME_FIRST _UxGT("Etxera %s%s%s lehenengo") +#define MSG_ZPROBE_ZOFFSET _UxGT("Z Konpentsatu") #define MSG_BABYSTEP_X _UxGT("Mikro-urratsa X") #define MSG_BABYSTEP_Y _UxGT("Mikro-urratsa Y") #define MSG_BABYSTEP_Z _UxGT("Mikro-urratsa Z") @@ -291,7 +289,7 @@ #define MSG_ERR_MINTEMP _UxGT("Err: Tenp Minimoa") #define MSG_ERR_MAXTEMP_BED _UxGT("Err: Ohe Tenp Max") #define MSG_ERR_MINTEMP_BED _UxGT("Err: Ohe Tenp Min") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Etxera XY lehenengo") #define MSG_HALTED _UxGT("INPRIMA. GELDIRIK") #define MSG_PLEASE_RESET _UxGT("Berrabia. Mesedez") #define MSG_SHORT_DAY _UxGT("d") // One character only diff --git a/Marlin/src/lcd/language/language_fi.h b/Marlin/src/lcd/language/language_fi.h index 5f2a681442..2fbf9e2d18 100644 --- a/Marlin/src/lcd/language/language_fi.h +++ b/Marlin/src/lcd/language/language_fi.h @@ -156,9 +156,8 @@ #define MSG_INIT_MEDIA _UxGT("Init. SD-Card") #define MSG_CHANGE_MEDIA _UxGT("Change SD-Card") #define MSG_ZPROBE_OUT _UxGT("Z probe out. bed") -#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("first") -#define MSG_zprobe_zoffset _UxGT("Z Offset") +#define MSG_HOME_FIRST _UxGT("Home %s%s%s first") +#define MSG_ZPROBE_ZOFFSET _UxGT("Z Offset") #define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Z _UxGT("Babystep Z") diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h index 20679e10da..da9a0d4acd 100644 --- a/Marlin/src/lcd/language/language_fr.h +++ b/Marlin/src/lcd/language/language_fr.h @@ -36,9 +36,14 @@ #define MSG_YES _UxGT("Oui") #define MSG_NO _UxGT("Non") #define MSG_BACK _UxGT("Retour") +#define MSG_MEDIA_ABORTING _UxGT("Annulation...") #define MSG_MEDIA_INSERTED _UxGT("Média inséré") #define MSG_MEDIA_REMOVED _UxGT("Média retiré") #define MSG_MEDIA_RELEASED _UxGT("Média libéré") +#define MSG_MEDIA_WAITING _UxGT("Attente média") +#define MSG_MEDIA_READ_ERROR _UxGT("Err lecture média") +#define MSG_MEDIA_USB_REMOVED _UxGT("USB débranché") +#define MSG_MEDIA_USB_FAILED _UxGT("Erreur média USB") #define MSG_LCD_ENDSTOPS _UxGT("Butées") #define MSG_LCD_SOFT_ENDSTOPS _UxGT("Butées SW") #define MSG_MAIN _UxGT("Menu principal") @@ -89,6 +94,7 @@ #define MSG_LEVEL_BED _UxGT("Niveau du lit") #define MSG_LEVEL_CORNERS _UxGT("Niveau des coins") #define MSG_NEXT_CORNER _UxGT("Coin suivant") +#define MSG_MESH_EDITOR _UxGT("Edition Maillage") #define MSG_EDIT_MESH _UxGT("Modifier maille") #define MSG_EDITING_STOPPED _UxGT("Arrêt édit. maillage") #define MSG_PROBING_MESH _UxGT("Mesure point") @@ -110,8 +116,14 @@ #define MSG_X_OFFSET _UxGT("Buse 2 X") #define MSG_Y_OFFSET _UxGT("Buse 2 Y") #define MSG_Z_OFFSET _UxGT("Buse 2 Z") +#define MSG_G26_HEATING_BED _UxGT("G26 Chauffe lit") +#define MSG_G26_HEATING_NOZZLE _UxGT("G26 Chauffe buse") +#define MSG_G26_MANUAL_PRIME _UxGT("Amorce manuelle...") +#define MSG_G26_FIXED_LENGTH _UxGT("Amorce longueur fixe") +#define MSG_G26_PRIME_DONE _UxGT("Amorce terminée") +#define MSG_G26_CANCELED _UxGT("G26 annulé") +#define MSG_G26_LEAVING _UxGT("Sortie G26") #define MSG_UBL_DOING_G29 _UxGT("G29 en cours") -#define MSG_UBL_UNHOMED _UxGT("Origine XYZ requise") #define MSG_UBL_TOOLS _UxGT("Outils UBL") #define MSG_UBL_LEVEL_BED _UxGT("Niveau lit unifié") #define MSG_UBL_MANUAL_MESH _UxGT("Maillage manuel") @@ -169,6 +181,7 @@ #define MSG_UBL_NO_STORAGE _UxGT("Pas de mémoire") #define MSG_UBL_SAVE_ERROR _UxGT("Err: Enreg. UBL") #define MSG_UBL_RESTORE_ERROR _UxGT("Err: Ouvrir UBL") +#define MSG_UBL_Z_OFFSET _UxGT("Z-Offset: ") #define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Décal. Z arrêté") #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Pas à pas") @@ -346,9 +359,8 @@ #define MSG_MANUAL_DEPLOY_TOUCHMI _UxGT("Déployer TouchMI") #define MSG_MANUAL_DEPLOY _UxGT("Déployer Sonde Z") #define MSG_MANUAL_STOW _UxGT("Ranger Sonde Z") -#define MSG_HOME _UxGT("Origine") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("Premier") -#define MSG_zprobe_zoffset _UxGT("Décalage Z") +#define MSG_HOME_FIRST _UxGT("Origine %s%s%s Premier") +#define MSG_ZPROBE_ZOFFSET _UxGT("Décalage Z") #define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Z _UxGT("Babystep Z") @@ -367,7 +379,7 @@ #define MSG_ERR_MINTEMP_BED _UxGT("Err TEMP. MIN LIT") #define MSG_ERR_MAXTEMP_CHAMBER _UxGT("Err MAXTEMP CAISSON") #define MSG_ERR_MINTEMP_CHAMBER _UxGT("Err MINTEMP CAISSON") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Origine XY Premier") #define MSG_HALTED _UxGT("IMPR. STOPPÉE") #define MSG_PLEASE_RESET _UxGT("Redémarrer SVP") @@ -432,6 +444,7 @@ #define MSG_DRIVE_STRENGTH _UxGT("Puiss. moteur ") #define MSG_DAC_PERCENT _UxGT("Driver %") #define MSG_DAC_EEPROM_WRITE _UxGT("DAC EEPROM sauv.") +#define MSG_ERROR_TMC _UxGT("ERREUR CONNEXION TMC") #define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("IMPR. PAUSE") #define MSG_FILAMENT_CHANGE_HEADER_LOAD _UxGT("CHARGER FIL") diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h index 3e6f30ea3d..0de6382e54 100644 --- a/Marlin/src/lcd/language/language_gl.h +++ b/Marlin/src/lcd/language/language_gl.h @@ -82,36 +82,36 @@ #define MSG_BED _UxGT("Cama") #define MSG_FAN_SPEED _UxGT("Velocidade vent.") #define MSG_FLOW _UxGT("Fluxo") -#define MSG_CONTROL _UxGT("Control") +//#define MSG_CONTROL _UxGT("Control") #define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min") #define MSG_MAX _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Max") #define MSG_FACTOR _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Fact") -#define MSG_AUTOTEMP _UxGT("Autotemp") -#define MSG_LCD_ON _UxGT("On") -#define MSG_LCD_OFF _UxGT("Off") -#define MSG_PID_P _UxGT("PID-P") -#define MSG_PID_I _UxGT("PID-I") -#define MSG_PID_D _UxGT("PID-D") -#define MSG_PID_C _UxGT("PID-C") +//#define MSG_AUTOTEMP _UxGT("Autotemp") +//#define MSG_LCD_ON _UxGT("On") +//#define MSG_LCD_OFF _UxGT("Off") +//#define MSG_PID_P _UxGT("PID-P") +//#define MSG_PID_I _UxGT("PID-I") +//#define MSG_PID_D _UxGT("PID-D") +//#define MSG_PID_C _UxGT("PID-C") #define MSG_SELECT _UxGT("Escolla") #define MSG_ACC _UxGT("Acel") -#define MSG_JERK _UxGT("Jerk") -#if IS_KINEMATIC - #define MSG_VA_JERK _UxGT("Va-jerk") - #define MSG_VB_JERK _UxGT("Vb-jerk") - #define MSG_VC_JERK _UxGT("Vc-jerk") -#else - #define MSG_VA_JERK _UxGT("Vx-jerk") - #define MSG_VB_JERK _UxGT("Vy-jerk") - #define MSG_VC_JERK _UxGT("Vz-jerk") -#endif -#define MSG_VE_JERK _UxGT("Ve-jerk") -#define MSG_VMAX _UxGT("Vmax ") -#define MSG_VMIN _UxGT("Vmin") -#define MSG_VTRAV_MIN _UxGT("VTrav min") -#define MSG_AMAX _UxGT("Amax ") -#define MSG_A_RETRACT _UxGT("A-retract") -#define MSG_A_TRAVEL _UxGT("A-travel") +//#define MSG_JERK _UxGT("Jerk") +//#if IS_KINEMATIC +// #define MSG_VA_JERK _UxGT("Va-jerk") +// #define MSG_VB_JERK _UxGT("Vb-jerk") +// #define MSG_VC_JERK _UxGT("Vc-jerk") +//#else +// #define MSG_VA_JERK _UxGT("Vx-jerk") +// #define MSG_VB_JERK _UxGT("Vy-jerk") +// #define MSG_VC_JERK _UxGT("Vz-jerk") +//#endif +//#define MSG_VE_JERK _UxGT("Ve-jerk") +//#define MSG_VMAX _UxGT("Vmax ") +//#define MSG_VMIN _UxGT("Vmin") +//#define MSG_VTRAV_MIN _UxGT("VTrav min") +//#define MSG_AMAX _UxGT("Amax ") +//#define MSG_A_RETRACT _UxGT("A-retract") +//#define MSG_A_TRAVEL _UxGT("A-travel") #define MSG_STEPS_PER_MM _UxGT("Pasos/mm") #if IS_KINEMATIC #define MSG_ASTEPS _UxGT("A pasos/mm") @@ -165,11 +165,10 @@ #define MSG_INIT_MEDIA _UxGT("Iniciando SD") #define MSG_CHANGE_MEDIA _UxGT("Cambiar SD") #define MSG_ZPROBE_OUT _UxGT("Sonda-Z sen cama") -#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST +//#define MSG_HOME_FIRST _UxGT("Home %s%s%s first") #define MSG_BLTOUCH_SELFTEST _UxGT("Comprobar BLTouch") #define MSG_BLTOUCH_RESET _UxGT("Iniciar BLTouch") -#define MSG_FIRST _UxGT("first") -#define MSG_zprobe_zoffset _UxGT("Offset Z") +#define MSG_ZPROBE_ZOFFSET _UxGT("Offset Z") #define MSG_BABYSTEP_X _UxGT("Micropaso X") #define MSG_BABYSTEP_Y _UxGT("Micropaso Y") #define MSG_BABYSTEP_Z _UxGT("Micropaso Z") @@ -177,16 +176,16 @@ #define MSG_HEATING_FAILED_LCD _UxGT("Fallo quentando") #define MSG_ERR_REDUNDANT_TEMP _UxGT("Erro temperatura") #define MSG_THERMAL_RUNAWAY _UxGT("Temp. excesiva") -#define MSG_ERR_MAXTEMP _UxGT("Err: temp. max.") -#define MSG_ERR_MINTEMP _UxGT("Err: temp. min.") -#define MSG_ERR_MAXTEMP_BED _UxGT("Err: MAXTEMP BED") -#define MSG_ERR_MINTEMP_BED _UxGT("Err: MINTEMP BED") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +//#define MSG_ERR_MAXTEMP _UxGT("Err: temp. max.") +//#define MSG_ERR_MINTEMP _UxGT("Err: temp. min.") +//#define MSG_ERR_MAXTEMP_BED _UxGT("Err: MAXTEMP BED") +//#define MSG_ERR_MINTEMP_BED _UxGT("Err: MINTEMP BED") +//#define MSG_ERR_Z_HOMING _UxGT("Home XY first") #define MSG_HALTED _UxGT("SISTEMA MORTO") #define MSG_PLEASE_RESET _UxGT("Debe reiniciar!") -#define MSG_SHORT_DAY _UxGT("d") // One character only -#define MSG_SHORT_HOUR _UxGT("h") // One character only -#define MSG_SHORT_MINUTE _UxGT("m") // One character only +//#define MSG_SHORT_DAY _UxGT("d") // One character only +//#define MSG_SHORT_HOUR _UxGT("h") // One character only +//#define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("Quentando...") #define MSG_BED_HEATING _UxGT("Quentando cama...") #define MSG_DELTA_CALIBRATE _UxGT("Calibracion Delta") @@ -229,26 +228,26 @@ #if LCD_HEIGHT >= 4 // Up to 3 lines allowed - #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Agarde para") - #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("iniciar troco") - #define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("de filamento") - #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Agarde pola") - #define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("descarga do") - #define MSG_FILAMENT_CHANGE_UNLOAD_3 _UxGT("filamento") - #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Introduza o") - #define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("filamento e") - #define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("faga click") - #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Agarde pola") - #define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("carga do") - #define MSG_FILAMENT_CHANGE_LOAD_3 _UxGT("filamento") - #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Agarde para") - #define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("seguir co") - #define MSG_FILAMENT_CHANGE_RESUME_3 _UxGT("traballo") + #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Agarde para") + #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("iniciar troco") + #define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("de filamento") + #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Agarde pola") + #define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("descarga do") + #define MSG_FILAMENT_CHANGE_UNLOAD_3 _UxGT("filamento") + #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Introduza o") + #define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("filamento e") + #define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("faga click") + #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Agarde pola") + #define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("carga do") + #define MSG_FILAMENT_CHANGE_LOAD_3 _UxGT("filamento") + #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Agarde para") + #define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("seguir co") + #define MSG_FILAMENT_CHANGE_RESUME_3 _UxGT("traballo") #else // LCD_HEIGHT < 4 // Up to 2 lines allowed - #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Agarde...") - #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Descargando...") - #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Introduza e click") - #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Cargando...") - #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Seguindo...") + #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Agarde...") + #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Descargando...") + #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Introduza e click") + #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Cargando...") + #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Seguindo...") #endif // LCD_HEIGHT < 4 diff --git a/Marlin/src/lcd/language/language_hr.h b/Marlin/src/lcd/language/language_hr.h index 6cc82c359a..6b46d730f2 100644 --- a/Marlin/src/lcd/language/language_hr.h +++ b/Marlin/src/lcd/language/language_hr.h @@ -35,8 +35,8 @@ #define WELCOME_MSG MACHINE_NAME _UxGT(" spreman.") #define MSG_MEDIA_INSERTED _UxGT("SD kartica umetnuta") #define MSG_MEDIA_REMOVED _UxGT("SD kartica uklonjena") -#define MSG_LCD_ENDSTOPS _UxGT("Endstops") // Max length 8 characters -#define MSG_MAIN _UxGT("Main") +//#define MSG_LCD_ENDSTOPS _UxGT("Endstops") // Max length 8 characters +//#define MSG_MAIN _UxGT("Main") #define MSG_AUTOSTART _UxGT("Auto pokretanje") #define MSG_DISABLE_STEPPERS _UxGT("Ugasi steppere") #define MSG_AUTO_HOME _UxGT("Automatski homing") @@ -63,15 +63,15 @@ #define MSG_COOLDOWN _UxGT("Hlađenje") #define MSG_SWITCH_PS_ON _UxGT("Uključi napajanje") #define MSG_SWITCH_PS_OFF _UxGT("Isključi napajanje") -#define MSG_EXTRUDE _UxGT("Extrude") -#define MSG_RETRACT _UxGT("Retract") +//#define MSG_EXTRUDE _UxGT("Extrude") +//#define MSG_RETRACT _UxGT("Retract") #define MSG_MOVE_AXIS _UxGT("Miči os") #define MSG_BED_LEVELING _UxGT("Niveliraj bed") #define MSG_LEVEL_BED _UxGT("Niveliraj bed") #define MSG_MOVE_X _UxGT("Miči X") #define MSG_MOVE_Y _UxGT("Miči Y") #define MSG_MOVE_Z _UxGT("Miči Z") -#define MSG_MOVE_E _UxGT("Extruder") +//#define MSG_MOVE_E _UxGT("Extruder") #define MSG_MOVE_Z_DIST _UxGT("Miči %smm") #define MSG_MOVE_01MM _UxGT("Miči 0.1mm") #define MSG_MOVE_1MM _UxGT("Miči 1mm") @@ -81,57 +81,57 @@ #define MSG_NOZZLE _UxGT("Dizna") #define MSG_BED _UxGT("Bed") #define MSG_FAN_SPEED _UxGT("Brzina ventilatora") -#define MSG_FLOW _UxGT("Flow") -#define MSG_CONTROL _UxGT("Control") -#define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min") -#define MSG_MAX _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Max") -#define MSG_FACTOR _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Fact") -#define MSG_AUTOTEMP _UxGT("Autotemp") -#define MSG_LCD_ON _UxGT("On") -#define MSG_LCD_OFF _UxGT("Off") -#define MSG_PID_P _UxGT("PID-P") -#define MSG_PID_I _UxGT("PID-I") -#define MSG_PID_D _UxGT("PID-D") -#define MSG_PID_C _UxGT("PID-C") +//#define MSG_FLOW _UxGT("Flow") +//#define MSG_CONTROL _UxGT("Control") +//#define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min") +//#define MSG_MAX _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Max") +//#define MSG_FACTOR _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Fact") +//#define MSG_AUTOTEMP _UxGT("Autotemp") +//#define MSG_LCD_ON _UxGT("On") +//#define MSG_LCD_OFF _UxGT("Off") +//#define MSG_PID_P _UxGT("PID-P") +//#define MSG_PID_I _UxGT("PID-I") +//#define MSG_PID_D _UxGT("PID-D") +//#define MSG_PID_C _UxGT("PID-C") #define MSG_SELECT _UxGT("Odaberi") -#define MSG_ACC _UxGT("Accel") -#define MSG_JERK _UxGT("Jerk") -#if IS_KINEMATIC - #define MSG_VA_JERK _UxGT("Va-jerk") - #define MSG_VB_JERK _UxGT("Vb-jerk") - #define MSG_VC_JERK _UxGT("Vc-jerk") -#else - #define MSG_VA_JERK _UxGT("Vx-jerk") - #define MSG_VB_JERK _UxGT("Vy-jerk") - #define MSG_VC_JERK _UxGT("Vz-jerk") -#endif -#define MSG_VE_JERK _UxGT("Ve-jerk") -#define MSG_VMAX _UxGT("Vmax ") -#define MSG_VMIN _UxGT("Vmin") -#define MSG_VTRAV_MIN _UxGT("VTrav min") -#define MSG_AMAX _UxGT("Amax ") -#define MSG_A_RETRACT _UxGT("A-retract") -#define MSG_A_TRAVEL _UxGT("A-travel") -#define MSG_STEPS_PER_MM _UxGT("Steps/mm") -#if IS_KINEMATIC - #define MSG_ASTEPS _UxGT("Asteps/mm") - #define MSG_BSTEPS _UxGT("Bsteps/mm") - #define MSG_CSTEPS _UxGT("Csteps/mm") -#else - #define MSG_ASTEPS _UxGT("Xsteps/mm") - #define MSG_BSTEPS _UxGT("Ysteps/mm") - #define MSG_CSTEPS _UxGT("Zsteps/mm") -#endif -#define MSG_ESTEPS _UxGT("Esteps/mm") -#define MSG_E1STEPS _UxGT("E1steps/mm") -#define MSG_E2STEPS _UxGT("E2steps/mm") -#define MSG_E3STEPS _UxGT("E3steps/mm") -#define MSG_E4STEPS _UxGT("E4steps/mm") -#define MSG_E5STEPS _UxGT("E5steps/mm") -#define MSG_E6STEPS _UxGT("E6steps/mm") +//#define MSG_ACC _UxGT("Accel") +//#define MSG_JERK _UxGT("Jerk") +//#if IS_KINEMATIC +// #define MSG_VA_JERK _UxGT("Va-jerk") +// #define MSG_VB_JERK _UxGT("Vb-jerk") +// #define MSG_VC_JERK _UxGT("Vc-jerk") +//#else +// #define MSG_VA_JERK _UxGT("Vx-jerk") +// #define MSG_VB_JERK _UxGT("Vy-jerk") +// #define MSG_VC_JERK _UxGT("Vz-jerk") +//#endif +//#define MSG_VE_JERK _UxGT("Ve-jerk") +//#define MSG_VMAX _UxGT("Vmax ") +//#define MSG_VMIN _UxGT("Vmin") +//#define MSG_VTRAV_MIN _UxGT("VTrav min") +//#define MSG_AMAX _UxGT("Amax ") +//#define MSG_A_RETRACT _UxGT("A-retract") +//#define MSG_A_TRAVEL _UxGT("A-travel") +//#define MSG_STEPS_PER_MM _UxGT("Steps/mm") +//#if IS_KINEMATIC +// #define MSG_ASTEPS _UxGT("Asteps/mm") +// #define MSG_BSTEPS _UxGT("Bsteps/mm") +// #define MSG_CSTEPS _UxGT("Csteps/mm") +//#else +// #define MSG_ASTEPS _UxGT("Xsteps/mm") +// #define MSG_BSTEPS _UxGT("Ysteps/mm") +// #define MSG_CSTEPS _UxGT("Zsteps/mm") +//#endif +//#define MSG_ESTEPS _UxGT("Esteps/mm") +//#define MSG_E1STEPS _UxGT("E1steps/mm") +//#define MSG_E2STEPS _UxGT("E2steps/mm") +//#define MSG_E3STEPS _UxGT("E3steps/mm") +//#define MSG_E4STEPS _UxGT("E4steps/mm") +//#define MSG_E5STEPS _UxGT("E5steps/mm") +//#define MSG_E6STEPS _UxGT("E6steps/mm") #define MSG_TEMPERATURE _UxGT("Temperature") #define MSG_MOTION _UxGT("Gibanje") -#define MSG_FILAMENT _UxGT("Filament") +//#define MSG_FILAMENT _UxGT("Filament") #define MSG_VOLUMETRIC_ENABLED _UxGT("E in mm3") #define MSG_FILAMENT_DIAM _UxGT("Fil. Dia.") #define MSG_CONTRAST _UxGT("Kontrast LCD-a") @@ -141,52 +141,51 @@ #define MSG_REFRESH _UxGT("Osvježi") #define MSG_WATCH _UxGT("Info screen") #define MSG_PREPARE _UxGT("Pripremi") -#define MSG_TUNE _UxGT("Tune") +//#define MSG_TUNE _UxGT("Tune") #define MSG_PAUSE_PRINT _UxGT("Pauziraj print") #define MSG_RESUME_PRINT _UxGT("Nastavi print") #define MSG_STOP_PRINT _UxGT("Zaustavi print") #define MSG_MEDIA_MENU _UxGT("Printaj s SD kartice") #define MSG_NO_MEDIA _UxGT("Nema SD kartice") -#define MSG_DWELL _UxGT("Sleep...") +//#define MSG_DWELL _UxGT("Sleep...") #define MSG_USERWAIT _UxGT("Čekaj korisnika...") #define MSG_PRINT_ABORTED _UxGT("Print otkazan") -#define MSG_NO_MOVE _UxGT("No move.") -#define MSG_KILLED _UxGT("KILLED. ") +//#define MSG_NO_MOVE _UxGT("No move.") +//#define MSG_KILLED _UxGT("KILLED. ") #define MSG_STOPPED _UxGT("ZAUSTAVLJEN. ") -#define MSG_CONTROL_RETRACT _UxGT("Retract mm") -#define MSG_CONTROL_RETRACT_SWAP _UxGT("Swap Re.mm") -#define MSG_CONTROL_RETRACTF _UxGT("Retract V") -#define MSG_CONTROL_RETRACT_ZHOP _UxGT("Hop mm") -#define MSG_CONTROL_RETRACT_RECOVER _UxGT("UnRet mm") -#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("S UnRet mm") -#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V") -#define MSG_AUTORETRACT _UxGT("AutoRetr.") +//#define MSG_CONTROL_RETRACT _UxGT("Retract mm") +//#define MSG_CONTROL_RETRACT_SWAP _UxGT("Swap Re.mm") +//#define MSG_CONTROL_RETRACTF _UxGT("Retract V") +//#define MSG_CONTROL_RETRACT_ZHOP _UxGT("Hop mm") +//#define MSG_CONTROL_RETRACT_RECOVER _UxGT("UnRet mm") +//#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("S UnRet mm") +//#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V") +//#define MSG_AUTORETRACT _UxGT("AutoRetr.") #define MSG_FILAMENTCHANGE _UxGT("Promijeni filament") #define MSG_INIT_MEDIA _UxGT("Init. SD karticu") #define MSG_CHANGE_MEDIA _UxGT("Promijeni SD karticu") -#define MSG_ZPROBE_OUT _UxGT("Z probe out. bed") -#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test") -#define MSG_BLTOUCH_RESET _UxGT("Reset BLTouch") -#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("first") -#define MSG_zprobe_zoffset _UxGT("Z Offset") -#define MSG_BABYSTEP_X _UxGT("Babystep X") -#define MSG_BABYSTEP_Y _UxGT("Babystep Y") -#define MSG_BABYSTEP_Z _UxGT("Babystep Z") -#define MSG_ENDSTOP_ABORT _UxGT("Endstop abort") +//#define MSG_ZPROBE_OUT _UxGT("Z probe out. bed") +//#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test") +//#define MSG_BLTOUCH_RESET _UxGT("Reset BLTouch") +//#define MSG_HOME_FIRST _UxGT("Home %s%s%s first") +//#define MSG_ZPROBE_ZOFFSET _UxGT("Z Offset") +//#define MSG_BABYSTEP_X _UxGT("Babystep X") +//#define MSG_BABYSTEP_Y _UxGT("Babystep Y") +//#define MSG_BABYSTEP_Z _UxGT("Babystep Z") +//#define MSG_ENDSTOP_ABORT _UxGT("Endstop abort") #define MSG_HEATING_FAILED_LCD _UxGT("Grijanje neuspješno") -#define MSG_ERR_REDUNDANT_TEMP _UxGT("Err: REDUNDANT TEMP") -#define MSG_THERMAL_RUNAWAY _UxGT("THERMAL RUNAWAY") -#define MSG_ERR_MAXTEMP _UxGT("Err: MAXTEMP") -#define MSG_ERR_MINTEMP _UxGT("Err: MINTEMP") -#define MSG_ERR_MAXTEMP_BED _UxGT("Err: MAXTEMP BED") -#define MSG_ERR_MINTEMP_BED _UxGT("Err: MINTEMP BED") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST -#define MSG_HALTED _UxGT("PRINTER HALTED") -#define MSG_PLEASE_RESET _UxGT("Please reset") -#define MSG_SHORT_DAY _UxGT("d") // One character only -#define MSG_SHORT_HOUR _UxGT("h") // One character only -#define MSG_SHORT_MINUTE _UxGT("m") // One character only +//#define MSG_ERR_REDUNDANT_TEMP _UxGT("Err: REDUNDANT TEMP") +//#define MSG_THERMAL_RUNAWAY _UxGT("THERMAL RUNAWAY") +//#define MSG_ERR_MAXTEMP _UxGT("Err: MAXTEMP") +//#define MSG_ERR_MINTEMP _UxGT("Err: MINTEMP") +//#define MSG_ERR_MAXTEMP_BED _UxGT("Err: MAXTEMP BED") +//#define MSG_ERR_MINTEMP_BED _UxGT("Err: MINTEMP BED") +//#define MSG_ERR_Z_HOMING _UxGT("Home XY first") +//#define MSG_HALTED _UxGT("PRINTER HALTED") +//#define MSG_PLEASE_RESET _UxGT("Please reset") +//#define MSG_SHORT_DAY _UxGT("d") // One character only +//#define MSG_SHORT_HOUR _UxGT("h") // One character only +//#define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("Grijanje...") #define MSG_BED_HEATING _UxGT("Grijanje Bed-a...") #define MSG_DELTA_CALIBRATE _UxGT("Delta Kalibracija") @@ -220,34 +219,34 @@ #define MSG_INFO_PRINT_FILAMENT _UxGT("Extrudirano") #endif -#define MSG_INFO_MIN_TEMP _UxGT("Min Temp") -#define MSG_INFO_MAX_TEMP _UxGT("Max Temp") +//#define MSG_INFO_MIN_TEMP _UxGT("Min Temp") +//#define MSG_INFO_MAX_TEMP _UxGT("Max Temp") #define MSG_INFO_PSU _UxGT("Napajanje") -#define MSG_DRIVE_STRENGTH _UxGT("Drive Strength") -#define MSG_DAC_PERCENT _UxGT("Driver %") -#define MSG_DAC_EEPROM_WRITE _UxGT("DAC EEPROM Write") +//#define MSG_DRIVE_STRENGTH _UxGT("Drive Strength") +//#define MSG_DAC_PERCENT _UxGT("Driver %") +//#define MSG_DAC_EEPROM_WRITE _UxGT("DAC EEPROM Write") #define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Nastavi print") #if LCD_HEIGHT >= 4 // Up to 3 lines allowed - #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Čekaj početak") - #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("filamenta") - #define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("promijeni") - #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Čekaj") - #define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("filament unload") - #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Umetni filament") - #define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("i pritisni tipku") - #define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("za nastavak...") - #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Pričekaj") - #define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("filament load") - #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wait for print") - #define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("to resume") + #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Čekaj početak") + #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("filamenta") + #define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("promijeni") + #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Čekaj") + #define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("filament unload") + #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Umetni filament") + #define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("i pritisni tipku") + #define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("za nastavak...") + #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Pričekaj") + #define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("filament load") + //#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wait for print") + //#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("to resume") #else // LCD_HEIGHT < 4 // Up to 2 lines allowed - #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Pričekaj...") - #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Ejecting...") - #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insert and Click") - #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Loading...") - #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Nastavljam...") + #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Pričekaj...") + //#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Ejecting...") + //#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insert and Click") + //#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Loading...") + #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Nastavljam...") #endif // LCD_HEIGHT < 4 diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 3b57b16bc6..976460d2f2 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -35,9 +35,14 @@ #define MSG_YES _UxGT("SI") #define MSG_NO _UxGT("NO") #define MSG_BACK _UxGT("Indietro") +#define MSG_MEDIA_ABORTING _UxGT("Annullando...") #define MSG_MEDIA_INSERTED _UxGT("Media inserito") #define MSG_MEDIA_REMOVED _UxGT("Media rimosso") #define MSG_MEDIA_RELEASED _UxGT("Media rilasciato") +#define MSG_MEDIA_WAITING _UxGT("Aspettando media") +#define MSG_MEDIA_READ_ERROR _UxGT("Err.leggendo media") +#define MSG_MEDIA_USB_REMOVED _UxGT("Dispos.USB rimosso") +#define MSG_MEDIA_USB_FAILED _UxGT("Avvio USB fallito") #define MSG_LCD_ENDSTOPS _UxGT("Finecor.") // Max 8 caratteri #define MSG_LCD_SOFT_ENDSTOPS _UxGT("Finecorsa Soft") #define MSG_MAIN _UxGT("Menu principale") @@ -92,6 +97,7 @@ #define MSG_LEVEL_BED MSG_BED_LEVELING #define MSG_LEVEL_CORNERS _UxGT("Livella spigoli") #define MSG_NEXT_CORNER _UxGT("Prossimo spigolo") +#define MSG_MESH_EDITOR _UxGT("Editor Mesh") #define MSG_EDIT_MESH _UxGT("Modifica Mesh") #define MSG_EDITING_STOPPED _UxGT("Modif. Mesh Fermata") #define MSG_PROBING_MESH _UxGT("Punto sondato") @@ -113,7 +119,6 @@ #define MSG_Y_OFFSET _UxGT("2° ugello Y") #define MSG_Z_OFFSET _UxGT("2° ugello Z") #define MSG_UBL_DOING_G29 _UxGT("G29 in corso") -#define MSG_UBL_UNHOMED _UxGT("Home XYZ prima") #define MSG_UBL_TOOLS _UxGT("Strumenti UBL") #define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling") #define MSG_UBL_MANUAL_MESH _UxGT("Mesh Manuale") @@ -141,6 +146,13 @@ #define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Valida Mesh") #define MSG_UBL_VALIDATE_MESH_M1 _UxGT("Valida Mesh " PREHEAT_1_LABEL) #define MSG_UBL_VALIDATE_MESH_M2 _UxGT("Valida Mesh " PREHEAT_2_LABEL) +#define MSG_G26_HEATING_BED _UxGT("G26 riscald.letto") +#define MSG_G26_HEATING_NOZZLE _UxGT("G26 riscald.ugello") +#define MSG_G26_MANUAL_PRIME _UxGT("Priming manuale...") +#define MSG_G26_FIXED_LENGTH _UxGT("Prime a lung.fissa") +#define MSG_G26_PRIME_DONE _UxGT("Priming terminato") +#define MSG_G26_CANCELED _UxGT("G26 Annullato") +#define MSG_G26_LEAVING _UxGT("Uscita da G26") #define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Valida Mesh pers.") #define MSG_UBL_CONTINUE_MESH _UxGT("Continua Mesh") #define MSG_UBL_MESH_LEVELING _UxGT("Livell. Mesh") @@ -171,6 +183,7 @@ #define MSG_UBL_NO_STORAGE _UxGT("Nessuna memoria") #define MSG_UBL_SAVE_ERROR _UxGT("Err: Salvataggio UBL") #define MSG_UBL_RESTORE_ERROR _UxGT("Err: Ripristino UBL") +#define MSG_UBL_Z_OFFSET _UxGT("Z-Offset: ") #define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Z-Offset Fermato") #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL passo passo") @@ -348,9 +361,8 @@ #define MSG_MANUAL_DEPLOY _UxGT("Estendi Sonda-Z") #define MSG_BLTOUCH_STOW _UxGT("Ritrai BLTouch") #define MSG_MANUAL_STOW _UxGT("Ritrai Sonda-Z") -#define MSG_HOME _UxGT("Home") // Usato come MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("prima") -#define MSG_zprobe_zoffset _UxGT("Offset sonda Z") +#define MSG_HOME_FIRST _UxGT("Home %s%s%s prima") +#define MSG_ZPROBE_ZOFFSET _UxGT("Offset sonda Z") #define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Z _UxGT("Babystep Z") @@ -369,7 +381,7 @@ #define MSG_ERR_MINTEMP_BED _UxGT("Err: TEMP MIN PIATTO") #define MSG_ERR_MAXTEMP_CHAMBER _UxGT("Err: TEMP MAX CAMERA") #define MSG_ERR_MINTEMP_CHAMBER _UxGT("Err: TEMP MIN CAMERA") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Home XY prima") #define MSG_HALTED _UxGT("STAMPANTE FERMATA") #define MSG_PLEASE_RESET _UxGT("Riavviare prego") #define MSG_SHORT_DAY _UxGT("g") // Un solo carattere @@ -426,6 +438,7 @@ #define MSG_INFO_PSU _UxGT("Alimentatore") #define MSG_DRIVE_STRENGTH _UxGT("Potenza Drive") #define MSG_DAC_PERCENT _UxGT("Driver %") +#define MSG_ERROR_TMC _UxGT("ERR.CONNESSIONE TMC") #define MSG_DAC_EEPROM_WRITE _UxGT("Scrivi DAC EEPROM") #define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("STAMPA IN PAUSA") #define MSG_FILAMENT_CHANGE_HEADER_LOAD _UxGT("CARICA FILAMENTO") diff --git a/Marlin/src/lcd/language/language_jp-kana.h b/Marlin/src/lcd/language/language_jp-kana.h index 3912f14477..1898ab01d6 100644 --- a/Marlin/src/lcd/language/language_jp-kana.h +++ b/Marlin/src/lcd/language/language_jp-kana.h @@ -161,9 +161,8 @@ #define MSG_ZPROBE_OUT _UxGT("Zプローブ ベッドガイ") // "Z probe out. bed" #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch ジコシンダン") // "BLTouch Self-Test" #define MSG_BLTOUCH_RESET _UxGT("BLTouch リセット") // "Reset BLTouch" -#define MSG_HOME _UxGT("サキニ") // "Home" // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("ヲフッキサセテクダサイ") // "first" -#define MSG_zprobe_zoffset _UxGT("Zオフセット") // "Z Offset" +#define MSG_HOME_FIRST _UxGT("サキニ %s%s%s ヲフッキサセテクダサイ") // "Home ... first" +#define MSG_ZPROBE_ZOFFSET _UxGT("Zオフセット") // "Z Offset" #define MSG_BABYSTEP_X _UxGT("Xジク ビドウ") // "Babystep X" #define MSG_BABYSTEP_Y _UxGT("Yジク ビドウ") // "Babystep Y" #define MSG_BABYSTEP_Z _UxGT("Zジク ビドウ") // "Babystep Z" @@ -175,7 +174,7 @@ #define MSG_ERR_MINTEMP _UxGT("エラー:サイテイオンミマン") // "Err: MINTEMP" #define MSG_ERR_MAXTEMP_BED _UxGT("エラー:ベッド サイコウオンチョウカ") // "Err: MAXTEMP BED" #define MSG_ERR_MINTEMP_BED _UxGT("エラー:ベッド サイテイオンミマン") // "Err: MINTEMP BED" -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST // "Home XY first" +#define MSG_ERR_Z_HOMING _UxGT("サキニ XY ヲフッキサセテクダサイ") // "Home XY first" #define MSG_HALTED _UxGT("プリンターハテイシシマシタ") // "PRINTER HALTED" #define MSG_PLEASE_RESET _UxGT("リセットシテクダサイ") // "Please reset" #define MSG_SHORT_DAY _UxGT("d") // One character only diff --git a/Marlin/src/lcd/language/language_ko_KR.h b/Marlin/src/lcd/language/language_ko_KR.h index 6a4b0812c9..20e35af58b 100644 --- a/Marlin/src/lcd/language/language_ko_KR.h +++ b/Marlin/src/lcd/language/language_ko_KR.h @@ -91,7 +91,6 @@ //#define MSG_Y_OFFSET _UxGT("2nd nozzle Y") //#define MSG_Z_OFFSET _UxGT("2nd nozzle Z") #define MSG_UBL_DOING_G29 _UxGT("오토레벨링 하기") -//#define MSG_UBL_UNHOMED _UxGT("Home XYZ first") //#define MSG_UBL_TOOLS _UxGT("UBL Tools") //#define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling") //#define MSG_UBL_MANUAL_MESH _UxGT("Manually Build Mesh") @@ -293,9 +292,8 @@ //#define MSG_BLTOUCH_STOW _UxGT("Stow BLTouch") //#define MSG_MANUAL_DEPLOY _UxGT("Deploy Z-Probe") //#define MSG_MANUAL_STOW _UxGT("Stow Z-Probe") -//#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -//#define MSG_FIRST _UxGT("first") -//#define MSG_zprobe_zoffset _UxGT("Probe Z Offset") +//#define MSG_HOME_FIRST _UxGT("Home %s%s%s first") +//#define MSG_ZPROBE_ZOFFSET _UxGT("Probe Z Offset") //#define MSG_BABYSTEP_X _UxGT("Babystep X") //#define MSG_BABYSTEP_Y _UxGT("Babystep Y") //#define MSG_BABYSTEP_Z _UxGT("Babystep Z") @@ -309,7 +307,7 @@ //#define MSG_ERR_MINTEMP _UxGT("Err: MINTEMP") //#define MSG_ERR_MAXTEMP_BED _UxGT("Err: MAXTEMP BED") //#define MSG_ERR_MINTEMP_BED _UxGT("Err: MINTEMP BED") -//#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +//#define MSG_ERR_Z_HOMING _UxGT("Home XY first") //#define MSG_HALTED _UxGT("PRINTER HALTED") //#define MSG_PLEASE_RESET _UxGT("Please reset") //#define MSG_SHORT_DAY _UxGT("d") // One character only diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h index 99578487ad..483b242501 100644 --- a/Marlin/src/lcd/language/language_nl.h +++ b/Marlin/src/lcd/language/language_nl.h @@ -176,9 +176,8 @@ #define MSG_ZPROBE_OUT _UxGT("Z probe uit. bed") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Zelf-Test") #define MSG_BLTOUCH_RESET _UxGT("Reset BLTouch") -#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("Eerst") -#define MSG_zprobe_zoffset _UxGT("Z Offset") //accepted English term in Dutch +#define MSG_HOME_FIRST _UxGT("Home %s%s%s Eerst") +#define MSG_ZPROBE_ZOFFSET _UxGT("Z Offset") //accepted English term in Dutch #define MSG_BABYSTEP_X _UxGT("Babystap X") #define MSG_BABYSTEP_Y _UxGT("Babystap Y") #define MSG_BABYSTEP_Z _UxGT("Babystap Z") @@ -190,7 +189,7 @@ #define MSG_ERR_MINTEMP _UxGT("Err: Min. temp") #define MSG_ERR_MAXTEMP_BED _UxGT("Err: Max.tmp bed") #define MSG_ERR_MINTEMP_BED _UxGT("Err: Min.tmp bed") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Home XY Eerst") #define MSG_HALTED _UxGT("PRINTER GESTOPT") #define MSG_PLEASE_RESET _UxGT("Reset A.U.B.") #define MSG_SHORT_DAY _UxGT("d") // One character only. Keep English standard diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h index 853088acb3..97924a7024 100644 --- a/Marlin/src/lcd/language/language_pl.h +++ b/Marlin/src/lcd/language/language_pl.h @@ -166,9 +166,8 @@ #define MSG_ZPROBE_OUT _UxGT("Sonda Z za stołem") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test") #define MSG_BLTOUCH_RESET _UxGT("Reset BLTouch") -#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("first") -#define MSG_zprobe_zoffset _UxGT("Offset Z") +#define MSG_HOME_FIRST _UxGT("Home %s%s%s first") +#define MSG_ZPROBE_ZOFFSET _UxGT("Offset Z") #define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Z _UxGT("Babystep Z") @@ -180,7 +179,7 @@ #define MSG_ERR_MINTEMP _UxGT("Err min temp") #define MSG_ERR_MAXTEMP_BED _UxGT("Err max temp stołu") #define MSG_ERR_MINTEMP_BED _UxGT("Err min temp stołu") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Home XY first") #define MSG_HALTED _UxGT("Drukarka zatrzym.") #define MSG_PLEASE_RESET _UxGT("Proszę zresetować") #define MSG_SHORT_DAY _UxGT("d") // One character only diff --git a/Marlin/src/lcd/language/language_pt-br.h b/Marlin/src/lcd/language/language_pt-br.h index 55f81fbbc4..d78bd5a138 100644 --- a/Marlin/src/lcd/language/language_pt-br.h +++ b/Marlin/src/lcd/language/language_pt-br.h @@ -102,7 +102,6 @@ #define MSG_Z_OFFSET _UxGT("2o bico Z") #define MSG_UBL_DOING_G29 _UxGT("Executando G29") -#define MSG_UBL_UNHOMED _UxGT("Fora da Origam") #define MSG_UBL_TOOLS _UxGT("Ferramentas UBL") #define MSG_UBL_LEVEL_BED _UxGT("Nivel. Mesa Unif.") #define MSG_UBL_MANUAL_MESH _UxGT("Fazer malha manual") @@ -311,9 +310,8 @@ #define MSG_MANUAL_DEPLOY _UxGT("Estender Sonda-Z") #define MSG_MANUAL_STOW _UxGT("Recolher Sonda-Z") -#define MSG_HOME _UxGT("Home") -#define MSG_FIRST _UxGT("Primeiro") -#define MSG_zprobe_zoffset _UxGT("Compensar Sonda em Z") +#define MSG_HOME_FIRST _UxGT("Home %s%s%s Primeiro") +#define MSG_ZPROBE_ZOFFSET _UxGT("Compensar Sonda em Z") #define MSG_BABYSTEP_X _UxGT("Passinho X") #define MSG_BABYSTEP_Y _UxGT("Passinho Y") #define MSG_BABYSTEP_Z _UxGT("Passinho Z") @@ -327,7 +325,7 @@ #define MSG_ERR_MINTEMP _UxGT("Erro:Temp Mínima") #define MSG_ERR_MAXTEMP_BED _UxGT("Erro:Temp Mesa Máx") #define MSG_ERR_MINTEMP_BED _UxGT("Erro:Temp Mesa Mín") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Home XY Primeiro") #define MSG_HALTED _UxGT("IMPRESSORA PAROU") #define MSG_PLEASE_RESET _UxGT("Favor resetar") #define MSG_SHORT_DAY _UxGT("d") diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h index 134b0e926a..9fde8f89ba 100644 --- a/Marlin/src/lcd/language/language_pt.h +++ b/Marlin/src/lcd/language/language_pt.h @@ -162,9 +162,8 @@ #define MSG_INIT_MEDIA _UxGT("Inici. cartão SD") #define MSG_CHANGE_MEDIA _UxGT("Trocar cartão SD") #define MSG_ZPROBE_OUT _UxGT("Sensor fora/base") -#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("first") -#define MSG_zprobe_zoffset _UxGT("Desvio Z") +#define MSG_HOME_FIRST _UxGT("Home %s%s%s first") +#define MSG_ZPROBE_ZOFFSET _UxGT("Desvio Z") #define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Z _UxGT("Babystep Z") diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h index 52ba91dba7..e825dbe7d0 100644 --- a/Marlin/src/lcd/language/language_ru.h +++ b/Marlin/src/lcd/language/language_ru.h @@ -96,7 +96,6 @@ #define MSG_Z_OFFSET _UxGT("2-е сопло Z") #define MSG_UBL_DOING_G29 _UxGT("Выполняем G29") -#define MSG_UBL_UNHOMED _UxGT("Паркуем сначала XYZ") #define MSG_UBL_TOOLS _UxGT("Утилиты UBL") #define MSG_UBL_LEVEL_BED _UxGT("Калибровка UBL") #define MSG_UBL_MANUAL_MESH _UxGT("Постр. сетку от руки") @@ -316,9 +315,8 @@ // TODO: TouchMI Probe, Manual deploy/stow -#define MSG_HOME _UxGT("Паркуй") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("сначала") -#define MSG_zprobe_zoffset _UxGT("Смещение Z") +#define MSG_HOME_FIRST _UxGT("Паркуй %s%s%s сначала") +#define MSG_ZPROBE_ZOFFSET _UxGT("Смещение Z") #define MSG_BABYSTEP_X _UxGT("Микрошаг X") #define MSG_BABYSTEP_Y _UxGT("Микрошаг Y") #define MSG_BABYSTEP_Z _UxGT("Микрошаг Z") @@ -334,7 +332,7 @@ #define MSG_ERR_MAXTEMP_BED _UxGT("Ошибка: Т стола макс") #define MSG_ERR_MINTEMP_BED _UxGT("Ошибка: Т стола мин.") // TODO: Heated chamber -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Паркуй XY сначала") #define MSG_HALTED _UxGT("ПРИНТЕР ОСТАНОВЛЕН") #define MSG_PLEASE_RESET _UxGT("Сделайте сброс") #define MSG_SHORT_DAY _UxGT("д") // One character only diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h index 94587c9834..8897ff2310 100644 --- a/Marlin/src/lcd/language/language_sk.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -120,7 +120,6 @@ #define MSG_Y_OFFSET _UxGT("2. tryska Y") #define MSG_Z_OFFSET _UxGT("2. tryska Z") #define MSG_UBL_DOING_G29 _UxGT("Vykonávam G29") -#define MSG_UBL_UNHOMED _UxGT("Prejdite domov") #define MSG_UBL_TOOLS _UxGT("Nástroje UBL") #define MSG_UBL_LEVEL_BED _UxGT("UBL rovnanie") #define MSG_LCD_TILTING_MESH _UxGT("Vyrovnávam bod") @@ -357,9 +356,8 @@ #define MSG_MANUAL_DEPLOY_TOUCHMI _UxGT("Zasunúť TouchMI") #define MSG_MANUAL_DEPLOY _UxGT("Zasunúť sondu Z") #define MSG_MANUAL_STOW _UxGT("Vysunúť sondu Z") -#define MSG_HOME _UxGT("Najskôr os") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("domov") -#define MSG_zprobe_zoffset _UxGT("Ofset sondy Z") +#define MSG_HOME_FIRST _UxGT("Najskôr os %s%s%s domov") +#define MSG_ZPROBE_ZOFFSET _UxGT("Ofset sondy Z") #define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Z _UxGT("Babystep Z") @@ -378,7 +376,7 @@ #define MSG_ERR_MINTEMP_BED _UxGT("Chyba: MINTEMP PODL.") #define MSG_ERR_MAXTEMP_CHAMBER _UxGT("Chyba: MAXTEMP KOMO.") #define MSG_ERR_MINTEMP_CHAMBER _UxGT("Chyba: MINTEMP KOMO.") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Najskôr os XY domov") #define MSG_HALTED _UxGT("TLAČIAREŇ ZASTAVENÁ") #define MSG_PLEASE_RESET _UxGT("Reštartuje ju") #define MSG_SHORT_DAY _UxGT("d") diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index ac0a83c7f1..3e025934a7 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -101,7 +101,6 @@ #define MSG_Y_OFFSET _UxGT("2. nozul Y") #define MSG_Z_OFFSET _UxGT("2. nozul Z") #define MSG_UBL_DOING_G29 _UxGT("G29 Çalışıyor") -#define MSG_UBL_UNHOMED _UxGT("Ilk XYZ Sıfırla") #define MSG_UBL_TOOLS _UxGT("UBL Araçları") #define MSG_UBL_LEVEL_BED _UxGT("UBL Yatak Hizalama") #define MSG_UBL_MANUAL_MESH _UxGT("Elle Mesh Oluştur") @@ -309,9 +308,8 @@ #define MSG_BLTOUCH_STOW _UxGT("BLTouch Kapat") #define MSG_MANUAL_DEPLOY _UxGT("Z-Prob Aç") #define MSG_MANUAL_STOW _UxGT("Z-Sensör Kapat") -#define MSG_HOME _UxGT("Sıfırla") -#define MSG_FIRST _UxGT("Önce") -#define MSG_zprobe_zoffset _UxGT("Z Offset") +#define MSG_HOME_FIRST _UxGT("Sıfırla %s%s%s Önce") +#define MSG_ZPROBE_ZOFFSET _UxGT("Z Offset") #define MSG_BABYSTEP_X _UxGT("Miniadım X") #define MSG_BABYSTEP_Y _UxGT("Miniadım Y") #define MSG_BABYSTEP_Z _UxGT("Miniadım Z") diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h index d00897e4ee..b358743be6 100644 --- a/Marlin/src/lcd/language/language_uk.h +++ b/Marlin/src/lcd/language/language_uk.h @@ -159,16 +159,15 @@ #define MSG_ZPROBE_OUT _UxGT("Z дет. не в межах") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Само-Тест") #define MSG_BLTOUCH_RESET _UxGT("Скинути BLTouch") -#define MSG_HOME _UxGT("Дім") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("перший") -#define MSG_zprobe_zoffset _UxGT("Зміщення Z") +#define MSG_HOME_FIRST _UxGT("Дім %s%s%s перший") +#define MSG_ZPROBE_ZOFFSET _UxGT("Зміщення Z") #define MSG_BABYSTEP_X _UxGT("Мікрокрок X") #define MSG_BABYSTEP_Y _UxGT("Мікрокрок Y") #define MSG_BABYSTEP_Z _UxGT("Мікрокрок Z") #define MSG_ENDSTOP_ABORT _UxGT("невдача кінцевика") #define MSG_HEATING_FAILED_LCD _UxGT("Невдалий нагрів") #define MSG_THERMAL_RUNAWAY _UxGT("ЗБІЙ ТЕМПЕРАТУРИ") -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Дім XY перший") #define MSG_HALTED _UxGT("ПРИНТЕР ЗУПИНЕНО") #define MSG_PLEASE_RESET _UxGT("Перезавантажте") #define MSG_SHORT_DAY _UxGT("д") // One character only diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h index 92e6ceb6d3..3b8885e707 100644 --- a/Marlin/src/lcd/language/language_vi.h +++ b/Marlin/src/lcd/language/language_vi.h @@ -88,7 +88,6 @@ #define MSG_MESH_EDIT_Z _UxGT("Giá trị Z") // Z Value #define MSG_USER_MENU _UxGT("Các lệnh tự chọn") // Custom Commands #define MSG_UBL_DOING_G29 _UxGT("Đang chạy G29") // Doing G29 -#define MSG_UBL_UNHOMED _UxGT("Về nhà XYZ trước") #define MSG_UBL_TOOLS _UxGT("Công cụ UBL") // UBL tools #define MSG_UBL_LEVEL_BED _UxGT("San Lấp Bàn Thống Nhất (UBL)") // Unified Bed Leveling #define MSG_IDEX_MENU _UxGT("chế độ IDEX") // IDEX Mode @@ -307,9 +306,8 @@ #define MSG_BLTOUCH_STOW _UxGT("Cất BLTouch") // Stow BLTouch #define MSG_MANUAL_DEPLOY _UxGT("Đem Đầu Dò-Z") // Deploy Z-Probe #define MSG_MANUAL_STOW _UxGT("Cất Đầu Dò-Z") // Stow Z-Probe -#define MSG_HOME _UxGT("Về nhà") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("Trước") -#define MSG_zprobe_zoffset _UxGT("Đầu Dò Bù Đắp Z") // Probe Z Offset +#define MSG_HOME_FIRST _UxGT("Về nhà %s%s%s Trước") +#define MSG_ZPROBE_ZOFFSET _UxGT("Đầu Dò Bù Đắp Z") // Probe Z Offset #define MSG_BABYSTEP_X _UxGT("Nhít X") // Babystep X #define MSG_BABYSTEP_Y _UxGT("Nhít Y") #define MSG_BABYSTEP_Z _UxGT("Nhít Z") @@ -323,7 +321,7 @@ #define MSG_ERR_MINTEMP _UxGT("Điều sai: nhiệt độ tối thiểu") // Err: MINTEMP #define MSG_ERR_MAXTEMP_BED _UxGT("Điều sai: nhiệt độ bàn tối đa") // Err: MAXTEMP BED #define MSG_ERR_MINTEMP_BED _UxGT("Điều sai: nhiệt độ bàn tối thiểu") // Err: MINTEMP BED -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("Về nhà XY Trước") // Home XY First #define MSG_HALTED _UxGT("MÁY IN Đà DỪNG LẠI") // PRINTER HALTED #define MSG_PLEASE_RESET _UxGT("Xin bặt lại") // Please reset #define MSG_SHORT_DAY _UxGT("n") // d - ngày - One character only diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h index 6650c47814..a87f469a0e 100644 --- a/Marlin/src/lcd/language/language_zh_CN.h +++ b/Marlin/src/lcd/language/language_zh_CN.h @@ -79,7 +79,6 @@ #define MSG_USER_MENU _UxGT("定制命令") // "Custom Commands" #define MSG_UBL_DOING_G29 _UxGT("执行G29") // "Doing G29" -#define MSG_UBL_UNHOMED _UxGT("先回XYZ原点") // "Home XYZ first" #define MSG_UBL_TOOLS _UxGT("UBL工具") // "UBL Tools" #define MSG_UBL_LEVEL_BED _UxGT("统一热床调平(UBL)") // "Unified Bed Leveling" #define MSG_UBL_MANUAL_MESH _UxGT("手工创设网格") // "Manually Build Mesh" @@ -274,9 +273,8 @@ #define MSG_BLTOUCH_RESET _UxGT("重置BLTouch") // "Reset BLTouch" #define MSG_BLTOUCH_DEPLOY _UxGT("部署BLTouch") // "Deploy BLTouch" #define MSG_BLTOUCH_STOW _UxGT("装载BLTouch") // "Stow BLTouch" -#define MSG_HOME _UxGT("归位") //"Home" // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("先") //"first" -#define MSG_zprobe_zoffset _UxGT("Z偏移") //"Z Offset" +#define MSG_HOME_FIRST _UxGT("归位 %s%s%s 先") //"Home ... first" +#define MSG_ZPROBE_ZOFFSET _UxGT("Z偏移") //"Z Offset" #define MSG_BABYSTEP_X _UxGT("微量调整X轴") //"Babystep X" lcd_babystep_x, Babystepping enables the user to control the axis in tiny amounts #define MSG_BABYSTEP_Y _UxGT("微量调整Y轴") //"Babystep Y" #define MSG_BABYSTEP_Z _UxGT("微量调整Z轴") //"Babystep Z" @@ -288,7 +286,7 @@ #define MSG_ERR_MINTEMP _UxGT("错误:最低温度") //"Err: MINTEMP" #define MSG_ERR_MAXTEMP_BED _UxGT("错误:最高热床温度") //"Err: MAXTEMP BED" #define MSG_ERR_MINTEMP_BED _UxGT("错误:最低热床温度") //"Err: MINTEMP BED" -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("归位 XY 先") // "Home XY First" #define MSG_HALTED _UxGT("打印停机") //"PRINTER HALTED" #define MSG_PLEASE_RESET _UxGT("请重置") //"Please reset" #define MSG_SHORT_DAY _UxGT("天") //"d" // One character only diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h index 62611d236a..ce8cda2692 100644 --- a/Marlin/src/lcd/language/language_zh_TW.h +++ b/Marlin/src/lcd/language/language_zh_TW.h @@ -79,7 +79,6 @@ #define MSG_USER_MENU _UxGT("客制命令") // "Custom Commands" #define MSG_UBL_DOING_G29 _UxGT("执行G29") // "Doing G29" -#define MSG_UBL_UNHOMED _UxGT("先回XYZ原點") // "Home XYZ first" #define MSG_UBL_TOOLS _UxGT("UBL工具") // "UBL Tools" #define MSG_UBL_LEVEL_BED _UxGT("統一熱床調平(UBL)") // "Unified Bed Leveling" #define MSG_UBL_MANUAL_MESH _UxGT("手工建网") // "Manually Build Mesh" @@ -274,9 +273,8 @@ #define MSG_BLTOUCH_RESET _UxGT("重置BLTouch") // "Reset BLTouch" #define MSG_BLTOUCH_DEPLOY _UxGT("部署BLTouch") // "Deploy BLTouch" #define MSG_BLTOUCH_STOW _UxGT("裝載BLTouch") // "Stow BLTouch" -#define MSG_HOME _UxGT("歸位") //"Home" // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("先") //"first" -#define MSG_zprobe_zoffset _UxGT("Z偏移") //"Z Offset" +#define MSG_HOME_FIRST _UxGT("歸位 %s%s%s 先") //"Home ... first" +#define MSG_ZPROBE_ZOFFSET _UxGT("Z偏移") //"Z Offset" #define MSG_BABYSTEP_X _UxGT("微量調整X軸") //"Babystep X" lcd_babystep_x, Babystepping enables the user to control the axis in tiny amounts #define MSG_BABYSTEP_Y _UxGT("微量調整Y軸") //"Babystep Y" #define MSG_BABYSTEP_Z _UxGT("微量調整Z軸") //"Babystep Z" @@ -288,7 +286,7 @@ #define MSG_ERR_MINTEMP _UxGT("錯誤:最低溫度") //"Err: MINTEMP" #define MSG_ERR_MAXTEMP_BED _UxGT("錯誤:最高熱床溫度") //"Err: MAXTEMP BED" #define MSG_ERR_MINTEMP_BED _UxGT("錯誤:最低熱床溫度") //"Err: MINTEMP BED" -#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST +#define MSG_ERR_Z_HOMING _UxGT("歸位 XY 先") //"Home XY First" #define MSG_HALTED _UxGT("印表機停機") //"PRINTER HALTED" #define MSG_PLEASE_RESET _UxGT("請重置") //"Please reset" #define MSG_SHORT_DAY _UxGT("天") //"d" // One character only diff --git a/Marlin/src/lcd/lcdprint.h b/Marlin/src/lcd/lcdprint.h index 9e9d6418d5..f35bc81691 100644 --- a/Marlin/src/lcd/lcdprint.h +++ b/Marlin/src/lcd/lcdprint.h @@ -22,7 +22,7 @@ #define START_OF_UTF8_CHAR(C) (((C) & 0xC0u) != 0x80u) -int lcd_glyph_height(void); +int lcd_glyph_height(); int lcd_put_wchar_max(wchar_t c, pixel_len_t max_length); diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp index c5326deac3..012b3b5847 100644 --- a/Marlin/src/lcd/menu/menu.cpp +++ b/Marlin/src/lcd/menu/menu.cpp @@ -143,6 +143,9 @@ void MenuItem_gcode::action(PGM_P const pgcode) { queue.inject_P(pgcode); } * MenuItem_int3::action_edit(PSTR(MSG_SPEED), &feedrate_percentage, 10, 999) */ void MenuItemBase::edit(strfunc_t strfunc, loadfunc_t loadfunc) { + #if ENABLED(TOUCH_BUTTONS) + ui.repeat_delay = BUTTON_DELAY_EDIT; + #endif if (int16_t(ui.encoderPosition) < 0) ui.encoderPosition = 0; if (int16_t(ui.encoderPosition) > maxEditValue) ui.encoderPosition = maxEditValue; if (ui.should_draw()) @@ -212,6 +215,10 @@ bool printer_busy() { void MarlinUI::goto_screen(screenFunc_t screen, const uint16_t encoder/*=0*/, const uint8_t top/*=0*/, const uint8_t items/*=0*/) { if (currentScreen != screen) { + #if ENABLED(TOUCH_BUTTONS) + repeat_delay = BUTTON_DELAY_MENU; + #endif + #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) // Shadow for editing the fade height lcd_z_fade_height = planner.z_fade_height; @@ -395,7 +402,7 @@ void scroll_screen(const uint8_t limit, const bool is_menu) { ui.encoderPosition = 0; const float diff = planner.steps_to_mm[Z_AXIS] * babystep_increment, - new_probe_offset = zprobe_offset[Z_AXIS] + diff, + new_probe_offset = probe_offset[Z_AXIS] + diff, new_offs = #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET) do_probe ? new_probe_offset : hotend_offset[Z_AXIS][active_extruder] - diff @@ -407,7 +414,7 @@ void scroll_screen(const uint8_t limit, const bool is_menu) { babystep.add_steps(Z_AXIS, babystep_increment); - if (do_probe) zprobe_offset[Z_AXIS] = new_offs; + if (do_probe) probe_offset[Z_AXIS] = new_offs; #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET) else hotend_offset[Z_AXIS][active_extruder] = new_offs; #endif @@ -421,10 +428,10 @@ void scroll_screen(const uint8_t limit, const bool is_menu) { draw_edit_screen(PSTR(MSG_Z_OFFSET), ftostr43sign(hotend_offset[Z_AXIS][active_extruder])); else #endif - draw_edit_screen(PSTR(MSG_zprobe_zoffset), ftostr43sign(zprobe_offset[Z_AXIS])); + draw_edit_screen(PSTR(MSG_ZPROBE_ZOFFSET), ftostr43sign(probe_offset[Z_AXIS])); #if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) - if (do_probe) _lcd_zoffset_overlay_gfx(zprobe_offset[Z_AXIS]); + if (do_probe) _lcd_zoffset_overlay_gfx(probe_offset[Z_AXIS]); #endif } } diff --git a/Marlin/src/lcd/menu/menu.h b/Marlin/src/lcd/menu/menu.h index 77e1e4a749..e34b8b18f8 100644 --- a/Marlin/src/lcd/menu/menu.h +++ b/Marlin/src/lcd/menu/menu.h @@ -30,7 +30,9 @@ extern int8_t encoderLine, encoderTopLine, screen_items; extern bool screen_changed; -constexpr int16_t heater_maxtemp[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP); +#if HOTENDS + constexpr int16_t heater_maxtemp[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP, HEATER_5_MAXTEMP); +#endif void scroll_screen(const uint8_t limit, const bool is_menu); bool printer_busy(); @@ -76,9 +78,13 @@ inline void do_select_screen_yn(selectFunc_t yesFunc, selectFunc_t noFunc, PGM_P do_select_screen(PSTR(MSG_YES), PSTR(MSG_NO), yesFunc, noFunc, pref, string, suff); } +#define SS_LEFT 0x00 +#define SS_CENTER 0x01 +#define SS_INVERT 0x02 + void draw_edit_screen(PGM_P const pstr, const char* const value=nullptr); void draw_menu_item(const bool sel, const uint8_t row, PGM_P const pstr, const char pre_char, const char post_char); -void draw_menu_item_static(const uint8_t row, PGM_P const pstr, const bool center=true, const bool invert=false, const char *valstr=nullptr); +void draw_menu_item_static(const uint8_t row, PGM_P const pstr, const uint8_t style=SS_CENTER, const char * const valstr=nullptr); void _draw_menu_item_edit(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm); FORCE_INLINE void draw_menu_item_back(const bool sel, const uint8_t row, PGM_P const pstr) { draw_menu_item(sel, row, pstr, LCD_STR_UPLEVEL[0], LCD_STR_UPLEVEL[0]); } FORCE_INLINE void draw_menu_item_edit(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data) { _draw_menu_item_edit(sel, row, pstr, data, false); } @@ -304,30 +310,30 @@ class MenuItem_bool { * MenuItem_int3::action_edit(PSTR(MSG_SPEED), &feedrate_percentage, 10, 999) * */ -#define _MENU_ITEM_VARIANT_P(TYPE, VARIANT, USE_MULTIPLIER, PLABEL, ...) do { \ +#define _MENU_ITEM_VARIANT_P(TYPE, VARIANT, USE_MULTIPLIER, PLABEL, V...) do { \ _skipStatic = false; \ if (_menuLineNr == _thisItemNr) { \ if (encoderLine == _thisItemNr && ui.use_click()) { \ _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER); \ - MenuItem_##TYPE ::action ## VARIANT(__VA_ARGS__); \ + MenuItem_##TYPE ::action ## VARIANT(V); \ if (screen_changed) return; \ } \ if (ui.should_draw()) \ - draw_menu_item ## VARIANT ## _ ## TYPE(encoderLine == _thisItemNr, _lcdLineNr, PLABEL, ## __VA_ARGS__); \ + draw_menu_item ## VARIANT ## _ ## TYPE(encoderLine == _thisItemNr, _lcdLineNr, PLABEL, ##V); \ } \ ++_thisItemNr; \ }while(0) // Used to print static text with no visible cursor. // Parameters: label [, bool center [, bool invert [, char *value] ] ] -#define STATIC_ITEM_P(PLABEL, ...) do{ \ +#define STATIC_ITEM_P(PLABEL, V...) do{ \ if (_menuLineNr == _thisItemNr) { \ if (_skipStatic && encoderLine <= _thisItemNr) { \ ui.encoderPosition += ENCODER_STEPS_PER_MENU_ITEM; \ ++encoderLine; \ } \ if (ui.should_draw()) \ - draw_menu_item_static(_lcdLineNr, PLABEL, ## __VA_ARGS__); \ + draw_menu_item_static(_lcdLineNr, PLABEL, ##V); \ } \ ++_thisItemNr; \ } while(0) @@ -338,16 +344,16 @@ class MenuItem_bool { #define MENU_ITEM_ADDON_END() } }while(0) -#define STATIC_ITEM(LABEL, ...) STATIC_ITEM_P(PSTR(LABEL), ## __VA_ARGS__) +#define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(PSTR(LABEL), ##V) #define MENU_BACK(LABEL) MENU_ITEM(back, LABEL) #define MENU_ITEM_DUMMY() do { _thisItemNr++; }while(0) -#define MENU_ITEM_P(TYPE, PLABEL, ...) _MENU_ITEM_VARIANT_P(TYPE, , false, PLABEL, ## __VA_ARGS__) -#define MENU_ITEM(TYPE, LABEL, ...) _MENU_ITEM_VARIANT_P(TYPE, , false, PSTR(LABEL), ## __VA_ARGS__) -#define MENU_ITEM_EDIT(TYPE, LABEL, ...) _MENU_ITEM_VARIANT_P(TYPE, _edit, false, PSTR(LABEL), PSTR(LABEL), ## __VA_ARGS__) -#define MENU_ITEM_EDIT_CALLBACK(TYPE, LABEL, ...) _MENU_ITEM_VARIANT_P(TYPE, _edit, false, PSTR(LABEL), PSTR(LABEL), ## __VA_ARGS__) -#define MENU_MULTIPLIER_ITEM_EDIT(TYPE, LABEL, ...) _MENU_ITEM_VARIANT_P(TYPE, _edit, true, PSTR(LABEL), PSTR(LABEL), ## __VA_ARGS__) -#define MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(TYPE, LABEL, ...) _MENU_ITEM_VARIANT_P(TYPE, _edit, true, PSTR(LABEL), PSTR(LABEL), ## __VA_ARGS__) +#define MENU_ITEM_P(TYPE, PLABEL, V...) _MENU_ITEM_VARIANT_P(TYPE, , false, PLABEL, ##V) +#define MENU_ITEM(TYPE, LABEL, V...) _MENU_ITEM_VARIANT_P(TYPE, , false, PSTR(LABEL), ##V) +#define MENU_ITEM_EDIT(TYPE, LABEL, V...) _MENU_ITEM_VARIANT_P(TYPE, _edit, false, PSTR(LABEL), PSTR(LABEL), ##V) +#define MENU_ITEM_EDIT_CALLBACK(TYPE, LABEL, V...) _MENU_ITEM_VARIANT_P(TYPE, _edit, false, PSTR(LABEL), PSTR(LABEL), ##V) +#define MENU_MULTIPLIER_ITEM_EDIT(TYPE, LABEL, V...) _MENU_ITEM_VARIANT_P(TYPE, _edit, true, PSTR(LABEL), PSTR(LABEL), ##V) +#define MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(TYPE, LABEL, V...) _MENU_ITEM_VARIANT_P(TYPE, _edit, true, PSTR(LABEL), PSTR(LABEL), ##V) //////////////////////////////////////////// /////////////// Menu Screens /////////////// diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp index 0d8a562d9a..9e27469202 100644 --- a/Marlin/src/lcd/menu/menu_advanced.cpp +++ b/Marlin/src/lcd/menu/menu_advanced.cpp @@ -43,7 +43,7 @@ #include "../../module/temperature.h" #endif -#ifdef FILAMENT_RUNOUT_DISTANCE_MM +#if ENABLED(FILAMENT_RUNOUT_SENSOR) && FILAMENT_RUNOUT_DISTANCE_MM #include "../../feature/runout.h" float lcd_runout_distance_mm; #endif @@ -178,7 +178,7 @@ void menu_backlash(); #if EXTRUDERS == 1 MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &fc_settings[0].unload_length, 0, extrude_maxlength); - #else // EXTRUDERS > 1 + #elif EXTRUDERS > 1 #define EDIT_FIL_UNLOAD(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E##N, &fc_settings[N-1].unload_length, 0, extrude_maxlength) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &fc_settings[active_extruder].unload_length, 0, extrude_maxlength); EDIT_FIL_UNLOAD(1); @@ -199,7 +199,7 @@ void menu_backlash(); #if EXTRUDERS == 1 MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &fc_settings[0].load_length, 0, extrude_maxlength); - #else // EXTRUDERS > 1 + #elif EXTRUDERS > 1 #define EDIT_FIL_LOAD(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E##N, &fc_settings[N-1].load_length, 0, extrude_maxlength) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &fc_settings[active_extruder].load_length, 0, extrude_maxlength); EDIT_FIL_LOAD(1); @@ -219,7 +219,7 @@ void menu_backlash(); #endif // EXTRUDERS > 1 #endif - #ifdef FILAMENT_RUNOUT_DISTANCE_MM + #if ENABLED(FILAMENT_RUNOUT_SENSOR) && FILAMENT_RUNOUT_DISTANCE_MM MENU_ITEM_EDIT_CALLBACK(float3, MSG_RUNOUT_DISTANCE_MM, &lcd_runout_distance_mm, 1, 30, []{ runout.set_runout_distance(lcd_runout_distance_mm); }); @@ -620,7 +620,7 @@ void menu_backlash(); #endif // !SLIM_LCD_MENUS void menu_advanced_settings() { - #ifdef FILAMENT_RUNOUT_DISTANCE_MM + #if ENABLED(FILAMENT_RUNOUT_SENSOR) && FILAMENT_RUNOUT_DISTANCE_MM lcd_runout_distance_mm = runout.runout_distance(); #endif START_MENU(); diff --git a/Marlin/src/lcd/menu/menu_bed_corners.cpp b/Marlin/src/lcd/menu/menu_bed_corners.cpp index a559a68527..07629b7179 100644 --- a/Marlin/src/lcd/menu/menu_bed_corners.cpp +++ b/Marlin/src/lcd/menu/menu_bed_corners.cpp @@ -62,10 +62,10 @@ static inline void _lcd_goto_next_corner() { current_position[Y_AXIS] = Y_MIN_BED + LEVEL_CORNERS_INSET; break; case 1: - current_position[X_AXIS] = X_MAX_BED - LEVEL_CORNERS_INSET; + current_position[X_AXIS] = X_MAX_BED - (LEVEL_CORNERS_INSET); break; case 2: - current_position[Y_AXIS] = Y_MAX_BED - LEVEL_CORNERS_INSET; + current_position[Y_AXIS] = Y_MAX_BED - (LEVEL_CORNERS_INSET); break; case 3: current_position[X_AXIS] = X_MIN_BED + LEVEL_CORNERS_INSET; diff --git a/Marlin/src/lcd/menu/menu_bed_leveling.cpp b/Marlin/src/lcd/menu/menu_bed_leveling.cpp index 7a1395f48c..bb4eaa8456 100644 --- a/Marlin/src/lcd/menu/menu_bed_leveling.cpp +++ b/Marlin/src/lcd/menu/menu_bed_leveling.cpp @@ -277,9 +277,9 @@ void menu_bed_leveling() { #endif #if ENABLED(BABYSTEP_ZPROBE_OFFSET) - MENU_ITEM(submenu, MSG_zprobe_zoffset, lcd_babystep_zoffset); + MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); #elif HAS_BED_PROBE - MENU_ITEM_EDIT(float52, MSG_zprobe_zoffset, &zprobe_offset[Z_AXIS], Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); + MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &probe_offset[Z_AXIS], Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); #endif #if ENABLED(LEVEL_BED_CORNERS) diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp index 001d444530..8708c7d96f 100644 --- a/Marlin/src/lcd/menu/menu_configuration.cpp +++ b/Marlin/src/lcd/menu/menu_configuration.cpp @@ -75,7 +75,7 @@ static void lcd_factory_settings() { bar_percent += (int8_t)ui.encoderPosition; LIMIT(bar_percent, 0, 100); ui.encoderPosition = 0; - draw_menu_item_static(0, PSTR(MSG_PROGRESS_BAR_TEST), true, true); + draw_menu_item_static(0, PSTR(MSG_PROGRESS_BAR_TEST), SS_CENTER|SS_INVERT); lcd_put_int((LCD_WIDTH) / 2 - 2, LCD_HEIGHT - 2, bar_percent); lcd_put_wchar('%'); lcd_moveto(0, LCD_HEIGHT - 1); ui.draw_progress_bar(bar_percent); } @@ -235,7 +235,7 @@ static void lcd_factory_settings() { ui.defer_status_screen(); MENU_BACK(MSG_CONFIGURATION); MENU_ITEM(gcode, MSG_TOUCHMI_INIT, PSTR("M851 Z0\nG28\nG1 F200 Z0")); - MENU_ITEM(submenu, MSG_zprobe_zoffset, lcd_babystep_zoffset); + MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); MENU_ITEM(gcode, MSG_TOUCHMI_SAVE, PSTR("M500\nG1 F200 Z10")); MENU_ITEM(gcode, MSG_TOUCHMI_ZTEST, PSTR("G28\nG1 F200 Z0")); END_MENU(); @@ -345,9 +345,9 @@ void menu_configuration() { MENU_ITEM(submenu, MSG_ADVANCED_SETTINGS, menu_advanced_settings); #if ENABLED(BABYSTEP_ZPROBE_OFFSET) - MENU_ITEM(submenu, MSG_zprobe_zoffset, lcd_babystep_zoffset); + MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); #elif HAS_BED_PROBE - MENU_ITEM_EDIT(float52, MSG_zprobe_zoffset, &zprobe_offset[Z_AXIS], Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); + MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &probe_offset[Z_AXIS], Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); #endif const bool busy = printer_busy(); diff --git a/Marlin/src/lcd/menu/menu_filament.cpp b/Marlin/src/lcd/menu/menu_filament.cpp index d76a6aa77e..474e326667 100644 --- a/Marlin/src/lcd/menu/menu_filament.cpp +++ b/Marlin/src/lcd/menu/menu_filament.cpp @@ -79,7 +79,7 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) { _change_filament_temp_mode = mode; _change_filament_temp_extruder = extruder; START_MENU(); - if (LCD_HEIGHT >= 4) STATIC_ITEM_P(change_filament_header(mode), true, true); + if (LCD_HEIGHT >= 4) STATIC_ITEM_P(change_filament_header(mode), SS_CENTER|SS_INVERT); MENU_BACK(MSG_BACK); MENU_ITEM(function, MSG_PREHEAT_1, _lcd_change_filament_temp_1_func); MENU_ITEM(function, MSG_PREHEAT_2, _lcd_change_filament_temp_2_func); @@ -328,7 +328,7 @@ static PGM_P pause_header() { #define HOTEND_STATUS_ITEM() do { \ if (_menuLineNr == _thisItemNr) { \ if (ui.should_draw()) { \ - draw_menu_item_static(_lcdLineNr, PSTR(MSG_FILAMENT_CHANGE_NOZZLE), false, true); \ + draw_menu_item_static(_lcdLineNr, PSTR(MSG_FILAMENT_CHANGE_NOZZLE), SS_INVERT); \ ui.draw_hotend_status(_lcdLineNr, hotend_status_extruder); \ } \ if (_skipStatic && encoderLine <= _thisItemNr) { \ @@ -351,7 +351,7 @@ void lcd_pause_extrude_more() { void menu_pause_option() { START_MENU(); #if LCD_HEIGHT > 2 - STATIC_ITEM(MSG_FILAMENT_CHANGE_OPTION_HEADER, true, false); + STATIC_ITEM(MSG_FILAMENT_CHANGE_OPTION_HEADER); #endif MENU_ITEM(function, MSG_FILAMENT_CHANGE_OPTION_PURGE, lcd_pause_extrude_more); #if HAS_FILAMENT_SENSOR @@ -369,7 +369,7 @@ void menu_pause_option() { void _lcd_pause_message(PGM_P const msg1, PGM_P const msg2=nullptr, PGM_P const msg3=nullptr) { START_SCREEN(); - STATIC_ITEM_P(pause_header(), true, true); + STATIC_ITEM_P(pause_header(), SS_CENTER|SS_INVERT); STATIC_ITEM_P(msg1); if (msg2) STATIC_ITEM_P(msg2); if (msg3 && (LCD_HEIGHT) >= 5) STATIC_ITEM_P(msg3); diff --git a/Marlin/src/lcd/menu/menu_info.cpp b/Marlin/src/lcd/menu/menu_info.cpp index 9fe2ea6108..ac3e720281 100644 --- a/Marlin/src/lcd/menu/menu_info.cpp +++ b/Marlin/src/lcd/menu/menu_info.cpp @@ -34,6 +34,9 @@ #include "game/game.h" #endif +#define STATIC_PAIR(MSG, VALUE, STYL) do{ strcpy_P(buffer, PSTR(": ")); strcpy(buffer + 2, VALUE); STATIC_ITEM(MSG, STYL, buffer); }while(0) +#define STATIC_PAIR_P(MSG, PVALUE, STYL) do{ strcpy_P(buffer, PSTR(": ")); strcpy_P(buffer + 2, PSTR(PVALUE)); STATIC_ITEM(MSG, STYL, buffer); }while(0) + #if ENABLED(PRINTCOUNTER) #include "../../module/printcounter.h" @@ -48,46 +51,37 @@ #endif ); - char buffer[21]; + char buffer[21]; // for STATIC_PAIR_P + printStatistics stats = print_job_timer.getStats(); - START_SCREEN(); // 12345678901234567890 - STATIC_ITEM(MSG_INFO_PRINT_COUNT ": ", false, false, i16tostr3left(stats.totalPrints)); // Print Count: 999 - STATIC_ITEM(MSG_INFO_COMPLETED_PRINTS": ", false, false, i16tostr3left(stats.finishedPrints)); // Completed : 666 + START_SCREEN(); // 12345678901234567890 + STATIC_PAIR(MSG_INFO_PRINT_COUNT, i16tostr3left(stats.totalPrints), SS_LEFT); // Print Count: 999 + STATIC_PAIR(MSG_INFO_COMPLETED_PRINTS, i16tostr3left(stats.finishedPrints), SS_LEFT); // Completed : 666 - duration_t elapsed = stats.printTime; - elapsed.toString(buffer); + STATIC_PAIR_P(MSG_INFO_PRINT_TIME, "", SS_LEFT); // Total print Time: + STATIC_ITEM("> ", SS_LEFT, duration_t(stats.printTime).toString(buffer)); // > 99y 364d 23h 59m 59s - STATIC_ITEM(MSG_INFO_PRINT_TIME ":", false, false); // Total print Time: - STATIC_ITEM("> ", false, false, buffer); // > 99y 364d 23h 59m 59s - - elapsed = stats.longestPrint; - elapsed.toString(buffer); - - STATIC_ITEM(MSG_INFO_PRINT_LONGEST ":", false, false); // Longest job time: - STATIC_ITEM("> ", false, false, buffer); // > 99y 364d 23h 59m 59s + STATIC_PAIR_P(MSG_INFO_PRINT_LONGEST, "", SS_LEFT); // Longest job time: + STATIC_ITEM("> ", SS_LEFT, duration_t(stats.longestPrint).toString(buffer)); // > 99y 364d 23h 59m 59s + STATIC_PAIR_P(MSG_INFO_PRINT_FILAMENT, "", SS_LEFT); // Extruded total: sprintf_P(buffer, PSTR("%ld.%im"), long(stats.filamentUsed / 1000), int16_t(stats.filamentUsed / 100) % 10); - STATIC_ITEM(MSG_INFO_PRINT_FILAMENT ":", false, false); // Extruded total: - STATIC_ITEM("> ", false, false, buffer); // > 125m + STATIC_ITEM("> ", SS_LEFT, buffer); // > 125m #if SERVICE_INTERVAL_1 > 0 - elapsed = stats.nextService1; - elapsed.toString(buffer); - STATIC_ITEM(SERVICE_NAME_1 MSG_SERVICE_IN, false, false); // Service X in: - STATIC_ITEM("> ", false, false, buffer); // > 7d 12h 11m 10s + STATIC_ITEM(SERVICE_NAME_1 MSG_SERVICE_IN, SS_LEFT); // Service X in: + STATIC_ITEM("> ", SS_LEFT, duration_t(stats.nextService1).toString(buffer)); // > 7d 12h 11m 10s #endif + #if SERVICE_INTERVAL_2 > 0 - elapsed = stats.nextService2; - elapsed.toString(buffer); - STATIC_ITEM(SERVICE_NAME_2 MSG_SERVICE_IN, false, false); - STATIC_ITEM("> ", false, false, buffer); + STATIC_ITEM(SERVICE_NAME_2 MSG_SERVICE_IN, SS_LEFT); + STATIC_ITEM("> ", SS_LEFT, duration_t(stats.nextService2).toString(buffer)); #endif + #if SERVICE_INTERVAL_3 > 0 - elapsed = stats.nextService3; - elapsed.toString(buffer); - STATIC_ITEM(SERVICE_NAME_3 MSG_SERVICE_IN, false, false); - STATIC_ITEM("> ", false, false, buffer); + STATIC_ITEM(SERVICE_NAME_3 MSG_SERVICE_IN, SS_LEFT); + STATIC_ITEM("> ", SS_LEFT, duration_t(stats.nextService3).toString(buffer)); #endif END_SCREEN(); @@ -104,66 +98,115 @@ void menu_info_thermistors() { true #endif ); + + char buffer[21]; // for STATIC_PAIR_P + START_SCREEN(); - #define THERMISTOR_ID TEMP_SENSOR_0 - #include "../thermistornames.h" - STATIC_ITEM("T0: " THERMISTOR_NAME, false, true); - STATIC_ITEM(MSG_INFO_MIN_TEMP ": " STRINGIFY(HEATER_0_MINTEMP), false); - STATIC_ITEM(MSG_INFO_MAX_TEMP ": " STRINGIFY(HEATER_0_MAXTEMP), false); + + #if EXTRUDERS + #define THERMISTOR_ID TEMP_SENSOR_0 + #include "../thermistornames.h" + STATIC_ITEM("T0: " THERMISTOR_NAME, SS_INVERT); + STATIC_PAIR_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_0_MINTEMP), SS_LEFT); + STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_0_MAXTEMP), SS_LEFT); + #endif #if TEMP_SENSOR_1 != 0 #undef THERMISTOR_ID #define THERMISTOR_ID TEMP_SENSOR_1 #include "../thermistornames.h" - STATIC_ITEM("T1: " THERMISTOR_NAME, false, true); - STATIC_ITEM(MSG_INFO_MIN_TEMP ": " STRINGIFY(HEATER_1_MINTEMP), false); - STATIC_ITEM(MSG_INFO_MAX_TEMP ": " STRINGIFY(HEATER_1_MAXTEMP), false); + STATIC_ITEM("T1: " THERMISTOR_NAME, SS_INVERT); + STATIC_PAIR_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_1_MINTEMP), SS_LEFT); + STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_1_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_2 != 0 #undef THERMISTOR_ID #define THERMISTOR_ID TEMP_SENSOR_2 #include "../thermistornames.h" - STATIC_ITEM("T2: " THERMISTOR_NAME, false, true); - STATIC_ITEM(MSG_INFO_MIN_TEMP ": " STRINGIFY(HEATER_2_MINTEMP), false); - STATIC_ITEM(MSG_INFO_MAX_TEMP ": " STRINGIFY(HEATER_2_MAXTEMP), false); + STATIC_ITEM("T2: " THERMISTOR_NAME, SS_INVERT); + STATIC_PAIR_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_2_MINTEMP), SS_LEFT); + STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_2_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_3 != 0 #undef THERMISTOR_ID #define THERMISTOR_ID TEMP_SENSOR_3 #include "../thermistornames.h" - STATIC_ITEM("T3: " THERMISTOR_NAME, false, true); - STATIC_ITEM(MSG_INFO_MIN_TEMP ": " STRINGIFY(HEATER_3_MINTEMP), false); - STATIC_ITEM(MSG_INFO_MAX_TEMP ": " STRINGIFY(HEATER_3_MAXTEMP), false); + STATIC_ITEM("T3: " THERMISTOR_NAME, SS_INVERT); + STATIC_PAIR_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_3_MINTEMP), SS_LEFT); + STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_3_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_4 != 0 #undef THERMISTOR_ID #define THERMISTOR_ID TEMP_SENSOR_4 #include "../thermistornames.h" - STATIC_ITEM("T4: " THERMISTOR_NAME, false, true); - STATIC_ITEM(MSG_INFO_MIN_TEMP ": " STRINGIFY(HEATER_4_MINTEMP), false); - STATIC_ITEM(MSG_INFO_MAX_TEMP ": " STRINGIFY(HEATER_4_MAXTEMP), false); + STATIC_ITEM("T4: " THERMISTOR_NAME, SS_INVERT); + STATIC_PAIR_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_4_MINTEMP), SS_LEFT); + STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_4_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_5 != 0 #undef THERMISTOR_ID #define THERMISTOR_ID TEMP_SENSOR_5 #include "../thermistornames.h" - STATIC_ITEM("T5: " THERMISTOR_NAME, false, true); - STATIC_ITEM(MSG_INFO_MIN_TEMP ": " STRINGIFY(HEATER_5_MINTEMP), false); - STATIC_ITEM(MSG_INFO_MAX_TEMP ": " STRINGIFY(HEATER_5_MAXTEMP), false); + STATIC_ITEM("T5: " THERMISTOR_NAME, SS_INVERT); + STATIC_PAIR_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_5_MINTEMP), SS_LEFT); + STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_5_MAXTEMP), SS_LEFT); + #endif + + #if EXTRUDERS + { + STATIC_ITEM( + #if WATCH_HOTENDS + MSG_INFO_RUNAWAY_ON + #else + MSG_INFO_RUNAWAY_OFF + #endif + , SS_LEFT + ); + } #endif #if HAS_HEATED_BED + { #undef THERMISTOR_ID #define THERMISTOR_ID TEMP_SENSOR_BED #include "../thermistornames.h" - STATIC_ITEM("TBed:" THERMISTOR_NAME, false, true); - STATIC_ITEM(MSG_INFO_MIN_TEMP ": " STRINGIFY(BED_MINTEMP), false); - STATIC_ITEM(MSG_INFO_MAX_TEMP ": " STRINGIFY(BED_MAXTEMP), false); + STATIC_ITEM("TBed:" THERMISTOR_NAME, SS_INVERT); + STATIC_PAIR_P(MSG_INFO_MIN_TEMP, STRINGIFY(BED_MINTEMP), SS_LEFT); + STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(BED_MAXTEMP), SS_LEFT); + STATIC_ITEM( + #if WATCH_BED + MSG_INFO_RUNAWAY_ON + #else + MSG_INFO_RUNAWAY_OFF + #endif + , SS_LEFT + ); + } #endif + + #if HAS_HEATED_CHAMBER + { + #undef THERMISTOR_ID + #define THERMISTOR_ID TEMP_SENSOR_CHAMBER + #include "../thermistornames.h" + STATIC_ITEM("TCham:" THERMISTOR_NAME, SS_INVERT); + STATIC_PAIR_P(MSG_INFO_MIN_TEMP, STRINGIFY(CHAMBER_MINTEMP), SS_LEFT); + STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(CHAMBER_MAXTEMP), SS_LEFT); + STATIC_ITEM( + #if WATCH_CHAMBER + MSG_INFO_RUNAWAY_ON + #else + MSG_INFO_RUNAWAY_OFF + #endif + , SS_LEFT + ); + } + #endif + END_SCREEN(); } @@ -176,14 +219,17 @@ void menu_info_board() { true #endif ); + + char buffer[21]; // for STATIC_PAIR_P + START_SCREEN(); - STATIC_ITEM(BOARD_INFO_NAME, true, true); // MyPrinterController + STATIC_ITEM(BOARD_INFO_NAME, SS_CENTER|SS_INVERT); // MyPrinterController #ifdef BOARD_WEBSITE_URL - STATIC_ITEM(BOARD_WEBSITE_URL, false, false); // www.my3dprinter.com + STATIC_ITEM(BOARD_WEBSITE_URL, SS_LEFT); // www.my3dprinter.com #endif - STATIC_ITEM(MSG_INFO_BAUDRATE ": " STRINGIFY(BAUDRATE), true); // Baud: 250000 - STATIC_ITEM(MSG_INFO_PROTOCOL ": " PROTOCOL_VERSION, true); // Protocol: 1.0 - STATIC_ITEM(MSG_INFO_PSU ": " PSU_NAME, true); + STATIC_PAIR_P(MSG_INFO_BAUDRATE, STRINGIFY(BAUDRATE), SS_CENTER); // Baud: 250000 + STATIC_PAIR_P(MSG_INFO_PROTOCOL, PROTOCOL_VERSION, SS_CENTER); // Protocol: 1.0 + STATIC_PAIR_P(MSG_INFO_PSU, PSU_NAME, SS_CENTER); END_SCREEN(); } @@ -213,22 +259,22 @@ void menu_info_board() { #endif ); START_SCREEN(); - STATIC_ITEM(MSG_MARLIN, true, true); // Marlin - STATIC_ITEM(SHORT_BUILD_VERSION, true); // x.x.x-Branch - STATIC_ITEM(STRING_DISTRIBUTION_DATE, true); // YYYY-MM-DD HH:MM - STATIC_ITEM(MACHINE_NAME, true); // My3DPrinter - STATIC_ITEM(WEBSITE_URL, true); // www.my3dprinter.com - STATIC_ITEM(MSG_INFO_EXTRUDERS ": " STRINGIFY(EXTRUDERS), true); // Extruders: 2 + STATIC_ITEM(MSG_MARLIN, SS_CENTER|SS_INVERT); // Marlin + STATIC_ITEM(SHORT_BUILD_VERSION); // x.x.x-Branch + STATIC_ITEM(STRING_DISTRIBUTION_DATE); // YYYY-MM-DD HH:MM + STATIC_ITEM(MACHINE_NAME); // My3DPrinter + STATIC_ITEM(WEBSITE_URL); // www.my3dprinter.com + STATIC_ITEM(MSG_INFO_EXTRUDERS ": " STRINGIFY(EXTRUDERS)); // Extruders: 2 #if ENABLED(AUTO_BED_LEVELING_3POINT) - STATIC_ITEM(MSG_3POINT_LEVELING, true); // 3-Point Leveling + STATIC_ITEM(MSG_3POINT_LEVELING); // 3-Point Leveling #elif ENABLED(AUTO_BED_LEVELING_LINEAR) - STATIC_ITEM(MSG_LINEAR_LEVELING, true); // Linear Leveling + STATIC_ITEM(MSG_LINEAR_LEVELING); // Linear Leveling #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) - STATIC_ITEM(MSG_BILINEAR_LEVELING, true); // Bi-linear Leveling + STATIC_ITEM(MSG_BILINEAR_LEVELING); // Bi-linear Leveling #elif ENABLED(AUTO_BED_LEVELING_UBL) - STATIC_ITEM(MSG_UBL_LEVELING, true); // Unified Bed Leveling + STATIC_ITEM(MSG_UBL_LEVELING); // Unified Bed Leveling #elif ENABLED(MESH_BED_LEVELING) - STATIC_ITEM(MSG_MESH_LEVELING, true); // Mesh Leveling + STATIC_ITEM(MSG_MESH_LEVELING); // Mesh Leveling #endif END_SCREEN(); } @@ -250,13 +296,15 @@ void menu_info() { #endif )); #else - MENU_ITEM(submenu, MSG_INFO_PRINTER_MENU, menu_info_printer); // Printer Info > - MENU_ITEM(submenu, MSG_INFO_BOARD_MENU, menu_info_board); // Board Info > - MENU_ITEM(submenu, MSG_INFO_THERMISTOR_MENU, menu_info_thermistors); // Thermistors > + MENU_ITEM(submenu, MSG_INFO_PRINTER_MENU, menu_info_printer); // Printer Info > + MENU_ITEM(submenu, MSG_INFO_BOARD_MENU, menu_info_board); // Board Info > + #if EXTRUDERS + MENU_ITEM(submenu, MSG_INFO_THERMISTOR_MENU, menu_info_thermistors); // Thermistors > + #endif #endif #if ENABLED(PRINTCOUNTER) - MENU_ITEM(submenu, MSG_INFO_STATS_MENU, menu_info_stats); // Printer Stats > + MENU_ITEM(submenu, MSG_INFO_STATS_MENU, menu_info_stats); // Printer Stats > #endif #if HAS_GAMES diff --git a/Marlin/src/lcd/menu/menu_led.cpp b/Marlin/src/lcd/menu/menu_led.cpp index a84a8c01f5..5ccac8a0ee 100644 --- a/Marlin/src/lcd/menu/menu_led.cpp +++ b/Marlin/src/lcd/menu/menu_led.cpp @@ -36,7 +36,7 @@ void menu_led_presets() { START_MENU(); #if LCD_HEIGHT > 2 - STATIC_ITEM(MSG_LED_PRESETS, true, true); + STATIC_ITEM(MSG_LED_PRESETS, SS_CENTER|SS_INVERT); #endif MENU_BACK(MSG_LED_CONTROL); MENU_ITEM(function, MSG_SET_LEDS_WHITE, leds.set_white); diff --git a/Marlin/src/lcd/menu/menu_main.cpp b/Marlin/src/lcd/menu/menu_main.cpp index 1ccbfd38bb..df43a09c72 100644 --- a/Marlin/src/lcd/menu/menu_main.cpp +++ b/Marlin/src/lcd/menu/menu_main.cpp @@ -101,7 +101,7 @@ void menu_main() { const bool busy = IS_SD_PRINTING() || print_job_timer.isRunning() #if ENABLED(SDSUPPORT) - , card_detected = card.isDetected() + , card_detected = card.isMounted() , card_open = card_detected && card.isFileOpen() #endif ; diff --git a/Marlin/src/lcd/menu/menu_media.cpp b/Marlin/src/lcd/menu/menu_media.cpp index 037f98531b..6a922acdc2 100644 --- a/Marlin/src/lcd/menu/menu_media.cpp +++ b/Marlin/src/lcd/menu/menu_media.cpp @@ -34,12 +34,12 @@ #if !PIN_EXISTS(SD_DETECT) void lcd_sd_refresh() { encoderTopLine = 0; - card.initsd(); + card.mount(); } #endif void lcd_sd_updir() { - ui.encoderPosition = card.updir() ? ENCODER_STEPS_PER_MENU_ITEM : 0; + ui.encoderPosition = card.cdup() ? ENCODER_STEPS_PER_MENU_ITEM : 0; encoderTopLine = 0; screen_changed = true; ui.refresh(); @@ -82,10 +82,14 @@ inline void sdcard_start_selected_file() { #if ENABLED(SD_MENU_CONFIRM_START) void menu_sd_confirm() { + char * const longest = card.longest_filename(); + char buffer[strlen(longest) + 2]; + buffer[0] = ' '; + strcpy(buffer + 1, longest); do_select_screen( PSTR(MSG_BUTTON_PRINT), PSTR(MSG_BUTTON_CANCEL), sdcard_start_selected_file, ui.goto_previous_screen, - PSTR(MSG_START_PRINT " "), card.longest_filename(), PSTR("?") + PSTR(MSG_START_PRINT), buffer, PSTR("?") ); } @@ -111,7 +115,7 @@ class MenuItem_sdfile { class MenuItem_sdfolder { public: static void action(CardReader &theCard) { - card.chdir(theCard.filename); + card.cd(theCard.filename); encoderTopLine = 0; ui.encoderPosition = 2 * (ENCODER_STEPS_PER_MENU_ITEM); screen_changed = true; @@ -125,17 +129,21 @@ class MenuItem_sdfolder { void menu_media() { ui.encoder_direction_menus(); - const uint16_t fileCnt = card.get_num_Files(); + #if HAS_GRAPHICAL_LCD + static uint16_t fileCnt; + if (ui.first_page) fileCnt = card.get_num_Files(); + #else + const uint16_t fileCnt = card.get_num_Files(); + #endif START_MENU(); MENU_BACK(MSG_MAIN); - card.getWorkDirName(); - if (card.filename[0] == '/') { + if (card.flag.workDirIsRoot) { #if !PIN_EXISTS(SD_DETECT) MENU_ITEM(function, LCD_STR_REFRESH MSG_REFRESH, lcd_sd_refresh); #endif } - else if (card.isDetected()) + else if (card.isMounted()) MENU_ITEM(function, LCD_STR_FOLDER "..", lcd_sd_updir); if (ui.should_draw()) for (uint16_t i = 0; i < fileCnt; i++) { diff --git a/Marlin/src/lcd/menu/menu_mmu2.cpp b/Marlin/src/lcd/menu/menu_mmu2.cpp index a7dc4e8391..9a0908961e 100644 --- a/Marlin/src/lcd/menu/menu_mmu2.cpp +++ b/Marlin/src/lcd/menu/menu_mmu2.cpp @@ -164,7 +164,7 @@ inline void action_mmu2_choose4() { action_mmu2_choose(4); } void menu_mmu2_choose_filament() { START_MENU(); #if LCD_HEIGHT > 2 - STATIC_ITEM(MSG_MMU2_CHOOSE_FILAMENT_HEADER, true, true); + STATIC_ITEM(MSG_MMU2_CHOOSE_FILAMENT_HEADER, SS_CENTER|SS_INVERT); #endif MENU_ITEM(function, MSG_MMU2_FILAMENT0, action_mmu2_choose0); MENU_ITEM(function, MSG_MMU2_FILAMENT1, action_mmu2_choose1); @@ -187,7 +187,7 @@ void menu_mmu2_pause() { currentTool = mmu2.get_current_tool(); START_MENU(); #if LCD_HEIGHT > 2 - STATIC_ITEM(MSG_MMU2_FILAMENT_CHANGE_HEADER, true, true); + STATIC_ITEM(MSG_MMU2_FILAMENT_CHANGE_HEADER, SS_CENTER|SS_INVERT); #endif MENU_ITEM(function, MSG_MMU2_RESUME, action_mmu2_M600_resume); MENU_ITEM(function, MSG_MMU2_UNLOAD_FILAMENT, action_mmu2_M600_unload_filament); diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index 5885001372..2a75c2693d 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -158,80 +158,85 @@ static void _lcd_move_xyz(PGM_P name, AxisEnum axis) { void lcd_move_x() { _lcd_move_xyz(PSTR(MSG_MOVE_X), X_AXIS); } void lcd_move_y() { _lcd_move_xyz(PSTR(MSG_MOVE_Y), Y_AXIS); } void lcd_move_z() { _lcd_move_xyz(PSTR(MSG_MOVE_Z), Z_AXIS); } -static void _lcd_move_e( - #if E_MANUAL > 1 - const int8_t eindex=-1 - #endif -) { - if (ui.use_click()) return ui.goto_previous_screen_no_defer(); - if (ui.encoderPosition) { - if (!ui.processing_manual_move) { - const float diff = float(int16_t(ui.encoderPosition)) * move_menu_scale; - #if IS_KINEMATIC - manual_move_offset += diff; - #else - current_position[E_AXIS] += diff; - #endif - manual_move_to_current(E_AXIS - #if E_MANUAL > 1 - , eindex + +#if E_MANUAL + + static void _lcd_move_e( + #if E_MANUAL > 1 + const int8_t eindex=-1 + #endif + ) { + if (ui.use_click()) return ui.goto_previous_screen_no_defer(); + if (ui.encoderPosition) { + if (!ui.processing_manual_move) { + const float diff = float(int16_t(ui.encoderPosition)) * move_menu_scale; + #if IS_KINEMATIC + manual_move_offset += diff; + #else + current_position[E_AXIS] += diff; #endif - ); - ui.refresh(LCDVIEW_REDRAW_NOW); - } - ui.encoderPosition = 0; - } - if (ui.should_draw()) { - PGM_P pos_label; - #if E_MANUAL == 1 - pos_label = PSTR(MSG_MOVE_E); - #else - switch (eindex) { - default: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E1); break; - case 1: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E2); break; - #if E_MANUAL > 2 - case 2: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E3); break; - #if E_MANUAL > 3 - case 3: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E4); break; - #if E_MANUAL > 4 - case 4: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E5); break; - #if E_MANUAL > 5 - case 5: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E6); break; - #endif // E_MANUAL > 5 - #endif // E_MANUAL > 4 - #endif // E_MANUAL > 3 - #endif // E_MANUAL > 2 + manual_move_to_current(E_AXIS + #if E_MANUAL > 1 + , eindex + #endif + ); + ui.refresh(LCDVIEW_REDRAW_NOW); } - #endif // E_MANUAL > 1 + ui.encoderPosition = 0; + } + if (ui.should_draw()) { + PGM_P pos_label; + #if E_MANUAL == 1 + pos_label = PSTR(MSG_MOVE_E); + #else + switch (eindex) { + default: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E1); break; + case 1: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E2); break; + #if E_MANUAL > 2 + case 2: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E3); break; + #if E_MANUAL > 3 + case 3: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E4); break; + #if E_MANUAL > 4 + case 4: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E5); break; + #if E_MANUAL > 5 + case 5: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E6); break; + #endif // E_MANUAL > 5 + #endif // E_MANUAL > 4 + #endif // E_MANUAL > 3 + #endif // E_MANUAL > 2 + } + #endif // E_MANUAL > 1 - draw_edit_screen(pos_label, ftostr41sign(current_position[E_AXIS] - #if IS_KINEMATIC - + manual_move_offset - #endif - #if ENABLED(MANUAL_E_MOVES_RELATIVE) - - manual_move_e_origin - #endif - )); + draw_edit_screen(pos_label, ftostr41sign(current_position[E_AXIS] + #if IS_KINEMATIC + + manual_move_offset + #endif + #if ENABLED(MANUAL_E_MOVES_RELATIVE) + - manual_move_e_origin + #endif + )); + } } -} -inline void lcd_move_e() { _lcd_move_e(); } -#if E_MANUAL > 1 - inline void lcd_move_e0() { _lcd_move_e(0); } - inline void lcd_move_e1() { _lcd_move_e(1); } - #if E_MANUAL > 2 - inline void lcd_move_e2() { _lcd_move_e(2); } - #if E_MANUAL > 3 - inline void lcd_move_e3() { _lcd_move_e(3); } - #if E_MANUAL > 4 - inline void lcd_move_e4() { _lcd_move_e(4); } - #if E_MANUAL > 5 - inline void lcd_move_e5() { _lcd_move_e(5); } - #endif // E_MANUAL > 5 - #endif // E_MANUAL > 4 - #endif // E_MANUAL > 3 - #endif // E_MANUAL > 2 -#endif // E_MANUAL > 1 + inline void lcd_move_e() { _lcd_move_e(); } + #if E_MANUAL > 1 + inline void lcd_move_e0() { _lcd_move_e(0); } + inline void lcd_move_e1() { _lcd_move_e(1); } + #if E_MANUAL > 2 + inline void lcd_move_e2() { _lcd_move_e(2); } + #if E_MANUAL > 3 + inline void lcd_move_e3() { _lcd_move_e(3); } + #if E_MANUAL > 4 + inline void lcd_move_e4() { _lcd_move_e(4); } + #if E_MANUAL > 5 + inline void lcd_move_e5() { _lcd_move_e(5); } + #endif // E_MANUAL > 5 + #endif // E_MANUAL > 4 + #endif // E_MANUAL > 3 + #endif // E_MANUAL > 2 + #endif // E_MANUAL > 1 + +#endif // E_MANUAL // // "Motion" > "Move Xmm" > "Move XYZ" submenu @@ -257,14 +262,14 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int START_MENU(); if (LCD_HEIGHT >= 4) { switch (axis) { - case X_AXIS: STATIC_ITEM(MSG_MOVE_X, true, true); break; - case Y_AXIS: STATIC_ITEM(MSG_MOVE_Y, true, true); break; - case Z_AXIS: STATIC_ITEM(MSG_MOVE_Z, true, true); break; + case X_AXIS: STATIC_ITEM(MSG_MOVE_X, SS_CENTER|SS_INVERT); break; + case Y_AXIS: STATIC_ITEM(MSG_MOVE_Y, SS_CENTER|SS_INVERT); break; + case Z_AXIS: STATIC_ITEM(MSG_MOVE_Z, SS_CENTER|SS_INVERT); break; default: #if ENABLED(MANUAL_E_MOVES_RELATIVE) manual_move_e_origin = current_position[E_AXIS]; #endif - STATIC_ITEM(MSG_MOVE_E, true, true); + STATIC_ITEM(MSG_MOVE_E, SS_CENTER|SS_INVERT); break; } } @@ -295,23 +300,26 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int void lcd_move_get_x_amount() { _menu_move_distance(X_AXIS, lcd_move_x); } void lcd_move_get_y_amount() { _menu_move_distance(Y_AXIS, lcd_move_y); } void lcd_move_get_z_amount() { _menu_move_distance(Z_AXIS, lcd_move_z); } -void lcd_move_get_e_amount() { _menu_move_distance(E_AXIS, lcd_move_e, -1); } -#if E_MANUAL > 1 - void lcd_move_get_e0_amount() { _menu_move_distance(E_AXIS, lcd_move_e0, 0); } - void lcd_move_get_e1_amount() { _menu_move_distance(E_AXIS, lcd_move_e1, 1); } - #if E_MANUAL > 2 - void lcd_move_get_e2_amount() { _menu_move_distance(E_AXIS, lcd_move_e2, 2); } - #if E_MANUAL > 3 - void lcd_move_get_e3_amount() { _menu_move_distance(E_AXIS, lcd_move_e3, 3); } - #if E_MANUAL > 4 - void lcd_move_get_e4_amount() { _menu_move_distance(E_AXIS, lcd_move_e4, 4); } - #if E_MANUAL > 5 - void lcd_move_get_e5_amount() { _menu_move_distance(E_AXIS, lcd_move_e5, 5); } - #endif // E_MANUAL > 5 - #endif // E_MANUAL > 4 - #endif // E_MANUAL > 3 - #endif // E_MANUAL > 2 -#endif // E_MANUAL > 1 + +#if E_MANUAL + void lcd_move_get_e_amount() { _menu_move_distance(E_AXIS, lcd_move_e, -1); } + #if E_MANUAL > 1 + void lcd_move_get_e0_amount() { _menu_move_distance(E_AXIS, lcd_move_e0, 0); } + void lcd_move_get_e1_amount() { _menu_move_distance(E_AXIS, lcd_move_e1, 1); } + #if E_MANUAL > 2 + void lcd_move_get_e2_amount() { _menu_move_distance(E_AXIS, lcd_move_e2, 2); } + #if E_MANUAL > 3 + void lcd_move_get_e3_amount() { _menu_move_distance(E_AXIS, lcd_move_e3, 3); } + #if E_MANUAL > 4 + void lcd_move_get_e4_amount() { _menu_move_distance(E_AXIS, lcd_move_e4, 4); } + #if E_MANUAL > 5 + void lcd_move_get_e5_amount() { _menu_move_distance(E_AXIS, lcd_move_e5, 5); } + #endif // E_MANUAL > 5 + #endif // E_MANUAL > 4 + #endif // E_MANUAL > 3 + #endif // E_MANUAL > 2 + #endif // E_MANUAL > 1 +#endif // E_MANUAL #if ENABLED(DELTA) void lcd_lower_z_to_clip_height() { @@ -396,39 +404,43 @@ void menu_move() { #endif - #if EITHER(SWITCHING_EXTRUDER, SWITCHING_NOZZLE) + #if E_MANUAL + + #if EITHER(SWITCHING_EXTRUDER, SWITCHING_NOZZLE) + + // Only the current... + MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_get_e_amount); + // ...and the non-switching + #if E_MANUAL == 5 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount); + #elif E_MANUAL == 3 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount); + #endif + + #else + + // Independent extruders with one E-stepper per hotend + MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_get_e_amount); + #if E_MANUAL > 1 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E1, lcd_move_get_e0_amount); + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E2, lcd_move_get_e1_amount); + #if E_MANUAL > 2 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount); + #if E_MANUAL > 3 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E4, lcd_move_get_e3_amount); + #if E_MANUAL > 4 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount); + #if E_MANUAL > 5 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E6, lcd_move_get_e5_amount); + #endif // E_MANUAL > 5 + #endif // E_MANUAL > 4 + #endif // E_MANUAL > 3 + #endif // E_MANUAL > 2 + #endif // E_MANUAL > 1 - // Only the current... - MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_get_e_amount); - // ...and the non-switching - #if E_MANUAL == 5 - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount); - #elif E_MANUAL == 3 - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount); #endif - #else - - // Independent extruders with one E-stepper per hotend - MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_get_e_amount); - #if E_MANUAL > 1 - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E1, lcd_move_get_e0_amount); - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E2, lcd_move_get_e1_amount); - #if E_MANUAL > 2 - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount); - #if E_MANUAL > 3 - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E4, lcd_move_get_e3_amount); - #if E_MANUAL > 4 - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount); - #if E_MANUAL > 5 - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E6, lcd_move_get_e5_amount); - #endif // E_MANUAL > 5 - #endif // E_MANUAL > 4 - #endif // E_MANUAL > 3 - #endif // E_MANUAL > 2 - #endif // E_MANUAL > 1 - - #endif + #endif // E_MANUAL END_MENU(); } diff --git a/Marlin/src/lcd/menu/menu_temperature.cpp b/Marlin/src/lcd/menu/menu_temperature.cpp index ad987850fd..24b88e829c 100644 --- a/Marlin/src/lcd/menu/menu_temperature.cpp +++ b/Marlin/src/lcd/menu/menu_temperature.cpp @@ -48,7 +48,9 @@ uint8_t MarlinUI::preheat_fan_speed[2]; // void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb, const uint8_t fan) { - if (temph > 0) thermalManager.setTargetHotend(_MIN(heater_maxtemp[endnum] - 15, temph), endnum); + #if HOTENDS + if (temph > 0) thermalManager.setTargetHotend(_MIN(heater_maxtemp[endnum] - 15, temph), endnum); + #endif #if HAS_HEATED_BED if (tempb >= 0) thermalManager.setTargetBed(tempb); #else @@ -165,12 +167,16 @@ void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb #if HAS_TEMP_HOTEND || HAS_HEATED_BED - void lcd_preheat_m1_e0_only() { _lcd_preheat(0, ui.preheat_hotend_temp[0], -1, ui.preheat_fan_speed[0]); } - void lcd_preheat_m2_e0_only() { _lcd_preheat(0, ui.preheat_hotend_temp[1], -1, ui.preheat_fan_speed[1]); } + #if HOTENDS + void lcd_preheat_m1_e0_only() { _lcd_preheat(0, ui.preheat_hotend_temp[0], -1, ui.preheat_fan_speed[0]); } + void lcd_preheat_m2_e0_only() { _lcd_preheat(0, ui.preheat_hotend_temp[1], -1, ui.preheat_fan_speed[1]); } + #endif #if HAS_HEATED_BED - void lcd_preheat_m1_e0() { _lcd_preheat(0, ui.preheat_hotend_temp[0], ui.preheat_bed_temp[0], ui.preheat_fan_speed[0]); } - void lcd_preheat_m2_e0() { _lcd_preheat(0, ui.preheat_hotend_temp[1], ui.preheat_bed_temp[1], ui.preheat_fan_speed[1]); } + #if HOTENDS + void lcd_preheat_m1_e0() { _lcd_preheat(0, ui.preheat_hotend_temp[0], ui.preheat_bed_temp[0], ui.preheat_fan_speed[0]); } + void lcd_preheat_m2_e0() { _lcd_preheat(0, ui.preheat_hotend_temp[1], ui.preheat_bed_temp[1], ui.preheat_fan_speed[1]); } + #endif void lcd_preheat_m1_bedonly() { _lcd_preheat(0, 0, ui.preheat_bed_temp[0], ui.preheat_fan_speed[0]); } void lcd_preheat_m2_bedonly() { _lcd_preheat(0, 0, ui.preheat_bed_temp[1], ui.preheat_fan_speed[1]); } #endif @@ -313,7 +319,7 @@ void menu_temperature() { // #if HOTENDS == 1 MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, thermalManager.start_watching_E0); - #else // HOTENDS > 1 + #elif HOTENDS > 1 #define EDIT_TARGET(N) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_LCD_N##N, &thermalManager.temp_hotend[N].target, 0, HEATER_##N##_MAXTEMP - 15, thermalManager.start_watching_E##N) EDIT_TARGET(0); EDIT_TARGET(1); diff --git a/Marlin/src/lcd/menu/menu_tune.cpp b/Marlin/src/lcd/menu/menu_tune.cpp index a3e2321e40..3198e6a1b1 100644 --- a/Marlin/src/lcd/menu/menu_tune.cpp +++ b/Marlin/src/lcd/menu/menu_tune.cpp @@ -144,7 +144,7 @@ void menu_tune() { // #if HOTENDS == 1 MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, thermalManager.start_watching_E0); - #else // HOTENDS > 1 + #elif HOTENDS > 1 #define EDIT_NOZZLE(N) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_LCD_N##N, &thermalManager.temp_hotend[N].target, 0, HEATER_##N##_MAXTEMP - 15, thermalManager.start_watching_E##N) EDIT_NOZZLE(0); EDIT_NOZZLE(1); @@ -233,7 +233,7 @@ void menu_tune() { MENU_ITEM(submenu, MSG_BABYSTEP_Y, lcd_babystep_y); #endif #if ENABLED(BABYSTEP_ZPROBE_OFFSET) - MENU_ITEM(submenu, MSG_zprobe_zoffset, lcd_babystep_zoffset); + MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); #else MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z); #endif diff --git a/Marlin/src/lcd/menu/menu_ubl.cpp b/Marlin/src/lcd/menu/menu_ubl.cpp index a764b85bdb..2364a818ae 100644 --- a/Marlin/src/lcd/menu/menu_ubl.cpp +++ b/Marlin/src/lcd/menu/menu_ubl.cpp @@ -420,8 +420,8 @@ void _lcd_ubl_map_homing() { */ void _lcd_ubl_map_lcd_edit_cmd() { char ubl_lcd_gcode[50], str[10], str2[10]; - dtostrf(pgm_read_float(&ubl._mesh_index_to_xpos[x_plot]), 0, 2, str); - dtostrf(pgm_read_float(&ubl._mesh_index_to_ypos[y_plot]), 0, 2, str2); + dtostrf(ubl.mesh_index_to_xpos(x_plot), 0, 2, str); + dtostrf(ubl.mesh_index_to_ypos(y_plot), 0, 2, str2); snprintf_P(ubl_lcd_gcode, sizeof(ubl_lcd_gcode), PSTR("G29 P4 X%s Y%s R%i"), str, str2, int(n_edit_pts)); lcd_enqueue_one_now(ubl_lcd_gcode); } @@ -430,21 +430,21 @@ void _lcd_ubl_map_lcd_edit_cmd() { * UBL LCD Map Movement */ void ubl_map_move_to_xy() { - REMEMBER(fr, feedrate_mm_s, MMM_TO_MMS(XY_PROBE_SPEED)); + const feedRate_t fr_mm_s = MMM_TO_MMS(XY_PROBE_SPEED); - set_destination_from_current(); // sync destination at the start + set_destination_from_current(); // sync destination at the start #if ENABLED(DELTA) if (current_position[Z_AXIS] > delta_clip_start_height) { destination[Z_AXIS] = delta_clip_start_height; - prepare_move_to_destination(); + prepare_internal_move_to_destination(fr_mm_s); } #endif destination[X_AXIS] = pgm_read_float(&ubl._mesh_index_to_xpos[x_plot]); destination[Y_AXIS] = pgm_read_float(&ubl._mesh_index_to_ypos[y_plot]); - prepare_move_to_destination(); + prepare_internal_move_to_destination(fr_mm_s); } /** diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index ba2de995e4..389a58f2dc 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -195,6 +195,10 @@ millis_t MarlinUI::next_button_update_ms; // = 0 int8_t MarlinUI::encoderDirection = ENCODERBASE; #endif + #if ENABLED(TOUCH_BUTTONS) + uint8_t MarlinUI::repeat_delay; + #endif + bool MarlinUI::lcd_clicked; float move_menu_scale; @@ -658,11 +662,9 @@ void MarlinUI::quick_feedback(const bool clear_buttons/*=true*/) { if (manual_move_axis != (int8_t)NO_AXIS && ELAPSED(millis(), manual_move_start_time) && !planner.is_full()) { + const feedRate_t fr_mm_s = MMM_TO_MMS(manual_feedrate_mm_m[manual_move_axis]); #if IS_KINEMATIC - const float old_feedrate = feedrate_mm_s; - feedrate_mm_s = MMM_TO_MMS(manual_feedrate_mm_m[manual_move_axis]); - #if EXTRUDERS > 1 const int8_t old_extruder = active_extruder; if (manual_move_axis == E_AXIS) active_extruder = manual_move_e_index; @@ -681,17 +683,16 @@ void MarlinUI::quick_feedback(const bool clear_buttons/*=true*/) { // previous invocation is being blocked. Modifications to manual_move_offset shouldn't be made while // processing_manual_move is true or the planner will get out of sync. processing_manual_move = true; - prepare_move_to_destination(); // will call set_current_from_destination() + prepare_internal_move_to_destination(fr_mm_s); // will set current_position from destination processing_manual_move = false; - feedrate_mm_s = old_feedrate; #if EXTRUDERS > 1 active_extruder = old_extruder; #endif #else - planner.buffer_line(current_position, MMM_TO_MMS(manual_feedrate_mm_m[manual_move_axis]), manual_move_axis == E_AXIS ? manual_move_e_index : active_extruder); + planner.buffer_line(current_position, fr_mm_s, manual_move_axis == E_AXIS ? manual_move_e_index : active_extruder); manual_move_axis = (int8_t)NO_AXIS; #endif @@ -792,7 +793,7 @@ void MarlinUI::update() { if (touch_buttons & (EN_A | EN_B)) { // A and/or B button? encoderDiff = (ENCODER_STEPS_PER_MENU_ITEM) * (ENCODER_PULSES_PER_STEP) * encoderDirection; if (touch_buttons & EN_A) encoderDiff *= -1; - next_button_update_ms = ms + 50; // Assume the repeat delay + next_button_update_ms = ms + repeat_delay; // Assume the repeat delay if (!wait_for_unclick && !arrow_pressed) { // On click prepare for repeat next_button_update_ms += 250; // Longer delay on first press arrow_pressed = true; // Mark arrow as pressed @@ -838,7 +839,7 @@ void MarlinUI::update() { if (sd_status) { safe_delay(500); // Some boards need a delay to get settled - card.initsd(); + card.mount(); if (old_sd_status == 2) card.beginautostart(); // Initial boot else @@ -1119,7 +1120,7 @@ void MarlinUI::update() { ADC_BUTTON_VALUE(ADC_BUTTONS_MIDDLE_R_PULLDOWN) + 100, 1 + BLEN_KEYPAD_MIDDLE }, // ENTER (1205 ... 1405) }; - uint8_t get_ADC_keyValue(void) { + uint8_t get_ADC_keyValue() { if (thermalManager.ADCKey_count >= 16) { const uint16_t currentkpADCValue = thermalManager.current_ADCKey_raw << 2; thermalManager.current_ADCKey_raw = 1024; @@ -1481,7 +1482,7 @@ void MarlinUI::update() { host_action_cancel(); #endif #if ENABLED(HOST_PROMPT_SUPPORT) - host_prompt_open(PROMPT_INFO, PSTR("UI Abort")); + host_prompt_open(PROMPT_INFO, PSTR("UI Aborted"), PSTR("Dismiss")); #endif print_job_timer.stop(); set_status_P(PSTR(MSG_PRINT_ABORTED)); diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h index 973fbc451e..f3dcb3a381 100644 --- a/Marlin/src/lcd/ultralcd.h +++ b/Marlin/src/lcd/ultralcd.h @@ -90,13 +90,13 @@ typedef void (*menuAction_t)(); // Manual Movement - constexpr float manual_feedrate_mm_m[XYZE] = MANUAL_FEEDRATE; + constexpr feedRate_t manual_feedrate_mm_m[XYZE] = MANUAL_FEEDRATE; extern float move_menu_scale; #if ENABLED(ADVANCED_PAUSE_FEATURE) void lcd_pause_show_message(const PauseMessage message, - const PauseMode mode=PAUSE_MODE_SAME, - const uint8_t extruder=active_extruder); + const PauseMode mode=PAUSE_MODE_SAME, + const uint8_t extruder=active_extruder); #endif #if ENABLED(AUTO_BED_LEVELING_UBL) @@ -406,6 +406,10 @@ public: #if HAS_LCD_MENU + #if ENABLED(TOUCH_BUTTONS) + static uint8_t repeat_delay; + #endif + #if ENABLED(ENCODER_RATE_MULTIPLIER) static bool encoderRateMultiplierEnabled; static millis_t lastEncoderMovementMillis; diff --git a/Marlin/src/libs/L6470/L6470_Marlin.cpp b/Marlin/src/libs/L6470/L6470_Marlin.cpp index 7dc2b2d1f8..d8b0fb833d 100644 --- a/Marlin/src/libs/L6470/L6470_Marlin.cpp +++ b/Marlin/src/libs/L6470/L6470_Marlin.cpp @@ -384,8 +384,8 @@ bool L6470_Marlin::get_user_input(uint8_t &driver_count, uint8_t axis_index[3], } break; case 'Z': { - position_min = center[E_AXIS] - displacement; - position_max = center[E_AXIS] + displacement; + position_min = center[Z_AXIS] - displacement; + position_max = center[Z_AXIS] + displacement; echo_min_max('Z', position_min, position_max); if (false #ifdef Z_MIN_POS diff --git a/Marlin/src/libs/L6470/L6470_Marlin.h b/Marlin/src/libs/L6470/L6470_Marlin.h index 3311574a16..bc9a033e4a 100644 --- a/Marlin/src/libs/L6470/L6470_Marlin.h +++ b/Marlin/src/libs/L6470/L6470_Marlin.h @@ -27,7 +27,7 @@ #define L6470_GETPARAM(P,Q) stepper##Q.GetParam(P) -#define MAX_L6470 (7 + MAX_EXTRUDERS) // Maximum number of axes in Marlin +enum L6470_driver_enum : unsigned char { X, Y, Z, X2, Y2, Z2, Z3, E0, E1, E2, E3, E4, E5, MAX_L6470 }; #define L6470_ERROR_MASK (STATUS_UVLO | STATUS_TH_WRN | STATUS_TH_SD | STATUS_OCD | STATUS_STEP_LOSS_A | STATUS_STEP_LOSS_B) #define dSPIN_STEP_CLOCK_FWD dSPIN_STEP_CLOCK diff --git a/Marlin/src/libs/circularqueue.h b/Marlin/src/libs/circularqueue.h index 479e90daba..6b1923986d 100644 --- a/Marlin/src/libs/circularqueue.h +++ b/Marlin/src/libs/circularqueue.h @@ -52,8 +52,8 @@ class CircularQueue { * items that can be stored on the queue. */ CircularQueue() { - this->buffer.size = N; - this->buffer.count = this->buffer.head = this->buffer.tail = 0; + buffer.size = N; + buffer.count = buffer.head = buffer.tail = 0; } /** @@ -63,15 +63,15 @@ class CircularQueue { * @return type T item */ T dequeue() { - if (this->isEmpty()) return T(); + if (isEmpty()) return T(); - uint8_t index = this->buffer.head; + uint8_t index = buffer.head; - --this->buffer.count; - if (++this->buffer.head == this->buffer.size) - this->buffer.head = 0; + --buffer.count; + if (++buffer.head == buffer.size) + buffer.head = 0; - return this->buffer.queue[index]; + return buffer.queue[index]; } /** @@ -82,13 +82,13 @@ class CircularQueue { * @return true if the operation was successful */ bool enqueue(T const &item) { - if (this->isFull()) return false; + if (isFull()) return false; - this->buffer.queue[this->buffer.tail] = item; + buffer.queue[buffer.tail] = item; - ++this->buffer.count; - if (++this->buffer.tail == this->buffer.size) - this->buffer.tail = 0; + ++buffer.count; + if (++buffer.tail == buffer.size) + buffer.tail = 0; return true; } @@ -98,27 +98,21 @@ class CircularQueue { * @details Returns true if there are no items on the queue, false otherwise. * @return true if queue is empty */ - bool isEmpty() { - return this->buffer.count == 0; - } + bool isEmpty() { return buffer.count == 0; } /** * @brief Checks if the queue is full * @details Returns true if the queue is full, false otherwise. * @return true if queue is full */ - bool isFull() { - return this->buffer.count == this->buffer.size; - } + bool isFull() { return buffer.count == buffer.size; } /** * @brief Gets the queue size * @details Returns the maximum number of items a queue can have. * @return the queue size */ - uint8_t size() { - return this->buffer.size; - } + uint8_t size() { return buffer.size; } /** * @brief Gets the next item from the queue without removing it @@ -126,16 +120,12 @@ class CircularQueue { * or updating the pointers. * @return first item in the queue */ - T peek() { - return this->buffer.queue[this->buffer.head]; - } + T peek() { return buffer.queue[buffer.head]; } /** * @brief Gets the number of items on the queue * @details Returns the current number of items stored on the queue. * @return number of items in the queue */ - uint8_t count() { - return this->buffer.count; - } + uint8_t count() { return buffer.count; } }; diff --git a/Marlin/src/libs/duration_t.h b/Marlin/src/libs/duration_t.h index c376e5dae2..2015c17436 100644 --- a/Marlin/src/libs/duration_t.h +++ b/Marlin/src/libs/duration_t.h @@ -120,7 +120,7 @@ struct duration_t { * 59m 59s * 59s */ - void toString(char *buffer) const { + char* toString(char * const buffer) const { int y = this->year(), d = this->day() % 365, h = this->hour() % 24, @@ -132,6 +132,7 @@ struct duration_t { else if (h) sprintf_P(buffer, PSTR("%ih %im %is"), h, m, s); else if (m) sprintf_P(buffer, PSTR("%im %is"), m, s); else sprintf_P(buffer, PSTR("%is"), s); + return buffer; } /** diff --git a/Marlin/src/libs/least_squares_fit.h b/Marlin/src/libs/least_squares_fit.h index 8eb47585e0..bfef8b14ad 100644 --- a/Marlin/src/libs/least_squares_fit.h +++ b/Marlin/src/libs/least_squares_fit.h @@ -44,28 +44,29 @@ struct linear_fit_data { A, B, D, N; }; -void inline incremental_LSF_reset(struct linear_fit_data *lsf) { +inline void incremental_LSF_reset(struct linear_fit_data *lsf) { memset(lsf, 0, sizeof(linear_fit_data)); } -void inline incremental_WLSF(struct linear_fit_data *lsf, const float &x, const float &y, const float &z, const float &w) { +inline void incremental_WLSF(struct linear_fit_data *lsf, const float &x, const float &y, const float &z, const float &w) { // weight each accumulator by factor w, including the "number" of samples // (analogous to calling inc_LSF twice with same values to weight it by 2X) - lsf->xbar += w * x; - lsf->ybar += w * y; - lsf->zbar += w * z; - lsf->x2bar += w * x * x; // don't use sq(x) -- let compiler re-use w*x four times - lsf->y2bar += w * y * y; - lsf->z2bar += w * z * z; - lsf->xybar += w * x * y; - lsf->xzbar += w * x * z; - lsf->yzbar += w * y * z; + const float wx = w * x, wy = w * y, wz = w * z; + lsf->xbar += wx; + lsf->ybar += wy; + lsf->zbar += wz; + lsf->x2bar += wx * x; + lsf->y2bar += wy * y; + lsf->z2bar += wz * z; + lsf->xybar += wx * y; + lsf->xzbar += wx * z; + lsf->yzbar += wy * z; lsf->N += w; - lsf->max_absx = _MAX(ABS(w * x), lsf->max_absx); - lsf->max_absy = _MAX(ABS(w * y), lsf->max_absy); + lsf->max_absx = _MAX(ABS(wx), lsf->max_absx); + lsf->max_absy = _MAX(ABS(wy), lsf->max_absy); } -void inline incremental_LSF(struct linear_fit_data *lsf, const float &x, const float &y, const float &z) { +inline void incremental_LSF(struct linear_fit_data *lsf, const float &x, const float &y, const float &z) { lsf->xbar += x; lsf->ybar += y; lsf->zbar += z; diff --git a/Marlin/src/libs/nozzle.cpp b/Marlin/src/libs/nozzle.cpp index 3926bfc93c..829d46e1da 100644 --- a/Marlin/src/libs/nozzle.cpp +++ b/Marlin/src/libs/nozzle.cpp @@ -175,16 +175,9 @@ Nozzle nozzle; if (!TEST(cleans, Z_AXIS)) start.z = end.z = current_position[Z_AXIS]; switch (pattern) { - case 1: - zigzag(start, end, strokes, objects); - break; - - case 2: - circle(start, end, strokes, radius); - break; - - default: - stroke(start, end, strokes); + case 1: zigzag(start, end, strokes, objects); break; + case 2: circle(start, end, strokes, radius); break; + default: stroke(start, end, strokes); } } @@ -193,8 +186,7 @@ Nozzle nozzle; #if ENABLED(NOZZLE_PARK_FEATURE) void Nozzle::park(const uint8_t z_action, const point_t &park/*=NOZZLE_PARK_POINT*/) { - const float fr_xy = NOZZLE_PARK_XY_FEEDRATE, - fr_z = NOZZLE_PARK_Z_FEEDRATE; + constexpr feedRate_t fr_xy = NOZZLE_PARK_XY_FEEDRATE, fr_z = NOZZLE_PARK_Z_FEEDRATE; switch (z_action) { case 1: // Go to Z-park height diff --git a/Marlin/src/libs/numtostr.cpp b/Marlin/src/libs/numtostr.cpp index fabc5b498f..6be9da7afb 100644 --- a/Marlin/src/libs/numtostr.cpp +++ b/Marlin/src/libs/numtostr.cpp @@ -21,6 +21,8 @@ */ #include "numtostr.h" + +#include "../inc/MarlinConfigPre.h" #include "../core/utility.h" char conv[8] = { 0 }; @@ -183,7 +185,7 @@ char* ftostr52(const float &f) { return &conv[3]; } -#endif // LCD_DECIMAL_SMALL_XY +#endif // Convert float to fixed-length string with +123.4 / -123.4 format char* ftostr41sign(const float &f) { diff --git a/Marlin/src/libs/numtostr.h b/Marlin/src/libs/numtostr.h index 1c18fd6edd..6af2ac4869 100644 --- a/Marlin/src/libs/numtostr.h +++ b/Marlin/src/libs/numtostr.h @@ -21,7 +21,7 @@ */ #pragma once -#include "../inc/MarlinConfigPre.h" +#include // Convert a full-range unsigned 8bit int to a percentage char* ui8tostr4pct(const uint8_t i); @@ -83,9 +83,13 @@ char* ftostr52sign(const float &x); // Convert unsigned float to string with 1234.5 format omitting trailing zeros char* ftostr51rj(const float &x); +#include "../core/macros.h" + // Convert float to rj string with 123 or -12 format FORCE_INLINE char* ftostr3(const float &x) { return i16tostr3(int16_t(x + (x < 0 ? -0.5f : 0.5f))); } +#include "../inc/MarlinConfigPre.h" + #if ENABLED(LCD_DECIMAL_SMALL_XY) // Convert float to rj string with 1234, _123, 12.3, _1.2, -123, _-12, or -1.2 format char* ftostr4sign(const float &fx); diff --git a/Marlin/src/libs/softspi.h b/Marlin/src/libs/softspi.h index 8595a69e81..39d56b26f7 100644 --- a/Marlin/src/libs/softspi.h +++ b/Marlin/src/libs/softspi.h @@ -475,7 +475,7 @@ static constexpr uint8_t digitalPinCount = sizeof(pinMap) / sizeof(pin_map_t); /** generate bad pin number error */ - void badPinNumber(void) + void badPinNumber() __attribute__((error("Pin number is too large or not a constant"))); /** diff --git a/Marlin/src/libs/stopwatch.h b/Marlin/src/libs/stopwatch.h index 77e9df98b0..013c243cfe 100644 --- a/Marlin/src/libs/stopwatch.h +++ b/Marlin/src/libs/stopwatch.h @@ -25,7 +25,9 @@ //#define DEBUG_STOPWATCH #include "../core/macros.h" // for FORCE_INLINE -#include "../core/millis_t.h" + +#include +typedef uint32_t millis_t; /** * @brief Stopwatch class diff --git a/Marlin/src/libs/vector_3.cpp b/Marlin/src/libs/vector_3.cpp index 9ffc852feb..e733cce3a5 100644 --- a/Marlin/src/libs/vector_3.cpp +++ b/Marlin/src/libs/vector_3.cpp @@ -57,8 +57,11 @@ vector_3 vector_3::cross(const vector_3 &left, const vector_3 &right) { left.x * right.y - left.y * right.x); } -vector_3 vector_3::operator+(const vector_3 &v) { return vector_3((x + v.x), (y + v.y), (z + v.z)); } -vector_3 vector_3::operator-(const vector_3 &v) { return vector_3((x - v.x), (y - v.y), (z - v.z)); } +vector_3 vector_3::operator+(const vector_3 &v) { return vector_3(x + v.x, y + v.y, z + v.z); } +vector_3 vector_3::operator-(const vector_3 &v) { return vector_3(x - v.x, y - v.y, z - v.z); } + +vector_3 vector_3::operator* (const float &v) { return vector_3(x * v, y * v, z * v); } +vector_3& vector_3::operator*=(const float &v) { x *= v; y *= v; z *= v; return *this; } vector_3 vector_3::get_normal() const { vector_3 normalized = vector_3(x, y, z); diff --git a/Marlin/src/libs/vector_3.h b/Marlin/src/libs/vector_3.h index b56e1d60bb..6f9153817a 100644 --- a/Marlin/src/libs/vector_3.h +++ b/Marlin/src/libs/vector_3.h @@ -52,6 +52,10 @@ struct vector_3 { vector_3 operator+(const vector_3 &v); vector_3 operator-(const vector_3 &v); + + vector_3 operator* (const float &v); + vector_3& operator*=(const float &v); + void normalize(); float get_length() const; vector_3 get_normal() const; diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp index 8804274c9d..3d723909b0 100644 --- a/Marlin/src/module/configuration_store.cpp +++ b/Marlin/src/module/configuration_store.cpp @@ -60,6 +60,8 @@ #include "../HAL/shared/persistent_store_api.h" #endif +#include "probe.h" + #if HAS_LEVELING #include "../feature/bedlevel/bedlevel.h" #endif @@ -78,10 +80,6 @@ #define EEPROM_NUM_SERVOS NUM_SERVO_PLUGS #endif -#if HAS_BED_PROBE - #include "probe.h" -#endif - #include "../feature/fwretract.h" #if ENABLED(POWER_LOSS_RECOVERY) @@ -126,6 +124,11 @@ typedef struct { bool X, Y, Z, X2, Y2, Z2, Z3, E0, E1, E2, E3, E4, E5; } tmc // Limit an index to an array size #define ALIM(I,ARR) _MIN(I, COUNT(ARR) - 1) +// Defaults for reset / fill in on load +static const uint32_t _DMA[] PROGMEM = DEFAULT_MAX_ACCELERATION; +static const float _DASU[] PROGMEM = DEFAULT_AXIS_STEPS_PER_UNIT; +static const feedRate_t _DMF[] PROGMEM = DEFAULT_MAX_FEEDRATE; + /** * Current EEPROM Layout * @@ -178,7 +181,7 @@ typedef struct SettingsDataStruct { // HAS_BED_PROBE // - float zprobe_offset[XYZ]; + float probe_offset[XYZ]; // // ABL_PLANAR @@ -309,7 +312,9 @@ typedef struct SettingsDataStruct { // // ADVANCED_PAUSE_FEATURE // - fil_change_settings_t fc_settings[EXTRUDERS]; // M603 T U L + #if EXTRUDERS + fil_change_settings_t fc_settings[EXTRUDERS]; // M603 T U L + #endif // // Tool-change settings @@ -367,7 +372,7 @@ void MarlinSettings::postprocess() { #if DISABLED(NO_VOLUMETRICS) planner.calculate_volumetric_multipliers(); - #else + #elif EXTRUDERS for (uint8_t i = COUNT(planner.e_factor); i--;) planner.refresh_e_factor(i); #endif @@ -613,14 +618,8 @@ void MarlinSettings::postprocess() { // Probe Z Offset // { - _FIELD_TEST(zprobe_offset[Z_AXIS]); - - #if !HAS_BED_PROBE - const float zprobe_offset[XYZ] = {0}; - #endif - EEPROM_WRITE(zprobe_offset[X_AXIS]); - EEPROM_WRITE(zprobe_offset[Y_AXIS]); - EEPROM_WRITE(zprobe_offset[Z_AXIS]); + _FIELD_TEST(probe_offset[Z_AXIS]); + EEPROM_WRITE(probe_offset); } // @@ -761,7 +760,7 @@ void MarlinSettings::postprocess() { { _FIELD_TEST(ui_preheat_hotend_temp); - #if HAS_LCD_MENU + #if HOTENDS && HAS_LCD_MENU const int16_t (&ui_preheat_hotend_temp)[2] = ui.preheat_hotend_temp, (&ui_preheat_bed_temp)[2] = ui.preheat_bed_temp; const uint8_t (&ui_preheat_fan_speed)[2] = ui.preheat_fan_speed; @@ -1166,6 +1165,7 @@ void MarlinSettings::postprocess() { // // Advanced Pause filament load & unload lengths // + #if EXTRUDERS { #if DISABLED(ADVANCED_PAUSE_FEATURE) const fil_change_settings_t fc_settings[EXTRUDERS] = { 0, 0 }; @@ -1173,6 +1173,7 @@ void MarlinSettings::postprocess() { _FIELD_TEST(fc_settings); EEPROM_WRITE(fc_settings); } + #endif // // Multiple Extruders @@ -1187,25 +1188,20 @@ void MarlinSettings::postprocess() { // Backlash Compensation // { - #ifdef BACKLASH_DISTANCE_MM + #if ENABLED(BACKLASH_GCODE) const float (&backlash_distance_mm)[XYZ] = backlash.distance_mm; - #else - const float backlash_distance_mm[XYZ] = { 0 }; - #endif - #if ENABLED(BACKLASH_COMPENSATION) const uint8_t &backlash_correction = backlash.correction; #else + const float backlash_distance_mm[XYZ] = { 0 }; const uint8_t backlash_correction = 0; #endif - #ifdef BACKLASH_SMOOTHING_MM + #if ENABLED(BACKLASH_GCODE) && defined(BACKLASH_SMOOTHING_MM) const float &backlash_smoothing_mm = backlash.smoothing_mm; #else const float backlash_smoothing_mm = 3; #endif _FIELD_TEST(backlash_distance_mm); - EEPROM_WRITE(backlash_distance_mm[X_AXIS]); - EEPROM_WRITE(backlash_distance_mm[Y_AXIS]); - EEPROM_WRITE(backlash_distance_mm[Z_AXIS]); + EEPROM_WRITE(backlash_distance_mm); EEPROM_WRITE(backlash_correction); EEPROM_WRITE(backlash_smoothing_mm); } @@ -1298,21 +1294,19 @@ void MarlinSettings::postprocess() { { // Get only the number of E stepper parameters previously stored // Any steppers added later are set to their defaults - const uint32_t def1[] = DEFAULT_MAX_ACCELERATION; - const float def2[] = DEFAULT_AXIS_STEPS_PER_UNIT, def3[] = DEFAULT_MAX_FEEDRATE; - uint32_t tmp1[XYZ + esteppers]; + float tmp2[XYZ + esteppers]; + feedRate_t tmp3[XYZ + esteppers]; EEPROM_READ(tmp1); // max_acceleration_mm_per_s2 EEPROM_READ(planner.settings.min_segment_time_us); - - float tmp2[XYZ + esteppers], tmp3[XYZ + esteppers]; EEPROM_READ(tmp2); // axis_steps_per_mm EEPROM_READ(tmp3); // max_feedrate_mm_s + if (!validating) LOOP_XYZE_N(i) { const bool in = (i < esteppers + XYZ); - planner.settings.max_acceleration_mm_per_s2[i] = in ? tmp1[i] : def1[ALIM(i, def1)]; - planner.settings.axis_steps_per_mm[i] = in ? tmp2[i] : def2[ALIM(i, def2)]; - planner.settings.max_feedrate_mm_s[i] = in ? tmp3[i] : def3[ALIM(i, def3)]; + planner.settings.max_acceleration_mm_per_s2[i] = in ? tmp1[i] : pgm_read_dword(&_DMA[ALIM(i, _DMA)]); + planner.settings.axis_steps_per_mm[i] = in ? tmp2[i] : pgm_read_float(&_DASU[ALIM(i, _DASU)]); + planner.settings.max_feedrate_mm_s[i] = in ? tmp3[i] : pgm_read_float(&_DMF[ALIM(i, _DMF)]); } EEPROM_READ(planner.settings.acceleration); @@ -1424,14 +1418,14 @@ void MarlinSettings::postprocess() { // Probe Z Offset // { - _FIELD_TEST(zprobe_offset[Z_AXIS]); + _FIELD_TEST(probe_offset[Z_AXIS]); - #if !HAS_BED_PROBE - float zprobe_offset[XYZ]; + #if HAS_BED_PROBE + float (&zpo)[XYZ] = probe_offset; + #else + float zpo[XYZ]; #endif - EEPROM_READ(zprobe_offset[X_AXIS]); - EEPROM_READ(zprobe_offset[Y_AXIS]); - EEPROM_READ(zprobe_offset[Z_AXIS]); + EEPROM_READ(zpo); } // @@ -1564,7 +1558,7 @@ void MarlinSettings::postprocess() { { _FIELD_TEST(ui_preheat_hotend_temp); - #if HAS_LCD_MENU + #if HOTENDS && HAS_LCD_MENU int16_t (&ui_preheat_hotend_temp)[2] = ui.preheat_hotend_temp, (&ui_preheat_bed_temp)[2] = ui.preheat_bed_temp; uint8_t (&ui_preheat_fan_speed)[2] = ui.preheat_fan_speed; @@ -1972,6 +1966,7 @@ void MarlinSettings::postprocess() { // // Advanced Pause filament load & unload lengths // + #if EXTRUDERS { #if DISABLED(ADVANCED_PAUSE_FEATURE) fil_change_settings_t fc_settings[EXTRUDERS]; @@ -1979,6 +1974,7 @@ void MarlinSettings::postprocess() { _FIELD_TEST(fc_settings); EEPROM_READ(fc_settings); } + #endif // // Tool-change settings @@ -1992,25 +1988,20 @@ void MarlinSettings::postprocess() { // Backlash Compensation // { - #ifdef BACKLASH_DISTANCE_MM + #if ENABLED(BACKLASH_GCODE) float (&backlash_distance_mm)[XYZ] = backlash.distance_mm; - #else - float backlash_distance_mm[XYZ]; - #endif - #if ENABLED(BACKLASH_COMPENSATION) uint8_t &backlash_correction = backlash.correction; #else + float backlash_distance_mm[XYZ]; uint8_t backlash_correction; #endif - #ifdef BACKLASH_SMOOTHING_MM + #if ENABLED(BACKLASH_GCODE) && defined(BACKLASH_SMOOTHING_MM) float &backlash_smoothing_mm = backlash.smoothing_mm; #else float backlash_smoothing_mm; #endif _FIELD_TEST(backlash_distance_mm); - EEPROM_READ(backlash_distance_mm[X_AXIS]); - EEPROM_READ(backlash_distance_mm[Y_AXIS]); - EEPROM_READ(backlash_distance_mm[Z_AXIS]); + EEPROM_READ(backlash_distance_mm); EEPROM_READ(backlash_correction); EEPROM_READ(backlash_smoothing_mm); } @@ -2073,7 +2064,7 @@ void MarlinSettings::postprocess() { } else { ubl.reset(); - DEBUG_ECHOLNPGM("UBL System reset()"); + DEBUG_ECHOLNPGM("UBL reset"); } } #endif @@ -2217,20 +2208,18 @@ void MarlinSettings::postprocess() { * M502 - Reset Configuration */ void MarlinSettings::reset() { - static const float tmp1[] PROGMEM = DEFAULT_AXIS_STEPS_PER_UNIT, tmp2[] PROGMEM = DEFAULT_MAX_FEEDRATE; - static const uint32_t tmp3[] PROGMEM = DEFAULT_MAX_ACCELERATION; LOOP_XYZE_N(i) { - planner.settings.axis_steps_per_mm[i] = pgm_read_float(&tmp1[ALIM(i, tmp1)]); - planner.settings.max_feedrate_mm_s[i] = pgm_read_float(&tmp2[ALIM(i, tmp2)]); - planner.settings.max_acceleration_mm_per_s2[i] = pgm_read_dword(&tmp3[ALIM(i, tmp3)]); + planner.settings.max_acceleration_mm_per_s2[i] = pgm_read_dword(&_DMA[ALIM(i, _DMA)]); + planner.settings.axis_steps_per_mm[i] = pgm_read_float(&_DASU[ALIM(i, _DASU)]); + planner.settings.max_feedrate_mm_s[i] = pgm_read_float(&_DMF[ALIM(i, _DMF)]); } planner.settings.min_segment_time_us = DEFAULT_MINSEGMENTTIME; planner.settings.acceleration = DEFAULT_ACCELERATION; planner.settings.retract_acceleration = DEFAULT_RETRACT_ACCELERATION; planner.settings.travel_acceleration = DEFAULT_TRAVEL_ACCELERATION; - planner.settings.min_feedrate_mm_s = DEFAULT_MINIMUMFEEDRATE; - planner.settings.min_travel_feedrate_mm_s = DEFAULT_MINTRAVELFEEDRATE; + planner.settings.min_feedrate_mm_s = feedRate_t(DEFAULT_MINIMUMFEEDRATE); + planner.settings.min_travel_feedrate_mm_s = feedRate_t(DEFAULT_MINTRAVELFEEDRATE); #if HAS_CLASSIC_JERK #ifndef DEFAULT_XJERK @@ -2295,12 +2284,10 @@ void MarlinSettings::reset() { #if ENABLED(BACKLASH_GCODE) backlash.correction = (BACKLASH_CORRECTION) * 255; - #ifdef BACKLASH_DISTANCE_MM - constexpr float tmp[XYZ] = BACKLASH_DISTANCE_MM; - backlash.distance_mm[X_AXIS] = tmp[X_AXIS]; - backlash.distance_mm[Y_AXIS] = tmp[Y_AXIS]; - backlash.distance_mm[Z_AXIS] = tmp[Z_AXIS]; - #endif + constexpr float tmp[XYZ] = BACKLASH_DISTANCE_MM; + backlash.distance_mm[X_AXIS] = tmp[X_AXIS]; + backlash.distance_mm[Y_AXIS] = tmp[Y_AXIS]; + backlash.distance_mm[Z_AXIS] = tmp[Z_AXIS]; #ifdef BACKLASH_SMOOTHING_MM backlash.smoothing_mm = BACKLASH_SMOOTHING_MM; #endif @@ -2331,9 +2318,12 @@ void MarlinSettings::reset() { #endif #if HAS_BED_PROBE - zprobe_offset[X_AXIS] = X_PROBE_OFFSET_FROM_EXTRUDER; - zprobe_offset[Y_AXIS] = Y_PROBE_OFFSET_FROM_EXTRUDER; - zprobe_offset[Z_AXIS] = Z_PROBE_OFFSET_FROM_EXTRUDER; + #ifndef NOZZLE_TO_PROBE_OFFSET + #define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } + #endif + constexpr float dpo[XYZ] = NOZZLE_TO_PROBE_OFFSET; + static_assert(COUNT(dpo) == 3, "NOZZLE_TO_PROBE_OFFSET must contain offsets for X, Y, and Z."); + LOOP_XYZ(a) probe_offset[a] = dpo[a]; #endif // @@ -2416,7 +2406,7 @@ void MarlinSettings::reset() { // Preheat parameters // - #if HAS_LCD_MENU + #if HOTENDS && HAS_LCD_MENU ui.preheat_hotend_temp[0] = PREHEAT_1_TEMP_HOTEND; ui.preheat_hotend_temp[1] = PREHEAT_2_TEMP_HOTEND; ui.preheat_bed_temp[0] = PREHEAT_1_TEMP_BED; @@ -2805,9 +2795,8 @@ void MarlinSettings::reset() { CONFIG_ECHO_START(); for (uint8_t e = 1; e < HOTENDS; e++) { SERIAL_ECHOPAIR( - " M218 T", (int)e - , " X", LINEAR_UNIT(hotend_offset[X_AXIS][e]) - , " Y", LINEAR_UNIT(hotend_offset[Y_AXIS][e]) + " M218 T", (int)e, + " X", LINEAR_UNIT(hotend_offset[X_AXIS][e]), " Y", LINEAR_UNIT(hotend_offset[Y_AXIS][e]) ); SERIAL_ECHOLNPAIR_F(" Z", LINEAR_UNIT(hotend_offset[Z_AXIS][e]), 3); } @@ -2922,9 +2911,9 @@ void MarlinSettings::reset() { CONFIG_ECHO_HEADING("Endstop adjustment:"); CONFIG_ECHO_START(); SERIAL_ECHOLNPAIR( - " M666 X", LINEAR_UNIT(delta_endstop_adj[X_AXIS]) - , " Y", LINEAR_UNIT(delta_endstop_adj[Y_AXIS]) - , " Z", LINEAR_UNIT(delta_endstop_adj[Z_AXIS]) + " M666 X", LINEAR_UNIT(delta_endstop_adj[A_AXIS]) + , " Y", LINEAR_UNIT(delta_endstop_adj[B_AXIS]) + , " Z", LINEAR_UNIT(delta_endstop_adj[C_AXIS]) ); CONFIG_ECHO_HEADING("Delta settings: L R H S B XYZ"); @@ -2962,7 +2951,7 @@ void MarlinSettings::reset() { #endif // [XYZ]_DUAL_ENDSTOPS - #if HAS_LCD_MENU + #if HOTENDS && HAS_LCD_MENU CONFIG_ECHO_HEADING("Material heatup parameters:"); for (uint8_t i = 0; i < COUNT(ui.preheat_hotend_temp); i++) { @@ -3051,7 +3040,7 @@ void MarlinSettings::reset() { SERIAL_ECHOLNPAIR( " M207 S", LINEAR_UNIT(fwretract.settings.retract_length) , " W", LINEAR_UNIT(fwretract.settings.swap_retract_length) - , " F", MMS_TO_MMM(LINEAR_UNIT(fwretract.settings.retract_feedrate_mm_s)) + , " F", LINEAR_UNIT(MMS_TO_MMM(fwretract.settings.retract_feedrate_mm_s)) , " Z", LINEAR_UNIT(fwretract.settings.retract_zraise) ); @@ -3060,7 +3049,7 @@ void MarlinSettings::reset() { SERIAL_ECHOLNPAIR( " M208 S", LINEAR_UNIT(fwretract.settings.retract_recover_extra) , " W", LINEAR_UNIT(fwretract.settings.swap_retract_recover_extra) - , " F", MMS_TO_MMM(LINEAR_UNIT(fwretract.settings.retract_recover_feedrate_mm_s)) + , " F", LINEAR_UNIT(MMS_TO_MMM(fwretract.settings.retract_recover_feedrate_mm_s)) ); #if ENABLED(FWRETRACT_AUTORETRACT) @@ -3083,9 +3072,9 @@ void MarlinSettings::reset() { say_units(true); } CONFIG_ECHO_START(); - SERIAL_ECHOLNPAIR(" M851 X", LINEAR_UNIT(zprobe_offset[X_AXIS])); - SERIAL_ECHOLNPAIR(" M851 Y", LINEAR_UNIT(zprobe_offset[Y_AXIS])); - SERIAL_ECHOLNPAIR(" M851 Z", LINEAR_UNIT(zprobe_offset[Z_AXIS])); + SERIAL_ECHOLNPAIR(" M851 X", LINEAR_UNIT(probe_offset[X_AXIS]), + " Y", LINEAR_UNIT(probe_offset[Y_AXIS]), + " Z", LINEAR_UNIT(probe_offset[Z_AXIS])); #endif /** diff --git a/Marlin/src/module/delta.cpp b/Marlin/src/module/delta.cpp index b2024594dc..b1b943b944 100644 --- a/Marlin/src/module/delta.cpp +++ b/Marlin/src/module/delta.cpp @@ -101,12 +101,8 @@ void recalc_delta_settings() { */ #define DELTA_DEBUG(VAR) do { \ - SERIAL_ECHOPAIR("cartesian X:", VAR[X_AXIS]); \ - SERIAL_ECHOPAIR(" Y:", VAR[Y_AXIS]); \ - SERIAL_ECHOLNPAIR(" Z:", VAR[Z_AXIS]); \ - SERIAL_ECHOPAIR("delta A:", delta[A_AXIS]); \ - SERIAL_ECHOPAIR(" B:", delta[B_AXIS]); \ - SERIAL_ECHOLNPAIR(" C:", delta[C_AXIS]); \ + SERIAL_ECHOLNPAIR("Cartesian X", VAR[X_AXIS], " Y", VAR[Y_AXIS], " Z", VAR[Z_AXIS]); \ + SERIAL_ECHOLNPAIR("Delta A", delta[A_AXIS], " B", delta[B_AXIS], " C", delta[C_AXIS]); \ }while(0) void inverse_kinematics(const float (&raw)[XYZ]) { @@ -235,12 +231,12 @@ void home_delta() { #endif // Move all carriages together linearly until an endstop is hit. - destination[Z_AXIS] = (delta_height + current_position[Z_AXIS] = (delta_height + 10 #if HAS_BED_PROBE - - zprobe_offset[Z_AXIS] + - probe_offset[Z_AXIS] #endif - + 10); - buffer_line_to_destination(homing_feedrate(X_AXIS)); + ); + line_to_current_position(homing_feedrate(X_AXIS)); planner.synchronize(); // Re-enable stealthChop if used. Disable diag1 pin on driver. diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp index 04f1ab6b17..6970a051b3 100644 --- a/Marlin/src/module/endstops.cpp +++ b/Marlin/src/module/endstops.cpp @@ -373,7 +373,7 @@ void Endstops::event_handler() { SERIAL_EOL(); #if HAS_SPI_LCD - ui.status_printf_P(0, PSTR(MSG_LCD_ENDSTOPS " %c %c %c %c"), chrX, chrY, chrZ, chrP); + ui.status_printf_P(0, PSTR(S_FMT " %c %c %c %c"), PSTR(MSG_LCD_ENDSTOPS), chrX, chrY, chrZ, chrP); #endif #if BOTH(SD_ABORT_ON_ENDSTOP_HIT, SDSUPPORT) diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index 08b7357f77..e2351150b1 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -105,7 +105,7 @@ float current_position[XYZE] = { X_HOME_POS, Y_HOME_POS, Z_HOME_POS }; * Cartesian Destination * The destination for a move, filled in by G-code movement commands, * and expected by functions like 'prepare_move_to_destination'. - * Set with 'get_destination_from_command' or 'set_destination_from_current'. + * G-codes can set destination using 'get_destination_from_command' */ float destination[XYZE]; // = { 0 } @@ -134,12 +134,11 @@ float destination[XYZE]; // = { 0 } // no other feedrate is specified. Overridden for special moves. // Set by the last G0 through G5 command's "F" parameter. // Functions that override this for custom moves *must always* restore it! -float feedrate_mm_s = MMM_TO_MMS(1500.0f); - +feedRate_t feedrate_mm_s = MMM_TO_MMS(1500); int16_t feedrate_percentage = 100; // Homing feedrate is const progmem - compare to constexpr in the header -const float homing_feedrate_mm_s[XYZ] PROGMEM = { +const feedRate_t homing_feedrate_mm_s[XYZ] PROGMEM = { #if ENABLED(DELTA) MMM_TO_MMS(HOMING_FEEDRATE_Z), MMM_TO_MMS(HOMING_FEEDRATE_Z), #else @@ -285,29 +284,21 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { * Move the planner to the current position from wherever it last moved * (or from wherever it has been told it is located). */ -void line_to_current_position(const float &fr_mm_s/*=feedrate_mm_s*/) { - planner.buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], fr_mm_s, active_extruder); -} - -/** - * Move the planner to the position stored in the destination array, which is - * used by G0/G1/G2/G3/G5 and many other functions to set a destination. - */ -void buffer_line_to_destination(const float fr_mm_s) { - planner.buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], fr_mm_s, active_extruder); +void line_to_current_position(const feedRate_t &fr_mm_s/*=feedrate_mm_s*/) { + planner.buffer_line(current_position, fr_mm_s, active_extruder); } #if IS_KINEMATIC /** - * Calculate delta, start a line, and set current_position to destination + * Buffer a fast move without interpolation. Set current_position to destination */ - void prepare_uninterpolated_move_to_destination(const float &fr_mm_s/*=0.0*/) { - if (DEBUGGING(LEVELING)) DEBUG_POS("prepare_uninterpolated_move_to_destination", destination); + void prepare_fast_move_to_destination(const feedRate_t &scaled_fr_mm_s/*=MMS_SCALED(feedrate_mm_s)*/) { + if (DEBUGGING(LEVELING)) DEBUG_POS("prepare_fast_move_to_destination", destination); #if UBL_SEGMENTED - // ubl segmented line will do z-only moves in single segment - ubl.prepare_segmented_line_to(destination, MMS_SCALED(fr_mm_s ? fr_mm_s : feedrate_mm_s)); + // UBL segmented line will do Z-only moves in single segment + ubl.line_to_destination_segmented(scaled_fr_mm_s); #else if ( current_position[X_AXIS] == destination[X_AXIS] && current_position[Y_AXIS] == destination[Y_AXIS] @@ -315,7 +306,7 @@ void buffer_line_to_destination(const float fr_mm_s) { && current_position[E_AXIS] == destination[E_AXIS] ) return; - planner.buffer_line(destination, MMS_SCALED(fr_mm_s ? fr_mm_s : feedrate_mm_s), active_extruder); + planner.buffer_line(destination, scaled_fr_mm_s, active_extruder); #endif set_current_from_destination(); @@ -323,14 +314,40 @@ void buffer_line_to_destination(const float fr_mm_s) { #endif // IS_KINEMATIC +void _internal_move_to_destination(const feedRate_t &fr_mm_s/*=0.0f*/ + #if IS_KINEMATIC + , const bool is_fast/*=false*/ + #endif +) { + const feedRate_t old_feedrate = feedrate_mm_s; + if (fr_mm_s) feedrate_mm_s = fr_mm_s; + + const uint16_t old_pct = feedrate_percentage; + feedrate_percentage = 100; + + const float old_fac = planner.e_factor[active_extruder]; + planner.e_factor[active_extruder] = 1.0f; + + #if IS_KINEMATIC + if (is_fast) + prepare_fast_move_to_destination(); + else + #endif + prepare_move_to_destination(); + + feedrate_mm_s = old_feedrate; + feedrate_percentage = old_pct; + planner.e_factor[active_extruder] = old_fac; +} + /** * Plan a move to (X, Y, Z) and set the current_position */ -void do_blocking_move_to(const float rx, const float ry, const float rz, const float &fr_mm_s/*=0.0*/) { +void do_blocking_move_to(const float rx, const float ry, const float rz, const feedRate_t &fr_mm_s/*=0.0*/) { if (DEBUGGING(LEVELING)) DEBUG_XYZ(">>> do_blocking_move_to", rx, ry, rz); - const float z_feedrate = fr_mm_s ? fr_mm_s : homing_feedrate(Z_AXIS), - xy_feedrate = fr_mm_s ? fr_mm_s : XY_PROBE_FEEDRATE_MM_S; + const feedRate_t z_feedrate = fr_mm_s ? fr_mm_s : homing_feedrate(Z_AXIS), + xy_feedrate = fr_mm_s ? fr_mm_s : feedRate_t(XY_PROBE_FEEDRATE_MM_S); #if ENABLED(DELTA) @@ -344,33 +361,33 @@ void do_blocking_move_to(const float rx, const float ry, const float rz, const f // when in the danger zone if (current_position[Z_AXIS] > delta_clip_start_height) { - if (rz > delta_clip_start_height) { // staying in the danger zone - destination[X_AXIS] = rx; // move directly (uninterpolated) + if (rz > delta_clip_start_height) { // staying in the danger zone + destination[X_AXIS] = rx; // move directly (uninterpolated) destination[Y_AXIS] = ry; destination[Z_AXIS] = rz; - prepare_uninterpolated_move_to_destination(); // set_current_from_destination() + prepare_internal_fast_move_to_destination(); // set_current_from_destination() if (DEBUGGING(LEVELING)) DEBUG_POS("danger zone move", current_position); return; } destination[Z_AXIS] = delta_clip_start_height; - prepare_uninterpolated_move_to_destination(); // set_current_from_destination() + prepare_internal_fast_move_to_destination(); // set_current_from_destination() if (DEBUGGING(LEVELING)) DEBUG_POS("zone border move", current_position); } - if (rz > current_position[Z_AXIS]) { // raising? + if (rz > current_position[Z_AXIS]) { // raising? destination[Z_AXIS] = rz; - prepare_uninterpolated_move_to_destination(z_feedrate); // set_current_from_destination() + prepare_internal_fast_move_to_destination(z_feedrate); // set_current_from_destination() if (DEBUGGING(LEVELING)) DEBUG_POS("z raise move", current_position); } destination[X_AXIS] = rx; destination[Y_AXIS] = ry; - prepare_move_to_destination(); // set_current_from_destination() + prepare_internal_move_to_destination(); // set_current_from_destination() if (DEBUGGING(LEVELING)) DEBUG_POS("xy move", current_position); - if (rz < current_position[Z_AXIS]) { // lowering? + if (rz < current_position[Z_AXIS]) { // lowering? destination[Z_AXIS] = rz; - prepare_uninterpolated_move_to_destination(z_feedrate); // set_current_from_destination() + prepare_fast_move_to_destination(z_feedrate); // set_current_from_destination() if (DEBUGGING(LEVELING)) DEBUG_POS("z lower move", current_position); } @@ -383,17 +400,17 @@ void do_blocking_move_to(const float rx, const float ry, const float rz, const f // If Z needs to raise, do it before moving XY if (destination[Z_AXIS] < rz) { destination[Z_AXIS] = rz; - prepare_uninterpolated_move_to_destination(z_feedrate); + prepare_internal_fast_move_to_destination(z_feedrate); } destination[X_AXIS] = rx; destination[Y_AXIS] = ry; - prepare_uninterpolated_move_to_destination(xy_feedrate); + prepare_internal_fast_move_to_destination(xy_feedrate); // If Z needs to lower, do it after moving XY if (destination[Z_AXIS] > rz) { destination[Z_AXIS] = rz; - prepare_uninterpolated_move_to_destination(z_feedrate); + prepare_internal_fast_move_to_destination(z_feedrate); } #else @@ -420,16 +437,16 @@ void do_blocking_move_to(const float rx, const float ry, const float rz, const f planner.synchronize(); } -void do_blocking_move_to_x(const float &rx, const float &fr_mm_s/*=0.0*/) { +void do_blocking_move_to_x(const float &rx, const feedRate_t &fr_mm_s/*=0.0*/) { do_blocking_move_to(rx, current_position[Y_AXIS], current_position[Z_AXIS], fr_mm_s); } -void do_blocking_move_to_y(const float &ry, const float &fr_mm_s/*=0.0*/) { +void do_blocking_move_to_y(const float &ry, const feedRate_t &fr_mm_s/*=0.0*/) { do_blocking_move_to(current_position[X_AXIS], ry, current_position[Z_AXIS], fr_mm_s); } -void do_blocking_move_to_z(const float &rz, const float &fr_mm_s/*=0.0*/) { +void do_blocking_move_to_z(const float &rz, const feedRate_t &fr_mm_s/*=0.0*/) { do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], rz, fr_mm_s); } -void do_blocking_move_to_xy(const float &rx, const float &ry, const float &fr_mm_s/*=0.0*/) { +void do_blocking_move_to_xy(const float &rx, const float &ry, const feedRate_t &fr_mm_s/*=0.0*/) { do_blocking_move_to(rx, ry, current_position[Z_AXIS], fr_mm_s); } @@ -439,12 +456,15 @@ void do_blocking_move_to_xy(const float &rx, const float &ry, const float &fr_mm // static float saved_feedrate_mm_s; static int16_t saved_feedrate_percentage; -void setup_for_endstop_or_probe_move() { +void remember_feedrate_and_scaling() { saved_feedrate_mm_s = feedrate_mm_s; saved_feedrate_percentage = feedrate_percentage; +} +void remember_feedrate_scaling_off() { + remember_feedrate_and_scaling(); feedrate_percentage = 100; } -void clean_up_after_endstop_or_probe_move() { +void restore_feedrate_and_scaling() { feedrate_mm_s = saved_feedrate_mm_s; feedrate_percentage = saved_feedrate_percentage; } @@ -502,7 +522,7 @@ void clean_up_after_endstop_or_probe_move() { soft_endstop[axis].min = base_min_pos(axis); soft_endstop[axis].max = (axis == Z_AXIS ? delta_height #if HAS_BED_PROBE - - zprobe_offset[Z_AXIS] + - probe_offset[Z_AXIS] #endif : base_max_pos(axis)); @@ -553,7 +573,7 @@ void clean_up_after_endstop_or_probe_move() { */ void apply_motion_limits(float target[XYZ]) { - if (!soft_endstops_enabled) return; + if (!soft_endstops_enabled || !all_axes_homed()) return; #if IS_KINEMATIC @@ -626,31 +646,31 @@ void clean_up_after_endstop_or_probe_move() { * small incremental moves for DELTA or SCARA. * * For Unified Bed Leveling (Delta or Segmented Cartesian) - * the ubl.prepare_segmented_line_to method replaces this. + * the ubl.line_to_destination_segmented method replaces this. * * For Auto Bed Leveling (Bilinear) with SEGMENT_LEVELED_MOVES * this is replaced by segmented_line_to_destination below. */ - inline bool prepare_kinematic_move_to(const float (&rtarget)[XYZE]) { + inline bool line_to_destination_kinematic() { // Get the top feedrate of the move in the XY plane - const float _feedrate_mm_s = MMS_SCALED(feedrate_mm_s); + const float scaled_fr_mm_s = MMS_SCALED(feedrate_mm_s); - const float xdiff = rtarget[X_AXIS] - current_position[X_AXIS], - ydiff = rtarget[Y_AXIS] - current_position[Y_AXIS]; + const float xdiff = destination[X_AXIS] - current_position[X_AXIS], + ydiff = destination[Y_AXIS] - current_position[Y_AXIS]; // If the move is only in Z/E don't split up the move if (!xdiff && !ydiff) { - planner.buffer_line(rtarget, _feedrate_mm_s, active_extruder); + planner.buffer_line(destination, scaled_fr_mm_s, active_extruder); return false; // caller will update current_position } // Fail if attempting move outside printable radius - if (!position_is_reachable(rtarget[X_AXIS], rtarget[Y_AXIS])) return true; + if (!position_is_reachable(destination[X_AXIS], destination[Y_AXIS])) return true; // Remaining cartesian distances - const float zdiff = rtarget[Z_AXIS] - current_position[Z_AXIS], - ediff = rtarget[E_AXIS] - current_position[E_AXIS]; + const float zdiff = destination[Z_AXIS] - current_position[Z_AXIS], + ediff = destination[E_AXIS] - current_position[E_AXIS]; // Get the linear distance in XYZ float cartesian_mm = SQRT(sq(xdiff) + sq(ydiff) + sq(zdiff)); @@ -662,7 +682,7 @@ void clean_up_after_endstop_or_probe_move() { if (UNEAR_ZERO(cartesian_mm)) return true; // Minimum number of seconds to move the given distance - const float seconds = cartesian_mm / _feedrate_mm_s; + const float seconds = cartesian_mm / scaled_fr_mm_s; // The number of segments-per-second times the duration // gives the number of segments @@ -670,7 +690,7 @@ void clean_up_after_endstop_or_probe_move() { // For SCARA enforce a minimum segment size #if IS_SCARA - NOMORE(segments, cartesian_mm * (1.0f / float(SCARA_MIN_SEGMENT_LENGTH))); + NOMORE(segments, cartesian_mm * RECIPROCAL(SCARA_MIN_SEGMENT_LENGTH)); #endif // At least one segment is required @@ -687,7 +707,7 @@ void clean_up_after_endstop_or_probe_move() { cartesian_segment_mm = cartesian_mm * inv_segments; #if ENABLED(SCARA_FEEDRATE_SCALING) - const float inv_duration = _feedrate_mm_s / cartesian_segment_mm; + const float inv_duration = scaled_fr_mm_s / cartesian_segment_mm; #endif /* @@ -714,7 +734,7 @@ void clean_up_after_endstop_or_probe_move() { LOOP_XYZE(i) raw[i] += segment_distance[i]; - if (!planner.buffer_line(raw, _feedrate_mm_s, active_extruder, cartesian_segment_mm + if (!planner.buffer_line(raw, scaled_fr_mm_s, active_extruder, cartesian_segment_mm #if ENABLED(SCARA_FEEDRATE_SCALING) , inv_duration #endif @@ -723,7 +743,7 @@ void clean_up_after_endstop_or_probe_move() { } // Ensure last segment arrives at target location. - planner.buffer_line(rtarget, _feedrate_mm_s, active_extruder, cartesian_segment_mm + planner.buffer_line(destination, scaled_fr_mm_s, active_extruder, cartesian_segment_mm #if ENABLED(SCARA_FEEDRATE_SCALING) , inv_duration #endif @@ -743,7 +763,7 @@ void clean_up_after_endstop_or_probe_move() { * small incremental moves. This allows the planner to * apply more detailed bed leveling to the full move. */ - inline void segmented_line_to_destination(const float &fr_mm_s, const float segment_size=LEVELED_SEGMENT_LENGTH) { + inline void segmented_line_to_destination(const feedRate_t &fr_mm_s, const float segment_size=LEVELED_SEGMENT_LENGTH) { const float xdiff = destination[X_AXIS] - current_position[X_AXIS], ydiff = destination[Y_AXIS] - current_position[Y_AXIS]; @@ -781,7 +801,7 @@ void clean_up_after_endstop_or_probe_move() { }; #if ENABLED(SCARA_FEEDRATE_SCALING) - const float inv_duration = _feedrate_mm_s / cartesian_segment_mm; + const float inv_duration = scaled_fr_mm_s / cartesian_segment_mm; #endif // SERIAL_ECHOPAIR("mm=", cartesian_mm); @@ -829,13 +849,14 @@ void clean_up_after_endstop_or_probe_move() { * Returns true if current_position[] was set to destination[] */ inline bool prepare_move_to_destination_cartesian() { + const float scaled_fr_mm_s = MMS_SCALED(feedrate_mm_s); #if HAS_MESH if (planner.leveling_active && planner.leveling_active_at_z(destination[Z_AXIS])) { #if ENABLED(AUTO_BED_LEVELING_UBL) - ubl.line_to_destination_cartesian(MMS_SCALED(feedrate_mm_s), active_extruder); // UBL's motion routine needs to know about - return true; // all moves, including Z-only moves. + ubl.line_to_destination_cartesian(scaled_fr_mm_s, active_extruder); // UBL's motion routine needs to know about + return true; // all moves, including Z-only moves. #elif ENABLED(SEGMENT_LEVELED_MOVES) - segmented_line_to_destination(MMS_SCALED(feedrate_mm_s)); + segmented_line_to_destination(scaled_fr_mm_s); return false; // caller will update current_position #else /** @@ -844,9 +865,9 @@ void clean_up_after_endstop_or_probe_move() { */ if (current_position[X_AXIS] != destination[X_AXIS] || current_position[Y_AXIS] != destination[Y_AXIS]) { #if ENABLED(MESH_BED_LEVELING) - mbl.line_to_destination(MMS_SCALED(feedrate_mm_s)); + mbl.line_to_destination(scaled_fr_mm_s); #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) - bilinear_line_to_destination(MMS_SCALED(feedrate_mm_s)); + bilinear_line_to_destination(scaled_fr_mm_s); #endif return true; } @@ -854,7 +875,7 @@ void clean_up_after_endstop_or_probe_move() { } #endif // HAS_MESH - buffer_line_to_destination(MMS_SCALED(feedrate_mm_s)); + planner.buffer_line(destination, scaled_fr_mm_s, active_extruder); return false; // caller will update current_position } @@ -968,6 +989,8 @@ void clean_up_after_endstop_or_probe_move() { * * Make sure current_position[E] and destination[E] are good * before calling or cold/lengthy extrusion may get missed. + * + * Before exit, current_position is set to destination. */ void prepare_move_to_destination() { apply_motion_limits(destination); @@ -1011,14 +1034,13 @@ void prepare_move_to_destination() { if ( #if UBL_SEGMENTED - //ubl.prepare_segmented_line_to(destination, MMS_SCALED(feedrate_mm_s)) // This doesn't seem to work correctly on UBL. - #if IS_KINEMATIC // Use Kinematic / Cartesian cases as a workaround for now. - ubl.prepare_segmented_line_to(destination, MMS_SCALED(feedrate_mm_s)) + #if IS_KINEMATIC // UBL using Kinematic / Cartesian cases as a workaround for now. + ubl.line_to_destination_segmented(MMS_SCALED(feedrate_mm_s)) #else prepare_move_to_destination_cartesian() #endif #elif IS_KINEMATIC - prepare_kinematic_move_to(destination) + line_to_destination_kinematic() #else prepare_move_to_destination_cartesian() #endif @@ -1027,26 +1049,32 @@ void prepare_move_to_destination() { set_current_from_destination(); } -bool axis_unhomed_error(const bool x/*=true*/, const bool y/*=true*/, const bool z/*=true*/) { +uint8_t axes_need_homing(uint8_t axis_bits/*=0x07*/) { #if ENABLED(HOME_AFTER_DEACTIVATE) - const bool xx = x && !TEST(axis_known_position, X_AXIS), - yy = y && !TEST(axis_known_position, Y_AXIS), - zz = z && !TEST(axis_known_position, Z_AXIS); + #define HOMED_FLAGS axis_known_position #else - const bool xx = x && !TEST(axis_homed, X_AXIS), - yy = y && !TEST(axis_homed, Y_AXIS), - zz = z && !TEST(axis_homed, Z_AXIS); + #define HOMED_FLAGS axis_homed #endif - if (xx || yy || zz) { - SERIAL_ECHO_START(); - SERIAL_ECHOPGM(MSG_HOME " "); - if (xx) SERIAL_CHAR('X'); - if (yy) SERIAL_CHAR('Y'); - if (zz) SERIAL_CHAR('Z'); - SERIAL_ECHOLNPGM(" " MSG_FIRST); + // Clear test bits that are homed + if (TEST(axis_bits, X_AXIS) && TEST(HOMED_FLAGS, X_AXIS)) CBI(axis_bits, X_AXIS); + if (TEST(axis_bits, Y_AXIS) && TEST(HOMED_FLAGS, Y_AXIS)) CBI(axis_bits, Y_AXIS); + if (TEST(axis_bits, Z_AXIS) && TEST(HOMED_FLAGS, Z_AXIS)) CBI(axis_bits, Z_AXIS); + return axis_bits; +} +bool axis_unhomed_error(uint8_t axis_bits/*=0x07*/) { + if ((axis_bits = axes_need_homing(axis_bits))) { + static const char home_first[] PROGMEM = MSG_HOME_FIRST; + char msg[sizeof(home_first)]; + sprintf_P(msg, home_first, + TEST(axis_bits, X_AXIS) ? "X" : "", + TEST(axis_bits, Y_AXIS) ? "Y" : "", + TEST(axis_bits, Z_AXIS) ? "Z" : "" + ); + SERIAL_ECHO_START(); + SERIAL_ECHOLN(msg); #if HAS_DISPLAY - ui.status_printf_P(0, PSTR(MSG_HOME " %s%s%s " MSG_FIRST), xx ? MSG_X : "", yy ? MSG_Y : "", zz ? MSG_Z : ""); + ui.set_status(msg); #endif return true; } @@ -1056,7 +1084,7 @@ bool axis_unhomed_error(const bool x/*=true*/, const bool y/*=true*/, const bool /** * Homing bump feedrate (mm/s) */ -float get_homing_bump_feedrate(const AxisEnum axis) { +feedRate_t get_homing_bump_feedrate(const AxisEnum axis) { #if HOMING_Z_WITH_PROBE if (axis == Z_AXIS) return MMM_TO_MMS(Z_PROBE_SPEED_SLOW); #endif @@ -1066,7 +1094,7 @@ float get_homing_bump_feedrate(const AxisEnum axis) { hbd = 10; SERIAL_ECHO_MSG("Warning: Homing Bump Divisor < 1"); } - return homing_feedrate(axis) / hbd; + return homing_feedrate(axis) / float(hbd); } #if ENABLED(SENSORLESS_HOMING) @@ -1212,7 +1240,7 @@ float get_homing_bump_feedrate(const AxisEnum axis) { /** * Home an individual linear axis */ -void do_homing_move(const AxisEnum axis, const float distance, const float fr_mm_s=0.0) { +void do_homing_move(const AxisEnum axis, const float distance, const feedRate_t fr_mm_s=0.0) { if (DEBUGGING(LEVELING)) { DEBUG_ECHOPAIR(">>> do_homing_move(", axis_codes[axis], ", ", distance, ", "); @@ -1257,12 +1285,13 @@ void do_homing_move(const AxisEnum axis, const float distance, const float fr_mm #endif } + const feedRate_t real_fr_mm_s = fr_mm_s ? fr_mm_s : homing_feedrate(axis); #if IS_SCARA // Tell the planner the axis is at 0 current_position[axis] = 0; sync_plan_position(); current_position[axis] = distance; - planner.buffer_line(current_position, fr_mm_s ? fr_mm_s : homing_feedrate(axis), active_extruder); + line_to_current_position(real_fr_mm_s); #else float target[ABCE] = { planner.get_axis_position_mm(A_AXIS), planner.get_axis_position_mm(B_AXIS), planner.get_axis_position_mm(C_AXIS), planner.get_axis_position_mm(E_AXIS) }; target[axis] = 0; @@ -1278,7 +1307,7 @@ void do_homing_move(const AxisEnum axis, const float distance, const float fr_mm #if IS_KINEMATIC && ENABLED(JUNCTION_DEVIATION) , delta_mm_cart #endif - , fr_mm_s ? fr_mm_s : homing_feedrate(axis), active_extruder + , real_fr_mm_s, active_extruder ); #endif @@ -1337,7 +1366,7 @@ void set_axis_is_at_home(const AxisEnum axis) { #elif ENABLED(DELTA) current_position[axis] = (axis == Z_AXIS ? delta_height #if HAS_BED_PROBE - - zprobe_offset[Z_AXIS] + - probe_offset[Z_AXIS] #endif : base_home_pos(axis)); #else @@ -1351,9 +1380,9 @@ void set_axis_is_at_home(const AxisEnum axis) { if (axis == Z_AXIS) { #if HOMING_Z_WITH_PROBE - current_position[Z_AXIS] -= zprobe_offset[Z_AXIS]; + current_position[Z_AXIS] -= probe_offset[Z_AXIS]; - if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("*** Z HOMED WITH PROBE (Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) ***\n> zprobe_offset[Z_AXIS] = ", zprobe_offset[Z_AXIS]); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("*** Z HOMED WITH PROBE (Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) ***\n> probe_offset[Z_AXIS] = ", probe_offset[Z_AXIS]); #else @@ -1498,7 +1527,7 @@ void homeaxis(const AxisEnum axis) { if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Move Away:"); do_homing_move(axis, -bump #if HOMING_Z_WITH_PROBE - , axis == Z_AXIS ? MMM_TO_MMS(Z_PROBE_SPEED_FAST) : 0.0 + , MMM_TO_MMS(axis == Z_AXIS ? Z_PROBE_SPEED_FAST : 0) #endif ); @@ -1658,7 +1687,12 @@ void homeaxis(const AxisEnum axis) { ]; if (backoff_mm) { current_position[axis] -= ABS(backoff_mm) * axis_home_dir; - line_to_current_position(Z_PROBE_SPEED_FAST); + line_to_current_position( + #if HOMING_Z_WITH_PROBE + (axis == Z_AXIS) ? MMM_TO_MMS(Z_PROBE_SPEED_FAST) : + #endif + homing_feedrate(axis) + ); } #endif diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h index ddad41a825..9c465a1d59 100644 --- a/Marlin/src/module/motion.h +++ b/Marlin/src/module/motion.h @@ -85,17 +85,16 @@ extern float cartes[XYZ]; * Feed rates are often configured with mm/m * but the planner and stepper like mm/s units. */ -extern const float homing_feedrate_mm_s[XYZ]; -FORCE_INLINE float homing_feedrate(const AxisEnum a) { return pgm_read_float(&homing_feedrate_mm_s[a]); } -float get_homing_bump_feedrate(const AxisEnum axis); +extern const feedRate_t homing_feedrate_mm_s[XYZ]; +FORCE_INLINE feedRate_t homing_feedrate(const AxisEnum a) { return pgm_read_float(&homing_feedrate_mm_s[a]); } +feedRate_t get_homing_bump_feedrate(const AxisEnum axis); -extern float feedrate_mm_s; +extern feedRate_t feedrate_mm_s; /** - * Feedrate scaling and conversion + * Feedrate scaling */ extern int16_t feedrate_percentage; -#define MMS_SCALED(MM_S) ((MM_S)*feedrate_percentage*0.01f) // The active extruder (tool). Set with T command. #if EXTRUDERS > 1 @@ -128,8 +127,10 @@ XYZ_DEFS(signed char, home_dir, HOME_DIR); #if HAS_HOTEND_OFFSET extern float hotend_offset[XYZ][HOTENDS]; void reset_hotend_offsets(); -#else +#elif HOTENDS > 0 constexpr float hotend_offset[XYZ][HOTENDS] = { { 0 }, { 0 }, { 0 } }; +#else + constexpr float hotend_offset[XYZ][1] = { { 0 }, { 0 }, { 0 } }; #endif typedef struct { float min, max; } axis_limits_t; @@ -170,45 +171,55 @@ void sync_plan_position_e(); * Move the planner to the current position from wherever it last moved * (or from wherever it has been told it is located). */ -void line_to_current_position(const float &fr_mm_s=feedrate_mm_s); - -/** - * Move the planner to the position stored in the destination array, which is - * used by G0/G1/G2/G3/G5 and many other functions to set a destination. - */ -void buffer_line_to_destination(const float fr_mm_s); - -#if IS_KINEMATIC - void prepare_uninterpolated_move_to_destination(const float &fr_mm_s=0); -#endif +void line_to_current_position(const feedRate_t &fr_mm_s=feedrate_mm_s); void prepare_move_to_destination(); +void _internal_move_to_destination(const feedRate_t &fr_mm_s=0.0f + #if IS_KINEMATIC + , const bool is_fast=false + #endif +); + +inline void prepare_internal_move_to_destination(const feedRate_t &fr_mm_s=0.0f) { + _internal_move_to_destination(fr_mm_s); +} + +#if IS_KINEMATIC + void prepare_fast_move_to_destination(const feedRate_t &scaled_fr_mm_s=MMS_SCALED(feedrate_mm_s)); + + inline void prepare_internal_fast_move_to_destination(const feedRate_t &fr_mm_s=0.0f) { + _internal_move_to_destination(fr_mm_s, true); + } +#endif + /** * Blocking movement and shorthand functions */ -void do_blocking_move_to(const float rx, const float ry, const float rz, const float &fr_mm_s=0); -void do_blocking_move_to_x(const float &rx, const float &fr_mm_s=0); -void do_blocking_move_to_y(const float &ry, const float &fr_mm_s=0); -void do_blocking_move_to_z(const float &rz, const float &fr_mm_s=0); -void do_blocking_move_to_xy(const float &rx, const float &ry, const float &fr_mm_s=0); +void do_blocking_move_to(const float rx, const float ry, const float rz, const feedRate_t &fr_mm_s=0.0f); +void do_blocking_move_to_x(const float &rx, const feedRate_t &fr_mm_s=0.0f); +void do_blocking_move_to_y(const float &ry, const feedRate_t &fr_mm_s=0.0f); +void do_blocking_move_to_z(const float &rz, const feedRate_t &fr_mm_s=0.0f); +void do_blocking_move_to_xy(const float &rx, const float &ry, const feedRate_t &fr_mm_s=0.0f); -FORCE_INLINE void do_blocking_move_to(const float (&raw)[XYZ], const float &fr_mm_s=0) { +FORCE_INLINE void do_blocking_move_to(const float (&raw)[XYZ], const feedRate_t &fr_mm_s=0) { do_blocking_move_to(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], fr_mm_s); } -FORCE_INLINE void do_blocking_move_to(const float (&raw)[XYZE], const float &fr_mm_s=0) { +FORCE_INLINE void do_blocking_move_to(const float (&raw)[XYZE], const feedRate_t &fr_mm_s=0) { do_blocking_move_to(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], fr_mm_s); } -void setup_for_endstop_or_probe_move(); -void clean_up_after_endstop_or_probe_move(); +void remember_feedrate_and_scaling(); +void remember_feedrate_scaling_off(); +void restore_feedrate_and_scaling(); // // Homing // -bool axis_unhomed_error(const bool x=true, const bool y=true, const bool z=true); +uint8_t axes_need_homing(uint8_t axis_bits=0x07); +bool axis_unhomed_error(uint8_t axis_bits=0x07); #if ENABLED(NO_MOTION_BEFORE_HOMING) #define MOTION_CONDITIONS (IsRunning() && !axis_unhomed_error()) @@ -258,11 +269,6 @@ void homeaxis(const AxisEnum axis); */ #if IS_KINEMATIC // (DELTA or SCARA) - - #if IS_SCARA - extern const float L1, L2; - #endif - #if HAS_SCARA_OFFSET extern float scara_home_offset[ABC]; // A and B angular offsets, Z mm offset #endif @@ -286,7 +292,7 @@ void homeaxis(const AxisEnum axis); // Return true if the both nozzle and the probe can reach the given point. // Note: This won't work on SCARA since the probe offset rotates with the arm. inline bool position_is_reachable_by_probe(const float &rx, const float &ry) { - return position_is_reachable(rx - (zprobe_offset[X_AXIS]), ry - (zprobe_offset[Y_AXIS])) + return position_is_reachable(rx - probe_offset[X_AXIS], ry - probe_offset[Y_AXIS]) && position_is_reachable(rx, ry, ABS(MIN_PROBE_EDGE)); } #endif @@ -315,9 +321,9 @@ void homeaxis(const AxisEnum axis); * nozzle must be be able to reach +10,-10. */ inline bool position_is_reachable_by_probe(const float &rx, const float &ry) { - return position_is_reachable(rx - (zprobe_offset[X_AXIS]), ry - (zprobe_offset[Y_AXIS])) - && WITHIN(rx, (_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + zprobe_offset[X_AXIS])) - slop, (_MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + zprobe_offset[X_AXIS])) + slop) - && WITHIN(ry, (_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + zprobe_offset[Y_AXIS])) - slop, (_MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + zprobe_offset[Y_AXIS])) + slop); + return position_is_reachable(rx - probe_offset[X_AXIS], ry - probe_offset[Y_AXIS]) + && WITHIN(rx, probe_min_x() - slop, probe_max_x() + slop) + && WITHIN(ry, probe_min_y() - slop, probe_max_y() + slop); } #endif diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index 77da3a0c35..2715221f32 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -96,6 +96,10 @@ #include "../feature/backlash.h" #endif +#if ENABLED(POWER_LOSS_RECOVERY) + #include "../feature/power_loss_recovery.h" +#endif + // Delay for delivery of first block to the stepper ISR, if the queue contains 2 or // fewer movements. The delay is measured in milliseconds, and must be less than 250ms #define BLOCK_DELAY_FOR_1ST_MOVE 100 @@ -147,9 +151,10 @@ float Planner::steps_to_mm[XYZE_N]; // (mm) Millimeters per step uint8_t Planner::last_extruder = 0; // Respond to extruder change #endif -int16_t Planner::flow_percentage[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(100); // Extrusion factor for each extruder - -float Planner::e_factor[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(1.0f); // The flow percentage and volumetric multiplier combine to scale E movement +#if EXTRUDERS + int16_t Planner::flow_percentage[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(100); // Extrusion factor for each extruder + float Planner::e_factor[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(1.0f); // The flow percentage and volumetric multiplier combine to scale E movement +#endif #if DISABLED(NO_VOLUMETRICS) float Planner::filament_size[EXTRUDERS], // diameter of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder @@ -994,23 +999,23 @@ void Planner::forward_pass() { // pass will never modify the values at the tail. uint8_t block_index = block_buffer_planned; - block_t *current; + block_t *block; const block_t * previous = nullptr; while (block_index != block_buffer_head) { // Perform the forward pass - current = &block_buffer[block_index]; + block = &block_buffer[block_index]; // Skip SYNC blocks - if (!TEST(current->flag, BLOCK_BIT_SYNC_POSITION)) { + if (!TEST(block->flag, BLOCK_BIT_SYNC_POSITION)) { // If there's no previous block or the previous block is not // BUSY (thus, modifiable) run the forward_pass_kernel. Otherwise, // the previous block became BUSY, so assume the current block's // entry speed can't be altered (since that would also require // updating the exit speed of the previous block). if (!previous || !stepper.is_block_busy(previous)) - forward_pass_kernel(previous, current, block_index); - previous = current; + forward_pass_kernel(previous, block, block_index); + previous = block; } // Advance to the previous block_index = next_block_index(block_index); @@ -1045,7 +1050,7 @@ void Planner::recalculate_trapezoids() { } // Go from the tail (currently executed block) to the first block, without including it) - block_t *current = nullptr, *next = nullptr; + block_t *block = nullptr, *next = nullptr; float current_entry_speed = 0.0, next_entry_speed = 0.0; while (block_index != head_block_index) { @@ -1055,41 +1060,41 @@ void Planner::recalculate_trapezoids() { if (!TEST(next->flag, BLOCK_BIT_SYNC_POSITION)) { next_entry_speed = SQRT(next->entry_speed_sqr); - if (current) { + if (block) { // Recalculate if current block entry or exit junction speed has changed. - if (TEST(current->flag, BLOCK_BIT_RECALCULATE) || TEST(next->flag, BLOCK_BIT_RECALCULATE)) { + if (TEST(block->flag, BLOCK_BIT_RECALCULATE) || TEST(next->flag, BLOCK_BIT_RECALCULATE)) { // Mark the current block as RECALCULATE, to protect it from the Stepper ISR running it. // Note that due to the above condition, there's a chance the current block isn't marked as // RECALCULATE yet, but the next one is. That's the reason for the following line. - SBI(current->flag, BLOCK_BIT_RECALCULATE); + SBI(block->flag, BLOCK_BIT_RECALCULATE); // But there is an inherent race condition here, as the block maybe // became BUSY, just before it was marked as RECALCULATE, so check // if that is the case! - if (!stepper.is_block_busy(current)) { + if (!stepper.is_block_busy(block)) { // Block is not BUSY, we won the race against the Stepper ISR: // NOTE: Entry and exit factors always > 0 by all previous logic operations. - const float current_nominal_speed = SQRT(current->nominal_speed_sqr), + const float current_nominal_speed = SQRT(block->nominal_speed_sqr), nomr = 1.0f / current_nominal_speed; - calculate_trapezoid_for_block(current, current_entry_speed * nomr, next_entry_speed * nomr); + calculate_trapezoid_for_block(block, current_entry_speed * nomr, next_entry_speed * nomr); #if ENABLED(LIN_ADVANCE) - if (current->use_advance_lead) { - const float comp = current->e_D_ratio * extruder_advance_K[active_extruder] * settings.axis_steps_per_mm[E_AXIS]; - current->max_adv_steps = current_nominal_speed * comp; - current->final_adv_steps = next_entry_speed * comp; + if (block->use_advance_lead) { + const float comp = block->e_D_ratio * extruder_advance_K[active_extruder] * settings.axis_steps_per_mm[E_AXIS]; + block->max_adv_steps = current_nominal_speed * comp; + block->final_adv_steps = next_entry_speed * comp; } #endif } // Reset current only to ensure next trapezoid is computed - The // stepper is free to use the block from now on. - CBI(current->flag, BLOCK_BIT_RECALCULATE); + CBI(block->flag, BLOCK_BIT_RECALCULATE); } } - current = next; + block = next; current_entry_speed = next_entry_speed; } @@ -1107,7 +1112,7 @@ void Planner::recalculate_trapezoids() { // But there is an inherent race condition here, as the block maybe // became BUSY, just before it was marked as RECALCULATE, so check // if that is the case! - if (!stepper.is_block_busy(current)) { + if (!stepper.is_block_busy(block)) { // Block is not BUSY, we won the race against the Stepper ISR: const float next_nominal_speed = SQRT(next->nominal_speed_sqr), @@ -1169,7 +1174,10 @@ void Planner::recalculate() { * Maintain fans, paste extruder pressure, */ void Planner::check_axes_activity() { - uint8_t axis_active[NUM_AXIS] = { 0 }; + + #if ANY(DISABLE_X, DISABLE_Y, DISABLE_Z, DISABLE_E) + uint8_t axis_active[NUM_AXIS] = { 0 }; + #endif #if FAN_COUNT > 0 uint8_t tail_fan_speed[FAN_COUNT]; @@ -1185,10 +1193,9 @@ void Planner::check_axes_activity() { #endif if (has_blocks_queued()) { - block_t* block; #if FAN_COUNT > 0 || ENABLED(BARICUDA) - block = &block_buffer[block_buffer_tail]; + block_t *block = &block_buffer[block_buffer_tail]; #endif #if FAN_COUNT > 0 @@ -1205,10 +1212,12 @@ void Planner::check_axes_activity() { #endif #endif - for (uint8_t b = block_buffer_tail; b != block_buffer_head; b = next_block_index(b)) { - block = &block_buffer[b]; - LOOP_XYZE(i) if (block->steps[i]) axis_active[i]++; - } + #if ANY(DISABLE_X, DISABLE_Y, DISABLE_Z, DISABLE_E) + for (uint8_t b = block_buffer_tail; b != block_buffer_head; b = next_block_index(b)) { + block_t *block = &block_buffer[b]; + LOOP_XYZE(i) if (block->steps[i]) axis_active[i] = true; + } + #endif } else { #if FAN_COUNT > 0 @@ -1327,14 +1336,14 @@ void Planner::check_axes_activity() { * into a volumetric multiplier. Conversion differs when using * linear extrusion vs volumetric extrusion. */ - void Planner::calculate_volumetric_for_width_sensor(const int8_t encoded_ratio) { + void Planner::apply_filament_width_sensor(const int8_t encoded_ratio) { // Reconstitute the nominal/measured ratio const float nom_meas_ratio = 1 + 0.01f * encoded_ratio, ratio_2 = sq(nom_meas_ratio); volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] = parser.volumetric_enabled - ? ratio_2 / CIRCLE_AREA(filament_width_nominal * 0.5f) // Volumetric uses a true volumetric multiplier - : ratio_2; // Linear squares the ratio, which scales the volume + ? ratio_2 / CIRCLE_AREA(filwidth.nominal_mm * 0.5f) // Volumetric uses a true volumetric multiplier + : ratio_2; // Linear squares the ratio, which scales the volume refresh_e_factor(FILAMENT_SENSOR_EXTRUDER_NUM); } @@ -1512,14 +1521,14 @@ float Planner::get_axis_position_mm(const AxisEnum axis) { const bool was_enabled = STEPPER_ISR_ENABLED(); if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); - // ((a1+a2)+(a1-a2))/2 -> (a1+a2+a1-a2)/2 -> (a1+a1)/2 -> a1 - // ((a1+a2)-(a1-a2))/2 -> (a1+a2-a1+a2)/2 -> (a2+a2)/2 -> a2 - axis_steps = 0.5f * ( - axis == CORE_AXIS_2 ? CORESIGN(stepper.position(CORE_AXIS_1) - stepper.position(CORE_AXIS_2)) - : stepper.position(CORE_AXIS_1) + stepper.position(CORE_AXIS_2) - ); + const int32_t p1 = stepper.position(CORE_AXIS_1), + p2 = stepper.position(CORE_AXIS_2); if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); + + // ((a1+a2)+(a1-a2))/2 -> (a1+a2+a1-a2)/2 -> (a1+a1)/2 -> a1 + // ((a1+a2)-(a1-a2))/2 -> (a1+a2-a1+a2)/2 -> (a2+a2)/2 -> a2 + axis_steps = (axis == CORE_AXIS_2 ? CORESIGN(p1 - p2) : p1 + p2) * 0.5f; } else axis_steps = stepper.position(axis); @@ -1546,11 +1555,11 @@ void Planner::synchronize() { * * Add a new linear movement to the planner queue (in terms of steps). * - * target - target position in steps units - * target_float - target position in direct (mm, degrees) units. optional - * fr_mm_s - (target) speed of the move - * extruder - target extruder - * millimeters - the length of the movement, if known + * target - target position in steps units + * target_float - target position in direct (mm, degrees) units. optional + * fr_mm_s - (target) speed of the move + * extruder - target extruder + * millimeters - the length of the movement, if known * * Returns true if movement was properly queued, false otherwise */ @@ -1561,7 +1570,7 @@ bool Planner::_buffer_steps(const int32_t (&target)[XYZE] #if IS_KINEMATIC && ENABLED(JUNCTION_DEVIATION) , const float (&delta_mm_cart)[XYZE] #endif - , float fr_mm_s, const uint8_t extruder, const float &millimeters + , feedRate_t fr_mm_s, const uint8_t extruder, const float &millimeters ) { // If we are cleaning, do not accept queuing of movements @@ -1625,26 +1634,28 @@ bool Planner::_populate_block(block_t * const block, bool split_move, #if IS_KINEMATIC && ENABLED(JUNCTION_DEVIATION) , const float (&delta_mm_cart)[XYZE] #endif - , float fr_mm_s, const uint8_t extruder, const float &millimeters/*=0.0*/ + , feedRate_t fr_mm_s, const uint8_t extruder, const float &millimeters/*=0.0*/ ) { const int32_t da = target[A_AXIS] - position[A_AXIS], db = target[B_AXIS] - position[B_AXIS], dc = target[C_AXIS] - position[C_AXIS]; - int32_t de = target[E_AXIS] - position[E_AXIS]; + #if EXTRUDERS + int32_t de = target[E_AXIS] - position[E_AXIS]; + #else + constexpr int32_t de = 0; + #endif /* <-- add a slash to enable - SERIAL_ECHOPAIR(" _populate_block FR:", fr_mm_s); - SERIAL_ECHOPAIR(" A:", target[A_AXIS]); - SERIAL_ECHOPAIR(" (", da); - SERIAL_ECHOPAIR(" steps) B:", target[B_AXIS]); - SERIAL_ECHOPAIR(" (", db); - SERIAL_ECHOPAIR(" steps) C:", target[C_AXIS]); - SERIAL_ECHOPAIR(" (", dc); - SERIAL_ECHOPAIR(" steps) E:", target[E_AXIS]); - SERIAL_ECHOPAIR(" (", de); - SERIAL_ECHOLNPGM(" steps)"); + SERIAL_ECHOLNPAIR(" _populate_block FR:", fr_mm_s, + " A:", target[A_AXIS], " (", da, " steps)" + " B:", target[B_AXIS], " (", db, " steps)" + " C:", target[C_AXIS], " (", dc, " steps)" + #if EXTRUDERS + " E:", target[E_AXIS], " (", de, " steps)" + #endif + ); //*/ #if EITHER(PREVENT_COLD_EXTRUSION, PREVENT_LENGTHY_EXTRUDE) @@ -1712,8 +1723,12 @@ bool Planner::_populate_block(block_t * const block, bool split_move, #endif if (de < 0) SBI(dm, E_AXIS); - const float esteps_float = de * e_factor[extruder]; - const uint32_t esteps = ABS(esteps_float) + 0.5f; + #if EXTRUDERS + const float esteps_float = de * e_factor[extruder]; + const uint32_t esteps = ABS(esteps_float) + 0.5f; + #else + constexpr uint32_t esteps = 0; + #endif // Clear all flags, including the "busy" bit block->flag = 0x00; @@ -1781,10 +1796,17 @@ bool Planner::_populate_block(block_t * const block, bool split_move, delta_mm[B_AXIS] = db * steps_to_mm[B_AXIS]; delta_mm[C_AXIS] = dc * steps_to_mm[C_AXIS]; #endif - delta_mm[E_AXIS] = esteps_float * steps_to_mm[E_AXIS_N(extruder)]; + + #if EXTRUDERS + delta_mm[E_AXIS] = esteps_float * steps_to_mm[E_AXIS_N(extruder)]; + #endif if (block->steps[A_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[B_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[C_AXIS] < MIN_STEPS_PER_SEGMENT) { - block->millimeters = ABS(delta_mm[E_AXIS]); + block->millimeters = (0 + #if EXTRUDERS + + ABS(delta_mm[E_AXIS]) + #endif + ); } else { if (millimeters) @@ -1816,7 +1838,10 @@ bool Planner::_populate_block(block_t * const block, bool split_move, #endif } - block->steps[E_AXIS] = esteps; + #if EXTRUDERS + block->steps[E_AXIS] = esteps; + #endif + block->step_event_count = _MAX(block->steps[A_AXIS], block->steps[B_AXIS], block->steps[C_AXIS], esteps); // Bail if this is a zero-length block @@ -1874,129 +1899,131 @@ bool Planner::_populate_block(block_t * const block, bool split_move, #endif // Enable extruder(s) - if (esteps) { - #if ENABLED(AUTO_POWER_CONTROL) - powerManager.power_on(); - #endif + #if EXTRUDERS + if (esteps) { + #if ENABLED(AUTO_POWER_CONTROL) + powerManager.power_on(); + #endif - #if ENABLED(DISABLE_INACTIVE_EXTRUDER) // Enable only the selected extruder + #if ENABLED(DISABLE_INACTIVE_EXTRUDER) // Enable only the selected extruder - #define DISABLE_IDLE_E(N) if (!g_uc_extruder_last_move[N]) disable_E##N(); + #define DISABLE_IDLE_E(N) if (!g_uc_extruder_last_move[N]) disable_E##N(); - for (uint8_t i = 0; i < EXTRUDERS; i++) - if (g_uc_extruder_last_move[i] > 0) g_uc_extruder_last_move[i]--; + for (uint8_t i = 0; i < EXTRUDERS; i++) + if (g_uc_extruder_last_move[i] > 0) g_uc_extruder_last_move[i]--; - switch (extruder) { - case 0: + switch (extruder) { + case 0: + #if EXTRUDERS > 1 + DISABLE_IDLE_E(1); + #if EXTRUDERS > 2 + DISABLE_IDLE_E(2); + #if EXTRUDERS > 3 + DISABLE_IDLE_E(3); + #if EXTRUDERS > 4 + DISABLE_IDLE_E(4); + #if EXTRUDERS > 5 + DISABLE_IDLE_E(5); + #endif // EXTRUDERS > 5 + #endif // EXTRUDERS > 4 + #endif // EXTRUDERS > 3 + #endif // EXTRUDERS > 2 + #endif // EXTRUDERS > 1 + enable_E0(); + g_uc_extruder_last_move[0] = (BLOCK_BUFFER_SIZE) * 2; + #if HAS_DUPLICATION_MODE + if (extruder_duplication_enabled) { + enable_E1(); + g_uc_extruder_last_move[1] = (BLOCK_BUFFER_SIZE) * 2; + } + #endif + break; #if EXTRUDERS > 1 - DISABLE_IDLE_E(1); + case 1: + DISABLE_IDLE_E(0); + #if EXTRUDERS > 2 + DISABLE_IDLE_E(2); + #if EXTRUDERS > 3 + DISABLE_IDLE_E(3); + #if EXTRUDERS > 4 + DISABLE_IDLE_E(4); + #if EXTRUDERS > 5 + DISABLE_IDLE_E(5); + #endif // EXTRUDERS > 5 + #endif // EXTRUDERS > 4 + #endif // EXTRUDERS > 3 + #endif // EXTRUDERS > 2 + enable_E1(); + g_uc_extruder_last_move[1] = (BLOCK_BUFFER_SIZE) * 2; + break; #if EXTRUDERS > 2 - DISABLE_IDLE_E(2); + case 2: + DISABLE_IDLE_E(0); + DISABLE_IDLE_E(1); + #if EXTRUDERS > 3 + DISABLE_IDLE_E(3); + #if EXTRUDERS > 4 + DISABLE_IDLE_E(4); + #if EXTRUDERS > 5 + DISABLE_IDLE_E(5); + #endif + #endif + #endif + enable_E2(); + g_uc_extruder_last_move[2] = (BLOCK_BUFFER_SIZE) * 2; + break; #if EXTRUDERS > 3 - DISABLE_IDLE_E(3); + case 3: + DISABLE_IDLE_E(0); + DISABLE_IDLE_E(1); + DISABLE_IDLE_E(2); + #if EXTRUDERS > 4 + DISABLE_IDLE_E(4); + #if EXTRUDERS > 5 + DISABLE_IDLE_E(5); + #endif + #endif + enable_E3(); + g_uc_extruder_last_move[3] = (BLOCK_BUFFER_SIZE) * 2; + break; #if EXTRUDERS > 4 - DISABLE_IDLE_E(4); + case 4: + DISABLE_IDLE_E(0); + DISABLE_IDLE_E(1); + DISABLE_IDLE_E(2); + DISABLE_IDLE_E(3); + #if EXTRUDERS > 5 + DISABLE_IDLE_E(5); + #endif + enable_E4(); + g_uc_extruder_last_move[4] = (BLOCK_BUFFER_SIZE) * 2; + break; #if EXTRUDERS > 5 - DISABLE_IDLE_E(5); + case 5: + DISABLE_IDLE_E(0); + DISABLE_IDLE_E(1); + DISABLE_IDLE_E(2); + DISABLE_IDLE_E(3); + DISABLE_IDLE_E(4); + enable_E5(); + g_uc_extruder_last_move[5] = (BLOCK_BUFFER_SIZE) * 2; + break; #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 #endif // EXTRUDERS > 1 - enable_E0(); - g_uc_extruder_last_move[0] = (BLOCK_BUFFER_SIZE) * 2; - #if HAS_DUPLICATION_MODE - if (extruder_duplication_enabled) { - enable_E1(); - g_uc_extruder_last_move[1] = (BLOCK_BUFFER_SIZE) * 2; - } - #endif - break; - #if EXTRUDERS > 1 - case 1: - DISABLE_IDLE_E(0); - #if EXTRUDERS > 2 - DISABLE_IDLE_E(2); - #if EXTRUDERS > 3 - DISABLE_IDLE_E(3); - #if EXTRUDERS > 4 - DISABLE_IDLE_E(4); - #if EXTRUDERS > 5 - DISABLE_IDLE_E(5); - #endif // EXTRUDERS > 5 - #endif // EXTRUDERS > 4 - #endif // EXTRUDERS > 3 - #endif // EXTRUDERS > 2 - enable_E1(); - g_uc_extruder_last_move[1] = (BLOCK_BUFFER_SIZE) * 2; - break; - #if EXTRUDERS > 2 - case 2: - DISABLE_IDLE_E(0); - DISABLE_IDLE_E(1); - #if EXTRUDERS > 3 - DISABLE_IDLE_E(3); - #if EXTRUDERS > 4 - DISABLE_IDLE_E(4); - #if EXTRUDERS > 5 - DISABLE_IDLE_E(5); - #endif - #endif - #endif - enable_E2(); - g_uc_extruder_last_move[2] = (BLOCK_BUFFER_SIZE) * 2; - break; - #if EXTRUDERS > 3 - case 3: - DISABLE_IDLE_E(0); - DISABLE_IDLE_E(1); - DISABLE_IDLE_E(2); - #if EXTRUDERS > 4 - DISABLE_IDLE_E(4); - #if EXTRUDERS > 5 - DISABLE_IDLE_E(5); - #endif - #endif - enable_E3(); - g_uc_extruder_last_move[3] = (BLOCK_BUFFER_SIZE) * 2; - break; - #if EXTRUDERS > 4 - case 4: - DISABLE_IDLE_E(0); - DISABLE_IDLE_E(1); - DISABLE_IDLE_E(2); - DISABLE_IDLE_E(3); - #if EXTRUDERS > 5 - DISABLE_IDLE_E(5); - #endif - enable_E4(); - g_uc_extruder_last_move[4] = (BLOCK_BUFFER_SIZE) * 2; - break; - #if EXTRUDERS > 5 - case 5: - DISABLE_IDLE_E(0); - DISABLE_IDLE_E(1); - DISABLE_IDLE_E(2); - DISABLE_IDLE_E(3); - DISABLE_IDLE_E(4); - enable_E5(); - g_uc_extruder_last_move[5] = (BLOCK_BUFFER_SIZE) * 2; - break; - #endif // EXTRUDERS > 5 - #endif // EXTRUDERS > 4 - #endif // EXTRUDERS > 3 - #endif // EXTRUDERS > 2 - #endif // EXTRUDERS > 1 - } - #else - enable_E0(); - enable_E1(); - enable_E2(); - enable_E3(); - enable_E4(); - enable_E5(); - #endif - } + } + #else + enable_E0(); + enable_E1(); + enable_E2(); + enable_E3(); + enable_E4(); + enable_E5(); + #endif + } + #endif // EXTRUDERS if (esteps) NOLESS(fr_mm_s, settings.min_feedrate_mm_s); @@ -2046,37 +2073,8 @@ bool Planner::_populate_block(block_t * const block, bool split_move, block->nominal_rate = CEIL(block->step_event_count * inverse_secs); // (step/sec) Always > 0 #if ENABLED(FILAMENT_WIDTH_SENSOR) - static float filwidth_e_count = 0, filwidth_delay_dist = 0; - - //FMM update ring buffer used for delay with filament measurements - if (extruder == FILAMENT_SENSOR_EXTRUDER_NUM && filwidth_delay_index[1] >= 0) { //only for extruder with filament sensor and if ring buffer is initialized - - constexpr int MMD_CM = MAX_MEASUREMENT_DELAY + 1, MMD_MM = MMD_CM * 10; - - // increment counters with next move in e axis - filwidth_e_count += delta_mm[E_AXIS]; - filwidth_delay_dist += delta_mm[E_AXIS]; - - // Only get new measurements on forward E movement - if (!UNEAR_ZERO(filwidth_e_count)) { - - // Loop the delay distance counter (modulus by the mm length) - while (filwidth_delay_dist >= MMD_MM) filwidth_delay_dist -= MMD_MM; - - // Convert into an index into the measurement array - filwidth_delay_index[0] = int8_t(filwidth_delay_dist * 0.1f); - - // If the index has changed (must have gone forward)... - if (filwidth_delay_index[0] != filwidth_delay_index[1]) { - filwidth_e_count = 0; // Reset the E movement counter - const int8_t meas_sample = thermalManager.widthFil_to_size_ratio(); - do { - filwidth_delay_index[1] = (filwidth_delay_index[1] + 1) % MMD_CM; // The next unused slot - measurement_delay[filwidth_delay_index[1]] = meas_sample; // Store the measurement - } while (filwidth_delay_index[0] != filwidth_delay_index[1]); // More slots to fill? - } - } - } + if (extruder == FILAMENT_SENSOR_EXTRUDER_NUM) // Only for extruder with filament sensor + filwidth.advance_e(delta_mm[E_AXIS]); #endif // Calculate and limit speed in mm/sec for each axis @@ -2093,7 +2091,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move, #else const float delta_mm_i = delta_mm[i]; #endif - const float cs = ABS(current_speed[i] = delta_mm_i * inverse_secs); + const feedRate_t cs = ABS(current_speed[i] = delta_mm_i * inverse_secs); #if ENABLED(DISTINCT_E_FACTORS) if (i == E_AXIS) i += extruder; #endif @@ -2513,6 +2511,10 @@ bool Planner::_populate_block(block_t * const block, bool split_move, mixer.gradient_control(target_float[Z_AXIS]); #endif + #if ENABLED(POWER_LOSS_RECOVERY) + block->sdpos = recovery.command_sdpos(); + #endif + // Movement was accepted return true; } // _populate_block() @@ -2567,7 +2569,7 @@ bool Planner::buffer_segment(const float &a, const float &b, const float &c, con #if IS_KINEMATIC && ENABLED(JUNCTION_DEVIATION) , const float (&delta_mm_cart)[XYZE] #endif - , const float &fr_mm_s, const uint8_t extruder, const float &millimeters/*=0.0*/ + , const feedRate_t &fr_mm_s, const uint8_t extruder, const float &millimeters/*=0.0*/ ) { // If we are cleaning, do not accept queuing of movements @@ -2631,7 +2633,7 @@ bool Planner::buffer_segment(const float &a, const float &b, const float &c, con //*/ // Queue the movement - if ( + if ( !_buffer_steps(target #if HAS_POSITION_FLOAT , target_float @@ -2649,9 +2651,8 @@ bool Planner::buffer_segment(const float &a, const float &b, const float &c, con /** * Add a new linear movement to the buffer. - * The target is cartesian, it's translated to delta/scara if - * needed. - * + * The target is cartesian. It's translated to + * delta/scara if needed. * * rx,ry,rz,e - target position in mm or degrees * fr_mm_s - (target) speed of the move (mm/s) @@ -2659,7 +2660,7 @@ bool Planner::buffer_segment(const float &a, const float &b, const float &c, con * millimeters - the length of the movement, if known * inv_duration - the reciprocal if the duration of the movement, if known (kinematic only if feeedrate scaling is enabled) */ -bool Planner::buffer_line(const float &rx, const float &ry, const float &rz, const float &e, const float &fr_mm_s, const uint8_t extruder, const float millimeters +bool Planner::buffer_line(const float &rx, const float &ry, const float &rz, const float &e, const feedRate_t &fr_mm_s, const uint8_t extruder, const float millimeters #if ENABLED(SCARA_FEEDRATE_SCALING) , const float &inv_duration #endif @@ -2688,10 +2689,10 @@ bool Planner::buffer_line(const float &rx, const float &ry, const float &rz, con #if ENABLED(SCARA_FEEDRATE_SCALING) // For SCARA scale the feed rate from mm/s to degrees/s // i.e., Complete the angular vector in the given time. - const float duration_recip = inv_duration ? inv_duration : fr_mm_s / mm, - feedrate = HYPOT(delta[A_AXIS] - position_float[A_AXIS], delta[B_AXIS] - position_float[B_AXIS]) * duration_recip; + const float duration_recip = inv_duration ? inv_duration : fr_mm_s / mm; + const feedRate_t feedrate = HYPOT(delta[A_AXIS] - position_float[A_AXIS], delta[B_AXIS] - position_float[B_AXIS]) * duration_recip; #else - const float feedrate = fr_mm_s; + const feedRate_t feedrate = fr_mm_s; #endif if (buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], raw[E_AXIS] #if ENABLED(JUNCTION_DEVIATION) diff --git a/Marlin/src/module/planner.h b/Marlin/src/module/planner.h index 77cde6e2bf..2f3ee471d6 100644 --- a/Marlin/src/module/planner.h +++ b/Marlin/src/module/planner.h @@ -159,6 +159,10 @@ typedef struct block_t { uint32_t segment_time_us; #endif + #if ENABLED(POWER_LOSS_RECOVERY) + uint32_t sdpos; + #endif + } block_t; #define HAS_POSITION_FLOAT ANY(LIN_ADVANCE, SCARA_FEEDRATE_SCALING, GRADIENT_MIX) @@ -166,15 +170,15 @@ typedef struct block_t { #define BLOCK_MOD(n) ((n)&(BLOCK_BUFFER_SIZE-1)) typedef struct { - uint32_t max_acceleration_mm_per_s2[XYZE_N], // (mm/s^2) M201 XYZE - min_segment_time_us; // (µs) M205 B - float axis_steps_per_mm[XYZE_N], // (steps) M92 XYZE - Steps per millimeter - max_feedrate_mm_s[XYZE_N], // (mm/s) M203 XYZE - Max speeds - acceleration, // (mm/s^2) M204 S - Normal acceleration. DEFAULT ACCELERATION for all printing moves. - retract_acceleration, // (mm/s^2) M204 R - Retract acceleration. Filament pull-back and push-forward while standing still in the other axes - travel_acceleration, // (mm/s^2) M204 T - Travel acceleration. DEFAULT ACCELERATION for all NON printing moves. - min_feedrate_mm_s, // (mm/s) M205 S - Minimum linear feedrate - min_travel_feedrate_mm_s; // (mm/s) M205 T - Minimum travel feedrate + uint32_t max_acceleration_mm_per_s2[XYZE_N], // (mm/s^2) M201 XYZE + min_segment_time_us; // (µs) M205 B + float axis_steps_per_mm[XYZE_N]; // (steps) M92 XYZE - Steps per millimeter + feedRate_t max_feedrate_mm_s[XYZE_N]; // (mm/s) M203 XYZE - Max speeds + float acceleration, // (mm/s^2) M204 S - Normal acceleration. DEFAULT ACCELERATION for all printing moves. + retract_acceleration, // (mm/s^2) M204 R - Retract acceleration. Filament pull-back and push-forward while standing still in the other axes + travel_acceleration; // (mm/s^2) M204 T - Travel acceleration. DEFAULT ACCELERATION for all NON printing moves. + feedRate_t min_feedrate_mm_s, // (mm/s) M205 S - Minimum linear feedrate + min_travel_feedrate_mm_s; // (mm/s) M205 T - Minimum travel feedrate } planner_settings_t; #if DISABLED(SKEW_CORRECTION) @@ -226,9 +230,10 @@ class Planner { static uint8_t last_extruder; // Respond to extruder change #endif - static int16_t flow_percentage[EXTRUDERS]; // Extrusion factor for each extruder - - static float e_factor[EXTRUDERS]; // The flow percentage and volumetric multiplier combine to scale E movement + #if EXTRUDERS + static int16_t flow_percentage[EXTRUDERS]; // Extrusion factor for each extruder + static float e_factor[EXTRUDERS]; // The flow percentage and volumetric multiplier combine to scale E movement + #endif #if DISABLED(NO_VOLUMETRICS) static float filament_size[EXTRUDERS], // diameter of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder @@ -357,13 +362,15 @@ class Planner { static void reset_acceleration_rates(); static void refresh_positioning(); - FORCE_INLINE static void refresh_e_factor(const uint8_t e) { - e_factor[e] = (flow_percentage[e] * 0.01f - #if DISABLED(NO_VOLUMETRICS) - * volumetric_multiplier[e] - #endif - ); - } + #if EXTRUDERS + FORCE_INLINE static void refresh_e_factor(const uint8_t e) { + e_factor[e] = (flow_percentage[e] * 0.01f + #if DISABLED(NO_VOLUMETRICS) + * volumetric_multiplier[e] + #endif + ); + } + #endif // Manage fans, paste pressure, etc. static void check_axes_activity(); @@ -372,7 +379,14 @@ class Planner { static void calculate_volumetric_multipliers(); #if ENABLED(FILAMENT_WIDTH_SENSOR) - void calculate_volumetric_for_width_sensor(const int8_t encoded_ratio); + void apply_filament_width_sensor(const int8_t encoded_ratio); + + static inline float volumetric_percent(const bool vol) { + return 100.0f * (vol + ? volumetric_area_nominal / volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] + : volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] + ); + } #endif #if DISABLED(NO_VOLUMETRICS) @@ -397,15 +411,13 @@ class Planner { */ static inline float fade_scaling_factor_for_z(const float &rz) { static float z_fade_factor = 1; - if (z_fade_height) { - if (rz >= z_fade_height) return 0; - if (last_fade_z != rz) { - last_fade_z = rz; - z_fade_factor = 1 - rz * inverse_z_fade_height; - } - return z_fade_factor; + if (!z_fade_height) return 1; + if (rz >= z_fade_height) return 0; + if (last_fade_z != rz) { + last_fade_z = rz; + z_fade_factor = 1 - rz * inverse_z_fade_height; } - return 1; + return z_fade_factor; } FORCE_INLINE static void force_fade_recalc() { last_fade_z = -999.999f; } @@ -493,8 +505,7 @@ class Planner { skew(pos); #endif #if HAS_LEVELING - if (leveling) - apply_leveling(pos); + if (leveling) apply_leveling(pos); #endif #if ENABLED(FWRETRACT) apply_retract(pos); @@ -515,8 +526,7 @@ class Planner { unapply_retract(pos); #endif #if HAS_LEVELING - if (leveling) - unapply_leveling(pos); + if (leveling) unapply_leveling(pos); #endif #if ENABLED(SKEW_CORRECTION) unskew(pos); @@ -575,7 +585,7 @@ class Planner { #if IS_KINEMATIC && ENABLED(JUNCTION_DEVIATION) , const float (&delta_mm_cart)[XYZE] #endif - , float fr_mm_s, const uint8_t extruder, const float &millimeters=0.0 + , feedRate_t fr_mm_s, const uint8_t extruder, const float &millimeters=0.0 ); /** @@ -598,7 +608,7 @@ class Planner { #if IS_KINEMATIC && ENABLED(JUNCTION_DEVIATION) , const float (&delta_mm_cart)[XYZE] #endif - , float fr_mm_s, const uint8_t extruder, const float &millimeters=0.0 + , feedRate_t fr_mm_s, const uint8_t extruder, const float &millimeters=0.0 ); /** @@ -611,7 +621,7 @@ class Planner { private: // Allow do_homing_move to access internal functions, such as buffer_segment. - friend void do_homing_move(const AxisEnum, const float, const float); + friend void do_homing_move(const AxisEnum, const float, const feedRate_t); #endif /** @@ -630,14 +640,14 @@ class Planner { #if IS_KINEMATIC && ENABLED(JUNCTION_DEVIATION) , const float (&delta_mm_cart)[XYZE] #endif - , const float &fr_mm_s, const uint8_t extruder, const float &millimeters=0.0 + , const feedRate_t &fr_mm_s, const uint8_t extruder, const float &millimeters=0.0 ); FORCE_INLINE static bool buffer_segment(const float (&abce)[ABCE] #if IS_KINEMATIC && ENABLED(JUNCTION_DEVIATION) , const float (&delta_mm_cart)[XYZE] #endif - , const float &fr_mm_s, const uint8_t extruder, const float &millimeters=0.0 + , const feedRate_t &fr_mm_s, const uint8_t extruder, const float &millimeters=0.0 ) { return buffer_segment(abce[A_AXIS], abce[B_AXIS], abce[C_AXIS], abce[E_AXIS] #if IS_KINEMATIC && ENABLED(JUNCTION_DEVIATION) @@ -650,9 +660,8 @@ class Planner { /** * Add a new linear movement to the buffer. - * The target is cartesian, it's translated to delta/scara if - * needed. - * + * The target is cartesian. It's translated to + * delta/scara if needed. * * rx,ry,rz,e - target position in mm or degrees * fr_mm_s - (target) speed of the move (mm/s) @@ -660,13 +669,13 @@ class Planner { * millimeters - the length of the movement, if known * inv_duration - the reciprocal if the duration of the movement, if known (kinematic only if feeedrate scaling is enabled) */ - static bool buffer_line(const float &rx, const float &ry, const float &rz, const float &e, const float &fr_mm_s, const uint8_t extruder, const float millimeters=0.0 + static bool buffer_line(const float &rx, const float &ry, const float &rz, const float &e, const feedRate_t &fr_mm_s, const uint8_t extruder, const float millimeters=0.0 #if ENABLED(SCARA_FEEDRATE_SCALING) , const float &inv_duration=0.0 #endif ); - FORCE_INLINE static bool buffer_line(const float (&cart)[XYZE], const float &fr_mm_s, const uint8_t extruder, const float millimeters=0.0 + FORCE_INLINE static bool buffer_line(const float (&cart)[XYZE], const feedRate_t &fr_mm_s, const uint8_t extruder, const float millimeters=0.0 #if ENABLED(SCARA_FEEDRATE_SCALING) , const float &inv_duration=0.0 #endif diff --git a/Marlin/src/module/planner_bezier.cpp b/Marlin/src/module/planner_bezier.cpp index 71a99594f5..6e6746bce8 100644 --- a/Marlin/src/module/planner_bezier.cpp +++ b/Marlin/src/module/planner_bezier.cpp @@ -107,13 +107,18 @@ static inline float dist1(const float &x1, const float &y1, const float &x2, con * the mitigation offered by MIN_STEP and the small computational * power available on Arduino, I think it is not wise to implement it. */ -void cubic_b_spline(const float position[NUM_AXIS], const float target[NUM_AXIS], const float offset[4], float fr_mm_s, uint8_t extruder) { +void cubic_b_spline( + const float position[NUM_AXIS], // current position + const float target[NUM_AXIS], // target position + const float (&offset)[4], // a pair of offsets + const feedRate_t &scaled_fr_mm_s, // mm/s scaled by feedrate % + const uint8_t extruder +) { // Absolute first and second control points are recovered. const float first0 = position[X_AXIS] + offset[0], first1 = position[Y_AXIS] + offset[1], second0 = target[X_AXIS] + offset[2], second1 = target[Y_AXIS] + offset[3]; - float t = 0; float bez_target[4]; bez_target[X_AXIS] = position[X_AXIS]; @@ -122,7 +127,7 @@ void cubic_b_spline(const float position[NUM_AXIS], const float target[NUM_AXIS] millis_t next_idle_ms = millis() + 200UL; - while (t < 1) { + for (float t = 0; t < 1;) { thermalManager.manage_heater(); millis_t now = millis(); @@ -197,7 +202,7 @@ void cubic_b_spline(const float position[NUM_AXIS], const float target[NUM_AXIS] const float (&pos)[XYZE] = bez_target; #endif - if (!planner.buffer_line(pos, fr_mm_s, active_extruder, step)) + if (!planner.buffer_line(pos, scaled_fr_mm_s, active_extruder, step)) break; } } diff --git a/Marlin/src/module/planner_bezier.h b/Marlin/src/module/planner_bezier.h index 492bf51146..5e959dd0f3 100644 --- a/Marlin/src/module/planner_bezier.h +++ b/Marlin/src/module/planner_bezier.h @@ -32,9 +32,9 @@ #include "../core/macros.h" void cubic_b_spline( - const float position[NUM_AXIS], // current position - const float target[NUM_AXIS], // target position - const float offset[4], // a pair of offsets - float fr_mm_s, - uint8_t extruder - ); + const float position[NUM_AXIS], // current position + const float target[NUM_AXIS], // target position + const float (&offset)[4], // a pair of offsets + const feedRate_t &scaled_fr_mm_s, // mm/s scaled by feedrate % + const uint8_t extruder +); diff --git a/Marlin/src/module/printcounter.cpp b/Marlin/src/module/printcounter.cpp index ba308142e4..cef233d9ac 100644 --- a/Marlin/src/module/printcounter.cpp +++ b/Marlin/src/module/printcounter.cpp @@ -183,11 +183,9 @@ void PrintCounter::saveStats() { #if HAS_SERVICE_INTERVALS inline void _service_when(char buffer[], const char * const msg, const uint32_t when) { - duration_t elapsed = when; - elapsed.toString(buffer); SERIAL_ECHOPGM(MSG_STATS); serialprintPGM(msg); - SERIAL_ECHOLNPAIR(" in ", buffer); + SERIAL_ECHOLNPAIR(" in ", duration_t(when).toString(buffer)); } #endif diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index d8c59dc42e..ce0d84e41b 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -28,9 +28,9 @@ #if HAS_BED_PROBE -#include "../libs/buzzer.h" - #include "probe.h" + +#include "../libs/buzzer.h" #include "motion.h" #include "temperature.h" #include "endstops.h" @@ -56,7 +56,7 @@ #include "../feature/backlash.h" #endif -float zprobe_offset[XYZ]; // Initialized by settings.load() +float probe_offset[XYZ]; // Initialized by settings.load() #if ENABLED(BLTOUCH) #include "../feature/bltouch.h" @@ -155,167 +155,77 @@ float zprobe_offset[XYZ]; // Initialized by settings.load() #elif ENABLED(Z_PROBE_ALLEN_KEY) void run_deploy_moves_script() { - #if defined(Z_PROBE_ALLEN_KEY_DEPLOY_1_X) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_1_Y) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_1_Z) - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_1_X - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X current_position[X_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_1_Y - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y current_position[Y_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_1_Z - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z current_position[Z_AXIS] - #endif + #ifdef Z_PROBE_ALLEN_KEY_DEPLOY_1 #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE 0.0 #endif - const float deploy_1[] = { Z_PROBE_ALLEN_KEY_DEPLOY_1_X, Z_PROBE_ALLEN_KEY_DEPLOY_1_Y, Z_PROBE_ALLEN_KEY_DEPLOY_1_Z }; + constexpr float deploy_1[] = Z_PROBE_ALLEN_KEY_DEPLOY_1; do_blocking_move_to(deploy_1, MMM_TO_MMS(Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE)); #endif - #if defined(Z_PROBE_ALLEN_KEY_DEPLOY_2_X) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_2_Y) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_2_Z) - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_2_X - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X current_position[X_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_2_Y - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y current_position[Y_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_2_Z - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z current_position[Z_AXIS] - #endif + #ifdef Z_PROBE_ALLEN_KEY_DEPLOY_2 #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE 0.0 #endif - const float deploy_2[] = { Z_PROBE_ALLEN_KEY_DEPLOY_2_X, Z_PROBE_ALLEN_KEY_DEPLOY_2_Y, Z_PROBE_ALLEN_KEY_DEPLOY_2_Z }; + constexpr float deploy_2[] = Z_PROBE_ALLEN_KEY_DEPLOY_2; do_blocking_move_to(deploy_2, MMM_TO_MMS(Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE)); #endif - #if defined(Z_PROBE_ALLEN_KEY_DEPLOY_3_X) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_3_Y) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_3_Z) - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_3_X - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X current_position[X_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_3_Y - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y current_position[Y_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_3_Z - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z current_position[Z_AXIS] - #endif + #ifdef Z_PROBE_ALLEN_KEY_DEPLOY_3 #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE 0.0 #endif - const float deploy_3[] = { Z_PROBE_ALLEN_KEY_DEPLOY_3_X, Z_PROBE_ALLEN_KEY_DEPLOY_3_Y, Z_PROBE_ALLEN_KEY_DEPLOY_3_Z }; + constexpr float deploy_3[] = Z_PROBE_ALLEN_KEY_DEPLOY_3; do_blocking_move_to(deploy_3, MMM_TO_MMS(Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE)); #endif - #if defined(Z_PROBE_ALLEN_KEY_DEPLOY_4_X) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_4_Y) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_4_Z) - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_4_X - #define Z_PROBE_ALLEN_KEY_DEPLOY_4_X current_position[X_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_4_Y - #define Z_PROBE_ALLEN_KEY_DEPLOY_4_Y current_position[Y_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_4_Z - #define Z_PROBE_ALLEN_KEY_DEPLOY_4_Z current_position[Z_AXIS] - #endif + #ifdef Z_PROBE_ALLEN_KEY_DEPLOY_4 #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_4_FEEDRATE #define Z_PROBE_ALLEN_KEY_DEPLOY_4_FEEDRATE 0.0 #endif - const float deploy_4[] = { Z_PROBE_ALLEN_KEY_DEPLOY_4_X, Z_PROBE_ALLEN_KEY_DEPLOY_4_Y, Z_PROBE_ALLEN_KEY_DEPLOY_4_Z }; + constexpr float deploy_4[] = Z_PROBE_ALLEN_KEY_DEPLOY_4; do_blocking_move_to(deploy_4, MMM_TO_MMS(Z_PROBE_ALLEN_KEY_DEPLOY_4_FEEDRATE)); #endif - #if defined(Z_PROBE_ALLEN_KEY_DEPLOY_5_X) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_5_Y) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_5_Z) - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_5_X - #define Z_PROBE_ALLEN_KEY_DEPLOY_5_X current_position[X_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_5_Y - #define Z_PROBE_ALLEN_KEY_DEPLOY_5_Y current_position[Y_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_5_Z - #define Z_PROBE_ALLEN_KEY_DEPLOY_5_Z current_position[Z_AXIS] - #endif + #ifdef Z_PROBE_ALLEN_KEY_DEPLOY_5 #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_5_FEEDRATE #define Z_PROBE_ALLEN_KEY_DEPLOY_5_FEEDRATE 0.0 #endif - const float deploy_5[] = { Z_PROBE_ALLEN_KEY_DEPLOY_5_X, Z_PROBE_ALLEN_KEY_DEPLOY_5_Y, Z_PROBE_ALLEN_KEY_DEPLOY_5_Z }; + constexpr float deploy_5[] = Z_PROBE_ALLEN_KEY_DEPLOY_5; do_blocking_move_to(deploy_5, MMM_TO_MMS(Z_PROBE_ALLEN_KEY_DEPLOY_5_FEEDRATE)); #endif } void run_stow_moves_script() { - #if defined(Z_PROBE_ALLEN_KEY_STOW_1_X) || defined(Z_PROBE_ALLEN_KEY_STOW_1_Y) || defined(Z_PROBE_ALLEN_KEY_STOW_1_Z) - #ifndef Z_PROBE_ALLEN_KEY_STOW_1_X - #define Z_PROBE_ALLEN_KEY_STOW_1_X current_position[X_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_STOW_1_Y - #define Z_PROBE_ALLEN_KEY_STOW_1_Y current_position[Y_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_STOW_1_Z - #define Z_PROBE_ALLEN_KEY_STOW_1_Z current_position[Z_AXIS] - #endif + #ifdef Z_PROBE_ALLEN_KEY_STOW_1 #ifndef Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE 0.0 #endif - const float stow_1[] = { Z_PROBE_ALLEN_KEY_STOW_1_X, Z_PROBE_ALLEN_KEY_STOW_1_Y, Z_PROBE_ALLEN_KEY_STOW_1_Z }; + constexpr float stow_1[] = Z_PROBE_ALLEN_KEY_STOW_1; do_blocking_move_to(stow_1, MMM_TO_MMS(Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE)); #endif - #if defined(Z_PROBE_ALLEN_KEY_STOW_2_X) || defined(Z_PROBE_ALLEN_KEY_STOW_2_Y) || defined(Z_PROBE_ALLEN_KEY_STOW_2_Z) - #ifndef Z_PROBE_ALLEN_KEY_STOW_2_X - #define Z_PROBE_ALLEN_KEY_STOW_2_X current_position[X_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_STOW_2_Y - #define Z_PROBE_ALLEN_KEY_STOW_2_Y current_position[Y_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_STOW_2_Z - #define Z_PROBE_ALLEN_KEY_STOW_2_Z current_position[Z_AXIS] - #endif + #ifdef Z_PROBE_ALLEN_KEY_STOW_2 #ifndef Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE 0.0 #endif - const float stow_2[] = { Z_PROBE_ALLEN_KEY_STOW_2_X, Z_PROBE_ALLEN_KEY_STOW_2_Y, Z_PROBE_ALLEN_KEY_STOW_2_Z }; + constexpr float stow_2[] = Z_PROBE_ALLEN_KEY_STOW_2; do_blocking_move_to(stow_2, MMM_TO_MMS(Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE)); #endif - #if defined(Z_PROBE_ALLEN_KEY_STOW_3_X) || defined(Z_PROBE_ALLEN_KEY_STOW_3_Y) || defined(Z_PROBE_ALLEN_KEY_STOW_3_Z) - #ifndef Z_PROBE_ALLEN_KEY_STOW_3_X - #define Z_PROBE_ALLEN_KEY_STOW_3_X current_position[X_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_STOW_3_Y - #define Z_PROBE_ALLEN_KEY_STOW_3_Y current_position[Y_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_STOW_3_Z - #define Z_PROBE_ALLEN_KEY_STOW_3_Z current_position[Z_AXIS] - #endif + #ifdef Z_PROBE_ALLEN_KEY_STOW_3 #ifndef Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE 0.0 #endif - const float stow_3[] = { Z_PROBE_ALLEN_KEY_STOW_3_X, Z_PROBE_ALLEN_KEY_STOW_3_Y, Z_PROBE_ALLEN_KEY_STOW_3_Z }; + constexpr float stow_3[] = Z_PROBE_ALLEN_KEY_STOW_3; do_blocking_move_to(stow_3, MMM_TO_MMS(Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE)); #endif - #if defined(Z_PROBE_ALLEN_KEY_STOW_4_X) || defined(Z_PROBE_ALLEN_KEY_STOW_4_Y) || defined(Z_PROBE_ALLEN_KEY_STOW_4_Z) - #ifndef Z_PROBE_ALLEN_KEY_STOW_4_X - #define Z_PROBE_ALLEN_KEY_STOW_4_X current_position[X_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_STOW_4_Y - #define Z_PROBE_ALLEN_KEY_STOW_4_Y current_position[Y_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_STOW_4_Z - #define Z_PROBE_ALLEN_KEY_STOW_4_Z current_position[Z_AXIS] - #endif + #ifdef Z_PROBE_ALLEN_KEY_STOW_4 #ifndef Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE 0.0 #endif - const float stow_4[] = { Z_PROBE_ALLEN_KEY_STOW_4_X, Z_PROBE_ALLEN_KEY_STOW_4_Y, Z_PROBE_ALLEN_KEY_STOW_4_Z }; + constexpr float stow_4[] = Z_PROBE_ALLEN_KEY_STOW_4; do_blocking_move_to(stow_4, MMM_TO_MMS(Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE)); #endif - #if defined(Z_PROBE_ALLEN_KEY_STOW_5_X) || defined(Z_PROBE_ALLEN_KEY_STOW_5_Y) || defined(Z_PROBE_ALLEN_KEY_STOW_5_Z) - #ifndef Z_PROBE_ALLEN_KEY_STOW_5_X - #define Z_PROBE_ALLEN_KEY_STOW_5_X current_position[X_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_STOW_5_Y - #define Z_PROBE_ALLEN_KEY_STOW_5_Y current_position[Y_AXIS] - #endif - #ifndef Z_PROBE_ALLEN_KEY_STOW_5_Z - #define Z_PROBE_ALLEN_KEY_STOW_5_Z current_position[Z_AXIS] - #endif + #ifdef Z_PROBE_ALLEN_KEY_STOW_5 #ifndef Z_PROBE_ALLEN_KEY_STOW_5_FEEDRATE #define Z_PROBE_ALLEN_KEY_STOW_5_FEEDRATE 0.0 #endif - const float stow_5[] = { Z_PROBE_ALLEN_KEY_STOW_5_X, Z_PROBE_ALLEN_KEY_STOW_5_Y, Z_PROBE_ALLEN_KEY_STOW_5_Z }; + constexpr float stow_5[] = Z_PROBE_ALLEN_KEY_STOW_5; do_blocking_move_to(stow_5, MMM_TO_MMS(Z_PROBE_ALLEN_KEY_STOW_5_FEEDRATE)); #endif } @@ -353,7 +263,7 @@ inline void do_probe_raise(const float z_raise) { if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("do_probe_raise(", z_raise, ")"); float z_dest = z_raise; - if (zprobe_offset[Z_AXIS] < 0) z_dest -= zprobe_offset[Z_AXIS]; + if (probe_offset[Z_AXIS] < 0) z_dest -= probe_offset[Z_AXIS]; NOMORE(z_dest, Z_MAX_POS); @@ -463,12 +373,11 @@ bool set_probe_deployed(const bool deploy) { do_probe_raise(_MAX(Z_CLEARANCE_BETWEEN_PROBES, Z_CLEARANCE_DEPLOY_PROBE)); #if EITHER(Z_PROBE_SLED, Z_PROBE_ALLEN_KEY) - #if ENABLED(Z_PROBE_SLED) - #define _AUE_ARGS true, false, false - #else - #define _AUE_ARGS - #endif - if (axis_unhomed_error(_AUE_ARGS)) { + if (axis_unhomed_error( + #if ENABLED(Z_PROBE_SLED) + _BV(X_AXIS) + #endif + )) { SERIAL_ERROR_MSG(MSG_STOP_UNHOMED); stop(); return true; @@ -537,7 +446,7 @@ bool set_probe_deployed(const bool deploy) { const char msg_wait_for_bed_heating[25] PROGMEM = "Wait for bed heating...\n"; #endif -static bool do_probe_move(const float z, const float fr_mm_s) { +static bool do_probe_move(const float z, const feedRate_t fr_mm_s) { if (DEBUGGING(LEVELING)) DEBUG_POS(">>> do_probe_move", current_position); #if HAS_HEATED_BED && ENABLED(WAIT_FOR_BED_HEATER) @@ -622,7 +531,7 @@ static bool do_probe_move(const float z, const float fr_mm_s) { /** * @brief Probe at the current XY (possibly more than once) to find the bed Z. * - * @details Used by probe_pt to get the bed Z height at the current XY. + * @details Used by probe_at_point to get the bed Z height at the current XY. * Leaves current_position[Z_AXIS] at the height where the probe triggered. * * @return The Z position of the bed at the current XY or NAN on error. @@ -633,7 +542,7 @@ static float run_z_probe() { // Stop the probe before it goes too low to prevent damage. // If Z isn't known then probe to -10mm. - const float z_probe_low_point = TEST(axis_known_position, Z_AXIS) ? -zprobe_offset[Z_AXIS] + Z_PROBE_LOW_POINT : -10.0; + const float z_probe_low_point = TEST(axis_known_position, Z_AXIS) ? -probe_offset[Z_AXIS] + Z_PROBE_LOW_POINT : -10.0; // Double-probing does a fast probe followed by a slow probe #if TOTAL_PROBING == 2 @@ -658,7 +567,7 @@ static float run_z_probe() { // If the nozzle is well over the travel height then // move down quickly before doing the slow probe - const float z = Z_CLEARANCE_DEPLOY_PROBE + 5.0 + (zprobe_offset[Z_AXIS] < 0 ? -zprobe_offset[Z_AXIS] : 0); + const float z = Z_CLEARANCE_DEPLOY_PROBE + 5.0 + (probe_offset[Z_AXIS] < 0 ? -probe_offset[Z_AXIS] : 0); if (current_position[Z_AXIS] > z) { // Probe down fast. If the probe never triggered, raise for probe clearance if (!do_probe_move(z, MMM_TO_MMS(Z_PROBE_SPEED_FAST))) @@ -741,7 +650,7 @@ static float run_z_probe() { #endif - const float measured_z = probes_total * (1.0f / (MULTIPLE_PROBING)); + const float measured_z = probes_total * RECIPROCAL(MULTIPLE_PROBING); #elif TOTAL_PROBING == 2 @@ -773,10 +682,10 @@ static float run_z_probe() { * - Raise to the BETWEEN height * - Return the probed Z position */ -float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/*=PROBE_PT_NONE*/, const uint8_t verbose_level/*=0*/, const bool probe_relative/*=true*/) { +float probe_at_point(const float &rx, const float &ry, const ProbePtRaise raise_after/*=PROBE_PT_NONE*/, const uint8_t verbose_level/*=0*/, const bool probe_relative/*=true*/) { if (DEBUGGING(LEVELING)) { DEBUG_ECHOLNPAIR( - ">>> probe_pt(", LOGICAL_X_POSITION(rx), ", ", LOGICAL_Y_POSITION(ry), + ">>> probe_at_point(", LOGICAL_X_POSITION(rx), ", ", LOGICAL_Y_POSITION(ry), ", ", raise_after == PROBE_PT_RAISE ? "raise" : raise_after == PROBE_PT_STOW ? "stow" : "none", ", ", int(verbose_level), ", ", probe_relative ? "probe" : "nozzle", "_relative)" @@ -788,8 +697,8 @@ float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/ float nx = rx, ny = ry; if (probe_relative) { if (!position_is_reachable_by_probe(rx, ry)) return NAN; // The given position is in terms of the probe - nx -= (zprobe_offset[X_AXIS]); // Get the nozzle position - ny -= (zprobe_offset[Y_AXIS]); + nx -= probe_offset[X_AXIS]; // Get the nozzle position + ny -= probe_offset[Y_AXIS]; } else if (!position_is_reachable(nx, ny)) return NAN; // The given position is in terms of the nozzle @@ -810,7 +719,7 @@ float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/ float measured_z = NAN; if (!DEPLOY_PROBE()) { - measured_z = run_z_probe() + zprobe_offset[Z_AXIS]; + measured_z = run_z_probe() + probe_offset[Z_AXIS]; const bool big_raise = raise_after == PROBE_PT_BIG_RAISE; if (big_raise || raise_after == PROBE_PT_RAISE) @@ -833,7 +742,7 @@ float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/ SERIAL_ERROR_MSG(MSG_ERR_PROBING_FAILED); } - if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< probe_pt"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< probe_at_point"); return measured_z; } diff --git a/Marlin/src/module/probe.h b/Marlin/src/module/probe.h index 002f93d5f6..dbdb66e143 100644 --- a/Marlin/src/module/probe.h +++ b/Marlin/src/module/probe.h @@ -28,7 +28,11 @@ #include "../inc/MarlinConfig.h" #if HAS_BED_PROBE - extern float zprobe_offset[XYZ]; + + constexpr float nozzle_to_probe_offset[XYZ] = NOZZLE_TO_PROBE_OFFSET; + + extern float probe_offset[XYZ]; + bool set_probe_deployed(const bool deploy); #ifdef Z_AFTER_PROBING void move_z_after_probing(); @@ -39,15 +43,63 @@ PROBE_PT_RAISE, // Raise to "between" clearance after run_z_probe PROBE_PT_BIG_RAISE // Raise to big clearance after run_z_probe }; - float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after=PROBE_PT_NONE, const uint8_t verbose_level=0, const bool probe_relative=true); + float probe_at_point(const float &rx, const float &ry, const ProbePtRaise raise_after=PROBE_PT_NONE, const uint8_t verbose_level=0, const bool probe_relative=true); #define DEPLOY_PROBE() set_probe_deployed(true) #define STOW_PROBE() set_probe_deployed(false) #if HAS_HEATED_BED && ENABLED(WAIT_FOR_BED_HEATER) extern const char msg_wait_for_bed_heating[25]; #endif + #else + + constexpr float probe_offset[XYZ] = { 0 }; #define DEPLOY_PROBE() #define STOW_PROBE() + +#endif + +#if HAS_LEVELING && HAS_BED_PROBE + inline float probe_min_x() { + return _MAX( + #if IS_KINEMATIC + PROBE_X_MIN, MESH_MIN_X + #else + (X_MIN_BED) + (MIN_PROBE_EDGE_LEFT), (X_MIN_POS) + probe_offset[X_AXIS] + #endif + ); + } + inline float probe_max_x() { + return _MIN( + #if IS_KINEMATIC + PROBE_X_MAX, MESH_MAX_X + #else + (X_MAX_BED) - (MIN_PROBE_EDGE_RIGHT), (X_MAX_POS) + probe_offset[X_AXIS] + #endif + ); + } + inline float probe_min_y() { + return _MAX( + #if IS_KINEMATIC + PROBE_Y_MIN, MESH_MIN_Y + #else + (Y_MIN_BED) + (MIN_PROBE_EDGE_FRONT), (Y_MIN_POS) + probe_offset[Y_AXIS] + #endif + ); + } + inline float probe_max_y() { + return _MIN( + #if IS_KINEMATIC + PROBE_Y_MAX, MESH_MAX_Y + #else + (Y_MAX_BED) - (MIN_PROBE_EDGE_BACK), (Y_MAX_POS) + probe_offset[Y_AXIS] + #endif + ); + } +#else + inline float probe_min_x() { return 0; }; + inline float probe_max_x() { return 0; }; + inline float probe_min_y() { return 0; }; + inline float probe_max_y() { return 0; }; #endif #if HAS_Z_SERVO_PROBE diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index cd868e7db6..b806cb1142 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -121,6 +121,10 @@ Stepper stepper; // Singleton #include "../libs/L6470/L6470_Marlin.h" #endif +#if ENABLED(POWER_LOSS_RECOVERY) + #include "../feature/power_loss_recovery.h" +#endif + // public: #if HAS_EXTRA_ENDSTOPS || ENABLED(Z_STEPPER_AUTO_ALIGN) @@ -170,8 +174,8 @@ int32_t Stepper::delta_error[XYZE] = { 0 }; uint32_t Stepper::advance_dividend[XYZE] = { 0 }, Stepper::advance_divisor = 0, Stepper::step_events_completed = 0, // The number of step events executed in the current block - Stepper::accelerate_until, // The point from where we need to stop acceleration - Stepper::decelerate_after, // The point from where we need to start decelerating + Stepper::accelerate_until, // The count at which to stop accelerating + Stepper::decelerate_after, // The count at which to start decelerating Stepper::step_event_count; // The total event count for the current block #if EXTRUDERS > 1 || ENABLED(MIXING_EXTRUDER) @@ -354,6 +358,10 @@ void Stepper::set_directions() { uint8_t L6470_buf[MAX_L6470 + 1]; // chip command sequence - element 0 not used #endif + #if MINIMUM_STEPPER_PRE_DIR_DELAY > 0 + DELAY_NS(MINIMUM_STEPPER_PRE_DIR_DELAY); + #endif + #define SET_STEP_DIR(A) \ if (motor_direction(_AXIS(A))) { \ A##_APPLY_DIR(INVERT_## A##_DIR, false); \ @@ -422,8 +430,8 @@ void Stepper::set_directions() { #endif // A small delay may be needed after changing direction - #if MINIMUM_STEPPER_DIR_DELAY > 0 - DELAY_NS(MINIMUM_STEPPER_DIR_DELAY); + #if MINIMUM_STEPPER_POST_DIR_DELAY > 0 + DELAY_NS(MINIMUM_STEPPER_POST_DIR_DELAY); #endif } @@ -1663,6 +1671,10 @@ uint32_t Stepper::stepper_block_phase_isr() { return interval; // No more queued movements! } + #if ENABLED(POWER_LOSS_RECOVERY) + recovery.info.sdpos = current_block->sdpos; + #endif + // Flag all moving axes for proper endstop handling #if IS_CORE @@ -1879,6 +1891,10 @@ uint32_t Stepper::stepper_block_phase_isr() { else interval = LA_ADV_NEVER; + #if MINIMUM_STEPPER_PRE_DIR_DELAY > 0 + DELAY_NS(MINIMUM_STEPPER_PRE_DIR_DELAY); + #endif + #if ENABLED(MIXING_EXTRUDER) // We don't know which steppers will be stepped because LA loop follows, // with potentially multiple steps. Set all. @@ -1894,8 +1910,8 @@ uint32_t Stepper::stepper_block_phase_isr() { #endif // A small delay may be needed after changing direction - #if MINIMUM_STEPPER_DIR_DELAY > 0 - DELAY_NS(MINIMUM_STEPPER_DIR_DELAY); + #if MINIMUM_STEPPER_POST_DIR_DELAY > 0 + DELAY_NS(MINIMUM_STEPPER_POST_DIR_DELAY); #endif // Get the timer count and estimate the end of the pulse @@ -2231,19 +2247,16 @@ void Stepper::endstop_triggered(const AxisEnum axis) { const bool was_enabled = STEPPER_ISR_ENABLED(); if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); - - #if IS_CORE - - endstops_trigsteps[axis] = 0.5f * ( - axis == CORE_AXIS_2 ? CORESIGN(count_position[CORE_AXIS_1] - count_position[CORE_AXIS_2]) - : count_position[CORE_AXIS_1] + count_position[CORE_AXIS_2] - ); - - #else // !COREXY && !COREXZ && !COREYZ - - endstops_trigsteps[axis] = count_position[axis]; - - #endif // !COREXY && !COREXZ && !COREYZ + endstops_trigsteps[axis] = ( + #if IS_CORE + (axis == CORE_AXIS_2 + ? CORESIGN(count_position[CORE_AXIS_1] - count_position[CORE_AXIS_2]) + : count_position[CORE_AXIS_1] + count_position[CORE_AXIS_2] + ) * 0.5f + #else // !IS_CORE + count_position[axis] + #endif + ); // Discard the rest of the move if there is a current block quick_stop(); @@ -2271,15 +2284,19 @@ int32_t Stepper::triggered_position(const AxisEnum axis) { void Stepper::report_positions() { - // Protect the access to the position. - const bool was_enabled = STEPPER_ISR_ENABLED(); - if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + #ifdef __AVR__ + // Protect the access to the position. + const bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + #endif const int32_t xpos = count_position[X_AXIS], ypos = count_position[Y_AXIS], zpos = count_position[Z_AXIS]; - if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); + #ifdef __AVR__ + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); + #endif #if CORE_IS_XY || CORE_IS_XZ || ENABLED(DELTA) || IS_SCARA SERIAL_ECHOPGM(MSG_COUNT_A); @@ -2344,8 +2361,9 @@ void Stepper::report_positions() { #define BABYSTEP_AXIS(AXIS, INVERT, DIR) { \ const uint8_t old_dir = _READ_DIR(AXIS); \ _ENABLE(AXIS); \ + DELAY_NS(MINIMUM_STEPPER_PRE_DIR_DELAY); \ _APPLY_DIR(AXIS, _INVERT_DIR(AXIS)^DIR^INVERT); \ - DELAY_NS(MINIMUM_STEPPER_DIR_DELAY); \ + DELAY_NS(MINIMUM_STEPPER_POST_DIR_DELAY); \ _SAVE_START; \ _APPLY_STEP(AXIS)(!_INVERT_STEP_PIN(AXIS), true); \ _PULSE_WAIT; \ @@ -2409,6 +2427,10 @@ void Stepper::report_positions() { enable_Y(); enable_Z(); + #if MINIMUM_STEPPER_PRE_DIR_DELAY > 0 + DELAY_NS(MINIMUM_STEPPER_PRE_DIR_DELAY); + #endif + const uint8_t old_x_dir_pin = X_DIR_READ(), old_y_dir_pin = Y_DIR_READ(), old_z_dir_pin = Z_DIR_READ(); @@ -2417,8 +2439,8 @@ void Stepper::report_positions() { Y_DIR_WRITE(INVERT_Y_DIR ^ z_direction); Z_DIR_WRITE(INVERT_Z_DIR ^ z_direction); - #if MINIMUM_STEPPER_DIR_DELAY > 0 - DELAY_NS(MINIMUM_STEPPER_DIR_DELAY); + #if MINIMUM_STEPPER_POST_DIR_DELAY > 0 + DELAY_NS(MINIMUM_STEPPER_POST_DIR_DELAY); #endif _SAVE_START; diff --git a/Marlin/src/module/stepper.h b/Marlin/src/module/stepper.h index c766054b29..d098dd4484 100644 --- a/Marlin/src/module/stepper.h +++ b/Marlin/src/module/stepper.h @@ -43,6 +43,12 @@ #include "../inc/MarlinConfig.h" +#include "planner.h" +#include "stepper/indirection.h" +#ifdef __AVR__ + #include "speed_lookuptable.h" +#endif + // Disable multiple steps per ISR //#define DISABLE_MULTI_STEPPING @@ -217,16 +223,6 @@ // // Stepper class definition // - -#include "stepper/indirection.h" - -#ifdef __AVR__ - #include "speed_lookuptable.h" -#endif - -#include "planner.h" -#include "../core/language.h" - class Stepper { public: @@ -321,6 +317,9 @@ class Stepper { static uint32_t acc_step_rate; // needed for deceleration start point #endif + // + // Exact steps at which an endstop was triggered + // static volatile int32_t endstops_trigsteps[XYZ]; // diff --git a/Marlin/src/module/stepper/trinamic.h b/Marlin/src/module/stepper/trinamic.h index 711d46b658..8c6e9c21aa 100644 --- a/Marlin/src/module/stepper/trinamic.h +++ b/Marlin/src/module/stepper/trinamic.h @@ -27,8 +27,8 @@ */ #include -#if TMCSTEPPER_VERSION < 0x000405 - #error "Update TMCStepper library to 0.4.5 or newer." +#if TMCSTEPPER_VERSION < 0x000500 + #error "Update TMCStepper library to 0.5.0 or newer." #endif #include "../../inc/MarlinConfig.h" @@ -181,7 +181,7 @@ void reset_trinamic_drivers(); // E2 Stepper #if AXIS_IS_TMC(E2) - extern TMC_CLASS_E(1) stepperE2; + extern TMC_CLASS_E(2) stepperE2; #if ENABLED(SOFTWARE_DRIVER_ENABLE) && AXIS_IS_TMC(E2) #define E2_ENABLE_INIT NOOP #define E2_ENABLE_WRITE(STATE) stepperE2.toff((STATE)==E_ENABLE_ON ? chopper_timing.toff : 0) @@ -194,7 +194,7 @@ void reset_trinamic_drivers(); // E3 Stepper #if AXIS_IS_TMC(E3) - extern TMC_CLASS_E(1) stepperE3; + extern TMC_CLASS_E(3) stepperE3; #if ENABLED(SOFTWARE_DRIVER_ENABLE) && AXIS_IS_TMC(E3) #define E3_ENABLE_INIT NOOP #define E3_ENABLE_WRITE(STATE) stepperE3.toff((STATE)==E_ENABLE_ON ? chopper_timing.toff : 0) @@ -207,7 +207,7 @@ void reset_trinamic_drivers(); // E4 Stepper #if AXIS_IS_TMC(E4) - extern TMC_CLASS_E(1) stepperE4; + extern TMC_CLASS_E(4) stepperE4; #if ENABLED(SOFTWARE_DRIVER_ENABLE) && AXIS_IS_TMC(E4) #define E4_ENABLE_INIT NOOP #define E4_ENABLE_WRITE(STATE) stepperE4.toff((STATE)==E_ENABLE_ON ? chopper_timing.toff : 0) @@ -220,7 +220,7 @@ void reset_trinamic_drivers(); // E5 Stepper #if AXIS_IS_TMC(E5) - extern TMC_CLASS_E(1) stepperE5; + extern TMC_CLASS_E(5) stepperE5; #if ENABLED(SOFTWARE_DRIVER_ENABLE) && AXIS_IS_TMC(E5) #define E5_ENABLE_INIT NOOP #define E5_ENABLE_WRITE(STATE) stepperE5.toff((STATE)==E_ENABLE_ON ? chopper_timing.toff : 0) diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index db584f17a4..c0a12c7ffa 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -112,11 +112,9 @@ Temperature thermalManager; bool Temperature::adaptive_fan_slowing = true; #endif -hotend_info_t Temperature::temp_hotend[HOTENDS - #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) - + 1 - #endif -]; // = { 0 } +#if HOTENDS + hotend_info_t Temperature::temp_hotend[HOTEND_TEMPS]; // = { 0 } +#endif #if ENABLED(AUTO_POWER_E_FANS) uint8_t Temperature::autofan_speed[HOTENDS]; // = { 0 } @@ -247,7 +245,7 @@ hotend_info_t Temperature::temp_hotend[HOTENDS int16_t Temperature::maxtemp_raw_CHAMBER = HEATER_CHAMBER_RAW_HI_TEMP; #endif #if WATCH_CHAMBER - heater_watch_t Temperature::watch_chamber = { 0 }; + heater_watch_t Temperature::watch_chamber{0}; #endif millis_t Temperature::next_chamber_check_ms; #endif // HAS_HEATED_CHAMBER @@ -283,15 +281,17 @@ volatile bool Temperature::temp_meas_ready = false; #define TEMPDIR(N) ((HEATER_##N##_RAW_LO_TEMP) < (HEATER_##N##_RAW_HI_TEMP) ? 1 : -1) -// Init mintemp and maxtemp with extreme values to prevent false errors during startup -constexpr temp_range_t sensor_heater_0 { HEATER_0_RAW_LO_TEMP, HEATER_0_RAW_HI_TEMP, 0, 16383 }, - sensor_heater_1 { HEATER_1_RAW_LO_TEMP, HEATER_1_RAW_HI_TEMP, 0, 16383 }, - sensor_heater_2 { HEATER_2_RAW_LO_TEMP, HEATER_2_RAW_HI_TEMP, 0, 16383 }, - sensor_heater_3 { HEATER_3_RAW_LO_TEMP, HEATER_3_RAW_HI_TEMP, 0, 16383 }, - sensor_heater_4 { HEATER_4_RAW_LO_TEMP, HEATER_4_RAW_HI_TEMP, 0, 16383 }, - sensor_heater_5 { HEATER_5_RAW_LO_TEMP, HEATER_5_RAW_HI_TEMP, 0, 16383 }; +#if HOTENDS + // Init mintemp and maxtemp with extreme values to prevent false errors during startup + constexpr temp_range_t sensor_heater_0 { HEATER_0_RAW_LO_TEMP, HEATER_0_RAW_HI_TEMP, 0, 16383 }, + sensor_heater_1 { HEATER_1_RAW_LO_TEMP, HEATER_1_RAW_HI_TEMP, 0, 16383 }, + sensor_heater_2 { HEATER_2_RAW_LO_TEMP, HEATER_2_RAW_HI_TEMP, 0, 16383 }, + sensor_heater_3 { HEATER_3_RAW_LO_TEMP, HEATER_3_RAW_HI_TEMP, 0, 16383 }, + sensor_heater_4 { HEATER_4_RAW_LO_TEMP, HEATER_4_RAW_HI_TEMP, 0, 16383 }, + sensor_heater_5 { HEATER_5_RAW_LO_TEMP, HEATER_5_RAW_HI_TEMP, 0, 16383 }; -temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0, sensor_heater_1, sensor_heater_2, sensor_heater_3, sensor_heater_4, sensor_heater_5); + temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0, sensor_heater_1, sensor_heater_2, sensor_heater_3, sensor_heater_4, sensor_heater_5); +#endif #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED uint8_t Temperature::consecutive_low_temperature_error[HOTENDS] = { 0 }; @@ -301,10 +301,6 @@ temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0 millis_t Temperature::preheat_end_time[HOTENDS] = { 0 }; #endif -#if ENABLED(FILAMENT_WIDTH_SENSOR) - int8_t Temperature::meas_shift_index; // Index of a delayed sample in buffer -#endif - #if HAS_AUTO_FAN millis_t Temperature::next_auto_fan_check_ms = 0; #endif @@ -314,10 +310,6 @@ temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0 Temperature::soft_pwm_count_fan[FAN_COUNT]; #endif -#if ENABLED(FILAMENT_WIDTH_SENSOR) - uint16_t Temperature::current_raw_filwidth = 0; // Measured filament diameter - one extruder only -#endif - #if ENABLED(PROBING_HEATERS_OFF) bool Temperature::paused; #endif @@ -346,7 +338,7 @@ temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0 * temperature to succeed. */ void Temperature::PID_autotune(const float &target, const heater_ind_t heater, const int8_t ncycles, const bool set_result/*=false*/) { - float current = 0.0; + float current_temp = 0.0; int cycles = 0; bool heating = true; @@ -410,7 +402,7 @@ temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0 wait_for_heatup = true; // Can be interrupted with M108 #if ENABLED(PRINTER_EVENT_LEDS) - const float start_temp = GHV(temp_bed.current, temp_hotend[heater].current); + const float start_temp = GHV(temp_bed.celsius, temp_hotend[heater].celsius); LEDColor color = ONHEATINGSTART(); #endif @@ -427,12 +419,12 @@ temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0 updateTemperaturesFromRawValues(); // Get the current temperature and constrain it - current = GHV(temp_bed.current, temp_hotend[heater].current); - NOLESS(maxT, current); - NOMORE(minT, current); + current_temp = GHV(temp_bed.celsius, temp_hotend[heater].celsius); + NOLESS(maxT, current_temp); + NOMORE(minT, current_temp); #if ENABLED(PRINTER_EVENT_LEDS) - ONHEATING(start_temp, current, target); + ONHEATING(start_temp, current_temp, target); #endif #if HAS_AUTO_FAN @@ -442,7 +434,7 @@ temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0 } #endif - if (heating && current > target) { + if (heating && current_temp > target) { if (ELAPSED(ms, t2 + 5000UL)) { heating = false; SHV((bias - d) >> 1, (bias - d) >> 1); @@ -452,7 +444,7 @@ temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0 } } - if (!heating && current < target) { + if (!heating && current_temp < target) { if (ELAPSED(ms, t1 + 5000UL)) { heating = true; t2 = ms; @@ -508,9 +500,9 @@ temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0 // Did the temperature overshoot very far? #ifndef MAX_OVERSHOOT_PID_AUTOTUNE - #define MAX_OVERSHOOT_PID_AUTOTUNE 20 + #define MAX_OVERSHOOT_PID_AUTOTUNE 30 #endif - if (current > target + MAX_OVERSHOOT_PID_AUTOTUNE) { + if (current_temp > target + MAX_OVERSHOOT_PID_AUTOTUNE) { SERIAL_ECHOLNPGM(MSG_PID_TEMP_TOO_HIGH); break; } @@ -535,15 +527,15 @@ temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0 #endif ) { if (!heated) { // If not yet reached target... - if (current > next_watch_temp) { // Over the watch temp? - next_watch_temp = current + watch_temp_increase; // - set the next temp to watch for + if (current_temp > next_watch_temp) { // Over the watch temp? + next_watch_temp = current_temp + watch_temp_increase; // - set the next temp to watch for temp_change_ms = ms + watch_temp_period * 1000UL; // - move the expiration timer up - if (current > watch_temp_target) heated = true; // - Flag if target temperature reached + if (current_temp > watch_temp_target) heated = true; // - Flag if target temperature reached } else if (ELAPSED(ms, temp_change_ms)) // Watch timer expired _temp_error(heater, PSTR(MSG_T_HEATING_FAILED), TEMP_ERR_PSTR(MSG_HEATING_FAILED_LCD, heater)); } - else if (current < target - (MAX_OVERSHOOT_PID_AUTOTUNE)) // Heated, then temperature fell too far? + else if (current_temp < target - (MAX_OVERSHOOT_PID_AUTOTUNE)) // Heated, then temperature fell too far? _temp_error(heater, PSTR(MSG_T_THERMAL_RUNAWAY), TEMP_ERR_PSTR(MSG_THERMAL_RUNAWAY, heater)); } #endif @@ -627,17 +619,20 @@ temp_range_t Temperature::temp_range[HOTENDS] = ARRAY_BY_HOTENDS(sensor_heater_0 * Class and Instance Methods */ -Temperature::Temperature() { } - int16_t Temperature::getHeaterPower(const heater_ind_t heater_id) { switch (heater_id) { - default: return temp_hotend[heater_id].soft_pwm_amount; #if HAS_HEATED_BED case H_BED: return temp_bed.soft_pwm_amount; #endif #if HAS_HEATED_CHAMBER case H_CHAMBER: return temp_chamber.soft_pwm_amount; #endif + default: + #if HOTENDS + return temp_hotend[heater_id].soft_pwm_amount; + #else + return 0; + #endif } } @@ -670,10 +665,10 @@ int16_t Temperature::getHeaterPower(const heater_ind_t heater_id) { , AUTO_2_IS_0 ? 0 : AUTO_2_IS_1 ? 1 : 2 #endif #if HOTENDS > 3 - , AUTO_3_IS_0 ? 0 : AUTO_3_IS_1 ? 1 : AUTO_3_IS_2 ? 2 : 3, + , AUTO_3_IS_0 ? 0 : AUTO_3_IS_1 ? 1 : AUTO_3_IS_2 ? 2 : 3 #endif #if HOTENDS > 4 - , AUTO_4_IS_0 ? 0 : AUTO_4_IS_1 ? 1 : AUTO_4_IS_2 ? 2 : AUTO_4_IS_3 ? 3 : 4, + , AUTO_4_IS_0 ? 0 : AUTO_4_IS_1 ? 1 : AUTO_4_IS_2 ? 2 : AUTO_4_IS_3 ? 3 : 4 #endif #if HOTENDS > 5 , AUTO_5_IS_0 ? 0 : AUTO_5_IS_1 ? 1 : AUTO_5_IS_2 ? 2 : AUTO_5_IS_3 ? 3 : AUTO_5_IS_4 ? 4 : 5 @@ -685,11 +680,11 @@ int16_t Temperature::getHeaterPower(const heater_ind_t heater_id) { uint8_t fanState = 0; HOTEND_LOOP() - if (temp_hotend[e].current >= EXTRUDER_AUTO_FAN_TEMPERATURE) + if (temp_hotend[e].celsius >= EXTRUDER_AUTO_FAN_TEMPERATURE) SBI(fanState, pgm_read_byte(&fanBit[e])); #if HAS_AUTO_CHAMBER_FAN - if (temp_chamber.current >= CHAMBER_AUTO_FAN_TEMPERATURE) + if (temp_chamber.celsius >= CHAMBER_AUTO_FAN_TEMPERATURE) SBI(fanState, pgm_read_byte(&fanBit[CHAMBER_FAN_INDEX])); #endif @@ -816,114 +811,119 @@ void Temperature::min_temp_error(const heater_ind_t heater) { _temp_error(heater, PSTR(MSG_T_MINTEMP), TEMP_ERR_PSTR(MSG_ERR_MINTEMP, heater)); } -float Temperature::get_pid_output_hotend(const uint8_t e) { - #if HOTENDS == 1 - #define _HOTEND_TEST true - #else - #define _HOTEND_TEST (e == active_extruder) - #endif - E_UNUSED(); - const uint8_t ee = HOTEND_INDEX; - float pid_output; - #if ENABLED(PIDTEMP) - #if DISABLED(PID_OPENLOOP) - static hotend_pid_t work_pid[HOTENDS]; - static float temp_iState[HOTENDS] = { 0 }, - temp_dState[HOTENDS] = { 0 }; - static bool pid_reset[HOTENDS] = { false }; - const float pid_error = temp_hotend[ee].target - temp_hotend[ee].current; +#if HOTENDS - if (temp_hotend[ee].target == 0 - || pid_error < -(PID_FUNCTIONAL_RANGE) - #if HEATER_IDLE_HANDLER - || hotend_idle[ee].timed_out - #endif - ) { - pid_output = 0; - pid_reset[ee] = true; - } - else if (pid_error > PID_FUNCTIONAL_RANGE) { - pid_output = BANG_MAX; - pid_reset[ee] = true; - } - else { - if (pid_reset[ee]) { - temp_iState[ee] = 0.0; - work_pid[ee].Kd = 0.0; - pid_reset[ee] = false; - } - - work_pid[ee].Kd = work_pid[ee].Kd + PID_K2 * (PID_PARAM(Kd, ee) * (temp_dState[ee] - temp_hotend[ee].current) - work_pid[ee].Kd); - const float max_power_over_i_gain = float(PID_MAX) / PID_PARAM(Ki, ee) - float(MIN_POWER); - temp_iState[ee] = constrain(temp_iState[ee] + pid_error, 0, max_power_over_i_gain); - work_pid[ee].Kp = PID_PARAM(Kp, ee) * pid_error; - work_pid[ee].Ki = PID_PARAM(Ki, ee) * temp_iState[ee]; - - pid_output = work_pid[ee].Kp + work_pid[ee].Ki + work_pid[ee].Kd + float(MIN_POWER); - - #if ENABLED(PID_EXTRUSION_SCALING) - work_pid[ee].Kc = 0; - if (_HOTEND_TEST) { - const long e_position = stepper.position(E_AXIS); - if (e_position > last_e_position) { - lpq[lpq_ptr] = e_position - last_e_position; - last_e_position = e_position; - } - else - lpq[lpq_ptr] = 0; - - if (++lpq_ptr >= lpq_len) lpq_ptr = 0; - work_pid[ee].Kc = (lpq[lpq_ptr] * planner.steps_to_mm[E_AXIS]) * PID_PARAM(Kc, ee); - pid_output += work_pid[ee].Kc; - } - #endif // PID_EXTRUSION_SCALING - - LIMIT(pid_output, 0, PID_MAX); - } - temp_dState[ee] = temp_hotend[ee].current; - - #else // PID_OPENLOOP - - const float pid_output = constrain(temp_hotend[ee].target, 0, PID_MAX); - - #endif // PID_OPENLOOP - - #if ENABLED(PID_DEBUG) - if (e == active_extruder) { - SERIAL_ECHO_START(); - SERIAL_ECHOPAIR( - MSG_PID_DEBUG, ee, - MSG_PID_DEBUG_INPUT, temp_hotend[ee].current, - MSG_PID_DEBUG_OUTPUT, pid_output - ); - #if DISABLED(PID_OPENLOOP) - SERIAL_ECHOPAIR( - MSG_PID_DEBUG_PTERM, work_pid[ee].Kp, - MSG_PID_DEBUG_ITERM, work_pid[ee].Ki, - MSG_PID_DEBUG_DTERM, work_pid[ee].Kd - #if ENABLED(PID_EXTRUSION_SCALING) - , MSG_PID_DEBUG_CTERM, work_pid[ee].Kc - #endif - ); - #endif - SERIAL_EOL(); - } - #endif // PID_DEBUG - - #else // No PID enabled - - #if HEATER_IDLE_HANDLER - #define _TIMED_OUT_TEST hotend_idle[ee].timed_out + float Temperature::get_pid_output_hotend(const uint8_t e) { + #if HOTENDS == 1 + #define _HOTEND_TEST true #else - #define _TIMED_OUT_TEST false + #define _HOTEND_TEST (e == active_extruder) #endif - pid_output = (!_TIMED_OUT_TEST && temp_hotend[ee].current < temp_hotend[ee].target) ? BANG_MAX : 0; - #undef _TIMED_OUT_TEST + E_UNUSED(); + const uint8_t ee = HOTEND_INDEX; + #if ENABLED(PIDTEMP) + #if DISABLED(PID_OPENLOOP) + static hotend_pid_t work_pid[HOTENDS]; + static float temp_iState[HOTENDS] = { 0 }, + temp_dState[HOTENDS] = { 0 }; + static bool pid_reset[HOTENDS] = { false }; + const float pid_error = temp_hotend[ee].target - temp_hotend[ee].celsius; - #endif + float pid_output; - return pid_output; -} + if (temp_hotend[ee].target == 0 + || pid_error < -(PID_FUNCTIONAL_RANGE) + #if HEATER_IDLE_HANDLER + || hotend_idle[ee].timed_out + #endif + ) { + pid_output = 0; + pid_reset[ee] = true; + } + else if (pid_error > PID_FUNCTIONAL_RANGE) { + pid_output = BANG_MAX; + pid_reset[ee] = true; + } + else { + if (pid_reset[ee]) { + temp_iState[ee] = 0.0; + work_pid[ee].Kd = 0.0; + pid_reset[ee] = false; + } + + work_pid[ee].Kd = work_pid[ee].Kd + PID_K2 * (PID_PARAM(Kd, ee) * (temp_dState[ee] - temp_hotend[ee].celsius) - work_pid[ee].Kd); + const float max_power_over_i_gain = float(PID_MAX) / PID_PARAM(Ki, ee) - float(MIN_POWER); + temp_iState[ee] = constrain(temp_iState[ee] + pid_error, 0, max_power_over_i_gain); + work_pid[ee].Kp = PID_PARAM(Kp, ee) * pid_error; + work_pid[ee].Ki = PID_PARAM(Ki, ee) * temp_iState[ee]; + + pid_output = work_pid[ee].Kp + work_pid[ee].Ki + work_pid[ee].Kd + float(MIN_POWER); + + #if ENABLED(PID_EXTRUSION_SCALING) + work_pid[ee].Kc = 0; + if (_HOTEND_TEST) { + const long e_position = stepper.position(E_AXIS); + if (e_position > last_e_position) { + lpq[lpq_ptr] = e_position - last_e_position; + last_e_position = e_position; + } + else + lpq[lpq_ptr] = 0; + + if (++lpq_ptr >= lpq_len) lpq_ptr = 0; + work_pid[ee].Kc = (lpq[lpq_ptr] * planner.steps_to_mm[E_AXIS]) * PID_PARAM(Kc, ee); + pid_output += work_pid[ee].Kc; + } + #endif // PID_EXTRUSION_SCALING + + LIMIT(pid_output, 0, PID_MAX); + } + temp_dState[ee] = temp_hotend[ee].celsius; + + #else // PID_OPENLOOP + + const float pid_output = constrain(temp_hotend[ee].target, 0, PID_MAX); + + #endif // PID_OPENLOOP + + #if ENABLED(PID_DEBUG) + if (e == active_extruder) { + SERIAL_ECHO_START(); + SERIAL_ECHOPAIR( + MSG_PID_DEBUG, ee, + MSG_PID_DEBUG_INPUT, temp_hotend[ee].celsius, + MSG_PID_DEBUG_OUTPUT, pid_output + ); + #if DISABLED(PID_OPENLOOP) + SERIAL_ECHOPAIR( + MSG_PID_DEBUG_PTERM, work_pid[ee].Kp, + MSG_PID_DEBUG_ITERM, work_pid[ee].Ki, + MSG_PID_DEBUG_DTERM, work_pid[ee].Kd + #if ENABLED(PID_EXTRUSION_SCALING) + , MSG_PID_DEBUG_CTERM, work_pid[ee].Kc + #endif + ); + #endif + SERIAL_EOL(); + } + #endif // PID_DEBUG + + #else // No PID enabled + + #if HEATER_IDLE_HANDLER + #define _TIMED_OUT_TEST hotend_idle[ee].timed_out + #else + #define _TIMED_OUT_TEST false + #endif + const float pid_output = (!_TIMED_OUT_TEST && temp_hotend[ee].celsius < temp_hotend[ee].target) ? BANG_MAX : 0; + #undef _TIMED_OUT_TEST + + #endif + + return pid_output; + } + +#endif // HOTENDS #if ENABLED(PIDTEMPBED) @@ -931,12 +931,12 @@ float Temperature::get_pid_output_hotend(const uint8_t e) { #if DISABLED(PID_OPENLOOP) - static PID_t work_pid = { 0 }; + static PID_t work_pid{0}; static float temp_iState = 0, temp_dState = 0; static bool pid_reset = true; float pid_output = 0; const float max_power_over_i_gain = float(MAX_BED_POWER) / temp_bed.pid.Ki - float(MIN_BED_POWER), - pid_error = temp_bed.target - temp_bed.current; + pid_error = temp_bed.target - temp_bed.celsius; if (!temp_bed.target || pid_error < -(PID_FUNCTIONAL_RANGE)) { pid_output = 0; @@ -957,9 +957,9 @@ float Temperature::get_pid_output_hotend(const uint8_t e) { work_pid.Kp = temp_bed.pid.Kp * pid_error; work_pid.Ki = temp_bed.pid.Ki * temp_iState; - work_pid.Kd = work_pid.Kd + PID_K2 * (temp_bed.pid.Kd * (temp_dState - temp_bed.current) - work_pid.Kd); + work_pid.Kd = work_pid.Kd + PID_K2 * (temp_bed.pid.Kd * (temp_dState - temp_bed.celsius) - work_pid.Kd); - temp_dState = temp_bed.current; + temp_dState = temp_bed.celsius; pid_output = constrain(work_pid.Kp + work_pid.Ki + work_pid.Kd + float(MIN_BED_POWER), 0, MAX_BED_POWER); } @@ -973,7 +973,7 @@ float Temperature::get_pid_output_hotend(const uint8_t e) { #if ENABLED(PID_BED_DEBUG) SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR( - " PID_BED_DEBUG : Input ", temp_bed.current, " Output ", pid_output, + " PID_BED_DEBUG : Input ", temp_bed.celsius, " Output ", pid_output, #if DISABLED(PID_OPENLOOP) MSG_PID_DEBUG_PTERM, work_pid.Kp, MSG_PID_DEBUG_ITERM, work_pid.Ki, @@ -1016,53 +1016,55 @@ void Temperature::manage_heater() { updateTemperaturesFromRawValues(); // also resets the watchdog #if ENABLED(HEATER_0_USES_MAX6675) - if (temp_hotend[0].current > _MIN(HEATER_0_MAXTEMP, HEATER_0_MAX6675_TMAX - 1.0)) max_temp_error(H_E0); - if (temp_hotend[0].current < _MAX(HEATER_0_MINTEMP, HEATER_0_MAX6675_TMIN + .01)) min_temp_error(H_E0); + if (temp_hotend[0].celsius > _MIN(HEATER_0_MAXTEMP, HEATER_0_MAX6675_TMAX - 1.0)) max_temp_error(H_E0); + if (temp_hotend[0].celsius < _MAX(HEATER_0_MINTEMP, HEATER_0_MAX6675_TMIN + .01)) min_temp_error(H_E0); #endif #if ENABLED(HEATER_1_USES_MAX6675) - if (temp_hotend[1].current > _MIN(HEATER_1_MAXTEMP, HEATER_1_MAX6675_TMAX - 1.0)) max_temp_error(H_E1); - if (temp_hotend[1].current < _MAX(HEATER_1_MINTEMP, HEATER_1_MAX6675_TMIN + .01)) min_temp_error(H_E1); + if (temp_hotend[1].celsius > _MIN(HEATER_1_MAXTEMP, HEATER_1_MAX6675_TMAX - 1.0)) max_temp_error(H_E1); + if (temp_hotend[1].celsius < _MAX(HEATER_1_MINTEMP, HEATER_1_MAX6675_TMIN + .01)) min_temp_error(H_E1); #endif - #if HAS_THERMAL_PROTECTION || DISABLED(PIDTEMPBED) || HAS_AUTO_FAN || HEATER_IDLE_HANDLER - millis_t ms = millis(); - #endif + millis_t ms = millis(); - HOTEND_LOOP() { - #if ENABLED(THERMAL_PROTECTION_HOTENDS) - if (degHotend(e) > temp_range[e].maxtemp) - _temp_error((heater_ind_t)e, PSTR(MSG_T_THERMAL_RUNAWAY), TEMP_ERR_PSTR(MSG_THERMAL_RUNAWAY, e)); - #endif + #if HOTENDS - #if HEATER_IDLE_HANDLER - hotend_idle[e].update(ms); - #endif + HOTEND_LOOP() { + #if ENABLED(THERMAL_PROTECTION_HOTENDS) + if (degHotend(e) > temp_range[e].maxtemp) + _temp_error((heater_ind_t)e, PSTR(MSG_T_THERMAL_RUNAWAY), TEMP_ERR_PSTR(MSG_THERMAL_RUNAWAY, e)); + #endif - #if ENABLED(THERMAL_PROTECTION_HOTENDS) - // Check for thermal runaway - thermal_runaway_protection(tr_state_machine[e], temp_hotend[e].current, temp_hotend[e].target, (heater_ind_t)e, THERMAL_PROTECTION_PERIOD, THERMAL_PROTECTION_HYSTERESIS); - #endif + #if HEATER_IDLE_HANDLER + hotend_idle[e].update(ms); + #endif - temp_hotend[e].soft_pwm_amount = (temp_hotend[e].current > temp_range[e].mintemp || is_preheating(e)) && temp_hotend[e].current < temp_range[e].maxtemp ? (int)get_pid_output_hotend(e) >> 1 : 0; + #if ENABLED(THERMAL_PROTECTION_HOTENDS) + // Check for thermal runaway + thermal_runaway_protection(tr_state_machine[e], temp_hotend[e].celsius, temp_hotend[e].target, (heater_ind_t)e, THERMAL_PROTECTION_PERIOD, THERMAL_PROTECTION_HYSTERESIS); + #endif - #if WATCH_HOTENDS - // Make sure temperature is increasing - if (watch_hotend[e].next_ms && ELAPSED(ms, watch_hotend[e].next_ms)) { // Time to check this extruder? - if (degHotend(e) < watch_hotend[e].target) // Failed to increase enough? - _temp_error((heater_ind_t)e, PSTR(MSG_T_HEATING_FAILED), TEMP_ERR_PSTR(MSG_HEATING_FAILED_LCD, e)); - else // Start again if the target is still far off - start_watching_hotend(e); - } - #endif + temp_hotend[e].soft_pwm_amount = (temp_hotend[e].celsius > temp_range[e].mintemp || is_preheating(e)) && temp_hotend[e].celsius < temp_range[e].maxtemp ? (int)get_pid_output_hotend(e) >> 1 : 0; - #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) - // Make sure measured temperatures are close together - if (ABS(temp_hotend[0].current - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF) - _temp_error(H_E0, PSTR(MSG_REDUNDANCY), PSTR(MSG_ERR_REDUNDANT_TEMP)); - #endif + #if WATCH_HOTENDS + // Make sure temperature is increasing + if (watch_hotend[e].next_ms && ELAPSED(ms, watch_hotend[e].next_ms)) { // Time to check this extruder? + if (degHotend(e) < watch_hotend[e].target) // Failed to increase enough? + _temp_error((heater_ind_t)e, PSTR(MSG_T_HEATING_FAILED), TEMP_ERR_PSTR(MSG_HEATING_FAILED_LCD, e)); + else // Start again if the target is still far off + start_watching_hotend(e); + } + #endif - } // HOTEND_LOOP + #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) + // Make sure measured temperatures are close together + if (ABS(temp_hotend[0].celsius - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF) + _temp_error(H_E0, PSTR(MSG_REDUNDANCY), PSTR(MSG_ERR_REDUNDANT_TEMP)); + #endif + + } // HOTEND_LOOP + + #endif // HOTENDS #if HAS_AUTO_FAN if (ELAPSED(ms, next_auto_fan_check_ms)) { // only need to check fan state very infrequently @@ -1073,16 +1075,11 @@ void Temperature::manage_heater() { #if ENABLED(FILAMENT_WIDTH_SENSOR) /** - * Filament Width Sensor dynamically sets the volumetric multiplier - * based on a delayed measurement of the filament diameter. + * Dynamically set the volumetric multiplier based + * on the delayed Filament Width measurement. */ - if (filament_sensor) { - meas_shift_index = filwidth_delay_index[0] - meas_delay_cm; - if (meas_shift_index < 0) meas_shift_index += MAX_MEASUREMENT_DELAY + 1; //loop around buffer if needed - LIMIT(meas_shift_index, 0, MAX_MEASUREMENT_DELAY); - planner.calculate_volumetric_for_width_sensor(measurement_delay[meas_shift_index]); - } - #endif // FILAMENT_WIDTH_SENSOR + filwidth.update_volumetric(); + #endif #if HAS_HEATED_BED @@ -1120,7 +1117,7 @@ void Temperature::manage_heater() { #endif #if HAS_THERMALLY_PROTECTED_BED - thermal_runaway_protection(tr_state_machine_bed, temp_bed.current, temp_bed.target, H_BED, THERMAL_PROTECTION_BED_PERIOD, THERMAL_PROTECTION_BED_HYSTERESIS); + thermal_runaway_protection(tr_state_machine_bed, temp_bed.celsius, temp_bed.target, H_BED, THERMAL_PROTECTION_BED_PERIOD, THERMAL_PROTECTION_BED_HYSTERESIS); #endif #if HEATER_IDLE_HANDLER @@ -1134,17 +1131,17 @@ void Temperature::manage_heater() { #endif { #if ENABLED(PIDTEMPBED) - temp_bed.soft_pwm_amount = WITHIN(temp_bed.current, BED_MINTEMP, BED_MAXTEMP) ? (int)get_pid_output_bed() >> 1 : 0; + temp_bed.soft_pwm_amount = WITHIN(temp_bed.celsius, BED_MINTEMP, BED_MAXTEMP) ? (int)get_pid_output_bed() >> 1 : 0; #else // Check if temperature is within the correct band - if (WITHIN(temp_bed.current, BED_MINTEMP, BED_MAXTEMP)) { + if (WITHIN(temp_bed.celsius, BED_MINTEMP, BED_MAXTEMP)) { #if ENABLED(BED_LIMIT_SWITCHING) - if (temp_bed.current >= temp_bed.target + BED_HYSTERESIS) + if (temp_bed.celsius >= temp_bed.target + BED_HYSTERESIS) temp_bed.soft_pwm_amount = 0; - else if (temp_bed.current <= temp_bed.target - (BED_HYSTERESIS)) + else if (temp_bed.celsius <= temp_bed.target - (BED_HYSTERESIS)) temp_bed.soft_pwm_amount = MAX_BED_POWER >> 1; #else // !PIDTEMPBED && !BED_LIMIT_SWITCHING - temp_bed.soft_pwm_amount = temp_bed.current < temp_bed.target ? MAX_BED_POWER >> 1 : 0; + temp_bed.soft_pwm_amount = temp_bed.celsius < temp_bed.target ? MAX_BED_POWER >> 1 : 0; #endif } else { @@ -1182,14 +1179,14 @@ void Temperature::manage_heater() { if (ELAPSED(ms, next_chamber_check_ms)) { next_chamber_check_ms = ms + CHAMBER_CHECK_INTERVAL; - if (WITHIN(temp_chamber.current, CHAMBER_MINTEMP, CHAMBER_MAXTEMP)) { + if (WITHIN(temp_chamber.celsius, CHAMBER_MINTEMP, CHAMBER_MAXTEMP)) { #if ENABLED(CHAMBER_LIMIT_SWITCHING) - if (temp_chamber.current >= temp_chamber.target + TEMP_CHAMBER_HYSTERESIS) + if (temp_chamber.celsius >= temp_chamber.target + TEMP_CHAMBER_HYSTERESIS) temp_chamber.soft_pwm_amount = 0; - else if (temp_chamber.current <= temp_chamber.target - (TEMP_CHAMBER_HYSTERESIS)) + else if (temp_chamber.celsius <= temp_chamber.target - (TEMP_CHAMBER_HYSTERESIS)) temp_chamber.soft_pwm_amount = MAX_CHAMBER_POWER >> 1; #else - temp_chamber.soft_pwm_amount = temp_chamber.current < temp_chamber.target ? MAX_CHAMBER_POWER >> 1 : 0; + temp_chamber.soft_pwm_amount = temp_chamber.celsius < temp_chamber.target ? MAX_CHAMBER_POWER >> 1 : 0; #endif } else { @@ -1198,14 +1195,16 @@ void Temperature::manage_heater() { } #if ENABLED(THERMAL_PROTECTION_CHAMBER) - thermal_runaway_protection(tr_state_machine_chamber, temp_chamber.current, temp_chamber.target, H_CHAMBER, THERMAL_PROTECTION_CHAMBER_PERIOD, THERMAL_PROTECTION_CHAMBER_HYSTERESIS); + thermal_runaway_protection(tr_state_machine_chamber, temp_chamber.celsius, temp_chamber.target, H_CHAMBER, THERMAL_PROTECTION_CHAMBER_PERIOD, THERMAL_PROTECTION_CHAMBER_HYSTERESIS); #endif } // TODO: Implement true PID pwm - //temp_bed.soft_pwm_amount = WITHIN(temp_chamber.current, CHAMBER_MINTEMP, CHAMBER_MAXTEMP) ? (int)get_pid_output_chamber() >> 1 : 0; + //temp_bed.soft_pwm_amount = WITHIN(temp_chamber.celsius, CHAMBER_MINTEMP, CHAMBER_MAXTEMP) ? (int)get_pid_output_chamber() >> 1 : 0; #endif // HAS_HEATED_CHAMBER + + UNUSED(ms); } #define TEMP_AD595(RAW) ((RAW) * 5.0 * 100.0 / 1024.0 / (OVERSAMPLENR) * (TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET) @@ -1322,13 +1321,14 @@ void Temperature::manage_heater() { if (!WITHIN(t_index, 0, COUNT(user_thermistor) - 1)) return 25; - if (user_thermistor[t_index].pre_calc) { - // pre-calculate some variables - user_thermistor[t_index].pre_calc = false; - user_thermistor[t_index].res_25_recip = 1.0f / user_thermistor[t_index].res_25; - user_thermistor[t_index].res_25_log = logf(user_thermistor[t_index].res_25); - user_thermistor[t_index].beta_recip = 1.0f / user_thermistor[t_index].beta; - user_thermistor[t_index].sh_alpha = (1.0f / (THERMISTOR_RESISTANCE_NOMINAL_C - THERMISTOR_ABS_ZERO_C)) - (user_thermistor[t_index].beta_recip * user_thermistor[t_index].res_25_log) - (user_thermistor[t_index].sh_c_coeff * user_thermistor[t_index].res_25_log * user_thermistor[t_index].res_25_log * user_thermistor[t_index].res_25_log); + user_thermistor_t &t = user_thermistor[t_index]; + if (t.pre_calc) { // pre-calculate some variables + t.pre_calc = false; + t.res_25_recip = 1.0f / t.res_25; + t.res_25_log = logf(t.res_25); + t.beta_recip = 1.0f / t.beta; + t.sh_alpha = RECIPROCAL(THERMISTOR_RESISTANCE_NOMINAL_C - (THERMISTOR_ABS_ZERO_C)) + - (t.beta_recip * t.res_25_log) - (t.sh_c_coeff * cu(t.res_25_log)); } // maximum adc value .. take into account the over sampling @@ -1336,13 +1336,13 @@ void Temperature::manage_heater() { adc_raw = constrain(raw, 1, adc_max - 1); // constrain to prevent divide-by-zero const float adc_inverse = (adc_max - adc_raw) - 0.5f, - resistance = user_thermistor[t_index].series_res * (adc_raw + 0.5f) / adc_inverse, + resistance = t.series_res * (adc_raw + 0.5f) / adc_inverse, log_resistance = logf(resistance); - float value = user_thermistor[t_index].sh_alpha; - value += log_resistance * user_thermistor[t_index].beta_recip; - if (user_thermistor[t_index].sh_c_coeff != 0) - value += user_thermistor[t_index].sh_c_coeff * log_resistance * log_resistance * log_resistance; + float value = t.sh_alpha; + value += log_resistance * t.beta_recip; + if (t.sh_c_coeff != 0) + value += t.sh_c_coeff * cu(log_resistance); value = 1.0f / value; //#if (MOTHERBOARD == BOARD_RAMPS_14_EFB) @@ -1358,98 +1358,100 @@ void Temperature::manage_heater() { } #endif -// Derived from RepRap FiveD extruder::getTemperature() -// For hot end temperature measurement. -float Temperature::analog_to_celsius_hotend(const int raw, const uint8_t e) { - #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) - if (e > HOTENDS) - #else - if (e >= HOTENDS) - #endif - { - SERIAL_ERROR_START(); - SERIAL_ECHO((int)e); - SERIAL_ECHOLNPGM(MSG_INVALID_EXTRUDER_NUM); - kill(); - return 0.0; +#if HOTENDS + // Derived from RepRap FiveD extruder::getTemperature() + // For hot end temperature measurement. + float Temperature::analog_to_celsius_hotend(const int raw, const uint8_t e) { + #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) + if (e > HOTENDS) + #else + if (e >= HOTENDS) + #endif + { + SERIAL_ERROR_START(); + SERIAL_ECHO((int)e); + SERIAL_ECHOLNPGM(MSG_INVALID_EXTRUDER_NUM); + kill(); + return 0.0; + } + + switch (e) { + case 0: + #if ENABLED(HEATER_0_USER_THERMISTOR) + return user_thermistor_to_deg_c(CTI_HOTEND_0, raw); + #elif ENABLED(HEATER_0_USES_MAX6675) + return raw * 0.25; + #elif ENABLED(HEATER_0_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_0_USES_AD8495) + return TEMP_AD8495(raw); + #else + break; + #endif + case 1: + #if ENABLED(HEATER_1_USER_THERMISTOR) + return user_thermistor_to_deg_c(CTI_HOTEND_1, raw); + #elif ENABLED(HEATER_1_USES_MAX6675) + return raw * 0.25; + #elif ENABLED(HEATER_1_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_1_USES_AD8495) + return TEMP_AD8495(raw); + #else + break; + #endif + case 2: + #if ENABLED(HEATER_2_USER_THERMISTOR) + return user_thermistor_to_deg_c(CTI_HOTEND_2, raw); + #elif ENABLED(HEATER_2_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_2_USES_AD8495) + return TEMP_AD8495(raw); + #else + break; + #endif + case 3: + #if ENABLED(HEATER_3_USER_THERMISTOR) + return user_thermistor_to_deg_c(CTI_HOTEND_3, raw); + #elif ENABLED(HEATER_3_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_3_USES_AD8495) + return TEMP_AD8495(raw); + #else + break; + #endif + case 4: + #if ENABLED(HEATER_4_USER_THERMISTOR) + return user_thermistor_to_deg_c(CTI_HOTEND_4, raw); + #elif ENABLED(HEATER_4_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_4_USES_AD8495) + return TEMP_AD8495(raw); + #else + break; + #endif + case 5: + #if ENABLED(HEATER_5_USER_THERMISTOR) + return user_thermistor_to_deg_c(CTI_HOTEND_5, raw); + #elif ENABLED(HEATER_5_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_5_USES_AD8495) + return TEMP_AD8495(raw); + #else + break; + #endif + default: break; } - switch (e) { - case 0: - #if ENABLED(HEATER_0_USER_THERMISTOR) - return user_thermistor_to_deg_c(CTI_HOTEND_0, raw); - #elif ENABLED(HEATER_0_USES_MAX6675) - return raw * 0.25; - #elif ENABLED(HEATER_0_USES_AD595) - return TEMP_AD595(raw); - #elif ENABLED(HEATER_0_USES_AD8495) - return TEMP_AD8495(raw); - #else - break; - #endif - case 1: - #if ENABLED(HEATER_1_USER_THERMISTOR) - return user_thermistor_to_deg_c(CTI_HOTEND_1, raw); - #elif ENABLED(HEATER_1_USES_MAX6675) - return raw * 0.25; - #elif ENABLED(HEATER_1_USES_AD595) - return TEMP_AD595(raw); - #elif ENABLED(HEATER_1_USES_AD8495) - return TEMP_AD8495(raw); - #else - break; - #endif - case 2: - #if ENABLED(HEATER_2_USER_THERMISTOR) - return user_thermistor_to_deg_c(CTI_HOTEND_2, raw); - #elif ENABLED(HEATER_2_USES_AD595) - return TEMP_AD595(raw); - #elif ENABLED(HEATER_2_USES_AD8495) - return TEMP_AD8495(raw); - #else - break; - #endif - case 3: - #if ENABLED(HEATER_3_USER_THERMISTOR) - return user_thermistor_to_deg_c(CTI_HOTEND_3, raw); - #elif ENABLED(HEATER_3_USES_AD595) - return TEMP_AD595(raw); - #elif ENABLED(HEATER_3_USES_AD8495) - return TEMP_AD8495(raw); - #else - break; - #endif - case 4: - #if ENABLED(HEATER_4_USER_THERMISTOR) - return user_thermistor_to_deg_c(CTI_HOTEND_4, raw); - #elif ENABLED(HEATER_4_USES_AD595) - return TEMP_AD595(raw); - #elif ENABLED(HEATER_4_USES_AD8495) - return TEMP_AD8495(raw); - #else - break; - #endif - case 5: - #if ENABLED(HEATER_5_USER_THERMISTOR) - return user_thermistor_to_deg_c(CTI_HOTEND_5, raw); - #elif ENABLED(HEATER_5_USES_AD595) - return TEMP_AD595(raw); - #elif ENABLED(HEATER_5_USES_AD8495) - return TEMP_AD8495(raw); - #else - break; - #endif - default: break; + #if HOTEND_USES_THERMISTOR + // Thermistor with conversion table? + const short(*tt)[][2] = (short(*)[][2])(heater_ttbl_map[e]); + SCAN_THERMISTOR_TABLE((*tt), heater_ttbllen_map[e]); + #endif + + return 0; } - - #if HOTEND_USES_THERMISTOR - // Thermistor with conversion table? - const short(*tt)[][2] = (short(*)[][2])(heater_ttbl_map[e]); - SCAN_THERMISTOR_TABLE((*tt), heater_ttbllen_map[e]); - #endif - - return 0; -} +#endif // HOTENDS #if HAS_HEATED_BED // Derived from RepRap FiveD extruder::getTemperature() @@ -1500,18 +1502,20 @@ void Temperature::updateTemperaturesFromRawValues() { #if ENABLED(HEATER_1_USES_MAX6675) temp_hotend[1].raw = READ_MAX6675(1); #endif - HOTEND_LOOP() temp_hotend[e].current = analog_to_celsius_hotend(temp_hotend[e].raw, e); + #if HOTENDS + HOTEND_LOOP() temp_hotend[e].celsius = analog_to_celsius_hotend(temp_hotend[e].raw, e); + #endif #if HAS_HEATED_BED - temp_bed.current = analog_to_celsius_bed(temp_bed.raw); + temp_bed.celsius = analog_to_celsius_bed(temp_bed.raw); #endif #if HAS_TEMP_CHAMBER - temp_chamber.current = analog_to_celsius_chamber(temp_chamber.raw); + temp_chamber.celsius = analog_to_celsius_chamber(temp_chamber.raw); #endif #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) redundant_temperature = analog_to_celsius_hotend(redundant_temperature_raw, 1); #endif #if ENABLED(FILAMENT_WIDTH_SENSOR) - filament_width_meas = analog_to_mm_fil_width(); + filwidth.update_measured_mm(); #endif #if ENABLED(USE_WATCHDOG) @@ -1522,30 +1526,6 @@ void Temperature::updateTemperaturesFromRawValues() { temp_meas_ready = false; } - -#if ENABLED(FILAMENT_WIDTH_SENSOR) - - // Convert raw Filament Width to millimeters - float Temperature::analog_to_mm_fil_width() { - return current_raw_filwidth * 5.0f * (1.0f / 16383.0f); - } - - /** - * Convert Filament Width (mm) to a simple ratio - * and reduce to an 8 bit value. - * - * A nominal width of 1.75 and measured width of 1.73 - * gives (100 * 1.75 / 1.73) for a ratio of 101 and - * a return value of 1. - */ - int8_t Temperature::widthFil_to_size_ratio() { - if (ABS(filament_width_nominal - filament_width_meas) <= FILWIDTH_ERROR_MARGIN) - return int(100.0f * filament_width_nominal / filament_width_meas) - 100; - return 0; - } - -#endif - #if MAX6675_SEPARATE_SPI SPIclass max6675_spi; #endif @@ -1802,7 +1782,7 @@ void Temperature::init() { #endif // HOTENDS > 2 #endif // HOTENDS > 1 - #endif // HOTENDS > 1 + #endif // HOTENDS #if HAS_HEATED_BED #ifdef BED_MINTEMP @@ -1976,7 +1956,9 @@ void Temperature::disable_all_heaters() { planner.autotemp_enabled = false; #endif - HOTEND_LOOP() setTargetHotend(0, e); + #if HOTENDS + HOTEND_LOOP() setTargetHotend(0, e); + #endif #if HAS_HEATED_BED setTargetBed(0); @@ -2224,10 +2206,6 @@ void Temperature::set_current_temp_raw() { temp_meas_ready = true; } -#if ENABLED(FILAMENT_WIDTH_SENSOR) - uint32_t raw_filwidth_value; // = 0 -#endif - void Temperature::readings_ready() { // Update the raw values if they've been read. Else we could be updating them during reading. @@ -2235,12 +2213,14 @@ void Temperature::readings_ready() { // Filament Sensor - can be read any time since IIR filtering is used #if ENABLED(FILAMENT_WIDTH_SENSOR) - current_raw_filwidth = raw_filwidth_value >> 10; // Divide to get to 0-16384 range since we used 1/128 IIR filter approach + filwidth.reading_ready(); #endif - HOTEND_LOOP() temp_hotend[e].reset(); - #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) - temp_hotend[1].reset(); + #if HOTENDS + HOTEND_LOOP() temp_hotend[e].reset(); + #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) + temp_hotend[1].reset(); + #endif #endif #if HAS_HEATED_BED @@ -2261,55 +2241,59 @@ void Temperature::readings_ready() { joystick.z.reset(); #endif - static constexpr int8_t temp_dir[] = { - #if ENABLED(HEATER_0_USES_MAX6675) - 0 - #else - TEMPDIR(0) - #endif - #if HOTENDS > 1 - #if ENABLED(HEATER_1_USES_MAX6675) - , 0 - #else - , TEMPDIR(1) - #endif - #if HOTENDS > 2 - , TEMPDIR(2) - #if HOTENDS > 3 - , TEMPDIR(3) - #if HOTENDS > 4 - , TEMPDIR(4) - #if HOTENDS > 5 - , TEMPDIR(5) - #endif // HOTENDS > 5 - #endif // HOTENDS > 4 - #endif // HOTENDS > 3 - #endif // HOTENDS > 2 - #endif // HOTENDS > 1 - }; + #if HOTENDS - for (uint8_t e = 0; e < COUNT(temp_dir); e++) { - const int8_t tdir = temp_dir[e]; - if (tdir) { - const int16_t rawtemp = temp_hotend[e].raw * tdir; // normal direction, +rawtemp, else -rawtemp - const bool heater_on = (temp_hotend[e].target > 0 - #if ENABLED(PIDTEMP) - || temp_hotend[e].soft_pwm_amount > 0 - #endif - ); - if (rawtemp > temp_range[e].raw_max * tdir) max_temp_error((heater_ind_t)e); - if (heater_on && rawtemp < temp_range[e].raw_min * tdir && !is_preheating(e)) { - #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED - if (++consecutive_low_temperature_error[e] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED) - #endif - min_temp_error((heater_ind_t)e); - } - #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED - else - consecutive_low_temperature_error[e] = 0; + static constexpr int8_t temp_dir[] = { + #if ENABLED(HEATER_0_USES_MAX6675) + 0 + #else + TEMPDIR(0) #endif + #if HOTENDS > 1 + #if ENABLED(HEATER_1_USES_MAX6675) + , 0 + #else + , TEMPDIR(1) + #endif + #if HOTENDS > 2 + , TEMPDIR(2) + #if HOTENDS > 3 + , TEMPDIR(3) + #if HOTENDS > 4 + , TEMPDIR(4) + #if HOTENDS > 5 + , TEMPDIR(5) + #endif // HOTENDS > 5 + #endif // HOTENDS > 4 + #endif // HOTENDS > 3 + #endif // HOTENDS > 2 + #endif // HOTENDS > 1 + }; + + for (uint8_t e = 0; e < COUNT(temp_dir); e++) { + const int8_t tdir = temp_dir[e]; + if (tdir) { + const int16_t rawtemp = temp_hotend[e].raw * tdir; // normal direction, +rawtemp, else -rawtemp + const bool heater_on = (temp_hotend[e].target > 0 + #if ENABLED(PIDTEMP) + || temp_hotend[e].soft_pwm_amount > 0 + #endif + ); + if (rawtemp > temp_range[e].raw_max * tdir) max_temp_error((heater_ind_t)e); + if (heater_on && rawtemp < temp_range[e].raw_min * tdir && !is_preheating(e)) { + #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED + if (++consecutive_low_temperature_error[e] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED) + #endif + min_temp_error((heater_ind_t)e); + } + #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED + else + consecutive_low_temperature_error[e] = 0; + #endif + } } - } + + #endif // HOTENDS #if HAS_HEATED_BED #if TEMPDIR(BED) < 0 @@ -2399,12 +2383,10 @@ void Temperature::isr() { static bool ADCKey_pressed = false; #endif - #if ENABLED(SLOW_PWM_HEATERS) - static uint8_t slow_pwm_count = 0; + #if HOTENDS + static SoftPWM soft_pwm_hotend[HOTENDS]; #endif - static SoftPWM soft_pwm_hotend[HOTENDS]; - #if HAS_HEATED_BED static SoftPWM soft_pwm_bed; #endif @@ -2414,40 +2396,46 @@ void Temperature::isr() { #endif #if DISABLED(SLOW_PWM_HEATERS) - constexpr uint8_t pwm_mask = - #if ENABLED(SOFT_PWM_DITHER) - _BV(SOFT_PWM_SCALE) - 1 - #else - 0 - #endif - ; + + #if HOTENDS || HAS_HEATED_BED || HAS_HEATED_CHAMBER + constexpr uint8_t pwm_mask = + #if ENABLED(SOFT_PWM_DITHER) + _BV(SOFT_PWM_SCALE) - 1 + #else + 0 + #endif + ; + #define _PWM_MOD(N,S,T) do{ \ + const bool on = S.add(pwm_mask, T.soft_pwm_amount); \ + WRITE_HEATER_##N(on); \ + }while(0) + #endif /** * Standard heater PWM modulation */ if (pwm_count_tmp >= 127) { pwm_count_tmp -= 127; - #define _PWM_MOD(N,S,T) do{ \ - const bool on = S.add(pwm_mask, T.soft_pwm_amount); \ - WRITE_HEATER_##N(on); \ - }while(0) - #define _PWM_MOD_E(N) _PWM_MOD(N,soft_pwm_hotend[N],temp_hotend[N]) - _PWM_MOD_E(0); - #if HOTENDS > 1 - _PWM_MOD_E(1); - #if HOTENDS > 2 - _PWM_MOD_E(2); - #if HOTENDS > 3 - _PWM_MOD_E(3); - #if HOTENDS > 4 - _PWM_MOD_E(4); - #if HOTENDS > 5 - _PWM_MOD_E(5); - #endif // HOTENDS > 5 - #endif // HOTENDS > 4 - #endif // HOTENDS > 3 - #endif // HOTENDS > 2 - #endif // HOTENDS > 1 + + #if HOTENDS + #define _PWM_MOD_E(N) _PWM_MOD(N,soft_pwm_hotend[N],temp_hotend[N]) + _PWM_MOD_E(0); + #if HOTENDS > 1 + _PWM_MOD_E(1); + #if HOTENDS > 2 + _PWM_MOD_E(2); + #if HOTENDS > 3 + _PWM_MOD_E(3); + #if HOTENDS > 4 + _PWM_MOD_E(4); + #if HOTENDS > 5 + _PWM_MOD_E(5); + #endif // HOTENDS > 5 + #endif // HOTENDS > 4 + #endif // HOTENDS > 3 + #endif // HOTENDS > 2 + #endif // HOTENDS > 1 + #endif // HOTENDS #if HAS_HEATED_BED _PWM_MOD(BED,soft_pwm_bed,temp_bed); @@ -2538,6 +2526,8 @@ void Temperature::isr() { #define _SLOW_PWM(NR,PWM,SRC) do{ PWM.count = SRC.soft_pwm_amount; _SLOW_SET(NR,PWM,(PWM.count > 0)); }while(0) #define _PWM_OFF(NR,PWM) do{ if (PWM.count < slow_pwm_count) _SLOW_SET(NR,PWM,0); }while(0) + static uint8_t slow_pwm_count = 0; + if (slow_pwm_count == 0) { #if HOTENDS @@ -2634,22 +2624,24 @@ void Temperature::isr() { slow_pwm_count++; slow_pwm_count &= 0x7F; - soft_pwm_hotend[0].dec(); - #if HOTENDS > 1 - soft_pwm_hotend[1].dec(); - #if HOTENDS > 2 - soft_pwm_hotend[2].dec(); - #if HOTENDS > 3 - soft_pwm_hotend[3].dec(); - #if HOTENDS > 4 - soft_pwm_hotend[4].dec(); - #if HOTENDS > 5 - soft_pwm_hotend[5].dec(); - #endif // HOTENDS > 5 - #endif // HOTENDS > 4 - #endif // HOTENDS > 3 - #endif // HOTENDS > 2 - #endif // HOTENDS > 1 + #if HOTENDS + soft_pwm_hotend[0].dec(); + #if HOTENDS > 1 + soft_pwm_hotend[1].dec(); + #if HOTENDS > 2 + soft_pwm_hotend[2].dec(); + #if HOTENDS > 3 + soft_pwm_hotend[3].dec(); + #if HOTENDS > 4 + soft_pwm_hotend[4].dec(); + #if HOTENDS > 5 + soft_pwm_hotend[5].dec(); + #endif // HOTENDS > 5 + #endif // HOTENDS > 4 + #endif // HOTENDS > 3 + #endif // HOTENDS > 2 + #endif // HOTENDS > 1 + #endif // HOTENDS #if HAS_HEATED_BED soft_pwm_bed.dec(); #endif @@ -2750,10 +2742,8 @@ void Temperature::isr() { case Measure_FILWIDTH: if (!HAL_ADC_READY()) next_sensor_state = adc_sensor_state; // redo this state - else if (HAL_READ_ADC() > 102) { // Make sure ADC is reading > 0.5 volts, otherwise don't read. - raw_filwidth_value -= raw_filwidth_value >> 7; // Subtract 1/128th of the raw_filwidth_value - raw_filwidth_value += uint32_t(HAL_READ_ADC()) << 7; // Add new ADC reading, scaled by 128 - } + else + filwidth.accumulate(HAL_READ_ADC()); break; #endif @@ -2940,14 +2930,17 @@ void Temperature::isr() { #endif // AUTO_REPORT_TEMPERATURES - #if HAS_DISPLAY + #if HOTENDS && HAS_DISPLAY void Temperature::set_heating_message(const uint8_t e) { const bool heating = isHeatingHotend(e); - #if HOTENDS > 1 - ui.status_printf_P(0, heating ? PSTR("E%c " MSG_HEATING) : PSTR("E%c " MSG_COOLING), '1' + e); - #else - ui.set_status_P(heating ? PSTR("E " MSG_HEATING) : PSTR("E " MSG_COOLING)); - #endif + ui.status_printf_P(0, + #if HOTENDS > 1 + PSTR("E%c " S_FMT), '1' + e + #else + PSTR("E " S_FMT) + #endif + , heating ? PSTR(MSG_HEATING) : PSTR(MSG_COOLING) + ); } #endif diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index df2fcf1062..63251cd40f 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -158,7 +158,7 @@ enum ADCSensorState : char { typedef struct TempInfo { uint16_t acc; int16_t raw; - float current; + float celsius; inline void reset() { acc = 0; } inline void sample(const uint16_t s) { acc += s; } inline void update() { raw = acc; } @@ -270,11 +270,14 @@ class Temperature { static volatile bool in_temp_isr; - static hotend_info_t temp_hotend[HOTENDS + #if HOTENDS #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) - + 1 + #define HOTEND_TEMPS (HOTENDS + 1) + #else + #define HOTEND_TEMPS HOTENDS #endif - ]; + static hotend_info_t temp_hotend[HOTEND_TEMPS]; + #endif #if HAS_HEATED_BED static bed_info_t temp_bed; @@ -349,7 +352,9 @@ class Temperature { static lpq_ptr_t lpq_ptr; #endif - static temp_range_t temp_range[HOTENDS]; + #if HOTENDS + static temp_range_t temp_range[HOTENDS]; + #endif #if HAS_HEATED_BED #if WATCH_BED @@ -387,18 +392,10 @@ class Temperature { static millis_t preheat_end_time[HOTENDS]; #endif - #if ENABLED(FILAMENT_WIDTH_SENSOR) - static int8_t meas_shift_index; // Index of a delayed sample in buffer - #endif - #if HAS_AUTO_FAN static millis_t next_auto_fan_check_ms; #endif - #if ENABLED(FILAMENT_WIDTH_SENSOR) - static uint16_t current_raw_filwidth; // Measured filament diameter - one extruder only - #endif - #if ENABLED(PROBING_HEATERS_OFF) static bool paused; #endif @@ -417,8 +414,6 @@ class Temperature { * Instance Methods */ - Temperature(); - void init(); /** @@ -456,7 +451,9 @@ class Temperature { } #endif - static float analog_to_celsius_hotend(const int raw, const uint8_t e); + #if HOTENDS + static float analog_to_celsius_hotend(const int raw, const uint8_t e); + #endif #if HAS_HEATED_BED static float analog_to_celsius_bed(const int raw); @@ -565,31 +562,37 @@ class Temperature { #define is_preheating(n) (false) #endif - #if ENABLED(FILAMENT_WIDTH_SENSOR) - static float analog_to_mm_fil_width(); // Convert raw Filament Width to millimeters - static int8_t widthFil_to_size_ratio(); // Convert Filament Width (mm) to an extrusion ratio - #endif - - //high level conversion routines, for use outside of temperature.cpp //inline so that there is no performance decrease. //deg=degreeCelsius FORCE_INLINE static float degHotend(const uint8_t e) { E_UNUSED(); - return temp_hotend[HOTEND_INDEX].current; + #if HOTENDS + return temp_hotend[HOTEND_INDEX].celsius; + #else + return 0; + #endif } #if ENABLED(SHOW_TEMP_ADC_VALUES) FORCE_INLINE static int16_t rawHotendTemp(const uint8_t e) { E_UNUSED(); - return temp_hotend[HOTEND_INDEX].raw; + #if HOTENDS + return temp_hotend[HOTEND_INDEX].raw; + #else + return 0; + #endif } #endif FORCE_INLINE static int16_t degTargetHotend(const uint8_t e) { E_UNUSED(); - return temp_hotend[HOTEND_INDEX].target; + #if HOTENDS + return temp_hotend[HOTEND_INDEX].target; + #else + return 0; + #endif } #if WATCH_HOTENDS @@ -598,62 +601,66 @@ class Temperature { static inline void start_watching_hotend(const uint8_t e=0) { UNUSED(e); } #endif - #if HAS_LCD_MENU - static inline void start_watching_E0() { start_watching_hotend(0); } - static inline void start_watching_E1() { start_watching_hotend(1); } - static inline void start_watching_E2() { start_watching_hotend(2); } - static inline void start_watching_E3() { start_watching_hotend(3); } - static inline void start_watching_E4() { start_watching_hotend(4); } - static inline void start_watching_E5() { start_watching_hotend(5); } - #endif + #if HOTENDS - static void setTargetHotend(const int16_t celsius, const uint8_t e) { - E_UNUSED(); - const uint8_t ee = HOTEND_INDEX; - #ifdef MILLISECONDS_PREHEAT_TIME - if (celsius == 0) - reset_preheat_time(ee); - else if (temp_hotend[ee].target == 0) - start_preheat_time(ee); + #if HAS_LCD_MENU + static inline void start_watching_E0() { start_watching_hotend(0); } + static inline void start_watching_E1() { start_watching_hotend(1); } + static inline void start_watching_E2() { start_watching_hotend(2); } + static inline void start_watching_E3() { start_watching_hotend(3); } + static inline void start_watching_E4() { start_watching_hotend(4); } + static inline void start_watching_E5() { start_watching_hotend(5); } #endif - #if ENABLED(AUTO_POWER_CONTROL) - powerManager.power_on(); - #endif - temp_hotend[ee].target = _MIN(celsius, temp_range[ee].maxtemp - 15); - start_watching_hotend(ee); - } - FORCE_INLINE static bool isHeatingHotend(const uint8_t e) { - E_UNUSED(); - return temp_hotend[HOTEND_INDEX].target > temp_hotend[HOTEND_INDEX].current; - } - - FORCE_INLINE static bool isCoolingHotend(const uint8_t e) { - E_UNUSED(); - return temp_hotend[HOTEND_INDEX].target < temp_hotend[HOTEND_INDEX].current; - } - - #if HAS_TEMP_HOTEND - static bool wait_for_hotend(const uint8_t target_extruder, const bool no_wait_for_cooling=true - #if G26_CLICK_CAN_CANCEL - , const bool click_to_cancel=false + static void setTargetHotend(const int16_t celsius, const uint8_t e) { + E_UNUSED(); + const uint8_t ee = HOTEND_INDEX; + #ifdef MILLISECONDS_PREHEAT_TIME + if (celsius == 0) + reset_preheat_time(ee); + else if (temp_hotend[ee].target == 0) + start_preheat_time(ee); #endif - ); - #endif + #if ENABLED(AUTO_POWER_CONTROL) + powerManager.power_on(); + #endif + temp_hotend[ee].target = _MIN(celsius, temp_range[ee].maxtemp - 15); + start_watching_hotend(ee); + } - FORCE_INLINE static bool still_heating(const uint8_t e) { - return degTargetHotend(e) > TEMP_HYSTERESIS && ABS(degHotend(e) - degTargetHotend(e)) > TEMP_HYSTERESIS; - } + FORCE_INLINE static bool isHeatingHotend(const uint8_t e) { + E_UNUSED(); + return temp_hotend[HOTEND_INDEX].target > temp_hotend[HOTEND_INDEX].celsius; + } + + FORCE_INLINE static bool isCoolingHotend(const uint8_t e) { + E_UNUSED(); + return temp_hotend[HOTEND_INDEX].target < temp_hotend[HOTEND_INDEX].celsius; + } + + #if HAS_TEMP_HOTEND + static bool wait_for_hotend(const uint8_t target_extruder, const bool no_wait_for_cooling=true + #if G26_CLICK_CAN_CANCEL + , const bool click_to_cancel=false + #endif + ); + #endif + + FORCE_INLINE static bool still_heating(const uint8_t e) { + return degTargetHotend(e) > TEMP_HYSTERESIS && ABS(degHotend(e) - degTargetHotend(e)) > TEMP_HYSTERESIS; + } + + #endif // HOTENDS #if HAS_HEATED_BED #if ENABLED(SHOW_TEMP_ADC_VALUES) FORCE_INLINE static int16_t rawBedTemp() { return temp_bed.raw; } #endif - FORCE_INLINE static float degBed() { return temp_bed.current; } + FORCE_INLINE static float degBed() { return temp_bed.celsius; } FORCE_INLINE static int16_t degTargetBed() { return temp_bed.target; } - FORCE_INLINE static bool isHeatingBed() { return temp_bed.target > temp_bed.current; } - FORCE_INLINE static bool isCoolingBed() { return temp_bed.target < temp_bed.current; } + FORCE_INLINE static bool isHeatingBed() { return temp_bed.target > temp_bed.celsius; } + FORCE_INLINE static bool isCoolingBed() { return temp_bed.target < temp_bed.celsius; } #if WATCH_BED static void start_watching_bed(); @@ -687,11 +694,11 @@ class Temperature { #if ENABLED(SHOW_TEMP_ADC_VALUES) FORCE_INLINE static int16_t rawChamberTemp() { return temp_chamber.raw; } #endif - FORCE_INLINE static float degChamber() { return temp_chamber.current; } + FORCE_INLINE static float degChamber() { return temp_chamber.celsius; } #if HAS_HEATED_CHAMBER FORCE_INLINE static int16_t degTargetChamber() { return temp_chamber.target; } - FORCE_INLINE static bool isHeatingChamber() { return temp_chamber.target > temp_chamber.current; } - FORCE_INLINE static bool isCoolingChamber() { return temp_chamber.target < temp_chamber.current; } + FORCE_INLINE static bool isHeatingChamber() { return temp_chamber.target > temp_chamber.celsius; } + FORCE_INLINE static bool isCoolingChamber() { return temp_chamber.target < temp_chamber.celsius; } static bool wait_for_chamber(const bool no_wait_for_cooling=true); #endif @@ -782,7 +789,7 @@ class Temperature { #if ENABLED(AUTO_REPORT_TEMPERATURES) static uint8_t auto_report_temp_interval; static millis_t next_temp_report_ms; - static void auto_report_temperatures(void); + static void auto_report_temperatures(); static inline void set_auto_report_interval(uint8_t v) { NOMORE(v, 60); auto_report_temp_interval = v; diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index 2a320e4416..6178a7ce5d 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -133,9 +133,11 @@ #endif // SWITCHING_NOZZLE -inline void fast_line_to_current(const AxisEnum fr_axis) { - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[fr_axis], active_extruder); +inline void _line_to_current(const AxisEnum fr_axis, const float fscale=1.0f) { + planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[fr_axis] * fscale, active_extruder); } +inline void slow_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_axis, 0.5f); } +inline void fast_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_axis); } #if ENABLED(MAGNETIC_PARKING_EXTRUDER) @@ -150,15 +152,13 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { const float oldx = current_position[X_AXIS], grabpos = mpe_settings.parking_xpos[new_tool] + (new_tool ? mpe_settings.grab_distance : -mpe_settings.grab_distance), - offsetcompensation = + offsetcompensation = (0 #if HAS_HOTEND_OFFSET - hotend_offset[X_AXIS][active_extruder] * mpe_settings.compensation_factor - #else - 0 + + hotend_offset[X_AXIS][active_extruder] * mpe_settings.compensation_factor #endif - ; + ); - if (axis_unhomed_error(true, false, false)) return; + if (axis_unhomed_error(_BV(X_AXIS))) return; /** * Z Lift and Nozzle Offset shift ar defined in caller method to work equal with any Multi Hotend realization @@ -337,7 +337,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { planner.synchronize(); DEBUG_POS("(5) Unpark extruder", current_position); } - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS] * 0.5, active_extruder); + slow_line_to_current(X_AXIS); // STEP 6 @@ -411,7 +411,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS; if (DEBUGGING(LEVELING)) DEBUG_POS("Move Y SwitchPos", current_position); - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.5f, active_extruder); + slow_line_to_current(Y_AXIS); // Wait for move to complete, then another 0.2s planner.synchronize(); @@ -446,7 +446,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { DEBUG_ECHOLNPGM("(4) Grab and lock new toolhead"); DEBUG_POS("Move Y SwitchPos", current_position); } - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.5, active_extruder); + slow_line_to_current(Y_AXIS); // Wait for move to finish, pause 0.2s, move servo, pause 0.5s planner.synchronize(); @@ -491,21 +491,21 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { SERIAL_ECHOLNPAIR("(1) Place old tool ", int(active_extruder)); DEBUG_POS("Move Y SwitchPos + Security", current_position); } - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS], active_extruder); + fast_line_to_current(Y_AXIS); current_position[X_AXIS] = placexclear; if (DEBUGGING(LEVELING)) { planner.synchronize(); DEBUG_POS("Move X SwitchPos + Security", current_position); } - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder); + fast_line_to_current(X_AXIS); current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS; if (DEBUGGING(LEVELING)) { planner.synchronize(); DEBUG_POS("Move Y SwitchPos", current_position); } - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS], active_extruder); + fast_line_to_current(Y_AXIS); current_position[X_AXIS] = placexpos; if (DEBUGGING(LEVELING)) { @@ -541,7 +541,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { current_position[X_AXIS] = grabxpos; if (DEBUGGING(LEVELING)) DEBUG_POS("Move to new toolhead X", current_position); - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder); + fast_line_to_current(X_AXIS); // 4. Grab the new toolhead and move to security position @@ -559,7 +559,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { planner.synchronize(); DEBUG_POS("Move Y SwitchPos", current_position); } - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.2, active_extruder); + _line_to_current(Y_AXIS, 0.2f); #if ENABLED(PRIME_BEFORE_REMOVE) && (SWITCHING_TOOLHEAD_PRIME_MM || SWITCHING_TOOLHEAD_RETRACT_MM) #if SWITCHING_TOOLHEAD_PRIME_MM @@ -577,13 +577,13 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { current_position[X_AXIS] = grabxclear; if (DEBUGGING(LEVELING)) DEBUG_POS("Move to new toolhead X + Security", current_position); - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS] * 0.1, active_extruder); + _line_to_current(X_AXIS, 0.1f); planner.synchronize(); safe_delay(100); // Give switch time to settle current_position[Y_AXIS] += SWITCHING_TOOLHEAD_Y_CLEAR; if (DEBUGGING(LEVELING)) DEBUG_POS("Move back Y clear", current_position); - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS], active_extruder); // move away from docked toolhead + fast_line_to_current(Y_AXIS); // move away from docked toolhead planner.synchronize(); // Always sync last tool-change move if (DEBUGGING(LEVELING)) DEBUG_POS("MST Tool-Change done.", current_position); @@ -620,7 +620,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { current_position[Z_AXIS] += SWITCHING_TOOLHEAD_Z_HOP; if (DEBUGGING(LEVELING)) DEBUG_POS("(1) Raise Z-Axis ", current_position); - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Z_AXIS], active_extruder); + fast_line_to_current(Z_AXIS); // 2. Move to position near active extruder parking @@ -629,9 +629,9 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { SERIAL_ECHOLNPAIR("(2) Move near active extruder parking", active_extruder); DEBUG_POS("Moving ParkPos", current_position); } - current_position[X_AXIS] = placexpos + hotend_offset[X_AXIS][active_extruder]; - current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_CLEAR + hotend_offset[Y_AXIS][active_extruder]; - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder); + current_position[X_AXIS] = hotend_offset[X_AXIS][active_extruder] + placexpos; + current_position[Y_AXIS] = hotend_offset[Y_AXIS][active_extruder] + SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_CLEAR; + fast_line_to_current(X_AXIS); // 3. Move gently to park position of active extruder @@ -642,7 +642,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { } current_position[Y_AXIS] -= SWITCHING_TOOLHEAD_Y_CLEAR; - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.5, active_extruder); + slow_line_to_current(Y_AXIS); // 4. Disengage magnetic field, wait for delay @@ -658,10 +658,11 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { } current_position[Y_AXIS] += SWITCHING_TOOLHEAD_Y_CLEAR; - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.5f, active_extruder); - current_position[X_AXIS] = grabxpos + hotend_offset[X_AXIS][active_extruder]; - current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_CLEAR + hotend_offset[Y_AXIS][active_extruder]; - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder); + slow_line_to_current(Y_AXIS); + + current_position[X_AXIS] = hotend_offset[X_AXIS][active_extruder] + grabxpos; + current_position[Y_AXIS] = hotend_offset[Y_AXIS][active_extruder] + SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_CLEAR; + fast_line_to_current(X_AXIS); // 6. Move gently to park position of new extruder @@ -670,7 +671,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { planner.synchronize(); DEBUG_ECHOLNPGM("(6) Move near new extruder"); } - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.5f, active_extruder); + slow_line_to_current(Y_AXIS); // 7. Engage magnetic field for new extruder parking @@ -682,7 +683,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { current_position[Y_AXIS] += SWITCHING_TOOLHEAD_Y_CLEAR; if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("(8) Unpark extruder"); - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS] * 0.5f, active_extruder); + slow_line_to_current(X_AXIS); planner.synchronize(); // Always sync the final move // 9. Apply Z hotend offset to current position @@ -695,11 +696,13 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { #endif // ELECTROMAGNETIC_SWITCHING_TOOLHEAD -inline void invalid_extruder_error(const uint8_t e) { - SERIAL_ECHO_START(); - SERIAL_CHAR('T'); SERIAL_ECHO(int(e)); - SERIAL_CHAR(' '); SERIAL_ECHOLNPGM(MSG_INVALID_EXTRUDER); -} +#if EXTRUDERS + inline void invalid_extruder_error(const uint8_t e) { + SERIAL_ECHO_START(); + SERIAL_CHAR('T'); SERIAL_ECHO(int(e)); + SERIAL_CHAR(' '); SERIAL_ECHOLNPGM(MSG_INVALID_EXTRUDER); + } +#endif #if ENABLED(DUAL_X_CARRIAGE) @@ -788,6 +791,11 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) { mmu2.tool_change(new_tool); + #elif EXTRUDERS == 0 + + // Nothing to do + UNUSED(new_tool); UNUSED(no_move); + #elif EXTRUDERS < 2 UNUSED(no_move); @@ -854,8 +862,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) { #if HAS_LEVELING // Set current position to the physical position - //const bool leveling_was_enabled = planner.leveling_active; - //set_bed_leveling_enabled(false); + TEMPORARY_BED_LEVELING_STATE(false); #endif if (new_tool != old_tool) { @@ -1036,9 +1043,6 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) { } // (new_tool != old_tool) planner.synchronize(); - #if HAS_LEVELING - //set_bed_leveling_enabled(leveling_was_enabled); - #endif #if ENABLED(EXT_SOLENOID) && DISABLED(PARKING_EXTRUDER) disable_all_solenoids(); diff --git a/Marlin/src/module/tool_change.h b/Marlin/src/module/tool_change.h index 754c720096..42b96e2c6a 100644 --- a/Marlin/src/module/tool_change.h +++ b/Marlin/src/module/tool_change.h @@ -71,12 +71,12 @@ #elif ENABLED(MAGNETIC_PARKING_EXTRUDER) typedef struct MPESettings { - float parking_xpos[2], // M951 L R - grab_distance, // M951 I - slow_feedrate, // M951 J - fast_feedrate, // M951 H - travel_distance, // M951 D - compensation_factor; // M951 C + float parking_xpos[2], // M951 L R + grab_distance; // M951 I + feedRate_t slow_feedrate, // M951 J + fast_feedrate; // M951 H + float travel_distance, // M951 D + compensation_factor; // M951 C } mpe_settings_t; extern mpe_settings_t mpe_settings; diff --git a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h index 20385bab4e..45ab77b312 100644 --- a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h +++ b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h @@ -28,7 +28,7 @@ #define BOARD_INFO_NAME "GMARSH X6 REV1" // Ignore temp readings during develpment. -//#define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Enable 12MHz clock output on P1.27 pin to sync TMC2208 chip clocks diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h index 137952fd67..36b558ec19 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h @@ -217,7 +217,6 @@ #define DOGLCD_A0 P0_16 #define DOGLCD_SCK P0_07 #define DOGLCD_MOSI P1_20 - #define FORCE_SOFT_SPI #define LCD_BACKLIGHT_PIN -1 diff --git a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h index f1af6d1fbd..83e7482807 100644 --- a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h +++ b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h @@ -169,4 +169,6 @@ #define LCD_PINS_ENABLE P0_18 #define LCD_PINS_D4 P0_15 #define KILL_PIN P2_11 +#elif HAS_SPI_LCD + #error "Only the CR10_STOCKDISPLAY is supported with TH3D EZBoard." #endif diff --git a/Marlin/src/pins/mega/pins_CNCONTROLS_11.h b/Marlin/src/pins/mega/pins_CNCONTROLS_11.h index 681ce65e35..3915c1cfed 100644 --- a/Marlin/src/pins/mega/pins_CNCONTROLS_11.h +++ b/Marlin/src/pins/mega/pins_CNCONTROLS_11.h @@ -54,7 +54,10 @@ #define TEMP_2_PIN 2 // Analog Input. 9 for tool3 -> 2 for chambertemp #define TEMP_3_PIN 11 // Analog Input. 11 for tool4 -> 2 for chambertemp #define TEMP_BED_PIN 1 // Analog Input -//#define TEMP_CHAMBER_PIN 2 // Analog Input + +#ifndef TEMP_CHAMBER_PIN + //#define TEMP_CHAMBER_PIN 2 // Analog Input +#endif // // Heaters / Fans diff --git a/Marlin/src/pins/mega/pins_CNCONTROLS_12.h b/Marlin/src/pins/mega/pins_CNCONTROLS_12.h index 585c048e49..b9a96c410b 100644 --- a/Marlin/src/pins/mega/pins_CNCONTROLS_12.h +++ b/Marlin/src/pins/mega/pins_CNCONTROLS_12.h @@ -54,7 +54,10 @@ #define TEMP_2_PIN 13 // Analog Input. 10 for tool3 -> 13 for chambertemp #define TEMP_3_PIN 11 // Analog Input. 11 for tool4 -> 13 for chambertemp #define TEMP_BED_PIN 14 // Analog Input -//#define TEMP_CHAMBER_PIN 13 // Analog Input + +#ifndef TEMP_CHAMBER_PIN + //#define TEMP_CHAMBER_PIN 13 // Analog Input +#endif // // Heaters / Fans diff --git a/Marlin/src/pins/mega/pins_CNCONTROLS_15.h b/Marlin/src/pins/mega/pins_CNCONTROLS_15.h index 6d7325996f..2fad8d576e 100644 --- a/Marlin/src/pins/mega/pins_CNCONTROLS_15.h +++ b/Marlin/src/pins/mega/pins_CNCONTROLS_15.h @@ -49,7 +49,10 @@ // #define TEMP_0_PIN 2 // Analog Input #define TEMP_BED_PIN 4 // Analog Input -#define TEMP_CHAMBER_PIN 5 // Analog Input + +#ifndef TEMP_CHAMBER_PIN + #define TEMP_CHAMBER_PIN 5 // Analog Input +#endif // // Heaters diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 3e1373c628..4058c72836 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -508,6 +508,10 @@ #include "stm32/pins_BIGTREE_SKR_PRO_V1.1.h" // STM32F4 env:BIGTREE_SKR_PRO #elif MB(BIGTREE_BTT002_V1_0) #include "stm32/pins_BIGTREE_BTT002_V1.0.h" // STM32F4 env:BIGTREE_BTT002 +#elif MB(LERDGE_K) + #include "stm32/pins_LERDGE_K.h" // STM32F4 env:STM32F4 +#elif MB(LERDGE_X) + #include "stm32/pins_LERDGE_X.h" // STM32F4 env:STM32F4 // // ARM Cortex M7 @@ -525,13 +529,6 @@ #elif MB(ESP32) #include "esp32/pins_ESP32.h" // ESP32 env:esp32 -// -// Adafruit Grand Central M4 (SAMD51 ARM Cortex-M4) -// - -#elif MB(AGCM4_RURAMPS4D_13) - #include "samd/pins_AGCM4_RURAMPS4D_13.h" // SAMD51 env:SAMD51_grandcentral_m4 - // // Linux Native Debug board // diff --git a/Marlin/src/pins/pinsDebug_list.h b/Marlin/src/pins/pinsDebug_list.h index 1bbc926e23..7e2241c099 100644 --- a/Marlin/src/pins/pinsDebug_list.h +++ b/Marlin/src/pins/pinsDebug_list.h @@ -26,6 +26,247 @@ #line 28 // set __LINE__ to a known value for both passes +// Undefine pins to suppress warnings +#if !PIN_EXISTS(X_MS1) + #undef X_MS1_PIN +#endif +#if !PIN_EXISTS(X_MS2) + #undef X_MS2_PIN +#endif +#if !PIN_EXISTS(X_MS3) + #undef X_MS3_PIN +#endif +#if !PIN_EXISTS(Y_MS1) + #undef Y_MS1_PIN +#endif +#if !PIN_EXISTS(Y_MS2) + #undef Y_MS2_PIN +#endif +#if !PIN_EXISTS(Y_MS3) + #undef Y_MS3_PIN +#endif +#if !PIN_EXISTS(Z_MS1) + #undef Z_MS1_PIN +#endif +#if !PIN_EXISTS(Z_MS2) + #undef Z_MS2_PIN +#endif +#if !PIN_EXISTS(Z_MS3) + #undef Z_MS3_PIN +#endif +#if !PIN_EXISTS(E0_MS1) + #undef E0_MS1_PIN +#endif +#if !PIN_EXISTS(E0_MS2) + #undef E0_MS2_PIN +#endif +#if !PIN_EXISTS(E0_MS3) + #undef E0_MS3_PIN +#endif +#if !PIN_EXISTS(E1_MS1) + #undef E1_MS1_PIN +#endif +#if !PIN_EXISTS(E1_MS2) + #undef E1_MS2_PIN +#endif +#if !PIN_EXISTS(E1_MS3) + #undef E1_MS3_PIN +#endif +#if !PIN_EXISTS(E2_MS1) + #undef E2_MS1_PIN +#endif +#if !PIN_EXISTS(E2_MS2) + #undef E2_MS2_PIN +#endif +#if !PIN_EXISTS(E2_MS3) + #undef E2_MS3_PIN +#endif +#if !PIN_EXISTS(E3_MS1) + #undef E3_MS1_PIN +#endif +#if !PIN_EXISTS(E3_MS2) + #undef E3_MS2_PIN +#endif +#if !PIN_EXISTS(E3_MS3) + #undef E3_MS3_PIN +#endif +#if !PIN_EXISTS(E4_MS1) + #undef E4_MS1_PIN +#endif +#if !PIN_EXISTS(E4_MS2) + #undef E4_MS2_PIN +#endif +#if !PIN_EXISTS(E4_MS3) + #undef E4_MS3_PIN +#endif +#if !PIN_EXISTS(E5_MS1) + #undef E5_MS1_PIN +#endif +#if !PIN_EXISTS(E5_MS2) + #undef E5_MS2_PIN +#endif +#if !PIN_EXISTS(E5_MS3) + #undef E5_MS3_PIN +#endif + +#if !PIN_EXISTS(E0_STEP) + #undef E0_STEP_PIN +#endif +#if !PIN_EXISTS(E0_DIR) + #undef E0_DIR_PIN +#endif +#if !PIN_EXISTS(E0_ENABLE) + #undef E0_ENABLE_PIN +#endif +#if !PIN_EXISTS(E1_STEP) + #undef E1_STEP_PIN +#endif +#if !PIN_EXISTS(E1_DIR) + #undef E1_DIR_PIN +#endif +#if !PIN_EXISTS(E1_ENABLE) + #undef E1_ENABLE_PIN +#endif +#if !PIN_EXISTS(E2_STEP) + #undef E2_STEP_PIN +#endif +#if !PIN_EXISTS(E2_DIR) + #undef E2_DIR_PIN +#endif +#if !PIN_EXISTS(E2_ENABLE) + #undef E2_ENABLE_PIN +#endif +#if !PIN_EXISTS(E3_STEP) + #undef E3_STEP_PIN +#endif +#if !PIN_EXISTS(E3_DIR) + #undef E3_DIR_PIN +#endif +#if !PIN_EXISTS(E3_ENABLE) + #undef E3_ENABLE_PIN +#endif +#if !PIN_EXISTS(E4_STEP) + #undef E4_STEP_PIN +#endif +#if !PIN_EXISTS(E4_DIR) + #undef E4_DIR_PIN +#endif +#if !PIN_EXISTS(E4_ENABLE) + #undef E4_ENABLE_PIN +#endif +#if !PIN_EXISTS(E5_STEP) + #undef E5_STEP_PIN +#endif +#if !PIN_EXISTS(E5_DIR) + #undef E5_DIR_PIN +#endif +#if !PIN_EXISTS(E5_ENABLE) + #undef E5_ENABLE_PIN +#endif + +#if !PIN_EXISTS(X_CS) + #undef X_CS_PIN +#endif +#if !PIN_EXISTS(Y_CS) + #undef Y_CS_PIN +#endif +#if !PIN_EXISTS(Z_CS) + #undef Z_CS_PIN +#endif +#if !PIN_EXISTS(E0_CS) + #undef E0_CS_PIN +#endif +#if !PIN_EXISTS(E1_CS) + #undef E1_CS_PIN +#endif +#if !PIN_EXISTS(E2_CS) + #undef E2_CS_PIN +#endif +#if !PIN_EXISTS(E3_CS) + #undef E3_CS_PIN +#endif +#if !PIN_EXISTS(E4_CS) + #undef E4_CS_PIN +#endif +#if !PIN_EXISTS(E5_CS) + #undef E5_CS_PIN +#endif + +#if !PIN_EXISTS(FAN) + #undef FAN_PIN +#endif +#define FAN0_PIN FAN_PIN +#if !PIN_EXISTS(FAN1) + #undef FAN1_PIN +#endif +#if !PIN_EXISTS(FAN2) + #undef FAN2_PIN +#endif +#if !PIN_EXISTS(CONTROLLER_FAN) + #undef CONTROLLER_FAN_PIN +#endif + +#if !PIN_EXISTS(FANMUX0) + #undef FANMUX0_PIN +#endif +#if !PIN_EXISTS(FANMUX1) + #undef FANMUX1_PIN +#endif +#if !PIN_EXISTS(FANMUX2) + #undef FANMUX2_PIN +#endif + +#if !PIN_EXISTS(HEATER_0) + #undef HEATER_0_PIN +#endif +#if !PIN_EXISTS(HEATER_1) + #undef HEATER_1_PIN +#endif +#if !PIN_EXISTS(HEATER_2) + #undef HEATER_2_PIN +#endif +#if !PIN_EXISTS(HEATER_3) + #undef HEATER_3_PIN +#endif +#if !PIN_EXISTS(HEATER_4) + #undef HEATER_4_PIN +#endif +#if !PIN_EXISTS(HEATER_5) + #undef HEATER_5_PIN +#endif +#if !PIN_EXISTS(HEATER_BED) + #undef HEATER_BED_PIN +#endif + +#if !PIN_EXISTS(TEMP_0) + #undef TEMP_0_PIN +#endif +#if !PIN_EXISTS(TEMP_1) + #undef TEMP_1_PIN +#endif +#if !PIN_EXISTS(TEMP_2) + #undef TEMP_2_PIN +#endif +#if !PIN_EXISTS(TEMP_3) + #undef TEMP_3_PIN +#endif +#if !PIN_EXISTS(TEMP_4) + #undef TEMP_4_PIN +#endif +#if !PIN_EXISTS(TEMP_5) + #undef TEMP_5_PIN +#endif +#if !PIN_EXISTS(TEMP_BED) + #undef TEMP_BED_PIN +#endif + +#if !PIN_EXISTS(SD_DETECT) + #undef SD_DETECT_PIN +#endif +#if !PIN_EXISTS(SDPOWER) + #undef SDPOWER_PIN +#endif + // // Analog Pin Assignments // diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h index e7a2a5da01..0ff0ec57ba 100644 --- a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h +++ b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h @@ -31,8 +31,12 @@ #error "Formbot supports up to 3 hotends / E-steppers. Comment out this line to continue." #endif -#define BOARD_INFO_NAME "Formbot Raptor" -#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME +#ifndef BOARD_INFO_NAME + #define BOARD_INFO_NAME "Formbot Raptor" +#endif +#ifndef DEFAULT_MACHINE_NAME + #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME +#endif // // Servos diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR2.h b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR2.h index 1c2424ccfd..431d4370ba 100644 --- a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR2.h +++ b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR2.h @@ -47,7 +47,7 @@ #define SPINDLE_LASER_PWM_PIN 4 // Hardware PWM #define SPINDLE_DIR_PIN 5 #elif !GREEDY_PANEL // Try to use AUX2 - #define SPINDLE_LASER_ENA_PIN 40 // Pullup or pulldown! + #define SPINDLE_LASER_ENA_PIN 4 // Pullup or pulldown! #define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM #define SPINDLE_DIR_PIN 65 #endif diff --git a/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h b/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h index cea7206e5f..379d2b4716 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h +++ b/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h @@ -39,8 +39,8 @@ #define FIL_RUNOUT2_PIN 15 // Creality CR-X can use dual runout sensors #endif -#define SD_DETECT_PIN 49 // Always define onboard SD detect -#define BEEPER_PIN 37 // Always define beeper to avoid compile issue with ExtUI speaker +#define SD_DETECT_PIN 49 // Always define onboard SD detect +#define BEEPER_PIN 37 // Always define beeper pin so Play Tone works with ExtUI #include "pins_RAMPS.h" diff --git a/Marlin/src/pins/ramps/pins_RUMBA.h b/Marlin/src/pins/ramps/pins_RUMBA.h index 2f934b3a42..a4add5d40b 100644 --- a/Marlin/src/pins/ramps/pins_RUMBA.h +++ b/Marlin/src/pins/ramps/pins_RUMBA.h @@ -120,7 +120,10 @@ // Optional for extruder 4 or chamber: //#define TEMP_X_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used) -//#define TEMP_CHAMBER_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used) + +#ifndef TEMP_CHAMBER_PIN + //#define TEMP_CHAMBER_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used) +#endif #if TEMP_SENSOR_BED == -1 #define TEMP_BED_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_2 is defined as thermocouple) diff --git a/Marlin/src/pins/sam/pins_RAMPS_DUO.h b/Marlin/src/pins/sam/pins_RAMPS_DUO.h index 4f9053b8ca..d63d9a32a8 100644 --- a/Marlin/src/pins/sam/pins_RAMPS_DUO.h +++ b/Marlin/src/pins/sam/pins_RAMPS_DUO.h @@ -50,7 +50,7 @@ #define BOARD_INFO_NAME "RAMPS Duo" #define IS_RAMPS_DUO -#include "pins_RAMPS.h" +#include "../ramps/pins_RAMPS.h" // // Temperature Sensors diff --git a/Marlin/src/pins/sam/pins_RAMPS_SMART.h b/Marlin/src/pins/sam/pins_RAMPS_SMART.h index f1f593991f..619b2d594d 100644 --- a/Marlin/src/pins/sam/pins_RAMPS_SMART.h +++ b/Marlin/src/pins/sam/pins_RAMPS_SMART.h @@ -67,7 +67,7 @@ #define BOARD_INFO_NAME "RAMPS-SMART" #define IS_RAMPS_SMART -#include "pins_RAMPS.h" +#include "../ramps/pins_RAMPS.h" // I2C EEPROM with 4K of space #define I2C_EEPROM diff --git a/Marlin/src/pins/samd/pins_AGCM4_RURAMPS4D_13.h b/Marlin/src/pins/samd/pins_AGCM4_RURAMPS4D_13.h deleted file mode 100644 index dfd8113a0d..0000000000 --- a/Marlin/src/pins/samd/pins_AGCM4_RURAMPS4D_13.h +++ /dev/null @@ -1,259 +0,0 @@ -/** - * Marlin 3D Printer Firmware - * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] - * - * Based on Sprinter and grbl. - * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * Adafruit Grand Central M4 pin assignments ported by Giuliano Zaro - */ -#ifndef ARDUINO_GRAND_CENTRAL_M4 - #error "Oops! Select 'Adafruit Grand Central M4' in 'Tools > Board.'" -#endif - -#define BOARD_INFO_NAME "RuRAMPS4AGCM4 v1.3" - -// -// Servos -// -#define SERVO0_PIN 5 -#define SERVO1_PIN 3 - -// -// Limit Switches -// -#define X_MIN_PIN 45 -#define X_MAX_PIN 39 -#define Y_MIN_PIN 46 -#define Y_MAX_PIN 41 -#define Z_MIN_PIN 47 -#define Z_MAX_PIN 43 - -// -// Z Probe (when not Z_MIN_PIN) -// -#ifndef Z_MIN_PROBE_PIN - #define Z_MIN_PROBE_PIN 49 -#endif - -// -// Steppers -// -#define X_STEP_PIN 37 // Support Extension Board -#define X_DIR_PIN 36 -#define X_ENABLE_PIN 31 -#ifndef X_CS_PIN - #define X_CS_PIN 38 -#endif - -#define Y_STEP_PIN 32 // Support Extension Board -#define Y_DIR_PIN 35 -#define Y_ENABLE_PIN 31 -#ifndef Y_CS_PIN - #define Y_CS_PIN 34 -#endif - -#define Z_STEP_PIN 30 // Support Extension Board -#define Z_DIR_PIN 2 -#define Z_ENABLE_PIN 31 -#ifndef Z_CS_PIN - #define Z_CS_PIN 10 -#endif - -#define E0_STEP_PIN 29 -#define E0_DIR_PIN 28 -#define E0_ENABLE_PIN 33 -#ifndef E0_CS_PIN - #define E0_CS_PIN 14 -#endif - -#define E1_STEP_PIN 22 -#define E1_DIR_PIN 24 -#define E1_ENABLE_PIN 26 -#ifndef E1_CS_PIN - #define E1_CS_PIN 15 -#endif - -#define E2_STEP_PIN 25 -#define E2_DIR_PIN 23 -#define E2_ENABLE_PIN 27 -#ifndef E2_CS_PIN - #define E2_CS_PIN 74 -#endif - -#if USES_Z_MIN_PROBE_ENDSTOP - #define Z_MIN_PROBE_PIN 49 -#endif - -#if HAS_FILAMENT_SENSOR - #ifndef FIL_RUNOUT_PIN - #define FIL_RUNOUT_PIN Y_MIN_PIN - #endif -#endif - -// -// Heaters / Fans -// -#define HEATER_0_PIN 13 -#define HEATER_1_PIN 12 -#define HEATER_2_PIN 11 -#define HEATER_BED_PIN 7 // BED H1 - -#define FAN_PIN 9 -#define FAN1_PIN 8 -#define CONTROLLER_FAN_PIN -1 - -// -// Temperature Sensors -// -#define TEMP_0_PIN 0 // ANALOG A0 -#define TEMP_1_PIN 1 // ANALOG A1 -#define TEMP_2_PIN 2 // ANALOG A2 -#define TEMP_3_PIN 3 // ANALOG A3 -#define TEMP_BED_PIN 4 // ANALOG A4 - -// The thermocouple uses Analog pins -#if ENABLED(VER_WITH_THERMOCOUPLE) // Must be defined in Configuration.h - #define TEMP_4_PIN 5 // A5 - #define TEMP_5_PIN 6 // A6 (Marlin 2.0 not support) -#endif - -// SPI for Max6675 or Max31855 Thermocouple -/* -#if DISABLED(SDSUPPORT) - #define MAX6675_SS_PIN 53 -#else - #define MAX6675_SS_PIN 49 -#endif -*/ - -// -// Misc. Functions -// -#define SDSS 4 -#define LED_PIN -1 // 13 - HEATER_0_PIN -#define PS_ON_PIN -1 // 57 - -// MKS TFT / Nextion Use internal USART-1 -#define TFT_LCD_MODULE_COM 1 -#define TFT_LCD_MODULE_BAUDRATE 115200 - -// ESP WiFi Use internal USART-2 -#define ESP_WIFI_MODULE_COM 2 -#define ESP_WIFI_MODULE_BAUDRATE 115200 -#define ESP_WIFI_MODULE_RESET_PIN -1 -#define PIGGY_GPIO_PIN -1 - -// -// EEPROM -// -#define E2END 0x7FFF // 32Kb (24lc256) -#define I2C_EEPROM // EEPROM on I2C - -// -// LCD / Controller -// -#if HAS_SPI_LCD - - #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) - - #define BEEPER_PIN 54 - #define LCD_PINS_D4 48 - #define SD_DETECT_PIN -1 // 51 can't be used, it's MOSI - #define LCD_PINS_RS 55 - #define LCD_PINS_ENABLE 56 - - #elif EITHER(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER) - - #error "Pin compatibility check needed!" - #define BEEPER_PIN 54 - #define LCD_PINS_D4 48 - #define LCD_PINS_D5 -1 // 50 can't be used, it's MISO - #define LCD_PINS_D6 -1 // 52 can't be used, it's SCK - #define LCD_PINS_D7 53 - #define SD_DETECT_PIN -1 // 51 can't be used, it's MOSI - #define LCD_PINS_RS 55 - #define LCD_PINS_ENABLE 56 - - #elif HAS_SSD1306_OLED_I2C - - #error "Pin compatibility check needed!" - #define BEEPER_PIN 54 - #define LCD_SDSS 10 - #define SD_DETECT_PIN -1 // 51 can't be used, it's MOSI - - #elif ENABLED(FYSETC_MINI_12864) - - #define BEEPER_PIN 54 - #define DOGLCD_CS 56 - #define DOGLCD_A0 55 - - //#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems - // results in LCD soft SPI mode 3, SD soft SPI mode 0 - - #define LCD_RESET_PIN 48 // Must be high or open for LCD to operate normally. - - #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) - #error "Pin compatibility check needed!" - #ifndef RGB_LED_R_PIN - #define RGB_LED_R_PIN 50 // 50 can't be used, it's MISO - #endif - #ifndef RGB_LED_G_PIN - #define RGB_LED_G_PIN 52 // 52 can't be used, it's SCK - #endif - #ifndef RGB_LED_B_PIN - #define RGB_LED_B_PIN 53 - #endif - #elif ENABLED(FYSETC_MINI_12864_2_1) - #error "Pin compatibility check needed!" - #define NEOPIXEL_PIN 50 // 50 can't be used, it's MISO - #endif - - #elif ENABLED(MKS_MINI_12864) - - #error "Pin compatibility check needed!" - #define ORIG_BEEPER_PIN 75 - - #define DOGLCD_A0 52 // 52 can't be used, it's SCK - #define DOGLCD_CS 50 // 50 can't be used, it's MISO - - #define SD_DETECT_PIN -1 // 51 can't be used, it's MOSI - - #endif - - #if ENABLED(NEWPANEL) - #define BTN_EN1 44 - #define BTN_EN2 42 - #define BTN_ENC 40 - #endif - -#endif // HAS_SPI_LCD - -// -// SD Support -// -#ifndef SDCARD_CONNECTION - #define SDCARD_CONNECTION ONBOARD -#endif - -#if SD_CONNECTION_IS(ONBOARD) - #undef SDSS - #define SDSS 83 - #undef SD_DETECT_PIN - #define SD_DETECT_PIN 95 -#endif diff --git a/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h b/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h index 3052daba94..8d15c7c31a 100644 --- a/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h +++ b/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h @@ -53,8 +53,9 @@ #define LCD_PINS_ENABLE 17 // ST9720 DAT #define LCD_PINS_D4 30 // ST9720 CLK -#if DISABLED(SPEAKER) && ENABLED(BLTOUCH) +#if ENABLED(BLTOUCH) #define SERVO0_PIN 27 + #undef BEEPER_PIN #endif // Alter timing for graphical display diff --git a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h index f82c215636..181773c6b1 100644 --- a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h +++ b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h @@ -106,43 +106,55 @@ #if HAS_SPI_LCD #define BEEPER_PIN PC10 #define BTN_ENC PC11 - #define LCD_PINS_RS PC12 - #define BTN_EN1 PD2 - #define BTN_EN2 PB8 + #if ENABLED(CR10_STOCKDISPLAY) + #define LCD_PINS_RS PC15 - #define LCD_PINS_ENABLE PB6 + #define BTN_EN1 PB6 + #define BTN_EN2 PC13 - #if ENABLED(FYSETC_MINI_12864) + #define LCD_PINS_ENABLE PC14 + #define LCD_PINS_D4 PB7 - #define LCD_BACKLIGHT_PIN -1 - #define LCD_RESET_PIN PC13 - #define DOGLCD_A0 PC12 - #define DOGLCD_CS PB6 - #define DOGLCD_SCK PB3 - #define DOGLCD_MOSI PB5 + #else - #define FORCE_SOFT_SPI // SPI MODE3 + #define LCD_PINS_RS PC12 - #define LED_PIN PB7 // red pwm - //#define LED_PIN PC15 // green - //#define LED_PIN PC14 // blue + #define BTN_EN1 PD2 + #define BTN_EN2 PB8 - //#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) - // #ifndef RGB_LED_R_PIN - // #define RGB_LED_R_PIN PB7 - // #endif - // #ifndef RGB_LED_G_PIN - // #define RGB_LED_G_PIN PC15 - // #endif - // #ifndef RGB_LED_B_PIN - // #define RGB_LED_B_PIN PC14 - // #endif - //#elif ENABLED(FYSETC_MINI_12864_2_1) - // #define NEOPIXEL_PIN PB7 - //#endif + #define LCD_PINS_ENABLE PB6 - #else // !FYSETC_MINI_12864 + #if ENABLED(FYSETC_MINI_12864) + + #define LCD_BACKLIGHT_PIN -1 + #define LCD_RESET_PIN PC13 + #define DOGLCD_A0 PC12 + #define DOGLCD_CS PB6 + #define DOGLCD_SCK PB3 + #define DOGLCD_MOSI PB5 + + #define FORCE_SOFT_SPI // SPI MODE3 + + #define LED_PIN PB7 // red pwm + //#define LED_PIN PC15 // green + //#define LED_PIN PC14 // blue + + //#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) + // #ifndef RGB_LED_R_PIN + // #define RGB_LED_R_PIN PB7 + // #endif + // #ifndef RGB_LED_G_PIN + // #define RGB_LED_G_PIN PC15 + // #endif + // #ifndef RGB_LED_B_PIN + // #define RGB_LED_B_PIN PC14 + // #endif + //#elif ENABLED(FYSETC_MINI_12864_2_1) + // #define NEOPIXEL_PIN PB7 + //#endif + + #else // !FYSETC_MINI_12864 #define LCD_PINS_D4 PC13 #if ENABLED(ULTIPANEL) @@ -151,7 +163,9 @@ #define LCD_PINS_D7 PC14 #endif - #endif // !FYSETC_MINI_12864 + #endif // !FYSETC_MINI_12864 + + #endif #endif // HAS_SPI_LCD @@ -173,7 +187,7 @@ #define MISO_PIN PB4 #define MOSI_PIN PB5 #define SS_PIN PA15 -#if SD_CONNECTION_IS(ONBOARD) +#elif SD_CONNECTION_IS(ONBOARD) #define ENABLE_SPI1 #define SD_DETECT_PIN PA3 #define SCK_PIN PA5 diff --git a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_PRO_V1.1.h b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_PRO_V1.1.h index 89e7fe73e3..807b366dad 100644 --- a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_PRO_V1.1.h +++ b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_PRO_V1.1.h @@ -220,6 +220,26 @@ #define LCD_PINS_ENABLE PD11 #define LCD_PINS_D4 PG2 + #if ENABLED(FYSETC_MINI_12864) + #define DOGLCD_CS PD11 + #define DOGLCD_A0 PD10 + //#define LCD_BACKLIGHT_PIN -1 + #define LCD_RESET_PIN PG2 // Must be high or open for LCD to operate normally. + #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) + #ifndef RGB_LED_R_PIN + #define RGB_LED_R_PIN PG3 + #endif + #ifndef RGB_LED_G_PIN + #define RGB_LED_G_PIN PG6 + #endif + #ifndef RGB_LED_B_PIN + #define RGB_LED_B_PIN PG7 + #endif + #elif ENABLED(FYSETC_MINI_12864_2_1) + #define NEOPIXEL_PIN PG3 + #endif + #endif // !FYSETC_MINI_12864 + #if ENABLED(ULTIPANEL) #define LCD_PINS_D5 PG3 #define LCD_PINS_D6 PG6 diff --git a/Marlin/src/pins/stm32/pins_BLACK_STM32F407VE.h b/Marlin/src/pins/stm32/pins_BLACK_STM32F407VE.h index 0e405608da..74a715a8d2 100644 --- a/Marlin/src/pins/stm32/pins_BLACK_STM32F407VE.h +++ b/Marlin/src/pins/stm32/pins_BLACK_STM32F407VE.h @@ -88,7 +88,10 @@ #define TEMP_0_PIN PC0 // T0 #define TEMP_1_PIN PC1 // T1 #define TEMP_BED_PIN PC2 // TB -#define TEMP_CHAMBER_PIN PC3 // TC + +#ifndef TEMP_CHAMBER_PIN + #define TEMP_CHAMBER_PIN PC3 // TC +#endif // // Heaters / Fans diff --git a/Marlin/src/pins/stm32/pins_LERDGE_K.h b/Marlin/src/pins/stm32/pins_LERDGE_K.h new file mode 100644 index 0000000000..a9d20f5d0e --- /dev/null +++ b/Marlin/src/pins/stm32/pins_LERDGE_K.h @@ -0,0 +1,181 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#if !defined(STM32F4) && !defined(STM32F4xx) + #error "Oops! Select an STM32F4 board in 'Tools > Board.'" +#elif HOTENDS > 2 || E_STEPPERS > 2 + #error "LERDGE K supports up to 2 hotends / E-steppers." +#endif + +#define BOARD_INFO_NAME "Lerdge K" +#define DEFAULT_MACHINE_NAME "LERDGE" + +#define I2C_EEPROM + +// Ignore temp readings during develpment. +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 + +// +// Servos +// +//#define SERVO0_PIN PD12 + +// +// Limit Switches +// +#define X_STOP_PIN PG3 +#define Y_STOP_PIN PG4 +#define Z_STOP_PIN PG5 + +// +// Z Probe (when not Z_MIN_PIN) +// +//#ifndef Z_MIN_PROBE_PIN +// #define Z_MIN_PROBE_PIN PB15 +//#endif + +// +// Filament runout +// +#define FIL_RUNOUT_PIN PE6 +#define FIL_RUNOUT2_PIN PE7 + +// +// Steppers +// +#define X_STEP_PIN PG1 +#define X_DIR_PIN PB10 +#define X_ENABLE_PIN PG0 +//#ifndef X_CS_PIN +// #define X_CS_PIN PE0 +//#endif + +#define Y_STEP_PIN PF14 +#define Y_DIR_PIN PF15 +#define Y_ENABLE_PIN PF13 +//#ifndef Y_CS_PIN +// #define Y_CS_PIN PE1 +//#endif + +#define Z_STEP_PIN PF11 +#define Z_DIR_PIN PF12 +#define Z_ENABLE_PIN PC5 +//#ifndef Z_CS_PIN +// #define Z_CS_PIN PE2 +//#endif + +#define E0_STEP_PIN PC14 +#define E0_DIR_PIN PC13 +#define E0_ENABLE_PIN PC15 +//#ifndef E0_CS_PIN +// #define E0_CS_PIN PE3 +//#endif + +#define E1_STEP_PIN PF1 +#define E1_DIR_PIN PF0 +#define E1_ENABLE_PIN PF2 +//#ifndef E1_CS_PIN +// #define E1_CS_PIN PE4 +//#endif + +// +// Temperature Sensors +// +#define TEMP_0_PIN PC1 // Analog Input +#define TEMP_1_PIN PC2 // Analog Input +#define TEMP_BED_PIN PC0 // Analog Input + +// +// Heaters / Fans +// +#define HEATER_0_PIN PA1 +#define HEATER_1_PIN PA0 +#define HEATER_BED_PIN PA2 + +#ifndef FAN_PIN + #define FAN_PIN PC15 +#endif +#define FAN1_PIN PF6 +#define FAN2_PIN PF7 + +#define ORIG_E0_AUTO_FAN_PIN FAN1_PIN // Use this by NOT overriding E0_AUTO_FAN_PIN + +// +// LED / Lighting +// +//#define CASE_LIGHT_PIN_CI -1 +//#define CASE_LIGHT_PIN_DO -1 +//#define NEOPIXEL_PIN -1 + +// +// Prusa i3 MK2 Multi-Material Multiplexer Support +// +//#define E_MUX0_PIN -1 +//#define E_MUX1_PIN -1 + +// +// SD support +// +#define SDIO_SUPPORT + +// +// Misc. Functions +// +#define SDSS PC11 +#define LED_PIN PC7 // Alive +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define POWER_LOSS_PIN -1 // Power-loss / nAC_FAULT + +#define SCK_PIN PC12 +#define MISO_PIN PC8 +#define MOSI_PIN PD2 +#define SS_PIN PC11 + +// +// LCD / Controller +// + +// TODO: Replace these with the correct FSMC pins, once known +#define SD_DETECT_PIN -1 +#define BEEPER_PIN PD12 +#define LCD_PINS_RS -1 +#define LCD_PINS_ENABLE -1 +#define LCD_PINS_D4 -1 +#define LCD_PINS_D5 -1 +#define LCD_PINS_D6 -1 +#define LCD_PINS_D7 -1 + +#define BTN_EN1 PE3 +#define BTN_EN2 PE4 +#define BTN_ENC PE2 + +// +// ST7920 Delays +// +#ifndef ST7920_DELAY_1 + #define ST7920_DELAY_1 DELAY_NS(96) +#endif +#ifndef ST7920_DELAY_2 + #define ST7920_DELAY_2 DELAY_NS(48) +#endif +#ifndef ST7920_DELAY_3 + #define ST7920_DELAY_3 DELAY_NS(715) +#endif diff --git a/Marlin/src/pins/stm32/pins_LERDGE_X.h b/Marlin/src/pins/stm32/pins_LERDGE_X.h new file mode 100644 index 0000000000..3b5cf63ab8 --- /dev/null +++ b/Marlin/src/pins/stm32/pins_LERDGE_X.h @@ -0,0 +1,178 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#if !defined(STM32F4) && !defined(STM32F4xx) + #error "Oops! Select an STM32F4 board in 'Tools > Board.'" +#elif HOTENDS > 2 || E_STEPPERS > 2 + #error "LERDGE X supports up to 2 hotends / E-steppers." +#endif + +#define BOARD_INFO_NAME "Lerdge X" +#define DEFAULT_MACHINE_NAME "LERDGE" + +//#define I2C_EEPROM + +// +// Servos +// +//#define SERVO0_PIN PD12 +//#define SERVO1_PIN -1 + +// +// Limit Switches +// +#define X_STOP_PIN PB12 +#define Y_STOP_PIN PB13 +#define Z_STOP_PIN PB14 + +// +// Filament runout +// +#define FIL_RUNOUT_PIN PE1 + +// +// Z Probe (when not Z_MIN_PIN) +// +//#ifndef Z_MIN_PROBE_PIN +// #define Z_MIN_PROBE_PIN PB15 +//#endif + +// +// Steppers +// +#define X_STEP_PIN PB10 +#define X_DIR_PIN PB2 +#define X_ENABLE_PIN PB11 +//#ifndef X_CS_PIN +// #define X_CS_PIN PD1 +//#endif + +#define Y_STEP_PIN PB0 +#define Y_DIR_PIN PC5 +#define Y_ENABLE_PIN PB1 +//#ifndef Y_CS_PIN +// #define Y_CS_PIN PE12 +//#endif + +#define Z_STEP_PIN PA7 +#define Z_DIR_PIN PA6 +#define Z_ENABLE_PIN PC4 +//#ifndef Z_CS_PIN +// #define Z_CS_PIN PD5 +//#endif + +#define E0_STEP_PIN PA4 +#define E0_DIR_PIN PA3 +#define E0_ENABLE_PIN PA5 +//#ifndef E0_CS_PIN +// #define E0_CS_PIN PB4 +//#endif + +#define E1_STEP_PIN -1 +#define E1_DIR_PIN -1 +#define E1_ENABLE_PIN -1 +//#ifndef E1_CS_PIN +// #define E1_CS_PIN PE5 +//#endif + +// +// Temperature Sensors +// +#define TEMP_0_PIN PC0 // Analog Input +#define TEMP_1_PIN -1 // Analog Input +#define TEMP_BED_PIN PC1 // Analog Input + +// +// Heaters / Fans +// +#define HEATER_0_PIN PA1 +#define HEATER_1_PIN -1 +#define HEATER_BED_PIN PA2 + +#ifndef FAN_PIN +// #define FAN_PIN PC15 +#endif +#define FAN1_PIN PC15 +#define FAN2_PIN PA0 + +#define ORIG_E0_AUTO_FAN_PIN PC15 // Use this by NOT overriding E0_AUTO_FAN_PIN + +// +// Prusa i3 MK2 Multi Material Multiplexer Support +// +//#define E_MUX0_PIN -1 +//#define E_MUX1_PIN -1 + +// +// LED / Lighting +// +//#define CASE_LIGHT_PIN_CI -1 +//#define CASE_LIGHT_PIN_DO -1 +//#define NEOPIXEL_PIN -1 + +// +// Misc. Functions +// +#define SDSS PC11 +#define LED_PIN PC7 // Alive +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define POWER_LOSS_PIN -1 // Power-loss / nAC_FAULT + +#define SCK_PIN PC12 +#define MISO_PIN PC8 +#define MOSI_PIN PD2 +#define SS_PIN PC11 + +// +// SD support +// +#define SDIO_SUPPORT + +// +// LCD / Controller +// + +// The LCD is initialized in FSMC mode +#define SD_DETECT_PIN -1 +#define BEEPER_PIN PD12 + +#define BTN_EN1 PE3 +#define BTN_EN2 PE4 +#define BTN_ENC PE2 + +#define LCD_RESET_PIN PD6 +#define LCD_BACKLIGHT_PIN PD3 +#define FSMC_CS_PIN PD4 +#define FSMC_RS_PIN PD11 +#define TOUCH_CS PB6 + +// +// ST7920 Delays +// +#ifndef ST7920_DELAY_1 + #define ST7920_DELAY_1 DELAY_NS(96) +#endif +#ifndef ST7920_DELAY_2 + #define ST7920_DELAY_2 DELAY_NS(48) +#endif +#ifndef ST7920_DELAY_3 + #define ST7920_DELAY_3 DELAY_NS(715) +#endif diff --git a/Marlin/src/sd/Sd2Card_sdio.h b/Marlin/src/sd/Sd2Card_sdio.h index 990194eeea..2aa2e86c03 100644 --- a/Marlin/src/sd/Sd2Card_sdio.h +++ b/Marlin/src/sd/Sd2Card_sdio.h @@ -25,7 +25,7 @@ #if ENABLED(SDIO_SUPPORT) -bool SDIO_Init(void); +bool SDIO_Init(); bool SDIO_ReadBlock(uint32_t block, uint8_t *dst); bool SDIO_WriteBlock(uint32_t block, const uint8_t *src); diff --git a/Marlin/src/sd/SdBaseFile.cpp b/Marlin/src/sd/SdBaseFile.cpp index 08eb864095..2969208838 100644 --- a/Marlin/src/sd/SdBaseFile.cpp +++ b/Marlin/src/sd/SdBaseFile.cpp @@ -273,7 +273,7 @@ int16_t SdBaseFile::fgets(char* str, int16_t num, char* delim) { * * \return true for success, false for failure. */ -bool SdBaseFile::getFilename(char * const name) { +bool SdBaseFile::getDosName(char * const name) { if (!isOpen()) return false; if (isRoot()) { @@ -957,7 +957,7 @@ void SdBaseFile::printFatTime(uint16_t fatTime) { */ bool SdBaseFile::printName() { char name[FILENAME_LENGTH]; - if (!getFilename(name)) return false; + if (!getDosName(name)) return false; SERIAL_ECHO(name); return true; } diff --git a/Marlin/src/sd/SdBaseFile.h b/Marlin/src/sd/SdBaseFile.h index 494b4f6bee..4d4062b1cd 100644 --- a/Marlin/src/sd/SdBaseFile.h +++ b/Marlin/src/sd/SdBaseFile.h @@ -286,7 +286,7 @@ class SdBaseFile { */ bool isRoot() const { return type_ == FAT_FILE_TYPE_ROOT_FIXED || type_ == FAT_FILE_TYPE_ROOT32; } - bool getFilename(char * const name); + bool getDosName(char * const name); void ls(uint8_t flags = 0, uint8_t indent = 0); bool mkdir(SdBaseFile* dir, const char* path, bool pFlag = true); diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp index 76fe43d09b..15ed4bda58 100644 --- a/Marlin/src/sd/cardreader.cpp +++ b/Marlin/src/sd/cardreader.cpp @@ -62,6 +62,7 @@ SdFile CardReader::root, CardReader::workDir, CardReader::workDirParents[MAX_DIR uint8_t CardReader::workDirDepth; #if ENABLED(SDCARD_SORT_ALPHA) + uint16_t CardReader::sort_count; #if ENABLED(SDSORT_GCODE) bool CardReader::sort_alpha; @@ -78,6 +79,7 @@ uint8_t CardReader::workDirDepth; #if ENABLED(SDSORT_USES_RAM) #if ENABLED(SDSORT_CACHE_NAMES) + uint16_t CardReader::nrFiles; // Cached total file count #if ENABLED(SDSORT_DYNAMIC_RAM) char **CardReader::sortshort, **CardReader::sortnames; #else @@ -94,6 +96,7 @@ uint8_t CardReader::workDirDepth; #elif ENABLED(SDSORT_CACHE_NAMES) || DISABLED(SDSORT_USES_STACK) uint8_t CardReader::isDir[(SDSORT_LIMIT+7)>>3]; #endif + #define IS_DIR(n) TEST(isDir[(n) >> 3], (n) & 0x07) #endif #endif // SDSORT_USES_RAM @@ -110,10 +113,6 @@ char CardReader::proc_filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH]; uint32_t CardReader::filesize, CardReader::sdpos; -LsAction CardReader::lsAction; //stored for recursion. -uint16_t CardReader::nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory. -char *CardReader::diveDirName; - CardReader::CardReader() { #if ENABLED(SDCARD_SORT_ALPHA) sort_count = 0; @@ -123,7 +122,7 @@ CardReader::CardReader() { //sort_reverse = false; #endif #endif - flag.sdprinting = flag.detected = flag.saving = flag.logging = false; + flag.sdprinting = flag.mounted = flag.saving = flag.logging = false; filesize = sdpos = 0; file_subcall_ctr = 0; @@ -138,7 +137,10 @@ CardReader::CardReader() { #endif } -char *createFilename(char *buffer, const dir_t &p) { +// +// Get a DOS 8.3 filename in its useful form +// +char *createFilename(char * const buffer, const dir_t &p) { char *pos = buffer; for (uint8_t i = 0; i < 11; i++) { if (p.name[i] == ' ') continue; @@ -149,24 +151,78 @@ char *createFilename(char *buffer, const dir_t &p) { return buffer; } -/** - * Dive into a folder and recurse depth-first to perform a pre-set operation lsAction: - * LS_Count - Add +1 to nrFiles for every file within the parent - * LS_GetFilename - Get the filename of the file indexed by nrFile_index - * LS_SerialPrint - Print the full path and size of each file to serial output - */ +// +// Return 'true' if the item is a folder or G-code file +// +bool CardReader::is_dir_or_gcode(const dir_t &p) { + uint8_t pn0 = p.name[0]; -uint16_t nrFile_index; + if ( pn0 == DIR_NAME_FREE || pn0 == DIR_NAME_DELETED // Clear or Deleted entry + || pn0 == '.' || longFilename[0] == '.' // Hidden file + || !DIR_IS_FILE_OR_SUBDIR(&p) // Not a File or Directory + || (p.attributes & DIR_ATT_HIDDEN) // Hidden by attribute + ) return false; -void CardReader::lsDive(const char *prepend, SdFile parent, const char * const match/*=nullptr*/) { + flag.filenameIsDir = DIR_IS_SUBDIR(&p); // We know it's a File or Folder + + return ( + flag.filenameIsDir // All Directories are ok + || (p.name[8] == 'G' && p.name[9] != '~') // Non-backup *.G* files are accepted + ); +} + +// +// Get the number of (compliant) items in the folder +// +int CardReader::countItems(SdFile dir) { dir_t p; - uint8_t cnt = 0; + int c = 0; + while (dir.readDir(&p, longFilename) > 0) + c += is_dir_or_gcode(p); - // Read the next entry from a directory + #if ENABLED(SDCARD_SORT_ALPHA) && SDSORT_USES_RAM && SDSORT_CACHE_NAMES + nrFiles = c; + #endif + + return c; +} + +// +// Get file/folder info for an item by index +// +void CardReader::selectByIndex(SdFile dir, const uint8_t index) { + dir_t p; + for (uint8_t cnt = 0; dir.readDir(&p, longFilename) > 0;) { + if (is_dir_or_gcode(p)) { + if (cnt == index) { + createFilename(filename, p); + return; // 0 based index + } + cnt++; + } + } +} + +// +// Get file/folder info for an item by name +// +void CardReader::selectByName(SdFile dir, const char * const match) { + dir_t p; + for (uint8_t cnt = 0; dir.readDir(&p, longFilename) > 0; cnt++) { + if (is_dir_or_gcode(p)) { + createFilename(filename, p); + if (strcasecmp(match, filename) == 0) return; + } + } +} + +// +// Recursive method to list all files within a folder +// +void CardReader::printListing(SdFile parent, const char * const prepend/*=nullptr*/) { + dir_t p; while (parent.readDir(&p, longFilename) > 0) { - - // If the entry is a directory and the action is LS_SerialPrint - if (DIR_IS_SUBDIR(&p) && lsAction != LS_Count && lsAction != LS_GetFilename) { + if (DIR_IS_SUBDIR(&p)) { // Get the short name for the item, which we know is a folder char dosFilename[FILENAME_LENGTH]; @@ -188,69 +244,38 @@ void CardReader::lsDive(const char *prepend, SdFile parent, const char * const m // Get a new directory object using the full path // and dive recursively into it. - SdFile dir; - if (!dir.open(&parent, dosFilename, O_READ)) { - if (lsAction == LS_SerialPrint) { - SERIAL_ECHO_START(); - SERIAL_ECHOPGM(MSG_SD_CANT_OPEN_SUBDIR); - SERIAL_ECHOLN(dosFilename); - } + SdFile child; + if (!child.open(&parent, dosFilename, O_READ)) { + SERIAL_ECHO_START(); + SERIAL_ECHOLNPAIR(MSG_SD_CANT_OPEN_SUBDIR, dosFilename); } - lsDive(path, dir); + printListing(child, path); // close() is done automatically by destructor of SdFile } - else { - uint8_t pn0 = p.name[0]; - if (pn0 == DIR_NAME_FREE) break; - if (pn0 == DIR_NAME_DELETED || pn0 == '.') continue; - if (longFilename[0] == '.') continue; - - if (!DIR_IS_FILE_OR_SUBDIR(&p) || (p.attributes & DIR_ATT_HIDDEN)) continue; - - flag.filenameIsDir = DIR_IS_SUBDIR(&p); - - if (!flag.filenameIsDir && (p.name[8] != 'G' || p.name[9] == '~')) continue; - - switch (lsAction) { // 1 based file count - case LS_Count: - nrFiles++; - break; - - case LS_SerialPrint: - createFilename(filename, p); - if (prepend) SERIAL_ECHO(prepend); - SERIAL_ECHO(filename); - SERIAL_CHAR(' '); - SERIAL_ECHOLN(p.fileSize); - break; - - case LS_GetFilename: - createFilename(filename, p); - if (match != nullptr) { - if (strcasecmp(match, filename) == 0) return; - } - else if (cnt == nrFile_index) return; // 0 based index - cnt++; - break; - } - + else if (is_dir_or_gcode(p)) { + createFilename(filename, p); + if (prepend) SERIAL_ECHO(prepend); + SERIAL_ECHO(filename); + SERIAL_CHAR(' '); + SERIAL_ECHOLN(p.fileSize); } - } // while readDir + } } +// +// List all files on the SD card +// void CardReader::ls() { - lsAction = LS_SerialPrint; root.rewind(); - lsDive(nullptr, root); + printListing(root); } #if ENABLED(LONG_FILENAME_HOST_SUPPORT) - /** - * Get a long pretty path based on a DOS 8.3 path - */ - void CardReader::printLongPath(char *path) { - lsAction = LS_GetFilename; + // + // Get a long pretty path based on a DOS 8.3 path + // + void CardReader::printLongPath(char * const path) { int i, pathLen = strlen(path); @@ -276,7 +301,7 @@ void CardReader::ls() { // Find the item, setting the long filename diveDir.rewind(); - lsDive(nullptr, diveDir, segment); + selectByName(diveDir, segment); // Print /LongNamePart to serial output SERIAL_CHAR('/'); @@ -292,8 +317,7 @@ void CardReader::ls() { if (!dir.open(&diveDir, segment, O_READ)) { SERIAL_EOL(); SERIAL_ECHO_START(); - SERIAL_ECHOPGM(MSG_SD_CANT_OPEN_SUBDIR); - SERIAL_ECHO(segment); + SERIAL_ECHOPAIR(MSG_SD_CANT_OPEN_SUBDIR, segment); break; } @@ -307,16 +331,16 @@ void CardReader::ls() { #endif // LONG_FILENAME_HOST_SUPPORT -/** - * Echo the DOS 8.3 filename (and long filename, if any) - */ +// +// Echo the DOS 8.3 filename (and long filename, if any) +// void CardReader::printFilename() { if (file.isOpen()) { char dosFilename[FILENAME_LENGTH]; - file.getFilename(dosFilename); + file.getDosName(dosFilename); SERIAL_ECHO(dosFilename); #if ENABLED(LONG_FILENAME_HOST_SUPPORT) - getfilename(0, dosFilename); + selectFileByName(dosFilename); if (longFilename[0]) { SERIAL_ECHO(' '); SERIAL_ECHO(longFilename); @@ -329,8 +353,8 @@ void CardReader::printFilename() { SERIAL_EOL(); } -void CardReader::initsd() { - flag.detected = false; +void CardReader::mount() { + flag.mounted = false; if (root.isOpen()) root.close(); #ifndef SPI_SPEED @@ -341,29 +365,26 @@ void CardReader::initsd() { #if defined(LCD_SDSS) && (LCD_SDSS != SDSS) && !sd2card.init(SPI_SPEED, LCD_SDSS) #endif - ) { - //if (!sd2card.init(SPI_HALF_SPEED,SDSS)) - SERIAL_ECHO_MSG(MSG_SD_INIT_FAIL); - } + ) SERIAL_ECHO_MSG(MSG_SD_INIT_FAIL); else if (!volume.init(&sd2card)) SERIAL_ERROR_MSG(MSG_SD_VOL_INIT_FAIL); else if (!root.openRoot(&volume)) SERIAL_ERROR_MSG(MSG_SD_OPENROOT_FAIL); else { - flag.detected = true; + flag.mounted = true; SERIAL_ECHO_MSG(MSG_SD_CARD_OK); #if ENABLED(EEPROM_SETTINGS) && NONE(FLASH_EEPROM_EMULATION, SPI_EEPROM, I2C_EEPROM) settings.first_load(); #endif } - setroot(); + cdroot(); ui.refresh(); } void CardReader::release() { stopSDPrint(); - flag.detected = false; + flag.mounted = false; } void CardReader::openAndPrintFile(const char *name) { @@ -375,7 +396,7 @@ void CardReader::openAndPrintFile(const char *name) { } void CardReader::startFileprint() { - if (isDetected()) { + if (isMounted()) { flag.sdprinting = true; #if SD_RESORT flush_presort(); @@ -403,29 +424,35 @@ void CardReader::openLogFile(char * const path) { openFile(path, false); } -void appendAtom(SdFile &file, char *& dst, uint8_t &cnt) { - file.getFilename(dst); - while (*dst && cnt < MAXPATHNAMELENGTH) { dst++; cnt++; } - if (cnt < MAXPATHNAMELENGTH) { *dst = '/'; dst++; cnt++; } -} - -void CardReader::getAbsFilename(char *t) { - *t++ = '/'; // Root folder +// +// Get the root-relative DOS path of the selected file +// +void CardReader::getAbsFilename(char *dst) { + *dst++ = '/'; uint8_t cnt = 1; - for (uint8_t i = 0; i < workDirDepth; i++) // Loop to current work dir - appendAtom(workDirParents[i], t, cnt); + auto appendAtom = [&](SdFile &file) { + file.getDosName(dst); + while (*dst && cnt < MAXPATHNAMELENGTH) { dst++; cnt++; } + if (cnt < MAXPATHNAMELENGTH) { *dst = '/'; dst++; cnt++; } + }; + + for (uint8_t i = 0; i < workDirDepth; i++) // Loop down to current work dir + appendAtom(workDirParents[i]); if (cnt < MAXPATHNAMELENGTH - (FILENAME_LENGTH) - 1) { // Leave room for filename and nul - appendAtom(file, t, cnt); - --t; + appendAtom(file); + --dst; } - *t = '\0'; + *dst = '\0'; } +// +// Open a file by DOS path - for read or write +// void CardReader::openFile(char * const path, const bool read, const bool subcall/*=false*/) { - if (!isDetected()) return; + if (!isMounted()) return; uint8_t doing = 0; if (isFileOpen()) { // Replacing current file or doing a subroutine @@ -474,7 +501,7 @@ void CardReader::openFile(char * const path, const bool read, const bool subcall SERIAL_ECHOLNPAIR(MSG_SD_FILE_OPENED, fname, MSG_SD_SIZE, filesize); SERIAL_ECHOLNPGM(MSG_SD_FILE_SELECTED); - getfilename(0, fname); + selectFileByName(fname); ui.set_status(longFilename[0] ? longFilename : fname); //if (longFilename[0]) { // SERIAL_ECHOPAIR(MSG_SD_FILE_LONG_NAME, longFilename); @@ -488,7 +515,7 @@ void CardReader::openFile(char * const path, const bool read, const bool subcall SERIAL_ECHOLNPAIR(MSG_SD_OPEN_FILE_FAIL, fname, "."); else { flag.saving = true; - getfilename(0, fname); + selectFileByName(fname); #if ENABLED(EMERGENCY_PARSER) emergency_parser.disable(); #endif @@ -498,8 +525,11 @@ void CardReader::openFile(char * const path, const bool read, const bool subcall } } +// +// Delete a file by name in the working directory +// void CardReader::removeFile(const char * const name) { - if (!isDetected()) return; + if (!isMounted()) return; //stopSDPrint(); @@ -529,7 +559,7 @@ void CardReader::report_status() { SERIAL_ECHOLNPGM(MSG_SD_NOT_PRINTING); } -void CardReader::write_command(char *buf) { +void CardReader::write_command(char * const buf) { char* begin = buf; char* npos = nullptr; char* end = buf + strlen(buf) - 1; @@ -558,12 +588,12 @@ void CardReader::checkautostart() { if (autostart_index < 0 || flag.sdprinting) return; - if (!isDetected()) initsd(); + if (!isMounted()) mount(); #if ENABLED(EEPROM_SETTINGS) && NONE(FLASH_EEPROM_EMULATION, SPI_EEPROM, I2C_EEPROM) else settings.first_load(); #endif - if (isDetected() + if (isMounted() #if ENABLED(POWER_LOSS_RECOVERY) && !recovery.valid() // Don't run auto#.g when a resume file exists #endif @@ -586,7 +616,7 @@ void CardReader::checkautostart() { void CardReader::beginautostart() { autostart_index = 0; - setroot(); + cdroot(); } void CardReader::closefile(const bool store_location) { @@ -604,38 +634,42 @@ void CardReader::closefile(const bool store_location) { } } -/** - * Get the name of a file in the current directory by index - * with optional name to match. - */ -void CardReader::getfilename(uint16_t nr, const char * const match/*=nullptr*/) { +// +// Get info for a file in the working directory by index +// +void CardReader::selectFileByIndex(const uint16_t nr) { #if ENABLED(SDSORT_CACHE_NAMES) - if (match != nullptr) { - while (nr < sort_count) { - if (strcasecmp(match, sortshort[nr]) == 0) break; - nr++; - } - } if (nr < sort_count) { strcpy(filename, sortshort[nr]); strcpy(longFilename, sortnames[nr]); - flag.filenameIsDir = TEST(isDir[nr>>3], nr & 0x07); + flag.filenameIsDir = IS_DIR(nr); return; } - #endif // SDSORT_CACHE_NAMES - lsAction = LS_GetFilename; - nrFile_index = nr; + #endif workDir.rewind(); - lsDive(nullptr, workDir, match); + selectByIndex(workDir, nr); } -uint16_t CardReader::getnrfilenames() { - lsAction = LS_Count; - nrFiles = 0; +// +// Get info for a file in the working directory by DOS name +// +void CardReader::selectFileByName(const char * const match) { + #if ENABLED(SDSORT_CACHE_NAMES) + for (int nr = 0; nr < sort_count; nr++) + if (strcasecmp(match, sortshort[nr]) == 0) { + strcpy(filename, sortshort[nr]); + strcpy(longFilename, sortnames[nr]); + flag.filenameIsDir = IS_DIR(nr); + return; + } + #endif workDir.rewind(); - lsDive(nullptr, workDir); - //SERIAL_ECHOLN(nrFiles); - return nrFiles; + selectByName(workDir, match); +} + +uint16_t CardReader::countFilesInWorkDir() { + workDir.rewind(); + return countItems(workDir); } /** @@ -652,11 +686,11 @@ const char* CardReader::diveToFile(SdFile*& curDir, const char * const path, con static SdFile newDir1, newDir2; SdFile *sub = &newDir1, *startDir; - const char *dirname_start = path; + const char *item_name_adr = path; if (path[0] == '/') { curDir = &root; workDirDepth = 0; - dirname_start++; + item_name_adr++; } else curDir = &workDir; @@ -664,15 +698,15 @@ const char* CardReader::diveToFile(SdFile*& curDir, const char * const path, con startDir = curDir; // Start dive - while (dirname_start) { + while (item_name_adr) { // Find next sub - char * const dirname_end = strchr(dirname_start, '/'); - if (dirname_end <= dirname_start) break; + char * const name_end = strchr(item_name_adr, '/'); + if (name_end <= item_name_adr) break; // Set subDirName - const uint8_t len = dirname_end - dirname_start; + const uint8_t len = name_end - item_name_adr; char dosSubdirname[len + 1]; - strncpy(dosSubdirname, dirname_start, len); + strncpy(dosSubdirname, item_name_adr, len); dosSubdirname[len] = 0; if (echo) SERIAL_ECHOLN(dosSubdirname); @@ -695,18 +729,19 @@ const char* CardReader::diveToFile(SdFile*& curDir, const char * const path, con // Point sub pointer to unused newDir sub = (curDir != &newDir1) ? &newDir1 : &newDir2; - // dirname_start point to next sub - dirname_start = dirname_end + 1; + // item_name_adr point to next sub + item_name_adr = name_end + 1; } - return dirname_start; + return item_name_adr; } -void CardReader::chdir(const char * relpath) { +void CardReader::cd(const char * relpath) { SdFile newDir; SdFile *parent = workDir.isOpen() ? &workDir : &root; if (newDir.open(parent, relpath, O_READ)) { workDir = newDir; + flag.workDirIsRoot = false; if (workDirDepth < MAX_DIR_DEPTH) workDirParents[workDirDepth++] = workDir; #if ENABLED(SDCARD_SORT_ALPHA) @@ -719,21 +754,20 @@ void CardReader::chdir(const char * relpath) { } } -int8_t CardReader::updir() { +int8_t CardReader::cdup() { if (workDirDepth > 0) { // At least 1 dir has been saved workDir = --workDirDepth ? workDirParents[workDirDepth - 1] : root; // Use parent, or root if none #if ENABLED(SDCARD_SORT_ALPHA) presort(); #endif } + if (!workDirDepth) flag.workDirIsRoot = true; return workDirDepth; } -void CardReader::setroot() { - /*if (!workDir.openRoot(&volume)) { - SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL); - }*/ +void CardReader::cdroot() { workDir = root; + flag.workDirIsRoot = true; #if ENABLED(SDCARD_SORT_ALPHA) presort(); #endif @@ -742,10 +776,10 @@ void CardReader::setroot() { #if ENABLED(SDCARD_SORT_ALPHA) /** - * Get the name of a file in the current directory by sort-index + * Get the name of a file in the working directory by sort-index */ void CardReader::getfilename_sorted(const uint16_t nr) { - getfilename( + selectFileByIndex( #if ENABLED(SDSORT_GCODE) sort_alpha && #endif @@ -759,7 +793,7 @@ void CardReader::setroot() { #define SET_SORTNAME(I) (sortnames[I] = strdup(longest_filename())) #if ENABLED(SDSORT_CACHE_NAMES) // When caching also store the short name, since - // we're replacing the getfilename() behavior. + // we're replacing the selectFileByIndex() behavior. #define SET_SORTSHORT(I) (sortshort[I] = strdup(filename)) #else #define SET_SORTSHORT(I) NOOP @@ -801,7 +835,7 @@ void CardReader::setroot() { #endif // If there are files, sort up to the limit - uint16_t fileCnt = getnrfilenames(); + uint16_t fileCnt = countFilesInWorkDir(); if (fileCnt > 0) { // Never sort more than the max allowed @@ -856,7 +890,7 @@ void CardReader::setroot() { i); // If using RAM then read all filenames now. #if ENABLED(SDSORT_USES_RAM) - getfilename(i); + selectFileByIndex(i); SET_SORTNAME(i); SET_SORTSHORT(i); // char out[30]; @@ -873,8 +907,17 @@ void CardReader::setroot() { // Bubble Sort for (uint16_t i = fileCnt; --i;) { bool didSwap = false; + uint8_t o1 = sort_order[0]; + #if DISABLED(SDSORT_USES_RAM) + selectFileByIndex(o1); // Pre-fetch the first entry and save it + strcpy(name1, longest_filename()); // so the loop only needs one fetch + #if HAS_FOLDER_SORTING + bool dir1 = flag.filenameIsDir; + #endif + #endif + for (uint16_t j = 0; j < i; ++j) { - const uint16_t o1 = sort_order[j], o2 = sort_order[j + 1]; + const uint16_t o2 = sort_order[j + 1]; // Compare names from the array or just the two buffered names #if ENABLED(SDSORT_USES_RAM) @@ -886,12 +929,7 @@ void CardReader::setroot() { #if HAS_FOLDER_SORTING #if ENABLED(SDSORT_USES_RAM) // Folder sorting needs an index and bit to test for folder-ness. - const uint8_t ind1 = o1 >> 3, bit1 = o1 & 0x07, - ind2 = o2 >> 3, bit2 = o2 & 0x07; - #define _SORT_CMP_DIR(fs) \ - (((isDir[ind1] & _BV(bit1)) != 0) == ((isDir[ind2] & _BV(bit2)) != 0) \ - ? _SORT_CMP_NODIR() \ - : (isDir[fs > 0 ? ind1 : ind2] & (fs > 0 ? _BV(bit1) : _BV(bit2))) != 0) + #define _SORT_CMP_DIR(fs) IS_DIR(o1) == IS_DIR(o2) ? _SORT_CMP_NODIR() : IS_DIR(fs > 0 ? o1 : o2) #else #define _SORT_CMP_DIR(fs) ((dir1 == flag.filenameIsDir) ? _SORT_CMP_NODIR() : (fs > 0 ? dir1 : !dir1)) #endif @@ -900,13 +938,9 @@ void CardReader::setroot() { // The most economical method reads names as-needed // throughout the loop. Slow if there are many. #if DISABLED(SDSORT_USES_RAM) - getfilename(o1); - strcpy(name1, longest_filename()); // save (or getfilename below will trounce it) - #if HAS_FOLDER_SORTING - bool dir1 = flag.filenameIsDir; - #endif - getfilename(o2); - char *name2 = longest_filename(); // use the string in-place + selectFileByIndex(o2); + const bool dir2 = flag.filenameIsDir; + char * const name2 = longest_filename(); // use the string in-place #endif // !SDSORT_USES_RAM // Sort the current pair according to settings. @@ -921,10 +955,22 @@ void CardReader::setroot() { _SORT_CMP_NODIR() #endif ) { + // Reorder the index, indicate that sorting happened + // Note that the next o1 will be the current o1. No new fetch needed. sort_order[j] = o2; sort_order[j + 1] = o1; didSwap = true; } + else { + // The next o1 is the current o2. No new fetch needed. + o1 = o2; + #if DISABLED(SDSORT_USES_RAM) + #if HAS_FOLDER_SORTING + dir1 = dir2; + #endif + strcpy(name1, name2); + #endif + } } if (!didSwap) break; } @@ -946,10 +992,10 @@ void CardReader::setroot() { sortshort = new char*[1]; isDir = new uint8_t[1]; #endif - getfilename(0); + selectFileByIndex(0); SET_SORTNAME(0); SET_SORTSHORT(0); - isDir[0] = flag.filenameIsDir ? 0x01 : 0x00; + isDir[0] = flag.filenameIsDir; #endif } @@ -981,11 +1027,14 @@ uint16_t CardReader::get_num_Files() { #if ENABLED(SDCARD_SORT_ALPHA) && SDSORT_USES_RAM && SDSORT_CACHE_NAMES nrFiles // no need to access the SD card for filenames #else - getnrfilenames() + countFilesInWorkDir() #endif ; } +// +// Return from procedure or close out the Print Job +// void CardReader::printingHasFinished() { planner.synchronize(); file.close(); @@ -1049,7 +1098,7 @@ void CardReader::printingHasFinished() { } void CardReader::openJobRecoveryFile(const bool read) { - if (!isDetected()) return; + if (!isMounted()) return; if (recovery.file.isOpen()) return; if (!recovery.file.open(&root, recovery.filename, read ? O_READ : O_CREAT | O_WRITE | O_TRUNC | O_SYNC)) SERIAL_ECHOLNPAIR(MSG_SD_OPEN_FILE_FAIL, recovery.filename, "."); diff --git a/Marlin/src/sd/cardreader.h b/Marlin/src/sd/cardreader.h index 8eedfc384e..e089f86f9e 100644 --- a/Marlin/src/sd/cardreader.h +++ b/Marlin/src/sd/cardreader.h @@ -33,14 +33,13 @@ #include "SdFile.h" -enum LsAction : uint8_t { LS_SerialPrint, LS_Count, LS_GetFilename }; - typedef struct { bool saving:1, logging:1, sdprinting:1, - detected:1, + mounted:1, filenameIsDir:1, + workDirIsRoot:1, abort_sd_printing:1 #if ENABLED(BINARY_FILE_TRANSFER) , binary_mode:1 @@ -50,48 +49,80 @@ typedef struct { class CardReader { public: + static card_flags_t flag; // Flags (above) + static char filename[FILENAME_LENGTH], // DOS 8.3 filename of the selected item + longFilename[LONG_FILENAME_LENGTH]; // Long name of the selected item + + // Fast! binary file transfer + #if ENABLED(BINARY_FILE_TRANSFER) + #if NUM_SERIAL > 1 + static int8_t transfer_port_index; + #else + static constexpr int8_t transfer_port_index = 0; + #endif + #endif + + // // // Methods // // // + CardReader(); - static void initsd(); - static void write_command(char *buf); + static SdFile getroot() { return root; } + static void mount(); + static void release(); + static inline bool isMounted() { return flag.mounted; } + static void ls(); + + // SD Card Logging + static void openLogFile(char * const path); + static void write_command(char * const buf); + + // Auto-Start files + static int8_t autostart_index; // Index of autoX.g files static void beginautostart(); static void checkautostart(); + // Basic file ops static void openFile(char * const path, const bool read, const bool subcall=false); - static void openLogFile(char * const path); - static void removeFile(const char * const name); static void closefile(const bool store_location=false); - static void release(); - static void openAndPrintFile(const char *name); + static void removeFile(const char * const name); + + static inline char* longest_filename() { return longFilename[0] ? longFilename : filename; } + #if ENABLED(LONG_FILENAME_HOST_SUPPORT) + static void printLongPath(char * const path); // Used by M33 + #endif + + // Working Directory for SD card menu + static void cdroot(); + static void cd(const char *relpath); + static int8_t cdup(); + static uint16_t countFilesInWorkDir(); + static uint16_t get_num_Files(); + + // Select a file + static void selectFileByIndex(const uint16_t nr); + static void selectFileByName(const char* const match); + + // Print job + static void openAndPrintFile(const char *name); // (working directory) + static void printingHasFinished(); + static void getAbsFilename(char *dst); static void startFileprint(); + static void printFilename(); static void stopSDPrint( #if SD_RESORT const bool re_sort=false #endif ); static void report_status(); - static void printingHasFinished(); - static void printFilename(); - - #if ENABLED(LONG_FILENAME_HOST_SUPPORT) - static void printLongPath(char *path); - #endif - - static void getfilename(uint16_t nr, const char* const match=nullptr); - static uint16_t getnrfilenames(); - - static void getAbsFilename(char *t); - - static void ls(); - static void chdir(const char *relpath); - static int8_t updir(); - static void setroot(); + static inline void pauseSDPrint() { flag.sdprinting = false; } + static inline bool isPaused() { return isFileOpen() && !flag.sdprinting; } + static inline bool isPrinting() { return flag.sdprinting; } + static inline uint8_t percentDone() { return (isFileOpen() && filesize) ? sdpos / ((filesize + 99) / 100) : 0; } + // Helper for open and remove static const char* diveToFile(SdFile*& curDir, const char * const path, const bool echo=false); - static uint16_t get_num_Files(); - #if ENABLED(SDCARD_SORT_ALPHA) static void presort(); static void getfilename_sorted(const uint16_t nr); @@ -101,7 +132,7 @@ public: //FORCE_INLINE static void setSortReverse(bool b) { sort_reverse = b; } #endif #else - FORCE_INLINE static void getfilename_sorted(const uint16_t nr) { getfilename(nr); } + FORCE_INLINE static void getfilename_sorted(const uint16_t nr) { selectFileByIndex(nr); } #endif #if ENABLED(POWER_LOSS_RECOVERY) @@ -110,24 +141,19 @@ public: static void removeJobRecoveryFile(); #endif - static inline void pauseSDPrint() { flag.sdprinting = false; } - static inline bool isDetected() { return flag.detected; } - static inline bool isFileOpen() { return isDetected() && file.isOpen(); } - static inline bool isPaused() { return isFileOpen() && !flag.sdprinting; } - static inline bool isPrinting() { return flag.sdprinting; } - static inline bool eof() { return sdpos >= filesize; } - static inline int16_t get() { sdpos = file.curPosition(); return (int16_t)file.read(); } - static inline void setIndex(const uint32_t index) { sdpos = index; file.seekSet(index); } + static inline bool isFileOpen() { return isMounted() && file.isOpen(); } static inline uint32_t getIndex() { return sdpos; } - static inline uint8_t percentDone() { return (isFileOpen() && filesize) ? sdpos / ((filesize + 99) / 100) : 0; } - static inline char* getWorkDirName() { workDir.getFilename(filename); return filename; } + static inline bool eof() { return sdpos >= filesize; } + static inline void setIndex(const uint32_t index) { sdpos = index; file.seekSet(index); } + static inline char* getWorkDirName() { workDir.getDosName(filename); return filename; } + static inline int16_t get() { sdpos = file.curPosition(); return (int16_t)file.read(); } static inline int16_t read(void* buf, uint16_t nbyte) { return file.isOpen() ? file.read(buf, nbyte) : -1; } static inline int16_t write(void* buf, uint16_t nbyte) { return file.isOpen() ? file.write(buf, nbyte) : -1; } static Sd2Card& getSd2Card() { return sd2card; } #if ENABLED(AUTO_REPORT_SD_STATUS) - static void auto_report_sd_status(void); + static void auto_report_sd_status(); static inline void set_auto_report_interval(uint8_t v) { #if NUM_SERIAL > 1 auto_report_port = serial_port_index; @@ -138,27 +164,16 @@ public: } #endif - static inline char* longest_filename() { return longFilename[0] ? longFilename : filename; } - -public: - static card_flags_t flag; - static char filename[FILENAME_LENGTH], longFilename[LONG_FILENAME_LENGTH]; - static int8_t autostart_index; - static SdFile getroot() { return root; } - - #if ENABLED(BINARY_FILE_TRANSFER) - #if NUM_SERIAL > 1 - static int8_t transfer_port_index; - #else - static constexpr int8_t transfer_port_index = 0; - #endif - #endif - private: + // + // Working directory and parents + // static SdFile root, workDir, workDirParents[MAX_DIR_DEPTH]; static uint8_t workDirDepth; - // Sort files and folders alphabetically. + // + // Alphabetical file and folder sorting + // #if ENABLED(SDCARD_SORT_ALPHA) static uint16_t sort_count; // Count of sorted items in the current directory #if ENABLED(SDSORT_GCODE) @@ -187,6 +202,7 @@ private: // If using dynamic ram for names, allocate on the heap. #if ENABLED(SDSORT_CACHE_NAMES) + static uint16_t nrFiles; // Cache the total count #if ENABLED(SDSORT_DYNAMIC_RAM) static char **sortshort, **sortnames; #else @@ -215,25 +231,21 @@ private: static SdVolume volume; static SdFile file; + static uint32_t filesize, sdpos; + + // + // Procedure calls to other files + // #ifndef SD_PROCEDURE_DEPTH #define SD_PROCEDURE_DEPTH 1 #endif - static uint8_t file_subcall_ctr; static uint32_t filespos[SD_PROCEDURE_DEPTH]; static char proc_filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH]; - static uint32_t filesize, sdpos; - - static LsAction lsAction; //stored for recursion. - static uint16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory. - static char *diveDirName; - static void lsDive(const char *prepend, SdFile parent, const char * const match=nullptr); - - #if ENABLED(SDCARD_SORT_ALPHA) - static void flush_presort(); - #endif - + // + // SD Auto Reporting + // #if ENABLED(AUTO_REPORT_SD_STATUS) static uint8_t auto_report_sd_interval; static millis_t next_sd_report_ms; @@ -241,6 +253,19 @@ private: static int8_t auto_report_port; #endif #endif + + // + // Directory items + // + static bool is_dir_or_gcode(const dir_t &p); + static int countItems(SdFile dir); + static void selectByIndex(SdFile dir, const uint8_t index); + static void selectByName(SdFile dir, const char * const match); + static void printListing(SdFile parent, const char * const prepend=nullptr); + + #if ENABLED(SDCARD_SORT_ALPHA) + static void flush_presort(); + #endif }; #if ENABLED(USB_FLASH_DRIVE_SUPPORT) diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/Usb.cpp b/Marlin/src/sd/usb_flashdrive/lib-uhs2/Usb.cpp index 11d54b2844..9092633b84 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/Usb.cpp +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/Usb.cpp @@ -45,7 +45,7 @@ void USB::init() { bmHubPre = 0; } -uint8_t USB::getUsbTaskState(void) { +uint8_t USB::getUsbTaskState() { return usb_task_state; } @@ -424,7 +424,7 @@ uint8_t USB::dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit) { } /* USB main task. Performs enumeration/cleanup */ -void USB::Task(void) { //USB state machine +void USB::Task() { //USB state machine uint8_t rcode; uint8_t tmpdata; static uint32_t delay = 0; diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/UsbCore.h b/Marlin/src/sd/usb_flashdrive/lib-uhs2/UsbCore.h index 063de843f7..472fed59cf 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/UsbCore.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/UsbCore.h @@ -216,7 +216,7 @@ class USB : public MAX3421E { uint8_t bmHubPre; public: - USB(void); + USB(); void SetHubPreMask() { bmHubPre |= bmHUBPRE; @@ -243,7 +243,7 @@ public: void ForEachUsbDevice(UsbDeviceHandleFunc pfunc) { addrPool.ForEachUsbDevice(pfunc); }; - uint8_t getUsbTaskState(void); + uint8_t getUsbTaskState(); void setUsbTaskState(uint8_t state); EpInfo* getEpInfoEntry(uint8_t addr, uint8_t ep); @@ -265,7 +265,7 @@ public: uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* data); uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit); - void Task(void); + void Task(); uint8_t DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed); uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed); diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/confdescparser.h b/Marlin/src/sd/usb_flashdrive/lib-uhs2/confdescparser.h index 69f2a96457..5d4ddaf175 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/confdescparser.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/confdescparser.h @@ -69,7 +69,7 @@ class ConfigDescParser : public USBReadParser { public: - void SetOR(void) { UseOr = true; } + void SetOR() { UseOr = true; } ConfigDescParser(UsbConfigXtracter *xtractor); void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset); }; diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/message.cpp b/Marlin/src/sd/usb_flashdrive/lib-uhs2/message.cpp index 8e2d40d3d3..78a9ba1fd7 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/message.cpp +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/message.cpp @@ -74,19 +74,19 @@ void E_Notify(double d, int lvl) { #ifdef DEBUG_USB_HOST - void NotifyFailGetDevDescr(void) { + void NotifyFailGetDevDescr() { Notify(PSTR("\r\ngetDevDescr "), 0x80); } - void NotifyFailSetDevTblEntry(void) { + void NotifyFailSetDevTblEntry() { Notify(PSTR("\r\nsetDevTblEn "), 0x80); } - void NotifyFailGetConfDescr(void) { + void NotifyFailGetConfDescr() { Notify(PSTR("\r\ngetConf "), 0x80); } - void NotifyFailSetConfDescr(void) { + void NotifyFailSetConfDescr() { Notify(PSTR("\r\nsetConf "), 0x80); } diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/message.h b/Marlin/src/sd/usb_flashdrive/lib-uhs2/message.h index 087a4bf501..960120d18d 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/message.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/message.h @@ -43,10 +43,10 @@ void E_Notifyc(char c, int lvl); void NotifyFailSetDevTblEntry(uint8_t reason); void NotifyFailGetConfDescr(uint8_t reason); void NotifyFailSetConfDescr(uint8_t reason); - void NotifyFailGetDevDescr(void); - void NotifyFailSetDevTblEntry(void); - void NotifyFailGetConfDescr(void); - void NotifyFailSetConfDescr(void); + void NotifyFailGetDevDescr(); + void NotifyFailSetDevTblEntry(); + void NotifyFailGetConfDescr(); + void NotifyFailSetConfDescr(); void NotifyFailUnknownDevice(uint16_t VID, uint16_t PID); void NotifyFail(uint8_t rcode); #else diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.cpp b/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.cpp index e37da93ad2..16051b34c3 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.cpp +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.cpp @@ -194,7 +194,7 @@ void MAX3421e::busprobe() { } // MAX3421 state change task and interrupt handler -uint8_t MAX3421e::Task(void) { +uint8_t MAX3421e::Task() { return READ(USB_INTR_PIN) ? 0 : IntHandler(); } diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.h b/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.h index f5e8651556..8fdad47ac2 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.h @@ -44,7 +44,7 @@ class MAX3421e { uint8_t gpioRd(); bool reset(); - uint8_t getVbusState(void) {return vbusState;}; + uint8_t getVbusState() {return vbusState;}; void busprobe(); diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE.h index a1f84d48a2..6ad9cb5c8d 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE.h @@ -98,7 +98,7 @@ struct UHS_BULK_CommandBlockWrapperBase { volatile uint8_t bmCBWFlags; public: - UHS_BULK_CommandBlockWrapperBase(void) { + UHS_BULK_CommandBlockWrapperBase() { } UHS_BULK_CommandBlockWrapperBase(uint32_t tag, uint32_t xflen, uint8_t flgs) : @@ -181,11 +181,11 @@ public: volatile UHS_EpInfo epInfo[MASS_MAX_ENDPOINTS]; - uint8_t GetbMaxLUN(void) { + uint8_t GetbMaxLUN() { return bMaxLUN; // Max LUN } - uint8_t GetbTheLUN(void) { + uint8_t GetbTheLUN() { return bTheLUN; // Active LUN } @@ -203,23 +203,23 @@ public: // Configure and internal methods, these should never be called by a user's sketch. - uint8_t Start(void); + uint8_t Start(); bool OKtoEnumerate(ENUMERATION_INFO *ei); uint8_t SetInterface(ENUMERATION_INFO *ei); - uint8_t GetAddress(void) { + uint8_t GetAddress() { return bAddress; }; - void Poll(void); + void Poll(); - void DriverDefaults(void); + void DriverDefaults(); private: - void Reset(void); - void CheckMedia(void); + void Reset(); + void CheckMedia(); bool IsValidCBW(uint8_t size, uint8_t *pcbw); bool IsMeaningfulCBW(uint8_t size, uint8_t *pcbw); diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h index 5cf45ce53c..a171b13818 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h @@ -378,7 +378,7 @@ uint8_t UHS_NI UHS_Bulk_Storage::SetInterface(ENUMERATION_INFO *ei) { * * @return 0 for success */ -uint8_t UHS_NI UHS_Bulk_Storage::Start(void) { +uint8_t UHS_NI UHS_Bulk_Storage::Start() { uint8_t rcode; // Serial.print("Bulk Start from USB Host @ 0x"); // Serial.println((uint32_t)pUsb, HEX); @@ -541,7 +541,7 @@ Fail: * * @return */ -//void UHS_NI UHS_Bulk_Storage::Release(void) { +//void UHS_NI UHS_Bulk_Storage::Release() { // pUsb->DisablePoll(); // OnRelease(); // DriverDefaults(); @@ -602,7 +602,7 @@ bool UHS_NI UHS_Bulk_Storage::CheckLUN(uint8_t lun) { * * Scan for media change on all LUNs */ -void UHS_NI UHS_Bulk_Storage::CheckMedia(void) { +void UHS_NI UHS_Bulk_Storage::CheckMedia() { if(!bAddress) return; for(uint8_t lun = 0; lun <= bMaxLUN; lun++) { if(TestUnitReady(lun)) { @@ -630,7 +630,7 @@ void UHS_NI UHS_Bulk_Storage::CheckMedia(void) { * For driver use only. * */ -void UHS_NI UHS_Bulk_Storage::Poll(void) { +void UHS_NI UHS_Bulk_Storage::Poll() { if((long)(millis() - qNextPollTime) >= 0L) { CheckMedia(); @@ -841,7 +841,7 @@ uint8_t UHS_NI UHS_Bulk_Storage::ClearEpHalt(uint8_t index) { * For driver use only. * */ -void UHS_NI UHS_Bulk_Storage::Reset(void) { +void UHS_NI UHS_Bulk_Storage::Reset() { if(!bAddress) return; while(pUsb->ctrlReq(bAddress, mkSETUP_PKT16(UHS_BULK_bmREQ_OUT, UHS_BULK_REQ_BOMSR, 0x0000U, bIface, 0), 0, NULL) == 0x01) { @@ -858,7 +858,7 @@ void UHS_NI UHS_Bulk_Storage::Reset(void) { * * @return 0 if successful */ -uint8_t UHS_NI UHS_Bulk_Storage::ResetRecovery(void) { +uint8_t UHS_NI UHS_Bulk_Storage::ResetRecovery() { if(!bAddress) return UHS_BULK_ERR_DEVICE_DISCONNECTED; Notify(PSTR("\r\nResetRecovery\r\n"), 0x80); Notify(PSTR("-----------------\r\n"), 0x80); @@ -883,7 +883,7 @@ uint8_t UHS_NI UHS_Bulk_Storage::ResetRecovery(void) { * * Clear all EP data and clear all LUN status */ -void UHS_NI UHS_Bulk_Storage::DriverDefaults(void) { +void UHS_NI UHS_Bulk_Storage::DriverDefaults() { pUsb->DeviceDefaults(MASS_MAX_ENDPOINTS, this); diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_SCSI.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_SCSI.h index 3655d8183f..9ebefab5d1 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_SCSI.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_SCSI.h @@ -325,4 +325,3 @@ struct SCSI_Request_Sense_Response { } __attribute__((packed)); #endif /* UHS_SCSI_H */ - diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_USB_IDs.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_USB_IDs.h index 1a88d38e9b..417c9f6e69 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_USB_IDs.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_USB_IDs.h @@ -2991,5 +2991,3 @@ #define UHS_VID_FNK_TECH 0xffeeU // FNK Tech #endif - - diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_address.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_address.h index 62d55af6f7..1c8b791910 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_address.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_address.h @@ -158,7 +158,7 @@ class AddressPool { InitEntry(index); } - void InitAllAddresses(void) { + void InitAllAddresses() { for(uint8_t i = 1; i < UHS_HOST_MAX_INTERFACE_DRIVERS; i++) InitEntry(i); hubCounter = 0; }; diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_hexdump.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_hexdump.h index 1e12908a89..bc111f7b61 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_hexdump.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_hexdump.h @@ -40,7 +40,7 @@ public: HexDumper() : byteCount(0), byteTotal(0) { }; - void Initialize(void) { + void Initialize() { byteCount = 0; byteTotal = 0; }; diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_macros.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_macros.h index 34eaed646b..9c94e4d0ee 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_macros.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_macros.h @@ -390,4 +390,3 @@ e-mail : support@circuitsathome.com #define NOTUSED(...) __VA_ARGS__ __attribute__((unused)) #endif #endif /* MACROS_H */ - diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_message.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_message.h index 93a3de2e0f..f5ed3d8b40 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_message.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_message.h @@ -43,10 +43,10 @@ void NotifyFailGetDevDescr(uint8_t reason); void NotifyFailSetDevTblEntry(uint8_t reason); void NotifyFailGetConfDescr(uint8_t reason); void NotifyFailSetConfDescr(uint8_t reason); -void NotifyFailGetDevDescr(void); -void NotifyFailSetDevTblEntry(void); -void NotifyFailGetConfDescr(void); -void NotifyFailSetConfDescr(void); +void NotifyFailGetDevDescr(); +void NotifyFailSetDevTblEntry(); +void NotifyFailGetConfDescr(); +void NotifyFailSetConfDescr(); void NotifyFailUnknownDevice(uint16_t VID, uint16_t PID); void NotifyFail(uint8_t rcode); #else diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_printf_HELPER.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_printf_HELPER.h index f9ff21f259..87f156db5c 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_printf_HELPER.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_printf_HELPER.h @@ -171,7 +171,7 @@ extern "C" { #ifdef __AVR__ // The only wierdo in the bunch... -void UHS_AVR_printf_HELPER_init(void) { +void UHS_AVR_printf_HELPER_init() { // Set up stdio/stderr tty_stdio.put = tty_std_putc; tty_stdio.get = tty_std_getc; @@ -198,4 +198,3 @@ void UHS_AVR_printf_HELPER_init(void) { #define UHS_printf_HELPER_init() (void(0)) #endif #endif /* UHS_PRINTF_HELPER_H */ - diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usbhost.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usbhost.h index b4fd4e4dfc..9a6b110a15 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usbhost.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usbhost.h @@ -69,7 +69,7 @@ public: volatile uint8_t usb_host_speed; volatile uint8_t hub_present; - UHS_USB_HOST_BASE(void) { + UHS_USB_HOST_BASE() { for(uint16_t i = 0; i < UHS_HOST_MAX_INTERFACE_DRIVERS; i++) { devConfig[i] = NULL; } @@ -110,7 +110,7 @@ public: virtual void UHS_NI vbusPower(NOTUSED(VBUS_t state)) { }; - virtual void UHS_NI Task(void) { + virtual void UHS_NI Task() { }; virtual uint8_t UHS_NI SetAddress(NOTUSED(uint8_t addr), NOTUSED(uint8_t ep), NOTUSED(UHS_EpInfo **ppep), NOTUSED(uint16_t &nak_limit)) { @@ -137,27 +137,27 @@ public: return UHS_HOST_ERROR_NOT_IMPLEMENTED; }; - virtual uint8_t UHS_NI init(void) { + virtual uint8_t UHS_NI init() { return 0; }; - virtual void UHS_NI doHostReset(void) { + virtual void UHS_NI doHostReset() { }; virtual int16_t UHS_NI Init(NOTUSED(int16_t mseconds)) { return -1; }; - virtual int16_t UHS_NI Init(void) { + virtual int16_t UHS_NI Init() { return Init(INT16_MIN); }; - virtual uint8_t hwlPowerUp(void) { + virtual uint8_t hwlPowerUp() { /* This is for machine specific support to enable/power up the USB HW to operate*/ return UHS_HOST_ERROR_NOT_IMPLEMENTED; }; - virtual uint8_t hwPowerDown(void) { + virtual uint8_t hwPowerDown() { /* This is for machine specific support to disable/powerdown the USB Hw */ return UHS_HOST_ERROR_NOT_IMPLEMENTED; }; @@ -166,13 +166,13 @@ public: return (klass == UHS_USB_CLASS_HUB); }; - virtual void UHS_NI suspend_host(void) { + virtual void UHS_NI suspend_host() { // Used on MCU that lack control of IRQ priority (AVR). // Suspends ISRs, for critical code. IRQ will be serviced after it is resumed. // NOTE: you must track the state yourself! }; - virtual void UHS_NI resume_host(void) { + virtual void UHS_NI resume_host() { // Used on MCU that lack control of IRQ priority (AVR). // Resumes ISRs. // NOTE: you must track the state yourself! @@ -184,7 +184,7 @@ public: // ///////////////////////////////////////////// // these two probably will go away, and won't be used, TBD - inline void Poll_Others(void) { + inline void Poll_Others() { #ifdef UHS_LOAD_BT UHS_BT_Poll(this); #endif @@ -193,14 +193,14 @@ public: #endif } - inline void DisablePoll(void) { + inline void DisablePoll() { noInterrupts(); usb_task_polling_disabled++; DDSB(); interrupts(); } - inline void EnablePoll(void) { + inline void EnablePoll() { noInterrupts(); usb_task_polling_disabled--; DDSB(); @@ -233,11 +233,11 @@ public: UHS_EpInfo* UHS_NI getEpInfoEntry(uint8_t addr, uint8_t ep); - inline uint8_t getUsbTaskState(void) { + inline uint8_t getUsbTaskState() { return ( usb_task_state); }; - inline AddressPool* GetAddressPool(void) { + inline AddressPool* GetAddressPool() { return &addrPool; }; @@ -289,7 +289,7 @@ public: * Resets interface driver to unused state. You should override this in * your driver if it requires extra class variable cleanup. */ - virtual void DriverDefaults(void) { + virtual void DriverDefaults() { printf("Default driver defaults.\r\n"); pUsb->DeviceDefaults(bNumEP, this); }; @@ -325,7 +325,7 @@ public: * * @return zero on success */ - virtual uint8_t Finalize(void) { + virtual uint8_t Finalize() { return 0; }; @@ -334,7 +334,7 @@ public: * * @return 0 on success */ - virtual uint8_t OnStart(void) { + virtual uint8_t OnStart() { return 0; }; @@ -342,7 +342,7 @@ public: * Start interface polling * @return */ - virtual uint8_t Start(void) { + virtual uint8_t Start() { uint8_t rcode = OnStart(); if(!rcode) bPollEnable = true; return rcode; @@ -352,7 +352,7 @@ public: * Executed before anything else in Release(). * */ - virtual void OnRelease(void) { + virtual void OnRelease() { return; }; @@ -360,7 +360,7 @@ public: * Release resources when device is disconnected. * Normally this does not need to be overridden. */ - virtual void Release(void) { + virtual void Release() { OnRelease(); DriverDefaults(); return; @@ -375,7 +375,7 @@ public: * Button state/joystick position/etc changes on a HID device. * Flow control status change on a communication device, e.g. CTS on serial */ - virtual void OnPoll(void) { + virtual void OnPoll() { return; }; @@ -389,7 +389,7 @@ public: qNextPollTime = millis() + 100; }; - virtual bool UHS_NI Polling(void) { + virtual bool UHS_NI Polling() { return bPollEnable; } @@ -434,10 +434,10 @@ public: UHS_VSI(UHS_USB_HOST_BASE *p); bool OKtoEnumerate(ENUMERATION_INFO *ei); uint8_t SetInterface(ENUMERATION_INFO *ei); - virtual void DriverDefaults(void); - virtual void Release(void); + virtual void DriverDefaults(); + virtual void Release(); - uint8_t GetAddress(void) { + uint8_t GetAddress() { return bAddress; }; diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_util_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_util_INLINE.h index 04cfb61430..4f53443fb0 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_util_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_util_INLINE.h @@ -74,19 +74,19 @@ void E_Notify(double d, int lvl) { #ifdef DEBUG_USB_HOST -void NotifyFailGetDevDescr(void) { +void NotifyFailGetDevDescr() { Notify(PSTR("\r\ngetDevDescr "), 0x80); } -void NotifyFailSetDevTblEntry(void) { +void NotifyFailSetDevTblEntry() { Notify(PSTR("\r\nsetDevTblEn "), 0x80); } -void NotifyFailGetConfDescr(void) { +void NotifyFailGetConfDescr() { Notify(PSTR("\r\ngetConf "), 0x80); } -void NotifyFailSetConfDescr(void) { +void NotifyFailSetConfDescr() { Notify(PSTR("\r\nsetConf "), 0x80); } diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD.h index 40831bca64..f0cdae2b6b 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD.h @@ -330,7 +330,7 @@ public: uint8_t irq_pin; // Will use the defaults UHS_MAX3421E_SS, UHS_MAX3421E_INT and speed - UHS_NI MAX3421E_HOST(void) { + UHS_NI MAX3421E_HOST() { sof_countdown = 0; busevent = false; doingreset = false; @@ -394,7 +394,7 @@ public: regWr(rPINCTL, (bmFDUPSPI | bmIRQ_SENSE) | (uint8_t)(state)); }; - void UHS_NI Task(void); + void UHS_NI Task(); virtual uint8_t SetAddress(uint8_t addr, uint8_t ep, UHS_EpInfo **ppep, uint16_t &nak_limit); virtual uint8_t OutTransfer(UHS_EpInfo *pep, uint16_t nak_limit, uint16_t nbytes, uint8_t *data); @@ -403,7 +403,7 @@ public: virtual uint8_t ctrlReqRead(UHS_EpInfo *pep, uint16_t *left, uint16_t *read, uint16_t nbytes, uint8_t *dataptr); virtual uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit); - void UHS_NI ReleaseChildren(void) { + void UHS_NI ReleaseChildren() { for(uint8_t i = 0; i < UHS_HOST_MAX_INTERFACE_DRIVERS; i++) if(devConfig[i]) devConfig[i]->Release(); @@ -418,9 +418,9 @@ public: return false; }; - virtual void VBUS_changed(void); + virtual void VBUS_changed(); - virtual void UHS_NI doHostReset(void) { + virtual void UHS_NI doHostReset() { #if USB_HOST_SHIELD_USE_ISR // Enable interrupts noInterrupts(); @@ -469,32 +469,32 @@ public: int16_t UHS_NI Init(int16_t mseconds); - int16_t UHS_NI Init(void) { + int16_t UHS_NI Init() { return Init(INT16_MIN); }; - void ISRTask(void); - void ISRbottom(void); - void busprobe(void); - uint16_t reset(void); + void ISRTask(); + void ISRbottom(); + void busprobe(); + uint16_t reset(); // MAX3421e specific void regWr(uint8_t reg, uint8_t data); void gpioWr(uint8_t data); uint8_t regRd(uint8_t reg); - uint8_t gpioRd(void); + uint8_t gpioRd(); uint8_t* bytesWr(uint8_t reg, uint8_t nbytes, uint8_t* data_p); uint8_t* bytesRd(uint8_t reg, uint8_t nbytes, uint8_t* data_p); // ARM/NVIC specific, used to emulate reentrant ISR. #ifdef SWI_IRQ_NUM - void dyn_SWISR(void) { + void dyn_SWISR() { ISRbottom(); }; #endif - virtual void UHS_NI suspend_host(void) { + virtual void UHS_NI suspend_host() { // Used on MCU that lack control of IRQ priority (AVR). // Suspends ISRs, for critical code. IRQ will be serviced after it is resumed. // NOTE: you must track the state yourself! @@ -505,7 +505,7 @@ public: #endif }; - virtual void UHS_NI resume_host(void); + virtual void UHS_NI resume_host(); }; #ifndef SPIclass #define SPIclass SPI diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h index f32d60445d..ef2dfe0137 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h @@ -34,18 +34,18 @@ e-mail : support@circuitsathome.com static MAX3421E_HOST *ISReven; static MAX3421E_HOST *ISRodd; -static void UHS_NI call_ISReven(void) { +static void UHS_NI call_ISReven() { ISReven->ISRTask(); } -static void UHS_NI call_ISRodd(void) { +static void UHS_NI call_ISRodd() { UHS_PIN_WRITE(LED_BUILTIN, HIGH); ISRodd->ISRTask(); } #endif -void UHS_NI MAX3421E_HOST::resume_host(void) { +void UHS_NI MAX3421E_HOST::resume_host() { // Used on MCU that lack control of IRQ priority (AVR). // Resumes ISRs. // NOTE: you must track the state yourself! @@ -133,7 +133,7 @@ uint8_t* UHS_NI MAX3421E_HOST::bytesRd(uint8_t reg, uint8_t nbytes, uint8_t* dat /* GPIO read. See gpioWr for explanation */ /* GPIN pins are in high nibbles of IOPINS1, IOPINS2 */ -uint8_t UHS_NI MAX3421E_HOST::gpioRd(void) { +uint8_t UHS_NI MAX3421E_HOST::gpioRd() { uint8_t gpin = 0; gpin = regRd(rIOPINS2); //pins 4-7 gpin &= 0xf0; //clean lower nibble @@ -143,7 +143,7 @@ uint8_t UHS_NI MAX3421E_HOST::gpioRd(void) { /* reset MAX3421E. Returns number of microseconds it took for PLL to stabilize after reset or zero if PLL haven't stabilized in 65535 cycles */ -uint16_t UHS_NI MAX3421E_HOST::reset(void) { +uint16_t UHS_NI MAX3421E_HOST::reset() { uint16_t i = 0; // Initiate chip reset @@ -167,7 +167,7 @@ uint16_t UHS_NI MAX3421E_HOST::reset(void) { return (i); } -void UHS_NI MAX3421E_HOST::VBUS_changed(void) { +void UHS_NI MAX3421E_HOST::VBUS_changed() { /* modify USB task state because Vbus changed or unknown */ uint8_t speed = 1; //printf("\r\n\r\n\r\n\r\nSTATE %2.2x -> ", usb_task_state); @@ -214,7 +214,7 @@ void UHS_NI MAX3421E_HOST::VBUS_changed(void) { * Probe bus to determine device presence and speed, * then switch host to detected speed. */ -void UHS_NI MAX3421E_HOST::busprobe(void) { +void UHS_NI MAX3421E_HOST::busprobe() { uint8_t bus_sample; uint8_t tmpdata; bus_sample = regRd(rHRSL); //Get J,K status @@ -760,7 +760,7 @@ uint8_t UHS_NI MAX3421E_HOST::ctrlReqClose(UHS_EpInfo *pep, uint8_t bmReqType, u /** * Bottom half of the ISR task */ -void UHS_NI MAX3421E_HOST::ISRbottom(void) { +void UHS_NI MAX3421E_HOST::ISRbottom() { uint8_t x; // Serial.print("Enter "); // Serial.print((uint32_t)this,HEX); @@ -879,12 +879,12 @@ void UHS_NI MAX3421E_HOST::ISRbottom(void) { /* USB main task. Services the MAX3421e */ #if !USB_HOST_SHIELD_USE_ISR -void UHS_NI MAX3421E_HOST::ISRTask(void) { +void UHS_NI MAX3421E_HOST::ISRTask() { } -void UHS_NI MAX3421E_HOST::Task(void) +void UHS_NI MAX3421E_HOST::Task() #else -void UHS_NI MAX3421E_HOST::Task(void) { +void UHS_NI MAX3421E_HOST::Task() { #ifdef USB_HOST_MANUAL_POLL if(usb_task_state == UHS_USB_HOST_STATE_RUNNING) { noInterrupts(); @@ -896,7 +896,7 @@ void UHS_NI MAX3421E_HOST::Task(void) { #endif } -void UHS_NI MAX3421E_HOST::ISRTask(void) +void UHS_NI MAX3421E_HOST::ISRTask() #endif { DDSB(); diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/SWI_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/SWI_INLINE.h index 65f1e74fc8..f23d281e28 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/SWI_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/SWI_INLINE.h @@ -42,12 +42,12 @@ extern "C" { } #else -__attribute__((always_inline)) static inline void __DSB(void) { +__attribute__((always_inline)) static inline void __DSB() { __asm__ volatile ("dsb"); } #endif // defined(__USE_CMSIS_VECTORS__) #else // defined(__arm__) -__attribute__((always_inline)) static inline void __DSB(void) { +__attribute__((always_inline)) static inline void __DSB() { __asm__ volatile ("sync" : : : "memory"); } #endif // defined(__arm__) @@ -66,12 +66,12 @@ void #else __attribute__((interrupt(),nomips16)) #endif - softISR(void) { + softISR() { #else #ifdef ARDUINO_spresense_ast -unsigned int softISR(void) { +unsigned int softISR() { #else -void softISR(void) { +void softISR() { #endif #endif @@ -121,9 +121,9 @@ void softISR(void) { #ifdef __arm__ #ifndef interruptsStatus #define interruptsStatus() __interruptsStatus() -static inline unsigned char __interruptsStatus(void) __attribute__((always_inline, unused)); +static inline unsigned char __interruptsStatus() __attribute__((always_inline, unused)); -static inline unsigned char __interruptsStatus(void) { +static inline unsigned char __interruptsStatus() { unsigned int primask; asm volatile ("mrs %0, primask" : "=r" (primask)); if(primask) return 0; @@ -134,7 +134,7 @@ static inline unsigned char __interruptsStatus(void) { /** * Initialize the Dynamic (class) Software Interrupt */ -static void Init_dyn_SWI(void) { +static void Init_dyn_SWI() { if(!dyn_SWI_initied) { #ifdef __USE_CMSIS_VECTORS__ uint32_t *X_Vectors = (uint32_t*)SCB->VTOR; @@ -201,7 +201,7 @@ int exec_SWI(const dyn_SWI* klass) { /** * Initialize the Dynamic (class) Software Interrupt */ -static void Init_dyn_SWI(void) { +static void Init_dyn_SWI() { if(!dyn_SWI_initied) { uint32_t sreg = disableInterrupts(); diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/dyn_SWI.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/dyn_SWI.h index 3ff839c80e..2738c8c6ff 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/dyn_SWI.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/dyn_SWI.h @@ -62,7 +62,7 @@ extern "C" #else __attribute__((interrupt(),nomips16)) #endif - softISR(void); + softISR(); } #endif #endif @@ -149,7 +149,7 @@ public: /** * Override this method with your code. */ - virtual void dyn_SWISR(void) { + virtual void dyn_SWISR() { }; }; diff --git a/ProMaxEnd5_1.70_ScreenFiles.7z b/ProMaxEnd5_1.70_ScreenFiles.7z deleted file mode 100644 index 0d07e50dfd..0000000000 Binary files a/ProMaxEnd5_1.70_ScreenFiles.7z and /dev/null differ diff --git a/build_number b/build_number deleted file mode 100644 index 573541ac97..0000000000 --- a/build_number +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/buildroot/share/PlatformIO/boards/BigTree_Btt002.json b/buildroot/share/PlatformIO/boards/BigTree_Btt002.json index 95de3a6bcb..d325747ef7 100644 --- a/buildroot/share/PlatformIO/boards/BigTree_Btt002.json +++ b/buildroot/share/PlatformIO/boards/BigTree_Btt002.json @@ -2,7 +2,7 @@ "build": { "core": "stm32", "cpu": "cortex-m4", - "extra_flags": "-DSTM32F407xx", + "extra_flags": "-DSTM32F4 -DSTM32F407xx -DSTM32F40_41xxx", "f_cpu": "168000000L", "hwids": [ [ @@ -21,34 +21,17 @@ "debug": { "jlink_device": "STM32F407VE", "openocd_target": "stm32f4x", - "svd_path": "STM32F40x.svd", - "tools": { - "stlink": { - "server": { - "arguments": [ - "-f", - "scripts/interface/stlink.cfg", - "-c", - "transport select hla_swd", - "-f", - "scripts/target/stm32f4x.cfg", - "-c", - "reset_config none" - ], - "executable": "bin/openocd", - "package": "tool-openocd" - } - } - } + "svd_path": "STM32F40x.svd" }, "frameworks": [ "arduino", + "cmsis", "stm32cube" ], - "name": "STM32F407VE (64k RAM. 512k Flash)", + "name": "STM32F407VE (192k RAM. 512k Flash)", "upload": { "disable_flushing": false, - "maximum_ram_size": 65536, + "maximum_ram_size": 131072, "maximum_size": 524288, "protocol": "stlink", "protocols": [ @@ -60,6 +43,6 @@ "use_1200bps_touch": false, "wait_for_upload_port": false }, - "url": "http://www.st.com/en/microcontrollers/stm32f407zg.html", + "url": "http://www.st.com/en/microcontrollers/stm32f407ve.html", "vendor": "Generic" } diff --git a/buildroot/share/PlatformIO/boards/BigTree_SKR_Pro.json b/buildroot/share/PlatformIO/boards/BigTree_SKR_Pro.json index ac558fa44c..9a03f3b159 100644 --- a/buildroot/share/PlatformIO/boards/BigTree_SKR_Pro.json +++ b/buildroot/share/PlatformIO/boards/BigTree_SKR_Pro.json @@ -2,7 +2,7 @@ "build": { "core": "stm32", "cpu": "cortex-m4", - "extra_flags": "-DSTM32F407xx", + "extra_flags": "-DSTM32F4 -DSTM32F407xx -DSTM32F40_41xxx", "f_cpu": "168000000L", "hwids": [ [ @@ -21,28 +21,11 @@ "debug": { "jlink_device": "STM32F407ZG", "openocd_target": "stm32f4x", - "svd_path": "STM32F40x.svd", - "tools": { - "stlink": { - "server": { - "arguments": [ - "-f", - "scripts/interface/stlink.cfg", - "-c", - "transport select hla_swd", - "-f", - "scripts/target/stm32f4x.cfg", - "-c", - "reset_config none" - ], - "executable": "bin/openocd", - "package": "tool-openocd" - } - } - } + "svd_path": "STM32F40x.svd" }, "frameworks": [ "arduino", + "cmsis", "stm32cube" ], "name": "STM32F407ZG (192k RAM. 1024k Flash)", diff --git a/buildroot/share/PlatformIO/ldscripts/alfawise_Ux0.ld b/buildroot/share/PlatformIO/ldscripts/longer_STM32.ld similarity index 100% rename from buildroot/share/PlatformIO/ldscripts/alfawise_Ux0.ld rename to buildroot/share/PlatformIO/ldscripts/longer_STM32.ld diff --git a/buildroot/share/PlatformIO/scripts/fysetc_STM32F1.py b/buildroot/share/PlatformIO/scripts/STM32F103R_fysetc.py similarity index 100% rename from buildroot/share/PlatformIO/scripts/fysetc_STM32F1.py rename to buildroot/share/PlatformIO/scripts/STM32F103R_fysetc.py diff --git a/buildroot/share/PlatformIO/scripts/common-cxxflags.py b/buildroot/share/PlatformIO/scripts/common-cxxflags.py new file mode 100644 index 0000000000..3e75434ee7 --- /dev/null +++ b/buildroot/share/PlatformIO/scripts/common-cxxflags.py @@ -0,0 +1,12 @@ +# +# common-cxxflags.py +# Convenience script to apply customizations to CPP flags +# +Import("env") +env.Append(CXXFLAGS=[ + "-Wno-register" + #"-Wno-incompatible-pointer-types", + #"-Wno-unused-const-variable", + #"-Wno-maybe-uninitialized", + #"-Wno-sign-compare" +]) diff --git a/buildroot/share/PlatformIO/scripts/alfawise_Ux0.py b/buildroot/share/PlatformIO/scripts/longer_STM32.py similarity index 97% rename from buildroot/share/PlatformIO/scripts/alfawise_Ux0.py rename to buildroot/share/PlatformIO/scripts/longer_STM32.py index e2716a76be..77df4825c1 100644 --- a/buildroot/share/PlatformIO/scripts/alfawise_Ux0.py +++ b/buildroot/share/PlatformIO/scripts/longer_STM32.py @@ -5,7 +5,7 @@ for define in env['CPPDEFINES']: if define[0] == "VECT_TAB_ADDR": env['CPPDEFINES'].remove(define) env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08010000")) -env.Replace(LDSCRIPT_PATH="buildroot/share/PlatformIO/ldscripts/alfawise_Ux0.ld") +env.Replace(LDSCRIPT_PATH="buildroot/share/PlatformIO/ldscripts/longer_STM32.ld") # Rename ${PROGNAME}.bin and save it as 'project.bin' (No encryption on the Longer3D) def encrypt(source, target, env): diff --git a/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/stm32f4xx_hal_conf.h b/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/stm32f4xx_hal_conf.h deleted file mode 100644 index 36d69b64c9..0000000000 --- a/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/stm32f4xx_hal_conf.h +++ /dev/null @@ -1,481 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f4xx_hal_conf.h - * @brief HAL configuration file. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2017 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F4xx_HAL_CONF_H -#define __STM32F4xx_HAL_CONF_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* ########################## Module Selection ############################## */ - /** - * @brief This is the list of modules to be used in the HAL driver - */ -#define HAL_MODULE_ENABLED -#define HAL_ADC_MODULE_ENABLED -/* #define HAL_CAN_MODULE_ENABLED */ -/* #define HAL_CAN_LEGACY_MODULE_ENABLED */ -#define HAL_CRC_MODULE_ENABLED -/* #define HAL_CEC_MODULE_ENABLED */ -/* #define HAL_CRYP_MODULE_ENABLED */ -#define HAL_DAC_MODULE_ENABLED -/* #define HAL_DCMI_MODULE_ENABLED */ -#define HAL_DMA_MODULE_ENABLED -/* #define HAL_DMA2D_MODULE_ENABLED */ -/* #define HAL_ETH_MODULE_ENABLED */ -#define HAL_FLASH_MODULE_ENABLED -/* #define HAL_NAND_MODULE_ENABLED */ -/* #define HAL_NOR_MODULE_ENABLED */ -/* #define HAL_PCCARD_MODULE_ENABLED */ -/* #define HAL_SRAM_MODULE_ENABLED */ -/* #define HAL_SDRAM_MODULE_ENABLED */ -/* #define HAL_HASH_MODULE_ENABLED */ -#define HAL_GPIO_MODULE_ENABLED -/* #define HAL_EXTI_MODULE_ENABLED */ -#define HAL_I2C_MODULE_ENABLED -/* #define HAL_SMBUS_MODULE_ENABLED */ -/* #define HAL_I2S_MODULE_ENABLED */ -/* #define HAL_IWDG_MODULE_ENABLED */ -/* #define HAL_LTDC_MODULE_ENABLED */ -/* #define HAL_DSI_MODULE_ENABLED */ -#define HAL_PWR_MODULE_ENABLED -/* #define HAL_QSPI_MODULE_ENABLED */ -#define HAL_RCC_MODULE_ENABLED -/* #define HAL_RNG_MODULE_ENABLED */ -#define HAL_RTC_MODULE_ENABLED -/* #define HAL_SAI_MODULE_ENABLED */ -#define HAL_SD_MODULE_ENABLED -#define HAL_SPI_MODULE_ENABLED -#define HAL_TIM_MODULE_ENABLED -/* #define HAL_UART_MODULE_ENABLED */ -/* #define HAL_USART_MODULE_ENABLED */ -/* #define HAL_IRDA_MODULE_ENABLED */ -/* #define HAL_SMARTCARD_MODULE_ENABLED */ -/* #define HAL_WWDG_MODULE_ENABLED */ -#define HAL_CORTEX_MODULE_ENABLED -#define HAL_PCD_MODULE_ENABLED -/* #define HAL_HCD_MODULE_ENABLED */ -/* #define HAL_FMPI2C_MODULE_ENABLED */ -/* #define HAL_SPDIFRX_MODULE_ENABLED */ -/* #define HAL_DFSDM_MODULE_ENABLED */ -/* #define HAL_LPTIM_MODULE_ENABLED */ -/* #define HAL_MMC_MODULE_ENABLED */ - -/* ########################## HSE/HSI Values adaptation ##################### */ - /** - * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. - * This value is used by the RCC HAL module to compute the system frequency - * (when HSE is used as system clock source, directly or through the PLL). - */ -#if !defined (HSE_VALUE) -#define HSE_VALUE ((uint32_t)8000000U) /*!< Value of the External oscillator in Hz */ -#endif /* HSE_VALUE */ - -#if !defined (HSE_STARTUP_TIMEOUT) -#define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */ -#endif /* HSE_STARTUP_TIMEOUT */ - - /** - * @brief Internal High Speed oscillator (HSI) value. - * This value is used by the RCC HAL module to compute the system frequency - * (when HSI is used as system clock source, directly or through the PLL). - */ -#if !defined (HSI_VALUE) -#define HSI_VALUE ((uint32_t)16000000U) /*!< Value of the Internal oscillator in Hz*/ -#endif /* HSI_VALUE */ - - /** - * @brief Internal Low Speed oscillator (LSI) value. - */ -#if !defined (LSI_VALUE) -#define LSI_VALUE ((uint32_t)32000U) /*!< LSI Typical Value in Hz*/ -#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz -The real value may vary depending on the variations -in voltage and temperature.*/ - /** - * @brief External Low Speed oscillator (LSE) value. - */ -#if !defined (LSE_VALUE) -#define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External Low Speed oscillator in Hz */ -#endif /* LSE_VALUE */ - -#if !defined (LSE_STARTUP_TIMEOUT) -#define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */ -#endif /* LSE_STARTUP_TIMEOUT */ - - /** - * @brief External clock source for I2S peripheral - * This value is used by the I2S HAL module to compute the I2S clock source - * frequency, this source is inserted directly through I2S_CKIN pad. - */ -#if !defined (EXTERNAL_CLOCK_VALUE) -#define EXTERNAL_CLOCK_VALUE ((uint32_t)12288000U) /*!< Value of the External audio frequency in Hz*/ -#endif /* EXTERNAL_CLOCK_VALUE */ - -/* Tip: To avoid modifying this file each time you need to use different HSE, - === you can define the HSE value in your toolchain compiler preprocessor. */ - -/* ########################### System Configuration ######################### */ - /** - * @brief This is the HAL system configuration section - */ -#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */ -#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */ -#define USE_RTOS 0U -#define PREFETCH_ENABLE 1U -#define INSTRUCTION_CACHE_ENABLE 1U -#define DATA_CACHE_ENABLE 1U - -#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */ -#define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */ -#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */ -#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U /* CRYP register callback disabled */ -#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */ -#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U /* DCMI register callback disabled */ -#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U /* DFSDM register callback disabled */ -#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U /* DMA2D register callback disabled */ -#define USE_HAL_DSI_REGISTER_CALLBACKS 0U /* DSI register callback disabled */ -#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */ -#define USE_HAL_HASH_REGISTER_CALLBACKS 0U /* HASH register callback disabled */ -#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */ -#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */ -#define USE_HAL_FMPI2C_REGISTER_CALLBACKS 0U /* FMPI2C register callback disabled */ -#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */ -#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */ -#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U /* LPTIM register callback disabled */ -#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U /* LTDC register callback disabled */ -#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */ -#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */ -#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */ -#define USE_HAL_PCCARD_REGISTER_CALLBACKS 0U /* PCCARD register callback disabled */ -#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */ -#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U /* QSPI register callback disabled */ -#define USE_HAL_RNG_REGISTER_CALLBACKS 0U /* RNG register callback disabled */ -#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */ -#define USE_HAL_SAI_REGISTER_CALLBACKS 0U /* SAI register callback disabled */ -#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */ -#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */ -#define USE_HAL_SDRAM_REGISTER_CALLBACKS 0U /* SDRAM register callback disabled */ -#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */ -#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */ -#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */ -#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */ -#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */ -#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */ -#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */ -#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */ - -/* ########################## Assert Selection ############################## */ - /** - * @brief Uncomment the line below to expanse the "assert_param" macro in the - * HAL drivers code - */ -/* #define USE_FULL_ASSERT 1U */ - -/* ################## Ethernet peripheral configuration ##################### */ - -/* Section 1 : Ethernet peripheral configuration */ - -/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */ -#define MAC_ADDR0 2U -#define MAC_ADDR1 0U -#define MAC_ADDR2 0U -#define MAC_ADDR3 0U -#define MAC_ADDR4 0U -#define MAC_ADDR5 0U - -/* Definition of the Ethernet driver buffers size and count */ -#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ -#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ -#define ETH_RXBUFNB ((uint32_t)4U) /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ -#define ETH_TXBUFNB ((uint32_t)4U) /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ - -/* Section 2: PHY configuration section */ - -/* DP83848_PHY_ADDRESS Address*/ -#define DP83848_PHY_ADDRESS 0x01U -/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ -#define PHY_RESET_DELAY ((uint32_t)0x000000FFU) -/* PHY Configuration delay */ -#define PHY_CONFIG_DELAY ((uint32_t)0x00000FFFU) - -#define PHY_READ_TO ((uint32_t)0x0000FFFFU) -#define PHY_WRITE_TO ((uint32_t)0x0000FFFFU) - -/* Section 3: Common PHY Registers */ - -#define PHY_BCR ((uint16_t)0x0000U) /*!< Transceiver Basic Control Register */ -#define PHY_BSR ((uint16_t)0x0001U) /*!< Transceiver Basic Status Register */ - -#define PHY_RESET ((uint16_t)0x8000U) /*!< PHY Reset */ -#define PHY_LOOPBACK ((uint16_t)0x4000U) /*!< Select loop-back mode */ -#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100U) /*!< Set the full-duplex mode at 100 Mb/s */ -#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000U) /*!< Set the half-duplex mode at 100 Mb/s */ -#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100U) /*!< Set the full-duplex mode at 10 Mb/s */ -#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000U) /*!< Set the half-duplex mode at 10 Mb/s */ -#define PHY_AUTONEGOTIATION ((uint16_t)0x1000U) /*!< Enable auto-negotiation function */ -#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200U) /*!< Restart auto-negotiation function */ -#define PHY_POWERDOWN ((uint16_t)0x0800U) /*!< Select the power down mode */ -#define PHY_ISOLATE ((uint16_t)0x0400U) /*!< Isolate PHY from MII */ - -#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020U) /*!< Auto-Negotiation process completed */ -#define PHY_LINKED_STATUS ((uint16_t)0x0004U) /*!< Valid link established */ -#define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */ - -/* Section 4: Extended PHY Registers */ -#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */ - -#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */ -#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */ - -/* ################## SPI peripheral configuration ########################## */ - -/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver -* Activated: CRC code is present inside driver -* Deactivated: CRC code cleaned from driver -*/ - -#define USE_SPI_CRC 0U - -/* Includes ------------------------------------------------------------------*/ - /** - * @brief Include module's header file - */ - -#ifdef HAL_RCC_MODULE_ENABLED -#include "stm32f4xx_hal_rcc.h" -#endif /* HAL_RCC_MODULE_ENABLED */ - -#ifdef HAL_GPIO_MODULE_ENABLED -#include "stm32f4xx_hal_gpio.h" -#endif /* HAL_GPIO_MODULE_ENABLED */ - -#ifdef HAL_EXTI_MODULE_ENABLED -#include "stm32f4xx_hal_exti.h" -#endif /* HAL_EXTI_MODULE_ENABLED */ - -#ifdef HAL_DMA_MODULE_ENABLED -#include "stm32f4xx_hal_dma.h" -#endif /* HAL_DMA_MODULE_ENABLED */ - -#ifdef HAL_CORTEX_MODULE_ENABLED -#include "stm32f4xx_hal_cortex.h" -#endif /* HAL_CORTEX_MODULE_ENABLED */ - -#ifdef HAL_ADC_MODULE_ENABLED -#include "stm32f4xx_hal_adc.h" -#endif /* HAL_ADC_MODULE_ENABLED */ - -#ifdef HAL_CAN_MODULE_ENABLED -#include "stm32f4xx_hal_can.h" -#endif /* HAL_CAN_MODULE_ENABLED */ - -#ifdef HAL_CAN_LEGACY_MODULE_ENABLED -#include "stm32f4xx_hal_can_legacy.h" -#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */ - -#ifdef HAL_CRC_MODULE_ENABLED -#include "stm32f4xx_hal_crc.h" -#endif /* HAL_CRC_MODULE_ENABLED */ - -#ifdef HAL_CRYP_MODULE_ENABLED -#include "stm32f4xx_hal_cryp.h" -#endif /* HAL_CRYP_MODULE_ENABLED */ - -#ifdef HAL_DMA2D_MODULE_ENABLED -#include "stm32f4xx_hal_dma2d.h" -#endif /* HAL_DMA2D_MODULE_ENABLED */ - -#ifdef HAL_DAC_MODULE_ENABLED -#include "stm32f4xx_hal_dac.h" -#endif /* HAL_DAC_MODULE_ENABLED */ - -#ifdef HAL_DCMI_MODULE_ENABLED -#include "stm32f4xx_hal_dcmi.h" -#endif /* HAL_DCMI_MODULE_ENABLED */ - -#ifdef HAL_ETH_MODULE_ENABLED -#include "stm32f4xx_hal_eth.h" -#endif /* HAL_ETH_MODULE_ENABLED */ - -#ifdef HAL_FLASH_MODULE_ENABLED -#include "stm32f4xx_hal_flash.h" -#endif /* HAL_FLASH_MODULE_ENABLED */ - -#ifdef HAL_SRAM_MODULE_ENABLED -#include "stm32f4xx_hal_sram.h" -#endif /* HAL_SRAM_MODULE_ENABLED */ - -#ifdef HAL_NOR_MODULE_ENABLED -#include "stm32f4xx_hal_nor.h" -#endif /* HAL_NOR_MODULE_ENABLED */ - -#ifdef HAL_NAND_MODULE_ENABLED -#include "stm32f4xx_hal_nand.h" -#endif /* HAL_NAND_MODULE_ENABLED */ - -#ifdef HAL_PCCARD_MODULE_ENABLED -#include "stm32f4xx_hal_pccard.h" -#endif /* HAL_PCCARD_MODULE_ENABLED */ - -#ifdef HAL_SDRAM_MODULE_ENABLED -#include "stm32f4xx_hal_sdram.h" -#endif /* HAL_SDRAM_MODULE_ENABLED */ - -#ifdef HAL_HASH_MODULE_ENABLED -#include "stm32f4xx_hal_hash.h" -#endif /* HAL_HASH_MODULE_ENABLED */ - -#ifdef HAL_I2C_MODULE_ENABLED -#include "stm32f4xx_hal_i2c.h" -#endif /* HAL_I2C_MODULE_ENABLED */ - -#ifdef HAL_SMBUS_MODULE_ENABLED -#include "stm32f4xx_hal_smbus.h" -#endif /* HAL_SMBUS_MODULE_ENABLED */ - -#ifdef HAL_I2S_MODULE_ENABLED -#include "stm32f4xx_hal_i2s.h" -#endif /* HAL_I2S_MODULE_ENABLED */ - -#ifdef HAL_IWDG_MODULE_ENABLED -#include "stm32f4xx_hal_iwdg.h" -#endif /* HAL_IWDG_MODULE_ENABLED */ - -#ifdef HAL_LTDC_MODULE_ENABLED -#include "stm32f4xx_hal_ltdc.h" -#endif /* HAL_LTDC_MODULE_ENABLED */ - -#ifdef HAL_PWR_MODULE_ENABLED -#include "stm32f4xx_hal_pwr.h" -#endif /* HAL_PWR_MODULE_ENABLED */ - -#ifdef HAL_RNG_MODULE_ENABLED -#include "stm32f4xx_hal_rng.h" -#endif /* HAL_RNG_MODULE_ENABLED */ - -#ifdef HAL_RTC_MODULE_ENABLED -#include "stm32f4xx_hal_rtc.h" -#endif /* HAL_RTC_MODULE_ENABLED */ - -#ifdef HAL_SAI_MODULE_ENABLED -#include "stm32f4xx_hal_sai.h" -#endif /* HAL_SAI_MODULE_ENABLED */ - -#ifdef HAL_SD_MODULE_ENABLED -#include "stm32f4xx_hal_sd.h" -#endif /* HAL_SD_MODULE_ENABLED */ - -#ifdef HAL_SPI_MODULE_ENABLED -#include "stm32f4xx_hal_spi.h" -#endif /* HAL_SPI_MODULE_ENABLED */ - -#ifdef HAL_TIM_MODULE_ENABLED -#include "stm32f4xx_hal_tim.h" -#endif /* HAL_TIM_MODULE_ENABLED */ - -#ifdef HAL_UART_MODULE_ENABLED -#include "stm32f4xx_hal_uart.h" -#endif /* HAL_UART_MODULE_ENABLED */ - -#ifdef HAL_USART_MODULE_ENABLED -#include "stm32f4xx_hal_usart.h" -#endif /* HAL_USART_MODULE_ENABLED */ - -#ifdef HAL_IRDA_MODULE_ENABLED -#include "stm32f4xx_hal_irda.h" -#endif /* HAL_IRDA_MODULE_ENABLED */ - -#ifdef HAL_SMARTCARD_MODULE_ENABLED -#include "stm32f4xx_hal_smartcard.h" -#endif /* HAL_SMARTCARD_MODULE_ENABLED */ - -#ifdef HAL_WWDG_MODULE_ENABLED -#include "stm32f4xx_hal_wwdg.h" -#endif /* HAL_WWDG_MODULE_ENABLED */ - -#ifdef HAL_PCD_MODULE_ENABLED -#include "stm32f4xx_hal_pcd.h" -#endif /* HAL_PCD_MODULE_ENABLED */ - -#ifdef HAL_HCD_MODULE_ENABLED -#include "stm32f4xx_hal_hcd.h" -#endif /* HAL_HCD_MODULE_ENABLED */ - -#ifdef HAL_DSI_MODULE_ENABLED -#include "stm32f4xx_hal_dsi.h" -#endif /* HAL_DSI_MODULE_ENABLED */ - -#ifdef HAL_QSPI_MODULE_ENABLED -#include "stm32f4xx_hal_qspi.h" -#endif /* HAL_QSPI_MODULE_ENABLED */ - -#ifdef HAL_CEC_MODULE_ENABLED -#include "stm32f4xx_hal_cec.h" -#endif /* HAL_CEC_MODULE_ENABLED */ - -#ifdef HAL_FMPI2C_MODULE_ENABLED -#include "stm32f4xx_hal_fmpi2c.h" -#endif /* HAL_FMPI2C_MODULE_ENABLED */ - -#ifdef HAL_SPDIFRX_MODULE_ENABLED -#include "stm32f4xx_hal_spdifrx.h" -#endif /* HAL_SPDIFRX_MODULE_ENABLED */ - -#ifdef HAL_DFSDM_MODULE_ENABLED -#include "stm32f4xx_hal_dfsdm.h" -#endif /* HAL_DFSDM_MODULE_ENABLED */ - -#ifdef HAL_LPTIM_MODULE_ENABLED -#include "stm32f4xx_hal_lptim.h" -#endif /* HAL_LPTIM_MODULE_ENABLED */ - -#ifdef HAL_MMC_MODULE_ENABLED -#include "stm32f4xx_hal_mmc.h" -#endif /* HAL_MMC_MODULE_ENABLED */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - /** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ -#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ -void assert_failed(uint8_t *file, uint32_t line); -#else -#define assert_param(expr) ((void)0U) -#endif /* USE_FULL_ASSERT */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F4xx_HAL_CONF_H */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/variant.cpp b/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/variant.cpp index 167fea510f..1486b21830 100644 --- a/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/variant.cpp +++ b/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/variant.cpp @@ -28,7 +28,7 @@ ******************************************************************************* */ -#include "variant.h" +#include "pins_arduino.h" #ifdef __cplusplus extern "C" { @@ -205,8 +205,7 @@ extern "C" { * @param None * @retval None */ -WEAK void SystemClock_Config(void) -{ +WEAK void SystemClock_Config() { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; diff --git a/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/variant.h b/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/variant.h index 44155d9b02..9b62bb6775 100644 --- a/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/variant.h +++ b/buildroot/share/PlatformIO/variants/BIGTREE_GENERIC_STM32F407_5X/variant.h @@ -29,11 +29,6 @@ */ #pragma once -/*---------------------------------------------------------------------------- - * Headers - *----------------------------------------------------------------------------*/ -#include - #ifdef __cplusplus extern "C" { #endif // __cplusplus @@ -41,21 +36,20 @@ extern "C" { /*---------------------------------------------------------------------------- * Pins *----------------------------------------------------------------------------*/ -extern const PinName digitalPin[]; #ifdef STM32F405RX #define STM32F4X_PIN_NUM 64 //64 pins mcu, 51 gpio #define STM32F4X_GPIO_NUM 51 #define STM32F4X_ADC_NUM 16 -#elif defined STM32F407_5VX +#elif defined(STM32F407_5VX) #define STM32F4X_PIN_NUM 100 //100 pins mcu, 82 gpio #define STM32F4X_GPIO_NUM 82 #define STM32F4X_ADC_NUM 16 -#elif defined STM32F407_5ZX +#elif defined(STM32F407_5ZX) #define STM32F4X_PIN_NUM 144 //144 pins mcu, 114 gpio #define STM32F4X_GPIO_NUM 114 #define STM32F4X_ADC_NUM 24 -#elif defined STM32F407IX +#elif defined(STM32F407IX) #define STM32F4X_PIN_NUM 176 //176 pins mcu, 140 gpio #define STM32F4X_GPIO_NUM 140 #define STM32F4X_ADC_NUM 24 @@ -266,6 +260,9 @@ extern const PinName digitalPin[]; #define PIN_SERIAL_RX PA10 #define PIN_SERIAL_TX PA9 +/* Extra HAL modules */ +#define HAL_PCD_MODULE_ENABLED + #ifdef __cplusplus } // extern "C" #endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F407VE/stm32f4xx_hal_conf.h b/buildroot/share/PlatformIO/variants/MARLIN_F407VE/stm32f4xx_hal_conf.h index 36d69b64c9..50d59af3bf 100644 --- a/buildroot/share/PlatformIO/variants/MARLIN_F407VE/stm32f4xx_hal_conf.h +++ b/buildroot/share/PlatformIO/variants/MARLIN_F407VE/stm32f4xx_hal_conf.h @@ -87,11 +87,11 @@ extern "C" { * This value is used by the RCC HAL module to compute the system frequency * (when HSE is used as system clock source, directly or through the PLL). */ -#if !defined (HSE_VALUE) +#ifndef HSE_VALUE #define HSE_VALUE ((uint32_t)8000000U) /*!< Value of the External oscillator in Hz */ #endif /* HSE_VALUE */ -#if !defined (HSE_STARTUP_TIMEOUT) +#ifndef HSE_STARTUP_TIMEOUT #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */ #endif /* HSE_STARTUP_TIMEOUT */ @@ -100,14 +100,14 @@ extern "C" { * This value is used by the RCC HAL module to compute the system frequency * (when HSI is used as system clock source, directly or through the PLL). */ -#if !defined (HSI_VALUE) +#ifndef HSI_VALUE #define HSI_VALUE ((uint32_t)16000000U) /*!< Value of the Internal oscillator in Hz*/ #endif /* HSI_VALUE */ /** * @brief Internal Low Speed oscillator (LSI) value. */ -#if !defined (LSI_VALUE) +#ifndef LSI_VALUE #define LSI_VALUE ((uint32_t)32000U) /*!< LSI Typical Value in Hz*/ #endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz The real value may vary depending on the variations @@ -115,11 +115,11 @@ in voltage and temperature.*/ /** * @brief External Low Speed oscillator (LSE) value. */ -#if !defined (LSE_VALUE) +#ifndef LSE_VALUE #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External Low Speed oscillator in Hz */ #endif /* LSE_VALUE */ -#if !defined (LSE_STARTUP_TIMEOUT) +#ifndef LSE_STARTUP_TIMEOUT #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */ #endif /* LSE_STARTUP_TIMEOUT */ @@ -128,7 +128,7 @@ in voltage and temperature.*/ * This value is used by the I2S HAL module to compute the I2S clock source * frequency, this source is inserted directly through I2S_CKIN pad. */ -#if !defined (EXTERNAL_CLOCK_VALUE) +#ifndef EXTERNAL_CLOCK_VALUE #define EXTERNAL_CLOCK_VALUE ((uint32_t)12288000U) /*!< Value of the External audio frequency in Hz*/ #endif /* EXTERNAL_CLOCK_VALUE */ @@ -455,7 +455,7 @@ in voltage and temperature.*/ #endif /* HAL_MMC_MODULE_ENABLED */ /* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT +#ifdef USE_FULL_ASSERT /** * @brief The assert_param macro is used for function's parameters check. * @param expr: If expr is false, it calls assert_failed function diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F407VE/variant.cpp b/buildroot/share/PlatformIO/variants/MARLIN_F407VE/variant.cpp index 82a69bcc5a..66190c629d 100644 --- a/buildroot/share/PlatformIO/variants/MARLIN_F407VE/variant.cpp +++ b/buildroot/share/PlatformIO/variants/MARLIN_F407VE/variant.cpp @@ -109,8 +109,7 @@ extern "C" { * @param None * @retval None */ -WEAK void SystemClock_Config(void) -{ +WEAK void SystemClock_Config() { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; diff --git a/buildroot/share/atom/auto_build.py b/buildroot/share/atom/auto_build.py index 0faa8ca0c4..3586676619 100644 --- a/buildroot/share/atom/auto_build.py +++ b/buildroot/share/atom/auto_build.py @@ -95,12 +95,7 @@ print('\nWorking\n') python_ver = sys.version_info[0] # major version - 2 or 3 -if python_ver == 2: - print("python version " + str(sys.version_info[0]) + "." + str(sys.version_info[1]) + "." + str(sys.version_info[2])) -else: - print("python version " + str(sys.version_info[0])) - print("This script only runs under python 2") - exit() +print("python version " + str(sys.version_info[0]) + "." + str(sys.version_info[1]) + "." + str(sys.version_info[2])) import platform current_OS = platform.system() @@ -135,9 +130,9 @@ def get_answer(board_name, cpu_label_txt, cpu_a_txt, cpu_b_txt): if python_ver == 2: - import Tkinter as tk + import Tkinter as tk else: - import tkinter as tk + import tkinter as tk def CPU_exit_3(): # forward declare functions @@ -149,6 +144,7 @@ def get_answer(board_name, cpu_label_txt, cpu_a_txt, cpu_b_txt): kill_session_() root_get_answer = tk.Tk() + root_get_answer.attributes("-topmost", True) root_get_answer.chk_state_1 = 1 # declare variables used by TK and enable @@ -614,9 +610,12 @@ def get_env(board_name, ver_Marlin): # end - get_env # puts screen text into queue so that the parent thread can fetch the data from this thread -import Queue -IO_queue = Queue.Queue() -PIO_queue = Queue.Queue() +if python_ver == 2: + import Queue as queue +else: + import queue as queue +IO_queue = queue.Queue() +#PIO_queue = queue.Queue() not used! def write_to_screen_queue(text, format_tag = 'normal'): double_in = [text, format_tag] IO_queue.put(double_in, block = False) @@ -653,9 +652,6 @@ def line_print(line_input): global warning_continue global line_counter - - - # all '0' elements must precede all '1' elements or they'll be skipped platformio_highlights = [ ['Environment', 0, 'highlight_blue'], @@ -714,7 +710,6 @@ def line_print(line_input): # end - write_to_screen_with_replace - # scan the line line_counter = line_counter + 1 max_search = len(line_input) @@ -809,26 +804,77 @@ def line_print(line_input): # end - line_print +########################################################################## +# # +# run Platformio # +# # +########################################################################## + + +# build platformio run -e target_env +# clean platformio run --target clean -e target_env +# upload platformio run --target upload -e target_env +# traceback platformio run --target upload -e target_env +# program platformio run --target program -e target_env +# test platformio test upload -e target_env +# remote platformio remote run --target upload -e target_env +# debug platformio debug -e target_env + + +def sys_PIO(): + + ########################################################################## + # # + # run Platformio inside the same shell as this Python script # + # # + ########################################################################## + + global build_type + global target_env + + import os + + print('build_type: ', build_type) + print('starting platformio') + + if build_type == 'build': + # pio_result = os.system("echo -en '\033c'") + pio_result = os.system('platformio run -e ' + target_env) + elif build_type == 'clean': + pio_result = os.system('platformio run --target clean -e ' + target_env) + elif build_type == 'upload': + pio_result = os.system('platformio run --target upload -e ' + target_env) + elif build_type == 'traceback': + pio_result = os.system('platformio run --target upload -e ' + target_env) + elif build_type == 'program': + pio_result = os.system('platformio run --target program -e ' + target_env) + elif build_type == 'test': + pio_result = os.system('platformio test upload -e ' + target_env) + elif build_type == 'remote': + pio_result = os.system('platformio remote run --target program -e ' + target_env) + elif build_type == 'debug': + pio_result = os.system('platformio debug -e ' + target_env) + else: + print('ERROR - unknown build type: ', build_type) + raise SystemExit(0) # kill everything + + # stream output from subprocess and split it into lines + #for line in iter(pio_subprocess.stdout.readline, ''): + # line_print(line.replace('\n', '')) + + + # append info used to run PlatformIO + # write_to_screen_queue('\nBoard name: ' + board_name + '\n') # put build info at the bottom of the screen + # write_to_screen_queue('Build type: ' + build_type + '\n') + # write_to_screen_queue('Environment used: ' + target_env + '\n') + # write_to_screen_queue(str(datetime.now()) + '\n') + +# end - sys_PIO + + def run_PIO(dummy): - ########################################################################## - # # - # run Platformio # - # # - ########################################################################## - - - # build platformio run -e target_env - # clean platformio run --target clean -e target_env - # upload platformio run --target upload -e target_env - # traceback platformio run --target upload -e target_env - # program platformio run --target program -e target_env - # test platformio test upload -e target_env - # remote platformio remote run --target upload -e target_env - # debug platformio debug -e target_env - - global build_type global target_env global board_name @@ -892,9 +938,13 @@ def run_PIO(dummy): raise SystemExit(0) # kill everything # stream output from subprocess and split it into lines - for line in iter(pio_subprocess.stdout.readline, ''): - line_print(line.replace('\n', '')) - + if python_ver == 2: + for line in iter(pio_subprocess.stdout.readline, ''): + line_print(line.replace('\n', '')) + else: + for line in iter(pio_subprocess.stdout.readline, b''): + line = line.decode('utf-8') + line_print(line.replace('\n', '')) # append info used to run PlatformIO write_to_screen_queue('\nBoard name: ' + board_name + '\n') # put build info at the bottom of the screen @@ -905,26 +955,27 @@ def run_PIO(dummy): # end - run_PIO + ######################################################################## import time import threading -import Tkinter as tk -import ttk -import Queue +if python_ver == 2: + import Tkinter as tk + import Queue as queue + import ttk + from Tkinter import Tk, Frame, Text, Scrollbar, Menu + #from tkMessageBox import askokcancel this is not used: removed + import tkFileDialog as fileDialog +else: + import tkinter as tk + import queue as queue + from tkinter import ttk, Tk, Frame, Text, Scrollbar, Menu + from tkinter import filedialog import subprocess import sys -que = Queue.Queue() -#IO_queue = Queue.Queue() - -from Tkinter import Tk, Frame, Text, Scrollbar, Menu -from tkMessageBox import askokcancel - -import tkFileDialog -from tkMessageBox import askokcancel -import tkFileDialog - - +que = queue.Queue() +#IO_queue = queue.Queue() class output_window(Text): # based on Super Text @@ -942,6 +993,7 @@ class output_window(Text): self.root = tk.Tk() + self.root.attributes("-topmost", True) self.frame = tk.Frame(self.root) self.frame.pack(fill='both', expand=True) @@ -1128,7 +1180,7 @@ class output_window(Text): def _file_save_as(self): - self.filename = tkFileDialog.asksaveasfilename(defaultextension = '.txt') + self.filename = fileDialog.asksaveasfilename(defaultextension = '.txt') f = open(self.filename, 'w') f.write(self.get('1.0', 'end')) f.close() @@ -1218,24 +1270,24 @@ class output_window(Text): def main(): - ########################################################################## - # # - # main program # - # # - ########################################################################## + ########################################################################## + # # + # main program # + # # + ########################################################################## - global build_type - global target_env - global board_name + global build_type + global target_env + global board_name - board_name, Marlin_ver = get_board_name() + board_name, Marlin_ver = get_board_name() - target_env = get_env(board_name, Marlin_ver) - - os.environ["BUILD_TYPE"] = build_type # let sub processes know what is happening - os.environ["TARGET_ENV"] = target_env - os.environ["BOARD_NAME"] = board_name + target_env = get_env(board_name, Marlin_ver) + # Re-use the VSCode terminal, if possible + if os.environ.get('PLATFORMIO_CALLER', '') == 'vscode': + sys_PIO() + else: auto_build = output_window() auto_build.start_thread() # executes the "run_PIO" function @@ -1243,7 +1295,6 @@ def main(): - if __name__ == '__main__': main() diff --git a/buildroot/share/fonts/genallfont.sh b/buildroot/share/fonts/genallfont.sh index b88c9040dd..5c01303a38 100755 --- a/buildroot/share/fonts/genallfont.sh +++ b/buildroot/share/fonts/genallfont.sh @@ -62,7 +62,7 @@ OLDWD=`pwd` # # By default loop through all languages # -LANGS_DEFAULT="an bg ca cz da de el el-gr en es eu fi fr gl hr it jp-kana ko_KR nl pl pt pt-br ru sk tr uk zh_CN zh_TW test" +LANGS_DEFAULT="an bg ca cz da de el el-gr en es eu fi fr gl hr it jp-kana ko_KR nl pl pt pt-br ru sk tr uk vi zh_CN zh_TW test" # # Generate data for language list MARLIN_LANGS or all if not provided @@ -105,9 +105,6 @@ if [ 1 = 1 ]; then * Marlin 3D Printer Firmware * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] * - * Based on Sprinter and grbl. - * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm - * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or diff --git a/buildroot/share/fonts/get-bdf2u8g.sh b/buildroot/share/fonts/get-bdf2u8g.sh index e7dca2bef4..5851bf93e3 100755 --- a/buildroot/share/fonts/get-bdf2u8g.sh +++ b/buildroot/share/fonts/get-bdf2u8g.sh @@ -12,6 +12,10 @@ HERE=$(pwd) +for CMD in curl unzip patch make; do + which $CMD >/dev/null || { echo "'$CMD' is required for this script." ; exit 1 ; } +done + [[ $HERE =~ 'buildroot/share/fonts'$ ]] || { echo "Change to buildroot/share/fonts to run $(basename $0)" ; exit 1; } # Download u8glib diff --git a/buildroot/share/fonts/marlin-6x12-3.bdf b/buildroot/share/fonts/marlin-6x12-3.bdf index 30f2a4fcdf..b55e1a9a90 100644 --- a/buildroot/share/fonts/marlin-6x12-3.bdf +++ b/buildroot/share/fonts/marlin-6x12-3.bdf @@ -1,9 +1,10 @@ STARTFONT 2.1 -FONT -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 +FONT -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-90-100-100-C-111-ISO10646-1 SIZE 12 75 75 -FONTBOUNDINGBOX 6 12 0 -2 +FONTBOUNDINGBOX 12 13 0 -2 +COMMENT "Generated by fontforge, http://fontforge.sourceforge.net" COMMENT "Marlin 6x12 Fixed, for menu display" -COMMENT "This font is base on the X Windows' 6x12 '-Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1', added Marlin symbols at position 1-9, added jp-kana data, the other missing char data were from wqy-bitmapsong-bdf-1.0.0-RC1; some chars were tweak for display on LCD screen, such as ',;c69' etc." +COMMENT "This font is based on the X Windows' 6x12 '-Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1'. Marlin symbols added at position 1-9. Added jp-kana data. Other missing char data from wqy-bitmapsong-bdf-1.0.0-RC1. Some chars tweaked for LCD display, such as ',;c69' etc." STARTPROPERTIES 23 FONTNAME_REGISTRY "" FOUNDRY "Marlin" @@ -13,9 +14,9 @@ SLANT "R" SETWIDTH_NAME "SemiCondensed" ADD_STYLE_NAME "" PIXEL_SIZE 12 -POINT_SIZE 120 -RESOLUTION_X 75 -RESOLUTION_Y 75 +POINT_SIZE 90 +RESOLUTION_X 100 +RESOLUTION_Y 100 SPACING "C" AVERAGE_WIDTH 60 CHARSET_REGISTRY "ISO10646" @@ -29,8 +30,7 @@ DEFAULT_CHAR 0 FONT_DESCENT 2 FONT_ASCENT 10 ENDPROPERTIES -CHARS 33727 - +CHARS 33809 STARTCHAR uni0001 ENCODING 1 SWIDTH 545 0 @@ -19348,7 +19348,6 @@ BITMAP 48 90 ENDCHAR - STARTCHAR U_1100 ENCODING 4352 SWIDTH 1000 0 @@ -19681,7 +19680,6 @@ BITMAP 5220 89C0 ENDCHAR - STARTCHAR uni1680 ENCODING 5760 SWIDTH 480 0 @@ -22359,6 +22357,1402 @@ BITMAP 40 80 ENDCHAR +STARTCHAR uni1EA0 +ENCODING 7840 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 -2 +BITMAP +20 +50 +88 +88 +F8 +88 +88 +00 +20 +ENDCHAR +STARTCHAR uni1EA1 +ENCODING 7841 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 7 0 -2 +BITMAP +70 +08 +78 +88 +78 +00 +20 +ENDCHAR +STARTCHAR uni1EA2 +ENCODING 7842 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +18 +08 +10 +20 +50 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni1EA3 +ENCODING 7843 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 0 +BITMAP +30 +10 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni1EA4 +ENCODING 7844 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 10 0 0 +BITMAP +04 +28 +50 +20 +50 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni1EA5 +ENCODING 7845 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 10 0 0 +BITMAP +04 +08 +30 +48 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni1EA6 +ENCODING 7846 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 10 0 0 +BITMAP +08 +24 +50 +20 +50 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni1EA7 +ENCODING 7847 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +10 +08 +30 +48 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni1EA8 +ENCODING 7848 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 11 0 0 +BITMAP +0C +04 +28 +50 +20 +50 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni1EA9 +ENCODING 7849 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 11 0 0 +BITMAP +0C +04 +08 +30 +48 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni1EAA +ENCODING 7850 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +28 +50 +20 +50 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni1EAB +ENCODING 7851 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +28 +50 +00 +30 +48 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni1EAC +ENCODING 7852 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 -1 +BITMAP +20 +50 +00 +70 +88 +88 +F8 +88 +88 +20 +ENDCHAR +STARTCHAR uni1EAD +ENCODING 7853 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 -2 +BITMAP +30 +48 +00 +70 +08 +78 +88 +78 +00 +20 +ENDCHAR +STARTCHAR uni1EAE +ENCODING 7854 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +10 +20 +88 +70 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni1EAF +ENCODING 7855 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +08 +10 +48 +30 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni1EB0 +ENCODING 7856 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +40 +20 +88 +70 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni1EB1 +ENCODING 7857 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +40 +20 +48 +30 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni1EB2 +ENCODING 7858 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +30 +10 +A8 +70 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni1EB3 +ENCODING 7859 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +18 +08 +10 +48 +30 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni1EB4 +ENCODING 7860 +SWIDTH 500 0 +DWIDTH 6 0 +BBX 5 11 0 0 +BITMAP +28 +50 +88 +70 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni1EB5 +ENCODING 7861 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 11 0 0 +BITMAP +14 +28 +00 +48 +30 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni1EB6 +ENCODING 7862 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 -1 +BITMAP +88 +70 +00 +70 +88 +88 +F8 +88 +88 +20 +ENDCHAR +STARTCHAR uni1EB7 +ENCODING 7863 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 -2 +BITMAP +48 +30 +00 +70 +08 +78 +88 +78 +00 +20 +ENDCHAR +STARTCHAR uni1EB8 +ENCODING 7864 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 -2 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +00 +20 +ENDCHAR +STARTCHAR uni1EB9 +ENCODING 7865 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +F0 +80 +78 +00 +20 +ENDCHAR +STARTCHAR uni1EBA +ENCODING 7866 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +30 +10 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1EBB +ENCODING 7867 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 0 +BITMAP +30 +10 +20 +00 +70 +88 +F0 +80 +78 +ENDCHAR +STARTCHAR uni1EBC +ENCODING 7868 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +28 +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1EBD +ENCODING 7869 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 8 0 0 +BITMAP +28 +50 +00 +70 +88 +F0 +80 +78 +ENDCHAR +STARTCHAR uni1EBE +ENCODING 7870 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 7 11 0 0 +BITMAP +02 +24 +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1EBF +ENCODING 7871 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 10 0 0 +BITMAP +04 +08 +20 +50 +00 +70 +88 +F0 +80 +78 +ENDCHAR +STARTCHAR uni1EC0 +ENCODING 7872 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 11 0 0 +BITMAP +08 +24 +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1EC1 +ENCODING 7873 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +10 +08 +20 +50 +00 +70 +88 +F0 +80 +78 +ENDCHAR +STARTCHAR uni1EC2 +ENCODING 7874 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 11 0 0 +BITMAP +0C +24 +58 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1EC3 +ENCODING 7875 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +18 +08 +10 +60 +90 +00 +60 +90 +F0 +80 +70 +ENDCHAR +STARTCHAR uni1EC4 +ENCODING 7876 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 7 11 0 0 +BITMAP +0A +14 +20 +50 +00 +F8 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1EC5 +ENCODING 7877 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +28 +50 +00 +20 +50 +00 +70 +88 +F0 +80 +78 +ENDCHAR +STARTCHAR uni1EC6 +ENCODING 7878 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 12 0 -2 +BITMAP +20 +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +00 +20 +ENDCHAR +STARTCHAR uni1EC7 +ENCODING 7879 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 -2 +BITMAP +20 +50 +00 +70 +88 +F0 +80 +78 +00 +20 +ENDCHAR +STARTCHAR uni1EC8 +ENCODING 7880 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +30 +10 +20 +00 +F8 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni1EC9 +ENCODING 7881 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 3 9 2 0 +BITMAP +60 +20 +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni1ECA +ENCODING 7882 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +F8 +00 +20 +ENDCHAR +STARTCHAR uni1ECB +ENCODING 7883 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 3 9 2 -2 +BITMAP +40 +00 +C0 +40 +40 +40 +E0 +00 +40 +ENDCHAR +STARTCHAR uni1ECC +ENCODING 7884 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +88 +88 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1ECD +ENCODING 7885 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1ECE +ENCODING 7886 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +30 +10 +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1ECF +ENCODING 7887 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 0 +BITMAP +30 +10 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1ED0 +ENCODING 7888 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 7 10 0 0 +BITMAP +22 +54 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1ED1 +ENCODING 7889 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 10 0 0 +BITMAP +04 +08 +20 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1ED2 +ENCODING 7890 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 11 0 0 +BITMAP +08 +24 +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1ED3 +ENCODING 7891 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +10 +08 +20 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1ED4 +ENCODING 7892 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 11 0 0 +BITMAP +0C +24 +58 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1ED5 +ENCODING 7893 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +18 +08 +30 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1ED6 +ENCODING 7894 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +28 +50 +20 +50 +00 +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1ED7 +ENCODING 7895 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +28 +50 +00 +20 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1ED8 +ENCODING 7896 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 12 0 -2 +BITMAP +20 +50 +00 +70 +88 +88 +88 +88 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1ED9 +ENCODING 7897 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 -2 +BITMAP +20 +50 +00 +70 +88 +88 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1EDA +ENCODING 7898 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +20 +40 +10 +08 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EDB +ENCODING 7899 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 0 +BITMAP +20 +40 +10 +08 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EDC +ENCODING 7900 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +80 +50 +08 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EDD +ENCODING 7901 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 0 +BITMAP +80 +40 +10 +08 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EDE +ENCODING 7902 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +60 +20 +50 +08 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EDF +ENCODING 7903 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +60 +20 +40 +10 +08 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EE0 +ENCODING 7904 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 0 +BITMAP +50 +A0 +10 +08 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EE1 +ENCODING 7905 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 0 +BITMAP +50 +A0 +10 +08 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EE2 +ENCODING 7906 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 11 0 -2 +BITMAP +10 +08 +70 +88 +88 +88 +88 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1EE3 +ENCODING 7907 +SWIDTH 0 0 +DWIDTH 0 0 +BBX 5 9 0 -2 +BITMAP +10 +08 +70 +88 +88 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1EE4 +ENCODING 7908 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +88 +88 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1EE5 +ENCODING 7909 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1EE6 +ENCODING 7910 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +30 +10 +20 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EE7 +ENCODING 7911 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 5 10 0 0 +BITMAP +30 +10 +20 +00 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EE8 +ENCODING 7912 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 10 0 0 +BITMAP +10 +2C +04 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EE9 +ENCODING 7913 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 9 0 0 +BITMAP +10 +20 +0C +04 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EEA +ENCODING 7914 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 10 0 0 +BITMAP +40 +2C +04 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EEB +ENCODING 7915 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 9 0 0 +BITMAP +40 +20 +0C +04 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EEC +ENCODING 7916 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 11 0 0 +BITMAP +30 +10 +2C +04 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EED +ENCODING 7917 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 10 0 0 +BITMAP +30 +10 +20 +0C +04 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EEE +ENCODING 7918 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 11 0 0 +BITMAP +28 +50 +0C +04 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EEF +ENCODING 7919 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 9 0 0 +BITMAP +28 +50 +0C +04 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1EF0 +ENCODING 7920 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 11 0 -2 +BITMAP +0C +04 +88 +88 +88 +88 +88 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1EF1 +ENCODING 7921 +SWIDTH 583 0 +DWIDTH 7 0 +BBX 6 9 0 -2 +BITMAP +0C +04 +88 +88 +88 +88 +70 +00 +20 +ENDCHAR STARTCHAR Ygrave ENCODING 7922 SWIDTH 480 0 @@ -64462,8 +65856,6 @@ B8 D4 D4 ENDCHAR - - STARTCHAR U_2E80 ENCODING 11904 SWIDTH 1000 0 @@ -71710,8 +73102,6 @@ BITMAP A0 40 ENDCHAR - - STARTCHAR u30A0 ENCODING 12448 SWIDTH 545 0 @@ -72936,8 +74326,6 @@ F8 08 08 ENDCHAR - - STARTCHAR U_3105 ENCODING 12549 SWIDTH 1000 0 @@ -584361,8 +585749,6 @@ FFE0 2140 C620 ENDCHAR - - STARTCHAR ff ENCODING 64256 SWIDTH 480 0 @@ -584497,8 +585883,6 @@ BITMAP 08 F0 ENDCHAR - - STARTCHAR U_FE30 ENCODING 65072 SWIDTH 0 0 @@ -586727,7 +588111,6 @@ E380 0800 1C00 ENDCHAR - STARTCHAR uniFFFD ENCODING 65533 SWIDTH 480 0 diff --git a/buildroot/share/git/mfinfo b/buildroot/share/git/mfinfo index 3249473b89..aa4e96b803 100755 --- a/buildroot/share/git/mfinfo +++ b/buildroot/share/git/mfinfo @@ -32,7 +32,7 @@ while [[ $# -gt 0 ]]; do opt="$1" ; shift ; val="$1" IFS='=' read -a PARTS <<<"$opt" - [[ "${PARTS[1]}" != "" ]] && { HAS_EQUALS=1 ; opt="${PARTS[0]}" ; val="${PARTS[1]}" ; } + [[ "${PARTS[1]}" != "" ]] && { EQUALS=1 ; opt="${PARTS[0]}" ; val="${PARTS[1]}" ; } GOODVAL=1 if [[ "$val" =~ ^-{1,2}.* || ! "$opt" =~ ^-{1,2}.* ]]; then @@ -41,7 +41,7 @@ while [[ $# -gt 0 ]]; do fi case "$opt" in - -*|--*) MORE="$MORE$opt " ; [[ $HAS_EQUALS ]] && MORE="$MORE=$val" ;; + -*|--*) MORE="$MORE$opt " ; [[ $EQUALS == 1 ]] && MORE="$MORE=$val" ;; 1|2) INDEX=$opt ;; *) BRANCH="$opt" ;; esac @@ -55,6 +55,6 @@ esac [[ $BRANCH =~ ^[0-9]$ ]] && USAGE=1 -[[ $USAGE ]] && { echo "usage: `basename $0` [1|2] [branch]" 1>&2 ; exit 1 ; } +[[ $USAGE == 1 ]] && { echo "usage: `basename $0` [1|2] [branch]" 1>&2 ; exit 1 ; } echo "$ORG $FORK $REPO $TARG $BRANCH $CURR $MORE" diff --git a/buildroot/share/git/mfqp b/buildroot/share/git/mfqp index efc76fb3e9..7f950da59d 100755 --- a/buildroot/share/git/mfqp +++ b/buildroot/share/git/mfqp @@ -24,7 +24,7 @@ done [[ ${INFO[4]} =~ [0-9] ]] && USAGE=1 -[[ $USAGE ]] && { echo "usage: `basename $0` [-hq] [1|2]" 1>&2 ; exit 1 ; } +[[ $USAGE == 1 ]] && { echo "usage: `basename $0` [-hq] [1|2]" 1>&2 ; exit 1 ; } git add . git commit -m "patch" diff --git a/buildroot/share/git/mfrb b/buildroot/share/git/mfrb index a3b4ce267c..e09dd87cda 100755 --- a/buildroot/share/git/mfrb +++ b/buildroot/share/git/mfrb @@ -21,7 +21,7 @@ while [ $IND -lt ${#INFO[@]} ]; do let IND+=1 done -[[ $USAGE ]] && { echo "usage: `basename $0` [1|2]" 1>&2 ; exit 1 ; } +[[ $USAGE == 1 ]] && { echo "usage: `basename $0` [1|2]" 1>&2 ; exit 1 ; } # If the branch isn't currently the PR target if [[ $TARG != $CURR ]]; then diff --git a/buildroot/share/git/mftest b/buildroot/share/git/mftest index bb08c1976e..a585ae3266 100644 --- a/buildroot/share/git/mftest +++ b/buildroot/share/git/mftest @@ -19,13 +19,19 @@ TESTENV=${1:-'-'} # Allow shorthand for test name case $TESTENV in + tree) platformio run --project-dir . -e include_tree ; exit 1 ;; due) TESTENV='DUE' ;; esp) TESTENV='esp32' ;; lin*) TESTENV='linux_native' ;; lpc?(8)) TESTENV='LPC1768' ;; lpc9) TESTENV='LPC1769' ;; + m128) TESTENV='megaatmega1280' ;; + m256) TESTENV='megaatmega2560' ;; mega) TESTENV='megaatmega2560' ;; - stm) TESTENV='STM32F1' ;; + stm) TESTENV='STM32F103R' ;; + f1) TESTENV='STM32F103R' ;; + f4) TESTENV='STM32F4' ;; + f7) TESTENV='STM32F7' ;; teensy) TESTENV='teensy31' ;; t31) TESTENV='teensy31' ;; t32) TESTENV='teensy31' ;; diff --git a/buildroot/share/sublime/auto_build_sublime_menu/Main.sublime-menu b/buildroot/share/sublime/auto_build_sublime_menu/Main.sublime-menu index b1c34930b4..cd9718bfb7 100644 --- a/buildroot/share/sublime/auto_build_sublime_menu/Main.sublime-menu +++ b/buildroot/share/sublime/auto_build_sublime_menu/Main.sublime-menu @@ -63,4 +63,4 @@ "id": "AutoBuild", "mnemonic": "A" } -] \ No newline at end of file +] diff --git a/buildroot/share/tests/ARMED-tests b/buildroot/share/tests/ARMED-tests new file mode 100644 index 0000000000..44af749a48 --- /dev/null +++ b/buildroot/share/tests/ARMED-tests @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F1 ARMED +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +use_example_configs ArmEd +exec_test $1 $2 "ArmEd Example Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/BIGTREE_BTT002-tests b/buildroot/share/tests/BIGTREE_BTT002-tests new file mode 100644 index 0000000000..45366e3f5a --- /dev/null +++ b/buildroot/share/tests/BIGTREE_BTT002-tests @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F407VET6 BigTreeTech BTT002 +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_BIGTREE_BTT002_V1_0 +opt_set SERIAL_PORT 1 +exec_test $1 $2 "BigTreeTech BTT002 Default Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/BIGTREE_SKR_PRO-tests b/buildroot/share/tests/BIGTREE_SKR_PRO-tests new file mode 100644 index 0000000000..ef4dc60610 --- /dev/null +++ b/buildroot/share/tests/BIGTREE_SKR_PRO-tests @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F407ZG BigTreeTech SKR Pro +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_BIGTREE_SKR_PRO_V1_1 +opt_set SERIAL_PORT 1 +exec_test $1 $2 "BigTreeTech SKR Pro Default Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/DUE-tests b/buildroot/share/tests/DUE-tests index bd4263f262..609790b5b8 100755 --- a/buildroot/share/tests/DUE-tests +++ b/buildroot/share/tests/DUE-tests @@ -6,14 +6,34 @@ # exit on first failure set -e -backup_ramps +backup_ramps # pins_set is used below... restore_configs -opt_set MOTHERBOARD BOARD_RAMPS4DUE_EFB EXTENSIBLE_UI EXTUI_EXAMPLE -opt_enable S_CURVE_ACCELERATION EEPROM_SETTINGS GCODE_MACROS +opt_set MOTHERBOARD BOARD_RAMPS4DUE_EFB +opt_set TEMP_SENSOR_0 -2 +opt_set TEMP_SENSOR_BED 2 +opt_set GRID_MAX_POINTS_X 16 +opt_set FANMUX0_PIN 53 +opt_enable S_CURVE_ACCELERATION EEPROM_SETTINGS GCODE_MACROS \ + PIDTEMPBED FIX_MOUNTED_PROBE Z_SAFE_HOMING CODEPENDENT_XY_HOMING \ + EEPROM_SETTINGS SDSUPPORT BINARY_FILE_TRANSFER \ + BLINKM PCA9632 RGB_LED RGB_LED_R_PIN RGB_LED_G_PIN RGB_LED_B_PIN LED_CONTROL_MENU \ + NEOPIXEL_LED CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CASE_LIGHT_MENU \ + NOZZLE_PARK_FEATURE ADVANCED_PAUSE_FEATURE FILAMENT_RUNOUT_DISTANCE_MM FILAMENT_RUNOUT_SENSOR \ + AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \ + SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE CALIBRATION_GCODE \ + BACKLASH_COMPENSATION BACKLASH_GCODE BAUD_RATE_GCODE BEZIER_CURVE_SUPPORT \ + FWRETRACT ARC_P_CIRCLES CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS \ + PSU_CONTROL AUTO_POWER_CONTROL \ + SLOW_PWM_HEATERS THERMAL_PROTECTION_CHAMBER \ + PINS_DEBUGGING MAX7219_DEBUG M114_DETAIL \ + EXTENSIBLE_UI +opt_add EXTUI_EXAMPLE opt_set E0_AUTO_FAN_PIN 8 opt_set EXTRUDER_AUTO_FAN_SPEED 100 -exec_test $1 $2 "RAMPS4DUE_EFB with S_CURVE_ACCELERATION, EEPROM_SETTINGS, GCODE_MACROS" +opt_set TEMP_SENSOR_CHAMBER 3 +opt_set HEATER_CHAMBER_PIN 45 +exec_test $1 $2 "RAMPS4DUE_EFB with ABL (Bilinear), EXTENSIBLE_UI, S-Curve, many options." restore_configs opt_set MOTHERBOARD BOARD_RADDS @@ -25,7 +45,7 @@ pins_set ramps/RAMPS X_MAX_PIN -1 pins_set ramps/RAMPS Y_MAX_PIN -1 opt_add Z2_MAX_PIN 2 opt_add Z3_MAX_PIN 3 -exec_test $1 $2 "RADDS with Z_TRIPLE_STEPPER_DRIVERS and Z_STEPPER_AUTO_ALIGN" +exec_test $1 $2 "RADDS with ABL (Bilinear), Z_TRIPLE_STEPPER_DRIVERS and Z_STEPPER_AUTO_ALIGN" # # Test SWITCHING_EXTRUDER diff --git a/buildroot/share/tests/LPC1768-tests b/buildroot/share/tests/LPC1768-tests index 26dcf8f70e..e66087a00c 100755 --- a/buildroot/share/tests/LPC1768-tests +++ b/buildroot/share/tests/LPC1768-tests @@ -6,9 +6,12 @@ # exit on first failure set -e -restore_configs -opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB -exec_test $1 $2 "Build Re-ARM Default Configuration" +# +# Build with the default configurations +# +#restore_configs +#opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB +#exec_test $1 $2 "Default Configuration" restore_configs opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB @@ -16,9 +19,9 @@ opt_enable VIKI2 SDSUPPORT SERIAL_PORT2 NEOPIXEL_LED BAUD_RATE_GCODE opt_set NEOPIXEL_PIN P1_16 exec_test $1 $2 "ReARM EFB VIKI2, SDSUPPORT, 2 Serial ports (USB CDC + UART0), NeoPixel" -restore_configs -use_example_configs Mks/Sbase -exec_test $1 $2 "MKS SBASE Example Config" +#restore_configs +#use_example_configs Mks/Sbase +#exec_test $1 $2 "MKS SBASE Example Config" restore_configs opt_set MOTHERBOARD BOARD_MKS_SBASE @@ -44,21 +47,5 @@ opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT ADAPTIVE_FAN_ opt_set GRID_MAX_POINTS_X 16 exec_test $1 $2 "Re-ARM with Many Features" -restore_configs -opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB -opt_enable COREYX USE_XMAX_PLUG DAC_MOTOR_CURRENT_DEFAULT \ - REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT BABYSTEPPING \ - AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 EEPROM_SETTINGS \ - FILAMENT_LCD_DISPLAY FILAMENT_WIDTH_SENSOR FAN_SOFT_PWM \ - SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER FAN_KICKSTART_TIME \ - SD_ABORT_ON_ENDSTOP_HIT ADVANCED_OK GCODE_MACROS \ - VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS ACTION_ON_KILL \ - EXTRA_FAN_SPEED FWRETRACT Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS \ - MENU_ADDAUTOSTART SDCARD_SORT_ALPHA -opt_set FAN_MIN_PWM 50 -opt_set FAN_KICKSTART_TIME 100 -opt_set XY_FREQUENCY_LIMIT 15 -exec_test $1 $2 "Re-ARM with Many less common options" - # clean up restore_configs diff --git a/buildroot/share/tests/LPC1769-tests b/buildroot/share/tests/LPC1769-tests index 831df54f40..8e23551dd4 100755 --- a/buildroot/share/tests/LPC1769-tests +++ b/buildroot/share/tests/LPC1769-tests @@ -6,9 +6,11 @@ # exit on first failure set -e -restore_configs +# +# Build with the default configurations +# use_example_configs Azteeg/X5GT -exec_test $1 $2 "Azteeg X5GT Example Config" +exec_test $1 $2 "Azteeg X5GT Example Configuration" restore_configs opt_set MOTHERBOARD BOARD_SMOOTHIEBOARD @@ -22,34 +24,34 @@ opt_enable VIKI2 SDSUPPORT ADAPTIVE_FAN_SLOWING NO_FAN_SLOWING_IN_PID_TUNING \ Z_SAFE_HOMING ADVANCED_PAUSE_FEATURE PARK_HEAD_ON_PAUSE BAUD_RATE_GCODE \ LCD_INFO_MENU ARC_SUPPORT BEZIER_CURVE_SUPPORT EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES SDCARD_SORT_ALPHA opt_set GRID_MAX_POINTS_X 16 -exec_test $1 $2 "Smoothieboard Many Features" +exec_test $1 $2 "Smoothieboard with many features" -restore_configs -opt_set MOTHERBOARD BOARD_AZTEEG_X5_MINI_WIFI -opt_enable COREYX USE_XMAX_PLUG DAC_MOTOR_CURRENT_DEFAULT \ - REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT BABYSTEPPING \ - AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 EEPROM_SETTINGS \ - FILAMENT_LCD_DISPLAY FILAMENT_WIDTH_SENSOR FAN_SOFT_PWM \ - SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER FAN_KICKSTART_TIME \ - SD_ABORT_ON_ENDSTOP_HIT ADVANCED_OK GCODE_MACROS BAUD_RATE_GCODE \ - VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS ACTION_ON_KILL \ - EXTRA_FAN_SPEED FWRETRACT MENU_ADDAUTOSTART SDCARD_SORT_ALPHA -opt_set FAN_MIN_PWM 50 -opt_set FAN_KICKSTART_TIME 100 -opt_set XY_FREQUENCY_LIMIT 15 -exec_test $1 $2 "Azteeg X5 MINI WIFI Many less common options" +#restore_configs +#opt_set MOTHERBOARD BOARD_AZTEEG_X5_MINI_WIFI +#opt_enable COREYX USE_XMAX_PLUG DAC_MOTOR_CURRENT_DEFAULT \ +# REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT BABYSTEPPING \ +# AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 EEPROM_SETTINGS \ +# FILAMENT_LCD_DISPLAY FILAMENT_WIDTH_SENSOR FAN_SOFT_PWM \ +# SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER FAN_KICKSTART_TIME \ +# SD_ABORT_ON_ENDSTOP_HIT ADVANCED_OK GCODE_MACROS BAUD_RATE_GCODE \ +# VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS ACTION_ON_KILL \ +# EXTRA_FAN_SPEED FWRETRACT MENU_ADDAUTOSTART SDCARD_SORT_ALPHA +#opt_set FAN_MIN_PWM 50 +#opt_set FAN_KICKSTART_TIME 100 +#opt_set XY_FREQUENCY_LIMIT 15 +#exec_test $1 $2 "Azteeg X5 MINI WIFI Many less common options" restore_configs use_example_configs delta/generic opt_set MOTHERBOARD BOARD_COHESION3D_REMIX -opt_enable AUTO_BED_LEVELING_BILINEAR EEPROM_SETTINGS EEPROM_CHITCHAT BAUD_RATE_GCODE -opt_disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN opt_set X_DRIVER_TYPE TMC2130 opt_set Y_DRIVER_TYPE TMC2130 opt_set Z_DRIVER_TYPE TMC2130 -opt_enable TMC_USE_SW_SPI MONITOR_DRIVER_STATUS STEALTHCHOP_XY STEALTHCHOP_Z HYBRID_THRESHOLD TMC_DEBUG \ - SENSORLESS_PROBING X_STALL_SENSITIVITY Y_STALL_SENSITIVITY Z_STALL_SENSITIVITY -exec_test $1 $2 "Delta Config (generic) + BOARD_COHESION3D_REMIX + UBL + EEPROM_SETTINGS + SENSORLESS_PROBING" +opt_enable AUTO_BED_LEVELING_BILINEAR EEPROM_SETTINGS EEPROM_CHITCHAT BAUD_RATE_GCODE \ + TMC_USE_SW_SPI MONITOR_DRIVER_STATUS STEALTHCHOP_XY STEALTHCHOP_Z HYBRID_THRESHOLD \ + SENSORLESS_PROBING X_STALL_SENSITIVITY Y_STALL_SENSITIVITY Z_STALL_SENSITIVITY TMC_DEBUG +opt_disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN +exec_test $1 $2 "Cohesion3D Remix DELTA + ABL Bilinear + EEPROM + SENSORLESS_PROBING" # clean up restore_configs diff --git a/buildroot/share/tests/adafruit_grandcentral_m4-tests b/buildroot/share/tests/SAMD51_grandcentral_m4-tests similarity index 54% rename from buildroot/share/tests/adafruit_grandcentral_m4-tests rename to buildroot/share/tests/SAMD51_grandcentral_m4-tests index 453cefc6ce..898a585604 100644 --- a/buildroot/share/tests/adafruit_grandcentral_m4-tests +++ b/buildroot/share/tests/SAMD51_grandcentral_m4-tests @@ -6,9 +6,5 @@ # exit on first failure set -e -restore_configs -opt_set MOTHERBOARD BOARD_AGCM4_RURAMPS4D_13 -exec_test $1 $2 "Build Grand Central M4 Default Configuration" - # clean up restore_configs diff --git a/buildroot/share/tests/STM32F1-tests b/buildroot/share/tests/STM32F103R-tests old mode 100755 new mode 100644 similarity index 87% rename from buildroot/share/tests/STM32F1-tests rename to buildroot/share/tests/STM32F103R-tests index 30cb4e4fce..519957c470 --- a/buildroot/share/tests/STM32F1-tests +++ b/buildroot/share/tests/STM32F103R-tests @@ -6,8 +6,11 @@ # exit on first failure set -e +# +# Build with the default configurations +# restore_configs -opt_set MOTHERBOARD BOARD_STM32F1R +opt_set MOTHERBOARD BOARD_STM32F103R opt_set EXTRUDERS 2 opt_set SERIAL_PORT -1 opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT \ diff --git a/buildroot/share/tests/STM32F103R_bigtree-tests b/buildroot/share/tests/STM32F103R_bigtree-tests new file mode 100644 index 0000000000..11479feb0d --- /dev/null +++ b/buildroot/share/tests/STM32F103R_bigtree-tests @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F1 Bigtreetech (SKR Mini v1.1) +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_BIGTREE_SKR_MINI_V1_1 +opt_set SERIAL_PORT 1 +opt_set SERIAL_PORT_2 -1 +exec_test $1 $2 "Bigtreetech SKR Mini v1.1 - Basic Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/STM32F103R_fysetc-tests b/buildroot/share/tests/STM32F103R_fysetc-tests new file mode 100644 index 0000000000..ad0f5ea81b --- /dev/null +++ b/buildroot/share/tests/STM32F103R_fysetc-tests @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F1 FYSETC +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +use_example_configs "FYSETC/Cheetah 1.2/base" +exec_test $1 $2 "Cheetah 1.2 Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/alfawise_U20-tests b/buildroot/share/tests/STM32F103V_longer-tests similarity index 100% rename from buildroot/share/tests/alfawise_U20-tests rename to buildroot/share/tests/STM32F103V_longer-tests diff --git a/buildroot/share/tests/STM32F4-tests b/buildroot/share/tests/STM32F4-tests new file mode 100644 index 0000000000..b5beb73663 --- /dev/null +++ b/buildroot/share/tests/STM32F4-tests @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F4 disco_f407vg +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +use_example_configs STM32/STM32F4 +exec_test $1 $2 "STM32F4 Default Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/black_stm32f407ve-tests b/buildroot/share/tests/STM32F407VE_black-tests similarity index 100% rename from buildroot/share/tests/black_stm32f407ve-tests rename to buildroot/share/tests/STM32F407VE_black-tests diff --git a/buildroot/share/tests/STM32F7-tests b/buildroot/share/tests/STM32F7-tests new file mode 100644 index 0000000000..281222f156 --- /dev/null +++ b/buildroot/share/tests/STM32F7-tests @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F7 +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_REMRAM_V1 +opt_set SERIAL_PORT 1 +exec_test $1 $2 "Default Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/at90usb1286_cdc-tests b/buildroot/share/tests/at90usb1286_cdc-tests new file mode 100644 index 0000000000..812e2ebcae --- /dev/null +++ b/buildroot/share/tests/at90usb1286_cdc-tests @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# +# Build tests for AT90USB1286 ARMED +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_BRAINWAVE_PRO +exec_test $1 $2 "Default Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/at90usb1286_dfu-tests b/buildroot/share/tests/at90usb1286_dfu-tests new file mode 100644 index 0000000000..7571994ec4 --- /dev/null +++ b/buildroot/share/tests/at90usb1286_dfu-tests @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# +# Build tests for AT90USB1286 ARMED +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_PRINTRBOARD +exec_test $1 $2 "Default Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/esp32-tests b/buildroot/share/tests/esp32-tests index 42466fddf6..361750141b 100755 --- a/buildroot/share/tests/esp32-tests +++ b/buildroot/share/tests/esp32-tests @@ -6,6 +6,9 @@ # exit on first failure set -e +# +# Build with the default configurations +# restore_configs opt_set MOTHERBOARD BOARD_ESP32 opt_enable WIFISUPPORT GCODE_MACROS BAUD_RATE_GCODE diff --git a/buildroot/share/tests/fysetc_f6_13-tests b/buildroot/share/tests/fysetc_f6_13-tests new file mode 100644 index 0000000000..5ddbac554e --- /dev/null +++ b/buildroot/share/tests/fysetc_f6_13-tests @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# +# Build tests for AVR ATmega FYSETC F6 1.3 +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_FYSETC_F6_13 +exec_test $1 $2 "Default Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/jgaurora_a5s_a1-tests b/buildroot/share/tests/jgaurora_a5s_a1-tests new file mode 100644 index 0000000000..c6cc9e3f9c --- /dev/null +++ b/buildroot/share/tests/jgaurora_a5s_a1-tests @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F103ZE JGAurora A5S A1 +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +use_example_configs JGAurora/A5S +exec_test $1 $2 "JGAurora/A5S Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/linux_native-tests b/buildroot/share/tests/linux_native-tests index 1ea3fd5bb6..38f531dadc 100755 --- a/buildroot/share/tests/linux_native-tests +++ b/buildroot/share/tests/linux_native-tests @@ -6,6 +6,9 @@ # exit on first failure set -e +# +# Build with the default configurations +# restore_configs opt_set MOTHERBOARD BOARD_LINUX_RAMPS opt_set TEMP_SENSOR_BED 1 diff --git a/buildroot/share/tests/malyanm200-tests b/buildroot/share/tests/malyanm200-tests new file mode 100644 index 0000000000..3856d05866 --- /dev/null +++ b/buildroot/share/tests/malyanm200-tests @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F1 malyanM200 +# + +# exit on first failure +set -e + +use_example_configs Malyan/M200 +exec_test $1 $2 "Default Configuration" + +# cleanup +restore_configs diff --git a/buildroot/share/tests/megaatmega1280-tests b/buildroot/share/tests/megaatmega1280-tests new file mode 100644 index 0000000000..c4ab0f4a71 --- /dev/null +++ b/buildroot/share/tests/megaatmega1280-tests @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# +# Build tests for AVR ATmega1280 +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +#restore_configs +#exec_test $1 $2 "Default Configuration" + +# +# Test MESH_BED_LEVELING feature, with LCD +# +restore_configs +opt_enable SPINDLE_FEATURE ULTIMAKERCONTROLLER LCD_BED_LEVELING \ + MESH_BED_LEVELING ENABLE_LEVELING_FADE_HEIGHT MESH_G28_REST_ORIGIN \ + G26_MESH_VALIDATION MESH_EDIT_MENU +exec_test $1 $2 "Spindle, MESH_BED_LEVELING, and LCD" + + +# clean up +restore_configs diff --git a/buildroot/share/tests/megaatmega2560-tests b/buildroot/share/tests/megaatmega2560-tests index 3aaa0ba4ec..fcab51b349 100755 --- a/buildroot/share/tests/megaatmega2560-tests +++ b/buildroot/share/tests/megaatmega2560-tests @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Build tests for AVR +# Build tests for AVR ATmega2560 # # exit on first failure @@ -9,14 +9,15 @@ set -e # # Build with the default configurations # -restore_configs -exec_test $1 $2 "Default Configuration" +#restore_configs +#exec_test $1 $2 "Default Configuration" # # Test 2 extruders (one MAX6675) and heated bed on basic RAMPS 1.4 # Test a "Fix Mounted" Probe with Safe Homing, some arc options, # linear bed leveling, M48, leveling debug, and firmware retraction. # +restore_configs opt_set MOTHERBOARD BOARD_RAMPS_14_EEB opt_set EXTRUDERS 2 opt_set TEMP_SENSOR_0 -2 @@ -30,13 +31,13 @@ opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER LCD_PROGRESS_BAR LCD_PROGRESS_BAR_TE BLINKM PCA9632 RGB_LED RGB_LED_R_PIN RGB_LED_G_PIN RGB_LED_B_PIN LED_CONTROL_MENU \ NEOPIXEL_LED CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CASE_LIGHT_MENU \ NOZZLE_PARK_FEATURE ADVANCED_PAUSE_FEATURE FILAMENT_RUNOUT_DISTANCE_MM FILAMENT_RUNOUT_SENSOR \ - AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \ + AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \ SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE \ - BACKLASH_COMPENSATION BACKLASH_GCODE BAUD_RATE_GCODE \ + BACKLASH_COMPENSATION BACKLASH_GCODE BAUD_RATE_GCODE BEZIER_CURVE_SUPPORT \ FWRETRACT ARC_P_CIRCLES CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS \ PSU_CONTROL AUTO_POWER_CONTROL POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE \ SLOW_PWM_HEATERS THERMAL_PROTECTION_CHAMBER \ - PINS_DEBUGGING MAX7219_DEBUG + PINS_DEBUGGING MAX7219_DEBUG M114_DETAIL opt_set TEMP_SENSOR_CHAMBER 3 opt_set HEATER_CHAMBER_PIN 45 exec_test $1 $2 "RAMPS with 2 extruders, RepRap LCD, Linear ABL, LEDs, and many options" @@ -53,12 +54,12 @@ opt_set TEMP_SENSOR_2 5 opt_set TEMP_SENSOR_3 20 opt_set TEMP_SENSOR_4 1000 opt_set TEMP_SENSOR_BED 1 -opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT SKEW_CORRECTION \ - REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER LIGHTWEIGHT_UI STATUS_MESSAGE_SCROLLING BOOT_MARLIN_LOGO_SMALL BOOT_MARLIN_LOGO_ANIMATED \ +opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 DEBUG_LEVELING_FEATURE G26_MESH_VALIDATION ENABLE_LEVELING_FADE_HEIGHT SKEW_CORRECTION \ + REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER LIGHTWEIGHT_UI STATUS_MESSAGE_SCROLLING BOOT_MARLIN_LOGO_SMALL \ SDSUPPORT SDCARD_SORT_ALPHA USB_FLASH_DRIVE_SUPPORT SCROLL_LONG_FILENAMES \ EEPROM_SETTINGS EEPROM_CHITCHAT GCODE_MACROS CUSTOM_USER_MENUS \ MULTI_NOZZLE_DUPLICATION JUNCTION_DEVIATION LIN_ADVANCE QUICK_HOME \ - BABYSTEPPING BABYSTEP_XY NANODLP_Z_SYNC I2C_POSITION_ENCODERS + BABYSTEPPING BABYSTEP_XY NANODLP_Z_SYNC I2C_POSITION_ENCODERS M114_DETAIL exec_test $1 $2 "Azteeg X3 Pro with 5 extruders, RRDFGSC, probeless UBL, Linear Advance, and more" # @@ -67,7 +68,7 @@ exec_test $1 $2 "Azteeg X3 Pro with 5 extruders, RRDFGSC, probeless UBL, Linear opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE opt_set LCD_LANGUAGE jp-kana opt_disable SEGMENT_LEVELED_MOVES -opt_enable BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING BABYSTEP_HOTEND_Z_OFFSET BABYSTEP_DISPLAY_TOTAL +opt_enable BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING BABYSTEP_HOTEND_Z_OFFSET BABYSTEP_DISPLAY_TOTAL M114_DETAIL exec_test $1 $2 "... Sled Z Probe, Skew, UBL Cartesian moves, Japanese, and Z probe BABYSTEPPING" # @@ -75,19 +76,12 @@ exec_test $1 $2 "... Sled Z Probe, Skew, UBL Cartesian moves, Japanese, and Z pr # ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES # restore_configs -opt_enable ZONESTAR_LCD Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE \ - AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS EEPROM_CHITCHAT +opt_enable ZONESTAR_LCD Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE BOOT_MARLIN_LOGO_ANIMATED \ + AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS EEPROM_CHITCHAT M114_DETAIL opt_set NUM_SERVOS 1 -opt_enable NO_VOLUMETRICS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP G38_PROBE_TARGET +opt_enable NO_VOLUMETRICS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP G38_PROBE_TARGET JOYSTICK exec_test $1 $2 "RAMPS with ZONESTAR_LCD, Servo Probe, 3-Point ABL, DEBUG_LEVELING_FEATURE, EEPROM, G38, and more" -# -# Test MESH_BED_LEVELING feature, with LCD -# -restore_configs -opt_enable SPINDLE_FEATURE MESH_BED_LEVELING G26_MESH_EDITING MESH_G28_REST_ORIGIN LCD_BED_LEVELING MESH_EDIT_MENU ULTIMAKERCONTROLLER -exec_test $1 $2 "Spindle, MESH_BED_LEVELING, and LCD" - # # Test MINIRAMBO with PWM_MOTOR_CURRENT and many features # @@ -95,9 +89,9 @@ restore_configs opt_set MOTHERBOARD BOARD_MINIRAMBO opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT \ ULTIMAKERCONTROLLER SDSUPPORT PCA9632 LCD_INFO_MENU \ - AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY LCD_BED_LEVELING G26_MESH_EDITING MESH_EDIT_MENU \ + AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY LCD_BED_LEVELING G26_MESH_VALIDATION MESH_EDIT_MENU \ M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR \ - INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS \ + INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT EXPERIMENTAL_I2CBUS \ NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE \ ADVANCED_PAUSE_FEATURE PARK_HEAD_ON_PAUSE ADVANCED_PAUSE_CONTINUOUS_PURGE FILAMENT_LOAD_UNLOAD_GCODES \ PRINTCOUNTER SERVICE_NAME_1 SERVICE_INTERVAL_1 M114_DETAIL @@ -155,7 +149,7 @@ opt_enable COREYX USE_XMAX_PLUG \ ENDSTOP_INTERRUPTS_FEATURE ENDSTOP_NOISE_THRESHOLD FAN_SOFT_PWM SDSUPPORT \ SWITCHING_TOOLHEAD NUM_SERVOS DEBUG_LEVELING_FEATURE \ SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER \ - SD_ABORT_ON_ENDSTOP_HIT ADVANCED_OK \ + SD_ABORT_ON_ENDSTOP_HIT ADVANCED_OK M114_DETAIL \ VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS ACTION_ON_KILL \ EXTRA_FAN_SPEED FWRETRACT MENU_ADDAUTOSTART SDCARD_SORT_ALPHA opt_set FAN_MIN_PWM 50 @@ -249,11 +243,11 @@ exec_test $1 $2 "Many less common options" # #restore_configs #opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT -#for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; exec_test $1 $2 "Stuff"; done +#for lang in an bg ca cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk vi zh_CN zh_TW test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; exec_test $1 $2 "Stuff"; done # #restore_configs #opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT -#for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; exec_test $1 $2 "Stuff"; done +#for lang in an bg ca cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk vi zh_CN zh_TW test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; exec_test $1 $2 "Stuff"; done ######## Example Configurations ############## # @@ -299,7 +293,7 @@ exec_test $1 $2 "Delta Config (FLSUN AC because it's complex)" # use_example_configs SCARA opt_enable USE_ZMIN_PLUG FIX_MOUNTED_PROBE AUTO_BED_LEVELING_BILINEAR PAUSE_BEFORE_DEPLOY_STOW \ - EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER \ + EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER M114_DETAIL \ MONITOR_DRIVER_STATUS STEALTHCHOP_XY STEALTHCHOP_Z STEALTHCHOP_E HYBRID_THRESHOLD SENSORLESS_HOMING SQUARE_WAVE_STEPPING opt_set X_MAX_ENDSTOP_INVERTING false opt_set X_DRIVER_TYPE TMC2209 @@ -321,7 +315,7 @@ opt_set Y_MIN_ENDSTOP_INVERTING true opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER \ MARLIN_BRICKOUT MARLIN_INVADERS MARLIN_SNAKE \ MONITOR_DRIVER_STATUS STEALTHCHOP_XY STEALTHCHOP_Z STEALTHCHOP_E HYBRID_THRESHOLD \ - USE_ZMIN_PLUG SENSORLESS_HOMING TMC_DEBUG + USE_ZMIN_PLUG SENSORLESS_HOMING TMC_DEBUG M114_DETAIL exec_test $1 $2 "Mixed TMC configuration, with games!" # diff --git a/buildroot/share/tests/mks_robin-tests b/buildroot/share/tests/mks_robin-tests new file mode 100644 index 0000000000..99d41ef4ad --- /dev/null +++ b/buildroot/share/tests/mks_robin-tests @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F1 genericSTM32F103ZE +# + +# exit on first failure +set -e + +use_example_configs Mks/Robin +exec_test $1 $2 "Default Configuration" + +# cleanup +restore_configs diff --git a/buildroot/share/tests/mks_robin_lite-tests b/buildroot/share/tests/mks_robin_lite-tests new file mode 100644 index 0000000000..a50d7347f5 --- /dev/null +++ b/buildroot/share/tests/mks_robin_lite-tests @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F1 genericSTM32F103RC +# + +# exit on first failure +set -e + +use_example_configs Mks/Robin +opt_set MOTHERBOARD BOARD_MKS_ROBIN_LITE +opt_set EXTRUDERS 1 +opt_set TEMP_SENSOR_1 0 +opt_disable FSMC_GRAPHICAL_TFT +exec_test $1 $2 "Default Configuration" + +# cleanup +restore_configs diff --git a/buildroot/share/tests/mks_robin_mini-tests b/buildroot/share/tests/mks_robin_mini-tests new file mode 100644 index 0000000000..c8ba5a5a48 --- /dev/null +++ b/buildroot/share/tests/mks_robin_mini-tests @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F1 genericSTM32F103VE +# + +# exit on first failure +set -e + +use_example_configs Mks/Robin +opt_set MOTHERBOARD BOARD_MKS_ROBIN_MINI +opt_set EXTRUDERS 1 +opt_set TEMP_SENSOR_1 0 +exec_test $1 $2 "Default Configuration" + +# cleanup +restore_configs diff --git a/buildroot/share/tests/mks_robin_nano-tests b/buildroot/share/tests/mks_robin_nano-tests new file mode 100644 index 0000000000..809fd6e6f5 --- /dev/null +++ b/buildroot/share/tests/mks_robin_nano-tests @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# +# Build tests for STM32F1 genericSTM32F103VE +# + +# exit on first failure +set -e + +use_example_configs Mks/Robin +opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO +exec_test $1 $2 "Default Configuration" + +# cleanup +restore_configs diff --git a/buildroot/share/tests/rambo-tests b/buildroot/share/tests/rambo-tests new file mode 100644 index 0000000000..649a0801dc --- /dev/null +++ b/buildroot/share/tests/rambo-tests @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +# +# Build tests for AVR ATmega2560 RAMBo +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_EINSY_RAMBO +opt_set X_DRIVER_TYPE TMC2130 +opt_set Y_DRIVER_TYPE TMC2130 +opt_set Z_DRIVER_TYPE TMC2130 +opt_set E0_DRIVER_TYPE TMC2130 +exec_test $1 $2 "Default Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/sanguino_atmega1284p-tests b/buildroot/share/tests/sanguino_atmega1284p-tests new file mode 100644 index 0000000000..7181f961c4 --- /dev/null +++ b/buildroot/share/tests/sanguino_atmega1284p-tests @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# +# Build tests for AVR ATmega 1284p +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_SANGUINOLOLU_12 +exec_test $1 $2 "Default Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/tests/sanguino_atmega644p-tests b/buildroot/share/tests/sanguino_atmega644p-tests new file mode 100644 index 0000000000..41626b23f7 --- /dev/null +++ b/buildroot/share/tests/sanguino_atmega644p-tests @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# +# Build tests for AVR ATmega 644p +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_SANGUINOLOLU_12 +exec_test $1 $2 "Default Configuration" + +# clean up +restore_configs diff --git a/buildroot/share/vscode/AutoBuildMarlin/README.md b/buildroot/share/vscode/AutoBuildMarlin/README.md index e3e9323f52..24123db9db 100644 --- a/buildroot/share/vscode/AutoBuildMarlin/README.md +++ b/buildroot/share/vscode/AutoBuildMarlin/README.md @@ -1,52 +1,40 @@ -# Auto Build support for Visual Studio Code -This `Visual Studio Code` extension provides access to the `Auto Build` script. +# Auto Build Marlin -## Installation +"AutoBuildMarlin" is a *Visual Studio Code* extension that provides a one-button interface to build and upload Marlin Firmware to your selected `MOTHERBOARD`, removing the need to edit your `platformio.ini` file or scroll through a long list of Marlin environments. -Get the MarlinFirmware repository from GitHub. Open the directory `buildroot/share/vscode` and copy the `AutoBuildMarlin` folder to the `Visual Studio Code` extension directory. Relaunch `Visual Studio Code` to complete the installation. +## Get PlatformIO -To find the `Visual Studio Code` extension directory: +Before you install AutoBuildMarlin you'll first need to [Install PlatformIO in VSCode](http://marlinfw.org/docs/basics/install_platformio_vscode.html). Once you have followed these instructions, continue below. -- Windows - Use Windows Explorer's address bar to open `C:/Users/USERNAME/.vscode/extensions`. -- Mac - Use the Finder's `Go` menu to open `~/.vscode/extensions`. -- Linux - In the Terminal type `open ~/.vscode/extensions`. +## Installing This Extension -### 3. Install the PlatformIO extension -Click on `View` > `Command Palette...` +- [Download Marlin Firmware](http://marlinfw.org/meta/download/) and unzip it to your documents folder. +- Open the directory `buildroot/share/vscode` and copy the "`AutoBuildMarlin`" folder to **the *Visual Studio Code* `extensions` directory**. +- Relaunch *Visual Studio Code* to complete the installation. -![](./resources/view_command_palette.png) +### To find your `extensions` directory: -Find and click on `Extensions: Install Extensions` - -![](./resources/install_extensions.png) - -Type `platformio` into the search box and click on `Install` under `PlatformIO IDE`. - -![](./resources/platformio_install.png) +- **Windows** - Use Windows Explorer's address bar to open `C:/Users/USERNAME/.vscode/extensions`. +- **Mac** - Use the Finder's `Go` menu to open `~/.vscode/extensions`. +- **Linux** - In the Terminal type `open ~/.vscode/extensions`. ## Usage -This extension adds the Auto Build icon ![](./media/AB.svg) to the Activities bar. +- Open up the downloaded *Marlin Firmware* project folder (***NOT the "Marlin" folder within***) in *Visual Studio Code*. (You may also use the **Import Project…** option from the "PlaformIO Home" page.) -### 1. Open the Marlin folder -Click on `File` > `Open Folder...` +- With Marlin open, the "File Explorer" should be firmly rooted in your Marlin Firmware folder: -![](./resources/Open_Folder.png) + ![](https://github.com/MarlinFirmware/Marlin/raw/bugfix-2.0.x/buildroot/share/vscode/AutoBuildMarlin/img/Activity_bar.png) -This brings up the `Open Folder` dialog. Select the folder that has the `platformio.ini` file in it. +- Click the **Marlin Auto Build** icon ![AutoBuild Icon](https://github.com/MarlinFirmware/Marlin/raw/bugfix-2.0.x/buildroot/share/vscode/AutoBuildMarlin/img/AB_icon.png) in the Activities Bar (on the left side of *Visual Studio Code* window) to bring up the **Marlin Auto Build** options bar. -![](./resources/Open_Marlin.png) + ![](https://github.com/MarlinFirmware/Marlin/raw/bugfix-2.0.x/buildroot/share/vscode/AutoBuildMarlin/img/AB_menu.png) -You should see something like the following. If not, click on the Explorer icon in the Activities bar. +- Click one of the four icons -![](./resources/Activity_bar.png) - -### 2. Click on the Auto Build Icon ![](./media/AB.svg) -This brings up the Auto Build menu icon bar. -![](./resources/AB_menu.png) - -### 3. Click on one of the four icons -- ![](./resources/B_small.svg) - Clicking on it starts `PIO Build` -- ![](./resources/C_small.svg) - Clicking on it starts `PIO Clean` -- ![](./resources/U_small.svg) - Clicking on it starts `PIO Upload` -- ![](./resources/Ut_small.svg) - Clicking on it starts `PIO Upload (traceback)` + Icon|Action + ----|------ + ![](https://github.com/MarlinFirmware/Marlin/raw/bugfix-2.0.x/buildroot/share/vscode/AutoBuildMarlin/img/B_small.png)|Start **PIO Build** to test your Marlin build + ![](https://github.com/MarlinFirmware/Marlin/raw/bugfix-2.0.x/buildroot/share/vscode/AutoBuildMarlin/img/C_small.png)|Start **PIO Clean** to delete old build files + ![](https://github.com/MarlinFirmware/Marlin/raw/bugfix-2.0.x/buildroot/share/vscode/AutoBuildMarlin/img/U_small.png)|Start **PIO Upload** to install Marlin on your board + ![](https://github.com/MarlinFirmware/Marlin/raw/bugfix-2.0.x/buildroot/share/vscode/AutoBuildMarlin/img/T_small.png)|Start **PIO Upload (traceback)** to install Marlin with debugging diff --git a/buildroot/share/vscode/AutoBuildMarlin/img/AB_icon.png b/buildroot/share/vscode/AutoBuildMarlin/img/AB_icon.png new file mode 100644 index 0000000000..951fee8db6 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/img/AB_icon.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/img/AB_menu.png b/buildroot/share/vscode/AutoBuildMarlin/img/AB_menu.png new file mode 100644 index 0000000000..39afa92261 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/img/AB_menu.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/img/Activity_bar.png b/buildroot/share/vscode/AutoBuildMarlin/img/Activity_bar.png new file mode 100644 index 0000000000..db049a8530 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/img/Activity_bar.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/img/B_small.png b/buildroot/share/vscode/AutoBuildMarlin/img/B_small.png new file mode 100644 index 0000000000..840d06e11e Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/img/B_small.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/img/C_small.png b/buildroot/share/vscode/AutoBuildMarlin/img/C_small.png new file mode 100644 index 0000000000..9f5630e428 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/img/C_small.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/img/T_small.png b/buildroot/share/vscode/AutoBuildMarlin/img/T_small.png new file mode 100644 index 0000000000..70af1ca391 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/img/T_small.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/img/U_small.png b/buildroot/share/vscode/AutoBuildMarlin/img/U_small.png new file mode 100644 index 0000000000..35c87b1c6c Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/img/U_small.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/logo.svg b/buildroot/share/vscode/AutoBuildMarlin/logo.svg new file mode 100644 index 0000000000..54956b4f15 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/logo.svg @@ -0,0 +1,111 @@ + + + +Marlin Firmware image/svg+xmlMarlin Firmware Ahmet Cem TURANJoão BrázioMarlinFirmwaremarlin-logo-new + + \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/media/AB.svg b/buildroot/share/vscode/AutoBuildMarlin/media/AB.svg deleted file mode 100644 index ac6dbb8a9a..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/media/AB.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - VScode view icon - - Layer 2 - AB - - - Layer 1 - - - \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/package-lock.json b/buildroot/share/vscode/AutoBuildMarlin/package-lock.json index 6933834984..9b333093a4 100644 --- a/buildroot/share/vscode/AutoBuildMarlin/package-lock.json +++ b/buildroot/share/vscode/AutoBuildMarlin/package-lock.json @@ -1,6 +1,6 @@ { "name": "auto-build", - "version": "0.1.0", + "version": "2.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/buildroot/share/vscode/AutoBuildMarlin/package.json b/buildroot/share/vscode/AutoBuildMarlin/package.json index 3bff1098d7..ac30b225e3 100644 --- a/buildroot/share/vscode/AutoBuildMarlin/package.json +++ b/buildroot/share/vscode/AutoBuildMarlin/package.json @@ -2,8 +2,9 @@ "name": "auto-build", "displayName": "Auto Build Marlin", "description": "Auto Build Marlin for VS code", - "version": "0.1.0", + "version": "2.0.0", "publisher": "marlinfirmware", + "icon": "logo.svg", "engines": { "vscode": "^1.23.0" }, @@ -24,7 +25,7 @@ { "id": "auto-build", "title": "Auto Build Marlin", - "icon": "media/AB.svg" + "icon": "resources/AB.svg" } ] }, @@ -40,22 +41,34 @@ { "command": "piobuild", "title": "PIO Build", - "icon": "resources/B32x32_white.svg" - }, - { - "command": "pioclean", - "title": "PIO Clean", - "icon": "resources/C32x32_white.svg" + "icon": { + "light": "resources/B48x48_light.svg", + "dark": "resources/B48x48_dark.svg" + } }, { "command": "pioupload", "title": "PIO Upload", - "icon": "resources/U32x32_white.svg" + "icon": { + "light": "resources/U48x48_light.svg", + "dark": "resources/U48x48_dark.svg" + } }, { "command": "piotraceback", "title": "PIO Upload (traceback)", - "icon": "resources/Ut32x32_white.svg" + "icon": { + "light": "resources/T48x48_light.svg", + "dark": "resources/T48x48_dark.svg" + } + }, + { + "command": "pioclean", + "title": "PIO Clean", + "icon": { + "light": "resources/C48x48_light.svg", + "dark": "resources/C48x48_dark.svg" + } } ], "menus": { @@ -65,15 +78,15 @@ "group": "navigation@1" }, { - "command": "pioclean", + "command": "pioupload", "group": "navigation@2" }, { - "command": "pioupload", + "command": "piotraceback", "group": "navigation@3" }, { - "command": "piotraceback", + "command": "pioclean", "group": "navigation@4" } ] diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/AB.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/AB.svg new file mode 100644 index 0000000000..7957276345 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/AB.svg @@ -0,0 +1,23 @@ + + + + AutoBuildMarlin View + + + + + diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/AB_menu.png b/buildroot/share/vscode/AutoBuildMarlin/resources/AB_menu.png deleted file mode 100644 index 2cb282c918..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/AB_menu.png and /dev/null differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Activity_bar.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Activity_bar.png deleted file mode 100644 index d78e2c82f4..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/Activity_bar.png and /dev/null differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/B24x24_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/B24x24_white.svg deleted file mode 100644 index 1d6c667233..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/resources/B24x24_white.svg +++ /dev/null @@ -1 +0,0 @@ -B \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/B32x32_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/B32x32_white.svg deleted file mode 100644 index 375b6f5f03..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/resources/B32x32_white.svg +++ /dev/null @@ -1 +0,0 @@ -B \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/B48x48_dark.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/B48x48_dark.svg new file mode 100644 index 0000000000..e3b0a4eada --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/B48x48_dark.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/B48x48_light.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/B48x48_light.svg new file mode 100644 index 0000000000..adb6c43add --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/B48x48_light.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/B_small.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/B_small.svg deleted file mode 100644 index c830b2713a..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/resources/B_small.svg +++ /dev/null @@ -1 +0,0 @@ -B \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Build.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Build.png deleted file mode 100644 index 86ed4782be..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/Build.png and /dev/null differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/C32x32_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/C32x32_white.svg deleted file mode 100644 index 43f93ce040..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/resources/C32x32_white.svg +++ /dev/null @@ -1 +0,0 @@ -C \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/C48x48_dark.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/C48x48_dark.svg new file mode 100644 index 0000000000..9cb0e4e0a8 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/C48x48_dark.svg @@ -0,0 +1,24 @@ + + + + + + + + + diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/C48x48_light.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/C48x48_light.svg new file mode 100644 index 0000000000..815ccf2e9a --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/C48x48_light.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/C_small.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/C_small.svg deleted file mode 100644 index f8ee33d7ad..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/resources/C_small.svg +++ /dev/null @@ -1 +0,0 @@ -C \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Clean.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Clean.png deleted file mode 100644 index 6ce41877a6..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/Clean.png and /dev/null differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Folder.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Folder.png deleted file mode 100644 index b8ae9ac902..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Folder.png and /dev/null differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Marlin.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Marlin.png deleted file mode 100644 index aa22232a8e..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Marlin.png and /dev/null differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/T32x32_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/T32x32_white.svg deleted file mode 100644 index fb3e249e8d..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/resources/T32x32_white.svg +++ /dev/null @@ -1 +0,0 @@ -T \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/T48x48_dark.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/T48x48_dark.svg new file mode 100644 index 0000000000..b395ac8584 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/T48x48_dark.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/T48x48_light.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/T48x48_light.svg new file mode 100644 index 0000000000..2b8ade1fa7 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/T48x48_light.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Traceback.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Traceback.png deleted file mode 100644 index 4ee9f976fb..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/Traceback.png and /dev/null differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/U32x32_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/U32x32_white.svg deleted file mode 100644 index 028c9e5474..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/resources/U32x32_white.svg +++ /dev/null @@ -1 +0,0 @@ -U \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/U48x48_dark.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/U48x48_dark.svg new file mode 100644 index 0000000000..c1865b7353 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/U48x48_dark.svg @@ -0,0 +1,26 @@ + + + + + + + + + + diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/U48x48_light.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/U48x48_light.svg new file mode 100644 index 0000000000..54943240fc --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/U48x48_light.svg @@ -0,0 +1,26 @@ + + + + + + + + + + diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/U_small.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/U_small.svg deleted file mode 100644 index eb3a431b9d..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/resources/U_small.svg +++ /dev/null @@ -1 +0,0 @@ -U \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Upload.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Upload.png deleted file mode 100644 index 8de383e5d1..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/Upload.png and /dev/null differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Ut32x32_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/Ut32x32_white.svg deleted file mode 100644 index fc8858ea18..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/resources/Ut32x32_white.svg +++ /dev/null @@ -1 +0,0 @@ -Ut \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Ut_small.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/Ut_small.svg deleted file mode 100644 index accc458a42..0000000000 --- a/buildroot/share/vscode/AutoBuildMarlin/resources/Ut_small.svg +++ /dev/null @@ -1 +0,0 @@ -Ut \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/install_extensions.png b/buildroot/share/vscode/AutoBuildMarlin/resources/install_extensions.png deleted file mode 100644 index 4904c1d758..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/install_extensions.png and /dev/null differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/platformio_install.png b/buildroot/share/vscode/AutoBuildMarlin/resources/platformio_install.png deleted file mode 100644 index e1ff7fd3b3..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/platformio_install.png and /dev/null differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/view_command_palette.png b/buildroot/share/vscode/AutoBuildMarlin/resources/view_command_palette.png deleted file mode 100644 index 6fa3e9b016..0000000000 Binary files a/buildroot/share/vscode/AutoBuildMarlin/resources/view_command_palette.png and /dev/null differ diff --git a/config/default/Configuration.h b/config/default/Configuration.h index 7a1111fde3..16f1ca6800 100644 --- a/config/default/Configuration.h +++ b/config/default/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/default/Configuration_adv.h b/config/default/Configuration_adv.h index 45e445e122..9f0217a802 100644 --- a/config/default/Configuration_adv.h +++ b/config/default/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/3DFabXYZ/Migbot/Configuration.h b/config/examples/3DFabXYZ/Migbot/Configuration.h index af619a56a4..02e2735ec0 100644 --- a/config/examples/3DFabXYZ/Migbot/Configuration.h +++ b/config/examples/3DFabXYZ/Migbot/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "AJMartel" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -896,11 +894,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -912,10 +909,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 21 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 61 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 21, 61, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -949,7 +946,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1207,12 +1204,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y 4 - // Set the boundaries for probing (where the probe can reach). - #define LEFT_PROBE_BED_POSITION X_PROBE_OFFSET_FROM_EXTRUDER - #define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (X_PROBE_OFFSET_FROM_EXTRUDER) + MIN_PROBE_EDGE) - #define FRONT_PROBE_BED_POSITION Y_PROBE_OFFSET_FROM_EXTRUDER - #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1266,19 +1257,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1552,7 +1530,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1611,10 +1589,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2082,7 +2060,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2095,6 +2073,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2105,11 +2086,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2237,7 +2215,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/3DFabXYZ/Migbot/Configuration_adv.h b/config/examples/3DFabXYZ/Migbot/Configuration_adv.h index 75699df8f0..c93807b615 100644 --- a/config/examples/3DFabXYZ/Migbot/Configuration_adv.h +++ b/config/examples/3DFabXYZ/Migbot/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/ADIMLab/Gantry v1/Configuration.h b/config/examples/ADIMLab/Gantry v1/Configuration.h new file mode 100644 index 0000000000..9456800d83 --- /dev/null +++ b/config/examples/ADIMLab/Gantry v1/Configuration.h @@ -0,0 +1,2197 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Configuration.h + * + * Basic settings such as: + * + * - Type of electronics + * - Type of temperature sensor + * - Printer geometry + * - Endstop configuration + * - LCD controller + * - Extra features + * + * Advanced settings can be found in Configuration_adv.h + * + */ +#define CONFIGURATION_H_VERSION 020000 + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== + +/** + * Here are some standard links for getting your machine calibrated: + * + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 + */ + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer start with one of the configuration files in the +// config/examples/delta directory and customize for your machine. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a SCARA printer start with the configuration files in +// config/examples/SCARA and customize for your machine. +// + +// @section info + +// Author info of this build printed to the host during boot and M115 +#define STRING_CONFIG_H_AUTHOR "(ETE-Design, Gantry v1)" // Who made the changes. + +/** + * *** VENDORS PLEASE READ *** + * + * Marlin allows you to add a custom boot image for Graphical LCDs. + * With this option Marlin will first show your custom screen followed + * by the standard Marlin logo with version number and web URL. + * + * We encourage you to take advantage of this new feature and we also + * respectfully request that you retain the unmodified Marlin boot screen. + */ + +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. +#define SHOW_CUSTOM_BOOTSCREEN + +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. +//#define CUSTOM_STATUS_SCREEN_IMAGE + +// @section machine + +/** + * Select the serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +#define SERIAL_PORT 0 + +/** + * Select a secondary serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Serial port -1 is the USB emulated serial port, if available. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +//#define SERIAL_PORT_2 -1 + +/** + * This setting determines the communication speed of the printer. + * + * 250000 works in most cases, but you might try a lower speed if + * you commonly experience drop-outs during host printing. + * You may try up to 1000000 to speed up SD file transfer. + * + * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] + */ +#define BAUDRATE 250000 + +// Enable the Bluetooth serial interface on AT90USB devices +//#define BLUETOOTH + +// Choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_HJC2560C_REV1 +#endif + +// Name displayed in the LCD "Ready" message and Info menu +#define CUSTOM_MACHINE_NAME "ADIMLab Gantry v1" + +// Printer's unique ID, used by some programs to differentiate between machines. +// Choose your own or use a service like http://www.uuidgenerator.net/version4 +//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// @section extruder + +// This defines the number of extruders +// :[1, 2, 3, 4, 5, 6] +#define EXTRUDERS 1 + +// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 + +// For Cyclops or any "multi-extruder" that shares a single nozzle. +//#define SINGLENOZZLE + +/** + * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. + * + * This device allows one stepper driver on a control board to drive + * two to eight stepper motors, one at a time, in a manner suitable + * for extruders. + * + * This option only allows the multiplexer to switch on tool-change. + * Additional options to configure custom E moves are pending. + */ +//#define MK2_MULTIPLEXER +#if ENABLED(MK2_MULTIPLEXER) + // Override the default DIO selector pins here, if needed. + // Some pins files may provide defaults for these pins. + //#define E_MUX0_PIN 40 // Always Required + //#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs + //#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs +#endif + +/** + * Prusa Multi-Material Unit v2 + * + * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails. + * Requires EXTRUDERS = 5 + * + * For additional configuration see Configuration_adv.h + */ +//#define PRUSA_MMU2 + +// A dual extruder that uses a single stepper motor +//#define SWITCHING_EXTRUDER +#if ENABLED(SWITCHING_EXTRUDER) + #define SWITCHING_EXTRUDER_SERVO_NR 0 + #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3] + #if EXTRUDERS > 3 + #define SWITCHING_EXTRUDER_E23_SERVO_NR 1 + #endif +#endif + +// A dual-nozzle that uses a servomotor to raise/lower one (or both) of the nozzles +//#define SWITCHING_NOZZLE +#if ENABLED(SWITCHING_NOZZLE) + #define SWITCHING_NOZZLE_SERVO_NR 0 + //#define SWITCHING_NOZZLE_E1_SERVO_NR 1 // If two servos are used, the index of the second + #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 (single servo) or lowered/raised (dual servo) +#endif + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a solenoid docking mechanism. Requires SOL1_PIN and SOL2_PIN. + */ +//#define PARKING_EXTRUDER + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a magnetic docking mechanism using movements and no solenoid + * + * project : https://www.thingiverse.com/thing:3080893 + * movements : https://youtu.be/0xCEiG9VS3k + * https://youtu.be/Bqbcs0CU2FE + */ +//#define MAGNETIC_PARKING_EXTRUDER + +#if EITHER(PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER) + + #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders + #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // (mm) Distance to move beyond the parking point to grab the extruder + //#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381 + + #if ENABLED(PARKING_EXTRUDER) + + #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage + #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil + #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // (ms) Delay for magnetic field. No delay if 0 or not defined. + //#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381 + + #elif ENABLED(MAGNETIC_PARKING_EXTRUDER) + + #define MPE_FAST_SPEED 9000 // (mm/m) Speed for travel before last distance point + #define MPE_SLOW_SPEED 4500 // (mm/m) Speed for last distance travel to park and couple + #define MPE_TRAVEL_DISTANCE 10 // (mm) Last distance point + #define MPE_COMPENSATION 0 // Offset Compensation -1 , 0 , 1 (multiplier) only for coupling + + #endif + +#endif + +/** + * Switching Toolhead + * + * Support for swappable and dockable toolheads, such as + * the E3D Tool Changer. Toolheads are locked with a servo. + */ +//#define SWITCHING_TOOLHEAD + +/** + * Magnetic Switching Toolhead + * + * Support swappable and dockable toolheads with a magnetic + * docking mechanism using movement and no servo. + */ +//#define MAGNETIC_SWITCHING_TOOLHEAD + +/** + * Electromagnetic Switching Toolhead + * + * Parking for CoreXY / HBot kinematics. + * Toolheads are parked at one edge and held with an electromagnet. + * Supports more than 2 Toolheads. See https://youtu.be/JolbsAKTKf4 + */ +//#define ELECTROMAGNETIC_SWITCHING_TOOLHEAD + +#if ANY(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_Y_POS 235 // (mm) Y position of the toolhead dock + #define SWITCHING_TOOLHEAD_Y_SECURITY 10 // (mm) Security distance Y axis + #define SWITCHING_TOOLHEAD_Y_CLEAR 60 // (mm) Minimum distance from dock for unobstructed X axis + #define SWITCHING_TOOLHEAD_X_POS { 215, 0 } // (mm) X positions for parking the extruders + #if ENABLED(SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_SERVO_NR 2 // Index of the servo connector + #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 } // (degrees) Angles for Lock, Unlock + #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_Y_RELEASE 5 // (mm) Security distance Y axis + #define SWITCHING_TOOLHEAD_X_SECURITY { 90, 150 } // (mm) Security distance X axis (T0,T1) + //#define PRIME_BEFORE_REMOVE // Prime the nozzle before release from the dock + #if ENABLED(PRIME_BEFORE_REMOVE) + #define SWITCHING_TOOLHEAD_PRIME_MM 20 // (mm) Extruder prime length + #define SWITCHING_TOOLHEAD_RETRACT_MM 10 // (mm) Retract after priming length + #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE 300 // (mm/m) Extruder prime feedrate + #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400 // (mm/m) Extruder retract feedrate + #endif + #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_Z_HOP 2 // (mm) Z raise for switching + #endif +#endif + +/** + * "Mixing Extruder" + * - Adds G-codes M163 and M164 to set and "commit" the current mix factors. + * - Extends the stepping routines to move multiple steppers in proportion to the mix. + * - Optional support for Repetier Firmware's 'M164 S' supporting virtual tools. + * - This implementation supports up to two mixing extruders. + * - Enable DIRECT_MIXING_IN_G1 for M165 and mixing in G1 (from Pia Taubert's reference implementation). + */ +//#define MIXING_EXTRUDER +#if ENABLED(MIXING_EXTRUDER) + #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder + #define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164 + //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands + //#define GRADIENT_MIX // Support for gradient mixing with M166 and LCD + #if ENABLED(GRADIENT_MIX) + //#define GRADIENT_VTOOL // Add M166 T to use a V-tool index as a Gradient alias + #endif +#endif + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +//#define HOTEND_OFFSET_X { 0.0, 20.00 } // (mm) relative X-offset for each nozzle +//#define HOTEND_OFFSET_Y { 0.0, 5.00 } // (mm) relative Y-offset for each nozzle +//#define HOTEND_OFFSET_Z { 0.0, 0.00 } // (mm) relative Z-offset for each nozzle + +// @section machine + +/** + * Power Supply Control + * + * Enable and connect the power supply to the PS_ON_PIN. + * Specify whether the power supply is active HIGH or active LOW. + */ +//#define PSU_CONTROL +//#define PSU_NAME "Power Supply" + +#if ENABLED(PSU_CONTROL) + #define PSU_ACTIVE_HIGH false // Set 'false' for ATX (1), 'true' for X-Box (2) + + //#define PS_DEFAULT_OFF // Keep power off until enabled directly with M80 + + //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin + #if ENABLED(AUTO_POWER_CONTROL) + #define AUTO_POWER_FANS // Turn on PSU if fans need power + #define AUTO_POWER_E_FANS + #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN + //#define AUTO_POWER_E_TEMP 50 // (°C) Turn on PSU over this temperature + //#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature + #define POWER_TIMEOUT 30 + #endif +#endif + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== + +/** + * --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table + * + * Temperature sensors available: + * + * -4 : thermocouple with AD8495 + * -3 : thermocouple with MAX31855 (only for sensor 0) + * -2 : thermocouple with MAX6675 (only for sensor 0) + * -1 : thermocouple with AD595 + * 0 : not used + * 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) + * 331 : (3.3V scaled thermistor 1 table) + * 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) + * 3 : Mendel-parts thermistor (4.7k pullup) + * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! + * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor + * 512 : 100k RPW-Ultra hotend thermistor (4.7k pullup) + * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) + * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) + * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) + * 8 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) + * 9 : 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) + * 10 : 100k RS thermistor 198-961 (4.7k pullup) + * 11 : 100k beta 3950 1% thermistor (4.7k pullup) + * 12 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) + * 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" + * 15 : 100k thermistor calibration for JGAurora A5 hotend + * 18 : ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327 + * 20 : Pt100 with circuit in the Ultimainboard V2.x + * 201 : Pt100 with circuit in Overlord, similar to Ultimainboard V2.x + * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 + * 61 : 100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup + * 66 : 4.7M High Temperature thermistor from Dyze Design + * 67 : 450C thermistor from SliceEngineering + * 70 : the 100K thermistor found in the bq Hephestos 2 + * 75 : 100k Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor + * + * 1k ohm pullup tables - This is atypical, and requires changing out the 4.7k pullup for 1k. + * (but gives greater accuracy and more stable PID) + * 51 : 100k thermistor - EPCOS (1k pullup) + * 52 : 200k thermistor - ATC Semitec 204GT-2 (1k pullup) + * 55 : 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) + * + * 1047 : Pt1000 with 4k7 pullup + * 1010 : Pt1000 with 1k pullup (non standard) + * 147 : Pt100 with 4k7 pullup + * 110 : Pt100 with 1k pullup (non standard) + * + * 1000 : Custom - Specify parameters in Configuration_adv.h + * + * Use these for Testing or Development purposes. NEVER for production machine. + * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. + * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. + * + * :{ '0':"Not used", '1':"100k / 4.7k - EPCOS", '331':"(3.3V thermistor 1)", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '512':"100k RPW-Ultra hotend thermistor", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '18':"ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327" '20':"Pt100 (Ultimainboard V2.x)", '201':"Pt100 (Overlord)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '61':"100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup", '66':"Dyze Design 4.7M High Temperature thermistor", '67':"Slice Engineering 450C High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595", '998':"Dummy 1", '999':"Dummy 2", '1000':"Custom thermistor params" } + */ +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 +#define TEMP_SENSOR_BED 1 +#define TEMP_SENSOR_CHAMBER 0 + +// Dummy thermistor constant temperature readings, for use with 998 and 999 +#define DUMMY_THERMISTOR_998_VALUE 25 +#define DUMMY_THERMISTOR_999_VALUE 100 + +// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings +// from the two sensors differ too much the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +#define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109 +#define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer +#define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target + +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190 +#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer +#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target + +// Below this temperature the heater will be switched off +// because it probably indicates a broken thermistor wire. +#define HEATER_0_MINTEMP 1 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 +#define BED_MINTEMP 1 + +// Above this temperature the heater will be switched off. +// This can protect components from overheating, but NOT from shorts and failures. +// (Use MINTEMP for thermistor short/failure protection.) +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 +#define BED_MAXTEMP 120 + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#define PID_K1 0.95 // Smoothing factor within any PID loop +#if ENABLED(PIDTEMP) + //#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM) + //#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + + // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it + + // Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + + // MakerGear + //#define DEFAULT_Kp 7.0 + //#define DEFAULT_Ki 0.1 + //#define DEFAULT_Kd 12 + + // Mendel Parts V9 on 12V + //#define DEFAULT_Kp 63.0 + //#define DEFAULT_Ki 2.25 + //#define DEFAULT_Kd 440 + +#endif // PIDTEMP + +//=========================================================================== +//====================== PID > Bed Temperature Control ====================== +//=========================================================================== + +/** + * PID Bed Heating + * + * If this option is enabled set PID constants below. + * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis. + * + * The PID frequency will be the same as the extruder PWM. + * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz, + * which is fine for driving a square wave into a resistive load and does not significantly + * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W + * heater. If your configuration is significantly different than this and you don't understand + * the issues involved, don't use bed PID until someone else verifies that your hardware works. + */ +//#define PIDTEMPBED + +//#define BED_LIMIT_SWITCHING + +/** + * Max Bed Power + * Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis). + * When set to any value below 255, enables a form of PWM to the bed that acts like a divider + * so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED) + */ +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#if ENABLED(PIDTEMPBED) + //#define MIN_BED_POWER 0 + //#define PID_BED_DEBUG // Sends debug data to the serial port. + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from pidautotune + //#define DEFAULT_bedKp 97.1 + //#define DEFAULT_bedKi 1.41 + //#define DEFAULT_bedKd 1675.16 + + // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + +// @section extruder + +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ +#define PREVENT_COLD_EXTRUSION +#define EXTRUDE_MINTEMP 170 + +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ +#define PREVENT_LENGTHY_EXTRUDE +#define EXTRUDE_MAXLENGTH 1300 + +//=========================================================================== +//======================== Thermal Runaway Protection ======================= +//=========================================================================== + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * If you get "Thermal Runaway" or "Heating failed" errors the + * details can be tuned in Configuration_adv.h + */ + +#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders +#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed +#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics +// either in the usual order or reversed +//#define COREXY +//#define COREXZ +//#define COREYZ +//#define COREYX +//#define COREZX +//#define COREZY + +//=========================================================================== +//============================== Endstop Settings =========================== +//=========================================================================== + +// @section homing + +// Specify here all the endstop connectors that are connected to any endstop or probe. +// Almost all printers will be using one per axis. Probes will use one or more of the +// extra connectors. Leave undefined any used for non-endstop and non-probe purposes. +#define USE_XMIN_PLUG +#define USE_YMIN_PLUG +#define USE_ZMIN_PLUG +//#define USE_XMAX_PLUG +//#define USE_YMAX_PLUG +//#define USE_ZMAX_PLUG + +// Enable pullup for all endstops to prevent a floating state +#define ENDSTOPPULLUPS +#if DISABLED(ENDSTOPPULLUPS) + // Disable ENDSTOPPULLUPS to set pullups individually + //#define ENDSTOPPULLUP_XMAX + //#define ENDSTOPPULLUP_YMAX + //#define ENDSTOPPULLUP_ZMAX + //#define ENDSTOPPULLUP_XMIN + //#define ENDSTOPPULLUP_YMIN + //#define ENDSTOPPULLUP_ZMIN + //#define ENDSTOPPULLUP_ZMIN_PROBE +#endif + +// Enable pulldown for all endstops to prevent a floating state +//#define ENDSTOPPULLDOWNS +#if DISABLED(ENDSTOPPULLDOWNS) + // Disable ENDSTOPPULLDOWNS to set pulldowns individually + //#define ENDSTOPPULLDOWN_XMAX + //#define ENDSTOPPULLDOWN_YMAX + //#define ENDSTOPPULLDOWN_ZMAX + //#define ENDSTOPPULLDOWN_XMIN + //#define ENDSTOPPULLDOWN_YMIN + //#define ENDSTOPPULLDOWN_ZMIN + //#define ENDSTOPPULLDOWN_ZMIN_PROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe. + +/** + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. + * + * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE, + * TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE + * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define Z3_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 + +// Enable this feature if all enabled endstop pins are interrupt-capable. +// This will remove the need to poll the interrupt pins, saving many CPU cycles. +//#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Threshold + * + * Enable if your probe or endstops falsely trigger due to noise. + * + * - Higher values may affect repeatability or accuracy of some bed probes. + * - To fix noise install a 100nF ceramic capacitor inline with the switch. + * - This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, which already have the 100nF capacitor. + * + * :[2,3,4,5,6,7] + */ +//#define ENDSTOP_NOISE_THRESHOLD 2 + +//============================================================================= +//============================== Movement Settings ============================ +//============================================================================= +// @section motion + +/** + * Default Settings + * + * These settings can be reset by M502 + * + * Note that if EEPROM is enabled, saved values will override these. + */ + +/** + * With this option each E stepper can have its own factors for the + * following movement settings. If fewer factors are given than the + * total number of extruders, the last value applies to the rest. + */ +//#define DISTINCT_E_FACTORS + +/** + * Default Axis Steps Per Unit (steps/mm) + * Override with M92 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] + */ +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80.4, 80.4, 400, 94 } + +/** + * Default Max Feed Rate (mm/s) + * Override with M203 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] + */ +#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } + +/** + * Default Max Acceleration (change/s) change = mm/s + * (Maximum start speed for accelerated moves) + * Override with M201 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] + */ +#define DEFAULT_MAX_ACCELERATION { 2000, 2000, 50, 2000 } + +/** + * Default Acceleration (change/s) change = mm/s + * Override with M204 + * + * M204 P Acceleration + * M204 R Retract Acceleration + * M204 T Travel Acceleration + */ +#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves + +/** + * Junction Deviation + * + * Use Junction Deviation instead of traditional Jerk Limiting + * + * See: + * https://reprap.org/forum/read.php?1,739819 + * http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html + */ +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Default Jerk (mm/s) + * Override with M205 X Y Z E + * + * "Jerk" specifies the minimum speed change that requires acceleration. + * When changing speed and direction, if the difference is less than the + * value set here, it may happen instantaneously. + */ +#if DISABLED(JUNCTION_DEVIATION) + #define DEFAULT_XJERK 20.0 + #define DEFAULT_YJERK 20.0 + #define DEFAULT_ZJERK 0.4 +#endif + +#define DEFAULT_EJERK 5.0 // May be used by Linear Advance + +/** + * S-Curve Acceleration + * + * This option eliminates vibration during printing by fitting a Bézier + * curve to move acceleration, producing much smoother direction changes. + * + * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained + */ +//#define S_CURVE_ACCELERATION + +//=========================================================================== +//============================= Z Probe Options ============================= +//=========================================================================== +// @section probes + +// +// See http://marlinfw.org/docs/configuration/probes.html +// + +/** + * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + * + * Enable this option for a probe connected to the Z Min endstop pin. + */ +//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + +/** + * Z_MIN_PROBE_PIN + * + * Define this pin if the probe is not connected to Z_MIN_PIN. + * If not defined the default pin for the selected MOTHERBOARD + * will be used. Most of the time the default is what you want. + * + * - The simplest option is to use a free endstop connector. + * - Use 5V for powered (usually inductive) sensors. + * + * - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin: + * - For simple switches connect... + * - normally-closed switches to GND and D32. + * - normally-open switches to 5V and D32. + * + */ +//#define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default + +/** + * Probe Type + * + * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. + * Activate one of these to use Auto Bed Leveling below. + */ + +/** + * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. + * Use G29 repeatedly, adjusting the Z height at each point with movement commands + * or (with LCD_BED_LEVELING) the LCD controller. + */ +//#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 + +/** + * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. + * (e.g., an inductive probe or a nozzle-based probe-switch.) + */ +//#define FIX_MOUNTED_PROBE + +/** + * Z Servo Probe, such as an endstop switch on a rotating arm. + */ +//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector. +//#define Z_SERVO_ANGLES { 70, 0 } // Z Servo Deploy and Stow angles + +/** + * The BLTouch probe uses a Hall effect sensor and emulates a servo. + */ +//#define BLTOUCH + +/** + * Touch-MI Probe by hotends.fr + * + * This probe is deployed and activated by moving the X-axis to a magnet at the edge of the bed. + * By default, the magnet is assumed to be on the left and activated by a home. If the magnet is + * on the right, enable and set TOUCH_MI_DEPLOY_XPOS to the deploy position. + * + * Also requires: BABYSTEPPING, BABYSTEP_ZPROBE_OFFSET, Z_SAFE_HOMING, + * and a minimum Z_HOMING_HEIGHT of 10. + */ +//#define TOUCH_MI_PROBE +#if ENABLED(TOUCH_MI_PROBE) + #define TOUCH_MI_RETRACT_Z 0.5 // Height at which the probe retracts + //#define TOUCH_MI_DEPLOY_XPOS (X_MAX_BED + 2) // For a magnet on the right side of the bed + //#define TOUCH_MI_MANUAL_DEPLOY // For manual deploy (LCD menu) +#endif + +// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) +//#define SOLENOID_PROBE + +// A sled-mounted probe like those designed by Charles Bell. +//#define Z_PROBE_SLED +//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + +// A probe deployed by moving the x-axis, such as the Wilson II's rack-and-pinion probe designed by Marty Rice. +//#define RACK_AND_PINION_PROBE +#if ENABLED(RACK_AND_PINION_PROBE) + #define Z_PROBE_DEPLOY_X X_MIN_POS + #define Z_PROBE_RETRACT_X X_MAX_POS +#endif + +// +// For Z_PROBE_ALLEN_KEY see the Delta example configurations. +// + +/** + * Z Probe to nozzle (X,Y) offset, relative to (0, 0). + * + * In the following example the X and Y offsets are both positive: + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } + * + * +-- BACK ---+ + * | | + * L | (+) P | R <-- probe (20,20) + * E | | I + * F | (-) N (+) | G <-- nozzle (10,10) + * T | | H + * | (-) | T + * | | + * O-- FRONT --+ + * (0,0) + * + * Specify a Probe position as { X, Y, Z } + */ +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } + +// Certain types of probes need to stay away from edges +#define MIN_PROBE_EDGE 10 + +// X and Y axis travel speed (mm/m) between probes +#define XY_PROBE_SPEED 8000 + +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) +#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z + +// Feedrate (mm/m) for the "accurate" probe of each point +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) + +/** + * Multiple Probing + * + * You may get improved results by probing 2 or more times. + * With EXTRA_PROBING the more atypical reading(s) will be disregarded. + * + * A total of 2 does fast/slow probes with a weighted average. + * A total of 3 or more adds more slow probes, taking the average. + */ +//#define MULTIPLE_PROBING 2 +//#define EXTRA_PROBING 1 + +/** + * Z probes require clearance when deploying, stowing, and moving between + * probe points to avoid hitting the bed and other hardware. + * Servo-mounted probes require extra space for the arm to rotate. + * Inductive probes need space to keep from triggering early. + * + * Use these settings to specify the distance (mm) to raise the probe (or + * lower the bed). The values set here apply over and above any (negative) + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. + * Only integer values >= 1 are valid here. + * + * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. + * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. + */ +#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes +//#define Z_AFTER_PROBING 5 // Z position after probing is done + +#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping + +// For M851 give a range for adjusting the Z probe offset +#define Z_PROBE_OFFSET_RANGE_MIN -20 +#define Z_PROBE_OFFSET_RANGE_MAX 20 + +// Enable the M48 repeatability test to test probe accuracy +//#define Z_MIN_PROBE_REPEATABILITY_TEST + +// Before deploy/stow pause for user confirmation +//#define PAUSE_BEFORE_DEPLOY_STOW +#if ENABLED(PAUSE_BEFORE_DEPLOY_STOW) + //#define PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED // For Manual Deploy Allenkey Probe +#endif + +/** + * Enable one or more of the following if probing seems unreliable. + * Heaters and/or fans can be disabled during probing to minimize electrical + * noise. A delay can also be added to allow noise and vibration to settle. + * These options are most useful for the BLTouch probe, but may also improve + * readings with inductive probes and piezo sensors. + */ +//#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif +//#define PROBING_FANS_OFF // Turn fans off when probing +//#define PROBING_STEPPERS_OFF // Turn steppers off (unless needed to hold position) when probing +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{ 0:'Low', 1:'High' } +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis stepper immediately when it's not being used. +// WARNING: When motors turn off there is a chance of losing position accuracy! +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false + +// Warn on display about possibly reduced accuracy +//#define DISABLE_REDUCED_ACCURACY_WARNING + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER // Keep only the active extruder enabled + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR false +#define INVERT_Y_DIR false +#define INVERT_Z_DIR true + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR false +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false +#define INVERT_E4_DIR false +#define INVERT_E5_DIR false + +// @section homing + +//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed + +//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. + +//#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ... + // Be sure you have this distance over your Z_MAX_POS in case. + +// Direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +// @section machine + +// The size of the print bed +#define X_BED_SIZE 325 +#define Y_BED_SIZE 325 + +// Travel limits (mm) after homing, corresponding to endstop positions. +#define X_MIN_POS 0 +#define Y_MIN_POS 0 +#define Z_MIN_POS 0 +#define X_MAX_POS X_BED_SIZE +#define Y_MAX_POS Y_BED_SIZE +#define Z_MAX_POS 415 + +/** + * Software Endstops + * + * - Prevent moves outside the set machine bounds. + * - Individual axes can be disabled, if desired. + * - X and Y only apply to Cartesian robots. + * - Use 'M211' to set software endstops on/off or report current state + */ + +// Min software endstops constrain movement within minimum coordinate bounds +#define MIN_SOFTWARE_ENDSTOPS +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) + #define MIN_SOFTWARE_ENDSTOP_X + #define MIN_SOFTWARE_ENDSTOP_Y + #define MIN_SOFTWARE_ENDSTOP_Z +#endif + +// Max software endstops constrain movement within maximum coordinate bounds +#define MAX_SOFTWARE_ENDSTOPS +#if ENABLED(MAX_SOFTWARE_ENDSTOPS) + #define MAX_SOFTWARE_ENDSTOP_X + #define MAX_SOFTWARE_ENDSTOP_Y + #define MAX_SOFTWARE_ENDSTOP_Z +#endif + +#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + +/** + * Filament Runout Sensors + * Mechanical or opto endstops are used to check for the presence of filament. + * + * RAMPS-based boards use SERVO3_PIN for the first runout sensor. + * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. + * By default the firmware assumes HIGH=FILAMENT PRESENT. + */ +#define FILAMENT_RUNOUT_SENSOR +#define FIL_RUNOUT_PIN 24 +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_INVERTING false // Set to true to invert the logic of the sensor. + #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. + + // Set one or more commands to execute on filament runout. + // (After 'M412 H' Marlin will ask the host to handle the process.) + #define FILAMENT_RUNOUT_SCRIPT "M600" + + // After a runout is detected, continue printing this length of filament + // before executing the runout script. Useful for a sensor at the end of + // a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead. + //#define FILAMENT_RUNOUT_DISTANCE_MM 25 + + #ifdef FILAMENT_RUNOUT_DISTANCE_MM + // Enable this option to use an encoder disc that toggles the runout pin + // as the filament moves. (Be sure to set FILAMENT_RUNOUT_DISTANCE_MM + // large enough to avoid false positives.) + //#define FILAMENT_MOTION_SENSOR + #endif +#endif + +//=========================================================================== +//=============================== Bed Leveling ============================== +//=========================================================================== +// @section calibrate + +/** + * Choose one of the options below to enable G29 Bed Leveling. The parameters + * and behavior of G29 will change depending on your selection. + * + * If using a Probe for Z Homing, enable Z_SAFE_HOMING also! + * + * - AUTO_BED_LEVELING_3POINT + * Probe 3 arbitrary points on the bed (that aren't collinear) + * You specify the XY coordinates of all 3 points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_LINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_BILINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a mesh, best for large or uneven beds. + * + * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling) + * A comprehensive bed leveling system combining the features and benefits + * of other systems. UBL also includes integrated Mesh Generation, Mesh + * Validation and Mesh Editing systems. + * + * - MESH_BED_LEVELING + * Probe a grid manually + * The result is a mesh, suitable for large or uneven beds. (See BILINEAR.) + * For machines without a probe, Mesh Bed Leveling provides a method to perform + * leveling in steps so you can manually adjust the Z height at each grid-point. + * With an LCD controller the process is guided step-by-step. + */ +//#define AUTO_BED_LEVELING_3POINT +//#define AUTO_BED_LEVELING_LINEAR +//#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL +//#define MESH_BED_LEVELING + +/** + * Normally G28 leaves leveling disabled on completion. Enable + * this option to have G28 restore the prior leveling state. + */ +//#define RESTORE_LEVELING_AFTER_G28 + +/** + * Enable detailed logging of G28, G29, M48, etc. + * Turn on with the command 'M111 S32'. + * NOTE: Requires a lot of PROGMEM! + */ +//#define DEBUG_LEVELING_FEATURE + +#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL) + // Gradually reduce leveling correction until a set height is reached, + // at which point movement will be level to the machine's XY plane. + // The height can be set with M420 Z + #define ENABLE_LEVELING_FADE_HEIGHT + + // For Cartesian machines, instead of dividing moves on mesh boundaries, + // split up moves into short segments like a Delta. This follows the + // contours of the bed more closely than edge-to-edge straight moves. + #define SEGMENT_LEVELED_MOVES + #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one) + + /** + * Enable the G26 Mesh Validation Pattern tool. + */ + //#define G26_MESH_VALIDATION + #if ENABLED(G26_MESH_VALIDATION) + #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. + #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. + #define MESH_TEST_HOTEND_TEMP 205 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_BED_TEMP 60 // (°C) Default bed temperature for the G26 Mesh Validation Tool. + #define G26_XY_FEEDRATE 20 // (mm/s) Feedrate for XY Moves for the G26 Mesh Validation Tool. + #endif + +#endif + +#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR) + + // Set the number of grid points per dimension. + #define GRID_MAX_POINTS_X 3 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + // Probe along the Y axis, advancing X after each column + //#define PROBE_Y_FIRST + + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Beyond the probed grid, continue the implied tilt? + // Default is to maintain the height of the nearest edge. + //#define EXTRAPOLATE_BEYOND_GRID + + // + // Experimental Subdivision of the grid by Catmull-Rom method. + // Synthesizes intermediate points to produce a more detailed mesh. + // + //#define ABL_BILINEAR_SUBDIVISION + #if ENABLED(ABL_BILINEAR_SUBDIVISION) + // Number of subdivisions between probe points + #define BILINEAR_SUBDIVISIONS 3 + #endif + + #endif + +#elif ENABLED(AUTO_BED_LEVELING_UBL) + + //=========================================================================== + //========================= Unified Bed Leveling ============================ + //=========================================================================== + + //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh + + #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle + #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 + + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used + // as the Z-Height correction value. + +#elif ENABLED(MESH_BED_LEVELING) + + //=========================================================================== + //=================================== Mesh ================================== + //=========================================================================== + + #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS + +#endif // BED_LEVELING + +/** + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. + */ +//#define LCD_BED_LEVELING + +#if ENABLED(LCD_BED_LEVELING) + #define MESH_EDIT_Z_STEP 0.025 // (mm) Step size while manually probing Z axis. + #define LCD_PROBE_Z_RANGE 4 // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment + //#define MESH_EDIT_MENU // Add a menu to edit mesh points +#endif + +// Add a menu item to move between bed corners for manual bed adjustment +//#define LEVEL_BED_CORNERS + +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + #define LEVEL_CORNERS_Z_HOP 4.0 // (mm) Move nozzle up before moving between corners + #define LEVEL_CORNERS_HEIGHT 0.0 // (mm) Z height of nozzle at leveling points + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + +/** + * Commands to execute at the end of G29 probing. + * Useful to retract or move the Z probe out of the way. + */ +//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" + + +// @section homing + +// The center of the bed is at (X=0, Y=0) +//#define BED_CENTER_AT_0_0 + +// Manually set the home position. Leave these undefined for automatic settings. +// For DELTA this is the top-center of the Cartesian print volume. +//#define MANUAL_X_HOME_POS 0 +//#define MANUAL_Y_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 0 + +// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. +// +// With this feature enabled: +// +// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. +// - If stepper drivers time out, it will need X and Y homing again before Z homing. +// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). +// - Prevent Z homing when the Z probe is outside bed area. +// +//#define Z_SAFE_HOMING + +#if ENABLED(Z_SAFE_HOMING) + #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). +#endif + +// Homing speeds (mm/m) +#define HOMING_FEEDRATE_XY (50*60) +#define HOMING_FEEDRATE_Z (4*60) + +// Validate that endstops are triggered on homing moves +#define VALIDATE_HOMING_ENDSTOPS + +// @section calibrate + +/** + * Bed Skew Compensation + * + * This feature corrects for misalignment in the XYZ axes. + * + * Take the following steps to get the bed skew in the XY plane: + * 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185) + * 2. For XY_DIAG_AC measure the diagonal A to C + * 3. For XY_DIAG_BD measure the diagonal B to D + * 4. For XY_SIDE_AD measure the edge A to D + * + * Marlin automatically computes skew factors from these measurements. + * Skew factors may also be computed and set manually: + * + * - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2 + * - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD))) + * + * If desired, follow the same procedure for XZ and YZ. + * Use these diagrams for reference: + * + * Y Z Z + * ^ B-------C ^ B-------C ^ B-------C + * | / / | / / | / / + * | / / | / / | / / + * | A-------D | A-------D | A-------D + * +-------------->X +-------------->X +-------------->Y + * XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR + */ +//#define SKEW_CORRECTION + +#if ENABLED(SKEW_CORRECTION) + // Input all length measurements here: + #define XY_DIAG_AC 282.8427124746 + #define XY_DIAG_BD 282.8427124746 + #define XY_SIDE_AD 200 + + // Or, set the default skew factors directly here + // to override the above measurements: + #define XY_SKEW_FACTOR 0.0 + + //#define SKEW_CORRECTION_FOR_Z + #if ENABLED(SKEW_CORRECTION_FOR_Z) + #define XZ_DIAG_AC 282.8427124746 + #define XZ_DIAG_BD 282.8427124746 + #define YZ_DIAG_AC 282.8427124746 + #define YZ_DIAG_BD 282.8427124746 + #define YZ_SIDE_AD 200 + #define XZ_SKEW_FACTOR 0.0 + #define YZ_SKEW_FACTOR 0.0 + #endif + + // Enable this option for M852 to set skew at runtime + //#define SKEW_CORRECTION_GCODE +#endif + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section extras + +/** + * EEPROM + * + * Persistent storage to preserve configurable settings across reboots. + * + * M500 - Store settings to EEPROM. + * M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes) + * M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.) + */ +#define EEPROM_SETTINGS // Persistent storage with M500 and M501 +//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! +#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. +#if ENABLED(EEPROM_SETTINGS) + //#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors. +#endif + +// +// Host Keepalive +// +// When enabled Marlin will send a busy status message to the host +// every couple of seconds when it can't accept commands. +// +#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages +#define DEFAULT_KEEPALIVE_INTERVAL 5 // Number of seconds between "busy" messages. Set with M113. +#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating + +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage + +// +// G20/G21 Inch mode support +// +//#define INCH_MODE_SUPPORT + +// +// M149 Set temperature units support +// +//#define TEMPERATURE_UNITS_SUPPORT + +// @section temperature + +// Preheat Constants +#define PREHEAT_1_LABEL "PLA" +#define PREHEAT_1_TEMP_HOTEND 195 +#define PREHEAT_1_TEMP_BED 55 +#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 + +#define PREHEAT_2_LABEL "ABS" +#define PREHEAT_2_TEMP_HOTEND 230 +#define PREHEAT_2_TEMP_BED 70 +#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 + +/** + * Nozzle Park + * + * Park the nozzle at the given XYZ position on idle or G27. + * + * The "P" parameter controls the action applied to the Z axis: + * + * P0 (Default) If Z is below park Z raise the nozzle. + * P1 Raise the nozzle always to Z-park height. + * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. + */ +#define NOZZLE_PARK_FEATURE + +#if ENABLED(NOZZLE_PARK_FEATURE) + // Specify a park position as { X, Y, Z_raise } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 60 // (mm/s) X and Y axes feedrate (also used for delta Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // (mm/s) Z axis feedrate (not used for delta printers) +#endif + +/** + * Clean Nozzle Feature -- EXPERIMENTAL + * + * Adds the G12 command to perform a nozzle cleaning process. + * + * Parameters: + * P Pattern + * S Strokes / Repetitions + * T Triangles (P1 only) + * + * Patterns: + * P0 Straight line (default). This process requires a sponge type material + * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) + * between the start / end points. + * + * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the + * number of zig-zag triangles to do. "S" defines the number of strokes. + * Zig-zags are done in whichever is the narrower dimension. + * For example, "G12 P1 S1 T3" will execute: + * + * -- + * | (X0, Y1) | /\ /\ /\ | (X1, Y1) + * | | / \ / \ / \ | + * A | | / \ / \ / \ | + * | | / \ / \ / \ | + * | (X0, Y0) | / \/ \/ \ | (X1, Y0) + * -- +--------------------------------+ + * |________|_________|_________| + * T1 T2 T3 + * + * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. + * "R" specifies the radius. "S" specifies the stroke count. + * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. + * + * Caveats: The ending Z should be the same as starting Z. + * Attention: EXPERIMENTAL. G-code arguments may change. + * + */ +//#define NOZZLE_CLEAN_FEATURE + +#if ENABLED(NOZZLE_CLEAN_FEATURE) + // Default number of pattern repetitions + #define NOZZLE_CLEAN_STROKES 12 + + // Default number of triangles + #define NOZZLE_CLEAN_TRIANGLES 3 + + // Specify positions as { X, Y, Z } + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } + #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } + + // Circular pattern radius + #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 + // Circular pattern circle fragments number + #define NOZZLE_CLEAN_CIRCLE_FN 10 + // Middle point of circle + #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT + + // Move the nozzle to the initial position after cleaning + #define NOZZLE_CLEAN_GOBACK + + // Enable for a purge/clean station that's always at the gantry height (thus no Z move) + //#define NOZZLE_CLEAN_NO_Z +#endif + +/** + * Print Job Timer + * + * Automatically start and stop the print job timer on M104/M109/M190. + * + * M104 (hotend, no wait) - high temp = none, low temp = stop timer + * M109 (hotend, wait) - high temp = start timer, low temp = stop timer + * M190 (bed, wait) - high temp = start timer, low temp = none + * + * The timer can also be controlled with the following commands: + * + * M75 - Start the print job timer + * M76 - Pause the print job timer + * M77 - Stop the print job timer + */ +#define PRINTJOB_TIMER_AUTOSTART + +/** + * Print Counter + * + * Track statistical data such as: + * + * - Total print jobs + * - Total successful print jobs + * - Total failed print jobs + * - Total time printing + * + * View the current statistics with M78. + */ +//#define PRINTCOUNTER + +//============================================================================= +//============================= LCD and SD support ============================ +//============================================================================= + +// @section lcd + +/** + * LCD LANGUAGE + * + * Select the language to display on the LCD. These languages are available: + * + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test + * + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + */ +#define LCD_LANGUAGE en + +/** + * LCD Character Set + * + * Note: This option is NOT applicable to Graphical Displays. + * + * All character-based LCDs provide ASCII plus one of these + * language extensions: + * + * - JAPANESE ... the most common + * - WESTERN ... with more accented characters + * - CYRILLIC ... for the Russian language + * + * To determine the language extension installed on your controller: + * + * - Compile and upload with LCD_LANGUAGE set to 'test' + * - Click the controller to view the LCD menu + * - The LCD will display Japanese, Western, or Cyrillic text + * + * See http://marlinfw.org/docs/development/lcd_language.html + * + * :['JAPANESE', 'WESTERN', 'CYRILLIC'] + */ +#define DISPLAY_CHARSET_HD44780 JAPANESE + +/** + * Info Screen Style (0:Classic, 1:Prusa) + * + * :[0:'Classic', 1:'Prusa'] + */ +#define LCD_INFO_SCREEN_STYLE 0 + +/** + * SD CARD + * + * SD Card support is disabled by default. If your controller has an SD slot, + * you must uncomment the following option or it won't work. + * + */ +#define SDSUPPORT + +/** + * SD CARD: SPI SPEED + * + * Enable one of the following items for a slower SPI transfer speed. + * This may be required to resolve "volume init" errors. + */ +//#define SPI_SPEED SPI_HALF_SPEED +//#define SPI_SPEED SPI_QUARTER_SPEED +//#define SPI_SPEED SPI_EIGHTH_SPEED + +/** + * SD CARD: ENABLE CRC + * + * Use CRC checks and retries on the SD communication. + */ +//#define SD_CHECK_AND_RETRY + +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + +// +// ENCODER SETTINGS +// +// This option overrides the default number of encoder pulses needed to +// produce one step. Should be increased for high-resolution encoders. +// +//#define ENCODER_PULSES_PER_STEP 4 + +// +// Use this option to override the number of step signals required to +// move between next/prev menu items. +// +//#define ENCODER_STEPS_PER_MENU_ITEM 1 + +/** + * Encoder Direction Options + * + * Test your encoder's behavior first with both options disabled. + * + * Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION. + * Reversed Menu Navigation only? Enable REVERSE_MENU_DIRECTION. + * Reversed Value Editing only? Enable BOTH options. + */ + +// +// This option reverses the encoder direction everywhere. +// +// Set this option if CLOCKWISE causes values to DECREASE +// +//#define REVERSE_ENCODER_DIRECTION + +// +// This option reverses the encoder direction for navigating LCD menus. +// +// If CLOCKWISE normally moves DOWN this makes it go UP. +// If CLOCKWISE normally moves UP this makes it go DOWN. +// +//#define REVERSE_MENU_DIRECTION + +// +// This option reverses the encoder direction for Select Screen. +// +// If CLOCKWISE normally moves LEFT this makes it go RIGHT. +// If CLOCKWISE normally moves RIGHT this makes it go LEFT. +// +//#define REVERSE_SELECT_DIRECTION + +// +// Individual Axis Homing +// +// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +// +//#define INDIVIDUAL_AXIS_HOMING_MENU + +// +// SPEAKER/BUZZER +// +// If you have a speaker that can produce tones, enable it here. +// By default Marlin assumes you have a buzzer with a fixed frequency. +// +#define SPEAKER + +// +// The duration and frequency for the UI feedback sound. +// Set these to 0 to disable audio feedback in the LCD menus. +// +// Note: Test audio output with the G-Code: +// M300 S P +// +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 +//#define LCD_FEEDBACK_FREQUENCY_HZ 5000 + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + +// +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +// +// Note: Usually sold with a white PCB. +// +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// +// Original RADDS LCD Display+Encoder+SDCardReader +// http://doku.radds.org/dokumentation/lcd-display/ +// +//#define RADDS_DISPLAY + +// +// ULTIMAKER Controller. +// +//#define ULTIMAKERCONTROLLER + +// +// ULTIPANEL as seen on Thingiverse. +// +//#define ULTIPANEL + +// +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +// +//#define PANEL_ONE + +// +// GADGETS3D G3D LCD/SD Controller +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +// +// Note: Usually sold with a blue PCB. +// +//#define G3D_PANEL + +// +// RigidBot Panel V1.0 +// http://www.inventapart.com/ +// +//#define RIGIDBOT_PANEL + +// +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html +// +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 + +// +// ANET and Tronxy 20x4 Controller +// +//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. + // This LCD is known to be susceptible to electrical interference + // which scrambles the display. Pressing any button clears it up. + // This is a LCD2004 display with 5 analog buttons. + +// +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. +// +//#define ULTRA_LCD + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= + +// +// CONTROLLER TYPE: I2C +// +// Note: These controllers require the installation of Arduino's LiquidCrystal_I2C +// library. For more info: https://github.com/kiyoshigawa/LiquidCrystal_I2C +// + +// +// Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// +//#define RA_CONTROL_PANEL + +// +// Sainsmart (YwRobot) LCD Displays +// +// These require F.Malpartida's LiquidCrystal_I2C library +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home +// +//#define LCD_SAINSMART_I2C_1602 +//#define LCD_SAINSMART_I2C_2004 + +// +// Generic LCM1602 LCD adapter +// +//#define LCM1602 + +// +// PANELOLU2 LCD with status LEDs, +// separate encoder and click inputs. +// +// Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later. +// For more info: https://github.com/lincomatic/LiquidTWI2 +// +// Note: The PANELOLU2 encoder click input can either be directly connected to +// a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). +// +//#define LCD_I2C_PANELOLU2 + +// +// Panucatt VIKI LCD with status LEDs, +// integrated click & L/R/U/D buttons, separate encoder inputs. +// +//#define LCD_I2C_VIKI + +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2-wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +// +// 3-wire SR LCD with strobe using 74HC4094 +// https://github.com/mikeshub/SailfishLCD +// Uses the code directly from Sailfish +// +//#define FF_INTERFACEBOARD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + +// +// Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display and encoder +// https://github.com/Ultimaker/Ultimaker2/tree/master/1249_Ulticontroller_Board_(x1) +// +//#define ULTI_CONTROLLER + +// +// MKS MINI12864 with graphic controller and SD support +// https://reprap.org/wiki/MKS_MINI_12864 +// +//#define MKS_MINI_12864 + +// +// FYSETC variant of the MINI12864 graphic controller with SD support +// https://wiki.fysetc.com/Mini12864_Panel/ +// +//#define FYSETC_MINI_12864_X_X // Type C/D/E/F. No tunable RGB Backlight by default +//#define FYSETC_MINI_12864_1_2 // Type C/D/E/F. Simple RGB Backlight (always on) +//#define FYSETC_MINI_12864_2_0 // Type A/B. Discreet RGB Backlight +//#define FYSETC_MINI_12864_2_1 // Type A/B. Neopixel RGB Backlight + +// +// Factory display for Creality CR-10 +// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html +// +// This is RAMPS-compatible using a single 10-pin connector. +// (For CR-10 owners who want to replace the Melzi Creality board but retain the display) +// +//#define CR10_STOCKDISPLAY + +// +// ANET and Tronxy Graphical Controller +// +// Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 +// A clone of the RepRapDiscount full graphics display but with +// different pins/wiring (see pins_ANET_10.h). +// +//#define ANET_FULL_GRAPHICS_LCD + +// +// AZSMZ 12864 LCD with SD +// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html +// +//#define AZSMZ_12864 + +// +// Silvergate GLCD controller +// http://github.com/android444/Silvergate +// +//#define SILVER_GATE_GLCD_CONTROLLER + +//============================================================================= +//============================== OLED Displays ============================== +//============================================================================= + +// +// SSD1306 OLED full graphics generic display +// +//#define U8GLIB_SSD1306 + +// +// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules +// +//#define SAV_3DGLCD +#if ENABLED(SAV_3DGLCD) + #define U8GLIB_SSD1306 + //#define U8GLIB_SH1106 +#endif + +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + +// +// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// http://reprap.org/wiki/MKS_12864OLED +// +// Tiny, but very sharp OLED display +// +//#define MKS_12864OLED // Uses the SH1106 controller (default) +//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller + +// +// Einstart S OLED SSD1306 +// +//#define U8GLIB_SH1106_EINSTART + +// +// Overlord OLED display/controller with i2c buzzer and LEDs +// +//#define OVERLORD_OLED + +//============================================================================= +//========================== Extensible UI Displays =========================== +//============================================================================= + +// +// DGUS Touch Display with DWIN OS +// +//#define DGUS_LCD + +// +// Touch-screen LCD for Malyan M200 printers +// +//#define MALYAN_LCD + +// +// LulzBot Color Touch UI for FTDI EVE (FT800/FT810) displays +// See Configuration_adv.h for all configuration options. +// +//#define LULZBOT_TOUCH_UI + +// +// Third-party or vendor-customized controller interfaces. +// Sources should be installed in 'src/lcd/extensible_ui'. +// +//#define EXTENSIBLE_UI + +//============================================================================= +//=============================== Graphical TFTs ============================== +//============================================================================= + +// +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) +// +//#define FSMC_GRAPHICAL_TFT + +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8 +// +//#define TOUCH_BUTTONS +#if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + + #define XPT2046_X_CALIBRATION 12316 + #define XPT2046_Y_CALIBRATION -8981 + #define XPT2046_X_OFFSET -43 + #define XPT2046_Y_OFFSET 257 +#endif + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press + +//============================================================================= +//=============================== Extra Features ============================== +//============================================================================= + +// @section extras + +// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +// :[0,1,2,3,4,5,6,7] +#define SOFT_PWM_SCALE 0 + +// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can +// be used to mitigate the associated resolution loss. If enabled, +// some of the PWM cycles are stretched so on average the desired +// duty cycle is attained. +//#define SOFT_PWM_DITHER + +// Temperature status LEDs that display the hotend and bed temperature. +// If all hotends, bed temperature, and target temperature are under 54C +// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) +//#define TEMP_STAT_LEDS + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder +//#define BARICUDA + +// Support for BlinkM/CyzRgb +//#define BLINKM + +// Support for PCA9632 PWM LED driver +//#define PCA9632 + +// Support for PCA9533 PWM LED driver +// https://github.com/mikeshub/SailfishRGB_LED +//#define PCA9533 + +/** + * RGB LED / LED Strip Control + * + * Enable support for an RGB LED connected to 5V digital pins, or + * an RGB Strip connected to MOSFETs controlled by digital pins. + * + * Adds the M150 command to set the LED (or LED strip) color. + * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of + * luminance values can be set from 0 to 255. + * For Neopixel LED an overall brightness parameter is also available. + * + * *** CAUTION *** + * LED Strips require a MOSFET Chip between PWM lines and LEDs, + * as the Arduino cannot handle the current the LEDs will require. + * Failure to follow this precaution can destroy your Arduino! + * NOTE: A separate 5V power supply is required! The Neopixel LED needs + * more current than the Arduino 5V linear regulator can produce. + * *** CAUTION *** + * + * LED Type. Enable only one of the following two options. + * + */ +//#define RGB_LED +//#define RGBW_LED + +#if EITHER(RGB_LED, RGBW_LED) + //#define RGB_LED_R_PIN 34 + //#define RGB_LED_G_PIN 43 + //#define RGB_LED_B_PIN 35 + //#define RGB_LED_W_PIN -1 +#endif + +// Support for Adafruit Neopixel LED driver +//#define NEOPIXEL_LED +#if ENABLED(NEOPIXEL_LED) + #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h) + #define NEOPIXEL_PIN 4 // LED driving pin + //#define NEOPIXEL2_TYPE NEOPIXEL_TYPE + //#define NEOPIXEL2_PIN 5 + #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip, larger of 2 strips if 2 neopixel strips are used + #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once. + #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255) + //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup + + // Use a single Neopixel LED for static (background) lighting + //#define NEOPIXEL_BKGD_LED_INDEX 0 // Index of the LED to use + //#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W +#endif + +/** + * Printer Event LEDs + * + * During printing, the LEDs will reflect the printer status: + * + * - Gradually change from blue to violet as the heated bed gets to target temp + * - Gradually change from violet to red as the hotend gets to temperature + * - Change to white to illuminate work surface + * - Change to green once print has finished + * - Turn off after the print has finished and the user has pushed a button + */ +#if ANY(BLINKM, RGB_LED, RGBW_LED, PCA9632, PCA9533, NEOPIXEL_LED) + #define PRINTER_EVENT_LEDS +#endif + +/** + * R/C SERVO support + * Sponsored by TrinityLabs, Reworked by codexmas + */ + +/** + * Number of servos + * + * For some servo-related options NUM_SERVOS will be set automatically. + * Set this manually if there are extra servos needing manual control. + * Leave undefined or set to 0 to entirely disable the servo subsystem. + */ +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. +// 300ms is a good value but you can try less delay. +// If the servo can't reach the requested position, increase it. +#define SERVO_DELAY { 300 } + +// Only power servos during movement, otherwise leave off to prevent jitter +//#define DEACTIVATE_SERVOS_AFTER_MOVE + +// Allow servo angle to be edited and saved to EEPROM +//#define EDITABLE_SERVO_ANGLES diff --git a/config/examples/ADIMLab/Gantry v1/Configuration_adv.h b/config/examples/ADIMLab/Gantry v1/Configuration_adv.h new file mode 100644 index 0000000000..a41fa9e9b7 --- /dev/null +++ b/config/examples/ADIMLab/Gantry v1/Configuration_adv.h @@ -0,0 +1,2766 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Configuration_adv.h + * + * Advanced settings. + * Only change these if you know exactly what you're doing. + * Some of these settings can damage your printer if improperly set! + * + * Basic settings can be found in Configuration.h + * + */ +#define CONFIGURATION_ADV_H_VERSION 020000 + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +// +// Custom Thermistor 1000 parameters +// +#if TEMP_SENSOR_0 == 1000 + #define HOTEND0_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND0_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND0_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_1 == 1000 + #define HOTEND1_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND1_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND1_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_2 == 1000 + #define HOTEND2_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND2_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND2_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_3 == 1000 + #define HOTEND3_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND3_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND3_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_4 == 1000 + #define HOTEND4_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND4_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND4_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_5 == 1000 + #define HOTEND5_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND5_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND5_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_BED == 1000 + #define BED_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define BED_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define BED_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_CHAMBER == 1000 + #define CHAMBER_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define CHAMBER_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define CHAMBER_BETA 3950 // Beta value +#endif + +// +// Hephestos 2 24V heated bed upgrade kit. +// https://store.bq.com/en/heated-bed-kit-hephestos2 +// +//#define HEPHESTOS2_HEATED_BED_KIT +#if ENABLED(HEPHESTOS2_HEATED_BED_KIT) + #undef TEMP_SENSOR_BED + #define TEMP_SENSOR_BED 70 + #define HEATER_BED_INVERTING true +#endif + +/** + * Heated Chamber settings + */ +#if TEMP_SENSOR_CHAMBER + #define CHAMBER_MINTEMP 5 + #define CHAMBER_MAXTEMP 60 + #define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target + //#define CHAMBER_LIMIT_SWITCHING + //#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin + //#define HEATER_CHAMBER_INVERTING false +#endif + +#if DISABLED(PIDTEMPBED) + #define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control + #if ENABLED(BED_LIMIT_SWITCHING) + #define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS + #endif +#endif + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * The solution: Once the temperature reaches the target, start observing. + * If the temperature stays too far below the target (hysteresis) for too + * long (period), the firmware will halt the machine as a safety precaution. + * + * If you get false positives for "Thermal Runaway", increase + * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD + */ +#if ENABLED(THERMAL_PROTECTION_HOTENDS) + #define THERMAL_PROTECTION_PERIOD 40 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius + + //#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops + #if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP) + //#define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303 + #endif + + /** + * Whenever an M104, M109, or M303 increases the target temperature, the + * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature + * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and + * requires a hard reset. This test restarts with any M104/M109/M303, but only + * if the current temperature is far enough below the target for a reliable + * test. + * + * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD + * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set + * below 2. + */ + #define WATCH_TEMP_PERIOD 20 // Seconds + #define WATCH_TEMP_INCREASE 2 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the bed are just as above for hotends. + */ +#if ENABLED(THERMAL_PROTECTION_BED) + #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius + + /** + * As described above, except for the bed (M140/M190/M303). + */ + #define WATCH_BED_TEMP_PERIOD 360 // Seconds + #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the heated chamber. + */ +#if ENABLED(THERMAL_PROTECTION_CHAMBER) + #define THERMAL_PROTECTION_CHAMBER_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_CHAMBER_HYSTERESIS 2 // Degrees Celsius + + /** + * Heated chamber watch settings (M141/M191). + */ + #define WATCH_CHAMBER_TEMP_PERIOD 60 // Seconds + #define WATCH_CHAMBER_TEMP_INCREASE 2 // Degrees Celsius +#endif + +#if ENABLED(PIDTEMP) + // Add an experimental additional term to the heater power, proportional to the extrusion speed. + // A well-chosen Kc value should add just enough power to melt the increased material volume. + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) + #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) + #define LPQ_MAX_LEN 50 + #endif +#endif + +/** + * Automatic Temperature: + * The hotend target temperature is calculated by all the buffered lines of gcode. + * The maximum buffered steps/sec of the extruder motor is called "se". + * Start autotemp mode with M109 S B F + * The target temperature is set to mintemp+factor*se[steps/sec] and is limited by + * mintemp and maxtemp. Turn this off by executing M109 without F* + * Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp. + * On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode + */ +#define AUTOTEMP +#if ENABLED(AUTOTEMP) + #define AUTOTEMP_OLDWEIGHT 0.98 +#endif + +// Show extra position information with 'M114 D' +//#define M114_DETAIL + +// Show Temperature ADC value +// Enable for M105 to include ADC values read from temperature sensors. +//#define SHOW_TEMP_ADC_VALUES + +/** + * High Temperature Thermistor Support + * + * Thermistors able to support high temperature tend to have a hard time getting + * good readings at room and lower temperatures. This means HEATER_X_RAW_LO_TEMP + * will probably be caught when the heating element first turns on during the + * preheating process, which will trigger a min_temp_error as a safety measure + * and force stop everything. + * To circumvent this limitation, we allow for a preheat time (during which, + * min_temp_error won't be triggered) and add a min_temp buffer to handle + * aberrant readings. + * + * If you want to enable this feature for your hotend thermistor(s) + * uncomment and set values > 0 in the constants below + */ + +// The number of consecutive low temperature errors that can occur +// before a min_temp_error is triggered. (Shouldn't be more than 10.) +//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0 + +// The number of milliseconds a hotend will preheat before starting to check +// the temperature. This value should NOT be set to the time it takes the +// hot end to reach the target temperature, but the time it takes to reach +// the minimum temperature your thermistor can read. The lower the better/safer. +// This shouldn't need to be more than 30 seconds (30000) +//#define MILLISECONDS_PREHEAT_TIME 0 + +// @section extruder + +// Extruder runout prevention. +// If the machine is idle and the temperature over MINTEMP +// then extrude some filament every couple of SECONDS. +//#define EXTRUDER_RUNOUT_PREVENT +#if ENABLED(EXTRUDER_RUNOUT_PREVENT) + #define EXTRUDER_RUNOUT_MINTEMP 190 + #define EXTRUDER_RUNOUT_SECONDS 30 + #define EXTRUDER_RUNOUT_SPEED 1500 // (mm/m) + #define EXTRUDER_RUNOUT_EXTRUDE 5 // (mm) +#endif + +// @section temperature + +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 + +/** + * Controller Fan + * To cool down the stepper drivers and MOSFETs. + * + * The fan will turn on automatically whenever any stepper is enabled + * and turn off after a set period after all steppers are turned off. + */ +//#define USE_CONTROLLER_FAN +#if ENABLED(USE_CONTROLLER_FAN) + //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan + #define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled + #define CONTROLLERFAN_SPEED 255 // 255 == full speed + //#define CONTROLLERFAN_SPEED_Z_ONLY 127 // Reduce noise on machines that keep Z enabled +#endif + +// When first starting the main fan, run it at full speed for the +// given number of milliseconds. This gets the fan spinning reliably +// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) +//#define FAN_KICKSTART_TIME 100 + +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ +//#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 + +/** + * FAST PWM FAN Settings + * + * Use to change the FAST FAN PWM frequency (if enabled in Configuration.h) + * Combinations of PWM Modes, prescale values and TOP resolutions are used internally to produce a + * frequency as close as possible to the desired frequency. + * + * FAST_PWM_FAN_FREQUENCY [undefined by default] + * Set this to your desired frequency. + * If left undefined this defaults to F = F_CPU/(2*255*1) + * ie F = 31.4 Khz on 16 MHz microcontrollers or F = 39.2 KHz on 20 MHz microcontrollers + * These defaults are the same as with the old FAST_PWM_FAN implementation - no migration is required + * NOTE: Setting very low frequencies (< 10 Hz) may result in unexpected timer behavior. + * + * USE_OCR2A_AS_TOP [undefined by default] + * Boards that use TIMER2 for PWM have limitations resulting in only a few possible frequencies on TIMER2: + * 16MHz MCUs: [62.5KHz, 31.4KHz (default), 7.8KHz, 3.92KHz, 1.95KHz, 977Hz, 488Hz, 244Hz, 60Hz, 122Hz, 30Hz] + * 20MHz MCUs: [78.1KHz, 39.2KHz (default), 9.77KHz, 4.9KHz, 2.44KHz, 1.22KHz, 610Hz, 305Hz, 153Hz, 76Hz, 38Hz] + * A greater range can be achieved by enabling USE_OCR2A_AS_TOP. But note that this option blocks the use of + * PWM on pin OC2A. Only use this option if you don't need PWM on 0C2A. (Check your schematic.) + * USE_OCR2A_AS_TOP sacrifices duty cycle control resolution to achieve this broader range of frequencies. + */ +#if ENABLED(FAST_PWM_FAN) + //#define FAST_PWM_FAN_FREQUENCY 31400 + //#define USE_OCR2A_AS_TOP +#endif + +// @section extruder + +/** + * Extruder cooling fans + * + * Extruder auto fans automatically turn on when their extruders' + * temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE. + * + * Your board's pins file specifies the recommended pins. Override those here + * or set to -1 to disable completely. + * + * Multiple extruders can be assigned to the same pin in which case + * the fan will turn on when any selected extruder is above the threshold. + */ +#define E0_AUTO_FAN_PIN -1 +#define E1_AUTO_FAN_PIN -1 +#define E2_AUTO_FAN_PIN -1 +#define E3_AUTO_FAN_PIN -1 +#define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 +#define CHAMBER_AUTO_FAN_PIN -1 + +#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 +#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed +#define CHAMBER_AUTO_FAN_TEMPERATURE 30 +#define CHAMBER_AUTO_FAN_SPEED 255 + +/** + * Part-Cooling Fan Multiplexer + * + * This feature allows you to digitally multiplex the fan output. + * The multiplexer is automatically switched at tool-change. + * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans. + */ +#define FANMUX0_PIN -1 +#define FANMUX1_PIN -1 +#define FANMUX2_PIN -1 + +/** + * M355 Case Light on-off / brightness + */ +#define CASE_LIGHT_ENABLE +#if ENABLED(CASE_LIGHT_ENABLE) + //#define CASE_LIGHT_PIN 8 // Override the default pin if needed + #define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW + #define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on + #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin) + #define CASE_LIGHT_MENU // Add Case Light options to the LCD menu + #define CASE_LIGHT_NO_BRIGHTNESS // Disable brightness control. Enable for non-PWM lighting. + //#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED. + #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) + #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } + #endif +#endif + +// @section homing + +// If you want endstops to stay on (by default) even when not homing +// enable this option. Override at any time with M120, M121. +//#define ENDSTOPS_ALWAYS_ON_DEFAULT + +// @section extras + +//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats. + +// Employ an external closed loop controller. Override pins here if needed. +//#define EXTERNAL_CLOSED_LOOP_CONTROLLER +#if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER) + //#define CLOSED_LOOP_ENABLE_PIN -1 + //#define CLOSED_LOOP_MOVE_COMPLETE_PIN -1 +#endif + +/** + * Dual Steppers / Dual Endstops + * + * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes. + * + * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to + * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop + * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug + * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'. + * + * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors + * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error + * in X2. Dual endstop offsets can be set at runtime with 'M666 X Y Z'. + */ + +//#define X_DUAL_STEPPER_DRIVERS +#if ENABLED(X_DUAL_STEPPER_DRIVERS) + #define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions + //#define X_DUAL_ENDSTOPS + #if ENABLED(X_DUAL_ENDSTOPS) + #define X2_USE_ENDSTOP _XMAX_ + #define X_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Y_DUAL_STEPPER_DRIVERS +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + #define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions + //#define Y_DUAL_ENDSTOPS + #if ENABLED(Y_DUAL_ENDSTOPS) + #define Y2_USE_ENDSTOP _YMAX_ + #define Y_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_DUAL_STEPPER_DRIVERS +#if ENABLED(Z_DUAL_STEPPER_DRIVERS) + //#define Z_DUAL_ENDSTOPS + #if ENABLED(Z_DUAL_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_TRIPLE_STEPPER_DRIVERS +#if ENABLED(Z_TRIPLE_STEPPER_DRIVERS) + //#define Z_TRIPLE_ENDSTOPS + #if ENABLED(Z_TRIPLE_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z3_USE_ENDSTOP _YMAX_ + #define Z_TRIPLE_ENDSTOPS_ADJUSTMENT2 0 + #define Z_TRIPLE_ENDSTOPS_ADJUSTMENT3 0 + #endif +#endif + +/** + * Dual X Carriage + * + * This setup has two X carriages that can move independently, each with its own hotend. + * The carriages can be used to print an object with two colors or materials, or in + * "duplication mode" it can print two identical or X-mirrored objects simultaneously. + * The inactive carriage is parked automatically to prevent oozing. + * X1 is the left carriage, X2 the right. They park and home at opposite ends of the X axis. + * By default the X2 stepper is assigned to the first unused E plug on the board. + * + * The following Dual X Carriage modes can be selected with M605 S: + * + * 0 : (FULL_CONTROL) The slicer has full control over both X-carriages and can achieve optimal travel + * results as long as it supports dual X-carriages. (M605 S0) + * + * 1 : (AUTO_PARK) The firmware automatically parks and unparks the X-carriages on tool-change so + * that additional slicer support is not required. (M605 S1) + * + * 2 : (DUPLICATION) The firmware moves the second X-carriage and extruder in synchronization with + * the first X-carriage and extruder, to print 2 copies of the same object at the same time. + * Set the constant X-offset and temperature differential with M605 S2 X[offs] R[deg] and + * follow with M605 S2 to initiate duplicated movement. + * + * 3 : (MIRRORED) Formbot/Vivedino-inspired mirrored mode in which the second extruder duplicates + * the movement of the first except the second extruder is reversed in the X axis. + * Set the initial X offset and temperature differential with M605 S2 X[offs] R[deg] and + * follow with M605 S3 to initiate mirrored movement. + */ +//#define DUAL_X_CARRIAGE +#if ENABLED(DUAL_X_CARRIAGE) + #define X1_MIN_POS X_MIN_POS // Set to X_MIN_POS + #define X1_MAX_POS X_BED_SIZE // Set a maximum so the first X-carriage can't hit the parked second X-carriage + #define X2_MIN_POS 80 // Set a minimum to ensure the second X-carriage can't hit the parked first X-carriage + #define X2_MAX_POS 353 // Set this to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // Set to 1. The second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // Default X2 home position. Set to X2_MAX_POS. + // However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_AUTO_PARK_MODE + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif // DUAL_X_CARRIAGE + +// Activate a solenoid on the active extruder with M380. Disable all with M381. +// Define SOL0_PIN, SOL1_PIN, etc., for each extruder that has a solenoid. +//#define EXT_SOLENOID + +// @section homing + +// Homing hits each endstop, retracts by these distances, then does a slower bump. +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 2 +#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) +//#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially +//#define HOMING_BACKOFF_MM { 2, 2, 2 } // (mm) Move away from the endstops after homing + +// When G28 is called, this option will make Y home before X +//#define HOME_Y_BEFORE_X + +// Enable this if X or Y can't home without homing the other axis first. +//#define CODEPENDENT_XY_HOMING + +#if ENABLED(BLTOUCH) + /** + * Either: Use the defaults (recommended) or: For special purposes, use the following DEFINES + * Do not activate settings that the probe might not understand. Clones might misunderstand + * advanced commands. + * + * Note: If the probe is not deploying, check a "Cmd: Reset" and "Cmd: Self-Test" and then + * check the wiring of the BROWN, RED and ORANGE wires. + * + * Note: If the trigger signal of your probe is not being recognized, it has been very often + * because the BLACK and WHITE wires needed to be swapped. They are not "interchangeable" + * like they would be with a real switch. So please check the wiring first. + * + * Settings for all BLTouch and clone probes: + */ + + // Safety: The probe needs time to recognize the command. + // Minimum command delay (ms). Enable and increase if needed. + //#define BLTOUCH_DELAY 500 + + /** + * Settings for BLTOUCH Classic 1.2, 1.3 or BLTouch Smart 1.0, 2.0, 2.2, 3.0, 3.1, and most clones: + */ + + // Feature: Switch into SW mode after a deploy. It makes the output pulse longer. Can be useful + // in special cases, like noisy or filtered input configurations. + //#define BLTOUCH_FORCE_SW_MODE + + /** + * Settings for BLTouch Smart 3.0 and 3.1 + * Summary: + * - Voltage modes: 5V and OD (open drain - "logic voltage free") output modes + * - High-Speed mode + * - Disable LCD voltage options + */ + + /** + * Danger: Don't activate 5V mode unless attached to a 5V-tolerant controller! + * V3.0 or 3.1: Set default mode to 5V mode at Marlin startup. + * If disabled, OD mode is the hard-coded default on 3.0 + * On startup, Marlin will compare its eeprom to this vale. If the selected mode + * differs, a mode set eeprom write will be completed at initialization. + * Use the option below to force an eeprom write to a V3.1 probe regardless. + */ + //#define BLTOUCH_SET_5V_MODE + + /** + * Safety: Activate if connecting a probe with an unknown voltage mode. + * V3.0: Set a probe into mode selected above at Marlin startup. Required for 5V mode on 3.0 + * V3.1: Force a probe with unknown mode into selected mode at Marlin startup ( = Probe EEPROM write ) + * To preserve the life of the probe, use this once then turn it off and re-flash. + */ + //#define BLTOUCH_FORCE_MODE_SET + + /** + * Use "HIGH SPEED" mode for probing. + * Danger: Disable if your probe sometimes fails. Only suitable for stable well-adjusted systems. + * This feature was designed for Delta's with very fast Z moves however higher speed cartesians may function + * If the machine cannot raise the probe fast enough after a trigger, it may enter a fault state. + */ + //#define BLTOUCH_HS_MODE + + // Safety: Enable voltage mode settings in the LCD menu. + //#define BLTOUCH_LCD_VOLTAGE_MENU + +#endif // BLTOUCH + +/** + * Z Steppers Auto-Alignment + * Add the G34 command to align multiple Z steppers using a bed probe. + */ +//#define Z_STEPPER_AUTO_ALIGN +#if ENABLED(Z_STEPPER_AUTO_ALIGN) + // Define probe X and Y positions for Z1, Z2 [, Z3] + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + // Set number of iterations to align + #define Z_STEPPER_ALIGN_ITERATIONS 3 + // Enable to restore leveling setup after operation + #define RESTORE_LEVELING_AFTER_G34 + + // On a 300mm bed a 5% grade would give a misalignment of ~1.5cm + #define G34_MAX_GRADE 5 // (%) Maximum incline G34 will handle + + // Use the amplification factor to de-/increase correction step. + // In case the stepper (spindle) position is further out than the test point + // Use a value > 1. NOTE: This may cause instability + #define Z_STEPPER_ALIGN_AMP 1.0 + // Stop criterion. If the accuracy is better than this stop iterating early + #define Z_STEPPER_ALIGN_ACC 0.02 +#endif + +// @section motion + +#define AXIS_RELATIVE_MODES { false, false, false, false } + +// Add a Duplicate option for well-separated conjoined nozzles +//#define MULTI_NOZZLE_DUPLICATION + +// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. +#define DEFAULT_STEPPER_DEACTIVE_TIME 120 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // Set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated + +// Minimum time that a segment needs to take if the buffer is emptied +#define DEFAULT_MINSEGMENTTIME 20000 // (ms) + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05 // (mm/s) + +// +// Backlash Compensation +// Adds extra movement to axes on direction-changes to account for backlash. +// +//#define BACKLASH_COMPENSATION +#if ENABLED(BACKLASH_COMPENSATION) + // Define values for backlash distance and correction. + // If BACKLASH_GCODE is enabled these values are the defaults. + #define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm) + #define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction + + // Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments + // to reduce print artifacts. (Enabling this is costly in memory and computation!) + //#define BACKLASH_SMOOTHING_MM 3 // (mm) + + // Add runtime configuration and tuning of backlash values (M425) + //#define BACKLASH_GCODE + + #if ENABLED(BACKLASH_GCODE) + // Measure the Z backlash when probing (G29) and set with "M425 Z" + #define MEASURE_BACKLASH_WHEN_PROBING + + #if ENABLED(MEASURE_BACKLASH_WHEN_PROBING) + // When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT + // mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION + // increments while checking for the contact to be broken. + #define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm) + #define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm) + #define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m) + #endif + #endif +#endif + +/** + * Automatic backlash, position and hotend offset calibration + * + * Enable G425 to run automatic calibration using an electrically- + * conductive cube, bolt, or washer mounted on the bed. + * + * G425 uses the probe to touch the top and sides of the calibration object + * on the bed and measures and/or correct positional offsets, axis backlash + * and hotend offsets. + * + * Note: HOTEND_OFFSET and CALIBRATION_OBJECT_CENTER must be set to within + * ±5mm of true values for G425 to succeed. + */ +//#define CALIBRATION_GCODE +#if ENABLED(CALIBRATION_GCODE) + + #define CALIBRATION_MEASUREMENT_RESOLUTION 0.01 // mm + + #define CALIBRATION_FEEDRATE_SLOW 60 // mm/m + #define CALIBRATION_FEEDRATE_FAST 1200 // mm/m + #define CALIBRATION_FEEDRATE_TRAVEL 3000 // mm/m + + // The following parameters refer to the conical section of the nozzle tip. + #define CALIBRATION_NOZZLE_TIP_HEIGHT 1.0 // mm + #define CALIBRATION_NOZZLE_OUTER_DIAMETER 2.0 // mm + + // Uncomment to enable reporting (required for "G425 V", but consumes PROGMEM). + //#define CALIBRATION_REPORTING + + // The true location and dimension the cube/bolt/washer on the bed. + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm + + // Comment out any sides which are unreachable by the probe. For best + // auto-calibration results, all sides must be reachable. + #define CALIBRATION_MEASURE_RIGHT + #define CALIBRATION_MEASURE_FRONT + #define CALIBRATION_MEASURE_LEFT + #define CALIBRATION_MEASURE_BACK + + // Probing at the exact top center only works if the center is flat. If + // probing on a screwhead or hollow washer, probe near the edges. + //#define CALIBRATION_MEASURE_AT_TOP_EDGES + + // Define pin which is read during calibration + #ifndef CALIBRATION_PIN + #define CALIBRATION_PIN -1 // Override in pins.h or set to -1 to use your Z endstop + #define CALIBRATION_PIN_INVERTING false // Set to true to invert the pin + //#define CALIBRATION_PIN_PULLDOWN + #define CALIBRATION_PIN_PULLUP + #endif +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + +/** + * Custom Microstepping + * Override as-needed for your setup. Up to 3 MS pins are supported. + */ +//#define MICROSTEP1 LOW,LOW,LOW +//#define MICROSTEP2 HIGH,LOW,LOW +//#define MICROSTEP4 LOW,HIGH,LOW +//#define MICROSTEP8 HIGH,HIGH,LOW +//#define MICROSTEP16 LOW,LOW,HIGH +//#define MICROSTEP32 HIGH,LOW,HIGH + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] + +/** + * @section stepper motor current + * + * Some boards have a means of setting the stepper motor current via firmware. + * + * The power on motor currents are set by: + * PWM_MOTOR_CURRENT - used by MINIRAMBO & ULTIMAIN_2 + * known compatible chips: A4982 + * DIGIPOT_MOTOR_CURRENT - used by BQ_ZUM_MEGA_3D, RAMBO & SCOOVO_X9H + * known compatible chips: AD5206 + * DAC_MOTOR_CURRENT_DEFAULT - used by PRINTRBOARD_REVF & RIGIDBOARD_V2 + * known compatible chips: MCP4728 + * DIGIPOT_I2C_MOTOR_CURRENTS - used by 5DPRINT, AZTEEG_X3_PRO, AZTEEG_X5_MINI_WIFI, MIGHTYBOARD_REVE + * known compatible chips: MCP4451, MCP4018 + * + * Motor currents can also be set by M907 - M910 and by the LCD. + * M907 - applies to all. + * M908 - BQ_ZUM_MEGA_3D, RAMBO, PRINTRBOARD_REVF, RIGIDBOARD_V2 & SCOOVO_X9H + * M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2 + */ +//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps +//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) +//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis + +// Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro) +//#define DIGIPOT_I2C +#if ENABLED(DIGIPOT_I2C) && !defined(DIGIPOT_I2C_ADDRESS_A) + /** + * Common slave addresses: + * + * A (A shifted) B (B shifted) IC + * Smoothie 0x2C (0x58) 0x2D (0x5A) MCP4451 + * AZTEEG_X3_PRO 0x2C (0x58) 0x2E (0x5C) MCP4451 + * AZTEEG_X5_MINI 0x2C (0x58) 0x2E (0x5C) MCP4451 + * AZTEEG_X5_MINI_WIFI 0x58 0x5C MCP4451 + * MIGHTYBOARD_REVE 0x2F (0x5E) MCP4018 + */ + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT + #define DIGIPOT_I2C_ADDRESS_B 0x2D // unshifted slave address for second DIGIPOT +#endif + +//#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 +// Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. +// These correspond to the physical drivers, so be mindful if the order is changed. +#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +// @section lcd + +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + +// Change values more rapidly when the encoder is rotated faster +#define ENCODER_RATE_MULTIPLIER +#if ENABLED(ENCODER_RATE_MULTIPLIER) + #define ENCODER_10X_STEPS_PER_SEC 75 // (steps/s) Encoder rate for 10x speed + #define ENCODER_100X_STEPS_PER_SEC 160 // (steps/s) Encoder rate for 100x speed +#endif + +// Play a beep when the feedrate is changed from the Status Screen +//#define BEEP_ON_FEEDRATE_CHANGE +#if ENABLED(BEEP_ON_FEEDRATE_CHANGE) + #define FEEDRATE_CHANGE_BEEP_DURATION 10 + #define FEEDRATE_CHANGE_BEEP_FREQUENCY 440 +#endif + +#if HAS_LCD_MENU + + // Include a page of printer information in the LCD Main Menu + //#define LCD_INFO_MENU + #if ENABLED(LCD_INFO_MENU) + //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages + #endif + + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + + /** + * LED Control Menu + * Add LED Control to the LCD menu + */ + //#define LED_CONTROL_MENU + #if ENABLED(LED_CONTROL_MENU) + #define LED_COLOR_PRESETS // Enable the Preset Color menu option + #if ENABLED(LED_COLOR_PRESETS) + #define LED_USER_PRESET_RED 255 // User defined RED value + #define LED_USER_PRESET_GREEN 128 // User defined GREEN value + #define LED_USER_PRESET_BLUE 0 // User defined BLUE value + #define LED_USER_PRESET_WHITE 255 // User defined WHITE value + #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity + //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup + #endif + #endif + +#endif // HAS_LCD_MENU + +// Scroll a longer status message into view +#define STATUS_MESSAGE_SCROLLING + +// On the Info Screen, display XY with one decimal place when possible +//#define LCD_DECIMAL_SMALL_XY + +// The timeout (in ms) to return to the status screen from sub-menus +#define LCD_TIMEOUT_TO_STATUS 60000 + +// Add an 'M73' G-code to set the current percentage +//#define LCD_SET_PROGRESS_MANUALLY + +#if HAS_CHARACTER_LCD && HAS_PRINT_PROGRESS + //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing + #if ENABLED(LCD_PROGRESS_BAR) + #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar + #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message + #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) + //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it + //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #endif +#endif + +#if ENABLED(SDSUPPORT) + + // Some RAMPS and other boards don't detect when an SD card is inserted. You can work + // around this by connecting a push button or single throw switch to the pin defined + // as SD_DETECT_PIN in your board's pins definitions. + // This setting should be disabled unless you are using a push button, pulling the pin to ground. + // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER). + #define SD_DETECT_INVERTED + + #define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the Z enabled so your bed stays in place. + + // Reverse SD sort to show "more recent" files first, according to the card's FAT. + // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended. + #define SDCARD_RATHERRECENTFIRST + + #define SD_MENU_CONFIRM_START // Confirm the selected SD file before printing + + //#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files + + #define EVENT_GCODE_SD_STOP "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27") + + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 28 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + //#define POWER_LOSS_PULL // Set pullup / pulldown as appropriate + //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume + //#define POWER_LOSS_RETRACT_LEN 10 // (mm) Length of filament to retract on fail. Requires backup power. + + // Without a POWER_LOSS_PIN the following option helps reduce wear on the SD card, + // especially with "vase mode" printing. Set too high and vases cannot be continued. + #define POWER_LOSS_MIN_Z_CHANGE 0.05 // (mm) Minimum Z change before saving power-loss data + #endif + + /** + * Sort SD file listings in alphabetical order. + * + * With this option enabled, items on SD cards will be sorted + * by name for easier navigation. + * + * By default... + * + * - Use the slowest -but safest- method for sorting. + * - Folders are sorted to the top. + * - The sort key is statically allocated. + * - No added G-code (M34) support. + * - 40 item sorting limit. (Items after the first 40 are unsorted.) + * + * SD sorting uses static allocation (as set by SDSORT_LIMIT), allowing the + * compiler to calculate the worst-case usage and throw an error if the SRAM + * limit is exceeded. + * + * - SDSORT_USES_RAM provides faster sorting via a static directory buffer. + * - SDSORT_USES_STACK does the same, but uses a local stack-based buffer. + * - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!) + * - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!) + */ + //#define SDCARD_SORT_ALPHA + + // SD Card Sorting options + #if ENABLED(SDCARD_SORT_ALPHA) + #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. + #define FOLDER_SORTING -1 // -1=above 0=none 1=below + #define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code. + #define SDSORT_USES_RAM true // Pre-allocate a static array for faster pre-sorting. + #define SDSORT_USES_STACK true // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.) + #define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option. + #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use! + #define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting. + // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM. + #endif + + // This allows hosts to request long names for files and folders with M33 + //#define LONG_FILENAME_HOST_SUPPORT + + // Enable this option to scroll long filenames in the SD card menu + //#define SCROLL_LONG_FILENAMES + + // Leave the heaters on after Stop Print (not recommended!) + //#define SD_ABORT_NO_COOLDOWN + + /** + * This option allows you to abort SD printing when any endstop is triggered. + * This feature must be enabled with "M540 S1" or from the LCD menu. + * To have any effect, endstops must be enabled during SD printing. + */ + //#define SD_ABORT_ON_ENDSTOP_HIT + + /** + * This option makes it easier to print the same SD Card file again. + * On print completion the LCD Menu will open with the file selected. + * You can just click to start the print, or navigate elsewhere. + */ + //#define SD_REPRINT_LAST_SELECTED_FILE + + /** + * Auto-report SdCard status with M27 S + */ + //#define AUTO_REPORT_SD_STATUS + + /** + * Support for USB thumb drives using an Arduino USB Host Shield or + * equivalent MAX3421E breakout board. The USB thumb drive will appear + * to Marlin as an SD card. + * + * The MAX3421E can be assigned the same pins as the SD card reader, with + * the following pin mapping: + * + * SCLK, MOSI, MISO --> SCLK, MOSI, MISO + * INT --> SD_DETECT_PIN [1] + * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. + */ + //#define USB_FLASH_DRIVE_SUPPORT + #if ENABLED(USB_FLASH_DRIVE_SUPPORT) + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB + #endif + + /** + * When using a bootloader that supports SD-Firmware-Flashing, + * add a menu item to activate SD-FW-Update on the next reboot. + * + * Requires ATMEGA2560 (Arduino Mega) + * + * Tested with this bootloader: + * https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560 + */ + //#define SD_FIRMWARE_UPDATE + #if ENABLED(SD_FIRMWARE_UPDATE) + #define SD_FIRMWARE_UPDATE_EEPROM_ADDR 0x1FF + #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE 0xF0 + #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF + #endif + + // Add an optimized binary file transfer mode, initiated with 'M28 B1' + //#define BINARY_FILE_TRANSFER + + #if HAS_SDCARD_CONNECTION + /** + * Set this option to one of the following (or the board's defaults apply): + * + * LCD - Use the SD drive in the external LCD controller. + * ONBOARD - Use the SD drive on the control board. (No SD_DETECT_PIN. M21 to init.) + * CUSTOM_CABLE - Use a custom cable to access the SD (as defined in a pins file). + * + * :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ] + */ + //#define SDCARD_CONNECTION LCD + #endif + +#endif // SDSUPPORT + +/** + * By default an onboard SD card reader may be shared as a USB mass- + * storage device. This option hides the SD card from the host PC. + */ +//#define NO_SD_HOST_DRIVE // Disable SD Card access over USB (for security). + +/** + * Additional options for Graphical Displays + * + * Use the optimizations here to improve printing performance, + * which can be adversely affected by graphical display drawing, + * especially when doing several short moves, and when printing + * on DELTA and SCARA machines. + * + * Some of these options may result in the display lagging behind + * controller events, as there is a trade-off between reliable + * printing performance versus fast display updates. + */ +#if HAS_GRAPHICAL_LCD + // Show SD percentage next to the progress bar + //#define DOGM_SD_PERCENT + + // Enable to save many cycles by drawing a hollow frame on the Info Screen + #define XYZ_HOLLOW_FRAME + + // Enable to save many cycles by drawing a hollow frame on Menu Screens + #define MENU_HOLLOW_FRAME + + // A bigger font is available for edit items. Costs 3120 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_BIG_EDIT_FONT + + // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_SMALL_INFOFONT + + // Enable this option and reduce the value to optimize screen updates. + // The normal delay is 10µs. Use the lowest value that still gives a reliable display. + //#define DOGM_SPI_DELAY_US 5 + + // Swap the CW/CCW indicators in the graphics overlay + //#define OVERLAY_GFX_REVERSE + + /** + * ST7920-based LCDs can emulate a 16 x 4 character display using + * the ST7920 character-generator for very fast screen updates. + * Enable LIGHTWEIGHT_UI to use this special display mode. + * + * Since LIGHTWEIGHT_UI has limited space, the position and status + * message occupy the same line. Set STATUS_EXPIRE_SECONDS to the + * length of time to display the status message before clearing. + * + * Set STATUS_EXPIRE_SECONDS to zero to never clear the status. + * This will prevent position updates from being displayed. + */ + #if ENABLED(U8GLIB_ST7920) + //#define LIGHTWEIGHT_UI + #if ENABLED(LIGHTWEIGHT_UI) + #define STATUS_EXPIRE_SECONDS 20 + #endif + #endif + + /** + * Status (Info) Screen customizations + * These options may affect code size and screen render time. + * Custom status screens can forcibly override these settings. + */ + //#define STATUS_COMBINE_HEATERS // Use combined heater images instead of separate ones + //#define STATUS_HOTEND_NUMBERLESS // Use plain hotend icons instead of numbered ones (with 2+ hotends) + #define STATUS_HOTEND_INVERTED // Show solid nozzle bitmaps when heating (Requires STATUS_HOTEND_ANIM) + #define STATUS_HOTEND_ANIM // Use a second bitmap to indicate hotend heating + #define STATUS_BED_ANIM // Use a second bitmap to indicate bed heating + #define STATUS_CHAMBER_ANIM // Use a second bitmap to indicate chamber heating + //#define STATUS_ALT_BED_BITMAP // Use the alternative bed bitmap + //#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap + //#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames + //#define STATUS_HEAT_PERCENT // Show heating in a progress bar + //#define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash) + //#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~‭3260 (or ~940) bytes of PROGMEM. + + // Frivolous Game Options + //#define MARLIN_BRICKOUT + //#define MARLIN_INVADERS + //#define MARLIN_SNAKE + //#define GAMES_EASTER_EGG // Add extra blank lines above the "Games" sub-menu + +#endif // HAS_GRAPHICAL_LCD + +// +// Lulzbot Touch UI +// +#if ENABLED(LULZBOT_TOUCH_UI) + // Display board used + //#define LCD_FTDI_VM800B35A // FTDI 3.5" with FT800 (320x240) + //#define LCD_4DSYSTEMS_4DLCD_FT843 // 4D Systems 4.3" (480x272) + //#define LCD_HAOYU_FT800CB // Haoyu with 4.3" or 5" (480x272) + //#define LCD_HAOYU_FT810CB // Haoyu with 5" (800x480) + //#define LCD_ALEPHOBJECTS_CLCD_UI // Aleph Objects Color LCD UI + + // Correct the resolution if not using the stock TFT panel. + //#define TOUCH_UI_320x240 + //#define TOUCH_UI_480x272 + //#define TOUCH_UI_800x480 + + // Mappings for boards with a standard RepRapDiscount Display connector + //#define AO_EXP1_PINMAP // AlephObjects CLCD UI EXP1 mapping + //#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping + //#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping + //#define OTHER_PIN_LAYOUT // Define pins manually below + #if ENABLED(OTHER_PIN_LAYOUT) + // The pins for CS and MOD_RESET (PD) must be chosen. + #define CLCD_MOD_RESET 9 + #define CLCD_SPI_CS 10 + + // If using software SPI, specify pins for SCLK, MOSI, MISO + //#define CLCD_USE_SOFT_SPI + #if ENABLED(CLCD_USE_SOFT_SPI) + #define CLCD_SOFT_SPI_MOSI 11 + #define CLCD_SOFT_SPI_MISO 12 + #define CLCD_SOFT_SPI_SCLK 13 + #endif + #endif + + // Display Orientation. An inverted (i.e. upside-down) display + // is supported on the FT800. The FT810 and beyond also support + // portrait and mirrored orientations. + //#define TOUCH_UI_INVERTED + //#define TOUCH_UI_PORTRAIT + //#define TOUCH_UI_MIRRORED + + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + + // Use a numeric passcode for "Screen lock" keypad. + // (recommended for smaller displays) + //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan +#endif + +// @section safety + +/** + * The watchdog hardware timer will do a reset and disable all outputs + * if the firmware gets too overloaded to read the temperature sensors. + * + * If you find that watchdog reboot causes your AVR board to hang forever, + * enable WATCHDOG_RESET_MANUAL to use a custom timer instead of WDTO. + * NOTE: This method is less reliable as it can only catch hangups while + * interrupts are enabled. + */ +#define USE_WATCHDOG +#if ENABLED(USE_WATCHDOG) + //#define WATCHDOG_RESET_MANUAL +#endif + +// @section lcd + +/** + * Babystepping enables movement of the axes by tiny increments without changing + * the current position values. This feature is used primarily to adjust the Z + * axis in the first layer of a print in real-time. + * + * Warning: Does not respect endstops! + */ +#define BABYSTEPPING +#if ENABLED(BABYSTEPPING) + //#define BABYSTEP_WITHOUT_HOMING + //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way + #define BABYSTEP_MULTIPLICATOR 1 // Babysteps are very small. Increase for faster motion. + + //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) + #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. + // Note: Extra time may be added to mitigate controller latency. + //#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement). + //#define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle. + #if ENABLED(MOVE_Z_WHEN_IDLE) + #define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size. + #endif + #endif + + //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 + + //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + #if ENABLED(BABYSTEP_ZPROBE_OFFSET) + //#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets + //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor + #endif +#endif + +// @section extruder + +/** + * Linear Pressure Control v1.5 + * + * Assumption: advance [steps] = k * (delta velocity [steps/s]) + * K=0 means advance disabled. + * + * NOTE: K values for LIN_ADVANCE 1.5 differ from earlier versions! + * + * Set K around 0.22 for 3mm PLA Direct Drive with ~6.5cm between the drive gear and heatbreak. + * Larger K values will be needed for flexible filament and greater distances. + * If this algorithm produces a higher speed offset than the extruder can handle (compared to E jerk) + * print acceleration will be reduced during the affected moves to keep within the limit. + * + * See http://marlinfw.org/docs/features/lin_advance.html for full instructions. + * Mention @Sebastianv650 on GitHub to alert the author of any issues. + */ +//#define LIN_ADVANCE +#if ENABLED(LIN_ADVANCE) + //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants + #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed + //#define LA_DEBUG // If enabled, this will generate debug information output over USB. +#endif + +// @section leveling + +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + +#if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) + // Override the mesh area if the automatic (max) area is too large + //#define MESH_MIN_X MESH_INSET + //#define MESH_MIN_Y MESH_INSET + //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET) + //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) +#endif + +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + +#endif + +// @section extras + +// +// G2/G3 Arc Support +// +#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +#if ENABLED(ARC_SUPPORT) + #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment + #define MIN_ARC_SEGMENTS 24 // Minimum number of segments in a complete circle + #define N_ARC_CORRECTION 25 // Number of interpolated segments between corrections + //#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles + //#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes +#endif + +// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes. +//#define BEZIER_CURVE_SUPPORT + +/** + * G38 Probe Target + * + * This option adds G38.2 and G38.3 (probe towards target) + * and optionally G38.4 and G38.5 (probe away from target). + * Set MULTIPLE_PROBING for G38 to probe more than once. + */ +//#define G38_PROBE_TARGET +#if ENABLED(G38_PROBE_TARGET) + //#define G38_PROBE_AWAY // Include G38.4 and G38.5 to probe away from target + #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move. +#endif + +// Moves (or segments) with fewer steps than this will be joined with the next move +#define MIN_STEPS_PER_SEGMENT 6 + +/** + * Minimum delay before and after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 400 : Minimum for A5984 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 0 : Minimum 500ns for LV8729, adjusted in stepper.h + * 1 : Minimum for A4988 and A5984 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 200000 : Maximum for LV8729 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//================================= Buffers ================================= +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. +#if ENABLED(SDSUPPORT) + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller +#else + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer +#endif + +// @section serial + +// The ASCII buffer for serial input +#define MAX_CMD_SIZE 96 +#define BUFSIZE 4 + +// Transmission to Host Buffer Size +// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0. +// To buffer a simple "ok" you need 4 bytes. +// For ADVANCED_OK (M105) you need 32 bytes. +// For debug-echo: 128 bytes for the optimal speed. +// Other output doesn't need to be that speedy. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256] +#define TX_BUFFER_SIZE 0 + +// Host Receive Buffer Size +// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. +// To use flow control, set this buffer size to at least 1024 bytes. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048] +//#define RX_BUFFER_SIZE 1024 + +#if RX_BUFFER_SIZE >= 1024 + // Enable to have the controller send XON/XOFF control characters to + // the host to signal the RX buffer is becoming full. + //#define SERIAL_XON_XOFF +#endif + +// Add M575 G-code to change the baud rate +//#define BAUD_RATE_GCODE + +#if ENABLED(SDSUPPORT) + // Enable this option to collect and display the maximum + // RX queue usage after transferring a file to SD. + //#define SERIAL_STATS_MAX_RX_QUEUED + + // Enable this option to collect and display the number + // of dropped bytes after a file transfer to SD. + //#define SERIAL_STATS_DROPPED_RX +#endif + +// Enable an emergency-command parser to intercept certain commands as they +// enter the serial receive buffer, so they cannot be blocked. +// Currently handles M108, M112, M410 +// Does not work on boards using AT90USB (USBCON) processors! +//#define EMERGENCY_PARSER + +// Bad Serial-connections can miss a received command by sending an 'ok' +// Therefore some clients abort after 30 seconds in a timeout. +// Some other clients start sending commands while receiving a 'wait'. +// This "wait" is only sent when the buffer is empty. 1 second is a good value here. +//#define NO_TIMEOUTS 1000 // Milliseconds + +// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. +//#define ADVANCED_OK + +// Printrun may have trouble receiving long strings all at once. +// This option inserts short delays between lines of serial output. +#define SERIAL_OVERRUN_PROTECTION + +// @section extras + +/** + * Extra Fan Speed + * Adds a secondary fan speed for each print-cooling fan. + * 'M106 P T3-255' : Set a secondary speed for + * 'M106 P T2' : Use the set secondary speed + * 'M106 P T1' : Restore the previous fan speed + */ +//#define EXTRA_FAN_SPEED + +/** + * Firmware-based and LCD-controlled retract + * + * Add G10 / G11 commands for automatic firmware-based retract / recover. + * Use M207 and M208 to define parameters for retract / recover. + * + * Use M209 to enable or disable auto-retract. + * With auto-retract enabled, all G1 E moves within the set range + * will be converted to firmware-based retract/recover moves. + * + * Be sure to turn off auto-retract during filament change. + * + * Note that M207 / M208 / M209 settings are saved to EEPROM. + * + */ +//#define FWRETRACT +#if ENABLED(FWRETRACT) + #define FWRETRACT_AUTORETRACT // Override slicer retractions + #if ENABLED(FWRETRACT_AUTORETRACT) + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length + #endif + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction + #if ENABLED(MIXING_EXTRUDER) + //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously + #endif +#endif + +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + //#define TOOLCHANGE_NO_RETURN // Never return to the previous position on tool-change + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_EXTRA_PRIME 2 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + +/** + * Advanced Pause + * Experimental feature for filament change support and for parking the nozzle when paused. + * Adds the GCode M600 for initiating filament change. + * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. + * + * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. + * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. + */ +#define ADVANCED_PAUSE_FEATURE +#if ENABLED(ADVANCED_PAUSE_FEATURE) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 0 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + #define ADVANCED_PAUSE_RESUME_PRIME 0 // (mm) Extra distance to prime nozzle after returning from park. + //#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) +#endif + +// @section tmc + +/** + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper + */ +#if HAS_DRIVER(TMC26X) + + #if AXIS_DRIVER_TYPE_X(TMC26X) + #define X_MAX_CURRENT 1000 // (mA) + #define X_SENSE_RESISTOR 91 // (mOhms) + #define X_MICROSTEPS 16 // Number of microsteps + #endif + + #if AXIS_DRIVER_TYPE_X2(TMC26X) + #define X2_MAX_CURRENT 1000 + #define X2_SENSE_RESISTOR 91 + #define X2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Y(TMC26X) + #define Y_MAX_CURRENT 1000 + #define Y_SENSE_RESISTOR 91 + #define Y_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Y2(TMC26X) + #define Y2_MAX_CURRENT 1000 + #define Y2_SENSE_RESISTOR 91 + #define Y2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Z(TMC26X) + #define Z_MAX_CURRENT 1000 + #define Z_SENSE_RESISTOR 91 + #define Z_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Z2(TMC26X) + #define Z2_MAX_CURRENT 1000 + #define Z2_SENSE_RESISTOR 91 + #define Z2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Z3(TMC26X) + #define Z3_MAX_CURRENT 1000 + #define Z3_SENSE_RESISTOR 91 + #define Z3_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E0(TMC26X) + #define E0_MAX_CURRENT 1000 + #define E0_SENSE_RESISTOR 91 + #define E0_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E1(TMC26X) + #define E1_MAX_CURRENT 1000 + #define E1_SENSE_RESISTOR 91 + #define E1_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E2(TMC26X) + #define E2_MAX_CURRENT 1000 + #define E2_SENSE_RESISTOR 91 + #define E2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E3(TMC26X) + #define E3_MAX_CURRENT 1000 + #define E3_SENSE_RESISTOR 91 + #define E3_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E4(TMC26X) + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E5(TMC26X) + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif + +#endif // TMC26X + +// @section tmc_smart + +/** + * To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode + * connect your SPI pins to the hardware SPI interface on your board and define + * the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 + * pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). + * You may also use software SPI if you wish to use general purpose IO pins. + * + * To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN + * to the driver side PDN_UART pin with a 1K resistor. + * To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without + * a resistor. + * The drivers can also be used with hardware serial. + * + * TMCStepper library is required to use TMC stepper drivers. + * https://github.com/teemuatlut/TMCStepper + */ +#if HAS_TRINAMIC + + #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current + #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 + + #if AXIS_IS_TMC(X) + #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. + #define X_MICROSTEPS 16 // 0..256 + #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... + #endif + + #if AXIS_IS_TMC(X2) + #define X2_CURRENT 800 + #define X2_MICROSTEPS 16 + #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Y) + #define Y_CURRENT 800 + #define Y_MICROSTEPS 16 + #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Y2) + #define Y2_CURRENT 800 + #define Y2_MICROSTEPS 16 + #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Z) + #define Z_CURRENT 800 + #define Z_MICROSTEPS 16 + #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Z2) + #define Z2_CURRENT 800 + #define Z2_MICROSTEPS 16 + #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Z3) + #define Z3_CURRENT 800 + #define Z3_MICROSTEPS 16 + #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E0) + #define E0_CURRENT 800 + #define E0_MICROSTEPS 16 + #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E1) + #define E1_CURRENT 800 + #define E1_MICROSTEPS 16 + #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E2) + #define E2_CURRENT 800 + #define E2_MICROSTEPS 16 + #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E3) + #define E3_CURRENT 800 + #define E3_MICROSTEPS 16 + #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E4) + #define E4_CURRENT 800 + #define E4_MICROSTEPS 16 + #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E5) + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 + #endif + + /** + * Override default SPI pins for TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160 drivers here. + * The default pins can be found in your board's pins file. + */ + //#define X_CS_PIN -1 + //#define Y_CS_PIN -1 + //#define Z_CS_PIN -1 + //#define X2_CS_PIN -1 + //#define Y2_CS_PIN -1 + //#define Z2_CS_PIN -1 + //#define Z3_CS_PIN -1 + //#define E0_CS_PIN -1 + //#define E1_CS_PIN -1 + //#define E2_CS_PIN -1 + //#define E3_CS_PIN -1 + //#define E4_CS_PIN -1 + //#define E5_CS_PIN -1 + + /** + * Software option for SPI driven drivers (TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160). + * The default SW SPI pins are defined the respective pins files, + * but you can override or define them here. + */ + //#define TMC_USE_SW_SPI + //#define TMC_SW_MOSI -1 + //#define TMC_SW_MISO -1 + //#define TMC_SW_SCK -1 + + /** + * Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses. + * Set the address using jumpers on pins MS1 and MS2. + * Address | MS1 | MS2 + * 0 | LOW | LOW + * 1 | HIGH | LOW + * 2 | LOW | HIGH + * 3 | HIGH | HIGH + * + * Set *_SERIAL_TX_PIN and *_SERIAL_RX_PIN to match for all drivers + * on the same serial port, either here or in your board's pins file. + */ + #define X_SLAVE_ADDRESS 0 + #define Y_SLAVE_ADDRESS 0 + #define Z_SLAVE_ADDRESS 0 + #define X2_SLAVE_ADDRESS 0 + #define Y2_SLAVE_ADDRESS 0 + #define Z2_SLAVE_ADDRESS 0 + #define Z3_SLAVE_ADDRESS 0 + #define E0_SLAVE_ADDRESS 0 + #define E1_SLAVE_ADDRESS 0 + #define E2_SLAVE_ADDRESS 0 + #define E3_SLAVE_ADDRESS 0 + #define E4_SLAVE_ADDRESS 0 + #define E5_SLAVE_ADDRESS 0 + + /** + * Software enable + * + * Use for drivers that do not use a dedicated enable pin, but rather handle the same + * function through a communication line such as SPI or UART. + */ + //#define SOFTWARE_DRIVER_ENABLE + + /** + * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only + * Use Trinamic's ultra quiet stepping mode. + * When disabled, Marlin will use spreadCycle stepping mode. + */ + #define STEALTHCHOP_XY + #define STEALTHCHOP_Z + #define STEALTHCHOP_E + + /** + * Optimize spreadCycle chopper parameters by using predefined parameter sets + * or with the help of an example included in the library. + * Provided parameter sets are + * CHOPPER_DEFAULT_12V + * CHOPPER_DEFAULT_19V + * CHOPPER_DEFAULT_24V + * CHOPPER_DEFAULT_36V + * CHOPPER_PRUSAMK3_24V // Imported parameters from the official Prusa firmware for MK3 (24V) + * CHOPPER_MARLIN_119 // Old defaults from Marlin v1.1.9 + * + * Define you own with + * { , , hysteresis_start[1..8] } + */ + #define CHOPPER_TIMING CHOPPER_DEFAULT_12V + + /** + * Monitor Trinamic drivers for error conditions, + * like overtemperature and short to ground. + * In the case of overtemperature Marlin can decrease the driver current until error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. + * M911 - Report stepper driver overtemperature pre-warn condition. + * M912 - Clear stepper driver overtemperature pre-warn condition flag. + * M122 - Report driver parameters (Requires TMC_DEBUG) + */ + //#define MONITOR_DRIVER_STATUS + + #if ENABLED(MONITOR_DRIVER_STATUS) + #define CURRENT_STEP_DOWN 50 // [mA] + #define REPORT_CURRENT_CHANGE + #define STOP_ON_ERROR + #endif + + /** + * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only + * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD. + * This mode allows for faster movements at the expense of higher noise levels. + * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD. + * M913 X/Y/Z/E to live tune the setting + */ + //#define HYBRID_THRESHOLD + + #define X_HYBRID_THRESHOLD 100 // [mm/s] + #define X2_HYBRID_THRESHOLD 100 + #define Y_HYBRID_THRESHOLD 100 + #define Y2_HYBRID_THRESHOLD 100 + #define Z_HYBRID_THRESHOLD 3 + #define Z2_HYBRID_THRESHOLD 3 + #define Z3_HYBRID_THRESHOLD 3 + #define E0_HYBRID_THRESHOLD 30 + #define E1_HYBRID_THRESHOLD 30 + #define E2_HYBRID_THRESHOLD 30 + #define E3_HYBRID_THRESHOLD 30 + #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 + + /** + * Use StallGuard2 to home / probe X, Y, Z. + * + * TMC2130, TMC2160, TMC2209, TMC2660, TMC5130, and TMC5160 only + * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. + * X, Y, and Z homing will always be done in spreadCycle mode. + * + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) + * + * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. + * + * SPI_ENDSTOPS *** Beta feature! *** TMC2130 Only *** + * Poll the driver through SPI to determine load when homing. + * Removes the need for a wire from DIAG1 to an endstop pin. + * + * IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when + * homing and adds a guard period for endstop triggering. + */ + //#define SENSORLESS_HOMING // StallGuard capable drivers only + + /** + * Use StallGuard2 to probe the bed with the nozzle. + * + * CAUTION: This could cause damage to machines that use a lead screw or threaded rod + * to move the Z axis. Take extreme care when attempting to enable this feature. + */ + //#define SENSORLESS_PROBING // StallGuard capable drivers only + + #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) + // TMC2209: 0...255. TMC2130: -64...63 + #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY + #define Y_STALL_SENSITIVITY 8 + //#define Z_STALL_SENSITIVITY 8 + //#define SPI_ENDSTOPS // TMC2130 only + //#define IMPROVE_HOMING_RELIABILITY + #endif + + /** + * Beta feature! + * Create a 50/50 square wave step pulse optimal for stepper drivers. + */ + //#define SQUARE_WAVE_STEPPING + + /** + * Enable M122 debugging command for TMC stepper drivers. + * M122 S0/1 will enable continous reporting. + */ + //#define TMC_DEBUG + + /** + * You can set your own advanced settings by filling in predefined functions. + * A list of available functions can be found on the library github page + * https://github.com/teemuatlut/TMCStepper + * + * Example: + * #define TMC_ADV() { \ + * stepperX.diag0_temp_prewarn(1); \ + * stepperY.interpolate(0); \ + * } + */ + #define TMC_ADV() { } + +#endif // HAS_TRINAMIC + +// @section L6470 + +/** + * L6470 Stepper Driver options + * + * Arduino-L6470 library (0.7.0 or higher) is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 + * + * Requires the following to be defined in your pins_YOUR_BOARD file + * L6470_CHAIN_SCK_PIN + * L6470_CHAIN_MISO_PIN + * L6470_CHAIN_MOSI_PIN + * L6470_CHAIN_SS_PIN + * L6470_RESET_CHAIN_PIN (optional) + */ +#if HAS_DRIVER(L6470) + + //#define L6470_CHITCHAT // Display additional status info + + #if AXIS_DRIVER_TYPE_X(L6470) + #define X_MICROSTEPS 128 // Number of microsteps (VALID: 1, 2, 4, 8, 16, 32, 128) + #define X_OVERCURRENT 2000 // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down) + #define X_STALLCURRENT 1500 // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) - 4A max - rounds down) + #define X_MAX_VOLTAGE 127 // 0-255, Maximum effective voltage seen by stepper + #define X_CHAIN_POS 0 // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI + #endif + + #if AXIS_DRIVER_TYPE_X2(L6470) + #define X2_MICROSTEPS 128 + #define X2_OVERCURRENT 2000 + #define X2_STALLCURRENT 1500 + #define X2_MAX_VOLTAGE 127 + #define X2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Y(L6470) + #define Y_MICROSTEPS 128 + #define Y_OVERCURRENT 2000 + #define Y_STALLCURRENT 1500 + #define Y_MAX_VOLTAGE 127 + #define Y_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Y2(L6470) + #define Y2_MICROSTEPS 128 + #define Y2_OVERCURRENT 2000 + #define Y2_STALLCURRENT 1500 + #define Y2_MAX_VOLTAGE 127 + #define Y2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Z(L6470) + #define Z_MICROSTEPS 128 + #define Z_OVERCURRENT 2000 + #define Z_STALLCURRENT 1500 + #define Z_MAX_VOLTAGE 127 + #define Z_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Z2(L6470) + #define Z2_MICROSTEPS 128 + #define Z2_OVERCURRENT 2000 + #define Z2_STALLCURRENT 1500 + #define Z2_MAX_VOLTAGE 127 + #define Z2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Z3(L6470) + #define Z3_MICROSTEPS 128 + #define Z3_OVERCURRENT 2000 + #define Z3_STALLCURRENT 1500 + #define Z3_MAX_VOLTAGE 127 + #define Z3_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E0(L6470) + #define E0_MICROSTEPS 128 + #define E0_OVERCURRENT 2000 + #define E0_STALLCURRENT 1500 + #define E0_MAX_VOLTAGE 127 + #define E0_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E1(L6470) + #define E1_MICROSTEPS 128 + #define E1_OVERCURRENT 2000 + #define E1_STALLCURRENT 1500 + #define E1_MAX_VOLTAGE 127 + #define E1_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E2(L6470) + #define E2_MICROSTEPS 128 + #define E2_OVERCURRENT 2000 + #define E2_STALLCURRENT 1500 + #define E2_MAX_VOLTAGE 127 + #define E2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E3(L6470) + #define E3_MICROSTEPS 128 + #define E3_OVERCURRENT 2000 + #define E3_STALLCURRENT 1500 + #define E3_MAX_VOLTAGE 127 + #define E3_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E4(L6470) + #define E4_MICROSTEPS 128 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #define E4_MAX_VOLTAGE 127 + #define E4_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E5(L6470) + #define E5_MICROSTEPS 128 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #define E5_MAX_VOLTAGE 127 + #define E5_CHAIN_POS 0 + #endif + + /** + * Monitor L6470 drivers for error conditions like over temperature and over current. + * In the case of over temperature Marlin can decrease the drive until the error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - I1/2/3/4/5 Set or get motor drive level using axis codes X, Y, Z, E. Report values if no axis codes given. + * I not present or I0 or I1 - X, Y, Z or E0 + * I2 - X2, Y2, Z2 or E1 + * I3 - Z3 or E3 + * I4 - E4 + * I5 - E5 + * M916 - Increase drive level until get thermal warning + * M917 - Find minimum current thresholds + * M918 - Increase speed until max or error + * M122 S0/1 - Report driver parameters + */ + //#define MONITOR_L6470_DRIVER_STATUS + + #if ENABLED(MONITOR_L6470_DRIVER_STATUS) + #define KVAL_HOLD_STEP_DOWN 1 + //#define L6470_STOP_ON_ERROR + #endif + +#endif // L6470 + +/** + * TWI/I2C BUS + * + * This feature is an EXPERIMENTAL feature so it shall not be used on production + * machines. Enabling this will allow you to send and receive I2C data from slave + * devices on the bus. + * + * ; Example #1 + * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) + * ; It uses multiple M260 commands with one B arg + * M260 A99 ; Target slave address + * M260 B77 ; M + * M260 B97 ; a + * M260 B114 ; r + * M260 B108 ; l + * M260 B105 ; i + * M260 B110 ; n + * M260 S1 ; Send the current buffer + * + * ; Example #2 + * ; Request 6 bytes from slave device with address 0x63 (99) + * M261 A99 B5 + * + * ; Example #3 + * ; Example serial output of a M261 request + * echo:i2c-reply: from:99 bytes:5 data:hello + */ + +// @section i2cbus + +//#define EXPERIMENTAL_I2CBUS +#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave + +// @section extras + +/** + * Photo G-code + * Add the M240 G-code to take a photo. + * The photo can be triggered by a digital pin or a physical movement. + */ +//#define PHOTO_GCODE +#if ENABLED(PHOTO_GCODE) + // A position to move to (and raise Z) before taking the photo + //#define PHOTO_POSITION { X_MAX_POS - 5, Y_MAX_POS, 0 } // { xpos, ypos, zraise } (M240 X Y Z) + //#define PHOTO_DELAY_MS 100 // (ms) Duration to pause before moving back (M240 P) + //#define PHOTO_RETRACT_MM 6.5 // (mm) E retract/recover for the photo move (M240 R S) + + // Canon RC-1 or homebrew digital camera trigger + // Data from: http://www.doc-diy.net/photo/rc-1_hacked/ + //#define PHOTOGRAPH_PIN 23 + + // Canon Hack Development Kit + // http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ + //#define CHDK_PIN 4 + + // Optional second move with delay to trigger the camera shutter + //#define PHOTO_SWITCH_POSITION { X_MAX_POS, Y_MAX_POS } // { xpos, ypos } (M240 I J) + + // Duration to hold the switch or keep CHDK_PIN high + //#define PHOTO_SWITCH_MS 50 // (ms) (M240 D) +#endif + +/** + * Spindle & Laser control + * + * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and + * to set spindle speed, spindle direction, and laser power. + * + * SuperPid is a router/spindle speed controller used in the CNC milling community. + * Marlin can be used to turn the spindle on and off. It can also be used to set + * the spindle speed from 5,000 to 30,000 RPM. + * + * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V + * hardware PWM pin for the speed control and a pin for the rotation direction. + * + * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details. + */ +//#define SPINDLE_FEATURE +//#define LASER_FEATURE +#if EITHER(SPINDLE_FEATURE, LASER_FEATURE) + #define SPINDLE_LASER_ACTIVE_HIGH false // Set to "true" if the on/off function is active HIGH + #define SPINDLE_LASER_PWM true // Set to "true" if your controller supports setting the speed/power + #define SPINDLE_LASER_PWM_INVERT true // Set to "true" if the speed/power goes up when you want it to go slower + #define SPINDLE_LASER_POWERUP_DELAY 5000 // (ms) Delay to allow the spindle/laser to come up to speed/power + #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // (ms) Delay to allow the spindle to stop + + #if ENABLED(SPINDLE_FEATURE) + //#define SPINDLE_CHANGE_DIR // Enable if your spindle controller can change spindle direction + #define SPINDLE_CHANGE_DIR_STOP // Enable if the spindle should stop before changing spin direction + #define SPINDLE_INVERT_DIR false // Set to "true" if the spin direction is reversed + + /** + * The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power + * + * SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT + * where PWM duty cycle varies from 0 to 255 + * + * set the following for your controller (ALL MUST BE SET) + */ + #define SPEED_POWER_SLOPE 118.4 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 5000 + #define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM + #else + #define SPEED_POWER_SLOPE 0.3922 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 10 + #define SPEED_POWER_MAX 100 // 0-100% + #endif +#endif + +/** + * Coolant Control + * + * Add the M7, M8, and M9 commands to turn mist or flood coolant on and off. + * + * Note: COOLANT_MIST_PIN and/or COOLANT_FLOOD_PIN must also be defined. + */ +//#define COOLANT_CONTROL +#if ENABLED(COOLANT_CONTROL) + #define COOLANT_MIST // Enable if mist coolant is present + #define COOLANT_FLOOD // Enable if flood coolant is present + #define COOLANT_MIST_INVERT false // Set "true" if the on/off function is reversed + #define COOLANT_FLOOD_INVERT false // Set "true" if the on/off function is reversed +#endif + +/** + * Filament Width Sensor + * + * Measures the filament width in real-time and adjusts + * flow rate to compensate for any irregularities. + * + * Also allows the measured filament diameter to set the + * extrusion rate, so the slicer only has to specify the + * volume. + * + * Only a single extruder is supported at this time. + * + * 34 RAMPS_14 : Analog input 5 on the AUX2 connector + * 81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 RAMBO : Analog input 3 + * + * Note: May require analog pins to be defined for other boards. + */ +//#define FILAMENT_WIDTH_SENSOR + +#if ENABLED(FILAMENT_WIDTH_SENSOR) + #define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor. :[0,1,2,3,4] + #define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber + + #define FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it + #define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM. + + #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially + + // Display filament width on the LCD status line. Status messages will expire after 5 seconds. + //#define FILAMENT_LCD_DISPLAY +#endif + +/** + * CNC Coordinate Systems + * + * Enables G53 and G54-G59.3 commands to select coordinate systems + * and G92.1 to reset the workspace to native machine space. + */ +//#define CNC_COORDINATE_SYSTEMS + +/** + * Auto-report temperatures with M155 S + */ +#define AUTO_REPORT_TEMPERATURES + +/** + * Include capabilities in M115 output + */ +#define EXTENDED_CAPABILITIES_REPORT + +/** + * Expected Printer Check + * Add the M16 G-code to compare a string to the MACHINE_NAME. + * M16 with a non-matching string causes the printer to halt. + */ +//#define EXPECTED_PRINTER_CHECK + +/** + * Disable all Volumetric extrusion options + */ +//#define NO_VOLUMETRICS + +#if DISABLED(NO_VOLUMETRICS) + /** + * Volumetric extrusion default state + * Activate to make volumetric extrusion the default method, + * with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter. + * + * M200 D0 to disable, M200 Dn to set a new diameter. + */ + //#define VOLUMETRIC_DEFAULT_ON +#endif + +/** + * Enable this option for a leaner build of Marlin that removes all + * workspace offsets, simplifying coordinate transformations, leveling, etc. + * + * - M206 and M428 are disabled. + * - G92 will revert to its behavior from Marlin 1.0. + */ +//#define NO_WORKSPACE_OFFSETS + +/** + * Set the number of proportional font spaces required to fill up a typical character space. + * This can help to better align the output of commands like `G29 O` Mesh Output. + * + * For clients that use a fixed-width font (like OctoPrint), leave this set to 1.0. + * Otherwise, adjust according to your client and font. + */ +#define PROPORTIONAL_FONT_RATIO 1.0 + +/** + * Spend 28 bytes of SRAM to optimize the GCode parser + */ +#define FASTER_GCODE_PARSER + +/** + * CNC G-code options + * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. + */ +//#define PAREN_COMMENTS // Support for parentheses-delimited comments +//#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. + +// Enable and set a (default) feedrate for all G0 moves +//#define G0_FEEDRATE 3000 // (mm/m) +#ifdef G0_FEEDRATE + //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode +#endif + +/** + * Startup commands + * + * Execute certain G-code commands immediately after power-on. + */ +//#define STARTUP_COMMANDS "M17 Z" + +/** + * G-code Macros + * + * Add G-codes M810-M819 to define and run G-code macros. + * Macros are not saved to EEPROM. + */ +//#define GCODE_MACROS +#if ENABLED(GCODE_MACROS) + #define GCODE_MACROS_SLOTS 5 // Up to 10 may be used + #define GCODE_MACROS_SLOT_SIZE 50 // Maximum length of a single macro +#endif + +/** + * User-defined menu items that execute custom GCode + */ +//#define CUSTOM_USER_MENUS +#if ENABLED(CUSTOM_USER_MENUS) + //#define CUSTOM_USER_MENU_TITLE "Custom Commands" + #define USER_SCRIPT_DONE "M117 User Script Done" + #define USER_SCRIPT_AUDIBLE_FEEDBACK + //#define USER_SCRIPT_RETURN // Return to status screen after a script + + #define USER_DESC_1 "Home & UBL Info" + #define USER_GCODE_1 "G28\nG29 W" + + #define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL + #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) + + #define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL + #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) + + #define USER_DESC_4 "Heat Bed/Home/Level" + #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" + + #define USER_DESC_5 "Home & Info" + #define USER_GCODE_5 "G28\nM503" +#endif + +/** + * Host Action Commands + * + * Define host streamer action commands in compliance with the standard. + * + * See https://reprap.org/wiki/G-code#Action_commands + * Common commands ........ poweroff, pause, paused, resume, resumed, cancel + * G29_RETRY_AND_RECOVER .. probe_rewipe, probe_failed + * + * Some features add reason codes to extend these commands. + * + * Host Prompt Support enables Marlin to use the host for user prompts so + * filament runout and other processes can be managed from the host side. + */ +//#define HOST_ACTION_COMMANDS +#if ENABLED(HOST_ACTION_COMMANDS) + //#define HOST_PROMPT_SUPPORT +#endif + +/** + * I2C position encoders for closed loop control. + * Developed by Chris Barr at Aus3D. + * + * Wiki: http://wiki.aus3d.com.au/Magnetic_Encoder + * Github: https://github.com/Aus3D/MagneticEncoder + * + * Supplier: http://aus3d.com.au/magnetic-encoder-module + * Alternative Supplier: http://reliabuild3d.com/ + * + * Reliabuild encoders have been modified to improve reliability. + */ + +//#define I2C_POSITION_ENCODERS +#if ENABLED(I2C_POSITION_ENCODERS) + + #define I2CPE_ENCODER_CNT 1 // The number of encoders installed; max of 5 + // encoders supported currently. + + #define I2CPE_ENC_1_ADDR I2CPE_PRESET_ADDR_X // I2C address of the encoder. 30-200. + #define I2CPE_ENC_1_AXIS X_AXIS // Axis the encoder module is installed on. _AXIS. + #define I2CPE_ENC_1_TYPE I2CPE_ENC_TYPE_LINEAR // Type of encoder: I2CPE_ENC_TYPE_LINEAR -or- + // I2CPE_ENC_TYPE_ROTARY. + #define I2CPE_ENC_1_TICKS_UNIT 2048 // 1024 for magnetic strips with 2mm poles; 2048 for + // 1mm poles. For linear encoders this is ticks / mm, + // for rotary encoders this is ticks / revolution. + //#define I2CPE_ENC_1_TICKS_REV (16 * 200) // Only needed for rotary encoders; number of stepper + // steps per full revolution (motor steps/rev * microstepping) + //#define I2CPE_ENC_1_INVERT // Invert the direction of axis travel. + #define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP // Type of error error correction. + #define I2CPE_ENC_1_EC_THRESH 0.10 // Threshold size for error (in mm) above which the + // printer will attempt to correct the error; errors + // smaller than this are ignored to minimize effects of + // measurement noise / latency (filter). + + #define I2CPE_ENC_2_ADDR I2CPE_PRESET_ADDR_Y // Same as above, but for encoder 2. + #define I2CPE_ENC_2_AXIS Y_AXIS + #define I2CPE_ENC_2_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_ENC_2_TICKS_UNIT 2048 + //#define I2CPE_ENC_2_TICKS_REV (16 * 200) + //#define I2CPE_ENC_2_INVERT + #define I2CPE_ENC_2_EC_METHOD I2CPE_ECM_MICROSTEP + #define I2CPE_ENC_2_EC_THRESH 0.10 + + #define I2CPE_ENC_3_ADDR I2CPE_PRESET_ADDR_Z // Encoder 3. Add additional configuration options + #define I2CPE_ENC_3_AXIS Z_AXIS // as above, or use defaults below. + + #define I2CPE_ENC_4_ADDR I2CPE_PRESET_ADDR_E // Encoder 4. + #define I2CPE_ENC_4_AXIS E_AXIS + + #define I2CPE_ENC_5_ADDR 34 // Encoder 5. + #define I2CPE_ENC_5_AXIS E_AXIS + + // Default settings for encoders which are enabled, but without settings configured above. + #define I2CPE_DEF_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_DEF_ENC_TICKS_UNIT 2048 + #define I2CPE_DEF_TICKS_REV (16 * 200) + #define I2CPE_DEF_EC_METHOD I2CPE_ECM_NONE + #define I2CPE_DEF_EC_THRESH 0.1 + + //#define I2CPE_ERR_THRESH_ABORT 100.0 // Threshold size for error (in mm) error on any given + // axis after which the printer will abort. Comment out to + // disable abort behavior. + + #define I2CPE_TIME_TRUSTED 10000 // After an encoder fault, there must be no further fault + // for this amount of time (in ms) before the encoder + // is trusted again. + + /** + * Position is checked every time a new command is executed from the buffer but during long moves, + * this setting determines the minimum update time between checks. A value of 100 works well with + * error rolling average when attempting to correct only for skips and not for vibration. + */ + #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks. + + // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. + #define I2CPE_ERR_ROLLING_AVERAGE + +#endif // I2C_POSITION_ENCODERS + +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + +/** + * MAX7219 Debug Matrix + * + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. + */ +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 + //#define MAX7219_REVERSE_ORDER // The individual LED matrix units may be in reversed order + //#define MAX7219_SIDE_BY_SIDE // Big chip+matrix boards can be chained side-by-side + + /** + * Sample debug features + * If you add more debug displays, be careful to avoid conflicts! + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row + + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row + // If you experience stuttering, reboots, etc. this option can reveal how + // tweaks made to the configuration are affecting the printer in real-time. +#endif + +/** + * NanoDLP Sync support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + */ +//#define NANODLP_Z_SYNC +#if ENABLED(NANODLP_Z_SYNC) + //#define NANODLP_ALL_AXIS // Enables "Z_move_comp" output on any axis move. + // Default behavior is limited to Z axis only. +#endif + +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" + //#define WEBSUPPORT // Start a webserver with auto-discovery + //#define OTASUPPORT // Support over-the-air firmware updates +#endif + +/** + * Prusa Multi-Material Unit v2 + * Enable in Configuration.h + */ +#if ENABLED(PRUSA_MMU2) + + // Serial port used for communication with MMU2. + // For AVR enable the UART port used for the MMU. (e.g., internalSerial) + // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2) + #define INTERNAL_SERIAL_PORT 2 + #define MMU2_SERIAL internalSerial + + // Use hardware reset for MMU if a pin is defined for it + //#define MMU2_RST_PIN 23 + + // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up) + //#define MMU2_MODE_12V + + // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout + #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600" + + // Add an LCD menu for MMU2 + //#define MMU2_MENUS + #if ENABLED(MMU2_MENUS) + // Settings for filament load / unload from the LCD menu. + // This is for Prusa MK3-style extruders. Customize for your hardware. + #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0 + #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \ + { 7.2, 562 }, \ + { 14.4, 871 }, \ + { 36.0, 1393 }, \ + { 14.4, 871 }, \ + { 50.0, 198 } + + #define MMU2_RAMMING_SEQUENCE \ + { 1.0, 1000 }, \ + { 1.0, 1500 }, \ + { 2.0, 2000 }, \ + { 1.5, 3000 }, \ + { 2.5, 4000 }, \ + { -15.0, 5000 }, \ + { -14.0, 1200 }, \ + { -6.0, 600 }, \ + { 10.0, 700 }, \ + { -10.0, 400 }, \ + { -50.0, 2000 } + + #endif + + //#define MMU2_DEBUG // Write debug info to serial output + +#endif // PRUSA_MMU2 + +/** + * Advanced Print Counter settings + */ +#if ENABLED(PRINTCOUNTER) + #define SERVICE_WARNING_BUZZES 3 + // Activate up to 3 service interval watchdogs + //#define SERVICE_NAME_1 "Service S" + //#define SERVICE_INTERVAL_1 100 // print hours + //#define SERVICE_NAME_2 "Service L" + //#define SERVICE_INTERVAL_2 200 // print hours + //#define SERVICE_NAME_3 "Service 3" + //#define SERVICE_INTERVAL_3 1 // print hours +#endif + +// @section develop + +/** + * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins + */ +//#define PINS_DEBUGGING + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE diff --git a/config/examples/ADIMLab/Gantry v2/Configuration.h b/config/examples/ADIMLab/Gantry v2/Configuration.h new file mode 100644 index 0000000000..9be12ff0ca --- /dev/null +++ b/config/examples/ADIMLab/Gantry v2/Configuration.h @@ -0,0 +1,2197 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Configuration.h + * + * Basic settings such as: + * + * - Type of electronics + * - Type of temperature sensor + * - Printer geometry + * - Endstop configuration + * - LCD controller + * - Extra features + * + * Advanced settings can be found in Configuration_adv.h + * + */ +#define CONFIGURATION_H_VERSION 020000 + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== + +/** + * Here are some standard links for getting your machine calibrated: + * + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 + */ + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer start with one of the configuration files in the +// config/examples/delta directory and customize for your machine. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a SCARA printer start with the configuration files in +// config/examples/SCARA and customize for your machine. +// + +// @section info + +// Author info of this build printed to the host during boot and M115 +#define STRING_CONFIG_H_AUTHOR "(ETE-Design, Gantry v2)" // Who made the changes. + +/** + * *** VENDORS PLEASE READ *** + * + * Marlin allows you to add a custom boot image for Graphical LCDs. + * With this option Marlin will first show your custom screen followed + * by the standard Marlin logo with version number and web URL. + * + * We encourage you to take advantage of this new feature and we also + * respectfully request that you retain the unmodified Marlin boot screen. + */ + +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. +#define SHOW_CUSTOM_BOOTSCREEN + +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. +//#define CUSTOM_STATUS_SCREEN_IMAGE + +// @section machine + +/** + * Select the serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +#define SERIAL_PORT 0 + +/** + * Select a secondary serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Serial port -1 is the USB emulated serial port, if available. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +//#define SERIAL_PORT_2 -1 + +/** + * This setting determines the communication speed of the printer. + * + * 250000 works in most cases, but you might try a lower speed if + * you commonly experience drop-outs during host printing. + * You may try up to 1000000 to speed up SD file transfer. + * + * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] + */ +#define BAUDRATE 250000 + +// Enable the Bluetooth serial interface on AT90USB devices +//#define BLUETOOTH + +// Choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_HJC2560C_REV2 +#endif + +// Name displayed in the LCD "Ready" message and Info menu +#define CUSTOM_MACHINE_NAME "ADIMLab Gantry v2" + +// Printer's unique ID, used by some programs to differentiate between machines. +// Choose your own or use a service like http://www.uuidgenerator.net/version4 +//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// @section extruder + +// This defines the number of extruders +// :[1, 2, 3, 4, 5, 6] +#define EXTRUDERS 1 + +// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 + +// For Cyclops or any "multi-extruder" that shares a single nozzle. +//#define SINGLENOZZLE + +/** + * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. + * + * This device allows one stepper driver on a control board to drive + * two to eight stepper motors, one at a time, in a manner suitable + * for extruders. + * + * This option only allows the multiplexer to switch on tool-change. + * Additional options to configure custom E moves are pending. + */ +//#define MK2_MULTIPLEXER +#if ENABLED(MK2_MULTIPLEXER) + // Override the default DIO selector pins here, if needed. + // Some pins files may provide defaults for these pins. + //#define E_MUX0_PIN 40 // Always Required + //#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs + //#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs +#endif + +/** + * Prusa Multi-Material Unit v2 + * + * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails. + * Requires EXTRUDERS = 5 + * + * For additional configuration see Configuration_adv.h + */ +//#define PRUSA_MMU2 + +// A dual extruder that uses a single stepper motor +//#define SWITCHING_EXTRUDER +#if ENABLED(SWITCHING_EXTRUDER) + #define SWITCHING_EXTRUDER_SERVO_NR 0 + #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3] + #if EXTRUDERS > 3 + #define SWITCHING_EXTRUDER_E23_SERVO_NR 1 + #endif +#endif + +// A dual-nozzle that uses a servomotor to raise/lower one (or both) of the nozzles +//#define SWITCHING_NOZZLE +#if ENABLED(SWITCHING_NOZZLE) + #define SWITCHING_NOZZLE_SERVO_NR 0 + //#define SWITCHING_NOZZLE_E1_SERVO_NR 1 // If two servos are used, the index of the second + #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 (single servo) or lowered/raised (dual servo) +#endif + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a solenoid docking mechanism. Requires SOL1_PIN and SOL2_PIN. + */ +//#define PARKING_EXTRUDER + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a magnetic docking mechanism using movements and no solenoid + * + * project : https://www.thingiverse.com/thing:3080893 + * movements : https://youtu.be/0xCEiG9VS3k + * https://youtu.be/Bqbcs0CU2FE + */ +//#define MAGNETIC_PARKING_EXTRUDER + +#if EITHER(PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER) + + #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders + #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // (mm) Distance to move beyond the parking point to grab the extruder + //#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381 + + #if ENABLED(PARKING_EXTRUDER) + + #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage + #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil + #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // (ms) Delay for magnetic field. No delay if 0 or not defined. + //#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381 + + #elif ENABLED(MAGNETIC_PARKING_EXTRUDER) + + #define MPE_FAST_SPEED 9000 // (mm/m) Speed for travel before last distance point + #define MPE_SLOW_SPEED 4500 // (mm/m) Speed for last distance travel to park and couple + #define MPE_TRAVEL_DISTANCE 10 // (mm) Last distance point + #define MPE_COMPENSATION 0 // Offset Compensation -1 , 0 , 1 (multiplier) only for coupling + + #endif + +#endif + +/** + * Switching Toolhead + * + * Support for swappable and dockable toolheads, such as + * the E3D Tool Changer. Toolheads are locked with a servo. + */ +//#define SWITCHING_TOOLHEAD + +/** + * Magnetic Switching Toolhead + * + * Support swappable and dockable toolheads with a magnetic + * docking mechanism using movement and no servo. + */ +//#define MAGNETIC_SWITCHING_TOOLHEAD + +/** + * Electromagnetic Switching Toolhead + * + * Parking for CoreXY / HBot kinematics. + * Toolheads are parked at one edge and held with an electromagnet. + * Supports more than 2 Toolheads. See https://youtu.be/JolbsAKTKf4 + */ +//#define ELECTROMAGNETIC_SWITCHING_TOOLHEAD + +#if ANY(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_Y_POS 235 // (mm) Y position of the toolhead dock + #define SWITCHING_TOOLHEAD_Y_SECURITY 10 // (mm) Security distance Y axis + #define SWITCHING_TOOLHEAD_Y_CLEAR 60 // (mm) Minimum distance from dock for unobstructed X axis + #define SWITCHING_TOOLHEAD_X_POS { 215, 0 } // (mm) X positions for parking the extruders + #if ENABLED(SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_SERVO_NR 2 // Index of the servo connector + #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 } // (degrees) Angles for Lock, Unlock + #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_Y_RELEASE 5 // (mm) Security distance Y axis + #define SWITCHING_TOOLHEAD_X_SECURITY { 90, 150 } // (mm) Security distance X axis (T0,T1) + //#define PRIME_BEFORE_REMOVE // Prime the nozzle before release from the dock + #if ENABLED(PRIME_BEFORE_REMOVE) + #define SWITCHING_TOOLHEAD_PRIME_MM 20 // (mm) Extruder prime length + #define SWITCHING_TOOLHEAD_RETRACT_MM 10 // (mm) Retract after priming length + #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE 300 // (mm/m) Extruder prime feedrate + #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400 // (mm/m) Extruder retract feedrate + #endif + #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_Z_HOP 2 // (mm) Z raise for switching + #endif +#endif + +/** + * "Mixing Extruder" + * - Adds G-codes M163 and M164 to set and "commit" the current mix factors. + * - Extends the stepping routines to move multiple steppers in proportion to the mix. + * - Optional support for Repetier Firmware's 'M164 S' supporting virtual tools. + * - This implementation supports up to two mixing extruders. + * - Enable DIRECT_MIXING_IN_G1 for M165 and mixing in G1 (from Pia Taubert's reference implementation). + */ +//#define MIXING_EXTRUDER +#if ENABLED(MIXING_EXTRUDER) + #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder + #define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164 + //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands + //#define GRADIENT_MIX // Support for gradient mixing with M166 and LCD + #if ENABLED(GRADIENT_MIX) + //#define GRADIENT_VTOOL // Add M166 T to use a V-tool index as a Gradient alias + #endif +#endif + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +//#define HOTEND_OFFSET_X { 0.0, 20.00 } // (mm) relative X-offset for each nozzle +//#define HOTEND_OFFSET_Y { 0.0, 5.00 } // (mm) relative Y-offset for each nozzle +//#define HOTEND_OFFSET_Z { 0.0, 0.00 } // (mm) relative Z-offset for each nozzle + +// @section machine + +/** + * Power Supply Control + * + * Enable and connect the power supply to the PS_ON_PIN. + * Specify whether the power supply is active HIGH or active LOW. + */ +//#define PSU_CONTROL +//#define PSU_NAME "Power Supply" + +#if ENABLED(PSU_CONTROL) + #define PSU_ACTIVE_HIGH false // Set 'false' for ATX (1), 'true' for X-Box (2) + + //#define PS_DEFAULT_OFF // Keep power off until enabled directly with M80 + + //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin + #if ENABLED(AUTO_POWER_CONTROL) + #define AUTO_POWER_FANS // Turn on PSU if fans need power + #define AUTO_POWER_E_FANS + #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN + //#define AUTO_POWER_E_TEMP 50 // (°C) Turn on PSU over this temperature + //#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature + #define POWER_TIMEOUT 30 + #endif +#endif + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== + +/** + * --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table + * + * Temperature sensors available: + * + * -4 : thermocouple with AD8495 + * -3 : thermocouple with MAX31855 (only for sensor 0) + * -2 : thermocouple with MAX6675 (only for sensor 0) + * -1 : thermocouple with AD595 + * 0 : not used + * 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) + * 331 : (3.3V scaled thermistor 1 table) + * 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) + * 3 : Mendel-parts thermistor (4.7k pullup) + * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! + * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor + * 512 : 100k RPW-Ultra hotend thermistor (4.7k pullup) + * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) + * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) + * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) + * 8 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) + * 9 : 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) + * 10 : 100k RS thermistor 198-961 (4.7k pullup) + * 11 : 100k beta 3950 1% thermistor (4.7k pullup) + * 12 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) + * 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" + * 15 : 100k thermistor calibration for JGAurora A5 hotend + * 18 : ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327 + * 20 : Pt100 with circuit in the Ultimainboard V2.x + * 201 : Pt100 with circuit in Overlord, similar to Ultimainboard V2.x + * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 + * 61 : 100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup + * 66 : 4.7M High Temperature thermistor from Dyze Design + * 67 : 450C thermistor from SliceEngineering + * 70 : the 100K thermistor found in the bq Hephestos 2 + * 75 : 100k Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor + * + * 1k ohm pullup tables - This is atypical, and requires changing out the 4.7k pullup for 1k. + * (but gives greater accuracy and more stable PID) + * 51 : 100k thermistor - EPCOS (1k pullup) + * 52 : 200k thermistor - ATC Semitec 204GT-2 (1k pullup) + * 55 : 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) + * + * 1047 : Pt1000 with 4k7 pullup + * 1010 : Pt1000 with 1k pullup (non standard) + * 147 : Pt100 with 4k7 pullup + * 110 : Pt100 with 1k pullup (non standard) + * + * 1000 : Custom - Specify parameters in Configuration_adv.h + * + * Use these for Testing or Development purposes. NEVER for production machine. + * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. + * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. + * + * :{ '0':"Not used", '1':"100k / 4.7k - EPCOS", '331':"(3.3V thermistor 1)", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '512':"100k RPW-Ultra hotend thermistor", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '18':"ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327" '20':"Pt100 (Ultimainboard V2.x)", '201':"Pt100 (Overlord)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '61':"100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup", '66':"Dyze Design 4.7M High Temperature thermistor", '67':"Slice Engineering 450C High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595", '998':"Dummy 1", '999':"Dummy 2", '1000':"Custom thermistor params" } + */ +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 +#define TEMP_SENSOR_BED 1 +#define TEMP_SENSOR_CHAMBER 0 + +// Dummy thermistor constant temperature readings, for use with 998 and 999 +#define DUMMY_THERMISTOR_998_VALUE 25 +#define DUMMY_THERMISTOR_999_VALUE 100 + +// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings +// from the two sensors differ too much the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +#define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109 +#define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer +#define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target + +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190 +#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer +#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target + +// Below this temperature the heater will be switched off +// because it probably indicates a broken thermistor wire. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 +#define BED_MINTEMP 5 + +// Above this temperature the heater will be switched off. +// This can protect components from overheating, but NOT from shorts and failures. +// (Use MINTEMP for thermistor short/failure protection.) +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 +#define BED_MAXTEMP 150 + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#define PID_K1 0.95 // Smoothing factor within any PID loop +#if ENABLED(PIDTEMP) + //#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM) + //#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + + // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it + + // Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + + // MakerGear + //#define DEFAULT_Kp 7.0 + //#define DEFAULT_Ki 0.1 + //#define DEFAULT_Kd 12 + + // Mendel Parts V9 on 12V + //#define DEFAULT_Kp 63.0 + //#define DEFAULT_Ki 2.25 + //#define DEFAULT_Kd 440 + +#endif // PIDTEMP + +//=========================================================================== +//====================== PID > Bed Temperature Control ====================== +//=========================================================================== + +/** + * PID Bed Heating + * + * If this option is enabled set PID constants below. + * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis. + * + * The PID frequency will be the same as the extruder PWM. + * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz, + * which is fine for driving a square wave into a resistive load and does not significantly + * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W + * heater. If your configuration is significantly different than this and you don't understand + * the issues involved, don't use bed PID until someone else verifies that your hardware works. + */ +//#define PIDTEMPBED + +//#define BED_LIMIT_SWITCHING + +/** + * Max Bed Power + * Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis). + * When set to any value below 255, enables a form of PWM to the bed that acts like a divider + * so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED) + */ +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#if ENABLED(PIDTEMPBED) + //#define MIN_BED_POWER 0 + //#define PID_BED_DEBUG // Sends debug data to the serial port. + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from pidautotune + //#define DEFAULT_bedKp 97.1 + //#define DEFAULT_bedKi 1.41 + //#define DEFAULT_bedKd 1675.16 + + // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + +// @section extruder + +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ +#define PREVENT_COLD_EXTRUSION +#define EXTRUDE_MINTEMP 170 + +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ +#define PREVENT_LENGTHY_EXTRUDE +#define EXTRUDE_MAXLENGTH 200 + +//=========================================================================== +//======================== Thermal Runaway Protection ======================= +//=========================================================================== + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * If you get "Thermal Runaway" or "Heating failed" errors the + * details can be tuned in Configuration_adv.h + */ + +#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders +#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed +#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics +// either in the usual order or reversed +//#define COREXY +//#define COREXZ +//#define COREYZ +//#define COREYX +//#define COREZX +//#define COREZY + +//=========================================================================== +//============================== Endstop Settings =========================== +//=========================================================================== + +// @section homing + +// Specify here all the endstop connectors that are connected to any endstop or probe. +// Almost all printers will be using one per axis. Probes will use one or more of the +// extra connectors. Leave undefined any used for non-endstop and non-probe purposes. +#define USE_XMIN_PLUG +#define USE_YMIN_PLUG +#define USE_ZMIN_PLUG +//#define USE_XMAX_PLUG +//#define USE_YMAX_PLUG +//#define USE_ZMAX_PLUG + +// Enable pullup for all endstops to prevent a floating state +#define ENDSTOPPULLUPS +#if DISABLED(ENDSTOPPULLUPS) + // Disable ENDSTOPPULLUPS to set pullups individually + //#define ENDSTOPPULLUP_XMAX + //#define ENDSTOPPULLUP_YMAX + //#define ENDSTOPPULLUP_ZMAX + //#define ENDSTOPPULLUP_XMIN + //#define ENDSTOPPULLUP_YMIN + //#define ENDSTOPPULLUP_ZMIN + //#define ENDSTOPPULLUP_ZMIN_PROBE +#endif + +// Enable pulldown for all endstops to prevent a floating state +//#define ENDSTOPPULLDOWNS +#if DISABLED(ENDSTOPPULLDOWNS) + // Disable ENDSTOPPULLDOWNS to set pulldowns individually + //#define ENDSTOPPULLDOWN_XMAX + //#define ENDSTOPPULLDOWN_YMAX + //#define ENDSTOPPULLDOWN_ZMAX + //#define ENDSTOPPULLDOWN_XMIN + //#define ENDSTOPPULLDOWN_YMIN + //#define ENDSTOPPULLDOWN_ZMIN + //#define ENDSTOPPULLDOWN_ZMIN_PROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe. + +/** + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. + * + * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE, + * TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE + * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define Z3_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 + +// Enable this feature if all enabled endstop pins are interrupt-capable. +// This will remove the need to poll the interrupt pins, saving many CPU cycles. +//#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Threshold + * + * Enable if your probe or endstops falsely trigger due to noise. + * + * - Higher values may affect repeatability or accuracy of some bed probes. + * - To fix noise install a 100nF ceramic capacitor inline with the switch. + * - This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, which already have the 100nF capacitor. + * + * :[2,3,4,5,6,7] + */ +//#define ENDSTOP_NOISE_THRESHOLD 2 + +//============================================================================= +//============================== Movement Settings ============================ +//============================================================================= +// @section motion + +/** + * Default Settings + * + * These settings can be reset by M502 + * + * Note that if EEPROM is enabled, saved values will override these. + */ + +/** + * With this option each E stepper can have its own factors for the + * following movement settings. If fewer factors are given than the + * total number of extruders, the last value applies to the rest. + */ +//#define DISTINCT_E_FACTORS + +/** + * Default Axis Steps Per Unit (steps/mm) + * Override with M92 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] + */ +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 100 } + +/** + * Default Max Feed Rate (mm/s) + * Override with M203 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] + */ +#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } + +/** + * Default Max Acceleration (change/s) change = mm/s + * (Maximum start speed for accelerated moves) + * Override with M201 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] + */ +#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } + +/** + * Default Acceleration (change/s) change = mm/s + * Override with M204 + * + * M204 P Acceleration + * M204 R Retract Acceleration + * M204 T Travel Acceleration + */ +#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves + +/** + * Junction Deviation + * + * Use Junction Deviation instead of traditional Jerk Limiting + * + * See: + * https://reprap.org/forum/read.php?1,739819 + * http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html + */ +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Default Jerk (mm/s) + * Override with M205 X Y Z E + * + * "Jerk" specifies the minimum speed change that requires acceleration. + * When changing speed and direction, if the difference is less than the + * value set here, it may happen instantaneously. + */ +#if DISABLED(JUNCTION_DEVIATION) + #define DEFAULT_XJERK 10.0 + #define DEFAULT_YJERK 10.0 + #define DEFAULT_ZJERK 0.3 +#endif + +#define DEFAULT_EJERK 5.0 // May be used by Linear Advance + +/** + * S-Curve Acceleration + * + * This option eliminates vibration during printing by fitting a Bézier + * curve to move acceleration, producing much smoother direction changes. + * + * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained + */ +//#define S_CURVE_ACCELERATION + +//=========================================================================== +//============================= Z Probe Options ============================= +//=========================================================================== +// @section probes + +// +// See http://marlinfw.org/docs/configuration/probes.html +// + +/** + * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + * + * Enable this option for a probe connected to the Z Min endstop pin. + */ +//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + +/** + * Z_MIN_PROBE_PIN + * + * Define this pin if the probe is not connected to Z_MIN_PIN. + * If not defined the default pin for the selected MOTHERBOARD + * will be used. Most of the time the default is what you want. + * + * - The simplest option is to use a free endstop connector. + * - Use 5V for powered (usually inductive) sensors. + * + * - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin: + * - For simple switches connect... + * - normally-closed switches to GND and D32. + * - normally-open switches to 5V and D32. + * + */ +//#define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default + +/** + * Probe Type + * + * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. + * Activate one of these to use Auto Bed Leveling below. + */ + +/** + * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. + * Use G29 repeatedly, adjusting the Z height at each point with movement commands + * or (with LCD_BED_LEVELING) the LCD controller. + */ +//#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 + +/** + * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. + * (e.g., an inductive probe or a nozzle-based probe-switch.) + */ +//#define FIX_MOUNTED_PROBE + +/** + * Z Servo Probe, such as an endstop switch on a rotating arm. + */ +//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector. +//#define Z_SERVO_ANGLES { 70, 0 } // Z Servo Deploy and Stow angles + +/** + * The BLTouch probe uses a Hall effect sensor and emulates a servo. + */ +//#define BLTOUCH + +/** + * Touch-MI Probe by hotends.fr + * + * This probe is deployed and activated by moving the X-axis to a magnet at the edge of the bed. + * By default, the magnet is assumed to be on the left and activated by a home. If the magnet is + * on the right, enable and set TOUCH_MI_DEPLOY_XPOS to the deploy position. + * + * Also requires: BABYSTEPPING, BABYSTEP_ZPROBE_OFFSET, Z_SAFE_HOMING, + * and a minimum Z_HOMING_HEIGHT of 10. + */ +//#define TOUCH_MI_PROBE +#if ENABLED(TOUCH_MI_PROBE) + #define TOUCH_MI_RETRACT_Z 0.5 // Height at which the probe retracts + //#define TOUCH_MI_DEPLOY_XPOS (X_MAX_BED + 2) // For a magnet on the right side of the bed + //#define TOUCH_MI_MANUAL_DEPLOY // For manual deploy (LCD menu) +#endif + +// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) +//#define SOLENOID_PROBE + +// A sled-mounted probe like those designed by Charles Bell. +//#define Z_PROBE_SLED +//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + +// A probe deployed by moving the x-axis, such as the Wilson II's rack-and-pinion probe designed by Marty Rice. +//#define RACK_AND_PINION_PROBE +#if ENABLED(RACK_AND_PINION_PROBE) + #define Z_PROBE_DEPLOY_X X_MIN_POS + #define Z_PROBE_RETRACT_X X_MAX_POS +#endif + +// +// For Z_PROBE_ALLEN_KEY see the Delta example configurations. +// + +/** + * Z Probe to nozzle (X,Y) offset, relative to (0, 0). + * + * In the following example the X and Y offsets are both positive: + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } + * + * +-- BACK ---+ + * | | + * L | (+) P | R <-- probe (20,20) + * E | | I + * F | (-) N (+) | G <-- nozzle (10,10) + * T | | H + * | (-) | T + * | | + * O-- FRONT --+ + * (0,0) + * + * Specify a Probe position as { X, Y, Z } + */ +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } + +// Certain types of probes need to stay away from edges +#define MIN_PROBE_EDGE 10 + +// X and Y axis travel speed (mm/m) between probes +#define XY_PROBE_SPEED 8000 + +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) +#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z + +// Feedrate (mm/m) for the "accurate" probe of each point +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) + +/** + * Multiple Probing + * + * You may get improved results by probing 2 or more times. + * With EXTRA_PROBING the more atypical reading(s) will be disregarded. + * + * A total of 2 does fast/slow probes with a weighted average. + * A total of 3 or more adds more slow probes, taking the average. + */ +//#define MULTIPLE_PROBING 2 +//#define EXTRA_PROBING 1 + +/** + * Z probes require clearance when deploying, stowing, and moving between + * probe points to avoid hitting the bed and other hardware. + * Servo-mounted probes require extra space for the arm to rotate. + * Inductive probes need space to keep from triggering early. + * + * Use these settings to specify the distance (mm) to raise the probe (or + * lower the bed). The values set here apply over and above any (negative) + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. + * Only integer values >= 1 are valid here. + * + * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. + * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. + */ +#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes +//#define Z_AFTER_PROBING 5 // Z position after probing is done + +#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping + +// For M851 give a range for adjusting the Z probe offset +#define Z_PROBE_OFFSET_RANGE_MIN -20 +#define Z_PROBE_OFFSET_RANGE_MAX 20 + +// Enable the M48 repeatability test to test probe accuracy +//#define Z_MIN_PROBE_REPEATABILITY_TEST + +// Before deploy/stow pause for user confirmation +//#define PAUSE_BEFORE_DEPLOY_STOW +#if ENABLED(PAUSE_BEFORE_DEPLOY_STOW) + //#define PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED // For Manual Deploy Allenkey Probe +#endif + +/** + * Enable one or more of the following if probing seems unreliable. + * Heaters and/or fans can be disabled during probing to minimize electrical + * noise. A delay can also be added to allow noise and vibration to settle. + * These options are most useful for the BLTouch probe, but may also improve + * readings with inductive probes and piezo sensors. + */ +//#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif +//#define PROBING_FANS_OFF // Turn fans off when probing +//#define PROBING_STEPPERS_OFF // Turn steppers off (unless needed to hold position) when probing +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{ 0:'Low', 1:'High' } +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis stepper immediately when it's not being used. +// WARNING: When motors turn off there is a chance of losing position accuracy! +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false + +// Warn on display about possibly reduced accuracy +//#define DISABLE_REDUCED_ACCURACY_WARNING + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER // Keep only the active extruder enabled + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR true +#define INVERT_Y_DIR true +#define INVERT_Z_DIR false + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR false +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false +#define INVERT_E4_DIR false +#define INVERT_E5_DIR false + +// @section homing + +//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed + +//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. + +//#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ... + // Be sure you have this distance over your Z_MAX_POS in case. + +// Direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +// @section machine + +// The size of the print bed +#define X_BED_SIZE 310 +#define Y_BED_SIZE 310 + +// Travel limits (mm) after homing, corresponding to endstop positions. +#define X_MIN_POS -5 +#define Y_MIN_POS -10 +#define Z_MIN_POS -3 +#define X_MAX_POS X_BED_SIZE +#define Y_MAX_POS Y_BED_SIZE +#define Z_MAX_POS 410 + +/** + * Software Endstops + * + * - Prevent moves outside the set machine bounds. + * - Individual axes can be disabled, if desired. + * - X and Y only apply to Cartesian robots. + * - Use 'M211' to set software endstops on/off or report current state + */ + +// Min software endstops constrain movement within minimum coordinate bounds +//#define MIN_SOFTWARE_ENDSTOPS +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) + #define MIN_SOFTWARE_ENDSTOP_X + #define MIN_SOFTWARE_ENDSTOP_Y + #define MIN_SOFTWARE_ENDSTOP_Z +#endif + +// Max software endstops constrain movement within maximum coordinate bounds +//#define MAX_SOFTWARE_ENDSTOPS +#if ENABLED(MAX_SOFTWARE_ENDSTOPS) + #define MAX_SOFTWARE_ENDSTOP_X + #define MAX_SOFTWARE_ENDSTOP_Y + #define MAX_SOFTWARE_ENDSTOP_Z +#endif + +#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + +/** + * Filament Runout Sensors + * Mechanical or opto endstops are used to check for the presence of filament. + * + * RAMPS-based boards use SERVO3_PIN for the first runout sensor. + * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. + * By default the firmware assumes HIGH=FILAMENT PRESENT. + */ +#define FILAMENT_RUNOUT_SENSOR +#define FIL_RUNOUT_PIN 24 +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_INVERTING false // Set to true to invert the logic of the sensor. + #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. + + // Set one or more commands to execute on filament runout. + // (After 'M412 H' Marlin will ask the host to handle the process.) + #define FILAMENT_RUNOUT_SCRIPT "M600" + + // After a runout is detected, continue printing this length of filament + // before executing the runout script. Useful for a sensor at the end of + // a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead. + //#define FILAMENT_RUNOUT_DISTANCE_MM 25 + + #ifdef FILAMENT_RUNOUT_DISTANCE_MM + // Enable this option to use an encoder disc that toggles the runout pin + // as the filament moves. (Be sure to set FILAMENT_RUNOUT_DISTANCE_MM + // large enough to avoid false positives.) + //#define FILAMENT_MOTION_SENSOR + #endif +#endif + +//=========================================================================== +//=============================== Bed Leveling ============================== +//=========================================================================== +// @section calibrate + +/** + * Choose one of the options below to enable G29 Bed Leveling. The parameters + * and behavior of G29 will change depending on your selection. + * + * If using a Probe for Z Homing, enable Z_SAFE_HOMING also! + * + * - AUTO_BED_LEVELING_3POINT + * Probe 3 arbitrary points on the bed (that aren't collinear) + * You specify the XY coordinates of all 3 points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_LINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_BILINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a mesh, best for large or uneven beds. + * + * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling) + * A comprehensive bed leveling system combining the features and benefits + * of other systems. UBL also includes integrated Mesh Generation, Mesh + * Validation and Mesh Editing systems. + * + * - MESH_BED_LEVELING + * Probe a grid manually + * The result is a mesh, suitable for large or uneven beds. (See BILINEAR.) + * For machines without a probe, Mesh Bed Leveling provides a method to perform + * leveling in steps so you can manually adjust the Z height at each grid-point. + * With an LCD controller the process is guided step-by-step. + */ +//#define AUTO_BED_LEVELING_3POINT +//#define AUTO_BED_LEVELING_LINEAR +//#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL +//#define MESH_BED_LEVELING + +/** + * Normally G28 leaves leveling disabled on completion. Enable + * this option to have G28 restore the prior leveling state. + */ +//#define RESTORE_LEVELING_AFTER_G28 + +/** + * Enable detailed logging of G28, G29, M48, etc. + * Turn on with the command 'M111 S32'. + * NOTE: Requires a lot of PROGMEM! + */ +//#define DEBUG_LEVELING_FEATURE + +#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL) + // Gradually reduce leveling correction until a set height is reached, + // at which point movement will be level to the machine's XY plane. + // The height can be set with M420 Z + #define ENABLE_LEVELING_FADE_HEIGHT + + // For Cartesian machines, instead of dividing moves on mesh boundaries, + // split up moves into short segments like a Delta. This follows the + // contours of the bed more closely than edge-to-edge straight moves. + #define SEGMENT_LEVELED_MOVES + #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one) + + /** + * Enable the G26 Mesh Validation Pattern tool. + */ + //#define G26_MESH_VALIDATION + #if ENABLED(G26_MESH_VALIDATION) + #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. + #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. + #define MESH_TEST_HOTEND_TEMP 205 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_BED_TEMP 60 // (°C) Default bed temperature for the G26 Mesh Validation Tool. + #define G26_XY_FEEDRATE 20 // (mm/s) Feedrate for XY Moves for the G26 Mesh Validation Tool. + #endif + +#endif + +#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR) + + // Set the number of grid points per dimension. + #define GRID_MAX_POINTS_X 3 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + // Probe along the Y axis, advancing X after each column + //#define PROBE_Y_FIRST + + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Beyond the probed grid, continue the implied tilt? + // Default is to maintain the height of the nearest edge. + //#define EXTRAPOLATE_BEYOND_GRID + + // + // Experimental Subdivision of the grid by Catmull-Rom method. + // Synthesizes intermediate points to produce a more detailed mesh. + // + //#define ABL_BILINEAR_SUBDIVISION + #if ENABLED(ABL_BILINEAR_SUBDIVISION) + // Number of subdivisions between probe points + #define BILINEAR_SUBDIVISIONS 3 + #endif + + #endif + +#elif ENABLED(AUTO_BED_LEVELING_UBL) + + //=========================================================================== + //========================= Unified Bed Leveling ============================ + //=========================================================================== + + //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh + + #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle + #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 + + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used + // as the Z-Height correction value. + +#elif ENABLED(MESH_BED_LEVELING) + + //=========================================================================== + //=================================== Mesh ================================== + //=========================================================================== + + #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS + +#endif // BED_LEVELING + +/** + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. + */ +//#define LCD_BED_LEVELING + +#if ENABLED(LCD_BED_LEVELING) + #define MESH_EDIT_Z_STEP 0.025 // (mm) Step size while manually probing Z axis. + #define LCD_PROBE_Z_RANGE 4 // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment + //#define MESH_EDIT_MENU // Add a menu to edit mesh points +#endif + +// Add a menu item to move between bed corners for manual bed adjustment +//#define LEVEL_BED_CORNERS + +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + #define LEVEL_CORNERS_Z_HOP 4.0 // (mm) Move nozzle up before moving between corners + #define LEVEL_CORNERS_HEIGHT 0.0 // (mm) Z height of nozzle at leveling points + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + +/** + * Commands to execute at the end of G29 probing. + * Useful to retract or move the Z probe out of the way. + */ +//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" + + +// @section homing + +// The center of the bed is at (X=0, Y=0) +//#define BED_CENTER_AT_0_0 + +// Manually set the home position. Leave these undefined for automatic settings. +// For DELTA this is the top-center of the Cartesian print volume. +//#define MANUAL_X_HOME_POS 0 +//#define MANUAL_Y_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 0 + +// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. +// +// With this feature enabled: +// +// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. +// - If stepper drivers time out, it will need X and Y homing again before Z homing. +// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). +// - Prevent Z homing when the Z probe is outside bed area. +// +//#define Z_SAFE_HOMING + +#if ENABLED(Z_SAFE_HOMING) + #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). +#endif + +// Homing speeds (mm/m) +#define HOMING_FEEDRATE_XY (50*60) +#define HOMING_FEEDRATE_Z (4*60) + +// Validate that endstops are triggered on homing moves +#define VALIDATE_HOMING_ENDSTOPS + +// @section calibrate + +/** + * Bed Skew Compensation + * + * This feature corrects for misalignment in the XYZ axes. + * + * Take the following steps to get the bed skew in the XY plane: + * 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185) + * 2. For XY_DIAG_AC measure the diagonal A to C + * 3. For XY_DIAG_BD measure the diagonal B to D + * 4. For XY_SIDE_AD measure the edge A to D + * + * Marlin automatically computes skew factors from these measurements. + * Skew factors may also be computed and set manually: + * + * - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2 + * - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD))) + * + * If desired, follow the same procedure for XZ and YZ. + * Use these diagrams for reference: + * + * Y Z Z + * ^ B-------C ^ B-------C ^ B-------C + * | / / | / / | / / + * | / / | / / | / / + * | A-------D | A-------D | A-------D + * +-------------->X +-------------->X +-------------->Y + * XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR + */ +//#define SKEW_CORRECTION + +#if ENABLED(SKEW_CORRECTION) + // Input all length measurements here: + #define XY_DIAG_AC 282.8427124746 + #define XY_DIAG_BD 282.8427124746 + #define XY_SIDE_AD 200 + + // Or, set the default skew factors directly here + // to override the above measurements: + #define XY_SKEW_FACTOR 0.0 + + //#define SKEW_CORRECTION_FOR_Z + #if ENABLED(SKEW_CORRECTION_FOR_Z) + #define XZ_DIAG_AC 282.8427124746 + #define XZ_DIAG_BD 282.8427124746 + #define YZ_DIAG_AC 282.8427124746 + #define YZ_DIAG_BD 282.8427124746 + #define YZ_SIDE_AD 200 + #define XZ_SKEW_FACTOR 0.0 + #define YZ_SKEW_FACTOR 0.0 + #endif + + // Enable this option for M852 to set skew at runtime + //#define SKEW_CORRECTION_GCODE +#endif + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section extras + +/** + * EEPROM + * + * Persistent storage to preserve configurable settings across reboots. + * + * M500 - Store settings to EEPROM. + * M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes) + * M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.) + */ +#define EEPROM_SETTINGS // Persistent storage with M500 and M501 +//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! +#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. +#if ENABLED(EEPROM_SETTINGS) + //#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors. +#endif + +// +// Host Keepalive +// +// When enabled Marlin will send a busy status message to the host +// every couple of seconds when it can't accept commands. +// +#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages +#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113. +#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating + +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage + +// +// G20/G21 Inch mode support +// +//#define INCH_MODE_SUPPORT + +// +// M149 Set temperature units support +// +//#define TEMPERATURE_UNITS_SUPPORT + +// @section temperature + +// Preheat Constants +#define PREHEAT_1_LABEL "PLA" +#define PREHEAT_1_TEMP_HOTEND 180 +#define PREHEAT_1_TEMP_BED 70 +#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 + +#define PREHEAT_2_LABEL "ABS" +#define PREHEAT_2_TEMP_HOTEND 240 +#define PREHEAT_2_TEMP_BED 110 +#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 + +/** + * Nozzle Park + * + * Park the nozzle at the given XYZ position on idle or G27. + * + * The "P" parameter controls the action applied to the Z axis: + * + * P0 (Default) If Z is below park Z raise the nozzle. + * P1 Raise the nozzle always to Z-park height. + * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. + */ +#define NOZZLE_PARK_FEATURE + +#if ENABLED(NOZZLE_PARK_FEATURE) + // Specify a park position as { X, Y, Z_raise } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 60 // (mm/s) X and Y axes feedrate (also used for delta Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // (mm/s) Z axis feedrate (not used for delta printers) +#endif + +/** + * Clean Nozzle Feature -- EXPERIMENTAL + * + * Adds the G12 command to perform a nozzle cleaning process. + * + * Parameters: + * P Pattern + * S Strokes / Repetitions + * T Triangles (P1 only) + * + * Patterns: + * P0 Straight line (default). This process requires a sponge type material + * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) + * between the start / end points. + * + * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the + * number of zig-zag triangles to do. "S" defines the number of strokes. + * Zig-zags are done in whichever is the narrower dimension. + * For example, "G12 P1 S1 T3" will execute: + * + * -- + * | (X0, Y1) | /\ /\ /\ | (X1, Y1) + * | | / \ / \ / \ | + * A | | / \ / \ / \ | + * | | / \ / \ / \ | + * | (X0, Y0) | / \/ \/ \ | (X1, Y0) + * -- +--------------------------------+ + * |________|_________|_________| + * T1 T2 T3 + * + * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. + * "R" specifies the radius. "S" specifies the stroke count. + * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. + * + * Caveats: The ending Z should be the same as starting Z. + * Attention: EXPERIMENTAL. G-code arguments may change. + * + */ +//#define NOZZLE_CLEAN_FEATURE + +#if ENABLED(NOZZLE_CLEAN_FEATURE) + // Default number of pattern repetitions + #define NOZZLE_CLEAN_STROKES 12 + + // Default number of triangles + #define NOZZLE_CLEAN_TRIANGLES 3 + + // Specify positions as { X, Y, Z } + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } + #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } + + // Circular pattern radius + #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 + // Circular pattern circle fragments number + #define NOZZLE_CLEAN_CIRCLE_FN 10 + // Middle point of circle + #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT + + // Move the nozzle to the initial position after cleaning + #define NOZZLE_CLEAN_GOBACK + + // Enable for a purge/clean station that's always at the gantry height (thus no Z move) + //#define NOZZLE_CLEAN_NO_Z +#endif + +/** + * Print Job Timer + * + * Automatically start and stop the print job timer on M104/M109/M190. + * + * M104 (hotend, no wait) - high temp = none, low temp = stop timer + * M109 (hotend, wait) - high temp = start timer, low temp = stop timer + * M190 (bed, wait) - high temp = start timer, low temp = none + * + * The timer can also be controlled with the following commands: + * + * M75 - Start the print job timer + * M76 - Pause the print job timer + * M77 - Stop the print job timer + */ +#define PRINTJOB_TIMER_AUTOSTART + +/** + * Print Counter + * + * Track statistical data such as: + * + * - Total print jobs + * - Total successful print jobs + * - Total failed print jobs + * - Total time printing + * + * View the current statistics with M78. + */ +//#define PRINTCOUNTER + +//============================================================================= +//============================= LCD and SD support ============================ +//============================================================================= + +// @section lcd + +/** + * LCD LANGUAGE + * + * Select the language to display on the LCD. These languages are available: + * + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test + * + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + */ +#define LCD_LANGUAGE en + +/** + * LCD Character Set + * + * Note: This option is NOT applicable to Graphical Displays. + * + * All character-based LCDs provide ASCII plus one of these + * language extensions: + * + * - JAPANESE ... the most common + * - WESTERN ... with more accented characters + * - CYRILLIC ... for the Russian language + * + * To determine the language extension installed on your controller: + * + * - Compile and upload with LCD_LANGUAGE set to 'test' + * - Click the controller to view the LCD menu + * - The LCD will display Japanese, Western, or Cyrillic text + * + * See http://marlinfw.org/docs/development/lcd_language.html + * + * :['JAPANESE', 'WESTERN', 'CYRILLIC'] + */ +#define DISPLAY_CHARSET_HD44780 JAPANESE + +/** + * Info Screen Style (0:Classic, 1:Prusa) + * + * :[0:'Classic', 1:'Prusa'] + */ +#define LCD_INFO_SCREEN_STYLE 0 + +/** + * SD CARD + * + * SD Card support is disabled by default. If your controller has an SD slot, + * you must uncomment the following option or it won't work. + * + */ +#define SDSUPPORT + +/** + * SD CARD: SPI SPEED + * + * Enable one of the following items for a slower SPI transfer speed. + * This may be required to resolve "volume init" errors. + */ +//#define SPI_SPEED SPI_HALF_SPEED +//#define SPI_SPEED SPI_QUARTER_SPEED +//#define SPI_SPEED SPI_EIGHTH_SPEED + +/** + * SD CARD: ENABLE CRC + * + * Use CRC checks and retries on the SD communication. + */ +#define SD_CHECK_AND_RETRY + +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + +// +// ENCODER SETTINGS +// +// This option overrides the default number of encoder pulses needed to +// produce one step. Should be increased for high-resolution encoders. +// +//#define ENCODER_PULSES_PER_STEP 4 + +// +// Use this option to override the number of step signals required to +// move between next/prev menu items. +// +//#define ENCODER_STEPS_PER_MENU_ITEM 1 + +/** + * Encoder Direction Options + * + * Test your encoder's behavior first with both options disabled. + * + * Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION. + * Reversed Menu Navigation only? Enable REVERSE_MENU_DIRECTION. + * Reversed Value Editing only? Enable BOTH options. + */ + +// +// This option reverses the encoder direction everywhere. +// +// Set this option if CLOCKWISE causes values to DECREASE +// +#define REVERSE_ENCODER_DIRECTION + +// +// This option reverses the encoder direction for navigating LCD menus. +// +// If CLOCKWISE normally moves DOWN this makes it go UP. +// If CLOCKWISE normally moves UP this makes it go DOWN. +// +#define REVERSE_MENU_DIRECTION + +// +// This option reverses the encoder direction for Select Screen. +// +// If CLOCKWISE normally moves LEFT this makes it go RIGHT. +// If CLOCKWISE normally moves RIGHT this makes it go LEFT. +// +//#define REVERSE_SELECT_DIRECTION + +// +// Individual Axis Homing +// +// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +// +//#define INDIVIDUAL_AXIS_HOMING_MENU + +// +// SPEAKER/BUZZER +// +// If you have a speaker that can produce tones, enable it here. +// By default Marlin assumes you have a buzzer with a fixed frequency. +// +//#define SPEAKER + +// +// The duration and frequency for the UI feedback sound. +// Set these to 0 to disable audio feedback in the LCD menus. +// +// Note: Test audio output with the G-Code: +// M300 S P +// +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 +//#define LCD_FEEDBACK_FREQUENCY_HZ 5000 + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + +// +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +// +// Note: Usually sold with a white PCB. +// +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// +// Original RADDS LCD Display+Encoder+SDCardReader +// http://doku.radds.org/dokumentation/lcd-display/ +// +//#define RADDS_DISPLAY + +// +// ULTIMAKER Controller. +// +//#define ULTIMAKERCONTROLLER + +// +// ULTIPANEL as seen on Thingiverse. +// +//#define ULTIPANEL + +// +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +// +//#define PANEL_ONE + +// +// GADGETS3D G3D LCD/SD Controller +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +// +// Note: Usually sold with a blue PCB. +// +//#define G3D_PANEL + +// +// RigidBot Panel V1.0 +// http://www.inventapart.com/ +// +//#define RIGIDBOT_PANEL + +// +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html +// +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 + +// +// ANET and Tronxy 20x4 Controller +// +//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. + // This LCD is known to be susceptible to electrical interference + // which scrambles the display. Pressing any button clears it up. + // This is a LCD2004 display with 5 analog buttons. + +// +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. +// +//#define ULTRA_LCD + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= + +// +// CONTROLLER TYPE: I2C +// +// Note: These controllers require the installation of Arduino's LiquidCrystal_I2C +// library. For more info: https://github.com/kiyoshigawa/LiquidCrystal_I2C +// + +// +// Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// +//#define RA_CONTROL_PANEL + +// +// Sainsmart (YwRobot) LCD Displays +// +// These require F.Malpartida's LiquidCrystal_I2C library +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home +// +//#define LCD_SAINSMART_I2C_1602 +//#define LCD_SAINSMART_I2C_2004 + +// +// Generic LCM1602 LCD adapter +// +//#define LCM1602 + +// +// PANELOLU2 LCD with status LEDs, +// separate encoder and click inputs. +// +// Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later. +// For more info: https://github.com/lincomatic/LiquidTWI2 +// +// Note: The PANELOLU2 encoder click input can either be directly connected to +// a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). +// +//#define LCD_I2C_PANELOLU2 + +// +// Panucatt VIKI LCD with status LEDs, +// integrated click & L/R/U/D buttons, separate encoder inputs. +// +//#define LCD_I2C_VIKI + +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2-wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +// +// 3-wire SR LCD with strobe using 74HC4094 +// https://github.com/mikeshub/SailfishLCD +// Uses the code directly from Sailfish +// +//#define FF_INTERFACEBOARD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + +// +// Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display and encoder +// https://github.com/Ultimaker/Ultimaker2/tree/master/1249_Ulticontroller_Board_(x1) +// +//#define ULTI_CONTROLLER + +// +// MKS MINI12864 with graphic controller and SD support +// https://reprap.org/wiki/MKS_MINI_12864 +// +//#define MKS_MINI_12864 + +// +// FYSETC variant of the MINI12864 graphic controller with SD support +// https://wiki.fysetc.com/Mini12864_Panel/ +// +//#define FYSETC_MINI_12864_X_X // Type C/D/E/F. No tunable RGB Backlight by default +//#define FYSETC_MINI_12864_1_2 // Type C/D/E/F. Simple RGB Backlight (always on) +//#define FYSETC_MINI_12864_2_0 // Type A/B. Discreet RGB Backlight +//#define FYSETC_MINI_12864_2_1 // Type A/B. Neopixel RGB Backlight + +// +// Factory display for Creality CR-10 +// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html +// +// This is RAMPS-compatible using a single 10-pin connector. +// (For CR-10 owners who want to replace the Melzi Creality board but retain the display) +// +//#define CR10_STOCKDISPLAY + +// +// ANET and Tronxy Graphical Controller +// +// Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 +// A clone of the RepRapDiscount full graphics display but with +// different pins/wiring (see pins_ANET_10.h). +// +//#define ANET_FULL_GRAPHICS_LCD + +// +// AZSMZ 12864 LCD with SD +// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html +// +//#define AZSMZ_12864 + +// +// Silvergate GLCD controller +// http://github.com/android444/Silvergate +// +//#define SILVER_GATE_GLCD_CONTROLLER + +//============================================================================= +//============================== OLED Displays ============================== +//============================================================================= + +// +// SSD1306 OLED full graphics generic display +// +//#define U8GLIB_SSD1306 + +// +// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules +// +//#define SAV_3DGLCD +#if ENABLED(SAV_3DGLCD) + #define U8GLIB_SSD1306 + //#define U8GLIB_SH1106 +#endif + +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + +// +// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// http://reprap.org/wiki/MKS_12864OLED +// +// Tiny, but very sharp OLED display +// +//#define MKS_12864OLED // Uses the SH1106 controller (default) +//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller + +// +// Einstart S OLED SSD1306 +// +//#define U8GLIB_SH1106_EINSTART + +// +// Overlord OLED display/controller with i2c buzzer and LEDs +// +//#define OVERLORD_OLED + +//============================================================================= +//========================== Extensible UI Displays =========================== +//============================================================================= + +// +// DGUS Touch Display with DWIN OS +// +//#define DGUS_LCD + +// +// Touch-screen LCD for Malyan M200 printers +// +//#define MALYAN_LCD + +// +// LulzBot Color Touch UI for FTDI EVE (FT800/FT810) displays +// See Configuration_adv.h for all configuration options. +// +//#define LULZBOT_TOUCH_UI + +// +// Third-party or vendor-customized controller interfaces. +// Sources should be installed in 'src/lcd/extensible_ui'. +// +//#define EXTENSIBLE_UI + +//============================================================================= +//=============================== Graphical TFTs ============================== +//============================================================================= + +// +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) +// +//#define FSMC_GRAPHICAL_TFT + +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8 +// +//#define TOUCH_BUTTONS +#if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + + #define XPT2046_X_CALIBRATION 12316 + #define XPT2046_Y_CALIBRATION -8981 + #define XPT2046_X_OFFSET -43 + #define XPT2046_Y_OFFSET 257 +#endif + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press + +//============================================================================= +//=============================== Extra Features ============================== +//============================================================================= + +// @section extras + +// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +// :[0,1,2,3,4,5,6,7] +#define SOFT_PWM_SCALE 0 + +// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can +// be used to mitigate the associated resolution loss. If enabled, +// some of the PWM cycles are stretched so on average the desired +// duty cycle is attained. +//#define SOFT_PWM_DITHER + +// Temperature status LEDs that display the hotend and bed temperature. +// If all hotends, bed temperature, and target temperature are under 54C +// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) +//#define TEMP_STAT_LEDS + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder +//#define BARICUDA + +// Support for BlinkM/CyzRgb +//#define BLINKM + +// Support for PCA9632 PWM LED driver +//#define PCA9632 + +// Support for PCA9533 PWM LED driver +// https://github.com/mikeshub/SailfishRGB_LED +//#define PCA9533 + +/** + * RGB LED / LED Strip Control + * + * Enable support for an RGB LED connected to 5V digital pins, or + * an RGB Strip connected to MOSFETs controlled by digital pins. + * + * Adds the M150 command to set the LED (or LED strip) color. + * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of + * luminance values can be set from 0 to 255. + * For Neopixel LED an overall brightness parameter is also available. + * + * *** CAUTION *** + * LED Strips require a MOSFET Chip between PWM lines and LEDs, + * as the Arduino cannot handle the current the LEDs will require. + * Failure to follow this precaution can destroy your Arduino! + * NOTE: A separate 5V power supply is required! The Neopixel LED needs + * more current than the Arduino 5V linear regulator can produce. + * *** CAUTION *** + * + * LED Type. Enable only one of the following two options. + * + */ +//#define RGB_LED +//#define RGBW_LED + +#if EITHER(RGB_LED, RGBW_LED) + //#define RGB_LED_R_PIN 34 + //#define RGB_LED_G_PIN 43 + //#define RGB_LED_B_PIN 35 + //#define RGB_LED_W_PIN -1 +#endif + +// Support for Adafruit Neopixel LED driver +//#define NEOPIXEL_LED +#if ENABLED(NEOPIXEL_LED) + #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h) + #define NEOPIXEL_PIN 4 // LED driving pin + //#define NEOPIXEL2_TYPE NEOPIXEL_TYPE + //#define NEOPIXEL2_PIN 5 + #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip, larger of 2 strips if 2 neopixel strips are used + #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once. + #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255) + //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup + + // Use a single Neopixel LED for static (background) lighting + //#define NEOPIXEL_BKGD_LED_INDEX 0 // Index of the LED to use + //#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W +#endif + +/** + * Printer Event LEDs + * + * During printing, the LEDs will reflect the printer status: + * + * - Gradually change from blue to violet as the heated bed gets to target temp + * - Gradually change from violet to red as the hotend gets to temperature + * - Change to white to illuminate work surface + * - Change to green once print has finished + * - Turn off after the print has finished and the user has pushed a button + */ +#if ANY(BLINKM, RGB_LED, RGBW_LED, PCA9632, PCA9533, NEOPIXEL_LED) + #define PRINTER_EVENT_LEDS +#endif + +/** + * R/C SERVO support + * Sponsored by TrinityLabs, Reworked by codexmas + */ + +/** + * Number of servos + * + * For some servo-related options NUM_SERVOS will be set automatically. + * Set this manually if there are extra servos needing manual control. + * Leave undefined or set to 0 to entirely disable the servo subsystem. + */ +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. +// 300ms is a good value but you can try less delay. +// If the servo can't reach the requested position, increase it. +#define SERVO_DELAY { 300 } + +// Only power servos during movement, otherwise leave off to prevent jitter +//#define DEACTIVATE_SERVOS_AFTER_MOVE + +// Allow servo angle to be edited and saved to EEPROM +//#define EDITABLE_SERVO_ANGLES diff --git a/config/examples/ADIMLab/Gantry v2/Configuration_adv.h b/config/examples/ADIMLab/Gantry v2/Configuration_adv.h new file mode 100644 index 0000000000..9d69ca35f9 --- /dev/null +++ b/config/examples/ADIMLab/Gantry v2/Configuration_adv.h @@ -0,0 +1,2766 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Configuration_adv.h + * + * Advanced settings. + * Only change these if you know exactly what you're doing. + * Some of these settings can damage your printer if improperly set! + * + * Basic settings can be found in Configuration.h + * + */ +#define CONFIGURATION_ADV_H_VERSION 020000 + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +// +// Custom Thermistor 1000 parameters +// +#if TEMP_SENSOR_0 == 1000 + #define HOTEND0_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND0_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND0_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_1 == 1000 + #define HOTEND1_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND1_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND1_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_2 == 1000 + #define HOTEND2_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND2_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND2_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_3 == 1000 + #define HOTEND3_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND3_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND3_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_4 == 1000 + #define HOTEND4_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND4_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND4_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_5 == 1000 + #define HOTEND5_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND5_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND5_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_BED == 1000 + #define BED_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define BED_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define BED_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_CHAMBER == 1000 + #define CHAMBER_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define CHAMBER_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define CHAMBER_BETA 3950 // Beta value +#endif + +// +// Hephestos 2 24V heated bed upgrade kit. +// https://store.bq.com/en/heated-bed-kit-hephestos2 +// +//#define HEPHESTOS2_HEATED_BED_KIT +#if ENABLED(HEPHESTOS2_HEATED_BED_KIT) + #undef TEMP_SENSOR_BED + #define TEMP_SENSOR_BED 70 + #define HEATER_BED_INVERTING true +#endif + +/** + * Heated Chamber settings + */ +#if TEMP_SENSOR_CHAMBER + #define CHAMBER_MINTEMP 5 + #define CHAMBER_MAXTEMP 60 + #define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target + //#define CHAMBER_LIMIT_SWITCHING + //#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin + //#define HEATER_CHAMBER_INVERTING false +#endif + +#if DISABLED(PIDTEMPBED) + #define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control + #if ENABLED(BED_LIMIT_SWITCHING) + #define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS + #endif +#endif + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * The solution: Once the temperature reaches the target, start observing. + * If the temperature stays too far below the target (hysteresis) for too + * long (period), the firmware will halt the machine as a safety precaution. + * + * If you get false positives for "Thermal Runaway", increase + * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD + */ +#if ENABLED(THERMAL_PROTECTION_HOTENDS) + #define THERMAL_PROTECTION_PERIOD 40 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius + + //#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops + #if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP) + //#define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303 + #endif + + /** + * Whenever an M104, M109, or M303 increases the target temperature, the + * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature + * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and + * requires a hard reset. This test restarts with any M104/M109/M303, but only + * if the current temperature is far enough below the target for a reliable + * test. + * + * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD + * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set + * below 2. + */ + #define WATCH_TEMP_PERIOD 20 // Seconds + #define WATCH_TEMP_INCREASE 2 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the bed are just as above for hotends. + */ +#if ENABLED(THERMAL_PROTECTION_BED) + #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius + + /** + * As described above, except for the bed (M140/M190/M303). + */ + #define WATCH_BED_TEMP_PERIOD 60 // Seconds + #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the heated chamber. + */ +#if ENABLED(THERMAL_PROTECTION_CHAMBER) + #define THERMAL_PROTECTION_CHAMBER_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_CHAMBER_HYSTERESIS 2 // Degrees Celsius + + /** + * Heated chamber watch settings (M141/M191). + */ + #define WATCH_CHAMBER_TEMP_PERIOD 60 // Seconds + #define WATCH_CHAMBER_TEMP_INCREASE 2 // Degrees Celsius +#endif + +#if ENABLED(PIDTEMP) + // Add an experimental additional term to the heater power, proportional to the extrusion speed. + // A well-chosen Kc value should add just enough power to melt the increased material volume. + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) + #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) + #define LPQ_MAX_LEN 50 + #endif +#endif + +/** + * Automatic Temperature: + * The hotend target temperature is calculated by all the buffered lines of gcode. + * The maximum buffered steps/sec of the extruder motor is called "se". + * Start autotemp mode with M109 S B F + * The target temperature is set to mintemp+factor*se[steps/sec] and is limited by + * mintemp and maxtemp. Turn this off by executing M109 without F* + * Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp. + * On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode + */ +#define AUTOTEMP +#if ENABLED(AUTOTEMP) + #define AUTOTEMP_OLDWEIGHT 0.98 +#endif + +// Show extra position information with 'M114 D' +//#define M114_DETAIL + +// Show Temperature ADC value +// Enable for M105 to include ADC values read from temperature sensors. +//#define SHOW_TEMP_ADC_VALUES + +/** + * High Temperature Thermistor Support + * + * Thermistors able to support high temperature tend to have a hard time getting + * good readings at room and lower temperatures. This means HEATER_X_RAW_LO_TEMP + * will probably be caught when the heating element first turns on during the + * preheating process, which will trigger a min_temp_error as a safety measure + * and force stop everything. + * To circumvent this limitation, we allow for a preheat time (during which, + * min_temp_error won't be triggered) and add a min_temp buffer to handle + * aberrant readings. + * + * If you want to enable this feature for your hotend thermistor(s) + * uncomment and set values > 0 in the constants below + */ + +// The number of consecutive low temperature errors that can occur +// before a min_temp_error is triggered. (Shouldn't be more than 10.) +//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0 + +// The number of milliseconds a hotend will preheat before starting to check +// the temperature. This value should NOT be set to the time it takes the +// hot end to reach the target temperature, but the time it takes to reach +// the minimum temperature your thermistor can read. The lower the better/safer. +// This shouldn't need to be more than 30 seconds (30000) +//#define MILLISECONDS_PREHEAT_TIME 0 + +// @section extruder + +// Extruder runout prevention. +// If the machine is idle and the temperature over MINTEMP +// then extrude some filament every couple of SECONDS. +//#define EXTRUDER_RUNOUT_PREVENT +#if ENABLED(EXTRUDER_RUNOUT_PREVENT) + #define EXTRUDER_RUNOUT_MINTEMP 190 + #define EXTRUDER_RUNOUT_SECONDS 30 + #define EXTRUDER_RUNOUT_SPEED 1500 // (mm/m) + #define EXTRUDER_RUNOUT_EXTRUDE 5 // (mm) +#endif + +// @section temperature + +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 + +/** + * Controller Fan + * To cool down the stepper drivers and MOSFETs. + * + * The fan will turn on automatically whenever any stepper is enabled + * and turn off after a set period after all steppers are turned off. + */ +//#define USE_CONTROLLER_FAN +#if ENABLED(USE_CONTROLLER_FAN) + //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan + #define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled + #define CONTROLLERFAN_SPEED 255 // 255 == full speed + //#define CONTROLLERFAN_SPEED_Z_ONLY 127 // Reduce noise on machines that keep Z enabled +#endif + +// When first starting the main fan, run it at full speed for the +// given number of milliseconds. This gets the fan spinning reliably +// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) +//#define FAN_KICKSTART_TIME 100 + +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ +//#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 + +/** + * FAST PWM FAN Settings + * + * Use to change the FAST FAN PWM frequency (if enabled in Configuration.h) + * Combinations of PWM Modes, prescale values and TOP resolutions are used internally to produce a + * frequency as close as possible to the desired frequency. + * + * FAST_PWM_FAN_FREQUENCY [undefined by default] + * Set this to your desired frequency. + * If left undefined this defaults to F = F_CPU/(2*255*1) + * ie F = 31.4 Khz on 16 MHz microcontrollers or F = 39.2 KHz on 20 MHz microcontrollers + * These defaults are the same as with the old FAST_PWM_FAN implementation - no migration is required + * NOTE: Setting very low frequencies (< 10 Hz) may result in unexpected timer behavior. + * + * USE_OCR2A_AS_TOP [undefined by default] + * Boards that use TIMER2 for PWM have limitations resulting in only a few possible frequencies on TIMER2: + * 16MHz MCUs: [62.5KHz, 31.4KHz (default), 7.8KHz, 3.92KHz, 1.95KHz, 977Hz, 488Hz, 244Hz, 60Hz, 122Hz, 30Hz] + * 20MHz MCUs: [78.1KHz, 39.2KHz (default), 9.77KHz, 4.9KHz, 2.44KHz, 1.22KHz, 610Hz, 305Hz, 153Hz, 76Hz, 38Hz] + * A greater range can be achieved by enabling USE_OCR2A_AS_TOP. But note that this option blocks the use of + * PWM on pin OC2A. Only use this option if you don't need PWM on 0C2A. (Check your schematic.) + * USE_OCR2A_AS_TOP sacrifices duty cycle control resolution to achieve this broader range of frequencies. + */ +#if ENABLED(FAST_PWM_FAN) + //#define FAST_PWM_FAN_FREQUENCY 31400 + //#define USE_OCR2A_AS_TOP +#endif + +// @section extruder + +/** + * Extruder cooling fans + * + * Extruder auto fans automatically turn on when their extruders' + * temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE. + * + * Your board's pins file specifies the recommended pins. Override those here + * or set to -1 to disable completely. + * + * Multiple extruders can be assigned to the same pin in which case + * the fan will turn on when any selected extruder is above the threshold. + */ +#define E0_AUTO_FAN_PIN -1 +#define E1_AUTO_FAN_PIN -1 +#define E2_AUTO_FAN_PIN -1 +#define E3_AUTO_FAN_PIN -1 +#define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 +#define CHAMBER_AUTO_FAN_PIN -1 + +#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 +#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed +#define CHAMBER_AUTO_FAN_TEMPERATURE 30 +#define CHAMBER_AUTO_FAN_SPEED 255 + +/** + * Part-Cooling Fan Multiplexer + * + * This feature allows you to digitally multiplex the fan output. + * The multiplexer is automatically switched at tool-change. + * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans. + */ +#define FANMUX0_PIN -1 +#define FANMUX1_PIN -1 +#define FANMUX2_PIN -1 + +/** + * M355 Case Light on-off / brightness + */ +#define CASE_LIGHT_ENABLE +#if ENABLED(CASE_LIGHT_ENABLE) + #define CASE_LIGHT_PIN 8 // Override the default pin if needed + #define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW + #define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on + #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin) + //#define CASE_LIGHT_MENU // Add Case Light options to the LCD menu + //#define CASE_LIGHT_NO_BRIGHTNESS // Disable brightness control. Enable for non-PWM lighting. + //#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED. + #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) + #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } + #endif +#endif + +// @section homing + +// If you want endstops to stay on (by default) even when not homing +// enable this option. Override at any time with M120, M121. +//#define ENDSTOPS_ALWAYS_ON_DEFAULT + +// @section extras + +//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats. + +// Employ an external closed loop controller. Override pins here if needed. +//#define EXTERNAL_CLOSED_LOOP_CONTROLLER +#if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER) + //#define CLOSED_LOOP_ENABLE_PIN -1 + //#define CLOSED_LOOP_MOVE_COMPLETE_PIN -1 +#endif + +/** + * Dual Steppers / Dual Endstops + * + * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes. + * + * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to + * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop + * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug + * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'. + * + * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors + * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error + * in X2. Dual endstop offsets can be set at runtime with 'M666 X Y Z'. + */ + +//#define X_DUAL_STEPPER_DRIVERS +#if ENABLED(X_DUAL_STEPPER_DRIVERS) + #define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions + //#define X_DUAL_ENDSTOPS + #if ENABLED(X_DUAL_ENDSTOPS) + #define X2_USE_ENDSTOP _XMAX_ + #define X_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Y_DUAL_STEPPER_DRIVERS +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + #define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions + //#define Y_DUAL_ENDSTOPS + #if ENABLED(Y_DUAL_ENDSTOPS) + #define Y2_USE_ENDSTOP _YMAX_ + #define Y_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_DUAL_STEPPER_DRIVERS +#if ENABLED(Z_DUAL_STEPPER_DRIVERS) + //#define Z_DUAL_ENDSTOPS + #if ENABLED(Z_DUAL_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_TRIPLE_STEPPER_DRIVERS +#if ENABLED(Z_TRIPLE_STEPPER_DRIVERS) + //#define Z_TRIPLE_ENDSTOPS + #if ENABLED(Z_TRIPLE_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z3_USE_ENDSTOP _YMAX_ + #define Z_TRIPLE_ENDSTOPS_ADJUSTMENT2 0 + #define Z_TRIPLE_ENDSTOPS_ADJUSTMENT3 0 + #endif +#endif + +/** + * Dual X Carriage + * + * This setup has two X carriages that can move independently, each with its own hotend. + * The carriages can be used to print an object with two colors or materials, or in + * "duplication mode" it can print two identical or X-mirrored objects simultaneously. + * The inactive carriage is parked automatically to prevent oozing. + * X1 is the left carriage, X2 the right. They park and home at opposite ends of the X axis. + * By default the X2 stepper is assigned to the first unused E plug on the board. + * + * The following Dual X Carriage modes can be selected with M605 S: + * + * 0 : (FULL_CONTROL) The slicer has full control over both X-carriages and can achieve optimal travel + * results as long as it supports dual X-carriages. (M605 S0) + * + * 1 : (AUTO_PARK) The firmware automatically parks and unparks the X-carriages on tool-change so + * that additional slicer support is not required. (M605 S1) + * + * 2 : (DUPLICATION) The firmware moves the second X-carriage and extruder in synchronization with + * the first X-carriage and extruder, to print 2 copies of the same object at the same time. + * Set the constant X-offset and temperature differential with M605 S2 X[offs] R[deg] and + * follow with M605 S2 to initiate duplicated movement. + * + * 3 : (MIRRORED) Formbot/Vivedino-inspired mirrored mode in which the second extruder duplicates + * the movement of the first except the second extruder is reversed in the X axis. + * Set the initial X offset and temperature differential with M605 S2 X[offs] R[deg] and + * follow with M605 S3 to initiate mirrored movement. + */ +//#define DUAL_X_CARRIAGE +#if ENABLED(DUAL_X_CARRIAGE) + #define X1_MIN_POS X_MIN_POS // Set to X_MIN_POS + #define X1_MAX_POS X_BED_SIZE // Set a maximum so the first X-carriage can't hit the parked second X-carriage + #define X2_MIN_POS 80 // Set a minimum to ensure the second X-carriage can't hit the parked first X-carriage + #define X2_MAX_POS 353 // Set this to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // Set to 1. The second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // Default X2 home position. Set to X2_MAX_POS. + // However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_AUTO_PARK_MODE + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif // DUAL_X_CARRIAGE + +// Activate a solenoid on the active extruder with M380. Disable all with M381. +// Define SOL0_PIN, SOL1_PIN, etc., for each extruder that has a solenoid. +//#define EXT_SOLENOID + +// @section homing + +// Homing hits each endstop, retracts by these distances, then does a slower bump. +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 2 +#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) +//#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially +//#define HOMING_BACKOFF_MM { 2, 2, 2 } // (mm) Move away from the endstops after homing + +// When G28 is called, this option will make Y home before X +//#define HOME_Y_BEFORE_X + +// Enable this if X or Y can't home without homing the other axis first. +//#define CODEPENDENT_XY_HOMING + +#if ENABLED(BLTOUCH) + /** + * Either: Use the defaults (recommended) or: For special purposes, use the following DEFINES + * Do not activate settings that the probe might not understand. Clones might misunderstand + * advanced commands. + * + * Note: If the probe is not deploying, check a "Cmd: Reset" and "Cmd: Self-Test" and then + * check the wiring of the BROWN, RED and ORANGE wires. + * + * Note: If the trigger signal of your probe is not being recognized, it has been very often + * because the BLACK and WHITE wires needed to be swapped. They are not "interchangeable" + * like they would be with a real switch. So please check the wiring first. + * + * Settings for all BLTouch and clone probes: + */ + + // Safety: The probe needs time to recognize the command. + // Minimum command delay (ms). Enable and increase if needed. + //#define BLTOUCH_DELAY 500 + + /** + * Settings for BLTOUCH Classic 1.2, 1.3 or BLTouch Smart 1.0, 2.0, 2.2, 3.0, 3.1, and most clones: + */ + + // Feature: Switch into SW mode after a deploy. It makes the output pulse longer. Can be useful + // in special cases, like noisy or filtered input configurations. + //#define BLTOUCH_FORCE_SW_MODE + + /** + * Settings for BLTouch Smart 3.0 and 3.1 + * Summary: + * - Voltage modes: 5V and OD (open drain - "logic voltage free") output modes + * - High-Speed mode + * - Disable LCD voltage options + */ + + /** + * Danger: Don't activate 5V mode unless attached to a 5V-tolerant controller! + * V3.0 or 3.1: Set default mode to 5V mode at Marlin startup. + * If disabled, OD mode is the hard-coded default on 3.0 + * On startup, Marlin will compare its eeprom to this vale. If the selected mode + * differs, a mode set eeprom write will be completed at initialization. + * Use the option below to force an eeprom write to a V3.1 probe regardless. + */ + //#define BLTOUCH_SET_5V_MODE + + /** + * Safety: Activate if connecting a probe with an unknown voltage mode. + * V3.0: Set a probe into mode selected above at Marlin startup. Required for 5V mode on 3.0 + * V3.1: Force a probe with unknown mode into selected mode at Marlin startup ( = Probe EEPROM write ) + * To preserve the life of the probe, use this once then turn it off and re-flash. + */ + //#define BLTOUCH_FORCE_MODE_SET + + /** + * Use "HIGH SPEED" mode for probing. + * Danger: Disable if your probe sometimes fails. Only suitable for stable well-adjusted systems. + * This feature was designed for Delta's with very fast Z moves however higher speed cartesians may function + * If the machine cannot raise the probe fast enough after a trigger, it may enter a fault state. + */ + //#define BLTOUCH_HS_MODE + + // Safety: Enable voltage mode settings in the LCD menu. + //#define BLTOUCH_LCD_VOLTAGE_MENU + +#endif // BLTOUCH + +/** + * Z Steppers Auto-Alignment + * Add the G34 command to align multiple Z steppers using a bed probe. + */ +//#define Z_STEPPER_AUTO_ALIGN +#if ENABLED(Z_STEPPER_AUTO_ALIGN) + // Define probe X and Y positions for Z1, Z2 [, Z3] + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + // Set number of iterations to align + #define Z_STEPPER_ALIGN_ITERATIONS 3 + // Enable to restore leveling setup after operation + #define RESTORE_LEVELING_AFTER_G34 + + // On a 300mm bed a 5% grade would give a misalignment of ~1.5cm + #define G34_MAX_GRADE 5 // (%) Maximum incline G34 will handle + + // Use the amplification factor to de-/increase correction step. + // In case the stepper (spindle) position is further out than the test point + // Use a value > 1. NOTE: This may cause instability + #define Z_STEPPER_ALIGN_AMP 1.0 + // Stop criterion. If the accuracy is better than this stop iterating early + #define Z_STEPPER_ALIGN_ACC 0.02 +#endif + +// @section motion + +#define AXIS_RELATIVE_MODES { false, false, false, false } + +// Add a Duplicate option for well-separated conjoined nozzles +//#define MULTI_NOZZLE_DUPLICATION + +// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. +#define DEFAULT_STEPPER_DEACTIVE_TIME 120 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // Set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated + +// Minimum time that a segment needs to take if the buffer is emptied +#define DEFAULT_MINSEGMENTTIME 20000 // (ms) + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05 // (mm/s) + +// +// Backlash Compensation +// Adds extra movement to axes on direction-changes to account for backlash. +// +//#define BACKLASH_COMPENSATION +#if ENABLED(BACKLASH_COMPENSATION) + // Define values for backlash distance and correction. + // If BACKLASH_GCODE is enabled these values are the defaults. + #define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm) + #define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction + + // Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments + // to reduce print artifacts. (Enabling this is costly in memory and computation!) + //#define BACKLASH_SMOOTHING_MM 3 // (mm) + + // Add runtime configuration and tuning of backlash values (M425) + //#define BACKLASH_GCODE + + #if ENABLED(BACKLASH_GCODE) + // Measure the Z backlash when probing (G29) and set with "M425 Z" + #define MEASURE_BACKLASH_WHEN_PROBING + + #if ENABLED(MEASURE_BACKLASH_WHEN_PROBING) + // When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT + // mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION + // increments while checking for the contact to be broken. + #define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm) + #define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm) + #define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m) + #endif + #endif +#endif + +/** + * Automatic backlash, position and hotend offset calibration + * + * Enable G425 to run automatic calibration using an electrically- + * conductive cube, bolt, or washer mounted on the bed. + * + * G425 uses the probe to touch the top and sides of the calibration object + * on the bed and measures and/or correct positional offsets, axis backlash + * and hotend offsets. + * + * Note: HOTEND_OFFSET and CALIBRATION_OBJECT_CENTER must be set to within + * ±5mm of true values for G425 to succeed. + */ +//#define CALIBRATION_GCODE +#if ENABLED(CALIBRATION_GCODE) + + #define CALIBRATION_MEASUREMENT_RESOLUTION 0.01 // mm + + #define CALIBRATION_FEEDRATE_SLOW 60 // mm/m + #define CALIBRATION_FEEDRATE_FAST 1200 // mm/m + #define CALIBRATION_FEEDRATE_TRAVEL 3000 // mm/m + + // The following parameters refer to the conical section of the nozzle tip. + #define CALIBRATION_NOZZLE_TIP_HEIGHT 1.0 // mm + #define CALIBRATION_NOZZLE_OUTER_DIAMETER 2.0 // mm + + // Uncomment to enable reporting (required for "G425 V", but consumes PROGMEM). + //#define CALIBRATION_REPORTING + + // The true location and dimension the cube/bolt/washer on the bed. + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm + + // Comment out any sides which are unreachable by the probe. For best + // auto-calibration results, all sides must be reachable. + #define CALIBRATION_MEASURE_RIGHT + #define CALIBRATION_MEASURE_FRONT + #define CALIBRATION_MEASURE_LEFT + #define CALIBRATION_MEASURE_BACK + + // Probing at the exact top center only works if the center is flat. If + // probing on a screwhead or hollow washer, probe near the edges. + //#define CALIBRATION_MEASURE_AT_TOP_EDGES + + // Define pin which is read during calibration + #ifndef CALIBRATION_PIN + #define CALIBRATION_PIN -1 // Override in pins.h or set to -1 to use your Z endstop + #define CALIBRATION_PIN_INVERTING false // Set to true to invert the pin + //#define CALIBRATION_PIN_PULLDOWN + #define CALIBRATION_PIN_PULLUP + #endif +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + +/** + * Custom Microstepping + * Override as-needed for your setup. Up to 3 MS pins are supported. + */ +//#define MICROSTEP1 LOW,LOW,LOW +//#define MICROSTEP2 HIGH,LOW,LOW +//#define MICROSTEP4 LOW,HIGH,LOW +//#define MICROSTEP8 HIGH,HIGH,LOW +//#define MICROSTEP16 LOW,LOW,HIGH +//#define MICROSTEP32 HIGH,LOW,HIGH + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] + +/** + * @section stepper motor current + * + * Some boards have a means of setting the stepper motor current via firmware. + * + * The power on motor currents are set by: + * PWM_MOTOR_CURRENT - used by MINIRAMBO & ULTIMAIN_2 + * known compatible chips: A4982 + * DIGIPOT_MOTOR_CURRENT - used by BQ_ZUM_MEGA_3D, RAMBO & SCOOVO_X9H + * known compatible chips: AD5206 + * DAC_MOTOR_CURRENT_DEFAULT - used by PRINTRBOARD_REVF & RIGIDBOARD_V2 + * known compatible chips: MCP4728 + * DIGIPOT_I2C_MOTOR_CURRENTS - used by 5DPRINT, AZTEEG_X3_PRO, AZTEEG_X5_MINI_WIFI, MIGHTYBOARD_REVE + * known compatible chips: MCP4451, MCP4018 + * + * Motor currents can also be set by M907 - M910 and by the LCD. + * M907 - applies to all. + * M908 - BQ_ZUM_MEGA_3D, RAMBO, PRINTRBOARD_REVF, RIGIDBOARD_V2 & SCOOVO_X9H + * M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2 + */ +//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps +//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) +//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis + +// Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro) +//#define DIGIPOT_I2C +#if ENABLED(DIGIPOT_I2C) && !defined(DIGIPOT_I2C_ADDRESS_A) + /** + * Common slave addresses: + * + * A (A shifted) B (B shifted) IC + * Smoothie 0x2C (0x58) 0x2D (0x5A) MCP4451 + * AZTEEG_X3_PRO 0x2C (0x58) 0x2E (0x5C) MCP4451 + * AZTEEG_X5_MINI 0x2C (0x58) 0x2E (0x5C) MCP4451 + * AZTEEG_X5_MINI_WIFI 0x58 0x5C MCP4451 + * MIGHTYBOARD_REVE 0x2F (0x5E) MCP4018 + */ + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT + #define DIGIPOT_I2C_ADDRESS_B 0x2D // unshifted slave address for second DIGIPOT +#endif + +//#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 +// Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. +// These correspond to the physical drivers, so be mindful if the order is changed. +#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +// @section lcd + +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + +// Change values more rapidly when the encoder is rotated faster +#define ENCODER_RATE_MULTIPLIER +#if ENABLED(ENCODER_RATE_MULTIPLIER) + #define ENCODER_10X_STEPS_PER_SEC 30 // (steps/s) Encoder rate for 10x speed + #define ENCODER_100X_STEPS_PER_SEC 80 // (steps/s) Encoder rate for 100x speed +#endif + +// Play a beep when the feedrate is changed from the Status Screen +//#define BEEP_ON_FEEDRATE_CHANGE +#if ENABLED(BEEP_ON_FEEDRATE_CHANGE) + #define FEEDRATE_CHANGE_BEEP_DURATION 10 + #define FEEDRATE_CHANGE_BEEP_FREQUENCY 440 +#endif + +#if HAS_LCD_MENU + + // Include a page of printer information in the LCD Main Menu + //#define LCD_INFO_MENU + #if ENABLED(LCD_INFO_MENU) + //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages + #endif + + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + + /** + * LED Control Menu + * Add LED Control to the LCD menu + */ + //#define LED_CONTROL_MENU + #if ENABLED(LED_CONTROL_MENU) + #define LED_COLOR_PRESETS // Enable the Preset Color menu option + #if ENABLED(LED_COLOR_PRESETS) + #define LED_USER_PRESET_RED 255 // User defined RED value + #define LED_USER_PRESET_GREEN 128 // User defined GREEN value + #define LED_USER_PRESET_BLUE 0 // User defined BLUE value + #define LED_USER_PRESET_WHITE 255 // User defined WHITE value + #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity + //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup + #endif + #endif + +#endif // HAS_LCD_MENU + +// Scroll a longer status message into view +//#define STATUS_MESSAGE_SCROLLING + +// On the Info Screen, display XY with one decimal place when possible +//#define LCD_DECIMAL_SMALL_XY + +// The timeout (in ms) to return to the status screen from sub-menus +//#define LCD_TIMEOUT_TO_STATUS 15000 + +// Add an 'M73' G-code to set the current percentage +//#define LCD_SET_PROGRESS_MANUALLY + +#if HAS_CHARACTER_LCD && HAS_PRINT_PROGRESS + //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing + #if ENABLED(LCD_PROGRESS_BAR) + #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar + #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message + #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) + //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it + //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #endif +#endif + +#if ENABLED(SDSUPPORT) + + // Some RAMPS and other boards don't detect when an SD card is inserted. You can work + // around this by connecting a push button or single throw switch to the pin defined + // as SD_DETECT_PIN in your board's pins definitions. + // This setting should be disabled unless you are using a push button, pulling the pin to ground. + // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER). + #define SD_DETECT_INVERTED + + #define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the Z enabled so your bed stays in place. + + // Reverse SD sort to show "more recent" files first, according to the card's FAT. + // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended. + #define SDCARD_RATHERRECENTFIRST + + #define SD_MENU_CONFIRM_START // Confirm the selected SD file before printing + + //#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files + + #define EVENT_GCODE_SD_STOP "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27") + + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + //#define POWER_LOSS_PULL // Set pullup / pulldown as appropriate + //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume + //#define POWER_LOSS_RETRACT_LEN 10 // (mm) Length of filament to retract on fail. Requires backup power. + + // Without a POWER_LOSS_PIN the following option helps reduce wear on the SD card, + // especially with "vase mode" printing. Set too high and vases cannot be continued. + #define POWER_LOSS_MIN_Z_CHANGE 0.05 // (mm) Minimum Z change before saving power-loss data + #endif + + /** + * Sort SD file listings in alphabetical order. + * + * With this option enabled, items on SD cards will be sorted + * by name for easier navigation. + * + * By default... + * + * - Use the slowest -but safest- method for sorting. + * - Folders are sorted to the top. + * - The sort key is statically allocated. + * - No added G-code (M34) support. + * - 40 item sorting limit. (Items after the first 40 are unsorted.) + * + * SD sorting uses static allocation (as set by SDSORT_LIMIT), allowing the + * compiler to calculate the worst-case usage and throw an error if the SRAM + * limit is exceeded. + * + * - SDSORT_USES_RAM provides faster sorting via a static directory buffer. + * - SDSORT_USES_STACK does the same, but uses a local stack-based buffer. + * - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!) + * - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!) + */ + //#define SDCARD_SORT_ALPHA + + // SD Card Sorting options + #if ENABLED(SDCARD_SORT_ALPHA) + #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. + #define FOLDER_SORTING -1 // -1=above 0=none 1=below + #define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code. + #define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting. + #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.) + #define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option. + #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use! + #define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting. + // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM. + #endif + + // This allows hosts to request long names for files and folders with M33 + //#define LONG_FILENAME_HOST_SUPPORT + + // Enable this option to scroll long filenames in the SD card menu + //#define SCROLL_LONG_FILENAMES + + // Leave the heaters on after Stop Print (not recommended!) + //#define SD_ABORT_NO_COOLDOWN + + /** + * This option allows you to abort SD printing when any endstop is triggered. + * This feature must be enabled with "M540 S1" or from the LCD menu. + * To have any effect, endstops must be enabled during SD printing. + */ + //#define SD_ABORT_ON_ENDSTOP_HIT + + /** + * This option makes it easier to print the same SD Card file again. + * On print completion the LCD Menu will open with the file selected. + * You can just click to start the print, or navigate elsewhere. + */ + //#define SD_REPRINT_LAST_SELECTED_FILE + + /** + * Auto-report SdCard status with M27 S + */ + //#define AUTO_REPORT_SD_STATUS + + /** + * Support for USB thumb drives using an Arduino USB Host Shield or + * equivalent MAX3421E breakout board. The USB thumb drive will appear + * to Marlin as an SD card. + * + * The MAX3421E can be assigned the same pins as the SD card reader, with + * the following pin mapping: + * + * SCLK, MOSI, MISO --> SCLK, MOSI, MISO + * INT --> SD_DETECT_PIN [1] + * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. + */ + //#define USB_FLASH_DRIVE_SUPPORT + #if ENABLED(USB_FLASH_DRIVE_SUPPORT) + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB + #endif + + /** + * When using a bootloader that supports SD-Firmware-Flashing, + * add a menu item to activate SD-FW-Update on the next reboot. + * + * Requires ATMEGA2560 (Arduino Mega) + * + * Tested with this bootloader: + * https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560 + */ + //#define SD_FIRMWARE_UPDATE + #if ENABLED(SD_FIRMWARE_UPDATE) + #define SD_FIRMWARE_UPDATE_EEPROM_ADDR 0x1FF + #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE 0xF0 + #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF + #endif + + // Add an optimized binary file transfer mode, initiated with 'M28 B1' + //#define BINARY_FILE_TRANSFER + + #if HAS_SDCARD_CONNECTION + /** + * Set this option to one of the following (or the board's defaults apply): + * + * LCD - Use the SD drive in the external LCD controller. + * ONBOARD - Use the SD drive on the control board. (No SD_DETECT_PIN. M21 to init.) + * CUSTOM_CABLE - Use a custom cable to access the SD (as defined in a pins file). + * + * :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ] + */ + //#define SDCARD_CONNECTION LCD + #endif + +#endif // SDSUPPORT + +/** + * By default an onboard SD card reader may be shared as a USB mass- + * storage device. This option hides the SD card from the host PC. + */ +//#define NO_SD_HOST_DRIVE // Disable SD Card access over USB (for security). + +/** + * Additional options for Graphical Displays + * + * Use the optimizations here to improve printing performance, + * which can be adversely affected by graphical display drawing, + * especially when doing several short moves, and when printing + * on DELTA and SCARA machines. + * + * Some of these options may result in the display lagging behind + * controller events, as there is a trade-off between reliable + * printing performance versus fast display updates. + */ +#if HAS_GRAPHICAL_LCD + // Show SD percentage next to the progress bar + //#define DOGM_SD_PERCENT + + // Enable to save many cycles by drawing a hollow frame on the Info Screen + #define XYZ_HOLLOW_FRAME + + // Enable to save many cycles by drawing a hollow frame on Menu Screens + #define MENU_HOLLOW_FRAME + + // A bigger font is available for edit items. Costs 3120 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_BIG_EDIT_FONT + + // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_SMALL_INFOFONT + + // Enable this option and reduce the value to optimize screen updates. + // The normal delay is 10µs. Use the lowest value that still gives a reliable display. + //#define DOGM_SPI_DELAY_US 5 + + // Swap the CW/CCW indicators in the graphics overlay + //#define OVERLAY_GFX_REVERSE + + /** + * ST7920-based LCDs can emulate a 16 x 4 character display using + * the ST7920 character-generator for very fast screen updates. + * Enable LIGHTWEIGHT_UI to use this special display mode. + * + * Since LIGHTWEIGHT_UI has limited space, the position and status + * message occupy the same line. Set STATUS_EXPIRE_SECONDS to the + * length of time to display the status message before clearing. + * + * Set STATUS_EXPIRE_SECONDS to zero to never clear the status. + * This will prevent position updates from being displayed. + */ + #if ENABLED(U8GLIB_ST7920) + //#define LIGHTWEIGHT_UI + #if ENABLED(LIGHTWEIGHT_UI) + #define STATUS_EXPIRE_SECONDS 20 + #endif + #endif + + /** + * Status (Info) Screen customizations + * These options may affect code size and screen render time. + * Custom status screens can forcibly override these settings. + */ + //#define STATUS_COMBINE_HEATERS // Use combined heater images instead of separate ones + //#define STATUS_HOTEND_NUMBERLESS // Use plain hotend icons instead of numbered ones (with 2+ hotends) + #define STATUS_HOTEND_INVERTED // Show solid nozzle bitmaps when heating (Requires STATUS_HOTEND_ANIM) + #define STATUS_HOTEND_ANIM // Use a second bitmap to indicate hotend heating + #define STATUS_BED_ANIM // Use a second bitmap to indicate bed heating + #define STATUS_CHAMBER_ANIM // Use a second bitmap to indicate chamber heating + //#define STATUS_ALT_BED_BITMAP // Use the alternative bed bitmap + //#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap + //#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames + //#define STATUS_HEAT_PERCENT // Show heating in a progress bar + //#define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash) + //#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~‭3260 (or ~940) bytes of PROGMEM. + + // Frivolous Game Options + //#define MARLIN_BRICKOUT + //#define MARLIN_INVADERS + //#define MARLIN_SNAKE + //#define GAMES_EASTER_EGG // Add extra blank lines above the "Games" sub-menu + +#endif // HAS_GRAPHICAL_LCD + +// +// Lulzbot Touch UI +// +#if ENABLED(LULZBOT_TOUCH_UI) + // Display board used + //#define LCD_FTDI_VM800B35A // FTDI 3.5" with FT800 (320x240) + //#define LCD_4DSYSTEMS_4DLCD_FT843 // 4D Systems 4.3" (480x272) + //#define LCD_HAOYU_FT800CB // Haoyu with 4.3" or 5" (480x272) + //#define LCD_HAOYU_FT810CB // Haoyu with 5" (800x480) + //#define LCD_ALEPHOBJECTS_CLCD_UI // Aleph Objects Color LCD UI + + // Correct the resolution if not using the stock TFT panel. + //#define TOUCH_UI_320x240 + //#define TOUCH_UI_480x272 + //#define TOUCH_UI_800x480 + + // Mappings for boards with a standard RepRapDiscount Display connector + //#define AO_EXP1_PINMAP // AlephObjects CLCD UI EXP1 mapping + //#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping + //#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping + //#define OTHER_PIN_LAYOUT // Define pins manually below + #if ENABLED(OTHER_PIN_LAYOUT) + // The pins for CS and MOD_RESET (PD) must be chosen. + #define CLCD_MOD_RESET 9 + #define CLCD_SPI_CS 10 + + // If using software SPI, specify pins for SCLK, MOSI, MISO + //#define CLCD_USE_SOFT_SPI + #if ENABLED(CLCD_USE_SOFT_SPI) + #define CLCD_SOFT_SPI_MOSI 11 + #define CLCD_SOFT_SPI_MISO 12 + #define CLCD_SOFT_SPI_SCLK 13 + #endif + #endif + + // Display Orientation. An inverted (i.e. upside-down) display + // is supported on the FT800. The FT810 and beyond also support + // portrait and mirrored orientations. + //#define TOUCH_UI_INVERTED + //#define TOUCH_UI_PORTRAIT + //#define TOUCH_UI_MIRRORED + + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + + // Use a numeric passcode for "Screen lock" keypad. + // (recommended for smaller displays) + //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan +#endif + +// @section safety + +/** + * The watchdog hardware timer will do a reset and disable all outputs + * if the firmware gets too overloaded to read the temperature sensors. + * + * If you find that watchdog reboot causes your AVR board to hang forever, + * enable WATCHDOG_RESET_MANUAL to use a custom timer instead of WDTO. + * NOTE: This method is less reliable as it can only catch hangups while + * interrupts are enabled. + */ +#define USE_WATCHDOG +#if ENABLED(USE_WATCHDOG) + //#define WATCHDOG_RESET_MANUAL +#endif + +// @section lcd + +/** + * Babystepping enables movement of the axes by tiny increments without changing + * the current position values. This feature is used primarily to adjust the Z + * axis in the first layer of a print in real-time. + * + * Warning: Does not respect endstops! + */ +#define BABYSTEPPING +#if ENABLED(BABYSTEPPING) + //#define BABYSTEP_WITHOUT_HOMING + //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way + #define BABYSTEP_MULTIPLICATOR 1 // Babysteps are very small. Increase for faster motion. + + //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) + #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. + // Note: Extra time may be added to mitigate controller latency. + //#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement). + //#define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle. + #if ENABLED(MOVE_Z_WHEN_IDLE) + #define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size. + #endif + #endif + + //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 + + //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + #if ENABLED(BABYSTEP_ZPROBE_OFFSET) + //#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets + //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor + #endif +#endif + +// @section extruder + +/** + * Linear Pressure Control v1.5 + * + * Assumption: advance [steps] = k * (delta velocity [steps/s]) + * K=0 means advance disabled. + * + * NOTE: K values for LIN_ADVANCE 1.5 differ from earlier versions! + * + * Set K around 0.22 for 3mm PLA Direct Drive with ~6.5cm between the drive gear and heatbreak. + * Larger K values will be needed for flexible filament and greater distances. + * If this algorithm produces a higher speed offset than the extruder can handle (compared to E jerk) + * print acceleration will be reduced during the affected moves to keep within the limit. + * + * See http://marlinfw.org/docs/features/lin_advance.html for full instructions. + * Mention @Sebastianv650 on GitHub to alert the author of any issues. + */ +//#define LIN_ADVANCE +#if ENABLED(LIN_ADVANCE) + //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants + #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed + //#define LA_DEBUG // If enabled, this will generate debug information output over USB. +#endif + +// @section leveling + +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + +#if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) + // Override the mesh area if the automatic (max) area is too large + //#define MESH_MIN_X MESH_INSET + //#define MESH_MIN_Y MESH_INSET + //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET) + //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) +#endif + +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + +#endif + +// @section extras + +// +// G2/G3 Arc Support +// +#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +#if ENABLED(ARC_SUPPORT) + #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment + #define MIN_ARC_SEGMENTS 24 // Minimum number of segments in a complete circle + #define N_ARC_CORRECTION 25 // Number of interpolated segments between corrections + //#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles + //#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes +#endif + +// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes. +//#define BEZIER_CURVE_SUPPORT + +/** + * G38 Probe Target + * + * This option adds G38.2 and G38.3 (probe towards target) + * and optionally G38.4 and G38.5 (probe away from target). + * Set MULTIPLE_PROBING for G38 to probe more than once. + */ +//#define G38_PROBE_TARGET +#if ENABLED(G38_PROBE_TARGET) + //#define G38_PROBE_AWAY // Include G38.4 and G38.5 to probe away from target + #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move. +#endif + +// Moves (or segments) with fewer steps than this will be joined with the next move +#define MIN_STEPS_PER_SEGMENT 6 + +/** + * Minimum delay before and after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 400 : Minimum for A5984 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 0 : Minimum 500ns for LV8729, adjusted in stepper.h + * 1 : Minimum for A4988 and A5984 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 200000 : Maximum for LV8729 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//================================= Buffers ================================= +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. +#if ENABLED(SDSUPPORT) + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller +#else + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer +#endif + +// @section serial + +// The ASCII buffer for serial input +#define MAX_CMD_SIZE 96 +#define BUFSIZE 4 + +// Transmission to Host Buffer Size +// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0. +// To buffer a simple "ok" you need 4 bytes. +// For ADVANCED_OK (M105) you need 32 bytes. +// For debug-echo: 128 bytes for the optimal speed. +// Other output doesn't need to be that speedy. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256] +#define TX_BUFFER_SIZE 0 + +// Host Receive Buffer Size +// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. +// To use flow control, set this buffer size to at least 1024 bytes. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048] +//#define RX_BUFFER_SIZE 1024 + +#if RX_BUFFER_SIZE >= 1024 + // Enable to have the controller send XON/XOFF control characters to + // the host to signal the RX buffer is becoming full. + //#define SERIAL_XON_XOFF +#endif + +// Add M575 G-code to change the baud rate +//#define BAUD_RATE_GCODE + +#if ENABLED(SDSUPPORT) + // Enable this option to collect and display the maximum + // RX queue usage after transferring a file to SD. + //#define SERIAL_STATS_MAX_RX_QUEUED + + // Enable this option to collect and display the number + // of dropped bytes after a file transfer to SD. + //#define SERIAL_STATS_DROPPED_RX +#endif + +// Enable an emergency-command parser to intercept certain commands as they +// enter the serial receive buffer, so they cannot be blocked. +// Currently handles M108, M112, M410 +// Does not work on boards using AT90USB (USBCON) processors! +//#define EMERGENCY_PARSER + +// Bad Serial-connections can miss a received command by sending an 'ok' +// Therefore some clients abort after 30 seconds in a timeout. +// Some other clients start sending commands while receiving a 'wait'. +// This "wait" is only sent when the buffer is empty. 1 second is a good value here. +//#define NO_TIMEOUTS 1000 // Milliseconds + +// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. +//#define ADVANCED_OK + +// Printrun may have trouble receiving long strings all at once. +// This option inserts short delays between lines of serial output. +#define SERIAL_OVERRUN_PROTECTION + +// @section extras + +/** + * Extra Fan Speed + * Adds a secondary fan speed for each print-cooling fan. + * 'M106 P T3-255' : Set a secondary speed for + * 'M106 P T2' : Use the set secondary speed + * 'M106 P T1' : Restore the previous fan speed + */ +//#define EXTRA_FAN_SPEED + +/** + * Firmware-based and LCD-controlled retract + * + * Add G10 / G11 commands for automatic firmware-based retract / recover. + * Use M207 and M208 to define parameters for retract / recover. + * + * Use M209 to enable or disable auto-retract. + * With auto-retract enabled, all G1 E moves within the set range + * will be converted to firmware-based retract/recover moves. + * + * Be sure to turn off auto-retract during filament change. + * + * Note that M207 / M208 / M209 settings are saved to EEPROM. + * + */ +//#define FWRETRACT +#if ENABLED(FWRETRACT) + #define FWRETRACT_AUTORETRACT // Override slicer retractions + #if ENABLED(FWRETRACT_AUTORETRACT) + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length + #endif + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction + #if ENABLED(MIXING_EXTRUDER) + //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously + #endif +#endif + +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + //#define TOOLCHANGE_NO_RETURN // Never return to the previous position on tool-change + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_EXTRA_PRIME 2 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + +/** + * Advanced Pause + * Experimental feature for filament change support and for parking the nozzle when paused. + * Adds the GCode M600 for initiating filament change. + * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. + * + * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. + * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. + */ +//#define ADVANCED_PAUSE_FEATURE +#if ENABLED(ADVANCED_PAUSE_FEATURE) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + #define ADVANCED_PAUSE_RESUME_PRIME 0 // (mm) Extra distance to prime nozzle after returning from park. + //#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) +#endif + +// @section tmc + +/** + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper + */ +#if HAS_DRIVER(TMC26X) + + #if AXIS_DRIVER_TYPE_X(TMC26X) + #define X_MAX_CURRENT 1000 // (mA) + #define X_SENSE_RESISTOR 91 // (mOhms) + #define X_MICROSTEPS 16 // Number of microsteps + #endif + + #if AXIS_DRIVER_TYPE_X2(TMC26X) + #define X2_MAX_CURRENT 1000 + #define X2_SENSE_RESISTOR 91 + #define X2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Y(TMC26X) + #define Y_MAX_CURRENT 1000 + #define Y_SENSE_RESISTOR 91 + #define Y_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Y2(TMC26X) + #define Y2_MAX_CURRENT 1000 + #define Y2_SENSE_RESISTOR 91 + #define Y2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Z(TMC26X) + #define Z_MAX_CURRENT 1000 + #define Z_SENSE_RESISTOR 91 + #define Z_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Z2(TMC26X) + #define Z2_MAX_CURRENT 1000 + #define Z2_SENSE_RESISTOR 91 + #define Z2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Z3(TMC26X) + #define Z3_MAX_CURRENT 1000 + #define Z3_SENSE_RESISTOR 91 + #define Z3_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E0(TMC26X) + #define E0_MAX_CURRENT 1000 + #define E0_SENSE_RESISTOR 91 + #define E0_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E1(TMC26X) + #define E1_MAX_CURRENT 1000 + #define E1_SENSE_RESISTOR 91 + #define E1_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E2(TMC26X) + #define E2_MAX_CURRENT 1000 + #define E2_SENSE_RESISTOR 91 + #define E2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E3(TMC26X) + #define E3_MAX_CURRENT 1000 + #define E3_SENSE_RESISTOR 91 + #define E3_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E4(TMC26X) + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E5(TMC26X) + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif + +#endif // TMC26X + +// @section tmc_smart + +/** + * To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode + * connect your SPI pins to the hardware SPI interface on your board and define + * the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 + * pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). + * You may also use software SPI if you wish to use general purpose IO pins. + * + * To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN + * to the driver side PDN_UART pin with a 1K resistor. + * To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without + * a resistor. + * The drivers can also be used with hardware serial. + * + * TMCStepper library is required to use TMC stepper drivers. + * https://github.com/teemuatlut/TMCStepper + */ +#if HAS_TRINAMIC + + #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current + #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 + + #if AXIS_IS_TMC(X) + #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. + #define X_MICROSTEPS 16 // 0..256 + #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... + #endif + + #if AXIS_IS_TMC(X2) + #define X2_CURRENT 800 + #define X2_MICROSTEPS 16 + #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Y) + #define Y_CURRENT 800 + #define Y_MICROSTEPS 16 + #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Y2) + #define Y2_CURRENT 800 + #define Y2_MICROSTEPS 16 + #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Z) + #define Z_CURRENT 800 + #define Z_MICROSTEPS 16 + #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Z2) + #define Z2_CURRENT 800 + #define Z2_MICROSTEPS 16 + #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Z3) + #define Z3_CURRENT 800 + #define Z3_MICROSTEPS 16 + #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E0) + #define E0_CURRENT 800 + #define E0_MICROSTEPS 16 + #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E1) + #define E1_CURRENT 800 + #define E1_MICROSTEPS 16 + #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E2) + #define E2_CURRENT 800 + #define E2_MICROSTEPS 16 + #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E3) + #define E3_CURRENT 800 + #define E3_MICROSTEPS 16 + #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E4) + #define E4_CURRENT 800 + #define E4_MICROSTEPS 16 + #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E5) + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 + #endif + + /** + * Override default SPI pins for TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160 drivers here. + * The default pins can be found in your board's pins file. + */ + //#define X_CS_PIN -1 + //#define Y_CS_PIN -1 + //#define Z_CS_PIN -1 + //#define X2_CS_PIN -1 + //#define Y2_CS_PIN -1 + //#define Z2_CS_PIN -1 + //#define Z3_CS_PIN -1 + //#define E0_CS_PIN -1 + //#define E1_CS_PIN -1 + //#define E2_CS_PIN -1 + //#define E3_CS_PIN -1 + //#define E4_CS_PIN -1 + //#define E5_CS_PIN -1 + + /** + * Software option for SPI driven drivers (TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160). + * The default SW SPI pins are defined the respective pins files, + * but you can override or define them here. + */ + //#define TMC_USE_SW_SPI + //#define TMC_SW_MOSI -1 + //#define TMC_SW_MISO -1 + //#define TMC_SW_SCK -1 + + /** + * Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses. + * Set the address using jumpers on pins MS1 and MS2. + * Address | MS1 | MS2 + * 0 | LOW | LOW + * 1 | HIGH | LOW + * 2 | LOW | HIGH + * 3 | HIGH | HIGH + * + * Set *_SERIAL_TX_PIN and *_SERIAL_RX_PIN to match for all drivers + * on the same serial port, either here or in your board's pins file. + */ + #define X_SLAVE_ADDRESS 0 + #define Y_SLAVE_ADDRESS 0 + #define Z_SLAVE_ADDRESS 0 + #define X2_SLAVE_ADDRESS 0 + #define Y2_SLAVE_ADDRESS 0 + #define Z2_SLAVE_ADDRESS 0 + #define Z3_SLAVE_ADDRESS 0 + #define E0_SLAVE_ADDRESS 0 + #define E1_SLAVE_ADDRESS 0 + #define E2_SLAVE_ADDRESS 0 + #define E3_SLAVE_ADDRESS 0 + #define E4_SLAVE_ADDRESS 0 + #define E5_SLAVE_ADDRESS 0 + + /** + * Software enable + * + * Use for drivers that do not use a dedicated enable pin, but rather handle the same + * function through a communication line such as SPI or UART. + */ + //#define SOFTWARE_DRIVER_ENABLE + + /** + * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only + * Use Trinamic's ultra quiet stepping mode. + * When disabled, Marlin will use spreadCycle stepping mode. + */ + #define STEALTHCHOP_XY + #define STEALTHCHOP_Z + #define STEALTHCHOP_E + + /** + * Optimize spreadCycle chopper parameters by using predefined parameter sets + * or with the help of an example included in the library. + * Provided parameter sets are + * CHOPPER_DEFAULT_12V + * CHOPPER_DEFAULT_19V + * CHOPPER_DEFAULT_24V + * CHOPPER_DEFAULT_36V + * CHOPPER_PRUSAMK3_24V // Imported parameters from the official Prusa firmware for MK3 (24V) + * CHOPPER_MARLIN_119 // Old defaults from Marlin v1.1.9 + * + * Define you own with + * { , , hysteresis_start[1..8] } + */ + #define CHOPPER_TIMING CHOPPER_DEFAULT_12V + + /** + * Monitor Trinamic drivers for error conditions, + * like overtemperature and short to ground. + * In the case of overtemperature Marlin can decrease the driver current until error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. + * M911 - Report stepper driver overtemperature pre-warn condition. + * M912 - Clear stepper driver overtemperature pre-warn condition flag. + * M122 - Report driver parameters (Requires TMC_DEBUG) + */ + //#define MONITOR_DRIVER_STATUS + + #if ENABLED(MONITOR_DRIVER_STATUS) + #define CURRENT_STEP_DOWN 50 // [mA] + #define REPORT_CURRENT_CHANGE + #define STOP_ON_ERROR + #endif + + /** + * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only + * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD. + * This mode allows for faster movements at the expense of higher noise levels. + * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD. + * M913 X/Y/Z/E to live tune the setting + */ + //#define HYBRID_THRESHOLD + + #define X_HYBRID_THRESHOLD 100 // [mm/s] + #define X2_HYBRID_THRESHOLD 100 + #define Y_HYBRID_THRESHOLD 100 + #define Y2_HYBRID_THRESHOLD 100 + #define Z_HYBRID_THRESHOLD 3 + #define Z2_HYBRID_THRESHOLD 3 + #define Z3_HYBRID_THRESHOLD 3 + #define E0_HYBRID_THRESHOLD 30 + #define E1_HYBRID_THRESHOLD 30 + #define E2_HYBRID_THRESHOLD 30 + #define E3_HYBRID_THRESHOLD 30 + #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 + + /** + * Use StallGuard2 to home / probe X, Y, Z. + * + * TMC2130, TMC2160, TMC2209, TMC2660, TMC5130, and TMC5160 only + * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. + * X, Y, and Z homing will always be done in spreadCycle mode. + * + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) + * + * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. + * + * SPI_ENDSTOPS *** Beta feature! *** TMC2130 Only *** + * Poll the driver through SPI to determine load when homing. + * Removes the need for a wire from DIAG1 to an endstop pin. + * + * IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when + * homing and adds a guard period for endstop triggering. + */ + //#define SENSORLESS_HOMING // StallGuard capable drivers only + + /** + * Use StallGuard2 to probe the bed with the nozzle. + * + * CAUTION: This could cause damage to machines that use a lead screw or threaded rod + * to move the Z axis. Take extreme care when attempting to enable this feature. + */ + //#define SENSORLESS_PROBING // StallGuard capable drivers only + + #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) + // TMC2209: 0...255. TMC2130: -64...63 + #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY + #define Y_STALL_SENSITIVITY 8 + //#define Z_STALL_SENSITIVITY 8 + //#define SPI_ENDSTOPS // TMC2130 only + //#define IMPROVE_HOMING_RELIABILITY + #endif + + /** + * Beta feature! + * Create a 50/50 square wave step pulse optimal for stepper drivers. + */ + //#define SQUARE_WAVE_STEPPING + + /** + * Enable M122 debugging command for TMC stepper drivers. + * M122 S0/1 will enable continous reporting. + */ + //#define TMC_DEBUG + + /** + * You can set your own advanced settings by filling in predefined functions. + * A list of available functions can be found on the library github page + * https://github.com/teemuatlut/TMCStepper + * + * Example: + * #define TMC_ADV() { \ + * stepperX.diag0_temp_prewarn(1); \ + * stepperY.interpolate(0); \ + * } + */ + #define TMC_ADV() { } + +#endif // HAS_TRINAMIC + +// @section L6470 + +/** + * L6470 Stepper Driver options + * + * Arduino-L6470 library (0.7.0 or higher) is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 + * + * Requires the following to be defined in your pins_YOUR_BOARD file + * L6470_CHAIN_SCK_PIN + * L6470_CHAIN_MISO_PIN + * L6470_CHAIN_MOSI_PIN + * L6470_CHAIN_SS_PIN + * L6470_RESET_CHAIN_PIN (optional) + */ +#if HAS_DRIVER(L6470) + + //#define L6470_CHITCHAT // Display additional status info + + #if AXIS_DRIVER_TYPE_X(L6470) + #define X_MICROSTEPS 128 // Number of microsteps (VALID: 1, 2, 4, 8, 16, 32, 128) + #define X_OVERCURRENT 2000 // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down) + #define X_STALLCURRENT 1500 // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) - 4A max - rounds down) + #define X_MAX_VOLTAGE 127 // 0-255, Maximum effective voltage seen by stepper + #define X_CHAIN_POS 0 // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI + #endif + + #if AXIS_DRIVER_TYPE_X2(L6470) + #define X2_MICROSTEPS 128 + #define X2_OVERCURRENT 2000 + #define X2_STALLCURRENT 1500 + #define X2_MAX_VOLTAGE 127 + #define X2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Y(L6470) + #define Y_MICROSTEPS 128 + #define Y_OVERCURRENT 2000 + #define Y_STALLCURRENT 1500 + #define Y_MAX_VOLTAGE 127 + #define Y_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Y2(L6470) + #define Y2_MICROSTEPS 128 + #define Y2_OVERCURRENT 2000 + #define Y2_STALLCURRENT 1500 + #define Y2_MAX_VOLTAGE 127 + #define Y2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Z(L6470) + #define Z_MICROSTEPS 128 + #define Z_OVERCURRENT 2000 + #define Z_STALLCURRENT 1500 + #define Z_MAX_VOLTAGE 127 + #define Z_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Z2(L6470) + #define Z2_MICROSTEPS 128 + #define Z2_OVERCURRENT 2000 + #define Z2_STALLCURRENT 1500 + #define Z2_MAX_VOLTAGE 127 + #define Z2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Z3(L6470) + #define Z3_MICROSTEPS 128 + #define Z3_OVERCURRENT 2000 + #define Z3_STALLCURRENT 1500 + #define Z3_MAX_VOLTAGE 127 + #define Z3_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E0(L6470) + #define E0_MICROSTEPS 128 + #define E0_OVERCURRENT 2000 + #define E0_STALLCURRENT 1500 + #define E0_MAX_VOLTAGE 127 + #define E0_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E1(L6470) + #define E1_MICROSTEPS 128 + #define E1_OVERCURRENT 2000 + #define E1_STALLCURRENT 1500 + #define E1_MAX_VOLTAGE 127 + #define E1_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E2(L6470) + #define E2_MICROSTEPS 128 + #define E2_OVERCURRENT 2000 + #define E2_STALLCURRENT 1500 + #define E2_MAX_VOLTAGE 127 + #define E2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E3(L6470) + #define E3_MICROSTEPS 128 + #define E3_OVERCURRENT 2000 + #define E3_STALLCURRENT 1500 + #define E3_MAX_VOLTAGE 127 + #define E3_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E4(L6470) + #define E4_MICROSTEPS 128 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #define E4_MAX_VOLTAGE 127 + #define E4_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E5(L6470) + #define E5_MICROSTEPS 128 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #define E5_MAX_VOLTAGE 127 + #define E5_CHAIN_POS 0 + #endif + + /** + * Monitor L6470 drivers for error conditions like over temperature and over current. + * In the case of over temperature Marlin can decrease the drive until the error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - I1/2/3/4/5 Set or get motor drive level using axis codes X, Y, Z, E. Report values if no axis codes given. + * I not present or I0 or I1 - X, Y, Z or E0 + * I2 - X2, Y2, Z2 or E1 + * I3 - Z3 or E3 + * I4 - E4 + * I5 - E5 + * M916 - Increase drive level until get thermal warning + * M917 - Find minimum current thresholds + * M918 - Increase speed until max or error + * M122 S0/1 - Report driver parameters + */ + //#define MONITOR_L6470_DRIVER_STATUS + + #if ENABLED(MONITOR_L6470_DRIVER_STATUS) + #define KVAL_HOLD_STEP_DOWN 1 + //#define L6470_STOP_ON_ERROR + #endif + +#endif // L6470 + +/** + * TWI/I2C BUS + * + * This feature is an EXPERIMENTAL feature so it shall not be used on production + * machines. Enabling this will allow you to send and receive I2C data from slave + * devices on the bus. + * + * ; Example #1 + * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) + * ; It uses multiple M260 commands with one B arg + * M260 A99 ; Target slave address + * M260 B77 ; M + * M260 B97 ; a + * M260 B114 ; r + * M260 B108 ; l + * M260 B105 ; i + * M260 B110 ; n + * M260 S1 ; Send the current buffer + * + * ; Example #2 + * ; Request 6 bytes from slave device with address 0x63 (99) + * M261 A99 B5 + * + * ; Example #3 + * ; Example serial output of a M261 request + * echo:i2c-reply: from:99 bytes:5 data:hello + */ + +// @section i2cbus + +//#define EXPERIMENTAL_I2CBUS +#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave + +// @section extras + +/** + * Photo G-code + * Add the M240 G-code to take a photo. + * The photo can be triggered by a digital pin or a physical movement. + */ +//#define PHOTO_GCODE +#if ENABLED(PHOTO_GCODE) + // A position to move to (and raise Z) before taking the photo + //#define PHOTO_POSITION { X_MAX_POS - 5, Y_MAX_POS, 0 } // { xpos, ypos, zraise } (M240 X Y Z) + //#define PHOTO_DELAY_MS 100 // (ms) Duration to pause before moving back (M240 P) + //#define PHOTO_RETRACT_MM 6.5 // (mm) E retract/recover for the photo move (M240 R S) + + // Canon RC-1 or homebrew digital camera trigger + // Data from: http://www.doc-diy.net/photo/rc-1_hacked/ + //#define PHOTOGRAPH_PIN 23 + + // Canon Hack Development Kit + // http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ + //#define CHDK_PIN 4 + + // Optional second move with delay to trigger the camera shutter + //#define PHOTO_SWITCH_POSITION { X_MAX_POS, Y_MAX_POS } // { xpos, ypos } (M240 I J) + + // Duration to hold the switch or keep CHDK_PIN high + //#define PHOTO_SWITCH_MS 50 // (ms) (M240 D) +#endif + +/** + * Spindle & Laser control + * + * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and + * to set spindle speed, spindle direction, and laser power. + * + * SuperPid is a router/spindle speed controller used in the CNC milling community. + * Marlin can be used to turn the spindle on and off. It can also be used to set + * the spindle speed from 5,000 to 30,000 RPM. + * + * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V + * hardware PWM pin for the speed control and a pin for the rotation direction. + * + * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details. + */ +//#define SPINDLE_FEATURE +//#define LASER_FEATURE +#if EITHER(SPINDLE_FEATURE, LASER_FEATURE) + #define SPINDLE_LASER_ACTIVE_HIGH false // Set to "true" if the on/off function is active HIGH + #define SPINDLE_LASER_PWM true // Set to "true" if your controller supports setting the speed/power + #define SPINDLE_LASER_PWM_INVERT true // Set to "true" if the speed/power goes up when you want it to go slower + #define SPINDLE_LASER_POWERUP_DELAY 5000 // (ms) Delay to allow the spindle/laser to come up to speed/power + #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // (ms) Delay to allow the spindle to stop + + #if ENABLED(SPINDLE_FEATURE) + //#define SPINDLE_CHANGE_DIR // Enable if your spindle controller can change spindle direction + #define SPINDLE_CHANGE_DIR_STOP // Enable if the spindle should stop before changing spin direction + #define SPINDLE_INVERT_DIR false // Set to "true" if the spin direction is reversed + + /** + * The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power + * + * SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT + * where PWM duty cycle varies from 0 to 255 + * + * set the following for your controller (ALL MUST BE SET) + */ + #define SPEED_POWER_SLOPE 118.4 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 5000 + #define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM + #else + #define SPEED_POWER_SLOPE 0.3922 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 10 + #define SPEED_POWER_MAX 100 // 0-100% + #endif +#endif + +/** + * Coolant Control + * + * Add the M7, M8, and M9 commands to turn mist or flood coolant on and off. + * + * Note: COOLANT_MIST_PIN and/or COOLANT_FLOOD_PIN must also be defined. + */ +//#define COOLANT_CONTROL +#if ENABLED(COOLANT_CONTROL) + #define COOLANT_MIST // Enable if mist coolant is present + #define COOLANT_FLOOD // Enable if flood coolant is present + #define COOLANT_MIST_INVERT false // Set "true" if the on/off function is reversed + #define COOLANT_FLOOD_INVERT false // Set "true" if the on/off function is reversed +#endif + +/** + * Filament Width Sensor + * + * Measures the filament width in real-time and adjusts + * flow rate to compensate for any irregularities. + * + * Also allows the measured filament diameter to set the + * extrusion rate, so the slicer only has to specify the + * volume. + * + * Only a single extruder is supported at this time. + * + * 34 RAMPS_14 : Analog input 5 on the AUX2 connector + * 81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 RAMBO : Analog input 3 + * + * Note: May require analog pins to be defined for other boards. + */ +//#define FILAMENT_WIDTH_SENSOR + +#if ENABLED(FILAMENT_WIDTH_SENSOR) + #define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor. :[0,1,2,3,4] + #define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber + + #define FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it + #define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM. + + #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially + + // Display filament width on the LCD status line. Status messages will expire after 5 seconds. + //#define FILAMENT_LCD_DISPLAY +#endif + +/** + * CNC Coordinate Systems + * + * Enables G53 and G54-G59.3 commands to select coordinate systems + * and G92.1 to reset the workspace to native machine space. + */ +//#define CNC_COORDINATE_SYSTEMS + +/** + * Auto-report temperatures with M155 S + */ +#define AUTO_REPORT_TEMPERATURES + +/** + * Include capabilities in M115 output + */ +#define EXTENDED_CAPABILITIES_REPORT + +/** + * Expected Printer Check + * Add the M16 G-code to compare a string to the MACHINE_NAME. + * M16 with a non-matching string causes the printer to halt. + */ +//#define EXPECTED_PRINTER_CHECK + +/** + * Disable all Volumetric extrusion options + */ +//#define NO_VOLUMETRICS + +#if DISABLED(NO_VOLUMETRICS) + /** + * Volumetric extrusion default state + * Activate to make volumetric extrusion the default method, + * with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter. + * + * M200 D0 to disable, M200 Dn to set a new diameter. + */ + //#define VOLUMETRIC_DEFAULT_ON +#endif + +/** + * Enable this option for a leaner build of Marlin that removes all + * workspace offsets, simplifying coordinate transformations, leveling, etc. + * + * - M206 and M428 are disabled. + * - G92 will revert to its behavior from Marlin 1.0. + */ +//#define NO_WORKSPACE_OFFSETS + +/** + * Set the number of proportional font spaces required to fill up a typical character space. + * This can help to better align the output of commands like `G29 O` Mesh Output. + * + * For clients that use a fixed-width font (like OctoPrint), leave this set to 1.0. + * Otherwise, adjust according to your client and font. + */ +#define PROPORTIONAL_FONT_RATIO 1.0 + +/** + * Spend 28 bytes of SRAM to optimize the GCode parser + */ +#define FASTER_GCODE_PARSER + +/** + * CNC G-code options + * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. + */ +//#define PAREN_COMMENTS // Support for parentheses-delimited comments +//#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. + +// Enable and set a (default) feedrate for all G0 moves +//#define G0_FEEDRATE 3000 // (mm/m) +#ifdef G0_FEEDRATE + //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode +#endif + +/** + * Startup commands + * + * Execute certain G-code commands immediately after power-on. + */ +//#define STARTUP_COMMANDS "M17 Z" + +/** + * G-code Macros + * + * Add G-codes M810-M819 to define and run G-code macros. + * Macros are not saved to EEPROM. + */ +//#define GCODE_MACROS +#if ENABLED(GCODE_MACROS) + #define GCODE_MACROS_SLOTS 5 // Up to 10 may be used + #define GCODE_MACROS_SLOT_SIZE 50 // Maximum length of a single macro +#endif + +/** + * User-defined menu items that execute custom GCode + */ +//#define CUSTOM_USER_MENUS +#if ENABLED(CUSTOM_USER_MENUS) + //#define CUSTOM_USER_MENU_TITLE "Custom Commands" + #define USER_SCRIPT_DONE "M117 User Script Done" + #define USER_SCRIPT_AUDIBLE_FEEDBACK + //#define USER_SCRIPT_RETURN // Return to status screen after a script + + #define USER_DESC_1 "Home & UBL Info" + #define USER_GCODE_1 "G28\nG29 W" + + #define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL + #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) + + #define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL + #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) + + #define USER_DESC_4 "Heat Bed/Home/Level" + #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" + + #define USER_DESC_5 "Home & Info" + #define USER_GCODE_5 "G28\nM503" +#endif + +/** + * Host Action Commands + * + * Define host streamer action commands in compliance with the standard. + * + * See https://reprap.org/wiki/G-code#Action_commands + * Common commands ........ poweroff, pause, paused, resume, resumed, cancel + * G29_RETRY_AND_RECOVER .. probe_rewipe, probe_failed + * + * Some features add reason codes to extend these commands. + * + * Host Prompt Support enables Marlin to use the host for user prompts so + * filament runout and other processes can be managed from the host side. + */ +//#define HOST_ACTION_COMMANDS +#if ENABLED(HOST_ACTION_COMMANDS) + //#define HOST_PROMPT_SUPPORT +#endif + +/** + * I2C position encoders for closed loop control. + * Developed by Chris Barr at Aus3D. + * + * Wiki: http://wiki.aus3d.com.au/Magnetic_Encoder + * Github: https://github.com/Aus3D/MagneticEncoder + * + * Supplier: http://aus3d.com.au/magnetic-encoder-module + * Alternative Supplier: http://reliabuild3d.com/ + * + * Reliabuild encoders have been modified to improve reliability. + */ + +//#define I2C_POSITION_ENCODERS +#if ENABLED(I2C_POSITION_ENCODERS) + + #define I2CPE_ENCODER_CNT 1 // The number of encoders installed; max of 5 + // encoders supported currently. + + #define I2CPE_ENC_1_ADDR I2CPE_PRESET_ADDR_X // I2C address of the encoder. 30-200. + #define I2CPE_ENC_1_AXIS X_AXIS // Axis the encoder module is installed on. _AXIS. + #define I2CPE_ENC_1_TYPE I2CPE_ENC_TYPE_LINEAR // Type of encoder: I2CPE_ENC_TYPE_LINEAR -or- + // I2CPE_ENC_TYPE_ROTARY. + #define I2CPE_ENC_1_TICKS_UNIT 2048 // 1024 for magnetic strips with 2mm poles; 2048 for + // 1mm poles. For linear encoders this is ticks / mm, + // for rotary encoders this is ticks / revolution. + //#define I2CPE_ENC_1_TICKS_REV (16 * 200) // Only needed for rotary encoders; number of stepper + // steps per full revolution (motor steps/rev * microstepping) + //#define I2CPE_ENC_1_INVERT // Invert the direction of axis travel. + #define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP // Type of error error correction. + #define I2CPE_ENC_1_EC_THRESH 0.10 // Threshold size for error (in mm) above which the + // printer will attempt to correct the error; errors + // smaller than this are ignored to minimize effects of + // measurement noise / latency (filter). + + #define I2CPE_ENC_2_ADDR I2CPE_PRESET_ADDR_Y // Same as above, but for encoder 2. + #define I2CPE_ENC_2_AXIS Y_AXIS + #define I2CPE_ENC_2_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_ENC_2_TICKS_UNIT 2048 + //#define I2CPE_ENC_2_TICKS_REV (16 * 200) + //#define I2CPE_ENC_2_INVERT + #define I2CPE_ENC_2_EC_METHOD I2CPE_ECM_MICROSTEP + #define I2CPE_ENC_2_EC_THRESH 0.10 + + #define I2CPE_ENC_3_ADDR I2CPE_PRESET_ADDR_Z // Encoder 3. Add additional configuration options + #define I2CPE_ENC_3_AXIS Z_AXIS // as above, or use defaults below. + + #define I2CPE_ENC_4_ADDR I2CPE_PRESET_ADDR_E // Encoder 4. + #define I2CPE_ENC_4_AXIS E_AXIS + + #define I2CPE_ENC_5_ADDR 34 // Encoder 5. + #define I2CPE_ENC_5_AXIS E_AXIS + + // Default settings for encoders which are enabled, but without settings configured above. + #define I2CPE_DEF_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_DEF_ENC_TICKS_UNIT 2048 + #define I2CPE_DEF_TICKS_REV (16 * 200) + #define I2CPE_DEF_EC_METHOD I2CPE_ECM_NONE + #define I2CPE_DEF_EC_THRESH 0.1 + + //#define I2CPE_ERR_THRESH_ABORT 100.0 // Threshold size for error (in mm) error on any given + // axis after which the printer will abort. Comment out to + // disable abort behavior. + + #define I2CPE_TIME_TRUSTED 10000 // After an encoder fault, there must be no further fault + // for this amount of time (in ms) before the encoder + // is trusted again. + + /** + * Position is checked every time a new command is executed from the buffer but during long moves, + * this setting determines the minimum update time between checks. A value of 100 works well with + * error rolling average when attempting to correct only for skips and not for vibration. + */ + #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks. + + // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. + #define I2CPE_ERR_ROLLING_AVERAGE + +#endif // I2C_POSITION_ENCODERS + +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + +/** + * MAX7219 Debug Matrix + * + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. + */ +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 + //#define MAX7219_REVERSE_ORDER // The individual LED matrix units may be in reversed order + //#define MAX7219_SIDE_BY_SIDE // Big chip+matrix boards can be chained side-by-side + + /** + * Sample debug features + * If you add more debug displays, be careful to avoid conflicts! + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row + + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row + // If you experience stuttering, reboots, etc. this option can reveal how + // tweaks made to the configuration are affecting the printer in real-time. +#endif + +/** + * NanoDLP Sync support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + */ +//#define NANODLP_Z_SYNC +#if ENABLED(NANODLP_Z_SYNC) + //#define NANODLP_ALL_AXIS // Enables "Z_move_comp" output on any axis move. + // Default behavior is limited to Z axis only. +#endif + +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" + //#define WEBSUPPORT // Start a webserver with auto-discovery + //#define OTASUPPORT // Support over-the-air firmware updates +#endif + +/** + * Prusa Multi-Material Unit v2 + * Enable in Configuration.h + */ +#if ENABLED(PRUSA_MMU2) + + // Serial port used for communication with MMU2. + // For AVR enable the UART port used for the MMU. (e.g., internalSerial) + // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2) + #define INTERNAL_SERIAL_PORT 2 + #define MMU2_SERIAL internalSerial + + // Use hardware reset for MMU if a pin is defined for it + //#define MMU2_RST_PIN 23 + + // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up) + //#define MMU2_MODE_12V + + // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout + #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600" + + // Add an LCD menu for MMU2 + //#define MMU2_MENUS + #if ENABLED(MMU2_MENUS) + // Settings for filament load / unload from the LCD menu. + // This is for Prusa MK3-style extruders. Customize for your hardware. + #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0 + #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \ + { 7.2, 562 }, \ + { 14.4, 871 }, \ + { 36.0, 1393 }, \ + { 14.4, 871 }, \ + { 50.0, 198 } + + #define MMU2_RAMMING_SEQUENCE \ + { 1.0, 1000 }, \ + { 1.0, 1500 }, \ + { 2.0, 2000 }, \ + { 1.5, 3000 }, \ + { 2.5, 4000 }, \ + { -15.0, 5000 }, \ + { -14.0, 1200 }, \ + { -6.0, 600 }, \ + { 10.0, 700 }, \ + { -10.0, 400 }, \ + { -50.0, 2000 } + + #endif + + //#define MMU2_DEBUG // Write debug info to serial output + +#endif // PRUSA_MMU2 + +/** + * Advanced Print Counter settings + */ +#if ENABLED(PRINTCOUNTER) + #define SERVICE_WARNING_BUZZES 3 + // Activate up to 3 service interval watchdogs + //#define SERVICE_NAME_1 "Service S" + //#define SERVICE_INTERVAL_1 100 // print hours + //#define SERVICE_NAME_2 "Service L" + //#define SERVICE_INTERVAL_2 200 // print hours + //#define SERVICE_NAME_3 "Service 3" + //#define SERVICE_INTERVAL_3 1 // print hours +#endif + +// @section develop + +/** + * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins + */ +//#define PINS_DEBUGGING + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE diff --git a/config/examples/ADIMLab/_Bootscreen.h b/config/examples/ADIMLab/_Bootscreen.h new file mode 100644 index 0000000000..ebb0ad9a81 --- /dev/null +++ b/config/examples/ADIMLab/_Bootscreen.h @@ -0,0 +1,86 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * http://marlinfw.org/tools/u8glib/converter.html + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 88 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00111111,B11111000,B00000000,B01000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011110,B01111111,B11111111,B00000000,B10000100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,B00000100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111111,B11111111,B11111111,B11111110,B00001100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01111111,B11111111,B11111111,B11110000,B00001000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00001111,B11111111,B11100000,B00000000,B00011000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B11111111,B11100011,B10000000,B00111000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00010011,B11111111,B11100001,B10000000,B01111000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011111,B10001111,B11100011,B10000000,B11110000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011110,B00001111,B11111111,B10000001,B11110000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000110,B00011111,B11111111,B10000111,B11100000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B11111111,B11111110,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000111,B11111111,B11110000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00001111,B11111100,B00000011,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011111,B11000000,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111110,B00011111,B11111111,B11111110,B00111111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01111100,B11111111,B11111111,B11111100,B00001111,B11100000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11111001,B11111111,B11111111,B11110000,B00001111,B11110000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11110011,B11111111,B11111111,B11111000,B00011111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11100111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000001,B11101111,B11111111,B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000000, + B00000000,B00000001,B11101111,B11111110,B00001111,B11111111,B11111111,B11101111,B10000000,B00000000,B00000000, + B00000000,B00000001,B11001111,B11110000,B00000001,B11111111,B11111111,B11110011,B11111000,B00000000,B00000000, + B00000000,B00000000,B11101111,B11100000,B00000000,B11111111,B11111111,B11111000,B01100000,B00000000,B00000000, + B00000000,B00000000,B11101111,B11100000,B00000000,B00111111,B11111111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11101111,B11000000,B00000000,B00011111,B11111111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01100111,B11100100,B00000000,B00001111,B11111111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00110011,B11111100,B00000000,B00000111,B11111111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011001,B11111100,B00000000,B00000011,B11100000,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00001100,B01111000,B00000000,B00000001,B11100000,B00111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B01110000,B00011100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000011,B10000000,B00000000,B00000000,B00000000,B00001110,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11100000,B00000000,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11110000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11111000,B00000000,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11111100,B00000000,B00000000,B00000000,B00000111,B11000000,B00000000,B00000000, + B00000000,B00000000,B00000011,B11111100,B00000000,B00000000,B00000000,B00001111,B11000000,B00000000,B00000000, + B00000000,B00000000,B00000111,B11111100,B00000000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B10000001,B11111111,B10000111,B10011111,B00000111,B10011110,B00000000,B00000000,B00111000,B00000000, + B00000111,B10000001,B11111111,B11000011,B10011111,B00000111,B10001110,B00000000,B00000000,B00111000,B00000000, + B00000111,B10000001,B11000011,B11100011,B10011111,B00000111,B10001110,B00000000,B00000000,B00111000,B00000000, + B00001111,B11000001,B11000000,B11100011,B10011111,B10001111,B10001110,B00000000,B00111100,B00111011,B00000000, + B00001111,B11000001,B11000000,B11100011,B10011111,B10001111,B10001110,B00000000,B11111110,B00111111,B10000000, + B00011101,B11000001,B11000000,B01110011,B10011111,B10011111,B10001110,B00000000,B11111111,B00111111,B10000000, + B00011100,B11100001,B11000000,B01110011,B10011101,B11011011,B10001110,B00000000,B01101111,B00111011,B11000000, + B00011100,B11100001,B11000000,B01110011,B10011101,B11111011,B10001110,B00000000,B00111111,B00111011,B11000000, + B00111111,B11110001,B11000000,B11100011,B10011100,B11111011,B10001110,B00000000,B11111111,B00111011,B11000000, + B00111111,B11110001,B11000000,B11100011,B10011100,B11110011,B10001110,B00000000,B11101111,B00111011,B11000000, + B01111000,B01110001,B11000001,B11100011,B10011100,B11110011,B10001110,B00000001,B11101111,B00111011,B11000000, + B01110000,B01111001,B11111111,B11000011,B10011100,B01100011,B10001111,B11111111,B11101111,B00111111,B10000000, + B01110000,B00111001,B11111111,B10000011,B10011100,B01100011,B10001111,B11111110,B11110111,B00111111,B10000000, + B11110000,B01111101,B11111111,B00000111,B10011110,B00000011,B11011111,B11111100,B01100111,B00100111,B00000000 +}; diff --git a/config/examples/AlephObjects/TAZ4/Configuration.h b/config/examples/AlephObjects/TAZ4/Configuration.h index 1b7b43c837..777eb8e5ff 100644 --- a/config/examples/AlephObjects/TAZ4/Configuration.h +++ b/config/examples/AlephObjects/TAZ4/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Aleph Objects Inc, TAZ)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -910,11 +908,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -926,10 +923,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -963,7 +960,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1221,12 +1218,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1280,19 +1271,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1541,7 +1519,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1600,10 +1578,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2071,7 +2049,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2084,6 +2062,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2094,11 +2075,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2226,7 +2204,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/AlephObjects/TAZ4/Configuration_adv.h b/config/examples/AlephObjects/TAZ4/Configuration_adv.h index 54404c21fd..d365fdcd45 100644 --- a/config/examples/AlephObjects/TAZ4/Configuration_adv.h +++ b/config/examples/AlephObjects/TAZ4/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Alfawise/U20-bltouch/Configuration.h b/config/examples/Alfawise/U20-bltouch/Configuration.h new file mode 100644 index 0000000000..00f1ece40f --- /dev/null +++ b/config/examples/Alfawise/U20-bltouch/Configuration.h @@ -0,0 +1,2290 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Configuration.h + * + * Basic settings such as: + * + * - Type of electronics + * - Type of temperature sensor + * - Printer geometry + * - Endstop configuration + * - LCD controller + * - Extra features + * + * Advanced settings can be found in Configuration_adv.h + * + */ +#define CONFIGURATION_H_VERSION 020000 + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== + +/** + * Here are some standard links for getting your machine calibrated: + * + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 + */ + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer start with one of the configuration files in the +// config/examples/delta directory and customize for your machine. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a SCARA printer start with the configuration files in +// config/examples/SCARA and customize for your machine. +// + +//=========================================================================== +//============================= Alfawise Printer ============================ +//=========================================================================== + +// Forum link to help with a tutorial, in French! : +// https://www.lesimprimantes3d.fr/forum/topic/18260-alfawise-u20x-u30-marlin-2x-firmware-alternatif/ +// +// 1 - Select your Alfawise U30 or U20 or U20+ printer (NO MORE REQUIRED HERE) +// and the touchscreen version, either 1.1 or 1.2. Most recent in France are v1.2 (blue pcb) +// These defines are set in platformio.ini build parameters, sample for U20 -DU20 -DTS_V12 +// U20_PLUS was not tested, as we do not have a printer to test. Print bed PID settings MUST be tuned for it. + +// Valid platformio.ini submodel values are U20_PLUS U20 U30 LK1 LK2 LK4 + +// Valid platformio.ini touchscreens are TS_V11 TS_V12 + +// 2 - Select the screen controller type. Most common is ILI9341 - First option. If your screen remains white, +// Try the alternate setting - this should enable ST7789V or ILI9328. For other LCDs... code is needed +// with the proper boot sequence to be developped. + +#define LCD_READ_ID 0xD3 // Read display identification information in reg ID4 0xD3, for ILI9341 screens +//#define LCD_READ_ID 0x04 // Read display identification information in reg ID1 0x04 - ST7789V / ILI9328 or others + +//=========================================================================== + +// @section info + +// Author info of this build printed to the host during boot and M115 +#define STRING_CONFIG_H_AUTHOR "Hobi, tpruvot" // Who made the changes. + +/** + * *** VENDORS PLEASE READ *** + * + * Marlin allows you to add a custom boot image for Graphical LCDs. + * With this option Marlin will first show your custom screen followed + * by the standard Marlin logo with version number and web URL. + * + * We encourage you to take advantage of this new feature and we also + * respectfully request that you retain the unmodified Marlin boot screen. + */ + +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. +//#define SHOW_CUSTOM_BOOTSCREEN + +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. +#define CUSTOM_STATUS_SCREEN_IMAGE + +// @section machine + +/** + * Select the serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +#define SERIAL_PORT 1 + +/** + * Select a secondary serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Serial port -1 is the USB emulated serial port, if available. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +#define SERIAL_PORT_2 2 +#define NUM_SERIAL 2 + +/** + * This setting determines the communication speed of the printer. + * + * 250000 works in most cases, but you might try a lower speed if + * you commonly experience drop-outs during host printing. + * You may try up to 1000000 to speed up SD file transfer. + * + * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] + */ +#define BAUDRATE 250000 + +// Enable the Bluetooth serial interface on AT90USB devices +//#define BLUETOOTH + +// Choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_LONGER3D_LK +#endif + +// Name displayed in the LCD "Ready" message and Info menu +//#define CUSTOM_MACHINE_NAME "3D Printer" +#ifdef U20 +#define CUSTOM_MACHINE_NAME "Alfawise U20" +#elif defined(U30) +#define CUSTOM_MACHINE_NAME "Alfawise U30" +#elif defined(U20_PLUS) +#define CUSTOM_MACHINE_NAME "Alfawise U20+" +#elif defined(LK1) +#define CUSTOM_MACHINE_NAME "Longer3D LK1" +#elif defined(LK2) +#define CUSTOM_MACHINE_NAME "Longer3D LK2" +#elif defined(LK4) +#define CUSTOM_MACHINE_NAME "Longer3D LK4" +#endif + +// Printer's unique ID, used by some programs to differentiate between machines. +// Choose your own or use a service like http://www.uuidgenerator.net/version4 +//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// @section extruder + +// This defines the number of extruders +// :[1, 2, 3, 4, 5, 6] +#define EXTRUDERS 1 + +// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 + +// For Cyclops or any "multi-extruder" that shares a single nozzle. +//#define SINGLENOZZLE + +/** + * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. + * + * This device allows one stepper driver on a control board to drive + * two to eight stepper motors, one at a time, in a manner suitable + * for extruders. + * + * This option only allows the multiplexer to switch on tool-change. + * Additional options to configure custom E moves are pending. + */ +//#define MK2_MULTIPLEXER +#if ENABLED(MK2_MULTIPLEXER) + // Override the default DIO selector pins here, if needed. + // Some pins files may provide defaults for these pins. + //#define E_MUX0_PIN 40 // Always Required + //#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs + //#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs +#endif + +/** + * Prusa Multi-Material Unit v2 + * + * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails. + * Requires EXTRUDERS = 5 + * + * For additional configuration see Configuration_adv.h + */ +//#define PRUSA_MMU2 + +// A dual extruder that uses a single stepper motor +//#define SWITCHING_EXTRUDER +#if ENABLED(SWITCHING_EXTRUDER) + #define SWITCHING_EXTRUDER_SERVO_NR 0 + #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3] + #if EXTRUDERS > 3 + #define SWITCHING_EXTRUDER_E23_SERVO_NR 1 + #endif +#endif + +// A dual-nozzle that uses a servomotor to raise/lower one (or both) of the nozzles +//#define SWITCHING_NOZZLE +#if ENABLED(SWITCHING_NOZZLE) + #define SWITCHING_NOZZLE_SERVO_NR 0 + //#define SWITCHING_NOZZLE_E1_SERVO_NR 1 // If two servos are used, the index of the second + #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 (single servo) or lowered/raised (dual servo) +#endif + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a solenoid docking mechanism. Requires SOL1_PIN and SOL2_PIN. + */ +//#define PARKING_EXTRUDER + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a magnetic docking mechanism using movements and no solenoid + * + * project : https://www.thingiverse.com/thing:3080893 + * movements : https://youtu.be/0xCEiG9VS3k + * https://youtu.be/Bqbcs0CU2FE + */ +//#define MAGNETIC_PARKING_EXTRUDER + +#if EITHER(PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER) + + #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders + #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // (mm) Distance to move beyond the parking point to grab the extruder + //#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381 + + #if ENABLED(PARKING_EXTRUDER) + + #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage + #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil + #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // (ms) Delay for magnetic field. No delay if 0 or not defined. + //#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381 + + #elif ENABLED(MAGNETIC_PARKING_EXTRUDER) + + #define MPE_FAST_SPEED 9000 // (mm/m) Speed for travel before last distance point + #define MPE_SLOW_SPEED 4500 // (mm/m) Speed for last distance travel to park and couple + #define MPE_TRAVEL_DISTANCE 10 // (mm) Last distance point + #define MPE_COMPENSATION 0 // Offset Compensation -1 , 0 , 1 (multiplier) only for coupling + + #endif + +#endif + +/** + * Switching Toolhead + * + * Support for swappable and dockable toolheads, such as + * the E3D Tool Changer. Toolheads are locked with a servo. + */ +//#define SWITCHING_TOOLHEAD + +/** + * Magnetic Switching Toolhead + * + * Support swappable and dockable toolheads with a magnetic + * docking mechanism using movement and no servo. + */ +//#define MAGNETIC_SWITCHING_TOOLHEAD + +/** + * Electromagnetic Switching Toolhead + * + * Parking for CoreXY / HBot kinematics. + * Toolheads are parked at one edge and held with an electromagnet. + * Supports more than 2 Toolheads. See https://youtu.be/JolbsAKTKf4 + */ +//#define ELECTROMAGNETIC_SWITCHING_TOOLHEAD + +#if ANY(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_Y_POS 235 // (mm) Y position of the toolhead dock + #define SWITCHING_TOOLHEAD_Y_SECURITY 10 // (mm) Security distance Y axis + #define SWITCHING_TOOLHEAD_Y_CLEAR 60 // (mm) Minimum distance from dock for unobstructed X axis + #define SWITCHING_TOOLHEAD_X_POS { 215, 0 } // (mm) X positions for parking the extruders + #if ENABLED(SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_SERVO_NR 2 // Index of the servo connector + #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 } // (degrees) Angles for Lock, Unlock + #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_Y_RELEASE 5 // (mm) Security distance Y axis + #define SWITCHING_TOOLHEAD_X_SECURITY { 90, 150 } // (mm) Security distance X axis (T0,T1) + //#define PRIME_BEFORE_REMOVE // Prime the nozzle before release from the dock + #if ENABLED(PRIME_BEFORE_REMOVE) + #define SWITCHING_TOOLHEAD_PRIME_MM 20 // (mm) Extruder prime length + #define SWITCHING_TOOLHEAD_RETRACT_MM 10 // (mm) Retract after priming length + #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE 300 // (mm/m) Extruder prime feedrate + #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400 // (mm/m) Extruder retract feedrate + #endif + #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD) + #define SWITCHING_TOOLHEAD_Z_HOP 2 // (mm) Z raise for switching + #endif +#endif + +/** + * "Mixing Extruder" + * - Adds G-codes M163 and M164 to set and "commit" the current mix factors. + * - Extends the stepping routines to move multiple steppers in proportion to the mix. + * - Optional support for Repetier Firmware's 'M164 S' supporting virtual tools. + * - This implementation supports up to two mixing extruders. + * - Enable DIRECT_MIXING_IN_G1 for M165 and mixing in G1 (from Pia Taubert's reference implementation). + */ +//#define MIXING_EXTRUDER +#if ENABLED(MIXING_EXTRUDER) + #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder + #define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164 + //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands + //#define GRADIENT_MIX // Support for gradient mixing with M166 and LCD + #if ENABLED(GRADIENT_MIX) + //#define GRADIENT_VTOOL // Add M166 T to use a V-tool index as a Gradient alias + #endif +#endif + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +//#define HOTEND_OFFSET_X { 0.0, 20.00 } // (mm) relative X-offset for each nozzle +//#define HOTEND_OFFSET_Y { 0.0, 5.00 } // (mm) relative Y-offset for each nozzle +//#define HOTEND_OFFSET_Z { 0.0, 0.00 } // (mm) relative Z-offset for each nozzle + +// @section machine + +/** + * Power Supply Control + * + * Enable and connect the power supply to the PS_ON_PIN. + * Specify whether the power supply is active HIGH or active LOW. + */ +//#define PSU_CONTROL +//#define PSU_NAME "Power Supply" + +#if ENABLED(PSU_CONTROL) + #define PSU_ACTIVE_HIGH false // Set 'false' for ATX (1), 'true' for X-Box (2) + + //#define PS_DEFAULT_OFF // Keep power off until enabled directly with M80 + + //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin + #if ENABLED(AUTO_POWER_CONTROL) + #define AUTO_POWER_FANS // Turn on PSU if fans need power + #define AUTO_POWER_E_FANS + #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN + //#define AUTO_POWER_E_TEMP 50 // (°C) Turn on PSU over this temperature + //#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature + #define POWER_TIMEOUT 30 + #endif +#endif + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== + +/** + * --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table + * + * Temperature sensors available: + * + * -4 : thermocouple with AD8495 + * -3 : thermocouple with MAX31855 (only for sensor 0) + * -2 : thermocouple with MAX6675 (only for sensor 0) + * -1 : thermocouple with AD595 + * 0 : not used + * 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) + * 331 : (3.3V scaled thermistor 1 table) + * 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) + * 3 : Mendel-parts thermistor (4.7k pullup) + * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! + * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor + * 512 : 100k RPW-Ultra hotend thermistor (4.7k pullup) + * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) + * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) + * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) + * 8 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) + * 9 : 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) + * 10 : 100k RS thermistor 198-961 (4.7k pullup) + * 11 : 100k beta 3950 1% thermistor (4.7k pullup) + * 12 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) + * 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" + * 15 : 100k thermistor calibration for JGAurora A5 hotend + * 18 : ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327 + * 20 : Pt100 with circuit in the Ultimainboard V2.x + * 201 : Pt100 with circuit in Overlord, similar to Ultimainboard V2.x + * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 + * 61 : 100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup + * 66 : 4.7M High Temperature thermistor from Dyze Design + * 67 : 450C thermistor from SliceEngineering + * 70 : the 100K thermistor found in the bq Hephestos 2 + * 75 : 100k Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor + * + * 1k ohm pullup tables - This is atypical, and requires changing out the 4.7k pullup for 1k. + * (but gives greater accuracy and more stable PID) + * 51 : 100k thermistor - EPCOS (1k pullup) + * 52 : 200k thermistor - ATC Semitec 204GT-2 (1k pullup) + * 55 : 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) + * + * 1047 : Pt1000 with 4k7 pullup + * 1010 : Pt1000 with 1k pullup (non standard) + * 147 : Pt100 with 4k7 pullup + * 110 : Pt100 with 1k pullup (non standard) + * + * 1000 : Custom - Specify parameters in Configuration_adv.h + * + * Use these for Testing or Development purposes. NEVER for production machine. + * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. + * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. + * + * :{ '0':"Not used", '1':"100k / 4.7k - EPCOS", '331':"(3.3V thermistor 1)", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '512':"100k RPW-Ultra hotend thermistor", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '18':"ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327" '20':"Pt100 (Ultimainboard V2.x)", '201':"Pt100 (Overlord)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '61':"100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup", '66':"Dyze Design 4.7M High Temperature thermistor", '67':"Slice Engineering 450C High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595", '998':"Dummy 1", '999':"Dummy 2", '1000':"Custom thermistor params" } + */ +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 +#define TEMP_SENSOR_BED 1 +#define TEMP_SENSOR_CHAMBER 0 + +// Dummy thermistor constant temperature readings, for use with 998 and 999 +#define DUMMY_THERMISTOR_998_VALUE 25 +#define DUMMY_THERMISTOR_999_VALUE 100 + +// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings +// from the two sensors differ too much the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +#define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109 +#define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer +#define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target + +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190 +#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer +#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target + +// Below this temperature the heater will be switched off +// because it probably indicates a broken thermistor wire. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 +#define BED_MINTEMP 5 + +// Above this temperature the heater will be switched off. +// This can protect components from overheating, but NOT from shorts and failures. +// (Use MINTEMP for thermistor short/failure protection.) +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 +#define BED_MAXTEMP 150 + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#define PID_K1 0.95 // Smoothing factor within any PID loop +#if ENABLED(PIDTEMP) + //#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM) + //#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + + // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it + + // Alfawise U30/U20 + // Please refine the PID settings for your own machine to avoid the E1 hotend error. These a basic settings allowing first startups. + // Use the command M303 E0 S200 C8 each time you make any changes to your extruder + + #define DEFAULT_Kp 17.22 + #define DEFAULT_Ki 1.00 + #define DEFAULT_Kd 74.22 + + + // MakerGear + //#define DEFAULT_Kp 7.0 + //#define DEFAULT_Ki 0.1 + //#define DEFAULT_Kd 12 + + // Mendel Parts V9 on 12V + //#define DEFAULT_Kp 63.0 + //#define DEFAULT_Ki 2.25 + //#define DEFAULT_Kd 440 + +#endif // PIDTEMP + +//=========================================================================== +//====================== PID > Bed Temperature Control ====================== +//=========================================================================== + +/** + * PID Bed Heating + * + * If this option is enabled set PID constants below. + * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis. + * + * The PID frequency will be the same as the extruder PWM. + * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz, + * which is fine for driving a square wave into a resistive load and does not significantly + * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W + * heater. If your configuration is significantly different than this and you don't understand + * the issues involved, don't use bed PID until someone else verifies that your hardware works. + */ +#define PIDTEMPBED + +//#define BED_LIMIT_SWITCHING + +/** + * Max Bed Power + * Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis). + * When set to any value below 255, enables a form of PWM to the bed that acts like a divider + * so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED) + */ +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#if ENABLED(PIDTEMPBED) + //#define MIN_BED_POWER 0 + //#define PID_BED_DEBUG // Sends debug data to the serial port. + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + //#define DEFAULT_bedKp 10.00 + //#define DEFAULT_bedKi .023 + //#define DEFAULT_bedKd 305.4 + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from pidautotune + //#define DEFAULT_bedKp 97.1 + //#define DEFAULT_bedKi 1.41 + //#define DEFAULT_bedKd 1675.16 + +#if defined(U30) || defined(LK2) || defined(LK4) + //From M303 command for Alfawise U30 : + #define DEFAULT_bedKp 338.46 + #define DEFAULT_bedKi 63.96 + #define DEFAULT_bedKd 447.78 +#endif + +#if defined(U20) || defined(LK1) + //From M303 command for Alfawise U20 : + #define DEFAULT_bedKp 841.68 + #define DEFAULT_bedKi 152.12 + #define DEFAULT_bedKd 1164.25 +#endif + +#ifdef U20_PLUS + // These PID setting MUST be updated. + // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. + #define DEFAULT_bedKp 841.68 + #define DEFAULT_bedKi 152.12 + #define DEFAULT_bedKd 1164.25 +#endif + +#endif // PIDTEMPBED + +// @section extruder + +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ +#define PREVENT_COLD_EXTRUSION +#define EXTRUDE_MINTEMP 170 + +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ +#define PREVENT_LENGTHY_EXTRUDE +#define EXTRUDE_MAXLENGTH 200 + +//=========================================================================== +//======================== Thermal Runaway Protection ======================= +//=========================================================================== + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * If you get "Thermal Runaway" or "Heating failed" errors the + * details can be tuned in Configuration_adv.h + */ + +#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders +#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed +//#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics +// either in the usual order or reversed +//#define COREXY +//#define COREXZ +//#define COREYZ +//#define COREYX +//#define COREZX +//#define COREZY + +//=========================================================================== +//============================== Endstop Settings =========================== +//=========================================================================== + +// @section homing + +// Specify here all the endstop connectors that are connected to any endstop or probe. +// Almost all printers will be using one per axis. Probes will use one or more of the +// extra connectors. Leave undefined any used for non-endstop and non-probe purposes. +#define USE_XMIN_PLUG +#define USE_YMIN_PLUG +#define USE_ZMIN_PLUG +//#define USE_XMAX_PLUG +//#define USE_YMAX_PLUG +//#define USE_ZMAX_PLUG + +// Enable pullup for all endstops to prevent a floating state +//#define ENDSTOPPULLUPS +#if DISABLED(ENDSTOPPULLUPS) + // Disable ENDSTOPPULLUPS to set pullups individually + //#define ENDSTOPPULLUP_XMAX + //#define ENDSTOPPULLUP_YMAX + //#define ENDSTOPPULLUP_ZMAX + //#define ENDSTOPPULLUP_XMIN + //#define ENDSTOPPULLUP_YMIN + //#define ENDSTOPPULLUP_ZMIN + #define ENDSTOPPULLUP_ZMIN_PROBE +#endif + +// Enable pulldown for all endstops to prevent a floating state +//#define ENDSTOPPULLDOWNS +#if DISABLED(ENDSTOPPULLDOWNS) + // Disable ENDSTOPPULLDOWNS to set pulldowns individually + //#define ENDSTOPPULLDOWN_XMAX + //#define ENDSTOPPULLDOWN_YMAX + //#define ENDSTOPPULLDOWN_ZMAX + //#define ENDSTOPPULLDOWN_XMIN + //#define ENDSTOPPULLDOWN_YMIN + //#define ENDSTOPPULLDOWN_ZMIN + //#define ENDSTOPPULLDOWN_ZMIN_PROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe. + +/** + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. + * + * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE, + * TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE + * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define Z3_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 + +// Enable this feature if all enabled endstop pins are interrupt-capable. +// This will remove the need to poll the interrupt pins, saving many CPU cycles. +#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Threshold + * + * Enable if your probe or endstops falsely trigger due to noise. + * + * - Higher values may affect repeatability or accuracy of some bed probes. + * - To fix noise install a 100nF ceramic capacitor inline with the switch. + * - This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, which already have the 100nF capacitor. + * + * :[2,3,4,5,6,7] + */ +//#define ENDSTOP_NOISE_THRESHOLD 2 + +//============================================================================= +//============================== Movement Settings ============================ +//============================================================================= +// @section motion + +/** + * Default Settings + * + * These settings can be reset by M502 + * + * Note that if EEPROM is enabled, saved values will override these. + */ + +/** + * With this option each E stepper can have its own factors for the + * following movement settings. If fewer factors are given than the + * total number of extruders, the last value applies to the rest. + */ +//#define DISTINCT_E_FACTORS + +/** + * Default Axis Steps Per Unit (steps/mm) + * Override with M92 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] + */ +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 98 } + +/** + * Default Max Feed Rate (mm/s) + * Override with M203 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] + */ +#define DEFAULT_MAX_FEEDRATE { 200, 200, 100, 25 } + +/** + * Default Max Acceleration (change/s) change = mm/s + * (Maximum start speed for accelerated moves) + * Override with M201 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] + */ +#define DEFAULT_MAX_ACCELERATION { 200, 200, 100, 3000 } + +/** + * Default Acceleration (change/s) change = mm/s + * Override with M204 + * + * M204 P Acceleration + * M204 R Retract Acceleration + * M204 T Travel Acceleration + */ +#define DEFAULT_ACCELERATION 200 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 500 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 200 // X, Y, Z acceleration for travel (non printing) moves + +/** + * Junction Deviation + * + * Use Junction Deviation instead of traditional Jerk Limiting + * + * See: + * https://reprap.org/forum/read.php?1,739819 + * http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html + */ +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Default Jerk (mm/s) + * Override with M205 X Y Z E + * + * "Jerk" specifies the minimum speed change that requires acceleration. + * When changing speed and direction, if the difference is less than the + * value set here, it may happen instantaneously. + */ +#if DISABLED(JUNCTION_DEVIATION) + #define DEFAULT_XJERK 10.0 + #define DEFAULT_YJERK 10.0 + #define DEFAULT_ZJERK 0.4 +#endif + +#define DEFAULT_EJERK 5.0 // May be used by Linear Advance + +/** + * S-Curve Acceleration + * + * This option eliminates vibration during printing by fitting a Bézier + * curve to move acceleration, producing much smoother direction changes. + * + * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained + */ +//#define S_CURVE_ACCELERATION + +//=========================================================================== +//============================= Z Probe Options ============================= +//=========================================================================== +// @section probes + +// +// See http://marlinfw.org/docs/configuration/probes.html +// + +/** + * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + * + * Enable this option for a probe connected to the Z Min endstop pin. + */ +#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + +/** + * Z_MIN_PROBE_PIN + * + * Define this pin if the probe is not connected to Z_MIN_PIN. + * If not defined the default pin for the selected MOTHERBOARD + * will be used. Most of the time the default is what you want. + * + * - The simplest option is to use a free endstop connector. + * - Use 5V for powered (usually inductive) sensors. + * + * - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin: + * - For simple switches connect... + * - normally-closed switches to GND and D32. + * - normally-open switches to 5V and D32. + * + */ +//#define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default + +/** + * Probe Type + * + * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. + * Activate one of these to use Auto Bed Leveling below. + */ + +/** + * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. + * Use G29 repeatedly, adjusting the Z height at each point with movement commands + * or (with LCD_BED_LEVELING) the LCD controller. + */ +#define PROBE_MANUALLY +#define MANUAL_PROBE_START_Z 0.2 + +/** + * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. + * (e.g., an inductive probe or a nozzle-based probe-switch.) + */ +//#define FIX_MOUNTED_PROBE + +/** + * Z Servo Probe, such as an endstop switch on a rotating arm. + */ +//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector. +//#define Z_SERVO_ANGLES { 70, 0 } // Z Servo Deploy and Stow angles + +/** + * The BLTouch probe uses a Hall effect sensor and emulates a servo. + */ +#define BLTOUCH + +/** + * Touch-MI Probe by hotends.fr + * + * This probe is deployed and activated by moving the X-axis to a magnet at the edge of the bed. + * By default, the magnet is assumed to be on the left and activated by a home. If the magnet is + * on the right, enable and set TOUCH_MI_DEPLOY_XPOS to the deploy position. + * + * Also requires: BABYSTEPPING, BABYSTEP_ZPROBE_OFFSET, Z_SAFE_HOMING, + * and a minimum Z_HOMING_HEIGHT of 10. + */ +//#define TOUCH_MI_PROBE +#if ENABLED(TOUCH_MI_PROBE) + #undef PROBE_MANUALLY + #define TOUCH_MI_RETRACT_Z 0.5 // Height at which the probe retracts + //#define TOUCH_MI_DEPLOY_XPOS (X_MAX_BED + 2) // For a magnet on the right side of the bed + //#define TOUCH_MI_MANUAL_DEPLOY // For manual deploy (LCD menu) +#endif + +// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) +//#define SOLENOID_PROBE + +// A sled-mounted probe like those designed by Charles Bell. +//#define Z_PROBE_SLED +//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + +// A probe deployed by moving the x-axis, such as the Wilson II's rack-and-pinion probe designed by Marty Rice. +//#define RACK_AND_PINION_PROBE +#if ENABLED(RACK_AND_PINION_PROBE) + #define Z_PROBE_DEPLOY_X X_MIN_POS + #define Z_PROBE_RETRACT_X X_MAX_POS +#endif + +// +// For Z_PROBE_ALLEN_KEY see the Delta example configurations. +// + +/** + * Z Probe to nozzle (X,Y) offset, relative to (0, 0). + * + * In the following example the X and Y offsets are both positive: + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } + * + * +-- BACK ---+ + * | | + * L | (+) P | R <-- probe (20,20) + * E | | I + * F | (-) N (+) | G <-- nozzle (10,10) + * T | | H + * | (-) | T + * | | + * O-- FRONT --+ + * (0,0) + * + * Specify a Probe position as { X, Y, Z } + */ +#define NOZZLE_TO_PROBE_OFFSET { -35, -6, -0.5 } + +// Certain types of probes need to stay away from edges +#define MIN_PROBE_EDGE 10 + +// X and Y axis travel speed (mm/m) between probes +#define XY_PROBE_SPEED 8000 + +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) +#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z + +// Feedrate (mm/m) for the "accurate" probe of each point +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) + +/** + * Multiple Probing + * + * You may get improved results by probing 2 or more times. + * With EXTRA_PROBING the more atypical reading(s) will be disregarded. + * + * A total of 2 does fast/slow probes with a weighted average. + * A total of 3 or more adds more slow probes, taking the average. + */ +#define MULTIPLE_PROBING 2 +//#define EXTRA_PROBING 1 + +/** + * Z probes require clearance when deploying, stowing, and moving between + * probe points to avoid hitting the bed and other hardware. + * Servo-mounted probes require extra space for the arm to rotate. + * Inductive probes need space to keep from triggering early. + * + * Use these settings to specify the distance (mm) to raise the probe (or + * lower the bed). The values set here apply over and above any (negative) + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. + * Only integer values >= 1 are valid here. + * + * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. + * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. + */ +#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes +//#define Z_AFTER_PROBING 5 // Z position after probing is done + +#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping + +// For M851 give a range for adjusting the Z probe offset +#define Z_PROBE_OFFSET_RANGE_MIN -20 +#define Z_PROBE_OFFSET_RANGE_MAX 20 + +// Enable the M48 repeatability test to test probe accuracy +#define Z_MIN_PROBE_REPEATABILITY_TEST + +// Before deploy/stow pause for user confirmation +//#define PAUSE_BEFORE_DEPLOY_STOW +#if ENABLED(PAUSE_BEFORE_DEPLOY_STOW) + //#define PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED // For Manual Deploy Allenkey Probe +#endif + +/** + * Enable one or more of the following if probing seems unreliable. + * Heaters and/or fans can be disabled during probing to minimize electrical + * noise. A delay can also be added to allow noise and vibration to settle. + * These options are most useful for the BLTouch probe, but may also improve + * readings with inductive probes and piezo sensors. + */ +//#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif +//#define PROBING_FANS_OFF // Turn fans off when probing +//#define PROBING_STEPPERS_OFF // Turn steppers off (unless needed to hold position) when probing +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{ 0:'Low', 1:'High' } +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis stepper immediately when it's not being used. +// WARNING: When motors turn off there is a chance of losing position accuracy! +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false + +// Warn on display about possibly reduced accuracy +//#define DISABLE_REDUCED_ACCURACY_WARNING + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER // Keep only the active extruder enabled + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR true +#define INVERT_Y_DIR false +#define INVERT_Z_DIR true + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR false +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false +#define INVERT_E4_DIR false +#define INVERT_E5_DIR false + +// @section homing + +//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed + +//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. + +//#define Z_HOMING_HEIGHT 10 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ... + // Be sure you have this distance over your Z_MAX_POS in case. + +// Direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +// @section machine + +#if defined(U30) || defined(LK2) || defined(LK4) +#define X_BED_SIZE 220 +#define Y_BED_SIZE 220 +#define Z_MACHINE_MAX 250 +#endif + +#if defined(U20) || defined(LK1) +#define X_BED_SIZE 300 +#define Y_BED_SIZE 300 +#define Z_MACHINE_MAX 400 +#endif + +#ifdef U20_PLUS +#define X_BED_SIZE 400 +#define Y_BED_SIZE 400 +#define Z_MACHINE_MAX 500 +#endif + +// Travel limits (mm) after homing, corresponding to endstop positions. +#define X_MIN_POS 0 +#define Y_MIN_POS 0 +#define Z_MIN_POS 0 +#define X_MAX_POS X_BED_SIZE +#define Y_MAX_POS Y_BED_SIZE +#define Z_MAX_POS Z_MACHINE_MAX + +/** + * Software Endstops + * + * - Prevent moves outside the set machine bounds. + * - Individual axes can be disabled, if desired. + * - X and Y only apply to Cartesian robots. + * - Use 'M211' to set software endstops on/off or report current state + */ + +// Min software endstops constrain movement within minimum coordinate bounds +#define MIN_SOFTWARE_ENDSTOPS +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) + #define MIN_SOFTWARE_ENDSTOP_X + #define MIN_SOFTWARE_ENDSTOP_Y + #define MIN_SOFTWARE_ENDSTOP_Z +#endif + +// Max software endstops constrain movement within maximum coordinate bounds +#define MAX_SOFTWARE_ENDSTOPS +#if ENABLED(MAX_SOFTWARE_ENDSTOPS) + #define MAX_SOFTWARE_ENDSTOP_X + #define MAX_SOFTWARE_ENDSTOP_Y + #define MAX_SOFTWARE_ENDSTOP_Z +#endif + +#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + +/** + * Filament Runout Sensors + * Mechanical or opto endstops are used to check for the presence of filament. + * + * RAMPS-based boards use SERVO3_PIN for the first runout sensor. + * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. + * By default the firmware assumes HIGH=FILAMENT PRESENT. + */ +#define FILAMENT_RUNOUT_SENSOR +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_INVERTING true // Set to true to invert the logic of the sensor. + //#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. + + // Set one or more commands to execute on filament runout. + // (After 'M412 H' Marlin will ask the host to handle the process.) + #define FILAMENT_RUNOUT_SCRIPT "M600" + + // After a runout is detected, continue printing this length of filament + // before executing the runout script. Useful for a sensor at the end of + // a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead. + //#define FILAMENT_RUNOUT_DISTANCE_MM 25 + + #ifdef FILAMENT_RUNOUT_DISTANCE_MM + // Enable this option to use an encoder disc that toggles the runout pin + // as the filament moves. (Be sure to set FILAMENT_RUNOUT_DISTANCE_MM + // large enough to avoid false positives.) + //#define FILAMENT_MOTION_SENSOR + #endif +#endif + +//=========================================================================== +//=============================== Bed Leveling ============================== +//=========================================================================== +// @section calibrate + +/** + * Choose one of the options below to enable G29 Bed Leveling. The parameters + * and behavior of G29 will change depending on your selection. + * + * If using a Probe for Z Homing, enable Z_SAFE_HOMING also! + * + * - AUTO_BED_LEVELING_3POINT + * Probe 3 arbitrary points on the bed (that aren't collinear) + * You specify the XY coordinates of all 3 points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_LINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_BILINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a mesh, best for large or uneven beds. + * + * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling) + * A comprehensive bed leveling system combining the features and benefits + * of other systems. UBL also includes integrated Mesh Generation, Mesh + * Validation and Mesh Editing systems. + * + * - MESH_BED_LEVELING + * Probe a grid manually + * The result is a mesh, suitable for large or uneven beds. (See BILINEAR.) + * For machines without a probe, Mesh Bed Leveling provides a method to perform + * leveling in steps so you can manually adjust the Z height at each grid-point. + * With an LCD controller the process is guided step-by-step. + */ +//#define AUTO_BED_LEVELING_3POINT +//#define AUTO_BED_LEVELING_LINEAR +#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL +//#define MESH_BED_LEVELING + +/** + * Normally G28 leaves leveling disabled on completion. Enable + * this option to have G28 restore the prior leveling state. + */ +//#define RESTORE_LEVELING_AFTER_G28 + +/** + * Enable detailed logging of G28, G29, M48, etc. + * Turn on with the command 'M111 S32'. + * NOTE: Requires a lot of PROGMEM! + */ +//#define DEBUG_LEVELING_FEATURE + +#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL) + // Gradually reduce leveling correction until a set height is reached, + // at which point movement will be level to the machine's XY plane. + // The height can be set with M420 Z + #define ENABLE_LEVELING_FADE_HEIGHT + + // For Cartesian machines, instead of dividing moves on mesh boundaries, + // split up moves into short segments like a Delta. This follows the + // contours of the bed more closely than edge-to-edge straight moves. + #define SEGMENT_LEVELED_MOVES + #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one) + + /** + * Enable the G26 Mesh Validation Pattern tool. + */ + //#define G26_MESH_VALIDATION + #if ENABLED(G26_MESH_VALIDATION) + #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. + #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. + #define MESH_TEST_HOTEND_TEMP 205 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_BED_TEMP 60 // (°C) Default bed temperature for the G26 Mesh Validation Tool. + #define G26_XY_FEEDRATE 20 // (mm/s) Feedrate for XY Moves for the G26 Mesh Validation Tool. + #endif + +#endif + +#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR) + + // Set the number of grid points per dimension. + #define GRID_MAX_POINTS_X 4 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + // Probe along the Y axis, advancing X after each column + //#define PROBE_Y_FIRST + + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Beyond the probed grid, continue the implied tilt? + // Default is to maintain the height of the nearest edge. + //#define EXTRAPOLATE_BEYOND_GRID + + // + // Experimental Subdivision of the grid by Catmull-Rom method. + // Synthesizes intermediate points to produce a more detailed mesh. + // + //#define ABL_BILINEAR_SUBDIVISION + #if ENABLED(ABL_BILINEAR_SUBDIVISION) + // Number of subdivisions between probe points + #define BILINEAR_SUBDIVISIONS 3 + #endif + + #endif + +#elif ENABLED(AUTO_BED_LEVELING_UBL) + + //=========================================================================== + //========================= Unified Bed Leveling ============================ + //=========================================================================== + + //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh + + #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle + #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 + + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used + // as the Z-Height correction value. + +#elif ENABLED(MESH_BED_LEVELING) + + //=========================================================================== + //=================================== Mesh ================================== + //=========================================================================== + + #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS + +#endif // BED_LEVELING + +/** + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. + */ +//#define LCD_BED_LEVELING + +#if ENABLED(LCD_BED_LEVELING) + #define MESH_EDIT_Z_STEP 0.025 // (mm) Step size while manually probing Z axis. + #define LCD_PROBE_Z_RANGE 4 // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment + //#define MESH_EDIT_MENU // Add a menu to edit mesh points +#endif + +// Add a menu item to move between bed corners for manual bed adjustment +#define LEVEL_BED_CORNERS + +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + #define LEVEL_CORNERS_Z_HOP 4.0 // (mm) Move nozzle up before moving between corners + #define LEVEL_CORNERS_HEIGHT 0.2 // (mm) Z height of nozzle at leveling points + #define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + +/** + * Commands to execute at the end of G29 probing. + * Useful to retract or move the Z probe out of the way. + */ +//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" + + +// @section homing + +// The center of the bed is at (X=0, Y=0) +//#define BED_CENTER_AT_0_0 + +// Manually set the home position. Leave these undefined for automatic settings. +// For DELTA this is the top-center of the Cartesian print volume. +//#define MANUAL_X_HOME_POS 0 +//#define MANUAL_Y_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 0 + +// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. +// +// With this feature enabled: +// +// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. +// - If stepper drivers time out, it will need X and Y homing again before Z homing. +// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). +// - Prevent Z homing when the Z probe is outside bed area. +// +#define Z_SAFE_HOMING + +#if ENABLED(Z_SAFE_HOMING) + #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). + //#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT 4 +#endif + +// Homing speeds (mm/m) +#define HOMING_FEEDRATE_XY (40*60) +#define HOMING_FEEDRATE_Z (7*60) + +// Validate that endstops are triggered on homing moves +#define VALIDATE_HOMING_ENDSTOPS + +// @section calibrate + +/** + * Bed Skew Compensation + * + * This feature corrects for misalignment in the XYZ axes. + * + * Take the following steps to get the bed skew in the XY plane: + * 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185) + * 2. For XY_DIAG_AC measure the diagonal A to C + * 3. For XY_DIAG_BD measure the diagonal B to D + * 4. For XY_SIDE_AD measure the edge A to D + * + * Marlin automatically computes skew factors from these measurements. + * Skew factors may also be computed and set manually: + * + * - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2 + * - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD))) + * + * If desired, follow the same procedure for XZ and YZ. + * Use these diagrams for reference: + * + * Y Z Z + * ^ B-------C ^ B-------C ^ B-------C + * | / / | / / | / / + * | / / | / / | / / + * | A-------D | A-------D | A-------D + * +-------------->X +-------------->X +-------------->Y + * XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR + */ +//#define SKEW_CORRECTION + +#if ENABLED(SKEW_CORRECTION) + // Input all length measurements here: + #define XY_DIAG_AC 282.8427124746 + #define XY_DIAG_BD 282.8427124746 + #define XY_SIDE_AD 200 + + // Or, set the default skew factors directly here + // to override the above measurements: + #define XY_SKEW_FACTOR 0.0 + + //#define SKEW_CORRECTION_FOR_Z + #if ENABLED(SKEW_CORRECTION_FOR_Z) + #define XZ_DIAG_AC 282.8427124746 + #define XZ_DIAG_BD 282.8427124746 + #define YZ_DIAG_AC 282.8427124746 + #define YZ_DIAG_BD 282.8427124746 + #define YZ_SIDE_AD 200 + #define XZ_SKEW_FACTOR 0.0 + #define YZ_SKEW_FACTOR 0.0 + #endif + + // Enable this option for M852 to set skew at runtime + //#define SKEW_CORRECTION_GCODE +#endif + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section extras + +/** + * EEPROM + * + * Persistent storage to preserve configurable settings across reboots. + * + * M500 - Store settings to EEPROM. + * M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes) + * M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.) + */ +#define EEPROM_SETTINGS // Persistent storage with M500 and M501 +//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! +#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. +#if ENABLED(EEPROM_SETTINGS) + //#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors. +#endif + +// +// Host Keepalive +// +// When enabled Marlin will send a busy status message to the host +// every couple of seconds when it can't accept commands. +// +#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages +#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113. +#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating + +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage + +// +// G20/G21 Inch mode support +// +//#define INCH_MODE_SUPPORT + +// +// M149 Set temperature units support +// +//#define TEMPERATURE_UNITS_SUPPORT + +// @section temperature + +// Preheat Constants +#define PREHEAT_1_LABEL "PLA" +#define PREHEAT_1_TEMP_HOTEND 200 +#define PREHEAT_1_TEMP_BED 60 +#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 + +#define PREHEAT_2_LABEL "ABS" +#define PREHEAT_2_TEMP_HOTEND 250 +#define PREHEAT_2_TEMP_BED 100 +#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 + +/** + * Nozzle Park + * + * Park the nozzle at the given XYZ position on idle or G27. + * + * The "P" parameter controls the action applied to the Z axis: + * + * P0 (Default) If Z is below park Z raise the nozzle. + * P1 Raise the nozzle always to Z-park height. + * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. + */ +#define NOZZLE_PARK_FEATURE + +#if ENABLED(NOZZLE_PARK_FEATURE) + // Specify a park position as { X, Y, Z_raise } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // (mm/s) X and Y axes feedrate (also used for delta Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // (mm/s) Z axis feedrate (not used for delta printers) +#endif + +/** + * Clean Nozzle Feature -- EXPERIMENTAL + * + * Adds the G12 command to perform a nozzle cleaning process. + * + * Parameters: + * P Pattern + * S Strokes / Repetitions + * T Triangles (P1 only) + * + * Patterns: + * P0 Straight line (default). This process requires a sponge type material + * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) + * between the start / end points. + * + * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the + * number of zig-zag triangles to do. "S" defines the number of strokes. + * Zig-zags are done in whichever is the narrower dimension. + * For example, "G12 P1 S1 T3" will execute: + * + * -- + * | (X0, Y1) | /\ /\ /\ | (X1, Y1) + * | | / \ / \ / \ | + * A | | / \ / \ / \ | + * | | / \ / \ / \ | + * | (X0, Y0) | / \/ \/ \ | (X1, Y0) + * -- +--------------------------------+ + * |________|_________|_________| + * T1 T2 T3 + * + * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. + * "R" specifies the radius. "S" specifies the stroke count. + * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. + * + * Caveats: The ending Z should be the same as starting Z. + * Attention: EXPERIMENTAL. G-code arguments may change. + * + */ +//#define NOZZLE_CLEAN_FEATURE + +#if ENABLED(NOZZLE_CLEAN_FEATURE) + // Default number of pattern repetitions + #define NOZZLE_CLEAN_STROKES 12 + + // Default number of triangles + #define NOZZLE_CLEAN_TRIANGLES 3 + + // Specify positions as { X, Y, Z } + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } + #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } + + // Circular pattern radius + #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 + // Circular pattern circle fragments number + #define NOZZLE_CLEAN_CIRCLE_FN 10 + // Middle point of circle + #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT + + // Move the nozzle to the initial position after cleaning + #define NOZZLE_CLEAN_GOBACK + + // Enable for a purge/clean station that's always at the gantry height (thus no Z move) + //#define NOZZLE_CLEAN_NO_Z +#endif + +/** + * Print Job Timer + * + * Automatically start and stop the print job timer on M104/M109/M190. + * + * M104 (hotend, no wait) - high temp = none, low temp = stop timer + * M109 (hotend, wait) - high temp = start timer, low temp = stop timer + * M190 (bed, wait) - high temp = start timer, low temp = none + * + * The timer can also be controlled with the following commands: + * + * M75 - Start the print job timer + * M76 - Pause the print job timer + * M77 - Stop the print job timer + */ +#define PRINTJOB_TIMER_AUTOSTART + +/** + * Print Counter + * + * Track statistical data such as: + * + * - Total print jobs + * - Total successful print jobs + * - Total failed print jobs + * - Total time printing + * + * View the current statistics with M78. + */ +//#define PRINTCOUNTER + +//============================================================================= +//============================= LCD and SD support ============================ +//============================================================================= + +// @section lcd + +/** + * LCD LANGUAGE + * + * Select the language to display on the LCD. These languages are available: + * + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test + * + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + */ +#define LCD_LANGUAGE en + +/** + * LCD Character Set + * + * Note: This option is NOT applicable to Graphical Displays. + * + * All character-based LCDs provide ASCII plus one of these + * language extensions: + * + * - JAPANESE ... the most common + * - WESTERN ... with more accented characters + * - CYRILLIC ... for the Russian language + * + * To determine the language extension installed on your controller: + * + * - Compile and upload with LCD_LANGUAGE set to 'test' + * - Click the controller to view the LCD menu + * - The LCD will display Japanese, Western, or Cyrillic text + * + * See http://marlinfw.org/docs/development/lcd_language.html + * + * :['JAPANESE', 'WESTERN', 'CYRILLIC'] + */ +#define DISPLAY_CHARSET_HD44780 JAPANESE + +/** + * Info Screen Style (0:Classic, 1:Prusa) + * + * :[0:'Classic', 1:'Prusa'] + */ +#define LCD_INFO_SCREEN_STYLE 0 + +/** + * SD CARD + * + * SD Card support is disabled by default. If your controller has an SD slot, + * you must uncomment the following option or it won't work. + * + */ +#define SDSUPPORT +#define SDIO_SUPPORT // Note from Hobi : Added as was not present in the file... + +/** + * SD CARD: SPI SPEED + * + * Enable one of the following items for a slower SPI transfer speed. + * This may be required to resolve "volume init" errors. + */ +//#define SPI_SPEED SPI_HALF_SPEED +//#define SPI_SPEED SPI_QUARTER_SPEED +//#define SPI_SPEED SPI_EIGHTH_SPEED + +/** + * SD CARD: ENABLE CRC + * + * Use CRC checks and retries on the SD communication. + */ +//#define SD_CHECK_AND_RETRY + +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + +// +// ENCODER SETTINGS +// +// This option overrides the default number of encoder pulses needed to +// produce one step. Should be increased for high-resolution encoders. +// +//#define ENCODER_PULSES_PER_STEP 4 + +// +// Use this option to override the number of step signals required to +// move between next/prev menu items. +// +//#define ENCODER_STEPS_PER_MENU_ITEM 1 + +/** + * Encoder Direction Options + * + * Test your encoder's behavior first with both options disabled. + * + * Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION. + * Reversed Menu Navigation only? Enable REVERSE_MENU_DIRECTION. + * Reversed Value Editing only? Enable BOTH options. + */ + +// +// This option reverses the encoder direction everywhere. +// +// Set this option if CLOCKWISE causes values to DECREASE +// +//#define REVERSE_ENCODER_DIRECTION + +// +// This option reverses the encoder direction for navigating LCD menus. +// +// If CLOCKWISE normally moves DOWN this makes it go UP. +// If CLOCKWISE normally moves UP this makes it go DOWN. +// +//#define REVERSE_MENU_DIRECTION + +// +// This option reverses the encoder direction for Select Screen. +// +// If CLOCKWISE normally moves LEFT this makes it go RIGHT. +// If CLOCKWISE normally moves RIGHT this makes it go LEFT. +// +//#define REVERSE_SELECT_DIRECTION + +// +// Individual Axis Homing +// +// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +// +#define INDIVIDUAL_AXIS_HOMING_MENU + +// +// SPEAKER/BUZZER +// +// If you have a speaker that can produce tones, enable it here. +// By default Marlin assumes you have a buzzer with a fixed frequency. +// +//#define SPEAKER + +// +// The duration and frequency for the UI feedback sound. +// Set these to 0 to disable audio feedback in the LCD menus. +// +// Note: Test audio output with the G-Code: +// M300 S P +// +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 250 +//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + +// +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +// +// Note: Usually sold with a white PCB. +// +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// +// Original RADDS LCD Display+Encoder+SDCardReader +// http://doku.radds.org/dokumentation/lcd-display/ +// +//#define RADDS_DISPLAY + +// +// ULTIMAKER Controller. +// +//#define ULTIMAKERCONTROLLER + +// +// ULTIPANEL as seen on Thingiverse. +// +//#define ULTIPANEL + +// +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +// +//#define PANEL_ONE + +// +// GADGETS3D G3D LCD/SD Controller +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +// +// Note: Usually sold with a blue PCB. +// +//#define G3D_PANEL + +// +// RigidBot Panel V1.0 +// http://www.inventapart.com/ +// +//#define RIGIDBOT_PANEL + +// +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html +// +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 + +// +// ANET and Tronxy 20x4 Controller +// +//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. + // This LCD is known to be susceptible to electrical interference + // which scrambles the display. Pressing any button clears it up. + // This is a LCD2004 display with 5 analog buttons. + +// +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. +// +//#define ULTRA_LCD + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= + +// +// CONTROLLER TYPE: I2C +// +// Note: These controllers require the installation of Arduino's LiquidCrystal_I2C +// library. For more info: https://github.com/kiyoshigawa/LiquidCrystal_I2C +// + +// +// Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// +//#define RA_CONTROL_PANEL + +// +// Sainsmart (YwRobot) LCD Displays +// +// These require F.Malpartida's LiquidCrystal_I2C library +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home +// +//#define LCD_SAINSMART_I2C_1602 +//#define LCD_SAINSMART_I2C_2004 + +// +// Generic LCM1602 LCD adapter +// +//#define LCM1602 + +// +// PANELOLU2 LCD with status LEDs, +// separate encoder and click inputs. +// +// Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later. +// For more info: https://github.com/lincomatic/LiquidTWI2 +// +// Note: The PANELOLU2 encoder click input can either be directly connected to +// a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). +// +//#define LCD_I2C_PANELOLU2 + +// +// Panucatt VIKI LCD with status LEDs, +// integrated click & L/R/U/D buttons, separate encoder inputs. +// +//#define LCD_I2C_VIKI + +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2-wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +// +// 3-wire SR LCD with strobe using 74HC4094 +// https://github.com/mikeshub/SailfishLCD +// Uses the code directly from Sailfish +// +//#define FF_INTERFACEBOARD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + +// +// Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display and encoder +// https://github.com/Ultimaker/Ultimaker2/tree/master/1249_Ulticontroller_Board_(x1) +// +//#define ULTI_CONTROLLER + +// +// MKS MINI12864 with graphic controller and SD support +// https://reprap.org/wiki/MKS_MINI_12864 +// +//#define MKS_MINI_12864 + +// +// FYSETC variant of the MINI12864 graphic controller with SD support +// https://wiki.fysetc.com/Mini12864_Panel/ +// +//#define FYSETC_MINI_12864_X_X // Type C/D/E/F. No tunable RGB Backlight by default +//#define FYSETC_MINI_12864_1_2 // Type C/D/E/F. Simple RGB Backlight (always on) +//#define FYSETC_MINI_12864_2_0 // Type A/B. Discreet RGB Backlight +//#define FYSETC_MINI_12864_2_1 // Type A/B. Neopixel RGB Backlight + +// +// Factory display for Creality CR-10 +// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html +// +// This is RAMPS-compatible using a single 10-pin connector. +// (For CR-10 owners who want to replace the Melzi Creality board but retain the display) +// +//#define CR10_STOCKDISPLAY + +// +// ANET and Tronxy Graphical Controller +// +// Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 +// A clone of the RepRapDiscount full graphics display but with +// different pins/wiring (see pins_ANET_10.h). +// +//#define ANET_FULL_GRAPHICS_LCD + +// +// AZSMZ 12864 LCD with SD +// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html +// +//#define AZSMZ_12864 + +// +// Silvergate GLCD controller +// http://github.com/android444/Silvergate +// +//#define SILVER_GATE_GLCD_CONTROLLER + +//============================================================================= +//============================== OLED Displays ============================== +//============================================================================= + +// +// SSD1306 OLED full graphics generic display +// +//#define U8GLIB_SSD1306 + +// +// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules +// +//#define SAV_3DGLCD +#if ENABLED(SAV_3DGLCD) + #define U8GLIB_SSD1306 + //#define U8GLIB_SH1106 +#endif + +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + +// +// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// http://reprap.org/wiki/MKS_12864OLED +// +// Tiny, but very sharp OLED display +// +//#define MKS_12864OLED // Uses the SH1106 controller (default) +//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller + +// +// Einstart S OLED SSD1306 +// +//#define U8GLIB_SH1106_EINSTART + +// +// Overlord OLED display/controller with i2c buzzer and LEDs +// +//#define OVERLORD_OLED + +//============================================================================= +//========================== Extensible UI Displays =========================== +//============================================================================= + +// +// DGUS Touch Display with DWIN OS +// +//#define DGUS_LCD + +// +// Touch-screen LCD for Malyan M200 printers +// +//#define MALYAN_LCD + +// +// LulzBot Color Touch UI for FTDI EVE (FT800/FT810) displays +// See Configuration_adv.h for all configuration options. +// +//#define LULZBOT_TOUCH_UI + +// +// Third-party or vendor-customized controller interfaces. +// Sources should be installed in 'src/lcd/extensible_ui'. +// +//#define EXTENSIBLE_UI + +//============================================================================= +//=============================== Graphical TFTs ============================== +//============================================================================= + +// +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) +// +#define FSMC_GRAPHICAL_TFT + +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8 +// +#define TOUCH_BUTTONS +#if ENABLED(TOUCH_BUTTONS) + #define TOUCH_CALIBRATION // Include user calibration widget in menus (Alfawise) + + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 100 // (ms) Button repeat delay for menus + + #if ENABLED(TS_V11) + // Alfawise U20 ILI9341 2.8 TP Ver 1.1 / Green PCB on the back of touchscreen + #define XPT2046_X_CALIBRATION 11605 + #define XPT2046_Y_CALIBRATION 9091 + #define XPT2046_X_OFFSET -24 + #define XPT2046_Y_OFFSET -17 + #endif + + #if ENABLED(TS_V12) + // Alfawise U30 ILI9341 2.8 TP Ver 1.2 / Blue PCB on the back of touchscreen + #define XPT2046_X_CALIBRATION 12316 + #define XPT2046_Y_CALIBRATION -8981 + #define XPT2046_X_OFFSET -43 + #define XPT2046_Y_OFFSET 257 + #endif +#endif + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press + +//============================================================================= +//=============================== Extra Features ============================== +//============================================================================= + +// @section extras + +// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +// :[0,1,2,3,4,5,6,7] +#define SOFT_PWM_SCALE 0 + +// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can +// be used to mitigate the associated resolution loss. If enabled, +// some of the PWM cycles are stretched so on average the desired +// duty cycle is attained. +//#define SOFT_PWM_DITHER + +// Temperature status LEDs that display the hotend and bed temperature. +// If all hotends, bed temperature, and target temperature are under 54C +// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) +//#define TEMP_STAT_LEDS + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder +//#define BARICUDA + +// Support for BlinkM/CyzRgb +//#define BLINKM + +// Support for PCA9632 PWM LED driver +//#define PCA9632 + +// Support for PCA9533 PWM LED driver +// https://github.com/mikeshub/SailfishRGB_LED +//#define PCA9533 + +/** + * RGB LED / LED Strip Control + * + * Enable support for an RGB LED connected to 5V digital pins, or + * an RGB Strip connected to MOSFETs controlled by digital pins. + * + * Adds the M150 command to set the LED (or LED strip) color. + * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of + * luminance values can be set from 0 to 255. + * For Neopixel LED an overall brightness parameter is also available. + * + * *** CAUTION *** + * LED Strips require a MOSFET Chip between PWM lines and LEDs, + * as the Arduino cannot handle the current the LEDs will require. + * Failure to follow this precaution can destroy your Arduino! + * NOTE: A separate 5V power supply is required! The Neopixel LED needs + * more current than the Arduino 5V linear regulator can produce. + * *** CAUTION *** + * + * LED Type. Enable only one of the following two options. + * + */ +//#define RGB_LED +//#define RGBW_LED + +#if EITHER(RGB_LED, RGBW_LED) + //#define RGB_LED_R_PIN 34 + //#define RGB_LED_G_PIN 43 + //#define RGB_LED_B_PIN 35 + //#define RGB_LED_W_PIN -1 +#endif + +// Support for Adafruit Neopixel LED driver +//#define NEOPIXEL_LED +#if ENABLED(NEOPIXEL_LED) + #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h) + #define NEOPIXEL_PIN 4 // LED driving pin + //#define NEOPIXEL2_TYPE NEOPIXEL_TYPE + //#define NEOPIXEL2_PIN 5 + #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip, larger of 2 strips if 2 neopixel strips are used + #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once. + #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255) + //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup + + // Use a single Neopixel LED for static (background) lighting + //#define NEOPIXEL_BKGD_LED_INDEX 0 // Index of the LED to use + //#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W +#endif + +/** + * Printer Event LEDs + * + * During printing, the LEDs will reflect the printer status: + * + * - Gradually change from blue to violet as the heated bed gets to target temp + * - Gradually change from violet to red as the hotend gets to temperature + * - Change to white to illuminate work surface + * - Change to green once print has finished + * - Turn off after the print has finished and the user has pushed a button + */ +#if ANY(BLINKM, RGB_LED, RGBW_LED, PCA9632, PCA9533, NEOPIXEL_LED) + #define PRINTER_EVENT_LEDS +#endif + +/** + * R/C SERVO support + * Sponsored by TrinityLabs, Reworked by codexmas + */ + +/** + * Number of servos + * + * For some servo-related options NUM_SERVOS will be set automatically. + * Set this manually if there are extra servos needing manual control. + * Leave undefined or set to 0 to entirely disable the servo subsystem. + */ +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. +// 300ms is a good value but you can try less delay. +// If the servo can't reach the requested position, increase it. +#define SERVO_DELAY { 300 } + +// Only power servos during movement, otherwise leave off to prevent jitter +//#define DEACTIVATE_SERVOS_AFTER_MOVE + +// Allow servo angle to be edited and saved to EEPROM +//#define EDITABLE_SERVO_ANGLES diff --git a/config/examples/Alfawise/U20-bltouch/Configuration_adv.h b/config/examples/Alfawise/U20-bltouch/Configuration_adv.h new file mode 100644 index 0000000000..8bf2c2beb7 --- /dev/null +++ b/config/examples/Alfawise/U20-bltouch/Configuration_adv.h @@ -0,0 +1,2771 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Configuration_adv.h + * + * Advanced settings. + * Only change these if you know exactly what you're doing. + * Some of these settings can damage your printer if improperly set! + * + * Basic settings can be found in Configuration.h + * + */ +#define CONFIGURATION_ADV_H_VERSION 020000 + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +// +// Custom Thermistor 1000 parameters +// +#if TEMP_SENSOR_0 == 1000 + #define HOTEND0_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND0_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND0_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_1 == 1000 + #define HOTEND1_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND1_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND1_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_2 == 1000 + #define HOTEND2_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND2_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND2_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_3 == 1000 + #define HOTEND3_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND3_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND3_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_4 == 1000 + #define HOTEND4_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND4_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND4_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_5 == 1000 + #define HOTEND5_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define HOTEND5_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define HOTEND5_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_BED == 1000 + #define BED_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define BED_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define BED_BETA 3950 // Beta value +#endif + +#if TEMP_SENSOR_CHAMBER == 1000 + #define CHAMBER_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor + #define CHAMBER_RESISTANCE_25C_OHMS 100000 // Resistance at 25C + #define CHAMBER_BETA 3950 // Beta value +#endif + +// +// Hephestos 2 24V heated bed upgrade kit. +// https://store.bq.com/en/heated-bed-kit-hephestos2 +// +//#define HEPHESTOS2_HEATED_BED_KIT +#if ENABLED(HEPHESTOS2_HEATED_BED_KIT) + #undef TEMP_SENSOR_BED + #define TEMP_SENSOR_BED 70 + #define HEATER_BED_INVERTING true +#endif + +/** + * Heated Chamber settings + */ +#if TEMP_SENSOR_CHAMBER + #define CHAMBER_MINTEMP 5 + #define CHAMBER_MAXTEMP 60 + #define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target + //#define CHAMBER_LIMIT_SWITCHING + //#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin + //#define HEATER_CHAMBER_INVERTING false +#endif + +#if DISABLED(PIDTEMPBED) + #define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control + #if ENABLED(BED_LIMIT_SWITCHING) + #define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS + #endif +#endif + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * The solution: Once the temperature reaches the target, start observing. + * If the temperature stays too far below the target (hysteresis) for too + * long (period), the firmware will halt the machine as a safety precaution. + * + * If you get false positives for "Thermal Runaway", increase + * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD + */ +#if ENABLED(THERMAL_PROTECTION_HOTENDS) + #define THERMAL_PROTECTION_PERIOD 60 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 10 // Degrees Celsius + + //#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops + #if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP) + //#define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303 + #endif + + /** + * Whenever an M104, M109, or M303 increases the target temperature, the + * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature + * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and + * requires a hard reset. This test restarts with any M104/M109/M303, but only + * if the current temperature is far enough below the target for a reliable + * test. + * + * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD + * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set + * below 2. + */ + #define WATCH_TEMP_PERIOD 60 // Seconds + #define WATCH_TEMP_INCREASE 2 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the bed are just as above for hotends. + */ +#if ENABLED(THERMAL_PROTECTION_BED) + #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius + + /** + * As described above, except for the bed (M140/M190/M303). + */ + #define WATCH_BED_TEMP_PERIOD 60 // Seconds + #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the heated chamber. + */ +#if ENABLED(THERMAL_PROTECTION_CHAMBER) + #define THERMAL_PROTECTION_CHAMBER_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_CHAMBER_HYSTERESIS 2 // Degrees Celsius + + /** + * Heated chamber watch settings (M141/M191). + */ + #define WATCH_CHAMBER_TEMP_PERIOD 60 // Seconds + #define WATCH_CHAMBER_TEMP_INCREASE 2 // Degrees Celsius +#endif + +#if ENABLED(PIDTEMP) + // Add an experimental additional term to the heater power, proportional to the extrusion speed. + // A well-chosen Kc value should add just enough power to melt the increased material volume. + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) + #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) + #define LPQ_MAX_LEN 50 + #endif +#endif + +/** + * Automatic Temperature: + * The hotend target temperature is calculated by all the buffered lines of gcode. + * The maximum buffered steps/sec of the extruder motor is called "se". + * Start autotemp mode with M109 S B F + * The target temperature is set to mintemp+factor*se[steps/sec] and is limited by + * mintemp and maxtemp. Turn this off by executing M109 without F* + * Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp. + * On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode + */ +#define AUTOTEMP +#if ENABLED(AUTOTEMP) + #define AUTOTEMP_OLDWEIGHT 0.98 +#endif + +// Show extra position information with 'M114 D' +//#define M114_DETAIL + +// Show Temperature ADC value +// Enable for M105 to include ADC values read from temperature sensors. +//#define SHOW_TEMP_ADC_VALUES + +/** + * High Temperature Thermistor Support + * + * Thermistors able to support high temperature tend to have a hard time getting + * good readings at room and lower temperatures. This means HEATER_X_RAW_LO_TEMP + * will probably be caught when the heating element first turns on during the + * preheating process, which will trigger a min_temp_error as a safety measure + * and force stop everything. + * To circumvent this limitation, we allow for a preheat time (during which, + * min_temp_error won't be triggered) and add a min_temp buffer to handle + * aberrant readings. + * + * If you want to enable this feature for your hotend thermistor(s) + * uncomment and set values > 0 in the constants below + */ + +// The number of consecutive low temperature errors that can occur +// before a min_temp_error is triggered. (Shouldn't be more than 10.) +//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0 + +// The number of milliseconds a hotend will preheat before starting to check +// the temperature. This value should NOT be set to the time it takes the +// hot end to reach the target temperature, but the time it takes to reach +// the minimum temperature your thermistor can read. The lower the better/safer. +// This shouldn't need to be more than 30 seconds (30000) +//#define MILLISECONDS_PREHEAT_TIME 0 + +// @section extruder + +// Extruder runout prevention. +// If the machine is idle and the temperature over MINTEMP +// then extrude some filament every couple of SECONDS. +//#define EXTRUDER_RUNOUT_PREVENT +#if ENABLED(EXTRUDER_RUNOUT_PREVENT) + #define EXTRUDER_RUNOUT_MINTEMP 190 + #define EXTRUDER_RUNOUT_SECONDS 30 + #define EXTRUDER_RUNOUT_SPEED 1500 // (mm/m) + #define EXTRUDER_RUNOUT_EXTRUDE 5 // (mm) +#endif + +// @section temperature + +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 + +/** + * Controller Fan + * To cool down the stepper drivers and MOSFETs. + * + * The fan will turn on automatically whenever any stepper is enabled + * and turn off after a set period after all steppers are turned off. + */ +//#define USE_CONTROLLER_FAN +#if ENABLED(USE_CONTROLLER_FAN) + //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan + #define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled + #define CONTROLLERFAN_SPEED 255 // 255 == full speed + //#define CONTROLLERFAN_SPEED_Z_ONLY 127 // Reduce noise on machines that keep Z enabled +#endif + +// When first starting the main fan, run it at full speed for the +// given number of milliseconds. This gets the fan spinning reliably +// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) +//#define FAN_KICKSTART_TIME 100 + +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ +//#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 + +/** + * FAST PWM FAN Settings + * + * Use to change the FAST FAN PWM frequency (if enabled in Configuration.h) + * Combinations of PWM Modes, prescale values and TOP resolutions are used internally to produce a + * frequency as close as possible to the desired frequency. + * + * FAST_PWM_FAN_FREQUENCY [undefined by default] + * Set this to your desired frequency. + * If left undefined this defaults to F = F_CPU/(2*255*1) + * ie F = 31.4 Khz on 16 MHz microcontrollers or F = 39.2 KHz on 20 MHz microcontrollers + * These defaults are the same as with the old FAST_PWM_FAN implementation - no migration is required + * NOTE: Setting very low frequencies (< 10 Hz) may result in unexpected timer behavior. + * + * USE_OCR2A_AS_TOP [undefined by default] + * Boards that use TIMER2 for PWM have limitations resulting in only a few possible frequencies on TIMER2: + * 16MHz MCUs: [62.5KHz, 31.4KHz (default), 7.8KHz, 3.92KHz, 1.95KHz, 977Hz, 488Hz, 244Hz, 60Hz, 122Hz, 30Hz] + * 20MHz MCUs: [78.1KHz, 39.2KHz (default), 9.77KHz, 4.9KHz, 2.44KHz, 1.22KHz, 610Hz, 305Hz, 153Hz, 76Hz, 38Hz] + * A greater range can be achieved by enabling USE_OCR2A_AS_TOP. But note that this option blocks the use of + * PWM on pin OC2A. Only use this option if you don't need PWM on 0C2A. (Check your schematic.) + * USE_OCR2A_AS_TOP sacrifices duty cycle control resolution to achieve this broader range of frequencies. + */ +#if ENABLED(FAST_PWM_FAN) + //#define FAST_PWM_FAN_FREQUENCY 31400 + //#define USE_OCR2A_AS_TOP +#endif + +// @section extruder + +/** + * Extruder cooling fans + * + * Extruder auto fans automatically turn on when their extruders' + * temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE. + * + * Your board's pins file specifies the recommended pins. Override those here + * or set to -1 to disable completely. + * + * Multiple extruders can be assigned to the same pin in which case + * the fan will turn on when any selected extruder is above the threshold. + */ +#define E0_AUTO_FAN_PIN -1 +#define E1_AUTO_FAN_PIN -1 +#define E2_AUTO_FAN_PIN -1 +#define E3_AUTO_FAN_PIN -1 +#define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 +#define CHAMBER_AUTO_FAN_PIN -1 + +#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 +#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed +#define CHAMBER_AUTO_FAN_TEMPERATURE 30 +#define CHAMBER_AUTO_FAN_SPEED 255 + +/** + * Part-Cooling Fan Multiplexer + * + * This feature allows you to digitally multiplex the fan output. + * The multiplexer is automatically switched at tool-change. + * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans. + */ +#define FANMUX0_PIN -1 +#define FANMUX1_PIN -1 +#define FANMUX2_PIN -1 + +/** + * M355 Case Light on-off / brightness + */ +//#define CASE_LIGHT_ENABLE +#if ENABLED(CASE_LIGHT_ENABLE) + //#define CASE_LIGHT_PIN 4 // Override the default pin if needed + #define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW + #define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on + #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin) + //#define CASE_LIGHT_MENU // Add Case Light options to the LCD menu + //#define CASE_LIGHT_NO_BRIGHTNESS // Disable brightness control. Enable for non-PWM lighting. + //#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED. + #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) + #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } + #endif +#endif + +// @section homing + +// If you want endstops to stay on (by default) even when not homing +// enable this option. Override at any time with M120, M121. +//#define ENDSTOPS_ALWAYS_ON_DEFAULT + +// @section extras + +//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats. + +// Employ an external closed loop controller. Override pins here if needed. +//#define EXTERNAL_CLOSED_LOOP_CONTROLLER +#if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER) + //#define CLOSED_LOOP_ENABLE_PIN -1 + //#define CLOSED_LOOP_MOVE_COMPLETE_PIN -1 +#endif + +/** + * Dual Steppers / Dual Endstops + * + * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes. + * + * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to + * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop + * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug + * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'. + * + * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors + * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error + * in X2. Dual endstop offsets can be set at runtime with 'M666 X Y Z'. + */ + +//#define X_DUAL_STEPPER_DRIVERS +#if ENABLED(X_DUAL_STEPPER_DRIVERS) + #define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions + //#define X_DUAL_ENDSTOPS + #if ENABLED(X_DUAL_ENDSTOPS) + #define X2_USE_ENDSTOP _XMAX_ + #define X_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Y_DUAL_STEPPER_DRIVERS +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + #define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions + //#define Y_DUAL_ENDSTOPS + #if ENABLED(Y_DUAL_ENDSTOPS) + #define Y2_USE_ENDSTOP _YMAX_ + #define Y_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_DUAL_STEPPER_DRIVERS +#if ENABLED(Z_DUAL_STEPPER_DRIVERS) + //#define Z_DUAL_ENDSTOPS + #if ENABLED(Z_DUAL_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_TRIPLE_STEPPER_DRIVERS +#if ENABLED(Z_TRIPLE_STEPPER_DRIVERS) + //#define Z_TRIPLE_ENDSTOPS + #if ENABLED(Z_TRIPLE_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z3_USE_ENDSTOP _YMAX_ + #define Z_TRIPLE_ENDSTOPS_ADJUSTMENT2 0 + #define Z_TRIPLE_ENDSTOPS_ADJUSTMENT3 0 + #endif +#endif + +/** + * Dual X Carriage + * + * This setup has two X carriages that can move independently, each with its own hotend. + * The carriages can be used to print an object with two colors or materials, or in + * "duplication mode" it can print two identical or X-mirrored objects simultaneously. + * The inactive carriage is parked automatically to prevent oozing. + * X1 is the left carriage, X2 the right. They park and home at opposite ends of the X axis. + * By default the X2 stepper is assigned to the first unused E plug on the board. + * + * The following Dual X Carriage modes can be selected with M605 S: + * + * 0 : (FULL_CONTROL) The slicer has full control over both X-carriages and can achieve optimal travel + * results as long as it supports dual X-carriages. (M605 S0) + * + * 1 : (AUTO_PARK) The firmware automatically parks and unparks the X-carriages on tool-change so + * that additional slicer support is not required. (M605 S1) + * + * 2 : (DUPLICATION) The firmware moves the second X-carriage and extruder in synchronization with + * the first X-carriage and extruder, to print 2 copies of the same object at the same time. + * Set the constant X-offset and temperature differential with M605 S2 X[offs] R[deg] and + * follow with M605 S2 to initiate duplicated movement. + * + * 3 : (MIRRORED) Formbot/Vivedino-inspired mirrored mode in which the second extruder duplicates + * the movement of the first except the second extruder is reversed in the X axis. + * Set the initial X offset and temperature differential with M605 S2 X[offs] R[deg] and + * follow with M605 S3 to initiate mirrored movement. + */ +//#define DUAL_X_CARRIAGE +#if ENABLED(DUAL_X_CARRIAGE) + #define X1_MIN_POS X_MIN_POS // Set to X_MIN_POS + #define X1_MAX_POS X_BED_SIZE // Set a maximum so the first X-carriage can't hit the parked second X-carriage + #define X2_MIN_POS 80 // Set a minimum to ensure the second X-carriage can't hit the parked first X-carriage + #define X2_MAX_POS 353 // Set this to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // Set to 1. The second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // Default X2 home position. Set to X2_MAX_POS. + // However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_AUTO_PARK_MODE + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif // DUAL_X_CARRIAGE + +// Activate a solenoid on the active extruder with M380. Disable all with M381. +// Define SOL0_PIN, SOL1_PIN, etc., for each extruder that has a solenoid. +//#define EXT_SOLENOID + +// @section homing + +// Homing hits each endstop, retracts by these distances, then does a slower bump. +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 2 +#define HOMING_BUMP_DIVISOR { 4, 4, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) +//#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially +//#define HOMING_BACKOFF_MM { 2, 2, 2 } // (mm) Move away from the endstops after homing + +// When G28 is called, this option will make Y home before X +//#define HOME_Y_BEFORE_X + +// Enable this if X or Y can't home without homing the other axis first. +//#define CODEPENDENT_XY_HOMING + +#if ENABLED(BLTOUCH) + /** + * Either: Use the defaults (recommended) or: For special purposes, use the following DEFINES + * Do not activate settings that the probe might not understand. Clones might misunderstand + * advanced commands. + * + * Note: If the probe is not deploying, check a "Cmd: Reset" and "Cmd: Self-Test" and then + * check the wiring of the BROWN, RED and ORANGE wires. + * + * Note: If the trigger signal of your probe is not being recognized, it has been very often + * because the BLACK and WHITE wires needed to be swapped. They are not "interchangeable" + * like they would be with a real switch. So please check the wiring first. + * + * Settings for all BLTouch and clone probes: + */ + #undef PROBE_MANUALLY + + // Safety: The probe needs time to recognize the command. + // Minimum command delay (ms). Enable and increase if needed. + //#define BLTOUCH_DELAY 500 + + /** + * Settings for BLTOUCH Classic 1.2, 1.3 or BLTouch Smart 1.0, 2.0, 2.2, 3.0, 3.1, and most clones: + */ + + // Feature: Switch into SW mode after a deploy. It makes the output pulse longer. Can be useful + // in special cases, like noisy or filtered input configurations. + //#define BLTOUCH_FORCE_SW_MODE + + /** + * Settings for BLTouch Smart 3.0 and 3.1 + * Summary: + * - Voltage modes: 5V and OD (open drain - "logic voltage free") output modes + * - High-Speed mode + * - Disable LCD voltage options + */ + + /** + * Danger: Don't activate 5V mode unless attached to a 5V-tolerant controller! + * V3.0 or 3.1: Set default mode to 5V mode at Marlin startup. + * If disabled, OD mode is the hard-coded default on 3.0 + * On startup, Marlin will compare its eeprom to this vale. If the selected mode + * differs, a mode set eeprom write will be completed at initialization. + * Use the option below to force an eeprom write to a V3.1 probe regardless. + */ + //#define BLTOUCH_SET_5V_MODE + + /** + * Safety: Activate if connecting a probe with an unknown voltage mode. + * V3.0: Set a probe into mode selected above at Marlin startup. Required for 5V mode on 3.0 + * V3.1: Force a probe with unknown mode into selected mode at Marlin startup ( = Probe EEPROM write ) + * To preserve the life of the probe, use this once then turn it off and re-flash. + */ + //#define BLTOUCH_FORCE_MODE_SET + + /** + * Use "HIGH SPEED" mode for probing. + * Danger: Disable if your probe sometimes fails. Only suitable for stable well-adjusted systems. + * This feature was designed for Delta's with very fast Z moves however higher speed cartesians may function + * If the machine cannot raise the probe fast enough after a trigger, it may enter a fault state. + */ + //#define BLTOUCH_HS_MODE + + // Safety: Enable voltage mode settings in the LCD menu. + #define BLTOUCH_LCD_VOLTAGE_MENU + +#endif // BLTOUCH + +/** + * Z Steppers Auto-Alignment + * Add the G34 command to align multiple Z steppers using a bed probe. + */ +//#define Z_STEPPER_AUTO_ALIGN +#if ENABLED(Z_STEPPER_AUTO_ALIGN) + // Define probe X and Y positions for Z1, Z2 [, Z3] + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + // Set number of iterations to align + #define Z_STEPPER_ALIGN_ITERATIONS 3 + // Enable to restore leveling setup after operation + #define RESTORE_LEVELING_AFTER_G34 + + // On a 300mm bed a 5% grade would give a misalignment of ~1.5cm + #define G34_MAX_GRADE 5 // (%) Maximum incline G34 will handle + + // Use the amplification factor to de-/increase correction step. + // In case the stepper (spindle) position is further out than the test point + // Use a value > 1. NOTE: This may cause instability + #define Z_STEPPER_ALIGN_AMP 1.0 + // Stop criterion. If the accuracy is better than this stop iterating early + #define Z_STEPPER_ALIGN_ACC 0.02 +#endif + +// @section motion + +#define AXIS_RELATIVE_MODES { false, false, false, false } + +// Add a Duplicate option for well-separated conjoined nozzles +//#define MULTI_NOZZLE_DUPLICATION + +// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. +#define DEFAULT_STEPPER_DEACTIVE_TIME 120 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // Set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated + +// Minimum time that a segment needs to take if the buffer is emptied +#define DEFAULT_MINSEGMENTTIME 20000 // (ms) + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05 // (mm/s) + +// +// Backlash Compensation +// Adds extra movement to axes on direction-changes to account for backlash. +// +//#define BACKLASH_COMPENSATION +#if ENABLED(BACKLASH_COMPENSATION) + // Define values for backlash distance and correction. + // If BACKLASH_GCODE is enabled these values are the defaults. + #define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm) + #define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction + + // Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments + // to reduce print artifacts. (Enabling this is costly in memory and computation!) + //#define BACKLASH_SMOOTHING_MM 3 // (mm) + + // Add runtime configuration and tuning of backlash values (M425) + //#define BACKLASH_GCODE + + #if ENABLED(BACKLASH_GCODE) + // Measure the Z backlash when probing (G29) and set with "M425 Z" + #define MEASURE_BACKLASH_WHEN_PROBING + + #if ENABLED(MEASURE_BACKLASH_WHEN_PROBING) + // When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT + // mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION + // increments while checking for the contact to be broken. + #define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm) + #define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm) + #define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m) + #endif + #endif +#endif + +/** + * Automatic backlash, position and hotend offset calibration + * + * Enable G425 to run automatic calibration using an electrically- + * conductive cube, bolt, or washer mounted on the bed. + * + * G425 uses the probe to touch the top and sides of the calibration object + * on the bed and measures and/or correct positional offsets, axis backlash + * and hotend offsets. + * + * Note: HOTEND_OFFSET and CALIBRATION_OBJECT_CENTER must be set to within + * ±5mm of true values for G425 to succeed. + */ +//#define CALIBRATION_GCODE +#if ENABLED(CALIBRATION_GCODE) + + #define CALIBRATION_MEASUREMENT_RESOLUTION 0.01 // mm + + #define CALIBRATION_FEEDRATE_SLOW 60 // mm/m + #define CALIBRATION_FEEDRATE_FAST 1200 // mm/m + #define CALIBRATION_FEEDRATE_TRAVEL 3000 // mm/m + + // The following parameters refer to the conical section of the nozzle tip. + #define CALIBRATION_NOZZLE_TIP_HEIGHT 1.0 // mm + #define CALIBRATION_NOZZLE_OUTER_DIAMETER 2.0 // mm + + // Uncomment to enable reporting (required for "G425 V", but consumes PROGMEM). + //#define CALIBRATION_REPORTING + + // The true location and dimension the cube/bolt/washer on the bed. + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm + + // Comment out any sides which are unreachable by the probe. For best + // auto-calibration results, all sides must be reachable. + #define CALIBRATION_MEASURE_RIGHT + #define CALIBRATION_MEASURE_FRONT + #define CALIBRATION_MEASURE_LEFT + #define CALIBRATION_MEASURE_BACK + + // Probing at the exact top center only works if the center is flat. If + // probing on a screwhead or hollow washer, probe near the edges. + //#define CALIBRATION_MEASURE_AT_TOP_EDGES + + // Define pin which is read during calibration + #ifndef CALIBRATION_PIN + #define CALIBRATION_PIN -1 // Override in pins.h or set to -1 to use your Z endstop + #define CALIBRATION_PIN_INVERTING false // Set to true to invert the pin + //#define CALIBRATION_PIN_PULLDOWN + #define CALIBRATION_PIN_PULLUP + #endif +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + +/** + * Custom Microstepping + * Override as-needed for your setup. Up to 3 MS pins are supported. + */ +//#define MICROSTEP1 LOW,LOW,LOW +//#define MICROSTEP2 HIGH,LOW,LOW +//#define MICROSTEP4 LOW,HIGH,LOW +//#define MICROSTEP8 HIGH,HIGH,LOW +//#define MICROSTEP16 LOW,LOW,HIGH +//#define MICROSTEP32 HIGH,LOW,HIGH + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] + +/** + * @section stepper motor current + * + * Some boards have a means of setting the stepper motor current via firmware. + * + * The power on motor currents are set by: + * PWM_MOTOR_CURRENT - used by MINIRAMBO & ULTIMAIN_2 + * known compatible chips: A4982 + * DIGIPOT_MOTOR_CURRENT - used by BQ_ZUM_MEGA_3D, RAMBO & SCOOVO_X9H + * known compatible chips: AD5206 + * DAC_MOTOR_CURRENT_DEFAULT - used by PRINTRBOARD_REVF & RIGIDBOARD_V2 + * known compatible chips: MCP4728 + * DIGIPOT_I2C_MOTOR_CURRENTS - used by 5DPRINT, AZTEEG_X3_PRO, AZTEEG_X5_MINI_WIFI, MIGHTYBOARD_REVE + * known compatible chips: MCP4451, MCP4018 + * + * Motor currents can also be set by M907 - M910 and by the LCD. + * M907 - applies to all. + * M908 - BQ_ZUM_MEGA_3D, RAMBO, PRINTRBOARD_REVF, RIGIDBOARD_V2 & SCOOVO_X9H + * M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2 + */ +//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps +//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) +//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis + +// Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro) +//#define DIGIPOT_I2C +#if ENABLED(DIGIPOT_I2C) && !defined(DIGIPOT_I2C_ADDRESS_A) + /** + * Common slave addresses: + * + * A (A shifted) B (B shifted) IC + * Smoothie 0x2C (0x58) 0x2D (0x5A) MCP4451 + * AZTEEG_X3_PRO 0x2C (0x58) 0x2E (0x5C) MCP4451 + * AZTEEG_X5_MINI 0x2C (0x58) 0x2E (0x5C) MCP4451 + * AZTEEG_X5_MINI_WIFI 0x58 0x5C MCP4451 + * MIGHTYBOARD_REVE 0x2F (0x5E) MCP4018 + */ + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT + #define DIGIPOT_I2C_ADDRESS_B 0x2D // unshifted slave address for second DIGIPOT +#endif + +//#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 +// Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. +// These correspond to the physical drivers, so be mindful if the order is changed. +#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +// @section lcd + +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + +// Change values more rapidly when the encoder is rotated faster +#define ENCODER_RATE_MULTIPLIER +#if ENABLED(ENCODER_RATE_MULTIPLIER) + #define ENCODER_10X_STEPS_PER_SEC 30 // (steps/s) Encoder rate for 10x speed + #define ENCODER_100X_STEPS_PER_SEC 80 // (steps/s) Encoder rate for 100x speed +#endif + +// Play a beep when the feedrate is changed from the Status Screen +//#define BEEP_ON_FEEDRATE_CHANGE +#if ENABLED(BEEP_ON_FEEDRATE_CHANGE) + #define FEEDRATE_CHANGE_BEEP_DURATION 10 + #define FEEDRATE_CHANGE_BEEP_FREQUENCY 440 +#endif + +#if HAS_LCD_MENU + + // Include a page of printer information in the LCD Main Menu + #define LCD_INFO_MENU + #if ENABLED(LCD_INFO_MENU) + //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages + #endif + + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + + /** + * LED Control Menu + * Add LED Control to the LCD menu + */ + //#define LED_CONTROL_MENU + #if ENABLED(LED_CONTROL_MENU) + #define LED_COLOR_PRESETS // Enable the Preset Color menu option + #if ENABLED(LED_COLOR_PRESETS) + #define LED_USER_PRESET_RED 255 // User defined RED value + #define LED_USER_PRESET_GREEN 128 // User defined GREEN value + #define LED_USER_PRESET_BLUE 0 // User defined BLUE value + #define LED_USER_PRESET_WHITE 255 // User defined WHITE value + #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity + //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup + #endif + #endif + +#endif // HAS_LCD_MENU + +// Scroll a longer status message into view +//#define STATUS_MESSAGE_SCROLLING + +// On the Info Screen, display XY with one decimal place when possible +//#define LCD_DECIMAL_SMALL_XY + +// The timeout (in ms) to return to the status screen from sub-menus +//#define LCD_TIMEOUT_TO_STATUS 15000 + +// Add an 'M73' G-code to set the current percentage +#define LCD_SET_PROGRESS_MANUALLY + +#if HAS_CHARACTER_LCD && HAS_PRINT_PROGRESS + //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing + #if ENABLED(LCD_PROGRESS_BAR) + #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar + #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message + #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) + //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it + //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #endif +#endif + +#if ENABLED(SDSUPPORT) + + // Some RAMPS and other boards don't detect when an SD card is inserted. You can work + // around this by connecting a push button or single throw switch to the pin defined + // as SD_DETECT_PIN in your board's pins definitions. + // This setting should be disabled unless you are using a push button, pulling the pin to ground. + // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER). + #define SD_DETECT_INVERTED + + #define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the Z enabled so your bed stays in place. + + // Reverse SD sort to show "more recent" files first, according to the card's FAT. + // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended. + #define SDCARD_RATHERRECENTFIRST + + #define SD_MENU_CONFIRM_START // Confirm the selected SD file before printing + + #define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files + + #define EVENT_GCODE_SD_STOP "G28X" // G-code to run on Stop Print (e.g., "G28XY" or "G27") + + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + #define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + //#define POWER_LOSS_PULL // Set pullup / pulldown as appropriate + //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume + //#define POWER_LOSS_RETRACT_LEN 10 // (mm) Length of filament to retract on fail. Requires backup power. + + // Without a POWER_LOSS_PIN the following option helps reduce wear on the SD card, + // especially with "vase mode" printing. Set too high and vases cannot be continued. + #define POWER_LOSS_MIN_Z_CHANGE 0.05 // (mm) Minimum Z change before saving power-loss data + + //#define DEBUG_POWER_LOSS_RECOVERY // Debug informations on serial output + //#define SAVE_INFO_INTERVAL_MS 0 // Force SD recov. write interval, on each layer start if 0 + #endif + + /** + * Sort SD file listings in alphabetical order. + * + * With this option enabled, items on SD cards will be sorted + * by name for easier navigation. + * + * By default... + * + * - Use the slowest -but safest- method for sorting. + * - Folders are sorted to the top. + * - The sort key is statically allocated. + * - No added G-code (M34) support. + * - 40 item sorting limit. (Items after the first 40 are unsorted.) + * + * SD sorting uses static allocation (as set by SDSORT_LIMIT), allowing the + * compiler to calculate the worst-case usage and throw an error if the SRAM + * limit is exceeded. + * + * - SDSORT_USES_RAM provides faster sorting via a static directory buffer. + * - SDSORT_USES_STACK does the same, but uses a local stack-based buffer. + * - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!) + * - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!) + */ + #define SDCARD_SORT_ALPHA + + // SD Card Sorting options + #if ENABLED(SDCARD_SORT_ALPHA) + #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. + #define FOLDER_SORTING -1 // -1=above 0=none 1=below + #define SDSORT_GCODE true // Allow turning sorting on/off with LCD and M34 g-code. + #define SDSORT_USES_RAM true // Pre-allocate a static array for faster pre-sorting. + #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.) + #define SDSORT_CACHE_NAMES true // Keep sorted items in RAM longer for speedy performance. Most expensive option. + #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use! + #define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting. + // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM. + #endif + + // This allows hosts to request long names for files and folders with M33 + #define LONG_FILENAME_HOST_SUPPORT + + // Enable this option to scroll long filenames in the SD card menu + //#define SCROLL_LONG_FILENAMES + + // Leave the heaters on after Stop Print (not recommended!) + //#define SD_ABORT_NO_COOLDOWN + + /** + * This option allows you to abort SD printing when any endstop is triggered. + * This feature must be enabled with "M540 S1" or from the LCD menu. + * To have any effect, endstops must be enabled during SD printing. + */ + //#define SD_ABORT_ON_ENDSTOP_HIT + + /** + * This option makes it easier to print the same SD Card file again. + * On print completion the LCD Menu will open with the file selected. + * You can just click to start the print, or navigate elsewhere. + */ + #define SD_REPRINT_LAST_SELECTED_FILE + + /** + * Auto-report SdCard status with M27 S + */ + //#define AUTO_REPORT_SD_STATUS + + /** + * Support for USB thumb drives using an Arduino USB Host Shield or + * equivalent MAX3421E breakout board. The USB thumb drive will appear + * to Marlin as an SD card. + * + * The MAX3421E can be assigned the same pins as the SD card reader, with + * the following pin mapping: + * + * SCLK, MOSI, MISO --> SCLK, MOSI, MISO + * INT --> SD_DETECT_PIN [1] + * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. + */ + //#define USB_FLASH_DRIVE_SUPPORT + #if ENABLED(USB_FLASH_DRIVE_SUPPORT) + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB + #endif + + /** + * When using a bootloader that supports SD-Firmware-Flashing, + * add a menu item to activate SD-FW-Update on the next reboot. + * + * Requires ATMEGA2560 (Arduino Mega) + * + * Tested with this bootloader: + * https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560 + */ + //#define SD_FIRMWARE_UPDATE + #if ENABLED(SD_FIRMWARE_UPDATE) + #define SD_FIRMWARE_UPDATE_EEPROM_ADDR 0x1FF + #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE 0xF0 + #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF + #endif + + // Add an optimized binary file transfer mode, initiated with 'M28 B1' + //#define BINARY_FILE_TRANSFER + + #if HAS_SDCARD_CONNECTION + /** + * Set this option to one of the following (or the board's defaults apply): + * + * LCD - Use the SD drive in the external LCD controller. + * ONBOARD - Use the SD drive on the control board. (No SD_DETECT_PIN. M21 to init.) + * CUSTOM_CABLE - Use a custom cable to access the SD (as defined in a pins file). + * + * :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ] + */ + //#define SDCARD_CONNECTION LCD + #endif + +#endif // SDSUPPORT + +/** + * By default an onboard SD card reader may be shared as a USB mass- + * storage device. This option hides the SD card from the host PC. + */ +//#define NO_SD_HOST_DRIVE // Disable SD Card access over USB (for security). + +/** + * Additional options for Graphical Displays + * + * Use the optimizations here to improve printing performance, + * which can be adversely affected by graphical display drawing, + * especially when doing several short moves, and when printing + * on DELTA and SCARA machines. + * + * Some of these options may result in the display lagging behind + * controller events, as there is a trade-off between reliable + * printing performance versus fast display updates. + */ +#if HAS_GRAPHICAL_LCD + // Show SD percentage next to the progress bar + #define DOGM_SD_PERCENT + + // Enable to save many cycles by drawing a hollow frame on the Info Screen + #define XYZ_HOLLOW_FRAME + + // Enable to save many cycles by drawing a hollow frame on Menu Screens + #define MENU_HOLLOW_FRAME + + // A bigger font is available for edit items. Costs 3120 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_BIG_EDIT_FONT + + // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_SMALL_INFOFONT + + // Enable this option and reduce the value to optimize screen updates. + // The normal delay is 10µs. Use the lowest value that still gives a reliable display. + //#define DOGM_SPI_DELAY_US 5 + + // Swap the CW/CCW indicators in the graphics overlay + //#define OVERLAY_GFX_REVERSE + + /** + * ST7920-based LCDs can emulate a 16 x 4 character display using + * the ST7920 character-generator for very fast screen updates. + * Enable LIGHTWEIGHT_UI to use this special display mode. + * + * Since LIGHTWEIGHT_UI has limited space, the position and status + * message occupy the same line. Set STATUS_EXPIRE_SECONDS to the + * length of time to display the status message before clearing. + * + * Set STATUS_EXPIRE_SECONDS to zero to never clear the status. + * This will prevent position updates from being displayed. + */ + #if ENABLED(U8GLIB_ST7920) + //#define LIGHTWEIGHT_UI + #if ENABLED(LIGHTWEIGHT_UI) + #define STATUS_EXPIRE_SECONDS 20 + #endif + #endif + + /** + * Status (Info) Screen customizations + * These options may affect code size and screen render time. + * Custom status screens can forcibly override these settings. + */ + //#define STATUS_COMBINE_HEATERS // Use combined heater images instead of separate ones + //#define STATUS_HOTEND_NUMBERLESS // Use plain hotend icons instead of numbered ones (with 2+ hotends) + #define STATUS_HOTEND_INVERTED // Show solid nozzle bitmaps when heating (Requires STATUS_HOTEND_ANIM) + #define STATUS_HOTEND_ANIM // Use a second bitmap to indicate hotend heating + #define STATUS_BED_ANIM // Use a second bitmap to indicate bed heating + #define STATUS_CHAMBER_ANIM // Use a second bitmap to indicate chamber heating + //#define STATUS_ALT_BED_BITMAP // Use the alternative bed bitmap + //#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap + //#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames + #define STATUS_HEAT_PERCENT // Show heating in a progress bar + //#define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash) + //#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~‭3260 (or ~940) bytes of PROGMEM. + + // Frivolous Game Options + //#define MARLIN_BRICKOUT + //#define MARLIN_INVADERS + //#define MARLIN_SNAKE + //#define GAMES_EASTER_EGG // Add extra blank lines above the "Games" sub-menu + +#endif // HAS_GRAPHICAL_LCD + +// +// Lulzbot Touch UI +// +#if ENABLED(LULZBOT_TOUCH_UI) + // Display board used + //#define LCD_FTDI_VM800B35A // FTDI 3.5" with FT800 (320x240) + //#define LCD_4DSYSTEMS_4DLCD_FT843 // 4D Systems 4.3" (480x272) + //#define LCD_HAOYU_FT800CB // Haoyu with 4.3" or 5" (480x272) + //#define LCD_HAOYU_FT810CB // Haoyu with 5" (800x480) + //#define LCD_ALEPHOBJECTS_CLCD_UI // Aleph Objects Color LCD UI + + // Correct the resolution if not using the stock TFT panel. + //#define TOUCH_UI_320x240 + //#define TOUCH_UI_480x272 + //#define TOUCH_UI_800x480 + + // Mappings for boards with a standard RepRapDiscount Display connector + //#define AO_EXP1_PINMAP // AlephObjects CLCD UI EXP1 mapping + //#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping + //#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping + //#define OTHER_PIN_LAYOUT // Define pins manually below + #if ENABLED(OTHER_PIN_LAYOUT) + // The pins for CS and MOD_RESET (PD) must be chosen. + #define CLCD_MOD_RESET 9 + #define CLCD_SPI_CS 10 + + // If using software SPI, specify pins for SCLK, MOSI, MISO + //#define CLCD_USE_SOFT_SPI + #if ENABLED(CLCD_USE_SOFT_SPI) + #define CLCD_SOFT_SPI_MOSI 11 + #define CLCD_SOFT_SPI_MISO 12 + #define CLCD_SOFT_SPI_SCLK 13 + #endif + #endif + + // Display Orientation. An inverted (i.e. upside-down) display + // is supported on the FT800. The FT810 and beyond also support + // portrait and mirrored orientations. + //#define TOUCH_UI_INVERTED + //#define TOUCH_UI_PORTRAIT + //#define TOUCH_UI_MIRRORED + + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + + // Use a numeric passcode for "Screen lock" keypad. + // (recommended for smaller displays) + //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + // see https://ee-programming-notepad.blogspot.com/2016/10/16-bit-color-generator-picker.html + #define TFT_MARLINUI_COLOR COLOR_WHITE + #define TFT_MARLINBG_COLOR COLOR_BLACK + #define TFT_DISABLED_COLOR 0x10A2 // almost black + #define TFT_BTCANCEL_COLOR COLOR_RED + #define TFT_BTARROWS_COLOR COLOR_WHITE + #define TFT_BTOKMENU_COLOR COLOR_BLUE +#endif + +// @section safety + +/** + * The watchdog hardware timer will do a reset and disable all outputs + * if the firmware gets too overloaded to read the temperature sensors. + * + * If you find that watchdog reboot causes your AVR board to hang forever, + * enable WATCHDOG_RESET_MANUAL to use a custom timer instead of WDTO. + * NOTE: This method is less reliable as it can only catch hangups while + * interrupts are enabled. + */ +#define USE_WATCHDOG +#if ENABLED(USE_WATCHDOG) + //#define WATCHDOG_RESET_MANUAL +#endif + +// @section lcd + +/** + * Babystepping enables movement of the axes by tiny increments without changing + * the current position values. This feature is used primarily to adjust the Z + * axis in the first layer of a print in real-time. + * + * Warning: Does not respect endstops! + */ +//#define BABYSTEPPING +#if ENABLED(BABYSTEPPING) + //#define BABYSTEP_WITHOUT_HOMING + //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way + #define BABYSTEP_MULTIPLICATOR 1 // Babysteps are very small. Increase for faster motion. + + //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) + #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. + // Note: Extra time may be added to mitigate controller latency. + //#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement). + //#define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle. + #if ENABLED(MOVE_Z_WHEN_IDLE) + #define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size. + #endif + #endif + + //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 + + //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + #if ENABLED(BABYSTEP_ZPROBE_OFFSET) + //#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets + //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor + #endif +#endif + +// @section extruder + +/** + * Linear Pressure Control v1.5 + * + * Assumption: advance [steps] = k * (delta velocity [steps/s]) + * K=0 means advance disabled. + * + * NOTE: K values for LIN_ADVANCE 1.5 differ from earlier versions! + * + * Set K around 0.22 for 3mm PLA Direct Drive with ~6.5cm between the drive gear and heatbreak. + * Larger K values will be needed for flexible filament and greater distances. + * If this algorithm produces a higher speed offset than the extruder can handle (compared to E jerk) + * print acceleration will be reduced during the affected moves to keep within the limit. + * + * See http://marlinfw.org/docs/features/lin_advance.html for full instructions. + * Mention @Sebastianv650 on GitHub to alert the author of any issues. + */ +//#define LIN_ADVANCE +#if ENABLED(LIN_ADVANCE) + //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants + #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed + //#define LA_DEBUG // If enabled, this will generate debug information output over USB. +#endif + +// @section leveling + +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + +#if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) + // Override the mesh area if the automatic (max) area is too large + //#define MESH_MIN_X MESH_INSET + //#define MESH_MIN_Y MESH_INSET + //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET) + //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) +#endif + +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + +#endif + +// @section extras + +// +// G2/G3 Arc Support +// +#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +#if ENABLED(ARC_SUPPORT) + #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment + #define MIN_ARC_SEGMENTS 24 // Minimum number of segments in a complete circle + #define N_ARC_CORRECTION 25 // Number of interpolated segments between corrections + //#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles + //#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes +#endif + +// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes. +//#define BEZIER_CURVE_SUPPORT + +/** + * G38 Probe Target + * + * This option adds G38.2 and G38.3 (probe towards target) + * and optionally G38.4 and G38.5 (probe away from target). + * Set MULTIPLE_PROBING for G38 to probe more than once. + */ +//#define G38_PROBE_TARGET +#if ENABLED(G38_PROBE_TARGET) + //#define G38_PROBE_AWAY // Include G38.4 and G38.5 to probe away from target + #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move. +#endif + +// Moves (or segments) with fewer steps than this will be joined with the next move +#define MIN_STEPS_PER_SEGMENT 6 + +/** + * Minimum delay before and after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 400 : Minimum for A5984 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 0 : Minimum 500ns for LV8729, adjusted in stepper.h + * 1 : Minimum for A4988 and A5984 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 200000 : Maximum for LV8729 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//================================= Buffers ================================= +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. +#if ENABLED(SDSUPPORT) + #define BLOCK_BUFFER_SIZE 32 +#else + #define BLOCK_BUFFER_SIZE 16 // Marlin default +#endif + +// @section serial + +// The ASCII buffer for serial input +#define MAX_CMD_SIZE 96 +#define BUFSIZE 8 + +// Transmission to Host Buffer Size +// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0. +// To buffer a simple "ok" you need 4 bytes. +// For ADVANCED_OK (M105) you need 32 bytes. +// For debug-echo: 128 bytes for the optimal speed. +// Other output doesn't need to be that speedy. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256] +#define TX_BUFFER_SIZE 0 + +// Host Receive Buffer Size +// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. +// To use flow control, set this buffer size to at least 1024 bytes. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048] +//#define RX_BUFFER_SIZE 1024 + +#if RX_BUFFER_SIZE >= 1024 + // Enable to have the controller send XON/XOFF control characters to + // the host to signal the RX buffer is becoming full. + //#define SERIAL_XON_XOFF +#endif + +// Add M575 G-code to change the baud rate +//#define BAUD_RATE_GCODE + +#if ENABLED(SDSUPPORT) + // Enable this option to collect and display the maximum + // RX queue usage after transferring a file to SD. + //#define SERIAL_STATS_MAX_RX_QUEUED + + // Enable this option to collect and display the number + // of dropped bytes after a file transfer to SD. + //#define SERIAL_STATS_DROPPED_RX +#endif + +// Enable an emergency-command parser to intercept certain commands as they +// enter the serial receive buffer, so they cannot be blocked. +// Currently handles M108, M112, M410 +// Does not work on boards using AT90USB (USBCON) processors! +//#define EMERGENCY_PARSER + +// Bad Serial-connections can miss a received command by sending an 'ok' +// Therefore some clients abort after 30 seconds in a timeout. +// Some other clients start sending commands while receiving a 'wait'. +// This "wait" is only sent when the buffer is empty. 1 second is a good value here. +//#define NO_TIMEOUTS 1000 // Milliseconds + +// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. +//#define ADVANCED_OK + +// Printrun may have trouble receiving long strings all at once. +// This option inserts short delays between lines of serial output. +#define SERIAL_OVERRUN_PROTECTION + +// @section extras + +/** + * Extra Fan Speed + * Adds a secondary fan speed for each print-cooling fan. + * 'M106 P T3-255' : Set a secondary speed for + * 'M106 P T2' : Use the set secondary speed + * 'M106 P T1' : Restore the previous fan speed + */ +//#define EXTRA_FAN_SPEED + +/** + * Firmware-based and LCD-controlled retract + * + * Add G10 / G11 commands for automatic firmware-based retract / recover. + * Use M207 and M208 to define parameters for retract / recover. + * + * Use M209 to enable or disable auto-retract. + * With auto-retract enabled, all G1 E moves within the set range + * will be converted to firmware-based retract/recover moves. + * + * Be sure to turn off auto-retract during filament change. + * + * Note that M207 / M208 / M209 settings are saved to EEPROM. + * + */ +//#define FWRETRACT +#if ENABLED(FWRETRACT) + #define FWRETRACT_AUTORETRACT // Override slicer retractions + #if ENABLED(FWRETRACT_AUTORETRACT) + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length + #endif + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction + #if ENABLED(MIXING_EXTRUDER) + //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously + #endif +#endif + +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + //#define TOOLCHANGE_NO_RETURN // Never return to the previous position on tool-change + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_EXTRA_PRIME 2 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + +/** + * Advanced Pause + * Experimental feature for filament change support and for parking the nozzle when paused. + * Adds the GCode M600 for initiating filament change. + * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. + * + * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. + * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. + */ +#define ADVANCED_PAUSE_FEATURE +#if ENABLED(ADVANCED_PAUSE_FEATURE) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 25 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + #define ADVANCED_PAUSE_RESUME_PRIME 0 // (mm) Extra distance to prime nozzle after returning from park. + //#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) +#endif + +// @section tmc + +/** + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper + */ +#if HAS_DRIVER(TMC26X) + + #if AXIS_DRIVER_TYPE_X(TMC26X) + #define X_MAX_CURRENT 1000 // (mA) + #define X_SENSE_RESISTOR 91 // (mOhms) + #define X_MICROSTEPS 16 // Number of microsteps + #endif + + #if AXIS_DRIVER_TYPE_X2(TMC26X) + #define X2_MAX_CURRENT 1000 + #define X2_SENSE_RESISTOR 91 + #define X2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Y(TMC26X) + #define Y_MAX_CURRENT 1000 + #define Y_SENSE_RESISTOR 91 + #define Y_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Y2(TMC26X) + #define Y2_MAX_CURRENT 1000 + #define Y2_SENSE_RESISTOR 91 + #define Y2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Z(TMC26X) + #define Z_MAX_CURRENT 1000 + #define Z_SENSE_RESISTOR 91 + #define Z_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Z2(TMC26X) + #define Z2_MAX_CURRENT 1000 + #define Z2_SENSE_RESISTOR 91 + #define Z2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_Z3(TMC26X) + #define Z3_MAX_CURRENT 1000 + #define Z3_SENSE_RESISTOR 91 + #define Z3_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E0(TMC26X) + #define E0_MAX_CURRENT 1000 + #define E0_SENSE_RESISTOR 91 + #define E0_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E1(TMC26X) + #define E1_MAX_CURRENT 1000 + #define E1_SENSE_RESISTOR 91 + #define E1_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E2(TMC26X) + #define E2_MAX_CURRENT 1000 + #define E2_SENSE_RESISTOR 91 + #define E2_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E3(TMC26X) + #define E3_MAX_CURRENT 1000 + #define E3_SENSE_RESISTOR 91 + #define E3_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E4(TMC26X) + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E5(TMC26X) + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif + +#endif // TMC26X + +// @section tmc_smart + +/** + * To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode + * connect your SPI pins to the hardware SPI interface on your board and define + * the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 + * pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). + * You may also use software SPI if you wish to use general purpose IO pins. + * + * To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN + * to the driver side PDN_UART pin with a 1K resistor. + * To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without + * a resistor. + * The drivers can also be used with hardware serial. + * + * TMCStepper library is required to use TMC stepper drivers. + * https://github.com/teemuatlut/TMCStepper + */ +#if HAS_TRINAMIC + + #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current + #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 + + #if AXIS_IS_TMC(X) + #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. + #define X_MICROSTEPS 16 // 0..256 + #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... + #endif + + #if AXIS_IS_TMC(X2) + #define X2_CURRENT 800 + #define X2_MICROSTEPS 16 + #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Y) + #define Y_CURRENT 800 + #define Y_MICROSTEPS 16 + #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Y2) + #define Y2_CURRENT 800 + #define Y2_MICROSTEPS 16 + #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Z) + #define Z_CURRENT 800 + #define Z_MICROSTEPS 16 + #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Z2) + #define Z2_CURRENT 800 + #define Z2_MICROSTEPS 16 + #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(Z3) + #define Z3_CURRENT 800 + #define Z3_MICROSTEPS 16 + #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E0) + #define E0_CURRENT 800 + #define E0_MICROSTEPS 16 + #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E1) + #define E1_CURRENT 800 + #define E1_MICROSTEPS 16 + #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E2) + #define E2_CURRENT 800 + #define E2_MICROSTEPS 16 + #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E3) + #define E3_CURRENT 800 + #define E3_MICROSTEPS 16 + #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E4) + #define E4_CURRENT 800 + #define E4_MICROSTEPS 16 + #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 + #endif + + #if AXIS_IS_TMC(E5) + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 + #endif + + /** + * Override default SPI pins for TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160 drivers here. + * The default pins can be found in your board's pins file. + */ + //#define X_CS_PIN -1 + //#define Y_CS_PIN -1 + //#define Z_CS_PIN -1 + //#define X2_CS_PIN -1 + //#define Y2_CS_PIN -1 + //#define Z2_CS_PIN -1 + //#define Z3_CS_PIN -1 + //#define E0_CS_PIN -1 + //#define E1_CS_PIN -1 + //#define E2_CS_PIN -1 + //#define E3_CS_PIN -1 + //#define E4_CS_PIN -1 + //#define E5_CS_PIN -1 + + /** + * Software option for SPI driven drivers (TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160). + * The default SW SPI pins are defined the respective pins files, + * but you can override or define them here. + */ + //#define TMC_USE_SW_SPI + //#define TMC_SW_MOSI -1 + //#define TMC_SW_MISO -1 + //#define TMC_SW_SCK -1 + + /** + * Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses. + * Set the address using jumpers on pins MS1 and MS2. + * Address | MS1 | MS2 + * 0 | LOW | LOW + * 1 | HIGH | LOW + * 2 | LOW | HIGH + * 3 | HIGH | HIGH + * + * Set *_SERIAL_TX_PIN and *_SERIAL_RX_PIN to match for all drivers + * on the same serial port, either here or in your board's pins file. + */ + #define X_SLAVE_ADDRESS 0 + #define Y_SLAVE_ADDRESS 0 + #define Z_SLAVE_ADDRESS 0 + #define X2_SLAVE_ADDRESS 0 + #define Y2_SLAVE_ADDRESS 0 + #define Z2_SLAVE_ADDRESS 0 + #define Z3_SLAVE_ADDRESS 0 + #define E0_SLAVE_ADDRESS 0 + #define E1_SLAVE_ADDRESS 0 + #define E2_SLAVE_ADDRESS 0 + #define E3_SLAVE_ADDRESS 0 + #define E4_SLAVE_ADDRESS 0 + #define E5_SLAVE_ADDRESS 0 + + /** + * Software enable + * + * Use for drivers that do not use a dedicated enable pin, but rather handle the same + * function through a communication line such as SPI or UART. + */ + //#define SOFTWARE_DRIVER_ENABLE + + /** + * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only + * Use Trinamic's ultra quiet stepping mode. + * When disabled, Marlin will use spreadCycle stepping mode. + */ + #define STEALTHCHOP_XY + #define STEALTHCHOP_Z + #define STEALTHCHOP_E + + /** + * Optimize spreadCycle chopper parameters by using predefined parameter sets + * or with the help of an example included in the library. + * Provided parameter sets are + * CHOPPER_DEFAULT_12V + * CHOPPER_DEFAULT_19V + * CHOPPER_DEFAULT_24V + * CHOPPER_DEFAULT_36V + * CHOPPER_PRUSAMK3_24V // Imported parameters from the official Prusa firmware for MK3 (24V) + * CHOPPER_MARLIN_119 // Old defaults from Marlin v1.1.9 + * + * Define you own with + * { , , hysteresis_start[1..8] } + */ + #define CHOPPER_TIMING CHOPPER_DEFAULT_12V + + /** + * Monitor Trinamic drivers for error conditions, + * like overtemperature and short to ground. + * In the case of overtemperature Marlin can decrease the driver current until error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. + * M911 - Report stepper driver overtemperature pre-warn condition. + * M912 - Clear stepper driver overtemperature pre-warn condition flag. + * M122 - Report driver parameters (Requires TMC_DEBUG) + */ + //#define MONITOR_DRIVER_STATUS + + #if ENABLED(MONITOR_DRIVER_STATUS) + #define CURRENT_STEP_DOWN 50 // [mA] + #define REPORT_CURRENT_CHANGE + #define STOP_ON_ERROR + #endif + + /** + * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only + * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD. + * This mode allows for faster movements at the expense of higher noise levels. + * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD. + * M913 X/Y/Z/E to live tune the setting + */ + //#define HYBRID_THRESHOLD + + #define X_HYBRID_THRESHOLD 100 // [mm/s] + #define X2_HYBRID_THRESHOLD 100 + #define Y_HYBRID_THRESHOLD 100 + #define Y2_HYBRID_THRESHOLD 100 + #define Z_HYBRID_THRESHOLD 3 + #define Z2_HYBRID_THRESHOLD 3 + #define Z3_HYBRID_THRESHOLD 3 + #define E0_HYBRID_THRESHOLD 30 + #define E1_HYBRID_THRESHOLD 30 + #define E2_HYBRID_THRESHOLD 30 + #define E3_HYBRID_THRESHOLD 30 + #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 + + /** + * Use StallGuard2 to home / probe X, Y, Z. + * + * TMC2130, TMC2160, TMC2209, TMC2660, TMC5130, and TMC5160 only + * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. + * X, Y, and Z homing will always be done in spreadCycle mode. + * + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) + * + * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. + * + * SPI_ENDSTOPS *** Beta feature! *** TMC2130 Only *** + * Poll the driver through SPI to determine load when homing. + * Removes the need for a wire from DIAG1 to an endstop pin. + * + * IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when + * homing and adds a guard period for endstop triggering. + */ + //#define SENSORLESS_HOMING // StallGuard capable drivers only + + /** + * Use StallGuard2 to probe the bed with the nozzle. + * + * CAUTION: This could cause damage to machines that use a lead screw or threaded rod + * to move the Z axis. Take extreme care when attempting to enable this feature. + */ + //#define SENSORLESS_PROBING // StallGuard capable drivers only + + #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) + // TMC2209: 0...255. TMC2130: -64...63 + #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY + #define Y_STALL_SENSITIVITY 8 + //#define Z_STALL_SENSITIVITY 8 + //#define SPI_ENDSTOPS // TMC2130 only + //#define IMPROVE_HOMING_RELIABILITY + #endif + + /** + * Beta feature! + * Create a 50/50 square wave step pulse optimal for stepper drivers. + */ + //#define SQUARE_WAVE_STEPPING + + /** + * Enable M122 debugging command for TMC stepper drivers. + * M122 S0/1 will enable continous reporting. + */ + //#define TMC_DEBUG + + /** + * You can set your own advanced settings by filling in predefined functions. + * A list of available functions can be found on the library github page + * https://github.com/teemuatlut/TMCStepper + * + * Example: + * #define TMC_ADV() { \ + * stepperX.diag0_temp_prewarn(1); \ + * stepperY.interpolate(0); \ + * } + */ + #define TMC_ADV() { } + +#endif // HAS_TRINAMIC + +// @section L6470 + +/** + * L6470 Stepper Driver options + * + * Arduino-L6470 library (0.7.0 or higher) is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 + * + * Requires the following to be defined in your pins_YOUR_BOARD file + * L6470_CHAIN_SCK_PIN + * L6470_CHAIN_MISO_PIN + * L6470_CHAIN_MOSI_PIN + * L6470_CHAIN_SS_PIN + * L6470_RESET_CHAIN_PIN (optional) + */ +#if HAS_DRIVER(L6470) + + //#define L6470_CHITCHAT // Display additional status info + + #if AXIS_DRIVER_TYPE_X(L6470) + #define X_MICROSTEPS 128 // Number of microsteps (VALID: 1, 2, 4, 8, 16, 32, 128) + #define X_OVERCURRENT 2000 // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down) + #define X_STALLCURRENT 1500 // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) - 4A max - rounds down) + #define X_MAX_VOLTAGE 127 // 0-255, Maximum effective voltage seen by stepper + #define X_CHAIN_POS 0 // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI + #endif + + #if AXIS_DRIVER_TYPE_X2(L6470) + #define X2_MICROSTEPS 128 + #define X2_OVERCURRENT 2000 + #define X2_STALLCURRENT 1500 + #define X2_MAX_VOLTAGE 127 + #define X2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Y(L6470) + #define Y_MICROSTEPS 128 + #define Y_OVERCURRENT 2000 + #define Y_STALLCURRENT 1500 + #define Y_MAX_VOLTAGE 127 + #define Y_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Y2(L6470) + #define Y2_MICROSTEPS 128 + #define Y2_OVERCURRENT 2000 + #define Y2_STALLCURRENT 1500 + #define Y2_MAX_VOLTAGE 127 + #define Y2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Z(L6470) + #define Z_MICROSTEPS 128 + #define Z_OVERCURRENT 2000 + #define Z_STALLCURRENT 1500 + #define Z_MAX_VOLTAGE 127 + #define Z_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Z2(L6470) + #define Z2_MICROSTEPS 128 + #define Z2_OVERCURRENT 2000 + #define Z2_STALLCURRENT 1500 + #define Z2_MAX_VOLTAGE 127 + #define Z2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_Z3(L6470) + #define Z3_MICROSTEPS 128 + #define Z3_OVERCURRENT 2000 + #define Z3_STALLCURRENT 1500 + #define Z3_MAX_VOLTAGE 127 + #define Z3_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E0(L6470) + #define E0_MICROSTEPS 128 + #define E0_OVERCURRENT 2000 + #define E0_STALLCURRENT 1500 + #define E0_MAX_VOLTAGE 127 + #define E0_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E1(L6470) + #define E1_MICROSTEPS 128 + #define E1_OVERCURRENT 2000 + #define E1_STALLCURRENT 1500 + #define E1_MAX_VOLTAGE 127 + #define E1_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E2(L6470) + #define E2_MICROSTEPS 128 + #define E2_OVERCURRENT 2000 + #define E2_STALLCURRENT 1500 + #define E2_MAX_VOLTAGE 127 + #define E2_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E3(L6470) + #define E3_MICROSTEPS 128 + #define E3_OVERCURRENT 2000 + #define E3_STALLCURRENT 1500 + #define E3_MAX_VOLTAGE 127 + #define E3_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E4(L6470) + #define E4_MICROSTEPS 128 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #define E4_MAX_VOLTAGE 127 + #define E4_CHAIN_POS 0 + #endif + + #if AXIS_DRIVER_TYPE_E5(L6470) + #define E5_MICROSTEPS 128 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #define E5_MAX_VOLTAGE 127 + #define E5_CHAIN_POS 0 + #endif + + /** + * Monitor L6470 drivers for error conditions like over temperature and over current. + * In the case of over temperature Marlin can decrease the drive until the error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - I1/2/3/4/5 Set or get motor drive level using axis codes X, Y, Z, E. Report values if no axis codes given. + * I not present or I0 or I1 - X, Y, Z or E0 + * I2 - X2, Y2, Z2 or E1 + * I3 - Z3 or E3 + * I4 - E4 + * I5 - E5 + * M916 - Increase drive level until get thermal warning + * M917 - Find minimum current thresholds + * M918 - Increase speed until max or error + * M122 S0/1 - Report driver parameters + */ + //#define MONITOR_L6470_DRIVER_STATUS + + #if ENABLED(MONITOR_L6470_DRIVER_STATUS) + #define KVAL_HOLD_STEP_DOWN 1 + //#define L6470_STOP_ON_ERROR + #endif + +#endif // L6470 + +/** + * TWI/I2C BUS + * + * This feature is an EXPERIMENTAL feature so it shall not be used on production + * machines. Enabling this will allow you to send and receive I2C data from slave + * devices on the bus. + * + * ; Example #1 + * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) + * ; It uses multiple M260 commands with one B arg + * M260 A99 ; Target slave address + * M260 B77 ; M + * M260 B97 ; a + * M260 B114 ; r + * M260 B108 ; l + * M260 B105 ; i + * M260 B110 ; n + * M260 S1 ; Send the current buffer + * + * ; Example #2 + * ; Request 6 bytes from slave device with address 0x63 (99) + * M261 A99 B5 + * + * ; Example #3 + * ; Example serial output of a M261 request + * echo:i2c-reply: from:99 bytes:5 data:hello + */ + +// @section i2cbus + +//#define EXPERIMENTAL_I2CBUS +#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave + +// @section extras + +/** + * Photo G-code + * Add the M240 G-code to take a photo. + * The photo can be triggered by a digital pin or a physical movement. + */ +//#define PHOTO_GCODE +#if ENABLED(PHOTO_GCODE) + // A position to move to (and raise Z) before taking the photo + //#define PHOTO_POSITION { X_MAX_POS - 5, Y_MAX_POS, 0 } // { xpos, ypos, zraise } (M240 X Y Z) + //#define PHOTO_DELAY_MS 100 // (ms) Duration to pause before moving back (M240 P) + //#define PHOTO_RETRACT_MM 6.5 // (mm) E retract/recover for the photo move (M240 R S) + + // Canon RC-1 or homebrew digital camera trigger + // Data from: http://www.doc-diy.net/photo/rc-1_hacked/ + //#define PHOTOGRAPH_PIN 23 + + // Canon Hack Development Kit + // http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ + //#define CHDK_PIN 4 + + // Optional second move with delay to trigger the camera shutter + //#define PHOTO_SWITCH_POSITION { X_MAX_POS, Y_MAX_POS } // { xpos, ypos } (M240 I J) + + // Duration to hold the switch or keep CHDK_PIN high + //#define PHOTO_SWITCH_MS 50 // (ms) (M240 D) +#endif + +/** + * Spindle & Laser control + * + * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and + * to set spindle speed, spindle direction, and laser power. + * + * SuperPid is a router/spindle speed controller used in the CNC milling community. + * Marlin can be used to turn the spindle on and off. It can also be used to set + * the spindle speed from 5,000 to 30,000 RPM. + * + * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V + * hardware PWM pin for the speed control and a pin for the rotation direction. + * + * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details. + */ +//#define SPINDLE_FEATURE +//#define LASER_FEATURE +#if EITHER(SPINDLE_FEATURE, LASER_FEATURE) + #define SPINDLE_LASER_ACTIVE_HIGH false // Set to "true" if the on/off function is active HIGH + #define SPINDLE_LASER_PWM true // Set to "true" if your controller supports setting the speed/power + #define SPINDLE_LASER_PWM_INVERT true // Set to "true" if the speed/power goes up when you want it to go slower + #define SPINDLE_LASER_POWERUP_DELAY 5000 // (ms) Delay to allow the spindle/laser to come up to speed/power + #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // (ms) Delay to allow the spindle to stop + + #if ENABLED(SPINDLE_FEATURE) + //#define SPINDLE_CHANGE_DIR // Enable if your spindle controller can change spindle direction + #define SPINDLE_CHANGE_DIR_STOP // Enable if the spindle should stop before changing spin direction + #define SPINDLE_INVERT_DIR false // Set to "true" if the spin direction is reversed + + /** + * The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power + * + * SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT + * where PWM duty cycle varies from 0 to 255 + * + * set the following for your controller (ALL MUST BE SET) + */ + #define SPEED_POWER_SLOPE 118.4 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 5000 + #define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM + #else + #define SPEED_POWER_SLOPE 0.3922 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 10 + #define SPEED_POWER_MAX 100 // 0-100% + #endif +#endif + +/** + * Coolant Control + * + * Add the M7, M8, and M9 commands to turn mist or flood coolant on and off. + * + * Note: COOLANT_MIST_PIN and/or COOLANT_FLOOD_PIN must also be defined. + */ +//#define COOLANT_CONTROL +#if ENABLED(COOLANT_CONTROL) + #define COOLANT_MIST // Enable if mist coolant is present + #define COOLANT_FLOOD // Enable if flood coolant is present + #define COOLANT_MIST_INVERT false // Set "true" if the on/off function is reversed + #define COOLANT_FLOOD_INVERT false // Set "true" if the on/off function is reversed +#endif + +/** + * Filament Width Sensor + * + * Measures the filament width in real-time and adjusts + * flow rate to compensate for any irregularities. + * + * Also allows the measured filament diameter to set the + * extrusion rate, so the slicer only has to specify the + * volume. + * + * Only a single extruder is supported at this time. + * + * 34 RAMPS_14 : Analog input 5 on the AUX2 connector + * 81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 RAMBO : Analog input 3 + * + * Note: May require analog pins to be defined for other boards. + */ +//#define FILAMENT_WIDTH_SENSOR + +#if ENABLED(FILAMENT_WIDTH_SENSOR) + #define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor. :[0,1,2,3,4] + #define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber + + #define FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it + #define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM. + + #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially + + // Display filament width on the LCD status line. Status messages will expire after 5 seconds. + //#define FILAMENT_LCD_DISPLAY +#endif + +/** + * CNC Coordinate Systems + * + * Enables G53 and G54-G59.3 commands to select coordinate systems + * and G92.1 to reset the workspace to native machine space. + */ +//#define CNC_COORDINATE_SYSTEMS + +/** + * Auto-report temperatures with M155 S + */ +#define AUTO_REPORT_TEMPERATURES + +/** + * Include capabilities in M115 output + */ +#define EXTENDED_CAPABILITIES_REPORT + +/** + * Expected Printer Check + * Add the M16 G-code to compare a string to the MACHINE_NAME. + * M16 with a non-matching string causes the printer to halt. + */ +//#define EXPECTED_PRINTER_CHECK + +/** + * Disable all Volumetric extrusion options + */ +//#define NO_VOLUMETRICS + +#if DISABLED(NO_VOLUMETRICS) + /** + * Volumetric extrusion default state + * Activate to make volumetric extrusion the default method, + * with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter. + * + * M200 D0 to disable, M200 Dn to set a new diameter. + */ + //#define VOLUMETRIC_DEFAULT_ON +#endif + +/** + * Enable this option for a leaner build of Marlin that removes all + * workspace offsets, simplifying coordinate transformations, leveling, etc. + * + * - M206 and M428 are disabled. + * - G92 will revert to its behavior from Marlin 1.0. + */ +//#define NO_WORKSPACE_OFFSETS + +/** + * Set the number of proportional font spaces required to fill up a typical character space. + * This can help to better align the output of commands like `G29 O` Mesh Output. + * + * For clients that use a fixed-width font (like OctoPrint), leave this set to 1.0. + * Otherwise, adjust according to your client and font. + */ +#define PROPORTIONAL_FONT_RATIO 1.0 + +/** + * Spend 28 bytes of SRAM to optimize the GCode parser + */ +#define FASTER_GCODE_PARSER + +/** + * CNC G-code options + * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. + */ +//#define PAREN_COMMENTS // Support for parentheses-delimited comments +//#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. + +// Enable and set a (default) feedrate for all G0 moves +//#define G0_FEEDRATE 3000 // (mm/m) +#ifdef G0_FEEDRATE + //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode +#endif + +/** + * Startup commands + * + * Execute certain G-code commands immediately after power-on. + */ +//#define STARTUP_COMMANDS "M17 Z" + +/** + * G-code Macros + * + * Add G-codes M810-M819 to define and run G-code macros. + * Macros are not saved to EEPROM. + */ +//#define GCODE_MACROS +#if ENABLED(GCODE_MACROS) + #define GCODE_MACROS_SLOTS 5 // Up to 10 may be used + #define GCODE_MACROS_SLOT_SIZE 50 // Maximum length of a single macro +#endif + +/** + * User-defined menu items that execute custom GCode + */ +//#define CUSTOM_USER_MENUS +#if ENABLED(CUSTOM_USER_MENUS) + //#define CUSTOM_USER_MENU_TITLE "Custom Commands" + #define USER_SCRIPT_DONE "M117 User Script Done" + #define USER_SCRIPT_AUDIBLE_FEEDBACK + //#define USER_SCRIPT_RETURN // Return to status screen after a script + + #define USER_DESC_1 "Home & UBL Info" + #define USER_GCODE_1 "G28\nG29 W" + + #define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL + #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) + + #define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL + #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) + + #define USER_DESC_4 "Heat Bed/Home/Level" + #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" + + #define USER_DESC_5 "Home & Info" + #define USER_GCODE_5 "G28\nM503" +#endif + +/** + * Host Action Commands + * + * Define host streamer action commands in compliance with the standard. + * + * See https://reprap.org/wiki/G-code#Action_commands + * Common commands ........ poweroff, pause, paused, resume, resumed, cancel + * G29_RETRY_AND_RECOVER .. probe_rewipe, probe_failed + * + * Some features add reason codes to extend these commands. + * + * Host Prompt Support enables Marlin to use the host for user prompts so + * filament runout and other processes can be managed from the host side. + */ +//#define HOST_ACTION_COMMANDS +#if ENABLED(HOST_ACTION_COMMANDS) + //#define HOST_PROMPT_SUPPORT +#endif + +/** + * I2C position encoders for closed loop control. + * Developed by Chris Barr at Aus3D. + * + * Wiki: http://wiki.aus3d.com.au/Magnetic_Encoder + * Github: https://github.com/Aus3D/MagneticEncoder + * + * Supplier: http://aus3d.com.au/magnetic-encoder-module + * Alternative Supplier: http://reliabuild3d.com/ + * + * Reliabuild encoders have been modified to improve reliability. + */ + +//#define I2C_POSITION_ENCODERS +#if ENABLED(I2C_POSITION_ENCODERS) + + #define I2CPE_ENCODER_CNT 1 // The number of encoders installed; max of 5 + // encoders supported currently. + + #define I2CPE_ENC_1_ADDR I2CPE_PRESET_ADDR_X // I2C address of the encoder. 30-200. + #define I2CPE_ENC_1_AXIS X_AXIS // Axis the encoder module is installed on. _AXIS. + #define I2CPE_ENC_1_TYPE I2CPE_ENC_TYPE_LINEAR // Type of encoder: I2CPE_ENC_TYPE_LINEAR -or- + // I2CPE_ENC_TYPE_ROTARY. + #define I2CPE_ENC_1_TICKS_UNIT 2048 // 1024 for magnetic strips with 2mm poles; 2048 for + // 1mm poles. For linear encoders this is ticks / mm, + // for rotary encoders this is ticks / revolution. + //#define I2CPE_ENC_1_TICKS_REV (16 * 200) // Only needed for rotary encoders; number of stepper + // steps per full revolution (motor steps/rev * microstepping) + //#define I2CPE_ENC_1_INVERT // Invert the direction of axis travel. + #define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP // Type of error error correction. + #define I2CPE_ENC_1_EC_THRESH 0.10 // Threshold size for error (in mm) above which the + // printer will attempt to correct the error; errors + // smaller than this are ignored to minimize effects of + // measurement noise / latency (filter). + + #define I2CPE_ENC_2_ADDR I2CPE_PRESET_ADDR_Y // Same as above, but for encoder 2. + #define I2CPE_ENC_2_AXIS Y_AXIS + #define I2CPE_ENC_2_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_ENC_2_TICKS_UNIT 2048 + //#define I2CPE_ENC_2_TICKS_REV (16 * 200) + //#define I2CPE_ENC_2_INVERT + #define I2CPE_ENC_2_EC_METHOD I2CPE_ECM_MICROSTEP + #define I2CPE_ENC_2_EC_THRESH 0.10 + + #define I2CPE_ENC_3_ADDR I2CPE_PRESET_ADDR_Z // Encoder 3. Add additional configuration options + #define I2CPE_ENC_3_AXIS Z_AXIS // as above, or use defaults below. + + #define I2CPE_ENC_4_ADDR I2CPE_PRESET_ADDR_E // Encoder 4. + #define I2CPE_ENC_4_AXIS E_AXIS + + #define I2CPE_ENC_5_ADDR 34 // Encoder 5. + #define I2CPE_ENC_5_AXIS E_AXIS + + // Default settings for encoders which are enabled, but without settings configured above. + #define I2CPE_DEF_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_DEF_ENC_TICKS_UNIT 2048 + #define I2CPE_DEF_TICKS_REV (16 * 200) + #define I2CPE_DEF_EC_METHOD I2CPE_ECM_NONE + #define I2CPE_DEF_EC_THRESH 0.1 + + //#define I2CPE_ERR_THRESH_ABORT 100.0 // Threshold size for error (in mm) error on any given + // axis after which the printer will abort. Comment out to + // disable abort behavior. + + #define I2CPE_TIME_TRUSTED 10000 // After an encoder fault, there must be no further fault + // for this amount of time (in ms) before the encoder + // is trusted again. + + /** + * Position is checked every time a new command is executed from the buffer but during long moves, + * this setting determines the minimum update time between checks. A value of 100 works well with + * error rolling average when attempting to correct only for skips and not for vibration. + */ + #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks. + + // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. + #define I2CPE_ERR_ROLLING_AVERAGE + +#endif // I2C_POSITION_ENCODERS + +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + +/** + * MAX7219 Debug Matrix + * + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. + */ +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 + //#define MAX7219_REVERSE_ORDER // The individual LED matrix units may be in reversed order + //#define MAX7219_SIDE_BY_SIDE // Big chip+matrix boards can be chained side-by-side + + /** + * Sample debug features + * If you add more debug displays, be careful to avoid conflicts! + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row + + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row + // If you experience stuttering, reboots, etc. this option can reveal how + // tweaks made to the configuration are affecting the printer in real-time. +#endif + +/** + * NanoDLP Sync support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + */ +//#define NANODLP_Z_SYNC +#if ENABLED(NANODLP_Z_SYNC) + //#define NANODLP_ALL_AXIS // Enables "Z_move_comp" output on any axis move. + // Default behavior is limited to Z axis only. +#endif + +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" + //#define WEBSUPPORT // Start a webserver with auto-discovery + //#define OTASUPPORT // Support over-the-air firmware updates +#endif + +/** + * Prusa Multi-Material Unit v2 + * Enable in Configuration.h + */ +#if ENABLED(PRUSA_MMU2) + + // Serial port used for communication with MMU2. + // For AVR enable the UART port used for the MMU. (e.g., internalSerial) + // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2) + #define INTERNAL_SERIAL_PORT 2 + #define MMU2_SERIAL internalSerial + + // Use hardware reset for MMU if a pin is defined for it + //#define MMU2_RST_PIN 23 + + // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up) + //#define MMU2_MODE_12V + + // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout + #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600" + + // Add an LCD menu for MMU2 + //#define MMU2_MENUS + #if ENABLED(MMU2_MENUS) + // Settings for filament load / unload from the LCD menu. + // This is for Prusa MK3-style extruders. Customize for your hardware. + #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0 + #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \ + { 7.2, 562 }, \ + { 14.4, 871 }, \ + { 36.0, 1393 }, \ + { 14.4, 871 }, \ + { 50.0, 198 } + + #define MMU2_RAMMING_SEQUENCE \ + { 1.0, 1000 }, \ + { 1.0, 1500 }, \ + { 2.0, 2000 }, \ + { 1.5, 3000 }, \ + { 2.5, 4000 }, \ + { -15.0, 5000 }, \ + { -14.0, 1200 }, \ + { -6.0, 600 }, \ + { 10.0, 700 }, \ + { -10.0, 400 }, \ + { -50.0, 2000 } + + #endif + + //#define MMU2_DEBUG // Write debug info to serial output + +#endif // PRUSA_MMU2 + +/** + * Advanced Print Counter settings + */ +#if ENABLED(PRINTCOUNTER) + #define SERVICE_WARNING_BUZZES 3 + // Activate up to 3 service interval watchdogs + //#define SERVICE_NAME_1 "Service S" + //#define SERVICE_INTERVAL_1 100 // print hours + //#define SERVICE_NAME_2 "Service L" + //#define SERVICE_INTERVAL_2 200 // print hours + //#define SERVICE_NAME_3 "Service 3" + //#define SERVICE_INTERVAL_3 1 // print hours +#endif + +// @section develop + +/** + * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins + */ +//#define PINS_DEBUGGING + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE diff --git a/config/examples/Alfawise/U20-bltouch/_Statusscreen.h b/config/examples/Alfawise/U20-bltouch/_Statusscreen.h new file mode 100644 index 0000000000..519c0d06f4 --- /dev/null +++ b/config/examples/Alfawise/U20-bltouch/_Statusscreen.h @@ -0,0 +1,77 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * http://marlinfw.org/tools/u8glib/converter.html + */ + +#pragma once + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 0 +#define STATUS_LOGO_WIDTH 38 + +static unsigned char status_logo_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11111100, + B10000000,B00000000,B00010000,B00000111,B11111100, + B10000000,B00000000,B00010000,B00000000,B11111100, + B10000000,B00000000,B00110000,B00000000,B01111100, + B10000000,B00000000,B00110000,B00000000,B00111100, + B10000000,B00000000,B01110000,B00000000,B00011100, + B11111111,B10000000,B01110000,B00000000,B00001100, + B11111111,B10000000,B11110000,B11100000,B00001100, + B11111111,B00000000,B11110000,B11111000,B00001100, + B11111111,B00000001,B11110000,B11111100,B00000100, + B11111110,B00000001,B11110000,B11010010,B00000100, + B11111110,B00000011,B11110000,B10101110,B00000100, + B11111100,B00000000,B11110000,B10101111,B00000100, + B11111100,B00000000,B00110000,B10000011,B00000100, + B11111000,B00000000,B00110000,B11111111,B00000100, + B11111000,B00000000,B00010000,B11111111,B00000100, + B11111111,B11100000,B00010000,B10111111,B00000100, + B11111111,B11110000,B00010000,B10101111,B00000100, + B11111111,B11110000,B00010000,B10101110,B00000100, + B11111111,B11110000,B00010000,B10000010,B00000100, + B10000011,B11110000,B00010000,B11111100,B00000100, + B10000001,B11110000,B00010000,B11111000,B00001100, + B10000001,B11100000,B00010000,B11100000,B00001100, + B10000000,B00000000,B00010000,B00000000,B00001100, + B10000000,B00000000,B00110000,B00000000,B00011100, + B11000000,B00000000,B00110000,B00000000,B00111100, + B11000000,B00000000,B01110000,B00000000,B01111100, + B11100000,B00000000,B11110000,B00000000,B11111100, + B11111000,B00000011,B11110000,B00000111,B11111100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_LOGO_X 0 +#define STATUS_HEATERS_X 50 +#define STATUS_BED_X 74 diff --git a/config/examples/Alfawise/U20/Configuration.h b/config/examples/Alfawise/U20/Configuration.h index f0c135129f..9186d0c843 100644 --- a/config/examples/Alfawise/U20/Configuration.h +++ b/config/examples/Alfawise/U20/Configuration.h @@ -75,50 +75,28 @@ // Forum link to help with a tutorial, in French! : // https://www.lesimprimantes3d.fr/forum/topic/18260-alfawise-u20x-u30-marlin-2x-firmware-alternatif/ // -// 1 - Select your Alfawise U30 or U20 or U20+ printer (NO MORE REQUIRED HERE), +// 1 - Select your Alfawise U30 or U20 or U20+ printer (NO MORE REQUIRED HERE) +// and the touchscreen version, either 1.1 or 1.2. Most recent in France are v1.2 (blue pcb) // These defines are set in platformio.ini build parameters, sample for U20 -DU20 -DTS_V12 -// U20_PLUS is not tested, as we do not have a printer to test. -// Print bed PID settings MUST be tuned +// U20_PLUS was not tested, as we do not have a printer to test. Print bed PID settings MUST be tuned for it. -//#define U20_PLUS -//#define U20 -//#define U30 +// Valid platformio.ini submodel values are U20_PLUS U20 U30 LK1 LK2 LK4 + +// Valid platformio.ini touchscreens are TS_V11 TS_V12 // 2 - Select the screen controller type. Most common is ILI9341 - First option. If your screen remains white, // Try the alternate setting - this should enable ST7789V or ILI9328. For other LCDs... code is needed // with the proper boot sequence to be developped. -#define LCD_READ_ID 0xD3 // Read display identification information in reg ID4 0xD3, for ILI9341 screens -//#define LCD_READ_ID 0x04 // Read display identification information in reg ID1 0x04 - ST7789V / ILI9328 or others - -// 3 - Select the touch panel version, either 1.1 or 1.2. Most recent touch panel in France are V 1.2. Blue PCB -// V1.1 panels seem to be older, and came with green PCB. This selection only influence the calibration data -// Should calibration need to be redone, please follow the French Tutorial! (NO MORE REQUIRED HERE) - -//#define TS_V11 -//#define TS_V12 - -// 4 - If you want to tune the UI colors, define custom ones here. RGB 16 bits 5-6-5 format -// see https://ee-programming-notepad.blogspot.com/2016/10/16-bit-color-generator-picker.html - -//#define TFT_MARLINUI_COLOR 0xFFFF // White -//#define TFT_MARLINBG_COLOR 0x0000 // Black -//#define TFT_TOPICONS_COLOR 0x21DD // Blue -//#define TFT_DISABLED_COLOR 0x0003 // Almost black -//#define TFT_BTSLEFT_COLOR 0xDEE6 // 11011 110111 00110 Yellow -//#define TFT_BTRIGHT_COLOR 0x145F // 00010 100010 11111 Cyan +#define LCD_READ_ID 0xD3 // Read display identification information in reg ID4 0xD3, for ILI9341 screens +//#define LCD_READ_ID 0x04 // Read display identification information in reg ID1 0x04 - ST7789V / ILI9328 or others //=========================================================================== // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "Hobi, tpruvot" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -131,10 +109,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -185,6 +166,12 @@ #define CUSTOM_MACHINE_NAME "Alfawise U30" #elif defined(U20_PLUS) #define CUSTOM_MACHINE_NAME "Alfawise U20+" +#elif defined(LK1) +#define CUSTOM_MACHINE_NAME "Longer3D LK1" +#elif defined(LK2) +#define CUSTOM_MACHINE_NAME "Longer3D LK2" +#elif defined(LK4) +#define CUSTOM_MACHINE_NAME "Longer3D LK4" #endif // Printer's unique ID, used by some programs to differentiate between machines. @@ -591,27 +578,28 @@ //#define DEFAULT_bedKi 1.41 //#define DEFAULT_bedKd 1675.16 -#if ENABLED(U30) +#if defined(U30) || defined(LK2) || defined(LK4) //From M303 command for Alfawise U30 : #define DEFAULT_bedKp 338.46 #define DEFAULT_bedKi 63.96 #define DEFAULT_bedKd 447.78 #endif -#if ENABLED(U20) +#if defined(U20) || defined(LK1) //From M303 command for Alfawise U20 : #define DEFAULT_bedKp 841.68 #define DEFAULT_bedKi 152.12 #define DEFAULT_bedKd 1164.25 #endif -#if ENABLED(U20_PLUS) // The PID setting MUST be updated. - //From M303 command for Alfawise U20 : +#ifdef U20_PLUS + // These PID setting MUST be updated. + // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. #define DEFAULT_bedKp 841.68 #define DEFAULT_bedKi 152.12 #define DEFAULT_bedKd 1164.25 #endif - // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. + #endif // PIDTEMPBED // @section extruder @@ -965,11 +953,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -981,10 +968,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -1018,7 +1005,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1114,19 +1101,19 @@ // @section machine -#if ENABLED(U30) +#if defined(U30) || defined(LK2) || defined(LK4) #define X_BED_SIZE 220 #define Y_BED_SIZE 220 #define Z_MACHINE_MAX 250 #endif -#if ENABLED(U20) +#if defined(U20) || defined(LK1) #define X_BED_SIZE 300 #define Y_BED_SIZE 300 #define Z_MACHINE_MAX 400 #endif -#if ENABLED(U20_PLUS) +#ifdef U20_PLUS #define X_BED_SIZE 400 #define Y_BED_SIZE 400 #define Z_MACHINE_MAX 500 @@ -1290,12 +1277,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1349,19 +1330,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1415,7 +1383,7 @@ #if ENABLED(Z_SAFE_HOMING) #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). - #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT 4 // Y point for Z homing when homing all axes (G28). #endif // Homing speeds (mm/m) @@ -1610,7 +1578,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1669,10 +1637,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2141,7 +2109,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // #define FSMC_GRAPHICAL_TFT @@ -2156,6 +2124,9 @@ #if ENABLED(TOUCH_BUTTONS) #define TOUCH_CALIBRATION // Include user calibration widget in menus (Alfawise) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 100 // (ms) Button repeat delay for menus + #if ENABLED(TS_V11) // Alfawise U20 ILI9341 2.8 TP Ver 1.1 / Green PCB on the back of touchscreen #define XPT2046_X_CALIBRATION 11605 @@ -2177,11 +2148,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2309,7 +2277,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Alfawise/U20/Configuration_adv.h b/config/examples/Alfawise/U20/Configuration_adv.h index 73c219a9a8..56ac66671d 100644 --- a/config/examples/Alfawise/U20/Configuration_adv.h +++ b/config/examples/Alfawise/U20/Configuration_adv.h @@ -138,7 +138,7 @@ */ #if ENABLED(THERMAL_PROTECTION_HOTENDS) #define THERMAL_PROTECTION_PERIOD 60 // Seconds - #define THERMAL_PROTECTION_HYSTERESIS 10 // Degrees Celsius + #define THERMAL_PROTECTION_HYSTERESIS 10 // Degrees Celsius //#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops #if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP) @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -919,9 +918,9 @@ #define SD_MENU_CONFIRM_START // Confirm the selected SD file before printing - #define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files + #define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files - #define EVENT_GCODE_SD_STOP "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27") + #define EVENT_GCODE_SD_STOP "G28X" // G-code to run on Stop Print (e.g., "G28XY" or "G27") /** * Continue after Power-Loss (Creality3D) @@ -976,10 +975,10 @@ #if ENABLED(SDCARD_SORT_ALPHA) #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. #define FOLDER_SORTING -1 // -1=above 0=none 1=below - #define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code. - #define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting. + #define SDSORT_GCODE true // Allow turning sorting on/off with LCD and M34 g-code. + #define SDSORT_USES_RAM true // Pre-allocate a static array for faster pre-sorting. #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.) - #define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option. + #define SDSORT_CACHE_NAMES true // Keep sorted items in RAM longer for speedy performance. Most expensive option. #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use! #define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting. // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM. @@ -1018,17 +1017,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1195,9 +1208,58 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + // see https://ee-programming-notepad.blogspot.com/2016/10/16-bit-color-generator-picker.html + #define TFT_MARLINUI_COLOR COLOR_WHITE + #define TFT_MARLINBG_COLOR COLOR_BLACK + #define TFT_DISABLED_COLOR 0x10A2 // almost black + #define TFT_BTCANCEL_COLOR COLOR_RED + #define TFT_BTARROWS_COLOR COLOR_WHITE + #define TFT_BTOKMENU_COLOR COLOR_BLUE #endif // @section safety @@ -1279,6 +1341,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1339,7 +1437,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1351,7 +1449,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1394,9 +1493,9 @@ // The number of linear motions that can be in the plan at any give time. // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. #if ENABLED(SDSUPPORT) - #define BLOCK_BUFFER_SIZE 32 // SD,LCD,Buttons take more memory, block buffer needs to be smaller + #define BLOCK_BUFFER_SIZE 32 #else - #define BLOCK_BUFFER_SIZE 16 // maximize block buffer + #define BLOCK_BUFFER_SIZE 16 // Marlin default #endif // @section serial @@ -1486,19 +1585,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1704,78 +1803,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1914,10 +2026,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1941,6 +2055,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2424,10 +2539,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2508,6 +2619,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/AliExpress/CL-260/Configuration.h b/config/examples/AliExpress/CL-260/Configuration.h index c1312b403a..342b6b94ee 100644 --- a/config/examples/AliExpress/CL-260/Configuration.h +++ b/config/examples/AliExpress/CL-260/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, CL-260)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/AliExpress/UM2pExt/Configuration.h b/config/examples/AliExpress/UM2pExt/Configuration.h index dfe21131f0..d24c75cdc9 100644 --- a/config/examples/AliExpress/UM2pExt/Configuration.h +++ b/config/examples/AliExpress/UM2pExt/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -901,11 +899,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -917,10 +914,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -954,7 +951,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1212,12 +1209,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1271,19 +1262,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1532,7 +1510,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1591,10 +1569,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2062,7 +2040,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2075,6 +2053,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2085,11 +2066,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2217,7 +2195,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/AliExpress/UM2pExt/Configuration_adv.h b/config/examples/AliExpress/UM2pExt/Configuration_adv.h index 4e72255df9..a488416522 100644 --- a/config/examples/AliExpress/UM2pExt/Configuration_adv.h +++ b/config/examples/AliExpress/UM2pExt/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ #define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Anet/A2/Configuration.h b/config/examples/Anet/A2/Configuration.h index cc07912b35..1a6c4b37f0 100644 --- a/config/examples/Anet/A2/Configuration.h +++ b/config/examples/Anet/A2/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Modmike, Anet A2)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -//#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -//#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +//#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges //#define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2053,7 +2031,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2066,6 +2044,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2076,11 +2057,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2208,7 +2186,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Anet/A2/Configuration_adv.h b/config/examples/Anet/A2/Configuration_adv.h index daf8c79723..3bed49adf5 100644 --- a/config/examples/Anet/A2/Configuration_adv.h +++ b/config/examples/Anet/A2/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Anet/A2plus/Configuration.h b/config/examples/Anet/A2plus/Configuration.h index f393c886dc..8ef0e7b11b 100644 --- a/config/examples/Anet/A2plus/Configuration.h +++ b/config/examples/Anet/A2plus/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Modmike, Anet A2 Plus)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -//#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -//#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +//#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges //#define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2053,7 +2031,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2066,6 +2044,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2076,11 +2057,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2208,7 +2186,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Anet/A2plus/Configuration_adv.h b/config/examples/Anet/A2plus/Configuration_adv.h index daf8c79723..3bed49adf5 100644 --- a/config/examples/Anet/A2plus/Configuration_adv.h +++ b/config/examples/Anet/A2plus/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Anet/A6/Configuration.h b/config/examples/Anet/A6/Configuration.h index a201a85439..8122d4cd19 100644 --- a/config/examples/Anet/A6/Configuration.h +++ b/config/examples/Anet/A6/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Ralf_E, ANET A6 config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -937,11 +935,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -953,31 +950,23 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -//#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -//#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +//#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // ANET A8: FRONT-MOUNTED SENSOR WITH 3D PRINTED MOUNT -//#define X_PROBE_OFFSET_FROM_EXTRUDER -28 // X offset: -left +right [of the nozzle] -//#define Y_PROBE_OFFSET_FROM_EXTRUDER -45 // Y offset: -front +behind [the nozzle] -//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +//#define NOZZLE_TO_PROBE_OFFSET { -28, -45, 0 } // THESE ARE FOR THE OFFICIAL ANET REAR-MOUNTED SENSOR -//#define X_PROBE_OFFSET_FROM_EXTRUDER -1 // X offset: -left +right [of the nozzle] -//#define Y_PROBE_OFFSET_FROM_EXTRUDER 3 // Y offset: -front +behind [the nozzle] -//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +//#define NOZZLE_TO_PROBE_OFFSET { -1, 3, 0 } // ANET A6 with BLTouch/3D-Touch mounted right to the nozzle -#define X_PROBE_OFFSET_FROM_EXTRUDER 39 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 39, 0, 0 } //ANET A6 with BLTouch/3D-Touch betwen Fan and Belt // (mount: https://github.com/ralf-e/ANET_A6_modifications/tree/master/A6_X-Axis) -//#define X_PROBE_OFFSET_FROM_EXTRUDER -30 // X offset: -left +right [of the nozzle] -//#define Y_PROBE_OFFSET_FROM_EXTRUDER 15 // Y offset: -front +behind [the nozzle] -//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.75 // Z offset: -below +above [the nozzle] +//#define NOZZLE_TO_PROBE_OFFSET { -30, 15, 0.75 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -1012,7 +1001,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1314,36 +1303,6 @@ #define GRID_MAX_POINTS_X 4 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION 15 - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - 15) - //#define FRONT_PROBE_BED_POSITION 15 - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - 15) - - // ANET A6 - //#define LEFT_PROBE_BED_POSITION 20 - //#define RIGHT_PROBE_BED_POSITION 190 - //#define FRONT_PROBE_BED_POSITION 20 - //#define BACK_PROBE_BED_POSITION 190 - - // ANET A6 BLTOUCH right (39mm) to the nozzle - //#define LEFT_PROBE_BED_POSITION 36 - //#define RIGHT_PROBE_BED_POSITION 190 - //#define FRONT_PROBE_BED_POSITION 20 - //#define BACK_PROBE_BED_POSITION 190 - - // ANET A6 with new X-Axis and modded Y-Axis - //#define LEFT_PROBE_BED_POSITION 20 - //#define RIGHT_PROBE_BED_POSITION 205 - //#define FRONT_PROBE_BED_POSITION 20 - //#define BACK_PROBE_BED_POSITION 205 - - // ANET A6 with new X-Axis and modded Y-Axis, X0/Y0 front left bed edge - //#define LEFT_PROBE_BED_POSITION 20 - //#define RIGHT_PROBE_BED_POSITION 194 - //#define FRONT_PROBE_BED_POSITION 20 - //#define BACK_PROBE_BED_POSITION 194 - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1397,19 +1356,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1672,7 +1618,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1731,10 +1677,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2204,7 +2150,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2217,6 +2163,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2227,11 +2176,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2359,7 +2305,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Anet/A6/Configuration_adv.h b/config/examples/Anet/A6/Configuration_adv.h index 74f54f24c8..01d8e89e11 100644 --- a/config/examples/Anet/A6/Configuration_adv.h +++ b/config/examples/Anet/A6/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Anet/A8/Configuration.h b/config/examples/Anet/A8/Configuration.h index f67c3797c0..eeae0493e3 100644 --- a/config/examples/Anet/A8/Configuration.h +++ b/config/examples/Anet/A8/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Bob Kuhn, Anet config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -903,11 +901,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -919,10 +916,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -956,7 +953,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1214,12 +1211,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1534,7 +1525,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1593,10 +1584,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2066,7 +2057,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2079,6 +2070,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2089,11 +2083,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2221,7 +2212,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Anet/A8/Configuration_adv.h b/config/examples/Anet/A8/Configuration_adv.h index b421f1c919..605afc09fb 100644 --- a/config/examples/Anet/A8/Configuration_adv.h +++ b/config/examples/Anet/A8/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Anet/A8plus/Configuration.h b/config/examples/Anet/A8plus/Configuration.h index 8d64b038da..06aee7111b 100644 --- a/config/examples/Anet/A8plus/Configuration.h +++ b/config/examples/Anet/A8plus/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Martin Zeman - Zemistr, Anet A8 Plus)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -901,11 +899,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -917,10 +914,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -954,7 +951,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1212,12 +1209,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1271,19 +1262,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1532,7 +1510,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1591,10 +1569,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2062,7 +2040,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2075,6 +2053,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2085,11 +2066,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2217,7 +2195,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Anet/A8plus/Configuration_adv.h b/config/examples/Anet/A8plus/Configuration_adv.h index 0657080c8e..3b759d3b3b 100644 --- a/config/examples/Anet/A8plus/Configuration_adv.h +++ b/config/examples/Anet/A8plus/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Anet/E16/Configuration.h b/config/examples/Anet/E16/Configuration.h index e92c834ac5..487ab36a57 100644 --- a/config/examples/Anet/E16/Configuration.h +++ b/config/examples/Anet/E16/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "InsanityAutomation" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -902,11 +900,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -918,10 +915,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -955,7 +952,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1213,12 +1210,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1272,19 +1263,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1533,7 +1511,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1592,10 +1570,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2063,7 +2041,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2076,6 +2054,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2086,11 +2067,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2218,7 +2196,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Anet/E16/Configuration_adv.h b/config/examples/Anet/E16/Configuration_adv.h index a5ef5fd6a9..c64d24c602 100644 --- a/config/examples/Anet/E16/Configuration_adv.h +++ b/config/examples/Anet/E16/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ #define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/AnimationExample/_Bootscreen.h b/config/examples/AnimationExample/_Bootscreen.h index 69fdca6f75..07d1d7ffd2 100644 --- a/config/examples/AnimationExample/_Bootscreen.h +++ b/config/examples/AnimationExample/_Bootscreen.h @@ -28,312 +28,166 @@ #define CUSTOM_BOOTSCREEN_ANIMATED #define CUSTOM_BOOTSCREEN_FRAME_TIME 100 // (ms) -#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 120 const unsigned char custom_start_bmp[] PROGMEM = { - B00011111,B11111111,B11111111,B11111111,B11111111,B11001111,B11111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001000,B00000000,B00000000,B00000000,B00000000,B11011000,B00000000,B00000000,B00000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001000,B00000000,B00000000,B00000000,B00000000,B10010000,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000100,B00000000,B00000000,B00000000,B00000001,B10100000,B00000000,B00000000,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000110,B00000000,B00000000,B00000000,B00000001,B01100000,B00000000,B00000000,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000010,B00000000,B00000000,B00000000,B00000010,B01000000,B00000000,B00000000,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000001,B11111111,B10000000,B01111111,B11111110,B11000000,B00000000,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B11111111,B11000000,B01111111,B00001000,B10000001,B11100000,B00111000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00100000,B01000000,B00000001,B00000011,B01000000,B01011000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B11111111,B10110000,B00100111,B11111001,B00000010,B01000000,B10010000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B01000000,B11010000,B00110110,B00001101,B10000110,B10000000,B10100000,B00100010,B00010000,B00000010,B10000000,B11110000,B00000000,B00000000,B00000000, - B00000000,B01100000,B01001000,B00010010,B00000100,B10000101,B10000001,B00100000,B01000011,B00110000,B00000010,B00000000,B00111000,B00000000,B00000000,B00000000, - B00000000,B00100000,B00101000,B00001011,B00000010,B11001001,B00000011,B01000000,B11000011,B00110011,B10011010,B10111000,B00011000,B10001000,B00100010,B00000000, - B00000000,B00110000,B00100100,B00001001,B00000011,B01001011,B00000010,B11000000,B10000011,B00110000,B10010010,B10100100,B00011000,B01110000,B00011100,B00000000, - B00000000,B00010000,B00010110,B00000100,B10000001,B00110010,B00000110,B10000001,B10000010,B11010011,B10010010,B10100100,B00110000,B00100000,B00001000,B00000000, - B00000000,B00001000,B00011010,B00000110,B10000001,B10110100,B00000101,B10000001,B00000010,B11010100,B10010010,B10100100,B01110000,B01110000,B00011100,B00000000, - B00000000,B00001100,B00001011,B00000010,B01000000,B10000100,B00001001,B00000010,B00000010,B00010011,B10010010,B10100100,B11111010,B10001010,B10100010,B00000000, - B00000000,B00000100,B00001101,B00000011,B01100000,B01001000,B00001010,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000110,B00000100,B10000001,B00100000,B01111000,B00010010,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000010,B00000010,B10000000,B10110000,B00110000,B00110100,B00001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000001,B00000010,B01000000,B10010000,B00000000,B00101100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000001,B00000001,B01100000,B01001000,B00000000,B01001000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B10000001,B10100000,B01101000,B00000000,B01011000,B00010001,B11110000,B00000000,B00000000,B00010000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B11000000,B10110000,B00100100,B00000000,B10010000,B00100000,B01000000,B00000000,B00000000,B00010000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B01000000,B11010000,B00110110,B00000001,B10100000,B01100000,B01000011,B00110111,B00011100,B11110011,B10000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B01100000,B01001000,B00010010,B00000001,B01100000,B01000000,B01000100,B10100100,B10000101,B10010100,B01000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00100000,B00101100,B00001011,B00000001,B01000000,B11000000,B01000100,B10100100,B10011101,B00010100,B01000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00010000,B00110100,B00001001,B00000001,B01000000,B10000000,B01000100,B10100100,B10100101,B00010100,B01000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00011000,B00010110,B00000100,B10000001,B00100001,B00000000,B01000011,B00100100,B10011100,B11110011,B10000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00001000,B00011010,B00000110,B10000001,B10100011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00001100,B00001001,B00000010,B01000000,B10010010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000100,B00000101,B00000011,B01100000,B01011110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000010,B00000100,B10000001,B00100000,B01101100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000010,B00000010,B11000000,B10110000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000001,B00000011,B01000000,B10010000,B00110000,B11110000,B10010000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000001,B10000001,B01100000,B01011000,B00010000,B10000000,B10000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B10000001,B10100000,B11010000,B00110000,B10000111,B10011110,B10111001,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B11000000,B10010000,B10010000,B00100000,B11101100,B10010100,B11000101,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B01000000,B01011001,B00100000,B01000000,B10001000,B10010100,B11000101,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00100000,B01001011,B01100000,B01000000,B10001100,B10010100,B11000101,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00110000,B00101110,B01000000,B10000000,B11110111,B10010110,B10111001,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00010000,B00110110,B11000001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00011000,B00010000,B10000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00001000,B00001001,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00001100,B00001001,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000100,B00000110,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000010,B00000110,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000011,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000001,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000001,B10000000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B10000000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B01000000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B01000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00110000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00011001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00001110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00001100,B00110000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00001100,B00110000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00001100,B00000000,B00001111, + B10001100,B00110000,B11000111,B10000011,B10001100,B00110000,B11100111, + B10001100,B00110000,B11001111,B11000111,B11001100,B00110001,B11110011, + B10001100,B00110000,B11011100,B11101100,B11101100,B00110011,B10111001, + B10001100,B00110000,B11011000,B01101100,B01101100,B00110011,B00011001, + B10001100,B00110000,B11010000,B01101100,B00001100,B00110011,B00011001, + B10001100,B00110000,B11011000,B01101100,B00001100,B00110011,B00011001, + B10001100,B00110000,B11011100,B01101100,B00001110,B00111011,B00011001, + B10001100,B00110000,B11001111,B01111100,B00000111,B10011111,B00011001, + B10001100,B00110000,B11000111,B01111100,B00000011,B10001111,B00011001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 }; #if ENABLED(CUSTOM_BOOTSCREEN_ANIMATED) const unsigned char custom_start_bmp1[] PROGMEM = { - B11111001,B11111111,B11111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00011011,B00000000,B00000000,B00000000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00010010,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00110100,B00000000,B00000000,B00000000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00101100,B00000000,B00000000,B00000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B01001000,B00000000,B00000000,B00000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B11011000,B00000000,B00000000,B00000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00010000,B00111100,B00000111,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00100000,B01101000,B00001011,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00100000,B01001000,B00010010,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B10110000,B11010000,B00010100,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B10010000,B10110000,B00100100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B01011001,B00100000,B01101000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B01101001,B01100000,B01011000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00100110,B01000000,B11010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00110110,B10000000,B10110000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00010000,B10000001,B00100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001001,B00000001,B01000000,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001111,B00000010,B01000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000110,B00000110,B10000001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000101,B10000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00001001,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00001011,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B10000000,B00010010,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B11000000,B00110100,B00001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B01000000,B00101100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B01100000,B00101000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00100000,B00101000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B10010000,B00100100,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B11010000,B00110100,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B01001000,B00010010,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B01101100,B00001011,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00100100,B00001101,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00010110,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00010010,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001011,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00011010,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00010010,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00100100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B01101100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B11001000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B11011000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00010000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00100000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B11000000,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B11000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 }; const unsigned char custom_start_bmp2[] PROGMEM = { - B00011111,B11111111,B11111111,B11111111,B11111111,B11001111,B11111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001000,B00000000,B00000000,B00000000,B00000000,B11011000,B00000000,B00000000,B00000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001000,B00000000,B00000000,B00000000,B00000000,B10010000,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000100,B00000000,B00000000,B00000000,B00000001,B10100000,B00000000,B00000000,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000110,B00000000,B00000000,B00000000,B00000001,B01100000,B00000000,B00000000,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000010,B00000000,B00000000,B00000000,B00000010,B01000000,B00000000,B00000000,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000001,B11111111,B10000000,B01111111,B11111110,B11000000,B00000000,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B11111111,B11000000,B01111111,B00001000,B10000001,B11100000,B00111000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00100000,B01000000,B00000001,B00000011,B01000000,B01011000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B11111111,B10110000,B00100111,B11111001,B00000010,B01000000,B10010000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B01000000,B11010000,B00110110,B00001101,B10000110,B10000000,B10100000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B01100000,B01001000,B00010010,B00000100,B10000101,B10000001,B00100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00100000,B00101000,B00001011,B00000010,B11001001,B00000011,B01000000,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00110000,B00100100,B00001001,B00000011,B01001011,B00000010,B11000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00010000,B00010110,B00000100,B10000001,B00110010,B00000110,B10000001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00001000,B00011010,B00000110,B10000001,B10110100,B00000101,B10000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00001100,B00001011,B00000010,B01000000,B10000100,B00001001,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000100,B00001101,B00000011,B01100000,B01001000,B00001010,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000110,B00000100,B10000001,B00100000,B01111000,B00010010,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000010,B00000010,B10000000,B10110000,B00110000,B00110100,B00001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000001,B00000010,B01000000,B10010000,B00000000,B00101100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000001,B00000001,B01100000,B01001000,B00000000,B01001000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B10000001,B10100000,B01101000,B00000000,B01011000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B11000000,B10110000,B00100100,B00000000,B10010000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B01000000,B11010000,B00110110,B00000001,B10100000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B01100000,B01001000,B00010010,B00000001,B01100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00100000,B00101100,B00001011,B00000001,B01000000,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00010000,B00110100,B00001001,B00000001,B01000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00011000,B00010110,B00000100,B10000001,B00100001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00001000,B00011010,B00000110,B10000001,B10100011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00001100,B00001001,B00000010,B01000000,B10010010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000100,B00000101,B00000011,B01100000,B01011110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000010,B00000100,B10000001,B00100000,B01101100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000010,B00000010,B11000000,B10110000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000001,B00000011,B01000000,B10010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000001,B10000001,B01100000,B01011000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B10000001,B10100000,B11010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B11000000,B10010000,B10010000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B01000000,B01011001,B00100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00100000,B01001011,B01100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00110000,B00101110,B01000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00010000,B00110110,B11000001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00011000,B00010000,B10000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00001000,B00001001,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00001100,B00001001,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000100,B00000110,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000010,B00000110,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000011,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000001,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000001,B10000000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B10000000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B01000000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B01000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00110000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00011001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00001110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00000000,B00000000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00000000,B00000000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00000000,B00000000,B00001111, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000111, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000011, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 }; const unsigned char custom_start_bmp3[] PROGMEM = { - B00011111,B11111111,B11111111,B11111111,B11111111,B11001111,B11111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001000,B00000000,B00000000,B00000000,B00000000,B11011000,B00000000,B00000000,B00000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001000,B00000000,B00000000,B00000000,B00000000,B10010000,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000100,B00000000,B00000000,B00000000,B00000001,B10100000,B00000000,B00000000,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000110,B00000000,B00000000,B00000000,B00000001,B01100000,B00000000,B00000000,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000010,B00000000,B00000000,B00000000,B00000010,B01000000,B00000000,B00000000,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000001,B11111111,B10000000,B01111111,B11111110,B11000000,B00000000,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B11111111,B11000000,B01111111,B00001000,B10000001,B11100000,B00111000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00100000,B01000000,B00000001,B00000011,B01000000,B01011000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B11111111,B10110000,B00100111,B11111001,B00000010,B01000000,B10010000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B01000000,B11010000,B00110110,B00001101,B10000110,B10000000,B10100000,B00100010,B00010000,B00000010,B10000000,B11110000,B00000000,B00000000,B00000000, - B00000000,B01100000,B01001000,B00010010,B00000100,B10000101,B10000001,B00100000,B01000011,B00110000,B00000010,B00000000,B00111000,B00000000,B00000000,B00000000, - B00000000,B00100000,B00101000,B00001011,B00000010,B11001001,B00000011,B01000000,B11000011,B00110011,B10011010,B10111000,B00011000,B10001000,B00100010,B00000000, - B00000000,B00110000,B00100100,B00001001,B00000011,B01001011,B00000010,B11000000,B10000011,B00110000,B10010010,B10100100,B00011000,B01110000,B00011100,B00000000, - B00000000,B00010000,B00010110,B00000100,B10000001,B00110010,B00000110,B10000001,B10000010,B11010011,B10010010,B10100100,B00110000,B00100000,B00001000,B00000000, - B00000000,B00001000,B00011010,B00000110,B10000001,B10110100,B00000101,B10000001,B00000010,B11010100,B10010010,B10100100,B01110000,B01110000,B00011100,B00000000, - B00000000,B00001100,B00001011,B00000010,B01000000,B10000100,B00001001,B00000010,B00000010,B00010011,B10010010,B10100100,B11111010,B10001010,B10100010,B00000000, - B00000000,B00000100,B00001101,B00000011,B01100000,B01001000,B00001010,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000110,B00000100,B10000001,B00100000,B01111000,B00010010,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000010,B00000010,B10000000,B10110000,B00110000,B00110100,B00001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000001,B00000010,B01000000,B10010000,B00000000,B00101100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000001,B00000001,B01100000,B01001000,B00000000,B01001000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B10000001,B10100000,B01101000,B00000000,B01011000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B11000000,B10110000,B00100100,B00000000,B10010000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B01000000,B11010000,B00110110,B00000001,B10100000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B01100000,B01001000,B00010010,B00000001,B01100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00100000,B00101100,B00001011,B00000001,B01000000,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00010000,B00110100,B00001001,B00000001,B01000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00011000,B00010110,B00000100,B10000001,B00100001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00001000,B00011010,B00000110,B10000001,B10100011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00001100,B00001001,B00000010,B01000000,B10010010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000100,B00000101,B00000011,B01100000,B01011110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000010,B00000100,B10000001,B00100000,B01101100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000010,B00000010,B11000000,B10110000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000001,B00000011,B01000000,B10010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000001,B10000001,B01100000,B01011000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B10000001,B10100000,B11010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B11000000,B10010000,B10010000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B01000000,B01011001,B00100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00100000,B01001011,B01100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00110000,B00101110,B01000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00010000,B00110110,B11000001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00011000,B00010000,B10000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00001000,B00001001,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00001100,B00001001,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000100,B00000110,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000010,B00000110,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000011,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000001,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000001,B10000000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B10000000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B01000000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B01000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00110000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00011001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00001110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00000000,B00000000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00000000,B00000000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00000000,B00000000,B00001111, + B10001100,B00110000,B11000111,B10000000,B00000000,B00000000,B00000111, + B10001100,B00110000,B11001111,B11000000,B00000000,B00000000,B00000011, + B10001100,B00110000,B11011100,B11100000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11011000,B01100000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11010000,B01100000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11011000,B01100000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11011100,B01100000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11001111,B01110000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000111,B01110000,B00000000,B00000000,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 }; const unsigned char custom_start_bmp4[] PROGMEM = { - B00011111,B11111111,B11111111,B11111111,B11111111,B11001111,B11111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001000,B00000000,B00000000,B00000000,B00000000,B11011000,B00000000,B00000000,B00000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00001000,B00000000,B00000000,B00000000,B00000000,B10010000,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000100,B00000000,B00000000,B00000000,B00000001,B10100000,B00000000,B00000000,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000110,B00000000,B00000000,B00000000,B00000001,B01100000,B00000000,B00000000,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000010,B00000000,B00000000,B00000000,B00000010,B01000000,B00000000,B00000000,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000001,B11111111,B10000000,B01111111,B11111110,B11000000,B00000000,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B11111111,B11000000,B01111111,B00001000,B10000001,B11100000,B00111000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00100000,B01000000,B00000001,B00000011,B01000000,B01011000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B11111111,B10110000,B00100111,B11111001,B00000010,B01000000,B10010000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B01000000,B11010000,B00110110,B00001101,B10000110,B10000000,B10100000,B00100010,B00010000,B00000010,B10000000,B11110000,B00000000,B00000000,B00000000, - B00000000,B01100000,B01001000,B00010010,B00000100,B10000101,B10000001,B00100000,B01000011,B00110000,B00000010,B00000000,B00111000,B00000000,B00000000,B00000000, - B00000000,B00100000,B00101000,B00001011,B00000010,B11001001,B00000011,B01000000,B11000011,B00110011,B10011010,B10111000,B00011000,B10001000,B00100010,B00000000, - B00000000,B00110000,B00100100,B00001001,B00000011,B01001011,B00000010,B11000000,B10000011,B00110000,B10010010,B10100100,B00011000,B01110000,B00011100,B00000000, - B00000000,B00010000,B00010110,B00000100,B10000001,B00110010,B00000110,B10000001,B10000010,B11010011,B10010010,B10100100,B00110000,B00100000,B00001000,B00000000, - B00000000,B00001000,B00011010,B00000110,B10000001,B10110100,B00000101,B10000001,B00000010,B11010100,B10010010,B10100100,B01110000,B01110000,B00011100,B00000000, - B00000000,B00001100,B00001011,B00000010,B01000000,B10000100,B00001001,B00000010,B00000010,B00010011,B10010010,B10100100,B11111010,B10001010,B10100010,B00000000, - B00000000,B00000100,B00001101,B00000011,B01100000,B01001000,B00001010,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000110,B00000100,B10000001,B00100000,B01111000,B00010010,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000010,B00000010,B10000000,B10110000,B00110000,B00110100,B00001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000001,B00000010,B01000000,B10010000,B00000000,B00101100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000001,B00000001,B01100000,B01001000,B00000000,B01001000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B10000001,B10100000,B01101000,B00000000,B01011000,B00010001,B11110000,B00000000,B00000000,B00010000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B11000000,B10110000,B00100100,B00000000,B10010000,B00100000,B01000000,B00000000,B00000000,B00010000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B01000000,B11010000,B00110110,B00000001,B10100000,B01100000,B01000011,B00110111,B00011100,B11110011,B10000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B01100000,B01001000,B00010010,B00000001,B01100000,B01000000,B01000100,B10100100,B10000101,B10010010,B01000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00100000,B00101100,B00001011,B00000001,B01000000,B11000000,B01000100,B10100100,B10011101,B00010100,B01000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00010000,B00110100,B00001001,B00000001,B01000000,B10000000,B01000100,B10100100,B10100101,B00010010,B01000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00011000,B00010110,B00000100,B10000001,B00100001,B00000000,B01000011,B00100100,B10011100,B11110011,B10000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00001000,B00011010,B00000110,B10000001,B10100011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00001100,B00001001,B00000010,B01000000,B10010010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000100,B00000101,B00000011,B01100000,B01011110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000010,B00000100,B10000001,B00100000,B01101100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000010,B00000010,B11000000,B10110000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000001,B00000011,B01000000,B10010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000001,B10000001,B01100000,B01011000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B10000001,B10100000,B11010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B11000000,B10010000,B10010000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B01000000,B01011001,B00100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00100000,B01001011,B01100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00110000,B00101110,B01000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00010000,B00110110,B11000001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00011000,B00010000,B10000001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00001000,B00001001,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00001100,B00001001,B00000010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000100,B00000110,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000010,B00000110,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000011,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000001,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000001,B10000000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B10000000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B01000000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B01000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00100000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00110000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00011001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00001110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00000000,B00000000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00000000,B00000000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00000000,B00000000,B00001111, + B10001100,B00110000,B11000111,B10000011,B10000000,B00000000,B00000111, + B10001100,B00110000,B11001111,B11000111,B11000000,B00000000,B00000011, + B10001100,B00110000,B11011100,B11101100,B11100000,B00000000,B00000001, + B10001100,B00110000,B11011000,B01101100,B01100000,B00000000,B00000001, + B10001100,B00110000,B11010000,B01101100,B00000000,B00000000,B00000001, + B10001100,B00110000,B11011000,B01101100,B00000000,B00000000,B00000001, + B10001100,B00110000,B11011100,B01101100,B00000000,B00000000,B00000001, + B10001100,B00110000,B11001111,B01111100,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000111,B01111100,B00000000,B00000000,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 + }; + + const unsigned char custom_start_bmp5[] PROGMEM = { + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00001100,B00000000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00001100,B00000000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00001100,B00000000,B00001111, + B10001100,B00110000,B11000111,B10000011,B10001100,B00000000,B00000111, + B10001100,B00110000,B11001111,B11000111,B11001100,B00000000,B00000011, + B10001100,B00110000,B11011100,B11101100,B11101100,B00000000,B00000001, + B10001100,B00110000,B11011000,B01101100,B01101100,B00000000,B00000001, + B10001100,B00110000,B11010000,B01101100,B00001100,B00000000,B00000001, + B10001100,B00110000,B11011000,B01101100,B00001100,B00000000,B00000001, + B10001100,B00110000,B11011100,B01101100,B00001110,B00000000,B00000001, + B10001100,B00110000,B11001111,B01111100,B00000111,B10000000,B00000001, + B10001100,B00110000,B11000111,B01111100,B00000011,B10000000,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 + }; + + const unsigned char custom_start_bmp6[] PROGMEM = { + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00001100,B00110000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00001100,B00110000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00001100,B00000000,B00001111, + B10001100,B00110000,B11000111,B10000011,B10001100,B00110000,B00000111, + B10001100,B00110000,B11001111,B11000111,B11001100,B00110000,B00000011, + B10001100,B00110000,B11011100,B11101100,B11101100,B00110000,B00000001, + B10001100,B00110000,B11011000,B01101100,B01101100,B00110000,B00000001, + B10001100,B00110000,B11010000,B01101100,B00001100,B00110000,B00000001, + B10001100,B00110000,B11011000,B01101100,B00001100,B00110000,B00000001, + B10001100,B00110000,B11011100,B01101100,B00001110,B00111000,B00000001, + B10001100,B00110000,B11001111,B01111100,B00000111,B10011100,B00000001, + B10001100,B00110000,B11000111,B01111100,B00000011,B10001100,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 }; const unsigned char * const custom_bootscreen_animation[] PROGMEM = { - custom_start_bmp1, custom_start_bmp2, custom_start_bmp3, custom_start_bmp4, custom_start_bmp + custom_start_bmp1, custom_start_bmp2, custom_start_bmp3, custom_start_bmp4, custom_start_bmp5, custom_start_bmp6, custom_start_bmp }; #endif diff --git a/config/examples/AnyCubic/i3/Configuration.h b/config/examples/AnyCubic/i3/Configuration.h index f72d0ab332..e5f96e0d97 100644 --- a/config/examples/AnyCubic/i3/Configuration.h +++ b/config/examples/AnyCubic/i3/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -900,11 +898,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -916,10 +913,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 75 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -2 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 75, 5, -2 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -953,7 +950,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1211,12 +1208,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1270,19 +1261,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1531,7 +1509,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1590,10 +1568,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2061,7 +2039,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2074,6 +2052,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2084,11 +2065,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2216,7 +2194,7 @@ */ #define NUM_SERVOS 1 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/AnyCubic/i3/Configuration_adv.h b/config/examples/AnyCubic/i3/Configuration_adv.h index 4e22f2a6d0..0e0349ebca 100644 --- a/config/examples/AnyCubic/i3/Configuration_adv.h +++ b/config/examples/AnyCubic/i3/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/ArmEd/Configuration.h b/config/examples/ArmEd/Configuration.h index 27556db668..05436cb482 100644 --- a/config/examples/ArmEd/Configuration.h +++ b/config/examples/ArmEd/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -891,11 +889,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -907,10 +904,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -944,7 +941,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1202,12 +1199,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1261,19 +1252,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1522,7 +1500,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1581,10 +1559,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2052,7 +2030,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2065,6 +2043,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2075,11 +2056,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2207,7 +2185,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/ArmEd/Configuration_adv.h b/config/examples/ArmEd/Configuration_adv.h index 28684f0a55..1ad055cb41 100644 --- a/config/examples/ArmEd/Configuration_adv.h +++ b/config/examples/ArmEd/Configuration_adv.h @@ -218,7 +218,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -606,8 +606,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -624,7 +624,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -651,19 +651,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -743,8 +730,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -841,6 +828,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -863,6 +859,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1019,17 +1018,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1196,9 +1209,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1280,6 +1341,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1340,7 +1437,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1352,7 +1449,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1487,19 +1585,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1705,78 +1803,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1915,10 +2026,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1942,6 +2055,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2425,10 +2539,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2509,6 +2619,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Azteeg/X5GT/Configuration.h b/config/examples/Azteeg/X5GT/Configuration.h index 66c4d55ff5..12574f07b8 100644 --- a/config/examples/Azteeg/X5GT/Configuration.h +++ b/config/examples/Azteeg/X5GT/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/BIBO/TouchX/cyclops/Configuration.h b/config/examples/BIBO/TouchX/cyclops/Configuration.h index ea7b87e5c8..e9995f707a 100644 --- a/config/examples/BIBO/TouchX/cyclops/Configuration.h +++ b/config/examples/BIBO/TouchX/cyclops/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION 15 - //#define RIGHT_PROBE_BED_POSITION 170 - //#define FRONT_PROBE_BED_POSITION 20 - //#define BACK_PROBE_BED_POSITION 170 - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h b/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h index 97ed75e160..760915c3be 100644 --- a/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h +++ b/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/BIBO/TouchX/default/Configuration.h b/config/examples/BIBO/TouchX/default/Configuration.h index ee10b070d9..3cde043a46 100644 --- a/config/examples/BIBO/TouchX/default/Configuration.h +++ b/config/examples/BIBO/TouchX/default/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION 15 - //#define RIGHT_PROBE_BED_POSITION 170 - //#define FRONT_PROBE_BED_POSITION 20 - //#define BACK_PROBE_BED_POSITION 170 - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/BIBO/TouchX/default/Configuration_adv.h b/config/examples/BIBO/TouchX/default/Configuration_adv.h index f1238222e0..5ce50d730d 100644 --- a/config/examples/BIBO/TouchX/default/Configuration_adv.h +++ b/config/examples/BIBO/TouchX/default/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/BQ/Hephestos/Configuration.h b/config/examples/BQ/Hephestos/Configuration.h index 06aad85036..045c0698d5 100644 --- a/config/examples/BQ/Hephestos/Configuration.h +++ b/config/examples/BQ/Hephestos/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -878,11 +876,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -894,10 +891,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -931,7 +928,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1189,12 +1186,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1248,19 +1239,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1509,7 +1487,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1568,10 +1546,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2039,7 +2017,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2052,6 +2030,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2062,11 +2043,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2194,7 +2172,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/BQ/Hephestos/Configuration_adv.h b/config/examples/BQ/Hephestos/Configuration_adv.h index e3a39d4336..5561fd1e29 100644 --- a/config/examples/BQ/Hephestos/Configuration_adv.h +++ b/config/examples/BQ/Hephestos/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 120*60, 120*60, 18*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 120*60, 120*60, 18*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/BQ/Hephestos_2/Configuration.h b/config/examples/BQ/Hephestos_2/Configuration.h index 806efae751..ae0d1771e0 100644 --- a/config/examples/BQ/Hephestos_2/Configuration.h +++ b/config/examples/BQ/Hephestos_2/Configuration.h @@ -78,13 +78,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "@jbrazio" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -97,10 +92,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -891,11 +889,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -907,10 +904,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 34 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 15 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 34, 15, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -944,7 +941,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 5 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION X_MIN_POS + (X_PROBE_OFFSET_FROM_EXTRUDER) - //#define RIGHT_PROBE_BED_POSITION X_MAX_POS - (X_PROBE_OFFSET_FROM_EXTRUDER) - //#define FRONT_PROBE_BED_POSITION Y_MIN_POS + (Y_PROBE_OFFSET_FROM_EXTRUDER) - //#define BACK_PROBE_BED_POSITION Y_MAX_POS - (Y_PROBE_OFFSET_FROM_EXTRUDER) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/BQ/Hephestos_2/Configuration_adv.h b/config/examples/BQ/Hephestos_2/Configuration_adv.h index 242f6bda6b..43ad192cc1 100644 --- a/config/examples/BQ/Hephestos_2/Configuration_adv.h +++ b/config/examples/BQ/Hephestos_2/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ #define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - //#define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -845,6 +832,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + //#define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -867,6 +863,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1023,17 +1022,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1200,9 +1213,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1284,6 +1345,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1344,7 +1441,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1356,7 +1453,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1491,19 +1589,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1709,78 +1807,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1919,10 +2030,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1946,6 +2059,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2429,10 +2543,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2513,6 +2623,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/BQ/WITBOX/Configuration.h b/config/examples/BQ/WITBOX/Configuration.h index 55544b04a1..520538fb87 100644 --- a/config/examples/BQ/WITBOX/Configuration.h +++ b/config/examples/BQ/WITBOX/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(bq Witbox)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -878,11 +876,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -894,10 +891,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -931,7 +928,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1189,12 +1186,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1248,19 +1239,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1509,7 +1487,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1568,10 +1546,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2039,7 +2017,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2052,6 +2030,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2062,11 +2043,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2194,7 +2172,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/BQ/WITBOX/Configuration_adv.h b/config/examples/BQ/WITBOX/Configuration_adv.h index e3a39d4336..5561fd1e29 100644 --- a/config/examples/BQ/WITBOX/Configuration_adv.h +++ b/config/examples/BQ/WITBOX/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 120*60, 120*60, 18*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 120*60, 120*60, 18*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Cartesio/Configuration.h b/config/examples/Cartesio/Configuration.h index f4d8e167ab..2a059914ab 100644 --- a/config/examples/Cartesio/Configuration.h +++ b/config/examples/Cartesio/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(MaukCC, CartesioE)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -889,11 +887,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -905,10 +902,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -942,7 +939,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1200,12 +1197,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1259,19 +1250,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1520,7 +1498,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1579,10 +1557,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2050,7 +2028,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2063,6 +2041,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2073,11 +2054,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// #define REPRAPWORLD_KEYPAD -#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2205,7 +2183,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Cartesio/Configuration_adv.h b/config/examples/Cartesio/Configuration_adv.h index 9b22210c3e..53cd20647a 100644 --- a/config/examples/Cartesio/Configuration_adv.h +++ b/config/examples/Cartesio/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/CR-10/Configuration.h b/config/examples/Creality/CR-10/Configuration.h index e538cdd414..f107cfcfbb 100644 --- a/config/examples/Creality/CR-10/Configuration.h +++ b/config/examples/Creality/CR-10/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Creality CR-10)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -411,7 +409,7 @@ #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 #define TEMP_SENSOR_5 0 -#define TEMP_SENSOR_BED 5 +#define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 // Dummy thermistor constant temperature readings, for use with 998 and 999 @@ -900,11 +898,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -916,10 +913,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -953,7 +950,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1211,12 +1208,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1270,19 +1261,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1531,7 +1509,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1590,10 +1568,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2061,7 +2039,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2074,6 +2052,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2084,11 +2065,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2216,7 +2194,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/CR-10/Configuration_adv.h b/config/examples/Creality/CR-10/Configuration_adv.h index 96b3399880..1131506e3d 100644 --- a/config/examples/Creality/CR-10/Configuration_adv.h +++ b/config/examples/Creality/CR-10/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2424,10 +2538,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2508,6 +2618,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/CR-10S/Configuration.h b/config/examples/Creality/CR-10S/Configuration.h index f4cbe652ae..30904e3d1a 100644 --- a/config/examples/Creality/CR-10S/Configuration.h +++ b/config/examples/Creality/CR-10S/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(printedsolid.com, CR-10S)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -411,7 +409,7 @@ #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 #define TEMP_SENSOR_5 0 -#define TEMP_SENSOR_BED 5 +#define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 // Dummy thermistor constant temperature readings, for use with 998 and 999 @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1202,12 +1199,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1261,19 +1252,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1522,7 +1500,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1581,10 +1559,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2052,7 +2030,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2065,6 +2043,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2075,11 +2056,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2207,7 +2185,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/CR-10S/Configuration_adv.h b/config/examples/Creality/CR-10S/Configuration_adv.h index f6ce2b7c24..0c968a812f 100644 --- a/config/examples/Creality/CR-10S/Configuration_adv.h +++ b/config/examples/Creality/CR-10S/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' #define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/CR-10_5S/Configuration.h b/config/examples/Creality/CR-10_5S/Configuration.h index 833988af1e..03037f5a8a 100644 --- a/config/examples/Creality/CR-10_5S/Configuration.h +++ b/config/examples/Creality/CR-10_5S/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Evgeny-SPB, CR-10 S5)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -411,7 +409,7 @@ #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 #define TEMP_SENSOR_5 0 -#define TEMP_SENSOR_BED 5 +#define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 // Dummy thermistor constant temperature readings, for use with 998 and 999 @@ -891,11 +889,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -907,10 +904,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -944,7 +941,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1204,12 +1201,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1263,19 +1254,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1524,7 +1502,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1583,10 +1561,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2054,7 +2032,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2067,6 +2045,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2077,11 +2058,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2209,7 +2187,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/CR-10_5S/Configuration_adv.h b/config/examples/Creality/CR-10_5S/Configuration_adv.h index aa0b478092..ed9957a678 100644 --- a/config/examples/Creality/CR-10_5S/Configuration_adv.h +++ b/config/examples/Creality/CR-10_5S/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' #define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/CR-10mini/Configuration.h b/config/examples/Creality/CR-10mini/Configuration.h index e32a3fef9b..f6124787b0 100644 --- a/config/examples/Creality/CR-10mini/Configuration.h +++ b/config/examples/Creality/CR-10mini/Configuration.h @@ -79,13 +79,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -98,10 +93,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -420,7 +418,7 @@ #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 #define TEMP_SENSOR_5 0 -#define TEMP_SENSOR_BED 5 +#define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 // Dummy thermistor constant temperature readings, for use with 998 and 999 @@ -909,11 +907,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -925,10 +922,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -962,7 +959,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1220,12 +1217,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1279,19 +1270,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1540,7 +1518,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1599,10 +1577,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2070,7 +2048,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2083,6 +2061,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2093,11 +2074,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2225,7 +2203,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/CR-10mini/Configuration_adv.h b/config/examples/Creality/CR-10mini/Configuration_adv.h index 29316bcdd6..11bfdca892 100644 --- a/config/examples/Creality/CR-10mini/Configuration_adv.h +++ b/config/examples/Creality/CR-10mini/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/CR-20 Pro/Configuration.h b/config/examples/Creality/CR-20 Pro/Configuration.h index 8e8c0f7756..c7962db100 100644 --- a/config/examples/Creality/CR-20 Pro/Configuration.h +++ b/config/examples/Creality/CR-20 Pro/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(CR-20 Pro)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -893,11 +891,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -909,10 +906,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -946,7 +943,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1204,12 +1201,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1263,19 +1254,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1524,7 +1502,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1583,10 +1561,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2054,7 +2032,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2067,6 +2045,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2077,11 +2058,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2209,7 +2187,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/CR-20 Pro/Configuration_adv.h b/config/examples/Creality/CR-20 Pro/Configuration_adv.h index 013c3f6397..8b2e7cc246 100644 --- a/config/examples/Creality/CR-20 Pro/Configuration_adv.h +++ b/config/examples/Creality/CR-20 Pro/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/CR-20/Configuration.h b/config/examples/Creality/CR-20/Configuration.h index 66dbf6fbc3..d1166cb475 100644 --- a/config/examples/Creality/CR-20/Configuration.h +++ b/config/examples/Creality/CR-20/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(m0oml)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -893,11 +891,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -909,10 +906,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -946,7 +943,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1204,12 +1201,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1263,19 +1254,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1524,7 +1502,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1583,10 +1561,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2054,7 +2032,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2067,6 +2045,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2077,11 +2058,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2209,7 +2187,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/CR-20/Configuration_adv.h b/config/examples/Creality/CR-20/Configuration_adv.h index 1c6e4767de..6eda8d4498 100644 --- a/config/examples/Creality/CR-20/Configuration_adv.h +++ b/config/examples/Creality/CR-20/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/CR-8/Configuration.h b/config/examples/Creality/CR-8/Configuration.h index 2163890342..571758dbde 100644 --- a/config/examples/Creality/CR-8/Configuration.h +++ b/config/examples/Creality/CR-8/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(D-side, CR-8)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -900,11 +898,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -916,10 +913,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -953,7 +950,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1211,12 +1208,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1270,19 +1261,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1531,7 +1509,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1590,10 +1568,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2061,7 +2039,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2074,6 +2052,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2084,11 +2065,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2216,7 +2194,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/CR-8/Configuration_adv.h b/config/examples/Creality/CR-8/Configuration_adv.h index ff7d7560c1..987ffe6ab8 100644 --- a/config/examples/Creality/CR-8/Configuration_adv.h +++ b/config/examples/Creality/CR-8/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' #define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/Ender-2/Configuration.h b/config/examples/Creality/Ender-2/Configuration.h index cc6031700c..4ffdada6b4 100644 --- a/config/examples/Creality/Ender-2/Configuration.h +++ b/config/examples/Creality/Ender-2/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(tommie, Ender 2/4)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -894,11 +892,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -910,10 +907,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -947,7 +944,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1205,12 +1202,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1264,19 +1255,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1525,7 +1503,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1584,10 +1562,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2055,7 +2033,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2068,6 +2046,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2078,11 +2059,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2210,7 +2188,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/Ender-2/Configuration_adv.h b/config/examples/Creality/Ender-2/Configuration_adv.h index ad3772283f..9fc48d4e86 100644 --- a/config/examples/Creality/Ender-2/Configuration_adv.h +++ b/config/examples/Creality/Ender-2/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 0 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 0 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/Ender-3/Configuration.h b/config/examples/Creality/Ender-3/Configuration.h index 6be4c819e2..a0c7888788 100644 --- a/config/examples/Creality/Ender-3/Configuration.h +++ b/config/examples/Creality/Ender-3/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(thisiskeithb, Ender-3)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -894,11 +892,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -910,10 +907,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -947,7 +944,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1205,12 +1202,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1264,19 +1255,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1525,7 +1503,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1584,10 +1562,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2055,7 +2033,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2068,6 +2046,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2078,11 +2059,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2210,7 +2188,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/Ender-3/Configuration_adv.h b/config/examples/Creality/Ender-3/Configuration_adv.h index 934e90c8f0..44d99596dd 100644 --- a/config/examples/Creality/Ender-3/Configuration_adv.h +++ b/config/examples/Creality/Ender-3/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1698,81 +1796,94 @@ #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #if AXIS_IS_TMC(X) - #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. + #define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) - #define Y_CURRENT 800 + #define Y_CURRENT 580 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) - #define Z_CURRENT 800 + #define Z_CURRENT 580 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) - #define E0_CURRENT 800 + #define E0_CURRENT 650 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/Ender-3/_Statusscreen.h b/config/examples/Creality/Ender-3/_Statusscreen.h index bf3934729a..025801f4fc 100644 --- a/config/examples/Creality/Ender-3/_Statusscreen.h +++ b/config/examples/Creality/Ender-3/_Statusscreen.h @@ -34,6 +34,7 @@ // // Status Screen Logo bitmap // +#define STATUS_LOGO_Y 8 #define STATUS_LOGO_WIDTH 39 const unsigned char status_logo_bmp[] PROGMEM = { diff --git a/config/examples/Creality/Ender-4/Configuration.h b/config/examples/Creality/Ender-4/Configuration.h index 854bafa620..3015b74690 100644 --- a/config/examples/Creality/Ender-4/Configuration.h +++ b/config/examples/Creality/Ender-4/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Skorpi, Creality Ender-4, brandstaetter)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -900,11 +898,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -916,10 +913,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -953,7 +950,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1211,12 +1208,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1270,19 +1261,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1531,7 +1509,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1590,10 +1568,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2061,7 +2039,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2074,6 +2052,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2084,11 +2065,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2216,7 +2194,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/Ender-4/Configuration_adv.h b/config/examples/Creality/Ender-4/Configuration_adv.h index 69a2cc8c23..112b55f85d 100644 --- a/config/examples/Creality/Ender-4/Configuration_adv.h +++ b/config/examples/Creality/Ender-4/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' #define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Creality/Ender-5/Configuration.h b/config/examples/Creality/Ender-5/Configuration.h index 60fc34fc56..204be000bf 100644 --- a/config/examples/Creality/Ender-5/Configuration.h +++ b/config/examples/Creality/Ender-5/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(thisiskeithb, Ender-5)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -893,11 +891,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -909,10 +906,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -946,7 +943,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1204,12 +1201,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1263,19 +1254,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1524,7 +1502,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1583,10 +1561,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2054,7 +2032,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2067,6 +2045,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2077,11 +2058,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2209,7 +2187,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Creality/Ender-5/Configuration_adv.h b/config/examples/Creality/Ender-5/Configuration_adv.h index b41330d8c5..2ff116c69e 100644 --- a/config/examples/Creality/Ender-5/Configuration_adv.h +++ b/config/examples/Creality/Ender-5/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Dagoma/Disco Ultimate/Configuration.h b/config/examples/Dagoma/Disco Ultimate/Configuration.h index 3c84a4b43c..732cce94c7 100644 --- a/config/examples/Dagoma/Disco Ultimate/Configuration.h +++ b/config/examples/Dagoma/Disco Ultimate/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "InsanityAutomation" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 21 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 21, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Dagoma/Disco Ultimate/Configuration_adv.h b/config/examples/Dagoma/Disco Ultimate/Configuration_adv.h index df03640280..075f5605a9 100644 --- a/config/examples/Dagoma/Disco Ultimate/Configuration_adv.h +++ b/config/examples/Dagoma/Disco Ultimate/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ #define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration.h b/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration.h index 80df69ca49..e9224face5 100644 --- a/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration.h +++ b/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(thisiskeithb, Sidewinder X1)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -895,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -911,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -948,7 +945,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1206,12 +1203,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1265,19 +1256,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1526,7 +1504,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1585,10 +1563,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2056,7 +2034,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2069,6 +2047,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2079,11 +2060,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2211,7 +2189,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration_adv.h b/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration_adv.h index fca511a9e5..525e9963ba 100644 --- a/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration_adv.h +++ b/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Einstart-S/Configuration.h b/config/examples/Einstart-S/Configuration.h index 310d278a85..255b3b6200 100644 --- a/config/examples/Einstart-S/Configuration.h +++ b/config/examples/Einstart-S/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "elsie tech corp" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -900,11 +898,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -916,10 +913,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -953,7 +950,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1211,12 +1208,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1270,19 +1261,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1531,7 +1509,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1590,10 +1568,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2061,7 +2039,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2074,6 +2052,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2084,11 +2065,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2216,7 +2194,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Einstart-S/Configuration_adv.h b/config/examples/Einstart-S/Configuration_adv.h index 91da99eb2e..f24f158f3a 100644 --- a/config/examples/Einstart-S/Configuration_adv.h +++ b/config/examples/Einstart-S/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -#define MINIMUM_STEPPER_DIR_DELAY 0 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration.h b/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration.h index 4b868cfddf..7bb62ab321 100644 --- a/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration.h +++ b/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -340,7 +338,6 @@ //#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature #define POWER_TIMEOUT 30 #endif - #endif // @section temperature @@ -896,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -912,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -44 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -6 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.9 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -44, -6, -3.9 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -949,7 +945,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1207,12 +1203,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1266,19 +1256,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1527,7 +1504,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1586,10 +1563,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2057,7 +2034,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2070,6 +2047,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2080,11 +2060,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2098,7 +2075,7 @@ // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // which is not as annoying as with the hardware PWM. On the other hand, if this frequency // is too low, you should also increment SOFT_PWM_SCALE. -//#define FAN_SOFT_PWM +#define FAN_SOFT_PWM // Incrementing this by 1 will double the software PWM frequency, // affecting heaters, and the fan if FAN_SOFT_PWM is enabled. @@ -2212,7 +2189,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration_adv.h b/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration_adv.h index 8248ff470e..745cd643e5 100644 --- a/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration_adv.h +++ b/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1047,7 +1060,7 @@ // Add an optimized binary file transfer mode, initiated with 'M28 B1' //#define BINARY_FILE_TRANSFER - #ifdef TARGET_LPC1768 + #if HAS_SDCARD_CONNECTION /** * Set this option to one of the following (or the board's defaults apply): * @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 500 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 650 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1860,7 +1971,7 @@ * Define you own with * { , , hysteresis_start[1..8] } */ - #define CHOPPER_TIMING CHOPPER_DEFAULT_12V + #define CHOPPER_TIMING CHOPPER_DEFAULT_24V /** * Monitor Trinamic drivers for error conditions, @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/FYSETC/Cheetah 1.2/base/Configuration.h b/config/examples/FYSETC/Cheetah 1.2/base/Configuration.h index 83031dacf9..be04105204 100644 --- a/config/examples/FYSETC/Cheetah 1.2/base/Configuration.h +++ b/config/examples/FYSETC/Cheetah 1.2/base/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -895,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -911,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -948,7 +945,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1206,12 +1203,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1265,19 +1256,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1526,7 +1504,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1585,10 +1563,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2056,7 +2034,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2069,6 +2047,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2079,11 +2060,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2097,7 +2075,7 @@ // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // which is not as annoying as with the hardware PWM. On the other hand, if this frequency // is too low, you should also increment SOFT_PWM_SCALE. -//#define FAN_SOFT_PWM +#define FAN_SOFT_PWM // Incrementing this by 1 will double the software PWM frequency, // affecting heaters, and the fan if FAN_SOFT_PWM is enabled. @@ -2211,7 +2189,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/FYSETC/Cheetah 1.2/base/Configuration_adv.h b/config/examples/FYSETC/Cheetah 1.2/base/Configuration_adv.h index a9a24bb9f1..745cd643e5 100644 --- a/config/examples/FYSETC/Cheetah 1.2/base/Configuration_adv.h +++ b/config/examples/FYSETC/Cheetah 1.2/base/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,18 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -738,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -836,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -858,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1014,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1046,7 +1060,7 @@ // Add an optimized binary file transfer mode, initiated with 'M28 B1' //#define BINARY_FILE_TRANSFER - #ifdef TARGET_LPC1768 + #if HAS_SDCARD_CONNECTION /** * Set this option to one of the following (or the board's defaults apply): * @@ -1191,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1275,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1347,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1482,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1700,78 +1799,91 @@ #define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 500 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 650 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1859,7 +1971,7 @@ * Define you own with * { , , hysteresis_start[1..8] } */ - #define CHOPPER_TIMING CHOPPER_DEFAULT_12V + #define CHOPPER_TIMING CHOPPER_DEFAULT_24V /** * Monitor Trinamic drivers for error conditions, @@ -1910,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1937,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2420,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2504,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Felix/Configuration.h b/config/examples/Felix/Configuration.h index 7587468801..f379d63cff 100644 --- a/config/examples/Felix/Configuration.h +++ b/config/examples/Felix/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, Felix)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -872,11 +870,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -888,10 +885,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -925,7 +922,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1183,12 +1180,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1242,19 +1233,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1503,7 +1481,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1562,10 +1540,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2033,7 +2011,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2046,6 +2024,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2056,11 +2037,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2188,7 +2166,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Felix/Configuration_adv.h b/config/examples/Felix/Configuration_adv.h index fff253fd85..231458b218 100644 --- a/config/examples/Felix/Configuration_adv.h +++ b/config/examples/Felix/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Felix/DUAL/Configuration.h b/config/examples/Felix/DUAL/Configuration.h index 75a8565edb..9adfb27ad2 100644 --- a/config/examples/Felix/DUAL/Configuration.h +++ b/config/examples/Felix/DUAL/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, Felix/DUAL)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -872,11 +870,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -888,10 +885,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -925,7 +922,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1183,12 +1180,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1242,19 +1233,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1503,7 +1481,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1562,10 +1540,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2033,7 +2011,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2046,6 +2024,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2056,11 +2037,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2188,7 +2166,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/FlashForge/CreatorPro/Configuration.h b/config/examples/FlashForge/CreatorPro/Configuration.h index 2eab8f96a9..d8000b4d4a 100644 --- a/config/examples/FlashForge/CreatorPro/Configuration.h +++ b/config/examples/FlashForge/CreatorPro/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "M. Baker" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -882,11 +880,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -898,10 +895,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -935,7 +932,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1194,12 +1191,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1253,19 +1244,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1512,7 +1490,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1571,10 +1549,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2042,7 +2020,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2055,6 +2033,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2065,11 +2046,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2197,7 +2175,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/FlashForge/CreatorPro/Configuration_adv.h b/config/examples/FlashForge/CreatorPro/Configuration_adv.h index 2132aa0a10..80bfc2959a 100644 --- a/config/examples/FlashForge/CreatorPro/Configuration_adv.h +++ b/config/examples/FlashForge/CreatorPro/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - //#define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -836,6 +823,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + //#define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -858,6 +854,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1014,17 +1013,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1191,9 +1204,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1275,6 +1336,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,7 +1432,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1347,7 +1444,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1482,19 +1580,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1700,78 +1798,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1910,10 +2021,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1937,6 +2050,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2420,10 +2534,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2504,6 +2614,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/FolgerTech/i3-2020/Configuration.h b/config/examples/FolgerTech/i3-2020/Configuration.h index 75c5a2e9ab..4960cd50b8 100644 --- a/config/examples/FolgerTech/i3-2020/Configuration.h +++ b/config/examples/FolgerTech/i3-2020/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -896,11 +894,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -912,10 +909,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 38 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -7 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -10.75 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 38, -7, -10.75 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 0 @@ -949,7 +946,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1207,12 +1204,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1527,7 +1518,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1586,10 +1577,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2057,7 +2048,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2070,6 +2061,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2080,11 +2074,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2212,7 +2203,7 @@ */ #define NUM_SERVOS 2 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 500, 500 } diff --git a/config/examples/FolgerTech/i3-2020/Configuration_adv.h b/config/examples/FolgerTech/i3-2020/Configuration_adv.h index e3019a470d..d00a05a866 100644 --- a/config/examples/FolgerTech/i3-2020/Configuration_adv.h +++ b/config/examples/FolgerTech/i3-2020/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Formbot/Raptor/Configuration.h b/config/examples/Formbot/Raptor/Configuration.h index a2634819a7..fad911678a 100644 --- a/config/examples/Formbot/Raptor/Configuration.h +++ b/config/examples/Formbot/Raptor/Configuration.h @@ -82,11 +82,11 @@ * If a UART connection is used to configure the driver, please select that as well in Configuration_adv.h. */ //#define X_2208 -//#define X_SpreadCycle +//#define X_SPREADCYCLE //#define Y_2208 -//#define Y_SpreadCycle +//#define Y_SPREADCYCLE //#define E_2208 -//#define E_SpreadCycle +//#define E_SPREADCYCLE /** @@ -111,13 +111,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "Tinymachines3D" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -130,10 +125,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -790,25 +788,25 @@ * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #if ENABLED(X_2208) - #if ENABLED(X_SpreadCycle) - #define x_accel 1750 + #if ENABLED(X_SPREADCYCLE) + #define X_ACCEL 1750 #else - #define x_accel 1000 + #define X_ACCEL 1000 #endif #else - #define x_accel 1500 + #define X_ACCEL 1500 #endif #if ENABLED(Y_2208) - #if ENABLED(Y_SpreadCycle) - #define y_accel 500 + #if ENABLED(Y_SPREADCYCLE) + #define Y_ACCEL 500 #else - #define y_accel 300 + #define Y_ACCEL 300 #endif #else - #define y_accel 500 + #define Y_ACCEL 500 #endif -#define DEFAULT_MAX_ACCELERATION { x_accel, y_accel, 400, 4000 } +#define DEFAULT_MAX_ACCELERATION { X_ACCEL, Y_ACCEL, 400, 4000 } /** * Default Acceleration (change/s) change = mm/s @@ -845,12 +843,12 @@ * value set here, it may happen instantaneously. */ #if DISABLED(JUNCTION_DEVIATION) - #if ENABLED(X_SpreadCycle) || DISABLED(X_2208) + #if ENABLED(X_SPREADCYCLE) || DISABLED(X_2208) #define DEFAULT_XJERK 20.0 #else #define DEFAULT_XJERK 10.0 #endif - #if ENABLED(Y_SpreadCycle) || DISABLED(Y_2208) + #if ENABLED(Y_SPREADCYCLE) || DISABLED(Y_2208) #define DEFAULT_YJERK 10.0 #else #define DEFAULT_YJERK 5.0 @@ -973,11 +971,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -989,10 +986,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -22 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.5 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -22, 0, -1.5 } #define MIN_PROBE_EDGE 10 // X and Y axis travel speed (mm/m) between probes @@ -1024,7 +1021,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1303,12 +1300,6 @@ #define GRID_MAX_POINTS_X 6 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - #define LEFT_PROBE_BED_POSITION 30 - #define RIGHT_PROBE_BED_POSITION 365 - #define FRONT_PROBE_BED_POSITION 30 - #define BACK_PROBE_BED_POSITION 365 - // The Z probe minimum outer margin (to validate G29 parameters). #define MIN_PROBE_EDGE 10 @@ -1626,7 +1617,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1685,10 +1676,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2156,7 +2147,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2169,6 +2160,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2179,11 +2173,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2311,7 +2302,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Formbot/Raptor/Configuration_adv.h b/config/examples/Formbot/Raptor/Configuration_adv.h index 1ec9c56aa7..a40d28e4ec 100644 --- a/config/examples/Formbot/Raptor/Configuration_adv.h +++ b/config/examples/Formbot/Raptor/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' #define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1338,7 +1435,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ #define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2425,10 +2539,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2509,6 +2619,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Formbot/T_Rex_2+/Configuration.h b/config/examples/Formbot/T_Rex_2+/Configuration.h index a4b5334550..583f6d0336 100644 --- a/config/examples/Formbot/T_Rex_2+/Configuration.h +++ b/config/examples/Formbot/T_Rex_2+/Configuration.h @@ -73,13 +73,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "Formbot-3D" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -92,10 +87,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -919,11 +917,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -935,10 +932,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -3 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 31 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.25 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -3, 31, -1.25 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 0 @@ -972,7 +969,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1230,12 +1227,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1555,7 +1546,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1614,10 +1605,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2085,7 +2076,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2098,6 +2089,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2108,11 +2102,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2240,7 +2231,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Formbot/T_Rex_2+/Configuration_adv.h b/config/examples/Formbot/T_Rex_2+/Configuration_adv.h index 4c65cca41c..d3b290730f 100644 --- a/config/examples/Formbot/T_Rex_2+/Configuration_adv.h +++ b/config/examples/Formbot/T_Rex_2+/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' #define M114_DETAIL // Show Temperature ADC value @@ -606,8 +606,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -624,7 +624,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -651,19 +651,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -743,8 +730,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -841,6 +828,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -863,6 +859,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1019,17 +1018,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1196,9 +1209,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1280,6 +1341,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X 4 @@ -1340,7 +1437,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1352,7 +1449,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1487,19 +1585,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1705,78 +1803,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1915,10 +2026,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1942,6 +2055,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2425,10 +2539,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2509,6 +2619,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Formbot/T_Rex_3/Configuration.h b/config/examples/Formbot/T_Rex_3/Configuration.h index 49d1a5387a..df29a67c06 100644 --- a/config/examples/Formbot/T_Rex_3/Configuration.h +++ b/config/examples/Formbot/T_Rex_3/Configuration.h @@ -74,13 +74,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "Formbot-3D" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -93,10 +88,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. #define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -906,11 +904,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -922,10 +919,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -3 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 31 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.25 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -3, 31, -1.25 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 0 @@ -959,7 +956,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1226,12 +1223,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1546,7 +1537,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1605,10 +1596,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2079,7 +2070,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2092,6 +2083,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2102,11 +2096,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2234,7 +2225,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Formbot/T_Rex_3/Configuration_adv.h b/config/examples/Formbot/T_Rex_3/Configuration_adv.h index daf25ef62c..c919581ec4 100644 --- a/config/examples/Formbot/T_Rex_3/Configuration_adv.h +++ b/config/examples/Formbot/T_Rex_3/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' #define M114_DETAIL // Show Temperature ADC value @@ -606,8 +606,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -624,7 +624,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -651,19 +651,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -743,8 +730,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -841,6 +828,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -863,6 +859,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1019,17 +1018,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1196,9 +1209,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1280,6 +1341,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X 4 @@ -1340,7 +1437,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1352,7 +1449,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1487,19 +1585,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1705,78 +1803,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1915,10 +2026,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1942,6 +2055,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2420,10 +2534,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2504,6 +2614,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Fysetc/AIO_II/Configuration.h b/config/examples/Fysetc/AIO_II/Configuration.h index dd26faa4c0..a9c1d34829 100644 --- a/config/examples/Fysetc/AIO_II/Configuration.h +++ b/config/examples/Fysetc/AIO_II/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -643,9 +641,9 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. @@ -723,7 +721,7 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 } +#define DEFAULT_AXIS_STEPS_PER_UNIT { 640, 640, 3200, 800 } /** * Default Max Feed Rate (mm/s) @@ -895,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -911,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -948,7 +945,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -991,10 +988,10 @@ // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // :{ 0:'Low', 1:'High' } -#define X_ENABLE_ON 0 -#define Y_ENABLE_ON 0 -#define Z_ENABLE_ON 0 -#define E_ENABLE_ON 0 // For all extruders +#define X_ENABLE_ON 1 +#define Y_ENABLE_ON 1 +#define Z_ENABLE_ON 1 +#define E_ENABLE_ON 1 // For all extruders // Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy! @@ -1206,12 +1203,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1265,19 +1256,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1526,7 +1504,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1585,10 +1563,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2056,7 +2034,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2069,6 +2047,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2079,11 +2060,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2211,7 +2189,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Fysetc/AIO_II/Configuration_adv.h b/config/examples/Fysetc/AIO_II/Configuration_adv.h index d2456953db..6451f40a50 100644 --- a/config/examples/Fysetc/AIO_II/Configuration_adv.h +++ b/config/examples/Fysetc/AIO_II/Configuration_adv.h @@ -165,13 +165,13 @@ * Thermal Protection parameters for the bed are just as above for hotends. */ #if ENABLED(THERMAL_PROTECTION_BED) - #define THERMAL_PROTECTION_BED_PERIOD 60 // Seconds + #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius /** * As described above, except for the bed (M140/M190/M303). */ - #define WATCH_BED_TEMP_PERIOD 100 // Seconds + #define WATCH_BED_TEMP_PERIOD 60 // Seconds #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius #endif @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -921,7 +920,7 @@ //#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files - #define EVENT_GCODE_SD_STOP "M21" // G-code to run on Stop Print (e.g., "G28XY" or "G27") + #define EVENT_GCODE_SD_STOP "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27") /** * Continue after Power-Loss (Creality3D) @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 650 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 650 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1816,13 +1927,13 @@ * on the same serial port, either here or in your board's pins file. */ #define X_SLAVE_ADDRESS 0 - #define Y_SLAVE_ADDRESS 1 - #define Z_SLAVE_ADDRESS 2 + #define Y_SLAVE_ADDRESS 0 + #define Z_SLAVE_ADDRESS 0 #define X2_SLAVE_ADDRESS 0 #define Y2_SLAVE_ADDRESS 0 #define Z2_SLAVE_ADDRESS 0 #define Z3_SLAVE_ADDRESS 0 - #define E0_SLAVE_ADDRESS 3 + #define E0_SLAVE_ADDRESS 0 #define E1_SLAVE_ADDRESS 0 #define E2_SLAVE_ADDRESS 0 #define E3_SLAVE_ADDRESS 0 @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Fysetc/CHEETAH/BLTouch/Configuration.h b/config/examples/Fysetc/CHEETAH/BLTouch/Configuration.h index cd14d80eca..39b146d9da 100644 --- a/config/examples/Fysetc/CHEETAH/BLTouch/Configuration.h +++ b/config/examples/Fysetc/CHEETAH/BLTouch/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -129,18 +127,16 @@ // Enable the Bluetooth serial interface on AT90USB devices //#define BLUETOOTH -// The following define selects which electronics board you have. -// Please choose the name from boards.h that matches your setup +// Choose the name from boards.h that matches your setup #ifndef MOTHERBOARD #define MOTHERBOARD BOARD_FYSETC_CHEETAH #endif -// Optional custom name for your RepStrap or other custom machine -// Displayed in the LCD "Ready" message +// Name displayed in the LCD "Ready" message and Info menu //#define CUSTOM_MACHINE_NAME "3D Printer" -// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) -// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +// Printer's unique ID, used by some programs to differentiate between machines. +// Choose your own or use a service like http://www.uuidgenerator.net/version4 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // @section extruder @@ -258,7 +254,16 @@ */ //#define MAGNETIC_SWITCHING_TOOLHEAD -#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD) +/** + * Electromagnetic Switching Toolhead + * + * Parking for CoreXY / HBot kinematics. + * Toolheads are parked at one edge and held with an electromagnet. + * Supports more than 2 Toolheads. See https://youtu.be/JolbsAKTKf4 + */ +//#define ELECTROMAGNETIC_SWITCHING_TOOLHEAD + +#if ANY(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD) #define SWITCHING_TOOLHEAD_Y_POS 235 // (mm) Y position of the toolhead dock #define SWITCHING_TOOLHEAD_Y_SECURITY 10 // (mm) Security distance Y axis #define SWITCHING_TOOLHEAD_Y_CLEAR 60 // (mm) Minimum distance from dock for unobstructed X axis @@ -310,22 +315,20 @@ // @section machine /** - * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN + * Power Supply Control * - * 0 = No Power Switch - * 1 = ATX - * 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) - * - * :{ 0:'No power switch', 1:'ATX', 2:'X-Box 360' } + * Enable and connect the power supply to the PS_ON_PIN. + * Specify whether the power supply is active HIGH or active LOW. */ -#define POWER_SUPPLY 0 +//#define PSU_CONTROL +//#define PSU_NAME "Power Supply" -#if POWER_SUPPLY > 0 - // Enable this option to leave the PSU off at startup. - // Power to steppers and heaters will need to be turned on with M80. - //#define PS_DEFAULT_OFF +#if ENABLED(PSU_CONTROL) + #define PSU_ACTIVE_HIGH false // Set 'false' for ATX (1), 'true' for X-Box (2) - //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin + //#define PS_DEFAULT_OFF // Keep power off until enabled directly with M80 + + //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin #if ENABLED(AUTO_POWER_CONTROL) #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS @@ -335,7 +338,6 @@ //#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature #define POWER_TIMEOUT 30 #endif - #endif // @section temperature @@ -361,6 +363,7 @@ * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) * 501 : 100K Zonestar (Tronxy X3A) Thermistor + * 512 : 100k RPW-Ultra hotend thermistor (4.7k pullup) * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -398,7 +401,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0':"Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '18':"ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327" '20':"Pt100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '61':"100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup", '66':"Dyze Design 4.7M High Temperature thermistor", '67':"Slice Engineering 450C High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595", '998':"Dummy 1", '999':"Dummy 2", '1000':"Custom thermistor params" } + * :{ '0':"Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '512':"100k RPW-Ultra hotend thermistor", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '18':"ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327" '20':"Pt100 (Ultimainboard V2.x)", '201':"Pt100 (Overlord)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '61':"100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup", '66':"Dyze Design 4.7M High Temperature thermistor", '67':"Slice Engineering 450C High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595", '998':"Dummy 1", '999':"Dummy 2", '1000':"Custom thermistor params" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -890,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -44 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -6 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.9 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -44, -6, -3.9 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +945,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1203,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1256,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1504,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1531,8 +1514,11 @@ // Middle point of circle #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT - // Moves the nozzle to the initial position + // Move the nozzle to the initial position after cleaning #define NOZZLE_CLEAN_GOBACK + + // Enable for a purge/clean station that's always at the gantry height (thus no Z move) + //#define NOZZLE_CLEAN_NO_Z #endif /** @@ -1577,10 +1563,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -1924,31 +1910,12 @@ // //#define LCD_FOR_MELZI -// -// SSD1306 OLED full graphics generic display -// -//#define U8GLIB_SSD1306 - -// -// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules -// -//#define SAV_3DGLCD -#if ENABLED(SAV_3DGLCD) - //#define U8GLIB_SSD1306 - #define U8GLIB_SH1106 -#endif - // // Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display and encoder // https://github.com/Ultimaker/Ultimaker2/tree/master/1249_Ulticontroller_Board_(x1) // //#define ULTI_CONTROLLER -// -// TinyBoy2 128x64 OLED / Encoder Panel -// -//#define OLED_PANEL_TINYBOY2 - // // MKS MINI12864 with graphic controller and SD support // https://reprap.org/wiki/MKS_MINI_12864 @@ -1982,15 +1949,6 @@ // //#define ANET_FULL_GRAPHICS_LCD -// -// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER -// http://reprap.org/wiki/MKS_12864OLED -// -// Tiny, but very sharp OLED display -// -//#define MKS_12864OLED // Uses the SH1106 controller (default) -//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller - // // AZSMZ 12864 LCD with SD // https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html @@ -2003,6 +1961,43 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================== OLED Displays ============================== +//============================================================================= + +// +// SSD1306 OLED full graphics generic display +// +//#define U8GLIB_SSD1306 + +// +// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules +// +//#define SAV_3DGLCD +#if ENABLED(SAV_3DGLCD) + #define U8GLIB_SSD1306 + //#define U8GLIB_SH1106 +#endif + +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + +// +// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// http://reprap.org/wiki/MKS_12864OLED +// +// Tiny, but very sharp OLED display +// +//#define MKS_12864OLED // Uses the SH1106 controller (default) +//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller + +// +// Einstart S OLED SSD1306 +// +//#define U8GLIB_SH1106_EINSTART + // // Overlord OLED display/controller with i2c buzzer and LEDs // @@ -2039,7 +2034,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2052,6 +2047,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2062,11 +2060,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2080,7 +2075,7 @@ // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // which is not as annoying as with the hardware PWM. On the other hand, if this frequency // is too low, you should also increment SOFT_PWM_SCALE. -//#define FAN_SOFT_PWM +#define FAN_SOFT_PWM // Incrementing this by 1 will double the software PWM frequency, // affecting heaters, and the fan if FAN_SOFT_PWM is enabled. @@ -2194,7 +2189,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Fysetc/CHEETAH/BLTouch/Configuration_adv.h b/config/examples/Fysetc/CHEETAH/BLTouch/Configuration_adv.h index 8ddaa533c8..745cd643e5 100644 --- a/config/examples/Fysetc/CHEETAH/BLTouch/Configuration_adv.h +++ b/config/examples/Fysetc/CHEETAH/BLTouch/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,18 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -738,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -836,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -858,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1014,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1191,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1275,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1347,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1482,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1700,78 +1799,91 @@ #define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 500 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 650 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1859,7 +1971,7 @@ * Define you own with * { , , hysteresis_start[1..8] } */ - #define CHOPPER_TIMING CHOPPER_DEFAULT_12V + #define CHOPPER_TIMING CHOPPER_DEFAULT_24V /** * Monitor Trinamic drivers for error conditions, @@ -1910,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1937,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2420,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2504,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Fysetc/CHEETAH/base/Configuration.h b/config/examples/Fysetc/CHEETAH/base/Configuration.h index 99523eb517..67fbd1ed30 100644 --- a/config/examples/Fysetc/CHEETAH/base/Configuration.h +++ b/config/examples/Fysetc/CHEETAH/base/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -895,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -911,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -948,7 +945,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1206,12 +1203,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1265,19 +1256,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1526,7 +1504,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1585,10 +1563,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2056,7 +2034,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2069,6 +2047,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2079,11 +2060,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2097,7 +2075,7 @@ // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // which is not as annoying as with the hardware PWM. On the other hand, if this frequency // is too low, you should also increment SOFT_PWM_SCALE. -//#define FAN_SOFT_PWM +#define FAN_SOFT_PWM // Incrementing this by 1 will double the software PWM frequency, // affecting heaters, and the fan if FAN_SOFT_PWM is enabled. @@ -2211,7 +2189,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Fysetc/CHEETAH/base/Configuration_adv.h b/config/examples/Fysetc/CHEETAH/base/Configuration_adv.h index 8ddaa533c8..745cd643e5 100644 --- a/config/examples/Fysetc/CHEETAH/base/Configuration_adv.h +++ b/config/examples/Fysetc/CHEETAH/base/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,18 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -738,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -836,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -858,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1014,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1191,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1275,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1347,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1482,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1700,78 +1799,91 @@ #define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 500 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 650 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1859,7 +1971,7 @@ * Define you own with * { , , hysteresis_start[1..8] } */ - #define CHOPPER_TIMING CHOPPER_DEFAULT_12V + #define CHOPPER_TIMING CHOPPER_DEFAULT_24V /** * Monitor Trinamic drivers for error conditions, @@ -1910,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1937,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2420,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2504,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Fysetc/F6_13/Configuration.h b/config/examples/Fysetc/F6_13/Configuration.h index 5d5c922439..3c0eeaee0e 100644 --- a/config/examples/Fysetc/F6_13/Configuration.h +++ b/config/examples/Fysetc/F6_13/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -892,11 +890,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -908,10 +905,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -945,7 +942,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1203,12 +1200,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1262,19 +1253,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1523,7 +1501,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1582,10 +1560,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2053,7 +2031,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2066,6 +2044,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2076,11 +2057,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2212,7 +2190,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Fysetc/F6_13/Configuration_adv.h b/config/examples/Fysetc/F6_13/Configuration_adv.h index b2ced98e33..7588b43aa2 100644 --- a/config/examples/Fysetc/F6_13/Configuration_adv.h +++ b/config/examples/Fysetc/F6_13/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ #define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1540,14 +1638,14 @@ * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ -//#define ADVANCED_PAUSE_FEATURE +#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + #define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract. // This short retract is done immediately, before parking the nozzle. #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 0 // (mm) The length of filament for a complete unload. // For Bowden, the full length of the tube and nozzle. // For direct drive, the full length of the nozzle. // Set to 0 for manual unloading. @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Geeetech/A10/Configuration.h b/config/examples/Geeetech/A10/Configuration.h index aa121eb0d9..51aaa489a8 100644 --- a/config/examples/Geeetech/A10/Configuration.h +++ b/config/examples/Geeetech/A10/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Phr3d13, Geeetech A10 default)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -873,11 +871,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -889,10 +886,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -37 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.6 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -37, 0, -3.6 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -926,7 +923,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1186,12 +1183,6 @@ #define GRID_MAX_POINTS_X 5 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1245,19 +1236,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1506,7 +1484,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1565,10 +1543,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2036,7 +2014,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2049,6 +2027,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2059,11 +2040,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2191,7 +2169,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Geeetech/A10/Configuration_adv.h b/config/examples/Geeetech/A10/Configuration_adv.h index 3e92df1be5..d18140a709 100644 --- a/config/examples/Geeetech/A10/Configuration_adv.h +++ b/config/examples/Geeetech/A10/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Geeetech/A10M/Configuration.h b/config/examples/Geeetech/A10M/Configuration.h index f5ad6e8c72..ab3f257825 100644 --- a/config/examples/Geeetech/A10M/Configuration.h +++ b/config/examples/Geeetech/A10M/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -873,11 +871,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -889,10 +886,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -37 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.6 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -37, 0, -3.6 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -926,7 +923,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1186,12 +1183,6 @@ #define GRID_MAX_POINTS_X 5 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1245,19 +1236,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1506,7 +1484,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1565,10 +1543,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2036,7 +2014,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2049,6 +2027,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2059,11 +2040,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2191,7 +2169,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Geeetech/A10M/Configuration_adv.h b/config/examples/Geeetech/A10M/Configuration_adv.h index 01555c75e0..85e13f4d5f 100644 --- a/config/examples/Geeetech/A10M/Configuration_adv.h +++ b/config/examples/Geeetech/A10M/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Geeetech/A20M/Configuration.h b/config/examples/Geeetech/A20M/Configuration.h index 5e9d6b1743..1bcec7ac72 100644 --- a/config/examples/Geeetech/A20M/Configuration.h +++ b/config/examples/Geeetech/A20M/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -768,7 +766,7 @@ * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define S_CURVE_ACCELERATION +#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -873,11 +871,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -889,10 +886,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -37 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.6 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -37, 0, -3.6 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -926,7 +923,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1186,12 +1183,6 @@ #define GRID_MAX_POINTS_X 5 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1245,19 +1236,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1505,7 +1483,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1564,10 +1542,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -1736,7 +1714,7 @@ // // ULTIPANEL as seen on Thingiverse. // -#define ULTIPANEL +//#define ULTIPANEL // // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) @@ -2038,7 +2016,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2051,6 +2029,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2061,11 +2042,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2193,7 +2171,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Geeetech/A20M/Configuration_adv.h b/config/examples/Geeetech/A20M/Configuration_adv.h index 508957550a..3be72ca3db 100644 --- a/config/examples/Geeetech/A20M/Configuration_adv.h +++ b/config/examples/Geeetech/A20M/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -935,7 +934,7 @@ #if ENABLED(POWER_LOSS_RECOVERY) #define POWER_LOSS_PIN 69 // Pin to detect power loss #define POWER_LOSS_STATE LOW // State of pin indicating power loss - //#define POWER_LOSS_PULL // Set pullup / pulldown as appropriate + #define POWER_LOSS_PULL // Set pullup / pulldown as appropriate //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume //#define POWER_LOSS_RETRACT_LEN 10 // (mm) Length of filament to retract on fail. Requires backup power. @@ -986,7 +985,7 @@ //#define LONG_FILENAME_HOST_SUPPORT // Enable this option to scroll long filenames in the SD card menu - //#define SCROLL_LONG_FILENAMES + #define SCROLL_LONG_FILENAMES // Leave the heaters on after Stop Print (not recommended!) //#define SD_ABORT_NO_COOLDOWN @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1140,12 +1153,12 @@ #define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames #define STATUS_HEAT_PERCENT // Show heating in a progress bar #define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash) - //#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~‭3260 (or ~940) bytes of PROGMEM. + #define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~‭3260 (or ~940) bytes of PROGMEM. // Frivolous Game Options - //#define MARLIN_BRICKOUT - //#define MARLIN_INVADERS - //#define MARLIN_SNAKE + #define MARLIN_BRICKOUT + #define MARLIN_INVADERS + #define MARLIN_SNAKE //#define GAMES_EASTER_EGG // Add extra blank lines above the "Games" sub-menu #endif // HAS_GRAPHICAL_LCD @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1240,7 +1301,7 @@ #endif #endif - //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 + #define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping #if ENABLED(BABYSTEP_ZPROBE_OFFSET) @@ -1267,15 +1328,51 @@ * See http://marlinfw.org/docs/features/lin_advance.html for full instructions. * Mention @Sebastianv650 on GitHub to alert the author of any issues. */ -//#define LIN_ADVANCE +#define LIN_ADVANCE #if ENABLED(LIN_ADVANCE) //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants - #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed + #define LIN_ADVANCE_K 0 // Unit: mm compression per 1mm/s extruder speed //#define LA_DEBUG // If enabled, this will generate debug information output over USB. #endif // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2326,7 +2440,7 @@ * - M206 and M428 are disabled. * - G92 will revert to its behavior from Marlin 1.0. */ -#define NO_WORKSPACE_OFFSETS +//#define NO_WORKSPACE_OFFSETS /** * Set the number of proportional font spaces required to fill up a typical character space. @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Geeetech/GT2560/Configuration.h b/config/examples/Geeetech/GT2560/Configuration.h index de79058f30..44f5939b5e 100644 --- a/config/examples/Geeetech/GT2560/Configuration.h +++ b/config/examples/Geeetech/GT2560/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -905,11 +903,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -921,10 +918,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -958,7 +955,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1216,12 +1213,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1275,19 +1266,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1536,7 +1514,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1595,10 +1573,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2066,7 +2044,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2079,6 +2057,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2089,11 +2070,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2221,7 +2199,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h b/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h index 172d5f58f4..7b26ebec7a 100644 --- a/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h +++ b/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(R. de Weerd, I3 Pro X)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 8 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ #define NUM_SERVOS 1 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Geeetech/MeCreator2/Configuration.h b/config/examples/Geeetech/MeCreator2/Configuration.h index bde857d36c..edfd2c9179 100644 --- a/config/examples/Geeetech/MeCreator2/Configuration.h +++ b/config/examples/Geeetech/MeCreator2/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Phr3d13, MeCreator2)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -897,11 +895,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -913,10 +910,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -950,7 +947,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1208,12 +1205,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1267,19 +1258,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1528,7 +1506,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1587,10 +1565,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2058,7 +2036,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2071,6 +2049,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2081,11 +2062,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2213,7 +2191,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Geeetech/MeCreator2/Configuration_adv.h b/config/examples/Geeetech/MeCreator2/Configuration_adv.h index aa3fa1510f..048a1e955e 100644 --- a/config/examples/Geeetech/MeCreator2/Configuration_adv.h +++ b/config/examples/Geeetech/MeCreator2/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1275,6 +1336,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,7 +1432,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1347,7 +1444,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1482,19 +1580,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1700,78 +1798,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1910,10 +2021,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1937,6 +2050,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2420,10 +2534,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2504,6 +2614,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h index 1c9847f8a4..02d543fa1b 100644 --- a/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h +++ b/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(1138-4EB, Geeetech Prusa i3 Pro B BLTouch config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -911,11 +909,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -927,10 +924,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 4 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -44 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.4 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 4, -44, -1.4 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -964,7 +961,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1222,12 +1219,6 @@ #define GRID_MAX_POINTS_X 4 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION 10 - //#define RIGHT_PROBE_BED_POSITION (X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER - 14) - //#define FRONT_PROBE_BED_POSITION 15 - //#define BACK_PROBE_BED_POSITION (Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER - 25) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1281,19 +1272,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1542,7 +1520,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1601,10 +1579,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2072,7 +2050,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2085,6 +2063,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2095,11 +2076,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2227,7 +2205,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h index db70d1cb0b..bae11398aa 100644 --- a/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h +++ b/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(1138-4EB, Geeetech Prusa i3 Pro B config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -910,11 +908,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -926,10 +923,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -963,7 +960,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1221,12 +1218,6 @@ #define GRID_MAX_POINTS_X 4 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION 10 - //#define RIGHT_PROBE_BED_POSITION (X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER - 14) - //#define FRONT_PROBE_BED_POSITION 15 - //#define BACK_PROBE_BED_POSITION (Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER - 25) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1280,19 +1271,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1541,7 +1519,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1600,10 +1578,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2071,7 +2049,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2084,6 +2062,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2094,11 +2075,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2226,7 +2204,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h index aa4908d799..3ad7d31902 100644 --- a/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h +++ b/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Phr3d13, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h b/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h index 3e92df1be5..d18140a709 100644 --- a/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h +++ b/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h index ae0e7cda66..c7c00987b0 100644 --- a/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h +++ b/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Phr3d13, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h b/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h index 3e92df1be5..d18140a709 100644 --- a/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h +++ b/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/HMS434/Configuration.h b/config/examples/HMS434/Configuration.h index c4a91c1236..463585eae2 100644 --- a/config/examples/HMS434/Configuration.h +++ b/config/examples/HMS434/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Scheepers, MaukCC)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -877,11 +875,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -893,10 +890,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -21 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 22 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.54 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -21, 22, -1.54 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 20 @@ -930,7 +927,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1188,12 +1185,6 @@ #define GRID_MAX_POINTS_X 5 #define GRID_MAX_POINTS_Y 3 - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1247,19 +1238,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1567,10 +1545,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2032,7 +2010,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2045,6 +2023,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2055,11 +2036,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2187,7 +2165,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/HMS434/Configuration_adv.h b/config/examples/HMS434/Configuration_adv.h index ac27d24577..333a0c85b5 100644 --- a/config/examples/HMS434/Configuration_adv.h +++ b/config/examples/HMS434/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -594,8 +594,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -612,7 +612,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -639,19 +639,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section extras - // minimum time in microseconds that a movement needs to take if the buffer is emptied. #define DEFAULT_MINSEGMENTTIME 20000 @@ -731,8 +718,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -829,6 +816,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -1002,17 +998,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1136,6 +1146,97 @@ #endif // HAS_GRAPHICAL_LCD +// +// Lulzbot Touch UI +// +#if ENABLED(LULZBOT_TOUCH_UI) + // Display board used + //#define LCD_FTDI_VM800B35A // FTDI 3.5" with FT800 (320x240) + //#define LCD_4DSYSTEMS_4DLCD_FT843 // 4D Systems 4.3" (480x272) + //#define LCD_HAOYU_FT800CB // Haoyu with 4.3" or 5" (480x272) + //#define LCD_HAOYU_FT810CB // Haoyu with 5" (800x480) + //#define LCD_ALEPHOBJECTS_CLCD_UI // Aleph Objects Color LCD UI + + // Correct the resolution if not using the stock TFT panel. + //#define TOUCH_UI_320x240 + //#define TOUCH_UI_480x272 + //#define TOUCH_UI_800x480 + + // Mappings for boards with a standard RepRapDiscount Display connector + //#define AO_EXP1_PINMAP // AlephObjects CLCD UI EXP1 mapping + //#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping + //#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping + //#define OTHER_PIN_LAYOUT // Define pins manually below + #if ENABLED(OTHER_PIN_LAYOUT) + // The pins for CS and MOD_RESET (PD) must be chosen. + #define CLCD_MOD_RESET 9 + #define CLCD_SPI_CS 10 + + // If using software SPI, specify pins for SCLK, MOSI, MISO + //#define CLCD_USE_SOFT_SPI + #if ENABLED(CLCD_USE_SOFT_SPI) + #define CLCD_SOFT_SPI_MOSI 11 + #define CLCD_SOFT_SPI_MISO 12 + #define CLCD_SOFT_SPI_SCLK 13 + #endif + #endif + + // Display Orientation. An inverted (i.e. upside-down) display + // is supported on the FT800. The FT810 and beyond also support + // portrait and mirrored orientations. + //#define TOUCH_UI_INVERTED + //#define TOUCH_UI_PORTRAIT + //#define TOUCH_UI_MIRRORED + + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Runtime language selection (otherwise LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + + // Use a numeric passcode for "Screen lock" keypad. + // (recommended for smaller displays) + //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan +#endif + // @section safety /** @@ -1215,6 +1316,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1275,7 +1412,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1287,7 +1424,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1422,19 +1560,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1640,78 +1778,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1850,10 +2001,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1877,6 +2030,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2346,10 +2500,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2430,6 +2580,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Infitary/i3-M508/Configuration.h b/config/examples/Infitary/i3-M508/Configuration.h index ac7242120b..9f19367910 100644 --- a/config/examples/Infitary/i3-M508/Configuration.h +++ b/config/examples/Infitary/i3-M508/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(tjclement, Infitary M508)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -894,11 +892,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -910,10 +907,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -947,7 +944,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1205,12 +1202,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1264,19 +1255,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1525,7 +1503,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1584,10 +1562,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2055,7 +2033,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2068,6 +2046,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2078,11 +2059,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2210,7 +2188,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Infitary/i3-M508/Configuration_adv.h b/config/examples/Infitary/i3-M508/Configuration_adv.h index 225e8caded..6a3b21a043 100644 --- a/config/examples/Infitary/i3-M508/Configuration_adv.h +++ b/config/examples/Infitary/i3-M508/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/JGAurora/A1/Configuration.h b/config/examples/JGAurora/A1/Configuration.h index 16577c8bc1..8445110af1 100644 --- a/config/examples/JGAurora/A1/Configuration.h +++ b/config/examples/JGAurora/A1/Configuration.h @@ -70,18 +70,13 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 // ╦╔═╗╔═╗┬ ┬┬─┐┌─┐┬─┐┌─┐╔═╗┌─┐┬─┐┬ ┬┌┬┐ ┌─┐┌─┐┌┬┐ // ║║ ╦╠═╣│ │├┬┘│ │├┬┘├─┤╠╣ │ │├┬┘│ ││││ │ │ ││││ // ╚╝╚═╝╩ ╩└─┘┴└─└─┘┴└─┴ ┴╚ └─┘┴└─└─┘┴ ┴o└─┘└─┘┴ ┴ #define STRING_CONFIG_H_AUTHOR "(Roberto Mariani & Samuel Pinches)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 "JG-A1 v2.0 (29-7-19)" // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 "JGAuroraForum.com" // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -94,10 +89,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -897,11 +895,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -913,10 +910,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -950,7 +947,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1208,12 +1205,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1267,19 +1258,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1528,7 +1506,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1587,10 +1565,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2059,7 +2037,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // #define FSMC_GRAPHICAL_TFT //#define PRINTER_EVENT_LEDS @@ -2073,6 +2051,9 @@ // #define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2084,11 +2065,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2216,7 +2194,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/JGAurora/A1/Configuration_adv.h b/config/examples/JGAurora/A1/Configuration_adv.h index 5eaf018e3a..642cb2bde8 100644 --- a/config/examples/JGAurora/A1/Configuration_adv.h +++ b/config/examples/JGAurora/A1/Configuration_adv.h @@ -219,7 +219,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -607,8 +607,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -625,7 +625,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -652,19 +652,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 60*60, 60*60, 10*60, 10*60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -744,8 +731,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -842,6 +829,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 60*60, 60*60, 10*60, 10*60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -864,6 +860,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1020,17 +1019,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1197,9 +1210,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1281,6 +1342,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1341,7 +1438,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1353,7 +1450,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1488,19 +1586,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1706,78 +1804,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1916,10 +2027,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1943,6 +2056,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2426,10 +2540,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2510,6 +2620,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/JGAurora/A5/Configuration.h b/config/examples/JGAurora/A5/Configuration.h index c6a91a0560..8e2c31a08e 100644 --- a/config/examples/JGAurora/A5/Configuration.h +++ b/config/examples/JGAurora/A5/Configuration.h @@ -75,13 +75,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Telli Mantelli, Kris Waclawski, Samuel Pinches & Michael Gilardi, 21 Jan 2018)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -94,10 +89,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -902,11 +900,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -918,10 +915,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -955,7 +952,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1213,12 +1210,6 @@ #define GRID_MAX_POINTS_X 5 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION 15 - //#define RIGHT_PROBE_BED_POSITION 170 - //#define FRONT_PROBE_BED_POSITION 20 - //#define BACK_PROBE_BED_POSITION 170 - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1272,19 +1263,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1533,7 +1511,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1592,10 +1570,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2063,7 +2041,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2076,6 +2054,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2086,11 +2067,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2218,7 +2196,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/JGAurora/A5/Configuration_adv.h b/config/examples/JGAurora/A5/Configuration_adv.h index 581849514f..c244a2a0a5 100644 --- a/config/examples/JGAurora/A5/Configuration_adv.h +++ b/config/examples/JGAurora/A5/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 80*60, 80*60, 12*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 80*60, 80*60, 12*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/JGAurora/A5S/Configuration.h b/config/examples/JGAurora/A5S/Configuration.h index 23d8d4749f..09f34afe2c 100644 --- a/config/examples/JGAurora/A5S/Configuration.h +++ b/config/examples/JGAurora/A5S/Configuration.h @@ -70,18 +70,13 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 // ╦╔═╗╔═╗┬ ┬┬─┐┌─┐┬─┐┌─┐╔═╗┌─┐┬─┐┬ ┬┌┬┐ ┌─┐┌─┐┌┬┐ // ║║ ╦╠═╣│ │├┬┘│ │├┬┘├─┤╠╣ │ │├┬┘│ ││││ │ │ ││││ // ╚╝╚═╝╩ ╩└─┘┴└─└─┘┴└─┴ ┴╚ └─┘┴└─└─┘┴ ┴o└─┘└─┘┴ ┴ #define STRING_CONFIG_H_AUTHOR "(Roberto Mariani & Samuel Pinches)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 "JG-A5S v2.0 (29-7-19)" // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 "JGAuroraForum.com" // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -94,10 +89,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -897,11 +895,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -913,10 +910,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -950,7 +947,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1208,12 +1205,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1267,19 +1258,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1528,7 +1506,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1587,10 +1565,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2059,7 +2037,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // #define FSMC_GRAPHICAL_TFT //#define PRINTER_EVENT_LEDS @@ -2073,6 +2051,9 @@ // #define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2084,11 +2065,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2216,7 +2194,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/JGAurora/A5S/Configuration_adv.h b/config/examples/JGAurora/A5S/Configuration_adv.h index 5eaf018e3a..642cb2bde8 100644 --- a/config/examples/JGAurora/A5S/Configuration_adv.h +++ b/config/examples/JGAurora/A5S/Configuration_adv.h @@ -219,7 +219,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -607,8 +607,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -625,7 +625,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -652,19 +652,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 60*60, 60*60, 10*60, 10*60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -744,8 +731,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -842,6 +829,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 60*60, 60*60, 10*60, 10*60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -864,6 +860,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1020,17 +1019,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1197,9 +1210,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1281,6 +1342,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1341,7 +1438,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1353,7 +1450,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1488,19 +1586,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1706,78 +1804,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1916,10 +2027,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1943,6 +2056,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2426,10 +2540,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2510,6 +2620,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/MakerParts/Configuration.h b/config/examples/MakerParts/Configuration.h index e9fef18718..b5ed76af06 100644 --- a/config/examples/MakerParts/Configuration.h +++ b/config/examples/MakerParts/Configuration.h @@ -90,13 +90,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "ejtagle" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -109,10 +104,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -910,11 +908,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -926,10 +923,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -963,7 +960,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1221,12 +1218,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1280,19 +1271,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1541,7 +1519,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1600,10 +1578,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2071,7 +2049,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2084,6 +2062,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2094,11 +2075,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2226,7 +2204,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/MakerParts/Configuration_adv.h b/config/examples/MakerParts/Configuration_adv.h index 5e96f58c40..04527f748e 100644 --- a/config/examples/MakerParts/Configuration_adv.h +++ b/config/examples/MakerParts/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2414,10 +2528,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2498,6 +2608,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Malyan/M150/Configuration.h b/config/examples/Malyan/M150/Configuration.h index c537d13bd8..25a37e560d 100644 --- a/config/examples/Malyan/M150/Configuration.h +++ b/config/examples/Malyan/M150/Configuration.h @@ -75,13 +75,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Gunther)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -94,10 +89,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -910,11 +908,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -926,14 +923,14 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ // Set for HoolyHoo's probe mount // http://www.thingiverse.com/thing:1960419 // Note: HoolyHoo mount is X=35, Y=-50. -//#define X_PROBE_OFFSET_FROM_EXTRUDER 35 // X offset: -left +right [of the nozzle] -//#define Y_PROBE_OFFSET_FROM_EXTRUDER -50 // Y offset: -front +behind [the nozzle] -//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +//#define NOZZLE_TO_PROBE_OFFSET { 35, -50, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -967,7 +964,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1229,12 +1226,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION 50 - //#define RIGHT_PROBE_BED_POSITION 150 - //#define FRONT_PROBE_BED_POSITION 50 - //#define BACK_PROBE_BED_POSITION 150 - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1549,7 +1540,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1608,10 +1599,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2079,7 +2070,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2092,6 +2083,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2102,11 +2096,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2234,7 +2225,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Malyan/M150/Configuration_adv.h b/config/examples/Malyan/M150/Configuration_adv.h index d9d81846af..3fff5c7cc4 100644 --- a/config/examples/Malyan/M150/Configuration_adv.h +++ b/config/examples/Malyan/M150/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Malyan/M200/Configuration.h b/config/examples/Malyan/M200/Configuration.h index 4fb2a36916..179d0cdfa7 100644 --- a/config/examples/Malyan/M200/Configuration.h +++ b/config/examples/Malyan/M200/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(xC0000005, Malyan M200 build)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -889,11 +887,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -905,10 +902,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -942,7 +939,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1200,12 +1197,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1259,19 +1250,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1520,7 +1498,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1579,10 +1557,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2050,7 +2028,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2063,6 +2041,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2073,11 +2054,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2205,7 +2183,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Malyan/M200/Configuration_adv.h b/config/examples/Malyan/M200/Configuration_adv.h index f5c0fd47ed..372b708c2a 100644 --- a/config/examples/Malyan/M200/Configuration_adv.h +++ b/config/examples/Malyan/M200/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Malyan/M200/README.md b/config/examples/Malyan/M200/README.md index 84490786e1..8129650dc7 100644 --- a/config/examples/Malyan/M200/README.md +++ b/config/examples/Malyan/M200/README.md @@ -1,6 +1,6 @@ ### Malyan M200 Build Instructions -Malyan M200 series firmware currently builds using the Arduino IDE. These instructions should +Malyan M200 series firmware currently builds using the Arduino IDE. These instructions should guide you through the configuration and compilation. 1. Install the Arduino IDE from your favorite source (arduino.cc, windows store, app store) @@ -27,7 +27,7 @@ guide you through the configuration and compilation. The file `Marlin.ino.bin` is your firmware binary. M200 (v1-3) and M300 printers require flashing via SD card. Use the SD card that came with the printer if possible. The bootloader is very picky about SD cards. Copy `Marlin.ino.bin` to your SD card under three names: `firmware.bin`, `update.bin`, and `fcupdate.flg`. 16. Insert the SD card into your printer. Make sure the X and Y axes are centered in the middle of the bed. (When X and Y endstops are closed this signals a UI upgrade to the bootloader.) 17. Power-cycle the printer. The first flash may take longer. Don't be surprised if the .99 version number doesn't show up until after the UI has launched the default screen. -18. Remove the SD card and delete the `fcupdate.flg` file from the card to prevent an accidental re-flash. +18. Remove the SD card and delete the `fcupdate.flg` file from the card to prevent an accidental re-flash. 19. Test the endstops and homing directions, run M303 PID autotune, and verify all features are working correctly. Welcome to Marlin 2.x... diff --git a/config/examples/Micromake/C1/basic/Configuration.h b/config/examples/Micromake/C1/basic/Configuration.h index 7b8b886fcd..93489b0516 100644 --- a/config/examples/Micromake/C1/basic/Configuration.h +++ b/config/examples/Micromake/C1/basic/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(MetalSearch, Micromake C1 factory settings)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -894,11 +892,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -910,10 +907,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -947,7 +944,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1205,12 +1202,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1264,19 +1255,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1525,7 +1503,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1584,10 +1562,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2055,7 +2033,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2068,6 +2046,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2078,11 +2059,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2210,7 +2188,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Micromake/C1/enhanced/Configuration.h b/config/examples/Micromake/C1/enhanced/Configuration.h index 02178a99d0..d4dcbb6698 100644 --- a/config/examples/Micromake/C1/enhanced/Configuration.h +++ b/config/examples/Micromake/C1/enhanced/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(MetalSearch, Micromake C1 enhanced)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -894,11 +892,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -910,10 +907,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -947,7 +944,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1205,12 +1202,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1264,19 +1255,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1525,7 +1503,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1584,10 +1562,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2055,7 +2033,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2068,6 +2046,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2078,11 +2059,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2210,7 +2188,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Micromake/C1/enhanced/Configuration_adv.h b/config/examples/Micromake/C1/enhanced/Configuration_adv.h index 6cb6eee15c..3f3ae40548 100644 --- a/config/examples/Micromake/C1/enhanced/Configuration_adv.h +++ b/config/examples/Micromake/C1/enhanced/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Mks/Robin/Configuration.h b/config/examples/Mks/Robin/Configuration.h index 2338741646..07cb10d359 100644 --- a/config/examples/Mks/Robin/Configuration.h +++ b/config/examples/Mks/Robin/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -891,11 +889,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -907,10 +904,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -944,7 +941,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1202,12 +1199,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1261,19 +1252,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1522,7 +1500,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1581,10 +1559,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2053,7 +2031,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // #define FSMC_GRAPHICAL_TFT @@ -2064,23 +2042,30 @@ // // ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8 // -//#define TOUCH_BUTTONS +#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) - #define XPT2046_X_CALIBRATION 12316 - #define XPT2046_Y_CALIBRATION -8981 - #define XPT2046_X_OFFSET -43 - #define XPT2046_Y_OFFSET 257 + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + + /* MKS Robin TFT v2.0 */ + #define XPT2046_X_CALIBRATION 12013 + #define XPT2046_Y_CALIBRATION -8711 + #define XPT2046_X_OFFSET -32 + #define XPT2046_Y_OFFSET 256 + + /* MKS Robin TFT v1.1 */ + //#define XPT2046_X_CALIBRATION -11792 + //#define XPT2046_Y_CALIBRATION 8947 + //#define XPT2046_X_OFFSET 342 + //#define XPT2046_Y_OFFSET -19 #endif // // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2208,7 +2193,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Mks/Robin/Configuration_adv.h b/config/examples/Mks/Robin/Configuration_adv.h index e6ad372b3c..2b43d67e64 100644 --- a/config/examples/Mks/Robin/Configuration_adv.h +++ b/config/examples/Mks/Robin/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Mks/Sbase/Configuration.h b/config/examples/Mks/Sbase/Configuration.h index dd5e3a92af..f144b1ddb6 100644 --- a/config/examples/Mks/Sbase/Configuration.h +++ b/config/examples/Mks/Sbase/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 32 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 32, 5, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Mks/Sbase/Configuration_adv.h b/config/examples/Mks/Sbase/Configuration_adv.h index 1015a220a0..28ec8ab8f3 100644 --- a/config/examples/Mks/Sbase/Configuration_adv.h +++ b/config/examples/Mks/Sbase/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -838,6 +825,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -860,6 +856,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1016,17 +1015,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1193,9 +1206,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1277,6 +1338,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1337,7 +1434,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1349,7 +1446,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1484,19 +1582,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1702,78 +1800,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1912,10 +2023,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1939,6 +2052,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2422,10 +2536,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2506,6 +2616,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Printrbot/PrintrboardG2/Configuration.h b/config/examples/Printrbot/PrintrboardG2/Configuration.h index f9951a0dfd..4dfeefb576 100644 --- a/config/examples/Printrbot/PrintrboardG2/Configuration.h +++ b/config/examples/Printrbot/PrintrboardG2/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -898,11 +896,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -914,10 +911,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -951,7 +948,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1209,12 +1206,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1268,19 +1259,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1529,7 +1507,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1588,10 +1566,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2059,7 +2037,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2072,6 +2050,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2082,11 +2063,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2214,7 +2192,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/RapideLite/RL200/Configuration.h b/config/examples/RapideLite/RL200/Configuration.h index 6a8fa23db6..91bddbf06f 100644 --- a/config/examples/RapideLite/RL200/Configuration.h +++ b/config/examples/RapideLite/RL200/Configuration.h @@ -70,14 +70,9 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(platon42)" // Who made the changes. -//#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 - +// /** * *** VENDORS PLEASE READ *** * @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/RapideLite/RL200/Configuration_adv.h b/config/examples/RapideLite/RL200/Configuration_adv.h index 55dd2b7c2d..32436ebc91 100644 --- a/config/examples/RapideLite/RL200/Configuration_adv.h +++ b/config/examples/RapideLite/RL200/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/RepRapPro/Huxley/Configuration.h b/config/examples/RepRapPro/Huxley/Configuration.h index 4b091a358e..f250870d23 100644 --- a/config/examples/RepRapPro/Huxley/Configuration.h +++ b/config/examples/RepRapPro/Huxley/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(indazoo, Huxley v1)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -930,11 +928,10 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -946,10 +943,10 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -983,7 +980,7 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1250,12 +1247,6 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1309,19 +1300,6 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1570,7 +1548,7 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1629,10 +1607,10 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2100,7 +2078,7 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2113,6 +2091,9 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2123,11 +2104,8 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2255,7 +2233,7 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/RepRapWorld/Megatronics/Configuration.h b/config/examples/RepRapWorld/Megatronics/Configuration.h index 0900fa81ad..39561c347b 100644 --- a/config/examples/RepRapWorld/Megatronics/Configuration.h +++ b/config/examples/RepRapWorld/Megatronics/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "RepRapWorld.com" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// #define REPRAPWORLD_KEYPAD -#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 +#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/RigidBot/Configuration.h b/config/examples/RigidBot/Configuration.h index 7973879348..3a85d9f86d 100644 --- a/config/examples/RigidBot/Configuration.h +++ b/config/examples/RigidBot/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, RigidBot)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -888,11 +886,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -904,10 +901,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -941,7 +938,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1199,12 +1196,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1258,19 +1249,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1519,7 +1497,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1578,10 +1556,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/RigidBot/Configuration_adv.h b/config/examples/RigidBot/Configuration_adv.h index 53d5a30563..9ffc55cc96 100644 --- a/config/examples/RigidBot/Configuration_adv.h +++ b/config/examples/RigidBot/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/SCARA/Configuration.h b/config/examples/SCARA/Configuration.h index a7a02c0f8f..64b2191134 100644 --- a/config/examples/SCARA/Configuration.h +++ b/config/examples/SCARA/Configuration.h @@ -97,13 +97,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -116,10 +111,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -899,11 +897,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -915,10 +912,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -952,7 +949,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1210,12 +1207,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1269,19 +1260,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1530,7 +1508,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1589,10 +1567,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2060,7 +2038,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2073,6 +2051,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2083,11 +2064,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2215,7 +2193,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/SCARA/Configuration_adv.h b/config/examples/SCARA/Configuration_adv.h index 8b8c5739b6..5ce747fb3b 100644 --- a/config/examples/SCARA/Configuration_adv.h +++ b/config/examples/SCARA/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 10*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 10*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 35 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 35 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/STM32/Black_STM32F407VET6/Configuration.h b/config/examples/STM32/Black_STM32F407VET6/Configuration.h index 0903dae3f0..2f772633df 100644 --- a/config/examples/STM32/Black_STM32F407VET6/Configuration.h +++ b/config/examples/STM32/Black_STM32F407VET6/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ #define NUM_SERVOS 2 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300, 300 } diff --git a/config/examples/STM32/Black_STM32F407VET6/Configuration_adv.h b/config/examples/STM32/Black_STM32F407VET6/Configuration_adv.h index 1975d27400..8fad7e1b9d 100644 --- a/config/examples/STM32/Black_STM32F407VET6/Configuration_adv.h +++ b/config/examples/STM32/Black_STM32F407VET6/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/STM32/STM32F10/Configuration.h b/config/examples/STM32/STM32F103R/Configuration.h similarity index 97% rename from config/examples/STM32/STM32F10/Configuration.h rename to config/examples/STM32/STM32F103R/Configuration.h index 8827cc5421..f31ac7831b 100644 --- a/config/examples/STM32/STM32F10/Configuration.h +++ b/config/examples/STM32/STM32F103R/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "Victor Perez" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION "STM32F103RET6 board" // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -131,7 +129,7 @@ // Choose the name from boards.h that matches your setup #ifndef MOTHERBOARD - #define MOTHERBOARD BOARD_STM32F1R + #define MOTHERBOARD BOARD_STM32F103R #endif // Name displayed in the LCD "Ready" message and Info menu @@ -892,11 +890,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -908,10 +905,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -945,7 +942,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1203,12 +1200,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1262,19 +1253,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1523,7 +1501,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1582,10 +1560,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2053,7 +2031,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2066,6 +2044,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2076,11 +2057,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2208,7 +2186,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/STM32/STM32F4/Configuration.h b/config/examples/STM32/STM32F4/Configuration.h index dfa52035ce..2c303616f8 100644 --- a/config/examples/STM32/STM32F4/Configuration.h +++ b/config/examples/STM32/STM32F4/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/STM32/stm32f103ret6/Configuration.h b/config/examples/STM32/stm32f103ret6/Configuration.h index abda3c7f1e..16b6cd7020 100644 --- a/config/examples/STM32/stm32f103ret6/Configuration.h +++ b/config/examples/STM32/stm32f103ret6/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "Victor Perez" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION "STM32F103RET6 board" // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -131,7 +129,7 @@ // Choose the name from boards.h that matches your setup #ifndef MOTHERBOARD - #define MOTHERBOARD BOARD_STM32F1R + #define MOTHERBOARD BOARD_STM32F103R #endif // Name displayed in the LCD "Ready" message and Info menu @@ -892,11 +890,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -908,10 +905,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -945,7 +942,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1203,12 +1200,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1262,19 +1253,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1523,7 +1501,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1582,10 +1560,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2053,7 +2031,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2066,6 +2044,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2076,11 +2057,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2208,7 +2186,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Sanguinololu/Configuration.h b/config/examples/Sanguinololu/Configuration.h index 2782705eea..64b533ad9d 100644 --- a/config/examples/Sanguinololu/Configuration.h +++ b/config/examples/Sanguinololu/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(thinkyhead, Sanguinololu)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -921,11 +919,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -937,10 +934,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -974,7 +971,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1232,12 +1229,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1291,19 +1282,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1552,7 +1530,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1611,10 +1589,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2082,7 +2060,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2095,6 +2073,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2105,11 +2086,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2237,7 +2215,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Sanguinololu/Configuration_adv.h b/config/examples/Sanguinololu/Configuration_adv.h index 2c63cff33e..77da1c18df 100644 --- a/config/examples/Sanguinololu/Configuration_adv.h +++ b/config/examples/Sanguinololu/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Tevo/Michelangelo/Configuration.h b/config/examples/Tevo/Michelangelo/Configuration.h index f41e67e959..4168fbe0fb 100644 --- a/config/examples/Tevo/Michelangelo/Configuration.h +++ b/config/examples/Tevo/Michelangelo/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(thisiskeithb, Tevo Michelangelo)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -895,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -911,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -948,7 +945,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1206,12 +1203,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1265,19 +1256,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1526,7 +1504,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1585,10 +1563,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2056,7 +2034,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2069,6 +2047,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2079,11 +2060,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2211,7 +2189,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Tevo/Michelangelo/Configuration_adv.h b/config/examples/Tevo/Michelangelo/Configuration_adv.h index 1d97c887df..aa71156d6d 100644 --- a/config/examples/Tevo/Michelangelo/Configuration_adv.h +++ b/config/examples/Tevo/Michelangelo/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,18 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -738,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -836,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -858,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1014,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1191,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1275,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1347,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1482,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1700,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1910,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1937,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2420,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2504,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Tevo/Tarantula Pro/Configuration.h b/config/examples/Tevo/Tarantula Pro/Configuration.h index 9c8b56ba04..c9876e9377 100644 --- a/config/examples/Tevo/Tarantula Pro/Configuration.h +++ b/config/examples/Tevo/Tarantula Pro/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(thisiskeithb, Tevo Tarantula Pro)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -514,7 +512,7 @@ * heater. If your configuration is significantly different than this and you don't understand * the issues involved, don't use bed PID until someone else verifies that your hardware works. */ -#define PIDTEMPBED +//#define PIDTEMPBED //#define BED_LIMIT_SWITCHING @@ -895,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -911,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 18 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.5 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 18, -1.5 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -941,7 +938,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1199,12 +1196,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1258,19 +1249,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1519,7 +1497,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1578,10 +1556,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2049,7 +2027,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2062,6 +2040,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2072,11 +2053,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2204,7 +2182,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Tevo/Tarantula Pro/Configuration_adv.h b/config/examples/Tevo/Tarantula Pro/Configuration_adv.h index c9648ea197..1cc140d9d0 100644 --- a/config/examples/Tevo/Tarantula Pro/Configuration_adv.h +++ b/config/examples/Tevo/Tarantula Pro/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -616,7 +616,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -643,19 +643,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -735,8 +722,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -833,6 +820,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -855,6 +851,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1011,17 +1010,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1188,9 +1201,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1272,6 +1333,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1332,7 +1429,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1344,7 +1441,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1479,19 +1577,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1697,78 +1795,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1907,10 +2018,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1934,6 +2047,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2417,10 +2531,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2501,6 +2611,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration.h b/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration.h index c6f0ac9dfe..2ae9e405c9 100644 --- a/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration.h +++ b/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(thisiskeithb, Tevo Tornado V1)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -895,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -911,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -45 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -12 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -2.77 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -45, -12, -2.77 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -948,7 +945,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1206,12 +1203,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1265,19 +1256,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1526,7 +1504,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1585,10 +1563,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2056,7 +2034,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2069,6 +2047,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2079,11 +2060,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2211,7 +2189,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration_adv.h b/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration_adv.h index 99a4cc0f97..56c1900e7c 100644 --- a/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration_adv.h +++ b/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,18 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -738,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -836,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -858,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1014,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1191,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1275,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1306,7 +1404,7 @@ // // G2/G3 Arc Support // -#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +//#define ARC_SUPPORT // Disable this feature to save ~3226 bytes #if ENABLED(ARC_SUPPORT) #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment #define MIN_ARC_SEGMENTS 24 // Minimum number of segments in a complete circle @@ -1335,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1347,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1482,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1700,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1910,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1937,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2420,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2504,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration.h b/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration.h index 7b3400c760..37401fdfdc 100644 --- a/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration.h +++ b/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(thisiskeithb, Tevo Tornado V2)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -895,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -911,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -45 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -12 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -2.77 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -45, -12, -2.77 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -948,7 +945,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1206,12 +1203,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1265,19 +1256,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1526,7 +1504,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1585,10 +1563,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2056,7 +2034,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2069,6 +2047,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2079,11 +2060,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2211,7 +2189,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration_adv.h b/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration_adv.h index 99a4cc0f97..56c1900e7c 100644 --- a/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration_adv.h +++ b/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,18 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -738,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -836,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -858,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1014,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1191,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1275,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1306,7 +1404,7 @@ // // G2/G3 Arc Support // -#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +//#define ARC_SUPPORT // Disable this feature to save ~3226 bytes #if ENABLED(ARC_SUPPORT) #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment #define MIN_ARC_SEGMENTS 24 // Minimum number of segments in a complete circle @@ -1335,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1347,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1482,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1700,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1910,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1937,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2420,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2504,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/TheBorg/Configuration.h b/config/examples/TheBorg/Configuration.h index 64a6401dcc..4286c6f8a4 100644 --- a/config/examples/TheBorg/Configuration.h +++ b/config/examples/TheBorg/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Spawn32, The_Borg)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 32 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.3 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 32, 5, -1.3 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/TheBorg/Configuration_adv.h b/config/examples/TheBorg/Configuration_adv.h index 3b9927d581..60053f18a3 100644 --- a/config/examples/TheBorg/Configuration_adv.h +++ b/config/examples/TheBorg/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/TinyBoy2/Configuration.h b/config/examples/TinyBoy2/Configuration.h index 8760e16c61..78f5b78be6 100644 --- a/config/examples/TinyBoy2/Configuration.h +++ b/config/examples/TinyBoy2/Configuration.h @@ -86,13 +86,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(StefanB, TinyBoy2)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -105,10 +100,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -941,11 +939,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -957,10 +954,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 34 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 15 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 34, 15, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -994,7 +991,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1257,12 +1254,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1316,19 +1307,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1577,7 +1555,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1636,10 +1614,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2107,7 +2085,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2120,6 +2098,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2130,11 +2111,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2262,7 +2240,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/TinyBoy2/Configuration_adv.h b/config/examples/TinyBoy2/Configuration_adv.h index ba50def85f..1c7f8e266c 100644 --- a/config/examples/TinyBoy2/Configuration_adv.h +++ b/config/examples/TinyBoy2/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Tronxy/X1/Configuration.h b/config/examples/Tronxy/X1/Configuration.h index be6edb0325..5f3a4ce823 100644 --- a/config/examples/Tronxy/X1/Configuration.h +++ b/config/examples/Tronxy/X1/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Claus Naeveke, 0.1)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Tronxy/X3A/Configuration.h b/config/examples/Tronxy/X3A/Configuration.h index 3237a3727f..75b1551113 100644 --- a/config/examples/Tronxy/X3A/Configuration.h +++ b/config/examples/Tronxy/X3A/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Schullebernd, Tronxy X3A)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -32 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.5 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -32, -10, -0.5 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 50 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1205,12 +1202,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1264,19 +1255,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1525,7 +1503,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1584,10 +1562,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2055,7 +2033,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2068,6 +2046,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2078,11 +2059,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2210,7 +2188,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Tronxy/X3A/Configuration_adv.h b/config/examples/Tronxy/X3A/Configuration_adv.h index 6a90dd450b..b207a08f4b 100644 --- a/config/examples/Tronxy/X3A/Configuration_adv.h +++ b/config/examples/Tronxy/X3A/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Tronxy/X5S-2E/Configuration.h b/config/examples/Tronxy/X5S-2E/Configuration.h index e507b97545..ce81d16bd1 100644 --- a/config/examples/Tronxy/X5S-2E/Configuration.h +++ b/config/examples/Tronxy/X5S-2E/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Anthony Rich, OEM stock config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -911,11 +909,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -927,10 +924,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -964,7 +961,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1222,12 +1219,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1281,19 +1272,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1542,7 +1520,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1601,10 +1579,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2072,7 +2050,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2085,6 +2063,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2095,11 +2076,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2227,7 +2205,7 @@ */ #define NUM_SERVOS 2 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300, 300 } diff --git a/config/examples/Tronxy/X5S-2E/Configuration_adv.h b/config/examples/Tronxy/X5S-2E/Configuration_adv.h index a3c684c7bc..5f8969c6ee 100644 --- a/config/examples/Tronxy/X5S-2E/Configuration_adv.h +++ b/config/examples/Tronxy/X5S-2E/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Tronxy/X5S/Configuration.h b/config/examples/Tronxy/X5S/Configuration.h index dfb7f0ce2a..0f468a7b4d 100644 --- a/config/examples/Tronxy/X5S/Configuration.h +++ b/config/examples/Tronxy/X5S/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -45 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -55 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -45, -55, -0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION 15 - //#define RIGHT_PROBE_BED_POSITION 270 - //#define FRONT_PROBE_BED_POSITION 20 - //#define BACK_PROBE_BED_POSITION 260 - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Tronxy/XY100/Configuration.h b/config/examples/Tronxy/XY100/Configuration.h index 6d2071e3bb..6152d48284 100644 --- a/config/examples/Tronxy/XY100/Configuration.h +++ b/config/examples/Tronxy/XY100/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Rob Griffiths, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -901,11 +899,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -917,10 +914,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -954,7 +951,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1212,12 +1209,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1271,19 +1262,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1532,7 +1510,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1591,10 +1569,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2062,7 +2040,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2075,6 +2053,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2085,11 +2066,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2217,7 +2195,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/UltiMachine/Archim1/Configuration.h b/config/examples/UltiMachine/Archim1/Configuration.h index 34654579b6..26b09c64bb 100644 --- a/config/examples/UltiMachine/Archim1/Configuration.h +++ b/config/examples/UltiMachine/Archim1/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/UltiMachine/Archim1/Configuration_adv.h b/config/examples/UltiMachine/Archim1/Configuration_adv.h index 44cad6efab..f72be1c5ed 100644 --- a/config/examples/UltiMachine/Archim1/Configuration_adv.h +++ b/config/examples/UltiMachine/Archim1/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/UltiMachine/Archim2/Configuration.h b/config/examples/UltiMachine/Archim2/Configuration.h index 5e088041a6..a6baaec3d6 100644 --- a/config/examples/UltiMachine/Archim2/Configuration.h +++ b/config/examples/UltiMachine/Archim2/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/UltiMachine/Archim2/Configuration_adv.h b/config/examples/UltiMachine/Archim2/Configuration_adv.h index 83645407dd..6b399f2d74 100644 --- a/config/examples/UltiMachine/Archim2/Configuration_adv.h +++ b/config/examples/UltiMachine/Archim2/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/VORONDesign/Configuration.h b/config/examples/VORONDesign/Configuration.h index 9b379f5e83..96abead889 100644 --- a/config/examples/VORONDesign/Configuration.h +++ b/config/examples/VORONDesign/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -899,11 +897,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -915,10 +912,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -952,7 +949,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1210,12 +1207,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - #define LEFT_PROBE_BED_POSITION 15 - #define RIGHT_PROBE_BED_POSITION 200 - #define FRONT_PROBE_BED_POSITION 15 - #define BACK_PROBE_BED_POSITION 200 - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1269,19 +1260,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1530,7 +1508,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1589,10 +1567,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2060,7 +2038,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2073,6 +2051,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2083,11 +2064,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2215,7 +2193,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/VORONDesign/Configuration_adv.h b/config/examples/VORONDesign/Configuration_adv.h index 08059a94bd..47e3eeef37 100644 --- a/config/examples/VORONDesign/Configuration_adv.h +++ b/config/examples/VORONDesign/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Velleman/K8200/Configuration.h b/config/examples/Velleman/K8200/Configuration.h index 54adde7b6c..4537da2122 100644 --- a/config/examples/Velleman/K8200/Configuration.h +++ b/config/examples/Velleman/K8200/Configuration.h @@ -86,13 +86,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(K8200, @CONSULitAS)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -105,10 +100,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -919,11 +917,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -935,10 +932,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -972,7 +969,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1231,12 +1228,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1290,19 +1281,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1551,7 +1529,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1613,10 +1591,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2049,7 +2027,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2062,6 +2040,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2072,11 +2053,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2204,7 +2182,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Velleman/K8200/Configuration_adv.h b/config/examples/Velleman/K8200/Configuration_adv.h index 77c21db691..d7bc110d43 100644 --- a/config/examples/Velleman/K8200/Configuration_adv.h +++ b/config/examples/Velleman/K8200/Configuration_adv.h @@ -227,7 +227,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -615,8 +615,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -633,7 +633,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -660,19 +660,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -752,8 +739,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -850,6 +837,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -872,6 +868,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1028,17 +1027,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1205,9 +1218,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1289,6 +1350,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1349,7 +1446,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1361,7 +1458,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1496,19 +1594,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1714,78 +1812,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1924,10 +2035,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1951,6 +2064,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2434,10 +2548,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2518,6 +2628,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Velleman/K8400/Configuration.h b/config/examples/Velleman/K8400/Configuration.h index f14fd6d374..7a16004c50 100644 --- a/config/examples/Velleman/K8400/Configuration.h +++ b/config/examples/Velleman/K8400/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Anthony Birkett, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2207,7 +2185,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Velleman/K8400/Configuration_adv.h b/config/examples/Velleman/K8400/Configuration_adv.h index 0d54cda5cc..66938132df 100644 --- a/config/examples/Velleman/K8400/Configuration_adv.h +++ b/config/examples/Velleman/K8400/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Velleman/K8400/Dual-head/Configuration.h b/config/examples/Velleman/K8400/Dual-head/Configuration.h index cb02c225bc..6b0ffb7998 100644 --- a/config/examples/Velleman/K8400/Dual-head/Configuration.h +++ b/config/examples/Velleman/K8400/Dual-head/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Anthony Birkett, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2207,7 +2185,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/WASP/PowerWASP/Configuration.h b/config/examples/WASP/PowerWASP/Configuration.h index 2cb98a24ac..8e1e3ba1fb 100644 --- a/config/examples/WASP/PowerWASP/Configuration.h +++ b/config/examples/WASP/PowerWASP/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Julian + Jason)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -909,11 +907,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -925,10 +922,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -962,7 +959,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1220,12 +1217,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1279,19 +1270,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1540,7 +1518,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1599,10 +1577,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2070,7 +2048,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2083,6 +2061,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2093,11 +2074,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2225,7 +2203,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/WASP/PowerWASP/Configuration_adv.h b/config/examples/WASP/PowerWASP/Configuration_adv.h index e6e98d9a29..c2a3ec8d6e 100644 --- a/config/examples/WASP/PowerWASP/Configuration_adv.h +++ b/config/examples/WASP/PowerWASP/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Wanhao/Duplicator 6/Configuration.h b/config/examples/Wanhao/Duplicator 6/Configuration.h index 60533157f6..9bf46181bb 100644 --- a/config/examples/Wanhao/Duplicator 6/Configuration.h +++ b/config/examples/Wanhao/Duplicator 6/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Rob Mendon, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -900,11 +898,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -916,10 +913,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -953,7 +950,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1211,12 +1208,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1270,19 +1261,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1531,7 +1509,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1590,10 +1568,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2064,7 +2042,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2077,6 +2055,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2087,11 +2068,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2219,7 +2197,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Wanhao/Duplicator 6/Configuration_adv.h b/config/examples/Wanhao/Duplicator 6/Configuration_adv.h index c656b5b8d7..5742f98526 100644 --- a/config/examples/Wanhao/Duplicator 6/Configuration_adv.h +++ b/config/examples/Wanhao/Duplicator 6/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ #define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 70*60, 70*60, 15*60, 6*60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +826,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 70*60, 70*60, 15*60, 6*60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1338,7 +1435,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/Wanhao/Duplicator i3 Mini/Configuration.h b/config/examples/Wanhao/Duplicator i3 Mini/Configuration.h index 198b35814d..6a256a95fb 100644 --- a/config/examples/Wanhao/Duplicator i3 Mini/Configuration.h +++ b/config/examples/Wanhao/Duplicator i3 Mini/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(thisiskeithb, Wanhao i3 Mini)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/Wanhao/Duplicator i3 Mini/Configuration_adv.h b/config/examples/Wanhao/Duplicator i3 Mini/Configuration_adv.h index 85917d8d80..d38da532dd 100644 --- a/config/examples/Wanhao/Duplicator i3 Mini/Configuration_adv.h +++ b/config/examples/Wanhao/Duplicator i3 Mini/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/adafruit/ST7565/Configuration.h b/config/examples/adafruit/ST7565/Configuration.h index c7ce14d12c..8ed568a92d 100644 --- a/config/examples/adafruit/ST7565/Configuration.h +++ b/config/examples/adafruit/ST7565/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -890,11 +888,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -906,10 +903,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -943,7 +940,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1201,12 +1198,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1260,19 +1251,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1521,7 +1499,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1580,10 +1558,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2051,7 +2029,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2064,6 +2042,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2074,11 +2055,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2206,7 +2184,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/Anycubic/Kossel/Configuration.h b/config/examples/delta/Anycubic/Kossel/Configuration.h index 3dc1a75c3c..c18b065415 100644 --- a/config/examples/delta/Anycubic/Kossel/Configuration.h +++ b/config/examples/delta/Anycubic/Kossel/Configuration.h @@ -85,13 +85,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "@brandstaetter, @grbd" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 "Welcome to ANYCUBIC" // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -104,10 +99,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -1030,50 +1028,35 @@ // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29, // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down - #define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0 + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear - #define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0 + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1085,16 +1068,15 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] - #if ANYCUBIC_PROBE_VERSION == 2 - #define Z_PROBE_OFFSET_FROM_EXTRUDER -16.8 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { 0, 0, -16.8 } #elif ANYCUBIC_PROBE_VERSION == 1 - #define Z_PROBE_OFFSET_FROM_EXTRUDER -19.0 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { 0, 0, -19.0 } #else - #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + #define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } #endif // Certain types of probes need to stay away from edges @@ -1129,7 +1111,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1390,12 +1372,6 @@ #define GRID_MAX_POINTS_X 9 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - #define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - #define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - #define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - #define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1709,7 +1685,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1768,10 +1744,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2239,7 +2215,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2252,6 +2228,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2262,11 +2241,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2394,7 +2370,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/Anycubic/Kossel/Configuration_adv.h b/config/examples/delta/Anycubic/Kossel/Configuration_adv.h index c7731ea488..e6ca073dd2 100644 --- a/config/examples/delta/Anycubic/Kossel/Configuration_adv.h +++ b/config/examples/delta/Anycubic/Kossel/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/Dreammaker/Overlord/Configuration.h b/config/examples/delta/Dreammaker/Overlord/Configuration.h index f5fd8dda18..4bb023181d 100644 --- a/config/examples/delta/Dreammaker/Overlord/Configuration.h +++ b/config/examples/delta/Dreammaker/Overlord/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Team Overlord/TimMoore)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -975,50 +973,35 @@ // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29, // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down - #define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0 + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear - #define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0 + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1030,10 +1013,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.65 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0.65 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 5 @@ -1067,7 +1050,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1325,12 +1308,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1384,19 +1361,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1645,7 +1609,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1704,10 +1668,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2175,7 +2139,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2188,6 +2152,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2198,11 +2165,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2330,7 +2294,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/Dreammaker/Overlord/Configuration_adv.h b/config/examples/delta/Dreammaker/Overlord/Configuration_adv.h index 6f1c6176b6..5d7d144a04 100644 --- a/config/examples/delta/Dreammaker/Overlord/Configuration_adv.h +++ b/config/examples/delta/Dreammaker/Overlord/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1932,6 +2043,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 #endif @@ -2413,10 +2525,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2497,6 +2605,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/Dreammaker/Overlord_Pro/Configuration.h b/config/examples/delta/Dreammaker/Overlord_Pro/Configuration.h index bb6c680364..c69a173ed1 100644 --- a/config/examples/delta/Dreammaker/Overlord_Pro/Configuration.h +++ b/config/examples/delta/Dreammaker/Overlord_Pro/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Team Overlord/TimMoore)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -987,50 +985,35 @@ // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29, // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down - #define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0 + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear - #define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0 + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1042,10 +1025,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.65 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0.65 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 5 @@ -1079,7 +1062,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1337,12 +1320,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - #define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - #define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - #define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - #define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1396,19 +1373,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1656,7 +1620,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1715,10 +1679,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2186,7 +2150,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2199,6 +2163,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2209,11 +2176,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2341,7 +2305,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/Dreammaker/Overlord_Pro/Configuration_adv.h b/config/examples/delta/Dreammaker/Overlord_Pro/Configuration_adv.h index 6f1c6176b6..5d7d144a04 100644 --- a/config/examples/delta/Dreammaker/Overlord_Pro/Configuration_adv.h +++ b/config/examples/delta/Dreammaker/Overlord_Pro/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1932,6 +2043,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 #endif @@ -2413,10 +2525,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2497,6 +2605,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/FLSUN/auto_calibrate/Configuration.h b/config/examples/delta/FLSUN/auto_calibrate/Configuration.h index 96cc4c4524..0fe1da9925 100644 --- a/config/examples/delta/FLSUN/auto_calibrate/Configuration.h +++ b/config/examples/delta/FLSUN/auto_calibrate/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(LVD, FLSUN-AC)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -977,52 +975,37 @@ // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. // Kossel Mini - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED // Move the nozzle down further to push the probe into retracted position. - #define Z_PROBE_ALLEN_KEY_STOW_2_X Z_PROBE_ALLEN_KEY_STOW_1_X - #define Z_PROBE_ALLEN_KEY_STOW_2_Y Z_PROBE_ALLEN_KEY_STOW_1_Y - #define Z_PROBE_ALLEN_KEY_STOW_2_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z-Z_PROBE_ALLEN_KEY_STOW_DEPTH) - #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED/10) + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 23.0-(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } + #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 // Raise things back up slightly so we don't bump into anything - #define Z_PROBE_ALLEN_KEY_STOW_3_X Z_PROBE_ALLEN_KEY_STOW_2_X - #define Z_PROBE_ALLEN_KEY_STOW_3_Y Z_PROBE_ALLEN_KEY_STOW_2_Y - #define Z_PROBE_ALLEN_KEY_STOW_3_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z+Z_PROBE_ALLEN_KEY_STOW_DEPTH) - #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_PROBE_SPEED/2) + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 23.0+(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } + #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_PROBE_SPEED)/2 - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 23.0+(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1034,10 +1017,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.10 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0.10 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 20 @@ -1071,7 +1054,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1330,12 +1313,6 @@ #define GRID_MAX_POINTS_X 7 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION (DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION (DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1389,19 +1366,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1649,7 +1613,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1708,10 +1672,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2179,7 +2143,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2192,6 +2156,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2202,11 +2169,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2334,7 +2298,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h b/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h index b06a7e75c2..421699caa3 100644 --- a/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/FLSUN/kossel/Configuration.h b/config/examples/delta/FLSUN/kossel/Configuration.h index b08507c154..74bd37da76 100644 --- a/config/examples/delta/FLSUN/kossel/Configuration.h +++ b/config/examples/delta/FLSUN/kossel/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(LVD, FLSUN-AC)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -977,51 +975,36 @@ // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. // Kossel Mini - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20 - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED // Move the nozzle down further to push the probe into retracted position. - #define Z_PROBE_ALLEN_KEY_STOW_2_X Z_PROBE_ALLEN_KEY_STOW_1_X - #define Z_PROBE_ALLEN_KEY_STOW_2_Y Z_PROBE_ALLEN_KEY_STOW_1_Y - #define Z_PROBE_ALLEN_KEY_STOW_2_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z-Z_PROBE_ALLEN_KEY_STOW_DEPTH) - #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED/10) + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 23.0-(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } + #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 // Raise things back up slightly so we don't bump into anything - #define Z_PROBE_ALLEN_KEY_STOW_3_X Z_PROBE_ALLEN_KEY_STOW_2_X - #define Z_PROBE_ALLEN_KEY_STOW_3_Y Z_PROBE_ALLEN_KEY_STOW_2_Y - #define Z_PROBE_ALLEN_KEY_STOW_3_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z+Z_PROBE_ALLEN_KEY_STOW_DEPTH) - #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_PROBE_SPEED/2) + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 23.0+(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } + #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_PROBE_SPEED)/2 - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 23.0+(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1033,10 +1016,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.10 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0.10 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 20 @@ -1070,7 +1053,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1329,12 +1312,6 @@ #define GRID_MAX_POINTS_X 7 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION (DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION (DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1388,19 +1365,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1648,7 +1612,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1707,10 +1671,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2178,7 +2142,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2191,6 +2155,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2201,11 +2168,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2333,7 +2297,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/FLSUN/kossel/Configuration_adv.h b/config/examples/delta/FLSUN/kossel/Configuration_adv.h index b06a7e75c2..421699caa3 100644 --- a/config/examples/delta/FLSUN/kossel/Configuration_adv.h +++ b/config/examples/delta/FLSUN/kossel/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/FLSUN/kossel_mini/Configuration.h b/config/examples/delta/FLSUN/kossel_mini/Configuration.h index ef5de2be23..5c81e5f1f8 100644 --- a/config/examples/delta/FLSUN/kossel_mini/Configuration.h +++ b/config/examples/delta/FLSUN/kossel_mini/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Michael Henke, flsun Kossel Mini)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -977,51 +975,36 @@ // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. // Kossel Mini - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED/10) + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } + #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20 - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED // Move the nozzle down further to push the probe into retracted position. - #define Z_PROBE_ALLEN_KEY_STOW_2_X Z_PROBE_ALLEN_KEY_STOW_1_X - #define Z_PROBE_ALLEN_KEY_STOW_2_Y Z_PROBE_ALLEN_KEY_STOW_1_Y - #define Z_PROBE_ALLEN_KEY_STOW_2_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z-Z_PROBE_ALLEN_KEY_STOW_DEPTH) - #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED/10) + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 23.0-(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } + #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 // Raise things back up slightly so we don't bump into anything - #define Z_PROBE_ALLEN_KEY_STOW_3_X Z_PROBE_ALLEN_KEY_STOW_2_X - #define Z_PROBE_ALLEN_KEY_STOW_3_Y Z_PROBE_ALLEN_KEY_STOW_2_Y - #define Z_PROBE_ALLEN_KEY_STOW_3_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z+Z_PROBE_ALLEN_KEY_STOW_DEPTH) - #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_PROBE_SPEED/2) + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 23.0+(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } + #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_PROBE_SPEED)/2 - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 23.0+(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1033,10 +1016,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.25 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0.25 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -1070,7 +1053,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1329,12 +1312,6 @@ #define GRID_MAX_POINTS_X 9 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION (DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION (DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1388,19 +1365,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1648,7 +1612,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1707,10 +1671,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2178,7 +2142,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2191,6 +2155,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2201,11 +2168,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2333,7 +2297,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h b/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h index 2b06f03fd0..810f4d90ec 100644 --- a/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/Geeetech/Rostock 301/Configuration.h b/config/examples/delta/Geeetech/Rostock 301/Configuration.h index 6454511aa1..1eedcf2e06 100644 --- a/config/examples/delta/Geeetech/Rostock 301/Configuration.h +++ b/config/examples/delta/Geeetech/Rostock 301/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Phr3d13, Geeetech Rostock 301)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -966,50 +964,35 @@ // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29, // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down - #define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0 + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear - #define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0 + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1021,10 +1004,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, -10, -3.5 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -1058,7 +1041,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1317,12 +1300,6 @@ #define GRID_MAX_POINTS_X 9 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1376,19 +1353,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1636,7 +1600,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1695,10 +1659,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2167,7 +2131,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2180,6 +2144,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2190,11 +2157,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2322,7 +2286,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h b/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h index f9dd4fd1ac..eb1d0d74f6 100644 --- a/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h +++ b/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/Hatchbox_Alpha/Configuration.h b/config/examples/delta/Hatchbox_Alpha/Configuration.h index 23fc866970..bc3f024b39 100644 --- a/config/examples/delta/Hatchbox_Alpha/Configuration.h +++ b/config/examples/delta/Hatchbox_Alpha/Configuration.h @@ -75,13 +75,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -94,10 +89,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -981,50 +979,35 @@ // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29, // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down - #define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0 + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear - #define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0 + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1036,10 +1019,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -1073,7 +1056,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1332,12 +1315,6 @@ #define GRID_MAX_POINTS_X 9 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1651,7 +1628,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1710,10 +1687,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2181,7 +2158,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2194,6 +2171,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2204,11 +2184,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2336,7 +2313,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/MKS/SBASE/Configuration.h b/config/examples/delta/MKS/SBASE/Configuration.h index 62fb01c21f..915c069efb 100644 --- a/config/examples/delta/MKS/SBASE/Configuration.h +++ b/config/examples/delta/MKS/SBASE/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -966,50 +964,35 @@ // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29, // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down - #define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0 + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear - #define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0 + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1021,10 +1004,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, -10, -3.5 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -1058,7 +1041,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1317,12 +1300,6 @@ #define GRID_MAX_POINTS_X 9 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1376,19 +1353,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1636,7 +1600,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1695,10 +1659,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2166,7 +2130,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2179,6 +2143,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2189,11 +2156,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2321,7 +2285,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/MKS/SBASE/Configuration_adv.h b/config/examples/delta/MKS/SBASE/Configuration_adv.h index dcafbef8d8..74c94824cf 100644 --- a/config/examples/delta/MKS/SBASE/Configuration_adv.h +++ b/config/examples/delta/MKS/SBASE/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/Tevo Little Monster/Configuration.h b/config/examples/delta/Tevo Little Monster/Configuration.h index 47008a5af9..1c894ce327 100644 --- a/config/examples/delta/Tevo Little Monster/Configuration.h +++ b/config/examples/delta/Tevo Little Monster/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(HEINRICHS)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -970,50 +968,35 @@ // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29, // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down - #define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0 + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear - #define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0 + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1025,10 +1008,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 20 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.10 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, 20, -1.10 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 20 @@ -1062,7 +1045,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1321,12 +1304,6 @@ #define GRID_MAX_POINTS_X 7 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1380,19 +1357,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1640,7 +1604,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1699,10 +1663,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2170,7 +2134,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2183,6 +2147,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2193,11 +2160,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2325,7 +2289,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/Tevo Little Monster/Configuration_adv.h b/config/examples/delta/Tevo Little Monster/Configuration_adv.h index d1ded32ff1..e19512907c 100644 --- a/config/examples/delta/Tevo Little Monster/Configuration_adv.h +++ b/config/examples/delta/Tevo Little Monster/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/generic/Configuration.h b/config/examples/delta/generic/Configuration.h index 36bc0f9743..34e68585ba 100644 --- a/config/examples/delta/generic/Configuration.h +++ b/config/examples/delta/generic/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -966,50 +964,35 @@ // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29, // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down - #define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0 + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear - #define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0 + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1021,10 +1004,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, -10, -3.5 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -1058,7 +1041,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1317,12 +1300,6 @@ #define GRID_MAX_POINTS_X 9 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1376,19 +1353,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1636,7 +1600,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1695,10 +1659,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2166,7 +2130,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2179,6 +2143,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2189,11 +2156,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2321,7 +2285,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/generic/Configuration_adv.h b/config/examples/delta/generic/Configuration_adv.h index 2b06f03fd0..810f4d90ec 100644 --- a/config/examples/delta/generic/Configuration_adv.h +++ b/config/examples/delta/generic/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/kossel_mini/Configuration.h b/config/examples/delta/kossel_mini/Configuration.h index 1ba1c3c058..6f32e89d80 100644 --- a/config/examples/delta/kossel_mini/Configuration.h +++ b/config/examples/delta/kossel_mini/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -967,51 +965,36 @@ // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. // Kossel Mini - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED/10) + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } + #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20 - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED // Move the nozzle down further to push the probe into retracted position. - #define Z_PROBE_ALLEN_KEY_STOW_2_X Z_PROBE_ALLEN_KEY_STOW_1_X - #define Z_PROBE_ALLEN_KEY_STOW_2_Y Z_PROBE_ALLEN_KEY_STOW_1_Y - #define Z_PROBE_ALLEN_KEY_STOW_2_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z-Z_PROBE_ALLEN_KEY_STOW_DEPTH) - #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED/10) + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 23.0-(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } + #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 // Raise things back up slightly so we don't bump into anything - #define Z_PROBE_ALLEN_KEY_STOW_3_X Z_PROBE_ALLEN_KEY_STOW_2_X - #define Z_PROBE_ALLEN_KEY_STOW_3_Y Z_PROBE_ALLEN_KEY_STOW_2_Y - #define Z_PROBE_ALLEN_KEY_STOW_3_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z+Z_PROBE_ALLEN_KEY_STOW_DEPTH) - #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_PROBE_SPEED/2) + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 23.0+(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } + #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_PROBE_SPEED)/2 - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 23.0+(Z_PROBE_ALLEN_KEY_STOW_DEPTH) } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1023,10 +1006,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 0, -10, -3.5 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -1060,7 +1043,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1319,12 +1302,6 @@ #define GRID_MAX_POINTS_X 9 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1378,19 +1355,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1638,7 +1602,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1697,10 +1661,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2168,7 +2132,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2181,6 +2145,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2191,11 +2158,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2323,7 +2287,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/kossel_mini/Configuration_adv.h b/config/examples/delta/kossel_mini/Configuration_adv.h index 2b06f03fd0..810f4d90ec 100644 --- a/config/examples/delta/kossel_mini/Configuration_adv.h +++ b/config/examples/delta/kossel_mini/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/delta/kossel_pro/Configuration.h b/config/examples/delta/kossel_pro/Configuration.h index 0e60a8489f..8920710d84 100644 --- a/config/examples/delta/kossel_pro/Configuration.h +++ b/config/examples/delta/kossel_pro/Configuration.h @@ -74,13 +74,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -93,10 +88,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -960,55 +958,38 @@ // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. // Kossel Pro - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X -105.00 // Move left but not quite so far that we'll bump the belt - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y 0.00 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { -105.00, 0.00, 100.0 } // Move left but not quite so far that we'll bump the belt #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X -110.00 // Move outward to position deploy pin to the left of the arm - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y -125.00 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z Z_PROBE_ALLEN_KEY_DEPLOY_1_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { -110.00, -125.00, 100.0 } // Move outward to position deploy pin to the left of the arm #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { -110.00 * 0.75, -125.00 * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_4_X 45.00 // Move right to trigger deploy pin - #define Z_PROBE_ALLEN_KEY_DEPLOY_4_Y -125.00 - #define Z_PROBE_ALLEN_KEY_DEPLOY_4_Z Z_PROBE_ALLEN_KEY_DEPLOY_3_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_4 { 45.00, -125.00, 100.0 } // Move right to trigger deploy pin #define Z_PROBE_ALLEN_KEY_DEPLOY_4_FEEDRATE (XY_PROBE_SPEED)/2 - #define Z_PROBE_ALLEN_KEY_STOW_1_X 36.00 // Line up with bed retaining clip - #define Z_PROBE_ALLEN_KEY_STOW_1_Y -125.00 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 75.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { 36.00, -125.00, 75.0 } // Line up with bed retaining clip #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_2_X Z_PROBE_ALLEN_KEY_STOW_1_X // move down to retract probe - #define Z_PROBE_ALLEN_KEY_STOW_2_Y Z_PROBE_ALLEN_KEY_STOW_1_Y - #define Z_PROBE_ALLEN_KEY_STOW_2_Z 0.0 + #define Z_PROBE_ALLEN_KEY_STOW_2 { 36.00, -125.00, 0.0 } // move down to retract probe #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/2 - #define Z_PROBE_ALLEN_KEY_STOW_3_X 0.0 // return to 0,0,100 - #define Z_PROBE_ALLEN_KEY_STOW_3_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_3_Z 100.0 + #define Z_PROBE_ALLEN_KEY_STOW_3 { 0.0, 0.0, 100.0 } // return to 0,0,100 #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 100.0 } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1020,14 +1001,15 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -23 // KosselPro actual: -22.919 -#define Y_PROBE_OFFSET_FROM_EXTRUDER -6 // KosselPro actual: -6.304 +#define NOZZLE_TO_PROBE_OFFSET { -23, -6, -17.25 } // KosselPro actual: -22.919, -6.304, -17.45 /** * Kossel Pro note: The correct value is likely -17.45 but I'd rather err on the side of * not giving someone a head crash. Use something like G29 Z-0.2 to adjust as needed. */ -#define Z_PROBE_OFFSET_FROM_EXTRUDER -17.25 // Increase this if the first layer is too thin (remember: it's a negative number so increase means closer to zero). + // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -1060,7 +1042,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1320,12 +1302,6 @@ #define GRID_MAX_POINTS_X 7 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1379,19 +1355,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1639,7 +1602,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1698,10 +1661,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2169,7 +2132,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2182,6 +2145,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2192,11 +2158,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2324,7 +2287,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/kossel_xl/Configuration.h b/config/examples/delta/kossel_xl/Configuration.h index 77bc7bfa29..2e11a8c991 100644 --- a/config/examples/delta/kossel_xl/Configuration.h +++ b/config/examples/delta/kossel_xl/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(oxivanisher)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -969,50 +967,35 @@ // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29, // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0 - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS - #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0 + #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75 - #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z + #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 } #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 + #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down - #define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0 + #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED)/10 - #define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear - #define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0 - #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0 + #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED - #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0 - #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z + #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 } #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED #endif // Z_PROBE_ALLEN_KEY /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -1024,10 +1007,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 0.0 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 0.0 // Z probe to nozzle Y offset: -front +behind -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.3 // Z probe to nozzle Z offset: -below (always!) +#define NOZZLE_TO_PROBE_OFFSET { 0.0, 0.0, 0.3 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -1061,7 +1044,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1320,12 +1303,6 @@ #define GRID_MAX_POINTS_X 5 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define RIGHT_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - //#define FRONT_PROBE_BED_POSITION -(DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE)) - //#define BACK_PROBE_BED_POSITION DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1379,19 +1356,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1639,7 +1603,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1698,10 +1662,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2169,7 +2133,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2182,6 +2146,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2192,11 +2159,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2324,7 +2288,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/delta/kossel_xl/Configuration_adv.h b/config/examples/delta/kossel_xl/Configuration_adv.h index a75b12f0b8..0b93b37687 100644 --- a/config/examples/delta/kossel_xl/Configuration_adv.h +++ b/config/examples/delta/kossel_xl/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,20 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE_XYZ 50*60 - #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -741,8 +727,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -839,6 +825,16 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE_XYZ 50*60 + #define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -861,6 +857,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1017,17 +1016,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1194,9 +1207,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1278,6 +1339,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1335,10 +1432,10 @@ #endif // Moves (or segments) with fewer steps than this will be joined with the next move -#define MIN_STEPS_PER_SEGMENT 6 +#define MIN_STEPS_PER_SEGMENT 1 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1350,7 +1447,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1485,19 +1583,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1703,78 +1801,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1913,10 +2024,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1940,6 +2053,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2423,10 +2537,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2507,6 +2617,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/gCreate/gMax1.5+/Configuration.h b/config/examples/gCreate/gMax1.5+/Configuration.h index 2f7791fcdc..d5278a6db0 100644 --- a/config/examples/gCreate/gMax1.5+/Configuration.h +++ b/config/examples/gCreate/gMax1.5+/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. #define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -903,11 +901,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -919,10 +916,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -17 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.25 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -17, -10, -0.25 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 45 @@ -956,7 +953,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1215,12 +1212,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1535,7 +1526,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1594,10 +1585,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2065,7 +2056,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2078,6 +2069,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2088,11 +2082,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2220,7 +2211,7 @@ */ #define NUM_SERVOS 2 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300, 300 } diff --git a/config/examples/gCreate/gMax1.5+/Configuration_adv.h b/config/examples/gCreate/gMax1.5+/Configuration_adv.h index 00196f5466..2c1683b188 100644 --- a/config/examples/gCreate/gMax1.5+/Configuration_adv.h +++ b/config/examples/gCreate/gMax1.5+/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/makibox/Configuration.h b/config/examples/makibox/Configuration.h index 8d92ca60e3..4db20e066e 100644 --- a/config/examples/makibox/Configuration.h +++ b/config/examples/makibox/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -854,7 +852,7 @@ /** * The BLTouch probe uses a Hall effect sensor and emulates a servo. */ -//#define BLTOUCH +#define BLTOUCH /** * Touch-MI Probe by hotends.fr @@ -893,11 +891,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -909,10 +906,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -946,7 +943,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1204,12 +1201,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1263,19 +1254,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1524,7 +1502,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1583,10 +1561,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2054,7 +2032,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2067,6 +2045,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2077,11 +2058,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2209,7 +2187,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/makibox/Configuration_adv.h b/config/examples/makibox/Configuration_adv.h index 7d67db7b58..5bfcb3ee28 100644 --- a/config/examples/makibox/Configuration_adv.h +++ b/config/examples/makibox/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/tvrrug/Round2/Configuration.h b/config/examples/tvrrug/Round2/Configuration.h index 9475b3baee..7c193cff3c 100644 --- a/config/examples/tvrrug/Round2/Configuration.h +++ b/config/examples/tvrrug/Round2/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -885,11 +883,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -901,10 +898,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -938,7 +935,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1196,12 +1193,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1255,19 +1246,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1516,7 +1494,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1575,10 +1553,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2046,7 +2024,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2059,6 +2037,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2069,11 +2050,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2201,7 +2179,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/tvrrug/Round2/Configuration_adv.h b/config/examples/tvrrug/Round2/Configuration_adv.h index 02f4f8fed5..cdd57bee19 100644 --- a/config/examples/tvrrug/Round2/Configuration_adv.h +++ b/config/examples/tvrrug/Round2/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -837,6 +824,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -859,6 +855,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1015,17 +1014,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1192,9 +1205,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1276,6 +1337,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1336,7 +1433,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1348,7 +1445,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1483,19 +1581,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1701,78 +1799,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1911,10 +2022,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1938,6 +2051,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2421,10 +2535,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2505,6 +2615,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/config/examples/wt150/Configuration.h b/config/examples/wt150/Configuration.h index b37191722c..ff3a7c38d2 100644 --- a/config/examples/wt150/Configuration.h +++ b/config/examples/wt150/Configuration.h @@ -70,13 +70,8 @@ // @section info -// User-specified version info of this build to display in [Pronterface, etc] terminal window during -// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this -// build by the user have been successfully uploaded into firmware. +// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(none, wt150)" // Who made the changes. -#define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** @@ -89,10 +84,13 @@ * respectfully request that you retain the unmodified Marlin boot screen. */ -// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION ** +#define SHOW_BOOTSCREEN + +// Show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN -// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +// Show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -895,11 +893,10 @@ /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). - * X and Y offsets must be integers. * * In the following example the X and Y offsets are both positive: - * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 - * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } * * +-- BACK ---+ * | | @@ -911,10 +908,10 @@ * | | * O-- FRONT --+ * (0,0) + * + * Specify a Probe position as { X, Y, Z } */ -#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] -#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] +#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -948,7 +945,7 @@ * * Use these settings to specify the distance (mm) to raise the probe (or * lower the bed). The values set here apply over and above any (negative) - * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * Only integer values >= 1 are valid here. * * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. @@ -1206,12 +1203,6 @@ #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) - //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE - //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) - // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1265,19 +1256,6 @@ #endif // BED_LEVELING -/** - * Points to probe for all 3-point Leveling procedures. - * Override if the automatically selected points are inadequate. - */ -#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 -#endif - /** * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. @@ -1526,7 +1504,7 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) } #define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) } // Circular pattern radius @@ -1585,10 +1563,10 @@ * * Select the language to display on the LCD. These languages are available: * - * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, - * jp-kana, ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana, + * ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * - * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ #define LCD_LANGUAGE en @@ -2056,7 +2034,7 @@ //============================================================================= // -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, A1, etc.) +// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // //#define FSMC_GRAPHICAL_TFT @@ -2069,6 +2047,9 @@ // //#define TOUCH_BUTTONS #if ENABLED(TOUCH_BUTTONS) + #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens + #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus + #define XPT2046_X_CALIBRATION 12316 #define XPT2046_Y_CALIBRATION -8981 #define XPT2046_X_OFFSET -43 @@ -2079,11 +2060,8 @@ // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// //#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press //============================================================================= //=============================== Extra Features ============================== @@ -2211,7 +2189,7 @@ */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// (ms) Delay before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it. #define SERVO_DELAY { 300 } diff --git a/config/examples/wt150/Configuration_adv.h b/config/examples/wt150/Configuration_adv.h index 6cc8fdf77e..7228429ea4 100644 --- a/config/examples/wt150/Configuration_adv.h +++ b/config/examples/wt150/Configuration_adv.h @@ -214,7 +214,7 @@ #define AUTOTEMP_OLDWEIGHT 0.98 #endif -// Show extra position information in M114 +// Show extra position information with 'M114 D' //#define M114_DETAIL // Show Temperature ADC value @@ -602,8 +602,8 @@ //#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3] - #define Z_STEPPER_ALIGN_X { 10, 150, 290 } - #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } + #define Z_STEPPER_ALIGN_X { 10, 150, 290 } + #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } // Set number of iterations to align #define Z_STEPPER_ALIGN_ITERATIONS 3 // Enable to restore leveling setup after operation @@ -620,7 +620,7 @@ #define Z_STEPPER_ALIGN_ACC 0.02 #endif -// @section machine +// @section motion #define AXIS_RELATIVE_MODES { false, false, false, false } @@ -647,19 +647,6 @@ //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// @section lcd - -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) - #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" - #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen - #endif -#endif - -// @section motion - // Minimum time that a segment needs to take if the buffer is emptied #define DEFAULT_MINSEGMENTTIME 20000 // (ms) @@ -739,8 +726,8 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0} // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0} // mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm // Comment out any sides which are unreachable by the probe. For best // auto-calibration results, all sides must be reachable. @@ -838,6 +825,15 @@ // @section lcd +#if EITHER(ULTIPANEL, EXTENSIBLE_UI) + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #if ENABLED(ULTIPANEL) + #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" + #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen + #endif +#endif + // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) @@ -860,6 +856,9 @@ //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif + // BACK menu items keep the highlight at the top + //#define TURBO_BACK_MENU_ITEM + /** * LED Control Menu * Add LED Control to the LCD menu @@ -1016,17 +1015,31 @@ * equivalent MAX3421E breakout board. The USB thumb drive will appear * to Marlin as an SD card. * - * The MAX3421E must be assigned the same pins as the SD card reader, with + * The MAX3421E can be assigned the same pins as the SD card reader, with * the following pin mapping: * * SCLK, MOSI, MISO --> SCLK, MOSI, MISO - * INT --> SD_DETECT_PIN + * INT --> SD_DETECT_PIN [1] * SS --> SDSS + * + * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) - #define USB_CS_PIN SDSS - #define USB_INTR_PIN SD_DETECT_PIN + #define USB_CS_PIN SDSS + #define USB_INTR_PIN SD_DETECT_PIN + + /** + * USB Host Shield Library + * + * - UHS2 uses no interrupts and has been production-tested + * on a LulzBot TAZ Pro with a 32-bit Archim board. + * + * - UHS3 is newer code with better USB compatibility. But it + * is less tested and is known to interfere with Servos. + * [1] This requires USB_INTR_PIN to be interrupt-capable. + */ + //#define USE_UHS3_USB #endif /** @@ -1193,9 +1206,57 @@ //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED + // UTF8 processing and rendering. + // Unsupported characters are shown as '?'. + //#define TOUCH_UI_USE_UTF8 + #if ENABLED(TOUCH_UI_USE_UTF8) + // Western accents support. These accented characters use + // combined bitmaps and require relatively little storage. + #define TOUCH_UI_UTF8_WESTERN_CHARSET + #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) + // Additional character groups. These characters require + // full bitmaps and take up considerable storage: + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_GERMANIC // ß + //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ + //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ + //#define TOUCH_UI_UTF8_CURRENCY // ¢ £ ¤ ¥ + //#define TOUCH_UI_UTF8_ORDINALS // º ª + //#define TOUCH_UI_UTF8_MATHEMATICS // ± × ÷ + //#define TOUCH_UI_UTF8_FRACTIONS // ¼ ½ ¾ + //#define TOUCH_UI_UTF8_SYMBOLS // µ ¶ ¦ § ¬ + #endif + #endif + + // Use a smaller font when labels don't fit buttons + #define TOUCH_UI_FIT_TEXT + + // Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE) + //#define LCD_LANGUAGE_1 en + //#define LCD_LANGUAGE_2 fr + //#define LCD_LANGUAGE_3 de + //#define LCD_LANGUAGE_4 es + //#define LCD_LANGUAGE_5 it + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE + + // Output extra debug info for Touch UI events + //#define TOUCH_UI_DEBUG +#endif + +// +// FSMC Graphical TFT +// +#if ENABLED(FSMC_GRAPHICAL_TFT) + //#define TFT_MARLINUI_COLOR 0xFFFF // White + //#define TFT_MARLINBG_COLOR 0x0000 // Black + //#define TFT_DISABLED_COLOR 0x0003 // Almost black + //#define TFT_BTCANCEL_COLOR 0xF800 // Red + //#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow + //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif // @section safety @@ -1277,6 +1338,42 @@ // @section leveling +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Override MIN_PROBE_EDGE for each side of the build plate + * Useful to get probe points to exact positions on targets or + * to allow leveling to avoid plate clamps on only specific + * sides of the bed. + * + * If you are replacing the prior *_PROBE_BED_POSITION options, + * LEFT and FRONT values in most cases will map directly over + * RIGHT and REAR would be the inverse such as + * (X/Y_BED_SIZE - RIGHT/BACK_PROBE_BED_POSITION) + * + * This will allow all positions to match at compilation, however + * should the probe position be modified with M851XY then the + * probe points will follow. This prevents any change from causing + * the probe to be unable to reach any points. + */ +#if PROBE_SELECTED && !IS_KINEMATIC + //#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE + //#define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE +#endif + #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large //#define MESH_MIN_X MESH_INSET @@ -1337,7 +1434,7 @@ #define MIN_STEPS_PER_SEGMENT 6 /** - * Minimum delay after setting the stepper DIR (in ns) + * Minimum delay before and after setting the stepper DIR (in ns) * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) * 20 : Minimum for TMC2xxx drivers * 200 : Minimum for A4988 drivers @@ -1349,7 +1446,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_DIR_DELAY 650 +//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 +//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 /** * Minimum stepper driver pulse width (in µs) @@ -1484,19 +1582,19 @@ */ //#define FWRETRACT #if ENABLED(FWRETRACT) - #define FWRETRACT_AUTORETRACT // costs ~500 bytes of PROGMEM + #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) - #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over - #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length + #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 3 // Default retract length (positive mm) - #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change - #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) - #define RETRACT_ZRAISE 0 // Default retract Z-raise (mm) - #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) - #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) - #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) - #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) + #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value) + #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) + #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting + #define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise + #define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange) + #define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction #if ENABLED(MIXING_EXTRUDER) //#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously #endif @@ -1702,78 +1800,91 @@ #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 + #define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #endif #if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 + #define X2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 + #define Y_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 + #define Y2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 + #define Z_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 + #define Z2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 + #define Z3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 + #define E0_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 + #define E1_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E2) #define E2_CURRENT 800 #define E2_MICROSTEPS 16 #define E2_RSENSE 0.11 + #define E2_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E3) #define E3_CURRENT 800 #define E3_MICROSTEPS 16 #define E3_RSENSE 0.11 + #define E3_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E4) #define E4_CURRENT 800 #define E4_MICROSTEPS 16 #define E4_RSENSE 0.11 + #define E4_CHAIN_POS 0 #endif #if AXIS_IS_TMC(E5) #define E5_CURRENT 800 #define E5_MICROSTEPS 16 #define E5_RSENSE 0.11 + #define E5_CHAIN_POS 0 #endif /** @@ -1912,10 +2023,12 @@ * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. * X, Y, and Z homing will always be done in spreadCycle mode. * - * X/Y/Z_STALL_SENSITIVITY is used to tune the trigger sensitivity. - * Use M914 X Y Z to live-adjust the sensitivity. - * Higher: LESS sensitive. (Too high => failure to trigger) - * Lower: MORE sensitive. (Too low => false positives) + * X/Y/Z_STALL_SENSITIVITY is the default stall threshold. + * Use M914 X Y Z to set the stall threshold at runtime: + * + * Sensitivity TMC2209 Others + * HIGHEST 255 -64 (Too sensitive => False positive) + * LOWEST 0 63 (Too insensitive => No trigger) * * It is recommended to set [XYZ]_HOME_BUMP_MM to 0. * @@ -1939,6 +2052,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS // TMC2130 only @@ -2422,10 +2536,6 @@ //#define HOST_PROMPT_SUPPORT #endif -//=========================================================================== -//====================== I2C Position Encoder Settings ====================== -//=========================================================================== - /** * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. @@ -2506,6 +2616,22 @@ #endif // I2C_POSITION_ENCODERS +/** + * Analog Joystick(s) + */ +//#define JOYSTICK +#if ENABLED(JOYSTICK) + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 + + // Use M119 to find reasonable values after connecting your hardware: + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } +#endif + /** * MAX7219 Debug Matrix * diff --git a/platformio.ini b/platformio.ini index c4d20e9c98..190c8af5da 100644 --- a/platformio.ini +++ b/platformio.ini @@ -22,13 +22,12 @@ default_envs = megaatmega2560 [common] default_src_filter = + - - + -build_flags = -fmax-errors=5 - -g - -ggdb +extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py +build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ lib_deps = - U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip + U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip LiquidCrystal@1.3.4 - TMCStepper@<1.0.0 + TMCStepper@>=0.5.0,<1.0.0 Adafruit NeoPixel@1.1.3 LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/dev.zip @@ -89,7 +88,6 @@ build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = ${common.default_src_filter} + -extra_scripts = pre:buildroot/share/atom/create_custom_upload_command_CDC.py monitor_speed = 250000 # @@ -106,7 +104,6 @@ build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = ${common.default_src_filter} + -extra_scripts = pre:buildroot/share/atom/create_custom_upload_command_DFU.py monitor_speed = 250000 # @@ -150,7 +147,7 @@ monitor_speed = 250000 platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/master.zip framework = arduino board = nxp_lpc1768 -build_flags = -DTARGET_LPC1768 -DU8G_HAL_LINKS -IMarlin/src/HAL/HAL_LPC1768/include -IMarlin/src/HAL/HAL_LPC1768/u8g ${common.build_flags} +build_flags = -DTARGET_LPC1768 -DU8G_HAL_LINKS -IMarlin/src/HAL/HAL_LPC1768/include -IMarlin/src/HAL/HAL_LPC1768/u8g ${common.build_flags} # debug options for backtrace # -funwind-tables # -mpoke-function-name @@ -161,8 +158,8 @@ src_filter = ${common.default_src_filter} + monitor_speed = 250000 lib_deps = Servo LiquidCrystal - U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip - TMCStepper@<1.0.0 + U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip + TMCStepper@>=0.5.0,<1.0.0 Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/master.zip SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip @@ -181,8 +178,8 @@ src_filter = ${common.default_src_filter} + monitor_speed = 250000 lib_deps = Servo LiquidCrystal - U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip - TMCStepper@<1.0.0 + U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip + TMCStepper@>=0.5.0,<1.0.0 Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/master.zip # @@ -256,36 +253,36 @@ monitor_speed = 250000 # # STM32F103RE # -[env:STM32F1] +[env:STM32F103R] platform = ststm32 framework = arduino board = genericSTM32F103RE -build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 -DDEBUG_LEVEL=0 build_unflags = -std=gnu++11 lib_deps = ${common.lib_deps} -lib_ignore = U8glib-HAL, Adafruit NeoPixel +lib_ignore = U8glib-HAL, Adafruit NeoPixel, SPI src_filter = ${common.default_src_filter} + monitor_speed = 250000 # -# fysetc_STM32F1 +# STM32F103R_fysetc # -[env:fysetc_STM32F1] +[env:STM32F103R_fysetc] platform = ststm32 framework = arduino board = genericSTM32F103RC #board_build.core = maple platform_packages = tool-stm32duino -extra_scripts = buildroot/share/PlatformIO/scripts/fysetc_STM32F1.py -build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py +extra_scripts = buildroot/share/PlatformIO/scripts/STM32F103R_fysetc.py +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 -DDEBUG_LEVEL=0 -DHAVE_SW_SERIAL build_unflags = -std=gnu++11 lib_deps = ${common.lib_deps} SoftwareSerialM=https://github.com/FYSETC/SoftwareSerialM/archive/master.zip -lib_ignore = Adafruit NeoPixel +lib_ignore = Adafruit NeoPixel, SPI lib_ldf_mode = chain src_filter = ${common.default_src_filter} + monitor_speed = 250000 @@ -295,18 +292,33 @@ upload_protocol = serial # # BigTree SKR Mini V1.1 / SKR mini E3 / SKR E3 DIP (STM32F103RCT6 ARM Cortex-M3) # -[env:BIGTREE_SKR_MINI] +[env:STM32F103R_bigtree] platform = ststm32 framework = arduino board = genericSTM32F103RC platform_packages = tool-stm32duino extra_scripts = buildroot/share/PlatformIO/scripts/STM32F1_SKR_MINI.py -build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py - ${common.build_flags} -std=gnu++14 - -DDEBUG_LEVEL=0 +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py + ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 build_unflags = -std=gnu++11 lib_deps = ${common.lib_deps} -lib_ignore = Adafruit NeoPixel +lib_ignore = Adafruit NeoPixel, SPI +src_filter = ${common.default_src_filter} + +monitor_speed = 115200 +upload_protocol = stlink +debug_tool = stlink + +[env:STM32F103R_bigtree_USB] +platform = ststm32 +framework = arduino +board = genericSTM32F103RC +platform_packages = tool-stm32duino +extra_scripts = buildroot/share/PlatformIO/scripts/STM32F1_SKR_MINI.py +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py + ${common.build_flags} -DDEBUG_LEVEL=0 -DUSE_USB_COMPOSITE -std=gnu++14 +build_unflags = -std=gnu++11 +lib_deps = ${common.lib_deps} +lib_ignore = Adafruit NeoPixel, SPI src_filter = ${common.default_src_filter} + monitor_speed = 115200 upload_protocol = stlink @@ -354,19 +366,19 @@ monitor_speed = 250000 # # Longer 3D board in Alfawise U20 (STM32F103VET6) # -[env:alfawise_U20] +[env:STM32F103V_longer] platform = ststm32 framework = arduino board = genericSTM32F103VE monitor_speed = 250000 -extra_scripts = buildroot/share/PlatformIO/scripts/alfawise_Ux0.py -build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py - ${common.build_flags} -std=gnu++14 +extra_scripts = buildroot/share/PlatformIO/scripts/longer_STM32.py +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py + ${common.build_flags} -std=gnu++14 -USERIAL_USB -DSTM32F1xx -DU20 -DTS_V12 -build_unflags = -std=gnu++11 -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 +build_unflags = -std=gnu++11 -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} -lib_ignore = Adafruit NeoPixel +lib_ignore = Adafruit NeoPixel, LiquidTWI2, SPI # # MKS Robin (STM32F103ZET6) @@ -376,12 +388,12 @@ platform = ststm32 framework = arduino board = genericSTM32F103ZE extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin.py -build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} -lib_ignore = Adafruit NeoPixel +lib_ignore = Adafruit NeoPixel, SPI # # MKS ROBIN LITE/LITE2 (STM32F103RCT6) @@ -391,12 +403,12 @@ platform = ststm32 framework = arduino board = genericSTM32F103RC extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_lite.py -build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} -lib_ignore = Adafruit NeoPixel +lib_ignore = Adafruit NeoPixel, SPI # # MKS Robin Mini (STM32F103VET6) @@ -406,12 +418,12 @@ platform = ststm32 framework = arduino board = genericSTM32F103VE extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_mini.py -build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} -lib_ignore = Adafruit NeoPixel +lib_ignore = Adafruit NeoPixel, SPI # # MKS Robin Nano (STM32F103VET6) @@ -421,12 +433,12 @@ platform = ststm32 framework = arduino board = genericSTM32F103VE extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_nano.py -build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} -lib_ignore = Adafruit NeoPixel +lib_ignore = Adafruit NeoPixel, SPI # # JGAurora A5S A1 (STM32F103ZET6) @@ -436,12 +448,12 @@ platform = ststm32 framework = arduino board = genericSTM32F103ZE extra_scripts = buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py -build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -DSTM32F1xx -std=gnu++14 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} -lib_ignore = Adafruit NeoPixel +lib_ignore = Adafruit NeoPixel, SPI monitor_speed = 250000 # @@ -449,7 +461,7 @@ monitor_speed = 250000 # 'Black' STM32F407VET6 board - http://wiki.stm32duino.com/index.php?title=STM32F407 # Shield - https://github.com/jmz52/Hardware # -[env:black_stm32f407ve] +[env:STM32F407VE_black] platform = ststm32@5.4.3 framework = arduino board = blackSTM32F407VET6 @@ -465,15 +477,20 @@ monitor_speed = 250000 # Bigtreetech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) # [env:BIGTREE_SKR_PRO] -platform = ststm32@5.4.3 +platform = ststm32 framework = arduino board = BigTree_SKR_Pro extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py build_flags = ${common.build_flags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STM32F407ZG\" -DTARGET_STM32F4 -DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000 -DHAVE_HWSERIAL6 -lib_deps = ${common.lib_deps} -lib_ignore = Adafruit NeoPixel, SailfishLCD, SailfishRGB_LED, SlowSoftI2CMaster +lib_deps = + U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip + LiquidCrystal@1.3.4 + TMCStepper@>=0.5.0,<1.0.0 + Adafruit NeoPixel + LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip + Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/dev.zip src_filter = ${common.default_src_filter} + monitor_speed = 250000 @@ -481,9 +498,9 @@ monitor_speed = 250000 # BIGTREE_SKR_BTT002 (STM32F407VET6 ARM Cortex-M4) # [env:BIGTREE_BTT002] -platform = ststm32@5.4.3 +platform = ststm32 framework = arduino -board = BigTree_BTT002 +board = BigTree_Btt002 extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py build_flags = ${common.build_flags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STM32F407VE\" @@ -532,11 +549,11 @@ monitor_speed = 250000 platform = ststm32 framework = arduino board = malyanM200 -build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py -DMCU_STM32F103CB -D __STM32F1__=1 -std=c++1y -D MOTHERBOARD="BOARD_MALYAN_M200" -DSERIAL_USB -ffunction-sections -fdata-sections -Wl,--gc-sections - -DDEBUG_LEVEL=0 +build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py -DMCU_STM32F103CB -D __STM32F1__=1 -std=c++1y -D MOTHERBOARD="BOARD_MALYAN_M200" -DSERIAL_USB -ffunction-sections -fdata-sections -Wl,--gc-sections + -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__ src_filter = ${common.default_src_filter} + #- -lib_ignore = Adafruit NeoPixel, LiquidCrystal, LiquidTWI2, TMCStepper, U8glib-HAL +lib_ignore = Adafruit NeoPixel, LiquidCrystal, LiquidTWI2, TMCStepper, U8glib-HAL, SPI # # Espressif ESP32 @@ -574,7 +591,7 @@ monitor_speed = 250000 # [env:linux_native] platform = native -build_flags = -D__PLAT_LINUX__ -std=gnu++17 -ggdb -g -lrt -lpthread +build_flags = -D__PLAT_LINUX__ -std=gnu++17 -ggdb -g -lrt -lpthread -D__MARLIN_FIRMWARE__ src_build_flags = -Wall -IMarlin/src/HAL/HAL_LINUX/include build_unflags = -Wall lib_ldf_mode = off @@ -585,13 +602,25 @@ src_filter = ${common.default_src_filter} + # # Adafruit Grand Central M4 (Atmel SAMD51P20A ARM Cortex-M4) # -[env:adafruit_grandcentral_m4] +[env:SAMD51_grandcentral_m4] platform = atmelsam board = adafruit_grandcentral_m4 framework = arduino build_flags = ${common.build_flags} -std=gnu++17 +extra_scripts = ${common.extra_scripts} build_unflags = -std=gnu++11 lib_deps = ${common.lib_deps} -lib_ignore = U8glib-HAL src_filter = ${common.default_src_filter} + debug_tool = jlink + +# +# Just print the dependency tree +# +[env:include_tree] +platform = atmelavr +framework = arduino +board = megaatmega2560 +build_flags = -c -H -std=gnu++11 -Wall -Os -D__MARLIN_FIRMWARE__ +lib_deps = ${common.lib_deps} + TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip +src_filter = +